From 16a9b7c459933509467808af6cf8aa3f85ccdd6e Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 11 May 2016 15:52:04 -0700 Subject: [PATCH 001/588] Add Cloud Vision face detection sample. --- packages/google-cloud-vision/.gitignore | 1 + .../google-cloud-vision/samples/README.md | 30 +++++++++++++++++++ .../google-cloud-vision/samples/package.json | 17 +++++++++++ 3 files changed, 48 insertions(+) create mode 100644 packages/google-cloud-vision/.gitignore create mode 100644 packages/google-cloud-vision/samples/README.md create mode 100644 packages/google-cloud-vision/samples/package.json diff --git a/packages/google-cloud-vision/.gitignore b/packages/google-cloud-vision/.gitignore new file mode 100644 index 00000000000..3e5a87a1bd5 --- /dev/null +++ b/packages/google-cloud-vision/.gitignore @@ -0,0 +1 @@ +out.* \ No newline at end of file diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md new file mode 100644 index 00000000000..860b81b3477 --- /dev/null +++ b/packages/google-cloud-vision/samples/README.md @@ -0,0 +1,30 @@ +## Cloud Vision API samples + +These samples require two environment variables to be set: + +- `GOOGLE_APPLICATION_CREDENTIALS` - Path to a service account file. You can +download one from your Google project's "credentials" page. +- `GCLOUD_PROJECT` - ID of your Google project. + +See [gcloud-node authentication][auth] for more details. + +[auth]: https://googlecloudplatform.github.io/gcloud-node/#/docs/guides/authentication + +## Run a sample + +Install dependencies first: + + npm install + +### Face detection sample + +This sample uses [node-canvas](https://github.com/Automattic/node-canvas) to +draw an output image. node-canvas depends on Cairo, which may require separate +installation. See the node-canvas [installation section][canvas-install] for +details. + +[canvas-install]: https://github.com/Automattic/node-canvas#installation + +Execute the sample: + + node faceDetection "/path/to/image.jpg" diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json new file mode 100644 index 00000000000..989ac3c8e96 --- /dev/null +++ b/packages/google-cloud-vision/samples/package.json @@ -0,0 +1,17 @@ +{ + "name": "cloud-vision-samples", + "description": "Node.js samples for Google Cloud Vision.", + "version": "0.0.1", + "private": true, + "license": "Apache Version 2.0", + "engines": { + "node": ">=0.10.x" + }, + "scripts": { + "faceDetection": "node faceDetection.js" + }, + "dependencies": { + "gcloud": "^0.32.0", + "canvas": "^1.3.15" + } +} From 6d50e70095b18014676f55c6acedafd04566f6a1 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 11 May 2016 17:01:04 -0700 Subject: [PATCH 002/588] Add Cloud Speech sample. --- packages/google-cloud-vision/.gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/.gitignore b/packages/google-cloud-vision/.gitignore index 3e5a87a1bd5..0aedda85e3c 100644 --- a/packages/google-cloud-vision/.gitignore +++ b/packages/google-cloud-vision/.gitignore @@ -1 +1,2 @@ -out.* \ No newline at end of file +out.png +out.* From 35748aa5c553b5e0fdb7cd71073b2e5cc7c16a1a Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Thu, 12 May 2016 12:58:52 -0700 Subject: [PATCH 003/588] Add Cloud Vision label detection sample. --- packages/google-cloud-vision/samples/README.md | 6 ++++++ packages/google-cloud-vision/samples/package.json | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 860b81b3477..988500da17f 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -28,3 +28,9 @@ details. Execute the sample: node faceDetection "/path/to/image.jpg" + +### Label detection sample + +Execute the sample: + + node labelDetection "/path/to/image.jpg" diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 989ac3c8e96..3ea0bfb7376 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -8,7 +8,8 @@ "node": ">=0.10.x" }, "scripts": { - "faceDetection": "node faceDetection.js" + "faceDetection": "node faceDetection.js", + "labelDetection": "node labelDetection.js" }, "dependencies": { "gcloud": "^0.32.0", From b18ac40d6c497ea6f26afcbb5942dfb1ebcf436b Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Fri, 13 May 2016 10:27:21 -0700 Subject: [PATCH 004/588] Add Cloud Vision landmark detection sample. --- packages/google-cloud-vision/samples/README.md | 6 ++++++ packages/google-cloud-vision/samples/package.json | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 988500da17f..22780ccea7b 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -34,3 +34,9 @@ Execute the sample: Execute the sample: node labelDetection "/path/to/image.jpg" + +### Landmark detection sample + +Execute the sample: + + node landmarkDetection "https://cloud-samples-tests.storage.googleapis.com/vision/water.jpg" diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 3ea0bfb7376..dcc8f52ae41 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -9,7 +9,8 @@ }, "scripts": { "faceDetection": "node faceDetection.js", - "labelDetection": "node labelDetection.js" + "labelDetection": "node labelDetection.js", + "landmarkDetection": "node landmarkDetection.js" }, "dependencies": { "gcloud": "^0.32.0", From 8ecd157ae3791887c6a34c2d81a58a97dbaaadad Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Mon, 16 May 2016 16:05:00 -0700 Subject: [PATCH 005/588] Add Cloud Vision text detection sample. --- packages/google-cloud-vision/samples/README.md | 7 +++++++ packages/google-cloud-vision/samples/package.json | 10 ++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 22780ccea7b..0c705201701 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -40,3 +40,10 @@ Execute the sample: Execute the sample: node landmarkDetection "https://cloud-samples-tests.storage.googleapis.com/vision/water.jpg" + +### Text detection sample + +Execute the sample: + + node textDetection analyze resources + node textDetection lookup the sunbeams in diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index dcc8f52ae41..9d84e921dcc 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -7,13 +7,11 @@ "engines": { "node": ">=0.10.x" }, - "scripts": { - "faceDetection": "node faceDetection.js", - "labelDetection": "node labelDetection.js", - "landmarkDetection": "node landmarkDetection.js" - }, "dependencies": { + "async": "^1.5.0", + "canvas": "^1.3.15", "gcloud": "^0.32.0", - "canvas": "^1.3.15" + "natural": "^0.4.0", + "redis": "^2.6.0-2" } } From d9dc4bda64bcdd9c7e37d7b9e108aed76c42a79f Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Tue, 24 May 2016 15:33:00 -0700 Subject: [PATCH 006/588] Re-organized readme files. --- packages/google-cloud-vision/samples/README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 0c705201701..bcac7388c53 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -47,3 +47,17 @@ Execute the sample: node textDetection analyze resources node textDetection lookup the sunbeams in + +- Face detection - [Source code][vision_1] | [Documentation][vision_2] +- Label detection - [Source code][vision_3] | [Documentation][vision_4] +- Landmark detection - [Source code][vision_5] | [Documentation][vision_6] +- Text detection - [Source code][vision_7] | [Documentation][vision_8] + +[vision_1]: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/vision/faceDetection.js +[vision_2]: https://cloud.google.com/vision/docs/face-tutorial +[vision_3]: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/vision/labelDetection.js +[vision_4]: https://cloud.google.com/vision/docs/label-tutorial +[vision_5]: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/vision/landmarkDetection.js +[vision_6]: https://cloud.google.com/vision/docs/landmark-tutorial +[vision_7]: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/vision/textDetection.js +[vision_8]: https://cloud.google.com/vision/docs/text-tutorial \ No newline at end of file From 143fc3a867952bf40629f4b3594f5b6c2fcabc25 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 25 May 2016 11:02:25 -0700 Subject: [PATCH 007/588] Finished a bunch more Readme files. --- .../google-cloud-vision/samples/README.md | 104 ++++++++++++------ 1 file changed, 71 insertions(+), 33 deletions(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index bcac7388c53..7124769a1c0 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -1,22 +1,38 @@ -## Cloud Vision API samples +Google Cloud Platform logo -These samples require two environment variables to be set: +# Google Cloud Vision API Node.js Samples -- `GOOGLE_APPLICATION_CREDENTIALS` - Path to a service account file. You can -download one from your Google project's "credentials" page. -- `GCLOUD_PROJECT` - ID of your Google project. +The [Cloud Vision API][vision_docs] allows developers to easily integrate vision +detection features within applications, including image labeling, face and +landmark detection, optical character recognition (OCR), and tagging of explicit +content. -See [gcloud-node authentication][auth] for more details. +[vision_docs]: https://cloud.google.com/vision/docs/ -[auth]: https://googlecloudplatform.github.io/gcloud-node/#/docs/guides/authentication +## Table of Contents -## Run a sample +* [Setup](#setup) +* [Samples](#samples) + * [Face detection](#face-detection) + * [Label detection](#label-detection) + * [Landmark detection](#landmark-detection) + * [Text detection](#text-detection) -Install dependencies first: +## Setup - npm install +1. Read [Prerequisites][prereq] and [How to run a sample][run] first. +1. Install dependencies: -### Face detection sample + npm install + +[prereq]: ../README.md#prerequisities +[run]: ../README.md#how-to-run-a-sample + +## Samples + +### Face detection + +View the [documentation][face_1] or the [source code][face_2]. This sample uses [node-canvas](https://github.com/Automattic/node-canvas) to draw an output image. node-canvas depends on Cairo, which may require separate @@ -25,39 +41,61 @@ details. [canvas-install]: https://github.com/Automattic/node-canvas#installation -Execute the sample: +__Run the sample:__ + +Usage: `node faceDetection ` + +Example: + + node faceDetection "./resources/face.png" + +[face_1]: faceDetection.js +[face_2]: https://cloud.google.com/vision/docs/face-tutorial + +### Label detection + +View the [documentation][label_1] or the [source code][label_2]. - node faceDetection "/path/to/image.jpg" +__Run the sample:__ -### Label detection sample +Usage: `node labelDetection ` -Execute the sample: +Example: - node labelDetection "/path/to/image.jpg" + node labelDetection "./resources/wakeupcat.jpg" -### Landmark detection sample +[label_1]: labelDetection.js +[label_2]: https://cloud.google.com/vision/docs/label-tutorial -Execute the sample: +### Landmark detection + +View the [documentation][landmark_1] or the [source code][landmark_2]. + +__Run the sample:__ + +Usage: `node landmarkDetection ` + +Example: node landmarkDetection "https://cloud-samples-tests.storage.googleapis.com/vision/water.jpg" +[landmark_1]: landmarkDetection.js +[landmark_2]: https://cloud.google.com/vision/docs/landmark-tutorial + ### Text detection sample -Execute the sample: +View the [source code][text_2]. + +__Run the sample:__ + +Usage: `node textDetection [args]...` + +Analyze images: + + node textDetection analyze "./resources/" + +Look up words: - node textDetection analyze resources node textDetection lookup the sunbeams in -- Face detection - [Source code][vision_1] | [Documentation][vision_2] -- Label detection - [Source code][vision_3] | [Documentation][vision_4] -- Landmark detection - [Source code][vision_5] | [Documentation][vision_6] -- Text detection - [Source code][vision_7] | [Documentation][vision_8] - -[vision_1]: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/vision/faceDetection.js -[vision_2]: https://cloud.google.com/vision/docs/face-tutorial -[vision_3]: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/vision/labelDetection.js -[vision_4]: https://cloud.google.com/vision/docs/label-tutorial -[vision_5]: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/vision/landmarkDetection.js -[vision_6]: https://cloud.google.com/vision/docs/landmark-tutorial -[vision_7]: https://github.com/GoogleCloudPlatform/nodejs-docs-samples/blob/master/vision/textDetection.js -[vision_8]: https://cloud.google.com/vision/docs/text-tutorial \ No newline at end of file +[text_1]: textDetection.js From 425d4be5ce920dd52152d108f0a3238c2b8b5ca3 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 25 May 2016 11:22:40 -0700 Subject: [PATCH 008/588] Fixed mismatched links. --- .../google-cloud-vision/samples/README.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 7124769a1c0..fe90c875958 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -32,7 +32,7 @@ content. ### Face detection -View the [documentation][face_1] or the [source code][face_2]. +View the [documentation][face_docs] or the [source code][face_code]. This sample uses [node-canvas](https://github.com/Automattic/node-canvas) to draw an output image. node-canvas depends on Cairo, which may require separate @@ -49,12 +49,12 @@ Example: node faceDetection "./resources/face.png" -[face_1]: faceDetection.js -[face_2]: https://cloud.google.com/vision/docs/face-tutorial +[face_docs]: https://cloud.google.com/vision/docs/face-tutorial +[face_code]: faceDetection.js ### Label detection -View the [documentation][label_1] or the [source code][label_2]. +View the [documentation][label_docs] or the [source code][label_code]. __Run the sample:__ @@ -64,12 +64,12 @@ Example: node labelDetection "./resources/wakeupcat.jpg" -[label_1]: labelDetection.js -[label_2]: https://cloud.google.com/vision/docs/label-tutorial +[label_docs]: https://cloud.google.com/vision/docs/label-tutorial +[label_code]: labelDetection.js ### Landmark detection -View the [documentation][landmark_1] or the [source code][landmark_2]. +View the [documentation][landmark_docs] or the [source code][landmark_code]. __Run the sample:__ @@ -79,12 +79,12 @@ Example: node landmarkDetection "https://cloud-samples-tests.storage.googleapis.com/vision/water.jpg" -[landmark_1]: landmarkDetection.js -[landmark_2]: https://cloud.google.com/vision/docs/landmark-tutorial +[landmark_docs]: https://cloud.google.com/vision/docs/landmark-tutorial +[landmark_code]: landmarkDetection.js ### Text detection sample -View the [source code][text_2]. +View the [source code][text_code]. __Run the sample:__ @@ -98,4 +98,4 @@ Look up words: node textDetection lookup the sunbeams in -[text_1]: textDetection.js +[text_code]: textDetection.js From 29bc904cbe35c7750fc85188065fdb14cf201855 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Thu, 30 Jun 2016 09:57:30 -0700 Subject: [PATCH 009/588] Switch back to mocha from ava. (#143) * Switch back to mocha from ava. * Make lint happy. * Uncache vision. * Make canvas dependency optional. * Change node version. * Remove const --- packages/google-cloud-vision/samples/package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 9d84e921dcc..d351ae9523e 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -9,9 +9,11 @@ }, "dependencies": { "async": "^1.5.0", - "canvas": "^1.3.15", "gcloud": "^0.32.0", "natural": "^0.4.0", "redis": "^2.6.0-2" + }, + "optionalDependencies": { + "canvas": "^1.3.15" } } From ceb4ef5a6f39a7a5ec773fec03e425a424aa453f Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 3 Aug 2016 15:51:39 -0700 Subject: [PATCH 010/588] Refactored tests (#159) * Refactor tests. * Tweak build. * Tweak build. * More tests. * Tweak build. * Tweak build. * Fix build. * Fix build. * Speed up build. * Fix build. * Remove extra dep. * Investigate why 0.12 fails. * Scripts. * More tests. * Upgrades * Upgrades * Update readme --- packages/google-cloud-vision/samples/package.json | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index d351ae9523e..573136685ae 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -1,18 +1,22 @@ { - "name": "cloud-vision-samples", - "description": "Node.js samples for Google Cloud Vision.", + "name": "nodejs-docs-samples-vision", "version": "0.0.1", "private": true, "license": "Apache Version 2.0", - "engines": { - "node": ">=0.10.x" + "author": "Google Inc.", + "scripts": { + "test": "mocha -R spec -t 120000 --require intelli-espower-loader ../test/_setup.js test/*.test.js", + "system-test": "mocha -R spec -t 120000 --require intelli-espower-loader ../system-test/_setup.js system-test/*.test.js" }, "dependencies": { "async": "^1.5.0", - "gcloud": "^0.32.0", + "gcloud": "^0.37.0", "natural": "^0.4.0", "redis": "^2.6.0-2" }, + "devDependencies": { + "mocha": "^2.5.3" + }, "optionalDependencies": { "canvas": "^1.3.15" } From 36b8a8a4c45e39a5838404fd37b652b9ccdad16f Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 3 Aug 2016 20:11:30 -0400 Subject: [PATCH 011/588] Allow individually publishable API client libraries. --- packages/google-cloud-vision/package.json | 82 + packages/google-cloud-vision/src/index.js | 1563 +++++++++++++++++ .../system-test/data/index.yaml | 23 + .../system-test/data/logo.jpg | Bin 0 -> 6218 bytes .../system-test/data/rushmore.jpg | Bin 0 -> 9171 bytes .../system-test/data/text.png | Bin 0 -> 52499 bytes .../google-cloud-vision/system-test/vision.js | 514 ++++++ packages/google-cloud-vision/test/index.js | 1403 +++++++++++++++ 8 files changed, 3585 insertions(+) create mode 100644 packages/google-cloud-vision/package.json create mode 100644 packages/google-cloud-vision/src/index.js create mode 100644 packages/google-cloud-vision/system-test/data/index.yaml create mode 100644 packages/google-cloud-vision/system-test/data/logo.jpg create mode 100644 packages/google-cloud-vision/system-test/data/rushmore.jpg create mode 100644 packages/google-cloud-vision/system-test/data/text.png create mode 100644 packages/google-cloud-vision/system-test/vision.js create mode 100644 packages/google-cloud-vision/test/index.js diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json new file mode 100644 index 00000000000..ee733771a88 --- /dev/null +++ b/packages/google-cloud-vision/package.json @@ -0,0 +1,82 @@ +{ + "name": "@google-cloud/vision", + "version": "0.0.0", + "author": "Google Inc.", + "description": "Google Cloud Vision Client Library for Node.js", + "contributors": [ + { + "name": "Burcu Dogan", + "email": "jbd@google.com" + }, + { + "name": "Johan Euphrosine", + "email": "proppy@google.com" + }, + { + "name": "Patrick Costello", + "email": "pcostell@google.com" + }, + { + "name": "Ryan Seys", + "email": "ryan@ryanseys.com" + }, + { + "name": "Silvano Luciani", + "email": "silvano@google.com" + }, + { + "name": "Stephen Sawchuk", + "email": "sawchuk@gmail.com" + } + ], + "main": "./src/index.js", + "files": [ + "./src/*", + "AUTHORS", + "CONTRIBUTORS", + "COPYING" + ], + "repository": "googlecloudplatform/gcloud-node", + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google vision", + "vision" + ], + "dependencies": { + "arrify": "^1.0.0", + "async": "^1.4.2", + "extend": "^3.0.0", + "@google-cloud/common": "^0.1.0", + "@google-cloud/storage": "^0.1.0", + "is": "^3.0.1", + "propprop": "^0.3.0", + "request": "^2.70.0", + "rgb-hex": "^1.0.0", + "string-format-obj": "^1.0.0" + }, + "devDependencies": { + "async": "^1.4.2", + "deep-strict-equal": "^0.1.0", + "mocha": "^2.1.0", + "multiline": "^1.0.2", + "normalize-newline": "^2.0.0", + "proxyquire": "^1.7.10", + "tmp": "0.0.27" + }, + "scripts": { + "publish": "../../scripts/publish", + "test": "mocha test/*.js", + "system-test": "mocha system-test/*.js --no-timeouts --bail" + }, + "license": "Apache-2.0", + "engines": { + "node": ">=0.12.0" + } +} diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js new file mode 100644 index 00000000000..5f27980c576 --- /dev/null +++ b/packages/google-cloud-vision/src/index.js @@ -0,0 +1,1563 @@ +/*! + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ + +/*! + * @module vision + */ + +'use strict'; + +var arrify = require('arrify'); +var async = require('async'); +var common = require('@google-cloud/common'); +var rgbHex = require('rgb-hex'); +var extend = require('extend'); +var format = require('string-format-obj'); +var fs = require('fs'); +var is = require('is'); +var nodeutil = require('util'); +var prop = require('propprop'); +var request = require('request'); +var PKG = require('../package.json'); + +/** + * @type {module:storage/file} + * @private + */ +var File = require('@google-cloud/storage').File; + +/** + * @type {module:common/grpc-service} + * @private + */ +var GrpcService = common.GrpcService; + +/** + * @type {module:common/service} + * @private + */ +var Service = common.Service; + +/** + * @type {module:common/util} + * @private + */ +var util = common.util; + +var VERY_UNLIKELY = 0; +var UNLIKELY = 1; +var POSSIBLE = 2; +var LIKELY = 3; +var VERY_LIKELY = 4; + +/** + * The [Cloud Vision API](https://cloud.google.com/vision/docs) allows easy + * integration of vision detection features, including image labeling, face and + * landmark detection, optical character recognition (OCR), and tagging of + * explicit content. + * + * @constructor + * @alias module:vision + * + * @classdesc + *

+ * **This is a Beta release of Google Cloud Vision.** This API is not covered + * by any SLA or deprecation policy and may be subject to backward- + * incompatible changes. + *

+ * + * To learn more about the Vision API, see + * [Getting Started](https://cloud.google.com/vision/docs/getting-started). + * + * @resource [Getting Started]{@link https://cloud.google.com/vision/docs/getting-started} + * @resource [Image Best Practices]{@link https://cloud.google.com/vision/docs/image-best-practices} + * + * @param {object} options - [Configuration object](#/docs). + * + * @example + * var gcloud = require('google-cloud')({ + * keyFilename: '/path/to/keyfile.json', + * projectId: 'grape-spaceship-123' + * }); + * + * var vision = gcloud.vision(); + */ +function Vision(options) { + if (!(this instanceof Vision)) { + options = util.normalizeArguments(this, options); + return new Vision(options); + } + + var config = { + baseUrl: 'https://vision.googleapis.com/v1', + projectIdRequired: false, + scopes: [ + 'https://www.googleapis.com/auth/cloud-platform' + ], + userAgent: PKG.name + '/' + PKG.version + }; + + Service.call(this, config, options); +} + +nodeutil.inherits(Vision, Service); + +Vision.likelihood = { + VERY_UNLIKELY: VERY_UNLIKELY, + UNLIKELY: UNLIKELY, + POSSIBLE: POSSIBLE, + LIKELY: LIKELY, + VERY_LIKELY: VERY_LIKELY +}; + +/** + * Run image detection and annotation for an image or batch of images. + * + * This is an advanced API method that requires raw + * [`AnnotateImageRequest`](https://cloud.google.com/vision/reference/rest/v1/images/annotate#AnnotateImageRequest) + * objects to be provided. If that doesn't sound like what you're looking for, + * you'll probably appreciate {module:vision#detect}. + * + * @resource [images.annotate API Reference]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate} + * + * @param {object|object[]} requests - An `AnnotateImageRequest` or array of + * `AnnotateImageRequest`s. See an + * [`AnnotateImageRequest`](https://cloud.google.com/vision/reference/rest/v1/images/annotate#AnnotateImageRequest). + * @param {function} callback - The callback function. + * @param {?error} callback.err - An error returned while making this request. + * @param {object} callback.annotations - See an + * [`AnnotateImageResponse`](https://cloud.google.com/vision/reference/rest/v1/images/annotate#AnnotateImageResponse). + * @param {object} callback.apiResponse - Raw API response. + * + * @example + * var annotateImageReq = { + * // See the link in the parameters for `AnnotateImageRequest`. + * }; + * + * vision.annotate(annotateImageReq, function(err, annotations, apiResponse) { + * // annotations = apiResponse.responses + * }); + */ +Vision.prototype.annotate = function(requests, callback) { + this.request({ + method: 'POST', + uri: 'images:annotate', + json: { + requests: arrify(requests) + } + }, function(err, resp) { + if (err) { + callback(err, null, resp); + return; + } + + callback(null, resp.responses, resp); + }); +}; + +/** + * Detect properties from an image (or images) of one or more types. + * + *

API simplifications

+ * + * The raw API response will return some values in a range from `VERY_UNLIKELY` + * to `VERY_LIKELY`. For simplification, any value less than `LIKELY` is + * converted to `false`. + * + * - **False** + * - `VERY_UNLIKELY` + * - `UNLIKELY` + * - `POSSIBLE` + * - **True** + * - `LIKELY` + * - `VERY_LIKELY` + * + * The API will also return many values represented in a `[0,1]` range. We + * convert these to a `[0,100]` value. E.g, `0.4` is represented as `40`. + * + * For the response in the original format, review the `apiResponse` argument + * your callback receives. + * + * @param {string|string[]|module:storage/file|module:storage/file[]} images - + * The source image(s) to run the detection on. It can be either a local + * image path, a remote image URL, or a gcloud File object. + * @param {string[]|object=} options - An array of types or a configuration + * object. + * @param {object=} options.imageContext - See an + * [`ImageContext`](https://cloud.google.com/vision/reference/rest/v1/images/annotate#ImageContext) + * resource. + * @param {number} options.maxResults - The maximum number of results, per type, + * to return in the response. + * @param {string[]} options.types - An array of feature types to detect from + * the provided images. Acceptable values: `faces`, `landmarks`, `labels`, + * `logos`, `properties`, `safeSearch`, `text`. + * @param {boolean=} options.verbose - Use verbose mode, which returns a less- + * simplistic representation of the annotation (default: `false`). + * @param {function} callback - The callback function. + * @param {?error} callback.err - An error returned while making this request. + * @param {object|object[]} callback.detections - If a single detection type was + * asked for, it will be returned in its raw form; either an object or array + * of objects. If multiple detection types were requested, you will receive + * an object with keys for each detection type (listed above in + * `config.types`). Additionally, if multiple images were provided, you will + * receive an array of detection objects, each representing an image. See + * the examples below for more information. + * @param {object[]} callback.detections.errors - It's possible for part of your + * request to be completed successfully, while a single feature request was + * not successful. Each returned detection will have an `errors` array, + * including any of these errors which may have occurred. + * @param {object} callback.apiResponse - Raw API response. + * + * @example + * var types = [ + * 'face', + * 'label' + * ]; + * + * vision.detect('image.jpg', types, function(err, detections, apiResponse) { + * // detections = { + * // faces: [...], + * // labels: [...] + * // } + * }); + * + * //- + * // Run feature detection over a remote image. + * // + * // *Note: This is not an officially supported feature of the Vision API. Our + * // library will make a request to the URL given, convert it to base64, and + * // send that upstream.* + * //- + * var img = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; + * vision.detect(img, types, function(err, detection, apiResponse) {}); + * + * //- + * // Supply multiple images for feature detection. + * //- + * var images = [ + * 'image.jpg', + * 'image-two.jpg' + * ]; + * + * var types = [ + * 'face', + * 'label' + * ]; + * + * vision.detect(images, types, function(err, detections, apiResponse) { + * // detections = [ + * // // Detections for image.jpg: + * // { + * // faces: [...], + * // labels: [...] + * // }, + * // + * // // Detections for image-two.jpg: + * // { + * // faces: [...], + * // labels: [...] + * // } + * // ] + * }); + * + * //- + * // It's possible for part of your request to be completed successfully, while + * // a single feature request was not successful. Each returned detection will + * // have an `errors` array, including any of these errors which may have + * // occurred. + * //- + * vision.detect('malformed-image.jpg', types, function(err, detections) { + * if (detections.faces.errors.length > 0) { + * // Errors occurred while trying to use this image for a face annotation. + * } + * }); + */ +Vision.prototype.detect = function(images, options, callback) { + var self = this; + var isSingleImage = !is.array(images) || images.length === 1; + + if (!is.object(options)) { + options = { + types: options + }; + } + + var types = arrify(options.types); + + var typeShortNameToFullName = { + face: 'FACE_DETECTION', + faces: 'FACE_DETECTION', + + label: 'LABEL_DETECTION', + labels: 'LABEL_DETECTION', + + landmark: 'LANDMARK_DETECTION', + landmarks: 'LANDMARK_DETECTION', + + logo: 'LOGO_DETECTION', + logos: 'LOGO_DETECTION', + + properties: 'IMAGE_PROPERTIES', + + safeSearch: 'SAFE_SEARCH_DETECTION', + + text: 'TEXT_DETECTION' + }; + + var typeShortNameToRespName = { + face: 'faceAnnotations', + faces: 'faceAnnotations', + + label: 'labelAnnotations', + labels: 'labelAnnotations', + + landmark: 'landmarkAnnotations', + landmarks: 'landmarkAnnotations', + + logo: 'logoAnnotations', + logos: 'logoAnnotations', + + properties: 'imagePropertiesAnnotation', + + safeSearch: 'safeSearchAnnotation', + + text: 'textAnnotations' + }; + + var typeRespNameToShortName = { + errors: 'errors', + faceAnnotations: 'faces', + imagePropertiesAnnotation: 'properties', + labelAnnotations: 'labels', + landmarkAnnotations: 'landmarks', + logoAnnotations: 'logos', + safeSearchAnnotation: 'safeSearch', + textAnnotations: 'text' + }; + + Vision.findImages_(images, function(err, images) { + if (err) { + callback(err); + return; + } + + var config = []; + + images.forEach(function(image) { + types.forEach(function(type) { + var typeName = typeShortNameToFullName[type]; + + if (!typeName) { + throw new Error('Requested detection feature not found: ' + type); + } + + var cfg = { + image: image, + features: { + type: typeName + } + }; + + if (is.object(options.imageContext)) { + cfg.imageContext = options.imageContext; + } + + if (is.number(options.maxResults)) { + cfg.features.maxResults = options.maxResults; + } + + config.push(cfg); + }); + }); + + self.annotate(config, function(err, annotations, resp) { + if (err) { + callback(err, null, resp); + return; + } + + var originalResp = extend(true, {}, resp); + + var detections = images + .map(groupDetectionsByImage) + .map(assignTypeToEmptyAnnotations) + .map(combineErrors) + .map(flattenAnnotations) + .map(decorateAnnotations); + + // If only a single image was given, expose it from the array. + callback(null, isSingleImage ? detections[0] : detections, originalResp); + + function groupDetectionsByImage() { + // detections = [ + // // Image one: + // [ + // { + // faceAnnotations: {}, + // labelAnnotations: {}, + // ... + // } + // ], + // + // // Image two: + // [ + // { + // faceAnnotations: {}, + // labelAnnotations: {}, + // ... + // } + // ] + // ] + return annotations.splice(0, types.length); + } + + function assignTypeToEmptyAnnotations(annotations) { + // Before: + // [ + // {}, // What annotation type was attempted? + // { labelAnnotations: {...} } + // ] + // + // After: + // [ + // { faceAnnotations: {} }, + // { labelAnnotations: {...} } + // ] + return annotations.map(function(annotation, index) { + var detectionType = types[index]; + var typeName = typeShortNameToRespName[detectionType]; + + if (is.empty(annotation) || annotation.error) { + var isPlural = typeName.charAt(typeName.length - 1) === 's'; + annotation[typeName] = isPlural ? [] : {}; + } + + return annotation; + }); + } + + function combineErrors(annotations) { + // Before: + // [ + // { + // faceAnnotations: [], + // error: {...} + // }, + // { + // imagePropertiesAnnotation: {}, + // error: {...} + // } + // ] + + // After: + // [ + // faceAnnotations: [], + // imagePropertiesAnnotation: {}, + // errors: [ + // {...}, + // {...} + // ] + // ] + var errors = []; + + annotations.forEach(function(annotation) { + var annotationKey = Object.keys(annotation)[0]; + + if (annotationKey === 'error') { + errors.push(annotation.error); + delete annotation.error; + } + + return annotation; + }); + + annotations.push({ + errors: errors + }); + + return annotations; + } + + function flattenAnnotations(annotations) { + return extend.apply(null, annotations); + } + + function formatAnnotationBuilder(type) { + return function(annotation) { + if (is.empty(annotation)) { + return annotation; + } + + var formatMethodMap = { + errors: Vision.formatError_, + faceAnnotations: Vision.formatFaceAnnotation_, + imagePropertiesAnnotation: Vision.formatImagePropertiesAnnotation_, + labelAnnotations: Vision.formatEntityAnnotation_, + landmarkAnnotations: Vision.formatEntityAnnotation_, + logoAnnotations: Vision.formatEntityAnnotation_, + safeSearchAnnotation: Vision.formatSafeSearchAnnotation_, + textAnnotations: Vision.formatEntityAnnotation_ + }; + + return formatMethodMap[type](annotation, options); + }; + } + + function decorateAnnotations(annotations) { + for (var annotationType in annotations) { + if (annotations.hasOwnProperty(annotationType)) { + var annotationGroup = arrify(annotations[annotationType]); + + var formattedAnnotationGroup = annotationGroup + .map(formatAnnotationBuilder(annotationType)); + + // An annotation can be singular, e.g. SafeSearch. It is either + // violent or not. Unlike face detection, where there can be + // multiple results. + // + // Be sure the original type (object or array) is preserved and + // not wrapped in an array if it wasn't originally. + if (!is.array(annotations[annotationType])) { + formattedAnnotationGroup = formattedAnnotationGroup[0]; + } + + delete annotations[annotationType]; + var typeShortName = typeRespNameToShortName[annotationType]; + annotations[typeShortName] = formattedAnnotationGroup; + } + } + + if (types.length === 1) { + // Only a single detection type was asked for, so no need to box in + // the results. Make them accessible without using a key. + var key = Object.keys(annotations)[0]; + var errors = annotations.errors; + annotations = annotations[key]; + annotations.errors = errors; + } + + return annotations; + } + }); + }); +}; + +/** + * Run face detection against an image. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @resource [FaceAnnotation JSON respresentation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#FaceAnnotation} + * + * @example + * vision.detectFaces('image.jpg', function(err, faces, apiResponse) { + * // faces = [ + * // { + * // angles: { + * // pan: -8.1090336, + * // roll: -5.0002542, + * // tilt: 18.012161 + * // }, + * // bounds: { + * // head: [ + * // { + * // x: 1 + * // }, + * // { + * // x: 295 + * // }, + * // { + * // x: 295, + * // y: 301 + * // }, + * // { + * // x: 1, + * // y: 301 + * // } + * // ], + * // face: [ + * // { + * // x: 28, + * // y: 40 + * // }, + * // { + * // x: 250, + * // y: 40 + * // }, + * // { + * // x: 250, + * // y: 262 + * // }, + * // { + * // x: 28, + * // y: 262 + * // } + * // ] + * // }, + * // features: { + * // confidence: 34.489909, + * // chin: { + * // center: { + * // x: 143.34183, + * // y: 262.22998, + * // z: -57.388493 + * // }, + * // left: { + * // x: 63.102425, + * // y: 248.99081, + * // z: 44.207638 + * // }, + * // right: { + * // x: 241.72728, + * // y: 225.53488, + * // z: 19.758242 + * // } + * // }, + * // ears: { + * // left: { + * // x: 54.872219, + * // y: 207.23712, + * // z: 97.030685 + * // }, + * // right: { + * // x: 252.67567, + * // y: 180.43124, + * // z: 70.15992 + * // } + * // }, + * // eyebrows: { + * // left: { + * // left: { + * // x: 58.790176, + * // y: 113.28249, + * // z: 17.89735 + * // }, + * // right: { + * // x: 106.14151, + * // y: 98.593758, + * // z: -13.116687 + * // }, + * // top: { + * // x: 80.248711, + * // y: 94.04303, + * // z: 0.21131183 + * // } + * // }, + * // right: { + * // left: { + * // x: 148.61565, + * // y: 92.294594, + * // z: -18.804882 + * // }, + * // right: { + * // x: 204.40808, + * // y: 94.300117, + * // z: -2.0009689 + * // }, + * // top: { + * // x: 174.70135, + * // y: 81.580917, + * // z: -12.702137 + * // } + * // } + * // }, + * // eyes: { + * // left: { + * // bottom: { + * // x: 84.883934, + * // y: 134.59479, + * // z: -2.8677137 + * // }, + * // center: { + * // x: 83.707092, + * // y: 128.34, + * // z: -0.00013388535 + * // }, + * // left: { + * // x: 72.213913, + * // y: 132.04138, + * // z: 9.6985674 + * // }, + * // pupil: { + * // x: 86.531624, + * // y: 126.49807, + * // z: -2.2496929 + * // }, + * // right: { + * // x: 105.28892, + * // y: 125.57655, + * // z: -2.51554 + * // }, + * // top: { + * // x: 86.706947, + * // y: 119.47144, + * // z: -4.1606765 + * // } + * // }, + * // right: { + * // bottom: { + * // x: 179.30353, + * // y: 121.03307, + * // z: -14.843414 + * // }, + * // center: { + * // x: 181.17694, + * // y: 115.16437, + * // z: -12.82961 + * // }, + * // left: { + * // x: 158.2863, + * // y: 118.491, + * // z: -9.723031 + * // }, + * // pupil: { + * // x: 175.99976, + * // y: 114.64407, + * // z: -14.53744 + * // }, + * // right: { + * // x: 194.59413, + * // y: 115.91954, + * // z: -6.952745 + * // }, + * // top: { + * // x: 173.99446, + * // y: 107.94287, + * // z: -16.050705 + * // } + * // } + * // }, + * // forehead: { + * // x: 126.53813, + * // y: 93.812057, + * // z: -18.863352 + * // }, + * // lips: { + * // bottom: { + * // x: 137.28528, + * // y: 219.23564, + * // z: -56.663128 + * // }, + * // top: { + * // x: 134.74164, + * // y: 192.50438, + * // z: -53.876408 + * // } + * // }, + * // mouth: { + * // center: { + * // x: 136.43481, + * // y: 204.37952, + * // z: -51.620205 + * // }, + * // left: { + * // x: 104.53558, + * // y: 214.05037, + * // z: -30.056231 + * // }, + * // right: { + * // x: 173.79134, + * // y: 204.99333, + * // z: -39.725758 + * // } + * // }, + * // nose: { + * // bottom: { + * // center: { + * // x: 133.81947, + * // y: 173.16437, + * // z: -48.287724 + * // }, + * // left: { + * // x: 110.98372, + * // y: 173.61331, + * // z: -29.7784 + * // }, + * // right: { + * // x: 161.31354, + * // y: 168.24527, + * // z: -36.1628 + * // } + * // }, + * // tip: { + * // x: 128.14919, + * // y: 153.68129, + * // z: -63.198204 + * // }, + * // top: { + * // x: 127.83745, + * // y: 110.17557, + * // z: -22.650913 + * // } + * // } + * // }, + * // confidence: 56.748849, + * // blurry: false, + * // dark: false, + * // happy: false, + * // hat: false, + * // mad: false, + * // sad: false, + * // surprised: false + * // } + * // ] + * }); + * + * //- + * // Our library simplifies the response from the API. Use the map below to see + * // each response name's original name. + * //- + * var shortNameToLongNameMap = { + * chin: { + * center: 'CHIN_GNATHION', + * left: 'CHIN_LEFT_GONION', + * right: 'CHIN_RIGHT_GONION' + * }, + * + * ears: { + * left: 'LEFT_EAR_TRAGION', + * right: 'RIGHT_EAR_TRAGION' + * }, + * + * eyebrows: { + * left: { + * left: 'LEFT_OF_LEFT_EYEBROW', + * right: 'RIGHT_OF_LEFT_EYEBROW', + * top: 'LEFT_EYEBROW_UPPER_MIDPOINT' + * }, + * right: { + * left: 'LEFT_OF_RIGHT_EYEBROW', + * right: 'RIGHT_OF_RIGHT_EYEBROW', + * top: 'RIGHT_EYEBROW_UPPER_MIDPOINT' + * } + * }, + * + * eyes: { + * left: { + * bottom: 'LEFT_EYE_BOTTOM_BOUNDARY', + * center: 'LEFT_EYE', + * left: 'LEFT_EYE_LEFT_CORNER', + * pupil: 'LEFT_EYE_PUPIL', + * right: 'LEFT_EYE_RIGHT_CORNER', + * top: 'LEFT_EYE_TOP_BOUNDARY' + * }, + * right: { + * bottom: 'RIGHT_EYE_BOTTOM_BOUNDARY', + * center: 'RIGHT_EYE', + * left: 'RIGHT_EYE_LEFT_CORNER', + * pupil: 'RIGHT_EYE_PUPIL', + * right: 'RIGHT_EYE_RIGHT_CORNER', + * top: 'RIGHT_EYE_TOP_BOUNDARY' + * } + * }, + * + * forehead: 'FOREHEAD_GLABELLA', + * + * lips: { + * bottom: 'LOWER_LIP', + * top: 'UPPER_LIP' + * }, + * + * mouth: { + * center: 'MOUTH_CENTER', + * left: 'MOUTH_LEFT', + * right: 'MOUTH_RIGHT' + * }, + * + * nose: { + * bottom: { + * center: 'NOSE_BOTTOM_CENTER', + * left: 'NOSE_BOTTOM_LEFT', + * right: 'NOSE_BOTTOM_RIGHT' + * }, + * tip: 'NOSE_TIP', + * top: 'MIDPOINT_BETWEEN_EYES' + * } + * }; + */ +Vision.prototype.detectFaces = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['faces'] + }); + + this.detect(images, options, callback); +}; + +/** + * Annotate an image with descriptive labels. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @resource [EntityAnnotation JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#EntityAnnotation} + * + * @example + * vision.detectLabels('image.jpg', function(err, labels, apiResponse) { + * // labels = [ + * // 'classical sculpture', + * // 'statue', + * // 'landmark', + * // 'ancient history', + * // 'artwork' + * // ] + * }); + * + * //- + * // Activate `verbose` mode for a more detailed response. + * //- + * var opts = { + * verbose: true + * }; + * + * vision.detectLabels('image.jpg', opts, function(err, labels, apiResponse) { + * // labels = [ + * // { + * // desc: 'classical sculpture', + * // id: '/m/095yjj', + * // score: 98.092282 + * // }, + * // { + * // desc: 'statue', + * // id: '/m/013_1c', + * // score: 90.66112 + * // }, + * // // ... + * // ] + * }); + */ +Vision.prototype.detectLabels = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['labels'] + }); + + this.detect(images, options, callback); +}; + +/** + * Detect the landmarks from an image. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @resource [EntityAnnotation JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#EntityAnnotation} + * + * @example + * vision.detectLandmarks('image.jpg', function(err, landmarks, apiResponse) { + * // landmarks = [ + * // 'Mount Rushmore' + * // ] + * }); + * + * //- + * // Activate `verbose` mode for a more detailed response. + * //- + * var image = 'image.jpg'; + * + * var opts = { + * verbose: true + * }; + * + * vision.detectLandmarks(image, opts, function(err, landmarks, apiResponse) { + * // landmarks = [ + * // { + * // desc: 'Mount Rushmore', + * // id: '/m/019dvv', + * // score: 28.651705, + * // bounds: [ + * // { + * // x: 79, + * // y: 130 + * // }, + * // { + * // x: 284, + * // y: 130 + * // }, + * // { + * // x: 284, + * // y: 226 + * // }, + * // { + * // x: 79, + * // y: 226 + * // } + * // ], + * // locations: [ + * // { + * // latitude: 43.878264, + * // longitude: -103.45700740814209 + * // } + * // ] + * // } + * // ] + * }); + */ +Vision.prototype.detectLandmarks = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['landmarks'] + }); + + this.detect(images, options, callback); +}; + +/** + * Detect the logos from an image. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @resource [EntityAnnotation JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#EntityAnnotation} + * + * @example + * vision.detectLogos('image.jpg', function(err, logos, apiResponse) { + * // logos = [ + * // 'Google' + * // ] + * }); + * + * //- + * // Activate `verbose` mode for a more detailed response. + * //- + * var options = { + * verbose: true + * }; + * + * vision.detectLogos('image.jpg', options, function(err, logos, apiResponse) { + * // logos = [ + * // { + * // desc: 'Google', + * // id: '/m/045c7b', + * // score: 64.35439, + * // bounds: [ + * // { + * // x: 11, + * // y: 11 + * // }, + * // { + * // x: 330, + * // y: 11 + * // }, + * // { + * // x: 330, + * // y: 72 + * // }, + * // { + * // x: 11, + * // y: 72 + * // } + * // ] + * // } + * // ] + * }); + */ +Vision.prototype.detectLogos = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['logos'] + }); + + this.detect(images, options, callback); +}; + +/** + * Get a set of properties about an image, such as its dominant colors. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @resource [ImageProperties JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#ImageProperties} + * + * @example + * vision.detectProperties('image.jpg', function(err, props, apiResponse) { + * // props = { + * // colors: [ + * // '3b3027', + * // '727d81', + * // '3f2f22', + * // '838e92', + * // '482a16', + * // '5f4f3c', + * // '261b14', + * // 'b39b7f', + * // '51473f', + * // '2c1e12' + * // ] + * // } + * }); + * + * //- + * // Activate `verbose` mode for a more detailed response. + * //- + * var image = 'image.jpg'; + * + * var options = { + * verbose: true + * }; + * + * vision.detectProperties(image, options, function(err, props, apiResponse) { + * // props = { + * // colors: [ + * // { + * // red: 59, + * // green: 48, + * // blue: 39, + * // score: 26.618013, + * // coverage: 15.948276, + * // hex: '3b3027' + * // }, + * // { + * // red: 114, + * // green: 125, + * // blue: 129, + * // score: 10.319714, + * // coverage: 8.3977409, + * // hex: '727d81' + * // }, + * // // ... + * // ] + * // } + * }); + */ +Vision.prototype.detectProperties = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['properties'] + }); + + this.detect(images, options, callback); +}; + +/** + * Detect the SafeSearch flags from an image. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @resource [SafeSearch JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#SafeSearchAnnotation} + * + * @example + * vision.detectSafeSearch('image.jpg', function(err, safeSearch, apiResponse) { + * // safeSearch = { + * // adult: false, + * // medical: false, + * // spoof: false, + * // violence: true + * // } + * }); + */ +Vision.prototype.detectSafeSearch = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['safeSearch'] + }); + + this.detect(images, options, callback); +}; + +/** + * Detect the text within an image. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @example + * vision.detectText('image.jpg', function(err, text, apiResponse) { + * // text = [ + * // 'This was text found in the image' + * // ] + * }); + * + * //- + * // Activate `verbose` mode for a more detailed response. + * //- + * var options = { + * verbose: true + * }; + * + * vision.detectText('image.jpg', options, function(err, text, apiResponse) { + * // text = [ + * // { + * // desc: 'This was text found in the image', + * // bounds: [ + * // { + * // x: 4, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 89 + * // }, + * // { + * // x: 4, + * // y: 89 + * // } + * // ] + * // } + * // ] + * }); + */ +Vision.prototype.detectText = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['text'] + }); + + this.detect(images, options, callback); +}; + +/** + * Convert an object with "likelihood" values to a boolean-representation, based + * on the lowest likelihood provided. + * + * @private + * + * @example + * Vision.convertToBoolean_(Vision.likelihood.VERY_LIKELY, { + * blurry: 'POSSIBLE' + * }); + * // { blurry: false } + * + * Vision.convertToBoolean_(Vision.likelihood.UNLIKELY, { + * blurry: 'POSSIBLE' + * }); + * // { blurry: true } + */ +Vision.convertToBoolean_ = function(baseLikelihood, object) { + var convertedObject = {}; + + for (var prop in object) { + if (object.hasOwnProperty(prop)) { + var value = Vision.likelihood[object[prop]]; + convertedObject[prop] = value >= baseLikelihood; + } + } + + return convertedObject; +}; + +/** + * Determine the type of image the user is asking to be annotated. If a + * {module:storage/file}, convert to its "gs://{bucket}/{file}" URL. If a remote + * URL, read the contents and convert to a base64 string. If a file path to a + * local file, convert to a base64 string. + * + * @private + */ +Vision.findImages_ = function(images, callback) { + var MAX_PARALLEL_LIMIT = 5; + images = arrify(images); + + function findImage(image, callback) { + if (image instanceof File) { + callback(null, { + source: { + gcsImageUri: format('gs://{bucketName}/{fileName}', { + bucketName: image.bucket.name, + fileName: image.name + }) + } + }); + + return; + } + + // File is a URL. + if (/^http/.test(image)) { + request({ + method: 'GET', + uri: image, + encoding: 'base64' + }, function(err, resp, body) { + if (err) { + callback(err); + return; + } + + callback(null, { content: body }); + }); + + return; + } + + // File exists on disk. + fs.readFile(image, { encoding: 'base64' }, function(err, contents) { + if (err) { + callback(err); + return; + } + + callback(null, { content: contents }); + }); + } + + async.mapLimit(images, MAX_PARALLEL_LIMIT, findImage, callback); +}; + +/** + * Format a raw entity annotation response from the API. + * + * @private + */ +Vision.formatEntityAnnotation_ = function(entityAnnotation, options) { + if (!options.verbose) { + return entityAnnotation.description; + } + + var formattedEntityAnnotation = { + desc: entityAnnotation.description + }; + + if (entityAnnotation.mid) { + formattedEntityAnnotation.mid = entityAnnotation.mid; + } + + if (entityAnnotation.score) { + formattedEntityAnnotation.score = entityAnnotation.score * 100; + } + + if (entityAnnotation.boundingPoly) { + formattedEntityAnnotation.bounds = entityAnnotation.boundingPoly.vertices; + } + + if (is.defined(entityAnnotation.confidence)) { + formattedEntityAnnotation.confidence = entityAnnotation.confidence * 100; + } + + if (entityAnnotation.locations) { + var locations = entityAnnotation.locations; + formattedEntityAnnotation.locations = locations.map(prop('latLng')); + } + + if (entityAnnotation.properties) { + formattedEntityAnnotation.properties = entityAnnotation.properties; + } + + return formattedEntityAnnotation; +}; + +/** + * Format a raw error from the API. + * + * @private + */ +Vision.formatError_ = function(err) { + var httpError = GrpcService.GRPC_ERROR_CODE_TO_HTTP[err.code]; + + if (httpError) { + err.code = httpError.code; + } + + return err; +}; + +/** + * Format a raw face annotation response from the API. + * + * @private + */ +Vision.formatFaceAnnotation_ = function(faceAnnotation) { + function findLandmark(type) { + var landmarks = faceAnnotation.landmarks; + + return landmarks.filter(function(landmark) { + return landmark.type === type; + })[0].position; + } + + var formattedFaceAnnotation = { + angles: { + pan: faceAnnotation.panAngle, + roll: faceAnnotation.rollAngle, + tilt: faceAnnotation.tiltAngle + }, + + bounds: { + head: faceAnnotation.boundingPoly.vertices, + face: faceAnnotation.fdBoundingPoly.vertices + }, + + features: { + confidence: faceAnnotation.landmarkingConfidence * 100, + chin: { + center: findLandmark('CHIN_GNATHION'), + left: findLandmark('CHIN_LEFT_GONION'), + right: findLandmark('CHIN_RIGHT_GONION') + }, + ears: { + left: findLandmark('LEFT_EAR_TRAGION'), + right: findLandmark('RIGHT_EAR_TRAGION'), + }, + eyebrows: { + left: { + left: findLandmark('LEFT_OF_LEFT_EYEBROW'), + right: findLandmark('RIGHT_OF_LEFT_EYEBROW'), + top: findLandmark('LEFT_EYEBROW_UPPER_MIDPOINT') + }, + right: { + left: findLandmark('LEFT_OF_RIGHT_EYEBROW'), + right: findLandmark('RIGHT_OF_RIGHT_EYEBROW'), + top: findLandmark('RIGHT_EYEBROW_UPPER_MIDPOINT') + } + }, + eyes: { + left: { + bottom: findLandmark('LEFT_EYE_BOTTOM_BOUNDARY'), + center: findLandmark('LEFT_EYE'), + left: findLandmark('LEFT_EYE_LEFT_CORNER'), + pupil: findLandmark('LEFT_EYE_PUPIL'), + right: findLandmark('LEFT_EYE_RIGHT_CORNER'), + top: findLandmark('LEFT_EYE_TOP_BOUNDARY') + }, + right: { + bottom: findLandmark('RIGHT_EYE_BOTTOM_BOUNDARY'), + center: findLandmark('RIGHT_EYE'), + left: findLandmark('RIGHT_EYE_LEFT_CORNER'), + pupil: findLandmark('RIGHT_EYE_PUPIL'), + right: findLandmark('RIGHT_EYE_RIGHT_CORNER'), + top: findLandmark('RIGHT_EYE_TOP_BOUNDARY') + } + }, + forehead: findLandmark('FOREHEAD_GLABELLA'), + lips: { + bottom: findLandmark('LOWER_LIP'), + top: findLandmark('UPPER_LIP') + }, + mouth: { + center: findLandmark('MOUTH_CENTER'), + left: findLandmark('MOUTH_LEFT'), + right: findLandmark('MOUTH_RIGHT') + }, + nose: { + bottom: { + center: findLandmark('NOSE_BOTTOM_CENTER'), + left: findLandmark('NOSE_BOTTOM_LEFT'), + right: findLandmark('NOSE_BOTTOM_RIGHT') + }, + tip: findLandmark('NOSE_TIP'), + top: findLandmark('MIDPOINT_BETWEEN_EYES') + } + }, + + confidence: faceAnnotation.detectionConfidence * 100 + }; + + extend(formattedFaceAnnotation, Vision.convertToBoolean_(LIKELY, { + blurry: faceAnnotation.blurredLikelihood, + dark: faceAnnotation.underExposedLikelihood, + happy: faceAnnotation.joyLikelihood, + hat: faceAnnotation.headwearLikelihood, + mad: faceAnnotation.angerLikelihood, + sad: faceAnnotation.sorrowLikelihood, + surprised: faceAnnotation.surpriseLikelihood + })); + + return formattedFaceAnnotation; +}; + +/** + * Format a raw image properties annotation response from the API. + * + * @private + */ +Vision.formatImagePropertiesAnnotation_ = function(imageAnnotation, options) { + var formattedImageAnnotation = { + colors: imageAnnotation.dominantColors.colors + .map(function(colorObject) { + var red = colorObject.color.red; + var green = colorObject.color.green; + var blue = colorObject.color.blue; + + var hex = rgbHex(red, green, blue); + + if (!options.verbose) { + return hex; + } + + colorObject.hex = hex; + + colorObject.red = red; + colorObject.green = green; + colorObject.blue = blue; + delete colorObject.color; + + colorObject.coverage = colorObject.pixelFraction *= 100; + delete colorObject.pixelFraction; + + colorObject.score *= 100; + + return colorObject; + }) + }; + + return formattedImageAnnotation; +}; + +/** + * Format a raw SafeSearch annotation response from the API. + * + * @private + */ +Vision.formatSafeSearchAnnotation_ = function(ssAnnotation, options) { + if (!options.verbose) { + return Vision.convertToBoolean_(LIKELY, ssAnnotation); + } + + return ssAnnotation; +}; + +module.exports = Vision; diff --git a/packages/google-cloud-vision/system-test/data/index.yaml b/packages/google-cloud-vision/system-test/data/index.yaml new file mode 100644 index 00000000000..5a2d2b1a8bc --- /dev/null +++ b/packages/google-cloud-vision/system-test/data/index.yaml @@ -0,0 +1,23 @@ +indexes: + +- kind: Character + ancestor: yes + properties: + - name: appearances + +- kind: Character + ancestor: yes + properties: + - name: alive + +- kind: Character + ancestor: yes + properties: + - name: family + - name: appearances + +- kind: Character + ancestor: yes + properties: + - name: name + - name: family diff --git a/packages/google-cloud-vision/system-test/data/logo.jpg b/packages/google-cloud-vision/system-test/data/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f166dc65e619d25627308acde833a6cd3eed64bf GIT binary patch literal 6218 zcmb7IXH*m1vQ5Acsu871=p91u7{Edi5fG$TmEMB10MZmxI!FsmK`GLtg%Uan(z|pB zHFQGn{o%Xo-S^%1@6Gu$XU(j=XPucdKlatw)hyuF6J=Fp01yZO0Iv_=Y7+1WKukmg zCIS(I!C(>+Vp4J{3UV?sa{AkMAXJQZnVA^xLZK`ig4`@@Fm@=EM~W9FEFvy0&de<% zCoKvW6cZQy3j!n|At5Itr=y^t6J>?6ivGXt>L-Ab7~ldlCj_zq2q=Msl)$Us0O)m* z1cbo9_5P0$feCMbfCR+X(MPucz#BjU!W&=^5g{0Ko$)vO28f9AHmeBu&I2tfHqnq{|jVG~-L!5qb;zNXkc?8$zVbW$fskB|7ku{t#pKi)|WwcK1z&du}_?v*~-!h&u5AQA^Ly*Lrhz>D@-A%=1V z|Cjn3ngyBJTPtd#jL!Zy17W)OW<(v5<&!E^P-qk*v7wHW?LH+X;9gkFT*1Kr4p-oYl`CkXBR# zQr^0u6xNeuHxk87Wh0gb^XcAY@(aLcE`JRkMIn&FwK z7l&ia zZv5$FuHr7=b2tZK$JUO5VA#@4_Rfk&xP>6L#iz0jPv1lvPj^-0KdKC64!(;T?_>TQ zfd26FZ2a@vZ=vrS^xXuvZTGl;!syjFl#TxUFr^JeFc7!VTmjY!fgD9UN08X*p7xK_ zel>a#YkVlh(;q$(JV-k*p=m;=CM+j488~Nql2CKmQ-W1^X}^!y69orY!3qhpSrUfA zq6Hn&yc01E-|h1G)r@%Ytx27BOQ$B<3<-wa?E_`Fqx4}{G5U3xCqMkcA<1|fLbcun zNOV|(Ra?bQb(F1}i6l#uA|KfBRcl)BMAksL;MwE)9(iWLmyWZpw=u6VU24rd3pgI{ z;0*j9Pw=rZ-PB3ghPFW#jue>9;dvauxQMM#UyU`O0i}PrT#5+blhUH}lDolEcmH}a z{?#JIf4j`0Vs(+-GYA&twbI^|qgj#SMq_qZ{bcIzw(^^b@4B45^#UW;kyn74L`Z|e zx_x%K67o5(x>MG^UT6ND!fGMagmToPpTEs7_j?MJFY9Bl2Najfu0KTlSO^M!U^>zJ@Sk4tH}_5a*XLn!23(-{YBKnhm}J1UkvQKSe8>fJ5d< zjjCk-G-j>fvwRSWpyqj*D}a@}cnu=xLW{BBwZlFSgQQe$;bvc9gB)YD1y*D3xAUxY zSoX#}`>>fok(A@7zNV7z-k(3lUOG6Wq~WNZ{ftVr3c69}WQh83Ta94GWaqnsrQ<1+ z=y3Y6);0M3M%km@#JYrK&-VFwzeV#mh1nBou#w1)0nXjeN|eRSaONGNL`Vgb}7mxoii0;IcL&J6qBtAJSqUjdl^UJOnAP0WVq?{s`S zix~}KU{prau~Yv3)ii?nN>;7)S%8%Ia!7=HX-%^2LLooVpy!vqx@yuKn}~UXgXZ%p zEF=%8*T^(Mt6QKr)GMX>un{&eY}A{U8eId>^lnBrLC|olFSUBg=t=E|-c*)jb~&~p zFYsLVdFO&zqukkZ6ZGy$wu@V+fqRRxl|-b$vaPSy9sZOzOw8v+P7B5fHc#G!?i0Hl zW6h+HTH0y#jmNUvuRL_un$~$HMXFrH8%#gXEdlQprx+D0M8sE;M<&hCkN028HCY?k@MA#h;+TUd3HVDZp#7Smzn0HLvIew3*lBYu!p7Dy)5D$oNhMlRe=VN=oD-Z3ifMZMDC!;!%c^;sj;x*ivZoXOE! z9LX+XM~=$&8uJ{?C`wTkPlH&u=Hwt@_@VYkuB;rIpqw?TC*R!T!GmS^Fk9GMY8*;Li2LQQa6{Hs_EM$ewkKDF7Fo(A0(9v_?MoCR*Qj*`62 zhG~Y3O=GNZmbiYR3g5}R^p;Vl+6pKAkSoBUq-mGu-q^0e{vEmtW6n_Uoo^pnQjc%n zpIOlyHpCdNj-3hD5wx|=K3E+v?pR=?MSi2oJi9d2PkI3o?S0AFGtVmMY)pD6|HXu)m(l zL8M+P=z4NVXfd6?s0lle89PI0syLUK>iVlIy40VSY5O8v9D3(PWhoba$XN-;shS+O zT{xN4nF)TB=o9BvGHINEIg9NXRw&RO>rGz)eq9HHd0lI0)CIf(W(PcKR^pA1EkQF# zW>Bii#p%}W55cpNW7vek)@VS2D_miZxa;R7AMD)xe&rs0r!>^N0;xf>ZvigfTOb%} z*(d!rVz?@n^07InqmVG-8RjQ&=)6y2V9D~3f8y|hF$dCmaeA5T6}Ec?SXs3`Q|~sx zQFAzvUP1x1FWNQ2UX7I9k&7us`9y71Dqr%|~c zm9A$yv9rfew9Sei+XEq#PHpF`7@fp+HjPC=9n;=R2`vW@5_OkXy$&ka1#~p#DAKnh&YmXX04lXi$ z1yIh__&q+iXzgPb&ZUaALluK8hs$6OuUBT{giM3ACO~jE-@VXEwlOCA*8b!rb<=nl zT=F-&wF|RT!@NoIz@i3>CW!ek}xDktiu_+IL9KM7%m!k6+cT6W^Gg>@)E?R*`Mx0Z%p~t7k&=lBh&q#J$=@paytcKT7Jty~X zVtMnf^f|E^d+t%%yR702UFkZnKAicsjl^-eiUUPP+anGcEczszyhqvt>?8?}~i4LQ{mi&RPP(JWeQRbs&C z!QmMYOHf%AH-j3g#CW0ggPX*wg44q3(IftWX^%CgWN_`LD6XV2PkBDWufix+Q7b3m z(m|;}t}3^=8CQQF5Krq0oQAh2p`s_bP57jbrmg#Ccs--O+yym!T4}n*VkMoK7PFX| zwBl7c<^6+={Ermmym8%r?OEZ^feyR%2bZgp&Y>djwhksruGd>)I{tdQ%3U`#5#L$y zkA3PYTnT`fqMX>K8AhdcfNs!xSAb^`j*$6`wxan7vFe8Y$ltz59cFsB1@1hTDgSq^ zZw*VAAi9e7P~RjuRpk4xZ^y|pxet@PgZB9y;(}bl<>L;GR+_q4F6yDxpO@93PAoE; z6gT!6@?f&;(%zD9(nSN5=s!CiK9XmPXkuE9>@qR9lfE)e= zSr&~BZO#%1cMI)A{h+%Mn`)x!`p4y!9_87_blq~YNTyLWGHF$3jk-pVRQ|jHEg2O( z@-q!C5^vcJaj;~NCS0OPLl2?tu)e~>lYj8BcX4MFjG8TWxIzBxyXz;y&Sl>^-7d3G zJ+{+(+{o!Yr>e?jOpCpezMa(gbJw+q4R0mXVj=BTBUu(_<9^zc{(+h=DbY74Ar6Mt zQl4(&?laxKy4}69-8$La<$9TXQgWOb&+m8{p@lw5Q+D|M*ljmD;#aW-xA5ORo|beo zk-8!99^Oxd%E6EH$Sh!jJfVu44)8taQ_YYgo=3}N(Vrz3y$d=A+fk@5qpQ{Hp}>Wz zL>J1Z#Iam(X0Vh;whFhCgZ6G%<*SEg`hmHv$e6fn1_MDAeieiQ<1&X1QGv)-?TdlluB*gqjr~Fh)S*m^?GJzBR04pnaToH^ruW8d|{gWhD{MB zBLU_3{fUZfk^E5hvg;-OOJ9p`?b9_iLW}5_)XNi~*^(3rPt@EF3h8(2T@aFV9o3w@ zh=Q`YxDOlJ&#(Rx^Rl#jS;VBI!HdB+EsnIIq!|-k>wGDI)>0Vsgpm=yoZmPOE!M~% zOkq{lYoN)>UFXf*qceDFCOQ^%;O+3Vxk}Iu9N>DP345?H{(4tBL_oaKmOZ9H)0Qt` z>~-mZ5cx#&Qc+v9VxrEIv|zi+HGK+LA^XqC$e+=29wCB&iHP0FaJH)!tXM%Bv9|; zKyS)T{hk7e*JG=QNzWT16dgOA&P(=$CX z6qAef4cXS6`b^_?dwRFWbw$OH9e&@}7Zuro3{milPC2lWuGXzq5}IO;`7+d{o}Tkf zV9YTe-jLlp9b8kUfsF+F(~Pn>?~>YNqhpPJS}Z32Za=0o(M;=9JfdyuaFI#!y8`@N z_+xyqYdfXsEhMW%B7jZ(tX6uc(n{+eK9S6SV7>J!&ng-oHNX@QSS_IE`+nCb0Ke?q z(D~UbW%h{P?$ZzAwoYqCX8#`SbFRu!N$q6<==7Zucs1+|PWe$jZ>6mnYx~2QvQPW3 zFGdCHjrt;@)Jmx=%U+e&sy1hssY89Z73062XYSD`qtw7ML7W=^z`|>oInkzNXi{WW_gSu>CCjl;Kl13GgdG20$fN z0h8#8=Ue1$T~&9QLvVreB*jqgG-?@T#I9Ah{>z$nVmSgc5-F{Amu9yQ_FnP6Pvts8=FM$GN?`t4p*$I`e{un% z1z1!*n1r2n`cbWCZ* zfJjePd_oO4t+LTkxWj4SQ7a-QeNQ0KH-McrKwoarDN-ovf^c zw+a3U>Y~-f&+E2CtM=Ag2nhrR^3A1@y`YG>b>n}vynnb%8ULaFexL--|ECiC4^jC4 JxP({Z{{<7xsZjs` literal 0 HcmV?d00001 diff --git a/packages/google-cloud-vision/system-test/data/rushmore.jpg b/packages/google-cloud-vision/system-test/data/rushmore.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5bf03b345e97c01116aeb4d1907687b7af121db8 GIT binary patch literal 9171 zcmb8VXIN9s)<3-IMLGeghF&8|6%h@+w?L@UI|vFQ2#SU-O?oqk^e)n|p!7&HB7`C! zN)Zr5OayL1Oa2?rea`dY{q(N6uAPC*thIh?R-1i={F%H6uo>wY>H!oK0AK(PfV>2x z>W2Gy1AwV1AOipZJwQXj0Z@T63UB}vd;rbgIRF?@@c(aaNg?&`8cG0oF$3&sY)pRk7Ehte^*n;l~DcP{B#@n7ock4d+W}v5Z_xtLW*)10aYzSQ|eRh zApM<-|DCc;3Z~Ac11;1WQ49rJM6HM9K7gH`LXJX?3e=vGoq~#;f;<2~K`m$~{?gxV z06;}aO+f?D($O<8o&gv1vjG%T;Qy$oX{qUGsp)A$C@29cc4`h`8hK6;Hd;-D0>mv? zlrCB*Q;VzAQn6Xg{UUeo?Q!iar5O4pD-CgvvFkTMIMmRN!WQpGdpPM_;UTscqB zvZU@MuU6~OiroJAKRCUxs1ZFzJC69!z1n`JW5PT z&dAFzc!Dmetg5c5t!rxUc=_t}o1Ov8`@x~%kx!FT(=(rE=N7-OuC4#r*xcFO`)8kc zaCnLmwC;aEg3rG=PeD-A{2xkofRYl#NkvITLrFtPP5p=hv=J2>hcLB}ye22jMG*xA zM1xjQ)J=;k*itFlLM*dXyP2ELUD*mhF7Dc^vviwqHpW9GNJ1BxC0RBB8jt5Mj!PgA zJ$(?0waqCQPcQFNJRx^N!%i_p#m2?|2Um7Z?th?_SNsdErM2x}e0}}@MTq+^#O0NL zLH_w4%6UK=VE#+o%*@US8vl~%U$Q?X&;Jn_WJ1Bp#>U6P z2jk&^`RS|a`~CkW@*KcK_1AptpmQuZ!YwSwmy!H8db)jaW|H|zs@h|$1U@m|W7cERtKx4_6tJBk{=bj5(u-uc8 z_G?gb|zw)IkcR+9q{-(5ag1vXCH z-L{EOeDjO}d>xeepTs>>Eas;NMW}Eg1>&Vy33cFF z=a{lGza$TNoj`L6I*KGJ0RAG7Z_T%2v!JG+(jr&S)1rmLNNb=7L2FihzW3pj1GYvb z+H%oCPHEGu2Axz|msJ;UF~gILq)_cQv8>~jx|bhkYEQe~@md<9W4WA@VVzjSn~c;* zs;mN!G!qi1>suzq>1sx>drWgv*o4s)8*=aj|N8j7lF-gY%8U^Q8$pL--RPUBx>oLGC&xfUHy zDb6Dvhp}Tmjhlw(dwgoHZ94sNbuk8UZCRR%2%uM5(KO992Wbntylz7O4BMN>ToQ?B5nXxuEVrPbB>}l;3f}^~e1ouR3EZOZ$Rk%Xn)(m0`n}D#cpE+9|1MI$Z%)vgSxtw$3>RU$4O(_H z+B2Es2_j{=khV!vi5t2`((dKSsaX>K66KV0qDcm5lPSuu5qIij9M6;*1A3?|Em=)Q zDk+IWTGz zXT+KIh9o0%A+Oj)z(k^!tMsHaFUH|qWtmKrP4c({y``TYbp}&aqMD5F5Y3RLh)k&0 zB+R(r8MQUCjuRsKM2y>>vp(JCbzhxCm4B#K9hX%dn0Sm!pK{AdcPQza)uKP^8~BLY zXupAsR~mgh6OzF(VSAlEwk$P9BIz-DB1?OiTUQ!_oB=Zt*@88uP zV;^ozWt#6%PVMXO{2Y&U*`s_+_W(61vv@@i^-SX3qc2Pk=E#783tfLR^y7J#Aho-V z9$%jiWgHB-`5t|T%T1E}{HwpPl;$FKc&;;s{<6)kw{^9%GU{*qqSmy>6bAp0ZS^&+ z&2#3R!x?k;j1k}Aqo}s$3AwhfeVR!A+F#VhCr`c;sG7axa=aetH@Z5Q+Ic;rsD6Dk zFiwDD^#|lXw^uvJ>ld&V#7uD@Rh90Fw%ctzT(V#q85!x?vom!T#=VWyh6cM{g8}sQ zo7yfGnlo>RQACtFFCtW~`fb32zR9fWq;R?zXOU<~xJB9~&@J=N)wI;&wZwA1e6#W9 z{bp7=^EKM|)qRLO$vv$&LVyZ7)^IhqM~WSD1jSnY7W={DaZvPdPx=e0M$^qiI%f0d zF&6%$uc-cb&&kfRAR{3+W^iZm!P4NtWURAAWF>8ehR4AOs-~vTPTQb*XEO5Pl2YVY zr`7SCAP?UgGN9%x*QnN%P=Od9&$A;1sK?TL-`u=ndk`~1HBjkd z9FqS2)_~S%FFr+zu0sax_!I|}+XuN=I z{B~K-vKM^xwfZ6Sff*WpVZAprlvN0Xim^MYTRtA!nfhg$8R}*(0XgUP{pXi_TbH-t zO;g7UsKWZ;@4cbhS6E-^!k?B`AI7|R@f`X}dCLy^aUA!1rv1M4Bg`T`JU_`zJjyw? zqiAra;=yj^BK=Uw3E$_W3v54r{Mgu!9(LKJVSQK6p>W`LUYYK<)!XDUH$iyFUpEKa zOE|@0&abdeZBr%iDcJB3=i*TG;@hlrRkvFOrg8Uj`r)~3Xr9(Xy5Fkp(rUYPmXuf3?FnthxiquxTE8Uyv;S8R*vf)} z^0x0@DGYoW@~U$IOTwWX7Pgm;&c8fjE(;{}qFR&4KxwZ|SMI)*snX1+s;-RuPm=!t zp&j#w8Z%xm_soMP7O*dO<7&TdAFiLUy8MXwOa?TwzHQAM(V!~h3eC5C{<(@J4WP!A za3F)DS%H^FXa5amS~wWYdA!v}M>8jXtWFFOq?4bd13xk#;)I$~CWS!v5Tu(gx;Gh5 zuuh0$Qt_sPY?sFg;pbf1GncUL-%r!`vDuAZh^V2$QZj(p+$95%b5~K{O>qYe&go9~ z@4O4WhpO=-mDEAAH)p!KH|4H^Ho0V5a&&+9pXx&}_Gz40@1eSkp!;L`ww6j{AoC(> z)Vh>(ca>CAdhgvi$rDYm0aj!?y0Oc79c0gEO6X6ydomtx4iyvoOA_!g7 zuy75E$|z~-`Ly`oTm=^<1H1GDb6Gw#5ov}xQ7&~@dqf7J$v}e0L7odKdr&!_`&MpN zboGg^^LFtcNI4l8&*7L3Q{oS@`|7K1HFZD+@PY8}cFp(UCu}9gp7*+9@cPH_B{CpM zGCxk5gAyc3I*1BAC>hXN60lTB7)-9z3b$Tr>_JAoby9v6-(4??^XQ3rL@9g($U zz{>nk+x_v?Z{`Q*dFz{vzn#pQM%w3c?4u5{)vaIUmC@5lHepum_WxZ)ZSuCSzU^DRrUz>3Dyl%aNuR-i=b&P_+B%Vxt}vq05!Un zHbw@7UGuQ0UL&g=q!k&E$f;H~js9M^?CeGcn8`qmvy~AQ-zBuNdj7usWirqqqfZ9X z8y=u0g6}q<)+V-4LyRFe80CU}$)h_H^6fZ)n-Mk8td|ySs*iR|LanH8A6t-tw_ksHPVkd~i*Lc; zOPEBW7Jia+iSL|}cbpZ9|A;0NE|r=IdzBZezpf}dLh%>lmp}eOEn&|<2@v?ta45cR zbnL{Z@nFhpc?&g&9XpbQaHMVCHCd5sYvd0TBLh!ou=`|yvY4dOO9pu7pM6C#FJm*_ zS&zc^aio8`cf4DT>{$bcgbgZj;l`bh@(RcvhIFO8*OWwOAn{3@s)WMHUTzzJPV zlRg8+0BXsL4A7mxkC|_P+hkS+W!~pa-;@KbznG%roue^-N$PUt;=FQW9YT@>C8>fw zNZ(}lpqt?FI5vgu*q|D^(>ZvOPE5ek-Ce^npZ6H#0^`?NS`2iV9w>>YBr`zm)rB|W z2|G5`*n%dz?JSiG5#e>SzTTtXyJm*pNUl$D6+Ite4Sj{`*)HA%-G6!MC0s_-L*8Q$ zj2x!%@Cru|xb+*6BlFSlpONEusn^#8tuLId(&cbITTbHd2R$4`l#r2Ho?k!PUfYRU z9K+c#xY%5^n)*lXQhjrW!eAC7XVjm!)A_|C>%D6!3(+zI_1xa=pqZAS_y#w(CC{)I zQkTp1RzTtOo8?o)3&>@cgIa5vIXdN@9a}l6%IySfFI}DgPjssX>72BKeWy9`oBv_O zH0D{&H)Z(ZY_ky~QC3UVn2TY=-ZEH|S>*~?ZByUcGIcJ{lYvJkP@;-=+gpEQZ!ai* z(uoYjui@=LbBi@Z!zf>9C+nD$rysxxp=7`THADso1~?km;PB-Y5+{7G71HX{^5%2% z+H3P8RsF)j{&HhmvvMToH9YD%Ez=(Pm0v&!q-LUVJHOfP|FO9qBP7Mx_@EE&LDN|v#Bh0gTB z6kfGM5Uinx4m(=c^At(Ne^BcxunU#TkBiBG0IF{wM8kb7o#-3CQLcv_35Z7*D>0;P zG=c}+>_S9++OcRp%^;xl$Zl2%Q50;KHr4h%7H}#|ApgCKQa(eeZt@e=8A!R6EDB- zFiuX>$8t-T+Uj}1j;K)D>vnoaRB(7heC(=GX9O822CK&Z-Tm1rQmd-UjC}XRd+@}M zn481MOXor2qn zsk_TxVspKq3%f8YAdszbldo2yYCHQ+O_5vA!Yl$Y&ezUAv{RIS8wPFTvbO^^*yFQt z`~4yJ9Uivz74-5^wd=aG{~kW<2Byfsp=w^F(q^~m^>BN3uB(3(XHyH+wu&X<5_NbT zIFw$l9>tn{>9#$`9g)Nls-*2$b$9XiRPYBbd(K5zpQpWmh0JU;X*2Bx+t4sO-T5_I z-l3iaT7N~wWuB<1MBaIte0*PZj;3Ip94>kEkLm&&R~|FO(hw^U?NBz~Qo83sG!TrV zd^M4KcM(#{;+@mzKAfaM?KDuq<;O4d!d=E=|H&si>svXPBX|M)5%VX!{F>`XnB0v` zop$*C@B4gOvupkw+YNYkg+9JA>%w2JEyYqf3n0t((92u8nh#HFJp1X(Eh>P5k_LRE z2fn~$pa9r~<=Ma@FBFW=j4o{+?_DDNe`@?`qXrg&9}>_HP^J^u>3AUaK=MaEj12ry z5CXp<%tvZVE+fF>fg-g46p{XZS891TX{kx`9F)Xjcw;i@8yV0z9E`j7P@rW@5r_Md zfgeKsk+^pbu3L}LzIl*mOyuYFdUmdh3S7D@icdnZFZSOKKfBhg{J1;z!5B1)XMNEV zni9E!7bG#`?N@B&3@~fgSUK;JV1M9@L&alfBPrj6Omgarb@x0%|u3 zKm1Jwe4l$>d=tS6))zSU zQJy`~T&17)7_2!<3S%T*$tAUyWT4C5r*QEwu%kE~wjXJSI{XF7?l|g>Ei6_f+&UE; z3yX?t-SB|slYtBGI*F+NHKC_Qj4^p_L+UskUCn#Kk-afsKX(ALL7j_umKwhUR{mw! zds#B@O<2&yl4=GFT}(09_Rw@3W~95EaJ#q+JY)$#Q4udqUKT{%QOr<4=Mp%}W;3!!}vB3-U~xBeF8NMD5Z z;kZ!;zZYGOTM56TiF9P(jfwdsF!{LL1s`Mbi;ut>kzRa^@4)7vcE9yw2KrG)V(B4d zpyYg-XZpl^N+c`k!!T&3D%Bre2f0liM?0eL-l?5 z;cA}!8aP(GFqn$!zn$2x?%2Sh!=VeW+K4_6JHVr2&W5x8udxK}wbPSyicL`E_ zi$0=D*AmpSDmvk%M~?-U;h<lKUmR}GK8cXt*QO7G_@eaas%l9t7 zE_0!ox%Z~Y>cSJ>CEfRYtT7X2Lgm{d6OK+Mm}rsK#pg~X+u7rrWf#HI0}YT7EhN+D zy7)E$eup>nioe;_Ndd$@Qa2}l`)LMRvDXDw5vo_3!%|IRNJ!8^{@l}klCWP+2C(pB z7LM7gx8@zU2%Zrsl#i1qUU8q5=XTPHin43^QH&O`BbF=s4uAJOCp9jU$JD7lF7ws5 zY|xA^P9039yA1Y0>+{PoUdW~MrmD|sDssJkRg`ja(`Uu4O!cBY}EoQwH( z@3`lo6rDtk{m0i3mX;>T_*p8cE|@ttGNOcH-%UBI;AYyY2v&|?H66(&aK!?X4Ml;W z`C*%FeeLmAu$>;cK%@|o*U@+^C!Oek6S$Y!u=);h!T9ry7Td+=1K0GjKVx~CuPFL( zOvyu%w;}Y8$M0$Hj{L#yFSQ5TD2wZuUv z_4!CLU=#G%tma4mtY_rZQak5z&kC0|WIxO`t;*DSuKd<4wkeaKt8{173c)L%3K8q)4UhtBZMS`4wIXyax9GU2 z%dDLxp1(YkB&w%EV2nhFE(H_IU#Y8qwtFkK7MFgK?5&{Xk~Kuh-YDU@Sb>dtl<>iv z4De-+{B(44A!_hVwT)p3AB}|iPfTL;UW|<6Q7?ej$YXdyOFV4@px_P z+0FfR)0;43Gu!&ivkWpcn&@CL|9oHBdh}Q^-b&a|MH6nrUOlivs=FavU@X^Vu`kP@pDfgUP0s=8bJyol;MZb?-b)^lK*;C|aXDTFs2JJ})e({4yiKWlgLfB{p=`#d?l zIXXtBD{d8Zdo~G;Q|mCG+UQ|PvqWN$ zqfyU3lGg+_* zh4-zDw@G-%_q|$)Bl=-%D5}`yux3btjTU_8QF8bNrBc|0Ps>72^r3D{=z z;{7Jx-PWglBPmPkn}6hw>>hkBCdyyiqE*>!$TKXn=e@b-?#q?ZAeAaV|NKs?;fGHY zI<_L`MEw{gdTf|&eP^rKkIJ6G-i^12?z<7VZTLE?dKN7sMx-yRJI6%s9LiMPR^8YQ zvbgP&Hw4-3f}RWL&z!ntn0^Lx$09D_etonL;7o%>U@xOzO^209zqLRXvSCvmAyf4q z%to0P;cnixGdI5zsqDdl3bRjsZ;W1hzy{nVqN(k(AI;2XX0-@dP`Al<#&>P)z z_gd)8I-W9Sv&rpBt@(=SSQwCK@dhUr5@o*MdCk4XE~hW>2T;S29A<3~lIqmajX5R< z1kV?#n#a)X7DlxWFZBMgbP@BCc~*0NpslyCVkTl!3;T@)~Ewl}vZeNJl+eG_aYT~)_(2Akio z`&Rr-KS^2J^{B~!V9`>erE19@Ah~0p(4Y`#fYHWgILHe?pvm!f36@@U&!o?dgmE)c zttAbhMQa*`+?pxP;S0J``&xw%A1EVz>Oz3lGX>1x1tsCR7GdLXE_LK9yEK2yO}U&7 ze`)y~%eD#gOFnklZ0rF*ei}mOFr4`aV=;;g;M$_T;3Q| zR(h(t86lU5j-{C6&k49_FXDZ3Sk%o^VF~L3@fGxigg9cfb>-e-G(r~G`d0!(`|kx> zj80or$e4L0t!4M+oikaD+q-l%S;VFh5t`?((CRkcog2*tzHR~{iZO|gIvGa9n@5eR z2+wNbrv+yWQLC5yIIKuU1QV6FrjJD;P4l$$&;5|)M*vx)=aO0ShcS<)hVz$SYo_0! zzMg%S#l0`0CO)->y4{}o$!MA}#iO$4Po_KsE!fOdcdk#DvU~f$&hOocC%y`M%y)+V zOFKkgs#nhl%5@8)Il34=PpMaP<8@g`(Wk__VwDk6Y?gjMYuhe0h1Y0CG&i*rW_!li zlnJWH&ZPz~*t)$6wqS52F}mXa>_lv`@p)VC--)!@tdz47oApI~FVW?ZAj;Z$wn99T z6&)ZRkx!b~8~a%b*J;g$PYsd;?<0b3Axn#4!8_!k7Pics^@X8W6GbVOh|!Ol8eMo}#x zE@v(cd*MHGjIGsw$&Ir#c?yH5wq&(TZGB@g3b|eKy)|h>GCs0>>!Eb1((8e*if*Nt zyD*q8_1N9M?8|mpIMwDtH-dp+Wj$WqlE;@htQ_aFu!5yY=z?_)CM&1AoGp=TIQ}ef zj{)_I#Rs3h=e|Z4GZ2iGP#938olua7;-t_FhT7<#hve6FG6L24b6~%wj|tAdMWp^L z?m*jnDdEqENS9Ot`1=ocDUpI)p=|VpFsVIv`GpuGmTjx!+yapzoX)k~7uWh(F~v2O pxZ7L3If)V00;`-XC?v~s;z-;X^xBKtuPn~CH9YngHZ~^D{y!^f4PXEO literal 0 HcmV?d00001 diff --git a/packages/google-cloud-vision/system-test/data/text.png b/packages/google-cloud-vision/system-test/data/text.png new file mode 100644 index 0000000000000000000000000000000000000000..134a0c522247a43bc9822ea9b7d567fa6f47dbe3 GIT binary patch literal 52499 zcmZ^~18^^4vo{#qwr$(ViS3-&$%$>-wr%Icwr%?#+uZZs`|bDLt=*lfnd<58U+bxQ zs%Ls8LQ!4<9tH;n2nYyXN>WT22nhJ`AFU4s@$X9D$&LyH1XF4$Dyk?YDoUj2XlG_= zZ3+Y=8Ih6-sj6a$G1~j0=UD(wk~8Op2}RT$N+JoV1Px7|j0FNLrYZ&@VL(?N?$1(K zLGhoF^zbz^{c_!Tf4`_;L#`|G8k!<0w&V%P7dF7cSc z#1Y6pP$?E*=D46F5Ft)0K{N#dlu=ujlSH0=QbRQfI}f2Gz%(t@v?VZo*R;jjL`gRU zYRU`*29rfE3*yfgdV;;4P1cMM64(fyH+fjp1!Zb3&yp48C@?{Bc1By)PGB1J>Q|Zc z*qV8lm}%{r7;K(rDh{TgS4tGqeg4B2`&0ACHowK+JeN-f>mxd+2E*UG1sPh3aNIHoPT(0Apy~9SyH?ze~^E1<>At_!2<{2UyhO*$c5qLW;zL-uHVd!b$h5*Q2Ti{H`Zl3M$&;vH&gX z_pry-f%Mr!a0eSQfa(G}+~ZFVCW1m#BE~5OvlQxxXEp(6CN>{~h4B~3x1d6h4t$M= znh4_%DpBNC1-}Zy$U>@c&@@C%0LZAR`!cYmV7+5m?&5X(1$^@G3FvUrSUKPnc z!egMdMrDn{0jV8b(?>AWV!&v4V-Qw<hzlRO8hASl94Z5PvVYh1m!J4To7oVZl7wO#3Y+e zHi6_4fiOfwlGYa47UJ%|Cfp^AM} zOPr2SEg2!HJ~3jvpwbbQI2xif-7m3qS#GhjV!r&Y66Fd{RgFJz>`@&V8$#VeKGI)Q zzmiyzjHDb&R;1Kq{z`8rdy>l~ucWvp=`rL`>Js~iyoWxf!zqa?jEIKPH>sEYK1rV9 z&w$p-tS+&Rx9+gcxHMd^Y9w`Z=jP{T)CJIli?r?=ORuQyl> zECuJp^j1_=a#oX7q*Jn1?<#uLiYPcLNv>>`tB^a3U=d%J^oVebz1KUInJ}igr-`M( zOF>CFq(M|OR3lwRT3)XFQ1eoyTv}T8UIP2mxy(==Q?ae}~_>6GHaOHpx zpCgpxog;aDBVL~nqtvMMcOKq&ZEYppylb>=7tG4YZh*6bwcT8r*@bnQ!-fr?sVECP z9X<1JMmNhUa~$)o*^bTk^uP$o^nw2{sSLM_;H1bT!X&4CqHS3IraUMj=+fL}rKzvZpVeB_PHL!Gi8;%1C6wgjWqYMO)EYNp0)4=(j?y>8}a-@c35Tojpl%1#-!AyY(FP_Vv{C6uSR*C3WF; zkNQ}9tA9AZ8~J?sw7%^aS2S={L#(vrd+i+# zcSOBKZ3YS<(OP)TB^i9}MepgS?xlh;R_NXH4Y8037V{=!bdWsSpMEgC)YBWr4Zsil z+Sf&1KyE;WMsSjFnxr}gE_m=zQ8VzcSdPuyO*zU)dvzMk) zz>;^Crc=O^a+Kc4Wy`!w)JfnQdDv6C(<^%|T`KjKgqP+|=1IZGSjm=`jFS-@PCG2S zXRKA#&**H_H=v`!2xrA(aW#vE{R)9(EtoRRxYD{WA3sCJ4(~yQH{mtcF!!5^7~@W$ z&6=FO(lTxSvsk&$chi-pZmjO4?sjZ-Qa4MedDvpM``g0ibEDQ}<05he9{m+GlABupek@55VdgJz|srng&9+Im8fx2XTg0~#dJiLSL>SXdMA2oO7GJ(N1DykapSSaanL4cYwNYaCDr6+vUKnbO3iN@ z%PRn(hv3dGpsDV!d|j=PpsnBYHvp0Z!TD$CvtmF0zJDP|AMp+`;zIPCkzA}J)$#SvB%+u+N*NrL2OZKJBgjXIWa@DYC3m;lh{ovqsCBR)BSnd+vemalJ@*W^Zzr)$fNz^)dUs%Sh9> z&2Z??(PR0G#cosyW2hdCo_s9&5Alb@G;NRu<&X1MlR4iX@6*4xPfJ;itL6Ds%zrPsV-`V-7a`{)P?m6Jh@K5UmJM2EYiB;RxqY6&Wf5`LlJ%YZozT z0BLK>91u>(Hn(Kf{1V2ecs^WO(q;#`#Ru|6mzR^f&d7X^^z=Rg2Fk&1%Ju#YTw1=$ zkY2h|#!Yg|_zvri06a49G2Z^KafP;*)N%p>!XW?82`r^db_)aq0%obI>8vRy%VTV3 z!(eD)XJpFYZe#yX8wiNco#!8EW9n>3%`;EPx4Joq>&ki9`T~h=_>K(Zq~LSxo$Y!T;UylUO)A+w(9oy1BVAxUn+WIhr#v zb8~YuGO;kSu+ab0pm*}HbvAUTw{;@@ZzKP=9WhfUV@FGSXG=RW)H|)Ri`fqo9|1rj+ zXz6ZhttDn@V`}U4FEjyWE*8H3a`XR^{GUMo2U7F@Ai3Gu{wMN(Nd5=%Kaub#I9i(i zE7E^TA;8SX`2XVlFMU47|J3P!)a}0)<-fT9Rz(1YkMV!6umH?O*XSY;kPwiRn6Rol z@MR8UcJlIa+s$*yODvSM5;7Wiu_h9_aQ%xO3j41jiWM?(xg{~<4)*gh=4S%08*p^= zlFG*&UTgjDSts)yQ%y`k=5zD=ya(fq3^!ZuuWYYtpWSh6&*97`VpuH%6Ylt9p;XZS z5VwTW0b4&7mrY~l|A+ZcdL+b=Z;nnp89)cwh&Sd)G#T&%f?xvr?iYa6ME3u{W6wP} zii{oKYyy=z^w?Q;a4BTpSf$@?j(laskG4`@_+k3FGy+B4-&i5-_D0QUTr=YDruz7p zlJ$b(A1AzLgwR3uSR$00=~Eya`yrDcC~6zha*Jqu`MF2S53Hz%KfNnv|J-OLbw5~f z>suy`fPHqg82L~IBDYMx(pcXA?HPF!$_KJDG+0Ah3h_c8drR}bLEU=5qD=t&q`;wi z(o~|t3I6=aeW~M7M+t*jbg)o4JaSpT0Hm#aD^sBN zNB`w2k6W!lRGAP-AKY!cN6KW$pHbVdSlXrF(x*nXn`h%>qo0Ac>IYPbBcx8LCU$jKP~0#rC?nwe0yC<8v= z?DG&A&z)+J+h}ne7>DMajp%kY_PkSBcQ(hGz=tqddyIYXiFhE`99(KUgf>e3Z&>Ut zK!E?AHOBdj*60$d4+6}ZD~!5gu-kL9 z?8g^HpU$p73|vDXC?R*`x8yc{Ct`Xpb!h9c61B@Z*2z?mtDKm4RoToN>@)E6`M+}Q z7`Q^EM!}BSl(`Gzex!(6tolCWZtbAla1DMYxKOQ0XR}sd3w(;u@|L!x#)Jqfu6;F} z)xKEg;~`u|y4O$Yr|G4hImK#s>DD9Y<}!slUZz(LH8PM1J4^#pXD2!QdK22PN- zp6kfrD=w*Wfa6Ko*>1*LzqAJCjREHMVH;)uJZuFP{?&VRsB#X2FOjIiTGarx#&pl` zh{I!F)x^pB=98&d)K)W0sXNx2C*ksRuMSTSYX(mXkA~U5mucmtWg1p+^Dk4it_pr> zjZUxDNGmmtNq0tLfF`AReJ%WfzQ0H=P~1n$G(2m61B{D? z{AB_rgJ6r^={yDJ*0Zpw#Wy~i?6Db>Ac&TZtGff2g^(duhp})vZ!ZrYb0?3p5XQ#1 z2DnF&6AzLeUW=TsW|WS(Q<$6W>Bo%Di7!9 ze%k?4y|%Bri?V5TC^_)HAFi5CiCV4>S1}QsMIPo(uI{hc2QHuwFE2;6bP4}1_u0UD?Xs@h{_Jx`HG;2F?m`?a zYe67R$0^BCWt72v-G_npPK@B?s`-*-x__-saL;tVR9;u$-OB)`ew&ve)gYwoXdT+a za2mE9PsgRmeDQ3u(>NmKO)_CAeKkUrWd2h7OG5;oo^EuF;rv|8<$;DM ztjGmOkG3K{j@j6)UlySAvAcy0qDN00@15F#itx*OFR2nMFR?8?;szjneM>q;0hHY# z>iha#KQNbQ?E{JyEDE6!hMPwXi%=h@jS1v`MpeGYD`j=z}d@$5J5%ah^D>f|8dPI-9MCWod2KU#+&bB@+H zp*+(~%-!4Dd*|eU{YXDSk!+zbvzE;|`F$e7uKB%2cCy0g2=_i5-m5a+5I>k+(|54# zX4-;eMvg!sloqlxMh&bnlsmnY`lTJa5%UOtV7?1lY=F%EokL0iGGE%wv?jf04Hf}+ z?Prrdh*Y1FzPBCjG2=~Q4aDY3saz(ir}w`NdeygQLm)uRHKNCB+f`klMT}A*EaPe{ zACs;M0ajf#?5%1gtR;Mucxc=M%)#vvjK#qofj4=c0@y0i<|6*COK3TZTe7mp^YBC-nIf*5?E~ zD6Git^;^NOL8R~JxJIT*k4T9FluSiBDU*gF9&?o)T`#Da7>yQ`))zyz?s-YSJwb3_jn*xH51|gq^Uy%c^ z;N*tFjmieizqoQ5OthtqVa2aPQCIvW%SqCyG#Oe|SqMu|_Iro`(z`5q(DHqA%F@uHAxFJo^v71m(he0_7g~i0q^%F|H`F!(-c$R zGQa4m*Jh-F_reT$n_LZx+NrJX=ca*;1;pH;Bgb)Sc|6g`V%IdAOw{tOwg#t)ot^kM zy|#+T|9fnfz8#1Q$-Qj_HWp~N_h|#_$)KYni~qX)8_DD!+|Sb9g{dhsaz|s&zF!-ac7W%V$8-3diR@Ya&WOg7Rn7E3pK!zu9uf60JF;gfhZd(6Pj=9{=4}U^ya|IY3z&*Y`R_I@FtWKRvFj^FSYsm z1INUzuDhRP+SVKlWRr=S%i2RnA`|x3i?y%;m_!xE;@-ZsMcQpnzitkan?PvD=`PMj zGYH_NPZt}}Ha(Lx1NZR{oG-7sf3M+_`%u#HzJYpTeU13cdAV_9bBEml4>)d4Ms6qK zop|;V_)6#lq`N9}Z%0+78T#!Z12zVYo<8pxe8!ooc@n>?nUftQ6fV~l0j(GAar zvp?Xl-w*f-hxH|P>S}_`(p=xP5mewTN1+O8CB=|U7>QY&z+&?p1EZNX%-ut? z&rhWyx+~UaymdBJJ*=>>yM z*60P=h$`WSF|S;P9r3F#OdbJ_4pyeJnrF`U3u<&2a`RD2%T{Vn;18o&^zd9e`d3u{ z>2e&c$SQ)Wh-4$2&0m@p{MV zAP9>ES|6MU9&*0E#WQoKQ3v5|%MixN0;VL7RZd4Q^9q$e=Na!$&^?tweENB)BYlvD zyzXnj8%IqVc%y&TJIT1KZ$#KrRx{gx^fo?A4T}72JGqfO*8Bsp`bOnz;CyTcLE1|p zPoD|;zoI=0_|pkmoP=NJn~n{INV6ei`GZ+z$Um3OTh3%E2X(8L)J3wR9kp7x^8>q!x!_lrP(!x0N^lM6aqrC|nL!9saik%W_PUhJYLprr#t z<2=z}EygMDYk@VNP>oqPf8 zei(k*R|4}Snqao3EdB%`TtEWI%yQ?vJyTwMk<%tXKpFFdI=zIYB>O4i6dQ71Yqro} z?5*Vua;KYW;qV76xI3vk)g}I#8JO4NxLF|!W_4o>r(Jt7R~_beE_0^wNc3ONtjbHm z9<+AH|LnXkSg?NzOV+n%fYq;oW6Z-Fh~EJ>^mF${j?@MH1D%-L0cH+AJ30-jkiLJ6 zJ?E(T(q&K07Xgh&zMw5wDK-wx!^RaLEr-n3!%{+{BiKgNTxitfU+(*oK2Z<0{5m}2 zVMytYTn031RbYC*Re5{ebv_n_gXf-Prf;3)vE5f-tKtBYH1qSvK%4mYl z6AU&bc1^GD(>geqJNBDq7AKxiebEiQ`O|julPSmFahn&Nc@MACM{g~FC_V14e69xi z^>-VM0k0BesHl_qqZuAs-t4a&AUd@H38yP@f)#LtGx~&@vUXq)#zC_v_SS)iZT`z^>QlO@C!6@m z7jPqqrY?rutFyxTo=Api4d@T!g-Zc#!7mGEsRIb~PJ?l7lZZ9t%~RU3KF0boZ3IcE zCuo9z7M>!#E{L3Qn&F00l10!34i!S5Oz=1Yky#9TUCOMrQ}H3|1JFe=ABWx!X5*Zo z&rT8vzz+~^2P$?({8=*MHbWeZvAlbvmBzI)63>BGDheCHXFkbPA4F1(XxYLJ&OrJ) znPuIAUbn@N`RMX!PAvW9Sc?v}Bi^Ljc?~*c(6aR9o$gU30Rvz*GB}`|eIk|mXLbKa z_tf3)IPMlN*vzI@L>g|Jo$AeHxT;fqR zcLuDir^ayrv0-v$?O6Kgj&3u4wh3hy-&g0axt_%e(h*PN3U3p z*;8Hg5u!EWu%ksmsPPKyu5Q%KlH1t4O+25VJL%4U9vBK;#VLI|%>QK1pNgvjorH57 z2WJ6E$^^hqD%R^!{ixfhzfV*06rL{lm} z5QTse)kcEq0Ig(A)!tmJA6t}{OW`Qy=c{}fqYA`XwxN~nhSUWQ*h2ygD! zi8OwGWalMlDpp~sOdCAQH1hy?9G0Y+u@Ynn4LAJi`(>|{9^Qy;vainu!g>r0#)QA2 znaYqBQw0OrtZ*gK5{S!KDB1ab~VJOdUks#w|&7UL>6 zIXJG6Jo*6SCra^=m`z^K=(y$5Ibq)~YN|v)+2FRASnfbKVacS>cRq4Q=2dp7hSp*f zx0$~gc;hFl^|jAAIq)}6JuHEqgMpCJ$EsI4%gdNI$tBN6$U!qkL{QL17yetj@#cH; zFg)54YbOq7YSMJS8k2TFfGZTWzW@qlY6yOWLU}dGd&f~$X^q)f+sK^?%Imont~an{ zRMPf49L_C3U!5n@z<)qCQ7Px#m8*R4h8`aOVKq$GLDD=xgPaAAwTg_6WR7z{Nl-zk zEs+0#Uy7`x7akI67Do-QbU(fJeX+xyq5sHyO1rwweq`qd&KV=yUfb4h4{)NN;R=H(M%lcdma`7WtaV?sNM-APg-m zb}q5+dxpP*@AJGpattSOGrUBssDT8pnXwnmf@s?@A;vdk4O z4R$2F!kXa2&BFrllO8xEa~?&io)s+TvK=P-O78FDRJrFo7yiniJl3gWV*YN%;!D3yPt~!UzU?V3lZM5Nw)&yXyI&e><==XOa47i@u_fKld+ zUvRW-Bm1ijG|zsKIXkGoR{VK89q`_&?B3)y+r?BUsBLuyjA&Z2QzWX^_8!sLM&BA9 ze3$EB?Lw3mGUda>aiVVc^xkOyU=m0Mux=4MdCH}Mg%q-bOk^`{An$*jO8B+kdYT-D z?H4@b%T~jpGdb{ZgE3}7UOYgg!h7_Lu(;Kf} zUsfDrJm4_+`)GMMJgSTKnL64tsiO1zm3{265_%5OuNRR({T^p^HYO|;U(|1<+s5N{ z_~BR>)4<5(`Fpqk`c7gE7SHNn077Z>=Fg9YF-H%za1}4{mM4`YGz2UDi0dfBblc77 zskm{vpm!|ib@J#e8X2+iYjQ>2u zL!9C5jlru^a=S}UYIyHx<%5Shgn5E4_LNMnDWz}*U2;-BSKD`kSld5R z8tYLgT#bLZ(R8(4g*4uNh9%z%TX75j5HhBQU`n#RtK6;CV|E$tn0#;4HEQ{0wBw|s z_H5PyzgvJjtd7bIZYI$f^>I5w0mmq}s$qfFv^s^aPVU{$U6}62L86Tq^n~Nw?Vi54 z&G^uTo#1yIg$=reI$*hxP=YRdC28?@sbl1t9#c4*;~K7Fv|FA84` zy1mzC#l*<~zwhiWJn2oWz+s7%;6u~-8|k9gtF;jN@_mnnPEnG6v_il)rAV;`q95ekiTvT<5yL! zC3?R}55l$C8-=o2gnb&`z2U|?0e)~N=j+Fa$)Qqo8_^!4qD>`3SfZzw?6aLZQTSaP z499kG8{G-*=(a&U{oV_7iO3u2_9i zX?xLxA&e#md(GH8F=-w4_0%^g1@w?N*r4`JCwN-(ehWGepCO)Qu?^csRCcSD~Bfb|QJ@PUcO8q>7{BF`ocFNo`xXm~kp1$#c=!X7xW3P8OO zB)V?s-4R3GL*IT}%)aX3X{)xGwiKv6G(lwCqNGs;%PFaKE8fxv%@yR&`x>%v!g+=( zr&4-vfnv|nM-A8xdpK%%wj8A$ieE??XMbS{!LUF`>fa4-&ijg|cn^7_>z0Zbo(l~{1axCnTTHSuTaw3h* z`rs6w_ClHdaEF0^G&a%~N9QT-36H^+7YCnb-?B|`bm<$O!rAruxp{CAnxdP(^e7lT zar)n65urX&FKXEenJnJOZYHu(*^F}ioX>>?8BAl_t@9?s^roSDqNax_+qkDJM;<%l zf3yG4!1k7jmF``yg%Qc!{_t|`vP3XKtHx;7mkW!bS~}E9?x%l zQSMYU=au`Q0R0zL6``j{_!o{7>jZO4me+4??!oVZ((CsPtmjRY6No{Z$zgGG+Z4DM zb;y_=RlW9`1@vs#pJqxmAIFpEhA0TnHqzO>+|^Wc2J>?v`Ng$sJNI^0-ecFve~TsJ z5mBk47$_C!P4Ik_CEmTIjT(@Ab#9$Ku;hlx`+nxvl6{N$1tcglqa84T4^>_82HT^U zV*?Ov@k_PRGO6AKx215z{1V&thd+h;tahv^7YkPb2JRKPE9j{fFj9p{kgaAF` zJOuJNgON*tX+?p6F+gpNHq}_=DWj4BYX=C3Oy8Z7|zU_{(<*r_Sv1$n$*}$nQ=i zWnUqhIX&2fd%0L;ivm1=G{FIEvyk(~M;*Ik5c2Ccw`(getg!I{-od2W?Uj~u!`PZI z9<~E5mr8~g0=A$mUPE9DZI7*VM`qI4)LqGPzAgIU*EssVO=1MA{yu062kiQ;{U6^- znwT5rQkaKZ=uu@|T+xG`;q=N|0f$QRaRsZ$_-@I3xl}nGzrKKB#0)2P7LUUZY8^K&Y>i0Y)^Z%~N4dCR;avmwOv%gAR(QKS@qWnWoav}!Hfxmb zSm4=WHeRc_$%ahz2t0}gbY4OPI9UDk;M3H|y|Ut#LTTySR6p+T9e9Pi6hw#zO*2!= zo8lO~t1++X7!sDq9! z-x!}fXrw;TtBKCz{0Q-PdF2M??Dt9)%E@Io+;Oqj?0BQDY_b-zKAm?zwML<&ix_9{ zYe5x_cw$ISv3wZ_Y^BPJX@Y_tKHO3h*Hjyndui1MMk=ot;}-pNTDeO_L2RY9@6(}f zzLmJjHlMw&RkAgK1UdeOd2$@SIFv?y zesI}^a+%F+h@4Z6(I}ciu@Zl0pkGj&N0fiz%+Sm>0T-?Ho)5q{!5e!Sd0{4kzggSq zi71@>kpsdg_9ODVI4|cl7YcSb{j{o%L?ETkjYai^4-&M9*W&3A-5lbkJLFYptb8H3 zO$N9GNR7V~OeZ$PzKc`>G1lAt1|>3m60@HKm}ZXztZgcvdSzba4Z0obKzs8hXoKQ9 zPNQ^wRC?w6-8Uq+7wOLRLi44$8d~WIzP&+w{PE|d+VgrT-pw3c!OKDYZOth0X}!QY zY{O|?iQ4D^*m`#uu7vXwsrSshis(+L>KZaRBrXx9+RYt4=LN1g<8(_2=5^@O-Dd|x zh%n$IxVQ0rX0qb7;>ocG9*w`r;spo$Es)U-GC&N3X|37De2e^s04T$={7OP1XM=>S`pEzs}3$6s4wM+59vc;|eXoZLiQXAd3_N{6;UG9ig>iUSQw zN@;DnT06ipplG?ZN*Hk?tZDX(Xw_O5bwYN-W-}!FdctX@FCQ*Om&2#D}xMr$M8mO1GI(#ac+ z*lAXc$cTMp(#JH?-t-#M{=rZ<1?1v&YJ2HldW|au_TY|92=Uw-8MGz^+;Dbg+nhD% zJ2Yy-EH)Y1^W;;`#QR#n1-Sx2j5!+ha-_9iv7l%;qvW;E3wv%0CH~n1%BidSu6JqocVTKwmheDRWZ{nDiV8%&Dut7}7{%Rev9@1c5F?Vtc!&f`nnDsZ(9U zo3vZS?|UTw6n9)6xC2XlRSa>NRo1H!VtMcA*wMHK;vA@%&xipBheEGpx;vW z;HEv(T`QDEnGFV<=M(7-ZE}?^oojwhimuQ*lvCK9do;2qHnyTMUe)zb0+ivAj|UX-jcsp?tM)E%~ZKeDWF)kuL%!25OACk%Cpw zT2I!R!V>t%8JnCP?`K5i>4nEQ)FmlcUsNQ}Mkc}+wZ3SHpF>W|7l>?OyzJr5X zeS-BR1gMl+HXeESc|Z7+VWNg}@kJk|kM10JvgC|Bsf>y1Sf=e=UKj~*Dl8r}>s8IR zbxfb5bruoMhtbYXayJz(AdoXlB8S#m`jU&7_Q-L9Z5};-U{p;=`Zvk z5m*oHZX~g`@E`|hAkLRO6l7XyA422`LsBN`TrJTHeukTKSc~pq=n*4%Nw3f|5|1R9 zxKePmvp6i8T@*#{@L0JpWGuSx?XMV;jr9ula1q$Hobw=>c|BKY4Z?+%l}er=+&neG zsevXc2_82ZMLXs^{&FZNH6FoTCIj)_x0jT6hXnu%f=jb$u;$nqby!nHbxpKdRZs}0 z$49jhXNdF5;I2f~2~6FSLbHdc&BzdYJt`L)wH*7x9`wNw+Thv{Tm5IBG7bH~HqEF? z3=|*y!vkG@cDj?%!AuC18z-nVAlFnN)A2Cc()cqrxjnXFj~}2lXkQm`K6m&P&XV5f zcn0zCLhI>|i|Ju#4uYUE6Zi!Oqz{x4D%&}arPlPDS_>VaX_nzEp478PZbiZ8gqwej zJs_2b6@yLYNhz*4c&ddl5p*Q+J2Ns6_d(rT3N-)jQ0cfQ36PyAQhw-$>;Xe}gx6)W zZAB$8J$^SwNg%XmGUs67L)5c|$)4CWl(lw_?JYjKfmT#7ndH5Bd6^1ybk;MMeMK6b z5}Ue7jBq#JOPQrUPh@P12c`(%f!jQnwa&wYp0XI)G|{pAMEicSt&S~Fu&mJ)mEz)& z4l8T8f~Sd@FEFt>QU@8yYY(yeTsprk6NMRA$5Y-2PcNDyWz!+~dG6xxvLPNve7r7h*;;$-k8Cb)f!~XK z1q>+H-ihyJ-!*kvLMF3|J;O{)H@#sj$#rph?DcbCi^vHBaiD@k9N$af)o+HpzL)8G zR0S)_HutRDh@9KC&g5UzPj<63j`%G0R*-*Vj9>RsRSLx7zrf z)(=hZ_9?nI8che)GrWdu1-E80V6Rl{t44UizF(nHP5NqIVUj?zY7D1 z_cg4C(iaZSRp$U6xEjca2)CAgpnGn>pN>!6!3`Ywib3d56gMhPWIPA%Eicr;xjUTc z+WVb*-;K9SDY5>7dhWl1=8*K3;S9^zG^wWXWPXlvJ-I#43Y2XYw4-o|Ko$1%N2#r@ zE|>#%R9+!xFRiQcHvOGhoO9}w6AH;v(wEl5qYjF7Gsa%^e#RgBc_}D_t9(x<{hj(Z zVp^oHAk8(k!fr7*tc3{2GZ@m43JZ@1Y;7A;m&>n%W zMJcS|LizDK1KR3oa+$f(!q#4^W0<%T~J8a^i z)f>U=0NMe*ZITJt84ko8YeRk9d-MqYYNqABUChF%Kv>X*7dTW0HAM2tHE$UG+|xl&YglNQqV*OB zH-P)v(ncb-%Q}pAa8DvX-LtLeW{Z*dLAM)M0pcpx!3Hy9?G5LbtWCi6T1WC zj29bT%*Y30lO}4X&@8eOQ#$mAg0fAbi8b<$5v8EXzC$WP8}N<&xZ$h)tWbMkzae@% zv{~Pga7G^QxLBcJRu8JF#y@=pPoVjzxa5UYDL zDuKIEvh&vKsM9yT)|%F26X2b9d_x`BpYFU@UzxC%aX@m+;Qks^+rHngg{NqAV@2di zCTkuyPZM*c!kYhjTfxp!8%K)Hhss32gGi!;J0j4Fq>*SLrYtOV;sj@UsPfFWe+gx? z_>$IHvV>`#+Ro!v4Mu_hN940ZZ&;ybPwt7_O28kU+qS`Z(Jk&@rs9+SgU~tg{?Yqdx$QS68F)TLfFrfor31XQHT9n+{ z?}Xl-U&D2K2+?rZ@G`KgtTUFnU?ao?LTi$n-jw-XSzn(!v|4dLeWd6HjfFX*iQsbkufbR?vwWokK+H{SKthNclSNS$N$ zeYW)_FI_|RYELdRYx{RfERC{Aq6~2cmbX!kWT>&@a2;B*SL`Rz`<6F!8|pLrF`{W- z^*D_Q#qYR#c{ctP@jSa@dLBl0W9zW~*(HGwIm>OP=k_6u_c$ah!4LhFU|3YM*bt}x z2o!-La|`DAp~FDX5R?E{;3LO(iXOKgd}MGfAb4v?Sh4l1I(I^wI3dIbqmNXh9-8Y# z%pJgu=<AeU&41Nb);el88e&G!EF^jn|u>zyBS48 z6!h@pmbM?Xl<{zKGhX<0FT1>m41_&+k)mJFb?o&LxTj(W+~X*qTmMe13-Y8oZgXC0 z>+kHy*6jp@XcZ0#N60hCr@RITV z`!l6c)rsi^pK2L z=_`(Y?Y--W&qb{@|GnDgpdqxGr2m4_lyseL| zq?;Xch3s&tm@qTj;q@2;{n4W#QBJ=?I4A1A_w-y(c4z9h&=zj>13V#(2LxQ5PHT*K z5x0Ek=b+MHp!6L|pa-@k`_y>DNcOy`qWlu}ZKZ^2Xg6S|L$3~hXS-U1io6Ec+p0V) z5)k{4j&goq_V>UdRAD-#gZ}WXZ-jK~D`PbC?!AY%W{ zOawU1RuCex>;3vQx@ibU_nh?8;+Ep{1wFiPXE|Euh$);#yT`kJz{G`a-!mXE&Np!s zN4WwkXr?cP?Xj>sNcU1-Ge>}5uPg9XEN{*eFf@r;N#OfI?M8qnk7N@=msqJpo3k(e zDS0>i^Ov7+=8nb7_T%}O2>;M4a^rm3{(YH&JF+ZR>V2p?*rAhn_d{U6kBU;$4UpO* z)5d;T|E;Ffv(s|wd(3~@^}%#NZ^1|nF&c;aRVJ#85Xh&B>8&QtDWE~%J6IIYk6+c* zDsdebFLuM)LgH?<9XWD%T`9z}s1bX)@V{LX~e7ujRzA51}a>5$8G{~834JEr*5hE}eBotcj zvOgGamJ>FOq{&lcURhFA481ltb1I!kSAm+ZMTu43wP{Q;J}Ntrsf!JmrCf!@RC3u2 z1pO5eV<~gbnq-Gy`7^}OtaY3NJ(G2+>rL+9e%c-B&TFC20-O8h&|MGG(RoN{ya1Eu ztrp4LAi_nT|Mut6+~oH+=7Z#(=(~D|`e{+wMK}EefvNvb^CLsLNtPh4U6NI7T7+IR z{Fr0hhwh9ko`NxcF9$&VICV_&HeZX@daXZEx*v*04%HoKvcWB7nT&|Q*EKM#z3G7O zvyV#t-Y?Wn1u-%4@sJO-08(w15EW8~zsC`^)d%_UVd3542maGhK5^*L?XLb$wvp&T zA>x91>Ve*|C~T!|njzuGl_Iuyp^W)n7JQoqGUW{EzBOX+);D^xhIFZAE_3YE>MZQ0 z$nIs{3akeI2z_gX%zTgcSQOvG=X6H49nJ!;3&n{C4Pr$N0RfvC-r2|lT>3{t-V!2f zIH}E@Im5)kYqmCbsLOJ0@>XhMkn+0=xaECLn}Ym5Ay@y69dxS1<0*{ zxV0R<&<5n(ghWFh_LPxr#Ff!B>(F9G3rnBjz%pMVUehC9@dF*^tV(bVt@w9IZ_HJC zD|R$*n%511@EojR>d2~(jJ#$cnF{gJCROdPIRaa+TNQ$}K4c%(Hv~Mz&D@msmk*Dq z5k_vGGpFI$iM+}G<7YPu1R5vzB{h9z|nK8%=JD8GKe`R-iETYGQ<@5)MBiIK1iO-+fJnj@9EWW z4L*URI~>4$T;aTf6_}*G$z^b@xo4^FAHp7{7y)+~$aODJtGxcYvGbJr{itZr^7>caIw5 zBo1iJSVuvSSHPFt$mn=V7|3+I=HzlWeSdKl(B3k_EKAMz5v!)#v&v(2n!gQ^^|C^b z_>%P7<*2(wz8f*|(67aHsH|@y7MxtWE_SK~6*qv@sr`%YwoeYm5T5LiawPpY z!V*HD1TJv5VA@j-Gwo%GkAbA1HEIybDQ?QbTnL6mbpNl4Yg6s5#}_iPAd?U(0778} zW+3W&i4*RPPFFkOhEYjOalqHI#MbpEw&bsD z=Ta)EV_B3U*;9@7tufV^o5~H<%@tr>~;6bSJjrU1UiB_P^@^&N~`%yS-1SFwGNd;>m^sU6=q6enSp)c z++?c^XkQT+_4X=U@EkvKsLo^=!asubjux7E`0z$lw=PqS;-}n3F5TjcVC^F6ONl!~ zUZXL)Tf?4qN*um-EO-`19DB$J=|PF&VLYa{m-lzcZfDVv4Xt7wSIET2GpL|mjs#tR zZX*BchfG^gn&2VfH3Id8d}wisLUobvCTv0j=0otTbt77S7s z6Gms?f}hN0{@&f6tD8D`g;B5apP5dOSna*NN2}4qWR`}6RNV(^?Z*QEg{oW3DRV)*@bKybyOLzQ?(CVi7Sq%L6hWJLf*HOnH zyOW46>6ew9u5kY^?vNI9p_1A=zTx(Abm52-F!OV^d-se|A$N|o4Rjjw;T<6F?iF9E zMlw&=+IRGv@2442Cyt@k5cL9yqdd~Y^^Pjn;c=za++*)-B9PFQSZm}M!J1i~i7qP= zHe4!nNy=XwXNTl1_D zJM#I3g{RRJIKfHn*Gdv=>fhh_9gFhgo6B9FeifEWgrT_G*cVayFBtwf&@HlJP~KkA z+4U+%1o0_P=ze6iF^LI%^KUvTDyTG)98g3mo{?~>;=6dX_(^~d@V3+ z$8t7H`53B##Iy3Ct1u@3&WW1C9O$mC)s|Q~d#_kBc0e)YeU3LXjPlSU&_L$#4<|{L zs2B)A#`R096_=#5f5L;t&JNW*GZv#_jw3YVq8X?%GHFO~9&Q><)#t%E>YXq4P3TKw z4DaQUFM0oyp9EH77pm{SnYY=*3JE}8UMJ9aNFm3+BO_6i3@0~Iu z#w_T;a8>P(wcNJc&MPw4i;foA%drTGfhgQA8}7UJT8n5?@=Hwkn9fAB-loqx`3Vj;}3I6vfmVm3X6hq5ZKJZ-ppOd|Z=SX|IphoSXz9 zL4&}O_0jR<66=^PhzShM74XtViHY_t(HM&*5*IW?W|S;@Gec%K>pbRLXtBT}J|0`FbOfXxVHeIQyZ|jX6d{ zfiUmL#{G}$zPW#w-PFOXnpGjmzFmN=A1jB1clfDV7VPEqMzhbAf}`w-nQuP&OmjB@ z8O#J#mcUojhZX%&7673_+Fq{PAM~D*iC_~F0l2v?n`S_X|0Uf$akZS~i|-0HzC0K` zqB%!tj!Ep%L{%i9HGx_WQe{0?eENUBl~@( zu~piIrR5*b{usk zJ_7A2hgF%;Nm>ur^R7r}{YGd8+uT1>^Ifj>)xBC;WR!JghdMxpU=-(| z+P;%sRd!L&-;DKfKG~ReND7{;jumW;BH1hHOB7lV9~!CGr*Tk(me7)Pm>r-<#)kI{ z7DxM>;4w4^?~ta;{cqW6I}z%lI0^`o8+XgUdciGOp770MAI=Pv`<6|@$~xrZ)s;0J zlPHS4Vx^l?91)p32EGCB6SHSBj|ce$y9I=}rbtSAsG*bCGZGZ2hWIw!MWRpyH+{ zx-<~J11C4^QWfpUI!1f}INgySIlIWO1+749?9ciT;;w&FfsTKIOI0h)lN68kbYjyQ zUvPQu#rR({hnHu%0)a-H$t%+2h*K(xAvvg>Y60=^OqOdc46_cnFlr?lxo4XC>4U;I zn}4=HjSDAv0zB-*N8o;NBkm9fJUH^(BfG$IDM&tGsS9gd*?zF1(#kOw329rq^X<}n zMVKD5<D%; zGN{J?RbuQQbEdz=K*I7u(ty{6fLq z8d_Oawuj-{@YvwG?f96aK4DV?z2kzWJKsqvz~Z4+cn0rpvX(gwwdsmscdfYtRD8nX zSE7TIG7G83WB#Ghc1N&NcfvSDX>`?FIT+bXTvl zaO7*V#Cg!(6pzK{`<*Q%sBMHe>K~5yqD3l(9CpMC*-GV{x9e~`S>cXAp2QCkU?{aYekpE$cN93|sb9D)t4`uPRox z;SQx;4}bSvIWk-kvJ3sM?!PgSQTEuUMXdR!oORRk(Y#hFDctB{?cA?qE^7dU1s{!{ax#-|EkhDMNdVpG|lK&ClMr`9OXZ_lCueGuf z({QP5;6cDLFznF$fy|#R0>rnjTAm#CqK6`fSrC^zO2zZa`%&FEptPc6aJS(86)V1@ z8~mdOCF+Bhz$_t|u*ku`%GS?btH5Hs^ua3t_lnhK4VFJU0Au;ug8)<<;)7y;exVbP7@LJ~n)XRZ;DDlkY8E z9{2w(fcn4g3r}4wREyc*$`BnNysM61EV`D{nNK3kfdg=y3RbDt`V1|Usjzfq;T99aoq8HUmYwf>k8hat64{zdG7Om!x zrK=ynr;kO{(rx*_=>)*es+sNR&sKubUo4%ts-(|ZJ1ol^GY_8OUoWyvEIt(h#~7&7 zf){PaCUtELu(A1xz1>HTK;zUwv-l=l_ayLKLiT*gC~f__rm^eDbjwH2UXZxK`s0T| z##npQl?(p!H1wUKd%AN55p??K+dt+{x4_;>?62#LvQywqryYQSxkvD0f(eYFH2HVE zbn<<(k1bX%1L|Xwc%?!2jimVB7v+1FPx!#^jF^qSU4Ewj(6!fW6v{f!bzI{AIS8+0 zPQ8q}xc@C3{1^6fwp^2<*dVc2VTm-Dqp8N^r)$phQ`r>^Nr$L{W!@5&2u?x)>(BzSNj`>^>fELAFzaLiQ7Vncon;ZH#6$vcNgDl zr^o^W`B5$mfd<|{ceL)on_EEY)9T{cz>k8Fx36PAo8{ER4<-}?vQG^H3S0?$Sa@Sa z>jU#uhoP?DR(m=guWoN9dLk?{s>R*~wm3h-x#_ReTiR;$2m5G6%wir!nUnj!-B=kF zfGuH#BCk9l(T^`ex1O_ojjuNAfzPba;{)|fb2*9K)vmczdwd^DD=i z!OPm$>|u_qKwuq=$(`Jg$!CVK0h#XIo@g`EB&PZ%oBp54=54#O)#JdyyiS!?nD8N(RnJ;ho z$#03lPq(46XM7P`Kf*2>537-N9UQwhwik|n09-!|2X|`|D{nD~PKF-khOXnq8!dbC zPgV}t!+r%5|G>VKDI0=$y}@7R38isIc?)z=%F{OKRM^?;$<0dZ4;Aj*50}X;a&-=H z^F$CxKfe4xpgPT3*d8|Q+ir#VY`dy7f+rI^vcGekA0HuiAYa;ku+7BU5^3bqZ_+k- zY>KW)!(X_|u1}4->~<TcTn`UT0)YV}D|zhHt@0bi~3G+-lZv@Pae)es_SGJMzQn zVYz&lL!yo__}otq1@-0U9!6Md)yXbP(jR8x9u3U=dpV3`->$|(-DF{%9C938cZ9Tg znf*-O*teif4OUMZ=_zP&d>SocBj;LPI4kx34)noloZ35zCNbOV zTgz_$avt>SvIls^z}+*%>oamorOnv;V0D4>B~DSdvn0G>#^4PIjh%F!GuSM z*S8kov)w6?yw{O;7-dfy%(dYzkAzd&O98UO_-ce+30W;FFpDKZe zT^bgN3^5k5UwT29r(aEQX?*r2a@Cj5+OmJ=VPv~P^+1@XXZ$w%fVSJ;O-@^}INXm58Scec*`^Bt^#zNe!F!Jem!j@ayvO?SFe-k{ z9B#B@m5TM4xASfmyJeH5^*oz~cpT>E+}Bui_o~@n4@Um^a*v_-f*FFqX9Is((<3!^ zicC4^mu6EB?P-OxT`gN~!7FDWN~>iR0vT-r2|lG?X$Pp^1}!yA={j1KCN@+HOU)RE zY2wH5cQrz(u51I3z##%RxTtsal1Tjsp9y8p&wSj-h5=zmRjeOtVg5wp?$I6b?q@)| zWjtOk`Br;5r-$d`q7VTYgTtJ;3&F_l%(w6CRFPH`GtZ8aGu+ISSqy z@ey1NjOV1~f7k6$KKqflDAoP1N00W;e}pYg#W*}}P9I_GATC@6w!sX@>lo*VYCm*H zGwLc(Sp&Zl)Or7<AqYx6W~ zw!!-H+#Yl(m0@$B0M*ScXc!J78g6tsEn$Thq+~PO@rmQfTlz4hrD%}7ul|tvrHvagQS_3>nY}vv30tUc9IBpSzP{Xq>3_~BWU0CC(-;O4p`>Mh)HD=X)jBuu9-ghJG9f7!JaeQ!hc&O zR5v=F)tofl(wZ;%vMEr{ndwElLwr?>0(8-8hP`d1pTD2Ul#SFWyvkECcXE&R|NW>e zc;sv+{+=zj=3ucO-z3lftvp1yh;*>kE|18W-@dRIwDFNP_%P3rc$LdNiGt!>r9`wJ z1_Lq#3>uBto#dWKDtK+-7g$c)3+99maXAH~qQAhW$L)pbCz$FQ=A#4zY@!B?nT}MU z+?4+SLJ8Q9;331-3E@g6L8$4*ni`m{tUG5>GDGrSFF-0;g;n6`yAs|Hd1DH!vw1-s ze;1WMp)wFiz?Na~9=<>tmJ47Ko_mu%?iR8~a)>r<4&>*XNHjyX#`H{WH`lM9d0D!< z_SIavI?#s6Ckj=WS2nPf6I`b@l`Fsa+o>7%+n%RHiIUF9ee1rxZdzWOsoV2?CDFFJ zeJKhpVQQVPn;FYbvuylw7%EosCBqxo)Tz+#uTj5Ap`#U08ctDc_lMzn5?WNi z@&_Qf)tf6#*7g93Ppg71E`3zzi9XUC+2givs7SMU15_=j(2vDgCAl2IAi()lKe=8! z@t_cr!I6w=t`FI5-$-$<;;$YNa77%_VrIR{p8HREEp151X+GnJtCCTLQYYkAi?_q$ z)SMJ{)Z^9^jR}J*7qqwapL$p3A}addDOQI`th=c}_V@Xxm0kz|tgLoS%78)J-4yDg zo3Fv@kOs@Ot^)@nxRLy^)dSg{86jr!9xau|en;%8)ljDu@7iypgVO#k7!AH78&0dq z_aGvE6Pn-0a-2+(B|iKnwz%J9FV*k~C2lGcGb6Vikw=oWo-S~|)F9UG1d9mFNjfKq zcwam+_0~f8FG!Ci6^69YcOFnvjRP0}4iGa3CH|V^CwSxSu!N0)uL!6M$JwDn{j8zY`3N%-%BBzdpbaYf(}i3R%O20 zfcj3rsN~PK6RNo>adZAHLUDb;lZ{>K;b6efy2x(9Bf|k1(d~_95Ccz8>UdlRetd{m zs2D(W)zB82FB4}P>9%@+M<$;OAkNcl+nmP+8SLwRUVO@y?Lp}8ie1D_plbT3BksDz zE(dEVNgUB2=a%%RR#D*e-r@s&GODxOJS>%ANO5m7Tb7+ODowI=&CND&P5krq{-R}| z10MoT8xk4?*vTreDl{ISQgWsUyk{aa?or(0VvQ$En&Py0Rt;28Oe z+o}nyKU&FXws~8)AIs7d!R$?$DBlU3$2xOMRa*A#!2w^4&Bz0}ezEMdsKP;CMh@hz zf-GnQ8B@3>G;pM;&!@=Qz)l_!(KN>)A zDpK`;*#5{e1{f3DA47-$Hef2ro`vZn%rTm>YI3jF7s<^W+Fa|}+fm$oBlWDGJHK=f z0T~C~vMr9%;Ia`)FIQM(ifDf6m| zFk`Pbmh~M-OE`|^0U?_@hCA>j02bz^jO*0m77-1ta#aR$FN#+ANy;I{uL%TzF%yH% zn5f&07MwHhqjmgEoan-REBV0S1RXLNaE0LgBLK%fha*7JO`mQ%=bA=k(VOInw4c%4 z^IUbq$SltyY8?d1S&(gUZroVyp2kY_(Cp=2Q-iIq^# z_E`IBDYO$r>9<-~)n5niL9!pV zar*$`)Q~w{pgW+@Z}l}Py=ZRN1a7>@517Vg6R#TfSc*Ra1Efv7ditFf!m2=!A`0v8 zaqT%AONO8}c+)3j(k|%w=YByS83XPt|1d{k=@!`h--~VrF*So zNG})a`1K!q;Z05)OfJB0PA>!OLq%A(`FstZl%u8Y;N}%3krr-hk{o*n7q(9|v>^miU zRmbITw*y6?h?0WxEz|6Hl0AC|H%@3Sc8Ly^$B^Aj0EqSJi&V0QwRZB;(W}q48Pq+} zrjw$y;RQ0R?9b)2U$|Z~Y&~g0YjpbyIbVGnPRNWX8Z+Ws>(_6ckNmxkAaB6{ydI@{a?+K!tNT1QpYFq5=k_`sq)T4g|$QUKftm1uPf$rZ6{c z4eMxn^upIIRCEyphV9Nmw=)AfNvv9-13C9q&ia3c-VD&6|3(qlefqlh?0TggW?E1O z&q}I+4cnCSZ*gC2{l0tw%`vVX9!^LV_qjjTcTU&8Sb#~m{Il;p(5FL4v5adQ`n{@& zJ-Y1bAQC4W_P9SCEh9qvTb$C*Iw3$-xT4<$TWx;Ut^cvmopF4YqDG-ht~lA^K#}IauEFd!wK5i(ARHJ<92=r_cIxhc;8_4X_%-^obLVj z#I=R-W2RBq+iU4L9w zYfS^PqP_}wxa!9Dq_FI=r0=0Wr+j&}+U}pt_gL%hzG-Ja0FGxe?zWxQlE<4`2TplB zUB7jvGL^i_CZV6qTuEAjUn(f`8no5)Usvcixw{FsgoHdfKHaY3=KQtNSDBct7$+2w zN^C*lxQnf3kf`bP$Vds=I>oyBVRu~Z%;Cyp{S_-pee$H+K;bLt%PN9VLtkW>lhUip z>A%Adv?>NCasuNdHYjdAg85GJN!{-_WyZ`LKcIw&`$SY|J;p>}fS}EoVo4&w-yDQ) zzQ{X&KC}0e4&Elfn^SsYlzwJ62!E~$3;Nn>I3wNfrO?v3T28gxx2Ixm>a||mPseO`s;IP_Sp zz?UNEkXC2IH@4AtzRsU%b|TZo4DuyK`~7D5g{agP1^Rly7|ay(IYlHxG1vO?al$&a z%+&loXqM$d4`)XBbwa<`04htFyp?*viO| znGm^Zom*NoE}7sVUxHp#R<)O{(w|=Fe+M7!^i2vkkt>#>XoSZC@4w`Y`rr$A5CV*Y zSav9+jz&EC)w*s6vf;2JQTa~BnyW$xdQjJ|!L$$@%}WsQ(^rV){0YVEx7;S&9Pv9Y zlnE32)$Gdi-f0Gwhy0Q34|L>uH!8!k#s)C@0#$4Rf>YO2c^R*4R!CaB83R4y)Kau* zo4;InARL4MYG7p&HDZ=c3f9S=Gm4~F!PoUAh3mpl{KoAx52`3r;Nm}l>(%7Mf`91i z2;GHfn@&fb&K(~HbliU=vw>13)6;^vPB$Cryh~9l|G_3J$X&Kbc%^2Q^FJ>Wcj8O+ z>V&<;(c!oKAd)F|9Rr1cgc8j!%B?T-a!V0vXRua7<$*kwx_X;r`(rMd=BfDZo(W{Y_K! zv0HK)z6rci&(otMI*5G{OL(Q&_MmN=T*v%j;EfheM+-wnVXD2NmC9oBDm{DpI@bN9 zZa3&nOPN-fLQI@^YcI{#x~&f>slET?8d7us8jHI{x^uI%`s-%XuNRbZE|s#Mr_?JM znkGwPRZm>%DYBO*{Ob#uOuy2SAi`!=ugxDAUo2TP2E@#(JTly%Q~-LFE=f#DAkB_D zsoWODiUQTK8q0)rE0yU7;%X=KGTfMP=%~)Io@|nJ?71(N;)ojLIog#z^xxn*ljCi@ z(I%r8VmlHe$a=c#cJA$y*!5qQvA{9)!zdA4f%|sX>t1Drw_fA7TjWk>MH5#o)YHQt-79$jntT?L@UlW_<7vU3o zz@km|h33U{)UW(%6k}r7KS713WpX19--QY-i<|}JUL~o0gJEb4C`ZZO&VpxOG*aXz zZdoWr(+uy9;Bk$5`Y(so${fXdXlKc{*jv~`aCWpn>il}i*+FRPyuz%18quc6IfTL5 z-jxJ26k_7Ck%Lxf04>s%cT>4z4+FW$()?d|h)0Zn6mmDR(qA9mQyOj^4teGXW2@=*j>p6-~P4OsvBlQ94L`nWItC~zG)A07se zNVgvf2oll?d4W>Pu)#$`(y_$W7TRxbP+3gvZ6g?b&V(=StLxR0G?%O>u@rT z;Z*2r#eDwsDu>sNoHE89Z^V(O&*}+{0FIpWp$zRhB&YxslC+Yrf|{hQ-qGQmg)js3 zXPfR*S!0LLF9tY5GSO970aSX_0labon_f!C4w{F&`!FvZyS^f|PUs?n;jH=?#BJMwCFWKV0J`R)zg+nD0M|FJ+td z0`4@?(j!EcGb7&W4De`Yg89e=0NP#5#Q8x8g3 z0j;WEE0B@GE18OQI*l0lG*PhzG5@2DYE@%D3s*UFAL{_&Yx0<&o07dac|Q`kWfobk^|9wE@jqn8fVxQAO~_J+wKI>@ z%+HYw?dx>$ERx6_l+gKN7z@RRVH9c**<0bDVM0^5LGL^HD?<Y|9VS>$1n_!I^al2TzI7 z8a?67oO=0efo8~dWIVKZbx4~EbtBwKsXp=Lux zKdQN&9hp+0bT-KbO;!zOX-O^n%f(yOy&+`pw+1iitGtx5Oj#KT``_w!S>LrVeSW>L zHvhyGifzJ(q80%?20!(|?E8WmphPU_&UbF$;J@@XG`oS#B8Mf=?fy`Z8x262!|92x50)#!`{Cx~VFXI@wScv*N`lVRA=$ zzJn{U87Cl{T18zuTvUdqO0Fx;6eLu__=u(XF~V=eLSOPFo@u)4-wL@FBj+vYX{O2D zPiGKaWkW(D)hCxMQ!yNZi?1Y9`Ia=%#}66rp~lTPk8f9SYzNr1tP{zm`p^NX4t?xH zJy6x{ykkP(QZC|9^m2-qCNerj>dwG|9sZEX8s?#HD=DQ-ECtu@f(~TV0o_GUx+r+C z#;!}^J$e;X4=uu4tEc(6E|w~pS>ftp#8`i7p}M+x08Z2JED5;@y<@G#hMb%=oAODP zaO_X-Kw@5WZwtHcm(IF#@S-{Q(lq? zZMXzZhU@zKci-N|C~9#@%qv~$!c?aMf1RldMQ#%zR|0q?7BbKEa$lQpv-Vo1zT56S z#FC;qrJ>?1Y*TD1ospFu^)}b|sK0S8gd?&v7`Ip=$hzpH& zudVe<;YHDjjq>3Y3fjV0f#0Qa2ty4`bbEAq)l2myTz%gdcfYcScn0l2|45CYk!eA4 z?MCNLOg%XdX{)I~Lx4WL~vv0^H zaD(z5^EVJqR(sGM|K5sx+Gw@yfGSFvL-~|jiGI1WjZ$PEJiXV;7u+{kNsHQ^6u5u)sOcz#=}Jy&moWE!bsY} z_+6o+Y8uTwCsp#f`B5@=oca74zoc?Wr(uW?rBRz1K7^c7{kuR^P{_}|;im9|4u8MO`sKEVLk4Efb9NzY)#Xq~a&uBgon*aA zHgl$Tn|C+Q-_=abj#b)*r5mnf>_JR0Pd>ln3^)U^Gn?ZvBV%;FZE3m?`lkDMKQ3^f z((|3v0W#4Pf2JpC49>Z1M&J**o7sl!F5n`_U9-R;OO5ow{4W4gBtI6p!#x?7bXODM z81sZGYT&QbBw=tUtUlfJH*vhXO4Qke6((~*Cd|eJE;qn*5v!=+A=Gj1ZXWiI1n#8d z3Q2bqlFr@Ag&o|bOt!%+t0l*lT9+KQd7dx%o+Afr-ve)J(vyRzz=XjLO5d^GLeZbp zYRSE+j~%j~dcsj+R9U7}l68`p3W$4A=Q4+Gg_nN^5?8R?+?l_V1mQ78k6LE)MJgvJ zRTlee8ty1iMk$_-cc8jwQW1-~Ip#Jr`m#f2n*Mz(XveN!zC-IqWo@vm5Wk8`(F#Ur zH5r^1DK-4Q5vsP6U2}q~Fq(n~(b*0yj#Rk>AcRydG>X@lelF@Phv$_T zp!lqefhX7*663mnol|;}lrfgIu1@XUVu;~C%DVY$9n(e7aJV6(1aD0uu}n&Af6Rgp zQyO$0IoUWiXz{49r);>_x#O{k3y|ofRe6voJPAS^&*d5BSuWYurs@>bKy@o&i3_iK zjU9{RbCW~Wk4L*|H>Wr`$gnAueaO(E$!8*=EIjyrTL8$-zMtYPbrd8<9jTT)-&mY! zK_PIeX%8ZAo7Kw~*opCfrVv$-cZ>|#Has}UhSi*CMhF**1jOX{jV_0_Q zwW(}cO_sY@T^aTdahfY5heu09k1>vn>~QI*;h7QLDA83zU>(opjyF|OUB1jgbf#Q} zsJVn!vIjo4&x7!zC0OfLvEP04)s91NG)){)2IVZWL$&RWD_N_Z=@y-4&6{;TkNd#y zng*`EPl@nuzQQB_8QyrS3T%R5&lfJePz7Zc>Wgx8zi=fsI&$O5iiZZEM^j#agf?w` zT?qQeYv`_cfSJds-7j@wR;olHX~_0r{pejUi2^(!73OoX+Xe;-tsA!25g$!>U91|5 zzu#;N$xZgde4GOr5ezAKQF_`r)VKMUK^A$eR40{JKX%M%dsM#|N(i@&n9_5!lMAD) z3v}PJeY7!TvvrR0i8=@#M_+xDZNYYK{#m9gI%G?tMr+|frW6Iv+8pmUegGTLya>G6 z-s`;C!v|X8Y!Q^?RHmKG%rH{jSoQBPTORH5VEtBukkmA;xXk`Rn4YNnR<|{^;3;iR ze~FeIkuP!tMI+Gmm?OM^SHhwfY4#MT1HT8vz}W2p6c zBkp_jN2@S1p~@z2{L4>QLnFpb9S(3;ya0WbD2jkM2!_69vmyQ#QAY?$d%G3t075VSb%YZ}e+p-Va#kP9TqcR85aAGhFB6xQVy zX?D@b3VZi4zK#G1aR^374LIRCk2lVdK5af}F*Y2jY1f+nvIbhV4>BdsoG2SQzkZJ; zzYG9(1^JR{xECDw=MUKQb?oSt6+@Dm{Out$WLuWDC z`LJXVIcd0m;**M9IaYdJ_UKGn{X!AJeTqHswnu#URNTe<8*P8KO2!7fM<+&zRrocB z!ULLFtccX{R5L-(OkK)6Mgo^JV}~!hPcTjl0zt@X-zDq#w~|%7e}XZS+3h3~k7#S* z?suHn2d2Aesh%KVC+s3SjjDU-aH&6!zjFd_WL;_fF)7GWi_}Mlkrx-e#v+cm@P*-V ztO121;&W8W6w`8i=$2a$tz0w=k;wXB4dnGIz?}shmItpwGb^GxEt~FTS*9d|l{TLIzA9`m&- zoQ&B7`DM<_h=dOzhy;)OelXH!Rm@UV3-M)rcF>vY!Du>f0;;azoxRL(a#|$xZEHKV zW*2uljq`K}I=3#YHY50__9_3>FRZ10SqZw!>@J`3$P0#lK>^`yfihNuvo5I@D7Gm; ze@M3L*OwIE11ON>7zF9H3yDe@s%K>}l7j8fovvZ#ej)E!HcIO3`%+ zSeMX>*?n6{}cxAXoZ{8hgp}j&ID?cJ-6#jPL=`B9N>AQqltJ8N9 z#!{SznoM3`Ivm_1U(nhdfi0t(-N&Q3#uNu#*0YR%8_kzv8s#uWA!@q9?G|yw9p%3r zIU2HLl_h#ZKW#$Jj{V2!|MGuZ$~AF#hm15Jz=j| zz})Io&cB#fYd2cG{eYj_*!R^V@cw{h!ZkcmZL7n!IMXv({)<7L;Y$2oTejX!-9^O9 zA@EP3WR=QpgA6=3jNM-1Bk2^T8%37~p=;fZOn>;!~+Zlxc_wX?c9!JvV(EyXloB$T3fzZfaxS+Q<)tVR zp+6bQ52KbC?Z?cwBw`2an=sb_eQi#FPIZ%mO(?hmug_LUb}b<4-&~3CdbZSHoz!Ja zFC2T~>j6)pG3ta@)IF)6)$}OEaV#fksB#S;QA#_Dm7LkaeVdOcosEFq333miMQbbg zDl&zlek(hE|F%qh&52qy3Vs zi+4hyRcb=-oV|=r!)E6P*krq->{~3s29$<0jqk@SB`Gfr^UM4mCVNHClU9p~fBTue zrr+bbk=Orv@Li}mm2R<*`ivM*r52>d~b}B;VBm(M9qolM6vN#s>ipbi!KaYykSKCQ@82^(3|=kuZ1(9% zY_6DKFALFK11JA=fW6$J#<9vWFd5~oocZ?souF7VDb{*Mc!gmEZ^&*G+Lwv;_QaW$U4&2I+vRf8@Drv%SHIP<$|5A_L*84jwATbWh%x84cvFA4-S#v1i$$t|RJCjIz39)g zpOUkEF@Zl+GzZhM5QniyZg*lG8_PFHiOZVm1+w;8pPVU{uO!6dDHp)dw|1z(F;|47 z?0)oe@w8tPNOkBADb8n;%5T2HGH@j_MJU5R_3XSr@mG?IV0FW6j+z`xDo1doz>x(& z%nV!)&N|TsxHR{^5tpTXkg#* zIf-U9c2oi0!iqugbNu;RcMS<6{36;(1n(JsIrh8*8LO;!K=9<>$;W>r&Ylx;k_T@k za=&Z_{Nl|GyQ7;w;I}m~o-*W|>Oc8VXBIdoYkI3AF zean1gxSe^3roHup^uxslPg5tqM%jV3_z-ULxUhDsV){P^+=M33QO+!1{_aq~RsMk- z0`=YZ*!O;ST&+Mb%$v8=un>AlA&T)nDAKLL0RDW~Pbd`1DN z(<-Djor=clI_bp`OEOVq3g_Y?=d?lA9huk68o(9tA$W}Z5`dH~6lbP`hbTY}4(U01 z>*4Xz*w6^fpbAlO-dHHF_r^}Q=-(UN{f=BTr=)_CFOoxL!aN_hMjC>=01rCZ`*Sd- zo46+u{hlvP)Y&(4Q$!cr&E3M6X3EM{Jl}vN@NR)A48BaCd&5gM7fl(8R||uPTQ)Pw zKlE+0h~l_5SxDrA!;<@cUm7aA?uQ%vaLlGG#baKMHwpEny)07u_jK8PcW_- z&q5yKs-$?Sl$hNava0WAu9jDQJ}d~wRzitC=LmRRf-}A z`^gi#QKCQs#L=GDb>o!oyS>WOctaQw?3jy%N#&jm&1j%W_m00y;lyC_}JBtpt2RVCKY+e1l_w4^R4a+%_x~jqZ zA(69O^jkD}^V#)5*8rj*1uKSI@rAtlp(ReGgQ$|j+7Wm7E(UJ3N5|ic{iGSp?oRcxF4ntt$k;$-?D)EwzAH=ukKsbT5s?vDz*;I7 z=8TA9PQTTEQiSXLz&N$#wKtJ!*y*+6>p`-4iGVVeyPYz* z{q1LG9}|dUJK{OdBcOksJ>l|`R?&$Q`0}nY9<&> zIEo%bl=*j^!6mjtZb4Df(D3v5l4QmdCyswJ*0Z9YWT&R@ry=NAn%TE=Scivw@yJ22 zC`he_q9zdRv-;!3Dpd%__!@5^L#y$UIP3dWk{h$5uiyZKgk}TB`>=+V<>n2kX_TM& zQq}=vF7c8*vMg25iF@-JU_K(3RATckvWgM)Dw?e;X7THao206+YM~TNThH8k$jKi> z^fFUN+>%62e!V4ucg~eX@XJl!Q1CkquowH0QSq7x`k;}Cm*Hn?f^Ua8-E`3(Sd<>e zSBWW)4dW-oU1AwxQajV7k0S`z`ba^A4Pl*q-E>t&M#ySwyvx{pX;)s3G5C%vK>m^- zE=vLtIMRqbxf5pPu;%pp!_UI=F>67xQ)rKyaDJ4*&4) z0;sOv{RsO~9bSnDImWJ_`3M(;u9fmHyOMpdiRFDR*v6l0>3EaLW@v(uP2XSR5vpF`WFDYH1KX!z{X%U0qonLEdN1i{ty*cw$S{5W{+e?1Qk0zZ$@Xb!rceMP z&KzUM*erh_JwK8dnZ!=hzE-0Jc!hQO^rgkZHFkAxbHMQujpXE7M5g8`na}$&tFt32 zx!j-`mkrT0W%nr)V@HQ5nY`25;v+Z@ws37$=%4J~jP>iyfF1cCmEp!G;TEf}UwP@(yIZr}(8T&X-f|>%?lI<(Q?~*7Snz%ux~TtV=H!LOQV<=hpSAjM5wv6HLRO zTQ&1+nBI;nVgc8Q2xH4~yO^FSrMKb^?Q@9%JDnB7!r(m@H@}Kh(7KT2_8Fe)-?q! zCZRJO8j{`d`*Op*W55Emh)DkGT3~tp^1U}w^tD(9W%>X}px||=r3C(9ynlgV=kUYZ zeb9o;0p)~4dI^oyFt+uyO@(hS1I5Oxw&yWB)X8ZukLtYrhVMmjpe&iYnod%mYu z{n2YJ6S6tWJVGrL%^_{_BVLN;u$fDfl*?v5_9Jy}L0|XoQRR6^K7YD^O};HjNk69(v7^bv$n;usN6U&LJ1XlOW!eoIh(9um z;F99u;rtPkbsX9>-67GEZG93gGQ~L6?P>C9o8;Vp=;RGmSJ;I&{r<)`lBNZu&$~l% zspD0GwPkiGgAwyh8ETc7dvZeAtIPop(cZ>BD|9If>Wjya7;U=c$2Ex%Fbsza<~WVT zhiGUEjJ!U|+6sySubxg*ebQb6!;%`m*vEh6NGmq=%_~#)Cqi#8%7cLP1=$n9(%-zqrbwq z-u6D+$sM|qz9eNoQg^`U5in2VJO1=q>XFqwi|+9(`f1;9VLpAx+Z>3#uC8?UbF5*v zYZ^I4lWj^islJnh+sVqngf+3ZkHYg%g3weBQ?tz!dz{~48ziMHQsmD=MkkS&b9)lr z5)_hjrR%J?dS5E`envby8dd_sv*@Y|PuU#1p1514l7LO zZ_)};40ByusX$j+l-T^+yo%V>Gx+}O{y@Gan!=~ytkx`1Q)9_7E8X(1^24F_k1d1x z3tX71SF)19(+1GH%U&E&OzZ2hF0PfJn)UH*a$C2*ZznzFJ7<`unubF`|JI#iT&W(& zvn_Q%X!0*9U6J)Zg|H@DKi5NPC^XH9J-Xqt$(+B@k@WlDqy=uI-$+apL*~n9e$6>r z`L__CI1}BKg*m)E{jEzz=moT}U`)8{O_F7De>eHcJU$7~`uu%|CKjJJ zvDyi{FpTQ8k{x$FOU0D>3`#JvwTZrCHf=g3F;;aw2D5I6=K_MU`LL_p*G@9WeQT~$ zO;KBl{q*_k#=kI}KbbnluY<$Dix3Ao`li}6uaujoF9EN6yHd%}R#tom`gnurIic#Y z7%}c^C!YL|tb42tW`3l^*q*;6Xn>w6G36FV4{RLGLe=g-h=BJPFGe74A;+G{>Hc+! zi8hn~)YV1CponiN!aa60m5InO3?!l;=fbT21twKR--4kq~uSg zcv+zw@(Bd8j*qcnfM7d{SwX>|2qa)KE{kteBQf4T`*3~K{ zd}f1MYo$45(xDNO1=wmrn5xz@=c<&H5#ne>QIM%*rgFWP;jA5$`5gyurXwAfKgbqc zx9{VH_ZWBRzpGxZnJZ*oD*CK8F+=~-wHTQ+HBf1+&-F?s z3C6%yE3LZi5TCy21@CytD-ql2*V`Jvm&Med_>30=Mv?SQ|YTdhk5ycPr>M(q}rb^1P@; zc()5u{J=ya{D6YYXRlzr{hiUQ`NvP~aMZ1HNN3;sAZF{u3aJ%nJI$LLVo{#S?3zS3 z@C?sD!_?}WxmI$!;Gx4cCk9m)=izJZIa<(qUfkB&pa}F{GI@Nwy( z-a(TF#eP0tyEjO5#q*F$xPwWe2giM(>s$M3v2SrYGcjz+<&MH=Vz4+lN)ruiO6*ux z$lwiWgU(&)V($H(Kz*;_>RsDo@tAri&{Pp$9yFI-26^9>t+7}YUaKO2K3G}-HM|Y1 zWL;dk00w0eFE?@j?C7Y${#W&JGGvLVHoW~~{CaPgmOp3o2gmbQ{g18X+>2P6dui^y zd#cS=C1Sn#x5`=SCP0v7rPG~>v6BS#kbK1k4}ihD4I}1 z{!zw|lyk9>{p^Y4%8w6@mX*HG8zbPo3HTR&zX&onsOoYPX*EqLEaTKf@> zk}@7#2~t-PTH4a?T)&?`%sBYWSdwxr^J?aA;|+Mtc@apijLs^JzUXD0 zs5~bR`{?B2*94shhf_M~$-n=!=BKqP0+pkb6&fr8{#m{L(5tS>b*XH7@6gDOaeCh& z`a9O40W6`PECXA4Z1OHPYBW~fzRfpi%|BMGLFheEkUQldEO#p!O{h2!F6DN2#RN&l zjy<0SE=KDR3DOJclu&P8=?7GTvc^;&?ACHqsnq}#ZTCXQ+Ku$Lie*XN-RWQHXdc8l z_(Lv{dP{1Y)WkYl)!!4b;skU24I)*aF`1|=G5VJf1~rh22DSSfsznj|=R!WL*|-gU zta_(hjqz1^)3M-Svg}l;PNtf*^DOMF3Kx(NR8*74`rz>Trkm;AF_~7S?DjN`GO-$n zF(Xk-R52}D9=aZvWX5-he7Lx*{{Ake`WsG+ku5hzJqMy$rfw{A?t9l`33-*B+Apog zk4M;HX68{Lf^2?oUj*Tyw2opUuCD=lVGWgb`_E5aqri1_teGpPse~)exg8lUX4u^5 zzQvGrAsx)8IkxPHw5a&p8}Ko0+*u08Iu2QhBJlKM;#bT^xk8}r5B6)diG*p+FxwI4 z@%o0x+{Y9bi@r)-W(L&U^skR1fMpyksSqojhC4ND3dQ#7)u_Ya%o5?8uLe-i*D!C9 zdB3|R`Ju0|MpV8j`tw6~nIh~VKc~upz1=?nxbJcQRRR#a(XmDdZk|5fgN2me(1WFbUQ5k#*e2-*;gFtdAZ(} zrI|KQV%N9SKZ?4pA3h$Gw@td6U~+@Z2swkzX#cgm`oq&fKno;o;n=CBk`^2uo@Xo} z8dd8d_VEUp?94^9)J-w!YgLcIYJd;|r?(V`R()|zpcIa@(VowKp~--{u9$6+BDV&O zwo52gTIuB9a^LCX1%ssC8Ol>+O~}p#k)yk5`&uv-J??DP=v`Jy-8}raF7(HUIs?_{ zR#fRZN;|)EKu!y+0#TwLzps>z)Aea%%`~x`#I(Z|95GCMhtEemzri){udXp##)egb zR!5qIX{f?pZKnOw9c}c~h7k3PdsAOAw@Yy}TlllG=4A@nh`Jl1)rJ^>#M^~!Kr6E* zV#`&(XSz@#Pa)(<4DZuUih8E}Bv!>#cInZ)yUCh#ZI$eie67k+*kA|Qb+juxpM)c; z#nj}rbaBs+iX)3WdtsE+24S${!8qns;2{{CgBTrhMCn)E1%VjT=}r%K>HK!ALDyu} zzy{iBf8?INJ9hUd38?u*HPdQ}$j8*|c!aDca37tEk}d=L>maDL{={4aciBbvw9wXf z7KQ$}ef?DXeSvP$%pdQu2Ce2^YSFk@>+n5_-LQF@x|zR5yVLb`GTR|BS5?AY_DzJI z>*G!Fbm(ig{5ENE^>ut@JXI{zRkge9SGCn@YH52Yxz-PYVBYLj;C9kf-v4dCk~s(} z{ehj&*Nu998SR(c)2bOdb8n^0_j;69Q1knI2wWaIF1pKTel}hlCL>IiSulw3q6cB6yS5Y)xc_sD$t%z@3$Ttczm(kH@UtoS6aXuc=H11A52T-JKOf}*vu*WEN7Zja z_FX#YB-!1pQ94@aAz;3ZTnV=Uy}%ce^NN5xM#ChWceggKCWz&G*pWAxp@k%7M#s%& zwY9Y`oge?;v&VkmZN`JA0g_9Im)=U~)ZN-dV_|T=q2>!j2wD<+pe3)S#Sr>?n1b`Q zOtO9+)miQjfn%-AjCevebIpl2Dp|6;pm@QJ(V%=YLQ(b;nQB{kc1MExnX>y6|@5)dqH9ik)<`CJDl$eNTH-g#@A=>cW6)s5TKVMEh*wWAJvvMO%`%FGni zLGrhyb7&eJ)|3co(Cc+$q@YdGKXe=DpWc)K4i399T;8ou|ENr`>1WmA!l!z%GMY}b`a7>X`%8VyUQ{@gmWYy0^@%`ACW z=5COt+>3k?W25uH;_9EwyeiNgdrA&#@yQD(BoXx=t`*v;a;*ye^Kk1KZ!P8P8GIIr zx(Z#7ZjH}y>N8mXIqN`)sMEZ?3!|uM&&Z#=_Dzbbi{mfI6N3+N#rP`oyfaG9>g?f< zgc``&%MJlnjvl#0P#fpI2VTmDn=8O$*(rl?Ypb_ipw7#P+dGyQ)C#>1n)_~+|I;n` z@~!OVLg`n#FHQ-ETbFvw%Jk*jy+{RjEWSEdM@t3&E40OASfuxrv~8qCLGl}Ax-*j6 z>ECzE^YeDPR zc~$8=^dK*E(sqpCt5wpARWznyWr6f2s8gQHTE=%C*l?J8tF6}S^rIwjkyKH<2QP}j zQZw-r+covpshL)o?0Pl!OMRAMCbRKvwZK0+ZsTbrV_xbd>`PGRX%GskJ)Fh_E$TVp z0)hsKGFC>PGcbx7nYp{M)XA%!dQ#6H^X|WVSJCPFU=Ux0#Dz{v ze9fcz>ga@mAuBNFPpO-*p#xNZ=DOwZgv-HrdxdJwTNoIdqzjmC|naacv{7i%GF~=8|kq-NJA%Np5I8Mk4;Ym|g_%jWZ^og`PXa z$o=!*#T}&Ur)Br=N#*%D!N^tq<~a7IZJk`i3l& z6cW{n9Gpu|xojgU?UAi^v=&u@k28}n?bw~>j?)XWeQu6E0?gOiCe2pe%w%;HBZ?%k zgekZSPpL&9?DMO)mp`p1aDFp-jB~pWsG3u1TY}mwA7K>kv{pv2%~(WnpZt#cG8a;g z+iT9TI%i4ui1$wTMRao6E0sFdA^LYOsQwWivegbwo2sW6F6PkI@+JC{%g`)|{nJyy zvobpa z1O~x5u!Q9-IzhnPL)ioM@H{nfTvSN?WT|#q?VIon#ZDg4c{I}E{>u$_uSN7f;x=-$ z%fMko`;-u$Wn=KBCjd5sbHCoHCWCb+H&pL&hbZjkW#&xls0I`GL~uNl%SsrN?T_hm zoww@vlK0hzoEsna+^yZ$j$D=^kxdl~H54*OX;sV~NuBQ$X*F@#g!`v>=p*;)>=2-+hm# z4wOy6CL;l!<2x*v)Wb5Y4D!horh#<4K&<}_oz4AJrPv4|tfB8Q8efgerI*{6l-T2` zZ%0P3+6Ga#sC4Quv}1hjq#VZkqCczL;LMY$Wt?pz&;NDOzyp)$Fwg5nWSx5E$29{` ze`nPWyo=%Bhx(4isph2qS71B?*MZ+lG4vZ^#9?3b9wdQ#G+m4`z02r^}Oyz!H2+iRy43{=nX5 z&>ClC9kZB@WS=&l@@rzf`1;~uc1#Srbi}qBwI_VXG4Pv%9B3- zMvxd$OpN+SzU3)C-3$b*=L-3_kpI_UpFK0O0u$3Oa@05GOpMfE(Ht-m6rJ8+p-_!` zP)UnwlFKM*XdRr`h8y%|G_<5y9g8+)p_eR2k1BtBD&X)4DZ1nxs%)+*5DZb<^? z8M|Ov(UyMv^70+`ngN0c**r()q>vk>ux}ef{I?s8aX!u3M&C2uV33Bs-nYA(M$s!H zm7u4rtR-j0Rn+Rycx0lcK~!t!Z_=Sh9tt!GN;lJ*XsRfbs5*)U{JY!*1Sf55e-E&po4F&iFWPV{OQ=}Lo)_U-ga^j zz|J9EY-ee(Q%8%KHD~WRcJk=LAA8DAJPn@W?h(~#BBst!XI@8?|B!DNVC8l1vyfOm z@n1Xj@Op5(d^aN$gFRwob`L=j3Pove4we>n!1wkbR2ceo9HhPcWi}qEukIt@|^Q^c_9OX{2z4C>$jK<0^9&K6b&pj_6mQ=Lj%c zPJ&ZWV%)*-)w5oS8S0}4CFnQkFO6*9G3Ivj-^RYmqtpjk**lLq4B{kKB8~csNRKsO)@45zM|KWTCu@B;CEt|HS$p>e%-Q_o6 z+5dXy$!n~6#rVJn*@P(z=Dw7TyYD*ebP(sSJjm>}DWxX>FTjo1e7C+a<3GvNF zL{BkJ0@xzC8&S)N`P5Q@}|;Z7^E^7cIb|Sxgkwh{v3*7W-A}+9!Yu4ouh(h zi}ymZ#+?jV##fN>I$LRLjDjmTt=PXm=;SgY#{L0r7*rEVpiazewF*W>ABfXD3_H^% z9@8Fn&t|xd%qw)<2M=i&7d@E!M%xj=k>>Ih^RGK8Wjlzv*=22ofII5uNJ{qEqIQ*< zaNUIA>6l|mc&cewe^&)D36PjfbGyi>HJsO91Hl(NVAP>yQs@udv46BGVfC0UNB!^b z2AA~kka!;ocoJ)NFwB>OhgLWElpY3haI1@@CX1siV@sqf7s4ciu{0^6)ep3A{ch8E zeH?ozBW9tV`=A8-#eV#$?foo3rx%}-gB?9eb^SHRs9e?$iE+>sJ8RgMP>X(&*1j*_ zZS3x9boj@nEfp(2f54H1^^hPx{b5WAF~=%05m(QldtKRPY-PtyY$YyodWUILg=8p_ z8!tRTGSt}1@1aK0y2G)>!IA!>Kp)nFsWpGR+E#A*#1Wt+WVQWF?MUfmfjN4|jeFEx zuhzT6yPFY;3uk-NcjOWi&1e#&Q+*mNWsm`Q;rCECR_kT-D{@fIB{{{R!YbC(pPX(O z_iQ(-dPI}cW@{LoLt$^s$Blnc@MEIZkH?A>2>k%=zZIyW6rZq*Dn=o!SC7!i5apJ@ zG0;)2vzuWZ?lOCTPJd*EcvB3R5$i-E;e~EOGGHvOCHJhpV!M%6YjpJEz&LL9d*e<( z!K@EqpIZI4V$?m=)<4{}Iv=ycwU+?A?e*xA2}bVF?&CNaDm)@60>6?aqjao&nm8v_rn1Us}mKH@NwTP6Wcw zR~f*4GIs~cB3uduYG$8BDUpU~bf&4TS$S5{_E;$UZgm*@aA!JJg-BE-O%bT#ZT{U# zU=Tcjd%c?4ad>Y*u9bHrnmTbH=;Mx3i<^o7e=EN*{l3okfYnp#F&%0+fn8v&R5Yxo zOl0Sc1SI1ARNX7xqYTB3?D8{M40=)T@>__IVM~Kztk-svXjz$)C zT%UJaIIN=+_*!dbgUOGUyBW;6fj;ZcNBDvv8sTgWrg#L;#>wzs1yKT*j<0td;FZIw zycL&c#iKrQy8Je{FPRgAeTVK&`yW8HtrfR=i`hd0=uGqNQ0p?kc-j$u9rM{=&+%Gb z`*>V`Nou6J%u*%jf;7-W{b)--=Lph)yzI}IEpoXpDG%xyO9*W9=p`lt&v|`TN8!A=Wq*a69tg#O3TYVoB6K;4<5-{-2XiU~j zTu79=#Vt! z0TYUTr8BBN;=WC#QB0pVI&Hb@GGyIQh~acF{;rqCVU7Y-XjNU9!ts2aw*m4Boxk`F zUpRyl`l5M!+JZP0yoOAJsWqF{4$XcakE|?cZ%E==hDxH!l_jxY#?*3ZGpb=Hzf#Sf z)5PK$AojD;VP~XmHjPgx=0h@Sx&wwRb-JQDaTRv&A`tb!v96Fzp`VBHbW)(v_Yrxv z$mr<&CVcxXrL_a4OJFx-2aFOE=wWbWD9sH?r4~W4i7B1XBOS+D(@N`<%xbx zj>Rin)9sUSIof})hZE{_{ItJO$z%0{#CInNDSX+7xH}OMS4;slWCf8duzKWjzPn9_ zIPiNL;)`h8{Go=NtuG-_!is)^JUZ`ZdZN|6y+n3AH8Cg%m)yCn5=R}P$g4GfH(-LU zJ8OALKv>U*b6JV#>_`>vwdn~jW#Sf2j+-Bi4Nx}6;*aARyDgmQ7+9W5iAOdjh}`5`r= zQ>*w5EBL(ZegQJl_*&oag9fnjfcDN8S@iFKc8G#+L1KBCo<{CYLzKt9SNua)AN}6! z#{#m+!#A?~Zu|^0UC1@`vJm_Y1eQ~Md|X@uuof*FOxl}W%kwX!x#w$SkQAQlYC!a- zMAV3jUy3--53Nm=@~>Fncf5x}c#->naGE+goZJVr0|P--0%{h04d-)ZrkCD-0>^$Y zeRC{CCcp6&kj3+&BnM#tI^^o_=9Y`^VFW11Zed-;hj z_XX|=F_>R&s7;G`bo;bilr<2Gs>C%eHLb-lb#di0RDIR1N6-o+w}Gqj>|N|1wx`UI zcB#)9domTx=B2f-k#vV3d6(;Jht#CHzsbS}(<IH>Fd$xEI_UWc>>$XxE zt?hrK5KK@1BT$$7c5yQ3^U(iE8p&h$qX56xALxD{h3{O|`$VrW^JbdNz6c70mF;)k zqN4Lh=ZEoSjnt|U$|!|;iBpiUzBh&*AGXAbDSTHV*EAuigbP&mkl_CPSIf*fnY4^v zXF#)R@ha#_-(2V=jO(+lq<8hHvjBUgn;!8k3_pmAX z&eBGbc{->&CDBTVUsfF&kgwW{;DVW9((;aCP&F*<6ZvT`ZgVw3UD1&O7m1+j3l*0H#6e&*6(}7w*&&7vyC#fHg7QP*9pBpjwIb@&_!#633myP+-}4tS~$e zJM^^GiUOq_gcf95D0Gh0yciycua35Z}_7%MYjO_d8OuFuFCeDQ3?iUek(r zm}P0kf67_fK%peE_=n9t45fzp^nj8i$HFKV5MT=wLme3&EGjb2X(D|Y?Av2B;$ZkN zq0bYd8+7k9ty&`Bau8FAPm+J?DVL{sfos((c4=I1JrB-Gxc?k}zFbI#Q4$^A#C+Z= zj|axLoX?IBYy2wQe{T^-j8f@Wb~3`8uipe%i@@Q}Z&G)Rp0^f3piJTM%V>$MG02m( zWr}>~+w=6@@t#I?Zm1Pnk%#F*#(lS%HquSPV7oO1RMO&Q%uf&ZUAP>vU#=fRWUsfg zb6{@XN+X}9H^X#DzNHwHv?h>5(+5AXGpe_MDf$}8(M8Ttg6v9_HL1?nN4bnY(!;*) zc~fP$pkh4#FMsLk-)X;NX9XN>%F+kX1IpP}s}`(c z-L>i0!WkR#bPN0}?Q3GA_ubbk^6o(T;$m)!}wSE_-;y>jiv5 z3_gkON-*pWDW2>G!CDrB0cLTvH2E^wr5ehd<19#!M+W_cqW4E>IuyhpLSi)k1I}2c zLqz#nsy*leC~li;Q+n{3dFRBw2Qvt-+h*UOqOV(Zk<~}M$eLP*TgWi?hK6>gfCzq( zC)^wP-Ib1*t;yEGlz_ElmvyLpcjhf3Ih_os>tKTnN|gqmjtFAU9_cy$4g}K=U5-7$ z-2eR$X>ryd=N~=d^P{e~P@o)RtU*nW1#si@q6!A?_?Wstca)24!MA!7nlP%eJdFVa zsO{ZX*EUP4zF7EGh5;rCqUc@t}`U;h3=R$kc8JaFndq zh}FH|8v=JQUc|GTM$-lqg=_Oio=8#mqF$0|mBsC^1D$t2HH5u?krRx`>KQfdx!;k2 z&I9=rQOEso`u?@l`Dl`?rIY{C$3|}>NAy3~$qxHT3*(qdh?zf9WR5$< z4z}~QIuVt6dp7H1rd^;i+aNhFRiFxebJ>@%w-803n-GATZ6*)WjoQb=eTbIR4wp!4 z+c`N5rqu?dSK}7}*d68l0XP{`1J0Xf!)>5X5=Zcx!q6jrs4PcQ8M4joUtuql`Ng2N zjhjY9tMVU*8%42q>s{L>K{k~w&wVh#Chuw(z7eoKc*-!CZ@j-3JkpQu64$iIcFgQi z9kbloRaN*_4m@NT?Yioo<`29=3e@BZr7ijFkB1y6$a=+;zD^}`x4k6{rTxaw@C&`d z65+G@$I?CcdwTJo(*{9~C+c&faj;g;8&``j6#am87*wY)lqJ%rI{bi6A=BfEuWK14 z1uui|LypgK>Nmj}k0O(u#xkfH;$F7`iiD@<@Q+H|JDRs-mXKaKiSddny}*3h0k}7R zAC-rN{bH?1sjs`-{j^6Vfy9cqGgbxZH$6+HnqfOanPDra%kJhLAbipD>K!}}6hQYo ze&q_fK1n1bPq5O9{lh4wT$?RN)Y}4C(2W-+{v+$~LY-JSQ6$L3YWGe`Xp^{^Kl{iK z!~AP>#Dh@4#ZEZ9a0)>1%dYf(D^aiQ_g~n?37NQO{h?TT?z(Sd=j|oS_4=^3_okU6 zy6KZ9vGN1FCrB9uB@0dm`p*WL*p((T(v|QXgQBbw1Pt?VG((hH&Fy=T07YV_QGeH6 zx3y%&q@hCuO-_+26%wmV9`MzQt+m`Bo6wus!Wd9t8 zZo?z&<}e`-ua72#uLx!h#JsT{1ten70HvXH9X*)z$jT5DToB#{7h(2ITeK>)hyTQ$ zdlU@}e;eYo`o=1^*i=?<^2XptnNy`r)nw&&5x?PQvyqnONL>yDkful|eta!JqedeR z$XgeoRUUFD1#}Z~1p$?+DwUwDzxC?Vsy1UQ(9BM&wM$WdaxY+vlc?kLF1j8aL<{NS z2U*Sw;Y{84DA?F+CCLJZ4v^p&!M6rRKY-AXV7RdhxBH?=?|0mQXOg}dxPD*cmsH&8 zZ~YBgL!ebi-M_4kTQnW7glvVlyWcMz??PsRXMjf8QsO)vv{mY`%`}J^o+xD$+-Ww& zV6zg&`|d`+F-hTV*eH`cTVpX(vS?a^=KFMcfzwi+uGv z33q40&M}I4Uas*&?XkSH9%UtM!fiwz78pL%`?l)HY>)IYNK!H64Luulac1OOl$XDZ z6URQ6peC<41M3#-M{S0yXUV_&^38$ zW%ie;h6zq=MFwqX_L9~8+n?8LVW%};yjwiA09=(RF^huu=|TgEJon8)U8vOrobnmu zfEJhb3T_T@9OWnU=eZR+2bO@BFSiack|%(}{DiM_4u}rg33DtH_$=HZ(d&gSzw~NH zA3f7cbv+e}&PO6H9ioO%VQ_*FQHI3|EA*>W%+gh>@G*A-P1scM0CY{2acAPN^Khtb zZ3Izl?RKifF*iXDI4FJbV(ch=a;Uj%y`_F@r9@~31M`cTCp})RW|&OLK-yfRaXD-a zhjH{V{j<{;<78+2mHk2`(eZ5-XqC9qs^Q1BIh%<1&eJsVx}25zL5FoY>L&^zJG81* zLNUmTdkO{kR~x8p_$E3z@2jJbbAa3c6ncLwJXdo0&32)BFsMSEiSoO{j{qmK08a+V zTo{*1u_5r^ny~XPpy8}y0nGg0F%2IX523yb-}rsyHjdO#2Lasi4zIZ(&K+?g)uL7< z0(+>vcc}t^sN=K(2a@tGE@dpbD5#6AVn^|ZAg|=D`dv(Wp{@|a95M4tYld98fNQvA zn=J9f)F9GYu7^Tj=&M%f?h6$(5`lUVkBBpO4V}3@J6pm|f{VlDSQ&db0P#bDm7Nr@ z20V%PGq!7#3sYa5&nR`LLq#Ld_v19P?^jmpxiZ|La3TtA1J1-W0FNyjA@;Uaqrwr# z&Fu2J{cQh7@hhICO+xa^Xb4;hrkR6oVE$b)1^ev>yBY7E4XfG2ZyUN=eJUS0B|?Rd zPUVJJVgoFNyQ>7W@?~C>X1RN!s6CM$b)Tm z%UTbvoiyO}4Or6$X1`W~O00_jnK=uD7ZI^(%2Eg`Y zDzpbtVoacr?QT?NnS{%X>dc8}$MpyjvI^~Lt|;tM20M)Ty7pg6d8=JUUqivY7Luv! zSBner-CsK~#yijV_T`vdw#Q+nCmFvHmej5Q@ujdYo8PwbZI3?p zBSn0$Wb8je>YVv+SuyYKStLH~yFI*Dub#zmgG=43A5N}{MNpCc9=?mrt{vmz+(y!2 z9ZaNTf$1;a8sLqytO1gE`Ds* z53P0F2pxT9)a*|x`G|=gsM2nMB}qXhl32kiEP|4Knw}MG;fFodG!T;w^Pc$Gc*$HS zrdU<0Qo&yS7x|-S0o)~Zo9sb@;GGqzOD{XF_AgTn5TcoQkKI?ielD7wHO!*Nn6oz1 zH#6p53aa3z_VD_13l)jOU49>N zEe3P0ZW#*$T?B?sx$9)*HF;85R@_lX8bB>6@viT%7;i&HXV0$6hMKcZDP67#4S87> zkOP$Tt19262X6Je)yVJi+Y5nKUO57t<0C}^A3@JoEfeR%YC&6qx&(@HEjwL%NidE- z7x2vJTMn%-vKXZ(?))v@E`>oZ`?}!fQDp9@u%UNad21;`kbYCxJN$*fUU(F7pkyno zke(vt_MzlrBz&NIRy_P#8`o(U7&%BGTAbg%?(W#Sinsb*KXBy1ku<&O6j)B|_Gh{( z|7|v_((UJIZ5gKI)w+>L}QK{Uq^@+28fwA&GfhYz97L+;mFgXEFxFllX?0kDL8{Dm(D zacymTV6pLDND@&L;$y1Y+9ph)nPe%h@hXsDdv4RL#hV!r`3`#nIwpe#t@9>5k5Y1I z^1bB@v3-OOCoK1&0X>|0=&{9$VlULB`aar$EpxK2@|4kg&Kdu<12g`{!*PX*Yu>0& zJ!*G?-vZfU(s$8#Yc%LhD0A3(VyZ<}6sIA>c*ASgujRCk0(1dM=e*!02ziCXwq8J; z-B;H>eQ+##REl`R&a7&a@RTTkb~;)cqsv| zS;1cCVLym}Q6yTIAZOy!xuV@xrko&|3=iqo$`coiF0OmVs<`+jIZUapIJWL45tt@f z(1o@~^Tgo4W=zrZ!c19vtn0}kznUFkgD5TG{cYZ3&mbc+boYC#^9%&+?HZn^lMLnY zT4H?dX98bw*PwC>iME7KrkTN$?68;nk!4Q&8Yl142fwxKMmHuuUj{5`^iKoSZxPm0 zW6(zdA0f-|%(hX}<1M5XChPN5S5|QZ??zes?lB9^CqrEMZ*W9Q{q+h%_2U2-*qD%b zF2H>`3N-Qk+mk&8x+x!dOFksh(Pk0-9#ClrL8}Va9Dpf0@p#`$$lUddBxQGTY6o7O z6bwhkF83qJI_?;;zkl^6^8BCFOY%^0-H~Tr`K8S3Z z1>~7?@}{tDjdLJAmXU1Tr67w}2Vbp4t3s+!FL1a2xfNg$>5A}Gg>d8*D#`ie9((`D zpA5BZXMR&OB8minf3m|_!nB$peP%4i*BMMuM&__Fwl-s#2|%>brOxT_<{uiH1NcPa zNumk4y2%B<%fQ%9r0MwIcpqIOg^S8R`Qn!6KWl|TVDSVD_j8~%Z6#D3)laNkpkhjk zS_j}(sr*Ivi)P#9j&R~UOoI&^FWgod(ES(pd$v2j@0i;(HO}>UM~D9wc3L;~od?{C z30ug1D~%xD!6&*FJ@SBcU;$AM_NNsRb5b{5Dnjo*lqv4<^K+q8mix9Q*q8g9GrP<>>TiyQ)I|{`0-XB<25g&Z90%ft1wpySV z+47A?96g$~l2ENlgX0-%Q?$!ti@}>Hg$BVnnne!8RA{%6aXrJB-htN}W_buw#b{Qi z?cfWRaVt?+%EjxFLwLN@(Lvl()yw?ju^Ujxjbub_;?F+Yob^9h5u zBYO>%Pw=o$kNQ2rF~bWUFGIIbo&i3E-e^SII#cQ<=jI7=1$;W+RJP#WfEWE?s#T1& zIWk=v+O9?SJMU8tF)yM@D)OFK8CUx z-dJ35Flxi0}if=ytaY~ah2bTNngs|(fgEPo+HLa{If!_X7~>8C=?_Gidx5h#}M-c4gg`IqTqB%h02;|KXB2I`YL}F z?bEd9OuNtGxP19Y%{7$OsBKSK;T^uefB^ZxkIq@;LeU7c5W`+R2@VH4>`6Vx>8~)c zNRH3YmOkS7E=FP|Msf(asi3CQ7YjKaB7y;d@2n#}`*1&3gV>k&P6FQ+ly{Fvl0laE z6QonQUZ3m!(w*QqX3=&l7`r73Y(56G79DoyzPN~=9{VK9xN3+;Y?#xA-0NoByxY?A z+&7E5JJ;T2Y@UzphoW!C-tyQn^rwVz}Kln8w(g zSD#0|9f(ijyGq}4_0qA`8do*;FiV_JFD_fN9|SG zae=BMHN=h@J&yyCv~bQF;xZ|NjmJ;e~8RSvF}@e#Aj!K)u- z9M59N`LifTi$VX`61;8G8P{tn`lhYxLvUv{#lGnMZ$YgfKL74 zIe&K3`Io%T-3I!fLixSuPdpbe7W@aEvkq_2zK*o*&j&Z3hUQ!s@{*tZ0gsI|vMUPN zL{-n$zfOCCnbOLik1?Lf+$k@9m+#yHZ3~|&hkT6r3_i(EoMgtvw4LV5dh*oMjGJ_Z z_@ETandmuL(zhe{tPG3%9B80yC4DO$j6kk{ zA5G>L*H;;{zd3+ikFW>hY=_LB$;kzu9(O@>v_tqEIUc_{x?bG&`SvwDYk;=5haM|< zH+4eVuZJ!#$P0Y-(bdZ3G8k1l^ui$$XNu+l3Vh6d3QfDCVfyw<`GJm7>ikt`Ohe#Y<-KUTyopuQiQ}v*7vgt!T!X-mpIsF+TXWQ zYR~?xC)8Bdx{leg+OBo0f_;i}YAYpd*D7nAFse<4X|R=DP~m@yFF&&V6YvtyB`$buNT7Pky!yS0`Q*clSWwL}BzMr1?w2`K}sH z;yiH=1Sxl%scxdVbCx>?e%C;Y!v^~2YXtF;uWZY)Sl{nD3N_)Ft-8gV?NF_fj)|_x z;jpk{OZeHg;P*5?ez%^uh;IV#i??%>Xz07(SOmX{gYz24PCH(U^|IHpRV*IIFFv-N z3lyzvBlmjjm$Kqu6}N{3@prDo+3U9H{KhZ5ISldggLNHWRPYuC(p-o~lp$nP9OOIS ztI{uhx4PY=`4R_dT9xkNT~!}YEkYWTb>%tvQG8P$* zaqzx<*^YI5NfX~4yZBh%Yc&ByB8{DA`?Q|)we7@HHI3Q1v5c$lqz7%oJ`+Sdx#oO2 z2SV=n>_73NPM&>>gL4|&rfyAO|JHYW_UT*+(nRo@ZCfUdEy+PH52Zfiyk+ZEm37+? zEbC`+O=Ffm_G2>LF+}}-c?=#7U{qH}pf~wR)_G`pX*ii&o4z;>2_Kq^^s|k~3t3uu zUA@yawio>U^F0PJgYjaUuTd_au zRd+LcEw)X8t(8f5f7brD((M+vJ`JALmGPQ9xHb8+qf{;#r!6|q-uGHn8pJ-c?N_by zN#A4LYTB%+-ha|p)iyuPoK~&lcX9YM^sHL<)6`34YMO)8=6{NNP3@=ttMW=s*AqTl zd#?^xuNkc!Lqg(cUOqfa=foBHM8fVD@W30lBVyg0#%t20;#ZX~bE+3?%3ZLx^lmiyVu_t!J?M*8#9 zHq|7^nuk0EwxodGd_1zqd)}CDNt^t)JO%O;_$(yG@o&sN83Z%RSGvi&6yLd?Z`d?kDY`c-?4f?jD zWxl061@aWgQy@=)PoRJ+brTKque!eAcq6v$H`Pk}rI@)XEZ;D0#<@&^5X`2^ -1); + + done(); + }); + }); + + it('should detect labels from multiple images', function(done) { + vision.detectLabels([ + IMAGES.logo, + IMAGES.rushmore + ], function(err, labels) { + assert.ifError(err); + + assert.strictEqual(labels.length, 2); + + assert(labels[0].length > -1); + assert(labels[1].length > -1); + + done(); + }); + }); + + it('should support verbose mode', function(done) { + var options = { + verbose: true + }; + + vision.detectLabels(IMAGES.rushmore, options, function(err, labels) { + assert.ifError(err); + + assert(is.defined(labels[0].mid)); + + done(); + }); + }); + }); + + describe('landmarks', function() { + it('should detect landmarks from an image', function(done) { + vision.detectLandmarks(IMAGES.rushmore, function(err, landmarks) { + assert.ifError(err); + + var expected = ['Mount Rushmore']; + expected.errors = []; + + assert.deepEqual(landmarks, expected); + + done(); + }); + }); + + it('should detect landmarks from multiple images', function(done) { + vision.detectLandmarks([ + IMAGES.logo, + IMAGES.rushmore + ], function(err, landmarks) { + assert.ifError(err); + + assert.strictEqual(landmarks.length, 2); + + var expectedLandmark1 = []; + expectedLandmark1.errors = []; + assert.deepEqual(landmarks[0], expectedLandmark1); + + var expectedLandmark2 = ['Mount Rushmore']; + expectedLandmark2.errors = []; + assert.deepEqual(landmarks[1], expectedLandmark2); + + done(); + }); + }); + + it('should support verbose mode', function(done) { + var opts = { + verbose: true + }; + + vision.detectLandmarks(IMAGES.rushmore, opts, function(err, landmarks) { + assert.ifError(err); + + assert(is.defined(landmarks[0].mid)); + + done(); + }); + }); + }); + + describe('logos', function() { + it('should detect logos from an image', function(done) { + vision.detectLogos(IMAGES.logo, function(err, logos) { + assert.ifError(err); + + var expected = ['Google']; + expected.errors = []; + + assert.deepEqual(logos, expected); + + done(); + }); + }); + + it('should detect logos from multiple images', function(done) { + vision.detectLogos([ + IMAGES.rushmore, + IMAGES.logo + ], function(err, logos) { + assert.ifError(err); + + assert.strictEqual(logos.length, 2); + + var expectedLogo1 = []; + expectedLogo1.errors = []; + assert.deepEqual(logos[0], expectedLogo1); + + var expectedLogo2 = ['Google']; + expectedLogo2.errors = []; + assert.deepEqual(logos[1], expectedLogo2); + + done(); + }); + }); + + it('should support verbose mode', function(done) { + var options = { + verbose: true + }; + + vision.detectLogos(IMAGES.logo, options, function(err, logos) { + assert.ifError(err); + + assert(is.defined(logos[0].mid)); + + done(); + }); + }); + }); + + describe('properties', function() { + it('should detect image properties', function(done) { + vision.detectProperties(IMAGES.rushmore, function(err, properties) { + assert.ifError(err); + + assert.deepEqual(properties.colors, [ + '3b3027', + '727d81', + '3f2f22', + '838e92', + '482a16', + '5f4f3c', + '261b14', + 'b39b7f', + '51473f', + '2c1e12' + ]); + + done(); + }); + }); + + it('should detect image properties from multiple images', function(done) { + vision.detectProperties([ + IMAGES.logo, + IMAGES.rushmore + ], function(err, properties) { + assert.ifError(err); + + assert.strictEqual(properties.length, 2); + assert(is.array(properties[0].colors)); + assert(is.array(properties[1].colors)); + + done(); + }); + }); + + it('should support verbose mode', function(done) { + var options = { + verbose: true + }; + + vision.detectProperties(IMAGES.rushmore, options, function(err, props) { + assert.ifError(err); + + assert(is.object(props.colors[0])); + + done(); + }); + }); + }); + + describe('SafeSearch', function() { + it('should detect SafeSearch', function(done) { + vision.detectSafeSearch(IMAGES.rushmore, function(err, safesearch) { + assert.ifError(err); + + assert.deepEqual(safesearch, { + adult: false, + errors: [], + medical: false, + spoof: false, + violence: false + }); + + done(); + }); + }); + + it('should detect SafeSearch from multiple images', function(done) { + vision.detectSafeSearch([ + IMAGES.logo, + IMAGES.rushmore + ], function(err, safesearches) { + assert.ifError(err); + + assert.strictEqual(safesearches.length, 2); + assert.deepEqual(safesearches[0], { + adult: false, + errors: [], + medical: false, + spoof: false, + violence: false + }); + assert.deepEqual(safesearches[1], { + adult: false, + errors: [], + medical: false, + spoof: false, + violence: false + }); + + done(); + }); + }); + + it('should support verbose mode', function(done) { + var options = { + verbose: true + }; + + vision.detectSafeSearch(IMAGES.rushmore, options, function(err, ss) { + assert.ifError(err); + + assert(!is.boolean(ss.adult)); + + done(); + }); + }); + }); + + describe('text', function() { + var expectedResults = [ + normalizeNewline(multiline.stripIndent(function() {/* + Google Cloud Client Library for Node.js an idiomatic, intuitive, and + natural way for Node.js developers to integrate with Google Cloud + Platform services, like Cloud Datastore and Cloud Storage. + + */})) + ]; + + expectedResults = expectedResults.concat( + expectedResults[0].replace(/\n/g, ' ').trim().split(' ') + ); + + expectedResults.errors = []; + + it('should detect text', function(done) { + vision.detectText(IMAGES.text, function(err, text) { + assert.ifError(err); + + assert.deepEqual(text, expectedResults); + + done(); + }); + }); + + it('should detect text from multiple images', function(done) { + vision.detectText([ + IMAGES.rushmore, + IMAGES.text + ], function(err, texts) { + assert.ifError(err); + + assert.strictEqual(texts.length, 2); + + var expectedText1 = []; + expectedText1.errors = []; + assert.deepEqual(texts[0], expectedText1); + + + assert.deepEqual(texts[1], expectedResults); + + done(); + }); + }); + + it('should support verbose mode', function(done) { + var options = { + verbose: true + }; + + vision.detectText(IMAGES.text, options, function(err, text) { + assert.ifError(err); + + assert(is.defined(text[0].bounds)); + + done(); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js new file mode 100644 index 00000000000..ead61cc00c0 --- /dev/null +++ b/packages/google-cloud-vision/test/index.js @@ -0,0 +1,1403 @@ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ + +'use strict'; + +var assert = require('assert'); +var async = require('async'); +var deepStrictEqual = require('deep-strict-equal'); +var extend = require('extend'); +var fs = require('fs'); +var nodeutil = require('util'); +var prop = require('propprop'); +var proxyquire = require('proxyquire'); +var tmp = require('tmp'); + +var GrpcService = require('@google-cloud/common').GrpcService; +var Service = require('@google-cloud/common').Service; +var util = require('@google-cloud/common').util; +var PKG = require('../package.json'); + +var fakeUtil = extend({}, util); + +function FakeService() { + this.calledWith_ = arguments; + Service.apply(this, arguments); +} + +nodeutil.inherits(FakeService, Service); + +function FakeFile() { + this.calledWith_ = arguments; +} + +var requestOverride = null; +var fakeRequest = function() { + return (requestOverride || util.noop).apply(this, arguments); +}; + +describe('Vision', function() { + var IMAGE = './image.jpg'; + var PROJECT_ID = 'project-id'; + + var Vision; + var vision; + + before(function() { + Vision = proxyquire('../', { + request: fakeRequest, + '@google-cloud/storage': { + File: FakeFile + }, + '@google-cloud/common': { + Service: FakeService, + util: fakeUtil + } + }); + }); + + beforeEach(function() { + requestOverride = null; + + vision = new Vision({ + projectId: PROJECT_ID + }); + }); + + describe('instantiation', function() { + it('should normalize the arguments', function() { + var normalizeArguments = fakeUtil.normalizeArguments; + var normalizeArgumentsCalled = false; + var fakeOptions = { projectId: PROJECT_ID }; + var fakeContext = {}; + + fakeUtil.normalizeArguments = function(context, options) { + normalizeArgumentsCalled = true; + assert.strictEqual(context, fakeContext); + assert.strictEqual(options, fakeOptions); + return options; + }; + + Vision.call(fakeContext, fakeOptions); + assert(normalizeArgumentsCalled); + + fakeUtil.normalizeArguments = normalizeArguments; + }); + + it('should inherit from Service', function() { + assert(vision instanceof Service); + + var calledWith = vision.calledWith_[0]; + + var baseUrl = 'https://vision.googleapis.com/v1'; + assert.strictEqual(calledWith.baseUrl, baseUrl); + assert.strictEqual(calledWith.projectIdRequired, false); + assert.deepEqual(calledWith.scopes, [ + 'https://www.googleapis.com/auth/cloud-platform' + ]); + assert.strictEqual(calledWith.userAgent, PKG.name + '/' + PKG.version); + }); + }); + + describe('constants', function() { + it('should define constants', function() { + assert.strictEqual(Vision.likelihood.VERY_UNLIKELY, 0); + assert.strictEqual(Vision.likelihood.UNLIKELY, 1); + assert.strictEqual(Vision.likelihood.POSSIBLE, 2); + assert.strictEqual(Vision.likelihood.LIKELY, 3); + assert.strictEqual(Vision.likelihood.VERY_LIKELY, 4); + }); + }); + + describe('annotate', function() { + var REQ = {}; + + it('should arrify request objects', function(done) { + vision.request = function(reqOpts) { + assert.strictEqual(reqOpts.json.requests[0], REQ); + done(); + }; + + vision.annotate(REQ, assert.ifError); + }); + + it('should make the correct API request', function(done) { + var requests = [REQ, REQ]; + + vision.request = function(reqOpts) { + assert.strictEqual(reqOpts.method, 'POST'); + assert.strictEqual(reqOpts.uri, 'images:annotate'); + assert.strictEqual(reqOpts.json.requests, requests); + + done(); + }; + + vision.annotate(requests, assert.ifError); + }); + + describe('error', function() { + var error = new Error('Error.'); + var apiResponse = {}; + + beforeEach(function() { + vision.request = function(reqOpts, callback) { + callback(error, apiResponse); + }; + }); + + it('should execute callback with error & API response', function(done) { + vision.annotate(REQ, function(err, annotations, resp) { + assert.strictEqual(err, error); + assert.strictEqual(annotations, null); + assert.strictEqual(resp, apiResponse); + done(); + }); + }); + }); + + describe('success', function() { + var apiResponse = { + responses: [] + }; + + beforeEach(function() { + vision.request = function(reqOpts, callback) { + callback(null, apiResponse); + }; + }); + + it('should execute callback with annotations & API resp', function(done) { + vision.annotate(REQ, function(err, annotations, resp) { + assert.ifError(err); + + assert.strictEqual(annotations, apiResponse.responses); + assert.strictEqual(resp, apiResponse); + + done(); + }); + }); + }); + }); + + describe('detect', function() { + var findImages_; + var formatFaceAnnotation_; + var formatImagePropertiesAnnotation_; + var formatEntityAnnotation_; + var formatSafeSearchAnnotation_; + + var TYPES = [ + 'face', + 'label' + ]; + + var IMAGES = [ + { + content: 'aGk=' + } + ]; + + before(function() { + findImages_ = Vision.findImages_; + formatFaceAnnotation_ = Vision.formatFaceAnnotation_; + formatImagePropertiesAnnotation_ = + Vision.formatImagePropertiesAnnotation_; + formatEntityAnnotation_ = Vision.formatEntityAnnotation_; + formatSafeSearchAnnotation_ = Vision.formatSafeSearchAnnotation_; + }); + + beforeEach(function() { + Vision.findImages_ = function(images, callback) { + callback(null, IMAGES); + }; + }); + + after(function() { + Vision.findImages_ = findImages_; + Vision.formatFaceAnnotation_ = formatFaceAnnotation_; + Vision.formatImagePropertiesAnnotation_ = + formatImagePropertiesAnnotation_; + Vision.formatEntityAnnotation_ = formatEntityAnnotation_; + Vision.formatSafeSearchAnnotation_ = formatSafeSearchAnnotation_; + }); + + it('should find the images', function(done) { + Vision.findImages_ = function(images) { + assert.strictEqual(images, IMAGE); + done(); + }; + + vision.detect(IMAGE, TYPES, assert.ifError); + }); + + it('should return an error from findImages_', function(done) { + var error = new Error('Error.'); + + Vision.findImages_ = function(images, callback) { + assert.strictEqual(images, IMAGE); + callback(error); + }; + + vision.detect(IMAGE, TYPES, function(err) { + assert.strictEqual(err, error); + done(); + }); + }); + + it('should throw an error if a type does not exist', function() { + var type = 'not-real-type'; + + assert.throws(function() { + vision.detect(IMAGE, type, assert.ifError); + }, 'Requested detection feature not found: ' + type); + }); + + it('should format the correct config', function(done) { + var typeShortNameToFullName = { + face: 'FACE_DETECTION', + faces: 'FACE_DETECTION', + + label: 'LABEL_DETECTION', + labels: 'LABEL_DETECTION', + + landmark: 'LANDMARK_DETECTION', + landmarks: 'LANDMARK_DETECTION', + + logo: 'LOGO_DETECTION', + logos: 'LOGO_DETECTION', + + properties: 'IMAGE_PROPERTIES', + + safeSearch: 'SAFE_SEARCH_DETECTION', + + text: 'TEXT_DETECTION' + }; + + var shortNames = Object.keys(typeShortNameToFullName); + + function checkConfig(shortName, callback) { + vision.annotate = function(config) { + assert.deepEqual(config, [ + { + image: IMAGES[0], + features: { + type: typeShortNameToFullName[shortName] + } + } + ]); + + callback(); + }; + + vision.detect(IMAGE, shortName, assert.ifError); + } + + async.each(shortNames, checkConfig, done); + }); + + it('should allow setting imageContext', function(done) { + var imageContext = { + latLongRect: { + minLatLng: { + latitude: 37.420901, + longitude: -122.081293 + }, + maxLatLng: { + latitude: 37.423228, + longitude: -122.086347 + } + } + }; + + vision.annotate = function(config) { + assert.deepEqual(config, [ + { + image: IMAGES[0], + features: { + type: 'LABEL_DETECTION' + }, + imageContext: imageContext + } + ]); + + done(); + }; + + vision.detect(IMAGE, { + types: ['label'], + imageContext: imageContext + }, assert.ifError); + }); + + it('should allow setting maxResults', function(done) { + var maxResults = 10; + + vision.annotate = function(config) { + assert.deepEqual(config, [ + { + image: IMAGES[0], + features: { + type: 'FACE_DETECTION', + maxResults: 10 + } + } + ]); + + done(); + }; + + vision.detect(IMAGE, { + types: ['face'], + maxResults: maxResults + }, assert.ifError); + }); + + it('should return empty detections when none were found', function(done) { + vision.annotate = function(config, callback) { + callback(null, [ + {}, + {} + ]); + }; + + vision.detect(IMAGE, TYPES, function(err, detections) { + assert.ifError(err); + assert.deepEqual(detections, { + faces: [], + labels: [], + errors: [] + }); + done(); + }); + }); + + it('should return the correct detections', function(done) { + var annotations = [ + { + faceAnnotations: {} + }, + { + imagePropertiesAnnotation: {} + }, + { + labelAnnotations: {} + }, + { + landmarkAnnotations: {} + }, + { + logoAnnotations: {} + }, + { + safeSearchAnnotation: {} + }, + { + textAnnotations: {} + } + ]; + + var faceAnnotation = {}; + var imagePropertiesAnnotation = {}; + var entityAnnotation = {}; + var safeSearchAnnotation = {}; + + Vision.formatFaceAnnotation_ = function() { + return faceAnnotation; + }; + + Vision.formatImagePropertiesAnnotation_ = function() { + return imagePropertiesAnnotation; + }; + + Vision.formatEntityAnnotation_ = function() { + return entityAnnotation; + }; + + Vision.formatSafeSearchAnnotation_ = function() { + return safeSearchAnnotation; + }; + + vision.annotate = function(config, callback) { + callback(null, annotations); + }; + + var expected = { + faces: faceAnnotation, + properties: imagePropertiesAnnotation, + labels: entityAnnotation, + landmarks: entityAnnotation, + logos: entityAnnotation, + safeSearch: safeSearchAnnotation, + text: entityAnnotation + }; + + var types = Object.keys(expected); + + vision.detect(IMAGE, types, function(err, detections) { + assert.ifError(err); + + expected.errors = []; + assert(deepStrictEqual(detections, expected)); + + done(); + }); + }); + + it('should return an empty array for empty responses', function(done) { + var annotations = [ + {}, // empty `faceAnnotations` + { + imagePropertiesAnnotation: {} + } + ]; + + vision.annotate = function(config, callback) { + callback(null, annotations); + }; + + var expected = { + faces: [], + properties: {} + }; + + var types = Object.keys(expected); + + vision.detect(IMAGE, types, function(err, detections) { + assert.ifError(err); + + expected.errors = []; + assert(deepStrictEqual(detections, expected)); + + done(); + }); + }); + + it('should return annotation errors', function(done) { + var error1 = {}; + var error2 = {}; + + var annotations = [ + { error: error1 }, + { error: error2 } + ]; + + var formattedError = {}; + + vision.formatError_ = function() { + return formattedError; + }; + + vision.annotate = function(config, callback) { + callback(null, annotations); + }; + + vision.detect(IMAGE, ['faces', 'properties'], function(err, detections) { + assert.ifError(err); + + assert(deepStrictEqual(detections, { + faces: [], + properties: {}, + errors: [ + formattedError, + formattedError + ] + })); + + done(); + }); + }); + + it('should return only the detection wanted', function(done) { + vision.annotate = function(config, callback) { + callback(null, [{}]); + }; + + vision.detect(IMAGE, ['face'], function(err, detection) { + assert.ifError(err); + + var expected = []; + expected.errors = []; + + assert.deepEqual(detection, expected); + + done(); + }); + }); + + it('should return the correct detections for multiple img', function(done) { + var anno = { a: 'b', c: 'd' }; + + var annotations = [ + // Image 1 annotations: + { + faceAnnotations: anno + }, + { + imagePropertiesAnnotation: anno + }, + { + labelAnnotations: anno + }, + { + landmarkAnnotations: anno + }, + { + logoAnnotations: anno + }, + { + safeSearchAnnotation: anno + }, + { + textAnnotations: anno + }, + + // Image 2 annotations: + { + faceAnnotations: anno + }, + { + imagePropertiesAnnotation: anno + }, + { + labelAnnotations: anno + }, + { + landmarkAnnotations: anno + }, + { + logoAnnotations: anno + }, + { + safeSearchAnnotation: anno + }, + { + textAnnotations: anno + } + ]; + + var faceAnnotation = {}; + var imagePropertiesAnnotation = {}; + var entityAnnotation = {}; + var safeSearchAnnotation = {}; + + Vision.formatFaceAnnotation_ = function(anno_) { + assert.strictEqual(anno_, anno); + return faceAnnotation; + }; + + Vision.formatImagePropertiesAnnotation_ = function(anno_) { + assert.strictEqual(anno_, anno); + return imagePropertiesAnnotation; + }; + + Vision.formatEntityAnnotation_ = function(anno_) { + assert.strictEqual(anno_, anno); + return entityAnnotation; + }; + + Vision.formatSafeSearchAnnotation_ = function(anno_) { + assert.strictEqual(anno_, anno); + return safeSearchAnnotation; + }; + + Vision.findImages_ = function(images, callback) { + callback(null, IMAGES.concat(IMAGES)); + }; + + vision.annotate = function(config, callback) { + callback(null, annotations); + }; + + var expected = [ + { + faces: faceAnnotation, + properties: imagePropertiesAnnotation, + labels: entityAnnotation, + landmarks: entityAnnotation, + logos: entityAnnotation, + safeSearch: safeSearchAnnotation, + text: entityAnnotation, + errors: [] + }, + { + faces: faceAnnotation, + properties: imagePropertiesAnnotation, + labels: entityAnnotation, + landmarks: entityAnnotation, + logos: entityAnnotation, + safeSearch: safeSearchAnnotation, + text: entityAnnotation, + errors: [] + } + ]; + + var types = Object.keys(expected[0]); + types.pop(); // remove `errors` + + vision.detect([IMAGE, IMAGE], types, function(err, detections) { + assert.ifError(err); + assert(deepStrictEqual(detections, expected)); + done(); + }); + }); + + it('should return an error from annotate()', function(done) { + var error = new Error('Error.'); + var apiResponse = {}; + + vision.annotate = function(config, callback) { + callback(error, null, apiResponse); + }; + + vision.detect(IMAGE, TYPES, function(err, annotations, resp) { + assert.strictEqual(err, error); + assert.strictEqual(annotations, null); + assert.strictEqual(resp, apiResponse); + done(); + }); + }); + + it('should return the apiResponse from annotate()', function(done) { + var apiResponse = { + responses: [ + { + faceAnnotations: {} + } + ] + }; + + var originalApiResponse = extend(true, {}, apiResponse); + + Vision.formatFaceAnnotation_ = function() { + return {}; + }; + + vision.annotate = function(config, callback) { + callback(null, apiResponse.responses, apiResponse); + }; + + vision.detect(IMAGE, TYPES, function(err, annotations, resp) { + assert.ifError(err); + + // assert.strictEqual(resp, apiResponse); + assert.deepEqual(resp, originalApiResponse); + + done(); + }); + }); + }); + + describe('detectFaces', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('faces'); + + vision.detectFaces(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('faces', options); + + vision.detectFaces(IMAGE, options, done); + }); + }); + + describe('detectLabels', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('labels'); + + vision.detectLabels(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('labels', options); + + vision.detectLabels(IMAGE, options, done); + }); + }); + + describe('detectLandmarks', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('landmarks'); + + vision.detectLandmarks(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('landmarks', options); + + vision.detectLandmarks(IMAGE, options, done); + }); + }); + + describe('detectLogos', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('logos'); + + vision.detectLogos(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('logos', options); + + vision.detectLogos(IMAGE, options, done); + }); + }); + + describe('detectProperties', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('properties'); + + vision.detectProperties(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('properties', options); + + vision.detectProperties(IMAGE, options, done); + }); + }); + + describe('detectSafeSearch', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('safeSearch'); + + vision.detectSafeSearch(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('safeSearch', options); + + vision.detectSafeSearch(IMAGE, options, done); + }); + }); + + describe('detectText', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('text'); + + vision.detectText(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('text', options); + + vision.detectText(IMAGE, options, done); + }); + }); + + describe('convertToBoolean_', function() { + it('should return booleans', function() { + var baseLikelihood = Vision.likelihood.LIKELY; + + var object = { + // f's should be false, t's should be true: + veryUnlikely: 'VERY_UNLIKELY', + unlikely: 'UNLIKELY', + possible: 'POSSIBLE', + likely: 'LIKELY', + veryLikely: 'VERY_LIKELY' + }; + + var convertedObject = Vision.convertToBoolean_(baseLikelihood, object); + + assert.deepEqual(convertedObject, { + veryUnlikely: false, + unlikely: false, + possible: false, + likely: true, + veryLikely: true + }); + }); + }); + + describe('findImages_', function() { + it('should convert a File object', function(done) { + var file = new FakeFile(); + file.bucket = { + name: 'bucket-name' + }; + file.name = 'file-name'; + + Vision.findImages_(file, function(err, images) { + assert.ifError(err); + + assert.deepEqual(images, [ + { + source: { + gcsImageUri: 'gs://' + file.bucket.name + '/' + file.name + } + } + ]); + + done(); + }); + }); + + it('should get a file from a URL', function(done) { + var imageUri = 'http://www.google.com/logo.png'; + var body = 'body'; + + requestOverride = function(reqOpts, callback) { + assert.strictEqual(reqOpts.method, 'GET'); + assert.strictEqual(reqOpts.uri, imageUri); + assert.strictEqual(reqOpts.encoding, 'base64'); + + callback(null, {}, body); + }; + + Vision.findImages_(imageUri, function(err, images) { + assert.ifError(err); + assert.deepEqual(images, [ + { + content: body + } + ]); + done(); + }); + }); + + it('should return an error from reading a URL', function(done) { + var imageUri = 'http://www.google.com/logo.png'; + + var error = new Error('Error.'); + + requestOverride = function(reqOpts, callback) { + callback(error); + }; + + Vision.findImages_(imageUri, function(err) { + assert.strictEqual(err, error); + done(); + }); + }); + + it('should read from a file path', function(done) { + tmp.setGracefulCleanup(); + + tmp.file(function tempFileCreated_(err, tmpFilePath) { + assert.ifError(err); + + var contents = 'abcdef'; + + function writeFile(callback) { + fs.writeFile(tmpFilePath, contents, callback); + } + + function convertFile(callback) { + Vision.findImages_(tmpFilePath, callback); + } + + async.waterfall([writeFile, convertFile], function(err, images) { + assert.ifError(err); + + assert.deepEqual(images, [ + { + content: new Buffer(contents).toString('base64') + } + ]); + + done(); + }); + }); + }); + + it('should return an error when file cannot be found', function(done) { + Vision.findImages_('./not-real-file.png', function(err) { + assert.strictEqual(err.code, 'ENOENT'); + done(); + }); + }); + }); + + describe('formatEntityAnnotation_', function() { + var entityAnnotation = { + description: 'description', + mid: 'mid', + score: 0.4, + boundingPoly: { + vertices: {} + }, + confidence: 0.2, + locations: [ + { + latLng: [] + } + ], + properties: {} + }; + + describe('verbose: false', function() { + it('should just return the description', function() { + var formatted = Vision.formatEntityAnnotation_(entityAnnotation, {}); + + assert.strictEqual(formatted, entityAnnotation.description); + }); + }); + + describe('verbose: true', function() { + var opts = { + verbose: true + }; + + it('should format the entity annotation', function() { + var formatted = Vision.formatEntityAnnotation_(entityAnnotation, opts); + + assert.deepEqual(formatted, { + desc: entityAnnotation.description, + mid: entityAnnotation.mid, + score: entityAnnotation.score * 100, + bounds: entityAnnotation.boundingPoly.vertices, + confidence: entityAnnotation.confidence * 100, + locations: entityAnnotation.locations.map(prop('latLng')), + properties: entityAnnotation.properties + }); + }); + }); + }); + + describe('formatError_', function() { + var error = { + code: 1, + message: 'Oh no!' + }; + + it('should format an error', function() { + var err = Vision.formatError_(error); + + assert.deepEqual(err, { + code: GrpcService.GRPC_ERROR_CODE_TO_HTTP[1].code, + message: error.message + }); + }); + }); + + describe('formatFaceAnnotation_', function() { + var faceAnnotation; + + before(function() { + faceAnnotation = { + panAngle: {}, + rollAngle: {}, + tiltAngle: {}, + + boundingPoly: { + vertices: {} + }, + fdBoundingPoly: { + vertices: {} + }, + + landmarkingConfidence: 0.2, + + landmarks: [ + { + type: 'CHIN_GNATHION', + position: {} + }, + { + type: 'CHIN_LEFT_GONION', + position: {} + }, + { + type: 'CHIN_RIGHT_GONION', + position: {} + }, + { + type: 'LEFT_EAR_TRAGION', + position: {} + }, + { + type: 'RIGHT_EAR_TRAGION', + position: {} + }, + { + type: 'LEFT_OF_LEFT_EYEBROW', + position: {} + }, + { + type: 'RIGHT_OF_LEFT_EYEBROW', + position: {} + }, + { + type: 'LEFT_EYEBROW_UPPER_MIDPOINT', + position: {} + }, + { + type: 'LEFT_OF_RIGHT_EYEBROW', + position: {} + }, + { + type: 'RIGHT_OF_RIGHT_EYEBROW', + position: {} + }, + { + type: 'RIGHT_EYEBROW_UPPER_MIDPOINT', + position: {} + }, + { + type: 'LEFT_EYE_BOTTOM_BOUNDARY', + position: {} + }, + { + type: 'LEFT_EYE', + position: {} + }, + { + type: 'LEFT_EYE_LEFT_CORNER', + position: {} + }, + { + type: 'LEFT_EYE_PUPIL', + position: {} + }, + { + type: 'LEFT_EYE_RIGHT_CORNER', + position: {} + }, + { + type: 'LEFT_EYE_TOP_BOUNDARY', + position: {} + }, + { + type: 'RIGHT_EYE_BOTTOM_BOUNDARY', + position: {} + }, + { + type: 'RIGHT_EYE', + position: {} + }, + { + type: 'RIGHT_EYE_LEFT_CORNER', + position: {} + }, + { + type: 'RIGHT_EYE_PUPIL', + position: {} + }, + { + type: 'RIGHT_EYE_RIGHT_CORNER', + position: {} + }, + { + type: 'RIGHT_EYE_TOP_BOUNDARY', + position: {} + }, + { + type: 'FOREHEAD_GLABELLA', + position: {} + }, + { + type: 'LOWER_LIP', + position: {} + }, + { + type: 'UPPER_LIP', + position: {} + }, + { + type: 'MOUTH_CENTER', + position: {} + }, + { + type: 'MOUTH_LEFT', + position: {} + }, + { + type: 'MOUTH_RIGHT', + position: {} + }, + { + type: 'NOSE_BOTTOM_CENTER', + position: {} + }, + { + type: 'NOSE_BOTTOM_LEFT', + position: {} + }, + { + type: 'NOSE_BOTTOM_RIGHT', + position: {} + }, + { + type: 'NOSE_TIP', + position: {} + }, + { + type: 'MIDPOINT_BETWEEN_EYES', + position: {} + } + ], + + detectionConfidence: 0.2, + blurredLikelihood: 'LIKELY', + underExposedLikelihood: 'LIKELY', + joyLikelihood: 'LIKELY', + headwearLikelihood: 'LIKELY', + angerLikelihood: 'LIKELY', + sorrowLikelihood: 'LIKELY', + surpriseLikelihood: 'LIKELY' + }; + }); + + function findLandmark(type) { + var landmarks = faceAnnotation.landmarks; + + return landmarks.filter(function(landmark) { + return landmark.type === type; + })[0].position; + } + + it('should format the annotation', function() { + var expected = { + angles: { + pan: faceAnnotation.panAngle, + roll: faceAnnotation.rollAngle, + tilt: faceAnnotation.tiltAngle + }, + + bounds: { + head: faceAnnotation.boundingPoly.vertices, + face: faceAnnotation.fdBoundingPoly.vertices + }, + + features: { + confidence: faceAnnotation.landmarkingConfidence * 100, + chin: { + center: findLandmark('CHIN_GNATHION'), + left: findLandmark('CHIN_LEFT_GONION'), + right: findLandmark('CHIN_RIGHT_GONION') + }, + ears: { + left: findLandmark('LEFT_EAR_TRAGION'), + right: findLandmark('RIGHT_EAR_TRAGION'), + }, + eyebrows: { + left: { + left: findLandmark('LEFT_OF_LEFT_EYEBROW'), + right: findLandmark('RIGHT_OF_LEFT_EYEBROW'), + top: findLandmark('LEFT_EYEBROW_UPPER_MIDPOINT') + }, + right: { + left: findLandmark('LEFT_OF_RIGHT_EYEBROW'), + right: findLandmark('RIGHT_OF_RIGHT_EYEBROW'), + top: findLandmark('RIGHT_EYEBROW_UPPER_MIDPOINT') + } + }, + eyes: { + left: { + bottom: findLandmark('LEFT_EYE_BOTTOM_BOUNDARY'), + center: findLandmark('LEFT_EYE'), + left: findLandmark('LEFT_EYE_LEFT_CORNER'), + pupil: findLandmark('LEFT_EYE_PUPIL'), + right: findLandmark('LEFT_EYE_RIGHT_CORNER'), + top: findLandmark('LEFT_EYE_TOP_BOUNDARY') + }, + right: { + bottom: findLandmark('RIGHT_EYE_BOTTOM_BOUNDARY'), + center: findLandmark('RIGHT_EYE'), + left: findLandmark('RIGHT_EYE_LEFT_CORNER'), + pupil: findLandmark('RIGHT_EYE_PUPIL'), + right: findLandmark('RIGHT_EYE_RIGHT_CORNER'), + top: findLandmark('RIGHT_EYE_TOP_BOUNDARY') + } + }, + forehead: findLandmark('FOREHEAD_GLABELLA'), + lips: { + bottom: findLandmark('LOWER_LIP'), + top: findLandmark('UPPER_LIP') + }, + mouth: { + center: findLandmark('MOUTH_CENTER'), + left: findLandmark('MOUTH_LEFT'), + right: findLandmark('MOUTH_RIGHT') + }, + nose: { + bottom: { + center: findLandmark('NOSE_BOTTOM_CENTER'), + left: findLandmark('NOSE_BOTTOM_LEFT'), + right: findLandmark('NOSE_BOTTOM_RIGHT') + }, + tip: findLandmark('NOSE_TIP'), + top: findLandmark('MIDPOINT_BETWEEN_EYES') + } + }, + + confidence: faceAnnotation.detectionConfidence * 100, + + blurry: true, + dark: true, + happy: true, + hat: true, + mad: true, + sad: true, + surprised: true + }; + + var formatted = Vision.formatFaceAnnotation_(faceAnnotation); + + assert(deepStrictEqual(formatted, expected)); + }); + }); + + describe('formatImagePropertiesAnnotation_', function() { + var imgAnnotation = { + dominantColors: { + colors: [ + { + color: { + red: 255, + green: 255, + blue: 255 + }, + pixelFraction: 0.8, + score: 0.2 + } + ] + } + }; + + describe('verbose: false', function() { + var opts = {}; + + it('should format the annotation', function() { + var fmtd = Vision.formatImagePropertiesAnnotation_(imgAnnotation, opts); + + assert.deepEqual(fmtd, { + colors: ['ffffff'] + }); + }); + }); + + describe('verbose: true', function() { + var opts = { + verbose: true + }; + + it('should format the annotation', function() { + var fmtd = Vision.formatImagePropertiesAnnotation_(imgAnnotation, opts); + + assert.deepEqual(fmtd, { + colors: [ + { + red: 255, + green: 255, + blue: 255, + hex: 'ffffff', + coverage: 80, + score: 20 + } + ] + }); + }); + }); + }); + + describe('formatSafeSearchAnnotation_', function() { + var safeSearchAnno; + + before(function() { + safeSearchAnno = { + adult: 'LIKELY', + medical: 'LIKELY', + spoof: 'LIKELY', + violence: 'LIKELY' + }; + }); + + describe('verbose: false', function() { + var opts = {}; + + it('should convert values to a boolean', function() { + var fmtd = Vision.formatSafeSearchAnnotation_(safeSearchAnno, opts); + + assert.deepEqual(fmtd, { + adult: true, + medical: true, + spoof: true, + violence: true + }); + }); + }); + + describe('verbose: true', function() { + var opts = { + verbose: true + }; + + it('should return raw response', function() { + var fmtd = Vision.formatSafeSearchAnnotation_(safeSearchAnno, opts); + + assert.strictEqual(fmtd, safeSearchAnno); + }); + }); + }); + + function testWithoutOptions(type) { + return function(images, options, callback) { + assert.strictEqual(images, IMAGE); + assert.deepEqual(options, { + types: [type] + }); + callback(); // done() + }; + } + + function testWithOptions(type, options) { + return function(images, options_, callback) { + assert.strictEqual(images, IMAGE); + assert.notStrictEqual(options_, options); + assert.deepEqual(options_, extend({}, options, { + types: [type] + })); + callback(); // done() + }; + } +}); From 653631f11c452437f34f7637272802067f85039e Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Wed, 3 Aug 2016 20:26:08 -0400 Subject: [PATCH 012/588] set starting version points --- packages/google-cloud-vision/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ee733771a88..74bc0b210e3 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.0.0", + "version": "0.1.0", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ @@ -79,4 +79,4 @@ "engines": { "node": ">=0.12.0" } -} +} \ No newline at end of file From f0c66c7630f6a7bc08eef13f5bcbebb25ed2141f Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Thu, 4 Aug 2016 15:21:59 -0400 Subject: [PATCH 013/588] modular code style --- packages/google-cloud-vision/package.json | 4 +-- packages/google-cloud-vision/src/index.js | 40 +++++----------------- packages/google-cloud-vision/test/index.js | 6 ++-- 3 files changed, 14 insertions(+), 36 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 74bc0b210e3..170d667b171 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -64,7 +64,7 @@ "devDependencies": { "async": "^1.4.2", "deep-strict-equal": "^0.1.0", - "mocha": "^2.1.0", + "mocha": "^3.0.1", "multiline": "^1.0.2", "normalize-newline": "^2.0.0", "proxyquire": "^1.7.10", @@ -79,4 +79,4 @@ "engines": { "node": ">=0.12.0" } -} \ No newline at end of file +} diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 5f27980c576..a0cc8e33491 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -23,39 +23,17 @@ var arrify = require('arrify'); var async = require('async'); var common = require('@google-cloud/common'); -var rgbHex = require('rgb-hex'); var extend = require('extend'); var format = require('string-format-obj'); var fs = require('fs'); var is = require('is'); -var nodeutil = require('util'); var prop = require('propprop'); var request = require('request'); -var PKG = require('../package.json'); - -/** - * @type {module:storage/file} - * @private - */ -var File = require('@google-cloud/storage').File; - -/** - * @type {module:common/grpc-service} - * @private - */ -var GrpcService = common.GrpcService; - -/** - * @type {module:common/service} - * @private - */ -var Service = common.Service; +var rgbHex = require('rgb-hex'); +var Storage = require('@google-cloud/storage'); +var util = require('util'); -/** - * @type {module:common/util} - * @private - */ -var util = common.util; +var PKG = require('../package.json'); var VERY_UNLIKELY = 0; var UNLIKELY = 1; @@ -97,7 +75,7 @@ var VERY_LIKELY = 4; */ function Vision(options) { if (!(this instanceof Vision)) { - options = util.normalizeArguments(this, options); + options = common.util.normalizeArguments(this, options); return new Vision(options); } @@ -110,10 +88,10 @@ function Vision(options) { userAgent: PKG.name + '/' + PKG.version }; - Service.call(this, config, options); + common.Service.call(this, config, options); } -nodeutil.inherits(Vision, Service); +util.inherits(Vision, common.Service); Vision.likelihood = { VERY_UNLIKELY: VERY_UNLIKELY, @@ -1303,7 +1281,7 @@ Vision.findImages_ = function(images, callback) { images = arrify(images); function findImage(image, callback) { - if (image instanceof File) { + if (image instanceof Storage.File) { callback(null, { source: { gcsImageUri: format('gs://{bucketName}/{fileName}', { @@ -1396,7 +1374,7 @@ Vision.formatEntityAnnotation_ = function(entityAnnotation, options) { * @private */ Vision.formatError_ = function(err) { - var httpError = GrpcService.GRPC_ERROR_CODE_TO_HTTP[err.code]; + var httpError = common.GrpcService.GRPC_ERROR_CODE_TO_HTTP[err.code]; if (httpError) { err.code = httpError.code; diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index ead61cc00c0..83ec3b90175 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -21,14 +21,14 @@ var async = require('async'); var deepStrictEqual = require('deep-strict-equal'); var extend = require('extend'); var fs = require('fs'); +var GrpcService = require('@google-cloud/common').GrpcService; var nodeutil = require('util'); var prop = require('propprop'); var proxyquire = require('proxyquire'); -var tmp = require('tmp'); - -var GrpcService = require('@google-cloud/common').GrpcService; var Service = require('@google-cloud/common').Service; +var tmp = require('tmp'); var util = require('@google-cloud/common').util; + var PKG = require('../package.json'); var fakeUtil = extend({}, util); From 3e3c27079d893f18c3fc4948fdf346a61a049c7a Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Thu, 4 Aug 2016 15:46:09 -0400 Subject: [PATCH 014/588] more code style fixes --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 170d667b171..b482877cbe3 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -71,7 +71,7 @@ "tmp": "0.0.27" }, "scripts": { - "publish": "../../scripts/publish", + "publish": "node ../../scripts/publish.js", "test": "mocha test/*.js", "system-test": "mocha system-test/*.js --no-timeouts --bail" }, From ed91c939e71233535ed2900dd364460b1f979f3e Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Thu, 11 Aug 2016 15:03:40 -0400 Subject: [PATCH 015/588] docs: individual package support (#1479) docs: refactor doc scripts for modularization --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index b482877cbe3..7e13fa7a321 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -71,7 +71,7 @@ "tmp": "0.0.27" }, "scripts": { - "publish": "node ../../scripts/publish.js", + "publish": "node ../../scripts/publish.js vision", "test": "mocha test/*.js", "system-test": "mocha system-test/*.js --no-timeouts --bail" }, From a85e6c7ffd33594b0a05e64856a85518059d1e45 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Thu, 11 Aug 2016 20:32:57 -0400 Subject: [PATCH 016/588] fix publish script (#1480) --- packages/google-cloud-vision/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 7e13fa7a321..683dd66dbbc 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.1.0", + "version": "0.1.1", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ @@ -31,7 +31,7 @@ ], "main": "./src/index.js", "files": [ - "./src/*", + "src", "AUTHORS", "CONTRIBUTORS", "COPYING" @@ -71,7 +71,7 @@ "tmp": "0.0.27" }, "scripts": { - "publish": "node ../../scripts/publish.js vision", + "publish-module": "node ../../scripts/publish.js vision", "test": "mocha test/*.js", "system-test": "mocha system-test/*.js --no-timeouts --bail" }, From d3059104af805f00f58bdda9b2878d9e7d6db207 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 15 Aug 2016 08:21:22 -0700 Subject: [PATCH 017/588] docs: generate uniform service overviews (#1475) --- packages/google-cloud-vision/src/index.js | 26 ++++++----------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index a0cc8e33491..d50065948bc 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -42,6 +42,12 @@ var LIKELY = 3; var VERY_LIKELY = 4; /** + *

+ * **This is a Beta release of Google Cloud Vision.** This API is not covered + * by any SLA or deprecation policy and may be subject to backward- + * incompatible changes. + *

+ * * The [Cloud Vision API](https://cloud.google.com/vision/docs) allows easy * integration of vision detection features, including image labeling, face and * landmark detection, optical character recognition (OCR), and tagging of @@ -50,28 +56,10 @@ var VERY_LIKELY = 4; * @constructor * @alias module:vision * - * @classdesc - *

- * **This is a Beta release of Google Cloud Vision.** This API is not covered - * by any SLA or deprecation policy and may be subject to backward- - * incompatible changes. - *

- * - * To learn more about the Vision API, see - * [Getting Started](https://cloud.google.com/vision/docs/getting-started). - * * @resource [Getting Started]{@link https://cloud.google.com/vision/docs/getting-started} * @resource [Image Best Practices]{@link https://cloud.google.com/vision/docs/image-best-practices} * * @param {object} options - [Configuration object](#/docs). - * - * @example - * var gcloud = require('google-cloud')({ - * keyFilename: '/path/to/keyfile.json', - * projectId: 'grape-spaceship-123' - * }); - * - * var vision = gcloud.vision(); */ function Vision(options) { if (!(this instanceof Vision)) { @@ -171,7 +159,7 @@ Vision.prototype.annotate = function(requests, callback) { * * @param {string|string[]|module:storage/file|module:storage/file[]} images - * The source image(s) to run the detection on. It can be either a local - * image path, a remote image URL, or a gcloud File object. + * image path, a remote image URL, or a @google-cloud/storage File object. * @param {string[]|object=} options - An array of types or a configuration * object. * @param {object=} options.imageContext - See an From a4ea8f5dc6905a9c582636029adebe3f53c045b0 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Mon, 15 Aug 2016 23:45:28 -0700 Subject: [PATCH 018/588] Switch to individual API packages. (#169) * Switch to individual API packages. * Address comments * Address comments --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 573136685ae..dec58f3fd21 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -9,8 +9,8 @@ "system-test": "mocha -R spec -t 120000 --require intelli-espower-loader ../system-test/_setup.js system-test/*.test.js" }, "dependencies": { + "@google-cloud/vision": "^0.1.1", "async": "^1.5.0", - "gcloud": "^0.37.0", "natural": "^0.4.0", "redis": "^2.6.0-2" }, From 5ed10e1294913162dd8011b78a1ae09fe03869b2 Mon Sep 17 00:00:00 2001 From: calibr Date: Tue, 16 Aug 2016 18:21:09 +0300 Subject: [PATCH 019/588] allow Buffer as an input image for vision (#1488) * allow Buffer as an input image for vision * fix linting issues * remove process.nextTick --- packages/google-cloud-vision/src/index.js | 6 ++++++ .../google-cloud-vision/system-test/vision.js | 14 ++++++++++++++ packages/google-cloud-vision/test/index.js | 16 ++++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index d50065948bc..9c706e4c148 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -1269,6 +1269,12 @@ Vision.findImages_ = function(images, callback) { images = arrify(images); function findImage(image, callback) { + if (Buffer.isBuffer(image)) { + callback(null, { + content: image.toString('base64') + }); + return; + } if (image instanceof Storage.File) { callback(null, { source: { diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 56b94bd5080..16ab6b7f8ce 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -66,6 +66,20 @@ describe('Vision', function() { }); }); + it('should detect from a Buffer', function(done) { + var buffer = fs.readFileSync(IMAGES.logo); + vision.detect(buffer, ['logos'], function(err, logos) { + assert.ifError(err); + + var expected = ['Google']; + expected.errors = []; + + assert.deepEqual(logos, expected); + + done(); + }); + }); + describe('single image', function() { var TYPES = ['faces', 'labels', 'safeSearch']; diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 83ec3b90175..c3abee30efc 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -949,6 +949,22 @@ describe('Vision', function() { }); }); + + it('should get content from a buffer', function(done) { + var base64String = 'aGVsbG8gd29ybGQ='; + var buffer = new Buffer(base64String, 'base64'); + + Vision.findImages_(buffer, function(err, images) { + assert.ifError(err); + assert.deepEqual(images, [ + { + content: base64String + } + ]); + done(); + }); + }); + it('should return an error when file cannot be found', function(done) { Vision.findImages_('./not-real-file.png', function(err) { assert.strictEqual(err.code, 'ENOENT'); From 7c04a2d5f08e45d856cd86a5abf6ada1c8127ed1 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 16 Aug 2016 13:47:46 -0400 Subject: [PATCH 020/588] tests: fix assert.throws() usage (#1468) --- packages/google-cloud-vision/test/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index c3abee30efc..777b8510282 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -262,7 +262,7 @@ describe('Vision', function() { assert.throws(function() { vision.detect(IMAGE, type, assert.ifError); - }, 'Requested detection feature not found: ' + type); + }, /Requested detection feature not found: not-real-type/); }); it('should format the correct config', function(done) { From 11d80c1c9374f4e315f7fd43152de7483c4dfb4f Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 23 Aug 2016 14:38:50 -0400 Subject: [PATCH 021/588] gcloud-node -> google-cloud-node (#1521) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 683dd66dbbc..a1204ba4c0b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -36,7 +36,7 @@ "CONTRIBUTORS", "COPYING" ], - "repository": "googlecloudplatform/gcloud-node", + "repository": "googlecloudplatform/google-cloud-node", "keywords": [ "google apis client", "google api client", From 90d934b8a93dae91798c10e839c8ca78cc80c930 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 26 Aug 2016 13:25:29 -0400 Subject: [PATCH 022/588] add readmes for all packages (#1495) * add bigquery readme * add all readmes * copy readme as part of release script * gcloud-node -> google-cloud-node * fix youre good to gos * add resource manager scope * exclude unecessary files --- packages/google-cloud-vision/README.md | 165 +++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 packages/google-cloud-vision/README.md diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md new file mode 100644 index 00000000000..181871ba81b --- /dev/null +++ b/packages/google-cloud-vision/README.md @@ -0,0 +1,165 @@ +# @google-cloud/vision +> Google Cloud Vision Client Library for Node.js + +> **This is a Beta release of Google Cloud Vision.** This feature is not covered by any SLA or deprecation policy and may be subject to backward-incompatible changes. + +*Looking for more Google APIs than just Vision? You might want to check out [`google-cloud`][google-cloud].* + +- [API Documentation][gcloud-vision-docs] +- [Official Documentation][cloud-vision-docs] + + +```sh +$ npm install --save @google-cloud/vision +``` +```js +var vision = require('@google-cloud/vision')({ + projectId: 'grape-spaceship-123', + keyFilename: '/path/to/keyfile.json' +}); + +// Read the text from an image. +vision.detectText('./image.jpg', function(err, text) { + // text = [ + // 'This was text found in the image', + // 'This was more text found in the image' + // ] +}); + +// Detect faces and the locations of their features in an image. +vision.detectFaces('./image.jpg', function(err, faces) { + // faces = [ + // { + // angles: {pan,tilt,roll}, + // bounds: { + // head: [{x,y},{x,y},{x,y},{x,y}], + // face: [{x,y},{x,y},{x,y},{x,y}] + // }, + // features: { + // confidence: 34.489909, + // chin: { + // center: {x,y,z}, + // left: {x,y,z}, + // right: {x,y,z} + // }, + // ears: { + // left: {x,y,z}, + // right: {x,y,z} + // }, + // eyebrows: { + // left: { + // left: {x,y,z}, + // right: {x,y,z}, + // top: {x,y,z} + // }, + // right: { + // left: {x,y,z}, + // right: {x,y,z}, + // top: {x,y,z} + // } + // }, + // eyes: { + // left: { + // bottom: {x,y,z}, + // center: {x,y,z}, + // left: {x,y,z}, + // pupil: {x,y,z}, + // right: {x,y,z}, + // top: {x,y,z} + // }, + // right: { + // bottom: {x,y,z}, + // center: {x,y,z}, + // left: {x,y,z}, + // pupil: {x,y,z}, + // right: {x,y,z}, + // top: {x,y,z} + // } + // }, + // forehead: {x,y,z}, + // lips: { + // bottom: {x,y,z}, + // top: {x,y,z} + // }, + // mouth: { + // center: {x,y,z}, + // left: {x,y,z}, + // right: {x,y,z} + // }, + // nose: { + // bottom: { + // center: {x,y,z}, + // left: {x,y,z}, + // right: {x,y,z} + // }, + // tip: {x,y,z}, + // top: {x,y,z} + // } + // }, + // confidence: 56.748849, + // blurry: false, + // dark: false, + // happy: false, + // hat: false, + // mad: false, + // sad: false, + // surprised: false + // } + // ] +}); +``` + + +## Authentication + +It's incredibly easy to get authenticated and start using Google's APIs. You can set your credentials on a global basis as well as on a per-API basis. See each individual API section below to see how you can auth on a per-API-basis. This is useful if you want to use different accounts for different Google Cloud services. + +### On Google Compute Engine + +If you are running this client on Google Compute Engine, we handle authentication for you with no configuration. You just need to make sure that when you [set up the GCE instance][gce-how-to], you add the correct scopes for the APIs you want to access. + +``` js +// Authenticating on a global basis. +var projectId = process.env.GCLOUD_PROJECT; // E.g. 'grape-spaceship-123' + +var vision = require('@google-cloud/vision')({ + projectId: projectId +}); + +// ...you're good to go! +``` + +### Elsewhere + +If you are not running this client on Google Compute Engine, you need a Google Developers service account. To create a service account: + +1. Visit the [Google Developers Console][dev-console]. +2. Create a new project or click on an existing project. +3. Navigate to **APIs & auth** > **APIs section** and turn on the following APIs (you may need to enable billing in order to use these services): + * Google Cloud Vision API +4. Navigate to **APIs & auth** > **Credentials** and then: + * If you want to use a new service account, click on **Create new Client ID** and select **Service account**. After the account is created, you will be prompted to download the JSON key file that the library uses to authenticate your requests. + * If you want to generate a new key for an existing service account, click on **Generate new JSON key** and download the JSON key file. + +``` js +var projectId = process.env.GCLOUD_PROJECT; // E.g. 'grape-spaceship-123' + +var vision = require('@google-cloud/vision')({ + projectId: projectId, + + // The path to your key file: + keyFilename: '/path/to/keyfile.json' + + // Or the contents of the key file: + credentials: require('./path/to/keyfile.json') +}); + +// ...you're good to go! +``` + + +[google-cloud]: https://github.com/GoogleCloudPlatform/google-cloud-node/ +[gce-how-to]: https://cloud.google.com/compute/docs/authentication#using +[dev-console]: https://console.developers.google.com/project +[gcloud-vision-docs]: https://googlecloudplatform.github.io/google-cloud-node/#/docs/vision +[cloud-vision-docs]: https://cloud.google.com/vision/docs From 38ac4c0926c94047cf01634a69fc8e95992699ec Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 26 Aug 2016 17:47:55 -0400 Subject: [PATCH 023/588] bigquery/language/logging/prediction/vision: decouple packages (#1531) * bigquery/language/logging/prediction/vision: decouple packages * tests: allow more time for docs tests to run * add vision test * resort dependencies like npm does --- packages/google-cloud-vision/package.json | 6 +- packages/google-cloud-vision/src/index.js | 4 +- .../google-cloud-vision/system-test/vision.js | 64 ++++++++++++++++++- packages/google-cloud-vision/test/index.js | 25 ++++---- 4 files changed, 80 insertions(+), 19 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a1204ba4c0b..d7c28afa894 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,11 +50,10 @@ "vision" ], "dependencies": { + "@google-cloud/common": "^0.3.0", "arrify": "^1.0.0", "async": "^1.4.2", "extend": "^3.0.0", - "@google-cloud/common": "^0.1.0", - "@google-cloud/storage": "^0.1.0", "is": "^3.0.1", "propprop": "^0.3.0", "request": "^2.70.0", @@ -62,10 +61,11 @@ "string-format-obj": "^1.0.0" }, "devDependencies": { - "async": "^1.4.2", + "@google-cloud/storage": "*", "deep-strict-equal": "^0.1.0", "mocha": "^3.0.1", "multiline": "^1.0.2", + "node-uuid": "^1.4.7", "normalize-newline": "^2.0.0", "proxyquire": "^1.7.10", "tmp": "0.0.27" diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 9c706e4c148..50f3dc0df28 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -30,7 +30,6 @@ var is = require('is'); var prop = require('propprop'); var request = require('request'); var rgbHex = require('rgb-hex'); -var Storage = require('@google-cloud/storage'); var util = require('util'); var PKG = require('../package.json'); @@ -1275,7 +1274,8 @@ Vision.findImages_ = function(images, callback) { }); return; } - if (image instanceof Storage.File) { + + if (common.util.isCustomType(image, 'storage/file')) { callback(null, { source: { gcsImageUri: format('gs://{bucketName}/{fileName}', { diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 16ab6b7f8ce..72bddce4a4a 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -17,18 +17,20 @@ 'use strict'; var assert = require('assert'); +var async = require('async'); var fs = require('fs'); var http = require('http'); var is = require('is'); var multiline = require('multiline'); var normalizeNewline = require('normalize-newline'); var path = require('path'); +var Storage = require('@google-cloud/storage'); +var uuid = require('node-uuid'); var env = require('../../../system-test/env.js'); var Vision = require('../'); describe('Vision', function() { - var vision; var IMAGES = { logo: path.join(__dirname, 'data/logo.jpg'), rushmore: path.join(__dirname, 'data/rushmore.jpg'), @@ -36,8 +38,47 @@ describe('Vision', function() { malformed: path.join(__dirname, 'data/index.yaml') }; - beforeEach(function() { - vision = new Vision(env); + var TESTS_PREFIX = 'gcloud-vision-test'; + + var storage = new Storage(env); + var vision = new Vision(env); + + var bucket = storage.bucket(generateName()); + var file = bucket.file('logo.jpg'); + + before(function(done) { + bucket.create(function(err) { + if (err) { + done(err); + return; + } + + bucket.upload(IMAGES.logo, done); + }); + }); + + after(function(done) { + storage.getBuckets({ + prefix: TESTS_PREFIX + }, function(err, buckets) { + if (err) { + done(err); + return; + } + + function deleteBucket(bucket, callback) { + bucket.deleteFiles(function(err) { + if (err) { + callback(err); + return; + } + + bucket.delete(callback); + }); + } + + async.each(buckets, deleteBucket, done); + }); }); it('should detect from a URL', function(done) { @@ -66,6 +107,19 @@ describe('Vision', function() { }); }); + it('should detect from a File', function(done) { + vision.detect(file, ['logos'], function(err, logos) { + assert.ifError(err); + + var expected = ['Google']; + expected.errors = []; + + assert.deepEqual(logos, expected); + + done(); + }); + }); + it('should detect from a Buffer', function(done) { var buffer = fs.readFileSync(IMAGES.logo); vision.detect(buffer, ['logos'], function(err, logos) { @@ -525,4 +579,8 @@ describe('Vision', function() { }); }); }); + + function generateName() { + return TESTS_PREFIX + uuid.v1(); + } }); diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 777b8510282..5862407e5d6 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -40,10 +40,6 @@ function FakeService() { nodeutil.inherits(FakeService, Service); -function FakeFile() { - this.calledWith_ = arguments; -} - var requestOverride = null; var fakeRequest = function() { return (requestOverride || util.noop).apply(this, arguments); @@ -59,9 +55,6 @@ describe('Vision', function() { before(function() { Vision = proxyquire('../', { request: fakeRequest, - '@google-cloud/storage': { - File: FakeFile - }, '@google-cloud/common': { Service: FakeService, util: fakeUtil @@ -860,11 +853,21 @@ describe('Vision', function() { describe('findImages_', function() { it('should convert a File object', function(done) { - var file = new FakeFile(); - file.bucket = { - name: 'bucket-name' + var file = { + name: 'file-name', + bucket: { + name: 'bucket-name' + } + }; + + var isCustomType = util.isCustomType; + + fakeUtil.isCustomType = function(unknown, type) { + fakeUtil.isCustomType = isCustomType; + assert.strictEqual(unknown, file); + assert.strictEqual(type, 'storage/file'); + return true; }; - file.name = 'file-name'; Vision.findImages_(file, function(err, images) { assert.ifError(err); From 8ac5a501437b2d2cb3ba68d5b293501f9d9645ce Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Mon, 29 Aug 2016 18:03:27 -0400 Subject: [PATCH 024/588] docs: updated vision detect params/examples (#1500) * docs: updated vision detect params/examples * updated buffer example --- packages/google-cloud-vision/src/index.js | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 50f3dc0df28..a4856e94ee4 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -133,6 +133,7 @@ Vision.prototype.annotate = function(requests, callback) { }); }; +// jscs:disable maximumLineLength /** * Detect properties from an image (or images) of one or more types. * @@ -156,9 +157,10 @@ Vision.prototype.annotate = function(requests, callback) { * For the response in the original format, review the `apiResponse` argument * your callback receives. * - * @param {string|string[]|module:storage/file|module:storage/file[]} images - - * The source image(s) to run the detection on. It can be either a local - * image path, a remote image URL, or a @google-cloud/storage File object. + * @param {string|string[]|buffer|buffer[]|module:storage/file|module:storage/file[]} images - The + * source image(s) to run the detection on. It can be either a local image + * path, a remote image URL, a Buffer, or a @google-cloud/storage File + * object. * @param {string[]|object=} options - An array of types or a configuration * object. * @param {object=} options.imageContext - See an @@ -210,6 +212,20 @@ Vision.prototype.annotate = function(requests, callback) { * vision.detect(img, types, function(err, detection, apiResponse) {}); * * //- + * // Run feature detection over a Buffer. + * //- + * var level = require('level'); + * var db = level('./users-database'); + * + * db.get('user-image', { encoding: 'binary' }, function(err, image) { + * if (err) { + * // Error handling omitted. + * } + * + * vision.detect(image, function(err, detection, apiResponse) {}); + * }); + * + * //- * // Supply multiple images for feature detection. * //- * var images = [ @@ -519,6 +535,7 @@ Vision.prototype.detect = function(images, options, callback) { }); }); }; +// jscs:enable maximumLineLength /** * Run face detection against an image. From c2c1f8f14bb7614c971594e23475682449c6eb92 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 30 Aug 2016 11:10:48 -0400 Subject: [PATCH 025/588] vision @ 0.2.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index d7c28afa894..152e2b2db90 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.1.1", + "version": "0.2.0", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ From 25bb2ed002ec6a26c974df76ac2d27210417327f Mon Sep 17 00:00:00 2001 From: Song Wang Date: Thu, 8 Sep 2016 12:55:24 -0700 Subject: [PATCH 026/588] Introduce Gapic-generated files for cloud vision API. (#1576) --- packages/google-cloud-vision/package.json | 3 + packages/google-cloud-vision/src/index.js | 1 + .../src/v1/image_annotator_api.js | 188 ++++++++++++++++++ .../src/v1/image_annotator_client_config.json | 33 +++ packages/google-cloud-vision/src/v1/index.js | 32 +++ 5 files changed, 257 insertions(+) create mode 100644 packages/google-cloud-vision/src/v1/image_annotator_api.js create mode 100644 packages/google-cloud-vision/src/v1/image_annotator_client_config.json create mode 100644 packages/google-cloud-vision/src/v1/index.js diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 152e2b2db90..ab3040b3055 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -51,9 +51,12 @@ ], "dependencies": { "@google-cloud/common": "^0.3.0", + "arguejs": "^0.2.3", "arrify": "^1.0.0", "async": "^1.4.2", "extend": "^3.0.0", + "google-gax": "^0.6.0", + "google-proto-files": "^0.7.0", "is": "^3.0.1", "propprop": "^0.3.0", "request": "^2.70.0", diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index a4856e94ee4..c4b1255bcac 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -1550,3 +1550,4 @@ Vision.formatSafeSearchAnnotation_ = function(ssAnnotation, options) { }; module.exports = Vision; +module.exports.v1 = require('./v1'); diff --git a/packages/google-cloud-vision/src/v1/image_annotator_api.js b/packages/google-cloud-vision/src/v1/image_annotator_api.js new file mode 100644 index 00000000000..50bee6095e5 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/image_annotator_api.js @@ -0,0 +1,188 @@ +/* + * Copyright 2016 Google Inc. All rights reserved. + * + * 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. + * + * EDITING INSTRUCTIONS + * This file was generated from the file + * https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto, + * and updates to that file get reflected here through a refresh process. + * For the short term, the refresh process will only be runnable by Google + * engineers. + * + * The only allowed edits are to method and file documentation. A 3-way + * merge preserves those additions if the generated source changes. + */ +/* TODO: introduce line-wrapping so that it never exceeds the limit. */ +/* jscs: disable maximumLineLength */ +'use strict'; + +var arguejs = require('arguejs'); +var configData = require('./image_annotator_client_config'); +var extend = require('extend'); +var gax = require('google-gax'); + +var SERVICE_ADDRESS = 'vision.googleapis.com'; + +var DEFAULT_SERVICE_PORT = 443; + +var CODE_GEN_NAME_VERSION = 'gapic/0.1.0'; + +var DEFAULT_TIMEOUT = 30; + +/** + * The scopes needed to make gRPC calls to all of the methods defined in + * this service. + */ +var ALL_SCOPES = [ + 'https://www.googleapis.com/auth/cloud-platform' +]; + +/** + * Service that performs Google Cloud Vision API detection tasks, such as face, + * landmark, logo, label, and text detection, over client images, and returns + * detected entities from the images. + * + * This will be created through a builder function which can be obtained by the module. + * See the following example of how to initialize the module and how to access to the builder. + * @see {@link imageAnnotatorApi} + * + * @example + * var visionV1 = require('@google-cloud/vision').v1({ + * // optional auth parameters. + * }); + * var api = visionV1.imageAnnotatorApi(); + * + * @class + */ +function ImageAnnotatorApi(gaxGrpc, grpcClient, opts) { + opts = opts || {}; + var servicePath = opts.servicePath || SERVICE_ADDRESS; + var port = opts.port || DEFAULT_SERVICE_PORT; + var sslCreds = opts.sslCreds || null; + var clientConfig = opts.clientConfig || {}; + var timeout = opts.timeout || DEFAULT_TIMEOUT; + var appName = opts.appName || 'gax'; + var appVersion = opts.appVersion || gax.Version; + + var googleApiClient = [ + appName + '/' + appVersion, + CODE_GEN_NAME_VERSION, + 'nodejs/' + process.version].join(' '); + + var defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1.ImageAnnotator', + configData, + clientConfig, + timeout, + null, + null, + {'x-goog-api-client': googleApiClient}); + + var stub = gaxGrpc.createStub( + servicePath, + port, + grpcClient.google.cloud.vision.v1.ImageAnnotator, + {sslCreds: sslCreds}); + var methods = [ + 'batchAnnotateImages' + ]; + methods.forEach(function(methodName) { + this['_' + methodName] = gax.createApiCall( + stub.then(function(stub) { return stub[methodName].bind(stub); }), + defaults[methodName]); + }.bind(this)); +} + +// Service calls + +/** + * Run image detection and annotation for a batch of images. + * + * @param {Object[]} requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link AnnotateImageRequest} + * @param {gax.CallOptions=} options + * Overrides the default settings for this call, e.g, timeout, + * retries, etc. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse} + * @returns {gax.EventEmitter} - the event emitter to handle the call + * status. + * + * @example + * + * var api = visionV1.imageAnnotatorApi(); + * var requests = []; + * api.batchAnnotateImages(requests, function(err, response) { + * if (err) { + * console.error(err); + * return; + * } + * // doThingsWith(response) + * }); + */ +ImageAnnotatorApi.prototype.batchAnnotateImages = function batchAnnotateImages() { + var args = arguejs({ + requests: Array, + options: [gax.CallOptions], + callback: [Function] + }, arguments); + var req = { + requests: args.requests + }; + return this._batchAnnotateImages(req, args.options, args.callback); +}; + +function ImageAnnotatorApiBuilder(gaxGrpc) { + if (!(this instanceof ImageAnnotatorApiBuilder)) { + return new ImageAnnotatorApiBuilder(gaxGrpc); + } + + var grpcClient = gaxGrpc.load([{ + root: require('google-proto-files')('..'), + file: 'google/cloud/vision/v1/image_annotator.proto' + }]); + extend(this, grpcClient.google.cloud.vision.v1); + + /** + * Build a new instance of {@link ImageAnnotatorApi}. + * + * @param {Object=} opts - The optional parameters. + * @param {String=} opts.servicePath + * The domain name of the API remote host. + * @param {number=} opts.port + * The port on which to connect to the remote host. + * @param {grpc.ClientCredentials=} opts.sslCreds + * A ClientCredentials for use with an SSL-enabled channel. + * @param {Object=} opts.clientConfig + * The customized config to build the call settings. See + * {@link gax.constructSettings} for the format. + * @param {number=} opts.timeout + * The default timeout, in seconds, for calls made through this client. + * @param {number=} opts.appName + * The codename of the calling service. + * @param {String=} opts.appVersion + * The version of the calling service. + */ + this.imageAnnotatorApi = function(opts) { + return new ImageAnnotatorApi(gaxGrpc, grpcClient, opts); + }; + extend(this.imageAnnotatorApi, ImageAnnotatorApi); +} +module.exports = ImageAnnotatorApiBuilder; +module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; +module.exports.ALL_SCOPES = ALL_SCOPES; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json new file mode 100644 index 00000000000..12676ae8e70 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json @@ -0,0 +1,33 @@ +{ + "interfaces": { + "google.cloud.vision.v1.ImageAnnotator": { + "retry_codes": { + "retry_codes_def": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + } + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "BatchAnnotateImages": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js new file mode 100644 index 00000000000..78f08f757b4 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/index.js @@ -0,0 +1,32 @@ +/*! + * Copyright 2016 Google Inc. All Rights Reserved. + * + * 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. + */ +'use strict'; + +var visionApi = require('./image_annotator_api'); +var extend = require('extend'); +var gax = require('google-gax'); + +function v1(options) { + options = extend({ + scopes: v1.ALL_SCOPES + }, options); + var gaxGrpc = gax.grpc(options); + return visionApi(gaxGrpc); +} + +v1.SERVICE_ADDRESS = visionApi.SERVICE_ADDRESS; +v1.ALL_SCOPES = visionApi.ALL_SCOPES; +module.exports = v1; From 40618a905afc2e3c80b56124ed1c1208bf74cb1a Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 9 Sep 2016 15:19:15 -0400 Subject: [PATCH 027/588] all modules: ensure all User-Agents are set (#1568) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/src/index.js | 4 +--- packages/google-cloud-vision/test/index.js | 4 +--- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ab3040b3055..07f457bf0b8 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,7 +50,7 @@ "vision" ], "dependencies": { - "@google-cloud/common": "^0.3.0", + "@google-cloud/common": "^0.5.0", "arguejs": "^0.2.3", "arrify": "^1.0.0", "async": "^1.4.2", diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index c4b1255bcac..662c9e5151c 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -32,8 +32,6 @@ var request = require('request'); var rgbHex = require('rgb-hex'); var util = require('util'); -var PKG = require('../package.json'); - var VERY_UNLIKELY = 0; var UNLIKELY = 1; var POSSIBLE = 2; @@ -72,7 +70,7 @@ function Vision(options) { scopes: [ 'https://www.googleapis.com/auth/cloud-platform' ], - userAgent: PKG.name + '/' + PKG.version + packageJson: require('../package.json') }; common.Service.call(this, config, options); diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 5862407e5d6..7790d726ac2 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -29,8 +29,6 @@ var Service = require('@google-cloud/common').Service; var tmp = require('tmp'); var util = require('@google-cloud/common').util; -var PKG = require('../package.json'); - var fakeUtil = extend({}, util); function FakeService() { @@ -101,7 +99,7 @@ describe('Vision', function() { assert.deepEqual(calledWith.scopes, [ 'https://www.googleapis.com/auth/cloud-platform' ]); - assert.strictEqual(calledWith.userAgent, PKG.name + '/' + PKG.version); + assert.deepEqual(calledWith.packageJson, require('../package.json')); }); }); From 5c03bb319f62bccc2165d534ae8ab2ab5ff4fd4d Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 23 Sep 2016 16:07:12 -0400 Subject: [PATCH 028/588] tests: vision: Node.js -> Node js (#1617) --- packages/google-cloud-vision/system-test/vision.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 72bddce4a4a..963c894d20d 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -522,7 +522,7 @@ describe('Vision', function() { describe('text', function() { var expectedResults = [ normalizeNewline(multiline.stripIndent(function() {/* - Google Cloud Client Library for Node.js an idiomatic, intuitive, and + Google Cloud Client Library for Node js an idiomatic, intuitive, and natural way for Node.js developers to integrate with Google Cloud Platform services, like Cloud Datastore and Cloud Storage. @@ -530,7 +530,10 @@ describe('Vision', function() { ]; expectedResults = expectedResults.concat( - expectedResults[0].replace(/\n/g, ' ').trim().split(' ') + expectedResults[0] + .replace(/\n/g, ' ') + .trim() + .split(' ') ); expectedResults.errors = []; From 64b5baa94a3005adcb6dad547d6274bc8bd9eb40 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 26 Sep 2016 17:08:31 -0400 Subject: [PATCH 029/588] maintenance: add auto-updating of npm packages (#1626) --- packages/google-cloud-vision/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 07f457bf0b8..1cec6800c7d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -53,10 +53,10 @@ "@google-cloud/common": "^0.5.0", "arguejs": "^0.2.3", "arrify": "^1.0.0", - "async": "^1.4.2", + "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.6.0", - "google-proto-files": "^0.7.0", + "google-proto-files": "^0.8.0", "is": "^3.0.1", "propprop": "^0.3.0", "request": "^2.70.0", From 69a89db7440b74f5ed9c570e089f0a3c8ffaa104 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 26 Sep 2016 18:55:38 -0400 Subject: [PATCH 030/588] all: update @google-cloud/common dependency --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1cec6800c7d..43bb8f22df7 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,7 +50,7 @@ "vision" ], "dependencies": { - "@google-cloud/common": "^0.5.0", + "@google-cloud/common": "^0.6.0", "arguejs": "^0.2.3", "arrify": "^1.0.0", "async": "^2.0.1", From 98f0cfb9ebbebf23f20b738decd3acc5937e73ec Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 26 Sep 2016 18:59:58 -0400 Subject: [PATCH 031/588] vision @ 0.3.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 43bb8f22df7..e87830627bd 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.2.0", + "version": "0.3.0", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ From f3742674b4e3ad866a1a04ea7217693788d44994 Mon Sep 17 00:00:00 2001 From: Jun Mukai Date: Wed, 28 Sep 2016 05:06:33 -0700 Subject: [PATCH 032/588] Regenerate the codegen files to sync with the latest version. (#1640) --- packages/google-cloud-vision/package.json | 3 +- .../src/v1/image_annotator_api.js | 62 ++++++++++--------- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index e87830627bd..f7cdf09f63d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -51,11 +51,10 @@ ], "dependencies": { "@google-cloud/common": "^0.6.0", - "arguejs": "^0.2.3", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.6.0", + "google-gax": "^0.7.0", "google-proto-files": "^0.8.0", "is": "^3.0.1", "propprop": "^0.3.0", diff --git a/packages/google-cloud-vision/src/v1/image_annotator_api.js b/packages/google-cloud-vision/src/v1/image_annotator_api.js index 50bee6095e5..de2c47c0b09 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_api.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_api.js @@ -27,7 +27,6 @@ /* jscs: disable maximumLineLength */ 'use strict'; -var arguejs = require('arguejs'); var configData = require('./image_annotator_client_config'); var extend = require('extend'); var gax = require('google-gax'); @@ -38,7 +37,6 @@ var DEFAULT_SERVICE_PORT = 443; var CODE_GEN_NAME_VERSION = 'gapic/0.1.0'; -var DEFAULT_TIMEOUT = 30; /** * The scopes needed to make gRPC calls to all of the methods defined in @@ -65,42 +63,43 @@ var ALL_SCOPES = [ * * @class */ -function ImageAnnotatorApi(gaxGrpc, grpcClient, opts) { +function ImageAnnotatorApi(gaxGrpc, grpcClients, opts) { opts = opts || {}; var servicePath = opts.servicePath || SERVICE_ADDRESS; var port = opts.port || DEFAULT_SERVICE_PORT; var sslCreds = opts.sslCreds || null; var clientConfig = opts.clientConfig || {}; - var timeout = opts.timeout || DEFAULT_TIMEOUT; var appName = opts.appName || 'gax'; - var appVersion = opts.appVersion || gax.Version; + var appVersion = opts.appVersion || gax.version; var googleApiClient = [ appName + '/' + appVersion, CODE_GEN_NAME_VERSION, + 'gax/' + gax.version, 'nodejs/' + process.version].join(' '); var defaults = gaxGrpc.constructSettings( 'google.cloud.vision.v1.ImageAnnotator', configData, clientConfig, - timeout, null, null, {'x-goog-api-client': googleApiClient}); - var stub = gaxGrpc.createStub( + var imageAnnotatorStub = gaxGrpc.createStub( servicePath, port, - grpcClient.google.cloud.vision.v1.ImageAnnotator, + grpcClients.imageAnnotatorClient.google.cloud.vision.v1.ImageAnnotator, {sslCreds: sslCreds}); - var methods = [ + var imageAnnotatorStubMethods = [ 'batchAnnotateImages' ]; - methods.forEach(function(methodName) { + imageAnnotatorStubMethods.forEach(function(methodName) { this['_' + methodName] = gax.createApiCall( - stub.then(function(stub) { return stub[methodName].bind(stub); }), - defaults[methodName]); + imageAnnotatorStub.then(function(imageAnnotatorStub) { + return imageAnnotatorStub[methodName].bind(imageAnnotatorStub); + }), + defaults[methodName]); }.bind(this)); } @@ -113,9 +112,9 @@ function ImageAnnotatorApi(gaxGrpc, grpcClient, opts) { * Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link AnnotateImageRequest} - * @param {gax.CallOptions=} options - * Overrides the default settings for this call, e.g, timeout, - * retries, etc. + * @param {Object=} options + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. * @param {function(?Error, ?Object)=} callback * The function which will be called with the result of the API call. * @@ -135,16 +134,21 @@ function ImageAnnotatorApi(gaxGrpc, grpcClient, opts) { * // doThingsWith(response) * }); */ -ImageAnnotatorApi.prototype.batchAnnotateImages = function batchAnnotateImages() { - var args = arguejs({ - requests: Array, - options: [gax.CallOptions], - callback: [Function] - }, arguments); +ImageAnnotatorApi.prototype.batchAnnotateImages = function batchAnnotateImages( + requests, + options, + callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + if (options === undefined) { + options = {}; + } var req = { - requests: args.requests + requests: requests }; - return this._batchAnnotateImages(req, args.options, args.callback); + return this._batchAnnotateImages(req, options, callback); }; function ImageAnnotatorApiBuilder(gaxGrpc) { @@ -152,11 +156,15 @@ function ImageAnnotatorApiBuilder(gaxGrpc) { return new ImageAnnotatorApiBuilder(gaxGrpc); } - var grpcClient = gaxGrpc.load([{ + var imageAnnotatorClient = gaxGrpc.load([{ root: require('google-proto-files')('..'), file: 'google/cloud/vision/v1/image_annotator.proto' }]); - extend(this, grpcClient.google.cloud.vision.v1); + extend(this, imageAnnotatorClient.google.cloud.vision.v1); + + var grpcClients = { + imageAnnotatorClient: imageAnnotatorClient + }; /** * Build a new instance of {@link ImageAnnotatorApi}. @@ -171,15 +179,13 @@ function ImageAnnotatorApiBuilder(gaxGrpc) { * @param {Object=} opts.clientConfig * The customized config to build the call settings. See * {@link gax.constructSettings} for the format. - * @param {number=} opts.timeout - * The default timeout, in seconds, for calls made through this client. * @param {number=} opts.appName * The codename of the calling service. * @param {String=} opts.appVersion * The version of the calling service. */ this.imageAnnotatorApi = function(opts) { - return new ImageAnnotatorApi(gaxGrpc, grpcClient, opts); + return new ImageAnnotatorApi(gaxGrpc, grpcClients, opts); }; extend(this.imageAnnotatorApi, ImageAnnotatorApi); } From c568bc7afe18a8118077654ec41e714334315d05 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Mon, 3 Oct 2016 14:44:10 -0700 Subject: [PATCH 033/588] New quickstarts. (#226) * New quickstarts. * Address comments. --- .../google-cloud-vision/samples/package.json | 5 ++- .../google-cloud-vision/samples/quickstart.js | 43 ++++++++++++++++++ .../samples/test/quickstart.test.js | 44 +++++++++++++++++++ 3 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 packages/google-cloud-vision/samples/quickstart.js create mode 100644 packages/google-cloud-vision/samples/test/quickstart.test.js diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index dec58f3fd21..f57724adaa1 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -15,9 +15,12 @@ "redis": "^2.6.0-2" }, "devDependencies": { - "mocha": "^2.5.3" + "mocha": "^3.1.0" }, "optionalDependencies": { "canvas": "^1.3.15" + }, + "engines": { + "node": ">=4.3.2" } } diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js new file mode 100644 index 00000000000..fafa46b1a27 --- /dev/null +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -0,0 +1,43 @@ +/** + * Copyright 2016, Google, Inc. + * 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. + */ + +'use strict'; + +// [START vision_quickstart] +// Imports the Google Cloud client library +const Vision = require('@google-cloud/vision'); + +// Your Google Cloud Platform project ID +const projectId = 'YOUR_PROJECT_ID'; + +// Instantiates a client +const visionClient = Vision({ + projectId: projectId +}); + +// The name of the image file to annotate +const fileName = './resources/wakeupcat.jpg'; + +// Performs label detection on the image file +visionClient.detectLabels(fileName, (err, labels) => { + if (err) { + console.error(err); + return; + } + + console.log('Labels:'); + labels.forEach((label) => console.log(label)); +}); +// [END vision_quickstart] diff --git a/packages/google-cloud-vision/samples/test/quickstart.test.js b/packages/google-cloud-vision/samples/test/quickstart.test.js new file mode 100644 index 00000000000..9a75af8f179 --- /dev/null +++ b/packages/google-cloud-vision/samples/test/quickstart.test.js @@ -0,0 +1,44 @@ +/** + * Copyright 2016, Google, Inc. + * 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. + */ + +'use strict'; + +const proxyquire = require(`proxyquire`).noCallThru(); + +describe(`vision:quickstart`, () => { + let visionMock, VisionMock; + const error = new Error(`error`); + const fileName = `./resources/wakeupcat.jpg`; + + before(() => { + visionMock = { + detectLabels: sinon.stub().yields(error) + }; + VisionMock = sinon.stub().returns(visionMock); + }); + + it(`should handle error`, () => { + proxyquire(`../quickstart`, { + '@google-cloud/vision': VisionMock + }); + + assert.equal(VisionMock.calledOnce, true); + assert.deepEqual(VisionMock.firstCall.args, [{ projectId: 'YOUR_PROJECT_ID' }]); + assert.equal(visionMock.detectLabels.calledOnce, true); + assert.deepEqual(visionMock.detectLabels.firstCall.args.slice(0, -1), [fileName]); + assert.equal(console.error.calledOnce, true); + assert.deepEqual(console.error.firstCall.args, [error]); + }); +}); From fecdfe28bf965ea0f7a73a77a2d46158b39d6aba Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Mon, 17 Oct 2016 20:11:04 -0400 Subject: [PATCH 034/588] vision: add promise support (#1712) --- packages/google-cloud-vision/README.md | 10 +++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/src/index.js | 79 +++++++++++++++++++ .../google-cloud-vision/system-test/vision.js | 12 +-- packages/google-cloud-vision/test/index.js | 13 ++- 5 files changed, 108 insertions(+), 8 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 181871ba81b..7e70bb2576e 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -107,6 +107,16 @@ vision.detectFaces('./image.jpg', function(err, faces) { // } // ] }); + +// Promises are also supported by omitting callbacks. +vision.detectFaces('./image.jpg').then(function(data) { + var faces = data[0]; +}); + +// It's also possible to integrate with third-party Promise libraries. +var vision = require('@google-cloud/vision')({ + promise: require('bluebird') +}); ``` diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index f7cdf09f63d..c87af6571c3 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,7 +50,7 @@ "vision" ], "dependencies": { - "@google-cloud/common": "^0.6.0", + "@google-cloud/common": "^0.7.0", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 662c9e5151c..46e8224c6e2 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -113,6 +113,14 @@ Vision.likelihood = { * vision.annotate(annotateImageReq, function(err, annotations, apiResponse) { * // annotations = apiResponse.responses * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.annotate(annotateImageReq).then(function(data) { + * var annotations = data[0]; + * var apiResponse = data[1]; + * }); */ Vision.prototype.annotate = function(requests, callback) { this.request({ @@ -263,6 +271,14 @@ Vision.prototype.annotate = function(requests, callback) { * // Errors occurred while trying to use this image for a face annotation. * } * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detect('image.jpg', types).then(function(data) { + * var detections = data[0]; + * var apiResponse = data[1]; + * }); */ Vision.prototype.detect = function(images, options, callback) { var self = this; @@ -869,6 +885,14 @@ Vision.prototype.detect = function(images, options, callback) { * top: 'MIDPOINT_BETWEEN_EYES' * } * }; + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detectFaces('image.jpg').then(function(data) { + * var faces = data[0]; + * var apiResponse = data[1]; + * }); */ Vision.prototype.detectFaces = function(images, options, callback) { if (is.fn(options)) { @@ -925,6 +949,14 @@ Vision.prototype.detectFaces = function(images, options, callback) { * // // ... * // ] * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detectLabels('image.jpg').then(function(data) { + * var labels = data[0]; + * var apiResponse = data[1]; + * }); */ Vision.prototype.detectLabels = function(images, options, callback) { if (is.fn(options)) { @@ -997,6 +1029,14 @@ Vision.prototype.detectLabels = function(images, options, callback) { * // } * // ] * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detectLandmarks('image.jpg').then(function(data) { + * var landmarks = data[0]; + * var apiResponse = data[1]; + * }); */ Vision.prototype.detectLandmarks = function(images, options, callback) { if (is.fn(options)) { @@ -1061,6 +1101,14 @@ Vision.prototype.detectLandmarks = function(images, options, callback) { * // } * // ] * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detectLogos('image.jpg').then(function(data) { + * var logos = data[0]; + * var apiResponse = data[1]; + * }); */ Vision.prototype.detectLogos = function(images, options, callback) { if (is.fn(options)) { @@ -1134,6 +1182,14 @@ Vision.prototype.detectLogos = function(images, options, callback) { * // ] * // } * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detectProperties('image.jpg').then(function(data) { + * var props = data[0]; + * var apiResponse = data[1]; + * }); */ Vision.prototype.detectProperties = function(images, options, callback) { if (is.fn(options)) { @@ -1166,6 +1222,14 @@ Vision.prototype.detectProperties = function(images, options, callback) { * // violence: true * // } * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detectSafeSearch('image.jpg').then(function(data) { + * var safeSearch = data[0]; + * var apiResponse = data[1]; + * }); */ Vision.prototype.detectSafeSearch = function(images, options, callback) { if (is.fn(options)) { @@ -1226,6 +1290,14 @@ Vision.prototype.detectSafeSearch = function(images, options, callback) { * // } * // ] * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detectText('image.jpg').then(function(data) { + * var text = data[0]; + * var apiResponse = data[1]; + * }); */ Vision.prototype.detectText = function(images, options, callback) { if (is.fn(options)) { @@ -1547,5 +1619,12 @@ Vision.formatSafeSearchAnnotation_ = function(ssAnnotation, options) { return ssAnnotation; }; +/*! Developer Documentation + * + * All async methods (except for streams) will return a Promise in the event + * that a callback is omitted. + */ +common.util.promisifyAll(Vision); + module.exports = Vision; module.exports.v1 = require('./v1'); diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 963c894d20d..1ca750f9e56 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -416,13 +416,13 @@ describe('Vision', function() { assert.deepEqual(properties.colors, [ '3b3027', '727d81', - '3f2f22', + '3f3022', '838e92', - '482a16', - '5f4f3c', - '261b14', - 'b39b7f', - '51473f', + '482b17', + '5f4e3d', + '261c14', + 'b29a7f', + '51473e', '2c1e12' ]); diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 7790d726ac2..04de4e373ea 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -29,7 +29,14 @@ var Service = require('@google-cloud/common').Service; var tmp = require('tmp'); var util = require('@google-cloud/common').util; -var fakeUtil = extend({}, util); +var promisified = false; +var fakeUtil = extend({}, util, { + promisifyAll: function(Class) { + if (Class.name === 'Vision') { + promisified = true; + } + } +}); function FakeService() { this.calledWith_ = arguments; @@ -101,6 +108,10 @@ describe('Vision', function() { ]); assert.deepEqual(calledWith.packageJson, require('../package.json')); }); + + it('should promisify all the things', function() { + assert(promisified); + }); }); describe('constants', function() { From 795cfa59960093fdb394de2fcbccbeedf90dfc71 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 17 Oct 2016 20:11:46 -0400 Subject: [PATCH 035/588] vision @ 0.4.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index c87af6571c3..e53db4d2d09 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.3.0", + "version": "0.4.0", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ From d55a3e12e093665d3e7cee629a37cde7d481b06e Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 21 Oct 2016 15:12:34 -0400 Subject: [PATCH 036/588] vision: update gapic layer (#1736) --- packages/google-cloud-vision/package.json | 2 +- .../src/v1/image_annotator_api.js | 26 +++++++------------ 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index e53db4d2d09..de6a3957351 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -54,7 +54,7 @@ "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.7.0", + "google-gax": "^0.8.1", "google-proto-files": "^0.8.0", "is": "^3.0.1", "propprop": "^0.3.0", diff --git a/packages/google-cloud-vision/src/v1/image_annotator_api.js b/packages/google-cloud-vision/src/v1/image_annotator_api.js index de2c47c0b09..a43f11b3c5d 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_api.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_api.js @@ -108,7 +108,9 @@ function ImageAnnotatorApi(gaxGrpc, grpcClients, opts) { /** * Run image detection and annotation for a batch of images. * - * @param {Object[]} requests + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests * Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link AnnotateImageRequest} @@ -119,25 +121,20 @@ function ImageAnnotatorApi(gaxGrpc, grpcClients, opts) { * The function which will be called with the result of the API call. * * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse} - * @returns {gax.EventEmitter} - the event emitter to handle the call - * status. + * @returns {Promise} - The promise which resolves to the response object. + * The promise has a method named "cancel" which cancels the ongoing API call. * * @example * * var api = visionV1.imageAnnotatorApi(); * var requests = []; - * api.batchAnnotateImages(requests, function(err, response) { - * if (err) { - * console.error(err); - * return; - * } + * api.batchAnnotateImages({requests: requests}).then(function(response) { * // doThingsWith(response) + * }).catch(function(err) { + * console.error(err); * }); */ -ImageAnnotatorApi.prototype.batchAnnotateImages = function batchAnnotateImages( - requests, - options, - callback) { +ImageAnnotatorApi.prototype.batchAnnotateImages = function(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -145,10 +142,7 @@ ImageAnnotatorApi.prototype.batchAnnotateImages = function batchAnnotateImages( if (options === undefined) { options = {}; } - var req = { - requests: requests - }; - return this._batchAnnotateImages(req, options, callback); + return this._batchAnnotateImages(request, options, callback); }; function ImageAnnotatorApiBuilder(gaxGrpc) { From 8601beb958740492df78db15221c350e8fb4523e Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 21 Oct 2016 16:53:46 -0400 Subject: [PATCH 037/588] vision @ 0.5.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index de6a3957351..8e4b08a8428 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.4.0", + "version": "0.5.0", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ From 1e48eb031294e50ddf16e8e28b9672a12751cad7 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 7 Nov 2016 16:53:33 -0500 Subject: [PATCH 038/588] treat partial errors as callback(err)ors (#1760) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/src/index.js | 107 +++++++++----- .../google-cloud-vision/system-test/vision.js | 109 ++++++--------- packages/google-cloud-vision/test/index.js | 132 ++++++++++++++---- 4 files changed, 221 insertions(+), 129 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 8e4b08a8428..9e570c97907 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,7 +50,7 @@ "vision" ], "dependencies": { - "@google-cloud/common": "^0.7.0", + "@google-cloud/common": "^0.8.0", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 46e8224c6e2..8b6f4871d13 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -181,6 +181,9 @@ Vision.prototype.annotate = function(requests, callback) { * simplistic representation of the annotation (default: `false`). * @param {function} callback - The callback function. * @param {?error} callback.err - An error returned while making this request. + * @param {object[]} callback.err.errors - If present, these represent partial + * failures. It's possible for part of your request to be completed + * successfully, while a single feature request was not successful. * @param {object|object[]} callback.detections - If a single detection type was * asked for, it will be returned in its raw form; either an object or array * of objects. If multiple detection types were requested, you will receive @@ -188,10 +191,6 @@ Vision.prototype.annotate = function(requests, callback) { * `config.types`). Additionally, if multiple images were provided, you will * receive an array of detection objects, each representing an image. See * the examples below for more information. - * @param {object[]} callback.detections.errors - It's possible for part of your - * request to be completed successfully, while a single feature request was - * not successful. Each returned detection will have an `errors` array, - * including any of these errors which may have occurred. * @param {object} callback.apiResponse - Raw API response. * * @example @@ -262,14 +261,35 @@ Vision.prototype.annotate = function(requests, callback) { * * //- * // It's possible for part of your request to be completed successfully, while - * // a single feature request was not successful. Each returned detection will - * // have an `errors` array, including any of these errors which may have - * // occurred. + * // a single feature request was not successful. * //- * vision.detect('malformed-image.jpg', types, function(err, detections) { - * if (detections.faces.errors.length > 0) { - * // Errors occurred while trying to use this image for a face annotation. + * if (err) { + * // An API error or partial failure occurred. + * + * if (err.name === 'PartialFailureError') { + * // err.errors = [ + * // { + * // image: 'malformed-image.jpg', + * // errors: [ + * // { + * // code: 400, + * // message: 'Bad image data', + * // type: 'faces' + * // }, + * // { + * // code: 400, + * // message: 'Bad image data', + * // type: 'labels' + * // } + * // ] + * // } + * // ] + * } * } + * + * // `detections` will still be populated with all of the results that could + * // be annotated. * }); * * //- @@ -333,7 +353,6 @@ Vision.prototype.detect = function(images, options, callback) { }; var typeRespNameToShortName = { - errors: 'errors', faceAnnotations: 'faces', imagePropertiesAnnotation: 'properties', labelAnnotations: 'labels', @@ -343,7 +362,7 @@ Vision.prototype.detect = function(images, options, callback) { textAnnotations: 'text' }; - Vision.findImages_(images, function(err, images) { + Vision.findImages_(images, function(err, foundImages) { if (err) { callback(err); return; @@ -351,7 +370,7 @@ Vision.prototype.detect = function(images, options, callback) { var config = []; - images.forEach(function(image) { + foundImages.forEach(function(image) { types.forEach(function(type) { var typeName = typeShortNameToFullName[type]; @@ -385,16 +404,28 @@ Vision.prototype.detect = function(images, options, callback) { } var originalResp = extend(true, {}, resp); + var partialFailureErrors = []; - var detections = images + var detections = foundImages .map(groupDetectionsByImage) .map(assignTypeToEmptyAnnotations) - .map(combineErrors) + .map(removeDetectionsWithErrors) .map(flattenAnnotations) .map(decorateAnnotations); - // If only a single image was given, expose it from the array. - callback(null, isSingleImage ? detections[0] : detections, originalResp); + if (partialFailureErrors.length > 0) { + err = new common.util.PartialFailureError({ + errors: partialFailureErrors, + response: originalResp + }); + } + + if (isSingleImage && detections.length > 0) { + // If only a single image was given, expose it from the array. + detections = detections[0]; + } + + callback(err, detections, originalResp); function groupDetectionsByImage() { // detections = [ @@ -428,7 +459,7 @@ Vision.prototype.detect = function(images, options, callback) { // // After: // [ - // { faceAnnotations: {} }, + // { faceAnnotations: [] }, // { labelAnnotations: {...} } // ] return annotations.map(function(annotation, index) { @@ -444,44 +475,46 @@ Vision.prototype.detect = function(images, options, callback) { }); } - function combineErrors(annotations) { + function removeDetectionsWithErrors(annotations, index) { // Before: // [ // { - // faceAnnotations: [], - // error: {...} + // faceAnnotations: [] // }, // { - // imagePropertiesAnnotation: {}, - // error: {...} + // error: {...}, + // imagePropertiesAnnotation: {} // } // ] // After: // [ - // faceAnnotations: [], - // imagePropertiesAnnotation: {}, - // errors: [ - // {...}, - // {...} - // ] + // { + // faceAnnotations: [] + // }, + // undefined // ] var errors = []; - annotations.forEach(function(annotation) { + annotations.forEach(function(annotation, index) { var annotationKey = Object.keys(annotation)[0]; if (annotationKey === 'error') { - errors.push(annotation.error); - delete annotation.error; + var userInputType = types[index]; + var respNameType = typeShortNameToRespName[userInputType]; + annotation.error.type = typeRespNameToShortName[respNameType]; + errors.push(Vision.formatError_(annotation.error)); } - - return annotation; }); - annotations.push({ - errors: errors - }); + if (errors.length > 0) { + partialFailureErrors.push({ + image: isSingleImage ? images : images[index], + errors: errors + }); + + return; + } return annotations; } @@ -539,9 +572,7 @@ Vision.prototype.detect = function(images, options, callback) { // Only a single detection type was asked for, so no need to box in // the results. Make them accessible without using a key. var key = Object.keys(annotations)[0]; - var errors = annotations.errors; annotations = annotations[key]; - annotations.errors = errors; } return annotations; diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 1ca750f9e56..43c8bad1c38 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -97,10 +97,7 @@ describe('Vision', function() { vision.detect(url, ['logos'], function(err, logos) { assert.ifError(err); - var expected = ['Google']; - expected.errors = []; - - assert.deepEqual(logos, expected); + assert.deepEqual(logos, ['Google']); done(); }); @@ -111,10 +108,7 @@ describe('Vision', function() { vision.detect(file, ['logos'], function(err, logos) { assert.ifError(err); - var expected = ['Google']; - expected.errors = []; - - assert.deepEqual(logos, expected); + assert.deepEqual(logos, ['Google']); done(); }); @@ -125,10 +119,7 @@ describe('Vision', function() { vision.detect(buffer, ['logos'], function(err, logos) { assert.ifError(err); - var expected = ['Google']; - expected.errors = []; - - assert.deepEqual(logos, expected); + assert.deepEqual(logos, ['Google']); done(); }); @@ -142,7 +133,6 @@ describe('Vision', function() { assert.ifError(err); assert(is.array(detections)); - assert(is.array(detections.errors)); done(); }); @@ -162,15 +152,11 @@ describe('Vision', function() { it('should return errors', function(done) { vision.detect(IMAGES.malformed, TYPES, function(err, detections) { - assert.ifError(err); - - assert.deepEqual(detections.faces, []); - assert.deepEqual(detections.labels, []); - assert.deepEqual(detections.safeSearch, {}); - - assert(is.array(detections.errors)); - assert.strictEqual(detections.errors.length, TYPES.length); + assert.strictEqual(err.name, 'PartialFailureError'); + assert(is.array(err.errors)); + assert.strictEqual(err.errors.length, 1); + assert.deepEqual(detections, []); done(); }); }); @@ -189,10 +175,7 @@ describe('Vision', function() { var image2detections = detections[1]; assert(is.array(image1detections)); - assert(is.array(image1detections.errors)); - assert(is.array(image2detections)); - assert(is.array(image2detections.errors)); done(); }); @@ -223,16 +206,41 @@ describe('Vision', function() { var images = [IMAGES.logo, IMAGES.malformed]; vision.detect(images, TYPES, function(err, detections) { - assert.ifError(err); + assert.strictEqual(err.name, 'PartialFailureError'); + assert(is.array(err.errors)); + assert.strictEqual(err.errors.length, 1); + + var image2errors = err.errors[0]; + assert.deepEqual(image2errors, { + image: IMAGES.malformed, + errors: [ + { + code: 400, + message: + 'image-annotator::Bad image data.: Image processing error!', + type: 'faces' + }, + { + code: 400, + message: + 'image-annotator::Bad image data.: Image processing error!', + type: 'labels' + }, + { + code: 500, + message: 'image-annotator::error(12): Image processing error!', + type: 'safeSearch' + } + ] + }); var image1detections = detections[0]; - var image2detections = detections[1]; - - assert(is.array(image1detections.errors)); - assert.strictEqual(image1detections.errors.length, 0); + assert(is.array(image1detections.faces)); + assert(is.array(image1detections.labels)); + assert(is.object(image1detections.safeSearch)); - assert(is.array(image2detections.errors)); - assert.strictEqual(image2detections.errors.length, TYPES.length); + var image2detections = detections[1]; + assert.deepEqual(image2detections, {}); done(); }); @@ -313,10 +321,7 @@ describe('Vision', function() { vision.detectLandmarks(IMAGES.rushmore, function(err, landmarks) { assert.ifError(err); - var expected = ['Mount Rushmore']; - expected.errors = []; - - assert.deepEqual(landmarks, expected); + assert.deepEqual(landmarks, ['Mount Rushmore']); done(); }); @@ -331,13 +336,8 @@ describe('Vision', function() { assert.strictEqual(landmarks.length, 2); - var expectedLandmark1 = []; - expectedLandmark1.errors = []; - assert.deepEqual(landmarks[0], expectedLandmark1); - - var expectedLandmark2 = ['Mount Rushmore']; - expectedLandmark2.errors = []; - assert.deepEqual(landmarks[1], expectedLandmark2); + assert.deepEqual(landmarks[0], []); + assert.deepEqual(landmarks[1], ['Mount Rushmore']); done(); }); @@ -363,10 +363,7 @@ describe('Vision', function() { vision.detectLogos(IMAGES.logo, function(err, logos) { assert.ifError(err); - var expected = ['Google']; - expected.errors = []; - - assert.deepEqual(logos, expected); + assert.deepEqual(logos, ['Google']); done(); }); @@ -381,13 +378,8 @@ describe('Vision', function() { assert.strictEqual(logos.length, 2); - var expectedLogo1 = []; - expectedLogo1.errors = []; - assert.deepEqual(logos[0], expectedLogo1); - - var expectedLogo2 = ['Google']; - expectedLogo2.errors = []; - assert.deepEqual(logos[1], expectedLogo2); + assert.deepEqual(logos[0], []); + assert.deepEqual(logos[1], ['Google']); done(); }); @@ -467,7 +459,6 @@ describe('Vision', function() { assert.deepEqual(safesearch, { adult: false, - errors: [], medical: false, spoof: false, violence: false @@ -487,14 +478,12 @@ describe('Vision', function() { assert.strictEqual(safesearches.length, 2); assert.deepEqual(safesearches[0], { adult: false, - errors: [], medical: false, spoof: false, violence: false }); assert.deepEqual(safesearches[1], { adult: false, - errors: [], medical: false, spoof: false, violence: false @@ -536,8 +525,6 @@ describe('Vision', function() { .split(' ') ); - expectedResults.errors = []; - it('should detect text', function(done) { vision.detectText(IMAGES.text, function(err, text) { assert.ifError(err); @@ -557,11 +544,7 @@ describe('Vision', function() { assert.strictEqual(texts.length, 2); - var expectedText1 = []; - expectedText1.errors = []; - assert.deepEqual(texts[0], expectedText1); - - + assert.deepEqual(texts[0], []); assert.deepEqual(texts[1], expectedResults); done(); diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 04de4e373ea..60dbf8bb905 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -55,6 +55,7 @@ describe('Vision', function() { var PROJECT_ID = 'project-id'; var Vision; + var VisionCached; var vision; before(function() { @@ -65,11 +66,15 @@ describe('Vision', function() { util: fakeUtil } }); + + VisionCached = extend({}, Vision); }); beforeEach(function() { requestOverride = null; + extend(Vision, VisionCached); + vision = new Vision({ projectId: PROJECT_ID }); @@ -212,6 +217,11 @@ describe('Vision', function() { } ]; + var MULTIPLE_IMAGES = [ + IMAGES[0], + IMAGES[0] + ]; + before(function() { findImages_ = Vision.findImages_; formatFaceAnnotation_ = Vision.formatFaceAnnotation_; @@ -379,8 +389,7 @@ describe('Vision', function() { assert.ifError(err); assert.deepEqual(detections, { faces: [], - labels: [], - errors: [] + labels: [] }); done(); }); @@ -451,7 +460,6 @@ describe('Vision', function() { vision.detect(IMAGE, types, function(err, detections) { assert.ifError(err); - expected.errors = []; assert(deepStrictEqual(detections, expected)); done(); @@ -480,14 +488,13 @@ describe('Vision', function() { vision.detect(IMAGE, types, function(err, detections) { assert.ifError(err); - expected.errors = []; assert(deepStrictEqual(detections, expected)); done(); }); }); - it('should return annotation errors', function(done) { + it('should return partial failure errors', function(done) { var error1 = {}; var error2 = {}; @@ -496,27 +503,104 @@ describe('Vision', function() { { error: error2 } ]; - var formattedError = {}; + var types = ['faces', 'properties']; - vision.formatError_ = function() { - return formattedError; + Vision.formatError_ = function(err) { + err.formatted = true; + return err; }; vision.annotate = function(config, callback) { callback(null, annotations); }; - vision.detect(IMAGE, ['faces', 'properties'], function(err, detections) { - assert.ifError(err); + vision.detect(IMAGE, types, function(err, detections) { + assert.strictEqual(err.name, 'PartialFailureError'); - assert(deepStrictEqual(detections, { - faces: [], - properties: {}, - errors: [ - formattedError, - formattedError - ] - })); + assert.deepEqual(err.errors, [ + { + image: IMAGE, + errors: [ + extend(error1, { + type: types[0], + formatted: true + }), + extend(error2, { + type: types[1], + formatted: true + }) + ] + } + ]); + + assert.deepEqual(detections, {}); + + done(); + }); + }); + + it('should return partial failure errors for multi images', function(done) { + var error1 = {}; + var error2 = {}; + var error3 = {}; + var error4 = {}; + + var annotations = [ + { error: error1 }, + { error: error2 }, + { error: error3 }, + { error: error4 } + ]; + + var images = ['./image.jpg', './image-2.jpg']; + var types = ['faces', 'properties']; + + Vision.findImages_ = function(images, callback) { + callback(null, MULTIPLE_IMAGES); + }; + + Vision.formatError_ = function(err) { + err.formatted = true; + return err; + }; + + vision.annotate = function(config, callback) { + callback(null, annotations); + }; + + vision.detect(images, types, function(err, detections) { + assert.strictEqual(err.name, 'PartialFailureError'); + + assert.deepEqual(err.errors, [ + { + image: images[0], + errors: [ + extend(error1, { + type: types[0], + formatted: true + }), + extend(error2, { + type: types[1], + formatted: true + }) + ] + }, + { + image: images[1], + errors: [ + extend(error3, { + type: types[0], + formatted: true + }), + extend(error4, { + type: types[1], + formatted: true + }) + ] + } + ]); + + assert.deepEqual(detections, [{}, {}]); done(); }); @@ -530,10 +614,7 @@ describe('Vision', function() { vision.detect(IMAGE, ['face'], function(err, detection) { assert.ifError(err); - var expected = []; - expected.errors = []; - - assert.deepEqual(detection, expected); + assert.deepEqual(detection, []); done(); }); @@ -631,8 +712,7 @@ describe('Vision', function() { landmarks: entityAnnotation, logos: entityAnnotation, safeSearch: safeSearchAnnotation, - text: entityAnnotation, - errors: [] + text: entityAnnotation }, { faces: faceAnnotation, @@ -641,13 +721,11 @@ describe('Vision', function() { landmarks: entityAnnotation, logos: entityAnnotation, safeSearch: safeSearchAnnotation, - text: entityAnnotation, - errors: [] + text: entityAnnotation } ]; var types = Object.keys(expected[0]); - types.pop(); // remove `errors` vision.detect([IMAGE, IMAGE], types, function(err, detections) { assert.ifError(err); From c1ef3d465c498fe0ad72fb3cec1e486174aa0981 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Mon, 14 Nov 2016 13:55:26 -0800 Subject: [PATCH 039/588] Updated copyright headers and dependencies. --- packages/google-cloud-vision/samples/package.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index f57724adaa1..4c01a68cf7b 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -5,20 +5,20 @@ "license": "Apache Version 2.0", "author": "Google Inc.", "scripts": { - "test": "mocha -R spec -t 120000 --require intelli-espower-loader ../test/_setup.js test/*.test.js", - "system-test": "mocha -R spec -t 120000 --require intelli-espower-loader ../system-test/_setup.js system-test/*.test.js" + "test": "mocha -R spec -t 10000 --require intelli-espower-loader ../test/_setup.js test/*.test.js", + "system-test": "mocha -R spec -t 10000 --require intelli-espower-loader ../system-test/_setup.js system-test/*.test.js" }, "dependencies": { - "@google-cloud/vision": "^0.1.1", - "async": "^1.5.0", + "@google-cloud/vision": "^0.5.0", + "async": "^2.1.2", "natural": "^0.4.0", - "redis": "^2.6.0-2" + "redis": "^2.6.3" }, "devDependencies": { - "mocha": "^3.1.0" + "mocha": "^3.1.2" }, "optionalDependencies": { - "canvas": "^1.3.15" + "canvas": "^1.6.2" }, "engines": { "node": ">=4.3.2" From 0543dddd1d620bf575b4dfa409d38b65c965824d Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Wed, 16 Nov 2016 14:39:40 -0500 Subject: [PATCH 040/588] update dependencies --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 9e570c97907..2c223dd529b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -54,7 +54,7 @@ "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.8.1", + "google-gax": "^0.9.1", "google-proto-files": "^0.8.0", "is": "^3.0.1", "propprop": "^0.3.0", From 4b7604291699d8cc3dbcee09081c85d016aed9ee Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Wed, 16 Nov 2016 16:22:33 -0500 Subject: [PATCH 041/588] vision @ 0.6.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2c223dd529b..7e42f2d8bd3 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.5.0", + "version": "0.6.0", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ From 9211b2936a1f159c4c448677a56415f3aea57283 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 16 Nov 2016 14:57:03 -0800 Subject: [PATCH 042/588] Refactor Cloud Functions samples. (#245) --- .../google-cloud-vision/samples/package.json | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 4c01a68cf7b..313d4eb2835 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -5,20 +5,17 @@ "license": "Apache Version 2.0", "author": "Google Inc.", "scripts": { - "test": "mocha -R spec -t 10000 --require intelli-espower-loader ../test/_setup.js test/*.test.js", - "system-test": "mocha -R spec -t 10000 --require intelli-espower-loader ../system-test/_setup.js system-test/*.test.js" + "test": "cd ..; npm run t -- vision/test/*.test.js", + "system-test": "cd ..; npm run st -- vision/system-test/*.test.js" }, "dependencies": { - "@google-cloud/vision": "^0.5.0", - "async": "^2.1.2", - "natural": "^0.4.0", - "redis": "^2.6.3" - }, - "devDependencies": { - "mocha": "^3.1.2" + "@google-cloud/vision": "0.5.0", + "async": "2.1.2", + "natural": "0.4.0", + "redis": "2.6.3" }, "optionalDependencies": { - "canvas": "^1.6.2" + "canvas": "1.6.2" }, "engines": { "node": ">=4.3.2" From add7fc142321710dece380853e9a953f5b755ceb Mon Sep 17 00:00:00 2001 From: Jun Mukai Date: Mon, 28 Nov 2016 11:44:50 -0800 Subject: [PATCH 043/588] Regenerate vision API client. (#1828) --- packages/google-cloud-vision/package.json | 2 +- ...tator_api.js => image_annotator_client.js} | 41 ++++++++++--------- packages/google-cloud-vision/src/v1/index.js | 8 ++-- 3 files changed, 26 insertions(+), 25 deletions(-) rename packages/google-cloud-vision/src/v1/{image_annotator_api.js => image_annotator_client.js} (84%) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 7e42f2d8bd3..10619dfdb2e 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -54,7 +54,7 @@ "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.9.1", + "google-gax": "^0.10.0", "google-proto-files": "^0.8.0", "is": "^3.0.1", "propprop": "^0.3.0", diff --git a/packages/google-cloud-vision/src/v1/image_annotator_api.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js similarity index 84% rename from packages/google-cloud-vision/src/v1/image_annotator_api.js rename to packages/google-cloud-vision/src/v1/image_annotator_client.js index a43f11b3c5d..1a6e4b4c8f6 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_api.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -37,7 +37,6 @@ var DEFAULT_SERVICE_PORT = 443; var CODE_GEN_NAME_VERSION = 'gapic/0.1.0'; - /** * The scopes needed to make gRPC calls to all of the methods defined in * this service. @@ -53,17 +52,17 @@ var ALL_SCOPES = [ * * This will be created through a builder function which can be obtained by the module. * See the following example of how to initialize the module and how to access to the builder. - * @see {@link imageAnnotatorApi} + * @see {@link imageAnnotatorClient} * * @example * var visionV1 = require('@google-cloud/vision').v1({ * // optional auth parameters. * }); - * var api = visionV1.imageAnnotatorApi(); + * var client = visionV1.imageAnnotatorClient(); * * @class */ -function ImageAnnotatorApi(gaxGrpc, grpcClients, opts) { +function ImageAnnotatorClient(gaxGrpc, grpcClients, opts) { opts = opts || {}; var servicePath = opts.servicePath || SERVICE_ADDRESS; var port = opts.port || DEFAULT_SERVICE_PORT; @@ -82,8 +81,6 @@ function ImageAnnotatorApi(gaxGrpc, grpcClients, opts) { 'google.cloud.vision.v1.ImageAnnotator', configData, clientConfig, - null, - null, {'x-goog-api-client': googleApiClient}); var imageAnnotatorStub = gaxGrpc.createStub( @@ -99,7 +96,8 @@ function ImageAnnotatorApi(gaxGrpc, grpcClients, opts) { imageAnnotatorStub.then(function(imageAnnotatorStub) { return imageAnnotatorStub[methodName].bind(imageAnnotatorStub); }), - defaults[methodName]); + defaults[methodName], + null); }.bind(this)); } @@ -120,21 +118,23 @@ function ImageAnnotatorApi(gaxGrpc, grpcClients, opts) { * @param {function(?Error, ?Object)=} callback * The function which will be called with the result of the API call. * - * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse} - * @returns {Promise} - The promise which resolves to the response object. + * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example * - * var api = visionV1.imageAnnotatorApi(); + * var client = visionV1.imageAnnotatorClient(); * var requests = []; - * api.batchAnnotateImages({requests: requests}).then(function(response) { + * client.batchAnnotateImages({requests: requests}).then(function(responses) { + * var response = responses[0]; * // doThingsWith(response) * }).catch(function(err) { * console.error(err); * }); */ -ImageAnnotatorApi.prototype.batchAnnotateImages = function(request, options, callback) { +ImageAnnotatorClient.prototype.batchAnnotateImages = function(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -142,12 +142,13 @@ ImageAnnotatorApi.prototype.batchAnnotateImages = function(request, options, cal if (options === undefined) { options = {}; } + return this._batchAnnotateImages(request, options, callback); }; -function ImageAnnotatorApiBuilder(gaxGrpc) { - if (!(this instanceof ImageAnnotatorApiBuilder)) { - return new ImageAnnotatorApiBuilder(gaxGrpc); +function ImageAnnotatorClientBuilder(gaxGrpc) { + if (!(this instanceof ImageAnnotatorClientBuilder)) { + return new ImageAnnotatorClientBuilder(gaxGrpc); } var imageAnnotatorClient = gaxGrpc.load([{ @@ -161,7 +162,7 @@ function ImageAnnotatorApiBuilder(gaxGrpc) { }; /** - * Build a new instance of {@link ImageAnnotatorApi}. + * Build a new instance of {@link ImageAnnotatorClient}. * * @param {Object=} opts - The optional parameters. * @param {String=} opts.servicePath @@ -178,11 +179,11 @@ function ImageAnnotatorApiBuilder(gaxGrpc) { * @param {String=} opts.appVersion * The version of the calling service. */ - this.imageAnnotatorApi = function(opts) { - return new ImageAnnotatorApi(gaxGrpc, grpcClients, opts); + this.imageAnnotatorClient = function(opts) { + return new ImageAnnotatorClient(gaxGrpc, grpcClients, opts); }; - extend(this.imageAnnotatorApi, ImageAnnotatorApi); + extend(this.imageAnnotatorClient, ImageAnnotatorClient); } -module.exports = ImageAnnotatorApiBuilder; +module.exports = ImageAnnotatorClientBuilder; module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; module.exports.ALL_SCOPES = ALL_SCOPES; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index 78f08f757b4..3e6ed933593 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -15,7 +15,7 @@ */ 'use strict'; -var visionApi = require('./image_annotator_api'); +var visionClient = require('./image_annotator_client'); var extend = require('extend'); var gax = require('google-gax'); @@ -24,9 +24,9 @@ function v1(options) { scopes: v1.ALL_SCOPES }, options); var gaxGrpc = gax.grpc(options); - return visionApi(gaxGrpc); + return visionClient(gaxGrpc); } -v1.SERVICE_ADDRESS = visionApi.SERVICE_ADDRESS; -v1.ALL_SCOPES = visionApi.ALL_SCOPES; +v1.SERVICE_ADDRESS = visionClient.SERVICE_ADDRESS; +v1.ALL_SCOPES = visionClient.ALL_SCOPES; module.exports = v1; From 1ba8c4398cedf1942f30694e85b46a095e51942d Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 5 Dec 2016 14:12:43 -0500 Subject: [PATCH 044/588] bump packages (#1856) --- packages/google-cloud-vision/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 10619dfdb2e..35260288c8a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -64,13 +64,13 @@ }, "devDependencies": { "@google-cloud/storage": "*", - "deep-strict-equal": "^0.1.0", + "deep-strict-equal": "^0.2.0", "mocha": "^3.0.1", "multiline": "^1.0.2", "node-uuid": "^1.4.7", "normalize-newline": "^2.0.0", "proxyquire": "^1.7.10", - "tmp": "0.0.27" + "tmp": "^0.0.31" }, "scripts": { "publish-module": "node ../../scripts/publish.js vision", From f87903168664f409360537f039c5d5b0da2cb288 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 5 Dec 2016 14:54:11 -0500 Subject: [PATCH 045/588] vision: revert friendly names to API names (#1858) --- packages/google-cloud-vision/src/index.js | 86 ++++++++++------------ packages/google-cloud-vision/test/index.js | 77 ++++++++++--------- 2 files changed, 83 insertions(+), 80 deletions(-) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 8b6f4871d13..b7dcd4a0967 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -834,13 +834,13 @@ Vision.prototype.detect = function(images, options, callback) { * // } * // }, * // confidence: 56.748849, - * // blurry: false, - * // dark: false, - * // happy: false, - * // hat: false, - * // mad: false, - * // sad: false, - * // surprised: false + * // anger: false, + * // blurred: false, + * // headwear: false, + * // joy: false, + * // sorrow: false, + * // surprise: false, + * // underExposed: false * // } * // ] * }); @@ -1343,36 +1343,6 @@ Vision.prototype.detectText = function(images, options, callback) { this.detect(images, options, callback); }; -/** - * Convert an object with "likelihood" values to a boolean-representation, based - * on the lowest likelihood provided. - * - * @private - * - * @example - * Vision.convertToBoolean_(Vision.likelihood.VERY_LIKELY, { - * blurry: 'POSSIBLE' - * }); - * // { blurry: false } - * - * Vision.convertToBoolean_(Vision.likelihood.UNLIKELY, { - * blurry: 'POSSIBLE' - * }); - * // { blurry: true } - */ -Vision.convertToBoolean_ = function(baseLikelihood, object) { - var convertedObject = {}; - - for (var prop in object) { - if (object.hasOwnProperty(prop)) { - var value = Vision.likelihood[object[prop]]; - convertedObject[prop] = value >= baseLikelihood; - } - } - - return convertedObject; -}; - /** * Determine the type of image the user is asking to be annotated. If a * {module:storage/file}, convert to its "gs://{bucket}/{file}" URL. If a remote @@ -1586,15 +1556,16 @@ Vision.formatFaceAnnotation_ = function(faceAnnotation) { confidence: faceAnnotation.detectionConfidence * 100 }; - extend(formattedFaceAnnotation, Vision.convertToBoolean_(LIKELY, { - blurry: faceAnnotation.blurredLikelihood, - dark: faceAnnotation.underExposedLikelihood, - happy: faceAnnotation.joyLikelihood, - hat: faceAnnotation.headwearLikelihood, - mad: faceAnnotation.angerLikelihood, - sad: faceAnnotation.sorrowLikelihood, - surprised: faceAnnotation.surpriseLikelihood - })); + // Remove the `Likelihood` part from a property name. + // input: "joyLikelihood", output: "joy" + for (var prop in faceAnnotation) { + if (prop.indexOf('Likelihood') > -1) { + var shortenedProp = prop.replace('Likelihood', ''); + + formattedFaceAnnotation[shortenedProp] = + Vision.gteLikelihood_(LIKELY, faceAnnotation[prop]); + } + } return formattedFaceAnnotation; }; @@ -1644,12 +1615,33 @@ Vision.formatImagePropertiesAnnotation_ = function(imageAnnotation, options) { */ Vision.formatSafeSearchAnnotation_ = function(ssAnnotation, options) { if (!options.verbose) { - return Vision.convertToBoolean_(LIKELY, ssAnnotation); + for (var prop in ssAnnotation) { + var value = ssAnnotation[prop]; + ssAnnotation[prop] = Vision.gteLikelihood_(LIKELY, value); + } + return ssAnnotation; } return ssAnnotation; }; +/** + * Convert a "likelihood" value to a boolean representation, based on the lowest + * likelihood provided. + * + * @private + * + * @example + * Vision.gteLikelihood_(Vision.likelihood.VERY_LIKELY, 'POSSIBLE'); + * // false + * + * Vision.gteLikelihood_(Vision.likelihood.UNLIKELY, 'POSSIBLE'); + * // true + */ +Vision.gteLikelihood_ = function(baseLikelihood, likelihood) { + return Vision.likelihood[likelihood] >= baseLikelihood; +}; + /*! Developer Documentation * * All async methods (except for streams) will return a Promise in the event diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 60dbf8bb905..c01e8f837b0 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -913,31 +913,6 @@ describe('Vision', function() { }); }); - describe('convertToBoolean_', function() { - it('should return booleans', function() { - var baseLikelihood = Vision.likelihood.LIKELY; - - var object = { - // f's should be false, t's should be true: - veryUnlikely: 'VERY_UNLIKELY', - unlikely: 'UNLIKELY', - possible: 'POSSIBLE', - likely: 'LIKELY', - veryLikely: 'VERY_LIKELY' - }; - - var convertedObject = Vision.convertToBoolean_(baseLikelihood, object); - - assert.deepEqual(convertedObject, { - veryUnlikely: false, - unlikely: false, - possible: false, - likely: true, - veryLikely: true - }); - }); - }); - describe('findImages_', function() { it('should convert a File object', function(done) { var file = { @@ -1289,7 +1264,9 @@ describe('Vision', function() { headwearLikelihood: 'LIKELY', angerLikelihood: 'LIKELY', sorrowLikelihood: 'LIKELY', - surpriseLikelihood: 'LIKELY' + surpriseLikelihood: 'LIKELY', + + nonExistentLikelihood: 'LIKELY' }; }); @@ -1378,13 +1355,16 @@ describe('Vision', function() { confidence: faceAnnotation.detectionConfidence * 100, - blurry: true, - dark: true, - happy: true, - hat: true, - mad: true, - sad: true, - surprised: true + anger: true, + blurred: true, + headwear: true, + joy: true, + sorrow: true, + surprise: true, + underExposed: true, + + // Checks that *any* property that ends in `Likelihood` is shortened. + nonExistent: true }; var formatted = Vision.formatFaceAnnotation_(faceAnnotation); @@ -1486,6 +1466,37 @@ describe('Vision', function() { }); }); + describe('gteLikelihood_', function() { + it('should return booleans', function() { + var baseLikelihood = Vision.likelihood.LIKELY; + + assert.strictEqual( + Vision.gteLikelihood_(baseLikelihood, 'VERY_UNLIKELY'), + false + ); + + assert.strictEqual( + Vision.gteLikelihood_(baseLikelihood, 'UNLIKELY'), + false + ); + + assert.strictEqual( + Vision.gteLikelihood_(baseLikelihood, 'POSSIBLE'), + false + ); + + assert.strictEqual( + Vision.gteLikelihood_(baseLikelihood, 'LIKELY'), + true + ); + + assert.strictEqual( + Vision.gteLikelihood_(baseLikelihood, 'VERY_LIKELY'), + true + ); + }); + }); + function testWithoutOptions(type) { return function(images, options, callback) { assert.strictEqual(images, IMAGE); From 566e92791045e968eb1bb3d6062db2ffc4660f7c Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Thu, 8 Dec 2016 18:34:53 -0500 Subject: [PATCH 046/588] prepare READMEs for beta release (#1864) --- packages/google-cloud-vision/README.md | 19 ++++++------------- packages/google-cloud-vision/src/index.js | 6 ------ 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 7e70bb2576e..35894b20545 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -1,8 +1,6 @@ -# @google-cloud/vision +# @google-cloud/vision ([Alpha][versioning]) > Google Cloud Vision Client Library for Node.js -> **This is a Beta release of Google Cloud Vision.** This feature is not covered by any SLA or deprecation policy and may be subject to backward-incompatible changes. - *Looking for more Google APIs than just Vision? You might want to check out [`google-cloud`][google-cloud].* - [API Documentation][gcloud-vision-docs] @@ -124,24 +122,18 @@ var vision = require('@google-cloud/vision')({ It's incredibly easy to get authenticated and start using Google's APIs. You can set your credentials on a global basis as well as on a per-API basis. See each individual API section below to see how you can auth on a per-API-basis. This is useful if you want to use different accounts for different Google Cloud services. -### On Google Compute Engine +### On Google Cloud Platform -If you are running this client on Google Compute Engine, we handle authentication for you with no configuration. You just need to make sure that when you [set up the GCE instance][gce-how-to], you add the correct scopes for the APIs you want to access. +If you are running this client on Google Cloud Platform, we handle authentication for you with no configuration. You just need to make sure that when you [set up the GCE instance][gce-how-to], you add the correct scopes for the APIs you want to access. ``` js -// Authenticating on a global basis. -var projectId = process.env.GCLOUD_PROJECT; // E.g. 'grape-spaceship-123' - -var vision = require('@google-cloud/vision')({ - projectId: projectId -}); - +var vision = require('@google-cloud/vision')(); // ...you're good to go! ``` ### Elsewhere -If you are not running this client on Google Compute Engine, you need a Google Developers service account. To create a service account: +If you are not running this client on Google Cloud Platform, you need a Google Developers service account. To create a service account: 1. Visit the [Google Developers Console][dev-console]. 2. Create a new project or click on an existing project. @@ -168,6 +160,7 @@ var vision = require('@google-cloud/vision')({ ``` +[versioning]: https://github.com/GoogleCloudPlatform/google-cloud-node#versioning [google-cloud]: https://github.com/GoogleCloudPlatform/google-cloud-node/ [gce-how-to]: https://cloud.google.com/compute/docs/authentication#using [dev-console]: https://console.developers.google.com/project diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index b7dcd4a0967..77e09f5932b 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -39,12 +39,6 @@ var LIKELY = 3; var VERY_LIKELY = 4; /** - *

- * **This is a Beta release of Google Cloud Vision.** This API is not covered - * by any SLA or deprecation policy and may be subject to backward- - * incompatible changes. - *

- * * The [Cloud Vision API](https://cloud.google.com/vision/docs) allows easy * integration of vision detection features, including image labeling, face and * landmark detection, optical character recognition (OCR), and tagging of From 82fde94377ed058949501a1926051efd04b725f6 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Thu, 8 Dec 2016 19:43:39 -0500 Subject: [PATCH 047/588] all: update dependencies --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 35260288c8a..5707f0ad428 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,7 +50,7 @@ "vision" ], "dependencies": { - "@google-cloud/common": "^0.8.0", + "@google-cloud/common": "^0.9.0", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", From 39c319424ed9445423616807bf938c20cfda2545 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Thu, 8 Dec 2016 19:51:20 -0500 Subject: [PATCH 048/588] vision @ 0.7.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 5707f0ad428..e51e9e8f487 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.6.0", + "version": "0.7.0", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ From 1b8636f2de469851e8ebe3daade139ab8a07af37 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Fri, 9 Dec 2016 15:16:00 -0800 Subject: [PATCH 049/588] Update storage samples. (#263) * Update storage samples. * Update dependencies. --- packages/google-cloud-vision/samples/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 313d4eb2835..a3043b8145f 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -9,8 +9,8 @@ "system-test": "cd ..; npm run st -- vision/system-test/*.test.js" }, "dependencies": { - "@google-cloud/vision": "0.5.0", - "async": "2.1.2", + "@google-cloud/vision": "0.7.0", + "async": "2.1.4", "natural": "0.4.0", "redis": "2.6.3" }, From 726d6022243ba336bd181be8afd1b0c00f5d6c26 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Fri, 6 Jan 2017 15:30:36 -0800 Subject: [PATCH 050/588] Switch from Mocha to Ava for faster tests (#289) * Switch from Mocha to Ava * Concurrency: 5 --- .../google-cloud-vision/samples/package.json | 3 +- .../google-cloud-vision/samples/quickstart.js | 14 +++--- .../samples/test/quickstart.test.js | 44 ------------------- 3 files changed, 7 insertions(+), 54 deletions(-) delete mode 100644 packages/google-cloud-vision/samples/test/quickstart.test.js diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a3043b8145f..28a99d7e50b 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -5,8 +5,7 @@ "license": "Apache Version 2.0", "author": "Google Inc.", "scripts": { - "test": "cd ..; npm run t -- vision/test/*.test.js", - "system-test": "cd ..; npm run st -- vision/system-test/*.test.js" + "test": "cd ..; npm run st -- vision/system-test/*.test.js" }, "dependencies": { "@google-cloud/vision": "0.7.0", diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index fafa46b1a27..e650314dbdf 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -31,13 +31,11 @@ const visionClient = Vision({ const fileName = './resources/wakeupcat.jpg'; // Performs label detection on the image file -visionClient.detectLabels(fileName, (err, labels) => { - if (err) { - console.error(err); - return; - } +visionClient.detectLabels(fileName) + .then((results) => { + const labels = results[0]; - console.log('Labels:'); - labels.forEach((label) => console.log(label)); -}); + console.log('Labels:'); + labels.forEach((label) => console.log(label)); + }); // [END vision_quickstart] diff --git a/packages/google-cloud-vision/samples/test/quickstart.test.js b/packages/google-cloud-vision/samples/test/quickstart.test.js deleted file mode 100644 index 9a75af8f179..00000000000 --- a/packages/google-cloud-vision/samples/test/quickstart.test.js +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright 2016, Google, Inc. - * 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. - */ - -'use strict'; - -const proxyquire = require(`proxyquire`).noCallThru(); - -describe(`vision:quickstart`, () => { - let visionMock, VisionMock; - const error = new Error(`error`); - const fileName = `./resources/wakeupcat.jpg`; - - before(() => { - visionMock = { - detectLabels: sinon.stub().yields(error) - }; - VisionMock = sinon.stub().returns(visionMock); - }); - - it(`should handle error`, () => { - proxyquire(`../quickstart`, { - '@google-cloud/vision': VisionMock - }); - - assert.equal(VisionMock.calledOnce, true); - assert.deepEqual(VisionMock.firstCall.args, [{ projectId: 'YOUR_PROJECT_ID' }]); - assert.equal(visionMock.detectLabels.calledOnce, true); - assert.deepEqual(visionMock.detectLabels.firstCall.args.slice(0, -1), [fileName]); - assert.equal(console.error.calledOnce, true); - assert.deepEqual(console.error.firstCall.args, [error]); - }); -}); From 16411a79937dad17569c78ac504c5d8fa5f20385 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Mon, 9 Jan 2017 14:02:52 -0800 Subject: [PATCH 051/588] Switch to Yarn for CI build. (#290) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 28a99d7e50b..14fa7212c62 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -5,7 +5,7 @@ "license": "Apache Version 2.0", "author": "Google Inc.", "scripts": { - "test": "cd ..; npm run st -- vision/system-test/*.test.js" + "test": "cd ..; npm run st -- --verbose vision/system-test/*.test.js" }, "dependencies": { "@google-cloud/vision": "0.7.0", From a42d43e6d33122e8919b33e28393228e09aca57a Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 9 Jan 2017 20:44:57 -0500 Subject: [PATCH 052/588] update dependencies --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index e51e9e8f487..8e287607e31 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,7 +50,7 @@ "vision" ], "dependencies": { - "@google-cloud/common": "^0.9.0", + "@google-cloud/common": "^0.11.0", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", From a4dac66e00a530bb4d8c38ad4233c2963068d986 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Mon, 9 Jan 2017 20:50:13 -0800 Subject: [PATCH 053/588] Vision snippets. (#294) --- .../google-cloud-vision/samples/README.md | 49 +++++++++++++++++++ .../google-cloud-vision/samples/package.json | 6 ++- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index fe90c875958..c71e091af17 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -13,6 +13,7 @@ content. * [Setup](#setup) * [Samples](#samples) + * [Detection snippets](#detection-snippets) * [Face detection](#face-detection) * [Label detection](#label-detection) * [Landmark detection](#landmark-detection) @@ -30,6 +31,54 @@ content. ## Samples +### Detection snippets + +View the [documentation][detect_docs] or the [source code][detect_code]. + +__Usage:__ `node detect.js --help` + +``` +Commands: + faces Detects faces in a local image file. + faces-gcs Detects faces in an image in Google Cloud Storage. + labels Detects labels in a local image file. + labels-gcs Detects labels in an image in Google Cloud Storage. + landmarks Detects landmarks in a local image file. + landmarks-gcs Detects landmarks in an image in Google Cloud Storage. + text Detects text in a local image file. + text-gcs Detects text in an image in Google Cloud Storage. + logos Detects logos in a local image file. + logos-gcs Detects logos in an image in Google Cloud Storage. + properties Detects image properties in a local image file. + properties-gcs Detects image properties in an image in Google Cloud Storage. + safe-search Detects safe search properties in a local image file. + safe-search-gcs Detects safe search properties in an image in Google Cloud Storage. + +Options: + --help Show help [boolean] + +Examples: + node detect.js faces ./resources/face_no_surprise.jpg + node detect.js faces-gcs my-bucket your-image.jpg + node detect.js labels ./resources/wakeupcat.jpg + node detect.js labels-gcs my-bucket your-image.jpg + node detect.js landmarks ./resources/landmark.jpg + node detect.js landmarks-gcs my-bucket your-image.jpg + node detect.js text ./resources/wakeupcat.jpg + node detect.js text-gcs my-bucket your-image.jpg + node detect.js logos ./resources/logos.png + node detect.js logos-gcs my-bucket your-image.jpg.png + node detect.js properties ./resources/landmark.jpg + node detect.js properties-gcs my-bucket your-image.jpg + node detect.js safe-search ./resources/wakeupcat.jpg + node detect.js safe-search-gcs my-bucket your-image.jpg + +For more information, see https://cloud.google.com/vision/docs +``` + +[detect_docs]: https://cloud.google.com/vision/docs +[detect_code]: detect.js + ### Face detection View the [documentation][face_docs] or the [source code][face_code]. diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 14fa7212c62..33f333a8662 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -5,13 +5,15 @@ "license": "Apache Version 2.0", "author": "Google Inc.", "scripts": { - "test": "cd ..; npm run st -- --verbose vision/system-test/*.test.js" + "test": "cd ..; npm run st -- --verbose vision/system-test/detect.test.js" }, "dependencies": { + "@google-cloud/storage": "0.6.0", "@google-cloud/vision": "0.7.0", "async": "2.1.4", "natural": "0.4.0", - "redis": "2.6.3" + "redis": "2.6.3", + "yargs": "6.6.0" }, "optionalDependencies": { "canvas": "1.6.2" From 904a3288d405a577dbafcd656ee02ec249b46b5b Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 31 Jan 2017 15:10:05 -0500 Subject: [PATCH 054/588] vision: incorporate @google-cloud/common-grpc (#1952) --- packages/google-cloud-vision/package.json | 3 ++- packages/google-cloud-vision/src/index.js | 3 ++- packages/google-cloud-vision/test/index.js | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 8e287607e31..2c1edaccac5 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,7 +50,8 @@ "vision" ], "dependencies": { - "@google-cloud/common": "^0.11.0", + "@google-cloud/common": "^0.12.0", + "@google-cloud/common-grpc": "^0.1.1", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 77e09f5932b..001703bbc9c 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -23,6 +23,7 @@ var arrify = require('arrify'); var async = require('async'); var common = require('@google-cloud/common'); +var commonGrpc = require('@google-cloud/common-grpc'); var extend = require('extend'); var format = require('string-format-obj'); var fs = require('fs'); @@ -1450,7 +1451,7 @@ Vision.formatEntityAnnotation_ = function(entityAnnotation, options) { * @private */ Vision.formatError_ = function(err) { - var httpError = common.GrpcService.GRPC_ERROR_CODE_TO_HTTP[err.code]; + var httpError = commonGrpc.Service.GRPC_ERROR_CODE_TO_HTTP[err.code]; if (httpError) { err.code = httpError.code; diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index c01e8f837b0..baf63fbf860 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -21,7 +21,7 @@ var async = require('async'); var deepStrictEqual = require('deep-strict-equal'); var extend = require('extend'); var fs = require('fs'); -var GrpcService = require('@google-cloud/common').GrpcService; +var GrpcService = require('@google-cloud/common-grpc').Service; var nodeutil = require('util'); var prop = require('propprop'); var proxyquire = require('proxyquire'); @@ -60,11 +60,11 @@ describe('Vision', function() { before(function() { Vision = proxyquire('../', { - request: fakeRequest, '@google-cloud/common': { Service: FakeService, util: fakeUtil - } + }, + request: fakeRequest }); VisionCached = extend({}, Vision); From 8501d0c26e714bdb69cb9685166b2e69aae37ae7 Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Tue, 31 Jan 2017 16:02:17 -0500 Subject: [PATCH 055/588] vision @ 0.8.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2c1edaccac5..642352255bf 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.7.0", + "version": "0.8.0", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ From b322896a7980e9ad8b7ea9f1e2d45a0bf0eaf01a Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Thu, 2 Feb 2017 17:07:24 -0800 Subject: [PATCH 056/588] Update Vision samples to be easier to read. Update dependencies. (#312) --- packages/google-cloud-vision/samples/package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 33f333a8662..e78e0ecb502 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -5,14 +5,14 @@ "license": "Apache Version 2.0", "author": "Google Inc.", "scripts": { - "test": "cd ..; npm run st -- --verbose vision/system-test/detect.test.js" + "test": "cd ..; npm run st -- --verbose vision/system-test/*.test.js" }, "dependencies": { - "@google-cloud/storage": "0.6.0", - "@google-cloud/vision": "0.7.0", + "@google-cloud/storage": "0.7.0", + "@google-cloud/vision": "0.8.0", "async": "2.1.4", "natural": "0.4.0", - "redis": "2.6.3", + "redis": "2.6.5", "yargs": "6.6.0" }, "optionalDependencies": { From ffb6aa9753b0190ba75177c7a9bb6d0884027826 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Thu, 2 Feb 2017 17:13:02 -0800 Subject: [PATCH 057/588] Remove unused Vision samples. --- .../google-cloud-vision/samples/README.md | 36 ++----------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index c71e091af17..411c81a621f 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -15,8 +15,6 @@ content. * [Samples](#samples) * [Detection snippets](#detection-snippets) * [Face detection](#face-detection) - * [Label detection](#label-detection) - * [Landmark detection](#landmark-detection) * [Text detection](#text-detection) ## Setup @@ -79,7 +77,7 @@ For more information, see https://cloud.google.com/vision/docs [detect_docs]: https://cloud.google.com/vision/docs [detect_code]: detect.js -### Face detection +### Face detection tutorial View the [documentation][face_docs] or the [source code][face_code]. @@ -101,37 +99,7 @@ Example: [face_docs]: https://cloud.google.com/vision/docs/face-tutorial [face_code]: faceDetection.js -### Label detection - -View the [documentation][label_docs] or the [source code][label_code]. - -__Run the sample:__ - -Usage: `node labelDetection ` - -Example: - - node labelDetection "./resources/wakeupcat.jpg" - -[label_docs]: https://cloud.google.com/vision/docs/label-tutorial -[label_code]: labelDetection.js - -### Landmark detection - -View the [documentation][landmark_docs] or the [source code][landmark_code]. - -__Run the sample:__ - -Usage: `node landmarkDetection ` - -Example: - - node landmarkDetection "https://cloud-samples-tests.storage.googleapis.com/vision/water.jpg" - -[landmark_docs]: https://cloud.google.com/vision/docs/landmark-tutorial -[landmark_code]: landmarkDetection.js - -### Text detection sample +### Text detection tutorial View the [source code][text_code]. From ccd9a4b44770f36cfb9df36fca83d05656ff86b7 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 14 Feb 2017 12:18:51 -0500 Subject: [PATCH 058/588] update deps --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 642352255bf..887d7465527 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -56,7 +56,7 @@ "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.10.0", - "google-proto-files": "^0.8.0", + "google-proto-files": "^0.9.1", "is": "^3.0.1", "propprop": "^0.3.0", "request": "^2.70.0", From 2047571d04d86e0fcc7663168ed0f63affa2f264 Mon Sep 17 00:00:00 2001 From: Jun Mukai Date: Fri, 24 Feb 2017 13:58:14 -0800 Subject: [PATCH 059/588] Update vision API client autogen. (#2026) Updates #2019 --- packages/google-cloud-vision/package.json | 2 +- .../src/v1/image_annotator_client.js | 64 +++++++++++-------- .../src/v1/image_annotator_client_config.json | 12 ++-- packages/google-cloud-vision/src/v1/index.js | 17 ++--- 4 files changed, 52 insertions(+), 43 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 887d7465527..f1cbe9e6d1a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -55,7 +55,7 @@ "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.10.0", + "google-gax": "^0.12.0", "google-proto-files": "^0.9.1", "is": "^3.0.1", "propprop": "^0.3.0", diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 1a6e4b4c8f6..213be636675 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -63,44 +63,61 @@ var ALL_SCOPES = [ * @class */ function ImageAnnotatorClient(gaxGrpc, grpcClients, opts) { - opts = opts || {}; - var servicePath = opts.servicePath || SERVICE_ADDRESS; - var port = opts.port || DEFAULT_SERVICE_PORT; - var sslCreds = opts.sslCreds || null; - var clientConfig = opts.clientConfig || {}; - var appName = opts.appName || 'gax'; - var appVersion = opts.appVersion || gax.version; + opts = extend({ + servicePath: SERVICE_ADDRESS, + port: DEFAULT_SERVICE_PORT, + clientConfig: {} + }, opts); var googleApiClient = [ - appName + '/' + appVersion, - CODE_GEN_NAME_VERSION, + 'gl-node/' + process.versions.node, + CODE_GEN_NAME_VERSION + ]; + if (opts.libName && opts.libVersion) { + googleApiClient.push(opts.libName + '/' + opts.libVersion); + } + googleApiClient.push( 'gax/' + gax.version, - 'nodejs/' + process.version].join(' '); + 'grpc/' + gaxGrpc.grpcVersion + ); var defaults = gaxGrpc.constructSettings( 'google.cloud.vision.v1.ImageAnnotator', configData, - clientConfig, - {'x-goog-api-client': googleApiClient}); + opts.clientConfig, + {'x-goog-api-client': googleApiClient.join(' ')}); + var self = this; + + this.auth = gaxGrpc.auth; var imageAnnotatorStub = gaxGrpc.createStub( - servicePath, - port, - grpcClients.imageAnnotatorClient.google.cloud.vision.v1.ImageAnnotator, - {sslCreds: sslCreds}); + grpcClients.google.cloud.vision.v1.ImageAnnotator, + opts); var imageAnnotatorStubMethods = [ 'batchAnnotateImages' ]; imageAnnotatorStubMethods.forEach(function(methodName) { - this['_' + methodName] = gax.createApiCall( + self['_' + methodName] = gax.createApiCall( imageAnnotatorStub.then(function(imageAnnotatorStub) { - return imageAnnotatorStub[methodName].bind(imageAnnotatorStub); + return function() { + var args = Array.prototype.slice.call(arguments, 0); + return imageAnnotatorStub[methodName].apply(imageAnnotatorStub, args); + }; }), defaults[methodName], null); - }.bind(this)); + }); } +/** + * Get the project ID used by this class. + * @aram {function(Error, string)} callback - the callback to be called with + * the current project Id. + */ +ImageAnnotatorClient.prototype.getProjectId = function(callback) { + return this.auth.getProjectId(callback); +}; + // Service calls /** @@ -157,9 +174,6 @@ function ImageAnnotatorClientBuilder(gaxGrpc) { }]); extend(this, imageAnnotatorClient.google.cloud.vision.v1); - var grpcClients = { - imageAnnotatorClient: imageAnnotatorClient - }; /** * Build a new instance of {@link ImageAnnotatorClient}. @@ -174,13 +188,9 @@ function ImageAnnotatorClientBuilder(gaxGrpc) { * @param {Object=} opts.clientConfig * The customized config to build the call settings. See * {@link gax.constructSettings} for the format. - * @param {number=} opts.appName - * The codename of the calling service. - * @param {String=} opts.appVersion - * The version of the calling service. */ this.imageAnnotatorClient = function(opts) { - return new ImageAnnotatorClient(gaxGrpc, grpcClients, opts); + return new ImageAnnotatorClient(gaxGrpc, imageAnnotatorClient, opts); }; extend(this.imageAnnotatorClient, ImageAnnotatorClient); } diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json index 12676ae8e70..a5623731dc0 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json @@ -2,13 +2,11 @@ "interfaces": { "google.cloud.vision.v1.ImageAnnotator": { "retry_codes": { - "retry_codes_def": { - "idempotent": [ - "DEADLINE_EXCEEDED", - "UNAVAILABLE" - ], - "non_idempotent": [] - } + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] }, "retry_params": { "default": { diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index 3e6ed933593..22d87db6661 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -1,11 +1,11 @@ -/*! - * Copyright 2016 Google Inc. All Rights Reserved. +/* + * Copyright 2016 Google Inc. All rights reserved. * * 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 + * 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, @@ -15,18 +15,19 @@ */ 'use strict'; -var visionClient = require('./image_annotator_client'); -var extend = require('extend'); +var imageAnnotatorClient = require('./image_annotator_client'); var gax = require('google-gax'); +var extend = require('extend'); function v1(options) { options = extend({ scopes: v1.ALL_SCOPES }, options); var gaxGrpc = gax.grpc(options); - return visionClient(gaxGrpc); + return imageAnnotatorClient(gaxGrpc); } -v1.SERVICE_ADDRESS = visionClient.SERVICE_ADDRESS; -v1.ALL_SCOPES = visionClient.ALL_SCOPES; +v1.SERVICE_ADDRESS = imageAnnotatorClient.SERVICE_ADDRESS; +v1.ALL_SCOPES = imageAnnotatorClient.ALL_SCOPES; + module.exports = v1; From bad8153a41384a731adc5a8fcaf97d87a2c389ab Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Thu, 2 Mar 2017 18:32:30 -0500 Subject: [PATCH 060/588] vision: add default formatter for unknown annotation types (#2044) --- packages/google-cloud-vision/src/index.js | 6 +++++- packages/google-cloud-vision/test/index.js | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 001703bbc9c..ef58c1e7762 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -535,7 +535,11 @@ Vision.prototype.detect = function(images, options, callback) { textAnnotations: Vision.formatEntityAnnotation_ }; - return formatMethodMap[type](annotation, options); + var formatMethod = formatMethodMap[type] || function(annotation) { + return annotation; + }; + + return formatMethod(annotation, options); }; } diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index baf63fbf860..2b5dfd3384e 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -734,6 +734,28 @@ describe('Vision', function() { }); }); + it('should return the raw annotation for unknown types', function(done) { + var anno = { a: 'b', c: 'd' }; + + var annotations = [ + { + faceAnnotations: anno + } + ]; + + Vision.formatFaceAnnotation_ = null; + + vision.annotate = function(config, callback) { + callback(null, annotations); + }; + + vision.detect(IMAGE, 'faces', function(err, detections) { + assert.ifError(err); + assert.strictEqual(detections, anno); + done(); + }); + }); + it('should return an error from annotate()', function(done) { var error = new Error('Error.'); var apiResponse = {}; From 76a2684e8227324640712a292d3675b188f1e267 Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Thu, 2 Mar 2017 18:34:52 -0500 Subject: [PATCH 061/588] vision @ 0.8.1 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index f1cbe9e6d1a..25268a41084 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.8.0", + "version": "0.8.1", "author": "Google Inc.", "description": "Google Cloud Vision Client Library for Node.js", "contributors": [ From 36a146d4f1401e5eff9ae28df6d9ce96b28e5ea3 Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Thu, 2 Mar 2017 20:27:44 -0500 Subject: [PATCH 062/588] docs: change Google Cloud to Cloud (#1995) --- packages/google-cloud-vision/README.md | 4 ++-- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/src/v1/image_annotator_client.js | 2 +- packages/google-cloud-vision/system-test/vision.js | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 35894b20545..5ecc6f33631 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -1,5 +1,5 @@ # @google-cloud/vision ([Alpha][versioning]) -> Google Cloud Vision Client Library for Node.js +> Cloud Vision Client Library for Node.js *Looking for more Google APIs than just Vision? You might want to check out [`google-cloud`][google-cloud].* @@ -120,7 +120,7 @@ var vision = require('@google-cloud/vision')({ ## Authentication -It's incredibly easy to get authenticated and start using Google's APIs. You can set your credentials on a global basis as well as on a per-API basis. See each individual API section below to see how you can auth on a per-API-basis. This is useful if you want to use different accounts for different Google Cloud services. +It's incredibly easy to get authenticated and start using Google's APIs. You can set your credentials on a global basis as well as on a per-API basis. See each individual API section below to see how you can auth on a per-API-basis. This is useful if you want to use different accounts for different Cloud services. ### On Google Cloud Platform diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 25268a41084..da46576a273 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -2,7 +2,7 @@ "name": "@google-cloud/vision", "version": "0.8.1", "author": "Google Inc.", - "description": "Google Cloud Vision Client Library for Node.js", + "description": "Cloud Vision Client Library for Node.js", "contributors": [ { "name": "Burcu Dogan", diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 213be636675..79c3d101f98 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -46,7 +46,7 @@ var ALL_SCOPES = [ ]; /** - * Service that performs Google Cloud Vision API detection tasks, such as face, + * Service that performs Cloud Vision API detection tasks, such as face, * landmark, logo, label, and text detection, over client images, and returns * detected entities from the images. * diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 43c8bad1c38..b2e565a6309 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -511,8 +511,8 @@ describe('Vision', function() { describe('text', function() { var expectedResults = [ normalizeNewline(multiline.stripIndent(function() {/* - Google Cloud Client Library for Node js an idiomatic, intuitive, and - natural way for Node.js developers to integrate with Google Cloud + Cloud Client Library for Node js an idiomatic, intuitive, and + natural way for Node.js developers to integrate with Cloud Platform services, like Cloud Datastore and Cloud Storage. */})) From d3403dd0f07ceb16ee8783a1e2affd5397fb0126 Mon Sep 17 00:00:00 2001 From: Jun Mukai Date: Thu, 2 Mar 2017 17:28:37 -0800 Subject: [PATCH 063/588] Fix the ordering of x-goog-api-client info (#2037) --- packages/google-cloud-vision/src/v1/image_annotator_client.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 79c3d101f98..515aa2949c8 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -70,13 +70,13 @@ function ImageAnnotatorClient(gaxGrpc, grpcClients, opts) { }, opts); var googleApiClient = [ - 'gl-node/' + process.versions.node, - CODE_GEN_NAME_VERSION + 'gl-node/' + process.versions.node ]; if (opts.libName && opts.libVersion) { googleApiClient.push(opts.libName + '/' + opts.libVersion); } googleApiClient.push( + CODE_GEN_NAME_VERSION, 'gax/' + gax.version, 'grpc/' + gaxGrpc.grpcVersion ); From 3694afe1488c00f9d6103baab540a38beaffd57c Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 3 Mar 2017 14:03:44 -0500 Subject: [PATCH 064/588] vision: update to v1.1 (#2041) --- packages/google-cloud-vision/package.json | 6 +- packages/google-cloud-vision/src/index.js | 549 +++++++++-- .../src/v1/image_annotator_client.js | 8 +- .../system-test/data/document.jpg | Bin 0 -> 103084 bytes .../google-cloud-vision/system-test/vision.js | 100 +- packages/google-cloud-vision/test/index.js | 899 ++++++++++++------ 6 files changed, 1179 insertions(+), 383 deletions(-) create mode 100644 packages/google-cloud-vision/system-test/data/document.jpg diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index da46576a273..70010f9742b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -55,11 +55,11 @@ "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.12.0", - "google-proto-files": "^0.9.1", + "google-gax": "^0.12.1", + "google-proto-files": "^0.10.0", "is": "^3.0.1", + "prop-assign": "^1.0.0", "propprop": "^0.3.0", - "request": "^2.70.0", "rgb-hex": "^1.0.0", "string-format-obj": "^1.0.0" }, diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index ef58c1e7762..497ec39f412 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -29,9 +29,10 @@ var format = require('string-format-obj'); var fs = require('fs'); var is = require('is'); var prop = require('propprop'); -var request = require('request'); +var propAssign = require('prop-assign'); var rgbHex = require('rgb-hex'); -var util = require('util'); + +var v1 = require('./v1'); var VERY_UNLIKELY = 0; var UNLIKELY = 1; @@ -59,20 +60,11 @@ function Vision(options) { return new Vision(options); } - var config = { - baseUrl: 'https://vision.googleapis.com/v1', - projectIdRequired: false, - scopes: [ - 'https://www.googleapis.com/auth/cloud-platform' - ], - packageJson: require('../package.json') + this.api = { + Vision: v1(options).imageAnnotatorClient(options) }; - - common.Service.call(this, config, options); } -util.inherits(Vision, common.Service); - Vision.likelihood = { VERY_UNLIKELY: VERY_UNLIKELY, UNLIKELY: UNLIKELY, @@ -118,12 +110,8 @@ Vision.likelihood = { * }); */ Vision.prototype.annotate = function(requests, callback) { - this.request({ - method: 'POST', - uri: 'images:annotate', - json: { - requests: arrify(requests) - } + this.api.Vision.batchAnnotateImages({ + requests: arrify(requests) }, function(err, resp) { if (err) { callback(err, null, resp); @@ -170,8 +158,9 @@ Vision.prototype.annotate = function(requests, callback) { * @param {number} options.maxResults - The maximum number of results, per type, * to return in the response. * @param {string[]} options.types - An array of feature types to detect from - * the provided images. Acceptable values: `faces`, `landmarks`, `labels`, - * `logos`, `properties`, `safeSearch`, `text`. + * the provided images. Acceptable values: `crops`, `document`, `faces`, + * `landmarks`, `labels`, `logos`, `properties`, `safeSearch`, `similar`, + * `text`. * @param {boolean=} options.verbose - Use verbose mode, which returns a less- * simplistic representation of the annotation (default: `false`). * @param {function} callback - The callback function. @@ -203,12 +192,9 @@ Vision.prototype.annotate = function(requests, callback) { * * //- * // Run feature detection over a remote image. - * // - * // *Note: This is not an officially supported feature of the Vision API. Our - * // library will make a request to the URL given, convert it to base64, and - * // send that upstream.* * //- * var img = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; + * * vision.detect(img, types, function(err, detection, apiResponse) {}); * * //- @@ -308,6 +294,12 @@ Vision.prototype.detect = function(images, options, callback) { var types = arrify(options.types); var typeShortNameToFullName = { + crop: 'CROP_HINTS', + crops: 'CROP_HINTS', + + doc: 'DOCUMENT_TEXT_DETECTION', + document: 'DOCUMENT_TEXT_DETECTION', + face: 'FACE_DETECTION', faces: 'FACE_DETECTION', @@ -324,10 +316,18 @@ Vision.prototype.detect = function(images, options, callback) { safeSearch: 'SAFE_SEARCH_DETECTION', + similar: 'WEB_DETECTION', + text: 'TEXT_DETECTION' }; var typeShortNameToRespName = { + crop: 'cropHintsAnnotation', + crops: 'cropHintsAnnotation', + + doc: 'fullTextAnnotation', + document: 'fullTextAnnotation', + face: 'faceAnnotations', faces: 'faceAnnotations', @@ -344,17 +344,22 @@ Vision.prototype.detect = function(images, options, callback) { safeSearch: 'safeSearchAnnotation', + similar: 'webDetection', + text: 'textAnnotations' }; var typeRespNameToShortName = { + cropHintsAnnotation: 'crops', faceAnnotations: 'faces', + fullTextAnnotation: 'document', imagePropertiesAnnotation: 'properties', labelAnnotations: 'labels', landmarkAnnotations: 'landmarks', logoAnnotations: 'logos', safeSearchAnnotation: 'safeSearch', - textAnnotations: 'text' + textAnnotations: 'text', + webDetection: 'similar' }; Vision.findImages_(images, function(err, foundImages) { @@ -375,9 +380,11 @@ Vision.prototype.detect = function(images, options, callback) { var cfg = { image: image, - features: { - type: typeName - } + features: [ + { + type: typeName + } + ] }; if (is.object(options.imageContext)) { @@ -385,7 +392,7 @@ Vision.prototype.detect = function(images, options, callback) { } if (is.number(options.maxResults)) { - cfg.features.maxResults = options.maxResults; + cfg.features.map(propAssign('maxResults', options.maxResults)); } config.push(cfg); @@ -403,6 +410,7 @@ Vision.prototype.detect = function(images, options, callback) { var detections = foundImages .map(groupDetectionsByImage) + .map(removeExtraneousAnnotationObjects) .map(assignTypeToEmptyAnnotations) .map(removeDetectionsWithErrors) .map(flattenAnnotations) @@ -445,6 +453,37 @@ Vision.prototype.detect = function(images, options, callback) { return annotations.splice(0, types.length); } + function removeExtraneousAnnotationObjects(annotations) { + // The API response includes empty annotations for features that weren't + // requested. + // + // Before: + // [ + // { + // faceAnnotations: {}, + // labelAnnotations: {} + // } + // ] + // + // After: + // [ + // { + // faceAnnotations: {} + // } + // ] + return annotations.map(function(annotation, index) { + var requestedAnnotationType = typeShortNameToRespName[types[index]]; + + for (var prop in annotation) { + if (prop !== requestedAnnotationType && prop !== 'error') { + delete annotation[prop]; + } + } + + return annotation; + }); + } + function assignTypeToEmptyAnnotations(annotations) { // Before: // [ @@ -492,9 +531,7 @@ Vision.prototype.detect = function(images, options, callback) { var errors = []; annotations.forEach(function(annotation, index) { - var annotationKey = Object.keys(annotation)[0]; - - if (annotationKey === 'error') { + if (!is.empty(annotation.error)) { var userInputType = types[index]; var respNameType = typeShortNameToRespName[userInputType]; annotation.error.type = typeRespNameToShortName[respNameType]; @@ -525,14 +562,17 @@ Vision.prototype.detect = function(images, options, callback) { } var formatMethodMap = { - errors: Vision.formatError_, + cropHintsAnnotation: Vision.formatCropHintsAnnotation_, + error: Vision.formatError_, faceAnnotations: Vision.formatFaceAnnotation_, + fullTextAnnotation: Vision.formatFullTextAnnotation_, imagePropertiesAnnotation: Vision.formatImagePropertiesAnnotation_, labelAnnotations: Vision.formatEntityAnnotation_, landmarkAnnotations: Vision.formatEntityAnnotation_, logoAnnotations: Vision.formatEntityAnnotation_, safeSearchAnnotation: Vision.formatSafeSearchAnnotation_, - textAnnotations: Vision.formatEntityAnnotation_ + textAnnotations: Vision.formatEntityAnnotation_, + webDetection: Vision.formatWebDetection_ }; var formatMethod = formatMethodMap[type] || function(annotation) { @@ -570,7 +610,7 @@ Vision.prototype.detect = function(images, options, callback) { if (types.length === 1) { // Only a single detection type was asked for, so no need to box in // the results. Make them accessible without using a key. - var key = Object.keys(annotations)[0]; + var key = typeRespNameToShortName[typeShortNameToRespName[types[0]]]; annotations = annotations[key]; } @@ -579,8 +619,94 @@ Vision.prototype.detect = function(images, options, callback) { }); }); }; + // jscs:enable maximumLineLength +/** + * Detect the crop hints within an image. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @resource [CropHintsAnnotation JSON respresentation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#CropHintsAnnotation} + * + * @example + * vision.detectCrops('image.jpg', function(err, crops, apiResponse) { + * // crops = [ + * // [ + * // { + * // x: 1 + * // }, + * // { + * // x: 295 + * // }, + * // { + * // x: 295, + * // y: 301 + * // }, + * // { + * // x: 1, + * // y: 301 + * // } + * // ], + * // // ... + * // ] + * }); + * + * //- + * // Activate `verbose` mode for a more detailed response. + * //- + * var options = { + * verbose: true + * }; + * + * vision.detectCrops('image.jpg', options, function(err, crops, apiResponse) { + * // crops = [ + * // { + * // bounds: [ + * // { + * // x: 1 + * // }, + * // { + * // x: 295 + * // }, + * // { + * // x: 295, + * // y: 301 + * // }, + * // { + * // x: 1, + * // y: 301 + * // } + * // ], + * // confidence: 0.799999995 + * // }, + * // // ... + * // ] + * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detectCrops('image.jpg').then(function(data) { + * var crops = data[0]; + * var apiResponse = data[1]; + * }); + */ +Vision.prototype.detectCrops = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['crops'] + }); + + this.detect(images, options, callback); +}; + /** * Run face detection against an image. * @@ -1274,6 +1400,76 @@ Vision.prototype.detectSafeSearch = function(images, options, callback) { this.detect(images, options, callback); }; +/** + * Detect similar images from the internet. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @resource [WebAnnotation JSON representation]{@link https://cloud.google.com/vision/docs/reference/rest/v1/images/annotate#WebAnnotation} + * + * @example + * vision.detectSimilar('image.jpg', function(err, images, apiResponse) { + * // images = [ + * // 'http://www.example.com/most-similar-image', + * // // ... + * // 'http://www.example.com/least-similar-image' + * // ] + * }); + * + * //- + * // Activate `verbose` mode for a more detailed response. + * //- + * var opts = { + * verbose: true + * }; + * + * vision.detectSimilar('image.jpg', opts, function(err, similar, apiResponse) { + * // similar = { + * // entities: [ + * // 'Logo', + * // // ... + * // ], + * // fullMatches: [ + * // 'http://www.example.com/most-similar-image', + * // // ... + * // 'http://www.example.com/least-similar-image' + * // ], + * // partialMatches: [ + * // 'http://www.example.com/most-similar-image', + * // // ... + * // 'http://www.example.com/least-similar-image' + * // ], + * // pages: [ + * // 'http://www.example.com/page-with-most-similar-image', + * // // ... + * // 'http://www.example.com/page-with-least-similar-image' + * // ] + * // } + * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.detectSimilar('image.jpg').then(function(data) { + * var images = data[0]; + * var apiResponse = data[1]; + * }); + */ +Vision.prototype.detectSimilar = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['similar'] + }); + + this.detect(images, options, callback); +}; + /** * Detect the text within an image. * @@ -1301,20 +1497,20 @@ Vision.prototype.detectSafeSearch = function(images, options, callback) { * // desc: 'This was text found in the image', * // bounds: [ * // { - * // x: 4, - * // y: 5 + * // x: 4, + * // y: 5 * // }, * // { - * // x: 493, - * // y: 5 + * // x: 493, + * // y: 5 * // }, * // { - * // x: 493, - * // y: 89 + * // x: 493, + * // y: 89 * // }, * // { - * // x: 4, - * // y: 89 + * // x: 4, + * // y: 89 * // } * // ] * // } @@ -1342,11 +1538,159 @@ Vision.prototype.detectText = function(images, options, callback) { this.detect(images, options, callback); }; +/** + * Annotate a document. + * + *

Parameters

+ * + * See {module:vision#detect}. + * + * @resource [FullTextAnnotation JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#FullTextAnnotation} + * + * @example + * vision.readDocument('image.jpg', function(err, text, apiResponse) { + * // text = 'This paragraph was extracted from image.jpg'; + * }); + * + * //- + * // Activate `verbose` mode for a more detailed response. + * //- + * var opts = { + * verbose: true + * }; + * + * vision.readDocument('image.jpg', opts, function(err, pages, apiResponse) { + * // pages = [ + * // { + * // languages: [ + * // 'en' + * // ], + * // width: 688, + * // height: 1096, + * // blocks: [ + * // { + * // type: 'TEXT', + * // bounds: [ + * // { + * // x: 4, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 89 + * // }, + * // { + * // x: 4, + * // y: 89 + * // } + * // ], + * // paragraphs: [ + * // { + * // bounds: [ + * // { + * // x: 4, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 89 + * // }, + * // { + * // x: 4, + * // y: 89 + * // } + * // ], + * // words: [ + * // { + * // bounds: [ + * // { + * // x: 4, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 89 + * // }, + * // { + * // x: 4, + * // y: 89 + * // } + * // ], + * // symbols: [ + * // { + * // bounds: [ + * // { + * // x: 4, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 5 + * // }, + * // { + * // x: 493, + * // y: 89 + * // }, + * // { + * // x: 4, + * // y: 89 + * // } + * // ], + * // text: 'T' + * // }, + * // // ... + * // ] + * // }, + * // // ... + * // ] + * // }, + * // // ... + * // ] + * // }, + * // // ... + * // ] + * // } + * // ] + * }); + * + * //- + * // If the callback is omitted, we'll return a Promise. + * //- + * vision.readDocument('image.jpg').then(function(data) { + * var pages = data[0]; + * var apiResponse = data[1]; + * }); + */ +Vision.prototype.readDocument = function(images, options, callback) { + if (is.fn(options)) { + callback = options; + options = {}; + } + + options = extend({}, options, { + types: ['document'] + }); + + this.detect(images, options, callback); +}; + /** * Determine the type of image the user is asking to be annotated. If a * {module:storage/file}, convert to its "gs://{bucket}/{file}" URL. If a remote - * URL, read the contents and convert to a base64 string. If a file path to a - * local file, convert to a base64 string. + * URL, format as the API expects. If a file path to a local file, convert to a + * base64 string. * * @private */ @@ -1371,25 +1715,16 @@ Vision.findImages_ = function(images, callback) { }) } }); - return; } // File is a URL. if (/^http/.test(image)) { - request({ - method: 'GET', - uri: image, - encoding: 'base64' - }, function(err, resp, body) { - if (err) { - callback(err); - return; + callback(null, { + source: { + imageUri: image } - - callback(null, { content: body }); }); - return; } @@ -1407,6 +1742,22 @@ Vision.findImages_ = function(images, callback) { async.mapLimit(images, MAX_PARALLEL_LIMIT, findImage, callback); }; +/** + * Format a raw crop hint annotation response from the API. + * + * @private + */ +Vision.formatCropHintsAnnotation_ = function(cropHintsAnnotation, options) { + return cropHintsAnnotation.cropHints.map(function(cropHint) { + cropHint = { + bounds: cropHint.boundingPoly.vertices, + confidence: cropHint.confidence + }; + + return options.verbose ? cropHint : cropHint.bounds; + }); +}; + /** * Format a raw entity annotation response from the API. * @@ -1461,6 +1812,8 @@ Vision.formatError_ = function(err) { err.code = httpError.code; } + delete err.details; + return err; }; @@ -1569,6 +1922,49 @@ Vision.formatFaceAnnotation_ = function(faceAnnotation) { return formattedFaceAnnotation; }; +/** + * Format a raw full text annotation response from the API. + * + * @private + */ +Vision.formatFullTextAnnotation_ = function(fullTextAnnotation, options) { + if (!options.verbose) { + return fullTextAnnotation.text; + } + + return fullTextAnnotation.pages + .map(function(page) { + return { + languages: page.property.detectedLanguages.map(prop('languageCode')), + width: page.width, + height: page.height, + blocks: page.blocks.map(function(block) { + return { + type: block.blockType, + bounds: block.boundingBox && block.boundingBox.vertices || [], + paragraphs: arrify(block.paragraphs) + .map(function(paragraph) { + return { + bounds: paragraph.boundingBox.vertices, + words: paragraph.words.map(function(word) { + return { + bounds: word.boundingBox.vertices, + symbols: word.symbols.map(function(symbol) { + return { + bounds: symbol.boundingBox.vertices, + text: symbol.text + }; + }) + }; + }) + }; + }) + }; + }) + }; + }); +}; + /** * Format a raw image properties annotation response from the API. * @@ -1624,6 +2020,41 @@ Vision.formatSafeSearchAnnotation_ = function(ssAnnotation, options) { return ssAnnotation; }; +/** + * Format a raw web detection response from the API. + * + * @private + */ +Vision.formatWebDetection_ = function(webDetection, options) { + function sortByScore(a, b) { + return a.score < b.score ? 1 : a.score > b.score ? -1 : 0; + } + + var formattedWebDetection = { + entities: arrify(webDetection.webEntities).map(prop('description')), + + fullMatches: arrify(webDetection.fullMatchingImages) + .sort(sortByScore) + .map(prop('url')), + + partialMatches: arrify(webDetection.partialMatchingImages) + .sort(sortByScore) + .map(prop('url')), + + pages: arrify(webDetection.pagesWithMatchingImages) + .sort(sortByScore) + .map(prop('url')) + }; + + if (!options.verbose) { + // Combine all matches. + formattedWebDetection = formattedWebDetection.fullMatches + .concat(formattedWebDetection.partialMatches); + } + + return formattedWebDetection; +}; + /** * Convert a "likelihood" value to a boolean representation, based on the lowest * likelihood provided. @@ -1649,4 +2080,4 @@ Vision.gteLikelihood_ = function(baseLikelihood, likelihood) { common.util.promisifyAll(Vision); module.exports = Vision; -module.exports.v1 = require('./v1'); +module.exports.v1 = v1; diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 515aa2949c8..c5ad6acdf5d 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -46,9 +46,9 @@ var ALL_SCOPES = [ ]; /** - * Service that performs Cloud Vision API detection tasks, such as face, - * landmark, logo, label, and text detection, over client images, and returns - * detected entities from the images. + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. * * This will be created through a builder function which can be obtained by the module. * See the following example of how to initialize the module and how to access to the builder. @@ -196,4 +196,4 @@ function ImageAnnotatorClientBuilder(gaxGrpc) { } module.exports = ImageAnnotatorClientBuilder; module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; -module.exports.ALL_SCOPES = ALL_SCOPES; \ No newline at end of file +module.exports.ALL_SCOPES = ALL_SCOPES; diff --git a/packages/google-cloud-vision/system-test/data/document.jpg b/packages/google-cloud-vision/system-test/data/document.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9152604fddefa5be0424653f4928ec971fcd8c4d GIT binary patch literal 103084 zcmb4qbzD?k7w*tX3JeHHNhpn^^Z-gX3|$IHcL<0$grJNx0*b^C14B!d(`Auf5JXdq2-w&s=@K`T@G7s;Hs}!omW9uzR6MnOVif z-ObbcnGLh8r<)5iR7Fvd*}>(h-7^VhD>vU~o?d+34z^b_phuuvM8u@TgttgZNGZr~ zQPObG(NI&<2(YpPDaDS-`&Q~?3tZ4 zrV%W13JMx38h$!DertI#dF%i0KUXav@*B9y*q?E*SU}k1SUBWZS6@MQKp<=!EX=_E z^9KtX7Y_%Y0JsRf1;WO{!NJDC$HBgdPeg!=gN2O)!X?L}xJxO(BBz577JTXvOvM_P zIZVwaB(IxL);a>!w~BwiNWd;E@<>6?)BAP#V{5OF(4{?_tn9Y^d!j(AG(dO%caI>T zSzO=>6Z!Rp|22sGE|!2Cc5s;v#opC4h!_V8Fdc^+1OXj`Janl*4)6ns`zf&^Sel^- z;Z_u(H)TI9YFLho1FS8^uc9VcPXBmTJZe4k{4n z0p|#UBP$Ja1rMwvtMhk5cl|gAA+X8*&sjJ&oCCP`pG~ATSP%K{{iI_$3Rr*pz*0@) z!cO8GR^SrQOvD`ER1xhjPr%Ji4pHKbJdqZxAp!Zn9FQ&U`i*>&q2~MPPLX?sk?CY{ zR63m>M96i)&@hR&`Gf?z;4q0`xK(VP?8Zn|@UQ~aBjk!E{4RNdCj8p4EMRkO{QqSa z;-4|-A)tC$!IK z&<-3bt|*D%Q6$`(6b{`)TpKzptDE=NMftXHE0p@#Cd<`~Uj}6}UJt-KYj-rE~fZfiZn%!8vtZ zJCQ04bc7)vaya2P2@@Yf-@Ld<=p80Opsvjc2YgIhzyQ`sVa`ee1B2D(^8Vj0F@0ZK z2%N?P%m6n3V=!RTwWBZ_tN*^Bzi~tiJPSN>eLFVhVjjjEY`7Hazwrde23(5--VzmH z0dNxn`l&1*YFdUsamiP!Fou|U>(_Q%<(!EcpU-#=f&g? zEBxbG9Pp>IGrgRJn`hd3;EubxV7+T|u4dkqx{Cao|m1q6jXI;K;@Y{OX4U{u7Y<>vQNjf>TE`2#I;S@Q`*pyy@d8d0`!YIbO~fmZnU&{(2(^Cgk;*u4E-aX4f}++ z9;tvqKkq1uDq_Y*)n(OdBDSS!UVX5w1QpZT;?!`N=!GvaKaLa8%8*I71^MrrK?g;^D0-CY96vzzTL#fout4oM zz`gXq8^4G;-^j2#Z1dV#JDa>byu)hdE%C0dJ+i)^nIt7EXqwGe#8! z=(7nReLd%!ij#(ebVXu7>#!4TUJ;MT%~+<3Jisj=Zw9H15Lejc zH);9rSD+QGKN})n%F;!M%L4$eV(1-BG8kVSI-z1r4{AR{E^l9fsPII- zhz>qI_@;&C0{XC)*SrEnIKl!F&QTY5k8B)YWSncA7iOA!(W~VpT!GqQ3$o^Jrz0DH zn_&x&c8|zfTGsY?m9IdnkU6!zyR(}q8Rtrv2i#7}9j-v$um$BPUxve_S24iNkMjb{{k4*`Gim-m2hqaITYW=Upr+ViBeK&;J#;NBJTx0} zx}b-yg0<@o)MUKT>bhLJ96Kl`?a9kP+g*<1!U$fj?YpR*jRW(CP)<+eD_&F#Itvya zG`)~&0y~O1&)=CS`(^+*VhOT?css(5dj;w|i#V%?g=Z`ZUV+l8n2ts-gxj|)+`k7R zVS6K+PR2{~?MxSTK!Z4R>UGP8V~`20z2QG*-@BG3uRvS(|JZLjS^k`WOg8_q7u=Gi zH!;e%XorOalW;w~0+}vcfr>H~bA{_#fyQ^gtU~riww(N~Kyg56kwpY{FY5kmZ0ckYS+7 zR}B6MQC3?!aaW*lgsV?8uju3@3fNDX-4fq-sLs9uiNadt_}fdRs@`R6E(5Is`?A19 z>k2Cb9&g$*ngMPx1-t@;&5ZKgmK3bR;0m-2yR0Os+(JL!(u*n5L2p)B;~wt|&YCxk zQg_?R)-tB*+cu21EUUf-LgWf`?${q$8-6+CB>&^beZgeAs56 z`Gr#9FK$r~(4_*9Ed>?Nn1TdBO5l1f2MD6-cbdXEOvEJNcRHFCgdqEv1!q1V2H+rE z-~d>2JD6T@4)MHP@4!GJ0CZTvy@|j}{T zhI(x%$-H0h!0ze=C<9?kl?2D_X@Dv4SJ9sVI2yQ`2I1nMVsZpfq0~7BSp(eyV2zLi z!vScnVO-W+lxo6rVg0+;W7VVL0#N)-y&Mu%42nmju*jz=en2FG0jR5^aBCeYdp0Bi zKyN6(A~t{l0XPnW#y0*rRKS2U0GMYBqZq*X2OWUq zA49`%!ya%FdXs)Y=w&eqDe#Q;<79&gy$KuvYXH0{fkCRox*bvgbGpVx9K<^Ce#Rk( zelL-7_1_vqRB_f3GY;p35XRA_-MJToyEJnn>tBBPZo{)xqmR;4R?{a{oF=%XGH~7Q zus$4RN&i&Xny=vn7Wfw9+-gISJ92Yy2hj|G{J-dUFu`IZE4GXG;wG~gSAXc4{`ya2 zR>Mb$Ph$fWbhx`)Ht*$x?}N>kt67fsp_hEKOIUDt3&zrT<;h!1vy`)R+7423b_W!6voA zi1!ZP54gIWb3C5d8C_!2O7X<*^SW@C=Gz+W)`y5~1$`GiE!{_!CLyFZgg9C+oyzBA z_k2eDQt0ha^e$Z!p-3tVUiksLn7+&+2!^Zv58cDnNN8>;5 zy?`Z$gN+jou(y5z)f|o>J%k>95O^I-$lO7by$cY4zepDQzikj6Cutk=yu)_c>>d$6 zu(giY@PCUBTa;Lio&e?`)ydM*`>w6ci-PMoz0+9dU|`jCdV5$yU1nCv&-E;J0AAJRIMT4dwumtQGV*Pmob@#B}d7~^)9V3etwcs)f1cB=D|?% zRXj)N`tOuf0RXDpNU>NUaA|nB(Ll9X*t_s$;g9mDA?qgt2DFw%NvS61CS6*1I*LCp zns=@3PU-}Ijqj}zIPbKLL6ZG%WF2?9rnFf8`7<6v#sRa#p9TVEicvAE)hpeXRS@U4 zC>Dx&Lmk*=9%ZrpPEl@XQG)DV`xQu;=GF(sFZwhhrnD={*>&>2J%fI_o!K={mjxE^ ziXyWe&XdIMr&g?Z(v&>7aj-jG;&{eBP>ii0eRf|{jz!r0X)u%Yn8CPveM5DH?1@kp zVOa~`_nt$lSsT*RqJE9ab$%B<*QHJK5Q8awHG%tI2u@C+w~KcW_3{%3YzTUW;?zK= z*m2?CBOFaN_xK}y2;OWNJ-2mR{P}I4NAlMrFiHGNBi!Z4k;?KKnFR~wGUh4gn4m`2 z`^}S7Pc1^G&nEUB*3T-4F1)kGi78fH+MFMMWY$lws)_X+N92vL3R6w>KoGZ@&H0`{ z13}~@zis!JPnrq(r)vsrf1_OU`p}CPwz1x0>~NTqw>V22n;!k2XW|5H+{2W?2^OAb z6E~V_Mr@<7dwBHRn5~}^5FDo*`sEKNZ6mwm2zW($qlJtT~ho{p9rYmPh zDzP^RdlElMNd1YfTJP}ZmKTP&l<>a2>4eHmRM~FygrOHug=-Pp8Qb5;I|`;ZZ#v!S za_re%+=Jc$a2v<_U_V=f;U9dvRcbY&0}Esi?6M0N2Px z&iL_&;)I^XnKp+T8}V-USJgj0P<#<4MgTf}o|PZK>*eP1D>r?#pPoxQ$UG#(mu?1b zv?j+U$n!QpkUrFcTj@(pvfA+BoZ{{1-p7Nw3TCoX-qlns3(3 z^6G1c23>aWow6AUOle#C{RgcR-G1ecyH@x4cyT}bVCNW(9U~{V9{)IAfJLI5 zJhtVh^_GS2)J9ga+2pf$1;IOE5uQqI1Rz~P0Es(?z2}l1)UM&%TW%{7>Si?Vcr;bW zEmYvdHY0DsJ&3gtL%?W}7|1$2Gb883q&d$PA*eY}KdWcmx-v?*xzz!fIe!HbNG)k=xa~T)evGOPV=u`RSxxlcDR%eOpzQkcP^PxKb+x)of0u8u z{9U2A2TczT%82Y^m!t08XHLQ-Y{?H@Ja|3~zH#JWlzUk)H9%HuJF`_EIIC!C%$D-t zc~bQ4rx_y+#*Wp#2Wljh$ecI$k2!h`Av$vJe14@)nv`$46@IHxiHa=aAd2BJc%3BC z80T#6px0enX}&N6pU4L1_>cZ7@fOHskT=iO6OR9dmsXJ>WPX%JxMoxpa?^*E?rUq0 zk)rV%>jn4>s=<5NcDg?}tw2y~Bsrh9b#DSu|uL7;|$G&1}?X@m09S^Zv)qBK3_^j*D*F#>eq~*xA<$u`0C_ueA>{Rlf^lStWTMsI@R&|AVz-xMf-r z?MpRFZFIU1B{Jcv~;!d^iwrv8j>W?^Mta%hjN_U1somrmNG9c4sXs zh9d(DjU09;j#rp@1Rwsi+f`M3HW8CQSTyaZ76|gAdf#a!36gn~df8LFrzu{*YCP)8 zQuWi`a&cjC?r`u$qqM`g#Mk2(Il6_q&#{Wfzjt_7wJ&5}B~~eb5FA*FpdW-CLxCAF zN)64m#6_;p*g;I#c4AkcgCT=)Fl|cGdsjD?Dk2A5!=x!fqh~gHb0&3;bUyQCbTbw- zKPqPF9!Il5vg%Lr@3b7?MmybkTn-O}n3v15M6193-&h+0DCxcd>yVkHsi|t58V3c0D~Q@k+Fd-)Ex^U6Ig_g{a&fZE z5+wz1JJyIA->L8wnDf|mxh*|>yF4b5u2nRB!v0`ppM7H87Uy*Hf#R$8q52}lf{&P^ zk8caa(s0}1p1wRcbTU0x8(Et6j!Rh5_P0dsa1*IkzYcIK>P2NHiIsI(DcwIdRM6M@ zBkS3C`*WZ5x1AhDc;ny&Gs?}Djm^#(rL+~ZTdHAUhrUHB{UMgJT{ZN0G+nbHK>c{3 z)xj!FKW&kS*gAbU_CbWDe#=LpdTQV&ZZYbic)&2CE-B2FY&oeO(j z_ocE@A>h-8ETuojv!GYu*$#GY_-Rx*9{E9vw;kxoVz$1)RiYWww^NI?QR6Z!cNWji4AZNe-d%y5j_w&}>e)oltFTZ{-{@hsd2+FN_<{{c zhVbQye0wZ>kJBoeB1>-IW)FmaB(|`>aH9t+t+e>7T(#RKvE3--#TNTfjsRP^+1GsL zUV*3Kj9HD7Iu+}J1TVSzr4EnFu^J`eL9f7&>F#Nl&?=&r9FLvuq_{YxE` zc<*?GMKou2`rUtli(XNwoof-_VJly1QS8S%-p&tnB6?`fC-Tw&{ti?L<8mc2DSBC* zRDgy5TgBn>{+Dsn0yD#ZXf!bU0OS{n@9@z2Fi+(Rr5r$(A47vsBl0<1EIC}^T-W6p zxO^J$;Lbk>=9pwn^NicLq@gh9#GE?i|O7xTV|=;-8MNM-u}9KBi6-M_Gasjc%iVr z{;mQEtL6n?4=?qSN>=34he3ofnv&zDQABj_HtBq3rp(m7ewW?2KdzNAP|bk^XMUDs zKk1p?Mw&-5$d@e0W))6tP#U%H7W>?!7=MLpL)a|l+yuTxF_)uH3 zcYM7Y5*zpRjjh(lo}SCZS4j@~F^KgOI=Nc1=LtE#D~nG}m95vkrW^WPP)hlIUQRqD zxNi%rlHFTrf07>+b8#w=Flk;$+-!drnzucedI(oyXxSjy1AGy1_Ih;cR>OjIy zpER9Q4~)+V2dZE|MnOjbAJZ^3Cdu}1WmEuDM#f~U))7X3&jICkpuoAJKqcP+oWuj` zdjw)Ni<*8aq0Fz$>|8KAMwDR;1rk_|>p(-on7U%eKgCkB(JU0ETn(i36lDGXEfoL# z9QnCkdE5R?@nNX}EpyWOP}tJ|IV%oCAPVyxNdT4spCyoa+j!Xa>OC01?HK6J1ys?j zP#^Mi=%FZ@JY^^-Rv3d*eT~Twe@h0P6n$(g0Kes%b#! z8w>)5Pk2CKuFmJvufay%<(zdRTF^L_GA4JmiZBxaJRmU%|(Nk2^<@x4=5Bszc_%ZG+;EwMk=`!jt(kdp3=v-Qa39NOMz7u z!FdWKdH|inKl2y%;XiT)AhkuHJS+!Pi{H|xcmpXzU{r}Xn0n>Czxf}nkq{tD3H*y< z2eOvx`j5j@WAn6uD9FXr?oboC#kmwbIsoJXfzBRFKsU6nGnVTBU(!taH{dXF*8$dn z0zL%dP8Q*<3#b)T;RFg?K5{^T8V^kOx73M2asb%k)RA3BY6bzBNd156)(8OCVFK(r zfD60Jk zV{FF+vu2hgG)x<)Twhnk)3~J88Gy_y=ZNsN1wg_T2hcW<0vJ%gZtQM#ZS(>O@7JL6 z4w^pl%|L>0BjKku^(S^A_O={m1Qs_4=x-?>6uq;0a=ddgPb$4ME5qCQf@$zb3gfewXr{jV%yOd`k^MZbF=SEeLrOP)G*@GvL!@AOy28th*=ZE7iqGo z#9J9Uyir1V6V&sY)6=GE!Mr^z53o~z*c_ybl@z1E@Fk_Hv=>Bm$!%(+{`3dmCtS;6 zKoxOF9PNDtI>U2xw4-}Abr^gFI!wtDorcdjw4HI>6DZ%&Z<+1eiX5pJcPTks`1)XP z#$}e#j8Ccb#o!2Q1I*5a&9tS!<^A>sP7FZ)TGRrttiBV&sgMMz2#n~I(U(@Ds}N4X|Mb<1%GvA#|myg}y!HE3N3FU9JrlELeiuU_rgVmMpS zU%YRRVH%b7x(^p=?|dPwVL~c6Y59^gCCn=?#7B(rhU^wPkqkIg{d=DSq|rlqI->cB0ty27H)P0LG+aQr#D4Ue3PG- z2?$PqHYOOegWn%xf&0E@D{r)C`0A7vv_^YL#>CYc$3A?C7~RQv98L88MCF6buNrov zJ;{`c{3)}lxlUyEytiwXc0vcssyKFJP@tGJ+Q-UZrE$Z{jeeg(SAn>W=Eo%WyRRXB ziyLaJwLG{^saVlkTV{s=&96pWTR%j7x&-Sq4-lVdU zp-@yXt*MJ%n&P|dna#IL)5>JhIV3)Dv^t0$3OzI#8T(kz=|<@4{|V14=Eh3hWyTBN zw@IH+rkl?>eH}ZpUM@@j5kr|cPSp5T7-!nly}?_Gd!EW9uql(6fT%EXN3baV&9px*@w7)pXhiM=^hLaHufp}c(Gn7gH4AZpR>o)#?f!DM`^fLi z?)siok3wEP)o#ohuHcwk=6WJDljBPwOtZ=S`lnr$YM|A~f`;j70`~-TjR?XGo6Ea0-KnT)SIr?Fs@C6cHlXkEJRKzw#sEU1k zsL~p=L>K9Z%k+7Jw>muDL93GyP>t%B-rv8rnzFK{8cKVNR|d*ISbi~62H^>f`Bg%v zTo*k*Z<^0~V(I1w>w0Pf zbZEf(h`QF~NC0!%KYalk`V!tJ_1ZPJaxyg)7gL#%k+)1AIo}9jS3j8+7nxjBAP{>J z4r-%`fAGt^I?^Wn=fxHhtPTC7UY71!IT71)7ahQH|EOe=`m_0?;dHim$ol8*l1hE5 z1g(nbu^IMCCoFM+ur~DjZJuK1;rI#MFq+?}2N2aV6;BlzC{_3;8(OXUu0_fBEb0AhoUK`O=lJN`w5k!J$u{3&(0>PN1W+s7DdYrm&G6B zU}^Q1j38O6<}(~#g3V`gT3_8-X4VZ9?Qg}$Yo&3fcu4wPrujvU0=7P3CKLo}!RZax z?u8z+5~TQNA&@ReV-wBMnHJVW^gZI2mKOdcxt(*RcvCS#!9nLSI2#5W1)OR~V-3F= zPg%M}8QO>RF?k{r)4lVc>dF2{_wZS2=sg?j zW*nURBK&Q|qHF0toGw|_buOH-n2(>x z==1U7?r3u!1apiym&+sFz242C^ER;Cd!sQRkzfNm^M|ynZ=Jc*_whmYegiTARd^rc zu*2)+;(Hz$KLO%M!qmpgKj04tCFHgC#zS@C-_W-^cFS=4jBL9u}f};{)5=ktRs3WaM1|cf?F+7xZjJpd@3iwC2il}LwWgBHbqb@ z4l)6zMCxpIU5Z>f99?SxC8RdoEI0VK6c5qy=t@$!>ExN(*%*ot`d@;e@P+aakYX-E zRJo!(1`{$ z2hw;F-sCNe@=@7CuM)ZR<)89itk7Q%1kq#bWC2h&d05tE#yI-G2u;!Sl&_y&O?d zExnxyG3sDkb3$v79a%MuAn((YM19U%irFpb2j?u6F1~<4zViC-o^k_o&vWL7;NEPey z2y+_2xO5VGK%>j4hg<{5&R_2R2?!r=%zqfxf}O*W5BDM0MX_Qh+-Y%lVPVL7M1gmnTp4 z7B{9Q+4V~@lUll-iN5?`$?tvQS1yfFCYwjJNjWZ`7F zhFo4BvudnPD+thl(IyISf!|*6vwkKypkHH>m{jYVkrq@-)5LYS^*iaK8`;7@1&cu% zm8!HVXVX|qDUUC6qEF{-ocqGNM|fp^R6pW18$;MRW8NMU++UINgb&n@FIQAOq?{Qj zD}2oc@<@HM7vL2+X__YIa&{VGu&yv3SlcOndh%n)EURK^{KdqQchx8BM-yg=KcCS1 z{`he^Qa16lDT(GxxAUNNmpr_6Hbdw8!E~r1y#Jk1wAM@fn+9r%g!`$kRsq)OUMmJA zd>vKqX8XXObbRY0sdZ*ghm4WX%(2%!cZ!QUrzl@g;NR#B^cx%~6m7mSvNT3Ly@*I` z<0m9lX<3%3q#HAMc~&qpJv*!6BvJf%cDc<{yoW|?nQFpxku>F`{1FFKGn={fNpp#$ zmz-)#NA4;mvUK>&rtP7Bva%|5>->wc!J`wBmXBB5CEOZpz zD!7+!bTlu-yc|i!b2em}mCu)V$5GeFJC~9zP(6``JJp8%pr390uHO%C`dpP(`=yy> zX8)5PfsXISw#1JL#g-h{9B$i$+&6z+F7WFHV;zl%?eq>&2_o$GuxOX=4X(f&A_OnE z!Ul>-3b*5F_s5MM;VynS#yQHFZseAF@PQ9EK|D%M-7l!;;Bd8w4y;dJ@OaW!w2-); zw>&%+kEV4y+P|M$!-TtgF^Pju!i&?!Dm0d0GJ2f3S;21FNz^y$MnsOqmql`KF8Wep zf>Hd?qNz7&5V5K{2JO4n6|AgMFZ4qd6G0(@l61u`DATz+VPWq+`EoMjly&+Yp?F3M zsOvkTX4*dYe(i6_tE2VZ-i?gm3Z5wbS|f1is%ElWfNR{Ts5A*Dq2t6S#$tHeT|zxM zaiVAT2sb!=?pRrxR7lPWo*#&M^mJq^LV)}2SOIk(V|$Fr>$9q=N{W8>dl7d#e-A$d z9Ya)!4hs?-lX}aAj@~PNn(^k5l4&Z;F+3hQ|I#B~t2>N+gNMLta3W-!s&jgk8}%)A zhr71KSoJq4*^43(d)hUHXwQi?3M^VlzrkZ|%dCQX*)HsTGjE>qI5Y*zW0#gFcPK7E zt7|uC>cj30YJ9Wd{$Uq-jA&3rDHNG#P>q!xsZPh2uinEYpMANnQ5C=@=1*&ioM7&p zy`R5ag}2F7+=+B>z3X5jmKsb8<)KM$xy2bJKU?xh#`o9E=#!4JRBPJpe!K$i_mo{8 zgng8*ioZPIrKE+{!d_Coga)MSY~-KM=!eX+3RPe(#4&ez-aOuXK&W|pvdYuNqJuZ9 z)?uGG&rxQgohcc7+hN?nt#~moUgZr@EebbQT2qpct+_gid|IDt(^z$-oWQFqS(uu0 zoKwV0(1fINbA?1}!nfVU-2jWgZ%tKHiV5nBqLlwVzmu@$!P=JlkOs~ss9 zOlEpUQ@oWrpC@!PR#I~mlsk&Xz3tP?D-xoyB!9XI`kl|dU757xlSceFaUqp>jRwe+ zx<5>6qyALNq(Mqs?XRd0sDlDXB^bj^^9g}$Xrc~Kl+Z;nNXY6T_F;R;gm><6R->Q1N67fG zid`lyZeM}k!}(<6LeiD2{Lc&<04)^&@~HqQwm*nYu%I5qULyY78Yg%8Dsg6UG5yPT zI5{?|4b_6vZFpzp<92l`T?4gV$c!H@xq^ zmaR|9L|Wb1V-=CmxZ2}Eq%l&tJEhI`IG%eYM2N6`)OMjqyj!d*8B%OAzMK-sw@T#K z-oxWU7t(?i7dbx7QPj`X^UE0$_Y|U{6WdoykxfrIT|T2SMpj{v;t)(6*Il$$7#tQj z>whraBu(W&<7@EHbNwVGu&JPfKCZm0-Z|}?invVbq-o`t?dbeCFYENgHZ3p5&%~DB z+a`y)ku=^jb*m#J-&6=4dJ^8unjeR?bS0WJmVa=fo=&WfAodUze5`p>*DE&AlUo
dW7Pr1xf^l%uk#rn~1 zcbKHitDVYQn2`DU&C%Z`pk-xxNjO^a(D1>utZmvcg4vF?=RSz6iIb+n!6ag+^cQi2 zRK+VZ-3FK5Cm_>R$(NfgW%bE=HO(o)mOjDR%89?tKhd)Nc;aDLTy=xb^@`8%EcMZLl0j|xgBfW`29>q-W0jN2w3%U3$fwM@SY{prP8N~6 zg`^V$o1+F}tEPtb_oJvq1;g1;tf{G|BSXb}hclA)>EmZvBGJ0f@MO)qSToW9MMT_c z<(%kQ_mt+uoaQIxQX;W$rXSMQ1Knj=>Xlq1oD3)9P0exrS^dV{A8pI$kZ0&wgx9M0 zyHU*=lyVra;$}VhQ`Up-)xGP(+q<#yqsF%O*&-Grh0@?ig$s|X@V1Q_v8S2~Z+%XY zY6!zC$`~0z5?3A7Qr=vLv#dtAnr=%*oyT{K1B<*w4R=Ra!wRqE2 zMDo3S-Ruh{h1gWP2#uESk2L7#*coLi#pB?$Mr)g=zw}5YX@*GjnhWW`dpW6a%#8-C z7c$^Haf4$_z)!(SH59m%B>f)WVpH|1^2o4Evz{_ipKjXj_$v6dTrEJlarC5-FKI2dd$&iG}Gt>d0T_4 zuM6{{yJ-6573i6>6}*ZSe|maz*vIsFbzJ}4*Z9XXMSLY9y1eaK0m+Yh zVsIE*5@lXSM#2xlx^Ziz6Ar%)k?*u>-(RJVA{1N;#2cUEqtB1a;X z?=bAIEl^dlMG)JnnCsk*|K^TIu13GlQzp^qELfDs4A<8m2^(A-CK_Bh9RyJbx+^pK zbvoVKRY?i7IR35}*mic8t>`9AoF~NX^=0AkBztXG?t>!KGoAS0aM?56uaWOW8t8CG zEacJ0d*0O??9oF|j{|YYi%gNK-t}quBHzeijhpd|87;S)lbptNR28MORIE{sg8krf z-oB!;^1IGawKKn28DCX>a>+BB`u>=~m8BuVCjQ>*+d54V8xMZHEF4qganJNO*CBXr z9jw7%qu}>l@N+lwPjXeIk6+aCk0e?4XIpygH+VkF8|%-w;l#vkn^sS9O+<0jB(dp! ze?&{{94M3q%1vDxkks*c#DWQazwd@M-9i#Xr}uLG}rR`s8Hf% zly!k)`YG{Lx(=J}jj7OF5K-5M!{SZl-c4E>!St{6!0Q^EDoQ%*YF4omets~`qF6|4 zeG_*@nW4a$-9^4_zu4lA(fpI)#1*3qqPT;#jge{B1^DACvG|D#wEHj{5-CXa`0o0VAc1VCXQEn z^`{HzIGU9O$CTDEYJmS%<}~oIFux<9`bUxv2nu5J39-|_`iu}X1(u6wx5qbt4y%+> zI)LLoq=t~s352%$0l%hFJzm&L=!~;hIt9r6*yNk)cp%BAkjO~N)WDvj;BTr`?K?#Q9dq$MU!{JFMG@R zhQxofGVeKj-HLqZ5?E;e(D@Ucld)N8uKc9^t_Z<9Bjp^5emAjbP^)1iXUp%w`?RM9 z2^&fA<{jSF()QusdmBL6Lm&?w4aOdc8S9q=i$A3eR)V{w&-b|I@0IbpPM@n*VXGME z3$H!lKWHIlzrTe`lgsG?2%?w+O zXT<|)jCILE?_@r{?wP%S#Vl zQj^L&NqJh-1N>|zd|>})YL0{R0NZR)o7{jbQP7PNck}tL(?m@(y>7{r+#E9(={sUS zCbAr;-#H(z73@nma~+7coss&185q0IYgU@~E$&`)?gfgU>y{KaDEf;u8C8u%(d%)& z?WXB$@%X)~X3~&O>F%;iYjMY#rJW8ZbTFdl_cG1$KxytL=j1^@_?GZ%>h{tU^7kJpf)YBCH~bqSbD$d z!8m7TJjA|o0NJkoSns7OftZCNS7(*4hrKf~1s3?ywX z>m7S()P5XOoh&P)vbaNGEe27a*j;>%zBmc$y$_7btH>}TH}yu>S)mNbapnCS74 zS~P2F+fL?Fej53Fd%Ca-@jYvX!&s}ndfiLNPpp$bIzOa*!SP|aximcAh>w^H`5vb- zYNldPY8gxvC2y_;t+_47QWM1}r6_n)*JIG5!}5abySa*cn$ffY33If3!B78KP7qhTE>VBt_ zycjw2dYJ<_gr?h{Tx-U>&{e;zTBC*8F9p>x94Qa0 zwtOT4UYZ8&ot4V?=p32u|GM1%k#tw2sju@*UOPu%V~ol88jt_V9z+o@gzDm!DQ;y(^stVmSUE+l=805SQ5EH7<05f&g#!}5XHX=e9S%!4 zQJXa`QWFM?+0j40zI`6lTO7`o5F4-zA5KsUQR-_fLQcp>p5i6bNFDrysKPfMba}B2 z^?TfkI|C%;ezZ*kr^!|%1*VeS zpv8eeOh%i_-e^}p(5mJ8(URY4K)@Vob_F7ioNM(Q)f|x}%;(1}>?XvE#aj5EeA&9o zwMeEadDJsYjODnHgal91@F8OR*nIiN+y|!) z(ppXkYBtQ7)QpSSt844(KC+uf8n;LWiZRtRJ(%#E-?TVIwvD#GTQ^?#-JEb&Ztr05 zrI%r)=~U^Hx~=U6yl=6tICnzQNjalfu%wIHj8CRBm7~!udoP;=&J0aSWTd5^k*jb= z*a$w?7(OI^cwG_NlG{zGk=G_!(ufu@(AXvGSs zC8|0uk{@)kz?azFdg6=(KZ}_i^v11n8_Yk1OP8yU3W)QxkbUPueo3vKB=TbWtvdYJ zO8$oppQoqNt1*2Sew~If7sQhxo(`sxT%l7}Qqb;J#z=m9v7?<@Rg;IK`lK}J2StYO zC0-fHjw2)6L+w636dyExh08ww5gdsVdN?>=R}xD1z1^NKZ=;>xnC#8na;?04;jbfV zQ}cnEy=yt>-CI81=5@q*A%cNi>2U!vX$S{0uFfHK)_3i(Jq=~22lG{ws`~W}wGSyO z%$b#N`9PrHXc?aYURrYArvVXc)sPt_}xLl>l4qi9Nqkx zd5-C>D%c@6orfY?NYClo={IBm=Ta)2W8jM12F4-LO{liqX>X*!A>63N*FNvfc-kh3 z45L%8QqreN`63dStnf?XAnN&zmV`m3Zu@{b%{LISEdrOlIL;Kjcr4sL;nQKCP;x99 zu#${Qd$XU4fp7pK^*I|J?D(qnwDu@DoZo?N$?hud+q8pgxhbeMiz|*pp?5@u;XBsj zu(_qhfFE{Gg3cOmH|;oE8Wid@8^^g&kwiftV9 zDkg>tx1xtf7UW?G_-Vw)VxiKTDeMPqVfv%dv9t(ztMmaT?JY3|6qts$Ku60H%fcWj zA$5@b-OU9;#LnXxRitm5N<%u94^b#He9iEWlq6TM&m_wPxPXXEmU*6YF$a2`j2u(P zMv`HC+f{{C1FNRsD=VvHLkV6c*g#1UYo`K1W#?-6dtCQ+XXT01NIi;y(#b50^Bu=x0hMQHi8HwV!R}jYeQXs-{k7@@Uy5>VC+hk$b znVY2F6nYz;)r|7FXgoyc-djsZy3ex>)Sf36kh*EQWYMKLyKd z4%9dg;InTph@$C!FIEj|GkDnk$W3QT+Ex2bjZQVT=gaMV&3}b6&i}XDK&>7A8|eGL zR3EPEf2|m(L00-ZeVj^EDg32M=QYaQLW=6_@G)N-79SGLqUvGa)yOz5V6gx!mdZLm zq^D;4(}3}xMHIh2iV99;UrXGm>}54Ak>r?9LFiAff6jhzv0CPhc&H*cUQ9SzGBQfp zoKZ{Uy5Oqm{ts z!)seYx?AiaZT7rQf|Asom0YJ@ck>VCmUQn#Vw@8h$&^0GD^)62nNF!Cf`4XUMWADL z(p}1@r-SW${6cG^682vhO;YK#3z=Y$7EBpiO3=>R!0sl$)C=tMYB2R{p|L>_Qa8oR z@gVh;4ebc?Iv}@cZd7jl+~zKcf_k@GfM+1|VIh{9wubyLly4g7g(nQ}E5*=YIUGh65L{c$7jTFHT5XVSHw0NZFA__Imw zbH2Q9ycuemEOA9K=|fMK=?hUH8wo5t^S8xAJVpyo=0(|Gj)tI5+ujKh*N4SSgshL1 z>lg$ozUjO=bNg1}dVSuwE!T5vc1QFfS?grO-zQ9||H&}gwY|tWSyecX$ooHNT&gnP z!UF2`+~|EBSs%fPja>2{Srt$tN|<1N`{RS8@R|i7ApGETMC(^pj{gN_KIE@!0F4b` z0lO^f97~c|w2F=|c{4ZvNxGEJ#*dFnEziSlLy*8{ha2b3}ZNnFsX&W|{=67>z&hElC7c(@SUd2jX; zx!$OMX&6We{wwF2_!%O%zkPoM43gBO5UCd_B;7HziF5WNmcLZv5>mCdUMI^)xRK`g z&T1!a_tupBo}{iPIZJTca9fB@jaH#K+Eq4|;sq?7Tt!2;kDAuQrUPq`_uKX_xf&TO zcy=I?UR*>KdqIQW+P;}IGha&T$E9txaOsnis*^x>`W=2mCQLX z;O^2kG*Tc27jp#_%{AhBAx!;sU$n<&c5N^s0tqtm z^?IMp3Hg|1=c=+#o%U{_5Z29OlloALUzhF|s_dC^UgY(KO$diqN05N2w{!Mf zvnYeumaD~7U2LLxW0H<9tmBLiLMC;kW?U@Y-`{^z3!*e~EAnBwc-VKYx1uK8+k64t z&0cHZnuqTO)n&DP-LlwxZ)*j+_V6ThYGj5~(Dc4r6*51l6H(3I$e}9hj36sFEm7Qp z3(?g|gcmP6K3;pxPlFg;_?5mgVs>hYLi1frN0~CpJ~16?fevE;?L^W2P(gxFpH0Xy zj4#OiE8E6$w$!8lW}jn;z)>p&zkPUuwSN?|c{EIr^0rt?J8k+Alc zo@IGmf?c{YAFRMMMFHgO7FF|qaT-yJ1_-hzc!OHhlQ*w3Z143;;Raq=mS(>+5Nl?~ z?Bnk<{@SVH_R9HTL(8GlmiI)+@GTAM1+q`Ujy|tRlUXW6DmrV4xD=L{_ZlXlQq?IB_S(W$W>A3lFLF#W!%zhvc zx=y7^e#!6{nYeYWYg8-#BI8jf;&e~RQz%h{L=vN@XZE9;3Xp@C8!#Bpd4eBn@%C_k(G=)q1yh2~3 zp{kNl0=G2G_d87{vcJxkrW>|g8BRT&5g34RPN}?!Q*#&MhL7oSde)R6>}srccM;UM z9T6|BoYJwJMW*wyZ4|oeyF-k<6(7(ffokL9vLV+7fH?hP*Ng@J06rEChap|NN)ef) zQ}i9G=wOVA7hqOWJr}Vr)pU7^aTkRN54*#ZOKba|Abr1xigMU2@eGZ9kWR+-H1@6K_%OoICHCN4MnrT#tNR{2t@D<|5rhH9ob5>Jd+JjyFxPdmGT z*G5aNRI%cEfgIbIKP$YDr+qbq3D1VHxavFWB}61N()^FjpT``xcFyD0y$HyH$#o6< z_&P3Xxt7=?q^A^9BhaO!WS4*Z=y5)@^TK6LKV);pZS-M(B4ySo0<0tcB;y#`SHDPmGdsKFfL}`vK&OznY*SHH#<&0+mWc zrQrV?Mx?t%30wY$HQg1?QVZ))3+w)$y~W^lGRj649w(}-Aiu1dh}sJ_JQXjZh_3&j z-HYFzXdkP{nLtR*o?rX{Ahty5Z!!lf35t!2mjqhGZ2^<57Ky42NQP1?_@MX^{Qmd7vRvaH%TE;?98QkM)^MHDUu)iFY+Y?+1 zaPML;mK!%j`&g<+-L-0T>YXtyf}iW4ldrwdZNxdD{p&c{gI>a#i`y0!*$Uoi14;N_ z?@Wp@A}_7GjNKqc$|^61wY&y9>e~p~1Z2cQ@riiO8o_4VN!3SW`k234F)k z{Z4~qB>N;UQb!k(J?2ec(6fQ?+0rjOep|nm&)0O9h<>^iTc#O9qeJxr5grgQln9PIt z?3x2lxjG)&@69z#_=pR^T18x0rG++neCeDDRO>O5n>p;|rKY2NuXkuJe3=dYr8Nc1 z-dpkL;qcS9Qs#(GAecximcOY)%`0vS-R?xrP0Y2${49VbbDU-j8F~n$3C2*ORZy>} z1o{NvB!T(C?7(2kYUrho5(if;-~6grHaF}b@tq6D$USjNClYp~k2Hx7=9TEUUf&p% ztHcc)KMRy3-V8E8Jqk)U(X~?=Nl8bxRl+V?2G=8>jJ^ZzB=sNdu=4geRRX#tVS+Wr zBo2fTPRqa|t&xF9<+$RY7mIpY$|yw)Y?&%qWR!7*@_w}Kk!wW?9#1vyt@vwWu~%B$ zuVGRy%%=^G96QJ*b0OF+Zq6}bNyrn!Tkf|4*wQUQGpvNb8!TpfI4xpE z*?C9%MG-3y4xOk=88tNj``ahfo>$j2snVh!>_$B$Od32fqMH=mH%9!-tPEcClY8^m zfqen%WE$`)OM9sI%K>aXxh|WJMQho^(+o1&WXE=!Vev~l;zXGTHSEK@|*XknZ_ z#`jI1a36s5bz~Wrb+zdiG)QXPP|J$PC%ne&V}M)ELJdWY*AO%%a2Nf)YJ2N`;Xi1a zJ<+ctmdh*x(=%a+V`3ADw>W53SjCsu6v_V4!8lJ$2H8u4FVxHk2n zy#%EG2MrOF@tH2kXeHoXQ>s`9w`Z7-4rm^BuHN(5>i=`R#<^_Y=#{tO_XTudKPsyw-}5?sD~$$B=}A9UyO2z$_0fWv_cAl2DkEm@3^FB*F+qC=TXWoKZp^!C<+AwooK68``r+ftweZjqnVio1{aWS-sFC);9MkKW z6Aq7VsYD5>euT7qBu?#VSHv0lgdu^L9__{yvrOc%bfw^d+)3?UZM{&ry6^E~ld{G9 zHE3^{H;tw5Bi(J{fl{F@?u2X-?HD821FGuRPF{tLJKl;2v8KQ+YIr-XsGI1M=q7%zN)LU|UDE`>*vFG6&~fD} zj?~OD?!1Kv6iP^&3KvimJTD$oI8{5BPn);Ap|aomX$ZmkghLy_u+j%w zSt#S58feg&T*P*7?fga;AAh0&Q3{UC_4t)ir5&_NFV3)ogONUNW1yu6Uyaz+=o!B9lf1?sUw_RcM70FiA$8$Eu6~ zW@$!UoTU#!(*Pg!rpol@K_BbXRO1f@34+RS6{8&2Zq^YU;l5i0GMg|I?+feDSGyF6 zL`@9ZNDOvGRl8QOe(i0|+eJu}w|KMs$X7cLp9pa7E-Li)@!WIe+?W0AKWN(4ThFUz zgWb8)NW3<`4(F6Dd#y}nRPy-6$L$Yw9y)sq6&jsl{{zlY>$rCh97lSU@B!!Q|K>K! zc~M!-bYUeneH1OHquz8GTDc$~2#5&IFtr8M7IVq|jdoiOymUY65LV?Um6X;|k`1Wo zzePDr+KyJD1Y;e>G z4+|HYSJ7sbK{rQC0M2Jlt=7!sss)Rveoj;+;EGQ^*DruX-I9^wy%Q8~tRe$Wi zGANlZg8pdUv~V0(AD(#NV7#7XH2m67SJs)b#-)-WL?{^S#QnRG%Q{5<%lx+-Z)znj<*rfx%dE=!1kd(s&J>rFpT~yY!ue~om`u@T zkCPsm#@jZhkqN&?L{GEJ>dr*WoSS!k^oaQOu@+D?&PcKTIZ;(z(9_6qixu=RGe>zh zcBMG5n59uEy;2ONQScEE-(D{`nOMmKv~5SAO{p$Z=w%XG$z$$3>4K}p&<%@y-yf^@ zmJuQq1FU4o>{{~8Z+J&-Wx zQpq<-%G#zPWkU{U-0!s22&KrEh=*_tnL81B95Iov))WL)&u(b0Ob8oaR=bSjm_XWmrH6v zQ+q!n+RcuBWC7c#E3#yJGSrPf^~<2D%<%3Eo<8)}n8rCZ*I#oUiZR(7+uyf57AAO_*)F@a?!U-f>Hf>}{vTfy(!fJZw8*+~i;K#&9c3VEHn~ z`B@dj5-(!8GwdPsN=yB`!0`*-@s22qy3S<3xJ-NmTxu3s51tm8R_O87!{#XOf0FNR zS&#DRS&Uvj>Yd9su@4hT_$o~dePsG|WiZ<^{!86u5~85YNx{RW;k6NlJU1I~jr!;Aj6?bkCRqO1JTn7`+}dW3bkSBQ@X-xr?Coupe-hF#HjYR4 zmUzHTbSv-tB$!pE2_XXVeDQGb=Yu^P{`gQufjR~;6y*{u*{v-8wG}X@VD4lIGOhe# zI&fwPkqP{5@amp$l8OE7#@soe&m@Y1k%}o1ymMrH5RkIQh~Asb=oAKCk4SOx;jGmm zJO1sX6UAbN!dB+vUbAk#m&bC2)Q-~J z0b>t!T3aV_E$YhHi+Pu<*_R(%%n_v+AT(IQXug(wnoCfy%efc*K{Z!;xjb=);}v4P zfpK@&{s{v-tv7$Qp|`kjx_3(BXxR<-2L$}qF27?|LMtIc{}{wfgi(Du_k zk-p9i@*C0)X1ChcsAaqx4G+WQ$lvs@Lg@Sro1&5c`^YRH_M_V5sFmX?6yvgmwSx{3AQr?uVn%6ZuWHo@s znC50AWqr&7pDNwG3b(0@DSE+G-!f~D%fyJ^cdVZd@x2OZW?EcEt8*ec=wu!1n}2J4 zF|VeBwDw6JRFJ=Ka2Le-G?Fioocqs&75#KJh%H+++dc&+fjmqVK+ZY}K2_h}D}kT& z6I!IGP~#m^ZdW!`t!V~dZt>Vb--=8G@VLW%1XOODXg&V?u&y32t2W;}MzX4>baTiU zH%~n@wSVz;&WG;JmPJA#0$%S*U~FUz7d3sqs7Svy1(jeFW`&Z35*u{PT_Ql+kN6JV zFJ4}e3xs)7xj)ZLfKWbOaTm z;N_dc1^)4JilOFARS7g|?g9rf29V;;#|$T0lA)B3dFQHI0{b1ot&yUQN8v}`3|h}m z?irLjW0|P4GD&wLR38o1YOoWQ0y5$Jb4?w}1SK3Um@H*{ny>eXX$W5kNkg&RBaD=9 zu|m%EC*soWNPkM(E$ZPhi#cBoPk~d^S#jA!cc>j1_=c7RJuQpaoeeRF5=xzB7qeSz zJ~7=)*#Rj_cw!^NNcOht46A5ir;;wkW^2bJZLL+T(lQo&PK$9FCFK@78jR7brpZ-_ zzP9xI%&MMbHIG42{;3;p0p65ef5jXy(f*vxRVta306R1VEd@;Fw${QjKnWEn0DSXAT4 zq=LF2o{E?)$yr{N&JoKnmi7W8VfG<=B@Sry`fuZ}sjI8YN0$$QPc2@u^u zqU%tG9#_u*=Li2@UBJP7a^lB7q;2jg)IeJ_#*~nn=pMC2x%KH~ib^~s21C{4(b;T0 z(K?C#hBK8w3%~b{5~nEyQHKcXbc&7zqym?cCr$B<1^0U>nmHwgBU-hp!BP0f6`Yyr44j0M6JXIUA`gGg-Zz|^+1v1C_Fy|b5qkSH~ptDZX zvhF4v#OdKN*+(;pwuVEYpFj{PM^Z@XjDXd;)FptFLUAWUz42NyiyLXxYiZ8_izL{sfwPlnCElUQG%Yz5oVWd%j{5Z59c=kV zce&Ba%g3nH?zgNCu&Q`uKBFf9t%y$V1=h!O!a|OREUsR<_D4{osG#A8fcQ%lKJPqr z)nwlPpoLoiPytiH;%O0f#yfb5m+&lYjikhicR$Da8O7&p6O^rbgvfaU-?9%)`0(R0 zYCJ}Qpmt%l8nAxF&!Q6}WkWW>!D`FF_0PnqU6n(=jqk+wYN+)s70;Yesyt>wnU?6y z*11&w6eW;dP-2L!PFWXO*^8FWZ5v#lfm0t)!oB!>P%Ll#<$&2kvN!@ zPe12P%yN>;v7{?a7`mlX=~EFs`pu&@5>K;Q6GzweW-; z*}uP63rnepcG2^HF`cTyI9Yz=>9Si7O$t&&Sm~q=PK_TGyJoU}xv?rIOwVfXogxnc zX60IDgYIaV(;_No(CDthx6_hXmZJYcmodh=qZY{{XEah!z4QX@@v6>Nn%gTs9E{PM z$-~PhC)&DNQY9s22lO=Z6XlmT;Tck(qi!#Ey=RX!y+*^ppZ<>rXb8IcfcA{>i?Y9~ zdfdsG&Sug9SPae8cyhx*<{K&OI}}#o%^-u(kt|gcgTzdDMti&TFH=#nr6izesrg~NQy}Uet8qw)r`oFQeXH( z(Zj=!4E%DW8+;$(@Y5K7J&jxvS{Che^_MkoNn2@ZD!T51v^*l(4M-$XZ)bOU?bZc) zKF*%Po%aOg?i?O(BiY8Dtsfd3<9Dyws}#r>p(uqblhk!W{IedE;kT}5?NtoZ^%?jp zV|a4XPQYCKCna<8X%Nw=ZDRb(B<~>^B%@;_R#HfF_bYX=Ay-_PB=3)#q*YbFn;E`C zq+KxFEgp0cNp(2JtpoDukz=y#5ByD11fttDTT+>paclJyGQw_MO#cA>TQLX@0Gfi? zonYLV;gU%HE;KHFkm?JC8f?kmNJp`Z+53SsAaTZxFuiN3=#9$0!fPSvS^2yKzF6P$ zBu8sEnl1E>DEOC4JxiZ%gjHr4v(MuD0~S2wsoGmwBVBrIj|1oaGFo`KRNG(HQ8sb~ zQ-)iT6;>}&*?bhCvcI!+FP36z^=b&qIi81h&r2j&(8nrkH+ETfU&T;b$AFAH(hUuK-smMfmrDkM7}1?_leJZ5;BxOOuQI>mjh44eIn@#&P>p>7YfQ3Sn2 zW2{6lRjbFvQB(0I_7R~gMLR0rb){uyk}|yYw$p5OKV|J_4EYy&0&h3%EnKp3i+x~? zd8hpK=P2OmVHdpK&OEVh8ns|Pv;Ym9Ai7>JZ~s|aZWtrXcDbjby`5&GVls@R$g-TL zjly~3|Ib7=$lH~IcJIM;b_?Mr4abVrW{A6fh8P!W1lj>csoc8v*9#pB+a=<{X;#Pz zF9|qkXX|)HUkPFWZ07moBkYv8A>*$0EDas_99!YraUePaOii4p6pN!Nn?ks6xbBx;v*Q}sq{wSFuw=UQU<0Q%(~9zZdEE%a-OPokV5K>`*FahqU zJVQ)tLPAr=VS&)aD2Nth~Rd4r$Mbt7E zM6jh;XmL4a#T%P7A+?s~vdzlWJDBe5t*nxB2|n*)=NGhpShv@>?ETF!&`Q zw8n!YQO2OI*QeM~ z|H85PqmIrD8Av_X`I=~aE_}pi?>G6h=dz~!3#+!F`MdIt(5X&bXG{XoJC^pkrL&(X z_u79YLIx<&ga zTH`(%E$g%|(l0=W+ZIbH)E%7LBO@SE@`}s*e(5!q8dWDRZicBoUf?H4B78vBgh3=e zX3bhJEZgC3fw9h(8J>ujv{?SP({C)v?c4I_1?>~p9R->U9DveN@>$2-|CkZFF+Vq( zoJ)j}FNOMc3%+Ai^ZeM}(R8Vte67T;%wJuTBJu*2ScNVrP;|f>7wBhJwkR&DePda< z4Dy8!g^l(W=&8EmWJbw0McW6$kgqlovoo2yr5iuqcoCuK5uyZDxzPl_zAXmD#->sXG^pKMMH^92!@% zFVmg7TDWN25jP^%oi-^n&i`XZ#EV1nA?ON?SvrM-*Ip4Wf z(8)TbZp6(tb<-QxSAhX9BX=f}EBdksMAR5b<(KQ9L&}dC+B%r;>1o&E0xf|vc(X9% zG&mBNzf-UG_{r>JlQGo#(7Fl%Q(QH4ax<}ulkDs;@}hZPsH{MqMJIIw-FRaQDPHmI@*+6F`Dk)gmM5BE8wg$pp*X6Z zPA*ra?ZcEs4}Z@)WS09qt}J1=F`+DK0@~0WrpS8Tf7}_Y%jg{}^Km9DEjkOxST%}e z{I+6Kq6z!=EHiu5fE^xW91HbXmTl(J;>7Z9YKJDzW4c+H{^)mf#f_}Wi3f@><4pq< z%rP&l!^#2hX6meX{rc>6a85^|h?%)4-?u+B8`spdha@3?YI3{y;YKSGs{went-hZo zlW^XYKo76={xB`f9FNeYgFKji9C?p1WMEFN-q$Q?w%K;2(fs8U(k9eOy}B%+qaFR| zqukyI*V)(v*jQ(9!`5;8VaG4>i@we0H}Qw`5HEH3aX{fLst5t%<#F7zMv7Ph)-!GMcewl67_ ziignWRgJ%5R#v8)egq8uGGYIMU_bvA>RJ>nPY(%AgIsS_1v+y_-bk-MG3ZG*zGegA;KG2KUj=Ovp3kKOLzFUN3| zV2{M*FMDd^xZh>-ecr2gm!A<y4Lb4EnrpIM=CLn~tDbs9T%A_I1L z)V3lR?@cbzkmI*k=47br3h>|fq4lrjeRn05g3mRgr2j?THpDxcrdmYSAT%Nt{n?ea zSK=LY4qaAJ&1J_@ZwrP&9-Mi^$M|_ zKm!oK+8#FRPJcYFQJKeW&}yKSl5wgA-t)txL%ZQiUU(Iq-#`fTnErS%*4Mbv`Q{e& zG;EAN7)QuBb!JQ3eF6QL!aept!n059ss@Ake-`rbGXzwz{tRY}P)#@NS@aNW%`r(Y z*2r;6RK`ky8joG)(&r7Wwy%gxWMoWA^P;%WywOCBcRg@8Yc@zj6EG>@I4tYx=? zLi++)WV|4V0%6Op>yN@BIGv)SXm&4d2@oAjE%|&ePgap78umuSR{>XaB8+x{A^uOc zt$OR%erujVx_8-IwwP5jyTCi-%u8db-jeo|6}}Qr?~JQgYGV^Zb={t_i0@x(B(qzM zRP^~pzwT`;!Sn|@k%-y#=9u_OQm2wec1&IieBc>Vspn4Oj_YadsaZ?~)8>0Nhh(Hb@**c%uUSstm%&f4uU1D-e~{UqkE6KrmNKJe368S)k54Z>!eXZ zcG;2ZRtb)TC;QRi?I*A4@O}hf!bZi4TDs#vhEu{Y-vHHE1r*oE!oS2<_O09P^}3X4 zicB+>)@ih@3Ro}Gq9yhRbCq&t$&$&q9tv{BU7b8PJuSDYi;2fomNe;V{hAutYL~Q9 zImw~Al8%yzFDx9@OTIaUvvo?z^V?GTG7SJ-1*zl*y8C$F+MSwY$5eWTX5>F? z&bszv^3dt;F#S0X{IxHmJtQTL_)dxpS;8l15jY%SBeO91~Cv{#U{)%npncF+`L zxA+c)sYM68a!=~TuQ8LYqVKj<6)w%u8nMYo|4m>202gs6V(I4;g$5N9F;CQ*1Z@mRk#AHM0jV3s% zUj1;wq#K<@Xj{OuuT(qR;hHzQL&vGlO+-w?2z>eta`hPIb^-?0K5Cqt_eo7Ha~oCc0sunMF)n=#y34aW5*>l`L^9X8g&ZWdXT9qR#qsZ*P6UZ;mV8l zkwf!XRf80?{=@JT(e+v*BANhlHy61c{kM!M(j5t7!Uwq`&y=IC+f{QYW>OdBX#MZ) zqy(D(X9g`O!wIa43#*EYORh3-eN&lSp{8HxN0ra*9m^});75ed;_B`N^)knlVw#4? zm>!_a_*ra^&XMYM^h0ZJ0?~6AQ?i#>K41}zOaAd-M(~2zz7YS< zs#nqg!%@LT+`9%fJPr<+O5ky0t+-6E>Af(ZI>T!wo^F)DR7LU0>9?DsvtD2}kAa9# zKTh0f?t}Q7N1b5va|XX?OTki}?;i=0@sWwa#`&!o!GtoVbd0JtGUi%gpLk7>Tetr_ z&yB7?p#AQ-iz5dMwadxxbTXtDnPjCn?djDB9b7rHy(T_D8t8% z$jrZp_XFP$2%mgt7=o7kvUe>#{+P`o0C5$B+3H{US3v5Bw(j!_vM{zOXk{`4|^F7*(Gl>aYe}rViw(S-w zCnhU{tz)TvD@S)qTTu4S2+xk`5xdD8b>;{AFbvCm+dBCnH==|UP`@eyr0(v~$;wkD zkHER=td;Ya;A3LGF)2e8LPX#GgPNVQ5Zs=K{s=PG_(3sVN47b|m2G|VU1zU7%;Z2m za0IuG-RJ}m4vRchhMc$VAo-d)(v&@27c9^Yi5Ni^kPyK0DuYa{!$Rw%4WEkOksaUV zFJtTn%xBUSnA`lOEUfQ}NX`ZAXZddTx8t-`;r@AwlseHbOX#^xbfXvI@gV{Sk5p|P z>3VMY_3tVejIqMcNQ7`_N~-yNf>m8JGa0PmF&Yuw?O{^71r|qDI3p#2{QO*9JU#Ea z<6=gX17fFO9L?$ch3WDicyGBO^8$63K8yiyhltK!Y(yV$6;2wEHIk{DJ3CfysRq_p z)(nYqCh{&s^QEP*tetwe4}4XeCXwl}?U@^Uwj_ACvsi|B8p_qPuBq=It~YSfv&PxR z4{*m0xLMS#Ce6S4$^`g(-(qrjcz@*LhHod=bS0M1Uce+Vf3t>r6! zT5fBmaHfv?QuVd$KS~vv5P_b`#u!cp^e?y_h?!Cls6Jv^pksTNg7i}n>PVVtU8gCq zzq!mmQ`?8l#$yHM$bUzvXBpZf&h>MGd-Gb~X4tMJW0bDB)y{tcI3`fxJ=tNHkkp}*LUYH?KQ>UYxo}syCu*@xFe)!$ z(=Q+9#Gc%stP5KKxB#px3tNOQ&}z-Ih|9*?CG~09W9#dgax>(Wly0yh0;^Z+{QpgD z^f_$_%#4-#A71)1vy|ii<)P_i@9M&R+i7A?jxcQfz5G4A%w$`rShwK&iok|B9n0VO!h}56OUQ!I*fT=i-08siMc5H%@JJov4tv~sT7-kSf?$f_`#f!Rj~*E-9~4oj{oUs2B#9QqTILAxFi16m1n=6W(#<)MXS0_ zsi-^<-vB zz7}5?6_qqP-zrQF&(M2=iUZaZq_dgdY9)Vt^!PK1*KLrmU5^sZn&v@lmqGj`X|zL} zxge$(w7JG_nRO0HgVWbY2`R6=ZQsA#&_d%3VCo#5q@t%fXFj_;TQyZ%w_I5mxQuPJ?>ZPP z$aj@^@hI6oE|kX}xaZOJI-!OY;2j*EtZ9O}c*l1A?1idM#;RAxaD%C~wxhXJ-xEEu z#FaFJi{cv~$vH4vE{Sebn%Qn{i9XH9qX-;8Q(}kRJwoAq_B#_`;{%&E>|FM+jxqjxyyMNCH+Rqc(j(T_Ww~i=$H{1@!o()yHJ1n(ENYN7mvkC^sSV?y3 z9L>gkJZakeJOQ85131#`XOM-APO@M%_v)3XP-3YOkJ5N07b7@j^GV%y4#Qs2KM zu<|_(`ky55e-lkzl-lFvOB5^@XIos3x;&g%O-D_??7fb#qP0&97HJ-C8>Clu5aiO3 ziWX?sk?QN}fAj{Lv`~3Bm`ncNNP8b_R+rZ*6y^{m3vNLkB;j#)BH9ek+8SD4mnNIH zc7qNA&+*Etf3` zgeDsMnOmtZ-Mg}bP5UMZs7@nW{9n-Smt3yunwt+}T}P6mN2(51qDD%5lO;Vt66Llj zM@|}}YL5IHc4$zCZfwTKhIi{ZZ-X6N=VP%KC|W+F12MTD<0{XYv&f=XY%R+&YXqf8 zLP^K0Kc@TFtXarSH&0#rJ~|P02QaH%S?n#*SgHq8QkD$F{f?!z24d1a)5omC{5gyj@gFk=avZ&|6N^9ER8Glfrqt5h1L9aN4&E`OgceAvh z!Ms99WG+J7TyZHXNGp|i;644ZP!*qbj63CdL9af871DzsKML|8>Vh$pCpfQtMc0#z z_?kE}yG*{@1*?UPe-bk)9rexRO=h%2XLx7ILb^avaBr0xz*~Mwy3qzPZl;3-b|}EP zGP1d{k1AuE3N%jSx?Q9wZYHP2)e%F-kwKG7NuF#ikE1^#0`@ez;apAby`vqj3r}B}G9Njf0E<&r4?8G*Fef5gmWM5=^88rC#K1 z)JEMp)!FOG@aTV;3oRa=Rv=?F=g{Mq$FOjtiP|_a*yvTU9jN4O%gYLgR{j`$T$~DMyqOrmTeC!*`!LN8_~k~c$}6Uh5FIU05NLR;zar+ zJueE8Vq}}{=kHS7L6e<6k>|Q@GL9WDh_M_!WP>3GZAJw~5j0?cew3;KL?X~Ihn7YD zpv~Xy1od+K+1smolRFj^uL(2YaWb<*3Ud zNwbXlhOV97P_7ely~R&Xansq;&qfy3tX>(|j~i%&#Zpz+>*JJz52~Y)3M#CULgwQ? zB*u}?e1FQoGd7is9Y;=ZTiJu}Z<)A}W8s6Q4W=h_ZyCSmMH{$-kM?poTT&WGm-_bNMzLz zf@m$yC^cB!vN()in*4DvU?fd<8}?0^<>zGyG1*FI_1VZ4WN)YWl3ctoLPPm=M4qKg zT|)!HNzwCicJxc)FQlpd_OvHbukUtZ<;r=%H^SrE0~1QLlDRLDe*(935NcX4#Q@4R z;)eXGSBV$C9EO5+~!ES2$bI2P!TQ7T_zWlc* zBRb`}E=gCXeX!GGzrU*-GPfj-&`fSoZ+`dmsxxi8DXY4Qm0PGn#1tIgYx2 zFz=Joa_^#zxt{y3qyI)iA(AcRPfK=dS6z-N=l%?l;0D$1VLKSkbX&li{;kZ#@0B`T zq?%}2KdLHVeGp^+h;Rq>?iA)xcM1#tj zHlvwla5HB*fz@lud5?r)R2gXLI$N z=k+3GVnk9PZRYoQsIfC!B3=}@ewjsf^`&Q>hoo=0ep>+J_1-;V5@Eo#l+~6e&*v5$ z$bIH%+51qhgcH}qoa92inF(B>oIndWmoOpeyES5KfycavlQIBgZ7Y=JKgs(MtC&}U z=<3)+COcK;R1~>WXA3Je0v{GF#=XmB)NF|Wa$j!?dc}ob-c70c2sE@DMcGRgI;_ zz|0qt0Y8ePmv7*1HKvm;;h7+ba}ms)^*?8+&dhiy6iM*)bM-RzY4IpE7$L~cup%-E zowlKtbS|JBx$yWemB6O}u?r;I|D)y-_VI17{%VaLUf84L;gO>vvLHiDIgFvHy_1V+hr zw}sQY&a@|0YcyI|M92AqN@b&_leQX@D=2}eWScLd5vr*_}xjU)}Yj) zGe3OWPn{!~wgblszY=*<-N^8ro_>bUy;Atf~}WyhdaD!08))j z3+!*?H72$+AQITUyBxmWh9k#KKdJ+r4agfMq(eW88gZTHyJ_~v&)BW;lf>8#Klnmk zVE>-BP1Zv*(2KeAoO9o*)@Y~45+~t(NFp(re12O zZZv+fZHA+xNi(Pb$1vG|;j>`9EZN_S#1m9}C3udVOgX8t-!;{z6^rQc4$l4VsK~=g z2o*yq)F4e~O!p-U4uxt`cbcl$>@uV=qxtTWpv`CVdN6LU{OPp3BKQW4MrL+)1@`Q> z^W95!IHP#0iVGyrC}GIFmo9k8&C~ks7P8OGHuhO@_AO?FOc1~*@(8bWWd{AAhrQH< zleZsDdP0(j-knD;TBob&wadm0Ys%bM;G4T0z`v$*kuUF68)mV_QQ=<`JAjy~?>~gA zf3d9!)Xq--H=Yp?iZY;Ks6ZLVH@&QrTYAQ0Y#a z&n*N%i&%qv5A{|NWO$;2m=!m%05SS2%Nqwx&5+`66SyfJ5@+a_;)tXFTe}1x;9*(#@wmcsPhE5< zou&pciH4!jc7_ulJCM<8;99ID0luBLyr_}K!+r~AjoL7B7QuVw5vA-dB0M?E)7HoA zp$5d2`b`XKqT{SW(+z<$buIyxd{f3qs|x3I+sB>gp|LLgXw^0lyqC+6M<);vdm*L(}s z^qM?inqhkQYsL;OPP;zJVpcj# zYL8&o`wH$-$9FAg+2``qpMK!@IXW_Zf{R2KNev@kef6lsP4e|p7VfB6Zb8@~l}-Dm z3FImGcN>o<U7@}4%>7w(3SzYj|j6xp9o8v*=cN{7A^epVcn*e1IC5gX)-QnN18O}MeRyxfdML` zf+^Hcct}#Kduc2itH@M?K86Lx=>I{4U zdycN}7ro7~w+A%S7`xb>0}>Kl_*!Ec*&cT$7D)50CWEyK0C_%!bI~*he@y#r>@S%S zCI}qW#KE%uQg3}dVLok>EwWT_+G0M6IVv}(jrOmHdt#z9KvzWQY-wp2m-fNfOfOU9 z{lMwVE~;}@jK#8yUa1zx=5WItkq~5aVi402Y51L%3k?wuh5(5hwX3(cJNLS3=`7E~QLr>5j;J>)73%CLP`5)9?iP+*^6mi?F6957B;+gT3i0M8 z8++039ls*-tHp__iqUj3jJv!A`}rpGrpez2+g>~Et1gX~_D;bLH1Rs4N^L0HA>FdR zm8ubMCr;U+=MQX9cxtptCUbAF5Z((Q8)ECLzdc@e zJG1Ht^mlOZSjH-1eb^aGJeN+_s&@8Owe@02ssv;Vj#vKYTa^)gZg3M=TBzO`N7}B= zY_E5uhH|zT9(eS((1mBeY;65o6K^JGb3)4 zr?7c;=*(O@BbYNekQ?9>TA3jZOpe(+gBi|>Y2BqpbGJ?spDJ3_)ediqiUJ{Go@pJ| zxqNW~nZTn`4G`0&uudnA%--p|wThvItBQI5ejmGYMGQYTjOK>Ez8>Sg391ze(tc4p&W~7KRbS~UJvY7V) zrS*l?V_whd)1z&M_SC7i>B~H45dD$v&XkO4R3$irDJT1a8wQBI_jybH2Q9&4x~LU| zXo8dM)rY2MGHut%HTG4r4HgT%C}wFEqPz@9soFUP6&M7~SBPJA??^q#ew4HmnnZa~ zp`#J28Mb5Mr&ownv$cPm@1PBFH%37L{>d4CWy_~;MOzUN?IEL~P{20o#O8`sdirr9 z+1gpQ}t4puN~Nw1s&OmFt6UwR7YWO}}zP`0p81me73icWQTO>uqY=J8r)W4+j$pUpw5 zOJ&IW*f?ai4CQXvK>79l|4i*iUB|>P|E=}JH_RyM$A1kVhG;>6#V?Mya*HIL5{Fv+ zKiDL6aX;gV9{xj)n}OWz?*jc>yk}`d-`ARWd%_PjDb5q%Yol}u0eM8^DDGZz5HRgn zgRH^u4zV?gigQ02eQ9bYf}j04(}_8u{ZRH1MpL2HsFKF-`&k#YQ87rvFH-`g9Z_zO z?}I{HuTp(n5QY9NbSi0C!kQv8)ICS1#;XP9f8%(jLz?K5J_1Kjjpj)iEQ%8r=N%)zZ_g%$ANNFq-+YvS=3O1@6mbI5+K>8gkh zIjG;(7iJMn6sA@+0Pq@Y=ueFA%2YusGa`nt6S*BYTe{->+(8{Xq9CXLMz&L|873<{w5MTX-hPkCRVt?rT5f|E>7E^Y}P}_$Er&rWHM&CH&Oy z&td~jt)X4f-Z@U+yR5R*@?WH*0kyH*<<*WxSa)KjuXedGaQ8N}&j4c%FJ*HNuZs@- zKR_P{|9*JjCEtAX)$E^lXE9CQDDmW-5Rw-#8T%_oiHr5H$e=KKc!S$L<4GkIqX(E) z>qwK6c%>L^W^_xn(5T5vdJ?2!*R<9B{`6a!N zHC6r0;e&q+dOi3);jOtBcL23#Ye`fip_9{$9rJ8RE zPAGHdD#h6=ULhJ68(SdbZH$FwE->(tkJ3gRdH zsyki^_ORTpd<*s9vrnXC8lhIAWyp02CicNLZ;o|8Esj;^p~J$;OOH$>d4p3ETQH)v=!FreZzGtUBry<0<5(F}tpj`IoS{XD_dcSEScM9plL6*(Bvw=zjGvFJN zeUE`O|9X}8^F4#1tXsGJy+47Oy$mUg8KT-pA!AZqVpMHp_y=~M#?UfX)c*DAHwNu4 zic;J~=`+7HV6yfpMGY>@+GaP~VfYS5)DinatU%o6z^kedFvgi?CQ;fjnh!$Gjfe=c zrfZ{9^C89Fqi)7zpr1?}x1tX_tgF!&dwo~33)z&$JL2tenYrBJ%D*x6^Xv*S@pZYm zkT2mlq!ZqjRUITTa&Y`UODm<0VTG1%A1_h4T``IT`k2bSIr>?5?o4LDrhp$g)0Qa- zifzL@KJJ}@f4I#Ff;SOX!S@c;zRFn%1zCwdyJRBs=SW-@76aC`j_2bH|JHw>qy=8@ zH=nyRcO%nQw$vf=!??KJs<#HTbj8}D3}kPsvn6L3p2T|;_i|KC3ueZQLLwSvz{TRj z^Z~p4!gnsylIB``oppSDBOaPSk;GUcmHUYBfJrSvazIn70$`d$pyV*t{_vX8cVZKc|iwPTV3|Em^tw8C-iW*bU;R^X`|14I} zTx4sS&=y4c*%h_%^J1}^I;f1R!D3a);DH2=qg7rLgmM`yre_vxZx#F=fDFacpMo73*!N$#kE%+OoP34Ix7p-qp`2l~11?vf5~YH4%L@)ZkoPqGPWy(B?5fE_kwy3wn5IA=jKLBP8hgG@QVrq#>PR)p9i%W7G1 z+1#&zVgU$sf5j_)5{ARLDi`u(RrMLfiVXP9OH4-E(y+}}Fls|xK_r%<-tcVcvi7PN zYU}Ql<%8Ai_mPdFki^UNkZ$}Vw43_s$)O+v>)IO`|v1KDprtI(LW`` zG~zuvQTkWE_TBe!c}9h;{^KI6B;cC)|KK@kcaZ5cf^2!64D!4?~o3BCc7D?NN$kO)czuv?i(aUd(Dk9^4m_GZu1w z?_Oh#i1o1ydS_vFOAH2`>dhjZZWy!U2xF7y>I2^K%lFbw1zVnbi~bGpDQ1onGXTF0 z5FAt&KON9iMiz`|LpC;+YRH1x>Ydd)Xh=fW) z5J=&h%+cDoA)95WH1rP52BF3e+soFoZ?Pk+Z^o0}z1my(Hmls)+|nd~x4hNi8kgih z--jUju6Es6 zbIuPBvF%M*6C<#%j}_Ppq&bIfz`KyE$NpIk6r{?SB{tgfHYBKYdZsaGj_P=MEVqWM zJW=g~XH2HORnN;$W^--d;}+Dm+%Ml9nW#kbMXnWQ+H_}zudsi0Vv^^ZAJh1rBY zDpf*~(gb#JqZ6m*;OevPkDRbYQjK!TcQ0$T1y`H#C!G5T6bY2_xHWvVsR z>sZAa73^X)>Uc?*^85#=Bx_qFAyw`YP9@1o^#X&zs6#vxzC*0s7W(=xyk8aoB?WZ@ zca!_VM-M8U->X-fOt?qBOopEcqr}#|ua;A~3~I!TNt~_SURR{KW$~7H*SxU2PXm!2tXos1=2P_>fFrkquGs{v!A1Ke@pEUG7+kWA}K!h-=zP;?9=20CPhQ!1?ldF zVU7PH>2=P=+ai*OM7+s0#^tL?PUL&dwveT-ZE@#yZWs9vx_IH@J1vEjeM)mM)PnEZ zz1=tDt;3^GdX^$^~c9yv3;9>2xP@KObY4bjhFg zM%JYcJM%Y4cVQ@aUHS@Uz2hb}`>THEnv!SY?U`oo*hZ4t1h03g1Wlj;_}~~O{-_JD zXpa)tcTB}frzg2?T*aJhW6=I7myRC*jN?J7vl9Oet$BO2vhA)-ThWqPtcI7&9O|B0 zATO~4CVF-;rV1clnC^9HK6M+OR;N#{CK)UZw!JCkp4cd_|FE)BzUUkv9D#4IE8fFs zw_RIy+Od)Z<-Shnu^o~aeA~7|nYwO^*cfs4V0E$~EujLa{bSJ?L;s|aFk{#3E+)jD zv$1TkHn3jKA@$ugOjymRe$Jf^$TCiYFKL2y@afw7m*}g3+OTDQtsn6gk1qYBut~wk zdG@B(L=&@>X$scYvle~$TryL2jDAKILfblyCns9Xtb72UmnwQfglXY+jB~MWbp6XjD%)>1YYHNtx4A)x;tC8y?2?6TfBW(@Gc>Q(O5K+a?U zG?Wj31uhiN=MK;5k@jgGQtRP*RiGUL{#nx#g^tT~D++b4TKgc{2Z~RK+WqlI-~t<$ zK4Gdtw8CqOvZ;>1(@#MU_bMJhFqF1fRcHFkv=pi#5BiR-JJJ#nrtO{RMLww2g4v}?`28R47njS{EK_rIh~7?PE9m3sHhF>~cnqO3J-s}yQ(BhvfFH{~T7 z5mA8)$FBtjA2q%`P&PxmhiWRiv1c8vNUR5ZoKG;;UXck0;sF^H-$M%H%?GLkF%vTDf8*WFxz%%{BZqBmiqrn4!JKZ_eE^Bznr*yzUGE zZxSnziZ5-o!P2hT@|lRGc}gthJ7<}_34pApapm5_yVo*yu$xi1w6}&EXN&i+Ow83b zWTK%E|9U_6`xd6qiyX=tPibE+((yE*O~DVq#K~`6?QOHcDZZY7Z{s7F89nwdA_s$5 zG0jKK2XNq3cwe+c0^^vZ1H4-9%?CYwf5wbK?yY0^TP-eP2H*sN}=t1=OjzUCelAD7*%3brtn zooq=2nco0jEDwc~9IF{^wMU=@Uu@+%Nqy#+J=UX!4f0nO2s55`L=!pA9-G|d*nNsS zT<}ktd(Z0PAiqqF)vSt`p3u~X1lF;kek6roUBZ@0L)ld()gK~oQLmT3@%2S>KHG0= zR<$;IwF|%w+H)WxbzRvjc_x#P=_1x@m1MH>ti+Le%gitj+G+#^9;WKVhQ3=m&wG7} zxWoTwJ@2^{rR=-|a&`KVzeI~3f4P_NNT5*nyFIeANu|I9JVRxtyqPhHJ{USA8{9@d zd?)nJPK#iZyRIL8P`GSz+iZDQYr4v+ZH;XH(fyXggOL1^5FC1(q2-H{Ts7f|1vOXa zA>CxEV^+Z}pm0d7lVb%;$Mf@2rI%_&aa3?W=6OpvXMr;o05 z@@!DK_|MK#pJNIS0LB)Q!}66nWlaR`+l3pMiC}l@tq+Zk*QFZQACu7VIna!=S`s|= zTHge8pZm8sMwJAjccQBwUB)&LRvDfBQEWAGXu24R2)BRt^t?+!7>(neH1> z`-xI4Z@w04Tz(%Q`PQ5|IPGDJYk+e#dT=Iad^*ti_UBq3y-KROOIfNIx`c$Rxh@=J z$`Sa+{73yrnplko%@knK+R|uB=t;&EKrN7<+#ka`#Ch)^1v;HtGCE6U%2IFkCXJ^U z{INXrYqCPy&)r@HI&DJz&V$ibrY6Ifm~T7_3U4D)d9!OP4)}Wv)TT;+9~EmQFlT$w z)~j&}eQK@}R{A%pV5zm`(aWptC0X%(rIsgr|6z0PluweWY!cLgjf~#lD8PpoC|pKhrmE1&?Gig>{*IMiuta+Mxl`!4L4M;4^O_uC z4|$P<0vxIdS8G{tq*hzlD`;%qBhs`O4(AFyOmeYn_rs zx2w=j0qd`;R6OWc6zMG_OioD?BLvjl7~ck#@@NxQ9>AP_iaUW^J@j$HEs-0Ye{Gz}>Gk&?6P?U%01ywV4 z8(22)ElI1|Jj}2;Pkr+A48X1h|1iA-(rXh-U9GfF34wa9G`!-=zC;#a+qv=pk8^~S zwum1f+rlZhPe&ZOT^6s6J&LnyE#_J67?~&phM#`ITT4xg)nD!baByih=W1{b=FU#Z z78J}l8DCoZfyLE{1zQ6MuPAFOE%_k%GRyP}oMW3o7XvJ{(EbUhf zZ|)=5RGP^;v?H{pY#L+6?SMgS>QL85OMhVAl)spJ7uzb3W7lOp=-gptJM6W#YBJ-* zrVU6MMkEM@NFP@pEebgc9Zg?9a+=h#1=-=^ax6w0ck=io4u(vqXjy7%2DBK6jY-?@ zNSHSZ1i^U*vw8OdO|hzDBkhNW88flmd0{i^>vqub^RAZEpwq+O*rs)|I2Dy5W}0KH z^hoSpL+}>y`Z8*OofkYl%{HfBttoBn>Pn8@Bw>ZeF-wb*e6AONtC;hEdooUMgA&Zv z_dl15o$;)zjobj{36ov6-EmxV)whId8;1VoqG(NG?T=g7KZ( z1rf7?VmD7j4vzy>+Hfqj7k|y+Z>Kk$wa%j1ju}JN_+j;|{TY1uJKU{Uwk^Sj?p5X+ z=Ex>pUa|oK>1Xr&+CF9#+2&MNV~Mgvyzz83XwliE7w*P4db8FvLR!8}aML3DhJpWE z9NI~|%Rkd$!RMaUCg#QX`V(bF?=tO~Qr`BHsu_(+4kupJ+gYdf?2_u&a{2+CE1ao* z4qAfZDN^v64Ry)X0FOqHd|%Ny;zg=c%-UEvAbrG1&nuuBpH!`r#S(Yrh>aJvsMRQ~ z8WT8*1gGj)m@tg}$d*96idoX_6jy>y2 zKJu5TLQgH0y>R~er0*|E|Hf4Vlh<@B7g$OPvvEdiWyarAca7=!JU0-0KUcq%jlvX! zG>Ggxb})haPVivvuJM_HdS$$@{xb*n>S%@u{Ui_sq#2~7HQ$=i2e7)c(hj=r;SiyV ziQP?oi^OMEHzkbnXBZV849`qLWOK}>*Eu(o?mm#F6lo05KgJlS0!GWY8V4V0+ou;a#5ke zT_=8>B^YisEIuX68?ff%GEW35u|!4`g;kw?5RlavD*OPU zcdeqr1cFpp?NzZTC9ZC0PK|8mt^(XWd0)`BB^Ll&8JAdJX-DRZ|)^?I5f+@(&~IqcltfdSsCGIh4a8fP zz?}W=!MzcBlniTd4shlB(FWnnjuws*$3^`q>bY!B5~h{wu4cR>Xm}sJ=8fW>G-j4~ zz=jeeou(TUs2?R54W&YcJy`9MAvd&~qlOK~(R&)ly2!@Bw0&!O4X-xbba~tvxTPLT z&EON3eTh$5M$jv>-z$DKQvlRJCRqWaR>i;v{pM-jzdLT*^=<4uSQ;!DB4j`4(|J3{ zyW#F=k%xj`@&El>DZ!rUl;qVVX4krJ7{E*Ocy*u;`9b0S?@d@PW=Gm+cf`Yc z$iD^C7{Td4~~~5=LTeAm;or) zp39X=3TeV(Fy)G(FZ2qb6Xs6$)j4ZWsK`g{X237e045rkCn+#&FM$))Y3A3dLm&97 z<*!=ndg`K8yXbkEVv?=YE~wbMFv$ zH*e{SLGKQt(5~=8$*C}{qQwH*GaHbsA30HkK!EM{!hBK(clHgZTj7bOK^804`#Heo zzjF8()_b|1YLUhEE2AN#huU2FCJSo$7Bu#z+VYgWNP0n8xwU?_HEM@5pAeF|(Ii0e zOfdu#*K)6T6=_&{uNp3^Vf!w@wA9prT=-lFhdyDoWtL{Z+`&+P90gTR3#7DUP?+>7 zrmr;r{)4i201%R-t3vRLnmvA*kYFQ( zkP_(Gsjr#xCJJd8qdPr^VN(8YwY|iXm@rf3m?bk#Gp)!hcY3sukI?fiBmwxEmrpYn z5N5zkiL!_xGej5!JDxD{0Vk0^rBPy;REo=*XgVtu8c;l-Q!&A16MTe!Y2=xQ@Li+k zYM27hk3$30ra2fBm{DkMhiMG2JM(1Chc8ej5=P^bg~+u`qjgJ44g|?j=TTNek|H@S;xNtp)uT2dBM{_&~}R-x(4f=4Ad^*M&1qSG-%z z&g_-AZ;0Yt5XI-^TQGr1$O@8X=3?Pk3CWrf&}BAJ@szF%aK#gL4J5tjKebVx8vnP_ zzM|3E?$`>gXxGlwkQ=RdOUdxr*NpdTM?`pW#AttnJh1x(7j0chG-bh9HdTmVGgrNE z3r#OW{2)*1!eT5O!$LhHD-?kdF_!X~G92c;5o0{ZC-XSyYFVLWuMb|D!tF9_pV`f? zEz>N>yR|zFFObKwx+v6`8OCJY44zKKQ6Hef#@3U!=_eu!J!W^u*l=}ieFy2j5cnc+ zPLEme_CYpyUWgOx%p5bySARl*OUH_Fe`6nqR14$FB2OlFX#5jF9e)yF!MJ{eS!kpA z(4G*YA{hBwfcs{5%F~&5y2xLduc=u$C0}FXy=aqu=86TT?JP^RGIRO3AAQI{JC0hh zQ)2v|T729^$o!}b<-(+E5Pu7G;Rfk~OxY{{b4wMJNT{UqeM>E>bA3d?y)mBaMmMbPHo{SEJx@_%{o4UuRQLd*e_EfQ<(`(g(SE| zBLmz}{Q2j1;sXBwCXZae87|XvJ?=_}2=$ej7SSx|EN~Q~(mTDEqj1^yH!6Rp#q!aD z*Khmnrhqi=pxEinP9ivm_e$PBZJqt0f|~SOMNc0M!vla|r8vgH()8Dd!xpMpnI?B` zw^1CX;KDn7cgelF6OVVP+w-&prxNZx7^>3#a1Bo3rYD{xsiZ=H7S^oDI^-nJ`*2Tx z&dsh3wy?cE@6hZs3a~dJjUri{tb5Rt&#YRu{9wu|Cx>8H7i`_cX4(-yK&piCyTY}% zgW7HIPs7$?ZCib`Lqd;DUaH6sR~SLF?!)@0P366&<4;Y^zmaDXK*TSfk%R91zmxSj zH~8~!)f^@bGFQPy^Gx!m`p{VEHx^D?Q6jKy9;>v|)S*-z1aZi#GSL>;<*JTYy)wqK z)^NRw$(UGP#}KtCN{`|{|FJw%=*j6f z8T>y3wD*;XU#bbNQV$ouNAqR3*oTB5+Qwddi)3~q4wLb=Onv{TCpGBirRj@cyGYnd zdS}H-Dr9>Wpox(EH+c^AvWV3+M%ojv)=6sNp z{K$X{N?)Jy%1p*Z^T8^&M6|v5MMsVh&F)JnN2W!0oEcXT7j_T#%oJ;N_B|y;4$i&9 zFyEO)g7Geyo9G+n@Z(SL7k313A?7FV2q3MkfD7k+1Nz(p`Oqt21CExCzZn09O~m(n9lOG@)Qx5*wh&@?W4WMXAG+FnMpWJQlRmlW}wONJWBUYS&d*A98dM{FK)a zkHktX)${sI6F73k8f;t&*{0P7W&(D^jd0oxOWC9{0Hn}7QcL{>px;R?l|Sr!(HRp+ z@dv>=dAi;~aN|Z(wIb)qqT+(cvitZ%ffTw?3hJZm?UmRs8aG+N^K%1tcH^jyp!r&yfF=fE0Jj>=(2_sY;!{Tk{4>>JYyE2=65y@jA19PPTZo0M_joKPaZk(P#*z1WpE6M!fR2 z#(=xFa=O1}lSvTm0AM>)aZ0LpAH)L#_1h?16u{=iu+>3BkIJL<# z>$XtX+DbIh1=Z^sloM~_OlJ_IUF& zGOyYIpOS&z2V2UcKQi2qGIwujSRA%O{Wx3LxUo2@pE8+YpJmW7Pqo}r57HrhpJ^I& zdNow0a%r)nlw4uZ2qk{N8_gmRi@UseS}ei)>VJwBY@0{`WH!<@cpx3%ylOEL`?o{k zWm((e>SZ|%5ule?P5FIS6F#|aX1+RXO^_9m(pj#u`EYQ0X!a~ZFQ<$i;=K|{$2D3U zeT0oe)qXoA-5@?b;xtJFQQ$mCm0qb_GuL8Iw)IIbThy5P_$Qm7k%;J9{XefE6m+^- z$$@CN?6Zxk%l^Vo$yg^A<`9gC?TlGdKQ8y}1FX@=G4U#jj4ZJsgnQcv8bEEXeE+tdsmW{XmlR%yD^TJ2a(bS&ErN8k=b}2~_(a4==mpQ3UAMu=NT1L%PA}oEo zb;g>gB+Pj4hVUI8?h);7HcB8(cK=G6p8pj`_}EaCkRxroN6{?>yEFES9U3~8*V}7a z7$Am!4ftC<4kZ-d%K>e>mnKuFV&?b5XxtjaC%s(VnG?mw zoyoXg?N>+0YV1)JI#PH7{8PDQ`-=smZ^~$HOFJJ28b?O}F0rHz9M;_Gz2}GKFlYDY zOf3!CUDs?TWoOzk>=CqPDLdn$JI&DavkUty=Rd@%6*HyvO3*JetR_<*3DBOoRHT1) zmA)U7Ieuy^=2SC>t#@n_>CjG+Wcq%CuI!jb{P!&=*;v0WsrSNT>YLP7M4MxPe>Ll^ zo~v@DY-s2MJ2ji`ae=dk8q&|5S)`^;#u(dV6mC*YL;)Bl)m6 zFmdbN9x^<;&b<1HQ|vzUs`a8%A3@?FOp{OvMf+(O(HGA1uTg$M70@p9 zw5m?It3kT8=2Zd^$L$Vt$*)nTZkRP6@D>^crYTE(lP6kRxc}CCR~YnCb#YKKH`L^D z&UW^c*_2AkY2F@7oUjjbO+RNUXjkjQJDtF=Muk%r$G9J0K-e+(jZd1Lh6OuIr0DOwEc%8@SnA||9A9pQEdp5=}z_l+xprTKbTD4*RaFurTX)M?z-_u)=Oz2486G; zH1FQ(&nn13jzkrhcB}6A)HZrJikMvOhky2(56K|8Uao4oyr45SWY0=EHBM zGL<#u#mwptg;T8NHL54%hxB(4<>-&IH%vZ$r&L$XaOKO-q{(Y} zZ(_*vh+QVi)(38LUkv0eTv4ZIt;lhu7f8hoWx@UEf;cfZ%sX(5jCq9wZ-*AzM#?E$ z5($GWWM$#3k@e%g>8ssg+{tu(_&gz|{_g9f1Ep43<|zr?HZ3mT9H%#F>jU1r!WvOx zJW*nhHPWj};YCm@?8RFRKE;tm`@V*bfh+yY)0}U6MsjM(0qf;a3{wXB?`1AV5A4UFX(H|jAPG6~%4?={jn6D{|{M2`w+PflwcOeem$i{ZL zLQ>qZhJlZNUsb{y)-2R{jRs7~(F0xzydm8vUD2R9h-ClR-0I-Wg60F-?!CmR+dOFNf>l3mFpS(b9H}w{G=QD`VMp2}6{I#+wX zrU0ECf4{H@O4c)3OXq|t=Qsa@7QZTT^s_Uh9!_pY8u?2)x{%wf>w4j(GOs{s$G+OK zX?>_Fz~F=zJFi6uW|X$q*FC>df(am~I_1I`ToZ}J@A!;Wcs(Ff^KBzN{NwSktto5# zaIE&86)~O!!vm$NQkv@rho)(=euF9!))b_!@6=>nvc$yBhRoy>1ez#Z@2_-pDz3?m#A=_<)hYP_`TbbJT|u|})J z)KrdjWw@A)`uOcQolGPF&MHu_N7sbd*ZhZCSWR=96Hrww&91~_Dj_6~phGmK#XpW` zEY^_-kxb{lGU`L(d!V+Yy^==__vt7}F5v`jM#FV9P-^2kP^JLZ77dkQ!x-*AtH}YNwxg*>i@8ZYg@na&XFfrt( z!XGFAknb!e>+2&nW0ZMt!1o;d%?OQ)sZW{i(QWb!@e?*$C}d382UGelpSwow_+Q@p z_^5u$bn6Ew6)TkW?AEyuJx$n1x%RmvG8(2-KIJ;;h7fIDdIgqw)`pxk3^?Ko(I`!_ zu}NC}LEpUUtbEuS>F>!L&7uCm1a0MXd(pr zNPrWzteo9bPs%hOhyutnXx{=j2YEDRRSGtaCO6jfjm=PG;rp(W;q8o^ zk{22vnp3tQ+j!0V9v%$uU#B_-jRmLhcQQ;&+4fQ+2aM)nF6@)PT^cQU6p@>x+<*h7 z^tAA6z~-WD4!y)gXBGBt6srS}84{ABO(Hsb5jqt>X1dmfWRlSB1Umu?0;{1;cY4l` zVU@1FXX*I9umjqjS8#1~A3rTq_jW57*x}tKLv(@E&zhuaMV?-UdglVC$7*UYN7a_zy`bSK*6Mlfk%VW!HgM%rK?Ta-LAC_E-gLFEJxB_lCKIeDzwny!<^ zxf?$rI^3Gtz${NhjQbm#;MBKzgmCqB+c;c$pZD$BA7SW}#DK<~F_k)R+KTx{>(#k* zOw6}=SKzC};N<*)aoGDG)3vaf8v;Qo5VwkON@1D7oJj8KZo4{bi#0dmM?knK%`oP^ zYWOwx&0qz9`oi=JN07b3VS@^4WL_ZkFb_%&XPqhSilYUT{=i9&Bk10&kgdzq21&In zoWAx~(C0K0Lm!r~k@CK*=1}Q&=e}HvSNgX8G-^G9J4o-m16luV^jDwOmRN6AcEUS~ zJAa|>1^lnS=Zii~7Fdd15D8?{cLTnfy~4DJm%uDbASTCXK2Nx+neCTLUs(bka07^a zz&fMZv>lCZohz|z7B3ILWBo|DEf?Z}JGE!<8bP&vuF{4q(9W1mRcJuZa%EJVGb}~6 zHqCkRTj>d{yGv=hFO3R5GIHnqzBBrB=&d-LYW8kcZG6v1`y_Jc@x!;Mn}r5vmn&Xy zzZ`mIhBsr_r*-2#9JJ_E6ep8jjzgut%A@UVzX4gvYazjTFX;mS0bea4)tZ%xfNv@_tnimO+BpXfK?iq+ zU-Rt1fzcQ*Ra3R@=5~qXmk)1rJcPxI=M*OL1v&cbC#4#X|_8Kyi21pe^oF z91>iMJG8Vs@1N)WzV)v)M#jiic9NMn?s;A3c^pnYq1Vh`tlsGRt|9^>qi^;ma>+7{ zV?25H65gR!Zvnw0sy~Da&Z@_Q9}qLe>>>LxY{^R)8OXfhc&0MHB=wG_zdVIhK2G!{ zQAl4?BDG0T2ak)G5kAQPb3W2fm?xz&GMoRm(QMyICQRwnruqeS9rrH=irj#9!w`3MXc>-F9Rpfv($I?|q-B_?6rV;WRjNz$(U) zhDcw7m#tg6Evy&_OQ>47?a^1j99!m1pPX2h?7G~%LL&xj?Xf(Sa`){MDIMA@jKCm< zJS|79Vyb}@;kTK3?Fpo7<0d+Vh|*u-!8eC3^&b42FWTX4BuLRtJi0Lo-nchZGTnjo z!pDz7Yvw6|FrMyUjA34bdZRxiA^mS76?<`I^o)(K5u=`tNiOTT4$0DoU4*w#Kd4z5pQ-P8@7p6s7-KAKB4PHthRwjfpn| zmi{CKXZY-F8p}+8QgIx=^HPtJ*ze3gnK)*rp4TP!rw1}_#O1x?e3x)R22>Df8oCe= zXL@s4`$zguP98vK0jVOH4wVM8pkE_p$0%_LYHGs{7Rj)(m#73A;o8lbT%)$Z&)nct zfrr3X;RySHZi2U^>S&rBsgcJ0~qU_Gc>(@pTfqxB}`R|52)J@;}e@AuuPWTi>5+oVIF zamQyNC@#Mc-uYW{WqZK{l8%d_*iRb65CpAkWrq;*(zsoD^G9B7e}c>&?YUl~y6y6) zrhmo_tr^U;@k%UYFeK_j^+4|nR}9m!I(hfBe*5WKwr|!QW;PZ!1tMHXpw#KD1`J&s2p;S#J8@$rMLZ z>(?Et_XZrI#v%RjU$0XeQL@N-H-pP^KK4^=!E@=O!{i^TD_d{gRw1 zirnWDN*qm99A(l2u#qJ6SGZhoXle9Jxa2v=r1&wucW>hnQor#><~rB0+)Bw~T|Cq& zyDw4NRJQ!@!TaApP4cl$CseTq)hx0S!aZ_-zoAZf)y02(j-Eic(~purGIR{HysHSk zK&E#5cFM+Y$O8Cm_O#^+>iYP?ACs{!zfrBVdNPYgyRb=n<9Ow%z-BjPOC3o8XnN$U zcfZ+=x@VW64TkfqLNx-|5DF&Y%}TXkeo>2VuI(g;F18x-Zt0eNHHI27Nme%x49x_} z1sgM>}J#Loztu)OO7vT6IFgz ze(7dd`w!afa*Z>pvSEikydJSd`}Nz=VBGlC-U6dl73EJNVw`N@>{}^4Y6bg_Z=~<) z#)VY-@X!godv9A)){M3`GDZj)j{**E6dJ^H6o1DYI*&TI~fqd2kSn5U4%=pS?MR5a9!oymG9 z?+KbpI=+IVh_*uxTSdc+7WP`cMFL^c>VB-Ayc&W>--{$E;x~({kC*?sbWT)Vaqmva zI(lAWQ1yWN+oe*u%<2e?GW;oMoK{iOUSe6y-dDsGyZJiv;hFxY>oIyHmObfME!Nwz zKMM5Y3!nx&(!8ubdq%*~!LV=ecACKo<$-VN5SU`ZyR-@j39cdi$qbKL14U89lfy{m zrvn;A(YwZ(?>5`yYCaaf<7y zZhNL*1q0(%4-CJ_*e!mjVbXyMojiT<3i35T?9hpxl7kC@O!_y~BM*n01GgT7Fhqeo zXw)YGPyYz{d>0eyn9Pu#MbQkXVoSZNGPXKVaxJ1e+`BDRHXW*9@7&{r5=kCSw3OuA zmAHKxVbJa#pX1_kl&1ioD$CQ%cdaG`5L7JAUx1(eQ>f}`oO|q0$oau+nb(|7hmw;Q z*1R@FnEjUnB49^w}(j>y=#H0jkWxhT;hV5F<56uj}r%%yB;U>Ci=sr1L zj^%>}5Xx_Ow~u(k<|%u#d1lStzq1-FQ2~|_F7g5A(PP64y=8@SS7bFV9_aa8*g8|S zVYSc+wDF1ks=aK*>tp9yi>)EPIy)Fjg6QOZqfBe`aK6vU*dbAau$r(mwUGEaHcR5( z@$&oxR9Ta5j{nn>)46yPsmT>y;b}rk`)4VNI1^{Nr}xVvl@#Als+QU2{Vw(w8%@pR z(Ud&H&}<$KmkRh&U2R4P1Aj3z!x~@Jgpp;`F8k>0c5}mQILIe-KFVG(hXON}8IU6P z#)BC#O1+N;t#UbLm|R!!;f=p+qY+IH0(?Nm2PV`%=r4WO z2f||>(wRw5h`mrTx;;Iy(A>jYj(HahOuC(Pd5Je`!#bOvLRV_}#m)-z|H&D(3F;d#oG2Eff=0Gw`jp%+ zUh$J^3ihEqh}A+=q)qbpXx=p2PDf^ebh$UKE-r#mdRMfX%B9%M5vuBgL}5#+WxYe< zg7?ulR&y92@ZF5F|NL~Wd!13V1&bRlK~3iJOiFh)P*7osB>dlott`K^~~iyS_i zZ(znTUl?ObhwbHm(ok%3S(eG}`7!L8OeZ=#XGf!AONk>LPb-)E;p8wUh;N-}!J>yB zCS((d9&t7(v;D)OxQQ>IDpR|wwb35ACGNoO5a^mn zv}1-zP{z*Fvd8)Jl+}GsQnDc7Vs=`3j5kIC6h&pWrc=wedY7i4%L0bKS@5tpMuLk7oLU^~$7eTdkygsb`6lVFtWmGvXPF1er zZF!#Vu?Ow5Yh8P>6R7MlglyB0pWRl1W(IUK?cKh@+zF#pw&k1!#bV_W+{iRbJI2o+ zmp}iZ{&d$g%@4MOz^osy5+_sMC!fonA#@t?y7)(FjW^)!sCr6mp2C07XxvCWhmBcS zyw$Qs8$1cE1l@;eUzUrogkWN(lnK)b$Gs|xb7V_3YU5K7`B?%3l?H@Ry+ND72fR$# zbp~c|G3RkWdiqSP3F9_x8( zl!2X);Qh$+U2+L`CiGdEa6;d%Wo0^hc!CEH7P1v!1GmE>3G*}2ay4YcEw!E{6Mk(w zfk&Zu2wIwua{65_prWT~rEER`vs87UraxeAr$tGV^WXDxJZAmv)VGJaZrJK#A@xy0UjB;ml((mNL7(=iZeg(Z& zg3Ww!5^8>_Kp=$S(W?g9@Te$9>D*!8K0WAwS^c>ip#&q`r<<)_r1fY>cTE| zs~(vpF*3}n6J||Zr_G5Km~pK!KZ@nT_E)PK{f&8iW2<2*6@t0>uQl^vc(_}{(z&8l zYuV1DRzUhn`q-Sv#mr1GnY&a&D-@D60O@p`t=#XTC2d4Dai&8 zbsU(^koT||D#W=WrjiYJ`(j>KJ3kaZosdA<`5r%YpD?JSJ9e!^ohI`OG`@s)b^nU1 zbeAc1EhC{9A^QWY8u*t6aQW0}AhO6-nMYhpaLfmJ5xCBU{JsWs>gn*Z1)bi)DuGcylxB zQ6{KKhj~WOJb#uGN3ocdR*7KYIA01gSGjb1p5xUhzJ=OC(zd1b>-n#ZZDb-**hHso z@q29Zo#WN!Djs};V*?UI>{o!%dxl|u@#Sqm(>m)ZB_hcEel#?@$equaBEiN8G^0n5 zTyb!$+!bECJnaSK{?R$fH5>o;+4XfLvQVof!~X;eSJUI3jg}H;nKwfjb*Cszsm!sn zWe7fxoDJ=Q%sO}h^+)D@+5Hk2qI?1zb`Doq36o_GDmN?qx$!4tB1=GN(8CEH<>K#OJAWwk23jp z=ga$68zQq`X&O|#g(Qw1<_q4oz|;3KtjlnT0%8AJGKhPzN}8jDrYMt|&-qO=Mhj(! zsf@)QNNMWyO6`w4cU3?9S;&4s(0(@1pd81f;q2_2E!UQw9OLzvdgM1?|CQsy9PVRe zWoEQk6EQJ}#fS>7-gQfq2#(Tolfs=-8%uupjUq||@U6?haq&;39+GRhPBhcPpWG?& zGJmUVmblDpSq5PgM$Vs2Wn9=?Ba@rN4kuD{?$L{nPZy9cq_p12NC)FxLV}sNFIL(s zZ8oHcI)~I`B=25y>ITD*8)an!N%0ggL0APXEzYqK@m06%Bk{a+{R?(!8!1%&qF{WgAUHy{+kXy0MVzI!5Qw{iUIKoMu~;!Bres_@2OZpX1UJHI-kUW*-sP zW=V|zf(x`(%sg2lF{inUQ531myDDJQI7uo%h!i^EOQ;}K#+c>=5Ss&c zO}A3W(fPn3c3QG?D$oR`ovXO2R_Jyq+c< z##o8R{~lgYJ^%kw#s3A0{}1L;IHQ~!qnz-6Jc%(_F&fYc1^Rfh!%YxyW}Kp`zrVlQ z7$Jq6#;OXC47UAQAGqg5Lo+(j>Zfm}zh2$dLbOc+s!r8FYCJkqy{bRx3-swUJPP#1 z9cAMbeI@esJXCerIJqRLR2?18?>F{zbYHo)Wofmw&dtk;z%!?s34&1oQuq&B`->7E zjD5@$?UFddr~^IEhW678bz*YxYm|ZyJj;Z--7TX)oJ@r^WLx8m4Q|e4Vu}8NoAl}2 zIF~iZ%)pJopz@F++8`;;UcQO(AkOQrOTdAY*Mi4)^^e)Mo2$cKBK2CH^*}Vt)VuT4 z)W@2>lsfuY;nYM@)j!(Q!bnRcuBhGB{G6C|0aaYKDWggUIPZBn|!j9LK}-JVa$wC{~fX0%YBjn@PY!|!*&mw$LHMD*?0TXUj+`8-zM z+WNlX*^>@@y6&%kXeU>y+Sur6YPO8Q#vn0qX7(${b9SthD{C=}(-B~rPA)YQC$P4Y z2|pSNY$6ZQaBC=l(&E#}P#Mvi8lSCk_*%`B8$r?FD|awvZj^brXk|8Y}|))08}qF0J%H3QDO z!r+0-q1pP*@NLPb_F~2C@h6zwKGHV8QI3oz7b1CiQzx@zrTEOtmb?#9GXt9T%S!;a z9qT|<=eTmm9&q&D8-Nphgqu3l<9umoMN`CEhgqPH1V+uto-q1RZmA^5#VfFypX~$} z=?hMcl4g`SURw{FZq}U3U|74-5E#S({BRgW?VW>syc3+u-F&F#%{s9jfxbjxD^x$q z=>qP1zw2OS?FCzJY7`mZ9RV;QOFx~bxd4Sit=2Q~DFrbW-k7IWf;t_j=U@l-g&B|v zv$v2sC)&sI;!32M6=L&*>{ZNO*T-Vm5b4f{U`l3aZMN0Pai~KRNONtf`OP6f!17`5 z$Ueo;%Rmp8;Q#Ta%=NVm&L|l0CT$5XH0r)3?hZS6z(63Y@Kd= z87jtF4YbIeS!RIGutk|c>QUK3_NJ`iES4kBbPfebeH~4&bM(V)c3z3P=v~v6xuwO1 zWuL9O)m)_hzSx7zVVfv@jazVuMdL6>svR1a9Bc47qN}V`e{vB$>pEg;IG!cav4M z0g9=Rw%aPxNAy-SRD~`Pk&st}z4vPHcWLx<`g~$E(FjjRn}^P!1(m=C#i}?Lr|TYp zux0Bx>&f7Hxi?_If$(K}AkQAU`rYVxgOZB5s-=`oSh9gxpV7Ag_Zjb^!2Q3|2637_ z!(VRfHnXItIp5p`{|D`y>68x9-4ivkQPKG^S97C1EoHu|21g}8(wG*NuXD?x*7mgM z5=fTP%wt zalkQ?R`CT-D~ZX$mS~aekl5TkXR4jT-$MzEqRaM?txc@!yHDrBJI~IlY{x59Pl4IJ zY%Eca^*?jJ7+ApT#b2H!Nqk#!a8r-cCBq%l)3gDNu4KEAd3~l4^3{dad-g-heVFw9unRoW45>*e?=3DkY);Bn#zpV+F>O9o_u->W>q_K{3 z_I zienj}`{ChsO{;TRJTN+?5tUdy_k#qN!9aVdX1mN%(Xi5|rBX-Nxe=RIK_qBv#18s7 zejhD_6CzO*q;gJi(@ORwn`Vi@4rouFTfl1{RQF*H^)I~35e1PUp72Y2C=Mna+6C7^ zAC4&b_$kx_Ov2QKZd;o!;*$rR8OhW>9Kx-ZMflGs4eepxXhl|5m~1bMX|Wh_Yd`}( z*s}3aD|StH7H!x#P$vQN%S`UPIpNuB9aH&gARH!6|b;JJxvhiS@$$wM3MB6FQwnA}aOwnJ>eD58Q~M;YjP z9wlON32p>&PBDNkY_UKj9qWKknpn3tqBWnWGW>G}@!}7ET-Ei{Nb9c1g`awJM}hS4 zE=NN(0nWIli{5?elwi`wZy5ZX$rAq=5m_Quk` ztVz6ezfOCd83>{>1Ri~) z8_US9a0X*~<#NU)*~s#>h}%_>y!_KkFE6Y_Dv+H6CK@G9VjH9Fp$q$*7hCFDVTvAT zCpCv1D)l@6*S>MjH1k6Sw%PmgRS+*T{4)in+@VdoXKI_MN@Vb9fAgD6(4H zGrhJvgsYTwWL7ill>2pi6*Me2UHAi0#FPs@vakeNa1iY(skUih6PLu`q zmQ&Zz)W8nh96R<#NIJa6=-MHZ&{*J%0b_MVo); z@}72kIxs|u`MP6}sbMCv9N}*CGX)PQw%0)>pyQXnWJ^;L#hwVnqa)yk^r0e;*}GJ!nI99sHmp$=NBCvMzY8M81v<^r`gUb{CU*CyWIp85nC;a-hU3bF%x72d4NsS5V5m=R z-aU(7MYg7M`aTODW$%^so{gNB_BuUUWU(1J=mF4EJNAwaj?MK~6#%K<7{KziVXJwl z<|%{FJXRhnxOz6faC6j0c9!$|Ol6p6@@`Ej97lCWU9Z32m^l_jAA2Qa z^Sw7XAm+rTPQW&VjlQWRh}j@o{~M+%%#2Lo(@;VS{RjGH!uNEt#eZh{xpT^pTqp1( zuv6L=qdy_zD!u@nyV-xxSf%0yN96wcXwe2e3ZKZ$x(3lNOUP%4qF7{mABpspkBKP7$!S;c-#${{WV!0RJZAp- ztyS5a2YXBY+UFd8djBcF1@!MU4*ujMQY2Q)`7r;)I@LqF`^9?xQT`}HP3}`{iHqm_ zxq8*E%fIU=K`&DT|660#Uxu~6H#*B&b8Eyy02Dg@W#Gls&2B;~aKy|#pD z!ol(9RhsSgbvuS$t{L!GeuuUPCyn3?R=@zbnLpSThe--9Rs%HOHT^cGMA}jrcdIIi z*oedd8_vYxEo?VG=0s8u)aKSJ03bdGR`&DDF6sOE#tPii3lbyS0+J(Y?z>UXb{{!| zT8!zfH*7y};t+^=9_7pOIJP*+!4R&&HjO8B&jN)nxXWh1 zOs}kIY~t1G5=x$Yfp>5)IC#B_4|Mw6!fU%#*XH zq3+8>7_onXYB;qlksuBqAI~x>OM-Mc<-k#|`AQc&%EhilVsS%FNdpC1=Hh5XY+ceH z$hT}MXM=0JkH3}R0lw4=+^1M-1YWKm_$hw%pf`tytpwlYHP~MU@Z`vmM+gam8D+U$ z%9+J;4q+-iv-&zOBt~ga5MT{WlwFNz`RdMLolU3-XQ1|l#S!?h_1ppG!T~HwuyCcs z;e>qhVsfp%;wUJUAsc(dYgA6$_DgMjjZwE|k)-*`W2M!ZTCQShkz}z^OC-LiP1%q(KO|I&zkeq$KI4-#|Y z*1+rr`#n^%SG*th3kh)%ac(wmjvDi&5kP4oVw~2F8{8^4HgY0%e@2ZjjNsA$j^l{wD_zhFr!?($thzOA>U!4Tb6aBANdhBYsO~_73k3T%1b_(&epP`z<0Bp<^j@plG&2|JoKxs4xLlqWyTW}GU{oC#Z&jx#!O?!A2b8wNM{h8y4g-oasL*2a~`zb;fUx9mY`5>CG zb5!EYP1vaO@lP1uZmfNB1M3=>#ClmA6eY!32@9ukz64MGz};_u456er>XgKK44US3-@|{V-a}vW(dN1o{SbBkP7y@ zIk((W&)+>Y5^m-dzpf?(YjRLCG#we%2f+#bK9x)Yf=Fu9{(~m5Ep=u$hJ(@`A0F~( z2IU8>(GjGXwIE!{Co4b(>-6g45}V%tV05BlH?^l!ocfJ!0pSo@E4=e`X7JyR!d&yu zUQ+!)-$9-#e>1en$SoSq{IH-}R9&ppt%!ZGe0$=ZigZg0`qc|*d)r#ky5Z$Aj}Q?z zGDOX}{BPbVw99=#U8T0p<~C=3I~7?q@3B8Eoe85}dDs@e9ikCoXvxy0(1~|INh~n> zsF&1bSe3bU*)&W3E`^zt&Kwt+>KcGa_Yp-x@+4~V2q)ty)$4H(w`m>A-q;~n)yfQ)nQ;`$57AVh)%)l>LU^NF$+s{9uocDfNn5`* z*-bnMnC#Ao?0SvCN-_yE@sV*ld}Vlc$+x>;n{{cv!w|1-A1~H^CYJ0>DWmrYntd5g zTqb#W&NoJGsT${bp=)z`SBqcc*0vCUG;B>j=*-%bEr~V2kwi5ptlHju$fxgMX-UUK zpn>DXL9239a;A4Ev|Le8fDcte#V~mhyko1w<0xi~c{#dkBxWP3k`{P{Z6oLxR4m@L zj!xDH{hAWZ6?x=)7m=4s3T*IU9EGZuiU-OWEm~Pz zk|vaFPImC`z+~NKMZ}YBhQ&W!8p9@^O15MpRJ+`AfBN7dPs_F)T zd(6Jlbc$_kT~VglriaNT?`Weja2A(v?>WNV`&tGbzMVNvKn!Cs)3V1Qh(jy6eR{LS zkDMzo){fUyJIIw4ChmDvp)gPyknB#oN~c0AvOCcG<6_KvE5+$lT2EVtz|~SQ1uq5T z8e(k}{K>GR{Sp<1-8pLV_WkZfeQF*kp1P%aNe9XSI4a1F+w&k(UC5^ym@L0$2ZF~iB)S!Ehd8ZWi^Q8)?p*+4cbNt|N%4`e;?EFF z>yNJz>5jzcU_l1g%R9aRjA~(B8WRZv%ixrWqRZtR+UG-t!gJ2x?I&ZZA~%;`A6O}~ z4;X*5vzPGw-RS@mVf!OVmhUCAIgWd)S@To-*(6cn4;G8J>S8~o2#J<$dO9z@|J<7? zUr^3MabY%pTMNGPB&=~cJI)X@W3~D2Z%=VWI$I%8U&T;y6>Z{_AYiR?+RrR@`5mPT zSDcB@$xAm`%zar@`)<6#ENqH&Xj`i0g~ZNRBEkDwO?8%N&AE%$?8YEFfBUaHN};e1 zqh7s|h48qw4}-jKdz#DNk#~@=6SjtK(-9lk%Of@U!-c0stp~Xk7z>vl;@1k(z67|69LP37c1(iTBo2O1FC)T`HRE z8#S=~AAr~;E@SYBoRMh_!;1qT*2#$4C{xz=pwB5Xc1*lRF`>p8A~U~9y@h=HY$JIc zq7tZmXffG<#(0p$FuhqHfWz|`9!SL13f&Xpg@PbLwWV}7?d;4y{MS4j_&&~8M*xA1ugBOHDBt#mY7)wC zSZ!Lg%8IoG7z8;5s`{CHYdbVQ0li14*U_5$+jBvD;`?UgELVcsM+$tn-|?pQrv0*; zc@Msv*_*vAviNy&LJP7ELAfGY-r1^4(W$0*VLeM!IL|xrf-oHw)AG?J7*3ru;jmSm z2H!M{--dcV)R++UH*b2Gd$T1sZbsdW#d>hN=D*8P?udb}QdoZLDfnDmV!D z;6i_`!M~d25Jr8pyalD7ysEVrg^e1(WASp;M1-;kz?K|y=^w-Vh7Dpp|Abs_rn=1?cJ%vlWCTAMRH(OK1oV9rPQRy&e}v;zBc)~P?1WXD zH0cR=NUys7-bhw{D++OQs2O8-q2no{(E24S%Ay*4H;$sY+9pnXnRKf*H!odKXP5v1 z*Vnirp?$wYjYZyWj-EaDK7Q9(d2zH=#3nC|h>Ur%tON z!F0yk-z?pG_~B}GB49oR?MU5sc-=0#t{8>Rc`#NJaFkls`H+p!XH#@oh(3Qwv_-O) z`Ytk(TV7iI7PAe9$D;CLS4bJ~%J!Qmx363qGVx}`1fIz_ai6`j?AS$mVT8%EgoJFS zAD5^qzr3NPe^N%%JqB@RH^`n*-3}6zr5}1!?EuM-^EVCKc)oit)bl5L{TzAkRnNnH z!0B>l##vA~D|bjQk9N0uee-k}XHL(@&tK2{mN}q5-6+d&|6@U!l@V@{AzHNn+6^Vt z>vb2RNAD~{Ge9Q_O3nTS75vLvE)re-dWfH8tkMnPG){6WWcMY0K%sNuw=zy>oMNeM zfnTA~SVx!~oo!z{D)|n7V^!y%;h@IaPfKPO{Dn(*r*;CtM`QsqG{DNSH~jaxkJ<6? z<%7oo+2Nd$-)=J`V#E{C^KWZi8tUI!*q^f3dbusTXhhL=T!Ekcj7CbT2>AzYRFmHw z217^Z*<71YKDU4FlHSE7?s@nTu4A}`V5R0p3?85^v%`b??n$BJ1qekd9tzPPc00CP zrB-XjAMFw@@@YaiAYUTMe}yj^E;)*MUrJ9L=AM~~kg4W`QYqgu2h~s>9i?8}hf{&d zz}*&8yDA2T`y3#qQ0Q_!xmLDXGO$y##f4GA#A6kQb~lwLv;)7}&)-9NdKJGg2B(?+5gQNl05xSVY0e00 z!qD}jg6nO}3RCTqJB{B$UA4Tyy4F0?KUZ4Ter5~u(5rY)QvD#>>6VcE4_bgqC}loX zUZEMuRG~1lOhg#K#C$61&`dPxj}3r(PKBQLtE4pCT6}@B;6+>Iw@kOtYviF@ek2&< zO}LJRQJyc3L1}iN>I?e3Cq~%*hh=VuDS4sve3UKT!&G>m@N^7jb*+rr4$Ys!n z{omGyrA9ybnL7=BXuz-~*mbPWc%q7_IQYxC?ZVPAi^C)#9N{(TbKVqBhMdVZ~wVN zj&p5?!$xyIb_seXdctA4tU#NJ1s0+X;ygEMt+^cX?+zPe(wfRiJd!|R@NxbjcS$Bd z8KfP@?I1F;{}|G{PgI+speLMQ{rVxT%Ka5%msgPpuHuaykBYIqW2=icht}TM z5ecZYYHjs-i#I3DI|0yLDRo`l5QbJa=teTo@gf{&)%tDH#`!K6t+KL&%)^^Ec>xWw z(t|-IZiQ>3_-vqNk83aMh>P>B?4HG|O=0DikZRPh7PC;IeFj{{yIcjF_?xuCr*V*ae zy%wKV-hRp@{d-*E?q-;>Lfup>5bEvi?Z!W8fI^pNv)Lyy7nHFDd}xBI0aoZ`HSojm zjw}T6+mK50O8KRq_auL#t`AnRpVh3-%Rdp?FKZ9kc&+7(`YwbaxVzP(^|T_V^mFct zRvN6x?_b#Cap1C*Vy|j{wTb2!z~&_eX$tH=f1~{%IU_Tg;d%?J95(So@0$@;G3jUz z%5zNq0*!eI5-KIneGV?GSmVo{Qr%bp*;^;IDf9t|+YI2#2u)lshZdN02)&C(f8s4T z^*H;ds5;`G-8o*fe2mYj%>Bl<|3M3ysJ1<86oCtL`pl>BwE!}1B!Bx^owD5j`V70< z6;h+#~?;Gayy8hhPVs*b~zL_KrcuGfP|D&Ksu?S5w*<$y)g0 zUJF%5k&@O`-2OIq#0&MKnX(u4nS2y_@`pi6Y;3`SuO#;W&U%?gYa~t=m_jhIyhzm# z6`v((`1@pampjXQu?9#9bZ#`6^wgmA^zFG$oikxZ(dLN?U)nbY<+3XNU5m>9Z!+A_ zV&@Ht&-IP`u5jA?f2@Lu(8@$;Ar!@20O@hAvw1`aTW^y?Tr(1Em(4#2>Jn&**trDs zkImL|Z%hvbw$JNw4f#|#iW&tt_ii{imolgsCMaNyfyPFNxQovMuSO0^Vnyxxxg*GR zc$`@_=A(cc*B!Hy?L{@<)vOetKLuVh&AjO4XFY6HJQS6w$V};z=m_ppVjWQpMav** zRB+e9XAf3uvCV%%m_mundrRRaV%W@N!vq`Z=xput(u~h1e*>?E>D2&&#o_@*Xmrz3 ze_!&Cw{;EY*xEG)s|x4;y*@SpE;7G;S>?hQutmo_Nx4@5-PaeK<2^4iHjEMgcz6-} z9N$&`i7B7YzhuNCy!s6pLAia|#xjuy=>t|>oO&=Ld4L~kNCfg|*lTenp&`y|eD4N`Pl<2A@O&~kn& zfa9JP@=qwzHYUFtWlAJ#3Z=Z0HvX7YX{Qi-@(>sp6hJUIv?+#$CY}3|<_BbCQx<7= zkZA*i1wPsTHhDcDg1WFRKKZ8<*Y$9s7`K~<3!cJfRzG@=0Ba?#%P2wz(LWYpDnS&F zWFq+PFkXcq4`417ZAO5rCb>+nn!+2cuX?r|(cLX#DedJ?px6?ce&!alaYlx)P$&Eq z$(b7J%YAY3sbsd!KgYNw_PmaEeVzOAxYk{ru>>=lD8HC_(x#Ah$(n+{^^B}o$KA7M zOSK4)?U|f7l4EyA+4NfAb#ti}>~`Kk{^73$D4~+3;gadG*kijmhQO_I9h8_rRbkeX z(A8oSxgnE)HF3@;UU|`ZZlY$A%${75s>DVhl&?UkdzE9Ui2Eg;UeM9_$_FBOSN~(n ze3ny(YcJ?1B5dy)O4d#t_<)q%wNDE3usR19Xhg^D1a4@?{T*15IB`^(kq#GBzsqr9 z$&i!+JNU45`gJsp5PdYIbi}XZ$E4v<$G8e?_qng+FLInXGlER)7hDy50Nwxf3d1`_TY=8_ZmZ9bLP-s-&90xLVGX zaw72yn%Qz^RqbbpC##ZAkOzT2HUuOzlzT&r)Bb{cxa~`3mua*<%!G&k=e``yK)ZfQ zQB6ab8-O9GBf)k?JQMY4m*Ef(kvfXEBR8+c_12h;ssJb|V&d_Iv3l1$v#RfN-`U5u z8A4VbH|N5rkU5);#tW>7Fo>Gy!e%~xSa-sH%x;|DYpoj!g6+Sj`8j^5U#n+++S51~ z{&msj3ltYK-?@S@1x3ki9=fS&1CP=W2)6E_HpdvnBAQ+S`5XIL%Pvww8T9G5d3}4) z*}W@CHS=T@Z=a-5B~bnKe&H{P&Kq&wwRn`cwNJLQ?pN#Ux)Qdf!Xz)#C9$l7rZKhO ze@wit=X5DiV)R9G00Kx;(gPtEJn>~>%_C)AY)0CLCY)0QW*-H4MZ#YSKd z+Cvc~+rm@OBXyEYp86sW0Y4h;h{Vl!^;V?Xg&qPwYsh2co(jVt1rK+X~O-F${zM!^fP8t1ymC( z6(#u;&cPn^!ty9Jb#=w9B9CvauGq|hW}w9b=hCSBJB;rgVr-y{Q!V^YC;dm$-#>hE zl+<~jH=O+W-t?$*{LuX7_i#k{;}{n97asL9fjwSXP0JcR*X}}F*Z5nw)X;jVCbI!L zcKai7ayxjW_lt-j2YN*w!3`5!dm?pA7^q$&dN2>(!SzVHntpOSi}UP^`R0L{!4B$M0l z=#^i;XwB1{2DGQ6_Ve74g|;GQVBD5fUQWr?1&zdY=*!h=^Rio)E45c~)pRQ0U+sH7 zXiNp6FQ-eVCM#0H^e>bthu$;3*bKR=uPayo6*E0$A}i=eSDN@1=rM)`xZZ4aORj}Y zqlIh>fYc|b2qEDrFKmCp>N6=5y3|=gTFUA~3U@ZMSSHS`74YwnL;PIqNM`Tjj>fmS z(fNcfi6u3zINI%IPcMx4E9I?m$I+OOhA}oaqPdSS(Sh+xp#ZVF>$XOm2KSeBREejK zSChW=|6E@RcBIh14-B*4Hy) z*AAG@s-;DNa0>EVw=DnUeOZweW=_CQ$H9sa3R|ozr>2_IqNq&8-2QFv_}L&_@L-X- zGXpdps~X^-C5c7an)`6rs_W^pMA2)JthlEO!+5C*$Y72$0R3}9P{%)Ff!Y&z@NGI+ z*ak@$UX#$|bAss~ObycWwHJMSMz)n3TMrN52ndHF2DcH!_dzEkiv~`#NOJ!e-O)i*;l?PH$X6Y)( zJ>`*vRt9{jq}aFLod4W(jA-L`6tL*2p-7{oU89*4pYP&YFWd%0Mknf6d+5T;dI#54 zyy&#{h?xQK0#V0A?*9U-{#V)YZ?(>#5HlNvEQ8u=+i)9-d!a~z zTX85-T#CE97k77Uao6A!ch^AB77y+kq&UT`Kntbs$@_iB=FIt(AIY9fcCs_ie(vj9 z3(KH-W`1*(Quv+^oB0y4)JPY^{T>ltLv*y*Xyo|TULTw3kIdkfTg)u5$=|wslVRnE40`+!a4IYp#uydv0CHd zZHrvZh2*~VcUjDKQhSNxa`(hl&)QyIhcyaS5hb7y{}bEXVg)@bv#ZO!Q$mZYwQ}`7 z5RaFf)Bgi!aGjuoUzO_O&;}ZK;jr8vJDfqwI5kA>O86&4D@|Q3S`d*4nB4M%((EGy zb~|~MXk{WcY0IuEUiy2K?|s4QT?$L?~nV; z{4dcVs{S0-_Oew9Tx^rBTW3Z;waNqh&zs)JFPb}n0#nT}%Qf_yExo=U8^bd^rz=en z+VZqr8(k(4gFEXok$zEUasVVr7|BkEYZ5a}Df!htQ=eLpQ{26(28<{z?tBGtIshHy zvy+_-oAY|*mi7*1^Y#Pk1~bj?4AF_2C|FzO67M z)z&(Hq){C_7&OxvaaLyx4T~T2;M?|0@v^$|%sF7*PKt*EVaWkR`>N1D$#}xVj>h^eI{p?70275* z(Lx_3QF*`x?Zv7>NBAB|*3;{aGHa2i9FgQtpS}qnTPv=3k9Xq}nVtS1wy-f+%e?k| zy7k}d<3Jo#AhNZ$aL>#T;XH86UP-@}p7KtdTMP1WVlGeej~bh2BanhUOowy#FLb-_ zE#mbYT4Hds-d)A^%6XZcEREY|j(XtvSweftj`eYiyBHfJv% zeIjfx<2qBe`Tqf|9~VKL|J23Te@+sDo;+uFr-^@$@D2XJzR%aL06;?oov}3I&f|?M zW1Q(R7zzHGQ^J@)Wts-$aN{?gZz?-(Z}*45`k>qUhAAx@97HNVI7vw~@}huT;{f|( zh^D<^GykRO+HX4_$5R$J{%_`YKsYTm4y*g-m@F?WnjxwW9_*lytuLI$@nkJfn$A8>1hQ#W?c6%Dbn0|NWce z)kP1*-}Y>;3ZJZ9Gi>7sHo_+1gGzZ<7&O~aQ|WYcM$C6`BZyTIr=;w(gS>_6Q@gR@ zqjg6&$#D5f>ktU6i0L!%F=o#E@$RUPqp#k50LMl;Cxh9SA|LD2N*b)Gwi^Kp)Qs`X zY7J6ER%Sk#v_E#!hzjP}dD111Q|VTTy?f)z$Dlx21P)tmxdR;MZGu-BKq4L(rvkK zeK8g-5!Ea-OANi~6PN?>}s@qYRN0xWbz|b1! zAZ9Sp*Vv4_M_WzVY^|{VHq%d0}z|;qDjO=mU z@dpLwj95nMGuXuFcX#IhjOh$FRF5?Wd;FYse1=e(H6cpBAsce`{2fQqwBhu$Gsfn# zV!vy-&KWi9WnU@M4RIhiTKs!3cR-OGtb&6_fL|Znem>A}oJ;SQnp)O8b~ox}>}2Qo z1#3g9LY#u;`h_`pW`)5gd7DUocd!`g>sJVs>&0=p^fHI5ZdsRXlJT8D33?lg_}9!T zGO@4UC@@8%SvU*}%%s-M`_Vub-zOkqgNx->{Bs#r;0h#^MH1hEp#*NI=)c6nPl$5c`F|>1hDg)EV^iX>L~nx-VI&6 zc&#YB?+7R^($?qTu!xh1b55O@5U`N@luN9s4;OkHBi)q+GGif-#EC)gY$OZII198^ z^g@`x#u#Lsk)u#T&h+-+*ws&d1nf2W7ZzzIGX=J00{k~wu@-njA1jEZC9-V4XoV}9 z$%G%2+sq&+$h^nK#76MJg#~%=HcHaLulPjQr{%mD)c?lV|EHSqyE9KhdKDJVd`xVqRy`ra1mw7*3a) zA1g_V#t^rx?Q~H8zPQz~DO$Eou6hrn?O*M03Hf(=91VL=snp74hL!`c;vK`B^~rp1 z;hf{StL-2}iIg6Bph&$yC#YxiLGI|smhu%rZ(+J`M+QsDNL|4+C)`l0_bf)x@+l(p45q z6_Gl-yTJ5p=Kea+$u2;E-qmhLfrWtlos=_v=fS(Gzz7F^4ttJ3fE0OPD2#Qx_z|t) zJ!H8r=`HDbq|XP2%SjiQr8|#TUbkRvQ4}1wA|RK_9Sw=AW!_yc^Kk>TLM8)uTm;_RVB-cF3akTN>nq4_`3d6TdbK!?6I+;D;50b z8LW734OWD)*t_~)$D6n};7SdFJC!Q<51v6&o=AgAM~m|R9IPn|_`fD^h<9TBckcGz zuihs9NBgu>F=B<8T8))cjDVw}DrhLbAE*w~BG!NfrtWAF-P{!q8Gl&|sWk>QP8us? zX3@4tGEnLBZNqfHr;i%YYyx%(QI6yvasr=k#x%aYtx916 z{dGJjS|71XaLW1F@QT{2bIXZGbmGk}98dk!aj;L3R+3={?|1zgA2Ur`*6E#AxPi(r zdpuXIX!enlY%)=y07={JK0*CdbgZ8CjwsH^(D*KW&$pH7T=rk;g)E<7TzFq0VkC zBy=}6d#3l+QMJZI-NTDAVS@$g0W?gxZ3Q%we;p~S%DJUE3-rq|x zPi&Oe&V>T0Lg=id6jT9MreXyF3=f|Mju^VaJk`BMG?u7H9xCU?8m$x<v3EyE}%dv6~ix765Lt`q-#`<}lEW_8ekF;U0dh15~SGqGuCRrB2{)y7)?73(f zU#&lXg*?RFKP$59s5V-P&}OEUMFf_`Onee8E^mM5}A^bm-hg~S-%$|WLXIJxC;E9+HfxK^cjfbB=l z8Y)PQ_xTD5wo-0%Z;@T}djFeP%>hBGmzn>#{R;PYRac_#Gl|HQp&p}mCj%dNWc4EM z*xw;&*YP0S-zPOxIPOyW<7&7DnWraut`RipDkicEZ1i=^E|aM+5%tO-J#~n-6ikc2 z+En`0uRg9bncguy3hqg9{afl@EXtmCZ13eGOiIEZM*Ttmqs`49$`-%@#*5dHJ)bf_g5gyV zzEPE3HFn+EhFZetN`)l5ByOiQLHx{8nW0$qVuUg)US#=2YV|(#*IHFf@IGAVskJ0Y zw~U3>gn+~g_PLMNth6AY%e9HKeEvdaK;~i80oYwA>8kufP;=Dk2yZD{M$6cb=dj{G(yLPt$|6uc1!1du{o@DLda83Q7k&BZ zV7efA1y8~6`DynfW_?Q`8#-+eC)Y9)l9TaX+;Y56A+^H}%d$)K!etIeLL`!;I^4(( zCi^KXtx3yMaIuH7Rj^P=K%hN-loSOj{jA{KeNB1t_JTBT37+@DhvhKKRbC8>QX`VrDN|Ih#dS|{C1o5}V7g>ZK7@xE z-F2MENJqG&PwkBbe7(HcJe&M$3-31#R`em7!ab*YXWjei{)ZP^Tz>eA&uoRIA;-G& zoUt^j-YNl?uW4at;7|7!W(8_G|EeRXSrb!Q`CaPQK=3k#753ZjW~bRJD~lLWtu&Io zO>to&Dd_ZvrWdx|-Ak?(S$T3mtVcx5~XPmOrv?m8 zofnidVnW3B6ru730m}|eJ_VdV6s{o;?7y(^rp^(Bva@+lIUdRT;{5@~D)t<@- zj&?=5ZWs-i&u0cCjq~ShYGmcJ<<(no0HXta_CE60{aMFv$XiCIStQf$3nOAZS$Z0; zGO-iQ?Pj8!@s^(Ti&}b?eK7WVBCy}6Ny@Q7x_-?du5ZIqu-$7Cgw z6u4|L06NgTW)ZqtN0H}%cjc{muDwou88txAsF&K_1Gb@MvMuW(m&`R7Q{1qA1~Gfr zb=T61ea^S?4E>zH-L9uR{_f)axUB{yA1#P&y(0_sk`d*G-Kn|@!3mrwkmAp`61;-< ztf*w)Zk%S<(4#@amsE&2@jSObJMO`gHc9wNZ-u)z$H{sn{WV^igAS~9qFgm~UEYB& z6$$7Ha6+cih|o_8?;Zc&q|m=knI{dzT7@mArU6m8q}3qimZbf6wwQ@h6JJ%c)t6Nu zHX&nUze+3S7)jb)b}BXdtGp26Q|wlWLrX z#N)*XQ}bn}>>J=}2|b*yRS<>kQ1Kw725XIY20O=9z?<=ZF{KQ-9Uoa7sX;jzv1P#9^Z+Dr#m|} z>(_=K=Al|bl#CyU{E_LQg$@Re0>Y7+TgC&_-MvwAN3;*&a#w2m?X*Td7)S9gTP&In z`TQ&BXsu<-jig%bkgjCFD(dLicaH@7vGH?HR_aIcOq}l*1KxHi+y2<(#*o|V_lkDq zLV`6F(7=hc_QtCMyu4`Qbuex`5(9RA+wm3H)qR{S-`wWQcbyl_kxd7|hs`~HuwEpW zyxo`55}eYKVB~C6KxYK8(g}$=h>ch^k@^og72*S__^fE-E!^XpE^G z)IBJ4A9y30PpHT=r-gftV}(qVOFV#65_X9(h$(? z($oi`+u-{4q7nFfU__!@f88{Tt|>F=@^?{%$xl>SWK zD-xD0Od^wzYF%C7=6T)J5Dg+=Op6Ts(f(KEf52k&%@D7(hKSPi}6;}*}yQiJM0q1JC#aIt$O7k@@6pfh%0jeN(4$rrny zxAM-fbIaYtd{ol3?^jJFhho+GxNEZ*Z4YPM zObh+KAX>DvECV)HY^>_ZP2^E1#kc_rj-rXFXPQ6@I4ud~dmI=nGQu$gMaeM4GTX*X zOSMKKsHNm{Dccm*;9pvNEwtUyPzwEj)@*K$IFV}EVRZpKz>4R9J3b}Ey;%@w(qz`5 zC7d^Q%$g}}fXbVMTBX&;Cdk^xs_4fiI?D-+AeWAFI#_igL)AOG9*3)>aaKN7_)Ga-B%@4f6v(m3XRTjANW@$-<>>U z^J3aW8A7d$ImL&@)I36JCVnbCs#x!li&m-Ak^^MoekDSP$v{SA%KSAFNhQL>R+{Zx=rD%)=5AQ$9}EN?kvhBs@$FD&I!rotdss-5>O6Q=})0yLSR{+G(G0=lUI zw^wE5z87El7g%D74$G(gEzC`;+JR*@u%~QqV*u`SfX}?^Y#xLZYN|`@l z+htVQZqzc!^zukknr${3zpYO0YN1960}Y0-D*|kxQa|UgO+@AROirZwE%Y(=D5>Ni z8;3uo58aV1sc(r?GVu+=7d5=ae0|6Ncb4{FCvHajoIc-$DG6ei3jwRN4410VsKNVH zTvrE@`yv?(TZQJjNN9$`P&6m26THyA#Bh`~X`>vFxdka@xpKeB~# zEf*p9E&Q-ik&6~l*#%PAeJHLrIPqMQ>$o;0ux~W9THgbJeJ^L7i&U1E9g-F!7Ji@r z2SgqNjt}DxT|VPZwaLXeBui7rhIJCfp(QI(>N zmk+PWz3k*YDA3#jQB4vL&ofhjZ)O==ah1Q)8WIU(0#MH_Uu6<{U~1RADG|gew_D^> zzFucgw!d^0ZZU4{{>3$=-=Til0O)_9d10O=&Voxm8aji`J3QM+R10Z<2h~CsHuym4<)x2t^eec*9nq!T` zazy0Rga1s+t2B2n?!~W}vS&44hr;$Z4$6-y0{41g!6|`Ros`lTIXgGu?%Zd`dTp|H z4iBCVX$ozo^hVKsAk}hLkz}>tR!3pfeBUgTL7+S@Bo_FGSv@j@`=z~Hsx?)@M)Y+6 zTEyTlIRy$VgfY&q-m2V`lJoD}ET$98cdPlApWodPd2IBUrr%P2W85ki>XMNbGaHQeN5gLW zBwL?sq~WL6VCfo{j5U);G@hEnw!^AXsC8H2`vkWrOZ5Fs467m)y#_t-HDd{GmEx=} z2%2c&fdJt)=y>vbsRrOK56O3L8CTZilURhSU;bXP+wrTC2@#!kH9S7e9>z$(f9J0l4hQbY)q4DXG8&Jwtjs z5e`0Q@TrSMAUrwOQ?^rCVV%NFNF)>`SzI?rtuIBhCHeHNk0NjA%P1!GmR@j;LS5Ck z7rPeUnC9=KMR>W5Xe+J}LqOplU4?s;5Y=;GPxd%!ZI6F%kdqx8!Nxq*~s3O)kl`u1u@fDC8G;9W_4$R zpCJk2eJ4as!-{$|^DFfw!|v&UAPy1e!3w@7)H<%n-pGbZeZPthW*0K~+K^0k!DQUL4| z*ZFx77xc^u(Y?Qv`j@d3kv3wK_;#^LF0<0u+X5e<_+Cp7e;wd)tk=%wRJG*&+~c36 z>9&Ly^-x3@%BGd6BuBlwFj8%%^uT2%?>$MwImF#DhY<2~-oCI-`L1F&wa-dmd$~4; zQ+R}{d7R9!sl{tCpFRv;PD!n7-;fJ#hjlbl)p`n{6G03(8-5$~vOxP>kXhn~*_4YoNG%8V0O{NN@G;70w>t{I`@zCaPDPR>j? z`ZmFo%K*?~Q{NF1b!aG%rm{V6pw@9Kswqz=63T^bMfI6=wX}FBYkF__@+fcmvbakJ zOCzyzKD?YzQ0&xlTcQ0qU|~TPn!H%bzmKJioct0>+-4Fr{MHYX)b%2Fw#Zqx+|uFc zvt&j1?Sx^u00-*?FvHxKHbs=+=WSh{Gp~Hjsn#TNsXARZH;jgv>T79Z`(gKHf*12? zKA=QYca35M@_` zcUQP#AyFoo%wZ};=F_U2jV${xDl$VlJR`na7m}5y+t54Rtx&3Km4Az>x4IX=(XdVz z5U9^RHj$7Hq4ICQV2a-pFDGP=0}HT>m1n;m=N+M_USJw7Y1KcI%%?cEBd6=BZOdn7B2SrUpche0 zo^N#JbOE0Q)z7mNH?wdYX!5YgXyhLH5$>NSF{U=?=BY;N@eWoH` zBZb4k(#2|i&);O?wtXt{-CzK%xCH6NEnkp2fvL$>(9aO%>`qpK?3{V^m>+^O!Q&0h zk`$ieIwx9OKd<>6+X~B(DlCnGgH4n#YM9UQB^AaE(^&-+1jLzDk3Df*!N?3zvo&MD zpVNUHa$A?@wjFWHWV)<|(eC(xSA^$rM4?!rTzxSM87ZRBR++rRO$?*6ny3jdu|8JU zKY&MmwqE{+IrM-g(7_1?nf<`%$KNBpGoRHnU3avwip`NyRJ77^&;N*Vh(;%&gvGy) z<$8A?=v+kgZAH zJ%w_KP?f?4*;3&P1@XOhe%?=OYxBf-Q^CiWwVoKOWJeu+@~GGWCS!Y5gz=ps#0e&m zHC|$$Z1YOLN7wI^as$&j@mO$Fu*q41CY%R9tvbh&{x>3!tfO5ZpX<=j(CE{dyY3@ua41QZi-Jc3O;Fd-zBxZ*LAQZ6T)qNe>!rCw$|BW+cwt0UA-*GV*J4st1ciVox z-Y`Z>3*YB5c=lnjx3{zXv%T52on5pboXem&F;j?!diBCAZYOHcEsor7C==anaRI#1 z-#F7e3K|7Qf)L21+N@OLeyd#9g18u_;B`E~w__hR?&{LsYtu~=$m>%G?;M0Uf!B=( zlbfX}-mW^ZMzni(K$92XBL4c$9!a&Vto8|HD6;>Wp#ge)5z2_V7{eov%-m*9s@$`T zV<(I%;P=Xweh|5S&eR-j>P{AHBzgV5c(Aw2!V71mZEAgqgvsvhZ@@xx%< z-Qnf+KL97)#}-J)#)XB;MOSM?`k9IWJkChd4VV@U3cr;#%DbCa7yH&`WbNCu_!#%( zg0M7YSq9wBa6i`hF+Pnk$o+8c>PqI4WVg@~I(XVoX>h_8(S`EwZF6H@QO!etmUr;S zAxm&9mTxU39%ZcfKrBBvR%z0IWnbNQPTLpvv4Z3Oj?nlAF!b#~H|N~NGDjtqCIh$R zW)Jo+X&v>zlr3jCt?*QF;At*k9cX0mLm(SPo$P0s484P%&FJo_e1##YKJQ6h(zDui zFQF2>gnR9qu(acRyDOuXlMavf&RJ(Ue{l{XpO7~$)Rf5$t?m3J**%Ata6%N$9aOD0 zx76`Us?0>e<@y?#Ty7$PJ)UJ(V>J$|*@T1EonUFPaD{A)hFw4OWO4I1j}7B=$y(7e zI94u`Mf7J<(iATAbga2}$27t6K*Wa=&-_)f#1GX{>tQrq*u5K|KqdF5*`HeF5Ip5| zXj5}ruZ&kLlh~E&z{KuJ{@q~jeWo0MElo0Y9163a4aV6CsZLRa#BVEm#}Fuao^{@a z1R+pNn@Y6}cn3VL+K?>zzEFvW)KK2$gu z8%aC$4wr-QOmh=RK4@zgV_WB|yuQRUd36v9>p~WsMh(%sHF(?F5g8d&(;f7D0U&f2 z^B-|vg5Qq90?pdEJCk%;IepszlJ|GV@$=n~=o?~Nm2>ln{#2b5E_ufYhleZIYea%_ zOq$yd;WVN6?R#5X-DXl`Uj-q>o#QW+;7>s&fl&nF3pbT@l=)TW9(|)70E^R^xeuc~ z-55Dl!5d(`D6SpTQI8!8zwf3=;6CjQZHP-HO5M(Zo|!QOFkhSAII zPnrbjCwFrChvi})`@Mof33`&lh>jIH$yr2(M$GXinN2wf<2c=P3ySwv0uD8&17ogh zYOir6^U2~sZZhed*9h|@^y@c+_lAf0idPkSI%@!slqdJ`h~EOD0q&&p&eMqbNXKB} z8m-^|=apV`ihYe^!V0#-pIAa@Ok&8dy>9s`W0?P=<~@lbxmW116F+yp?+i2BSvINO z%C%T|0y*EXy4}@QH{R zZrK_a?{Jw`faE?aU63F|XZg2`|!s387}n?!Y5wUjwJB}yIQtcf);806dj%l=*_T;n)QG!im$g?xKB0It_7u+=yM^U0u3E+LqBI>Qb8u1FJI008j`BL(WU=*71_N z>3u}CRt4LHZFeyh3SI_T=Ddp-^~!(JWro!GTR`K;%sXy<-rV7N&7v=P`qvesY5@9? zUlqs({Ai?_csA+DOe>45Pb^VWAb6m-(P#M9)j^`AzG&T(W;IxY#xq1eTex=HI9VaZ z&}|1cB)R%+?aALf%Ds`ys(Dh~fRyFHXzZ1fc@rhrFN&u?)vl?nh8TP`x|RiSgm0MS z9%G@O_eaqc#9L#_70qd7UUP5QoY^9JfTDN07kq}~D$Um6 zZwqgw$ygKVcJhnnbgza&`GPFEjp7**Po-&|h`72uQwIZWz2<0jy$LT4K>67mlOzDKC z$MXVmHizlbQ_;}eC18}N?hfJPyM9-^?+dueUymoFaf7?S$E#HV!)%{ zDRci-GFwtXWR@no=9a>>97Zw^Y1jd8@?f_^s;Y~1%cjyTf>r3dDW@heTgb}lo8@5y zxy?5-c=$!FNeB1}tWpnq=@yN2o&2a75Q9S7d z8*wMgW-`X%8%&Hf|20#9VHf@lxaZTvya&3yXTG#;JsrM{w4Z!H43F@O_{q;vC@tUga3LS*Gx3O*ix#;lOE5HY|L_5YbbYCvjR~cQ#0NnBi{t#N%l;zSgSG#| zgavoL-6xO4hv!vAXFC^HwtM>yd2E^2$4m@_pKUZv@qV0KV5<|(Ky5FX0GYV?J1J@& zlAqO<>A!*P!=1sD6`|&*k{99Pnd%#W4-wg_S(`md7Yr1a$dhMAS*6ELJqa<|d z7ktJhEnhSi^Wey2SvCw^g8ekVLzn{z939<^W{d+YGcC@T1x2z2_tC#iB!uWF`%ywV zZa2o+<*f1KS-JCft^G^m_H;Md3L_;fi`pB0Yi2L8f#^Y-dinM#!yOCE2J6 zLV}alkD|J4S?&JNZlh_}w%Dg1EmI8;fkfnfA=qcupXf8q-& z-p9VOD;k-o=87Pf))pBLjrTYWVea#EfJXTQvs1%5)j`+4eD7e})d(i&R9Epv9{+r zx(T)~)BJzo%=;&^Ucw;IY$OTIP4Z`>9v3VA0w3>(AB>7CVqNAHN{!o}Opv8|zBW0N z@F(_eDNNPUn-qlZf9R<2s@Xs!1%zz5Ie+sv20EQO(S@K{R1LThvg8p>=`%l*31Jg{ z*S&yE)OQrH3ukUl+u@$;8yj=#5Se$<98V@LV)b~0AYX*2^X%duot{q=mqu!HIs%6>|LdvEw|`v!SrSRqhL)^AggBhjNMQ^dfoz4MzGnopiK zYqQ5}B#!wDGiByI#K@+%A@C8CcG$D~SGmwRfO^aHGf}&UFC=kls)U4}BlBuhus+B| z_!5pwV#tx32Me4eOI44xa=#U9V1Yk4?4H28jR^-;1odwRe&fA#T`1^=*uH#GgnnIY zjFrpdn+S{1LI9nJ+Y9fH@Ct&c+w>k@jZd|hu)S_9Cnj`d68hPshG~P2>NSJ!AysFx zH9($&bNH66)7f-HzR4=3&(`q!IDb^tq}S)ULf?;6{eA`C@kHD7%%h!Djs99;D?yFP z__a5%ld2Y1uM7uQZoI`f*Xs{Y2Si<18}VM{BN8~ql@IH#vR&zSiW`Ykzh-zh1gje> z?C;o>g|lo~x$rP4M}utJ?Ap47OFG*XO9HGnIMuAIHzo$}N>mSvgI1ZqGli20A za!{NyEF?s|*XUif5gfv0V#;JBGjSaLiy~i7#MqSD_MXkcPQb|FEprSN&6L7joj?tH zcV!ZDdrrB?WI+*{KJte^;ws_`$c<>rRMhL#i+mSY@Nv6G-fvq-{>d$SHb$=QMqzL# z;-_MzZsp_U)WG0-TQ}?8%4`9xEpwIo9x97g{idTh8>tuN33f^);Iog+isocrU(D6^XiA; zdXIkqY!T7$&s^>yY-0OP(Fjg4Y2wBhnUqH32$tl>t`R#$>`w$2uNvyNl;iS8`_NDa z05~4Ed;!Bv`rnUrt(Q2gz8N!R%A9|BIBp)J{;u6-zT%z=^al*R!q}f%2|m3EQpm?0KJj+VnI zw|?!3>(SW@?Eo`ZW@;WW&@g>PQ0Dr zK6_}b&l@ja(;>zdJ{I}{$d@ADR7nb0U=E%YImQ6+zFM)%2a>nRTc1t?-ZpU8AGj&G z1^7KLMFp~kWpUFaj)l$IZ1O(o)J=J>*$eo#(oCRQa6`dYWigz6KR@6`@8_hL_-?6np(1`y4xB^- zfDXa|TooBLH?*+Z0n_mI!}chax?@d>eYQm!1L`TsFnz!H#o$(6#WUFeeZ_J<-|pWx z3X8s0#x3s2v+0W)2Qz9G{JES3v3ebOXc3c;{a+KqbyvXjPa_}^n z9Aeiqk|6@J&sS#fX=0q*aEq>!owLGHTs9ehZskzA@c*CXxBg#&?&N#gX&Iepdj_`R zMju*9@y(?u+cVDrymVfZ`Xmy71!zEses)YxE_cDHz!jD2g1d}?`wetQXyXyar`2aL zcFQ+?gk*EFr$`TC>7m#c6wf@oaHZvX=HK#IX2SC;lpEc7d2!s%zP#B!r}MP@5bWGhAVimZG+7 z&s{jA+tZV|-yN+;%yj@9`~##G7w;-p^Es(*;+Yp4ZL6x7T9kVvQCS>q%_NWB-ntnSzj4(~8z7T7hUWk`Ty-W%>FRQr}WO^SJC@fDyh^BDc=&p`C6||GaATgq-otCz# z=Q1AfQX0QvNXe14IZ<1$U;W%NP8BhEENi^zHd;b4MeCmjG9uBZxfOY+%RC4q zauT0sET4z0kITLbU;q2m$5&b6hBEHvhYd+A5EN)e2eAtfDs286EBpy6?VXM~`~DGb znAM5!YqbiC7V^@BRQTcTc)@$NhuHPIbvztN-&&{bdo5ADg{z;6*rqwzDu-ul4AN#s zh91dM5y5JHuaZ+LiEJcvlCW3>>0v$hAEXs>IezhJ@M#cUGMQy?!RZ-l7HLU*b9Yod zfccnW?@F>~U?k*O-xP|GNRf7o$kkVts}ZGQ!cy;=_*_Ch*UZ`=|5bE)+i8QR(eoyG zp9%S^xQ`{;*AThyYTex*vR#(b_5^u4&hb7;_tC8s7F5et!`Mc_OiFrjkr60dSEjCw zmXL%xUKf+F{&9wU02}Xm#kyOt0IB$kK0jI~>PRu) z)}8Ppyfm)`O>jKpF`fT31D+R%D;(@_^Sb*%x@#?{lb%6^4kp_pE*@?;@z0Iqj>IO3 z`=T#(6sNbc7B#2LqngX>E(D_HuR~w3ZS%3@AsVtCzKi27NOtcMeJFO2PWnZ4W8un~ zLAfr2o%Vy^5%((bn3*0u95P6%gWqG@_!SbPO_T%xDk1^AWyfP{?>QZ@0c*vM;-jdi z9I888HQyfGX|Y*$ZkoVc7EfLOz%Y7r3e^|ewdan(XXT8kZhN8{H%@;bm zI!%37;6fTQ^KD~20f?sCJw3Iw!uuah0-Pn)Z%6CRY+f6Ul6zLaH3^r(H^X{t*dR$e zFAkW}=CXzms-XsixLDS%YO^cB08rB|Ww7Cco;FEbh#| zI-6tU9ZM8;m$Dw=J8x&&eHgyD?qGrWdE!ev`JW2aKMOZESk)LOfZhQ+qvw5`IrhaYhh59>?@)7jv~q1RtO*6A%Msy=Z1uKhY`#1KXADX3d9k%C z`iRgxM}^*soS%D-azrEk{`|NHnwhrO)?w&bm(=&?LouhlyO3plsC+P-7>Fmkw5gQ2=vRArqsCyJTphfUB3UGl0L1NQLnF)aY%$?96U8gVHUS3Yz znR6Rm=5>kua$Ju2=WxBH81DtMEq|3FERy5=0FM#0c3?ey-66VX0Pj>~Ov>^+2hhvibbXUoN`yLmv$Ty-!|8BHcf16)QSG^ID zp49n4G#=OVtjBe?XHj&i4rxL9Lam5>PX5i8fL2YY-R`Bkh;0YwWoa8E>&SP5Ldh^? zBKG1~){at1!DV`Sxh8&7c6pnEoBBuE*|hQvsiMn%C-j6oKlV?+kd=t>++T?9pB?Qc zak1h~GUwF=gW4gKQ5K18jv<$^{la_SeT_mfM{MSXq0wtd6cpf3^Erg>{Ygk2ok-_? z*Rpl=SpBsNk4^vSFHiA&O*F`5cQ6=!9{(#!iu$dhNn)b!&YZIrj8D>sZdJcyZwm@9 z{Wi?Ca}0c8t$&JYKg`PY;HyueoEo#b32RAlzMCyTTPDtVDlgN?8f0S%Af#osqQR0B zZ1ixd5o=E$aHF5}H(;<1OZrBlK9OehtF+C#PydD~m7~0c-MUUBRc^;!Kf*`{u`H0# zgd_T3|C1^HU)3Ft-oL|3zUs#C|LjFEvPu=RT83rfbedy`%g^MM){N<*19t-Sg({P` zN%HIv3X3+X!7j;a`0Ua;=QcRn{Zyy65LU!mIx&QG-6AJ6izV`eNQ%#xjDT!`>^j!* z(|t>2*=jvbY~XZRq)fGKk7NuKPjR1B)g_BUZ2!Dnv%?a7df-<7I92bHCb!>~%NTMA z3A#nIhw8^R3(a2-&7zfBLz6O&rOFq(IBU@hEINQ^*KchXvk^M5ei0@RXI*ZG z3I@EmD~7o21jsZX4mv+X+kGtCDt_Y=$sPB(s@e6$Dc`So?1r`N4eQlMBtVMUrjE82 zBsDd?rk}yxUE)%{2_8{VQSX~Zl=6GZG#Ri7>)NY$|9UnVqDZ4XdWcS}$hXC#upry5 zP2Ms0tYEsGJIV`lY;*hUYEP|#W)+i`=MzK?`Pes-o|Dn3nj z!U18;oq2`#w;gyd!a^Kx!bmIt_C))xc`EJ$^fAVqk|MAEUN>ld4V$C>nE5^#?C=1V zC*$k2vHYu^Nc2R_idSGA7|GNyJ8^}L`D_I8I(U4%|Ap0W^gO7u zZB%9Qe~@+70a0$28UkyFr5~ouN~>s_65CSV=4Rm^?^*y)!a}c~3Pnlb|MK z$c}Lk+%2YviI*^RhmEAzZ})AL%MeM+M;0}-3h&}4A4hM2*d&_s4trnu9yGzz73fHr zo<%0TJ-De;sX9IQ-vRbik;?Ytc2%oHF}bZ~XAkoT)qOs^e@+pO?FHs@>d{Iq^?ub;p8h zC#Oiy0F%R7eYaJi`aI;hYLl6AtFdhC%r27Hj5qJg24{G_`@$6;&kZjSD?Ffm$AupcAaj9>qLCl2$=4&IH z7m9nV4%nnLc~;({KNm93H{T1y?(yMYv|ELqBqZD{Q%xT<0UE;U)L-{Jaqb%)*GS-GR35*H03I0_uB=h}lc(e{_8xiwc3PVoru{Ba zdq6YD^^W;&TFk@E?SM$bi`3o7)6f%(u2uBhDw9MISa!iZ7(~X{dSht8^obeUAW1g0 zv~ir->Tsz{I@?1qwaWw9)z82ThgI}Tm!cnPAH|1+K^o*5e3!E6Uky;hrD+5?V(3~x z1kHbM7A{sq=11+H^A{*PXUF(v`Q4QiyUPk&kqL!pH2 z^R7hswkGO8M3B(`+qxL|rna~bSp|f@zx1m9HFtigo*8B-9=}q6H}7;JpFHcDLD%Z6 ztEoH>{_%@|*x9MyjW?Al<+2`2_t}HW6dLb;c#6@l8)hna4$~Sx?eCv?sx0UoVVgpO ze_%|b4LjmS{4}6S-b5ry=LKzx%>>vUtQf-Puy#^enK>(U<@!M|J!0@no^sgb%L)}@ zxp$l9!IjgPlWm_evAFG?q>;m82D;hN@I}u)hfn*r%!@zyaBkAs?5iLFM`K3G1FFv3 z*k@zBJ{K%fI3xxdI_3Jh1B`ff#gN~UmMU&+2E`#kB6T2!JlkX!afjR=p4o;$EGo>- zyxX3}`_~eSeJ4f?u;9bE1OL0H=x$6Zb{pu+ZY7k5IYgf)np$t1ZQ8;uYzTNvO`dr3 zperd){Tg=p(or)vVQ0K*KH}eSBRWHH^0YtR7HxXC^)}~@{DMf9d>7L{i97(;k@Ei6 z$^IIoP%Uo8EczLi9?isiLZilEvu5XlRgIyixZURpZhbzd7T;7;a(&9pHwWUqf^kMU z#>#94@_Q8=^L|6KwoO_WxVO$$pT#;{f(&A4{>&_v`-q#FsYzz950(RIF$@GIFHxAe6nnRSW8-$rty?!s2D3bFQuHF|y+8abF;X$yn zAxRi~m#=H7POE%Fy38Yl=Bj!WM`0&9*;{Vx@W51BU$@jgfq!44QpS?unJh}*OA3qL z?kjBzCcn0Mn;#7=<)c%f)XTrSnBUb{0^U7<9(!MDnPnq@|0vAxL^Gt^ke#A_3!n4Rr$G1Fik8!@IMrl~Mw*e8&daw>3UN+nYZNQeA1Nry3f z7i4VIuEzIQy{W8SctSKxD+vr^~TPuA%gEu=W(SwgdL z@^ns-BYaLZUmGZnM@|D|lm3(Ho!mMH%~_Vy(Iey2CS#Q2(|y#S+^NV-vF2+|U~XUE zHu?(1-qZNlE}l%Nky{d-|s}!*~U#+gV)nR6&P#@ zJ%52V%^!&Kl_BY7s^GS$xfzVGWDrJSN^OdHSw}RMb(|6QH{!;mV?qIW-u?OWI>8>( zO}8yEwhsRH-k=n3e0~DT5l(poV#z-x;Y~wJif?|In1q(!IaFP*3{0Q}BylErc}TeC zDJ*?zD~3gRe58M0qSBhkeg^Awz1mn;hGkAvj^J+rYCW}6bE?Xj(Gyp`)SQM*?^I~F zGZil{izXdE7Lje851gN0m}23k#CO>xvblmFcqyL~zaLeUK}H&)Nfoj#Ph-mCh4O&utpV|QHw>cZ-6I?qzMJmenJ-k`5vk{wzlQ(Pg2+PXvbqlnZnz! zOKI}1jBb8@eAPm7V@cD@GddE;92Cki4yr^&CIE1~g15KYl^Ln**JMgER>*N@mNs_1 znY$Cp&45N1;)2u(x#~wlsBzwYVSX^gJ~2?&$ym}|gcE*045W~Q?k+w+pdH?{BiAmQF~@J}MPvyC*t%SFZMuv!*7s^||0vq|D<{!RfN z6uhw4eu@TfTXofKvdYdQcz@yp00znj!yZ77ha8^vgD(`+oTtIPlgtnkA(zZ6)r02L zr`TIwIT?VOMEmJE5fS-TxK~>nhS>JQ(ixeHl3TZ{(6Rk7q_MS$DYe^<81lQgv9zV| zhm=%O=hS@2ms{$<^+mkomp|%_a&~#n;yB}D;+ntWbz8N$hPvpoE6{y5?QYL`O36bk z9goTeLdm%I_L;4uZs`GznVVTO0W)nXa$ zdTU3u`FQ-dg$YD4=nUMa;RcDY-O|XjI3HSJxQRR>yFUH^SRT>&}bx$ zi9mRSiu;B)-{-gvAGk$`X8T;FHe(J{5?X+xTze$2- zPyNaw7DMP%I%D8`#eAf?y9E5!5JeQc5QIocD3OY~t@aBdgqB+lM@h>w zg0{qIIiKNHnb@`^d%vl$F{0<`Tb#r7+~S^Ixbjo=oe#?+#yZ!0S#|c5PSrQIC#~m= z($LSroB0pkNNHdc+Qu})?|J~kwRQ@P^^c0_mVz{27i020QQ@j(T=98D7eFug#ztCd z2i+rao@QsAa~F`Ir0o{Fcc?z4+rL$XA5k)Q!^Y=4P~drIfM-H%^c z#c!5v0~JJP)n(-p!V zno|(abSkN2&yIxG($V*Qgips-P(-}G1I@&8IG71@qSCrcA{0XBcPfX=j|pDTn|TW9 zkLDKE5DMMYRZH@*0v*I~2($+uE;R!SA3ylYOEK(J=R$T8#BdUQMkV)zPUWirtys2R zj9}l=APrLlkRNnC=*`A6Hlc)E4fAdXIg))gZEI>n>;#HCv2;Y;J-yhalqnCsv6iI( zfu!}V{QCgiE=%}k5L-fVN5Y3h;g~CCM;d;5p+mL{r3~6U0hd!Ih1AxmUXuRR@L5C; z-S7tfT*}H`j&Qvg3fo6uU&E7@zZJ*TZ6}A#E=_uxVK{kg8n!wyCX)RUH>R}VA6vQ> zTls~zu9ZS(aE$AuU#Z9u5+N!GBTUD%(WqW=qaZEGh>vyU-p3rPCr+;4u=5vMsVcyv z7?ED&;NTolV`6K5;&SblBQb(4LOUiNd6Cds#%!n;Vi?@RX4t&Z*A|s{E^u3Wo*ra7 zFK^ZX)b%gGpWPVURO?EHMor?eskNP^c(8m;nR@O`O3qPwj}mTbMltHiK1h+lUk@?K#*V7D6vHIQJ#k@$*Agt`y;;+0J)lQH`reh z5}S*F{=6kK6m>&=0O6NTlVBz3Wus5+^e90WxpZnmP@PB~B!FLu^LgE?jCx>JLax)& zsnATj z+iCJkC}+#eqM0#YGlCuIctQKWfCPpwHRMh=)YV69InZh!aV6ZSXcR(z$=@!gHd`7j zXDmU?`4Qt;+zav@T(1gRoAJ5{kr|^!+X7bJJKhva1Txvo4N~y|Wu8Lp*LuUm&N(;L zoKGVBc^lJH-ylVZeg88t_l8S)ZcUN2lzGV&@ya0puFQ7$t+w75-cNTyPT5UGiv z9^B*pGrvJTVvVqLKP-~+{pwnS?9yclJtj5*!93#q5Ycy`9#fI_yipqVlYCv|R063V zb;8YBezqklev-4O$$aSwnqOYxk|cWl{(gj)Q5oRlhUJV-3&(A^e^|shqr)nTp%!&$ zRb-F_Y1BZj2pWb>>B6CYc=e{YL0it~*pQzQVVcrEMxchxEoSKR+u3|gBI(^;?p)v( z>VH1>I4$UvX=VW0JK|`Hqy}h@($)s!iD#@WoMGS|hy92Z-N@oyq6M2MkW8ia+ zE~ndB3fymg3O&}muA(n(#YW3%tIAz6hR%y|0ueM9lXP9J$tcRQl zZ#i3M)icL^1^4&q%F$dMSkwu&pWDQ;7VLED`k{D$GHH`sPNfUUrWbn#$9Ypfvk1d6 zBx$a`u;*$uUk@U@mHWnrECG+=O1{T$%)L8N)X1V7!dR|R3 z>zuE|K{nfD81>S0d!hNP5<#{3&ve>E<(1?Q!G)_vwKsv>HjuM}0*1tycGtZCudy@v zqorf++>z_@jtC}gC9#VFv1#5#f>9oZ#sxa#C6iir#cunTO!EHQg<5eyEn>CVu=g}@ zt;Uhz873TH-B6V1DMn`RD`AINtBlCvoR+W%)&`r?S_gQsD!a%_@c*!|5U_ZN2qg@RE0@^k!`quK!#&cTRzM< z5C3qckqq?@;&YX`8cs;JDka}6cgh$Tmb4V7Qaj5<^>UmBy4)q)%sAeU)+F~A=-_v& zjl^lkGe1u2x#^}7rD09{ZB3xHqX(gm<~De2=^L{N)`W$K^^X0+UT+`WBvnWqPq|t4 zLly_Qyy`u!otL_hoRE~p??N{%w~9ZUi~57~gp|KqH%aqP0{L^H-eb@)u8@3A5ub7(KQaNg-@g(=4G@u$sh2 z7ZpR1&c3ds<)%A%T9%^%B%CW)@!~j2?uqVSsS7C$8h7_VO%T%wt%G!9uerqr$!7@W z>HK_;4M!+;IJZ?g_pJg8#l~+A5hd1Tw35u)mKx`csk+2ZVE2xc!%heQ#xR>=JnynB ze7AI^4&T@EnmaBbo+zc^lWHDySsk|H39F=HveYb=i1f^RI!JRU>9eu0TkOaA1xS%I z-f3HhQjOJ31)-8ee%sB5w=6d}f7xOo*&4B1JA9+F@#`K;wtiXuB&!X_f3*w7h=zoX zE<1YSBD}`l+SUxIGplqc11G;f(DEFdZ8g{M{=6RL*x&r*GY%(}?0tX0v!=ZlJI%<4K%FKlv-*WH^ga{m6Q=yqq&j3MLe29%K z+kE4&z7x*r;UW(gVhx!|KgE1Z>A*(0{1t}`Okzc=LK!(%)FfIha8)0G9&IVr4%^I~ z_*i})KPfH(at%>L`+w$auZjOmhja3oiJ8PRydcE&)~AaPMc$R+3{2C;g}f_{}Jim)gO1JgyceK`n@pUmN$c)fP=92TG_!46$9ztZ4qN z@(wDQD2mJxY#z@nWEpzQb!KCfN{Ywmzg8lHxlI=+q-o(7)sy#WEgNm<&-ug)+@!J5 z*~aRK3CIOYXS9NegQCfE9{r3N%)>7(Ejf%wCc~&ZiY1_V%`* zlyf4brI97Jh@iS0jkM#nmxf79V@wo=IIzTD-_#76Qg21cMHG+KoAUdo&PPKc(Tbo+MdR_YQ(d-Ki6k(wKCYE&3oP%{4E?h0Ic zX%>wy#V(fM&jRmAb;=QezmsFiq`>ux?3z!RmYA$qbqzg7SlM-8=GyI;v7v5XOP=r^ z2k_-?&bpua$rz-hCo6$CUJds6Bq`)@hKSmxG9+7s^jmtOYZASBF35p6A%QmwrLL1h zN(?`@2Z$XW4=XJjg;b22DH%OMM^{R=BN~_atb0ct^S#o8F%afc41SB@eKzYF{G|ly zOtj2%zUx}IXr!}VnW(kwj)s=6v|7)tjs;dSPNHf=1^JAyN6(dfZ13PFW--vtX2!+; z@%_O_&7fU}t$Un0jgjxGxwT~Y{c>`V{MS5FG@oGEW}U@>3=yg_+2~Hr*lc+=u$c>J#zHHU{hk`9%J(uZFt|J|0F2T+u+-#=c959?cZ{?Ie_+ZOfwFL7PtF(Cj9(9`dd> zza;fpP)2dW3(7GJvHm?crxv2&%O{G_KyZdZftOSx_?~sl_8~&KKNA7|ZT!>jgeB`$ys5%AUAZti4Dd&KaR30I zSF*lhVcIV)Pfcyd(RVm7;Wg@GgnpxoWupRO;Ex8uh;quLD;iv|?9ab-1EhD35~wXD zAdcQ>Pnv8ZM|$nYqJVwz8_2Xb+(qns?}D}%Kj& z6cv*~)a`INai9gLq0Hxa%!&t=A;TWE%rpMh8%3927?yLfiF;QW7giaE6_+f8q(_Ra zqDzsZV$8%oZo8sS{IIx2W)>6s&ViRA@J~U@IZ~2w;Wcj65H4W~jZ%33CtlZo$##+Xi#aOM`XOINAO`$tW z9kf8|xrZQi{H5)nBpu^V4tRFv=A-Q4UlF45N}2-%F+}@Xq_rh#ZZ_9uxdG(!W+M&w z*^K%G#8&=d*Ol1oPyD|;r?+I<2_V}NXj`UB=iY35Tf@V|=SV%6&~Y9NLMr84Qj_F8J5{3z>2kLc zctGUXC3rd{3cHhbY!@!)^mQn>xm?xf>@XCN8q<;{8)10gii!!X&5$-PvEIE&DH6V7 zsTR*12;Y5C=SFUy%SG^*(NN}8L1yI$rTz$fKvEE%Tn|Z81UE5P%=9c86F+UP z!kd{WS;#XgU{6h;6+BoM$tu?&`0GI1GhlHw8`Ly%Cj(|$hH&g^! z?E);hXdzVqmbkE_V9y0BQ+@{~JM^v$dcQdfg3Gxd?Rj9T);;;@mGeQ<&0SuRL+(d~ z^YRDf1Fsn=el%mlKaCYC_GOa+P(=EO(sPJ`u>Yo8)hz%CNSqG%?$; zQg+98!o^}Bgq$PQv%UJlx#=aiOEjHBYW&upax+Zw%7|yUB}cu!gg>|0tyNt)Kb!LB z-NiJcWtceJvv04Lz$M90GJHWjEldO-N*eFKAb2qt=c>IK8ktzIHGMbw3QAVeOgD34 zA*fl@V@rn-gSST=iY~C0T<=m>pAV}|#K-qCKeNkzzv)M%$f{}Z!V^W($9OIm^1IwG zVHZL*gj_w4)?TKzW`i{mfDVTcKWW$L}kp)&|w#Q(m*N zONE*V9JHBFuYS~UqyJf(RBnf6FB)=IB2h?#%%do-$-2B>$Ek*bZGUobCT0Zt(F$*! zl^j#1`A;2^c{J36oe^*4=R&8VK0YI4)QU+ujHY`B=+nGU+*@P+z^Js~^r>Rmwp>;oGa!>P5;MJAzz>*`X%3wIwFY%%<%p3kXaZT#z1Tb6SM z_E^AS@XfFL@5AIr%T1d-(+}$#qy9>mS4u_EpTxc@Pv+$`)b^PEI_~ssgJQi?;-8@Q zAakSkMjzo9h#SAH3IBSw&Gp1P{4gf7|1pG8W_6v_-WUK$>+oZ8A+TyfwaGjWUwOTD5eqz9jxAd=txlvXFNn7($tld?%!nKHE zUPU^(Yn`&~%I|7;p{E~pmlMrQX73jk1!qjh&>@NbW22I9C1lyf8eE??IJ+Pz z=8|3#-X<9CFMkVM*KAn2h;(N1ENz}0tWwwvet3^e4GQy_4NeZ0eVX%atuk}w>Vrv{ z@b!DO5m>n;WJ7$)5_va+wy$NLt>!dVtZl3vn@0XTMKcZn&b~v{xZhHJ zB9GVO8achs{oCNqx|D48XEZMx4<|Y!lkqWUQ|e_ZYT&)IlfGF2=tjox(%5Vu7LZ}3%8YXvAv%sinT>+`9Z6S`@zvkP@%7hh?;5v1^>5e9T@x2 zq>mQEWK&q4KYppW=_-jiecF>OT+Na1QKa*Wt!i1b&&>^~lo2=Ho2u<9#_D%1yr>H( z*O{+9kiINpNo7wPG9T_}n9jU^wI<)H@yk|^99;}GfifA8A4Q?>&G`Mx5Q}=MiHJFZ z*T5%26Wt|ZJtnj~46D@V+#~rc?dq9W`5Av!OS7U)S-lM_aEr@!m%u~0n?7O66-#54_KnVbi6*O!|7fkO=g@>_ zuZ5+=lQ$3?oU%c$#if@gv2v5F-aL@{!M`(_@&+t~XsBKLg1A$CyF~}7V{k8Sr$Eyu zRHg|iL)$;pZGfCR6i`0omfCCAfyUM(U^>v?xSBr=~q@)?s3t=hEx$(5Rb zJ-7d^vqh~HJM0NP-xeGY|Nh@7-M5*> zN&W)e*X1Nu2G|_Lv;oDP5iH~WxUy_A)B9H`2N1(g_xielIS#S*N-0VvD0WE|H5act zIy$?fN7$1(2@@9CMur?wXnVUCpS)WS(eZ6ymfwXsMSyA0C32a6gGxE)=1jyBYi>n& z%^G5<^v8m{iE>5P2vQyvuUJNV`6<#i2axNihs>lJk0D0E2V_$u?#HUBt`dOUKL((h_kJ%8%!8&CcY+)a%`sM=Xj#LH9yjzDF#R_mtAl=yjAzzYustijzMiO8k5J zGiQ<~v74-HT<=Dd_znwAO)cyEsAIwU2?`;Rb$bi)_#k`mluwR)tCP^giAO+dPH5DF z(+ih7SKMtw$yc9hGE=4+hdH(Q2QlN!qiqDD_c#-MwB1y=bU^kg+9Y8nje7NBXPjEB z2~0p56s@~8QIqg<`>d1#<#*L3Mou2?XBWkg;hvA(7YTQGdHZx2k_J&weO=@ISxrT^ zp4+_LCL@y!#^&}8IFZ?AXEEWu9XG(9`gZSMwPtu~24sP|Ev~v7xw^=s?7WcSxd)W1 z5f0e=Lr5nYcIzkCv#dq9o{G#%)>;uBIOl*$7^+RxY$$8(*Mp(!l`6AwCj?j^`U(^{ zBKjRYxn35NflLgek@OUwTV9QtmKGKB(+0DbVA)ke2E`toUzxoR%ajLrq@q|!e{FRG zX(Z%jC0Z4p8zm96}5jNi6~=Rw6>>bsLugJ zDC84>XhSMgowm?Hm>G1zd2yQIO!WTLlt|H{q7TcQ7S?_^VqX$JzvQH3BgVatD19xs zn+%27CW#A7TfJg+^ZiX>Z2HPz$3Wj%%wWBXQu?)c>rzzD`&gD%yLL0fWL3L~s4-OA z6X4iviV5Fb=ggffW^+Q8ewg>W5*>EQ zGT@pf;ggCqa*=Xxq;9CS_erX?v|(gs*{daG#P}&g0L>i`Ud78mjo=rEl_-Yt$ z-Cyj3j+#3Mj{l5U70HPkdNo;ZvC94D*$K73yhH*T^uofkO#q?R#WXrt4vR zs4wwK`b6n6`oCi?>yWdGsgDS7Y|eRYCoA0nzRQu$KtAT z(j8I@`v%`yr(&&{+7o@Q0jBW57CTP6ZP3dZP0nf;9Z=YF35iTVfSG~3ZtbL4BPD#^g^p+Ma<_F=wz{>lp&D~XRHvV@fnycH*^#M#TQRtp zQVbPf)ACn3`!PnUZW)53+-6L-#u^obsqaSb;$v*8nNkWr8jy(u?>rbd3B~X*5i8Ri zn7StlTb+N~JBa%<>*7+KFa4=ompbrn2uQgfkhaVq`e6Jf1Fgo)UM$(|M-otTLR7n& zndjiKd(re_+?B0Bi?+J!^Lk0~TYiBL-;I~OI8R421cx$5R&4@1*>&aK;_Yro2bIxA zmFh^UAp3rf))gpR>d>fOeU3{aSUM{4RY{+X`}kUtD%HhsCN+76il|e;X+@N-%PUV$ z-IrXrn#=o!q>^wgQAssPea_F`Es)TBh#7M|i}^AXnzajmW7?2>)-|dKrx6bEIne)l zVM(iHWLEta8seVIb1BJCr)4eo()qS{=a4X*vu??AlsPz{B7tMv+BlUq=1m6nl<;A% z*ltX#gtK}HKj%= zd?i<+SXV77A?yXP%pajF)t%t_$)_D2_eDByvcntmnjvv0nCc6h5a}7NslnR0`8jxA zC|~I3dI-ci=b&d}?K`TR!0u)uFF#b_#aiq8E|Ssnul)3q^mo51Xft5sMDNZbtGuFk zjGxU*0VKuN?uawveumJuQ2b%7BHH1AipMC<{|M%!AM*hO5p?-w#X6`38rdiPC|Uhs z)F^d*G<9vG1uokKZjJ7m6D(XxEr!SxU>8S={e2@fbpA}6>-}CYK!q!F`ciZuyrV|B zyH<{RL4jVSsDv=tYn}c&V&*I|%4o1R*hVqJ7pLbG&oR?`FaEt$MHBfK6h`-%anz-^ zd1x9Ct%YoWtk;)5G=WoE7u)wR1exNTy`TF?E-ky!cW+N%qfa6w41W4EkudX?c5&g` zG_dl_QAdhGX(^|7nhJ$LI>5pEUa)zdqKHhSBr7e}bl7P=tJ3?ib}4yQac`d=BYKP6{Flx9DU+OF*5M;B ze|+U2&rylE=lN1t&7p`OXm+;FJ4ni|#bSn(JOiWZY!oc2o@%FlHfm} zacn!*k2m5ITtXI4YrM6XN+5w=tJGc~JVg^R1| zGo_`5T>B&;TI#sn&gFj&J>{9t*y*UQqsK>_ zFe<@u$vfOjzYlFkK!PW;%)IrfnV@csEj-2R+|<>XiwTN>ra9jlX7N$SLI%Gx)cP4q zDml#T9VK!ygqc`*!>~M`wA2=l{KX&>A_ww&MwpH#pecIH-2diFCr_b&XF-ua6+X6Hq(Y9w17TuXa0DosOX_e}R(t%p2Jw z|G;>!kiJVUwzt5Wpacf@|lSo;|l&N#rE%GyS#H zx3?IbNv+FMT>;<8kagptwstd{?cIQo#xM(hXPp^ZV_4wBs>P64D-Lbuq?)96MoEozOoPC9= zLw@=t8bD0Rl|su?F{P5qbi}1DE`v{oGsz2_*JPh3mp<7n*f1)Z1_oHe*>~%c+15LK z`OImes|WyPv~q8gAflDx>R$WIMk7rH9B3wnukzbv&4p09h$Uu=EkPt%I~=yhaKBh( z027?6W4ZN*QdfqzX9#;-gFH)aXnt!L!z1+H0E#g1%PA%f6N==bW$npR$hQ|! zpGV)Dti<~|Gi1}kAs|MxfWlg*pFQKZQ6A!;=jWSDYOu(z0FPDEbcb|UyoF48-KKi# zD`n!FtILVLh}T+YwJwLKMC;WtS=1X{K6z;y%ch*@%XRikB@swq6;FNQK9D-}^MUSs z%Xmv}R5E(Ub0`gJ9Y3YONeInSMj6aMb(Yy%btGWx=Q>z)MZX_aJHoRA^s8QLLU=r@YoYubAP}ljX*_bKk&n^TUEqgLvK;h2@ zT8c}SW!Mh}Wc{q0ddW?>xEh7RB)xElR7l_Z@F) z*UYhX`D)yFik1#KLxOO1*NfeQo(mr^=fUpx{dWtJXgb|vPK7#@-;C{;q@z!g(;Oa~ z3TMIZs?OZllfkYwNZSua{@UBsAh~nQGH^or$d?()HR0G&*?0s;xlzfbA7`5F zqX8b=Lz!1owSu-hk)3lUKUrQlGj|9h-bGcwM0F+ksWDA2^UdurvRyeH|&YhSnKMeC#?%8Rto|I}$WHOIdU3BpB|@mBf`c z^4_SyYF%^6eU!S(q3W1C&BR#QLjcTA60N=+;dA)C3^Lx* z)R4PoA!jN2ZkJVC!h>={c~*4Vt0_(*`-9m}c=Wydq$}g|ZIQRmU>lG*GaKg)BNjnmO6(XumaBQVN zmJV17$J*v%QV#@z91ClM`H?8V4EOr#P7szS;5O3Iz@<`iNVbbebgK6zui zq^#iP*UpY~36*164b#+S35}ysidOgt-jKp|%lC>@hpsOCyq+aFD!7m`U1kF|W;76$ zu4F}YAC!tCI;J%9V(IFNv2WzU(r2rsCo{!#>00yvKV?g`vBLFC{Sspm0T0#zkfP=E zM{&f0NfJaxQkQ(HUWcvmuYH%l)-%54_N+%@u*1TfXr#BD=0;{se|MpuEx3Jq#%V`> z7+LtU{WlarYB;iug#iXPmd$GsuC%{0w*9!2VJQh=z2)C5dp8z(79gUXDkCvEHBz@gZ}P(I*~FP**%k3i?fB^sIDC`QU@SrYCNl)mB$RZ*W?YsnQK z5tQ3srCpb*YVAgBtQ}qWNH+D|mX#8TZ6K_y@@V!xZuQV)HmEU;bMbXm3^cPdV^4mZ zbNf;twZuE?5+mQon@dq(9ID9S64xJs78Typ(cxb6afDD+EdvQ2o&@(g*6wKQikDre zEA8x#O@=IO&v+98MUQ~qsEG!STaD+Wd+J)OrIzor{P*E4=+b%j_lx-=O3|nt%5eSG z?2Oda+(2`DElHo_=LSMg3MMt+fpuS|zcwbTMYw-A}{SmNwz7uU4>rnD4|7ubVoxvXvSOMrT5e^~SbYxU)vkY3}N8K(dRq z9csKQXntX#(C;cV2jk65a9uKW@%C`w>DbWY;w!3wUGcBT;8Hg z9_x`CPI|j5V6sV4g7$wOYgjw&ny~(ob}kR9DfiEws?B=w#j#+B?(~#!@<{49Q}Nq0>J@x5+Gg|D1TA-Ip4@vRB&mJgTJ=lm%XyBS z07#In=|MmYFP@ek8a$12)DO&Gy5$Q(X(`MINag zYh;b#=Cm*^pTyOBM9$3Z`-b^#9Ih1i&M3{n2svx*?(o7jDRG{b0_q@@G_cnJ)beBo zX9ZV;FBZ&9LnlU?sOW9MKh2tG@RnGKH=%u>Kt^0A$vHsa7$_eK;q~oxB1%SKeoy!0 z^xM6Gvxj@`YLAcKP~0t|+bIC~1YLBt@YVNj!B8n1zIf|~@r9AStKhrsPl9fuie3~g zFqXcd_jc%IJ9Tg!LBooAPF4TNOb{X8dff2BvvbCLySC2M7kiaBpfIKP$=HSbuWZ`5 zxtUtx%P~Vc#y1XPf2J9f&I#VDN1c6JNUK`$r;|Cx50p{OGtkDm9ni+2AHo3t`EB32 zRGh=LT>Qr|M`E5B`HB11dvl^h=o}u;g2hjuhTC z30ty2Xa9(ULq771`47YSi3c|fc{X{bZY}PKWba10Z1E2w2$H2Lpyb@TS4AJ=4i4J7 zqBr-k=Mu^(2f_Gztw31Xy3{oL1AntZLMm^N&ci}6!VQcs+!dWv^45DrONjE!!nLNT z>1`QSnmdSk0}i4y0UJV|SCg6u}N1VRppGAWb2S&K5iy;D#1h@tPg2UbC!c3JknZbn|$2HuR>+-D!2xqnlp z^kIy$lMtcvNjg81OQ_n|aIu`UwD?ZO;BCOPn${w{k#^#h1Ki_*`Doau9jA-draibD zoin!#xonIEA~aR#Lho;?k133Yf*e3rnPP0G+I!E`J3lUPTlE@+GiJmdlS#6PUIpLQ zk*{Se@522N>RC9Ri596+6=gw}ZG~kPt#f;=I=Dt8KdTx!(RW%LCq-w(&T?SEv^CFM zj_#0Z<&2ZGFUu#7pPTsKm212;&L*h@1Iy65o+7;30@q(!JiaWr3jUmo&crwxUU)ta zW_DzN-JYo*k)NSW>1s&C$D-D#;l8C9#Kk8-u6adc*H%E?mF;fmdkp`|^Q52;|JPl0 zbXCu9giElU7;HFzS|A}W;)x{9Lr!%$J^R2H^JmN;(t4P*AKGiDI(IkU zPq%fAT^dxxN}4!G!@}Jip(?&V)|fLGPbOIhl(70hjsTabm6~*cI~f0hj?%(JA_8AI zcz?~oUM;FK!#x9AaK*ecEsqEma3!5uY9@$z#bMA5ii~1|${{ zlOAK+gwL00KE|#h{x4~ly*LAk8=I-(kCaj{kJ4T(;t|FaP%NQ7EDkQ7+qEiTEF|U|ryAKs*2Z7-%D&9_vBB ziaVkFSkboLjRC&Z)A9}R|SKUxGV)BZCew14-U1390A z9ozS<3p*`9cLtVmAC3JR>-;|kE&iWERz+KGU$QCvVX{v~a^}MtPKgn~OtMBX;!Y?8i-)Jw8PSK+~FW`r6`8b!3nJp8WdH|Nivf81Dam1-S6hSilnC zVHyeW0Di{5llrj{pf$8O-^bZ<{Wt=EgDU>Zo@U3EJo>lQijR+Je(^6cjumYxD58n&x1qb1G9r zDbwm9l~c_p)dk*tWMBh3WQ^~BIoLXno&0x$kKGXXdp7+uBo6=f<30QI|I>#Iq=Uz< zJvs(x0x0WwBx{T7|2wMs#yzb&>4eV3=#oxB0-E`P$+`)9XMMcg)eaLH6*!1qN60xA;1?L z;=udMMYy+$1UkF~s+N_6l%Lk1T+h~}!4E24m(K#a5$f{Fi;x@6fojF)T4^i@nf<`t JOJl+Rn*jE>;jjPz literal 0 HcmV?d00001 diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index b2e565a6309..aa495a798b8 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -19,7 +19,6 @@ var assert = require('assert'); var async = require('async'); var fs = require('fs'); -var http = require('http'); var is = require('is'); var multiline = require('multiline'); var normalizeNewline = require('normalize-newline'); @@ -32,6 +31,7 @@ var Vision = require('../'); describe('Vision', function() { var IMAGES = { + document: path.join(__dirname, 'data/document.jpg'), logo: path.join(__dirname, 'data/logo.jpg'), rushmore: path.join(__dirname, 'data/rushmore.jpg'), text: path.join(__dirname, 'data/text.png'), @@ -82,25 +82,14 @@ describe('Vision', function() { }); it('should detect from a URL', function(done) { - var server = http.createServer(function(req, res) { - fs.readFile(IMAGES.logo, function(err, resp) { - assert.ifError(err); - res.end(resp); - }); - }); + var url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; - server.listen(8800, function(err) { + vision.detect(url, ['logos'], function(err, logos) { assert.ifError(err); - var url = 'http://localhost:8800/logo.png'; - - vision.detect(url, ['logos'], function(err, logos) { - assert.ifError(err); - - assert.deepEqual(logos, ['Google']); + assert.deepEqual(logos, ['Google']); - done(); - }); + done(); }); }); @@ -247,6 +236,59 @@ describe('Vision', function() { }); }); + describe('crops', function() { + it('should detect crops from an image', function(done) { + vision.detectCrops(IMAGES.logo, function(err, crops) { + assert.ifError(err); + assert.strictEqual(crops.length, 1); + assert.strictEqual(crops[0].length, 4); + done(); + }); + }); + + it('should detect crops from multiple images', function(done) { + vision.detectCrops([ + IMAGES.logo, + IMAGES.rushmore + ], function(err, crops) { + assert.ifError(err); + + assert.strictEqual(crops.length, 2); + assert.strictEqual(crops[0][0].length, 4); + assert.strictEqual(crops[1][0].length, 4); + + done(); + }); + }); + }); + + describe('documents', function() { + it('should detect text from a document', function(done) { + vision.readDocument(IMAGES.document, function(err, text) { + assert.ifError(err); + + assert.strictEqual(typeof text, 'string'); + + done(); + }); + }); + + it('should detect pages from multiple documents', function(done) { + vision.readDocument([ + IMAGES.document, + IMAGES.logo + ], function(err, pages) { + assert.ifError(err); + + assert.strictEqual(pages.length, 2); + assert(typeof pages[0], 'object'); + assert(typeof pages[1], 'object'); + + done(); + }); + }); + }); + describe('faces', function() { it('should detect faces from an image', function(done) { vision.detectFaces(IMAGES.rushmore, function(err, faces) { @@ -508,6 +550,32 @@ describe('Vision', function() { }); }); + describe('similar', function() { + it('should detect similar images from the internet', function(done) { + vision.detectSimilar(IMAGES.logo, function(err, images) { + assert.ifError(err); + assert(images.length > -1); + done(); + }); + }); + + it('should detect similar images from multiple images', function(done) { + vision.detectSimilar([ + IMAGES.logo, + IMAGES.rushmore + ], function(err, images) { + assert.ifError(err); + + assert.strictEqual(images.length, 2); + + assert(images[0].length > -1); + assert(images[1].length > -1); + + done(); + }); + }); + }); + describe('text', function() { var expectedResults = [ normalizeNewline(multiline.stripIndent(function() {/* diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 2b5dfd3384e..4c0821b5220 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -22,10 +22,8 @@ var deepStrictEqual = require('deep-strict-equal'); var extend = require('extend'); var fs = require('fs'); var GrpcService = require('@google-cloud/common-grpc').Service; -var nodeutil = require('util'); var prop = require('propprop'); var proxyquire = require('proxyquire'); -var Service = require('@google-cloud/common').Service; var tmp = require('tmp'); var util = require('@google-cloud/common').util; @@ -38,17 +36,16 @@ var fakeUtil = extend({}, util, { } }); -function FakeService() { - this.calledWith_ = arguments; - Service.apply(this, arguments); -} - -nodeutil.inherits(FakeService, Service); +var fakeV1Override; +function fakeV1() { + if (fakeV1Override) { + return fakeV1Override.apply(null, arguments); + } -var requestOverride = null; -var fakeRequest = function() { - return (requestOverride || util.noop).apply(this, arguments); -}; + return { + imageAnnotatorClient: util.noop + }; +} describe('Vision', function() { var IMAGE = './image.jpg'; @@ -58,29 +55,34 @@ describe('Vision', function() { var VisionCached; var vision; + var OPTIONS = { + projectId: PROJECT_ID + }; + before(function() { Vision = proxyquire('../', { '@google-cloud/common': { - Service: FakeService, util: fakeUtil }, - request: fakeRequest + './v1': fakeV1 }); VisionCached = extend({}, Vision); }); beforeEach(function() { - requestOverride = null; + fakeV1Override = null; - extend(Vision, VisionCached); + vision = new Vision(OPTIONS); - vision = new Vision({ - projectId: PROJECT_ID - }); + extend(Vision, VisionCached); }); describe('instantiation', function() { + it('should promisify all the things', function() { + assert(promisified); + }); + it('should normalize the arguments', function() { var normalizeArguments = fakeUtil.normalizeArguments; var normalizeArgumentsCalled = false; @@ -100,22 +102,25 @@ describe('Vision', function() { fakeUtil.normalizeArguments = normalizeArguments; }); - it('should inherit from Service', function() { - assert(vision instanceof Service); + it('should create a gax api client', function() { + var expectedVisionClient = {}; - var calledWith = vision.calledWith_[0]; + fakeV1Override = function(options) { + assert.strictEqual(options, OPTIONS); - var baseUrl = 'https://vision.googleapis.com/v1'; - assert.strictEqual(calledWith.baseUrl, baseUrl); - assert.strictEqual(calledWith.projectIdRequired, false); - assert.deepEqual(calledWith.scopes, [ - 'https://www.googleapis.com/auth/cloud-platform' - ]); - assert.deepEqual(calledWith.packageJson, require('../package.json')); - }); + return { + imageAnnotatorClient: function(options) { + assert.strictEqual(options, OPTIONS); + return expectedVisionClient; + } + }; + }; - it('should promisify all the things', function() { - assert(promisified); + var vision = new Vision(OPTIONS); + + assert.deepEqual(vision.api, { + Vision: expectedVisionClient + }); }); }); @@ -133,35 +138,27 @@ describe('Vision', function() { var REQ = {}; it('should arrify request objects', function(done) { - vision.request = function(reqOpts) { - assert.strictEqual(reqOpts.json.requests[0], REQ); - done(); + vision.api.Vision = { + batchAnnotateImages: function(reqOpts) { + assert.deepEqual(reqOpts, { + requests: [REQ] + }); + done(); + } }; vision.annotate(REQ, assert.ifError); }); - it('should make the correct API request', function(done) { - var requests = [REQ, REQ]; - - vision.request = function(reqOpts) { - assert.strictEqual(reqOpts.method, 'POST'); - assert.strictEqual(reqOpts.uri, 'images:annotate'); - assert.strictEqual(reqOpts.json.requests, requests); - - done(); - }; - - vision.annotate(requests, assert.ifError); - }); - describe('error', function() { var error = new Error('Error.'); var apiResponse = {}; beforeEach(function() { - vision.request = function(reqOpts, callback) { - callback(error, apiResponse); + vision.api.Vision = { + batchAnnotateImages: function(reqOpts, callback) { + callback(error, apiResponse); + } }; }); @@ -181,8 +178,10 @@ describe('Vision', function() { }; beforeEach(function() { - vision.request = function(reqOpts, callback) { - callback(null, apiResponse); + vision.api.Vision = { + batchAnnotateImages: function(reqOpts, callback) { + callback(null, apiResponse); + } }; }); @@ -200,12 +199,6 @@ describe('Vision', function() { }); describe('detect', function() { - var findImages_; - var formatFaceAnnotation_; - var formatImagePropertiesAnnotation_; - var formatEntityAnnotation_; - var formatSafeSearchAnnotation_; - var TYPES = [ 'face', 'label' @@ -222,14 +215,6 @@ describe('Vision', function() { IMAGES[0] ]; - before(function() { - findImages_ = Vision.findImages_; - formatFaceAnnotation_ = Vision.formatFaceAnnotation_; - formatImagePropertiesAnnotation_ = - Vision.formatImagePropertiesAnnotation_; - formatEntityAnnotation_ = Vision.formatEntityAnnotation_; - formatSafeSearchAnnotation_ = Vision.formatSafeSearchAnnotation_; - }); beforeEach(function() { Vision.findImages_ = function(images, callback) { @@ -237,15 +222,6 @@ describe('Vision', function() { }; }); - after(function() { - Vision.findImages_ = findImages_; - Vision.formatFaceAnnotation_ = formatFaceAnnotation_; - Vision.formatImagePropertiesAnnotation_ = - formatImagePropertiesAnnotation_; - Vision.formatEntityAnnotation_ = formatEntityAnnotation_; - Vision.formatSafeSearchAnnotation_ = formatSafeSearchAnnotation_; - }); - it('should find the images', function(done) { Vision.findImages_ = function(images) { assert.strictEqual(images, IMAGE); @@ -279,6 +255,12 @@ describe('Vision', function() { it('should format the correct config', function(done) { var typeShortNameToFullName = { + crop: 'CROP_HINTS', + crops: 'CROP_HINTS', + + doc: 'DOCUMENT_TEXT_DETECTION', + document: 'DOCUMENT_TEXT_DETECTION', + face: 'FACE_DETECTION', faces: 'FACE_DETECTION', @@ -295,6 +277,8 @@ describe('Vision', function() { safeSearch: 'SAFE_SEARCH_DETECTION', + similar: 'WEB_DETECTION', + text: 'TEXT_DETECTION' }; @@ -305,9 +289,11 @@ describe('Vision', function() { assert.deepEqual(config, [ { image: IMAGES[0], - features: { - type: typeShortNameToFullName[shortName] - } + features: [ + { + type: typeShortNameToFullName[shortName] + } + ] } ]); @@ -338,9 +324,11 @@ describe('Vision', function() { assert.deepEqual(config, [ { image: IMAGES[0], - features: { - type: 'LABEL_DETECTION' - }, + features: [ + { + type: 'LABEL_DETECTION' + } + ], imageContext: imageContext } ]); @@ -361,10 +349,12 @@ describe('Vision', function() { assert.deepEqual(config, [ { image: IMAGES[0], - features: { - type: 'FACE_DETECTION', - maxResults: 10 - } + features: [ + { + type: 'FACE_DETECTION', + maxResults: 10 + } + ] } ]); @@ -398,37 +388,57 @@ describe('Vision', function() { it('should return the correct detections', function(done) { var annotations = [ { - faceAnnotations: {} + cropHintsAnnotation: { anno: true } }, { - imagePropertiesAnnotation: {} + faceAnnotations: { anno: true } + }, + { + fullTextAnnotation: { anno: true } + }, + { + imagePropertiesAnnotation: { anno: true } }, { - labelAnnotations: {} + labelAnnotations: { anno: true } }, { - landmarkAnnotations: {} + landmarkAnnotations: { anno: true } }, { - logoAnnotations: {} + logoAnnotations: { anno: true } }, { - safeSearchAnnotation: {} + safeSearchAnnotation: { anno: true } }, { - textAnnotations: {} + textAnnotations: { anno: true } + }, + { + webDetection: { anno: true } } ]; + var cropHintsAnnotation = {}; var faceAnnotation = {}; + var fullTextAnnotation = {}; var imagePropertiesAnnotation = {}; var entityAnnotation = {}; var safeSearchAnnotation = {}; + var webDetection = {}; + + Vision.formatCropHintsAnnotation_ = function() { + return cropHintsAnnotation; + }; Vision.formatFaceAnnotation_ = function() { return faceAnnotation; }; + Vision.formatFullTextAnnotation_ = function() { + return fullTextAnnotation; + }; + Vision.formatImagePropertiesAnnotation_ = function() { return imagePropertiesAnnotation; }; @@ -441,27 +451,32 @@ describe('Vision', function() { return safeSearchAnnotation; }; + Vision.formatWebDetection_ = function() { + return webDetection; + }; + vision.annotate = function(config, callback) { callback(null, annotations); }; var expected = { + crops: cropHintsAnnotation, faces: faceAnnotation, + document: fullTextAnnotation, properties: imagePropertiesAnnotation, labels: entityAnnotation, landmarks: entityAnnotation, logos: entityAnnotation, safeSearch: safeSearchAnnotation, - text: entityAnnotation + text: entityAnnotation, + similar: webDetection }; var types = Object.keys(expected); vision.detect(IMAGE, types, function(err, detections) { assert.ifError(err); - assert(deepStrictEqual(detections, expected)); - done(); }); }); @@ -495,8 +510,8 @@ describe('Vision', function() { }); it('should return partial failure errors', function(done) { - var error1 = {}; - var error2 = {}; + var error1 = { error: true }; + var error2 = { error: true }; var annotations = [ { error: error1 }, @@ -540,10 +555,10 @@ describe('Vision', function() { }); it('should return partial failure errors for multi images', function(done) { - var error1 = {}; - var error2 = {}; - var error3 = {}; - var error4 = {}; + var error1 = { error: true }; + var error2 = { error: true }; + var error3 = { error: true }; + var error4 = { error: true }; var annotations = [ { error: error1 }, @@ -802,6 +817,25 @@ describe('Vision', function() { }); }); + describe('detectCrops', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('crops'); + + vision.detectCrops(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('crops', options); + + vision.detectCrops(IMAGE, options, done); + }); + }); + describe('detectFaces', function() { it('should accept a callback only', function(done) { vision.detect = testWithoutOptions('faces'); @@ -916,6 +950,25 @@ describe('Vision', function() { }); }); + describe('detectSimilar', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('similar'); + + vision.detectSimilar(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('similar', options); + + vision.detectSimilar(IMAGE, options, done); + }); + }); + describe('detectText', function() { it('should accept a callback only', function(done) { vision.detect = testWithoutOptions('text'); @@ -935,6 +988,25 @@ describe('Vision', function() { }); }); + describe('readDocument', function() { + it('should accept a callback only', function(done) { + vision.detect = testWithoutOptions('document'); + + vision.readDocument(IMAGE, done); + }); + + it('should accept options', function(done) { + var options = { + a: 'b', + c: 'd' + }; + + vision.detect = testWithOptions('document', options); + + vision.readDocument(IMAGE, options, done); + }); + }); + describe('findImages_', function() { it('should convert a File object', function(done) { var file = { @@ -968,44 +1040,22 @@ describe('Vision', function() { }); }); - it('should get a file from a URL', function(done) { + it('should properly format a URL', function(done) { var imageUri = 'http://www.google.com/logo.png'; - var body = 'body'; - - requestOverride = function(reqOpts, callback) { - assert.strictEqual(reqOpts.method, 'GET'); - assert.strictEqual(reqOpts.uri, imageUri); - assert.strictEqual(reqOpts.encoding, 'base64'); - - callback(null, {}, body); - }; Vision.findImages_(imageUri, function(err, images) { assert.ifError(err); assert.deepEqual(images, [ { - content: body + source: { + imageUri: imageUri + } } ]); done(); }); }); - it('should return an error from reading a URL', function(done) { - var imageUri = 'http://www.google.com/logo.png'; - - var error = new Error('Error.'); - - requestOverride = function(reqOpts, callback) { - callback(error); - }; - - Vision.findImages_(imageUri, function(err) { - assert.strictEqual(err, error); - done(); - }); - }); - it('should read from a file path', function(done) { tmp.setGracefulCleanup(); @@ -1060,6 +1110,53 @@ describe('Vision', function() { }); }); + describe('formatCropHintsAnnotation_', function() { + var VERTICES = [ + { x: 0, y: 0 }, + { x: 0, y: 0 } + ]; + + var CONFIDENCE = 0.3; + + var cropHintsAnnotation = { + cropHints: [ + { + boundingPoly: { + vertices: VERTICES + }, + confidence: CONFIDENCE + } + ] + }; + + describe('verbose: false', function() { + var opts = {}; + + it('should format the annotation', function() { + var fmtd = Vision.formatCropHintsAnnotation_(cropHintsAnnotation, opts); + + assert.deepEqual(fmtd, [ + VERTICES + ]); + }); + }); + + describe('verbose: true', function() { + var opts = { verbose: true }; + + it('should format the annotation', function() { + var fmtd = Vision.formatCropHintsAnnotation_(cropHintsAnnotation, opts); + + assert.deepEqual(fmtd, [ + { + bounds: VERTICES, + confidence: CONFIDENCE + } + ]); + }); + }); + }); + describe('formatEntityAnnotation_', function() { var entityAnnotation = { description: 'description', @@ -1109,7 +1206,10 @@ describe('Vision', function() { describe('formatError_', function() { var error = { code: 1, - message: 'Oh no!' + message: 'Oh no!', + details: [ + 'these should be clipped' + ] }; it('should format an error', function() { @@ -1123,174 +1223,170 @@ describe('Vision', function() { }); describe('formatFaceAnnotation_', function() { - var faceAnnotation; + var faceAnnotation = { + panAngle: {}, + rollAngle: {}, + tiltAngle: {}, + + boundingPoly: { + vertices: {} + }, + fdBoundingPoly: { + vertices: {} + }, - before(function() { - faceAnnotation = { - panAngle: {}, - rollAngle: {}, - tiltAngle: {}, + landmarkingConfidence: 0.2, - boundingPoly: { - vertices: {} + landmarks: [ + { + type: 'CHIN_GNATHION', + position: {} + }, + { + type: 'CHIN_LEFT_GONION', + position: {} + }, + { + type: 'CHIN_RIGHT_GONION', + position: {} + }, + { + type: 'LEFT_EAR_TRAGION', + position: {} + }, + { + type: 'RIGHT_EAR_TRAGION', + position: {} }, - fdBoundingPoly: { - vertices: {} + { + type: 'LEFT_OF_LEFT_EYEBROW', + position: {} + }, + { + type: 'RIGHT_OF_LEFT_EYEBROW', + position: {} }, + { + type: 'LEFT_EYEBROW_UPPER_MIDPOINT', + position: {} + }, + { + type: 'LEFT_OF_RIGHT_EYEBROW', + position: {} + }, + { + type: 'RIGHT_OF_RIGHT_EYEBROW', + position: {} + }, + { + type: 'RIGHT_EYEBROW_UPPER_MIDPOINT', + position: {} + }, + { + type: 'LEFT_EYE_BOTTOM_BOUNDARY', + position: {} + }, + { + type: 'LEFT_EYE', + position: {} + }, + { + type: 'LEFT_EYE_LEFT_CORNER', + position: {} + }, + { + type: 'LEFT_EYE_PUPIL', + position: {} + }, + { + type: 'LEFT_EYE_RIGHT_CORNER', + position: {} + }, + { + type: 'LEFT_EYE_TOP_BOUNDARY', + position: {} + }, + { + type: 'RIGHT_EYE_BOTTOM_BOUNDARY', + position: {} + }, + { + type: 'RIGHT_EYE', + position: {} + }, + { + type: 'RIGHT_EYE_LEFT_CORNER', + position: {} + }, + { + type: 'RIGHT_EYE_PUPIL', + position: {} + }, + { + type: 'RIGHT_EYE_RIGHT_CORNER', + position: {} + }, + { + type: 'RIGHT_EYE_TOP_BOUNDARY', + position: {} + }, + { + type: 'FOREHEAD_GLABELLA', + position: {} + }, + { + type: 'LOWER_LIP', + position: {} + }, + { + type: 'UPPER_LIP', + position: {} + }, + { + type: 'MOUTH_CENTER', + position: {} + }, + { + type: 'MOUTH_LEFT', + position: {} + }, + { + type: 'MOUTH_RIGHT', + position: {} + }, + { + type: 'NOSE_BOTTOM_CENTER', + position: {} + }, + { + type: 'NOSE_BOTTOM_LEFT', + position: {} + }, + { + type: 'NOSE_BOTTOM_RIGHT', + position: {} + }, + { + type: 'NOSE_TIP', + position: {} + }, + { + type: 'MIDPOINT_BETWEEN_EYES', + position: {} + } + ], - landmarkingConfidence: 0.2, + detectionConfidence: 0.2, + blurredLikelihood: 'LIKELY', + underExposedLikelihood: 'LIKELY', + joyLikelihood: 'LIKELY', + headwearLikelihood: 'LIKELY', + angerLikelihood: 'LIKELY', + sorrowLikelihood: 'LIKELY', + surpriseLikelihood: 'LIKELY', - landmarks: [ - { - type: 'CHIN_GNATHION', - position: {} - }, - { - type: 'CHIN_LEFT_GONION', - position: {} - }, - { - type: 'CHIN_RIGHT_GONION', - position: {} - }, - { - type: 'LEFT_EAR_TRAGION', - position: {} - }, - { - type: 'RIGHT_EAR_TRAGION', - position: {} - }, - { - type: 'LEFT_OF_LEFT_EYEBROW', - position: {} - }, - { - type: 'RIGHT_OF_LEFT_EYEBROW', - position: {} - }, - { - type: 'LEFT_EYEBROW_UPPER_MIDPOINT', - position: {} - }, - { - type: 'LEFT_OF_RIGHT_EYEBROW', - position: {} - }, - { - type: 'RIGHT_OF_RIGHT_EYEBROW', - position: {} - }, - { - type: 'RIGHT_EYEBROW_UPPER_MIDPOINT', - position: {} - }, - { - type: 'LEFT_EYE_BOTTOM_BOUNDARY', - position: {} - }, - { - type: 'LEFT_EYE', - position: {} - }, - { - type: 'LEFT_EYE_LEFT_CORNER', - position: {} - }, - { - type: 'LEFT_EYE_PUPIL', - position: {} - }, - { - type: 'LEFT_EYE_RIGHT_CORNER', - position: {} - }, - { - type: 'LEFT_EYE_TOP_BOUNDARY', - position: {} - }, - { - type: 'RIGHT_EYE_BOTTOM_BOUNDARY', - position: {} - }, - { - type: 'RIGHT_EYE', - position: {} - }, - { - type: 'RIGHT_EYE_LEFT_CORNER', - position: {} - }, - { - type: 'RIGHT_EYE_PUPIL', - position: {} - }, - { - type: 'RIGHT_EYE_RIGHT_CORNER', - position: {} - }, - { - type: 'RIGHT_EYE_TOP_BOUNDARY', - position: {} - }, - { - type: 'FOREHEAD_GLABELLA', - position: {} - }, - { - type: 'LOWER_LIP', - position: {} - }, - { - type: 'UPPER_LIP', - position: {} - }, - { - type: 'MOUTH_CENTER', - position: {} - }, - { - type: 'MOUTH_LEFT', - position: {} - }, - { - type: 'MOUTH_RIGHT', - position: {} - }, - { - type: 'NOSE_BOTTOM_CENTER', - position: {} - }, - { - type: 'NOSE_BOTTOM_LEFT', - position: {} - }, - { - type: 'NOSE_BOTTOM_RIGHT', - position: {} - }, - { - type: 'NOSE_TIP', - position: {} - }, - { - type: 'MIDPOINT_BETWEEN_EYES', - position: {} - } - ], - - detectionConfidence: 0.2, - blurredLikelihood: 'LIKELY', - underExposedLikelihood: 'LIKELY', - joyLikelihood: 'LIKELY', - headwearLikelihood: 'LIKELY', - angerLikelihood: 'LIKELY', - sorrowLikelihood: 'LIKELY', - surpriseLikelihood: 'LIKELY', - - nonExistentLikelihood: 'LIKELY' - }; - }); + nonExistentLikelihood: 'LIKELY' + }; function findLandmark(type) { var landmarks = faceAnnotation.landmarks; @@ -1395,6 +1491,127 @@ describe('Vision', function() { }); }); + describe('formatFullTextAnnotation_', function() { + var BLOCK_TYPE = 'block type'; + + var LANGUAGE_CODE = 'language code'; + + var TEXT = 'F'; + + var VERTICES = [ + { x: 0, y: 0 }, + { x: 0, y: 0 }, + { x: 0, y: 0 }, + { x: 0, y: 0 } + ]; + + var fullTextAnnotation = { + text: 'Full text', + pages: [ + { + property: { + detectedLanguages: [ + { + languageCode: LANGUAGE_CODE + } + ] + }, + width: 50, + height: 100, + blocks: [ + { + blockType: BLOCK_TYPE, + boundingBox: { + vertices: VERTICES + }, + paragraphs: [ + { + boundingBox: { + vertices: VERTICES + }, + words: [ + { + boundingBox: { + vertices: VERTICES + }, + symbols: [ + { + boundingBox: { + vertices: VERTICES + }, + text: TEXT + } + ] + } + ] + } + ] + } + ] + } + ] + }; + + describe('verbose: false', function() { + var opts = {}; + + it('should return text property', function() { + var fmtd = Vision.formatFullTextAnnotation_(fullTextAnnotation, opts); + + assert.strictEqual(fmtd, fullTextAnnotation.text); + }); + }); + + describe('verbose: true', function() { + var opts = { verbose: true }; + + it('should return formatted annotation', function() { + var fmtd = Vision.formatFullTextAnnotation_(fullTextAnnotation, opts); + + assert.deepEqual(fmtd, [ + { + languages: [ + LANGUAGE_CODE + ], + width: 50, + height: 100, + blocks: [ + { + type: BLOCK_TYPE, + bounds: VERTICES, + paragraphs: [ + { + bounds: VERTICES, + words: [ + { + bounds: VERTICES, + symbols: [ + { + bounds: VERTICES, + text: TEXT + } + ] + } + ] + } + ] + } + ] + } + ]); + }); + + it('should not require a bounding block box', function() { + var annoWithoutBounding = extend(true, {}, fullTextAnnotation); + delete annoWithoutBounding.pages[0].blocks[0].boundingBox; + + var fmtd = Vision.formatFullTextAnnotation_(annoWithoutBounding, opts); + + assert.deepEqual(fmtd[0].blocks[0].bounds, []); + }); + }); + }); + describe('formatImagePropertiesAnnotation_', function() { var imgAnnotation = { dominantColors: { @@ -1449,16 +1666,12 @@ describe('Vision', function() { }); describe('formatSafeSearchAnnotation_', function() { - var safeSearchAnno; - - before(function() { - safeSearchAnno = { - adult: 'LIKELY', - medical: 'LIKELY', - spoof: 'LIKELY', - violence: 'LIKELY' - }; - }); + var safeSearchAnno = { + adult: 'LIKELY', + medical: 'LIKELY', + spoof: 'LIKELY', + violence: 'LIKELY' + }; describe('verbose: false', function() { var opts = {}; @@ -1488,6 +1701,90 @@ describe('Vision', function() { }); }); + describe('formatWebDetection_', function() { + var webDetection = { + webEntities: [ + { + description: 'description' + }, + ], + + fullMatchingImages: [ + { + score: 0, + url: 'http://full-0' + }, + { + score: 1, + url: 'http://full-1' + } + ], + + partialMatchingImages: [ + { + score: 0, + url: 'http://partial-0' + }, + { + score: 1, + url: 'http://partial-1' + } + ], + + pagesWithMatchingImages: [ + { + score: 0, + url: 'http://page-0' + }, + { + score: 1, + url: 'http://page-1' + } + ] + }; + + describe('verbose: false', function() { + var opts = {}; + + it('should return sorted & combined image urls', function() { + var fmtd = Vision.formatWebDetection_(webDetection, opts); + + assert.deepEqual(fmtd, [ + 'http://full-1', + 'http://full-0', + 'http://partial-1', + 'http://partial-0' + ]); + }); + }); + + describe('verbose: true', function() { + var opts = { + verbose: true + }; + + it('should return entities, pages & individual, sorted urls', function() { + var fmtd = Vision.formatWebDetection_(webDetection, opts); + + assert.deepEqual(fmtd, { + entities: webDetection.webEntities.map(prop('description')), + fullMatches: [ + 'http://full-1', + 'http://full-0' + ], + partialMatches: [ + 'http://partial-1', + 'http://partial-0' + ], + pages: [ + 'http://page-1', + 'http://page-0' + ] + }); + }); + }); + }); + describe('gteLikelihood_', function() { it('should return booleans', function() { var baseLikelihood = Vision.likelihood.LIKELY; From 4276a9586a0f7fae738f7d0e585a441cb5e9b1ec Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 3 Mar 2017 15:12:20 -0500 Subject: [PATCH 065/588] vision: fix system test --- packages/google-cloud-vision/system-test/vision.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index aa495a798b8..d2250f1a3c5 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -579,8 +579,8 @@ describe('Vision', function() { describe('text', function() { var expectedResults = [ normalizeNewline(multiline.stripIndent(function() {/* - Cloud Client Library for Node js an idiomatic, intuitive, and - natural way for Node.js developers to integrate with Cloud + Google Cloud Client Library for Node js an idiomatic, intuitive, and + natural way for Node.js developers to integrate with Google Cloud Platform services, like Cloud Datastore and Cloud Storage. */})) From 882da5545517c38310886a8e6bcf7278ea3a631d Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 3 Mar 2017 16:05:11 -0500 Subject: [PATCH 066/588] vision @ 0.9.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 70010f9742b..02c9a2e7f9b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.8.1", + "version": "0.9.0", "author": "Google Inc.", "description": "Cloud Vision Client Library for Node.js", "contributors": [ From 67bec3db4fafa74b94bf8123dbddb7b3c9d9e048 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Mon, 6 Mar 2017 14:54:08 -0800 Subject: [PATCH 067/588] Adds vision 1.1 features (#318) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index e78e0ecb502..b8097ec80e2 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@google-cloud/storage": "0.7.0", - "@google-cloud/vision": "0.8.0", + "@google-cloud/vision": "0.9.0", "async": "2.1.4", "natural": "0.4.0", "redis": "2.6.5", From de32ea418da6e14faffd5d50fc2df13378c7cadf Mon Sep 17 00:00:00 2001 From: rtw Date: Tue, 14 Mar 2017 05:18:21 +1100 Subject: [PATCH 068/588] #1881 vision: include original Likelihood score (#1887) --- packages/google-cloud-vision/src/index.js | 11 ++++++++++- packages/google-cloud-vision/test/index.js | 10 +++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 497ec39f412..065c5d27259 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -960,12 +960,19 @@ Vision.prototype.detectCrops = function(images, options, callback) { * // }, * // confidence: 56.748849, * // anger: false, + * // angerLikelihood: 1, * // blurred: false, + * // blurredLikelihood: 1, * // headwear: false, + * // headwearLikelihood: 1, * // joy: false, + * // joyLikelihood: 1, * // sorrow: false, + * // sorrowLikelihood: 1, * // surprise: false, - * // underExposed: false + * // surpriseLikelihood: 1, + * // underExposed: false, + * // underExposedLikelihood: 1 * // } * // ] * }); @@ -1916,6 +1923,8 @@ Vision.formatFaceAnnotation_ = function(faceAnnotation) { formattedFaceAnnotation[shortenedProp] = Vision.gteLikelihood_(LIKELY, faceAnnotation[prop]); + + formattedFaceAnnotation[prop] = Vision.likelihood[faceAnnotation[prop]]; } } diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 4c0821b5220..2693336fefd 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -1474,15 +1474,23 @@ describe('Vision', function() { confidence: faceAnnotation.detectionConfidence * 100, anger: true, + angerLikelihood: 3, blurred: true, + blurredLikelihood: 3, headwear: true, + headwearLikelihood: 3, joy: true, + joyLikelihood: 3, sorrow: true, + sorrowLikelihood: 3, surprise: true, + surpriseLikelihood: 3, underExposed: true, + underExposedLikelihood: 3, // Checks that *any* property that ends in `Likelihood` is shortened. - nonExistent: true + nonExistent: true, + nonExistentLikelihood: 3 }; var formatted = Vision.formatFaceAnnotation_(faceAnnotation); From 8c86ef037b6d0526edea8b1e4857be999c7eecec Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 13 Mar 2017 15:01:18 -0400 Subject: [PATCH 069/588] update @google-cloud/common-grpc deps --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 02c9a2e7f9b..3d5a5c7cdfd 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -51,7 +51,7 @@ ], "dependencies": { "@google-cloud/common": "^0.12.0", - "@google-cloud/common-grpc": "^0.1.1", + "@google-cloud/common-grpc": "^0.2.0", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", From acf4041d9b0b6f46e47b070393212f1ce2e459f2 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 13 Mar 2017 19:08:25 -0400 Subject: [PATCH 070/588] update @google-cloud/common-grpc deps --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 3d5a5c7cdfd..2c778bea201 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -51,7 +51,7 @@ ], "dependencies": { "@google-cloud/common": "^0.12.0", - "@google-cloud/common-grpc": "^0.2.0", + "@google-cloud/common-grpc": "^0.2.1", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", From 62a5899102a77894e8fa71020c35ce3b6c2ca6e8 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 14 Mar 2017 17:21:07 -0400 Subject: [PATCH 071/588] vision @ 0.10.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2c778bea201..405b4dd49fb 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.9.0", + "version": "0.10.0", "author": "Google Inc.", "description": "Cloud Vision Client Library for Node.js", "contributors": [ From f98cbf822d5f9007c7854fb59e6a35b842dcebcd Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 28 Mar 2017 14:57:42 -0400 Subject: [PATCH 072/588] vision: docs: show base64 usage (#2145) --- packages/google-cloud-vision/src/index.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 065c5d27259..958da7e1849 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -208,10 +208,19 @@ Vision.prototype.annotate = function(requests, callback) { * // Error handling omitted. * } * - * vision.detect(image, function(err, detection, apiResponse) {}); + * vision.detect(image, types, function(err, detection, apiResponse) {}); * }); * * //- + * // If you have a base64 string, provide it in a Buffer. + * //- + * var myBase64ImageRepresentation = '...'; + * + * var image = new Buffer(myBase64ImageRepresentation, 'base64'); + * + * vision.detect(image, types, function(err, detection, apiResponse) {}); + * + * //- * // Supply multiple images for feature detection. * //- * var images = [ From 0aad6b94d8016378cd4f770dbaa9468827a0beb0 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Fri, 31 Mar 2017 09:35:19 -0700 Subject: [PATCH 073/588] Mark a single line of Vision uncovered. (#2169) --- packages/google-cloud-vision/src/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 958da7e1849..a0b94ea7906 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -485,6 +485,7 @@ Vision.prototype.detect = function(images, options, callback) { for (var prop in annotation) { if (prop !== requestedAnnotationType && prop !== 'error') { + /* istanbul ignore next */ delete annotation[prop]; } } From 20277d90a9d860b5f585116c03b89adb33bb2f30 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Fri, 31 Mar 2017 09:38:43 -0700 Subject: [PATCH 074/588] stability guarantee promotions (#2165) --- packages/google-cloud-vision/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 5ecc6f33631..6061e4fd54a 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -1,4 +1,4 @@ -# @google-cloud/vision ([Alpha][versioning]) +# @google-cloud/vision ([Beta][versioning]) > Cloud Vision Client Library for Node.js *Looking for more Google APIs than just Vision? You might want to check out [`google-cloud`][google-cloud].* From 90c56dcc33dec14ce41a44d0e4237faced7912fa Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 31 Mar 2017 13:50:44 -0400 Subject: [PATCH 075/588] drop support for 0.12 (#2171) * all: drop support for 0.12 [ci skip] * scripts: add more modules to blacklist for now * update common deps for service modules --- packages/google-cloud-vision/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 405b4dd49fb..8ff8e39042a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,8 +50,8 @@ "vision" ], "dependencies": { - "@google-cloud/common": "^0.12.0", - "@google-cloud/common-grpc": "^0.2.1", + "@google-cloud/common": "^0.13.0", + "@google-cloud/common-grpc": "^0.3.0", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", @@ -80,6 +80,6 @@ }, "license": "Apache-2.0", "engines": { - "node": ">=0.12.0" + "node": ">=4.0.0" } } From 12a3d10c2d86ddf5373ffa5270ead6bb9a16ab76 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 31 Mar 2017 15:00:32 -0400 Subject: [PATCH 076/588] vision @ 0.11.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 8ff8e39042a..151d74fa7c7 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.10.0", + "version": "0.11.0", "author": "Google Inc.", "description": "Cloud Vision Client Library for Node.js", "contributors": [ From d1043cd245440720caf249164099b4ecc54bea37 Mon Sep 17 00:00:00 2001 From: Ace Nassri Date: Wed, 5 Apr 2017 15:57:12 -0500 Subject: [PATCH 077/588] Travis: fix failing tests + update dependencies (#335) * Make unify script recursive + clean up dependency conflicts * Restore travis.yml * Delete outdated text detection sample that duplicates detect.js * Fix failing KMS + vision tests by updating dependencies * Fix video tests using a bad cwd * Upgrade monitoring dependency + skip flaky monitoring tests * Fix DLP tests having wrong cwd * Fix failing vision test * Fix datastore tests * Update broken dependency * Update possibly broken compute engine dependency * Fix typos * Disable Node 4 testing * Revert deletion of outdated sample - @gguuss says we still use this. This reverts commit b7259c820fb011369c7b5badac82fcde26be008a. * Update dependency --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index b8097ec80e2..18d9189f914 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@google-cloud/storage": "0.7.0", - "@google-cloud/vision": "0.9.0", + "@google-cloud/vision": "^0.11.0", "async": "2.1.4", "natural": "0.4.0", "redis": "2.6.5", From a66975ee12b98c16c184304133ced4e1a69d7bda Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 10 Apr 2017 20:15:10 -0400 Subject: [PATCH 078/588] tests: fix snippet tests in sandbox env (#2199) --- packages/google-cloud-vision/src/index.js | 9 +++++++++ packages/google-cloud-vision/test/index.js | 17 +++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index a0b94ea7906..ddc5c05686f 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -1712,6 +1712,15 @@ Vision.prototype.readDocument = function(images, options, callback) { * @private */ Vision.findImages_ = function(images, callback) { + if (global.GCLOUD_SANDBOX_ENV) { + callback(null, [ + { + content: new Buffer('') + } + ]); + return; + } + var MAX_PARALLEL_LIMIT = 5; images = arrify(images); diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 2693336fefd..27fdb50995f 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -1008,6 +1008,23 @@ describe('Vision', function() { }); describe('findImages_', function() { + it('should return buffer for snippet sandbox', function(done) { + global.GCLOUD_SANDBOX_ENV = true; + + Vision.findImages_({}, function(err, images) { + delete global.GCLOUD_SANDBOX_ENV; + assert.ifError(err); + + assert.deepEqual(images, [ + { + content: new Buffer('') + } + ]); + + done(); + }); + }); + it('should convert a File object', function(done) { var file = { name: 'file-name', From 58eba0dbdde745c49ea92aafb20f49dda16ced2c Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 10 Apr 2017 21:38:40 -0400 Subject: [PATCH 079/588] update deps --- packages/google-cloud-vision/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 151d74fa7c7..9efe7972ee4 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -55,8 +55,8 @@ "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.12.1", - "google-proto-files": "^0.10.0", + "google-gax": "^0.13.0", + "google-proto-files": "^0.11.0", "is": "^3.0.1", "prop-assign": "^1.0.0", "propprop": "^0.3.0", From 5af5fe416f2a07911ea1caa23e84e8c3c5baffd1 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 12 Apr 2017 14:33:06 -0700 Subject: [PATCH 080/588] Bring ML APIs up to standard. (#346) --- .../google-cloud-vision/samples/README.md | 40 ++++++++++++------- .../google-cloud-vision/samples/package.json | 14 +++---- .../google-cloud-vision/samples/quickstart.js | 3 ++ 3 files changed, 36 insertions(+), 21 deletions(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 411c81a621f..4b5688b3562 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -37,20 +37,26 @@ __Usage:__ `node detect.js --help` ``` Commands: - faces Detects faces in a local image file. - faces-gcs Detects faces in an image in Google Cloud Storage. - labels Detects labels in a local image file. - labels-gcs Detects labels in an image in Google Cloud Storage. - landmarks Detects landmarks in a local image file. - landmarks-gcs Detects landmarks in an image in Google Cloud Storage. - text Detects text in a local image file. - text-gcs Detects text in an image in Google Cloud Storage. - logos Detects logos in a local image file. - logos-gcs Detects logos in an image in Google Cloud Storage. - properties Detects image properties in a local image file. - properties-gcs Detects image properties in an image in Google Cloud Storage. - safe-search Detects safe search properties in a local image file. - safe-search-gcs Detects safe search properties in an image in Google Cloud Storage. + faces Detects faces in a local image file. + faces-gcs Detects faces in an image in Google Cloud Storage. + labels Detects labels in a local image file. + labels-gcs Detects labels in an image in Google Cloud Storage. + landmarks Detects landmarks in a local image file. + landmarks-gcs Detects landmarks in an image in Google Cloud Storage. + text Detects text in a local image file. + text-gcs Detects text in an image in Google Cloud Storage. + logos Detects logos in a local image file. + logos-gcs Detects logos in an image in Google Cloud Storage. + properties Detects image properties in a local image file. + properties-gcs Detects image properties in an image in Google Cloud Storage. + safe-search Detects safe search properties in a local image file. + safe-search-gcs Detects safe search properties in an image in Google Cloud Storage. + crops Detects crop hints in a local image file. + crops-gcs Detects crop hints in an image in Google Cloud Storage. + web Finds similar photos on the web for a local image file. + web-gcs Finds similar photos on the web for an image in Google Cloud Storage. + fulltext Extracts full text from a local image file. + fulltext-gcs Extracts full text from an image in Google Cloud Storage. Options: --help Show help [boolean] @@ -70,6 +76,12 @@ Examples: node detect.js properties-gcs my-bucket your-image.jpg node detect.js safe-search ./resources/wakeupcat.jpg node detect.js safe-search-gcs my-bucket your-image.jpg + node detect.js crops ./resources/wakeupcat.jpg + node detect.js crops-gcs my-bucket your-image.jpg + node detect.js web ./resources/wakeupcat.jpg + node detect.js web-gcs my-bucket your-image.jpg + node detect.js fulltext ./resources/wakeupcat.jpg + node detect.js fulltext-gcs my-bucket your-image.jpg For more information, see https://cloud.google.com/vision/docs ``` diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 18d9189f914..2bac2fbb1f5 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -8,15 +8,15 @@ "test": "cd ..; npm run st -- --verbose vision/system-test/*.test.js" }, "dependencies": { - "@google-cloud/storage": "0.7.0", - "@google-cloud/vision": "^0.11.0", - "async": "2.1.4", - "natural": "0.4.0", - "redis": "2.6.5", - "yargs": "6.6.0" + "@google-cloud/storage": "1.0.0", + "@google-cloud/vision": "0.11.0", + "async": "2.3.0", + "natural": "0.5.0", + "redis": "2.7.1", + "yargs": "7.0.2" }, "optionalDependencies": { - "canvas": "1.6.2" + "canvas": "1.6.5" }, "engines": { "node": ">=4.3.2" diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index e650314dbdf..16afa9a4078 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -37,5 +37,8 @@ visionClient.detectLabels(fileName) console.log('Labels:'); labels.forEach((label) => console.log(label)); + }) + .catch((err) => { + console.error('ERROR:', err); }); // [END vision_quickstart] From 15c13be864b35dfa4109b6777a813cc7134ed2d0 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Mon, 17 Apr 2017 09:06:13 -0700 Subject: [PATCH 081/588] Nodejs GAPIC: vision v1 (#2227) --- .../src/v1/image_annotator_client.js | 11 ++++++----- .../src/v1/image_annotator_client_config.json | 4 +++- packages/google-cloud-vision/src/v1/index.js | 1 + 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index c5ad6acdf5d..e2ace8b98f8 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -1,11 +1,11 @@ /* - * Copyright 2016 Google Inc. All rights reserved. + * Copyright 2017, Google Inc. All rights reserved. * * 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 + * 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, @@ -35,7 +35,7 @@ var SERVICE_ADDRESS = 'vision.googleapis.com'; var DEFAULT_SERVICE_PORT = 443; -var CODE_GEN_NAME_VERSION = 'gapic/0.1.0'; +var CODE_GEN_NAME_VERSION = 'gapic/0.7.1'; /** * The scopes needed to make gRPC calls to all of the methods defined in @@ -109,9 +109,10 @@ function ImageAnnotatorClient(gaxGrpc, grpcClients, opts) { }); } + /** * Get the project ID used by this class. - * @aram {function(Error, string)} callback - the callback to be called with + * @param {function(Error, string)} callback - the callback to be called with * the current project Id. */ ImageAnnotatorClient.prototype.getProjectId = function(callback) { @@ -196,4 +197,4 @@ function ImageAnnotatorClientBuilder(gaxGrpc) { } module.exports = ImageAnnotatorClientBuilder; module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; -module.exports.ALL_SCOPES = ALL_SCOPES; +module.exports.ALL_SCOPES = ALL_SCOPES; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json index a5623731dc0..b7b8b93a752 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json @@ -6,7 +6,9 @@ "DEADLINE_EXCEEDED", "UNAVAILABLE" ], - "non_idempotent": [] + "non_idempotent": [ + "UNAVAILABLE" + ] }, "retry_params": { "default": { diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index 22d87db6661..b12e1e4b9e8 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -27,6 +27,7 @@ function v1(options) { return imageAnnotatorClient(gaxGrpc); } +v1.GAPIC_VERSION = '0.7.1'; v1.SERVICE_ADDRESS = imageAnnotatorClient.SERVICE_ADDRESS; v1.ALL_SCOPES = imageAnnotatorClient.ALL_SCOPES; From 941f5e59505bc0f7d57bbc187e6e93bcb34cf9d4 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 17 Apr 2017 13:00:24 -0400 Subject: [PATCH 082/588] vision @ 0.11.1 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 9efe7972ee4..1227e233bfd 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.11.0", + "version": "0.11.1", "author": "Google Inc.", "description": "Cloud Vision Client Library for Node.js", "contributors": [ From 4a6633214021c6604cf3129b0ac3619fd4485d27 Mon Sep 17 00:00:00 2001 From: Ernest Landrito Date: Mon, 17 Apr 2017 11:49:47 -0700 Subject: [PATCH 083/588] Vision: Add 'gccl' header. (#2228) --- packages/google-cloud-vision/src/index.js | 5 +++++ packages/google-cloud-vision/test/index.js | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index ddc5c05686f..d2b55077e91 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -60,6 +60,11 @@ function Vision(options) { return new Vision(options); } + options = extend({}, options, { + libName: 'gccl', + libVersion: require('../package.json').version + }); + this.api = { Vision: v1(options).imageAnnotatorClient(options) }; diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js index 27fdb50995f..74838291b7c 100644 --- a/packages/google-cloud-vision/test/index.js +++ b/packages/google-cloud-vision/test/index.js @@ -106,11 +106,15 @@ describe('Vision', function() { var expectedVisionClient = {}; fakeV1Override = function(options) { - assert.strictEqual(options, OPTIONS); + var expected = extend({}, OPTIONS, { + libName: 'gccl', + libVersion: require('../package.json').version + }); + assert.deepStrictEqual(options, expected); return { imageAnnotatorClient: function(options) { - assert.strictEqual(options, OPTIONS); + assert.deepStrictEqual(options, expected); return expectedVisionClient; } }; From 8d7198c58ab0645e711d8e1edd6239d29437b79b Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Mon, 17 Apr 2017 14:57:57 -0400 Subject: [PATCH 084/588] vision @ 0.11.2 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1227e233bfd..513d05b4d84 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.11.1", + "version": "0.11.2", "author": "Google Inc.", "description": "Cloud Vision Client Library for Node.js", "contributors": [ From eca82973bd264a8069222073c2e1e983da2273da Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Mon, 24 Apr 2017 14:40:11 -0700 Subject: [PATCH 085/588] Cleanup App Engine samples and re-work tests. (#354) --- .../google-cloud-vision/samples/package.json | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 2bac2fbb1f5..39c38c1a270 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -2,23 +2,40 @@ "name": "nodejs-docs-samples-vision", "version": "0.0.1", "private": true, - "license": "Apache Version 2.0", + "license": "Apache-2.0", "author": "Google Inc.", + "repository": { + "type": "git", + "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" + }, + "cloud": { + "requiresKeyFile": true, + "requiresProjectId": true + }, + "engines": { + "node": ">=4.3.2" + }, "scripts": { - "test": "cd ..; npm run st -- --verbose vision/system-test/*.test.js" + "lint": "samples lint", + "pretest": "npm run lint", + "system-test": "ava -T 1m --verbose system-test/*.test.js", + "test": "npm run system-test" }, "dependencies": { - "@google-cloud/storage": "1.0.0", - "@google-cloud/vision": "0.11.0", + "@google-cloud/storage": "1.1.0", + "@google-cloud/vision": "0.11.2", "async": "2.3.0", - "natural": "0.5.0", + "natural": "0.5.1", "redis": "2.7.1", - "yargs": "7.0.2" + "yargs": "7.1.0" + }, + "devDependencies": { + "@google-cloud/nodejs-repo-tools": "1.3.1", + "ava": "0.19.1", + "proxyquire": "1.7.11", + "sinon": "2.1.0" }, "optionalDependencies": { "canvas": "1.6.5" - }, - "engines": { - "node": ">=4.3.2" } } From eb363ad28e3af790f016e930fe14543a39e0897b Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Tue, 2 May 2017 08:54:19 -0700 Subject: [PATCH 086/588] Upgrade to repo tools v1.4.7 (#370) --- packages/google-cloud-vision/samples/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 39c38c1a270..cf6161932ac 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -8,10 +8,6 @@ "type": "git", "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" }, - "cloud": { - "requiresKeyFile": true, - "requiresProjectId": true - }, "engines": { "node": ">=4.3.2" }, @@ -30,12 +26,16 @@ "yargs": "7.1.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "1.3.1", + "@google-cloud/nodejs-repo-tools": "1.4.7", "ava": "0.19.1", "proxyquire": "1.7.11", "sinon": "2.1.0" }, "optionalDependencies": { "canvas": "1.6.5" + }, + "cloud-repo-tools": { + "requiresKeyFile": true, + "requiresProjectId": true } } From e970f95dfdc5ac97fb2424cc6628c00830691f96 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 10 May 2017 16:47:18 -0700 Subject: [PATCH 087/588] Upgrade repo tools and regenerate READMEs. (#384) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index cf6161932ac..daaddac9dbf 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -26,7 +26,7 @@ "yargs": "7.1.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "1.4.7", + "@google-cloud/nodejs-repo-tools": "1.4.13", "ava": "0.19.1", "proxyquire": "1.7.11", "sinon": "2.1.0" From 2b777d0748ae6205098a7ef7a6b810eff90539e2 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Sat, 13 May 2017 13:17:35 -0400 Subject: [PATCH 088/588] docs: contributing guide updated (#2285) --- .../system-test/data/index.yaml | 23 ------------------- 1 file changed, 23 deletions(-) delete mode 100644 packages/google-cloud-vision/system-test/data/index.yaml diff --git a/packages/google-cloud-vision/system-test/data/index.yaml b/packages/google-cloud-vision/system-test/data/index.yaml deleted file mode 100644 index 5a2d2b1a8bc..00000000000 --- a/packages/google-cloud-vision/system-test/data/index.yaml +++ /dev/null @@ -1,23 +0,0 @@ -indexes: - -- kind: Character - ancestor: yes - properties: - - name: appearances - -- kind: Character - ancestor: yes - properties: - - name: alive - -- kind: Character - ancestor: yes - properties: - - name: family - - name: appearances - -- kind: Character - ancestor: yes - properties: - - name: name - - name: family From ab4e4e4f0d15766c51c36ad5a3f3c44c4cc898e5 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Tue, 16 May 2017 09:33:07 -0700 Subject: [PATCH 089/588] Upgrade repo tools and regenerate READMEs. --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index daaddac9dbf..10f58666a79 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -26,7 +26,7 @@ "yargs": "7.1.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "1.4.13", + "@google-cloud/nodejs-repo-tools": "1.4.14", "ava": "0.19.1", "proxyquire": "1.7.11", "sinon": "2.1.0" From 8c67cfbae0705c138010fd89e23e34a298fa73aa Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Tue, 23 May 2017 07:45:42 -0400 Subject: [PATCH 090/588] vision: tests: use new "malformed" image --- packages/google-cloud-vision/system-test/vision.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index d2250f1a3c5..515f7dec4dc 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -35,7 +35,7 @@ describe('Vision', function() { logo: path.join(__dirname, 'data/logo.jpg'), rushmore: path.join(__dirname, 'data/rushmore.jpg'), text: path.join(__dirname, 'data/text.png'), - malformed: path.join(__dirname, 'data/index.yaml') + malformed: __filename }; var TESTS_PREFIX = 'gcloud-vision-test'; From 8f7424cbd0268b79b1435988005c78896675b23b Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Sun, 4 Jun 2017 14:48:28 -0400 Subject: [PATCH 091/588] update deps --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 513d05b4d84..7b3bb5c4794 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -56,7 +56,7 @@ "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.13.0", - "google-proto-files": "^0.11.0", + "google-proto-files": "^0.12.0", "is": "^3.0.1", "prop-assign": "^1.0.0", "propprop": "^0.3.0", From 553a490847a21551c1c71a702f95e8b953d7e8f8 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Sun, 4 Jun 2017 14:52:17 -0400 Subject: [PATCH 092/588] vision @ 0.11.3 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 7b3bb5c4794..4712d4662c0 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.11.2", + "version": "0.11.3", "author": "Google Inc.", "description": "Cloud Vision Client Library for Node.js", "contributors": [ From aaf328042d6e308fdbcb952e3c5e483047387a3f Mon Sep 17 00:00:00 2001 From: Song Wang Date: Thu, 15 Jun 2017 09:58:13 -0700 Subject: [PATCH 093/588] update gapic retry config (#2390) --- .../src/v1/image_annotator_client_config.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json index b7b8b93a752..a5623731dc0 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json @@ -6,9 +6,7 @@ "DEADLINE_EXCEEDED", "UNAVAILABLE" ], - "non_idempotent": [ - "UNAVAILABLE" - ] + "non_idempotent": [] }, "retry_params": { "default": { From 3c82518f534d3304c57e36da86fff473ef5ce717 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Wed, 5 Jul 2017 17:21:15 -0400 Subject: [PATCH 094/588] vision @ 0.11.4 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 4712d4662c0..cf04111ca7b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.11.3", + "version": "0.11.4", "author": "Google Inc.", "description": "Cloud Vision Client Library for Node.js", "contributors": [ From 89a5c49c860613848f5bc55ea25f985df1910aeb Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Wed, 19 Jul 2017 20:14:28 -0400 Subject: [PATCH 095/588] bigtable/datastore/logging/pubsub/spanner/vision: update common-grpc --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index cf04111ca7b..3a82f77406e 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -51,7 +51,7 @@ ], "dependencies": { "@google-cloud/common": "^0.13.0", - "@google-cloud/common-grpc": "^0.3.0", + "@google-cloud/common-grpc": "^0.4.0", "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", From 804db379449674ac12a225d21e1d256130a9f304 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Wed, 19 Jul 2017 20:47:56 -0400 Subject: [PATCH 096/588] vision @ 0.11.5 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 3a82f77406e..0d829c0fc4c 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.11.4", + "version": "0.11.5", "author": "Google Inc.", "description": "Cloud Vision Client Library for Node.js", "contributors": [ From 42f8e94e2f554f3cdd87e613cccea5cf8d7f1a45 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Thu, 20 Jul 2017 12:28:30 -0400 Subject: [PATCH 097/588] vision: tests: fix system tests with upstream responses (#2472) --- packages/google-cloud-vision/system-test/vision.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 515f7dec4dc..3c14dfcda85 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -205,19 +205,17 @@ describe('Vision', function() { errors: [ { code: 400, - message: - 'image-annotator::Bad image data.: Image processing error!', + message: 'Bad image data.', type: 'faces' }, { code: 400, - message: - 'image-annotator::Bad image data.: Image processing error!', + message: 'Bad image data.', type: 'labels' }, { - code: 500, - message: 'image-annotator::error(12): Image processing error!', + code: 400, + message: 'Bad image data.', type: 'safeSearch' } ] @@ -579,7 +577,7 @@ describe('Vision', function() { describe('text', function() { var expectedResults = [ normalizeNewline(multiline.stripIndent(function() {/* - Google Cloud Client Library for Node js an idiomatic, intuitive, and + Google Cloud Client Library for Node.js - an idiomatic, intuitive, and natural way for Node.js developers to integrate with Google Cloud Platform services, like Cloud Datastore and Cloud Storage. From 214ab0ee8018606bf9e9459e22ae98e25d035115 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Wed, 26 Jul 2017 10:48:24 -0700 Subject: [PATCH 098/588] Vision Partial Veneer (#2298) --- packages/google-cloud-vision/README.md | 208 +- packages/google-cloud-vision/package.json | 37 +- .../smoke-test/image_annotator_smoke_test.js | 51 + packages/google-cloud-vision/src/helpers.js | 588 +++++ packages/google-cloud-vision/src/index.js | 2128 +---------------- .../src/v1/doc/doc_geometry.js | 73 + .../src/v1/doc/doc_google_protobuf_any.js | 121 + .../v1/doc/doc_google_protobuf_wrappers.js | 128 + .../src/v1/doc/doc_google_rpc_status.js | 92 + .../src/v1/doc/doc_google_type_color.js | 164 ++ .../src/v1/doc/doc_google_type_latlng.js | 71 + .../src/v1/doc/doc_image_annotator.js | 906 +++++++ .../src/v1/doc/doc_text_annotation.js | 362 +++ .../src/v1/doc/doc_web_detection.js | 108 + .../src/v1/image_annotator_client.js | 21 +- packages/google-cloud-vision/src/v1/index.js | 6 +- .../google-cloud-vision/system-test/vision.js | 569 +---- packages/google-cloud-vision/test/gapic-v1.js | 82 + .../google-cloud-vision/test/helpers.test.js | 283 +++ packages/google-cloud-vision/test/index.js | 1868 --------------- .../google-cloud-vision/test/index.test.js | 50 + 21 files changed, 3233 insertions(+), 4683 deletions(-) create mode 100644 packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js create mode 100644 packages/google-cloud-vision/src/helpers.js create mode 100644 packages/google-cloud-vision/src/v1/doc/doc_geometry.js create mode 100644 packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_any.js create mode 100644 packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_wrappers.js create mode 100644 packages/google-cloud-vision/src/v1/doc/doc_google_rpc_status.js create mode 100644 packages/google-cloud-vision/src/v1/doc/doc_google_type_color.js create mode 100644 packages/google-cloud-vision/src/v1/doc/doc_google_type_latlng.js create mode 100644 packages/google-cloud-vision/src/v1/doc/doc_image_annotator.js create mode 100644 packages/google-cloud-vision/src/v1/doc/doc_text_annotation.js create mode 100644 packages/google-cloud-vision/src/v1/doc/doc_web_detection.js create mode 100644 packages/google-cloud-vision/test/gapic-v1.js create mode 100644 packages/google-cloud-vision/test/helpers.test.js delete mode 100644 packages/google-cloud-vision/test/index.js create mode 100644 packages/google-cloud-vision/test/index.test.js diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 6061e4fd54a..f99e475ccd5 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -1,168 +1,60 @@ -# @google-cloud/vision ([Beta][versioning]) -> Cloud Vision Client Library for Node.js +# Node.js Client for Google Cloud Vision API ([Beta](https://github.com/GoogleCloudPlatform/google-cloud-node#versioning)) -*Looking for more Google APIs than just Vision? You might want to check out [`google-cloud`][google-cloud].* +[Google Cloud Vision API][Product Documentation]: Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications. +- [Client Library Documentation][] +- [Product Documentation][] -- [API Documentation][gcloud-vision-docs] -- [Official Documentation][cloud-vision-docs] +## Quick Start +In order to use this library, you first need to go through the following steps: +1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project) +2. [Enable the Google Cloud Vision API.](https://console.cloud.google.com/apis/api/vision) +3. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-node/#/docs/google-cloud/master/guides/authentication) -```sh -$ npm install --save @google-cloud/vision +### Installation ``` -```js -var vision = require('@google-cloud/vision')({ - projectId: 'grape-spaceship-123', - keyFilename: '/path/to/keyfile.json' -}); - -// Read the text from an image. -vision.detectText('./image.jpg', function(err, text) { - // text = [ - // 'This was text found in the image', - // 'This was more text found in the image' - // ] -}); - -// Detect faces and the locations of their features in an image. -vision.detectFaces('./image.jpg', function(err, faces) { - // faces = [ - // { - // angles: {pan,tilt,roll}, - // bounds: { - // head: [{x,y},{x,y},{x,y},{x,y}], - // face: [{x,y},{x,y},{x,y},{x,y}] - // }, - // features: { - // confidence: 34.489909, - // chin: { - // center: {x,y,z}, - // left: {x,y,z}, - // right: {x,y,z} - // }, - // ears: { - // left: {x,y,z}, - // right: {x,y,z} - // }, - // eyebrows: { - // left: { - // left: {x,y,z}, - // right: {x,y,z}, - // top: {x,y,z} - // }, - // right: { - // left: {x,y,z}, - // right: {x,y,z}, - // top: {x,y,z} - // } - // }, - // eyes: { - // left: { - // bottom: {x,y,z}, - // center: {x,y,z}, - // left: {x,y,z}, - // pupil: {x,y,z}, - // right: {x,y,z}, - // top: {x,y,z} - // }, - // right: { - // bottom: {x,y,z}, - // center: {x,y,z}, - // left: {x,y,z}, - // pupil: {x,y,z}, - // right: {x,y,z}, - // top: {x,y,z} - // } - // }, - // forehead: {x,y,z}, - // lips: { - // bottom: {x,y,z}, - // top: {x,y,z} - // }, - // mouth: { - // center: {x,y,z}, - // left: {x,y,z}, - // right: {x,y,z} - // }, - // nose: { - // bottom: { - // center: {x,y,z}, - // left: {x,y,z}, - // right: {x,y,z} - // }, - // tip: {x,y,z}, - // top: {x,y,z} - // } - // }, - // confidence: 56.748849, - // blurry: false, - // dark: false, - // happy: false, - // hat: false, - // mad: false, - // sad: false, - // surprised: false - // } - // ] -}); - -// Promises are also supported by omitting callbacks. -vision.detectFaces('./image.jpg').then(function(data) { - var faces = data[0]; -}); - -// It's also possible to integrate with third-party Promise libraries. -var vision = require('@google-cloud/vision')({ - promise: require('bluebird') -}); -``` - - -## Authentication - -It's incredibly easy to get authenticated and start using Google's APIs. You can set your credentials on a global basis as well as on a per-API basis. See each individual API section below to see how you can auth on a per-API-basis. This is useful if you want to use different accounts for different Cloud services. - -### On Google Cloud Platform - -If you are running this client on Google Cloud Platform, we handle authentication for you with no configuration. You just need to make sure that when you [set up the GCE instance][gce-how-to], you add the correct scopes for the APIs you want to access. - -``` js -var vision = require('@google-cloud/vision')(); -// ...you're good to go! +$ npm install --save @google-cloud/vision ``` -### Elsewhere - -If you are not running this client on Google Cloud Platform, you need a Google Developers service account. To create a service account: - -1. Visit the [Google Developers Console][dev-console]. -2. Create a new project or click on an existing project. -3. Navigate to **APIs & auth** > **APIs section** and turn on the following APIs (you may need to enable billing in order to use these services): - * Google Cloud Vision API -4. Navigate to **APIs & auth** > **Credentials** and then: - * If you want to use a new service account, click on **Create new Client ID** and select **Service account**. After the account is created, you will be prompted to download the JSON key file that the library uses to authenticate your requests. - * If you want to generate a new key for an existing service account, click on **Generate new JSON key** and download the JSON key file. - -``` js -var projectId = process.env.GCLOUD_PROJECT; // E.g. 'grape-spaceship-123' - -var vision = require('@google-cloud/vision')({ - projectId: projectId, - - // The path to your key file: - keyFilename: '/path/to/keyfile.json' - - // Or the contents of the key file: - credentials: require('./path/to/keyfile.json') -}); - -// ...you're good to go! +### Preview +#### ImageAnnotatorClient +```js + var vision = require('@google-cloud/vision'); + + var client = vision({ + // optional auth parameters. + }); + + var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + var source = { + gcsImageUri : gcsImageUri + }; + var image = { + source : source + }; + var type = vision.v1.types.Feature.Type.FACE_DETECTION; + var featuresElement = { + type : type + }; + var features = [featuresElement]; + var requestsElement = { + image : image, + features : features + }; + var requests = [requestsElement]; + client.batchAnnotateImages({requests: requests}).then(function(responses) { + var response = responses[0]; + // doThingsWith(response) + }) + .catch(function(err) { + console.error(err); + }); ``` +### Next Steps +- Read the [Client Library Documentation][] for Google Cloud Vision API to see other available methods on the client. +- Read the [Google Cloud Vision API Product documentation][Product Documentation] to learn more about the product and see How-to Guides. +- View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-node/blob/master/README.md) to see the full list of Cloud APIs that we cover. -[versioning]: https://github.com/GoogleCloudPlatform/google-cloud-node#versioning -[google-cloud]: https://github.com/GoogleCloudPlatform/google-cloud-node/ -[gce-how-to]: https://cloud.google.com/compute/docs/authentication#using -[dev-console]: https://console.developers.google.com/project -[gcloud-vision-docs]: https://googlecloudplatform.github.io/google-cloud-node/#/docs/vision -[cloud-vision-docs]: https://cloud.google.com/vision/docs +[Client Library Documentation]: https://googlecloudplatform.github.io/google-cloud-node/#/docs/vision +[Product Documentation]: https://cloud.google.com/vision \ No newline at end of file diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 0d829c0fc4c..a1a1b3dce2b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,8 +1,9 @@ { + "repository": "GoogleCloudPlatform/google-cloud-node", "name": "@google-cloud/vision", "version": "0.11.5", - "author": "Google Inc.", - "description": "Cloud Vision Client Library for Node.js", + "author": "Google Inc", + "description": "Google Cloud Vision API client for Node.js", "contributors": [ { "name": "Burcu Dogan", @@ -29,14 +30,12 @@ "email": "sawchuk@gmail.com" } ], - "main": "./src/index.js", + "main": "src/index.js", "files": [ "src", "AUTHORS", - "CONTRIBUTORS", "COPYING" ], - "repository": "googlecloudplatform/google-cloud-node", "keywords": [ "google apis client", "google api client", @@ -47,36 +46,32 @@ "google cloud", "cloud", "google vision", - "vision" + "vision", + "Google Cloud Vision API" ], "dependencies": { "@google-cloud/common": "^0.13.0", - "@google-cloud/common-grpc": "^0.4.0", - "arrify": "^1.0.0", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.13.0", + "google-gax": "^0.13.2", "google-proto-files": "^0.12.0", - "is": "^3.0.1", - "prop-assign": "^1.0.0", - "propprop": "^0.3.0", - "rgb-hex": "^1.0.0", - "string-format-obj": "^1.0.0" + "is": "^3.0.1" }, "devDependencies": { "@google-cloud/storage": "*", - "deep-strict-equal": "^0.2.0", + "intelli-espower-loader": "^1.0.1", "mocha": "^3.0.1", - "multiline": "^1.0.2", "node-uuid": "^1.4.7", - "normalize-newline": "^2.0.0", - "proxyquire": "^1.7.10", - "tmp": "^0.0.31" + "nyc": "^10.3.0", + "power-assert": "^1.4.2", + "sinon": "^2.2.0" }, "scripts": { + "cover": "nyc --reporter=lcov --reporter=html mocha --no-timeouts --require intelli-espower-loader test/*.js && nyc report", "publish-module": "node ../../scripts/publish.js vision", - "test": "mocha test/*.js", - "system-test": "mocha system-test/*.js --no-timeouts --bail" + "test": "mocha --require intelli-espower-loader test/*.js", + "smoke-test": "mocha smoke-test/*.js --timeout 5000", + "system-test": "mocha system-test/*.js --require intelli-espower-loader --no-timeouts --bail" }, "license": "Apache-2.0", "engines": { diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js new file mode 100644 index 00000000000..6ee7a38e231 --- /dev/null +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -0,0 +1,51 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ +'use strict'; + +describe('ImageAnnotatorSmokeTest', function() { + + it('successfully makes a call to the service', function(done) { + var vision = require('../src'); + + var client = vision.v1({ + // optional auth parameters. + }); + + var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + var source = { + gcsImageUri : gcsImageUri + }; + var image = { + source : source + }; + var type = vision.v1.types.Feature.Type.FACE_DETECTION; + var featuresElement = { + type : type + }; + var features = [featuresElement]; + var requestsElement = { + image : image, + features : features + }; + var requests = [requestsElement]; + client.batchAnnotateImages({requests: requests}).then(function(responses) { + var response = responses[0]; + console.log(response); + }) + .then(done) + .catch(done); + }); +}); \ No newline at end of file diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js new file mode 100644 index 00000000000..d71c32412ae --- /dev/null +++ b/packages/google-cloud-vision/src/helpers.js @@ -0,0 +1,588 @@ +/*! + * Copyright 2017 Google Inc. All Rights Reserved. + * + * 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. + */ + +/*! + * @module vision/helpers + */ + +'use strict'; + +var fs = require('fs'); +var is = require('is'); + +var promisify = require('@google-cloud/common').util.promisify; +var gax = require('google-gax'); +var protoFiles = require('google-proto-files'); + + +/*! + * Find a given image and fire a callback with the appropriate image structure. + * + * @param {Object} image - An object representing what is known about the + * image. + * @param {Function} callback - The callback to run. + */ +var coerceImage = (image, callback) => { + // If this is a buffer, read it and send the object + // that the Vision API expects. + if (Buffer.isBuffer(image)) { + callback(null, { + content: image.toString('base64') + }); + return; + } + + // File exists on disk. + if (image.source && image.source.filename) { + fs.readFile(image.source.filename, {encoding: 'base64'}, (err, blob) => { + if (err) { + callback(err); + return; + } + callback(null, {content: blob.toString('base64')}); + }); + return; + } + + // No other options were relevant; return the image with no modification. + callback(null, image); + return; +}; + + +/*! + * + * Return a method that calls annotateImage asking for a single feature. + * + * @param {Number} featureValue - The feature being requested. This is taken + * from the Feature.Type enum, and will be an integer. + * + * @return {Function} - The function that, when called, will call annotateImage + * asking for the single feature annotation. + */ +var _createSingleFeatureMethod = featureValue => { + return function(image, options) { + return this.annotateImage({ + image: image, + features: [{type: featureValue}], + }, options); + }; +}; + + +/*! + * Return a dictionary-like object with helpers to augment the Vision + * GAPIC. + * + * @param {string} apiVersion - The API version (e.g. "v1") + * + * @return {Object} - An object with keys and functions which are placed + * onto the pure GAPIC. + */ +module.exports = apiVersion => { + var methods = {}; + + /** + * Annotate a single image with the requested features. + * + * @param {Object=} request + * A representation of the request being sent to the Vision API. + * @param {Object=} request.image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Array} request.features + * An array of the specific annotation features being requested. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var request = { + * image: {source: {imageUri: 'gs://path/to/image.jpg'}}, + * features: [], + * }; + * vision.annotateImage(request).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.annotateImage = promisify(function(request, options, callback) { + // If a callback was provided and options were skipped, normalize + // the argument names. + if (is.undefined(callback) && is.function(options)) { + callback = options; + options = undefined; + } + + // If there is no image, throw an exception. + if (is.undefined(request.image)) { + throw new Error('Attempted to call `annotateImage` with no image.'); + } + + // If we got a filename for the image, open the file and transform + // it to content. + return coerceImage(request.image, (err, image) => { + if (err) { + return callback(err); + } + request.image = image; + + // Call the GAPIC batch annotation function. + return this.batchAnnotateImages([request], options, (err, r) => { + // If there is an error, handle it. + if (err) { + return callback(err); + } + + // We are guaranteed to only have one response element, since we + // only sent one image. + var response = r.responses[0]; + + // Fire the callback if applicable. + return callback(undefined, response); + }); + }); + }); + + // Get a list of features available on the API. Although we could iterate over + // them and create single-feature methods for each dynamically, for + // documentation purpose, we manually list all the single-feature methods + // below. + const features = gax.grpc().load([{ + root: protoFiles('..'), + file: `google/cloud/vision/${apiVersion}/image_annotator.proto`, + }]).google.cloud.vision[apiVersion].Feature.Type; + + /** + * Annotate a single image with face detection. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.faceDetection(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.faceDetection = + promisify(_createSingleFeatureMethod(features.FACE_DETECTION)); + + /** + * Annotate a single image with landmark detection. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.landmarkDetection(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.landmarkDetection = + promisify(_createSingleFeatureMethod(features.LANDMARK_DETECTION)); + + /** + * Annotate a single image with logo detection. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.logoDetection(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.logoDetection = + promisify(_createSingleFeatureMethod(features.LOGO_DETECTION)); + + /** + * Annotate a single image with label detection. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.labelDetection(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.labelDetection = + promisify(_createSingleFeatureMethod(features.LABEL_DETECTION)); + + /** + * Annotate a single image with text detection. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.textDetection(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.textDetection = + promisify(_createSingleFeatureMethod(features.TEXT_DETECTION)); + + /** + * Annotate a single image with document text detection. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.documentTextDetection(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.documentTextDetection = + promisify(_createSingleFeatureMethod(features.DOCUMENT_TEXT_DETECTION)); + + /** + * Annotate a single image with safe search detection. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.safeSearchDetection(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.safeSearchDetection = + promisify(_createSingleFeatureMethod(features.SAFE_SEARCH_DETECTION)); + + /** + * Annotate a single image with image properties. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.imageProperties(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.imageProperties = + promisify(_createSingleFeatureMethod(features.IMAGE_PROPERTIES)); + + /** + * Annotate a single image with crop hints. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.cropHints(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.cropHints = + promisify(_createSingleFeatureMethod(features.CROP_HINTS)); + + /** + * Annotate a single image with web detection. + * + * @param {Object=} image + * A dictionary-like object representing the image. This should have a + * single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {Object=} options + * Optional parameters. You can override the default settings for this + * call, e.g, timeout, retries, paginations, etc. See + * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?Object)=} callback + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @return {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing + * API call. + * + * @example + * var image = { + * source: {imageUri: 'gs://path/to/image.jpg'} + * }; + * vision.webDetection(image).then(response => { + * // doThingsWith(response); + * }).catch(err => { + * console.error(err); + * }); + */ + methods.webDetection = + promisify(_createSingleFeatureMethod(features.WEB_DETECTION)); + + return methods; +}; diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index d2b55077e91..a001f886c94 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -16,2101 +16,65 @@ /*! * @module vision + * @name Vision */ 'use strict'; -var arrify = require('arrify'); -var async = require('async'); -var common = require('@google-cloud/common'); -var commonGrpc = require('@google-cloud/common-grpc'); -var extend = require('extend'); -var format = require('string-format-obj'); -var fs = require('fs'); var is = require('is'); -var prop = require('propprop'); -var propAssign = require('prop-assign'); -var rgbHex = require('rgb-hex'); - -var v1 = require('./v1'); - -var VERY_UNLIKELY = 0; -var UNLIKELY = 1; -var POSSIBLE = 2; -var LIKELY = 3; -var VERY_LIKELY = 4; - -/** - * The [Cloud Vision API](https://cloud.google.com/vision/docs) allows easy - * integration of vision detection features, including image labeling, face and - * landmark detection, optical character recognition (OCR), and tagging of - * explicit content. - * - * @constructor - * @alias module:vision - * - * @resource [Getting Started]{@link https://cloud.google.com/vision/docs/getting-started} - * @resource [Image Best Practices]{@link https://cloud.google.com/vision/docs/image-best-practices} - * - * @param {object} options - [Configuration object](#/docs). - */ -function Vision(options) { - if (!(this instanceof Vision)) { - options = common.util.normalizeArguments(this, options); - return new Vision(options); - } - - options = extend({}, options, { - libName: 'gccl', - libVersion: require('../package.json').version - }); - - this.api = { - Vision: v1(options).imageAnnotatorClient(options) - }; -} - -Vision.likelihood = { - VERY_UNLIKELY: VERY_UNLIKELY, - UNLIKELY: UNLIKELY, - POSSIBLE: POSSIBLE, - LIKELY: LIKELY, - VERY_LIKELY: VERY_LIKELY -}; - -/** - * Run image detection and annotation for an image or batch of images. - * - * This is an advanced API method that requires raw - * [`AnnotateImageRequest`](https://cloud.google.com/vision/reference/rest/v1/images/annotate#AnnotateImageRequest) - * objects to be provided. If that doesn't sound like what you're looking for, - * you'll probably appreciate {module:vision#detect}. - * - * @resource [images.annotate API Reference]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate} - * - * @param {object|object[]} requests - An `AnnotateImageRequest` or array of - * `AnnotateImageRequest`s. See an - * [`AnnotateImageRequest`](https://cloud.google.com/vision/reference/rest/v1/images/annotate#AnnotateImageRequest). - * @param {function} callback - The callback function. - * @param {?error} callback.err - An error returned while making this request. - * @param {object} callback.annotations - See an - * [`AnnotateImageResponse`](https://cloud.google.com/vision/reference/rest/v1/images/annotate#AnnotateImageResponse). - * @param {object} callback.apiResponse - Raw API response. - * - * @example - * var annotateImageReq = { - * // See the link in the parameters for `AnnotateImageRequest`. - * }; - * - * vision.annotate(annotateImageReq, function(err, annotations, apiResponse) { - * // annotations = apiResponse.responses - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.annotate(annotateImageReq).then(function(data) { - * var annotations = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.annotate = function(requests, callback) { - this.api.Vision.batchAnnotateImages({ - requests: arrify(requests) - }, function(err, resp) { - if (err) { - callback(err, null, resp); - return; - } - - callback(null, resp.responses, resp); - }); -}; - -// jscs:disable maximumLineLength -/** - * Detect properties from an image (or images) of one or more types. - * - *

API simplifications

- * - * The raw API response will return some values in a range from `VERY_UNLIKELY` - * to `VERY_LIKELY`. For simplification, any value less than `LIKELY` is - * converted to `false`. - * - * - **False** - * - `VERY_UNLIKELY` - * - `UNLIKELY` - * - `POSSIBLE` - * - **True** - * - `LIKELY` - * - `VERY_LIKELY` - * - * The API will also return many values represented in a `[0,1]` range. We - * convert these to a `[0,100]` value. E.g, `0.4` is represented as `40`. - * - * For the response in the original format, review the `apiResponse` argument - * your callback receives. - * - * @param {string|string[]|buffer|buffer[]|module:storage/file|module:storage/file[]} images - The - * source image(s) to run the detection on. It can be either a local image - * path, a remote image URL, a Buffer, or a @google-cloud/storage File - * object. - * @param {string[]|object=} options - An array of types or a configuration - * object. - * @param {object=} options.imageContext - See an - * [`ImageContext`](https://cloud.google.com/vision/reference/rest/v1/images/annotate#ImageContext) - * resource. - * @param {number} options.maxResults - The maximum number of results, per type, - * to return in the response. - * @param {string[]} options.types - An array of feature types to detect from - * the provided images. Acceptable values: `crops`, `document`, `faces`, - * `landmarks`, `labels`, `logos`, `properties`, `safeSearch`, `similar`, - * `text`. - * @param {boolean=} options.verbose - Use verbose mode, which returns a less- - * simplistic representation of the annotation (default: `false`). - * @param {function} callback - The callback function. - * @param {?error} callback.err - An error returned while making this request. - * @param {object[]} callback.err.errors - If present, these represent partial - * failures. It's possible for part of your request to be completed - * successfully, while a single feature request was not successful. - * @param {object|object[]} callback.detections - If a single detection type was - * asked for, it will be returned in its raw form; either an object or array - * of objects. If multiple detection types were requested, you will receive - * an object with keys for each detection type (listed above in - * `config.types`). Additionally, if multiple images were provided, you will - * receive an array of detection objects, each representing an image. See - * the examples below for more information. - * @param {object} callback.apiResponse - Raw API response. - * - * @example - * var types = [ - * 'face', - * 'label' - * ]; - * - * vision.detect('image.jpg', types, function(err, detections, apiResponse) { - * // detections = { - * // faces: [...], - * // labels: [...] - * // } - * }); - * - * //- - * // Run feature detection over a remote image. - * //- - * var img = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; - * - * vision.detect(img, types, function(err, detection, apiResponse) {}); - * - * //- - * // Run feature detection over a Buffer. - * //- - * var level = require('level'); - * var db = level('./users-database'); - * - * db.get('user-image', { encoding: 'binary' }, function(err, image) { - * if (err) { - * // Error handling omitted. - * } - * - * vision.detect(image, types, function(err, detection, apiResponse) {}); - * }); - * - * //- - * // If you have a base64 string, provide it in a Buffer. - * //- - * var myBase64ImageRepresentation = '...'; - * - * var image = new Buffer(myBase64ImageRepresentation, 'base64'); - * - * vision.detect(image, types, function(err, detection, apiResponse) {}); - * - * //- - * // Supply multiple images for feature detection. - * //- - * var images = [ - * 'image.jpg', - * 'image-two.jpg' - * ]; - * - * var types = [ - * 'face', - * 'label' - * ]; - * - * vision.detect(images, types, function(err, detections, apiResponse) { - * // detections = [ - * // // Detections for image.jpg: - * // { - * // faces: [...], - * // labels: [...] - * // }, - * // - * // // Detections for image-two.jpg: - * // { - * // faces: [...], - * // labels: [...] - * // } - * // ] - * }); - * - * //- - * // It's possible for part of your request to be completed successfully, while - * // a single feature request was not successful. - * //- - * vision.detect('malformed-image.jpg', types, function(err, detections) { - * if (err) { - * // An API error or partial failure occurred. - * - * if (err.name === 'PartialFailureError') { - * // err.errors = [ - * // { - * // image: 'malformed-image.jpg', - * // errors: [ - * // { - * // code: 400, - * // message: 'Bad image data', - * // type: 'faces' - * // }, - * // { - * // code: 400, - * // message: 'Bad image data', - * // type: 'labels' - * // } - * // ] - * // } - * // ] - * } - * } - * - * // `detections` will still be populated with all of the results that could - * // be annotated. - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detect('image.jpg', types).then(function(data) { - * var detections = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detect = function(images, options, callback) { - var self = this; - var isSingleImage = !is.array(images) || images.length === 1; - - if (!is.object(options)) { - options = { - types: options - }; - } - - var types = arrify(options.types); - - var typeShortNameToFullName = { - crop: 'CROP_HINTS', - crops: 'CROP_HINTS', - - doc: 'DOCUMENT_TEXT_DETECTION', - document: 'DOCUMENT_TEXT_DETECTION', - - face: 'FACE_DETECTION', - faces: 'FACE_DETECTION', - - label: 'LABEL_DETECTION', - labels: 'LABEL_DETECTION', - - landmark: 'LANDMARK_DETECTION', - landmarks: 'LANDMARK_DETECTION', - - logo: 'LOGO_DETECTION', - logos: 'LOGO_DETECTION', - - properties: 'IMAGE_PROPERTIES', - - safeSearch: 'SAFE_SEARCH_DETECTION', - - similar: 'WEB_DETECTION', - - text: 'TEXT_DETECTION' - }; - - var typeShortNameToRespName = { - crop: 'cropHintsAnnotation', - crops: 'cropHintsAnnotation', - - doc: 'fullTextAnnotation', - document: 'fullTextAnnotation', - - face: 'faceAnnotations', - faces: 'faceAnnotations', - - label: 'labelAnnotations', - labels: 'labelAnnotations', - - landmark: 'landmarkAnnotations', - landmarks: 'landmarkAnnotations', - - logo: 'logoAnnotations', - logos: 'logoAnnotations', - - properties: 'imagePropertiesAnnotation', - - safeSearch: 'safeSearchAnnotation', - - similar: 'webDetection', - - text: 'textAnnotations' - }; - - var typeRespNameToShortName = { - cropHintsAnnotation: 'crops', - faceAnnotations: 'faces', - fullTextAnnotation: 'document', - imagePropertiesAnnotation: 'properties', - labelAnnotations: 'labels', - landmarkAnnotations: 'landmarks', - logoAnnotations: 'logos', - safeSearchAnnotation: 'safeSearch', - textAnnotations: 'text', - webDetection: 'similar' - }; - - Vision.findImages_(images, function(err, foundImages) { - if (err) { - callback(err); - return; - } - - var config = []; - - foundImages.forEach(function(image) { - types.forEach(function(type) { - var typeName = typeShortNameToFullName[type]; - - if (!typeName) { - throw new Error('Requested detection feature not found: ' + type); - } - - var cfg = { - image: image, - features: [ - { - type: typeName - } - ] - }; - - if (is.object(options.imageContext)) { - cfg.imageContext = options.imageContext; - } - - if (is.number(options.maxResults)) { - cfg.features.map(propAssign('maxResults', options.maxResults)); - } - - config.push(cfg); - }); - }); - - self.annotate(config, function(err, annotations, resp) { - if (err) { - callback(err, null, resp); - return; - } - - var originalResp = extend(true, {}, resp); - var partialFailureErrors = []; - - var detections = foundImages - .map(groupDetectionsByImage) - .map(removeExtraneousAnnotationObjects) - .map(assignTypeToEmptyAnnotations) - .map(removeDetectionsWithErrors) - .map(flattenAnnotations) - .map(decorateAnnotations); - - if (partialFailureErrors.length > 0) { - err = new common.util.PartialFailureError({ - errors: partialFailureErrors, - response: originalResp - }); - } - - if (isSingleImage && detections.length > 0) { - // If only a single image was given, expose it from the array. - detections = detections[0]; - } - - callback(err, detections, originalResp); - - function groupDetectionsByImage() { - // detections = [ - // // Image one: - // [ - // { - // faceAnnotations: {}, - // labelAnnotations: {}, - // ... - // } - // ], - // - // // Image two: - // [ - // { - // faceAnnotations: {}, - // labelAnnotations: {}, - // ... - // } - // ] - // ] - return annotations.splice(0, types.length); - } - - function removeExtraneousAnnotationObjects(annotations) { - // The API response includes empty annotations for features that weren't - // requested. - // - // Before: - // [ - // { - // faceAnnotations: {}, - // labelAnnotations: {} - // } - // ] - // - // After: - // [ - // { - // faceAnnotations: {} - // } - // ] - return annotations.map(function(annotation, index) { - var requestedAnnotationType = typeShortNameToRespName[types[index]]; - - for (var prop in annotation) { - if (prop !== requestedAnnotationType && prop !== 'error') { - /* istanbul ignore next */ - delete annotation[prop]; - } - } - - return annotation; - }); - } - - function assignTypeToEmptyAnnotations(annotations) { - // Before: - // [ - // {}, // What annotation type was attempted? - // { labelAnnotations: {...} } - // ] - // - // After: - // [ - // { faceAnnotations: [] }, - // { labelAnnotations: {...} } - // ] - return annotations.map(function(annotation, index) { - var detectionType = types[index]; - var typeName = typeShortNameToRespName[detectionType]; - - if (is.empty(annotation) || annotation.error) { - var isPlural = typeName.charAt(typeName.length - 1) === 's'; - annotation[typeName] = isPlural ? [] : {}; - } - - return annotation; - }); - } - - function removeDetectionsWithErrors(annotations, index) { - // Before: - // [ - // { - // faceAnnotations: [] - // }, - // { - // error: {...}, - // imagePropertiesAnnotation: {} - // } - // ] - - // After: - // [ - // { - // faceAnnotations: [] - // }, - // undefined - // ] - var errors = []; - - annotations.forEach(function(annotation, index) { - if (!is.empty(annotation.error)) { - var userInputType = types[index]; - var respNameType = typeShortNameToRespName[userInputType]; - annotation.error.type = typeRespNameToShortName[respNameType]; - errors.push(Vision.formatError_(annotation.error)); - } - }); - - if (errors.length > 0) { - partialFailureErrors.push({ - image: isSingleImage ? images : images[index], - errors: errors - }); - - return; - } - - return annotations; - } - - function flattenAnnotations(annotations) { - return extend.apply(null, annotations); - } - - function formatAnnotationBuilder(type) { - return function(annotation) { - if (is.empty(annotation)) { - return annotation; - } - - var formatMethodMap = { - cropHintsAnnotation: Vision.formatCropHintsAnnotation_, - error: Vision.formatError_, - faceAnnotations: Vision.formatFaceAnnotation_, - fullTextAnnotation: Vision.formatFullTextAnnotation_, - imagePropertiesAnnotation: Vision.formatImagePropertiesAnnotation_, - labelAnnotations: Vision.formatEntityAnnotation_, - landmarkAnnotations: Vision.formatEntityAnnotation_, - logoAnnotations: Vision.formatEntityAnnotation_, - safeSearchAnnotation: Vision.formatSafeSearchAnnotation_, - textAnnotations: Vision.formatEntityAnnotation_, - webDetection: Vision.formatWebDetection_ - }; - - var formatMethod = formatMethodMap[type] || function(annotation) { - return annotation; - }; - - return formatMethod(annotation, options); - }; - } - - function decorateAnnotations(annotations) { - for (var annotationType in annotations) { - if (annotations.hasOwnProperty(annotationType)) { - var annotationGroup = arrify(annotations[annotationType]); - - var formattedAnnotationGroup = annotationGroup - .map(formatAnnotationBuilder(annotationType)); - - // An annotation can be singular, e.g. SafeSearch. It is either - // violent or not. Unlike face detection, where there can be - // multiple results. - // - // Be sure the original type (object or array) is preserved and - // not wrapped in an array if it wasn't originally. - if (!is.array(annotations[annotationType])) { - formattedAnnotationGroup = formattedAnnotationGroup[0]; - } - - delete annotations[annotationType]; - var typeShortName = typeRespNameToShortName[annotationType]; - annotations[typeShortName] = formattedAnnotationGroup; - } - } - - if (types.length === 1) { - // Only a single detection type was asked for, so no need to box in - // the results. Make them accessible without using a key. - var key = typeRespNameToShortName[typeShortNameToRespName[types[0]]]; - annotations = annotations[key]; - } - - return annotations; - } - }); - }); -}; - -// jscs:enable maximumLineLength - -/** - * Detect the crop hints within an image. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @resource [CropHintsAnnotation JSON respresentation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#CropHintsAnnotation} - * - * @example - * vision.detectCrops('image.jpg', function(err, crops, apiResponse) { - * // crops = [ - * // [ - * // { - * // x: 1 - * // }, - * // { - * // x: 295 - * // }, - * // { - * // x: 295, - * // y: 301 - * // }, - * // { - * // x: 1, - * // y: 301 - * // } - * // ], - * // // ... - * // ] - * }); - * - * //- - * // Activate `verbose` mode for a more detailed response. - * //- - * var options = { - * verbose: true - * }; - * - * vision.detectCrops('image.jpg', options, function(err, crops, apiResponse) { - * // crops = [ - * // { - * // bounds: [ - * // { - * // x: 1 - * // }, - * // { - * // x: 295 - * // }, - * // { - * // x: 295, - * // y: 301 - * // }, - * // { - * // x: 1, - * // y: 301 - * // } - * // ], - * // confidence: 0.799999995 - * // }, - * // // ... - * // ] - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detectCrops('image.jpg').then(function(data) { - * var crops = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detectCrops = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['crops'] - }); - - this.detect(images, options, callback); -}; - -/** - * Run face detection against an image. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @resource [FaceAnnotation JSON respresentation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#FaceAnnotation} - * - * @example - * vision.detectFaces('image.jpg', function(err, faces, apiResponse) { - * // faces = [ - * // { - * // angles: { - * // pan: -8.1090336, - * // roll: -5.0002542, - * // tilt: 18.012161 - * // }, - * // bounds: { - * // head: [ - * // { - * // x: 1 - * // }, - * // { - * // x: 295 - * // }, - * // { - * // x: 295, - * // y: 301 - * // }, - * // { - * // x: 1, - * // y: 301 - * // } - * // ], - * // face: [ - * // { - * // x: 28, - * // y: 40 - * // }, - * // { - * // x: 250, - * // y: 40 - * // }, - * // { - * // x: 250, - * // y: 262 - * // }, - * // { - * // x: 28, - * // y: 262 - * // } - * // ] - * // }, - * // features: { - * // confidence: 34.489909, - * // chin: { - * // center: { - * // x: 143.34183, - * // y: 262.22998, - * // z: -57.388493 - * // }, - * // left: { - * // x: 63.102425, - * // y: 248.99081, - * // z: 44.207638 - * // }, - * // right: { - * // x: 241.72728, - * // y: 225.53488, - * // z: 19.758242 - * // } - * // }, - * // ears: { - * // left: { - * // x: 54.872219, - * // y: 207.23712, - * // z: 97.030685 - * // }, - * // right: { - * // x: 252.67567, - * // y: 180.43124, - * // z: 70.15992 - * // } - * // }, - * // eyebrows: { - * // left: { - * // left: { - * // x: 58.790176, - * // y: 113.28249, - * // z: 17.89735 - * // }, - * // right: { - * // x: 106.14151, - * // y: 98.593758, - * // z: -13.116687 - * // }, - * // top: { - * // x: 80.248711, - * // y: 94.04303, - * // z: 0.21131183 - * // } - * // }, - * // right: { - * // left: { - * // x: 148.61565, - * // y: 92.294594, - * // z: -18.804882 - * // }, - * // right: { - * // x: 204.40808, - * // y: 94.300117, - * // z: -2.0009689 - * // }, - * // top: { - * // x: 174.70135, - * // y: 81.580917, - * // z: -12.702137 - * // } - * // } - * // }, - * // eyes: { - * // left: { - * // bottom: { - * // x: 84.883934, - * // y: 134.59479, - * // z: -2.8677137 - * // }, - * // center: { - * // x: 83.707092, - * // y: 128.34, - * // z: -0.00013388535 - * // }, - * // left: { - * // x: 72.213913, - * // y: 132.04138, - * // z: 9.6985674 - * // }, - * // pupil: { - * // x: 86.531624, - * // y: 126.49807, - * // z: -2.2496929 - * // }, - * // right: { - * // x: 105.28892, - * // y: 125.57655, - * // z: -2.51554 - * // }, - * // top: { - * // x: 86.706947, - * // y: 119.47144, - * // z: -4.1606765 - * // } - * // }, - * // right: { - * // bottom: { - * // x: 179.30353, - * // y: 121.03307, - * // z: -14.843414 - * // }, - * // center: { - * // x: 181.17694, - * // y: 115.16437, - * // z: -12.82961 - * // }, - * // left: { - * // x: 158.2863, - * // y: 118.491, - * // z: -9.723031 - * // }, - * // pupil: { - * // x: 175.99976, - * // y: 114.64407, - * // z: -14.53744 - * // }, - * // right: { - * // x: 194.59413, - * // y: 115.91954, - * // z: -6.952745 - * // }, - * // top: { - * // x: 173.99446, - * // y: 107.94287, - * // z: -16.050705 - * // } - * // } - * // }, - * // forehead: { - * // x: 126.53813, - * // y: 93.812057, - * // z: -18.863352 - * // }, - * // lips: { - * // bottom: { - * // x: 137.28528, - * // y: 219.23564, - * // z: -56.663128 - * // }, - * // top: { - * // x: 134.74164, - * // y: 192.50438, - * // z: -53.876408 - * // } - * // }, - * // mouth: { - * // center: { - * // x: 136.43481, - * // y: 204.37952, - * // z: -51.620205 - * // }, - * // left: { - * // x: 104.53558, - * // y: 214.05037, - * // z: -30.056231 - * // }, - * // right: { - * // x: 173.79134, - * // y: 204.99333, - * // z: -39.725758 - * // } - * // }, - * // nose: { - * // bottom: { - * // center: { - * // x: 133.81947, - * // y: 173.16437, - * // z: -48.287724 - * // }, - * // left: { - * // x: 110.98372, - * // y: 173.61331, - * // z: -29.7784 - * // }, - * // right: { - * // x: 161.31354, - * // y: 168.24527, - * // z: -36.1628 - * // } - * // }, - * // tip: { - * // x: 128.14919, - * // y: 153.68129, - * // z: -63.198204 - * // }, - * // top: { - * // x: 127.83745, - * // y: 110.17557, - * // z: -22.650913 - * // } - * // } - * // }, - * // confidence: 56.748849, - * // anger: false, - * // angerLikelihood: 1, - * // blurred: false, - * // blurredLikelihood: 1, - * // headwear: false, - * // headwearLikelihood: 1, - * // joy: false, - * // joyLikelihood: 1, - * // sorrow: false, - * // sorrowLikelihood: 1, - * // surprise: false, - * // surpriseLikelihood: 1, - * // underExposed: false, - * // underExposedLikelihood: 1 - * // } - * // ] - * }); - * - * //- - * // Our library simplifies the response from the API. Use the map below to see - * // each response name's original name. - * //- - * var shortNameToLongNameMap = { - * chin: { - * center: 'CHIN_GNATHION', - * left: 'CHIN_LEFT_GONION', - * right: 'CHIN_RIGHT_GONION' - * }, - * - * ears: { - * left: 'LEFT_EAR_TRAGION', - * right: 'RIGHT_EAR_TRAGION' - * }, - * - * eyebrows: { - * left: { - * left: 'LEFT_OF_LEFT_EYEBROW', - * right: 'RIGHT_OF_LEFT_EYEBROW', - * top: 'LEFT_EYEBROW_UPPER_MIDPOINT' - * }, - * right: { - * left: 'LEFT_OF_RIGHT_EYEBROW', - * right: 'RIGHT_OF_RIGHT_EYEBROW', - * top: 'RIGHT_EYEBROW_UPPER_MIDPOINT' - * } - * }, - * - * eyes: { - * left: { - * bottom: 'LEFT_EYE_BOTTOM_BOUNDARY', - * center: 'LEFT_EYE', - * left: 'LEFT_EYE_LEFT_CORNER', - * pupil: 'LEFT_EYE_PUPIL', - * right: 'LEFT_EYE_RIGHT_CORNER', - * top: 'LEFT_EYE_TOP_BOUNDARY' - * }, - * right: { - * bottom: 'RIGHT_EYE_BOTTOM_BOUNDARY', - * center: 'RIGHT_EYE', - * left: 'RIGHT_EYE_LEFT_CORNER', - * pupil: 'RIGHT_EYE_PUPIL', - * right: 'RIGHT_EYE_RIGHT_CORNER', - * top: 'RIGHT_EYE_TOP_BOUNDARY' - * } - * }, - * - * forehead: 'FOREHEAD_GLABELLA', - * - * lips: { - * bottom: 'LOWER_LIP', - * top: 'UPPER_LIP' - * }, - * - * mouth: { - * center: 'MOUTH_CENTER', - * left: 'MOUTH_LEFT', - * right: 'MOUTH_RIGHT' - * }, - * - * nose: { - * bottom: { - * center: 'NOSE_BOTTOM_CENTER', - * left: 'NOSE_BOTTOM_LEFT', - * right: 'NOSE_BOTTOM_RIGHT' - * }, - * tip: 'NOSE_TIP', - * top: 'MIDPOINT_BETWEEN_EYES' - * } - * }; - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detectFaces('image.jpg').then(function(data) { - * var faces = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detectFaces = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['faces'] - }); - - this.detect(images, options, callback); -}; - -/** - * Annotate an image with descriptive labels. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @resource [EntityAnnotation JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#EntityAnnotation} - * - * @example - * vision.detectLabels('image.jpg', function(err, labels, apiResponse) { - * // labels = [ - * // 'classical sculpture', - * // 'statue', - * // 'landmark', - * // 'ancient history', - * // 'artwork' - * // ] - * }); - * - * //- - * // Activate `verbose` mode for a more detailed response. - * //- - * var opts = { - * verbose: true - * }; - * - * vision.detectLabels('image.jpg', opts, function(err, labels, apiResponse) { - * // labels = [ - * // { - * // desc: 'classical sculpture', - * // id: '/m/095yjj', - * // score: 98.092282 - * // }, - * // { - * // desc: 'statue', - * // id: '/m/013_1c', - * // score: 90.66112 - * // }, - * // // ... - * // ] - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detectLabels('image.jpg').then(function(data) { - * var labels = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detectLabels = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['labels'] - }); - - this.detect(images, options, callback); -}; - -/** - * Detect the landmarks from an image. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @resource [EntityAnnotation JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#EntityAnnotation} - * - * @example - * vision.detectLandmarks('image.jpg', function(err, landmarks, apiResponse) { - * // landmarks = [ - * // 'Mount Rushmore' - * // ] - * }); - * - * //- - * // Activate `verbose` mode for a more detailed response. - * //- - * var image = 'image.jpg'; - * - * var opts = { - * verbose: true - * }; - * - * vision.detectLandmarks(image, opts, function(err, landmarks, apiResponse) { - * // landmarks = [ - * // { - * // desc: 'Mount Rushmore', - * // id: '/m/019dvv', - * // score: 28.651705, - * // bounds: [ - * // { - * // x: 79, - * // y: 130 - * // }, - * // { - * // x: 284, - * // y: 130 - * // }, - * // { - * // x: 284, - * // y: 226 - * // }, - * // { - * // x: 79, - * // y: 226 - * // } - * // ], - * // locations: [ - * // { - * // latitude: 43.878264, - * // longitude: -103.45700740814209 - * // } - * // ] - * // } - * // ] - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detectLandmarks('image.jpg').then(function(data) { - * var landmarks = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detectLandmarks = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['landmarks'] - }); - - this.detect(images, options, callback); -}; - -/** - * Detect the logos from an image. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @resource [EntityAnnotation JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#EntityAnnotation} - * - * @example - * vision.detectLogos('image.jpg', function(err, logos, apiResponse) { - * // logos = [ - * // 'Google' - * // ] - * }); - * - * //- - * // Activate `verbose` mode for a more detailed response. - * //- - * var options = { - * verbose: true - * }; - * - * vision.detectLogos('image.jpg', options, function(err, logos, apiResponse) { - * // logos = [ - * // { - * // desc: 'Google', - * // id: '/m/045c7b', - * // score: 64.35439, - * // bounds: [ - * // { - * // x: 11, - * // y: 11 - * // }, - * // { - * // x: 330, - * // y: 11 - * // }, - * // { - * // x: 330, - * // y: 72 - * // }, - * // { - * // x: 11, - * // y: 72 - * // } - * // ] - * // } - * // ] - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detectLogos('image.jpg').then(function(data) { - * var logos = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detectLogos = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['logos'] - }); - - this.detect(images, options, callback); -}; - -/** - * Get a set of properties about an image, such as its dominant colors. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @resource [ImageProperties JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#ImageProperties} - * - * @example - * vision.detectProperties('image.jpg', function(err, props, apiResponse) { - * // props = { - * // colors: [ - * // '3b3027', - * // '727d81', - * // '3f2f22', - * // '838e92', - * // '482a16', - * // '5f4f3c', - * // '261b14', - * // 'b39b7f', - * // '51473f', - * // '2c1e12' - * // ] - * // } - * }); - * - * //- - * // Activate `verbose` mode for a more detailed response. - * //- - * var image = 'image.jpg'; - * - * var options = { - * verbose: true - * }; - * - * vision.detectProperties(image, options, function(err, props, apiResponse) { - * // props = { - * // colors: [ - * // { - * // red: 59, - * // green: 48, - * // blue: 39, - * // score: 26.618013, - * // coverage: 15.948276, - * // hex: '3b3027' - * // }, - * // { - * // red: 114, - * // green: 125, - * // blue: 129, - * // score: 10.319714, - * // coverage: 8.3977409, - * // hex: '727d81' - * // }, - * // // ... - * // ] - * // } - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detectProperties('image.jpg').then(function(data) { - * var props = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detectProperties = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['properties'] - }); - - this.detect(images, options, callback); -}; - -/** - * Detect the SafeSearch flags from an image. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @resource [SafeSearch JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#SafeSearchAnnotation} - * - * @example - * vision.detectSafeSearch('image.jpg', function(err, safeSearch, apiResponse) { - * // safeSearch = { - * // adult: false, - * // medical: false, - * // spoof: false, - * // violence: true - * // } - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detectSafeSearch('image.jpg').then(function(data) { - * var safeSearch = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detectSafeSearch = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['safeSearch'] - }); - - this.detect(images, options, callback); -}; - -/** - * Detect similar images from the internet. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @resource [WebAnnotation JSON representation]{@link https://cloud.google.com/vision/docs/reference/rest/v1/images/annotate#WebAnnotation} - * - * @example - * vision.detectSimilar('image.jpg', function(err, images, apiResponse) { - * // images = [ - * // 'http://www.example.com/most-similar-image', - * // // ... - * // 'http://www.example.com/least-similar-image' - * // ] - * }); - * - * //- - * // Activate `verbose` mode for a more detailed response. - * //- - * var opts = { - * verbose: true - * }; - * - * vision.detectSimilar('image.jpg', opts, function(err, similar, apiResponse) { - * // similar = { - * // entities: [ - * // 'Logo', - * // // ... - * // ], - * // fullMatches: [ - * // 'http://www.example.com/most-similar-image', - * // // ... - * // 'http://www.example.com/least-similar-image' - * // ], - * // partialMatches: [ - * // 'http://www.example.com/most-similar-image', - * // // ... - * // 'http://www.example.com/least-similar-image' - * // ], - * // pages: [ - * // 'http://www.example.com/page-with-most-similar-image', - * // // ... - * // 'http://www.example.com/page-with-least-similar-image' - * // ] - * // } - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detectSimilar('image.jpg').then(function(data) { - * var images = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detectSimilar = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['similar'] - }); - - this.detect(images, options, callback); -}; - -/** - * Detect the text within an image. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @example - * vision.detectText('image.jpg', function(err, text, apiResponse) { - * // text = [ - * // 'This was text found in the image' - * // ] - * }); - * - * //- - * // Activate `verbose` mode for a more detailed response. - * //- - * var options = { - * verbose: true - * }; - * - * vision.detectText('image.jpg', options, function(err, text, apiResponse) { - * // text = [ - * // { - * // desc: 'This was text found in the image', - * // bounds: [ - * // { - * // x: 4, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 89 - * // }, - * // { - * // x: 4, - * // y: 89 - * // } - * // ] - * // } - * // ] - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.detectText('image.jpg').then(function(data) { - * var text = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.detectText = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['text'] - }); - - this.detect(images, options, callback); -}; - -/** - * Annotate a document. - * - *

Parameters

- * - * See {module:vision#detect}. - * - * @resource [FullTextAnnotation JSON representation]{@link https://cloud.google.com/vision/reference/rest/v1/images/annotate#FullTextAnnotation} - * - * @example - * vision.readDocument('image.jpg', function(err, text, apiResponse) { - * // text = 'This paragraph was extracted from image.jpg'; - * }); - * - * //- - * // Activate `verbose` mode for a more detailed response. - * //- - * var opts = { - * verbose: true - * }; - * - * vision.readDocument('image.jpg', opts, function(err, pages, apiResponse) { - * // pages = [ - * // { - * // languages: [ - * // 'en' - * // ], - * // width: 688, - * // height: 1096, - * // blocks: [ - * // { - * // type: 'TEXT', - * // bounds: [ - * // { - * // x: 4, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 89 - * // }, - * // { - * // x: 4, - * // y: 89 - * // } - * // ], - * // paragraphs: [ - * // { - * // bounds: [ - * // { - * // x: 4, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 89 - * // }, - * // { - * // x: 4, - * // y: 89 - * // } - * // ], - * // words: [ - * // { - * // bounds: [ - * // { - * // x: 4, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 89 - * // }, - * // { - * // x: 4, - * // y: 89 - * // } - * // ], - * // symbols: [ - * // { - * // bounds: [ - * // { - * // x: 4, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 5 - * // }, - * // { - * // x: 493, - * // y: 89 - * // }, - * // { - * // x: 4, - * // y: 89 - * // } - * // ], - * // text: 'T' - * // }, - * // // ... - * // ] - * // }, - * // // ... - * // ] - * // }, - * // // ... - * // ] - * // }, - * // // ... - * // ] - * // } - * // ] - * }); - * - * //- - * // If the callback is omitted, we'll return a Promise. - * //- - * vision.readDocument('image.jpg').then(function(data) { - * var pages = data[0]; - * var apiResponse = data[1]; - * }); - */ -Vision.prototype.readDocument = function(images, options, callback) { - if (is.fn(options)) { - callback = options; - options = {}; - } - - options = extend({}, options, { - types: ['document'] - }); - - this.detect(images, options, callback); -}; - -/** - * Determine the type of image the user is asking to be annotated. If a - * {module:storage/file}, convert to its "gs://{bucket}/{file}" URL. If a remote - * URL, format as the API expects. If a file path to a local file, convert to a - * base64 string. - * - * @private - */ -Vision.findImages_ = function(images, callback) { - if (global.GCLOUD_SANDBOX_ENV) { - callback(null, [ - { - content: new Buffer('') - } - ]); - return; - } - - var MAX_PARALLEL_LIMIT = 5; - images = arrify(images); - - function findImage(image, callback) { - if (Buffer.isBuffer(image)) { - callback(null, { - content: image.toString('base64') - }); - return; - } - - if (common.util.isCustomType(image, 'storage/file')) { - callback(null, { - source: { - gcsImageUri: format('gs://{bucketName}/{fileName}', { - bucketName: image.bucket.name, - fileName: image.name - }) - } - }); - return; - } - - // File is a URL. - if (/^http/.test(image)) { - callback(null, { - source: { - imageUri: image - } - }); - return; - } - - // File exists on disk. - fs.readFile(image, { encoding: 'base64' }, function(err, contents) { - if (err) { - callback(err); - return; - } - - callback(null, { content: contents }); - }); - } - - async.mapLimit(images, MAX_PARALLEL_LIMIT, findImage, callback); -}; - -/** - * Format a raw crop hint annotation response from the API. - * - * @private - */ -Vision.formatCropHintsAnnotation_ = function(cropHintsAnnotation, options) { - return cropHintsAnnotation.cropHints.map(function(cropHint) { - cropHint = { - bounds: cropHint.boundingPoly.vertices, - confidence: cropHint.confidence - }; - - return options.verbose ? cropHint : cropHint.bounds; - }); -}; - -/** - * Format a raw entity annotation response from the API. - * - * @private - */ -Vision.formatEntityAnnotation_ = function(entityAnnotation, options) { - if (!options.verbose) { - return entityAnnotation.description; - } - - var formattedEntityAnnotation = { - desc: entityAnnotation.description - }; - - if (entityAnnotation.mid) { - formattedEntityAnnotation.mid = entityAnnotation.mid; - } - - if (entityAnnotation.score) { - formattedEntityAnnotation.score = entityAnnotation.score * 100; - } - - if (entityAnnotation.boundingPoly) { - formattedEntityAnnotation.bounds = entityAnnotation.boundingPoly.vertices; - } - - if (is.defined(entityAnnotation.confidence)) { - formattedEntityAnnotation.confidence = entityAnnotation.confidence * 100; - } - - if (entityAnnotation.locations) { - var locations = entityAnnotation.locations; - formattedEntityAnnotation.locations = locations.map(prop('latLng')); - } - - if (entityAnnotation.properties) { - formattedEntityAnnotation.properties = entityAnnotation.properties; - } - - return formattedEntityAnnotation; -}; - -/** - * Format a raw error from the API. - * - * @private - */ -Vision.formatError_ = function(err) { - var httpError = commonGrpc.Service.GRPC_ERROR_CODE_TO_HTTP[err.code]; - - if (httpError) { - err.code = httpError.code; - } - - delete err.details; - - return err; -}; - -/** - * Format a raw face annotation response from the API. - * - * @private - */ -Vision.formatFaceAnnotation_ = function(faceAnnotation) { - function findLandmark(type) { - var landmarks = faceAnnotation.landmarks; - - return landmarks.filter(function(landmark) { - return landmark.type === type; - })[0].position; - } - - var formattedFaceAnnotation = { - angles: { - pan: faceAnnotation.panAngle, - roll: faceAnnotation.rollAngle, - tilt: faceAnnotation.tiltAngle - }, - - bounds: { - head: faceAnnotation.boundingPoly.vertices, - face: faceAnnotation.fdBoundingPoly.vertices - }, - - features: { - confidence: faceAnnotation.landmarkingConfidence * 100, - chin: { - center: findLandmark('CHIN_GNATHION'), - left: findLandmark('CHIN_LEFT_GONION'), - right: findLandmark('CHIN_RIGHT_GONION') - }, - ears: { - left: findLandmark('LEFT_EAR_TRAGION'), - right: findLandmark('RIGHT_EAR_TRAGION'), - }, - eyebrows: { - left: { - left: findLandmark('LEFT_OF_LEFT_EYEBROW'), - right: findLandmark('RIGHT_OF_LEFT_EYEBROW'), - top: findLandmark('LEFT_EYEBROW_UPPER_MIDPOINT') - }, - right: { - left: findLandmark('LEFT_OF_RIGHT_EYEBROW'), - right: findLandmark('RIGHT_OF_RIGHT_EYEBROW'), - top: findLandmark('RIGHT_EYEBROW_UPPER_MIDPOINT') - } - }, - eyes: { - left: { - bottom: findLandmark('LEFT_EYE_BOTTOM_BOUNDARY'), - center: findLandmark('LEFT_EYE'), - left: findLandmark('LEFT_EYE_LEFT_CORNER'), - pupil: findLandmark('LEFT_EYE_PUPIL'), - right: findLandmark('LEFT_EYE_RIGHT_CORNER'), - top: findLandmark('LEFT_EYE_TOP_BOUNDARY') - }, - right: { - bottom: findLandmark('RIGHT_EYE_BOTTOM_BOUNDARY'), - center: findLandmark('RIGHT_EYE'), - left: findLandmark('RIGHT_EYE_LEFT_CORNER'), - pupil: findLandmark('RIGHT_EYE_PUPIL'), - right: findLandmark('RIGHT_EYE_RIGHT_CORNER'), - top: findLandmark('RIGHT_EYE_TOP_BOUNDARY') - } - }, - forehead: findLandmark('FOREHEAD_GLABELLA'), - lips: { - bottom: findLandmark('LOWER_LIP'), - top: findLandmark('UPPER_LIP') - }, - mouth: { - center: findLandmark('MOUTH_CENTER'), - left: findLandmark('MOUTH_LEFT'), - right: findLandmark('MOUTH_RIGHT') - }, - nose: { - bottom: { - center: findLandmark('NOSE_BOTTOM_CENTER'), - left: findLandmark('NOSE_BOTTOM_LEFT'), - right: findLandmark('NOSE_BOTTOM_RIGHT') - }, - tip: findLandmark('NOSE_TIP'), - top: findLandmark('MIDPOINT_BETWEEN_EYES') - } - }, - - confidence: faceAnnotation.detectionConfidence * 100 - }; - - // Remove the `Likelihood` part from a property name. - // input: "joyLikelihood", output: "joy" - for (var prop in faceAnnotation) { - if (prop.indexOf('Likelihood') > -1) { - var shortenedProp = prop.replace('Likelihood', ''); - - formattedFaceAnnotation[shortenedProp] = - Vision.gteLikelihood_(LIKELY, faceAnnotation[prop]); - - formattedFaceAnnotation[prop] = Vision.likelihood[faceAnnotation[prop]]; - } - } - - return formattedFaceAnnotation; -}; - -/** - * Format a raw full text annotation response from the API. - * - * @private - */ -Vision.formatFullTextAnnotation_ = function(fullTextAnnotation, options) { - if (!options.verbose) { - return fullTextAnnotation.text; - } +var extend = require('extend'); - return fullTextAnnotation.pages - .map(function(page) { - return { - languages: page.property.detectedLanguages.map(prop('languageCode')), - width: page.width, - height: page.height, - blocks: page.blocks.map(function(block) { - return { - type: block.blockType, - bounds: block.boundingBox && block.boundingBox.vertices || [], - paragraphs: arrify(block.paragraphs) - .map(function(paragraph) { - return { - bounds: paragraph.boundingBox.vertices, - words: paragraph.words.map(function(word) { - return { - bounds: word.boundingBox.vertices, - symbols: word.symbols.map(function(symbol) { - return { - bounds: symbol.boundingBox.vertices, - text: symbol.text - }; - }) - }; - }) - }; - }) - }; - }) - }; - }); +var gapic = { + v1: require('./v1'), }; +var gaxGrpc = require('google-gax').grpc(); -/** - * Format a raw image properties annotation response from the API. - * - * @private - */ -Vision.formatImagePropertiesAnnotation_ = function(imageAnnotation, options) { - var formattedImageAnnotation = { - colors: imageAnnotation.dominantColors.colors - .map(function(colorObject) { - var red = colorObject.color.red; - var green = colorObject.color.green; - var blue = colorObject.color.blue; - - var hex = rgbHex(red, green, blue); +var helpers = require('./helpers'); - if (!options.verbose) { - return hex; - } - - colorObject.hex = hex; - - colorObject.red = red; - colorObject.green = green; - colorObject.blue = blue; - delete colorObject.color; - - colorObject.coverage = colorObject.pixelFraction *= 100; - delete colorObject.pixelFraction; - - colorObject.score *= 100; - - return colorObject; - }) - }; - - return formattedImageAnnotation; -}; - -/** - * Format a raw SafeSearch annotation response from the API. - * - * @private - */ -Vision.formatSafeSearchAnnotation_ = function(ssAnnotation, options) { - if (!options.verbose) { - for (var prop in ssAnnotation) { - var value = ssAnnotation[prop]; - ssAnnotation[prop] = Vision.gteLikelihood_(LIKELY, value); - } - return ssAnnotation; - } +const VERSION = require('../package.json').version; - return ssAnnotation; -}; /** - * Format a raw web detection response from the API. + * Create an imageAnnotatorClient with additional helpers for common + * tasks. * - * @private - */ -Vision.formatWebDetection_ = function(webDetection, options) { - function sortByScore(a, b) { - return a.score < b.score ? 1 : a.score > b.score ? -1 : 0; - } - - var formattedWebDetection = { - entities: arrify(webDetection.webEntities).map(prop('description')), - - fullMatches: arrify(webDetection.fullMatchingImages) - .sort(sortByScore) - .map(prop('url')), - - partialMatches: arrify(webDetection.partialMatchingImages) - .sort(sortByScore) - .map(prop('url')), - - pages: arrify(webDetection.pagesWithMatchingImages) - .sort(sortByScore) - .map(prop('url')) - }; - - if (!options.verbose) { - // Combine all matches. - formattedWebDetection = formattedWebDetection.fullMatches - .concat(formattedWebDetection.partialMatches); - } - - return formattedWebDetection; -}; + * @constructor + * @alias module:vision + * @mixes module:vision/helpers + * + * @param {Object=} opts - The optional parameters. + * @param {String=} opts.servicePath + * The domain name of the API remote host. + * @param {number=} opts.port + * The port on which to connect to the remote host. + * @param {grpc.ClientCredentials=} opts.sslCreds + * A ClientCredentials for use with an SSL-enabled channel. + * @param {Object=} opts.clientConfig + * The customized config to build the call settings. See + * {@link gax.constructSettings} for the format. + */ +function visionV1(opts) { + // Define the header options. + opts = opts || {}; + opts.libName = 'gccl'; + opts.libVersion = VERSION; + + // Create the image annotator client with the provided options. + var client = gapic.v1(opts).imageAnnotatorClient(opts); + if (is.undefined(client.annotateImage)) { + Object.assign(client.constructor.prototype, helpers('v1')); + } + return client; +} -/** - * Convert a "likelihood" value to a boolean representation, based on the lowest - * likelihood provided. - * - * @private - * - * @example - * Vision.gteLikelihood_(Vision.likelihood.VERY_LIKELY, 'POSSIBLE'); - * // false - * - * Vision.gteLikelihood_(Vision.likelihood.UNLIKELY, 'POSSIBLE'); - * // true - */ -Vision.gteLikelihood_ = function(baseLikelihood, likelihood) { - return Vision.likelihood[likelihood] >= baseLikelihood; -}; +var v1Protos = {}; -/*! Developer Documentation - * - * All async methods (except for streams) will return a Promise in the event - * that a callback is omitted. - */ -common.util.promisifyAll(Vision); +extend(v1Protos, gaxGrpc.load([{ + root: require('google-proto-files')('..'), + file: 'google/cloud/vision/v1/image_annotator.proto' +}]).google.cloud.vision.v1); -module.exports = Vision; -module.exports.v1 = v1; +module.exports = visionV1; +module.exports.types = v1Protos; +module.exports.v1 = visionV1; +module.exports.v1.types = v1Protos; diff --git a/packages/google-cloud-vision/src/v1/doc/doc_geometry.js b/packages/google-cloud-vision/src/v1/doc/doc_geometry.js new file mode 100644 index 00000000000..cfff72bd26c --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/doc_geometry.js @@ -0,0 +1,73 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ + +/* + * Note: this file is purely for documentation. Any contents are not expected + * to be loaded as the JS file. + */ + +/** + * A vertex represents a 2D point in the image. + * NOTE: the vertex coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @class + * @see [google.cloud.vision.v1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} + */ +var Vertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A bounding polygon for the detected image annotation. + * + * @property {Object[]} vertices + * The bounding polygon vertices. + * + * This object should have the same structure as [Vertex]{@link Vertex} + * + * @class + * @see [google.cloud.vision.v1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} + */ +var BoundingPoly = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A 3D position in the image, used primarily for Face detection landmarks. + * A valid Position must have both x and y coordinates. + * The position coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @property {number} z + * Z coordinate (or depth). + * + * @class + * @see [google.cloud.vision.v1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} + */ +var Position = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_any.js b/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_any.js new file mode 100644 index 00000000000..0697ec15814 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_any.js @@ -0,0 +1,121 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ + +/* + * Note: this file is purely for documentation. Any contents are not expected + * to be loaded as the JS file. + */ + +/** + * `Any` contains an arbitrary serialized protocol buffer message along with a + * URL that describes the type of the serialized message. + * + * Protobuf library provides support to pack/unpack Any values in the form + * of utility functions or additional generated methods of the Any type. + * + * Example 1: Pack and unpack a message in C++. + * + * Foo foo = ...; + * Any any; + * any.PackFrom(foo); + * ... + * if (any.UnpackTo(&foo)) { + * ... + * } + * + * Example 2: Pack and unpack a message in Java. + * + * Foo foo = ...; + * Any any = Any.pack(foo); + * ... + * if (any.is(Foo.class)) { + * foo = any.unpack(Foo.class); + * } + * + * Example 3: Pack and unpack a message in Python. + * + * foo = Foo(...) + * any = Any() + * any.Pack(foo) + * ... + * if any.Is(Foo.DESCRIPTOR): + * any.Unpack(foo) + * ... + * + * The pack methods provided by protobuf library will by default use + * 'type.googleapis.com/full.type.name' as the type URL and the unpack + * methods only use the fully qualified type name after the last '/' + * in the type URL, for example "foo.bar.com/x/y.z" will yield type + * name "y.z". + * + * + * # JSON + * + * The JSON representation of an `Any` value uses the regular + * representation of the deserialized, embedded message, with an + * additional field `@type` which contains the type URL. Example: + * + * package google.profile; + * message Person { + * string first_name = 1; + * string last_name = 2; + * } + * + * { + * "@type": "type.googleapis.com/google.profile.Person", + * "firstName": , + * "lastName": + * } + * + * If the embedded message type is well-known and has a custom JSON + * representation, that representation will be embedded adding a field + * `value` which holds the custom JSON in addition to the `@type` + * field. Example (for message {@link google.protobuf.Duration}): + * + * { + * "@type": "type.googleapis.com/google.protobuf.Duration", + * "value": "1.212s" + * } + * + * @external "google.protobuf.Any" + * @property {string} typeUrl + * A URL/resource name whose content describes the type of the + * serialized protocol buffer message. + * + * For URLs which use the scheme `http`, `https`, or no scheme, the + * following restrictions and interpretations apply: + * + * * If no scheme is provided, `https` is assumed. + * * The last segment of the URL's path must represent the fully + * qualified name of the type (as in `path/google.protobuf.Duration`). + * The name should be in a canonical form (e.g., leading "." is + * not accepted). + * * An HTTP GET on the URL must yield a {@link google.protobuf.Type} + * value in binary format, or produce an error. + * * Applications are allowed to cache lookup results based on the + * URL, or have them precompiled into a binary to avoid any + * lookup. Therefore, binary compatibility needs to be preserved + * on changes to types. (Use versioned type names to manage + * breaking changes.) + * + * Schemes other than `http`, `https` (or the empty scheme) might be + * used with implementation specific semantics. + * + * @property {string} value + * Must be a valid serialized protocol buffer of the above specified type. + * + * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} + */ \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_wrappers.js b/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_wrappers.js new file mode 100644 index 00000000000..46a5e3e2213 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_wrappers.js @@ -0,0 +1,128 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ + +/* + * Note: this file is purely for documentation. Any contents are not expected + * to be loaded as the JS file. + */ + +/** + * Wrapper message for `double`. + * + * The JSON representation for `DoubleValue` is JSON number. + * + * @external "google.protobuf.DoubleValue" + * @property {number} value + * The double value. + * + * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ + +/** + * Wrapper message for `float`. + * + * The JSON representation for `FloatValue` is JSON number. + * + * @external "google.protobuf.FloatValue" + * @property {number} value + * The float value. + * + * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ + +/** + * Wrapper message for `int64`. + * + * The JSON representation for `Int64Value` is JSON string. + * + * @external "google.protobuf.Int64Value" + * @property {number} value + * The int64 value. + * + * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ + +/** + * Wrapper message for `uint64`. + * + * The JSON representation for `UInt64Value` is JSON string. + * + * @external "google.protobuf.UInt64Value" + * @property {number} value + * The uint64 value. + * + * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ + +/** + * Wrapper message for `int32`. + * + * The JSON representation for `Int32Value` is JSON number. + * + * @external "google.protobuf.Int32Value" + * @property {number} value + * The int32 value. + * + * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ + +/** + * Wrapper message for `uint32`. + * + * The JSON representation for `UInt32Value` is JSON number. + * + * @external "google.protobuf.UInt32Value" + * @property {number} value + * The uint32 value. + * + * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ + +/** + * Wrapper message for `bool`. + * + * The JSON representation for `BoolValue` is JSON `true` and `false`. + * + * @external "google.protobuf.BoolValue" + * @property {boolean} value + * The bool value. + * + * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ + +/** + * Wrapper message for `string`. + * + * The JSON representation for `StringValue` is JSON string. + * + * @external "google.protobuf.StringValue" + * @property {string} value + * The string value. + * + * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ + +/** + * Wrapper message for `bytes`. + * + * The JSON representation for `BytesValue` is JSON string. + * + * @external "google.protobuf.BytesValue" + * @property {string} value + * The bytes value. + * + * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_rpc_status.js b/packages/google-cloud-vision/src/v1/doc/doc_google_rpc_status.js new file mode 100644 index 00000000000..c85f1befe90 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/doc_google_rpc_status.js @@ -0,0 +1,92 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ + +/* + * Note: this file is purely for documentation. Any contents are not expected + * to be loaded as the JS file. + */ + +/** + * The `Status` type defines a logical error model that is suitable for different + * programming environments, including REST APIs and RPC APIs. It is used by + * [gRPC](https://github.com/grpc). The error model is designed to be: + * + * - Simple to use and understand for most users + * - Flexible enough to meet unexpected needs + * + * # Overview + * + * The `Status` message contains three pieces of data: error code, error message, + * and error details. The error code should be an enum value of + * {@link google.rpc.Code}, but it may accept additional error codes if needed. The + * error message should be a developer-facing English message that helps + * developers *understand* and *resolve* the error. If a localized user-facing + * error message is needed, put the localized message in the error details or + * localize it in the client. The optional error details may contain arbitrary + * information about the error. There is a predefined set of error detail types + * in the package `google.rpc` which can be used for common error conditions. + * + * # Language mapping + * + * The `Status` message is the logical representation of the error model, but it + * is not necessarily the actual wire format. When the `Status` message is + * exposed in different client libraries and different wire protocols, it can be + * mapped differently. For example, it will likely be mapped to some exceptions + * in Java, but more likely mapped to some error codes in C. + * + * # Other uses + * + * The error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a + * consistent developer experience across different environments. + * + * Example uses of this error model include: + * + * - Partial errors. If a service needs to return partial errors to the client, + * it may embed the `Status` in the normal response to indicate the partial + * errors. + * + * - Workflow errors. A typical workflow has multiple steps. Each step may + * have a `Status` message for error reporting purpose. + * + * - Batch operations. If a client uses batch request and batch response, the + * `Status` message should be used directly inside batch response, one for + * each error sub-response. + * + * - Asynchronous operations. If an API call embeds asynchronous operation + * results in its response, the status of those operations should be + * represented directly using the `Status` message. + * + * - Logging. If some API errors are stored in logs, the message `Status` could + * be used directly after any stripping needed for security/privacy reasons. + * + * @external "google.rpc.Status" + * @property {number} code + * The status code, which should be an enum value of {@link google.rpc.Code}. + * + * @property {string} message + * A developer-facing error message, which should be in English. Any + * user-facing error message should be localized and sent in the + * {@link google.rpc.Status.details} field, or localized by the client. + * + * @property {Object[]} details + * A list of messages that carry the error details. There will be a + * common set of message types for APIs to use. + * + * This object should have the same structure as [google.protobuf.Any]{@link external:"google.protobuf.Any"} + * + * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} + */ \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_type_color.js b/packages/google-cloud-vision/src/v1/doc/doc_google_type_color.js new file mode 100644 index 00000000000..679c7f72339 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/doc_google_type_color.js @@ -0,0 +1,164 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ + +/* + * Note: this file is purely for documentation. Any contents are not expected + * to be loaded as the JS file. + */ + +/** + * Represents a color in the RGBA color space. This representation is designed + * for simplicity of conversion to/from color representations in various + * languages over compactness; for example, the fields of this representation + * can be trivially provided to the constructor of "java.awt.Color" in Java; it + * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" + * method in iOS; and, with just a little work, it can be easily formatted into + * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * + * Example (Java): + * + * import com.google.type.Color; + * + * // ... + * public static java.awt.Color fromProto(Color protocolor) { + * float alpha = protocolor.hasAlpha() + * ? protocolor.getAlpha().getValue() + * : 1.0; + * + * return new java.awt.Color( + * protocolor.getRed(), + * protocolor.getGreen(), + * protocolor.getBlue(), + * alpha); + * } + * + * public static Color toProto(java.awt.Color color) { + * float red = (float) color.getRed(); + * float green = (float) color.getGreen(); + * float blue = (float) color.getBlue(); + * float denominator = 255.0; + * Color.Builder resultBuilder = + * Color + * .newBuilder() + * .setRed(red / denominator) + * .setGreen(green / denominator) + * .setBlue(blue / denominator); + * int alpha = color.getAlpha(); + * if (alpha != 255) { + * result.setAlpha( + * FloatValue + * .newBuilder() + * .setValue(((float) alpha) / denominator) + * .build()); + * } + * return resultBuilder.build(); + * } + * // ... + * + * Example (iOS / Obj-C): + * + * // ... + * static UIColor* fromProto(Color* protocolor) { + * float red = [protocolor red]; + * float green = [protocolor green]; + * float blue = [protocolor blue]; + * FloatValue* alpha_wrapper = [protocolor alpha]; + * float alpha = 1.0; + * if (alpha_wrapper != nil) { + * alpha = [alpha_wrapper value]; + * } + * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; + * } + * + * static Color* toProto(UIColor* color) { + * CGFloat red, green, blue, alpha; + * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { + * return nil; + * } + * Color* result = [Color alloc] init]; + * [result setRed:red]; + * [result setGreen:green]; + * [result setBlue:blue]; + * if (alpha <= 0.9999) { + * [result setAlpha:floatWrapperWithValue(alpha)]; + * } + * [result autorelease]; + * return result; + * } + * // ... + * + * Example (JavaScript): + * + * // ... + * + * var protoToCssColor = function(rgb_color) { + * var redFrac = rgb_color.red || 0.0; + * var greenFrac = rgb_color.green || 0.0; + * var blueFrac = rgb_color.blue || 0.0; + * var red = Math.floor(redFrac * 255); + * var green = Math.floor(greenFrac * 255); + * var blue = Math.floor(blueFrac * 255); + * + * if (!('alpha' in rgb_color)) { + * return rgbToCssColor_(red, green, blue); + * } + * + * var alphaFrac = rgb_color.alpha.value || 0.0; + * var rgbParams = [red, green, blue].join(','); + * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); + * }; + * + * var rgbToCssColor_ = function(red, green, blue) { + * var rgbNumber = new Number((red << 16) | (green << 8) | blue); + * var hexString = rgbNumber.toString(16); + * var missingZeros = 6 - hexString.length; + * var resultBuilder = ['#']; + * for (var i = 0; i < missingZeros; i++) { + * resultBuilder.push('0'); + * } + * resultBuilder.push(hexString); + * return resultBuilder.join(''); + * }; + * + * // ... + * + * @external "google.type.Color" + * @property {number} red + * The amount of red in the color as a value in the interval [0, 1]. + * + * @property {number} green + * The amount of green in the color as a value in the interval [0, 1]. + * + * @property {number} blue + * The amount of blue in the color as a value in the interval [0, 1]. + * + * @property {Object} alpha + * The fraction of this color that should be applied to the pixel. That is, + * the final pixel color is defined by the equation: + * + * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) + * + * This means that a value of 1.0 corresponds to a solid color, whereas + * a value of 0.0 corresponds to a completely transparent color. This + * uses a wrapper message rather than a simple float scalar so that it is + * possible to distinguish between a default value and the value being unset. + * If omitted, this color object is to be rendered as a solid color + * (as if the alpha value had been explicitly given with a value of 1.0). + * + * This object should have the same structure as [google.protobuf.FloatValue]{@link external:"google.protobuf.FloatValue"} + * + * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} + */ \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_type_latlng.js b/packages/google-cloud-vision/src/v1/doc/doc_google_type_latlng.js new file mode 100644 index 00000000000..82dd2e824f9 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/doc_google_type_latlng.js @@ -0,0 +1,71 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ + +/* + * Note: this file is purely for documentation. Any contents are not expected + * to be loaded as the JS file. + */ + +/** + * An object representing a latitude/longitude pair. This is expressed as a pair + * of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the + *
WGS84 + * standard. Values must be within normalized ranges. + * + * Example of normalization code in Python: + * + * def NormalizeLongitude(longitude): + * """Wraps decimal degrees longitude to [-180.0, 180.0].""" + * q, r = divmod(longitude, 360.0) + * if r > 180.0 or (r == 180.0 and q <= -1.0): + * return r - 360.0 + * return r + * + * def NormalizeLatLng(latitude, longitude): + * """Wraps decimal degrees latitude and longitude to + * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" + * r = latitude % 360.0 + * if r <= 90.0: + * return r, NormalizeLongitude(longitude) + * elif r >= 270.0: + * return r - 360, NormalizeLongitude(longitude) + * else: + * return 180 - r, NormalizeLongitude(longitude + 180.0) + * + * assert 180.0 == NormalizeLongitude(180.0) + * assert -180.0 == NormalizeLongitude(-180.0) + * assert -179.0 == NormalizeLongitude(181.0) + * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) + * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) + * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) + * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) + * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) + * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) + * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) + * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) + * + * @external "google.type.LatLng" + * @property {number} latitude + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + * + * @property {number} longitude + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + * + * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} + */ \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/doc_image_annotator.js new file mode 100644 index 00000000000..e7845a3df3c --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/doc_image_annotator.js @@ -0,0 +1,906 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ + +/* + * Note: this file is purely for documentation. Any contents are not expected + * to be loaded as the JS file. + */ + +/** + * Users describe the type of Google Cloud Vision API tasks to perform over + * images by using *Feature*s. Each Feature indicates a type of image + * detection task to perform. Features encode the Cloud Vision API + * vertical to operate on and the number of top-scoring results to return. + * + * @property {number} type + * The feature type. + * + * The number should be among the values of [Type]{@link Type} + * + * @property {number} maxResults + * Maximum number of results of this type. + * + * @class + * @see [google.cloud.vision.v1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var Feature = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of image feature. + * + * @enum {number} + */ + Type: { + + /** + * Unspecified feature type. + */ + TYPE_UNSPECIFIED: 0, + + /** + * Run face detection. + */ + FACE_DETECTION: 1, + + /** + * Run landmark detection. + */ + LANDMARK_DETECTION: 2, + + /** + * Run logo detection. + */ + LOGO_DETECTION: 3, + + /** + * Run label detection. + */ + LABEL_DETECTION: 4, + + /** + * Run OCR. + */ + TEXT_DETECTION: 5, + + /** + * Run dense text document OCR. Takes precedence when both + * DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present. + */ + DOCUMENT_TEXT_DETECTION: 11, + + /** + * Run computer vision models to compute image safe-search properties. + */ + SAFE_SEARCH_DETECTION: 6, + + /** + * Compute a set of image properties, such as the image's dominant colors. + */ + IMAGE_PROPERTIES: 7, + + /** + * Run crop hints. + */ + CROP_HINTS: 9, + + /** + * Run web detection. + */ + WEB_DETECTION: 10 + } +}; + +/** + * External image source (Google Cloud Storage image location). + * + * @property {string} gcsImageUri + * NOTE: For new code `image_uri` below is preferred. + * Google Cloud Storage image URI, which must be in the following form: + * `gs://bucket_name/object_name` (for details, see + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris)). + * NOTE: Cloud Storage object versioning is not supported. + * + * @property {string} imageUri + * Image URI which supports: + * 1) Google Cloud Storage image URI, which must be in the following form: + * `gs://bucket_name/object_name` (for details, see + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris)). + * NOTE: Cloud Storage object versioning is not supported. + * 2) Publicly accessible image HTTP/HTTPS URL. + * This is preferred over the legacy `gcs_image_uri` above. When both + * `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + * precedence. + * + * @class + * @see [google.cloud.vision.v1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var ImageSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Client image to perform Google Cloud Vision API tasks over. + * + * @property {string} content + * Image content, represented as a stream of bytes. + * Note: as with all `bytes` fields, protobuffers use a pure binary + * representation, whereas JSON representations use base64. + * + * @property {Object} source + * Google Cloud Storage image location. If both `content` and `source` + * are provided for an image, `content` takes precedence and is + * used to perform the image annotation request. + * + * This object should have the same structure as [ImageSource]{@link ImageSource} + * + * @class + * @see [google.cloud.vision.v1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var Image = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A face annotation object contains the results of face detection. + * + * @property {Object} boundingPoly + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. + * The bounding box is computed to "frame" the face in accordance with human + * expectations. It is based on the landmarker results. + * Note that one or more x and/or y coordinates may not be generated in the + * `BoundingPoly` (the polygon will be unbounded) if only a partial face + * appears in the image to be annotated. + * + * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * + * @property {Object} fdBoundingPoly + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, it + * is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence + * the fd (face detection) prefix. + * + * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * + * @property {Object[]} landmarks + * Detected face landmarks. + * + * This object should have the same structure as [Landmark]{@link Landmark} + * + * @property {number} rollAngle + * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + * of the face relative to the image vertical about the axis perpendicular to + * the face. Range [-180,180]. + * + * @property {number} panAngle + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + * + * @property {number} tiltAngle + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + * + * @property {number} detectionConfidence + * Detection confidence. Range [0, 1]. + * + * @property {number} landmarkingConfidence + * Face landmarking confidence. Range [0, 1]. + * + * @property {number} joyLikelihood + * Joy likelihood. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} sorrowLikelihood + * Sorrow likelihood. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} angerLikelihood + * Anger likelihood. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} surpriseLikelihood + * Surprise likelihood. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} underExposedLikelihood + * Under-exposed likelihood. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} blurredLikelihood + * Blurred likelihood. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} headwearLikelihood + * Headwear likelihood. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @class + * @see [google.cloud.vision.v1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var FaceAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * A face-specific landmark (for example, a face feature). + * Landmark positions may fall outside the bounds of the image + * if the face is near one or more edges of the image. + * Therefore it is NOT guaranteed that `0 <= x < width` or + * `0 <= y < height`. + * + * @property {number} type + * Face landmark type. + * + * The number should be among the values of [Type]{@link Type} + * + * @property {Object} position + * Face landmark position. + * + * This object should have the same structure as [Position]{@link Position} + * + * @class + * @see [google.cloud.vision.v1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ + Landmark: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Face landmark (feature) type. + * Left and right are defined from the vantage of the viewer of the image + * without considering mirror projections typical of photos. So, `LEFT_EYE`, + * typically, is the person's right eye. + * + * @enum {number} + */ + Type: { + + /** + * Unknown face landmark detected. Should not be filled. + */ + UNKNOWN_LANDMARK: 0, + + /** + * Left eye. + */ + LEFT_EYE: 1, + + /** + * Right eye. + */ + RIGHT_EYE: 2, + + /** + * Left of left eyebrow. + */ + LEFT_OF_LEFT_EYEBROW: 3, + + /** + * Right of left eyebrow. + */ + RIGHT_OF_LEFT_EYEBROW: 4, + + /** + * Left of right eyebrow. + */ + LEFT_OF_RIGHT_EYEBROW: 5, + + /** + * Right of right eyebrow. + */ + RIGHT_OF_RIGHT_EYEBROW: 6, + + /** + * Midpoint between eyes. + */ + MIDPOINT_BETWEEN_EYES: 7, + + /** + * Nose tip. + */ + NOSE_TIP: 8, + + /** + * Upper lip. + */ + UPPER_LIP: 9, + + /** + * Lower lip. + */ + LOWER_LIP: 10, + + /** + * Mouth left. + */ + MOUTH_LEFT: 11, + + /** + * Mouth right. + */ + MOUTH_RIGHT: 12, + + /** + * Mouth center. + */ + MOUTH_CENTER: 13, + + /** + * Nose, bottom right. + */ + NOSE_BOTTOM_RIGHT: 14, + + /** + * Nose, bottom left. + */ + NOSE_BOTTOM_LEFT: 15, + + /** + * Nose, bottom center. + */ + NOSE_BOTTOM_CENTER: 16, + + /** + * Left eye, top boundary. + */ + LEFT_EYE_TOP_BOUNDARY: 17, + + /** + * Left eye, right corner. + */ + LEFT_EYE_RIGHT_CORNER: 18, + + /** + * Left eye, bottom boundary. + */ + LEFT_EYE_BOTTOM_BOUNDARY: 19, + + /** + * Left eye, left corner. + */ + LEFT_EYE_LEFT_CORNER: 20, + + /** + * Right eye, top boundary. + */ + RIGHT_EYE_TOP_BOUNDARY: 21, + + /** + * Right eye, right corner. + */ + RIGHT_EYE_RIGHT_CORNER: 22, + + /** + * Right eye, bottom boundary. + */ + RIGHT_EYE_BOTTOM_BOUNDARY: 23, + + /** + * Right eye, left corner. + */ + RIGHT_EYE_LEFT_CORNER: 24, + + /** + * Left eyebrow, upper midpoint. + */ + LEFT_EYEBROW_UPPER_MIDPOINT: 25, + + /** + * Right eyebrow, upper midpoint. + */ + RIGHT_EYEBROW_UPPER_MIDPOINT: 26, + + /** + * Left ear tragion. + */ + LEFT_EAR_TRAGION: 27, + + /** + * Right ear tragion. + */ + RIGHT_EAR_TRAGION: 28, + + /** + * Left eye pupil. + */ + LEFT_EYE_PUPIL: 29, + + /** + * Right eye pupil. + */ + RIGHT_EYE_PUPIL: 30, + + /** + * Forehead glabella. + */ + FOREHEAD_GLABELLA: 31, + + /** + * Chin gnathion. + */ + CHIN_GNATHION: 32, + + /** + * Chin left gonion. + */ + CHIN_LEFT_GONION: 33, + + /** + * Chin right gonion. + */ + CHIN_RIGHT_GONION: 34 + } + } +}; + +/** + * Detected entity location information. + * + * @property {Object} latLng + * lat/long location coordinates. + * + * This object should have the same structure as [google.type.LatLng]{@link external:"google.type.LatLng"} + * + * @class + * @see [google.cloud.vision.v1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var LocationInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A `Property` consists of a user-supplied name/value pair. + * + * @property {string} name + * Name of the property. + * + * @property {string} value + * Value of the property. + * + * @class + * @see [google.cloud.vision.v1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var Property = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of detected entity features. + * + * @property {string} mid + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/). + * + * @property {string} locale + * The language code for the locale in which the entity textual + * `description` is expressed. + * + * @property {string} description + * Entity textual description, expressed in its `locale` language. + * + * @property {number} score + * Overall score of the result. Range [0, 1]. + * + * @property {number} confidence + * The accuracy of the entity detection in an image. + * For example, for an image in which the "Eiffel Tower" entity is detected, + * this field represents the confidence that there is a tower in the query + * image. Range [0, 1]. + * + * @property {number} topicality + * The relevancy of the ICA (Image Content Annotation) label to the + * image. For example, the relevancy of "tower" is likely higher to an image + * containing the detected "Eiffel Tower" than to an image containing a + * detected distant towering building, even though the confidence that + * there is a tower in each image may be the same. Range [0, 1]. + * + * @property {Object} boundingPoly + * Image region to which this entity belongs. Currently not produced + * for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s + * are produced for the entire text detected in an image region, followed by + * `boundingPoly`s for each word within the detected text. + * + * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * + * @property {Object[]} locations + * The location information for the detected entity. Multiple + * `LocationInfo` elements can be present because one location may + * indicate the location of the scene in the image, and another location + * may indicate the location of the place where the image was taken. + * Location information is usually present for landmarks. + * + * This object should have the same structure as [LocationInfo]{@link LocationInfo} + * + * @property {Object[]} properties + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + * + * This object should have the same structure as [Property]{@link Property} + * + * @class + * @see [google.cloud.vision.v1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var EntityAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + * + * @property {number} adult + * Represents the adult content likelihood for the image. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} spoof + * Spoof likelihood. The likelihood that an modification + * was made to the image's canonical version to make it appear + * funny or offensive. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} medical + * Likelihood that this is a medical image. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @property {number} violence + * Violence likelihood. + * + * The number should be among the values of [Likelihood]{@link Likelihood} + * + * @class + * @see [google.cloud.vision.v1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var SafeSearchAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Rectangle determined by min and max `LatLng` pairs. + * + * @property {Object} minLatLng + * Min lat/long pair. + * + * This object should have the same structure as [google.type.LatLng]{@link external:"google.type.LatLng"} + * + * @property {Object} maxLatLng + * Max lat/long pair. + * + * This object should have the same structure as [google.type.LatLng]{@link external:"google.type.LatLng"} + * + * @class + * @see [google.cloud.vision.v1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var LatLongRect = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Color information consists of RGB channels, score, and the fraction of + * the image that the color occupies in the image. + * + * @property {Object} color + * RGB components of the color. + * + * This object should have the same structure as [google.type.Color]{@link external:"google.type.Color"} + * + * @property {number} score + * Image-specific score for this color. Value in range [0, 1]. + * + * @property {number} pixelFraction + * The fraction of pixels the color occupies in the image. + * Value in range [0, 1]. + * + * @class + * @see [google.cloud.vision.v1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var ColorInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of dominant colors and their corresponding scores. + * + * @property {Object[]} colors + * RGB color values with their score and pixel fraction. + * + * This object should have the same structure as [ColorInfo]{@link ColorInfo} + * + * @class + * @see [google.cloud.vision.v1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var DominantColorsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Stores image properties, such as dominant colors. + * + * @property {Object} dominantColors + * If present, dominant colors completed successfully. + * + * This object should have the same structure as [DominantColorsAnnotation]{@link DominantColorsAnnotation} + * + * @class + * @see [google.cloud.vision.v1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var ImageProperties = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Single crop hint that is used to generate a new crop when serving an image. + * + * @property {Object} boundingPoly + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + * + * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * + * @property {number} confidence + * Confidence of this being a salient region. Range [0, 1]. + * + * @property {number} importanceFraction + * Fraction of importance of this salient region with respect to the original + * image. + * + * @class + * @see [google.cloud.vision.v1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var CropHint = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of crop hints that are used to generate new crops when serving images. + * + * @property {Object[]} cropHints + * This object should have the same structure as [CropHint]{@link CropHint} + * + * @class + * @see [google.cloud.vision.v1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var CropHintsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Parameters for crop hints annotation request. + * + * @property {number[]} aspectRatios + * Aspect ratios in floats, representing the ratio of the width to the height + * of the image. For example, if the desired aspect ratio is 4/3, the + * corresponding float value should be 1.33333. If not specified, the + * best possible crop is returned. The number of provided aspect ratios is + * limited to a maximum of 16; any aspect ratios provided after the 16th are + * ignored. + * + * @class + * @see [google.cloud.vision.v1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var CropHintsParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Image context and/or feature-specific parameters. + * + * @property {Object} latLongRect + * lat/long rectangle that specifies the location of the image. + * + * This object should have the same structure as [LatLongRect]{@link LatLongRect} + * + * @property {string[]} languageHints + * List of languages to use for TEXT_DETECTION. In most cases, an empty value + * yields the best results since it enables automatic language detection. For + * languages based on the Latin alphabet, setting `language_hints` is not + * needed. In rare cases, when the language of the text in the image is known, + * setting a hint will help get better results (although it will be a + * significant hindrance if the hint is wrong). Text detection returns an + * error if one or more of the specified languages is not one of the + * [supported languages](https://cloud.google.com/vision/docs/languages). + * + * @property {Object} cropHintsParams + * Parameters for crop hints annotation request. + * + * This object should have the same structure as [CropHintsParams]{@link CropHintsParams} + * + * @class + * @see [google.cloud.vision.v1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var ImageContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request for performing Google Cloud Vision API tasks over a user-provided + * image, with user-requested features. + * + * @property {Object} image + * The image to be processed. + * + * This object should have the same structure as [Image]{@link Image} + * + * @property {Object[]} features + * Requested features. + * + * This object should have the same structure as [Feature]{@link Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image. + * + * This object should have the same structure as [ImageContext]{@link ImageContext} + * + * @class + * @see [google.cloud.vision.v1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var AnnotateImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an image annotation request. + * + * @property {Object[]} faceAnnotations + * If present, face detection has completed successfully. + * + * This object should have the same structure as [FaceAnnotation]{@link FaceAnnotation} + * + * @property {Object[]} landmarkAnnotations + * If present, landmark detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link EntityAnnotation} + * + * @property {Object[]} logoAnnotations + * If present, logo detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link EntityAnnotation} + * + * @property {Object[]} labelAnnotations + * If present, label detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link EntityAnnotation} + * + * @property {Object[]} textAnnotations + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link EntityAnnotation} + * + * @property {Object} fullTextAnnotation + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. + * This annotation provides the structural hierarchy for the OCR detected + * text. + * + * This object should have the same structure as [TextAnnotation]{@link TextAnnotation} + * + * @property {Object} safeSearchAnnotation + * If present, safe-search annotation has completed successfully. + * + * This object should have the same structure as [SafeSearchAnnotation]{@link SafeSearchAnnotation} + * + * @property {Object} imagePropertiesAnnotation + * If present, image properties were extracted successfully. + * + * This object should have the same structure as [ImageProperties]{@link ImageProperties} + * + * @property {Object} cropHintsAnnotation + * If present, crop hints have completed successfully. + * + * This object should have the same structure as [CropHintsAnnotation]{@link CropHintsAnnotation} + * + * @property {Object} webDetection + * If present, web detection has completed successfully. + * + * This object should have the same structure as [WebDetection]{@link WebDetection} + * + * @property {Object} error + * If set, represents the error message for the operation. + * Note that filled-in image annotations are guaranteed to be + * correct, even when `error` is set. + * + * This object should have the same structure as [google.rpc.Status]{@link external:"google.rpc.Status"} + * + * @class + * @see [google.cloud.vision.v1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var AnnotateImageResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Multiple image annotation requests are batched into a single service call. + * + * @property {Object[]} requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link AnnotateImageRequest} + * + * @class + * @see [google.cloud.vision.v1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var BatchAnnotateImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to a batch image annotation request. + * + * @property {Object[]} responses + * Individual responses to image annotation requests within the batch. + * + * This object should have the same structure as [AnnotateImageResponse]{@link AnnotateImageResponse} + * + * @class + * @see [google.cloud.vision.v1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var BatchAnnotateImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A bucketized representation of likelihood, which is intended to give clients + * highly stable results across model upgrades. + * + * @enum {number} + */ +var Likelihood = { + + /** + * Unknown likelihood. + */ + UNKNOWN: 0, + + /** + * It is very unlikely that the image belongs to the specified vertical. + */ + VERY_UNLIKELY: 1, + + /** + * It is unlikely that the image belongs to the specified vertical. + */ + UNLIKELY: 2, + + /** + * It is possible that the image belongs to the specified vertical. + */ + POSSIBLE: 3, + + /** + * It is likely that the image belongs to the specified vertical. + */ + LIKELY: 4, + + /** + * It is very likely that the image belongs to the specified vertical. + */ + VERY_LIKELY: 5 +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/doc_text_annotation.js new file mode 100644 index 00000000000..96e5ccba01a --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/doc_text_annotation.js @@ -0,0 +1,362 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ + +/* + * Note: this file is purely for documentation. Any contents are not expected + * to be loaded as the JS file. + */ + +/** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + * Each structural component, starting from Page, may further have their own + * properties. Properties describe detected languages, breaks etc.. Please + * refer to the {@link google.cloud.vision.v1.TextAnnotation.TextProperty} message + * definition below for more detail. + * + * @property {Object[]} pages + * List of pages detected by OCR. + * + * This object should have the same structure as [Page]{@link Page} + * + * @property {string} text + * UTF-8 text detected on the pages. + * + * @class + * @see [google.cloud.vision.v1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} + */ +var TextAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Detected language for a structural component. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {number} confidence + * Confidence of detected language. Range [0, 1]. + * + * @class + * @see [google.cloud.vision.v1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} + */ + DetectedLanguage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Detected start or end of a structural component. + * + * @property {number} type + * The number should be among the values of [BreakType]{@link BreakType} + * + * @property {boolean} isPrefix + * True if break prepends the element. + * + * @class + * @see [google.cloud.vision.v1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} + */ + DetectedBreak: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Enum to denote the type of break found. New line, space etc. + * + * @enum {number} + */ + BreakType: { + + /** + * Unknown break label type. + */ + UNKNOWN: 0, + + /** + * Regular space. + */ + SPACE: 1, + + /** + * Sure space (very wide). + */ + SURE_SPACE: 2, + + /** + * Line-wrapping break. + */ + EOL_SURE_SPACE: 3, + + /** + * End-line hyphen that is not present in text; does + */ + HYPHEN: 4, + + /** + * not co-occur with SPACE, LEADER_SPACE, or + * LINE_BREAK. + * Line break that ends a paragraph. + */ + LINE_BREAK: 5 + } + }, + + /** + * Additional information detected on the structural component. + * + * @property {Object[]} detectedLanguages + * A list of detected languages together with confidence. + * + * This object should have the same structure as [DetectedLanguage]{@link DetectedLanguage} + * + * @property {Object} detectedBreak + * Detected start or end of a text segment. + * + * This object should have the same structure as [DetectedBreak]{@link DetectedBreak} + * + * @class + * @see [google.cloud.vision.v1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} + */ + TextProperty: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * Detected page from OCR. + * + * @property {Object} property + * Additional information detected on the page. + * + * This object should have the same structure as [TextProperty]{@link TextProperty} + * + * @property {number} width + * Page width in pixels. + * + * @property {number} height + * Page height in pixels. + * + * @property {Object[]} blocks + * List of blocks of text, images etc on this page. + * + * This object should have the same structure as [Block]{@link Block} + * + * @class + * @see [google.cloud.vision.v1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} + */ +var Page = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Logical element on the page. + * + * @property {Object} property + * Additional information detected for the block. + * + * This object should have the same structure as [TextProperty]{@link TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the block. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * + * @property {Object[]} paragraphs + * List of paragraphs in this block (if this blocks is of type text). + * + * This object should have the same structure as [Paragraph]{@link Paragraph} + * + * @property {number} blockType + * Detected block type (text, image etc) for this block. + * + * The number should be among the values of [BlockType]{@link BlockType} + * + * @class + * @see [google.cloud.vision.v1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} + */ +var Block = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of a block (text, image etc) as identified by OCR. + * + * @enum {number} + */ + BlockType: { + + /** + * Unknown block type. + */ + UNKNOWN: 0, + + /** + * Regular text block. + */ + TEXT: 1, + + /** + * Table block. + */ + TABLE: 2, + + /** + * Image block. + */ + PICTURE: 3, + + /** + * Horizontal/vertical line box. + */ + RULER: 4, + + /** + * Barcode block. + */ + BARCODE: 5 + } +}; + +/** + * Structural unit of text representing a number of words in certain order. + * + * @property {Object} property + * Additional information detected for the paragraph. + * + * This object should have the same structure as [TextProperty]{@link TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the paragraph. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * + * @property {Object[]} words + * List of words in this paragraph. + * + * This object should have the same structure as [Word]{@link Word} + * + * @class + * @see [google.cloud.vision.v1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} + */ +var Paragraph = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A word representation. + * + * @property {Object} property + * Additional information detected for the word. + * + * This object should have the same structure as [TextProperty]{@link TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the word. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * + * @property {Object[]} symbols + * List of symbols in the word. + * The order of the symbols follows the natural reading order. + * + * This object should have the same structure as [Symbol]{@link Symbol} + * + * @class + * @see [google.cloud.vision.v1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} + */ +var Word = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A single symbol representation. + * + * @property {Object} property + * Additional information detected for the symbol. + * + * This object should have the same structure as [TextProperty]{@link TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the symbol. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * + * @property {string} text + * The actual UTF-8 representation of the symbol. + * + * @class + * @see [google.cloud.vision.v1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} + */ +var Symbol = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/doc_web_detection.js new file mode 100644 index 00000000000..12e2da864f6 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/doc_web_detection.js @@ -0,0 +1,108 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ + +/* + * Note: this file is purely for documentation. Any contents are not expected + * to be loaded as the JS file. + */ + +/** + * Relevant information for the image from the Internet. + * + * @property {Object[]} webEntities + * Deduced entities from similar images on the Internet. + * + * This object should have the same structure as [WebEntity]{@link WebEntity} + * + * @property {Object[]} fullMatchingImages + * Fully matching images from the Internet. + * They're definite neardups and most often a copy of the query image with + * merely a size change. + * + * This object should have the same structure as [WebImage]{@link WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images from the Internet. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its crops. + * + * This object should have the same structure as [WebImage]{@link WebImage} + * + * @property {Object[]} pagesWithMatchingImages + * Web pages containing the matching images from the Internet. + * + * This object should have the same structure as [WebPage]{@link WebPage} + * + * @class + * @see [google.cloud.vision.v1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} + */ +var WebDetection = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Entity deduced from similar images on the Internet. + * + * @property {string} entityId + * Opaque entity ID. + * + * @property {number} score + * Overall relevancy score for the entity. + * Not normalized and not comparable across different image queries. + * + * @property {string} description + * Canonical description of the entity, in English. + * + * @class + * @see [google.cloud.vision.v1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} + */ + WebEntity: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for online images. + * + * @property {string} url + * The result image URL. + * + * @property {number} score + * Overall relevancy score for the image. + * Not normalized and not comparable across different image queries. + * + * @class + * @see [google.cloud.vision.v1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} + */ + WebImage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for web pages. + * + * @property {string} url + * The result web page URL. + * + * @property {number} score + * Overall relevancy score for the web page. + * Not normalized and not comparable across different image queries. + * + * @class + * @see [google.cloud.vision.v1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} + */ + WebPage: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index e2ace8b98f8..bfbad78422d 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -50,15 +50,6 @@ var ALL_SCOPES = [ * images, such as face, landmark, logo, label, and text detection. The * ImageAnnotator service returns detected entities from the images. * - * This will be created through a builder function which can be obtained by the module. - * See the following example of how to initialize the module and how to access to the builder. - * @see {@link imageAnnotatorClient} - * - * @example - * var visionV1 = require('@google-cloud/vision').v1({ - * // optional auth parameters. - * }); - * var client = visionV1.imageAnnotatorClient(); * * @class */ @@ -143,12 +134,18 @@ ImageAnnotatorClient.prototype.getProjectId = function(callback) { * * @example * - * var client = visionV1.imageAnnotatorClient(); + * var vision = require('@google-cloud/vision'); + * + * var client = vision.v1({ + * // optional auth parameters. + * }); + * * var requests = []; * client.batchAnnotateImages({requests: requests}).then(function(responses) { * var response = responses[0]; * // doThingsWith(response) - * }).catch(function(err) { + * }) + * .catch(function(err) { * console.error(err); * }); */ @@ -197,4 +194,4 @@ function ImageAnnotatorClientBuilder(gaxGrpc) { } module.exports = ImageAnnotatorClientBuilder; module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; -module.exports.ALL_SCOPES = ALL_SCOPES; \ No newline at end of file +module.exports.ALL_SCOPES = ALL_SCOPES; diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index b12e1e4b9e8..df112c350a4 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -1,11 +1,11 @@ /* - * Copyright 2016 Google Inc. All rights reserved. + * Copyright 2017, Google Inc. All rights reserved. * * 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 + * 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, @@ -31,4 +31,4 @@ v1.GAPIC_VERSION = '0.7.1'; v1.SERVICE_ADDRESS = imageAnnotatorClient.SERVICE_ADDRESS; v1.ALL_SCOPES = imageAnnotatorClient.ALL_SCOPES; -module.exports = v1; +module.exports = v1; \ No newline at end of file diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 3c14dfcda85..5e6e448d1d4 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -19,9 +19,6 @@ var assert = require('assert'); var async = require('async'); var fs = require('fs'); -var is = require('is'); -var multiline = require('multiline'); -var normalizeNewline = require('normalize-newline'); var path = require('path'); var Storage = require('@google-cloud/storage'); var uuid = require('node-uuid'); @@ -44,7 +41,6 @@ describe('Vision', function() { var vision = new Vision(env); var bucket = storage.bucket(generateName()); - var file = bucket.file('logo.jpg'); before(function(done) { bucket.create(function(err) { @@ -81,553 +77,48 @@ describe('Vision', function() { }); }); - it('should detect from a URL', function(done) { + it('should detect from a URL', () => { var url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; - - vision.detect(url, ['logos'], function(err, logos) { - assert.ifError(err); - - assert.deepEqual(logos, ['Google']); - - done(); + return vision.logoDetection({ + source: {imageUri: url}, + }).then(responses => { + var response = responses[0]; + assert.deepEqual(response.logoAnnotations[0].description, 'Google'); }); }); - it('should detect from a File', function(done) { - vision.detect(file, ['logos'], function(err, logos) { - assert.ifError(err); - - assert.deepEqual(logos, ['Google']); - - done(); + it('should detect from a filename', () => { + return vision.logoDetection({ + source: {filename: IMAGES.logo}, + }).then(responses => { + var response = responses[0]; + assert.deepEqual(response.logoAnnotations[0].description, 'Google'); }); }); - it('should detect from a Buffer', function(done) { + it('should detect from a Buffer', () => { var buffer = fs.readFileSync(IMAGES.logo); - vision.detect(buffer, ['logos'], function(err, logos) { - assert.ifError(err); - - assert.deepEqual(logos, ['Google']); - - done(); - }); - }); - - describe('single image', function() { - var TYPES = ['faces', 'labels', 'safeSearch']; - - it('should perform a single detection', function(done) { - vision.detect(IMAGES.rushmore, TYPES[0], function(err, detections) { - assert.ifError(err); - - assert(is.array(detections)); - - done(); - }); - }); - - it('should perform multiple detections', function(done) { - vision.detect(IMAGES.rushmore, TYPES, function(err, detections) { - assert.ifError(err); - - assert(is.array(detections.faces)); - assert(is.array(detections.labels)); - assert(is.object(detections.safeSearch)); - - done(); - }); - }); - - it('should return errors', function(done) { - vision.detect(IMAGES.malformed, TYPES, function(err, detections) { - assert.strictEqual(err.name, 'PartialFailureError'); - assert(is.array(err.errors)); - assert.strictEqual(err.errors.length, 1); - - assert.deepEqual(detections, []); - done(); - }); - }); - }); - - describe('multiple images', function() { - var TYPES = ['faces', 'labels', 'safeSearch']; - - it('should perform a single detection', function(done) { - var images = [IMAGES.logo, IMAGES.rushmore]; - - vision.detect(images, TYPES[0], function(err, detections) { - assert.ifError(err); - - var image1detections = detections[0]; - var image2detections = detections[1]; - - assert(is.array(image1detections)); - assert(is.array(image2detections)); - - done(); - }); - }); - - it('should perform multiple detections', function(done) { - var images = [IMAGES.logo, IMAGES.rushmore]; - - vision.detect(images, TYPES, function(err, detections) { - assert.ifError(err); - - var image1detections = detections[0]; - var image2detections = detections[1]; - - assert(is.array(image1detections.faces)); - assert(is.array(image1detections.labels)); - assert(is.object(image1detections.safeSearch)); - - assert(is.array(image2detections.faces)); - assert(is.array(image2detections.labels)); - assert(is.object(image2detections.safeSearch)); - - done(); - }); - }); - - it('should return errors', function(done) { - var images = [IMAGES.logo, IMAGES.malformed]; - - vision.detect(images, TYPES, function(err, detections) { - assert.strictEqual(err.name, 'PartialFailureError'); - assert(is.array(err.errors)); - assert.strictEqual(err.errors.length, 1); - - var image2errors = err.errors[0]; - assert.deepEqual(image2errors, { - image: IMAGES.malformed, - errors: [ - { - code: 400, - message: 'Bad image data.', - type: 'faces' - }, - { - code: 400, - message: 'Bad image data.', - type: 'labels' - }, - { - code: 400, - message: 'Bad image data.', - type: 'safeSearch' - } - ] - }); - - var image1detections = detections[0]; - assert(is.array(image1detections.faces)); - assert(is.array(image1detections.labels)); - assert(is.object(image1detections.safeSearch)); - - var image2detections = detections[1]; - assert.deepEqual(image2detections, {}); - - done(); - }); - }); - }); - - describe('crops', function() { - it('should detect crops from an image', function(done) { - vision.detectCrops(IMAGES.logo, function(err, crops) { - assert.ifError(err); - assert.strictEqual(crops.length, 1); - assert.strictEqual(crops[0].length, 4); - done(); - }); - }); - - it('should detect crops from multiple images', function(done) { - vision.detectCrops([ - IMAGES.logo, - IMAGES.rushmore - ], function(err, crops) { - assert.ifError(err); - - assert.strictEqual(crops.length, 2); - assert.strictEqual(crops[0][0].length, 4); - assert.strictEqual(crops[1][0].length, 4); - - done(); - }); - }); - }); - - describe('documents', function() { - it('should detect text from a document', function(done) { - vision.readDocument(IMAGES.document, function(err, text) { - assert.ifError(err); - - assert.strictEqual(typeof text, 'string'); - - done(); - }); - }); - - it('should detect pages from multiple documents', function(done) { - vision.readDocument([ - IMAGES.document, - IMAGES.logo - ], function(err, pages) { - assert.ifError(err); - - assert.strictEqual(pages.length, 2); - assert(typeof pages[0], 'object'); - assert(typeof pages[1], 'object'); - - done(); - }); - }); - }); - - describe('faces', function() { - it('should detect faces from an image', function(done) { - vision.detectFaces(IMAGES.rushmore, function(err, faces) { - assert.ifError(err); - - assert.strictEqual(faces.length, 1); - - done(); - }); - }); - - it('should detect faces from multiple images', function(done) { - vision.detectFaces([ - IMAGES.logo, - IMAGES.rushmore - ], function(err, faces) { - assert.ifError(err); - - assert.strictEqual(faces.length, 2); - assert.strictEqual(faces[0].length, 0); - assert.strictEqual(faces[1].length, 1); - - done(); - }); - }); - }); - - describe('labels', function() { - it('should detect labels', function(done) { - vision.detectLabels(IMAGES.rushmore, function(err, labels) { - assert.ifError(err); - - assert(labels.length > -1); - - done(); - }); - }); - - it('should detect labels from multiple images', function(done) { - vision.detectLabels([ - IMAGES.logo, - IMAGES.rushmore - ], function(err, labels) { - assert.ifError(err); - - assert.strictEqual(labels.length, 2); - - assert(labels[0].length > -1); - assert(labels[1].length > -1); - - done(); - }); - }); - - it('should support verbose mode', function(done) { - var options = { - verbose: true - }; - - vision.detectLabels(IMAGES.rushmore, options, function(err, labels) { - assert.ifError(err); - - assert(is.defined(labels[0].mid)); - - done(); - }); - }); - }); - - describe('landmarks', function() { - it('should detect landmarks from an image', function(done) { - vision.detectLandmarks(IMAGES.rushmore, function(err, landmarks) { - assert.ifError(err); - - assert.deepEqual(landmarks, ['Mount Rushmore']); - - done(); - }); - }); - - it('should detect landmarks from multiple images', function(done) { - vision.detectLandmarks([ - IMAGES.logo, - IMAGES.rushmore - ], function(err, landmarks) { - assert.ifError(err); - - assert.strictEqual(landmarks.length, 2); - - assert.deepEqual(landmarks[0], []); - assert.deepEqual(landmarks[1], ['Mount Rushmore']); - - done(); - }); - }); - - it('should support verbose mode', function(done) { - var opts = { - verbose: true - }; - - vision.detectLandmarks(IMAGES.rushmore, opts, function(err, landmarks) { - assert.ifError(err); - - assert(is.defined(landmarks[0].mid)); - - done(); - }); - }); - }); - - describe('logos', function() { - it('should detect logos from an image', function(done) { - vision.detectLogos(IMAGES.logo, function(err, logos) { - assert.ifError(err); - - assert.deepEqual(logos, ['Google']); - - done(); - }); - }); - - it('should detect logos from multiple images', function(done) { - vision.detectLogos([ - IMAGES.rushmore, - IMAGES.logo - ], function(err, logos) { - assert.ifError(err); - - assert.strictEqual(logos.length, 2); - - assert.deepEqual(logos[0], []); - assert.deepEqual(logos[1], ['Google']); - - done(); - }); - }); - - it('should support verbose mode', function(done) { - var options = { - verbose: true - }; - - vision.detectLogos(IMAGES.logo, options, function(err, logos) { - assert.ifError(err); - - assert(is.defined(logos[0].mid)); - - done(); - }); + return vision.logoDetection(buffer).then(responses => { + var response = responses[0]; + assert.deepEqual(response.logoAnnotations[0].description, 'Google'); }); }); - describe('properties', function() { - it('should detect image properties', function(done) { - vision.detectProperties(IMAGES.rushmore, function(err, properties) { - assert.ifError(err); - - assert.deepEqual(properties.colors, [ - '3b3027', - '727d81', - '3f3022', - '838e92', - '482b17', - '5f4e3d', - '261c14', - 'b29a7f', - '51473e', - '2c1e12' - ]); - - done(); - }); - }); - - it('should detect image properties from multiple images', function(done) { - vision.detectProperties([ - IMAGES.logo, - IMAGES.rushmore - ], function(err, properties) { - assert.ifError(err); - - assert.strictEqual(properties.length, 2); - assert(is.array(properties[0].colors)); - assert(is.array(properties[1].colors)); - - done(); - }); - }); - - it('should support verbose mode', function(done) { - var options = { - verbose: true - }; - - vision.detectProperties(IMAGES.rushmore, options, function(err, props) { - assert.ifError(err); - - assert(is.object(props.colors[0])); - - done(); - }); - }); - }); - - describe('SafeSearch', function() { - it('should detect SafeSearch', function(done) { - vision.detectSafeSearch(IMAGES.rushmore, function(err, safesearch) { - assert.ifError(err); - - assert.deepEqual(safesearch, { - adult: false, - medical: false, - spoof: false, - violence: false - }); - - done(); - }); - }); - - it('should detect SafeSearch from multiple images', function(done) { - vision.detectSafeSearch([ - IMAGES.logo, - IMAGES.rushmore - ], function(err, safesearches) { - assert.ifError(err); - - assert.strictEqual(safesearches.length, 2); - assert.deepEqual(safesearches[0], { - adult: false, - medical: false, - spoof: false, - violence: false - }); - assert.deepEqual(safesearches[1], { - adult: false, - medical: false, - spoof: false, - violence: false - }); - - done(); - }); - }); - - it('should support verbose mode', function(done) { - var options = { - verbose: true - }; - - vision.detectSafeSearch(IMAGES.rushmore, options, function(err, ss) { - assert.ifError(err); - - assert(!is.boolean(ss.adult)); - - done(); - }); - }); - }); - - describe('similar', function() { - it('should detect similar images from the internet', function(done) { - vision.detectSimilar(IMAGES.logo, function(err, images) { - assert.ifError(err); - assert(images.length > -1); - done(); - }); - }); - - it('should detect similar images from multiple images', function(done) { - vision.detectSimilar([ - IMAGES.logo, - IMAGES.rushmore - ], function(err, images) { - assert.ifError(err); - - assert.strictEqual(images.length, 2); - - assert(images[0].length > -1); - assert(images[1].length > -1); - - done(); - }); - }); - }); - - describe('text', function() { - var expectedResults = [ - normalizeNewline(multiline.stripIndent(function() {/* - Google Cloud Client Library for Node.js - an idiomatic, intuitive, and - natural way for Node.js developers to integrate with Google Cloud - Platform services, like Cloud Datastore and Cloud Storage. - - */})) + describe('single image', () => { + var TYPES = [ + {type: 'FACE_DETECTION'}, + {type: 'LABEL_DETECTION'}, + {type: 'SAFE_SEARCH_DETECTION'}, ]; - - expectedResults = expectedResults.concat( - expectedResults[0] - .replace(/\n/g, ' ') - .trim() - .split(' ') - ); - - it('should detect text', function(done) { - vision.detectText(IMAGES.text, function(err, text) { - assert.ifError(err); - - assert.deepEqual(text, expectedResults); - - done(); - }); - }); - - it('should detect text from multiple images', function(done) { - vision.detectText([ - IMAGES.rushmore, - IMAGES.text - ], function(err, texts) { - assert.ifError(err); - - assert.strictEqual(texts.length, 2); - - assert.deepEqual(texts[0], []); - assert.deepEqual(texts[1], expectedResults); - - done(); - }); - }); - - it('should support verbose mode', function(done) { - var options = { - verbose: true - }; - - vision.detectText(IMAGES.text, options, function(err, text) { - assert.ifError(err); - - assert(is.defined(text[0].bounds)); - - done(); + it('should perform multiple detections', () => { + return vision.annotateImage({ + features: TYPES, + image: {source: {filename: IMAGES.rushmore}}, + }).then(responses => { + var response = responses[0]; + assert(response.faceAnnotations.length >= 1); + assert(response.labelAnnotations.length >= 1); + assert(response.safeSearchAnnotation !== null); }); }); }); diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js new file mode 100644 index 00000000000..1408a392924 --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -0,0 +1,82 @@ +/* + * Copyright 2017, Google Inc. All rights reserved. + * + * 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. + */ +'use strict'; + +var assert = require('assert'); +var vision = require('../src'); + +var FAKE_STATUS_CODE = 1; +var error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('ImageAnnotatorClient', function() { + describe('batchAnnotateImages', function() { + it('invokes batchAnnotateImages without error', function(done) { + var client = vision.v1(); + + // Mock request + var requests = []; + var request = { + requests : requests + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._batchAnnotateImages = mockSimpleGrpcMethod(request, expectedResponse); + + client.batchAnnotateImages(request, function(err, response) { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', function(done) { + var client = vision.v1(); + + // Mock request + var requests = []; + var request = { + requests : requests + }; + + // Mock Grpc layer + client._batchAnnotateImages = mockSimpleGrpcMethod(request, null, error); + + client.batchAnnotateImages(request, function(err, response) { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + +}); + +function mockSimpleGrpcMethod(expectedRequest, response, error) { + return function(actualRequest, options, callback) { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js new file mode 100644 index 00000000000..c740193bfe7 --- /dev/null +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -0,0 +1,283 @@ +/*! + * Copyright 2017 Google Inc. All Rights Reserved. + * + * 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. + */ + +'use strict'; + +var assert = require('assert'); +var fs = require('fs'); +var is = require('is'); +var sinon = require('sinon'); + +var Vision = require('../'); + + +describe('Vision helper methods', () => { + var sandbox = sinon.sandbox.create(); + + afterEach(() => { + sandbox.restore(); + }); + + describe('annotateImage', () => { + it('calls batchAnnotateImages correctly', () => { + var vision = Vision.v1(); + var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, {responses: [{ + logoAnnotations: [{description: 'Google'}], + }]}); + + // Ensure that the annotateImage method arrifies the request and + // passes it through to the batch annotation method. + var request = { + image: {content: new Buffer('bogus==')}, + features: {type: ['LOGO_DETECTION']}, + }; + return vision.annotateImage(request).then(r => { + var response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert(batchAnnotate.calledWith([request])); + }); + }); + + it('understands buffers', () => { + var vision = Vision.v1(); + + // Stub out the batch annotation method. + var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, {responses: [{ + logoAnnotations: [{description: 'Google'}], + }]}); + + // Ensure that the annotateImage method arrifies the request and + // passes it through to the batch annotation method. + var request = { + image: new Buffer('fakeImage'), + features: {type: ['LOGO_DETECTION']}, + }; + return vision.annotateImage(request).then(r => { + var response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert.deepEqual(request, { + image: {content: 'ZmFrZUltYWdl'}, + features: {type: ['LOGO_DETECTION']}, + }); + assert(batchAnnotate.calledWith([request])); + }); + }); + + it('understands filenames', () => { + var vision = Vision.v1(); + + // Stub out `fs.readFile` and return a bogus image object. + // This allows us to test filename detection. + var readFile = sandbox.stub(fs, 'readFile'); + readFile.withArgs('image.jpg').callsArgWith(2, null, + new Buffer('fakeImage') + ); + readFile.callThrough(); + + // Stub out the batch annotation method as before. + var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, {responses: [{ + logoAnnotations: [{description: 'Google'}], + }]}); + + // Ensure that the annotateImage method arrifies the request and + // passes it through to the batch annotation method. + var request = { + image: {source: {filename: 'image.jpg'}}, + features: {type: ['LOGO_DETECTION']}, + }; + return vision.annotateImage(request).then(r => { + var response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to `readFile` to ensure that they matched + // the expected signature. + assert(readFile.callCount === 1); + assert(readFile.calledWith('image.jpg')); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert.deepEqual(request, { + image: {content: 'ZmFrZUltYWdl'}, + features: {type: ['LOGO_DETECTION']}, + }); + assert(batchAnnotate.calledWith([request])); + }); + }); + + it('propagates the error if a file is not found', () => { + var vision = Vision.v1(); + + // Stub out `fs.readFile` and return a bogus image object. + // This allows us to test filename detection. + var readFile = sandbox.stub(fs, 'readFile'); + readFile.withArgs('image.jpg').callsArgWith(2, {error: 404}); + readFile.callThrough(); + + // Ensure that the annotateImage method arrifies the request and + // passes it through to the batch annotation method. + var request = { + image: {source: {filename: 'image.jpg'}}, + features: {type: ['LOGO_DETECTION']}, + }; + return vision.annotateImage(request).then(assert.fail).catch(err => { + assert.deepEqual(err, {error: 404}); + }); + }); + + it('retains call options sent', () => { + var vision = Vision.v1(); + var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, {responses: [{ + logoAnnotations: [{description: 'Google'}], + }]}); + + // Ensure that the annotateImage method arrifies the request and + // passes it through to the batch annotation method. + var request = { + image: {content: new Buffer('bogus==')}, + features: {type: ['LOGO_DETECTION']}, + }; + return vision.annotateImage(request, {foo: 'bar'}).then(r => { + var response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert(batchAnnotate.calledWith([request], {foo: 'bar'})); + }); + }); + + it('fires a callback if provided', done => { + var vision = Vision.v1(); + var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, {responses: [{ + logoAnnotations: [{description: 'Google'}], + }]}); + + // Ensure that the annotateImage method does *not* pass the callback + // on to batchAnnotateImages, but rather handles it itself. + var request = { + image: {content: new Buffer('bogus==')}, + features: {type: ['LOGO_DETECTION']}, + }; + vision.annotateImage(request, function(err, response) { + // Establish that we got the expected response. + assert(is.undefined(err)); + assert.deepEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotate and ensure that they match + // what we expected. + assert(batchAnnotate.callCount === 1); + assert(batchAnnotate.calledWith([request], undefined)); + done(); + }); + }); + + it('fires the callback on error', () => { + var vision = Vision.v1(); + var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, {message: 'Bad things!'}); + + // Ensure that the annotateImage method does *not* pass the callback + // on to batchAnnotateImages, but rather handles it itself. + var request = { + image: {content: new Buffer('bogus==')}, + features: {type: ['LOGO_DETECTION']}, + }; + return vision.annotateImage(request).catch(err => { + // Establish that we got the expected response. + assert.deepEqual(err, {message: 'Bad things!'}); + + // Inspect the calls to batchAnnotate and ensure that they match + // what we expected. + assert(batchAnnotate.callCount === 1); + assert(batchAnnotate.calledWith([request], undefined)); + }); + }); + + it('requires an image and throws without one', () => { + var vision = Vision.v1(); + var request = {}; + return vision.annotateImage(request).then(assert.fail).catch(err => { + var expected = 'Attempted to call `annotateImage` with no image.'; + assert(err.message === expected); + }); + }); + }); + + describe('single-feature methods', () => { + it('calls annotateImage with the correct feature', () => { + var vision = Vision.v1(); + var annotate = sandbox.spy(vision, 'annotateImage'); + var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, {responses: [{ + logoAnnotations: [{description: 'Google'}], + }]}); + + // Ensure that the annotateImage method does *not* pass the callback + // on to batchAnnotateImages, but rather handles it itself. + var image = {content: new Buffer('bogus==')}; + return vision.logoDetection(image).then(r => { + var response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to annotateImage and batchAnnotateImages and + // ensure they matched the expected signature. + assert(annotate.callCount === 1); + assert(annotate.calledWith({image: image, features: [{type: 3}]})); + assert(batchAnnotate.callCount === 1); + assert(batchAnnotate.calledWith( + [{image: image, features: [{type: 3}]}] + )); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/index.js b/packages/google-cloud-vision/test/index.js deleted file mode 100644 index 74838291b7c..00000000000 --- a/packages/google-cloud-vision/test/index.js +++ /dev/null @@ -1,1868 +0,0 @@ -/** - * Copyright 2015 Google Inc. All Rights Reserved. - * - * 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. - */ - -'use strict'; - -var assert = require('assert'); -var async = require('async'); -var deepStrictEqual = require('deep-strict-equal'); -var extend = require('extend'); -var fs = require('fs'); -var GrpcService = require('@google-cloud/common-grpc').Service; -var prop = require('propprop'); -var proxyquire = require('proxyquire'); -var tmp = require('tmp'); -var util = require('@google-cloud/common').util; - -var promisified = false; -var fakeUtil = extend({}, util, { - promisifyAll: function(Class) { - if (Class.name === 'Vision') { - promisified = true; - } - } -}); - -var fakeV1Override; -function fakeV1() { - if (fakeV1Override) { - return fakeV1Override.apply(null, arguments); - } - - return { - imageAnnotatorClient: util.noop - }; -} - -describe('Vision', function() { - var IMAGE = './image.jpg'; - var PROJECT_ID = 'project-id'; - - var Vision; - var VisionCached; - var vision; - - var OPTIONS = { - projectId: PROJECT_ID - }; - - before(function() { - Vision = proxyquire('../', { - '@google-cloud/common': { - util: fakeUtil - }, - './v1': fakeV1 - }); - - VisionCached = extend({}, Vision); - }); - - beforeEach(function() { - fakeV1Override = null; - - vision = new Vision(OPTIONS); - - extend(Vision, VisionCached); - }); - - describe('instantiation', function() { - it('should promisify all the things', function() { - assert(promisified); - }); - - it('should normalize the arguments', function() { - var normalizeArguments = fakeUtil.normalizeArguments; - var normalizeArgumentsCalled = false; - var fakeOptions = { projectId: PROJECT_ID }; - var fakeContext = {}; - - fakeUtil.normalizeArguments = function(context, options) { - normalizeArgumentsCalled = true; - assert.strictEqual(context, fakeContext); - assert.strictEqual(options, fakeOptions); - return options; - }; - - Vision.call(fakeContext, fakeOptions); - assert(normalizeArgumentsCalled); - - fakeUtil.normalizeArguments = normalizeArguments; - }); - - it('should create a gax api client', function() { - var expectedVisionClient = {}; - - fakeV1Override = function(options) { - var expected = extend({}, OPTIONS, { - libName: 'gccl', - libVersion: require('../package.json').version - }); - assert.deepStrictEqual(options, expected); - - return { - imageAnnotatorClient: function(options) { - assert.deepStrictEqual(options, expected); - return expectedVisionClient; - } - }; - }; - - var vision = new Vision(OPTIONS); - - assert.deepEqual(vision.api, { - Vision: expectedVisionClient - }); - }); - }); - - describe('constants', function() { - it('should define constants', function() { - assert.strictEqual(Vision.likelihood.VERY_UNLIKELY, 0); - assert.strictEqual(Vision.likelihood.UNLIKELY, 1); - assert.strictEqual(Vision.likelihood.POSSIBLE, 2); - assert.strictEqual(Vision.likelihood.LIKELY, 3); - assert.strictEqual(Vision.likelihood.VERY_LIKELY, 4); - }); - }); - - describe('annotate', function() { - var REQ = {}; - - it('should arrify request objects', function(done) { - vision.api.Vision = { - batchAnnotateImages: function(reqOpts) { - assert.deepEqual(reqOpts, { - requests: [REQ] - }); - done(); - } - }; - - vision.annotate(REQ, assert.ifError); - }); - - describe('error', function() { - var error = new Error('Error.'); - var apiResponse = {}; - - beforeEach(function() { - vision.api.Vision = { - batchAnnotateImages: function(reqOpts, callback) { - callback(error, apiResponse); - } - }; - }); - - it('should execute callback with error & API response', function(done) { - vision.annotate(REQ, function(err, annotations, resp) { - assert.strictEqual(err, error); - assert.strictEqual(annotations, null); - assert.strictEqual(resp, apiResponse); - done(); - }); - }); - }); - - describe('success', function() { - var apiResponse = { - responses: [] - }; - - beforeEach(function() { - vision.api.Vision = { - batchAnnotateImages: function(reqOpts, callback) { - callback(null, apiResponse); - } - }; - }); - - it('should execute callback with annotations & API resp', function(done) { - vision.annotate(REQ, function(err, annotations, resp) { - assert.ifError(err); - - assert.strictEqual(annotations, apiResponse.responses); - assert.strictEqual(resp, apiResponse); - - done(); - }); - }); - }); - }); - - describe('detect', function() { - var TYPES = [ - 'face', - 'label' - ]; - - var IMAGES = [ - { - content: 'aGk=' - } - ]; - - var MULTIPLE_IMAGES = [ - IMAGES[0], - IMAGES[0] - ]; - - - beforeEach(function() { - Vision.findImages_ = function(images, callback) { - callback(null, IMAGES); - }; - }); - - it('should find the images', function(done) { - Vision.findImages_ = function(images) { - assert.strictEqual(images, IMAGE); - done(); - }; - - vision.detect(IMAGE, TYPES, assert.ifError); - }); - - it('should return an error from findImages_', function(done) { - var error = new Error('Error.'); - - Vision.findImages_ = function(images, callback) { - assert.strictEqual(images, IMAGE); - callback(error); - }; - - vision.detect(IMAGE, TYPES, function(err) { - assert.strictEqual(err, error); - done(); - }); - }); - - it('should throw an error if a type does not exist', function() { - var type = 'not-real-type'; - - assert.throws(function() { - vision.detect(IMAGE, type, assert.ifError); - }, /Requested detection feature not found: not-real-type/); - }); - - it('should format the correct config', function(done) { - var typeShortNameToFullName = { - crop: 'CROP_HINTS', - crops: 'CROP_HINTS', - - doc: 'DOCUMENT_TEXT_DETECTION', - document: 'DOCUMENT_TEXT_DETECTION', - - face: 'FACE_DETECTION', - faces: 'FACE_DETECTION', - - label: 'LABEL_DETECTION', - labels: 'LABEL_DETECTION', - - landmark: 'LANDMARK_DETECTION', - landmarks: 'LANDMARK_DETECTION', - - logo: 'LOGO_DETECTION', - logos: 'LOGO_DETECTION', - - properties: 'IMAGE_PROPERTIES', - - safeSearch: 'SAFE_SEARCH_DETECTION', - - similar: 'WEB_DETECTION', - - text: 'TEXT_DETECTION' - }; - - var shortNames = Object.keys(typeShortNameToFullName); - - function checkConfig(shortName, callback) { - vision.annotate = function(config) { - assert.deepEqual(config, [ - { - image: IMAGES[0], - features: [ - { - type: typeShortNameToFullName[shortName] - } - ] - } - ]); - - callback(); - }; - - vision.detect(IMAGE, shortName, assert.ifError); - } - - async.each(shortNames, checkConfig, done); - }); - - it('should allow setting imageContext', function(done) { - var imageContext = { - latLongRect: { - minLatLng: { - latitude: 37.420901, - longitude: -122.081293 - }, - maxLatLng: { - latitude: 37.423228, - longitude: -122.086347 - } - } - }; - - vision.annotate = function(config) { - assert.deepEqual(config, [ - { - image: IMAGES[0], - features: [ - { - type: 'LABEL_DETECTION' - } - ], - imageContext: imageContext - } - ]); - - done(); - }; - - vision.detect(IMAGE, { - types: ['label'], - imageContext: imageContext - }, assert.ifError); - }); - - it('should allow setting maxResults', function(done) { - var maxResults = 10; - - vision.annotate = function(config) { - assert.deepEqual(config, [ - { - image: IMAGES[0], - features: [ - { - type: 'FACE_DETECTION', - maxResults: 10 - } - ] - } - ]); - - done(); - }; - - vision.detect(IMAGE, { - types: ['face'], - maxResults: maxResults - }, assert.ifError); - }); - - it('should return empty detections when none were found', function(done) { - vision.annotate = function(config, callback) { - callback(null, [ - {}, - {} - ]); - }; - - vision.detect(IMAGE, TYPES, function(err, detections) { - assert.ifError(err); - assert.deepEqual(detections, { - faces: [], - labels: [] - }); - done(); - }); - }); - - it('should return the correct detections', function(done) { - var annotations = [ - { - cropHintsAnnotation: { anno: true } - }, - { - faceAnnotations: { anno: true } - }, - { - fullTextAnnotation: { anno: true } - }, - { - imagePropertiesAnnotation: { anno: true } - }, - { - labelAnnotations: { anno: true } - }, - { - landmarkAnnotations: { anno: true } - }, - { - logoAnnotations: { anno: true } - }, - { - safeSearchAnnotation: { anno: true } - }, - { - textAnnotations: { anno: true } - }, - { - webDetection: { anno: true } - } - ]; - - var cropHintsAnnotation = {}; - var faceAnnotation = {}; - var fullTextAnnotation = {}; - var imagePropertiesAnnotation = {}; - var entityAnnotation = {}; - var safeSearchAnnotation = {}; - var webDetection = {}; - - Vision.formatCropHintsAnnotation_ = function() { - return cropHintsAnnotation; - }; - - Vision.formatFaceAnnotation_ = function() { - return faceAnnotation; - }; - - Vision.formatFullTextAnnotation_ = function() { - return fullTextAnnotation; - }; - - Vision.formatImagePropertiesAnnotation_ = function() { - return imagePropertiesAnnotation; - }; - - Vision.formatEntityAnnotation_ = function() { - return entityAnnotation; - }; - - Vision.formatSafeSearchAnnotation_ = function() { - return safeSearchAnnotation; - }; - - Vision.formatWebDetection_ = function() { - return webDetection; - }; - - vision.annotate = function(config, callback) { - callback(null, annotations); - }; - - var expected = { - crops: cropHintsAnnotation, - faces: faceAnnotation, - document: fullTextAnnotation, - properties: imagePropertiesAnnotation, - labels: entityAnnotation, - landmarks: entityAnnotation, - logos: entityAnnotation, - safeSearch: safeSearchAnnotation, - text: entityAnnotation, - similar: webDetection - }; - - var types = Object.keys(expected); - - vision.detect(IMAGE, types, function(err, detections) { - assert.ifError(err); - assert(deepStrictEqual(detections, expected)); - done(); - }); - }); - - it('should return an empty array for empty responses', function(done) { - var annotations = [ - {}, // empty `faceAnnotations` - { - imagePropertiesAnnotation: {} - } - ]; - - vision.annotate = function(config, callback) { - callback(null, annotations); - }; - - var expected = { - faces: [], - properties: {} - }; - - var types = Object.keys(expected); - - vision.detect(IMAGE, types, function(err, detections) { - assert.ifError(err); - - assert(deepStrictEqual(detections, expected)); - - done(); - }); - }); - - it('should return partial failure errors', function(done) { - var error1 = { error: true }; - var error2 = { error: true }; - - var annotations = [ - { error: error1 }, - { error: error2 } - ]; - - var types = ['faces', 'properties']; - - Vision.formatError_ = function(err) { - err.formatted = true; - return err; - }; - - vision.annotate = function(config, callback) { - callback(null, annotations); - }; - - vision.detect(IMAGE, types, function(err, detections) { - assert.strictEqual(err.name, 'PartialFailureError'); - - assert.deepEqual(err.errors, [ - { - image: IMAGE, - errors: [ - extend(error1, { - type: types[0], - formatted: true - }), - extend(error2, { - type: types[1], - formatted: true - }) - ] - } - ]); - - assert.deepEqual(detections, {}); - - done(); - }); - }); - - it('should return partial failure errors for multi images', function(done) { - var error1 = { error: true }; - var error2 = { error: true }; - var error3 = { error: true }; - var error4 = { error: true }; - - var annotations = [ - { error: error1 }, - { error: error2 }, - { error: error3 }, - { error: error4 } - ]; - - var images = ['./image.jpg', './image-2.jpg']; - var types = ['faces', 'properties']; - - Vision.findImages_ = function(images, callback) { - callback(null, MULTIPLE_IMAGES); - }; - - Vision.formatError_ = function(err) { - err.formatted = true; - return err; - }; - - vision.annotate = function(config, callback) { - callback(null, annotations); - }; - - vision.detect(images, types, function(err, detections) { - assert.strictEqual(err.name, 'PartialFailureError'); - - assert.deepEqual(err.errors, [ - { - image: images[0], - errors: [ - extend(error1, { - type: types[0], - formatted: true - }), - extend(error2, { - type: types[1], - formatted: true - }) - ] - }, - { - image: images[1], - errors: [ - extend(error3, { - type: types[0], - formatted: true - }), - extend(error4, { - type: types[1], - formatted: true - }) - ] - } - ]); - - assert.deepEqual(detections, [{}, {}]); - - done(); - }); - }); - - it('should return only the detection wanted', function(done) { - vision.annotate = function(config, callback) { - callback(null, [{}]); - }; - - vision.detect(IMAGE, ['face'], function(err, detection) { - assert.ifError(err); - - assert.deepEqual(detection, []); - - done(); - }); - }); - - it('should return the correct detections for multiple img', function(done) { - var anno = { a: 'b', c: 'd' }; - - var annotations = [ - // Image 1 annotations: - { - faceAnnotations: anno - }, - { - imagePropertiesAnnotation: anno - }, - { - labelAnnotations: anno - }, - { - landmarkAnnotations: anno - }, - { - logoAnnotations: anno - }, - { - safeSearchAnnotation: anno - }, - { - textAnnotations: anno - }, - - // Image 2 annotations: - { - faceAnnotations: anno - }, - { - imagePropertiesAnnotation: anno - }, - { - labelAnnotations: anno - }, - { - landmarkAnnotations: anno - }, - { - logoAnnotations: anno - }, - { - safeSearchAnnotation: anno - }, - { - textAnnotations: anno - } - ]; - - var faceAnnotation = {}; - var imagePropertiesAnnotation = {}; - var entityAnnotation = {}; - var safeSearchAnnotation = {}; - - Vision.formatFaceAnnotation_ = function(anno_) { - assert.strictEqual(anno_, anno); - return faceAnnotation; - }; - - Vision.formatImagePropertiesAnnotation_ = function(anno_) { - assert.strictEqual(anno_, anno); - return imagePropertiesAnnotation; - }; - - Vision.formatEntityAnnotation_ = function(anno_) { - assert.strictEqual(anno_, anno); - return entityAnnotation; - }; - - Vision.formatSafeSearchAnnotation_ = function(anno_) { - assert.strictEqual(anno_, anno); - return safeSearchAnnotation; - }; - - Vision.findImages_ = function(images, callback) { - callback(null, IMAGES.concat(IMAGES)); - }; - - vision.annotate = function(config, callback) { - callback(null, annotations); - }; - - var expected = [ - { - faces: faceAnnotation, - properties: imagePropertiesAnnotation, - labels: entityAnnotation, - landmarks: entityAnnotation, - logos: entityAnnotation, - safeSearch: safeSearchAnnotation, - text: entityAnnotation - }, - { - faces: faceAnnotation, - properties: imagePropertiesAnnotation, - labels: entityAnnotation, - landmarks: entityAnnotation, - logos: entityAnnotation, - safeSearch: safeSearchAnnotation, - text: entityAnnotation - } - ]; - - var types = Object.keys(expected[0]); - - vision.detect([IMAGE, IMAGE], types, function(err, detections) { - assert.ifError(err); - assert(deepStrictEqual(detections, expected)); - done(); - }); - }); - - it('should return the raw annotation for unknown types', function(done) { - var anno = { a: 'b', c: 'd' }; - - var annotations = [ - { - faceAnnotations: anno - } - ]; - - Vision.formatFaceAnnotation_ = null; - - vision.annotate = function(config, callback) { - callback(null, annotations); - }; - - vision.detect(IMAGE, 'faces', function(err, detections) { - assert.ifError(err); - assert.strictEqual(detections, anno); - done(); - }); - }); - - it('should return an error from annotate()', function(done) { - var error = new Error('Error.'); - var apiResponse = {}; - - vision.annotate = function(config, callback) { - callback(error, null, apiResponse); - }; - - vision.detect(IMAGE, TYPES, function(err, annotations, resp) { - assert.strictEqual(err, error); - assert.strictEqual(annotations, null); - assert.strictEqual(resp, apiResponse); - done(); - }); - }); - - it('should return the apiResponse from annotate()', function(done) { - var apiResponse = { - responses: [ - { - faceAnnotations: {} - } - ] - }; - - var originalApiResponse = extend(true, {}, apiResponse); - - Vision.formatFaceAnnotation_ = function() { - return {}; - }; - - vision.annotate = function(config, callback) { - callback(null, apiResponse.responses, apiResponse); - }; - - vision.detect(IMAGE, TYPES, function(err, annotations, resp) { - assert.ifError(err); - - // assert.strictEqual(resp, apiResponse); - assert.deepEqual(resp, originalApiResponse); - - done(); - }); - }); - }); - - describe('detectCrops', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('crops'); - - vision.detectCrops(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('crops', options); - - vision.detectCrops(IMAGE, options, done); - }); - }); - - describe('detectFaces', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('faces'); - - vision.detectFaces(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('faces', options); - - vision.detectFaces(IMAGE, options, done); - }); - }); - - describe('detectLabels', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('labels'); - - vision.detectLabels(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('labels', options); - - vision.detectLabels(IMAGE, options, done); - }); - }); - - describe('detectLandmarks', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('landmarks'); - - vision.detectLandmarks(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('landmarks', options); - - vision.detectLandmarks(IMAGE, options, done); - }); - }); - - describe('detectLogos', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('logos'); - - vision.detectLogos(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('logos', options); - - vision.detectLogos(IMAGE, options, done); - }); - }); - - describe('detectProperties', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('properties'); - - vision.detectProperties(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('properties', options); - - vision.detectProperties(IMAGE, options, done); - }); - }); - - describe('detectSafeSearch', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('safeSearch'); - - vision.detectSafeSearch(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('safeSearch', options); - - vision.detectSafeSearch(IMAGE, options, done); - }); - }); - - describe('detectSimilar', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('similar'); - - vision.detectSimilar(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('similar', options); - - vision.detectSimilar(IMAGE, options, done); - }); - }); - - describe('detectText', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('text'); - - vision.detectText(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('text', options); - - vision.detectText(IMAGE, options, done); - }); - }); - - describe('readDocument', function() { - it('should accept a callback only', function(done) { - vision.detect = testWithoutOptions('document'); - - vision.readDocument(IMAGE, done); - }); - - it('should accept options', function(done) { - var options = { - a: 'b', - c: 'd' - }; - - vision.detect = testWithOptions('document', options); - - vision.readDocument(IMAGE, options, done); - }); - }); - - describe('findImages_', function() { - it('should return buffer for snippet sandbox', function(done) { - global.GCLOUD_SANDBOX_ENV = true; - - Vision.findImages_({}, function(err, images) { - delete global.GCLOUD_SANDBOX_ENV; - assert.ifError(err); - - assert.deepEqual(images, [ - { - content: new Buffer('') - } - ]); - - done(); - }); - }); - - it('should convert a File object', function(done) { - var file = { - name: 'file-name', - bucket: { - name: 'bucket-name' - } - }; - - var isCustomType = util.isCustomType; - - fakeUtil.isCustomType = function(unknown, type) { - fakeUtil.isCustomType = isCustomType; - assert.strictEqual(unknown, file); - assert.strictEqual(type, 'storage/file'); - return true; - }; - - Vision.findImages_(file, function(err, images) { - assert.ifError(err); - - assert.deepEqual(images, [ - { - source: { - gcsImageUri: 'gs://' + file.bucket.name + '/' + file.name - } - } - ]); - - done(); - }); - }); - - it('should properly format a URL', function(done) { - var imageUri = 'http://www.google.com/logo.png'; - - Vision.findImages_(imageUri, function(err, images) { - assert.ifError(err); - assert.deepEqual(images, [ - { - source: { - imageUri: imageUri - } - } - ]); - done(); - }); - }); - - it('should read from a file path', function(done) { - tmp.setGracefulCleanup(); - - tmp.file(function tempFileCreated_(err, tmpFilePath) { - assert.ifError(err); - - var contents = 'abcdef'; - - function writeFile(callback) { - fs.writeFile(tmpFilePath, contents, callback); - } - - function convertFile(callback) { - Vision.findImages_(tmpFilePath, callback); - } - - async.waterfall([writeFile, convertFile], function(err, images) { - assert.ifError(err); - - assert.deepEqual(images, [ - { - content: new Buffer(contents).toString('base64') - } - ]); - - done(); - }); - }); - }); - - - it('should get content from a buffer', function(done) { - var base64String = 'aGVsbG8gd29ybGQ='; - var buffer = new Buffer(base64String, 'base64'); - - Vision.findImages_(buffer, function(err, images) { - assert.ifError(err); - assert.deepEqual(images, [ - { - content: base64String - } - ]); - done(); - }); - }); - - it('should return an error when file cannot be found', function(done) { - Vision.findImages_('./not-real-file.png', function(err) { - assert.strictEqual(err.code, 'ENOENT'); - done(); - }); - }); - }); - - describe('formatCropHintsAnnotation_', function() { - var VERTICES = [ - { x: 0, y: 0 }, - { x: 0, y: 0 } - ]; - - var CONFIDENCE = 0.3; - - var cropHintsAnnotation = { - cropHints: [ - { - boundingPoly: { - vertices: VERTICES - }, - confidence: CONFIDENCE - } - ] - }; - - describe('verbose: false', function() { - var opts = {}; - - it('should format the annotation', function() { - var fmtd = Vision.formatCropHintsAnnotation_(cropHintsAnnotation, opts); - - assert.deepEqual(fmtd, [ - VERTICES - ]); - }); - }); - - describe('verbose: true', function() { - var opts = { verbose: true }; - - it('should format the annotation', function() { - var fmtd = Vision.formatCropHintsAnnotation_(cropHintsAnnotation, opts); - - assert.deepEqual(fmtd, [ - { - bounds: VERTICES, - confidence: CONFIDENCE - } - ]); - }); - }); - }); - - describe('formatEntityAnnotation_', function() { - var entityAnnotation = { - description: 'description', - mid: 'mid', - score: 0.4, - boundingPoly: { - vertices: {} - }, - confidence: 0.2, - locations: [ - { - latLng: [] - } - ], - properties: {} - }; - - describe('verbose: false', function() { - it('should just return the description', function() { - var formatted = Vision.formatEntityAnnotation_(entityAnnotation, {}); - - assert.strictEqual(formatted, entityAnnotation.description); - }); - }); - - describe('verbose: true', function() { - var opts = { - verbose: true - }; - - it('should format the entity annotation', function() { - var formatted = Vision.formatEntityAnnotation_(entityAnnotation, opts); - - assert.deepEqual(formatted, { - desc: entityAnnotation.description, - mid: entityAnnotation.mid, - score: entityAnnotation.score * 100, - bounds: entityAnnotation.boundingPoly.vertices, - confidence: entityAnnotation.confidence * 100, - locations: entityAnnotation.locations.map(prop('latLng')), - properties: entityAnnotation.properties - }); - }); - }); - }); - - describe('formatError_', function() { - var error = { - code: 1, - message: 'Oh no!', - details: [ - 'these should be clipped' - ] - }; - - it('should format an error', function() { - var err = Vision.formatError_(error); - - assert.deepEqual(err, { - code: GrpcService.GRPC_ERROR_CODE_TO_HTTP[1].code, - message: error.message - }); - }); - }); - - describe('formatFaceAnnotation_', function() { - var faceAnnotation = { - panAngle: {}, - rollAngle: {}, - tiltAngle: {}, - - boundingPoly: { - vertices: {} - }, - fdBoundingPoly: { - vertices: {} - }, - - landmarkingConfidence: 0.2, - - landmarks: [ - { - type: 'CHIN_GNATHION', - position: {} - }, - { - type: 'CHIN_LEFT_GONION', - position: {} - }, - { - type: 'CHIN_RIGHT_GONION', - position: {} - }, - { - type: 'LEFT_EAR_TRAGION', - position: {} - }, - { - type: 'RIGHT_EAR_TRAGION', - position: {} - }, - { - type: 'LEFT_OF_LEFT_EYEBROW', - position: {} - }, - { - type: 'RIGHT_OF_LEFT_EYEBROW', - position: {} - }, - { - type: 'LEFT_EYEBROW_UPPER_MIDPOINT', - position: {} - }, - { - type: 'LEFT_OF_RIGHT_EYEBROW', - position: {} - }, - { - type: 'RIGHT_OF_RIGHT_EYEBROW', - position: {} - }, - { - type: 'RIGHT_EYEBROW_UPPER_MIDPOINT', - position: {} - }, - { - type: 'LEFT_EYE_BOTTOM_BOUNDARY', - position: {} - }, - { - type: 'LEFT_EYE', - position: {} - }, - { - type: 'LEFT_EYE_LEFT_CORNER', - position: {} - }, - { - type: 'LEFT_EYE_PUPIL', - position: {} - }, - { - type: 'LEFT_EYE_RIGHT_CORNER', - position: {} - }, - { - type: 'LEFT_EYE_TOP_BOUNDARY', - position: {} - }, - { - type: 'RIGHT_EYE_BOTTOM_BOUNDARY', - position: {} - }, - { - type: 'RIGHT_EYE', - position: {} - }, - { - type: 'RIGHT_EYE_LEFT_CORNER', - position: {} - }, - { - type: 'RIGHT_EYE_PUPIL', - position: {} - }, - { - type: 'RIGHT_EYE_RIGHT_CORNER', - position: {} - }, - { - type: 'RIGHT_EYE_TOP_BOUNDARY', - position: {} - }, - { - type: 'FOREHEAD_GLABELLA', - position: {} - }, - { - type: 'LOWER_LIP', - position: {} - }, - { - type: 'UPPER_LIP', - position: {} - }, - { - type: 'MOUTH_CENTER', - position: {} - }, - { - type: 'MOUTH_LEFT', - position: {} - }, - { - type: 'MOUTH_RIGHT', - position: {} - }, - { - type: 'NOSE_BOTTOM_CENTER', - position: {} - }, - { - type: 'NOSE_BOTTOM_LEFT', - position: {} - }, - { - type: 'NOSE_BOTTOM_RIGHT', - position: {} - }, - { - type: 'NOSE_TIP', - position: {} - }, - { - type: 'MIDPOINT_BETWEEN_EYES', - position: {} - } - ], - - detectionConfidence: 0.2, - blurredLikelihood: 'LIKELY', - underExposedLikelihood: 'LIKELY', - joyLikelihood: 'LIKELY', - headwearLikelihood: 'LIKELY', - angerLikelihood: 'LIKELY', - sorrowLikelihood: 'LIKELY', - surpriseLikelihood: 'LIKELY', - - nonExistentLikelihood: 'LIKELY' - }; - - function findLandmark(type) { - var landmarks = faceAnnotation.landmarks; - - return landmarks.filter(function(landmark) { - return landmark.type === type; - })[0].position; - } - - it('should format the annotation', function() { - var expected = { - angles: { - pan: faceAnnotation.panAngle, - roll: faceAnnotation.rollAngle, - tilt: faceAnnotation.tiltAngle - }, - - bounds: { - head: faceAnnotation.boundingPoly.vertices, - face: faceAnnotation.fdBoundingPoly.vertices - }, - - features: { - confidence: faceAnnotation.landmarkingConfidence * 100, - chin: { - center: findLandmark('CHIN_GNATHION'), - left: findLandmark('CHIN_LEFT_GONION'), - right: findLandmark('CHIN_RIGHT_GONION') - }, - ears: { - left: findLandmark('LEFT_EAR_TRAGION'), - right: findLandmark('RIGHT_EAR_TRAGION'), - }, - eyebrows: { - left: { - left: findLandmark('LEFT_OF_LEFT_EYEBROW'), - right: findLandmark('RIGHT_OF_LEFT_EYEBROW'), - top: findLandmark('LEFT_EYEBROW_UPPER_MIDPOINT') - }, - right: { - left: findLandmark('LEFT_OF_RIGHT_EYEBROW'), - right: findLandmark('RIGHT_OF_RIGHT_EYEBROW'), - top: findLandmark('RIGHT_EYEBROW_UPPER_MIDPOINT') - } - }, - eyes: { - left: { - bottom: findLandmark('LEFT_EYE_BOTTOM_BOUNDARY'), - center: findLandmark('LEFT_EYE'), - left: findLandmark('LEFT_EYE_LEFT_CORNER'), - pupil: findLandmark('LEFT_EYE_PUPIL'), - right: findLandmark('LEFT_EYE_RIGHT_CORNER'), - top: findLandmark('LEFT_EYE_TOP_BOUNDARY') - }, - right: { - bottom: findLandmark('RIGHT_EYE_BOTTOM_BOUNDARY'), - center: findLandmark('RIGHT_EYE'), - left: findLandmark('RIGHT_EYE_LEFT_CORNER'), - pupil: findLandmark('RIGHT_EYE_PUPIL'), - right: findLandmark('RIGHT_EYE_RIGHT_CORNER'), - top: findLandmark('RIGHT_EYE_TOP_BOUNDARY') - } - }, - forehead: findLandmark('FOREHEAD_GLABELLA'), - lips: { - bottom: findLandmark('LOWER_LIP'), - top: findLandmark('UPPER_LIP') - }, - mouth: { - center: findLandmark('MOUTH_CENTER'), - left: findLandmark('MOUTH_LEFT'), - right: findLandmark('MOUTH_RIGHT') - }, - nose: { - bottom: { - center: findLandmark('NOSE_BOTTOM_CENTER'), - left: findLandmark('NOSE_BOTTOM_LEFT'), - right: findLandmark('NOSE_BOTTOM_RIGHT') - }, - tip: findLandmark('NOSE_TIP'), - top: findLandmark('MIDPOINT_BETWEEN_EYES') - } - }, - - confidence: faceAnnotation.detectionConfidence * 100, - - anger: true, - angerLikelihood: 3, - blurred: true, - blurredLikelihood: 3, - headwear: true, - headwearLikelihood: 3, - joy: true, - joyLikelihood: 3, - sorrow: true, - sorrowLikelihood: 3, - surprise: true, - surpriseLikelihood: 3, - underExposed: true, - underExposedLikelihood: 3, - - // Checks that *any* property that ends in `Likelihood` is shortened. - nonExistent: true, - nonExistentLikelihood: 3 - }; - - var formatted = Vision.formatFaceAnnotation_(faceAnnotation); - - assert(deepStrictEqual(formatted, expected)); - }); - }); - - describe('formatFullTextAnnotation_', function() { - var BLOCK_TYPE = 'block type'; - - var LANGUAGE_CODE = 'language code'; - - var TEXT = 'F'; - - var VERTICES = [ - { x: 0, y: 0 }, - { x: 0, y: 0 }, - { x: 0, y: 0 }, - { x: 0, y: 0 } - ]; - - var fullTextAnnotation = { - text: 'Full text', - pages: [ - { - property: { - detectedLanguages: [ - { - languageCode: LANGUAGE_CODE - } - ] - }, - width: 50, - height: 100, - blocks: [ - { - blockType: BLOCK_TYPE, - boundingBox: { - vertices: VERTICES - }, - paragraphs: [ - { - boundingBox: { - vertices: VERTICES - }, - words: [ - { - boundingBox: { - vertices: VERTICES - }, - symbols: [ - { - boundingBox: { - vertices: VERTICES - }, - text: TEXT - } - ] - } - ] - } - ] - } - ] - } - ] - }; - - describe('verbose: false', function() { - var opts = {}; - - it('should return text property', function() { - var fmtd = Vision.formatFullTextAnnotation_(fullTextAnnotation, opts); - - assert.strictEqual(fmtd, fullTextAnnotation.text); - }); - }); - - describe('verbose: true', function() { - var opts = { verbose: true }; - - it('should return formatted annotation', function() { - var fmtd = Vision.formatFullTextAnnotation_(fullTextAnnotation, opts); - - assert.deepEqual(fmtd, [ - { - languages: [ - LANGUAGE_CODE - ], - width: 50, - height: 100, - blocks: [ - { - type: BLOCK_TYPE, - bounds: VERTICES, - paragraphs: [ - { - bounds: VERTICES, - words: [ - { - bounds: VERTICES, - symbols: [ - { - bounds: VERTICES, - text: TEXT - } - ] - } - ] - } - ] - } - ] - } - ]); - }); - - it('should not require a bounding block box', function() { - var annoWithoutBounding = extend(true, {}, fullTextAnnotation); - delete annoWithoutBounding.pages[0].blocks[0].boundingBox; - - var fmtd = Vision.formatFullTextAnnotation_(annoWithoutBounding, opts); - - assert.deepEqual(fmtd[0].blocks[0].bounds, []); - }); - }); - }); - - describe('formatImagePropertiesAnnotation_', function() { - var imgAnnotation = { - dominantColors: { - colors: [ - { - color: { - red: 255, - green: 255, - blue: 255 - }, - pixelFraction: 0.8, - score: 0.2 - } - ] - } - }; - - describe('verbose: false', function() { - var opts = {}; - - it('should format the annotation', function() { - var fmtd = Vision.formatImagePropertiesAnnotation_(imgAnnotation, opts); - - assert.deepEqual(fmtd, { - colors: ['ffffff'] - }); - }); - }); - - describe('verbose: true', function() { - var opts = { - verbose: true - }; - - it('should format the annotation', function() { - var fmtd = Vision.formatImagePropertiesAnnotation_(imgAnnotation, opts); - - assert.deepEqual(fmtd, { - colors: [ - { - red: 255, - green: 255, - blue: 255, - hex: 'ffffff', - coverage: 80, - score: 20 - } - ] - }); - }); - }); - }); - - describe('formatSafeSearchAnnotation_', function() { - var safeSearchAnno = { - adult: 'LIKELY', - medical: 'LIKELY', - spoof: 'LIKELY', - violence: 'LIKELY' - }; - - describe('verbose: false', function() { - var opts = {}; - - it('should convert values to a boolean', function() { - var fmtd = Vision.formatSafeSearchAnnotation_(safeSearchAnno, opts); - - assert.deepEqual(fmtd, { - adult: true, - medical: true, - spoof: true, - violence: true - }); - }); - }); - - describe('verbose: true', function() { - var opts = { - verbose: true - }; - - it('should return raw response', function() { - var fmtd = Vision.formatSafeSearchAnnotation_(safeSearchAnno, opts); - - assert.strictEqual(fmtd, safeSearchAnno); - }); - }); - }); - - describe('formatWebDetection_', function() { - var webDetection = { - webEntities: [ - { - description: 'description' - }, - ], - - fullMatchingImages: [ - { - score: 0, - url: 'http://full-0' - }, - { - score: 1, - url: 'http://full-1' - } - ], - - partialMatchingImages: [ - { - score: 0, - url: 'http://partial-0' - }, - { - score: 1, - url: 'http://partial-1' - } - ], - - pagesWithMatchingImages: [ - { - score: 0, - url: 'http://page-0' - }, - { - score: 1, - url: 'http://page-1' - } - ] - }; - - describe('verbose: false', function() { - var opts = {}; - - it('should return sorted & combined image urls', function() { - var fmtd = Vision.formatWebDetection_(webDetection, opts); - - assert.deepEqual(fmtd, [ - 'http://full-1', - 'http://full-0', - 'http://partial-1', - 'http://partial-0' - ]); - }); - }); - - describe('verbose: true', function() { - var opts = { - verbose: true - }; - - it('should return entities, pages & individual, sorted urls', function() { - var fmtd = Vision.formatWebDetection_(webDetection, opts); - - assert.deepEqual(fmtd, { - entities: webDetection.webEntities.map(prop('description')), - fullMatches: [ - 'http://full-1', - 'http://full-0' - ], - partialMatches: [ - 'http://partial-1', - 'http://partial-0' - ], - pages: [ - 'http://page-1', - 'http://page-0' - ] - }); - }); - }); - }); - - describe('gteLikelihood_', function() { - it('should return booleans', function() { - var baseLikelihood = Vision.likelihood.LIKELY; - - assert.strictEqual( - Vision.gteLikelihood_(baseLikelihood, 'VERY_UNLIKELY'), - false - ); - - assert.strictEqual( - Vision.gteLikelihood_(baseLikelihood, 'UNLIKELY'), - false - ); - - assert.strictEqual( - Vision.gteLikelihood_(baseLikelihood, 'POSSIBLE'), - false - ); - - assert.strictEqual( - Vision.gteLikelihood_(baseLikelihood, 'LIKELY'), - true - ); - - assert.strictEqual( - Vision.gteLikelihood_(baseLikelihood, 'VERY_LIKELY'), - true - ); - }); - }); - - function testWithoutOptions(type) { - return function(images, options, callback) { - assert.strictEqual(images, IMAGE); - assert.deepEqual(options, { - types: [type] - }); - callback(); // done() - }; - } - - function testWithOptions(type, options) { - return function(images, options_, callback) { - assert.strictEqual(images, IMAGE); - assert.notStrictEqual(options_, options); - assert.deepEqual(options_, extend({}, options, { - types: [type] - })); - callback(); // done() - }; - } -}); diff --git a/packages/google-cloud-vision/test/index.test.js b/packages/google-cloud-vision/test/index.test.js new file mode 100644 index 00000000000..197c058fe95 --- /dev/null +++ b/packages/google-cloud-vision/test/index.test.js @@ -0,0 +1,50 @@ +/** + * Copyright 2017 Google Inc. All Rights Reserved. + * + * 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. + */ + +'use strict'; + +var assert = require('assert'); + +var Vision = require('../'); + + +describe('Vision', () => { + describe('v1', () => { + it('returns a v1 GAPIC augmented with helpers', () => { + var vision = Vision.v1(); + + // Assert that the GAPIC v1 methods are present on the object. + assert(vision.batchAnnotateImages instanceof Function); + + // Assert that the manual single-image helper method is present + // on the object. + assert(vision.annotateImage instanceof Function); + + // Assert that some of the expected single-feature helper methods + // are present on the object. + assert(vision.faceDetection instanceof Function); + assert(vision.landmarkDetection instanceof Function); + assert(vision.logoDetection instanceof Function); + assert(vision.labelDetection instanceof Function); + assert(vision.textDetection instanceof Function); + assert(vision.documentTextDetection instanceof Function); + assert(vision.safeSearchDetection instanceof Function); + assert(vision.imageProperties instanceof Function); + assert(vision.cropHints instanceof Function); + assert(vision.webDetection instanceof Function); + }); + }); +}); From 795040d805e40065662805d57375c9c1b6f2ddd8 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Wed, 26 Jul 2017 17:27:16 -0400 Subject: [PATCH 099/588] vision @ 0.12.0 tagged. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a1a1b3dce2b..4def5676d8b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "repository": "GoogleCloudPlatform/google-cloud-node", "name": "@google-cloud/vision", - "version": "0.11.5", + "version": "0.12.0", "author": "Google Inc", "description": "Google Cloud Vision API client for Node.js", "contributors": [ From 4eddead264da4891e2184c58ad4df5afb57a51b4 Mon Sep 17 00:00:00 2001 From: Gus Class Date: Mon, 31 Jul 2017 16:33:39 -0700 Subject: [PATCH 100/588] Upgrades vision to partial-GAPIC (#434) --- .../google-cloud-vision/samples/package.json | 2 +- .../google-cloud-vision/samples/quickstart.js | 22 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 10f58666a79..cc676cc244d 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@google-cloud/storage": "1.1.0", - "@google-cloud/vision": "0.11.2", + "@google-cloud/vision": "^0.12.0", "async": "2.3.0", "natural": "0.5.1", "redis": "2.7.1", diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index 16afa9a4078..56914608e55 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -1,5 +1,5 @@ /** - * Copyright 2016, Google, Inc. + * Copyright 2017, Google, Inc. * 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 @@ -19,24 +19,26 @@ // Imports the Google Cloud client library const Vision = require('@google-cloud/vision'); -// Your Google Cloud Platform project ID -const projectId = 'YOUR_PROJECT_ID'; - // Instantiates a client -const visionClient = Vision({ - projectId: projectId -}); +const vision = Vision(); // The name of the image file to annotate const fileName = './resources/wakeupcat.jpg'; +// Prepare the request object +const request = { + source: { + filename: fileName + } +}; + // Performs label detection on the image file -visionClient.detectLabels(fileName) +vision.labelDetection(request) .then((results) => { - const labels = results[0]; + const labels = results[0].labelAnnotations; console.log('Labels:'); - labels.forEach((label) => console.log(label)); + labels.forEach((label) => console.log(label.description)); }) .catch((err) => { console.error('ERROR:', err); From fed5b6c959efd525fd3ec3332a67975014f86f18 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 23 Aug 2017 14:19:35 -0700 Subject: [PATCH 101/588] Build updates. (#462) --- packages/google-cloud-vision/samples/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index cc676cc244d..be92f874ebe 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,8 +14,7 @@ "scripts": { "lint": "samples lint", "pretest": "npm run lint", - "system-test": "ava -T 1m --verbose system-test/*.test.js", - "test": "npm run system-test" + "test": "samples test run --cmd ava -- -T 1m --verbose system-test/*.test.js" }, "dependencies": { "@google-cloud/storage": "1.1.0", From 2fbb7070191be23ba16082f9cd651869384cf699 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Tue, 12 Sep 2017 16:53:41 -0700 Subject: [PATCH 102/588] Rename COPYING to LICENSE. (#2605) * Rename COPYING to LICENSE. The open source team is asking that we use LICENSE for the license filename consistently across our repos. * Fix references of COPYING to LICENSE. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 4def5676d8b..280a3d8212d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -34,7 +34,7 @@ "files": [ "src", "AUTHORS", - "COPYING" + "LICENSE" ], "keywords": [ "google apis client", From 1b5a6da21f06e1d6547f52a45597521230dbdbd7 Mon Sep 17 00:00:00 2001 From: Ali Ijaz Sheikh Date: Mon, 23 Oct 2017 16:14:38 -0700 Subject: [PATCH 103/588] chore: update deps: google-{gax,proto-files} (#2691) --- packages/google-cloud-vision/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 280a3d8212d..572732ea2d7 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -53,8 +53,8 @@ "@google-cloud/common": "^0.13.0", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.13.2", - "google-proto-files": "^0.12.0", + "google-gax": "^0.14.2", + "google-proto-files": "^0.13.1", "is": "^3.0.1" }, "devDependencies": { From 08fa9bc7d9a87108ee1635e1655a8d2bbb5e285f Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Thu, 26 Oct 2017 10:49:32 -0700 Subject: [PATCH 104/588] Tweak comments in Vision samples. --- packages/google-cloud-vision/samples/quickstart.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index 56914608e55..60d9ea4ce86 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -19,8 +19,8 @@ // Imports the Google Cloud client library const Vision = require('@google-cloud/vision'); -// Instantiates a client -const vision = Vision(); +// Creates a client +const vision = new Vision(); // The name of the image file to annotate const fileName = './resources/wakeupcat.jpg'; From 5244ed012ee5ff7020fae8cda6bb71d3df74c73a Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Fri, 3 Nov 2017 01:18:00 -0700 Subject: [PATCH 105/588] Add arbitrary request options to single-feature helpers. (#2555) --- packages/google-cloud-vision/src/helpers.js | 111 ++++++++++++------ .../google-cloud-vision/test/helpers.test.js | 22 +++- 2 files changed, 96 insertions(+), 37 deletions(-) diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index d71c32412ae..2ec01d4cf0f 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -74,11 +74,22 @@ var coerceImage = (image, callback) => { * asking for the single feature annotation. */ var _createSingleFeatureMethod = featureValue => { - return function(image, options) { - return this.annotateImage({ - image: image, - features: [{type: featureValue}], - }, options); + return function(annotateImageRequest, callOptions) { + annotateImageRequest.features = annotateImageRequest.features || [{ + type: featureValue, + }]; + // If the user submitted explicit features that do not line up with + // the precise method called, throw an exception. + for (let feature of annotateImageRequest.features) { + if (feature.type !== featureValue) { + throw new Error( + 'Setting explicit features is not supported on this method. ' + + 'Use the #annotateImage method instead.' + ); + } + } + // Call the underlying #annotateImage method. + return this.annotateImage(annotateImageRequest, callOptions); }; }; @@ -98,9 +109,10 @@ module.exports = apiVersion => { /** * Annotate a single image with the requested features. * - * @param {Object=} request + * @param {Object} request * A representation of the request being sent to the Vision API. - * @param {Object=} request.image + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -110,7 +122,10 @@ module.exports = apiVersion => { * If the key is `content`, the value should be a Buffer. * @param {Array} request.features * An array of the specific annotation features being requested. - * @param {Object=} options + * This should take a form such as: + * [{type: vision.types.Feature.Type.FACE_DETECTION}, + * {type: vision.types.Feature.Type.WEB_DETECTION}] + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -137,12 +152,12 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.annotateImage = promisify(function(request, options, callback) { + methods.annotateImage = promisify(function(request, callOptions, callback) { // If a callback was provided and options were skipped, normalize // the argument names. - if (is.undefined(callback) && is.function(options)) { - callback = options; - options = undefined; + if (is.undefined(callback) && is.function(callOptions)) { + callback = callOptions; + callOptions = undefined; } // If there is no image, throw an exception. @@ -159,7 +174,7 @@ module.exports = apiVersion => { request.image = image; // Call the GAPIC batch annotation function. - return this.batchAnnotateImages([request], options, (err, r) => { + return this.batchAnnotateImages([request], callOptions, (err, r) => { // If there is an error, handle it. if (err) { return callback(err); @@ -187,7 +202,10 @@ module.exports = apiVersion => { /** * Annotate a single image with face detection. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -195,7 +213,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -227,7 +245,10 @@ module.exports = apiVersion => { /** * Annotate a single image with landmark detection. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -235,7 +256,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -267,7 +288,10 @@ module.exports = apiVersion => { /** * Annotate a single image with logo detection. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -275,7 +299,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -307,7 +331,10 @@ module.exports = apiVersion => { /** * Annotate a single image with label detection. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -315,7 +342,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -347,7 +374,10 @@ module.exports = apiVersion => { /** * Annotate a single image with text detection. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -355,7 +385,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -387,7 +417,10 @@ module.exports = apiVersion => { /** * Annotate a single image with document text detection. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -395,7 +428,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -427,7 +460,10 @@ module.exports = apiVersion => { /** * Annotate a single image with safe search detection. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -435,7 +471,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -467,7 +503,10 @@ module.exports = apiVersion => { /** * Annotate a single image with image properties. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -475,7 +514,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -507,7 +546,10 @@ module.exports = apiVersion => { /** * Annotate a single image with crop hints. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -515,7 +557,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} @@ -547,7 +589,10 @@ module.exports = apiVersion => { /** * Annotate a single image with web detection. * - * @param {Object=} image + * @param {Object} request + * A representation of the request being sent to the Vision API. + * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. + * @param {Object} request.image * A dictionary-like object representing the image. This should have a * single key (`source`, `content`). * @@ -555,7 +600,7 @@ module.exports = apiVersion => { * `imageUri` or `filename` as a key and a string as a value. * * If the key is `content`, the value should be a Buffer. - * @param {Object=} options + * @param {Object=} callOptions * Optional parameters. You can override the default settings for this * call, e.g, timeout, retries, paginations, etc. See * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index c740193bfe7..ca6bf48f813 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -260,8 +260,8 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method does *not* pass the callback // on to batchAnnotateImages, but rather handles it itself. - var image = {content: new Buffer('bogus==')}; - return vision.logoDetection(image).then(r => { + var imageRequest = {image: {content: new Buffer('bogus==')}}; + return vision.logoDetection(Object.assign({}, imageRequest)).then(r => { var response = r[0]; // Ensure that we got the slice of the response that we expected. @@ -272,12 +272,26 @@ describe('Vision helper methods', () => { // Inspect the calls to annotateImage and batchAnnotateImages and // ensure they matched the expected signature. assert(annotate.callCount === 1); - assert(annotate.calledWith({image: image, features: [{type: 3}]})); + assert(annotate.calledWith({ + features: [{type: 3}], + image: imageRequest.image, + })); assert(batchAnnotate.callCount === 1); assert(batchAnnotate.calledWith( - [{image: image, features: [{type: 3}]}] + [{image: imageRequest.image, features: [{type: 3}]}] )); }); }); + + it('throws an exception if conflicting features are given', () => { + var vision = Vision.v1(); + var imageRequest = { + image: {content: new Buffer('bogus==')}, + features: [{type: 0}], + }; + vision.logoDetection(imageRequest).then(assert.fail).catch(ex => { + assert(ex.message.indexOf('Setting explicit') > -1); + }); + }); }); }); From 4f048a263ae009695e31b8f0d939ca5c8b7d4cf4 Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Fri, 3 Nov 2017 04:26:44 -0400 Subject: [PATCH 106/588] vision: update system tests after breaking change in #2555 --- packages/google-cloud-vision/system-test/vision.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 5e6e448d1d4..bccdf698932 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -80,7 +80,9 @@ describe('Vision', function() { it('should detect from a URL', () => { var url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; return vision.logoDetection({ - source: {imageUri: url}, + image: { + source: {imageUri: url} + } }).then(responses => { var response = responses[0]; assert.deepEqual(response.logoAnnotations[0].description, 'Google'); @@ -89,7 +91,9 @@ describe('Vision', function() { it('should detect from a filename', () => { return vision.logoDetection({ - source: {filename: IMAGES.logo}, + image: { + source: {filename: IMAGES.logo} + }, }).then(responses => { var response = responses[0]; assert.deepEqual(response.logoAnnotations[0].description, 'Google'); @@ -98,7 +102,11 @@ describe('Vision', function() { it('should detect from a Buffer', () => { var buffer = fs.readFileSync(IMAGES.logo); - return vision.logoDetection(buffer).then(responses => { + return vision.logoDetection({ + image: { + content: buffer + } + }).then(responses => { var response = responses[0]; assert.deepEqual(response.logoAnnotations[0].description, 'Google'); }); From 0bd98594b1abda737c4fdb1b120370ad4b8cc52f Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Fri, 17 Nov 2017 08:24:42 -0800 Subject: [PATCH 107/588] Repository Migration (#4) --- packages/google-cloud-vision/.appveyor.yml | 20 + .../google-cloud-vision/.circleci/config.yml | 225 ++++++ .../.circleci/key.json.enc | Bin 0 -> 2368 bytes .../.cloud-repo-tools.json | 16 + packages/google-cloud-vision/.eslintignore | 3 + packages/google-cloud-vision/.eslintrc.yml | 13 + packages/google-cloud-vision/.gitignore | 12 +- packages/google-cloud-vision/.jsdoc.js | 45 ++ packages/google-cloud-vision/.mailmap | 6 + packages/google-cloud-vision/.nycrc | 26 + packages/google-cloud-vision/.prettierignore | 3 + packages/google-cloud-vision/.prettierrc | 8 + .../google-cloud-vision/CODE_OF_CONDUCT.md | 43 + packages/google-cloud-vision/CONTRIBUTORS | 18 + packages/google-cloud-vision/LICENSE | 202 +++++ packages/google-cloud-vision/README.md | 179 ++-- packages/google-cloud-vision/package.json | 91 ++- .../google/cloud/vision/v1/geometry.proto | 54 ++ .../cloud/vision/v1/image_annotator.proto | 569 +++++++++++++ .../cloud/vision/v1/text_annotation.proto | 237 ++++++ .../cloud/vision/v1/web_detection.proto | 78 ++ .../google-cloud-vision/samples/.eslintrc.yml | 3 + .../google-cloud-vision/samples/README.md | 124 +-- .../google-cloud-vision/samples/package.json | 34 +- .../google-cloud-vision/samples/quickstart.js | 21 +- .../smoke-test/image_annotator_smoke_test.js | 51 -- packages/google-cloud-vision/src/helpers.js | 762 +++++++++--------- packages/google-cloud-vision/src/index.js | 138 ++-- .../cloud/vision/v1}/doc_geometry.js | 45 +- .../cloud/vision/v1}/doc_image_annotator.js | 196 +++-- .../cloud/vision/v1}/doc_text_annotation.js | 101 +-- .../cloud/vision/v1}/doc_web_detection.js | 54 +- .../protobuf/doc_any.js} | 56 +- .../protobuf/doc_wrappers.js} | 90 ++- .../rpc/doc_status.js} | 58 +- .../type/doc_color.js} | 44 +- .../type/doc_latlng.js} | 42 +- .../src/v1/image_annotator_client.js | 373 +++++---- packages/google-cloud-vision/src/v1/index.js | 47 +- .../system-test/.eslintrc.yml | 6 + .../google-cloud-vision/system-test/vision.js | 146 ++-- .../google-cloud-vision/test/.eslintrc.yml | 5 + packages/google-cloud-vision/test/gapic-v1.js | 73 +- .../google-cloud-vision/test/helpers.test.js | 238 +++--- .../google-cloud-vision/test/index.test.js | 36 +- 45 files changed, 3182 insertions(+), 1409 deletions(-) create mode 100644 packages/google-cloud-vision/.appveyor.yml create mode 100644 packages/google-cloud-vision/.circleci/config.yml create mode 100644 packages/google-cloud-vision/.circleci/key.json.enc create mode 100644 packages/google-cloud-vision/.cloud-repo-tools.json create mode 100644 packages/google-cloud-vision/.eslintignore create mode 100644 packages/google-cloud-vision/.eslintrc.yml create mode 100644 packages/google-cloud-vision/.jsdoc.js create mode 100644 packages/google-cloud-vision/.mailmap create mode 100644 packages/google-cloud-vision/.nycrc create mode 100644 packages/google-cloud-vision/.prettierignore create mode 100644 packages/google-cloud-vision/.prettierrc create mode 100644 packages/google-cloud-vision/CODE_OF_CONDUCT.md create mode 100644 packages/google-cloud-vision/CONTRIBUTORS create mode 100644 packages/google-cloud-vision/LICENSE create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto create mode 100644 packages/google-cloud-vision/samples/.eslintrc.yml delete mode 100644 packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js rename packages/google-cloud-vision/src/v1/doc/{ => google/cloud/vision/v1}/doc_geometry.js (65%) rename packages/google-cloud-vision/src/v1/doc/{ => google/cloud/vision/v1}/doc_image_annotator.js (85%) rename packages/google-cloud-vision/src/v1/doc/{ => google/cloud/vision/v1}/doc_text_annotation.js (83%) rename packages/google-cloud-vision/src/v1/doc/{ => google/cloud/vision/v1}/doc_web_detection.js (74%) rename packages/google-cloud-vision/src/v1/doc/{doc_google_protobuf_any.js => google/protobuf/doc_any.js} (74%) rename packages/google-cloud-vision/src/v1/doc/{doc_google_protobuf_wrappers.js => google/protobuf/doc_wrappers.js} (59%) rename packages/google-cloud-vision/src/v1/doc/{doc_google_rpc_status.js => google/rpc/doc_status.js} (67%) rename packages/google-cloud-vision/src/v1/doc/{doc_google_type_color.js => google/type/doc_color.js} (85%) rename packages/google-cloud-vision/src/v1/doc/{doc_google_type_latlng.js => google/type/doc_latlng.js} (73%) create mode 100644 packages/google-cloud-vision/system-test/.eslintrc.yml create mode 100644 packages/google-cloud-vision/test/.eslintrc.yml diff --git a/packages/google-cloud-vision/.appveyor.yml b/packages/google-cloud-vision/.appveyor.yml new file mode 100644 index 00000000000..24082152655 --- /dev/null +++ b/packages/google-cloud-vision/.appveyor.yml @@ -0,0 +1,20 @@ +environment: + matrix: + - nodejs_version: 8 + +install: + - ps: Install-Product node $env:nodejs_version + - npm install -g npm # Force using the latest npm to get dedupe during install + - set PATH=%APPDATA%\npm;%PATH% + - npm install --force --ignore-scripts + +test_script: + - node --version + - npm --version + - npm rebuild + - npm test + +build: off + +matrix: + fast_finish: true diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml new file mode 100644 index 00000000000..7d8903ac2c9 --- /dev/null +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -0,0 +1,225 @@ +--- +# "Include" for unit tests definition. +unit_tests: &unit_tests + steps: + - checkout + - run: + name: Install modules and dependencies. + command: npm install + - run: + name: Run unit tests. + command: npm test + - run: + name: Submit coverage data to codecov. + command: node_modules/.bin/codecov + when: always + +version: 2.0 +workflows: + version: 2 + tests: + jobs: + - node4: + filters: + tags: + only: /.*/ + - node6: + filters: + tags: + only: /.*/ + - node7: + filters: + tags: + only: /.*/ + - node8: + filters: + tags: + only: /.*/ + - node9: + filters: + tags: + only: /.*/ + - lint: + requires: + - node4 + - node6 + - node7 + - node8 + - node9 + filters: + tags: + only: /.*/ + - docs: + requires: + - node4 + - node6 + - node7 + - node8 + - node9 + filters: + tags: + only: /.*/ + - system_tests: + requires: + - lint + - docs + filters: + branches: + only: master + tags: + only: /^v[\d.]+$/ + - sample_tests: + requires: + - lint + - docs + filters: + branches: + only: master + tags: + only: /^v[\d.]+$/ + - publish_npm: + requires: + - system_tests + - sample_tests + filters: + branches: + ignore: /.*/ + tags: + only: /^v[\d.]+$/ + +jobs: + node4: + docker: + - image: node:4 + steps: + - checkout + - run: + name: Install modules and dependencies. + command: npm install --unsafe-perm + - run: + name: Run unit tests. + command: npm test + - run: + name: Submit coverage data to codecov. + command: node_modules/.bin/codecov + when: always + node6: + docker: + - image: node:6 + <<: *unit_tests + node7: + docker: + - image: node:7 + <<: *unit_tests + node8: + docker: + - image: node:8 + <<: *unit_tests + node9: + docker: + - image: node:9 + <<: *unit_tests + + lint: + docker: + - image: node:8 + steps: + - checkout + - run: + name: Install modules and dependencies. + command: | + npm install + npm link + - run: + name: Link the module being tested to the samples. + command: | + cd samples/ + npm link @google-cloud/vision + npm install + cd .. + - run: + name: Run linting. + command: npm run lint + + docs: + docker: + - image: node:8 + steps: + - checkout + - run: + name: Install modules and dependencies. + command: npm install + - run: + name: Build documentation. + command: npm run docs + + sample_tests: + docker: + - image: node:8 + steps: + - checkout + - run: + name: Decrypt credentials. + command: | + openssl aes-256-cbc -d -in .circleci/key.json.enc \ + -out .circleci/key.json \ + -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" + - run: + name: Install and link the module. + command: | + npm install + npm link + - run: + name: Link the module being tested to the samples. + command: | + cd samples/ + npm link @google-cloud/vision + npm install + cd .. + - run: + name: Run sample tests. + command: npm run samples-test + environment: + GCLOUD_PROJECT: long-door-651 + GOOGLE_APPLICATION_CREDENTIALS: /var/vision/.circleci/key.json + - run: + name: Remove unencrypted key. + command: rm .circleci/key.json + when: always + working_directory: /var/vision/ + + system_tests: + docker: + - image: node:8 + steps: + - checkout + - run: + name: Decrypt credentials. + command: | + openssl aes-256-cbc -d -in .circleci/key.json.enc \ + -out .circleci/key.json \ + -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" + - run: + name: Install modules and dependencies. + command: npm install + - run: + name: Run system tests. + command: npm run system-test + environment: + GOOGLE_APPLICATION_CREDENTIALS: .circleci/key.json + - run: + name: Remove unencrypted key. + command: rm .circleci/key.json + when: always + + publish_npm: + docker: + - image: node:8 + steps: + - checkout + - run: + name: Set NPM authentication. + command: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc + - run: + name: Publish the module to npm. + command: npm publish diff --git a/packages/google-cloud-vision/.circleci/key.json.enc b/packages/google-cloud-vision/.circleci/key.json.enc new file mode 100644 index 0000000000000000000000000000000000000000..4023580113359d886bb91262efc88fd24599d2be GIT binary patch literal 2368 zcmV-G3BUGJVQh3|WM5y9MoD9?W1Qq~l$%s^+rS!#&NM$Icg6dNNo$?k8lXYs`7-`*G9p|?Gi-NTy>W;3!SJx%UO7%OqJ6b8BRbC z@D4;+P!b=VlvjKRr=6}+av_JTS40zx^Kni#ftWV$>876>itQT1v&X}(0JR%?Ctyu$ zmP^6oXA-Vh+Wk2lpCHWR3oui%*^IXu%;f#j!KOar=3DzJJ;unKvS}`F!90>z-EI~D zsx5BKC(R*|?=3#!g;h*$=>LV`9<%iygvyyD^+?BMo0+*^dwhEeYb{2}=}jaDO_Ik; zXeYV(bN;;)j~!U;zT7q7ubPHAC$=VzWP0M zH629F>Hmha_RCKP9LC3GGVbCkau<{3f5Bky;K^Q<<~HP{i?!Ig7}KXDs>;0e8I>4F z1-9V0RbbpWEu%I0=m`n4K~nsWY~sWtb75C$9PDXt1q|3Jm<%q8n8PnLaOf8cqFFhO z$s^kaNwVPfs!iK8q;!CJ`)NKgMu+F!$%Teen^IYml?uS(il{cEcu{RQo1wxds^kn& zJ@X1V)7BmJF_uKn<1|Gym}v8x)!YiX4;f7dA|%r`S*fC6gz{nG8IT?{i_l(!%G@^P z^Cce6x+9ZNt~0DmYjqmxti1uNX)AA#f7$6TBrS%U}ZQ`p#c4&EQ8 zSn7M!%T#eQV^MFgs~akU8l!2oNjPK?KhY><_M7{ z$5RF|RO`C>=;zp=p?OERdN>;A65a*d7opb@m`5C{d(2Fx*Q4W>Q69&(s89(_S?%L1 zS64A!5kAcGpW-z)O2*mYyOmBfiS|b$r=_!gKJ^fsN0BmXJn!e0B+iT5#-a_kL<7u^ zlM){uL>(p*F)We#4?qF7aPvSJB1WjO9Zp<6hqvuaje+s*Ux4DlyYB7)hR*WA1F~uX zY@7uFlSgRvi+Z(M&nd{{j;vZSq>Ze3!=m_RGJ8f=^`zWIoiWZ?A{kz#bi~|lk;;-C zks4IuSAl_s`IMTa(7ZKY_D|B`ZNE zGa=7ZMJi0simhEAS|U0(yScP$!pHy=O=YGYhH`PqWIG*`WNj;MuXkSDrN>Fj$EYdA8gi#Lw%Y z?28KKQdUYtX8H?(k9+b+WTvsn*#cK9|D$|nMplZ8_+xj-AJ|aFo`@qxD#;A~(a$+e z`p+1Jwl$WasyY6(MC9wcud2g&dT94pUlovF*UC0XzP|rPUm`CRA@S9Kub=y->X~MfHq$ ze$A0RjdCU@>11Tk%cn|lPadTp&zm<_2sMn-r{KHo4(Eg+se~3_hsXzzCG%ps#(p*; zk()bYCXT-olG^4r8Yl(b@!0u6s_f0cp0=`^c$7AZGHl3~OoV0q@yiW=7qfmlA1MpK zTo@k^##=ju_{d?`*0ZQpK=z~<;87dG9~Gm)z$_O3YVfSP5;t6>D(4vUKEFjPGRuIM z#7@>I#CA9)iYN4s`9=jmF~oC@^;FU!6$H>wSqX;^9s^)fkj*Qerv@KlAE7Ei(Nf`8YPxj? zdzP<#scxj>#|0&;z&(N(fr+$F*Dd#`rsNROdTCE+1&5BhhpHayjzUU`uMAi zO~Ya`CLyS`&EIH1&>n6bc4<{Hl(4O-S|Lz~x<3d%P10X?RPhl3M$leRr>ffpqcm#9 z+vuWX&8iJQG&3WV`()izvAOS&YdNoH)`AVO5QK7ED{*3dAB>w|C%p-jzwVB!w{R+y zES4_W`u{=2Mw{V>aIrK**ZGKnCP5rTAdY z``-{{an3Pbb5^S}%6ycHSm;pCw%wMR6Os3=Xl}T^->+n5`1Xg_wLO$SkA6ptw^v%G zKwTV)V2Cp^5M(UD6~5$4 zy^Yy3cn7eosI#%^JPE?3Q2?z=teeh8?^Vh39{k;2#3f(1Z(TX|^1CLsiiV7V2)XKB z0e!tKvfW5`vJ8fRcb!sms;4GAvrWQvA0=ujq_^+EqaCx8H;=^a##8m?qp9n3`jxjd zC$%ywfe{y1mTXV1Rp@Ta4<*$0rH%*!X_ZA%P-tR`R=9Ap-bCPtUh&o`dXW(8G4iO- zfbul_;`q^-SPIRjnziMv=LKZBifNjfV)mj`(YyoA6lI^vv>h+5HLBYNi#zX&p!(iT zDC}(1Nuz`+`Ro28K`DF|Cz^TdjJ|Jupvm%qYnR!@gZ&z}(wsM#JQ_{5 mm9O%#7kCAiMg#oZ{x+@z(3ig|+aWe!L$)b=MZvaRaxs8$s-36+ literal 0 HcmV?d00001 diff --git a/packages/google-cloud-vision/.cloud-repo-tools.json b/packages/google-cloud-vision/.cloud-repo-tools.json new file mode 100644 index 00000000000..354f8b8dacb --- /dev/null +++ b/packages/google-cloud-vision/.cloud-repo-tools.json @@ -0,0 +1,16 @@ +{ + "requiresKeyFile": true, + "requiresProjectId": true, + "product": "vision", + "client_reference_url": "https://cloud.google.com/nodejs/docs/reference/vision/latest/", + "release_quality": "beta", + "samples": [ + { + "id": "detect", + "name": "Detection samples", + "file": "detect.js", + "docs_link": "https://cloud.google.com/vision/docs", + "usage": "node detect.js --help" + } + ] +} diff --git a/packages/google-cloud-vision/.eslintignore b/packages/google-cloud-vision/.eslintignore new file mode 100644 index 00000000000..f6fac98b0a8 --- /dev/null +++ b/packages/google-cloud-vision/.eslintignore @@ -0,0 +1,3 @@ +node_modules/* +samples/node_modules/* +src/**/doc/* diff --git a/packages/google-cloud-vision/.eslintrc.yml b/packages/google-cloud-vision/.eslintrc.yml new file mode 100644 index 00000000000..bed57fbc42c --- /dev/null +++ b/packages/google-cloud-vision/.eslintrc.yml @@ -0,0 +1,13 @@ +--- +extends: + - 'eslint:recommended' + - 'plugin:node/recommended' + - prettier +plugins: + - node + - prettier +rules: + prettier/prettier: error + block-scoped-var: error + eqeqeq: error + no-warning-comments: warn diff --git a/packages/google-cloud-vision/.gitignore b/packages/google-cloud-vision/.gitignore index 0aedda85e3c..6b80718f261 100644 --- a/packages/google-cloud-vision/.gitignore +++ b/packages/google-cloud-vision/.gitignore @@ -1,2 +1,10 @@ -out.png -out.* +**/*.log +**/node_modules +.coverage +.nyc_output +docs/ +out/ +system-test/secrets.js +system-test/*key.json +*.lock +*-lock.js* diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js new file mode 100644 index 00000000000..dce8e9ffbbb --- /dev/null +++ b/packages/google-cloud-vision/.jsdoc.js @@ -0,0 +1,45 @@ +/*! + * Copyright 2017 Google Inc. All Rights Reserved. + * + * 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. + */ + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/ink-docstrap/template', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'src' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2017 Google, Inc.', + includeDate: false, + sourceFiles: false, + systemName: '@google-cloud/vision', + theme: 'lumen' + } +}; diff --git a/packages/google-cloud-vision/.mailmap b/packages/google-cloud-vision/.mailmap new file mode 100644 index 00000000000..bac1d09b6e6 --- /dev/null +++ b/packages/google-cloud-vision/.mailmap @@ -0,0 +1,6 @@ +Jason Dobry Jason Dobry +Jason Dobry Jason Dobry +Jun Mukai Jun Mukai +Luke Sneeringer Luke Sneeringer +Stephen Sawchuk Stephen Sawchuk +Stephen Sawchuk Stephen Sawchuk diff --git a/packages/google-cloud-vision/.nycrc b/packages/google-cloud-vision/.nycrc new file mode 100644 index 00000000000..a1a8e6920ce --- /dev/null +++ b/packages/google-cloud-vision/.nycrc @@ -0,0 +1,26 @@ +{ + "report-dir": "./.coverage", + "exclude": [ + "src/*{/*,/**/*}.js", + "src/*/v*/*.js", + "test/**/*.js" + ], + "watermarks": { + "branches": [ + 95, + 100 + ], + "functions": [ + 95, + 100 + ], + "lines": [ + 95, + 100 + ], + "statements": [ + 95, + 100 + ] + } +} diff --git a/packages/google-cloud-vision/.prettierignore b/packages/google-cloud-vision/.prettierignore new file mode 100644 index 00000000000..f6fac98b0a8 --- /dev/null +++ b/packages/google-cloud-vision/.prettierignore @@ -0,0 +1,3 @@ +node_modules/* +samples/node_modules/* +src/**/doc/* diff --git a/packages/google-cloud-vision/.prettierrc b/packages/google-cloud-vision/.prettierrc new file mode 100644 index 00000000000..df6eac07446 --- /dev/null +++ b/packages/google-cloud-vision/.prettierrc @@ -0,0 +1,8 @@ +--- +bracketSpacing: false +printWidth: 80 +semi: true +singleQuote: true +tabWidth: 2 +trailingComma: es5 +useTabs: false diff --git a/packages/google-cloud-vision/CODE_OF_CONDUCT.md b/packages/google-cloud-vision/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..46b2a08ea6d --- /dev/null +++ b/packages/google-cloud-vision/CODE_OF_CONDUCT.md @@ -0,0 +1,43 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, +and in the interest of fostering an open and welcoming community, +we pledge to respect all people who contribute through reporting issues, +posting feature requests, updating documentation, +submitting pull requests or patches, and other activities. + +We are committed to making participation in this project +a harassment-free experience for everyone, +regardless of level of experience, gender, gender identity and expression, +sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, +such as physical or electronic +addresses, without explicit permission +* Other unethical or unprofessional conduct. + +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. +By adopting this Code of Conduct, +project maintainers commit themselves to fairly and consistently +applying these principles to every aspect of managing this project. +Project maintainers who do not follow or enforce the Code of Conduct +may be permanently removed from the project team. + +This code of conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior +may be reported by opening an issue +or contacting one or more of the project maintainers. + +This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, +available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) diff --git a/packages/google-cloud-vision/CONTRIBUTORS b/packages/google-cloud-vision/CONTRIBUTORS new file mode 100644 index 00000000000..caefac6e083 --- /dev/null +++ b/packages/google-cloud-vision/CONTRIBUTORS @@ -0,0 +1,18 @@ +# The names of individuals who have contributed to this project. +# +# Names are formatted as: +# name +# +Ace Nassri +Ali Ijaz Sheikh +Dave Gramlich +Ernest Landrito +Gus Class +Jason Dobry +Jun Mukai +Luke Sneeringer +Song Wang +Stephen Sawchuk +Tim Swast +calibr +rtw diff --git a/packages/google-cloud-vision/LICENSE b/packages/google-cloud-vision/LICENSE new file mode 100644 index 00000000000..7a4a3ea2424 --- /dev/null +++ b/packages/google-cloud-vision/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. \ No newline at end of file diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index f99e475ccd5..9646eba0bf2 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -1,60 +1,135 @@ -# Node.js Client for Google Cloud Vision API ([Beta](https://github.com/GoogleCloudPlatform/google-cloud-node#versioning)) +Google Cloud Platform logo -[Google Cloud Vision API][Product Documentation]: Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications. -- [Client Library Documentation][] -- [Product Documentation][] +# [Google Cloud Vision API: Node.js Client](https://github.com/googleapis/nodejs-vision) -## Quick Start -In order to use this library, you first need to go through the following steps: +[![release level](https://img.shields.io/badge/release%20level-beta-yellow.svg?style=flat)](https://cloud.google.com/terms/launch-stages) +[![CircleCI](https://img.shields.io/circleci/project/github/googleapis/nodejs-vision.svg?style=flat)](https://circleci.com/gh/googleapis/nodejs-vision) +[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/googleapis/nodejs-vision?branch=master&svg=true)](https://ci.appveyor.com/project/googleapis/nodejs-vision) +[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-vision/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-vision) -1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project) -2. [Enable the Google Cloud Vision API.](https://console.cloud.google.com/apis/api/vision) -3. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-node/#/docs/google-cloud/master/guides/authentication) +> Node.js idiomatic client for [Vision API][product-docs]. -### Installation -``` -$ npm install --save @google-cloud/vision -``` +The [Cloud Vision API](https://cloud.google.com/vision/docs) allows developers to easily integrate vision detection features within applications, including image labeling, face and landmark detection, optical character recognition (OCR), and tagging of explicit content. + + +* [Vision API Node.js Client API Reference][client-docs] +* [github.com/googleapis/nodejs-vision](https://github.com/googleapis/nodejs-vision) +* [Vision API Documentation][product-docs] + +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. + + [Go to the projects page][projects] + +1. Enable billing for your project. + + [Enable billing][billing] + +1. Enable the Google Cloud Vision API API. + + [Enable the API][enable_api] + +1. [Set up authentication with a service account][auth] so you can access the + API from your local workstation. + +[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=vision.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started + +### Installing the client library + + npm install --save @google-cloud/vision -### Preview -#### ImageAnnotatorClient -```js - var vision = require('@google-cloud/vision'); - - var client = vision({ - // optional auth parameters. - }); - - var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; - var source = { - gcsImageUri : gcsImageUri - }; - var image = { - source : source - }; - var type = vision.v1.types.Feature.Type.FACE_DETECTION; - var featuresElement = { - type : type - }; - var features = [featuresElement]; - var requestsElement = { - image : image, - features : features - }; - var requests = [requestsElement]; - client.batchAnnotateImages({requests: requests}).then(function(responses) { - var response = responses[0]; - // doThingsWith(response) - }) - .catch(function(err) { - console.error(err); - }); +### Using the client library + +```javascript +// Imports the Google Cloud client library +const vision = require('@google-cloud/vision'); + +// Creates a client +const client = new vision.ImageAnnotatorClient(); + +// The name of the image file to annotate +const fileName = './resources/wakeupcat.jpg'; + +// Prepare the request object +const request = { + image: { + source: { + filename: fileName, + }, + }, +}; + +// Performs label detection on the image file +client + .labelDetection(request) + .then(results => { + const labels = results[0].labelAnnotations; + + console.log('Labels:'); + labels.forEach(label => console.log(label.description)); + }) + .catch(err => { + console.error('ERROR:', err); + }); ``` -### Next Steps -- Read the [Client Library Documentation][] for Google Cloud Vision API to see other available methods on the client. -- Read the [Google Cloud Vision API Product documentation][Product Documentation] to learn more about the product and see How-to Guides. -- View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-node/blob/master/README.md) to see the full list of Cloud APIs that we cover. +## Samples + +Samples are in the [`samples/`](https://github.com/googleapis/nodejs-vision/tree/master/samples) directory. The samples' `README.md` +has instructions for running the samples. + +| Sample | Source Code | Try it | +| --------------------------- | --------------------------------- | ------ | +| Detection samples | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) | + +The [Vision API Node.js Client API Reference][client-docs] documentation +also contains samples. + +## Versioning + +This library follows [Semantic Versioning](http://semver.org/). + +This library is considered to be in **beta**. This means it is expected to be +mostly stable while we work toward a general availability release; however, +complete stability is not guaranteed. We will address issues and requests +against beta libraries with a high priority. + +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/nodejs-vision/blob/master/.github/CONTRIBUTING.md). + +## License + +Apache Version 2.0 + +See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) -[Client Library Documentation]: https://googlecloudplatform.github.io/google-cloud-node/#/docs/vision -[Product Documentation]: https://cloud.google.com/vision \ No newline at end of file +[client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest/ +[product-docs]: https://cloud.google.com/vision/docs +[shell_img]: http://gstatic.com/cloudssh/images/open-btn.png diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 572732ea2d7..65a2fb60c66 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,37 +1,16 @@ { - "repository": "GoogleCloudPlatform/google-cloud-node", "name": "@google-cloud/vision", + "description": "Google Cloud Vision API client for Node.js", "version": "0.12.0", + "license": "Apache-2.0", "author": "Google Inc", - "description": "Google Cloud Vision API client for Node.js", - "contributors": [ - { - "name": "Burcu Dogan", - "email": "jbd@google.com" - }, - { - "name": "Johan Euphrosine", - "email": "proppy@google.com" - }, - { - "name": "Patrick Costello", - "email": "pcostell@google.com" - }, - { - "name": "Ryan Seys", - "email": "ryan@ryanseys.com" - }, - { - "name": "Silvano Luciani", - "email": "silvano@google.com" - }, - { - "name": "Stephen Sawchuk", - "email": "sawchuk@gmail.com" - } - ], + "engines": { + "node": ">=4.0.0" + }, + "repository": "googleapis/nodejs-vision", "main": "src/index.js", "files": [ + "protos", "src", "AUTHORS", "LICENSE" @@ -49,32 +28,58 @@ "vision", "Google Cloud Vision API" ], + "contributors": [ + "Ace Nassri ", + "Ali Ijaz Sheikh ", + "Dave Gramlich ", + "Ernest Landrito ", + "Gus Class ", + "Jason Dobry ", + "Jun Mukai ", + "Luke Sneeringer ", + "Song Wang ", + "Stephen Sawchuk ", + "Tim Swast ", + "calibr ", + "rtw " + ], + "scripts": { + "cover": "nyc --reporter=lcov mocha --require intelli-espower-loader test/*.js && nyc report", + "docs": "repo-tools exec -- jsdoc -c .jsdoc.js", + "generate-scaffolding": "repo-tools generate all && repo-tools generate lib_samples_readme -l samples/ --config ../.cloud-repo-tools.json", + "lint": "repo-tools lint --cmd eslint -- src/ samples/ system-test/ test/", + "prettier": "repo-tools exec -- prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js system-test/*.js system-test/*/*.js", + "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", + "system-test": "repo-tools test run --cmd mocha -- system-test/*.js --no-timeouts", + "test-no-cover": "repo-tools test run --cmd mocha -- test/*.js --no-timeouts", + "test": "repo-tools test run --cmd npm -- run cover" + }, "dependencies": { "@google-cloud/common": "^0.13.0", "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.14.2", "google-proto-files": "^0.13.1", - "is": "^3.0.1" + "is": "^3.0.1", + "lodash.merge": "^4.6.0" }, "devDependencies": { + "@google-cloud/nodejs-repo-tools": "^2.1.1", "@google-cloud/storage": "*", + "codecov": "^3.0.0", + "eslint": "^4.10.0", + "eslint-config-prettier": "^2.7.0", + "eslint-plugin-node": "^5.2.1", + "eslint-plugin-prettier": "^2.3.1", + "ink-docstrap": "^1.3.0", "intelli-espower-loader": "^1.0.1", - "mocha": "^3.0.1", + "jsdoc": "^3.5.5", + "mocha": "^3.5.3", "node-uuid": "^1.4.7", - "nyc": "^10.3.0", - "power-assert": "^1.4.2", + "nyc": "^10.3.2", + "power-assert": "^1.4.4", + "prettier": "^1.7.4", + "safe-buffer": "^5.1.1", "sinon": "^2.2.0" - }, - "scripts": { - "cover": "nyc --reporter=lcov --reporter=html mocha --no-timeouts --require intelli-espower-loader test/*.js && nyc report", - "publish-module": "node ../../scripts/publish.js vision", - "test": "mocha --require intelli-espower-loader test/*.js", - "smoke-test": "mocha smoke-test/*.js --timeout 5000", - "system-test": "mocha system-test/*.js --require intelli-espower-loader --no-timeouts --bail" - }, - "license": "Apache-2.0", - "engines": { - "node": ">=4.0.0" } } diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto new file mode 100644 index 00000000000..5586c2eb3ad --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -0,0 +1,54 @@ +// Copyright 2016 Google Inc. +// +// 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.cloud.vision.v1; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; +option java_multiple_files = true; +option java_outer_classname = "GeometryProto"; +option java_package = "com.google.cloud.vision.v1"; + + +// A vertex represents a 2D point in the image. +// NOTE: the vertex coordinates are in the same scale as the original image. +message Vertex { + // X coordinate. + int32 x = 1; + + // Y coordinate. + int32 y = 2; +} + +// A bounding polygon for the detected image annotation. +message BoundingPoly { + // The bounding polygon vertices. + repeated Vertex vertices = 1; +} + +// A 3D position in the image, used primarily for Face detection landmarks. +// A valid Position must have both x and y coordinates. +// The position coordinates are in the same scale as the original image. +message Position { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; + + // Z coordinate (or depth). + float z = 3; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto new file mode 100644 index 00000000000..c17f8aeb6fe --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -0,0 +1,569 @@ +// Copyright 2016 Google Inc. +// +// 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.cloud.vision.v1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1/geometry.proto"; +import "google/cloud/vision/v1/text_annotation.proto"; +import "google/cloud/vision/v1/web_detection.proto"; +import "google/rpc/status.proto"; +import "google/type/color.proto"; +import "google/type/latlng.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ImageAnnotatorProto"; +option java_package = "com.google.cloud.vision.v1"; + + +// Service that performs Google Cloud Vision API detection tasks over client +// images, such as face, landmark, logo, label, and text detection. The +// ImageAnnotator service returns detected entities from the images. +service ImageAnnotator { + // Run image detection and annotation for a batch of images. + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { + option (google.api.http) = { post: "/v1/images:annotate" body: "*" }; + } +} + +// Users describe the type of Google Cloud Vision API tasks to perform over +// images by using *Feature*s. Each Feature indicates a type of image +// detection task to perform. Features encode the Cloud Vision API +// vertical to operate on and the number of top-scoring results to return. +message Feature { + // Type of image feature. + enum Type { + // Unspecified feature type. + TYPE_UNSPECIFIED = 0; + + // Run face detection. + FACE_DETECTION = 1; + + // Run landmark detection. + LANDMARK_DETECTION = 2; + + // Run logo detection. + LOGO_DETECTION = 3; + + // Run label detection. + LABEL_DETECTION = 4; + + // Run OCR. + TEXT_DETECTION = 5; + + // Run dense text document OCR. Takes precedence when both + // DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present. + DOCUMENT_TEXT_DETECTION = 11; + + // Run computer vision models to compute image safe-search properties. + SAFE_SEARCH_DETECTION = 6; + + // Compute a set of image properties, such as the image's dominant colors. + IMAGE_PROPERTIES = 7; + + // Run crop hints. + CROP_HINTS = 9; + + // Run web detection. + WEB_DETECTION = 10; + } + + // The feature type. + Type type = 1; + + // Maximum number of results of this type. + int32 max_results = 2; +} + +// External image source (Google Cloud Storage image location). +message ImageSource { + // NOTE: For new code `image_uri` below is preferred. + // Google Cloud Storage image URI, which must be in the following form: + // `gs://bucket_name/object_name` (for details, see + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris)). + // NOTE: Cloud Storage object versioning is not supported. + string gcs_image_uri = 1; + + // Image URI which supports: + // 1) Google Cloud Storage image URI, which must be in the following form: + // `gs://bucket_name/object_name` (for details, see + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris)). + // NOTE: Cloud Storage object versioning is not supported. + // 2) Publicly accessible image HTTP/HTTPS URL. + // This is preferred over the legacy `gcs_image_uri` above. When both + // `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + // precedence. + string image_uri = 2; +} + +// Client image to perform Google Cloud Vision API tasks over. +message Image { + // Image content, represented as a stream of bytes. + // Note: as with all `bytes` fields, protobuffers use a pure binary + // representation, whereas JSON representations use base64. + bytes content = 1; + + // Google Cloud Storage image location. If both `content` and `source` + // are provided for an image, `content` takes precedence and is + // used to perform the image annotation request. + ImageSource source = 2; +} + +// A face annotation object contains the results of face detection. +message FaceAnnotation { + // A face-specific landmark (for example, a face feature). + // Landmark positions may fall outside the bounds of the image + // if the face is near one or more edges of the image. + // Therefore it is NOT guaranteed that `0 <= x < width` or + // `0 <= y < height`. + message Landmark { + // Face landmark (feature) type. + // Left and right are defined from the vantage of the viewer of the image + // without considering mirror projections typical of photos. So, `LEFT_EYE`, + // typically, is the person's right eye. + enum Type { + // Unknown face landmark detected. Should not be filled. + UNKNOWN_LANDMARK = 0; + + // Left eye. + LEFT_EYE = 1; + + // Right eye. + RIGHT_EYE = 2; + + // Left of left eyebrow. + LEFT_OF_LEFT_EYEBROW = 3; + + // Right of left eyebrow. + RIGHT_OF_LEFT_EYEBROW = 4; + + // Left of right eyebrow. + LEFT_OF_RIGHT_EYEBROW = 5; + + // Right of right eyebrow. + RIGHT_OF_RIGHT_EYEBROW = 6; + + // Midpoint between eyes. + MIDPOINT_BETWEEN_EYES = 7; + + // Nose tip. + NOSE_TIP = 8; + + // Upper lip. + UPPER_LIP = 9; + + // Lower lip. + LOWER_LIP = 10; + + // Mouth left. + MOUTH_LEFT = 11; + + // Mouth right. + MOUTH_RIGHT = 12; + + // Mouth center. + MOUTH_CENTER = 13; + + // Nose, bottom right. + NOSE_BOTTOM_RIGHT = 14; + + // Nose, bottom left. + NOSE_BOTTOM_LEFT = 15; + + // Nose, bottom center. + NOSE_BOTTOM_CENTER = 16; + + // Left eye, top boundary. + LEFT_EYE_TOP_BOUNDARY = 17; + + // Left eye, right corner. + LEFT_EYE_RIGHT_CORNER = 18; + + // Left eye, bottom boundary. + LEFT_EYE_BOTTOM_BOUNDARY = 19; + + // Left eye, left corner. + LEFT_EYE_LEFT_CORNER = 20; + + // Right eye, top boundary. + RIGHT_EYE_TOP_BOUNDARY = 21; + + // Right eye, right corner. + RIGHT_EYE_RIGHT_CORNER = 22; + + // Right eye, bottom boundary. + RIGHT_EYE_BOTTOM_BOUNDARY = 23; + + // Right eye, left corner. + RIGHT_EYE_LEFT_CORNER = 24; + + // Left eyebrow, upper midpoint. + LEFT_EYEBROW_UPPER_MIDPOINT = 25; + + // Right eyebrow, upper midpoint. + RIGHT_EYEBROW_UPPER_MIDPOINT = 26; + + // Left ear tragion. + LEFT_EAR_TRAGION = 27; + + // Right ear tragion. + RIGHT_EAR_TRAGION = 28; + + // Left eye pupil. + LEFT_EYE_PUPIL = 29; + + // Right eye pupil. + RIGHT_EYE_PUPIL = 30; + + // Forehead glabella. + FOREHEAD_GLABELLA = 31; + + // Chin gnathion. + CHIN_GNATHION = 32; + + // Chin left gonion. + CHIN_LEFT_GONION = 33; + + // Chin right gonion. + CHIN_RIGHT_GONION = 34; + } + + // Face landmark type. + Type type = 3; + + // Face landmark position. + Position position = 4; + } + + // The bounding polygon around the face. The coordinates of the bounding box + // are in the original image's scale, as returned in `ImageParams`. + // The bounding box is computed to "frame" the face in accordance with human + // expectations. It is based on the landmarker results. + // Note that one or more x and/or y coordinates may not be generated in the + // `BoundingPoly` (the polygon will be unbounded) if only a partial face + // appears in the image to be annotated. + BoundingPoly bounding_poly = 1; + + // The `fd_bounding_poly` bounding polygon is tighter than the + // `boundingPoly`, and encloses only the skin part of the face. Typically, it + // is used to eliminate the face from any image analysis that detects the + // "amount of skin" visible in an image. It is not based on the + // landmarker results, only on the initial face detection, hence + // the fd (face detection) prefix. + BoundingPoly fd_bounding_poly = 2; + + // Detected face landmarks. + repeated Landmark landmarks = 3; + + // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + // of the face relative to the image vertical about the axis perpendicular to + // the face. Range [-180,180]. + float roll_angle = 4; + + // Yaw angle, which indicates the leftward/rightward angle that the face is + // pointing relative to the vertical plane perpendicular to the image. Range + // [-180,180]. + float pan_angle = 5; + + // Pitch angle, which indicates the upwards/downwards angle that the face is + // pointing relative to the image's horizontal plane. Range [-180,180]. + float tilt_angle = 6; + + // Detection confidence. Range [0, 1]. + float detection_confidence = 7; + + // Face landmarking confidence. Range [0, 1]. + float landmarking_confidence = 8; + + // Joy likelihood. + Likelihood joy_likelihood = 9; + + // Sorrow likelihood. + Likelihood sorrow_likelihood = 10; + + // Anger likelihood. + Likelihood anger_likelihood = 11; + + // Surprise likelihood. + Likelihood surprise_likelihood = 12; + + // Under-exposed likelihood. + Likelihood under_exposed_likelihood = 13; + + // Blurred likelihood. + Likelihood blurred_likelihood = 14; + + // Headwear likelihood. + Likelihood headwear_likelihood = 15; +} + +// Detected entity location information. +message LocationInfo { + // lat/long location coordinates. + google.type.LatLng lat_lng = 1; +} + +// A `Property` consists of a user-supplied name/value pair. +message Property { + // Name of the property. + string name = 1; + + // Value of the property. + string value = 2; +} + +// Set of detected entity features. +message EntityAnnotation { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/). + string mid = 1; + + // The language code for the locale in which the entity textual + // `description` is expressed. + string locale = 2; + + // Entity textual description, expressed in its `locale` language. + string description = 3; + + // Overall score of the result. Range [0, 1]. + float score = 4; + + // The accuracy of the entity detection in an image. + // For example, for an image in which the "Eiffel Tower" entity is detected, + // this field represents the confidence that there is a tower in the query + // image. Range [0, 1]. + float confidence = 5; + + // The relevancy of the ICA (Image Content Annotation) label to the + // image. For example, the relevancy of "tower" is likely higher to an image + // containing the detected "Eiffel Tower" than to an image containing a + // detected distant towering building, even though the confidence that + // there is a tower in each image may be the same. Range [0, 1]. + float topicality = 6; + + // Image region to which this entity belongs. Currently not produced + // for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s + // are produced for the entire text detected in an image region, followed by + // `boundingPoly`s for each word within the detected text. + BoundingPoly bounding_poly = 7; + + // The location information for the detected entity. Multiple + // `LocationInfo` elements can be present because one location may + // indicate the location of the scene in the image, and another location + // may indicate the location of the place where the image was taken. + // Location information is usually present for landmarks. + repeated LocationInfo locations = 8; + + // Some entities may have optional user-supplied `Property` (name/value) + // fields, such a score or string that qualifies the entity. + repeated Property properties = 9; +} + +// Set of features pertaining to the image, computed by computer vision +// methods over safe-search verticals (for example, adult, spoof, medical, +// violence). +message SafeSearchAnnotation { + // Represents the adult content likelihood for the image. + Likelihood adult = 1; + + // Spoof likelihood. The likelihood that an modification + // was made to the image's canonical version to make it appear + // funny or offensive. + Likelihood spoof = 2; + + // Likelihood that this is a medical image. + Likelihood medical = 3; + + // Violence likelihood. + Likelihood violence = 4; +} + +// Rectangle determined by min and max `LatLng` pairs. +message LatLongRect { + // Min lat/long pair. + google.type.LatLng min_lat_lng = 1; + + // Max lat/long pair. + google.type.LatLng max_lat_lng = 2; +} + +// Color information consists of RGB channels, score, and the fraction of +// the image that the color occupies in the image. +message ColorInfo { + // RGB components of the color. + google.type.Color color = 1; + + // Image-specific score for this color. Value in range [0, 1]. + float score = 2; + + // The fraction of pixels the color occupies in the image. + // Value in range [0, 1]. + float pixel_fraction = 3; +} + +// Set of dominant colors and their corresponding scores. +message DominantColorsAnnotation { + // RGB color values with their score and pixel fraction. + repeated ColorInfo colors = 1; +} + +// Stores image properties, such as dominant colors. +message ImageProperties { + // If present, dominant colors completed successfully. + DominantColorsAnnotation dominant_colors = 1; +} + +// Single crop hint that is used to generate a new crop when serving an image. +message CropHint { + // The bounding polygon for the crop region. The coordinates of the bounding + // box are in the original image's scale, as returned in `ImageParams`. + BoundingPoly bounding_poly = 1; + + // Confidence of this being a salient region. Range [0, 1]. + float confidence = 2; + + // Fraction of importance of this salient region with respect to the original + // image. + float importance_fraction = 3; +} + +// Set of crop hints that are used to generate new crops when serving images. +message CropHintsAnnotation { + repeated CropHint crop_hints = 1; +} + +// Parameters for crop hints annotation request. +message CropHintsParams { + // Aspect ratios in floats, representing the ratio of the width to the height + // of the image. For example, if the desired aspect ratio is 4/3, the + // corresponding float value should be 1.33333. If not specified, the + // best possible crop is returned. The number of provided aspect ratios is + // limited to a maximum of 16; any aspect ratios provided after the 16th are + // ignored. + repeated float aspect_ratios = 1; +} + +// Image context and/or feature-specific parameters. +message ImageContext { + // lat/long rectangle that specifies the location of the image. + LatLongRect lat_long_rect = 1; + + // List of languages to use for TEXT_DETECTION. In most cases, an empty value + // yields the best results since it enables automatic language detection. For + // languages based on the Latin alphabet, setting `language_hints` is not + // needed. In rare cases, when the language of the text in the image is known, + // setting a hint will help get better results (although it will be a + // significant hindrance if the hint is wrong). Text detection returns an + // error if one or more of the specified languages is not one of the + // [supported languages](/vision/docs/languages). + repeated string language_hints = 2; + + // Parameters for crop hints annotation request. + CropHintsParams crop_hints_params = 4; +} + +// Request for performing Google Cloud Vision API tasks over a user-provided +// image, with user-requested features. +message AnnotateImageRequest { + // The image to be processed. + Image image = 1; + + // Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image. + ImageContext image_context = 3; +} + +// Response to an image annotation request. +message AnnotateImageResponse { + // If present, face detection has completed successfully. + repeated FaceAnnotation face_annotations = 1; + + // If present, landmark detection has completed successfully. + repeated EntityAnnotation landmark_annotations = 2; + + // If present, logo detection has completed successfully. + repeated EntityAnnotation logo_annotations = 3; + + // If present, label detection has completed successfully. + repeated EntityAnnotation label_annotations = 4; + + // If present, text (OCR) detection or document (OCR) text detection has + // completed successfully. + repeated EntityAnnotation text_annotations = 5; + + // If present, text (OCR) detection or document (OCR) text detection has + // completed successfully. + // This annotation provides the structural hierarchy for the OCR detected + // text. + TextAnnotation full_text_annotation = 12; + + // If present, safe-search annotation has completed successfully. + SafeSearchAnnotation safe_search_annotation = 6; + + // If present, image properties were extracted successfully. + ImageProperties image_properties_annotation = 8; + + // If present, crop hints have completed successfully. + CropHintsAnnotation crop_hints_annotation = 11; + + // If present, web detection has completed successfully. + WebDetection web_detection = 13; + + // If set, represents the error message for the operation. + // Note that filled-in image annotations are guaranteed to be + // correct, even when `error` is set. + google.rpc.Status error = 9; +} + +// Multiple image annotation requests are batched into a single service call. +message BatchAnnotateImagesRequest { + // Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1; +} + +// Response to a batch image annotation request. +message BatchAnnotateImagesResponse { + // Individual responses to image annotation requests within the batch. + repeated AnnotateImageResponse responses = 1; +} + +// A bucketized representation of likelihood, which is intended to give clients +// highly stable results across model upgrades. +enum Likelihood { + // Unknown likelihood. + UNKNOWN = 0; + + // It is very unlikely that the image belongs to the specified vertical. + VERY_UNLIKELY = 1; + + // It is unlikely that the image belongs to the specified vertical. + UNLIKELY = 2; + + // It is possible that the image belongs to the specified vertical. + POSSIBLE = 3; + + // It is likely that the image belongs to the specified vertical. + LIKELY = 4; + + // It is very likely that the image belongs to the specified vertical. + VERY_LIKELY = 5; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto new file mode 100644 index 00000000000..938820a3a00 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -0,0 +1,237 @@ +// Copyright 2016 Google Inc. +// +// 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.cloud.vision.v1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1/geometry.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; +option java_multiple_files = true; +option java_outer_classname = "TextAnnotationProto"; +option java_package = "com.google.cloud.vision.v1"; + + +// TextAnnotation contains a structured representation of OCR extracted text. +// The hierarchy of an OCR extracted text structure is like this: +// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol +// Each structural component, starting from Page, may further have their own +// properties. Properties describe detected languages, breaks etc.. Please +// refer to the [google.cloud.vision.v1.TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty] message +// definition below for more detail. +message TextAnnotation { + // Detected language for a structural component. + message DetectedLanguage { + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 1; + + // Confidence of detected language. Range [0, 1]. + float confidence = 2; + } + + // Detected start or end of a structural component. + message DetectedBreak { + // Enum to denote the type of break found. New line, space etc. + enum BreakType { + // Unknown break label type. + UNKNOWN = 0; + + // Regular space. + SPACE = 1; + + // Sure space (very wide). + SURE_SPACE = 2; + + // Line-wrapping break. + EOL_SURE_SPACE = 3; + + // End-line hyphen that is not present in text; does + HYPHEN = 4; + + // not co-occur with SPACE, LEADER_SPACE, or + // LINE_BREAK. + // Line break that ends a paragraph. + LINE_BREAK = 5; + } + + BreakType type = 1; + + // True if break prepends the element. + bool is_prefix = 2; + } + + // Additional information detected on the structural component. + message TextProperty { + // A list of detected languages together with confidence. + repeated DetectedLanguage detected_languages = 1; + + // Detected start or end of a text segment. + DetectedBreak detected_break = 2; + } + + // List of pages detected by OCR. + repeated Page pages = 1; + + // UTF-8 text detected on the pages. + string text = 2; +} + +// Detected page from OCR. +message Page { + // Additional information detected on the page. + TextAnnotation.TextProperty property = 1; + + // Page width in pixels. + int32 width = 2; + + // Page height in pixels. + int32 height = 3; + + // List of blocks of text, images etc on this page. + repeated Block blocks = 4; +} + +// Logical element on the page. +message Block { + // Type of a block (text, image etc) as identified by OCR. + enum BlockType { + // Unknown block type. + UNKNOWN = 0; + + // Regular text block. + TEXT = 1; + + // Table block. + TABLE = 2; + + // Image block. + PICTURE = 3; + + // Horizontal/vertical line box. + RULER = 4; + + // Barcode block. + BARCODE = 5; + } + + // Additional information detected for the block. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the block. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of paragraphs in this block (if this blocks is of type text). + repeated Paragraph paragraphs = 3; + + // Detected block type (text, image etc) for this block. + BlockType block_type = 4; +} + +// Structural unit of text representing a number of words in certain order. +message Paragraph { + // Additional information detected for the paragraph. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the paragraph. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of words in this paragraph. + repeated Word words = 3; +} + +// A word representation. +message Word { + // Additional information detected for the word. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the word. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of symbols in the word. + // The order of the symbols follows the natural reading order. + repeated Symbol symbols = 3; +} + +// A single symbol representation. +message Symbol { + // Additional information detected for the symbol. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the symbol. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // The actual UTF-8 representation of the symbol. + string text = 3; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto new file mode 100644 index 00000000000..6da89756ee3 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -0,0 +1,78 @@ +// Copyright 2016 Google Inc. +// +// 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.cloud.vision.v1; + +import "google/api/annotations.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; +option java_multiple_files = true; +option java_outer_classname = "WebDetectionProto"; +option java_package = "com.google.cloud.vision.v1"; + + +// Relevant information for the image from the Internet. +message WebDetection { + // Entity deduced from similar images on the Internet. + message WebEntity { + // Opaque entity ID. + string entity_id = 1; + + // Overall relevancy score for the entity. + // Not normalized and not comparable across different image queries. + float score = 2; + + // Canonical description of the entity, in English. + string description = 3; + } + + // Metadata for online images. + message WebImage { + // The result image URL. + string url = 1; + + // Overall relevancy score for the image. + // Not normalized and not comparable across different image queries. + float score = 2; + } + + // Metadata for web pages. + message WebPage { + // The result web page URL. + string url = 1; + + // Overall relevancy score for the web page. + // Not normalized and not comparable across different image queries. + float score = 2; + } + + // Deduced entities from similar images on the Internet. + repeated WebEntity web_entities = 1; + + // Fully matching images from the Internet. + // They're definite neardups and most often a copy of the query image with + // merely a size change. + repeated WebImage full_matching_images = 2; + + // Partial matching images from the Internet. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its crops. + repeated WebImage partial_matching_images = 3; + + // Web pages containing the matching images from the Internet. + repeated WebPage pages_with_matching_images = 4; +} diff --git a/packages/google-cloud-vision/samples/.eslintrc.yml b/packages/google-cloud-vision/samples/.eslintrc.yml new file mode 100644 index 00000000000..282535f55f6 --- /dev/null +++ b/packages/google-cloud-vision/samples/.eslintrc.yml @@ -0,0 +1,3 @@ +--- +rules: + no-console: off diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 4b5688b3562..8d78307fed0 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -1,65 +1,62 @@ Google Cloud Platform logo -# Google Cloud Vision API Node.js Samples +# Google Cloud Vision API: Node.js Samples -The [Cloud Vision API][vision_docs] allows developers to easily integrate vision -detection features within applications, including image labeling, face and -landmark detection, optical character recognition (OCR), and tagging of explicit -content. +[![Open in Cloud Shell][shell_img]][shell_link] -[vision_docs]: https://cloud.google.com/vision/docs/ +The [Cloud Vision API](https://cloud.google.com/vision/docs) allows developers to easily integrate vision detection features within applications, including image labeling, face and landmark detection, optical character recognition (OCR), and tagging of explicit content. ## Table of Contents -* [Setup](#setup) +* [Before you begin](#before-you-begin) * [Samples](#samples) - * [Detection snippets](#detection-snippets) - * [Face detection](#face-detection) - * [Text detection](#text-detection) + * [Detection samples](#detection-samples) -## Setup +## Before you begin -1. Read [Prerequisites][prereq] and [How to run a sample][run] first. -1. Install dependencies: - - npm install - -[prereq]: ../README.md#prerequisities -[run]: ../README.md#how-to-run-a-sample +Before running the samples, make sure you've followed the steps in the +[Before you begin section](../README.md#before-you-begin) of the client +library's README. ## Samples -### Detection snippets +### Detection samples + +View the [source code][detect_0_code]. -View the [documentation][detect_docs] or the [source code][detect_code]. +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) __Usage:__ `node detect.js --help` ``` +detect.js + Commands: - faces Detects faces in a local image file. - faces-gcs Detects faces in an image in Google Cloud Storage. - labels Detects labels in a local image file. - labels-gcs Detects labels in an image in Google Cloud Storage. - landmarks Detects landmarks in a local image file. - landmarks-gcs Detects landmarks in an image in Google Cloud Storage. - text Detects text in a local image file. - text-gcs Detects text in an image in Google Cloud Storage. - logos Detects logos in a local image file. - logos-gcs Detects logos in an image in Google Cloud Storage. - properties Detects image properties in a local image file. - properties-gcs Detects image properties in an image in Google Cloud Storage. - safe-search Detects safe search properties in a local image file. - safe-search-gcs Detects safe search properties in an image in Google Cloud Storage. - crops Detects crop hints in a local image file. - crops-gcs Detects crop hints in an image in Google Cloud Storage. - web Finds similar photos on the web for a local image file. - web-gcs Finds similar photos on the web for an image in Google Cloud Storage. - fulltext Extracts full text from a local image file. - fulltext-gcs Extracts full text from an image in Google Cloud Storage. + detect.js faces Detects faces in a local image file. + detect.js faces-gcs Detects faces in an image in Google Cloud Storage. + detect.js labels Detects labels in a local image file. + detect.js labels-gcs Detects labels in an image in Google Cloud Storage. + detect.js landmarks Detects landmarks in a local image file. + detect.js landmarks-gcs Detects landmarks in an image in Google Cloud Storage. + detect.js text Detects text in a local image file. + detect.js text-gcs Detects text in an image in Google Cloud Storage. + detect.js logos Detects logos in a local image file. + detect.js logos-gcs Detects logos in an image in Google Cloud Storage. + detect.js properties Detects image properties in a local image file. + detect.js properties-gcs Detects image properties in an image in Google Cloud Storage. + detect.js safe-search Detects safe search properties in a local image file. + detect.js safe-search-gcs Detects safe search properties in an image in Google Cloud Storage. + detect.js crops Detects crop hints in a local image file. + detect.js crops-gcs Detects crop hints in an image in Google Cloud Storage. + detect.js web Finds similar photos on the web for a local image file. + detect.js web-gcs Finds similar photos on the web for an image in Google Cloud + Storage. + detect.js fulltext Extracts full text from a local image file. + detect.js fulltext-gcs Extracts full text from an image in Google Cloud Storage. Options: - --help Show help [boolean] + --version Show version number [boolean] + --help Show help [boolean] Examples: node detect.js faces ./resources/face_no_surprise.jpg @@ -86,45 +83,8 @@ Examples: For more information, see https://cloud.google.com/vision/docs ``` -[detect_docs]: https://cloud.google.com/vision/docs -[detect_code]: detect.js - -### Face detection tutorial - -View the [documentation][face_docs] or the [source code][face_code]. - -This sample uses [node-canvas](https://github.com/Automattic/node-canvas) to -draw an output image. node-canvas depends on Cairo, which may require separate -installation. See the node-canvas [installation section][canvas-install] for -details. - -[canvas-install]: https://github.com/Automattic/node-canvas#installation - -__Run the sample:__ - -Usage: `node faceDetection ` - -Example: - - node faceDetection "./resources/face.png" - -[face_docs]: https://cloud.google.com/vision/docs/face-tutorial -[face_code]: faceDetection.js - -### Text detection tutorial - -View the [source code][text_code]. - -__Run the sample:__ - -Usage: `node textDetection [args]...` - -Analyze images: - - node textDetection analyze "./resources/" - -Look up words: - - node textDetection lookup the sunbeams in +[detect_0_docs]: https://cloud.google.com/vision/docs +[detect_0_code]: detect.js -[text_code]: textDetection.js +[shell_img]: http://gstatic.com/cloudssh/images/open-btn.png +[shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/README.md diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index be92f874ebe..b61683f51e8 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -4,37 +4,27 @@ "private": true, "license": "Apache-2.0", "author": "Google Inc.", - "repository": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" - }, + "repository": "googleapis/nodejs-vision", "engines": { - "node": ">=4.3.2" + "node": ">=4.0.0" }, "scripts": { - "lint": "samples lint", - "pretest": "npm run lint", - "test": "samples test run --cmd ava -- -T 1m --verbose system-test/*.test.js" + "test": "repo-tools test run --cmd ava -- -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/storage": "1.1.0", - "@google-cloud/vision": "^0.12.0", - "async": "2.3.0", - "natural": "0.5.1", - "redis": "2.7.1", - "yargs": "7.1.0" + "@google-cloud/storage": "1.4.0", + "@google-cloud/vision": "0.12.0", + "async": "2.5.0", + "natural": "0.5.4", + "redis": "2.8.0", + "yargs": "10.0.3" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "1.4.14", - "ava": "0.19.1", - "proxyquire": "1.7.11", - "sinon": "2.1.0" + "@google-cloud/nodejs-repo-tools": "2.1.1", + "ava": "0.23.0", + "uuid": "3.1.0" }, "optionalDependencies": { "canvas": "1.6.5" - }, - "cloud-repo-tools": { - "requiresKeyFile": true, - "requiresProjectId": true } } diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index 60d9ea4ce86..79e265f0965 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -17,30 +17,33 @@ // [START vision_quickstart] // Imports the Google Cloud client library -const Vision = require('@google-cloud/vision'); +const vision = require('@google-cloud/vision'); // Creates a client -const vision = new Vision(); +const client = new vision.ImageAnnotatorClient(); // The name of the image file to annotate const fileName = './resources/wakeupcat.jpg'; // Prepare the request object const request = { - source: { - filename: fileName - } + image: { + source: { + filename: fileName, + }, + }, }; // Performs label detection on the image file -vision.labelDetection(request) - .then((results) => { +client + .labelDetection(request) + .then(results => { const labels = results[0].labelAnnotations; console.log('Labels:'); - labels.forEach((label) => console.log(label.description)); + labels.forEach(label => console.log(label.description)); }) - .catch((err) => { + .catch(err => { console.error('ERROR:', err); }); // [END vision_quickstart] diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js deleted file mode 100644 index 6ee7a38e231..00000000000 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ -'use strict'; - -describe('ImageAnnotatorSmokeTest', function() { - - it('successfully makes a call to the service', function(done) { - var vision = require('../src'); - - var client = vision.v1({ - // optional auth parameters. - }); - - var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; - var source = { - gcsImageUri : gcsImageUri - }; - var image = { - source : source - }; - var type = vision.v1.types.Feature.Type.FACE_DETECTION; - var featuresElement = { - type : type - }; - var features = [featuresElement]; - var requestsElement = { - image : image, - features : features - }; - var requests = [requestsElement]; - client.batchAnnotateImages({requests: requests}).then(function(responses) { - var response = responses[0]; - console.log(response); - }) - .then(done) - .catch(done); - }); -}); \ No newline at end of file diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index 2ec01d4cf0f..4af31eb8740 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -14,33 +14,28 @@ * limitations under the License. */ -/*! - * @module vision/helpers - */ - 'use strict'; -var fs = require('fs'); -var is = require('is'); - -var promisify = require('@google-cloud/common').util.promisify; -var gax = require('google-gax'); -var protoFiles = require('google-proto-files'); +const fs = require('fs'); +const is = require('is'); +const path = require('path'); +const promisify = require('@google-cloud/common').util.promisify; +const gax = require('google-gax'); /*! * Find a given image and fire a callback with the appropriate image structure. * - * @param {Object} image - An object representing what is known about the + * @param {object} image An object representing what is known about the * image. - * @param {Function} callback - The callback to run. + * @param {function} callback The callback to run. */ var coerceImage = (image, callback) => { // If this is a buffer, read it and send the object // that the Vision API expects. if (Buffer.isBuffer(image)) { callback(null, { - content: image.toString('base64') + content: image.toString('base64'), }); return; } @@ -62,29 +57,30 @@ var coerceImage = (image, callback) => { return; }; - /*! * * Return a method that calls annotateImage asking for a single feature. * - * @param {Number} featureValue - The feature being requested. This is taken + * @param {number} featureValue The feature being requested. This is taken * from the Feature.Type enum, and will be an integer. * - * @return {Function} - The function that, when called, will call annotateImage + * @returns {function} The function that, when called, will call annotateImage * asking for the single feature annotation. */ var _createSingleFeatureMethod = featureValue => { return function(annotateImageRequest, callOptions) { - annotateImageRequest.features = annotateImageRequest.features || [{ - type: featureValue, - }]; + annotateImageRequest.features = annotateImageRequest.features || [ + { + type: featureValue, + }, + ]; // If the user submitted explicit features that do not line up with // the precise method called, throw an exception. for (let feature of annotateImageRequest.features) { if (feature.type !== featureValue) { throw new Error( 'Setting explicit features is not supported on this method. ' + - 'Use the #annotateImage method instead.' + 'Use the #annotateImage method instead.' ); } } @@ -93,14 +89,13 @@ var _createSingleFeatureMethod = featureValue => { }; }; - /*! * Return a dictionary-like object with helpers to augment the Vision * GAPIC. * - * @param {string} apiVersion - The API version (e.g. "v1") + * @param {string} apiVersion The API version (e.g. "v1") * - * @return {Object} - An object with keys and functions which are placed + * @returns {object} An object with keys and functions which are placed * onto the pure GAPIC. */ module.exports = apiVersion => { @@ -109,48 +104,56 @@ module.exports = apiVersion => { /** * Annotate a single image with the requested features. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Array} request.features - * An array of the specific annotation features being requested. - * This should take a form such as: - * [{type: vision.types.Feature.Type.FACE_DETECTION}, - * {type: vision.types.Feature.Type.WEB_DETECTION}] - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#annotateImage + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object[]} request.features An array of the specific annotation + * features being requested. This should take a form such as: + * + * [{type: vision.types.Feature.Type.FACE_DETECTION}, + * {type: vision.types.Feature.Type.WEB_DETECTION}] + * + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example - * var request = { + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { * image: {source: {imageUri: 'gs://path/to/image.jpg'}}, * features: [], * }; - * vision.annotateImage(request).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * client + * .annotateImage(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ methods.annotateImage = promisify(function(request, callOptions, callback) { // If a callback was provided and options were skipped, normalize @@ -174,7 +177,8 @@ module.exports = apiVersion => { request.image = image; // Call the GAPIC batch annotation function. - return this.batchAnnotateImages([request], callOptions, (err, r) => { + let requests = {requests: [request]}; + return this.batchAnnotateImages(requests, callOptions, (err, r) => { // If there is an error, handle it. if (err) { return callback(err); @@ -194,126 +198,151 @@ module.exports = apiVersion => { // them and create single-feature methods for each dynamically, for // documentation purpose, we manually list all the single-feature methods // below. - const features = gax.grpc().load([{ - root: protoFiles('..'), - file: `google/cloud/vision/${apiVersion}/image_annotator.proto`, - }]).google.cloud.vision[apiVersion].Feature.Type; + const features = gax + .grpc() + .loadProto( + path.join(__dirname, '..', 'protos'), + `google/cloud/vision/${apiVersion}/image_annotator.proto` + ).google.cloud.vision[apiVersion].Feature.Type.values; /** * Annotate a single image with face detection. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#faceDetection + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.faceDetection(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .faceDetection(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ - methods.faceDetection = - promisify(_createSingleFeatureMethod(features.FACE_DETECTION)); + methods.faceDetection = promisify( + _createSingleFeatureMethod(features.FACE_DETECTION) + ); /** * Annotate a single image with landmark detection. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#landmarkDetection + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.landmarkDetection(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .landmarkDetection(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ - methods.landmarkDetection = - promisify(_createSingleFeatureMethod(features.LANDMARK_DETECTION)); + methods.landmarkDetection = promisify( + _createSingleFeatureMethod(features.LANDMARK_DETECTION) + ); /** * Annotate a single image with logo detection. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#logoDetection + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example * var image = { @@ -325,38 +354,40 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.logoDetection = - promisify(_createSingleFeatureMethod(features.LOGO_DETECTION)); + methods.logoDetection = promisify( + _createSingleFeatureMethod(features.LOGO_DETECTION) + ); /** * Annotate a single image with label detection. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#labelDetection + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example * var image = { @@ -368,38 +399,40 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.labelDetection = - promisify(_createSingleFeatureMethod(features.LABEL_DETECTION)); + methods.labelDetection = promisify( + _createSingleFeatureMethod(features.LABEL_DETECTION) + ); /** * Annotate a single image with text detection. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#textDetection + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example * var image = { @@ -411,38 +444,40 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.textDetection = - promisify(_createSingleFeatureMethod(features.TEXT_DETECTION)); + methods.textDetection = promisify( + _createSingleFeatureMethod(features.TEXT_DETECTION) + ); /** * Annotate a single image with document text detection. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#documentTextDetection + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example * var image = { @@ -454,38 +489,40 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.documentTextDetection = - promisify(_createSingleFeatureMethod(features.DOCUMENT_TEXT_DETECTION)); + methods.documentTextDetection = promisify( + _createSingleFeatureMethod(features.DOCUMENT_TEXT_DETECTION) + ); /** * Annotate a single image with safe search detection. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#safeSearchDetection + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example * var image = { @@ -497,38 +534,40 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.safeSearchDetection = - promisify(_createSingleFeatureMethod(features.SAFE_SEARCH_DETECTION)); + methods.safeSearchDetection = promisify( + _createSingleFeatureMethod(features.SAFE_SEARCH_DETECTION) + ); /** * Annotate a single image with image properties. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#imageProperties + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example * var image = { @@ -540,38 +579,40 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.imageProperties = - promisify(_createSingleFeatureMethod(features.IMAGE_PROPERTIES)); + methods.imageProperties = promisify( + _createSingleFeatureMethod(features.IMAGE_PROPERTIES) + ); /** * Annotate a single image with crop hints. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#cropHints + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example * var image = { @@ -583,38 +624,40 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.cropHints = - promisify(_createSingleFeatureMethod(features.CROP_HINTS)); + methods.cropHints = promisify( + _createSingleFeatureMethod(features.CROP_HINTS) + ); /** * Annotate a single image with web detection. * - * @param {Object} request - * A representation of the request being sent to the Vision API. - * This is an [AnnotateImageRequest]{@link AnnotateImageRequest}. - * @param {Object} request.image - * A dictionary-like object representing the image. This should have a - * single key (`source`, `content`). - * - * If the key is `source`, the value should be another object containing - * `imageUri` or `filename` as a key and a string as a value. - * - * If the key is `content`, the value should be a Buffer. - * @param {Object=} callOptions - * Optional parameters. You can override the default settings for this - * call, e.g, timeout, retries, paginations, etc. See - * [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} - * for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing - * API call. + * @see v1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1.AnnotateImageRequest + * + * @method v1.ImageAnnotatorClient#webDetection + * @param {object} request A representation of the request being sent to the + * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. * * @example * var image = { @@ -626,8 +669,9 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.webDetection = - promisify(_createSingleFeatureMethod(features.WEB_DETECTION)); + methods.webDetection = promisify( + _createSingleFeatureMethod(features.WEB_DETECTION) + ); return methods; }; diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index a001f886c94..c0f800792f7 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -1,80 +1,88 @@ -/*! - * Copyright 2015 Google Inc. All Rights Reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -/*! - * @module vision - * @name Vision +/** + * @namespace google + */ +/** + * @namespace google.cloud + */ +/** + * @namespace google.cloud.vision + */ +/** + * @namespace google.cloud.vision.v1 + */ +/** + * @namespace google.protobuf + */ +/** + * @namespace google.rpc + */ +/** + * @namespace google.type */ 'use strict'; -var is = require('is'); -var extend = require('extend'); +const helpers = require('./helpers'); -var gapic = { +// Import the clients for each version supported by this package. +const gapic = Object.freeze({ v1: require('./v1'), -}; -var gaxGrpc = require('google-gax').grpc(); - -var helpers = require('./helpers'); - -const VERSION = require('../package.json').version; +}); +// Augment the SpeechClient objects with the helpers. +for (let gapicVersion of Object.keys(gapic)) { + let clientProto = gapic[gapicVersion].ImageAnnotatorClient.prototype; + Object.assign(clientProto, helpers(gapicVersion)); +} /** - * Create an imageAnnotatorClient with additional helpers for common - * tasks. + * The `@google-cloud/vision` package has the following named exports: + * + * - `ImageAnnotatorClient` - Reference to {@link v1.ImageAnnotatorClient}. + * - `v1` - This is used for selecting or pinning a particular backend service + * version. It exports: + * - `ImageAnnotatorClient` - Reference to {@link v1.ImageAnnotatorClient}. + * + * @module {object} @google-cloud/vision + * @alias nodejs-vision * - * @constructor - * @alias module:vision - * @mixes module:vision/helpers + * @example Install the client library with npm: + * npm install --save @google-cloud/vision * - * @param {Object=} opts - The optional parameters. - * @param {String=} opts.servicePath - * The domain name of the API remote host. - * @param {number=} opts.port - * The port on which to connect to the remote host. - * @param {grpc.ClientCredentials=} opts.sslCreds - * A ClientCredentials for use with an SSL-enabled channel. - * @param {Object=} opts.clientConfig - * The customized config to build the call settings. See - * {@link gax.constructSettings} for the format. + * @example Import the client library: + * const vision = require('@google-cloud/vision'); + * + * @example Create a client that uses Application Default Credentials (ADC): + * const client = new vision.ImageAnnotatorClient(); + * + * @example Create a client with explicit credentials: + * const client = new vision.ImageAnnotatorClient({ + * projectId: 'your-project-id', + * keyFilename: '/path/to/keyfile.json', + * }); */ -function visionV1(opts) { - // Define the header options. - opts = opts || {}; - opts.libName = 'gccl'; - opts.libVersion = VERSION; - - // Create the image annotator client with the provided options. - var client = gapic.v1(opts).imageAnnotatorClient(opts); - if (is.undefined(client.annotateImage)) { - Object.assign(client.constructor.prototype, helpers('v1')); - } - return client; -} +module.exports = gapic.v1; -var v1Protos = {}; - -extend(v1Protos, gaxGrpc.load([{ - root: require('google-proto-files')('..'), - file: 'google/cloud/vision/v1/image_annotator.proto' -}]).google.cloud.vision.v1); +/** + * @type {object} + * @property {constructor} ImageAnnotatorClient + * Reference to {@link v1.ImageAnnotatorClient} + */ +module.exports.v1 = gapic.v1; -module.exports = visionV1; -module.exports.types = v1Protos; -module.exports.v1 = visionV1; -module.exports.v1.types = v1Protos; +// Alias `module.exports` as `module.exports.default`, for future-proofing. +module.exports.default = Object.assign({}, module.exports); diff --git a/packages/google-cloud-vision/src/v1/doc/doc_geometry.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js similarity index 65% rename from packages/google-cloud-vision/src/v1/doc/doc_geometry.js rename to packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js index cfff72bd26c..c8b9a1a8ff7 100644 --- a/packages/google-cloud-vision/src/v1/doc/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js @@ -1,23 +1,19 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -/* - * Note: this file is purely for documentation. Any contents are not expected - * to be loaded as the JS file. - */ +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * A vertex represents a 2D point in the image. @@ -29,7 +25,8 @@ * @property {number} y * Y coordinate. * - * @class + * @typedef Vertex + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} */ var Vertex = { @@ -42,9 +39,10 @@ var Vertex = { * @property {Object[]} vertices * The bounding polygon vertices. * - * This object should have the same structure as [Vertex]{@link Vertex} + * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1.Vertex} * - * @class + * @typedef BoundingPoly + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} */ var BoundingPoly = { @@ -65,7 +63,8 @@ var BoundingPoly = { * @property {number} z * Z coordinate (or depth). * - * @class + * @typedef Position + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} */ var Position = { diff --git a/packages/google-cloud-vision/src/v1/doc/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js similarity index 85% rename from packages/google-cloud-vision/src/v1/doc/doc_image_annotator.js rename to packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index e7845a3df3c..f2b24a27c67 100644 --- a/packages/google-cloud-vision/src/v1/doc/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -1,23 +1,19 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ - -/* - * Note: this file is purely for documentation. Any contents are not expected - * to be loaded as the JS file. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * Users describe the type of Google Cloud Vision API tasks to perform over @@ -28,12 +24,13 @@ * @property {number} type * The feature type. * - * The number should be among the values of [Type]{@link Type} + * The number should be among the values of [Type]{@link google.cloud.vision.v1.Type} * * @property {number} maxResults * Maximum number of results of this type. * - * @class + * @typedef Feature + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var Feature = { @@ -43,6 +40,7 @@ var Feature = { * Type of image feature. * * @enum {number} + * @memberof google.cloud.vision.v1 */ Type: { @@ -127,7 +125,8 @@ var Feature = { * `gcs_image_uri` and `image_uri` are specified, `image_uri` takes * precedence. * - * @class + * @typedef ImageSource + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var ImageSource = { @@ -147,9 +146,10 @@ var ImageSource = { * are provided for an image, `content` takes precedence and is * used to perform the image annotation request. * - * This object should have the same structure as [ImageSource]{@link ImageSource} + * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1.ImageSource} * - * @class + * @typedef Image + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var Image = { @@ -168,7 +168,7 @@ var Image = { * `BoundingPoly` (the polygon will be unbounded) if only a partial face * appears in the image to be annotated. * - * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {Object} fdBoundingPoly * The `fd_bounding_poly` bounding polygon is tighter than the @@ -178,12 +178,12 @@ var Image = { * landmarker results, only on the initial face detection, hence * the fd (face detection) prefix. * - * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {Object[]} landmarks * Detected face landmarks. * - * This object should have the same structure as [Landmark]{@link Landmark} + * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1.Landmark} * * @property {number} rollAngle * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation @@ -208,39 +208,40 @@ var Image = { * @property {number} joyLikelihood * Joy likelihood. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} sorrowLikelihood * Sorrow likelihood. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} angerLikelihood * Anger likelihood. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} surpriseLikelihood * Surprise likelihood. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} underExposedLikelihood * Under-exposed likelihood. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} blurredLikelihood * Blurred likelihood. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} headwearLikelihood * Headwear likelihood. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * - * @class + * @typedef FaceAnnotation + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var FaceAnnotation = { @@ -256,14 +257,15 @@ var FaceAnnotation = { * @property {number} type * Face landmark type. * - * The number should be among the values of [Type]{@link Type} + * The number should be among the values of [Type]{@link google.cloud.vision.v1.Type} * * @property {Object} position * Face landmark position. * - * This object should have the same structure as [Position]{@link Position} + * This object should have the same structure as [Position]{@link google.cloud.vision.v1.Position} * - * @class + * @typedef Landmark + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ Landmark: { @@ -276,6 +278,7 @@ var FaceAnnotation = { * typically, is the person's right eye. * * @enum {number} + * @memberof google.cloud.vision.v1 */ Type: { @@ -463,9 +466,10 @@ var FaceAnnotation = { * @property {Object} latLng * lat/long location coordinates. * - * This object should have the same structure as [google.type.LatLng]{@link external:"google.type.LatLng"} + * This object should have the same structure as [LatLng]{@link google.type.LatLng} * - * @class + * @typedef LocationInfo + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var LocationInfo = { @@ -481,7 +485,8 @@ var LocationInfo = { * @property {string} value * Value of the property. * - * @class + * @typedef Property + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var Property = { @@ -524,7 +529,7 @@ var Property = { * are produced for the entire text detected in an image region, followed by * `boundingPoly`s for each word within the detected text. * - * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {Object[]} locations * The location information for the detected entity. Multiple @@ -533,15 +538,16 @@ var Property = { * may indicate the location of the place where the image was taken. * Location information is usually present for landmarks. * - * This object should have the same structure as [LocationInfo]{@link LocationInfo} + * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1.LocationInfo} * * @property {Object[]} properties * Some entities may have optional user-supplied `Property` (name/value) * fields, such a score or string that qualifies the entity. * - * This object should have the same structure as [Property]{@link Property} + * This object should have the same structure as [Property]{@link google.cloud.vision.v1.Property} * - * @class + * @typedef EntityAnnotation + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var EntityAnnotation = { @@ -556,26 +562,27 @@ var EntityAnnotation = { * @property {number} adult * Represents the adult content likelihood for the image. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} spoof * Spoof likelihood. The likelihood that an modification * was made to the image's canonical version to make it appear * funny or offensive. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} medical * Likelihood that this is a medical image. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} violence * Violence likelihood. * - * The number should be among the values of [Likelihood]{@link Likelihood} + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * - * @class + * @typedef SafeSearchAnnotation + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var SafeSearchAnnotation = { @@ -588,14 +595,15 @@ var SafeSearchAnnotation = { * @property {Object} minLatLng * Min lat/long pair. * - * This object should have the same structure as [google.type.LatLng]{@link external:"google.type.LatLng"} + * This object should have the same structure as [LatLng]{@link google.type.LatLng} * * @property {Object} maxLatLng * Max lat/long pair. * - * This object should have the same structure as [google.type.LatLng]{@link external:"google.type.LatLng"} + * This object should have the same structure as [LatLng]{@link google.type.LatLng} * - * @class + * @typedef LatLongRect + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var LatLongRect = { @@ -609,7 +617,7 @@ var LatLongRect = { * @property {Object} color * RGB components of the color. * - * This object should have the same structure as [google.type.Color]{@link external:"google.type.Color"} + * This object should have the same structure as [Color]{@link google.type.Color} * * @property {number} score * Image-specific score for this color. Value in range [0, 1]. @@ -618,7 +626,8 @@ var LatLongRect = { * The fraction of pixels the color occupies in the image. * Value in range [0, 1]. * - * @class + * @typedef ColorInfo + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var ColorInfo = { @@ -631,9 +640,10 @@ var ColorInfo = { * @property {Object[]} colors * RGB color values with their score and pixel fraction. * - * This object should have the same structure as [ColorInfo]{@link ColorInfo} + * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1.ColorInfo} * - * @class + * @typedef DominantColorsAnnotation + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var DominantColorsAnnotation = { @@ -646,9 +656,10 @@ var DominantColorsAnnotation = { * @property {Object} dominantColors * If present, dominant colors completed successfully. * - * This object should have the same structure as [DominantColorsAnnotation]{@link DominantColorsAnnotation} + * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1.DominantColorsAnnotation} * - * @class + * @typedef ImageProperties + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var ImageProperties = { @@ -662,7 +673,7 @@ var ImageProperties = { * The bounding polygon for the crop region. The coordinates of the bounding * box are in the original image's scale, as returned in `ImageParams`. * - * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {number} confidence * Confidence of this being a salient region. Range [0, 1]. @@ -671,7 +682,8 @@ var ImageProperties = { * Fraction of importance of this salient region with respect to the original * image. * - * @class + * @typedef CropHint + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var CropHint = { @@ -682,9 +694,10 @@ var CropHint = { * Set of crop hints that are used to generate new crops when serving images. * * @property {Object[]} cropHints - * This object should have the same structure as [CropHint]{@link CropHint} + * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1.CropHint} * - * @class + * @typedef CropHintsAnnotation + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var CropHintsAnnotation = { @@ -702,7 +715,8 @@ var CropHintsAnnotation = { * limited to a maximum of 16; any aspect ratios provided after the 16th are * ignored. * - * @class + * @typedef CropHintsParams + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var CropHintsParams = { @@ -715,7 +729,7 @@ var CropHintsParams = { * @property {Object} latLongRect * lat/long rectangle that specifies the location of the image. * - * This object should have the same structure as [LatLongRect]{@link LatLongRect} + * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1.LatLongRect} * * @property {string[]} languageHints * List of languages to use for TEXT_DETECTION. In most cases, an empty value @@ -730,9 +744,10 @@ var CropHintsParams = { * @property {Object} cropHintsParams * Parameters for crop hints annotation request. * - * This object should have the same structure as [CropHintsParams]{@link CropHintsParams} + * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1.CropHintsParams} * - * @class + * @typedef ImageContext + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var ImageContext = { @@ -746,19 +761,20 @@ var ImageContext = { * @property {Object} image * The image to be processed. * - * This object should have the same structure as [Image]{@link Image} + * This object should have the same structure as [Image]{@link google.cloud.vision.v1.Image} * * @property {Object[]} features * Requested features. * - * This object should have the same structure as [Feature]{@link Feature} + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1.Feature} * * @property {Object} imageContext * Additional context that may accompany the image. * - * This object should have the same structure as [ImageContext]{@link ImageContext} + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1.ImageContext} * - * @class + * @typedef AnnotateImageRequest + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var AnnotateImageRequest = { @@ -771,28 +787,28 @@ var AnnotateImageRequest = { * @property {Object[]} faceAnnotations * If present, face detection has completed successfully. * - * This object should have the same structure as [FaceAnnotation]{@link FaceAnnotation} + * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1.FaceAnnotation} * * @property {Object[]} landmarkAnnotations * If present, landmark detection has completed successfully. * - * This object should have the same structure as [EntityAnnotation]{@link EntityAnnotation} + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} * * @property {Object[]} logoAnnotations * If present, logo detection has completed successfully. * - * This object should have the same structure as [EntityAnnotation]{@link EntityAnnotation} + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} * * @property {Object[]} labelAnnotations * If present, label detection has completed successfully. * - * This object should have the same structure as [EntityAnnotation]{@link EntityAnnotation} + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} * * @property {Object[]} textAnnotations * If present, text (OCR) detection or document (OCR) text detection has * completed successfully. * - * This object should have the same structure as [EntityAnnotation]{@link EntityAnnotation} + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} * * @property {Object} fullTextAnnotation * If present, text (OCR) detection or document (OCR) text detection has @@ -800,36 +816,37 @@ var AnnotateImageRequest = { * This annotation provides the structural hierarchy for the OCR detected * text. * - * This object should have the same structure as [TextAnnotation]{@link TextAnnotation} + * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1.TextAnnotation} * * @property {Object} safeSearchAnnotation * If present, safe-search annotation has completed successfully. * - * This object should have the same structure as [SafeSearchAnnotation]{@link SafeSearchAnnotation} + * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1.SafeSearchAnnotation} * * @property {Object} imagePropertiesAnnotation * If present, image properties were extracted successfully. * - * This object should have the same structure as [ImageProperties]{@link ImageProperties} + * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1.ImageProperties} * * @property {Object} cropHintsAnnotation * If present, crop hints have completed successfully. * - * This object should have the same structure as [CropHintsAnnotation]{@link CropHintsAnnotation} + * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1.CropHintsAnnotation} * * @property {Object} webDetection * If present, web detection has completed successfully. * - * This object should have the same structure as [WebDetection]{@link WebDetection} + * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1.WebDetection} * * @property {Object} error * If set, represents the error message for the operation. * Note that filled-in image annotations are guaranteed to be * correct, even when `error` is set. * - * This object should have the same structure as [google.rpc.Status]{@link external:"google.rpc.Status"} + * This object should have the same structure as [Status]{@link google.rpc.Status} * - * @class + * @typedef AnnotateImageResponse + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var AnnotateImageResponse = { @@ -842,9 +859,10 @@ var AnnotateImageResponse = { * @property {Object[]} requests * Individual image annotation requests for this batch. * - * This object should have the same structure as [AnnotateImageRequest]{@link AnnotateImageRequest} + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} * - * @class + * @typedef BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var BatchAnnotateImagesRequest = { @@ -857,9 +875,10 @@ var BatchAnnotateImagesRequest = { * @property {Object[]} responses * Individual responses to image annotation requests within the batch. * - * This object should have the same structure as [AnnotateImageResponse]{@link AnnotateImageResponse} + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1.AnnotateImageResponse} * - * @class + * @typedef BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ var BatchAnnotateImagesResponse = { @@ -871,6 +890,7 @@ var BatchAnnotateImagesResponse = { * highly stable results across model upgrades. * * @enum {number} + * @memberof google.cloud.vision.v1 */ var Likelihood = { diff --git a/packages/google-cloud-vision/src/v1/doc/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js similarity index 83% rename from packages/google-cloud-vision/src/v1/doc/doc_text_annotation.js rename to packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index 96e5ccba01a..51f65b6f952 100644 --- a/packages/google-cloud-vision/src/v1/doc/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -1,23 +1,19 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -/* - * Note: this file is purely for documentation. Any contents are not expected - * to be loaded as the JS file. - */ +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * TextAnnotation contains a structured representation of OCR extracted text. @@ -25,18 +21,19 @@ * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol * Each structural component, starting from Page, may further have their own * properties. Properties describe detected languages, breaks etc.. Please - * refer to the {@link google.cloud.vision.v1.TextAnnotation.TextProperty} message + * refer to the google.cloud.vision.v1.TextAnnotation.TextProperty message * definition below for more detail. * * @property {Object[]} pages * List of pages detected by OCR. * - * This object should have the same structure as [Page]{@link Page} + * This object should have the same structure as [Page]{@link google.cloud.vision.v1.Page} * * @property {string} text * UTF-8 text detected on the pages. * - * @class + * @typedef TextAnnotation + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ var TextAnnotation = { @@ -53,7 +50,8 @@ var TextAnnotation = { * @property {number} confidence * Confidence of detected language. Range [0, 1]. * - * @class + * @typedef DetectedLanguage + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ DetectedLanguage: { @@ -64,12 +62,13 @@ var TextAnnotation = { * Detected start or end of a structural component. * * @property {number} type - * The number should be among the values of [BreakType]{@link BreakType} + * The number should be among the values of [BreakType]{@link google.cloud.vision.v1.BreakType} * * @property {boolean} isPrefix * True if break prepends the element. * - * @class + * @typedef DetectedBreak + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ DetectedBreak: { @@ -79,6 +78,7 @@ var TextAnnotation = { * Enum to denote the type of break found. New line, space etc. * * @enum {number} + * @memberof google.cloud.vision.v1 */ BreakType: { @@ -122,14 +122,15 @@ var TextAnnotation = { * @property {Object[]} detectedLanguages * A list of detected languages together with confidence. * - * This object should have the same structure as [DetectedLanguage]{@link DetectedLanguage} + * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1.DetectedLanguage} * * @property {Object} detectedBreak * Detected start or end of a text segment. * - * This object should have the same structure as [DetectedBreak]{@link DetectedBreak} + * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1.DetectedBreak} * - * @class + * @typedef TextProperty + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ TextProperty: { @@ -143,7 +144,7 @@ var TextAnnotation = { * @property {Object} property * Additional information detected on the page. * - * This object should have the same structure as [TextProperty]{@link TextProperty} + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} * * @property {number} width * Page width in pixels. @@ -154,9 +155,10 @@ var TextAnnotation = { * @property {Object[]} blocks * List of blocks of text, images etc on this page. * - * This object should have the same structure as [Block]{@link Block} + * This object should have the same structure as [Block]{@link google.cloud.vision.v1.Block} * - * @class + * @typedef Page + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ var Page = { @@ -169,7 +171,7 @@ var Page = { * @property {Object} property * Additional information detected for the block. * - * This object should have the same structure as [TextProperty]{@link TextProperty} + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} * * @property {Object} boundingBox * The bounding box for the block. @@ -188,19 +190,20 @@ var Page = { * 1----0 * and the vertice order will still be (0, 1, 2, 3). * - * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {Object[]} paragraphs * List of paragraphs in this block (if this blocks is of type text). * - * This object should have the same structure as [Paragraph]{@link Paragraph} + * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1.Paragraph} * * @property {number} blockType * Detected block type (text, image etc) for this block. * - * The number should be among the values of [BlockType]{@link BlockType} + * The number should be among the values of [BlockType]{@link google.cloud.vision.v1.BlockType} * - * @class + * @typedef Block + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ var Block = { @@ -210,6 +213,7 @@ var Block = { * Type of a block (text, image etc) as identified by OCR. * * @enum {number} + * @memberof google.cloud.vision.v1 */ BlockType: { @@ -251,7 +255,7 @@ var Block = { * @property {Object} property * Additional information detected for the paragraph. * - * This object should have the same structure as [TextProperty]{@link TextProperty} + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} * * @property {Object} boundingBox * The bounding box for the paragraph. @@ -270,14 +274,15 @@ var Block = { * 1----0 * and the vertice order will still be (0, 1, 2, 3). * - * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {Object[]} words * List of words in this paragraph. * - * This object should have the same structure as [Word]{@link Word} + * This object should have the same structure as [Word]{@link google.cloud.vision.v1.Word} * - * @class + * @typedef Paragraph + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ var Paragraph = { @@ -290,7 +295,7 @@ var Paragraph = { * @property {Object} property * Additional information detected for the word. * - * This object should have the same structure as [TextProperty]{@link TextProperty} + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} * * @property {Object} boundingBox * The bounding box for the word. @@ -309,15 +314,16 @@ var Paragraph = { * 1----0 * and the vertice order will still be (0, 1, 2, 3). * - * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {Object[]} symbols * List of symbols in the word. * The order of the symbols follows the natural reading order. * - * This object should have the same structure as [Symbol]{@link Symbol} + * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1.Symbol} * - * @class + * @typedef Word + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ var Word = { @@ -330,7 +336,7 @@ var Word = { * @property {Object} property * Additional information detected for the symbol. * - * This object should have the same structure as [TextProperty]{@link TextProperty} + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} * * @property {Object} boundingBox * The bounding box for the symbol. @@ -349,12 +355,13 @@ var Word = { * 1----0 * and the vertice order will still be (0, 1, 2, 3). * - * This object should have the same structure as [BoundingPoly]{@link BoundingPoly} + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {string} text * The actual UTF-8 representation of the symbol. * - * @class + * @typedef Symbol + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ var Symbol = { diff --git a/packages/google-cloud-vision/src/v1/doc/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js similarity index 74% rename from packages/google-cloud-vision/src/v1/doc/doc_web_detection.js rename to packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js index 12e2da864f6..1872b45d158 100644 --- a/packages/google-cloud-vision/src/v1/doc/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js @@ -1,23 +1,19 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -/* - * Note: this file is purely for documentation. Any contents are not expected - * to be loaded as the JS file. - */ +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * Relevant information for the image from the Internet. @@ -25,28 +21,29 @@ * @property {Object[]} webEntities * Deduced entities from similar images on the Internet. * - * This object should have the same structure as [WebEntity]{@link WebEntity} + * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1.WebEntity} * * @property {Object[]} fullMatchingImages * Fully matching images from the Internet. * They're definite neardups and most often a copy of the query image with * merely a size change. * - * This object should have the same structure as [WebImage]{@link WebImage} + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} * * @property {Object[]} partialMatchingImages * Partial matching images from the Internet. * Those images are similar enough to share some key-point features. For * example an original image will likely have partial matching for its crops. * - * This object should have the same structure as [WebImage]{@link WebImage} + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} * * @property {Object[]} pagesWithMatchingImages * Web pages containing the matching images from the Internet. * - * This object should have the same structure as [WebPage]{@link WebPage} + * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1.WebPage} * - * @class + * @typedef WebDetection + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} */ var WebDetection = { @@ -65,7 +62,8 @@ var WebDetection = { * @property {string} description * Canonical description of the entity, in English. * - * @class + * @typedef WebEntity + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} */ WebEntity: { @@ -82,7 +80,8 @@ var WebDetection = { * Overall relevancy score for the image. * Not normalized and not comparable across different image queries. * - * @class + * @typedef WebImage + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} */ WebImage: { @@ -99,7 +98,8 @@ var WebDetection = { * Overall relevancy score for the web page. * Not normalized and not comparable across different image queries. * - * @class + * @typedef WebPage + * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} */ WebPage: { diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_any.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js similarity index 74% rename from packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_any.js rename to packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js index 0697ec15814..21feb744243 100644 --- a/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_any.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js @@ -1,23 +1,19 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -/* - * Note: this file is purely for documentation. Any contents are not expected - * to be loaded as the JS file. - */ +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * `Any` contains an arbitrary serialized protocol buffer message along with a @@ -55,6 +51,16 @@ * any.Unpack(foo) * ... * + * Example 4: Pack and unpack a message in Go + * + * foo := &pb.Foo{...} + * any, err := ptypes.MarshalAny(foo) + * ... + * foo := &pb.Foo{} + * if err := ptypes.UnmarshalAny(any, foo); err != nil { + * ... + * } + * * The pack methods provided by protobuf library will by default use * 'type.googleapis.com/full.type.name' as the type URL and the unpack * methods only use the fully qualified type name after the last '/' @@ -83,14 +89,13 @@ * If the embedded message type is well-known and has a custom JSON * representation, that representation will be embedded adding a field * `value` which holds the custom JSON in addition to the `@type` - * field. Example (for message {@link google.protobuf.Duration}): + * field. Example (for message google.protobuf.Duration): * * { * "@type": "type.googleapis.com/google.protobuf.Duration", * "value": "1.212s" * } * - * @external "google.protobuf.Any" * @property {string} typeUrl * A URL/resource name whose content describes the type of the * serialized protocol buffer message. @@ -103,7 +108,7 @@ * qualified name of the type (as in `path/google.protobuf.Duration`). * The name should be in a canonical form (e.g., leading "." is * not accepted). - * * An HTTP GET on the URL must yield a {@link google.protobuf.Type} + * * An HTTP GET on the URL must yield a google.protobuf.Type * value in binary format, or produce an error. * * Applications are allowed to cache lookup results based on the * URL, or have them precompiled into a binary to avoid any @@ -117,5 +122,10 @@ * @property {string} value * Must be a valid serialized protocol buffer of the above specified type. * + * @typedef Any + * @memberof google.protobuf * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} - */ \ No newline at end of file + */ +var Any = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_wrappers.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js similarity index 59% rename from packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_wrappers.js rename to packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js index 46a5e3e2213..0ccf17f236b 100644 --- a/packages/google-cloud-vision/src/v1/doc/doc_google_protobuf_wrappers.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js @@ -1,128 +1,160 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -/* - * Note: this file is purely for documentation. Any contents are not expected - * to be loaded as the JS file. - */ +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * Wrapper message for `double`. * * The JSON representation for `DoubleValue` is JSON number. * - * @external "google.protobuf.DoubleValue" * @property {number} value * The double value. * + * @typedef DoubleValue + * @memberof google.protobuf * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ +var DoubleValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; /** * Wrapper message for `float`. * * The JSON representation for `FloatValue` is JSON number. * - * @external "google.protobuf.FloatValue" * @property {number} value * The float value. * + * @typedef FloatValue + * @memberof google.protobuf * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ +var FloatValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; /** * Wrapper message for `int64`. * * The JSON representation for `Int64Value` is JSON string. * - * @external "google.protobuf.Int64Value" * @property {number} value * The int64 value. * + * @typedef Int64Value + * @memberof google.protobuf * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ +var Int64Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; /** * Wrapper message for `uint64`. * * The JSON representation for `UInt64Value` is JSON string. * - * @external "google.protobuf.UInt64Value" * @property {number} value * The uint64 value. * + * @typedef UInt64Value + * @memberof google.protobuf * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ +var UInt64Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; /** * Wrapper message for `int32`. * * The JSON representation for `Int32Value` is JSON number. * - * @external "google.protobuf.Int32Value" * @property {number} value * The int32 value. * + * @typedef Int32Value + * @memberof google.protobuf * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ +var Int32Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; /** * Wrapper message for `uint32`. * * The JSON representation for `UInt32Value` is JSON number. * - * @external "google.protobuf.UInt32Value" * @property {number} value * The uint32 value. * + * @typedef UInt32Value + * @memberof google.protobuf * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ +var UInt32Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; /** * Wrapper message for `bool`. * * The JSON representation for `BoolValue` is JSON `true` and `false`. * - * @external "google.protobuf.BoolValue" * @property {boolean} value * The bool value. * + * @typedef BoolValue + * @memberof google.protobuf * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ +var BoolValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; /** * Wrapper message for `string`. * * The JSON representation for `StringValue` is JSON string. * - * @external "google.protobuf.StringValue" * @property {string} value * The string value. * + * @typedef StringValue + * @memberof google.protobuf * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ +var StringValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; /** * Wrapper message for `bytes`. * * The JSON representation for `BytesValue` is JSON string. * - * @external "google.protobuf.BytesValue" * @property {string} value * The bytes value. * + * @typedef BytesValue + * @memberof google.protobuf * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ \ No newline at end of file + */ +var BytesValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_rpc_status.js b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js similarity index 67% rename from packages/google-cloud-vision/src/v1/doc/doc_google_rpc_status.js rename to packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js index c85f1befe90..be5e96ce26d 100644 --- a/packages/google-cloud-vision/src/v1/doc/doc_google_rpc_status.js +++ b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js @@ -1,23 +1,19 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -/* - * Note: this file is purely for documentation. Any contents are not expected - * to be loaded as the JS file. - */ +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * The `Status` type defines a logical error model that is suitable for different @@ -31,13 +27,13 @@ * * The `Status` message contains three pieces of data: error code, error message, * and error details. The error code should be an enum value of - * {@link google.rpc.Code}, but it may accept additional error codes if needed. The + * google.rpc.Code, but it may accept additional error codes if needed. The * error message should be a developer-facing English message that helps * developers *understand* and *resolve* the error. If a localized user-facing * error message is needed, put the localized message in the error details or * localize it in the client. The optional error details may contain arbitrary * information about the error. There is a predefined set of error detail types - * in the package `google.rpc` which can be used for common error conditions. + * in the package `google.rpc` that can be used for common error conditions. * * # Language mapping * @@ -60,7 +56,7 @@ * errors. * * - Workflow errors. A typical workflow has multiple steps. Each step may - * have a `Status` message for error reporting purpose. + * have a `Status` message for error reporting. * * - Batch operations. If a client uses batch request and batch response, the * `Status` message should be used directly inside batch response, one for @@ -73,20 +69,24 @@ * - Logging. If some API errors are stored in logs, the message `Status` could * be used directly after any stripping needed for security/privacy reasons. * - * @external "google.rpc.Status" * @property {number} code - * The status code, which should be an enum value of {@link google.rpc.Code}. + * The status code, which should be an enum value of google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * {@link google.rpc.Status.details} field, or localized by the client. + * google.rpc.Status.details field, or localized by the client. * * @property {Object[]} details - * A list of messages that carry the error details. There will be a - * common set of message types for APIs to use. + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. * - * This object should have the same structure as [google.protobuf.Any]{@link external:"google.protobuf.Any"} + * This object should have the same structure as [Any]{@link google.protobuf.Any} * + * @typedef Status + * @memberof google.rpc * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} - */ \ No newline at end of file + */ +var Status = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_type_color.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js similarity index 85% rename from packages/google-cloud-vision/src/v1/doc/doc_google_type_color.js rename to packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js index 679c7f72339..a2ea753d8a1 100644 --- a/packages/google-cloud-vision/src/v1/doc/doc_google_type_color.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js @@ -1,23 +1,19 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -/* - * Note: this file is purely for documentation. Any contents are not expected - * to be loaded as the JS file. - */ +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * Represents a color in the RGBA color space. This representation is designed @@ -135,7 +131,6 @@ * * // ... * - * @external "google.type.Color" * @property {number} red * The amount of red in the color as a value in the interval [0, 1]. * @@ -158,7 +153,12 @@ * If omitted, this color object is to be rendered as a solid color * (as if the alpha value had been explicitly given with a value of 1.0). * - * This object should have the same structure as [google.protobuf.FloatValue]{@link external:"google.protobuf.FloatValue"} + * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} * + * @typedef Color + * @memberof google.type * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} - */ \ No newline at end of file + */ +var Color = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/doc_google_type_latlng.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js similarity index 73% rename from packages/google-cloud-vision/src/v1/doc/doc_google_type_latlng.js rename to packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js index 82dd2e824f9..e54b84d63c7 100644 --- a/packages/google-cloud-vision/src/v1/doc/doc_google_type_latlng.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js @@ -1,23 +1,19 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -/* - * Note: this file is purely for documentation. Any contents are not expected - * to be loaded as the JS file. - */ +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. /** * An object representing a latitude/longitude pair. This is expressed as a pair @@ -60,12 +56,16 @@ * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) * - * @external "google.type.LatLng" * @property {number} latitude * The latitude in degrees. It must be in the range [-90.0, +90.0]. * * @property {number} longitude * The longitude in degrees. It must be in the range [-180.0, +180.0]. * + * @typedef LatLng + * @memberof google.type * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} - */ \ No newline at end of file + */ +var LatLng = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index bfbad78422d..2dfaee881a2 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -1,197 +1,226 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - * - * EDITING INSTRUCTIONS - * This file was generated from the file - * https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto, - * and updates to that file get reflected here through a refresh process. - * For the short term, the refresh process will only be runnable by Google - * engineers. - * - * The only allowed edits are to method and file documentation. A 3-way - * merge preserves those additions if the generated source changes. - */ -/* TODO: introduce line-wrapping so that it never exceeds the limit. */ -/* jscs: disable maximumLineLength */ -'use strict'; +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -var configData = require('./image_annotator_client_config'); -var extend = require('extend'); -var gax = require('google-gax'); - -var SERVICE_ADDRESS = 'vision.googleapis.com'; +'use strict'; -var DEFAULT_SERVICE_PORT = 443; +const gapicConfig = require('./image_annotator_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); -var CODE_GEN_NAME_VERSION = 'gapic/0.7.1'; - -/** - * The scopes needed to make gRPC calls to all of the methods defined in - * this service. - */ -var ALL_SCOPES = [ - 'https://www.googleapis.com/auth/cloud-platform' -]; +const VERSION = require('../../package.json').version; /** * Service that performs Google Cloud Vision API detection tasks over client * images, such as face, landmark, logo, label, and text detection. The * ImageAnnotator service returns detected entities from the images. * - * * @class + * @memberof v1 */ -function ImageAnnotatorClient(gaxGrpc, grpcClients, opts) { - opts = extend({ - servicePath: SERVICE_ADDRESS, - port: DEFAULT_SERVICE_PORT, - clientConfig: {} - }, opts); - - var googleApiClient = [ - 'gl-node/' + process.versions.node - ]; - if (opts.libName && opts.libVersion) { - googleApiClient.push(opts.libName + '/' + opts.libVersion); - } - googleApiClient.push( - CODE_GEN_NAME_VERSION, - 'gax/' + gax.version, - 'grpc/' + gaxGrpc.grpcVersion - ); - - var defaults = gaxGrpc.constructSettings( +class ImageAnnotatorClient { + /** + * Construct an instance of ImageAnnotatorClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * usaing a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option above is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.servicePath] - The domain name of the + * API remote host. + */ + constructor(opts) { + this._descriptors = {}; + + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + var gaxGrpc = gax.grpc(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; + + // Determine the client header string. + var clientHeader = [ + `gl-node/${process.version.node}`, + `grpc/${gaxGrpc.grpcVersion}`, + `gax/${gax.version}`, + `gapic/${VERSION}`, + ]; + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + + // Load the applicable protos. + var protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/vision/v1/image_annotator.proto' + ) + ); + + // Put together the default options sent with requests. + var defaults = gaxGrpc.constructSettings( 'google.cloud.vision.v1.ImageAnnotator', - configData, + gapicConfig, opts.clientConfig, - {'x-goog-api-client': googleApiClient.join(' ')}); - - var self = this; - - this.auth = gaxGrpc.auth; - var imageAnnotatorStub = gaxGrpc.createStub( - grpcClients.google.cloud.vision.v1.ImageAnnotator, - opts); - var imageAnnotatorStubMethods = [ - 'batchAnnotateImages' - ]; - imageAnnotatorStubMethods.forEach(function(methodName) { - self['_' + methodName] = gax.createApiCall( - imageAnnotatorStub.then(function(imageAnnotatorStub) { - return function() { - var args = Array.prototype.slice.call(arguments, 0); - return imageAnnotatorStub[methodName].apply(imageAnnotatorStub, args); - }; - }), - defaults[methodName], - null); - }); -} - - -/** - * Get the project ID used by this class. - * @param {function(Error, string)} callback - the callback to be called with - * the current project Id. - */ -ImageAnnotatorClient.prototype.getProjectId = function(callback) { - return this.auth.getProjectId(callback); -}; - -// Service calls - -/** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link AnnotateImageRequest} - * @param {Object=} options - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. - * @param {function(?Error, ?Object)=} callback - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * @return {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * var vision = require('@google-cloud/vision'); - * - * var client = vision.v1({ - * // optional auth parameters. - * }); - * - * var requests = []; - * client.batchAnnotateImages({requests: requests}).then(function(responses) { - * var response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(function(err) { - * console.error(err); - * }); - */ -ImageAnnotatorClient.prototype.batchAnnotateImages = function(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1.ImageAnnotator. + var imageAnnotatorStub = gaxGrpc.createStub( + protos.google.cloud.vision.v1.ImageAnnotator, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + var imageAnnotatorStubMethods = ['batchAnnotateImages']; + for (let methodName of imageAnnotatorStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + imageAnnotatorStub.then( + stub => + function() { + var args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + null + ); + } } - if (options === undefined) { - options = {}; + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; } - return this._batchAnnotateImages(request, options, callback); -}; + /** + * The port for this API service. + */ + static get port() { + return 443; + } -function ImageAnnotatorClientBuilder(gaxGrpc) { - if (!(this instanceof ImageAnnotatorClientBuilder)) { - return new ImageAnnotatorClientBuilder(gaxGrpc); + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; } - var imageAnnotatorClient = gaxGrpc.load([{ - root: require('google-proto-files')('..'), - file: 'google/cloud/vision/v1/image_annotator.proto' - }]); - extend(this, imageAnnotatorClient.google.cloud.vision.v1); + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId(callback) { + return this.auth.getProjectId(callback); + } + // ------------------- + // -- Service calls -- + // ------------------- /** - * Build a new instance of {@link ImageAnnotatorClient}. + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. * - * @param {Object=} opts - The optional parameters. - * @param {String=} opts.servicePath - * The domain name of the API remote host. - * @param {number=} opts.port - * The port on which to connect to the remote host. - * @param {grpc.ClientCredentials=} opts.sslCreds - * A ClientCredentials for use with an SSL-enabled channel. - * @param {Object=} opts.clientConfig - * The customized config to build the call settings. See - * {@link gax.constructSettings} for the format. + * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1.BatchAnnotateImagesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1.BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * var requests = []; + * client.batchAnnotateImages({requests: requests}) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); */ - this.imageAnnotatorClient = function(opts) { - return new ImageAnnotatorClient(gaxGrpc, imageAnnotatorClient, opts); - }; - extend(this.imageAnnotatorClient, ImageAnnotatorClient); + batchAnnotateImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.batchAnnotateImages(request, options, callback); + } } -module.exports = ImageAnnotatorClientBuilder; -module.exports.SERVICE_ADDRESS = SERVICE_ADDRESS; -module.exports.ALL_SCOPES = ALL_SCOPES; + +module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index df112c350a4..a41489d4fd3 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -1,34 +1,19 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ -'use strict'; - -var imageAnnotatorClient = require('./image_annotator_client'); -var gax = require('google-gax'); -var extend = require('extend'); +// Copyright 2017, Google LLC All rights reserved. +// +// 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. -function v1(options) { - options = extend({ - scopes: v1.ALL_SCOPES - }, options); - var gaxGrpc = gax.grpc(options); - return imageAnnotatorClient(gaxGrpc); -} +'use strict'; -v1.GAPIC_VERSION = '0.7.1'; -v1.SERVICE_ADDRESS = imageAnnotatorClient.SERVICE_ADDRESS; -v1.ALL_SCOPES = imageAnnotatorClient.ALL_SCOPES; +const ImageAnnotatorClient = require('./image_annotator_client'); -module.exports = v1; \ No newline at end of file +module.exports.ImageAnnotatorClient = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/system-test/.eslintrc.yml b/packages/google-cloud-vision/system-test/.eslintrc.yml new file mode 100644 index 00000000000..2e6882e46d2 --- /dev/null +++ b/packages/google-cloud-vision/system-test/.eslintrc.yml @@ -0,0 +1,6 @@ +--- +env: + mocha: true +rules: + node/no-unpublished-require: off + no-console: off diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index bccdf698932..ab12d91c40b 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -16,31 +16,30 @@ 'use strict'; -var assert = require('assert'); -var async = require('async'); -var fs = require('fs'); -var path = require('path'); -var Storage = require('@google-cloud/storage'); -var uuid = require('node-uuid'); +const assert = require('assert'); +const async = require('async'); +const fs = require('fs'); +const path = require('path'); +const Storage = require('@google-cloud/storage'); +const uuid = require('node-uuid'); -var env = require('../../../system-test/env.js'); -var Vision = require('../'); +const vision = require('../'); describe('Vision', function() { - var IMAGES = { + const IMAGES = Object.freeze({ document: path.join(__dirname, 'data/document.jpg'), logo: path.join(__dirname, 'data/logo.jpg'), rushmore: path.join(__dirname, 'data/rushmore.jpg'), text: path.join(__dirname, 'data/text.png'), - malformed: __filename - }; + malformed: __filename, + }); - var TESTS_PREFIX = 'gcloud-vision-test'; + const TESTS_PREFIX = 'gcloud-vision-test'; - var storage = new Storage(env); - var vision = new Vision(env); + let storage = new Storage(); + let client = new vision.v1.ImageAnnotatorClient(); - var bucket = storage.bucket(generateName()); + let bucket = storage.bucket(generateName()); before(function(done) { bucket.create(function(err) { @@ -54,62 +53,71 @@ describe('Vision', function() { }); after(function(done) { - storage.getBuckets({ - prefix: TESTS_PREFIX - }, function(err, buckets) { - if (err) { - done(err); - return; - } - - function deleteBucket(bucket, callback) { - bucket.deleteFiles(function(err) { - if (err) { - callback(err); - return; - } - - bucket.delete(callback); - }); + storage.getBuckets( + { + prefix: TESTS_PREFIX, + }, + function(err, buckets) { + if (err) { + done(err); + return; + } + + function deleteBucket(bucket, callback) { + bucket.deleteFiles(function(err) { + if (err) { + callback(err); + return; + } + + bucket.delete(callback); + }); + } + + async.each(buckets, deleteBucket, done); } - - async.each(buckets, deleteBucket, done); - }); + ); }); it('should detect from a URL', () => { var url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; - return vision.logoDetection({ - image: { - source: {imageUri: url} - } - }).then(responses => { - var response = responses[0]; - assert.deepEqual(response.logoAnnotations[0].description, 'Google'); - }); + return client + .logoDetection({ + image: { + source: {imageUri: url}, + }, + }) + .then(responses => { + var response = responses[0]; + assert.deepEqual(response.logoAnnotations[0].description, 'Google'); + }); }); it('should detect from a filename', () => { - return vision.logoDetection({ - image: { - source: {filename: IMAGES.logo} - }, - }).then(responses => { - var response = responses[0]; - assert.deepEqual(response.logoAnnotations[0].description, 'Google'); - }); + return client + .logoDetection({ + image: { + source: {filename: IMAGES.logo}, + }, + }) + .then(responses => { + var response = responses[0]; + assert.deepEqual(response.logoAnnotations[0].description, 'Google'); + }); }); it('should detect from a Buffer', () => { var buffer = fs.readFileSync(IMAGES.logo); - return vision.logoDetection({ - image: { - content: buffer - } - }).then(responses => { - var response = responses[0]; - assert.deepEqual(response.logoAnnotations[0].description, 'Google'); - }); + return client + .logoDetection({ + image: { + content: buffer, + }, + }) + .then(responses => { + var response = responses[0]; + assert.deepEqual(response.logoAnnotations[0].description, 'Google'); + }); }); describe('single image', () => { @@ -119,15 +127,17 @@ describe('Vision', function() { {type: 'SAFE_SEARCH_DETECTION'}, ]; it('should perform multiple detections', () => { - return vision.annotateImage({ - features: TYPES, - image: {source: {filename: IMAGES.rushmore}}, - }).then(responses => { - var response = responses[0]; - assert(response.faceAnnotations.length >= 1); - assert(response.labelAnnotations.length >= 1); - assert(response.safeSearchAnnotation !== null); - }); + return client + .annotateImage({ + features: TYPES, + image: {source: {filename: IMAGES.rushmore}}, + }) + .then(responses => { + var response = responses[0]; + assert(response.faceAnnotations.length >= 1); + assert(response.labelAnnotations.length >= 1); + assert(response.safeSearchAnnotation !== null); + }); }); }); diff --git a/packages/google-cloud-vision/test/.eslintrc.yml b/packages/google-cloud-vision/test/.eslintrc.yml new file mode 100644 index 00000000000..73f7bbc946f --- /dev/null +++ b/packages/google-cloud-vision/test/.eslintrc.yml @@ -0,0 +1,5 @@ +--- +env: + mocha: true +rules: + node/no-unpublished-require: off diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 1408a392924..6fd4b62478c 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -1,71 +1,84 @@ -/* - * Copyright 2017, Google Inc. All rights reserved. - * - * 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. - */ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + 'use strict'; -var assert = require('assert'); -var vision = require('../src'); +const assert = require('assert'); + +const visionModule = require('../src'); var FAKE_STATUS_CODE = 1; var error = new Error(); error.code = FAKE_STATUS_CODE; -describe('ImageAnnotatorClient', function() { - describe('batchAnnotateImages', function() { - it('invokes batchAnnotateImages without error', function(done) { - var client = vision.v1(); +describe('ImageAnnotatorClient', () => { + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + var client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); // Mock request var requests = []; var request = { - requests : requests + requests: requests, }; // Mock response var expectedResponse = {}; // Mock Grpc layer - client._batchAnnotateImages = mockSimpleGrpcMethod(request, expectedResponse); + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse + ); - client.batchAnnotateImages(request, function(err, response) { + client.batchAnnotateImages(request, (err, response) => { assert.ifError(err); assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes batchAnnotateImages with error', function(done) { - var client = vision.v1(); + it('invokes batchAnnotateImages with error', done => { + var client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); // Mock request var requests = []; var request = { - requests : requests + requests: requests, }; // Mock Grpc layer - client._batchAnnotateImages = mockSimpleGrpcMethod(request, null, error); + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); - client.batchAnnotateImages(request, function(err, response) { + client.batchAnnotateImages(request, (err, response) => { assert(err instanceof Error); assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); done(); }); }); }); - }); function mockSimpleGrpcMethod(expectedRequest, response, error) { diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index ca6bf48f813..26c13bc4d4c 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -16,16 +16,21 @@ 'use strict'; -var assert = require('assert'); -var fs = require('fs'); -var is = require('is'); -var sinon = require('sinon'); - -var Vision = require('../'); +const assert = require('assert'); +const Buffer = require('safe-buffer').Buffer; +const fs = require('fs'); +const is = require('is'); +const sinon = require('sinon'); +const vision = require('../'); describe('Vision helper methods', () => { - var sandbox = sinon.sandbox.create(); + const CREDENTIALS = Object.freeze({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + let sandbox = sinon.sandbox.create(); afterEach(() => { sandbox.restore(); @@ -33,20 +38,24 @@ describe('Vision helper methods', () => { describe('annotateImage', () => { it('calls batchAnnotateImages correctly', () => { - var vision = Vision.v1(); - var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); - batchAnnotate.callsArgWith(2, undefined, {responses: [{ - logoAnnotations: [{description: 'Google'}], - }]}); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + logoAnnotations: [{description: 'Google'}], + }, + ], + }); // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - var request = { - image: {content: new Buffer('bogus==')}, + let request = { + image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; - return vision.annotateImage(request).then(r => { - var response = r[0]; + return client.annotateImage(request).then(r => { + let response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepEqual(response, { @@ -56,27 +65,31 @@ describe('Vision helper methods', () => { // Inspect the calls to batchAnnotateImages and ensure they matched // the expected signature. assert(batchAnnotate.callCount === 1); - assert(batchAnnotate.calledWith([request])); + assert(batchAnnotate.calledWith({requests: [request]})); }); }); it('understands buffers', () => { - var vision = Vision.v1(); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out the batch annotation method. - var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); - batchAnnotate.callsArgWith(2, undefined, {responses: [{ - logoAnnotations: [{description: 'Google'}], - }]}); + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + logoAnnotations: [{description: 'Google'}], + }, + ], + }); // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - var request = { - image: new Buffer('fakeImage'), + let request = { + image: Buffer.from('fakeImage'), features: {type: ['LOGO_DETECTION']}, }; - return vision.annotateImage(request).then(r => { - var response = r[0]; + return client.annotateImage(request).then(r => { + let response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepEqual(response, { @@ -90,35 +103,39 @@ describe('Vision helper methods', () => { image: {content: 'ZmFrZUltYWdl'}, features: {type: ['LOGO_DETECTION']}, }); - assert(batchAnnotate.calledWith([request])); + assert(batchAnnotate.calledWith({requests: [request]})); }); }); it('understands filenames', () => { - var vision = Vision.v1(); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out `fs.readFile` and return a bogus image object. // This allows us to test filename detection. - var readFile = sandbox.stub(fs, 'readFile'); - readFile.withArgs('image.jpg').callsArgWith(2, null, - new Buffer('fakeImage') - ); + let readFile = sandbox.stub(fs, 'readFile'); + readFile + .withArgs('image.jpg') + .callsArgWith(2, null, Buffer.from('fakeImage')); readFile.callThrough(); // Stub out the batch annotation method as before. - var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); - batchAnnotate.callsArgWith(2, undefined, {responses: [{ - logoAnnotations: [{description: 'Google'}], - }]}); + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + logoAnnotations: [{description: 'Google'}], + }, + ], + }); // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - var request = { + let request = { image: {source: {filename: 'image.jpg'}}, features: {type: ['LOGO_DETECTION']}, }; - return vision.annotateImage(request).then(r => { - var response = r[0]; + return client.annotateImage(request).then(r => { + let response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepEqual(response, { @@ -137,45 +154,52 @@ describe('Vision helper methods', () => { image: {content: 'ZmFrZUltYWdl'}, features: {type: ['LOGO_DETECTION']}, }); - assert(batchAnnotate.calledWith([request])); + assert(batchAnnotate.calledWith({requests: [request]})); }); }); it('propagates the error if a file is not found', () => { - var vision = Vision.v1(); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out `fs.readFile` and return a bogus image object. // This allows us to test filename detection. - var readFile = sandbox.stub(fs, 'readFile'); + let readFile = sandbox.stub(fs, 'readFile'); readFile.withArgs('image.jpg').callsArgWith(2, {error: 404}); readFile.callThrough(); // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - var request = { + let request = { image: {source: {filename: 'image.jpg'}}, features: {type: ['LOGO_DETECTION']}, }; - return vision.annotateImage(request).then(assert.fail).catch(err => { - assert.deepEqual(err, {error: 404}); - }); + return client + .annotateImage(request) + .then(assert.fail) + .catch(err => { + assert.deepEqual(err, {error: 404}); + }); }); it('retains call options sent', () => { - var vision = Vision.v1(); - var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); - batchAnnotate.callsArgWith(2, undefined, {responses: [{ - logoAnnotations: [{description: 'Google'}], - }]}); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + logoAnnotations: [{description: 'Google'}], + }, + ], + }); // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. var request = { - image: {content: new Buffer('bogus==')}, + image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; - return vision.annotateImage(request, {foo: 'bar'}).then(r => { - var response = r[0]; + return client.annotateImage(request, {foo: 'bar'}).then(r => { + let response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepEqual(response, { @@ -185,24 +209,28 @@ describe('Vision helper methods', () => { // Inspect the calls to batchAnnotateImages and ensure they matched // the expected signature. assert(batchAnnotate.callCount === 1); - assert(batchAnnotate.calledWith([request], {foo: 'bar'})); + assert(batchAnnotate.calledWith({requests: [request]}, {foo: 'bar'})); }); }); it('fires a callback if provided', done => { - var vision = Vision.v1(); - var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); - batchAnnotate.callsArgWith(2, undefined, {responses: [{ - logoAnnotations: [{description: 'Google'}], - }]}); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + logoAnnotations: [{description: 'Google'}], + }, + ], + }); // Ensure that the annotateImage method does *not* pass the callback // on to batchAnnotateImages, but rather handles it itself. - var request = { - image: {content: new Buffer('bogus==')}, + let request = { + image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; - vision.annotateImage(request, function(err, response) { + client.annotateImage(request, function(err, response) { // Establish that we got the expected response. assert(is.undefined(err)); assert.deepEqual(response, { @@ -212,57 +240,64 @@ describe('Vision helper methods', () => { // Inspect the calls to batchAnnotate and ensure that they match // what we expected. assert(batchAnnotate.callCount === 1); - assert(batchAnnotate.calledWith([request], undefined)); + assert(batchAnnotate.calledWith({requests: [request]}, undefined)); done(); }); }); it('fires the callback on error', () => { - var vision = Vision.v1(); - var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, {message: 'Bad things!'}); // Ensure that the annotateImage method does *not* pass the callback // on to batchAnnotateImages, but rather handles it itself. - var request = { - image: {content: new Buffer('bogus==')}, + let request = { + image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; - return vision.annotateImage(request).catch(err => { + return client.annotateImage(request).catch(err => { // Establish that we got the expected response. assert.deepEqual(err, {message: 'Bad things!'}); // Inspect the calls to batchAnnotate and ensure that they match // what we expected. assert(batchAnnotate.callCount === 1); - assert(batchAnnotate.calledWith([request], undefined)); + assert(batchAnnotate.calledWith({requests: [request]}, undefined)); }); }); it('requires an image and throws without one', () => { - var vision = Vision.v1(); - var request = {}; - return vision.annotateImage(request).then(assert.fail).catch(err => { - var expected = 'Attempted to call `annotateImage` with no image.'; - assert(err.message === expected); - }); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + let request = {}; + return client + .annotateImage(request) + .then(assert.fail) + .catch(err => { + let expected = 'Attempted to call `annotateImage` with no image.'; + assert(err.message === expected); + }); }); }); describe('single-feature methods', () => { it('calls annotateImage with the correct feature', () => { - var vision = Vision.v1(); - var annotate = sandbox.spy(vision, 'annotateImage'); - var batchAnnotate = sandbox.stub(vision, 'batchAnnotateImages'); - batchAnnotate.callsArgWith(2, undefined, {responses: [{ - logoAnnotations: [{description: 'Google'}], - }]}); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + let annotate = sandbox.spy(client, 'annotateImage'); + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + logoAnnotations: [{description: 'Google'}], + }, + ], + }); // Ensure that the annotateImage method does *not* pass the callback // on to batchAnnotateImages, but rather handles it itself. - var imageRequest = {image: {content: new Buffer('bogus==')}}; - return vision.logoDetection(Object.assign({}, imageRequest)).then(r => { - var response = r[0]; + let imageRequest = {image: {content: Buffer.from('bogus==')}}; + return client.logoDetection(Object.assign({}, imageRequest)).then(r => { + let response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepEqual(response, { @@ -272,26 +307,33 @@ describe('Vision helper methods', () => { // Inspect the calls to annotateImage and batchAnnotateImages and // ensure they matched the expected signature. assert(annotate.callCount === 1); - assert(annotate.calledWith({ - features: [{type: 3}], - image: imageRequest.image, - })); + assert( + annotate.calledWith({ + features: [{type: 3}], + image: imageRequest.image, + }) + ); assert(batchAnnotate.callCount === 1); - assert(batchAnnotate.calledWith( - [{image: imageRequest.image, features: [{type: 3}]}] - )); + assert( + batchAnnotate.calledWith({ + requests: [{image: imageRequest.image, features: [{type: 3}]}], + }) + ); }); }); it('throws an exception if conflicting features are given', () => { - var vision = Vision.v1(); - var imageRequest = { - image: {content: new Buffer('bogus==')}, + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + let imageRequest = { + image: {content: Buffer.from('bogus==')}, features: [{type: 0}], }; - vision.logoDetection(imageRequest).then(assert.fail).catch(ex => { - assert(ex.message.indexOf('Setting explicit') > -1); - }); + client + .logoDetection(imageRequest) + .then(assert.fail) + .catch(ex => { + assert(ex.message.indexOf('Setting explicit') > -1); + }); }); }); }); diff --git a/packages/google-cloud-vision/test/index.test.js b/packages/google-cloud-vision/test/index.test.js index 197c058fe95..bb7db6819a3 100644 --- a/packages/google-cloud-vision/test/index.test.js +++ b/packages/google-cloud-vision/test/index.test.js @@ -16,35 +16,39 @@ 'use strict'; -var assert = require('assert'); - -var Vision = require('../'); +const assert = require('assert'); +const vision = require('../'); describe('Vision', () => { + const CREDENTIALS = Object.freeze({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + describe('v1', () => { it('returns a v1 GAPIC augmented with helpers', () => { - var vision = Vision.v1(); + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Assert that the GAPIC v1 methods are present on the object. - assert(vision.batchAnnotateImages instanceof Function); + assert(client.batchAnnotateImages instanceof Function); // Assert that the manual single-image helper method is present // on the object. - assert(vision.annotateImage instanceof Function); + assert(client.annotateImage instanceof Function); // Assert that some of the expected single-feature helper methods // are present on the object. - assert(vision.faceDetection instanceof Function); - assert(vision.landmarkDetection instanceof Function); - assert(vision.logoDetection instanceof Function); - assert(vision.labelDetection instanceof Function); - assert(vision.textDetection instanceof Function); - assert(vision.documentTextDetection instanceof Function); - assert(vision.safeSearchDetection instanceof Function); - assert(vision.imageProperties instanceof Function); - assert(vision.cropHints instanceof Function); - assert(vision.webDetection instanceof Function); + assert(client.faceDetection instanceof Function); + assert(client.landmarkDetection instanceof Function); + assert(client.logoDetection instanceof Function); + assert(client.labelDetection instanceof Function); + assert(client.textDetection instanceof Function); + assert(client.documentTextDetection instanceof Function); + assert(client.safeSearchDetection instanceof Function); + assert(client.imageProperties instanceof Function); + assert(client.cropHints instanceof Function); + assert(client.webDetection instanceof Function); }); }); }); From 3eaa0feda7eb08ae8c5d286e65ea3b328565af98 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Tue, 28 Nov 2017 13:14:53 -0800 Subject: [PATCH 108/588] Coerce requests from string or buffer. (#5) --- .../google-cloud-vision/samples/quickstart.js | 14 +- packages/google-cloud-vision/src/helpers.js | 179 +++++++++++++----- .../google-cloud-vision/system-test/vision.js | 42 ++-- .../google-cloud-vision/test/helpers.test.js | 158 +++++++++++++++- 4 files changed, 293 insertions(+), 100 deletions(-) diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index 79e265f0965..9afcff3dcc0 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -22,21 +22,9 @@ const vision = require('@google-cloud/vision'); // Creates a client const client = new vision.ImageAnnotatorClient(); -// The name of the image file to annotate -const fileName = './resources/wakeupcat.jpg'; - -// Prepare the request object -const request = { - image: { - source: { - filename: fileName, - }, - }, -}; - // Performs label detection on the image file client - .labelDetection(request) + .labelDetection('./resources/wakeupcat.jpg') .then(results => { const labels = results[0].labelAnnotations; diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index 4af31eb8740..fbf37374a46 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -24,37 +24,71 @@ const promisify = require('@google-cloud/common').util.promisify; const gax = require('google-gax'); /*! - * Find a given image and fire a callback with the appropriate image structure. + * Convert non-object request forms into a correctly-formatted object. * - * @param {object} image An object representing what is known about the - * image. + * @param {object|string|Buffer} request An object representing an + * AnnotateImageRequest. May also be a string representing the path + * (filename or URL) to the image, or a buffer representing the image itself. + * + * @returns An object representing an AnnotateImageRequest. + */ +let _requestToObject = request => { + if (is.string(request)) { + // Is this a URL or a local file? + // Guess based on what the string looks like, and build the full + // request object in the correct format. + if (request.indexOf('://') === -1 || request.indexOf('file://') === 0) { + request = {image: {source: {filename: request}}}; + } else { + request = {image: {source: {imageUri: request}}}; + } + } else if (Buffer.isBuffer(request)) { + // Drop the buffer one level lower; it will get dealt with later + // in the function. This allows sending and {image: } to + // both work identically. + request = {image: request}; + } + return request; +}; + +/*! + * Coerce several nicer iterations of "how to specify an image" to the + * full sturcture expected by the Vision API. + * + * @param {object} request An object representing an AnnotateImageRequest. + * It may include `image.source.filename` or a buffer passed to + * `image.content`, which are coerced into their canonical forms by this + * function. * @param {function} callback The callback to run. */ -var coerceImage = (image, callback) => { +let _coerceRequest = (request, callback) => { + // At this point, request must be an object with an `image` key; if not, + // it is an error. If there is no image, throw an exception. + if (!is.object(request) || is.undefined(request.image)) { + return callback(new Error('No image present.')); + } + // If this is a buffer, read it and send the object // that the Vision API expects. - if (Buffer.isBuffer(image)) { - callback(null, { - content: image.toString('base64'), - }); - return; + if (Buffer.isBuffer(request.image)) { + request.image = {content: request.image.toString('base64')}; } - // File exists on disk. - if (image.source && image.source.filename) { - fs.readFile(image.source.filename, {encoding: 'base64'}, (err, blob) => { + // If the file is specified as a filename and exists on disk, read it + // and coerce it into the base64 content. + if (request.image.source && request.image.source.filename) { + fs.readFile(request.image.source.filename, (err, blob) => { if (err) { callback(err); return; } - callback(null, {content: blob.toString('base64')}); + request.image.content = blob.toString('base64'); + delete request.image.source; + return callback(null, request); }); - return; + } else { + return callback(null, request); } - - // No other options were relevant; return the image with no modification. - callback(null, image); - return; }; /*! @@ -68,12 +102,29 @@ var coerceImage = (image, callback) => { * asking for the single feature annotation. */ var _createSingleFeatureMethod = featureValue => { - return function(annotateImageRequest, callOptions) { + return function(annotateImageRequest, callOptions, callback) { + // Sanity check: If we got a string or buffer, we need this to be + // in object form now, so we can tack on the features list. + // + // Do the minimum required conversion, which can also be guaranteed to + // be synchronous (e.g. no file loading yet; that is handled by + // annotateImage later. + annotateImageRequest = _requestToObject(annotateImageRequest); + + // If a callback was provided and options were skipped, normalize + // the argument names. + if (is.undefined(callback) && is.function(callOptions)) { + callback = callOptions; + callOptions = undefined; + } + + // Add the feature to the request. annotateImageRequest.features = annotateImageRequest.features || [ { type: featureValue, }, ]; + // If the user submitted explicit features that do not line up with // the precise method called, throw an exception. for (let feature of annotateImageRequest.features) { @@ -84,8 +135,9 @@ var _createSingleFeatureMethod = featureValue => { ); } } + // Call the underlying #annotateImage method. - return this.annotateImage(annotateImageRequest, callOptions); + return this.annotateImage(annotateImageRequest, callOptions, callback); }; }; @@ -108,8 +160,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#annotateImage - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -163,21 +218,15 @@ module.exports = apiVersion => { callOptions = undefined; } - // If there is no image, throw an exception. - if (is.undefined(request.image)) { - throw new Error('Attempted to call `annotateImage` with no image.'); - } - // If we got a filename for the image, open the file and transform // it to content. - return coerceImage(request.image, (err, image) => { + return _coerceRequest(request, (err, req) => { if (err) { return callback(err); } - request.image = image; // Call the GAPIC batch annotation function. - let requests = {requests: [request]}; + let requests = {requests: [req]}; return this.batchAnnotateImages(requests, callOptions, (err, r) => { // If there is an error, handle it. if (err) { @@ -212,8 +261,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#faceDetection - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -266,8 +318,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#landmarkDetection - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -320,8 +375,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#logoDetection - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -365,8 +423,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#labelDetection - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -410,8 +471,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#textDetection - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -455,8 +519,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#documentTextDetection - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -500,8 +567,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#safeSearchDetection - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -545,8 +615,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#imageProperties - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -590,8 +663,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#cropHints - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * @@ -635,8 +711,11 @@ module.exports = apiVersion => { * @see google.cloud.vision.v1.AnnotateImageRequest * * @method v1.ImageAnnotatorClient#webDetection - * @param {object} request A representation of the request being sent to the - * Vision API. This is an {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). * @param {object} request.image A dictionary-like object representing the * image. This should have a single key (`source`, `content`). * diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index ab12d91c40b..2f7e84b66c1 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -81,43 +81,25 @@ describe('Vision', function() { it('should detect from a URL', () => { var url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; - return client - .logoDetection({ - image: { - source: {imageUri: url}, - }, - }) - .then(responses => { - var response = responses[0]; - assert.deepEqual(response.logoAnnotations[0].description, 'Google'); - }); + return client.logoDetection(url).then(responses => { + var response = responses[0]; + assert.deepEqual(response.logoAnnotations[0].description, 'Google'); + }); }); it('should detect from a filename', () => { - return client - .logoDetection({ - image: { - source: {filename: IMAGES.logo}, - }, - }) - .then(responses => { - var response = responses[0]; - assert.deepEqual(response.logoAnnotations[0].description, 'Google'); - }); + return client.logoDetection(IMAGES.logo).then(responses => { + var response = responses[0]; + assert.deepEqual(response.logoAnnotations[0].description, 'Google'); + }); }); it('should detect from a Buffer', () => { var buffer = fs.readFileSync(IMAGES.logo); - return client - .logoDetection({ - image: { - content: buffer, - }, - }) - .then(responses => { - var response = responses[0]; - assert.deepEqual(response.logoAnnotations[0].description, 'Google'); - }); + return client.logoDetection(buffer).then(responses => { + var response = responses[0]; + assert.deepEqual(response.logoAnnotations[0].description, 'Google'); + }); }); describe('single image', () => { diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index 26c13bc4d4c..0dada9c171c 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -69,7 +69,7 @@ describe('Vision helper methods', () => { }); }); - it('understands buffers', () => { + it('understands buffers in a request object', () => { let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out the batch annotation method. @@ -115,7 +115,7 @@ describe('Vision helper methods', () => { let readFile = sandbox.stub(fs, 'readFile'); readFile .withArgs('image.jpg') - .callsArgWith(2, null, Buffer.from('fakeImage')); + .callsArgWith(1, null, Buffer.from('fakeImage')); readFile.callThrough(); // Stub out the batch annotation method as before. @@ -164,7 +164,7 @@ describe('Vision helper methods', () => { // Stub out `fs.readFile` and return a bogus image object. // This allows us to test filename detection. let readFile = sandbox.stub(fs, 'readFile'); - readFile.withArgs('image.jpg').callsArgWith(2, {error: 404}); + readFile.withArgs('image.jpg').callsArgWith(1, {error: 404}); readFile.callThrough(); // Ensure that the annotateImage method arrifies the request and @@ -274,14 +274,13 @@ describe('Vision helper methods', () => { .annotateImage(request) .then(assert.fail) .catch(err => { - let expected = 'Attempted to call `annotateImage` with no image.'; - assert(err.message === expected); + assert(err.message === 'No image present.'); }); }); }); describe('single-feature methods', () => { - it('calls annotateImage with the correct feature', () => { + it('call `annotateImage` with the correct feature', () => { let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); let annotate = sandbox.spy(client, 'annotateImage'); let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); @@ -322,7 +321,152 @@ describe('Vision helper methods', () => { }); }); - it('throws an exception if conflicting features are given', () => { + it('accept a URL as a string', () => { + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + + // Stub out the batch annotation method. + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + logoAnnotations: [{description: 'Google'}], + }, + ], + }); + + // Call a request to a single-feature method using a URL. + return client.logoDetection('https://goo.gl/logo.png').then(r => { + let response = r[0]; + + // Ensure we got the slice of the response that we expected. + assert.deepEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert( + batchAnnotate.calledWith({ + requests: [ + { + image: {source: {imageUri: 'https://goo.gl/logo.png'}}, + features: [{type: 3}], + }, + ], + }) + ); + }); + }); + + it('accept a filename as a string', () => { + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + + // Stub out the batch annotation method. + let annotate = sandbox.stub(client, 'annotateImage'); + annotate.callsArgWith(2, undefined, { + logoAnnotations: [{description: 'Google'}], + }); + + // Call a request to a single-feature method using a URL. + return client.logoDetection('/path/to/logo.png').then(response => { + // Ensure we got the slice of the response that we expected. + assert.deepEqual(response, [ + { + logoAnnotations: [{description: 'Google'}], + }, + ]); + + // Inspect the calls to annotateImages and ensure they matched + // the expected signature. + assert(annotate.callCount === 1); + assert( + annotate.calledWith({ + image: {source: {filename: '/path/to/logo.png'}}, + features: [{type: 3}], + }) + ); + }); + }); + + it('understand a buffer sent directly', () => { + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + + // Stub out the batch annotation method. + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + logoAnnotations: [{description: 'Google'}], + }, + ], + }); + + // Ensure that the annotateImage method arrifies the request and + // passes it through to the batch annotation method. + return client.logoDetection(Buffer.from('fakeImage')).then(r => { + let response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert( + batchAnnotate.calledWith({ + requests: [ + { + image: {content: 'ZmFrZUltYWdl'}, + features: [{type: 3}], + }, + ], + }) + ); + }); + }); + + it('handle being sent call options', () => { + let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + let opts = {foo: 'bar'}; + + // Stub out the batchAnnotateImages method as usual. + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + logoAnnotations: [{description: 'Google'}], + }, + ], + }); + + // Perform the request. Send `opts` as an explicit second argument + // to ensure that sending call options works appropriately. + return client.logoDetection(Buffer.from('fakeImage'), opts).then(r => { + let response = r[0]; + assert.deepEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert( + batchAnnotate.calledWith({ + requests: [ + { + image: {content: 'ZmFrZUltYWdl'}, + features: [{type: 3}], + }, + ], + }) + ); + }); + }); + + it('throw an exception if conflicting features are given', () => { let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); let imageRequest = { image: {content: Buffer.from('bogus==')}, From 3e3bfe46cee0f880d7751c06b260f5cd314a8857 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Tue, 28 Nov 2017 13:41:17 -0800 Subject: [PATCH 109/588] Version bump to 0.13.0 (#7) --- packages/google-cloud-vision/README.md | 14 +------------- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 9646eba0bf2..50f9d32e591 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -69,21 +69,9 @@ const vision = require('@google-cloud/vision'); // Creates a client const client = new vision.ImageAnnotatorClient(); -// The name of the image file to annotate -const fileName = './resources/wakeupcat.jpg'; - -// Prepare the request object -const request = { - image: { - source: { - filename: fileName, - }, - }, -}; - // Performs label detection on the image file client - .labelDetection(request) + .labelDetection('./resources/wakeupcat.jpg') .then(results => { const labels = results[0].labelAnnotations; diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 65a2fb60c66..7d9e994bbbf 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.12.0", + "version": "0.13.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index b61683f51e8..371adc20b8b 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@google-cloud/storage": "1.4.0", - "@google-cloud/vision": "0.12.0", + "@google-cloud/vision": "0.13.0", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", From 9858bdb4f9059cdfb31e7ceebe4bd1fc0d31b212 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Tue, 5 Dec 2017 13:06:58 -0800 Subject: [PATCH 110/588] Add the v1p1beta1 endpoint. (#11) --- .../.cloud-repo-tools.json | 7 + packages/google-cloud-vision/CONTRIBUTORS | 1 + packages/google-cloud-vision/README.md | 1 + packages/google-cloud-vision/package.json | 1 + .../cloud/vision/v1p1beta1/geometry.proto | 53 + .../vision/v1p1beta1/image_annotator.proto | 591 +++++++++++ .../vision/v1p1beta1/text_annotation.proto | 252 +++++ .../vision/v1p1beta1/web_detection.proto | 104 ++ .../google-cloud-vision/samples/README.md | 35 + packages/google-cloud-vision/src/index.js | 11 + .../cloud/vision/v1p1beta1/doc_geometry.js | 72 ++ .../vision/v1p1beta1/doc_image_annotator.js | 958 ++++++++++++++++++ .../vision/v1p1beta1/doc_text_annotation.js | 386 +++++++ .../vision/v1p1beta1/doc_web_detection.js | 151 +++ .../v1p1beta1/doc/google/protobuf/doc_any.js | 131 +++ .../doc/google/protobuf/doc_wrappers.js | 160 +++ .../v1p1beta1/doc/google/rpc/doc_status.js | 92 ++ .../v1p1beta1/doc/google/type/doc_color.js | 164 +++ .../v1p1beta1/doc/google/type/doc_latlng.js | 71 ++ .../src/v1p1beta1/image_annotator_client.js | 226 +++++ .../image_annotator_client_config.json | 31 + .../src/v1p1beta1/index.js | 19 + .../test/gapic-v1p1beta1.js | 95 ++ 23 files changed, 3612 insertions(+) create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/geometry.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/text_annotation.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/web_detection.proto create mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js create mode 100644 packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json create mode 100644 packages/google-cloud-vision/src/v1p1beta1/index.js create mode 100644 packages/google-cloud-vision/test/gapic-v1p1beta1.js diff --git a/packages/google-cloud-vision/.cloud-repo-tools.json b/packages/google-cloud-vision/.cloud-repo-tools.json index 354f8b8dacb..0244ee6c2cd 100644 --- a/packages/google-cloud-vision/.cloud-repo-tools.json +++ b/packages/google-cloud-vision/.cloud-repo-tools.json @@ -11,6 +11,13 @@ "file": "detect.js", "docs_link": "https://cloud.google.com/vision/docs", "usage": "node detect.js --help" + }, + { + "id": "detect.v1p1beta1.js", + "name": "Detection samples for Beta API", + "file": "detect.v1p1beta1.js", + "docs_link": "https://cloud.google.com/vision/docs", + "usage": "node detect.v1p1beta1.js --help" } ] } diff --git a/packages/google-cloud-vision/CONTRIBUTORS b/packages/google-cloud-vision/CONTRIBUTORS index caefac6e083..96b20b806d0 100644 --- a/packages/google-cloud-vision/CONTRIBUTORS +++ b/packages/google-cloud-vision/CONTRIBUTORS @@ -15,4 +15,5 @@ Song Wang Stephen Sawchuk Tim Swast calibr +Rebecca Taylor rtw diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 50f9d32e591..d04cca858d4 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -91,6 +91,7 @@ has instructions for running the samples. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | | Detection samples | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) | +| Detection samples for Beta API | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p1beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) | The [Vision API Node.js Client API Reference][client-docs] documentation also contains samples. diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 7d9e994bbbf..e2a4d7b2d3c 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,6 +41,7 @@ "Stephen Sawchuk ", "Tim Swast ", "calibr ", + "Rebecca Taylor ", "rtw " ], "scripts": { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/geometry.proto new file mode 100644 index 00000000000..6d46d9c342e --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/geometry.proto @@ -0,0 +1,53 @@ +// Copyright 2017 Google Inc. +// +// 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.cloud.vision.v1p1beta1; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p1beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "GeometryProto"; +option java_package = "com.google.cloud.vision.v1p1beta1"; + +// A vertex represents a 2D point in the image. +// NOTE: the vertex coordinates are in the same scale as the original image. +message Vertex { + // X coordinate. + int32 x = 1; + + // Y coordinate. + int32 y = 2; +} + +// A bounding polygon for the detected image annotation. +message BoundingPoly { + // The bounding polygon vertices. + repeated Vertex vertices = 1; +} + +// A 3D position in the image, used primarily for Face detection landmarks. +// A valid Position must have both x and y coordinates. +// The position coordinates are in the same scale as the original image. +message Position { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; + + // Z coordinate (or depth). + float z = 3; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto new file mode 100644 index 00000000000..73b8db853aa --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto @@ -0,0 +1,591 @@ +// Copyright 2017 Google Inc. +// +// 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.cloud.vision.v1p1beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p1beta1/geometry.proto"; +import "google/cloud/vision/v1p1beta1/text_annotation.proto"; +import "google/cloud/vision/v1p1beta1/web_detection.proto"; +import "google/rpc/status.proto"; +import "google/type/color.proto"; +import "google/type/latlng.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p1beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ImageAnnotatorProto"; +option java_package = "com.google.cloud.vision.v1p1beta1"; + +// Service that performs Google Cloud Vision API detection tasks over client +// images, such as face, landmark, logo, label, and text detection. The +// ImageAnnotator service returns detected entities from the images. +service ImageAnnotator { + // Run image detection and annotation for a batch of images. + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) + returns (BatchAnnotateImagesResponse) { + option (google.api.http) = { + post: "/v1p1beta1/images:annotate" + body: "*" + }; + } +} + +// Users describe the type of Google Cloud Vision API tasks to perform over +// images by using *Feature*s. Each Feature indicates a type of image +// detection task to perform. Features encode the Cloud Vision API +// vertical to operate on and the number of top-scoring results to return. +message Feature { + // Type of image feature. + enum Type { + // Unspecified feature type. + TYPE_UNSPECIFIED = 0; + + // Run face detection. + FACE_DETECTION = 1; + + // Run landmark detection. + LANDMARK_DETECTION = 2; + + // Run logo detection. + LOGO_DETECTION = 3; + + // Run label detection. + LABEL_DETECTION = 4; + + // Run OCR. + TEXT_DETECTION = 5; + + // Run dense text document OCR. Takes precedence when both + // DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present. + DOCUMENT_TEXT_DETECTION = 11; + + // Run computer vision models to compute image safe-search properties. + SAFE_SEARCH_DETECTION = 6; + + // Compute a set of image properties, such as the image's dominant colors. + IMAGE_PROPERTIES = 7; + + // Run crop hints. + CROP_HINTS = 9; + + // Run web detection. + WEB_DETECTION = 10; + } + + // The feature type. + Type type = 1; + + // Maximum number of results of this type. + int32 max_results = 2; + + // Model to use for the feature. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; +} + +// External image source (Google Cloud Storage image location). +message ImageSource { + // NOTE: For new code `image_uri` below is preferred. + // Google Cloud Storage image URI, which must be in the following form: + // `gs://bucket_name/object_name` (for details, see + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris)). + // NOTE: Cloud Storage object versioning is not supported. + string gcs_image_uri = 1; + + // Image URI which supports: + // 1) Google Cloud Storage image URI, which must be in the following form: + // `gs://bucket_name/object_name` (for details, see + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris)). + // NOTE: Cloud Storage object versioning is not supported. + // 2) Publicly accessible image HTTP/HTTPS URL. + // This is preferred over the legacy `gcs_image_uri` above. When both + // `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + // precedence. + string image_uri = 2; +} + +// Client image to perform Google Cloud Vision API tasks over. +message Image { + // Image content, represented as a stream of bytes. + // Note: as with all `bytes` fields, protobuffers use a pure binary + // representation, whereas JSON representations use base64. + bytes content = 1; + + // Google Cloud Storage image location. If both `content` and `source` + // are provided for an image, `content` takes precedence and is + // used to perform the image annotation request. + ImageSource source = 2; +} + +// A face annotation object contains the results of face detection. +message FaceAnnotation { + // A face-specific landmark (for example, a face feature). + message Landmark { + // Face landmark (feature) type. + // Left and right are defined from the vantage of the viewer of the image + // without considering mirror projections typical of photos. So, `LEFT_EYE`, + // typically, is the person's right eye. + enum Type { + // Unknown face landmark detected. Should not be filled. + UNKNOWN_LANDMARK = 0; + + // Left eye. + LEFT_EYE = 1; + + // Right eye. + RIGHT_EYE = 2; + + // Left of left eyebrow. + LEFT_OF_LEFT_EYEBROW = 3; + + // Right of left eyebrow. + RIGHT_OF_LEFT_EYEBROW = 4; + + // Left of right eyebrow. + LEFT_OF_RIGHT_EYEBROW = 5; + + // Right of right eyebrow. + RIGHT_OF_RIGHT_EYEBROW = 6; + + // Midpoint between eyes. + MIDPOINT_BETWEEN_EYES = 7; + + // Nose tip. + NOSE_TIP = 8; + + // Upper lip. + UPPER_LIP = 9; + + // Lower lip. + LOWER_LIP = 10; + + // Mouth left. + MOUTH_LEFT = 11; + + // Mouth right. + MOUTH_RIGHT = 12; + + // Mouth center. + MOUTH_CENTER = 13; + + // Nose, bottom right. + NOSE_BOTTOM_RIGHT = 14; + + // Nose, bottom left. + NOSE_BOTTOM_LEFT = 15; + + // Nose, bottom center. + NOSE_BOTTOM_CENTER = 16; + + // Left eye, top boundary. + LEFT_EYE_TOP_BOUNDARY = 17; + + // Left eye, right corner. + LEFT_EYE_RIGHT_CORNER = 18; + + // Left eye, bottom boundary. + LEFT_EYE_BOTTOM_BOUNDARY = 19; + + // Left eye, left corner. + LEFT_EYE_LEFT_CORNER = 20; + + // Right eye, top boundary. + RIGHT_EYE_TOP_BOUNDARY = 21; + + // Right eye, right corner. + RIGHT_EYE_RIGHT_CORNER = 22; + + // Right eye, bottom boundary. + RIGHT_EYE_BOTTOM_BOUNDARY = 23; + + // Right eye, left corner. + RIGHT_EYE_LEFT_CORNER = 24; + + // Left eyebrow, upper midpoint. + LEFT_EYEBROW_UPPER_MIDPOINT = 25; + + // Right eyebrow, upper midpoint. + RIGHT_EYEBROW_UPPER_MIDPOINT = 26; + + // Left ear tragion. + LEFT_EAR_TRAGION = 27; + + // Right ear tragion. + RIGHT_EAR_TRAGION = 28; + + // Left eye pupil. + LEFT_EYE_PUPIL = 29; + + // Right eye pupil. + RIGHT_EYE_PUPIL = 30; + + // Forehead glabella. + FOREHEAD_GLABELLA = 31; + + // Chin gnathion. + CHIN_GNATHION = 32; + + // Chin left gonion. + CHIN_LEFT_GONION = 33; + + // Chin right gonion. + CHIN_RIGHT_GONION = 34; + } + + // Face landmark type. + Type type = 3; + + // Face landmark position. + Position position = 4; + } + + // The bounding polygon around the face. The coordinates of the bounding box + // are in the original image's scale, as returned in `ImageParams`. + // The bounding box is computed to "frame" the face in accordance with human + // expectations. It is based on the landmarker results. + // Note that one or more x and/or y coordinates may not be generated in the + // `BoundingPoly` (the polygon will be unbounded) if only a partial face + // appears in the image to be annotated. + BoundingPoly bounding_poly = 1; + + // The `fd_bounding_poly` bounding polygon is tighter than the + // `boundingPoly`, and encloses only the skin part of the face. Typically, it + // is used to eliminate the face from any image analysis that detects the + // "amount of skin" visible in an image. It is not based on the + // landmarker results, only on the initial face detection, hence + // the fd (face detection) prefix. + BoundingPoly fd_bounding_poly = 2; + + // Detected face landmarks. + repeated Landmark landmarks = 3; + + // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + // of the face relative to the image vertical about the axis perpendicular to + // the face. Range [-180,180]. + float roll_angle = 4; + + // Yaw angle, which indicates the leftward/rightward angle that the face is + // pointing relative to the vertical plane perpendicular to the image. Range + // [-180,180]. + float pan_angle = 5; + + // Pitch angle, which indicates the upwards/downwards angle that the face is + // pointing relative to the image's horizontal plane. Range [-180,180]. + float tilt_angle = 6; + + // Detection confidence. Range [0, 1]. + float detection_confidence = 7; + + // Face landmarking confidence. Range [0, 1]. + float landmarking_confidence = 8; + + // Joy likelihood. + Likelihood joy_likelihood = 9; + + // Sorrow likelihood. + Likelihood sorrow_likelihood = 10; + + // Anger likelihood. + Likelihood anger_likelihood = 11; + + // Surprise likelihood. + Likelihood surprise_likelihood = 12; + + // Under-exposed likelihood. + Likelihood under_exposed_likelihood = 13; + + // Blurred likelihood. + Likelihood blurred_likelihood = 14; + + // Headwear likelihood. + Likelihood headwear_likelihood = 15; +} + +// Detected entity location information. +message LocationInfo { + // lat/long location coordinates. + google.type.LatLng lat_lng = 1; +} + +// A `Property` consists of a user-supplied name/value pair. +message Property { + // Name of the property. + string name = 1; + + // Value of the property. + string value = 2; + + // Value of numeric properties. + uint64 uint64_value = 3; +} + +// Set of detected entity features. +message EntityAnnotation { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/). + string mid = 1; + + // The language code for the locale in which the entity textual + // `description` is expressed. + string locale = 2; + + // Entity textual description, expressed in its `locale` language. + string description = 3; + + // Overall score of the result. Range [0, 1]. + float score = 4; + + // The accuracy of the entity detection in an image. + // For example, for an image in which the "Eiffel Tower" entity is detected, + // this field represents the confidence that there is a tower in the query + // image. Range [0, 1]. + float confidence = 5; + + // The relevancy of the ICA (Image Content Annotation) label to the + // image. For example, the relevancy of "tower" is likely higher to an image + // containing the detected "Eiffel Tower" than to an image containing a + // detected distant towering building, even though the confidence that + // there is a tower in each image may be the same. Range [0, 1]. + float topicality = 6; + + // Image region to which this entity belongs. Not produced + // for `LABEL_DETECTION` features. + BoundingPoly bounding_poly = 7; + + // The location information for the detected entity. Multiple + // `LocationInfo` elements can be present because one location may + // indicate the location of the scene in the image, and another location + // may indicate the location of the place where the image was taken. + // Location information is usually present for landmarks. + repeated LocationInfo locations = 8; + + // Some entities may have optional user-supplied `Property` (name/value) + // fields, such a score or string that qualifies the entity. + repeated Property properties = 9; +} + +// Set of features pertaining to the image, computed by computer vision +// methods over safe-search verticals (for example, adult, spoof, medical, +// violence). +message SafeSearchAnnotation { + // Represents the adult content likelihood for the image. Adult content may + // contain elements such as nudity, pornographic images or cartoons, or + // sexual activities. + Likelihood adult = 1; + + // Spoof likelihood. The likelihood that an modification + // was made to the image's canonical version to make it appear + // funny or offensive. + Likelihood spoof = 2; + + // Likelihood that this is a medical image. + Likelihood medical = 3; + + // Likelihood that this image contains violent content. + Likelihood violence = 4; + + // Likelihood that the request image contains racy content. Racy content may + // include (but is not limited to) skimpy or sheer clothing, strategically + // covered nudity, lewd or provocative poses, or close-ups of sensitive + // body areas. + Likelihood racy = 9; +} + +// Rectangle determined by min and max `LatLng` pairs. +message LatLongRect { + // Min lat/long pair. + google.type.LatLng min_lat_lng = 1; + + // Max lat/long pair. + google.type.LatLng max_lat_lng = 2; +} + +// Color information consists of RGB channels, score, and the fraction of +// the image that the color occupies in the image. +message ColorInfo { + // RGB components of the color. + google.type.Color color = 1; + + // Image-specific score for this color. Value in range [0, 1]. + float score = 2; + + // The fraction of pixels the color occupies in the image. + // Value in range [0, 1]. + float pixel_fraction = 3; +} + +// Set of dominant colors and their corresponding scores. +message DominantColorsAnnotation { + // RGB color values with their score and pixel fraction. + repeated ColorInfo colors = 1; +} + +// Stores image properties, such as dominant colors. +message ImageProperties { + // If present, dominant colors completed successfully. + DominantColorsAnnotation dominant_colors = 1; +} + +// Single crop hint that is used to generate a new crop when serving an image. +message CropHint { + // The bounding polygon for the crop region. The coordinates of the bounding + // box are in the original image's scale, as returned in `ImageParams`. + BoundingPoly bounding_poly = 1; + + // Confidence of this being a salient region. Range [0, 1]. + float confidence = 2; + + // Fraction of importance of this salient region with respect to the original + // image. + float importance_fraction = 3; +} + +// Set of crop hints that are used to generate new crops when serving images. +message CropHintsAnnotation { + // Crop hint results. + repeated CropHint crop_hints = 1; +} + +// Parameters for crop hints annotation request. +message CropHintsParams { + // Aspect ratios in floats, representing the ratio of the width to the height + // of the image. For example, if the desired aspect ratio is 4/3, the + // corresponding float value should be 1.33333. If not specified, the + // best possible crop is returned. The number of provided aspect ratios is + // limited to a maximum of 16; any aspect ratios provided after the 16th are + // ignored. + repeated float aspect_ratios = 1; +} + +// Parameters for web detection request. +message WebDetectionParams { + // Whether to include results derived from the geo information in the image. + bool include_geo_results = 2; +} + +// Image context and/or feature-specific parameters. +message ImageContext { + // lat/long rectangle that specifies the location of the image. + LatLongRect lat_long_rect = 1; + + // List of languages to use for TEXT_DETECTION. In most cases, an empty value + // yields the best results since it enables automatic language detection. For + // languages based on the Latin alphabet, setting `language_hints` is not + // needed. In rare cases, when the language of the text in the image is known, + // setting a hint will help get better results (although it will be a + // significant hindrance if the hint is wrong). Text detection returns an + // error if one or more of the specified languages is not one of the + // [supported languages](/vision/docs/languages). + repeated string language_hints = 2; + + // Parameters for crop hints annotation request. + CropHintsParams crop_hints_params = 4; + + // Parameters for web detection. + WebDetectionParams web_detection_params = 6; +} + +// Request for performing Google Cloud Vision API tasks over a user-provided +// image, with user-requested features. +message AnnotateImageRequest { + // The image to be processed. + Image image = 1; + + // Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image. + ImageContext image_context = 3; +} + +// Response to an image annotation request. +message AnnotateImageResponse { + // If present, face detection has completed successfully. + repeated FaceAnnotation face_annotations = 1; + + // If present, landmark detection has completed successfully. + repeated EntityAnnotation landmark_annotations = 2; + + // If present, logo detection has completed successfully. + repeated EntityAnnotation logo_annotations = 3; + + // If present, label detection has completed successfully. + repeated EntityAnnotation label_annotations = 4; + + // If present, text (OCR) detection has completed successfully. + repeated EntityAnnotation text_annotations = 5; + + // If present, text (OCR) detection or document (OCR) text detection has + // completed successfully. + // This annotation provides the structural hierarchy for the OCR detected + // text. + TextAnnotation full_text_annotation = 12; + + // If present, safe-search annotation has completed successfully. + SafeSearchAnnotation safe_search_annotation = 6; + + // If present, image properties were extracted successfully. + ImageProperties image_properties_annotation = 8; + + // If present, crop hints have completed successfully. + CropHintsAnnotation crop_hints_annotation = 11; + + // If present, web detection has completed successfully. + WebDetection web_detection = 13; + + // If set, represents the error message for the operation. + // Note that filled-in image annotations are guaranteed to be + // correct, even when `error` is set. + google.rpc.Status error = 9; +} + +// Multiple image annotation requests are batched into a single service call. +message BatchAnnotateImagesRequest { + // Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1; +} + +// Response to a batch image annotation request. +message BatchAnnotateImagesResponse { + // Individual responses to image annotation requests within the batch. + repeated AnnotateImageResponse responses = 1; +} + +// A bucketized representation of likelihood, which is intended to give clients +// highly stable results across model upgrades. +enum Likelihood { + // Unknown likelihood. + UNKNOWN = 0; + + // It is very unlikely that the image belongs to the specified vertical. + VERY_UNLIKELY = 1; + + // It is unlikely that the image belongs to the specified vertical. + UNLIKELY = 2; + + // It is possible that the image belongs to the specified vertical. + POSSIBLE = 3; + + // It is likely that the image belongs to the specified vertical. + LIKELY = 4; + + // It is very likely that the image belongs to the specified vertical. + VERY_LIKELY = 5; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/text_annotation.proto new file mode 100644 index 00000000000..928e6e88bb0 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/text_annotation.proto @@ -0,0 +1,252 @@ +// Copyright 2017 Google Inc. +// +// 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.cloud.vision.v1p1beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p1beta1/geometry.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p1beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "TextAnnotationProto"; +option java_package = "com.google.cloud.vision.v1p1beta1"; + +// TextAnnotation contains a structured representation of OCR extracted text. +// The hierarchy of an OCR extracted text structure is like this: +// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol +// Each structural component, starting from Page, may further have their own +// properties. Properties describe detected languages, breaks etc.. Please refer +// to the +// [TextAnnotation.TextProperty][google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty] +// message definition below for more detail. +message TextAnnotation { + // Detected language for a structural component. + message DetectedLanguage { + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 1; + + // Confidence of detected language. Range [0, 1]. + float confidence = 2; + } + + // Detected start or end of a structural component. + message DetectedBreak { + // Enum to denote the type of break found. New line, space etc. + enum BreakType { + // Unknown break label type. + UNKNOWN = 0; + + // Regular space. + SPACE = 1; + + // Sure space (very wide). + SURE_SPACE = 2; + + // Line-wrapping break. + EOL_SURE_SPACE = 3; + + // End-line hyphen that is not present in text; does not co-occur with + // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. + HYPHEN = 4; + + // Line break that ends a paragraph. + LINE_BREAK = 5; + } + + // Detected break type. + BreakType type = 1; + + // True if break prepends the element. + bool is_prefix = 2; + } + + // Additional information detected on the structural component. + message TextProperty { + // A list of detected languages together with confidence. + repeated DetectedLanguage detected_languages = 1; + + // Detected start or end of a text segment. + DetectedBreak detected_break = 2; + } + + // List of pages detected by OCR. + repeated Page pages = 1; + + // UTF-8 text detected on the pages. + string text = 2; +} + +// Detected page from OCR. +message Page { + // Additional information detected on the page. + TextAnnotation.TextProperty property = 1; + + // Page width in pixels. + int32 width = 2; + + // Page height in pixels. + int32 height = 3; + + // List of blocks of text, images etc on this page. + repeated Block blocks = 4; + + // Confidence of the OCR results on the page. Range [0, 1]. + float confidence = 5; +} + +// Logical element on the page. +message Block { + // Type of a block (text, image etc) as identified by OCR. + enum BlockType { + // Unknown block type. + UNKNOWN = 0; + + // Regular text block. + TEXT = 1; + + // Table block. + TABLE = 2; + + // Image block. + PICTURE = 3; + + // Horizontal/vertical line box. + RULER = 4; + + // Barcode block. + BARCODE = 5; + } + + // Additional information detected for the block. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the block. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of paragraphs in this block (if this blocks is of type text). + repeated Paragraph paragraphs = 3; + + // Detected block type (text, image etc) for this block. + BlockType block_type = 4; + + // Confidence of the OCR results on the block. Range [0, 1]. + float confidence = 5; +} + +// Structural unit of text representing a number of words in certain order. +message Paragraph { + // Additional information detected for the paragraph. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the paragraph. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of words in this paragraph. + repeated Word words = 3; + + // Confidence of the OCR results for the paragraph. Range [0, 1]. + float confidence = 4; +} + +// A word representation. +message Word { + // Additional information detected for the word. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the word. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of symbols in the word. + // The order of the symbols follows the natural reading order. + repeated Symbol symbols = 3; + + // Confidence of the OCR results for the word. Range [0, 1]. + float confidence = 4; +} + +// A single symbol representation. +message Symbol { + // Additional information detected for the symbol. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the symbol. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // The actual UTF-8 representation of the symbol. + string text = 3; + + // Confidence of the OCR results for the symbol. Range [0, 1]. + float confidence = 4; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/web_detection.proto new file mode 100644 index 00000000000..28249cbdec2 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/web_detection.proto @@ -0,0 +1,104 @@ +// Copyright 2017 Google Inc. +// +// 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.cloud.vision.v1p1beta1; + +import "google/api/annotations.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p1beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "WebDetectionProto"; +option java_package = "com.google.cloud.vision.v1p1beta1"; + +// Relevant information for the image from the Internet. +message WebDetection { + // Entity deduced from similar images on the Internet. + message WebEntity { + // Opaque entity ID. + string entity_id = 1; + + // Overall relevancy score for the entity. + // Not normalized and not comparable across different image queries. + float score = 2; + + // Canonical description of the entity, in English. + string description = 3; + } + + // Metadata for online images. + message WebImage { + // The result image URL. + string url = 1; + + // (Deprecated) Overall relevancy score for the image. + float score = 2; + } + + // Metadata for web pages. + message WebPage { + // The result web page URL. + string url = 1; + + // (Deprecated) Overall relevancy score for the web page. + float score = 2; + + // Title for the web page, may contain HTML markups. + string page_title = 3; + + // Fully matching images on the page. + // Can include resized copies of the query image. + repeated WebImage full_matching_images = 4; + + // Partial matching images on the page. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its + // crops. + repeated WebImage partial_matching_images = 5; + } + + // Label to provide extra metadata for the web detection. + message WebLabel { + // Label for extra metadata. + string label = 1; + + // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + } + + // Deduced entities from similar images on the Internet. + repeated WebEntity web_entities = 1; + + // Fully matching images from the Internet. + // Can include resized copies of the query image. + repeated WebImage full_matching_images = 2; + + // Partial matching images from the Internet. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its crops. + repeated WebImage partial_matching_images = 3; + + // Web pages containing the matching images from the Internet. + repeated WebPage pages_with_matching_images = 4; + + // The visually similar image results. + repeated WebImage visually_similar_images = 6; + + // Best guess text labels for the request image. + repeated WebLabel best_guess_labels = 8; +} diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 8d78307fed0..9ab0b895215 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -11,6 +11,7 @@ The [Cloud Vision API](https://cloud.google.com/vision/docs) allows developers t * [Before you begin](#before-you-begin) * [Samples](#samples) * [Detection samples](#detection-samples) + * [Detection samples for Beta API](#detection-samples-for-beta-api) ## Before you begin @@ -86,5 +87,39 @@ For more information, see https://cloud.google.com/vision/docs [detect_0_docs]: https://cloud.google.com/vision/docs [detect_0_code]: detect.js +### Detection samples for Beta API + +View the [source code][detect.v1p1beta1.js_1_code]. + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) + +__Usage:__ `node detect.v1p1beta1.js --help` + +``` +detect.v1p1beta1.js + +Commands: + detect.v1p1beta1.js web-entities-geo Detects web entities with improved results using geographic metadata + detect.v1p1beta1.js safe-search Detects safe search properties including additional racy category + detect.v1p1beta1.js web Detects web entities including new best guess labels describing + content + detect.v1p1beta1.js fulltext Extracts full text from an image file including new confidence scores + +Options: + --version Show version number [boolean] + --help Show help [boolean] + +Examples: + node detect.v1p1beta1.js safe-search ./resources/wakeupcat.jpg + node detect.v1p1beta1.js web-entities-geo ./resources/city.jpg + node detect.v1p1beta1.js web ./resources/wakeupcat.jpg + node detect.v1p1beta1.js fulltext ./resources/wakeupcat.jpg + +For more information, see https://cloud.google.com/vision/docs +``` + +[detect.v1p1beta1.js_1_docs]: https://cloud.google.com/vision/docs +[detect.v1p1beta1.js_1_code]: detect.v1p1beta1.js + [shell_img]: http://gstatic.com/cloudssh/images/open-btn.png [shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/README.md diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index c0f800792f7..ab541eeb92b 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -24,6 +24,9 @@ /** * @namespace google.cloud.vision.v1 */ +/** + * @namespace google.cloud.vision.v1p1beta1 + */ /** * @namespace google.protobuf */ @@ -41,6 +44,7 @@ const helpers = require('./helpers'); // Import the clients for each version supported by this package. const gapic = Object.freeze({ v1: require('./v1'), + v1p1beta1: require('./v1p1beta1'), }); // Augment the SpeechClient objects with the helpers. @@ -84,5 +88,12 @@ module.exports = gapic.v1; */ module.exports.v1 = gapic.v1; +/** + * @type {object} + * @property {constructor} ImageAnnotatorClient + * Reference to {@link v1p1beta1.ImageAnnotatorClient} + */ +module.exports.v1p1beta1 = gapic.v1p1beta1; + // Alias `module.exports` as `module.exports.default`, for future-proofing. module.exports.default = Object.assign({}, module.exports); diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js new file mode 100644 index 00000000000..fee7703c773 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js @@ -0,0 +1,72 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A vertex represents a 2D point in the image. + * NOTE: the vertex coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @typedef Vertex + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/geometry.proto} + */ +var Vertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A bounding polygon for the detected image annotation. + * + * @property {Object[]} vertices + * The bounding polygon vertices. + * + * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1p1beta1.Vertex} + * + * @typedef BoundingPoly + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/geometry.proto} + */ +var BoundingPoly = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A 3D position in the image, used primarily for Face detection landmarks. + * A valid Position must have both x and y coordinates. + * The position coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @property {number} z + * Z coordinate (or depth). + * + * @typedef Position + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/geometry.proto} + */ +var Position = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js new file mode 100644 index 00000000000..1d631c71152 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js @@ -0,0 +1,958 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Users describe the type of Google Cloud Vision API tasks to perform over + * images by using *Feature*s. Each Feature indicates a type of image + * detection task to perform. Features encode the Cloud Vision API + * vertical to operate on and the number of top-scoring results to return. + * + * @property {number} type + * The feature type. + * + * The number should be among the values of [Type]{@link google.cloud.vision.v1p1beta1.Type} + * + * @property {number} maxResults + * Maximum number of results of this type. + * + * @property {string} model + * Model to use for the feature. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef Feature + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var Feature = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of image feature. + * + * @enum {number} + * @memberof google.cloud.vision.v1p1beta1 + */ + Type: { + + /** + * Unspecified feature type. + */ + TYPE_UNSPECIFIED: 0, + + /** + * Run face detection. + */ + FACE_DETECTION: 1, + + /** + * Run landmark detection. + */ + LANDMARK_DETECTION: 2, + + /** + * Run logo detection. + */ + LOGO_DETECTION: 3, + + /** + * Run label detection. + */ + LABEL_DETECTION: 4, + + /** + * Run OCR. + */ + TEXT_DETECTION: 5, + + /** + * Run dense text document OCR. Takes precedence when both + * DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present. + */ + DOCUMENT_TEXT_DETECTION: 11, + + /** + * Run computer vision models to compute image safe-search properties. + */ + SAFE_SEARCH_DETECTION: 6, + + /** + * Compute a set of image properties, such as the image's dominant colors. + */ + IMAGE_PROPERTIES: 7, + + /** + * Run crop hints. + */ + CROP_HINTS: 9, + + /** + * Run web detection. + */ + WEB_DETECTION: 10 + } +}; + +/** + * External image source (Google Cloud Storage image location). + * + * @property {string} gcsImageUri + * NOTE: For new code `image_uri` below is preferred. + * Google Cloud Storage image URI, which must be in the following form: + * `gs://bucket_name/object_name` (for details, see + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris)). + * NOTE: Cloud Storage object versioning is not supported. + * + * @property {string} imageUri + * Image URI which supports: + * 1) Google Cloud Storage image URI, which must be in the following form: + * `gs://bucket_name/object_name` (for details, see + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris)). + * NOTE: Cloud Storage object versioning is not supported. + * 2) Publicly accessible image HTTP/HTTPS URL. + * This is preferred over the legacy `gcs_image_uri` above. When both + * `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + * precedence. + * + * @typedef ImageSource + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var ImageSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Client image to perform Google Cloud Vision API tasks over. + * + * @property {string} content + * Image content, represented as a stream of bytes. + * Note: as with all `bytes` fields, protobuffers use a pure binary + * representation, whereas JSON representations use base64. + * + * @property {Object} source + * Google Cloud Storage image location. If both `content` and `source` + * are provided for an image, `content` takes precedence and is + * used to perform the image annotation request. + * + * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1p1beta1.ImageSource} + * + * @typedef Image + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var Image = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A face annotation object contains the results of face detection. + * + * @property {Object} boundingPoly + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. + * The bounding box is computed to "frame" the face in accordance with human + * expectations. It is based on the landmarker results. + * Note that one or more x and/or y coordinates may not be generated in the + * `BoundingPoly` (the polygon will be unbounded) if only a partial face + * appears in the image to be annotated. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} + * + * @property {Object} fdBoundingPoly + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, it + * is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence + * the fd (face detection) prefix. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} + * + * @property {Object[]} landmarks + * Detected face landmarks. + * + * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1p1beta1.Landmark} + * + * @property {number} rollAngle + * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + * of the face relative to the image vertical about the axis perpendicular to + * the face. Range [-180,180]. + * + * @property {number} panAngle + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + * + * @property {number} tiltAngle + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + * + * @property {number} detectionConfidence + * Detection confidence. Range [0, 1]. + * + * @property {number} landmarkingConfidence + * Face landmarking confidence. Range [0, 1]. + * + * @property {number} joyLikelihood + * Joy likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} sorrowLikelihood + * Sorrow likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} angerLikelihood + * Anger likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} surpriseLikelihood + * Surprise likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} underExposedLikelihood + * Under-exposed likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} blurredLikelihood + * Blurred likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} headwearLikelihood + * Headwear likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @typedef FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var FaceAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * A face-specific landmark (for example, a face feature). + * + * @property {number} type + * Face landmark type. + * + * The number should be among the values of [Type]{@link google.cloud.vision.v1p1beta1.Type} + * + * @property {Object} position + * Face landmark position. + * + * This object should have the same structure as [Position]{@link google.cloud.vision.v1p1beta1.Position} + * + * @typedef Landmark + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ + Landmark: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Face landmark (feature) type. + * Left and right are defined from the vantage of the viewer of the image + * without considering mirror projections typical of photos. So, `LEFT_EYE`, + * typically, is the person's right eye. + * + * @enum {number} + * @memberof google.cloud.vision.v1p1beta1 + */ + Type: { + + /** + * Unknown face landmark detected. Should not be filled. + */ + UNKNOWN_LANDMARK: 0, + + /** + * Left eye. + */ + LEFT_EYE: 1, + + /** + * Right eye. + */ + RIGHT_EYE: 2, + + /** + * Left of left eyebrow. + */ + LEFT_OF_LEFT_EYEBROW: 3, + + /** + * Right of left eyebrow. + */ + RIGHT_OF_LEFT_EYEBROW: 4, + + /** + * Left of right eyebrow. + */ + LEFT_OF_RIGHT_EYEBROW: 5, + + /** + * Right of right eyebrow. + */ + RIGHT_OF_RIGHT_EYEBROW: 6, + + /** + * Midpoint between eyes. + */ + MIDPOINT_BETWEEN_EYES: 7, + + /** + * Nose tip. + */ + NOSE_TIP: 8, + + /** + * Upper lip. + */ + UPPER_LIP: 9, + + /** + * Lower lip. + */ + LOWER_LIP: 10, + + /** + * Mouth left. + */ + MOUTH_LEFT: 11, + + /** + * Mouth right. + */ + MOUTH_RIGHT: 12, + + /** + * Mouth center. + */ + MOUTH_CENTER: 13, + + /** + * Nose, bottom right. + */ + NOSE_BOTTOM_RIGHT: 14, + + /** + * Nose, bottom left. + */ + NOSE_BOTTOM_LEFT: 15, + + /** + * Nose, bottom center. + */ + NOSE_BOTTOM_CENTER: 16, + + /** + * Left eye, top boundary. + */ + LEFT_EYE_TOP_BOUNDARY: 17, + + /** + * Left eye, right corner. + */ + LEFT_EYE_RIGHT_CORNER: 18, + + /** + * Left eye, bottom boundary. + */ + LEFT_EYE_BOTTOM_BOUNDARY: 19, + + /** + * Left eye, left corner. + */ + LEFT_EYE_LEFT_CORNER: 20, + + /** + * Right eye, top boundary. + */ + RIGHT_EYE_TOP_BOUNDARY: 21, + + /** + * Right eye, right corner. + */ + RIGHT_EYE_RIGHT_CORNER: 22, + + /** + * Right eye, bottom boundary. + */ + RIGHT_EYE_BOTTOM_BOUNDARY: 23, + + /** + * Right eye, left corner. + */ + RIGHT_EYE_LEFT_CORNER: 24, + + /** + * Left eyebrow, upper midpoint. + */ + LEFT_EYEBROW_UPPER_MIDPOINT: 25, + + /** + * Right eyebrow, upper midpoint. + */ + RIGHT_EYEBROW_UPPER_MIDPOINT: 26, + + /** + * Left ear tragion. + */ + LEFT_EAR_TRAGION: 27, + + /** + * Right ear tragion. + */ + RIGHT_EAR_TRAGION: 28, + + /** + * Left eye pupil. + */ + LEFT_EYE_PUPIL: 29, + + /** + * Right eye pupil. + */ + RIGHT_EYE_PUPIL: 30, + + /** + * Forehead glabella. + */ + FOREHEAD_GLABELLA: 31, + + /** + * Chin gnathion. + */ + CHIN_GNATHION: 32, + + /** + * Chin left gonion. + */ + CHIN_LEFT_GONION: 33, + + /** + * Chin right gonion. + */ + CHIN_RIGHT_GONION: 34 + } + } +}; + +/** + * Detected entity location information. + * + * @property {Object} latLng + * lat/long location coordinates. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @typedef LocationInfo + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var LocationInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A `Property` consists of a user-supplied name/value pair. + * + * @property {string} name + * Name of the property. + * + * @property {string} value + * Value of the property. + * + * @property {number} uint64Value + * Value of numeric properties. + * + * @typedef Property + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var Property = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of detected entity features. + * + * @property {string} mid + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/). + * + * @property {string} locale + * The language code for the locale in which the entity textual + * `description` is expressed. + * + * @property {string} description + * Entity textual description, expressed in its `locale` language. + * + * @property {number} score + * Overall score of the result. Range [0, 1]. + * + * @property {number} confidence + * The accuracy of the entity detection in an image. + * For example, for an image in which the "Eiffel Tower" entity is detected, + * this field represents the confidence that there is a tower in the query + * image. Range [0, 1]. + * + * @property {number} topicality + * The relevancy of the ICA (Image Content Annotation) label to the + * image. For example, the relevancy of "tower" is likely higher to an image + * containing the detected "Eiffel Tower" than to an image containing a + * detected distant towering building, even though the confidence that + * there is a tower in each image may be the same. Range [0, 1]. + * + * @property {Object} boundingPoly + * Image region to which this entity belongs. Not produced + * for `LABEL_DETECTION` features. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} + * + * @property {Object[]} locations + * The location information for the detected entity. Multiple + * `LocationInfo` elements can be present because one location may + * indicate the location of the scene in the image, and another location + * may indicate the location of the place where the image was taken. + * Location information is usually present for landmarks. + * + * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1p1beta1.LocationInfo} + * + * @property {Object[]} properties + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + * + * This object should have the same structure as [Property]{@link google.cloud.vision.v1p1beta1.Property} + * + * @typedef EntityAnnotation + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var EntityAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + * + * @property {number} adult + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} spoof + * Spoof likelihood. The likelihood that an modification + * was made to the image's canonical version to make it appear + * funny or offensive. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} medical + * Likelihood that this is a medical image. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} violence + * Likelihood that this image contains violent content. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @property {number} racy + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive + * body areas. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} + * + * @typedef SafeSearchAnnotation + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var SafeSearchAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Rectangle determined by min and max `LatLng` pairs. + * + * @property {Object} minLatLng + * Min lat/long pair. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @property {Object} maxLatLng + * Max lat/long pair. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @typedef LatLongRect + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var LatLongRect = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Color information consists of RGB channels, score, and the fraction of + * the image that the color occupies in the image. + * + * @property {Object} color + * RGB components of the color. + * + * This object should have the same structure as [Color]{@link google.type.Color} + * + * @property {number} score + * Image-specific score for this color. Value in range [0, 1]. + * + * @property {number} pixelFraction + * The fraction of pixels the color occupies in the image. + * Value in range [0, 1]. + * + * @typedef ColorInfo + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var ColorInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of dominant colors and their corresponding scores. + * + * @property {Object[]} colors + * RGB color values with their score and pixel fraction. + * + * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1p1beta1.ColorInfo} + * + * @typedef DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var DominantColorsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Stores image properties, such as dominant colors. + * + * @property {Object} dominantColors + * If present, dominant colors completed successfully. + * + * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation} + * + * @typedef ImageProperties + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var ImageProperties = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Single crop hint that is used to generate a new crop when serving an image. + * + * @property {Object} boundingPoly + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} + * + * @property {number} confidence + * Confidence of this being a salient region. Range [0, 1]. + * + * @property {number} importanceFraction + * Fraction of importance of this salient region with respect to the original + * image. + * + * @typedef CropHint + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var CropHint = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of crop hints that are used to generate new crops when serving images. + * + * @property {Object[]} cropHints + * Crop hint results. + * + * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1p1beta1.CropHint} + * + * @typedef CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var CropHintsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Parameters for crop hints annotation request. + * + * @property {number[]} aspectRatios + * Aspect ratios in floats, representing the ratio of the width to the height + * of the image. For example, if the desired aspect ratio is 4/3, the + * corresponding float value should be 1.33333. If not specified, the + * best possible crop is returned. The number of provided aspect ratios is + * limited to a maximum of 16; any aspect ratios provided after the 16th are + * ignored. + * + * @typedef CropHintsParams + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var CropHintsParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Parameters for web detection request. + * + * @property {boolean} includeGeoResults + * Whether to include results derived from the geo information in the image. + * + * @typedef WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var WebDetectionParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Image context and/or feature-specific parameters. + * + * @property {Object} latLongRect + * lat/long rectangle that specifies the location of the image. + * + * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1p1beta1.LatLongRect} + * + * @property {string[]} languageHints + * List of languages to use for TEXT_DETECTION. In most cases, an empty value + * yields the best results since it enables automatic language detection. For + * languages based on the Latin alphabet, setting `language_hints` is not + * needed. In rare cases, when the language of the text in the image is known, + * setting a hint will help get better results (although it will be a + * significant hindrance if the hint is wrong). Text detection returns an + * error if one or more of the specified languages is not one of the + * [supported languages](https://cloud.google.com/vision/docs/languages). + * + * @property {Object} cropHintsParams + * Parameters for crop hints annotation request. + * + * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1p1beta1.CropHintsParams} + * + * @property {Object} webDetectionParams + * Parameters for web detection. + * + * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1p1beta1.WebDetectionParams} + * + * @typedef ImageContext + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var ImageContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request for performing Google Cloud Vision API tasks over a user-provided + * image, with user-requested features. + * + * @property {Object} image + * The image to be processed. + * + * This object should have the same structure as [Image]{@link google.cloud.vision.v1p1beta1.Image} + * + * @property {Object[]} features + * Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p1beta1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p1beta1.ImageContext} + * + * @typedef AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var AnnotateImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an image annotation request. + * + * @property {Object[]} faceAnnotations + * If present, face detection has completed successfully. + * + * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1p1beta1.FaceAnnotation} + * + * @property {Object[]} landmarkAnnotations + * If present, landmark detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p1beta1.EntityAnnotation} + * + * @property {Object[]} logoAnnotations + * If present, logo detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p1beta1.EntityAnnotation} + * + * @property {Object[]} labelAnnotations + * If present, label detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p1beta1.EntityAnnotation} + * + * @property {Object[]} textAnnotations + * If present, text (OCR) detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p1beta1.EntityAnnotation} + * + * @property {Object} fullTextAnnotation + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. + * This annotation provides the structural hierarchy for the OCR detected + * text. + * + * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1p1beta1.TextAnnotation} + * + * @property {Object} safeSearchAnnotation + * If present, safe-search annotation has completed successfully. + * + * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation} + * + * @property {Object} imagePropertiesAnnotation + * If present, image properties were extracted successfully. + * + * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1p1beta1.ImageProperties} + * + * @property {Object} cropHintsAnnotation + * If present, crop hints have completed successfully. + * + * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1p1beta1.CropHintsAnnotation} + * + * @property {Object} webDetection + * If present, web detection has completed successfully. + * + * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1p1beta1.WebDetection} + * + * @property {Object} error + * If set, represents the error message for the operation. + * Note that filled-in image annotations are guaranteed to be + * correct, even when `error` is set. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var AnnotateImageResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Multiple image annotation requests are batched into a single service call. + * + * @property {Object[]} requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p1beta1.AnnotateImageRequest} + * + * @typedef BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var BatchAnnotateImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to a batch image annotation request. + * + * @property {Object[]} responses + * Individual responses to image annotation requests within the batch. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p1beta1.AnnotateImageResponse} + * + * @typedef BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} + */ +var BatchAnnotateImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A bucketized representation of likelihood, which is intended to give clients + * highly stable results across model upgrades. + * + * @enum {number} + * @memberof google.cloud.vision.v1p1beta1 + */ +var Likelihood = { + + /** + * Unknown likelihood. + */ + UNKNOWN: 0, + + /** + * It is very unlikely that the image belongs to the specified vertical. + */ + VERY_UNLIKELY: 1, + + /** + * It is unlikely that the image belongs to the specified vertical. + */ + UNLIKELY: 2, + + /** + * It is possible that the image belongs to the specified vertical. + */ + POSSIBLE: 3, + + /** + * It is likely that the image belongs to the specified vertical. + */ + LIKELY: 4, + + /** + * It is very likely that the image belongs to the specified vertical. + */ + VERY_LIKELY: 5 +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js new file mode 100644 index 00000000000..23c3b7469ba --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js @@ -0,0 +1,386 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + * Each structural component, starting from Page, may further have their own + * properties. Properties describe detected languages, breaks etc.. Please refer + * to the + * TextAnnotation.TextProperty + * message definition below for more detail. + * + * @property {Object[]} pages + * List of pages detected by OCR. + * + * This object should have the same structure as [Page]{@link google.cloud.vision.v1p1beta1.Page} + * + * @property {string} text + * UTF-8 text detected on the pages. + * + * @typedef TextAnnotation + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} + */ +var TextAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Detected language for a structural component. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {number} confidence + * Confidence of detected language. Range [0, 1]. + * + * @typedef DetectedLanguage + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} + */ + DetectedLanguage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Detected start or end of a structural component. + * + * @property {number} type + * Detected break type. + * + * The number should be among the values of [BreakType]{@link google.cloud.vision.v1p1beta1.BreakType} + * + * @property {boolean} isPrefix + * True if break prepends the element. + * + * @typedef DetectedBreak + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} + */ + DetectedBreak: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Enum to denote the type of break found. New line, space etc. + * + * @enum {number} + * @memberof google.cloud.vision.v1p1beta1 + */ + BreakType: { + + /** + * Unknown break label type. + */ + UNKNOWN: 0, + + /** + * Regular space. + */ + SPACE: 1, + + /** + * Sure space (very wide). + */ + SURE_SPACE: 2, + + /** + * Line-wrapping break. + */ + EOL_SURE_SPACE: 3, + + /** + * End-line hyphen that is not present in text; does not co-occur with + * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. + */ + HYPHEN: 4, + + /** + * Line break that ends a paragraph. + */ + LINE_BREAK: 5 + } + }, + + /** + * Additional information detected on the structural component. + * + * @property {Object[]} detectedLanguages + * A list of detected languages together with confidence. + * + * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1p1beta1.DetectedLanguage} + * + * @property {Object} detectedBreak + * Detected start or end of a text segment. + * + * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1p1beta1.DetectedBreak} + * + * @typedef TextProperty + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} + */ + TextProperty: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * Detected page from OCR. + * + * @property {Object} property + * Additional information detected on the page. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} + * + * @property {number} width + * Page width in pixels. + * + * @property {number} height + * Page height in pixels. + * + * @property {Object[]} blocks + * List of blocks of text, images etc on this page. + * + * This object should have the same structure as [Block]{@link google.cloud.vision.v1p1beta1.Block} + * + * @property {number} confidence + * Confidence of the OCR results on the page. Range [0, 1]. + * + * @typedef Page + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} + */ +var Page = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Logical element on the page. + * + * @property {Object} property + * Additional information detected for the block. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the block. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} + * + * @property {Object[]} paragraphs + * List of paragraphs in this block (if this blocks is of type text). + * + * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1p1beta1.Paragraph} + * + * @property {number} blockType + * Detected block type (text, image etc) for this block. + * + * The number should be among the values of [BlockType]{@link google.cloud.vision.v1p1beta1.BlockType} + * + * @property {number} confidence + * Confidence of the OCR results on the block. Range [0, 1]. + * + * @typedef Block + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} + */ +var Block = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of a block (text, image etc) as identified by OCR. + * + * @enum {number} + * @memberof google.cloud.vision.v1p1beta1 + */ + BlockType: { + + /** + * Unknown block type. + */ + UNKNOWN: 0, + + /** + * Regular text block. + */ + TEXT: 1, + + /** + * Table block. + */ + TABLE: 2, + + /** + * Image block. + */ + PICTURE: 3, + + /** + * Horizontal/vertical line box. + */ + RULER: 4, + + /** + * Barcode block. + */ + BARCODE: 5 + } +}; + +/** + * Structural unit of text representing a number of words in certain order. + * + * @property {Object} property + * Additional information detected for the paragraph. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the paragraph. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} + * + * @property {Object[]} words + * List of words in this paragraph. + * + * This object should have the same structure as [Word]{@link google.cloud.vision.v1p1beta1.Word} + * + * @property {number} confidence + * Confidence of the OCR results for the paragraph. Range [0, 1]. + * + * @typedef Paragraph + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} + */ +var Paragraph = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A word representation. + * + * @property {Object} property + * Additional information detected for the word. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the word. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} + * + * @property {Object[]} symbols + * List of symbols in the word. + * The order of the symbols follows the natural reading order. + * + * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1p1beta1.Symbol} + * + * @property {number} confidence + * Confidence of the OCR results for the word. Range [0, 1]. + * + * @typedef Word + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} + */ +var Word = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A single symbol representation. + * + * @property {Object} property + * Additional information detected for the symbol. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the symbol. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} + * + * @property {string} text + * The actual UTF-8 representation of the symbol. + * + * @property {number} confidence + * Confidence of the OCR results for the symbol. Range [0, 1]. + * + * @typedef Symbol + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} + */ +var Symbol = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js new file mode 100644 index 00000000000..a32989ae19c --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js @@ -0,0 +1,151 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Relevant information for the image from the Internet. + * + * @property {Object[]} webEntities + * Deduced entities from similar images on the Internet. + * + * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1p1beta1.WebEntity} + * + * @property {Object[]} fullMatchingImages + * Fully matching images from the Internet. + * Can include resized copies of the query image. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images from the Internet. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its crops. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} + * + * @property {Object[]} pagesWithMatchingImages + * Web pages containing the matching images from the Internet. + * + * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1p1beta1.WebPage} + * + * @property {Object[]} visuallySimilarImages + * The visually similar image results. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} + * + * @property {Object[]} bestGuessLabels + * Best guess text labels for the request image. + * + * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1p1beta1.WebLabel} + * + * @typedef WebDetection + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} + */ +var WebDetection = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Entity deduced from similar images on the Internet. + * + * @property {string} entityId + * Opaque entity ID. + * + * @property {number} score + * Overall relevancy score for the entity. + * Not normalized and not comparable across different image queries. + * + * @property {string} description + * Canonical description of the entity, in English. + * + * @typedef WebEntity + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} + */ + WebEntity: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for online images. + * + * @property {string} url + * The result image URL. + * + * @property {number} score + * (Deprecated) Overall relevancy score for the image. + * + * @typedef WebImage + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} + */ + WebImage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for web pages. + * + * @property {string} url + * The result web page URL. + * + * @property {number} score + * (Deprecated) Overall relevancy score for the web page. + * + * @property {string} pageTitle + * Title for the web page, may contain HTML markups. + * + * @property {Object[]} fullMatchingImages + * Fully matching images on the page. + * Can include resized copies of the query image. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images on the page. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its + * crops. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} + * + * @typedef WebPage + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} + */ + WebPage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Label to provide extra metadata for the web detection. + * + * @property {string} label + * Label for extra metadata. + * + * @property {string} languageCode + * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @typedef WebLabel + * @memberof google.cloud.vision.v1p1beta1 + * @see [google.cloud.vision.v1p1beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} + */ + WebLabel: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js new file mode 100644 index 00000000000..21feb744243 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js @@ -0,0 +1,131 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * `Any` contains an arbitrary serialized protocol buffer message along with a + * URL that describes the type of the serialized message. + * + * Protobuf library provides support to pack/unpack Any values in the form + * of utility functions or additional generated methods of the Any type. + * + * Example 1: Pack and unpack a message in C++. + * + * Foo foo = ...; + * Any any; + * any.PackFrom(foo); + * ... + * if (any.UnpackTo(&foo)) { + * ... + * } + * + * Example 2: Pack and unpack a message in Java. + * + * Foo foo = ...; + * Any any = Any.pack(foo); + * ... + * if (any.is(Foo.class)) { + * foo = any.unpack(Foo.class); + * } + * + * Example 3: Pack and unpack a message in Python. + * + * foo = Foo(...) + * any = Any() + * any.Pack(foo) + * ... + * if any.Is(Foo.DESCRIPTOR): + * any.Unpack(foo) + * ... + * + * Example 4: Pack and unpack a message in Go + * + * foo := &pb.Foo{...} + * any, err := ptypes.MarshalAny(foo) + * ... + * foo := &pb.Foo{} + * if err := ptypes.UnmarshalAny(any, foo); err != nil { + * ... + * } + * + * The pack methods provided by protobuf library will by default use + * 'type.googleapis.com/full.type.name' as the type URL and the unpack + * methods only use the fully qualified type name after the last '/' + * in the type URL, for example "foo.bar.com/x/y.z" will yield type + * name "y.z". + * + * + * # JSON + * + * The JSON representation of an `Any` value uses the regular + * representation of the deserialized, embedded message, with an + * additional field `@type` which contains the type URL. Example: + * + * package google.profile; + * message Person { + * string first_name = 1; + * string last_name = 2; + * } + * + * { + * "@type": "type.googleapis.com/google.profile.Person", + * "firstName": , + * "lastName": + * } + * + * If the embedded message type is well-known and has a custom JSON + * representation, that representation will be embedded adding a field + * `value` which holds the custom JSON in addition to the `@type` + * field. Example (for message google.protobuf.Duration): + * + * { + * "@type": "type.googleapis.com/google.protobuf.Duration", + * "value": "1.212s" + * } + * + * @property {string} typeUrl + * A URL/resource name whose content describes the type of the + * serialized protocol buffer message. + * + * For URLs which use the scheme `http`, `https`, or no scheme, the + * following restrictions and interpretations apply: + * + * * If no scheme is provided, `https` is assumed. + * * The last segment of the URL's path must represent the fully + * qualified name of the type (as in `path/google.protobuf.Duration`). + * The name should be in a canonical form (e.g., leading "." is + * not accepted). + * * An HTTP GET on the URL must yield a google.protobuf.Type + * value in binary format, or produce an error. + * * Applications are allowed to cache lookup results based on the + * URL, or have them precompiled into a binary to avoid any + * lookup. Therefore, binary compatibility needs to be preserved + * on changes to types. (Use versioned type names to manage + * breaking changes.) + * + * Schemes other than `http`, `https` (or the empty scheme) might be + * used with implementation specific semantics. + * + * @property {string} value + * Must be a valid serialized protocol buffer of the above specified type. + * + * @typedef Any + * @memberof google.protobuf + * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} + */ +var Any = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js new file mode 100644 index 00000000000..0ccf17f236b --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js @@ -0,0 +1,160 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Wrapper message for `double`. + * + * The JSON representation for `DoubleValue` is JSON number. + * + * @property {number} value + * The double value. + * + * @typedef DoubleValue + * @memberof google.protobuf + * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var DoubleValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `float`. + * + * The JSON representation for `FloatValue` is JSON number. + * + * @property {number} value + * The float value. + * + * @typedef FloatValue + * @memberof google.protobuf + * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var FloatValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `int64`. + * + * The JSON representation for `Int64Value` is JSON string. + * + * @property {number} value + * The int64 value. + * + * @typedef Int64Value + * @memberof google.protobuf + * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var Int64Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `uint64`. + * + * The JSON representation for `UInt64Value` is JSON string. + * + * @property {number} value + * The uint64 value. + * + * @typedef UInt64Value + * @memberof google.protobuf + * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var UInt64Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `int32`. + * + * The JSON representation for `Int32Value` is JSON number. + * + * @property {number} value + * The int32 value. + * + * @typedef Int32Value + * @memberof google.protobuf + * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var Int32Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `uint32`. + * + * The JSON representation for `UInt32Value` is JSON number. + * + * @property {number} value + * The uint32 value. + * + * @typedef UInt32Value + * @memberof google.protobuf + * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var UInt32Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `bool`. + * + * The JSON representation for `BoolValue` is JSON `true` and `false`. + * + * @property {boolean} value + * The bool value. + * + * @typedef BoolValue + * @memberof google.protobuf + * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var BoolValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `string`. + * + * The JSON representation for `StringValue` is JSON string. + * + * @property {string} value + * The string value. + * + * @typedef StringValue + * @memberof google.protobuf + * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var StringValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `bytes`. + * + * The JSON representation for `BytesValue` is JSON string. + * + * @property {string} value + * The bytes value. + * + * @typedef BytesValue + * @memberof google.protobuf + * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var BytesValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js new file mode 100644 index 00000000000..be5e96ce26d --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js @@ -0,0 +1,92 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * The `Status` type defines a logical error model that is suitable for different + * programming environments, including REST APIs and RPC APIs. It is used by + * [gRPC](https://github.com/grpc). The error model is designed to be: + * + * - Simple to use and understand for most users + * - Flexible enough to meet unexpected needs + * + * # Overview + * + * The `Status` message contains three pieces of data: error code, error message, + * and error details. The error code should be an enum value of + * google.rpc.Code, but it may accept additional error codes if needed. The + * error message should be a developer-facing English message that helps + * developers *understand* and *resolve* the error. If a localized user-facing + * error message is needed, put the localized message in the error details or + * localize it in the client. The optional error details may contain arbitrary + * information about the error. There is a predefined set of error detail types + * in the package `google.rpc` that can be used for common error conditions. + * + * # Language mapping + * + * The `Status` message is the logical representation of the error model, but it + * is not necessarily the actual wire format. When the `Status` message is + * exposed in different client libraries and different wire protocols, it can be + * mapped differently. For example, it will likely be mapped to some exceptions + * in Java, but more likely mapped to some error codes in C. + * + * # Other uses + * + * The error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a + * consistent developer experience across different environments. + * + * Example uses of this error model include: + * + * - Partial errors. If a service needs to return partial errors to the client, + * it may embed the `Status` in the normal response to indicate the partial + * errors. + * + * - Workflow errors. A typical workflow has multiple steps. Each step may + * have a `Status` message for error reporting. + * + * - Batch operations. If a client uses batch request and batch response, the + * `Status` message should be used directly inside batch response, one for + * each error sub-response. + * + * - Asynchronous operations. If an API call embeds asynchronous operation + * results in its response, the status of those operations should be + * represented directly using the `Status` message. + * + * - Logging. If some API errors are stored in logs, the message `Status` could + * be used directly after any stripping needed for security/privacy reasons. + * + * @property {number} code + * The status code, which should be an enum value of google.rpc.Code. + * + * @property {string} message + * A developer-facing error message, which should be in English. Any + * user-facing error message should be localized and sent in the + * google.rpc.Status.details field, or localized by the client. + * + * @property {Object[]} details + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @typedef Status + * @memberof google.rpc + * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} + */ +var Status = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js new file mode 100644 index 00000000000..a2ea753d8a1 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js @@ -0,0 +1,164 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Represents a color in the RGBA color space. This representation is designed + * for simplicity of conversion to/from color representations in various + * languages over compactness; for example, the fields of this representation + * can be trivially provided to the constructor of "java.awt.Color" in Java; it + * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" + * method in iOS; and, with just a little work, it can be easily formatted into + * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * + * Example (Java): + * + * import com.google.type.Color; + * + * // ... + * public static java.awt.Color fromProto(Color protocolor) { + * float alpha = protocolor.hasAlpha() + * ? protocolor.getAlpha().getValue() + * : 1.0; + * + * return new java.awt.Color( + * protocolor.getRed(), + * protocolor.getGreen(), + * protocolor.getBlue(), + * alpha); + * } + * + * public static Color toProto(java.awt.Color color) { + * float red = (float) color.getRed(); + * float green = (float) color.getGreen(); + * float blue = (float) color.getBlue(); + * float denominator = 255.0; + * Color.Builder resultBuilder = + * Color + * .newBuilder() + * .setRed(red / denominator) + * .setGreen(green / denominator) + * .setBlue(blue / denominator); + * int alpha = color.getAlpha(); + * if (alpha != 255) { + * result.setAlpha( + * FloatValue + * .newBuilder() + * .setValue(((float) alpha) / denominator) + * .build()); + * } + * return resultBuilder.build(); + * } + * // ... + * + * Example (iOS / Obj-C): + * + * // ... + * static UIColor* fromProto(Color* protocolor) { + * float red = [protocolor red]; + * float green = [protocolor green]; + * float blue = [protocolor blue]; + * FloatValue* alpha_wrapper = [protocolor alpha]; + * float alpha = 1.0; + * if (alpha_wrapper != nil) { + * alpha = [alpha_wrapper value]; + * } + * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; + * } + * + * static Color* toProto(UIColor* color) { + * CGFloat red, green, blue, alpha; + * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { + * return nil; + * } + * Color* result = [Color alloc] init]; + * [result setRed:red]; + * [result setGreen:green]; + * [result setBlue:blue]; + * if (alpha <= 0.9999) { + * [result setAlpha:floatWrapperWithValue(alpha)]; + * } + * [result autorelease]; + * return result; + * } + * // ... + * + * Example (JavaScript): + * + * // ... + * + * var protoToCssColor = function(rgb_color) { + * var redFrac = rgb_color.red || 0.0; + * var greenFrac = rgb_color.green || 0.0; + * var blueFrac = rgb_color.blue || 0.0; + * var red = Math.floor(redFrac * 255); + * var green = Math.floor(greenFrac * 255); + * var blue = Math.floor(blueFrac * 255); + * + * if (!('alpha' in rgb_color)) { + * return rgbToCssColor_(red, green, blue); + * } + * + * var alphaFrac = rgb_color.alpha.value || 0.0; + * var rgbParams = [red, green, blue].join(','); + * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); + * }; + * + * var rgbToCssColor_ = function(red, green, blue) { + * var rgbNumber = new Number((red << 16) | (green << 8) | blue); + * var hexString = rgbNumber.toString(16); + * var missingZeros = 6 - hexString.length; + * var resultBuilder = ['#']; + * for (var i = 0; i < missingZeros; i++) { + * resultBuilder.push('0'); + * } + * resultBuilder.push(hexString); + * return resultBuilder.join(''); + * }; + * + * // ... + * + * @property {number} red + * The amount of red in the color as a value in the interval [0, 1]. + * + * @property {number} green + * The amount of green in the color as a value in the interval [0, 1]. + * + * @property {number} blue + * The amount of blue in the color as a value in the interval [0, 1]. + * + * @property {Object} alpha + * The fraction of this color that should be applied to the pixel. That is, + * the final pixel color is defined by the equation: + * + * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) + * + * This means that a value of 1.0 corresponds to a solid color, whereas + * a value of 0.0 corresponds to a completely transparent color. This + * uses a wrapper message rather than a simple float scalar so that it is + * possible to distinguish between a default value and the value being unset. + * If omitted, this color object is to be rendered as a solid color + * (as if the alpha value had been explicitly given with a value of 1.0). + * + * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} + * + * @typedef Color + * @memberof google.type + * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} + */ +var Color = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js new file mode 100644 index 00000000000..e54b84d63c7 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js @@ -0,0 +1,71 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * An object representing a latitude/longitude pair. This is expressed as a pair + * of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the + * WGS84 + * standard. Values must be within normalized ranges. + * + * Example of normalization code in Python: + * + * def NormalizeLongitude(longitude): + * """Wraps decimal degrees longitude to [-180.0, 180.0].""" + * q, r = divmod(longitude, 360.0) + * if r > 180.0 or (r == 180.0 and q <= -1.0): + * return r - 360.0 + * return r + * + * def NormalizeLatLng(latitude, longitude): + * """Wraps decimal degrees latitude and longitude to + * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" + * r = latitude % 360.0 + * if r <= 90.0: + * return r, NormalizeLongitude(longitude) + * elif r >= 270.0: + * return r - 360, NormalizeLongitude(longitude) + * else: + * return 180 - r, NormalizeLongitude(longitude + 180.0) + * + * assert 180.0 == NormalizeLongitude(180.0) + * assert -180.0 == NormalizeLongitude(-180.0) + * assert -179.0 == NormalizeLongitude(181.0) + * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) + * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) + * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) + * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) + * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) + * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) + * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) + * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) + * + * @property {number} latitude + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + * + * @property {number} longitude + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + * + * @typedef LatLng + * @memberof google.type + * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} + */ +var LatLng = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js new file mode 100644 index 00000000000..cd731ef03bb --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -0,0 +1,226 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +'use strict'; + +const gapicConfig = require('./image_annotator_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); + +const VERSION = require('../../package.json').version; + +/** + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. + * + * @class + * @memberof v1p1beta1 + */ +class ImageAnnotatorClient { + /** + * Construct an instance of ImageAnnotatorClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * usaing a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option above is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.servicePath] - The domain name of the + * API remote host. + */ + constructor(opts) { + this._descriptors = {}; + + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + var gaxGrpc = gax.grpc(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; + + // Determine the client header string. + var clientHeader = [ + `gl-node/${process.version.node}`, + `grpc/${gaxGrpc.grpcVersion}`, + `gax/${gax.version}`, + `gapic/${VERSION}`, + ]; + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + + // Load the applicable protos. + var protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/vision/v1p1beta1/image_annotator.proto' + ) + ); + + // Put together the default options sent with requests. + var defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p1beta1.ImageAnnotator', + gapicConfig, + opts.clientConfig, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p1beta1.ImageAnnotator. + var imageAnnotatorStub = gaxGrpc.createStub( + protos.google.cloud.vision.v1p1beta1.ImageAnnotator, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + var imageAnnotatorStubMethods = ['batchAnnotateImages']; + for (let methodName of imageAnnotatorStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + imageAnnotatorStub.then( + stub => + function() { + var args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + null + ); + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId(callback) { + return this.auth.getProjectId(callback); + } + + // ------------------- + // -- Service calls -- + // ------------------- + + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p1beta1.AnnotateImageRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p1beta1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * var requests = []; + * client.batchAnnotateImages({requests: requests}) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + batchAnnotateImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.batchAnnotateImages(request, options, callback); + } +} + +module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json new file mode 100644 index 00000000000..55c365e3f80 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json @@ -0,0 +1,31 @@ +{ + "interfaces": { + "google.cloud.vision.v1p1beta1.ImageAnnotator": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "BatchAnnotateImages": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-vision/src/v1p1beta1/index.js b/packages/google-cloud-vision/src/v1p1beta1/index.js new file mode 100644 index 00000000000..a41489d4fd3 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/index.js @@ -0,0 +1,19 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +'use strict'; + +const ImageAnnotatorClient = require('./image_annotator_client'); + +module.exports.ImageAnnotatorClient = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js new file mode 100644 index 00000000000..404f21c8dfb --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-v1p1beta1.js @@ -0,0 +1,95 @@ +// Copyright 2017, Google LLC All rights reserved. +// +// 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. + +'use strict'; + +const assert = require('assert'); + +const visionModule = require('../src'); + +var FAKE_STATUS_CODE = 1; +var error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('ImageAnnotatorClient', () => { + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + var client = new visionModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.batchAnnotateImages(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', done => { + var client = new visionModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.batchAnnotateImages(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); +}); + +function mockSimpleGrpcMethod(expectedRequest, response, error) { + return function(actualRequest, options, callback) { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} From ddec02908b02af35aae8a3166bc56a23f94145b4 Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Tue, 5 Dec 2017 13:18:56 -0800 Subject: [PATCH 111/588] Bump version to 0.14.0 (#12) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index e2a4d7b2d3c..b92c35a67ee 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.13.0", + "version": "0.14.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 371adc20b8b..aaef76f74f9 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@google-cloud/storage": "1.4.0", - "@google-cloud/vision": "0.13.0", + "@google-cloud/vision": "0.14.0", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", From 29250c9babb0c27655dfe91a568b976a0a1eabd1 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Wed, 6 Dec 2017 10:01:29 -0500 Subject: [PATCH 112/588] =?UTF-8?q?Update=20dependencies=20to=20enable=20G?= =?UTF-8?q?reenkeeper=20=F0=9F=8C=B4=20(#14)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(package): update dependencies --- packages/google-cloud-vision/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index b92c35a67ee..7002eb4635d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -56,11 +56,11 @@ "test": "repo-tools test run --cmd npm -- run cover" }, "dependencies": { - "@google-cloud/common": "^0.13.0", + "@google-cloud/common": "^0.15.1", "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.14.2", - "google-proto-files": "^0.13.1", + "google-proto-files": "^0.14.1", "is": "^3.0.1", "lodash.merge": "^4.6.0" }, @@ -75,12 +75,12 @@ "ink-docstrap": "^1.3.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", - "mocha": "^3.5.3", + "mocha": "^4.0.1", "node-uuid": "^1.4.7", - "nyc": "^10.3.2", + "nyc": "^11.3.0", "power-assert": "^1.4.4", "prettier": "^1.7.4", "safe-buffer": "^5.1.1", - "sinon": "^2.2.0" + "sinon": "^4.1.2" } } From da73316fb35ea4430d0c53663eaad6a772541ed6 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Thu, 18 Jan 2018 08:15:29 -0500 Subject: [PATCH 113/588] =?UTF-8?q?Update=20mocha=20to=20the=20latest=20ve?= =?UTF-8?q?rsion=20=F0=9F=9A=80=20(#21)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 7002eb4635d..98a1066173f 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -75,7 +75,7 @@ "ink-docstrap": "^1.3.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", - "mocha": "^4.0.1", + "mocha": "^5.0.0", "node-uuid": "^1.4.7", "nyc": "^11.3.0", "power-assert": "^1.4.4", From 3ff8366fbf4b82ebc720c0a1d0ad05ad2c08acb7 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 29 Jan 2018 19:43:51 -0800 Subject: [PATCH 114/588] run circle as non-root user (#22) --- .../google-cloud-vision/.circleci/config.yml | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 7d8903ac2c9..a11d2f9bbdd 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -91,6 +91,7 @@ jobs: node4: docker: - image: node:4 + user: node steps: - checkout - run: @@ -106,30 +107,38 @@ jobs: node6: docker: - image: node:6 + user: node <<: *unit_tests node7: docker: - image: node:7 + user: node <<: *unit_tests node8: docker: - image: node:8 + user: node <<: *unit_tests node9: docker: - image: node:9 + user: node <<: *unit_tests lint: docker: - image: node:8 + user: node steps: - checkout - run: name: Install modules and dependencies. command: | + mkdir -p /home/node/.npm-global npm install npm link + environment: + NPM_CONFIG_PREFIX: /home/node/.npm-global - run: name: Link the module being tested to the samples. command: | @@ -137,13 +146,18 @@ jobs: npm link @google-cloud/vision npm install cd .. + environment: + NPM_CONFIG_PREFIX: /home/node/.npm-global - run: name: Run linting. command: npm run lint + environment: + NPM_CONFIG_PREFIX: /home/node/.npm-global docs: docker: - image: node:8 + user: node steps: - checkout - run: @@ -156,6 +170,7 @@ jobs: sample_tests: docker: - image: node:8 + user: node steps: - checkout - run: @@ -167,8 +182,11 @@ jobs: - run: name: Install and link the module. command: | + mkdir -p /home/node/.npm-global npm install npm link + environment: + NPM_CONFIG_PREFIX: /home/node/.npm-global - run: name: Link the module being tested to the samples. command: | @@ -176,21 +194,25 @@ jobs: npm link @google-cloud/vision npm install cd .. + environment: + NPM_CONFIG_PREFIX: /home/node/.npm-global - run: name: Run sample tests. command: npm run samples-test environment: GCLOUD_PROJECT: long-door-651 - GOOGLE_APPLICATION_CREDENTIALS: /var/vision/.circleci/key.json + GOOGLE_APPLICATION_CREDENTIALS: /home/node/vision-samples/.circleci/key.json + NPM_CONFIG_PREFIX: /home/node/.npm-global - run: name: Remove unencrypted key. command: rm .circleci/key.json when: always - working_directory: /var/vision/ + working_directory: /home/node/vision-samples system_tests: docker: - image: node:8 + user: node steps: - checkout - run: @@ -215,6 +237,7 @@ jobs: publish_npm: docker: - image: node:8 + user: node steps: - checkout - run: From c7a6192a93ae9f9f862d14eb0d4c39773708e47a Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 29 Jan 2018 19:49:42 -0800 Subject: [PATCH 115/588] chore(package): update eslint to version 4.15.0 (#23) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 98a1066173f..7de32b412cc 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -68,7 +68,7 @@ "@google-cloud/nodejs-repo-tools": "^2.1.1", "@google-cloud/storage": "*", "codecov": "^3.0.0", - "eslint": "^4.10.0", + "eslint": "^4.15.0", "eslint-config-prettier": "^2.7.0", "eslint-plugin-node": "^5.2.1", "eslint-plugin-prettier": "^2.3.1", From 296eb42d85b9ea28dbf3be3f8fbda14298269419 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 29 Jan 2018 19:55:43 -0800 Subject: [PATCH 116/588] feat: update GAPIC generated code (v1), bump semver minor version (#24) * regenerating GAPIC v1 code * bump version and regenerate scaffolding --- packages/google-cloud-vision/.mailmap | 2 + packages/google-cloud-vision/CONTRIBUTORS | 4 +- packages/google-cloud-vision/package.json | 6 +- .../google/cloud/vision/v1/geometry.proto | 2 +- .../cloud/vision/v1/image_annotator.proto | 118 ++++++++++------ .../cloud/vision/v1/text_annotation.proto | 50 +++++-- .../cloud/vision/v1/web_detection.proto | 41 +++++- .../google-cloud-vision/samples/package.json | 2 +- .../google/cloud/vision/v1/doc_geometry.js | 4 +- .../cloud/vision/v1/doc_image_annotator.js | 133 ++++++++++++------ .../cloud/vision/v1/doc_text_annotation.js | 53 ++++--- .../cloud/vision/v1/doc_web_detection.js | 59 ++++++-- .../src/v1/doc/google/protobuf/doc_any.js | 4 +- .../v1/doc/google/protobuf/doc_wrappers.js | 4 +- .../src/v1/doc/google/rpc/doc_status.js | 4 +- .../src/v1/doc/google/type/doc_color.js | 4 +- .../src/v1/doc/google/type/doc_latlng.js | 4 +- .../src/v1/image_annotator_client.js | 4 +- packages/google-cloud-vision/src/v1/index.js | 4 +- packages/google-cloud-vision/test/gapic-v1.js | 4 +- 20 files changed, 350 insertions(+), 156 deletions(-) diff --git a/packages/google-cloud-vision/.mailmap b/packages/google-cloud-vision/.mailmap index bac1d09b6e6..3db82848eea 100644 --- a/packages/google-cloud-vision/.mailmap +++ b/packages/google-cloud-vision/.mailmap @@ -4,3 +4,5 @@ Jun Mukai Jun Mukai Luke Sneeringer Luke Sneeringer Stephen Sawchuk Stephen Sawchuk Stephen Sawchuk Stephen Sawchuk +Alexander Fenster Alexander Fenster +Rebecca Taylor Rebecca Taylor diff --git a/packages/google-cloud-vision/CONTRIBUTORS b/packages/google-cloud-vision/CONTRIBUTORS index 96b20b806d0..bd95ab74452 100644 --- a/packages/google-cloud-vision/CONTRIBUTORS +++ b/packages/google-cloud-vision/CONTRIBUTORS @@ -4,6 +4,7 @@ # name # Ace Nassri +Alexander Fenster Ali Ijaz Sheikh Dave Gramlich Ernest Landrito @@ -11,9 +12,10 @@ Gus Class Jason Dobry Jun Mukai Luke Sneeringer +Rebecca Taylor Song Wang Stephen Sawchuk Tim Swast calibr -Rebecca Taylor +greenkeeper[bot] rtw diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 7de32b412cc..05c674fb8ed 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.14.0", + "version": "0.15.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { @@ -30,6 +30,7 @@ ], "contributors": [ "Ace Nassri ", + "Alexander Fenster ", "Ali Ijaz Sheikh ", "Dave Gramlich ", "Ernest Landrito ", @@ -37,11 +38,12 @@ "Jason Dobry ", "Jun Mukai ", "Luke Sneeringer ", + "Rebecca Taylor ", "Song Wang ", "Stephen Sawchuk ", "Tim Swast ", "calibr ", - "Rebecca Taylor ", + "greenkeeper[bot] ", "rtw " ], "scripts": { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto index 5586c2eb3ad..c1b35a94013 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// Copyright 2018 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index c17f8aeb6fe..3978db04ebe 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// Copyright 2018 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -41,12 +41,11 @@ service ImageAnnotator { } } -// Users describe the type of Google Cloud Vision API tasks to perform over -// images by using *Feature*s. Each Feature indicates a type of image -// detection task to perform. Features encode the Cloud Vision API -// vertical to operate on and the number of top-scoring results to return. +// The type of Google Cloud Vision API detection to perform, and the maximum +// number of results to return for that type. Multiple `Feature` objects can +// be specified in the `features` list. message Feature { - // Type of image feature. + // Type of Google Cloud Vision API feature to be extracted. enum Type { // Unspecified feature type. TYPE_UNSPECIFIED = 0; @@ -63,17 +62,21 @@ message Feature { // Run label detection. LABEL_DETECTION = 4; - // Run OCR. + // Run text detection / optical character recognition (OCR). Text detection + // is optimized for areas of text within a larger image; if the image is + // a document, use `DOCUMENT_TEXT_DETECTION` instead. TEXT_DETECTION = 5; // Run dense text document OCR. Takes precedence when both - // DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present. + // `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. DOCUMENT_TEXT_DETECTION = 11; - // Run computer vision models to compute image safe-search properties. + // Run Safe Search to detect potentially unsafe + // or undesirable content. SAFE_SEARCH_DETECTION = 6; - // Compute a set of image properties, such as the image's dominant colors. + // Compute a set of image properties, such as the + // image's dominant colors. IMAGE_PROPERTIES = 7; // Run crop hints. @@ -86,29 +89,42 @@ message Feature { // The feature type. Type type = 1; - // Maximum number of results of this type. + // Maximum number of results of this type. Does not apply to + // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. int32 max_results = 2; + + // Model to use for the feature. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; } -// External image source (Google Cloud Storage image location). +// External image source (Google Cloud Storage or web URL image location). message ImageSource { - // NOTE: For new code `image_uri` below is preferred. - // Google Cloud Storage image URI, which must be in the following form: - // `gs://bucket_name/object_name` (for details, see + // **Use `image_uri` instead.** + // + // The Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. See // [Google Cloud Storage Request - // URIs](https://cloud.google.com/storage/docs/reference-uris)). - // NOTE: Cloud Storage object versioning is not supported. + // URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. string gcs_image_uri = 1; - // Image URI which supports: - // 1) Google Cloud Storage image URI, which must be in the following form: - // `gs://bucket_name/object_name` (for details, see - // [Google Cloud Storage Request - // URIs](https://cloud.google.com/storage/docs/reference-uris)). - // NOTE: Cloud Storage object versioning is not supported. - // 2) Publicly accessible image HTTP/HTTPS URL. - // This is preferred over the legacy `gcs_image_uri` above. When both - // `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + // The URI of the source image. Can be either: + // + // 1. A Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. See + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris) for more + // info. + // + // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from + // HTTP/HTTPS URLs, Google cannot guarantee that the request will be + // completed. Your request may fail if the specified host denies the + // request (e.g. due to request throttling or DOS prevention), or if Google + // throttles requests to the site for abuse prevention. You should not + // depend on externally-hosted images for production applications. + // + // When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes // precedence. string image_uri = 2; } @@ -116,23 +132,19 @@ message ImageSource { // Client image to perform Google Cloud Vision API tasks over. message Image { // Image content, represented as a stream of bytes. - // Note: as with all `bytes` fields, protobuffers use a pure binary + // Note: As with all `bytes` fields, protobuffers use a pure binary // representation, whereas JSON representations use base64. bytes content = 1; - // Google Cloud Storage image location. If both `content` and `source` - // are provided for an image, `content` takes precedence and is - // used to perform the image annotation request. + // Google Cloud Storage image location, or publicly-accessible image + // URL. If both `content` and `source` are provided for an image, `content` + // takes precedence and is used to perform the image annotation request. ImageSource source = 2; } // A face annotation object contains the results of face detection. message FaceAnnotation { // A face-specific landmark (for example, a face feature). - // Landmark positions may fall outside the bounds of the image - // if the face is near one or more edges of the image. - // Therefore it is NOT guaranteed that `0 <= x < width` or - // `0 <= y < height`. message Landmark { // Face landmark (feature) type. // Left and right are defined from the vantage of the viewer of the image @@ -327,12 +339,16 @@ message Property { // Value of the property. string value = 2; + + // Value of numeric properties. + uint64 uint64_value = 3; } // Set of detected entity features. message EntityAnnotation { // Opaque entity ID. Some IDs may be available in - // [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/). + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). string mid = 1; // The language code for the locale in which the entity textual @@ -345,6 +361,7 @@ message EntityAnnotation { // Overall score of the result. Range [0, 1]. float score = 4; + // **Deprecated. Use `score` instead.** // The accuracy of the entity detection in an image. // For example, for an image in which the "Eiffel Tower" entity is detected, // this field represents the confidence that there is a tower in the query @@ -358,10 +375,8 @@ message EntityAnnotation { // there is a tower in each image may be the same. Range [0, 1]. float topicality = 6; - // Image region to which this entity belongs. Currently not produced - // for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s - // are produced for the entire text detected in an image region, followed by - // `boundingPoly`s for each word within the detected text. + // Image region to which this entity belongs. Not produced + // for `LABEL_DETECTION` features. BoundingPoly bounding_poly = 7; // The location information for the detected entity. Multiple @@ -380,7 +395,9 @@ message EntityAnnotation { // methods over safe-search verticals (for example, adult, spoof, medical, // violence). message SafeSearchAnnotation { - // Represents the adult content likelihood for the image. + // Represents the adult content likelihood for the image. Adult content may + // contain elements such as nudity, pornographic images or cartoons, or + // sexual activities. Likelihood adult = 1; // Spoof likelihood. The likelihood that an modification @@ -391,8 +408,14 @@ message SafeSearchAnnotation { // Likelihood that this is a medical image. Likelihood medical = 3; - // Violence likelihood. + // Likelihood that this image contains violent content. Likelihood violence = 4; + + // Likelihood that the request image contains racy content. Racy content may + // include (but is not limited to) skimpy or sheer clothing, strategically + // covered nudity, lewd or provocative poses, or close-ups of sensitive + // body areas. + Likelihood racy = 9; } // Rectangle determined by min and max `LatLng` pairs. @@ -446,6 +469,7 @@ message CropHint { // Set of crop hints that are used to generate new crops when serving images. message CropHintsAnnotation { + // Crop hint results. repeated CropHint crop_hints = 1; } @@ -460,6 +484,12 @@ message CropHintsParams { repeated float aspect_ratios = 1; } +// Parameters for web detection request. +message WebDetectionParams { + // Whether to include results derived from the geo information in the image. + bool include_geo_results = 2; +} + // Image context and/or feature-specific parameters. message ImageContext { // lat/long rectangle that specifies the location of the image. @@ -477,6 +507,9 @@ message ImageContext { // Parameters for crop hints annotation request. CropHintsParams crop_hints_params = 4; + + // Parameters for web detection. + WebDetectionParams web_detection_params = 6; } // Request for performing Google Cloud Vision API tasks over a user-provided @@ -506,8 +539,7 @@ message AnnotateImageResponse { // If present, label detection has completed successfully. repeated EntityAnnotation label_annotations = 4; - // If present, text (OCR) detection or document (OCR) text detection has - // completed successfully. + // If present, text (OCR) detection has completed successfully. repeated EntityAnnotation text_annotations = 5; // If present, text (OCR) detection or document (OCR) text detection has diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index 938820a3a00..bf825d59b5a 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// Copyright 2018 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -30,9 +30,9 @@ option java_package = "com.google.cloud.vision.v1"; // The hierarchy of an OCR extracted text structure is like this: // TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol // Each structural component, starting from Page, may further have their own -// properties. Properties describe detected languages, breaks etc.. Please -// refer to the [google.cloud.vision.v1.TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty] message -// definition below for more detail. +// properties. Properties describe detected languages, breaks etc.. Please refer +// to the [TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty] message definition below for more +// detail. message TextAnnotation { // Detected language for a structural component. message DetectedLanguage { @@ -61,15 +61,15 @@ message TextAnnotation { // Line-wrapping break. EOL_SURE_SPACE = 3; - // End-line hyphen that is not present in text; does + // End-line hyphen that is not present in text; does not co-occur with + // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. HYPHEN = 4; - // not co-occur with SPACE, LEADER_SPACE, or - // LINE_BREAK. // Line break that ends a paragraph. LINE_BREAK = 5; } + // Detected break type. BreakType type = 1; // True if break prepends the element. @@ -105,6 +105,9 @@ message Page { // List of blocks of text, images etc on this page. repeated Block blocks = 4; + + // Confidence of the OCR results on the page. Range [0, 1]. + float confidence = 5; } // Logical element on the page. @@ -139,14 +142,19 @@ message Block { // is represented as around the top-left corner as defined when the text is // read in the 'natural' orientation. // For example: - // * when the text is horizontal it might look like: - // 0----1 - // | | - // 3----2 - // * when it's rotated 180 degrees around the top-left corner it becomes: - // 2----3 - // | | - // 1----0 + // + // * when the text is horizontal it might look like: + // + // 0----1 + // | | + // 3----2 + // + // * when it's rotated 180 degrees around the top-left corner it becomes: + // + // 2----3 + // | | + // 1----0 + // // and the vertice order will still be (0, 1, 2, 3). BoundingPoly bounding_box = 2; @@ -155,6 +163,9 @@ message Block { // Detected block type (text, image etc) for this block. BlockType block_type = 4; + + // Confidence of the OCR results on the block. Range [0, 1]. + float confidence = 5; } // Structural unit of text representing a number of words in certain order. @@ -181,6 +192,9 @@ message Paragraph { // List of words in this paragraph. repeated Word words = 3; + + // Confidence of the OCR results for the paragraph. Range [0, 1]. + float confidence = 4; } // A word representation. @@ -208,6 +222,9 @@ message Word { // List of symbols in the word. // The order of the symbols follows the natural reading order. repeated Symbol symbols = 3; + + // Confidence of the OCR results for the word. Range [0, 1]. + float confidence = 4; } // A single symbol representation. @@ -234,4 +251,7 @@ message Symbol { // The actual UTF-8 representation of the symbol. string text = 3; + + // Confidence of the OCR results for the symbol. Range [0, 1]. + float confidence = 4; } diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto index 6da89756ee3..81d92528cd3 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// Copyright 2018 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -45,8 +45,7 @@ message WebDetection { // The result image URL. string url = 1; - // Overall relevancy score for the image. - // Not normalized and not comparable across different image queries. + // (Deprecated) Overall relevancy score for the image. float score = 2; } @@ -55,17 +54,39 @@ message WebDetection { // The result web page URL. string url = 1; - // Overall relevancy score for the web page. - // Not normalized and not comparable across different image queries. + // (Deprecated) Overall relevancy score for the web page. float score = 2; + + // Title for the web page, may contain HTML markups. + string page_title = 3; + + // Fully matching images on the page. + // Can include resized copies of the query image. + repeated WebImage full_matching_images = 4; + + // Partial matching images on the page. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its + // crops. + repeated WebImage partial_matching_images = 5; + } + + // Label to provide extra metadata for the web detection. + message WebLabel { + // Label for extra metadata. + string label = 1; + + // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; } // Deduced entities from similar images on the Internet. repeated WebEntity web_entities = 1; // Fully matching images from the Internet. - // They're definite neardups and most often a copy of the query image with - // merely a size change. + // Can include resized copies of the query image. repeated WebImage full_matching_images = 2; // Partial matching images from the Internet. @@ -75,4 +96,10 @@ message WebDetection { // Web pages containing the matching images from the Internet. repeated WebPage pages_with_matching_images = 4; + + // The visually similar image results. + repeated WebImage visually_similar_images = 6; + + // Best guess text labels for the request image. + repeated WebLabel best_guess_labels = 8; } diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index aaef76f74f9..1db32915048 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@google-cloud/storage": "1.4.0", - "@google-cloud/vision": "0.14.0", + "@google-cloud/vision": "0.15.0", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js index c8b9a1a8ff7..b63f9beab4d 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index f2b24a27c67..c29edc17c5d 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, @@ -16,10 +16,9 @@ // to be loaded as the JS file. /** - * Users describe the type of Google Cloud Vision API tasks to perform over - * images by using *Feature*s. Each Feature indicates a type of image - * detection task to perform. Features encode the Cloud Vision API - * vertical to operate on and the number of top-scoring results to return. + * The type of Google Cloud Vision API detection to perform, and the maximum + * number of results to return for that type. Multiple `Feature` objects can + * be specified in the `features` list. * * @property {number} type * The feature type. @@ -27,7 +26,13 @@ * The number should be among the values of [Type]{@link google.cloud.vision.v1.Type} * * @property {number} maxResults - * Maximum number of results of this type. + * Maximum number of results of this type. Does not apply to + * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + * + * @property {string} model + * Model to use for the feature. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". * * @typedef Feature * @memberof google.cloud.vision.v1 @@ -37,7 +42,7 @@ var Feature = { // This is for documentation. Actual contents will be loaded by gRPC. /** - * Type of image feature. + * Type of Google Cloud Vision API feature to be extracted. * * @enum {number} * @memberof google.cloud.vision.v1 @@ -70,23 +75,27 @@ var Feature = { LABEL_DETECTION: 4, /** - * Run OCR. + * Run text detection / optical character recognition (OCR). Text detection + * is optimized for areas of text within a larger image; if the image is + * a document, use `DOCUMENT_TEXT_DETECTION` instead. */ TEXT_DETECTION: 5, /** * Run dense text document OCR. Takes precedence when both - * DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present. + * `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. */ DOCUMENT_TEXT_DETECTION: 11, /** - * Run computer vision models to compute image safe-search properties. + * Run Safe Search to detect potentially unsafe + * or undesirable content. */ SAFE_SEARCH_DETECTION: 6, /** - * Compute a set of image properties, such as the image's dominant colors. + * Compute a set of image properties, such as the + * image's dominant colors. */ IMAGE_PROPERTIES: 7, @@ -103,26 +112,33 @@ var Feature = { }; /** - * External image source (Google Cloud Storage image location). + * External image source (Google Cloud Storage or web URL image location). * * @property {string} gcsImageUri - * NOTE: For new code `image_uri` below is preferred. - * Google Cloud Storage image URI, which must be in the following form: - * `gs://bucket_name/object_name` (for details, see + * **Use `image_uri` instead.** + * + * The Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris)). - * NOTE: Cloud Storage object versioning is not supported. + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. * * @property {string} imageUri - * Image URI which supports: - * 1) Google Cloud Storage image URI, which must be in the following form: - * `gs://bucket_name/object_name` (for details, see - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris)). - * NOTE: Cloud Storage object versioning is not supported. - * 2) Publicly accessible image HTTP/HTTPS URL. - * This is preferred over the legacy `gcs_image_uri` above. When both - * `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + * The URI of the source image. Can be either: + * + * 1. A Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. + * + * 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from + * HTTP/HTTPS URLs, Google cannot guarantee that the request will be + * completed. Your request may fail if the specified host denies the + * request (e.g. due to request throttling or DOS prevention), or if Google + * throttles requests to the site for abuse prevention. You should not + * depend on externally-hosted images for production applications. + * + * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes * precedence. * * @typedef ImageSource @@ -138,13 +154,13 @@ var ImageSource = { * * @property {string} content * Image content, represented as a stream of bytes. - * Note: as with all `bytes` fields, protobuffers use a pure binary + * Note: As with all `bytes` fields, protobuffers use a pure binary * representation, whereas JSON representations use base64. * * @property {Object} source - * Google Cloud Storage image location. If both `content` and `source` - * are provided for an image, `content` takes precedence and is - * used to perform the image annotation request. + * Google Cloud Storage image location, or publicly-accessible image + * URL. If both `content` and `source` are provided for an image, `content` + * takes precedence and is used to perform the image annotation request. * * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1.ImageSource} * @@ -249,10 +265,6 @@ var FaceAnnotation = { /** * A face-specific landmark (for example, a face feature). - * Landmark positions may fall outside the bounds of the image - * if the face is near one or more edges of the image. - * Therefore it is NOT guaranteed that `0 <= x < width` or - * `0 <= y < height`. * * @property {number} type * Face landmark type. @@ -485,6 +497,9 @@ var LocationInfo = { * @property {string} value * Value of the property. * + * @property {number} uint64Value + * Value of numeric properties. + * * @typedef Property * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -498,7 +513,8 @@ var Property = { * * @property {string} mid * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/). + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). * * @property {string} locale * The language code for the locale in which the entity textual @@ -511,6 +527,7 @@ var Property = { * Overall score of the result. Range [0, 1]. * * @property {number} confidence + * **Deprecated. Use `score` instead.** * The accuracy of the entity detection in an image. * For example, for an image in which the "Eiffel Tower" entity is detected, * this field represents the confidence that there is a tower in the query @@ -524,10 +541,8 @@ var Property = { * there is a tower in each image may be the same. Range [0, 1]. * * @property {Object} boundingPoly - * Image region to which this entity belongs. Currently not produced - * for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s - * are produced for the entire text detected in an image region, followed by - * `boundingPoly`s for each word within the detected text. + * Image region to which this entity belongs. Not produced + * for `LABEL_DETECTION` features. * * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * @@ -560,7 +575,9 @@ var EntityAnnotation = { * violence). * * @property {number} adult - * Represents the adult content likelihood for the image. + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. * * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * @@ -577,7 +594,15 @@ var EntityAnnotation = { * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * * @property {number} violence - * Violence likelihood. + * Likelihood that this image contains violent content. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} + * + * @property {number} racy + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive + * body areas. * * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * @@ -694,6 +719,8 @@ var CropHint = { * Set of crop hints that are used to generate new crops when serving images. * * @property {Object[]} cropHints + * Crop hint results. + * * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1.CropHint} * * @typedef CropHintsAnnotation @@ -723,6 +750,20 @@ var CropHintsParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Parameters for web detection request. + * + * @property {boolean} includeGeoResults + * Whether to include results derived from the geo information in the image. + * + * @typedef WebDetectionParams + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var WebDetectionParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Image context and/or feature-specific parameters. * @@ -746,6 +787,11 @@ var CropHintsParams = { * * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1.CropHintsParams} * + * @property {Object} webDetectionParams + * Parameters for web detection. + * + * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1.WebDetectionParams} + * * @typedef ImageContext * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -805,8 +851,7 @@ var AnnotateImageRequest = { * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} * * @property {Object[]} textAnnotations - * If present, text (OCR) detection or document (OCR) text detection has - * completed successfully. + * If present, text (OCR) detection has completed successfully. * * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} * diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index 51f65b6f952..9ee53c5dae9 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, @@ -20,9 +20,9 @@ * The hierarchy of an OCR extracted text structure is like this: * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol * Each structural component, starting from Page, may further have their own - * properties. Properties describe detected languages, breaks etc.. Please - * refer to the google.cloud.vision.v1.TextAnnotation.TextProperty message - * definition below for more detail. + * properties. Properties describe detected languages, breaks etc.. Please refer + * to the TextAnnotation.TextProperty message definition below for more + * detail. * * @property {Object[]} pages * List of pages detected by OCR. @@ -62,6 +62,8 @@ var TextAnnotation = { * Detected start or end of a structural component. * * @property {number} type + * Detected break type. + * * The number should be among the values of [BreakType]{@link google.cloud.vision.v1.BreakType} * * @property {boolean} isPrefix @@ -103,13 +105,12 @@ var TextAnnotation = { EOL_SURE_SPACE: 3, /** - * End-line hyphen that is not present in text; does + * End-line hyphen that is not present in text; does not co-occur with + * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. */ HYPHEN: 4, /** - * not co-occur with SPACE, LEADER_SPACE, or - * LINE_BREAK. * Line break that ends a paragraph. */ LINE_BREAK: 5 @@ -157,6 +158,9 @@ var TextAnnotation = { * * This object should have the same structure as [Block]{@link google.cloud.vision.v1.Block} * + * @property {number} confidence + * Confidence of the OCR results on the page. Range [0, 1]. + * * @typedef Page * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} @@ -180,14 +184,19 @@ var Page = { * is represented as around the top-left corner as defined when the text is * read in the 'natural' orientation. * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 + * + * * when the text is horizontal it might look like: + * + * 0----1 + * | | + * 3----2 + * + * * when it's rotated 180 degrees around the top-left corner it becomes: + * + * 2----3 + * | | + * 1----0 + * * and the vertice order will still be (0, 1, 2, 3). * * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} @@ -202,6 +211,9 @@ var Page = { * * The number should be among the values of [BlockType]{@link google.cloud.vision.v1.BlockType} * + * @property {number} confidence + * Confidence of the OCR results on the block. Range [0, 1]. + * * @typedef Block * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} @@ -281,6 +293,9 @@ var Block = { * * This object should have the same structure as [Word]{@link google.cloud.vision.v1.Word} * + * @property {number} confidence + * Confidence of the OCR results for the paragraph. Range [0, 1]. + * * @typedef Paragraph * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} @@ -322,6 +337,9 @@ var Paragraph = { * * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1.Symbol} * + * @property {number} confidence + * Confidence of the OCR results for the word. Range [0, 1]. + * * @typedef Word * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} @@ -360,6 +378,9 @@ var Word = { * @property {string} text * The actual UTF-8 representation of the symbol. * + * @property {number} confidence + * Confidence of the OCR results for the symbol. Range [0, 1]. + * * @typedef Symbol * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js index 1872b45d158..5ed9f6e828a 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, @@ -25,8 +25,7 @@ * * @property {Object[]} fullMatchingImages * Fully matching images from the Internet. - * They're definite neardups and most often a copy of the query image with - * merely a size change. + * Can include resized copies of the query image. * * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} * @@ -42,6 +41,16 @@ * * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1.WebPage} * + * @property {Object[]} visuallySimilarImages + * The visually similar image results. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} + * + * @property {Object[]} bestGuessLabels + * Best guess text labels for the request image. + * + * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1.WebLabel} + * * @typedef WebDetection * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} @@ -77,8 +86,7 @@ var WebDetection = { * The result image URL. * * @property {number} score - * Overall relevancy score for the image. - * Not normalized and not comparable across different image queries. + * (Deprecated) Overall relevancy score for the image. * * @typedef WebImage * @memberof google.cloud.vision.v1 @@ -95,8 +103,24 @@ var WebDetection = { * The result web page URL. * * @property {number} score - * Overall relevancy score for the web page. - * Not normalized and not comparable across different image queries. + * (Deprecated) Overall relevancy score for the web page. + * + * @property {string} pageTitle + * Title for the web page, may contain HTML markups. + * + * @property {Object[]} fullMatchingImages + * Fully matching images on the page. + * Can include resized copies of the query image. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images on the page. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its + * crops. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} * * @typedef WebPage * @memberof google.cloud.vision.v1 @@ -104,5 +128,24 @@ var WebDetection = { */ WebPage: { // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Label to provide extra metadata for the web detection. + * + * @property {string} label + * Label for extra metadata. + * + * @property {string} languageCode + * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @typedef WebLabel + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} + */ + WebLabel: { + // This is for documentation. Actual contents will be loaded by gRPC. } }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js index 21feb744243..f55fa17ff12 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js index 0ccf17f236b..791b600ab1d 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js index be5e96ce26d..7122f1682e0 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js index a2ea753d8a1..8ae80246fe3 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js index e54b84d63c7..76150dc3be1 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 2dfaee881a2..b141c740bba 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index a41489d4fd3..301ca40eb92 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 6fd4b62478c..213ebe29102 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, From d84ffb51fc08d8a5c6f0c247ea1f4b074e5cefe5 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Thu, 1 Feb 2018 21:28:55 -0500 Subject: [PATCH 117/588] =?UTF-8?q?Update=20google-proto-files=20to=20the?= =?UTF-8?q?=20latest=20version=20=F0=9F=9A=80=20(#25)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 05c674fb8ed..719d154fe75 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -62,7 +62,7 @@ "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.14.2", - "google-proto-files": "^0.14.1", + "google-proto-files": "^0.15.0", "is": "^3.0.1", "lodash.merge": "^4.6.0" }, From b594416b2c4890f960cfd04028a13583cddfd40e Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 5 Feb 2018 08:56:23 -0500 Subject: [PATCH 118/588] =?UTF-8?q?Update=20eslint-plugin-node=20to=20the?= =?UTF-8?q?=20latest=20version=20=F0=9F=9A=80=20(#26)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 719d154fe75..77690899f1b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -72,7 +72,7 @@ "codecov": "^3.0.0", "eslint": "^4.15.0", "eslint-config-prettier": "^2.7.0", - "eslint-plugin-node": "^5.2.1", + "eslint-plugin-node": "^6.0.0", "eslint-plugin-prettier": "^2.3.1", "ink-docstrap": "^1.3.0", "intelli-espower-loader": "^1.0.1", From 099b878d50ccff28bd1bb92abfded3407c80b506 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Wed, 7 Feb 2018 10:19:47 -0500 Subject: [PATCH 119/588] =?UTF-8?q?Update=20@google-cloud/common=20to=20th?= =?UTF-8?q?e=20latest=20version=20=F0=9F=9A=80=20(#27)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 77690899f1b..5d6461725b5 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -58,7 +58,7 @@ "test": "repo-tools test run --cmd npm -- run cover" }, "dependencies": { - "@google-cloud/common": "^0.15.1", + "@google-cloud/common": "^0.16.0", "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.14.2", From 36a108daa86538ee662ec1609ef62046f2c05975 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Sat, 10 Feb 2018 05:01:26 -0800 Subject: [PATCH 120/588] releasing v0.15.1 (#29) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 5d6461725b5..dfc6becf3f6 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.15.0", + "version": "0.15.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 1db32915048..0c959c6e0e7 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@google-cloud/storage": "1.4.0", - "@google-cloud/vision": "0.15.0", + "@google-cloud/vision": "0.15.1", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", From b8c8f3f5a1f17831be850e27660e3ec2a4156060 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 12 Feb 2018 19:20:02 -0800 Subject: [PATCH 121/588] releasing 0.15.2 with updated dependencies (#30) --- packages/google-cloud-vision/package.json | 6 +++--- packages/google-cloud-vision/samples/package.json | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index dfc6becf3f6..7274f06326f 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.15.1", + "version": "0.15.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { @@ -58,7 +58,7 @@ "test": "repo-tools test run --cmd npm -- run cover" }, "dependencies": { - "@google-cloud/common": "^0.16.0", + "@google-cloud/common": "^0.16.1", "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.14.2", @@ -68,7 +68,7 @@ }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.1.1", - "@google-cloud/storage": "*", + "@google-cloud/storage": "^1.5.2", "codecov": "^3.0.0", "eslint": "^4.15.0", "eslint-config-prettier": "^2.7.0", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 0c959c6e0e7..5d2e05025ac 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -12,8 +12,8 @@ "test": "repo-tools test run --cmd ava -- -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/storage": "1.4.0", - "@google-cloud/vision": "0.15.1", + "@google-cloud/storage": "^1.5.2", + "@google-cloud/vision": "0.15.2", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", From 0ab8e08339c5f95673f1299504a12c92eab1eaa1 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 22 Feb 2018 16:10:43 -0800 Subject: [PATCH 122/588] chore: removing node7 job from CircleCI (#32) * chore: removing node7 job from CircleCI * chore: rename reference --- .../google-cloud-vision/.circleci/config.yml | 62 +++++++------------ 1 file changed, 21 insertions(+), 41 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index a11d2f9bbdd..aafe4244dda 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -1,7 +1,5 @@ ---- -# "Include" for unit tests definition. -unit_tests: &unit_tests - steps: +unit_tests: + steps: &unit_tests - checkout - run: name: Install modules and dependencies. @@ -13,8 +11,7 @@ unit_tests: &unit_tests name: Submit coverage data to codecov. command: node_modules/.bin/codecov when: always - -version: 2.0 +version: 2 workflows: version: 2 tests: @@ -27,10 +24,6 @@ workflows: filters: tags: only: /.*/ - - node7: - filters: - tags: - only: /.*/ - node8: filters: tags: @@ -43,7 +36,6 @@ workflows: requires: - node4 - node6 - - node7 - node8 - node9 filters: @@ -53,7 +45,6 @@ workflows: requires: - node4 - node6 - - node7 - node8 - node9 filters: @@ -67,7 +58,7 @@ workflows: branches: only: master tags: - only: /^v[\d.]+$/ + only: '/^v[\d.]+$/' - sample_tests: requires: - lint @@ -76,7 +67,7 @@ workflows: branches: only: master tags: - only: /^v[\d.]+$/ + only: '/^v[\d.]+$/' - publish_npm: requires: - system_tests @@ -85,12 +76,11 @@ workflows: branches: ignore: /.*/ tags: - only: /^v[\d.]+$/ - + only: '/^v[\d.]+$/' jobs: node4: docker: - - image: node:4 + - image: 'node:4' user: node steps: - checkout @@ -106,28 +96,22 @@ jobs: when: always node6: docker: - - image: node:6 - user: node - <<: *unit_tests - node7: - docker: - - image: node:7 + - image: 'node:6' user: node - <<: *unit_tests + steps: *unit_tests node8: docker: - - image: node:8 + - image: 'node:8' user: node - <<: *unit_tests + steps: *unit_tests node9: docker: - - image: node:9 + - image: 'node:9' user: node - <<: *unit_tests - + steps: *unit_tests lint: docker: - - image: node:8 + - image: 'node:8' user: node steps: - checkout @@ -153,10 +137,9 @@ jobs: command: npm run lint environment: NPM_CONFIG_PREFIX: /home/node/.npm-global - docs: docker: - - image: node:8 + - image: 'node:8' user: node steps: - checkout @@ -166,10 +149,9 @@ jobs: - run: name: Build documentation. command: npm run docs - sample_tests: docker: - - image: node:8 + - image: 'node:8' user: node steps: - checkout @@ -208,10 +190,9 @@ jobs: command: rm .circleci/key.json when: always working_directory: /home/node/vision-samples - system_tests: docker: - - image: node:8 + - image: 'node:8' user: node steps: - checkout @@ -233,16 +214,15 @@ jobs: name: Remove unencrypted key. command: rm .circleci/key.json when: always - publish_npm: docker: - - image: node:8 + - image: 'node:8' user: node steps: - checkout - run: name: Set NPM authentication. - command: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc + command: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc' - run: - name: Publish the module to npm. - command: npm publish + name: Publish the module to npm. + command: npm publish From ec6a135ceaee9eb819d0394c3c0b66410d7705c9 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 2 Mar 2018 17:21:48 -0800 Subject: [PATCH 123/588] feat: generating GAPIC code for v1p2beta1 (#33) * feat: generating GAPIC code for v1p2beta1 --- packages/google-cloud-vision/package.json | 5 +- .../cloud/vision/v1p2beta1/geometry.proto | 54 + .../vision/v1p2beta1/image_annotator.proto | 754 ++++++++++ .../vision/v1p2beta1/text_annotation.proto | 259 ++++ .../vision/v1p2beta1/web_detection.proto | 106 ++ .../google-cloud-vision/samples/package.json | 2 +- packages/google-cloud-vision/src/index.js | 8 + .../cloud/vision/v1p2beta1/doc_geometry.js | 72 + .../vision/v1p2beta1/doc_image_annotator.js | 1228 +++++++++++++++++ .../vision/v1p2beta1/doc_text_annotation.js | 392 ++++++ .../vision/v1p2beta1/doc_web_detection.js | 152 ++ .../v1p2beta1/doc/google/protobuf/doc_any.js | 131 ++ .../doc/google/protobuf/doc_wrappers.js | 160 +++ .../v1p2beta1/doc/google/rpc/doc_status.js | 92 ++ .../v1p2beta1/doc/google/type/doc_color.js | 164 +++ .../v1p2beta1/doc/google/type/doc_latlng.js | 71 + .../src/v1p2beta1/image_annotator_client.js | 369 +++++ .../image_annotator_client_config.json | 36 + .../src/v1p2beta1/index.js | 19 + .../system-test/vision-v1p2beta1.js | 51 + .../test/gapic-v1p2beta1.js | 201 +++ 21 files changed, 4323 insertions(+), 3 deletions(-) create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json create mode 100644 packages/google-cloud-vision/src/v1p2beta1/index.js create mode 100644 packages/google-cloud-vision/system-test/vision-v1p2beta1.js create mode 100644 packages/google-cloud-vision/test/gapic-v1p2beta1.js diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 7274f06326f..e30b22a7d6a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.15.2", + "version": "0.16.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { @@ -64,7 +64,8 @@ "google-gax": "^0.14.2", "google-proto-files": "^0.15.0", "is": "^3.0.1", - "lodash.merge": "^4.6.0" + "lodash.merge": "^4.6.0", + "protobufjs": "^6.8.6" }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.1.1", diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto new file mode 100644 index 00000000000..1b0edb0e3d0 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto @@ -0,0 +1,54 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p2beta1; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p2beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "GeometryProto"; +option java_package = "com.google.cloud.vision.v1p2beta1"; + + +// A vertex represents a 2D point in the image. +// NOTE: the vertex coordinates are in the same scale as the original image. +message Vertex { + // X coordinate. + int32 x = 1; + + // Y coordinate. + int32 y = 2; +} + +// A bounding polygon for the detected image annotation. +message BoundingPoly { + // The bounding polygon vertices. + repeated Vertex vertices = 1; +} + +// A 3D position in the image, used primarily for Face detection landmarks. +// A valid Position must have both x and y coordinates. +// The position coordinates are in the same scale as the original image. +message Position { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; + + // Z coordinate (or depth). + float z = 3; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto new file mode 100644 index 00000000000..a7102c46d29 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -0,0 +1,754 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p2beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p2beta1/geometry.proto"; +import "google/cloud/vision/v1p2beta1/text_annotation.proto"; +import "google/cloud/vision/v1p2beta1/web_detection.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/color.proto"; +import "google/type/latlng.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p2beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ImageAnnotatorProto"; +option java_package = "com.google.cloud.vision.v1p2beta1"; + + +// Service that performs Google Cloud Vision API detection tasks over client +// images, such as face, landmark, logo, label, and text detection. The +// ImageAnnotator service returns detected entities from the images. +service ImageAnnotator { + // Run image detection and annotation for a batch of images. + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { + option (google.api.http) = { + post: "/v1p2beta1/images:annotate" + body: "*" + }; + } + + // Run async image detection and annotation for a list of generic files (e.g. + // PDF) which may contain multiple pages and multiple images per page. + // Progress and results can be retrieved through the + // `google.longrunning.Operations` interface. + // `Operation.metadata` contains `OperationMetadata` (metadata). + // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p2beta1/files:asyncBatchAnnotate" + body: "*" + }; + } +} + +// The type of Google Cloud Vision API detection to perform, and the maximum +// number of results to return for that type. Multiple `Feature` objects can +// be specified in the `features` list. +message Feature { + // Type of Google Cloud Vision API feature to be extracted. + enum Type { + // Unspecified feature type. + TYPE_UNSPECIFIED = 0; + + // Run face detection. + FACE_DETECTION = 1; + + // Run landmark detection. + LANDMARK_DETECTION = 2; + + // Run logo detection. + LOGO_DETECTION = 3; + + // Run label detection. + LABEL_DETECTION = 4; + + // Run text detection / optical character recognition (OCR). Text detection + // is optimized for areas of text within a larger image; if the image is + // a document, use `DOCUMENT_TEXT_DETECTION` instead. + TEXT_DETECTION = 5; + + // Run dense text document OCR. Takes precedence when both + // `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. + DOCUMENT_TEXT_DETECTION = 11; + + // Run Safe Search to detect potentially unsafe + // or undesirable content. + SAFE_SEARCH_DETECTION = 6; + + // Compute a set of image properties, such as the + // image's dominant colors. + IMAGE_PROPERTIES = 7; + + // Run crop hints. + CROP_HINTS = 9; + + // Run web detection. + WEB_DETECTION = 10; + } + + // The feature type. + Type type = 1; + + // Maximum number of results of this type. Does not apply to + // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + int32 max_results = 2; + + // Model to use for the feature. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; +} + +// External image source (Google Cloud Storage or web URL image location). +message ImageSource { + // **Use `image_uri` instead.** + // + // The Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. See + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. + string gcs_image_uri = 1; + + // The URI of the source image. Can be either: + // + // 1. A Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. See + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris) for more + // info. + // + // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from + // HTTP/HTTPS URLs, Google cannot guarantee that the request will be + // completed. Your request may fail if the specified host denies the + // request (e.g. due to request throttling or DOS prevention), or if Google + // throttles requests to the site for abuse prevention. You should not + // depend on externally-hosted images for production applications. + // + // When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + // precedence. + string image_uri = 2; +} + +// Client image to perform Google Cloud Vision API tasks over. +message Image { + // Image content, represented as a stream of bytes. + // Note: As with all `bytes` fields, protobuffers use a pure binary + // representation, whereas JSON representations use base64. + bytes content = 1; + + // Google Cloud Storage image location, or publicly-accessible image + // URL. If both `content` and `source` are provided for an image, `content` + // takes precedence and is used to perform the image annotation request. + ImageSource source = 2; +} + +// A face annotation object contains the results of face detection. +message FaceAnnotation { + // A face-specific landmark (for example, a face feature). + message Landmark { + // Face landmark (feature) type. + // Left and right are defined from the vantage of the viewer of the image + // without considering mirror projections typical of photos. So, `LEFT_EYE`, + // typically, is the person's right eye. + enum Type { + // Unknown face landmark detected. Should not be filled. + UNKNOWN_LANDMARK = 0; + + // Left eye. + LEFT_EYE = 1; + + // Right eye. + RIGHT_EYE = 2; + + // Left of left eyebrow. + LEFT_OF_LEFT_EYEBROW = 3; + + // Right of left eyebrow. + RIGHT_OF_LEFT_EYEBROW = 4; + + // Left of right eyebrow. + LEFT_OF_RIGHT_EYEBROW = 5; + + // Right of right eyebrow. + RIGHT_OF_RIGHT_EYEBROW = 6; + + // Midpoint between eyes. + MIDPOINT_BETWEEN_EYES = 7; + + // Nose tip. + NOSE_TIP = 8; + + // Upper lip. + UPPER_LIP = 9; + + // Lower lip. + LOWER_LIP = 10; + + // Mouth left. + MOUTH_LEFT = 11; + + // Mouth right. + MOUTH_RIGHT = 12; + + // Mouth center. + MOUTH_CENTER = 13; + + // Nose, bottom right. + NOSE_BOTTOM_RIGHT = 14; + + // Nose, bottom left. + NOSE_BOTTOM_LEFT = 15; + + // Nose, bottom center. + NOSE_BOTTOM_CENTER = 16; + + // Left eye, top boundary. + LEFT_EYE_TOP_BOUNDARY = 17; + + // Left eye, right corner. + LEFT_EYE_RIGHT_CORNER = 18; + + // Left eye, bottom boundary. + LEFT_EYE_BOTTOM_BOUNDARY = 19; + + // Left eye, left corner. + LEFT_EYE_LEFT_CORNER = 20; + + // Right eye, top boundary. + RIGHT_EYE_TOP_BOUNDARY = 21; + + // Right eye, right corner. + RIGHT_EYE_RIGHT_CORNER = 22; + + // Right eye, bottom boundary. + RIGHT_EYE_BOTTOM_BOUNDARY = 23; + + // Right eye, left corner. + RIGHT_EYE_LEFT_CORNER = 24; + + // Left eyebrow, upper midpoint. + LEFT_EYEBROW_UPPER_MIDPOINT = 25; + + // Right eyebrow, upper midpoint. + RIGHT_EYEBROW_UPPER_MIDPOINT = 26; + + // Left ear tragion. + LEFT_EAR_TRAGION = 27; + + // Right ear tragion. + RIGHT_EAR_TRAGION = 28; + + // Left eye pupil. + LEFT_EYE_PUPIL = 29; + + // Right eye pupil. + RIGHT_EYE_PUPIL = 30; + + // Forehead glabella. + FOREHEAD_GLABELLA = 31; + + // Chin gnathion. + CHIN_GNATHION = 32; + + // Chin left gonion. + CHIN_LEFT_GONION = 33; + + // Chin right gonion. + CHIN_RIGHT_GONION = 34; + } + + // Face landmark type. + Type type = 3; + + // Face landmark position. + Position position = 4; + } + + // The bounding polygon around the face. The coordinates of the bounding box + // are in the original image's scale, as returned in `ImageParams`. + // The bounding box is computed to "frame" the face in accordance with human + // expectations. It is based on the landmarker results. + // Note that one or more x and/or y coordinates may not be generated in the + // `BoundingPoly` (the polygon will be unbounded) if only a partial face + // appears in the image to be annotated. + BoundingPoly bounding_poly = 1; + + // The `fd_bounding_poly` bounding polygon is tighter than the + // `boundingPoly`, and encloses only the skin part of the face. Typically, it + // is used to eliminate the face from any image analysis that detects the + // "amount of skin" visible in an image. It is not based on the + // landmarker results, only on the initial face detection, hence + // the fd (face detection) prefix. + BoundingPoly fd_bounding_poly = 2; + + // Detected face landmarks. + repeated Landmark landmarks = 3; + + // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + // of the face relative to the image vertical about the axis perpendicular to + // the face. Range [-180,180]. + float roll_angle = 4; + + // Yaw angle, which indicates the leftward/rightward angle that the face is + // pointing relative to the vertical plane perpendicular to the image. Range + // [-180,180]. + float pan_angle = 5; + + // Pitch angle, which indicates the upwards/downwards angle that the face is + // pointing relative to the image's horizontal plane. Range [-180,180]. + float tilt_angle = 6; + + // Detection confidence. Range [0, 1]. + float detection_confidence = 7; + + // Face landmarking confidence. Range [0, 1]. + float landmarking_confidence = 8; + + // Joy likelihood. + Likelihood joy_likelihood = 9; + + // Sorrow likelihood. + Likelihood sorrow_likelihood = 10; + + // Anger likelihood. + Likelihood anger_likelihood = 11; + + // Surprise likelihood. + Likelihood surprise_likelihood = 12; + + // Under-exposed likelihood. + Likelihood under_exposed_likelihood = 13; + + // Blurred likelihood. + Likelihood blurred_likelihood = 14; + + // Headwear likelihood. + Likelihood headwear_likelihood = 15; +} + +// Detected entity location information. +message LocationInfo { + // lat/long location coordinates. + google.type.LatLng lat_lng = 1; +} + +// A `Property` consists of a user-supplied name/value pair. +message Property { + // Name of the property. + string name = 1; + + // Value of the property. + string value = 2; + + // Value of numeric properties. + uint64 uint64_value = 3; +} + +// Set of detected entity features. +message EntityAnnotation { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). + string mid = 1; + + // The language code for the locale in which the entity textual + // `description` is expressed. + string locale = 2; + + // Entity textual description, expressed in its `locale` language. + string description = 3; + + // Overall score of the result. Range [0, 1]. + float score = 4; + + // **Deprecated. Use `score` instead.** + // The accuracy of the entity detection in an image. + // For example, for an image in which the "Eiffel Tower" entity is detected, + // this field represents the confidence that there is a tower in the query + // image. Range [0, 1]. + float confidence = 5; + + // The relevancy of the ICA (Image Content Annotation) label to the + // image. For example, the relevancy of "tower" is likely higher to an image + // containing the detected "Eiffel Tower" than to an image containing a + // detected distant towering building, even though the confidence that + // there is a tower in each image may be the same. Range [0, 1]. + float topicality = 6; + + // Image region to which this entity belongs. Not produced + // for `LABEL_DETECTION` features. + BoundingPoly bounding_poly = 7; + + // The location information for the detected entity. Multiple + // `LocationInfo` elements can be present because one location may + // indicate the location of the scene in the image, and another location + // may indicate the location of the place where the image was taken. + // Location information is usually present for landmarks. + repeated LocationInfo locations = 8; + + // Some entities may have optional user-supplied `Property` (name/value) + // fields, such a score or string that qualifies the entity. + repeated Property properties = 9; +} + +// Set of features pertaining to the image, computed by computer vision +// methods over safe-search verticals (for example, adult, spoof, medical, +// violence). +message SafeSearchAnnotation { + // Represents the adult content likelihood for the image. Adult content may + // contain elements such as nudity, pornographic images or cartoons, or + // sexual activities. + Likelihood adult = 1; + + // Spoof likelihood. The likelihood that an modification + // was made to the image's canonical version to make it appear + // funny or offensive. + Likelihood spoof = 2; + + // Likelihood that this is a medical image. + Likelihood medical = 3; + + // Likelihood that this image contains violent content. + Likelihood violence = 4; + + // Likelihood that the request image contains racy content. Racy content may + // include (but is not limited to) skimpy or sheer clothing, strategically + // covered nudity, lewd or provocative poses, or close-ups of sensitive + // body areas. + Likelihood racy = 9; +} + +// Rectangle determined by min and max `LatLng` pairs. +message LatLongRect { + // Min lat/long pair. + google.type.LatLng min_lat_lng = 1; + + // Max lat/long pair. + google.type.LatLng max_lat_lng = 2; +} + +// Color information consists of RGB channels, score, and the fraction of +// the image that the color occupies in the image. +message ColorInfo { + // RGB components of the color. + google.type.Color color = 1; + + // Image-specific score for this color. Value in range [0, 1]. + float score = 2; + + // The fraction of pixels the color occupies in the image. + // Value in range [0, 1]. + float pixel_fraction = 3; +} + +// Set of dominant colors and their corresponding scores. +message DominantColorsAnnotation { + // RGB color values with their score and pixel fraction. + repeated ColorInfo colors = 1; +} + +// Stores image properties, such as dominant colors. +message ImageProperties { + // If present, dominant colors completed successfully. + DominantColorsAnnotation dominant_colors = 1; +} + +// Single crop hint that is used to generate a new crop when serving an image. +message CropHint { + // The bounding polygon for the crop region. The coordinates of the bounding + // box are in the original image's scale, as returned in `ImageParams`. + BoundingPoly bounding_poly = 1; + + // Confidence of this being a salient region. Range [0, 1]. + float confidence = 2; + + // Fraction of importance of this salient region with respect to the original + // image. + float importance_fraction = 3; +} + +// Set of crop hints that are used to generate new crops when serving images. +message CropHintsAnnotation { + // Crop hint results. + repeated CropHint crop_hints = 1; +} + +// Parameters for crop hints annotation request. +message CropHintsParams { + // Aspect ratios in floats, representing the ratio of the width to the height + // of the image. For example, if the desired aspect ratio is 4/3, the + // corresponding float value should be 1.33333. If not specified, the + // best possible crop is returned. The number of provided aspect ratios is + // limited to a maximum of 16; any aspect ratios provided after the 16th are + // ignored. + repeated float aspect_ratios = 1; +} + +// Parameters for web detection request. +message WebDetectionParams { + // Whether to include results derived from the geo information in the image. + bool include_geo_results = 2; +} + +// Image context and/or feature-specific parameters. +message ImageContext { + // lat/long rectangle that specifies the location of the image. + LatLongRect lat_long_rect = 1; + + // List of languages to use for TEXT_DETECTION. In most cases, an empty value + // yields the best results since it enables automatic language detection. For + // languages based on the Latin alphabet, setting `language_hints` is not + // needed. In rare cases, when the language of the text in the image is known, + // setting a hint will help get better results (although it will be a + // significant hindrance if the hint is wrong). Text detection returns an + // error if one or more of the specified languages is not one of the + // [supported languages](/vision/docs/languages). + repeated string language_hints = 2; + + // Parameters for crop hints annotation request. + CropHintsParams crop_hints_params = 4; + + // Parameters for web detection. + WebDetectionParams web_detection_params = 6; +} + +// Request for performing Google Cloud Vision API tasks over a user-provided +// image, with user-requested features. +message AnnotateImageRequest { + // The image to be processed. + Image image = 1; + + // Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image. + ImageContext image_context = 3; +} + +// If an image was produced from a file (e.g. a PDF), this message gives +// information about the source of that image. +message ImageAnnotationContext { + // The URI of the file used to produce the image. + string uri = 1; + + // If the file was a PDF or TIFF, this field gives the page number within + // the file used to produce the image. + int32 page_number = 2; +} + +// Response to an image annotation request. +message AnnotateImageResponse { + // If present, face detection has completed successfully. + repeated FaceAnnotation face_annotations = 1; + + // If present, landmark detection has completed successfully. + repeated EntityAnnotation landmark_annotations = 2; + + // If present, logo detection has completed successfully. + repeated EntityAnnotation logo_annotations = 3; + + // If present, label detection has completed successfully. + repeated EntityAnnotation label_annotations = 4; + + // If present, text (OCR) detection has completed successfully. + repeated EntityAnnotation text_annotations = 5; + + // If present, text (OCR) detection or document (OCR) text detection has + // completed successfully. + // This annotation provides the structural hierarchy for the OCR detected + // text. + TextAnnotation full_text_annotation = 12; + + // If present, safe-search annotation has completed successfully. + SafeSearchAnnotation safe_search_annotation = 6; + + // If present, image properties were extracted successfully. + ImageProperties image_properties_annotation = 8; + + // If present, crop hints have completed successfully. + CropHintsAnnotation crop_hints_annotation = 11; + + // If present, web detection has completed successfully. + WebDetection web_detection = 13; + + // If set, represents the error message for the operation. + // Note that filled-in image annotations are guaranteed to be + // correct, even when `error` is set. + google.rpc.Status error = 9; + + // If present, contextual information is needed to understand where this image + // comes from. + ImageAnnotationContext context = 21; +} + +// Multiple image annotation requests are batched into a single service call. +message BatchAnnotateImagesRequest { + // Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1; +} + +// Response to a batch image annotation request. +message BatchAnnotateImagesResponse { + // Individual responses to image annotation requests within the batch. + repeated AnnotateImageResponse responses = 1; +} + +// An offline file annotation request. +message AsyncAnnotateFileRequest { + // Required. Information about the input file. + InputConfig input_config = 1; + + // Required. Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image(s) in the file. + ImageContext image_context = 3; + + // Required. The desired output location and metadata (e.g. format). + OutputConfig output_config = 4; +} + +// The response for a single offline file annotation request. +message AsyncAnnotateFileResponse { + // The output location and metadata from AsyncAnnotateFileRequest. + OutputConfig output_config = 1; +} + +// Multiple async file annotation requests are batched into a single service +// call. +message AsyncBatchAnnotateFilesRequest { + // Individual async file annotation requests for this batch. + repeated AsyncAnnotateFileRequest requests = 1; +} + +// Response to an async batch file annotation request. +message AsyncBatchAnnotateFilesResponse { + // The list of file annotation responses, one for each request in + // AsyncBatchAnnotateFilesRequest. + repeated AsyncAnnotateFileResponse responses = 1; +} + +// The desired input location and metadata. +message InputConfig { + // The Google Cloud Storage location to read the input from. + GcsSource gcs_source = 1; + + // The type of the file. Currently only "application/pdf" and "image/tiff" + // are supported. Wildcards are not supported. + string mime_type = 2; +} + +// The desired output location and metadata. +message OutputConfig { + // The Google Cloud Storage location to write the output(s) to. + GcsDestination gcs_destination = 1; + + // The max number of response protos to put into each output JSON file on GCS. + // The valid range is [1, 100]. If not specified, the default value is 20. + // + // For example, for one pdf file with 100 pages, 100 response protos will + // be generated. If `batch_size` = 20, then 5 json files each + // containing 20 response protos will be written under the prefix + // `gcs_destination`.`uri`. + // + // Currently, batch_size only applies to GcsDestination, with potential future + // support for other output configurations. + int32 batch_size = 2; +} + +// The Google Cloud Storage location where the input will be read from. +message GcsSource { + // Google Cloud Storage URI for the input file. This must only be a GCS + // object. Wildcards are not currently supported. + string uri = 1; +} + +// The Google Cloud Storage location where the output will be written to. +message GcsDestination { + // Google Cloud Storage URI where the results will be stored. Results will + // be in JSON format and preceded by its corresponding input URI. This field + // can either represent a single file, or a prefix for multiple outputs. + // Prefixes must end in a `/`. + // + // Examples: + // + // * File: gs://bucket-name/filename.json + // * Prefix: gs://bucket-name/prefix/here/ + // * File: gs://bucket-name/prefix/here + // + // If multiple outputs, each response is still AnnotateFileResponse, each of + // which contains some subset of the full list of AnnotateImageResponse. + // Multiple outputs can happen if, for example, the output JSON is too large + // and overflows into multiple sharded files. + string uri = 1; +} + +// Contains metadata for the BatchAnnotateImages operation. +message OperationMetadata { + // Batch operation states. + enum State { + // Invalid. + STATE_UNSPECIFIED = 0; + + // Request is received. + CREATED = 1; + + // Request is actively being processed. + RUNNING = 2; + + // The batch processing is done. + DONE = 3; + + // The batch processing was cancelled. + CANCELLED = 4; + } + + // Current state of the batch operation. + State state = 1; + + // The time when the batch request was received. + google.protobuf.Timestamp create_time = 5; + + // The time when the operation result was last updated. + google.protobuf.Timestamp update_time = 6; +} + +// A bucketized representation of likelihood, which is intended to give clients +// highly stable results across model upgrades. +enum Likelihood { + // Unknown likelihood. + UNKNOWN = 0; + + // It is very unlikely that the image belongs to the specified vertical. + VERY_UNLIKELY = 1; + + // It is unlikely that the image belongs to the specified vertical. + UNLIKELY = 2; + + // It is possible that the image belongs to the specified vertical. + POSSIBLE = 3; + + // It is likely that the image belongs to the specified vertical. + LIKELY = 4; + + // It is very likely that the image belongs to the specified vertical. + VERY_LIKELY = 5; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto new file mode 100644 index 00000000000..a8c5b869acf --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto @@ -0,0 +1,259 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p2beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p2beta1/geometry.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p2beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "TextAnnotationProto"; +option java_package = "com.google.cloud.vision.v1p2beta1"; + + +// TextAnnotation contains a structured representation of OCR extracted text. +// The hierarchy of an OCR extracted text structure is like this: +// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol +// Each structural component, starting from Page, may further have their own +// properties. Properties describe detected languages, breaks etc.. Please refer +// to the [TextAnnotation.TextProperty][google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty] message definition below for more +// detail. +message TextAnnotation { + // Detected language for a structural component. + message DetectedLanguage { + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 1; + + // Confidence of detected language. Range [0, 1]. + float confidence = 2; + } + + // Detected start or end of a structural component. + message DetectedBreak { + // Enum to denote the type of break found. New line, space etc. + enum BreakType { + // Unknown break label type. + UNKNOWN = 0; + + // Regular space. + SPACE = 1; + + // Sure space (very wide). + SURE_SPACE = 2; + + // Line-wrapping break. + EOL_SURE_SPACE = 3; + + // End-line hyphen that is not present in text; does not co-occur with + // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. + HYPHEN = 4; + + // Line break that ends a paragraph. + LINE_BREAK = 5; + } + + // Detected break type. + BreakType type = 1; + + // True if break prepends the element. + bool is_prefix = 2; + } + + // Additional information detected on the structural component. + message TextProperty { + // A list of detected languages together with confidence. + repeated DetectedLanguage detected_languages = 1; + + // Detected start or end of a text segment. + DetectedBreak detected_break = 2; + } + + // List of pages detected by OCR. + repeated Page pages = 1; + + // UTF-8 text detected on the pages. + string text = 2; +} + +// Detected page from OCR. +message Page { + // Additional information detected on the page. + TextAnnotation.TextProperty property = 1; + + // Page width. For PDFs the unit is points. For images (including + // TIFFs) the unit is pixels. + int32 width = 2; + + // Page height. For PDFs the unit is points. For images (including + // TIFFs) the unit is pixels. + int32 height = 3; + + // List of blocks of text, images etc on this page. + repeated Block blocks = 4; + + // Confidence of the OCR results on the page. Range [0, 1]. + float confidence = 5; +} + +// Logical element on the page. +message Block { + // Type of a block (text, image etc) as identified by OCR. + enum BlockType { + // Unknown block type. + UNKNOWN = 0; + + // Regular text block. + TEXT = 1; + + // Table block. + TABLE = 2; + + // Image block. + PICTURE = 3; + + // Horizontal/vertical line box. + RULER = 4; + + // Barcode block. + BARCODE = 5; + } + + // Additional information detected for the block. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the block. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // + // * when the text is horizontal it might look like: + // + // 0----1 + // | | + // 3----2 + // + // * when it's rotated 180 degrees around the top-left corner it becomes: + // + // 2----3 + // | | + // 1----0 + // + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of paragraphs in this block (if this blocks is of type text). + repeated Paragraph paragraphs = 3; + + // Detected block type (text, image etc) for this block. + BlockType block_type = 4; + + // Confidence of the OCR results on the block. Range [0, 1]. + float confidence = 5; +} + +// Structural unit of text representing a number of words in certain order. +message Paragraph { + // Additional information detected for the paragraph. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the paragraph. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of words in this paragraph. + repeated Word words = 3; + + // Confidence of the OCR results for the paragraph. Range [0, 1]. + float confidence = 4; +} + +// A word representation. +message Word { + // Additional information detected for the word. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the word. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of symbols in the word. + // The order of the symbols follows the natural reading order. + repeated Symbol symbols = 3; + + // Confidence of the OCR results for the word. Range [0, 1]. + float confidence = 4; +} + +// A single symbol representation. +message Symbol { + // Additional information detected for the symbol. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the symbol. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // The actual UTF-8 representation of the symbol. + string text = 3; + + // Confidence of the OCR results for the symbol. Range [0, 1]. + float confidence = 4; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto new file mode 100644 index 00000000000..7cbeac11a95 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto @@ -0,0 +1,106 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p2beta1; + +import "google/api/annotations.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p2beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "WebDetectionProto"; +option java_package = "com.google.cloud.vision.v1p2beta1"; + + +// Relevant information for the image from the Internet. +message WebDetection { + // Entity deduced from similar images on the Internet. + message WebEntity { + // Opaque entity ID. + string entity_id = 1; + + // Overall relevancy score for the entity. + // Not normalized and not comparable across different image queries. + float score = 2; + + // Canonical description of the entity, in English. + string description = 3; + } + + // Metadata for online images. + message WebImage { + // The result image URL. + string url = 1; + + // (Deprecated) Overall relevancy score for the image. + float score = 2; + } + + // Metadata for web pages. + message WebPage { + // The result web page URL. + string url = 1; + + // (Deprecated) Overall relevancy score for the web page. + float score = 2; + + // Title for the web page, may contain HTML markups. + string page_title = 3; + + // Fully matching images on the page. + // Can include resized copies of the query image. + repeated WebImage full_matching_images = 4; + + // Partial matching images on the page. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its + // crops. + repeated WebImage partial_matching_images = 5; + } + + // Label to provide extra metadata for the web detection. + message WebLabel { + // Label for extra metadata. + string label = 1; + + // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + } + + // Deduced entities from similar images on the Internet. + repeated WebEntity web_entities = 1; + + // Fully matching images from the Internet. + // Can include resized copies of the query image. + repeated WebImage full_matching_images = 2; + + // Partial matching images from the Internet. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its crops. + repeated WebImage partial_matching_images = 3; + + // Web pages containing the matching images from the Internet. + repeated WebPage pages_with_matching_images = 4; + + // The visually similar image results. + repeated WebImage visually_similar_images = 6; + + // The service's best guess as to the topic of the request image. + // Inferred from similar images on the open web. + repeated WebLabel best_guess_labels = 8; +} diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 5d2e05025ac..69df5463f5d 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@google-cloud/storage": "^1.5.2", - "@google-cloud/vision": "0.15.2", + "@google-cloud/vision": "0.16.0", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index ab541eeb92b..74c0d5c391e 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -45,6 +45,7 @@ const helpers = require('./helpers'); const gapic = Object.freeze({ v1: require('./v1'), v1p1beta1: require('./v1p1beta1'), + v1p2beta1: require('./v1p2beta1'), }); // Augment the SpeechClient objects with the helpers. @@ -95,5 +96,12 @@ module.exports.v1 = gapic.v1; */ module.exports.v1p1beta1 = gapic.v1p1beta1; +/** + * @type {object} + * @property {constructor} ImageAnnotatorClient + * Reference to {@link v1p2beta1.ImageAnnotatorClient} + */ +module.exports.v1p2beta1 = gapic.v1p2beta1; + // Alias `module.exports` as `module.exports.default`, for future-proofing. module.exports.default = Object.assign({}, module.exports); diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js new file mode 100644 index 00000000000..03fe81228d6 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js @@ -0,0 +1,72 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A vertex represents a 2D point in the image. + * NOTE: the vertex coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @typedef Vertex + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} + */ +var Vertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A bounding polygon for the detected image annotation. + * + * @property {Object[]} vertices + * The bounding polygon vertices. + * + * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1p2beta1.Vertex} + * + * @typedef BoundingPoly + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} + */ +var BoundingPoly = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A 3D position in the image, used primarily for Face detection landmarks. + * A valid Position must have both x and y coordinates. + * The position coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @property {number} z + * Z coordinate (or depth). + * + * @typedef Position + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} + */ +var Position = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js new file mode 100644 index 00000000000..4a1a5dba226 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js @@ -0,0 +1,1228 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * The type of Google Cloud Vision API detection to perform, and the maximum + * number of results to return for that type. Multiple `Feature` objects can + * be specified in the `features` list. + * + * @property {number} type + * The feature type. + * + * The number should be among the values of [Type]{@link google.cloud.vision.v1p2beta1.Type} + * + * @property {number} maxResults + * Maximum number of results of this type. Does not apply to + * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + * + * @property {string} model + * Model to use for the feature. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef Feature + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var Feature = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of Google Cloud Vision API feature to be extracted. + * + * @enum {number} + * @memberof google.cloud.vision.v1p2beta1 + */ + Type: { + + /** + * Unspecified feature type. + */ + TYPE_UNSPECIFIED: 0, + + /** + * Run face detection. + */ + FACE_DETECTION: 1, + + /** + * Run landmark detection. + */ + LANDMARK_DETECTION: 2, + + /** + * Run logo detection. + */ + LOGO_DETECTION: 3, + + /** + * Run label detection. + */ + LABEL_DETECTION: 4, + + /** + * Run text detection / optical character recognition (OCR). Text detection + * is optimized for areas of text within a larger image; if the image is + * a document, use `DOCUMENT_TEXT_DETECTION` instead. + */ + TEXT_DETECTION: 5, + + /** + * Run dense text document OCR. Takes precedence when both + * `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. + */ + DOCUMENT_TEXT_DETECTION: 11, + + /** + * Run Safe Search to detect potentially unsafe + * or undesirable content. + */ + SAFE_SEARCH_DETECTION: 6, + + /** + * Compute a set of image properties, such as the + * image's dominant colors. + */ + IMAGE_PROPERTIES: 7, + + /** + * Run crop hints. + */ + CROP_HINTS: 9, + + /** + * Run web detection. + */ + WEB_DETECTION: 10 + } +}; + +/** + * External image source (Google Cloud Storage or web URL image location). + * + * @property {string} gcsImageUri + * **Use `image_uri` instead.** + * + * The Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. + * + * @property {string} imageUri + * The URI of the source image. Can be either: + * + * 1. A Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. + * + * 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from + * HTTP/HTTPS URLs, Google cannot guarantee that the request will be + * completed. Your request may fail if the specified host denies the + * request (e.g. due to request throttling or DOS prevention), or if Google + * throttles requests to the site for abuse prevention. You should not + * depend on externally-hosted images for production applications. + * + * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + * precedence. + * + * @typedef ImageSource + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var ImageSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Client image to perform Google Cloud Vision API tasks over. + * + * @property {string} content + * Image content, represented as a stream of bytes. + * Note: As with all `bytes` fields, protobuffers use a pure binary + * representation, whereas JSON representations use base64. + * + * @property {Object} source + * Google Cloud Storage image location, or publicly-accessible image + * URL. If both `content` and `source` are provided for an image, `content` + * takes precedence and is used to perform the image annotation request. + * + * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1p2beta1.ImageSource} + * + * @typedef Image + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var Image = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A face annotation object contains the results of face detection. + * + * @property {Object} boundingPoly + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. + * The bounding box is computed to "frame" the face in accordance with human + * expectations. It is based on the landmarker results. + * Note that one or more x and/or y coordinates may not be generated in the + * `BoundingPoly` (the polygon will be unbounded) if only a partial face + * appears in the image to be annotated. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} + * + * @property {Object} fdBoundingPoly + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, it + * is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence + * the fd (face detection) prefix. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} + * + * @property {Object[]} landmarks + * Detected face landmarks. + * + * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1p2beta1.Landmark} + * + * @property {number} rollAngle + * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + * of the face relative to the image vertical about the axis perpendicular to + * the face. Range [-180,180]. + * + * @property {number} panAngle + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + * + * @property {number} tiltAngle + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + * + * @property {number} detectionConfidence + * Detection confidence. Range [0, 1]. + * + * @property {number} landmarkingConfidence + * Face landmarking confidence. Range [0, 1]. + * + * @property {number} joyLikelihood + * Joy likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} sorrowLikelihood + * Sorrow likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} angerLikelihood + * Anger likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} surpriseLikelihood + * Surprise likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} underExposedLikelihood + * Under-exposed likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} blurredLikelihood + * Blurred likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} headwearLikelihood + * Headwear likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @typedef FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var FaceAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * A face-specific landmark (for example, a face feature). + * + * @property {number} type + * Face landmark type. + * + * The number should be among the values of [Type]{@link google.cloud.vision.v1p2beta1.Type} + * + * @property {Object} position + * Face landmark position. + * + * This object should have the same structure as [Position]{@link google.cloud.vision.v1p2beta1.Position} + * + * @typedef Landmark + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ + Landmark: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Face landmark (feature) type. + * Left and right are defined from the vantage of the viewer of the image + * without considering mirror projections typical of photos. So, `LEFT_EYE`, + * typically, is the person's right eye. + * + * @enum {number} + * @memberof google.cloud.vision.v1p2beta1 + */ + Type: { + + /** + * Unknown face landmark detected. Should not be filled. + */ + UNKNOWN_LANDMARK: 0, + + /** + * Left eye. + */ + LEFT_EYE: 1, + + /** + * Right eye. + */ + RIGHT_EYE: 2, + + /** + * Left of left eyebrow. + */ + LEFT_OF_LEFT_EYEBROW: 3, + + /** + * Right of left eyebrow. + */ + RIGHT_OF_LEFT_EYEBROW: 4, + + /** + * Left of right eyebrow. + */ + LEFT_OF_RIGHT_EYEBROW: 5, + + /** + * Right of right eyebrow. + */ + RIGHT_OF_RIGHT_EYEBROW: 6, + + /** + * Midpoint between eyes. + */ + MIDPOINT_BETWEEN_EYES: 7, + + /** + * Nose tip. + */ + NOSE_TIP: 8, + + /** + * Upper lip. + */ + UPPER_LIP: 9, + + /** + * Lower lip. + */ + LOWER_LIP: 10, + + /** + * Mouth left. + */ + MOUTH_LEFT: 11, + + /** + * Mouth right. + */ + MOUTH_RIGHT: 12, + + /** + * Mouth center. + */ + MOUTH_CENTER: 13, + + /** + * Nose, bottom right. + */ + NOSE_BOTTOM_RIGHT: 14, + + /** + * Nose, bottom left. + */ + NOSE_BOTTOM_LEFT: 15, + + /** + * Nose, bottom center. + */ + NOSE_BOTTOM_CENTER: 16, + + /** + * Left eye, top boundary. + */ + LEFT_EYE_TOP_BOUNDARY: 17, + + /** + * Left eye, right corner. + */ + LEFT_EYE_RIGHT_CORNER: 18, + + /** + * Left eye, bottom boundary. + */ + LEFT_EYE_BOTTOM_BOUNDARY: 19, + + /** + * Left eye, left corner. + */ + LEFT_EYE_LEFT_CORNER: 20, + + /** + * Right eye, top boundary. + */ + RIGHT_EYE_TOP_BOUNDARY: 21, + + /** + * Right eye, right corner. + */ + RIGHT_EYE_RIGHT_CORNER: 22, + + /** + * Right eye, bottom boundary. + */ + RIGHT_EYE_BOTTOM_BOUNDARY: 23, + + /** + * Right eye, left corner. + */ + RIGHT_EYE_LEFT_CORNER: 24, + + /** + * Left eyebrow, upper midpoint. + */ + LEFT_EYEBROW_UPPER_MIDPOINT: 25, + + /** + * Right eyebrow, upper midpoint. + */ + RIGHT_EYEBROW_UPPER_MIDPOINT: 26, + + /** + * Left ear tragion. + */ + LEFT_EAR_TRAGION: 27, + + /** + * Right ear tragion. + */ + RIGHT_EAR_TRAGION: 28, + + /** + * Left eye pupil. + */ + LEFT_EYE_PUPIL: 29, + + /** + * Right eye pupil. + */ + RIGHT_EYE_PUPIL: 30, + + /** + * Forehead glabella. + */ + FOREHEAD_GLABELLA: 31, + + /** + * Chin gnathion. + */ + CHIN_GNATHION: 32, + + /** + * Chin left gonion. + */ + CHIN_LEFT_GONION: 33, + + /** + * Chin right gonion. + */ + CHIN_RIGHT_GONION: 34 + } + } +}; + +/** + * Detected entity location information. + * + * @property {Object} latLng + * lat/long location coordinates. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @typedef LocationInfo + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var LocationInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A `Property` consists of a user-supplied name/value pair. + * + * @property {string} name + * Name of the property. + * + * @property {string} value + * Value of the property. + * + * @property {number} uint64Value + * Value of numeric properties. + * + * @typedef Property + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var Property = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of detected entity features. + * + * @property {string} mid + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). + * + * @property {string} locale + * The language code for the locale in which the entity textual + * `description` is expressed. + * + * @property {string} description + * Entity textual description, expressed in its `locale` language. + * + * @property {number} score + * Overall score of the result. Range [0, 1]. + * + * @property {number} confidence + * **Deprecated. Use `score` instead.** + * The accuracy of the entity detection in an image. + * For example, for an image in which the "Eiffel Tower" entity is detected, + * this field represents the confidence that there is a tower in the query + * image. Range [0, 1]. + * + * @property {number} topicality + * The relevancy of the ICA (Image Content Annotation) label to the + * image. For example, the relevancy of "tower" is likely higher to an image + * containing the detected "Eiffel Tower" than to an image containing a + * detected distant towering building, even though the confidence that + * there is a tower in each image may be the same. Range [0, 1]. + * + * @property {Object} boundingPoly + * Image region to which this entity belongs. Not produced + * for `LABEL_DETECTION` features. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} + * + * @property {Object[]} locations + * The location information for the detected entity. Multiple + * `LocationInfo` elements can be present because one location may + * indicate the location of the scene in the image, and another location + * may indicate the location of the place where the image was taken. + * Location information is usually present for landmarks. + * + * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1p2beta1.LocationInfo} + * + * @property {Object[]} properties + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + * + * This object should have the same structure as [Property]{@link google.cloud.vision.v1p2beta1.Property} + * + * @typedef EntityAnnotation + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var EntityAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + * + * @property {number} adult + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} spoof + * Spoof likelihood. The likelihood that an modification + * was made to the image's canonical version to make it appear + * funny or offensive. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} medical + * Likelihood that this is a medical image. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} violence + * Likelihood that this image contains violent content. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @property {number} racy + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive + * body areas. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} + * + * @typedef SafeSearchAnnotation + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var SafeSearchAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Rectangle determined by min and max `LatLng` pairs. + * + * @property {Object} minLatLng + * Min lat/long pair. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @property {Object} maxLatLng + * Max lat/long pair. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @typedef LatLongRect + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var LatLongRect = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Color information consists of RGB channels, score, and the fraction of + * the image that the color occupies in the image. + * + * @property {Object} color + * RGB components of the color. + * + * This object should have the same structure as [Color]{@link google.type.Color} + * + * @property {number} score + * Image-specific score for this color. Value in range [0, 1]. + * + * @property {number} pixelFraction + * The fraction of pixels the color occupies in the image. + * Value in range [0, 1]. + * + * @typedef ColorInfo + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var ColorInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of dominant colors and their corresponding scores. + * + * @property {Object[]} colors + * RGB color values with their score and pixel fraction. + * + * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1p2beta1.ColorInfo} + * + * @typedef DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var DominantColorsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Stores image properties, such as dominant colors. + * + * @property {Object} dominantColors + * If present, dominant colors completed successfully. + * + * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation} + * + * @typedef ImageProperties + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var ImageProperties = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Single crop hint that is used to generate a new crop when serving an image. + * + * @property {Object} boundingPoly + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} + * + * @property {number} confidence + * Confidence of this being a salient region. Range [0, 1]. + * + * @property {number} importanceFraction + * Fraction of importance of this salient region with respect to the original + * image. + * + * @typedef CropHint + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var CropHint = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of crop hints that are used to generate new crops when serving images. + * + * @property {Object[]} cropHints + * Crop hint results. + * + * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1p2beta1.CropHint} + * + * @typedef CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var CropHintsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Parameters for crop hints annotation request. + * + * @property {number[]} aspectRatios + * Aspect ratios in floats, representing the ratio of the width to the height + * of the image. For example, if the desired aspect ratio is 4/3, the + * corresponding float value should be 1.33333. If not specified, the + * best possible crop is returned. The number of provided aspect ratios is + * limited to a maximum of 16; any aspect ratios provided after the 16th are + * ignored. + * + * @typedef CropHintsParams + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var CropHintsParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Parameters for web detection request. + * + * @property {boolean} includeGeoResults + * Whether to include results derived from the geo information in the image. + * + * @typedef WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var WebDetectionParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Image context and/or feature-specific parameters. + * + * @property {Object} latLongRect + * lat/long rectangle that specifies the location of the image. + * + * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1p2beta1.LatLongRect} + * + * @property {string[]} languageHints + * List of languages to use for TEXT_DETECTION. In most cases, an empty value + * yields the best results since it enables automatic language detection. For + * languages based on the Latin alphabet, setting `language_hints` is not + * needed. In rare cases, when the language of the text in the image is known, + * setting a hint will help get better results (although it will be a + * significant hindrance if the hint is wrong). Text detection returns an + * error if one or more of the specified languages is not one of the + * [supported languages](https://cloud.google.com/vision/docs/languages). + * + * @property {Object} cropHintsParams + * Parameters for crop hints annotation request. + * + * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1p2beta1.CropHintsParams} + * + * @property {Object} webDetectionParams + * Parameters for web detection. + * + * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1p2beta1.WebDetectionParams} + * + * @typedef ImageContext + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var ImageContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request for performing Google Cloud Vision API tasks over a user-provided + * image, with user-requested features. + * + * @property {Object} image + * The image to be processed. + * + * This object should have the same structure as [Image]{@link google.cloud.vision.v1p2beta1.Image} + * + * @property {Object[]} features + * Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p2beta1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p2beta1.ImageContext} + * + * @typedef AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var AnnotateImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + * + * @property {string} uri + * The URI of the file used to produce the image. + * + * @property {number} pageNumber + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + * + * @typedef ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var ImageAnnotationContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an image annotation request. + * + * @property {Object[]} faceAnnotations + * If present, face detection has completed successfully. + * + * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1p2beta1.FaceAnnotation} + * + * @property {Object[]} landmarkAnnotations + * If present, landmark detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p2beta1.EntityAnnotation} + * + * @property {Object[]} logoAnnotations + * If present, logo detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p2beta1.EntityAnnotation} + * + * @property {Object[]} labelAnnotations + * If present, label detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p2beta1.EntityAnnotation} + * + * @property {Object[]} textAnnotations + * If present, text (OCR) detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p2beta1.EntityAnnotation} + * + * @property {Object} fullTextAnnotation + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. + * This annotation provides the structural hierarchy for the OCR detected + * text. + * + * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1p2beta1.TextAnnotation} + * + * @property {Object} safeSearchAnnotation + * If present, safe-search annotation has completed successfully. + * + * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation} + * + * @property {Object} imagePropertiesAnnotation + * If present, image properties were extracted successfully. + * + * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1p2beta1.ImageProperties} + * + * @property {Object} cropHintsAnnotation + * If present, crop hints have completed successfully. + * + * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1p2beta1.CropHintsAnnotation} + * + * @property {Object} webDetection + * If present, web detection has completed successfully. + * + * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1p2beta1.WebDetection} + * + * @property {Object} error + * If set, represents the error message for the operation. + * Note that filled-in image annotations are guaranteed to be + * correct, even when `error` is set. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @property {Object} context + * If present, contextual information is needed to understand where this image + * comes from. + * + * This object should have the same structure as [ImageAnnotationContext]{@link google.cloud.vision.v1p2beta1.ImageAnnotationContext} + * + * @typedef AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var AnnotateImageResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Multiple image annotation requests are batched into a single service call. + * + * @property {Object[]} requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p2beta1.AnnotateImageRequest} + * + * @typedef BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var BatchAnnotateImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to a batch image annotation request. + * + * @property {Object[]} responses + * Individual responses to image annotation requests within the batch. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p2beta1.AnnotateImageResponse} + * + * @typedef BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var BatchAnnotateImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * An offline file annotation request. + * + * @property {Object} inputConfig + * Required. Information about the input file. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p2beta1.InputConfig} + * + * @property {Object[]} features + * Required. Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p2beta1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image(s) in the file. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p2beta1.ImageContext} + * + * @property {Object} outputConfig + * Required. The desired output location and metadata (e.g. format). + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p2beta1.OutputConfig} + * + * @typedef AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var AsyncAnnotateFileRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The response for a single offline file annotation request. + * + * @property {Object} outputConfig + * The output location and metadata from AsyncAnnotateFileRequest. + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p2beta1.OutputConfig} + * + * @typedef AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var AsyncAnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Multiple async file annotation requests are batched into a single service + * call. + * + * @property {Object[]} requests + * Individual async file annotation requests for this batch. + * + * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} + * + * @typedef AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var AsyncBatchAnnotateFilesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an async batch file annotation request. + * + * @property {Object[]} responses + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + * + * This object should have the same structure as [AsyncAnnotateFileResponse]{@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} + * + * @typedef AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var AsyncBatchAnnotateFilesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The desired input location and metadata. + * + * @property {Object} gcsSource + * The Google Cloud Storage location to read the input from. + * + * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1p2beta1.GcsSource} + * + * @property {string} mimeType + * The type of the file. Currently only "application/pdf" and "image/tiff" + * are supported. Wildcards are not supported. + * + * @typedef InputConfig + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var InputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The desired output location and metadata. + * + * @property {Object} gcsDestination + * The Google Cloud Storage location to write the output(s) to. + * + * This object should have the same structure as [GcsDestination]{@link google.cloud.vision.v1p2beta1.GcsDestination} + * + * @property {number} batchSize + * The max number of response protos to put into each output JSON file on GCS. + * The valid range is [1, 100]. If not specified, the default value is 20. + * + * For example, for one pdf file with 100 pages, 100 response protos will + * be generated. If `batch_size` = 20, then 5 json files each + * containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. + * + * Currently, batch_size only applies to GcsDestination, with potential future + * support for other output configurations. + * + * @typedef OutputConfig + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var OutputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location where the input will be read from. + * + * @property {string} uri + * Google Cloud Storage URI for the input file. This must only be a GCS + * object. Wildcards are not currently supported. + * + * @typedef GcsSource + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var GcsSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location where the output will be written to. + * + * @property {string} uri + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. + * + * Examples: + * + * * File: gs://bucket-name/filename.json + * * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here + * + * If multiple outputs, each response is still AnnotateFileResponse, each of + * which contains some subset of the full list of AnnotateImageResponse. + * Multiple outputs can happen if, for example, the output JSON is too large + * and overflows into multiple sharded files. + * + * @typedef GcsDestination + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var GcsDestination = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Contains metadata for the BatchAnnotateImages operation. + * + * @property {number} state + * Current state of the batch operation. + * + * The number should be among the values of [State]{@link google.cloud.vision.v1p2beta1.State} + * + * @property {Object} createTime + * The time when the batch request was received. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} updateTime + * The time when the operation result was last updated. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef OperationMetadata + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var OperationMetadata = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Batch operation states. + * + * @enum {number} + * @memberof google.cloud.vision.v1p2beta1 + */ + State: { + + /** + * Invalid. + */ + STATE_UNSPECIFIED: 0, + + /** + * Request is received. + */ + CREATED: 1, + + /** + * Request is actively being processed. + */ + RUNNING: 2, + + /** + * The batch processing is done. + */ + DONE: 3, + + /** + * The batch processing was cancelled. + */ + CANCELLED: 4 + } +}; + +/** + * A bucketized representation of likelihood, which is intended to give clients + * highly stable results across model upgrades. + * + * @enum {number} + * @memberof google.cloud.vision.v1p2beta1 + */ +var Likelihood = { + + /** + * Unknown likelihood. + */ + UNKNOWN: 0, + + /** + * It is very unlikely that the image belongs to the specified vertical. + */ + VERY_UNLIKELY: 1, + + /** + * It is unlikely that the image belongs to the specified vertical. + */ + UNLIKELY: 2, + + /** + * It is possible that the image belongs to the specified vertical. + */ + POSSIBLE: 3, + + /** + * It is likely that the image belongs to the specified vertical. + */ + LIKELY: 4, + + /** + * It is very likely that the image belongs to the specified vertical. + */ + VERY_LIKELY: 5 +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js new file mode 100644 index 00000000000..5c7c80b6f3b --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js @@ -0,0 +1,392 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + * Each structural component, starting from Page, may further have their own + * properties. Properties describe detected languages, breaks etc.. Please refer + * to the TextAnnotation.TextProperty message definition below for more + * detail. + * + * @property {Object[]} pages + * List of pages detected by OCR. + * + * This object should have the same structure as [Page]{@link google.cloud.vision.v1p2beta1.Page} + * + * @property {string} text + * UTF-8 text detected on the pages. + * + * @typedef TextAnnotation + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} + */ +var TextAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Detected language for a structural component. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {number} confidence + * Confidence of detected language. Range [0, 1]. + * + * @typedef DetectedLanguage + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} + */ + DetectedLanguage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Detected start or end of a structural component. + * + * @property {number} type + * Detected break type. + * + * The number should be among the values of [BreakType]{@link google.cloud.vision.v1p2beta1.BreakType} + * + * @property {boolean} isPrefix + * True if break prepends the element. + * + * @typedef DetectedBreak + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} + */ + DetectedBreak: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Enum to denote the type of break found. New line, space etc. + * + * @enum {number} + * @memberof google.cloud.vision.v1p2beta1 + */ + BreakType: { + + /** + * Unknown break label type. + */ + UNKNOWN: 0, + + /** + * Regular space. + */ + SPACE: 1, + + /** + * Sure space (very wide). + */ + SURE_SPACE: 2, + + /** + * Line-wrapping break. + */ + EOL_SURE_SPACE: 3, + + /** + * End-line hyphen that is not present in text; does not co-occur with + * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. + */ + HYPHEN: 4, + + /** + * Line break that ends a paragraph. + */ + LINE_BREAK: 5 + } + }, + + /** + * Additional information detected on the structural component. + * + * @property {Object[]} detectedLanguages + * A list of detected languages together with confidence. + * + * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1p2beta1.DetectedLanguage} + * + * @property {Object} detectedBreak + * Detected start or end of a text segment. + * + * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1p2beta1.DetectedBreak} + * + * @typedef TextProperty + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} + */ + TextProperty: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * Detected page from OCR. + * + * @property {Object} property + * Additional information detected on the page. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} + * + * @property {number} width + * Page width. For PDFs the unit is points. For images (including + * TIFFs) the unit is pixels. + * + * @property {number} height + * Page height. For PDFs the unit is points. For images (including + * TIFFs) the unit is pixels. + * + * @property {Object[]} blocks + * List of blocks of text, images etc on this page. + * + * This object should have the same structure as [Block]{@link google.cloud.vision.v1p2beta1.Block} + * + * @property {number} confidence + * Confidence of the OCR results on the page. Range [0, 1]. + * + * @typedef Page + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} + */ +var Page = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Logical element on the page. + * + * @property {Object} property + * Additional information detected for the block. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the block. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * + * * when the text is horizontal it might look like: + * + * 0----1 + * | | + * 3----2 + * + * * when it's rotated 180 degrees around the top-left corner it becomes: + * + * 2----3 + * | | + * 1----0 + * + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} + * + * @property {Object[]} paragraphs + * List of paragraphs in this block (if this blocks is of type text). + * + * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1p2beta1.Paragraph} + * + * @property {number} blockType + * Detected block type (text, image etc) for this block. + * + * The number should be among the values of [BlockType]{@link google.cloud.vision.v1p2beta1.BlockType} + * + * @property {number} confidence + * Confidence of the OCR results on the block. Range [0, 1]. + * + * @typedef Block + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} + */ +var Block = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of a block (text, image etc) as identified by OCR. + * + * @enum {number} + * @memberof google.cloud.vision.v1p2beta1 + */ + BlockType: { + + /** + * Unknown block type. + */ + UNKNOWN: 0, + + /** + * Regular text block. + */ + TEXT: 1, + + /** + * Table block. + */ + TABLE: 2, + + /** + * Image block. + */ + PICTURE: 3, + + /** + * Horizontal/vertical line box. + */ + RULER: 4, + + /** + * Barcode block. + */ + BARCODE: 5 + } +}; + +/** + * Structural unit of text representing a number of words in certain order. + * + * @property {Object} property + * Additional information detected for the paragraph. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the paragraph. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} + * + * @property {Object[]} words + * List of words in this paragraph. + * + * This object should have the same structure as [Word]{@link google.cloud.vision.v1p2beta1.Word} + * + * @property {number} confidence + * Confidence of the OCR results for the paragraph. Range [0, 1]. + * + * @typedef Paragraph + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} + */ +var Paragraph = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A word representation. + * + * @property {Object} property + * Additional information detected for the word. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the word. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} + * + * @property {Object[]} symbols + * List of symbols in the word. + * The order of the symbols follows the natural reading order. + * + * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1p2beta1.Symbol} + * + * @property {number} confidence + * Confidence of the OCR results for the word. Range [0, 1]. + * + * @typedef Word + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} + */ +var Word = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A single symbol representation. + * + * @property {Object} property + * Additional information detected for the symbol. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the symbol. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} + * + * @property {string} text + * The actual UTF-8 representation of the symbol. + * + * @property {number} confidence + * Confidence of the OCR results for the symbol. Range [0, 1]. + * + * @typedef Symbol + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} + */ +var Symbol = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js new file mode 100644 index 00000000000..3c034349c84 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js @@ -0,0 +1,152 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Relevant information for the image from the Internet. + * + * @property {Object[]} webEntities + * Deduced entities from similar images on the Internet. + * + * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1p2beta1.WebEntity} + * + * @property {Object[]} fullMatchingImages + * Fully matching images from the Internet. + * Can include resized copies of the query image. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images from the Internet. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its crops. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} + * + * @property {Object[]} pagesWithMatchingImages + * Web pages containing the matching images from the Internet. + * + * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1p2beta1.WebPage} + * + * @property {Object[]} visuallySimilarImages + * The visually similar image results. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} + * + * @property {Object[]} bestGuessLabels + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + * + * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1p2beta1.WebLabel} + * + * @typedef WebDetection + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} + */ +var WebDetection = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Entity deduced from similar images on the Internet. + * + * @property {string} entityId + * Opaque entity ID. + * + * @property {number} score + * Overall relevancy score for the entity. + * Not normalized and not comparable across different image queries. + * + * @property {string} description + * Canonical description of the entity, in English. + * + * @typedef WebEntity + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} + */ + WebEntity: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for online images. + * + * @property {string} url + * The result image URL. + * + * @property {number} score + * (Deprecated) Overall relevancy score for the image. + * + * @typedef WebImage + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} + */ + WebImage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for web pages. + * + * @property {string} url + * The result web page URL. + * + * @property {number} score + * (Deprecated) Overall relevancy score for the web page. + * + * @property {string} pageTitle + * Title for the web page, may contain HTML markups. + * + * @property {Object[]} fullMatchingImages + * Fully matching images on the page. + * Can include resized copies of the query image. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images on the page. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its + * crops. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} + * + * @typedef WebPage + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} + */ + WebPage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Label to provide extra metadata for the web detection. + * + * @property {string} label + * Label for extra metadata. + * + * @property {string} languageCode + * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @typedef WebLabel + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} + */ + WebLabel: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js new file mode 100644 index 00000000000..f55fa17ff12 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js @@ -0,0 +1,131 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * `Any` contains an arbitrary serialized protocol buffer message along with a + * URL that describes the type of the serialized message. + * + * Protobuf library provides support to pack/unpack Any values in the form + * of utility functions or additional generated methods of the Any type. + * + * Example 1: Pack and unpack a message in C++. + * + * Foo foo = ...; + * Any any; + * any.PackFrom(foo); + * ... + * if (any.UnpackTo(&foo)) { + * ... + * } + * + * Example 2: Pack and unpack a message in Java. + * + * Foo foo = ...; + * Any any = Any.pack(foo); + * ... + * if (any.is(Foo.class)) { + * foo = any.unpack(Foo.class); + * } + * + * Example 3: Pack and unpack a message in Python. + * + * foo = Foo(...) + * any = Any() + * any.Pack(foo) + * ... + * if any.Is(Foo.DESCRIPTOR): + * any.Unpack(foo) + * ... + * + * Example 4: Pack and unpack a message in Go + * + * foo := &pb.Foo{...} + * any, err := ptypes.MarshalAny(foo) + * ... + * foo := &pb.Foo{} + * if err := ptypes.UnmarshalAny(any, foo); err != nil { + * ... + * } + * + * The pack methods provided by protobuf library will by default use + * 'type.googleapis.com/full.type.name' as the type URL and the unpack + * methods only use the fully qualified type name after the last '/' + * in the type URL, for example "foo.bar.com/x/y.z" will yield type + * name "y.z". + * + * + * # JSON + * + * The JSON representation of an `Any` value uses the regular + * representation of the deserialized, embedded message, with an + * additional field `@type` which contains the type URL. Example: + * + * package google.profile; + * message Person { + * string first_name = 1; + * string last_name = 2; + * } + * + * { + * "@type": "type.googleapis.com/google.profile.Person", + * "firstName": , + * "lastName": + * } + * + * If the embedded message type is well-known and has a custom JSON + * representation, that representation will be embedded adding a field + * `value` which holds the custom JSON in addition to the `@type` + * field. Example (for message google.protobuf.Duration): + * + * { + * "@type": "type.googleapis.com/google.protobuf.Duration", + * "value": "1.212s" + * } + * + * @property {string} typeUrl + * A URL/resource name whose content describes the type of the + * serialized protocol buffer message. + * + * For URLs which use the scheme `http`, `https`, or no scheme, the + * following restrictions and interpretations apply: + * + * * If no scheme is provided, `https` is assumed. + * * The last segment of the URL's path must represent the fully + * qualified name of the type (as in `path/google.protobuf.Duration`). + * The name should be in a canonical form (e.g., leading "." is + * not accepted). + * * An HTTP GET on the URL must yield a google.protobuf.Type + * value in binary format, or produce an error. + * * Applications are allowed to cache lookup results based on the + * URL, or have them precompiled into a binary to avoid any + * lookup. Therefore, binary compatibility needs to be preserved + * on changes to types. (Use versioned type names to manage + * breaking changes.) + * + * Schemes other than `http`, `https` (or the empty scheme) might be + * used with implementation specific semantics. + * + * @property {string} value + * Must be a valid serialized protocol buffer of the above specified type. + * + * @typedef Any + * @memberof google.protobuf + * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} + */ +var Any = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js new file mode 100644 index 00000000000..791b600ab1d --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js @@ -0,0 +1,160 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Wrapper message for `double`. + * + * The JSON representation for `DoubleValue` is JSON number. + * + * @property {number} value + * The double value. + * + * @typedef DoubleValue + * @memberof google.protobuf + * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var DoubleValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `float`. + * + * The JSON representation for `FloatValue` is JSON number. + * + * @property {number} value + * The float value. + * + * @typedef FloatValue + * @memberof google.protobuf + * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var FloatValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `int64`. + * + * The JSON representation for `Int64Value` is JSON string. + * + * @property {number} value + * The int64 value. + * + * @typedef Int64Value + * @memberof google.protobuf + * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var Int64Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `uint64`. + * + * The JSON representation for `UInt64Value` is JSON string. + * + * @property {number} value + * The uint64 value. + * + * @typedef UInt64Value + * @memberof google.protobuf + * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var UInt64Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `int32`. + * + * The JSON representation for `Int32Value` is JSON number. + * + * @property {number} value + * The int32 value. + * + * @typedef Int32Value + * @memberof google.protobuf + * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var Int32Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `uint32`. + * + * The JSON representation for `UInt32Value` is JSON number. + * + * @property {number} value + * The uint32 value. + * + * @typedef UInt32Value + * @memberof google.protobuf + * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var UInt32Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `bool`. + * + * The JSON representation for `BoolValue` is JSON `true` and `false`. + * + * @property {boolean} value + * The bool value. + * + * @typedef BoolValue + * @memberof google.protobuf + * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var BoolValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `string`. + * + * The JSON representation for `StringValue` is JSON string. + * + * @property {string} value + * The string value. + * + * @typedef StringValue + * @memberof google.protobuf + * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var StringValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `bytes`. + * + * The JSON representation for `BytesValue` is JSON string. + * + * @property {string} value + * The bytes value. + * + * @typedef BytesValue + * @memberof google.protobuf + * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var BytesValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js new file mode 100644 index 00000000000..7122f1682e0 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js @@ -0,0 +1,92 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * The `Status` type defines a logical error model that is suitable for different + * programming environments, including REST APIs and RPC APIs. It is used by + * [gRPC](https://github.com/grpc). The error model is designed to be: + * + * - Simple to use and understand for most users + * - Flexible enough to meet unexpected needs + * + * # Overview + * + * The `Status` message contains three pieces of data: error code, error message, + * and error details. The error code should be an enum value of + * google.rpc.Code, but it may accept additional error codes if needed. The + * error message should be a developer-facing English message that helps + * developers *understand* and *resolve* the error. If a localized user-facing + * error message is needed, put the localized message in the error details or + * localize it in the client. The optional error details may contain arbitrary + * information about the error. There is a predefined set of error detail types + * in the package `google.rpc` that can be used for common error conditions. + * + * # Language mapping + * + * The `Status` message is the logical representation of the error model, but it + * is not necessarily the actual wire format. When the `Status` message is + * exposed in different client libraries and different wire protocols, it can be + * mapped differently. For example, it will likely be mapped to some exceptions + * in Java, but more likely mapped to some error codes in C. + * + * # Other uses + * + * The error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a + * consistent developer experience across different environments. + * + * Example uses of this error model include: + * + * - Partial errors. If a service needs to return partial errors to the client, + * it may embed the `Status` in the normal response to indicate the partial + * errors. + * + * - Workflow errors. A typical workflow has multiple steps. Each step may + * have a `Status` message for error reporting. + * + * - Batch operations. If a client uses batch request and batch response, the + * `Status` message should be used directly inside batch response, one for + * each error sub-response. + * + * - Asynchronous operations. If an API call embeds asynchronous operation + * results in its response, the status of those operations should be + * represented directly using the `Status` message. + * + * - Logging. If some API errors are stored in logs, the message `Status` could + * be used directly after any stripping needed for security/privacy reasons. + * + * @property {number} code + * The status code, which should be an enum value of google.rpc.Code. + * + * @property {string} message + * A developer-facing error message, which should be in English. Any + * user-facing error message should be localized and sent in the + * google.rpc.Status.details field, or localized by the client. + * + * @property {Object[]} details + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @typedef Status + * @memberof google.rpc + * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} + */ +var Status = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js new file mode 100644 index 00000000000..8ae80246fe3 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js @@ -0,0 +1,164 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Represents a color in the RGBA color space. This representation is designed + * for simplicity of conversion to/from color representations in various + * languages over compactness; for example, the fields of this representation + * can be trivially provided to the constructor of "java.awt.Color" in Java; it + * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" + * method in iOS; and, with just a little work, it can be easily formatted into + * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * + * Example (Java): + * + * import com.google.type.Color; + * + * // ... + * public static java.awt.Color fromProto(Color protocolor) { + * float alpha = protocolor.hasAlpha() + * ? protocolor.getAlpha().getValue() + * : 1.0; + * + * return new java.awt.Color( + * protocolor.getRed(), + * protocolor.getGreen(), + * protocolor.getBlue(), + * alpha); + * } + * + * public static Color toProto(java.awt.Color color) { + * float red = (float) color.getRed(); + * float green = (float) color.getGreen(); + * float blue = (float) color.getBlue(); + * float denominator = 255.0; + * Color.Builder resultBuilder = + * Color + * .newBuilder() + * .setRed(red / denominator) + * .setGreen(green / denominator) + * .setBlue(blue / denominator); + * int alpha = color.getAlpha(); + * if (alpha != 255) { + * result.setAlpha( + * FloatValue + * .newBuilder() + * .setValue(((float) alpha) / denominator) + * .build()); + * } + * return resultBuilder.build(); + * } + * // ... + * + * Example (iOS / Obj-C): + * + * // ... + * static UIColor* fromProto(Color* protocolor) { + * float red = [protocolor red]; + * float green = [protocolor green]; + * float blue = [protocolor blue]; + * FloatValue* alpha_wrapper = [protocolor alpha]; + * float alpha = 1.0; + * if (alpha_wrapper != nil) { + * alpha = [alpha_wrapper value]; + * } + * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; + * } + * + * static Color* toProto(UIColor* color) { + * CGFloat red, green, blue, alpha; + * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { + * return nil; + * } + * Color* result = [Color alloc] init]; + * [result setRed:red]; + * [result setGreen:green]; + * [result setBlue:blue]; + * if (alpha <= 0.9999) { + * [result setAlpha:floatWrapperWithValue(alpha)]; + * } + * [result autorelease]; + * return result; + * } + * // ... + * + * Example (JavaScript): + * + * // ... + * + * var protoToCssColor = function(rgb_color) { + * var redFrac = rgb_color.red || 0.0; + * var greenFrac = rgb_color.green || 0.0; + * var blueFrac = rgb_color.blue || 0.0; + * var red = Math.floor(redFrac * 255); + * var green = Math.floor(greenFrac * 255); + * var blue = Math.floor(blueFrac * 255); + * + * if (!('alpha' in rgb_color)) { + * return rgbToCssColor_(red, green, blue); + * } + * + * var alphaFrac = rgb_color.alpha.value || 0.0; + * var rgbParams = [red, green, blue].join(','); + * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); + * }; + * + * var rgbToCssColor_ = function(red, green, blue) { + * var rgbNumber = new Number((red << 16) | (green << 8) | blue); + * var hexString = rgbNumber.toString(16); + * var missingZeros = 6 - hexString.length; + * var resultBuilder = ['#']; + * for (var i = 0; i < missingZeros; i++) { + * resultBuilder.push('0'); + * } + * resultBuilder.push(hexString); + * return resultBuilder.join(''); + * }; + * + * // ... + * + * @property {number} red + * The amount of red in the color as a value in the interval [0, 1]. + * + * @property {number} green + * The amount of green in the color as a value in the interval [0, 1]. + * + * @property {number} blue + * The amount of blue in the color as a value in the interval [0, 1]. + * + * @property {Object} alpha + * The fraction of this color that should be applied to the pixel. That is, + * the final pixel color is defined by the equation: + * + * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) + * + * This means that a value of 1.0 corresponds to a solid color, whereas + * a value of 0.0 corresponds to a completely transparent color. This + * uses a wrapper message rather than a simple float scalar so that it is + * possible to distinguish between a default value and the value being unset. + * If omitted, this color object is to be rendered as a solid color + * (as if the alpha value had been explicitly given with a value of 1.0). + * + * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} + * + * @typedef Color + * @memberof google.type + * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} + */ +var Color = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js new file mode 100644 index 00000000000..76150dc3be1 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js @@ -0,0 +1,71 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * An object representing a latitude/longitude pair. This is expressed as a pair + * of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the + * WGS84 + * standard. Values must be within normalized ranges. + * + * Example of normalization code in Python: + * + * def NormalizeLongitude(longitude): + * """Wraps decimal degrees longitude to [-180.0, 180.0].""" + * q, r = divmod(longitude, 360.0) + * if r > 180.0 or (r == 180.0 and q <= -1.0): + * return r - 360.0 + * return r + * + * def NormalizeLatLng(latitude, longitude): + * """Wraps decimal degrees latitude and longitude to + * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" + * r = latitude % 360.0 + * if r <= 90.0: + * return r, NormalizeLongitude(longitude) + * elif r >= 270.0: + * return r - 360, NormalizeLongitude(longitude) + * else: + * return 180 - r, NormalizeLongitude(longitude + 180.0) + * + * assert 180.0 == NormalizeLongitude(180.0) + * assert -180.0 == NormalizeLongitude(-180.0) + * assert -179.0 == NormalizeLongitude(181.0) + * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) + * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) + * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) + * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) + * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) + * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) + * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) + * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) + * + * @property {number} latitude + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + * + * @property {number} longitude + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + * + * @typedef LatLng + * @memberof google.type + * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} + */ +var LatLng = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js new file mode 100644 index 00000000000..a09e26dc662 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -0,0 +1,369 @@ +// Copyright 2018 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. + +'use strict'; + +const gapicConfig = require('./image_annotator_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); +const protobuf = require('protobufjs'); + +const VERSION = require('../../package.json').version; + +/** + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. + * + * @class + * @memberof v1p2beta1 + */ +class ImageAnnotatorClient { + /** + * Construct an instance of ImageAnnotatorClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.servicePath] - The domain name of the + * API remote host. + */ + constructor(opts) { + this._descriptors = {}; + + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + var gaxGrpc = gax.grpc(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; + + // Determine the client header string. + var clientHeader = [ + `gl-node/${process.version.node}`, + `grpc/${gaxGrpc.grpcVersion}`, + `gax/${gax.version}`, + `gapic/${VERSION}`, + ]; + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + + // Load the applicable protos. + var protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/vision/v1p2beta1/image_annotator.proto' + ) + ); + var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/vision/v1p2beta1/image_annotator.proto' + ), + protoFilesRoot + ); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + this.operationsClient = new gax.lro({ + auth: gaxGrpc.auth, + grpc: gaxGrpc.grpc, + }).operationsClient(opts); + + var asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + 'google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse' + ); + var asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1p2beta1.OperationMetadata' + ); + + this._descriptors.longrunning = { + asyncBatchAnnotateFiles: new gax.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateFilesResponse.decode.bind( + asyncBatchAnnotateFilesResponse + ), + asyncBatchAnnotateFilesMetadata.decode.bind( + asyncBatchAnnotateFilesMetadata + ) + ), + }; + + // Put together the default options sent with requests. + var defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p2beta1.ImageAnnotator', + gapicConfig, + opts.clientConfig, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p2beta1.ImageAnnotator. + var imageAnnotatorStub = gaxGrpc.createStub( + protos.google.cloud.vision.v1p2beta1.ImageAnnotator, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + var imageAnnotatorStubMethods = [ + 'batchAnnotateImages', + 'asyncBatchAnnotateFiles', + ]; + for (let methodName of imageAnnotatorStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + imageAnnotatorStub.then( + stub => + function() { + var args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + this._descriptors.longrunning[methodName] + ); + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId(callback) { + return this.auth.getProjectId(callback); + } + + // ------------------- + // -- Service calls -- + // ------------------- + + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p2beta1.AnnotateImageRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p2beta1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * var requests = []; + * client.batchAnnotateImages({requests: requests}) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + batchAnnotateImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.batchAnnotateImages(request, options, callback); + } + + /** + * Run async image detection and annotation for a list of generic files (e.g. + * PDF) which may contain multiple pages and multiple images per page. + * Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual async file annotation requests for this batch. + * + * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p2beta1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * var requests = []; + * + * // Handle the operation using the promise pattern. + * client.asyncBatchAnnotateFiles({requests: requests}) + * .then(responses => { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * // The final result of the operation. + * var result = responses[0]; + * + * // The metadata value of the completed operation. + * var metadata = responses[1]; + * + * // The response of the api call returning the complete operation. + * var finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * var requests = []; + * + * // Handle the operation using the event emitter pattern. + * client.asyncBatchAnnotateFiles({requests: requests}) + * .then(responses => { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + asyncBatchAnnotateFiles(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.asyncBatchAnnotateFiles( + request, + options, + callback + ); + } +} + +module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json new file mode 100644 index 00000000000..72dc25aa596 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json @@ -0,0 +1,36 @@ +{ + "interfaces": { + "google.cloud.vision.v1p2beta1.ImageAnnotator": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "BatchAnnotateImages": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "AsyncBatchAnnotateFiles": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-vision/src/v1p2beta1/index.js b/packages/google-cloud-vision/src/v1p2beta1/index.js new file mode 100644 index 00000000000..301ca40eb92 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/index.js @@ -0,0 +1,19 @@ +// Copyright 2018 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. + +'use strict'; + +const ImageAnnotatorClient = require('./image_annotator_client'); + +module.exports.ImageAnnotatorClient = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/system-test/vision-v1p2beta1.js b/packages/google-cloud-vision/system-test/vision-v1p2beta1.js new file mode 100644 index 00000000000..c3f91abaa31 --- /dev/null +++ b/packages/google-cloud-vision/system-test/vision-v1p2beta1.js @@ -0,0 +1,51 @@ +// Copyright 2018 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. + +'use strict'; + +describe('ImageAnnotatorSmokeTest', () => { + it('successfully makes a call to the service', done => { + const vision = require('../src'); + + var client = new vision.v1p2beta1.ImageAnnotatorClient({ + // optional auth parameters. + }); + + var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + var source = { + gcsImageUri: gcsImageUri, + }; + var image = { + source: source, + }; + var type = 'FACE_DETECTION'; + var featuresElement = { + type: type, + }; + var features = [featuresElement]; + var requestsElement = { + image: image, + features: features, + }; + var requests = [requestsElement]; + client + .batchAnnotateImages({requests: requests}) + .then(responses => { + var response = responses[0]; + console.log(response); + }) + .then(done) + .catch(done); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic-v1p2beta1.js b/packages/google-cloud-vision/test/gapic-v1p2beta1.js new file mode 100644 index 00000000000..6aec571c71b --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-v1p2beta1.js @@ -0,0 +1,201 @@ +// Copyright 2018 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. + +'use strict'; + +const assert = require('assert'); + +const visionModule = require('../src'); + +var FAKE_STATUS_CODE = 1; +var error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('ImageAnnotatorClient', () => { + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.batchAnnotateImages(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', done => { + var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.batchAnnotateImages(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('asyncBatchAnnotateFiles', function() { + it('invokes asyncBatchAnnotateFiles without error', done => { + var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateFiles with error', done => { + var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .metadataDecoder instanceof Function + ); + }); + }); +}); + +function mockSimpleGrpcMethod(expectedRequest, response, error) { + return function(actualRequest, options, callback) { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} + +function mockLongRunningGrpcMethod(expectedRequest, response, error) { + return request => { + assert.deepStrictEqual(request, expectedRequest); + var mockOperation = { + promise: function() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} From a52022e836932d47360026ffeafb4dd3fc55fedf Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 5 Mar 2018 16:22:48 -0500 Subject: [PATCH 124/588] fix(package): update google-gax to version 0.15.0 (#34) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index e30b22a7d6a..78218455692 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -61,7 +61,7 @@ "@google-cloud/common": "^0.16.1", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.14.2", + "google-gax": "^0.15.0", "google-proto-files": "^0.15.0", "is": "^3.0.1", "lodash.merge": "^4.6.0", From a43f7d68e53cbde67d1649507d7794c697f2f21c Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Wed, 14 Mar 2018 15:15:28 -0400 Subject: [PATCH 125/588] fix(package): update google-gax to version 0.16.0 (#35) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 78218455692..ab8f2a55536 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -61,7 +61,7 @@ "@google-cloud/common": "^0.16.1", "async": "^2.0.1", "extend": "^3.0.0", - "google-gax": "^0.15.0", + "google-gax": "^0.16.0", "google-proto-files": "^0.15.0", "is": "^3.0.1", "lodash.merge": "^4.6.0", From 0c8486b46d45907a4b3532098862bee789fc3d33 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Fri, 16 Mar 2018 19:02:37 -0700 Subject: [PATCH 126/588] Upgrade repo-tools and regenerate scaffolding. (#37) * Upgrade repo-tools and regenerate scaffolding. * update package-lock.json, trigger CI --- packages/google-cloud-vision/.gitignore | 1 - packages/google-cloud-vision/README.md | 2 +- .../google-cloud-vision/package-lock.json | 14186 ++++++++++++++++ packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/README.md | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 6 files changed, 14190 insertions(+), 5 deletions(-) create mode 100644 packages/google-cloud-vision/package-lock.json diff --git a/packages/google-cloud-vision/.gitignore b/packages/google-cloud-vision/.gitignore index 6b80718f261..b7d407606fb 100644 --- a/packages/google-cloud-vision/.gitignore +++ b/packages/google-cloud-vision/.gitignore @@ -7,4 +7,3 @@ out/ system-test/secrets.js system-test/*key.json *.lock -*-lock.js* diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index d04cca858d4..30c66a7cac6 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -121,4 +121,4 @@ See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) [client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest/ [product-docs]: https://cloud.google.com/vision/docs -[shell_img]: http://gstatic.com/cloudssh/images/open-btn.png +[shell_img]: //gstatic.com/cloudssh/images/open-btn.png diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json new file mode 100644 index 00000000000..a78fc6947db --- /dev/null +++ b/packages/google-cloud-vision/package-lock.json @@ -0,0 +1,14186 @@ +{ + "name": "@google-cloud/vision", + "version": "0.16.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ava/babel-plugin-throws-helper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz", + "integrity": "sha1-L8H+PCEacQcaTsp7j3r1hCzRrnw=", + "dev": true + }, + "@ava/babel-preset-stage-4": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.1.0.tgz", + "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "package-hash": "1.2.0" + }, + "dependencies": { + "md5-hex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "package-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-1.2.0.tgz", + "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", + "dev": true, + "requires": { + "md5-hex": "1.3.0" + } + } + } + }, + "@ava/babel-preset-transform-test-files": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ava/babel-preset-transform-test-files/-/babel-preset-transform-test-files-3.0.0.tgz", + "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", + "dev": true, + "requires": { + "@ava/babel-plugin-throws-helper": "2.0.0", + "babel-plugin-espower": "2.4.0" + } + }, + "@ava/write-file-atomic": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ava/write-file-atomic/-/write-file-atomic-2.2.0.tgz", + "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, + "@concordance/react": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@concordance/react/-/react-1.0.0.tgz", + "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", + "dev": true, + "requires": { + "arrify": "1.0.1" + } + }, + "@google-cloud/common": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.16.2.tgz", + "integrity": "sha512-GrkaFoj0/oO36pNs4yLmaYhTujuA3i21FdQik99Fd/APix1uhf01VlpJY4lAteTDFLRNkRx6ydEh7OVvmeUHng==", + "requires": { + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.1", + "create-error-class": "3.0.2", + "duplexify": "3.5.4", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auto-auth": "0.9.7", + "is": "3.2.1", + "log-driver": "1.2.7", + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.85.0", + "retry-request": "3.3.1", + "split-array-stream": "1.0.3", + "stream-events": "1.0.2", + "string-format-obj": "1.1.1", + "through2": "2.0.3" + } + }, + "@google-cloud/nodejs-repo-tools": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.2.4.tgz", + "integrity": "sha512-yHxW7JvhnqgoIftv6dAn1r/9AEcPuumD0xXggdYHmDeyf38OMYyjTk92gP9vflTOee1JhM0vOarwGrlKYUbmnQ==", + "dev": true, + "requires": { + "ava": "0.25.0", + "colors": "1.1.2", + "fs-extra": "5.0.0", + "got": "8.2.0", + "handlebars": "4.0.11", + "lodash": "4.17.5", + "nyc": "11.4.1", + "proxyquire": "1.8.0", + "sinon": "4.3.0", + "string": "3.3.3", + "supertest": "3.0.0", + "yargs": "11.0.0", + "yargs-parser": "9.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "cliui": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", + "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "nyc": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz", + "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", + "dev": true, + "requires": { + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.4", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.1.1", + "yargs": "10.0.3", + "yargs-parser": "8.0.0" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-generator": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "bundled": true, + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "caching-transform": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" + } + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.5.3", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "which": "1.3.0" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-log": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "bundled": true, + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "bundled": true, + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "for-own": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "bundled": true, + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "bundled": true, + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.5.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invariant": { + "version": "2.2.2", + "bundled": true, + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-dotfile": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.9.1", + "bundled": true, + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } + }, + "istanbul-lib-report": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.2", + "bundled": true, + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "4.0.11" + } + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "lodash": { + "version": "4.17.4", + "bundled": true, + "dev": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "md5-hex": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, + "merge-source-map": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "micromatch": { + "version": "2.3.11", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mimic-fn": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "1.1.0" + } + }, + "parse-glob": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "bundled": true, + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "preserve": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "bundled": true, + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true, + "dev": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "semver": { + "version": "5.4.1", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "source-map": { + "version": "0.5.7", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" + } + }, + "spdx-correct": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "which": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "10.0.3", + "bundled": true, + "dev": true, + "requires": { + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" + }, + "dependencies": { + "cliui": { + "version": "3.2.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + } + } + }, + "yargs-parser": { + "version": "8.0.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "sinon": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.3.0.tgz", + "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", + "dev": true, + "requires": { + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.3.2", + "nise": "1.3.1", + "supports-color": "5.3.0", + "type-detect": "4.0.8" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "yargs": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", + "dev": true, + "requires": { + "cliui": "4.0.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + } + } + } + }, + "@google-cloud/storage": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.6.0.tgz", + "integrity": "sha512-yQ63bJYoiwY220gn/KdTLPoHppAPwFHfG7VFLPwJ+1R5U1eqUN5XV2a7uPj1szGF8/gxlKm2UbE8DgoJJ76DFw==", + "dev": true, + "requires": { + "@google-cloud/common": "0.16.2", + "arrify": "1.0.1", + "async": "2.6.0", + "compressible": "2.0.13", + "concat-stream": "1.6.1", + "create-error-class": "3.0.2", + "duplexify": "3.5.4", + "extend": "3.0.1", + "gcs-resumable-upload": "0.9.0", + "hash-stream-validation": "0.2.1", + "is": "3.2.1", + "mime": "2.2.0", + "mime-types": "2.1.18", + "once": "1.4.0", + "pumpify": "1.4.0", + "request": "2.85.0", + "safe-buffer": "5.1.1", + "snakeize": "0.1.0", + "stream-events": "1.0.2", + "string-format-obj": "1.1.1", + "through2": "2.0.3" + } + }, + "@ladjs/time-require": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ladjs/time-require/-/time-require-0.1.4.tgz", + "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", + "dev": true, + "requires": { + "chalk": "0.4.0", + "date-time": "0.1.1", + "pretty-ms": "0.2.2", + "text-table": "0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" + } + }, + "pretty-ms": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-0.2.2.tgz", + "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", + "dev": true, + "requires": { + "parse-ms": "0.1.2" + } + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + } + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/inquire": "1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true + }, + "@sinonjs/formatio": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", + "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==", + "dev": true, + "requires": { + "samsam": "1.3.0" + } + }, + "@types/long": { + "version": "3.0.32", + "resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz", + "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" + }, + "@types/node": { + "version": "8.9.5", + "resolved": "http://registry.npmjs.org/@types/node/-/node-8.9.5.tgz", + "integrity": "sha512-jRHfWsvyMtXdbhnz5CVHxaBgnV6duZnPlQuRSo/dm/GnmikNcmZhxIES4E9OZjUmQ8C+HCl4KJux+cXN/ErGDQ==" + }, + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + }, + "acorn-es7-plugin": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", + "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=" + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "3.3.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "ansi-escapes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", + "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-exclude": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/arr-exclude/-/arr-exclude-1.0.0.tgz", + "integrity": "sha1-38fC5VKicHI8zaBM8xKMjL/lxjE=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" + }, + "array-find": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "ascli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", + "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", + "requires": { + "colour": "0.7.1", + "optjs": "3.2.2" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "requires": { + "lodash": "4.17.5" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", + "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=" + }, + "auto-bind": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.2.0.tgz", + "integrity": "sha512-Zw7pZp7tztvKnWWtoII4AmqH5a2PV3ZN5F0BPRTGcc1kpRm4b6QXQnPU7Znbl6BfPfqOVOV29g4JeMqZQaqqOA==", + "dev": true + }, + "ava": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/ava/-/ava-0.25.0.tgz", + "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", + "dev": true, + "requires": { + "@ava/babel-preset-stage-4": "1.1.0", + "@ava/babel-preset-transform-test-files": "3.0.0", + "@ava/write-file-atomic": "2.2.0", + "@concordance/react": "1.0.0", + "@ladjs/time-require": "0.1.4", + "ansi-escapes": "3.0.0", + "ansi-styles": "3.2.1", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.2.0", + "ava-init": "0.2.1", + "babel-core": "6.26.0", + "babel-generator": "6.26.1", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.3.2", + "chokidar": "1.7.0", + "clean-stack": "1.3.0", + "clean-yaml-object": "0.1.0", + "cli-cursor": "2.1.0", + "cli-spinners": "1.1.0", + "cli-truncate": "1.1.0", + "co-with-promise": "4.6.0", + "code-excerpt": "2.1.1", + "common-path-prefix": "1.0.0", + "concordance": "3.0.0", + "convert-source-map": "1.5.1", + "core-assert": "0.2.1", + "currently-unhandled": "0.4.1", + "debug": "3.1.0", + "dot-prop": "4.2.0", + "empower-core": "0.6.2", + "equal-length": "1.0.1", + "figures": "2.0.0", + "find-cache-dir": "1.0.0", + "fn-name": "2.0.1", + "get-port": "3.2.0", + "globby": "6.1.0", + "has-flag": "2.0.0", + "hullabaloo-config-manager": "1.1.1", + "ignore-by-default": "1.0.1", + "import-local": "0.1.1", + "indent-string": "3.2.0", + "is-ci": "1.1.0", + "is-generator-fn": "1.0.0", + "is-obj": "1.0.1", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "last-line-stream": "1.0.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.debounce": "4.0.8", + "lodash.difference": "4.5.0", + "lodash.flatten": "4.4.0", + "loud-rejection": "1.6.0", + "make-dir": "1.2.0", + "matcher": "1.1.0", + "md5-hex": "2.0.0", + "meow": "3.7.0", + "ms": "2.0.0", + "multimatch": "2.1.0", + "observable-to-promise": "0.5.0", + "option-chain": "1.0.0", + "package-hash": "2.0.0", + "pkg-conf": "2.1.0", + "plur": "2.1.2", + "pretty-ms": "3.1.0", + "require-precompiled": "0.1.0", + "resolve-cwd": "2.0.0", + "safe-buffer": "5.1.1", + "semver": "5.5.0", + "slash": "1.0.0", + "source-map-support": "0.5.4", + "stack-utils": "1.0.1", + "strip-ansi": "4.0.0", + "strip-bom-buf": "1.0.0", + "supertap": "1.0.0", + "supports-color": "5.3.0", + "trim-off-newlines": "1.0.1", + "unique-temp-dir": "1.0.0", + "update-notifier": "2.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "ava-init": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ava-init/-/ava-init-0.2.1.tgz", + "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", + "dev": true, + "requires": { + "arr-exclude": "1.0.0", + "execa": "0.7.0", + "has-yarn": "1.0.0", + "read-pkg-up": "2.0.0", + "write-pkg": "3.1.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + }, + "axios": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "requires": { + "follow-redirects": "1.4.1", + "is-buffer": "1.1.6" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.5", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-espower": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-espower/-/babel-plugin-espower-2.4.0.tgz", + "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.3", + "espower-location-detector": "1.0.0", + "espurify": "1.7.0", + "estraverse": "4.2.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", + "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "home-or-tmp": "2.0.0", + "lodash": "4.17.5", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.5" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.5" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.5", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + } + } + }, + "base64url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz", + "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs=" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "requires": { + "hoek": "4.2.1" + } + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.3.2", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", + "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "kind-of": "6.0.2", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "buf-compare": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", + "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=", + "dev": true + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "bytebuffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", + "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", + "requires": { + "long": "3.2.0" + }, + "dependencies": { + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + } + }, + "caching-transform": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "dev": true, + "requires": { + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" + }, + "dependencies": { + "md5-hex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "write-file-atomic": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + } + } + }, + "call-matcher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.0.1.tgz", + "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", + "dev": true, + "requires": { + "core-js": "2.5.3", + "deep-equal": "1.0.1", + "espurify": "1.7.0", + "estraverse": "4.2.0" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "call-signature": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", + "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=" + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "capture-stack-trace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "catharsis": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", + "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", + "dev": true, + "requires": { + "underscore-contrib": "0.3.0" + } + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "ci-info": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", + "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", + "dev": true + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "clean-stack": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", + "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=", + "dev": true + }, + "clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", + "dev": true + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-spinners": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz", + "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=", + "dev": true + }, + "cli-truncate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", + "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", + "dev": true, + "requires": { + "slice-ansi": "1.0.0", + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "co-with-promise": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co-with-promise/-/co-with-promise-4.6.0.tgz", + "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", + "dev": true, + "requires": { + "pinkie-promise": "1.0.0" + } + }, + "code-excerpt": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-2.1.1.tgz", + "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", + "dev": true, + "requires": { + "convert-to-spaces": "1.0.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "codecov": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.0.tgz", + "integrity": "sha1-wnO4xPEpRXI+jcnSWAPYk0Pl8o4=", + "dev": true, + "requires": { + "argv": "0.0.2", + "request": "2.81.0", + "urlgrey": "0.4.4" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "colour": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", + "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "common-path-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-1.0.0.tgz", + "integrity": "sha1-zVL28HEuC6q5fW+XModPIvR3UsA=", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "compressible": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", + "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.5", + "typedarray": "0.0.6" + } + }, + "concordance": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/concordance/-/concordance-3.0.0.tgz", + "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", + "dev": true, + "requires": { + "date-time": "2.1.0", + "esutils": "2.0.2", + "fast-diff": "1.1.2", + "function-name-support": "0.2.0", + "js-string-escape": "1.0.1", + "lodash.clonedeep": "4.5.0", + "lodash.flattendeep": "4.4.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "semver": "5.5.0", + "well-known-symbols": "1.0.0" + }, + "dependencies": { + "date-time": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz", + "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", + "dev": true, + "requires": { + "time-zone": "1.0.0" + } + } + } + }, + "configstore": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", + "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", + "dev": true, + "requires": { + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.2.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" + } + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "convert-to-spaces": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", + "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=", + "dev": true + }, + "cookiejar": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz", + "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-assert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", + "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", + "dev": true, + "requires": { + "buf-compare": "1.0.1", + "is-error": "2.2.1" + } + }, + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "requires": { + "capture-stack-trace": "1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.2", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.41" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "date-time": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-0.1.1.tgz", + "integrity": "sha1-7S9tk9l5DOL9ZtW1/z7dW7y/Owc=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "1.0.0" + } + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + } + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" + }, + "dependencies": { + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diff-match-patch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.0.tgz", + "integrity": "sha1-HMPIOkkNZ/ldkeOfatHy4Ia2MEg=" + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", + "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "1.0.1" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", + "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.5", + "stream-shift": "1.0.0" + } + }, + "eastasianwidth": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.1.1.tgz", + "integrity": "sha1-RNZW3p2kFWlEZzNTZfsxR7hXK3w=" + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz", + "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=", + "requires": { + "base64url": "2.0.0", + "safe-buffer": "5.1.1" + } + }, + "empower": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/empower/-/empower-1.2.3.tgz", + "integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=", + "requires": { + "core-js": "2.5.3", + "empower-core": "0.6.2" + } + }, + "empower-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/empower-assert/-/empower-assert-1.0.1.tgz", + "integrity": "sha1-MeMQq8BluqfDoEh+a+W7zGXzwd4=", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "empower-core": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-0.6.2.tgz", + "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", + "requires": { + "call-signature": "0.0.2", + "core-js": "2.5.3" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "requires": { + "once": "1.4.0" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "equal-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/equal-length/-/equal-length-1.0.1.tgz", + "integrity": "sha1-IcoRLUirJLTh5//A5TOdMf38J0w=", + "dev": true + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es5-ext": { + "version": "0.10.41", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.41.tgz", + "integrity": "sha512-MYK02wXfwTMie5TEJWPolgOsXEmz7wKCQaGzgmRjZOoV6VLG8I5dSv2bn6AOClXhK64gnSQTQ9W9MKvx87J4gw==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" + } + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.41", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.41", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.41", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.41" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.41", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "escallmatch": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/escallmatch/-/escallmatch-1.5.0.tgz", + "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", + "dev": true, + "requires": { + "call-matcher": "1.0.1", + "esprima": "2.7.3" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dev": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "eslint": { + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.0.tgz", + "integrity": "sha512-r83L5CuqaocDvfwdojbz68b6tCUk8KJkqfppO+gmSAQqYCzTr0bCSMu6A6yFCLKG65j5eKcKUw4Cw4Yl4gfWkg==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.3.2", + "concat-stream": "1.6.1", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.3.0", + "ignore": "3.3.7", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.11.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.5", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.0.1", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.2", + "text-table": "0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "globals": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", + "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz", + "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", + "dev": true, + "requires": { + "get-stdin": "5.0.1" + }, + "dependencies": { + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "dev": true + } + } + }, + "eslint-plugin-node": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", + "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", + "dev": true, + "requires": { + "ignore": "3.3.7", + "minimatch": "3.0.4", + "resolve": "1.5.0", + "semver": "5.5.0" + }, + "dependencies": { + "resolve": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + } + } + }, + "eslint-plugin-prettier": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz", + "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", + "dev": true, + "requires": { + "fast-diff": "1.1.2", + "jest-docblock": "21.2.0" + } + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, + "espower": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/espower/-/espower-2.1.0.tgz", + "integrity": "sha1-zh7bPZhwKEH99ZbRy46FvcSujkg=", + "dev": true, + "requires": { + "array-find": "1.0.0", + "escallmatch": "1.5.0", + "escodegen": "1.9.1", + "escope": "3.6.0", + "espower-location-detector": "1.0.0", + "espurify": "1.7.0", + "estraverse": "4.2.0", + "source-map": "0.5.7", + "type-name": "2.0.2", + "xtend": "4.0.1" + } + }, + "espower-loader": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/espower-loader/-/espower-loader-1.2.2.tgz", + "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", + "dev": true, + "requires": { + "convert-source-map": "1.5.1", + "espower-source": "2.2.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + } + } + }, + "espower-location-detector": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/espower-location-detector/-/espower-location-detector-1.0.0.tgz", + "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", + "dev": true, + "requires": { + "is-url": "1.2.2", + "path-is-absolute": "1.0.1", + "source-map": "0.5.7", + "xtend": "4.0.1" + } + }, + "espower-source": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/espower-source/-/espower-source-2.2.0.tgz", + "integrity": "sha1-fgBSVa5HtcE2RIZEs/PYAtUD91I=", + "dev": true, + "requires": { + "acorn": "5.5.3", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.1", + "empower-assert": "1.0.1", + "escodegen": "1.9.1", + "espower": "2.1.0", + "estraverse": "4.2.0", + "merge-estraverse-visitors": "1.0.0", + "multi-stage-sourcemap": "0.2.1", + "path-is-absolute": "1.0.1", + "xtend": "4.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "dev": true + } + } + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "5.5.3", + "acorn-jsx": "3.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "espurify": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.7.0.tgz", + "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=", + "requires": { + "core-js": "2.5.3" + } + }, + "esquery": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", + "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.41" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + }, + "dependencies": { + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", + "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", + "dev": true, + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.19", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", + "dev": true + }, + "fast-glob": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.0.tgz", + "integrity": "sha512-4F75PTznkNtSKs2pbhtBwRkw8sRwa7LfXx5XaQJOe4IQ6yTjceLDTwM5gj1s80R2t/5WeDC1gVfm3jLE+l39Tw==", + "requires": { + "@mrmlnc/readdir-enhanced": "2.2.1", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.1", + "micromatch": "3.1.9" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "1.3.0", + "object-assign": "4.1.1" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", + "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", + "dev": true, + "requires": { + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.2.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } + }, + "fn-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", + "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", + "dev": true + }, + "follow-redirects": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz", + "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==", + "requires": { + "debug": "3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "formidable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.0.tgz", + "integrity": "sha512-hr9aT30rAi7kf8Q2aaTpSP7xGMhlJ+MdrUDVZs3rxbD3L/K46A86s2VY7qC2D2kGYGBtiT/3j6wTx1eeUq5xAQ==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.5" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, + "function-name-support": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/function-name-support/-/function-name-support-0.2.0.tgz", + "integrity": "sha1-VdO/qm6v1QWlD5vIH99XVkoLsHE=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gcp-metadata": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", + "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", + "requires": { + "axios": "0.18.0", + "extend": "3.0.1", + "retry-axios": "0.3.2" + } + }, + "gcs-resumable-upload": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.9.0.tgz", + "integrity": "sha512-+Zrmr0JKO2y/2mg953TW6JLu+NAMHqQsKzqCm7CIT24gMQakolPJCMzDleVpVjXAqB7ZCD276tcUq2ebOfqTug==", + "dev": true, + "requires": { + "buffer-equal": "1.0.0", + "configstore": "3.1.1", + "google-auto-auth": "0.9.7", + "pumpify": "1.4.0", + "request": "2.85.0", + "stream-events": "1.0.2", + "through2": "2.0.3" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "1.3.5" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.0", + "glob": "7.1.2", + "ignore": "3.3.7", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "google-auth-library": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.3.2.tgz", + "integrity": "sha512-aRz0om4Bs85uyR2Ousk3Gb8Nffx2Sr2RoKts1smg1MhRwrehE1aD1HC4RmprNt1HVJ88IDnQ8biJQ/aXjiIxlQ==", + "requires": { + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.2.0", + "jws": "3.1.4", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.2", + "retry-axios": "0.3.2" + } + }, + "google-auto-auth": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", + "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", + "requires": { + "async": "2.6.0", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.3.2", + "request": "2.85.0" + } + }, + "google-gax": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.0.tgz", + "integrity": "sha512-sslPB7USGD8SrVUGlWFIGYVZrgZ6oj+fWUEW3f8Bk43+nxqeLyrNoI3iFBRpjLfwMCEYaXVziWNmatwLRP8azg==", + "requires": { + "duplexify": "3.5.4", + "extend": "3.0.1", + "globby": "8.0.1", + "google-auto-auth": "0.9.7", + "google-proto-files": "0.15.1", + "grpc": "1.9.1", + "is-stream-ended": "0.1.3", + "lodash": "4.17.5", + "protobufjs": "6.8.6", + "through2": "2.0.3" + } + }, + "google-p12-pem": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", + "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", + "requires": { + "node-forge": "0.7.4", + "pify": "3.0.0" + } + }, + "google-proto-files": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", + "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", + "requires": { + "globby": "7.1.1", + "power-assert": "1.4.4", + "protobufjs": "6.8.6" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.7", + "pify": "3.0.0", + "slash": "1.0.0" + } + } + } + }, + "got": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/got/-/got-8.2.0.tgz", + "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", + "dev": true, + "requires": { + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.0", + "mimic-response": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "2.0.0" + } + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "growl": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", + "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "dev": true + }, + "grpc": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.9.1.tgz", + "integrity": "sha512-WNW3MWMuAoo63AwIlzFE3T0KzzvNBSvOkg67Hm8WhvHNkXFBlIk1QyJRE3Ocm0O5eIwS7JU8Ssota53QR1zllg==", + "requires": { + "lodash": "4.17.5", + "nan": "2.10.0", + "node-pre-gyp": "0.6.39", + "protobufjs": "5.0.2" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.3" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "caseless": { + "version": "0.12.0", + "bundled": true + }, + "co": { + "version": "4.6.0", + "bundled": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true + }, + "extsprintf": { + "version": "1.3.0", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true + }, + "jsprim": { + "version": "1.4.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "mime-db": { + "version": "1.30.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.17", + "bundled": true, + "requires": { + "mime-db": "1.30.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "requires": { + "detect-libc": "1.0.3", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.2", + "rc": "1.2.4", + "request": "2.81.0", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "2.2.1", + "tar-pack": "3.4.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "protobufjs": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.2.tgz", + "integrity": "sha1-WXSNfc8D0tsiwT2p/rAk4Wq4DJE=", + "requires": { + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" + } + }, + "punycode": { + "version": "1.4.1", + "bundled": true + }, + "qs": { + "version": "6.4.0", + "bundled": true + }, + "rc": { + "version": "1.2.4", + "bundled": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true + } + } + }, + "readable-stream": { + "version": "2.3.3", + "bundled": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.1", + "bundled": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "bundled": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.1", + "bundled": true, + "requires": { + "debug": "2.6.9", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.3.3", + "rimraf": "2.6.2", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.3", + "bundled": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "uuid": { + "version": "3.2.1", + "bundled": true + }, + "verror": { + "version": "1.10.0", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, + "gtoken": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.2.0.tgz", + "integrity": "sha512-tvQs8B1z5+I1FzMPZnq/OCuxTWFOkvy7cUJcpNdBOK2L7yEtPZTVCPtZU181sSDF+isUPebSqFTNTkIejFASAQ==", + "requires": { + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.4", + "mime": "2.2.0", + "pify": "3.0.0" + } + }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "1.4.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "has-yarn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-1.0.0.tgz", + "integrity": "sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac=", + "dev": true + }, + "hash-stream-validation": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz", + "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", + "dev": true, + "requires": { + "through2": "2.0.3" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.4.1", + "domutils": "1.7.0", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.5" + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "hullabaloo-config-manager": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz", + "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", + "dev": true, + "requires": { + "dot-prop": "4.2.0", + "es6-error": "4.1.1", + "graceful-fs": "4.1.11", + "indent-string": "3.2.0", + "json5": "0.5.1", + "lodash.clonedeep": "4.5.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.isequal": "4.5.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "package-hash": "2.0.0", + "pkg-dir": "2.0.0", + "resolve-from": "3.0.0", + "safe-buffer": "5.1.1" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "ignore": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==" + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", + "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "ink-docstrap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ink-docstrap/-/ink-docstrap-1.3.2.tgz", + "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", + "dev": true, + "requires": { + "moment": "2.21.0", + "sanitize-html": "1.18.2" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.0.0", + "chalk": "2.3.2", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.5", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "intelli-espower-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/intelli-espower-loader/-/intelli-espower-loader-1.0.1.tgz", + "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", + "dev": true, + "requires": { + "espower-loader": "1.2.2" + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "requires": { + "from2": "2.3.0", + "p-is-promise": "1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "irregular-plurals": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", + "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=", + "dev": true + }, + "is": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz", + "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=" + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-ci": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", + "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", + "dev": true, + "requires": { + "ci-info": "1.1.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-error": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.1.tgz", + "integrity": "sha1-aEqW2EB2V3yY9M20DG0mpRI78Zw=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", + "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, + "is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "dev": true, + "requires": { + "symbol-observable": "1.2.0" + } + }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "requires": { + "is-number": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + } + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "3.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-stream-ended": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.3.tgz", + "integrity": "sha1-oEc7Jnx1ZjVIa+7cfjNE5UnRUqw=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-url": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz", + "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" + } + }, + "jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", + "dev": true + }, + "js-string-escape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", + "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.0" + } + }, + "js2xmlparser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", + "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", + "dev": true, + "requires": { + "xmlcreate": "1.0.2" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "jsdoc": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", + "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==", + "dev": true, + "requires": { + "babylon": "7.0.0-beta.19", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.17", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", + "taffydb": "2.6.2", + "underscore": "1.8.3" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.19", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", + "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==", + "dev": true + } + } + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz", + "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "just-extend": { + "version": "1.1.27", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz", + "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==", + "dev": true + }, + "jwa": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz", + "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=", + "requires": { + "base64url": "2.0.0", + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.9", + "safe-buffer": "5.1.1" + } + }, + "jws": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz", + "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=", + "requires": { + "base64url": "2.0.0", + "jwa": "1.1.5", + "safe-buffer": "5.1.1" + } + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "klaw": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", + "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "last-line-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/last-line-stream/-/last-line-stream-1.0.0.tgz", + "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", + "dev": true, + "requires": { + "through2": "2.0.3" + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "4.0.1" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "1.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.clonedeepwith": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz", + "integrity": "sha1-buMFc6A6GmDWcKYu8zwQzxr9vdQ=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", + "dev": true + }, + "lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.merge": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==" + }, + "lolex": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz", + "integrity": "sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==", + "dev": true + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + }, + "lru-cache": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "make-dir": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", + "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "1.0.1" + } + }, + "marked": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.17.tgz", + "integrity": "sha512-+AKbNsjZl6jFfLPwHhWmGTqE009wTKn3RTmn9K8oUKHrX/abPJjtcRtXpYB/FFrwPJRUA86LX/de3T0knkPCmQ==", + "dev": true + }, + "matcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.0.tgz", + "integrity": "sha512-aZGv6JBTHqfqAd09jmAlbKnAICTfIvb5Z8gXVxPB5WZtFfHMaAMdACL7tQflD2V+6/8KNcY8s6DYtWLgpJP5lA==", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "md5-hex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", + "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-estraverse-visitors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/merge-estraverse-visitors/-/merge-estraverse-visitors-1.0.0.tgz", + "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "merge2": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz", + "integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==" + }, + "methmeth": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/methmeth/-/methmeth-1.1.0.tgz", + "integrity": "sha1-6AomYY5S9cQiKGG7dIUQvRDikIk=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", + "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.1", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "mime": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz", + "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==" + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "1.33.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", + "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.4.tgz", + "integrity": "sha512-nMOpAPFosU1B4Ix1jdhx5e3q7XO55ic5a8cgYvW27CequcEY+BabS0kUVL1Cw1V5PuVHZWeNRWFLmEPexo79VA==", + "dev": true, + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.11.0", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.3", + "he": "1.1.1", + "mkdirp": "0.5.1", + "supports-color": "4.4.0" + }, + "dependencies": { + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "modelo": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/modelo/-/modelo-4.2.3.tgz", + "integrity": "sha512-9DITV2YEMcw7XojdfvGl3gDD8J9QjZTJ7ZOUuSAkP+F3T6rDbzMJuPktxptsdHYEvZcmXrCD3LMOhdSAEq6zKA==" + }, + "module-not-found-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", + "integrity": "sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=", + "dev": true + }, + "moment": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", + "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multi-stage-sourcemap": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz", + "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", + "dev": true, + "requires": { + "source-map": "0.1.43" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" + }, + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nise": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.3.1.tgz", + "integrity": "sha512-kIH3X5YCj1vvj/32zDa9KNgzvfZd51ItGbiaCbtYhpnsCedLo0tIkb9zl169a41ATzF4z7kwMLz35XXDypma3g==", + "dev": true, + "requires": { + "@sinonjs/formatio": "2.0.0", + "just-extend": "1.1.27", + "lolex": "2.3.2", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" + } + }, + "node-forge": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.4.tgz", + "integrity": "sha512-8Df0906+tq/omxuCZD6PqhPaQDYuyJ1d+VITgxoIA8zvQd1ru+nMJcDChHH324MWitIgbVkAkQoGEEVJNpn/PA==" + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "requires": { + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nyc": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.6.0.tgz", + "integrity": "sha512-ZaXCh0wmbk2aSBH2B5hZGGvK2s9aM8DIm2rVY+BG3Fx8tUS+bpJSswUVZqOD1YfCmnYRFSqgYJSr7UeeUcW0jg==", + "dev": true, + "requires": { + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.3", + "istanbul-reports": "1.3.0", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", + "yargs": "11.1.0", + "yargs-parser": "8.1.0" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "atob": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-generator": { + "version": "6.26.1", + "bundled": true, + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.5" + } + }, + "babel-traverse": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.3", + "lodash": "4.17.5" + } + }, + "babel-types": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.5", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "base": { + "version": "0.11.2", + "bundled": true, + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "bundled": true, + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "caching-transform": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" + } + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "class-utils": { + "version": "0.3.6", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "bundled": true, + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.5.3", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.2", + "which": "1.3.0" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-log": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, + "define-property": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.2", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "bundled": true, + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extend-shallow": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "extglob": { + "version": "0.3.2", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "bundled": true, + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "for-own": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" + } + }, + "fragment-cache": { + "version": "0.2.1", + "bundled": true, + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "get-value": { + "version": "2.0.6", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "bundled": true, + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "bundled": true, + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "has-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hosted-git-info": { + "version": "2.6.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invariant": { + "version": "2.2.3", + "bundled": true, + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "is-dotfile": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-odd": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-number": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "bundled": true, + "dev": true + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.1", + "bundled": true, + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" + } + }, + "istanbul-lib-report": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.3", + "bundled": true, + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "4.0.11" + } + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "lodash": { + "version": "4.17.5", + "bundled": true, + "dev": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "map-cache": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "md5-hex": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "merge-source-map": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "micromatch": { + "version": "2.3.11", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "nanomatch": { + "version": "1.2.9", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "normalize-path": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "object.omit": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "1.2.0" + } + }, + "p-try": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "pascalcase": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "bundled": true, + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "preserve": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "bundled": true, + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true, + "dev": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "ret": { + "version": "0.1.15", + "bundled": true, + "dev": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-regex": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "set-value": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "source-map": { + "version": "0.5.7", + "bundled": true, + "dev": true + }, + "source-map-resolve": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "atob": "2.0.3", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "split-string": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "static-extend": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "3.1.9", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "braces": { + "version": "2.3.1", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "kind-of": "6.0.2", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + }, + "micromatch": { + "version": "3.1.9", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.1", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "to-regex": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + } + } + }, + "trim-right": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "union-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "unset-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "bundled": true, + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "bundled": true, + "dev": true + }, + "use": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "which": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "11.1.0", + "bundled": true, + "dev": true, + "requires": { + "cliui": "4.0.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "cliui": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "8.1.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "3.0.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "3.0.1" + } + }, + "observable-to-promise": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/observable-to-promise/-/observable-to-promise-0.5.0.tgz", + "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", + "dev": true, + "requires": { + "is-observable": "0.2.0", + "symbol-observable": "1.2.0" + }, + "dependencies": { + "is-observable": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-0.2.0.tgz", + "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", + "dev": true, + "requires": { + "symbol-observable": "0.2.4" + }, + "dependencies": { + "symbol-observable": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz", + "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=", + "dev": true + } + } + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } + }, + "option-chain": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/option-chain/-/option-chain-1.0.0.tgz", + "integrity": "sha1-k41zvU4Xg/lI00AjZEraI2aeMPI=", + "dev": true + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, + "optjs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", + "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.2.0" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "1.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "package-hash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-2.0.0.tgz", + "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "lodash.flattendeep": "4.4.0", + "md5-hex": "2.0.0", + "release-zalgo": "1.0.0" + } + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" + }, + "dependencies": { + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.0", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" + } + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "parse-ms": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-0.1.2.tgz", + "integrity": "sha1-3T+iXtbC78e93hKtm0bBY6opIk4=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "3.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", + "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", + "dev": true + }, + "pinkie-promise": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", + "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", + "dev": true, + "requires": { + "pinkie": "1.0.0" + } + }, + "pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "load-json-file": "4.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.1" + } + } + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + }, + "plur": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", + "dev": true, + "requires": { + "irregular-plurals": "1.4.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "6.0.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz", + "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "source-map": "0.6.1", + "supports-color": "5.3.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "power-assert": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.4.4.tgz", + "integrity": "sha1-kpXqdDcZb1pgH95CDwQmMRhtdRc=", + "requires": { + "define-properties": "1.1.2", + "empower": "1.2.3", + "power-assert-formatter": "1.4.1", + "universal-deep-strict-equal": "1.2.2", + "xtend": "4.0.1" + } + }, + "power-assert-context-formatter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz", + "integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=", + "requires": { + "core-js": "2.5.3", + "power-assert-context-traversal": "1.1.1" + } + }, + "power-assert-context-reducer-ast": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.1.2.tgz", + "integrity": "sha1-SEqZ4m9Jc/+IMuXFzHVnAuYJQXQ=", + "requires": { + "acorn": "4.0.13", + "acorn-es7-plugin": "1.1.7", + "core-js": "2.5.3", + "espurify": "1.7.0", + "estraverse": "4.2.0" + } + }, + "power-assert-context-traversal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz", + "integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=", + "requires": { + "core-js": "2.5.3", + "estraverse": "4.2.0" + } + }, + "power-assert-formatter": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", + "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", + "requires": { + "core-js": "2.5.3", + "power-assert-context-formatter": "1.1.1", + "power-assert-context-reducer-ast": "1.1.2", + "power-assert-renderer-assertion": "1.1.1", + "power-assert-renderer-comparison": "1.1.1", + "power-assert-renderer-diagram": "1.1.2", + "power-assert-renderer-file": "1.1.1" + } + }, + "power-assert-renderer-assertion": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz", + "integrity": "sha1-y/wOd+AIao+Wrz8djme57n4ozpg=", + "requires": { + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.1.1" + } + }, + "power-assert-renderer-base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz", + "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=" + }, + "power-assert-renderer-comparison": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.1.1.tgz", + "integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=", + "requires": { + "core-js": "2.5.3", + "diff-match-patch": "1.0.0", + "power-assert-renderer-base": "1.1.1", + "stringifier": "1.3.0", + "type-name": "2.0.2" + } + }, + "power-assert-renderer-diagram": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.2.tgz", + "integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=", + "requires": { + "core-js": "2.5.3", + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.1.1", + "stringifier": "1.3.0" + } + }, + "power-assert-renderer-file": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.1.1.tgz", + "integrity": "sha1-o34rvReMys0E5427eckv40kzxec=", + "requires": { + "power-assert-renderer-base": "1.1.1" + } + }, + "power-assert-util-string-width": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz", + "integrity": "sha1-vmWet5N/3S5smncmjar2S9W3xZI=", + "requires": { + "eastasianwidth": "0.1.1" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.11.1.tgz", + "integrity": "sha512-T/KD65Ot0PB97xTrG8afQ46x3oiVhnfGjGESSI9NWYcG92+OUPZKkwHqGWXH2t9jK1crnQjubECW0FuOth+hxw==", + "dev": true + }, + "pretty-ms": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.1.0.tgz", + "integrity": "sha1-6crJx2v27lL+lC3ZxsQhMVOxKIE=", + "dev": true, + "requires": { + "parse-ms": "1.0.1", + "plur": "2.1.2" + }, + "dependencies": { + "parse-ms": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", + "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", + "dev": true + } + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, + "protobufjs": { + "version": "6.8.6", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", + "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", + "requires": { + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/base64": "1.1.2", + "@protobufjs/codegen": "2.0.4", + "@protobufjs/eventemitter": "1.1.0", + "@protobufjs/fetch": "1.1.0", + "@protobufjs/float": "1.0.2", + "@protobufjs/inquire": "1.1.0", + "@protobufjs/path": "1.1.2", + "@protobufjs/pool": "1.1.0", + "@protobufjs/utf8": "1.1.0", + "@types/long": "3.0.32", + "@types/node": "8.9.5", + "long": "4.0.0" + } + }, + "proxyquire": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz", + "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", + "dev": true, + "requires": { + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", + "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "dev": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "rc": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.6.tgz", + "integrity": "sha1-6xiYnG1PTxYsOZ953dKfODVWgJI=", + "dev": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "readable-stream": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", + "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.5", + "set-immediate-shim": "1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + } + } + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.0.1.tgz", + "integrity": "sha512-8Ph721maXiOYSLtaDGKVmDn5wdsNaF6Px85qFNeMPQq0r8K5Y10tgP6YuR65Ws35n4DvzFcCxEnRNBIXQunzLw==", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "1.2.6", + "safe-buffer": "5.1.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "1.2.6" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + } + }, + "release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, + "requires": { + "es6-error": "4.1.1" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.85.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", + "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "require-precompiled": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/require-precompiled/-/require-precompiled-0.1.0.tgz", + "integrity": "sha1-WhtS63Dr7UPrmC6XTIWrWVceVvo=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "0.1.0", + "resolve-from": "1.0.1" + }, + "dependencies": { + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + } + } + }, + "requizzle": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", + "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", + "dev": true, + "requires": { + "underscore": "1.6.0" + }, + "dependencies": { + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry-axios": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz", + "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==" + }, + "retry-request": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.1.tgz", + "integrity": "sha512-PjAmtWIxjNj4Co/6FRtBl8afRP3CxrrIAnUzb1dzydfROd+6xt7xAebFeskgQgkfFf8NmzrXIoaB3HxmswXyxw==", + "requires": { + "request": "2.85.0", + "through2": "2.0.3" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "4.0.8" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "0.1.15" + } + }, + "samsam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", + "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", + "dev": true + }, + "sanitize-html": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.18.2.tgz", + "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "htmlparser2": "3.9.2", + "lodash.clonedeep": "4.5.0", + "lodash.escaperegexp": "4.1.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mergewith": "4.6.1", + "postcss": "6.0.19", + "srcset": "1.0.0", + "xtend": "4.0.1" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "5.5.0" + } + }, + "serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "sinon": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.4.6.tgz", + "integrity": "sha512-bzQag30yErCC4lJPv+C2HcmD1+3ula4JQNePZldKcagi0Exq6XDfcC2yqXVfEwtfTIq1rYGujrUIZbwHPpKjog==", + "dev": true, + "requires": { + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.3.2", + "nise": "1.3.1", + "supports-color": "5.3.0", + "type-detect": "4.0.8" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true + }, + "snakeize": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", + "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "requires": { + "hoek": "4.2.1" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "requires": { + "atob": "2.0.3", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.4.tgz", + "integrity": "sha512-PETSPG6BjY1AHs2t64vS2aqAgu6dMIMXJULWFBGbh2Gr8nVLbCFDo6i/RMMvviIQ2h1Z8+5gQhVKSn2je9nmdg==", + "dev": true, + "requires": { + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "split-array-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz", + "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", + "requires": { + "async": "2.6.0", + "is-stream-ended": "0.1.3" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "3.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "srcset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz", + "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", + "dev": true, + "requires": { + "array-uniq": "1.0.3", + "number-is-nan": "1.0.1" + } + }, + "sshpk": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "stream-events": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.2.tgz", + "integrity": "sha1-q/OfZsCJCk63lbyNXoWbJhW1kLI=", + "requires": { + "stubs": "3.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/string/-/string-3.3.3.tgz", + "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", + "dev": true + }, + "string-format-obj": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", + "integrity": "sha512-Mm+sROy+pHJmx0P/0Bs1uxIX6UhGJGj6xDGQZ5zh9v/SZRmLGevp+p0VJxV7lirrkAmQ2mvva/gHKpnF/pTb+Q==" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringifier": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", + "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", + "requires": { + "core-js": "2.5.3", + "traverse": "0.6.6", + "type-name": "2.0.2" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-bom-buf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", + "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=" + }, + "superagent": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz", + "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "cookiejar": "2.1.1", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.2", + "formidable": "1.2.0", + "methods": "1.1.2", + "mime": "1.6.0", + "qs": "6.5.1", + "readable-stream": "2.3.5" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + } + } + }, + "supertap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supertap/-/supertap-1.0.0.tgz", + "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "indent-string": "3.2.0", + "js-yaml": "3.11.0", + "serialize-error": "2.1.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "supertest": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-3.0.0.tgz", + "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", + "dev": true, + "requires": { + "methods": "1.1.2", + "superagent": "3.8.2" + } + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + }, + "dependencies": { + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + } + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.3.2", + "lodash": "4.17.5", + "slice-ansi": "1.0.0", + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "0.7.0" + } + }, + "text-encoding": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "2.3.5", + "xtend": "4.0.1" + } + }, + "time-zone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", + "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "requires": { + "punycode": "1.4.1" + } + }, + "traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", + "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true, + "optional": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "uid2": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", + "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=", + "dev": true + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + }, + "underscore-contrib": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", + "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", + "dev": true, + "requires": { + "underscore": "1.6.0" + }, + "dependencies": { + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "1.0.0" + } + }, + "unique-temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz", + "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", + "dev": true, + "requires": { + "mkdirp": "0.5.1", + "os-tmpdir": "1.0.2", + "uid2": "0.0.3" + } + }, + "universal-deep-strict-equal": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", + "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", + "requires": { + "array-filter": "1.0.0", + "indexof": "0.0.1", + "object-keys": "1.0.11" + } + }, + "universalify": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "update-notifier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", + "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", + "dev": true, + "requires": { + "boxen": "1.3.0", + "chalk": "2.3.2", + "configstore": "3.1.1", + "import-lazy": "2.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, + "urlgrey": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", + "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", + "dev": true + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "requires": { + "kind-of": "6.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "well-known-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-1.0.0.tgz", + "integrity": "sha1-c8eK6Bp3Jqj6WY4ogIAcixYiVRg=", + "dev": true + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "widest-line": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", + "dev": true, + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" + } + }, + "write-json-file": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", + "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", + "dev": true, + "requires": { + "detect-indent": "5.0.0", + "graceful-fs": "4.1.11", + "make-dir": "1.2.0", + "pify": "3.0.0", + "sort-keys": "2.0.0", + "write-file-atomic": "2.3.0" + }, + "dependencies": { + "detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", + "dev": true + } + } + }, + "write-pkg": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.1.0.tgz", + "integrity": "sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk=", + "dev": true, + "requires": { + "sort-keys": "2.0.0", + "write-json-file": "2.3.0" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "xmlcreate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", + "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + } + } +} diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ab8f2a55536..43aba7fe413 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -68,7 +68,7 @@ "protobufjs": "^6.8.6" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.1.1", + "@google-cloud/nodejs-repo-tools": "^2.2.3", "@google-cloud/storage": "^1.5.2", "codecov": "^3.0.0", "eslint": "^4.15.0", diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 9ab0b895215..305541ff2fc 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -121,5 +121,5 @@ For more information, see https://cloud.google.com/vision/docs [detect.v1p1beta1.js_1_docs]: https://cloud.google.com/vision/docs [detect.v1p1beta1.js_1_code]: detect.v1p1beta1.js -[shell_img]: http://gstatic.com/cloudssh/images/open-btn.png +[shell_img]: //gstatic.com/cloudssh/images/open-btn.png [shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/README.md diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 69df5463f5d..d99d1664775 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -20,7 +20,7 @@ "yargs": "10.0.3" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "2.1.1", + "@google-cloud/nodejs-repo-tools": "2.2.3", "ava": "0.23.0", "uuid": "3.1.0" }, From ffcdc5da37d7dd1375eb4b769e9ed4409d097ac8 Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Tue, 20 Mar 2018 07:47:47 +1300 Subject: [PATCH 127/588] v0.17.0 (#38) --- .../google-cloud-vision/package-lock.json | 20 +++++++++---------- packages/google-cloud-vision/package.json | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index a78fc6947db..3efaea3296f 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.16.0", + "version": "0.17.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1764,7 +1764,7 @@ "diff": "3.5.0", "lodash.get": "4.4.2", "lolex": "2.3.2", - "nise": "1.3.1", + "nise": "1.3.2", "supports-color": "5.3.0", "type-detect": "4.0.8" } @@ -8722,9 +8722,9 @@ "dev": true }, "nise": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.3.1.tgz", - "integrity": "sha512-kIH3X5YCj1vvj/32zDa9KNgzvfZd51ItGbiaCbtYhpnsCedLo0tIkb9zl169a41ATzF4z7kwMLz35XXDypma3g==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.3.2.tgz", + "integrity": "sha512-KPKb+wvETBiwb4eTwtR/OsA2+iijXP+VnlSFYJo3EHjm2yjek1NWxHOUQat3i7xNLm1Bm18UA5j5Wor0yO2GtA==", "dev": true, "requires": { "@sinonjs/formatio": "2.0.0", @@ -12075,9 +12075,9 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "6.0.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz", - "integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==", + "version": "6.0.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.20.tgz", + "integrity": "sha512-Opr6usW30Iy0xEDrJywDckRxtylfO7gTGs3Kfb2LdLQlGsUg89fTy0R3Vm1Dub2YHO7MK58avr0p70+uFFHb7A==", "dev": true, "requires": { "chalk": "2.3.2", @@ -12801,7 +12801,7 @@ "lodash.isplainobject": "4.0.6", "lodash.isstring": "4.0.1", "lodash.mergewith": "4.6.1", - "postcss": "6.0.19", + "postcss": "6.0.20", "srcset": "1.0.0", "xtend": "4.0.1" } @@ -12891,7 +12891,7 @@ "diff": "3.5.0", "lodash.get": "4.4.2", "lolex": "2.3.2", - "nise": "1.3.1", + "nise": "1.3.2", "supports-color": "5.3.0", "type-detect": "4.0.8" } diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 43aba7fe413..3e190a507a3 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.16.0", + "version": "0.17.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { From bb84425a4fd28f4c6dcfd3389a922f7d8bfd989f Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 19 Mar 2018 18:33:57 -0700 Subject: [PATCH 128/588] chore: setup nighty build in CircleCI (#39) * chore: setup nighty build in CircleCI * chore: setup nighty build in CircleCI --- .../google-cloud-vision/.circleci/config.yml | 48 +++++++------ .../.circleci/get_workflow_name.py | 67 +++++++++++++++++++ 2 files changed, 96 insertions(+), 19 deletions(-) create mode 100644 packages/google-cloud-vision/.circleci/get_workflow_name.py diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index aafe4244dda..3363aafa6c5 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -1,21 +1,8 @@ -unit_tests: - steps: &unit_tests - - checkout - - run: - name: Install modules and dependencies. - command: npm install - - run: - name: Run unit tests. - command: npm test - - run: - name: Submit coverage data to codecov. - command: node_modules/.bin/codecov - when: always version: 2 workflows: version: 2 tests: - jobs: + jobs: &workflow_jobs - node4: filters: tags: @@ -77,16 +64,35 @@ workflows: ignore: /.*/ tags: only: '/^v[\d.]+$/' + nightly: + triggers: + - schedule: + cron: 0 7 * * * + filters: + branches: + only: master + jobs: *workflow_jobs jobs: node4: docker: - image: 'node:4' user: node - steps: + steps: &unit_tests_steps - checkout + - run: &remove_package_lock + name: Remove package-lock.json if needed. + command: | + WORKFLOW_NAME=`python .circleci/get_workflow_name.py` + echo "Workflow name: $WORKFLOW_NAME" + if [ "$WORKFLOW_NAME" = "nightly" ]; then + echo "Nightly build detected, removing package-lock.json." + rm -f package-lock.json samples/package-lock.json + else + echo "Not a nightly build, skipping this step." + fi - run: name: Install modules and dependencies. - command: npm install --unsafe-perm + command: npm install - run: name: Run unit tests. command: npm test @@ -98,23 +104,24 @@ jobs: docker: - image: 'node:6' user: node - steps: *unit_tests + steps: *unit_tests_steps node8: docker: - image: 'node:8' user: node - steps: *unit_tests + steps: *unit_tests_steps node9: docker: - image: 'node:9' user: node - steps: *unit_tests + steps: *unit_tests_steps lint: docker: - image: 'node:8' user: node steps: - checkout + - run: *remove_package_lock - run: name: Install modules and dependencies. command: | @@ -143,6 +150,7 @@ jobs: user: node steps: - checkout + - run: *remove_package_lock - run: name: Install modules and dependencies. command: npm install @@ -155,6 +163,7 @@ jobs: user: node steps: - checkout + - run: *remove_package_lock - run: name: Decrypt credentials. command: | @@ -196,6 +205,7 @@ jobs: user: node steps: - checkout + - run: *remove_package_lock - run: name: Decrypt credentials. command: | diff --git a/packages/google-cloud-vision/.circleci/get_workflow_name.py b/packages/google-cloud-vision/.circleci/get_workflow_name.py new file mode 100644 index 00000000000..ff6b58fd24f --- /dev/null +++ b/packages/google-cloud-vision/.circleci/get_workflow_name.py @@ -0,0 +1,67 @@ +# Copyright 2018 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. + +""" +Get workflow name for the current build using CircleCI API. +Would be great if this information is available in one of +CircleCI environment variables, but it's not there. +https://circleci.ideas.aha.io/ideas/CCI-I-295 +""" + +import json +import os +import sys +import urllib2 + + +def main(): + try: + username = os.environ['CIRCLE_PROJECT_USERNAME'] + reponame = os.environ['CIRCLE_PROJECT_REPONAME'] + build_num = os.environ['CIRCLE_BUILD_NUM'] + except: + sys.stderr.write( + 'Looks like we are not inside CircleCI container. Exiting...\n') + return 1 + + try: + request = urllib2.Request( + "https://circleci.com/api/v1.1/project/github/%s/%s/%s" % + (username, reponame, build_num), + headers={"Accept": "application/json"}) + contents = urllib2.urlopen(request).read() + except: + sys.stderr.write('Cannot query CircleCI API. Exiting...\n') + return 1 + + try: + build_info = json.loads(contents) + except: + sys.stderr.write( + 'Cannot parse JSON received from CircleCI API. Exiting...\n') + return 1 + + try: + workflow_name = build_info['workflows']['workflow_name'] + except: + sys.stderr.write( + 'Cannot get workflow name from CircleCI build info. Exiting...\n') + return 1 + + print workflow_name + return 0 + + +retval = main() +exit(retval) From f19c7280f43063b4964d9ee5e005edc9b6b7a2e2 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Tue, 20 Mar 2018 20:36:21 -0700 Subject: [PATCH 129/588] chore: make samples depend on the current version (#40) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index d99d1664775..9e60822e947 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@google-cloud/storage": "^1.5.2", - "@google-cloud/vision": "0.16.0", + "@google-cloud/vision": "0.17.0", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", From 8ec9749d6d3352aaabaa7018263e6e389d8057bd Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Thu, 22 Mar 2018 13:49:50 -0400 Subject: [PATCH 130/588] =?UTF-8?q?Update=20@google-cloud/common=20to=20th?= =?UTF-8?q?e=20latest=20version=20=F0=9F=9A=80=20(#42)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(package): update @google-cloud/common to version 0.17.0 * Update package locks --- .../google-cloud-vision/package-lock.json | 145 +++++++++++++----- packages/google-cloud-vision/package.json | 2 +- 2 files changed, 110 insertions(+), 37 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 3efaea3296f..f62195baf96 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -81,18 +81,18 @@ } }, "@google-cloud/common": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.16.2.tgz", - "integrity": "sha512-GrkaFoj0/oO36pNs4yLmaYhTujuA3i21FdQik99Fd/APix1uhf01VlpJY4lAteTDFLRNkRx6ydEh7OVvmeUHng==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz", + "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "requires": { "array-uniq": "1.0.3", "arrify": "1.0.1", - "concat-stream": "1.6.1", + "concat-stream": "1.6.2", "create-error-class": "3.0.2", "duplexify": "3.5.4", "ent": "2.2.0", "extend": "3.0.1", - "google-auto-auth": "0.9.7", + "google-auto-auth": "0.10.0", "is": "3.2.1", "log-driver": "1.2.7", "methmeth": "1.1.0", @@ -1820,7 +1820,7 @@ "arrify": "1.0.1", "async": "2.6.0", "compressible": "2.0.13", - "concat-stream": "1.6.1", + "concat-stream": "1.6.2", "create-error-class": "3.0.2", "duplexify": "3.5.4", "extend": "3.0.1", @@ -1837,6 +1837,46 @@ "stream-events": "1.0.2", "string-format-obj": "1.1.1", "through2": "2.0.3" + }, + "dependencies": { + "@google-cloud/common": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.16.2.tgz", + "integrity": "sha512-GrkaFoj0/oO36pNs4yLmaYhTujuA3i21FdQik99Fd/APix1uhf01VlpJY4lAteTDFLRNkRx6ydEh7OVvmeUHng==", + "dev": true, + "requires": { + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.5.4", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auto-auth": "0.9.7", + "is": "3.2.1", + "log-driver": "1.2.7", + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.85.0", + "retry-request": "3.3.1", + "split-array-stream": "1.0.3", + "stream-events": "1.0.2", + "string-format-obj": "1.1.1", + "through2": "2.0.3" + } + }, + "google-auto-auth": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", + "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", + "dev": true, + "requires": { + "async": "2.6.0", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.3.2", + "request": "2.85.0" + } + } } }, "@ladjs/time-require": { @@ -1970,7 +2010,7 @@ }, "@types/node": { "version": "8.9.5", - "resolved": "http://registry.npmjs.org/@types/node/-/node-8.9.5.tgz", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.5.tgz", "integrity": "sha512-jRHfWsvyMtXdbhnz5CVHxaBgnV6duZnPlQuRSo/dm/GnmikNcmZhxIES4E9OZjUmQ8C+HCl4KJux+cXN/ErGDQ==" }, "acorn": { @@ -3166,6 +3206,11 @@ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==" + }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -3847,10 +3892,11 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { + "buffer-from": "1.0.0", "inherits": "2.0.3", "readable-stream": "2.3.5", "typedarray": "0.0.6" @@ -4089,7 +4135,7 @@ "requires": { "globby": "5.0.0", "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1", @@ -4471,15 +4517,15 @@ } }, "eslint": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.0.tgz", - "integrity": "sha512-r83L5CuqaocDvfwdojbz68b6tCUk8KJkqfppO+gmSAQqYCzTr0bCSMu6A6yFCLKG65j5eKcKUw4Cw4Yl4gfWkg==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { "ajv": "5.5.2", "babel-code-frame": "6.26.0", "chalk": "2.3.2", - "concat-stream": "1.6.1", + "concat-stream": "1.6.2", "cross-spawn": "5.1.0", "debug": "3.1.0", "doctrine": "2.1.0", @@ -4564,14 +4610,14 @@ "requires": { "ignore": "3.3.7", "minimatch": "3.0.4", - "resolve": "1.5.0", + "resolve": "1.6.0", "semver": "5.5.0" }, "dependencies": { "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", + "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==", "dev": true, "requires": { "path-parse": "1.0.5" @@ -4653,7 +4699,7 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "1.2.2", + "is-url": "1.2.3", "path-is-absolute": "1.0.1", "source-map": "0.5.7", "xtend": "4.0.1" @@ -5158,9 +5204,9 @@ } }, "formidable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.0.tgz", - "integrity": "sha512-hr9aT30rAi7kf8Q2aaTpSP7xGMhlJ+MdrUDVZs3rxbD3L/K46A86s2VY7qC2D2kGYGBtiT/3j6wTx1eeUq5xAQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", "dev": true }, "fragment-cache": { @@ -6136,6 +6182,20 @@ "request": "2.85.0", "stream-events": "1.0.2", "through2": "2.0.3" + }, + "dependencies": { + "google-auto-auth": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", + "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", + "dev": true, + "requires": { + "async": "2.6.0", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.3.2", + "request": "2.85.0" + } + } } }, "get-caller-file": { @@ -6292,9 +6352,9 @@ } }, "google-auto-auth": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", - "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.0.tgz", + "integrity": "sha512-R6m473OqgZacPvlidJ0aownTlUWyLy654ugjKSXyi1ffIicXlXg3wMfse9T9zxqG6w01q6K1iG+b7dImMkVJ2Q==", "requires": { "async": "2.6.0", "gcp-metadata": "0.6.3", @@ -6317,6 +6377,19 @@ "lodash": "4.17.5", "protobufjs": "6.8.6", "through2": "2.0.3" + }, + "dependencies": { + "google-auto-auth": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", + "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", + "requires": { + "async": "2.6.0", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.3.2", + "request": "2.85.0" + } + } } }, "google-p12-pem": { @@ -7744,9 +7817,9 @@ "dev": true }, "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { "is-path-inside": "1.0.1" @@ -7828,9 +7901,9 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-url": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz", - "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.3.tgz", + "integrity": "sha512-vmOHLvzbcnsdFz8wQPXj1lgI5SE8AUlUGMenzuZzRFjoReb1WB+pLt9GrIo7BTker+aTcwrjTDle7odioWeqyw==", "dev": true }, "is-utf8": { @@ -12882,9 +12955,9 @@ "dev": true }, "sinon": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.4.6.tgz", - "integrity": "sha512-bzQag30yErCC4lJPv+C2HcmD1+3ula4JQNePZldKcagi0Exq6XDfcC2yqXVfEwtfTIq1rYGujrUIZbwHPpKjog==", + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.4.8.tgz", + "integrity": "sha512-EWZf/D5BN/BbDFPmwY2abw6wgELVmk361self+lcwEmVw0WWUxURp2S/YoDB2WG/xurFVzKQglMARweYRWM6Hw==", "dev": true, "requires": { "@sinonjs/formatio": "2.0.0", @@ -13395,7 +13468,7 @@ "debug": "3.1.0", "extend": "3.0.1", "form-data": "2.3.2", - "formidable": "1.2.0", + "formidable": "1.2.1", "methods": "1.1.2", "mime": "1.6.0", "qs": "6.5.1", diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 3e190a507a3..1ee9d45da8a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -58,7 +58,7 @@ "test": "repo-tools test run --cmd npm -- run cover" }, "dependencies": { - "@google-cloud/common": "^0.16.1", + "@google-cloud/common": "^0.17.0", "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.16.0", From 0d879e63501c2ae52893a0d3489a9f7ff9e8c381 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Thu, 22 Mar 2018 22:26:01 -0400 Subject: [PATCH 131/588] =?UTF-8?q?Update=20sinon=20to=20the=20latest=20ve?= =?UTF-8?q?rsion=20=F0=9F=9A=80=20(#41)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(package): update sinon to version 5.0.0 * Update package locks --- .../google-cloud-vision/package-lock.json | 46 +++++++++++++------ packages/google-cloud-vision/package.json | 2 +- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index f62195baf96..576cde1d495 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -2009,9 +2009,9 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "8.9.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.5.tgz", - "integrity": "sha512-jRHfWsvyMtXdbhnz5CVHxaBgnV6duZnPlQuRSo/dm/GnmikNcmZhxIES4E9OZjUmQ8C+HCl4KJux+cXN/ErGDQ==" + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.0.tgz", + "integrity": "sha512-7IGHZQfRfa0bCd7zUBVUGFKFn31SpaLDFfNoCAqkTGQO5JlHC9BwQA/CG9KZlABFxIUtXznyFgechjPQEGrUTg==" }, "acorn": { "version": "4.0.13", @@ -5203,6 +5203,15 @@ "mime-types": "2.1.18" } }, + "formatio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz", + "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", + "dev": true, + "requires": { + "samsam": "1.3.0" + } + }, "formidable": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", @@ -8003,7 +8012,7 @@ "escape-string-regexp": "1.0.5", "js2xmlparser": "3.0.0", "klaw": "2.0.0", - "marked": "0.3.17", + "marked": "0.3.18", "mkdirp": "0.5.1", "requizzle": "0.2.1", "strip-json-comments": "2.0.1", @@ -8388,9 +8397,9 @@ } }, "marked": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.17.tgz", - "integrity": "sha512-+AKbNsjZl6jFfLPwHhWmGTqE009wTKn3RTmn9K8oUKHrX/abPJjtcRtXpYB/FFrwPJRUA86LX/de3T0knkPCmQ==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.18.tgz", + "integrity": "sha512-49i2QYhfULqaXzNZpxC808PisuCTGT2fgG0zrzdCI9N3rIfAWfW0nggvbXr6zvpynZdOG5+9xNxdzP0kwZnERw==", "dev": true }, "matcher": { @@ -12350,7 +12359,7 @@ "@protobufjs/pool": "1.1.0", "@protobufjs/utf8": "1.1.0", "@types/long": "3.0.32", - "@types/node": "8.9.5", + "@types/node": "8.10.0", "long": "4.0.0" } }, @@ -12955,18 +12964,29 @@ "dev": true }, "sinon": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.4.8.tgz", - "integrity": "sha512-EWZf/D5BN/BbDFPmwY2abw6wgELVmk361self+lcwEmVw0WWUxURp2S/YoDB2WG/xurFVzKQglMARweYRWM6Hw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-5.0.0.tgz", + "integrity": "sha512-dMX7ZB2E1iQ5DOEOePoNJQp03uyhdMfb+kLXlNPbquv2FwfezD+0GbbHSgCw4MFhpSSS9NMoYJfOPMjCMJtXWA==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", "diff": "3.5.0", + "formatio": "1.2.0", "lodash.get": "4.4.2", "lolex": "2.3.2", "nise": "1.3.2", - "supports-color": "5.3.0", + "supports-color": "4.5.0", "type-detect": "4.0.8" + }, + "dependencies": { + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } } }, "slash": { diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1ee9d45da8a..f82a32f670d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -84,6 +84,6 @@ "power-assert": "^1.4.4", "prettier": "^1.7.4", "safe-buffer": "^5.1.1", - "sinon": "^4.1.2" + "sinon": "^5.0.0" } } From ddccea6d38ff8435d5f1f11bd9cdd97e56e75a1d Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 23 Mar 2018 13:55:42 -0700 Subject: [PATCH 132/588] regenerate GAPIC v1p2beta1 code (#43) --- .../vision/v1p2beta1/image_annotator.proto | 10 +++++++++ .../vision/v1p2beta1/doc_image_annotator.js | 22 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index a7102c46d29..4a1d926eb36 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -599,6 +599,16 @@ message AnnotateImageResponse { ImageAnnotationContext context = 21; } +// Response to a single file annotation request. A file may contain one or more +// images, which individually have their own responses. +message AnnotateFileResponse { + // Information about the file for which this response is generated. + InputConfig input_config = 1; + + // Individual responses to images found within the file. + repeated AnnotateImageResponse responses = 2; +} + // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { // Individual image annotation requests for this batch. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js index 4a1a5dba226..fa1965dede4 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js @@ -923,6 +923,28 @@ var AnnotateImageResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Response to a single file annotation request. A file may contain one or more + * images, which individually have their own responses. + * + * @property {Object} inputConfig + * Information about the file for which this response is generated. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p2beta1.InputConfig} + * + * @property {Object[]} responses + * Individual responses to images found within the file. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p2beta1.AnnotateImageResponse} + * + * @typedef AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} + */ +var AnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Multiple image annotation requests are batched into a single service call. * From f2c4c0f3e5795260281c07cce3e7b0c3ae2e5eae Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 26 Mar 2018 15:17:13 -0700 Subject: [PATCH 133/588] release 0.18.0 (#44) --- .../google-cloud-vision/package-lock.json | 2000 +++++++++++------ packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 3 files changed, 1335 insertions(+), 669 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 576cde1d495..1734617203c 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.17.0", + "version": "0.18.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -186,7 +186,8 @@ "dependencies": { "align-text": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { "kind-of": "3.2.2", @@ -196,22 +197,26 @@ }, "amdefine": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "append-transform": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { "default-require-extensions": "1.0.0" @@ -219,12 +224,14 @@ }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { "arr-flatten": "1.1.0" @@ -232,27 +239,32 @@ }, "arr-flatten": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "array-unique": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, "arrify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "async": { "version": "1.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "babel-code-frame": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { "chalk": "1.1.3", @@ -262,7 +274,8 @@ }, "babel-generator": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, "requires": { "babel-messages": "6.23.0", @@ -277,7 +290,8 @@ }, "babel-messages": { "version": "6.23.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { "babel-runtime": "6.26.0" @@ -285,7 +299,8 @@ }, "babel-runtime": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { "core-js": "2.5.3", @@ -294,7 +309,8 @@ }, "babel-template": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { "babel-runtime": "6.26.0", @@ -306,7 +322,8 @@ }, "babel-traverse": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -322,7 +339,8 @@ }, "babel-types": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { "babel-runtime": "6.26.0", @@ -333,17 +351,20 @@ }, "babylon": { "version": "6.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { "balanced-match": "1.0.0", @@ -352,7 +373,8 @@ }, "braces": { "version": "1.8.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { "expand-range": "1.8.2", @@ -362,12 +384,14 @@ }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "caching-transform": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { "md5-hex": "1.3.0", @@ -377,13 +401,15 @@ }, "camelcase": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, "requires": { @@ -393,7 +419,8 @@ }, "chalk": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { "ansi-styles": "2.2.1", @@ -405,7 +432,8 @@ }, "cliui": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, "requires": { @@ -416,7 +444,8 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } @@ -424,32 +453,38 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "commondir": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "core-js": { "version": "2.5.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", "dev": true }, "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { "lru-cache": "4.1.1", @@ -458,7 +493,8 @@ }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -466,17 +502,20 @@ }, "debug-log": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", + "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { "strip-bom": "2.0.0" @@ -484,7 +523,8 @@ }, "detect-indent": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { "repeating": "2.0.1" @@ -492,7 +532,8 @@ }, "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { "is-arrayish": "0.2.1" @@ -500,17 +541,20 @@ }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esutils": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { "cross-spawn": "5.1.0", @@ -524,7 +568,8 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "4.1.1", @@ -536,7 +581,8 @@ }, "expand-brackets": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { "is-posix-bracket": "0.1.1" @@ -544,7 +590,8 @@ }, "expand-range": { "version": "1.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { "fill-range": "2.2.3" @@ -552,7 +599,8 @@ }, "extglob": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { "is-extglob": "1.0.0" @@ -560,12 +608,14 @@ }, "filename-regex": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", "dev": true }, "fill-range": { "version": "2.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { "is-number": "2.1.0", @@ -577,7 +627,8 @@ }, "find-cache-dir": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { "commondir": "1.0.1", @@ -587,7 +638,8 @@ }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "2.0.0" @@ -595,12 +647,14 @@ }, "for-in": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "for-own": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { "for-in": "1.0.2" @@ -608,7 +662,8 @@ }, "foreground-child": { "version": "1.5.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { "cross-spawn": "4.0.2", @@ -617,22 +672,26 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -645,7 +704,8 @@ }, "glob-base": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { "glob-parent": "2.0.0", @@ -654,7 +714,8 @@ }, "glob-parent": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { "is-glob": "2.0.1" @@ -662,17 +723,20 @@ }, "globals": { "version": "9.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { "async": "1.5.2", @@ -683,7 +747,8 @@ "dependencies": { "source-map": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { "amdefine": "1.0.1" @@ -693,7 +758,8 @@ }, "has-ansi": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -701,22 +767,26 @@ }, "has-flag": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "hosted-git-info": { "version": "2.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "1.4.0", @@ -725,12 +795,14 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invariant": { "version": "2.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "dev": true, "requires": { "loose-envify": "1.3.1" @@ -738,22 +810,26 @@ }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { "builtin-modules": "1.1.1" @@ -761,12 +837,14 @@ }, "is-dotfile": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", "dev": true }, "is-equal-shallow": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { "is-primitive": "2.0.0" @@ -774,17 +852,20 @@ }, "is-extendable": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-extglob": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-finite": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -792,7 +873,8 @@ }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -800,7 +882,8 @@ }, "is-glob": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { "is-extglob": "1.0.0" @@ -808,7 +891,8 @@ }, "is-number": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -816,37 +900,44 @@ }, "is-posix-bracket": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", "dev": true }, "is-primitive": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -854,12 +945,14 @@ }, "istanbul-lib-coverage": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { "append-transform": "0.4.0" @@ -867,7 +960,8 @@ }, "istanbul-lib-instrument": { "version": "1.9.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { "babel-generator": "6.26.0", @@ -881,7 +975,8 @@ }, "istanbul-lib-report": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { "istanbul-lib-coverage": "1.1.1", @@ -892,7 +987,8 @@ "dependencies": { "supports-color": { "version": "3.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { "has-flag": "1.0.0" @@ -902,7 +998,8 @@ }, "istanbul-lib-source-maps": { "version": "1.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { "debug": "3.1.0", @@ -914,7 +1011,8 @@ "dependencies": { "debug": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -924,7 +1022,8 @@ }, "istanbul-reports": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { "handlebars": "4.0.11" @@ -932,17 +1031,20 @@ }, "js-tokens": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "jsesc": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -950,13 +1052,15 @@ }, "lazy-cache": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { "invert-kv": "1.0.0" @@ -964,7 +1068,8 @@ }, "load-json-file": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -976,7 +1081,8 @@ }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "2.0.0", @@ -985,24 +1091,28 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "lodash": { "version": "4.17.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", "dev": true }, "longest": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, "loose-envify": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { "js-tokens": "3.0.2" @@ -1010,7 +1120,8 @@ }, "lru-cache": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { "pseudomap": "1.0.2", @@ -1019,7 +1130,8 @@ }, "md5-hex": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { "md5-o-matic": "0.1.1" @@ -1027,12 +1139,14 @@ }, "md5-o-matic": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { "mimic-fn": "1.1.0" @@ -1040,7 +1154,8 @@ }, "merge-source-map": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "dev": true, "requires": { "source-map": "0.5.7" @@ -1048,7 +1163,8 @@ }, "micromatch": { "version": "2.3.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { "arr-diff": "2.0.0", @@ -1068,12 +1184,14 @@ }, "mimic-fn": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "1.1.8" @@ -1081,12 +1199,14 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -1094,12 +1214,14 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { "hosted-git-info": "2.5.0", @@ -1110,7 +1232,8 @@ }, "normalize-path": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { "remove-trailing-separator": "1.1.0" @@ -1118,7 +1241,8 @@ }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { "path-key": "2.0.1" @@ -1126,17 +1250,20 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object.omit": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { "for-own": "0.1.5", @@ -1145,7 +1272,8 @@ }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1.0.2" @@ -1153,7 +1281,8 @@ }, "optimist": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { "minimist": "0.0.8", @@ -1162,12 +1291,14 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { "execa": "0.7.0", @@ -1177,17 +1308,20 @@ }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", "dev": true }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "1.1.0" @@ -1195,7 +1329,8 @@ }, "parse-glob": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { "glob-base": "0.3.0", @@ -1206,7 +1341,8 @@ }, "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { "error-ex": "1.3.1" @@ -1214,7 +1350,8 @@ }, "path-exists": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { "pinkie-promise": "2.0.1" @@ -1222,22 +1359,26 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -1247,17 +1388,20 @@ }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { "pinkie": "2.0.4" @@ -1265,7 +1409,8 @@ }, "pkg-dir": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { "find-up": "1.1.2" @@ -1273,7 +1418,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "2.1.0", @@ -1284,17 +1430,20 @@ }, "preserve": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "randomatic": { "version": "1.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { "is-number": "3.0.0", @@ -1303,7 +1452,8 @@ "dependencies": { "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -1311,7 +1461,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -1321,7 +1472,8 @@ }, "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -1331,7 +1483,8 @@ }, "read-pkg": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { "load-json-file": "1.1.0", @@ -1341,7 +1494,8 @@ }, "read-pkg-up": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { "find-up": "1.1.2", @@ -1350,7 +1504,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "2.1.0", @@ -1361,12 +1516,14 @@ }, "regenerator-runtime": { "version": "0.11.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regex-cache": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { "is-equal-shallow": "0.1.3" @@ -1374,22 +1531,26 @@ }, "remove-trailing-separator": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "repeat-element": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "repeating": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { "is-finite": "1.0.2" @@ -1397,22 +1558,26 @@ }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "right-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, "requires": { @@ -1421,7 +1586,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "7.1.2" @@ -1429,17 +1595,20 @@ }, "semver": { "version": "5.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "1.0.0" @@ -1447,27 +1616,32 @@ }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", + "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { "foreground-child": "1.5.6", @@ -1480,7 +1654,8 @@ }, "spdx-correct": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { "spdx-license-ids": "1.2.2" @@ -1488,17 +1663,20 @@ }, "spdx-expression-parse": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", "dev": true }, "spdx-license-ids": { "version": "1.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", "dev": true }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", @@ -1507,17 +1685,20 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "3.0.0" @@ -1527,7 +1708,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -1535,7 +1717,8 @@ }, "strip-bom": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { "is-utf8": "0.2.1" @@ -1543,17 +1726,20 @@ }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "supports-color": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "test-exclude": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", + "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "dev": true, "requires": { "arrify": "1.0.1", @@ -1565,17 +1751,20 @@ }, "to-fast-properties": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, "trim-right": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, "uglify-js": { "version": "2.8.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, "requires": { @@ -1586,7 +1775,8 @@ "dependencies": { "yargs": { "version": "3.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, "requires": { @@ -1600,13 +1790,15 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "validate-npm-package-license": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { "spdx-correct": "1.0.2", @@ -1615,7 +1807,8 @@ }, "which": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { "isexe": "2.0.0" @@ -1623,23 +1816,27 @@ }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { "string-width": "1.0.2", @@ -1648,7 +1845,8 @@ "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "1.1.0", @@ -1660,12 +1858,14 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -1675,17 +1875,20 @@ }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "10.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz", + "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", "dev": true, "requires": { "cliui": "3.2.0", @@ -1704,7 +1907,8 @@ "dependencies": { "cliui": { "version": "3.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { "string-width": "1.0.2", @@ -1714,7 +1918,8 @@ "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "1.1.0", @@ -1728,7 +1933,8 @@ }, "yargs-parser": { "version": "8.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz", + "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", "dev": true, "requires": { "camelcase": "4.1.0" @@ -1736,7 +1942,8 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } @@ -6502,11 +6709,13 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "ajv": { "version": "4.11.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "requires": { "co": "4.6.0", "json-stable-stringify": "1.0.1" @@ -6514,15 +6723,18 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "aproba": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "requires": { "delegates": "1.0.0", "readable-stream": "2.3.3" @@ -6530,31 +6742,38 @@ }, "asn1": { "version": "0.2.3", - "bundled": true + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" }, "assert-plus": { "version": "0.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" }, "asynckit": { "version": "0.4.0", - "bundled": true + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "aws-sign2": { "version": "0.6.0", - "bundled": true + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" }, "aws4": { "version": "1.6.0", - "bundled": true + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "bcrypt-pbkdf": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { "tweetnacl": "0.14.5" @@ -6562,21 +6781,24 @@ }, "block-stream": { "version": "0.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "requires": { "inherits": "2.0.3" } }, "boom": { "version": "2.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "requires": { "hoek": "2.16.3" } }, "brace-expansion": { "version": "1.1.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -6584,81 +6806,97 @@ }, "caseless": { "version": "0.12.0", - "bundled": true + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "co": { "version": "4.6.0", - "bundled": true + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, "code-point-at": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "combined-stream": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "requires": { "delayed-stream": "1.0.0" } }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "core-util-is": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cryptiles": { "version": "2.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "requires": { "boom": "2.10.1" } }, "dashdash": { "version": "1.14.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "deep-extend": { "version": "0.4.2", - "bundled": true + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" }, "delayed-stream": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "detect-libc": { "version": "1.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, "ecc-jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { "jsbn": "0.1.1" @@ -6666,19 +6904,23 @@ }, "extend": { "version": "3.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" }, "extsprintf": { "version": "1.3.0", - "bundled": true + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "forever-agent": { "version": "0.6.1", - "bundled": true + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.5", @@ -6687,11 +6929,13 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fstream": { "version": "1.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -6701,7 +6945,8 @@ }, "fstream-ignore": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", "requires": { "fstream": "1.0.11", "inherits": "2.0.3", @@ -6710,7 +6955,8 @@ }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { "aproba": "1.2.0", "console-control-strings": "1.1.0", @@ -6724,20 +6970,23 @@ }, "getpass": { "version": "0.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -6749,15 +6998,18 @@ }, "graceful-fs": { "version": "4.1.11", - "bundled": true + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, "har-schema": { "version": "1.0.5", - "bundled": true + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" }, "har-validator": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "requires": { "ajv": "4.11.8", "har-schema": "1.0.5" @@ -6765,11 +7017,13 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "hawk": { "version": "3.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "requires": { "boom": "2.10.1", "cryptiles": "2.0.5", @@ -6779,11 +7033,13 @@ }, "hoek": { "version": "2.16.3", - "bundled": true + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" }, "http-signature": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "requires": { "assert-plus": "0.2.0", "jsprim": "1.4.1", @@ -6792,7 +7048,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -6800,58 +7057,70 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.5", - "bundled": true + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { "number-is-nan": "1.0.1" } }, "is-typedarray": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "isarray": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isstream": { "version": "0.1.2", - "bundled": true + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "optional": true }, "json-schema": { "version": "0.2.3", - "bundled": true + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-stable-stringify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { "jsonify": "0.0.0" } }, "json-stringify-safe": { "version": "5.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "jsonify": { "version": "0.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, "jsprim": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -6861,46 +7130,54 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "mime-db": { "version": "1.30.0", - "bundled": true + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" }, "mime-types": { "version": "2.1.17", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "requires": { "mime-db": "1.30.0" } }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "1.1.8" } }, "minimist": { "version": "0.0.8", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node-pre-gyp": { "version": "0.6.39", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", + "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", "requires": { "detect-libc": "1.0.3", "hawk": "3.1.3", @@ -6917,7 +7194,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "requires": { "abbrev": "1.1.1", "osenv": "0.1.4" @@ -6925,7 +7203,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { "are-we-there-yet": "1.1.4", "console-control-strings": "1.1.0", @@ -6935,34 +7214,41 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": { "version": "0.8.2", - "bundled": true + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" }, "object-assign": { "version": "4.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1.0.2" } }, "os-homedir": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-tmpdir": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", "requires": { "os-homedir": "1.0.2", "os-tmpdir": "1.0.2" @@ -6970,15 +7256,18 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "performance-now": { "version": "0.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" }, "process-nextick-args": { "version": "1.0.7", - "bundled": true + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, "protobufjs": { "version": "5.0.2", @@ -6993,15 +7282,18 @@ }, "punycode": { "version": "1.4.1", - "bundled": true + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "qs": { "version": "6.4.0", - "bundled": true + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" }, "rc": { "version": "1.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.4.tgz", + "integrity": "sha1-oPYGyq4qO4YrvQ74VILAElsxX6M=", "requires": { "deep-extend": "0.4.2", "ini": "1.3.5", @@ -7011,13 +7303,15 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, "readable-stream": { "version": "2.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -7030,7 +7324,8 @@ }, "request": { "version": "2.81.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "requires": { "aws-sign2": "0.6.0", "aws4": "1.6.0", @@ -7058,37 +7353,44 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { "glob": "7.1.2" } }, "safe-buffer": { "version": "5.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "semver": { "version": "5.5.0", - "bundled": true + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "set-blocking": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "signal-exit": { "version": "3.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "sntp": { "version": "1.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "requires": { "hoek": "2.16.3" } }, "sshpk": { "version": "1.13.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "requires": { "asn1": "0.2.3", "assert-plus": "1.0.0", @@ -7102,13 +7404,15 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -7117,29 +7421,34 @@ }, "string_decoder": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { "safe-buffer": "5.1.1" } }, "stringstream": { "version": "0.0.5", - "bundled": true + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "2.1.1" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "tar": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -7148,7 +7457,8 @@ }, "tar-pack": { "version": "3.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz", + "integrity": "sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==", "requires": { "debug": "2.6.9", "fstream": "1.0.11", @@ -7162,38 +7472,45 @@ }, "tough-cookie": { "version": "2.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "requires": { "punycode": "1.4.1" } }, "tunnel-agent": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { "safe-buffer": "5.1.1" } }, "tweetnacl": { "version": "0.14.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "optional": true }, "uid-number": { "version": "0.0.6", - "bundled": true + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=" }, "util-deprecate": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { "version": "3.2.1", - "bundled": true + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" }, "verror": { "version": "1.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { "assert-plus": "1.0.0", "core-util-is": "1.0.2", @@ -7202,20 +7519,23 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" } } }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "requires": { "string-width": "1.0.2" } }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } }, @@ -8918,7 +9238,8 @@ "dependencies": { "align-text": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { "kind-of": "3.2.2", @@ -8928,22 +9249,26 @@ }, "amdefine": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "append-transform": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { "default-require-extensions": "1.0.0" @@ -8951,12 +9276,14 @@ }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { "arr-flatten": "1.1.0" @@ -8964,42 +9291,50 @@ }, "arr-flatten": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "arr-union": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-unique": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, "arrify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "assign-symbols": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, "async": { "version": "1.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "atob": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", + "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", "dev": true }, "babel-code-frame": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { "chalk": "1.1.3", @@ -9009,7 +9344,8 @@ }, "babel-generator": { "version": "6.26.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { "babel-messages": "6.23.0", @@ -9024,7 +9360,8 @@ }, "babel-messages": { "version": "6.23.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { "babel-runtime": "6.26.0" @@ -9032,7 +9369,8 @@ }, "babel-runtime": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { "core-js": "2.5.3", @@ -9041,7 +9379,8 @@ }, "babel-template": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { "babel-runtime": "6.26.0", @@ -9053,7 +9392,8 @@ }, "babel-traverse": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { "babel-code-frame": "6.26.0", @@ -9069,7 +9409,8 @@ }, "babel-types": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { "babel-runtime": "6.26.0", @@ -9080,17 +9421,20 @@ }, "babylon": { "version": "6.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "base": { "version": "0.11.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { "cache-base": "1.0.1", @@ -9104,7 +9448,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "1.0.2" @@ -9112,14 +9457,16 @@ }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "1.0.0", @@ -9128,7 +9475,8 @@ }, "braces": { "version": "1.8.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { "expand-range": "1.8.2", @@ -9138,12 +9486,14 @@ }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "cache-base": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { "collection-visit": "1.0.0", @@ -9159,14 +9509,16 @@ "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "caching-transform": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { "md5-hex": "1.3.0", @@ -9176,13 +9528,15 @@ }, "camelcase": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, "requires": { @@ -9192,7 +9546,8 @@ }, "chalk": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { "ansi-styles": "2.2.1", @@ -9204,7 +9559,8 @@ }, "class-utils": { "version": "0.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { "arr-union": "3.1.0", @@ -9215,7 +9571,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "0.1.6" @@ -9223,7 +9580,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -9231,7 +9589,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -9241,7 +9600,8 @@ }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -9249,7 +9609,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -9259,7 +9620,8 @@ }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "0.1.6", @@ -9269,19 +9631,22 @@ }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "cliui": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, "requires": { @@ -9292,7 +9657,8 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } @@ -9300,12 +9666,14 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "collection-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { "map-visit": "1.0.0", @@ -9314,37 +9682,44 @@ }, "commondir": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "component-emitter": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "copy-descriptor": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, "core-js": { "version": "2.5.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", "dev": true }, "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { "lru-cache": "4.1.2", @@ -9353,7 +9728,8 @@ }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -9361,22 +9737,26 @@ }, "debug-log": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", + "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { "strip-bom": "2.0.0" @@ -9384,7 +9764,8 @@ }, "define-property": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { "is-descriptor": "1.0.2", @@ -9393,14 +9774,16 @@ "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "detect-indent": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { "repeating": "2.0.1" @@ -9408,7 +9791,8 @@ }, "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { "is-arrayish": "0.2.1" @@ -9416,17 +9800,20 @@ }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esutils": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { "cross-spawn": "5.1.0", @@ -9440,7 +9827,8 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "4.1.2", @@ -9452,7 +9840,8 @@ }, "expand-brackets": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { "is-posix-bracket": "0.1.1" @@ -9460,7 +9849,8 @@ }, "expand-range": { "version": "1.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { "fill-range": "2.2.3" @@ -9468,7 +9858,8 @@ }, "extend-shallow": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { "assign-symbols": "1.0.0", @@ -9477,7 +9868,8 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "2.0.4" @@ -9487,7 +9879,8 @@ }, "extglob": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { "is-extglob": "1.0.0" @@ -9495,12 +9888,14 @@ }, "filename-regex": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", "dev": true }, "fill-range": { "version": "2.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { "is-number": "2.1.0", @@ -9512,7 +9907,8 @@ }, "find-cache-dir": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { "commondir": "1.0.1", @@ -9522,7 +9918,8 @@ }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "2.0.0" @@ -9530,12 +9927,14 @@ }, "for-in": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "for-own": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { "for-in": "1.0.2" @@ -9543,7 +9942,8 @@ }, "foreground-child": { "version": "1.5.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { "cross-spawn": "4.0.2", @@ -9552,7 +9952,8 @@ }, "fragment-cache": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { "map-cache": "0.2.2" @@ -9560,27 +9961,32 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "get-value": { "version": "2.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -9593,7 +9999,8 @@ }, "glob-base": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { "glob-parent": "2.0.0", @@ -9602,7 +10009,8 @@ }, "glob-parent": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { "is-glob": "2.0.1" @@ -9610,17 +10018,20 @@ }, "globals": { "version": "9.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { "async": "1.5.2", @@ -9631,7 +10042,8 @@ "dependencies": { "source-map": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { "amdefine": "1.0.1" @@ -9641,7 +10053,8 @@ }, "has-ansi": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -9649,12 +10062,14 @@ }, "has-flag": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "has-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { "get-value": "2.0.6", @@ -9664,14 +10079,16 @@ "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "has-values": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { "is-number": "3.0.0", @@ -9680,7 +10097,8 @@ "dependencies": { "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -9688,7 +10106,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -9698,7 +10117,8 @@ }, "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -9708,17 +10128,20 @@ }, "hosted-git-info": { "version": "2.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "1.4.0", @@ -9727,12 +10150,14 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invariant": { "version": "2.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz", + "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==", "dev": true, "requires": { "loose-envify": "1.3.1" @@ -9740,12 +10165,14 @@ }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "6.0.2" @@ -9753,24 +10180,28 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { "builtin-modules": "1.1.1" @@ -9778,7 +10209,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "6.0.2" @@ -9786,14 +10218,16 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "1.0.0", @@ -9803,19 +10237,22 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "is-dotfile": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", "dev": true }, "is-equal-shallow": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { "is-primitive": "2.0.0" @@ -9823,17 +10260,20 @@ }, "is-extendable": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-extglob": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-finite": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -9841,12 +10281,14 @@ }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "is-glob": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { "is-extglob": "1.0.0" @@ -9854,7 +10296,8 @@ }, "is-number": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -9862,7 +10305,8 @@ }, "is-odd": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { "is-number": "4.0.0" @@ -9870,14 +10314,16 @@ "dependencies": { "is-number": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "3.0.1" @@ -9885,49 +10331,58 @@ "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "is-posix-bracket": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", "dev": true }, "is-primitive": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "is-windows": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -9935,12 +10390,14 @@ }, "istanbul-lib-coverage": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", + "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { "append-transform": "0.4.0" @@ -9948,7 +10405,8 @@ }, "istanbul-lib-instrument": { "version": "1.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", + "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { "babel-generator": "6.26.1", @@ -9962,7 +10420,8 @@ }, "istanbul-lib-report": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", + "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", "dev": true, "requires": { "istanbul-lib-coverage": "1.2.0", @@ -9973,7 +10432,8 @@ "dependencies": { "supports-color": { "version": "3.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { "has-flag": "1.0.0" @@ -9983,7 +10443,8 @@ }, "istanbul-lib-source-maps": { "version": "1.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz", + "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", "dev": true, "requires": { "debug": "3.1.0", @@ -9995,7 +10456,8 @@ "dependencies": { "debug": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -10005,7 +10467,8 @@ }, "istanbul-reports": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.3.0.tgz", + "integrity": "sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==", "dev": true, "requires": { "handlebars": "4.0.11" @@ -10013,17 +10476,20 @@ }, "js-tokens": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "jsesc": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -10031,13 +10497,15 @@ }, "lazy-cache": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { "invert-kv": "1.0.0" @@ -10045,7 +10513,8 @@ }, "load-json-file": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -10057,7 +10526,8 @@ }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "2.0.0", @@ -10066,24 +10536,28 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "lodash": { "version": "4.17.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", "dev": true }, "longest": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, "loose-envify": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { "js-tokens": "3.0.2" @@ -10091,7 +10565,8 @@ }, "lru-cache": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", "dev": true, "requires": { "pseudomap": "1.0.2", @@ -10100,12 +10575,14 @@ }, "map-cache": { "version": "0.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { "object-visit": "1.0.1" @@ -10113,7 +10590,8 @@ }, "md5-hex": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { "md5-o-matic": "0.1.1" @@ -10121,12 +10599,14 @@ }, "md5-o-matic": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { "mimic-fn": "1.2.0" @@ -10134,7 +10614,8 @@ }, "merge-source-map": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", "dev": true, "requires": { "source-map": "0.6.1" @@ -10142,14 +10623,16 @@ "dependencies": { "source-map": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "micromatch": { "version": "2.3.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { "arr-diff": "2.0.0", @@ -10169,12 +10652,14 @@ }, "mimic-fn": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "1.1.11" @@ -10182,12 +10667,14 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mixin-deep": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { "for-in": "1.0.2", @@ -10196,7 +10683,8 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "2.0.4" @@ -10206,7 +10694,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -10214,12 +10703,14 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "nanomatch": { "version": "1.2.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { "arr-diff": "4.0.0", @@ -10238,24 +10729,28 @@ "dependencies": { "arr-diff": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "array-unique": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { "hosted-git-info": "2.6.0", @@ -10266,7 +10761,8 @@ }, "normalize-path": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { "remove-trailing-separator": "1.1.0" @@ -10274,7 +10770,8 @@ }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { "path-key": "2.0.1" @@ -10282,17 +10779,20 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-copy": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { "copy-descriptor": "0.1.1", @@ -10302,7 +10802,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "0.1.6" @@ -10310,7 +10811,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -10318,7 +10820,8 @@ }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -10326,7 +10829,8 @@ }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "0.1.6", @@ -10336,7 +10840,8 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } @@ -10345,7 +10850,8 @@ }, "object-visit": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { "isobject": "3.0.1" @@ -10353,14 +10859,16 @@ "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "object.omit": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { "for-own": "0.1.5", @@ -10369,7 +10877,8 @@ }, "object.pick": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { "isobject": "3.0.1" @@ -10377,14 +10886,16 @@ "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1.0.2" @@ -10392,7 +10903,8 @@ }, "optimist": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { "minimist": "0.0.8", @@ -10401,12 +10913,14 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { "execa": "0.7.0", @@ -10416,12 +10930,14 @@ }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { "p-try": "1.0.0" @@ -10429,7 +10945,8 @@ }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "1.2.0" @@ -10437,12 +10954,14 @@ }, "p-try": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "parse-glob": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { "glob-base": "0.3.0", @@ -10453,7 +10972,8 @@ }, "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { "error-ex": "1.3.1" @@ -10461,12 +10981,14 @@ }, "pascalcase": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, "path-exists": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { "pinkie-promise": "2.0.1" @@ -10474,22 +10996,26 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -10499,17 +11025,20 @@ }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { "pinkie": "2.0.4" @@ -10517,7 +11046,8 @@ }, "pkg-dir": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { "find-up": "1.1.2" @@ -10525,7 +11055,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "2.1.0", @@ -10536,22 +11067,26 @@ }, "posix-character-classes": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, "preserve": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "randomatic": { "version": "1.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { "is-number": "3.0.0", @@ -10560,7 +11095,8 @@ "dependencies": { "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -10568,7 +11104,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -10578,7 +11115,8 @@ }, "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -10588,7 +11126,8 @@ }, "read-pkg": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { "load-json-file": "1.1.0", @@ -10598,7 +11137,8 @@ }, "read-pkg-up": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { "find-up": "1.1.2", @@ -10607,7 +11147,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "2.1.0", @@ -10618,12 +11159,14 @@ }, "regenerator-runtime": { "version": "0.11.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regex-cache": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { "is-equal-shallow": "0.1.3" @@ -10631,7 +11174,8 @@ }, "regex-not": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "3.0.2", @@ -10640,22 +11184,26 @@ }, "remove-trailing-separator": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "repeat-element": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "repeating": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { "is-finite": "1.0.2" @@ -10663,32 +11211,38 @@ }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "resolve-url": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "ret": { "version": "0.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, "right-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, "requires": { @@ -10697,7 +11251,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "7.1.2" @@ -10705,7 +11260,8 @@ }, "safe-regex": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { "ret": "0.1.15" @@ -10713,17 +11269,20 @@ }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "set-value": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { "extend-shallow": "2.0.1", @@ -10734,7 +11293,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "0.1.1" @@ -10744,7 +11304,8 @@ }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "1.0.0" @@ -10752,22 +11313,26 @@ }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "snapdragon": { "version": "0.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "0.11.2", @@ -10782,7 +11347,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "0.1.6" @@ -10790,7 +11356,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "0.1.1" @@ -10798,7 +11365,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -10806,7 +11374,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -10816,7 +11385,8 @@ }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -10824,7 +11394,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -10834,7 +11405,8 @@ }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "0.1.6", @@ -10844,14 +11416,16 @@ }, "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "snapdragon-node": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "1.0.0", @@ -10861,7 +11435,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "1.0.2" @@ -10869,14 +11444,16 @@ }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "3.2.2" @@ -10884,12 +11461,14 @@ }, "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", "dev": true, "requires": { "atob": "2.0.3", @@ -10901,12 +11480,14 @@ }, "source-map-url": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", + "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { "foreground-child": "1.5.6", @@ -10919,7 +11500,8 @@ }, "spdx-correct": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { "spdx-expression-parse": "3.0.0", @@ -10928,12 +11510,14 @@ }, "spdx-exceptions": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { "spdx-exceptions": "2.1.0", @@ -10942,12 +11526,14 @@ }, "spdx-license-ids": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "split-string": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "3.0.2" @@ -10955,7 +11541,8 @@ }, "static-extend": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { "define-property": "0.2.5", @@ -10964,7 +11551,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "0.1.6" @@ -10972,7 +11560,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -10980,7 +11569,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -10990,7 +11580,8 @@ }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -10998,7 +11589,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -11008,7 +11600,8 @@ }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "0.1.6", @@ -11018,14 +11611,16 @@ }, "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", @@ -11034,12 +11629,14 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "3.0.0" @@ -11049,7 +11646,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -11057,7 +11655,8 @@ }, "strip-bom": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { "is-utf8": "0.2.1" @@ -11065,17 +11664,20 @@ }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "supports-color": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "test-exclude": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", + "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { "arrify": "1.0.1", @@ -11087,17 +11689,20 @@ "dependencies": { "arr-diff": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "array-unique": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "braces": { "version": "2.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", + "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", "dev": true, "requires": { "arr-flatten": "1.1.0", @@ -11116,7 +11721,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "1.0.2" @@ -11124,7 +11730,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "0.1.1" @@ -11134,7 +11741,8 @@ }, "expand-brackets": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { "debug": "2.6.9", @@ -11148,7 +11756,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "0.1.6" @@ -11156,7 +11765,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "0.1.1" @@ -11164,7 +11774,8 @@ }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "0.1.6", @@ -11174,14 +11785,16 @@ }, "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "extglob": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "0.3.2", @@ -11196,7 +11809,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "1.0.2" @@ -11204,7 +11818,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "0.1.1" @@ -11214,7 +11829,8 @@ }, "fill-range": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { "extend-shallow": "2.0.1", @@ -11225,7 +11841,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "0.1.1" @@ -11235,7 +11852,8 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -11243,7 +11861,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -11253,7 +11872,8 @@ }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -11261,7 +11881,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -11271,7 +11892,8 @@ }, "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -11279,7 +11901,8 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "1.1.6" @@ -11289,17 +11912,20 @@ }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true }, "micromatch": { "version": "3.1.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", + "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", "dev": true, "requires": { "arr-diff": "4.0.0", @@ -11321,12 +11947,14 @@ }, "to-fast-properties": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, "to-object-path": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -11334,7 +11962,8 @@ }, "to-regex": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "2.0.2", @@ -11345,7 +11974,8 @@ }, "to-regex-range": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { "is-number": "3.0.0", @@ -11354,7 +11984,8 @@ "dependencies": { "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "3.2.2" @@ -11364,12 +11995,14 @@ }, "trim-right": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, "uglify-js": { "version": "2.8.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, "requires": { @@ -11380,7 +12013,8 @@ "dependencies": { "yargs": { "version": "3.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, "requires": { @@ -11394,13 +12028,15 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { "arr-union": "3.1.0", @@ -11411,7 +12047,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "0.1.1" @@ -11419,7 +12056,8 @@ }, "set-value": { "version": "0.4.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { "extend-shallow": "2.0.1", @@ -11432,7 +12070,8 @@ }, "unset-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { "has-value": "0.3.1", @@ -11441,7 +12080,8 @@ "dependencies": { "has-value": { "version": "0.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { "get-value": "2.0.6", @@ -11451,7 +12091,8 @@ "dependencies": { "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -11461,24 +12102,28 @@ }, "has-values": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "urix": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "use": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { "kind-of": "6.0.2" @@ -11486,14 +12131,16 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { "spdx-correct": "3.0.0", @@ -11502,7 +12149,8 @@ }, "which": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { "isexe": "2.0.0" @@ -11510,23 +12158,27 @@ }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { "string-width": "1.0.2", @@ -11535,7 +12187,8 @@ "dependencies": { "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -11543,7 +12196,8 @@ }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "1.1.0", @@ -11555,12 +12209,14 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -11570,17 +12226,20 @@ }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "11.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { "cliui": "4.0.0", @@ -11599,17 +12258,20 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "cliui": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", + "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", "dev": true, "requires": { "string-width": "2.1.1", @@ -11619,7 +12281,8 @@ }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "3.0.0" @@ -11627,7 +12290,8 @@ }, "yargs-parser": { "version": "9.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { "camelcase": "4.1.0" @@ -11637,7 +12301,8 @@ }, "yargs-parser": { "version": "8.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", "dev": true, "requires": { "camelcase": "4.1.0" @@ -11645,7 +12310,8 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index f82a32f670d..921a02fd7bf 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.17.0", + "version": "0.18.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 9e60822e947..ce20cb4455e 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@google-cloud/storage": "^1.5.2", - "@google-cloud/vision": "0.17.0", + "@google-cloud/vision": "0.18.0", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", From 37d0494d7c0eb012e5465296f208348cde2fd492 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Tue, 27 Mar 2018 18:10:52 -0700 Subject: [PATCH 134/588] chore: workaround for repo-tools EPERM (#45) --- .../google-cloud-vision/.circleci/config.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 3363aafa6c5..20b735b6352 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -92,7 +92,12 @@ jobs: fi - run: name: Install modules and dependencies. - command: npm install + command: |- + npm install + repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" + if ! test -x "$repo_tools"; then + chmod +x "$repo_tools" + fi - run: name: Run unit tests. command: npm test @@ -127,6 +132,10 @@ jobs: command: | mkdir -p /home/node/.npm-global npm install + repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" + if ! test -x "$repo_tools"; then + chmod +x "$repo_tools" + fi npm link environment: NPM_CONFIG_PREFIX: /home/node/.npm-global @@ -153,7 +162,12 @@ jobs: - run: *remove_package_lock - run: name: Install modules and dependencies. - command: npm install + command: |- + npm install + repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" + if ! test -x "$repo_tools"; then + chmod +x "$repo_tools" + fi - run: name: Build documentation. command: npm run docs From 2298405b1b4f4008235dd9708f7ff63da3a148bc Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 28 Mar 2018 18:45:51 -0700 Subject: [PATCH 135/588] chore: one more workaround for repo-tools EPERM (#46) --- packages/google-cloud-vision/.circleci/config.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 20b735b6352..529add30190 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -189,6 +189,10 @@ jobs: command: | mkdir -p /home/node/.npm-global npm install + repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" + if ! test -x "$repo_tools"; then + chmod +x "$repo_tools" + fi npm link environment: NPM_CONFIG_PREFIX: /home/node/.npm-global @@ -228,7 +232,12 @@ jobs: -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" - run: name: Install modules and dependencies. - command: npm install + command: |- + npm install + repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" + if ! test -x "$repo_tools"; then + chmod +x "$repo_tools" + fi - run: name: Run system tests. command: npm run system-test From ec2ae11aef73a0dcbf9e3b060ad18dd4ae5cba5e Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 30 Mar 2018 10:11:52 -0700 Subject: [PATCH 136/588] feat: regenerate GAPIC v1p2beta1 code (#47) --- .../cloud/vision/v1p2beta1/geometry.proto | 14 +++++++++++ .../vision/v1p2beta1/image_annotator.proto | 2 +- .../vision/v1p2beta1/web_detection.proto | 3 +-- .../cloud/vision/v1p2beta1/doc_geometry.js | 24 +++++++++++++++++++ .../vision/v1p2beta1/doc_image_annotator.js | 2 +- .../vision/v1p2beta1/doc_web_detection.js | 3 +-- 6 files changed, 42 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto index 1b0edb0e3d0..9add6ce849e 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto @@ -33,10 +33,24 @@ message Vertex { int32 y = 2; } +// A vertex represents a 2D point in the image. +// NOTE: the normalized vertex coordinates are relative to the original image +// and range from 0 to 1. +message NormalizedVertex { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; +} + // A bounding polygon for the detected image annotation. message BoundingPoly { // The bounding polygon vertices. repeated Vertex vertices = 1; + + // The bounding polygon normalized vertices. + repeated NormalizedVertex normalized_vertices = 2; } // A 3D position in the image, used primarily for Face detection landmarks. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index 4a1d926eb36..c145a38d59e 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -510,7 +510,7 @@ message WebDetectionParams { // Image context and/or feature-specific parameters. message ImageContext { - // lat/long rectangle that specifies the location of the image. + // Not used. LatLongRect lat_long_rect = 1; // List of languages to use for TEXT_DETECTION. In most cases, an empty value diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto index 7cbeac11a95..aeb2e2a87c7 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto @@ -100,7 +100,6 @@ message WebDetection { // The visually similar image results. repeated WebImage visually_similar_images = 6; - // The service's best guess as to the topic of the request image. - // Inferred from similar images on the open web. + // Best guess text labels for the request image. repeated WebLabel best_guess_labels = 8; } diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js index 03fe81228d6..ad2bf6b27ca 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js @@ -33,6 +33,25 @@ var Vertex = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * A vertex represents a 2D point in the image. + * NOTE: the normalized vertex coordinates are relative to the original image + * and range from 0 to 1. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @typedef NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1 + * @see [google.cloud.vision.v1p2beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} + */ +var NormalizedVertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * A bounding polygon for the detected image annotation. * @@ -41,6 +60,11 @@ var Vertex = { * * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1p2beta1.Vertex} * + * @property {Object[]} normalizedVertices + * The bounding polygon normalized vertices. + * + * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1p2beta1.NormalizedVertex} + * * @typedef BoundingPoly * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js index fa1965dede4..8377294aa4a 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js @@ -768,7 +768,7 @@ var WebDetectionParams = { * Image context and/or feature-specific parameters. * * @property {Object} latLongRect - * lat/long rectangle that specifies the location of the image. + * Not used. * * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1p2beta1.LatLongRect} * diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js index 3c034349c84..ba972c7602c 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js @@ -47,8 +47,7 @@ * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} * * @property {Object[]} bestGuessLabels - * The service's best guess as to the topic of the request image. - * Inferred from similar images on the open web. + * Best guess text labels for the request image. * * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1p2beta1.WebLabel} * From 75bb05e7a6bf5dece1762e1c7a04065941853708 Mon Sep 17 00:00:00 2001 From: Shahin Date: Tue, 3 Apr 2018 15:54:23 -0700 Subject: [PATCH 137/588] Created a sample code to demo how to scan a pdf file (#48) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Created a sample code to demo how to scan a pdf file * Applied prettier * Made changes per Ace’s comments * Made changed related to PR comments * Made changes based on Ace’s comments. --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 921a02fd7bf..4f7fa9fc601 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -82,7 +82,7 @@ "node-uuid": "^1.4.7", "nyc": "^11.3.0", "power-assert": "^1.4.4", - "prettier": "^1.7.4", + "prettier": "^1.11.1", "safe-buffer": "^5.1.1", "sinon": "^5.0.0" } From f9e16ccc7f43e35e75b88a49e0034a268b775177 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 4 Apr 2018 15:27:35 -0700 Subject: [PATCH 138/588] chore: bump version to 0.19.0 (#51) --- packages/google-cloud-vision/package-lock.json | 2 +- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 1734617203c..ccd820b667e 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.18.0", + "version": "0.19.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 4f7fa9fc601..bf169320657 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.18.0", + "version": "0.19.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index ce20cb4455e..8256a971966 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@google-cloud/storage": "^1.5.2", - "@google-cloud/vision": "0.18.0", + "@google-cloud/vision": "0.19.0", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", From fe09381594bc1f378b1d8be358fa682c2964872a Mon Sep 17 00:00:00 2001 From: Rebecca Taylor Date: Thu, 5 Apr 2018 12:29:57 -0700 Subject: [PATCH 139/588] Vision GA Samples (#52) Update fulltext, safe search, web, and web geo samples to match canonicals --- packages/google-cloud-vision/.gitignore | 4 + packages/google-cloud-vision/CONTRIBUTORS | 2 +- packages/google-cloud-vision/README.md | 4 +- .../google-cloud-vision/package-lock.json | 14945 ---------------- packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/README.md | 10 +- 6 files changed, 18 insertions(+), 14949 deletions(-) delete mode 100644 packages/google-cloud-vision/package-lock.json diff --git a/packages/google-cloud-vision/.gitignore b/packages/google-cloud-vision/.gitignore index b7d407606fb..082cf01ed78 100644 --- a/packages/google-cloud-vision/.gitignore +++ b/packages/google-cloud-vision/.gitignore @@ -4,6 +4,10 @@ .nyc_output docs/ out/ +build/ system-test/secrets.js system-test/*key.json *.lock +.DS_Store +google-cloud-logging-winston-*.tgz +google-cloud-logging-bunyan-*.tgz \ No newline at end of file diff --git a/packages/google-cloud-vision/CONTRIBUTORS b/packages/google-cloud-vision/CONTRIBUTORS index bd95ab74452..1ec6fdb8a69 100644 --- a/packages/google-cloud-vision/CONTRIBUTORS +++ b/packages/google-cloud-vision/CONTRIBUTORS @@ -12,7 +12,7 @@ Gus Class Jason Dobry Jun Mukai Luke Sneeringer -Rebecca Taylor +Rebecca Taylor Song Wang Stephen Sawchuk Tim Swast diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 30c66a7cac6..50fc5572c71 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -1,3 +1,5 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "To regenerate it, use `npm run generate-scaffolding`." Google Cloud Platform logo # [Google Cloud Vision API: Node.js Client](https://github.com/googleapis/nodejs-vision) @@ -121,4 +123,4 @@ See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) [client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest/ [product-docs]: https://cloud.google.com/vision/docs -[shell_img]: //gstatic.com/cloudssh/images/open-btn.png +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json deleted file mode 100644 index ccd820b667e..00000000000 --- a/packages/google-cloud-vision/package-lock.json +++ /dev/null @@ -1,14945 +0,0 @@ -{ - "name": "@google-cloud/vision", - "version": "0.19.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@ava/babel-plugin-throws-helper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz", - "integrity": "sha1-L8H+PCEacQcaTsp7j3r1hCzRrnw=", - "dev": true - }, - "@ava/babel-preset-stage-4": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.1.0.tgz", - "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "package-hash": "1.2.0" - }, - "dependencies": { - "md5-hex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "package-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-1.2.0.tgz", - "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", - "dev": true, - "requires": { - "md5-hex": "1.3.0" - } - } - } - }, - "@ava/babel-preset-transform-test-files": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@ava/babel-preset-transform-test-files/-/babel-preset-transform-test-files-3.0.0.tgz", - "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", - "dev": true, - "requires": { - "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.4.0" - } - }, - "@ava/write-file-atomic": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ava/write-file-atomic/-/write-file-atomic-2.2.0.tgz", - "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - }, - "@concordance/react": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@concordance/react/-/react-1.0.0.tgz", - "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", - "dev": true, - "requires": { - "arrify": "1.0.1" - } - }, - "@google-cloud/common": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz", - "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", - "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.5.4", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auto-auth": "0.10.0", - "is": "3.2.1", - "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.85.0", - "retry-request": "3.3.1", - "split-array-stream": "1.0.3", - "stream-events": "1.0.2", - "string-format-obj": "1.1.1", - "through2": "2.0.3" - } - }, - "@google-cloud/nodejs-repo-tools": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.2.4.tgz", - "integrity": "sha512-yHxW7JvhnqgoIftv6dAn1r/9AEcPuumD0xXggdYHmDeyf38OMYyjTk92gP9vflTOee1JhM0vOarwGrlKYUbmnQ==", - "dev": true, - "requires": { - "ava": "0.25.0", - "colors": "1.1.2", - "fs-extra": "5.0.0", - "got": "8.2.0", - "handlebars": "4.0.11", - "lodash": "4.17.5", - "nyc": "11.4.1", - "proxyquire": "1.8.0", - "sinon": "4.3.0", - "string": "3.3.3", - "supertest": "3.0.0", - "yargs": "11.0.0", - "yargs-parser": "9.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "cliui": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", - "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", - "dev": true, - "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "nyc": { - "version": "11.4.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz", - "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", - "dev": true, - "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "md5-hex": "1.3.0", - "merge-source-map": "1.0.4", - "micromatch": "2.3.11", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.1.1", - "yargs": "10.0.3", - "yargs-parser": "8.0.0" - }, - "dependencies": { - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "append-transform": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", - "dev": true, - "requires": { - "default-require-extensions": "1.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-generator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", - "dev": true, - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "caching-transform": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", - "dev": true, - "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" - } - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "optional": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true - }, - "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", - "dev": true - }, - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "debug-log": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "default-require-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", - "dev": true, - "requires": { - "strip-bom": "2.0.0" - } - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - } - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.3" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", - "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true, - "requires": { - "loose-envify": "1.3.1" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "istanbul-lib-coverage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", - "dev": true, - "requires": { - "append-transform": "0.4.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", - "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", - "dev": true, - "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" - } - }, - "istanbul-lib-report": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", - "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" - }, - "dependencies": { - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", - "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", - "dev": true, - "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "istanbul-reports": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", - "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", - "dev": true, - "requires": { - "handlebars": "4.0.11" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "optional": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - }, - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "md5-hex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "md5-o-matic": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "1.1.0" - } - }, - "merge-source-map": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", - "dev": true, - "requires": { - "source-map": "0.5.7" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - }, - "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "2.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.1.0" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "1.1.2" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - } - } - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - } - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "1.0.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "spawn-wrap": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", - "dev": true, - "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" - } - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "test-exclude": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", - "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", - "dev": true, - "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" - } - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz", - "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", - "dev": true, - "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "8.0.0" - }, - "dependencies": { - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - } - } - }, - "yargs-parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz", - "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - } - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "sinon": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.3.0.tgz", - "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", - "dev": true, - "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.3.2", - "nise": "1.3.2", - "supports-color": "5.3.0", - "type-detect": "4.0.8" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, - "yargs": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", - "dev": true, - "requires": { - "cliui": "4.0.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" - } - } - } - }, - "@google-cloud/storage": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.6.0.tgz", - "integrity": "sha512-yQ63bJYoiwY220gn/KdTLPoHppAPwFHfG7VFLPwJ+1R5U1eqUN5XV2a7uPj1szGF8/gxlKm2UbE8DgoJJ76DFw==", - "dev": true, - "requires": { - "@google-cloud/common": "0.16.2", - "arrify": "1.0.1", - "async": "2.6.0", - "compressible": "2.0.13", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.5.4", - "extend": "3.0.1", - "gcs-resumable-upload": "0.9.0", - "hash-stream-validation": "0.2.1", - "is": "3.2.1", - "mime": "2.2.0", - "mime-types": "2.1.18", - "once": "1.4.0", - "pumpify": "1.4.0", - "request": "2.85.0", - "safe-buffer": "5.1.1", - "snakeize": "0.1.0", - "stream-events": "1.0.2", - "string-format-obj": "1.1.1", - "through2": "2.0.3" - }, - "dependencies": { - "@google-cloud/common": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.16.2.tgz", - "integrity": "sha512-GrkaFoj0/oO36pNs4yLmaYhTujuA3i21FdQik99Fd/APix1uhf01VlpJY4lAteTDFLRNkRx6ydEh7OVvmeUHng==", - "dev": true, - "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.5.4", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auto-auth": "0.9.7", - "is": "3.2.1", - "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.85.0", - "retry-request": "3.3.1", - "split-array-stream": "1.0.3", - "stream-events": "1.0.2", - "string-format-obj": "1.1.1", - "through2": "2.0.3" - } - }, - "google-auto-auth": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", - "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", - "dev": true, - "requires": { - "async": "2.6.0", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.3.2", - "request": "2.85.0" - } - } - } - }, - "@ladjs/time-require": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ladjs/time-require/-/time-require-0.1.4.tgz", - "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", - "dev": true, - "requires": { - "chalk": "0.4.0", - "date-time": "0.1.1", - "pretty-ms": "0.2.2", - "text-table": "0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", - "dev": true - }, - "chalk": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", - "dev": true, - "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" - } - }, - "pretty-ms": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-0.2.2.tgz", - "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", - "dev": true, - "requires": { - "parse-ms": "0.1.2" - } - }, - "strip-ansi": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", - "dev": true - } - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" - } - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", - "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/inquire": "1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true - }, - "@sinonjs/formatio": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", - "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==", - "dev": true, - "requires": { - "samsam": "1.3.0" - } - }, - "@types/long": { - "version": "3.0.32", - "resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz", - "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" - }, - "@types/node": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.0.tgz", - "integrity": "sha512-7IGHZQfRfa0bCd7zUBVUGFKFn31SpaLDFfNoCAqkTGQO5JlHC9BwQA/CG9KZlABFxIUtXznyFgechjPQEGrUTg==" - }, - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - }, - "acorn-es7-plugin": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", - "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=" - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "requires": { - "acorn": "3.3.0" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } - } - }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", - "dev": true, - "requires": { - "string-width": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "ansi-escapes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - } - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "1.0.3" - } - }, - "argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", - "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-exclude": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/arr-exclude/-/arr-exclude-1.0.0.tgz", - "integrity": "sha1-38fC5VKicHI8zaBM8xKMjL/lxjE=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" - }, - "array-find": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", - "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "1.0.3" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "ascli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", - "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", - "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" - } - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "requires": { - "lodash": "4.17.5" - } - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=" - }, - "auto-bind": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.2.0.tgz", - "integrity": "sha512-Zw7pZp7tztvKnWWtoII4AmqH5a2PV3ZN5F0BPRTGcc1kpRm4b6QXQnPU7Znbl6BfPfqOVOV29g4JeMqZQaqqOA==", - "dev": true - }, - "ava": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ava/-/ava-0.25.0.tgz", - "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", - "dev": true, - "requires": { - "@ava/babel-preset-stage-4": "1.1.0", - "@ava/babel-preset-transform-test-files": "3.0.0", - "@ava/write-file-atomic": "2.2.0", - "@concordance/react": "1.0.0", - "@ladjs/time-require": "0.1.4", - "ansi-escapes": "3.0.0", - "ansi-styles": "3.2.1", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.2.0", - "ava-init": "0.2.1", - "babel-core": "6.26.0", - "babel-generator": "6.26.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.3.2", - "chokidar": "1.7.0", - "clean-stack": "1.3.0", - "clean-yaml-object": "0.1.0", - "cli-cursor": "2.1.0", - "cli-spinners": "1.1.0", - "cli-truncate": "1.1.0", - "co-with-promise": "4.6.0", - "code-excerpt": "2.1.1", - "common-path-prefix": "1.0.0", - "concordance": "3.0.0", - "convert-source-map": "1.5.1", - "core-assert": "0.2.1", - "currently-unhandled": "0.4.1", - "debug": "3.1.0", - "dot-prop": "4.2.0", - "empower-core": "0.6.2", - "equal-length": "1.0.1", - "figures": "2.0.0", - "find-cache-dir": "1.0.0", - "fn-name": "2.0.1", - "get-port": "3.2.0", - "globby": "6.1.0", - "has-flag": "2.0.0", - "hullabaloo-config-manager": "1.1.1", - "ignore-by-default": "1.0.1", - "import-local": "0.1.1", - "indent-string": "3.2.0", - "is-ci": "1.1.0", - "is-generator-fn": "1.0.0", - "is-obj": "1.0.1", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "last-line-stream": "1.0.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.debounce": "4.0.8", - "lodash.difference": "4.5.0", - "lodash.flatten": "4.4.0", - "loud-rejection": "1.6.0", - "make-dir": "1.2.0", - "matcher": "1.1.0", - "md5-hex": "2.0.0", - "meow": "3.7.0", - "ms": "2.0.0", - "multimatch": "2.1.0", - "observable-to-promise": "0.5.0", - "option-chain": "1.0.0", - "package-hash": "2.0.0", - "pkg-conf": "2.1.0", - "plur": "2.1.2", - "pretty-ms": "3.1.0", - "require-precompiled": "0.1.0", - "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.1", - "semver": "5.5.0", - "slash": "1.0.0", - "source-map-support": "0.5.4", - "stack-utils": "1.0.1", - "strip-ansi": "4.0.0", - "strip-bom-buf": "1.0.0", - "supertap": "1.0.0", - "supports-color": "5.3.0", - "trim-off-newlines": "1.0.1", - "unique-temp-dir": "1.0.0", - "update-notifier": "2.3.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "ava-init": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ava-init/-/ava-init-0.2.1.tgz", - "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", - "dev": true, - "requires": { - "arr-exclude": "1.0.0", - "execa": "0.7.0", - "has-yarn": "1.0.0", - "read-pkg-up": "2.0.0", - "write-pkg": "3.1.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" - }, - "axios": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", - "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", - "requires": { - "follow-redirects": "1.4.1", - "is-buffer": "1.1.6" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.5", - "source-map": "0.5.7", - "trim-right": "1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - } - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dev": true, - "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true, - "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-espower": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-espower/-/babel-plugin-espower-2.4.0.tgz", - "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", - "dev": true, - "requires": { - "babel-generator": "6.26.1", - "babylon": "6.18.0", - "call-matcher": "1.0.1", - "core-js": "2.5.3", - "espower-location-detector": "1.0.0", - "espurify": "1.7.0", - "estraverse": "4.2.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true, - "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true, - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true, - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-runtime": "6.26.0", - "core-js": "2.5.3", - "home-or-tmp": "2.0.0", - "lodash": "4.17.5", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" - }, - "dependencies": { - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "0.5.7" - } - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.5" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.5" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.5", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "1.0.2" - } - } - } - }, - "base64url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz", - "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs=" - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true - }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", - "dev": true - }, - "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", - "requires": { - "hoek": "4.2.1" - } - }, - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.3.2", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", - "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "kind-of": "6.0.2", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "buf-compare": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", - "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=", - "dev": true - }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", - "dev": true - }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "buffer-from": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", - "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==" - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "bytebuffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", - "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", - "requires": { - "long": "3.2.0" - }, - "dependencies": { - "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" - } - }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "dev": true, - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - } - }, - "caching-transform": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", - "dev": true, - "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" - }, - "dependencies": { - "md5-hex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - } - } - }, - "call-matcher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.0.1.tgz", - "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", - "dev": true, - "requires": { - "core-js": "2.5.3", - "deep-equal": "1.0.1", - "espurify": "1.7.0", - "estraverse": "4.2.0" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "call-signature": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", - "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=" - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "requires": { - "callsites": "0.2.0" - } - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - } - }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "catharsis": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", - "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", - "dev": true, - "requires": { - "underscore-contrib": "0.3.0" - } - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" - } - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "ci-info": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", - "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", - "dev": true - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "clean-stack": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", - "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=", - "dev": true - }, - "clean-yaml-object": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", - "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", - "dev": true - }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "2.0.0" - } - }, - "cli-spinners": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz", - "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=", - "dev": true - }, - "cli-truncate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", - "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", - "dev": true, - "requires": { - "slice-ansi": "1.0.0", - "string-width": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "1.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "co-with-promise": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co-with-promise/-/co-with-promise-4.6.0.tgz", - "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", - "dev": true, - "requires": { - "pinkie-promise": "1.0.0" - } - }, - "code-excerpt": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-2.1.1.tgz", - "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", - "dev": true, - "requires": { - "convert-to-spaces": "1.0.2" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "codecov": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.0.tgz", - "integrity": "sha1-wnO4xPEpRXI+jcnSWAPYk0Pl8o4=", - "dev": true, - "requires": { - "argv": "0.0.2", - "request": "2.81.0", - "urlgrey": "0.4.4" - }, - "dependencies": { - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" - } - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" - } - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - } - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - } - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" - } - }, - "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "colour": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", - "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" - }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "requires": { - "delayed-stream": "1.0.0" - } - }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - }, - "common-path-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-1.0.0.tgz", - "integrity": "sha1-zVL28HEuC6q5fW+XModPIvR3UsA=", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "compressible": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", - "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", - "dev": true, - "requires": { - "mime-db": "1.33.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.5", - "typedarray": "0.0.6" - } - }, - "concordance": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/concordance/-/concordance-3.0.0.tgz", - "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", - "dev": true, - "requires": { - "date-time": "2.1.0", - "esutils": "2.0.2", - "fast-diff": "1.1.2", - "function-name-support": "0.2.0", - "js-string-escape": "1.0.1", - "lodash.clonedeep": "4.5.0", - "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "semver": "5.5.0", - "well-known-symbols": "1.0.0" - }, - "dependencies": { - "date-time": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz", - "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", - "dev": true, - "requires": { - "time-zone": "1.0.0" - } - } - } - }, - "configstore": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", - "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", - "dev": true, - "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.2.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" - } - }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true - }, - "convert-to-spaces": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", - "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=", - "dev": true - }, - "cookiejar": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz", - "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=", - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-assert": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", - "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", - "dev": true, - "requires": { - "buf-compare": "1.0.1", - "is-error": "2.2.1" - } - }, - "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "1.0.0" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "4.1.2", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - }, - "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", - "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "requires": { - "hoek": "4.2.1" - } - } - } - }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", - "dev": true - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "1.0.2" - } - }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "0.10.41" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "1.0.0" - } - }, - "date-time": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-0.1.1.tgz", - "integrity": "sha1-7S9tk9l5DOL9ZtW1/z7dW7y/Owc=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "1.0.0" - } - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" - }, - "dependencies": { - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diff-match-patch": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.0.tgz", - "integrity": "sha1-HMPIOkkNZ/ldkeOfatHy4Ia2MEg=" - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "2.0.2" - } - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - } - } - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", - "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", - "dev": true, - "requires": { - "is-obj": "1.0.1" - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", - "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", - "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.5", - "stream-shift": "1.0.0" - } - }, - "eastasianwidth": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.1.1.tgz", - "integrity": "sha1-RNZW3p2kFWlEZzNTZfsxR7hXK3w=" - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "ecdsa-sig-formatter": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz", - "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=", - "requires": { - "base64url": "2.0.0", - "safe-buffer": "5.1.1" - } - }, - "empower": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/empower/-/empower-1.2.3.tgz", - "integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=", - "requires": { - "core-js": "2.5.3", - "empower-core": "0.6.2" - } - }, - "empower-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/empower-assert/-/empower-assert-1.0.1.tgz", - "integrity": "sha1-MeMQq8BluqfDoEh+a+W7zGXzwd4=", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "empower-core": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-0.6.2.tgz", - "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", - "requires": { - "call-signature": "0.0.2", - "core-js": "2.5.3" - } - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "1.4.0" - } - }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - }, - "equal-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/equal-length/-/equal-length-1.0.1.tgz", - "integrity": "sha1-IcoRLUirJLTh5//A5TOdMf38J0w=", - "dev": true - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "es5-ext": { - "version": "0.10.41", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.41.tgz", - "integrity": "sha512-MYK02wXfwTMie5TEJWPolgOsXEmz7wKCQaGzgmRjZOoV6VLG8I5dSv2bn6AOClXhK64gnSQTQ9W9MKvx87J4gw==", - "dev": true, - "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.41", - "es6-symbol": "3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.41", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.41", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.41" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.41", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" - } - }, - "escallmatch": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/escallmatch/-/escallmatch-1.5.0.tgz", - "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", - "dev": true, - "requires": { - "call-matcher": "1.0.1", - "esprima": "2.7.3" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - } - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escodegen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", - "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", - "dev": true, - "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - } - }, - "eslint": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", - "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", - "dev": true, - "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.3.2", - "concat-stream": "1.6.2", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.4", - "esquery": "1.0.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.3.0", - "ignore": "3.3.7", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.11.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.0.1", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.2", - "text-table": "0.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "globals": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", - "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "eslint-config-prettier": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz", - "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", - "dev": true, - "requires": { - "get-stdin": "5.0.1" - }, - "dependencies": { - "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", - "dev": true - } - } - }, - "eslint-plugin-node": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", - "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", - "dev": true, - "requires": { - "ignore": "3.3.7", - "minimatch": "3.0.4", - "resolve": "1.6.0", - "semver": "5.5.0" - }, - "dependencies": { - "resolve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", - "integrity": "sha512-mw7JQNu5ExIkcw4LPih0owX/TZXjD/ZUF/ZQ/pDnkw3ZKhDcZZw5klmBlj6gVMwjQ3Pz5Jgu7F3d0jcDVuEWdw==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - } - } - }, - "eslint-plugin-prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz", - "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", - "dev": true, - "requires": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" - } - }, - "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", - "dev": true, - "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - } - }, - "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", - "dev": true - }, - "espower": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/espower/-/espower-2.1.0.tgz", - "integrity": "sha1-zh7bPZhwKEH99ZbRy46FvcSujkg=", - "dev": true, - "requires": { - "array-find": "1.0.0", - "escallmatch": "1.5.0", - "escodegen": "1.9.1", - "escope": "3.6.0", - "espower-location-detector": "1.0.0", - "espurify": "1.7.0", - "estraverse": "4.2.0", - "source-map": "0.5.7", - "type-name": "2.0.2", - "xtend": "4.0.1" - } - }, - "espower-loader": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/espower-loader/-/espower-loader-1.2.2.tgz", - "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", - "dev": true, - "requires": { - "convert-source-map": "1.5.1", - "espower-source": "2.2.0", - "minimatch": "3.0.4", - "source-map-support": "0.4.18", - "xtend": "4.0.1" - }, - "dependencies": { - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "0.5.7" - } - } - } - }, - "espower-location-detector": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/espower-location-detector/-/espower-location-detector-1.0.0.tgz", - "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", - "dev": true, - "requires": { - "is-url": "1.2.3", - "path-is-absolute": "1.0.1", - "source-map": "0.5.7", - "xtend": "4.0.1" - } - }, - "espower-source": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/espower-source/-/espower-source-2.2.0.tgz", - "integrity": "sha1-fgBSVa5HtcE2RIZEs/PYAtUD91I=", - "dev": true, - "requires": { - "acorn": "5.5.3", - "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.1", - "empower-assert": "1.0.1", - "escodegen": "1.9.1", - "espower": "2.1.0", - "estraverse": "4.2.0", - "merge-estraverse-visitors": "1.0.0", - "multi-stage-sourcemap": "0.2.1", - "path-is-absolute": "1.0.1", - "xtend": "4.0.1" - }, - "dependencies": { - "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", - "dev": true - } - } - }, - "espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", - "dev": true, - "requires": { - "acorn": "5.5.3", - "acorn-jsx": "3.0.1" - }, - "dependencies": { - "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", - "dev": true - }, - "espurify": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.7.0.tgz", - "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=", - "requires": { - "core-js": "2.5.3" - } - }, - "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", - "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.41" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.3" - }, - "dependencies": { - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "external-editor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", - "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", - "dev": true, - "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.19", - "tmp": "0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" - }, - "fast-diff": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", - "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", - "dev": true - }, - "fast-glob": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.0.tgz", - "integrity": "sha512-4F75PTznkNtSKs2pbhtBwRkw8sRwa7LfXx5XaQJOe4IQ6yTjceLDTwM5gj1s80R2t/5WeDC1gVfm3jLE+l39Tw==", - "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.1", - "micromatch": "3.1.9" - } - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", - "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", - "dev": true, - "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "1.0.1", - "make-dir": "1.2.0", - "pkg-dir": "2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", - "dev": true, - "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" - } - }, - "fn-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", - "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", - "dev": true - }, - "follow-redirects": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz", - "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==", - "requires": { - "debug": "3.1.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" - } - }, - "formatio": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz", - "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", - "dev": true, - "requires": { - "samsam": "1.3.0" - } - }, - "formidable": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", - "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.5" - } - }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "dev": true, - "optional": true, - "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "function-name-support": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/function-name-support/-/function-name-support-0.2.0.tgz", - "integrity": "sha1-VdO/qm6v1QWlD5vIH99XVkoLsHE=", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gcp-metadata": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", - "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", - "requires": { - "axios": "0.18.0", - "extend": "3.0.1", - "retry-axios": "0.3.2" - } - }, - "gcs-resumable-upload": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.9.0.tgz", - "integrity": "sha512-+Zrmr0JKO2y/2mg953TW6JLu+NAMHqQsKzqCm7CIT24gMQakolPJCMzDleVpVjXAqB7ZCD276tcUq2ebOfqTug==", - "dev": true, - "requires": { - "buffer-equal": "1.0.0", - "configstore": "3.1.1", - "google-auto-auth": "0.9.7", - "pumpify": "1.4.0", - "request": "2.85.0", - "stream-events": "1.0.2", - "through2": "2.0.3" - }, - "dependencies": { - "google-auto-auth": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", - "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", - "dev": true, - "requires": { - "async": "2.6.0", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.3.2", - "request": "2.85.0" - } - } - } - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "1.0.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "1.3.5" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "globby": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", - "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", - "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.0", - "glob": "7.1.2", - "ignore": "3.3.7", - "pify": "3.0.0", - "slash": "1.0.0" - } - }, - "google-auth-library": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.3.2.tgz", - "integrity": "sha512-aRz0om4Bs85uyR2Ousk3Gb8Nffx2Sr2RoKts1smg1MhRwrehE1aD1HC4RmprNt1HVJ88IDnQ8biJQ/aXjiIxlQ==", - "requires": { - "axios": "0.18.0", - "gcp-metadata": "0.6.3", - "gtoken": "2.2.0", - "jws": "3.1.4", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.2", - "retry-axios": "0.3.2" - } - }, - "google-auto-auth": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.0.tgz", - "integrity": "sha512-R6m473OqgZacPvlidJ0aownTlUWyLy654ugjKSXyi1ffIicXlXg3wMfse9T9zxqG6w01q6K1iG+b7dImMkVJ2Q==", - "requires": { - "async": "2.6.0", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.3.2", - "request": "2.85.0" - } - }, - "google-gax": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.0.tgz", - "integrity": "sha512-sslPB7USGD8SrVUGlWFIGYVZrgZ6oj+fWUEW3f8Bk43+nxqeLyrNoI3iFBRpjLfwMCEYaXVziWNmatwLRP8azg==", - "requires": { - "duplexify": "3.5.4", - "extend": "3.0.1", - "globby": "8.0.1", - "google-auto-auth": "0.9.7", - "google-proto-files": "0.15.1", - "grpc": "1.9.1", - "is-stream-ended": "0.1.3", - "lodash": "4.17.5", - "protobufjs": "6.8.6", - "through2": "2.0.3" - }, - "dependencies": { - "google-auto-auth": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", - "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", - "requires": { - "async": "2.6.0", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.3.2", - "request": "2.85.0" - } - } - } - }, - "google-p12-pem": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", - "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", - "requires": { - "node-forge": "0.7.4", - "pify": "3.0.0" - } - }, - "google-proto-files": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", - "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", - "requires": { - "globby": "7.1.1", - "power-assert": "1.4.4", - "protobufjs": "6.8.6" - }, - "dependencies": { - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "glob": "7.1.2", - "ignore": "3.3.7", - "pify": "3.0.0", - "slash": "1.0.0" - } - } - } - }, - "got": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/got/-/got-8.2.0.tgz", - "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", - "dev": true, - "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.0", - "mimic-response": "1.0.0", - "p-cancelable": "0.3.0", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.1", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "2.0.0" - } - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "growl": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", - "dev": true - }, - "grpc": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.9.1.tgz", - "integrity": "sha512-WNW3MWMuAoo63AwIlzFE3T0KzzvNBSvOkg67Hm8WhvHNkXFBlIk1QyJRE3Ocm0O5eIwS7JU8Ssota53QR1zllg==", - "requires": { - "lodash": "4.17.5", - "nan": "2.10.0", - "node-pre-gyp": "0.6.39", - "protobufjs": "5.0.2" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.3" - } - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "requires": { - "mime-db": "1.30.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node-pre-gyp": { - "version": "0.6.39", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", - "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", - "requires": { - "detect-libc": "1.0.3", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.2", - "rc": "1.2.4", - "request": "2.81.0", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "2.2.1", - "tar-pack": "3.4.1" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "protobufjs": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.2.tgz", - "integrity": "sha1-WXSNfc8D0tsiwT2p/rAk4Wq4DJE=", - "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.2", - "yargs": "3.32.0" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" - }, - "rc": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.4.tgz", - "integrity": "sha1-oPYGyq4qO4YrvQ74VILAElsxX6M=", - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz", - "integrity": "sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==", - "requires": { - "debug": "2.6.9", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.3.3", - "rimraf": "2.6.2", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - } - } - }, - "gtoken": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.2.0.tgz", - "integrity": "sha512-tvQs8B1z5+I1FzMPZnq/OCuxTWFOkvy7cUJcpNdBOK2L7yEtPZTVCPtZU181sSDF+isUPebSqFTNTkIejFASAQ==", - "requires": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.4", - "mime": "2.2.0", - "pify": "3.0.0" - } - }, - "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", - "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", - "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-color": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", - "dev": true - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "requires": { - "has-symbol-support-x": "1.4.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "has-yarn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-1.0.0.tgz", - "integrity": "sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac=", - "dev": true - }, - "hash-stream-validation": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz", - "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", - "dev": true, - "requires": { - "through2": "2.0.3" - } - }, - "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", - "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "hosted-git-info": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", - "dev": true - }, - "htmlparser2": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", - "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", - "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.1", - "domutils": "1.7.0", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.5" - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" - } - }, - "hullabaloo-config-manager": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz", - "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", - "dev": true, - "requires": { - "dot-prop": "4.2.0", - "es6-error": "4.1.1", - "graceful-fs": "4.1.11", - "indent-string": "3.2.0", - "json5": "0.5.1", - "lodash.clonedeep": "4.5.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "package-hash": "2.0.0", - "pkg-dir": "2.0.0", - "resolve-from": "3.0.0", - "safe-buffer": "5.1.1" - } - }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true - }, - "ignore": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==" - }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", - "dev": true - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "import-local": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", - "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", - "dev": true, - "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "ink-docstrap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ink-docstrap/-/ink-docstrap-1.3.2.tgz", - "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", - "dev": true, - "requires": { - "moment": "2.21.0", - "sanitize-html": "1.18.2" - } - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.3.2", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.1.0", - "figures": "2.0.0", - "lodash": "4.17.5", - "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "intelli-espower-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/intelli-espower-loader/-/intelli-espower-loader-1.0.1.tgz", - "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", - "dev": true, - "requires": { - "espower-loader": "1.2.2" - } - }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "dev": true, - "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "1.3.1" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "irregular-plurals": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", - "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=", - "dev": true - }, - "is": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz", - "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=" - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "1.11.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-ci": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", - "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", - "dev": true, - "requires": { - "ci-info": "1.1.3" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-error": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.1.tgz", - "integrity": "sha1-aEqW2EB2V3yY9M20DG0mpRI78Zw=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-generator-fn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", - "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", - "dev": true - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "requires": { - "is-extglob": "2.1.1" - } - }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", - "dev": true, - "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" - } - }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "dev": true, - "requires": { - "symbol-observable": "1.2.0" - } - }, - "is-odd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", - "requires": { - "is-number": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" - } - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "1.0.1" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "3.0.1" - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-stream-ended": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.3.tgz", - "integrity": "sha1-oEc7Jnx1ZjVIa+7cfjNE5UnRUqw=" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-url": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.3.tgz", - "integrity": "sha512-vmOHLvzbcnsdFz8wQPXj1lgI5SE8AUlUGMenzuZzRFjoReb1WB+pLt9GrIo7BTker+aTcwrjTDle7odioWeqyw==", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" - } - }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", - "dev": true - }, - "js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", - "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", - "dev": true, - "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" - } - }, - "js2xmlparser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", - "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", - "dev": true, - "requires": { - "xmlcreate": "1.0.2" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, - "jsdoc": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", - "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==", - "dev": true, - "requires": { - "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.18", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", - "taffydb": "2.6.2", - "underscore": "1.8.3" - }, - "dependencies": { - "babylon": { - "version": "7.0.0-beta.19", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", - "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==", - "dev": true - } - } - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz", - "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "just-extend": { - "version": "1.1.27", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz", - "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==", - "dev": true - }, - "jwa": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz", - "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=", - "requires": { - "base64url": "2.0.0", - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.9", - "safe-buffer": "5.1.1" - } - }, - "jws": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz", - "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=", - "requires": { - "base64url": "2.0.0", - "jwa": "1.1.5", - "safe-buffer": "5.1.1" - } - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "klaw": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", - "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "last-line-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/last-line-stream/-/last-line-stream-1.0.0.tgz", - "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", - "dev": true, - "requires": { - "through2": "2.0.3" - } - }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", - "dev": true, - "requires": { - "package-json": "4.0.1" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "optional": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "1.0.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - } - }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.clonedeepwith": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz", - "integrity": "sha1-buMFc6A6GmDWcKYu8zwQzxr9vdQ=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", - "dev": true - }, - "lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", - "dev": true - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" - }, - "lodash.mergewith": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", - "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", - "dev": true - }, - "log-driver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==" - }, - "lolex": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz", - "integrity": "sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==", - "dev": true - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" - } - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true - }, - "lru-cache": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", - "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "make-dir": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", - "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", - "dev": true, - "requires": { - "pify": "3.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "1.0.1" - } - }, - "marked": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.18.tgz", - "integrity": "sha512-49i2QYhfULqaXzNZpxC808PisuCTGT2fgG0zrzdCI9N3rIfAWfW0nggvbXr6zvpynZdOG5+9xNxdzP0kwZnERw==", - "dev": true - }, - "matcher": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.0.tgz", - "integrity": "sha512-aZGv6JBTHqfqAd09jmAlbKnAICTfIvb5Z8gXVxPB5WZtFfHMaAMdACL7tQflD2V+6/8KNcY8s6DYtWLgpJP5lA==", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "md5-hex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", - "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "md5-o-matic": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "1.2.0" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-estraverse-visitors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/merge-estraverse-visitors/-/merge-estraverse-visitors-1.0.0.tgz", - "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "merge2": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz", - "integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==" - }, - "methmeth": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/methmeth/-/methmeth-1.1.0.tgz", - "integrity": "sha1-6AomYY5S9cQiKGG7dIUQvRDikIk=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", - "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.1", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - }, - "mime": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz", - "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==" - }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "requires": { - "mime-db": "1.33.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mimic-response": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", - "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "mocha": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.4.tgz", - "integrity": "sha512-nMOpAPFosU1B4Ix1jdhx5e3q7XO55ic5a8cgYvW27CequcEY+BabS0kUVL1Cw1V5PuVHZWeNRWFLmEPexo79VA==", - "dev": true, - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.11.0", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.3", - "he": "1.1.1", - "mkdirp": "0.5.1", - "supports-color": "4.4.0" - }, - "dependencies": { - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "modelo": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/modelo/-/modelo-4.2.3.tgz", - "integrity": "sha512-9DITV2YEMcw7XojdfvGl3gDD8J9QjZTJ7ZOUuSAkP+F3T6rDbzMJuPktxptsdHYEvZcmXrCD3LMOhdSAEq6zKA==" - }, - "module-not-found-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", - "integrity": "sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=", - "dev": true - }, - "moment": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", - "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multi-stage-sourcemap": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz", - "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", - "dev": true, - "requires": { - "source-map": "0.1.43" - }, - "dependencies": { - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "multimatch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", - "dev": true, - "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" - } - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" - }, - "nanomatch": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "nise": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.3.2.tgz", - "integrity": "sha512-KPKb+wvETBiwb4eTwtR/OsA2+iijXP+VnlSFYJo3EHjm2yjek1NWxHOUQat3i7xNLm1Bm18UA5j5Wor0yO2GtA==", - "dev": true, - "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.3.2", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" - } - }, - "node-forge": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.4.tgz", - "integrity": "sha512-8Df0906+tq/omxuCZD6PqhPaQDYuyJ1d+VITgxoIA8zvQd1ru+nMJcDChHH324MWitIgbVkAkQoGEEVJNpn/PA==" - }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", - "dev": true - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "dev": true, - "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "2.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "nyc": { - "version": "11.6.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.6.0.tgz", - "integrity": "sha512-ZaXCh0wmbk2aSBH2B5hZGGvK2s9aM8DIm2rVY+BG3Fx8tUS+bpJSswUVZqOD1YfCmnYRFSqgYJSr7UeeUcW0jg==", - "dev": true, - "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.3", - "istanbul-reports": "1.3.0", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "2.3.11", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", - "yargs": "11.1.0", - "yargs-parser": "8.1.0" - }, - "dependencies": { - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "append-transform": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", - "dev": true, - "requires": { - "default-require-extensions": "1.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "atob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.5", - "source-map": "0.5.7", - "trim-right": "1.0.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.5" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.3", - "lodash": "4.17.5" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.5", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "caching-transform": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", - "dev": true, - "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" - } - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "optional": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" - } - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", - "dev": true - }, - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "requires": { - "lru-cache": "4.1.2", - "which": "1.3.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "debug-log": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "default-require-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", - "dev": true, - "requires": { - "strip-bom": "2.0.0" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "4.1.2", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - } - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.3" - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "0.2.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", - "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "hosted-git-info": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "invariant": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz", - "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==", - "dev": true, - "requires": { - "loose-envify": "1.3.1" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-odd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", - "dev": true, - "requires": { - "is-number": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "istanbul-lib-coverage": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", - "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", - "dev": true, - "requires": { - "append-transform": "0.4.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", - "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", - "dev": true, - "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" - } - }, - "istanbul-lib-report": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", - "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" - }, - "dependencies": { - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz", - "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", - "dev": true, - "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "istanbul-reports": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.3.0.tgz", - "integrity": "sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==", - "dev": true, - "requires": { - "handlebars": "4.0.11" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "optional": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - }, - "lru-cache": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", - "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "1.0.1" - } - }, - "md5-hex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "md5-o-matic": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "1.2.0" - } - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, - "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "nanomatch": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "2.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", - "dev": true, - "requires": { - "p-try": "1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.2.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "1.1.2" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - } - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "1.0.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "0.1.15" - } - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", - "dev": true, - "requires": { - "atob": "2.0.3", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spawn-wrap": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", - "dev": true, - "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" - } - }, - "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", - "dev": true, - "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "3.0.2" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "test-exclude": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", - "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", - "dev": true, - "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.9", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", - "integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "kind-of": "6.0.2", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", - "integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.1", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - } - } - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - } - } - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, - "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" - } - } - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "use": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", - "dev": true, - "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" - } - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", - "dev": true, - "requires": { - "cliui": "4.0.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", - "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", - "dev": true, - "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, - "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", - "dev": true, - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - } - } - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "3.2.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "3.2.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "3.0.1" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "3.0.1" - } - }, - "observable-to-promise": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/observable-to-promise/-/observable-to-promise-0.5.0.tgz", - "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", - "dev": true, - "requires": { - "is-observable": "0.2.0", - "symbol-observable": "1.2.0" - }, - "dependencies": { - "is-observable": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-0.2.0.tgz", - "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", - "dev": true, - "requires": { - "symbol-observable": "0.2.4" - }, - "dependencies": { - "symbol-observable": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz", - "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=", - "dev": true - } - } - } - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "1.2.0" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "option-chain": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/option-chain/-/option-chain-1.0.0.tgz", - "integrity": "sha1-k41zvU4Xg/lI00AjZEraI2aeMPI=", - "dev": true - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } - } - }, - "optjs": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", - "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", - "dev": true - }, - "p-limit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", - "dev": true, - "requires": { - "p-try": "1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.2.0" - } - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dev": true, - "requires": { - "p-finally": "1.0.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "package-hash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-2.0.0.tgz", - "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "lodash.flattendeep": "4.4.0", - "md5-hex": "2.0.0", - "release-zalgo": "1.0.0" - } - }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", - "dev": true, - "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" - }, - "dependencies": { - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "dev": true, - "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "safe-buffer": "5.1.1", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" - } - } - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - }, - "parse-ms": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-0.1.2.tgz", - "integrity": "sha1-3T+iXtbC78e93hKtm0bBY6opIk4=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "dev": true, - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "3.0.0" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "pinkie": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", - "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", - "dev": true - }, - "pinkie-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", - "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", - "dev": true, - "requires": { - "pinkie": "1.0.0" - } - }, - "pkg-conf": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", - "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" - }, - "dependencies": { - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.1" - } - } - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "2.1.0" - } - }, - "plur": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", - "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", - "dev": true, - "requires": { - "irregular-plurals": "1.4.0" - } - }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "6.0.20", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.20.tgz", - "integrity": "sha512-Opr6usW30Iy0xEDrJywDckRxtylfO7gTGs3Kfb2LdLQlGsUg89fTy0R3Vm1Dub2YHO7MK58avr0p70+uFFHb7A==", - "dev": true, - "requires": { - "chalk": "2.3.2", - "source-map": "0.6.1", - "supports-color": "5.3.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "power-assert": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.4.4.tgz", - "integrity": "sha1-kpXqdDcZb1pgH95CDwQmMRhtdRc=", - "requires": { - "define-properties": "1.1.2", - "empower": "1.2.3", - "power-assert-formatter": "1.4.1", - "universal-deep-strict-equal": "1.2.2", - "xtend": "4.0.1" - } - }, - "power-assert-context-formatter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz", - "integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=", - "requires": { - "core-js": "2.5.3", - "power-assert-context-traversal": "1.1.1" - } - }, - "power-assert-context-reducer-ast": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.1.2.tgz", - "integrity": "sha1-SEqZ4m9Jc/+IMuXFzHVnAuYJQXQ=", - "requires": { - "acorn": "4.0.13", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.3", - "espurify": "1.7.0", - "estraverse": "4.2.0" - } - }, - "power-assert-context-traversal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz", - "integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=", - "requires": { - "core-js": "2.5.3", - "estraverse": "4.2.0" - } - }, - "power-assert-formatter": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", - "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", - "requires": { - "core-js": "2.5.3", - "power-assert-context-formatter": "1.1.1", - "power-assert-context-reducer-ast": "1.1.2", - "power-assert-renderer-assertion": "1.1.1", - "power-assert-renderer-comparison": "1.1.1", - "power-assert-renderer-diagram": "1.1.2", - "power-assert-renderer-file": "1.1.1" - } - }, - "power-assert-renderer-assertion": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz", - "integrity": "sha1-y/wOd+AIao+Wrz8djme57n4ozpg=", - "requires": { - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.1.1" - } - }, - "power-assert-renderer-base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz", - "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=" - }, - "power-assert-renderer-comparison": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.1.1.tgz", - "integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=", - "requires": { - "core-js": "2.5.3", - "diff-match-patch": "1.0.0", - "power-assert-renderer-base": "1.1.1", - "stringifier": "1.3.0", - "type-name": "2.0.2" - } - }, - "power-assert-renderer-diagram": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.2.tgz", - "integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=", - "requires": { - "core-js": "2.5.3", - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.1.1", - "stringifier": "1.3.0" - } - }, - "power-assert-renderer-file": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.1.1.tgz", - "integrity": "sha1-o34rvReMys0E5427eckv40kzxec=", - "requires": { - "power-assert-renderer-base": "1.1.1" - } - }, - "power-assert-util-string-width": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz", - "integrity": "sha1-vmWet5N/3S5smncmjar2S9W3xZI=", - "requires": { - "eastasianwidth": "0.1.1" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "prettier": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.11.1.tgz", - "integrity": "sha512-T/KD65Ot0PB97xTrG8afQ46x3oiVhnfGjGESSI9NWYcG92+OUPZKkwHqGWXH2t9jK1crnQjubECW0FuOth+hxw==", - "dev": true - }, - "pretty-ms": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.1.0.tgz", - "integrity": "sha1-6crJx2v27lL+lC3ZxsQhMVOxKIE=", - "dev": true, - "requires": { - "parse-ms": "1.0.1", - "plur": "2.1.2" - }, - "dependencies": { - "parse-ms": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", - "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", - "dev": true - } - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true - }, - "protobufjs": { - "version": "6.8.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", - "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", - "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/base64": "1.1.2", - "@protobufjs/codegen": "2.0.4", - "@protobufjs/eventemitter": "1.1.0", - "@protobufjs/fetch": "1.1.0", - "@protobufjs/float": "1.0.2", - "@protobufjs/inquire": "1.1.0", - "@protobufjs/path": "1.1.2", - "@protobufjs/pool": "1.1.0", - "@protobufjs/utf8": "1.1.0", - "@types/long": "3.0.32", - "@types/node": "8.10.0", - "long": "4.0.0" - } - }, - "proxyquire": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz", - "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", - "dev": true, - "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" - } - }, - "pumpify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", - "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", - "dev": true, - "requires": { - "duplexify": "3.5.4", - "inherits": "2.0.3", - "pump": "2.0.1" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" - } - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "rc": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.6.tgz", - "integrity": "sha1-6xiYnG1PTxYsOZ953dKfODVWgJI=", - "dev": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - }, - "dependencies": { - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "readable-stream": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", - "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.5", - "set-immediate-shim": "1.0.1" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - }, - "dependencies": { - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - } - } - }, - "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" - } - }, - "regexpp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.0.1.tgz", - "integrity": "sha512-8Ph721maXiOYSLtaDGKVmDn5wdsNaF6Px85qFNeMPQq0r8K5Y10tgP6YuR65Ws35n4DvzFcCxEnRNBIXQunzLw==", - "dev": true - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true, - "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - }, - "registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dev": true, - "requires": { - "rc": "1.2.6", - "safe-buffer": "5.1.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dev": true, - "requires": { - "rc": "1.2.6" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "4.1.1" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "1.0.2" - } - }, - "request": { - "version": "2.85.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", - "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "require-precompiled": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/require-precompiled/-/require-precompiled-0.1.0.tgz", - "integrity": "sha1-WhtS63Dr7UPrmC6XTIWrWVceVvo=", - "dev": true - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" - }, - "dependencies": { - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - } - } - }, - "requizzle": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", - "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", - "dev": true, - "requires": { - "underscore": "1.6.0" - }, - "dependencies": { - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - } - } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "retry-axios": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz", - "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==" - }, - "retry-request": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.1.tgz", - "integrity": "sha512-PjAmtWIxjNj4Co/6FRtBl8afRP3CxrrIAnUzb1dzydfROd+6xt7xAebFeskgQgkfFf8NmzrXIoaB3HxmswXyxw==", - "requires": { - "request": "2.85.0", - "through2": "2.0.3" - } - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "2.1.0" - } - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "dev": true, - "requires": { - "rx-lite": "4.0.8" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "0.1.15" - } - }, - "samsam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", - "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", - "dev": true - }, - "sanitize-html": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.18.2.tgz", - "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", - "dev": true, - "requires": { - "chalk": "2.3.2", - "htmlparser2": "3.9.2", - "lodash.clonedeep": "4.5.0", - "lodash.escaperegexp": "4.1.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mergewith": "4.6.1", - "postcss": "6.0.20", - "srcset": "1.0.0", - "xtend": "4.0.1" - } - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "dev": true, - "requires": { - "semver": "5.5.0" - } - }, - "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "sinon": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-5.0.0.tgz", - "integrity": "sha512-dMX7ZB2E1iQ5DOEOePoNJQp03uyhdMfb+kLXlNPbquv2FwfezD+0GbbHSgCw4MFhpSSS9NMoYJfOPMjCMJtXWA==", - "dev": true, - "requires": { - "diff": "3.5.0", - "formatio": "1.2.0", - "lodash.get": "4.4.2", - "lolex": "2.3.2", - "nise": "1.3.2", - "supports-color": "4.5.0", - "type-detect": "4.0.8" - }, - "dependencies": { - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } - } - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", - "dev": true - }, - "snakeize": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", - "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "1.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", - "requires": { - "hoek": "4.2.1" - } - }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dev": true, - "requires": { - "is-plain-obj": "1.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", - "requires": { - "atob": "2.0.3", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" - } - }, - "source-map-support": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.4.tgz", - "integrity": "sha512-PETSPG6BjY1AHs2t64vS2aqAgu6dMIMXJULWFBGbh2Gr8nVLbCFDo6i/RMMvviIQ2h1Z8+5gQhVKSn2je9nmdg==", - "dev": true, - "requires": { - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", - "dev": true, - "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", - "dev": true - }, - "split-array-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz", - "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", - "requires": { - "async": "2.6.0", - "is-stream-ended": "0.1.3" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "3.0.2" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "srcset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz", - "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", - "dev": true, - "requires": { - "array-uniq": "1.0.3", - "number-is-nan": "1.0.1" - } - }, - "sshpk": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", - "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - } - }, - "stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "stream-events": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.2.tgz", - "integrity": "sha1-q/OfZsCJCk63lbyNXoWbJhW1kLI=", - "requires": { - "stubs": "3.0.0" - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/string/-/string-3.3.3.tgz", - "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", - "dev": true - }, - "string-format-obj": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", - "integrity": "sha512-Mm+sROy+pHJmx0P/0Bs1uxIX6UhGJGj6xDGQZ5zh9v/SZRmLGevp+p0VJxV7lirrkAmQ2mvva/gHKpnF/pTb+Q==" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "stringifier": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", - "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", - "requires": { - "core-js": "2.5.3", - "traverse": "0.6.6", - "type-name": "2.0.2" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-bom-buf": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", - "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "stubs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", - "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=" - }, - "superagent": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz", - "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.1", - "debug": "3.1.0", - "extend": "3.0.1", - "form-data": "2.3.2", - "formidable": "1.2.1", - "methods": "1.1.2", - "mime": "1.6.0", - "qs": "6.5.1", - "readable-stream": "2.3.5" - }, - "dependencies": { - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - } - } - }, - "supertap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supertap/-/supertap-1.0.0.tgz", - "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", - "dev": true, - "requires": { - "arrify": "1.0.1", - "indent-string": "3.2.0", - "js-yaml": "3.11.0", - "serialize-error": "2.1.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "supertest": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-3.0.0.tgz", - "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", - "dev": true, - "requires": { - "methods": "1.1.2", - "superagent": "3.8.2" - } - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - }, - "dependencies": { - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - } - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", - "dev": true, - "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "chalk": "2.3.2", - "lodash": "4.17.5", - "slice-ansi": "1.0.0", - "string-width": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", - "dev": true - }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "requires": { - "execa": "0.7.0" - } - }, - "text-encoding": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", - "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "2.3.5", - "xtend": "4.0.1" - } - }, - "time-zone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", - "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" - } - }, - "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", - "requires": { - "punycode": "1.4.1" - } - }, - "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", - "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "optional": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "uid2": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", - "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=", - "dev": true - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", - "dev": true - }, - "underscore-contrib": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", - "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", - "dev": true, - "requires": { - "underscore": "1.6.0" - }, - "dependencies": { - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - } - } - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" - } - } - } - }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "dev": true, - "requires": { - "crypto-random-string": "1.0.0" - } - }, - "unique-temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz", - "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", - "dev": true, - "requires": { - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", - "uid2": "0.0.3" - } - }, - "universal-deep-strict-equal": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", - "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", - "requires": { - "array-filter": "1.0.0", - "indexof": "0.0.1", - "object-keys": "1.0.11" - } - }, - "universalify": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", - "dev": true - }, - "update-notifier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", - "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", - "dev": true, - "requires": { - "boxen": "1.3.0", - "chalk": "2.3.2", - "configstore": "3.1.1", - "import-lazy": "2.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "1.0.4" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true - }, - "urlgrey": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", - "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", - "dev": true - }, - "use": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "requires": { - "kind-of": "6.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" - }, - "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", - "dev": true, - "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - } - }, - "well-known-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-1.0.0.tgz", - "integrity": "sha1-c8eK6Bp3Jqj6WY4ogIAcixYiVRg=", - "dev": true - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "widest-line": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", - "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", - "dev": true, - "requires": { - "string-width": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "requires": { - "mkdirp": "0.5.1" - } - }, - "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" - } - }, - "write-json-file": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", - "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", - "dev": true, - "requires": { - "detect-indent": "5.0.0", - "graceful-fs": "4.1.11", - "make-dir": "1.2.0", - "pify": "3.0.0", - "sort-keys": "2.0.0", - "write-file-atomic": "2.3.0" - }, - "dependencies": { - "detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", - "dev": true - } - } - }, - "write-pkg": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.1.0.tgz", - "integrity": "sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk=", - "dev": true, - "requires": { - "sort-keys": "2.0.0", - "write-json-file": "2.3.0" - } - }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", - "dev": true - }, - "xmlcreate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", - "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" - } - }, - "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - } - } -} diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index bf169320657..cd903ef1349 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -38,7 +38,7 @@ "Jason Dobry ", "Jun Mukai ", "Luke Sneeringer ", - "Rebecca Taylor ", + "Rebecca Taylor ", "Song Wang ", "Stephen Sawchuk ", "Tim Swast ", diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 305541ff2fc..79c41d01e68 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -1,3 +1,5 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "To regenerate it, use `npm run generate-scaffolding`." Google Cloud Platform logo # Google Cloud Vision API: Node.js Samples @@ -52,6 +54,10 @@ Commands: detect.js web Finds similar photos on the web for a local image file. detect.js web-gcs Finds similar photos on the web for an image in Google Cloud Storage. + detect.js web-geo Detects web entities with improved results using geographic + metadata + detect.js web-geo-gcs Detects web entities with improved results using geographic + metadata detect.js fulltext Extracts full text from a local image file. detect.js fulltext-gcs Extracts full text from an image in Google Cloud Storage. @@ -78,6 +84,8 @@ Examples: node detect.js crops-gcs my-bucket your-image.jpg node detect.js web ./resources/wakeupcat.jpg node detect.js web-gcs my-bucket your-image.jpg + node detect.js web-geo ./resources/city.jpg + node detect.js web-geo-gcs my-bucket your-image.jpg node detect.js fulltext ./resources/wakeupcat.jpg node detect.js fulltext-gcs my-bucket your-image.jpg @@ -121,5 +129,5 @@ For more information, see https://cloud.google.com/vision/docs [detect.v1p1beta1.js_1_docs]: https://cloud.google.com/vision/docs [detect.v1p1beta1.js_1_code]: detect.v1p1beta1.js -[shell_img]: //gstatic.com/cloudssh/images/open-btn.png +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/README.md From 567e1f30919e85cd0eda04780dcf17eff873569e Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Wed, 25 Apr 2018 07:51:18 -0700 Subject: [PATCH 140/588] refactor: use protobufjs library to load proto file (#55) --- packages/google-cloud-vision/src/helpers.js | 22 ++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index fbf37374a46..dfc1adf2719 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -20,6 +20,7 @@ const fs = require('fs'); const is = require('is'); const path = require('path'); const promisify = require('@google-cloud/common').util.promisify; +const protobuf = require('protobufjs'); const gax = require('google-gax'); @@ -243,16 +244,19 @@ module.exports = apiVersion => { }); }); - // Get a list of features available on the API. Although we could iterate over - // them and create single-feature methods for each dynamically, for - // documentation purpose, we manually list all the single-feature methods - // below. - const features = gax - .grpc() - .loadProto( - path.join(__dirname, '..', 'protos'), + let protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + 'protos', `google/cloud/vision/${apiVersion}/image_annotator.proto` - ).google.cloud.vision[apiVersion].Feature.Type.values; + ), + protoFilesRoot + ); + const features = protoFilesRoot.lookup( + `google.cloud.vision.${apiVersion}.Feature.Type` + ).values; /** * Annotate a single image with face detection. From 39959a6a3a446806582308f9c0b530c8a7d42cd5 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 30 Apr 2018 16:23:35 -0700 Subject: [PATCH 141/588] =?UTF-8?q?Update=20@google-cloud/common=20to=20th?= =?UTF-8?q?e=20latest=20version=20=F0=9F=9A=80=20(#57)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(package): update @google-cloud/common to version 0.18.0 * Update package.json --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index cd903ef1349..fbbc87e84f4 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -58,7 +58,7 @@ "test": "repo-tools test run --cmd npm -- run cover" }, "dependencies": { - "@google-cloud/common": "^0.17.0", + "@google-cloud/common": "^0.18.2", "async": "^2.0.1", "extend": "^3.0.0", "google-gax": "^0.16.0", From fd7f8040a4b747d261810aacffa9bd2f6bacd9ba Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 2 May 2018 08:32:21 -0700 Subject: [PATCH 142/588] chore: lock files maintenance (#58) * chore: lock files maintenance * chore: lock files maintenance --- .../google-cloud-vision/package-lock.json | 13522 ++++++++++++++++ 1 file changed, 13522 insertions(+) create mode 100644 packages/google-cloud-vision/package-lock.json diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json new file mode 100644 index 00000000000..62823804751 --- /dev/null +++ b/packages/google-cloud-vision/package-lock.json @@ -0,0 +1,13522 @@ +{ + "name": "@google-cloud/vision", + "version": "0.19.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ava/babel-plugin-throws-helper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz", + "integrity": "sha1-L8H+PCEacQcaTsp7j3r1hCzRrnw=", + "dev": true + }, + "@ava/babel-preset-stage-4": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.1.0.tgz", + "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "package-hash": "1.2.0" + }, + "dependencies": { + "md5-hex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "package-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-1.2.0.tgz", + "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", + "dev": true, + "requires": { + "md5-hex": "1.3.0" + } + } + } + }, + "@ava/babel-preset-transform-test-files": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ava/babel-preset-transform-test-files/-/babel-preset-transform-test-files-3.0.0.tgz", + "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", + "dev": true, + "requires": { + "@ava/babel-plugin-throws-helper": "2.0.0", + "babel-plugin-espower": "2.4.0" + } + }, + "@ava/write-file-atomic": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ava/write-file-atomic/-/write-file-atomic-2.2.0.tgz", + "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, + "@concordance/react": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@concordance/react/-/react-1.0.0.tgz", + "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", + "dev": true, + "requires": { + "arrify": "1.0.1" + } + }, + "@google-cloud/common": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.2.tgz", + "integrity": "sha512-uLLTiYB395rYT8qk4MQt2x63DjVhSpNXgrrlFYrjx5CboCJtJ7pWtslDwexyZoRDk2hG2nyfLN8eJxuxO36+vQ==", + "requires": { + "arrify": "1.0.1", + "axios": "0.18.0", + "duplexify": "3.5.4", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auth-library": "1.4.0", + "is": "3.2.1", + "pify": "3.0.0", + "request": "2.85.0", + "retry-request": "3.3.1", + "split-array-stream": "2.0.0", + "stream-events": "1.0.4" + } + }, + "@google-cloud/nodejs-repo-tools": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.3.0.tgz", + "integrity": "sha512-c8dIGESnNkmM88duFxGHvMQP5QKPgp/sfJq0QhC6+gOcJC7/PKjqd0PkmgPPeIgVl6SXy5Zf/KLbxnJUVgNT1Q==", + "dev": true, + "requires": { + "ava": "0.25.0", + "colors": "1.1.2", + "fs-extra": "5.0.0", + "got": "8.2.0", + "handlebars": "4.0.11", + "lodash": "4.17.5", + "nyc": "11.4.1", + "proxyquire": "1.8.0", + "semver": "5.5.0", + "sinon": "4.3.0", + "string": "3.3.3", + "supertest": "3.0.0", + "yargs": "11.0.0", + "yargs-parser": "9.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + }, + "nyc": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz", + "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", + "dev": true, + "requires": { + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.4", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.1.1", + "yargs": "10.0.3", + "yargs-parser": "8.0.0" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-generator": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "bundled": true, + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "caching-transform": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" + } + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.5.3", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "which": "1.3.0" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-log": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "bundled": true, + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "bundled": true, + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "for-own": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "bundled": true, + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "bundled": true, + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.5.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invariant": { + "version": "2.2.2", + "bundled": true, + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-dotfile": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.9.1", + "bundled": true, + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } + }, + "istanbul-lib-report": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.2", + "bundled": true, + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "4.0.11" + } + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "lodash": { + "version": "4.17.4", + "bundled": true, + "dev": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "md5-hex": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "1.1.0" + } + }, + "merge-source-map": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "micromatch": { + "version": "2.3.11", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mimic-fn": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "1.1.0" + } + }, + "parse-glob": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "bundled": true, + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "preserve": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "bundled": true, + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true, + "dev": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "semver": { + "version": "5.4.1", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "source-map": { + "version": "0.5.7", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" + } + }, + "spdx-correct": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "validate-npm-package-license": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } + }, + "which": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "10.0.3", + "bundled": true, + "dev": true, + "requires": { + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" + }, + "dependencies": { + "cliui": { + "version": "3.2.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + } + } + }, + "yargs-parser": { + "version": "8.0.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "sinon": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.3.0.tgz", + "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", + "dev": true, + "requires": { + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.3.2", + "nise": "1.3.3", + "supports-color": "5.4.0", + "type-detect": "4.0.8" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "yargs": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + } + } + } + }, + "@google-cloud/storage": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.6.0.tgz", + "integrity": "sha512-yQ63bJYoiwY220gn/KdTLPoHppAPwFHfG7VFLPwJ+1R5U1eqUN5XV2a7uPj1szGF8/gxlKm2UbE8DgoJJ76DFw==", + "dev": true, + "requires": { + "@google-cloud/common": "0.16.2", + "arrify": "1.0.1", + "async": "2.6.0", + "compressible": "2.0.13", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.5.4", + "extend": "3.0.1", + "gcs-resumable-upload": "0.9.0", + "hash-stream-validation": "0.2.1", + "is": "3.2.1", + "mime": "2.3.1", + "mime-types": "2.1.18", + "once": "1.4.0", + "pumpify": "1.4.0", + "request": "2.85.0", + "safe-buffer": "5.1.2", + "snakeize": "0.1.0", + "stream-events": "1.0.4", + "string-format-obj": "1.1.1", + "through2": "2.0.3" + }, + "dependencies": { + "@google-cloud/common": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.16.2.tgz", + "integrity": "sha512-GrkaFoj0/oO36pNs4yLmaYhTujuA3i21FdQik99Fd/APix1uhf01VlpJY4lAteTDFLRNkRx6ydEh7OVvmeUHng==", + "dev": true, + "requires": { + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.5.4", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auto-auth": "0.9.7", + "is": "3.2.1", + "log-driver": "1.2.7", + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.85.0", + "retry-request": "3.3.1", + "split-array-stream": "1.0.3", + "stream-events": "1.0.4", + "string-format-obj": "1.1.1", + "through2": "2.0.3" + } + }, + "google-auto-auth": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", + "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", + "dev": true, + "requires": { + "async": "2.6.0", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.4.0", + "request": "2.85.0" + } + }, + "split-array-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz", + "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", + "dev": true, + "requires": { + "async": "2.6.0", + "is-stream-ended": "0.1.4" + } + } + } + }, + "@ladjs/time-require": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@ladjs/time-require/-/time-require-0.1.4.tgz", + "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", + "dev": true, + "requires": { + "chalk": "0.4.0", + "date-time": "0.1.1", + "pretty-ms": "0.2.2", + "text-table": "0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" + } + }, + "pretty-ms": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-0.2.2.tgz", + "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", + "dev": true, + "requires": { + "parse-ms": "0.1.2" + } + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + } + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" + } + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "requires": { + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/inquire": "1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true + }, + "@sinonjs/formatio": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", + "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==", + "dev": true, + "requires": { + "samsam": "1.3.0" + } + }, + "@types/long": { + "version": "3.0.32", + "resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz", + "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" + }, + "@types/node": { + "version": "8.10.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.11.tgz", + "integrity": "sha512-FM7tvbjbn2BUzM/Qsdk9LUGq3zeh7li8NcHoS398dBzqLzfmSqSP1+yKbMRTCcZzLcu2JAR5lq3IKIEYkto7iQ==" + }, + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + }, + "acorn-es7-plugin": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", + "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=" + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "3.3.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-exclude": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/arr-exclude/-/arr-exclude-1.0.0.tgz", + "integrity": "sha1-38fC5VKicHI8zaBM8xKMjL/lxjE=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" + }, + "array-find": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "ascli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", + "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", + "requires": { + "colour": "0.7.1", + "optjs": "3.2.2" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "requires": { + "lodash": "4.17.10" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" + }, + "auto-bind": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.2.0.tgz", + "integrity": "sha512-Zw7pZp7tztvKnWWtoII4AmqH5a2PV3ZN5F0BPRTGcc1kpRm4b6QXQnPU7Znbl6BfPfqOVOV29g4JeMqZQaqqOA==", + "dev": true + }, + "ava": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/ava/-/ava-0.25.0.tgz", + "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", + "dev": true, + "requires": { + "@ava/babel-preset-stage-4": "1.1.0", + "@ava/babel-preset-transform-test-files": "3.0.0", + "@ava/write-file-atomic": "2.2.0", + "@concordance/react": "1.0.0", + "@ladjs/time-require": "0.1.4", + "ansi-escapes": "3.1.0", + "ansi-styles": "3.2.1", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.2.0", + "ava-init": "0.2.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.4.1", + "chokidar": "1.7.0", + "clean-stack": "1.3.0", + "clean-yaml-object": "0.1.0", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "cli-truncate": "1.1.0", + "co-with-promise": "4.6.0", + "code-excerpt": "2.1.1", + "common-path-prefix": "1.0.0", + "concordance": "3.0.0", + "convert-source-map": "1.5.1", + "core-assert": "0.2.1", + "currently-unhandled": "0.4.1", + "debug": "3.1.0", + "dot-prop": "4.2.0", + "empower-core": "0.6.2", + "equal-length": "1.0.1", + "figures": "2.0.0", + "find-cache-dir": "1.0.0", + "fn-name": "2.0.1", + "get-port": "3.2.0", + "globby": "6.1.0", + "has-flag": "2.0.0", + "hullabaloo-config-manager": "1.1.1", + "ignore-by-default": "1.0.1", + "import-local": "0.1.1", + "indent-string": "3.2.0", + "is-ci": "1.1.0", + "is-generator-fn": "1.0.0", + "is-obj": "1.0.1", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "last-line-stream": "1.0.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.debounce": "4.0.8", + "lodash.difference": "4.5.0", + "lodash.flatten": "4.4.0", + "loud-rejection": "1.6.0", + "make-dir": "1.2.0", + "matcher": "1.1.0", + "md5-hex": "2.0.0", + "meow": "3.7.0", + "ms": "2.0.0", + "multimatch": "2.1.0", + "observable-to-promise": "0.5.0", + "option-chain": "1.0.0", + "package-hash": "2.0.0", + "pkg-conf": "2.1.0", + "plur": "2.1.2", + "pretty-ms": "3.1.0", + "require-precompiled": "0.1.0", + "resolve-cwd": "2.0.0", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slash": "1.0.0", + "source-map-support": "0.5.5", + "stack-utils": "1.0.1", + "strip-ansi": "4.0.0", + "strip-bom-buf": "1.0.0", + "supertap": "1.0.0", + "supports-color": "5.4.0", + "trim-off-newlines": "1.0.1", + "unique-temp-dir": "1.0.0", + "update-notifier": "2.5.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "ava-init": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ava-init/-/ava-init-0.2.1.tgz", + "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", + "dev": true, + "requires": { + "arr-exclude": "1.0.0", + "execa": "0.7.0", + "has-yarn": "1.0.0", + "read-pkg-up": "2.0.0", + "write-pkg": "3.1.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" + }, + "axios": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "requires": { + "follow-redirects": "1.4.1", + "is-buffer": "1.1.6" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-espower": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-espower/-/babel-plugin-espower-2.4.0.tgz", + "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.5", + "espower-location-detector": "1.0.0", + "espurify": "1.7.0", + "estraverse": "4.2.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.5", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.5", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "base64url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz", + "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs=" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "requires": { + "hoek": "4.2.1" + } + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "buf-compare": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", + "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=", + "dev": true + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "bytebuffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", + "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", + "requires": { + "long": "3.2.0" + }, + "dependencies": { + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + } + } + }, + "caching-transform": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "dev": true, + "requires": { + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" + }, + "dependencies": { + "md5-hex": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "write-file-atomic": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + } + } + }, + "call-matcher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.0.1.tgz", + "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", + "dev": true, + "requires": { + "core-js": "2.5.5", + "deep-equal": "1.0.1", + "espurify": "1.7.0", + "estraverse": "4.2.0" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "call-signature": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", + "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=" + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "capture-stack-trace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "catharsis": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", + "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", + "dev": true, + "requires": { + "underscore-contrib": "0.3.0" + } + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "ci-info": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", + "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", + "dev": true + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "clean-stack": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", + "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=", + "dev": true + }, + "clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", + "dev": true + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true + }, + "cli-truncate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", + "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", + "dev": true, + "requires": { + "slice-ansi": "1.0.0", + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "co-with-promise": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co-with-promise/-/co-with-promise-4.6.0.tgz", + "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", + "dev": true, + "requires": { + "pinkie-promise": "1.0.0" + } + }, + "code-excerpt": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-2.1.1.tgz", + "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", + "dev": true, + "requires": { + "convert-to-spaces": "1.0.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "codecov": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.1.tgz", + "integrity": "sha512-0TjnXrbvcPzAkRPv/Y5D8aZju/M5adkFxShRyMMgDReB8EV9nF4XMERXs6ajgLA1di9LUFW2tgePDQd2JPWy7g==", + "dev": true, + "requires": { + "argv": "0.0.2", + "request": "2.85.0", + "urlgrey": "0.4.4" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "colour": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", + "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "common-path-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-1.0.0.tgz", + "integrity": "sha1-zVL28HEuC6q5fW+XModPIvR3UsA=", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "compressible": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", + "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + } + }, + "concordance": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/concordance/-/concordance-3.0.0.tgz", + "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", + "dev": true, + "requires": { + "date-time": "2.1.0", + "esutils": "2.0.2", + "fast-diff": "1.1.2", + "function-name-support": "0.2.0", + "js-string-escape": "1.0.1", + "lodash.clonedeep": "4.5.0", + "lodash.flattendeep": "4.4.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "semver": "5.5.0", + "well-known-symbols": "1.0.0" + }, + "dependencies": { + "date-time": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz", + "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", + "dev": true, + "requires": { + "time-zone": "1.0.0" + } + } + } + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "dev": true, + "requires": { + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.2.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" + } + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "convert-to-spaces": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", + "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=", + "dev": true + }, + "cookiejar": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz", + "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-assert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", + "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", + "dev": true, + "requires": { + "buf-compare": "1.0.1", + "is-error": "2.2.1" + } + }, + "core-js": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.2", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.42" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "date-time": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-0.1.1.tgz", + "integrity": "sha1-7S9tk9l5DOL9ZtW1/z7dW7y/Owc=", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "1.0.0" + } + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-extend": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" + }, + "dependencies": { + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diff-match-patch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.0.tgz", + "integrity": "sha1-HMPIOkkNZ/ldkeOfatHy4Ia2MEg=" + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", + "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "1.0.1" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", + "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + } + }, + "eastasianwidth": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.1.1.tgz", + "integrity": "sha1-RNZW3p2kFWlEZzNTZfsxR7hXK3w=" + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz", + "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=", + "requires": { + "base64url": "2.0.0", + "safe-buffer": "5.1.2" + } + }, + "empower": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/empower/-/empower-1.2.3.tgz", + "integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=", + "requires": { + "core-js": "2.5.5", + "empower-core": "0.6.2" + } + }, + "empower-assert": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/empower-assert/-/empower-assert-1.1.0.tgz", + "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "empower-core": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-0.6.2.tgz", + "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", + "requires": { + "call-signature": "0.0.2", + "core-js": "2.5.5" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "requires": { + "once": "1.4.0" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, + "equal-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/equal-length/-/equal-length-1.0.1.tgz", + "integrity": "sha1-IcoRLUirJLTh5//A5TOdMf38J0w=", + "dev": true + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es5-ext": { + "version": "0.10.42", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz", + "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" + } + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.42", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.42", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.42", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.42" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.42", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "escallmatch": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/escallmatch/-/escallmatch-1.5.0.tgz", + "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", + "dev": true, + "requires": { + "call-matcher": "1.0.1", + "esprima": "2.7.3" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dev": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "eslint": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "concat-stream": "1.6.2", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.5.0", + "ignore": "3.3.8", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.11.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.2", + "text-table": "0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "globals": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", + "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz", + "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", + "dev": true, + "requires": { + "get-stdin": "5.0.1" + }, + "dependencies": { + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "dev": true + } + } + }, + "eslint-plugin-node": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", + "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", + "dev": true, + "requires": { + "ignore": "3.3.8", + "minimatch": "3.0.4", + "resolve": "1.7.1", + "semver": "5.5.0" + }, + "dependencies": { + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + } + } + }, + "eslint-plugin-prettier": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz", + "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", + "dev": true, + "requires": { + "fast-diff": "1.1.2", + "jest-docblock": "21.2.0" + } + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, + "espower": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/espower/-/espower-2.1.0.tgz", + "integrity": "sha1-zh7bPZhwKEH99ZbRy46FvcSujkg=", + "dev": true, + "requires": { + "array-find": "1.0.0", + "escallmatch": "1.5.0", + "escodegen": "1.9.1", + "escope": "3.6.0", + "espower-location-detector": "1.0.0", + "espurify": "1.7.0", + "estraverse": "4.2.0", + "source-map": "0.5.7", + "type-name": "2.0.2", + "xtend": "4.0.1" + } + }, + "espower-loader": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/espower-loader/-/espower-loader-1.2.2.tgz", + "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", + "dev": true, + "requires": { + "convert-source-map": "1.5.1", + "espower-source": "2.2.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + } + } + }, + "espower-location-detector": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/espower-location-detector/-/espower-location-detector-1.0.0.tgz", + "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", + "dev": true, + "requires": { + "is-url": "1.2.4", + "path-is-absolute": "1.0.1", + "source-map": "0.5.7", + "xtend": "4.0.1" + } + }, + "espower-source": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/espower-source/-/espower-source-2.2.0.tgz", + "integrity": "sha1-fgBSVa5HtcE2RIZEs/PYAtUD91I=", + "dev": true, + "requires": { + "acorn": "5.5.3", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.1", + "empower-assert": "1.1.0", + "escodegen": "1.9.1", + "espower": "2.1.0", + "estraverse": "4.2.0", + "merge-estraverse-visitors": "1.0.0", + "multi-stage-sourcemap": "0.2.1", + "path-is-absolute": "1.0.1", + "xtend": "4.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "dev": true + } + } + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "5.5.3", + "acorn-jsx": "3.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "espurify": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.7.0.tgz", + "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=", + "requires": { + "core-js": "2.5.5" + } + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.42" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.3" + }, + "dependencies": { + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.21", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", + "dev": true + }, + "fast-glob": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.1.tgz", + "integrity": "sha512-wSyW1TBK3ia5V+te0rGPXudeMHoUQW6O5Y9oATiaGhpENmEifPDlOdhpsnlj5HoG6ttIvGiY1DdCmI9X2xGMhg==", + "requires": { + "@mrmlnc/readdir-enhanced": "2.2.1", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.1", + "micromatch": "3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "1.3.0", + "object-assign": "4.1.1" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", + "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", + "dev": true, + "requires": { + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.2.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } + }, + "fn-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", + "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", + "dev": true + }, + "follow-redirects": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz", + "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==", + "requires": { + "debug": "3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "formidable": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.3.tgz", + "integrity": "sha512-X+57O5YkDTiEQGiw8i7wYc2nQgweIekqkepI8Q3y4wVlurgBt2SuwxTeYUYMZIGpLZH3r/TsMjczCMXE5ZOt7Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.9.1" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.9.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.6", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "function-name-support": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/function-name-support/-/function-name-support-0.2.0.tgz", + "integrity": "sha1-VdO/qm6v1QWlD5vIH99XVkoLsHE=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gcp-metadata": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", + "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", + "requires": { + "axios": "0.18.0", + "extend": "3.0.1", + "retry-axios": "0.3.2" + } + }, + "gcs-resumable-upload": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.9.0.tgz", + "integrity": "sha512-+Zrmr0JKO2y/2mg953TW6JLu+NAMHqQsKzqCm7CIT24gMQakolPJCMzDleVpVjXAqB7ZCD276tcUq2ebOfqTug==", + "dev": true, + "requires": { + "buffer-equal": "1.0.0", + "configstore": "3.1.2", + "google-auto-auth": "0.9.7", + "pumpify": "1.4.0", + "request": "2.85.0", + "stream-events": "1.0.4", + "through2": "2.0.3" + }, + "dependencies": { + "google-auto-auth": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", + "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", + "dev": true, + "requires": { + "async": "2.6.0", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.4.0", + "request": "2.85.0" + } + } + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "1.3.5" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.1", + "glob": "7.1.2", + "ignore": "3.3.8", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "google-auth-library": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.4.0.tgz", + "integrity": "sha512-vWRx6pJulK7Y5V/Xyr7MPMlx2mWfmrUVbcffZ7hpq8ElFg5S8WY6PvjMovdcr6JfuAwwpAX4R0I1XOcyWuBcUw==", + "requires": { + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.3.0", + "jws": "3.1.4", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.2", + "retry-axios": "0.3.2" + } + }, + "google-auto-auth": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz", + "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", + "requires": { + "async": "2.6.0", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.4.0", + "request": "2.85.0" + } + }, + "google-gax": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz", + "integrity": "sha512-eP7UUkKvaHmmvCrr+rxzkIOeEKOnXmoib7/AkENDAuqlC9T2+lWlzwpthDRnitQcV8SblDMzsk73YPMPCDwPyQ==", + "requires": { + "duplexify": "3.5.4", + "extend": "3.0.1", + "globby": "8.0.1", + "google-auto-auth": "0.10.1", + "google-proto-files": "0.15.1", + "grpc": "1.11.0", + "is-stream-ended": "0.1.4", + "lodash": "4.17.10", + "protobufjs": "6.8.6", + "through2": "2.0.3" + } + }, + "google-p12-pem": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", + "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", + "requires": { + "node-forge": "0.7.5", + "pify": "3.0.0" + } + }, + "google-proto-files": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", + "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", + "requires": { + "globby": "7.1.1", + "power-assert": "1.5.0", + "protobufjs": "6.8.6" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.8", + "pify": "3.0.0", + "slash": "1.0.0" + } + } + } + }, + "got": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/got/-/got-8.2.0.tgz", + "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", + "dev": true, + "requires": { + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "2.0.0" + } + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "growl": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", + "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "dev": true + }, + "grpc": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.11.0.tgz", + "integrity": "sha512-pTJjV/eatBQ6Rhc/jWNmUW9jE8fPrhcMYSWDSyf4l7ah1U3sIe4eIjqI/a3sm0zKbM5CuovV0ESrc+b04kr4Ig==", + "requires": { + "lodash": "4.17.10", + "nan": "2.10.0", + "node-pre-gyp": "0.7.0", + "protobufjs": "5.0.2" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "ajv": { + "version": "5.5.2", + "bundled": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true + }, + "aws-sign2": { + "version": "0.7.0", + "bundled": true + }, + "aws4": { + "version": "1.7.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "4.3.1", + "bundled": true, + "requires": { + "hoek": "4.2.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "caseless": { + "version": "0.12.0", + "bundled": true + }, + "co": { + "version": "4.6.0", + "bundled": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "cryptiles": { + "version": "3.1.2", + "bundled": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "bundled": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true + }, + "extsprintf": { + "version": "1.3.0", + "bundled": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "bundled": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "2.3.2", + "bundled": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "har-schema": { + "version": "2.0.0", + "bundled": true + }, + "har-validator": { + "version": "5.0.3", + "bundled": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hawk": { + "version": "6.0.2", + "bundled": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "hoek": { + "version": "4.2.1", + "bundled": true + }, + "http-signature": { + "version": "1.2.0", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "bundled": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "jsprim": { + "version": "1.4.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "mime-db": { + "version": "1.33.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.18", + "bundled": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "bundled": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true + } + } + }, + "ms": { + "version": "2.0.0", + "bundled": true + }, + "node-pre-gyp": { + "version": "0.7.0", + "bundled": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.2", + "rc": "1.2.6", + "request": "2.83.0", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "2.2.1", + "tar-pack": "3.4.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "performance-now": { + "version": "2.1.0", + "bundled": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true + }, + "protobufjs": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.2.tgz", + "integrity": "sha1-WXSNfc8D0tsiwT2p/rAk4Wq4DJE=", + "requires": { + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" + } + }, + "punycode": { + "version": "1.4.1", + "bundled": true + }, + "qs": { + "version": "6.5.1", + "bundled": true + }, + "rc": { + "version": "1.2.6", + "bundled": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.83.0", + "bundled": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "sntp": { + "version": "2.1.0", + "bundled": true, + "requires": { + "hoek": "4.2.1" + } + }, + "sshpk": { + "version": "1.14.1", + "bundled": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.1", + "bundled": true, + "requires": { + "debug": "2.6.9", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.3.6", + "rimraf": "2.6.2", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.4", + "bundled": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "uuid": { + "version": "3.2.1", + "bundled": true + }, + "verror": { + "version": "1.10.0", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, + "gtoken": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", + "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", + "requires": { + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.4", + "mime": "2.3.1", + "pify": "3.0.0" + } + }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "1.4.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "has-yarn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-1.0.0.tgz", + "integrity": "sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac=", + "dev": true + }, + "hash-stream-validation": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz", + "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", + "dev": true, + "requires": { + "through2": "2.0.3" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.4.1", + "domutils": "1.7.0", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "hullabaloo-config-manager": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz", + "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", + "dev": true, + "requires": { + "dot-prop": "4.2.0", + "es6-error": "4.1.1", + "graceful-fs": "4.1.11", + "indent-string": "3.2.0", + "json5": "0.5.1", + "lodash.clonedeep": "4.5.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.isequal": "4.5.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "package-hash": "2.0.0", + "pkg-dir": "2.0.0", + "resolve-from": "3.0.0", + "safe-buffer": "5.1.2" + } + }, + "iconv-lite": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", + "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==" + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", + "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "ink-docstrap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ink-docstrap/-/ink-docstrap-1.3.2.tgz", + "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", + "dev": true, + "requires": { + "moment": "2.22.1", + "sanitize-html": "1.18.2" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "intelli-espower-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/intelli-espower-loader/-/intelli-espower-loader-1.0.1.tgz", + "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", + "dev": true, + "requires": { + "espower-loader": "1.2.2" + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "requires": { + "from2": "2.3.0", + "p-is-promise": "1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "irregular-plurals": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", + "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=", + "dev": true + }, + "is": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz", + "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-ci": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", + "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", + "dev": true, + "requires": { + "ci-info": "1.1.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-error": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.1.tgz", + "integrity": "sha1-aEqW2EB2V3yY9M20DG0mpRI78Zw=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", + "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, + "is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "dev": true, + "requires": { + "symbol-observable": "1.2.0" + } + }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "requires": { + "is-number": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + } + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "3.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-stream-ended": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", + "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" + } + }, + "jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", + "dev": true + }, + "js-string-escape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", + "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.0" + } + }, + "js2xmlparser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", + "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", + "dev": true, + "requires": { + "xmlcreate": "1.0.2" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "jsdoc": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", + "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==", + "dev": true, + "requires": { + "babylon": "7.0.0-beta.19", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", + "taffydb": "2.6.2", + "underscore": "1.8.3" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.19", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", + "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==", + "dev": true + } + } + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "just-extend": { + "version": "1.1.27", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz", + "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==", + "dev": true + }, + "jwa": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz", + "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=", + "requires": { + "base64url": "2.0.0", + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.9", + "safe-buffer": "5.1.2" + } + }, + "jws": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz", + "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=", + "requires": { + "base64url": "2.0.0", + "jwa": "1.1.5", + "safe-buffer": "5.1.2" + } + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "klaw": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", + "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "last-line-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/last-line-stream/-/last-line-stream-1.0.0.tgz", + "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", + "dev": true, + "requires": { + "through2": "2.0.3" + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "4.0.1" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "1.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.clonedeepwith": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz", + "integrity": "sha1-buMFc6A6GmDWcKYu8zwQzxr9vdQ=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", + "dev": true + }, + "lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.merge": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", + "dev": true + }, + "lolex": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz", + "integrity": "sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==", + "dev": true + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "make-dir": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", + "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "1.0.1" + } + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "dev": true + }, + "matcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.0.tgz", + "integrity": "sha512-aZGv6JBTHqfqAd09jmAlbKnAICTfIvb5Z8gXVxPB5WZtFfHMaAMdACL7tQflD2V+6/8KNcY8s6DYtWLgpJP5lA==", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "md5-hex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", + "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-estraverse-visitors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/merge-estraverse-visitors/-/merge-estraverse-visitors-1.0.0.tgz", + "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "merge2": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz", + "integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==" + }, + "methmeth": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/methmeth/-/methmeth-1.1.0.tgz", + "integrity": "sha1-6AomYY5S9cQiKGG7dIUQvRDikIk=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "1.33.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", + "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.1.1.tgz", + "integrity": "sha512-kKKs/H1KrMMQIEsWNxGmb4/BGsmj0dkeyotEvbrAuQ01FcWRLssUNXCEUZk6SZtyJBi6EE7SL0zDDtItw1rGhw==", + "dev": true, + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.11.0", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.3", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "4.4.0" + }, + "dependencies": { + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "modelo": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/modelo/-/modelo-4.2.3.tgz", + "integrity": "sha512-9DITV2YEMcw7XojdfvGl3gDD8J9QjZTJ7ZOUuSAkP+F3T6rDbzMJuPktxptsdHYEvZcmXrCD3LMOhdSAEq6zKA==", + "dev": true + }, + "module-not-found-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", + "integrity": "sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=", + "dev": true + }, + "moment": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz", + "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multi-stage-sourcemap": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz", + "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", + "dev": true, + "requires": { + "source-map": "0.1.43" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" + }, + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nise": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.3.3.tgz", + "integrity": "sha512-v1J/FLUB9PfGqZLGDBhQqODkbLotP0WtLo9R4EJY2PPu5f5Xg4o0rA8FDlmrjFSv9vBBKcfnOSpfYYuu5RTHqg==", + "dev": true, + "requires": { + "@sinonjs/formatio": "2.0.0", + "just-extend": "1.1.27", + "lolex": "2.3.2", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" + } + }, + "node-forge": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==" + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "requires": { + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nyc": { + "version": "11.7.1", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.7.1.tgz", + "integrity": "sha512-EGePURSKUEpS1jWnEKAMhY+GWZzi7JC+f8iBDOATaOsLZW5hM/9eYx2dHGaEXa1ITvMm44CJugMksvP3NwMQMw==", + "dev": true, + "requires": { + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.3", + "istanbul-reports": "1.4.0", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", + "yargs": "11.1.0", + "yargs-parser": "8.1.0" + }, + "dependencies": { + "align-text": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arr-diff": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "async": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "atob": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-generator": { + "version": "6.26.1", + "bundled": true, + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "core-js": "2.5.5", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.5" + } + }, + "babel-traverse": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.5" + } + }, + "babel-types": { + "version": "6.26.0", + "bundled": true, + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.5", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "base": { + "version": "0.11.2", + "bundled": true, + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "bundled": true, + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "caching-transform": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" + } + }, + "camelcase": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "class-utils": { + "version": "0.3.6", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "cliui": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "bundled": true, + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "core-js": { + "version": "2.5.5", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.2", + "which": "1.3.0" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debug-log": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, + "define-property": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "detect-indent": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "error-ex": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "esutils": { + "version": "2.0.2", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "4.1.2", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "bundled": true, + "dev": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extend-shallow": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "extglob": { + "version": "0.3.2", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "bundled": true, + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "for-own": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" + } + }, + "fragment-cache": { + "version": "0.2.1", + "bundled": true, + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "get-value": { + "version": "2.0.6", + "bundled": true, + "dev": true + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "bundled": true, + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "bundled": true, + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "has-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hosted-git-info": { + "version": "2.6.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invariant": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "is-dotfile": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-odd": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-number": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "bundled": true, + "dev": true + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.1", + "bundled": true, + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" + } + }, + "istanbul-lib-report": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.3", + "bundled": true, + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "istanbul-reports": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "4.0.11" + } + }, + "js-tokens": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazy-cache": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "optional": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "lodash": { + "version": "4.17.5", + "bundled": true, + "dev": true + }, + "longest": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "lru-cache": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "map-cache": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "md5-hex": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "md5-o-matic": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "merge-source-map": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "micromatch": { + "version": "2.3.11", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mixin-deep": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "nanomatch": { + "version": "1.2.9", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "normalize-path": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "object.omit": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "1.2.0" + } + }, + "p-try": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "pascalcase": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "bundled": true, + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, + "preserve": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "randomatic": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "read-pkg": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "bundled": true, + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "bundled": true, + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "bundled": true, + "dev": true + }, + "repeating": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "ret": { + "version": "0.1.15", + "bundled": true, + "dev": true + }, + "right-align": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-regex": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "set-value": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "source-map": { + "version": "0.5.7", + "bundled": true, + "dev": true + }, + "source-map-resolve": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "atob": "2.1.0", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "split-string": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "static-extend": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "braces": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + }, + "to-fast-properties": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "to-regex": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + } + } + }, + "trim-right": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "union-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "unset-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "bundled": true, + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "isobject": { + "version": "3.0.1", + "bundled": true, + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "bundled": true, + "dev": true + }, + "use": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "which": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "window-size": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } + }, + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "11.1.0", + "bundled": true, + "dev": true, + "requires": { + "cliui": "4.0.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "cliui": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "8.1.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + } + } + } + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "3.0.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "3.0.1" + } + }, + "observable-to-promise": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/observable-to-promise/-/observable-to-promise-0.5.0.tgz", + "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", + "dev": true, + "requires": { + "is-observable": "0.2.0", + "symbol-observable": "1.2.0" + }, + "dependencies": { + "is-observable": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-0.2.0.tgz", + "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", + "dev": true, + "requires": { + "symbol-observable": "0.2.4" + }, + "dependencies": { + "symbol-observable": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz", + "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=", + "dev": true + } + } + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.8", + "wordwrap": "0.0.3" + } + }, + "option-chain": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/option-chain/-/option-chain-1.0.0.tgz", + "integrity": "sha1-k41zvU4Xg/lI00AjZEraI2aeMPI=", + "dev": true + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, + "optjs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", + "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.2.0" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "1.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "package-hash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-2.0.0.tgz", + "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "lodash.flattendeep": "4.4.0", + "md5-hex": "2.0.0", + "release-zalgo": "1.0.0" + } + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" + }, + "dependencies": { + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" + } + } + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "parse-ms": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-0.1.2.tgz", + "integrity": "sha1-3T+iXtbC78e93hKtm0bBY6opIk4=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "dev": true, + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + } + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "3.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", + "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", + "dev": true + }, + "pinkie-promise": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", + "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", + "dev": true, + "requires": { + "pinkie": "1.0.0" + } + }, + "pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "load-json-file": "4.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.2" + } + } + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + }, + "plur": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", + "dev": true, + "requires": { + "irregular-plurals": "1.4.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "power-assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.5.0.tgz", + "integrity": "sha512-WaWSw+Ts283o6dzxW1BxIxoaHok7aSSGx4SaR6dW62Pk31ynv9DERDieuZpPYv5XaJ+H+zdcOaJQ+PvlasAOVw==", + "requires": { + "define-properties": "1.1.2", + "empower": "1.2.3", + "power-assert-formatter": "1.4.1", + "universal-deep-strict-equal": "1.2.2", + "xtend": "4.0.1" + } + }, + "power-assert-context-formatter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz", + "integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=", + "requires": { + "core-js": "2.5.5", + "power-assert-context-traversal": "1.1.1" + } + }, + "power-assert-context-reducer-ast": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.1.2.tgz", + "integrity": "sha1-SEqZ4m9Jc/+IMuXFzHVnAuYJQXQ=", + "requires": { + "acorn": "4.0.13", + "acorn-es7-plugin": "1.1.7", + "core-js": "2.5.5", + "espurify": "1.7.0", + "estraverse": "4.2.0" + } + }, + "power-assert-context-traversal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz", + "integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=", + "requires": { + "core-js": "2.5.5", + "estraverse": "4.2.0" + } + }, + "power-assert-formatter": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", + "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", + "requires": { + "core-js": "2.5.5", + "power-assert-context-formatter": "1.1.1", + "power-assert-context-reducer-ast": "1.1.2", + "power-assert-renderer-assertion": "1.1.1", + "power-assert-renderer-comparison": "1.1.1", + "power-assert-renderer-diagram": "1.1.2", + "power-assert-renderer-file": "1.1.1" + } + }, + "power-assert-renderer-assertion": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz", + "integrity": "sha1-y/wOd+AIao+Wrz8djme57n4ozpg=", + "requires": { + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.1.1" + } + }, + "power-assert-renderer-base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz", + "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=" + }, + "power-assert-renderer-comparison": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.1.1.tgz", + "integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=", + "requires": { + "core-js": "2.5.5", + "diff-match-patch": "1.0.0", + "power-assert-renderer-base": "1.1.1", + "stringifier": "1.3.0", + "type-name": "2.0.2" + } + }, + "power-assert-renderer-diagram": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.2.tgz", + "integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=", + "requires": { + "core-js": "2.5.5", + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.1.1", + "stringifier": "1.3.0" + } + }, + "power-assert-renderer-file": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.1.1.tgz", + "integrity": "sha1-o34rvReMys0E5427eckv40kzxec=", + "requires": { + "power-assert-renderer-base": "1.1.1" + } + }, + "power-assert-util-string-width": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz", + "integrity": "sha1-vmWet5N/3S5smncmjar2S9W3xZI=", + "requires": { + "eastasianwidth": "0.1.1" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.12.1.tgz", + "integrity": "sha1-wa0g6APndJ+vkFpAnSNn4Gu+cyU=", + "dev": true + }, + "pretty-ms": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.1.0.tgz", + "integrity": "sha1-6crJx2v27lL+lC3ZxsQhMVOxKIE=", + "dev": true, + "requires": { + "parse-ms": "1.0.1", + "plur": "2.1.2" + }, + "dependencies": { + "parse-ms": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", + "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", + "dev": true + } + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, + "protobufjs": { + "version": "6.8.6", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", + "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", + "requires": { + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/base64": "1.1.2", + "@protobufjs/codegen": "2.0.4", + "@protobufjs/eventemitter": "1.1.0", + "@protobufjs/fetch": "1.1.0", + "@protobufjs/float": "1.0.2", + "@protobufjs/inquire": "1.1.0", + "@protobufjs/path": "1.1.2", + "@protobufjs/pool": "1.1.0", + "@protobufjs/utf8": "1.1.0", + "@types/long": "3.0.32", + "@types/node": "8.10.11", + "long": "4.0.0" + } + }, + "proxyquire": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz", + "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", + "dev": true, + "requires": { + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", + "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "dev": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "rc": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "dev": true, + "requires": { + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + } + } + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "1.2.7", + "safe-buffer": "5.1.2" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "1.2.7" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + } + }, + "release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, + "requires": { + "es6-error": "4.1.1" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.85.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", + "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "require-precompiled": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/require-precompiled/-/require-precompiled-0.1.0.tgz", + "integrity": "sha1-WhtS63Dr7UPrmC6XTIWrWVceVvo=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "0.1.0", + "resolve-from": "1.0.1" + }, + "dependencies": { + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + } + } + }, + "requizzle": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", + "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", + "dev": true, + "requires": { + "underscore": "1.6.0" + }, + "dependencies": { + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "1.0.1" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry-axios": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz", + "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==" + }, + "retry-request": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.1.tgz", + "integrity": "sha512-PjAmtWIxjNj4Co/6FRtBl8afRP3CxrrIAnUzb1dzydfROd+6xt7xAebFeskgQgkfFf8NmzrXIoaB3HxmswXyxw==", + "requires": { + "request": "2.85.0", + "through2": "2.0.3" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "4.0.8" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "0.1.15" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "samsam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", + "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", + "dev": true + }, + "sanitize-html": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.18.2.tgz", + "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "htmlparser2": "3.9.2", + "lodash.clonedeep": "4.5.0", + "lodash.escaperegexp": "4.1.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mergewith": "4.6.1", + "postcss": "6.0.22", + "srcset": "1.0.0", + "xtend": "4.0.1" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "5.5.0" + } + }, + "serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "sinon": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-5.0.2.tgz", + "integrity": "sha512-dWcrPbckIjxpKo7CGHZB/TNe5e2U1NWmXKg3ojdfmjoPDnLHsec1RXRfLAqL82e5HssXBB8T2e2tD5YwkNSG6A==", + "dev": true, + "requires": { + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.3.2", + "nise": "1.3.3", + "supports-color": "5.4.0", + "type-detect": "4.0.8" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true + }, + "snakeize": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", + "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "requires": { + "hoek": "4.2.1" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "requires": { + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.5.tgz", + "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", + "dev": true, + "requires": { + "buffer-from": "1.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "split-array-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", + "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", + "requires": { + "is-stream-ended": "0.1.4" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "3.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "srcset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz", + "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", + "dev": true, + "requires": { + "array-uniq": "1.0.3", + "number-is-nan": "1.0.1" + } + }, + "sshpk": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + } + }, + "stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "stream-events": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", + "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", + "requires": { + "stubs": "3.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/string/-/string-3.3.3.tgz", + "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", + "dev": true + }, + "string-format-obj": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", + "integrity": "sha512-Mm+sROy+pHJmx0P/0Bs1uxIX6UhGJGj6xDGQZ5zh9v/SZRmLGevp+p0VJxV7lirrkAmQ2mvva/gHKpnF/pTb+Q==", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "stringifier": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", + "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", + "requires": { + "core-js": "2.5.5", + "traverse": "0.6.6", + "type-name": "2.0.2" + } + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-bom-buf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", + "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=" + }, + "superagent": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", + "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "cookiejar": "2.1.1", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.2", + "formidable": "1.2.1", + "methods": "1.1.2", + "mime": "1.6.0", + "qs": "6.5.1", + "readable-stream": "2.3.6" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + } + } + }, + "supertap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supertap/-/supertap-1.0.0.tgz", + "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "indent-string": "3.2.0", + "js-yaml": "3.11.0", + "serialize-error": "2.1.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "supertest": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-3.0.0.tgz", + "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", + "dev": true, + "requires": { + "methods": "1.1.2", + "superagent": "3.8.3" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + }, + "dependencies": { + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + } + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.4.1", + "lodash": "4.17.10", + "slice-ansi": "1.0.0", + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "0.7.0" + } + }, + "text-encoding": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", + "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "time-zone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", + "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "requires": { + "punycode": "1.4.1" + } + }, + "traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", + "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true, + "optional": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "uid2": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", + "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=", + "dev": true + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + }, + "underscore-contrib": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", + "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", + "dev": true, + "requires": { + "underscore": "1.6.0" + }, + "dependencies": { + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "1.0.0" + } + }, + "unique-temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz", + "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", + "dev": true, + "requires": { + "mkdirp": "0.5.1", + "os-tmpdir": "1.0.2", + "uid2": "0.0.3" + } + }, + "universal-deep-strict-equal": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", + "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", + "requires": { + "array-filter": "1.0.0", + "indexof": "0.0.1", + "object-keys": "1.0.11" + } + }, + "universalify": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "1.0.4" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, + "urlgrey": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", + "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", + "dev": true + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "requires": { + "kind-of": "6.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "well-known-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-1.0.0.tgz", + "integrity": "sha1-c8eK6Bp3Jqj6WY4ogIAcixYiVRg=", + "dev": true + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "widest-line": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", + "dev": true, + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" + } + }, + "write-json-file": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", + "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", + "dev": true, + "requires": { + "detect-indent": "5.0.0", + "graceful-fs": "4.1.11", + "make-dir": "1.2.0", + "pify": "3.0.0", + "sort-keys": "2.0.0", + "write-file-atomic": "2.3.0" + }, + "dependencies": { + "detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", + "dev": true + } + } + }, + "write-pkg": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.1.0.tgz", + "integrity": "sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk=", + "dev": true, + "requires": { + "sort-keys": "2.0.0", + "write-json-file": "2.3.0" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "xmlcreate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", + "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + } + } +} From 699ba225ce38a22fded2998794304a6dc00f3cca Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 2 May 2018 15:10:58 -0700 Subject: [PATCH 143/588] chore: test on node10 (#59) --- .../google-cloud-vision/.circleci/config.yml | 77 ++++++------------- 1 file changed, 24 insertions(+), 53 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 529add30190..d394fa2290e 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -19,12 +19,17 @@ workflows: filters: tags: only: /.*/ + - node10: + filters: + tags: + only: /.*/ - lint: requires: - node4 - node6 - node8 - node9 + - node10 filters: tags: only: /.*/ @@ -34,6 +39,7 @@ workflows: - node6 - node8 - node9 + - node10 filters: tags: only: /.*/ @@ -90,14 +96,18 @@ jobs: else echo "Not a nightly build, skipping this step." fi - - run: - name: Install modules and dependencies. - command: |- + - run: &npm_install_and_link + name: Install and link the module. + command: | + mkdir -p /home/node/.npm-global npm install repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" if ! test -x "$repo_tools"; then chmod +x "$repo_tools" fi + npm link + environment: + NPM_CONFIG_PREFIX: /home/node/.npm-global - run: name: Run unit tests. command: npm test @@ -120,6 +130,11 @@ jobs: - image: 'node:9' user: node steps: *unit_tests_steps + node10: + docker: + - image: 'node:10' + user: node + steps: *unit_tests_steps lint: docker: - image: 'node:8' @@ -127,19 +142,8 @@ jobs: steps: - checkout - run: *remove_package_lock - - run: - name: Install modules and dependencies. - command: | - mkdir -p /home/node/.npm-global - npm install - repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" - if ! test -x "$repo_tools"; then - chmod +x "$repo_tools" - fi - npm link - environment: - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: + - run: *npm_install_and_link + - run: &samples_npm_install_and_link name: Link the module being tested to the samples. command: | cd samples/ @@ -160,14 +164,7 @@ jobs: steps: - checkout - run: *remove_package_lock - - run: - name: Install modules and dependencies. - command: |- - npm install - repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" - if ! test -x "$repo_tools"; then - chmod +x "$repo_tools" - fi + - run: *npm_install_and_link - run: name: Build documentation. command: npm run docs @@ -184,27 +181,8 @@ jobs: openssl aes-256-cbc -d -in .circleci/key.json.enc \ -out .circleci/key.json \ -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" - - run: - name: Install and link the module. - command: | - mkdir -p /home/node/.npm-global - npm install - repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" - if ! test -x "$repo_tools"; then - chmod +x "$repo_tools" - fi - npm link - environment: - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: - name: Link the module being tested to the samples. - command: | - cd samples/ - npm link @google-cloud/vision - npm install - cd .. - environment: - NPM_CONFIG_PREFIX: /home/node/.npm-global + - run: *npm_install_and_link + - run: *samples_npm_install_and_link - run: name: Run sample tests. command: npm run samples-test @@ -230,14 +208,7 @@ jobs: openssl aes-256-cbc -d -in .circleci/key.json.enc \ -out .circleci/key.json \ -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" - - run: - name: Install modules and dependencies. - command: |- - npm install - repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" - if ! test -x "$repo_tools"; then - chmod +x "$repo_tools" - fi + - run: *npm_install_and_link - run: name: Run system tests. command: npm run system-test From b4660d98faf33621ad600f5ce0a806ddf90b2b39 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Tue, 8 May 2018 14:28:07 -0700 Subject: [PATCH 144/588] chore: lock files maintenance (#62) * chore: lock files maintenance * chore: lock files maintenance --- .../google-cloud-vision/package-lock.json | 593 ++++++------------ 1 file changed, 177 insertions(+), 416 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 62823804751..08e0828256a 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -81,13 +81,15 @@ } }, "@google-cloud/common": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.2.tgz", - "integrity": "sha512-uLLTiYB395rYT8qk4MQt2x63DjVhSpNXgrrlFYrjx5CboCJtJ7pWtslDwexyZoRDk2hG2nyfLN8eJxuxO36+vQ==", + "version": "0.18.4", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.4.tgz", + "integrity": "sha512-9c24oHYEK+VmM/9N1PDftg8jIyOZjnT93QtxD362Kgq7ErurcIGeTq9WEPQ/ckQQq9dKYEWk8QRVJvzIbRqMjw==", "requires": { + "@types/duplexify": "3.5.0", + "@types/request": "2.47.0", "arrify": "1.0.1", "axios": "0.18.0", - "duplexify": "3.5.4", + "duplexify": "3.6.0", "ent": "2.2.0", "extend": "3.0.1", "google-auth-library": "1.4.0", @@ -1823,7 +1825,7 @@ "compressible": "2.0.13", "concat-stream": "1.6.2", "create-error-class": "3.0.2", - "duplexify": "3.5.4", + "duplexify": "3.6.0", "extend": "3.0.1", "gcs-resumable-upload": "0.9.0", "hash-stream-validation": "0.2.1", @@ -1831,7 +1833,7 @@ "mime": "2.3.1", "mime-types": "2.1.18", "once": "1.4.0", - "pumpify": "1.4.0", + "pumpify": "1.5.0", "request": "2.85.0", "safe-buffer": "5.1.2", "snakeize": "0.1.0", @@ -1850,7 +1852,7 @@ "arrify": "1.0.1", "concat-stream": "1.6.2", "create-error-class": "3.0.2", - "duplexify": "3.5.4", + "duplexify": "3.6.0", "ent": "2.2.0", "extend": "3.0.1", "google-auto-auth": "0.9.7", @@ -2014,15 +2016,52 @@ "samsam": "1.3.0" } }, + "@types/caseless": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.1.tgz", + "integrity": "sha512-FhlMa34NHp9K5MY1Uz8yb+ZvuX0pnvn3jScRSNAb75KHGB8d3rEU6hqMs3Z2vjuytcMfRg6c5CHMc3wtYyD2/A==" + }, + "@types/duplexify": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", + "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", + "requires": { + "@types/node": "10.0.4" + } + }, + "@types/form-data": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", + "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", + "requires": { + "@types/node": "10.0.4" + } + }, "@types/long": { "version": "3.0.32", "resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz", "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "8.10.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.11.tgz", - "integrity": "sha512-FM7tvbjbn2BUzM/Qsdk9LUGq3zeh7li8NcHoS398dBzqLzfmSqSP1+yKbMRTCcZzLcu2JAR5lq3IKIEYkto7iQ==" + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.0.4.tgz", + "integrity": "sha512-RisaZmcmCLjRipAY7nVi3fmkIk4Z0JMn8YHdGF6qYMsIDpD0dfzz+3yy2dL5Q5aHWOnqPx51IRxkA44myknJvw==" + }, + "@types/request": { + "version": "2.47.0", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.0.tgz", + "integrity": "sha512-/KXM5oev+nNCLIgBjkwbk8VqxmzI56woD4VUxn95O+YeQ8hJzcSmIZ1IN3WexiqBb6srzDo2bdMbsXxgXNkz5Q==", + "requires": { + "@types/caseless": "0.12.1", + "@types/form-data": "2.2.1", + "@types/node": "10.0.4", + "@types/tough-cookie": "2.3.2" + } + }, + "@types/tough-cookie": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha512-vOVmaruQG5EatOU/jM6yU2uCp3Lz6mK1P5Ztu4iJjfM4SVHU9XYktPUQtKlIXuahqXHdEyUarMrBEwg5Cwu+bA==" }, "acorn": { "version": "4.0.13", @@ -2797,7 +2836,7 @@ "babel-generator": "6.26.1", "babylon": "6.18.0", "call-matcher": "1.0.1", - "core-js": "2.5.5", + "core-js": "2.5.6", "espower-location-detector": "1.0.0", "espurify": "1.7.0", "estraverse": "4.2.0" @@ -2944,7 +2983,7 @@ "requires": { "babel-core": "6.26.3", "babel-runtime": "6.26.0", - "core-js": "2.5.5", + "core-js": "2.5.6", "home-or-tmp": "2.0.0", "lodash": "4.17.10", "mkdirp": "0.5.1", @@ -2968,7 +3007,7 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "regenerator-runtime": "0.11.1" } }, @@ -3338,7 +3377,7 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "deep-equal": "1.0.1", "espurify": "1.7.0", "estraverse": "4.2.0" @@ -3818,9 +3857,9 @@ } }, "core-js": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", - "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" }, "core-util-is": { "version": "1.0.2", @@ -4148,9 +4187,9 @@ "dev": true }, "duplexify": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz", - "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { "end-of-stream": "1.4.1", "inherits": "2.0.3", @@ -4186,7 +4225,7 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.2.3.tgz", "integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "empower-core": "0.6.2" } }, @@ -4205,7 +4244,7 @@ "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.5" + "core-js": "2.5.6" } }, "end-of-stream": { @@ -4628,7 +4667,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.7.0.tgz", "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=", "requires": { - "core-js": "2.5.5" + "core-js": "2.5.6" } }, "esquery": { @@ -4807,7 +4846,7 @@ "dev": true, "requires": { "chardet": "0.4.2", - "iconv-lite": "0.4.21", + "iconv-lite": "0.4.22", "tmp": "0.0.33" } }, @@ -4894,7 +4933,7 @@ "@mrmlnc/readdir-enhanced": "2.2.1", "glob-parent": "3.1.0", "is-glob": "4.0.0", - "merge2": "1.2.1", + "merge2": "1.2.2", "micromatch": "3.1.10" } }, @@ -5645,7 +5684,7 @@ "buffer-equal": "1.0.0", "configstore": "3.1.2", "google-auto-auth": "0.9.7", - "pumpify": "1.4.0", + "pumpify": "1.5.0", "request": "2.85.0", "stream-events": "1.0.4", "through2": "2.0.3" @@ -5834,12 +5873,12 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz", "integrity": "sha512-eP7UUkKvaHmmvCrr+rxzkIOeEKOnXmoib7/AkENDAuqlC9T2+lWlzwpthDRnitQcV8SblDMzsk73YPMPCDwPyQ==", "requires": { - "duplexify": "3.5.4", + "duplexify": "3.6.0", "extend": "3.0.1", "globby": "8.0.1", "google-auto-auth": "0.10.1", "google-proto-files": "0.15.1", - "grpc": "1.11.0", + "grpc": "1.11.3", "is-stream-ended": "0.1.4", "lodash": "4.17.10", "protobufjs": "6.8.6", @@ -5935,13 +5974,13 @@ "dev": true }, "grpc": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.11.0.tgz", - "integrity": "sha512-pTJjV/eatBQ6Rhc/jWNmUW9jE8fPrhcMYSWDSyf4l7ah1U3sIe4eIjqI/a3sm0zKbM5CuovV0ESrc+b04kr4Ig==", + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.11.3.tgz", + "integrity": "sha512-7fJ40USpnP7hxGK0uRoEhJz6unA5VUdwInfwAY2rK2+OVxdDJSdTZQ/8/M+1tW68pHZYgHvg2ohvJ+clhW3ANg==", "requires": { "lodash": "4.17.10", "nan": "2.10.0", - "node-pre-gyp": "0.7.0", + "node-pre-gyp": "0.10.0", "protobufjs": "5.0.2" }, "dependencies": { @@ -5949,16 +5988,6 @@ "version": "1.1.1", "bundled": true }, - "ajv": { - "version": "5.5.2", - "bundled": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, "ansi-regex": { "version": "2.1.1", "bundled": true @@ -5975,52 +6004,10 @@ "readable-stream": "2.3.6" } }, - "asn1": { - "version": "0.2.3", - "bundled": true - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true - }, - "aws-sign2": { - "version": "0.7.0", - "bundled": true - }, - "aws4": { - "version": "1.7.0", - "bundled": true - }, "balanced-match": { "version": "1.0.0", "bundled": true }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "4.3.1", - "bundled": true, - "requires": { - "hoek": "4.2.1" - } - }, "brace-expansion": { "version": "1.1.11", "bundled": true, @@ -6029,25 +6016,14 @@ "concat-map": "0.0.1" } }, - "caseless": { - "version": "0.12.0", - "bundled": true - }, - "co": { - "version": "4.6.0", + "chownr": { + "version": "1.0.1", "bundled": true }, "code-point-at": { "version": "1.1.0", "bundled": true }, - "combined-stream": { - "version": "1.0.6", - "bundled": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, "concat-map": { "version": "0.0.1", "bundled": true @@ -6060,29 +6036,6 @@ "version": "1.0.2", "bundled": true }, - "cryptiles": { - "version": "3.1.2", - "bundled": true, - "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "bundled": true, - "requires": { - "hoek": "4.2.1" - } - } - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "requires": { - "assert-plus": "1.0.0" - } - }, "debug": { "version": "2.6.9", "bundled": true, @@ -6091,11 +6044,7 @@ } }, "deep-extend": { - "version": "0.4.2", - "bundled": true - }, - "delayed-stream": { - "version": "1.0.0", + "version": "0.5.1", "bundled": true }, "delegates": { @@ -6106,66 +6055,17 @@ "version": "1.0.3", "bundled": true }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true - }, - "extsprintf": { - "version": "1.3.0", - "bundled": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "bundled": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "bundled": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true - }, - "form-data": { - "version": "2.3.2", + "fs-minipass": { + "version": "1.2.5", "bundled": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "minipass": "2.2.4" } }, "fs.realpath": { "version": "1.0.0", "bundled": true }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, "gauge": { "version": "2.7.4", "bundled": true, @@ -6180,13 +6080,6 @@ "wide-align": "1.1.2" } }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "requires": { - "assert-plus": "1.0.0" - } - }, "glob": { "version": "7.1.2", "bundled": true, @@ -6199,47 +6092,19 @@ "path-is-absolute": "1.0.1" } }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "har-schema": { - "version": "2.0.0", - "bundled": true - }, - "har-validator": { - "version": "5.0.3", - "bundled": true, - "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" - } - }, "has-unicode": { "version": "2.0.1", "bundled": true }, - "hawk": { - "version": "6.0.2", - "bundled": true, - "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" - } - }, - "hoek": { - "version": "4.2.1", + "iconv-lite": { + "version": "0.4.19", "bundled": true }, - "http-signature": { - "version": "1.2.0", + "ignore-walk": { + "version": "3.0.1", "bundled": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" + "minimatch": "3.0.4" } }, "inflight": { @@ -6265,67 +6130,36 @@ "number-is-nan": "1.0.1" } }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true - }, "isarray": { "version": "1.0.0", "bundled": true }, - "isstream": { - "version": "0.1.2", - "bundled": true - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "bundled": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true - }, - "jsprim": { - "version": "1.4.1", + "minimatch": { + "version": "3.0.4", "bundled": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "brace-expansion": "1.1.11" } }, - "mime-db": { - "version": "1.33.0", + "minimist": { + "version": "1.2.0", "bundled": true }, - "mime-types": { - "version": "2.1.18", + "minipass": { + "version": "2.2.4", "bundled": true, "requires": { - "mime-db": "1.33.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, - "minimatch": { - "version": "3.0.4", + "minizlib": { + "version": "1.1.0", "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "minipass": "2.2.4" } }, - "minimist": { - "version": "1.2.0", - "bundled": true - }, "mkdirp": { "version": "0.5.1", "bundled": true, @@ -6343,20 +6177,29 @@ "version": "2.0.0", "bundled": true }, + "needle": { + "version": "2.2.1", + "bundled": true, + "requires": { + "debug": "2.6.9", + "iconv-lite": "0.4.19", + "sax": "1.2.4" + } + }, "node-pre-gyp": { - "version": "0.7.0", + "version": "0.10.0", "bundled": true, "requires": { "detect-libc": "1.0.3", "mkdirp": "0.5.1", + "needle": "2.2.1", "nopt": "4.0.1", + "npm-packlist": "1.1.10", "npmlog": "4.1.2", - "rc": "1.2.6", - "request": "2.83.0", + "rc": "1.2.7", "rimraf": "2.6.2", "semver": "5.5.0", - "tar": "2.2.1", - "tar-pack": "3.4.1" + "tar": "4.4.2" } }, "nopt": { @@ -6367,6 +6210,18 @@ "osenv": "0.1.5" } }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" + } + }, "npmlog": { "version": "4.1.2", "bundled": true, @@ -6381,10 +6236,6 @@ "version": "1.0.1", "bundled": true }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true - }, "object-assign": { "version": "4.1.1", "bundled": true @@ -6416,10 +6267,6 @@ "version": "1.0.1", "bundled": true }, - "performance-now": { - "version": "2.1.0", - "bundled": true - }, "process-nextick-args": { "version": "2.0.0", "bundled": true @@ -6435,19 +6282,11 @@ "yargs": "3.32.0" } }, - "punycode": { - "version": "1.4.1", - "bundled": true - }, - "qs": { - "version": "6.5.1", - "bundled": true - }, "rc": { - "version": "1.2.6", + "version": "1.2.7", "bundled": true, "requires": { - "deep-extend": "0.4.2", + "deep-extend": "0.5.1", "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" @@ -6466,34 +6305,6 @@ "util-deprecate": "1.0.2" } }, - "request": { - "version": "2.83.0", - "bundled": true, - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - } - }, "rimraf": { "version": "2.6.2", "bundled": true, @@ -6505,6 +6316,10 @@ "version": "5.1.1", "bundled": true }, + "sax": { + "version": "1.2.4", + "bundled": true + }, "semver": { "version": "5.5.0", "bundled": true @@ -6517,27 +6332,6 @@ "version": "3.0.2", "bundled": true }, - "sntp": { - "version": "2.1.0", - "bundled": true, - "requires": { - "hoek": "4.2.1" - } - }, - "sshpk": { - "version": "1.14.1", - "bundled": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - } - }, "string-width": { "version": "1.0.2", "bundled": true, @@ -6554,10 +6348,6 @@ "safe-buffer": "5.1.1" } }, - "stringstream": { - "version": "0.0.5", - "bundled": true - }, "strip-ansi": { "version": "3.0.1", "bundled": true, @@ -6570,68 +6360,28 @@ "bundled": true }, "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.1", - "bundled": true, - "requires": { - "debug": "2.6.9", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.3.6", - "rimraf": "2.6.2", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.4", + "version": "4.4.2", "bundled": true, "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "requires": { - "safe-buffer": "5.1.1" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "bundled": true + } } }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true - }, "util-deprecate": { "version": "1.0.2", "bundled": true }, - "uuid": { - "version": "3.2.1", - "bundled": true - }, - "verror": { - "version": "1.10.0", - "bundled": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - } - }, "wide-align": { "version": "1.1.2", "bundled": true, @@ -6642,6 +6392,10 @@ "wrappy": { "version": "1.0.2", "bundled": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true } } }, @@ -6871,9 +6625,9 @@ } }, "iconv-lite": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", - "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.22.tgz", + "integrity": "sha512-1AinFBeDTnsvVEP+V1QBlHpM1UZZl7gWB6fcz7B1Ho+LI1dUh2sSrxoCfVt2PinRHzXAziSniEV3P7JbTDHcXA==", "dev": true, "requires": { "safer-buffer": "2.1.2" @@ -8013,9 +7767,9 @@ } }, "merge2": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz", - "integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", + "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==" }, "methmeth": { "version": "1.1.0", @@ -11513,7 +11267,7 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz", "integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "power-assert-context-traversal": "1.1.1" } }, @@ -11524,7 +11278,7 @@ "requires": { "acorn": "4.0.13", "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.5", + "core-js": "2.5.6", "espurify": "1.7.0", "estraverse": "4.2.0" } @@ -11534,7 +11288,7 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz", "integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "estraverse": "4.2.0" } }, @@ -11543,7 +11297,7 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "power-assert-context-formatter": "1.1.1", "power-assert-context-reducer-ast": "1.1.2", "power-assert-renderer-assertion": "1.1.1", @@ -11571,7 +11325,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.1.1.tgz", "integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "diff-match-patch": "1.0.0", "power-assert-renderer-base": "1.1.1", "stringifier": "1.3.0", @@ -11583,7 +11337,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.2.tgz", "integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "power-assert-renderer-base": "1.1.1", "power-assert-util-string-width": "1.1.1", "stringifier": "1.3.0" @@ -11680,8 +11434,15 @@ "@protobufjs/pool": "1.1.0", "@protobufjs/utf8": "1.1.0", "@types/long": "3.0.32", - "@types/node": "8.10.11", + "@types/node": "8.10.12", "long": "4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "8.10.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.12.tgz", + "integrity": "sha512-aRFUGj/f9JVA0qSQiCK9ebaa778mmqMIcy1eKnPktgfm9O6VsnIzzB5wJnjp9/jVrfm7fX1rr3OR1nndppGZUg==" + } } }, "proxyquire": { @@ -11711,12 +11472,12 @@ } }, "pumpify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", - "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.0.tgz", + "integrity": "sha512-UWi0klDoq8xtVzlMRgENV9F7iCTZExaJQSQL187UXsxpk9NnrKGqTqqUNYAKGOzucSOxs2+jUnRNI+rLviPhJg==", "dev": true, "requires": { - "duplexify": "3.5.4", + "duplexify": "3.6.0", "inherits": "2.0.3", "pump": "2.0.1" } @@ -11727,9 +11488,9 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "query-string": { "version": "5.1.1", @@ -12004,7 +11765,7 @@ "mime-types": "2.1.18", "oauth-sign": "0.8.2", "performance-now": "2.1.0", - "qs": "6.5.1", + "qs": "6.5.2", "safe-buffer": "5.1.2", "stringstream": "0.0.5", "tough-cookie": "2.3.4", @@ -12291,9 +12052,9 @@ "dev": true }, "sinon": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-5.0.2.tgz", - "integrity": "sha512-dWcrPbckIjxpKo7CGHZB/TNe5e2U1NWmXKg3ojdfmjoPDnLHsec1RXRfLAqL82e5HssXBB8T2e2tD5YwkNSG6A==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-5.0.7.tgz", + "integrity": "sha512-GvNLrwpvLZ8jIMZBUhHGUZDq5wlUdceJWyHvZDmqBxnjazpxY1L0FNbGBX6VpcOEoQ8Q4XMWFzm2myJMvx+VjA==", "dev": true, "requires": { "@sinonjs/formatio": "2.0.0", @@ -12659,7 +12420,7 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "traverse": "0.6.6", "type-name": "2.0.2" } @@ -12732,7 +12493,7 @@ "formidable": "1.2.1", "methods": "1.1.2", "mime": "1.6.0", - "qs": "6.5.1", + "qs": "6.5.2", "readable-stream": "2.3.6" }, "dependencies": { From 12958471d6bd11951391360aa9b65c085632aba9 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 16 May 2018 16:52:49 -0700 Subject: [PATCH 145/588] chore: timeout for system test (#65) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index fbbc87e84f4..3476a5b116e 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -53,7 +53,7 @@ "lint": "repo-tools lint --cmd eslint -- src/ samples/ system-test/ test/", "prettier": "repo-tools exec -- prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js system-test/*.js system-test/*/*.js", "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", - "system-test": "repo-tools test run --cmd mocha -- system-test/*.js --no-timeouts", + "system-test": "repo-tools test run --cmd mocha -- system-test/*.js --timeout 600000", "test-no-cover": "repo-tools test run --cmd mocha -- test/*.js --no-timeouts", "test": "repo-tools test run --cmd npm -- run cover" }, From bd1a20e2557c7b303f7e756c5404fd824e09790f Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Tue, 22 May 2018 11:32:47 -0700 Subject: [PATCH 146/588] chore: lock files maintenance (#68) * chore: lock files maintenance * chore: lock files maintenance --- .../google-cloud-vision/package-lock.json | 860 ++++++++---------- 1 file changed, 355 insertions(+), 505 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 08e0828256a..0ffbbdfecea 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -81,9 +81,9 @@ } }, "@google-cloud/common": { - "version": "0.18.4", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.4.tgz", - "integrity": "sha512-9c24oHYEK+VmM/9N1PDftg8jIyOZjnT93QtxD362Kgq7ErurcIGeTq9WEPQ/ckQQq9dKYEWk8QRVJvzIbRqMjw==", + "version": "0.18.9", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.9.tgz", + "integrity": "sha512-P5jtyfOCF84fzVcT/36XKARRrbCOqozYBliDd7btQ96GuEqKzjPVjxeE4EzdeRQ8QChBpHLrbONsU63Jprw73A==", "requires": { "@types/duplexify": "3.5.0", "@types/request": "2.47.0", @@ -92,10 +92,10 @@ "duplexify": "3.6.0", "ent": "2.2.0", "extend": "3.0.1", - "google-auth-library": "1.4.0", + "google-auth-library": "1.5.0", "is": "3.2.1", "pify": "3.0.0", - "request": "2.85.0", + "request": "2.87.0", "retry-request": "3.3.1", "split-array-stream": "2.0.0", "stream-events": "1.0.4" @@ -1766,7 +1766,7 @@ "@sinonjs/formatio": "2.0.0", "diff": "3.5.0", "lodash.get": "4.4.2", - "lolex": "2.3.2", + "lolex": "2.6.0", "nise": "1.3.3", "supports-color": "5.4.0", "type-detect": "4.0.8" @@ -1814,38 +1814,38 @@ } }, "@google-cloud/storage": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.6.0.tgz", - "integrity": "sha512-yQ63bJYoiwY220gn/KdTLPoHppAPwFHfG7VFLPwJ+1R5U1eqUN5XV2a7uPj1szGF8/gxlKm2UbE8DgoJJ76DFw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.7.0.tgz", + "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "0.16.2", + "@google-cloud/common": "0.17.0", "arrify": "1.0.1", - "async": "2.6.0", + "async": "2.6.1", "compressible": "2.0.13", "concat-stream": "1.6.2", "create-error-class": "3.0.2", "duplexify": "3.6.0", "extend": "3.0.1", - "gcs-resumable-upload": "0.9.0", + "gcs-resumable-upload": "0.10.2", "hash-stream-validation": "0.2.1", "is": "3.2.1", "mime": "2.3.1", "mime-types": "2.1.18", "once": "1.4.0", - "pumpify": "1.5.0", - "request": "2.85.0", + "pumpify": "1.5.1", + "request": "2.87.0", "safe-buffer": "5.1.2", "snakeize": "0.1.0", "stream-events": "1.0.4", - "string-format-obj": "1.1.1", - "through2": "2.0.3" + "through2": "2.0.3", + "xdg-basedir": "3.0.0" }, "dependencies": { "@google-cloud/common": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.16.2.tgz", - "integrity": "sha512-GrkaFoj0/oO36pNs4yLmaYhTujuA3i21FdQik99Fd/APix1uhf01VlpJY4lAteTDFLRNkRx6ydEh7OVvmeUHng==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz", + "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { "array-uniq": "1.0.3", @@ -1855,12 +1855,12 @@ "duplexify": "3.6.0", "ent": "2.2.0", "extend": "3.0.1", - "google-auto-auth": "0.9.7", + "google-auto-auth": "0.10.1", "is": "3.2.1", "log-driver": "1.2.7", "methmeth": "1.1.0", "modelo": "4.2.3", - "request": "2.85.0", + "request": "2.87.0", "retry-request": "3.3.1", "split-array-stream": "1.0.3", "stream-events": "1.0.4", @@ -1868,25 +1868,13 @@ "through2": "2.0.3" } }, - "google-auto-auth": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", - "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", - "dev": true, - "requires": { - "async": "2.6.0", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.4.0", - "request": "2.85.0" - } - }, "split-array-stream": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz", "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "2.6.0", + "async": "2.6.1", "is-stream-ended": "0.1.4" } } @@ -1947,6 +1935,11 @@ "glob-to-regexp": "0.3.0" } }, + "@nodelib/fs.stat": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz", + "integrity": "sha512-vCpf75JDcdomXvUd7Rn6DfYAVqPAFI66FVjxiWGwh85OLdvfo3paBoPJaam5keIYRyUolnS7SleS/ZPCidCvzw==" + }, "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -2009,7 +2002,7 @@ }, "@sinonjs/formatio": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==", "dev": true, "requires": { @@ -2026,7 +2019,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "10.0.4" + "@types/node": "10.1.2" } }, "@types/form-data": { @@ -2034,7 +2027,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "10.0.4" + "@types/node": "10.1.2" } }, "@types/long": { @@ -2043,9 +2036,9 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.0.4.tgz", - "integrity": "sha512-RisaZmcmCLjRipAY7nVi3fmkIk4Z0JMn8YHdGF6qYMsIDpD0dfzz+3yy2dL5Q5aHWOnqPx51IRxkA44myknJvw==" + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.1.2.tgz", + "integrity": "sha512-bjk1RIeZBCe/WukrFToIVegOf91Pebr8cXYBwLBIsfiGWVQ+ifwWsT59H3RxrWzWrzd1l/Amk1/ioY5Fq3/bpA==" }, "@types/request": { "version": "2.47.0", @@ -2054,14 +2047,14 @@ "requires": { "@types/caseless": "0.12.1", "@types/form-data": "2.2.1", - "@types/node": "10.0.4", - "@types/tough-cookie": "2.3.2" + "@types/node": "10.1.2", + "@types/tough-cookie": "2.3.3" } }, "@types/tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha512-vOVmaruQG5EatOU/jM6yU2uCp3Lz6mK1P5Ztu4iJjfM4SVHU9XYktPUQtKlIXuahqXHdEyUarMrBEwg5Cwu+bA==" + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha512-MDQLxNFRLasqS4UlkWMSACMKeSm1x4Q3TxzUC7KQUsh6RK1ZrQ0VEyE3yzXcBu+K8ejVj4wuX32eUG02yNp+YQ==" }, "acorn": { "version": "4.0.13", @@ -2405,9 +2398,9 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { "lodash": "4.17.10" } @@ -2497,7 +2490,7 @@ "lodash.difference": "4.5.0", "lodash.flatten": "4.4.0", "loud-rejection": "1.6.0", - "make-dir": "1.2.0", + "make-dir": "1.3.0", "matcher": "1.1.0", "md5-hex": "2.0.0", "meow": "3.7.0", @@ -2514,7 +2507,7 @@ "safe-buffer": "5.1.2", "semver": "5.5.0", "slash": "1.0.0", - "source-map-support": "0.5.5", + "source-map-support": "0.5.6", "stack-utils": "1.0.1", "strip-ansi": "4.0.0", "strip-bom-buf": "1.0.0", @@ -2604,7 +2597,7 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "1.4.1", + "follow-redirects": "1.5.0", "is-buffer": "1.1.6" } }, @@ -2838,7 +2831,7 @@ "call-matcher": "1.0.1", "core-js": "2.5.6", "espower-location-detector": "1.0.0", - "espurify": "1.7.0", + "espurify": "1.8.0", "estraverse": "4.2.0" } }, @@ -3125,11 +3118,6 @@ } } }, - "base64url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz", - "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs=" - }, "bcrypt-pbkdf": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", @@ -3151,14 +3139,6 @@ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", "dev": true }, - "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", - "requires": { - "hoek": "4.2.1" - } - }, "boxen": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", @@ -3261,12 +3241,6 @@ "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=", "dev": true }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", - "dev": true - }, "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", @@ -3379,7 +3353,7 @@ "requires": { "core-js": "2.5.6", "deep-equal": "1.0.1", - "espurify": "1.7.0", + "espurify": "1.8.0", "estraverse": "4.2.0" } }, @@ -3479,7 +3453,7 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.2.3", + "fsevents": "1.2.4", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -3677,13 +3651,13 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "codecov": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.1.tgz", - "integrity": "sha512-0TjnXrbvcPzAkRPv/Y5D8aZju/M5adkFxShRyMMgDReB8EV9nF4XMERXs6ajgLA1di9LUFW2tgePDQd2JPWy7g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.2.tgz", + "integrity": "sha512-9ljtIROIjPIUmMRqO+XuDITDoV8xRrZmA0jcEq6p2hg2+wY9wGmLfreAZGIL72IzUfdEDZaU8+Vjidg1fBQ8GQ==", "dev": true, "requires": { "argv": "0.0.2", - "request": "2.85.0", + "request": "2.87.0", "urlgrey": "0.4.4" } }, @@ -3731,9 +3705,9 @@ } }, "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", "dev": true }, "common-path-prefix": { @@ -3817,7 +3791,7 @@ "requires": { "dot-prop": "4.2.0", "graceful-fs": "4.1.11", - "make-dir": "1.2.0", + "make-dir": "1.3.0", "unique-string": "1.0.0", "write-file-atomic": "2.3.0", "xdg-basedir": "3.0.0" @@ -3881,29 +3855,11 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.2", + "lru-cache": "4.1.3", "shebang-command": "1.2.0", "which": "1.3.0" } }, - "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", - "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "requires": { - "hoek": "4.2.1" - } - } - } - }, "crypto-random-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", @@ -4106,9 +4062,9 @@ "dev": true }, "diff-match-patch": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.0.tgz", - "integrity": "sha1-HMPIOkkNZ/ldkeOfatHy4Ia2MEg=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.1.tgz", + "integrity": "sha512-A0QEhr4PxGUMEtKxd6X+JLnOTFd3BfIPSDpsc4dMvj+CbSaErDwTpoTo/nFJDMSrjxLW4BiNq+FbNisAAHhWeQ==" }, "dir-glob": { "version": "2.0.0", @@ -4153,9 +4109,9 @@ "dev": true }, "domhandler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", - "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { "domelementtype": "1.3.0" @@ -4212,11 +4168,10 @@ } }, "ecdsa-sig-formatter": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz", - "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", + "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "base64url": "2.0.0", "safe-buffer": "5.1.2" } }, @@ -4558,9 +4513,9 @@ "dev": true }, "espower": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/espower/-/espower-2.1.0.tgz", - "integrity": "sha1-zh7bPZhwKEH99ZbRy46FvcSujkg=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/espower/-/espower-2.1.1.tgz", + "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { "array-find": "1.0.0", @@ -4568,7 +4523,7 @@ "escodegen": "1.9.1", "escope": "3.6.0", "espower-location-detector": "1.0.0", - "espurify": "1.7.0", + "espurify": "1.8.0", "estraverse": "4.2.0", "source-map": "0.5.7", "type-name": "2.0.2", @@ -4622,7 +4577,7 @@ "convert-source-map": "1.5.1", "empower-assert": "1.1.0", "escodegen": "1.9.1", - "espower": "2.1.0", + "espower": "2.1.1", "estraverse": "4.2.0", "merge-estraverse-visitors": "1.0.0", "multi-stage-sourcemap": "0.2.1", @@ -4663,9 +4618,9 @@ "dev": true }, "espurify": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.7.0.tgz", - "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", + "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { "core-js": "2.5.6" } @@ -4770,18 +4725,18 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { "is-number": "2.1.0", "isobject": "2.1.0", - "randomatic": "1.1.7", + "randomatic": "3.0.0", "repeat-element": "1.1.2", "repeat-string": "1.6.1" } @@ -4846,7 +4801,7 @@ "dev": true, "requires": { "chardet": "0.4.2", - "iconv-lite": "0.4.22", + "iconv-lite": "0.4.23", "tmp": "0.0.33" } }, @@ -4926,11 +4881,12 @@ "dev": true }, "fast-glob": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.1.tgz", - "integrity": "sha512-wSyW1TBK3ia5V+te0rGPXudeMHoUQW6O5Y9oATiaGhpENmEifPDlOdhpsnlj5HoG6ttIvGiY1DdCmI9X2xGMhg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", + "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.0.2", "glob-parent": "3.1.0", "is-glob": "4.0.0", "merge2": "1.2.2", @@ -5011,7 +4967,7 @@ "dev": true, "requires": { "commondir": "1.0.1", - "make-dir": "1.2.0", + "make-dir": "1.3.0", "pkg-dir": "2.0.0" } }, @@ -5043,9 +4999,9 @@ "dev": true }, "follow-redirects": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz", - "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", + "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "requires": { "debug": "3.1.0" } @@ -5125,14 +5081,14 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.3.tgz", - "integrity": "sha512-X+57O5YkDTiEQGiw8i7wYc2nQgweIekqkepI8Q3y4wVlurgBt2SuwxTeYUYMZIGpLZH3r/TsMjczCMXE5ZOt7Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "dev": true, "optional": true, "requires": { "nan": "2.10.0", - "node-pre-gyp": "0.9.1" + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { @@ -5213,7 +5169,7 @@ } }, "deep-extend": { - "version": "0.4.2", + "version": "0.5.1", "bundled": true, "dev": true, "optional": true @@ -5391,7 +5347,7 @@ } }, "node-pre-gyp": { - "version": "0.9.1", + "version": "0.10.0", "bundled": true, "dev": true, "optional": true, @@ -5402,7 +5358,7 @@ "nopt": "4.0.1", "npm-packlist": "1.1.10", "npmlog": "4.1.2", - "rc": "1.2.6", + "rc": "1.2.7", "rimraf": "2.6.2", "semver": "5.5.0", "tar": "4.4.1" @@ -5500,12 +5456,12 @@ "optional": true }, "rc": { - "version": "1.2.6", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "deep-extend": "0.4.2", + "deep-extend": "0.5.1", "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" @@ -5676,32 +5632,16 @@ } }, "gcs-resumable-upload": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.9.0.tgz", - "integrity": "sha512-+Zrmr0JKO2y/2mg953TW6JLu+NAMHqQsKzqCm7CIT24gMQakolPJCMzDleVpVjXAqB7ZCD276tcUq2ebOfqTug==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.10.2.tgz", + "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "buffer-equal": "1.0.0", "configstore": "3.1.2", - "google-auto-auth": "0.9.7", - "pumpify": "1.5.0", - "request": "2.85.0", - "stream-events": "1.0.4", - "through2": "2.0.3" - }, - "dependencies": { - "google-auto-auth": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.9.7.tgz", - "integrity": "sha512-Nro7aIFrL2NP0G7PoGrJqXGMZj8AjdBOcbZXRRm/8T3w08NUHIiNN3dxpuUYzDsZizslH+c8e+7HXL8vh3JXTQ==", - "dev": true, - "requires": { - "async": "2.6.0", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.4.0", - "request": "2.85.0" - } - } + "google-auto-auth": "0.10.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "stream-events": "1.0.4" } }, "get-caller-file": { @@ -5836,7 +5776,7 @@ "requires": { "array-union": "1.0.2", "dir-glob": "2.0.0", - "fast-glob": "2.2.1", + "fast-glob": "2.2.2", "glob": "7.1.2", "ignore": "3.3.8", "pify": "3.0.0", @@ -5844,16 +5784,16 @@ } }, "google-auth-library": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.4.0.tgz", - "integrity": "sha512-vWRx6pJulK7Y5V/Xyr7MPMlx2mWfmrUVbcffZ7hpq8ElFg5S8WY6PvjMovdcr6JfuAwwpAX4R0I1XOcyWuBcUw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.5.0.tgz", + "integrity": "sha512-xpibA/hkq4waBcpIkSJg4GiDAqcBWjJee3c47zj7xP3RQ0A9mc8MP3Vc9sc8SGRoDYA0OszZxTjW7SbcC4pJIA==", "requires": { "axios": "0.18.0", "gcp-metadata": "0.6.3", "gtoken": "2.3.0", - "jws": "3.1.4", + "jws": "3.1.5", "lodash.isstring": "4.0.1", - "lru-cache": "4.1.2", + "lru-cache": "4.1.3", "retry-axios": "0.3.2" } }, @@ -5862,10 +5802,10 @@ "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz", "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "requires": { - "async": "2.6.0", + "async": "2.6.1", "gcp-metadata": "0.6.3", - "google-auth-library": "1.4.0", - "request": "2.85.0" + "google-auth-library": "1.5.0", + "request": "2.87.0" } }, "google-gax": { @@ -5968,9 +5908,9 @@ "dev": true }, "growl": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, "grpc": { @@ -5981,7 +5921,7 @@ "lodash": "4.17.10", "nan": "2.10.0", "node-pre-gyp": "0.10.0", - "protobufjs": "5.0.2" + "protobufjs": "5.0.3" }, "dependencies": { "abbrev": { @@ -6272,9 +6212,9 @@ "bundled": true }, "protobufjs": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.2.tgz", - "integrity": "sha1-WXSNfc8D0tsiwT2p/rAk4Wq4DJE=", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", + "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { "ascli": "1.0.1", "bytebuffer": "5.0.1", @@ -6406,7 +6346,7 @@ "requires": { "axios": "0.18.0", "google-p12-pem": "1.0.2", - "jws": "3.1.4", + "jws": "3.1.5", "mime": "2.3.1", "pify": "3.0.0" } @@ -6534,28 +6474,12 @@ "through2": "2.0.3" } }, - "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", - "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" - } - }, "he": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", "dev": true }, - "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" - }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -6579,7 +6503,7 @@ "dev": true, "requires": { "domelementtype": "1.3.0", - "domhandler": "2.4.1", + "domhandler": "2.4.2", "domutils": "1.7.0", "entities": "1.1.1", "inherits": "2.0.3", @@ -6625,9 +6549,9 @@ } }, "iconv-lite": { - "version": "0.4.22", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.22.tgz", - "integrity": "sha512-1AinFBeDTnsvVEP+V1QBlHpM1UZZl7gWB6fcz7B1Ho+LI1dUh2sSrxoCfVt2PinRHzXAziSniEV3P7JbTDHcXA==", + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { "safer-buffer": "2.1.2" @@ -7310,23 +7234,21 @@ "dev": true }, "jwa": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz", - "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz", + "integrity": "sha512-tBO/cf++BUsJkYql/kBbJroKOgHWEigTKBAjjBEmrMGYd1QMBC74Hr4Wo2zCZw6ZrVhlJPvoMrkcOnlWR/DJfw==", "requires": { - "base64url": "2.0.0", "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.9", + "ecdsa-sig-formatter": "1.0.10", "safe-buffer": "5.1.2" } }, "jws": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz", - "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", + "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "base64url": "2.0.0", - "jwa": "1.1.5", + "jwa": "1.1.6", "safe-buffer": "5.1.2" } }, @@ -7514,9 +7436,9 @@ "dev": true }, "lolex": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz", - "integrity": "sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.6.0.tgz", + "integrity": "sha512-e1UtIo1pbrIqEXib/yMjHciyqkng5lc0rrIbytgjmRgDR9+2ceNIAcwOWSgylRjoEP9VdVguCSRwnNmlbnOUwA==", "dev": true }, "long": { @@ -7556,18 +7478,18 @@ "dev": true }, "lru-cache": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", - "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" } }, "make-dir": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", - "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { "pify": "3.0.0" @@ -7607,6 +7529,12 @@ "escape-string-regexp": "1.0.5" } }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, "md5-hex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", @@ -7876,33 +7804,22 @@ } }, "mocha": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.1.1.tgz", - "integrity": "sha512-kKKs/H1KrMMQIEsWNxGmb4/BGsmj0dkeyotEvbrAuQ01FcWRLssUNXCEUZk6SZtyJBi6EE7SL0zDDtItw1rGhw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", "dev": true, "requires": { "browser-stdout": "1.3.1", - "commander": "2.11.0", + "commander": "2.15.1", "debug": "3.1.0", "diff": "3.5.0", "escape-string-regexp": "1.0.5", "glob": "7.1.2", - "growl": "1.10.3", + "growl": "1.10.5", "he": "1.1.1", "minimatch": "3.0.4", "mkdirp": "0.5.1", - "supports-color": "4.4.0" - }, - "dependencies": { - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } + "supports-color": "5.4.0" } }, "modelo": { @@ -8010,7 +7927,7 @@ "requires": { "@sinonjs/formatio": "2.0.0", "just-extend": "1.1.27", - "lolex": "2.3.2", + "lolex": "2.6.0", "path-to-regexp": "1.7.0", "text-encoding": "0.6.4" } @@ -8081,9 +7998,9 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nyc": { - "version": "11.7.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.7.1.tgz", - "integrity": "sha512-EGePURSKUEpS1jWnEKAMhY+GWZzi7JC+f8iBDOATaOsLZW5hM/9eYx2dHGaEXa1ITvMm44CJugMksvP3NwMQMw==", + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.8.0.tgz", + "integrity": "sha512-PUFq1PSsx5OinSk5g5aaZygcDdI3QQT5XUlbR9QRMihtMS6w0Gm8xj4BxmKeeAlpQXC5M2DIhH16Y+KejceivQ==", "dev": true, "requires": { "archy": "1.0.0", @@ -8104,7 +8021,7 @@ "istanbul-reports": "1.4.0", "md5-hex": "1.3.0", "merge-source-map": "1.1.0", - "micromatch": "2.3.11", + "micromatch": "3.1.10", "mkdirp": "0.5.1", "resolve-from": "2.0.0", "rimraf": "2.6.2", @@ -8154,12 +8071,9 @@ "dev": true }, "arr-diff": { - "version": "2.0.0", + "version": "4.0.0", "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } + "dev": true }, "arr-flatten": { "version": "1.1.0", @@ -8172,7 +8086,7 @@ "dev": true }, "array-unique": { - "version": "0.2.1", + "version": "0.3.2", "bundled": true, "dev": true }, @@ -8192,7 +8106,7 @@ "dev": true }, "atob": { - "version": "2.1.0", + "version": "2.1.1", "bundled": true, "dev": true }, @@ -8216,7 +8130,7 @@ "babel-types": "6.26.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", - "lodash": "4.17.5", + "lodash": "4.17.10", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -8234,7 +8148,7 @@ "bundled": true, "dev": true, "requires": { - "core-js": "2.5.5", + "core-js": "2.5.6", "regenerator-runtime": "0.11.1" } }, @@ -8247,7 +8161,7 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "babel-traverse": { @@ -8263,7 +8177,7 @@ "debug": "2.6.9", "globals": "9.18.0", "invariant": "2.2.4", - "lodash": "4.17.5" + "lodash": "4.17.10" } }, "babel-types": { @@ -8273,7 +8187,7 @@ "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", - "lodash": "4.17.5", + "lodash": "4.17.10", "to-fast-properties": "1.0.3" } }, @@ -8357,13 +8271,30 @@ } }, "braces": { - "version": "1.8.5", + "version": "2.3.2", "bundled": true, "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } } }, "builtin-modules": { @@ -8517,7 +8448,7 @@ "dev": true }, "core-js": { - "version": "2.5.5", + "version": "2.5.6", "bundled": true, "dev": true }, @@ -8526,7 +8457,7 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.2", + "lru-cache": "4.1.3", "which": "1.3.0" } }, @@ -8653,7 +8584,7 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.2", + "lru-cache": "4.1.3", "shebang-command": "1.2.0", "which": "1.3.0" } @@ -8661,19 +8592,35 @@ } }, "expand-brackets": { - "version": "0.1.5", + "version": "2.1.4", "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "bundled": true, - "dev": true, - "requires": { - "fill-range": "2.2.3" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } } }, "extend-shallow": { @@ -8696,28 +8643,88 @@ } }, "extglob": { - "version": "0.3.2", + "version": "2.0.4", "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } } }, - "filename-regex": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, "fill-range": { - "version": "2.2.3", + "version": "4.0.0", "bundled": true, "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } } }, "find-cache-dir": { @@ -8743,14 +8750,6 @@ "bundled": true, "dev": true }, - "for-own": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, "foreground-child": { "version": "1.5.6", "bundled": true, @@ -8801,23 +8800,6 @@ "path-is-absolute": "1.0.1" } }, - "glob-base": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, "globals": { "version": "9.18.0", "bundled": true, @@ -9004,29 +8986,11 @@ } } }, - "is-dotfile": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, "is-extendable": { "version": "0.1.1", "bundled": true, "dev": true }, - "is-extglob": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, "is-finite": { "version": "1.0.2", "bundled": true, @@ -9040,16 +9004,8 @@ "bundled": true, "dev": true }, - "is-glob": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, "is-number": { - "version": "2.1.0", + "version": "3.0.0", "bundled": true, "dev": true, "requires": { @@ -9086,16 +9042,6 @@ } } }, - "is-posix-bracket": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, "is-stream": { "version": "1.1.0", "bundled": true, @@ -9122,12 +9068,9 @@ "dev": true }, "isobject": { - "version": "2.1.0", + "version": "3.0.1", "bundled": true, - "dev": true, - "requires": { - "isarray": "1.0.0" - } + "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", @@ -9268,7 +9211,7 @@ } }, "lodash": { - "version": "4.17.5", + "version": "4.17.10", "bundled": true, "dev": true }, @@ -9286,7 +9229,7 @@ } }, "lru-cache": { - "version": "4.1.2", + "version": "4.1.3", "bundled": true, "dev": true, "requires": { @@ -9344,23 +9287,30 @@ } }, "micromatch": { - "version": "2.3.11", + "version": "3.1.10", "bundled": true, "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } } }, "mimic-fn": { @@ -9460,14 +9410,6 @@ "validate-npm-package-license": "3.0.3" } }, - "normalize-path": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, "npm-run-path": { "version": "2.0.2", "bundled": true, @@ -9521,15 +9463,6 @@ } } }, - "object.omit": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, "object.pick": { "version": "1.3.0", "bundled": true, @@ -9603,17 +9536,6 @@ "bundled": true, "dev": true }, - "parse-glob": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, "parse-json": { "version": "2.2.0", "bundled": true, @@ -9702,53 +9624,11 @@ "bundled": true, "dev": true }, - "preserve": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, "pseudomap": { "version": "1.0.2", "bundled": true, "dev": true }, - "randomatic": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, "read-pkg": { "version": "1.1.0", "bundled": true, @@ -9784,14 +9664,6 @@ "bundled": true, "dev": true }, - "regex-cache": { - "version": "0.4.4", - "bundled": true, - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, "regex-not": { "version": "1.0.2", "bundled": true, @@ -9801,11 +9673,6 @@ "safe-regex": "1.1.0" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, "repeat-element": { "version": "1.1.2", "bundled": true, @@ -10035,7 +9902,7 @@ "bundled": true, "dev": true, "requires": { - "atob": "2.1.0", + "atob": "2.1.1", "decode-uri-component": "0.2.0", "resolve-url": "0.2.1", "source-map-url": "0.4.0", @@ -10691,7 +10558,7 @@ "bundled": true, "dev": true, "requires": { - "cliui": "4.0.0", + "cliui": "4.1.0", "decamelize": "1.2.0", "find-up": "2.1.0", "get-caller-file": "1.0.2", @@ -10716,7 +10583,7 @@ "dev": true }, "cliui": { - "version": "4.0.0", + "version": "4.1.0", "bundled": true, "dev": true, "requires": { @@ -11279,7 +11146,7 @@ "acorn": "4.0.13", "acorn-es7-plugin": "1.1.7", "core-js": "2.5.6", - "espurify": "1.7.0", + "espurify": "1.8.0", "estraverse": "4.2.0" } }, @@ -11326,7 +11193,7 @@ "integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=", "requires": { "core-js": "2.5.6", - "diff-match-patch": "1.0.0", + "diff-match-patch": "1.0.1", "power-assert-renderer-base": "1.1.1", "stringifier": "1.3.0", "type-name": "2.0.2" @@ -11434,14 +11301,14 @@ "@protobufjs/pool": "1.1.0", "@protobufjs/utf8": "1.1.0", "@types/long": "3.0.32", - "@types/node": "8.10.12", + "@types/node": "8.10.17", "long": "4.0.0" }, "dependencies": { "@types/node": { - "version": "8.10.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.12.tgz", - "integrity": "sha512-aRFUGj/f9JVA0qSQiCK9ebaa778mmqMIcy1eKnPktgfm9O6VsnIzzB5wJnjp9/jVrfm7fX1rr3OR1nndppGZUg==" + "version": "8.10.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.17.tgz", + "integrity": "sha512-3N3FRd/rA1v5glXjb90YdYUa+sOB7WrkU2rAhKZnF4TKD86Cym9swtulGuH0p9nxo7fP5woRNa8b0oFTpCO1bg==" } } }, @@ -11472,9 +11339,9 @@ } }, "pumpify": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.0.tgz", - "integrity": "sha512-UWi0klDoq8xtVzlMRgENV9F7iCTZExaJQSQL187UXsxpk9NnrKGqTqqUNYAKGOzucSOxs2+jUnRNI+rLviPhJg==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { "duplexify": "3.6.0", @@ -11504,23 +11371,21 @@ } }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { - "kind-of": { + "is-number": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true } } }, @@ -11630,9 +11495,9 @@ } }, "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", "dev": true }, "regenerator-runtime": { @@ -11671,7 +11536,7 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.3.3", + "regenerate": "1.4.0", "regjsgen": "0.2.0", "regjsparser": "0.1.5" } @@ -11745,9 +11610,9 @@ } }, "request": { - "version": "2.85.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", - "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { "aws-sign2": "0.7.0", "aws4": "1.7.0", @@ -11757,7 +11622,6 @@ "forever-agent": "0.6.1", "form-data": "2.3.2", "har-validator": "5.0.3", - "hawk": "6.0.2", "http-signature": "1.2.0", "is-typedarray": "1.0.0", "isstream": "0.1.2", @@ -11767,7 +11631,6 @@ "performance-now": "2.1.0", "qs": "6.5.2", "safe-buffer": "5.1.2", - "stringstream": "0.0.5", "tough-cookie": "2.3.4", "tunnel-agent": "0.6.0", "uuid": "3.2.1" @@ -11886,7 +11749,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.1.tgz", "integrity": "sha512-PjAmtWIxjNj4Co/6FRtBl8afRP3CxrrIAnUzb1dzydfROd+6xt7xAebFeskgQgkfFf8NmzrXIoaB3HxmswXyxw==", "requires": { - "request": "2.85.0", + "request": "2.87.0", "through2": "2.0.3" } }, @@ -12060,7 +11923,7 @@ "@sinonjs/formatio": "2.0.0", "diff": "3.5.0", "lodash.get": "4.4.2", - "lolex": "2.3.2", + "lolex": "2.6.0", "nise": "1.3.3", "supports-color": "5.4.0", "type-detect": "4.0.8" @@ -12111,7 +11974,7 @@ "extend-shallow": "2.0.1", "map-cache": "0.2.2", "source-map": "0.5.7", - "source-map-resolve": "0.5.1", + "source-map-resolve": "0.5.2", "use": "3.1.0" }, "dependencies": { @@ -12205,14 +12068,6 @@ } } }, - "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", - "requires": { - "hoek": "4.2.1" - } - }, "sort-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", @@ -12228,9 +12083,9 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { "atob": "2.1.1", "decode-uri-component": "0.2.0", @@ -12240,9 +12095,9 @@ } }, "source-map-support": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.5.tgz", - "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { "buffer-from": "1.0.0", @@ -12425,11 +12280,6 @@ "type-name": "2.0.2" } }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -13197,7 +13047,7 @@ "requires": { "detect-indent": "5.0.0", "graceful-fs": "4.1.11", - "make-dir": "1.2.0", + "make-dir": "1.3.0", "pify": "3.0.0", "sort-keys": "2.0.0", "write-file-atomic": "2.3.0" From 81db3d1317104c798cc8f0651a70ba8f0f610a26 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 24 May 2018 05:34:02 -0700 Subject: [PATCH 147/588] chore: the ultimate fix for repo-tools EPERM (#67) This PR fixes the old `repo-tools: Permission denied` issue for those tasks where it still exists, and also simplifies CircleCI configuration a bit by using YaML references in cases where they are not used yet. This is an automated PR prepared using [github-repo-automation](https://github.com/googleapis/github-repo-automation). --- .../google-cloud-vision/.circleci/config.yml | 48 ++++++------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index d394fa2290e..b73f0b0f8b0 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -4,25 +4,17 @@ workflows: tests: jobs: &workflow_jobs - node4: - filters: + filters: &all_commits tags: only: /.*/ - node6: - filters: - tags: - only: /.*/ + filters: *all_commits - node8: - filters: - tags: - only: /.*/ + filters: *all_commits - node9: - filters: - tags: - only: /.*/ + filters: *all_commits - node10: - filters: - tags: - only: /.*/ + filters: *all_commits - lint: requires: - node4 @@ -30,9 +22,7 @@ workflows: - node8 - node9 - node10 - filters: - tags: - only: /.*/ + filters: *all_commits - docs: requires: - node4 @@ -40,27 +30,21 @@ workflows: - node8 - node9 - node10 - filters: - tags: - only: /.*/ + filters: *all_commits - system_tests: requires: - lint - docs - filters: + filters: &master_and_releases branches: only: master - tags: + tags: &releases only: '/^v[\d.]+$/' - sample_tests: requires: - lint - docs - filters: - branches: - only: master - tags: - only: '/^v[\d.]+$/' + filters: *master_and_releases - publish_npm: requires: - system_tests @@ -68,8 +52,7 @@ workflows: filters: branches: ignore: /.*/ - tags: - only: '/^v[\d.]+$/' + tags: *releases nightly: triggers: - schedule: @@ -97,15 +80,12 @@ jobs: echo "Not a nightly build, skipping this step." fi - run: &npm_install_and_link - name: Install and link the module. - command: | + name: Install and link the module + command: |- mkdir -p /home/node/.npm-global npm install - repo_tools="node_modules/@google-cloud/nodejs-repo-tools/bin/tools" - if ! test -x "$repo_tools"; then - chmod +x "$repo_tools" - fi npm link + chmod +x node_modules/@google-cloud/nodejs-repo-tools/bin/tools environment: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: From 0463c08201474047a87c7f00b302ec3ad83ea8ad Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Tue, 12 Jun 2018 14:27:17 -0700 Subject: [PATCH 148/588] docs: fix code examples to accept request instead of image object (#74) --- packages/google-cloud-vision/src/helpers.js | 184 ++++++++++++++------ 1 file changed, 128 insertions(+), 56 deletions(-) diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index dfc1adf2719..186fa57f405 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -407,14 +407,23 @@ module.exports = apiVersion => { * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.logoDetection(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .logoDetection(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ methods.logoDetection = promisify( _createSingleFeatureMethod(features.LOGO_DETECTION) @@ -455,14 +464,23 @@ module.exports = apiVersion => { * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.labelDetection(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .labelDetection(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ methods.labelDetection = promisify( _createSingleFeatureMethod(features.LABEL_DETECTION) @@ -503,14 +521,23 @@ module.exports = apiVersion => { * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.textDetection(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .textDetection(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ methods.textDetection = promisify( _createSingleFeatureMethod(features.TEXT_DETECTION) @@ -551,14 +578,23 @@ module.exports = apiVersion => { * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.documentTextDetection(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .documentTextDetection(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ methods.documentTextDetection = promisify( _createSingleFeatureMethod(features.DOCUMENT_TEXT_DETECTION) @@ -599,14 +635,23 @@ module.exports = apiVersion => { * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.safeSearchDetection(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .safeSearchDetection(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ methods.safeSearchDetection = promisify( _createSingleFeatureMethod(features.SAFE_SEARCH_DETECTION) @@ -647,14 +692,23 @@ module.exports = apiVersion => { * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.imageProperties(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .imageProperties(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ methods.imageProperties = promisify( _createSingleFeatureMethod(features.IMAGE_PROPERTIES) @@ -695,14 +749,23 @@ module.exports = apiVersion => { * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.cropHints(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .cropHints(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ methods.cropHints = promisify( _createSingleFeatureMethod(features.CROP_HINTS) @@ -743,14 +806,23 @@ module.exports = apiVersion => { * call. * * @example - * var image = { - * source: {imageUri: 'gs://path/to/image.jpg'} + * const vision = require('@google-cloud/vision'); + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } * }; - * vision.webDetection(image).then(response => { - * // doThingsWith(response); - * }).catch(err => { - * console.error(err); - * }); + * + * client + * .webDetection(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); */ methods.webDetection = promisify( _createSingleFeatureMethod(features.WEB_DETECTION) From 18814012bd1f63bb121de37144ec583d0f71a217 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Fri, 15 Jun 2018 10:37:04 -0700 Subject: [PATCH 149/588] codegen: synth.py script and regenerate v1 (#78) --- packages/google-cloud-vision/CONTRIBUTORS | 5 +- .../google-cloud-vision/package-lock.json | 4772 ++++++++--------- packages/google-cloud-vision/package.json | 5 +- .../google/cloud/vision/v1/geometry.proto | 14 + .../cloud/vision/v1/image_annotator.proto | 169 +- .../cloud/vision/v1/text_annotation.proto | 6 +- .../google/cloud/vision/v1/doc_geometry.js | 24 + .../cloud/vision/v1/doc_image_annotator.js | 282 +- .../cloud/vision/v1/doc_text_annotation.js | 6 +- .../doc/google/longrunning/doc_operations.js | 147 + .../src/v1/image_annotator_client.js | 153 +- .../src/v1/image_annotator_client_config.json | 5 + packages/google-cloud-vision/synth.py | 45 + packages/google-cloud-vision/test/gapic-v1.js | 106 + 14 files changed, 3339 insertions(+), 2400 deletions(-) create mode 100644 packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js create mode 100644 packages/google-cloud-vision/synth.py diff --git a/packages/google-cloud-vision/CONTRIBUTORS b/packages/google-cloud-vision/CONTRIBUTORS index 1ec6fdb8a69..3d08a55937e 100644 --- a/packages/google-cloud-vision/CONTRIBUTORS +++ b/packages/google-cloud-vision/CONTRIBUTORS @@ -10,9 +10,12 @@ Dave Gramlich Ernest Landrito Gus Class Jason Dobry +Jonathan Lui Jun Mukai +Kelvin Jin Luke Sneeringer -Rebecca Taylor +Rebecca Taylor +Shahin Song Wang Stephen Sawchuk Tim Swast diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 0ffbbdfecea..226305ff772 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "package-hash": "1.2.0" + "babel-plugin-check-es2015-constants": "^6.8.0", + "babel-plugin-syntax-trailing-function-commas": "^6.20.0", + "babel-plugin-transform-async-to-generator": "^6.16.0", + "babel-plugin-transform-es2015-destructuring": "^6.19.0", + "babel-plugin-transform-es2015-function-name": "^6.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", + "babel-plugin-transform-es2015-parameters": "^6.21.0", + "babel-plugin-transform-es2015-spread": "^6.8.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", + "babel-plugin-transform-exponentiation-operator": "^6.8.0", + "package-hash": "^1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "1.3.0" + "md5-hex": "^1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.4.0" + "@ava/babel-plugin-throws-helper": "^2.0.0", + "babel-plugin-espower": "^2.3.2" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "@concordance/react": { @@ -77,7 +77,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "1.0.1" + "arrify": "^1.0.1" } }, "@google-cloud/common": { @@ -85,20 +85,20 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.9.tgz", "integrity": "sha512-P5jtyfOCF84fzVcT/36XKARRrbCOqozYBliDd7btQ96GuEqKzjPVjxeE4EzdeRQ8QChBpHLrbONsU63Jprw73A==", "requires": { - "@types/duplexify": "3.5.0", - "@types/request": "2.47.0", - "arrify": "1.0.1", - "axios": "0.18.0", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auth-library": "1.5.0", - "is": "3.2.1", - "pify": "3.0.0", - "request": "2.87.0", - "retry-request": "3.3.1", - "split-array-stream": "2.0.0", - "stream-events": "1.0.4" + "@types/duplexify": "^3.5.0", + "@types/request": "^2.47.0", + "arrify": "^1.0.1", + "axios": "^0.18.0", + "duplexify": "^3.5.4", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auth-library": "^1.4.0", + "is": "^3.2.1", + "pify": "^3.0.0", + "request": "^2.85.0", + "retry-request": "^3.3.1", + "split-array-stream": "^2.0.0", + "stream-events": "^1.0.4" } }, "@google-cloud/nodejs-repo-tools": { @@ -115,7 +115,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "5.5.0", + "semver": "^5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -135,9 +135,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -158,33 +158,33 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "md5-hex": "1.3.0", - "merge-source-map": "1.0.4", - "micromatch": "2.3.11", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.1.1", - "yargs": "10.0.3", - "yargs-parser": "8.0.0" + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.3.0", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.1", + "istanbul-lib-report": "^1.1.2", + "istanbul-lib-source-maps": "^1.2.2", + "istanbul-reports": "^1.1.3", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.0.2", + "micromatch": "^2.3.11", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.5.4", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.1.1", + "yargs": "^10.0.3", + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -192,9 +192,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -217,7 +217,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -230,7 +230,7 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -258,9 +258,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { @@ -268,14 +268,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.6", + "trim-right": "^1.0.1" } }, "babel-messages": { @@ -283,7 +283,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -291,8 +291,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -300,11 +300,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -312,15 +312,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -328,10 +328,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -349,7 +349,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -358,9 +358,9 @@ "bundled": true, "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "builtin-modules": { @@ -373,9 +373,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -390,8 +390,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -399,11 +399,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "cliui": { @@ -412,8 +412,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -455,8 +455,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -482,7 +482,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "detect-indent": { @@ -490,7 +490,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { @@ -498,7 +498,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { @@ -516,13 +516,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -530,9 +530,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -542,7 +542,7 @@ "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -550,7 +550,7 @@ "bundled": true, "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "extglob": { @@ -558,7 +558,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "filename-regex": { @@ -571,11 +571,11 @@ "bundled": true, "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-cache-dir": { @@ -583,9 +583,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -593,7 +593,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -606,7 +606,7 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreground-child": { @@ -614,8 +614,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fs.realpath": { @@ -638,12 +638,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -651,8 +651,8 @@ "bundled": true, "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -660,7 +660,7 @@ "bundled": true, "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { @@ -678,10 +678,10 @@ "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -689,7 +689,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -699,7 +699,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -722,8 +722,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -736,7 +736,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -759,7 +759,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-dotfile": { @@ -772,7 +772,7 @@ "bundled": true, "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -790,7 +790,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -798,7 +798,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -806,7 +806,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -814,7 +814,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { @@ -865,7 +865,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -873,13 +873,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -887,10 +887,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { @@ -898,7 +898,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -908,11 +908,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -930,7 +930,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { @@ -948,7 +948,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -962,7 +962,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -970,11 +970,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -982,8 +982,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -1008,7 +1008,7 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { @@ -1016,8 +1016,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "md5-hex": { @@ -1025,7 +1025,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -1038,7 +1038,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -1046,7 +1046,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { @@ -1054,19 +1054,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mimic-fn": { @@ -1079,7 +1079,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -1105,10 +1105,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -1116,7 +1116,7 @@ "bundled": true, "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -1124,7 +1124,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -1142,8 +1142,8 @@ "bundled": true, "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "once": { @@ -1151,7 +1151,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -1159,8 +1159,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -1173,9 +1173,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -1193,7 +1193,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "parse-glob": { @@ -1201,10 +1201,10 @@ "bundled": true, "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -1212,7 +1212,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "path-exists": { @@ -1220,7 +1220,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -1243,9 +1243,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -1263,7 +1263,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -1271,7 +1271,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -1279,8 +1279,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1300,8 +1300,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -1309,7 +1309,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -1317,7 +1317,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1327,7 +1327,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1337,9 +1337,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -1347,8 +1347,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -1356,8 +1356,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1372,7 +1372,7 @@ "bundled": true, "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { @@ -1395,7 +1395,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { @@ -1419,7 +1419,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -1427,7 +1427,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "semver": { @@ -1445,7 +1445,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -1473,12 +1473,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -1486,7 +1486,7 @@ "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -1504,8 +1504,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -1523,7 +1523,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -1533,7 +1533,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -1541,7 +1541,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -1559,11 +1559,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-fast-properties": { @@ -1582,9 +1582,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -1593,9 +1593,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -1612,8 +1612,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "which": { @@ -1621,7 +1621,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -1645,8 +1645,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "string-width": { @@ -1654,9 +1654,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1671,9 +1671,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -1691,18 +1691,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "8.0.0" + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^8.0.0" }, "dependencies": { "cliui": { @@ -1710,9 +1710,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -1720,9 +1720,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1734,7 +1734,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -1752,9 +1752,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "sinon": { @@ -1763,13 +1763,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.6.0", - "nise": "1.3.3", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.1.0", + "lodash.get": "^4.4.2", + "lolex": "^2.2.0", + "nise": "^1.2.0", + "supports-color": "^5.1.0", + "type-detect": "^4.0.5" } }, "string-width": { @@ -1778,8 +1778,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -1788,7 +1788,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -1797,18 +1797,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } } } @@ -1819,27 +1819,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "0.17.0", - "arrify": "1.0.1", - "async": "2.6.1", - "compressible": "2.0.13", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "extend": "3.0.1", - "gcs-resumable-upload": "0.10.2", - "hash-stream-validation": "0.2.1", - "is": "3.2.1", - "mime": "2.3.1", - "mime-types": "2.1.18", - "once": "1.4.0", - "pumpify": "1.5.1", - "request": "2.87.0", - "safe-buffer": "5.1.2", - "snakeize": "0.1.0", - "stream-events": "1.0.4", - "through2": "2.0.3", - "xdg-basedir": "3.0.0" + "@google-cloud/common": "^0.17.0", + "arrify": "^1.0.0", + "async": "^2.0.1", + "compressible": "^2.0.12", + "concat-stream": "^1.5.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "extend": "^3.0.0", + "gcs-resumable-upload": "^0.10.2", + "hash-stream-validation": "^0.2.1", + "is": "^3.0.1", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "once": "^1.3.1", + "pumpify": "^1.5.1", + "request": "^2.85.0", + "safe-buffer": "^5.1.1", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -1848,24 +1848,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auto-auth": "0.10.1", - "is": "3.2.1", + "array-uniq": "^1.0.3", + "arrify": "^1.0.1", + "concat-stream": "^1.6.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auto-auth": "^0.10.0", + "is": "^3.2.0", "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.87.0", - "retry-request": "3.3.1", - "split-array-stream": "1.0.3", - "stream-events": "1.0.4", - "string-format-obj": "1.1.1", - "through2": "2.0.3" + "methmeth": "^1.1.0", + "modelo": "^4.2.0", + "request": "^2.79.0", + "retry-request": "^3.0.0", + "split-array-stream": "^1.0.0", + "stream-events": "^1.0.1", + "string-format-obj": "^1.1.0", + "through2": "^2.0.3" } }, "split-array-stream": { @@ -1874,8 +1874,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "2.6.1", - "is-stream-ended": "0.1.4" + "async": "^2.4.0", + "is-stream-ended": "^0.1.0" } } } @@ -1886,10 +1886,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "0.4.0", - "date-time": "0.1.1", - "pretty-ms": "0.2.2", - "text-table": "0.2.0" + "chalk": "^0.4.0", + "date-time": "^0.1.1", + "pretty-ms": "^0.2.1", + "text-table": "^0.2.0" }, "dependencies": { "ansi-styles": { @@ -1904,9 +1904,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "pretty-ms": { @@ -1915,7 +1915,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "0.1.2" + "parse-ms": "^0.1.0" } }, "strip-ansi": { @@ -1931,8 +1931,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, "@nodelib/fs.stat": { @@ -1965,8 +1965,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/inquire": "1.1.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, "@protobufjs/float": { @@ -2019,7 +2019,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "10.1.2" + "@types/node": "*" } }, "@types/form-data": { @@ -2027,7 +2027,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "10.1.2" + "@types/node": "*" } }, "@types/long": { @@ -2045,10 +2045,10 @@ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.0.tgz", "integrity": "sha512-/KXM5oev+nNCLIgBjkwbk8VqxmzI56woD4VUxn95O+YeQ8hJzcSmIZ1IN3WexiqBb6srzDo2bdMbsXxgXNkz5Q==", "requires": { - "@types/caseless": "0.12.1", - "@types/form-data": "2.2.1", - "@types/node": "10.1.2", - "@types/tough-cookie": "2.3.3" + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" } }, "@types/tough-cookie": { @@ -2072,7 +2072,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -2088,10 +2088,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -2106,9 +2106,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" }, "dependencies": { "kind-of": { @@ -2117,7 +2117,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2134,7 +2134,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2155,8 +2155,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2165,7 +2165,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2187,7 +2187,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -2196,8 +2196,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" }, "dependencies": { "arr-diff": { @@ -2206,7 +2206,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -2221,9 +2221,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "expand-brackets": { @@ -2232,7 +2232,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "extglob": { @@ -2241,7 +2241,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-extglob": { @@ -2256,7 +2256,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "kind-of": { @@ -2265,7 +2265,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -2274,19 +2274,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } } } @@ -2297,7 +2297,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "argv": { @@ -2355,7 +2355,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -2378,8 +2378,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" + "colour": "~0.7.1", + "optjs": "~3.2.2" } }, "asn1": { @@ -2402,7 +2402,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "async-each": { @@ -2433,89 +2433,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "1.1.0", - "@ava/babel-preset-transform-test-files": "3.0.0", - "@ava/write-file-atomic": "2.2.0", - "@concordance/react": "1.0.0", - "@ladjs/time-require": "0.1.4", - "ansi-escapes": "3.1.0", - "ansi-styles": "3.2.1", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.2.0", - "ava-init": "0.2.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.4.1", - "chokidar": "1.7.0", - "clean-stack": "1.3.0", - "clean-yaml-object": "0.1.0", - "cli-cursor": "2.1.0", - "cli-spinners": "1.3.1", - "cli-truncate": "1.1.0", - "co-with-promise": "4.6.0", - "code-excerpt": "2.1.1", - "common-path-prefix": "1.0.0", - "concordance": "3.0.0", - "convert-source-map": "1.5.1", - "core-assert": "0.2.1", - "currently-unhandled": "0.4.1", - "debug": "3.1.0", - "dot-prop": "4.2.0", - "empower-core": "0.6.2", - "equal-length": "1.0.1", - "figures": "2.0.0", - "find-cache-dir": "1.0.0", - "fn-name": "2.0.1", - "get-port": "3.2.0", - "globby": "6.1.0", - "has-flag": "2.0.0", - "hullabaloo-config-manager": "1.1.1", - "ignore-by-default": "1.0.1", - "import-local": "0.1.1", - "indent-string": "3.2.0", - "is-ci": "1.1.0", - "is-generator-fn": "1.0.0", - "is-obj": "1.0.1", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "last-line-stream": "1.0.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.debounce": "4.0.8", - "lodash.difference": "4.5.0", - "lodash.flatten": "4.4.0", - "loud-rejection": "1.6.0", - "make-dir": "1.3.0", - "matcher": "1.1.0", - "md5-hex": "2.0.0", - "meow": "3.7.0", - "ms": "2.0.0", - "multimatch": "2.1.0", - "observable-to-promise": "0.5.0", - "option-chain": "1.0.0", - "package-hash": "2.0.0", - "pkg-conf": "2.1.0", - "plur": "2.1.2", - "pretty-ms": "3.1.0", - "require-precompiled": "0.1.0", - "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.2", - "semver": "5.5.0", - "slash": "1.0.0", - "source-map-support": "0.5.6", - "stack-utils": "1.0.1", - "strip-ansi": "4.0.0", - "strip-bom-buf": "1.0.0", - "supertap": "1.0.0", - "supports-color": "5.4.0", - "trim-off-newlines": "1.0.1", - "unique-temp-dir": "1.0.0", - "update-notifier": "2.5.0" + "@ava/babel-preset-stage-4": "^1.1.0", + "@ava/babel-preset-transform-test-files": "^3.0.0", + "@ava/write-file-atomic": "^2.2.0", + "@concordance/react": "^1.0.0", + "@ladjs/time-require": "^0.1.4", + "ansi-escapes": "^3.0.0", + "ansi-styles": "^3.1.0", + "arr-flatten": "^1.0.1", + "array-union": "^1.0.1", + "array-uniq": "^1.0.2", + "arrify": "^1.0.0", + "auto-bind": "^1.1.0", + "ava-init": "^0.2.0", + "babel-core": "^6.17.0", + "babel-generator": "^6.26.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "bluebird": "^3.0.0", + "caching-transform": "^1.0.0", + "chalk": "^2.0.1", + "chokidar": "^1.4.2", + "clean-stack": "^1.1.1", + "clean-yaml-object": "^0.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.0", + "cli-truncate": "^1.0.0", + "co-with-promise": "^4.6.0", + "code-excerpt": "^2.1.1", + "common-path-prefix": "^1.0.0", + "concordance": "^3.0.0", + "convert-source-map": "^1.5.1", + "core-assert": "^0.2.0", + "currently-unhandled": "^0.4.1", + "debug": "^3.0.1", + "dot-prop": "^4.1.0", + "empower-core": "^0.6.1", + "equal-length": "^1.0.0", + "figures": "^2.0.0", + "find-cache-dir": "^1.0.0", + "fn-name": "^2.0.0", + "get-port": "^3.0.0", + "globby": "^6.0.0", + "has-flag": "^2.0.0", + "hullabaloo-config-manager": "^1.1.0", + "ignore-by-default": "^1.0.0", + "import-local": "^0.1.1", + "indent-string": "^3.0.0", + "is-ci": "^1.0.7", + "is-generator-fn": "^1.0.0", + "is-obj": "^1.0.0", + "is-observable": "^1.0.0", + "is-promise": "^2.1.0", + "last-line-stream": "^1.0.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.debounce": "^4.0.3", + "lodash.difference": "^4.3.0", + "lodash.flatten": "^4.2.0", + "loud-rejection": "^1.2.0", + "make-dir": "^1.0.0", + "matcher": "^1.0.0", + "md5-hex": "^2.0.0", + "meow": "^3.7.0", + "ms": "^2.0.0", + "multimatch": "^2.1.0", + "observable-to-promise": "^0.5.0", + "option-chain": "^1.0.0", + "package-hash": "^2.0.0", + "pkg-conf": "^2.0.0", + "plur": "^2.0.0", + "pretty-ms": "^3.0.0", + "require-precompiled": "^0.1.0", + "resolve-cwd": "^2.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.4.1", + "slash": "^1.0.0", + "source-map-support": "^0.5.0", + "stack-utils": "^1.0.1", + "strip-ansi": "^4.0.0", + "strip-bom-buf": "^1.0.0", + "supertap": "^1.0.0", + "supports-color": "^5.0.0", + "trim-off-newlines": "^1.0.1", + "unique-temp-dir": "^1.0.0", + "update-notifier": "^2.3.0" }, "dependencies": { "ansi-regex": { @@ -2530,11 +2530,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -2555,7 +2555,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "strip-ansi": { @@ -2564,7 +2564,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2575,11 +2575,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "1.0.0", - "execa": "0.7.0", - "has-yarn": "1.0.0", - "read-pkg-up": "2.0.0", - "write-pkg": "3.1.0" + "arr-exclude": "^1.0.0", + "execa": "^0.7.0", + "has-yarn": "^1.0.0", + "read-pkg-up": "^2.0.0", + "write-pkg": "^3.1.0" } }, "aws-sign2": { @@ -2597,8 +2597,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "1.5.0", - "is-buffer": "1.1.6" + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" } }, "babel-code-frame": { @@ -2607,9 +2607,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -2624,11 +2624,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -2645,25 +2645,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" }, "dependencies": { "debug": { @@ -2683,14 +2683,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -2707,9 +2707,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-call-delegate": { @@ -2718,10 +2718,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-explode-assignable-expression": { @@ -2730,9 +2730,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -2741,11 +2741,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -2754,8 +2754,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -2764,8 +2764,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -2774,9 +2774,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -2785,11 +2785,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -2798,8 +2798,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-messages": { @@ -2808,7 +2808,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -2817,7 +2817,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-espower": { @@ -2826,13 +2826,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babylon": "6.18.0", - "call-matcher": "1.0.1", - "core-js": "2.5.6", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "babel-generator": "^6.1.0", + "babylon": "^6.1.0", + "call-matcher": "^1.0.0", + "core-js": "^2.0.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.1.1" } }, "babel-plugin-syntax-async-functions": { @@ -2865,9 +2865,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -2876,7 +2876,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -2885,9 +2885,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -2896,10 +2896,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -2908,12 +2908,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -2922,7 +2922,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -2931,9 +2931,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -2942,9 +2942,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -2953,9 +2953,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -2964,8 +2964,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-register": { @@ -2974,13 +2974,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.6", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "source-map-support": { @@ -2989,7 +2989,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -3000,8 +3000,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.6", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -3010,11 +3010,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3023,15 +3023,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { "debug": { @@ -3051,10 +3051,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3073,13 +3073,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -3087,7 +3087,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3095,7 +3095,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3103,7 +3103,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3111,9 +3111,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -3124,7 +3124,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -3145,13 +3145,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3178,8 +3178,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3188,7 +3188,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3198,7 +3198,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -3207,16 +3207,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -3224,7 +3224,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -3263,7 +3263,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "3.2.0" + "long": "~3" }, "dependencies": { "long": { @@ -3278,15 +3278,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "cacheable-request": { @@ -3318,9 +3318,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" }, "dependencies": { "md5-hex": { @@ -3329,7 +3329,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "write-file-atomic": { @@ -3338,9 +3338,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } } } @@ -3351,10 +3351,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.5.6", - "deep-equal": "1.0.1", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.0.0" } }, "call-me-maybe": { @@ -3373,7 +3373,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -3393,8 +3393,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "capture-stack-trace": { @@ -3414,7 +3414,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "center-align": { @@ -3424,8 +3424,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -3434,9 +3434,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -3451,15 +3451,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.2.4", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -3468,7 +3468,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -3483,7 +3483,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -3505,10 +3505,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -3516,7 +3516,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -3545,7 +3545,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -3560,8 +3560,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3582,8 +3582,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3592,7 +3592,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3608,9 +3608,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "clone-response": { @@ -3619,7 +3619,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "co": { @@ -3633,7 +3633,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "1.0.0" + "pinkie-promise": "^1.0.0" } }, "code-excerpt": { @@ -3642,7 +3642,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "1.0.2" + "convert-to-spaces": "^1.0.1" } }, "code-point-at": { @@ -3657,7 +3657,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "2.87.0", + "request": "^2.81.0", "urlgrey": "0.4.4" } }, @@ -3666,8 +3666,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -3676,7 +3676,7 @@ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -3701,7 +3701,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -3733,7 +3733,7 @@ "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", "dev": true, "requires": { - "mime-db": "1.33.0" + "mime-db": ">= 1.33.0 < 2" } }, "concat-map": { @@ -3747,10 +3747,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "concordance": { @@ -3759,17 +3759,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "2.1.0", - "esutils": "2.0.2", - "fast-diff": "1.1.2", - "function-name-support": "0.2.0", - "js-string-escape": "1.0.1", - "lodash.clonedeep": "4.5.0", - "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "semver": "5.5.0", - "well-known-symbols": "1.0.0" + "date-time": "^2.1.0", + "esutils": "^2.0.2", + "fast-diff": "^1.1.1", + "function-name-support": "^0.2.0", + "js-string-escape": "^1.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.flattendeep": "^4.4.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "semver": "^5.3.0", + "well-known-symbols": "^1.0.0" }, "dependencies": { "date-time": { @@ -3778,7 +3778,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "1.0.0" + "time-zone": "^1.0.0" } } } @@ -3789,12 +3789,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "convert-source-map": { @@ -3826,8 +3826,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "1.0.1", - "is-error": "2.2.1" + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" } }, "core-js": { @@ -3846,7 +3846,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { @@ -3855,9 +3855,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "crypto-random-string": { @@ -3872,7 +3872,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -3881,7 +3881,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.42" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -3889,7 +3889,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-time": { @@ -3922,7 +3922,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -3948,8 +3948,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { @@ -3957,8 +3957,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3966,7 +3966,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3974,7 +3974,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3982,9 +3982,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -3995,13 +3995,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "globby": { @@ -4010,12 +4010,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -4036,7 +4036,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } } } @@ -4052,7 +4052,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -4071,8 +4071,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "doctrine": { @@ -4081,7 +4081,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -4090,8 +4090,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -4114,7 +4114,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -4123,8 +4123,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -4133,7 +4133,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer3": { @@ -4147,10 +4147,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "eastasianwidth": { @@ -4164,7 +4164,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -4172,7 +4172,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "empower": { @@ -4180,8 +4180,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.2.3.tgz", "integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=", "requires": { - "core-js": "2.5.6", - "empower-core": "0.6.2" + "core-js": "^2.0.0", + "empower-core": "^0.6.2" } }, "empower-assert": { @@ -4190,7 +4190,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.2.0" } }, "empower-core": { @@ -4199,7 +4199,7 @@ "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.6" + "core-js": "^2.0.0" } }, "end-of-stream": { @@ -4207,7 +4207,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "ent": { @@ -4233,7 +4233,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es5-ext": { @@ -4242,9 +4242,9 @@ "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-error": { @@ -4259,9 +4259,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -4270,12 +4270,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -4284,11 +4284,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -4297,8 +4297,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -4307,10 +4307,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escallmatch": { @@ -4319,8 +4319,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "1.0.1", - "esprima": "2.7.3" + "call-matcher": "^1.0.0", + "esprima": "^2.0.0" }, "dependencies": { "esprima": { @@ -4343,11 +4343,11 @@ "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -4371,10 +4371,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { @@ -4383,44 +4383,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "concat-stream": "1.6.2", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.4", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.5.0", - "ignore": "3.3.8", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.11.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", "table": "4.0.2", - "text-table": "0.2.0" + "text-table": "~0.2.0" }, "dependencies": { "ansi-regex": { @@ -4441,7 +4441,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4452,7 +4452,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "5.0.1" + "get-stdin": "^5.0.1" }, "dependencies": { "get-stdin": { @@ -4469,10 +4469,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "3.3.8", - "minimatch": "3.0.4", - "resolve": "1.7.1", - "semver": "5.5.0" + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", + "semver": "^5.4.1" }, "dependencies": { "resolve": { @@ -4481,7 +4481,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } } } @@ -4492,8 +4492,8 @@ "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", "dev": true, "requires": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" } }, "eslint-scope": { @@ -4502,8 +4502,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -4518,16 +4518,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "1.0.0", - "escallmatch": "1.5.0", - "escodegen": "1.9.1", - "escope": "3.6.0", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0", - "source-map": "0.5.7", - "type-name": "2.0.2", - "xtend": "4.0.1" + "array-find": "^1.0.0", + "escallmatch": "^1.5.0", + "escodegen": "^1.7.0", + "escope": "^3.3.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.3.0", + "estraverse": "^4.1.0", + "source-map": "^0.5.0", + "type-name": "^2.0.0", + "xtend": "^4.0.0" } }, "espower-loader": { @@ -4536,11 +4536,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "1.5.1", - "espower-source": "2.2.0", - "minimatch": "3.0.4", - "source-map-support": "0.4.18", - "xtend": "4.0.1" + "convert-source-map": "^1.1.0", + "espower-source": "^2.0.0", + "minimatch": "^3.0.0", + "source-map-support": "^0.4.0", + "xtend": "^4.0.0" }, "dependencies": { "source-map-support": { @@ -4549,7 +4549,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -4560,10 +4560,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "1.2.4", - "path-is-absolute": "1.0.1", - "source-map": "0.5.7", - "xtend": "4.0.1" + "is-url": "^1.2.1", + "path-is-absolute": "^1.0.0", + "source-map": "^0.5.0", + "xtend": "^4.0.0" } }, "espower-source": { @@ -4572,17 +4572,17 @@ "integrity": "sha1-fgBSVa5HtcE2RIZEs/PYAtUD91I=", "dev": true, "requires": { - "acorn": "5.5.3", - "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.1", - "empower-assert": "1.1.0", - "escodegen": "1.9.1", - "espower": "2.1.1", - "estraverse": "4.2.0", - "merge-estraverse-visitors": "1.0.0", - "multi-stage-sourcemap": "0.2.1", - "path-is-absolute": "1.0.1", - "xtend": "4.0.1" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.10", + "convert-source-map": "^1.1.1", + "empower-assert": "^1.0.0", + "escodegen": "^1.6.1", + "espower": "^2.0.0", + "estraverse": "^4.0.0", + "merge-estraverse-visitors": "^1.0.0", + "multi-stage-sourcemap": "^0.2.1", + "path-is-absolute": "^1.0.0", + "xtend": "^4.0.0" }, "dependencies": { "acorn": { @@ -4599,8 +4599,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.5.3", - "acorn-jsx": "3.0.1" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" }, "dependencies": { "acorn": { @@ -4622,7 +4622,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "2.5.6" + "core-js": "^2.0.0" } }, "esquery": { @@ -4631,7 +4631,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -4640,7 +4640,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -4660,8 +4660,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.42" + "d": "1", + "es5-ext": "~0.10.14" } }, "execa": { @@ -4670,13 +4670,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -4684,13 +4684,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -4706,7 +4706,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -4714,7 +4714,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4725,7 +4725,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { @@ -4734,11 +4734,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "is-number": { @@ -4747,7 +4747,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -4765,7 +4765,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4780,8 +4780,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -4789,7 +4789,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -4800,9 +4800,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -4810,14 +4810,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -4825,7 +4825,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -4833,7 +4833,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -4841,7 +4841,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4849,7 +4849,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4857,9 +4857,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -4885,12 +4885,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "@nodelib/fs.stat": "1.0.2", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.2", - "micromatch": "3.1.10" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.0.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" } }, "fast-json-stable-stringify": { @@ -4910,7 +4910,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -4919,8 +4919,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -4935,8 +4935,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" + "is-object": "~1.0.1", + "merge-descriptors": "~1.0.0" } }, "fill-range": { @@ -4944,10 +4944,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -4955,7 +4955,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4966,9 +4966,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -4977,7 +4977,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -4986,10 +4986,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "fn-name": { @@ -5003,7 +5003,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" } }, "for-in": { @@ -5017,7 +5017,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -5035,9 +5035,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "formidable": { @@ -5051,7 +5051,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "from2": { @@ -5060,8 +5060,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, "fs-extra": { @@ -5070,9 +5070,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "fs.realpath": { @@ -5087,8 +5087,8 @@ "dev": true, "optional": true, "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { @@ -5114,8 +5114,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -5128,7 +5128,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -5192,7 +5192,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -5207,14 +5207,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { @@ -5223,12 +5223,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -5243,7 +5243,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -5252,7 +5252,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -5261,8 +5261,8 @@ "dev": true, "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5281,7 +5281,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -5295,7 +5295,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -5308,8 +5308,8 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -5318,7 +5318,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -5341,9 +5341,9 @@ "dev": true, "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -5352,16 +5352,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -5370,8 +5370,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -5386,8 +5386,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -5396,10 +5396,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -5418,7 +5418,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -5439,8 +5439,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -5461,10 +5461,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -5481,13 +5481,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { @@ -5496,7 +5496,7 @@ "dev": true, "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -5539,9 +5539,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -5550,7 +5550,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -5558,7 +5558,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -5573,13 +5573,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -5594,7 +5594,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -5626,8 +5626,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "0.18.0", - "extend": "3.0.1", + "axios": "^0.18.0", + "extend": "^3.0.1", "retry-axios": "0.3.2" } }, @@ -5637,11 +5637,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "3.1.2", - "google-auto-auth": "0.10.1", - "pumpify": "1.5.1", - "request": "2.87.0", - "stream-events": "1.0.4" + "configstore": "^3.1.2", + "google-auto-auth": "^0.10.0", + "pumpify": "^1.4.0", + "request": "^2.85.0", + "stream-events": "^1.0.3" } }, "get-caller-file": { @@ -5678,7 +5678,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -5686,12 +5686,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -5700,8 +5700,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -5710,7 +5710,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -5725,7 +5725,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -5735,8 +5735,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -5744,7 +5744,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -5760,7 +5760,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -5774,13 +5774,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.2", - "glob": "7.1.2", - "ignore": "3.3.8", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "google-auth-library": { @@ -5788,13 +5788,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.5.0.tgz", "integrity": "sha512-xpibA/hkq4waBcpIkSJg4GiDAqcBWjJee3c47zj7xP3RQ0A9mc8MP3Vc9sc8SGRoDYA0OszZxTjW7SbcC4pJIA==", "requires": { - "axios": "0.18.0", - "gcp-metadata": "0.6.3", - "gtoken": "2.3.0", - "jws": "3.1.5", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.3", - "retry-axios": "0.3.2" + "axios": "^0.18.0", + "gcp-metadata": "^0.6.3", + "gtoken": "^2.3.0", + "jws": "^3.1.4", + "lodash.isstring": "^4.0.1", + "lru-cache": "^4.1.2", + "retry-axios": "^0.3.2" } }, "google-auto-auth": { @@ -5802,10 +5802,10 @@ "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz", "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "requires": { - "async": "2.6.1", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.5.0", - "request": "2.87.0" + "async": "^2.3.0", + "gcp-metadata": "^0.6.1", + "google-auth-library": "^1.3.1", + "request": "^2.79.0" } }, "google-gax": { @@ -5813,16 +5813,16 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz", "integrity": "sha512-eP7UUkKvaHmmvCrr+rxzkIOeEKOnXmoib7/AkENDAuqlC9T2+lWlzwpthDRnitQcV8SblDMzsk73YPMPCDwPyQ==", "requires": { - "duplexify": "3.6.0", - "extend": "3.0.1", - "globby": "8.0.1", - "google-auto-auth": "0.10.1", - "google-proto-files": "0.15.1", - "grpc": "1.11.3", - "is-stream-ended": "0.1.4", - "lodash": "4.17.10", - "protobufjs": "6.8.6", - "through2": "2.0.3" + "duplexify": "^3.5.4", + "extend": "^3.0.0", + "globby": "^8.0.0", + "google-auto-auth": "^0.10.0", + "google-proto-files": "^0.15.0", + "grpc": "^1.10.0", + "is-stream-ended": "^0.1.0", + "lodash": "^4.17.2", + "protobufjs": "^6.8.0", + "through2": "^2.0.3" } }, "google-p12-pem": { @@ -5830,8 +5830,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "0.7.5", - "pify": "3.0.0" + "node-forge": "^0.7.4", + "pify": "^3.0.0" } }, "google-proto-files": { @@ -5839,9 +5839,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", "requires": { - "globby": "7.1.1", - "power-assert": "1.5.0", - "protobufjs": "6.8.6" + "globby": "^7.1.1", + "power-assert": "^1.4.4", + "protobufjs": "^6.8.0" }, "dependencies": { "globby": { @@ -5849,12 +5849,12 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "glob": "7.1.2", - "ignore": "3.3.8", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } } } @@ -5865,23 +5865,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "mimic-response": "1.0.0", - "p-cancelable": "0.3.0", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" }, "dependencies": { "prepend-http": { @@ -5896,7 +5896,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } } } @@ -5918,10 +5918,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.11.3.tgz", "integrity": "sha512-7fJ40USpnP7hxGK0uRoEhJz6unA5VUdwInfwAY2rK2+OVxdDJSdTZQ/8/M+1tW68pHZYgHvg2ohvJ+clhW3ANg==", "requires": { - "lodash": "4.17.10", - "nan": "2.10.0", - "node-pre-gyp": "0.10.0", - "protobufjs": "5.0.3" + "lodash": "^4.15.0", + "nan": "^2.0.0", + "node-pre-gyp": "^0.10.0", + "protobufjs": "^5.0.0" }, "dependencies": { "abbrev": { @@ -5940,8 +5940,8 @@ "version": "1.1.4", "bundled": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -5952,7 +5952,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -5999,7 +5999,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -6010,26 +6010,26 @@ "version": "2.7.4", "bundled": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -6044,15 +6044,15 @@ "version": "3.0.1", "bundled": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6067,7 +6067,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -6078,7 +6078,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -6089,15 +6089,15 @@ "version": "2.2.4", "bundled": true, "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -6121,33 +6121,33 @@ "version": "2.2.1", "bundled": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.19", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { "version": "0.10.0", "bundled": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.1", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.2" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { "version": "4.0.1", "bundled": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -6158,18 +6158,18 @@ "version": "1.1.10", "bundled": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { "version": "4.1.2", "bundled": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -6184,7 +6184,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -6199,8 +6199,8 @@ "version": "0.1.5", "bundled": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -6216,40 +6216,40 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.2", - "yargs": "3.32.0" + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" } }, "rc": { "version": "1.2.7", "bundled": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -6276,23 +6276,23 @@ "version": "1.0.2", "bundled": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { "version": "1.1.1", "bundled": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -6303,13 +6303,13 @@ "version": "4.4.2", "bundled": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" }, "dependencies": { "safe-buffer": { @@ -6326,7 +6326,7 @@ "version": "1.1.2", "bundled": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -6344,11 +6344,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.5", - "mime": "2.3.1", - "pify": "3.0.0" + "axios": "^0.18.0", + "google-p12-pem": "^1.0.0", + "jws": "^3.1.4", + "mime": "^2.2.0", + "pify": "^3.0.0" } }, "handlebars": { @@ -6357,10 +6357,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -6375,7 +6375,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -6390,8 +6390,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has-ansi": { @@ -6400,7 +6400,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -6427,7 +6427,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "1.4.2" + "has-symbol-support-x": "^1.4.1" } }, "has-value": { @@ -6435,9 +6435,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -6445,8 +6445,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -6454,7 +6454,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6471,7 +6471,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "he": { @@ -6486,8 +6486,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -6502,12 +6502,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.2", - "domutils": "1.7.0", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "http-cache-semantics": { @@ -6521,9 +6521,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "hullabaloo-config-manager": { @@ -6532,20 +6532,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "es6-error": "4.1.1", - "graceful-fs": "4.1.11", - "indent-string": "3.2.0", - "json5": "0.5.1", - "lodash.clonedeep": "4.5.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "package-hash": "2.0.0", - "pkg-dir": "2.0.0", - "resolve-from": "3.0.0", - "safe-buffer": "5.1.2" + "dot-prop": "^4.1.0", + "es6-error": "^4.0.2", + "graceful-fs": "^4.1.11", + "indent-string": "^3.1.0", + "json5": "^0.5.1", + "lodash.clonedeep": "^4.5.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "package-hash": "^2.0.0", + "pkg-dir": "^2.0.0", + "resolve-from": "^3.0.0", + "safe-buffer": "^5.0.1" } }, "iconv-lite": { @@ -6554,7 +6554,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -6580,8 +6580,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -6606,8 +6606,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6627,8 +6627,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "2.22.1", - "sanitize-html": "1.18.2" + "moment": "^2.14.1", + "sanitize-html": "^1.13.0" } }, "inquirer": { @@ -6637,20 +6637,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -6671,8 +6671,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -6681,7 +6681,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -6692,7 +6692,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "1.2.2" + "espower-loader": "^1.0.0" } }, "into-stream": { @@ -6701,8 +6701,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" } }, "invariant": { @@ -6711,7 +6711,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -6735,7 +6735,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6743,7 +6743,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6760,7 +6760,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -6774,7 +6774,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-ci": { @@ -6783,7 +6783,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -6791,7 +6791,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6799,7 +6799,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6809,9 +6809,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -6833,7 +6833,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-error": { @@ -6858,7 +6858,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -6866,7 +6866,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-generator-fn": { @@ -6880,7 +6880,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-installed-globally": { @@ -6889,8 +6889,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-npm": { @@ -6904,7 +6904,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6912,7 +6912,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6935,7 +6935,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "^1.1.0" } }, "is-odd": { @@ -6943,7 +6943,7 @@ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -6965,7 +6965,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -6974,7 +6974,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -6988,7 +6988,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -7087,8 +7087,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" } }, "jest-docblock": { @@ -7115,8 +7115,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "js2xmlparser": { @@ -7125,7 +7125,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsbn": { @@ -7141,17 +7141,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.19", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", "taffydb": "2.6.2", - "underscore": "1.8.3" + "underscore": "~1.8.3" }, "dependencies": { "babylon": { @@ -7213,7 +7213,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -7240,7 +7240,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "jws": { @@ -7248,8 +7248,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "1.1.6", - "safe-buffer": "5.1.2" + "jwa": "^1.1.5", + "safe-buffer": "^5.0.1" } }, "keyv": { @@ -7272,7 +7272,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "last-line-stream": { @@ -7281,7 +7281,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "latest-version": { @@ -7290,7 +7290,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -7305,7 +7305,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "levn": { @@ -7314,8 +7314,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -7324,10 +7324,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, "dependencies": { "pify": { @@ -7344,8 +7344,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -7458,7 +7458,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -7467,8 +7467,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowercase-keys": { @@ -7482,8 +7482,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -7492,7 +7492,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-cache": { @@ -7511,7 +7511,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "marked": { @@ -7526,7 +7526,7 @@ "integrity": "sha512-aZGv6JBTHqfqAd09jmAlbKnAICTfIvb5Z8gXVxPB5WZtFfHMaAMdACL7tQflD2V+6/8KNcY8s6DYtWLgpJP5lA==", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.4" } }, "math-random": { @@ -7541,7 +7541,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -7556,7 +7556,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -7565,16 +7565,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "find-up": { @@ -7583,8 +7583,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "load-json-file": { @@ -7593,11 +7593,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "minimist": { @@ -7612,7 +7612,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-type": { @@ -7621,9 +7621,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -7644,7 +7644,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "read-pkg": { @@ -7653,9 +7653,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -7664,8 +7664,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "strip-bom": { @@ -7674,7 +7674,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -7691,7 +7691,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "merge2": { @@ -7716,19 +7716,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "mime": { @@ -7746,7 +7746,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "mimic-fn": { @@ -7766,7 +7766,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -7780,8 +7780,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -7789,7 +7789,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -7851,7 +7851,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "^0.1.34" }, "dependencies": { "source-map": { @@ -7860,7 +7860,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -7871,10 +7871,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" } }, "mute-stream": { @@ -7893,18 +7893,18 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "natural-compare": { @@ -7925,11 +7925,11 @@ "integrity": "sha512-v1J/FLUB9PfGqZLGDBhQqODkbLotP0WtLo9R4EJY2PPu5f5Xg4o0rA8FDlmrjFSv9vBBKcfnOSpfYYuu5RTHqg==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.6.0", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" + "@sinonjs/formatio": "^2.0.0", + "just-extend": "^1.1.27", + "lolex": "^2.3.2", + "path-to-regexp": "^1.7.0", + "text-encoding": "^0.6.4" } }, "node-forge": { @@ -7949,10 +7949,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -7961,7 +7961,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -7970,9 +7970,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, "dependencies": { "prepend-http": { @@ -7989,7 +7989,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -8003,33 +8003,33 @@ "integrity": "sha512-PUFq1PSsx5OinSk5g5aaZygcDdI3QQT5XUlbR9QRMihtMS6w0Gm8xj4BxmKeeAlpQXC5M2DIhH16Y+KejceivQ==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.3", - "istanbul-reports": "1.4.0", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", "yargs": "11.1.0", - "yargs-parser": "8.1.0" + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -8037,9 +8037,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -8062,7 +8062,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -8115,9 +8115,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { @@ -8125,14 +8125,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, "babel-messages": { @@ -8140,7 +8140,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -8148,8 +8148,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "2.5.6", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -8157,11 +8157,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -8169,15 +8169,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -8185,10 +8185,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -8206,13 +8206,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -8220,7 +8220,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -8228,7 +8228,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8236,7 +8236,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8244,9 +8244,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -8266,7 +8266,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -8275,16 +8275,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -8292,7 +8292,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8307,15 +8307,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "dependencies": { "isobject": { @@ -8330,9 +8330,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -8347,8 +8347,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -8356,11 +8356,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "class-utils": { @@ -8368,10 +8368,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -8379,7 +8379,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "isobject": { @@ -8395,8 +8395,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -8418,8 +8418,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "commondir": { @@ -8457,8 +8457,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -8489,7 +8489,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { @@ -8497,8 +8497,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -8506,7 +8506,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8514,7 +8514,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8522,9 +8522,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -8544,7 +8544,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { @@ -8552,7 +8552,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { @@ -8570,13 +8570,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -8584,9 +8584,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -8596,13 +8596,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -8610,7 +8610,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -8618,7 +8618,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8628,8 +8628,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8637,7 +8637,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8647,14 +8647,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -8662,7 +8662,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -8670,7 +8670,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -8678,7 +8678,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8686,7 +8686,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8694,9 +8694,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -8711,10 +8711,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -8722,7 +8722,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8732,9 +8732,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -8742,7 +8742,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -8755,8 +8755,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fragment-cache": { @@ -8764,7 +8764,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -8792,12 +8792,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "globals": { @@ -8815,10 +8815,10 @@ "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -8826,7 +8826,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -8836,7 +8836,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -8849,9 +8849,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -8866,8 +8866,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -8875,7 +8875,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8883,7 +8883,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8893,7 +8893,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8913,8 +8913,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -8927,7 +8927,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -8940,7 +8940,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -8958,7 +8958,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { @@ -8966,7 +8966,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { @@ -8974,9 +8974,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -8996,7 +8996,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -9009,7 +9009,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -9017,7 +9017,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -9032,7 +9032,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -9082,7 +9082,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -9090,13 +9090,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -9104,10 +9104,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { @@ -9115,7 +9115,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9125,11 +9125,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -9147,7 +9147,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { @@ -9165,7 +9165,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -9179,7 +9179,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -9187,11 +9187,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -9199,8 +9199,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -9225,7 +9225,7 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { @@ -9233,8 +9233,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { @@ -9247,7 +9247,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { @@ -9255,7 +9255,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -9268,7 +9268,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -9276,7 +9276,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -9291,19 +9291,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "dependencies": { "kind-of": { @@ -9323,7 +9323,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -9336,8 +9336,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -9345,7 +9345,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -9368,18 +9368,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "arr-diff": { @@ -9404,10 +9404,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { @@ -9415,7 +9415,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -9433,9 +9433,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -9443,7 +9443,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9453,7 +9453,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -9468,7 +9468,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -9483,7 +9483,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -9491,8 +9491,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -9505,9 +9505,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -9520,7 +9520,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -9528,7 +9528,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -9541,7 +9541,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { @@ -9554,7 +9554,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -9577,9 +9577,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -9597,7 +9597,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -9605,7 +9605,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -9613,8 +9613,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -9634,9 +9634,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -9644,8 +9644,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -9653,8 +9653,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -9669,8 +9669,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "repeat-element": { @@ -9688,7 +9688,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { @@ -9722,7 +9722,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -9730,7 +9730,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { @@ -9738,7 +9738,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { @@ -9756,10 +9756,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -9767,7 +9767,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9777,7 +9777,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -9800,14 +9800,14 @@ "bundled": true, "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -9815,7 +9815,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -9823,7 +9823,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9833,9 +9833,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -9843,7 +9843,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -9851,7 +9851,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -9859,7 +9859,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -9867,9 +9867,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -9889,7 +9889,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -9902,11 +9902,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { @@ -9919,12 +9919,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -9932,8 +9932,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -9946,8 +9946,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -9960,7 +9960,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { @@ -9968,8 +9968,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -9977,7 +9977,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9987,8 +9987,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -10001,7 +10001,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -10011,7 +10011,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -10019,7 +10019,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -10037,11 +10037,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" }, "dependencies": { "arr-diff": { @@ -10059,16 +10059,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -10076,7 +10076,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10086,13 +10086,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -10100,7 +10100,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -10108,7 +10108,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -10116,7 +10116,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -10124,7 +10124,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10134,7 +10134,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -10142,7 +10142,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10152,9 +10152,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -10169,14 +10169,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -10184,7 +10184,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -10192,7 +10192,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10202,10 +10202,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -10213,7 +10213,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10223,7 +10223,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -10231,7 +10231,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -10239,9 +10239,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -10249,7 +10249,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -10257,7 +10257,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10277,19 +10277,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } } } @@ -10304,7 +10304,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -10312,10 +10312,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -10323,8 +10323,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "dependencies": { "is-number": { @@ -10332,7 +10332,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } } } @@ -10348,9 +10348,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -10359,9 +10359,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -10378,10 +10378,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -10389,7 +10389,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -10397,10 +10397,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -10410,8 +10410,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -10419,9 +10419,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -10456,7 +10456,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -10471,8 +10471,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { @@ -10480,7 +10480,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -10504,8 +10504,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -10513,7 +10513,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -10521,9 +10521,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -10538,9 +10538,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -10558,18 +10558,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "ansi-regex": { @@ -10587,9 +10587,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "strip-ansi": { @@ -10597,7 +10597,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs-parser": { @@ -10605,7 +10605,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -10615,7 +10615,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -10643,9 +10643,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -10653,7 +10653,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "kind-of": { @@ -10661,7 +10661,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10676,7 +10676,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.omit": { @@ -10685,8 +10685,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -10694,7 +10694,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "observable-to-promise": { @@ -10703,8 +10703,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "0.2.0", - "symbol-observable": "1.2.0" + "is-observable": "^0.2.0", + "symbol-observable": "^1.0.4" }, "dependencies": { "is-observable": { @@ -10713,7 +10713,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "0.2.4" + "symbol-observable": "^0.2.2" }, "dependencies": { "symbol-observable": { @@ -10731,7 +10731,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -10740,7 +10740,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -10749,8 +10749,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "option-chain": { @@ -10765,12 +10765,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -10797,7 +10797,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -10830,7 +10830,7 @@ "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -10839,7 +10839,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-timeout": { @@ -10848,7 +10848,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { @@ -10863,10 +10863,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "lodash.flattendeep": "4.4.0", - "md5-hex": "2.0.0", - "release-zalgo": "1.0.0" + "graceful-fs": "^4.1.11", + "lodash.flattendeep": "^4.4.0", + "md5-hex": "^2.0.0", + "release-zalgo": "^1.0.0" } }, "package-json": { @@ -10875,10 +10875,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" }, "dependencies": { "got": { @@ -10887,17 +10887,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } } } @@ -10908,10 +10908,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "is-extglob": { @@ -10926,7 +10926,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -10937,7 +10937,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -11007,7 +11007,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "performance-now": { @@ -11032,7 +11032,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } }, "pkg-conf": { @@ -11041,8 +11041,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" }, "dependencies": { "load-json-file": { @@ -11051,10 +11051,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -11063,8 +11063,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -11075,7 +11075,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plur": { @@ -11084,7 +11084,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "1.4.0" + "irregular-plurals": "^1.0.0" } }, "pluralize": { @@ -11104,9 +11104,9 @@ "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "dependencies": { "source-map": { @@ -11122,11 +11122,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.5.0.tgz", "integrity": "sha512-WaWSw+Ts283o6dzxW1BxIxoaHok7aSSGx4SaR6dW62Pk31ynv9DERDieuZpPYv5XaJ+H+zdcOaJQ+PvlasAOVw==", "requires": { - "define-properties": "1.1.2", - "empower": "1.2.3", - "power-assert-formatter": "1.4.1", - "universal-deep-strict-equal": "1.2.2", - "xtend": "4.0.1" + "define-properties": "^1.1.2", + "empower": "^1.2.3", + "power-assert-formatter": "^1.3.1", + "universal-deep-strict-equal": "^1.2.1", + "xtend": "^4.0.0" } }, "power-assert-context-formatter": { @@ -11134,8 +11134,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz", "integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=", "requires": { - "core-js": "2.5.6", - "power-assert-context-traversal": "1.1.1" + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.1.1" } }, "power-assert-context-reducer-ast": { @@ -11143,11 +11143,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.1.2.tgz", "integrity": "sha1-SEqZ4m9Jc/+IMuXFzHVnAuYJQXQ=", "requires": { - "acorn": "4.0.13", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.6", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "acorn": "^4.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" } }, "power-assert-context-traversal": { @@ -11155,8 +11155,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz", "integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=", "requires": { - "core-js": "2.5.6", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "estraverse": "^4.1.0" } }, "power-assert-formatter": { @@ -11164,13 +11164,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.6", - "power-assert-context-formatter": "1.1.1", - "power-assert-context-reducer-ast": "1.1.2", - "power-assert-renderer-assertion": "1.1.1", - "power-assert-renderer-comparison": "1.1.1", - "power-assert-renderer-diagram": "1.1.2", - "power-assert-renderer-file": "1.1.1" + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" } }, "power-assert-renderer-assertion": { @@ -11178,8 +11178,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz", "integrity": "sha1-y/wOd+AIao+Wrz8djme57n4ozpg=", "requires": { - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.1.1" + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.1.1" } }, "power-assert-renderer-base": { @@ -11192,11 +11192,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.1.1.tgz", "integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=", "requires": { - "core-js": "2.5.6", - "diff-match-patch": "1.0.1", - "power-assert-renderer-base": "1.1.1", - "stringifier": "1.3.0", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" } }, "power-assert-renderer-diagram": { @@ -11204,10 +11204,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.2.tgz", "integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=", "requires": { - "core-js": "2.5.6", - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.1.1", - "stringifier": "1.3.0" + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.1.1", + "stringifier": "^1.3.0" } }, "power-assert-renderer-file": { @@ -11215,7 +11215,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.1.1.tgz", "integrity": "sha1-o34rvReMys0E5427eckv40kzxec=", "requires": { - "power-assert-renderer-base": "1.1.1" + "power-assert-renderer-base": "^1.1.1" } }, "power-assert-util-string-width": { @@ -11223,7 +11223,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz", "integrity": "sha1-vmWet5N/3S5smncmjar2S9W3xZI=", "requires": { - "eastasianwidth": "0.1.1" + "eastasianwidth": "^0.1.1" } }, "prelude-ls": { @@ -11256,8 +11256,8 @@ "integrity": "sha1-6crJx2v27lL+lC3ZxsQhMVOxKIE=", "dev": true, "requires": { - "parse-ms": "1.0.1", - "plur": "2.1.2" + "parse-ms": "^1.0.0", + "plur": "^2.1.2" }, "dependencies": { "parse-ms": { @@ -11290,19 +11290,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/base64": "1.1.2", - "@protobufjs/codegen": "2.0.4", - "@protobufjs/eventemitter": "1.1.0", - "@protobufjs/fetch": "1.1.0", - "@protobufjs/float": "1.0.2", - "@protobufjs/inquire": "1.1.0", - "@protobufjs/path": "1.1.2", - "@protobufjs/pool": "1.1.0", - "@protobufjs/utf8": "1.1.0", - "@types/long": "3.0.32", - "@types/node": "8.10.17", - "long": "4.0.0" + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^3.0.32", + "@types/node": "^8.9.4", + "long": "^4.0.0" }, "dependencies": { "@types/node": { @@ -11318,9 +11318,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" + "fill-keys": "^1.0.2", + "module-not-found-error": "^1.0.0", + "resolve": "~1.1.7" } }, "pseudomap": { @@ -11334,8 +11334,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -11344,9 +11344,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -11365,9 +11365,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "randomatic": { @@ -11376,9 +11376,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -11395,10 +11395,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -11415,9 +11415,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" }, "dependencies": { "path-type": { @@ -11426,7 +11426,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -11443,8 +11443,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "readable-stream": { @@ -11452,13 +11452,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -11467,10 +11467,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "redent": { @@ -11479,8 +11479,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" }, "dependencies": { "indent-string": { @@ -11489,7 +11489,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } } } @@ -11512,7 +11512,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -11520,8 +11520,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpp": { @@ -11536,9 +11536,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -11547,8 +11547,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.7", - "safe-buffer": "5.1.2" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -11557,7 +11557,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.7" + "rc": "^1.0.1" } }, "regjsgen": { @@ -11572,7 +11572,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "release-zalgo": { @@ -11581,7 +11581,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.1.1" + "es6-error": "^4.0.1" } }, "remove-trailing-separator": { @@ -11606,7 +11606,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -11614,26 +11614,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -11660,8 +11660,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" }, "dependencies": { "resolve-from": { @@ -11678,7 +11678,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -11701,7 +11701,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -11721,7 +11721,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -11730,8 +11730,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -11749,8 +11749,8 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.1.tgz", "integrity": "sha512-PjAmtWIxjNj4Co/6FRtBl8afRP3CxrrIAnUzb1dzydfROd+6xt7xAebFeskgQgkfFf8NmzrXIoaB3HxmswXyxw==", "requires": { - "request": "2.87.0", - "through2": "2.0.3" + "request": "^2.81.0", + "through2": "^2.0.0" } }, "right-align": { @@ -11760,7 +11760,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -11769,7 +11769,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -11778,7 +11778,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -11793,7 +11793,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -11806,7 +11806,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -11827,16 +11827,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "2.4.1", - "htmlparser2": "3.9.2", - "lodash.clonedeep": "4.5.0", - "lodash.escaperegexp": "4.1.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mergewith": "4.6.1", - "postcss": "6.0.22", - "srcset": "1.0.0", - "xtend": "4.0.1" + "chalk": "^2.3.0", + "htmlparser2": "^3.9.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.0", + "postcss": "^6.0.14", + "srcset": "^1.0.0", + "xtend": "^4.0.0" } }, "semver": { @@ -11851,7 +11851,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "serialize-error": { @@ -11877,10 +11877,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -11888,7 +11888,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11899,7 +11899,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -11920,13 +11920,13 @@ "integrity": "sha512-GvNLrwpvLZ8jIMZBUhHGUZDq5wlUdceJWyHvZDmqBxnjazpxY1L0FNbGBX6VpcOEoQ8Q4XMWFzm2myJMvx+VjA==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.6.0", - "nise": "1.3.3", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.1.0", + "lodash.get": "^4.4.2", + "lolex": "^2.2.0", + "nise": "^1.2.0", + "supports-color": "^5.1.0", + "type-detect": "^4.0.5" } }, "slash": { @@ -11940,7 +11940,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -11968,14 +11968,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -11991,7 +11991,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11999,7 +11999,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12009,9 +12009,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -12019,7 +12019,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -12027,7 +12027,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -12035,7 +12035,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -12043,9 +12043,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -12055,7 +12055,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { @@ -12063,7 +12063,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12074,7 +12074,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-map": { @@ -12087,11 +12087,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -12100,8 +12100,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "1.0.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "source-map": { @@ -12123,8 +12123,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -12139,8 +12139,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -12154,7 +12154,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "0.1.4" + "is-stream-ended": "^0.1.4" } }, "split-string": { @@ -12162,7 +12162,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -12177,8 +12177,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "1.0.3", - "number-is-nan": "1.0.1" + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" } }, "sshpk": { @@ -12186,14 +12186,14 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -12207,8 +12207,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -12216,7 +12216,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -12226,7 +12226,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "3.0.0" + "stubs": "^3.0.0" } }, "stream-shift": { @@ -12257,9 +12257,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -12267,7 +12267,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "stringifier": { @@ -12275,9 +12275,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.6", - "traverse": "0.6.6", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" } }, "strip-ansi": { @@ -12285,7 +12285,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -12300,7 +12300,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.1" } }, "strip-eof": { @@ -12315,7 +12315,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -12335,16 +12335,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.1", - "debug": "3.1.0", - "extend": "3.0.1", - "form-data": "2.3.2", - "formidable": "1.2.1", - "methods": "1.1.2", - "mime": "1.6.0", - "qs": "6.5.2", - "readable-stream": "2.3.6" + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" }, "dependencies": { "mime": { @@ -12361,11 +12361,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "1.0.1", - "indent-string": "3.2.0", - "js-yaml": "3.11.0", - "serialize-error": "2.1.0", - "strip-ansi": "4.0.0" + "arrify": "^1.0.1", + "indent-string": "^3.2.0", + "js-yaml": "^3.10.0", + "serialize-error": "^2.1.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -12380,7 +12380,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12391,8 +12391,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "1.1.2", - "superagent": "3.8.3" + "methods": "~1.1.2", + "superagent": "^3.0.0" } }, "supports-color": { @@ -12401,7 +12401,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -12424,12 +12424,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "chalk": "2.4.1", - "lodash": "4.17.10", + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12450,8 +12450,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12460,7 +12460,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12477,7 +12477,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "text-encoding": { @@ -12503,8 +12503,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-zone": { @@ -12525,7 +12525,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -12539,7 +12539,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12547,7 +12547,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12557,10 +12557,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -12568,8 +12568,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "tough-cookie": { @@ -12577,7 +12577,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "traverse": { @@ -12608,7 +12608,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -12623,7 +12623,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -12650,9 +12650,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "camelcase": { @@ -12669,8 +12669,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -12695,9 +12695,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -12744,10 +12744,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -12755,7 +12755,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -12763,10 +12763,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -12777,7 +12777,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "unique-temp-dir": { @@ -12786,8 +12786,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", + "mkdirp": "^0.5.1", + "os-tmpdir": "^1.0.1", "uid2": "0.0.3" } }, @@ -12796,9 +12796,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "1.0.0", + "array-filter": "^1.0.0", "indexof": "0.0.1", - "object-keys": "1.0.11" + "object-keys": "^1.0.0" } }, "universalify": { @@ -12812,8 +12812,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -12821,9 +12821,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -12855,16 +12855,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.4.1", - "configstore": "3.1.2", - "import-lazy": "2.1.0", - "is-ci": "1.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "urix": { @@ -12878,7 +12878,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "url-to-options": { @@ -12898,7 +12898,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" } }, "util-deprecate": { @@ -12917,8 +12917,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -12926,9 +12926,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "well-known-symbols": { @@ -12943,7 +12943,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12958,7 +12958,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12979,8 +12979,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12989,7 +12989,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -13010,8 +13010,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -13025,7 +13025,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -13034,9 +13034,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "write-json-file": { @@ -13045,12 +13045,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "5.0.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "pify": "3.0.0", - "sort-keys": "2.0.0", - "write-file-atomic": "2.3.0" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.0.0" }, "dependencies": { "detect-indent": { @@ -13067,8 +13067,8 @@ "integrity": "sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk=", "dev": true, "requires": { - "sort-keys": "2.0.0", - "write-json-file": "2.3.0" + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" } }, "xdg-basedir": { @@ -13103,13 +13103,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" } }, "yargs-parser": { @@ -13118,7 +13118,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 3476a5b116e..1e12b024497 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -36,9 +36,12 @@ "Ernest Landrito ", "Gus Class ", "Jason Dobry ", + "Jonathan Lui ", "Jun Mukai ", + "Kelvin Jin ", "Luke Sneeringer ", - "Rebecca Taylor ", + "Rebecca Taylor ", + "Shahin ", "Song Wang ", "Stephen Sawchuk ", "Tim Swast ", diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto index c1b35a94013..8470002875c 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -33,10 +33,24 @@ message Vertex { int32 y = 2; } +// A vertex represents a 2D point in the image. +// NOTE: the normalized vertex coordinates are relative to the original image +// and range from 0 to 1. +message NormalizedVertex { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; +}; + // A bounding polygon for the detected image annotation. message BoundingPoly { // The bounding polygon vertices. repeated Vertex vertices = 1; + + // The bounding polygon normalized vertices. + repeated NormalizedVertex normalized_vertices = 2; } // A 3D position in the image, used primarily for Face detection landmarks. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index 3978db04ebe..21db4c41e89 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -20,6 +20,8 @@ import "google/api/annotations.proto"; import "google/cloud/vision/v1/geometry.proto"; import "google/cloud/vision/v1/text_annotation.proto"; import "google/cloud/vision/v1/web_detection.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; import "google/rpc/status.proto"; import "google/type/color.proto"; import "google/type/latlng.proto"; @@ -37,7 +39,24 @@ option java_package = "com.google.cloud.vision.v1"; service ImageAnnotator { // Run image detection and annotation for a batch of images. rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { - option (google.api.http) = { post: "/v1/images:annotate" body: "*" }; + option (google.api.http) = { + post: "/v1/images:annotate" + body: "*" + }; + } + + // Run asynchronous image detection and annotation for a list of generic + // files, such as PDF files, which may contain multiple pages and multiple + // images per page. Progress and results can be retrieved through the + // `google.longrunning.Operations` interface. + // `Operation.metadata` contains `OperationMetadata` (metadata). + // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/files:asyncBatchAnnotate" + body: "*" + }; } } @@ -492,7 +511,7 @@ message WebDetectionParams { // Image context and/or feature-specific parameters. message ImageContext { - // lat/long rectangle that specifies the location of the image. + // Not used. LatLongRect lat_long_rect = 1; // List of languages to use for TEXT_DETECTION. In most cases, an empty value @@ -525,6 +544,17 @@ message AnnotateImageRequest { ImageContext image_context = 3; } +// If an image was produced from a file (e.g. a PDF), this message gives +// information about the source of that image. +message ImageAnnotationContext { + // The URI of the file used to produce the image. + string uri = 1; + + // If the file was a PDF or TIFF, this field gives the page number within + // the file used to produce the image. + int32 page_number = 2; +} + // Response to an image annotation request. message AnnotateImageResponse { // If present, face detection has completed successfully. @@ -564,6 +594,20 @@ message AnnotateImageResponse { // Note that filled-in image annotations are guaranteed to be // correct, even when `error` is set. google.rpc.Status error = 9; + + // If present, contextual information is needed to understand where this image + // comes from. + ImageAnnotationContext context = 21; +} + +// Response to a single file annotation request. A file may contain one or more +// images, which individually have their own responses. +message AnnotateFileResponse { + // Information about the file for which this response is generated. + InputConfig input_config = 1; + + // Individual responses to images found within the file. + repeated AnnotateImageResponse responses = 2; } // Multiple image annotation requests are batched into a single service call. @@ -578,6 +622,127 @@ message BatchAnnotateImagesResponse { repeated AnnotateImageResponse responses = 1; } +// An offline file annotation request. +message AsyncAnnotateFileRequest { + // Required. Information about the input file. + InputConfig input_config = 1; + + // Required. Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image(s) in the file. + ImageContext image_context = 3; + + // Required. The desired output location and metadata (e.g. format). + OutputConfig output_config = 4; +} + +// The response for a single offline file annotation request. +message AsyncAnnotateFileResponse { + // The output location and metadata from AsyncAnnotateFileRequest. + OutputConfig output_config = 1; +} + +// Multiple async file annotation requests are batched into a single service +// call. +message AsyncBatchAnnotateFilesRequest { + // Individual async file annotation requests for this batch. + repeated AsyncAnnotateFileRequest requests = 1; +} + +// Response to an async batch file annotation request. +message AsyncBatchAnnotateFilesResponse { + // The list of file annotation responses, one for each request in + // AsyncBatchAnnotateFilesRequest. + repeated AsyncAnnotateFileResponse responses = 1; +} + +// The desired input location and metadata. +message InputConfig { + // The Google Cloud Storage location to read the input from. + GcsSource gcs_source = 1; + + // The type of the file. Currently only "application/pdf" and "image/tiff" + // are supported. Wildcards are not supported. + string mime_type = 2; +} + +// The desired output location and metadata. +message OutputConfig { + // The Google Cloud Storage location to write the output(s) to. + GcsDestination gcs_destination = 1; + + // The max number of response protos to put into each output JSON file on + // Google Cloud Storage. + // The valid range is [1, 100]. If not specified, the default value is 20. + // + // For example, for one pdf file with 100 pages, 100 response protos will + // be generated. If `batch_size` = 20, then 5 json files each + // containing 20 response protos will be written under the prefix + // `gcs_destination`.`uri`. + // + // Currently, batch_size only applies to GcsDestination, with potential future + // support for other output configurations. + int32 batch_size = 2; +} + +// The Google Cloud Storage location where the input will be read from. +message GcsSource { + // Google Cloud Storage URI for the input file. This must only be a + // Google Cloud Storage object. Wildcards are not currently supported. + string uri = 1; +} + +// The Google Cloud Storage location where the output will be written to. +message GcsDestination { + // Google Cloud Storage URI where the results will be stored. Results will + // be in JSON format and preceded by its corresponding input URI. This field + // can either represent a single file, or a prefix for multiple outputs. + // Prefixes must end in a `/`. + // + // Examples: + // + // * File: gs://bucket-name/filename.json + // * Prefix: gs://bucket-name/prefix/here/ + // * File: gs://bucket-name/prefix/here + // + // If multiple outputs, each response is still AnnotateFileResponse, each of + // which contains some subset of the full list of AnnotateImageResponse. + // Multiple outputs can happen if, for example, the output JSON is too large + // and overflows into multiple sharded files. + string uri = 1; +} + +// Contains metadata for the BatchAnnotateImages operation. +message OperationMetadata { + // Batch operation states. + enum State { + // Invalid. + STATE_UNSPECIFIED = 0; + + // Request is received. + CREATED = 1; + + // Request is actively being processed. + RUNNING = 2; + + // The batch processing is done. + DONE = 3; + + // The batch processing was cancelled. + CANCELLED = 4; + } + + // Current state of the batch operation. + State state = 1; + + // The time when the batch request was received. + google.protobuf.Timestamp create_time = 5; + + // The time when the operation result was last updated. + google.protobuf.Timestamp update_time = 6; +} + // A bucketized representation of likelihood, which is intended to give clients // highly stable results across model upgrades. enum Likelihood { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index bf825d59b5a..714b57e1712 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -97,10 +97,12 @@ message Page { // Additional information detected on the page. TextAnnotation.TextProperty property = 1; - // Page width in pixels. + // Page width. For PDFs the unit is points. For images (including + // TIFFs) the unit is pixels. int32 width = 2; - // Page height in pixels. + // Page height. For PDFs the unit is points. For images (including + // TIFFs) the unit is pixels. int32 height = 3; // List of blocks of text, images etc on this page. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js index b63f9beab4d..ca1ef8c2e51 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js @@ -33,6 +33,25 @@ var Vertex = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * A vertex represents a 2D point in the image. + * NOTE: the normalized vertex coordinates are relative to the original image + * and range from 0 to 1. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @typedef NormalizedVertex + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} + */ +var NormalizedVertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * A bounding polygon for the detected image annotation. * @@ -41,6 +60,11 @@ var Vertex = { * * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1.Vertex} * + * @property {Object[]} normalizedVertices + * The bounding polygon normalized vertices. + * + * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1.NormalizedVertex} + * * @typedef BoundingPoly * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index c29edc17c5d..f1e6c00b0ce 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -768,7 +768,7 @@ var WebDetectionParams = { * Image context and/or feature-specific parameters. * * @property {Object} latLongRect - * lat/long rectangle that specifies the location of the image. + * Not used. * * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1.LatLongRect} * @@ -827,6 +827,25 @@ var AnnotateImageRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + * + * @property {string} uri + * The URI of the file used to produce the image. + * + * @property {number} pageNumber + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + * + * @typedef ImageAnnotationContext + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var ImageAnnotationContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Response to an image annotation request. * @@ -890,6 +909,12 @@ var AnnotateImageRequest = { * * This object should have the same structure as [Status]{@link google.rpc.Status} * + * @property {Object} context + * If present, contextual information is needed to understand where this image + * comes from. + * + * This object should have the same structure as [ImageAnnotationContext]{@link google.cloud.vision.v1.ImageAnnotationContext} + * * @typedef AnnotateImageResponse * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -898,6 +923,28 @@ var AnnotateImageResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Response to a single file annotation request. A file may contain one or more + * images, which individually have their own responses. + * + * @property {Object} inputConfig + * Information about the file for which this response is generated. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1.InputConfig} + * + * @property {Object[]} responses + * Individual responses to images found within the file. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1.AnnotateImageResponse} + * + * @typedef AnnotateFileResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var AnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Multiple image annotation requests are batched into a single service call. * @@ -930,6 +977,239 @@ var BatchAnnotateImagesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * An offline file annotation request. + * + * @property {Object} inputConfig + * Required. Information about the input file. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1.InputConfig} + * + * @property {Object[]} features + * Required. Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image(s) in the file. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1.ImageContext} + * + * @property {Object} outputConfig + * Required. The desired output location and metadata (e.g. format). + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} + * + * @typedef AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var AsyncAnnotateFileRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The response for a single offline file annotation request. + * + * @property {Object} outputConfig + * The output location and metadata from AsyncAnnotateFileRequest. + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} + * + * @typedef AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var AsyncAnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Multiple async file annotation requests are batched into a single service + * call. + * + * @property {Object[]} requests + * Individual async file annotation requests for this batch. + * + * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1.AsyncAnnotateFileRequest} + * + * @typedef AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var AsyncBatchAnnotateFilesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an async batch file annotation request. + * + * @property {Object[]} responses + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + * + * This object should have the same structure as [AsyncAnnotateFileResponse]{@link google.cloud.vision.v1.AsyncAnnotateFileResponse} + * + * @typedef AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var AsyncBatchAnnotateFilesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The desired input location and metadata. + * + * @property {Object} gcsSource + * The Google Cloud Storage location to read the input from. + * + * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1.GcsSource} + * + * @property {string} mimeType + * The type of the file. Currently only "application/pdf" and "image/tiff" + * are supported. Wildcards are not supported. + * + * @typedef InputConfig + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var InputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The desired output location and metadata. + * + * @property {Object} gcsDestination + * The Google Cloud Storage location to write the output(s) to. + * + * This object should have the same structure as [GcsDestination]{@link google.cloud.vision.v1.GcsDestination} + * + * @property {number} batchSize + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. + * The valid range is [1, 100]. If not specified, the default value is 20. + * + * For example, for one pdf file with 100 pages, 100 response protos will + * be generated. If `batch_size` = 20, then 5 json files each + * containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. + * + * Currently, batch_size only applies to GcsDestination, with potential future + * support for other output configurations. + * + * @typedef OutputConfig + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var OutputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location where the input will be read from. + * + * @property {string} uri + * Google Cloud Storage URI for the input file. This must only be a + * Google Cloud Storage object. Wildcards are not currently supported. + * + * @typedef GcsSource + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var GcsSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location where the output will be written to. + * + * @property {string} uri + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. + * + * Examples: + * + * * File: gs://bucket-name/filename.json + * * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here + * + * If multiple outputs, each response is still AnnotateFileResponse, each of + * which contains some subset of the full list of AnnotateImageResponse. + * Multiple outputs can happen if, for example, the output JSON is too large + * and overflows into multiple sharded files. + * + * @typedef GcsDestination + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var GcsDestination = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Contains metadata for the BatchAnnotateImages operation. + * + * @property {number} state + * Current state of the batch operation. + * + * The number should be among the values of [State]{@link google.cloud.vision.v1.State} + * + * @property {Object} createTime + * The time when the batch request was received. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} updateTime + * The time when the operation result was last updated. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef OperationMetadata + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var OperationMetadata = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Batch operation states. + * + * @enum {number} + * @memberof google.cloud.vision.v1 + */ + State: { + + /** + * Invalid. + */ + STATE_UNSPECIFIED: 0, + + /** + * Request is received. + */ + CREATED: 1, + + /** + * Request is actively being processed. + */ + RUNNING: 2, + + /** + * The batch processing is done. + */ + DONE: 3, + + /** + * The batch processing was cancelled. + */ + CANCELLED: 4 + } +}; + /** * A bucketized representation of likelihood, which is intended to give clients * highly stable results across model upgrades. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index 9ee53c5dae9..4e08e8c8178 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -148,10 +148,12 @@ var TextAnnotation = { * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} * * @property {number} width - * Page width in pixels. + * Page width. For PDFs the unit is points. For images (including + * TIFFs) the unit is pixels. * * @property {number} height - * Page height in pixels. + * Page height. For PDFs the unit is points. For images (including + * TIFFs) the unit is pixels. * * @property {Object[]} blocks * List of blocks of text, images etc on this page. diff --git a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..79ef6344437 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js @@ -0,0 +1,147 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * This resource represents a long-running operation that is the result of a + * network API call. + * + * @property {string} name + * The server-assigned name, which is only unique within the same service that + * originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + * + * @property {Object} metadata + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @property {boolean} done + * If the value is `false`, it means the operation is still in progress. + * If true, the operation is completed, and either `error` or `response` is + * available. + * + * @property {Object} error + * The error result of the operation in case of failure or cancellation. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @property {Object} response + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` + * is the original method name. For example, if the original method name + * is `TakeSnapshot()`, the inferred response type is + * `TakeSnapshotResponse`. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @typedef Operation + * @memberof google.longrunning + * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var Operation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.GetOperation. + * + * @property {string} name + * The name of the operation resource. + * + * @typedef GetOperationRequest + * @memberof google.longrunning + * @see [google.longrunning.GetOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var GetOperationRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.ListOperations. + * + * @property {string} name + * The name of the operation collection. + * + * @property {string} filter + * The standard list filter. + * + * @property {number} pageSize + * The standard list page size. + * + * @property {string} pageToken + * The standard list page token. + * + * @typedef ListOperationsRequest + * @memberof google.longrunning + * @see [google.longrunning.ListOperationsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var ListOperationsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The response message for Operations.ListOperations. + * + * @property {Object[]} operations + * A list of operations that matches the specified filter in the request. + * + * This object should have the same structure as [Operation]{@link google.longrunning.Operation} + * + * @property {string} nextPageToken + * The standard List next-page token. + * + * @typedef ListOperationsResponse + * @memberof google.longrunning + * @see [google.longrunning.ListOperationsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var ListOperationsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.CancelOperation. + * + * @property {string} name + * The name of the operation resource to be cancelled. + * + * @typedef CancelOperationRequest + * @memberof google.longrunning + * @see [google.longrunning.CancelOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var CancelOperationRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.DeleteOperation. + * + * @property {string} name + * The name of the operation resource to be deleted. + * + * @typedef DeleteOperationRequest + * @memberof google.longrunning + * @see [google.longrunning.DeleteOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var DeleteOperationRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index b141c740bba..e1713adfcd4 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -18,6 +18,7 @@ const gapicConfig = require('./image_annotator_client_config'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); +const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -39,10 +40,10 @@ class ImageAnnotatorClient { * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] * @param {string} [options.email] - Account email address. Required when - * usaing a .pem or .p12 keyFilename. + * using a .pem or .p12 keyFilename. * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option above is not necessary. + * a path to a JSON file, the projectId option below is not necessary. * NOTE: .pem and .p12 require you to specify options.email as well. * @param {number} [options.port] - The port on which to connect to * the remote host. @@ -80,7 +81,7 @@ class ImageAnnotatorClient { // Determine the client header string. var clientHeader = [ - `gl-node/${process.version.node}`, + `gl-node/${process.version}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, @@ -97,6 +98,44 @@ class ImageAnnotatorClient { 'google/cloud/vision/v1/image_annotator.proto' ) ); + var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/vision/v1/image_annotator.proto' + ), + protoFilesRoot + ); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + this.operationsClient = new gax.lro({ + auth: gaxGrpc.auth, + grpc: gaxGrpc.grpc, + }).operationsClient(opts); + + var asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + 'google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse' + ); + var asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1.OperationMetadata' + ); + + this._descriptors.longrunning = { + asyncBatchAnnotateFiles: new gax.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateFilesResponse.decode.bind( + asyncBatchAnnotateFilesResponse + ), + asyncBatchAnnotateFilesMetadata.decode.bind( + asyncBatchAnnotateFilesMetadata + ) + ), + }; // Put together the default options sent with requests. var defaults = gaxGrpc.constructSettings( @@ -120,7 +159,10 @@ class ImageAnnotatorClient { // Iterate over each of the methods that the service provides // and create an API call method for each. - var imageAnnotatorStubMethods = ['batchAnnotateImages']; + var imageAnnotatorStubMethods = [ + 'batchAnnotateImages', + 'asyncBatchAnnotateFiles', + ]; for (let methodName of imageAnnotatorStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( imageAnnotatorStub.then( @@ -131,7 +173,7 @@ class ImageAnnotatorClient { } ), defaults[methodName], - null + this._descriptors.longrunning[methodName] ); } } @@ -221,6 +263,107 @@ class ImageAnnotatorClient { return this._innerApiCalls.batchAnnotateImages(request, options, callback); } + + /** + * Run asynchronous image detection and annotation for a list of generic + * files, such as PDF files, which may contain multiple pages and multiple + * images per page. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual async file annotation requests for this batch. + * + * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1.AsyncAnnotateFileRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * var requests = []; + * + * // Handle the operation using the promise pattern. + * client.asyncBatchAnnotateFiles({requests: requests}) + * .then(responses => { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * // The final result of the operation. + * var result = responses[0]; + * + * // The metadata value of the completed operation. + * var metadata = responses[1]; + * + * // The response of the api call returning the complete operation. + * var finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * var requests = []; + * + * // Handle the operation using the event emitter pattern. + * client.asyncBatchAnnotateFiles({requests: requests}) + * .then(responses => { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + asyncBatchAnnotateFiles(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.asyncBatchAnnotateFiles( + request, + options, + callback + ); + } } module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json index a5623731dc0..bd8d8371dee 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json @@ -24,6 +24,11 @@ "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" + }, + "AsyncBatchAnnotateFiles": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" } } } diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py new file mode 100644 index 00000000000..21e9c4db779 --- /dev/null +++ b/packages/google-cloud-vision/synth.py @@ -0,0 +1,45 @@ +# Copyright 2018 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. + +"""This script is used to synthesize generated parts of this library.""" + +import synthtool as s +import synthtool.gcp as gcp +import subprocess + +gapic = gcp.GAPICGenerator() + +versions = ['v1'] + +for version in versions: + library = gapic.node_library('vision', version) + + s.copy(library / 'protos') + s.copy(library / 'src' / version) + s.copy(library / 'samples') + s.copy(library / 'system-test') + s.copy(library / 'test') + +''' +Node.js specific cleanup +''' +# Repo Cleanup/Setup +subprocess.run(['npm', 'install']) + +# Generates scaffolding, enters contributors names +subprocess.run(['npm', 'run', 'generate-scaffolding']) + +# prettify and lint +subprocess.run(['npm', 'run', 'prettier']) +subprocess.run(['npm', 'run', 'lint']) diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 213ebe29102..6a6f942a063 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -79,6 +79,94 @@ describe('ImageAnnotatorClient', () => { }); }); }); + + describe('asyncBatchAnnotateFiles', function() { + it('invokes asyncBatchAnnotateFiles without error', done => { + var client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateFiles with error', done => { + var client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + var client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .metadataDecoder instanceof Function + ); + }); + }); }); function mockSimpleGrpcMethod(expectedRequest, response, error) { @@ -93,3 +181,21 @@ function mockSimpleGrpcMethod(expectedRequest, response, error) { } }; } + +function mockLongRunningGrpcMethod(expectedRequest, response, error) { + return request => { + assert.deepStrictEqual(request, expectedRequest); + var mockOperation = { + promise: function() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} From 6d4d8f15bbb66afabe49e3f70d050a43d0ba002f Mon Sep 17 00:00:00 2001 From: Christopher Wilcox Date: Fri, 15 Jun 2018 11:18:52 -0700 Subject: [PATCH 150/588] bump version to 0.20.0 (#79) --- .../google-cloud-vision/package-lock.json | 7139 +++++++++-------- packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 3 files changed, 3905 insertions(+), 3238 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 226305ff772..c4c42800d55 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.19.0", + "version": "0.20.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.8.0", - "babel-plugin-syntax-trailing-function-commas": "^6.20.0", - "babel-plugin-transform-async-to-generator": "^6.16.0", - "babel-plugin-transform-es2015-destructuring": "^6.19.0", - "babel-plugin-transform-es2015-function-name": "^6.9.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", - "babel-plugin-transform-es2015-parameters": "^6.21.0", - "babel-plugin-transform-es2015-spread": "^6.8.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", - "babel-plugin-transform-exponentiation-operator": "^6.8.0", - "package-hash": "^1.2.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "package-hash": "1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "^1.3.0" + "md5-hex": "1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "^2.0.0", - "babel-plugin-espower": "^2.3.2" + "@ava/babel-plugin-throws-helper": "2.0.0", + "babel-plugin-espower": "2.4.0" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "@concordance/react": { @@ -77,7 +77,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "^1.0.1" + "arrify": "1.0.1" } }, "@google-cloud/common": { @@ -85,20 +85,20 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.9.tgz", "integrity": "sha512-P5jtyfOCF84fzVcT/36XKARRrbCOqozYBliDd7btQ96GuEqKzjPVjxeE4EzdeRQ8QChBpHLrbONsU63Jprw73A==", "requires": { - "@types/duplexify": "^3.5.0", - "@types/request": "^2.47.0", - "arrify": "^1.0.1", - "axios": "^0.18.0", - "duplexify": "^3.5.4", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auth-library": "^1.4.0", - "is": "^3.2.1", - "pify": "^3.0.0", - "request": "^2.85.0", - "retry-request": "^3.3.1", - "split-array-stream": "^2.0.0", - "stream-events": "^1.0.4" + "@types/duplexify": "3.5.0", + "@types/request": "2.47.0", + "arrify": "1.0.1", + "axios": "0.18.0", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auth-library": "1.6.1", + "is": "3.2.1", + "pify": "3.0.0", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "2.0.0", + "stream-events": "1.0.4" } }, "@google-cloud/nodejs-repo-tools": { @@ -115,7 +115,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "^5.5.0", + "semver": "5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -135,9 +135,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "is-fullwidth-code-point": { @@ -158,268 +158,297 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.3.0", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.1", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.9.1", - "istanbul-lib-report": "^1.1.2", - "istanbul-lib-source-maps": "^1.2.2", - "istanbul-reports": "^1.1.3", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.0.2", - "micromatch": "^2.3.11", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.5.4", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.1.1", - "yargs": "^10.0.3", - "yargs-parser": "^8.0.0" + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.4", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.1.1", + "yargs": "10.0.3", + "yargs-parser": "8.0.0" }, "dependencies": { "align-text": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "append-transform": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "array-unique": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, "arrify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "async": { "version": "1.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "babel-code-frame": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-generator": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.6", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-messages": { "version": "6.23.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-runtime": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" } }, "babel-template": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" } }, "babel-traverse": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" } }, "babel-types": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" } }, "babylon": { "version": "6.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "1.8.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "caching-transform": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "cliui": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { "wordwrap": { "version": "0.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } @@ -427,41 +456,48 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "commondir": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "core-js": { "version": "2.5.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", "dev": true }, "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "which": "1.3.0" } }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -469,387 +505,442 @@ }, "debug-log": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", + "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "detect-indent": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esutils": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" } } } }, "expand-brackets": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { "version": "1.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.3" } }, "extglob": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "filename-regex": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", "dev": true }, "fill-range": { "version": "2.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "find-cache-dir": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "for-own": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreground-child": { "version": "1.5.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "globals": { "version": "9.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } }, "has-ansi": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "hosted-git-info": { "version": "2.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invariant": { "version": "2.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-dotfile": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", "dev": true }, "is-equal-shallow": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-extglob": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-finite": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-posix-bracket": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", "dev": true }, "is-primitive": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -857,67 +948,74 @@ }, "istanbul-lib-coverage": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { "version": "1.9.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.1.1", - "semver": "^5.3.0" + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" } }, "istanbul-lib-report": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "supports-color": { "version": "3.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } }, "istanbul-lib-source-maps": { "version": "1.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -927,169 +1025,191 @@ }, "istanbul-reports": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "js-tokens": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "jsesc": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "lodash": { "version": "4.17.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", "dev": true }, "longest": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, "loose-envify": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "lru-cache": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "md5-hex": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.1.0" } }, "merge-source-map": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "micromatch": { "version": "2.3.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mimic-fn": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -1097,505 +1217,575 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" } }, "normalize-path": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object.omit": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", "dev": true }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.1.0" } }, "parse-glob": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "path-exists": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } }, "preserve": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "randomatic": { "version": "1.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } }, "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } }, "read-pkg": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } }, "regenerator-runtime": { "version": "0.11.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regex-cache": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "remove-trailing-separator": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "repeat-element": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "repeating": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "right-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "semver": { "version": "5.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", + "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" } }, "spdx-correct": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { - "spdx-license-ids": "^1.0.2" + "spdx-license-ids": "1.2.2" } }, "spdx-expression-parse": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", "dev": true }, "spdx-license-ids": { "version": "1.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", "dev": true }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "supports-color": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "test-exclude": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", + "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-fast-properties": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, "trim-right": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, "uglify-js": { "version": "2.8.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { "version": "3.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -1603,126 +1793,141 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "validate-npm-package-license": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" } }, "which": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "10.0.3", - "bundled": true, - "dev": true, - "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^8.0.0" + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz", + "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", + "dev": true, + "requires": { + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" }, "dependencies": { "cliui": { "version": "3.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -1731,15 +1936,17 @@ }, "yargs-parser": { "version": "8.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz", + "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } @@ -1752,9 +1959,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "sinon": { @@ -1763,13 +1970,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.1.0", - "lodash.get": "^4.4.2", - "lolex": "^2.2.0", - "nise": "^1.2.0", - "supports-color": "^5.1.0", - "type-detect": "^4.0.5" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.1", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "string-width": { @@ -1778,8 +1985,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -1788,7 +1995,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs": { @@ -1797,18 +2004,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" } } } @@ -1819,27 +2026,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "^0.17.0", - "arrify": "^1.0.0", - "async": "^2.0.1", - "compressible": "^2.0.12", - "concat-stream": "^1.5.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "extend": "^3.0.0", - "gcs-resumable-upload": "^0.10.2", - "hash-stream-validation": "^0.2.1", - "is": "^3.0.1", - "mime": "^2.2.0", - "mime-types": "^2.0.8", - "once": "^1.3.1", - "pumpify": "^1.5.1", - "request": "^2.85.0", - "safe-buffer": "^5.1.1", - "snakeize": "^0.1.0", - "stream-events": "^1.0.1", - "through2": "^2.0.0", - "xdg-basedir": "^3.0.0" + "@google-cloud/common": "0.17.0", + "arrify": "1.0.1", + "async": "2.6.1", + "compressible": "2.0.14", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "extend": "3.0.1", + "gcs-resumable-upload": "0.10.2", + "hash-stream-validation": "0.2.1", + "is": "3.2.1", + "mime": "2.3.1", + "mime-types": "2.1.18", + "once": "1.4.0", + "pumpify": "1.5.1", + "request": "2.87.0", + "safe-buffer": "5.1.2", + "snakeize": "0.1.0", + "stream-events": "1.0.4", + "through2": "2.0.3", + "xdg-basedir": "3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -1848,24 +2055,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "^1.0.3", - "arrify": "^1.0.1", - "concat-stream": "^1.6.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auto-auth": "^0.10.0", - "is": "^3.2.0", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auto-auth": "0.10.1", + "is": "3.2.1", "log-driver": "1.2.7", - "methmeth": "^1.1.0", - "modelo": "^4.2.0", - "request": "^2.79.0", - "retry-request": "^3.0.0", - "split-array-stream": "^1.0.0", - "stream-events": "^1.0.1", - "string-format-obj": "^1.1.0", - "through2": "^2.0.3" + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "1.0.3", + "stream-events": "1.0.4", + "string-format-obj": "1.1.1", + "through2": "2.0.3" } }, "split-array-stream": { @@ -1874,8 +2081,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "^2.4.0", - "is-stream-ended": "^0.1.0" + "async": "2.6.1", + "is-stream-ended": "0.1.4" } } } @@ -1886,10 +2093,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "^0.4.0", - "date-time": "^0.1.1", - "pretty-ms": "^0.2.1", - "text-table": "^0.2.0" + "chalk": "0.4.0", + "date-time": "0.1.1", + "pretty-ms": "0.2.2", + "text-table": "0.2.0" }, "dependencies": { "ansi-styles": { @@ -1904,9 +2111,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" } }, "pretty-ms": { @@ -1915,7 +2122,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "^0.1.0" + "parse-ms": "0.1.2" } }, "strip-ansi": { @@ -1931,14 +2138,14 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" } }, "@nodelib/fs.stat": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz", - "integrity": "sha512-vCpf75JDcdomXvUd7Rn6DfYAVqPAFI66FVjxiWGwh85OLdvfo3paBoPJaam5keIYRyUolnS7SleS/ZPCidCvzw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz", + "integrity": "sha512-LAQ1d4OPfSJ/BMbI2DuizmYrrkD9JMaTdi2hQTlI53lQ4kRQPyZQRS4CYQ7O66bnBBnP/oYdRxbk++X0xuFU6A==" }, "@protobufjs/aspromise": { "version": "1.1.2", @@ -1965,8 +2172,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/inquire": "1.1.0" } }, "@protobufjs/float": { @@ -2019,7 +2226,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "*" + "@types/node": "10.3.3" } }, "@types/form-data": { @@ -2027,7 +2234,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "*" + "@types/node": "10.3.3" } }, "@types/long": { @@ -2036,19 +2243,19 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.1.2.tgz", - "integrity": "sha512-bjk1RIeZBCe/WukrFToIVegOf91Pebr8cXYBwLBIsfiGWVQ+ifwWsT59H3RxrWzWrzd1l/Amk1/ioY5Fq3/bpA==" + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.3.tgz", + "integrity": "sha512-/gwCgiI2e9RzzZTKbl+am3vgNqOt7a9fJ/uxv4SqYKxenoEDNVU3KZEadlpusWhQI0A0dOrZ0T68JYKVjzmgdQ==" }, "@types/request": { "version": "2.47.0", "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.0.tgz", "integrity": "sha512-/KXM5oev+nNCLIgBjkwbk8VqxmzI56woD4VUxn95O+YeQ8hJzcSmIZ1IN3WexiqBb6srzDo2bdMbsXxgXNkz5Q==", "requires": { - "@types/caseless": "*", - "@types/form-data": "*", - "@types/node": "*", - "@types/tough-cookie": "*" + "@types/caseless": "0.12.1", + "@types/form-data": "2.2.1", + "@types/node": "10.3.3", + "@types/tough-cookie": "2.3.3" } }, "@types/tough-cookie": { @@ -2057,9 +2264,9 @@ "integrity": "sha512-MDQLxNFRLasqS4UlkWMSACMKeSm1x4Q3TxzUC7KQUsh6RK1ZrQ0VEyE3yzXcBu+K8ejVj4wuX32eUG02yNp+YQ==" }, "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==" }, "acorn-es7-plugin": { "version": "1.1.7", @@ -2072,7 +2279,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "^3.0.4" + "acorn": "3.3.0" }, "dependencies": { "acorn": { @@ -2088,10 +2295,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -2106,9 +2313,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" }, "dependencies": { "kind-of": { @@ -2117,7 +2324,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2134,7 +2341,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -2155,8 +2362,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -2165,7 +2372,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2187,7 +2394,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "anymatch": { @@ -2196,8 +2403,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -2206,7 +2413,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "array-unique": { @@ -2221,9 +2428,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "expand-brackets": { @@ -2232,7 +2439,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "extglob": { @@ -2241,7 +2448,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-extglob": { @@ -2256,7 +2463,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "kind-of": { @@ -2265,7 +2472,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "micromatch": { @@ -2274,19 +2481,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } } } @@ -2297,7 +2504,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "argv": { @@ -2355,7 +2562,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -2378,8 +2585,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "~0.7.1", - "optjs": "~3.2.2" + "colour": "0.7.1", + "optjs": "3.2.2" } }, "asn1": { @@ -2402,7 +2609,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "async-each": { @@ -2433,89 +2640,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "^1.1.0", - "@ava/babel-preset-transform-test-files": "^3.0.0", - "@ava/write-file-atomic": "^2.2.0", - "@concordance/react": "^1.0.0", - "@ladjs/time-require": "^0.1.4", - "ansi-escapes": "^3.0.0", - "ansi-styles": "^3.1.0", - "arr-flatten": "^1.0.1", - "array-union": "^1.0.1", - "array-uniq": "^1.0.2", - "arrify": "^1.0.0", - "auto-bind": "^1.1.0", - "ava-init": "^0.2.0", - "babel-core": "^6.17.0", - "babel-generator": "^6.26.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "bluebird": "^3.0.0", - "caching-transform": "^1.0.0", - "chalk": "^2.0.1", - "chokidar": "^1.4.2", - "clean-stack": "^1.1.1", - "clean-yaml-object": "^0.1.0", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.0.0", - "cli-truncate": "^1.0.0", - "co-with-promise": "^4.6.0", - "code-excerpt": "^2.1.1", - "common-path-prefix": "^1.0.0", - "concordance": "^3.0.0", - "convert-source-map": "^1.5.1", - "core-assert": "^0.2.0", - "currently-unhandled": "^0.4.1", - "debug": "^3.0.1", - "dot-prop": "^4.1.0", - "empower-core": "^0.6.1", - "equal-length": "^1.0.0", - "figures": "^2.0.0", - "find-cache-dir": "^1.0.0", - "fn-name": "^2.0.0", - "get-port": "^3.0.0", - "globby": "^6.0.0", - "has-flag": "^2.0.0", - "hullabaloo-config-manager": "^1.1.0", - "ignore-by-default": "^1.0.0", - "import-local": "^0.1.1", - "indent-string": "^3.0.0", - "is-ci": "^1.0.7", - "is-generator-fn": "^1.0.0", - "is-obj": "^1.0.0", - "is-observable": "^1.0.0", - "is-promise": "^2.1.0", - "last-line-stream": "^1.0.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.debounce": "^4.0.3", - "lodash.difference": "^4.3.0", - "lodash.flatten": "^4.2.0", - "loud-rejection": "^1.2.0", - "make-dir": "^1.0.0", - "matcher": "^1.0.0", - "md5-hex": "^2.0.0", - "meow": "^3.7.0", - "ms": "^2.0.0", - "multimatch": "^2.1.0", - "observable-to-promise": "^0.5.0", - "option-chain": "^1.0.0", - "package-hash": "^2.0.0", - "pkg-conf": "^2.0.0", - "plur": "^2.0.0", - "pretty-ms": "^3.0.0", - "require-precompiled": "^0.1.0", - "resolve-cwd": "^2.0.0", - "safe-buffer": "^5.1.1", - "semver": "^5.4.1", - "slash": "^1.0.0", - "source-map-support": "^0.5.0", - "stack-utils": "^1.0.1", - "strip-ansi": "^4.0.0", - "strip-bom-buf": "^1.0.0", - "supertap": "^1.0.0", - "supports-color": "^5.0.0", - "trim-off-newlines": "^1.0.1", - "unique-temp-dir": "^1.0.0", - "update-notifier": "^2.3.0" + "@ava/babel-preset-stage-4": "1.1.0", + "@ava/babel-preset-transform-test-files": "3.0.0", + "@ava/write-file-atomic": "2.2.0", + "@concordance/react": "1.0.0", + "@ladjs/time-require": "0.1.4", + "ansi-escapes": "3.1.0", + "ansi-styles": "3.2.1", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.2.0", + "ava-init": "0.2.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.4.1", + "chokidar": "1.7.0", + "clean-stack": "1.3.0", + "clean-yaml-object": "0.1.0", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "cli-truncate": "1.1.0", + "co-with-promise": "4.6.0", + "code-excerpt": "2.1.1", + "common-path-prefix": "1.0.0", + "concordance": "3.0.0", + "convert-source-map": "1.5.1", + "core-assert": "0.2.1", + "currently-unhandled": "0.4.1", + "debug": "3.1.0", + "dot-prop": "4.2.0", + "empower-core": "0.6.2", + "equal-length": "1.0.1", + "figures": "2.0.0", + "find-cache-dir": "1.0.0", + "fn-name": "2.0.1", + "get-port": "3.2.0", + "globby": "6.1.0", + "has-flag": "2.0.0", + "hullabaloo-config-manager": "1.1.1", + "ignore-by-default": "1.0.1", + "import-local": "0.1.1", + "indent-string": "3.2.0", + "is-ci": "1.1.0", + "is-generator-fn": "1.0.0", + "is-obj": "1.0.1", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "last-line-stream": "1.0.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.debounce": "4.0.8", + "lodash.difference": "4.5.0", + "lodash.flatten": "4.4.0", + "loud-rejection": "1.6.0", + "make-dir": "1.3.0", + "matcher": "1.1.1", + "md5-hex": "2.0.0", + "meow": "3.7.0", + "ms": "2.0.0", + "multimatch": "2.1.0", + "observable-to-promise": "0.5.0", + "option-chain": "1.0.0", + "package-hash": "2.0.0", + "pkg-conf": "2.1.0", + "plur": "2.1.2", + "pretty-ms": "3.2.0", + "require-precompiled": "0.1.0", + "resolve-cwd": "2.0.0", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slash": "1.0.0", + "source-map-support": "0.5.6", + "stack-utils": "1.0.1", + "strip-ansi": "4.0.0", + "strip-bom-buf": "1.0.0", + "supertap": "1.0.0", + "supports-color": "5.4.0", + "trim-off-newlines": "1.0.1", + "unique-temp-dir": "1.0.0", + "update-notifier": "2.5.0" }, "dependencies": { "ansi-regex": { @@ -2524,17 +2731,27 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "empower-core": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-0.6.2.tgz", + "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", + "dev": true, + "requires": { + "call-signature": "0.0.2", + "core-js": "2.5.7" + } + }, "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -2555,7 +2772,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "strip-ansi": { @@ -2564,7 +2781,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2575,11 +2792,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "^1.0.0", - "execa": "^0.7.0", - "has-yarn": "^1.0.0", - "read-pkg-up": "^2.0.0", - "write-pkg": "^3.1.0" + "arr-exclude": "1.0.0", + "execa": "0.7.0", + "has-yarn": "1.0.0", + "read-pkg-up": "2.0.0", + "write-pkg": "3.2.0" } }, "aws-sign2": { @@ -2597,8 +2814,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.0", + "is-buffer": "1.1.6" } }, "babel-code-frame": { @@ -2607,9 +2824,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -2624,11 +2841,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -2645,25 +2862,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -2683,14 +2900,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -2707,9 +2924,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-call-delegate": { @@ -2718,10 +2935,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-explode-assignable-expression": { @@ -2730,9 +2947,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -2741,11 +2958,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -2754,8 +2971,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -2764,8 +2981,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -2774,9 +2991,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -2785,11 +3002,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -2798,8 +3015,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-messages": { @@ -2808,7 +3025,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -2817,7 +3034,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-espower": { @@ -2826,13 +3043,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "^6.1.0", - "babylon": "^6.1.0", - "call-matcher": "^1.0.0", - "core-js": "^2.0.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.1.1" + "babel-generator": "6.26.1", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.7", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "babel-plugin-syntax-async-functions": { @@ -2865,9 +3082,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -2876,7 +3093,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -2885,9 +3102,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -2896,10 +3113,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -2908,12 +3125,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -2922,7 +3139,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -2931,9 +3148,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -2942,9 +3159,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -2953,9 +3170,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-strict-mode": { @@ -2964,8 +3181,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-register": { @@ -2974,13 +3191,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "source-map-support": { @@ -2989,7 +3206,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -3000,8 +3217,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -3010,11 +3227,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -3023,15 +3240,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "debug": { @@ -3051,10 +3268,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3073,13 +3290,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3087,7 +3304,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3095,7 +3312,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3103,7 +3320,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3111,9 +3328,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3124,7 +3341,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary-extensions": { @@ -3145,13 +3362,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -3178,8 +3395,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3188,7 +3405,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3198,7 +3415,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -3207,16 +3424,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -3224,7 +3441,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -3247,9 +3464,9 @@ "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, "buffer-from": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", - "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", "dev": true }, "builtin-modules": { @@ -3263,7 +3480,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "~3" + "long": "3.2.0" }, "dependencies": { "long": { @@ -3278,15 +3495,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "cacheable-request": { @@ -3318,9 +3535,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" }, "dependencies": { "md5-hex": { @@ -3329,7 +3546,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "write-file-atomic": { @@ -3338,9 +3555,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } } } @@ -3351,10 +3568,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "^2.0.0", - "deep-equal": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.0.0" + "core-js": "2.5.7", + "deep-equal": "1.0.1", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "call-me-maybe": { @@ -3373,7 +3590,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -3393,8 +3610,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "capture-stack-trace": { @@ -3414,7 +3631,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "~0.3.0" + "underscore-contrib": "0.3.0" } }, "center-align": { @@ -3424,8 +3641,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -3434,9 +3651,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "chardet": { @@ -3451,15 +3668,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.4", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" }, "dependencies": { "glob-parent": { @@ -3468,7 +3685,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -3483,7 +3700,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -3505,10 +3722,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -3516,7 +3733,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -3545,7 +3762,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -3560,8 +3777,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" + "slice-ansi": "1.0.0", + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -3582,8 +3799,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3592,7 +3809,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3608,9 +3825,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone-response": { @@ -3619,7 +3836,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "co": { @@ -3633,7 +3850,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "^1.0.0" + "pinkie-promise": "1.0.0" } }, "code-excerpt": { @@ -3642,7 +3859,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "^1.0.1" + "convert-to-spaces": "1.0.2" } }, "code-point-at": { @@ -3657,7 +3874,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "^2.81.0", + "request": "2.87.0", "urlgrey": "0.4.4" } }, @@ -3666,23 +3883,23 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", "dev": true, "requires": { - "color-name": "^1.1.1" + "color-name": "1.1.1" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", "dev": true }, "colors": { @@ -3701,7 +3918,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -3728,12 +3945,20 @@ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "compressible": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", - "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": ">= 1.33.0 < 2" + "mime-db": "1.34.0" + }, + "dependencies": { + "mime-db": { + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz", + "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o=", + "dev": true + } } }, "concat-map": { @@ -3747,10 +3972,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "concordance": { @@ -3759,17 +3984,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "^2.1.0", - "esutils": "^2.0.2", - "fast-diff": "^1.1.1", - "function-name-support": "^0.2.0", - "js-string-escape": "^1.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.flattendeep": "^4.4.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "semver": "^5.3.0", - "well-known-symbols": "^1.0.0" + "date-time": "2.1.0", + "esutils": "2.0.2", + "fast-diff": "1.1.2", + "function-name-support": "0.2.0", + "js-string-escape": "1.0.1", + "lodash.clonedeep": "4.5.0", + "lodash.flattendeep": "4.4.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "semver": "5.5.0", + "well-known-symbols": "1.0.0" }, "dependencies": { "date-time": { @@ -3778,7 +4003,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "^1.0.0" + "time-zone": "1.0.0" } } } @@ -3789,12 +4014,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "convert-source-map": { @@ -3810,9 +4035,9 @@ "dev": true }, "cookiejar": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz", - "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", "dev": true }, "copy-descriptor": { @@ -3826,14 +4051,14 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "^1.0.0", - "is-error": "^2.2.0" + "buf-compare": "1.0.1", + "is-error": "2.2.1" } }, "core-js": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", - "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==" + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" }, "core-util-is": { "version": "1.0.2", @@ -3846,7 +4071,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "cross-spawn": { @@ -3855,9 +4080,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "crypto-random-string": { @@ -3872,7 +4097,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -3881,7 +4106,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -3889,7 +4114,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-time": { @@ -3922,7 +4147,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "deep-equal": { @@ -3932,9 +4157,9 @@ "dev": true }, "deep-extend": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, "deep-is": { @@ -3948,8 +4173,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.11" } }, "define-property": { @@ -3957,8 +4182,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3966,7 +4191,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3974,7 +4199,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3982,9 +4207,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3995,13 +4220,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" }, "dependencies": { "globby": { @@ -4010,12 +4235,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -4036,7 +4261,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } } } @@ -4052,7 +4277,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "diff": { @@ -4071,8 +4296,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" + "arrify": "1.0.1", + "path-type": "3.0.0" } }, "doctrine": { @@ -4081,7 +4306,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-serializer": { @@ -4090,8 +4315,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -4114,7 +4339,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -4123,8 +4348,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -4133,7 +4358,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "duplexer3": { @@ -4147,16 +4372,16 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" } }, "eastasianwidth": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.1.1.tgz", - "integrity": "sha1-RNZW3p2kFWlEZzNTZfsxR7hXK3w=" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "ecc-jsbn": { "version": "0.1.1", @@ -4164,7 +4389,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "ecdsa-sig-formatter": { @@ -4172,16 +4397,16 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "empower": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/empower/-/empower-1.2.3.tgz", - "integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", + "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "^2.0.0", - "empower-core": "^0.6.2" + "core-js": "2.5.7", + "empower-core": "1.2.0" } }, "empower-assert": { @@ -4190,16 +4415,16 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "^4.2.0" + "estraverse": "4.2.0" } }, "empower-core": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-0.6.2.tgz", - "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-1.2.0.tgz", + "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "end-of-stream": { @@ -4207,7 +4432,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "ent": { @@ -4233,18 +4458,18 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es5-ext": { - "version": "0.10.42", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz", - "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==", + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-error": { @@ -4259,9 +4484,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -4270,12 +4495,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-set": { @@ -4284,11 +4509,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -4297,8 +4522,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "es6-weak-map": { @@ -4307,10 +4532,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escallmatch": { @@ -4319,8 +4544,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "^1.0.0", - "esprima": "^2.0.0" + "call-matcher": "1.0.1", + "esprima": "2.7.3" }, "dependencies": { "esprima": { @@ -4338,16 +4563,16 @@ "dev": true }, "escodegen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", - "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.10.0.tgz", + "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -4371,10 +4596,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint": { @@ -4383,44 +4608,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.0.1", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "concat-stream": "1.6.2", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.5.0", + "ignore": "3.3.8", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", "table": "4.0.2", - "text-table": "~0.2.0" + "text-table": "0.2.0" }, "dependencies": { "ansi-regex": { @@ -4441,7 +4666,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -4452,7 +4677,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "^5.0.1" + "get-stdin": "5.0.1" }, "dependencies": { "get-stdin": { @@ -4469,10 +4694,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "^3.3.6", - "minimatch": "^3.0.4", - "resolve": "^1.3.3", - "semver": "^5.4.1" + "ignore": "3.3.8", + "minimatch": "3.0.4", + "resolve": "1.7.1", + "semver": "5.5.0" }, "dependencies": { "resolve": { @@ -4481,7 +4706,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } } } @@ -4492,8 +4717,8 @@ "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", "dev": true, "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" + "fast-diff": "1.1.2", + "jest-docblock": "21.2.0" } }, "eslint-scope": { @@ -4502,8 +4727,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint-visitor-keys": { @@ -4518,16 +4743,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "^1.0.0", - "escallmatch": "^1.5.0", - "escodegen": "^1.7.0", - "escope": "^3.3.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.3.0", - "estraverse": "^4.1.0", - "source-map": "^0.5.0", - "type-name": "^2.0.0", - "xtend": "^4.0.0" + "array-find": "1.0.0", + "escallmatch": "1.5.0", + "escodegen": "1.10.0", + "escope": "3.6.0", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0", + "source-map": "0.5.7", + "type-name": "2.0.2", + "xtend": "4.0.1" } }, "espower-loader": { @@ -4536,11 +4761,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "^1.1.0", - "espower-source": "^2.0.0", - "minimatch": "^3.0.0", - "source-map-support": "^0.4.0", - "xtend": "^4.0.0" + "convert-source-map": "1.5.1", + "espower-source": "2.3.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" }, "dependencies": { "source-map-support": { @@ -4549,7 +4774,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -4560,37 +4785,29 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "^1.2.1", - "path-is-absolute": "^1.0.0", - "source-map": "^0.5.0", - "xtend": "^4.0.0" + "is-url": "1.2.4", + "path-is-absolute": "1.0.1", + "source-map": "0.5.7", + "xtend": "4.0.1" } }, "espower-source": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/espower-source/-/espower-source-2.2.0.tgz", - "integrity": "sha1-fgBSVa5HtcE2RIZEs/PYAtUD91I=", - "dev": true, - "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.10", - "convert-source-map": "^1.1.1", - "empower-assert": "^1.0.0", - "escodegen": "^1.6.1", - "espower": "^2.0.0", - "estraverse": "^4.0.0", - "merge-estraverse-visitors": "^1.0.0", - "multi-stage-sourcemap": "^0.2.1", - "path-is-absolute": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", - "dev": true - } + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/espower-source/-/espower-source-2.3.0.tgz", + "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", + "dev": true, + "requires": { + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.1", + "empower-assert": "1.1.0", + "escodegen": "1.10.0", + "espower": "2.1.1", + "estraverse": "4.2.0", + "merge-estraverse-visitors": "1.0.0", + "multi-stage-sourcemap": "0.2.1", + "path-is-absolute": "1.0.1", + "xtend": "4.0.1" } }, "espree": { @@ -4599,16 +4816,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", - "dev": true - } + "acorn": "5.7.1", + "acorn-jsx": "3.0.1" } }, "esprima": { @@ -4622,7 +4831,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "esquery": { @@ -4631,7 +4840,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -4640,7 +4849,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -4660,8 +4869,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "execa": { @@ -4670,13 +4879,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -4684,13 +4893,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -4706,7 +4915,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -4714,7 +4923,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4725,7 +4934,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { @@ -4734,11 +4943,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "is-number": { @@ -4747,7 +4956,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "isobject": { @@ -4765,7 +4974,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4780,8 +4989,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -4789,7 +4998,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -4800,9 +5009,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -4810,14 +5019,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -4825,7 +5034,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -4833,7 +5042,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -4841,7 +5050,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4849,7 +5058,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4857,9 +5066,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -4885,12 +5094,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.0", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" } }, "fast-json-stable-stringify": { @@ -4910,7 +5119,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -4919,8 +5128,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.0", + "object-assign": "4.1.1" } }, "filename-regex": { @@ -4935,8 +5144,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" } }, "fill-range": { @@ -4944,10 +5153,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -4955,7 +5164,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4966,9 +5175,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" } }, "find-up": { @@ -4977,7 +5186,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "flat-cache": { @@ -4986,10 +5195,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" } }, "fn-name": { @@ -5003,7 +5212,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" } }, "for-in": { @@ -5017,7 +5226,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -5035,9 +5244,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.18" } }, "formidable": { @@ -5051,7 +5260,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "from2": { @@ -5060,8 +5269,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "fs-extra": { @@ -5070,9 +5279,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" } }, "fs.realpath": { @@ -5087,81 +5296,93 @@ "dev": true, "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "chownr": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "requires": { @@ -5170,160 +5391,180 @@ }, "deep-extend": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "optional": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.21", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "minipass": { "version": "2.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", + "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "dev": true, "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -5331,145 +5572,162 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "needle": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", + "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { "version": "0.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", + "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "dev": true, "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true } @@ -5477,134 +5735,151 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { "version": "5.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", + "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "yallist": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "dev": true } } @@ -5626,8 +5901,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "^0.18.0", - "extend": "^3.0.1", + "axios": "0.18.0", + "extend": "3.0.1", "retry-axios": "0.3.2" } }, @@ -5637,11 +5912,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "^3.1.2", - "google-auto-auth": "^0.10.0", - "pumpify": "^1.4.0", - "request": "^2.85.0", - "stream-events": "^1.0.3" + "configstore": "3.1.2", + "google-auto-auth": "0.10.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "stream-events": "1.0.4" } }, "get-caller-file": { @@ -5678,7 +5953,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -5686,12 +5961,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -5700,8 +5975,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" }, "dependencies": { "glob-parent": { @@ -5710,7 +5985,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -5725,7 +6000,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -5735,8 +6010,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -5744,7 +6019,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -5760,7 +6035,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { @@ -5774,27 +6049,27 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.2", + "ignore": "3.3.8", + "pify": "3.0.0", + "slash": "1.0.0" } }, "google-auth-library": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.5.0.tgz", - "integrity": "sha512-xpibA/hkq4waBcpIkSJg4GiDAqcBWjJee3c47zj7xP3RQ0A9mc8MP3Vc9sc8SGRoDYA0OszZxTjW7SbcC4pJIA==", - "requires": { - "axios": "^0.18.0", - "gcp-metadata": "^0.6.3", - "gtoken": "^2.3.0", - "jws": "^3.1.4", - "lodash.isstring": "^4.0.1", - "lru-cache": "^4.1.2", - "retry-axios": "^0.3.2" + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", + "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", + "requires": { + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.3.0", + "jws": "3.1.5", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.3", + "retry-axios": "0.3.2" } }, "google-auto-auth": { @@ -5802,10 +6077,10 @@ "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz", "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "requires": { - "async": "^2.3.0", - "gcp-metadata": "^0.6.1", - "google-auth-library": "^1.3.1", - "request": "^2.79.0" + "async": "2.6.1", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.6.1", + "request": "2.87.0" } }, "google-gax": { @@ -5813,16 +6088,16 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz", "integrity": "sha512-eP7UUkKvaHmmvCrr+rxzkIOeEKOnXmoib7/AkENDAuqlC9T2+lWlzwpthDRnitQcV8SblDMzsk73YPMPCDwPyQ==", "requires": { - "duplexify": "^3.5.4", - "extend": "^3.0.0", - "globby": "^8.0.0", - "google-auto-auth": "^0.10.0", - "google-proto-files": "^0.15.0", - "grpc": "^1.10.0", - "is-stream-ended": "^0.1.0", - "lodash": "^4.17.2", - "protobufjs": "^6.8.0", - "through2": "^2.0.3" + "duplexify": "3.6.0", + "extend": "3.0.1", + "globby": "8.0.1", + "google-auto-auth": "0.10.1", + "google-proto-files": "0.15.1", + "grpc": "1.12.3", + "is-stream-ended": "0.1.4", + "lodash": "4.17.10", + "protobufjs": "6.8.6", + "through2": "2.0.3" } }, "google-p12-pem": { @@ -5830,8 +6105,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "^0.7.4", - "pify": "^3.0.0" + "node-forge": "0.7.5", + "pify": "3.0.0" } }, "google-proto-files": { @@ -5839,9 +6114,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", "requires": { - "globby": "^7.1.1", - "power-assert": "^1.4.4", - "protobufjs": "^6.8.0" + "globby": "7.1.1", + "power-assert": "1.6.0", + "protobufjs": "6.8.6" }, "dependencies": { "globby": { @@ -5849,12 +6124,12 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.8", + "pify": "3.0.0", + "slash": "1.0.0" } } } @@ -5865,23 +6140,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" }, "dependencies": { "prepend-http": { @@ -5896,7 +6171,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "2.0.0" } } } @@ -5914,428 +6189,495 @@ "dev": true }, "grpc": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.11.3.tgz", - "integrity": "sha512-7fJ40USpnP7hxGK0uRoEhJz6unA5VUdwInfwAY2rK2+OVxdDJSdTZQ/8/M+1tW68pHZYgHvg2ohvJ+clhW3ANg==", - "requires": { - "lodash": "^4.15.0", - "nan": "^2.0.0", - "node-pre-gyp": "^0.10.0", - "protobufjs": "^5.0.0" + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.3.tgz", + "integrity": "sha512-QPwbAXRXd8IyXAhTdUVgjEqSdvXoTq5uFWSo+eGMTcra12PBJUkAceD+1AUVOx1GqBY74/7T7eB7BB+UOcOY8w==", + "requires": { + "lodash": "4.17.10", + "nan": "2.10.0", + "node-pre-gyp": "0.10.0", + "protobufjs": "5.0.3" }, "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "aproba": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "chownr": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" }, "code-point-at": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "core-util-is": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "deep-extend": { "version": "0.5.1", - "bundled": true + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==" }, "delegates": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "detect-libc": { "version": "1.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.0" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { "version": "2.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "iconv-lite": { - "version": "0.4.19", - "bundled": true + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": "2.1.2" + } }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.5", - "bundled": true + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "minipass": { - "version": "2.2.4", - "bundled": true, + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.0.tgz", + "integrity": "sha512-jWC2Eg+Np4bxah7llu1IrUNSJQxtLz/J+pOjTM0nFpJXGAaV18XBWhUn031Q1tAA/TJtA1jgwnOe9S2PQa4Lbg==", "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.0" } }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" }, "dependencies": { "minimist": { "version": "0.0.8", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, "ms": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "needle": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.1.tgz", + "integrity": "sha512-t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q==", "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.23", + "sax": "1.2.4" } }, "node-pre-gyp": { "version": "0.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", + "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.1", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.2" } }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { "version": "1.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==" }, "npm-packlist": { "version": "1.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "object-assign": { "version": "4.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-tmpdir": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "process-nextick-args": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "protobufjs": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "~1", - "bytebuffer": "~5", - "glob": "^7.0.5", - "yargs": "^3.10.0" + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" } }, "rc": { "version": "1.2.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { - "version": "5.1.1", - "bundled": true + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sax": { "version": "1.2.4", - "bundled": true + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { "version": "5.5.0", - "bundled": true + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "set-blocking": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "signal-exit": { "version": "3.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "tar": { "version": "4.4.2", - "bundled": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "bundled": true - } + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.2.tgz", + "integrity": "sha512-BfkE9CciGGgDsATqkikUHrQrraBCO+ke/1f6SFAEMnxyyfN9lxC+nW1NFWMpqH865DhHIy9vQi682gk1X7friw==", + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.0", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "util-deprecate": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "yallist": { "version": "3.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" } } }, @@ -6344,11 +6686,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "^0.18.0", - "google-p12-pem": "^1.0.0", - "jws": "^3.1.4", - "mime": "^2.2.0", - "pify": "^3.0.0" + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.5", + "mime": "2.3.1", + "pify": "3.0.0" } }, "handlebars": { @@ -6357,10 +6699,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -6375,7 +6717,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -6390,8 +6732,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has-ansi": { @@ -6400,7 +6742,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-color": { @@ -6427,7 +6769,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "^1.4.1" + "has-symbol-support-x": "1.4.2" } }, "has-value": { @@ -6435,9 +6777,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -6445,8 +6787,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -6454,7 +6796,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6471,7 +6813,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "he": { @@ -6486,8 +6828,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -6502,12 +6844,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.4.2", + "domutils": "1.7.0", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "http-cache-semantics": { @@ -6521,9 +6863,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "hullabaloo-config-manager": { @@ -6532,20 +6874,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "es6-error": "^4.0.2", - "graceful-fs": "^4.1.11", - "indent-string": "^3.1.0", - "json5": "^0.5.1", - "lodash.clonedeep": "^4.5.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "package-hash": "^2.0.0", - "pkg-dir": "^2.0.0", - "resolve-from": "^3.0.0", - "safe-buffer": "^5.0.1" + "dot-prop": "4.2.0", + "es6-error": "4.1.1", + "graceful-fs": "4.1.11", + "indent-string": "3.2.0", + "json5": "0.5.1", + "lodash.clonedeep": "4.5.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.isequal": "4.5.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "package-hash": "2.0.0", + "pkg-dir": "2.0.0", + "resolve-from": "3.0.0", + "safe-buffer": "5.1.2" } }, "iconv-lite": { @@ -6554,7 +6896,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore": { @@ -6580,8 +6922,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -6606,8 +6948,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -6627,8 +6969,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "^2.14.1", - "sanitize-html": "^1.13.0" + "moment": "2.22.2", + "sanitize-html": "1.18.2" } }, "inquirer": { @@ -6637,20 +6979,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -6671,8 +7013,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -6681,7 +7023,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -6692,7 +7034,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "^1.0.0" + "espower-loader": "1.2.2" } }, "into-stream": { @@ -6701,8 +7043,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" + "from2": "2.3.0", + "p-is-promise": "1.1.0" } }, "invariant": { @@ -6711,7 +7053,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -6735,7 +7077,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6743,7 +7085,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6760,7 +7102,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -6774,7 +7116,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-ci": { @@ -6783,7 +7125,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -6791,7 +7133,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6799,7 +7141,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6809,9 +7151,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -6833,7 +7175,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-error": { @@ -6858,7 +7200,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -6866,7 +7208,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-generator-fn": { @@ -6880,7 +7222,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -6889,8 +7231,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-npm": { @@ -6904,7 +7246,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6912,7 +7254,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6935,7 +7277,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "^1.1.0" + "symbol-observable": "1.2.0" } }, "is-odd": { @@ -6943,7 +7285,7 @@ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -6965,7 +7307,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -6974,7 +7316,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -6988,7 +7330,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-posix-bracket": { @@ -7087,8 +7429,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" } }, "jest-docblock": { @@ -7110,13 +7452,13 @@ "dev": true }, "js-yaml": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", - "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "js2xmlparser": { @@ -7125,7 +7467,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "^1.0.1" + "xmlcreate": "1.0.2" } }, "jsbn": { @@ -7141,17 +7483,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "~3.5.0", - "catharsis": "~0.8.9", - "escape-string-regexp": "~1.0.5", - "js2xmlparser": "~3.0.0", - "klaw": "~2.0.0", - "marked": "~0.3.6", - "mkdirp": "~0.5.1", - "requizzle": "~0.2.1", - "strip-json-comments": "~2.0.1", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", "taffydb": "2.6.2", - "underscore": "~1.8.3" + "underscore": "1.8.3" }, "dependencies": { "babylon": { @@ -7213,7 +7555,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsprim": { @@ -7240,7 +7582,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "jws": { @@ -7248,8 +7590,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "^1.1.5", - "safe-buffer": "^5.0.1" + "jwa": "1.1.6", + "safe-buffer": "5.1.2" } }, "keyv": { @@ -7272,7 +7614,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "last-line-stream": { @@ -7281,7 +7623,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "latest-version": { @@ -7290,7 +7632,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -7305,7 +7647,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -7314,8 +7656,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -7324,10 +7666,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" }, "dependencies": { "pify": { @@ -7344,8 +7686,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -7436,9 +7778,9 @@ "dev": true }, "lolex": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.6.0.tgz", - "integrity": "sha512-e1UtIo1pbrIqEXib/yMjHciyqkng5lc0rrIbytgjmRgDR9+2ceNIAcwOWSgylRjoEP9VdVguCSRwnNmlbnOUwA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.0.tgz", + "integrity": "sha512-uJkH2e0BVfU5KOJUevbTOtpDduooSarH5PopO+LfM/vZf8Z9sJzODqKev804JYM2i++ktJfUmC1le4LwFQ1VMg==", "dev": true }, "long": { @@ -7458,7 +7800,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -7467,8 +7809,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowercase-keys": { @@ -7482,8 +7824,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -7492,7 +7834,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "map-cache": { @@ -7511,7 +7853,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "marked": { @@ -7521,12 +7863,12 @@ "dev": true }, "matcher": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.0.tgz", - "integrity": "sha512-aZGv6JBTHqfqAd09jmAlbKnAICTfIvb5Z8gXVxPB5WZtFfHMaAMdACL7tQflD2V+6/8KNcY8s6DYtWLgpJP5lA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz", + "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.4" + "escape-string-regexp": "1.0.5" } }, "math-random": { @@ -7541,7 +7883,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -7556,7 +7898,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "meow": { @@ -7565,16 +7907,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "find-up": { @@ -7583,8 +7925,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "load-json-file": { @@ -7593,11 +7935,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "minimist": { @@ -7612,7 +7954,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-type": { @@ -7621,9 +7963,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -7644,7 +7986,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "read-pkg": { @@ -7653,9 +7995,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -7664,8 +8006,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "strip-bom": { @@ -7674,7 +8016,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } } } @@ -7691,7 +8033,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "merge2": { @@ -7716,19 +8058,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "mime": { @@ -7746,7 +8088,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { @@ -7766,7 +8108,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -7780,8 +8122,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -7789,7 +8131,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -7835,9 +8177,9 @@ "dev": true }, "moment": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz", - "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ==", + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=", "dev": true }, "ms": { @@ -7851,7 +8193,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "^0.1.34" + "source-map": "0.1.43" }, "dependencies": { "source-map": { @@ -7860,7 +8202,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -7871,10 +8213,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" } }, "mute-stream": { @@ -7893,18 +8235,18 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "natural-compare": { @@ -7920,16 +8262,16 @@ "dev": true }, "nise": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.3.3.tgz", - "integrity": "sha512-v1J/FLUB9PfGqZLGDBhQqODkbLotP0WtLo9R4EJY2PPu5f5Xg4o0rA8FDlmrjFSv9vBBKcfnOSpfYYuu5RTHqg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.1.tgz", + "integrity": "sha512-9JX3YwoIt3kS237scmSSOpEv7vCukVzLfwK0I0XhocDSHUANid8ZHnLEULbbSkfeMn98B2y5kphIWzZUylESRQ==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "just-extend": "^1.1.27", - "lolex": "^2.3.2", - "path-to-regexp": "^1.7.0", - "text-encoding": "^0.6.4" + "@sinonjs/formatio": "2.0.0", + "just-extend": "1.1.27", + "lolex": "2.7.0", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" } }, "node-forge": { @@ -7949,10 +8291,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -7961,7 +8303,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-url": { @@ -7970,9 +8312,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" }, "dependencies": { "prepend-http": { @@ -7989,7 +8331,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -7998,411 +8340,456 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nyc": { - "version": "11.8.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.8.0.tgz", - "integrity": "sha512-PUFq1PSsx5OinSk5g5aaZygcDdI3QQT5XUlbR9QRMihtMS6w0Gm8xj4BxmKeeAlpQXC5M2DIhH16Y+KejceivQ==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.2", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.10.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.3", - "istanbul-reports": "^1.4.0", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", + "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", + "dev": true, + "requires": { + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.3", + "istanbul-reports": "1.4.0", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", "yargs": "11.1.0", - "yargs-parser": "^8.0.0" + "yargs-parser": "8.1.0" }, "dependencies": { "align-text": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "append-transform": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "arr-flatten": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "arr-union": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-unique": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "arrify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "assign-symbols": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, "async": { "version": "1.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "atob": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, "babel-code-frame": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-generator": { "version": "6.26.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-messages": { "version": "6.23.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-runtime": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.6", + "regenerator-runtime": "0.11.1" } }, "babel-template": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" } }, "babel-types": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { "version": "6.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "base": { "version": "0.11.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "cache-base": { "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" }, "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "caching-transform": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "class-utils": { "version": "0.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "cliui": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { "wordwrap": { "version": "0.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } @@ -8410,60 +8797,70 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "collection-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "commondir": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "component-emitter": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "copy-descriptor": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, "core-js": { "version": "2.5.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==", "dev": true }, "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.0" } }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -8471,670 +8868,756 @@ }, "debug-log": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", + "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-property": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "detect-indent": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esutils": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.0" } } } }, "expand-brackets": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } }, "extend-shallow": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } }, "extglob": { "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "fill-range": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } }, "find-cache-dir": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "foreground-child": { "version": "1.5.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fragment-cache": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "get-value": { "version": "2.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "globals": { "version": "9.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } }, "has-ansi": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "has-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "has-values": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } }, "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } }, "hosted-git-info": { "version": "2.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invariant": { "version": "2.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "is-extendable": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-finite": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "is-windows": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", + "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { "version": "1.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", + "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" } }, "istanbul-lib-report": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", + "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "supports-color": { "version": "3.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } }, "istanbul-lib-source-maps": { "version": "1.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz", + "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -9144,215 +9627,243 @@ }, "istanbul-reports": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.4.0.tgz", + "integrity": "sha512-OPzVo1fPZ2H+owr8q/LYKLD+vquv9Pj4F+dj808MdHbuQLD7S4ACRjcX+0Tne5Vxt2lxXvdZaL7v+FOOAV281w==", "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "js-tokens": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "jsesc": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "lodash": { "version": "4.17.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true }, "longest": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, "loose-envify": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "lru-cache": { "version": "4.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "map-cache": { "version": "0.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5-hex": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge-source-map": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", "dev": true, "requires": { - "source-map": "^0.6.1" + "source-map": "0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "micromatch": { "version": "3.1.10", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mixin-deep": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -9360,1008 +9871,1133 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "nanomatch": { "version": "1.2.9", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "arr-diff": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "array-unique": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-copy": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } }, "object-visit": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "object.pick": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pascalcase": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, "path-exists": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } }, "posix-character-classes": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "read-pkg": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } }, "regenerator-runtime": { "version": "0.11.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regex-not": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "repeat-element": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "repeating": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "resolve-url": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "ret": { "version": "0.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, "right-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-regex": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "set-value": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "snapdragon": { "version": "0.8.2", - "bundled": true, - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "3.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } }, "snapdragon-node": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", "dev": true, "requires": { - "atob": "^2.0.0", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", + "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" } }, "spdx-correct": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "split-string": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "static-extend": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "supports-color": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "test-exclude": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", + "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" }, "dependencies": { "arr-diff": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "array-unique": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "braces": { "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } }, "expand-brackets": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "extglob": { "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } }, "fill-range": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true }, "micromatch": { "version": "3.1.10", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } }, "to-fast-properties": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, "to-object-path": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" }, "dependencies": { "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } } } }, "trim-right": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, "uglify-js": { "version": "2.8.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { "version": "3.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -10369,64 +11005,71 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { "version": "0.4.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } }, "unset-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { "version": "0.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -10436,191 +11079,216 @@ }, "has-values": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true } } }, "urix": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "use": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "which": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "11.1.0", - "bundled": true, - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "cliui": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs-parser": { "version": "9.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } }, "yargs-parser": { "version": "8.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } @@ -10643,9 +11311,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -10653,7 +11321,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "kind-of": { @@ -10661,7 +11329,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10676,7 +11344,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.omit": { @@ -10685,8 +11353,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -10694,7 +11362,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "observable-to-promise": { @@ -10703,8 +11371,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "^0.2.0", - "symbol-observable": "^1.0.4" + "is-observable": "0.2.0", + "symbol-observable": "1.2.0" }, "dependencies": { "is-observable": { @@ -10713,7 +11381,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "^0.2.2" + "symbol-observable": "0.2.4" }, "dependencies": { "symbol-observable": { @@ -10731,7 +11399,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -10740,7 +11408,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -10749,8 +11417,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "option-chain": { @@ -10765,12 +11433,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -10797,7 +11465,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-tmpdir": { @@ -10825,12 +11493,12 @@ "dev": true }, "p-limit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -10839,7 +11507,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-timeout": { @@ -10848,7 +11516,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "^1.0.0" + "p-finally": "1.0.0" } }, "p-try": { @@ -10863,10 +11531,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "lodash.flattendeep": "^4.4.0", - "md5-hex": "^2.0.0", - "release-zalgo": "^1.0.0" + "graceful-fs": "4.1.11", + "lodash.flattendeep": "4.4.0", + "md5-hex": "2.0.0", + "release-zalgo": "1.0.0" } }, "package-json": { @@ -10875,10 +11543,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" }, "dependencies": { "got": { @@ -10887,17 +11555,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } } } @@ -10908,10 +11576,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" }, "dependencies": { "is-extglob": { @@ -10926,7 +11594,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -10937,7 +11605,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "parse-ms": { @@ -11007,7 +11675,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "performance-now": { @@ -11032,7 +11700,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "^1.0.0" + "pinkie": "1.0.0" } }, "pkg-conf": { @@ -11041,8 +11709,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" + "find-up": "2.1.0", + "load-json-file": "4.0.0" }, "dependencies": { "load-json-file": { @@ -11051,10 +11719,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "parse-json": { @@ -11063,8 +11731,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.2" } } } @@ -11075,7 +11743,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" } }, "plur": { @@ -11084,7 +11752,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "^1.0.0" + "irregular-plurals": "1.4.0" } }, "pluralize": { @@ -11104,9 +11772,9 @@ "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" }, "dependencies": { "source-map": { @@ -11118,45 +11786,45 @@ } }, "power-assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.5.0.tgz", - "integrity": "sha512-WaWSw+Ts283o6dzxW1BxIxoaHok7aSSGx4SaR6dW62Pk31ynv9DERDieuZpPYv5XaJ+H+zdcOaJQ+PvlasAOVw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", + "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "^1.1.2", - "empower": "^1.2.3", - "power-assert-formatter": "^1.3.1", - "universal-deep-strict-equal": "^1.2.1", - "xtend": "^4.0.0" + "define-properties": "1.1.2", + "empower": "1.3.0", + "power-assert-formatter": "1.4.1", + "universal-deep-strict-equal": "1.2.2", + "xtend": "4.0.1" } }, "power-assert-context-formatter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz", - "integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", + "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "^2.0.0", - "power-assert-context-traversal": "^1.1.1" + "core-js": "2.5.7", + "power-assert-context-traversal": "1.2.0" } }, "power-assert-context-reducer-ast": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.1.2.tgz", - "integrity": "sha1-SEqZ4m9Jc/+IMuXFzHVnAuYJQXQ=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", + "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "^4.0.0", - "acorn-es7-plugin": "^1.0.12", - "core-js": "^2.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.2.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "core-js": "2.5.7", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "power-assert-context-traversal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz", - "integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", + "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "^2.0.0", - "estraverse": "^4.1.0" + "core-js": "2.5.7", + "estraverse": "4.2.0" } }, "power-assert-formatter": { @@ -11164,22 +11832,22 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "^2.0.0", - "power-assert-context-formatter": "^1.0.7", - "power-assert-context-reducer-ast": "^1.0.7", - "power-assert-renderer-assertion": "^1.0.7", - "power-assert-renderer-comparison": "^1.0.7", - "power-assert-renderer-diagram": "^1.0.7", - "power-assert-renderer-file": "^1.0.7" + "core-js": "2.5.7", + "power-assert-context-formatter": "1.2.0", + "power-assert-context-reducer-ast": "1.2.0", + "power-assert-renderer-assertion": "1.2.0", + "power-assert-renderer-comparison": "1.2.0", + "power-assert-renderer-diagram": "1.2.0", + "power-assert-renderer-file": "1.2.0" } }, "power-assert-renderer-assertion": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz", - "integrity": "sha1-y/wOd+AIao+Wrz8djme57n4ozpg=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", + "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.1.1" + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0" } }, "power-assert-renderer-base": { @@ -11188,42 +11856,42 @@ "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=" }, "power-assert-renderer-comparison": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.1.1.tgz", - "integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", + "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "^2.0.0", - "diff-match-patch": "^1.0.0", - "power-assert-renderer-base": "^1.1.1", - "stringifier": "^1.3.0", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "diff-match-patch": "1.0.1", + "power-assert-renderer-base": "1.1.1", + "stringifier": "1.3.0", + "type-name": "2.0.2" } }, "power-assert-renderer-diagram": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.2.tgz", - "integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", + "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "^2.0.0", - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.1.1", - "stringifier": "^1.3.0" + "core-js": "2.5.7", + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0", + "stringifier": "1.3.0" } }, "power-assert-renderer-file": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.1.1.tgz", - "integrity": "sha1-o34rvReMys0E5427eckv40kzxec=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", + "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "^1.1.1" + "power-assert-renderer-base": "1.1.1" } }, "power-assert-util-string-width": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz", - "integrity": "sha1-vmWet5N/3S5smncmjar2S9W3xZI=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", + "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "^0.1.1" + "eastasianwidth": "0.2.0" } }, "prelude-ls": { @@ -11245,19 +11913,18 @@ "dev": true }, "prettier": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.12.1.tgz", - "integrity": "sha1-wa0g6APndJ+vkFpAnSNn4Gu+cyU=", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.5.tgz", + "integrity": "sha512-4M90mfvLz6yRf2Dhzd+xPIE6b4xkI8nHMJhsSm9IlfG17g6wujrrm7+H1X8x52tC4cSNm6HmuhCUSNe6Hd5wfw==", "dev": true }, "pretty-ms": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.1.0.tgz", - "integrity": "sha1-6crJx2v27lL+lC3ZxsQhMVOxKIE=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.2.0.tgz", + "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "^1.0.0", - "plur": "^2.1.2" + "parse-ms": "1.0.1" }, "dependencies": { "parse-ms": { @@ -11290,25 +11957,25 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^3.0.32", - "@types/node": "^8.9.4", - "long": "^4.0.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/base64": "1.1.2", + "@protobufjs/codegen": "2.0.4", + "@protobufjs/eventemitter": "1.1.0", + "@protobufjs/fetch": "1.1.0", + "@protobufjs/float": "1.0.2", + "@protobufjs/inquire": "1.1.0", + "@protobufjs/path": "1.1.2", + "@protobufjs/pool": "1.1.0", + "@protobufjs/utf8": "1.1.0", + "@types/long": "3.0.32", + "@types/node": "8.10.20", + "long": "4.0.0" }, "dependencies": { "@types/node": { - "version": "8.10.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.17.tgz", - "integrity": "sha512-3N3FRd/rA1v5glXjb90YdYUa+sOB7WrkU2rAhKZnF4TKD86Cym9swtulGuH0p9nxo7fP5woRNa8b0oFTpCO1bg==" + "version": "8.10.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.20.tgz", + "integrity": "sha512-M7x8+5D1k/CuA6jhiwuSCmE8sbUWJF0wYsjcig9WrXvwUI5ArEoUBdOXpV4JcEMrLp02/QbDjw+kI+vQeKyQgg==" } } }, @@ -11318,9 +11985,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.0", - "resolve": "~1.1.7" + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" } }, "pseudomap": { @@ -11334,8 +12001,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -11344,9 +12011,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -11365,9 +12032,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, "randomatic": { @@ -11376,9 +12043,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -11390,15 +12057,15 @@ } }, "rc": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -11415,9 +12082,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" }, "dependencies": { "path-type": { @@ -11426,7 +12093,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "pify": { @@ -11443,8 +12110,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "readable-stream": { @@ -11452,13 +12119,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -11467,10 +12134,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, "redent": { @@ -11479,8 +12146,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" }, "dependencies": { "indent-string": { @@ -11489,7 +12156,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } } } @@ -11512,7 +12179,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -11520,8 +12187,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpp": { @@ -11536,9 +12203,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -11547,8 +12214,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.8", + "safe-buffer": "5.1.2" } }, "registry-url": { @@ -11557,7 +12224,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.8" } }, "regjsgen": { @@ -11572,7 +12239,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" } }, "release-zalgo": { @@ -11581,7 +12248,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "^4.0.1" + "es6-error": "4.1.1" } }, "remove-trailing-separator": { @@ -11606,7 +12273,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -11614,26 +12281,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" } }, "require-directory": { @@ -11660,8 +12327,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" }, "dependencies": { "resolve-from": { @@ -11678,7 +12345,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "~1.6.0" + "underscore": "1.6.0" }, "dependencies": { "underscore": { @@ -11701,7 +12368,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -11721,7 +12388,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "1.0.1" } }, "restore-cursor": { @@ -11730,8 +12397,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -11745,12 +12412,12 @@ "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==" }, "retry-request": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.1.tgz", - "integrity": "sha512-PjAmtWIxjNj4Co/6FRtBl8afRP3CxrrIAnUzb1dzydfROd+6xt7xAebFeskgQgkfFf8NmzrXIoaB3HxmswXyxw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", + "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "requires": { - "request": "^2.81.0", - "through2": "^2.0.0" + "request": "2.87.0", + "through2": "2.0.3" } }, "right-align": { @@ -11760,7 +12427,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -11769,7 +12436,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "run-async": { @@ -11778,7 +12445,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rx-lite": { @@ -11793,7 +12460,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" } }, "safe-buffer": { @@ -11806,14 +12473,13 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "samsam": { "version": "1.3.0", @@ -11827,16 +12493,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "^2.3.0", - "htmlparser2": "^3.9.0", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.mergewith": "^4.6.0", - "postcss": "^6.0.14", - "srcset": "^1.0.0", - "xtend": "^4.0.0" + "chalk": "2.4.1", + "htmlparser2": "3.9.2", + "lodash.clonedeep": "4.5.0", + "lodash.escaperegexp": "4.1.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mergewith": "4.6.1", + "postcss": "6.0.22", + "srcset": "1.0.0", + "xtend": "4.0.1" } }, "semver": { @@ -11851,7 +12517,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "serialize-error": { @@ -11877,10 +12543,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -11888,7 +12554,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11899,7 +12565,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -11915,18 +12581,18 @@ "dev": true }, "sinon": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-5.0.7.tgz", - "integrity": "sha512-GvNLrwpvLZ8jIMZBUhHGUZDq5wlUdceJWyHvZDmqBxnjazpxY1L0FNbGBX6VpcOEoQ8Q4XMWFzm2myJMvx+VjA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-5.1.1.tgz", + "integrity": "sha512-h/3uHscbt5pQNxkf7Y/Lb9/OM44YNCicHakcq73ncbrIS8lXg+ZGOZbtuU+/km4YnyiCYfQQEwANaReJz7KDfw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.1.0", - "lodash.get": "^4.4.2", - "lolex": "^2.2.0", - "nise": "^1.2.0", - "supports-color": "^5.1.0", - "type-detect": "^4.0.5" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.1", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "slash": { @@ -11940,7 +12606,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -11968,14 +12634,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -11991,7 +12657,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11999,7 +12665,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12009,9 +12675,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -12019,7 +12685,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -12027,7 +12693,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -12035,7 +12701,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -12043,9 +12709,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -12055,7 +12721,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12063,7 +12729,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12074,7 +12740,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "source-map": { @@ -12087,11 +12753,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { @@ -12100,8 +12766,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.0", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -12123,8 +12789,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -12139,8 +12805,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -12154,7 +12820,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "^0.1.4" + "is-stream-ended": "0.1.4" } }, "split-string": { @@ -12162,7 +12828,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -12177,23 +12843,24 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "^1.0.2", - "number-is-nan": "^1.0.0" + "array-uniq": "1.0.3", + "number-is-nan": "1.0.1" } }, "sshpk": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", - "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -12207,8 +12874,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -12216,7 +12883,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -12226,7 +12893,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "^3.0.0" + "stubs": "3.0.0" } }, "stream-shift": { @@ -12257,9 +12924,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -12267,7 +12934,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "stringifier": { @@ -12275,9 +12942,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "^2.0.0", - "traverse": "^0.6.6", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "traverse": "0.6.6", + "type-name": "2.0.2" } }, "strip-ansi": { @@ -12285,7 +12952,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -12300,7 +12967,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "^0.2.1" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -12315,7 +12982,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -12335,16 +13002,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" + "component-emitter": "1.2.1", + "cookiejar": "2.1.2", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.2", + "formidable": "1.2.1", + "methods": "1.1.2", + "mime": "1.6.0", + "qs": "6.5.2", + "readable-stream": "2.3.6" }, "dependencies": { "mime": { @@ -12361,11 +13028,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "indent-string": "^3.2.0", - "js-yaml": "^3.10.0", - "serialize-error": "^2.1.0", - "strip-ansi": "^4.0.0" + "arrify": "1.0.1", + "indent-string": "3.2.0", + "js-yaml": "3.12.0", + "serialize-error": "2.1.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -12380,7 +13047,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12391,8 +13058,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "~1.1.2", - "superagent": "^3.0.0" + "methods": "1.1.2", + "superagent": "3.8.3" } }, "supports-color": { @@ -12401,7 +13068,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" }, "dependencies": { "has-flag": { @@ -12424,12 +13091,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.4.1", + "lodash": "4.17.10", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -12450,8 +13117,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12460,7 +13127,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12477,7 +13144,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "text-encoding": { @@ -12503,8 +13170,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-zone": { @@ -12525,7 +13192,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-fast-properties": { @@ -12539,7 +13206,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12547,7 +13214,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12557,10 +13224,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -12568,8 +13235,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "tough-cookie": { @@ -12577,7 +13244,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "traverse": { @@ -12608,7 +13275,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -12623,7 +13290,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -12650,9 +13317,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "camelcase": { @@ -12669,8 +13336,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" } }, @@ -12695,9 +13362,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -12744,10 +13411,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -12755,7 +13422,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -12763,10 +13430,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -12777,7 +13444,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "unique-temp-dir": { @@ -12786,8 +13453,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "^0.5.1", - "os-tmpdir": "^1.0.1", + "mkdirp": "0.5.1", + "os-tmpdir": "1.0.2", "uid2": "0.0.3" } }, @@ -12796,9 +13463,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "^1.0.0", + "array-filter": "1.0.0", "indexof": "0.0.1", - "object-keys": "^1.0.0" + "object-keys": "1.0.11" } }, "universalify": { @@ -12812,8 +13479,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -12821,9 +13488,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -12855,16 +13522,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" } }, "urix": { @@ -12878,7 +13545,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "url-to-options": { @@ -12898,7 +13565,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" } }, "util-deprecate": { @@ -12917,8 +13584,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -12926,9 +13593,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "well-known-symbols": { @@ -12938,12 +13605,12 @@ "dev": true }, "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12958,7 +13625,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -12979,8 +13646,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12989,7 +13656,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -13010,8 +13677,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -13025,7 +13692,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -13034,9 +13701,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "write-json-file": { @@ -13045,12 +13712,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" + "detect-indent": "5.0.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "pify": "3.0.0", + "sort-keys": "2.0.0", + "write-file-atomic": "2.3.0" }, "dependencies": { "detect-indent": { @@ -13062,13 +13729,13 @@ } }, "write-pkg": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.1.0.tgz", - "integrity": "sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.2.0.tgz", + "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" + "sort-keys": "2.0.0", + "write-json-file": "2.3.0" } }, "xdg-basedir": { @@ -13103,13 +13770,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" } }, "yargs-parser": { @@ -13118,7 +13785,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1e12b024497..260a532ce30 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.19.0", + "version": "0.20.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 8256a971966..8550118866c 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@google-cloud/storage": "^1.5.2", - "@google-cloud/vision": "0.19.0", + "@google-cloud/vision": "0.20.0", "async": "2.5.0", "natural": "0.5.4", "redis": "2.8.0", From d313040a8d131adde2c35613739cca9ab5516560 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sun, 17 Jun 2018 09:53:48 -0700 Subject: [PATCH 151/588] fix: switch from node-uuid to uuid (#84) --- .../google-cloud-vision/package-lock.json | 4780 ++++++++--------- packages/google-cloud-vision/package.json | 4 +- .../google-cloud-vision/system-test/vision.js | 2 +- 3 files changed, 2390 insertions(+), 2396 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index c4c42800d55..44cde43b480 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "package-hash": "1.2.0" + "babel-plugin-check-es2015-constants": "^6.8.0", + "babel-plugin-syntax-trailing-function-commas": "^6.20.0", + "babel-plugin-transform-async-to-generator": "^6.16.0", + "babel-plugin-transform-es2015-destructuring": "^6.19.0", + "babel-plugin-transform-es2015-function-name": "^6.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", + "babel-plugin-transform-es2015-parameters": "^6.21.0", + "babel-plugin-transform-es2015-spread": "^6.8.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", + "babel-plugin-transform-exponentiation-operator": "^6.8.0", + "package-hash": "^1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "1.3.0" + "md5-hex": "^1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.4.0" + "@ava/babel-plugin-throws-helper": "^2.0.0", + "babel-plugin-espower": "^2.3.2" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "@concordance/react": { @@ -77,7 +77,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "1.0.1" + "arrify": "^1.0.1" } }, "@google-cloud/common": { @@ -85,20 +85,20 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.9.tgz", "integrity": "sha512-P5jtyfOCF84fzVcT/36XKARRrbCOqozYBliDd7btQ96GuEqKzjPVjxeE4EzdeRQ8QChBpHLrbONsU63Jprw73A==", "requires": { - "@types/duplexify": "3.5.0", - "@types/request": "2.47.0", - "arrify": "1.0.1", - "axios": "0.18.0", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auth-library": "1.6.1", - "is": "3.2.1", - "pify": "3.0.0", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "2.0.0", - "stream-events": "1.0.4" + "@types/duplexify": "^3.5.0", + "@types/request": "^2.47.0", + "arrify": "^1.0.1", + "axios": "^0.18.0", + "duplexify": "^3.5.4", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auth-library": "^1.4.0", + "is": "^3.2.1", + "pify": "^3.0.0", + "request": "^2.85.0", + "retry-request": "^3.3.1", + "split-array-stream": "^2.0.0", + "stream-events": "^1.0.4" } }, "@google-cloud/nodejs-repo-tools": { @@ -115,7 +115,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "5.5.0", + "semver": "^5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -135,9 +135,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -158,33 +158,33 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "md5-hex": "1.3.0", - "merge-source-map": "1.0.4", - "micromatch": "2.3.11", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.1.1", - "yargs": "10.0.3", - "yargs-parser": "8.0.0" + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.3.0", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.1", + "istanbul-lib-report": "^1.1.2", + "istanbul-lib-source-maps": "^1.2.2", + "istanbul-reports": "^1.1.3", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.0.2", + "micromatch": "^2.3.11", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.5.4", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.1.1", + "yargs": "^10.0.3", + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -193,9 +193,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -222,7 +222,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -237,7 +237,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -270,9 +270,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { @@ -281,14 +281,14 @@ "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.6", + "trim-right": "^1.0.1" } }, "babel-messages": { @@ -297,7 +297,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -306,8 +306,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -316,11 +316,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -329,15 +329,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -346,10 +346,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -370,7 +370,7 @@ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -380,9 +380,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "builtin-modules": { @@ -397,9 +397,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -416,8 +416,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -426,11 +426,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "cliui": { @@ -440,8 +440,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -490,8 +490,8 @@ "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -521,7 +521,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "detect-indent": { @@ -530,7 +530,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { @@ -539,7 +539,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { @@ -560,13 +560,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -575,9 +575,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -588,7 +588,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -597,7 +597,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "extglob": { @@ -606,7 +606,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "filename-regex": { @@ -621,11 +621,11 @@ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-cache-dir": { @@ -634,9 +634,9 @@ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -645,7 +645,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -660,7 +660,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreground-child": { @@ -669,8 +669,8 @@ "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fs.realpath": { @@ -697,12 +697,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -711,8 +711,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -721,7 +721,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { @@ -742,10 +742,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -754,7 +754,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -765,7 +765,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -792,8 +792,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -808,7 +808,7 @@ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -835,7 +835,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-dotfile": { @@ -850,7 +850,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -871,7 +871,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -880,7 +880,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -889,7 +889,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -898,7 +898,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { @@ -958,7 +958,7 @@ "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -967,13 +967,13 @@ "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -982,10 +982,10 @@ "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { @@ -994,7 +994,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -1005,11 +1005,11 @@ "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -1029,7 +1029,7 @@ "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { @@ -1050,7 +1050,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -1066,7 +1066,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -1075,11 +1075,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -1088,8 +1088,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -1118,7 +1118,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { @@ -1127,8 +1127,8 @@ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "md5-hex": { @@ -1137,7 +1137,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -1152,7 +1152,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -1161,7 +1161,7 @@ "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { @@ -1170,19 +1170,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mimic-fn": { @@ -1197,7 +1197,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -1227,10 +1227,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -1239,7 +1239,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -1248,7 +1248,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -1269,8 +1269,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "once": { @@ -1279,7 +1279,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -1288,8 +1288,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -1304,9 +1304,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -1327,7 +1327,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "parse-glob": { @@ -1336,10 +1336,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -1348,7 +1348,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "path-exists": { @@ -1357,7 +1357,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -1384,9 +1384,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -1407,7 +1407,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -1416,7 +1416,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -1425,8 +1425,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1449,8 +1449,8 @@ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -1459,7 +1459,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -1468,7 +1468,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1479,7 +1479,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1490,9 +1490,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -1501,8 +1501,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -1511,8 +1511,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1529,7 +1529,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { @@ -1556,7 +1556,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { @@ -1584,7 +1584,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -1593,7 +1593,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "semver": { @@ -1614,7 +1614,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -1647,12 +1647,12 @@ "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -1661,7 +1661,7 @@ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -1682,8 +1682,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -1704,7 +1704,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -1715,7 +1715,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -1724,7 +1724,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -1745,11 +1745,11 @@ "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-fast-properties": { @@ -1771,9 +1771,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -1783,9 +1783,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -1804,8 +1804,8 @@ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "which": { @@ -1814,7 +1814,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -1842,8 +1842,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "string-width": { @@ -1852,9 +1852,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1871,9 +1871,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -1894,18 +1894,18 @@ "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", "dev": true, "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "8.0.0" + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^8.0.0" }, "dependencies": { "cliui": { @@ -1914,9 +1914,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -1925,9 +1925,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1940,7 +1940,7 @@ "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -1959,9 +1959,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "sinon": { @@ -1970,13 +1970,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.1", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.1.0", + "lodash.get": "^4.4.2", + "lolex": "^2.2.0", + "nise": "^1.2.0", + "supports-color": "^5.1.0", + "type-detect": "^4.0.5" } }, "string-width": { @@ -1985,8 +1985,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -1995,7 +1995,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -2004,18 +2004,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } } } @@ -2026,27 +2026,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "0.17.0", - "arrify": "1.0.1", - "async": "2.6.1", - "compressible": "2.0.14", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "extend": "3.0.1", - "gcs-resumable-upload": "0.10.2", - "hash-stream-validation": "0.2.1", - "is": "3.2.1", - "mime": "2.3.1", - "mime-types": "2.1.18", - "once": "1.4.0", - "pumpify": "1.5.1", - "request": "2.87.0", - "safe-buffer": "5.1.2", - "snakeize": "0.1.0", - "stream-events": "1.0.4", - "through2": "2.0.3", - "xdg-basedir": "3.0.0" + "@google-cloud/common": "^0.17.0", + "arrify": "^1.0.0", + "async": "^2.0.1", + "compressible": "^2.0.12", + "concat-stream": "^1.5.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "extend": "^3.0.0", + "gcs-resumable-upload": "^0.10.2", + "hash-stream-validation": "^0.2.1", + "is": "^3.0.1", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "once": "^1.3.1", + "pumpify": "^1.5.1", + "request": "^2.85.0", + "safe-buffer": "^5.1.1", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -2055,24 +2055,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auto-auth": "0.10.1", - "is": "3.2.1", + "array-uniq": "^1.0.3", + "arrify": "^1.0.1", + "concat-stream": "^1.6.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auto-auth": "^0.10.0", + "is": "^3.2.0", "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "1.0.3", - "stream-events": "1.0.4", - "string-format-obj": "1.1.1", - "through2": "2.0.3" + "methmeth": "^1.1.0", + "modelo": "^4.2.0", + "request": "^2.79.0", + "retry-request": "^3.0.0", + "split-array-stream": "^1.0.0", + "stream-events": "^1.0.1", + "string-format-obj": "^1.1.0", + "through2": "^2.0.3" } }, "split-array-stream": { @@ -2081,8 +2081,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "2.6.1", - "is-stream-ended": "0.1.4" + "async": "^2.4.0", + "is-stream-ended": "^0.1.0" } } } @@ -2093,10 +2093,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "0.4.0", - "date-time": "0.1.1", - "pretty-ms": "0.2.2", - "text-table": "0.2.0" + "chalk": "^0.4.0", + "date-time": "^0.1.1", + "pretty-ms": "^0.2.1", + "text-table": "^0.2.0" }, "dependencies": { "ansi-styles": { @@ -2111,9 +2111,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "pretty-ms": { @@ -2122,7 +2122,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "0.1.2" + "parse-ms": "^0.1.0" } }, "strip-ansi": { @@ -2138,8 +2138,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, "@nodelib/fs.stat": { @@ -2172,8 +2172,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/inquire": "1.1.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, "@protobufjs/float": { @@ -2226,7 +2226,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "10.3.3" + "@types/node": "*" } }, "@types/form-data": { @@ -2234,7 +2234,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "10.3.3" + "@types/node": "*" } }, "@types/long": { @@ -2252,10 +2252,10 @@ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.0.tgz", "integrity": "sha512-/KXM5oev+nNCLIgBjkwbk8VqxmzI56woD4VUxn95O+YeQ8hJzcSmIZ1IN3WexiqBb6srzDo2bdMbsXxgXNkz5Q==", "requires": { - "@types/caseless": "0.12.1", - "@types/form-data": "2.2.1", - "@types/node": "10.3.3", - "@types/tough-cookie": "2.3.3" + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" } }, "@types/tough-cookie": { @@ -2279,7 +2279,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -2295,10 +2295,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -2313,9 +2313,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" }, "dependencies": { "kind-of": { @@ -2324,7 +2324,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2341,7 +2341,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2362,8 +2362,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2372,7 +2372,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2394,7 +2394,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -2403,8 +2403,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" }, "dependencies": { "arr-diff": { @@ -2413,7 +2413,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -2428,9 +2428,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "expand-brackets": { @@ -2439,7 +2439,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "extglob": { @@ -2448,7 +2448,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-extglob": { @@ -2463,7 +2463,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "kind-of": { @@ -2472,7 +2472,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -2481,19 +2481,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } } } @@ -2504,7 +2504,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "argv": { @@ -2562,7 +2562,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -2585,8 +2585,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" + "colour": "~0.7.1", + "optjs": "~3.2.2" } }, "asn1": { @@ -2609,7 +2609,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "async-each": { @@ -2640,89 +2640,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "1.1.0", - "@ava/babel-preset-transform-test-files": "3.0.0", - "@ava/write-file-atomic": "2.2.0", - "@concordance/react": "1.0.0", - "@ladjs/time-require": "0.1.4", - "ansi-escapes": "3.1.0", - "ansi-styles": "3.2.1", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.2.0", - "ava-init": "0.2.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.4.1", - "chokidar": "1.7.0", - "clean-stack": "1.3.0", - "clean-yaml-object": "0.1.0", - "cli-cursor": "2.1.0", - "cli-spinners": "1.3.1", - "cli-truncate": "1.1.0", - "co-with-promise": "4.6.0", - "code-excerpt": "2.1.1", - "common-path-prefix": "1.0.0", - "concordance": "3.0.0", - "convert-source-map": "1.5.1", - "core-assert": "0.2.1", - "currently-unhandled": "0.4.1", - "debug": "3.1.0", - "dot-prop": "4.2.0", - "empower-core": "0.6.2", - "equal-length": "1.0.1", - "figures": "2.0.0", - "find-cache-dir": "1.0.0", - "fn-name": "2.0.1", - "get-port": "3.2.0", - "globby": "6.1.0", - "has-flag": "2.0.0", - "hullabaloo-config-manager": "1.1.1", - "ignore-by-default": "1.0.1", - "import-local": "0.1.1", - "indent-string": "3.2.0", - "is-ci": "1.1.0", - "is-generator-fn": "1.0.0", - "is-obj": "1.0.1", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "last-line-stream": "1.0.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.debounce": "4.0.8", - "lodash.difference": "4.5.0", - "lodash.flatten": "4.4.0", - "loud-rejection": "1.6.0", - "make-dir": "1.3.0", - "matcher": "1.1.1", - "md5-hex": "2.0.0", - "meow": "3.7.0", - "ms": "2.0.0", - "multimatch": "2.1.0", - "observable-to-promise": "0.5.0", - "option-chain": "1.0.0", - "package-hash": "2.0.0", - "pkg-conf": "2.1.0", - "plur": "2.1.2", - "pretty-ms": "3.2.0", - "require-precompiled": "0.1.0", - "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.2", - "semver": "5.5.0", - "slash": "1.0.0", - "source-map-support": "0.5.6", - "stack-utils": "1.0.1", - "strip-ansi": "4.0.0", - "strip-bom-buf": "1.0.0", - "supertap": "1.0.0", - "supports-color": "5.4.0", - "trim-off-newlines": "1.0.1", - "unique-temp-dir": "1.0.0", - "update-notifier": "2.5.0" + "@ava/babel-preset-stage-4": "^1.1.0", + "@ava/babel-preset-transform-test-files": "^3.0.0", + "@ava/write-file-atomic": "^2.2.0", + "@concordance/react": "^1.0.0", + "@ladjs/time-require": "^0.1.4", + "ansi-escapes": "^3.0.0", + "ansi-styles": "^3.1.0", + "arr-flatten": "^1.0.1", + "array-union": "^1.0.1", + "array-uniq": "^1.0.2", + "arrify": "^1.0.0", + "auto-bind": "^1.1.0", + "ava-init": "^0.2.0", + "babel-core": "^6.17.0", + "babel-generator": "^6.26.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "bluebird": "^3.0.0", + "caching-transform": "^1.0.0", + "chalk": "^2.0.1", + "chokidar": "^1.4.2", + "clean-stack": "^1.1.1", + "clean-yaml-object": "^0.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.0", + "cli-truncate": "^1.0.0", + "co-with-promise": "^4.6.0", + "code-excerpt": "^2.1.1", + "common-path-prefix": "^1.0.0", + "concordance": "^3.0.0", + "convert-source-map": "^1.5.1", + "core-assert": "^0.2.0", + "currently-unhandled": "^0.4.1", + "debug": "^3.0.1", + "dot-prop": "^4.1.0", + "empower-core": "^0.6.1", + "equal-length": "^1.0.0", + "figures": "^2.0.0", + "find-cache-dir": "^1.0.0", + "fn-name": "^2.0.0", + "get-port": "^3.0.0", + "globby": "^6.0.0", + "has-flag": "^2.0.0", + "hullabaloo-config-manager": "^1.1.0", + "ignore-by-default": "^1.0.0", + "import-local": "^0.1.1", + "indent-string": "^3.0.0", + "is-ci": "^1.0.7", + "is-generator-fn": "^1.0.0", + "is-obj": "^1.0.0", + "is-observable": "^1.0.0", + "is-promise": "^2.1.0", + "last-line-stream": "^1.0.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.debounce": "^4.0.3", + "lodash.difference": "^4.3.0", + "lodash.flatten": "^4.2.0", + "loud-rejection": "^1.2.0", + "make-dir": "^1.0.0", + "matcher": "^1.0.0", + "md5-hex": "^2.0.0", + "meow": "^3.7.0", + "ms": "^2.0.0", + "multimatch": "^2.1.0", + "observable-to-promise": "^0.5.0", + "option-chain": "^1.0.0", + "package-hash": "^2.0.0", + "pkg-conf": "^2.0.0", + "plur": "^2.0.0", + "pretty-ms": "^3.0.0", + "require-precompiled": "^0.1.0", + "resolve-cwd": "^2.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.4.1", + "slash": "^1.0.0", + "source-map-support": "^0.5.0", + "stack-utils": "^1.0.1", + "strip-ansi": "^4.0.0", + "strip-bom-buf": "^1.0.0", + "supertap": "^1.0.0", + "supports-color": "^5.0.0", + "trim-off-newlines": "^1.0.1", + "unique-temp-dir": "^1.0.0", + "update-notifier": "^2.3.0" }, "dependencies": { "ansi-regex": { @@ -2738,7 +2738,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "globby": { @@ -2747,11 +2747,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -2772,7 +2772,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "strip-ansi": { @@ -2781,7 +2781,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2792,11 +2792,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "1.0.0", - "execa": "0.7.0", - "has-yarn": "1.0.0", - "read-pkg-up": "2.0.0", - "write-pkg": "3.2.0" + "arr-exclude": "^1.0.0", + "execa": "^0.7.0", + "has-yarn": "^1.0.0", + "read-pkg-up": "^2.0.0", + "write-pkg": "^3.1.0" } }, "aws-sign2": { @@ -2814,8 +2814,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "1.5.0", - "is-buffer": "1.1.6" + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" } }, "babel-code-frame": { @@ -2824,9 +2824,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -2841,11 +2841,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -2862,25 +2862,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" }, "dependencies": { "debug": { @@ -2900,14 +2900,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -2924,9 +2924,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-call-delegate": { @@ -2935,10 +2935,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-explode-assignable-expression": { @@ -2947,9 +2947,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -2958,11 +2958,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -2971,8 +2971,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -2981,8 +2981,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -2991,9 +2991,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -3002,11 +3002,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -3015,8 +3015,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-messages": { @@ -3025,7 +3025,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -3034,7 +3034,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-espower": { @@ -3043,13 +3043,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babylon": "6.18.0", - "call-matcher": "1.0.1", - "core-js": "2.5.7", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "babel-generator": "^6.1.0", + "babylon": "^6.1.0", + "call-matcher": "^1.0.0", + "core-js": "^2.0.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.1.1" } }, "babel-plugin-syntax-async-functions": { @@ -3082,9 +3082,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3093,7 +3093,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3102,9 +3102,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3113,10 +3113,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3125,12 +3125,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -3139,7 +3139,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3148,9 +3148,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3159,9 +3159,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3170,9 +3170,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -3181,8 +3181,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-register": { @@ -3191,13 +3191,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "source-map-support": { @@ -3206,7 +3206,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -3217,8 +3217,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -3227,11 +3227,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3240,15 +3240,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { "debug": { @@ -3268,10 +3268,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3290,13 +3290,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -3304,7 +3304,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3312,7 +3312,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3320,7 +3320,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3328,9 +3328,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -3341,7 +3341,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -3362,13 +3362,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3395,8 +3395,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3405,7 +3405,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3415,7 +3415,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -3424,16 +3424,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -3441,7 +3441,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -3480,7 +3480,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "3.2.0" + "long": "~3" }, "dependencies": { "long": { @@ -3495,15 +3495,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "cacheable-request": { @@ -3535,9 +3535,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" }, "dependencies": { "md5-hex": { @@ -3546,7 +3546,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "write-file-atomic": { @@ -3555,9 +3555,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } } } @@ -3568,10 +3568,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.5.7", - "deep-equal": "1.0.1", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.0.0" } }, "call-me-maybe": { @@ -3590,7 +3590,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -3610,8 +3610,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "capture-stack-trace": { @@ -3631,7 +3631,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "center-align": { @@ -3641,8 +3641,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -3651,9 +3651,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -3668,15 +3668,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.2.4", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -3685,7 +3685,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -3700,7 +3700,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -3722,10 +3722,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -3733,7 +3733,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -3762,7 +3762,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -3777,8 +3777,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3799,8 +3799,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3809,7 +3809,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3825,9 +3825,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "clone-response": { @@ -3836,7 +3836,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "co": { @@ -3850,7 +3850,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "1.0.0" + "pinkie-promise": "^1.0.0" } }, "code-excerpt": { @@ -3859,7 +3859,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "1.0.2" + "convert-to-spaces": "^1.0.1" } }, "code-point-at": { @@ -3874,7 +3874,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "2.87.0", + "request": "^2.81.0", "urlgrey": "0.4.4" } }, @@ -3883,8 +3883,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -3918,7 +3918,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -3950,7 +3950,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": "1.34.0" + "mime-db": ">= 1.34.0 < 2" }, "dependencies": { "mime-db": { @@ -3972,10 +3972,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "concordance": { @@ -3984,17 +3984,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "2.1.0", - "esutils": "2.0.2", - "fast-diff": "1.1.2", - "function-name-support": "0.2.0", - "js-string-escape": "1.0.1", - "lodash.clonedeep": "4.5.0", - "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "semver": "5.5.0", - "well-known-symbols": "1.0.0" + "date-time": "^2.1.0", + "esutils": "^2.0.2", + "fast-diff": "^1.1.1", + "function-name-support": "^0.2.0", + "js-string-escape": "^1.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.flattendeep": "^4.4.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "semver": "^5.3.0", + "well-known-symbols": "^1.0.0" }, "dependencies": { "date-time": { @@ -4003,7 +4003,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "1.0.0" + "time-zone": "^1.0.0" } } } @@ -4014,12 +4014,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "convert-source-map": { @@ -4051,8 +4051,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "1.0.1", - "is-error": "2.2.1" + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" } }, "core-js": { @@ -4071,7 +4071,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { @@ -4080,9 +4080,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "crypto-random-string": { @@ -4097,7 +4097,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -4106,7 +4106,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.45" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -4114,7 +4114,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-time": { @@ -4147,7 +4147,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -4173,8 +4173,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { @@ -4182,8 +4182,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4191,7 +4191,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4199,7 +4199,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4207,9 +4207,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -4220,13 +4220,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "globby": { @@ -4235,12 +4235,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -4261,7 +4261,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } } } @@ -4277,7 +4277,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -4296,8 +4296,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "doctrine": { @@ -4306,7 +4306,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -4315,8 +4315,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -4339,7 +4339,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -4348,8 +4348,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -4358,7 +4358,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer3": { @@ -4372,10 +4372,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "eastasianwidth": { @@ -4389,7 +4389,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -4397,7 +4397,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "empower": { @@ -4405,8 +4405,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "2.5.7", - "empower-core": "1.2.0" + "core-js": "^2.0.0", + "empower-core": "^1.2.0" } }, "empower-assert": { @@ -4415,7 +4415,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.2.0" } }, "empower-core": { @@ -4424,7 +4424,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "end-of-stream": { @@ -4432,7 +4432,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "ent": { @@ -4458,7 +4458,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es5-ext": { @@ -4467,9 +4467,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-error": { @@ -4484,9 +4484,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -4495,12 +4495,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -4509,11 +4509,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -4522,8 +4522,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -4532,10 +4532,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escallmatch": { @@ -4544,8 +4544,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "1.0.1", - "esprima": "2.7.3" + "call-matcher": "^1.0.0", + "esprima": "^2.0.0" }, "dependencies": { "esprima": { @@ -4568,11 +4568,11 @@ "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -4596,10 +4596,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { @@ -4608,44 +4608,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "concat-stream": "1.6.2", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.4", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.5.0", - "ignore": "3.3.8", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", "table": "4.0.2", - "text-table": "0.2.0" + "text-table": "~0.2.0" }, "dependencies": { "ansi-regex": { @@ -4666,7 +4666,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4677,7 +4677,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "5.0.1" + "get-stdin": "^5.0.1" }, "dependencies": { "get-stdin": { @@ -4694,10 +4694,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "3.3.8", - "minimatch": "3.0.4", - "resolve": "1.7.1", - "semver": "5.5.0" + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", + "semver": "^5.4.1" }, "dependencies": { "resolve": { @@ -4706,7 +4706,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } } } @@ -4717,8 +4717,8 @@ "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", "dev": true, "requires": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" } }, "eslint-scope": { @@ -4727,8 +4727,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -4743,16 +4743,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "1.0.0", - "escallmatch": "1.5.0", - "escodegen": "1.10.0", - "escope": "3.6.0", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0", - "source-map": "0.5.7", - "type-name": "2.0.2", - "xtend": "4.0.1" + "array-find": "^1.0.0", + "escallmatch": "^1.5.0", + "escodegen": "^1.7.0", + "escope": "^3.3.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.3.0", + "estraverse": "^4.1.0", + "source-map": "^0.5.0", + "type-name": "^2.0.0", + "xtend": "^4.0.0" } }, "espower-loader": { @@ -4761,11 +4761,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "1.5.1", - "espower-source": "2.3.0", - "minimatch": "3.0.4", - "source-map-support": "0.4.18", - "xtend": "4.0.1" + "convert-source-map": "^1.1.0", + "espower-source": "^2.0.0", + "minimatch": "^3.0.0", + "source-map-support": "^0.4.0", + "xtend": "^4.0.0" }, "dependencies": { "source-map-support": { @@ -4774,7 +4774,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -4785,10 +4785,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "1.2.4", - "path-is-absolute": "1.0.1", - "source-map": "0.5.7", - "xtend": "4.0.1" + "is-url": "^1.2.1", + "path-is-absolute": "^1.0.0", + "source-map": "^0.5.0", + "xtend": "^4.0.0" } }, "espower-source": { @@ -4797,17 +4797,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.1", - "empower-assert": "1.1.0", - "escodegen": "1.10.0", - "espower": "2.1.1", - "estraverse": "4.2.0", - "merge-estraverse-visitors": "1.0.0", - "multi-stage-sourcemap": "0.2.1", - "path-is-absolute": "1.0.1", - "xtend": "4.0.1" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.10", + "convert-source-map": "^1.1.1", + "empower-assert": "^1.0.0", + "escodegen": "^1.10.0", + "espower": "^2.1.1", + "estraverse": "^4.0.0", + "merge-estraverse-visitors": "^1.0.0", + "multi-stage-sourcemap": "^0.2.1", + "path-is-absolute": "^1.0.0", + "xtend": "^4.0.0" } }, "espree": { @@ -4816,8 +4816,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-jsx": "3.0.1" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" } }, "esprima": { @@ -4831,7 +4831,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "esquery": { @@ -4840,7 +4840,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -4849,7 +4849,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -4869,8 +4869,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "execa": { @@ -4879,13 +4879,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -4893,13 +4893,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -4915,7 +4915,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -4923,7 +4923,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4934,7 +4934,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { @@ -4943,11 +4943,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "is-number": { @@ -4956,7 +4956,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -4974,7 +4974,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4989,8 +4989,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -4998,7 +4998,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -5009,9 +5009,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -5019,14 +5019,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -5034,7 +5034,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -5042,7 +5042,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -5050,7 +5050,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -5058,7 +5058,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -5066,9 +5066,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -5094,12 +5094,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "@nodelib/fs.stat": "1.1.0", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.2", - "micromatch": "3.1.10" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.0.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" } }, "fast-json-stable-stringify": { @@ -5119,7 +5119,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -5128,8 +5128,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -5144,8 +5144,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" + "is-object": "~1.0.1", + "merge-descriptors": "~1.0.0" } }, "fill-range": { @@ -5153,10 +5153,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -5164,7 +5164,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -5175,9 +5175,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -5186,7 +5186,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -5195,10 +5195,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "fn-name": { @@ -5212,7 +5212,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" } }, "for-in": { @@ -5226,7 +5226,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -5244,9 +5244,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "formidable": { @@ -5260,7 +5260,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "from2": { @@ -5269,8 +5269,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, "fs-extra": { @@ -5279,9 +5279,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "fs.realpath": { @@ -5296,8 +5296,8 @@ "dev": true, "optional": true, "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { @@ -5327,8 +5327,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -5343,7 +5343,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -5417,7 +5417,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -5434,14 +5434,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { @@ -5451,12 +5451,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -5473,7 +5473,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -5483,7 +5483,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -5493,8 +5493,8 @@ "dev": true, "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5516,7 +5516,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -5532,7 +5532,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -5547,8 +5547,8 @@ "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "dev": true, "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -5558,7 +5558,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -5584,9 +5584,9 @@ "dev": true, "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -5596,16 +5596,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -5615,8 +5615,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -5633,8 +5633,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -5644,10 +5644,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -5669,7 +5669,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -5693,8 +5693,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -5718,10 +5718,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -5740,13 +5740,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { @@ -5756,7 +5756,7 @@ "dev": true, "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -5806,9 +5806,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -5818,7 +5818,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -5827,7 +5827,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -5844,13 +5844,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -5867,7 +5867,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -5901,8 +5901,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "0.18.0", - "extend": "3.0.1", + "axios": "^0.18.0", + "extend": "^3.0.1", "retry-axios": "0.3.2" } }, @@ -5912,11 +5912,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "3.1.2", - "google-auto-auth": "0.10.1", - "pumpify": "1.5.1", - "request": "2.87.0", - "stream-events": "1.0.4" + "configstore": "^3.1.2", + "google-auto-auth": "^0.10.0", + "pumpify": "^1.4.0", + "request": "^2.85.0", + "stream-events": "^1.0.3" } }, "get-caller-file": { @@ -5953,7 +5953,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -5961,12 +5961,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -5975,8 +5975,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -5985,7 +5985,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -6000,7 +6000,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -6010,8 +6010,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -6019,7 +6019,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -6035,7 +6035,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -6049,13 +6049,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.2", - "glob": "7.1.2", - "ignore": "3.3.8", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "google-auth-library": { @@ -6063,13 +6063,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "0.18.0", - "gcp-metadata": "0.6.3", - "gtoken": "2.3.0", - "jws": "3.1.5", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.3", - "retry-axios": "0.3.2" + "axios": "^0.18.0", + "gcp-metadata": "^0.6.3", + "gtoken": "^2.3.0", + "jws": "^3.1.5", + "lodash.isstring": "^4.0.1", + "lru-cache": "^4.1.3", + "retry-axios": "^0.3.2" } }, "google-auto-auth": { @@ -6077,10 +6077,10 @@ "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz", "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "requires": { - "async": "2.6.1", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.6.1", - "request": "2.87.0" + "async": "^2.3.0", + "gcp-metadata": "^0.6.1", + "google-auth-library": "^1.3.1", + "request": "^2.79.0" } }, "google-gax": { @@ -6088,16 +6088,16 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz", "integrity": "sha512-eP7UUkKvaHmmvCrr+rxzkIOeEKOnXmoib7/AkENDAuqlC9T2+lWlzwpthDRnitQcV8SblDMzsk73YPMPCDwPyQ==", "requires": { - "duplexify": "3.6.0", - "extend": "3.0.1", - "globby": "8.0.1", - "google-auto-auth": "0.10.1", - "google-proto-files": "0.15.1", - "grpc": "1.12.3", - "is-stream-ended": "0.1.4", - "lodash": "4.17.10", - "protobufjs": "6.8.6", - "through2": "2.0.3" + "duplexify": "^3.5.4", + "extend": "^3.0.0", + "globby": "^8.0.0", + "google-auto-auth": "^0.10.0", + "google-proto-files": "^0.15.0", + "grpc": "^1.10.0", + "is-stream-ended": "^0.1.0", + "lodash": "^4.17.2", + "protobufjs": "^6.8.0", + "through2": "^2.0.3" } }, "google-p12-pem": { @@ -6105,8 +6105,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "0.7.5", - "pify": "3.0.0" + "node-forge": "^0.7.4", + "pify": "^3.0.0" } }, "google-proto-files": { @@ -6114,9 +6114,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", "requires": { - "globby": "7.1.1", - "power-assert": "1.6.0", - "protobufjs": "6.8.6" + "globby": "^7.1.1", + "power-assert": "^1.4.4", + "protobufjs": "^6.8.0" }, "dependencies": { "globby": { @@ -6124,12 +6124,12 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "glob": "7.1.2", - "ignore": "3.3.8", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } } } @@ -6140,23 +6140,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "mimic-response": "1.0.0", - "p-cancelable": "0.3.0", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" }, "dependencies": { "prepend-http": { @@ -6171,7 +6171,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } } } @@ -6193,10 +6193,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.3.tgz", "integrity": "sha512-QPwbAXRXd8IyXAhTdUVgjEqSdvXoTq5uFWSo+eGMTcra12PBJUkAceD+1AUVOx1GqBY74/7T7eB7BB+UOcOY8w==", "requires": { - "lodash": "4.17.10", - "nan": "2.10.0", - "node-pre-gyp": "0.10.0", - "protobufjs": "5.0.3" + "lodash": "^4.17.5", + "nan": "^2.0.0", + "node-pre-gyp": "^0.10.0", + "protobufjs": "^5.0.3" }, "dependencies": { "abbrev": { @@ -6219,8 +6219,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -6233,7 +6233,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -6290,7 +6290,7 @@ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "requires": { - "minipass": "2.3.0" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -6303,14 +6303,14 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { @@ -6318,12 +6318,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -6336,7 +6336,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { @@ -6344,7 +6344,7 @@ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -6352,8 +6352,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6371,7 +6371,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -6384,7 +6384,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -6397,8 +6397,8 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.0.tgz", "integrity": "sha512-jWC2Eg+Np4bxah7llu1IrUNSJQxtLz/J+pOjTM0nFpJXGAaV18XBWhUn031Q1tAA/TJtA1jgwnOe9S2PQa4Lbg==", "requires": { - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -6406,7 +6406,7 @@ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "requires": { - "minipass": "2.3.0" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -6434,9 +6434,9 @@ "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.1.tgz", "integrity": "sha512-t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q==", "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.23", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -6444,16 +6444,16 @@ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.1", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.2" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -6461,8 +6461,8 @@ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -6475,8 +6475,8 @@ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -6484,10 +6484,10 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -6505,7 +6505,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -6523,8 +6523,8 @@ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -6542,10 +6542,10 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.2", - "yargs": "3.32.0" + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" } }, "rc": { @@ -6553,10 +6553,10 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, "readable-stream": { @@ -6564,13 +6564,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { @@ -6578,7 +6578,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -6616,9 +6616,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -6626,7 +6626,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -6634,7 +6634,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -6647,13 +6647,13 @@ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.2.tgz", "integrity": "sha512-BfkE9CciGGgDsATqkikUHrQrraBCO+ke/1f6SFAEMnxyyfN9lxC+nW1NFWMpqH865DhHIy9vQi682gk1X7friw==", "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.3.0", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -6666,7 +6666,7 @@ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -6686,11 +6686,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.5", - "mime": "2.3.1", - "pify": "3.0.0" + "axios": "^0.18.0", + "google-p12-pem": "^1.0.0", + "jws": "^3.1.4", + "mime": "^2.2.0", + "pify": "^3.0.0" } }, "handlebars": { @@ -6699,10 +6699,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -6717,7 +6717,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -6732,8 +6732,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has-ansi": { @@ -6742,7 +6742,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -6769,7 +6769,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "1.4.2" + "has-symbol-support-x": "^1.4.1" } }, "has-value": { @@ -6777,9 +6777,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -6787,8 +6787,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -6796,7 +6796,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6813,7 +6813,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "he": { @@ -6828,8 +6828,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -6844,12 +6844,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.2", - "domutils": "1.7.0", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "http-cache-semantics": { @@ -6863,9 +6863,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "hullabaloo-config-manager": { @@ -6874,20 +6874,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "es6-error": "4.1.1", - "graceful-fs": "4.1.11", - "indent-string": "3.2.0", - "json5": "0.5.1", - "lodash.clonedeep": "4.5.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "package-hash": "2.0.0", - "pkg-dir": "2.0.0", - "resolve-from": "3.0.0", - "safe-buffer": "5.1.2" + "dot-prop": "^4.1.0", + "es6-error": "^4.0.2", + "graceful-fs": "^4.1.11", + "indent-string": "^3.1.0", + "json5": "^0.5.1", + "lodash.clonedeep": "^4.5.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "package-hash": "^2.0.0", + "pkg-dir": "^2.0.0", + "resolve-from": "^3.0.0", + "safe-buffer": "^5.0.1" } }, "iconv-lite": { @@ -6896,7 +6896,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -6922,8 +6922,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -6948,8 +6948,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6969,8 +6969,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "2.22.2", - "sanitize-html": "1.18.2" + "moment": "^2.14.1", + "sanitize-html": "^1.13.0" } }, "inquirer": { @@ -6979,20 +6979,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -7013,8 +7013,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -7023,7 +7023,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -7034,7 +7034,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "1.2.2" + "espower-loader": "^1.0.0" } }, "into-stream": { @@ -7043,8 +7043,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" } }, "invariant": { @@ -7053,7 +7053,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -7077,7 +7077,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7085,7 +7085,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7102,7 +7102,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -7116,7 +7116,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-ci": { @@ -7125,7 +7125,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -7133,7 +7133,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7141,7 +7141,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7151,9 +7151,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -7175,7 +7175,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-error": { @@ -7200,7 +7200,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -7208,7 +7208,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-generator-fn": { @@ -7222,7 +7222,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-installed-globally": { @@ -7231,8 +7231,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-npm": { @@ -7246,7 +7246,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7254,7 +7254,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7277,7 +7277,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "^1.1.0" } }, "is-odd": { @@ -7285,7 +7285,7 @@ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -7307,7 +7307,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -7316,7 +7316,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -7330,7 +7330,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -7429,8 +7429,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" } }, "jest-docblock": { @@ -7457,8 +7457,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "js2xmlparser": { @@ -7467,7 +7467,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsbn": { @@ -7483,17 +7483,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.19", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", "taffydb": "2.6.2", - "underscore": "1.8.3" + "underscore": "~1.8.3" }, "dependencies": { "babylon": { @@ -7555,7 +7555,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -7582,7 +7582,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "jws": { @@ -7590,8 +7590,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "1.1.6", - "safe-buffer": "5.1.2" + "jwa": "^1.1.5", + "safe-buffer": "^5.0.1" } }, "keyv": { @@ -7614,7 +7614,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "last-line-stream": { @@ -7623,7 +7623,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "latest-version": { @@ -7632,7 +7632,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -7647,7 +7647,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "levn": { @@ -7656,8 +7656,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -7666,10 +7666,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, "dependencies": { "pify": { @@ -7686,8 +7686,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -7800,7 +7800,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -7809,8 +7809,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowercase-keys": { @@ -7824,8 +7824,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -7834,7 +7834,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-cache": { @@ -7853,7 +7853,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "marked": { @@ -7868,7 +7868,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.4" } }, "math-random": { @@ -7883,7 +7883,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -7898,7 +7898,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -7907,16 +7907,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "find-up": { @@ -7925,8 +7925,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "load-json-file": { @@ -7935,11 +7935,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "minimist": { @@ -7954,7 +7954,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-type": { @@ -7963,9 +7963,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -7986,7 +7986,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "read-pkg": { @@ -7995,9 +7995,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -8006,8 +8006,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "strip-bom": { @@ -8016,7 +8016,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -8033,7 +8033,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "merge2": { @@ -8058,19 +8058,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "mime": { @@ -8088,7 +8088,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "mimic-fn": { @@ -8108,7 +8108,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -8122,8 +8122,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8131,7 +8131,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8193,7 +8193,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "^0.1.34" }, "dependencies": { "source-map": { @@ -8202,7 +8202,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -8213,10 +8213,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" } }, "mute-stream": { @@ -8235,18 +8235,18 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "natural-compare": { @@ -8267,11 +8267,11 @@ "integrity": "sha512-9JX3YwoIt3kS237scmSSOpEv7vCukVzLfwK0I0XhocDSHUANid8ZHnLEULbbSkfeMn98B2y5kphIWzZUylESRQ==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.7.0", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" + "@sinonjs/formatio": "^2.0.0", + "just-extend": "^1.1.27", + "lolex": "^2.3.2", + "path-to-regexp": "^1.7.0", + "text-encoding": "^0.6.4" } }, "node-forge": { @@ -8279,22 +8279,16 @@ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==" }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", - "dev": true - }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -8303,7 +8297,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -8312,9 +8306,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, "dependencies": { "prepend-http": { @@ -8331,7 +8325,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -8345,33 +8339,33 @@ "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.3", - "istanbul-reports": "1.4.0", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", "yargs": "11.1.0", - "yargs-parser": "8.1.0" + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -8380,9 +8374,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -8409,7 +8403,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -8472,9 +8466,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { @@ -8483,14 +8477,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, "babel-messages": { @@ -8499,7 +8493,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -8508,8 +8502,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.6", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -8518,11 +8512,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -8531,15 +8525,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -8548,10 +8542,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -8572,13 +8566,13 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -8587,7 +8581,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -8596,7 +8590,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8605,7 +8599,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8614,9 +8608,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -8639,7 +8633,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -8649,16 +8643,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -8667,7 +8661,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8684,15 +8678,15 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "dependencies": { "isobject": { @@ -8709,9 +8703,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -8728,8 +8722,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -8738,11 +8732,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "class-utils": { @@ -8751,10 +8745,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -8763,7 +8757,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "isobject": { @@ -8781,8 +8775,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -8807,8 +8801,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "commondir": { @@ -8853,8 +8847,8 @@ "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -8890,7 +8884,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { @@ -8899,8 +8893,8 @@ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -8909,7 +8903,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8918,7 +8912,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8927,9 +8921,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -8952,7 +8946,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { @@ -8961,7 +8955,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { @@ -8982,13 +8976,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -8997,9 +8991,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -9010,13 +9004,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -9025,7 +9019,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -9034,7 +9028,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9045,8 +9039,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -9055,7 +9049,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -9066,14 +9060,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -9082,7 +9076,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -9091,7 +9085,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -9100,7 +9094,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -9109,7 +9103,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -9118,9 +9112,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -9137,10 +9131,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -9149,7 +9143,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9160,9 +9154,9 @@ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -9171,7 +9165,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -9186,8 +9180,8 @@ "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fragment-cache": { @@ -9196,7 +9190,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -9229,12 +9223,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "globals": { @@ -9255,10 +9249,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -9267,7 +9261,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -9278,7 +9272,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -9293,9 +9287,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -9312,8 +9306,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -9322,7 +9316,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -9331,7 +9325,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9342,7 +9336,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9365,8 +9359,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -9381,7 +9375,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -9396,7 +9390,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -9417,7 +9411,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { @@ -9426,7 +9420,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { @@ -9435,9 +9429,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -9460,7 +9454,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -9475,7 +9469,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -9484,7 +9478,7 @@ "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -9501,7 +9495,7 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -9560,7 +9554,7 @@ "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -9569,13 +9563,13 @@ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -9584,10 +9578,10 @@ "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { @@ -9596,7 +9590,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9607,11 +9601,11 @@ "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -9631,7 +9625,7 @@ "integrity": "sha512-OPzVo1fPZ2H+owr8q/LYKLD+vquv9Pj4F+dj808MdHbuQLD7S4ACRjcX+0Tne5Vxt2lxXvdZaL7v+FOOAV281w==", "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { @@ -9652,7 +9646,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -9668,7 +9662,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -9677,11 +9671,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -9690,8 +9684,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -9720,7 +9714,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { @@ -9729,8 +9723,8 @@ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { @@ -9745,7 +9739,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { @@ -9754,7 +9748,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -9769,7 +9763,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -9778,7 +9772,7 @@ "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -9795,19 +9789,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "dependencies": { "kind-of": { @@ -9830,7 +9824,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -9845,8 +9839,8 @@ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -9855,7 +9849,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -9881,18 +9875,18 @@ "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "arr-diff": { @@ -9921,10 +9915,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { @@ -9933,7 +9927,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -9954,9 +9948,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -9965,7 +9959,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9976,7 +9970,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -9993,7 +9987,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -10010,7 +10004,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -10019,8 +10013,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -10035,9 +10029,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -10052,7 +10046,7 @@ "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -10061,7 +10055,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -10076,7 +10070,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { @@ -10091,7 +10085,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -10118,9 +10112,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -10141,7 +10135,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -10150,7 +10144,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -10159,8 +10153,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -10183,9 +10177,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -10194,8 +10188,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -10204,8 +10198,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -10222,8 +10216,8 @@ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "repeat-element": { @@ -10244,7 +10238,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { @@ -10284,7 +10278,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -10293,7 +10287,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { @@ -10302,7 +10296,7 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { @@ -10323,10 +10317,10 @@ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -10335,7 +10329,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10346,7 +10340,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -10373,14 +10367,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -10389,7 +10383,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -10398,7 +10392,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10409,9 +10403,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -10420,7 +10414,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -10429,7 +10423,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -10438,7 +10432,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -10447,9 +10441,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -10472,7 +10466,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -10487,11 +10481,11 @@ "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { @@ -10506,12 +10500,12 @@ "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -10520,8 +10514,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -10536,8 +10530,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -10552,7 +10546,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { @@ -10561,8 +10555,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -10571,7 +10565,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -10582,8 +10576,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -10598,7 +10592,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -10609,7 +10603,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -10618,7 +10612,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -10639,11 +10633,11 @@ "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" }, "dependencies": { "arr-diff": { @@ -10664,16 +10658,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -10682,7 +10676,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10693,13 +10687,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -10708,7 +10702,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -10717,7 +10711,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -10726,7 +10720,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -10735,7 +10729,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10746,7 +10740,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -10755,7 +10749,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10766,9 +10760,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -10785,14 +10779,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -10801,7 +10795,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -10810,7 +10804,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10821,10 +10815,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -10833,7 +10827,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10844,7 +10838,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -10853,7 +10847,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -10862,9 +10856,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -10873,7 +10867,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -10882,7 +10876,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10905,19 +10899,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } } } @@ -10934,7 +10928,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -10943,10 +10937,10 @@ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -10955,8 +10949,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "dependencies": { "is-number": { @@ -10965,7 +10959,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } } } @@ -10983,9 +10977,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -10995,9 +10989,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -11016,10 +11010,10 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -11028,7 +11022,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -11037,10 +11031,10 @@ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -11051,8 +11045,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -11061,9 +11055,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -11103,7 +11097,7 @@ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -11120,8 +11114,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { @@ -11130,7 +11124,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -11158,8 +11152,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -11168,7 +11162,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -11177,9 +11171,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -11196,9 +11190,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -11219,18 +11213,18 @@ "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "ansi-regex": { @@ -11251,9 +11245,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "strip-ansi": { @@ -11262,7 +11256,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs-parser": { @@ -11271,7 +11265,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -11282,7 +11276,7 @@ "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -11311,9 +11305,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -11321,7 +11315,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "kind-of": { @@ -11329,7 +11323,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11344,7 +11338,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.omit": { @@ -11353,8 +11347,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -11362,7 +11356,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "observable-to-promise": { @@ -11371,8 +11365,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "0.2.0", - "symbol-observable": "1.2.0" + "is-observable": "^0.2.0", + "symbol-observable": "^1.0.4" }, "dependencies": { "is-observable": { @@ -11381,7 +11375,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "0.2.4" + "symbol-observable": "^0.2.2" }, "dependencies": { "symbol-observable": { @@ -11399,7 +11393,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -11408,7 +11402,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -11417,8 +11411,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "option-chain": { @@ -11433,12 +11427,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -11465,7 +11459,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -11498,7 +11492,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -11507,7 +11501,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-timeout": { @@ -11516,7 +11510,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { @@ -11531,10 +11525,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "lodash.flattendeep": "4.4.0", - "md5-hex": "2.0.0", - "release-zalgo": "1.0.0" + "graceful-fs": "^4.1.11", + "lodash.flattendeep": "^4.4.0", + "md5-hex": "^2.0.0", + "release-zalgo": "^1.0.0" } }, "package-json": { @@ -11543,10 +11537,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" }, "dependencies": { "got": { @@ -11555,17 +11549,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } } } @@ -11576,10 +11570,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "is-extglob": { @@ -11594,7 +11588,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -11605,7 +11599,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -11675,7 +11669,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "performance-now": { @@ -11700,7 +11694,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } }, "pkg-conf": { @@ -11709,8 +11703,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" }, "dependencies": { "load-json-file": { @@ -11719,10 +11713,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -11731,8 +11725,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -11743,7 +11737,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plur": { @@ -11752,7 +11746,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "1.4.0" + "irregular-plurals": "^1.0.0" } }, "pluralize": { @@ -11772,9 +11766,9 @@ "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "dependencies": { "source-map": { @@ -11790,11 +11784,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "1.1.2", - "empower": "1.3.0", - "power-assert-formatter": "1.4.1", - "universal-deep-strict-equal": "1.2.2", - "xtend": "4.0.1" + "define-properties": "^1.1.2", + "empower": "^1.3.0", + "power-assert-formatter": "^1.4.1", + "universal-deep-strict-equal": "^1.2.1", + "xtend": "^4.0.0" } }, "power-assert-context-formatter": { @@ -11802,8 +11796,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "2.5.7", - "power-assert-context-traversal": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.2.0" } }, "power-assert-context-reducer-ast": { @@ -11811,11 +11805,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.7", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" } }, "power-assert-context-traversal": { @@ -11823,8 +11817,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "2.5.7", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "estraverse": "^4.1.0" } }, "power-assert-formatter": { @@ -11832,13 +11826,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.7", - "power-assert-context-formatter": "1.2.0", - "power-assert-context-reducer-ast": "1.2.0", - "power-assert-renderer-assertion": "1.2.0", - "power-assert-renderer-comparison": "1.2.0", - "power-assert-renderer-diagram": "1.2.0", - "power-assert-renderer-file": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" } }, "power-assert-renderer-assertion": { @@ -11846,8 +11840,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0" + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0" } }, "power-assert-renderer-base": { @@ -11860,11 +11854,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "2.5.7", - "diff-match-patch": "1.0.1", - "power-assert-renderer-base": "1.1.1", - "stringifier": "1.3.0", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" } }, "power-assert-renderer-diagram": { @@ -11872,10 +11866,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "2.5.7", - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0", - "stringifier": "1.3.0" + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0", + "stringifier": "^1.3.0" } }, "power-assert-renderer-file": { @@ -11883,7 +11877,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "1.1.1" + "power-assert-renderer-base": "^1.1.1" } }, "power-assert-util-string-width": { @@ -11891,7 +11885,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "0.2.0" + "eastasianwidth": "^0.2.0" } }, "prelude-ls": { @@ -11924,7 +11918,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "1.0.1" + "parse-ms": "^1.0.0" }, "dependencies": { "parse-ms": { @@ -11957,19 +11951,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/base64": "1.1.2", - "@protobufjs/codegen": "2.0.4", - "@protobufjs/eventemitter": "1.1.0", - "@protobufjs/fetch": "1.1.0", - "@protobufjs/float": "1.0.2", - "@protobufjs/inquire": "1.1.0", - "@protobufjs/path": "1.1.2", - "@protobufjs/pool": "1.1.0", - "@protobufjs/utf8": "1.1.0", - "@types/long": "3.0.32", - "@types/node": "8.10.20", - "long": "4.0.0" + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^3.0.32", + "@types/node": "^8.9.4", + "long": "^4.0.0" }, "dependencies": { "@types/node": { @@ -11985,9 +11979,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" + "fill-keys": "^1.0.2", + "module-not-found-error": "^1.0.0", + "resolve": "~1.1.7" } }, "pseudomap": { @@ -12001,8 +11995,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -12011,9 +12005,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -12032,9 +12026,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "randomatic": { @@ -12043,9 +12037,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -12062,10 +12056,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -12082,9 +12076,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" }, "dependencies": { "path-type": { @@ -12093,7 +12087,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -12110,8 +12104,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "readable-stream": { @@ -12119,13 +12113,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -12134,10 +12128,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "redent": { @@ -12146,8 +12140,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" }, "dependencies": { "indent-string": { @@ -12156,7 +12150,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } } } @@ -12179,7 +12173,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -12187,8 +12181,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpp": { @@ -12203,9 +12197,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -12214,8 +12208,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.8", - "safe-buffer": "5.1.2" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -12224,7 +12218,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.8" + "rc": "^1.0.1" } }, "regjsgen": { @@ -12239,7 +12233,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "release-zalgo": { @@ -12248,7 +12242,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.1.1" + "es6-error": "^4.0.1" } }, "remove-trailing-separator": { @@ -12273,7 +12267,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -12281,26 +12275,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -12327,8 +12321,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" }, "dependencies": { "resolve-from": { @@ -12345,7 +12339,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -12368,7 +12362,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -12388,7 +12382,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -12397,8 +12391,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -12416,8 +12410,8 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "requires": { - "request": "2.87.0", - "through2": "2.0.3" + "request": "^2.81.0", + "through2": "^2.0.0" } }, "right-align": { @@ -12427,7 +12421,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -12436,7 +12430,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -12445,7 +12439,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -12460,7 +12454,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -12473,7 +12467,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -12493,16 +12487,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "2.4.1", - "htmlparser2": "3.9.2", - "lodash.clonedeep": "4.5.0", - "lodash.escaperegexp": "4.1.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mergewith": "4.6.1", - "postcss": "6.0.22", - "srcset": "1.0.0", - "xtend": "4.0.1" + "chalk": "^2.3.0", + "htmlparser2": "^3.9.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.0", + "postcss": "^6.0.14", + "srcset": "^1.0.0", + "xtend": "^4.0.0" } }, "semver": { @@ -12517,7 +12511,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "serialize-error": { @@ -12543,10 +12537,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -12554,7 +12548,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12565,7 +12559,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -12586,13 +12580,13 @@ "integrity": "sha512-h/3uHscbt5pQNxkf7Y/Lb9/OM44YNCicHakcq73ncbrIS8lXg+ZGOZbtuU+/km4YnyiCYfQQEwANaReJz7KDfw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.1", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.5.0", + "lodash.get": "^4.4.2", + "lolex": "^2.4.2", + "nise": "^1.3.3", + "supports-color": "^5.4.0", + "type-detect": "^4.0.8" } }, "slash": { @@ -12606,7 +12600,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -12634,14 +12628,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -12657,7 +12651,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -12665,7 +12659,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12675,9 +12669,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -12685,7 +12679,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -12693,7 +12687,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -12701,7 +12695,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -12709,9 +12703,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -12721,7 +12715,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { @@ -12729,7 +12723,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12740,7 +12734,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-map": { @@ -12753,11 +12747,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -12766,8 +12760,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "source-map": { @@ -12789,8 +12783,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -12805,8 +12799,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -12820,7 +12814,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "0.1.4" + "is-stream-ended": "^0.1.4" } }, "split-string": { @@ -12828,7 +12822,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -12843,8 +12837,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "1.0.3", - "number-is-nan": "1.0.1" + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" } }, "sshpk": { @@ -12852,15 +12846,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -12874,8 +12868,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -12883,7 +12877,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -12893,7 +12887,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "3.0.0" + "stubs": "^3.0.0" } }, "stream-shift": { @@ -12924,9 +12918,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -12934,7 +12928,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "stringifier": { @@ -12942,9 +12936,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.7", - "traverse": "0.6.6", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" } }, "strip-ansi": { @@ -12952,7 +12946,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -12967,7 +12961,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.1" } }, "strip-eof": { @@ -12982,7 +12976,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -13002,16 +12996,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.2", - "debug": "3.1.0", - "extend": "3.0.1", - "form-data": "2.3.2", - "formidable": "1.2.1", - "methods": "1.1.2", - "mime": "1.6.0", - "qs": "6.5.2", - "readable-stream": "2.3.6" + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" }, "dependencies": { "mime": { @@ -13028,11 +13022,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "1.0.1", - "indent-string": "3.2.0", - "js-yaml": "3.12.0", - "serialize-error": "2.1.0", - "strip-ansi": "4.0.0" + "arrify": "^1.0.1", + "indent-string": "^3.2.0", + "js-yaml": "^3.10.0", + "serialize-error": "^2.1.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -13047,7 +13041,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -13058,8 +13052,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "1.1.2", - "superagent": "3.8.3" + "methods": "~1.1.2", + "superagent": "^3.0.0" } }, "supports-color": { @@ -13068,7 +13062,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -13091,12 +13085,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "chalk": "2.4.1", - "lodash": "4.17.10", + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -13117,8 +13111,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -13127,7 +13121,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -13144,7 +13138,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "text-encoding": { @@ -13170,8 +13164,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-zone": { @@ -13192,7 +13186,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -13206,7 +13200,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -13214,7 +13208,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -13224,10 +13218,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -13235,8 +13229,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "tough-cookie": { @@ -13244,7 +13238,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "traverse": { @@ -13275,7 +13269,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -13290,7 +13284,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -13317,9 +13311,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "camelcase": { @@ -13336,8 +13330,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -13362,9 +13356,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -13411,10 +13405,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -13422,7 +13416,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -13430,10 +13424,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -13444,7 +13438,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "unique-temp-dir": { @@ -13453,8 +13447,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", + "mkdirp": "^0.5.1", + "os-tmpdir": "^1.0.1", "uid2": "0.0.3" } }, @@ -13463,9 +13457,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "1.0.0", + "array-filter": "^1.0.0", "indexof": "0.0.1", - "object-keys": "1.0.11" + "object-keys": "^1.0.0" } }, "universalify": { @@ -13479,8 +13473,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -13488,9 +13482,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -13522,16 +13516,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.4.1", - "configstore": "3.1.2", - "import-lazy": "2.1.0", - "is-ci": "1.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "urix": { @@ -13545,7 +13539,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "url-to-options": { @@ -13565,7 +13559,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" } }, "util-deprecate": { @@ -13584,8 +13578,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -13593,9 +13587,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "well-known-symbols": { @@ -13610,7 +13604,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -13625,7 +13619,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -13646,8 +13640,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -13656,7 +13650,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -13677,8 +13671,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -13692,7 +13686,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -13701,9 +13695,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "write-json-file": { @@ -13712,12 +13706,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "5.0.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "pify": "3.0.0", - "sort-keys": "2.0.0", - "write-file-atomic": "2.3.0" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.0.0" }, "dependencies": { "detect-indent": { @@ -13734,8 +13728,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "2.0.0", - "write-json-file": "2.3.0" + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" } }, "xdg-basedir": { @@ -13770,13 +13764,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" } }, "yargs-parser": { @@ -13785,7 +13779,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 260a532ce30..47476cbae50 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -82,11 +82,11 @@ "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", "mocha": "^5.0.0", - "node-uuid": "^1.4.7", "nyc": "^11.3.0", "power-assert": "^1.4.4", "prettier": "^1.11.1", "safe-buffer": "^5.1.1", - "sinon": "^5.0.0" + "sinon": "^5.0.0", + "uuid": "^3.2.1" } } diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 2f7e84b66c1..05318c67346 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -21,7 +21,7 @@ const async = require('async'); const fs = require('fs'); const path = require('path'); const Storage = require('@google-cloud/storage'); -const uuid = require('node-uuid'); +const uuid = require('uuid'); const vision = require('../'); From db8b98cf9a560f4f28ff2cd9a5abe2b52c7f74d4 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sun, 17 Jun 2018 10:07:23 -0700 Subject: [PATCH 152/588] chore: update many dependencies (#81) --- .../google-cloud-vision/package-lock.json | 1717 +++++------------ packages/google-cloud-vision/package.json | 40 +- .../google-cloud-vision/samples/package.json | 16 +- 3 files changed, 518 insertions(+), 1255 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 44cde43b480..d7acc7d6e4f 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -71,6 +71,139 @@ "slide": "^1.1.5" } }, + "@babel/code-frame": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz", + "integrity": "sha1-vs2AVIJzREDJ0TfkbXc0DmTX9Rs=", + "dev": true, + "requires": { + "@babel/highlight": "7.0.0-beta.49" + } + }, + "@babel/generator": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.49.tgz", + "integrity": "sha1-6c/9qROZaszseTu8JauRvBnQv3o=", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.49", + "jsesc": "^2.5.1", + "lodash": "^4.17.5", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.49.tgz", + "integrity": "sha1-olwRGbnwNSeGcBJuAiXAMEHI3jI=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0-beta.49", + "@babel/template": "7.0.0-beta.49", + "@babel/types": "7.0.0-beta.49" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.49.tgz", + "integrity": "sha1-z1Aj8y0q2S0Ic3STnOwJUby1FEE=", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.49" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.49.tgz", + "integrity": "sha1-QNeO2glo0BGxxShm5XRs+yPldUg=", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.49" + } + }, + "@babel/highlight": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.49.tgz", + "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "@babel/parser": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.49.tgz", + "integrity": "sha1-lE0MW6KBK7FZ7b0iZ0Ov0mUXm9w=", + "dev": true + }, + "@babel/template": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.49.tgz", + "integrity": "sha1-44q+ghfLl5P0YaUwbXrXRdg+HSc=", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.49", + "@babel/parser": "7.0.0-beta.49", + "@babel/types": "7.0.0-beta.49", + "lodash": "^4.17.5" + } + }, + "@babel/traverse": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.49.tgz", + "integrity": "sha1-TypzaCoYM07WYl0QCo0nMZ98LWg=", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.49", + "@babel/generator": "7.0.0-beta.49", + "@babel/helper-function-name": "7.0.0-beta.49", + "@babel/helper-split-export-declaration": "7.0.0-beta.49", + "@babel/parser": "7.0.0-beta.49", + "@babel/types": "7.0.0-beta.49", + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.17.5" + }, + "dependencies": { + "globals": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", + "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.49.tgz", + "integrity": "sha1-t+Oxw/TUz+Eb34yJ8e/V4WF7h6Y=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.5", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, "@concordance/react": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@concordance/react/-/react-1.0.0.tgz", @@ -6098,6 +6231,33 @@ "lodash": "^4.17.2", "protobufjs": "^6.8.0", "through2": "^2.0.3" + }, + "dependencies": { + "google-proto-files": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", + "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", + "requires": { + "globby": "^7.1.1", + "power-assert": "^1.4.4", + "protobufjs": "^6.8.0" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + } + } + } } }, "google-p12-pem": { @@ -6110,28 +6270,13 @@ } }, "google-proto-files": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", - "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.0.tgz", + "integrity": "sha512-ZVW1m38l6dJGTqOXuEQnr5VfWxkOsdkDetWGUchq8zXbo3PSVlZU7VQM/YS1pbc/6+mZy3R+xirctVaoLzIhXw==", "requires": { - "globby": "^7.1.1", + "globby": "^8.0.0", "power-assert": "^1.4.4", "protobufjs": "^6.8.0" - }, - "dependencies": { - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - } } }, "got": { @@ -7423,6 +7568,27 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "istanbul-lib-coverage": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.0.tgz", + "integrity": "sha512-yMSw5xLIbdaxiVXHk3amfNM2WeBxLrwH/BCyZ9HvA/fylwziAIJOG2rKqWyLqEJqwKT725vxxqidv+SyynnGAA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-2.2.0.tgz", + "integrity": "sha512-ozQGtlIw+/a/F3n6QwWiuuyRAPp64+g2GVsKYsIez0sgIEzkU5ZpL2uZ5pmAzbEJ82anlRaPlOQZzkRXspgJyg==", + "dev": true, + "requires": { + "@babel/generator": "7.0.0-beta.49", + "@babel/parser": "7.0.0-beta.49", + "@babel/template": "7.0.0-beta.49", + "@babel/traverse": "7.0.0-beta.49", + "@babel/types": "7.0.0-beta.49", + "istanbul-lib-coverage": "^2.0.0", + "semver": "^5.5.0" + } + }, "isurl": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", @@ -8334,9 +8500,9 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nyc": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", - "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-12.0.2.tgz", + "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { "archy": "^1.0.0", @@ -8349,12 +8515,12 @@ "find-up": "^2.1.0", "foreground-child": "^1.5.3", "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-coverage": "^1.2.0", "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-instrument": "^2.1.0", "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.3", - "istanbul-reports": "^1.4.0", + "istanbul-lib-source-maps": "^1.2.5", + "istanbul-reports": "^1.4.1", "md5-hex": "^1.2.0", "merge-source-map": "^1.1.0", "micromatch": "^3.1.10", @@ -8370,8 +8536,7 @@ "dependencies": { "align-text": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2", @@ -8381,26 +8546,17 @@ }, "amdefine": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "bundled": true, "dev": true }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "version": "3.0.0", + "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "bundled": true, "dev": true, "requires": { "default-require-extensions": "^1.0.0" @@ -8408,162 +8564,57 @@ }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "bundled": true, "dev": true }, "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "bundled": true, "dev": true }, "arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "bundled": true, "dev": true }, "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "bundled": true, "dev": true }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "bundled": true, "dev": true }, "atob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "bundled": true, "dev": true, "requires": { "cache-base": "^1.0.1", @@ -8577,8 +8628,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -8586,8 +8636,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8595,8 +8644,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8604,8 +8652,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -8613,24 +8660,16 @@ "kind-of": "^6.0.2" } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -8639,8 +8678,7 @@ }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "bundled": true, "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -8657,8 +8695,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -8668,14 +8705,12 @@ }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "bundled": true, "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -8687,20 +8722,11 @@ "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "caching-transform": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "bundled": true, "dev": true, "requires": { "md5-hex": "^1.2.0", @@ -8710,15 +8736,13 @@ }, "camelcase": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -8726,23 +8750,9 @@ "lazy-cache": "^1.0.3" } }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, "class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -8753,25 +8763,17 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true } } }, "cliui": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -8782,8 +8784,7 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "bundled": true, "dev": true, "optional": true } @@ -8791,14 +8792,12 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "bundled": true, "dev": true, "requires": { "map-visit": "^1.0.0", @@ -8807,44 +8806,32 @@ }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "bundled": true, "dev": true }, "component-emitter": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "bundled": true, "dev": true }, "copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-js": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", - "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==", + "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -8852,9 +8839,8 @@ } }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.1.0", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -8862,26 +8848,22 @@ }, "debug-log": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "decode-uri-component": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "bundled": true, "dev": true, "requires": { "strip-bom": "^2.0.0" @@ -8889,8 +8871,7 @@ }, "define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -8899,8 +8880,7 @@ "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8908,8 +8888,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8917,8 +8896,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -8926,54 +8904,24 @@ "kind-of": "^6.0.2" } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, "error-ex": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "bundled": true, "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, "execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -8987,8 +8935,7 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -9000,8 +8947,7 @@ }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "bundled": true, "dev": true, "requires": { "debug": "^2.3.3", @@ -9013,10 +8959,17 @@ "to-regex": "^3.0.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -9024,8 +8977,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9035,8 +8987,7 @@ }, "extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "bundled": true, "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -9045,8 +8996,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -9056,8 +9006,7 @@ }, "extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "bundled": true, "dev": true, "requires": { "array-unique": "^0.3.2", @@ -9072,8 +9021,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -9081,8 +9029,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9090,8 +9037,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9099,8 +9045,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9108,8 +9053,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -9119,16 +9063,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -9139,8 +9081,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9150,8 +9091,7 @@ }, "find-cache-dir": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "bundled": true, "dev": true, "requires": { "commondir": "^1.0.1", @@ -9161,8 +9101,7 @@ }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { "locate-path": "^2.0.0" @@ -9170,14 +9109,12 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "bundled": true, "dev": true }, "foreground-child": { "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^4", @@ -9186,8 +9123,7 @@ }, "fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "bundled": true, "dev": true, "requires": { "map-cache": "^0.2.2" @@ -9195,32 +9131,27 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "bundled": true, "dev": true }, "get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "bundled": true, "dev": true }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -9231,22 +9162,14 @@ "path-is-absolute": "^1.0.0" } }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "handlebars": { "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "bundled": true, "dev": true, "requires": { "async": "^1.4.0", @@ -9257,8 +9180,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "bundled": true, "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -9266,74 +9188,28 @@ } } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, "has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -9343,20 +9219,17 @@ }, "hosted-git-info": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "^1.3.0", @@ -9365,29 +9238,17 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9395,20 +9256,17 @@ }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -9416,8 +9274,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9425,8 +9282,7 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -9436,37 +9292,24 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "bundled": true, "dev": true } } }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "bundled": true, "dev": true }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9474,8 +9317,7 @@ }, "is-odd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "bundled": true, "dev": true, "requires": { "is-number": "^4.0.0" @@ -9483,99 +9325,65 @@ "dependencies": { "is-number": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "bundled": true, "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "bundled": true, "dev": true }, "is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", - "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", + "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "bundled": true, "dev": true, "requires": { "append-transform": "^0.4.0" } }, - "istanbul-lib-instrument": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", - "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", - "dev": true, - "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", - "semver": "^5.3.0" - } - }, "istanbul-lib-report": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", - "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", + "bundled": true, "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.2", @@ -9584,10 +9392,14 @@ "supports-color": "^3.1.2" }, "dependencies": { + "has-flag": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, "supports-color": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "bundled": true, "dev": true, "requires": { "has-flag": "^1.0.0" @@ -9596,54 +9408,28 @@ } }, "istanbul-lib-source-maps": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz", - "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", + "version": "1.2.5", + "bundled": true, "dev": true, "requires": { "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-coverage": "^1.2.0", "mkdirp": "^0.5.1", "rimraf": "^2.6.1", "source-map": "^0.5.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } } }, "istanbul-reports": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.4.0.tgz", - "integrity": "sha512-OPzVo1fPZ2H+owr8q/LYKLD+vquv9Pj4F+dj808MdHbuQLD7S4ACRjcX+0Tne5Vxt2lxXvdZaL7v+FOOAV281w==", + "version": "1.4.1", + "bundled": true, "dev": true, "requires": { "handlebars": "^4.0.3" } }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -9651,15 +9437,13 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -9667,8 +9451,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -9680,8 +9463,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { "p-locate": "^2.0.0", @@ -9690,37 +9472,19 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true } } }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, "longest": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "bundled": true, "dev": true }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, - "requires": { - "js-tokens": "^3.0.0" - } - }, "lru-cache": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "bundled": true, "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -9729,14 +9493,12 @@ }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "bundled": true, "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "bundled": true, "dev": true, "requires": { "object-visit": "^1.0.0" @@ -9744,8 +9506,7 @@ }, "md5-hex": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "bundled": true, "dev": true, "requires": { "md5-o-matic": "^0.1.1" @@ -9753,14 +9514,12 @@ }, "md5-o-matic": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -9768,8 +9527,7 @@ }, "merge-source-map": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "bundled": true, "dev": true, "requires": { "source-map": "^0.6.1" @@ -9777,16 +9535,14 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "bundled": true, "dev": true } } }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -9806,22 +9562,19 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -9829,14 +9582,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mixin-deep": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "bundled": true, "dev": true, "requires": { "for-in": "^1.0.2", @@ -9845,8 +9596,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -9856,8 +9606,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -9865,14 +9614,12 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true }, "nanomatch": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -9889,30 +9636,16 @@ "to-regex": "^3.0.1" }, "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -9923,8 +9656,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { "path-key": "^2.0.0" @@ -9932,20 +9664,17 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "bundled": true, "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -9955,8 +9684,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -9966,42 +9694,23 @@ }, "object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } } }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -10009,8 +9718,7 @@ }, "optimist": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "bundled": true, "dev": true, "requires": { "minimist": "~0.0.1", @@ -10019,14 +9727,12 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "bundled": true, "dev": true, "requires": { "execa": "^0.7.0", @@ -10036,14 +9742,12 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "bundled": true, "dev": true, "requires": { "p-try": "^1.0.0" @@ -10051,8 +9755,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { "p-limit": "^1.1.0" @@ -10060,14 +9763,12 @@ }, "p-try": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "bundled": true, "dev": true }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "bundled": true, "dev": true, "requires": { "error-ex": "^1.2.0" @@ -10075,14 +9776,12 @@ }, "pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "bundled": true, "dev": true }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "bundled": true, "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -10090,26 +9789,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -10119,20 +9814,17 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "bundled": true, "dev": true, "requires": { "pinkie": "^2.0.0" @@ -10140,8 +9832,7 @@ }, "pkg-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0" @@ -10149,8 +9840,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -10161,20 +9851,17 @@ }, "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "bundled": true, "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -10184,8 +9871,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0", @@ -10194,8 +9880,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -10204,16 +9889,9 @@ } } }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, "regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -10222,59 +9900,42 @@ }, "repeat-element": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "bundled": true, "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "bundled": true, "dev": true }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "bundled": true, "dev": true }, "ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -10283,8 +9944,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "requires": { "glob": "^7.0.5" @@ -10292,8 +9952,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "bundled": true, "dev": true, "requires": { "ret": "~0.1.10" @@ -10301,20 +9960,17 @@ }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "set-value": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -10325,8 +9981,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10336,8 +9991,7 @@ }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -10345,26 +9999,22 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "bundled": true, "dev": true, "requires": { "base": "^0.11.1", @@ -10377,10 +10027,17 @@ "use": "^3.1.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10388,8 +10045,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10399,8 +10055,7 @@ }, "snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "bundled": true, "dev": true, "requires": { "define-property": "^1.0.0", @@ -10410,8 +10065,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -10419,8 +10073,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10428,8 +10081,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10437,8 +10089,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -10446,24 +10097,16 @@ "kind-of": "^6.0.2" } }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.2.0" @@ -10471,17 +10114,15 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "bundled": true, "dev": true }, "source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "version": "0.5.2", + "bundled": true, "dev": true, "requires": { - "atob": "^2.0.0", + "atob": "^2.1.1", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", @@ -10490,14 +10131,12 @@ }, "source-map-url": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", + "bundled": true, "dev": true, "requires": { "foreground-child": "^1.5.6", @@ -10510,8 +10149,7 @@ }, "spdx-correct": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "bundled": true, "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -10520,14 +10158,12 @@ }, "spdx-exceptions": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "bundled": true, "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -10536,14 +10172,12 @@ }, "spdx-license-ids": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "bundled": true, "dev": true }, "split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -10551,8 +10185,7 @@ }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "bundled": true, "dev": true, "requires": { "define-property": "^0.2.5", @@ -10561,8 +10194,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10572,44 +10204,24 @@ }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "bundled": true, "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.0.0", + "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^3.0.0" } }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "bundled": true, "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -10617,20 +10229,12 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "bundled": true, "dev": true }, "test-exclude": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", - "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", + "bundled": true, "dev": true, "requires": { "arrify": "^1.0.1", @@ -10638,294 +10242,11 @@ "object-assign": "^4.1.0", "read-pkg-up": "^1.0.1", "require-main-filename": "^1.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - } } }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -10933,8 +10254,7 @@ }, "to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "bundled": true, "dev": true, "requires": { "define-property": "^2.0.2", @@ -10945,35 +10265,16 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - } } }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, "uglify-js": { "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -10984,8 +10285,7 @@ "dependencies": { "yargs": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -10999,15 +10299,13 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "bundled": true, "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -11018,8 +10316,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -11027,8 +10324,7 @@ }, "set-value": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -11041,8 +10337,7 @@ }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "bundled": true, "dev": true, "requires": { "has-value": "^0.3.1", @@ -11051,8 +10346,7 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.3", @@ -11062,8 +10356,7 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" @@ -11073,28 +10366,19 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true } } }, "urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "bundled": true, "dev": true }, "use": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.2" @@ -11102,16 +10386,14 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "bundled": true, "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -11119,9 +10401,8 @@ } }, "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "version": "1.3.1", + "bundled": true, "dev": true, "requires": { "isexe": "^2.0.0" @@ -11129,37 +10410,37 @@ }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -11167,27 +10448,32 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } } } }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -11197,20 +10483,17 @@ }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "bundled": true, "dev": true, "requires": { "cliui": "^4.0.0", @@ -11227,22 +10510,14 @@ "yargs-parser": "^9.0.2" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true }, "cliui": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "bundled": true, "dev": true, "requires": { "string-width": "^2.1.1", @@ -11250,19 +10525,9 @@ "wrap-ansi": "^2.0.0" } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, "yargs-parser": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -11272,8 +10537,7 @@ }, "yargs-parser": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -11281,8 +10545,7 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true } } @@ -12575,9 +11838,9 @@ "dev": true }, "sinon": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-5.1.1.tgz", - "integrity": "sha512-h/3uHscbt5pQNxkf7Y/Lb9/OM44YNCicHakcq73ncbrIS8lXg+ZGOZbtuU+/km4YnyiCYfQQEwANaReJz7KDfw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.0.0.tgz", + "integrity": "sha512-MatciKXyM5pXMSoqd593MqTsItJNCkSSl53HJYeKR5wfsDdp2yljjUQJLfVwAWLoBNfx1HThteqygGQ0ZEpXpQ==", "dev": true, "requires": { "@sinonjs/formatio": "^2.0.0", diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 47476cbae50..d581435a6ed 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -62,31 +62,31 @@ }, "dependencies": { "@google-cloud/common": "^0.18.2", - "async": "^2.0.1", - "extend": "^3.0.0", + "async": "^2.6.1", + "extend": "^3.0.1", "google-gax": "^0.16.0", - "google-proto-files": "^0.15.0", - "is": "^3.0.1", - "lodash.merge": "^4.6.0", + "google-proto-files": "^0.16.0", + "is": "^3.2.1", + "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.2.3", - "@google-cloud/storage": "^1.5.2", - "codecov": "^3.0.0", - "eslint": "^4.15.0", - "eslint-config-prettier": "^2.7.0", - "eslint-plugin-node": "^6.0.0", - "eslint-plugin-prettier": "^2.3.1", - "ink-docstrap": "^1.3.0", + "@google-cloud/nodejs-repo-tools": "^2.3.0", + "@google-cloud/storage": "^1.7.0", + "codecov": "^3.0.2", + "eslint": "^4.19.1", + "eslint-config-prettier": "^2.9.0", + "eslint-plugin-node": "^6.0.1", + "eslint-plugin-prettier": "^2.6.0", + "ink-docstrap": "^1.3.2", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", - "mocha": "^5.0.0", - "nyc": "^11.3.0", - "power-assert": "^1.4.4", - "prettier": "^1.11.1", - "safe-buffer": "^5.1.1", - "sinon": "^5.0.0", - "uuid": "^3.2.1" + "uuid": "^3.2.1", + "mocha": "^5.2.0", + "nyc": "^12.0.2", + "power-assert": "^1.6.0", + "prettier": "^1.13.5", + "safe-buffer": "^5.1.2", + "sinon": "^6.0.0" } } diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 8550118866c..2a5f93821d2 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -12,19 +12,19 @@ "test": "repo-tools test run --cmd ava -- -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/storage": "^1.5.2", + "@google-cloud/storage": "^1.7.0", "@google-cloud/vision": "0.20.0", - "async": "2.5.0", - "natural": "0.5.4", + "async": "2.6.1", + "natural": "0.6.1", "redis": "2.8.0", - "yargs": "10.0.3" + "yargs": "11.0.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "2.2.3", - "ava": "0.23.0", - "uuid": "3.1.0" + "@google-cloud/nodejs-repo-tools": "2.3.0", + "ava": "0.25.0", + "uuid": "3.2.1" }, "optionalDependencies": { - "canvas": "1.6.5" + "canvas": "1.6.11" } } From 368a4ff3447d8c815f4ecec6071678263ecd7947 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sun, 17 Jun 2018 10:22:50 -0700 Subject: [PATCH 153/588] fix: drop support for node 4.x and 9.x (#82) --- .../google-cloud-vision/.circleci/config.yml | 24 +++---------------- packages/google-cloud-vision/package.json | 2 +- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index b73f0b0f8b0..4317485ca97 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -3,32 +3,24 @@ workflows: version: 2 tests: jobs: &workflow_jobs - - node4: + - node6: filters: &all_commits tags: only: /.*/ - - node6: - filters: *all_commits - node8: filters: *all_commits - - node9: - filters: *all_commits - node10: filters: *all_commits - lint: requires: - - node4 - node6 - node8 - - node9 - node10 filters: *all_commits - docs: requires: - - node4 - node6 - node8 - - node9 - node10 filters: *all_commits - system_tests: @@ -62,9 +54,9 @@ workflows: only: master jobs: *workflow_jobs jobs: - node4: + node6: docker: - - image: 'node:4' + - image: 'node:6' user: node steps: &unit_tests_steps - checkout @@ -95,21 +87,11 @@ jobs: name: Submit coverage data to codecov. command: node_modules/.bin/codecov when: always - node6: - docker: - - image: 'node:6' - user: node - steps: *unit_tests_steps node8: docker: - image: 'node:8' user: node steps: *unit_tests_steps - node9: - docker: - - image: 'node:9' - user: node - steps: *unit_tests_steps node10: docker: - image: 'node:10' diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index d581435a6ed..6f709965be5 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -5,7 +5,7 @@ "license": "Apache-2.0", "author": "Google Inc", "engines": { - "node": ">=4.0.0" + "node": ">=6.0.0" }, "repository": "googleapis/nodejs-vision", "main": "src/index.js", From 2bcdde1caa2584c672546f6f1fbb4068a5219e33 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sun, 17 Jun 2018 10:40:03 -0700 Subject: [PATCH 154/588] fix: move async to dev dependencies (#83) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6f709965be5..a622b23e353 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -62,7 +62,6 @@ }, "dependencies": { "@google-cloud/common": "^0.18.2", - "async": "^2.6.1", "extend": "^3.0.1", "google-gax": "^0.16.0", "google-proto-files": "^0.16.0", @@ -73,6 +72,7 @@ "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", "@google-cloud/storage": "^1.7.0", + "async": "^2.0.1", "codecov": "^3.0.2", "eslint": "^4.19.1", "eslint-config-prettier": "^2.9.0", From 6c91aa6f7b49c265a7cb32d55467bbf762d138b3 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 18 Jun 2018 11:21:03 -0700 Subject: [PATCH 155/588] refactor: drop dependency on extend (#85) --- .../google-cloud-vision/package-lock.json | 768 ++++++++++++------ packages/google-cloud-vision/package.json | 1 - 2 files changed, 512 insertions(+), 257 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index d7acc7d6e4f..f5c0c85327d 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -8536,7 +8536,8 @@ "dependencies": { "align-text": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { "kind-of": "^3.0.2", @@ -8546,17 +8547,20 @@ }, "amdefine": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "append-transform": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { "default-require-extensions": "^1.0.0" @@ -8564,57 +8568,68 @@ }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "arr-flatten": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "arr-union": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-unique": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "arrify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "assign-symbols": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, "async": { "version": "1.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "atob": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "base": { "version": "0.11.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { "cache-base": "^1.0.1", @@ -8628,7 +8643,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -8636,7 +8652,8 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8644,7 +8661,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8652,7 +8670,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -8662,14 +8681,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -8678,7 +8699,8 @@ }, "braces": { "version": "2.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -8695,7 +8717,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -8705,12 +8728,14 @@ }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "cache-base": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -8726,7 +8751,8 @@ }, "caching-transform": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { "md5-hex": "^1.2.0", @@ -8736,13 +8762,15 @@ }, "camelcase": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, "requires": { @@ -8752,7 +8780,8 @@ }, "class-utils": { "version": "0.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -8763,7 +8792,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -8773,7 +8803,8 @@ }, "cliui": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, "requires": { @@ -8784,7 +8815,8 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } @@ -8792,12 +8824,14 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "collection-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { "map-visit": "^1.0.0", @@ -8806,32 +8840,38 @@ }, "commondir": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "component-emitter": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "copy-descriptor": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -8840,7 +8880,8 @@ }, "debug": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", "dev": true, "requires": { "ms": "2.0.0" @@ -8848,22 +8889,26 @@ }, "debug-log": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", + "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { "strip-bom": "^2.0.0" @@ -8871,7 +8916,8 @@ }, "define-property": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -8880,7 +8926,8 @@ "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8888,7 +8935,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8896,7 +8944,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -8906,14 +8955,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -8921,7 +8972,8 @@ }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -8935,7 +8987,8 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -8947,7 +9000,8 @@ }, "expand-brackets": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { "debug": "^2.3.3", @@ -8961,7 +9015,8 @@ "dependencies": { "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -8969,7 +9024,8 @@ }, "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -8977,7 +9033,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -8987,7 +9044,8 @@ }, "extend-shallow": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -8996,7 +9054,8 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -9006,7 +9065,8 @@ }, "extglob": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", @@ -9021,7 +9081,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -9029,7 +9090,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9037,7 +9099,8 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9045,7 +9108,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9053,7 +9117,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -9063,14 +9128,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "fill-range": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -9081,7 +9148,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9091,7 +9159,8 @@ }, "find-cache-dir": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { "commondir": "^1.0.1", @@ -9101,7 +9170,8 @@ }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "^2.0.0" @@ -9109,12 +9179,14 @@ }, "for-in": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "foreground-child": { "version": "1.5.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { "cross-spawn": "^4", @@ -9123,7 +9195,8 @@ }, "fragment-cache": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { "map-cache": "^0.2.2" @@ -9131,27 +9204,32 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "get-value": { "version": "2.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -9164,12 +9242,14 @@ }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { "async": "^1.4.0", @@ -9180,7 +9260,8 @@ "dependencies": { "source-map": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -9190,7 +9271,8 @@ }, "has-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { "get-value": "^2.0.6", @@ -9200,7 +9282,8 @@ }, "has-values": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { "is-number": "^3.0.0", @@ -9209,7 +9292,8 @@ "dependencies": { "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -9219,17 +9303,20 @@ }, "hosted-git-info": { "version": "2.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -9238,17 +9325,20 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9256,17 +9346,20 @@ }, "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -9274,7 +9367,8 @@ }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9282,7 +9376,8 @@ }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -9292,24 +9387,28 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "is-extendable": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9317,7 +9416,8 @@ }, "is-odd": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { "is-number": "^4.0.0" @@ -9325,14 +9425,16 @@ "dependencies": { "is-number": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -9340,42 +9442,50 @@ }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "is-windows": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", + "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { "append-transform": "^0.4.0" @@ -9383,7 +9493,8 @@ }, "istanbul-lib-report": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", + "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.2", @@ -9394,12 +9505,14 @@ "dependencies": { "has-flag": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "supports-color": { "version": "3.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { "has-flag": "^1.0.0" @@ -9409,7 +9522,8 @@ }, "istanbul-lib-source-maps": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz", + "integrity": "sha1-/+a+Tnq4bTYD5CkNVJkLFFBvybE=", "dev": true, "requires": { "debug": "^3.1.0", @@ -9421,7 +9535,8 @@ }, "istanbul-reports": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.4.1.tgz", + "integrity": "sha1-Ty6OkoqnoF0dpsQn1AmLJlXsczQ=", "dev": true, "requires": { "handlebars": "^4.0.3" @@ -9429,7 +9544,8 @@ }, "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -9437,13 +9553,15 @@ }, "lazy-cache": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -9451,7 +9569,8 @@ }, "load-json-file": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -9463,7 +9582,8 @@ }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "^2.0.0", @@ -9472,19 +9592,22 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "longest": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, "lru-cache": { "version": "4.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -9493,12 +9616,14 @@ }, "map-cache": { "version": "0.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { "object-visit": "^1.0.0" @@ -9506,7 +9631,8 @@ }, "md5-hex": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { "md5-o-matic": "^0.1.1" @@ -9514,12 +9640,14 @@ }, "md5-o-matic": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -9527,7 +9655,8 @@ }, "merge-source-map": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", "dev": true, "requires": { "source-map": "^0.6.1" @@ -9535,14 +9664,16 @@ "dependencies": { "source-map": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "micromatch": { "version": "3.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -9562,19 +9693,22 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -9582,12 +9716,14 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mixin-deep": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -9596,7 +9732,8 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -9606,7 +9743,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -9614,12 +9752,14 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "nanomatch": { "version": "1.2.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -9638,14 +9778,16 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -9656,7 +9798,8 @@ }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { "path-key": "^2.0.0" @@ -9664,17 +9807,20 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-copy": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -9684,7 +9830,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -9694,7 +9841,8 @@ }, "object-visit": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { "isobject": "^3.0.0" @@ -9702,7 +9850,8 @@ }, "object.pick": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { "isobject": "^3.0.1" @@ -9710,7 +9859,8 @@ }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -9718,7 +9868,8 @@ }, "optimist": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { "minimist": "~0.0.1", @@ -9727,12 +9878,14 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { "execa": "^0.7.0", @@ -9742,12 +9895,14 @@ }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { "p-try": "^1.0.0" @@ -9755,7 +9910,8 @@ }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "^1.1.0" @@ -9763,12 +9919,14 @@ }, "p-try": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { "error-ex": "^1.2.0" @@ -9776,12 +9934,14 @@ }, "pascalcase": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, "path-exists": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -9789,22 +9949,26 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -9814,17 +9978,20 @@ }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { "pinkie": "^2.0.0" @@ -9832,7 +9999,8 @@ }, "pkg-dir": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { "find-up": "^1.0.0" @@ -9840,7 +10008,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "^2.0.0", @@ -9851,17 +10020,20 @@ }, "posix-character-classes": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "read-pkg": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -9871,7 +10043,8 @@ }, "read-pkg-up": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { "find-up": "^1.0.0", @@ -9880,7 +10053,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "^2.0.0", @@ -9891,7 +10065,8 @@ }, "regex-not": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -9900,42 +10075,50 @@ }, "repeat-element": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "resolve-url": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "ret": { "version": "0.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, "right-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, "requires": { @@ -9944,7 +10127,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "^7.0.5" @@ -9952,7 +10136,8 @@ }, "safe-regex": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { "ret": "~0.1.10" @@ -9960,17 +10145,20 @@ }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "set-value": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -9981,7 +10169,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9991,7 +10180,8 @@ }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -9999,22 +10189,26 @@ }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "snapdragon": { "version": "0.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", @@ -10029,7 +10223,8 @@ "dependencies": { "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -10037,7 +10232,8 @@ }, "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10045,7 +10241,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10055,7 +10252,8 @@ }, "snapdragon-node": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", @@ -10065,7 +10263,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -10073,7 +10272,8 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10081,7 +10281,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10089,7 +10290,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -10099,14 +10301,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" @@ -10114,12 +10318,14 @@ }, "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { "version": "0.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", "dev": true, "requires": { "atob": "^2.1.1", @@ -10131,12 +10337,14 @@ }, "source-map-url": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", + "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { "foreground-child": "^1.5.6", @@ -10149,7 +10357,8 @@ }, "spdx-correct": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -10158,12 +10367,14 @@ }, "spdx-exceptions": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -10172,12 +10383,14 @@ }, "spdx-license-ids": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "split-string": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -10185,7 +10398,8 @@ }, "static-extend": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { "define-property": "^0.2.5", @@ -10194,7 +10408,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10204,7 +10419,8 @@ }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -10213,7 +10429,8 @@ }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -10221,7 +10438,8 @@ }, "strip-bom": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -10229,12 +10447,14 @@ }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "test-exclude": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", + "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { "arrify": "^1.0.1", @@ -10246,7 +10466,8 @@ }, "to-object-path": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -10254,7 +10475,8 @@ }, "to-regex": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", @@ -10265,7 +10487,8 @@ }, "to-regex-range": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { "is-number": "^3.0.0", @@ -10274,7 +10497,8 @@ }, "uglify-js": { "version": "2.8.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, "requires": { @@ -10285,7 +10509,8 @@ "dependencies": { "yargs": { "version": "3.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, "requires": { @@ -10299,13 +10524,15 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -10316,7 +10543,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10324,7 +10552,8 @@ }, "set-value": { "version": "0.4.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -10337,7 +10566,8 @@ }, "unset-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { "has-value": "^0.3.1", @@ -10346,7 +10576,8 @@ "dependencies": { "has-value": { "version": "0.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { "get-value": "^2.0.3", @@ -10356,7 +10587,8 @@ "dependencies": { "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -10366,19 +10598,22 @@ }, "has-values": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true } } }, "urix": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "use": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -10386,14 +10621,16 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -10402,7 +10639,8 @@ }, "which": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", "dev": true, "requires": { "isexe": "^2.0.0" @@ -10410,23 +10648,27 @@ }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { "string-width": "^1.0.1", @@ -10435,12 +10677,14 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -10448,7 +10692,8 @@ }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -10458,7 +10703,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -10468,12 +10714,14 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -10483,17 +10731,20 @@ }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "11.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { "cliui": "^4.0.0", @@ -10512,12 +10763,14 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "cliui": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { "string-width": "^2.1.1", @@ -10527,7 +10780,8 @@ }, "yargs-parser": { "version": "9.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -10537,7 +10791,8 @@ }, "yargs-parser": { "version": "8.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -10545,7 +10800,8 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a622b23e353..dcd1b85fa63 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -62,7 +62,6 @@ }, "dependencies": { "@google-cloud/common": "^0.18.2", - "extend": "^3.0.1", "google-gax": "^0.16.0", "google-proto-files": "^0.16.0", "is": "^3.2.1", From 906cf45c16934d70690ca79b0af7e20d39d00db8 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Fri, 22 Jun 2018 15:44:08 -0700 Subject: [PATCH 156/588] chore: Re-generate library using /synth.py (#88) --- .../google-cloud-vision/.circleci/config.yml | 3 +- packages/google-cloud-vision/CONTRIBUTORS | 6 +- .../google-cloud-vision/package-lock.json | 1960 ++++++----------- packages/google-cloud-vision/package.json | 12 +- .../google/cloud/vision/v1/geometry.proto | 1 + .../cloud/vision/v1/image_annotator.proto | 2 +- .../cloud/vision/v1/text_annotation.proto | 1 + .../cloud/vision/v1/web_detection.proto | 2 +- packages/google-cloud-vision/src/helpers.js | 2 +- .../src/v1/image_annotator_client.js | 4 +- .../cloud/vision/v1p1beta1/doc_geometry.js | 4 +- .../vision/v1p1beta1/doc_image_annotator.js | 4 +- .../vision/v1p1beta1/doc_text_annotation.js | 4 +- .../vision/v1p1beta1/doc_web_detection.js | 4 +- .../v1p1beta1/doc/google/protobuf/doc_any.js | 4 +- .../doc/google/protobuf/doc_wrappers.js | 4 +- .../v1p1beta1/doc/google/rpc/doc_status.js | 4 +- .../v1p1beta1/doc/google/type/doc_color.js | 4 +- .../v1p1beta1/doc/google/type/doc_latlng.js | 4 +- .../src/v1p1beta1/image_annotator_client.js | 12 +- .../src/v1p1beta1/index.js | 4 +- .../doc/google/longrunning/doc_operations.js | 147 ++ .../src/v1p2beta1/image_annotator_client.js | 6 +- packages/google-cloud-vision/synth.py | 2 +- .../test/gapic-v1p1beta1.js | 4 +- 25 files changed, 876 insertions(+), 1328 deletions(-) create mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 4317485ca97..ef1340a76cc 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -76,7 +76,6 @@ jobs: command: |- mkdir -p /home/node/.npm-global npm install - npm link chmod +x node_modules/@google-cloud/nodejs-repo-tools/bin/tools environment: NPM_CONFIG_PREFIX: /home/node/.npm-global @@ -109,7 +108,7 @@ jobs: name: Link the module being tested to the samples. command: | cd samples/ - npm link @google-cloud/vision + npm link ../ npm install cd .. environment: diff --git a/packages/google-cloud-vision/CONTRIBUTORS b/packages/google-cloud-vision/CONTRIBUTORS index 3d08a55937e..988e0813716 100644 --- a/packages/google-cloud-vision/CONTRIBUTORS +++ b/packages/google-cloud-vision/CONTRIBUTORS @@ -6,12 +6,15 @@ Ace Nassri Alexander Fenster Ali Ijaz Sheikh +Christopher Wilcox Dave Gramlich Ernest Landrito Gus Class Jason Dobry -Jonathan Lui +Jonathan Lui Jun Mukai +Justin Beckwith +Justin Beckwith Kelvin Jin Luke Sneeringer Rebecca Taylor @@ -20,5 +23,6 @@ Song Wang Stephen Sawchuk Tim Swast calibr +dpebot greenkeeper[bot] rtw diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index f5c0c85327d..569fd855b88 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -178,9 +178,9 @@ }, "dependencies": { "globals": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", - "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==", + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", "dev": true } } @@ -214,24 +214,25 @@ } }, "@google-cloud/common": { - "version": "0.18.9", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.9.tgz", - "integrity": "sha512-P5jtyfOCF84fzVcT/36XKARRrbCOqozYBliDd7btQ96GuEqKzjPVjxeE4EzdeRQ8QChBpHLrbONsU63Jprw73A==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.1.tgz", + "integrity": "sha512-LJB7CoNXEXY0mDWtF8E2cl3Y0kuMQ3wjH9Xr+Y7vH5gHgN82dDh1BMUOizRf9oXQFDWUgGERD5SdfBcjUhHmwA==", "requires": { "@types/duplexify": "^3.5.0", "@types/request": "^2.47.0", "arrify": "^1.0.1", "axios": "^0.18.0", - "duplexify": "^3.5.4", + "duplexify": "^3.6.0", "ent": "^2.2.0", "extend": "^3.0.1", - "google-auth-library": "^1.4.0", + "google-auth-library": "^1.6.0", "is": "^3.2.1", "pify": "^3.0.0", - "request": "^2.85.0", + "request": "^2.87.0", "retry-request": "^3.3.1", "split-array-stream": "^2.0.0", - "stream-events": "^1.0.4" + "stream-events": "^1.0.4", + "through2": "^2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -322,8 +323,7 @@ "dependencies": { "align-text": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2", @@ -333,26 +333,22 @@ }, "amdefine": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "bundled": true, "dev": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "ansi-styles": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "bundled": true, "dev": true, "requires": { "default-require-extensions": "^1.0.0" @@ -360,14 +356,12 @@ }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "arr-diff": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "bundled": true, "dev": true, "requires": { "arr-flatten": "^1.0.1" @@ -375,32 +369,27 @@ }, "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "bundled": true, "dev": true }, "array-unique": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "bundled": true, "dev": true }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "bundled": true, "dev": true }, "babel-code-frame": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "bundled": true, "dev": true, "requires": { "chalk": "^1.1.3", @@ -410,8 +399,7 @@ }, "babel-generator": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "bundled": true, "dev": true, "requires": { "babel-messages": "^6.23.0", @@ -426,8 +414,7 @@ }, "babel-messages": { "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -435,8 +422,7 @@ }, "babel-runtime": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "bundled": true, "dev": true, "requires": { "core-js": "^2.4.0", @@ -445,8 +431,7 @@ }, "babel-template": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -458,8 +443,7 @@ }, "babel-traverse": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "bundled": true, "dev": true, "requires": { "babel-code-frame": "^6.26.0", @@ -475,8 +459,7 @@ }, "babel-types": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -487,20 +470,17 @@ }, "babylon": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "brace-expansion": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -509,8 +489,7 @@ }, "braces": { "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "bundled": true, "dev": true, "requires": { "expand-range": "^1.8.1", @@ -520,14 +499,12 @@ }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "caching-transform": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "bundled": true, "dev": true, "requires": { "md5-hex": "^1.2.0", @@ -537,15 +514,13 @@ }, "camelcase": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -555,8 +530,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "bundled": true, "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -568,8 +542,7 @@ }, "cliui": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -580,8 +553,7 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "bundled": true, "dev": true, "optional": true } @@ -589,38 +561,32 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "bundled": true, "dev": true }, "core-js": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -629,8 +595,7 @@ }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -638,20 +603,17 @@ }, "debug-log": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "bundled": true, "dev": true, "requires": { "strip-bom": "^2.0.0" @@ -659,8 +621,7 @@ }, "detect-indent": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "bundled": true, "dev": true, "requires": { "repeating": "^2.0.0" @@ -668,8 +629,7 @@ }, "error-ex": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "bundled": true, "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -677,20 +637,17 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "bundled": true, "dev": true }, "esutils": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "bundled": true, "dev": true }, "execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -704,8 +661,7 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -717,8 +673,7 @@ }, "expand-brackets": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "bundled": true, "dev": true, "requires": { "is-posix-bracket": "^0.1.0" @@ -726,8 +681,7 @@ }, "expand-range": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "bundled": true, "dev": true, "requires": { "fill-range": "^2.1.0" @@ -735,8 +689,7 @@ }, "extglob": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "bundled": true, "dev": true, "requires": { "is-extglob": "^1.0.0" @@ -744,14 +697,12 @@ }, "filename-regex": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "bundled": true, "dev": true }, "fill-range": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "bundled": true, "dev": true, "requires": { "is-number": "^2.1.0", @@ -763,8 +714,7 @@ }, "find-cache-dir": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "bundled": true, "dev": true, "requires": { "commondir": "^1.0.1", @@ -774,8 +724,7 @@ }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { "locate-path": "^2.0.0" @@ -783,14 +732,12 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "bundled": true, "dev": true }, "for-own": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "bundled": true, "dev": true, "requires": { "for-in": "^1.0.1" @@ -798,8 +745,7 @@ }, "foreground-child": { "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^4", @@ -808,26 +754,22 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "bundled": true, "dev": true }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -840,8 +782,7 @@ }, "glob-base": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "bundled": true, "dev": true, "requires": { "glob-parent": "^2.0.0", @@ -850,8 +791,7 @@ }, "glob-parent": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "bundled": true, "dev": true, "requires": { "is-glob": "^2.0.0" @@ -859,20 +799,17 @@ }, "globals": { "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "bundled": true, "dev": true }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "handlebars": { "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "bundled": true, "dev": true, "requires": { "async": "^1.4.0", @@ -883,8 +820,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "bundled": true, "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -894,8 +830,7 @@ }, "has-ansi": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -903,26 +838,22 @@ }, "has-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "bundled": true, "dev": true }, "hosted-git-info": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "^1.3.0", @@ -931,14 +862,12 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "invariant": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "bundled": true, "dev": true, "requires": { "loose-envify": "^1.0.0" @@ -946,26 +875,22 @@ }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -973,14 +898,12 @@ }, "is-dotfile": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "bundled": true, "dev": true }, "is-equal-shallow": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "bundled": true, "dev": true, "requires": { "is-primitive": "^2.0.0" @@ -988,20 +911,17 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "bundled": true, "dev": true }, "is-extglob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "bundled": true, "dev": true }, "is-finite": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -1009,8 +929,7 @@ }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -1018,8 +937,7 @@ }, "is-glob": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "bundled": true, "dev": true, "requires": { "is-extglob": "^1.0.0" @@ -1027,8 +945,7 @@ }, "is-number": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -1036,44 +953,37 @@ }, "is-posix-bracket": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "bundled": true, "dev": true }, "is-primitive": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "bundled": true, "dev": true }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" @@ -1081,14 +991,12 @@ }, "istanbul-lib-coverage": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", + "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "bundled": true, "dev": true, "requires": { "append-transform": "^0.4.0" @@ -1096,8 +1004,7 @@ }, "istanbul-lib-instrument": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", - "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", + "bundled": true, "dev": true, "requires": { "babel-generator": "^6.18.0", @@ -1111,8 +1018,7 @@ }, "istanbul-lib-report": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", - "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", + "bundled": true, "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.1", @@ -1123,8 +1029,7 @@ "dependencies": { "supports-color": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "bundled": true, "dev": true, "requires": { "has-flag": "^1.0.0" @@ -1134,8 +1039,7 @@ }, "istanbul-lib-source-maps": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", - "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", + "bundled": true, "dev": true, "requires": { "debug": "^3.1.0", @@ -1147,8 +1051,7 @@ "dependencies": { "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -1158,8 +1061,7 @@ }, "istanbul-reports": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", - "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", + "bundled": true, "dev": true, "requires": { "handlebars": "^4.0.3" @@ -1167,20 +1069,17 @@ }, "js-tokens": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "bundled": true, "dev": true }, "jsesc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "bundled": true, "dev": true }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -1188,15 +1087,13 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -1204,8 +1101,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -1217,8 +1113,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { "p-locate": "^2.0.0", @@ -1227,28 +1122,24 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true } } }, "lodash": { "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "bundled": true, "dev": true }, "longest": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "bundled": true, "dev": true }, "loose-envify": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "bundled": true, "dev": true, "requires": { "js-tokens": "^3.0.0" @@ -1256,8 +1147,7 @@ }, "lru-cache": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "bundled": true, "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -1266,8 +1156,7 @@ }, "md5-hex": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "bundled": true, "dev": true, "requires": { "md5-o-matic": "^0.1.1" @@ -1275,14 +1164,12 @@ }, "md5-o-matic": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -1290,8 +1177,7 @@ }, "merge-source-map": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "bundled": true, "dev": true, "requires": { "source-map": "^0.5.6" @@ -1299,8 +1185,7 @@ }, "micromatch": { "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "bundled": true, "dev": true, "requires": { "arr-diff": "^2.0.0", @@ -1320,14 +1205,12 @@ }, "mimic-fn": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -1335,14 +1218,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -1350,14 +1231,12 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true }, "normalize-package-data": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -1368,8 +1247,7 @@ }, "normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "bundled": true, "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" @@ -1377,8 +1255,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { "path-key": "^2.0.0" @@ -1386,20 +1263,17 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "object.omit": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "bundled": true, "dev": true, "requires": { "for-own": "^0.1.4", @@ -1408,8 +1282,7 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -1417,8 +1290,7 @@ }, "optimist": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "bundled": true, "dev": true, "requires": { "minimist": "~0.0.1", @@ -1427,14 +1299,12 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "bundled": true, "dev": true, "requires": { "execa": "^0.7.0", @@ -1444,20 +1314,17 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "bundled": true, "dev": true }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { "p-limit": "^1.1.0" @@ -1465,8 +1332,7 @@ }, "parse-glob": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "bundled": true, "dev": true, "requires": { "glob-base": "^0.3.0", @@ -1477,8 +1343,7 @@ }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "bundled": true, "dev": true, "requires": { "error-ex": "^1.2.0" @@ -1486,8 +1351,7 @@ }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "bundled": true, "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -1495,26 +1359,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -1524,20 +1384,17 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "bundled": true, "dev": true, "requires": { "pinkie": "^2.0.0" @@ -1545,8 +1402,7 @@ }, "pkg-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0" @@ -1554,8 +1410,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -1566,20 +1421,17 @@ }, "preserve": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "randomatic": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", @@ -1588,8 +1440,7 @@ "dependencies": { "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -1597,8 +1448,7 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -1608,8 +1458,7 @@ }, "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -1619,8 +1468,7 @@ }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "bundled": true, "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -1630,8 +1478,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0", @@ -1640,8 +1487,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -1652,14 +1498,12 @@ }, "regenerator-runtime": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "bundled": true, "dev": true }, "regex-cache": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "bundled": true, "dev": true, "requires": { "is-equal-shallow": "^0.1.3" @@ -1667,26 +1511,22 @@ }, "remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "bundled": true, "dev": true }, "repeat-element": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "bundled": true, "dev": true }, "repeating": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "bundled": true, "dev": true, "requires": { "is-finite": "^1.0.0" @@ -1694,26 +1534,22 @@ }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -1722,8 +1558,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "requires": { "glob": "^7.0.5" @@ -1731,20 +1566,17 @@ }, "semver": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -1752,32 +1584,27 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", + "bundled": true, "dev": true, "requires": { "foreground-child": "^1.5.6", @@ -1790,8 +1617,7 @@ }, "spdx-correct": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "bundled": true, "dev": true, "requires": { "spdx-license-ids": "^1.0.2" @@ -1799,20 +1625,17 @@ }, "spdx-expression-parse": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "bundled": true, "dev": true }, "spdx-license-ids": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "bundled": true, "dev": true }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "bundled": true, "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -1821,20 +1644,17 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -1844,8 +1664,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -1853,8 +1672,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "bundled": true, "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -1862,20 +1680,17 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "bundled": true, "dev": true }, "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "bundled": true, "dev": true }, "test-exclude": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", - "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", + "bundled": true, "dev": true, "requires": { "arrify": "^1.0.1", @@ -1887,20 +1702,17 @@ }, "to-fast-properties": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "bundled": true, "dev": true }, "trim-right": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "bundled": true, "dev": true }, "uglify-js": { "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -1911,8 +1723,7 @@ "dependencies": { "yargs": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -1926,15 +1737,13 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "bundled": true, "dev": true, "optional": true }, "validate-npm-package-license": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "bundled": true, "dev": true, "requires": { "spdx-correct": "~1.0.0", @@ -1943,8 +1752,7 @@ }, "which": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "bundled": true, "dev": true, "requires": { "isexe": "^2.0.0" @@ -1952,27 +1760,23 @@ }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.1", @@ -1981,8 +1785,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -1994,14 +1797,12 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -2011,20 +1812,17 @@ }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "10.0.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz", - "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", + "bundled": true, "dev": true, "requires": { "cliui": "^3.2.0", @@ -2043,8 +1841,7 @@ "dependencies": { "cliui": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.1", @@ -2054,8 +1851,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -2069,8 +1865,7 @@ }, "yargs-parser": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz", - "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -2078,8 +1873,7 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true } } @@ -2376,14 +2170,14 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.3.tgz", - "integrity": "sha512-/gwCgiI2e9RzzZTKbl+am3vgNqOt7a9fJ/uxv4SqYKxenoEDNVU3KZEadlpusWhQI0A0dOrZ0T68JYKVjzmgdQ==" + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.4.tgz", + "integrity": "sha512-YMLlzdeNnAyLrQew39IFRkMacAR5BqKGIEei9ZjdHsIZtv+ZWKYTu1i7QJhetxQ9ReXx8w5f+cixdHZG3zgMQA==" }, "@types/request": { - "version": "2.47.0", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.0.tgz", - "integrity": "sha512-/KXM5oev+nNCLIgBjkwbk8VqxmzI56woD4VUxn95O+YeQ8hJzcSmIZ1IN3WexiqBb6srzDo2bdMbsXxgXNkz5Q==", + "version": "2.47.1", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", + "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { "@types/caseless": "*", "@types/form-data": "*", @@ -2741,6 +2535,7 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, "requires": { "lodash": "^4.17.10" } @@ -2762,9 +2557,9 @@ "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" }, "auto-bind": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.2.0.tgz", - "integrity": "sha512-Zw7pZp7tztvKnWWtoII4AmqH5a2PV3ZN5F0BPRTGcc1kpRm4b6QXQnPU7Znbl6BfPfqOVOV29g4JeMqZQaqqOA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.2.1.tgz", + "integrity": "sha512-/W9yj1yKmBLwpexwAujeD9YHwYmRuWFGV8HWE7smQab797VeHa4/cnE2NFeDhA+E+5e/OGBI8763EhLjfZ/MXA==", "dev": true }, "ava": { @@ -4586,9 +4381,9 @@ "dev": true }, "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -4788,9 +4583,9 @@ "dev": true }, "globals": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", - "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==", + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", "dev": true }, "strip-ansi": { @@ -4834,9 +4629,9 @@ }, "dependencies": { "resolve": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { "path-parse": "^1.0.5" @@ -5435,28 +5230,24 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "bundled": true, "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "bundled": true, "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5466,14 +5257,12 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -5482,40 +5271,34 @@ }, "chownr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "bundled": true, "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "bundled": true, "dev": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "bundled": true, "dev": true, "optional": true }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5524,29 +5307,25 @@ }, "deep-extend": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "bundled": true, "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "bundled": true, "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "bundled": true, "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5555,15 +5334,13 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5579,8 +5356,7 @@ }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5594,15 +5370,13 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "bundled": true, "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.21", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", - "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5611,8 +5385,7 @@ }, "ignore-walk": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5621,8 +5394,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5632,21 +5404,18 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "bundled": true, "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -5654,15 +5423,13 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -5670,14 +5437,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "minipass": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", - "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", + "bundled": true, "dev": true, "requires": { "safe-buffer": "^5.1.1", @@ -5686,8 +5451,7 @@ }, "minizlib": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5696,8 +5460,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -5705,15 +5468,13 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true, "optional": true }, "needle": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", - "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5724,8 +5485,7 @@ }, "node-pre-gyp": { "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", - "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5743,8 +5503,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5754,15 +5513,13 @@ }, "npm-bundled": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", - "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", + "bundled": true, "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", - "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5772,8 +5529,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5785,21 +5541,18 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -5807,22 +5560,19 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "bundled": true, "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5832,22 +5582,19 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "bundled": true, "dev": true, "optional": true }, "rc": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5859,8 +5606,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "bundled": true, "dev": true, "optional": true } @@ -5868,8 +5614,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5884,8 +5629,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5894,49 +5638,42 @@ }, "safe-buffer": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "bundled": true, "dev": true }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "bundled": true, "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "bundled": true, "dev": true, "optional": true }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "bundled": true, "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -5946,8 +5683,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5956,8 +5692,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -5965,15 +5700,13 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "bundled": true, "dev": true, "optional": true }, "tar": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", - "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5988,15 +5721,13 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "bundled": true, "dev": true, "optional": true }, "wide-align": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6005,14 +5736,12 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "yallist": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", + "bundled": true, "dev": true } } @@ -6209,6 +5938,7 @@ "version": "0.10.1", "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz", "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", + "dev": true, "requires": { "async": "^2.3.0", "gcp-metadata": "^0.6.1", @@ -6217,45 +5947,29 @@ } }, "google-gax": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz", - "integrity": "sha512-eP7UUkKvaHmmvCrr+rxzkIOeEKOnXmoib7/AkENDAuqlC9T2+lWlzwpthDRnitQcV8SblDMzsk73YPMPCDwPyQ==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", + "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "^3.5.4", - "extend": "^3.0.0", - "globby": "^8.0.0", - "google-auto-auth": "^0.10.0", - "google-proto-files": "^0.15.0", - "grpc": "^1.10.0", - "is-stream-ended": "^0.1.0", - "lodash": "^4.17.2", - "protobufjs": "^6.8.0", + "duplexify": "^3.6.0", + "extend": "^3.0.1", + "globby": "^8.0.1", + "google-auth-library": "^1.6.1", + "google-proto-files": "^0.16.0", + "grpc": "^1.12.2", + "is-stream-ended": "^0.1.4", + "lodash": "^4.17.10", + "protobufjs": "^6.8.6", + "retry-request": "^4.0.0", "through2": "^2.0.3" }, "dependencies": { - "google-proto-files": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz", - "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==", - "requires": { - "globby": "^7.1.1", - "power-assert": "^1.4.4", - "protobufjs": "^6.8.0" - }, - "dependencies": { - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - } + "retry-request": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", + "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", + "requires": { + "through2": "^2.0.0" } } } @@ -6270,9 +5984,9 @@ } }, "google-proto-files": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.0.tgz", - "integrity": "sha512-ZVW1m38l6dJGTqOXuEQnr5VfWxkOsdkDetWGUchq8zXbo3PSVlZU7VQM/YS1pbc/6+mZy3R+xirctVaoLzIhXw==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", + "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { "globby": "^8.0.0", "power-assert": "^1.4.4", @@ -6334,9 +6048,9 @@ "dev": true }, "grpc": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.3.tgz", - "integrity": "sha512-QPwbAXRXd8IyXAhTdUVgjEqSdvXoTq5uFWSo+eGMTcra12PBJUkAceD+1AUVOx1GqBY74/7T7eB7BB+UOcOY8w==", + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.4.tgz", + "integrity": "sha512-t0Hy4yoHHYLkK0b+ULTHw5ZuSFmWokCABY0C4bKQbE4jnm1hpjA23cQVD0xAqDcRHN5CkvFzlqb34ngV22dqoQ==", "requires": { "lodash": "^4.17.5", "nan": "^2.0.0", @@ -6346,23 +6060,19 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "bundled": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "bundled": true }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "bundled": true }, "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "version": "1.1.5", + "bundled": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -6370,13 +6080,11 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "bundled": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6384,69 +6092,57 @@ }, "chownr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + "bundled": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "bundled": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "bundled": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "bundled": true }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "requires": { "ms": "2.0.0" } }, "deep-extend": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==" + "version": "0.6.0", + "bundled": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "bundled": true }, "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + "bundled": true }, "fs-minipass": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "bundled": true, "requires": { "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "bundled": true }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -6460,8 +6156,7 @@ }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6473,29 +6168,25 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "bundled": true }, "iconv-lite": { "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "bundled": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "bundled": true, "requires": { "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -6503,81 +6194,69 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true }, "ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "bundled": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "requires": { "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "bundled": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "bundled": true }, "minipass": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.0.tgz", - "integrity": "sha512-jWC2Eg+Np4bxah7llu1IrUNSJQxtLz/J+pOjTM0nFpJXGAaV18XBWhUn031Q1tAA/TJtA1jgwnOe9S2PQa4Lbg==", + "version": "2.3.3", + "bundled": true, "requires": { - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", + "bundled": true, "requires": { "minipass": "^2.2.1" } }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "requires": { "minimist": "0.0.8" }, "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "bundled": true } } }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "bundled": true }, "needle": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.1.tgz", - "integrity": "sha512-t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q==", + "bundled": true, "requires": { "debug": "^2.1.2", "iconv-lite": "^0.4.4", @@ -6586,8 +6265,7 @@ }, "node-pre-gyp": { "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", - "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", + "bundled": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -6603,8 +6281,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -6612,13 +6289,11 @@ }, "npm-bundled": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", - "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==" + "bundled": true }, "npm-packlist": { "version": "1.1.10", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", - "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", + "bundled": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -6626,8 +6301,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "bundled": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -6637,36 +6311,30 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "bundled": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "bundled": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "requires": { "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "bundled": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "bundled": true }, "osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "bundled": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -6674,13 +6342,11 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "bundled": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "bundled": true }, "protobufjs": { "version": "5.0.3", @@ -6694,11 +6360,10 @@ } }, "rc": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "version": "1.2.8", + "bundled": true, "requires": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -6706,8 +6371,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "bundled": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -6720,46 +6384,38 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "requires": { "glob": "^7.0.5" } }, "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "bundled": true }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "bundled": true }, "sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "bundled": true }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "bundled": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "bundled": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "bundled": true }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6768,33 +6424,29 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "bundled": true, "requires": { "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "requires": { "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "bundled": true }, "tar": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.2.tgz", - "integrity": "sha512-BfkE9CciGGgDsATqkikUHrQrraBCO+ke/1f6SFAEMnxyyfN9lxC+nW1NFWMpqH865DhHIy9vQi682gk1X7friw==", + "version": "4.4.4", + "bundled": true, "requires": { "chownr": "^1.0.1", "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", + "minipass": "^2.3.3", "minizlib": "^1.1.0", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", @@ -6803,26 +6455,22 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "bundled": true }, "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "version": "1.1.3", + "bundled": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "bundled": true }, "yallist": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" + "bundled": true } } }, @@ -7045,9 +6693,9 @@ } }, "ignore": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", - "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==" + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" }, "ignore-by-default": { "version": "1.0.1", @@ -8428,9 +8076,9 @@ "dev": true }, "nise": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.1.tgz", - "integrity": "sha512-9JX3YwoIt3kS237scmSSOpEv7vCukVzLfwK0I0XhocDSHUANid8ZHnLEULbbSkfeMn98B2y5kphIWzZUylESRQ==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.2.tgz", + "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { "@sinonjs/formatio": "^2.0.0", @@ -8536,8 +8184,7 @@ "dependencies": { "align-text": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2", @@ -8547,20 +8194,17 @@ }, "amdefine": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "bundled": true, "dev": true }, "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "bundled": true, "dev": true, "requires": { "default-require-extensions": "^1.0.0" @@ -8568,68 +8212,57 @@ }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "bundled": true, "dev": true }, "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "bundled": true, "dev": true }, "arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "bundled": true, "dev": true }, "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "bundled": true, "dev": true }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "bundled": true, "dev": true }, "atob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "bundled": true, "dev": true, "requires": { "cache-base": "^1.0.1", @@ -8643,8 +8276,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -8652,8 +8284,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8661,8 +8292,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8670,8 +8300,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -8681,16 +8310,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -8699,8 +8326,7 @@ }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "bundled": true, "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -8717,8 +8343,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -8728,14 +8353,12 @@ }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "bundled": true, "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -8751,8 +8374,7 @@ }, "caching-transform": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "bundled": true, "dev": true, "requires": { "md5-hex": "^1.2.0", @@ -8762,15 +8384,13 @@ }, "camelcase": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -8780,8 +8400,7 @@ }, "class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -8792,8 +8411,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -8803,8 +8421,7 @@ }, "cliui": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -8815,8 +8432,7 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "bundled": true, "dev": true, "optional": true } @@ -8824,14 +8440,12 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "bundled": true, "dev": true, "requires": { "map-visit": "^1.0.0", @@ -8840,38 +8454,32 @@ }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "bundled": true, "dev": true }, "component-emitter": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "bundled": true, "dev": true }, "copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -8880,8 +8488,7 @@ }, "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -8889,26 +8496,22 @@ }, "debug-log": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "decode-uri-component": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "bundled": true, "dev": true, "requires": { "strip-bom": "^2.0.0" @@ -8916,8 +8519,7 @@ }, "define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -8926,8 +8528,7 @@ "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8935,8 +8536,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -8944,8 +8544,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -8955,16 +8554,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "error-ex": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "bundled": true, "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -8972,8 +8569,7 @@ }, "execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -8987,8 +8583,7 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -9000,8 +8595,7 @@ }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "bundled": true, "dev": true, "requires": { "debug": "^2.3.3", @@ -9015,8 +8609,7 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -9024,8 +8617,7 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -9033,8 +8625,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9044,8 +8635,7 @@ }, "extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "bundled": true, "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -9054,8 +8644,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -9065,8 +8654,7 @@ }, "extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "bundled": true, "dev": true, "requires": { "array-unique": "^0.3.2", @@ -9081,8 +8669,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -9090,8 +8677,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9099,8 +8685,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9108,8 +8693,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9117,8 +8701,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -9128,16 +8711,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -9148,8 +8729,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9159,8 +8739,7 @@ }, "find-cache-dir": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "bundled": true, "dev": true, "requires": { "commondir": "^1.0.1", @@ -9170,8 +8749,7 @@ }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { "locate-path": "^2.0.0" @@ -9179,14 +8757,12 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "bundled": true, "dev": true }, "foreground-child": { "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^4", @@ -9195,8 +8771,7 @@ }, "fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "bundled": true, "dev": true, "requires": { "map-cache": "^0.2.2" @@ -9204,32 +8779,27 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "bundled": true, "dev": true }, "get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "bundled": true, "dev": true }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -9242,14 +8812,12 @@ }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "handlebars": { "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "bundled": true, "dev": true, "requires": { "async": "^1.4.0", @@ -9260,8 +8828,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "bundled": true, "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -9271,8 +8838,7 @@ }, "has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.6", @@ -9282,8 +8848,7 @@ }, "has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", @@ -9292,8 +8857,7 @@ "dependencies": { "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -9303,20 +8867,17 @@ }, "hosted-git-info": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "^1.3.0", @@ -9325,20 +8886,17 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9346,20 +8904,17 @@ }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -9367,8 +8922,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9376,8 +8930,7 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -9387,28 +8940,24 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "bundled": true, "dev": true } } }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9416,8 +8965,7 @@ }, "is-odd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "bundled": true, "dev": true, "requires": { "is-number": "^4.0.0" @@ -9425,16 +8973,14 @@ "dependencies": { "is-number": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "bundled": true, "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" @@ -9442,50 +8988,42 @@ }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "bundled": true, "dev": true }, "is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", - "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", + "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "bundled": true, "dev": true, "requires": { "append-transform": "^0.4.0" @@ -9493,8 +9031,7 @@ }, "istanbul-lib-report": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", - "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", + "bundled": true, "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.2", @@ -9505,14 +9042,12 @@ "dependencies": { "has-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "bundled": true, "dev": true }, "supports-color": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "bundled": true, "dev": true, "requires": { "has-flag": "^1.0.0" @@ -9522,8 +9057,7 @@ }, "istanbul-lib-source-maps": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz", - "integrity": "sha1-/+a+Tnq4bTYD5CkNVJkLFFBvybE=", + "bundled": true, "dev": true, "requires": { "debug": "^3.1.0", @@ -9535,8 +9069,7 @@ }, "istanbul-reports": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.4.1.tgz", - "integrity": "sha1-Ty6OkoqnoF0dpsQn1AmLJlXsczQ=", + "bundled": true, "dev": true, "requires": { "handlebars": "^4.0.3" @@ -9544,8 +9077,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -9553,15 +9085,13 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -9569,8 +9099,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -9582,8 +9111,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { "p-locate": "^2.0.0", @@ -9592,22 +9120,19 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true } } }, "longest": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "bundled": true, "dev": true }, "lru-cache": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "bundled": true, "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -9616,14 +9141,12 @@ }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "bundled": true, "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "bundled": true, "dev": true, "requires": { "object-visit": "^1.0.0" @@ -9631,8 +9154,7 @@ }, "md5-hex": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "bundled": true, "dev": true, "requires": { "md5-o-matic": "^0.1.1" @@ -9640,14 +9162,12 @@ }, "md5-o-matic": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -9655,8 +9175,7 @@ }, "merge-source-map": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "bundled": true, "dev": true, "requires": { "source-map": "^0.6.1" @@ -9664,16 +9183,14 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "bundled": true, "dev": true } } }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -9693,22 +9210,19 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -9716,14 +9230,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mixin-deep": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "bundled": true, "dev": true, "requires": { "for-in": "^1.0.2", @@ -9732,8 +9244,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -9743,8 +9254,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -9752,14 +9262,12 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true }, "nanomatch": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -9778,16 +9286,14 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -9798,8 +9304,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { "path-key": "^2.0.0" @@ -9807,20 +9312,17 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "bundled": true, "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -9830,8 +9332,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -9841,8 +9342,7 @@ }, "object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.0" @@ -9850,8 +9350,7 @@ }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" @@ -9859,8 +9358,7 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -9868,8 +9366,7 @@ }, "optimist": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "bundled": true, "dev": true, "requires": { "minimist": "~0.0.1", @@ -9878,14 +9375,12 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "bundled": true, "dev": true, "requires": { "execa": "^0.7.0", @@ -9895,14 +9390,12 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "bundled": true, "dev": true, "requires": { "p-try": "^1.0.0" @@ -9910,8 +9403,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { "p-limit": "^1.1.0" @@ -9919,14 +9411,12 @@ }, "p-try": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "bundled": true, "dev": true }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "bundled": true, "dev": true, "requires": { "error-ex": "^1.2.0" @@ -9934,14 +9424,12 @@ }, "pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "bundled": true, "dev": true }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "bundled": true, "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -9949,26 +9437,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -9978,20 +9462,17 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "bundled": true, "dev": true, "requires": { "pinkie": "^2.0.0" @@ -9999,8 +9480,7 @@ }, "pkg-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0" @@ -10008,8 +9488,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -10020,20 +9499,17 @@ }, "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "bundled": true, "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -10043,8 +9519,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0", @@ -10053,8 +9528,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -10065,8 +9539,7 @@ }, "regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -10075,50 +9548,42 @@ }, "repeat-element": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "bundled": true, "dev": true }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "bundled": true, "dev": true }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "bundled": true, "dev": true }, "ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -10127,8 +9592,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "requires": { "glob": "^7.0.5" @@ -10136,8 +9600,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "bundled": true, "dev": true, "requires": { "ret": "~0.1.10" @@ -10145,20 +9608,17 @@ }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "set-value": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -10169,8 +9629,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10180,8 +9639,7 @@ }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -10189,26 +9647,22 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "bundled": true, "dev": true, "requires": { "base": "^0.11.1", @@ -10223,8 +9677,7 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -10232,8 +9685,7 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10241,8 +9693,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10252,8 +9703,7 @@ }, "snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "bundled": true, "dev": true, "requires": { "define-property": "^1.0.0", @@ -10263,8 +9713,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -10272,8 +9721,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10281,8 +9729,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10290,8 +9737,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -10301,16 +9747,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.2.0" @@ -10318,14 +9762,12 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "bundled": true, "dev": true }, "source-map-resolve": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", + "bundled": true, "dev": true, "requires": { "atob": "^2.1.1", @@ -10337,14 +9779,12 @@ }, "source-map-url": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", + "bundled": true, "dev": true, "requires": { "foreground-child": "^1.5.6", @@ -10357,8 +9797,7 @@ }, "spdx-correct": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "bundled": true, "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -10367,14 +9806,12 @@ }, "spdx-exceptions": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "bundled": true, "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -10383,14 +9820,12 @@ }, "spdx-license-ids": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "bundled": true, "dev": true }, "split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -10398,8 +9833,7 @@ }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "bundled": true, "dev": true, "requires": { "define-property": "^0.2.5", @@ -10408,8 +9842,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10419,8 +9852,7 @@ }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "bundled": true, "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -10429,8 +9861,7 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -10438,8 +9869,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "bundled": true, "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -10447,14 +9877,12 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "bundled": true, "dev": true }, "test-exclude": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", - "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", + "bundled": true, "dev": true, "requires": { "arrify": "^1.0.1", @@ -10466,8 +9894,7 @@ }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -10475,8 +9902,7 @@ }, "to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "bundled": true, "dev": true, "requires": { "define-property": "^2.0.2", @@ -10487,8 +9913,7 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", @@ -10497,8 +9922,7 @@ }, "uglify-js": { "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -10509,8 +9933,7 @@ "dependencies": { "yargs": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -10524,15 +9947,13 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "bundled": true, "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -10543,8 +9964,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10552,8 +9972,7 @@ }, "set-value": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -10566,8 +9985,7 @@ }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "bundled": true, "dev": true, "requires": { "has-value": "^0.3.1", @@ -10576,8 +9994,7 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.3", @@ -10587,8 +10004,7 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" @@ -10598,22 +10014,19 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "bundled": true, "dev": true } } }, "urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "bundled": true, "dev": true }, "use": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.2" @@ -10621,16 +10034,14 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "bundled": true, "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -10639,8 +10050,7 @@ }, "which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "bundled": true, "dev": true, "requires": { "isexe": "^2.0.0" @@ -10648,27 +10058,23 @@ }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.1", @@ -10677,14 +10083,12 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -10692,8 +10096,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -10703,8 +10106,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -10714,14 +10116,12 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -10731,20 +10131,17 @@ }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "bundled": true, "dev": true, "requires": { "cliui": "^4.0.0", @@ -10763,14 +10160,12 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true }, "cliui": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "bundled": true, "dev": true, "requires": { "string-width": "^2.1.1", @@ -10780,8 +10175,7 @@ }, "yargs-parser": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -10791,8 +10185,7 @@ }, "yargs-parser": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -10800,8 +10193,7 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true } } @@ -10848,9 +10240,9 @@ } }, "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" }, "object-visit": { "version": "1.0.1", @@ -11280,9 +10672,9 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { "chalk": "^2.4.1", @@ -12982,9 +12374,9 @@ } }, "universalify": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, "unset-value": { diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index dcd1b85fa63..6098b38eb00 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -32,12 +32,15 @@ "Ace Nassri ", "Alexander Fenster ", "Ali Ijaz Sheikh ", + "Christopher Wilcox ", "Dave Gramlich ", "Ernest Landrito ", "Gus Class ", "Jason Dobry ", - "Jonathan Lui ", + "Jonathan Lui ", "Jun Mukai ", + "Justin Beckwith ", + "Justin Beckwith ", "Kelvin Jin ", "Luke Sneeringer ", "Rebecca Taylor ", @@ -46,6 +49,7 @@ "Stephen Sawchuk ", "Tim Swast ", "calibr ", + "dpebot ", "greenkeeper[bot] ", "rtw " ], @@ -61,9 +65,9 @@ "test": "repo-tools test run --cmd npm -- run cover" }, "dependencies": { - "@google-cloud/common": "^0.18.2", - "google-gax": "^0.16.0", - "google-proto-files": "^0.16.0", + "@google-cloud/common": "^0.20.1", + "google-gax": "^0.17.1", + "google-proto-files": "^0.16.1", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto index 8470002875c..57e3e246873 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -21,6 +21,7 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;visio option java_multiple_files = true; option java_outer_classname = "GeometryProto"; option java_package = "com.google.cloud.vision.v1"; +option objc_class_prefix = "GCVN"; // A vertex represents a 2D point in the image. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index 21db4c41e89..acd7b268698 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -31,7 +31,7 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;visio option java_multiple_files = true; option java_outer_classname = "ImageAnnotatorProto"; option java_package = "com.google.cloud.vision.v1"; - +option objc_class_prefix = "GCVN"; // Service that performs Google Cloud Vision API detection tasks over client // images, such as face, landmark, logo, label, and text detection. The diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index 714b57e1712..aa506b981be 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -24,6 +24,7 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;visio option java_multiple_files = true; option java_outer_classname = "TextAnnotationProto"; option java_package = "com.google.cloud.vision.v1"; +option objc_class_prefix = "GCVN"; // TextAnnotation contains a structured representation of OCR extracted text. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto index 81d92528cd3..5747559810c 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -23,7 +23,7 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;visio option java_multiple_files = true; option java_outer_classname = "WebDetectionProto"; option java_package = "com.google.cloud.vision.v1"; - +option objc_class_prefix = "GCVN"; // Relevant information for the image from the Internet. message WebDetection { diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index 186fa57f405..69e31457ecc 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -244,7 +244,7 @@ module.exports = apiVersion => { }); }); - let protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index e1713adfcd4..e6c346a9579 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -74,7 +74,7 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - var gaxGrpc = gax.grpc(opts); + var gaxGrpc = new gax.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; @@ -98,7 +98,7 @@ class ImageAnnotatorClient { 'google/cloud/vision/v1/image_annotator.proto' ) ); - var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + var protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js index fee7703c773..1e00a48c1f1 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js index 1d631c71152..1de4a13f287 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js index 23c3b7469ba..4934a62ec6e 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js index a32989ae19c..32de6c25da4 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js index 21feb744243..f55fa17ff12 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js index 0ccf17f236b..791b600ab1d 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js index be5e96ce26d..7122f1682e0 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js index a2ea753d8a1..8ae80246fe3 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js index e54b84d63c7..76150dc3be1 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index cd731ef03bb..2af820fd776 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, @@ -39,10 +39,10 @@ class ImageAnnotatorClient { * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] * @param {string} [options.email] - Account email address. Required when - * usaing a .pem or .p12 keyFilename. + * using a .pem or .p12 keyFilename. * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option above is not necessary. + * a path to a JSON file, the projectId option below is not necessary. * NOTE: .pem and .p12 require you to specify options.email as well. * @param {number} [options.port] - The port on which to connect to * the remote host. @@ -73,14 +73,14 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - var gaxGrpc = gax.grpc(opts); + var gaxGrpc = new gax.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. var clientHeader = [ - `gl-node/${process.version.node}`, + `gl-node/${process.version}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, diff --git a/packages/google-cloud-vision/src/v1p1beta1/index.js b/packages/google-cloud-vision/src/v1p1beta1/index.js index a41489d4fd3..301ca40eb92 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/index.js +++ b/packages/google-cloud-vision/src/v1p1beta1/index.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..79ef6344437 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js @@ -0,0 +1,147 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * This resource represents a long-running operation that is the result of a + * network API call. + * + * @property {string} name + * The server-assigned name, which is only unique within the same service that + * originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + * + * @property {Object} metadata + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @property {boolean} done + * If the value is `false`, it means the operation is still in progress. + * If true, the operation is completed, and either `error` or `response` is + * available. + * + * @property {Object} error + * The error result of the operation in case of failure or cancellation. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @property {Object} response + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` + * is the original method name. For example, if the original method name + * is `TakeSnapshot()`, the inferred response type is + * `TakeSnapshotResponse`. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @typedef Operation + * @memberof google.longrunning + * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var Operation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.GetOperation. + * + * @property {string} name + * The name of the operation resource. + * + * @typedef GetOperationRequest + * @memberof google.longrunning + * @see [google.longrunning.GetOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var GetOperationRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.ListOperations. + * + * @property {string} name + * The name of the operation collection. + * + * @property {string} filter + * The standard list filter. + * + * @property {number} pageSize + * The standard list page size. + * + * @property {string} pageToken + * The standard list page token. + * + * @typedef ListOperationsRequest + * @memberof google.longrunning + * @see [google.longrunning.ListOperationsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var ListOperationsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The response message for Operations.ListOperations. + * + * @property {Object[]} operations + * A list of operations that matches the specified filter in the request. + * + * This object should have the same structure as [Operation]{@link google.longrunning.Operation} + * + * @property {string} nextPageToken + * The standard List next-page token. + * + * @typedef ListOperationsResponse + * @memberof google.longrunning + * @see [google.longrunning.ListOperationsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var ListOperationsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.CancelOperation. + * + * @property {string} name + * The name of the operation resource to be cancelled. + * + * @typedef CancelOperationRequest + * @memberof google.longrunning + * @see [google.longrunning.CancelOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var CancelOperationRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.DeleteOperation. + * + * @property {string} name + * The name of the operation resource to be deleted. + * + * @typedef DeleteOperationRequest + * @memberof google.longrunning + * @see [google.longrunning.DeleteOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var DeleteOperationRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index a09e26dc662..00a1236df3b 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -74,14 +74,14 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - var gaxGrpc = gax.grpc(opts); + var gaxGrpc = new gax.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. var clientHeader = [ - `gl-node/${process.version.node}`, + `gl-node/${process.version}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, @@ -98,7 +98,7 @@ class ImageAnnotatorClient { 'google/cloud/vision/v1p2beta1/image_annotator.proto' ) ); - var protoFilesRoot = new gax.grpc.GoogleProtoFilesRoot(); + var protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 21e9c4db779..71789947ee4 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -20,7 +20,7 @@ gapic = gcp.GAPICGenerator() -versions = ['v1'] +versions = ['v1', 'v1p1beta1', 'v1p2beta1'] for version in versions: library = gapic.node_library('vision', version) diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js index 404f21c8dfb..cff40d58995 100644 --- a/packages/google-cloud-vision/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p1beta1.js @@ -1,10 +1,10 @@ -// Copyright 2017, Google LLC All rights reserved. +// Copyright 2018 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 +// 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, From 20cca6c14dd5b4430265cecc2df07f62ae95fad4 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Sat, 23 Jun 2018 11:24:38 -0700 Subject: [PATCH 157/588] Re-generate library using /synth.py (#91) --- .../google-cloud-vision/package-lock.json | 4964 ++++++++--------- 1 file changed, 2217 insertions(+), 2747 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 569fd855b88..1fdd0ebd42b 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.8.0", - "babel-plugin-syntax-trailing-function-commas": "^6.20.0", - "babel-plugin-transform-async-to-generator": "^6.16.0", - "babel-plugin-transform-es2015-destructuring": "^6.19.0", - "babel-plugin-transform-es2015-function-name": "^6.9.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", - "babel-plugin-transform-es2015-parameters": "^6.21.0", - "babel-plugin-transform-es2015-spread": "^6.8.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", - "babel-plugin-transform-exponentiation-operator": "^6.8.0", - "package-hash": "^1.2.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "package-hash": "1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "^1.3.0" + "md5-hex": "1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "^2.0.0", - "babel-plugin-espower": "^2.3.2" + "@ava/babel-plugin-throws-helper": "2.0.0", + "babel-plugin-espower": "2.4.0" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.49", - "jsesc": "^2.5.1", - "lodash": "^4.17.5", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "jsesc": "2.5.1", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.49", "@babel/parser": "7.0.0-beta.49", "@babel/types": "7.0.0-beta.49", - "lodash": "^4.17.5" + "lodash": "4.17.10" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.49", "@babel/parser": "7.0.0-beta.49", "@babel/types": "7.0.0-beta.49", - "debug": "^3.1.0", - "globals": "^11.1.0", - "invariant": "^2.2.0", - "lodash": "^4.17.5" + "debug": "3.1.0", + "globals": "11.7.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "globals": { @@ -191,9 +191,9 @@ "integrity": "sha1-t+Oxw/TUz+Eb34yJ8e/V4WF7h6Y=", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.5", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,7 +210,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "^1.0.1" + "arrify": "1.0.1" } }, "@google-cloud/common": { @@ -218,21 +218,21 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.1.tgz", "integrity": "sha512-LJB7CoNXEXY0mDWtF8E2cl3Y0kuMQ3wjH9Xr+Y7vH5gHgN82dDh1BMUOizRf9oXQFDWUgGERD5SdfBcjUhHmwA==", "requires": { - "@types/duplexify": "^3.5.0", - "@types/request": "^2.47.0", - "arrify": "^1.0.1", - "axios": "^0.18.0", - "duplexify": "^3.6.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auth-library": "^1.6.0", - "is": "^3.2.1", - "pify": "^3.0.0", - "request": "^2.87.0", - "retry-request": "^3.3.1", - "split-array-stream": "^2.0.0", - "stream-events": "^1.0.4", - "through2": "^2.0.3" + "@types/duplexify": "3.5.0", + "@types/request": "2.47.1", + "arrify": "1.0.1", + "axios": "0.18.0", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auth-library": "1.6.1", + "is": "3.2.1", + "pify": "3.0.0", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "2.0.0", + "stream-events": "1.0.4", + "through2": "2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "^5.5.0", + "semver": "5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -269,9 +269,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "is-fullwidth-code-point": { @@ -292,33 +292,33 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.3.0", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.1", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.9.1", - "istanbul-lib-report": "^1.1.2", - "istanbul-lib-source-maps": "^1.2.2", - "istanbul-reports": "^1.1.3", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.0.2", - "micromatch": "^2.3.11", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.5.4", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.1.1", - "yargs": "^10.0.3", - "yargs-parser": "^8.0.0" + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.4", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.1.1", + "yargs": "10.0.3", + "yargs-parser": "8.0.0" }, "dependencies": { "align-text": { @@ -326,9 +326,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -351,7 +351,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -364,7 +364,7 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -392,9 +392,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-generator": { @@ -402,14 +402,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.6", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-messages": { @@ -417,7 +417,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-runtime": { @@ -425,8 +425,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -434,11 +434,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" } }, "babel-traverse": { @@ -446,15 +446,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" } }, "babel-types": { @@ -462,10 +462,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -483,7 +483,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -492,9 +492,9 @@ "bundled": true, "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "builtin-modules": { @@ -507,9 +507,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -524,8 +524,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -533,11 +533,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "cliui": { @@ -546,8 +546,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -589,8 +589,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "which": "1.3.0" } }, "debug": { @@ -616,7 +616,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "detect-indent": { @@ -624,7 +624,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "error-ex": { @@ -632,7 +632,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "escape-string-regexp": { @@ -650,13 +650,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -664,9 +664,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" } } } @@ -676,7 +676,7 @@ "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -684,7 +684,7 @@ "bundled": true, "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.3" } }, "extglob": { @@ -692,7 +692,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "filename-regex": { @@ -705,11 +705,11 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "find-cache-dir": { @@ -717,9 +717,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -727,7 +727,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -740,7 +740,7 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreground-child": { @@ -748,8 +748,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fs.realpath": { @@ -772,12 +772,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -785,8 +785,8 @@ "bundled": true, "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -794,7 +794,7 @@ "bundled": true, "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "globals": { @@ -812,10 +812,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -823,7 +823,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -833,7 +833,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -856,8 +856,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -870,7 +870,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -893,7 +893,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-dotfile": { @@ -906,7 +906,7 @@ "bundled": true, "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -924,7 +924,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -932,7 +932,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -940,7 +940,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { @@ -948,7 +948,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-posix-bracket": { @@ -999,7 +999,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -1007,13 +1007,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.1.1", - "semver": "^5.3.0" + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" } }, "istanbul-lib-report": { @@ -1021,10 +1021,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "supports-color": { @@ -1032,7 +1032,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -1042,11 +1042,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -1064,7 +1064,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "js-tokens": { @@ -1082,7 +1082,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -1096,7 +1096,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -1104,11 +1104,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -1116,8 +1116,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -1142,7 +1142,7 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "lru-cache": { @@ -1150,8 +1150,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "md5-hex": { @@ -1159,7 +1159,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -1172,7 +1172,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.1.0" } }, "merge-source-map": { @@ -1180,7 +1180,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "micromatch": { @@ -1188,19 +1188,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mimic-fn": { @@ -1213,7 +1213,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "minimist": { @@ -1239,10 +1239,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" } }, "normalize-path": { @@ -1250,7 +1250,7 @@ "bundled": true, "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -1258,7 +1258,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -1276,8 +1276,8 @@ "bundled": true, "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "once": { @@ -1285,7 +1285,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -1293,8 +1293,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -1307,9 +1307,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -1327,7 +1327,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.1.0" } }, "parse-glob": { @@ -1335,10 +1335,10 @@ "bundled": true, "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -1346,7 +1346,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "path-exists": { @@ -1354,7 +1354,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -1377,9 +1377,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -1397,7 +1397,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -1405,7 +1405,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -1413,8 +1413,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1434,8 +1434,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -1443,7 +1443,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -1451,7 +1451,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1461,7 +1461,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1471,9 +1471,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -1481,8 +1481,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -1490,8 +1490,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1506,7 +1506,7 @@ "bundled": true, "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "remove-trailing-separator": { @@ -1529,7 +1529,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "require-directory": { @@ -1553,7 +1553,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -1561,7 +1561,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "semver": { @@ -1579,7 +1579,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -1607,12 +1607,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" } }, "spdx-correct": { @@ -1620,7 +1620,7 @@ "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "^1.0.2" + "spdx-license-ids": "1.2.2" } }, "spdx-expression-parse": { @@ -1638,8 +1638,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -1657,7 +1657,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -1667,7 +1667,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -1675,7 +1675,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -1693,11 +1693,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-fast-properties": { @@ -1716,9 +1716,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -1727,9 +1727,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -1746,8 +1746,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" } }, "which": { @@ -1755,7 +1755,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -1779,8 +1779,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "string-width": { @@ -1788,9 +1788,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -1805,9 +1805,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -1825,18 +1825,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^8.0.0" + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" }, "dependencies": { "cliui": { @@ -1844,9 +1844,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -1854,9 +1854,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -1868,7 +1868,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -1886,9 +1886,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "sinon": { @@ -1897,13 +1897,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.1.0", - "lodash.get": "^4.4.2", - "lolex": "^2.2.0", - "nise": "^1.2.0", - "supports-color": "^5.1.0", - "type-detect": "^4.0.5" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "string-width": { @@ -1912,8 +1912,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -1922,7 +1922,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs": { @@ -1931,18 +1931,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" } } } @@ -1953,27 +1953,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "^0.17.0", - "arrify": "^1.0.0", - "async": "^2.0.1", - "compressible": "^2.0.12", - "concat-stream": "^1.5.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "extend": "^3.0.0", - "gcs-resumable-upload": "^0.10.2", - "hash-stream-validation": "^0.2.1", - "is": "^3.0.1", - "mime": "^2.2.0", - "mime-types": "^2.0.8", - "once": "^1.3.1", - "pumpify": "^1.5.1", - "request": "^2.85.0", - "safe-buffer": "^5.1.1", - "snakeize": "^0.1.0", - "stream-events": "^1.0.1", - "through2": "^2.0.0", - "xdg-basedir": "^3.0.0" + "@google-cloud/common": "0.17.0", + "arrify": "1.0.1", + "async": "2.6.1", + "compressible": "2.0.14", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "extend": "3.0.1", + "gcs-resumable-upload": "0.10.2", + "hash-stream-validation": "0.2.1", + "is": "3.2.1", + "mime": "2.3.1", + "mime-types": "2.1.18", + "once": "1.4.0", + "pumpify": "1.5.1", + "request": "2.87.0", + "safe-buffer": "5.1.2", + "snakeize": "0.1.0", + "stream-events": "1.0.4", + "through2": "2.0.3", + "xdg-basedir": "3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -1982,24 +1982,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "^1.0.3", - "arrify": "^1.0.1", - "concat-stream": "^1.6.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auto-auth": "^0.10.0", - "is": "^3.2.0", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auto-auth": "0.10.1", + "is": "3.2.1", "log-driver": "1.2.7", - "methmeth": "^1.1.0", - "modelo": "^4.2.0", - "request": "^2.79.0", - "retry-request": "^3.0.0", - "split-array-stream": "^1.0.0", - "stream-events": "^1.0.1", - "string-format-obj": "^1.1.0", - "through2": "^2.0.3" + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "1.0.3", + "stream-events": "1.0.4", + "string-format-obj": "1.1.1", + "through2": "2.0.3" } }, "split-array-stream": { @@ -2008,8 +2008,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "^2.4.0", - "is-stream-ended": "^0.1.0" + "async": "2.6.1", + "is-stream-ended": "0.1.4" } } } @@ -2020,10 +2020,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "^0.4.0", - "date-time": "^0.1.1", - "pretty-ms": "^0.2.1", - "text-table": "^0.2.0" + "chalk": "0.4.0", + "date-time": "0.1.1", + "pretty-ms": "0.2.2", + "text-table": "0.2.0" }, "dependencies": { "ansi-styles": { @@ -2038,9 +2038,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" } }, "pretty-ms": { @@ -2049,7 +2049,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "^0.1.0" + "parse-ms": "0.1.2" } }, "strip-ansi": { @@ -2065,8 +2065,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" } }, "@nodelib/fs.stat": { @@ -2099,8 +2099,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/inquire": "1.1.0" } }, "@protobufjs/float": { @@ -2153,7 +2153,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "*" + "@types/node": "10.3.4" } }, "@types/form-data": { @@ -2161,7 +2161,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "*" + "@types/node": "10.3.4" } }, "@types/long": { @@ -2179,10 +2179,10 @@ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "*", - "@types/form-data": "*", - "@types/node": "*", - "@types/tough-cookie": "*" + "@types/caseless": "0.12.1", + "@types/form-data": "2.2.1", + "@types/node": "10.3.4", + "@types/tough-cookie": "2.3.3" } }, "@types/tough-cookie": { @@ -2206,7 +2206,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "^3.0.4" + "acorn": "3.3.0" }, "dependencies": { "acorn": { @@ -2222,10 +2222,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -2240,9 +2240,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" }, "dependencies": { "kind-of": { @@ -2251,7 +2251,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2268,7 +2268,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -2289,8 +2289,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -2299,7 +2299,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2321,7 +2321,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "anymatch": { @@ -2330,8 +2330,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -2340,7 +2340,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "array-unique": { @@ -2355,9 +2355,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "expand-brackets": { @@ -2366,7 +2366,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "extglob": { @@ -2375,7 +2375,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-extglob": { @@ -2390,7 +2390,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "kind-of": { @@ -2399,7 +2399,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "micromatch": { @@ -2408,19 +2408,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } } } @@ -2431,7 +2431,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "argv": { @@ -2489,7 +2489,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -2512,8 +2512,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "~0.7.1", - "optjs": "~3.2.2" + "colour": "0.7.1", + "optjs": "3.2.2" } }, "asn1": { @@ -2537,7 +2537,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "async-each": { @@ -2568,89 +2568,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "^1.1.0", - "@ava/babel-preset-transform-test-files": "^3.0.0", - "@ava/write-file-atomic": "^2.2.0", - "@concordance/react": "^1.0.0", - "@ladjs/time-require": "^0.1.4", - "ansi-escapes": "^3.0.0", - "ansi-styles": "^3.1.0", - "arr-flatten": "^1.0.1", - "array-union": "^1.0.1", - "array-uniq": "^1.0.2", - "arrify": "^1.0.0", - "auto-bind": "^1.1.0", - "ava-init": "^0.2.0", - "babel-core": "^6.17.0", - "babel-generator": "^6.26.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "bluebird": "^3.0.0", - "caching-transform": "^1.0.0", - "chalk": "^2.0.1", - "chokidar": "^1.4.2", - "clean-stack": "^1.1.1", - "clean-yaml-object": "^0.1.0", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.0.0", - "cli-truncate": "^1.0.0", - "co-with-promise": "^4.6.0", - "code-excerpt": "^2.1.1", - "common-path-prefix": "^1.0.0", - "concordance": "^3.0.0", - "convert-source-map": "^1.5.1", - "core-assert": "^0.2.0", - "currently-unhandled": "^0.4.1", - "debug": "^3.0.1", - "dot-prop": "^4.1.0", - "empower-core": "^0.6.1", - "equal-length": "^1.0.0", - "figures": "^2.0.0", - "find-cache-dir": "^1.0.0", - "fn-name": "^2.0.0", - "get-port": "^3.0.0", - "globby": "^6.0.0", - "has-flag": "^2.0.0", - "hullabaloo-config-manager": "^1.1.0", - "ignore-by-default": "^1.0.0", - "import-local": "^0.1.1", - "indent-string": "^3.0.0", - "is-ci": "^1.0.7", - "is-generator-fn": "^1.0.0", - "is-obj": "^1.0.0", - "is-observable": "^1.0.0", - "is-promise": "^2.1.0", - "last-line-stream": "^1.0.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.debounce": "^4.0.3", - "lodash.difference": "^4.3.0", - "lodash.flatten": "^4.2.0", - "loud-rejection": "^1.2.0", - "make-dir": "^1.0.0", - "matcher": "^1.0.0", - "md5-hex": "^2.0.0", - "meow": "^3.7.0", - "ms": "^2.0.0", - "multimatch": "^2.1.0", - "observable-to-promise": "^0.5.0", - "option-chain": "^1.0.0", - "package-hash": "^2.0.0", - "pkg-conf": "^2.0.0", - "plur": "^2.0.0", - "pretty-ms": "^3.0.0", - "require-precompiled": "^0.1.0", - "resolve-cwd": "^2.0.0", - "safe-buffer": "^5.1.1", - "semver": "^5.4.1", - "slash": "^1.0.0", - "source-map-support": "^0.5.0", - "stack-utils": "^1.0.1", - "strip-ansi": "^4.0.0", - "strip-bom-buf": "^1.0.0", - "supertap": "^1.0.0", - "supports-color": "^5.0.0", - "trim-off-newlines": "^1.0.1", - "unique-temp-dir": "^1.0.0", - "update-notifier": "^2.3.0" + "@ava/babel-preset-stage-4": "1.1.0", + "@ava/babel-preset-transform-test-files": "3.0.0", + "@ava/write-file-atomic": "2.2.0", + "@concordance/react": "1.0.0", + "@ladjs/time-require": "0.1.4", + "ansi-escapes": "3.1.0", + "ansi-styles": "3.2.1", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.2.1", + "ava-init": "0.2.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.4.1", + "chokidar": "1.7.0", + "clean-stack": "1.3.0", + "clean-yaml-object": "0.1.0", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "cli-truncate": "1.1.0", + "co-with-promise": "4.6.0", + "code-excerpt": "2.1.1", + "common-path-prefix": "1.0.0", + "concordance": "3.0.0", + "convert-source-map": "1.5.1", + "core-assert": "0.2.1", + "currently-unhandled": "0.4.1", + "debug": "3.1.0", + "dot-prop": "4.2.0", + "empower-core": "0.6.2", + "equal-length": "1.0.1", + "figures": "2.0.0", + "find-cache-dir": "1.0.0", + "fn-name": "2.0.1", + "get-port": "3.2.0", + "globby": "6.1.0", + "has-flag": "2.0.0", + "hullabaloo-config-manager": "1.1.1", + "ignore-by-default": "1.0.1", + "import-local": "0.1.1", + "indent-string": "3.2.0", + "is-ci": "1.1.0", + "is-generator-fn": "1.0.0", + "is-obj": "1.0.1", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "last-line-stream": "1.0.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.debounce": "4.0.8", + "lodash.difference": "4.5.0", + "lodash.flatten": "4.4.0", + "loud-rejection": "1.6.0", + "make-dir": "1.3.0", + "matcher": "1.1.1", + "md5-hex": "2.0.0", + "meow": "3.7.0", + "ms": "2.0.0", + "multimatch": "2.1.0", + "observable-to-promise": "0.5.0", + "option-chain": "1.0.0", + "package-hash": "2.0.0", + "pkg-conf": "2.1.0", + "plur": "2.1.2", + "pretty-ms": "3.2.0", + "require-precompiled": "0.1.0", + "resolve-cwd": "2.0.0", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slash": "1.0.0", + "source-map-support": "0.5.6", + "stack-utils": "1.0.1", + "strip-ansi": "4.0.0", + "strip-bom-buf": "1.0.0", + "supertap": "1.0.0", + "supports-color": "5.4.0", + "trim-off-newlines": "1.0.1", + "unique-temp-dir": "1.0.0", + "update-notifier": "2.5.0" }, "dependencies": { "ansi-regex": { @@ -2666,7 +2666,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "globby": { @@ -2675,11 +2675,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -2700,7 +2700,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "strip-ansi": { @@ -2709,7 +2709,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2720,11 +2720,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "^1.0.0", - "execa": "^0.7.0", - "has-yarn": "^1.0.0", - "read-pkg-up": "^2.0.0", - "write-pkg": "^3.1.0" + "arr-exclude": "1.0.0", + "execa": "0.7.0", + "has-yarn": "1.0.0", + "read-pkg-up": "2.0.0", + "write-pkg": "3.2.0" } }, "aws-sign2": { @@ -2742,8 +2742,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.0", + "is-buffer": "1.1.6" } }, "babel-code-frame": { @@ -2752,9 +2752,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -2769,11 +2769,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -2790,25 +2790,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -2828,14 +2828,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -2852,9 +2852,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-call-delegate": { @@ -2863,10 +2863,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-explode-assignable-expression": { @@ -2875,9 +2875,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -2886,11 +2886,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -2899,8 +2899,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -2909,8 +2909,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -2919,9 +2919,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -2930,11 +2930,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -2943,8 +2943,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-messages": { @@ -2953,7 +2953,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -2962,7 +2962,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-espower": { @@ -2971,13 +2971,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "^6.1.0", - "babylon": "^6.1.0", - "call-matcher": "^1.0.0", - "core-js": "^2.0.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.1.1" + "babel-generator": "6.26.1", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.7", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "babel-plugin-syntax-async-functions": { @@ -3010,9 +3010,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3021,7 +3021,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3030,9 +3030,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3041,10 +3041,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3053,12 +3053,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -3067,7 +3067,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3076,9 +3076,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3087,9 +3087,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3098,9 +3098,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-strict-mode": { @@ -3109,8 +3109,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-register": { @@ -3119,13 +3119,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "source-map-support": { @@ -3134,7 +3134,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -3145,8 +3145,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -3155,11 +3155,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -3168,15 +3168,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "debug": { @@ -3196,10 +3196,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3218,13 +3218,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3232,7 +3232,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3240,7 +3240,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3248,7 +3248,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3256,9 +3256,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3269,7 +3269,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary-extensions": { @@ -3290,13 +3290,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -3323,8 +3323,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3333,7 +3333,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3343,7 +3343,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -3352,16 +3352,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -3369,7 +3369,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -3408,7 +3408,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "~3" + "long": "3.2.0" }, "dependencies": { "long": { @@ -3423,15 +3423,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "cacheable-request": { @@ -3463,9 +3463,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" }, "dependencies": { "md5-hex": { @@ -3474,7 +3474,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "write-file-atomic": { @@ -3483,9 +3483,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } } } @@ -3496,10 +3496,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "^2.0.0", - "deep-equal": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.0.0" + "core-js": "2.5.7", + "deep-equal": "1.0.1", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "call-me-maybe": { @@ -3518,7 +3518,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -3538,8 +3538,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "capture-stack-trace": { @@ -3559,7 +3559,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "~0.3.0" + "underscore-contrib": "0.3.0" } }, "center-align": { @@ -3569,8 +3569,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -3579,9 +3579,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "chardet": { @@ -3596,15 +3596,14 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" }, "dependencies": { "glob-parent": { @@ -3613,7 +3612,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -3628,7 +3627,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -3650,10 +3649,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -3661,7 +3660,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -3690,7 +3689,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -3705,8 +3704,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" + "slice-ansi": "1.0.0", + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -3727,8 +3726,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3737,7 +3736,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3753,9 +3752,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone-response": { @@ -3764,7 +3763,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "co": { @@ -3778,7 +3777,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "^1.0.0" + "pinkie-promise": "1.0.0" } }, "code-excerpt": { @@ -3787,7 +3786,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "^1.0.1" + "convert-to-spaces": "1.0.2" } }, "code-point-at": { @@ -3802,7 +3801,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "^2.81.0", + "request": "2.87.0", "urlgrey": "0.4.4" } }, @@ -3811,8 +3810,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -3846,7 +3845,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -3878,7 +3877,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.34.0" }, "dependencies": { "mime-db": { @@ -3900,10 +3899,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "concordance": { @@ -3912,17 +3911,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "^2.1.0", - "esutils": "^2.0.2", - "fast-diff": "^1.1.1", - "function-name-support": "^0.2.0", - "js-string-escape": "^1.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.flattendeep": "^4.4.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "semver": "^5.3.0", - "well-known-symbols": "^1.0.0" + "date-time": "2.1.0", + "esutils": "2.0.2", + "fast-diff": "1.1.2", + "function-name-support": "0.2.0", + "js-string-escape": "1.0.1", + "lodash.clonedeep": "4.5.0", + "lodash.flattendeep": "4.4.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "semver": "5.5.0", + "well-known-symbols": "1.0.0" }, "dependencies": { "date-time": { @@ -3931,7 +3930,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "^1.0.0" + "time-zone": "1.0.0" } } } @@ -3942,12 +3941,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "convert-source-map": { @@ -3979,8 +3978,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "^1.0.0", - "is-error": "^2.2.0" + "buf-compare": "1.0.1", + "is-error": "2.2.1" } }, "core-js": { @@ -3999,7 +3998,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "cross-spawn": { @@ -4008,9 +4007,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "crypto-random-string": { @@ -4025,7 +4024,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -4034,7 +4033,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -4042,7 +4041,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-time": { @@ -4075,7 +4074,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "deep-equal": { @@ -4101,8 +4100,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.12" } }, "define-property": { @@ -4110,8 +4109,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4119,7 +4118,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4127,7 +4126,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4135,9 +4134,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -4148,13 +4147,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" }, "dependencies": { "globby": { @@ -4163,12 +4162,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -4189,7 +4188,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } } } @@ -4205,7 +4204,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "diff": { @@ -4224,8 +4223,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" + "arrify": "1.0.1", + "path-type": "3.0.0" } }, "doctrine": { @@ -4234,7 +4233,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-serializer": { @@ -4243,8 +4242,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -4267,7 +4266,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -4276,8 +4275,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -4286,7 +4285,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "duplexer3": { @@ -4300,10 +4299,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" } }, "eastasianwidth": { @@ -4317,7 +4316,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "ecdsa-sig-formatter": { @@ -4325,7 +4324,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "empower": { @@ -4333,8 +4332,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "^2.0.0", - "empower-core": "^1.2.0" + "core-js": "2.5.7", + "empower-core": "1.2.0" } }, "empower-assert": { @@ -4343,7 +4342,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "^4.2.0" + "estraverse": "4.2.0" } }, "empower-core": { @@ -4352,7 +4351,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "end-of-stream": { @@ -4360,7 +4359,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "ent": { @@ -4386,7 +4385,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es5-ext": { @@ -4395,9 +4394,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-error": { @@ -4412,9 +4411,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -4423,12 +4422,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-set": { @@ -4437,11 +4436,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -4450,8 +4449,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "es6-weak-map": { @@ -4460,10 +4459,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escallmatch": { @@ -4472,8 +4471,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "^1.0.0", - "esprima": "^2.0.0" + "call-matcher": "1.0.1", + "esprima": "2.7.3" }, "dependencies": { "esprima": { @@ -4496,11 +4495,11 @@ "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -4524,10 +4523,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint": { @@ -4536,44 +4535,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.0.1", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "concat-stream": "1.6.2", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.7.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", "table": "4.0.2", - "text-table": "~0.2.0" + "text-table": "0.2.0" }, "dependencies": { "ansi-regex": { @@ -4594,7 +4593,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -4605,7 +4604,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "^5.0.1" + "get-stdin": "5.0.1" }, "dependencies": { "get-stdin": { @@ -4622,10 +4621,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "^3.3.6", - "minimatch": "^3.0.4", - "resolve": "^1.3.3", - "semver": "^5.4.1" + "ignore": "3.3.10", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.5.0" }, "dependencies": { "resolve": { @@ -4634,7 +4633,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } } } @@ -4645,8 +4644,8 @@ "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", "dev": true, "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" + "fast-diff": "1.1.2", + "jest-docblock": "21.2.0" } }, "eslint-scope": { @@ -4655,8 +4654,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint-visitor-keys": { @@ -4671,16 +4670,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "^1.0.0", - "escallmatch": "^1.5.0", - "escodegen": "^1.7.0", - "escope": "^3.3.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.3.0", - "estraverse": "^4.1.0", - "source-map": "^0.5.0", - "type-name": "^2.0.0", - "xtend": "^4.0.0" + "array-find": "1.0.0", + "escallmatch": "1.5.0", + "escodegen": "1.10.0", + "escope": "3.6.0", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0", + "source-map": "0.5.7", + "type-name": "2.0.2", + "xtend": "4.0.1" } }, "espower-loader": { @@ -4689,11 +4688,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "^1.1.0", - "espower-source": "^2.0.0", - "minimatch": "^3.0.0", - "source-map-support": "^0.4.0", - "xtend": "^4.0.0" + "convert-source-map": "1.5.1", + "espower-source": "2.3.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" }, "dependencies": { "source-map-support": { @@ -4702,7 +4701,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -4713,10 +4712,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "^1.2.1", - "path-is-absolute": "^1.0.0", - "source-map": "^0.5.0", - "xtend": "^4.0.0" + "is-url": "1.2.4", + "path-is-absolute": "1.0.1", + "source-map": "0.5.7", + "xtend": "4.0.1" } }, "espower-source": { @@ -4725,17 +4724,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.10", - "convert-source-map": "^1.1.1", - "empower-assert": "^1.0.0", - "escodegen": "^1.10.0", - "espower": "^2.1.1", - "estraverse": "^4.0.0", - "merge-estraverse-visitors": "^1.0.0", - "multi-stage-sourcemap": "^0.2.1", - "path-is-absolute": "^1.0.0", - "xtend": "^4.0.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.1", + "empower-assert": "1.1.0", + "escodegen": "1.10.0", + "espower": "2.1.1", + "estraverse": "4.2.0", + "merge-estraverse-visitors": "1.0.0", + "multi-stage-sourcemap": "0.2.1", + "path-is-absolute": "1.0.1", + "xtend": "4.0.1" } }, "espree": { @@ -4744,8 +4743,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" + "acorn": "5.7.1", + "acorn-jsx": "3.0.1" } }, "esprima": { @@ -4759,7 +4758,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "esquery": { @@ -4768,7 +4767,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -4777,7 +4776,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -4797,8 +4796,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "execa": { @@ -4807,13 +4806,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -4821,13 +4820,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -4843,7 +4842,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -4851,7 +4850,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4862,7 +4861,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { @@ -4871,11 +4870,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "is-number": { @@ -4884,7 +4883,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "isobject": { @@ -4902,7 +4901,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4917,8 +4916,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -4926,7 +4925,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -4937,9 +4936,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -4947,14 +4946,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -4962,7 +4961,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -4970,7 +4969,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -4978,7 +4977,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4986,7 +4985,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4994,9 +4993,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -5022,12 +5021,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.0", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" } }, "fast-json-stable-stringify": { @@ -5047,7 +5046,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -5056,8 +5055,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.0", + "object-assign": "4.1.1" } }, "filename-regex": { @@ -5072,8 +5071,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" } }, "fill-range": { @@ -5081,10 +5080,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -5092,7 +5091,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5103,9 +5102,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" } }, "find-up": { @@ -5114,7 +5113,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "flat-cache": { @@ -5123,10 +5122,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" } }, "fn-name": { @@ -5140,7 +5139,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" } }, "for-in": { @@ -5154,7 +5153,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -5172,9 +5171,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.18" } }, "formidable": { @@ -5188,7 +5187,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "from2": { @@ -5197,8 +5196,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "fs-extra": { @@ -5207,9 +5206,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" } }, "fs.realpath": { @@ -5217,535 +5216,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true - } - } - }, "function-name-support": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/function-name-support/-/function-name-support-0.2.0.tgz", @@ -5763,8 +5233,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "^0.18.0", - "extend": "^3.0.1", + "axios": "0.18.0", + "extend": "3.0.1", "retry-axios": "0.3.2" } }, @@ -5774,11 +5244,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "^3.1.2", - "google-auto-auth": "^0.10.0", - "pumpify": "^1.4.0", - "request": "^2.85.0", - "stream-events": "^1.0.3" + "configstore": "3.1.2", + "google-auto-auth": "0.10.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "stream-events": "1.0.4" } }, "get-caller-file": { @@ -5815,7 +5285,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -5823,12 +5293,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -5837,8 +5307,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" }, "dependencies": { "glob-parent": { @@ -5847,7 +5317,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -5862,7 +5332,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -5872,8 +5342,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -5881,7 +5351,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -5897,7 +5367,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { @@ -5911,13 +5381,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" } }, "google-auth-library": { @@ -5925,13 +5395,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "^0.18.0", - "gcp-metadata": "^0.6.3", - "gtoken": "^2.3.0", - "jws": "^3.1.5", - "lodash.isstring": "^4.0.1", - "lru-cache": "^4.1.3", - "retry-axios": "^0.3.2" + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.3.0", + "jws": "3.1.5", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.3", + "retry-axios": "0.3.2" } }, "google-auto-auth": { @@ -5940,10 +5410,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "^2.3.0", - "gcp-metadata": "^0.6.1", - "google-auth-library": "^1.3.1", - "request": "^2.79.0" + "async": "2.6.1", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.6.1", + "request": "2.87.0" } }, "google-gax": { @@ -5951,17 +5421,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "^3.6.0", - "extend": "^3.0.1", - "globby": "^8.0.1", - "google-auth-library": "^1.6.1", - "google-proto-files": "^0.16.0", - "grpc": "^1.12.2", - "is-stream-ended": "^0.1.4", - "lodash": "^4.17.10", - "protobufjs": "^6.8.6", - "retry-request": "^4.0.0", - "through2": "^2.0.3" + "duplexify": "3.6.0", + "extend": "3.0.1", + "globby": "8.0.1", + "google-auth-library": "1.6.1", + "google-proto-files": "0.16.1", + "grpc": "1.12.4", + "is-stream-ended": "0.1.4", + "lodash": "4.17.10", + "protobufjs": "6.8.6", + "retry-request": "4.0.0", + "through2": "2.0.3" }, "dependencies": { "retry-request": { @@ -5969,7 +5439,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } } } @@ -5979,8 +5449,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "^0.7.4", - "pify": "^3.0.0" + "node-forge": "0.7.5", + "pify": "3.0.0" } }, "google-proto-files": { @@ -5988,9 +5458,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "^8.0.0", - "power-assert": "^1.4.4", - "protobufjs": "^6.8.0" + "globby": "8.0.1", + "power-assert": "1.6.0", + "protobufjs": "6.8.6" } }, "got": { @@ -5999,23 +5469,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" }, "dependencies": { "prepend-http": { @@ -6030,7 +5500,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "2.0.0" } } } @@ -6052,10 +5522,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.4.tgz", "integrity": "sha512-t0Hy4yoHHYLkK0b+ULTHw5ZuSFmWokCABY0C4bKQbE4jnm1hpjA23cQVD0xAqDcRHN5CkvFzlqb34ngV22dqoQ==", "requires": { - "lodash": "^4.17.5", - "nan": "^2.0.0", - "node-pre-gyp": "^0.10.0", - "protobufjs": "^5.0.3" + "lodash": "4.17.10", + "nan": "2.10.0", + "node-pre-gyp": "0.10.0", + "protobufjs": "5.0.3" }, "dependencies": { "abbrev": { @@ -6074,8 +5544,8 @@ "version": "1.1.5", "bundled": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -6086,7 +5556,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -6133,7 +5603,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "fs.realpath": { @@ -6144,26 +5614,26 @@ "version": "2.7.4", "bundled": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" } }, "glob": { "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -6174,22 +5644,22 @@ "version": "0.4.23", "bundled": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -6204,7 +5674,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -6215,7 +5685,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -6226,15 +5696,15 @@ "version": "2.3.3", "bundled": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "mkdirp": { @@ -6258,33 +5728,33 @@ "version": "2.2.1", "bundled": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.23", + "sax": "1.2.4" } }, "node-pre-gyp": { "version": "0.10.0", "bundled": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.1", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.8", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.4" } }, "nopt": { "version": "4.0.1", "bundled": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -6295,18 +5765,18 @@ "version": "1.1.10", "bundled": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { "version": "4.1.2", "bundled": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -6321,7 +5791,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -6336,8 +5806,8 @@ "version": "0.1.5", "bundled": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -6353,40 +5823,40 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "~1", - "bytebuffer": "~5", - "glob": "^7.0.5", - "yargs": "^3.10.0" + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" } }, "rc": { "version": "1.2.8", "bundled": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -6413,27 +5883,27 @@ "version": "3.0.2", "bundled": true }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "1.1.1", "bundled": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "safe-buffer": "5.1.2" } }, - "string_decoder": { - "version": "1.1.1", + "string-width": { + "version": "1.0.2", "bundled": true, "requires": { - "safe-buffer": "~5.1.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -6444,13 +5914,13 @@ "version": "4.4.4", "bundled": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.3", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.3", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -6461,7 +5931,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "wrappy": { @@ -6479,11 +5949,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "^0.18.0", - "google-p12-pem": "^1.0.0", - "jws": "^3.1.4", - "mime": "^2.2.0", - "pify": "^3.0.0" + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.5", + "mime": "2.3.1", + "pify": "3.0.0" } }, "handlebars": { @@ -6492,10 +5962,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -6510,7 +5980,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -6525,8 +5995,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has-ansi": { @@ -6535,7 +6005,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-color": { @@ -6562,7 +6032,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "^1.4.1" + "has-symbol-support-x": "1.4.2" } }, "has-value": { @@ -6570,9 +6040,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -6580,8 +6050,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -6589,7 +6059,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6606,7 +6076,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "he": { @@ -6621,8 +6091,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -6637,12 +6107,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.4.2", + "domutils": "1.7.0", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "http-cache-semantics": { @@ -6656,9 +6126,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "hullabaloo-config-manager": { @@ -6667,20 +6137,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "es6-error": "^4.0.2", - "graceful-fs": "^4.1.11", - "indent-string": "^3.1.0", - "json5": "^0.5.1", - "lodash.clonedeep": "^4.5.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "package-hash": "^2.0.0", - "pkg-dir": "^2.0.0", - "resolve-from": "^3.0.0", - "safe-buffer": "^5.0.1" + "dot-prop": "4.2.0", + "es6-error": "4.1.1", + "graceful-fs": "4.1.11", + "indent-string": "3.2.0", + "json5": "0.5.1", + "lodash.clonedeep": "4.5.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.isequal": "4.5.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "package-hash": "2.0.0", + "pkg-dir": "2.0.0", + "resolve-from": "3.0.0", + "safe-buffer": "5.1.2" } }, "iconv-lite": { @@ -6689,7 +6159,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore": { @@ -6715,8 +6185,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -6741,8 +6211,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -6762,8 +6232,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "^2.14.1", - "sanitize-html": "^1.13.0" + "moment": "2.22.2", + "sanitize-html": "1.18.2" } }, "inquirer": { @@ -6772,20 +6242,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -6806,8 +6276,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -6816,7 +6286,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -6827,7 +6297,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "^1.0.0" + "espower-loader": "1.2.2" } }, "into-stream": { @@ -6836,8 +6306,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" + "from2": "2.3.0", + "p-is-promise": "1.1.0" } }, "invariant": { @@ -6846,7 +6316,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -6870,7 +6340,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6878,7 +6348,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6895,7 +6365,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -6909,7 +6379,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-ci": { @@ -6918,7 +6388,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -6926,7 +6396,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6934,7 +6404,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6944,9 +6414,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -6968,7 +6438,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-error": { @@ -6993,7 +6463,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -7001,7 +6471,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-generator-fn": { @@ -7015,7 +6485,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -7024,8 +6494,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-npm": { @@ -7039,7 +6509,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7047,7 +6517,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7070,7 +6540,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "^1.1.0" + "symbol-observable": "1.2.0" } }, "is-odd": { @@ -7078,7 +6548,7 @@ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -7100,7 +6570,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -7109,7 +6579,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -7123,7 +6593,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-posix-bracket": { @@ -7233,8 +6703,8 @@ "@babel/template": "7.0.0-beta.49", "@babel/traverse": "7.0.0-beta.49", "@babel/types": "7.0.0-beta.49", - "istanbul-lib-coverage": "^2.0.0", - "semver": "^5.5.0" + "istanbul-lib-coverage": "2.0.0", + "semver": "5.5.0" } }, "isurl": { @@ -7243,8 +6713,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" } }, "jest-docblock": { @@ -7271,8 +6741,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "js2xmlparser": { @@ -7281,7 +6751,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "^1.0.1" + "xmlcreate": "1.0.2" } }, "jsbn": { @@ -7297,17 +6767,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "~3.5.0", - "catharsis": "~0.8.9", - "escape-string-regexp": "~1.0.5", - "js2xmlparser": "~3.0.0", - "klaw": "~2.0.0", - "marked": "~0.3.6", - "mkdirp": "~0.5.1", - "requizzle": "~0.2.1", - "strip-json-comments": "~2.0.1", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", "taffydb": "2.6.2", - "underscore": "~1.8.3" + "underscore": "1.8.3" }, "dependencies": { "babylon": { @@ -7369,7 +6839,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsprim": { @@ -7396,7 +6866,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "jws": { @@ -7404,8 +6874,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "^1.1.5", - "safe-buffer": "^5.0.1" + "jwa": "1.1.6", + "safe-buffer": "5.1.2" } }, "keyv": { @@ -7428,7 +6898,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "last-line-stream": { @@ -7437,7 +6907,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "latest-version": { @@ -7446,7 +6916,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -7461,7 +6931,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -7470,8 +6940,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -7480,10 +6950,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" }, "dependencies": { "pify": { @@ -7500,8 +6970,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -7614,7 +7084,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -7623,8 +7093,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowercase-keys": { @@ -7638,8 +7108,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -7648,7 +7118,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "map-cache": { @@ -7667,7 +7137,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "marked": { @@ -7682,7 +7152,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.4" + "escape-string-regexp": "1.0.5" } }, "math-random": { @@ -7697,7 +7167,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -7712,7 +7182,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "meow": { @@ -7721,16 +7191,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "find-up": { @@ -7739,8 +7209,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "load-json-file": { @@ -7749,11 +7219,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "minimist": { @@ -7768,7 +7238,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-type": { @@ -7777,9 +7247,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -7800,7 +7270,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "read-pkg": { @@ -7809,9 +7279,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -7820,8 +7290,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "strip-bom": { @@ -7830,7 +7300,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } } } @@ -7847,7 +7317,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "merge2": { @@ -7872,19 +7342,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "mime": { @@ -7902,7 +7372,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { @@ -7922,7 +7392,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -7936,8 +7406,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -7945,7 +7415,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8007,7 +7477,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "^0.1.34" + "source-map": "0.1.43" }, "dependencies": { "source-map": { @@ -8016,7 +7486,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -8027,10 +7497,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" } }, "mute-stream": { @@ -8049,18 +7519,18 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "natural-compare": { @@ -8081,11 +7551,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "just-extend": "^1.1.27", - "lolex": "^2.3.2", - "path-to-regexp": "^1.7.0", - "text-encoding": "^0.6.4" + "@sinonjs/formatio": "2.0.0", + "just-extend": "1.1.27", + "lolex": "2.7.0", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" } }, "node-forge": { @@ -8099,10 +7569,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -8111,7 +7581,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-url": { @@ -8120,9 +7590,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" }, "dependencies": { "prepend-http": { @@ -8139,7 +7609,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -8153,33 +7623,33 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^2.1.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.5", - "istanbul-reports": "^1.4.1", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "2.2.0", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.5", + "istanbul-reports": "1.4.1", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", "yargs": "11.1.0", - "yargs-parser": "^8.0.0" + "yargs-parser": "8.1.0" }, "dependencies": { "align-text": { @@ -8187,9 +7657,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -8207,7 +7677,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -8265,13 +7735,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -8279,7 +7749,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -8287,7 +7757,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8295,7 +7765,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8303,9 +7773,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8320,7 +7790,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -8329,16 +7799,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -8346,7 +7816,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8361,15 +7831,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "caching-transform": { @@ -8377,9 +7847,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -8394,8 +7864,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "class-utils": { @@ -8403,10 +7873,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -8414,7 +7884,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -8425,8 +7895,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -8448,8 +7918,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "commondir": { @@ -8482,8 +7952,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.1" } }, "debug": { @@ -8514,7 +7984,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-property": { @@ -8522,8 +7992,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -8531,7 +8001,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8539,7 +8009,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8547,9 +8017,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8564,7 +8034,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "execa": { @@ -8572,13 +8042,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -8586,9 +8056,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } } } @@ -8598,13 +8068,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -8620,7 +8090,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -8628,7 +8098,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8638,8 +8108,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8647,7 +8117,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8657,14 +8127,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8672,7 +8142,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -8680,7 +8150,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -8688,7 +8158,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8696,7 +8166,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8704,9 +8174,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8721,10 +8191,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -8732,7 +8202,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8742,9 +8212,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -8752,7 +8222,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -8765,8 +8235,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fragment-cache": { @@ -8774,7 +8244,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs.realpath": { @@ -8802,12 +8272,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "graceful-fs": { @@ -8820,10 +8290,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -8831,7 +8301,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -8841,9 +8311,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -8851,8 +8321,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -8860,7 +8330,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8880,8 +8350,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -8899,7 +8369,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -8917,7 +8387,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-data-descriptor": { @@ -8925,7 +8395,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -8933,9 +8403,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -8960,7 +8430,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -8968,7 +8438,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -8983,7 +8453,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-stream": { @@ -9026,7 +8496,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-report": { @@ -9034,10 +8504,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -9050,7 +8520,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9060,11 +8530,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" } }, "istanbul-reports": { @@ -9072,7 +8542,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "kind-of": { @@ -9080,7 +8550,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -9094,7 +8564,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -9102,11 +8572,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -9114,8 +8584,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -9135,8 +8605,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "map-cache": { @@ -9149,7 +8619,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5-hex": { @@ -9157,7 +8627,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -9170,7 +8640,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge-source-map": { @@ -9178,7 +8648,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.6.1" + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -9193,19 +8663,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -9225,7 +8695,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -9238,8 +8708,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -9247,7 +8717,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -9270,18 +8740,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -9296,10 +8766,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { @@ -9307,7 +8777,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -9325,9 +8795,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -9335,7 +8805,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9345,7 +8815,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.pick": { @@ -9353,7 +8823,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "once": { @@ -9361,7 +8831,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -9369,8 +8839,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -9383,9 +8853,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -9398,7 +8868,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -9406,7 +8876,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { @@ -9419,7 +8889,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pascalcase": { @@ -9432,7 +8902,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -9455,9 +8925,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -9475,7 +8945,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -9483,7 +8953,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -9491,8 +8961,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -9512,9 +8982,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -9522,8 +8992,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -9531,8 +9001,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -9542,8 +9012,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "repeat-element": { @@ -9587,7 +9057,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -9595,7 +9065,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-regex": { @@ -9603,7 +9073,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "semver": { @@ -9621,10 +9091,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -9632,7 +9102,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9642,7 +9112,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -9665,14 +9135,14 @@ "bundled": true, "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -9688,7 +9158,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -9696,7 +9166,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9706,9 +9176,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -9716,7 +9186,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -9724,7 +9194,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9732,7 +9202,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9740,9 +9210,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9757,7 +9227,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -9770,11 +9240,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { @@ -9787,12 +9257,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.1" } }, "spdx-correct": { @@ -9800,8 +9270,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -9814,8 +9284,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -9828,7 +9298,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "static-extend": { @@ -9836,8 +9306,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -9845,7 +9315,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9855,8 +9325,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -9864,7 +9334,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "strip-bom": { @@ -9872,7 +9342,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -9885,11 +9355,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-object-path": { @@ -9897,7 +9367,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -9905,10 +9375,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -9916,8 +9386,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "uglify-js": { @@ -9926,9 +9396,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -9937,9 +9407,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -9956,10 +9426,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -9967,7 +9437,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -9975,10 +9445,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -9988,8 +9458,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -9997,9 +9467,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -10029,7 +9499,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -10044,8 +9514,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "which": { @@ -10053,7 +9523,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -10077,8 +9547,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "ansi-regex": { @@ -10091,7 +9561,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -10099,9 +9569,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -10109,7 +9579,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -10124,9 +9594,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -10144,18 +9614,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "camelcase": { @@ -10168,9 +9638,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "yargs-parser": { @@ -10178,7 +9648,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10188,7 +9658,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -10216,9 +9686,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -10226,7 +9696,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "kind-of": { @@ -10234,7 +9704,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10249,7 +9719,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.omit": { @@ -10258,8 +9728,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -10267,7 +9737,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "observable-to-promise": { @@ -10276,8 +9746,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "^0.2.0", - "symbol-observable": "^1.0.4" + "is-observable": "0.2.0", + "symbol-observable": "1.2.0" }, "dependencies": { "is-observable": { @@ -10286,7 +9756,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "^0.2.2" + "symbol-observable": "0.2.4" }, "dependencies": { "symbol-observable": { @@ -10304,7 +9774,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -10313,7 +9783,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -10322,8 +9792,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "option-chain": { @@ -10338,12 +9808,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -10370,7 +9840,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-tmpdir": { @@ -10403,7 +9873,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -10412,7 +9882,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-timeout": { @@ -10421,7 +9891,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "^1.0.0" + "p-finally": "1.0.0" } }, "p-try": { @@ -10436,10 +9906,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "lodash.flattendeep": "^4.4.0", - "md5-hex": "^2.0.0", - "release-zalgo": "^1.0.0" + "graceful-fs": "4.1.11", + "lodash.flattendeep": "4.4.0", + "md5-hex": "2.0.0", + "release-zalgo": "1.0.0" } }, "package-json": { @@ -10448,10 +9918,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" }, "dependencies": { "got": { @@ -10460,17 +9930,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } } } @@ -10481,10 +9951,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" }, "dependencies": { "is-extglob": { @@ -10499,7 +9969,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -10510,7 +9980,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse-ms": { @@ -10580,7 +10050,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "performance-now": { @@ -10605,7 +10075,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "^1.0.0" + "pinkie": "1.0.0" } }, "pkg-conf": { @@ -10614,8 +10084,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" + "find-up": "2.1.0", + "load-json-file": "4.0.0" }, "dependencies": { "load-json-file": { @@ -10624,10 +10094,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "parse-json": { @@ -10636,8 +10106,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } @@ -10648,7 +10118,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" } }, "plur": { @@ -10657,7 +10127,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "^1.0.0" + "irregular-plurals": "1.4.0" } }, "pluralize": { @@ -10677,9 +10147,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" }, "dependencies": { "source-map": { @@ -10695,11 +10165,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "^1.1.2", - "empower": "^1.3.0", - "power-assert-formatter": "^1.4.1", - "universal-deep-strict-equal": "^1.2.1", - "xtend": "^4.0.0" + "define-properties": "1.1.2", + "empower": "1.3.0", + "power-assert-formatter": "1.4.1", + "universal-deep-strict-equal": "1.2.2", + "xtend": "4.0.1" } }, "power-assert-context-formatter": { @@ -10707,8 +10177,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "^2.0.0", - "power-assert-context-traversal": "^1.2.0" + "core-js": "2.5.7", + "power-assert-context-traversal": "1.2.0" } }, "power-assert-context-reducer-ast": { @@ -10716,11 +10186,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.12", - "core-js": "^2.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.2.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "core-js": "2.5.7", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "power-assert-context-traversal": { @@ -10728,8 +10198,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "^2.0.0", - "estraverse": "^4.1.0" + "core-js": "2.5.7", + "estraverse": "4.2.0" } }, "power-assert-formatter": { @@ -10737,13 +10207,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "^2.0.0", - "power-assert-context-formatter": "^1.0.7", - "power-assert-context-reducer-ast": "^1.0.7", - "power-assert-renderer-assertion": "^1.0.7", - "power-assert-renderer-comparison": "^1.0.7", - "power-assert-renderer-diagram": "^1.0.7", - "power-assert-renderer-file": "^1.0.7" + "core-js": "2.5.7", + "power-assert-context-formatter": "1.2.0", + "power-assert-context-reducer-ast": "1.2.0", + "power-assert-renderer-assertion": "1.2.0", + "power-assert-renderer-comparison": "1.2.0", + "power-assert-renderer-diagram": "1.2.0", + "power-assert-renderer-file": "1.2.0" } }, "power-assert-renderer-assertion": { @@ -10751,8 +10221,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0" + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0" } }, "power-assert-renderer-base": { @@ -10765,11 +10235,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "^2.0.0", - "diff-match-patch": "^1.0.0", - "power-assert-renderer-base": "^1.1.1", - "stringifier": "^1.3.0", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "diff-match-patch": "1.0.1", + "power-assert-renderer-base": "1.1.1", + "stringifier": "1.3.0", + "type-name": "2.0.2" } }, "power-assert-renderer-diagram": { @@ -10777,10 +10247,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "^2.0.0", - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0", - "stringifier": "^1.3.0" + "core-js": "2.5.7", + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0", + "stringifier": "1.3.0" } }, "power-assert-renderer-file": { @@ -10788,7 +10258,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "^1.1.1" + "power-assert-renderer-base": "1.1.1" } }, "power-assert-util-string-width": { @@ -10796,7 +10266,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "^0.2.0" + "eastasianwidth": "0.2.0" } }, "prelude-ls": { @@ -10829,7 +10299,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "^1.0.0" + "parse-ms": "1.0.1" }, "dependencies": { "parse-ms": { @@ -10862,19 +10332,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^3.0.32", - "@types/node": "^8.9.4", - "long": "^4.0.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/base64": "1.1.2", + "@protobufjs/codegen": "2.0.4", + "@protobufjs/eventemitter": "1.1.0", + "@protobufjs/fetch": "1.1.0", + "@protobufjs/float": "1.0.2", + "@protobufjs/inquire": "1.1.0", + "@protobufjs/path": "1.1.2", + "@protobufjs/pool": "1.1.0", + "@protobufjs/utf8": "1.1.0", + "@types/long": "3.0.32", + "@types/node": "8.10.20", + "long": "4.0.0" }, "dependencies": { "@types/node": { @@ -10890,9 +10360,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.0", - "resolve": "~1.1.7" + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" } }, "pseudomap": { @@ -10906,8 +10376,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -10916,9 +10386,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -10937,9 +10407,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, "randomatic": { @@ -10948,9 +10418,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -10967,10 +10437,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -10987,9 +10457,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" }, "dependencies": { "path-type": { @@ -10998,7 +10468,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "pify": { @@ -11015,8 +10485,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "readable-stream": { @@ -11024,13 +10494,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -11039,10 +10509,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, "redent": { @@ -11051,8 +10521,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" }, "dependencies": { "indent-string": { @@ -11061,7 +10531,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } } } @@ -11084,7 +10554,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -11092,8 +10562,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpp": { @@ -11108,9 +10578,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -11119,8 +10589,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.8", + "safe-buffer": "5.1.2" } }, "registry-url": { @@ -11129,7 +10599,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.8" } }, "regjsgen": { @@ -11144,7 +10614,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" } }, "release-zalgo": { @@ -11153,7 +10623,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "^4.0.1" + "es6-error": "4.1.1" } }, "remove-trailing-separator": { @@ -11178,7 +10648,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -11186,26 +10656,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" } }, "require-directory": { @@ -11232,8 +10702,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" }, "dependencies": { "resolve-from": { @@ -11250,7 +10720,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "~1.6.0" + "underscore": "1.6.0" }, "dependencies": { "underscore": { @@ -11273,7 +10743,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -11293,7 +10763,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "1.0.1" } }, "restore-cursor": { @@ -11302,8 +10772,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -11321,8 +10791,8 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "requires": { - "request": "^2.81.0", - "through2": "^2.0.0" + "request": "2.87.0", + "through2": "2.0.3" } }, "right-align": { @@ -11332,7 +10802,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -11341,7 +10811,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "run-async": { @@ -11350,7 +10820,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rx-lite": { @@ -11365,7 +10835,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" } }, "safe-buffer": { @@ -11378,7 +10848,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -11398,16 +10868,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "^2.3.0", - "htmlparser2": "^3.9.0", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.mergewith": "^4.6.0", - "postcss": "^6.0.14", - "srcset": "^1.0.0", - "xtend": "^4.0.0" + "chalk": "2.4.1", + "htmlparser2": "3.9.2", + "lodash.clonedeep": "4.5.0", + "lodash.escaperegexp": "4.1.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mergewith": "4.6.1", + "postcss": "6.0.23", + "srcset": "1.0.0", + "xtend": "4.0.1" } }, "semver": { @@ -11422,7 +10892,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "serialize-error": { @@ -11448,10 +10918,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -11459,7 +10929,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11470,7 +10940,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -11491,13 +10961,13 @@ "integrity": "sha512-MatciKXyM5pXMSoqd593MqTsItJNCkSSl53HJYeKR5wfsDdp2yljjUQJLfVwAWLoBNfx1HThteqygGQ0ZEpXpQ==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.5.0", - "lodash.get": "^4.4.2", - "lolex": "^2.4.2", - "nise": "^1.3.3", - "supports-color": "^5.4.0", - "type-detect": "^4.0.8" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "slash": { @@ -11511,7 +10981,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -11539,14 +11009,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -11562,7 +11032,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11570,7 +11040,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11580,9 +11050,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -11590,7 +11060,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -11598,7 +11068,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -11606,7 +11076,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -11614,9 +11084,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -11626,7 +11096,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11634,7 +11104,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11645,7 +11115,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "source-map": { @@ -11658,11 +11128,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { @@ -11671,8 +11141,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.0", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -11694,8 +11164,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -11710,8 +11180,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -11725,7 +11195,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "^0.1.4" + "is-stream-ended": "0.1.4" } }, "split-string": { @@ -11733,7 +11203,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -11748,8 +11218,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "^1.0.2", - "number-is-nan": "^1.0.0" + "array-uniq": "1.0.3", + "number-is-nan": "1.0.1" } }, "sshpk": { @@ -11757,15 +11227,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -11779,8 +11249,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -11788,7 +11258,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -11798,7 +11268,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "^3.0.0" + "stubs": "3.0.0" } }, "stream-shift": { @@ -11818,6 +11288,14 @@ "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, "string-format-obj": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", @@ -11829,17 +11307,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "stringifier": { @@ -11847,9 +11317,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "^2.0.0", - "traverse": "^0.6.6", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "traverse": "0.6.6", + "type-name": "2.0.2" } }, "strip-ansi": { @@ -11857,7 +11327,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -11872,7 +11342,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "^0.2.1" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -11887,7 +11357,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -11907,16 +11377,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" + "component-emitter": "1.2.1", + "cookiejar": "2.1.2", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.2", + "formidable": "1.2.1", + "methods": "1.1.2", + "mime": "1.6.0", + "qs": "6.5.2", + "readable-stream": "2.3.6" }, "dependencies": { "mime": { @@ -11933,11 +11403,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "indent-string": "^3.2.0", - "js-yaml": "^3.10.0", - "serialize-error": "^2.1.0", - "strip-ansi": "^4.0.0" + "arrify": "1.0.1", + "indent-string": "3.2.0", + "js-yaml": "3.12.0", + "serialize-error": "2.1.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -11952,7 +11422,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -11963,8 +11433,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "~1.1.2", - "superagent": "^3.0.0" + "methods": "1.1.2", + "superagent": "3.8.3" } }, "supports-color": { @@ -11973,7 +11443,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" }, "dependencies": { "has-flag": { @@ -11996,12 +11466,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.4.1", + "lodash": "4.17.10", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -12022,8 +11492,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12032,7 +11502,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12049,7 +11519,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "text-encoding": { @@ -12075,8 +11545,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-zone": { @@ -12097,7 +11567,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-fast-properties": { @@ -12111,7 +11581,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12119,7 +11589,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12129,10 +11599,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -12140,8 +11610,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "tough-cookie": { @@ -12149,7 +11619,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "traverse": { @@ -12180,7 +11650,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -12195,7 +11665,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -12222,9 +11692,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "camelcase": { @@ -12241,8 +11711,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" } }, @@ -12267,9 +11737,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -12316,10 +11786,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -12327,7 +11797,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -12335,10 +11805,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -12349,7 +11819,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "unique-temp-dir": { @@ -12358,8 +11828,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "^0.5.1", - "os-tmpdir": "^1.0.1", + "mkdirp": "0.5.1", + "os-tmpdir": "1.0.2", "uid2": "0.0.3" } }, @@ -12368,9 +11838,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "^1.0.0", + "array-filter": "1.0.0", "indexof": "0.0.1", - "object-keys": "^1.0.0" + "object-keys": "1.0.12" } }, "universalify": { @@ -12384,8 +11854,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -12393,9 +11863,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -12427,16 +11897,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" } }, "urix": { @@ -12450,7 +11920,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "url-to-options": { @@ -12470,7 +11940,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" } }, "util-deprecate": { @@ -12489,8 +11959,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -12498,9 +11968,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "well-known-symbols": { @@ -12515,7 +11985,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12530,7 +12000,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -12551,8 +12021,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12561,7 +12031,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12582,8 +12052,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -12597,7 +12067,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -12606,9 +12076,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "write-json-file": { @@ -12617,12 +12087,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" + "detect-indent": "5.0.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "pify": "3.0.0", + "sort-keys": "2.0.0", + "write-file-atomic": "2.3.0" }, "dependencies": { "detect-indent": { @@ -12639,8 +12109,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" + "sort-keys": "2.0.0", + "write-json-file": "2.3.0" } }, "xdg-basedir": { @@ -12675,13 +12145,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" } }, "yargs-parser": { @@ -12690,7 +12160,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { From 90fbeaf5bf201f45dc6397bb0d6923c1db548575 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 25 Jun 2018 11:55:57 -0700 Subject: [PATCH 158/588] fix: update linking for samples (#92) --- .../google-cloud-vision/.circleci/config.yml | 3 +- .../google-cloud-vision/package-lock.json | 4988 +++++++++-------- .../google-cloud-vision/samples/package.json | 22 +- 3 files changed, 2771 insertions(+), 2242 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index ef1340a76cc..3574e525e52 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -108,9 +108,8 @@ jobs: name: Link the module being tested to the samples. command: | cd samples/ - npm link ../ npm install - cd .. + npm link ../ environment: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 1fdd0ebd42b..1bd75944a67 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "package-hash": "1.2.0" + "babel-plugin-check-es2015-constants": "^6.8.0", + "babel-plugin-syntax-trailing-function-commas": "^6.20.0", + "babel-plugin-transform-async-to-generator": "^6.16.0", + "babel-plugin-transform-es2015-destructuring": "^6.19.0", + "babel-plugin-transform-es2015-function-name": "^6.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", + "babel-plugin-transform-es2015-parameters": "^6.21.0", + "babel-plugin-transform-es2015-spread": "^6.8.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", + "babel-plugin-transform-exponentiation-operator": "^6.8.0", + "package-hash": "^1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "1.3.0" + "md5-hex": "^1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.4.0" + "@ava/babel-plugin-throws-helper": "^2.0.0", + "babel-plugin-espower": "^2.3.2" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.49", - "jsesc": "2.5.1", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "jsesc": "^2.5.1", + "lodash": "^4.17.5", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.49", "@babel/parser": "7.0.0-beta.49", "@babel/types": "7.0.0-beta.49", - "lodash": "4.17.10" + "lodash": "^4.17.5" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.49", "@babel/parser": "7.0.0-beta.49", "@babel/types": "7.0.0-beta.49", - "debug": "3.1.0", - "globals": "11.7.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.17.5" }, "dependencies": { "globals": { @@ -191,9 +191,9 @@ "integrity": "sha1-t+Oxw/TUz+Eb34yJ8e/V4WF7h6Y=", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.5", + "to-fast-properties": "^2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,7 +210,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "1.0.1" + "arrify": "^1.0.1" } }, "@google-cloud/common": { @@ -218,21 +218,21 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.1.tgz", "integrity": "sha512-LJB7CoNXEXY0mDWtF8E2cl3Y0kuMQ3wjH9Xr+Y7vH5gHgN82dDh1BMUOizRf9oXQFDWUgGERD5SdfBcjUhHmwA==", "requires": { - "@types/duplexify": "3.5.0", - "@types/request": "2.47.1", - "arrify": "1.0.1", - "axios": "0.18.0", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auth-library": "1.6.1", - "is": "3.2.1", - "pify": "3.0.0", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "2.0.0", - "stream-events": "1.0.4", - "through2": "2.0.3" + "@types/duplexify": "^3.5.0", + "@types/request": "^2.47.0", + "arrify": "^1.0.1", + "axios": "^0.18.0", + "duplexify": "^3.6.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auth-library": "^1.6.0", + "is": "^3.2.1", + "pify": "^3.0.0", + "request": "^2.87.0", + "retry-request": "^3.3.1", + "split-array-stream": "^2.0.0", + "stream-events": "^1.0.4", + "through2": "^2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "5.5.0", + "semver": "^5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -269,9 +269,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -292,33 +292,33 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "md5-hex": "1.3.0", - "merge-source-map": "1.0.4", - "micromatch": "2.3.11", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.1.1", - "yargs": "10.0.3", - "yargs-parser": "8.0.0" + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.3.0", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.1", + "istanbul-lib-report": "^1.1.2", + "istanbul-lib-source-maps": "^1.2.2", + "istanbul-reports": "^1.1.3", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.0.2", + "micromatch": "^2.3.11", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.5.4", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.1.1", + "yargs": "^10.0.3", + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -326,9 +326,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -351,7 +351,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -364,7 +364,7 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -392,9 +392,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { @@ -402,14 +402,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.6", + "trim-right": "^1.0.1" } }, "babel-messages": { @@ -417,7 +417,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -425,8 +425,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -434,11 +434,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -446,15 +446,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -462,10 +462,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -483,7 +483,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -492,9 +492,9 @@ "bundled": true, "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "builtin-modules": { @@ -507,9 +507,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -524,8 +524,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -533,11 +533,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "cliui": { @@ -546,8 +546,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -589,8 +589,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -616,7 +616,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "detect-indent": { @@ -624,7 +624,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { @@ -632,7 +632,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { @@ -650,13 +650,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -664,9 +664,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -676,7 +676,7 @@ "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -684,7 +684,7 @@ "bundled": true, "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "extglob": { @@ -692,7 +692,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "filename-regex": { @@ -705,11 +705,11 @@ "bundled": true, "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-cache-dir": { @@ -717,9 +717,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -727,7 +727,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -740,7 +740,7 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreground-child": { @@ -748,8 +748,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fs.realpath": { @@ -772,12 +772,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -785,8 +785,8 @@ "bundled": true, "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -794,7 +794,7 @@ "bundled": true, "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { @@ -812,10 +812,10 @@ "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -823,7 +823,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -833,7 +833,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -856,8 +856,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -870,7 +870,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -893,7 +893,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-dotfile": { @@ -906,7 +906,7 @@ "bundled": true, "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -924,7 +924,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -932,7 +932,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -940,7 +940,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -948,7 +948,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { @@ -999,7 +999,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -1007,13 +1007,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -1021,10 +1021,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { @@ -1032,7 +1032,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -1042,11 +1042,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -1064,7 +1064,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { @@ -1082,7 +1082,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -1096,7 +1096,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -1104,11 +1104,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -1116,8 +1116,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -1142,7 +1142,7 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { @@ -1150,8 +1150,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "md5-hex": { @@ -1159,7 +1159,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -1172,7 +1172,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -1180,7 +1180,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { @@ -1188,19 +1188,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mimic-fn": { @@ -1213,7 +1213,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -1239,10 +1239,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -1250,7 +1250,7 @@ "bundled": true, "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -1258,7 +1258,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -1276,8 +1276,8 @@ "bundled": true, "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "once": { @@ -1285,7 +1285,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -1293,8 +1293,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -1307,9 +1307,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -1327,7 +1327,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "parse-glob": { @@ -1335,10 +1335,10 @@ "bundled": true, "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -1346,7 +1346,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "path-exists": { @@ -1354,7 +1354,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -1377,9 +1377,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -1397,7 +1397,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -1405,7 +1405,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -1413,8 +1413,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1434,8 +1434,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -1443,7 +1443,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -1451,7 +1451,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1461,7 +1461,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1471,9 +1471,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -1481,8 +1481,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -1490,8 +1490,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1506,7 +1506,7 @@ "bundled": true, "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { @@ -1529,7 +1529,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { @@ -1553,7 +1553,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -1561,7 +1561,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "semver": { @@ -1579,7 +1579,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -1607,12 +1607,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -1620,7 +1620,7 @@ "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -1638,8 +1638,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -1657,7 +1657,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -1667,7 +1667,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -1675,7 +1675,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -1693,11 +1693,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-fast-properties": { @@ -1716,9 +1716,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -1727,9 +1727,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -1746,8 +1746,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "which": { @@ -1755,7 +1755,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -1779,8 +1779,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "string-width": { @@ -1788,9 +1788,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1805,9 +1805,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -1825,18 +1825,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "8.0.0" + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^8.0.0" }, "dependencies": { "cliui": { @@ -1844,9 +1844,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -1854,9 +1854,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1868,7 +1868,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -1886,9 +1886,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "sinon": { @@ -1897,13 +1897,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.1.0", + "lodash.get": "^4.4.2", + "lolex": "^2.2.0", + "nise": "^1.2.0", + "supports-color": "^5.1.0", + "type-detect": "^4.0.5" } }, "string-width": { @@ -1912,8 +1912,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -1922,7 +1922,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -1931,18 +1931,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } } } @@ -1953,27 +1953,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "0.17.0", - "arrify": "1.0.1", - "async": "2.6.1", - "compressible": "2.0.14", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "extend": "3.0.1", - "gcs-resumable-upload": "0.10.2", - "hash-stream-validation": "0.2.1", - "is": "3.2.1", - "mime": "2.3.1", - "mime-types": "2.1.18", - "once": "1.4.0", - "pumpify": "1.5.1", - "request": "2.87.0", - "safe-buffer": "5.1.2", - "snakeize": "0.1.0", - "stream-events": "1.0.4", - "through2": "2.0.3", - "xdg-basedir": "3.0.0" + "@google-cloud/common": "^0.17.0", + "arrify": "^1.0.0", + "async": "^2.0.1", + "compressible": "^2.0.12", + "concat-stream": "^1.5.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "extend": "^3.0.0", + "gcs-resumable-upload": "^0.10.2", + "hash-stream-validation": "^0.2.1", + "is": "^3.0.1", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "once": "^1.3.1", + "pumpify": "^1.5.1", + "request": "^2.85.0", + "safe-buffer": "^5.1.1", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -1982,24 +1982,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auto-auth": "0.10.1", - "is": "3.2.1", + "array-uniq": "^1.0.3", + "arrify": "^1.0.1", + "concat-stream": "^1.6.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auto-auth": "^0.10.0", + "is": "^3.2.0", "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "1.0.3", - "stream-events": "1.0.4", - "string-format-obj": "1.1.1", - "through2": "2.0.3" + "methmeth": "^1.1.0", + "modelo": "^4.2.0", + "request": "^2.79.0", + "retry-request": "^3.0.0", + "split-array-stream": "^1.0.0", + "stream-events": "^1.0.1", + "string-format-obj": "^1.1.0", + "through2": "^2.0.3" } }, "split-array-stream": { @@ -2008,8 +2008,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "2.6.1", - "is-stream-ended": "0.1.4" + "async": "^2.4.0", + "is-stream-ended": "^0.1.0" } } } @@ -2020,10 +2020,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "0.4.0", - "date-time": "0.1.1", - "pretty-ms": "0.2.2", - "text-table": "0.2.0" + "chalk": "^0.4.0", + "date-time": "^0.1.1", + "pretty-ms": "^0.2.1", + "text-table": "^0.2.0" }, "dependencies": { "ansi-styles": { @@ -2038,9 +2038,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "pretty-ms": { @@ -2049,7 +2049,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "0.1.2" + "parse-ms": "^0.1.0" } }, "strip-ansi": { @@ -2065,8 +2065,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, "@nodelib/fs.stat": { @@ -2099,8 +2099,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/inquire": "1.1.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, "@protobufjs/float": { @@ -2153,7 +2153,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "10.3.4" + "@types/node": "*" } }, "@types/form-data": { @@ -2161,7 +2161,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "10.3.4" + "@types/node": "*" } }, "@types/long": { @@ -2170,19 +2170,19 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "10.3.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.4.tgz", - "integrity": "sha512-YMLlzdeNnAyLrQew39IFRkMacAR5BqKGIEei9ZjdHsIZtv+ZWKYTu1i7QJhetxQ9ReXx8w5f+cixdHZG3zgMQA==" + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.5.tgz", + "integrity": "sha512-6lRwZN0Y3TuglwaaZN2XPocobmzLlhxcqDjKFjNYSsXG/TFAGYkCqkzZh4+ms8iTHHQE6gJXLHPV7TziVGeWhg==" }, "@types/request": { "version": "2.47.1", "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "0.12.1", - "@types/form-data": "2.2.1", - "@types/node": "10.3.4", - "@types/tough-cookie": "2.3.3" + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" } }, "@types/tough-cookie": { @@ -2206,7 +2206,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -2222,10 +2222,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -2240,9 +2240,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" }, "dependencies": { "kind-of": { @@ -2251,7 +2251,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2268,7 +2268,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2289,8 +2289,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2299,7 +2299,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2321,7 +2321,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -2330,8 +2330,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" }, "dependencies": { "arr-diff": { @@ -2340,7 +2340,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -2355,9 +2355,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "expand-brackets": { @@ -2366,7 +2366,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "extglob": { @@ -2375,7 +2375,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-extglob": { @@ -2390,7 +2390,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "kind-of": { @@ -2399,7 +2399,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -2408,19 +2408,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } } } @@ -2431,7 +2431,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "argv": { @@ -2489,7 +2489,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -2512,8 +2512,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" + "colour": "~0.7.1", + "optjs": "~3.2.2" } }, "asn1": { @@ -2537,7 +2537,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "async-each": { @@ -2568,89 +2568,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "1.1.0", - "@ava/babel-preset-transform-test-files": "3.0.0", - "@ava/write-file-atomic": "2.2.0", - "@concordance/react": "1.0.0", - "@ladjs/time-require": "0.1.4", - "ansi-escapes": "3.1.0", - "ansi-styles": "3.2.1", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.2.1", - "ava-init": "0.2.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.4.1", - "chokidar": "1.7.0", - "clean-stack": "1.3.0", - "clean-yaml-object": "0.1.0", - "cli-cursor": "2.1.0", - "cli-spinners": "1.3.1", - "cli-truncate": "1.1.0", - "co-with-promise": "4.6.0", - "code-excerpt": "2.1.1", - "common-path-prefix": "1.0.0", - "concordance": "3.0.0", - "convert-source-map": "1.5.1", - "core-assert": "0.2.1", - "currently-unhandled": "0.4.1", - "debug": "3.1.0", - "dot-prop": "4.2.0", - "empower-core": "0.6.2", - "equal-length": "1.0.1", - "figures": "2.0.0", - "find-cache-dir": "1.0.0", - "fn-name": "2.0.1", - "get-port": "3.2.0", - "globby": "6.1.0", - "has-flag": "2.0.0", - "hullabaloo-config-manager": "1.1.1", - "ignore-by-default": "1.0.1", - "import-local": "0.1.1", - "indent-string": "3.2.0", - "is-ci": "1.1.0", - "is-generator-fn": "1.0.0", - "is-obj": "1.0.1", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "last-line-stream": "1.0.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.debounce": "4.0.8", - "lodash.difference": "4.5.0", - "lodash.flatten": "4.4.0", - "loud-rejection": "1.6.0", - "make-dir": "1.3.0", - "matcher": "1.1.1", - "md5-hex": "2.0.0", - "meow": "3.7.0", - "ms": "2.0.0", - "multimatch": "2.1.0", - "observable-to-promise": "0.5.0", - "option-chain": "1.0.0", - "package-hash": "2.0.0", - "pkg-conf": "2.1.0", - "plur": "2.1.2", - "pretty-ms": "3.2.0", - "require-precompiled": "0.1.0", - "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.2", - "semver": "5.5.0", - "slash": "1.0.0", - "source-map-support": "0.5.6", - "stack-utils": "1.0.1", - "strip-ansi": "4.0.0", - "strip-bom-buf": "1.0.0", - "supertap": "1.0.0", - "supports-color": "5.4.0", - "trim-off-newlines": "1.0.1", - "unique-temp-dir": "1.0.0", - "update-notifier": "2.5.0" + "@ava/babel-preset-stage-4": "^1.1.0", + "@ava/babel-preset-transform-test-files": "^3.0.0", + "@ava/write-file-atomic": "^2.2.0", + "@concordance/react": "^1.0.0", + "@ladjs/time-require": "^0.1.4", + "ansi-escapes": "^3.0.0", + "ansi-styles": "^3.1.0", + "arr-flatten": "^1.0.1", + "array-union": "^1.0.1", + "array-uniq": "^1.0.2", + "arrify": "^1.0.0", + "auto-bind": "^1.1.0", + "ava-init": "^0.2.0", + "babel-core": "^6.17.0", + "babel-generator": "^6.26.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "bluebird": "^3.0.0", + "caching-transform": "^1.0.0", + "chalk": "^2.0.1", + "chokidar": "^1.4.2", + "clean-stack": "^1.1.1", + "clean-yaml-object": "^0.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.0", + "cli-truncate": "^1.0.0", + "co-with-promise": "^4.6.0", + "code-excerpt": "^2.1.1", + "common-path-prefix": "^1.0.0", + "concordance": "^3.0.0", + "convert-source-map": "^1.5.1", + "core-assert": "^0.2.0", + "currently-unhandled": "^0.4.1", + "debug": "^3.0.1", + "dot-prop": "^4.1.0", + "empower-core": "^0.6.1", + "equal-length": "^1.0.0", + "figures": "^2.0.0", + "find-cache-dir": "^1.0.0", + "fn-name": "^2.0.0", + "get-port": "^3.0.0", + "globby": "^6.0.0", + "has-flag": "^2.0.0", + "hullabaloo-config-manager": "^1.1.0", + "ignore-by-default": "^1.0.0", + "import-local": "^0.1.1", + "indent-string": "^3.0.0", + "is-ci": "^1.0.7", + "is-generator-fn": "^1.0.0", + "is-obj": "^1.0.0", + "is-observable": "^1.0.0", + "is-promise": "^2.1.0", + "last-line-stream": "^1.0.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.debounce": "^4.0.3", + "lodash.difference": "^4.3.0", + "lodash.flatten": "^4.2.0", + "loud-rejection": "^1.2.0", + "make-dir": "^1.0.0", + "matcher": "^1.0.0", + "md5-hex": "^2.0.0", + "meow": "^3.7.0", + "ms": "^2.0.0", + "multimatch": "^2.1.0", + "observable-to-promise": "^0.5.0", + "option-chain": "^1.0.0", + "package-hash": "^2.0.0", + "pkg-conf": "^2.0.0", + "plur": "^2.0.0", + "pretty-ms": "^3.0.0", + "require-precompiled": "^0.1.0", + "resolve-cwd": "^2.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.4.1", + "slash": "^1.0.0", + "source-map-support": "^0.5.0", + "stack-utils": "^1.0.1", + "strip-ansi": "^4.0.0", + "strip-bom-buf": "^1.0.0", + "supertap": "^1.0.0", + "supports-color": "^5.0.0", + "trim-off-newlines": "^1.0.1", + "unique-temp-dir": "^1.0.0", + "update-notifier": "^2.3.0" }, "dependencies": { "ansi-regex": { @@ -2666,7 +2666,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "globby": { @@ -2675,11 +2675,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -2700,7 +2700,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "strip-ansi": { @@ -2709,7 +2709,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2720,11 +2720,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "1.0.0", - "execa": "0.7.0", - "has-yarn": "1.0.0", - "read-pkg-up": "2.0.0", - "write-pkg": "3.2.0" + "arr-exclude": "^1.0.0", + "execa": "^0.7.0", + "has-yarn": "^1.0.0", + "read-pkg-up": "^2.0.0", + "write-pkg": "^3.1.0" } }, "aws-sign2": { @@ -2742,8 +2742,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "1.5.0", - "is-buffer": "1.1.6" + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" } }, "babel-code-frame": { @@ -2752,9 +2752,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -2769,11 +2769,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -2790,25 +2790,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" }, "dependencies": { "debug": { @@ -2828,14 +2828,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -2852,9 +2852,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-call-delegate": { @@ -2863,10 +2863,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-explode-assignable-expression": { @@ -2875,9 +2875,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -2886,11 +2886,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -2899,8 +2899,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -2909,8 +2909,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -2919,9 +2919,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -2930,11 +2930,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -2943,8 +2943,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-messages": { @@ -2953,7 +2953,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -2962,7 +2962,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-espower": { @@ -2971,13 +2971,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babylon": "6.18.0", - "call-matcher": "1.0.1", - "core-js": "2.5.7", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "babel-generator": "^6.1.0", + "babylon": "^6.1.0", + "call-matcher": "^1.0.0", + "core-js": "^2.0.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.1.1" } }, "babel-plugin-syntax-async-functions": { @@ -3010,9 +3010,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3021,7 +3021,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3030,9 +3030,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3041,10 +3041,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3053,12 +3053,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -3067,7 +3067,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3076,9 +3076,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3087,9 +3087,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3098,9 +3098,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -3109,8 +3109,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-register": { @@ -3119,13 +3119,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "source-map-support": { @@ -3134,7 +3134,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -3145,8 +3145,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -3155,11 +3155,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3168,15 +3168,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { "debug": { @@ -3196,10 +3196,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3218,13 +3218,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -3232,7 +3232,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3240,7 +3240,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3248,7 +3248,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3256,9 +3256,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -3269,7 +3269,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -3290,13 +3290,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3323,8 +3323,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3333,7 +3333,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3343,7 +3343,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -3352,16 +3352,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -3369,7 +3369,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -3408,7 +3408,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "3.2.0" + "long": "~3" }, "dependencies": { "long": { @@ -3423,15 +3423,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "cacheable-request": { @@ -3463,9 +3463,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" }, "dependencies": { "md5-hex": { @@ -3474,7 +3474,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "write-file-atomic": { @@ -3483,9 +3483,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } } } @@ -3496,10 +3496,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.5.7", - "deep-equal": "1.0.1", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.0.0" } }, "call-me-maybe": { @@ -3518,7 +3518,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -3538,8 +3538,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "capture-stack-trace": { @@ -3559,7 +3559,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "center-align": { @@ -3569,8 +3569,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -3579,9 +3579,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -3596,14 +3596,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -3612,7 +3613,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -3627,7 +3628,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -3649,10 +3650,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -3660,7 +3661,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -3689,7 +3690,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -3704,8 +3705,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3726,8 +3727,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3736,7 +3737,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3752,9 +3753,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "clone-response": { @@ -3763,7 +3764,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "co": { @@ -3777,7 +3778,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "1.0.0" + "pinkie-promise": "^1.0.0" } }, "code-excerpt": { @@ -3786,7 +3787,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "1.0.2" + "convert-to-spaces": "^1.0.1" } }, "code-point-at": { @@ -3801,7 +3802,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "2.87.0", + "request": "^2.81.0", "urlgrey": "0.4.4" } }, @@ -3810,8 +3811,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -3845,7 +3846,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -3877,7 +3878,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": "1.34.0" + "mime-db": ">= 1.34.0 < 2" }, "dependencies": { "mime-db": { @@ -3899,10 +3900,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "concordance": { @@ -3911,17 +3912,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "2.1.0", - "esutils": "2.0.2", - "fast-diff": "1.1.2", - "function-name-support": "0.2.0", - "js-string-escape": "1.0.1", - "lodash.clonedeep": "4.5.0", - "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "semver": "5.5.0", - "well-known-symbols": "1.0.0" + "date-time": "^2.1.0", + "esutils": "^2.0.2", + "fast-diff": "^1.1.1", + "function-name-support": "^0.2.0", + "js-string-escape": "^1.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.flattendeep": "^4.4.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "semver": "^5.3.0", + "well-known-symbols": "^1.0.0" }, "dependencies": { "date-time": { @@ -3930,7 +3931,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "1.0.0" + "time-zone": "^1.0.0" } } } @@ -3941,12 +3942,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "convert-source-map": { @@ -3978,8 +3979,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "1.0.1", - "is-error": "2.2.1" + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" } }, "core-js": { @@ -3998,7 +3999,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { @@ -4007,9 +4008,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "crypto-random-string": { @@ -4024,7 +4025,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -4033,7 +4034,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.45" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -4041,7 +4042,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-time": { @@ -4074,7 +4075,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -4100,8 +4101,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.12" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { @@ -4109,8 +4110,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4118,7 +4119,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4126,7 +4127,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4134,9 +4135,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -4147,13 +4148,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "globby": { @@ -4162,12 +4163,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -4188,7 +4189,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } } } @@ -4204,7 +4205,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -4223,8 +4224,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "doctrine": { @@ -4233,7 +4234,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -4242,8 +4243,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -4266,7 +4267,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -4275,8 +4276,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -4285,7 +4286,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer3": { @@ -4299,10 +4300,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "eastasianwidth": { @@ -4316,7 +4317,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -4324,7 +4325,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "empower": { @@ -4332,8 +4333,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "2.5.7", - "empower-core": "1.2.0" + "core-js": "^2.0.0", + "empower-core": "^1.2.0" } }, "empower-assert": { @@ -4342,7 +4343,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.2.0" } }, "empower-core": { @@ -4351,7 +4352,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "end-of-stream": { @@ -4359,7 +4360,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "ent": { @@ -4385,7 +4386,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es5-ext": { @@ -4394,9 +4395,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-error": { @@ -4411,9 +4412,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -4422,12 +4423,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -4436,11 +4437,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -4449,8 +4450,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -4459,10 +4460,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escallmatch": { @@ -4471,8 +4472,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "1.0.1", - "esprima": "2.7.3" + "call-matcher": "^1.0.0", + "esprima": "^2.0.0" }, "dependencies": { "esprima": { @@ -4495,11 +4496,11 @@ "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -4523,10 +4524,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { @@ -4535,44 +4536,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "concat-stream": "1.6.2", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.4", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.7.0", - "ignore": "3.3.10", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", "table": "4.0.2", - "text-table": "0.2.0" + "text-table": "~0.2.0" }, "dependencies": { "ansi-regex": { @@ -4593,7 +4594,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4604,7 +4605,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "5.0.1" + "get-stdin": "^5.0.1" }, "dependencies": { "get-stdin": { @@ -4621,10 +4622,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "3.3.10", - "minimatch": "3.0.4", - "resolve": "1.8.1", - "semver": "5.5.0" + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", + "semver": "^5.4.1" }, "dependencies": { "resolve": { @@ -4633,19 +4634,19 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } } } }, "eslint-plugin-prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz", - "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.1.tgz", + "integrity": "sha512-wNZ2z0oVCWnf+3BSI7roS+z4gGu2AwcPKUek+SlLZMZg+X0KbZLsB2knul7fd0K3iuIp402HIYzm4f2+OyfXxA==", "dev": true, "requires": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" } }, "eslint-scope": { @@ -4654,8 +4655,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -4670,16 +4671,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "1.0.0", - "escallmatch": "1.5.0", - "escodegen": "1.10.0", - "escope": "3.6.0", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0", - "source-map": "0.5.7", - "type-name": "2.0.2", - "xtend": "4.0.1" + "array-find": "^1.0.0", + "escallmatch": "^1.5.0", + "escodegen": "^1.7.0", + "escope": "^3.3.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.3.0", + "estraverse": "^4.1.0", + "source-map": "^0.5.0", + "type-name": "^2.0.0", + "xtend": "^4.0.0" } }, "espower-loader": { @@ -4688,11 +4689,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "1.5.1", - "espower-source": "2.3.0", - "minimatch": "3.0.4", - "source-map-support": "0.4.18", - "xtend": "4.0.1" + "convert-source-map": "^1.1.0", + "espower-source": "^2.0.0", + "minimatch": "^3.0.0", + "source-map-support": "^0.4.0", + "xtend": "^4.0.0" }, "dependencies": { "source-map-support": { @@ -4701,7 +4702,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -4712,10 +4713,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "1.2.4", - "path-is-absolute": "1.0.1", - "source-map": "0.5.7", - "xtend": "4.0.1" + "is-url": "^1.2.1", + "path-is-absolute": "^1.0.0", + "source-map": "^0.5.0", + "xtend": "^4.0.0" } }, "espower-source": { @@ -4724,17 +4725,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.1", - "empower-assert": "1.1.0", - "escodegen": "1.10.0", - "espower": "2.1.1", - "estraverse": "4.2.0", - "merge-estraverse-visitors": "1.0.0", - "multi-stage-sourcemap": "0.2.1", - "path-is-absolute": "1.0.1", - "xtend": "4.0.1" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.10", + "convert-source-map": "^1.1.1", + "empower-assert": "^1.0.0", + "escodegen": "^1.10.0", + "espower": "^2.1.1", + "estraverse": "^4.0.0", + "merge-estraverse-visitors": "^1.0.0", + "multi-stage-sourcemap": "^0.2.1", + "path-is-absolute": "^1.0.0", + "xtend": "^4.0.0" } }, "espree": { @@ -4743,8 +4744,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-jsx": "3.0.1" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" } }, "esprima": { @@ -4758,7 +4759,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "esquery": { @@ -4767,7 +4768,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -4776,7 +4777,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -4796,8 +4797,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "execa": { @@ -4806,13 +4807,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -4820,13 +4821,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -4842,7 +4843,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -4850,7 +4851,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4861,7 +4862,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { @@ -4870,11 +4871,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "is-number": { @@ -4883,7 +4884,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -4901,7 +4902,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4916,8 +4917,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -4925,7 +4926,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -4936,9 +4937,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -4946,14 +4947,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -4961,7 +4962,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -4969,7 +4970,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -4977,7 +4978,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4985,7 +4986,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4993,9 +4994,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -5021,12 +5022,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "@nodelib/fs.stat": "1.1.0", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.2", - "micromatch": "3.1.10" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.0.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" } }, "fast-json-stable-stringify": { @@ -5046,7 +5047,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -5055,8 +5056,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -5071,8 +5072,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" + "is-object": "~1.0.1", + "merge-descriptors": "~1.0.0" } }, "fill-range": { @@ -5080,10 +5081,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -5091,7 +5092,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -5102,9 +5103,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -5113,7 +5114,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -5122,10 +5123,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "fn-name": { @@ -5139,7 +5140,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" } }, "for-in": { @@ -5153,7 +5154,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -5171,9 +5172,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "formidable": { @@ -5187,7 +5188,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "from2": { @@ -5196,8 +5197,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, "fs-extra": { @@ -5206,9 +5207,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "fs.realpath": { @@ -5216,6 +5217,535 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, "function-name-support": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/function-name-support/-/function-name-support-0.2.0.tgz", @@ -5233,8 +5763,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "0.18.0", - "extend": "3.0.1", + "axios": "^0.18.0", + "extend": "^3.0.1", "retry-axios": "0.3.2" } }, @@ -5244,11 +5774,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "3.1.2", - "google-auto-auth": "0.10.1", - "pumpify": "1.5.1", - "request": "2.87.0", - "stream-events": "1.0.4" + "configstore": "^3.1.2", + "google-auto-auth": "^0.10.0", + "pumpify": "^1.4.0", + "request": "^2.85.0", + "stream-events": "^1.0.3" } }, "get-caller-file": { @@ -5285,7 +5815,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -5293,12 +5823,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -5307,8 +5837,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -5317,7 +5847,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -5332,7 +5862,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -5342,8 +5872,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -5351,7 +5881,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -5367,7 +5897,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -5381,13 +5911,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.2", - "glob": "7.1.2", - "ignore": "3.3.10", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "google-auth-library": { @@ -5395,13 +5925,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "0.18.0", - "gcp-metadata": "0.6.3", - "gtoken": "2.3.0", - "jws": "3.1.5", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.3", - "retry-axios": "0.3.2" + "axios": "^0.18.0", + "gcp-metadata": "^0.6.3", + "gtoken": "^2.3.0", + "jws": "^3.1.5", + "lodash.isstring": "^4.0.1", + "lru-cache": "^4.1.3", + "retry-axios": "^0.3.2" } }, "google-auto-auth": { @@ -5410,10 +5940,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "2.6.1", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.6.1", - "request": "2.87.0" + "async": "^2.3.0", + "gcp-metadata": "^0.6.1", + "google-auth-library": "^1.3.1", + "request": "^2.79.0" } }, "google-gax": { @@ -5421,17 +5951,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "3.6.0", - "extend": "3.0.1", - "globby": "8.0.1", - "google-auth-library": "1.6.1", - "google-proto-files": "0.16.1", - "grpc": "1.12.4", - "is-stream-ended": "0.1.4", - "lodash": "4.17.10", - "protobufjs": "6.8.6", - "retry-request": "4.0.0", - "through2": "2.0.3" + "duplexify": "^3.6.0", + "extend": "^3.0.1", + "globby": "^8.0.1", + "google-auth-library": "^1.6.1", + "google-proto-files": "^0.16.0", + "grpc": "^1.12.2", + "is-stream-ended": "^0.1.4", + "lodash": "^4.17.10", + "protobufjs": "^6.8.6", + "retry-request": "^4.0.0", + "through2": "^2.0.3" }, "dependencies": { "retry-request": { @@ -5439,7 +5969,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } } } @@ -5449,8 +5979,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "0.7.5", - "pify": "3.0.0" + "node-forge": "^0.7.4", + "pify": "^3.0.0" } }, "google-proto-files": { @@ -5458,9 +5988,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "8.0.1", - "power-assert": "1.6.0", - "protobufjs": "6.8.6" + "globby": "^8.0.0", + "power-assert": "^1.4.4", + "protobufjs": "^6.8.0" } }, "got": { @@ -5469,23 +5999,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "mimic-response": "1.0.0", - "p-cancelable": "0.3.0", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" }, "dependencies": { "prepend-http": { @@ -5500,7 +6030,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } } } @@ -5522,10 +6052,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.4.tgz", "integrity": "sha512-t0Hy4yoHHYLkK0b+ULTHw5ZuSFmWokCABY0C4bKQbE4jnm1hpjA23cQVD0xAqDcRHN5CkvFzlqb34ngV22dqoQ==", "requires": { - "lodash": "4.17.10", - "nan": "2.10.0", - "node-pre-gyp": "0.10.0", - "protobufjs": "5.0.3" + "lodash": "^4.17.5", + "nan": "^2.0.0", + "node-pre-gyp": "^0.10.0", + "protobufjs": "^5.0.3" }, "dependencies": { "abbrev": { @@ -5544,8 +6074,8 @@ "version": "1.1.5", "bundled": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -5556,7 +6086,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -5603,7 +6133,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -5614,26 +6144,26 @@ "version": "2.7.4", "bundled": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.3" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -5644,22 +6174,22 @@ "version": "0.4.23", "bundled": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5674,7 +6204,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -5685,7 +6215,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -5696,15 +6226,15 @@ "version": "2.3.3", "bundled": true, "requires": { - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -5728,33 +6258,33 @@ "version": "2.2.1", "bundled": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.23", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { "version": "0.10.0", "bundled": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.1", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.8", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.4" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { "version": "4.0.1", "bundled": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -5765,18 +6295,18 @@ "version": "1.1.10", "bundled": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { "version": "4.1.2", "bundled": true, "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -5791,7 +6321,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -5806,8 +6336,8 @@ "version": "0.1.5", "bundled": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -5823,40 +6353,40 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.2", - "yargs": "3.32.0" + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" } }, "rc": { "version": "1.2.8", "bundled": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -5883,27 +6413,27 @@ "version": "3.0.2", "bundled": true }, - "string_decoder": { - "version": "1.1.1", + "string-width": { + "version": "1.0.2", "bundled": true, "requires": { - "safe-buffer": "5.1.2" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "1.1.1", "bundled": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -5914,13 +6444,13 @@ "version": "4.4.4", "bundled": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.3.3", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.3", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -5931,7 +6461,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -5949,11 +6479,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.5", - "mime": "2.3.1", - "pify": "3.0.0" + "axios": "^0.18.0", + "google-p12-pem": "^1.0.0", + "jws": "^3.1.4", + "mime": "^2.2.0", + "pify": "^3.0.0" } }, "handlebars": { @@ -5962,10 +6492,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -5980,7 +6510,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -5995,8 +6525,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has-ansi": { @@ -6005,7 +6535,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -6032,7 +6562,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "1.4.2" + "has-symbol-support-x": "^1.4.1" } }, "has-value": { @@ -6040,9 +6570,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -6050,8 +6580,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -6059,7 +6589,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6076,7 +6606,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "he": { @@ -6091,8 +6621,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -6107,12 +6637,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.2", - "domutils": "1.7.0", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "http-cache-semantics": { @@ -6126,9 +6656,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "hullabaloo-config-manager": { @@ -6137,20 +6667,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "es6-error": "4.1.1", - "graceful-fs": "4.1.11", - "indent-string": "3.2.0", - "json5": "0.5.1", - "lodash.clonedeep": "4.5.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "package-hash": "2.0.0", - "pkg-dir": "2.0.0", - "resolve-from": "3.0.0", - "safe-buffer": "5.1.2" + "dot-prop": "^4.1.0", + "es6-error": "^4.0.2", + "graceful-fs": "^4.1.11", + "indent-string": "^3.1.0", + "json5": "^0.5.1", + "lodash.clonedeep": "^4.5.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "package-hash": "^2.0.0", + "pkg-dir": "^2.0.0", + "resolve-from": "^3.0.0", + "safe-buffer": "^5.0.1" } }, "iconv-lite": { @@ -6159,7 +6689,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -6185,8 +6715,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -6211,8 +6741,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6232,8 +6762,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "2.22.2", - "sanitize-html": "1.18.2" + "moment": "^2.14.1", + "sanitize-html": "^1.13.0" } }, "inquirer": { @@ -6242,20 +6772,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -6276,8 +6806,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -6286,7 +6816,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -6297,7 +6827,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "1.2.2" + "espower-loader": "^1.0.0" } }, "into-stream": { @@ -6306,8 +6836,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" } }, "invariant": { @@ -6316,7 +6846,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -6340,7 +6870,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6348,7 +6878,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6365,7 +6895,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -6379,7 +6909,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-ci": { @@ -6388,7 +6918,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -6396,7 +6926,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6404,7 +6934,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6414,9 +6944,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -6438,7 +6968,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-error": { @@ -6463,7 +6993,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -6471,7 +7001,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-generator-fn": { @@ -6485,7 +7015,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-installed-globally": { @@ -6494,8 +7024,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-npm": { @@ -6509,7 +7039,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6517,7 +7047,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6540,7 +7070,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "^1.1.0" } }, "is-odd": { @@ -6548,7 +7078,7 @@ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -6570,7 +7100,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -6579,7 +7109,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -6593,7 +7123,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -6703,8 +7233,8 @@ "@babel/template": "7.0.0-beta.49", "@babel/traverse": "7.0.0-beta.49", "@babel/types": "7.0.0-beta.49", - "istanbul-lib-coverage": "2.0.0", - "semver": "5.5.0" + "istanbul-lib-coverage": "^2.0.0", + "semver": "^5.5.0" } }, "isurl": { @@ -6713,8 +7243,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" } }, "jest-docblock": { @@ -6741,8 +7271,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "js2xmlparser": { @@ -6751,7 +7281,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsbn": { @@ -6767,17 +7297,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.19", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", "taffydb": "2.6.2", - "underscore": "1.8.3" + "underscore": "~1.8.3" }, "dependencies": { "babylon": { @@ -6839,7 +7369,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -6866,7 +7396,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "jws": { @@ -6874,8 +7404,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "1.1.6", - "safe-buffer": "5.1.2" + "jwa": "^1.1.5", + "safe-buffer": "^5.0.1" } }, "keyv": { @@ -6898,7 +7428,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "last-line-stream": { @@ -6907,7 +7437,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "latest-version": { @@ -6916,7 +7446,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -6931,7 +7461,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "levn": { @@ -6940,8 +7470,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -6950,10 +7480,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, "dependencies": { "pify": { @@ -6970,8 +7500,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -7084,7 +7614,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -7093,8 +7623,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowercase-keys": { @@ -7108,8 +7638,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -7118,7 +7648,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-cache": { @@ -7137,7 +7667,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "marked": { @@ -7152,7 +7682,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.4" } }, "math-random": { @@ -7167,7 +7697,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -7182,7 +7712,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -7191,16 +7721,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "find-up": { @@ -7209,8 +7739,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "load-json-file": { @@ -7219,11 +7749,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "minimist": { @@ -7238,7 +7768,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-type": { @@ -7247,9 +7777,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -7270,7 +7800,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "read-pkg": { @@ -7279,9 +7809,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -7290,8 +7820,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "strip-bom": { @@ -7300,7 +7830,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -7317,7 +7847,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "merge2": { @@ -7342,19 +7872,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "mime": { @@ -7372,7 +7902,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "mimic-fn": { @@ -7392,7 +7922,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -7406,8 +7936,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -7415,7 +7945,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -7477,7 +8007,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "^0.1.34" }, "dependencies": { "source-map": { @@ -7486,7 +8016,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -7497,10 +8027,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" } }, "mute-stream": { @@ -7519,18 +8049,18 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "natural-compare": { @@ -7551,11 +8081,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.7.0", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" + "@sinonjs/formatio": "^2.0.0", + "just-extend": "^1.1.27", + "lolex": "^2.3.2", + "path-to-regexp": "^1.7.0", + "text-encoding": "^0.6.4" } }, "node-forge": { @@ -7569,10 +8099,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -7581,7 +8111,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -7590,9 +8120,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, "dependencies": { "prepend-http": { @@ -7609,7 +8139,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -7623,33 +8153,33 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "2.2.0", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.5", - "istanbul-reports": "1.4.1", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^2.1.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.5", + "istanbul-reports": "^1.4.1", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", "yargs": "11.1.0", - "yargs-parser": "8.1.0" + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -7657,9 +8187,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -7677,7 +8207,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -7735,13 +8265,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -7749,7 +8279,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -7757,7 +8287,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -7765,7 +8295,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -7773,9 +8303,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -7790,7 +8320,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -7799,16 +8329,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -7816,7 +8346,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7831,15 +8361,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "caching-transform": { @@ -7847,9 +8377,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -7864,8 +8394,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "class-utils": { @@ -7873,10 +8403,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -7884,7 +8414,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -7895,8 +8425,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -7918,8 +8448,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "commondir": { @@ -7952,8 +8482,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -7984,7 +8514,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { @@ -7992,8 +8522,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -8001,7 +8531,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8009,7 +8539,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8017,9 +8547,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -8034,7 +8564,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "execa": { @@ -8042,13 +8572,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -8056,9 +8586,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -8068,13 +8598,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -8090,7 +8620,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -8098,7 +8628,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8108,8 +8638,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8117,7 +8647,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8127,14 +8657,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -8142,7 +8672,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -8150,7 +8680,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -8158,7 +8688,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8166,7 +8696,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8174,9 +8704,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -8191,10 +8721,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -8202,7 +8732,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8212,9 +8742,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -8222,7 +8752,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -8235,8 +8765,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fragment-cache": { @@ -8244,7 +8774,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -8272,12 +8802,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { @@ -8290,10 +8820,10 @@ "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -8301,7 +8831,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -8311,9 +8841,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -8321,8 +8851,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -8330,7 +8860,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8350,8 +8880,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -8369,7 +8899,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -8387,7 +8917,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { @@ -8395,7 +8925,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { @@ -8403,9 +8933,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -8430,7 +8960,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -8438,7 +8968,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -8453,7 +8983,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-stream": { @@ -8496,7 +9026,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-report": { @@ -8504,10 +9034,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -8520,7 +9050,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8530,11 +9060,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" } }, "istanbul-reports": { @@ -8542,7 +9072,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "kind-of": { @@ -8550,7 +9080,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -8564,7 +9094,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -8572,11 +9102,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -8584,8 +9114,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -8605,8 +9135,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { @@ -8619,7 +9149,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { @@ -8627,7 +9157,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -8640,7 +9170,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -8648,7 +9178,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -8663,19 +9193,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8695,7 +9225,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -8708,8 +9238,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8717,7 +9247,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8740,18 +9270,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "kind-of": { @@ -8766,10 +9296,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { @@ -8777,7 +9307,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -8795,9 +9325,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -8805,7 +9335,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -8815,7 +9345,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.pick": { @@ -8823,7 +9353,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "once": { @@ -8831,7 +9361,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -8839,8 +9369,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -8853,9 +9383,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -8868,7 +9398,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -8876,7 +9406,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -8889,7 +9419,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { @@ -8902,7 +9432,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -8925,9 +9455,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -8945,7 +9475,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -8953,7 +9483,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -8961,8 +9491,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -8982,9 +9512,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -8992,8 +9522,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -9001,8 +9531,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -9012,8 +9542,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "repeat-element": { @@ -9057,7 +9587,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -9065,7 +9595,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { @@ -9073,7 +9603,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { @@ -9091,10 +9621,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -9102,7 +9632,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9112,7 +9642,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -9135,14 +9665,14 @@ "bundled": true, "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -9158,7 +9688,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -9166,7 +9696,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9176,9 +9706,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -9186,7 +9716,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -9194,7 +9724,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -9202,7 +9732,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -9210,9 +9740,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -9227,7 +9757,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -9240,11 +9770,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { @@ -9257,12 +9787,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.1" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -9270,8 +9800,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -9284,8 +9814,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -9298,7 +9828,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { @@ -9306,8 +9836,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -9315,7 +9845,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9325,8 +9855,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -9334,7 +9864,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "strip-bom": { @@ -9342,7 +9872,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -9355,11 +9885,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-object-path": { @@ -9367,7 +9897,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -9375,10 +9905,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -9386,8 +9916,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "uglify-js": { @@ -9396,9 +9926,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -9407,9 +9937,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -9426,10 +9956,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -9437,7 +9967,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -9445,10 +9975,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -9458,8 +9988,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -9467,9 +9997,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -9499,7 +10029,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -9514,8 +10044,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { @@ -9523,7 +10053,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -9547,8 +10077,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { @@ -9561,7 +10091,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -9569,9 +10099,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -9579,7 +10109,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -9594,9 +10124,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -9614,18 +10144,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "camelcase": { @@ -9638,9 +10168,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "yargs-parser": { @@ -9648,7 +10178,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -9658,7 +10188,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -9686,9 +10216,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -9696,7 +10226,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "kind-of": { @@ -9704,7 +10234,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9719,7 +10249,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.omit": { @@ -9728,8 +10258,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -9737,7 +10267,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "observable-to-promise": { @@ -9746,8 +10276,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "0.2.0", - "symbol-observable": "1.2.0" + "is-observable": "^0.2.0", + "symbol-observable": "^1.0.4" }, "dependencies": { "is-observable": { @@ -9756,7 +10286,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "0.2.4" + "symbol-observable": "^0.2.2" }, "dependencies": { "symbol-observable": { @@ -9774,7 +10304,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -9783,7 +10313,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -9792,8 +10322,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "option-chain": { @@ -9808,12 +10338,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -9840,7 +10370,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -9873,7 +10403,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -9882,7 +10412,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-timeout": { @@ -9891,7 +10421,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { @@ -9906,10 +10436,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "lodash.flattendeep": "4.4.0", - "md5-hex": "2.0.0", - "release-zalgo": "1.0.0" + "graceful-fs": "^4.1.11", + "lodash.flattendeep": "^4.4.0", + "md5-hex": "^2.0.0", + "release-zalgo": "^1.0.0" } }, "package-json": { @@ -9918,10 +10448,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" }, "dependencies": { "got": { @@ -9930,17 +10460,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } } } @@ -9951,10 +10481,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "is-extglob": { @@ -9969,7 +10499,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -9980,7 +10510,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -10050,7 +10580,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "performance-now": { @@ -10075,7 +10605,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } }, "pkg-conf": { @@ -10084,8 +10614,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" }, "dependencies": { "load-json-file": { @@ -10094,10 +10624,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -10106,8 +10636,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -10118,7 +10648,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plur": { @@ -10127,7 +10657,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "1.4.0" + "irregular-plurals": "^1.0.0" } }, "pluralize": { @@ -10147,9 +10677,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "dependencies": { "source-map": { @@ -10165,11 +10695,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "1.1.2", - "empower": "1.3.0", - "power-assert-formatter": "1.4.1", - "universal-deep-strict-equal": "1.2.2", - "xtend": "4.0.1" + "define-properties": "^1.1.2", + "empower": "^1.3.0", + "power-assert-formatter": "^1.4.1", + "universal-deep-strict-equal": "^1.2.1", + "xtend": "^4.0.0" } }, "power-assert-context-formatter": { @@ -10177,8 +10707,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "2.5.7", - "power-assert-context-traversal": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.2.0" } }, "power-assert-context-reducer-ast": { @@ -10186,11 +10716,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.7", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" } }, "power-assert-context-traversal": { @@ -10198,8 +10728,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "2.5.7", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "estraverse": "^4.1.0" } }, "power-assert-formatter": { @@ -10207,13 +10737,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.7", - "power-assert-context-formatter": "1.2.0", - "power-assert-context-reducer-ast": "1.2.0", - "power-assert-renderer-assertion": "1.2.0", - "power-assert-renderer-comparison": "1.2.0", - "power-assert-renderer-diagram": "1.2.0", - "power-assert-renderer-file": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" } }, "power-assert-renderer-assertion": { @@ -10221,8 +10751,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0" + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0" } }, "power-assert-renderer-base": { @@ -10235,11 +10765,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "2.5.7", - "diff-match-patch": "1.0.1", - "power-assert-renderer-base": "1.1.1", - "stringifier": "1.3.0", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" } }, "power-assert-renderer-diagram": { @@ -10247,10 +10777,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "2.5.7", - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0", - "stringifier": "1.3.0" + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0", + "stringifier": "^1.3.0" } }, "power-assert-renderer-file": { @@ -10258,7 +10788,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "1.1.1" + "power-assert-renderer-base": "^1.1.1" } }, "power-assert-util-string-width": { @@ -10266,7 +10796,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "0.2.0" + "eastasianwidth": "^0.2.0" } }, "prelude-ls": { @@ -10288,9 +10818,9 @@ "dev": true }, "prettier": { - "version": "1.13.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.5.tgz", - "integrity": "sha512-4M90mfvLz6yRf2Dhzd+xPIE6b4xkI8nHMJhsSm9IlfG17g6wujrrm7+H1X8x52tC4cSNm6HmuhCUSNe6Hd5wfw==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.6.tgz", + "integrity": "sha512-p5eqCNiohWZN++7aJXUVj0JgLqHCPLf9GLIcLBHGNWs4Y9FJOPs6+KNO2WT0udJIQJTbeZFrJkjzjcb8fkAYYQ==", "dev": true }, "pretty-ms": { @@ -10299,7 +10829,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "1.0.1" + "parse-ms": "^1.0.0" }, "dependencies": { "parse-ms": { @@ -10332,19 +10862,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/base64": "1.1.2", - "@protobufjs/codegen": "2.0.4", - "@protobufjs/eventemitter": "1.1.0", - "@protobufjs/fetch": "1.1.0", - "@protobufjs/float": "1.0.2", - "@protobufjs/inquire": "1.1.0", - "@protobufjs/path": "1.1.2", - "@protobufjs/pool": "1.1.0", - "@protobufjs/utf8": "1.1.0", - "@types/long": "3.0.32", - "@types/node": "8.10.20", - "long": "4.0.0" + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^3.0.32", + "@types/node": "^8.9.4", + "long": "^4.0.0" }, "dependencies": { "@types/node": { @@ -10360,9 +10890,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" + "fill-keys": "^1.0.2", + "module-not-found-error": "^1.0.0", + "resolve": "~1.1.7" } }, "pseudomap": { @@ -10376,8 +10906,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -10386,9 +10916,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -10407,9 +10937,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "randomatic": { @@ -10418,9 +10948,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -10437,10 +10967,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -10457,9 +10987,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" }, "dependencies": { "path-type": { @@ -10468,7 +10998,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -10485,8 +11015,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "readable-stream": { @@ -10494,13 +11024,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -10509,10 +11039,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "redent": { @@ -10521,8 +11051,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" }, "dependencies": { "indent-string": { @@ -10531,7 +11061,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } } } @@ -10554,7 +11084,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -10562,8 +11092,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpp": { @@ -10578,9 +11108,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -10589,8 +11119,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.8", - "safe-buffer": "5.1.2" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -10599,7 +11129,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.8" + "rc": "^1.0.1" } }, "regjsgen": { @@ -10614,7 +11144,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "release-zalgo": { @@ -10623,7 +11153,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.1.1" + "es6-error": "^4.0.1" } }, "remove-trailing-separator": { @@ -10648,7 +11178,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -10656,26 +11186,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -10702,8 +11232,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" }, "dependencies": { "resolve-from": { @@ -10720,7 +11250,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -10743,7 +11273,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -10763,7 +11293,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -10772,8 +11302,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -10791,8 +11321,8 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "requires": { - "request": "2.87.0", - "through2": "2.0.3" + "request": "^2.81.0", + "through2": "^2.0.0" } }, "right-align": { @@ -10802,7 +11332,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -10811,7 +11341,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -10820,7 +11350,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -10835,7 +11365,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -10848,7 +11378,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -10868,16 +11398,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "2.4.1", - "htmlparser2": "3.9.2", - "lodash.clonedeep": "4.5.0", - "lodash.escaperegexp": "4.1.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mergewith": "4.6.1", - "postcss": "6.0.23", - "srcset": "1.0.0", - "xtend": "4.0.1" + "chalk": "^2.3.0", + "htmlparser2": "^3.9.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.0", + "postcss": "^6.0.14", + "srcset": "^1.0.0", + "xtend": "^4.0.0" } }, "semver": { @@ -10892,7 +11422,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "serialize-error": { @@ -10918,10 +11448,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -10929,7 +11459,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10940,7 +11470,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -10956,18 +11486,18 @@ "dev": true }, "sinon": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.0.0.tgz", - "integrity": "sha512-MatciKXyM5pXMSoqd593MqTsItJNCkSSl53HJYeKR5wfsDdp2yljjUQJLfVwAWLoBNfx1HThteqygGQ0ZEpXpQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.0.1.tgz", + "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.5.0", + "lodash.get": "^4.4.2", + "lolex": "^2.4.2", + "nise": "^1.3.3", + "supports-color": "^5.4.0", + "type-detect": "^4.0.8" } }, "slash": { @@ -10981,7 +11511,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -11009,14 +11539,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -11032,7 +11562,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11040,7 +11570,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11050,9 +11580,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -11060,7 +11590,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -11068,7 +11598,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11076,7 +11606,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11084,9 +11614,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -11096,7 +11626,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { @@ -11104,7 +11634,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11115,7 +11645,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-map": { @@ -11128,11 +11658,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -11141,8 +11671,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "source-map": { @@ -11164,8 +11694,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -11180,8 +11710,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -11195,7 +11725,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "0.1.4" + "is-stream-ended": "^0.1.4" } }, "split-string": { @@ -11203,7 +11733,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -11218,8 +11748,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "1.0.3", - "number-is-nan": "1.0.1" + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" } }, "sshpk": { @@ -11227,15 +11757,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -11249,8 +11779,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -11258,7 +11788,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -11268,7 +11798,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "3.0.0" + "stubs": "^3.0.0" } }, "stream-shift": { @@ -11288,14 +11818,6 @@ "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", "dev": true }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.2" - } - }, "string-format-obj": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", @@ -11307,9 +11829,17 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" } }, "stringifier": { @@ -11317,9 +11847,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.7", - "traverse": "0.6.6", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" } }, "strip-ansi": { @@ -11327,7 +11857,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -11342,7 +11872,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.1" } }, "strip-eof": { @@ -11357,7 +11887,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -11377,16 +11907,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.2", - "debug": "3.1.0", - "extend": "3.0.1", - "form-data": "2.3.2", - "formidable": "1.2.1", - "methods": "1.1.2", - "mime": "1.6.0", - "qs": "6.5.2", - "readable-stream": "2.3.6" + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" }, "dependencies": { "mime": { @@ -11403,11 +11933,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "1.0.1", - "indent-string": "3.2.0", - "js-yaml": "3.12.0", - "serialize-error": "2.1.0", - "strip-ansi": "4.0.0" + "arrify": "^1.0.1", + "indent-string": "^3.2.0", + "js-yaml": "^3.10.0", + "serialize-error": "^2.1.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -11422,7 +11952,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11433,8 +11963,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "1.1.2", - "superagent": "3.8.3" + "methods": "~1.1.2", + "superagent": "^3.0.0" } }, "supports-color": { @@ -11443,7 +11973,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -11466,12 +11996,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "chalk": "2.4.1", - "lodash": "4.17.10", + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -11492,8 +12022,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -11502,7 +12032,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11519,7 +12049,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "text-encoding": { @@ -11545,8 +12075,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-zone": { @@ -11567,7 +12097,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -11581,7 +12111,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11589,7 +12119,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11599,10 +12129,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -11610,8 +12140,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "tough-cookie": { @@ -11619,7 +12149,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "traverse": { @@ -11650,7 +12180,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -11665,7 +12195,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -11692,9 +12222,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "camelcase": { @@ -11711,8 +12241,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -11737,9 +12267,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -11786,10 +12316,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -11797,7 +12327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -11805,10 +12335,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -11819,7 +12349,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "unique-temp-dir": { @@ -11828,8 +12358,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", + "mkdirp": "^0.5.1", + "os-tmpdir": "^1.0.1", "uid2": "0.0.3" } }, @@ -11838,9 +12368,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "1.0.0", + "array-filter": "^1.0.0", "indexof": "0.0.1", - "object-keys": "1.0.12" + "object-keys": "^1.0.0" } }, "universalify": { @@ -11854,8 +12384,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -11863,9 +12393,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -11897,16 +12427,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.4.1", - "configstore": "3.1.2", - "import-lazy": "2.1.0", - "is-ci": "1.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "urix": { @@ -11920,7 +12450,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "url-to-options": { @@ -11940,7 +12470,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" } }, "util-deprecate": { @@ -11959,8 +12489,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -11968,9 +12498,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "well-known-symbols": { @@ -11985,7 +12515,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12000,7 +12530,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12021,8 +12551,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12031,7 +12561,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12052,8 +12582,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -12067,7 +12597,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -12076,9 +12606,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "write-json-file": { @@ -12087,12 +12617,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "5.0.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "pify": "3.0.0", - "sort-keys": "2.0.0", - "write-file-atomic": "2.3.0" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.0.0" }, "dependencies": { "detect-indent": { @@ -12109,8 +12639,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "2.0.0", - "write-json-file": "2.3.0" + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" } }, "xdg-basedir": { @@ -12145,13 +12675,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" } }, "yargs-parser": { @@ -12160,7 +12690,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 2a5f93821d2..a5e9ac37da1 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -6,25 +6,25 @@ "author": "Google Inc.", "repository": "googleapis/nodejs-vision", "engines": { - "node": ">=4.0.0" + "node": ">=6.0.0" }, "scripts": { "test": "repo-tools test run --cmd ava -- -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/storage": "^1.7.0", - "@google-cloud/vision": "0.20.0", - "async": "2.6.1", - "natural": "0.6.1", - "redis": "2.8.0", - "yargs": "11.0.0" + "@google-cloud/vision": "^0.20.0", + "async": "^2.6.1", + "natural": "^0.6.1", + "redis": "^2.8.0", + "yargs": "^11.0.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "2.3.0", - "ava": "0.25.0", - "uuid": "3.2.1" + "@google-cloud/nodejs-repo-tools": "^2.3.0", + "@google-cloud/storage": "^1.7.0", + "ava": "^0.25.0", + "uuid": "^3.2.1" }, "optionalDependencies": { - "canvas": "1.6.11" + "canvas": "^1.6.11" } } From 2d499321e1173429d2a47752b999cb2c8359ab43 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Mon, 25 Jun 2018 14:58:09 -0700 Subject: [PATCH 159/588] repo: setup greenkeeper.json to update dependencies in samples/package.json (#94) --- packages/google-cloud-vision/greenkeeper.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 packages/google-cloud-vision/greenkeeper.json diff --git a/packages/google-cloud-vision/greenkeeper.json b/packages/google-cloud-vision/greenkeeper.json new file mode 100644 index 00000000000..67960bc28aa --- /dev/null +++ b/packages/google-cloud-vision/greenkeeper.json @@ -0,0 +1,10 @@ +{ + "groups": { + "default": { + "packages": [ + "package.json", + "samples/package.json" + ] + } + } +} From 53d694e4ed2cd252f209b2e9d8fa703686f790e6 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 25 Jun 2018 22:28:40 -0700 Subject: [PATCH 160/588] chore(package): update eslint to version 5.0.0 (#90) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6098b38eb00..c4f22fbe9b3 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -77,7 +77,7 @@ "@google-cloud/storage": "^1.7.0", "async": "^2.0.1", "codecov": "^3.0.2", - "eslint": "^4.19.1", + "eslint": "^5.0.0", "eslint-config-prettier": "^2.9.0", "eslint-plugin-node": "^6.0.1", "eslint-plugin-prettier": "^2.6.0", From 937dda06bf99a2b2e649443fc0648daa7f3f41be Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 25 Jun 2018 22:51:06 -0700 Subject: [PATCH 161/588] refactor: drop repo-tool as an exec wrapper (#97) --- packages/google-cloud-vision/.circleci/config.yml | 1 - packages/google-cloud-vision/package.json | 12 ++++++------ packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 3574e525e52..2e2e10a58bf 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -76,7 +76,6 @@ jobs: command: |- mkdir -p /home/node/.npm-global npm install - chmod +x node_modules/@google-cloud/nodejs-repo-tools/bin/tools environment: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index c4f22fbe9b3..b4f0b9e461c 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -55,14 +55,14 @@ ], "scripts": { "cover": "nyc --reporter=lcov mocha --require intelli-espower-loader test/*.js && nyc report", - "docs": "repo-tools exec -- jsdoc -c .jsdoc.js", + "docs": "jsdoc -c .jsdoc.js", "generate-scaffolding": "repo-tools generate all && repo-tools generate lib_samples_readme -l samples/ --config ../.cloud-repo-tools.json", - "lint": "repo-tools lint --cmd eslint -- src/ samples/ system-test/ test/", - "prettier": "repo-tools exec -- prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js system-test/*.js system-test/*/*.js", + "lint": "eslint src/ samples/ system-test/ test/", + "prettier": "prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js system-test/*.js system-test/*/*.js", "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", - "system-test": "repo-tools test run --cmd mocha -- system-test/*.js --timeout 600000", - "test-no-cover": "repo-tools test run --cmd mocha -- test/*.js --no-timeouts", - "test": "repo-tools test run --cmd npm -- run cover" + "system-test": "mocha system-test/*.js --timeout 600000", + "test-no-cover": "mocha test/*.js --no-timeouts", + "test": "npm run cover" }, "dependencies": { "@google-cloud/common": "^0.20.1", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a5e9ac37da1..a93a628e199 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -9,7 +9,7 @@ "node": ">=6.0.0" }, "scripts": { - "test": "repo-tools test run --cmd ava -- -T 1m --verbose system-test/*.test.js" + "test": "ava -T 1m --verbose system-test/*.test.js" }, "dependencies": { "@google-cloud/vision": "^0.20.0", From ff86fdb506ac769afede3bb9de931ef55d9a62b0 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Tue, 26 Jun 2018 06:42:37 -0700 Subject: [PATCH 162/588] chore(package): update eslint to version 5.0.1 (#98) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index b4f0b9e461c..a0f9078343d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -77,7 +77,7 @@ "@google-cloud/storage": "^1.7.0", "async": "^2.0.1", "codecov": "^3.0.2", - "eslint": "^5.0.0", + "eslint": "^5.0.1", "eslint-config-prettier": "^2.9.0", "eslint-plugin-node": "^6.0.1", "eslint-plugin-prettier": "^2.6.0", From 415ac2fdd34193a28dfef5acb748f97f02cdd432 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 26 Jun 2018 10:56:36 -0700 Subject: [PATCH 163/588] Re-generate library using /synth.py (#100) --- .../google-cloud-vision/package-lock.json | 5513 ++++++++--------- 1 file changed, 2540 insertions(+), 2973 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 1bd75944a67..6a3a0e348db 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.8.0", - "babel-plugin-syntax-trailing-function-commas": "^6.20.0", - "babel-plugin-transform-async-to-generator": "^6.16.0", - "babel-plugin-transform-es2015-destructuring": "^6.19.0", - "babel-plugin-transform-es2015-function-name": "^6.9.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", - "babel-plugin-transform-es2015-parameters": "^6.21.0", - "babel-plugin-transform-es2015-spread": "^6.8.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", - "babel-plugin-transform-exponentiation-operator": "^6.8.0", - "package-hash": "^1.2.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "package-hash": "1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "^1.3.0" + "md5-hex": "1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "^2.0.0", - "babel-plugin-espower": "^2.3.2" + "@ava/babel-plugin-throws-helper": "2.0.0", + "babel-plugin-espower": "2.4.0" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.49", - "jsesc": "^2.5.1", - "lodash": "^4.17.5", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "jsesc": "2.5.1", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.49", "@babel/parser": "7.0.0-beta.49", "@babel/types": "7.0.0-beta.49", - "lodash": "^4.17.5" + "lodash": "4.17.10" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.49", "@babel/parser": "7.0.0-beta.49", "@babel/types": "7.0.0-beta.49", - "debug": "^3.1.0", - "globals": "^11.1.0", - "invariant": "^2.2.0", - "lodash": "^4.17.5" + "debug": "3.1.0", + "globals": "11.7.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "globals": { @@ -191,9 +191,9 @@ "integrity": "sha1-t+Oxw/TUz+Eb34yJ8e/V4WF7h6Y=", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.5", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,7 +210,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "^1.0.1" + "arrify": "1.0.1" } }, "@google-cloud/common": { @@ -218,21 +218,21 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.1.tgz", "integrity": "sha512-LJB7CoNXEXY0mDWtF8E2cl3Y0kuMQ3wjH9Xr+Y7vH5gHgN82dDh1BMUOizRf9oXQFDWUgGERD5SdfBcjUhHmwA==", "requires": { - "@types/duplexify": "^3.5.0", - "@types/request": "^2.47.0", - "arrify": "^1.0.1", - "axios": "^0.18.0", - "duplexify": "^3.6.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auth-library": "^1.6.0", - "is": "^3.2.1", - "pify": "^3.0.0", - "request": "^2.87.0", - "retry-request": "^3.3.1", - "split-array-stream": "^2.0.0", - "stream-events": "^1.0.4", - "through2": "^2.0.3" + "@types/duplexify": "3.5.0", + "@types/request": "2.47.1", + "arrify": "1.0.1", + "axios": "0.18.0", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auth-library": "1.6.1", + "is": "3.2.1", + "pify": "3.0.0", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "2.0.0", + "stream-events": "1.0.4", + "through2": "2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "^5.5.0", + "semver": "5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -269,9 +269,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "is-fullwidth-code-point": { @@ -292,33 +292,33 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.3.0", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.1", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.9.1", - "istanbul-lib-report": "^1.1.2", - "istanbul-lib-source-maps": "^1.2.2", - "istanbul-reports": "^1.1.3", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.0.2", - "micromatch": "^2.3.11", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.5.4", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.1.1", - "yargs": "^10.0.3", - "yargs-parser": "^8.0.0" + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.4", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.1.1", + "yargs": "10.0.3", + "yargs-parser": "8.0.0" }, "dependencies": { "align-text": { @@ -326,9 +326,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -351,7 +351,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -364,7 +364,7 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -392,9 +392,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-generator": { @@ -402,14 +402,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.6", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-messages": { @@ -417,7 +417,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-runtime": { @@ -425,8 +425,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -434,11 +434,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" } }, "babel-traverse": { @@ -446,15 +446,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" } }, "babel-types": { @@ -462,10 +462,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -483,7 +483,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -492,9 +492,9 @@ "bundled": true, "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "builtin-modules": { @@ -507,9 +507,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -524,8 +524,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -533,11 +533,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "cliui": { @@ -546,8 +546,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -589,8 +589,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "which": "1.3.0" } }, "debug": { @@ -616,7 +616,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "detect-indent": { @@ -624,7 +624,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "error-ex": { @@ -632,7 +632,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "escape-string-regexp": { @@ -650,13 +650,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -664,9 +664,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" } } } @@ -676,7 +676,7 @@ "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -684,7 +684,7 @@ "bundled": true, "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.3" } }, "extglob": { @@ -692,7 +692,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "filename-regex": { @@ -705,11 +705,11 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "find-cache-dir": { @@ -717,9 +717,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -727,7 +727,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -740,7 +740,7 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreground-child": { @@ -748,8 +748,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fs.realpath": { @@ -772,12 +772,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -785,8 +785,8 @@ "bundled": true, "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -794,7 +794,7 @@ "bundled": true, "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "globals": { @@ -812,10 +812,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -823,7 +823,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -833,7 +833,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -856,8 +856,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -870,7 +870,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -893,7 +893,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-dotfile": { @@ -906,7 +906,7 @@ "bundled": true, "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -924,7 +924,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -932,7 +932,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -940,7 +940,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { @@ -948,7 +948,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-posix-bracket": { @@ -999,7 +999,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -1007,13 +1007,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.1.1", - "semver": "^5.3.0" + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" } }, "istanbul-lib-report": { @@ -1021,10 +1021,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "supports-color": { @@ -1032,7 +1032,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -1042,11 +1042,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -1064,7 +1064,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "js-tokens": { @@ -1082,7 +1082,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -1096,7 +1096,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -1104,11 +1104,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -1116,8 +1116,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -1142,7 +1142,7 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "lru-cache": { @@ -1150,8 +1150,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "md5-hex": { @@ -1159,7 +1159,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -1172,7 +1172,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.1.0" } }, "merge-source-map": { @@ -1180,7 +1180,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "micromatch": { @@ -1188,19 +1188,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mimic-fn": { @@ -1213,7 +1213,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "minimist": { @@ -1239,10 +1239,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" } }, "normalize-path": { @@ -1250,7 +1250,7 @@ "bundled": true, "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -1258,7 +1258,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -1276,8 +1276,8 @@ "bundled": true, "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "once": { @@ -1285,7 +1285,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -1293,8 +1293,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -1307,9 +1307,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -1327,7 +1327,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.1.0" } }, "parse-glob": { @@ -1335,10 +1335,10 @@ "bundled": true, "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -1346,7 +1346,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "path-exists": { @@ -1354,7 +1354,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -1377,9 +1377,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -1397,7 +1397,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -1405,7 +1405,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -1413,8 +1413,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1434,8 +1434,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -1443,7 +1443,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -1451,7 +1451,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1461,7 +1461,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1471,9 +1471,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -1481,8 +1481,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -1490,8 +1490,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1506,7 +1506,7 @@ "bundled": true, "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "remove-trailing-separator": { @@ -1529,7 +1529,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "require-directory": { @@ -1553,7 +1553,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -1561,7 +1561,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "semver": { @@ -1579,7 +1579,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -1607,12 +1607,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" } }, "spdx-correct": { @@ -1620,7 +1620,7 @@ "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "^1.0.2" + "spdx-license-ids": "1.2.2" } }, "spdx-expression-parse": { @@ -1638,8 +1638,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -1657,7 +1657,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -1667,7 +1667,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -1675,7 +1675,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -1693,11 +1693,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-fast-properties": { @@ -1716,9 +1716,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -1727,9 +1727,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -1746,8 +1746,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" } }, "which": { @@ -1755,7 +1755,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -1779,8 +1779,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "string-width": { @@ -1788,9 +1788,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -1805,9 +1805,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -1825,18 +1825,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^8.0.0" + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" }, "dependencies": { "cliui": { @@ -1844,9 +1844,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -1854,9 +1854,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -1868,7 +1868,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -1886,9 +1886,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "sinon": { @@ -1897,13 +1897,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.1.0", - "lodash.get": "^4.4.2", - "lolex": "^2.2.0", - "nise": "^1.2.0", - "supports-color": "^5.1.0", - "type-detect": "^4.0.5" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "string-width": { @@ -1912,8 +1912,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -1922,7 +1922,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs": { @@ -1931,18 +1931,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" } } } @@ -1953,27 +1953,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "^0.17.0", - "arrify": "^1.0.0", - "async": "^2.0.1", - "compressible": "^2.0.12", - "concat-stream": "^1.5.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "extend": "^3.0.0", - "gcs-resumable-upload": "^0.10.2", - "hash-stream-validation": "^0.2.1", - "is": "^3.0.1", - "mime": "^2.2.0", - "mime-types": "^2.0.8", - "once": "^1.3.1", - "pumpify": "^1.5.1", - "request": "^2.85.0", - "safe-buffer": "^5.1.1", - "snakeize": "^0.1.0", - "stream-events": "^1.0.1", - "through2": "^2.0.0", - "xdg-basedir": "^3.0.0" + "@google-cloud/common": "0.17.0", + "arrify": "1.0.1", + "async": "2.6.1", + "compressible": "2.0.14", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "extend": "3.0.1", + "gcs-resumable-upload": "0.10.2", + "hash-stream-validation": "0.2.1", + "is": "3.2.1", + "mime": "2.3.1", + "mime-types": "2.1.18", + "once": "1.4.0", + "pumpify": "1.5.1", + "request": "2.87.0", + "safe-buffer": "5.1.2", + "snakeize": "0.1.0", + "stream-events": "1.0.4", + "through2": "2.0.3", + "xdg-basedir": "3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -1982,24 +1982,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "^1.0.3", - "arrify": "^1.0.1", - "concat-stream": "^1.6.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auto-auth": "^0.10.0", - "is": "^3.2.0", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auto-auth": "0.10.1", + "is": "3.2.1", "log-driver": "1.2.7", - "methmeth": "^1.1.0", - "modelo": "^4.2.0", - "request": "^2.79.0", - "retry-request": "^3.0.0", - "split-array-stream": "^1.0.0", - "stream-events": "^1.0.1", - "string-format-obj": "^1.1.0", - "through2": "^2.0.3" + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "1.0.3", + "stream-events": "1.0.4", + "string-format-obj": "1.1.1", + "through2": "2.0.3" } }, "split-array-stream": { @@ -2008,8 +2008,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "^2.4.0", - "is-stream-ended": "^0.1.0" + "async": "2.6.1", + "is-stream-ended": "0.1.4" } } } @@ -2020,10 +2020,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "^0.4.0", - "date-time": "^0.1.1", - "pretty-ms": "^0.2.1", - "text-table": "^0.2.0" + "chalk": "0.4.0", + "date-time": "0.1.1", + "pretty-ms": "0.2.2", + "text-table": "0.2.0" }, "dependencies": { "ansi-styles": { @@ -2038,9 +2038,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" } }, "pretty-ms": { @@ -2049,7 +2049,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "^0.1.0" + "parse-ms": "0.1.2" } }, "strip-ansi": { @@ -2065,8 +2065,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" } }, "@nodelib/fs.stat": { @@ -2099,8 +2099,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/inquire": "1.1.0" } }, "@protobufjs/float": { @@ -2153,7 +2153,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "*" + "@types/node": "10.3.5" } }, "@types/form-data": { @@ -2161,7 +2161,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "*" + "@types/node": "10.3.5" } }, "@types/long": { @@ -2179,10 +2179,10 @@ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "*", - "@types/form-data": "*", - "@types/node": "*", - "@types/tough-cookie": "*" + "@types/caseless": "0.12.1", + "@types/form-data": "2.2.1", + "@types/node": "10.3.5", + "@types/tough-cookie": "2.3.3" } }, "@types/tough-cookie": { @@ -2200,49 +2200,26 @@ "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=" }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "requires": { - "acorn": "^3.0.4" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } - } - }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, - "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true - }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" }, "dependencies": { "kind-of": { @@ -2251,7 +2228,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2268,7 +2245,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -2289,8 +2266,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -2299,7 +2276,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2321,7 +2298,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "anymatch": { @@ -2330,8 +2307,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -2340,7 +2317,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "array-unique": { @@ -2355,9 +2332,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "expand-brackets": { @@ -2366,7 +2343,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "extglob": { @@ -2375,7 +2352,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-extglob": { @@ -2390,7 +2367,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "kind-of": { @@ -2399,7 +2376,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "micromatch": { @@ -2408,19 +2385,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } } } @@ -2431,7 +2408,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "argv": { @@ -2489,7 +2466,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -2512,8 +2489,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "~0.7.1", - "optjs": "~3.2.2" + "colour": "0.7.1", + "optjs": "3.2.2" } }, "asn1": { @@ -2537,7 +2514,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "async-each": { @@ -2568,89 +2545,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "^1.1.0", - "@ava/babel-preset-transform-test-files": "^3.0.0", - "@ava/write-file-atomic": "^2.2.0", - "@concordance/react": "^1.0.0", - "@ladjs/time-require": "^0.1.4", - "ansi-escapes": "^3.0.0", - "ansi-styles": "^3.1.0", - "arr-flatten": "^1.0.1", - "array-union": "^1.0.1", - "array-uniq": "^1.0.2", - "arrify": "^1.0.0", - "auto-bind": "^1.1.0", - "ava-init": "^0.2.0", - "babel-core": "^6.17.0", - "babel-generator": "^6.26.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "bluebird": "^3.0.0", - "caching-transform": "^1.0.0", - "chalk": "^2.0.1", - "chokidar": "^1.4.2", - "clean-stack": "^1.1.1", - "clean-yaml-object": "^0.1.0", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.0.0", - "cli-truncate": "^1.0.0", - "co-with-promise": "^4.6.0", - "code-excerpt": "^2.1.1", - "common-path-prefix": "^1.0.0", - "concordance": "^3.0.0", - "convert-source-map": "^1.5.1", - "core-assert": "^0.2.0", - "currently-unhandled": "^0.4.1", - "debug": "^3.0.1", - "dot-prop": "^4.1.0", - "empower-core": "^0.6.1", - "equal-length": "^1.0.0", - "figures": "^2.0.0", - "find-cache-dir": "^1.0.0", - "fn-name": "^2.0.0", - "get-port": "^3.0.0", - "globby": "^6.0.0", - "has-flag": "^2.0.0", - "hullabaloo-config-manager": "^1.1.0", - "ignore-by-default": "^1.0.0", - "import-local": "^0.1.1", - "indent-string": "^3.0.0", - "is-ci": "^1.0.7", - "is-generator-fn": "^1.0.0", - "is-obj": "^1.0.0", - "is-observable": "^1.0.0", - "is-promise": "^2.1.0", - "last-line-stream": "^1.0.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.debounce": "^4.0.3", - "lodash.difference": "^4.3.0", - "lodash.flatten": "^4.2.0", - "loud-rejection": "^1.2.0", - "make-dir": "^1.0.0", - "matcher": "^1.0.0", - "md5-hex": "^2.0.0", - "meow": "^3.7.0", - "ms": "^2.0.0", - "multimatch": "^2.1.0", - "observable-to-promise": "^0.5.0", - "option-chain": "^1.0.0", - "package-hash": "^2.0.0", - "pkg-conf": "^2.0.0", - "plur": "^2.0.0", - "pretty-ms": "^3.0.0", - "require-precompiled": "^0.1.0", - "resolve-cwd": "^2.0.0", - "safe-buffer": "^5.1.1", - "semver": "^5.4.1", - "slash": "^1.0.0", - "source-map-support": "^0.5.0", - "stack-utils": "^1.0.1", - "strip-ansi": "^4.0.0", - "strip-bom-buf": "^1.0.0", - "supertap": "^1.0.0", - "supports-color": "^5.0.0", - "trim-off-newlines": "^1.0.1", - "unique-temp-dir": "^1.0.0", - "update-notifier": "^2.3.0" + "@ava/babel-preset-stage-4": "1.1.0", + "@ava/babel-preset-transform-test-files": "3.0.0", + "@ava/write-file-atomic": "2.2.0", + "@concordance/react": "1.0.0", + "@ladjs/time-require": "0.1.4", + "ansi-escapes": "3.1.0", + "ansi-styles": "3.2.1", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.2.1", + "ava-init": "0.2.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.4.1", + "chokidar": "1.7.0", + "clean-stack": "1.3.0", + "clean-yaml-object": "0.1.0", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "cli-truncate": "1.1.0", + "co-with-promise": "4.6.0", + "code-excerpt": "2.1.1", + "common-path-prefix": "1.0.0", + "concordance": "3.0.0", + "convert-source-map": "1.5.1", + "core-assert": "0.2.1", + "currently-unhandled": "0.4.1", + "debug": "3.1.0", + "dot-prop": "4.2.0", + "empower-core": "0.6.2", + "equal-length": "1.0.1", + "figures": "2.0.0", + "find-cache-dir": "1.0.0", + "fn-name": "2.0.1", + "get-port": "3.2.0", + "globby": "6.1.0", + "has-flag": "2.0.0", + "hullabaloo-config-manager": "1.1.1", + "ignore-by-default": "1.0.1", + "import-local": "0.1.1", + "indent-string": "3.2.0", + "is-ci": "1.1.0", + "is-generator-fn": "1.0.0", + "is-obj": "1.0.1", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "last-line-stream": "1.0.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.debounce": "4.0.8", + "lodash.difference": "4.5.0", + "lodash.flatten": "4.4.0", + "loud-rejection": "1.6.0", + "make-dir": "1.3.0", + "matcher": "1.1.1", + "md5-hex": "2.0.0", + "meow": "3.7.0", + "ms": "2.0.0", + "multimatch": "2.1.0", + "observable-to-promise": "0.5.0", + "option-chain": "1.0.0", + "package-hash": "2.0.0", + "pkg-conf": "2.1.0", + "plur": "2.1.2", + "pretty-ms": "3.2.0", + "require-precompiled": "0.1.0", + "resolve-cwd": "2.0.0", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slash": "1.0.0", + "source-map-support": "0.5.6", + "stack-utils": "1.0.1", + "strip-ansi": "4.0.0", + "strip-bom-buf": "1.0.0", + "supertap": "1.0.0", + "supports-color": "5.4.0", + "trim-off-newlines": "1.0.1", + "unique-temp-dir": "1.0.0", + "update-notifier": "2.5.0" }, "dependencies": { "ansi-regex": { @@ -2666,7 +2643,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "globby": { @@ -2675,11 +2652,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -2700,7 +2677,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "strip-ansi": { @@ -2709,7 +2686,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2720,11 +2697,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "^1.0.0", - "execa": "^0.7.0", - "has-yarn": "^1.0.0", - "read-pkg-up": "^2.0.0", - "write-pkg": "^3.1.0" + "arr-exclude": "1.0.0", + "execa": "0.7.0", + "has-yarn": "1.0.0", + "read-pkg-up": "2.0.0", + "write-pkg": "3.2.0" } }, "aws-sign2": { @@ -2742,8 +2719,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.0", + "is-buffer": "1.1.6" } }, "babel-code-frame": { @@ -2752,9 +2729,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -2769,11 +2746,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -2790,25 +2767,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -2828,14 +2805,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -2852,9 +2829,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-call-delegate": { @@ -2863,10 +2840,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-explode-assignable-expression": { @@ -2875,9 +2852,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -2886,11 +2863,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -2899,8 +2876,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -2909,8 +2886,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -2919,9 +2896,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -2930,11 +2907,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -2943,8 +2920,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-messages": { @@ -2953,7 +2930,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -2962,7 +2939,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-espower": { @@ -2971,13 +2948,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "^6.1.0", - "babylon": "^6.1.0", - "call-matcher": "^1.0.0", - "core-js": "^2.0.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.1.1" + "babel-generator": "6.26.1", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.7", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "babel-plugin-syntax-async-functions": { @@ -3010,9 +2987,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3021,7 +2998,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3030,9 +3007,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3041,10 +3018,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3053,12 +3030,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -3067,7 +3044,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3076,9 +3053,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3087,9 +3064,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3098,9 +3075,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-strict-mode": { @@ -3109,8 +3086,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-register": { @@ -3119,13 +3096,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "source-map-support": { @@ -3134,7 +3111,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -3145,8 +3122,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -3155,11 +3132,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -3168,15 +3145,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "debug": { @@ -3196,10 +3173,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3218,13 +3195,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3232,7 +3209,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3240,7 +3217,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3248,7 +3225,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3256,9 +3233,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3269,7 +3246,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary-extensions": { @@ -3290,13 +3267,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -3323,8 +3300,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3333,7 +3310,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3343,7 +3320,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -3352,16 +3329,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -3369,7 +3346,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -3408,7 +3385,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "~3" + "long": "3.2.0" }, "dependencies": { "long": { @@ -3423,15 +3400,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "cacheable-request": { @@ -3463,9 +3440,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" }, "dependencies": { "md5-hex": { @@ -3474,7 +3451,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "write-file-atomic": { @@ -3483,9 +3460,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } } } @@ -3496,10 +3473,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "^2.0.0", - "deep-equal": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.0.0" + "core-js": "2.5.7", + "deep-equal": "1.0.1", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "call-me-maybe": { @@ -3518,7 +3495,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -3538,8 +3515,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "capture-stack-trace": { @@ -3559,7 +3536,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "~0.3.0" + "underscore-contrib": "0.3.0" } }, "center-align": { @@ -3569,8 +3546,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -3579,9 +3556,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "chardet": { @@ -3596,15 +3573,14 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" }, "dependencies": { "glob-parent": { @@ -3613,7 +3589,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -3628,7 +3604,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -3650,10 +3626,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -3661,7 +3637,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -3690,7 +3666,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -3705,8 +3681,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" + "slice-ansi": "1.0.0", + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -3727,8 +3703,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3737,7 +3713,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3753,9 +3729,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone-response": { @@ -3764,7 +3740,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "co": { @@ -3778,7 +3754,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "^1.0.0" + "pinkie-promise": "1.0.0" } }, "code-excerpt": { @@ -3787,7 +3763,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "^1.0.1" + "convert-to-spaces": "1.0.2" } }, "code-point-at": { @@ -3802,7 +3778,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "^2.81.0", + "request": "2.87.0", "urlgrey": "0.4.4" } }, @@ -3811,8 +3787,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -3846,7 +3822,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -3878,7 +3854,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.34.0" }, "dependencies": { "mime-db": { @@ -3900,10 +3876,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "concordance": { @@ -3912,17 +3888,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "^2.1.0", - "esutils": "^2.0.2", - "fast-diff": "^1.1.1", - "function-name-support": "^0.2.0", - "js-string-escape": "^1.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.flattendeep": "^4.4.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "semver": "^5.3.0", - "well-known-symbols": "^1.0.0" + "date-time": "2.1.0", + "esutils": "2.0.2", + "fast-diff": "1.1.2", + "function-name-support": "0.2.0", + "js-string-escape": "1.0.1", + "lodash.clonedeep": "4.5.0", + "lodash.flattendeep": "4.4.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "semver": "5.5.0", + "well-known-symbols": "1.0.0" }, "dependencies": { "date-time": { @@ -3931,7 +3907,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "^1.0.0" + "time-zone": "1.0.0" } } } @@ -3942,12 +3918,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "convert-source-map": { @@ -3979,8 +3955,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "^1.0.0", - "is-error": "^2.2.0" + "buf-compare": "1.0.1", + "is-error": "2.2.1" } }, "core-js": { @@ -3999,7 +3975,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "cross-spawn": { @@ -4008,9 +3984,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "crypto-random-string": { @@ -4025,7 +4001,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -4034,7 +4010,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -4042,7 +4018,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-time": { @@ -4075,7 +4051,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "deep-equal": { @@ -4101,8 +4077,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.12" } }, "define-property": { @@ -4110,8 +4086,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4119,7 +4095,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4127,7 +4103,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4135,9 +4111,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -4148,13 +4124,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" }, "dependencies": { "globby": { @@ -4163,12 +4139,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -4189,7 +4165,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } } } @@ -4205,7 +4181,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "diff": { @@ -4224,8 +4200,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" + "arrify": "1.0.1", + "path-type": "3.0.0" } }, "doctrine": { @@ -4234,7 +4210,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-serializer": { @@ -4243,8 +4219,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -4267,7 +4243,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -4276,8 +4252,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -4286,7 +4262,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "duplexer3": { @@ -4300,10 +4276,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" } }, "eastasianwidth": { @@ -4317,7 +4293,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "ecdsa-sig-formatter": { @@ -4325,7 +4301,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "empower": { @@ -4333,8 +4309,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "^2.0.0", - "empower-core": "^1.2.0" + "core-js": "2.5.7", + "empower-core": "1.2.0" } }, "empower-assert": { @@ -4343,7 +4319,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "^4.2.0" + "estraverse": "4.2.0" } }, "empower-core": { @@ -4352,7 +4328,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "end-of-stream": { @@ -4360,7 +4336,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "ent": { @@ -4386,7 +4362,31 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" + } + }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { @@ -4395,9 +4395,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-error": { @@ -4412,9 +4412,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -4423,12 +4423,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-set": { @@ -4437,11 +4437,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -4450,8 +4450,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "es6-weak-map": { @@ -4460,10 +4460,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escallmatch": { @@ -4472,8 +4472,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "^1.0.0", - "esprima": "^2.0.0" + "call-matcher": "1.0.1", + "esprima": "2.7.3" }, "dependencies": { "esprima": { @@ -4496,11 +4496,11 @@ "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -4524,77 +4524,200 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", - "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", - "dev": true, - "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.0.1", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", - "table": "4.0.2", - "text-table": "~0.2.0" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.0.1.tgz", + "integrity": "sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==", + "dev": true, + "requires": { + "ajv": "6.5.1", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "4.0.0", + "eslint-visitor-keys": "1.0.0", + "espree": "4.0.0", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.7.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "5.2.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "string.prototype.matchall": "2.0.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.3", + "text-table": "0.2.0" }, "dependencies": { + "acorn-jsx": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", + "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", + "dev": true, + "requires": { + "acorn": "5.7.1" + } + }, + "ajv": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz", + "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "dev": true, + "requires": { + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "espree": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", + "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", + "dev": true, + "requires": { + "acorn": "5.7.1", + "acorn-jsx": "4.1.1" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, "globals": { "version": "11.7.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", "dev": true }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rxjs": "5.5.11", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" + } + }, + "table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "dev": true, + "requires": { + "ajv": "6.5.1", + "ajv-keywords": "3.2.0", + "chalk": "2.4.1", + "lodash": "4.17.10", + "slice-ansi": "1.0.0", + "string-width": "2.1.1" } } } @@ -4605,7 +4728,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "^5.0.1" + "get-stdin": "5.0.1" }, "dependencies": { "get-stdin": { @@ -4622,10 +4745,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "^3.3.6", - "minimatch": "^3.0.4", - "resolve": "^1.3.3", - "semver": "^5.4.1" + "ignore": "3.3.10", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.5.0" }, "dependencies": { "resolve": { @@ -4634,7 +4757,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } } } @@ -4645,18 +4768,8 @@ "integrity": "sha512-wNZ2z0oVCWnf+3BSI7roS+z4gGu2AwcPKUek+SlLZMZg+X0KbZLsB2knul7fd0K3iuIp402HIYzm4f2+OyfXxA==", "dev": true, "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" - } - }, - "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "fast-diff": "1.1.2", + "jest-docblock": "21.2.0" } }, "eslint-visitor-keys": { @@ -4671,16 +4784,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "^1.0.0", - "escallmatch": "^1.5.0", - "escodegen": "^1.7.0", - "escope": "^3.3.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.3.0", - "estraverse": "^4.1.0", - "source-map": "^0.5.0", - "type-name": "^2.0.0", - "xtend": "^4.0.0" + "array-find": "1.0.0", + "escallmatch": "1.5.0", + "escodegen": "1.10.0", + "escope": "3.6.0", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0", + "source-map": "0.5.7", + "type-name": "2.0.2", + "xtend": "4.0.1" } }, "espower-loader": { @@ -4689,11 +4802,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "^1.1.0", - "espower-source": "^2.0.0", - "minimatch": "^3.0.0", - "source-map-support": "^0.4.0", - "xtend": "^4.0.0" + "convert-source-map": "1.5.1", + "espower-source": "2.3.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" }, "dependencies": { "source-map-support": { @@ -4702,7 +4815,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -4713,10 +4826,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "^1.2.1", - "path-is-absolute": "^1.0.0", - "source-map": "^0.5.0", - "xtend": "^4.0.0" + "is-url": "1.2.4", + "path-is-absolute": "1.0.1", + "source-map": "0.5.7", + "xtend": "4.0.1" } }, "espower-source": { @@ -4725,27 +4838,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.10", - "convert-source-map": "^1.1.1", - "empower-assert": "^1.0.0", - "escodegen": "^1.10.0", - "espower": "^2.1.1", - "estraverse": "^4.0.0", - "merge-estraverse-visitors": "^1.0.0", - "multi-stage-sourcemap": "^0.2.1", - "path-is-absolute": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", - "dev": true, - "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.1", + "empower-assert": "1.1.0", + "escodegen": "1.10.0", + "espower": "2.1.1", + "estraverse": "4.2.0", + "merge-estraverse-visitors": "1.0.0", + "multi-stage-sourcemap": "0.2.1", + "path-is-absolute": "1.0.1", + "xtend": "4.0.1" } }, "esprima": { @@ -4759,7 +4862,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "esquery": { @@ -4768,7 +4871,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -4777,7 +4880,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -4797,8 +4900,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "execa": { @@ -4807,13 +4910,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -4821,13 +4924,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -4843,7 +4946,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -4851,7 +4954,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4862,7 +4965,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { @@ -4871,11 +4974,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "is-number": { @@ -4884,7 +4987,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "isobject": { @@ -4902,7 +5005,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4917,8 +5020,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -4926,7 +5029,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -4937,9 +5040,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -4947,14 +5050,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -4962,7 +5065,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -4970,7 +5073,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -4978,7 +5081,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4986,7 +5089,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4994,9 +5097,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -5022,12 +5125,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.0", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" } }, "fast-json-stable-stringify": { @@ -5047,7 +5150,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -5056,8 +5159,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.0", + "object-assign": "4.1.1" } }, "filename-regex": { @@ -5072,8 +5175,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" } }, "fill-range": { @@ -5081,10 +5184,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -5092,7 +5195,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5100,652 +5203,129 @@ "find-cache-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", - "dev": true, - "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" - } - }, - "fn-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", - "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", - "dev": true - }, - "follow-redirects": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", - "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", - "requires": { - "debug": "^3.1.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - } - }, - "formidable": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", - "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true - } + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } + }, + "fn-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", + "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", + "dev": true + }, + "follow-redirects": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", + "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", + "requires": { + "debug": "3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "formidable": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" } }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, "function-name-support": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/function-name-support/-/function-name-support-0.2.0.tgz", @@ -5763,8 +5343,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "^0.18.0", - "extend": "^3.0.1", + "axios": "0.18.0", + "extend": "3.0.1", "retry-axios": "0.3.2" } }, @@ -5774,11 +5354,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "^3.1.2", - "google-auto-auth": "^0.10.0", - "pumpify": "^1.4.0", - "request": "^2.85.0", - "stream-events": "^1.0.3" + "configstore": "3.1.2", + "google-auto-auth": "0.10.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "stream-events": "1.0.4" } }, "get-caller-file": { @@ -5815,7 +5395,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -5823,12 +5403,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -5837,8 +5417,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" }, "dependencies": { "glob-parent": { @@ -5847,7 +5427,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -5862,7 +5442,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -5872,8 +5452,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -5881,7 +5461,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -5897,7 +5477,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { @@ -5911,13 +5491,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" } }, "google-auth-library": { @@ -5925,13 +5505,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "^0.18.0", - "gcp-metadata": "^0.6.3", - "gtoken": "^2.3.0", - "jws": "^3.1.5", - "lodash.isstring": "^4.0.1", - "lru-cache": "^4.1.3", - "retry-axios": "^0.3.2" + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.3.0", + "jws": "3.1.5", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.3", + "retry-axios": "0.3.2" } }, "google-auto-auth": { @@ -5940,10 +5520,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "^2.3.0", - "gcp-metadata": "^0.6.1", - "google-auth-library": "^1.3.1", - "request": "^2.79.0" + "async": "2.6.1", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.6.1", + "request": "2.87.0" } }, "google-gax": { @@ -5951,17 +5531,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "^3.6.0", - "extend": "^3.0.1", - "globby": "^8.0.1", - "google-auth-library": "^1.6.1", - "google-proto-files": "^0.16.0", - "grpc": "^1.12.2", - "is-stream-ended": "^0.1.4", - "lodash": "^4.17.10", - "protobufjs": "^6.8.6", - "retry-request": "^4.0.0", - "through2": "^2.0.3" + "duplexify": "3.6.0", + "extend": "3.0.1", + "globby": "8.0.1", + "google-auth-library": "1.6.1", + "google-proto-files": "0.16.1", + "grpc": "1.12.4", + "is-stream-ended": "0.1.4", + "lodash": "4.17.10", + "protobufjs": "6.8.6", + "retry-request": "4.0.0", + "through2": "2.0.3" }, "dependencies": { "retry-request": { @@ -5969,7 +5549,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } } } @@ -5979,8 +5559,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "^0.7.4", - "pify": "^3.0.0" + "node-forge": "0.7.5", + "pify": "3.0.0" } }, "google-proto-files": { @@ -5988,9 +5568,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "^8.0.0", - "power-assert": "^1.4.4", - "protobufjs": "^6.8.0" + "globby": "8.0.1", + "power-assert": "1.6.0", + "protobufjs": "6.8.6" } }, "got": { @@ -5999,23 +5579,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" }, "dependencies": { "prepend-http": { @@ -6030,7 +5610,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "2.0.0" } } } @@ -6052,10 +5632,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.4.tgz", "integrity": "sha512-t0Hy4yoHHYLkK0b+ULTHw5ZuSFmWokCABY0C4bKQbE4jnm1hpjA23cQVD0xAqDcRHN5CkvFzlqb34ngV22dqoQ==", "requires": { - "lodash": "^4.17.5", - "nan": "^2.0.0", - "node-pre-gyp": "^0.10.0", - "protobufjs": "^5.0.3" + "lodash": "4.17.10", + "nan": "2.10.0", + "node-pre-gyp": "0.10.0", + "protobufjs": "5.0.3" }, "dependencies": { "abbrev": { @@ -6074,8 +5654,8 @@ "version": "1.1.5", "bundled": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -6086,7 +5666,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -6133,7 +5713,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "fs.realpath": { @@ -6144,26 +5724,26 @@ "version": "2.7.4", "bundled": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" } }, "glob": { "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -6174,22 +5754,22 @@ "version": "0.4.23", "bundled": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -6204,7 +5784,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -6215,7 +5795,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -6226,15 +5806,15 @@ "version": "2.3.3", "bundled": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "mkdirp": { @@ -6258,33 +5838,33 @@ "version": "2.2.1", "bundled": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.23", + "sax": "1.2.4" } }, "node-pre-gyp": { "version": "0.10.0", "bundled": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.1", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.8", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.4" } }, "nopt": { "version": "4.0.1", "bundled": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -6295,18 +5875,18 @@ "version": "1.1.10", "bundled": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { "version": "4.1.2", "bundled": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -6321,7 +5901,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -6336,8 +5916,8 @@ "version": "0.1.5", "bundled": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -6353,40 +5933,40 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "~1", - "bytebuffer": "~5", - "glob": "^7.0.5", - "yargs": "^3.10.0" + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" } }, "rc": { "version": "1.2.8", "bundled": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -6413,27 +5993,27 @@ "version": "3.0.2", "bundled": true }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "1.1.1", "bundled": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "safe-buffer": "5.1.2" } }, - "string_decoder": { - "version": "1.1.1", + "string-width": { + "version": "1.0.2", "bundled": true, "requires": { - "safe-buffer": "~5.1.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -6444,13 +6024,13 @@ "version": "4.4.4", "bundled": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.3", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.3", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -6461,7 +6041,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "wrappy": { @@ -6479,11 +6059,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "^0.18.0", - "google-p12-pem": "^1.0.0", - "jws": "^3.1.4", - "mime": "^2.2.0", - "pify": "^3.0.0" + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.5", + "mime": "2.3.1", + "pify": "3.0.0" } }, "handlebars": { @@ -6492,10 +6072,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -6510,7 +6090,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -6525,8 +6105,17 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "1.1.1" } }, "has-ansi": { @@ -6535,7 +6124,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-color": { @@ -6556,13 +6145,19 @@ "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", "dev": true }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, "has-to-string-tag-x": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "^1.4.1" + "has-symbol-support-x": "1.4.2" } }, "has-value": { @@ -6570,9 +6165,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -6580,8 +6175,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -6589,7 +6184,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6606,7 +6201,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "he": { @@ -6621,8 +6216,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -6637,12 +6232,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.4.2", + "domutils": "1.7.0", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "http-cache-semantics": { @@ -6656,9 +6251,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "hullabaloo-config-manager": { @@ -6667,20 +6262,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "es6-error": "^4.0.2", - "graceful-fs": "^4.1.11", - "indent-string": "^3.1.0", - "json5": "^0.5.1", - "lodash.clonedeep": "^4.5.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "package-hash": "^2.0.0", - "pkg-dir": "^2.0.0", - "resolve-from": "^3.0.0", - "safe-buffer": "^5.0.1" + "dot-prop": "4.2.0", + "es6-error": "4.1.1", + "graceful-fs": "4.1.11", + "indent-string": "3.2.0", + "json5": "0.5.1", + "lodash.clonedeep": "4.5.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.isequal": "4.5.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "package-hash": "2.0.0", + "pkg-dir": "2.0.0", + "resolve-from": "3.0.0", + "safe-buffer": "5.1.2" } }, "iconv-lite": { @@ -6689,7 +6284,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore": { @@ -6715,8 +6310,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -6741,8 +6336,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -6762,63 +6357,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "^2.14.1", - "sanitize-html": "^1.13.0" - } - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "moment": "2.22.2", + "sanitize-html": "1.18.2" } }, "intelli-espower-loader": { @@ -6827,7 +6367,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "^1.0.0" + "espower-loader": "1.2.2" } }, "into-stream": { @@ -6836,8 +6376,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" + "from2": "2.3.0", + "p-is-promise": "1.1.0" } }, "invariant": { @@ -6846,7 +6386,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -6870,7 +6410,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6878,7 +6418,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6895,7 +6435,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -6909,16 +6449,22 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true + }, "is-ci": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -6926,7 +6472,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6934,19 +6480,25 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -6968,7 +6520,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-error": { @@ -6993,7 +6545,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -7001,7 +6553,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-generator-fn": { @@ -7015,7 +6567,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -7024,8 +6576,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-npm": { @@ -7039,7 +6591,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7047,7 +6599,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7070,7 +6622,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "^1.1.0" + "symbol-observable": "1.2.0" } }, "is-odd": { @@ -7078,7 +6630,7 @@ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -7100,7 +6652,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -7109,7 +6661,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -7123,7 +6675,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-posix-bracket": { @@ -7150,6 +6702,15 @@ "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", "dev": true }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.3" + } + }, "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", @@ -7173,6 +6734,12 @@ "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -7233,8 +6800,8 @@ "@babel/template": "7.0.0-beta.49", "@babel/traverse": "7.0.0-beta.49", "@babel/types": "7.0.0-beta.49", - "istanbul-lib-coverage": "^2.0.0", - "semver": "^5.5.0" + "istanbul-lib-coverage": "2.0.0", + "semver": "5.5.0" } }, "isurl": { @@ -7243,8 +6810,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" } }, "jest-docblock": { @@ -7271,8 +6838,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "js2xmlparser": { @@ -7281,7 +6848,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "^1.0.1" + "xmlcreate": "1.0.2" } }, "jsbn": { @@ -7297,17 +6864,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "~3.5.0", - "catharsis": "~0.8.9", - "escape-string-regexp": "~1.0.5", - "js2xmlparser": "~3.0.0", - "klaw": "~2.0.0", - "marked": "~0.3.6", - "mkdirp": "~0.5.1", - "requizzle": "~0.2.1", - "strip-json-comments": "~2.0.1", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", "taffydb": "2.6.2", - "underscore": "~1.8.3" + "underscore": "1.8.3" }, "dependencies": { "babylon": { @@ -7369,7 +6936,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsprim": { @@ -7396,7 +6963,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "jws": { @@ -7404,8 +6971,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "^1.1.5", - "safe-buffer": "^5.0.1" + "jwa": "1.1.6", + "safe-buffer": "5.1.2" } }, "keyv": { @@ -7428,7 +6995,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "last-line-stream": { @@ -7437,7 +7004,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "latest-version": { @@ -7446,7 +7013,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -7461,7 +7028,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -7470,8 +7037,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -7480,10 +7047,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" }, "dependencies": { "pify": { @@ -7500,8 +7067,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -7614,7 +7181,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -7623,8 +7190,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowercase-keys": { @@ -7638,8 +7205,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -7648,7 +7215,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "map-cache": { @@ -7667,7 +7234,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "marked": { @@ -7682,7 +7249,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.4" + "escape-string-regexp": "1.0.5" } }, "math-random": { @@ -7697,7 +7264,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -7712,7 +7279,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "meow": { @@ -7721,16 +7288,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "find-up": { @@ -7739,8 +7306,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "load-json-file": { @@ -7749,11 +7316,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "minimist": { @@ -7768,7 +7335,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-type": { @@ -7777,9 +7344,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -7800,7 +7367,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "read-pkg": { @@ -7809,9 +7376,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -7820,8 +7387,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "strip-bom": { @@ -7830,7 +7397,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } } } @@ -7847,7 +7414,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "merge2": { @@ -7872,19 +7439,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "mime": { @@ -7902,7 +7469,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { @@ -7922,7 +7489,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -7936,8 +7503,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -7945,7 +7512,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8007,7 +7574,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "^0.1.34" + "source-map": "0.1.43" }, "dependencies": { "source-map": { @@ -8016,7 +7583,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -8027,10 +7594,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" } }, "mute-stream": { @@ -8049,18 +7616,18 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "natural-compare": { @@ -8075,17 +7642,23 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, "nise": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.2.tgz", "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "just-extend": "^1.1.27", - "lolex": "^2.3.2", - "path-to-regexp": "^1.7.0", - "text-encoding": "^0.6.4" + "@sinonjs/formatio": "2.0.0", + "just-extend": "1.1.27", + "lolex": "2.7.0", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" } }, "node-forge": { @@ -8099,10 +7672,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -8111,7 +7684,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-url": { @@ -8120,9 +7693,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" }, "dependencies": { "prepend-http": { @@ -8139,7 +7712,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -8153,33 +7726,33 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^2.1.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.5", - "istanbul-reports": "^1.4.1", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "2.2.0", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.5", + "istanbul-reports": "1.4.1", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", "yargs": "11.1.0", - "yargs-parser": "^8.0.0" + "yargs-parser": "8.1.0" }, "dependencies": { "align-text": { @@ -8187,9 +7760,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -8207,7 +7780,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -8265,13 +7838,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -8279,7 +7852,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -8287,7 +7860,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8295,7 +7868,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8303,9 +7876,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8320,7 +7893,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -8329,16 +7902,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -8346,7 +7919,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8361,15 +7934,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "caching-transform": { @@ -8377,9 +7950,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -8394,8 +7967,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "class-utils": { @@ -8403,10 +7976,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -8414,7 +7987,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -8425,8 +7998,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -8448,8 +8021,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "commondir": { @@ -8482,8 +8055,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.1" } }, "debug": { @@ -8514,7 +8087,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-property": { @@ -8522,8 +8095,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -8531,7 +8104,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8539,7 +8112,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8547,9 +8120,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8564,7 +8137,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "execa": { @@ -8572,13 +8145,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -8586,9 +8159,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } } } @@ -8598,13 +8171,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -8620,7 +8193,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -8628,7 +8201,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8638,8 +8211,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8647,7 +8220,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8657,14 +8230,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8672,7 +8245,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -8680,7 +8253,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -8688,7 +8261,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8696,7 +8269,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8704,9 +8277,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8721,10 +8294,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -8732,7 +8305,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8742,9 +8315,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -8752,7 +8325,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -8765,8 +8338,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fragment-cache": { @@ -8774,7 +8347,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs.realpath": { @@ -8802,12 +8375,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "graceful-fs": { @@ -8820,10 +8393,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -8831,7 +8404,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -8841,9 +8414,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -8851,8 +8424,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -8860,7 +8433,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8880,8 +8453,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -8899,7 +8472,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -8917,7 +8490,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-data-descriptor": { @@ -8925,7 +8498,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -8933,9 +8506,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -8960,7 +8533,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -8968,7 +8541,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -8983,7 +8556,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-stream": { @@ -9026,7 +8599,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-report": { @@ -9034,10 +8607,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -9050,7 +8623,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9060,11 +8633,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" } }, "istanbul-reports": { @@ -9072,7 +8645,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "kind-of": { @@ -9080,7 +8653,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -9094,7 +8667,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -9102,11 +8675,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -9114,8 +8687,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -9135,8 +8708,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "map-cache": { @@ -9149,7 +8722,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5-hex": { @@ -9157,7 +8730,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -9170,7 +8743,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge-source-map": { @@ -9178,7 +8751,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.6.1" + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -9193,19 +8766,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -9225,7 +8798,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -9238,8 +8811,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -9247,7 +8820,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -9270,18 +8843,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -9296,10 +8869,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { @@ -9307,7 +8880,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -9325,9 +8898,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -9335,7 +8908,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9345,7 +8918,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.pick": { @@ -9353,7 +8926,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "once": { @@ -9361,7 +8934,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -9369,8 +8942,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -9383,9 +8956,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -9398,7 +8971,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -9406,7 +8979,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { @@ -9419,7 +8992,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pascalcase": { @@ -9432,7 +9005,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -9455,9 +9028,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -9475,7 +9048,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -9483,7 +9056,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -9491,8 +9064,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -9512,9 +9085,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -9522,8 +9095,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -9531,8 +9104,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -9542,8 +9115,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "repeat-element": { @@ -9587,7 +9160,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -9595,7 +9168,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-regex": { @@ -9603,7 +9176,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "semver": { @@ -9621,10 +9194,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -9632,7 +9205,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9642,7 +9215,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -9665,14 +9238,14 @@ "bundled": true, "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -9688,7 +9261,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -9696,7 +9269,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9706,9 +9279,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -9716,7 +9289,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -9724,7 +9297,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9732,7 +9305,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9740,9 +9313,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9757,7 +9330,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -9770,11 +9343,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { @@ -9787,12 +9360,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.1" } }, "spdx-correct": { @@ -9800,8 +9373,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -9814,8 +9387,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -9828,7 +9401,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "static-extend": { @@ -9836,8 +9409,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -9845,7 +9418,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9855,8 +9428,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -9864,7 +9437,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "strip-bom": { @@ -9872,7 +9445,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -9885,11 +9458,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-object-path": { @@ -9897,7 +9470,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -9905,10 +9478,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -9916,8 +9489,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "uglify-js": { @@ -9926,9 +9499,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -9937,9 +9510,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -9956,10 +9529,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -9967,7 +9540,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -9975,10 +9548,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -9988,8 +9561,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -9997,9 +9570,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -10029,7 +9602,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -10044,8 +9617,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "which": { @@ -10053,7 +9626,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -10077,8 +9650,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "ansi-regex": { @@ -10091,7 +9664,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -10099,9 +9672,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -10109,7 +9682,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -10124,9 +9697,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -10144,18 +9717,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "camelcase": { @@ -10168,9 +9741,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "yargs-parser": { @@ -10178,7 +9751,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10188,7 +9761,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -10216,9 +9789,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -10226,7 +9799,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "kind-of": { @@ -10234,7 +9807,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10249,7 +9822,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.omit": { @@ -10258,8 +9831,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -10267,7 +9840,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "observable-to-promise": { @@ -10276,8 +9849,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "^0.2.0", - "symbol-observable": "^1.0.4" + "is-observable": "0.2.0", + "symbol-observable": "1.2.0" }, "dependencies": { "is-observable": { @@ -10286,7 +9859,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "^0.2.2" + "symbol-observable": "0.2.4" }, "dependencies": { "symbol-observable": { @@ -10304,7 +9877,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -10313,7 +9886,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -10322,8 +9895,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "option-chain": { @@ -10338,12 +9911,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -10370,7 +9943,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-tmpdir": { @@ -10403,7 +9976,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -10412,7 +9985,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-timeout": { @@ -10421,7 +9994,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "^1.0.0" + "p-finally": "1.0.0" } }, "p-try": { @@ -10436,10 +10009,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "lodash.flattendeep": "^4.4.0", - "md5-hex": "^2.0.0", - "release-zalgo": "^1.0.0" + "graceful-fs": "4.1.11", + "lodash.flattendeep": "4.4.0", + "md5-hex": "2.0.0", + "release-zalgo": "1.0.0" } }, "package-json": { @@ -10448,10 +10021,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" }, "dependencies": { "got": { @@ -10460,17 +10033,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } } } @@ -10481,10 +10054,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" }, "dependencies": { "is-extglob": { @@ -10499,7 +10072,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -10510,7 +10083,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse-ms": { @@ -10580,7 +10153,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "performance-now": { @@ -10605,7 +10178,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "^1.0.0" + "pinkie": "1.0.0" } }, "pkg-conf": { @@ -10614,8 +10187,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" + "find-up": "2.1.0", + "load-json-file": "4.0.0" }, "dependencies": { "load-json-file": { @@ -10624,10 +10197,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "parse-json": { @@ -10636,8 +10209,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } @@ -10648,7 +10221,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" } }, "plur": { @@ -10657,7 +10230,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "^1.0.0" + "irregular-plurals": "1.4.0" } }, "pluralize": { @@ -10677,9 +10250,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" }, "dependencies": { "source-map": { @@ -10695,11 +10268,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "^1.1.2", - "empower": "^1.3.0", - "power-assert-formatter": "^1.4.1", - "universal-deep-strict-equal": "^1.2.1", - "xtend": "^4.0.0" + "define-properties": "1.1.2", + "empower": "1.3.0", + "power-assert-formatter": "1.4.1", + "universal-deep-strict-equal": "1.2.2", + "xtend": "4.0.1" } }, "power-assert-context-formatter": { @@ -10707,8 +10280,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "^2.0.0", - "power-assert-context-traversal": "^1.2.0" + "core-js": "2.5.7", + "power-assert-context-traversal": "1.2.0" } }, "power-assert-context-reducer-ast": { @@ -10716,11 +10289,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.12", - "core-js": "^2.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.2.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "core-js": "2.5.7", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "power-assert-context-traversal": { @@ -10728,8 +10301,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "^2.0.0", - "estraverse": "^4.1.0" + "core-js": "2.5.7", + "estraverse": "4.2.0" } }, "power-assert-formatter": { @@ -10737,13 +10310,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "^2.0.0", - "power-assert-context-formatter": "^1.0.7", - "power-assert-context-reducer-ast": "^1.0.7", - "power-assert-renderer-assertion": "^1.0.7", - "power-assert-renderer-comparison": "^1.0.7", - "power-assert-renderer-diagram": "^1.0.7", - "power-assert-renderer-file": "^1.0.7" + "core-js": "2.5.7", + "power-assert-context-formatter": "1.2.0", + "power-assert-context-reducer-ast": "1.2.0", + "power-assert-renderer-assertion": "1.2.0", + "power-assert-renderer-comparison": "1.2.0", + "power-assert-renderer-diagram": "1.2.0", + "power-assert-renderer-file": "1.2.0" } }, "power-assert-renderer-assertion": { @@ -10751,8 +10324,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0" + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0" } }, "power-assert-renderer-base": { @@ -10765,11 +10338,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "^2.0.0", - "diff-match-patch": "^1.0.0", - "power-assert-renderer-base": "^1.1.1", - "stringifier": "^1.3.0", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "diff-match-patch": "1.0.1", + "power-assert-renderer-base": "1.1.1", + "stringifier": "1.3.0", + "type-name": "2.0.2" } }, "power-assert-renderer-diagram": { @@ -10777,10 +10350,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "^2.0.0", - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0", - "stringifier": "^1.3.0" + "core-js": "2.5.7", + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0", + "stringifier": "1.3.0" } }, "power-assert-renderer-file": { @@ -10788,7 +10361,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "^1.1.1" + "power-assert-renderer-base": "1.1.1" } }, "power-assert-util-string-width": { @@ -10796,7 +10369,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "^0.2.0" + "eastasianwidth": "0.2.0" } }, "prelude-ls": { @@ -10829,7 +10402,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "^1.0.0" + "parse-ms": "1.0.1" }, "dependencies": { "parse-ms": { @@ -10862,19 +10435,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^3.0.32", - "@types/node": "^8.9.4", - "long": "^4.0.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/base64": "1.1.2", + "@protobufjs/codegen": "2.0.4", + "@protobufjs/eventemitter": "1.1.0", + "@protobufjs/fetch": "1.1.0", + "@protobufjs/float": "1.0.2", + "@protobufjs/inquire": "1.1.0", + "@protobufjs/path": "1.1.2", + "@protobufjs/pool": "1.1.0", + "@protobufjs/utf8": "1.1.0", + "@types/long": "3.0.32", + "@types/node": "8.10.20", + "long": "4.0.0" }, "dependencies": { "@types/node": { @@ -10890,9 +10463,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.0", - "resolve": "~1.1.7" + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" } }, "pseudomap": { @@ -10906,8 +10479,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -10916,9 +10489,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -10937,9 +10510,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, "randomatic": { @@ -10948,9 +10521,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -10967,10 +10540,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -10987,9 +10560,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" }, "dependencies": { "path-type": { @@ -10998,7 +10571,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "pify": { @@ -11015,8 +10588,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "readable-stream": { @@ -11024,13 +10597,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -11039,10 +10612,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, "redent": { @@ -11051,8 +10624,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" }, "dependencies": { "indent-string": { @@ -11061,7 +10634,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } } } @@ -11084,7 +10657,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -11092,8 +10665,17 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "requires": { + "define-properties": "1.1.2" } }, "regexpp": { @@ -11108,9 +10690,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -11119,8 +10701,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.8", + "safe-buffer": "5.1.2" } }, "registry-url": { @@ -11129,7 +10711,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.8" } }, "regjsgen": { @@ -11144,7 +10726,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" } }, "release-zalgo": { @@ -11153,7 +10735,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "^4.0.1" + "es6-error": "4.1.1" } }, "remove-trailing-separator": { @@ -11178,7 +10760,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -11186,26 +10768,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" } }, "require-directory": { @@ -11232,8 +10814,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" }, "dependencies": { "resolve-from": { @@ -11250,7 +10832,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "~1.6.0" + "underscore": "1.6.0" }, "dependencies": { "underscore": { @@ -11273,7 +10855,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -11293,7 +10875,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "1.0.1" } }, "restore-cursor": { @@ -11302,8 +10884,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -11321,8 +10903,8 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "requires": { - "request": "^2.81.0", - "through2": "^2.0.0" + "request": "2.87.0", + "through2": "2.0.3" } }, "right-align": { @@ -11332,7 +10914,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -11341,7 +10923,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "run-async": { @@ -11350,22 +10932,24 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "rxjs": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", "dev": true, "requires": { - "rx-lite": "*" + "symbol-observable": "1.0.1" + }, + "dependencies": { + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + } } }, "safe-buffer": { @@ -11378,7 +10962,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -11398,16 +10982,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "^2.3.0", - "htmlparser2": "^3.9.0", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.mergewith": "^4.6.0", - "postcss": "^6.0.14", - "srcset": "^1.0.0", - "xtend": "^4.0.0" + "chalk": "2.4.1", + "htmlparser2": "3.9.2", + "lodash.clonedeep": "4.5.0", + "lodash.escaperegexp": "4.1.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mergewith": "4.6.1", + "postcss": "6.0.23", + "srcset": "1.0.0", + "xtend": "4.0.1" } }, "semver": { @@ -11422,7 +11006,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "serialize-error": { @@ -11448,10 +11032,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -11459,7 +11043,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11470,7 +11054,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -11491,13 +11075,13 @@ "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.5.0", - "lodash.get": "^4.4.2", - "lolex": "^2.4.2", - "nise": "^1.3.3", - "supports-color": "^5.4.0", - "type-detect": "^4.0.8" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "slash": { @@ -11511,7 +11095,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -11539,14 +11123,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -11562,7 +11146,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11570,7 +11154,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11580,9 +11164,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -11590,7 +11174,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -11598,7 +11182,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -11606,7 +11190,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -11614,9 +11198,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -11626,7 +11210,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11634,7 +11218,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11645,7 +11229,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "source-map": { @@ -11658,11 +11242,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { @@ -11671,8 +11255,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.0", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -11694,8 +11278,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -11710,8 +11294,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -11725,7 +11309,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "^0.1.4" + "is-stream-ended": "0.1.4" } }, "split-string": { @@ -11733,7 +11317,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -11748,8 +11332,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "^1.0.2", - "number-is-nan": "^1.0.0" + "array-uniq": "1.0.3", + "number-is-nan": "1.0.1" } }, "sshpk": { @@ -11757,15 +11341,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -11779,8 +11363,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -11788,7 +11372,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -11798,7 +11382,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "^3.0.0" + "stubs": "3.0.0" } }, "stream-shift": { @@ -11818,6 +11402,14 @@ "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, "string-format-obj": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", @@ -11829,17 +11421,22 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "string.prototype.matchall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz", + "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", + "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "regexp.prototype.flags": "1.2.0" } }, "stringifier": { @@ -11847,9 +11444,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "^2.0.0", - "traverse": "^0.6.6", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "traverse": "0.6.6", + "type-name": "2.0.2" } }, "strip-ansi": { @@ -11857,7 +11454,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -11872,7 +11469,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "^0.2.1" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -11887,7 +11484,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -11907,16 +11504,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" + "component-emitter": "1.2.1", + "cookiejar": "2.1.2", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.2", + "formidable": "1.2.1", + "methods": "1.1.2", + "mime": "1.6.0", + "qs": "6.5.2", + "readable-stream": "2.3.6" }, "dependencies": { "mime": { @@ -11933,11 +11530,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "indent-string": "^3.2.0", - "js-yaml": "^3.10.0", - "serialize-error": "^2.1.0", - "strip-ansi": "^4.0.0" + "arrify": "1.0.1", + "indent-string": "3.2.0", + "js-yaml": "3.12.0", + "serialize-error": "2.1.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -11952,7 +11549,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -11963,8 +11560,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "~1.1.2", - "superagent": "^3.0.0" + "methods": "1.1.2", + "superagent": "3.8.3" } }, "supports-color": { @@ -11973,7 +11570,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" }, "dependencies": { "has-flag": { @@ -11990,53 +11587,6 @@ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", "dev": true }, - "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", - "dev": true, - "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "taffydb": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", @@ -12049,7 +11599,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "text-encoding": { @@ -12075,8 +11625,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-zone": { @@ -12097,7 +11647,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-fast-properties": { @@ -12111,7 +11661,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12119,7 +11669,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12129,10 +11679,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -12140,8 +11690,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "tough-cookie": { @@ -12149,7 +11699,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "traverse": { @@ -12180,7 +11730,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -12195,7 +11745,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -12222,9 +11772,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "camelcase": { @@ -12241,8 +11791,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" } }, @@ -12267,9 +11817,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -12316,10 +11866,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -12327,7 +11877,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -12335,10 +11885,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -12349,7 +11899,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "unique-temp-dir": { @@ -12358,8 +11908,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "^0.5.1", - "os-tmpdir": "^1.0.1", + "mkdirp": "0.5.1", + "os-tmpdir": "1.0.2", "uid2": "0.0.3" } }, @@ -12368,9 +11918,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "^1.0.0", + "array-filter": "1.0.0", "indexof": "0.0.1", - "object-keys": "^1.0.0" + "object-keys": "1.0.12" } }, "universalify": { @@ -12384,8 +11934,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -12393,9 +11943,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -12427,16 +11977,33 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } } }, "urix": { @@ -12450,7 +12017,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "url-to-options": { @@ -12470,7 +12037,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" } }, "util-deprecate": { @@ -12489,8 +12056,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -12498,9 +12065,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "well-known-symbols": { @@ -12515,7 +12082,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12530,7 +12097,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -12551,8 +12118,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12561,7 +12128,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12582,8 +12149,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -12597,7 +12164,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -12606,9 +12173,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "write-json-file": { @@ -12617,12 +12184,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" + "detect-indent": "5.0.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "pify": "3.0.0", + "sort-keys": "2.0.0", + "write-file-atomic": "2.3.0" }, "dependencies": { "detect-indent": { @@ -12639,8 +12206,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" + "sort-keys": "2.0.0", + "write-json-file": "2.3.0" } }, "xdg-basedir": { @@ -12675,13 +12242,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" } }, "yargs-parser": { @@ -12690,7 +12257,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { From 7d94c24b9b45ea3bde8aa0b8028a570026d2b4ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 26 Jun 2018 21:26:34 -0700 Subject: [PATCH 164/588] fix(deps): update dependency yargs to v12 (#103) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a93a628e199..3c64711a937 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -16,7 +16,7 @@ "async": "^2.6.1", "natural": "^0.6.1", "redis": "^2.8.0", - "yargs": "^11.0.0" + "yargs": "^12.0.0" }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", From b7a2f2575f05e59b262bb64459cc7b002e06c469 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 27 Jun 2018 12:35:41 -0700 Subject: [PATCH 165/588] fix: update and cleanup dependencies (#102) --- .../google-cloud-vision/package-lock.json | 7025 ++++++++++------- packages/google-cloud-vision/package.json | 12 +- .../google-cloud-vision/test/helpers.test.js | 1 - 3 files changed, 4117 insertions(+), 2921 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 6a3a0e348db..be5c9e5a442 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "package-hash": "1.2.0" + "babel-plugin-check-es2015-constants": "^6.8.0", + "babel-plugin-syntax-trailing-function-commas": "^6.20.0", + "babel-plugin-transform-async-to-generator": "^6.16.0", + "babel-plugin-transform-es2015-destructuring": "^6.19.0", + "babel-plugin-transform-es2015-function-name": "^6.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", + "babel-plugin-transform-es2015-parameters": "^6.21.0", + "babel-plugin-transform-es2015-spread": "^6.8.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", + "babel-plugin-transform-exponentiation-operator": "^6.8.0", + "package-hash": "^1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "1.3.0" + "md5-hex": "^1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.4.0" + "@ava/babel-plugin-throws-helper": "^2.0.0", + "babel-plugin-espower": "^2.3.2" } }, "@ava/write-file-atomic": { @@ -66,31 +66,31 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "@babel/code-frame": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz", - "integrity": "sha1-vs2AVIJzREDJ0TfkbXc0DmTX9Rs=", + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz", + "integrity": "sha1-vXHZsZKvl435FYKdOdQJRFZDmgw=", "dev": true, "requires": { - "@babel/highlight": "7.0.0-beta.49" + "@babel/highlight": "7.0.0-beta.51" } }, "@babel/generator": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.49.tgz", - "integrity": "sha1-6c/9qROZaszseTu8JauRvBnQv3o=", + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.51.tgz", + "integrity": "sha1-bHV1/952HQdIXgS67cA5LG2eMPY=", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.49", - "jsesc": "2.5.1", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "7.0.0-beta.51", + "jsesc": "^2.5.1", + "lodash": "^4.17.5", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -102,79 +102,79 @@ } }, "@babel/helper-function-name": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.49.tgz", - "integrity": "sha1-olwRGbnwNSeGcBJuAiXAMEHI3jI=", + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.51.tgz", + "integrity": "sha1-IbSHSiJ8+Z7K/MMKkDAtpaJkBWE=", "dev": true, "requires": { - "@babel/helper-get-function-arity": "7.0.0-beta.49", - "@babel/template": "7.0.0-beta.49", - "@babel/types": "7.0.0-beta.49" + "@babel/helper-get-function-arity": "7.0.0-beta.51", + "@babel/template": "7.0.0-beta.51", + "@babel/types": "7.0.0-beta.51" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.49.tgz", - "integrity": "sha1-z1Aj8y0q2S0Ic3STnOwJUby1FEE=", + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.51.tgz", + "integrity": "sha1-MoGy0EWvlcFyzpGyCCXYXqRnZBE=", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.49" + "@babel/types": "7.0.0-beta.51" } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.49.tgz", - "integrity": "sha1-QNeO2glo0BGxxShm5XRs+yPldUg=", + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.51.tgz", + "integrity": "sha1-imw/ZsTSZTUvwHdIT59ugKUauXg=", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.49" + "@babel/types": "7.0.0-beta.51" } }, "@babel/highlight": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.49.tgz", - "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=", + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.51.tgz", + "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" } }, "@babel/parser": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.49.tgz", - "integrity": "sha1-lE0MW6KBK7FZ7b0iZ0Ov0mUXm9w=", + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.51.tgz", + "integrity": "sha1-J87C30Cd9gr1gnDtj2qlVAnqhvY=", "dev": true }, "@babel/template": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.49.tgz", - "integrity": "sha1-44q+ghfLl5P0YaUwbXrXRdg+HSc=", + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.51.tgz", + "integrity": "sha1-lgKkCuvPNXrpZ34lMu9fyBD1+/8=", "dev": true, "requires": { - "@babel/code-frame": "7.0.0-beta.49", - "@babel/parser": "7.0.0-beta.49", - "@babel/types": "7.0.0-beta.49", - "lodash": "4.17.10" + "@babel/code-frame": "7.0.0-beta.51", + "@babel/parser": "7.0.0-beta.51", + "@babel/types": "7.0.0-beta.51", + "lodash": "^4.17.5" } }, "@babel/traverse": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.49.tgz", - "integrity": "sha1-TypzaCoYM07WYl0QCo0nMZ98LWg=", - "dev": true, - "requires": { - "@babel/code-frame": "7.0.0-beta.49", - "@babel/generator": "7.0.0-beta.49", - "@babel/helper-function-name": "7.0.0-beta.49", - "@babel/helper-split-export-declaration": "7.0.0-beta.49", - "@babel/parser": "7.0.0-beta.49", - "@babel/types": "7.0.0-beta.49", - "debug": "3.1.0", - "globals": "11.7.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.51.tgz", + "integrity": "sha1-mB2vLOw0emIx06odnhgDsDqqpKg=", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.51", + "@babel/generator": "7.0.0-beta.51", + "@babel/helper-function-name": "7.0.0-beta.51", + "@babel/helper-split-export-declaration": "7.0.0-beta.51", + "@babel/parser": "7.0.0-beta.51", + "@babel/types": "7.0.0-beta.51", + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.17.5" }, "dependencies": { "globals": { @@ -186,14 +186,14 @@ } }, "@babel/types": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.49.tgz", - "integrity": "sha1-t+Oxw/TUz+Eb34yJ8e/V4WF7h6Y=", + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.51.tgz", + "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.5", + "to-fast-properties": "^2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,7 +210,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "1.0.1" + "arrify": "^1.0.1" } }, "@google-cloud/common": { @@ -218,21 +218,21 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.1.tgz", "integrity": "sha512-LJB7CoNXEXY0mDWtF8E2cl3Y0kuMQ3wjH9Xr+Y7vH5gHgN82dDh1BMUOizRf9oXQFDWUgGERD5SdfBcjUhHmwA==", "requires": { - "@types/duplexify": "3.5.0", - "@types/request": "2.47.1", - "arrify": "1.0.1", - "axios": "0.18.0", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auth-library": "1.6.1", - "is": "3.2.1", - "pify": "3.0.0", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "2.0.0", - "stream-events": "1.0.4", - "through2": "2.0.3" + "@types/duplexify": "^3.5.0", + "@types/request": "^2.47.0", + "arrify": "^1.0.1", + "axios": "^0.18.0", + "duplexify": "^3.6.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auth-library": "^1.6.0", + "is": "^3.2.1", + "pify": "^3.0.0", + "request": "^2.87.0", + "retry-request": "^3.3.1", + "split-array-stream": "^2.0.0", + "stream-events": "^1.0.4", + "through2": "^2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "5.5.0", + "semver": "^5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -269,9 +269,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -292,268 +292,297 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "md5-hex": "1.3.0", - "merge-source-map": "1.0.4", - "micromatch": "2.3.11", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.1.1", - "yargs": "10.0.3", - "yargs-parser": "8.0.0" + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.3.0", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.1", + "istanbul-lib-report": "^1.1.2", + "istanbul-lib-source-maps": "^1.2.2", + "istanbul-reports": "^1.1.3", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.0.2", + "micromatch": "^2.3.11", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.5.4", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.1.1", + "yargs": "^10.0.3", + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "append-transform": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "array-unique": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, "arrify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "async": { "version": "1.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "babel-code-frame": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.6", + "trim-right": "^1.0.1" } }, "babel-messages": { "version": "6.23.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { "version": "6.26.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { "version": "6.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "1.8.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "caching-transform": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "cliui": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { "wordwrap": { "version": "0.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } @@ -561,41 +590,48 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "commondir": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "core-js": { "version": "2.5.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", "dev": true }, "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -603,387 +639,442 @@ }, "debug-log": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", + "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "detect-indent": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esutils": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } }, "expand-brackets": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { "version": "1.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "extglob": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "filename-regex": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", "dev": true }, "fill-range": { "version": "2.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-cache-dir": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "for-own": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreground-child": { "version": "1.5.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { "version": "9.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } }, "has-ansi": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "hosted-git-info": { "version": "2.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invariant": { "version": "2.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-dotfile": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", "dev": true }, "is-equal-shallow": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-extglob": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-finite": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", "dev": true }, "is-primitive": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -991,67 +1082,74 @@ }, "istanbul-lib-coverage": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { "version": "1.9.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { "version": "3.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } }, "istanbul-lib-source-maps": { "version": "1.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -1061,169 +1159,191 @@ }, "istanbul-reports": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "jsesc": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "lodash": { "version": "4.17.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", "dev": true }, "longest": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, "loose-envify": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "md5-hex": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { "version": "2.3.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mimic-fn": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -1231,505 +1351,575 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object.omit": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", "dev": true }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "parse-glob": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "path-exists": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } }, "preserve": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "randomatic": { "version": "1.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, "read-pkg": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } }, "regenerator-runtime": { "version": "0.11.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regex-cache": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, "repeat-element": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "repeating": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "right-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "semver": { "version": "5.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", + "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", "dev": true }, "spdx-license-ids": { "version": "1.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", "dev": true }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "supports-color": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "test-exclude": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", + "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-fast-properties": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, "trim-right": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, "uglify-js": { "version": "2.8.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { "version": "3.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -1737,126 +1927,141 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "validate-npm-package-license": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "which": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "10.0.3", - "bundled": true, - "dev": true, - "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "8.0.0" + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz", + "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", + "dev": true, + "requires": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^8.0.0" }, "dependencies": { "cliui": { "version": "3.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1865,15 +2070,17 @@ }, "yargs-parser": { "version": "8.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz", + "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } @@ -1886,9 +2093,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "sinon": { @@ -1897,13 +2104,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.1.0", + "lodash.get": "^4.4.2", + "lolex": "^2.2.0", + "nise": "^1.2.0", + "supports-color": "^5.1.0", + "type-detect": "^4.0.5" } }, "string-width": { @@ -1912,8 +2119,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -1922,7 +2129,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -1931,18 +2138,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } } } @@ -1953,27 +2160,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "0.17.0", - "arrify": "1.0.1", - "async": "2.6.1", - "compressible": "2.0.14", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "extend": "3.0.1", - "gcs-resumable-upload": "0.10.2", - "hash-stream-validation": "0.2.1", - "is": "3.2.1", - "mime": "2.3.1", - "mime-types": "2.1.18", - "once": "1.4.0", - "pumpify": "1.5.1", - "request": "2.87.0", - "safe-buffer": "5.1.2", - "snakeize": "0.1.0", - "stream-events": "1.0.4", - "through2": "2.0.3", - "xdg-basedir": "3.0.0" + "@google-cloud/common": "^0.17.0", + "arrify": "^1.0.0", + "async": "^2.0.1", + "compressible": "^2.0.12", + "concat-stream": "^1.5.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "extend": "^3.0.0", + "gcs-resumable-upload": "^0.10.2", + "hash-stream-validation": "^0.2.1", + "is": "^3.0.1", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "once": "^1.3.1", + "pumpify": "^1.5.1", + "request": "^2.85.0", + "safe-buffer": "^5.1.1", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -1982,24 +2189,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auto-auth": "0.10.1", - "is": "3.2.1", + "array-uniq": "^1.0.3", + "arrify": "^1.0.1", + "concat-stream": "^1.6.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auto-auth": "^0.10.0", + "is": "^3.2.0", "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "1.0.3", - "stream-events": "1.0.4", - "string-format-obj": "1.1.1", - "through2": "2.0.3" + "methmeth": "^1.1.0", + "modelo": "^4.2.0", + "request": "^2.79.0", + "retry-request": "^3.0.0", + "split-array-stream": "^1.0.0", + "stream-events": "^1.0.1", + "string-format-obj": "^1.1.0", + "through2": "^2.0.3" } }, "split-array-stream": { @@ -2008,8 +2215,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "2.6.1", - "is-stream-ended": "0.1.4" + "async": "^2.4.0", + "is-stream-ended": "^0.1.0" } } } @@ -2020,10 +2227,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "0.4.0", - "date-time": "0.1.1", - "pretty-ms": "0.2.2", - "text-table": "0.2.0" + "chalk": "^0.4.0", + "date-time": "^0.1.1", + "pretty-ms": "^0.2.1", + "text-table": "^0.2.0" }, "dependencies": { "ansi-styles": { @@ -2038,9 +2245,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "pretty-ms": { @@ -2049,7 +2256,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "0.1.2" + "parse-ms": "^0.1.0" } }, "strip-ansi": { @@ -2065,8 +2272,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, "@nodelib/fs.stat": { @@ -2099,8 +2306,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/inquire": "1.1.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, "@protobufjs/float": { @@ -2153,7 +2360,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "10.3.5" + "@types/node": "*" } }, "@types/form-data": { @@ -2161,7 +2368,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "10.3.5" + "@types/node": "*" } }, "@types/long": { @@ -2170,19 +2377,19 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.5.tgz", - "integrity": "sha512-6lRwZN0Y3TuglwaaZN2XPocobmzLlhxcqDjKFjNYSsXG/TFAGYkCqkzZh4+ms8iTHHQE6gJXLHPV7TziVGeWhg==" + "version": "10.3.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.6.tgz", + "integrity": "sha512-h7VDRFL8IhdPw1JjiNVvhr+WynfKW09q2BOflIOA0yeuXNeXBP1bIRuBrysSryH4keaJ5bYUNp63aIyQL9YpDQ==" }, "@types/request": { "version": "2.47.1", "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "0.12.1", - "@types/form-data": "2.2.1", - "@types/node": "10.3.5", - "@types/tough-cookie": "2.3.3" + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" } }, "@types/tough-cookie": { @@ -2200,26 +2407,41 @@ "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=" }, + "acorn-jsx": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", + "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", + "dev": true, + "requires": { + "acorn": "^5.0.3" + } + }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" }, "dependencies": { "kind-of": { @@ -2228,7 +2450,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2245,7 +2467,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2266,8 +2488,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2276,7 +2498,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2298,7 +2520,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -2307,8 +2529,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" }, "dependencies": { "arr-diff": { @@ -2317,7 +2539,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -2332,9 +2554,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "expand-brackets": { @@ -2343,7 +2565,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "extglob": { @@ -2352,7 +2574,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-extglob": { @@ -2367,7 +2589,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "kind-of": { @@ -2376,7 +2598,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -2385,19 +2607,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } } } @@ -2408,7 +2630,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "argv": { @@ -2466,7 +2688,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -2489,8 +2711,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" + "colour": "~0.7.1", + "optjs": "~3.2.2" } }, "asn1": { @@ -2514,7 +2736,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "async-each": { @@ -2545,89 +2767,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "1.1.0", - "@ava/babel-preset-transform-test-files": "3.0.0", - "@ava/write-file-atomic": "2.2.0", - "@concordance/react": "1.0.0", - "@ladjs/time-require": "0.1.4", - "ansi-escapes": "3.1.0", - "ansi-styles": "3.2.1", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.2.1", - "ava-init": "0.2.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.4.1", - "chokidar": "1.7.0", - "clean-stack": "1.3.0", - "clean-yaml-object": "0.1.0", - "cli-cursor": "2.1.0", - "cli-spinners": "1.3.1", - "cli-truncate": "1.1.0", - "co-with-promise": "4.6.0", - "code-excerpt": "2.1.1", - "common-path-prefix": "1.0.0", - "concordance": "3.0.0", - "convert-source-map": "1.5.1", - "core-assert": "0.2.1", - "currently-unhandled": "0.4.1", - "debug": "3.1.0", - "dot-prop": "4.2.0", - "empower-core": "0.6.2", - "equal-length": "1.0.1", - "figures": "2.0.0", - "find-cache-dir": "1.0.0", - "fn-name": "2.0.1", - "get-port": "3.2.0", - "globby": "6.1.0", - "has-flag": "2.0.0", - "hullabaloo-config-manager": "1.1.1", - "ignore-by-default": "1.0.1", - "import-local": "0.1.1", - "indent-string": "3.2.0", - "is-ci": "1.1.0", - "is-generator-fn": "1.0.0", - "is-obj": "1.0.1", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "last-line-stream": "1.0.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.debounce": "4.0.8", - "lodash.difference": "4.5.0", - "lodash.flatten": "4.4.0", - "loud-rejection": "1.6.0", - "make-dir": "1.3.0", - "matcher": "1.1.1", - "md5-hex": "2.0.0", - "meow": "3.7.0", - "ms": "2.0.0", - "multimatch": "2.1.0", - "observable-to-promise": "0.5.0", - "option-chain": "1.0.0", - "package-hash": "2.0.0", - "pkg-conf": "2.1.0", - "plur": "2.1.2", - "pretty-ms": "3.2.0", - "require-precompiled": "0.1.0", - "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.2", - "semver": "5.5.0", - "slash": "1.0.0", - "source-map-support": "0.5.6", - "stack-utils": "1.0.1", - "strip-ansi": "4.0.0", - "strip-bom-buf": "1.0.0", - "supertap": "1.0.0", - "supports-color": "5.4.0", - "trim-off-newlines": "1.0.1", - "unique-temp-dir": "1.0.0", - "update-notifier": "2.5.0" + "@ava/babel-preset-stage-4": "^1.1.0", + "@ava/babel-preset-transform-test-files": "^3.0.0", + "@ava/write-file-atomic": "^2.2.0", + "@concordance/react": "^1.0.0", + "@ladjs/time-require": "^0.1.4", + "ansi-escapes": "^3.0.0", + "ansi-styles": "^3.1.0", + "arr-flatten": "^1.0.1", + "array-union": "^1.0.1", + "array-uniq": "^1.0.2", + "arrify": "^1.0.0", + "auto-bind": "^1.1.0", + "ava-init": "^0.2.0", + "babel-core": "^6.17.0", + "babel-generator": "^6.26.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "bluebird": "^3.0.0", + "caching-transform": "^1.0.0", + "chalk": "^2.0.1", + "chokidar": "^1.4.2", + "clean-stack": "^1.1.1", + "clean-yaml-object": "^0.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.0", + "cli-truncate": "^1.0.0", + "co-with-promise": "^4.6.0", + "code-excerpt": "^2.1.1", + "common-path-prefix": "^1.0.0", + "concordance": "^3.0.0", + "convert-source-map": "^1.5.1", + "core-assert": "^0.2.0", + "currently-unhandled": "^0.4.1", + "debug": "^3.0.1", + "dot-prop": "^4.1.0", + "empower-core": "^0.6.1", + "equal-length": "^1.0.0", + "figures": "^2.0.0", + "find-cache-dir": "^1.0.0", + "fn-name": "^2.0.0", + "get-port": "^3.0.0", + "globby": "^6.0.0", + "has-flag": "^2.0.0", + "hullabaloo-config-manager": "^1.1.0", + "ignore-by-default": "^1.0.0", + "import-local": "^0.1.1", + "indent-string": "^3.0.0", + "is-ci": "^1.0.7", + "is-generator-fn": "^1.0.0", + "is-obj": "^1.0.0", + "is-observable": "^1.0.0", + "is-promise": "^2.1.0", + "last-line-stream": "^1.0.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.debounce": "^4.0.3", + "lodash.difference": "^4.3.0", + "lodash.flatten": "^4.2.0", + "loud-rejection": "^1.2.0", + "make-dir": "^1.0.0", + "matcher": "^1.0.0", + "md5-hex": "^2.0.0", + "meow": "^3.7.0", + "ms": "^2.0.0", + "multimatch": "^2.1.0", + "observable-to-promise": "^0.5.0", + "option-chain": "^1.0.0", + "package-hash": "^2.0.0", + "pkg-conf": "^2.0.0", + "plur": "^2.0.0", + "pretty-ms": "^3.0.0", + "require-precompiled": "^0.1.0", + "resolve-cwd": "^2.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.4.1", + "slash": "^1.0.0", + "source-map-support": "^0.5.0", + "stack-utils": "^1.0.1", + "strip-ansi": "^4.0.0", + "strip-bom-buf": "^1.0.0", + "supertap": "^1.0.0", + "supports-color": "^5.0.0", + "trim-off-newlines": "^1.0.1", + "unique-temp-dir": "^1.0.0", + "update-notifier": "^2.3.0" }, "dependencies": { "ansi-regex": { @@ -2643,7 +2865,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "globby": { @@ -2652,11 +2874,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -2677,7 +2899,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "strip-ansi": { @@ -2686,7 +2908,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2697,11 +2919,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "1.0.0", - "execa": "0.7.0", - "has-yarn": "1.0.0", - "read-pkg-up": "2.0.0", - "write-pkg": "3.2.0" + "arr-exclude": "^1.0.0", + "execa": "^0.7.0", + "has-yarn": "^1.0.0", + "read-pkg-up": "^2.0.0", + "write-pkg": "^3.1.0" } }, "aws-sign2": { @@ -2719,8 +2941,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "1.5.0", - "is-buffer": "1.1.6" + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" } }, "babel-code-frame": { @@ -2729,9 +2951,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -2746,11 +2968,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -2767,25 +2989,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" }, "dependencies": { "debug": { @@ -2805,14 +3027,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -2829,9 +3051,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-call-delegate": { @@ -2840,10 +3062,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-explode-assignable-expression": { @@ -2852,9 +3074,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -2863,11 +3085,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -2876,8 +3098,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -2886,8 +3108,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -2896,9 +3118,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -2907,11 +3129,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -2920,8 +3142,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-messages": { @@ -2930,7 +3152,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -2939,7 +3161,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-espower": { @@ -2948,13 +3170,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babylon": "6.18.0", - "call-matcher": "1.0.1", - "core-js": "2.5.7", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "babel-generator": "^6.1.0", + "babylon": "^6.1.0", + "call-matcher": "^1.0.0", + "core-js": "^2.0.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.1.1" } }, "babel-plugin-syntax-async-functions": { @@ -2987,9 +3209,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -2998,7 +3220,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3007,9 +3229,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3018,10 +3240,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3030,12 +3252,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -3044,7 +3266,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3053,9 +3275,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3064,9 +3286,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3075,9 +3297,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -3086,8 +3308,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-register": { @@ -3096,13 +3318,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "source-map-support": { @@ -3111,7 +3333,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -3122,8 +3344,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -3132,11 +3354,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3145,15 +3367,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { "debug": { @@ -3173,10 +3395,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3195,13 +3417,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -3209,7 +3431,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3217,7 +3439,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3225,7 +3447,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3233,9 +3455,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -3246,7 +3468,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -3267,13 +3489,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3300,8 +3522,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3310,7 +3532,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3320,7 +3542,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -3329,16 +3551,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -3346,7 +3568,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -3385,7 +3607,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "3.2.0" + "long": "~3" }, "dependencies": { "long": { @@ -3400,15 +3622,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "cacheable-request": { @@ -3440,9 +3662,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" }, "dependencies": { "md5-hex": { @@ -3451,7 +3673,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "write-file-atomic": { @@ -3460,9 +3682,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } } } @@ -3473,10 +3695,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.5.7", - "deep-equal": "1.0.1", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.0.0" } }, "call-me-maybe": { @@ -3495,7 +3717,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -3515,8 +3737,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "capture-stack-trace": { @@ -3536,7 +3758,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "center-align": { @@ -3546,8 +3768,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -3556,9 +3778,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -3573,14 +3795,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -3589,7 +3812,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -3604,7 +3827,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -3626,10 +3849,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -3637,7 +3860,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -3666,7 +3889,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -3681,8 +3904,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3703,8 +3926,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3713,7 +3936,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3729,9 +3952,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "clone-response": { @@ -3740,7 +3963,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "co": { @@ -3754,7 +3977,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "1.0.0" + "pinkie-promise": "^1.0.0" } }, "code-excerpt": { @@ -3763,7 +3986,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "1.0.2" + "convert-to-spaces": "^1.0.1" } }, "code-point-at": { @@ -3778,7 +4001,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "2.87.0", + "request": "^2.81.0", "urlgrey": "0.4.4" } }, @@ -3787,8 +4010,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -3822,7 +4045,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -3854,7 +4077,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": "1.34.0" + "mime-db": ">= 1.34.0 < 2" }, "dependencies": { "mime-db": { @@ -3876,10 +4099,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "concordance": { @@ -3888,17 +4111,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "2.1.0", - "esutils": "2.0.2", - "fast-diff": "1.1.2", - "function-name-support": "0.2.0", - "js-string-escape": "1.0.1", - "lodash.clonedeep": "4.5.0", - "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "semver": "5.5.0", - "well-known-symbols": "1.0.0" + "date-time": "^2.1.0", + "esutils": "^2.0.2", + "fast-diff": "^1.1.1", + "function-name-support": "^0.2.0", + "js-string-escape": "^1.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.flattendeep": "^4.4.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "semver": "^5.3.0", + "well-known-symbols": "^1.0.0" }, "dependencies": { "date-time": { @@ -3907,7 +4130,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "1.0.0" + "time-zone": "^1.0.0" } } } @@ -3918,12 +4141,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "convert-source-map": { @@ -3955,8 +4178,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "1.0.1", - "is-error": "2.2.1" + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" } }, "core-js": { @@ -3975,7 +4198,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { @@ -3984,9 +4207,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "crypto-random-string": { @@ -4001,7 +4224,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -4010,7 +4233,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.45" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -4018,7 +4241,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-time": { @@ -4051,7 +4274,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -4077,8 +4300,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.12" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { @@ -4086,8 +4309,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4095,7 +4318,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4103,7 +4326,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4111,9 +4334,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -4124,13 +4347,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "globby": { @@ -4139,12 +4362,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -4165,7 +4388,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } } } @@ -4181,7 +4404,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -4200,8 +4423,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "doctrine": { @@ -4210,7 +4433,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -4219,8 +4442,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -4243,7 +4466,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -4252,8 +4475,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -4262,7 +4485,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer3": { @@ -4276,10 +4499,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "eastasianwidth": { @@ -4293,7 +4516,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -4301,7 +4524,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "empower": { @@ -4309,8 +4532,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "2.5.7", - "empower-core": "1.2.0" + "core-js": "^2.0.0", + "empower-core": "^1.2.0" } }, "empower-assert": { @@ -4319,7 +4542,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.2.0" } }, "empower-core": { @@ -4328,7 +4551,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "end-of-stream": { @@ -4336,7 +4559,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "ent": { @@ -4362,7 +4585,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -4371,11 +4594,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -4384,9 +4607,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { @@ -4395,9 +4618,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-error": { @@ -4412,9 +4635,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -4423,12 +4646,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -4437,11 +4660,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -4450,8 +4673,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -4460,10 +4683,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escallmatch": { @@ -4472,8 +4695,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "1.0.1", - "esprima": "2.7.3" + "call-matcher": "^1.0.0", + "esprima": "^2.0.0" }, "dependencies": { "esprima": { @@ -4496,11 +4719,11 @@ "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -4524,10 +4747,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { @@ -4536,73 +4759,58 @@ "integrity": "sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==", "dev": true, "requires": { - "ajv": "6.5.1", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "4.0.0", - "eslint-visitor-keys": "1.0.0", - "espree": "4.0.0", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.7.0", - "ignore": "3.3.10", - "imurmurhash": "0.1.4", - "inquirer": "5.2.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "string.prototype.matchall": "2.0.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.3", - "text-table": "0.2.0" + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.5.0", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.1.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" }, "dependencies": { - "acorn-jsx": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", - "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", - "dev": true, - "requires": { - "acorn": "5.7.1" - } - }, "ajv": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz", "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, - "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true - }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -4615,31 +4823,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" - } - }, - "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", - "dev": true, - "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - } - }, - "espree": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", - "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", - "dev": true, - "requires": { - "acorn": "5.7.1", - "acorn-jsx": "4.1.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "fast-deep-equal": { @@ -4654,70 +4842,19 @@ "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", "dev": true }, - "inquirer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", - "dev": true, - "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", - "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rxjs": "5.5.11", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" - } - }, - "table": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", - "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", - "dev": true, - "requires": { - "ajv": "6.5.1", - "ajv-keywords": "3.2.0", - "chalk": "2.4.1", - "lodash": "4.17.10", - "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "ansi-regex": "^3.0.0" } } } @@ -4728,7 +4865,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "5.0.1" + "get-stdin": "^5.0.1" }, "dependencies": { "get-stdin": { @@ -4745,10 +4882,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "3.3.10", - "minimatch": "3.0.4", - "resolve": "1.8.1", - "semver": "5.5.0" + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", + "semver": "^5.4.1" }, "dependencies": { "resolve": { @@ -4757,7 +4894,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } } } @@ -4768,8 +4905,18 @@ "integrity": "sha512-wNZ2z0oVCWnf+3BSI7roS+z4gGu2AwcPKUek+SlLZMZg+X0KbZLsB2knul7fd0K3iuIp402HIYzm4f2+OyfXxA==", "dev": true, "requires": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" + } + }, + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -4784,16 +4931,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "1.0.0", - "escallmatch": "1.5.0", - "escodegen": "1.10.0", - "escope": "3.6.0", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0", - "source-map": "0.5.7", - "type-name": "2.0.2", - "xtend": "4.0.1" + "array-find": "^1.0.0", + "escallmatch": "^1.5.0", + "escodegen": "^1.7.0", + "escope": "^3.3.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.3.0", + "estraverse": "^4.1.0", + "source-map": "^0.5.0", + "type-name": "^2.0.0", + "xtend": "^4.0.0" } }, "espower-loader": { @@ -4802,11 +4949,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "1.5.1", - "espower-source": "2.3.0", - "minimatch": "3.0.4", - "source-map-support": "0.4.18", - "xtend": "4.0.1" + "convert-source-map": "^1.1.0", + "espower-source": "^2.0.0", + "minimatch": "^3.0.0", + "source-map-support": "^0.4.0", + "xtend": "^4.0.0" }, "dependencies": { "source-map-support": { @@ -4815,7 +4962,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -4826,10 +4973,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "1.2.4", - "path-is-absolute": "1.0.1", - "source-map": "0.5.7", - "xtend": "4.0.1" + "is-url": "^1.2.1", + "path-is-absolute": "^1.0.0", + "source-map": "^0.5.0", + "xtend": "^4.0.0" } }, "espower-source": { @@ -4838,17 +4985,27 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.1", - "empower-assert": "1.1.0", - "escodegen": "1.10.0", - "espower": "2.1.1", - "estraverse": "4.2.0", - "merge-estraverse-visitors": "1.0.0", - "multi-stage-sourcemap": "0.2.1", - "path-is-absolute": "1.0.1", - "xtend": "4.0.1" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.10", + "convert-source-map": "^1.1.1", + "empower-assert": "^1.0.0", + "escodegen": "^1.10.0", + "espower": "^2.1.1", + "estraverse": "^4.0.0", + "merge-estraverse-visitors": "^1.0.0", + "multi-stage-sourcemap": "^0.2.1", + "path-is-absolute": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "espree": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", + "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", + "dev": true, + "requires": { + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" } }, "esprima": { @@ -4862,7 +5019,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "esquery": { @@ -4871,7 +5028,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -4880,7 +5037,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -4900,8 +5057,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "execa": { @@ -4910,13 +5067,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -4924,13 +5081,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -4946,7 +5103,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -4954,7 +5111,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4965,7 +5122,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { @@ -4974,11 +5131,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "is-number": { @@ -4987,7 +5144,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -5005,7 +5162,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5020,8 +5177,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -5029,7 +5186,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -5040,9 +5197,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -5050,14 +5207,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -5065,7 +5222,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -5073,7 +5230,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -5081,7 +5238,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -5089,7 +5246,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -5097,9 +5254,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -5125,12 +5282,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "@nodelib/fs.stat": "1.1.0", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.2", - "micromatch": "3.1.10" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.0.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" } }, "fast-json-stable-stringify": { @@ -5150,7 +5307,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -5159,8 +5316,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -5175,8 +5332,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" + "is-object": "~1.0.1", + "merge-descriptors": "~1.0.0" } }, "fill-range": { @@ -5184,10 +5341,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -5195,7 +5352,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -5206,9 +5363,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -5217,7 +5374,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -5226,10 +5383,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "fn-name": { @@ -5243,7 +5400,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" } }, "for-in": { @@ -5257,7 +5414,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -5275,9 +5432,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "formidable": { @@ -5291,7 +5448,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "from2": { @@ -5300,8 +5457,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, "fs-extra": { @@ -5310,16 +5467,611 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "minipass": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", + "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", + "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", + "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", + "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "yallist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", + "dev": true + } } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -5343,8 +6095,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "0.18.0", - "extend": "3.0.1", + "axios": "^0.18.0", + "extend": "^3.0.1", "retry-axios": "0.3.2" } }, @@ -5354,11 +6106,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "3.1.2", - "google-auto-auth": "0.10.1", - "pumpify": "1.5.1", - "request": "2.87.0", - "stream-events": "1.0.4" + "configstore": "^3.1.2", + "google-auto-auth": "^0.10.0", + "pumpify": "^1.4.0", + "request": "^2.85.0", + "stream-events": "^1.0.3" } }, "get-caller-file": { @@ -5395,7 +6147,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -5403,12 +6155,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -5417,8 +6169,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -5427,7 +6179,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -5442,7 +6194,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -5452,8 +6204,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -5461,7 +6213,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -5477,7 +6229,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -5491,13 +6243,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.2", - "glob": "7.1.2", - "ignore": "3.3.10", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "google-auth-library": { @@ -5505,13 +6257,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "0.18.0", - "gcp-metadata": "0.6.3", - "gtoken": "2.3.0", - "jws": "3.1.5", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.3", - "retry-axios": "0.3.2" + "axios": "^0.18.0", + "gcp-metadata": "^0.6.3", + "gtoken": "^2.3.0", + "jws": "^3.1.5", + "lodash.isstring": "^4.0.1", + "lru-cache": "^4.1.3", + "retry-axios": "^0.3.2" } }, "google-auto-auth": { @@ -5520,10 +6272,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "2.6.1", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.6.1", - "request": "2.87.0" + "async": "^2.3.0", + "gcp-metadata": "^0.6.1", + "google-auth-library": "^1.3.1", + "request": "^2.79.0" } }, "google-gax": { @@ -5531,17 +6283,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "3.6.0", - "extend": "3.0.1", - "globby": "8.0.1", - "google-auth-library": "1.6.1", - "google-proto-files": "0.16.1", - "grpc": "1.12.4", - "is-stream-ended": "0.1.4", - "lodash": "4.17.10", - "protobufjs": "6.8.6", - "retry-request": "4.0.0", - "through2": "2.0.3" + "duplexify": "^3.6.0", + "extend": "^3.0.1", + "globby": "^8.0.1", + "google-auth-library": "^1.6.1", + "google-proto-files": "^0.16.0", + "grpc": "^1.12.2", + "is-stream-ended": "^0.1.4", + "lodash": "^4.17.10", + "protobufjs": "^6.8.6", + "retry-request": "^4.0.0", + "through2": "^2.0.3" }, "dependencies": { "retry-request": { @@ -5549,7 +6301,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } } } @@ -5559,8 +6311,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "0.7.5", - "pify": "3.0.0" + "node-forge": "^0.7.4", + "pify": "^3.0.0" } }, "google-proto-files": { @@ -5568,9 +6320,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "8.0.1", - "power-assert": "1.6.0", - "protobufjs": "6.8.6" + "globby": "^8.0.0", + "power-assert": "^1.4.4", + "protobufjs": "^6.8.0" } }, "got": { @@ -5579,23 +6331,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "mimic-response": "1.0.0", - "p-cancelable": "0.3.0", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" }, "dependencies": { "prepend-http": { @@ -5610,7 +6362,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } } } @@ -5632,425 +6384,491 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.4.tgz", "integrity": "sha512-t0Hy4yoHHYLkK0b+ULTHw5ZuSFmWokCABY0C4bKQbE4jnm1hpjA23cQVD0xAqDcRHN5CkvFzlqb34ngV22dqoQ==", "requires": { - "lodash": "4.17.10", - "nan": "2.10.0", - "node-pre-gyp": "0.10.0", - "protobufjs": "5.0.3" + "lodash": "^4.17.5", + "nan": "^2.0.0", + "node-pre-gyp": "^0.10.0", + "protobufjs": "^5.0.3" }, "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "aproba": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { "version": "1.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "chownr": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" }, "code-point-at": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "core-util-is": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "deep-extend": { "version": "0.6.0", - "bundled": true + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, "delegates": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "detect-libc": { "version": "1.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.3" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { "version": "2.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "iconv-lite": { "version": "0.4.23", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.5", - "bundled": true + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "minipass": { "version": "2.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz", + "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", "requires": { - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" }, "dependencies": { "minimist": { "version": "0.0.8", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, "ms": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "needle": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.1.tgz", + "integrity": "sha512-t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q==", "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.23", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { "version": "0.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", + "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.1", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.8", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.4" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { "version": "1.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==" }, "npm-packlist": { "version": "1.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "object-assign": { "version": "4.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-tmpdir": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "process-nextick-args": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "protobufjs": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.2", - "yargs": "3.32.0" + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" } }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { "version": "5.1.2", - "bundled": true + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", - "bundled": true + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sax": { "version": "1.2.4", - "bundled": true + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { "version": "5.5.0", - "bundled": true + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "set-blocking": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "signal-exit": { "version": "3.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "safe-buffer": "5.1.2" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, - "string-width": { - "version": "1.0.2", - "bundled": true, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "tar": { "version": "4.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.4.tgz", + "integrity": "sha512-mq9ixIYfNF9SK0IS/h2HKMu8Q2iaCuhDDsZhdEag/FHv8fOaYld4vN7ouMgcSSt5WKZzPs8atclTcJm36OTh4w==", "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.3.3", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.3", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" } }, "util-deprecate": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "yallist": { "version": "3.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" } } }, @@ -6059,11 +6877,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.5", - "mime": "2.3.1", - "pify": "3.0.0" + "axios": "^0.18.0", + "google-p12-pem": "^1.0.0", + "jws": "^3.1.4", + "mime": "^2.2.0", + "pify": "^3.0.0" } }, "handlebars": { @@ -6072,10 +6890,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -6090,7 +6908,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -6105,8 +6923,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -6115,7 +6933,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -6124,7 +6942,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -6157,7 +6975,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "1.4.2" + "has-symbol-support-x": "^1.4.1" } }, "has-value": { @@ -6165,9 +6983,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -6175,8 +6993,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -6184,7 +7002,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6201,7 +7019,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "he": { @@ -6216,14 +7034,14 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.1.tgz", + "integrity": "sha512-Ba4+0M4YvIDUUsprMjhVTU1yN9F2/LJSAl69ZpzaLT4l4j5mwTS6jqqW9Ojvj6lKz/veqPzpJBqGbXspOb533A==", "dev": true }, "htmlparser2": { @@ -6232,12 +7050,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.2", - "domutils": "1.7.0", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "http-cache-semantics": { @@ -6251,9 +7069,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "hullabaloo-config-manager": { @@ -6262,20 +7080,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "es6-error": "4.1.1", - "graceful-fs": "4.1.11", - "indent-string": "3.2.0", - "json5": "0.5.1", - "lodash.clonedeep": "4.5.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "package-hash": "2.0.0", - "pkg-dir": "2.0.0", - "resolve-from": "3.0.0", - "safe-buffer": "5.1.2" + "dot-prop": "^4.1.0", + "es6-error": "^4.0.2", + "graceful-fs": "^4.1.11", + "indent-string": "^3.1.0", + "json5": "^0.5.1", + "lodash.clonedeep": "^4.5.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "package-hash": "^2.0.0", + "pkg-dir": "^2.0.0", + "resolve-from": "^3.0.0", + "safe-buffer": "^5.0.1" } }, "iconv-lite": { @@ -6284,7 +7102,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -6310,8 +7128,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -6336,8 +7154,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6357,8 +7175,62 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "2.22.2", - "sanitize-html": "1.18.2" + "moment": "^2.14.1", + "sanitize-html": "^1.13.0" + } + }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "intelli-espower-loader": { @@ -6367,7 +7239,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "1.2.2" + "espower-loader": "^1.0.0" } }, "into-stream": { @@ -6376,8 +7248,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" } }, "invariant": { @@ -6386,7 +7258,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -6410,7 +7282,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6418,7 +7290,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6435,7 +7307,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -6449,7 +7321,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -6464,7 +7336,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -6472,7 +7344,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6480,7 +7352,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6496,9 +7368,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -6520,7 +7392,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-error": { @@ -6545,7 +7417,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -6553,7 +7425,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-generator-fn": { @@ -6567,7 +7439,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-installed-globally": { @@ -6576,8 +7448,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-npm": { @@ -6591,7 +7463,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6599,7 +7471,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6622,7 +7494,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "^1.1.0" } }, "is-odd": { @@ -6630,7 +7502,7 @@ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -6652,7 +7524,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -6661,7 +7533,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -6675,7 +7547,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -6708,7 +7580,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-resolvable": { @@ -6790,18 +7662,18 @@ "dev": true }, "istanbul-lib-instrument": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-2.2.0.tgz", - "integrity": "sha512-ozQGtlIw+/a/F3n6QwWiuuyRAPp64+g2GVsKYsIez0sgIEzkU5ZpL2uZ5pmAzbEJ82anlRaPlOQZzkRXspgJyg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-2.3.0.tgz", + "integrity": "sha512-Ie1LGWJVCFDDJKKH4g1ffpFcZTEXEd6ay5l9fE8539y4qPErJnzo4psnGzDH92tcKvdUDdbxrKySYIbt6zB9hw==", "dev": true, "requires": { - "@babel/generator": "7.0.0-beta.49", - "@babel/parser": "7.0.0-beta.49", - "@babel/template": "7.0.0-beta.49", - "@babel/traverse": "7.0.0-beta.49", - "@babel/types": "7.0.0-beta.49", - "istanbul-lib-coverage": "2.0.0", - "semver": "5.5.0" + "@babel/generator": "7.0.0-beta.51", + "@babel/parser": "7.0.0-beta.51", + "@babel/template": "7.0.0-beta.51", + "@babel/traverse": "7.0.0-beta.51", + "@babel/types": "7.0.0-beta.51", + "istanbul-lib-coverage": "^2.0.0", + "semver": "^5.5.0" } }, "isurl": { @@ -6810,8 +7682,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" } }, "jest-docblock": { @@ -6838,8 +7710,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "js2xmlparser": { @@ -6848,7 +7720,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsbn": { @@ -6864,17 +7736,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.19", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", "taffydb": "2.6.2", - "underscore": "1.8.3" + "underscore": "~1.8.3" }, "dependencies": { "babylon": { @@ -6936,7 +7808,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -6963,7 +7835,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "jws": { @@ -6971,8 +7843,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "1.1.6", - "safe-buffer": "5.1.2" + "jwa": "^1.1.5", + "safe-buffer": "^5.0.1" } }, "keyv": { @@ -6995,7 +7867,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "last-line-stream": { @@ -7004,7 +7876,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "latest-version": { @@ -7013,7 +7885,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -7028,7 +7900,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "levn": { @@ -7037,8 +7909,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -7047,10 +7919,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, "dependencies": { "pify": { @@ -7067,8 +7939,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -7181,7 +8053,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -7190,8 +8062,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowercase-keys": { @@ -7205,8 +8077,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -7215,7 +8087,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-cache": { @@ -7234,7 +8106,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "marked": { @@ -7249,7 +8121,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.4" } }, "math-random": { @@ -7264,7 +8136,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -7279,7 +8151,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -7288,16 +8160,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "find-up": { @@ -7306,8 +8178,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "load-json-file": { @@ -7316,11 +8188,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "minimist": { @@ -7335,7 +8207,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-type": { @@ -7344,9 +8216,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -7367,7 +8239,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "read-pkg": { @@ -7376,9 +8248,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -7387,8 +8259,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "strip-bom": { @@ -7397,7 +8269,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -7414,7 +8286,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "merge2": { @@ -7439,19 +8311,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "mime": { @@ -7469,7 +8341,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "mimic-fn": { @@ -7489,7 +8361,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -7503,8 +8375,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -7512,7 +8384,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -7574,7 +8446,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "^0.1.34" }, "dependencies": { "source-map": { @@ -7583,7 +8455,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -7594,10 +8466,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" } }, "mute-stream": { @@ -7616,18 +8488,18 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "natural-compare": { @@ -7654,11 +8526,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.7.0", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" + "@sinonjs/formatio": "^2.0.0", + "just-extend": "^1.1.27", + "lolex": "^2.3.2", + "path-to-regexp": "^1.7.0", + "text-encoding": "^0.6.4" } }, "node-forge": { @@ -7672,10 +8544,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -7684,7 +8556,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -7693,9 +8565,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, "dependencies": { "prepend-http": { @@ -7712,7 +8584,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -7726,286 +8598,318 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "2.2.0", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.5", - "istanbul-reports": "1.4.1", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^2.1.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.5", + "istanbul-reports": "^1.4.1", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", "yargs": "11.1.0", - "yargs-parser": "8.1.0" + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "append-transform": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "arr-flatten": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", "dev": true }, "arr-union": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-unique": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "arrify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "assign-symbols": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, "async": { "version": "1.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "atob": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "base": { "version": "0.11.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "cache-base": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "caching-transform": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "class-utils": { "version": "0.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } }, "cliui": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { "wordwrap": { "version": "0.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } @@ -8013,55 +8917,64 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "collection-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "commondir": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "component-emitter": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "copy-descriptor": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", "dev": true, "requires": { "ms": "2.0.0" @@ -8069,120 +8982,134 @@ }, "debug-log": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", + "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } }, "expand-brackets": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -8190,644 +9117,727 @@ }, "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "extend-shallow": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } }, "extglob": { "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "fill-range": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "find-cache-dir": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "foreground-child": { "version": "1.5.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fragment-cache": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "get-value": { "version": "2.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } }, "has-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, "hosted-git-info": { "version": "2.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", "dev": true } } }, "is-extendable": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ=", "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=", "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "is-windows": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", + "integrity": "sha1-99jy5CuX43/nlhFMsPnWi146Q0E=", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha1-hTjZcDcss3FtU+VVI91UtVeo2Js=", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-report": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", + "integrity": "sha1-LfEhiMD6d5kMDSF20tC6M5QYglk=", "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "supports-color": { "version": "3.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } }, "istanbul-lib-source-maps": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz", + "integrity": "sha1-/+a+Tnq4bTYD5CkNVJkLFFBvybE=", "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" } }, "istanbul-reports": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.4.1.tgz", + "integrity": "sha1-Ty6OkoqnoF0dpsQn1AmLJlXsczQ=", "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "longest": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, "lru-cache": { "version": "4.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { "version": "0.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true } } }, "micromatch": { "version": "3.1.10", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mixin-deep": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=", "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -8835,422 +9845,479 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "nanomatch": { "version": "1.2.9", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-copy": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } }, "object-visit": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.pick": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, "path-exists": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } }, "posix-character-classes": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "read-pkg": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } }, "regex-not": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "repeat-element": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "resolve-url": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "ret": { "version": "0.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", "dev": true }, "right-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "set-value": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "snapdragon": { "version": "0.8.2", - "bundled": true, - "dev": true, - "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -9258,261 +10325,291 @@ }, "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "snapdragon-node": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { "version": "0.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", + "integrity": "sha1-z/WOc6giRhe2Vhq9wyWG6gyCJIw=", "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.1" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=", "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=", "dev": true }, "split-string": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "strip-bom": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "test-exclude": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", + "integrity": "sha1-36Ii8DSAvKaSB8pyizfXS0X3JPo=", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-object-path": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "uglify-js": { "version": "2.8.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { "version": "3.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -9520,64 +10617,71 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { "version": "0.4.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } }, "unset-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { "version": "0.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -9587,186 +10691,210 @@ }, "has-values": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true } } }, "urix": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "use": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha1-FHFr8D/f79AwQK71jYtLhfOnxUQ=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "11.1.0", - "bundled": true, - "dev": true, - "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha1-kLhpk07W6HERXqL/WLA/RyTtLXc=", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "cliui": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "yargs-parser": { "version": "9.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } }, "yargs-parser": { "version": "8.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha1-8TdqM7Ziml0GN4KUTacyYx6WaVA=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } @@ -9789,9 +10917,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -9799,7 +10927,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "kind-of": { @@ -9807,7 +10935,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9822,7 +10950,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.omit": { @@ -9831,8 +10959,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -9840,7 +10968,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "observable-to-promise": { @@ -9849,8 +10977,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "0.2.0", - "symbol-observable": "1.2.0" + "is-observable": "^0.2.0", + "symbol-observable": "^1.0.4" }, "dependencies": { "is-observable": { @@ -9859,7 +10987,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "0.2.4" + "symbol-observable": "^0.2.2" }, "dependencies": { "symbol-observable": { @@ -9877,7 +11005,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -9886,7 +11014,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -9895,8 +11023,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "option-chain": { @@ -9911,12 +11039,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -9943,7 +11071,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -9976,7 +11104,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -9985,7 +11113,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-timeout": { @@ -9994,7 +11122,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { @@ -10009,10 +11137,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "lodash.flattendeep": "4.4.0", - "md5-hex": "2.0.0", - "release-zalgo": "1.0.0" + "graceful-fs": "^4.1.11", + "lodash.flattendeep": "^4.4.0", + "md5-hex": "^2.0.0", + "release-zalgo": "^1.0.0" } }, "package-json": { @@ -10021,10 +11149,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" }, "dependencies": { "got": { @@ -10033,17 +11161,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } } } @@ -10054,10 +11182,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "is-extglob": { @@ -10072,7 +11200,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -10083,7 +11211,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -10153,7 +11281,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "performance-now": { @@ -10178,7 +11306,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } }, "pkg-conf": { @@ -10187,8 +11315,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" }, "dependencies": { "load-json-file": { @@ -10197,10 +11325,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -10209,8 +11337,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -10221,7 +11349,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plur": { @@ -10230,7 +11358,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "1.4.0" + "irregular-plurals": "^1.0.0" } }, "pluralize": { @@ -10250,9 +11378,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "dependencies": { "source-map": { @@ -10268,11 +11396,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "1.1.2", - "empower": "1.3.0", - "power-assert-formatter": "1.4.1", - "universal-deep-strict-equal": "1.2.2", - "xtend": "4.0.1" + "define-properties": "^1.1.2", + "empower": "^1.3.0", + "power-assert-formatter": "^1.4.1", + "universal-deep-strict-equal": "^1.2.1", + "xtend": "^4.0.0" } }, "power-assert-context-formatter": { @@ -10280,8 +11408,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "2.5.7", - "power-assert-context-traversal": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.2.0" } }, "power-assert-context-reducer-ast": { @@ -10289,11 +11417,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.7", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" } }, "power-assert-context-traversal": { @@ -10301,8 +11429,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "2.5.7", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "estraverse": "^4.1.0" } }, "power-assert-formatter": { @@ -10310,13 +11438,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.7", - "power-assert-context-formatter": "1.2.0", - "power-assert-context-reducer-ast": "1.2.0", - "power-assert-renderer-assertion": "1.2.0", - "power-assert-renderer-comparison": "1.2.0", - "power-assert-renderer-diagram": "1.2.0", - "power-assert-renderer-file": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" } }, "power-assert-renderer-assertion": { @@ -10324,8 +11452,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0" + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0" } }, "power-assert-renderer-base": { @@ -10338,11 +11466,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "2.5.7", - "diff-match-patch": "1.0.1", - "power-assert-renderer-base": "1.1.1", - "stringifier": "1.3.0", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" } }, "power-assert-renderer-diagram": { @@ -10350,10 +11478,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "2.5.7", - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0", - "stringifier": "1.3.0" + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0", + "stringifier": "^1.3.0" } }, "power-assert-renderer-file": { @@ -10361,7 +11489,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "1.1.1" + "power-assert-renderer-base": "^1.1.1" } }, "power-assert-util-string-width": { @@ -10369,7 +11497,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "0.2.0" + "eastasianwidth": "^0.2.0" } }, "prelude-ls": { @@ -10402,7 +11530,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "1.0.1" + "parse-ms": "^1.0.0" }, "dependencies": { "parse-ms": { @@ -10435,19 +11563,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/base64": "1.1.2", - "@protobufjs/codegen": "2.0.4", - "@protobufjs/eventemitter": "1.1.0", - "@protobufjs/fetch": "1.1.0", - "@protobufjs/float": "1.0.2", - "@protobufjs/inquire": "1.1.0", - "@protobufjs/path": "1.1.2", - "@protobufjs/pool": "1.1.0", - "@protobufjs/utf8": "1.1.0", - "@types/long": "3.0.32", - "@types/node": "8.10.20", - "long": "4.0.0" + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^3.0.32", + "@types/node": "^8.9.4", + "long": "^4.0.0" }, "dependencies": { "@types/node": { @@ -10463,9 +11591,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" + "fill-keys": "^1.0.2", + "module-not-found-error": "^1.0.0", + "resolve": "~1.1.7" } }, "pseudomap": { @@ -10479,8 +11607,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -10489,9 +11617,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -10510,9 +11638,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "randomatic": { @@ -10521,9 +11649,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -10540,10 +11668,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -10560,9 +11688,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" }, "dependencies": { "path-type": { @@ -10571,7 +11699,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -10588,8 +11716,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "readable-stream": { @@ -10597,13 +11725,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -10612,10 +11740,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "redent": { @@ -10624,8 +11752,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" }, "dependencies": { "indent-string": { @@ -10634,7 +11762,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } } } @@ -10657,7 +11785,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -10665,8 +11793,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexp.prototype.flags": { @@ -10675,7 +11803,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "1.1.2" + "define-properties": "^1.1.2" } }, "regexpp": { @@ -10690,9 +11818,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -10701,8 +11829,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.8", - "safe-buffer": "5.1.2" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -10711,7 +11839,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.8" + "rc": "^1.0.1" } }, "regjsgen": { @@ -10726,7 +11854,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "release-zalgo": { @@ -10735,7 +11863,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.1.1" + "es6-error": "^4.0.1" } }, "remove-trailing-separator": { @@ -10760,7 +11888,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -10768,26 +11896,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -10814,8 +11942,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" }, "dependencies": { "resolve-from": { @@ -10832,7 +11960,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -10855,7 +11983,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -10875,7 +12003,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -10884,8 +12012,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -10903,8 +12031,8 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "requires": { - "request": "2.87.0", - "through2": "2.0.3" + "request": "^2.81.0", + "through2": "^2.0.0" } }, "right-align": { @@ -10914,7 +12042,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -10923,7 +12051,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -10932,7 +12060,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rxjs": { @@ -10962,7 +12090,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -10982,16 +12110,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "2.4.1", - "htmlparser2": "3.9.2", - "lodash.clonedeep": "4.5.0", - "lodash.escaperegexp": "4.1.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mergewith": "4.6.1", - "postcss": "6.0.23", - "srcset": "1.0.0", - "xtend": "4.0.1" + "chalk": "^2.3.0", + "htmlparser2": "^3.9.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.0", + "postcss": "^6.0.14", + "srcset": "^1.0.0", + "xtend": "^4.0.0" } }, "semver": { @@ -11006,7 +12134,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "serialize-error": { @@ -11032,10 +12160,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -11043,7 +12171,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11054,7 +12182,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -11075,13 +12203,13 @@ "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.5.0", + "lodash.get": "^4.4.2", + "lolex": "^2.4.2", + "nise": "^1.3.3", + "supports-color": "^5.4.0", + "type-detect": "^4.0.8" } }, "slash": { @@ -11095,7 +12223,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -11123,14 +12251,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -11146,7 +12274,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11154,7 +12282,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11164,9 +12292,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -11174,7 +12302,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -11182,7 +12310,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11190,7 +12318,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11198,9 +12326,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -11210,7 +12338,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { @@ -11218,7 +12346,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11229,7 +12357,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-map": { @@ -11242,11 +12370,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -11255,8 +12383,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "source-map": { @@ -11278,8 +12406,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -11294,8 +12422,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -11309,7 +12437,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "0.1.4" + "is-stream-ended": "^0.1.4" } }, "split-string": { @@ -11317,7 +12445,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -11332,8 +12460,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "1.0.3", - "number-is-nan": "1.0.1" + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" } }, "sshpk": { @@ -11341,15 +12469,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -11363,8 +12491,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -11372,7 +12500,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -11382,7 +12510,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "3.0.0" + "stubs": "^3.0.0" } }, "stream-shift": { @@ -11402,14 +12530,6 @@ "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", "dev": true }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.2" - } - }, "string-format-obj": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", @@ -11421,9 +12541,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string.prototype.matchall": { @@ -11432,11 +12552,19 @@ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "regexp.prototype.flags": "1.2.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" } }, "stringifier": { @@ -11444,9 +12572,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.7", - "traverse": "0.6.6", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" } }, "strip-ansi": { @@ -11454,7 +12582,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -11469,7 +12597,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.1" } }, "strip-eof": { @@ -11484,7 +12612,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -11504,16 +12632,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.2", - "debug": "3.1.0", - "extend": "3.0.1", - "form-data": "2.3.2", - "formidable": "1.2.1", - "methods": "1.1.2", - "mime": "1.6.0", - "qs": "6.5.2", - "readable-stream": "2.3.6" + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" }, "dependencies": { "mime": { @@ -11530,11 +12658,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "1.0.1", - "indent-string": "3.2.0", - "js-yaml": "3.12.0", - "serialize-error": "2.1.0", - "strip-ansi": "4.0.0" + "arrify": "^1.0.1", + "indent-string": "^3.2.0", + "js-yaml": "^3.10.0", + "serialize-error": "^2.1.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -11549,7 +12677,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11560,8 +12688,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "1.1.2", - "superagent": "3.8.3" + "methods": "~1.1.2", + "superagent": "^3.0.0" } }, "supports-color": { @@ -11570,7 +12698,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -11587,6 +12715,77 @@ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", "dev": true }, + "table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "dev": true, + "requires": { + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz", + "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "taffydb": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", @@ -11599,7 +12798,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "text-encoding": { @@ -11625,8 +12824,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-zone": { @@ -11647,7 +12846,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -11661,7 +12860,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11669,7 +12868,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11679,10 +12878,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -11690,8 +12889,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "tough-cookie": { @@ -11699,7 +12898,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "traverse": { @@ -11730,7 +12929,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -11745,7 +12944,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -11772,9 +12971,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "camelcase": { @@ -11791,8 +12990,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -11817,9 +13016,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -11866,10 +13065,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -11877,7 +13076,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -11885,10 +13084,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -11899,7 +13098,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "unique-temp-dir": { @@ -11908,8 +13107,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", + "mkdirp": "^0.5.1", + "os-tmpdir": "^1.0.1", "uid2": "0.0.3" } }, @@ -11918,9 +13117,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "1.0.0", + "array-filter": "^1.0.0", "indexof": "0.0.1", - "object-keys": "1.0.12" + "object-keys": "^1.0.0" } }, "universalify": { @@ -11934,8 +13133,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -11943,9 +13142,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -11977,16 +13176,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.4.1", - "configstore": "3.1.2", - "import-lazy": "2.1.0", - "is-ci": "1.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "uri-js": { @@ -11995,7 +13194,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" }, "dependencies": { "punycode": { @@ -12017,7 +13216,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "url-to-options": { @@ -12037,7 +13236,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" } }, "util-deprecate": { @@ -12046,9 +13245,9 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.0.tgz", + "integrity": "sha512-ijO9N2xY/YaOqQ5yz5c4sy2ZjWmA6AR6zASb/gdpeKZ8+948CxwfMW9RrKVk5may6ev8c0/Xguu32e2Llelpqw==" }, "validate-npm-package-license": { "version": "3.0.3", @@ -12056,8 +13255,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -12065,9 +13264,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "well-known-symbols": { @@ -12082,7 +13281,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12097,7 +13296,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12118,8 +13317,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12128,7 +13327,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12149,8 +13348,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -12164,7 +13363,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -12173,9 +13372,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "write-json-file": { @@ -12184,12 +13383,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "5.0.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "pify": "3.0.0", - "sort-keys": "2.0.0", - "write-file-atomic": "2.3.0" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.0.0" }, "dependencies": { "detect-indent": { @@ -12206,8 +13405,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "2.0.0", - "write-json-file": "2.3.0" + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" } }, "xdg-basedir": { @@ -12242,13 +13441,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" } }, "yargs-parser": { @@ -12257,7 +13456,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a0f9078343d..3055419da16 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -67,7 +67,6 @@ "dependencies": { "@google-cloud/common": "^0.20.1", "google-gax": "^0.17.1", - "google-proto-files": "^0.16.1", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" @@ -75,21 +74,20 @@ "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", "@google-cloud/storage": "^1.7.0", - "async": "^2.0.1", + "async": "^2.6.1", "codecov": "^3.0.2", "eslint": "^5.0.1", "eslint-config-prettier": "^2.9.0", "eslint-plugin-node": "^6.0.1", - "eslint-plugin-prettier": "^2.6.0", + "eslint-plugin-prettier": "^2.6.1", "ink-docstrap": "^1.3.2", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", - "uuid": "^3.2.1", + "uuid": "^3.3.0", "mocha": "^5.2.0", "nyc": "^12.0.2", "power-assert": "^1.6.0", - "prettier": "^1.13.5", - "safe-buffer": "^5.1.2", - "sinon": "^6.0.0" + "prettier": "^1.13.6", + "sinon": "^6.0.1" } } diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index 0dada9c171c..888984d1725 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -17,7 +17,6 @@ 'use strict'; const assert = require('assert'); -const Buffer = require('safe-buffer').Buffer; const fs = require('fs'); const is = require('is'); const sinon = require('sinon'); From e0bb5bf3e744a23246af9084baafb5852f4076de Mon Sep 17 00:00:00 2001 From: DPE bot Date: Thu, 28 Jun 2018 16:25:51 -0700 Subject: [PATCH 166/588] Re-generate library using /synth.py (#105) --- .../google-cloud-vision/package-lock.json | 5472 ++++++++--------- 1 file changed, 2438 insertions(+), 3034 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index be5c9e5a442..ce7e0a908ec 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.8.0", - "babel-plugin-syntax-trailing-function-commas": "^6.20.0", - "babel-plugin-transform-async-to-generator": "^6.16.0", - "babel-plugin-transform-es2015-destructuring": "^6.19.0", - "babel-plugin-transform-es2015-function-name": "^6.9.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", - "babel-plugin-transform-es2015-parameters": "^6.21.0", - "babel-plugin-transform-es2015-spread": "^6.8.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", - "babel-plugin-transform-exponentiation-operator": "^6.8.0", - "package-hash": "^1.2.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "package-hash": "1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "^1.3.0" + "md5-hex": "1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "^2.0.0", - "babel-plugin-espower": "^2.3.2" + "@ava/babel-plugin-throws-helper": "2.0.0", + "babel-plugin-espower": "2.4.0" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.51", - "jsesc": "^2.5.1", - "lodash": "^4.17.5", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "jsesc": "2.5.1", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" + "lodash": "4.17.10" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "debug": "^3.1.0", - "globals": "^11.1.0", - "invariant": "^2.2.0", - "lodash": "^4.17.5" + "debug": "3.1.0", + "globals": "11.7.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "globals": { @@ -191,9 +191,9 @@ "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.5", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,7 +210,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "^1.0.1" + "arrify": "1.0.1" } }, "@google-cloud/common": { @@ -218,21 +218,21 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.1.tgz", "integrity": "sha512-LJB7CoNXEXY0mDWtF8E2cl3Y0kuMQ3wjH9Xr+Y7vH5gHgN82dDh1BMUOizRf9oXQFDWUgGERD5SdfBcjUhHmwA==", "requires": { - "@types/duplexify": "^3.5.0", - "@types/request": "^2.47.0", - "arrify": "^1.0.1", - "axios": "^0.18.0", - "duplexify": "^3.6.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auth-library": "^1.6.0", - "is": "^3.2.1", - "pify": "^3.0.0", - "request": "^2.87.0", - "retry-request": "^3.3.1", - "split-array-stream": "^2.0.0", - "stream-events": "^1.0.4", - "through2": "^2.0.3" + "@types/duplexify": "3.5.0", + "@types/request": "2.47.1", + "arrify": "1.0.1", + "axios": "0.18.0", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auth-library": "1.6.1", + "is": "3.2.1", + "pify": "3.0.0", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "2.0.0", + "stream-events": "1.0.4", + "through2": "2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "^5.5.0", + "semver": "5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -269,9 +269,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "is-fullwidth-code-point": { @@ -292,33 +292,33 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.3.0", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.1", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.9.1", - "istanbul-lib-report": "^1.1.2", - "istanbul-lib-source-maps": "^1.2.2", - "istanbul-reports": "^1.1.3", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.0.2", - "micromatch": "^2.3.11", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.5.4", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.1.1", - "yargs": "^10.0.3", - "yargs-parser": "^8.0.0" + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.4", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.1.1", + "yargs": "10.0.3", + "yargs-parser": "8.0.0" }, "dependencies": { "align-text": { @@ -327,9 +327,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -356,7 +356,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -371,7 +371,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -404,9 +404,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-generator": { @@ -415,14 +415,14 @@ "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.6", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-messages": { @@ -431,7 +431,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-runtime": { @@ -440,8 +440,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -450,11 +450,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" } }, "babel-traverse": { @@ -463,15 +463,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" } }, "babel-types": { @@ -480,10 +480,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -504,7 +504,7 @@ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -514,9 +514,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "builtin-modules": { @@ -531,9 +531,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -550,8 +550,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -560,11 +560,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "cliui": { @@ -574,8 +574,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -624,8 +624,8 @@ "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "which": "1.3.0" } }, "debug": { @@ -655,7 +655,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "detect-indent": { @@ -664,7 +664,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "error-ex": { @@ -673,7 +673,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "escape-string-regexp": { @@ -694,13 +694,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -709,9 +709,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" } } } @@ -722,7 +722,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -731,7 +731,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.3" } }, "extglob": { @@ -740,7 +740,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "filename-regex": { @@ -755,11 +755,11 @@ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "find-cache-dir": { @@ -768,9 +768,9 @@ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -779,7 +779,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -794,7 +794,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreground-child": { @@ -803,8 +803,8 @@ "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fs.realpath": { @@ -831,12 +831,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -845,8 +845,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -855,7 +855,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "globals": { @@ -876,10 +876,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -888,7 +888,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -899,7 +899,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -926,8 +926,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -942,7 +942,7 @@ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -969,7 +969,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-dotfile": { @@ -984,7 +984,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -1005,7 +1005,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -1014,7 +1014,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -1023,7 +1023,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { @@ -1032,7 +1032,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-posix-bracket": { @@ -1092,7 +1092,7 @@ "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -1101,13 +1101,13 @@ "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.1.1", - "semver": "^5.3.0" + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" } }, "istanbul-lib-report": { @@ -1116,10 +1116,10 @@ "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "supports-color": { @@ -1128,7 +1128,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -1139,11 +1139,11 @@ "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -1163,7 +1163,7 @@ "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "js-tokens": { @@ -1184,7 +1184,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -1200,7 +1200,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -1209,11 +1209,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -1222,8 +1222,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -1252,7 +1252,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "lru-cache": { @@ -1261,8 +1261,8 @@ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "md5-hex": { @@ -1271,7 +1271,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -1286,7 +1286,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.1.0" } }, "merge-source-map": { @@ -1295,7 +1295,7 @@ "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "micromatch": { @@ -1304,19 +1304,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mimic-fn": { @@ -1331,7 +1331,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "minimist": { @@ -1361,10 +1361,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" } }, "normalize-path": { @@ -1373,7 +1373,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -1382,7 +1382,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -1403,8 +1403,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "once": { @@ -1413,7 +1413,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -1422,8 +1422,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -1438,9 +1438,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -1461,7 +1461,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.1.0" } }, "parse-glob": { @@ -1470,10 +1470,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -1482,7 +1482,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "path-exists": { @@ -1491,7 +1491,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -1518,9 +1518,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -1541,7 +1541,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -1550,7 +1550,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -1559,8 +1559,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1583,8 +1583,8 @@ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -1593,7 +1593,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -1602,7 +1602,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1613,7 +1613,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1624,9 +1624,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -1635,8 +1635,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -1645,8 +1645,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1663,7 +1663,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "remove-trailing-separator": { @@ -1690,7 +1690,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "require-directory": { @@ -1718,7 +1718,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -1727,7 +1727,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "semver": { @@ -1748,7 +1748,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -1781,12 +1781,12 @@ "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" } }, "spdx-correct": { @@ -1795,7 +1795,7 @@ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { - "spdx-license-ids": "^1.0.2" + "spdx-license-ids": "1.2.2" } }, "spdx-expression-parse": { @@ -1816,8 +1816,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -1838,7 +1838,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -1849,7 +1849,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -1858,7 +1858,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -1879,11 +1879,11 @@ "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-fast-properties": { @@ -1905,9 +1905,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -1917,9 +1917,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -1938,8 +1938,8 @@ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" } }, "which": { @@ -1948,7 +1948,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -1976,8 +1976,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "string-width": { @@ -1986,9 +1986,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -2005,9 +2005,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -2028,18 +2028,18 @@ "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", "dev": true, "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^8.0.0" + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" }, "dependencies": { "cliui": { @@ -2048,9 +2048,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -2059,9 +2059,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -2074,7 +2074,7 @@ "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -2093,9 +2093,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "sinon": { @@ -2104,13 +2104,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.1.0", - "lodash.get": "^4.4.2", - "lolex": "^2.2.0", - "nise": "^1.2.0", - "supports-color": "^5.1.0", - "type-detect": "^4.0.5" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "string-width": { @@ -2119,8 +2119,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -2129,7 +2129,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs": { @@ -2138,18 +2138,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" } } } @@ -2160,27 +2160,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "^0.17.0", - "arrify": "^1.0.0", - "async": "^2.0.1", - "compressible": "^2.0.12", - "concat-stream": "^1.5.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "extend": "^3.0.0", - "gcs-resumable-upload": "^0.10.2", - "hash-stream-validation": "^0.2.1", - "is": "^3.0.1", - "mime": "^2.2.0", - "mime-types": "^2.0.8", - "once": "^1.3.1", - "pumpify": "^1.5.1", - "request": "^2.85.0", - "safe-buffer": "^5.1.1", - "snakeize": "^0.1.0", - "stream-events": "^1.0.1", - "through2": "^2.0.0", - "xdg-basedir": "^3.0.0" + "@google-cloud/common": "0.17.0", + "arrify": "1.0.1", + "async": "2.6.1", + "compressible": "2.0.14", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "extend": "3.0.1", + "gcs-resumable-upload": "0.10.2", + "hash-stream-validation": "0.2.1", + "is": "3.2.1", + "mime": "2.3.1", + "mime-types": "2.1.18", + "once": "1.4.0", + "pumpify": "1.5.1", + "request": "2.87.0", + "safe-buffer": "5.1.2", + "snakeize": "0.1.0", + "stream-events": "1.0.4", + "through2": "2.0.3", + "xdg-basedir": "3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -2189,24 +2189,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "^1.0.3", - "arrify": "^1.0.1", - "concat-stream": "^1.6.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auto-auth": "^0.10.0", - "is": "^3.2.0", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auto-auth": "0.10.1", + "is": "3.2.1", "log-driver": "1.2.7", - "methmeth": "^1.1.0", - "modelo": "^4.2.0", - "request": "^2.79.0", - "retry-request": "^3.0.0", - "split-array-stream": "^1.0.0", - "stream-events": "^1.0.1", - "string-format-obj": "^1.1.0", - "through2": "^2.0.3" + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "1.0.3", + "stream-events": "1.0.4", + "string-format-obj": "1.1.1", + "through2": "2.0.3" } }, "split-array-stream": { @@ -2215,8 +2215,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "^2.4.0", - "is-stream-ended": "^0.1.0" + "async": "2.6.1", + "is-stream-ended": "0.1.4" } } } @@ -2227,10 +2227,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "^0.4.0", - "date-time": "^0.1.1", - "pretty-ms": "^0.2.1", - "text-table": "^0.2.0" + "chalk": "0.4.0", + "date-time": "0.1.1", + "pretty-ms": "0.2.2", + "text-table": "0.2.0" }, "dependencies": { "ansi-styles": { @@ -2245,9 +2245,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" } }, "pretty-ms": { @@ -2256,7 +2256,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "^0.1.0" + "parse-ms": "0.1.2" } }, "strip-ansi": { @@ -2272,8 +2272,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" } }, "@nodelib/fs.stat": { @@ -2306,8 +2306,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/inquire": "1.1.0" } }, "@protobufjs/float": { @@ -2360,7 +2360,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "*" + "@types/node": "10.3.6" } }, "@types/form-data": { @@ -2368,7 +2368,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "*" + "@types/node": "10.3.6" } }, "@types/long": { @@ -2386,10 +2386,10 @@ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "*", - "@types/form-data": "*", - "@types/node": "*", - "@types/tough-cookie": "*" + "@types/caseless": "0.12.1", + "@types/form-data": "2.2.1", + "@types/node": "10.3.6", + "@types/tough-cookie": "2.3.3" } }, "@types/tough-cookie": { @@ -2413,7 +2413,7 @@ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "^5.0.3" + "acorn": "5.7.1" } }, "ajv": { @@ -2421,10 +2421,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -2439,9 +2439,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" }, "dependencies": { "kind-of": { @@ -2450,7 +2450,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2467,7 +2467,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -2488,8 +2488,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -2498,7 +2498,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2520,7 +2520,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "anymatch": { @@ -2529,8 +2529,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -2539,7 +2539,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "array-unique": { @@ -2554,9 +2554,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "expand-brackets": { @@ -2565,7 +2565,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "extglob": { @@ -2574,7 +2574,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-extglob": { @@ -2589,7 +2589,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "kind-of": { @@ -2598,7 +2598,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "micromatch": { @@ -2607,19 +2607,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } } } @@ -2630,7 +2630,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "argv": { @@ -2688,7 +2688,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -2711,8 +2711,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "~0.7.1", - "optjs": "~3.2.2" + "colour": "0.7.1", + "optjs": "3.2.2" } }, "asn1": { @@ -2736,7 +2736,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "async-each": { @@ -2767,89 +2767,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "^1.1.0", - "@ava/babel-preset-transform-test-files": "^3.0.0", - "@ava/write-file-atomic": "^2.2.0", - "@concordance/react": "^1.0.0", - "@ladjs/time-require": "^0.1.4", - "ansi-escapes": "^3.0.0", - "ansi-styles": "^3.1.0", - "arr-flatten": "^1.0.1", - "array-union": "^1.0.1", - "array-uniq": "^1.0.2", - "arrify": "^1.0.0", - "auto-bind": "^1.1.0", - "ava-init": "^0.2.0", - "babel-core": "^6.17.0", - "babel-generator": "^6.26.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "bluebird": "^3.0.0", - "caching-transform": "^1.0.0", - "chalk": "^2.0.1", - "chokidar": "^1.4.2", - "clean-stack": "^1.1.1", - "clean-yaml-object": "^0.1.0", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.0.0", - "cli-truncate": "^1.0.0", - "co-with-promise": "^4.6.0", - "code-excerpt": "^2.1.1", - "common-path-prefix": "^1.0.0", - "concordance": "^3.0.0", - "convert-source-map": "^1.5.1", - "core-assert": "^0.2.0", - "currently-unhandled": "^0.4.1", - "debug": "^3.0.1", - "dot-prop": "^4.1.0", - "empower-core": "^0.6.1", - "equal-length": "^1.0.0", - "figures": "^2.0.0", - "find-cache-dir": "^1.0.0", - "fn-name": "^2.0.0", - "get-port": "^3.0.0", - "globby": "^6.0.0", - "has-flag": "^2.0.0", - "hullabaloo-config-manager": "^1.1.0", - "ignore-by-default": "^1.0.0", - "import-local": "^0.1.1", - "indent-string": "^3.0.0", - "is-ci": "^1.0.7", - "is-generator-fn": "^1.0.0", - "is-obj": "^1.0.0", - "is-observable": "^1.0.0", - "is-promise": "^2.1.0", - "last-line-stream": "^1.0.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.debounce": "^4.0.3", - "lodash.difference": "^4.3.0", - "lodash.flatten": "^4.2.0", - "loud-rejection": "^1.2.0", - "make-dir": "^1.0.0", - "matcher": "^1.0.0", - "md5-hex": "^2.0.0", - "meow": "^3.7.0", - "ms": "^2.0.0", - "multimatch": "^2.1.0", - "observable-to-promise": "^0.5.0", - "option-chain": "^1.0.0", - "package-hash": "^2.0.0", - "pkg-conf": "^2.0.0", - "plur": "^2.0.0", - "pretty-ms": "^3.0.0", - "require-precompiled": "^0.1.0", - "resolve-cwd": "^2.0.0", - "safe-buffer": "^5.1.1", - "semver": "^5.4.1", - "slash": "^1.0.0", - "source-map-support": "^0.5.0", - "stack-utils": "^1.0.1", - "strip-ansi": "^4.0.0", - "strip-bom-buf": "^1.0.0", - "supertap": "^1.0.0", - "supports-color": "^5.0.0", - "trim-off-newlines": "^1.0.1", - "unique-temp-dir": "^1.0.0", - "update-notifier": "^2.3.0" + "@ava/babel-preset-stage-4": "1.1.0", + "@ava/babel-preset-transform-test-files": "3.0.0", + "@ava/write-file-atomic": "2.2.0", + "@concordance/react": "1.0.0", + "@ladjs/time-require": "0.1.4", + "ansi-escapes": "3.1.0", + "ansi-styles": "3.2.1", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.2.1", + "ava-init": "0.2.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.4.1", + "chokidar": "1.7.0", + "clean-stack": "1.3.0", + "clean-yaml-object": "0.1.0", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "cli-truncate": "1.1.0", + "co-with-promise": "4.6.0", + "code-excerpt": "2.1.1", + "common-path-prefix": "1.0.0", + "concordance": "3.0.0", + "convert-source-map": "1.5.1", + "core-assert": "0.2.1", + "currently-unhandled": "0.4.1", + "debug": "3.1.0", + "dot-prop": "4.2.0", + "empower-core": "0.6.2", + "equal-length": "1.0.1", + "figures": "2.0.0", + "find-cache-dir": "1.0.0", + "fn-name": "2.0.1", + "get-port": "3.2.0", + "globby": "6.1.0", + "has-flag": "2.0.0", + "hullabaloo-config-manager": "1.1.1", + "ignore-by-default": "1.0.1", + "import-local": "0.1.1", + "indent-string": "3.2.0", + "is-ci": "1.1.0", + "is-generator-fn": "1.0.0", + "is-obj": "1.0.1", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "last-line-stream": "1.0.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.debounce": "4.0.8", + "lodash.difference": "4.5.0", + "lodash.flatten": "4.4.0", + "loud-rejection": "1.6.0", + "make-dir": "1.3.0", + "matcher": "1.1.1", + "md5-hex": "2.0.0", + "meow": "3.7.0", + "ms": "2.0.0", + "multimatch": "2.1.0", + "observable-to-promise": "0.5.0", + "option-chain": "1.0.0", + "package-hash": "2.0.0", + "pkg-conf": "2.1.0", + "plur": "2.1.2", + "pretty-ms": "3.2.0", + "require-precompiled": "0.1.0", + "resolve-cwd": "2.0.0", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slash": "1.0.0", + "source-map-support": "0.5.6", + "stack-utils": "1.0.1", + "strip-ansi": "4.0.0", + "strip-bom-buf": "1.0.0", + "supertap": "1.0.0", + "supports-color": "5.4.0", + "trim-off-newlines": "1.0.1", + "unique-temp-dir": "1.0.0", + "update-notifier": "2.5.0" }, "dependencies": { "ansi-regex": { @@ -2865,7 +2865,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "globby": { @@ -2874,11 +2874,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -2899,7 +2899,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "strip-ansi": { @@ -2908,7 +2908,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2919,11 +2919,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "^1.0.0", - "execa": "^0.7.0", - "has-yarn": "^1.0.0", - "read-pkg-up": "^2.0.0", - "write-pkg": "^3.1.0" + "arr-exclude": "1.0.0", + "execa": "0.7.0", + "has-yarn": "1.0.0", + "read-pkg-up": "2.0.0", + "write-pkg": "3.2.0" } }, "aws-sign2": { @@ -2941,8 +2941,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.0", + "is-buffer": "1.1.6" } }, "babel-code-frame": { @@ -2951,9 +2951,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -2968,11 +2968,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -2989,25 +2989,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -3027,14 +3027,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -3051,9 +3051,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-call-delegate": { @@ -3062,10 +3062,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-explode-assignable-expression": { @@ -3074,9 +3074,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -3085,11 +3085,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -3098,8 +3098,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -3108,8 +3108,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -3118,9 +3118,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -3129,11 +3129,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -3142,8 +3142,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-messages": { @@ -3152,7 +3152,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -3161,7 +3161,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-espower": { @@ -3170,13 +3170,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "^6.1.0", - "babylon": "^6.1.0", - "call-matcher": "^1.0.0", - "core-js": "^2.0.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.1.1" + "babel-generator": "6.26.1", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.7", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "babel-plugin-syntax-async-functions": { @@ -3209,9 +3209,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3220,7 +3220,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3229,9 +3229,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3240,10 +3240,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3252,12 +3252,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -3266,7 +3266,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3275,9 +3275,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3286,9 +3286,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3297,9 +3297,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-strict-mode": { @@ -3308,8 +3308,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-register": { @@ -3318,13 +3318,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "source-map-support": { @@ -3333,7 +3333,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -3344,8 +3344,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -3354,11 +3354,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -3367,15 +3367,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "debug": { @@ -3395,10 +3395,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3417,13 +3417,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3431,7 +3431,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3439,7 +3439,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3447,7 +3447,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3455,9 +3455,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3468,7 +3468,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary-extensions": { @@ -3489,13 +3489,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -3522,8 +3522,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3532,7 +3532,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3542,7 +3542,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -3551,16 +3551,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -3568,7 +3568,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -3607,7 +3607,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "~3" + "long": "3.2.0" }, "dependencies": { "long": { @@ -3622,15 +3622,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "cacheable-request": { @@ -3662,9 +3662,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" }, "dependencies": { "md5-hex": { @@ -3673,7 +3673,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "write-file-atomic": { @@ -3682,9 +3682,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } } } @@ -3695,10 +3695,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "^2.0.0", - "deep-equal": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.0.0" + "core-js": "2.5.7", + "deep-equal": "1.0.1", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "call-me-maybe": { @@ -3717,7 +3717,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -3737,8 +3737,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "capture-stack-trace": { @@ -3758,7 +3758,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "~0.3.0" + "underscore-contrib": "0.3.0" } }, "center-align": { @@ -3768,8 +3768,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -3778,9 +3778,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "chardet": { @@ -3795,15 +3795,14 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" }, "dependencies": { "glob-parent": { @@ -3812,7 +3811,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -3827,7 +3826,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -3849,10 +3848,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -3860,7 +3859,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -3889,7 +3888,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -3904,8 +3903,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" + "slice-ansi": "1.0.0", + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -3926,8 +3925,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3936,7 +3935,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3952,9 +3951,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone-response": { @@ -3963,7 +3962,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "co": { @@ -3977,7 +3976,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "^1.0.0" + "pinkie-promise": "1.0.0" } }, "code-excerpt": { @@ -3986,7 +3985,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "^1.0.1" + "convert-to-spaces": "1.0.2" } }, "code-point-at": { @@ -4001,7 +4000,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "^2.81.0", + "request": "2.87.0", "urlgrey": "0.4.4" } }, @@ -4010,8 +4009,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -4045,7 +4044,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -4077,7 +4076,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.34.0" }, "dependencies": { "mime-db": { @@ -4099,10 +4098,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "concordance": { @@ -4111,17 +4110,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "^2.1.0", - "esutils": "^2.0.2", - "fast-diff": "^1.1.1", - "function-name-support": "^0.2.0", - "js-string-escape": "^1.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.flattendeep": "^4.4.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "semver": "^5.3.0", - "well-known-symbols": "^1.0.0" + "date-time": "2.1.0", + "esutils": "2.0.2", + "fast-diff": "1.1.2", + "function-name-support": "0.2.0", + "js-string-escape": "1.0.1", + "lodash.clonedeep": "4.5.0", + "lodash.flattendeep": "4.4.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "semver": "5.5.0", + "well-known-symbols": "1.0.0" }, "dependencies": { "date-time": { @@ -4130,7 +4129,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "^1.0.0" + "time-zone": "1.0.0" } } } @@ -4141,12 +4140,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "convert-source-map": { @@ -4178,8 +4177,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "^1.0.0", - "is-error": "^2.2.0" + "buf-compare": "1.0.1", + "is-error": "2.2.1" } }, "core-js": { @@ -4198,7 +4197,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "cross-spawn": { @@ -4207,9 +4206,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "crypto-random-string": { @@ -4224,7 +4223,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -4233,7 +4232,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -4241,7 +4240,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-time": { @@ -4274,7 +4273,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "deep-equal": { @@ -4300,8 +4299,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.12" } }, "define-property": { @@ -4309,8 +4308,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4318,7 +4317,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4326,7 +4325,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4334,9 +4333,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -4347,13 +4346,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" }, "dependencies": { "globby": { @@ -4362,12 +4361,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -4388,7 +4387,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } } } @@ -4404,7 +4403,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "diff": { @@ -4423,8 +4422,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" + "arrify": "1.0.1", + "path-type": "3.0.0" } }, "doctrine": { @@ -4433,7 +4432,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-serializer": { @@ -4442,8 +4441,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -4466,7 +4465,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -4475,8 +4474,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -4485,7 +4484,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "duplexer3": { @@ -4499,10 +4498,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" } }, "eastasianwidth": { @@ -4516,7 +4515,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "ecdsa-sig-formatter": { @@ -4524,7 +4523,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "empower": { @@ -4532,8 +4531,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "^2.0.0", - "empower-core": "^1.2.0" + "core-js": "2.5.7", + "empower-core": "1.2.0" } }, "empower-assert": { @@ -4542,7 +4541,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "^4.2.0" + "estraverse": "4.2.0" } }, "empower-core": { @@ -4551,7 +4550,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "end-of-stream": { @@ -4559,7 +4558,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "ent": { @@ -4585,7 +4584,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -4594,11 +4593,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.3", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -4607,9 +4606,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { @@ -4618,9 +4617,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-error": { @@ -4635,9 +4634,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -4646,12 +4645,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-set": { @@ -4660,11 +4659,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -4673,8 +4672,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "es6-weak-map": { @@ -4683,10 +4682,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escallmatch": { @@ -4695,8 +4694,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "^1.0.0", - "esprima": "^2.0.0" + "call-matcher": "1.0.1", + "esprima": "2.7.3" }, "dependencies": { "esprima": { @@ -4719,11 +4718,11 @@ "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -4747,10 +4746,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint": { @@ -4759,44 +4758,44 @@ "integrity": "sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==", "dev": true, "requires": { - "ajv": "^6.5.0", - "babel-code-frame": "^6.26.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^4.0.0", - "eslint-visitor-keys": "^1.0.0", - "espree": "^4.0.0", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.5.0", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^5.2.0", - "is-resolvable": "^1.1.0", - "js-yaml": "^3.11.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.5", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.1.0", - "require-uncached": "^1.0.3", - "semver": "^5.5.0", - "string.prototype.matchall": "^2.0.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^4.0.3", - "text-table": "^0.2.0" + "ajv": "6.5.1", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "4.0.0", + "eslint-visitor-keys": "1.0.0", + "espree": "4.0.0", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.7.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "5.2.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "string.prototype.matchall": "2.0.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.3", + "text-table": "0.2.0" }, "dependencies": { "ajv": { @@ -4805,10 +4804,10 @@ "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ansi-regex": { @@ -4823,11 +4822,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "fast-deep-equal": { @@ -4854,7 +4853,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -4865,7 +4864,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "^5.0.1" + "get-stdin": "5.0.1" }, "dependencies": { "get-stdin": { @@ -4882,10 +4881,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "^3.3.6", - "minimatch": "^3.0.4", - "resolve": "^1.3.3", - "semver": "^5.4.1" + "ignore": "3.3.10", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.5.0" }, "dependencies": { "resolve": { @@ -4894,7 +4893,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } } } @@ -4905,8 +4904,8 @@ "integrity": "sha512-wNZ2z0oVCWnf+3BSI7roS+z4gGu2AwcPKUek+SlLZMZg+X0KbZLsB2knul7fd0K3iuIp402HIYzm4f2+OyfXxA==", "dev": true, "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" + "fast-diff": "1.1.2", + "jest-docblock": "21.2.0" } }, "eslint-scope": { @@ -4915,8 +4914,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint-visitor-keys": { @@ -4931,16 +4930,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "^1.0.0", - "escallmatch": "^1.5.0", - "escodegen": "^1.7.0", - "escope": "^3.3.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.3.0", - "estraverse": "^4.1.0", - "source-map": "^0.5.0", - "type-name": "^2.0.0", - "xtend": "^4.0.0" + "array-find": "1.0.0", + "escallmatch": "1.5.0", + "escodegen": "1.10.0", + "escope": "3.6.0", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0", + "source-map": "0.5.7", + "type-name": "2.0.2", + "xtend": "4.0.1" } }, "espower-loader": { @@ -4949,11 +4948,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "^1.1.0", - "espower-source": "^2.0.0", - "minimatch": "^3.0.0", - "source-map-support": "^0.4.0", - "xtend": "^4.0.0" + "convert-source-map": "1.5.1", + "espower-source": "2.3.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" }, "dependencies": { "source-map-support": { @@ -4962,7 +4961,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -4973,10 +4972,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "^1.2.1", - "path-is-absolute": "^1.0.0", - "source-map": "^0.5.0", - "xtend": "^4.0.0" + "is-url": "1.2.4", + "path-is-absolute": "1.0.1", + "source-map": "0.5.7", + "xtend": "4.0.1" } }, "espower-source": { @@ -4985,17 +4984,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.10", - "convert-source-map": "^1.1.1", - "empower-assert": "^1.0.0", - "escodegen": "^1.10.0", - "espower": "^2.1.1", - "estraverse": "^4.0.0", - "merge-estraverse-visitors": "^1.0.0", - "multi-stage-sourcemap": "^0.2.1", - "path-is-absolute": "^1.0.0", - "xtend": "^4.0.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.1", + "empower-assert": "1.1.0", + "escodegen": "1.10.0", + "espower": "2.1.1", + "estraverse": "4.2.0", + "merge-estraverse-visitors": "1.0.0", + "multi-stage-sourcemap": "0.2.1", + "path-is-absolute": "1.0.1", + "xtend": "4.0.1" } }, "espree": { @@ -5004,8 +5003,8 @@ "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "^5.6.0", - "acorn-jsx": "^4.1.1" + "acorn": "5.7.1", + "acorn-jsx": "4.1.1" } }, "esprima": { @@ -5019,7 +5018,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "esquery": { @@ -5028,7 +5027,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -5037,7 +5036,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -5057,8 +5056,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "execa": { @@ -5067,13 +5066,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -5081,13 +5080,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -5103,7 +5102,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -5111,7 +5110,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5122,7 +5121,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { @@ -5131,11 +5130,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "is-number": { @@ -5144,7 +5143,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "isobject": { @@ -5162,7 +5161,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5177,8 +5176,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -5186,7 +5185,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -5197,9 +5196,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -5207,14 +5206,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -5222,7 +5221,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -5230,7 +5229,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -5238,840 +5237,245 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" - }, - "fast-diff": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", - "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", - "dev": true - }, - "fast-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", - "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" - } - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", - "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", - "dev": true, - "requires": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", - "dev": true, - "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" - } - }, - "fn-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", - "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", - "dev": true - }, - "follow-redirects": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", - "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", - "requires": { - "debug": "^3.1.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - } - }, - "formidable": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", - "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "kind-of": "6.0.2" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", - "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "minipass": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", - "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", - "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", - "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", - "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", - "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", - "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", - "dev": true, - "optional": true, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "kind-of": "6.0.2" } }, - "util-deprecate": { + "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "dev": true, - "optional": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "string-width": "^1.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", + "dev": true + }, + "fast-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", + "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", + "requires": { + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.0", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "1.3.0", + "object-assign": "4.1.1" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", + "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", + "dev": true, + "requires": { + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "yallist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", - "dev": true } } }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } + }, + "fn-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", + "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", + "dev": true + }, + "follow-redirects": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", + "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", + "requires": { + "debug": "3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "formidable": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -6095,8 +5499,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "^0.18.0", - "extend": "^3.0.1", + "axios": "0.18.0", + "extend": "3.0.1", "retry-axios": "0.3.2" } }, @@ -6106,11 +5510,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "^3.1.2", - "google-auto-auth": "^0.10.0", - "pumpify": "^1.4.0", - "request": "^2.85.0", - "stream-events": "^1.0.3" + "configstore": "3.1.2", + "google-auto-auth": "0.10.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "stream-events": "1.0.4" } }, "get-caller-file": { @@ -6147,7 +5551,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -6155,12 +5559,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -6169,8 +5573,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" }, "dependencies": { "glob-parent": { @@ -6179,7 +5583,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -6194,7 +5598,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -6204,8 +5608,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -6213,7 +5617,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -6229,7 +5633,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { @@ -6243,13 +5647,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" } }, "google-auth-library": { @@ -6257,13 +5661,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "^0.18.0", - "gcp-metadata": "^0.6.3", - "gtoken": "^2.3.0", - "jws": "^3.1.5", - "lodash.isstring": "^4.0.1", - "lru-cache": "^4.1.3", - "retry-axios": "^0.3.2" + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.3.0", + "jws": "3.1.5", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.3", + "retry-axios": "0.3.2" } }, "google-auto-auth": { @@ -6272,10 +5676,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "^2.3.0", - "gcp-metadata": "^0.6.1", - "google-auth-library": "^1.3.1", - "request": "^2.79.0" + "async": "2.6.1", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.6.1", + "request": "2.87.0" } }, "google-gax": { @@ -6283,17 +5687,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "^3.6.0", - "extend": "^3.0.1", - "globby": "^8.0.1", - "google-auth-library": "^1.6.1", - "google-proto-files": "^0.16.0", - "grpc": "^1.12.2", - "is-stream-ended": "^0.1.4", - "lodash": "^4.17.10", - "protobufjs": "^6.8.6", - "retry-request": "^4.0.0", - "through2": "^2.0.3" + "duplexify": "3.6.0", + "extend": "3.0.1", + "globby": "8.0.1", + "google-auth-library": "1.6.1", + "google-proto-files": "0.16.1", + "grpc": "1.12.4", + "is-stream-ended": "0.1.4", + "lodash": "4.17.10", + "protobufjs": "6.8.6", + "retry-request": "4.0.0", + "through2": "2.0.3" }, "dependencies": { "retry-request": { @@ -6301,7 +5705,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } } } @@ -6311,8 +5715,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "^0.7.4", - "pify": "^3.0.0" + "node-forge": "0.7.5", + "pify": "3.0.0" } }, "google-proto-files": { @@ -6320,9 +5724,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "^8.0.0", - "power-assert": "^1.4.4", - "protobufjs": "^6.8.0" + "globby": "8.0.1", + "power-assert": "1.6.0", + "protobufjs": "6.8.6" } }, "got": { @@ -6331,23 +5735,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" }, "dependencies": { "prepend-http": { @@ -6362,7 +5766,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "2.0.0" } } } @@ -6384,10 +5788,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.4.tgz", "integrity": "sha512-t0Hy4yoHHYLkK0b+ULTHw5ZuSFmWokCABY0C4bKQbE4jnm1hpjA23cQVD0xAqDcRHN5CkvFzlqb34ngV22dqoQ==", "requires": { - "lodash": "^4.17.5", - "nan": "^2.0.0", - "node-pre-gyp": "^0.10.0", - "protobufjs": "^5.0.3" + "lodash": "4.17.10", + "nan": "2.10.0", + "node-pre-gyp": "0.10.0", + "protobufjs": "5.0.3" }, "dependencies": { "abbrev": { @@ -6410,8 +5814,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -6424,7 +5828,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -6481,7 +5885,7 @@ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "fs.realpath": { @@ -6494,14 +5898,14 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" } }, "glob": { @@ -6509,12 +5913,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -6527,7 +5931,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -6535,7 +5939,7 @@ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -6543,8 +5947,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -6562,7 +5966,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -6575,7 +5979,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -6588,8 +5992,8 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz", "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "minizlib": { @@ -6597,7 +6001,7 @@ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "mkdirp": { @@ -6625,9 +6029,9 @@ "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.1.tgz", "integrity": "sha512-t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q==", "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.23", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -6635,16 +6039,16 @@ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.1", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.8", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.4" } }, "nopt": { @@ -6652,8 +6056,8 @@ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -6666,8 +6070,8 @@ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -6675,10 +6079,10 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -6696,7 +6100,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -6714,8 +6118,8 @@ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -6733,10 +6137,10 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "~1", - "bytebuffer": "~5", - "glob": "^7.0.5", - "yargs": "^3.10.0" + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" } }, "rc": { @@ -6744,10 +6148,10 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, "readable-stream": { @@ -6755,13 +6159,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { @@ -6769,7 +6173,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -6802,22 +6206,22 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -6825,7 +6229,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -6838,13 +6242,13 @@ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.4.tgz", "integrity": "sha512-mq9ixIYfNF9SK0IS/h2HKMu8Q2iaCuhDDsZhdEag/FHv8fOaYld4vN7ouMgcSSt5WKZzPs8atclTcJm36OTh4w==", "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.3", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.3", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -6857,7 +6261,7 @@ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "wrappy": { @@ -6877,11 +6281,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "^0.18.0", - "google-p12-pem": "^1.0.0", - "jws": "^3.1.4", - "mime": "^2.2.0", - "pify": "^3.0.0" + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.5", + "mime": "2.3.1", + "pify": "3.0.0" } }, "handlebars": { @@ -6890,10 +6294,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -6908,7 +6312,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -6923,8 +6327,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has": { @@ -6933,7 +6337,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -6942,7 +6346,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-color": { @@ -6975,7 +6379,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "^1.4.1" + "has-symbol-support-x": "1.4.2" } }, "has-value": { @@ -6983,9 +6387,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -6993,8 +6397,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -7002,7 +6406,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7019,7 +6423,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "he": { @@ -7034,8 +6438,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -7050,12 +6454,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.4.2", + "domutils": "1.7.0", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "http-cache-semantics": { @@ -7069,9 +6473,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "hullabaloo-config-manager": { @@ -7080,20 +6484,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "es6-error": "^4.0.2", - "graceful-fs": "^4.1.11", - "indent-string": "^3.1.0", - "json5": "^0.5.1", - "lodash.clonedeep": "^4.5.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "package-hash": "^2.0.0", - "pkg-dir": "^2.0.0", - "resolve-from": "^3.0.0", - "safe-buffer": "^5.0.1" + "dot-prop": "4.2.0", + "es6-error": "4.1.1", + "graceful-fs": "4.1.11", + "indent-string": "3.2.0", + "json5": "0.5.1", + "lodash.clonedeep": "4.5.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.isequal": "4.5.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "package-hash": "2.0.0", + "pkg-dir": "2.0.0", + "resolve-from": "3.0.0", + "safe-buffer": "5.1.2" } }, "iconv-lite": { @@ -7102,7 +6506,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore": { @@ -7128,8 +6532,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -7154,8 +6558,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -7175,8 +6579,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "^2.14.1", - "sanitize-html": "^1.13.0" + "moment": "2.22.2", + "sanitize-html": "1.18.2" } }, "inquirer": { @@ -7185,19 +6589,19 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rxjs": "5.5.11", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -7218,8 +6622,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -7228,7 +6632,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -7239,7 +6643,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "^1.0.0" + "espower-loader": "1.2.2" } }, "into-stream": { @@ -7248,8 +6652,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" + "from2": "2.3.0", + "p-is-promise": "1.1.0" } }, "invariant": { @@ -7258,7 +6662,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -7282,7 +6686,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7290,7 +6694,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7307,7 +6711,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -7321,7 +6725,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -7336,7 +6740,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -7344,7 +6748,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7352,7 +6756,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7368,9 +6772,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -7392,7 +6796,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-error": { @@ -7417,7 +6821,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -7425,7 +6829,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-generator-fn": { @@ -7439,7 +6843,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -7448,8 +6852,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-npm": { @@ -7463,7 +6867,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7471,7 +6875,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7494,7 +6898,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "^1.1.0" + "symbol-observable": "1.2.0" } }, "is-odd": { @@ -7502,7 +6906,7 @@ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -7524,7 +6928,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -7533,7 +6937,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -7547,7 +6951,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-posix-bracket": { @@ -7580,7 +6984,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.3" } }, "is-resolvable": { @@ -7672,8 +7076,8 @@ "@babel/template": "7.0.0-beta.51", "@babel/traverse": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "istanbul-lib-coverage": "^2.0.0", - "semver": "^5.5.0" + "istanbul-lib-coverage": "2.0.0", + "semver": "5.5.0" } }, "isurl": { @@ -7682,8 +7086,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" } }, "jest-docblock": { @@ -7710,8 +7114,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "js2xmlparser": { @@ -7720,7 +7124,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "^1.0.1" + "xmlcreate": "1.0.2" } }, "jsbn": { @@ -7736,17 +7140,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "~3.5.0", - "catharsis": "~0.8.9", - "escape-string-regexp": "~1.0.5", - "js2xmlparser": "~3.0.0", - "klaw": "~2.0.0", - "marked": "~0.3.6", - "mkdirp": "~0.5.1", - "requizzle": "~0.2.1", - "strip-json-comments": "~2.0.1", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", "taffydb": "2.6.2", - "underscore": "~1.8.3" + "underscore": "1.8.3" }, "dependencies": { "babylon": { @@ -7808,7 +7212,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsprim": { @@ -7835,7 +7239,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "jws": { @@ -7843,8 +7247,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "^1.1.5", - "safe-buffer": "^5.0.1" + "jwa": "1.1.6", + "safe-buffer": "5.1.2" } }, "keyv": { @@ -7867,7 +7271,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "last-line-stream": { @@ -7876,7 +7280,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "latest-version": { @@ -7885,7 +7289,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -7900,7 +7304,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -7909,8 +7313,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -7919,10 +7323,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" }, "dependencies": { "pify": { @@ -7939,8 +7343,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -8053,7 +7457,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -8062,8 +7466,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowercase-keys": { @@ -8077,8 +7481,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -8087,7 +7491,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "map-cache": { @@ -8106,7 +7510,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "marked": { @@ -8121,7 +7525,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.4" + "escape-string-regexp": "1.0.5" } }, "math-random": { @@ -8136,7 +7540,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -8151,7 +7555,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "meow": { @@ -8160,16 +7564,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "find-up": { @@ -8178,8 +7582,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "load-json-file": { @@ -8188,11 +7592,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "minimist": { @@ -8207,7 +7611,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-type": { @@ -8216,9 +7620,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -8239,7 +7643,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "read-pkg": { @@ -8248,9 +7652,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -8259,8 +7663,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "strip-bom": { @@ -8269,7 +7673,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } } } @@ -8286,7 +7690,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "merge2": { @@ -8311,19 +7715,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "mime": { @@ -8341,7 +7745,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { @@ -8361,7 +7765,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -8375,8 +7779,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8384,7 +7788,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8446,7 +7850,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "^0.1.34" + "source-map": "0.1.43" }, "dependencies": { "source-map": { @@ -8455,7 +7859,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -8466,10 +7870,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" } }, "mute-stream": { @@ -8488,18 +7892,18 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "natural-compare": { @@ -8526,11 +7930,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "just-extend": "^1.1.27", - "lolex": "^2.3.2", - "path-to-regexp": "^1.7.0", - "text-encoding": "^0.6.4" + "@sinonjs/formatio": "2.0.0", + "just-extend": "1.1.27", + "lolex": "2.7.0", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" } }, "node-forge": { @@ -8544,10 +7948,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -8556,7 +7960,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-url": { @@ -8565,9 +7969,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" }, "dependencies": { "prepend-http": { @@ -8584,7 +7988,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -8598,33 +8002,33 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^2.1.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.5", - "istanbul-reports": "^1.4.1", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "2.3.0", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.5", + "istanbul-reports": "1.4.1", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", "yargs": "11.1.0", - "yargs-parser": "^8.0.0" + "yargs-parser": "8.1.0" }, "dependencies": { "align-text": { @@ -8633,9 +8037,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -8656,7 +8060,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -8725,13 +8129,13 @@ "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -8740,7 +8144,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -8749,7 +8153,7 @@ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8758,7 +8162,7 @@ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8767,9 +8171,9 @@ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8786,7 +8190,7 @@ "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -8796,16 +8200,16 @@ "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -8814,7 +8218,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8831,15 +8235,15 @@ "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "caching-transform": { @@ -8848,9 +8252,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -8867,8 +8271,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "class-utils": { @@ -8877,10 +8281,10 @@ "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -8889,7 +8293,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -8901,8 +8305,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -8927,8 +8331,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "commondir": { @@ -8967,8 +8371,8 @@ "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.1" } }, "debug": { @@ -9004,7 +8408,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-property": { @@ -9013,8 +8417,8 @@ "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -9023,7 +8427,7 @@ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9032,7 +8436,7 @@ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9041,9 +8445,9 @@ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9060,7 +8464,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "execa": { @@ -9069,13 +8473,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -9084,9 +8488,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } } } @@ -9097,13 +8501,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -9121,7 +8525,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -9130,7 +8534,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9141,8 +8545,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -9151,7 +8555,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -9162,14 +8566,14 @@ "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -9178,7 +8582,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -9187,7 +8591,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -9196,7 +8600,7 @@ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9205,7 +8609,7 @@ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9214,9 +8618,9 @@ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9233,10 +8637,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -9245,7 +8649,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9256,9 +8660,9 @@ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -9267,7 +8671,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -9282,8 +8686,8 @@ "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fragment-cache": { @@ -9292,7 +8696,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs.realpath": { @@ -9325,12 +8729,12 @@ "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "graceful-fs": { @@ -9345,10 +8749,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -9357,7 +8761,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -9368,9 +8772,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -9379,8 +8783,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -9389,7 +8793,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -9412,8 +8816,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -9434,7 +8838,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -9455,7 +8859,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-data-descriptor": { @@ -9464,7 +8868,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -9473,9 +8877,9 @@ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -9504,7 +8908,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -9513,7 +8917,7 @@ "integrity": "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ=", "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -9530,7 +8934,7 @@ "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-stream": { @@ -9581,7 +8985,7 @@ "integrity": "sha1-hTjZcDcss3FtU+VVI91UtVeo2Js=", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-report": { @@ -9590,10 +8994,10 @@ "integrity": "sha1-LfEhiMD6d5kMDSF20tC6M5QYglk=", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -9608,7 +9012,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9619,11 +9023,11 @@ "integrity": "sha1-/+a+Tnq4bTYD5CkNVJkLFFBvybE=", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" } }, "istanbul-reports": { @@ -9632,7 +9036,7 @@ "integrity": "sha1-Ty6OkoqnoF0dpsQn1AmLJlXsczQ=", "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "kind-of": { @@ -9641,7 +9045,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -9657,7 +9061,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -9666,11 +9070,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -9679,8 +9083,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -9703,8 +9107,8 @@ "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "map-cache": { @@ -9719,7 +9123,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5-hex": { @@ -9728,7 +9132,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -9743,7 +9147,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge-source-map": { @@ -9752,7 +9156,7 @@ "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", "dev": true, "requires": { - "source-map": "^0.6.1" + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -9769,19 +9173,19 @@ "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -9804,7 +9208,7 @@ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -9819,8 +9223,8 @@ "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -9829,7 +9233,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -9855,18 +9259,18 @@ "integrity": "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I=", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -9883,10 +9287,10 @@ "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { @@ -9895,7 +9299,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -9916,9 +9320,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -9927,7 +9331,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9938,7 +9342,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.pick": { @@ -9947,7 +9351,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "once": { @@ -9956,7 +9360,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -9965,8 +9369,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -9981,9 +9385,9 @@ "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -9998,7 +9402,7 @@ "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -10007,7 +9411,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { @@ -10022,7 +9426,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pascalcase": { @@ -10037,7 +9441,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -10064,9 +9468,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -10087,7 +9491,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -10096,7 +9500,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -10105,8 +9509,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -10129,9 +9533,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -10140,8 +9544,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -10150,8 +9554,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -10162,8 +9566,8 @@ "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "repeat-element": { @@ -10215,7 +9619,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -10224,7 +9628,7 @@ "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-regex": { @@ -10233,7 +9637,7 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "semver": { @@ -10254,10 +9658,10 @@ "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -10266,7 +9670,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10277,7 +9681,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -10304,14 +9708,14 @@ "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -10329,7 +9733,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -10338,7 +9742,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10349,9 +9753,9 @@ "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -10360,7 +9764,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -10369,7 +9773,7 @@ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -10378,7 +9782,7 @@ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -10387,9 +9791,9 @@ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -10406,7 +9810,7 @@ "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -10421,11 +9825,11 @@ "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { @@ -10440,12 +9844,12 @@ "integrity": "sha1-z/WOc6giRhe2Vhq9wyWG6gyCJIw=", "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.1" } }, "spdx-correct": { @@ -10454,8 +9858,8 @@ "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -10470,8 +9874,8 @@ "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -10486,7 +9890,7 @@ "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "static-extend": { @@ -10495,8 +9899,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -10505,7 +9909,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -10516,8 +9920,8 @@ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -10526,7 +9930,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "strip-bom": { @@ -10535,7 +9939,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -10550,11 +9954,11 @@ "integrity": "sha1-36Ii8DSAvKaSB8pyizfXS0X3JPo=", "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-object-path": { @@ -10563,7 +9967,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -10572,10 +9976,10 @@ "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -10584,8 +9988,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "uglify-js": { @@ -10595,9 +9999,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -10607,9 +10011,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -10628,10 +10032,10 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -10640,7 +10044,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -10649,10 +10053,10 @@ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -10663,8 +10067,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -10673,9 +10077,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -10709,7 +10113,7 @@ "integrity": "sha1-FHFr8D/f79AwQK71jYtLhfOnxUQ=", "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -10726,8 +10130,8 @@ "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "which": { @@ -10736,7 +10140,7 @@ "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -10764,8 +10168,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "ansi-regex": { @@ -10780,7 +10184,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -10789,9 +10193,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -10800,7 +10204,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -10817,9 +10221,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -10840,18 +10244,18 @@ "integrity": "sha1-kLhpk07W6HERXqL/WLA/RyTtLXc=", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "camelcase": { @@ -10866,9 +10270,9 @@ "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "yargs-parser": { @@ -10877,7 +10281,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10888,7 +10292,7 @@ "integrity": "sha1-8TdqM7Ziml0GN4KUTacyYx6WaVA=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -10917,9 +10321,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -10927,7 +10331,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "kind-of": { @@ -10935,7 +10339,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10950,7 +10354,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.omit": { @@ -10959,8 +10363,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -10968,7 +10372,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "observable-to-promise": { @@ -10977,8 +10381,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "^0.2.0", - "symbol-observable": "^1.0.4" + "is-observable": "0.2.0", + "symbol-observable": "1.2.0" }, "dependencies": { "is-observable": { @@ -10987,7 +10391,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "^0.2.2" + "symbol-observable": "0.2.4" }, "dependencies": { "symbol-observable": { @@ -11005,7 +10409,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -11014,7 +10418,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -11023,8 +10427,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "option-chain": { @@ -11039,12 +10443,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -11071,7 +10475,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-tmpdir": { @@ -11104,7 +10508,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -11113,7 +10517,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-timeout": { @@ -11122,7 +10526,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "^1.0.0" + "p-finally": "1.0.0" } }, "p-try": { @@ -11137,10 +10541,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "lodash.flattendeep": "^4.4.0", - "md5-hex": "^2.0.0", - "release-zalgo": "^1.0.0" + "graceful-fs": "4.1.11", + "lodash.flattendeep": "4.4.0", + "md5-hex": "2.0.0", + "release-zalgo": "1.0.0" } }, "package-json": { @@ -11149,10 +10553,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" }, "dependencies": { "got": { @@ -11161,17 +10565,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } } } @@ -11182,10 +10586,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" }, "dependencies": { "is-extglob": { @@ -11200,7 +10604,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -11211,7 +10615,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse-ms": { @@ -11281,7 +10685,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "performance-now": { @@ -11306,7 +10710,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "^1.0.0" + "pinkie": "1.0.0" } }, "pkg-conf": { @@ -11315,8 +10719,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" + "find-up": "2.1.0", + "load-json-file": "4.0.0" }, "dependencies": { "load-json-file": { @@ -11325,10 +10729,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "parse-json": { @@ -11337,8 +10741,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } @@ -11349,7 +10753,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" } }, "plur": { @@ -11358,7 +10762,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "^1.0.0" + "irregular-plurals": "1.4.0" } }, "pluralize": { @@ -11378,9 +10782,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" }, "dependencies": { "source-map": { @@ -11396,11 +10800,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "^1.1.2", - "empower": "^1.3.0", - "power-assert-formatter": "^1.4.1", - "universal-deep-strict-equal": "^1.2.1", - "xtend": "^4.0.0" + "define-properties": "1.1.2", + "empower": "1.3.0", + "power-assert-formatter": "1.4.1", + "universal-deep-strict-equal": "1.2.2", + "xtend": "4.0.1" } }, "power-assert-context-formatter": { @@ -11408,8 +10812,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "^2.0.0", - "power-assert-context-traversal": "^1.2.0" + "core-js": "2.5.7", + "power-assert-context-traversal": "1.2.0" } }, "power-assert-context-reducer-ast": { @@ -11417,11 +10821,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.12", - "core-js": "^2.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.2.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "core-js": "2.5.7", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "power-assert-context-traversal": { @@ -11429,8 +10833,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "^2.0.0", - "estraverse": "^4.1.0" + "core-js": "2.5.7", + "estraverse": "4.2.0" } }, "power-assert-formatter": { @@ -11438,13 +10842,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "^2.0.0", - "power-assert-context-formatter": "^1.0.7", - "power-assert-context-reducer-ast": "^1.0.7", - "power-assert-renderer-assertion": "^1.0.7", - "power-assert-renderer-comparison": "^1.0.7", - "power-assert-renderer-diagram": "^1.0.7", - "power-assert-renderer-file": "^1.0.7" + "core-js": "2.5.7", + "power-assert-context-formatter": "1.2.0", + "power-assert-context-reducer-ast": "1.2.0", + "power-assert-renderer-assertion": "1.2.0", + "power-assert-renderer-comparison": "1.2.0", + "power-assert-renderer-diagram": "1.2.0", + "power-assert-renderer-file": "1.2.0" } }, "power-assert-renderer-assertion": { @@ -11452,8 +10856,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0" + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0" } }, "power-assert-renderer-base": { @@ -11466,11 +10870,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "^2.0.0", - "diff-match-patch": "^1.0.0", - "power-assert-renderer-base": "^1.1.1", - "stringifier": "^1.3.0", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "diff-match-patch": "1.0.1", + "power-assert-renderer-base": "1.1.1", + "stringifier": "1.3.0", + "type-name": "2.0.2" } }, "power-assert-renderer-diagram": { @@ -11478,10 +10882,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "^2.0.0", - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0", - "stringifier": "^1.3.0" + "core-js": "2.5.7", + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0", + "stringifier": "1.3.0" } }, "power-assert-renderer-file": { @@ -11489,7 +10893,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "^1.1.1" + "power-assert-renderer-base": "1.1.1" } }, "power-assert-util-string-width": { @@ -11497,7 +10901,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "^0.2.0" + "eastasianwidth": "0.2.0" } }, "prelude-ls": { @@ -11530,7 +10934,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "^1.0.0" + "parse-ms": "1.0.1" }, "dependencies": { "parse-ms": { @@ -11563,19 +10967,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^3.0.32", - "@types/node": "^8.9.4", - "long": "^4.0.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/base64": "1.1.2", + "@protobufjs/codegen": "2.0.4", + "@protobufjs/eventemitter": "1.1.0", + "@protobufjs/fetch": "1.1.0", + "@protobufjs/float": "1.0.2", + "@protobufjs/inquire": "1.1.0", + "@protobufjs/path": "1.1.2", + "@protobufjs/pool": "1.1.0", + "@protobufjs/utf8": "1.1.0", + "@types/long": "3.0.32", + "@types/node": "8.10.20", + "long": "4.0.0" }, "dependencies": { "@types/node": { @@ -11591,9 +10995,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.0", - "resolve": "~1.1.7" + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" } }, "pseudomap": { @@ -11607,8 +11011,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -11617,9 +11021,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -11638,9 +11042,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, "randomatic": { @@ -11649,9 +11053,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -11668,10 +11072,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -11688,9 +11092,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" }, "dependencies": { "path-type": { @@ -11699,7 +11103,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "pify": { @@ -11716,8 +11120,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "readable-stream": { @@ -11725,13 +11129,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -11740,10 +11144,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, "redent": { @@ -11752,8 +11156,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" }, "dependencies": { "indent-string": { @@ -11762,7 +11166,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } } } @@ -11785,7 +11189,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -11793,8 +11197,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexp.prototype.flags": { @@ -11803,7 +11207,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "^1.1.2" + "define-properties": "1.1.2" } }, "regexpp": { @@ -11818,9 +11222,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -11829,8 +11233,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.8", + "safe-buffer": "5.1.2" } }, "registry-url": { @@ -11839,7 +11243,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.8" } }, "regjsgen": { @@ -11854,7 +11258,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" } }, "release-zalgo": { @@ -11863,7 +11267,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "^4.0.1" + "es6-error": "4.1.1" } }, "remove-trailing-separator": { @@ -11888,7 +11292,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -11896,26 +11300,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.0" } }, "require-directory": { @@ -11942,8 +11346,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" }, "dependencies": { "resolve-from": { @@ -11960,7 +11364,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "~1.6.0" + "underscore": "1.6.0" }, "dependencies": { "underscore": { @@ -11983,7 +11387,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -12003,7 +11407,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "1.0.1" } }, "restore-cursor": { @@ -12012,8 +11416,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -12031,8 +11435,8 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "requires": { - "request": "^2.81.0", - "through2": "^2.0.0" + "request": "2.87.0", + "through2": "2.0.3" } }, "right-align": { @@ -12042,7 +11446,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -12051,7 +11455,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "run-async": { @@ -12060,7 +11464,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rxjs": { @@ -12090,7 +11494,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -12110,16 +11514,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "^2.3.0", - "htmlparser2": "^3.9.0", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.mergewith": "^4.6.0", - "postcss": "^6.0.14", - "srcset": "^1.0.0", - "xtend": "^4.0.0" + "chalk": "2.4.1", + "htmlparser2": "3.9.2", + "lodash.clonedeep": "4.5.0", + "lodash.escaperegexp": "4.1.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mergewith": "4.6.1", + "postcss": "6.0.23", + "srcset": "1.0.0", + "xtend": "4.0.1" } }, "semver": { @@ -12134,7 +11538,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "serialize-error": { @@ -12160,10 +11564,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -12171,7 +11575,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12182,7 +11586,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -12203,13 +11607,13 @@ "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.5.0", - "lodash.get": "^4.4.2", - "lolex": "^2.4.2", - "nise": "^1.3.3", - "supports-color": "^5.4.0", - "type-detect": "^4.0.8" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "slash": { @@ -12223,7 +11627,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -12251,14 +11655,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -12274,7 +11678,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -12282,7 +11686,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12292,9 +11696,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -12302,7 +11706,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -12310,7 +11714,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -12318,7 +11722,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -12326,9 +11730,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -12338,7 +11742,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12346,7 +11750,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12357,7 +11761,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "source-map": { @@ -12370,11 +11774,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { @@ -12383,8 +11787,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.0", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -12406,8 +11810,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -12422,8 +11826,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -12437,7 +11841,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "^0.1.4" + "is-stream-ended": "0.1.4" } }, "split-string": { @@ -12445,7 +11849,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -12460,8 +11864,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "^1.0.2", - "number-is-nan": "^1.0.0" + "array-uniq": "1.0.3", + "number-is-nan": "1.0.1" } }, "sshpk": { @@ -12469,15 +11873,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -12491,8 +11895,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -12500,7 +11904,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -12510,7 +11914,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "^3.0.0" + "stubs": "3.0.0" } }, "stream-shift": { @@ -12530,6 +11934,14 @@ "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, "string-format-obj": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", @@ -12541,9 +11953,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string.prototype.matchall": { @@ -12552,19 +11964,11 @@ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.10.0", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "regexp.prototype.flags": "^1.2.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "regexp.prototype.flags": "1.2.0" } }, "stringifier": { @@ -12572,9 +11976,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "^2.0.0", - "traverse": "^0.6.6", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "traverse": "0.6.6", + "type-name": "2.0.2" } }, "strip-ansi": { @@ -12582,7 +11986,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -12597,7 +12001,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "^0.2.1" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -12612,7 +12016,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -12632,16 +12036,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" + "component-emitter": "1.2.1", + "cookiejar": "2.1.2", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.2", + "formidable": "1.2.1", + "methods": "1.1.2", + "mime": "1.6.0", + "qs": "6.5.2", + "readable-stream": "2.3.6" }, "dependencies": { "mime": { @@ -12658,11 +12062,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "indent-string": "^3.2.0", - "js-yaml": "^3.10.0", - "serialize-error": "^2.1.0", - "strip-ansi": "^4.0.0" + "arrify": "1.0.1", + "indent-string": "3.2.0", + "js-yaml": "3.12.0", + "serialize-error": "2.1.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -12677,7 +12081,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12688,8 +12092,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "~1.1.2", - "superagent": "^3.0.0" + "methods": "1.1.2", + "superagent": "3.8.3" } }, "supports-color": { @@ -12698,7 +12102,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" }, "dependencies": { "has-flag": { @@ -12721,12 +12125,12 @@ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "^6.0.1", - "ajv-keywords": "^3.0.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "6.5.1", + "ajv-keywords": "3.2.0", + "chalk": "2.4.1", + "lodash": "4.17.10", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ajv": { @@ -12735,10 +12139,10 @@ "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ansi-regex": { @@ -12771,8 +12175,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12781,7 +12185,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12798,7 +12202,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "text-encoding": { @@ -12824,8 +12228,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-zone": { @@ -12846,7 +12250,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-fast-properties": { @@ -12860,7 +12264,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12868,7 +12272,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12878,10 +12282,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -12889,8 +12293,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "tough-cookie": { @@ -12898,7 +12302,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "traverse": { @@ -12929,7 +12333,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -12944,7 +12348,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -12971,9 +12375,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "camelcase": { @@ -12990,8 +12394,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" } }, @@ -13016,9 +12420,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -13065,10 +12469,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -13076,7 +12480,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -13084,10 +12488,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -13098,7 +12502,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "unique-temp-dir": { @@ -13107,8 +12511,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "^0.5.1", - "os-tmpdir": "^1.0.1", + "mkdirp": "0.5.1", + "os-tmpdir": "1.0.2", "uid2": "0.0.3" } }, @@ -13117,9 +12521,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "^1.0.0", + "array-filter": "1.0.0", "indexof": "0.0.1", - "object-keys": "^1.0.0" + "object-keys": "1.0.12" } }, "universalify": { @@ -13133,8 +12537,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -13142,9 +12546,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -13176,16 +12580,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" } }, "uri-js": { @@ -13194,7 +12598,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" }, "dependencies": { "punycode": { @@ -13216,7 +12620,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "url-to-options": { @@ -13236,7 +12640,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" } }, "util-deprecate": { @@ -13255,8 +12659,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -13264,9 +12668,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "well-known-symbols": { @@ -13281,7 +12685,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -13296,7 +12700,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -13317,8 +12721,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -13327,7 +12731,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -13348,8 +12752,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -13363,7 +12767,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -13372,9 +12776,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "write-json-file": { @@ -13383,12 +12787,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" + "detect-indent": "5.0.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "pify": "3.0.0", + "sort-keys": "2.0.0", + "write-file-atomic": "2.3.0" }, "dependencies": { "detect-indent": { @@ -13405,8 +12809,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" + "sort-keys": "2.0.0", + "write-json-file": "2.3.0" } }, "xdg-basedir": { @@ -13441,13 +12845,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" } }, "yargs-parser": { @@ -13456,7 +12860,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { From 0511a1d386e016a9ae9f4dff3b4ef72f0b5aeb45 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 2 Jul 2018 20:52:07 -0700 Subject: [PATCH 167/588] chore(deps): lock file maintenance (#108) --- .../google-cloud-vision/package-lock.json | 6724 ++++++++--------- 1 file changed, 3354 insertions(+), 3370 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index ce7e0a908ec..302fe0ff32e 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "package-hash": "1.2.0" + "babel-plugin-check-es2015-constants": "^6.8.0", + "babel-plugin-syntax-trailing-function-commas": "^6.20.0", + "babel-plugin-transform-async-to-generator": "^6.16.0", + "babel-plugin-transform-es2015-destructuring": "^6.19.0", + "babel-plugin-transform-es2015-function-name": "^6.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", + "babel-plugin-transform-es2015-parameters": "^6.21.0", + "babel-plugin-transform-es2015-spread": "^6.8.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", + "babel-plugin-transform-exponentiation-operator": "^6.8.0", + "package-hash": "^1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "1.3.0" + "md5-hex": "^1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.4.0" + "@ava/babel-plugin-throws-helper": "^2.0.0", + "babel-plugin-espower": "^2.3.2" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.51", - "jsesc": "2.5.1", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "jsesc": "^2.5.1", + "lodash": "^4.17.5", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "lodash": "4.17.10" + "lodash": "^4.17.5" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "debug": "3.1.0", - "globals": "11.7.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.17.5" }, "dependencies": { "globals": { @@ -191,9 +191,9 @@ "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.5", + "to-fast-properties": "^2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,29 +210,29 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "1.0.1" + "arrify": "^1.0.1" } }, "@google-cloud/common": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.1.tgz", - "integrity": "sha512-LJB7CoNXEXY0mDWtF8E2cl3Y0kuMQ3wjH9Xr+Y7vH5gHgN82dDh1BMUOizRf9oXQFDWUgGERD5SdfBcjUhHmwA==", - "requires": { - "@types/duplexify": "3.5.0", - "@types/request": "2.47.1", - "arrify": "1.0.1", - "axios": "0.18.0", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auth-library": "1.6.1", - "is": "3.2.1", - "pify": "3.0.0", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "2.0.0", - "stream-events": "1.0.4", - "through2": "2.0.3" + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.3.tgz", + "integrity": "sha512-jt8/R4EqDTQccv5WA9AEaS65llM5+mlxsuWu57G5Os8HTIpgPbcsOVMUeIvmTrBuPUYSoRIMW8d/pvv/95n0+g==", + "requires": { + "@types/duplexify": "^3.5.0", + "@types/request": "^2.47.0", + "arrify": "^1.0.1", + "axios": "^0.18.0", + "duplexify": "^3.6.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auth-library": "^1.6.0", + "is": "^3.2.1", + "pify": "^3.0.0", + "request": "^2.87.0", + "retry-request": "^4.0.0", + "split-array-stream": "^2.0.0", + "stream-events": "^1.0.4", + "through2": "^2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "5.5.0", + "semver": "^5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -269,9 +269,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -292,297 +292,268 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "md5-hex": "1.3.0", - "merge-source-map": "1.0.4", - "micromatch": "2.3.11", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.1.1", - "yargs": "10.0.3", - "yargs-parser": "8.0.0" + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.3.0", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.1", + "istanbul-lib-report": "^1.1.2", + "istanbul-lib-source-maps": "^1.2.2", + "istanbul-reports": "^1.1.3", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.0.2", + "micromatch": "^2.3.11", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.5.4", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.1.1", + "yargs": "^10.0.3", + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "bundled": true, "dev": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "ansi-styles": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "arr-diff": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "bundled": true, "dev": true }, "array-unique": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "bundled": true, "dev": true }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "bundled": true, "dev": true }, "babel-code-frame": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "bundled": true, "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "bundled": true, "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.6", + "trim-right": "^1.0.1" } }, "babel-messages": { "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "bundled": true, "dev": true, "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "bundled": true, "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "brace-expansion": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "bundled": true, "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "caching-transform": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "bundled": true, "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "bundled": true, "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "cliui": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "bundled": true, "dev": true, "optional": true } @@ -590,48 +561,41 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "bundled": true, "dev": true }, "core-js": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -639,442 +603,387 @@ }, "debug-log": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "detect-indent": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "bundled": true, "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "bundled": true, "dev": true }, "esutils": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "bundled": true, "dev": true }, "execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } }, "expand-brackets": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "bundled": true, "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "extglob": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "filename-regex": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "bundled": true, "dev": true }, "fill-range": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "bundled": true, "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-cache-dir": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "bundled": true, "dev": true }, "for-own": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreground-child": { "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "bundled": true, "dev": true }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "bundled": true, "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "bundled": true, "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "bundled": true, "dev": true }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "handlebars": { "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } }, "has-ansi": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "bundled": true, "dev": true }, "hosted-git-info": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "invariant": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "bundled": true, "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-dotfile": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "bundled": true, "dev": true }, "is-equal-shallow": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "bundled": true, "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "bundled": true, "dev": true }, "is-extglob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "bundled": true, "dev": true }, "is-finite": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "bundled": true, "dev": true }, "is-primitive": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "bundled": true, "dev": true }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" @@ -1082,74 +991,67 @@ }, "istanbul-lib-coverage": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", + "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", - "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", + "bundled": true, "dev": true, "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", - "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", + "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } }, "istanbul-lib-source-maps": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", - "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", + "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -1159,191 +1061,169 @@ }, "istanbul-reports": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", - "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", + "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "bundled": true, "dev": true }, "jsesc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "bundled": true, "dev": true }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true } } }, "lodash": { "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "bundled": true, "dev": true }, "longest": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "bundled": true, "dev": true }, "loose-envify": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "bundled": true, "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "md5-hex": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "bundled": true, "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "bundled": true, "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mimic-fn": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -1351,575 +1231,505 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true }, "normalize-package-data": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "bundled": true, "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "object.omit": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "bundled": true, "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "bundled": true, "dev": true }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "parse-glob": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "bundled": true, "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } }, "preserve": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "randomatic": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } }, "regenerator-runtime": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "bundled": true, "dev": true }, "regex-cache": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "bundled": true, "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "bundled": true, "dev": true }, "repeat-element": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "bundled": true, "dev": true }, "repeating": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "bundled": true, "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "bundled": true, "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "semver": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", + "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "bundled": true, "dev": true }, "spdx-license-ids": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "bundled": true, "dev": true }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "bundled": true, "dev": true }, "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "bundled": true, "dev": true }, "test-exclude": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", - "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", + "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-fast-properties": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "bundled": true, "dev": true }, "trim-right": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "bundled": true, "dev": true }, "uglify-js": { "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "bundled": true, "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "bundled": true, "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -1927,141 +1737,126 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "bundled": true, "dev": true, "optional": true }, "validate-npm-package-license": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "bundled": true, "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "which": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "10.0.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz", - "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", - "dev": true, - "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "8.0.0" + "bundled": true, + "dev": true, + "requires": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^8.0.0" }, "dependencies": { "cliui": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -2070,17 +1865,15 @@ }, "yargs-parser": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz", - "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", + "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true } } @@ -2093,9 +1886,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "sinon": { @@ -2104,13 +1897,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.1.0", + "lodash.get": "^4.4.2", + "lolex": "^2.2.0", + "nise": "^1.2.0", + "supports-color": "^5.1.0", + "type-detect": "^4.0.5" } }, "string-width": { @@ -2119,8 +1912,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2129,7 +1922,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -2138,18 +1931,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } } } @@ -2160,27 +1953,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "0.17.0", - "arrify": "1.0.1", - "async": "2.6.1", - "compressible": "2.0.14", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "extend": "3.0.1", - "gcs-resumable-upload": "0.10.2", - "hash-stream-validation": "0.2.1", - "is": "3.2.1", - "mime": "2.3.1", - "mime-types": "2.1.18", - "once": "1.4.0", - "pumpify": "1.5.1", - "request": "2.87.0", - "safe-buffer": "5.1.2", - "snakeize": "0.1.0", - "stream-events": "1.0.4", - "through2": "2.0.3", - "xdg-basedir": "3.0.0" + "@google-cloud/common": "^0.17.0", + "arrify": "^1.0.0", + "async": "^2.0.1", + "compressible": "^2.0.12", + "concat-stream": "^1.5.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "extend": "^3.0.0", + "gcs-resumable-upload": "^0.10.2", + "hash-stream-validation": "^0.2.1", + "is": "^3.0.1", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "once": "^1.3.1", + "pumpify": "^1.5.1", + "request": "^2.85.0", + "safe-buffer": "^5.1.1", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -2189,24 +1982,34 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auto-auth": "0.10.1", - "is": "3.2.1", + "array-uniq": "^1.0.3", + "arrify": "^1.0.1", + "concat-stream": "^1.6.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auto-auth": "^0.10.0", + "is": "^3.2.0", "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "1.0.3", - "stream-events": "1.0.4", - "string-format-obj": "1.1.1", - "through2": "2.0.3" + "methmeth": "^1.1.0", + "modelo": "^4.2.0", + "request": "^2.79.0", + "retry-request": "^3.0.0", + "split-array-stream": "^1.0.0", + "stream-events": "^1.0.1", + "string-format-obj": "^1.1.0", + "through2": "^2.0.3" + } + }, + "retry-request": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", + "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", + "dev": true, + "requires": { + "request": "^2.81.0", + "through2": "^2.0.0" } }, "split-array-stream": { @@ -2215,8 +2018,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "2.6.1", - "is-stream-ended": "0.1.4" + "async": "^2.4.0", + "is-stream-ended": "^0.1.0" } } } @@ -2227,10 +2030,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "0.4.0", - "date-time": "0.1.1", - "pretty-ms": "0.2.2", - "text-table": "0.2.0" + "chalk": "^0.4.0", + "date-time": "^0.1.1", + "pretty-ms": "^0.2.1", + "text-table": "^0.2.0" }, "dependencies": { "ansi-styles": { @@ -2245,9 +2048,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "pretty-ms": { @@ -2256,7 +2059,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "0.1.2" + "parse-ms": "^0.1.0" } }, "strip-ansi": { @@ -2272,8 +2075,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, "@nodelib/fs.stat": { @@ -2306,8 +2109,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/inquire": "1.1.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, "@protobufjs/float": { @@ -2360,7 +2163,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "10.3.6" + "@types/node": "*" } }, "@types/form-data": { @@ -2368,7 +2171,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "10.3.6" + "@types/node": "*" } }, "@types/long": { @@ -2377,19 +2180,19 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.6.tgz", - "integrity": "sha512-h7VDRFL8IhdPw1JjiNVvhr+WynfKW09q2BOflIOA0yeuXNeXBP1bIRuBrysSryH4keaJ5bYUNp63aIyQL9YpDQ==" + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.1.tgz", + "integrity": "sha512-AFLl1IALIuyt6oK4AYZsgWVJ/5rnyzQWud7IebaZWWV3YmgtPZkQmYio9R5Ze/2pdd7XfqF5bP+hWS11mAKoOQ==" }, "@types/request": { "version": "2.47.1", "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "0.12.1", - "@types/form-data": "2.2.1", - "@types/node": "10.3.6", - "@types/tough-cookie": "2.3.3" + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" } }, "@types/tough-cookie": { @@ -2413,7 +2216,7 @@ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "5.7.1" + "acorn": "^5.0.3" } }, "ajv": { @@ -2421,10 +2224,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -2439,9 +2242,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" }, "dependencies": { "kind-of": { @@ -2450,7 +2253,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2467,7 +2270,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2488,8 +2291,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2498,7 +2301,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2520,7 +2323,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -2529,8 +2332,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" }, "dependencies": { "arr-diff": { @@ -2539,7 +2342,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -2554,9 +2357,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "expand-brackets": { @@ -2565,7 +2368,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "extglob": { @@ -2574,7 +2377,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-extglob": { @@ -2589,7 +2392,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "kind-of": { @@ -2598,7 +2401,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -2607,19 +2410,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } } } @@ -2630,7 +2433,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "argv": { @@ -2688,7 +2491,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -2711,8 +2514,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" + "colour": "~0.7.1", + "optjs": "~3.2.2" } }, "asn1": { @@ -2736,7 +2539,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "async-each": { @@ -2767,89 +2570,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "1.1.0", - "@ava/babel-preset-transform-test-files": "3.0.0", - "@ava/write-file-atomic": "2.2.0", - "@concordance/react": "1.0.0", - "@ladjs/time-require": "0.1.4", - "ansi-escapes": "3.1.0", - "ansi-styles": "3.2.1", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.2.1", - "ava-init": "0.2.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.4.1", - "chokidar": "1.7.0", - "clean-stack": "1.3.0", - "clean-yaml-object": "0.1.0", - "cli-cursor": "2.1.0", - "cli-spinners": "1.3.1", - "cli-truncate": "1.1.0", - "co-with-promise": "4.6.0", - "code-excerpt": "2.1.1", - "common-path-prefix": "1.0.0", - "concordance": "3.0.0", - "convert-source-map": "1.5.1", - "core-assert": "0.2.1", - "currently-unhandled": "0.4.1", - "debug": "3.1.0", - "dot-prop": "4.2.0", - "empower-core": "0.6.2", - "equal-length": "1.0.1", - "figures": "2.0.0", - "find-cache-dir": "1.0.0", - "fn-name": "2.0.1", - "get-port": "3.2.0", - "globby": "6.1.0", - "has-flag": "2.0.0", - "hullabaloo-config-manager": "1.1.1", - "ignore-by-default": "1.0.1", - "import-local": "0.1.1", - "indent-string": "3.2.0", - "is-ci": "1.1.0", - "is-generator-fn": "1.0.0", - "is-obj": "1.0.1", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "last-line-stream": "1.0.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.debounce": "4.0.8", - "lodash.difference": "4.5.0", - "lodash.flatten": "4.4.0", - "loud-rejection": "1.6.0", - "make-dir": "1.3.0", - "matcher": "1.1.1", - "md5-hex": "2.0.0", - "meow": "3.7.0", - "ms": "2.0.0", - "multimatch": "2.1.0", - "observable-to-promise": "0.5.0", - "option-chain": "1.0.0", - "package-hash": "2.0.0", - "pkg-conf": "2.1.0", - "plur": "2.1.2", - "pretty-ms": "3.2.0", - "require-precompiled": "0.1.0", - "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.2", - "semver": "5.5.0", - "slash": "1.0.0", - "source-map-support": "0.5.6", - "stack-utils": "1.0.1", - "strip-ansi": "4.0.0", - "strip-bom-buf": "1.0.0", - "supertap": "1.0.0", - "supports-color": "5.4.0", - "trim-off-newlines": "1.0.1", - "unique-temp-dir": "1.0.0", - "update-notifier": "2.5.0" + "@ava/babel-preset-stage-4": "^1.1.0", + "@ava/babel-preset-transform-test-files": "^3.0.0", + "@ava/write-file-atomic": "^2.2.0", + "@concordance/react": "^1.0.0", + "@ladjs/time-require": "^0.1.4", + "ansi-escapes": "^3.0.0", + "ansi-styles": "^3.1.0", + "arr-flatten": "^1.0.1", + "array-union": "^1.0.1", + "array-uniq": "^1.0.2", + "arrify": "^1.0.0", + "auto-bind": "^1.1.0", + "ava-init": "^0.2.0", + "babel-core": "^6.17.0", + "babel-generator": "^6.26.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "bluebird": "^3.0.0", + "caching-transform": "^1.0.0", + "chalk": "^2.0.1", + "chokidar": "^1.4.2", + "clean-stack": "^1.1.1", + "clean-yaml-object": "^0.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.0", + "cli-truncate": "^1.0.0", + "co-with-promise": "^4.6.0", + "code-excerpt": "^2.1.1", + "common-path-prefix": "^1.0.0", + "concordance": "^3.0.0", + "convert-source-map": "^1.5.1", + "core-assert": "^0.2.0", + "currently-unhandled": "^0.4.1", + "debug": "^3.0.1", + "dot-prop": "^4.1.0", + "empower-core": "^0.6.1", + "equal-length": "^1.0.0", + "figures": "^2.0.0", + "find-cache-dir": "^1.0.0", + "fn-name": "^2.0.0", + "get-port": "^3.0.0", + "globby": "^6.0.0", + "has-flag": "^2.0.0", + "hullabaloo-config-manager": "^1.1.0", + "ignore-by-default": "^1.0.0", + "import-local": "^0.1.1", + "indent-string": "^3.0.0", + "is-ci": "^1.0.7", + "is-generator-fn": "^1.0.0", + "is-obj": "^1.0.0", + "is-observable": "^1.0.0", + "is-promise": "^2.1.0", + "last-line-stream": "^1.0.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.debounce": "^4.0.3", + "lodash.difference": "^4.3.0", + "lodash.flatten": "^4.2.0", + "loud-rejection": "^1.2.0", + "make-dir": "^1.0.0", + "matcher": "^1.0.0", + "md5-hex": "^2.0.0", + "meow": "^3.7.0", + "ms": "^2.0.0", + "multimatch": "^2.1.0", + "observable-to-promise": "^0.5.0", + "option-chain": "^1.0.0", + "package-hash": "^2.0.0", + "pkg-conf": "^2.0.0", + "plur": "^2.0.0", + "pretty-ms": "^3.0.0", + "require-precompiled": "^0.1.0", + "resolve-cwd": "^2.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.4.1", + "slash": "^1.0.0", + "source-map-support": "^0.5.0", + "stack-utils": "^1.0.1", + "strip-ansi": "^4.0.0", + "strip-bom-buf": "^1.0.0", + "supertap": "^1.0.0", + "supports-color": "^5.0.0", + "trim-off-newlines": "^1.0.1", + "unique-temp-dir": "^1.0.0", + "update-notifier": "^2.3.0" }, "dependencies": { "ansi-regex": { @@ -2865,7 +2668,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "globby": { @@ -2874,11 +2677,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -2899,7 +2702,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "strip-ansi": { @@ -2908,7 +2711,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2919,11 +2722,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "1.0.0", - "execa": "0.7.0", - "has-yarn": "1.0.0", - "read-pkg-up": "2.0.0", - "write-pkg": "3.2.0" + "arr-exclude": "^1.0.0", + "execa": "^0.7.0", + "has-yarn": "^1.0.0", + "read-pkg-up": "^2.0.0", + "write-pkg": "^3.1.0" } }, "aws-sign2": { @@ -2941,8 +2744,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "1.5.0", - "is-buffer": "1.1.6" + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" } }, "babel-code-frame": { @@ -2951,9 +2754,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -2968,11 +2771,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -2989,25 +2792,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" }, "dependencies": { "debug": { @@ -3027,14 +2830,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -3051,9 +2854,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-call-delegate": { @@ -3062,10 +2865,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-explode-assignable-expression": { @@ -3074,9 +2877,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -3085,11 +2888,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -3098,8 +2901,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -3108,8 +2911,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -3118,9 +2921,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -3129,11 +2932,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -3142,8 +2945,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-messages": { @@ -3152,7 +2955,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -3161,7 +2964,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-espower": { @@ -3170,13 +2973,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babylon": "6.18.0", - "call-matcher": "1.0.1", - "core-js": "2.5.7", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "babel-generator": "^6.1.0", + "babylon": "^6.1.0", + "call-matcher": "^1.0.0", + "core-js": "^2.0.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.1.1" } }, "babel-plugin-syntax-async-functions": { @@ -3209,9 +3012,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3220,7 +3023,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3229,9 +3032,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3240,10 +3043,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3252,12 +3055,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -3266,7 +3069,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3275,9 +3078,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3286,9 +3089,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3297,9 +3100,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -3308,8 +3111,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-register": { @@ -3318,13 +3121,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "source-map-support": { @@ -3333,7 +3136,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -3344,8 +3147,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -3354,11 +3157,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3367,15 +3170,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { "debug": { @@ -3395,10 +3198,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3417,13 +3220,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -3431,7 +3234,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3439,7 +3242,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3447,7 +3250,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3455,20 +3258,20 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } }, "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -3489,13 +3292,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3522,8 +3325,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3532,7 +3335,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3542,7 +3345,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -3551,16 +3354,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -3568,7 +3371,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -3607,7 +3410,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "3.2.0" + "long": "~3" }, "dependencies": { "long": { @@ -3622,15 +3425,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "cacheable-request": { @@ -3662,9 +3465,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" }, "dependencies": { "md5-hex": { @@ -3673,7 +3476,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "write-file-atomic": { @@ -3682,9 +3485,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } } } @@ -3695,10 +3498,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.5.7", - "deep-equal": "1.0.1", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.0.0" } }, "call-me-maybe": { @@ -3717,7 +3520,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -3737,8 +3540,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "capture-stack-trace": { @@ -3758,7 +3561,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "center-align": { @@ -3768,8 +3571,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -3778,9 +3581,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -3795,14 +3598,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -3811,7 +3615,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -3826,7 +3630,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -3848,10 +3652,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -3859,7 +3663,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -3888,7 +3692,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -3903,8 +3707,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3925,8 +3729,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3935,7 +3739,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3951,9 +3755,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "clone-response": { @@ -3962,7 +3766,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "co": { @@ -3976,7 +3780,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "1.0.0" + "pinkie-promise": "^1.0.0" } }, "code-excerpt": { @@ -3985,7 +3789,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "1.0.2" + "convert-to-spaces": "^1.0.1" } }, "code-point-at": { @@ -4000,7 +3804,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "2.87.0", + "request": "^2.81.0", "urlgrey": "0.4.4" } }, @@ -4009,8 +3813,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -4044,7 +3848,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -4076,7 +3880,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": "1.34.0" + "mime-db": ">= 1.34.0 < 2" }, "dependencies": { "mime-db": { @@ -4098,10 +3902,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "concordance": { @@ -4110,17 +3914,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "2.1.0", - "esutils": "2.0.2", - "fast-diff": "1.1.2", - "function-name-support": "0.2.0", - "js-string-escape": "1.0.1", - "lodash.clonedeep": "4.5.0", - "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "semver": "5.5.0", - "well-known-symbols": "1.0.0" + "date-time": "^2.1.0", + "esutils": "^2.0.2", + "fast-diff": "^1.1.1", + "function-name-support": "^0.2.0", + "js-string-escape": "^1.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.flattendeep": "^4.4.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "semver": "^5.3.0", + "well-known-symbols": "^1.0.0" }, "dependencies": { "date-time": { @@ -4129,7 +3933,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "1.0.0" + "time-zone": "^1.0.0" } } } @@ -4140,12 +3944,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "convert-source-map": { @@ -4177,8 +3981,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "1.0.1", - "is-error": "2.2.1" + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" } }, "core-js": { @@ -4197,7 +4001,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { @@ -4206,9 +4010,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "crypto-random-string": { @@ -4223,7 +4027,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -4232,7 +4036,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.45" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -4240,7 +4044,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-time": { @@ -4273,7 +4077,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -4299,8 +4103,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.12" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { @@ -4308,8 +4112,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4317,7 +4121,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4325,7 +4129,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4333,9 +4137,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -4346,13 +4150,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "globby": { @@ -4361,12 +4165,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -4387,7 +4191,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } } } @@ -4403,7 +4207,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -4422,8 +4226,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "doctrine": { @@ -4432,7 +4236,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -4441,8 +4245,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -4465,7 +4269,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -4474,8 +4278,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -4484,7 +4288,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer3": { @@ -4498,10 +4302,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "eastasianwidth": { @@ -4515,7 +4319,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -4523,7 +4327,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "empower": { @@ -4531,8 +4335,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "2.5.7", - "empower-core": "1.2.0" + "core-js": "^2.0.0", + "empower-core": "^1.2.0" } }, "empower-assert": { @@ -4541,7 +4345,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.2.0" } }, "empower-core": { @@ -4550,7 +4354,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "end-of-stream": { @@ -4558,7 +4362,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "ent": { @@ -4584,7 +4388,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -4593,11 +4397,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -4606,9 +4410,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { @@ -4617,9 +4421,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-error": { @@ -4634,9 +4438,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -4645,12 +4449,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -4659,11 +4463,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -4672,8 +4476,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -4682,10 +4486,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escallmatch": { @@ -4694,8 +4498,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "1.0.1", - "esprima": "2.7.3" + "call-matcher": "^1.0.0", + "esprima": "^2.0.0" }, "dependencies": { "esprima": { @@ -4718,11 +4522,11 @@ "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -4746,10 +4550,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { @@ -4758,56 +4562,56 @@ "integrity": "sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==", "dev": true, "requires": { - "ajv": "6.5.1", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "4.0.0", - "eslint-visitor-keys": "1.0.0", - "espree": "4.0.0", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.7.0", - "ignore": "3.3.10", - "imurmurhash": "0.1.4", - "inquirer": "5.2.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "string.prototype.matchall": "2.0.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.3", - "text-table": "0.2.0" + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.5.0", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.1.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" }, "dependencies": { "ajv": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz", - "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "ansi-regex": { @@ -4822,11 +4626,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "fast-deep-equal": { @@ -4853,7 +4657,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4864,7 +4668,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "5.0.1" + "get-stdin": "^5.0.1" }, "dependencies": { "get-stdin": { @@ -4881,10 +4685,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "3.3.10", - "minimatch": "3.0.4", - "resolve": "1.8.1", - "semver": "5.5.0" + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", + "semver": "^5.4.1" }, "dependencies": { "resolve": { @@ -4893,7 +4697,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } } } @@ -4904,8 +4708,8 @@ "integrity": "sha512-wNZ2z0oVCWnf+3BSI7roS+z4gGu2AwcPKUek+SlLZMZg+X0KbZLsB2knul7fd0K3iuIp402HIYzm4f2+OyfXxA==", "dev": true, "requires": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" } }, "eslint-scope": { @@ -4914,8 +4718,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -4930,16 +4734,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "1.0.0", - "escallmatch": "1.5.0", - "escodegen": "1.10.0", - "escope": "3.6.0", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0", - "source-map": "0.5.7", - "type-name": "2.0.2", - "xtend": "4.0.1" + "array-find": "^1.0.0", + "escallmatch": "^1.5.0", + "escodegen": "^1.7.0", + "escope": "^3.3.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.3.0", + "estraverse": "^4.1.0", + "source-map": "^0.5.0", + "type-name": "^2.0.0", + "xtend": "^4.0.0" } }, "espower-loader": { @@ -4948,11 +4752,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "1.5.1", - "espower-source": "2.3.0", - "minimatch": "3.0.4", - "source-map-support": "0.4.18", - "xtend": "4.0.1" + "convert-source-map": "^1.1.0", + "espower-source": "^2.0.0", + "minimatch": "^3.0.0", + "source-map-support": "^0.4.0", + "xtend": "^4.0.0" }, "dependencies": { "source-map-support": { @@ -4961,7 +4765,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -4972,10 +4776,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "1.2.4", - "path-is-absolute": "1.0.1", - "source-map": "0.5.7", - "xtend": "4.0.1" + "is-url": "^1.2.1", + "path-is-absolute": "^1.0.0", + "source-map": "^0.5.0", + "xtend": "^4.0.0" } }, "espower-source": { @@ -4984,17 +4788,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.1", - "empower-assert": "1.1.0", - "escodegen": "1.10.0", - "espower": "2.1.1", - "estraverse": "4.2.0", - "merge-estraverse-visitors": "1.0.0", - "multi-stage-sourcemap": "0.2.1", - "path-is-absolute": "1.0.1", - "xtend": "4.0.1" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.10", + "convert-source-map": "^1.1.1", + "empower-assert": "^1.0.0", + "escodegen": "^1.10.0", + "espower": "^2.1.1", + "estraverse": "^4.0.0", + "merge-estraverse-visitors": "^1.0.0", + "multi-stage-sourcemap": "^0.2.1", + "path-is-absolute": "^1.0.0", + "xtend": "^4.0.0" } }, "espree": { @@ -5003,8 +4807,8 @@ "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-jsx": "4.1.1" + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" } }, "esprima": { @@ -5018,7 +4822,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "esquery": { @@ -5027,7 +4831,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -5036,7 +4840,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -5056,8 +4860,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "execa": { @@ -5066,13 +4870,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -5080,13 +4884,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -5102,7 +4906,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -5110,7 +4914,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -5121,7 +4925,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { @@ -5130,11 +4934,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "is-number": { @@ -5143,7 +4947,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -5161,7 +4965,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5176,8 +4980,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -5185,7 +4989,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -5196,9 +5000,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -5206,14 +5010,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -5221,7 +5025,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -5229,7 +5033,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -5237,7 +5041,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -5245,7 +5049,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -5253,9 +5057,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -5281,12 +5085,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "@nodelib/fs.stat": "1.1.0", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.2", - "micromatch": "3.1.10" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.0.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" } }, "fast-json-stable-stringify": { @@ -5306,7 +5110,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -5315,8 +5119,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -5331,8 +5135,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" + "is-object": "~1.0.1", + "merge-descriptors": "~1.0.0" } }, "fill-range": { @@ -5340,10 +5144,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -5351,7 +5155,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -5362,9 +5166,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -5373,7 +5177,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -5382,10 +5186,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "fn-name": { @@ -5399,7 +5203,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" } }, "for-in": { @@ -5413,7 +5217,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -5431,9 +5235,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "formidable": { @@ -5447,7 +5251,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "from2": { @@ -5456,8 +5260,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, "fs-extra": { @@ -5466,9 +5270,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "fs.realpath": { @@ -5476,6 +5280,535 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -5499,8 +5832,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "0.18.0", - "extend": "3.0.1", + "axios": "^0.18.0", + "extend": "^3.0.1", "retry-axios": "0.3.2" } }, @@ -5510,11 +5843,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "3.1.2", - "google-auto-auth": "0.10.1", - "pumpify": "1.5.1", - "request": "2.87.0", - "stream-events": "1.0.4" + "configstore": "^3.1.2", + "google-auto-auth": "^0.10.0", + "pumpify": "^1.4.0", + "request": "^2.85.0", + "stream-events": "^1.0.3" } }, "get-caller-file": { @@ -5551,7 +5884,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -5559,12 +5892,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -5573,8 +5906,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -5583,7 +5916,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -5598,7 +5931,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -5608,8 +5941,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -5617,7 +5950,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -5633,7 +5966,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -5647,13 +5980,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.2", - "glob": "7.1.2", - "ignore": "3.3.10", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "google-auth-library": { @@ -5661,13 +5994,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "0.18.0", - "gcp-metadata": "0.6.3", - "gtoken": "2.3.0", - "jws": "3.1.5", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.3", - "retry-axios": "0.3.2" + "axios": "^0.18.0", + "gcp-metadata": "^0.6.3", + "gtoken": "^2.3.0", + "jws": "^3.1.5", + "lodash.isstring": "^4.0.1", + "lru-cache": "^4.1.3", + "retry-axios": "^0.3.2" } }, "google-auto-auth": { @@ -5676,10 +6009,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "2.6.1", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.6.1", - "request": "2.87.0" + "async": "^2.3.0", + "gcp-metadata": "^0.6.1", + "google-auth-library": "^1.3.1", + "request": "^2.79.0" } }, "google-gax": { @@ -5687,27 +6020,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "3.6.0", - "extend": "3.0.1", - "globby": "8.0.1", - "google-auth-library": "1.6.1", - "google-proto-files": "0.16.1", - "grpc": "1.12.4", - "is-stream-ended": "0.1.4", - "lodash": "4.17.10", - "protobufjs": "6.8.6", - "retry-request": "4.0.0", - "through2": "2.0.3" - }, - "dependencies": { - "retry-request": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", - "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", - "requires": { - "through2": "2.0.3" - } - } + "duplexify": "^3.6.0", + "extend": "^3.0.1", + "globby": "^8.0.1", + "google-auth-library": "^1.6.1", + "google-proto-files": "^0.16.0", + "grpc": "^1.12.2", + "is-stream-ended": "^0.1.4", + "lodash": "^4.17.10", + "protobufjs": "^6.8.6", + "retry-request": "^4.0.0", + "through2": "^2.0.3" } }, "google-p12-pem": { @@ -5715,8 +6038,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "0.7.5", - "pify": "3.0.0" + "node-forge": "^0.7.4", + "pify": "^3.0.0" } }, "google-proto-files": { @@ -5724,9 +6047,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "8.0.1", - "power-assert": "1.6.0", - "protobufjs": "6.8.6" + "globby": "^8.0.0", + "power-assert": "^1.4.4", + "protobufjs": "^6.8.0" } }, "got": { @@ -5735,23 +6058,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "mimic-response": "1.0.0", - "p-cancelable": "0.3.0", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" }, "dependencies": { "prepend-http": { @@ -5766,7 +6089,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } } } @@ -5788,491 +6111,425 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.4.tgz", "integrity": "sha512-t0Hy4yoHHYLkK0b+ULTHw5ZuSFmWokCABY0C4bKQbE4jnm1hpjA23cQVD0xAqDcRHN5CkvFzlqb34ngV22dqoQ==", "requires": { - "lodash": "4.17.10", - "nan": "2.10.0", - "node-pre-gyp": "0.10.0", - "protobufjs": "5.0.3" + "lodash": "^4.17.5", + "nan": "^2.0.0", + "node-pre-gyp": "^0.10.0", + "protobufjs": "^5.0.3" }, "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "bundled": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "bundled": true }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "bundled": true }, "are-we-there-yet": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "bundled": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "bundled": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "chownr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + "bundled": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "bundled": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "bundled": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "bundled": true }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "requires": { "ms": "2.0.0" } }, "deep-extend": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "bundled": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "bundled": true }, "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + "bundled": true }, "fs-minipass": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "bundled": true, "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "bundled": true }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.3" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "bundled": true }, "iconv-lite": { "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "bundled": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "bundled": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true }, "ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "bundled": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "bundled": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "bundled": true }, "minipass": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz", - "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", + "bundled": true, "requires": { - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, "minizlib": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", + "bundled": true, "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "requires": { "minimist": "0.0.8" }, "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "bundled": true } } }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "bundled": true }, "needle": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.1.tgz", - "integrity": "sha512-t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q==", + "bundled": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.23", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", - "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", + "bundled": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.1", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.8", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.4" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", - "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==" + "bundled": true }, "npm-packlist": { "version": "1.1.10", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", - "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", + "bundled": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "bundled": true, "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "bundled": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "bundled": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "bundled": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "bundled": true }, "osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "bundled": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "bundled": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "bundled": true }, "protobufjs": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.2", - "yargs": "3.32.0" + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" } }, "rc": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "bundled": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "bundled": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "bundled": true }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "bundled": true }, "sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "bundled": true }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "bundled": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "bundled": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "bundled": true }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "string-width": { + "version": "1.0.2", + "bundled": true, "requires": { - "safe-buffer": "5.1.2" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "string_decoder": { + "version": "1.1.1", + "bundled": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "bundled": true }, "tar": { "version": "4.4.4", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.4.tgz", - "integrity": "sha512-mq9ixIYfNF9SK0IS/h2HKMu8Q2iaCuhDDsZhdEag/FHv8fOaYld4vN7ouMgcSSt5WKZzPs8atclTcJm36OTh4w==", + "bundled": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.3.3", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.3", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" } }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "bundled": true }, "wide-align": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "bundled": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "bundled": true }, "yallist": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" + "bundled": true } } }, @@ -6281,11 +6538,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.5", - "mime": "2.3.1", - "pify": "3.0.0" + "axios": "^0.18.0", + "google-p12-pem": "^1.0.0", + "jws": "^3.1.4", + "mime": "^2.2.0", + "pify": "^3.0.0" } }, "handlebars": { @@ -6294,10 +6551,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -6312,7 +6569,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -6327,8 +6584,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -6337,7 +6594,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -6346,7 +6603,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -6379,7 +6636,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "1.4.2" + "has-symbol-support-x": "^1.4.1" } }, "has-value": { @@ -6387,9 +6644,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -6397,8 +6654,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -6406,7 +6663,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6423,7 +6680,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "he": { @@ -6438,8 +6695,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -6454,12 +6711,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.2", - "domutils": "1.7.0", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "http-cache-semantics": { @@ -6473,9 +6730,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "hullabaloo-config-manager": { @@ -6484,20 +6741,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "es6-error": "4.1.1", - "graceful-fs": "4.1.11", - "indent-string": "3.2.0", - "json5": "0.5.1", - "lodash.clonedeep": "4.5.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "package-hash": "2.0.0", - "pkg-dir": "2.0.0", - "resolve-from": "3.0.0", - "safe-buffer": "5.1.2" + "dot-prop": "^4.1.0", + "es6-error": "^4.0.2", + "graceful-fs": "^4.1.11", + "indent-string": "^3.1.0", + "json5": "^0.5.1", + "lodash.clonedeep": "^4.5.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "package-hash": "^2.0.0", + "pkg-dir": "^2.0.0", + "resolve-from": "^3.0.0", + "safe-buffer": "^5.0.1" } }, "iconv-lite": { @@ -6506,7 +6763,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -6532,8 +6789,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -6558,8 +6815,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6579,8 +6836,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "2.22.2", - "sanitize-html": "1.18.2" + "moment": "^2.14.1", + "sanitize-html": "^1.13.0" } }, "inquirer": { @@ -6589,19 +6846,19 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rxjs": "5.5.11", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -6622,8 +6879,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -6632,7 +6889,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -6643,7 +6900,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "1.2.2" + "espower-loader": "^1.0.0" } }, "into-stream": { @@ -6652,8 +6909,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" } }, "invariant": { @@ -6662,7 +6919,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -6686,7 +6943,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6694,7 +6951,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6711,7 +6968,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -6725,7 +6982,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -6740,7 +6997,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -6748,7 +7005,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6756,7 +7013,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6772,9 +7029,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -6796,7 +7053,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-error": { @@ -6821,7 +7078,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -6829,7 +7086,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-generator-fn": { @@ -6843,7 +7100,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-installed-globally": { @@ -6852,8 +7109,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-npm": { @@ -6867,7 +7124,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6875,7 +7132,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6898,22 +7155,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "1.2.0" - } - }, - "is-odd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", - "requires": { - "is-number": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" - } + "symbol-observable": "^1.1.0" } }, "is-path-cwd": { @@ -6928,7 +7170,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -6937,7 +7179,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -6951,7 +7193,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -6984,7 +7226,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-resolvable": { @@ -7076,8 +7318,8 @@ "@babel/template": "7.0.0-beta.51", "@babel/traverse": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "istanbul-lib-coverage": "2.0.0", - "semver": "5.5.0" + "istanbul-lib-coverage": "^2.0.0", + "semver": "^5.5.0" } }, "isurl": { @@ -7086,8 +7328,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" } }, "jest-docblock": { @@ -7114,8 +7356,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "js2xmlparser": { @@ -7124,7 +7366,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsbn": { @@ -7140,17 +7382,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.19", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", "taffydb": "2.6.2", - "underscore": "1.8.3" + "underscore": "~1.8.3" }, "dependencies": { "babylon": { @@ -7212,7 +7454,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -7239,7 +7481,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "jws": { @@ -7247,8 +7489,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "1.1.6", - "safe-buffer": "5.1.2" + "jwa": "^1.1.5", + "safe-buffer": "^5.0.1" } }, "keyv": { @@ -7271,7 +7513,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "last-line-stream": { @@ -7280,7 +7522,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "latest-version": { @@ -7289,7 +7531,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -7304,7 +7546,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "levn": { @@ -7313,8 +7555,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -7323,10 +7565,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, "dependencies": { "pify": { @@ -7343,8 +7585,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -7457,7 +7699,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -7466,8 +7708,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowercase-keys": { @@ -7481,8 +7723,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -7491,7 +7733,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-cache": { @@ -7510,7 +7752,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "marked": { @@ -7525,7 +7767,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.4" } }, "math-random": { @@ -7540,7 +7782,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -7555,7 +7797,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -7564,16 +7806,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "find-up": { @@ -7582,8 +7824,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "load-json-file": { @@ -7592,11 +7834,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "minimist": { @@ -7611,7 +7853,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-type": { @@ -7620,9 +7862,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -7643,7 +7885,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "read-pkg": { @@ -7652,9 +7894,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -7663,8 +7905,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "strip-bom": { @@ -7673,7 +7915,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -7690,7 +7932,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "merge2": { @@ -7715,19 +7957,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "mime": { @@ -7745,7 +7987,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "mimic-fn": { @@ -7765,7 +8007,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -7779,8 +8021,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -7788,7 +8030,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -7850,7 +8092,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "^0.1.34" }, "dependencies": { "source-map": { @@ -7859,7 +8101,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -7870,10 +8112,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" } }, "mute-stream": { @@ -7888,22 +8130,21 @@ "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" }, "nanomatch": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "natural-compare": { @@ -7930,11 +8171,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.7.0", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" + "@sinonjs/formatio": "^2.0.0", + "just-extend": "^1.1.27", + "lolex": "^2.3.2", + "path-to-regexp": "^1.7.0", + "text-encoding": "^0.6.4" } }, "node-forge": { @@ -7948,10 +8189,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -7960,7 +8201,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -7969,9 +8210,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, "dependencies": { "prepend-http": { @@ -7988,7 +8229,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -8002,318 +8243,286 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "2.3.0", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.5", - "istanbul-reports": "1.4.1", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^2.1.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.5", + "istanbul-reports": "^1.4.1", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", "yargs": "11.1.0", - "yargs-parser": "8.1.0" + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "bundled": true, "dev": true }, "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "bundled": true, "dev": true }, "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "bundled": true, "dev": true }, "arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "bundled": true, "dev": true }, "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "bundled": true, "dev": true }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "bundled": true, "dev": true }, "atob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "bundled": true, "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "bundled": true, + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "bundled": true, "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "caching-transform": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "bundled": true, "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } }, "cliui": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "bundled": true, "dev": true, "optional": true } @@ -8321,64 +8530,55 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "bundled": true, "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "bundled": true, "dev": true }, "component-emitter": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "bundled": true, "dev": true }, "copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -8386,134 +8586,120 @@ }, "debug-log": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "decode-uri-component": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "error-ex": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "bundled": true, "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -8521,727 +8707,644 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "bundled": true, "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } }, "extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "bundled": true, + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "find-cache-dir": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "bundled": true, "dev": true }, "foreground-child": { "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "bundled": true, "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "bundled": true, "dev": true }, "get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "bundled": true, "dev": true }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "handlebars": { "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } }, "has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, "hosted-git-info": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "bundled": true, "dev": true } } }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ=", + "bundled": true, "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=", + "bundled": true, "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "bundled": true, "dev": true }, "is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", - "integrity": "sha1-99jy5CuX43/nlhFMsPnWi146Q0E=", + "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha1-hTjZcDcss3FtU+VVI91UtVeo2Js=", + "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-report": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", - "integrity": "sha1-LfEhiMD6d5kMDSF20tC6M5QYglk=", + "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "bundled": true, "dev": true }, "supports-color": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } }, "istanbul-lib-source-maps": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz", - "integrity": "sha1-/+a+Tnq4bTYD5CkNVJkLFFBvybE=", + "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" } }, "istanbul-reports": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.4.1.tgz", - "integrity": "sha1-Ty6OkoqnoF0dpsQn1AmLJlXsczQ=", + "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true } } }, "longest": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "bundled": true, "dev": true }, "lru-cache": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=", + "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "bundled": true, "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "bundled": true, "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "bundled": true, "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "bundled": true, "dev": true } } }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mixin-deep": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=", + "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -9249,479 +9352,422 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true }, "nanomatch": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I=", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", + "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "bundled": true, "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } }, "object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", + "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=", + "bundled": true, "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "bundled": true, "dev": true }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "bundled": true, "dev": true }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } }, "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } }, "regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "repeat-element": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "bundled": true, "dev": true }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "bundled": true, "dev": true }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "bundled": true, "dev": true }, "ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "bundled": true, "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", + "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "bundled": true, "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=", + "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "set-value": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=", + "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", - "dev": true, - "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "bundled": true, + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -9729,291 +9775,261 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } }, "snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "bundled": true, "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "bundled": true, "dev": true }, "source-map-resolve": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", + "bundled": true, "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha1-z/WOc6giRhe2Vhq9wyWG6gyCJIw=", + "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.1" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=", + "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=", + "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=", + "bundled": true, "dev": true }, "split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "bundled": true, "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "bundled": true, "dev": true }, "test-exclude": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", - "integrity": "sha1-36Ii8DSAvKaSB8pyizfXS0X3JPo=", + "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "bundled": true, "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "uglify-js": { "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "bundled": true, "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "bundled": true, "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -10021,71 +10037,64 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "bundled": true, "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "bundled": true, "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" @@ -10095,210 +10104,186 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "bundled": true, "dev": true } } }, "urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "bundled": true, "dev": true }, "use": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha1-FHFr8D/f79AwQK71jYtLhfOnxUQ=", + "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=", + "bundled": true, "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha1-kLhpk07W6HERXqL/WLA/RyTtLXc=", - "dev": true, - "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "bundled": true, + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true }, "cliui": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "bundled": true, "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "yargs-parser": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } }, "yargs-parser": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha1-8TdqM7Ziml0GN4KUTacyYx6WaVA=", + "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true } } @@ -10321,9 +10306,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -10331,7 +10316,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "kind-of": { @@ -10339,7 +10324,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10354,7 +10339,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.omit": { @@ -10363,8 +10348,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -10372,7 +10357,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "observable-to-promise": { @@ -10381,8 +10366,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "0.2.0", - "symbol-observable": "1.2.0" + "is-observable": "^0.2.0", + "symbol-observable": "^1.0.4" }, "dependencies": { "is-observable": { @@ -10391,7 +10376,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "0.2.4" + "symbol-observable": "^0.2.2" }, "dependencies": { "symbol-observable": { @@ -10409,7 +10394,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -10418,7 +10403,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -10427,8 +10412,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "option-chain": { @@ -10443,12 +10428,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -10475,7 +10460,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -10508,7 +10493,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -10517,7 +10502,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-timeout": { @@ -10526,7 +10511,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { @@ -10541,10 +10526,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "lodash.flattendeep": "4.4.0", - "md5-hex": "2.0.0", - "release-zalgo": "1.0.0" + "graceful-fs": "^4.1.11", + "lodash.flattendeep": "^4.4.0", + "md5-hex": "^2.0.0", + "release-zalgo": "^1.0.0" } }, "package-json": { @@ -10553,10 +10538,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" }, "dependencies": { "got": { @@ -10565,17 +10550,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } } } @@ -10586,10 +10571,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "is-extglob": { @@ -10604,7 +10589,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -10615,7 +10600,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -10685,7 +10670,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "performance-now": { @@ -10710,7 +10695,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } }, "pkg-conf": { @@ -10719,8 +10704,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" }, "dependencies": { "load-json-file": { @@ -10729,10 +10714,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -10741,8 +10726,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -10753,7 +10738,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plur": { @@ -10762,7 +10747,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "1.4.0" + "irregular-plurals": "^1.0.0" } }, "pluralize": { @@ -10782,9 +10767,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "dependencies": { "source-map": { @@ -10800,11 +10785,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "1.1.2", - "empower": "1.3.0", - "power-assert-formatter": "1.4.1", - "universal-deep-strict-equal": "1.2.2", - "xtend": "4.0.1" + "define-properties": "^1.1.2", + "empower": "^1.3.0", + "power-assert-formatter": "^1.4.1", + "universal-deep-strict-equal": "^1.2.1", + "xtend": "^4.0.0" } }, "power-assert-context-formatter": { @@ -10812,8 +10797,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "2.5.7", - "power-assert-context-traversal": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.2.0" } }, "power-assert-context-reducer-ast": { @@ -10821,11 +10806,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.7", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" } }, "power-assert-context-traversal": { @@ -10833,8 +10818,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "2.5.7", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "estraverse": "^4.1.0" } }, "power-assert-formatter": { @@ -10842,13 +10827,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.7", - "power-assert-context-formatter": "1.2.0", - "power-assert-context-reducer-ast": "1.2.0", - "power-assert-renderer-assertion": "1.2.0", - "power-assert-renderer-comparison": "1.2.0", - "power-assert-renderer-diagram": "1.2.0", - "power-assert-renderer-file": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" } }, "power-assert-renderer-assertion": { @@ -10856,8 +10841,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0" + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0" } }, "power-assert-renderer-base": { @@ -10870,11 +10855,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "2.5.7", - "diff-match-patch": "1.0.1", - "power-assert-renderer-base": "1.1.1", - "stringifier": "1.3.0", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" } }, "power-assert-renderer-diagram": { @@ -10882,10 +10867,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "2.5.7", - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0", - "stringifier": "1.3.0" + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0", + "stringifier": "^1.3.0" } }, "power-assert-renderer-file": { @@ -10893,7 +10878,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "1.1.1" + "power-assert-renderer-base": "^1.1.1" } }, "power-assert-util-string-width": { @@ -10901,7 +10886,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "0.2.0" + "eastasianwidth": "^0.2.0" } }, "prelude-ls": { @@ -10923,9 +10908,9 @@ "dev": true }, "prettier": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.6.tgz", - "integrity": "sha512-p5eqCNiohWZN++7aJXUVj0JgLqHCPLf9GLIcLBHGNWs4Y9FJOPs6+KNO2WT0udJIQJTbeZFrJkjzjcb8fkAYYQ==", + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.7.tgz", + "integrity": "sha512-KIU72UmYPGk4MujZGYMFwinB7lOf2LsDNGSOC8ufevsrPLISrZbNJlWstRi3m0AMuszbH+EFSQ/r6w56RSPK6w==", "dev": true }, "pretty-ms": { @@ -10934,7 +10919,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "1.0.1" + "parse-ms": "^1.0.0" }, "dependencies": { "parse-ms": { @@ -10967,19 +10952,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/base64": "1.1.2", - "@protobufjs/codegen": "2.0.4", - "@protobufjs/eventemitter": "1.1.0", - "@protobufjs/fetch": "1.1.0", - "@protobufjs/float": "1.0.2", - "@protobufjs/inquire": "1.1.0", - "@protobufjs/path": "1.1.2", - "@protobufjs/pool": "1.1.0", - "@protobufjs/utf8": "1.1.0", - "@types/long": "3.0.32", - "@types/node": "8.10.20", - "long": "4.0.0" + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^3.0.32", + "@types/node": "^8.9.4", + "long": "^4.0.0" }, "dependencies": { "@types/node": { @@ -10995,9 +10980,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" + "fill-keys": "^1.0.2", + "module-not-found-error": "^1.0.0", + "resolve": "~1.1.7" } }, "pseudomap": { @@ -11011,8 +10996,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -11021,9 +11006,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -11042,9 +11027,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "randomatic": { @@ -11053,9 +11038,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -11072,10 +11057,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -11092,9 +11077,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" }, "dependencies": { "path-type": { @@ -11103,7 +11088,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -11120,8 +11105,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "readable-stream": { @@ -11129,13 +11114,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -11144,10 +11129,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "redent": { @@ -11156,8 +11141,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" }, "dependencies": { "indent-string": { @@ -11166,7 +11151,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } } } @@ -11189,7 +11174,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -11197,8 +11182,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexp.prototype.flags": { @@ -11207,7 +11192,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "1.1.2" + "define-properties": "^1.1.2" } }, "regexpp": { @@ -11222,9 +11207,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -11233,8 +11218,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.8", - "safe-buffer": "5.1.2" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -11243,7 +11228,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.8" + "rc": "^1.0.1" } }, "regjsgen": { @@ -11258,7 +11243,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "release-zalgo": { @@ -11267,7 +11252,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.1.1" + "es6-error": "^4.0.1" } }, "remove-trailing-separator": { @@ -11292,7 +11277,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -11300,26 +11285,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.0" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -11346,8 +11331,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" }, "dependencies": { "resolve-from": { @@ -11364,7 +11349,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -11387,7 +11372,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -11407,7 +11392,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -11416,8 +11401,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -11431,12 +11416,11 @@ "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==" }, "retry-request": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", - "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", + "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "request": "2.87.0", - "through2": "2.0.3" + "through2": "^2.0.0" } }, "right-align": { @@ -11446,7 +11430,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -11455,7 +11439,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -11464,7 +11448,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rxjs": { @@ -11494,7 +11478,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -11514,16 +11498,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "2.4.1", - "htmlparser2": "3.9.2", - "lodash.clonedeep": "4.5.0", - "lodash.escaperegexp": "4.1.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mergewith": "4.6.1", - "postcss": "6.0.23", - "srcset": "1.0.0", - "xtend": "4.0.1" + "chalk": "^2.3.0", + "htmlparser2": "^3.9.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.0", + "postcss": "^6.0.14", + "srcset": "^1.0.0", + "xtend": "^4.0.0" } }, "semver": { @@ -11538,7 +11522,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "serialize-error": { @@ -11564,10 +11548,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -11575,7 +11559,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11586,7 +11570,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -11607,13 +11591,13 @@ "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.5.0", + "lodash.get": "^4.4.2", + "lolex": "^2.4.2", + "nise": "^1.3.3", + "supports-color": "^5.4.0", + "type-detect": "^4.0.8" } }, "slash": { @@ -11627,7 +11611,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -11655,14 +11639,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -11678,7 +11662,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11686,7 +11670,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11696,9 +11680,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -11706,7 +11690,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -11714,7 +11698,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11722,7 +11706,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11730,9 +11714,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -11742,7 +11726,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { @@ -11750,7 +11734,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11761,7 +11745,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-map": { @@ -11774,11 +11758,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -11787,8 +11771,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "source-map": { @@ -11810,8 +11794,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -11826,8 +11810,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -11841,7 +11825,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "0.1.4" + "is-stream-ended": "^0.1.4" } }, "split-string": { @@ -11849,7 +11833,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -11864,8 +11848,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "1.0.3", - "number-is-nan": "1.0.1" + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" } }, "sshpk": { @@ -11873,15 +11857,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -11895,8 +11879,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -11904,7 +11888,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -11914,7 +11898,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "3.0.0" + "stubs": "^3.0.0" } }, "stream-shift": { @@ -11934,14 +11918,6 @@ "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", "dev": true }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.2" - } - }, "string-format-obj": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", @@ -11953,9 +11929,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string.prototype.matchall": { @@ -11964,11 +11940,19 @@ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "regexp.prototype.flags": "1.2.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" } }, "stringifier": { @@ -11976,9 +11960,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.7", - "traverse": "0.6.6", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" } }, "strip-ansi": { @@ -11986,7 +11970,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -12001,7 +11985,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.1" } }, "strip-eof": { @@ -12016,7 +12000,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -12036,16 +12020,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.2", - "debug": "3.1.0", - "extend": "3.0.1", - "form-data": "2.3.2", - "formidable": "1.2.1", - "methods": "1.1.2", - "mime": "1.6.0", - "qs": "6.5.2", - "readable-stream": "2.3.6" + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" }, "dependencies": { "mime": { @@ -12062,11 +12046,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "1.0.1", - "indent-string": "3.2.0", - "js-yaml": "3.12.0", - "serialize-error": "2.1.0", - "strip-ansi": "4.0.0" + "arrify": "^1.0.1", + "indent-string": "^3.2.0", + "js-yaml": "^3.10.0", + "serialize-error": "^2.1.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -12081,7 +12065,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12092,8 +12076,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "1.1.2", - "superagent": "3.8.3" + "methods": "~1.1.2", + "superagent": "^3.0.0" } }, "supports-color": { @@ -12102,7 +12086,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -12125,24 +12109,24 @@ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "6.5.1", - "ajv-keywords": "3.2.0", - "chalk": "2.4.1", - "lodash": "4.17.10", + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ajv": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz", - "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "ansi-regex": { @@ -12175,8 +12159,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12185,7 +12169,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12202,7 +12186,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "text-encoding": { @@ -12228,8 +12212,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-zone": { @@ -12250,7 +12234,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -12264,7 +12248,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12272,7 +12256,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12282,10 +12266,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -12293,8 +12277,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "tough-cookie": { @@ -12302,7 +12286,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "traverse": { @@ -12333,7 +12317,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -12348,7 +12332,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -12375,9 +12359,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "camelcase": { @@ -12394,8 +12378,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -12420,9 +12404,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -12469,10 +12453,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -12480,7 +12464,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -12488,10 +12472,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -12502,7 +12486,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "unique-temp-dir": { @@ -12511,8 +12495,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", + "mkdirp": "^0.5.1", + "os-tmpdir": "^1.0.1", "uid2": "0.0.3" } }, @@ -12521,9 +12505,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "1.0.0", + "array-filter": "^1.0.0", "indexof": "0.0.1", - "object-keys": "1.0.12" + "object-keys": "^1.0.0" } }, "universalify": { @@ -12537,8 +12521,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -12546,9 +12530,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -12580,16 +12564,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.4.1", - "configstore": "3.1.2", - "import-lazy": "2.1.0", - "is-ci": "1.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "uri-js": { @@ -12598,7 +12582,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" }, "dependencies": { "punycode": { @@ -12620,7 +12604,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "url-to-options": { @@ -12640,7 +12624,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" } }, "util-deprecate": { @@ -12649,9 +12633,9 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.0.tgz", - "integrity": "sha512-ijO9N2xY/YaOqQ5yz5c4sy2ZjWmA6AR6zASb/gdpeKZ8+948CxwfMW9RrKVk5may6ev8c0/Xguu32e2Llelpqw==" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "validate-npm-package-license": { "version": "3.0.3", @@ -12659,8 +12643,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -12668,9 +12652,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "well-known-symbols": { @@ -12685,7 +12669,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12700,7 +12684,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12721,8 +12705,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12731,7 +12715,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12752,8 +12736,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -12767,7 +12751,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -12776,9 +12760,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "write-json-file": { @@ -12787,12 +12771,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "5.0.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "pify": "3.0.0", - "sort-keys": "2.0.0", - "write-file-atomic": "2.3.0" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.0.0" }, "dependencies": { "detect-indent": { @@ -12809,8 +12793,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "2.0.0", - "write-json-file": "2.3.0" + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" } }, "xdg-basedir": { @@ -12845,13 +12829,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" } }, "yargs-parser": { @@ -12860,7 +12844,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { From d0d84b1980f7e4079b8473d1d21fad026552f507 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 3 Jul 2018 09:40:43 -0700 Subject: [PATCH 168/588] chore(deps): lock file maintenance (#109) --- packages/google-cloud-vision/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 302fe0ff32e..e564c563eb6 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -6986,9 +6986,9 @@ } }, "is-callable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "dev": true }, "is-ci": { From 714a9ffc1ba4984cd9c1c9a931e891ef7264cfee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 3 Jul 2018 10:46:29 -0700 Subject: [PATCH 169/588] chore(deps): lock file maintenance (#110) --- packages/google-cloud-vision/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index e564c563eb6..f7187ae3a1e 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -11586,9 +11586,9 @@ "dev": true }, "sinon": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.0.1.tgz", - "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.1.0.tgz", + "integrity": "sha512-BSt7qfCyoqMcPVK0c+olyjaa2DB0DTyOBpHmGC3goiHmNa8NE+4/ZJlUi693VS0WPgvR0rc6nYvASXYZMiibhw==", "dev": true, "requires": { "@sinonjs/formatio": "^2.0.0", From 37c30b4dd8236d172ccbba7ccadbc0f1931e0d63 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 3 Jul 2018 11:03:07 -0700 Subject: [PATCH 170/588] chore(deps): lock file maintenance (#112) --- packages/google-cloud-vision/package-lock.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index f7187ae3a1e..1211977c41b 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -6107,9 +6107,9 @@ "dev": true }, "grpc": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.4.tgz", - "integrity": "sha512-t0Hy4yoHHYLkK0b+ULTHw5ZuSFmWokCABY0C4bKQbE4jnm1hpjA23cQVD0xAqDcRHN5CkvFzlqb34ngV22dqoQ==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.0.tgz", + "integrity": "sha512-jGxWFYzttSz9pi8mu283jZvo2zIluWonQ918GMHKx8grT57GIVlvx7/82fo7AGS75lbkPoO1T6PZLvCRD9Pbtw==", "requires": { "lodash": "^4.17.5", "nan": "^2.0.0", @@ -6323,7 +6323,7 @@ } }, "node-pre-gyp": { - "version": "0.10.0", + "version": "0.10.2", "bundled": true, "requires": { "detect-libc": "^1.0.2", @@ -6332,7 +6332,7 @@ "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", - "rc": "^1.1.7", + "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", "tar": "^4" From 501397ae0f8926587406363203701763473541ca Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Sat, 7 Jul 2018 12:18:48 -0700 Subject: [PATCH 171/588] synth.py: follow synth scripts from other repos (#113) * gen: synth.py v2 * gen: synth.py excludes src/index.js for multi-version --- packages/google-cloud-vision/synth.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 71789947ee4..7e8fe46c15e 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -17,6 +17,9 @@ import synthtool as s import synthtool.gcp as gcp import subprocess +import logging + +logging.basicConfig(level=logging.DEBUG) gapic = gcp.GAPICGenerator() @@ -25,21 +28,11 @@ for version in versions: library = gapic.node_library('vision', version) - s.copy(library / 'protos') - s.copy(library / 'src' / version) - s.copy(library / 'samples') - s.copy(library / 'system-test') - s.copy(library / 'test') +s.copy(library, excludes=['src/index.js', 'README.md', 'package.json']) ''' Node.js specific cleanup ''' -# Repo Cleanup/Setup -subprocess.run(['npm', 'install']) - -# Generates scaffolding, enters contributors names -subprocess.run(['npm', 'run', 'generate-scaffolding']) - -# prettify and lint +subprocess.run(['npm', 'ci']) subprocess.run(['npm', 'run', 'prettier']) subprocess.run(['npm', 'run', 'lint']) From 3211d9e8de0a4e6525bf2f713f744bb108b7f9ed Mon Sep 17 00:00:00 2001 From: DPE bot Date: Sat, 7 Jul 2018 12:35:13 -0700 Subject: [PATCH 172/588] Re-generate library using /synth.py (#111) --- .../google-cloud-vision/package-lock.json | 5018 ++++++++--------- 1 file changed, 2244 insertions(+), 2774 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 1211977c41b..bc5d5735600 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.8.0", - "babel-plugin-syntax-trailing-function-commas": "^6.20.0", - "babel-plugin-transform-async-to-generator": "^6.16.0", - "babel-plugin-transform-es2015-destructuring": "^6.19.0", - "babel-plugin-transform-es2015-function-name": "^6.9.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", - "babel-plugin-transform-es2015-parameters": "^6.21.0", - "babel-plugin-transform-es2015-spread": "^6.8.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", - "babel-plugin-transform-exponentiation-operator": "^6.8.0", - "package-hash": "^1.2.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "package-hash": "1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "^1.3.0" + "md5-hex": "1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "^2.0.0", - "babel-plugin-espower": "^2.3.2" + "@ava/babel-plugin-throws-helper": "2.0.0", + "babel-plugin-espower": "2.4.0" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.51", - "jsesc": "^2.5.1", - "lodash": "^4.17.5", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "jsesc": "2.5.1", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" + "lodash": "4.17.10" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "debug": "^3.1.0", - "globals": "^11.1.0", - "invariant": "^2.2.0", - "lodash": "^4.17.5" + "debug": "3.1.0", + "globals": "11.7.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "globals": { @@ -191,9 +191,9 @@ "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.5", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,7 +210,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "^1.0.1" + "arrify": "1.0.1" } }, "@google-cloud/common": { @@ -218,21 +218,21 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.3.tgz", "integrity": "sha512-jt8/R4EqDTQccv5WA9AEaS65llM5+mlxsuWu57G5Os8HTIpgPbcsOVMUeIvmTrBuPUYSoRIMW8d/pvv/95n0+g==", "requires": { - "@types/duplexify": "^3.5.0", - "@types/request": "^2.47.0", - "arrify": "^1.0.1", - "axios": "^0.18.0", - "duplexify": "^3.6.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auth-library": "^1.6.0", - "is": "^3.2.1", - "pify": "^3.0.0", - "request": "^2.87.0", - "retry-request": "^4.0.0", - "split-array-stream": "^2.0.0", - "stream-events": "^1.0.4", - "through2": "^2.0.3" + "@types/duplexify": "3.5.0", + "@types/request": "2.47.1", + "arrify": "1.0.1", + "axios": "0.18.0", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auth-library": "1.6.1", + "is": "3.2.1", + "pify": "3.0.0", + "request": "2.87.0", + "retry-request": "4.0.0", + "split-array-stream": "2.0.0", + "stream-events": "1.0.4", + "through2": "2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "^5.5.0", + "semver": "5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -269,9 +269,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "is-fullwidth-code-point": { @@ -292,33 +292,33 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.3.0", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.1", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.9.1", - "istanbul-lib-report": "^1.1.2", - "istanbul-lib-source-maps": "^1.2.2", - "istanbul-reports": "^1.1.3", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.0.2", - "micromatch": "^2.3.11", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.5.4", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.1.1", - "yargs": "^10.0.3", - "yargs-parser": "^8.0.0" + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "md5-hex": "1.3.0", + "merge-source-map": "1.0.4", + "micromatch": "2.3.11", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.1.1", + "yargs": "10.0.3", + "yargs-parser": "8.0.0" }, "dependencies": { "align-text": { @@ -326,9 +326,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -351,7 +351,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -364,7 +364,7 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -392,9 +392,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-generator": { @@ -402,14 +402,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.6", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-messages": { @@ -417,7 +417,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-runtime": { @@ -425,8 +425,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -434,11 +434,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" } }, "babel-traverse": { @@ -446,15 +446,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" } }, "babel-types": { @@ -462,10 +462,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -483,7 +483,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -492,9 +492,9 @@ "bundled": true, "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "builtin-modules": { @@ -507,9 +507,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -524,8 +524,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -533,11 +533,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "cliui": { @@ -546,8 +546,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -589,8 +589,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "which": "1.3.0" } }, "debug": { @@ -616,7 +616,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "detect-indent": { @@ -624,7 +624,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "error-ex": { @@ -632,7 +632,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "escape-string-regexp": { @@ -650,13 +650,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -664,9 +664,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" } } } @@ -676,7 +676,7 @@ "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -684,7 +684,7 @@ "bundled": true, "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.3" } }, "extglob": { @@ -692,7 +692,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "filename-regex": { @@ -705,11 +705,11 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "find-cache-dir": { @@ -717,9 +717,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -727,7 +727,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -740,7 +740,7 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreground-child": { @@ -748,8 +748,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fs.realpath": { @@ -772,12 +772,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -785,8 +785,8 @@ "bundled": true, "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -794,7 +794,7 @@ "bundled": true, "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "globals": { @@ -812,10 +812,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -823,7 +823,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -833,7 +833,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -856,8 +856,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -870,7 +870,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -893,7 +893,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-dotfile": { @@ -906,7 +906,7 @@ "bundled": true, "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -924,7 +924,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -932,7 +932,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -940,7 +940,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { @@ -948,7 +948,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-posix-bracket": { @@ -999,7 +999,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -1007,13 +1007,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.1.1", - "semver": "^5.3.0" + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" } }, "istanbul-lib-report": { @@ -1021,10 +1021,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "supports-color": { @@ -1032,7 +1032,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -1042,11 +1042,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -1064,7 +1064,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "js-tokens": { @@ -1082,7 +1082,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -1096,7 +1096,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -1104,11 +1104,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -1116,8 +1116,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -1142,7 +1142,7 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "lru-cache": { @@ -1150,8 +1150,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "md5-hex": { @@ -1159,7 +1159,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -1172,7 +1172,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.1.0" } }, "merge-source-map": { @@ -1180,7 +1180,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "micromatch": { @@ -1188,19 +1188,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mimic-fn": { @@ -1213,7 +1213,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "minimist": { @@ -1239,10 +1239,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" } }, "normalize-path": { @@ -1250,7 +1250,7 @@ "bundled": true, "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -1258,7 +1258,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -1276,8 +1276,8 @@ "bundled": true, "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "once": { @@ -1285,7 +1285,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -1293,8 +1293,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -1307,9 +1307,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -1327,7 +1327,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.1.0" } }, "parse-glob": { @@ -1335,10 +1335,10 @@ "bundled": true, "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -1346,7 +1346,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "path-exists": { @@ -1354,7 +1354,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -1377,9 +1377,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -1397,7 +1397,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -1405,7 +1405,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -1413,8 +1413,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1434,8 +1434,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -1443,7 +1443,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -1451,7 +1451,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1461,7 +1461,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1471,9 +1471,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -1481,8 +1481,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -1490,8 +1490,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1506,7 +1506,7 @@ "bundled": true, "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "remove-trailing-separator": { @@ -1529,7 +1529,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "require-directory": { @@ -1553,7 +1553,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -1561,7 +1561,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "semver": { @@ -1579,7 +1579,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -1607,12 +1607,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" } }, "spdx-correct": { @@ -1620,7 +1620,7 @@ "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "^1.0.2" + "spdx-license-ids": "1.2.2" } }, "spdx-expression-parse": { @@ -1638,8 +1638,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -1657,7 +1657,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -1667,7 +1667,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -1675,7 +1675,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -1693,11 +1693,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-fast-properties": { @@ -1716,9 +1716,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -1727,9 +1727,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -1746,8 +1746,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" } }, "which": { @@ -1755,7 +1755,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -1779,8 +1779,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "string-width": { @@ -1788,9 +1788,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -1805,9 +1805,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -1825,18 +1825,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^8.0.0" + "cliui": "3.2.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.0.0" }, "dependencies": { "cliui": { @@ -1844,9 +1844,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -1854,9 +1854,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -1868,7 +1868,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -1886,9 +1886,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "sinon": { @@ -1897,13 +1897,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.1.0", - "lodash.get": "^4.4.2", - "lolex": "^2.2.0", - "nise": "^1.2.0", - "supports-color": "^5.1.0", - "type-detect": "^4.0.5" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "string-width": { @@ -1912,8 +1912,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -1922,7 +1922,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs": { @@ -1931,18 +1931,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" } } } @@ -1953,27 +1953,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "^0.17.0", - "arrify": "^1.0.0", - "async": "^2.0.1", - "compressible": "^2.0.12", - "concat-stream": "^1.5.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "extend": "^3.0.0", - "gcs-resumable-upload": "^0.10.2", - "hash-stream-validation": "^0.2.1", - "is": "^3.0.1", - "mime": "^2.2.0", - "mime-types": "^2.0.8", - "once": "^1.3.1", - "pumpify": "^1.5.1", - "request": "^2.85.0", - "safe-buffer": "^5.1.1", - "snakeize": "^0.1.0", - "stream-events": "^1.0.1", - "through2": "^2.0.0", - "xdg-basedir": "^3.0.0" + "@google-cloud/common": "0.17.0", + "arrify": "1.0.1", + "async": "2.6.1", + "compressible": "2.0.14", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "extend": "3.0.1", + "gcs-resumable-upload": "0.10.2", + "hash-stream-validation": "0.2.1", + "is": "3.2.1", + "mime": "2.3.1", + "mime-types": "2.1.18", + "once": "1.4.0", + "pumpify": "1.5.1", + "request": "2.87.0", + "safe-buffer": "5.1.2", + "snakeize": "0.1.0", + "stream-events": "1.0.4", + "through2": "2.0.3", + "xdg-basedir": "3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -1982,24 +1982,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "^1.0.3", - "arrify": "^1.0.1", - "concat-stream": "^1.6.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auto-auth": "^0.10.0", - "is": "^3.2.0", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auto-auth": "0.10.1", + "is": "3.2.1", "log-driver": "1.2.7", - "methmeth": "^1.1.0", - "modelo": "^4.2.0", - "request": "^2.79.0", - "retry-request": "^3.0.0", - "split-array-stream": "^1.0.0", - "stream-events": "^1.0.1", - "string-format-obj": "^1.1.0", - "through2": "^2.0.3" + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "1.0.3", + "stream-events": "1.0.4", + "string-format-obj": "1.1.1", + "through2": "2.0.3" } }, "retry-request": { @@ -2008,8 +2008,8 @@ "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "dev": true, "requires": { - "request": "^2.81.0", - "through2": "^2.0.0" + "request": "2.87.0", + "through2": "2.0.3" } }, "split-array-stream": { @@ -2018,8 +2018,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "^2.4.0", - "is-stream-ended": "^0.1.0" + "async": "2.6.1", + "is-stream-ended": "0.1.4" } } } @@ -2030,10 +2030,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "^0.4.0", - "date-time": "^0.1.1", - "pretty-ms": "^0.2.1", - "text-table": "^0.2.0" + "chalk": "0.4.0", + "date-time": "0.1.1", + "pretty-ms": "0.2.2", + "text-table": "0.2.0" }, "dependencies": { "ansi-styles": { @@ -2048,9 +2048,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" } }, "pretty-ms": { @@ -2059,7 +2059,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "^0.1.0" + "parse-ms": "0.1.2" } }, "strip-ansi": { @@ -2075,8 +2075,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" } }, "@nodelib/fs.stat": { @@ -2109,8 +2109,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/inquire": "1.1.0" } }, "@protobufjs/float": { @@ -2163,7 +2163,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "*" + "@types/node": "10.5.1" } }, "@types/form-data": { @@ -2171,7 +2171,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "*" + "@types/node": "10.5.1" } }, "@types/long": { @@ -2189,10 +2189,10 @@ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "*", - "@types/form-data": "*", - "@types/node": "*", - "@types/tough-cookie": "*" + "@types/caseless": "0.12.1", + "@types/form-data": "2.2.1", + "@types/node": "10.5.1", + "@types/tough-cookie": "2.3.3" } }, "@types/tough-cookie": { @@ -2216,7 +2216,7 @@ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "^5.0.3" + "acorn": "5.7.1" } }, "ajv": { @@ -2224,10 +2224,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -2242,9 +2242,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" }, "dependencies": { "kind-of": { @@ -2253,7 +2253,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2270,7 +2270,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -2291,8 +2291,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -2301,7 +2301,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2323,7 +2323,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "anymatch": { @@ -2332,8 +2332,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -2342,7 +2342,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "array-unique": { @@ -2357,9 +2357,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "expand-brackets": { @@ -2368,7 +2368,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "extglob": { @@ -2377,7 +2377,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-extglob": { @@ -2392,7 +2392,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "kind-of": { @@ -2401,7 +2401,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "micromatch": { @@ -2410,19 +2410,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } } } @@ -2433,7 +2433,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "argv": { @@ -2491,7 +2491,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -2514,8 +2514,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "~0.7.1", - "optjs": "~3.2.2" + "colour": "0.7.1", + "optjs": "3.2.2" } }, "asn1": { @@ -2539,7 +2539,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "async-each": { @@ -2570,89 +2570,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "^1.1.0", - "@ava/babel-preset-transform-test-files": "^3.0.0", - "@ava/write-file-atomic": "^2.2.0", - "@concordance/react": "^1.0.0", - "@ladjs/time-require": "^0.1.4", - "ansi-escapes": "^3.0.0", - "ansi-styles": "^3.1.0", - "arr-flatten": "^1.0.1", - "array-union": "^1.0.1", - "array-uniq": "^1.0.2", - "arrify": "^1.0.0", - "auto-bind": "^1.1.0", - "ava-init": "^0.2.0", - "babel-core": "^6.17.0", - "babel-generator": "^6.26.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "bluebird": "^3.0.0", - "caching-transform": "^1.0.0", - "chalk": "^2.0.1", - "chokidar": "^1.4.2", - "clean-stack": "^1.1.1", - "clean-yaml-object": "^0.1.0", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.0.0", - "cli-truncate": "^1.0.0", - "co-with-promise": "^4.6.0", - "code-excerpt": "^2.1.1", - "common-path-prefix": "^1.0.0", - "concordance": "^3.0.0", - "convert-source-map": "^1.5.1", - "core-assert": "^0.2.0", - "currently-unhandled": "^0.4.1", - "debug": "^3.0.1", - "dot-prop": "^4.1.0", - "empower-core": "^0.6.1", - "equal-length": "^1.0.0", - "figures": "^2.0.0", - "find-cache-dir": "^1.0.0", - "fn-name": "^2.0.0", - "get-port": "^3.0.0", - "globby": "^6.0.0", - "has-flag": "^2.0.0", - "hullabaloo-config-manager": "^1.1.0", - "ignore-by-default": "^1.0.0", - "import-local": "^0.1.1", - "indent-string": "^3.0.0", - "is-ci": "^1.0.7", - "is-generator-fn": "^1.0.0", - "is-obj": "^1.0.0", - "is-observable": "^1.0.0", - "is-promise": "^2.1.0", - "last-line-stream": "^1.0.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.debounce": "^4.0.3", - "lodash.difference": "^4.3.0", - "lodash.flatten": "^4.2.0", - "loud-rejection": "^1.2.0", - "make-dir": "^1.0.0", - "matcher": "^1.0.0", - "md5-hex": "^2.0.0", - "meow": "^3.7.0", - "ms": "^2.0.0", - "multimatch": "^2.1.0", - "observable-to-promise": "^0.5.0", - "option-chain": "^1.0.0", - "package-hash": "^2.0.0", - "pkg-conf": "^2.0.0", - "plur": "^2.0.0", - "pretty-ms": "^3.0.0", - "require-precompiled": "^0.1.0", - "resolve-cwd": "^2.0.0", - "safe-buffer": "^5.1.1", - "semver": "^5.4.1", - "slash": "^1.0.0", - "source-map-support": "^0.5.0", - "stack-utils": "^1.0.1", - "strip-ansi": "^4.0.0", - "strip-bom-buf": "^1.0.0", - "supertap": "^1.0.0", - "supports-color": "^5.0.0", - "trim-off-newlines": "^1.0.1", - "unique-temp-dir": "^1.0.0", - "update-notifier": "^2.3.0" + "@ava/babel-preset-stage-4": "1.1.0", + "@ava/babel-preset-transform-test-files": "3.0.0", + "@ava/write-file-atomic": "2.2.0", + "@concordance/react": "1.0.0", + "@ladjs/time-require": "0.1.4", + "ansi-escapes": "3.1.0", + "ansi-styles": "3.2.1", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.2.1", + "ava-init": "0.2.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.4.1", + "chokidar": "1.7.0", + "clean-stack": "1.3.0", + "clean-yaml-object": "0.1.0", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "cli-truncate": "1.1.0", + "co-with-promise": "4.6.0", + "code-excerpt": "2.1.1", + "common-path-prefix": "1.0.0", + "concordance": "3.0.0", + "convert-source-map": "1.5.1", + "core-assert": "0.2.1", + "currently-unhandled": "0.4.1", + "debug": "3.1.0", + "dot-prop": "4.2.0", + "empower-core": "0.6.2", + "equal-length": "1.0.1", + "figures": "2.0.0", + "find-cache-dir": "1.0.0", + "fn-name": "2.0.1", + "get-port": "3.2.0", + "globby": "6.1.0", + "has-flag": "2.0.0", + "hullabaloo-config-manager": "1.1.1", + "ignore-by-default": "1.0.1", + "import-local": "0.1.1", + "indent-string": "3.2.0", + "is-ci": "1.1.0", + "is-generator-fn": "1.0.0", + "is-obj": "1.0.1", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "last-line-stream": "1.0.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.debounce": "4.0.8", + "lodash.difference": "4.5.0", + "lodash.flatten": "4.4.0", + "loud-rejection": "1.6.0", + "make-dir": "1.3.0", + "matcher": "1.1.1", + "md5-hex": "2.0.0", + "meow": "3.7.0", + "ms": "2.0.0", + "multimatch": "2.1.0", + "observable-to-promise": "0.5.0", + "option-chain": "1.0.0", + "package-hash": "2.0.0", + "pkg-conf": "2.1.0", + "plur": "2.1.2", + "pretty-ms": "3.2.0", + "require-precompiled": "0.1.0", + "resolve-cwd": "2.0.0", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slash": "1.0.0", + "source-map-support": "0.5.6", + "stack-utils": "1.0.1", + "strip-ansi": "4.0.0", + "strip-bom-buf": "1.0.0", + "supertap": "1.0.0", + "supports-color": "5.4.0", + "trim-off-newlines": "1.0.1", + "unique-temp-dir": "1.0.0", + "update-notifier": "2.5.0" }, "dependencies": { "ansi-regex": { @@ -2668,7 +2668,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "globby": { @@ -2677,11 +2677,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -2702,7 +2702,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "strip-ansi": { @@ -2711,7 +2711,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2722,11 +2722,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "^1.0.0", - "execa": "^0.7.0", - "has-yarn": "^1.0.0", - "read-pkg-up": "^2.0.0", - "write-pkg": "^3.1.0" + "arr-exclude": "1.0.0", + "execa": "0.7.0", + "has-yarn": "1.0.0", + "read-pkg-up": "2.0.0", + "write-pkg": "3.2.0" } }, "aws-sign2": { @@ -2744,8 +2744,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.0", + "is-buffer": "1.1.6" } }, "babel-code-frame": { @@ -2754,9 +2754,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -2771,11 +2771,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -2792,25 +2792,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -2830,14 +2830,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -2854,9 +2854,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-call-delegate": { @@ -2865,10 +2865,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-explode-assignable-expression": { @@ -2877,9 +2877,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -2888,11 +2888,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -2901,8 +2901,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -2911,8 +2911,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -2921,9 +2921,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -2932,11 +2932,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -2945,8 +2945,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-messages": { @@ -2955,7 +2955,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -2964,7 +2964,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-espower": { @@ -2973,13 +2973,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "^6.1.0", - "babylon": "^6.1.0", - "call-matcher": "^1.0.0", - "core-js": "^2.0.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.1.1" + "babel-generator": "6.26.1", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.7", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "babel-plugin-syntax-async-functions": { @@ -3012,9 +3012,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3023,7 +3023,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3032,9 +3032,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3043,10 +3043,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3055,12 +3055,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -3069,7 +3069,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3078,9 +3078,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3089,9 +3089,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3100,9 +3100,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-strict-mode": { @@ -3111,8 +3111,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-register": { @@ -3121,13 +3121,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "source-map-support": { @@ -3136,7 +3136,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -3147,8 +3147,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -3157,11 +3157,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -3170,15 +3170,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "debug": { @@ -3198,10 +3198,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3220,13 +3220,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3234,7 +3234,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3242,7 +3242,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3250,7 +3250,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3258,9 +3258,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3271,7 +3271,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary-extensions": { @@ -3292,13 +3292,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -3325,8 +3325,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3335,7 +3335,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3345,7 +3345,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -3354,16 +3354,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -3371,7 +3371,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -3410,7 +3410,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "~3" + "long": "3.2.0" }, "dependencies": { "long": { @@ -3425,15 +3425,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "cacheable-request": { @@ -3465,9 +3465,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" }, "dependencies": { "md5-hex": { @@ -3476,7 +3476,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "write-file-atomic": { @@ -3485,9 +3485,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } } } @@ -3498,10 +3498,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "^2.0.0", - "deep-equal": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.0.0" + "core-js": "2.5.7", + "deep-equal": "1.0.1", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "call-me-maybe": { @@ -3520,7 +3520,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -3540,8 +3540,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "capture-stack-trace": { @@ -3561,7 +3561,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "~0.3.0" + "underscore-contrib": "0.3.0" } }, "center-align": { @@ -3571,8 +3571,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -3581,9 +3581,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "chardet": { @@ -3598,15 +3598,14 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" }, "dependencies": { "glob-parent": { @@ -3615,7 +3614,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -3630,7 +3629,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -3652,10 +3651,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -3663,7 +3662,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -3692,7 +3691,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -3707,8 +3706,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" + "slice-ansi": "1.0.0", + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -3729,8 +3728,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3739,7 +3738,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3755,9 +3754,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone-response": { @@ -3766,7 +3765,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "co": { @@ -3780,7 +3779,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "^1.0.0" + "pinkie-promise": "1.0.0" } }, "code-excerpt": { @@ -3789,7 +3788,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "^1.0.1" + "convert-to-spaces": "1.0.2" } }, "code-point-at": { @@ -3804,7 +3803,7 @@ "dev": true, "requires": { "argv": "0.0.2", - "request": "^2.81.0", + "request": "2.87.0", "urlgrey": "0.4.4" } }, @@ -3813,8 +3812,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -3848,7 +3847,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -3880,7 +3879,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.34.0" }, "dependencies": { "mime-db": { @@ -3902,10 +3901,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "concordance": { @@ -3914,17 +3913,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "^2.1.0", - "esutils": "^2.0.2", - "fast-diff": "^1.1.1", - "function-name-support": "^0.2.0", - "js-string-escape": "^1.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.flattendeep": "^4.4.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "semver": "^5.3.0", - "well-known-symbols": "^1.0.0" + "date-time": "2.1.0", + "esutils": "2.0.2", + "fast-diff": "1.1.2", + "function-name-support": "0.2.0", + "js-string-escape": "1.0.1", + "lodash.clonedeep": "4.5.0", + "lodash.flattendeep": "4.4.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "semver": "5.5.0", + "well-known-symbols": "1.0.0" }, "dependencies": { "date-time": { @@ -3933,7 +3932,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "^1.0.0" + "time-zone": "1.0.0" } } } @@ -3944,12 +3943,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "convert-source-map": { @@ -3981,8 +3980,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "^1.0.0", - "is-error": "^2.2.0" + "buf-compare": "1.0.1", + "is-error": "2.2.1" } }, "core-js": { @@ -4001,7 +4000,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "cross-spawn": { @@ -4010,9 +4009,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "crypto-random-string": { @@ -4027,7 +4026,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -4036,7 +4035,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -4044,7 +4043,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-time": { @@ -4077,7 +4076,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "deep-equal": { @@ -4103,8 +4102,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.12" } }, "define-property": { @@ -4112,8 +4111,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4121,7 +4120,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4129,7 +4128,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4137,9 +4136,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -4150,13 +4149,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" }, "dependencies": { "globby": { @@ -4165,12 +4164,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -4191,7 +4190,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } } } @@ -4207,7 +4206,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "diff": { @@ -4226,8 +4225,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" + "arrify": "1.0.1", + "path-type": "3.0.0" } }, "doctrine": { @@ -4236,7 +4235,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-serializer": { @@ -4245,8 +4244,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -4269,7 +4268,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -4278,8 +4277,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -4288,7 +4287,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "duplexer3": { @@ -4302,10 +4301,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" } }, "eastasianwidth": { @@ -4319,7 +4318,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "ecdsa-sig-formatter": { @@ -4327,7 +4326,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "empower": { @@ -4335,8 +4334,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "^2.0.0", - "empower-core": "^1.2.0" + "core-js": "2.5.7", + "empower-core": "1.2.0" } }, "empower-assert": { @@ -4345,7 +4344,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "^4.2.0" + "estraverse": "4.2.0" } }, "empower-core": { @@ -4354,7 +4353,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "end-of-stream": { @@ -4362,7 +4361,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "ent": { @@ -4388,7 +4387,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -4397,11 +4396,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -4410,9 +4409,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { @@ -4421,9 +4420,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-error": { @@ -4438,9 +4437,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -4449,12 +4448,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-set": { @@ -4463,11 +4462,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -4476,8 +4475,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "es6-weak-map": { @@ -4486,10 +4485,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escallmatch": { @@ -4498,8 +4497,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "^1.0.0", - "esprima": "^2.0.0" + "call-matcher": "1.0.1", + "esprima": "2.7.3" }, "dependencies": { "esprima": { @@ -4522,11 +4521,11 @@ "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -4550,10 +4549,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint": { @@ -4562,44 +4561,44 @@ "integrity": "sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==", "dev": true, "requires": { - "ajv": "^6.5.0", - "babel-code-frame": "^6.26.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^4.0.0", - "eslint-visitor-keys": "^1.0.0", - "espree": "^4.0.0", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.5.0", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^5.2.0", - "is-resolvable": "^1.1.0", - "js-yaml": "^3.11.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.5", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.1.0", - "require-uncached": "^1.0.3", - "semver": "^5.5.0", - "string.prototype.matchall": "^2.0.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^4.0.3", - "text-table": "^0.2.0" + "ajv": "6.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "4.0.0", + "eslint-visitor-keys": "1.0.0", + "espree": "4.0.0", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.7.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "5.2.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "string.prototype.matchall": "2.0.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.3", + "text-table": "0.2.0" }, "dependencies": { "ajv": { @@ -4608,10 +4607,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ansi-regex": { @@ -4626,11 +4625,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "fast-deep-equal": { @@ -4657,7 +4656,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -4668,7 +4667,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "^5.0.1" + "get-stdin": "5.0.1" }, "dependencies": { "get-stdin": { @@ -4685,10 +4684,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "^3.3.6", - "minimatch": "^3.0.4", - "resolve": "^1.3.3", - "semver": "^5.4.1" + "ignore": "3.3.10", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.5.0" }, "dependencies": { "resolve": { @@ -4697,7 +4696,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } } } @@ -4708,8 +4707,8 @@ "integrity": "sha512-wNZ2z0oVCWnf+3BSI7roS+z4gGu2AwcPKUek+SlLZMZg+X0KbZLsB2knul7fd0K3iuIp402HIYzm4f2+OyfXxA==", "dev": true, "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" + "fast-diff": "1.1.2", + "jest-docblock": "21.2.0" } }, "eslint-scope": { @@ -4718,8 +4717,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint-visitor-keys": { @@ -4734,16 +4733,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "^1.0.0", - "escallmatch": "^1.5.0", - "escodegen": "^1.7.0", - "escope": "^3.3.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.3.0", - "estraverse": "^4.1.0", - "source-map": "^0.5.0", - "type-name": "^2.0.0", - "xtend": "^4.0.0" + "array-find": "1.0.0", + "escallmatch": "1.5.0", + "escodegen": "1.10.0", + "escope": "3.6.0", + "espower-location-detector": "1.0.0", + "espurify": "1.8.0", + "estraverse": "4.2.0", + "source-map": "0.5.7", + "type-name": "2.0.2", + "xtend": "4.0.1" } }, "espower-loader": { @@ -4752,11 +4751,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "^1.1.0", - "espower-source": "^2.0.0", - "minimatch": "^3.0.0", - "source-map-support": "^0.4.0", - "xtend": "^4.0.0" + "convert-source-map": "1.5.1", + "espower-source": "2.3.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" }, "dependencies": { "source-map-support": { @@ -4765,7 +4764,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -4776,10 +4775,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "^1.2.1", - "path-is-absolute": "^1.0.0", - "source-map": "^0.5.0", - "xtend": "^4.0.0" + "is-url": "1.2.4", + "path-is-absolute": "1.0.1", + "source-map": "0.5.7", + "xtend": "4.0.1" } }, "espower-source": { @@ -4788,17 +4787,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.10", - "convert-source-map": "^1.1.1", - "empower-assert": "^1.0.0", - "escodegen": "^1.10.0", - "espower": "^2.1.1", - "estraverse": "^4.0.0", - "merge-estraverse-visitors": "^1.0.0", - "multi-stage-sourcemap": "^0.2.1", - "path-is-absolute": "^1.0.0", - "xtend": "^4.0.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.1", + "empower-assert": "1.1.0", + "escodegen": "1.10.0", + "espower": "2.1.1", + "estraverse": "4.2.0", + "merge-estraverse-visitors": "1.0.0", + "multi-stage-sourcemap": "0.2.1", + "path-is-absolute": "1.0.1", + "xtend": "4.0.1" } }, "espree": { @@ -4807,8 +4806,8 @@ "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "^5.6.0", - "acorn-jsx": "^4.1.1" + "acorn": "5.7.1", + "acorn-jsx": "4.1.1" } }, "esprima": { @@ -4822,7 +4821,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "esquery": { @@ -4831,7 +4830,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -4840,7 +4839,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -4860,8 +4859,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "execa": { @@ -4870,13 +4869,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -4884,13 +4883,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -4906,7 +4905,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -4914,7 +4913,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4925,7 +4924,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { @@ -4934,11 +4933,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "is-number": { @@ -4947,7 +4946,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "isobject": { @@ -4965,7 +4964,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4980,8 +4979,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -4989,7 +4988,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -5000,9 +4999,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -5010,14 +5009,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -5025,7 +5024,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -5033,7 +5032,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -5041,7 +5040,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -5049,7 +5048,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -5057,9 +5056,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -5085,12 +5084,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.0", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" } }, "fast-json-stable-stringify": { @@ -5110,7 +5109,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -5119,8 +5118,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.0", + "object-assign": "4.1.1" } }, "filename-regex": { @@ -5135,8 +5134,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" } }, "fill-range": { @@ -5144,10 +5143,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -5155,7 +5154,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5166,9 +5165,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" } }, "find-up": { @@ -5177,7 +5176,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "flat-cache": { @@ -5186,10 +5185,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" } }, "fn-name": { @@ -5203,7 +5202,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" } }, "for-in": { @@ -5217,7 +5216,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -5235,9 +5234,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.18" } }, "formidable": { @@ -5251,7 +5250,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "from2": { @@ -5260,8 +5259,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "fs-extra": { @@ -5270,9 +5269,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" } }, "fs.realpath": { @@ -5280,535 +5279,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true - } - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -5832,8 +5302,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "^0.18.0", - "extend": "^3.0.1", + "axios": "0.18.0", + "extend": "3.0.1", "retry-axios": "0.3.2" } }, @@ -5843,11 +5313,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "^3.1.2", - "google-auto-auth": "^0.10.0", - "pumpify": "^1.4.0", - "request": "^2.85.0", - "stream-events": "^1.0.3" + "configstore": "3.1.2", + "google-auto-auth": "0.10.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "stream-events": "1.0.4" } }, "get-caller-file": { @@ -5884,7 +5354,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -5892,12 +5362,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -5906,8 +5376,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" }, "dependencies": { "glob-parent": { @@ -5916,7 +5386,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -5931,7 +5401,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -5941,8 +5411,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -5950,7 +5420,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -5966,7 +5436,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { @@ -5980,13 +5450,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" } }, "google-auth-library": { @@ -5994,13 +5464,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "^0.18.0", - "gcp-metadata": "^0.6.3", - "gtoken": "^2.3.0", - "jws": "^3.1.5", - "lodash.isstring": "^4.0.1", - "lru-cache": "^4.1.3", - "retry-axios": "^0.3.2" + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.3.0", + "jws": "3.1.5", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.3", + "retry-axios": "0.3.2" } }, "google-auto-auth": { @@ -6009,10 +5479,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "^2.3.0", - "gcp-metadata": "^0.6.1", - "google-auth-library": "^1.3.1", - "request": "^2.79.0" + "async": "2.6.1", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.6.1", + "request": "2.87.0" } }, "google-gax": { @@ -6020,17 +5490,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "^3.6.0", - "extend": "^3.0.1", - "globby": "^8.0.1", - "google-auth-library": "^1.6.1", - "google-proto-files": "^0.16.0", - "grpc": "^1.12.2", - "is-stream-ended": "^0.1.4", - "lodash": "^4.17.10", - "protobufjs": "^6.8.6", - "retry-request": "^4.0.0", - "through2": "^2.0.3" + "duplexify": "3.6.0", + "extend": "3.0.1", + "globby": "8.0.1", + "google-auth-library": "1.6.1", + "google-proto-files": "0.16.1", + "grpc": "1.13.0", + "is-stream-ended": "0.1.4", + "lodash": "4.17.10", + "protobufjs": "6.8.6", + "retry-request": "4.0.0", + "through2": "2.0.3" } }, "google-p12-pem": { @@ -6038,8 +5508,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "^0.7.4", - "pify": "^3.0.0" + "node-forge": "0.7.5", + "pify": "3.0.0" } }, "google-proto-files": { @@ -6047,9 +5517,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "^8.0.0", - "power-assert": "^1.4.4", - "protobufjs": "^6.8.0" + "globby": "8.0.1", + "power-assert": "1.6.0", + "protobufjs": "6.8.6" } }, "got": { @@ -6058,23 +5528,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.0", + "p-cancelable": "0.3.0", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" }, "dependencies": { "prepend-http": { @@ -6089,7 +5559,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "2.0.0" } } } @@ -6111,10 +5581,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.0.tgz", "integrity": "sha512-jGxWFYzttSz9pi8mu283jZvo2zIluWonQ918GMHKx8grT57GIVlvx7/82fo7AGS75lbkPoO1T6PZLvCRD9Pbtw==", "requires": { - "lodash": "^4.17.5", - "nan": "^2.0.0", - "node-pre-gyp": "^0.10.0", - "protobufjs": "^5.0.3" + "lodash": "4.17.10", + "nan": "2.10.0", + "node-pre-gyp": "0.10.2", + "protobufjs": "5.0.3" }, "dependencies": { "abbrev": { @@ -6133,8 +5603,8 @@ "version": "1.1.5", "bundled": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -6145,7 +5615,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -6192,7 +5662,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "fs.realpath": { @@ -6203,26 +5673,26 @@ "version": "2.7.4", "bundled": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" } }, "glob": { "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -6233,22 +5703,22 @@ "version": "0.4.23", "bundled": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -6263,7 +5733,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -6274,7 +5744,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -6285,15 +5755,15 @@ "version": "2.3.3", "bundled": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "mkdirp": { @@ -6317,33 +5787,33 @@ "version": "2.2.1", "bundled": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.23", + "sax": "1.2.4" } }, "node-pre-gyp": { "version": "0.10.2", "bundled": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.1", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.8", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.4" } }, "nopt": { "version": "4.0.1", "bundled": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -6354,18 +5824,18 @@ "version": "1.1.10", "bundled": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { "version": "4.1.2", "bundled": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -6380,7 +5850,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -6395,8 +5865,8 @@ "version": "0.1.5", "bundled": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -6412,40 +5882,40 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "~1", - "bytebuffer": "~5", - "glob": "^7.0.5", - "yargs": "^3.10.0" + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" } }, "rc": { "version": "1.2.8", "bundled": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -6472,27 +5942,27 @@ "version": "3.0.2", "bundled": true }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "1.1.1", "bundled": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "safe-buffer": "5.1.2" } }, - "string_decoder": { - "version": "1.1.1", + "string-width": { + "version": "1.0.2", "bundled": true, "requires": { - "safe-buffer": "~5.1.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -6503,13 +5973,13 @@ "version": "4.4.4", "bundled": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.3", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.3", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -6520,7 +5990,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "wrappy": { @@ -6538,11 +6008,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "^0.18.0", - "google-p12-pem": "^1.0.0", - "jws": "^3.1.4", - "mime": "^2.2.0", - "pify": "^3.0.0" + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.5", + "mime": "2.3.1", + "pify": "3.0.0" } }, "handlebars": { @@ -6551,10 +6021,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -6569,7 +6039,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -6584,8 +6054,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has": { @@ -6594,7 +6064,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -6603,7 +6073,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-color": { @@ -6636,7 +6106,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "^1.4.1" + "has-symbol-support-x": "1.4.2" } }, "has-value": { @@ -6644,9 +6114,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -6654,8 +6124,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -6663,7 +6133,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6680,7 +6150,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "he": { @@ -6695,8 +6165,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -6711,12 +6181,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.4.2", + "domutils": "1.7.0", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "http-cache-semantics": { @@ -6730,9 +6200,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "hullabaloo-config-manager": { @@ -6741,20 +6211,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "es6-error": "^4.0.2", - "graceful-fs": "^4.1.11", - "indent-string": "^3.1.0", - "json5": "^0.5.1", - "lodash.clonedeep": "^4.5.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "package-hash": "^2.0.0", - "pkg-dir": "^2.0.0", - "resolve-from": "^3.0.0", - "safe-buffer": "^5.0.1" + "dot-prop": "4.2.0", + "es6-error": "4.1.1", + "graceful-fs": "4.1.11", + "indent-string": "3.2.0", + "json5": "0.5.1", + "lodash.clonedeep": "4.5.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.isequal": "4.5.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "package-hash": "2.0.0", + "pkg-dir": "2.0.0", + "resolve-from": "3.0.0", + "safe-buffer": "5.1.2" } }, "iconv-lite": { @@ -6763,7 +6233,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore": { @@ -6789,8 +6259,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -6815,8 +6285,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -6836,8 +6306,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "^2.14.1", - "sanitize-html": "^1.13.0" + "moment": "2.22.2", + "sanitize-html": "1.18.2" } }, "inquirer": { @@ -6846,19 +6316,19 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rxjs": "5.5.11", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -6879,8 +6349,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -6889,7 +6359,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -6900,7 +6370,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "^1.0.0" + "espower-loader": "1.2.2" } }, "into-stream": { @@ -6909,8 +6379,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" + "from2": "2.3.0", + "p-is-promise": "1.1.0" } }, "invariant": { @@ -6919,7 +6389,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -6943,7 +6413,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6951,7 +6421,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6968,7 +6438,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -6982,7 +6452,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -6997,7 +6467,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -7005,7 +6475,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7013,7 +6483,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7029,9 +6499,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -7053,7 +6523,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-error": { @@ -7078,7 +6548,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -7086,7 +6556,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-generator-fn": { @@ -7100,7 +6570,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -7109,8 +6579,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-npm": { @@ -7124,7 +6594,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7132,7 +6602,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7155,7 +6625,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "^1.1.0" + "symbol-observable": "1.2.0" } }, "is-path-cwd": { @@ -7170,7 +6640,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -7179,7 +6649,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -7193,7 +6663,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-posix-bracket": { @@ -7226,7 +6696,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.3" } }, "is-resolvable": { @@ -7318,8 +6788,8 @@ "@babel/template": "7.0.0-beta.51", "@babel/traverse": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "istanbul-lib-coverage": "^2.0.0", - "semver": "^5.5.0" + "istanbul-lib-coverage": "2.0.0", + "semver": "5.5.0" } }, "isurl": { @@ -7328,8 +6798,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" } }, "jest-docblock": { @@ -7356,8 +6826,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "js2xmlparser": { @@ -7366,7 +6836,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "^1.0.1" + "xmlcreate": "1.0.2" } }, "jsbn": { @@ -7382,17 +6852,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "~3.5.0", - "catharsis": "~0.8.9", - "escape-string-regexp": "~1.0.5", - "js2xmlparser": "~3.0.0", - "klaw": "~2.0.0", - "marked": "~0.3.6", - "mkdirp": "~0.5.1", - "requizzle": "~0.2.1", - "strip-json-comments": "~2.0.1", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", "taffydb": "2.6.2", - "underscore": "~1.8.3" + "underscore": "1.8.3" }, "dependencies": { "babylon": { @@ -7454,7 +6924,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsprim": { @@ -7481,7 +6951,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "jws": { @@ -7489,8 +6959,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "^1.1.5", - "safe-buffer": "^5.0.1" + "jwa": "1.1.6", + "safe-buffer": "5.1.2" } }, "keyv": { @@ -7513,7 +6983,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "last-line-stream": { @@ -7522,7 +6992,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "latest-version": { @@ -7531,7 +7001,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -7546,7 +7016,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -7555,8 +7025,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -7565,10 +7035,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" }, "dependencies": { "pify": { @@ -7585,8 +7055,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -7699,7 +7169,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -7708,8 +7178,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowercase-keys": { @@ -7723,8 +7193,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -7733,7 +7203,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "map-cache": { @@ -7752,7 +7222,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "marked": { @@ -7767,7 +7237,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.4" + "escape-string-regexp": "1.0.5" } }, "math-random": { @@ -7782,7 +7252,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -7797,7 +7267,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "meow": { @@ -7806,16 +7276,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "find-up": { @@ -7824,8 +7294,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "load-json-file": { @@ -7834,11 +7304,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "minimist": { @@ -7853,7 +7323,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-type": { @@ -7862,9 +7332,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -7885,7 +7355,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "read-pkg": { @@ -7894,9 +7364,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -7905,8 +7375,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "strip-bom": { @@ -7915,7 +7385,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } } } @@ -7932,7 +7402,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "merge2": { @@ -7957,19 +7427,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "mime": { @@ -7987,7 +7457,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { @@ -8007,7 +7477,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -8021,8 +7491,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8030,7 +7500,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8092,7 +7562,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "^0.1.34" + "source-map": "0.1.43" }, "dependencies": { "source-map": { @@ -8101,7 +7571,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -8112,10 +7582,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" } }, "mute-stream": { @@ -8134,17 +7604,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "natural-compare": { @@ -8171,11 +7641,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "just-extend": "^1.1.27", - "lolex": "^2.3.2", - "path-to-regexp": "^1.7.0", - "text-encoding": "^0.6.4" + "@sinonjs/formatio": "2.0.0", + "just-extend": "1.1.27", + "lolex": "2.7.0", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" } }, "node-forge": { @@ -8189,10 +7659,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -8201,7 +7671,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-url": { @@ -8210,9 +7680,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" }, "dependencies": { "prepend-http": { @@ -8229,7 +7699,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -8243,33 +7713,33 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^2.1.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.5", - "istanbul-reports": "^1.4.1", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "2.3.0", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.5", + "istanbul-reports": "1.4.1", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", "yargs": "11.1.0", - "yargs-parser": "^8.0.0" + "yargs-parser": "8.1.0" }, "dependencies": { "align-text": { @@ -8277,9 +7747,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -8297,7 +7767,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -8355,13 +7825,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -8369,7 +7839,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -8377,7 +7847,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8385,7 +7855,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8393,9 +7863,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8410,7 +7880,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -8419,16 +7889,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -8436,7 +7906,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8451,15 +7921,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "caching-transform": { @@ -8467,9 +7937,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -8484,8 +7954,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "class-utils": { @@ -8493,10 +7963,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -8504,7 +7974,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -8515,8 +7985,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -8538,8 +8008,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "commondir": { @@ -8572,8 +8042,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.1" } }, "debug": { @@ -8604,7 +8074,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-property": { @@ -8612,8 +8082,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -8621,7 +8091,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8629,7 +8099,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8637,9 +8107,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8654,7 +8124,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "execa": { @@ -8662,13 +8132,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -8676,9 +8146,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } } } @@ -8688,13 +8158,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -8710,7 +8180,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -8718,7 +8188,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8728,8 +8198,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8737,7 +8207,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8747,14 +8217,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8762,7 +8232,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -8770,7 +8240,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -8778,7 +8248,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8786,7 +8256,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8794,9 +8264,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -8811,10 +8281,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -8822,7 +8292,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8832,9 +8302,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -8842,7 +8312,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -8855,8 +8325,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fragment-cache": { @@ -8864,7 +8334,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs.realpath": { @@ -8892,12 +8362,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "graceful-fs": { @@ -8910,10 +8380,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -8921,7 +8391,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -8931,9 +8401,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -8941,8 +8411,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -8950,7 +8420,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8970,8 +8440,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -8989,7 +8459,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -9007,7 +8477,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-data-descriptor": { @@ -9015,7 +8485,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -9023,9 +8493,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -9050,7 +8520,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -9058,7 +8528,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -9073,7 +8543,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-stream": { @@ -9116,7 +8586,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-report": { @@ -9124,10 +8594,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -9140,7 +8610,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9150,11 +8620,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" } }, "istanbul-reports": { @@ -9162,7 +8632,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "kind-of": { @@ -9170,7 +8640,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -9184,7 +8654,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -9192,11 +8662,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -9204,8 +8674,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -9225,8 +8695,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "map-cache": { @@ -9239,7 +8709,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5-hex": { @@ -9247,7 +8717,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -9260,7 +8730,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge-source-map": { @@ -9268,7 +8738,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.6.1" + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -9283,19 +8753,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -9315,7 +8785,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -9328,8 +8798,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -9337,7 +8807,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -9360,18 +8830,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -9386,10 +8856,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { @@ -9397,7 +8867,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -9415,9 +8885,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -9425,7 +8895,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9435,7 +8905,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.pick": { @@ -9443,7 +8913,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "once": { @@ -9451,7 +8921,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -9459,8 +8929,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -9473,9 +8943,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -9488,7 +8958,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -9496,7 +8966,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { @@ -9509,7 +8979,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pascalcase": { @@ -9522,7 +8992,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -9545,9 +9015,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -9565,7 +9035,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -9573,7 +9043,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -9581,8 +9051,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -9602,9 +9072,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -9612,8 +9082,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -9621,8 +9091,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -9632,8 +9102,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "repeat-element": { @@ -9677,7 +9147,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -9685,7 +9155,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-regex": { @@ -9693,7 +9163,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "semver": { @@ -9711,10 +9181,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -9722,7 +9192,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9732,7 +9202,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -9755,14 +9225,14 @@ "bundled": true, "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -9778,7 +9248,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -9786,7 +9256,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9796,9 +9266,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -9806,7 +9276,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -9814,7 +9284,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9822,7 +9292,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9830,9 +9300,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9847,7 +9317,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -9860,11 +9330,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { @@ -9877,12 +9347,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.1" } }, "spdx-correct": { @@ -9890,8 +9360,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -9904,8 +9374,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -9918,7 +9388,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "static-extend": { @@ -9926,8 +9396,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -9935,7 +9405,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9945,8 +9415,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -9954,7 +9424,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "strip-bom": { @@ -9962,7 +9432,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -9975,11 +9445,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-object-path": { @@ -9987,7 +9457,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -9995,10 +9465,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -10006,8 +9476,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "uglify-js": { @@ -10016,9 +9486,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -10027,9 +9497,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -10046,10 +9516,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -10057,7 +9527,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -10065,10 +9535,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -10078,8 +9548,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -10087,9 +9557,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -10119,7 +9589,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -10134,8 +9604,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "which": { @@ -10143,7 +9613,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -10167,8 +9637,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "ansi-regex": { @@ -10181,7 +9651,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -10189,9 +9659,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -10199,7 +9669,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -10214,9 +9684,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -10234,18 +9704,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "camelcase": { @@ -10258,9 +9728,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "yargs-parser": { @@ -10268,7 +9738,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10278,7 +9748,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -10306,9 +9776,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -10316,7 +9786,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "kind-of": { @@ -10324,7 +9794,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10339,7 +9809,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.omit": { @@ -10348,8 +9818,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -10357,7 +9827,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "observable-to-promise": { @@ -10366,8 +9836,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "^0.2.0", - "symbol-observable": "^1.0.4" + "is-observable": "0.2.0", + "symbol-observable": "1.2.0" }, "dependencies": { "is-observable": { @@ -10376,7 +9846,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "^0.2.2" + "symbol-observable": "0.2.4" }, "dependencies": { "symbol-observable": { @@ -10394,7 +9864,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -10403,7 +9873,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -10412,8 +9882,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "option-chain": { @@ -10428,12 +9898,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -10460,7 +9930,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-tmpdir": { @@ -10493,7 +9963,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -10502,7 +9972,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-timeout": { @@ -10511,7 +9981,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "^1.0.0" + "p-finally": "1.0.0" } }, "p-try": { @@ -10526,10 +9996,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "lodash.flattendeep": "^4.4.0", - "md5-hex": "^2.0.0", - "release-zalgo": "^1.0.0" + "graceful-fs": "4.1.11", + "lodash.flattendeep": "4.4.0", + "md5-hex": "2.0.0", + "release-zalgo": "1.0.0" } }, "package-json": { @@ -10538,10 +10008,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" }, "dependencies": { "got": { @@ -10550,17 +10020,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } } } @@ -10571,10 +10041,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" }, "dependencies": { "is-extglob": { @@ -10589,7 +10059,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -10600,7 +10070,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse-ms": { @@ -10670,7 +10140,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "performance-now": { @@ -10695,7 +10165,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "^1.0.0" + "pinkie": "1.0.0" } }, "pkg-conf": { @@ -10704,8 +10174,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" + "find-up": "2.1.0", + "load-json-file": "4.0.0" }, "dependencies": { "load-json-file": { @@ -10714,10 +10184,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "parse-json": { @@ -10726,8 +10196,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } @@ -10738,7 +10208,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" } }, "plur": { @@ -10747,7 +10217,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "^1.0.0" + "irregular-plurals": "1.4.0" } }, "pluralize": { @@ -10767,9 +10237,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" }, "dependencies": { "source-map": { @@ -10785,11 +10255,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "^1.1.2", - "empower": "^1.3.0", - "power-assert-formatter": "^1.4.1", - "universal-deep-strict-equal": "^1.2.1", - "xtend": "^4.0.0" + "define-properties": "1.1.2", + "empower": "1.3.0", + "power-assert-formatter": "1.4.1", + "universal-deep-strict-equal": "1.2.2", + "xtend": "4.0.1" } }, "power-assert-context-formatter": { @@ -10797,8 +10267,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "^2.0.0", - "power-assert-context-traversal": "^1.2.0" + "core-js": "2.5.7", + "power-assert-context-traversal": "1.2.0" } }, "power-assert-context-reducer-ast": { @@ -10806,11 +10276,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.12", - "core-js": "^2.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.2.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "core-js": "2.5.7", + "espurify": "1.8.0", + "estraverse": "4.2.0" } }, "power-assert-context-traversal": { @@ -10818,8 +10288,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "^2.0.0", - "estraverse": "^4.1.0" + "core-js": "2.5.7", + "estraverse": "4.2.0" } }, "power-assert-formatter": { @@ -10827,13 +10297,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "^2.0.0", - "power-assert-context-formatter": "^1.0.7", - "power-assert-context-reducer-ast": "^1.0.7", - "power-assert-renderer-assertion": "^1.0.7", - "power-assert-renderer-comparison": "^1.0.7", - "power-assert-renderer-diagram": "^1.0.7", - "power-assert-renderer-file": "^1.0.7" + "core-js": "2.5.7", + "power-assert-context-formatter": "1.2.0", + "power-assert-context-reducer-ast": "1.2.0", + "power-assert-renderer-assertion": "1.2.0", + "power-assert-renderer-comparison": "1.2.0", + "power-assert-renderer-diagram": "1.2.0", + "power-assert-renderer-file": "1.2.0" } }, "power-assert-renderer-assertion": { @@ -10841,8 +10311,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0" + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0" } }, "power-assert-renderer-base": { @@ -10855,11 +10325,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "^2.0.0", - "diff-match-patch": "^1.0.0", - "power-assert-renderer-base": "^1.1.1", - "stringifier": "^1.3.0", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "diff-match-patch": "1.0.1", + "power-assert-renderer-base": "1.1.1", + "stringifier": "1.3.0", + "type-name": "2.0.2" } }, "power-assert-renderer-diagram": { @@ -10867,10 +10337,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "^2.0.0", - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0", - "stringifier": "^1.3.0" + "core-js": "2.5.7", + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0", + "stringifier": "1.3.0" } }, "power-assert-renderer-file": { @@ -10878,7 +10348,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "^1.1.1" + "power-assert-renderer-base": "1.1.1" } }, "power-assert-util-string-width": { @@ -10886,7 +10356,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "^0.2.0" + "eastasianwidth": "0.2.0" } }, "prelude-ls": { @@ -10919,7 +10389,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "^1.0.0" + "parse-ms": "1.0.1" }, "dependencies": { "parse-ms": { @@ -10952,19 +10422,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^3.0.32", - "@types/node": "^8.9.4", - "long": "^4.0.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/base64": "1.1.2", + "@protobufjs/codegen": "2.0.4", + "@protobufjs/eventemitter": "1.1.0", + "@protobufjs/fetch": "1.1.0", + "@protobufjs/float": "1.0.2", + "@protobufjs/inquire": "1.1.0", + "@protobufjs/path": "1.1.2", + "@protobufjs/pool": "1.1.0", + "@protobufjs/utf8": "1.1.0", + "@types/long": "3.0.32", + "@types/node": "8.10.20", + "long": "4.0.0" }, "dependencies": { "@types/node": { @@ -10980,9 +10450,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.0", - "resolve": "~1.1.7" + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" } }, "pseudomap": { @@ -10996,8 +10466,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -11006,9 +10476,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -11027,9 +10497,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, "randomatic": { @@ -11038,9 +10508,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -11057,10 +10527,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -11077,9 +10547,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" }, "dependencies": { "path-type": { @@ -11088,7 +10558,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "pify": { @@ -11105,8 +10575,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "readable-stream": { @@ -11114,13 +10584,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -11129,10 +10599,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, "redent": { @@ -11141,8 +10611,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" }, "dependencies": { "indent-string": { @@ -11151,7 +10621,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } } } @@ -11174,7 +10644,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -11182,8 +10652,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexp.prototype.flags": { @@ -11192,7 +10662,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "^1.1.2" + "define-properties": "1.1.2" } }, "regexpp": { @@ -11207,9 +10677,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -11218,8 +10688,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.8", + "safe-buffer": "5.1.2" } }, "registry-url": { @@ -11228,7 +10698,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.8" } }, "regjsgen": { @@ -11243,7 +10713,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" } }, "release-zalgo": { @@ -11252,7 +10722,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "^4.0.1" + "es6-error": "4.1.1" } }, "remove-trailing-separator": { @@ -11277,7 +10747,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -11285,26 +10755,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "require-directory": { @@ -11331,8 +10801,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" }, "dependencies": { "resolve-from": { @@ -11349,7 +10819,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "~1.6.0" + "underscore": "1.6.0" }, "dependencies": { "underscore": { @@ -11372,7 +10842,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -11392,7 +10862,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "1.0.1" } }, "restore-cursor": { @@ -11401,8 +10871,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -11420,7 +10890,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "right-align": { @@ -11430,7 +10900,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -11439,7 +10909,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "run-async": { @@ -11448,7 +10918,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rxjs": { @@ -11478,7 +10948,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -11498,16 +10968,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "^2.3.0", - "htmlparser2": "^3.9.0", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.mergewith": "^4.6.0", - "postcss": "^6.0.14", - "srcset": "^1.0.0", - "xtend": "^4.0.0" + "chalk": "2.4.1", + "htmlparser2": "3.9.2", + "lodash.clonedeep": "4.5.0", + "lodash.escaperegexp": "4.1.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mergewith": "4.6.1", + "postcss": "6.0.23", + "srcset": "1.0.0", + "xtend": "4.0.1" } }, "semver": { @@ -11522,7 +10992,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "serialize-error": { @@ -11548,10 +11018,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -11559,7 +11029,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11570,7 +11040,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -11591,13 +11061,13 @@ "integrity": "sha512-BSt7qfCyoqMcPVK0c+olyjaa2DB0DTyOBpHmGC3goiHmNa8NE+4/ZJlUi693VS0WPgvR0rc6nYvASXYZMiibhw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.5.0", - "lodash.get": "^4.4.2", - "lolex": "^2.4.2", - "nise": "^1.3.3", - "supports-color": "^5.4.0", - "type-detect": "^4.0.8" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.0", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "slash": { @@ -11611,7 +11081,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -11639,14 +11109,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -11662,7 +11132,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11670,7 +11140,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11680,9 +11150,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -11690,7 +11160,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -11698,7 +11168,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -11706,7 +11176,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -11714,9 +11184,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -11726,7 +11196,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11734,7 +11204,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11745,7 +11215,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "source-map": { @@ -11758,11 +11228,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { @@ -11771,8 +11241,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.0", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -11794,8 +11264,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -11810,8 +11280,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -11825,7 +11295,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "^0.1.4" + "is-stream-ended": "0.1.4" } }, "split-string": { @@ -11833,7 +11303,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -11848,8 +11318,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "^1.0.2", - "number-is-nan": "^1.0.0" + "array-uniq": "1.0.3", + "number-is-nan": "1.0.1" } }, "sshpk": { @@ -11857,15 +11327,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -11879,8 +11349,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -11888,7 +11358,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -11898,7 +11368,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "^3.0.0" + "stubs": "3.0.0" } }, "stream-shift": { @@ -11918,6 +11388,14 @@ "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, "string-format-obj": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", @@ -11929,9 +11407,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string.prototype.matchall": { @@ -11940,19 +11418,11 @@ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.10.0", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "regexp.prototype.flags": "^1.2.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "regexp.prototype.flags": "1.2.0" } }, "stringifier": { @@ -11960,9 +11430,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "^2.0.0", - "traverse": "^0.6.6", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "traverse": "0.6.6", + "type-name": "2.0.2" } }, "strip-ansi": { @@ -11970,7 +11440,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -11985,7 +11455,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "^0.2.1" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -12000,7 +11470,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -12020,16 +11490,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" + "component-emitter": "1.2.1", + "cookiejar": "2.1.2", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.2", + "formidable": "1.2.1", + "methods": "1.1.2", + "mime": "1.6.0", + "qs": "6.5.2", + "readable-stream": "2.3.6" }, "dependencies": { "mime": { @@ -12046,11 +11516,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "indent-string": "^3.2.0", - "js-yaml": "^3.10.0", - "serialize-error": "^2.1.0", - "strip-ansi": "^4.0.0" + "arrify": "1.0.1", + "indent-string": "3.2.0", + "js-yaml": "3.12.0", + "serialize-error": "2.1.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -12065,7 +11535,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12076,8 +11546,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "~1.1.2", - "superagent": "^3.0.0" + "methods": "1.1.2", + "superagent": "3.8.3" } }, "supports-color": { @@ -12086,7 +11556,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" }, "dependencies": { "has-flag": { @@ -12109,12 +11579,12 @@ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "^6.0.1", - "ajv-keywords": "^3.0.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "6.5.2", + "ajv-keywords": "3.2.0", + "chalk": "2.4.1", + "lodash": "4.17.10", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ajv": { @@ -12123,10 +11593,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ansi-regex": { @@ -12159,8 +11629,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12169,7 +11639,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12186,7 +11656,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "text-encoding": { @@ -12212,8 +11682,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-zone": { @@ -12234,7 +11704,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-fast-properties": { @@ -12248,7 +11718,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12256,7 +11726,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12266,10 +11736,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -12277,8 +11747,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "tough-cookie": { @@ -12286,7 +11756,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "traverse": { @@ -12317,7 +11787,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -12332,7 +11802,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -12359,9 +11829,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "camelcase": { @@ -12378,8 +11848,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" } }, @@ -12404,9 +11874,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -12453,10 +11923,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -12464,7 +11934,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -12472,10 +11942,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -12486,7 +11956,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "unique-temp-dir": { @@ -12495,8 +11965,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "^0.5.1", - "os-tmpdir": "^1.0.1", + "mkdirp": "0.5.1", + "os-tmpdir": "1.0.2", "uid2": "0.0.3" } }, @@ -12505,9 +11975,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "^1.0.0", + "array-filter": "1.0.0", "indexof": "0.0.1", - "object-keys": "^1.0.0" + "object-keys": "1.0.12" } }, "universalify": { @@ -12521,8 +11991,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -12530,9 +12000,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -12564,16 +12034,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" } }, "uri-js": { @@ -12582,7 +12052,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" }, "dependencies": { "punycode": { @@ -12604,7 +12074,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "url-to-options": { @@ -12624,7 +12094,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" } }, "util-deprecate": { @@ -12643,8 +12113,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -12652,9 +12122,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "well-known-symbols": { @@ -12669,7 +12139,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12684,7 +12154,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -12705,8 +12175,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12715,7 +12185,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12736,8 +12206,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -12751,7 +12221,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -12760,9 +12230,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "write-json-file": { @@ -12771,12 +12241,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" + "detect-indent": "5.0.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "pify": "3.0.0", + "sort-keys": "2.0.0", + "write-file-atomic": "2.3.0" }, "dependencies": { "detect-indent": { @@ -12793,8 +12263,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" + "sort-keys": "2.0.0", + "write-json-file": "2.3.0" } }, "xdg-basedir": { @@ -12829,13 +12299,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" } }, "yargs-parser": { @@ -12844,7 +12314,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { From 7be405bb496fd66780d6597ecac32c62d8b5db4e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 9 Jul 2018 19:41:21 -0700 Subject: [PATCH 173/588] chore(deps): lock file maintenance (#118) --- .../google-cloud-vision/package-lock.json | 5480 +++++++++-------- 1 file changed, 3017 insertions(+), 2463 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index bc5d5735600..664f7f1765c 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "package-hash": "1.2.0" + "babel-plugin-check-es2015-constants": "^6.8.0", + "babel-plugin-syntax-trailing-function-commas": "^6.20.0", + "babel-plugin-transform-async-to-generator": "^6.16.0", + "babel-plugin-transform-es2015-destructuring": "^6.19.0", + "babel-plugin-transform-es2015-function-name": "^6.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", + "babel-plugin-transform-es2015-parameters": "^6.21.0", + "babel-plugin-transform-es2015-spread": "^6.8.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", + "babel-plugin-transform-exponentiation-operator": "^6.8.0", + "package-hash": "^1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "1.3.0" + "md5-hex": "^1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.4.0" + "@ava/babel-plugin-throws-helper": "^2.0.0", + "babel-plugin-espower": "^2.3.2" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.51", - "jsesc": "2.5.1", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "jsesc": "^2.5.1", + "lodash": "^4.17.5", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "lodash": "4.17.10" + "lodash": "^4.17.5" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "debug": "3.1.0", - "globals": "11.7.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.17.5" }, "dependencies": { "globals": { @@ -191,9 +191,9 @@ "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.5", + "to-fast-properties": "^2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,7 +210,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "1.0.1" + "arrify": "^1.0.1" } }, "@google-cloud/common": { @@ -218,21 +218,21 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.3.tgz", "integrity": "sha512-jt8/R4EqDTQccv5WA9AEaS65llM5+mlxsuWu57G5Os8HTIpgPbcsOVMUeIvmTrBuPUYSoRIMW8d/pvv/95n0+g==", "requires": { - "@types/duplexify": "3.5.0", - "@types/request": "2.47.1", - "arrify": "1.0.1", - "axios": "0.18.0", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auth-library": "1.6.1", - "is": "3.2.1", - "pify": "3.0.0", - "request": "2.87.0", - "retry-request": "4.0.0", - "split-array-stream": "2.0.0", - "stream-events": "1.0.4", - "through2": "2.0.3" + "@types/duplexify": "^3.5.0", + "@types/request": "^2.47.0", + "arrify": "^1.0.1", + "axios": "^0.18.0", + "duplexify": "^3.6.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auth-library": "^1.6.0", + "is": "^3.2.1", + "pify": "^3.0.0", + "request": "^2.87.0", + "retry-request": "^4.0.0", + "split-array-stream": "^2.0.0", + "stream-events": "^1.0.4", + "through2": "^2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.4.1", "proxyquire": "1.8.0", - "semver": "5.5.0", + "semver": "^5.5.0", "sinon": "4.3.0", "string": "3.3.3", "supertest": "3.0.0", @@ -269,9 +269,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -292,33 +292,33 @@ "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "md5-hex": "1.3.0", - "merge-source-map": "1.0.4", - "micromatch": "2.3.11", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.1.1", - "yargs": "10.0.3", - "yargs-parser": "8.0.0" + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.3.0", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.1", + "istanbul-lib-report": "^1.1.2", + "istanbul-lib-source-maps": "^1.2.2", + "istanbul-reports": "^1.1.3", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.0.2", + "micromatch": "^2.3.11", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.5.4", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.1.1", + "yargs": "^10.0.3", + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -326,9 +326,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -351,7 +351,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -364,7 +364,7 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -392,9 +392,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { @@ -402,14 +402,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.6", + "trim-right": "^1.0.1" } }, "babel-messages": { @@ -417,7 +417,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -425,8 +425,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -434,11 +434,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -446,15 +446,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -462,10 +462,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -483,7 +483,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -492,9 +492,9 @@ "bundled": true, "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "builtin-modules": { @@ -507,9 +507,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -524,8 +524,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -533,11 +533,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "cliui": { @@ -546,8 +546,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -589,8 +589,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -616,7 +616,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "detect-indent": { @@ -624,7 +624,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { @@ -632,7 +632,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { @@ -650,13 +650,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -664,9 +664,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -676,7 +676,7 @@ "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -684,7 +684,7 @@ "bundled": true, "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "extglob": { @@ -692,7 +692,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "filename-regex": { @@ -705,11 +705,11 @@ "bundled": true, "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-cache-dir": { @@ -717,9 +717,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -727,7 +727,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -740,7 +740,7 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreground-child": { @@ -748,8 +748,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fs.realpath": { @@ -772,12 +772,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -785,8 +785,8 @@ "bundled": true, "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -794,7 +794,7 @@ "bundled": true, "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { @@ -812,10 +812,10 @@ "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -823,7 +823,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -833,7 +833,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -856,8 +856,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -870,7 +870,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -893,7 +893,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-dotfile": { @@ -906,7 +906,7 @@ "bundled": true, "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -924,7 +924,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -932,7 +932,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -940,7 +940,7 @@ "bundled": true, "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -948,7 +948,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { @@ -999,7 +999,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -1007,13 +1007,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -1021,10 +1021,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { @@ -1032,7 +1032,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -1042,11 +1042,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -1064,7 +1064,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { @@ -1082,7 +1082,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -1096,7 +1096,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -1104,11 +1104,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -1116,8 +1116,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -1142,7 +1142,7 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { @@ -1150,8 +1150,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "md5-hex": { @@ -1159,7 +1159,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -1172,7 +1172,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -1180,7 +1180,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { @@ -1188,19 +1188,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mimic-fn": { @@ -1213,7 +1213,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -1239,10 +1239,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -1250,7 +1250,7 @@ "bundled": true, "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -1258,7 +1258,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -1276,8 +1276,8 @@ "bundled": true, "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "once": { @@ -1285,7 +1285,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -1293,8 +1293,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -1307,9 +1307,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -1327,7 +1327,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "parse-glob": { @@ -1335,10 +1335,10 @@ "bundled": true, "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -1346,7 +1346,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "path-exists": { @@ -1354,7 +1354,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -1377,9 +1377,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -1397,7 +1397,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -1405,7 +1405,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -1413,8 +1413,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1434,8 +1434,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -1443,7 +1443,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -1451,7 +1451,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1461,7 +1461,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1471,9 +1471,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -1481,8 +1481,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -1490,8 +1490,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1506,7 +1506,7 @@ "bundled": true, "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { @@ -1529,7 +1529,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { @@ -1553,7 +1553,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -1561,7 +1561,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "semver": { @@ -1579,7 +1579,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -1607,12 +1607,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -1620,7 +1620,7 @@ "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -1638,8 +1638,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -1657,7 +1657,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -1667,7 +1667,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -1675,7 +1675,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -1693,11 +1693,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-fast-properties": { @@ -1716,9 +1716,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -1727,9 +1727,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -1746,8 +1746,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "which": { @@ -1755,7 +1755,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -1779,8 +1779,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "string-width": { @@ -1788,9 +1788,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1805,9 +1805,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -1825,18 +1825,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "8.0.0" + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^8.0.0" }, "dependencies": { "cliui": { @@ -1844,9 +1844,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -1854,9 +1854,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1868,7 +1868,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -1886,9 +1886,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "sinon": { @@ -1897,13 +1897,13 @@ "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.1.0", + "lodash.get": "^4.4.2", + "lolex": "^2.2.0", + "nise": "^1.2.0", + "supports-color": "^5.1.0", + "type-detect": "^4.0.5" } }, "string-width": { @@ -1912,8 +1912,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -1922,7 +1922,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -1931,18 +1931,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } } } @@ -1953,27 +1953,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "0.17.0", - "arrify": "1.0.1", - "async": "2.6.1", - "compressible": "2.0.14", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "extend": "3.0.1", - "gcs-resumable-upload": "0.10.2", - "hash-stream-validation": "0.2.1", - "is": "3.2.1", - "mime": "2.3.1", - "mime-types": "2.1.18", - "once": "1.4.0", - "pumpify": "1.5.1", - "request": "2.87.0", - "safe-buffer": "5.1.2", - "snakeize": "0.1.0", - "stream-events": "1.0.4", - "through2": "2.0.3", - "xdg-basedir": "3.0.0" + "@google-cloud/common": "^0.17.0", + "arrify": "^1.0.0", + "async": "^2.0.1", + "compressible": "^2.0.12", + "concat-stream": "^1.5.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "extend": "^3.0.0", + "gcs-resumable-upload": "^0.10.2", + "hash-stream-validation": "^0.2.1", + "is": "^3.0.1", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "once": "^1.3.1", + "pumpify": "^1.5.1", + "request": "^2.85.0", + "safe-buffer": "^5.1.1", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -1982,24 +1982,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auto-auth": "0.10.1", - "is": "3.2.1", + "array-uniq": "^1.0.3", + "arrify": "^1.0.1", + "concat-stream": "^1.6.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auto-auth": "^0.10.0", + "is": "^3.2.0", "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "1.0.3", - "stream-events": "1.0.4", - "string-format-obj": "1.1.1", - "through2": "2.0.3" + "methmeth": "^1.1.0", + "modelo": "^4.2.0", + "request": "^2.79.0", + "retry-request": "^3.0.0", + "split-array-stream": "^1.0.0", + "stream-events": "^1.0.1", + "string-format-obj": "^1.1.0", + "through2": "^2.0.3" } }, "retry-request": { @@ -2008,8 +2008,8 @@ "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "dev": true, "requires": { - "request": "2.87.0", - "through2": "2.0.3" + "request": "^2.81.0", + "through2": "^2.0.0" } }, "split-array-stream": { @@ -2018,8 +2018,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "2.6.1", - "is-stream-ended": "0.1.4" + "async": "^2.4.0", + "is-stream-ended": "^0.1.0" } } } @@ -2030,10 +2030,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "0.4.0", - "date-time": "0.1.1", - "pretty-ms": "0.2.2", - "text-table": "0.2.0" + "chalk": "^0.4.0", + "date-time": "^0.1.1", + "pretty-ms": "^0.2.1", + "text-table": "^0.2.0" }, "dependencies": { "ansi-styles": { @@ -2048,9 +2048,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "pretty-ms": { @@ -2059,7 +2059,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "0.1.2" + "parse-ms": "^0.1.0" } }, "strip-ansi": { @@ -2075,8 +2075,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, "@nodelib/fs.stat": { @@ -2109,8 +2109,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/inquire": "1.1.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, "@protobufjs/float": { @@ -2153,6 +2153,12 @@ "samsam": "1.3.0" } }, + "@sinonjs/samsam": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.0.0.tgz", + "integrity": "sha512-D7VxhADdZbDJ0HjUTMnSQ5xIGb4H2yWpg8k9Sf1T08zfFiQYlaxM8LZydpR4FQ2E6LZJX8IlabNZ5io4vdChwg==", + "dev": true + }, "@types/caseless": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.1.tgz", @@ -2163,7 +2169,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "10.5.1" + "@types/node": "*" } }, "@types/form-data": { @@ -2171,7 +2177,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "10.5.1" + "@types/node": "*" } }, "@types/long": { @@ -2180,19 +2186,19 @@ "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" }, "@types/node": { - "version": "10.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.1.tgz", - "integrity": "sha512-AFLl1IALIuyt6oK4AYZsgWVJ/5rnyzQWud7IebaZWWV3YmgtPZkQmYio9R5Ze/2pdd7XfqF5bP+hWS11mAKoOQ==" + "version": "10.5.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", + "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==" }, "@types/request": { "version": "2.47.1", "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "0.12.1", - "@types/form-data": "2.2.1", - "@types/node": "10.5.1", - "@types/tough-cookie": "2.3.3" + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" } }, "@types/tough-cookie": { @@ -2216,7 +2222,7 @@ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "5.7.1" + "acorn": "^5.0.3" } }, "ajv": { @@ -2224,10 +2230,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -2242,9 +2248,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" }, "dependencies": { "kind-of": { @@ -2253,7 +2259,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2270,7 +2276,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2291,8 +2297,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2301,7 +2307,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2323,7 +2329,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -2332,8 +2338,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" }, "dependencies": { "arr-diff": { @@ -2342,7 +2348,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -2357,9 +2363,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "expand-brackets": { @@ -2368,7 +2374,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "extglob": { @@ -2377,7 +2383,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-extglob": { @@ -2392,7 +2398,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "kind-of": { @@ -2401,7 +2407,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -2410,19 +2416,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } } } @@ -2433,7 +2439,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "argv": { @@ -2491,7 +2497,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -2514,8 +2520,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" + "colour": "~0.7.1", + "optjs": "~3.2.2" } }, "asn1": { @@ -2539,7 +2545,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "async-each": { @@ -2570,89 +2576,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "1.1.0", - "@ava/babel-preset-transform-test-files": "3.0.0", - "@ava/write-file-atomic": "2.2.0", - "@concordance/react": "1.0.0", - "@ladjs/time-require": "0.1.4", - "ansi-escapes": "3.1.0", - "ansi-styles": "3.2.1", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.2.1", - "ava-init": "0.2.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.4.1", - "chokidar": "1.7.0", - "clean-stack": "1.3.0", - "clean-yaml-object": "0.1.0", - "cli-cursor": "2.1.0", - "cli-spinners": "1.3.1", - "cli-truncate": "1.1.0", - "co-with-promise": "4.6.0", - "code-excerpt": "2.1.1", - "common-path-prefix": "1.0.0", - "concordance": "3.0.0", - "convert-source-map": "1.5.1", - "core-assert": "0.2.1", - "currently-unhandled": "0.4.1", - "debug": "3.1.0", - "dot-prop": "4.2.0", - "empower-core": "0.6.2", - "equal-length": "1.0.1", - "figures": "2.0.0", - "find-cache-dir": "1.0.0", - "fn-name": "2.0.1", - "get-port": "3.2.0", - "globby": "6.1.0", - "has-flag": "2.0.0", - "hullabaloo-config-manager": "1.1.1", - "ignore-by-default": "1.0.1", - "import-local": "0.1.1", - "indent-string": "3.2.0", - "is-ci": "1.1.0", - "is-generator-fn": "1.0.0", - "is-obj": "1.0.1", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "last-line-stream": "1.0.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.debounce": "4.0.8", - "lodash.difference": "4.5.0", - "lodash.flatten": "4.4.0", - "loud-rejection": "1.6.0", - "make-dir": "1.3.0", - "matcher": "1.1.1", - "md5-hex": "2.0.0", - "meow": "3.7.0", - "ms": "2.0.0", - "multimatch": "2.1.0", - "observable-to-promise": "0.5.0", - "option-chain": "1.0.0", - "package-hash": "2.0.0", - "pkg-conf": "2.1.0", - "plur": "2.1.2", - "pretty-ms": "3.2.0", - "require-precompiled": "0.1.0", - "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.2", - "semver": "5.5.0", - "slash": "1.0.0", - "source-map-support": "0.5.6", - "stack-utils": "1.0.1", - "strip-ansi": "4.0.0", - "strip-bom-buf": "1.0.0", - "supertap": "1.0.0", - "supports-color": "5.4.0", - "trim-off-newlines": "1.0.1", - "unique-temp-dir": "1.0.0", - "update-notifier": "2.5.0" + "@ava/babel-preset-stage-4": "^1.1.0", + "@ava/babel-preset-transform-test-files": "^3.0.0", + "@ava/write-file-atomic": "^2.2.0", + "@concordance/react": "^1.0.0", + "@ladjs/time-require": "^0.1.4", + "ansi-escapes": "^3.0.0", + "ansi-styles": "^3.1.0", + "arr-flatten": "^1.0.1", + "array-union": "^1.0.1", + "array-uniq": "^1.0.2", + "arrify": "^1.0.0", + "auto-bind": "^1.1.0", + "ava-init": "^0.2.0", + "babel-core": "^6.17.0", + "babel-generator": "^6.26.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "bluebird": "^3.0.0", + "caching-transform": "^1.0.0", + "chalk": "^2.0.1", + "chokidar": "^1.4.2", + "clean-stack": "^1.1.1", + "clean-yaml-object": "^0.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.0", + "cli-truncate": "^1.0.0", + "co-with-promise": "^4.6.0", + "code-excerpt": "^2.1.1", + "common-path-prefix": "^1.0.0", + "concordance": "^3.0.0", + "convert-source-map": "^1.5.1", + "core-assert": "^0.2.0", + "currently-unhandled": "^0.4.1", + "debug": "^3.0.1", + "dot-prop": "^4.1.0", + "empower-core": "^0.6.1", + "equal-length": "^1.0.0", + "figures": "^2.0.0", + "find-cache-dir": "^1.0.0", + "fn-name": "^2.0.0", + "get-port": "^3.0.0", + "globby": "^6.0.0", + "has-flag": "^2.0.0", + "hullabaloo-config-manager": "^1.1.0", + "ignore-by-default": "^1.0.0", + "import-local": "^0.1.1", + "indent-string": "^3.0.0", + "is-ci": "^1.0.7", + "is-generator-fn": "^1.0.0", + "is-obj": "^1.0.0", + "is-observable": "^1.0.0", + "is-promise": "^2.1.0", + "last-line-stream": "^1.0.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.debounce": "^4.0.3", + "lodash.difference": "^4.3.0", + "lodash.flatten": "^4.2.0", + "loud-rejection": "^1.2.0", + "make-dir": "^1.0.0", + "matcher": "^1.0.0", + "md5-hex": "^2.0.0", + "meow": "^3.7.0", + "ms": "^2.0.0", + "multimatch": "^2.1.0", + "observable-to-promise": "^0.5.0", + "option-chain": "^1.0.0", + "package-hash": "^2.0.0", + "pkg-conf": "^2.0.0", + "plur": "^2.0.0", + "pretty-ms": "^3.0.0", + "require-precompiled": "^0.1.0", + "resolve-cwd": "^2.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.4.1", + "slash": "^1.0.0", + "source-map-support": "^0.5.0", + "stack-utils": "^1.0.1", + "strip-ansi": "^4.0.0", + "strip-bom-buf": "^1.0.0", + "supertap": "^1.0.0", + "supports-color": "^5.0.0", + "trim-off-newlines": "^1.0.1", + "unique-temp-dir": "^1.0.0", + "update-notifier": "^2.3.0" }, "dependencies": { "ansi-regex": { @@ -2668,7 +2674,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "globby": { @@ -2677,11 +2683,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -2702,7 +2708,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "strip-ansi": { @@ -2711,7 +2717,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2722,11 +2728,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "1.0.0", - "execa": "0.7.0", - "has-yarn": "1.0.0", - "read-pkg-up": "2.0.0", - "write-pkg": "3.2.0" + "arr-exclude": "^1.0.0", + "execa": "^0.7.0", + "has-yarn": "^1.0.0", + "read-pkg-up": "^2.0.0", + "write-pkg": "^3.1.0" } }, "aws-sign2": { @@ -2744,8 +2750,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "1.5.0", - "is-buffer": "1.1.6" + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" } }, "babel-code-frame": { @@ -2754,9 +2760,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -2771,11 +2777,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -2792,25 +2798,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" }, "dependencies": { "debug": { @@ -2830,14 +2836,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -2854,9 +2860,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-call-delegate": { @@ -2865,10 +2871,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-explode-assignable-expression": { @@ -2877,9 +2883,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -2888,11 +2894,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -2901,8 +2907,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -2911,8 +2917,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -2921,9 +2927,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -2932,11 +2938,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -2945,8 +2951,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-messages": { @@ -2955,7 +2961,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -2964,7 +2970,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-espower": { @@ -2973,13 +2979,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babylon": "6.18.0", - "call-matcher": "1.0.1", - "core-js": "2.5.7", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "babel-generator": "^6.1.0", + "babylon": "^6.1.0", + "call-matcher": "^1.0.0", + "core-js": "^2.0.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.1.1" } }, "babel-plugin-syntax-async-functions": { @@ -3012,9 +3018,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3023,7 +3029,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3032,9 +3038,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3043,10 +3049,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3055,12 +3061,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -3069,7 +3075,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3078,9 +3084,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3089,9 +3095,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3100,9 +3106,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -3111,8 +3117,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-register": { @@ -3121,13 +3127,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "source-map-support": { @@ -3136,7 +3142,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -3147,8 +3153,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -3157,11 +3163,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3170,15 +3176,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { "debug": { @@ -3198,10 +3204,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3220,13 +3226,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -3234,7 +3240,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3242,7 +3248,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3250,7 +3256,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3258,9 +3264,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -3271,7 +3277,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -3292,13 +3298,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3325,8 +3331,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3335,7 +3341,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3345,7 +3351,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -3354,16 +3360,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -3371,7 +3377,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -3410,7 +3416,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "3.2.0" + "long": "~3" }, "dependencies": { "long": { @@ -3425,15 +3431,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "cacheable-request": { @@ -3465,9 +3471,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" }, "dependencies": { "md5-hex": { @@ -3476,7 +3482,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "write-file-atomic": { @@ -3485,9 +3491,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } } } @@ -3498,10 +3504,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.5.7", - "deep-equal": "1.0.1", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.0.0" } }, "call-me-maybe": { @@ -3520,7 +3526,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -3540,8 +3546,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "capture-stack-trace": { @@ -3561,7 +3567,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "center-align": { @@ -3571,8 +3577,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -3581,9 +3587,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -3598,14 +3604,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -3614,7 +3621,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -3629,7 +3636,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -3651,10 +3658,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -3662,7 +3669,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -3691,7 +3698,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -3706,8 +3713,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3728,8 +3735,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3738,7 +3745,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3754,9 +3761,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "clone-response": { @@ -3765,7 +3772,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "co": { @@ -3779,7 +3786,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "1.0.0" + "pinkie-promise": "^1.0.0" } }, "code-excerpt": { @@ -3788,7 +3795,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "1.0.2" + "convert-to-spaces": "^1.0.1" } }, "code-point-at": { @@ -3797,14 +3804,15 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "codecov": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.2.tgz", - "integrity": "sha512-9ljtIROIjPIUmMRqO+XuDITDoV8xRrZmA0jcEq6p2hg2+wY9wGmLfreAZGIL72IzUfdEDZaU8+Vjidg1fBQ8GQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.4.tgz", + "integrity": "sha512-KJyzHdg9B8U9LxXa7hS6jnEW5b1cNckLYc2YpnJ1nEFiOW+/iSzDHp+5MYEIQd9fN3/tC6WmGZmYiwxzkuGp/A==", "dev": true, "requires": { - "argv": "0.0.2", - "request": "2.87.0", - "urlgrey": "0.4.4" + "argv": "^0.0.2", + "ignore-walk": "^3.0.1", + "request": "^2.87.0", + "urlgrey": "^0.4.4" } }, "collection-visit": { @@ -3812,8 +3820,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -3847,7 +3855,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -3879,7 +3887,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": "1.34.0" + "mime-db": ">= 1.34.0 < 2" }, "dependencies": { "mime-db": { @@ -3901,10 +3909,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "concordance": { @@ -3913,17 +3921,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "2.1.0", - "esutils": "2.0.2", - "fast-diff": "1.1.2", - "function-name-support": "0.2.0", - "js-string-escape": "1.0.1", - "lodash.clonedeep": "4.5.0", - "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "semver": "5.5.0", - "well-known-symbols": "1.0.0" + "date-time": "^2.1.0", + "esutils": "^2.0.2", + "fast-diff": "^1.1.1", + "function-name-support": "^0.2.0", + "js-string-escape": "^1.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.flattendeep": "^4.4.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "semver": "^5.3.0", + "well-known-symbols": "^1.0.0" }, "dependencies": { "date-time": { @@ -3932,7 +3940,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "1.0.0" + "time-zone": "^1.0.0" } } } @@ -3943,12 +3951,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "convert-source-map": { @@ -3980,8 +3988,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "1.0.1", - "is-error": "2.2.1" + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" } }, "core-js": { @@ -4000,7 +4008,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { @@ -4009,9 +4017,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "crypto-random-string": { @@ -4026,7 +4034,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -4035,7 +4043,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.45" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -4043,7 +4051,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-time": { @@ -4076,7 +4084,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.0" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -4102,8 +4110,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.12" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { @@ -4111,8 +4119,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4120,7 +4128,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4128,7 +4136,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4136,9 +4144,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -4149,13 +4157,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "globby": { @@ -4164,12 +4172,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -4190,7 +4198,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } } } @@ -4206,7 +4214,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -4225,8 +4233,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "doctrine": { @@ -4235,7 +4243,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -4244,8 +4252,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -4268,7 +4276,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -4277,8 +4285,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -4287,7 +4295,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer3": { @@ -4301,10 +4309,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "eastasianwidth": { @@ -4318,7 +4326,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -4326,7 +4334,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "empower": { @@ -4334,8 +4342,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "2.5.7", - "empower-core": "1.2.0" + "core-js": "^2.0.0", + "empower-core": "^1.2.0" } }, "empower-assert": { @@ -4344,7 +4352,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.2.0" } }, "empower-core": { @@ -4353,7 +4361,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "end-of-stream": { @@ -4361,7 +4369,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "ent": { @@ -4387,7 +4395,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -4396,11 +4404,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.4", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -4409,9 +4417,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { @@ -4420,9 +4428,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-error": { @@ -4437,9 +4445,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -4448,12 +4456,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -4462,11 +4470,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -4475,8 +4483,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -4485,10 +4493,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escallmatch": { @@ -4497,8 +4505,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "1.0.1", - "esprima": "2.7.3" + "call-matcher": "^1.0.0", + "esprima": "^2.0.0" }, "dependencies": { "esprima": { @@ -4521,11 +4529,11 @@ "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -4549,56 +4557,57 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.0.1.tgz", - "integrity": "sha512-D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==", - "dev": true, - "requires": { - "ajv": "6.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "4.0.0", - "eslint-visitor-keys": "1.0.0", - "espree": "4.0.0", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.7.0", - "ignore": "3.3.10", - "imurmurhash": "0.1.4", - "inquirer": "5.2.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "string.prototype.matchall": "2.0.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.3", - "text-table": "0.2.0" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.1.0.tgz", + "integrity": "sha512-DyH6JsoA1KzA5+OSWFjg56DFJT+sDLO0yokaPZ9qY0UEmYrPA1gEX/G1MnVkmRDsksG4H1foIVz2ZXXM3hHYvw==", + "dev": true, + "requires": { + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.1.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" }, "dependencies": { "ajv": { @@ -4607,10 +4616,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "ansi-regex": { @@ -4625,11 +4634,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "fast-deep-equal": { @@ -4656,7 +4665,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4667,7 +4676,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "5.0.1" + "get-stdin": "^5.0.1" }, "dependencies": { "get-stdin": { @@ -4684,10 +4693,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "3.3.10", - "minimatch": "3.0.4", - "resolve": "1.8.1", - "semver": "5.5.0" + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", + "semver": "^5.4.1" }, "dependencies": { "resolve": { @@ -4696,19 +4705,19 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } } } }, "eslint-plugin-prettier": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.1.tgz", - "integrity": "sha512-wNZ2z0oVCWnf+3BSI7roS+z4gGu2AwcPKUek+SlLZMZg+X0KbZLsB2knul7fd0K3iuIp402HIYzm4f2+OyfXxA==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz", + "integrity": "sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==", "dev": true, "requires": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" } }, "eslint-scope": { @@ -4717,10 +4726,16 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, + "eslint-utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", + "dev": true + }, "eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", @@ -4733,16 +4748,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "1.0.0", - "escallmatch": "1.5.0", - "escodegen": "1.10.0", - "escope": "3.6.0", - "espower-location-detector": "1.0.0", - "espurify": "1.8.0", - "estraverse": "4.2.0", - "source-map": "0.5.7", - "type-name": "2.0.2", - "xtend": "4.0.1" + "array-find": "^1.0.0", + "escallmatch": "^1.5.0", + "escodegen": "^1.7.0", + "escope": "^3.3.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.3.0", + "estraverse": "^4.1.0", + "source-map": "^0.5.0", + "type-name": "^2.0.0", + "xtend": "^4.0.0" } }, "espower-loader": { @@ -4751,11 +4766,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "1.5.1", - "espower-source": "2.3.0", - "minimatch": "3.0.4", - "source-map-support": "0.4.18", - "xtend": "4.0.1" + "convert-source-map": "^1.1.0", + "espower-source": "^2.0.0", + "minimatch": "^3.0.0", + "source-map-support": "^0.4.0", + "xtend": "^4.0.0" }, "dependencies": { "source-map-support": { @@ -4764,7 +4779,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -4775,10 +4790,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "1.2.4", - "path-is-absolute": "1.0.1", - "source-map": "0.5.7", - "xtend": "4.0.1" + "is-url": "^1.2.1", + "path-is-absolute": "^1.0.0", + "source-map": "^0.5.0", + "xtend": "^4.0.0" } }, "espower-source": { @@ -4787,17 +4802,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.1", - "empower-assert": "1.1.0", - "escodegen": "1.10.0", - "espower": "2.1.1", - "estraverse": "4.2.0", - "merge-estraverse-visitors": "1.0.0", - "multi-stage-sourcemap": "0.2.1", - "path-is-absolute": "1.0.1", - "xtend": "4.0.1" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.10", + "convert-source-map": "^1.1.1", + "empower-assert": "^1.0.0", + "escodegen": "^1.10.0", + "espower": "^2.1.1", + "estraverse": "^4.0.0", + "merge-estraverse-visitors": "^1.0.0", + "multi-stage-sourcemap": "^0.2.1", + "path-is-absolute": "^1.0.0", + "xtend": "^4.0.0" } }, "espree": { @@ -4806,8 +4821,8 @@ "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-jsx": "4.1.1" + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" } }, "esprima": { @@ -4821,7 +4836,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", "requires": { - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "esquery": { @@ -4830,7 +4845,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -4839,7 +4854,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -4859,8 +4874,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "execa": { @@ -4869,13 +4884,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -4883,13 +4898,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -4905,7 +4920,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -4913,7 +4928,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4924,7 +4939,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { @@ -4933,11 +4948,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "is-number": { @@ -4946,7 +4961,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -4964,7 +4979,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4979,8 +4994,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -4988,7 +5003,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -4999,9 +5014,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -5009,14 +5024,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -5024,7 +5039,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -5032,7 +5047,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -5040,7 +5055,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -5048,237 +5063,766 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", + "dev": true + }, + "fast-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", + "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.0.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", + "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", + "dev": true, + "requires": { + "is-object": "~1.0.1", + "merge-descriptors": "~1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" + } + }, + "fn-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", + "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", + "dev": true + }, + "follow-redirects": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", + "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", + "requires": { + "debug": "^3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "formidable": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, - "is-descriptor": { + "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" - }, - "fast-diff": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", - "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", - "dev": true - }, - "fast-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", - "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", - "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "@nodelib/fs.stat": "1.1.0", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.2", - "micromatch": "3.1.10" - } - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", - "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", - "dev": true, - "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, "requires": { - "is-extendable": "0.1.1" + "string-width": "^1.0.2" } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true } } }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", - "dev": true, - "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" - } - }, - "fn-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", - "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", - "dev": true - }, - "follow-redirects": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", - "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", - "requires": { - "debug": "3.1.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" - } - }, - "formidable": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", - "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" - } - }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -5302,8 +5846,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "0.18.0", - "extend": "3.0.1", + "axios": "^0.18.0", + "extend": "^3.0.1", "retry-axios": "0.3.2" } }, @@ -5313,11 +5857,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "3.1.2", - "google-auto-auth": "0.10.1", - "pumpify": "1.5.1", - "request": "2.87.0", - "stream-events": "1.0.4" + "configstore": "^3.1.2", + "google-auto-auth": "^0.10.0", + "pumpify": "^1.4.0", + "request": "^2.85.0", + "stream-events": "^1.0.3" } }, "get-caller-file": { @@ -5354,7 +5898,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -5362,12 +5906,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -5376,8 +5920,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -5386,7 +5930,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -5401,7 +5945,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -5411,8 +5955,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -5420,7 +5964,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -5436,7 +5980,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -5450,13 +5994,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.2", - "glob": "7.1.2", - "ignore": "3.3.10", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "google-auth-library": { @@ -5464,13 +6008,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "0.18.0", - "gcp-metadata": "0.6.3", - "gtoken": "2.3.0", - "jws": "3.1.5", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.3", - "retry-axios": "0.3.2" + "axios": "^0.18.0", + "gcp-metadata": "^0.6.3", + "gtoken": "^2.3.0", + "jws": "^3.1.5", + "lodash.isstring": "^4.0.1", + "lru-cache": "^4.1.3", + "retry-axios": "^0.3.2" } }, "google-auto-auth": { @@ -5479,10 +6023,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "2.6.1", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.6.1", - "request": "2.87.0" + "async": "^2.3.0", + "gcp-metadata": "^0.6.1", + "google-auth-library": "^1.3.1", + "request": "^2.79.0" } }, "google-gax": { @@ -5490,17 +6034,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "3.6.0", - "extend": "3.0.1", - "globby": "8.0.1", - "google-auth-library": "1.6.1", - "google-proto-files": "0.16.1", - "grpc": "1.13.0", - "is-stream-ended": "0.1.4", - "lodash": "4.17.10", - "protobufjs": "6.8.6", - "retry-request": "4.0.0", - "through2": "2.0.3" + "duplexify": "^3.6.0", + "extend": "^3.0.1", + "globby": "^8.0.1", + "google-auth-library": "^1.6.1", + "google-proto-files": "^0.16.0", + "grpc": "^1.12.2", + "is-stream-ended": "^0.1.4", + "lodash": "^4.17.10", + "protobufjs": "^6.8.6", + "retry-request": "^4.0.0", + "through2": "^2.0.3" } }, "google-p12-pem": { @@ -5508,8 +6052,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "0.7.5", - "pify": "3.0.0" + "node-forge": "^0.7.4", + "pify": "^3.0.0" } }, "google-proto-files": { @@ -5517,9 +6061,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "8.0.1", - "power-assert": "1.6.0", - "protobufjs": "6.8.6" + "globby": "^8.0.0", + "power-assert": "^1.4.4", + "protobufjs": "^6.8.0" } }, "got": { @@ -5528,23 +6072,23 @@ "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", "dev": true, "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "mimic-response": "1.0.0", - "p-cancelable": "0.3.0", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" }, "dependencies": { "prepend-http": { @@ -5559,7 +6103,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } } } @@ -5581,10 +6125,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.0.tgz", "integrity": "sha512-jGxWFYzttSz9pi8mu283jZvo2zIluWonQ918GMHKx8grT57GIVlvx7/82fo7AGS75lbkPoO1T6PZLvCRD9Pbtw==", "requires": { - "lodash": "4.17.10", - "nan": "2.10.0", - "node-pre-gyp": "0.10.2", - "protobufjs": "5.0.3" + "lodash": "^4.17.5", + "nan": "^2.0.0", + "node-pre-gyp": "^0.10.0", + "protobufjs": "^5.0.3" }, "dependencies": { "abbrev": { @@ -5603,8 +6147,8 @@ "version": "1.1.5", "bundled": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -5615,7 +6159,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -5662,7 +6206,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -5673,26 +6217,26 @@ "version": "2.7.4", "bundled": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.3" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -5703,22 +6247,22 @@ "version": "0.4.23", "bundled": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5733,7 +6277,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -5744,7 +6288,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -5755,15 +6299,15 @@ "version": "2.3.3", "bundled": true, "requires": { - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -5787,33 +6331,33 @@ "version": "2.2.1", "bundled": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.23", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { "version": "0.10.2", "bundled": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.1", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.8", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.4" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { "version": "4.0.1", "bundled": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -5824,18 +6368,18 @@ "version": "1.1.10", "bundled": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { "version": "4.1.2", "bundled": true, "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -5850,7 +6394,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -5865,8 +6409,8 @@ "version": "0.1.5", "bundled": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -5882,40 +6426,40 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.2", - "yargs": "3.32.0" + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" } }, "rc": { "version": "1.2.8", "bundled": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -5942,27 +6486,27 @@ "version": "3.0.2", "bundled": true }, - "string_decoder": { - "version": "1.1.1", + "string-width": { + "version": "1.0.2", "bundled": true, "requires": { - "safe-buffer": "5.1.2" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "1.1.1", "bundled": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -5973,13 +6517,13 @@ "version": "4.4.4", "bundled": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.3.3", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.3", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -5990,7 +6534,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -6008,11 +6552,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.5", - "mime": "2.3.1", - "pify": "3.0.0" + "axios": "^0.18.0", + "google-p12-pem": "^1.0.0", + "jws": "^3.1.4", + "mime": "^2.2.0", + "pify": "^3.0.0" } }, "handlebars": { @@ -6021,10 +6565,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -6039,7 +6583,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -6054,8 +6598,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -6064,7 +6608,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -6073,7 +6617,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -6106,7 +6650,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "1.4.2" + "has-symbol-support-x": "^1.4.1" } }, "has-value": { @@ -6114,9 +6658,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -6124,8 +6668,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -6133,7 +6677,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6150,7 +6694,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "he": { @@ -6165,14 +6709,14 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.1.tgz", - "integrity": "sha512-Ba4+0M4YvIDUUsprMjhVTU1yN9F2/LJSAl69ZpzaLT4l4j5mwTS6jqqW9Ojvj6lKz/veqPzpJBqGbXspOb533A==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, "htmlparser2": { @@ -6181,12 +6725,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.2", - "domutils": "1.7.0", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "http-cache-semantics": { @@ -6200,9 +6744,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "hullabaloo-config-manager": { @@ -6211,20 +6755,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "es6-error": "4.1.1", - "graceful-fs": "4.1.11", - "indent-string": "3.2.0", - "json5": "0.5.1", - "lodash.clonedeep": "4.5.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "package-hash": "2.0.0", - "pkg-dir": "2.0.0", - "resolve-from": "3.0.0", - "safe-buffer": "5.1.2" + "dot-prop": "^4.1.0", + "es6-error": "^4.0.2", + "graceful-fs": "^4.1.11", + "indent-string": "^3.1.0", + "json5": "^0.5.1", + "lodash.clonedeep": "^4.5.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "package-hash": "^2.0.0", + "pkg-dir": "^2.0.0", + "resolve-from": "^3.0.0", + "safe-buffer": "^5.0.1" } }, "iconv-lite": { @@ -6233,7 +6777,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -6247,6 +6791,15 @@ "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", "dev": true }, + "ignore-walk": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", @@ -6259,8 +6812,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -6285,8 +6838,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6306,8 +6859,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "2.22.2", - "sanitize-html": "1.18.2" + "moment": "^2.14.1", + "sanitize-html": "^1.13.0" } }, "inquirer": { @@ -6316,19 +6869,19 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rxjs": "5.5.11", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -6349,8 +6902,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -6359,7 +6912,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -6370,7 +6923,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "1.2.2" + "espower-loader": "^1.0.0" } }, "into-stream": { @@ -6379,8 +6932,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" } }, "invariant": { @@ -6389,7 +6942,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -6413,7 +6966,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6421,7 +6974,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6438,7 +6991,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -6452,7 +7005,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -6467,7 +7020,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -6475,7 +7028,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6483,7 +7036,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6499,9 +7052,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -6523,7 +7076,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-error": { @@ -6548,7 +7101,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -6556,7 +7109,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-generator-fn": { @@ -6570,7 +7123,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-installed-globally": { @@ -6579,8 +7132,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-npm": { @@ -6594,7 +7147,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6602,7 +7155,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6625,7 +7178,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "^1.1.0" } }, "is-path-cwd": { @@ -6640,7 +7193,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -6649,7 +7202,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -6663,7 +7216,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -6696,7 +7249,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-resolvable": { @@ -6772,15 +7325,15 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-lib-coverage": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.0.tgz", - "integrity": "sha512-yMSw5xLIbdaxiVXHk3amfNM2WeBxLrwH/BCyZ9HvA/fylwziAIJOG2rKqWyLqEJqwKT725vxxqidv+SyynnGAA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-nPvSZsVlbG9aLhZYaC3Oi1gT/tpyo3Yt5fNyf6NmcKIayz4VV/txxJFFKAK/gU4dcNn8ehsanBbVHVl0+amOLA==", "dev": true }, "istanbul-lib-instrument": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-2.3.0.tgz", - "integrity": "sha512-Ie1LGWJVCFDDJKKH4g1ffpFcZTEXEd6ay5l9fE8539y4qPErJnzo4psnGzDH92tcKvdUDdbxrKySYIbt6zB9hw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-2.3.1.tgz", + "integrity": "sha512-h9Vg3nfbxrF0PK0kZiNiMAyL8zXaLiBP/BXniaKSwVvAi1TaumYV2b0wPdmy1CRX3irYbYD1p4Wjbv4uyECiiQ==", "dev": true, "requires": { "@babel/generator": "7.0.0-beta.51", @@ -6788,8 +7341,8 @@ "@babel/template": "7.0.0-beta.51", "@babel/traverse": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "istanbul-lib-coverage": "2.0.0", - "semver": "5.5.0" + "istanbul-lib-coverage": "^2.0.1", + "semver": "^5.5.0" } }, "isurl": { @@ -6798,8 +7351,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" } }, "jest-docblock": { @@ -6826,8 +7379,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "js2xmlparser": { @@ -6836,7 +7389,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsbn": { @@ -6852,17 +7405,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.19", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", "taffydb": "2.6.2", - "underscore": "1.8.3" + "underscore": "~1.8.3" }, "dependencies": { "babylon": { @@ -6924,7 +7477,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -6951,7 +7504,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "jws": { @@ -6959,8 +7512,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "1.1.6", - "safe-buffer": "5.1.2" + "jwa": "^1.1.5", + "safe-buffer": "^5.0.1" } }, "keyv": { @@ -6983,7 +7536,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "last-line-stream": { @@ -6992,7 +7545,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "latest-version": { @@ -7001,7 +7554,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -7016,7 +7569,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "levn": { @@ -7025,8 +7578,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -7035,10 +7588,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, "dependencies": { "pify": { @@ -7055,8 +7608,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -7147,9 +7700,9 @@ "dev": true }, "lolex": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.0.tgz", - "integrity": "sha512-uJkH2e0BVfU5KOJUevbTOtpDduooSarH5PopO+LfM/vZf8Z9sJzODqKev804JYM2i++ktJfUmC1le4LwFQ1VMg==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.1.tgz", + "integrity": "sha512-Oo2Si3RMKV3+lV5MsSWplDQFoTClz/24S0MMHYcgGWWmFXr6TMlqcqk/l1GtH+d5wLBwNRiqGnwDRMirtFalJw==", "dev": true }, "long": { @@ -7169,7 +7722,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -7178,8 +7731,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowercase-keys": { @@ -7193,8 +7746,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -7203,7 +7756,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-cache": { @@ -7222,7 +7775,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "marked": { @@ -7237,7 +7790,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.4" } }, "math-random": { @@ -7252,7 +7805,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -7267,7 +7820,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -7276,16 +7829,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "find-up": { @@ -7294,8 +7847,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "load-json-file": { @@ -7304,11 +7857,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "minimist": { @@ -7323,7 +7876,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-type": { @@ -7332,9 +7885,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -7355,7 +7908,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "read-pkg": { @@ -7364,9 +7917,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -7375,8 +7928,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "strip-bom": { @@ -7385,7 +7938,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -7402,7 +7955,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "merge2": { @@ -7427,19 +7980,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "mime": { @@ -7457,7 +8010,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "mimic-fn": { @@ -7477,7 +8030,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -7491,8 +8044,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -7500,7 +8053,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -7562,7 +8115,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "^0.1.34" }, "dependencies": { "source-map": { @@ -7571,7 +8124,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -7582,10 +8135,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" } }, "mute-stream": { @@ -7604,17 +8157,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "natural-compare": { @@ -7641,11 +8194,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.7.0", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" + "@sinonjs/formatio": "^2.0.0", + "just-extend": "^1.1.27", + "lolex": "^2.3.2", + "path-to-regexp": "^1.7.0", + "text-encoding": "^0.6.4" } }, "node-forge": { @@ -7659,10 +8212,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -7671,7 +8224,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -7680,9 +8233,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, "dependencies": { "prepend-http": { @@ -7699,7 +8252,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -7713,33 +8266,33 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "2.3.0", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.5", - "istanbul-reports": "1.4.1", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^2.1.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.5", + "istanbul-reports": "^1.4.1", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", "yargs": "11.1.0", - "yargs-parser": "8.1.0" + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -7747,9 +8300,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -7767,7 +8320,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -7825,13 +8378,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -7839,7 +8392,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -7847,7 +8400,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -7855,7 +8408,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -7863,9 +8416,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -7880,7 +8433,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -7889,16 +8442,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -7906,7 +8459,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7921,15 +8474,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "caching-transform": { @@ -7937,9 +8490,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -7954,8 +8507,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "class-utils": { @@ -7963,10 +8516,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -7974,7 +8527,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -7985,8 +8538,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -8008,8 +8561,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "commondir": { @@ -8042,8 +8595,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -8074,7 +8627,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { @@ -8082,8 +8635,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -8091,7 +8644,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8099,7 +8652,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8107,9 +8660,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -8124,7 +8677,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "execa": { @@ -8132,13 +8685,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -8146,9 +8699,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -8158,13 +8711,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -8180,7 +8733,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -8188,7 +8741,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8198,8 +8751,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8207,7 +8760,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8217,14 +8770,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -8232,7 +8785,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -8240,7 +8793,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -8248,7 +8801,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8256,7 +8809,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8264,9 +8817,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -8281,10 +8834,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -8292,7 +8845,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8302,9 +8855,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -8312,7 +8865,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -8325,8 +8878,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fragment-cache": { @@ -8334,7 +8887,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -8362,12 +8915,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { @@ -8380,10 +8933,10 @@ "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -8391,7 +8944,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -8401,9 +8954,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -8411,8 +8964,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -8420,7 +8973,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8440,8 +8993,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -8459,7 +9012,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -8477,7 +9030,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { @@ -8485,7 +9038,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { @@ -8493,9 +9046,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -8520,7 +9073,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -8528,7 +9081,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -8543,7 +9096,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-stream": { @@ -8586,7 +9139,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-report": { @@ -8594,10 +9147,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -8610,7 +9163,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8620,11 +9173,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" } }, "istanbul-reports": { @@ -8632,7 +9185,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "kind-of": { @@ -8640,7 +9193,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -8654,7 +9207,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -8662,11 +9215,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -8674,8 +9227,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -8695,8 +9248,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { @@ -8709,7 +9262,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { @@ -8717,7 +9270,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -8730,7 +9283,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -8738,7 +9291,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -8753,19 +9306,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8785,7 +9338,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -8798,8 +9351,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8807,7 +9360,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8830,18 +9383,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "kind-of": { @@ -8856,10 +9409,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { @@ -8867,7 +9420,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -8885,9 +9438,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -8895,7 +9448,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -8905,7 +9458,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.pick": { @@ -8913,7 +9466,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "once": { @@ -8921,7 +9474,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -8929,8 +9482,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -8943,9 +9496,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -8958,7 +9511,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -8966,7 +9519,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -8979,7 +9532,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { @@ -8992,7 +9545,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -9015,9 +9568,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -9035,7 +9588,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -9043,7 +9596,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -9051,8 +9604,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -9072,9 +9625,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -9082,8 +9635,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -9091,8 +9644,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -9102,8 +9655,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "repeat-element": { @@ -9147,7 +9700,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -9155,7 +9708,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { @@ -9163,7 +9716,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { @@ -9181,10 +9734,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -9192,7 +9745,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9202,7 +9755,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -9225,14 +9778,14 @@ "bundled": true, "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -9248,7 +9801,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -9256,7 +9809,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9266,9 +9819,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -9276,7 +9829,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -9284,7 +9837,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -9292,7 +9845,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -9300,9 +9853,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -9317,7 +9870,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -9330,11 +9883,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { @@ -9347,12 +9900,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.1" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -9360,8 +9913,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -9374,8 +9927,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -9388,7 +9941,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { @@ -9396,8 +9949,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -9405,7 +9958,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9415,8 +9968,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -9424,7 +9977,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "strip-bom": { @@ -9432,7 +9985,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -9445,11 +9998,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-object-path": { @@ -9457,7 +10010,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -9465,10 +10018,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -9476,8 +10029,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "uglify-js": { @@ -9486,9 +10039,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -9497,9 +10050,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -9516,10 +10069,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -9527,7 +10080,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -9535,10 +10088,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -9548,8 +10101,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -9557,9 +10110,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -9589,7 +10142,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -9604,8 +10157,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { @@ -9613,7 +10166,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -9637,8 +10190,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { @@ -9651,7 +10204,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -9659,9 +10212,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -9669,7 +10222,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -9684,9 +10237,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -9704,18 +10257,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "camelcase": { @@ -9728,9 +10281,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "yargs-parser": { @@ -9738,7 +10291,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -9748,7 +10301,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -9776,9 +10329,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -9786,7 +10339,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "kind-of": { @@ -9794,7 +10347,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9809,7 +10362,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.omit": { @@ -9818,8 +10371,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -9827,7 +10380,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "observable-to-promise": { @@ -9836,8 +10389,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "0.2.0", - "symbol-observable": "1.2.0" + "is-observable": "^0.2.0", + "symbol-observable": "^1.0.4" }, "dependencies": { "is-observable": { @@ -9846,7 +10399,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "0.2.4" + "symbol-observable": "^0.2.2" }, "dependencies": { "symbol-observable": { @@ -9864,7 +10417,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -9873,7 +10426,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -9882,8 +10435,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "option-chain": { @@ -9898,12 +10451,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -9930,7 +10483,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -9963,7 +10516,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -9972,7 +10525,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-timeout": { @@ -9981,7 +10534,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { @@ -9996,10 +10549,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "lodash.flattendeep": "4.4.0", - "md5-hex": "2.0.0", - "release-zalgo": "1.0.0" + "graceful-fs": "^4.1.11", + "lodash.flattendeep": "^4.4.0", + "md5-hex": "^2.0.0", + "release-zalgo": "^1.0.0" } }, "package-json": { @@ -10008,10 +10561,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" }, "dependencies": { "got": { @@ -10020,17 +10573,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } } } @@ -10041,10 +10594,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "is-extglob": { @@ -10059,7 +10612,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -10070,7 +10623,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -10140,7 +10693,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "performance-now": { @@ -10165,7 +10718,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } }, "pkg-conf": { @@ -10174,8 +10727,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" }, "dependencies": { "load-json-file": { @@ -10184,10 +10737,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -10196,8 +10749,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -10208,7 +10761,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plur": { @@ -10217,7 +10770,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "1.4.0" + "irregular-plurals": "^1.0.0" } }, "pluralize": { @@ -10237,9 +10790,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "dependencies": { "source-map": { @@ -10255,11 +10808,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "1.1.2", - "empower": "1.3.0", - "power-assert-formatter": "1.4.1", - "universal-deep-strict-equal": "1.2.2", - "xtend": "4.0.1" + "define-properties": "^1.1.2", + "empower": "^1.3.0", + "power-assert-formatter": "^1.4.1", + "universal-deep-strict-equal": "^1.2.1", + "xtend": "^4.0.0" } }, "power-assert-context-formatter": { @@ -10267,8 +10820,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "2.5.7", - "power-assert-context-traversal": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.2.0" } }, "power-assert-context-reducer-ast": { @@ -10276,11 +10829,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.7", - "espurify": "1.8.0", - "estraverse": "4.2.0" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" } }, "power-assert-context-traversal": { @@ -10288,8 +10841,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "2.5.7", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "estraverse": "^4.1.0" } }, "power-assert-formatter": { @@ -10297,13 +10850,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.7", - "power-assert-context-formatter": "1.2.0", - "power-assert-context-reducer-ast": "1.2.0", - "power-assert-renderer-assertion": "1.2.0", - "power-assert-renderer-comparison": "1.2.0", - "power-assert-renderer-diagram": "1.2.0", - "power-assert-renderer-file": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" } }, "power-assert-renderer-assertion": { @@ -10311,8 +10864,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0" + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0" } }, "power-assert-renderer-base": { @@ -10325,11 +10878,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "2.5.7", - "diff-match-patch": "1.0.1", - "power-assert-renderer-base": "1.1.1", - "stringifier": "1.3.0", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" } }, "power-assert-renderer-diagram": { @@ -10337,10 +10890,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "2.5.7", - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0", - "stringifier": "1.3.0" + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0", + "stringifier": "^1.3.0" } }, "power-assert-renderer-file": { @@ -10348,7 +10901,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "1.1.1" + "power-assert-renderer-base": "^1.1.1" } }, "power-assert-util-string-width": { @@ -10356,7 +10909,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "0.2.0" + "eastasianwidth": "^0.2.0" } }, "prelude-ls": { @@ -10389,7 +10942,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "1.0.1" + "parse-ms": "^1.0.0" }, "dependencies": { "parse-ms": { @@ -10422,25 +10975,25 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/base64": "1.1.2", - "@protobufjs/codegen": "2.0.4", - "@protobufjs/eventemitter": "1.1.0", - "@protobufjs/fetch": "1.1.0", - "@protobufjs/float": "1.0.2", - "@protobufjs/inquire": "1.1.0", - "@protobufjs/path": "1.1.2", - "@protobufjs/pool": "1.1.0", - "@protobufjs/utf8": "1.1.0", - "@types/long": "3.0.32", - "@types/node": "8.10.20", - "long": "4.0.0" + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^3.0.32", + "@types/node": "^8.9.4", + "long": "^4.0.0" }, "dependencies": { "@types/node": { - "version": "8.10.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.20.tgz", - "integrity": "sha512-M7x8+5D1k/CuA6jhiwuSCmE8sbUWJF0wYsjcig9WrXvwUI5ArEoUBdOXpV4JcEMrLp02/QbDjw+kI+vQeKyQgg==" + "version": "8.10.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.21.tgz", + "integrity": "sha512-87XkD9qDXm8fIax+5y7drx84cXsu34ZZqfB7Cial3Q/2lxSoJ/+DRaWckkCbxP41wFSIrrb939VhzaNxj4eY1w==" } } }, @@ -10450,9 +11003,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" + "fill-keys": "^1.0.2", + "module-not-found-error": "^1.0.0", + "resolve": "~1.1.7" } }, "pseudomap": { @@ -10466,8 +11019,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -10476,9 +11029,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -10497,9 +11050,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "randomatic": { @@ -10508,9 +11061,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -10527,10 +11080,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -10547,9 +11100,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" }, "dependencies": { "path-type": { @@ -10558,7 +11111,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -10575,8 +11128,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "readable-stream": { @@ -10584,13 +11137,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -10599,10 +11152,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "redent": { @@ -10611,8 +11164,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" }, "dependencies": { "indent-string": { @@ -10621,7 +11174,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } } } @@ -10644,7 +11197,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -10652,8 +11205,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexp.prototype.flags": { @@ -10662,7 +11215,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "1.1.2" + "define-properties": "^1.1.2" } }, "regexpp": { @@ -10677,9 +11230,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -10688,8 +11241,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.8", - "safe-buffer": "5.1.2" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -10698,7 +11251,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.8" + "rc": "^1.0.1" } }, "regjsgen": { @@ -10713,7 +11266,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "release-zalgo": { @@ -10722,7 +11275,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.1.1" + "es6-error": "^4.0.1" } }, "remove-trailing-separator": { @@ -10747,7 +11300,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -10755,26 +11308,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -10801,8 +11354,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" }, "dependencies": { "resolve-from": { @@ -10819,7 +11372,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -10842,7 +11395,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -10862,7 +11415,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -10871,8 +11424,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -10890,7 +11443,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "right-align": { @@ -10900,7 +11453,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -10909,7 +11462,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -10918,7 +11471,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rxjs": { @@ -10948,7 +11501,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -10968,16 +11521,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "2.4.1", - "htmlparser2": "3.9.2", - "lodash.clonedeep": "4.5.0", - "lodash.escaperegexp": "4.1.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mergewith": "4.6.1", - "postcss": "6.0.23", - "srcset": "1.0.0", - "xtend": "4.0.1" + "chalk": "^2.3.0", + "htmlparser2": "^3.9.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.0", + "postcss": "^6.0.14", + "srcset": "^1.0.0", + "xtend": "^4.0.0" } }, "semver": { @@ -10992,7 +11545,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "serialize-error": { @@ -11018,10 +11571,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -11029,7 +11582,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11040,7 +11593,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -11056,18 +11609,19 @@ "dev": true }, "sinon": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.1.0.tgz", - "integrity": "sha512-BSt7qfCyoqMcPVK0c+olyjaa2DB0DTyOBpHmGC3goiHmNa8NE+4/ZJlUi693VS0WPgvR0rc6nYvASXYZMiibhw==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.1.3.tgz", + "integrity": "sha512-yeTza8xIZZdiXntCHJAzKll/sSYE+DuJOS8hiSapzaLqdW8eCNVVC9je9SZYYTkPm2bLts9x6UYxwuMAVVrM6Q==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.0", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "@sinonjs/samsam": "^2.0.0", + "diff": "^3.5.0", + "lodash.get": "^4.4.2", + "lolex": "^2.4.2", + "nise": "^1.3.3", + "supports-color": "^5.4.0", + "type-detect": "^4.0.8" } }, "slash": { @@ -11081,7 +11635,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -11109,14 +11663,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -11132,7 +11686,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11140,7 +11694,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11150,9 +11704,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -11160,7 +11714,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -11168,7 +11722,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11176,7 +11730,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11184,9 +11738,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -11196,7 +11750,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { @@ -11204,7 +11758,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11215,7 +11769,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-map": { @@ -11228,11 +11782,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -11241,8 +11795,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "source-map": { @@ -11264,8 +11818,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -11280,8 +11834,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -11295,7 +11849,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "0.1.4" + "is-stream-ended": "^0.1.4" } }, "split-string": { @@ -11303,7 +11857,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -11318,8 +11872,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "1.0.3", - "number-is-nan": "1.0.1" + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" } }, "sshpk": { @@ -11327,15 +11881,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -11349,8 +11903,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -11358,7 +11912,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -11368,7 +11922,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "3.0.0" + "stubs": "^3.0.0" } }, "stream-shift": { @@ -11388,14 +11942,6 @@ "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", "dev": true }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.2" - } - }, "string-format-obj": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", @@ -11407,9 +11953,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string.prototype.matchall": { @@ -11418,11 +11964,19 @@ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "regexp.prototype.flags": "1.2.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" } }, "stringifier": { @@ -11430,9 +11984,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.7", - "traverse": "0.6.6", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" } }, "strip-ansi": { @@ -11440,7 +11994,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -11455,7 +12009,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.1" } }, "strip-eof": { @@ -11470,7 +12024,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -11490,16 +12044,16 @@ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.2", - "debug": "3.1.0", - "extend": "3.0.1", - "form-data": "2.3.2", - "formidable": "1.2.1", - "methods": "1.1.2", - "mime": "1.6.0", - "qs": "6.5.2", - "readable-stream": "2.3.6" + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" }, "dependencies": { "mime": { @@ -11516,11 +12070,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "1.0.1", - "indent-string": "3.2.0", - "js-yaml": "3.12.0", - "serialize-error": "2.1.0", - "strip-ansi": "4.0.0" + "arrify": "^1.0.1", + "indent-string": "^3.2.0", + "js-yaml": "^3.10.0", + "serialize-error": "^2.1.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -11535,7 +12089,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11546,8 +12100,8 @@ "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", "dev": true, "requires": { - "methods": "1.1.2", - "superagent": "3.8.3" + "methods": "~1.1.2", + "superagent": "^3.0.0" } }, "supports-color": { @@ -11556,7 +12110,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -11579,12 +12133,12 @@ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "6.5.2", - "ajv-keywords": "3.2.0", - "chalk": "2.4.1", - "lodash": "4.17.10", + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ajv": { @@ -11593,10 +12147,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "ansi-regex": { @@ -11629,8 +12183,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -11639,7 +12193,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11656,7 +12210,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "text-encoding": { @@ -11682,8 +12236,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-zone": { @@ -11704,7 +12258,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -11718,7 +12272,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11726,7 +12280,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11736,10 +12290,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -11747,8 +12301,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "tough-cookie": { @@ -11756,7 +12310,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "traverse": { @@ -11787,7 +12341,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -11802,7 +12356,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -11829,9 +12383,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "camelcase": { @@ -11848,8 +12402,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -11874,9 +12428,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -11923,10 +12477,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -11934,7 +12488,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -11942,10 +12496,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -11956,7 +12510,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "unique-temp-dir": { @@ -11965,8 +12519,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", + "mkdirp": "^0.5.1", + "os-tmpdir": "^1.0.1", "uid2": "0.0.3" } }, @@ -11975,9 +12529,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "1.0.0", + "array-filter": "^1.0.0", "indexof": "0.0.1", - "object-keys": "1.0.12" + "object-keys": "^1.0.0" } }, "universalify": { @@ -11991,8 +12545,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -12000,9 +12554,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -12034,16 +12588,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.4.1", - "configstore": "3.1.2", - "import-lazy": "2.1.0", - "is-ci": "1.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "uri-js": { @@ -12052,7 +12606,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" }, "dependencies": { "punycode": { @@ -12074,7 +12628,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "url-to-options": { @@ -12094,7 +12648,7 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" } }, "util-deprecate": { @@ -12113,8 +12667,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -12122,9 +12676,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "well-known-symbols": { @@ -12139,7 +12693,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12154,7 +12708,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12175,8 +12729,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12185,7 +12739,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12206,8 +12760,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -12221,7 +12775,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -12230,9 +12784,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "write-json-file": { @@ -12241,12 +12795,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "5.0.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "pify": "3.0.0", - "sort-keys": "2.0.0", - "write-file-atomic": "2.3.0" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.0.0" }, "dependencies": { "detect-indent": { @@ -12263,8 +12817,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "2.0.0", - "write-json-file": "2.3.0" + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" } }, "xdg-basedir": { @@ -12299,13 +12853,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" } }, "yargs-parser": { @@ -12314,7 +12868,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { From 5736d30cf21dbca9e500eda422c73f098709ea4f Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 9 Jul 2018 23:16:48 -0700 Subject: [PATCH 174/588] fix: drop support for node.js 4.x and 9.x (#117) --- .../google-cloud-vision/.circleci/config.yml | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 2e2e10a58bf..2e40306876a 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -78,13 +78,8 @@ jobs: npm install environment: NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: - name: Run unit tests. - command: npm test - - run: - name: Submit coverage data to codecov. - command: node_modules/.bin/codecov - when: always + - run: npm test + - run: node_modules/.bin/codecov node8: docker: - image: 'node:8' @@ -183,9 +178,5 @@ jobs: user: node steps: - checkout - - run: - name: Set NPM authentication. - command: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc' - - run: - name: Publish the module to npm. - command: npm publish + - run: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc' + - run: npm publish From 3ed7ad07fba463f12090eb7fabe7899e55c9add3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 10 Jul 2018 08:07:30 -0700 Subject: [PATCH 175/588] chore(deps): lock file maintenance (#119) --- packages/google-cloud-vision/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 664f7f1765c..4a52180b90e 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -4832,9 +4832,9 @@ "dev": true }, "espurify": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz", - "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", + "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", "requires": { "core-js": "^2.0.0" } From 1b91ddbb173660957872d8aa21d635f7f34d0f24 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 10 Jul 2018 09:41:33 -0700 Subject: [PATCH 176/588] chore(deps): lock file maintenance (#121) --- packages/google-cloud-vision/package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 4a52180b90e..4532b480931 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -7717,12 +7717,12 @@ "dev": true }, "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "loud-rejection": { From 7b7598c8ad6ae4fcc4b3050f64f8b09d56d775a2 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Thu, 12 Jul 2018 08:53:53 -0700 Subject: [PATCH 177/588] Add smoke tests via regeneration (#122) --- .../smoke-test/image_annotator_smoke_test.js | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js new file mode 100644 index 00000000000..c7b30885b45 --- /dev/null +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -0,0 +1,50 @@ +// Copyright 2018 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. + +'use strict'; + +describe('ImageAnnotatorSmokeTest', () => { + it('successfully makes a call to the service', done => { + const vision = require('../src'); + + var client = new vision.v1p2beta1.ImageAnnotatorClient({ + // optional auth parameters. + }); + + var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + var source = { + gcsImageUri: gcsImageUri, + }; + var image = { + source: source, + }; + var type = 'FACE_DETECTION'; + var featuresElement = { + type: type, + }; + var features = [featuresElement]; + var requestsElement = { + image: image, + features: features, + }; + var requests = [requestsElement]; + client.batchAnnotateImages({requests: requests}) + .then(responses => { + var response = responses[0]; + console.log(response); + }) + .then(done) + .catch(done); + }); +}); From 16ee2bfc6b42fc67d8b8d16e2be5d339d951d761 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 16 Jul 2018 19:10:11 -0700 Subject: [PATCH 178/588] chore(deps): lock file maintenance (#123) --- .../google-cloud-vision/package-lock.json | 1314 +++++++++++++---- 1 file changed, 1008 insertions(+), 306 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 4532b480931..b70548c9b1a 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -236,25 +236,25 @@ } }, "@google-cloud/nodejs-repo-tools": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.3.0.tgz", - "integrity": "sha512-c8dIGESnNkmM88duFxGHvMQP5QKPgp/sfJq0QhC6+gOcJC7/PKjqd0PkmgPPeIgVl6SXy5Zf/KLbxnJUVgNT1Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.3.1.tgz", + "integrity": "sha512-yIOn92sjHwpF/eORQWjv7QzQPcESSRCsZshdmeX40RGRlB0+HPODRDghZq0GiCqe6zpIYZvKmiKiYd3u52P/7Q==", "dev": true, "requires": { "ava": "0.25.0", "colors": "1.1.2", "fs-extra": "5.0.0", - "got": "8.2.0", + "got": "8.3.0", "handlebars": "4.0.11", "lodash": "4.17.5", - "nyc": "11.4.1", + "nyc": "11.7.2", "proxyquire": "1.8.0", "semver": "^5.5.0", - "sinon": "4.3.0", + "sinon": "6.0.1", "string": "3.3.3", - "supertest": "3.0.0", + "supertest": "3.1.0", "yargs": "11.0.0", - "yargs-parser": "9.0.2" + "yargs-parser": "10.1.0" }, "dependencies": { "ansi-regex": { @@ -263,6 +263,12 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -287,37 +293,37 @@ "dev": true }, "nyc": { - "version": "11.4.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz", - "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", + "version": "11.7.2", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.7.2.tgz", + "integrity": "sha512-gBt7qwsR1vryYfglVjQRx1D+AtMZW5NbUKxb+lZe8SN8KsheGCPGWEsSC9AGQG+r2+te1+10uPHUCahuqm1nGQ==", "dev": true, "requires": { "archy": "^1.0.0", "arrify": "^1.0.1", "caching-transform": "^1.0.0", - "convert-source-map": "^1.3.0", + "convert-source-map": "^1.5.1", "debug-log": "^1.0.1", "default-require-extensions": "^1.0.0", "find-cache-dir": "^0.1.1", "find-up": "^2.1.0", "foreground-child": "^1.5.3", "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-coverage": "^1.1.2", "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.9.1", - "istanbul-lib-report": "^1.1.2", - "istanbul-lib-source-maps": "^1.2.2", - "istanbul-reports": "^1.1.3", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", "md5-hex": "^1.2.0", - "merge-source-map": "^1.0.2", - "micromatch": "^2.3.11", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", "mkdirp": "^0.5.0", "resolve-from": "^2.0.0", - "rimraf": "^2.5.4", + "rimraf": "^2.6.2", "signal-exit": "^3.0.1", "spawn-wrap": "^1.4.2", - "test-exclude": "^4.1.1", - "yargs": "^10.0.3", + "test-exclude": "^4.2.0", + "yargs": "11.1.0", "yargs-parser": "^8.0.0" }, "dependencies": { @@ -360,20 +366,22 @@ "dev": true }, "arr-diff": { - "version": "2.0.0", + "version": "4.0.0", "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } + "dev": true }, "arr-flatten": { "version": "1.1.0", "bundled": true, "dev": true }, + "arr-union": { + "version": "3.1.0", + "bundled": true, + "dev": true + }, "array-unique": { - "version": "0.2.1", + "version": "0.3.2", "bundled": true, "dev": true }, @@ -382,11 +390,21 @@ "bundled": true, "dev": true }, + "assign-symbols": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, "async": { "version": "1.5.2", "bundled": true, "dev": true }, + "atob": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, "babel-code-frame": { "version": "6.26.0", "bundled": true, @@ -398,7 +416,7 @@ } }, "babel-generator": { - "version": "6.26.0", + "version": "6.26.1", "bundled": true, "dev": true, "requires": { @@ -408,7 +426,7 @@ "detect-indent": "^4.0.0", "jsesc": "^1.3.0", "lodash": "^4.17.4", - "source-map": "^0.5.6", + "source-map": "^0.5.7", "trim-right": "^1.0.1" } }, @@ -478,8 +496,63 @@ "bundled": true, "dev": true }, + "base": { + "version": "0.11.2", + "bundled": true, + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, "brace-expansion": { - "version": "1.1.8", + "version": "1.1.11", "bundled": true, "dev": true, "requires": { @@ -488,13 +561,30 @@ } }, "braces": { - "version": "1.8.5", + "version": "2.3.2", "bundled": true, "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "builtin-modules": { @@ -502,6 +592,22 @@ "bundled": true, "dev": true }, + "cache-base": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, "caching-transform": { "version": "1.0.1", "bundled": true, @@ -540,6 +646,27 @@ "supports-color": "^2.0.0" } }, + "class-utils": { + "version": "0.3.6", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "cliui": { "version": "2.1.0", "bundled": true, @@ -564,11 +691,25 @@ "bundled": true, "dev": true }, + "collection-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, "commondir": { "version": "1.0.1", "bundled": true, "dev": true }, + "component-emitter": { + "version": "1.2.1", + "bundled": true, + "dev": true + }, "concat-map": { "version": "0.0.1", "bundled": true, @@ -579,8 +720,13 @@ "bundled": true, "dev": true }, + "copy-descriptor": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, "core-js": { - "version": "2.5.3", + "version": "2.5.6", "bundled": true, "dev": true }, @@ -611,6 +757,11 @@ "bundled": true, "dev": true }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, "default-require-extensions": { "version": "1.0.0", "bundled": true, @@ -619,6 +770,48 @@ "strip-bom": "^2.0.0" } }, + "define-property": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, "detect-indent": { "version": "4.0.0", "bundled": true, @@ -672,44 +865,139 @@ } }, "expand-brackets": { - "version": "0.1.5", + "version": "2.1.4", "bundled": true, "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, - "expand-range": { - "version": "1.8.2", + "extend-shallow": { + "version": "3.0.2", "bundled": true, "dev": true, "requires": { - "fill-range": "^2.1.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, "extglob": { - "version": "0.3.2", + "version": "2.0.4", "bundled": true, "dev": true, "requires": { - "is-extglob": "^1.0.0" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } } }, - "filename-regex": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, "fill-range": { - "version": "2.2.3", + "version": "4.0.0", "bundled": true, "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "find-cache-dir": { @@ -735,21 +1023,21 @@ "bundled": true, "dev": true }, - "for-own": { - "version": "0.1.5", + "foreground-child": { + "version": "1.5.6", "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.1" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, - "foreground-child": { - "version": "1.5.6", + "fragment-cache": { + "version": "0.2.1", "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -767,6 +1055,11 @@ "bundled": true, "dev": true }, + "get-value": { + "version": "2.0.6", + "bundled": true, + "dev": true + }, "glob": { "version": "7.1.2", "bundled": true, @@ -780,23 +1073,6 @@ "path-is-absolute": "^1.0.0" } }, - "glob-base": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - } - }, - "glob-parent": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, "globals": { "version": "9.18.0", "bundled": true, @@ -841,8 +1117,37 @@ "bundled": true, "dev": true }, + "has-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "hosted-git-info": { - "version": "2.5.0", + "version": "2.6.0", "bundled": true, "dev": true }, @@ -866,7 +1171,7 @@ "dev": true }, "invariant": { - "version": "2.2.2", + "version": "2.2.4", "bundled": true, "dev": true, "requires": { @@ -878,6 +1183,14 @@ "bundled": true, "dev": true }, + "is-accessor-descriptor": { + "version": "0.1.6", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, "is-arrayish": { "version": "0.2.1", "bundled": true, @@ -896,17 +1209,29 @@ "builtin-modules": "^1.0.0" } }, - "is-dotfile": { - "version": "1.0.3", + "is-data-descriptor": { + "version": "0.1.4", "bundled": true, - "dev": true + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } }, - "is-equal-shallow": { - "version": "0.1.3", + "is-descriptor": { + "version": "0.1.6", "bundled": true, "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "bundled": true, + "dev": true + } } }, "is-extendable": { @@ -914,11 +1239,6 @@ "bundled": true, "dev": true }, - "is-extglob": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, "is-finite": { "version": "1.0.2", "bundled": true, @@ -928,39 +1248,41 @@ } }, "is-fullwidth-code-point": { - "version": "1.0.0", + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-number": { + "version": "3.0.0", "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "kind-of": "^3.0.2" } }, - "is-glob": { - "version": "2.0.1", + "is-odd": { + "version": "2.0.0", "bundled": true, "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "bundled": true, + "dev": true + } } }, - "is-number": { - "version": "2.1.0", + "is-plain-object": { + "version": "2.0.4", "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "isobject": "^3.0.1" } }, - "is-posix-bracket": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, "is-stream": { "version": "1.1.0", "bundled": true, @@ -971,6 +1293,11 @@ "bundled": true, "dev": true }, + "is-windows": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, "isarray": { "version": "1.0.0", "bundled": true, @@ -982,15 +1309,12 @@ "dev": true }, "isobject": { - "version": "2.1.0", + "version": "3.0.1", "bundled": true, - "dev": true, - "requires": { - "isarray": "1.0.0" - } + "dev": true }, "istanbul-lib-coverage": { - "version": "1.1.1", + "version": "1.2.0", "bundled": true, "dev": true }, @@ -1003,7 +1327,7 @@ } }, "istanbul-lib-instrument": { - "version": "1.9.1", + "version": "1.10.1", "bundled": true, "dev": true, "requires": { @@ -1012,16 +1336,16 @@ "babel-traverse": "^6.18.0", "babel-types": "^6.18.0", "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-coverage": "^1.2.0", "semver": "^5.3.0" } }, "istanbul-lib-report": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-coverage": "^1.1.2", "mkdirp": "^0.5.1", "path-parse": "^1.0.5", "supports-color": "^3.1.2" @@ -1038,12 +1362,12 @@ } }, "istanbul-lib-source-maps": { - "version": "1.2.2", + "version": "1.2.3", "bundled": true, "dev": true, "requires": { "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-coverage": "^1.1.2", "mkdirp": "^0.5.1", "rimraf": "^2.6.1", "source-map": "^0.5.3" @@ -1060,7 +1384,7 @@ } }, "istanbul-reports": { - "version": "1.1.3", + "version": "1.4.0", "bundled": true, "dev": true, "requires": { @@ -1128,7 +1452,7 @@ } }, "lodash": { - "version": "4.17.4", + "version": "4.17.10", "bundled": true, "dev": true }, @@ -1146,7 +1470,7 @@ } }, "lru-cache": { - "version": "4.1.1", + "version": "4.1.3", "bundled": true, "dev": true, "requires": { @@ -1154,6 +1478,19 @@ "yallist": "^2.1.2" } }, + "map-cache": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, "md5-hex": { "version": "1.3.0", "bundled": true, @@ -1176,35 +1513,49 @@ } }, "merge-source-map": { - "version": "1.0.4", + "version": "1.1.0", "bundled": true, "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } } }, "micromatch": { - "version": "2.3.11", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "version": "3.1.10", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } } }, "mimic-fn": { - "version": "1.1.0", + "version": "1.2.0", "bundled": true, "dev": true }, @@ -1221,6 +1572,25 @@ "bundled": true, "dev": true }, + "mixin-deep": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "mkdirp": { "version": "0.5.1", "bundled": true, @@ -1234,6 +1604,32 @@ "bundled": true, "dev": true }, + "nanomatch": { + "version": "1.2.9", + "bundled": true, + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, "normalize-package-data": { "version": "2.4.0", "bundled": true, @@ -1245,14 +1641,6 @@ "validate-npm-package-license": "^3.0.1" } }, - "normalize-path": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, "npm-run-path": { "version": "2.0.2", "bundled": true, @@ -1271,13 +1659,40 @@ "bundled": true, "dev": true }, - "object.omit": { - "version": "2.0.1", + "object-copy": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-visit": { + "version": "1.0.1", "bundled": true, "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "isobject": "^3.0.1" } }, "once": { @@ -1318,9 +1733,12 @@ "dev": true }, "p-limit": { - "version": "1.1.0", + "version": "1.2.0", "bundled": true, - "dev": true + "dev": true, + "requires": { + "p-try": "^1.0.0" + } }, "p-locate": { "version": "2.0.0", @@ -1330,16 +1748,10 @@ "p-limit": "^1.1.0" } }, - "parse-glob": { - "version": "3.0.4", + "p-try": { + "version": "1.0.0", "bundled": true, - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - } + "dev": true }, "parse-json": { "version": "2.2.0", @@ -1349,6 +1761,11 @@ "error-ex": "^1.2.0" } }, + "pascalcase": { + "version": "0.1.1", + "bundled": true, + "dev": true + }, "path-exists": { "version": "2.1.0", "bundled": true, @@ -1419,8 +1836,8 @@ } } }, - "preserve": { - "version": "0.2.0", + "posix-character-classes": { + "version": "0.1.1", "bundled": true, "dev": true }, @@ -1429,43 +1846,6 @@ "bundled": true, "dev": true }, - "randomatic": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "read-pkg": { "version": "1.1.0", "bundled": true, @@ -1501,19 +1881,15 @@ "bundled": true, "dev": true }, - "regex-cache": { - "version": "0.4.4", + "regex-not": { + "version": "1.0.2", "bundled": true, "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, "repeat-element": { "version": "1.1.2", "bundled": true, @@ -1547,6 +1923,16 @@ "bundled": true, "dev": true }, + "resolve-url": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "ret": { + "version": "0.1.15", + "bundled": true, + "dev": true + }, "right-align": { "version": "0.1.3", "bundled": true, @@ -1564,16 +1950,45 @@ "glob": "^7.0.5" } }, - "semver": { - "version": "5.4.1", - "bundled": true, - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, + "safe-regex": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "set-value": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "shebang-command": { "version": "1.2.0", "bundled": true, @@ -1597,11 +2012,120 @@ "bundled": true, "dev": true }, + "snapdragon": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, "source-map": { "version": "0.5.7", "bundled": true, "dev": true }, + "source-map-resolve": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, "spawn-wrap": { "version": "1.4.2", "bundled": true, @@ -1616,23 +2140,60 @@ } }, "spdx-correct": { - "version": "1.0.2", + "version": "3.0.0", "bundled": true, "dev": true, "requires": { - "spdx-license-ids": "^1.0.2" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "spdx-expression-parse": { - "version": "1.0.4", + "spdx-exceptions": { + "version": "2.1.0", "bundled": true, "dev": true }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "spdx-license-ids": { - "version": "1.2.2", + "version": "3.0.0", "bundled": true, "dev": true }, + "split-string": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "static-extend": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "bundled": true, + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "string-width": { "version": "2.1.1", "bundled": true, @@ -1647,11 +2208,6 @@ "bundled": true, "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, "strip-ansi": { "version": "4.0.0", "bundled": true, @@ -1689,12 +2245,12 @@ "dev": true }, "test-exclude": { - "version": "4.1.1", + "version": "4.2.1", "bundled": true, "dev": true, "requires": { "arrify": "^1.0.1", - "micromatch": "^2.3.11", + "micromatch": "^3.1.8", "object-assign": "^4.1.0", "read-pkg-up": "^1.0.1", "require-main-filename": "^1.0.1" @@ -1705,6 +2261,34 @@ "bundled": true, "dev": true }, + "to-object-path": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, "trim-right": { "version": "1.0.1", "bundled": true, @@ -1741,13 +2325,101 @@ "dev": true, "optional": true }, + "union-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "bundled": true, + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "unset-value": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "bundled": true, + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "bundled": true, + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "bundled": true, + "dev": true + }, + "use": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "bundled": true, + "dev": true + } + } + }, "validate-npm-package-license": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "dev": true, "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { @@ -1783,6 +2455,14 @@ "strip-ansi": "^3.0.1" }, "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, "string-width": { "version": "1.0.2", "bundled": true, @@ -1821,11 +2501,11 @@ "dev": true }, "yargs": { - "version": "10.0.3", + "version": "11.1.0", "bundled": true, "dev": true, "requires": { - "cliui": "^3.2.0", + "cliui": "^4.0.0", "decamelize": "^1.1.1", "find-up": "^2.1.0", "get-caller-file": "^1.0.1", @@ -1836,35 +2516,49 @@ "string-width": "^2.0.0", "which-module": "^2.0.0", "y18n": "^3.2.1", - "yargs-parser": "^8.0.0" + "yargs-parser": "^9.0.2" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, "cliui": { - "version": "3.2.0", + "version": "4.1.0", "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } + } + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^4.1.0" } } } }, "yargs-parser": { - "version": "8.0.0", + "version": "8.1.0", "bundled": true, "dev": true, "requires": { @@ -1892,18 +2586,18 @@ } }, "sinon": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.3.0.tgz", - "integrity": "sha512-pmf05hFgEZUS52AGJcsVjOjqAyJW2yo14cOwVYvzCyw7+inv06YXkLyW75WG6X6p951lzkoKh51L2sNbR9CDvw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.0.1.tgz", + "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", "dev": true, "requires": { "@sinonjs/formatio": "^2.0.0", - "diff": "^3.1.0", + "diff": "^3.5.0", "lodash.get": "^4.4.2", - "lolex": "^2.2.0", - "nise": "^1.2.0", - "supports-color": "^5.1.0", - "type-detect": "^4.0.5" + "lolex": "^2.4.2", + "nise": "^1.3.3", + "supports-color": "^5.4.0", + "type-detect": "^4.0.8" } }, "string-width": { @@ -1943,6 +2637,17 @@ "which-module": "^2.0.0", "y18n": "^3.2.1", "yargs-parser": "^9.0.2" + }, + "dependencies": { + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } } } } @@ -3891,9 +4596,9 @@ }, "dependencies": { "mime-db": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz", - "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o=", + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", "dev": true } } @@ -4524,9 +5229,9 @@ "dev": true }, "escodegen": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.10.0.tgz", - "integrity": "sha512-fjUOf8johsv23WuIKdNQU4P9t9jhQ4Qzx6pC2uW890OloK3Zs1ZAoCNpg/2larNF501jLl3UNy0kIRcF6VI22g==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { "esprima": "^3.1.3", @@ -4826,9 +5531,9 @@ } }, "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "espurify": { @@ -5865,9 +6570,9 @@ } }, "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, "get-port": { @@ -6067,9 +6772,9 @@ } }, "got": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/got/-/got-8.2.0.tgz", - "integrity": "sha512-giadqJpXIwjY+ZsuWys8p2yjZGhOHiU4hiJHjS/oeCxw1u8vANQz3zPlrxW2Zw/siCXsSMI3hvzWGcnFyujyAg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.0.tgz", + "integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==", "dev": true, "requires": { "@sindresorhus/is": "^0.7.0", @@ -6082,7 +6787,7 @@ "isurl": "^1.0.0-alpha5", "lowercase-keys": "^1.0.0", "mimic-response": "^1.0.0", - "p-cancelable": "^0.3.0", + "p-cancelable": "^0.4.0", "p-timeout": "^2.0.1", "pify": "^3.0.0", "safe-buffer": "^5.1.1", @@ -8020,9 +8725,9 @@ "dev": true }, "mimic-response": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", - "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, "minimatch": { @@ -10493,9 +11198,9 @@ "dev": true }, "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", "dev": true }, "p-finally": { @@ -12039,9 +12744,9 @@ "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=" }, "superagent": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", - "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz", + "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", "dev": true, "requires": { "component-emitter": "^1.2.0", @@ -12049,11 +12754,11 @@ "debug": "^3.1.0", "extend": "^3.0.0", "form-data": "^2.3.1", - "formidable": "^1.2.0", + "formidable": "^1.1.1", "methods": "^1.1.1", "mime": "^1.4.1", "qs": "^6.5.1", - "readable-stream": "^2.3.5" + "readable-stream": "^2.0.5" }, "dependencies": { "mime": { @@ -12095,13 +12800,13 @@ } }, "supertest": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-3.0.0.tgz", - "integrity": "sha1-jUu2j9GDDuBwM7HFpamkAhyWUpY=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-3.1.0.tgz", + "integrity": "sha512-O44AMnmJqx294uJQjfUmEyYOg7d9mylNFsMw/Wkz4evKd1njyPrtCN+U6ZIC7sKtfEVQhfTqFFijlXx8KP/Czw==", "dev": true, "requires": { "methods": "~1.1.2", - "superagent": "^3.0.0" + "superagent": "3.8.2" } }, "supports-color": { @@ -12644,12 +13349,9 @@ "dev": true }, "use": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "requires": { - "kind-of": "^6.0.2" - } + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, "util-deprecate": { "version": "1.0.2", @@ -12863,9 +13565,9 @@ } }, "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { "camelcase": "^4.1.0" From e615639a6c8735314e32a6e52953583f99227cb1 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Tue, 17 Jul 2018 12:16:28 -0700 Subject: [PATCH 179/588] fix: npm link ../ before npm install (#125) --- packages/google-cloud-vision/.circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 2e40306876a..4b0c6b88fea 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -102,8 +102,8 @@ jobs: name: Link the module being tested to the samples. command: | cd samples/ - npm install npm link ../ + npm install environment: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: From adb9c91223d257a1693ef09995d3a995286e1cf4 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Tue, 17 Jul 2018 14:23:33 -0700 Subject: [PATCH 180/588] gen: v1p3beta1 of Cloud Vision API NodeJS Client Library (#124) * fix: synth.py should copy over all versions * gen: add version v1p3beta1 to synth.py * fix: run smoke-test * gen: Vision API v1p3beta1 googleapis/googleapis@78abf01 * style: npm run prettier --- packages/google-cloud-vision/package.json | 2 +- .../cloud/vision/v1p3beta1/geometry.proto | 76 + .../vision/v1p3beta1/image_annotator.proto | 801 +++++++ .../vision/v1p3beta1/product_search.proto | 161 ++ .../v1p3beta1/product_search_service.proto | 825 +++++++ .../vision/v1p3beta1/text_annotation.proto | 259 +++ .../vision/v1p3beta1/web_detection.proto | 105 + packages/google-cloud-vision/src/index.js | 8 + .../cloud/vision/v1p3beta1/doc_geometry.js | 112 + .../vision/v1p3beta1/doc_image_annotator.js | 1307 +++++++++++ .../vision/v1p3beta1/doc_product_search.js | 220 ++ .../v1p3beta1/doc_product_search_service.js | 827 +++++++ .../vision/v1p3beta1/doc_text_annotation.js | 392 ++++ .../vision/v1p3beta1/doc_web_detection.js | 151 ++ .../doc/google/longrunning/doc_operations.js | 147 ++ .../v1p3beta1/doc/google/protobuf/doc_any.js | 131 ++ .../doc/google/protobuf/doc_empty.js | 34 + .../doc/google/protobuf/doc_field_mask.js | 230 ++ .../doc/google/protobuf/doc_timestamp.js | 113 + .../doc/google/protobuf/doc_wrappers.js | 160 ++ .../v1p3beta1/doc/google/rpc/doc_status.js | 92 + .../v1p3beta1/doc/google/type/doc_color.js | 164 ++ .../v1p3beta1/doc/google/type/doc_latlng.js | 71 + .../src/v1p3beta1/image_annotator_client.js | 369 +++ .../image_annotator_client_config.json | 36 + .../src/v1p3beta1/index.js | 21 + .../src/v1p3beta1/product_search_client.js | 2056 +++++++++++++++++ .../product_search_client_config.json | 116 + packages/google-cloud-vision/synth.py | 5 +- .../system-test/image_annotator_smoke_test.js | 51 + .../test/gapic-v1p3beta1.js | 1455 ++++++++++++ 31 files changed, 10493 insertions(+), 4 deletions(-) create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json create mode 100644 packages/google-cloud-vision/src/v1p3beta1/index.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/product_search_client.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json create mode 100644 packages/google-cloud-vision/system-test/image_annotator_smoke_test.js create mode 100644 packages/google-cloud-vision/test/gapic-v1p3beta1.js diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 3055419da16..bcc6cac69ac 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -60,7 +60,7 @@ "lint": "eslint src/ samples/ system-test/ test/", "prettier": "prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js system-test/*.js system-test/*/*.js", "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", - "system-test": "mocha system-test/*.js --timeout 600000", + "system-test": "mocha system-test/*.js smoke-test/*.js --timeout 600000", "test-no-cover": "mocha test/*.js --no-timeouts", "test": "npm run cover" }, diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto new file mode 100644 index 00000000000..e3042b89d88 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto @@ -0,0 +1,76 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p3beta1; + +import "google/api/annotations.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "GeometryProto"; +option java_package = "com.google.cloud.vision.v1p3beta1"; + + +// A vertex represents a 2D point in the image. +// NOTE: the vertex coordinates are in the same scale as the original image. +message Vertex { + // X coordinate. + int32 x = 1; + + // Y coordinate. + int32 y = 2; +} + +// A vertex represents a 2D point in the image. +// NOTE: the normalized vertex coordinates are relative to the original image +// and range from 0 to 1. +message NormalizedVertex { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; +} + +// A bounding polygon for the detected image annotation. +message BoundingPoly { + // The bounding polygon vertices. + repeated Vertex vertices = 1; + + // The bounding polygon normalized vertices. + repeated NormalizedVertex normalized_vertices = 2; +} + +// A normalized bounding polygon around a portion of an image. +message NormalizedBoundingPoly { + // Normalized vertices of the bounding polygon. + repeated NormalizedVertex vertices = 1; +} + +// A 3D position in the image, used primarily for Face detection landmarks. +// A valid Position must have both x and y coordinates. +// The position coordinates are in the same scale as the original image. +message Position { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; + + // Z coordinate (or depth). + float z = 3; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto new file mode 100644 index 00000000000..ceb590176ef --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -0,0 +1,801 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p3beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p3beta1/geometry.proto"; +import "google/cloud/vision/v1p3beta1/product_search.proto"; +import "google/cloud/vision/v1p3beta1/text_annotation.proto"; +import "google/cloud/vision/v1p3beta1/web_detection.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/color.proto"; +import "google/type/latlng.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ImageAnnotatorProto"; +option java_package = "com.google.cloud.vision.v1p3beta1"; + + +// Service that performs Google Cloud Vision API detection tasks over client +// images, such as face, landmark, logo, label, and text detection. The +// ImageAnnotator service returns detected entities from the images. +service ImageAnnotator { + // Run image detection and annotation for a batch of images. + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { + option (google.api.http) = { + post: "/v1p3beta1/images:annotate" + body: "*" + }; + } + + // Run asynchronous image detection and annotation for a list of generic + // files, such as PDF files, which may contain multiple pages and multiple + // images per page. Progress and results can be retrieved through the + // `google.longrunning.Operations` interface. + // `Operation.metadata` contains `OperationMetadata` (metadata). + // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p3beta1/files:asyncBatchAnnotate" + body: "*" + }; + } +} + +// The type of Google Cloud Vision API detection to perform, and the maximum +// number of results to return for that type. Multiple `Feature` objects can +// be specified in the `features` list. +message Feature { + // Type of Google Cloud Vision API feature to be extracted. + enum Type { + // Unspecified feature type. + TYPE_UNSPECIFIED = 0; + + // Run face detection. + FACE_DETECTION = 1; + + // Run landmark detection. + LANDMARK_DETECTION = 2; + + // Run logo detection. + LOGO_DETECTION = 3; + + // Run label detection. + LABEL_DETECTION = 4; + + // Run text detection / optical character recognition (OCR). Text detection + // is optimized for areas of text within a larger image; if the image is + // a document, use `DOCUMENT_TEXT_DETECTION` instead. + TEXT_DETECTION = 5; + + // Run dense text document OCR. Takes precedence when both + // `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. + DOCUMENT_TEXT_DETECTION = 11; + + // Run Safe Search to detect potentially unsafe + // or undesirable content. + SAFE_SEARCH_DETECTION = 6; + + // Compute a set of image properties, such as the + // image's dominant colors. + IMAGE_PROPERTIES = 7; + + // Run crop hints. + CROP_HINTS = 9; + + // Run web detection. + WEB_DETECTION = 10; + + // Run Product Search. + PRODUCT_SEARCH = 12; + + // Run localizer for object detection. + OBJECT_LOCALIZATION = 19; + } + + // The feature type. + Type type = 1; + + // Maximum number of results of this type. Does not apply to + // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + int32 max_results = 2; + + // Model to use for the feature. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; +} + +// External image source (Google Cloud Storage or web URL image location). +message ImageSource { + // **Use `image_uri` instead.** + // + // The Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. See + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. + string gcs_image_uri = 1; + + // The URI of the source image. Can be either: + // + // 1. A Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. See + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris) for more + // info. + // + // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from + // HTTP/HTTPS URLs, Google cannot guarantee that the request will be + // completed. Your request may fail if the specified host denies the + // request (e.g. due to request throttling or DOS prevention), or if Google + // throttles requests to the site for abuse prevention. You should not + // depend on externally-hosted images for production applications. + // + // When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + // precedence. + string image_uri = 2; +} + +// Client image to perform Google Cloud Vision API tasks over. +message Image { + // Image content, represented as a stream of bytes. + // Note: As with all `bytes` fields, protobuffers use a pure binary + // representation, whereas JSON representations use base64. + bytes content = 1; + + // Google Cloud Storage image location, or publicly-accessible image + // URL. If both `content` and `source` are provided for an image, `content` + // takes precedence and is used to perform the image annotation request. + ImageSource source = 2; +} + +// A face annotation object contains the results of face detection. +message FaceAnnotation { + // A face-specific landmark (for example, a face feature). + message Landmark { + // Face landmark (feature) type. + // Left and right are defined from the vantage of the viewer of the image + // without considering mirror projections typical of photos. So, `LEFT_EYE`, + // typically, is the person's right eye. + enum Type { + // Unknown face landmark detected. Should not be filled. + UNKNOWN_LANDMARK = 0; + + // Left eye. + LEFT_EYE = 1; + + // Right eye. + RIGHT_EYE = 2; + + // Left of left eyebrow. + LEFT_OF_LEFT_EYEBROW = 3; + + // Right of left eyebrow. + RIGHT_OF_LEFT_EYEBROW = 4; + + // Left of right eyebrow. + LEFT_OF_RIGHT_EYEBROW = 5; + + // Right of right eyebrow. + RIGHT_OF_RIGHT_EYEBROW = 6; + + // Midpoint between eyes. + MIDPOINT_BETWEEN_EYES = 7; + + // Nose tip. + NOSE_TIP = 8; + + // Upper lip. + UPPER_LIP = 9; + + // Lower lip. + LOWER_LIP = 10; + + // Mouth left. + MOUTH_LEFT = 11; + + // Mouth right. + MOUTH_RIGHT = 12; + + // Mouth center. + MOUTH_CENTER = 13; + + // Nose, bottom right. + NOSE_BOTTOM_RIGHT = 14; + + // Nose, bottom left. + NOSE_BOTTOM_LEFT = 15; + + // Nose, bottom center. + NOSE_BOTTOM_CENTER = 16; + + // Left eye, top boundary. + LEFT_EYE_TOP_BOUNDARY = 17; + + // Left eye, right corner. + LEFT_EYE_RIGHT_CORNER = 18; + + // Left eye, bottom boundary. + LEFT_EYE_BOTTOM_BOUNDARY = 19; + + // Left eye, left corner. + LEFT_EYE_LEFT_CORNER = 20; + + // Right eye, top boundary. + RIGHT_EYE_TOP_BOUNDARY = 21; + + // Right eye, right corner. + RIGHT_EYE_RIGHT_CORNER = 22; + + // Right eye, bottom boundary. + RIGHT_EYE_BOTTOM_BOUNDARY = 23; + + // Right eye, left corner. + RIGHT_EYE_LEFT_CORNER = 24; + + // Left eyebrow, upper midpoint. + LEFT_EYEBROW_UPPER_MIDPOINT = 25; + + // Right eyebrow, upper midpoint. + RIGHT_EYEBROW_UPPER_MIDPOINT = 26; + + // Left ear tragion. + LEFT_EAR_TRAGION = 27; + + // Right ear tragion. + RIGHT_EAR_TRAGION = 28; + + // Left eye pupil. + LEFT_EYE_PUPIL = 29; + + // Right eye pupil. + RIGHT_EYE_PUPIL = 30; + + // Forehead glabella. + FOREHEAD_GLABELLA = 31; + + // Chin gnathion. + CHIN_GNATHION = 32; + + // Chin left gonion. + CHIN_LEFT_GONION = 33; + + // Chin right gonion. + CHIN_RIGHT_GONION = 34; + } + + // Face landmark type. + Type type = 3; + + // Face landmark position. + Position position = 4; + } + + // The bounding polygon around the face. The coordinates of the bounding box + // are in the original image's scale, as returned in `ImageParams`. + // The bounding box is computed to "frame" the face in accordance with human + // expectations. It is based on the landmarker results. + // Note that one or more x and/or y coordinates may not be generated in the + // `BoundingPoly` (the polygon will be unbounded) if only a partial face + // appears in the image to be annotated. + BoundingPoly bounding_poly = 1; + + // The `fd_bounding_poly` bounding polygon is tighter than the + // `boundingPoly`, and encloses only the skin part of the face. Typically, it + // is used to eliminate the face from any image analysis that detects the + // "amount of skin" visible in an image. It is not based on the + // landmarker results, only on the initial face detection, hence + // the fd (face detection) prefix. + BoundingPoly fd_bounding_poly = 2; + + // Detected face landmarks. + repeated Landmark landmarks = 3; + + // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + // of the face relative to the image vertical about the axis perpendicular to + // the face. Range [-180,180]. + float roll_angle = 4; + + // Yaw angle, which indicates the leftward/rightward angle that the face is + // pointing relative to the vertical plane perpendicular to the image. Range + // [-180,180]. + float pan_angle = 5; + + // Pitch angle, which indicates the upwards/downwards angle that the face is + // pointing relative to the image's horizontal plane. Range [-180,180]. + float tilt_angle = 6; + + // Detection confidence. Range [0, 1]. + float detection_confidence = 7; + + // Face landmarking confidence. Range [0, 1]. + float landmarking_confidence = 8; + + // Joy likelihood. + Likelihood joy_likelihood = 9; + + // Sorrow likelihood. + Likelihood sorrow_likelihood = 10; + + // Anger likelihood. + Likelihood anger_likelihood = 11; + + // Surprise likelihood. + Likelihood surprise_likelihood = 12; + + // Under-exposed likelihood. + Likelihood under_exposed_likelihood = 13; + + // Blurred likelihood. + Likelihood blurred_likelihood = 14; + + // Headwear likelihood. + Likelihood headwear_likelihood = 15; +} + +// Detected entity location information. +message LocationInfo { + // lat/long location coordinates. + google.type.LatLng lat_lng = 1; +} + +// A `Property` consists of a user-supplied name/value pair. +message Property { + // Name of the property. + string name = 1; + + // Value of the property. + string value = 2; + + // Value of numeric properties. + uint64 uint64_value = 3; +} + +// Set of detected entity features. +message EntityAnnotation { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). + string mid = 1; + + // The language code for the locale in which the entity textual + // `description` is expressed. + string locale = 2; + + // Entity textual description, expressed in its `locale` language. + string description = 3; + + // Overall score of the result. Range [0, 1]. + float score = 4; + + // **Deprecated. Use `score` instead.** + // The accuracy of the entity detection in an image. + // For example, for an image in which the "Eiffel Tower" entity is detected, + // this field represents the confidence that there is a tower in the query + // image. Range [0, 1]. + float confidence = 5; + + // The relevancy of the ICA (Image Content Annotation) label to the + // image. For example, the relevancy of "tower" is likely higher to an image + // containing the detected "Eiffel Tower" than to an image containing a + // detected distant towering building, even though the confidence that + // there is a tower in each image may be the same. Range [0, 1]. + float topicality = 6; + + // Image region to which this entity belongs. Not produced + // for `LABEL_DETECTION` features. + BoundingPoly bounding_poly = 7; + + // The location information for the detected entity. Multiple + // `LocationInfo` elements can be present because one location may + // indicate the location of the scene in the image, and another location + // may indicate the location of the place where the image was taken. + // Location information is usually present for landmarks. + repeated LocationInfo locations = 8; + + // Some entities may have optional user-supplied `Property` (name/value) + // fields, such a score or string that qualifies the entity. + repeated Property properties = 9; +} + +// Set of detected objects with bounding boxes. +message LocalizedObjectAnnotation { + // Object ID that should align with EntityAnnotation mid. + string mid = 1; + + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + + // Object name, expressed in its `language_code` language. + string name = 3; + + // Score of the result. Range [0, 1]. + float score = 4; + + // Image region to which this object belongs. This must be populated. + BoundingPoly bounding_poly = 5; +} + +// Set of features pertaining to the image, computed by computer vision +// methods over safe-search verticals (for example, adult, spoof, medical, +// violence). +message SafeSearchAnnotation { + // Represents the adult content likelihood for the image. Adult content may + // contain elements such as nudity, pornographic images or cartoons, or + // sexual activities. + Likelihood adult = 1; + + // Spoof likelihood. The likelihood that an modification + // was made to the image's canonical version to make it appear + // funny or offensive. + Likelihood spoof = 2; + + // Likelihood that this is a medical image. + Likelihood medical = 3; + + // Likelihood that this image contains violent content. + Likelihood violence = 4; + + // Likelihood that the request image contains racy content. Racy content may + // include (but is not limited to) skimpy or sheer clothing, strategically + // covered nudity, lewd or provocative poses, or close-ups of sensitive + // body areas. + Likelihood racy = 9; +} + +// Rectangle determined by min and max `LatLng` pairs. +message LatLongRect { + // Min lat/long pair. + google.type.LatLng min_lat_lng = 1; + + // Max lat/long pair. + google.type.LatLng max_lat_lng = 2; +} + +// Color information consists of RGB channels, score, and the fraction of +// the image that the color occupies in the image. +message ColorInfo { + // RGB components of the color. + google.type.Color color = 1; + + // Image-specific score for this color. Value in range [0, 1]. + float score = 2; + + // The fraction of pixels the color occupies in the image. + // Value in range [0, 1]. + float pixel_fraction = 3; +} + +// Set of dominant colors and their corresponding scores. +message DominantColorsAnnotation { + // RGB color values with their score and pixel fraction. + repeated ColorInfo colors = 1; +} + +// Stores image properties, such as dominant colors. +message ImageProperties { + // If present, dominant colors completed successfully. + DominantColorsAnnotation dominant_colors = 1; +} + +// Single crop hint that is used to generate a new crop when serving an image. +message CropHint { + // The bounding polygon for the crop region. The coordinates of the bounding + // box are in the original image's scale, as returned in `ImageParams`. + BoundingPoly bounding_poly = 1; + + // Confidence of this being a salient region. Range [0, 1]. + float confidence = 2; + + // Fraction of importance of this salient region with respect to the original + // image. + float importance_fraction = 3; +} + +// Set of crop hints that are used to generate new crops when serving images. +message CropHintsAnnotation { + // Crop hint results. + repeated CropHint crop_hints = 1; +} + +// Parameters for crop hints annotation request. +message CropHintsParams { + // Aspect ratios in floats, representing the ratio of the width to the height + // of the image. For example, if the desired aspect ratio is 4/3, the + // corresponding float value should be 1.33333. If not specified, the + // best possible crop is returned. The number of provided aspect ratios is + // limited to a maximum of 16; any aspect ratios provided after the 16th are + // ignored. + repeated float aspect_ratios = 1; +} + +// Parameters for web detection request. +message WebDetectionParams { + // Whether to include results derived from the geo information in the image. + bool include_geo_results = 2; +} + +// Image context and/or feature-specific parameters. +message ImageContext { + // Not used. + LatLongRect lat_long_rect = 1; + + // List of languages to use for TEXT_DETECTION. In most cases, an empty value + // yields the best results since it enables automatic language detection. For + // languages based on the Latin alphabet, setting `language_hints` is not + // needed. In rare cases, when the language of the text in the image is known, + // setting a hint will help get better results (although it will be a + // significant hindrance if the hint is wrong). Text detection returns an + // error if one or more of the specified languages is not one of the + // [supported languages](/vision/docs/languages). + repeated string language_hints = 2; + + // Parameters for crop hints annotation request. + CropHintsParams crop_hints_params = 4; + + // Parameters for product search. + google.cloud.vision.v1p3beta1.ProductSearchParams product_search_params = 5; + + // Parameters for web detection. + WebDetectionParams web_detection_params = 6; +} + +// Request for performing Google Cloud Vision API tasks over a user-provided +// image, with user-requested features. +message AnnotateImageRequest { + // The image to be processed. + Image image = 1; + + // Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image. + ImageContext image_context = 3; +} + +// If an image was produced from a file (e.g. a PDF), this message gives +// information about the source of that image. +message ImageAnnotationContext { + // The URI of the file used to produce the image. + string uri = 1; + + // If the file was a PDF or TIFF, this field gives the page number within + // the file used to produce the image. + int32 page_number = 2; +} + +// Response to an image annotation request. +message AnnotateImageResponse { + // If present, face detection has completed successfully. + repeated FaceAnnotation face_annotations = 1; + + // If present, landmark detection has completed successfully. + repeated EntityAnnotation landmark_annotations = 2; + + // If present, logo detection has completed successfully. + repeated EntityAnnotation logo_annotations = 3; + + // If present, label detection has completed successfully. + repeated EntityAnnotation label_annotations = 4; + + // If present, localized object detection has completed successfully. + // This will be sorted descending by confidence score. + repeated LocalizedObjectAnnotation localized_object_annotations = 22; + + // If present, text (OCR) detection has completed successfully. + repeated EntityAnnotation text_annotations = 5; + + // If present, text (OCR) detection or document (OCR) text detection has + // completed successfully. + // This annotation provides the structural hierarchy for the OCR detected + // text. + TextAnnotation full_text_annotation = 12; + + // If present, safe-search annotation has completed successfully. + SafeSearchAnnotation safe_search_annotation = 6; + + // If present, image properties were extracted successfully. + ImageProperties image_properties_annotation = 8; + + // If present, crop hints have completed successfully. + CropHintsAnnotation crop_hints_annotation = 11; + + // If present, web detection has completed successfully. + WebDetection web_detection = 13; + + // If present, product search has completed successfully. + google.cloud.vision.v1p3beta1.ProductSearchResults product_search_results = 14; + + // If set, represents the error message for the operation. + // Note that filled-in image annotations are guaranteed to be + // correct, even when `error` is set. + google.rpc.Status error = 9; + + // If present, contextual information is needed to understand where this image + // comes from. + ImageAnnotationContext context = 21; +} + +// Response to a single file annotation request. A file may contain one or more +// images, which individually have their own responses. +message AnnotateFileResponse { + // Information about the file for which this response is generated. + InputConfig input_config = 1; + + // Individual responses to images found within the file. + repeated AnnotateImageResponse responses = 2; +} + +// Multiple image annotation requests are batched into a single service call. +message BatchAnnotateImagesRequest { + // Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1; +} + +// Response to a batch image annotation request. +message BatchAnnotateImagesResponse { + // Individual responses to image annotation requests within the batch. + repeated AnnotateImageResponse responses = 1; +} + +// An offline file annotation request. +message AsyncAnnotateFileRequest { + // Required. Information about the input file. + InputConfig input_config = 1; + + // Required. Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image(s) in the file. + ImageContext image_context = 3; + + // Required. The desired output location and metadata (e.g. format). + OutputConfig output_config = 4; +} + +// The response for a single offline file annotation request. +message AsyncAnnotateFileResponse { + // The output location and metadata from AsyncAnnotateFileRequest. + OutputConfig output_config = 1; +} + +// Multiple async file annotation requests are batched into a single service +// call. +message AsyncBatchAnnotateFilesRequest { + // Individual async file annotation requests for this batch. + repeated AsyncAnnotateFileRequest requests = 1; +} + +// Response to an async batch file annotation request. +message AsyncBatchAnnotateFilesResponse { + // The list of file annotation responses, one for each request in + // AsyncBatchAnnotateFilesRequest. + repeated AsyncAnnotateFileResponse responses = 1; +}; + +// The desired input location and metadata. +message InputConfig { + // The Google Cloud Storage location to read the input from. + GcsSource gcs_source = 1; + + // The type of the file. Currently only "application/pdf" and "image/tiff" + // are supported. Wildcards are not supported. + string mime_type = 2; +} + +// The desired output location and metadata. +message OutputConfig { + // The Google Cloud Storage location to write the output(s) to. + GcsDestination gcs_destination = 1; + + // The max number of response protos to put into each output JSON file on + // Google Cloud Storage. + // The valid range is [1, 100]. If not specified, the default value is 20. + // + // For example, for one pdf file with 100 pages, 100 response protos will + // be generated. If `batch_size` = 20, then 5 json files each + // containing 20 response protos will be written under the prefix + // `gcs_destination`.`uri`. + // + // Currently, batch_size only applies to GcsDestination, with potential future + // support for other output configurations. + int32 batch_size = 2; +} + +// The Google Cloud Storage location where the input will be read from. +message GcsSource { + // Google Cloud Storage URI for the input file. This must only be a + // Google Cloud Storage object. Wildcards are not currently supported. + string uri = 1; +} + +// The Google Cloud Storage location where the output will be written to. +message GcsDestination { + // Google Cloud Storage URI where the results will be stored. Results will + // be in JSON format and preceded by its corresponding input URI. This field + // can either represent a single file, or a prefix for multiple outputs. + // Prefixes must end in a `/`. + // + // Examples: + // + // * File: gs://bucket-name/filename.json + // * Prefix: gs://bucket-name/prefix/here/ + // * File: gs://bucket-name/prefix/here + // + // If multiple outputs, each response is still AnnotateFileResponse, each of + // which contains some subset of the full list of AnnotateImageResponse. + // Multiple outputs can happen if, for example, the output JSON is too large + // and overflows into multiple sharded files. + string uri = 1; +} + +// A bucketized representation of likelihood, which is intended to give clients +// highly stable results across model upgrades. +enum Likelihood { + // Unknown likelihood. + UNKNOWN = 0; + + // It is very unlikely that the image belongs to the specified vertical. + VERY_UNLIKELY = 1; + + // It is unlikely that the image belongs to the specified vertical. + UNLIKELY = 2; + + // It is possible that the image belongs to the specified vertical. + POSSIBLE = 3; + + // It is likely that the image belongs to the specified vertical. + LIKELY = 4; + + // It is very likely that the image belongs to the specified vertical. + VERY_LIKELY = 5; +} + +// Contains metadata for the BatchAnnotateImages operation. +message OperationMetadata { + // Batch operation states. + enum State { + // Invalid. + STATE_UNSPECIFIED = 0; + + // Request is received. + CREATED = 1; + + // Request is actively being processed. + RUNNING = 2; + + // The batch processing is done. + DONE = 3; + + // The batch processing was cancelled. + CANCELLED = 4; + } + // Current state of the batch operation. + State state = 1; + + // The time when the batch request was received. + google.protobuf.Timestamp create_time = 5; + + // The time when the operation result was last updated. + google.protobuf.Timestamp update_time = 6; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto new file mode 100644 index 00000000000..85e4e0784e1 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto @@ -0,0 +1,161 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p3beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p3beta1/geometry.proto"; +import "google/cloud/vision/v1p3beta1/product_search_service.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ProductSearchProto"; +option java_package = "com.google.cloud.vision.v1p3beta1"; + + +// Parameters for a product search request. +message ProductSearchParams { + // The resource name of the catalog to search. + // + // Format is: `productSearch/catalogs/CATALOG_NAME`. + string catalog_name = 1; + + // The category to search in. + // Optional. It is inferred by the system if it is not specified. + // [Deprecated] Use `product_category`. + ProductSearchCategory category = 2; + + // The product category to search in. + // Optional. It is inferred by the system if it is not specified. + // Supported values are `bag`, `shoe`, `sunglasses`, `dress`, `outerwear`, + // `skirt`, `top`, `shorts`, and `pants`. + string product_category = 5; + + // The bounding polygon around the area of interest in the image. + // Optional. If it is not specified, system discretion will be applied. + // [Deprecated] Use `bounding_poly`. + NormalizedBoundingPoly normalized_bounding_poly = 3; + + // The bounding polygon around the area of interest in the image. + // Optional. If it is not specified, system discretion will be applied. + BoundingPoly bounding_poly = 9; + + // Specifies the verbosity of the product search results. + // Optional. Defaults to `BASIC`. + ProductSearchResultsView view = 4; + + // The resource name of a [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] to be searched for similar images. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + string product_set = 6; + + // The list of product categories to search in. Currently, we only consider + // the first category, and either "homegoods" or "apparel" should be + // specified. + repeated string product_categories = 7; + + // The filtering expression. This can be used to restrict search results based + // on Product labels. We currently support an AND of OR of key-value + // expressions, where each expression within an OR must have the same key. + // + // For example, "(color = red OR color = blue) AND brand = Google" is + // acceptable, but not "(color = red OR brand = Google)" or "color: red". + string filter = 8; +} + +// Results for a product search request. +message ProductSearchResults { + // Information about a product. + message ProductInfo { + // Product ID. + string product_id = 1; + + // The URI of the image which matched the query image. + // + // This field is returned only if `view` is set to `FULL` in + // the request. + string image_uri = 2; + + // A confidence level on the match, ranging from 0 (no confidence) to + // 1 (full confidence). + // + // This field is returned only if `view` is set to `FULL` in + // the request. + float score = 3; + } + + // Information about a product. + message Result { + // The Product. + Product product = 1; + + // A confidence level on the match, ranging from 0 (no confidence) to + // 1 (full confidence). + // + // This field is returned only if `view` is set to `FULL` in + // the request. + float score = 2; + + // The resource name of the image from the product that is the closest match + // to the query. + string image = 3; + } + + // Product category. + // [Deprecated] Use `product_category`. + ProductSearchCategory category = 1; + + // Product category. + // Supported values are `bag` and `shoe`. + // [Deprecated] `product_category` is provided in each Product. + string product_category = 4; + + // Timestamp of the index which provided these results. Changes made after + // this time are not reflected in the current results. + google.protobuf.Timestamp index_time = 2; + + // List of detected products. + repeated ProductInfo products = 3; + + // List of results, one for each product match. + repeated Result results = 5; +} + +// Supported product search categories. +enum ProductSearchCategory { + // Default value used when a category is not specified. + PRODUCT_SEARCH_CATEGORY_UNSPECIFIED = 0; + + // Shoes category. + SHOES = 1; + + // Bags category. + BAGS = 2; +} + +// Specifies the fields to include in product search results. +enum ProductSearchResultsView { + // Product search results contain only `product_category` and `product_id`. + // Default value. + BASIC = 0; + + // Product search results contain `product_category`, `product_id`, + // `image_uri`, and `score`. + FULL = 1; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto new file mode 100644 index 00000000000..90388e36e22 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto @@ -0,0 +1,825 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p3beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p3beta1/geometry.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ProductSearchServiceProto"; +option java_package = "com.google.cloud.vision.v1p3beta1"; + + +// Manages Products and ProductSets of reference images for use in product +// search. It uses the following resource model: +// +// - The API has a collection of [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] resources, named +// `projects/*/locations/*/productSets/*`, which acts as a way to put different +// products into groups to limit identification. +// +// In parallel, +// +// - The API has a collection of [Product][google.cloud.vision.v1p3beta1.Product] resources, named +// `projects/*/locations/*/products/*` +// +// - Each [Product][google.cloud.vision.v1p3beta1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1p3beta1.ReferenceImage] resources, named +// `projects/*/locations/*/products/*/referenceImages/*` +service ProductSearch { + // Creates and returns a new ProductSet resource. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + // 4096 characters. + rpc CreateProductSet(CreateProductSetRequest) returns (ProductSet) { + option (google.api.http) = { + post: "/v1p3beta1/{parent=projects/*/locations/*}/productSets" + body: "product_set" + }; + } + + // Lists ProductSets in an unspecified order. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + // than 1. + rpc ListProductSets(ListProductSetsRequest) returns (ListProductSetsResponse) { + option (google.api.http) = { + get: "/v1p3beta1/{parent=projects/*/locations/*}/productSets" + }; + } + + // Gets information associated with a ProductSet. + // + // Possible errors: + // + // * Returns NOT_FOUND if the ProductSet does not exist. + rpc GetProductSet(GetProductSetRequest) returns (ProductSet) { + option (google.api.http) = { + get: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" + }; + } + + // Makes changes to a ProductSet resource. + // Only display_name can be updated currently. + // + // Possible errors: + // + // * Returns NOT_FOUND if the ProductSet does not exist. + // * Returns INVALID_ARGUMENT if display_name is present in update_mask but + // missing from the request or longer than 4096 characters. + rpc UpdateProductSet(UpdateProductSetRequest) returns (ProductSet) { + option (google.api.http) = { + patch: "/v1p3beta1/{product_set.name=projects/*/locations/*/productSets/*}" + body: "product_set" + }; + } + + // Permanently deletes a ProductSet. All Products and ReferenceImages in the + // ProductSet will be deleted. + // + // The actual image files are not deleted from Google Cloud Storage. + // + // Possible errors: + // + // * Returns NOT_FOUND if the ProductSet does not exist. + rpc DeleteProductSet(DeleteProductSetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" + }; + } + + // Creates and returns a new product resource. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + // characters. + // * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + // * Returns INVALID_ARGUMENT if product_category is missing or invalid. + rpc CreateProduct(CreateProductRequest) returns (Product) { + option (google.api.http) = { + post: "/v1p3beta1/{parent=projects/*/locations/*}/products" + body: "product" + }; + } + + // Lists products in an unspecified order. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + rpc ListProducts(ListProductsRequest) returns (ListProductsResponse) { + option (google.api.http) = { + get: "/v1p3beta1/{parent=projects/*/locations/*}/products" + }; + } + + // Gets information associated with a Product. + // + // Possible errors: + // + // * Returns NOT_FOUND if the Product does not exist. + rpc GetProduct(GetProductRequest) returns (Product) { + option (google.api.http) = { + get: "/v1p3beta1/{name=projects/*/locations/*/products/*}" + }; + } + + // Makes changes to a Product resource. + // Only display_name, description and labels can be updated right now. + // + // If labels are updated, the change will not be reflected in queries until + // the next index time. + // + // Possible errors: + // + // * Returns NOT_FOUND if the Product does not exist. + // * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + // missing from the request or longer than 4096 characters. + // * Returns INVALID_ARGUMENT if description is present in update_mask but is + // longer than 4096 characters. + // * Returns INVALID_ARGUMENT if product_category is present in update_mask. + rpc UpdateProduct(UpdateProductRequest) returns (Product) { + option (google.api.http) = { + patch: "/v1p3beta1/{product.name=projects/*/locations/*/products/*}" + body: "product" + }; + } + + // Permanently deletes a product and its reference images. + // + // Metadata of the product and all its images will be deleted right away, but + // search queries against ProductSets containing the product may still work + // until all related caches are refreshed. + // + // Possible errors: + // + // * Returns NOT_FOUND if the product does not exist. + rpc DeleteProduct(DeleteProductRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1p3beta1/{name=projects/*/locations/*/products/*}" + }; + } + + // Creates and returns a new ReferenceImage resource. + // + // The `bounding_poly` field is optional. If `bounding_poly` is not specified, + // the system will try to detect regions of interest in the image that are + // compatible with the product_category on the parent product. If it is + // specified, detection is ALWAYS skipped. The system converts polygons into + // non-rotated rectangles. + // + // Note that the pipeline will resize the image if the image resolution is too + // large to process (above 50MP). + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + // characters. + // * Returns INVALID_ARGUMENT if the product does not exist. + // * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + // compatible with the parent product's product_category is detected. + // * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + rpc CreateReferenceImage(CreateReferenceImageRequest) returns (ReferenceImage) { + option (google.api.http) = { + post: "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + body: "reference_image" + }; + } + + // Permanently deletes a reference image. + // + // The image metadata will be deleted right away, but search queries + // against ProductSets containing the image may still work until all related + // caches are refreshed. + // + // The actual image files are not deleted from Google Cloud Storage. + // + // Possible errors: + // + // * Returns NOT_FOUND if the reference image does not exist. + rpc DeleteReferenceImage(DeleteReferenceImageRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + }; + } + + // Lists reference images. + // + // Possible errors: + // + // * Returns NOT_FOUND if the parent product does not exist. + // * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + // than 1. + rpc ListReferenceImages(ListReferenceImagesRequest) returns (ListReferenceImagesResponse) { + option (google.api.http) = { + get: "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + }; + } + + // Gets information associated with a ReferenceImage. + // + // Possible errors: + // + // * Returns NOT_FOUND if the specified image does not exist. + rpc GetReferenceImage(GetReferenceImageRequest) returns (ReferenceImage) { + option (google.api.http) = { + get: "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + }; + } + + // Adds a Product to the specified ProductSet. If the Product is already + // present, no change is made. + // + // One Product can be added to at most 100 ProductSets. + // + // Possible errors: + // + // * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + rpc AddProductToProductSet(AddProductToProductSetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:addProduct" + body: "*" + }; + } + + // Removes a Product from the specified ProductSet. + // + // Possible errors: + // + // * Returns NOT_FOUND If the Product is not found under the ProductSet. + rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:removeProduct" + body: "*" + }; + } + + // Lists the Products in a ProductSet, in an unspecified order. If the + // ProductSet does not exist, the products field of the response will be + // empty. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + rpc ListProductsInProductSet(ListProductsInProductSetRequest) returns (ListProductsInProductSetResponse) { + option (google.api.http) = { + get: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}/products" + }; + } + + // Asynchronous API that imports a list of reference images to specified + // product sets based on a list of image information. + // + // The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the + // progress and results of the request. + // `Operation.metadata` contains `BatchOperationMetadata`. (progress) + // `Operation.response` contains `ImportProductSetsResponse`. (results) + // + // The input source of this method is a csv file on Google Cloud Storage. + // For the format of the csv file please see + // [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri]. + rpc ImportProductSets(ImportProductSetsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p3beta1/{parent=projects/*/locations/*}/productSets:import" + body: "*" + }; + } +} + +// A Product contains ReferenceImages. +message Product { + // A product label represented as a key-value pair. + message KeyValue { + // The key of the label attached to the product. Cannot be empty and cannot + // exceed 128 bytes. + string key = 1; + + // The value of the label attached to the product. Cannot be empty and + // cannot exceed 128 bytes. + string value = 2; + } + + // The resource name of the product. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + // + // This field is ignored when creating a product. + string name = 1; + + // The user-provided name for this Product. Must not be empty. Must be at most + // 4096 characters long. + string display_name = 2; + + // User-provided metadata to be stored with this product. Must be at most 4096 + // characters long. + string description = 3; + + // The category for the product identified by the reference image. This should + // be either "homegoods" or "apparel". + // + // This field is immutable. + string product_category = 4; + + // Key-value pairs that can be attached to a product. At query time, + // constraints can be specified based on the product_labels. + // + // Note that integer values can be provided as strings, e.g. "1199". Only + // strings with integer values can match a range-based restriction which is + // to be supported soon. + // + // Multiple values can be assigned to the same key. One product may have up to + // 100 product_labels. + repeated KeyValue product_labels = 5; +} + +// A ProductSet contains Products. A ProductSet can contain a maximum of 1 +// million reference images. If the limit is exceeded, periodic indexing will +// fail. +message ProductSet { + // The resource name of the ProductSet. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + // + // This field is ignored when creating a ProductSet. + string name = 1; + + // The user-provided name for this ProductSet. Must not be empty. Must be at + // most 4096 characters long. + string display_name = 2; + + // Output only. The time at which this ProductSet was last indexed. Query + // results will reflect all updates before this time. If this ProductSet has + // never been indexed, this field is 0. + // + // This field is ignored when creating a ProductSet. + google.protobuf.Timestamp index_time = 3; + + // Output only. If there was an error with indexing the product set, the field + // is populated. + // + // This field is ignored when creating a ProductSet. + google.rpc.Status index_error = 4; +} + +// A `ReferenceImage` represents a product image and its associated metadata, +// such as bounding boxes. +message ReferenceImage { + // The resource name of the reference image. + // + // Format is: + // + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + // + // This field is ignored when creating a reference image. + string name = 1; + + // The Google Cloud Storage URI of the reference image. + // + // The URI must start with `gs://`. + // + // Required. + string uri = 2; + + // Bounding polygons around the areas of interest in the reference image. + // Optional. If this field is empty, the system will try to detect regions of + // interest. At most 10 bounding polygons will be used. + // + // The provided shape is converted into a non-rotated rectangle. Once + // converted, the small edge of the rectangle must be greater than or equal + // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 + // is not). + repeated BoundingPoly bounding_polys = 3; +} + +// Request message for the `CreateProduct` method. +message CreateProductRequest { + // The project in which the Product should be created. + // + // Format is + // `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The product to create. + Product product = 2; + + // A user-supplied resource id for this Product. If set, the server will + // attempt to use this value as the resource id. If it is already in use, an + // error is returned with code ALREADY_EXISTS. Must be at most 128 characters + // long. It cannot contain the character `/`. + string product_id = 3; +} + +// Request message for the `ListProducts` method. +message ListProductsRequest { + // The project OR ProductSet from which Products should be listed. + // + // Format: + // `projects/PROJECT_ID/locations/LOC_ID` + string parent = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string page_token = 3; +} + +// Response message for the `ListProducts` method. +message ListProductsResponse { + // List of products. + repeated Product products = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// Request message for the `GetProduct` method. +message GetProductRequest { + // Resource name of the Product to get. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string name = 1; +} + +// Request message for the `UpdateProduct` method. +message UpdateProductRequest { + // The Product resource which replaces the one on the server. + // product.name is immutable. + Product product = 1; + + // The [FieldMask][google.protobuf.FieldMask] that specifies which fields + // to update. + // If update_mask isn't specified, all mutable fields are to be updated. + // Valid mask paths include `product_labels`, `display_name` and + // `description`. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the `DeleteProduct` method. +message DeleteProductRequest { + // Resource name of product to delete. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string name = 1; +} + +// Request message for the `CreateProductSet` method. +message CreateProductSetRequest { + // The project in which the ProductSet should be created. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The ProductSet to create. + ProductSet product_set = 2; + + // A user-supplied resource id for this ProductSet. If set, the server will + // attempt to use this value as the resource id. If it is already in use, an + // error is returned with code ALREADY_EXISTS. Must be at most 128 characters + // long. It cannot contain the character `/`. + string product_set_id = 3; +} + +// Request message for the `ListProductSets` method. +message ListProductSetsRequest { + // The project from which ProductSets should be listed. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string page_token = 3; +} + +// Response message for the `ListProductSets` method. +message ListProductSetsResponse { + // List of ProductSets. + repeated ProductSet product_sets = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// Request message for the `GetProductSet` method. +message GetProductSetRequest { + // Resource name of the ProductSet to get. + // + // Format is: + // `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + string name = 1; +} + +// Request message for the `UpdateProductSet` method. +message UpdateProductSetRequest { + // The ProductSet resource which replaces the one on the server. + ProductSet product_set = 1; + + // The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + // update. + // If update_mask isn't specified, all mutable fields are to be updated. + // Valid mask path is `display_name`. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the `DeleteProductSet` method. +message DeleteProductSetRequest { + // Resource name of the ProductSet to delete. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; +} + +// Request message for the `CreateReferenceImage` method. +message CreateReferenceImageRequest { + // Resource name of the product in which to create the reference image. + // + // Format is + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + string parent = 1; + + // The reference image to create. + // If an image ID is specified, it is ignored. + ReferenceImage reference_image = 2; + + // A user-supplied resource id for the ReferenceImage to be added. If set, + // the server will attempt to use this value as the resource id. If it is + // already in use, an error is returned with code ALREADY_EXISTS. Must be at + // most 128 characters long. It cannot contain the character `/`. + string reference_image_id = 3; +} + +// Request message for the `ListReferenceImages` method. +message ListReferenceImagesRequest { + // Resource name of the product containing the reference images. + // + // Format is + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + string parent = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // A token identifying a page of results to be returned. This is the value + // of `nextPageToken` returned in a previous reference image list request. + // + // Defaults to the first page if not specified. + string page_token = 3; +} + +// Response message for the `ListReferenceImages` method. +message ListReferenceImagesResponse { + // The list of reference images. + repeated ReferenceImage reference_images = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string next_page_token = 3; +} + +// Request message for the `GetReferenceImage` method. +message GetReferenceImageRequest { + // The resource name of the ReferenceImage to get. + // + // Format is: + // + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + string name = 1; +} + +// Request message for the `DeleteReferenceImage` method. +message DeleteReferenceImageRequest { + // The resource name of the reference image to delete. + // + // Format is: + // + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + string name = 1; +} + +// Request message for the `AddProductToProductSet` method. +message AddProductToProductSetRequest { + // The resource name for the ProductSet to modify. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; + + // The resource name for the Product to be added to this ProductSet. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string product = 2; +} + +// Request message for the `RemoveProductFromProductSet` method. +message RemoveProductFromProductSetRequest { + // The resource name for the ProductSet to modify. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; + + // The resource name for the Product to be removed from this ProductSet. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string product = 2; +} + +// Request message for the `ListProductsInProductSet` method. +message ListProductsInProductSetRequest { + // The ProductSet resource for which to retrieve Products. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string page_token = 3; +} + +// Response message for the `ListProductsInProductSet` method. +message ListProductsInProductSetResponse { + // The list of Products. + repeated Product products = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The Google Cloud Storage location for a csv file which preserves a list of +// ImportProductSetRequests in each line. +message ImportProductSetsGcsSource { + // The Google Cloud Storage URI of the input csv file. + // + // The URI must start with gs:// + // + // The format of the input csv file should be one image per line. + // In each line, there are 6 columns. + // 1. image_uri + // 2, image_id + // 3. product_set_id + // 4. product_id + // 5, product_category + // 6, product_display_name + // 7, labels + // 8. bounding_poly + // + // Columns 1, 3, 4, and 5 are required, other columns are optional. A new + // ProductSet/Product with the same id will be created on the fly + // if the ProductSet/Product specified by product_set_id/product_id does not + // exist. + // + // The image_id field is optional but has to be unique if provided. If it is + // empty, we will automatically assign an unique id to the image. + // + // The product_display_name field is optional. If it is empty, a space (" ") + // is used as the place holder for the product display_name, which can + // be updated later through the realtime API. + // + // If the Product with product_id already exists, the fields + // product_display_name, product_category and labels are ignored. + // + // If a Product doesn't exist and needs to be created on the fly, the + // product_display_name field refers to [Product.display_name][google.cloud.vision.v1p3beta1.Product.display_name], the + // product_category field refers to [Product.product_category][google.cloud.vision.v1p3beta1.Product.product_category], and the + // labels field refers to [Product.labels][]. + // + // Labels (optional) should be a line containing a list of comma-separated + // key-value pairs, with the format + // "key_1=value_1,key_2=value_2,...,key_n=value_n". + // + // The bounding_poly (optional) field is used to identify one region of + // interest from the image in the same manner as CreateReferenceImage. If no + // bounding_poly is specified, the system will try to detect regions of + // interest automatically. + // + // Note that the pipeline will resize the image if the image resolution is too + // large to process (above 20MP). + // + // Also note that at most one bounding_poly is allowed per line. If the image + // contains multiple regions of interest, the csv should contain one line per + // region of interest. + // + // The bounding_poly column should contain an even number of comma-separated + // numbers, with the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Nonnegative + // integers should be used for absolute bounding polygons, and float values + // in [0, 1] should be used for normalized bounding polygons. + string csv_file_uri = 1; +} + +// The input content for the `ImportProductSets` method. +message ImportProductSetsInputConfig { + // The source of the input. + oneof source { + // The Google Cloud Storage location for a csv file which preserves a list + // of ImportProductSetRequests in each line. + ImportProductSetsGcsSource gcs_source = 1; + } +} + +// Request message for the `ImportProductSets` method. +message ImportProductSetsRequest { + // The project in which the ProductSets should be imported. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The input content for the list of requests. + ImportProductSetsInputConfig input_config = 2; +} + +// Response message for the `ImportProductSets` method. +// +// This message is returned by the +// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned +// [google.longrunning.Operation.response][google.longrunning.Operation.response] field. +message ImportProductSetsResponse { + // The list of reference_images that are imported successfully. + repeated ReferenceImage reference_images = 1; + + // The rpc status for each ImportProductSet request, including both successes + // and errors. + // + // The number of statuses here matches the number of lines in the csv file, + // and statuses[i] stores the success or failure status of processing the i-th + // line of the csv, starting from line 0. + repeated google.rpc.Status statuses = 2; +} + +// Metadata for the batch operations such as the current state. +// +// This is included in the `metadata` field of the `Operation` returned by the +// `GetOperation` call of the `google::longrunning::Operations` service. +message BatchOperationMetadata { + // Enumerates the possible states that the batch request can be in. + enum State { + // Invalid. + STATE_UNSPECIFIED = 0; + + // Request is actively being processed. + PROCESSING = 1; + + // The request is done and at least one item has been successfully + // processed. + SUCCESSFUL = 2; + + // The request is done and no item has been successfully processed. + FAILED = 3; + + // The request is done after the longrunning.Operations.CancelOperation has + // been called by the user. Any records that were processed before the + // cancel command are output as specified in the request. + CANCELLED = 4; + } + + // The current state of the batch operation. + State state = 1; + + // The time when the batch request was submitted to the server. + google.protobuf.Timestamp submit_time = 2; + + // The time when the batch request is finished and + // [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to true. + google.protobuf.Timestamp end_time = 3; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto new file mode 100644 index 00000000000..0856b7f95a4 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto @@ -0,0 +1,259 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p3beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p3beta1/geometry.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "TextAnnotationProto"; +option java_package = "com.google.cloud.vision.v1p3beta1"; + + +// TextAnnotation contains a structured representation of OCR extracted text. +// The hierarchy of an OCR extracted text structure is like this: +// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol +// Each structural component, starting from Page, may further have their own +// properties. Properties describe detected languages, breaks etc.. Please refer +// to the [TextAnnotation.TextProperty][google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty] message definition below for more +// detail. +message TextAnnotation { + // Detected language for a structural component. + message DetectedLanguage { + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 1; + + // Confidence of detected language. Range [0, 1]. + float confidence = 2; + } + + // Detected start or end of a structural component. + message DetectedBreak { + // Enum to denote the type of break found. New line, space etc. + enum BreakType { + // Unknown break label type. + UNKNOWN = 0; + + // Regular space. + SPACE = 1; + + // Sure space (very wide). + SURE_SPACE = 2; + + // Line-wrapping break. + EOL_SURE_SPACE = 3; + + // End-line hyphen that is not present in text; does not co-occur with + // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. + HYPHEN = 4; + + // Line break that ends a paragraph. + LINE_BREAK = 5; + } + + // Detected break type. + BreakType type = 1; + + // True if break prepends the element. + bool is_prefix = 2; + } + + // Additional information detected on the structural component. + message TextProperty { + // A list of detected languages together with confidence. + repeated DetectedLanguage detected_languages = 1; + + // Detected start or end of a text segment. + DetectedBreak detected_break = 2; + } + + // List of pages detected by OCR. + repeated Page pages = 1; + + // UTF-8 text detected on the pages. + string text = 2; +} + +// Detected page from OCR. +message Page { + // Additional information detected on the page. + TextAnnotation.TextProperty property = 1; + + // Page width. For PDFs the unit is points. For images (including + // TIFFs) the unit is pixels. + int32 width = 2; + + // Page height. For PDFs the unit is points. For images (including + // TIFFs) the unit is pixels. + int32 height = 3; + + // List of blocks of text, images etc on this page. + repeated Block blocks = 4; + + // Confidence of the OCR results on the page. Range [0, 1]. + float confidence = 5; +} + +// Logical element on the page. +message Block { + // Type of a block (text, image etc) as identified by OCR. + enum BlockType { + // Unknown block type. + UNKNOWN = 0; + + // Regular text block. + TEXT = 1; + + // Table block. + TABLE = 2; + + // Image block. + PICTURE = 3; + + // Horizontal/vertical line box. + RULER = 4; + + // Barcode block. + BARCODE = 5; + } + + // Additional information detected for the block. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the block. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // + // * when the text is horizontal it might look like: + // + // 0----1 + // | | + // 3----2 + // + // * when it's rotated 180 degrees around the top-left corner it becomes: + // + // 2----3 + // | | + // 1----0 + // + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of paragraphs in this block (if this blocks is of type text). + repeated Paragraph paragraphs = 3; + + // Detected block type (text, image etc) for this block. + BlockType block_type = 4; + + // Confidence of the OCR results on the block. Range [0, 1]. + float confidence = 5; +} + +// Structural unit of text representing a number of words in certain order. +message Paragraph { + // Additional information detected for the paragraph. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the paragraph. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of words in this paragraph. + repeated Word words = 3; + + // Confidence of the OCR results for the paragraph. Range [0, 1]. + float confidence = 4; +} + +// A word representation. +message Word { + // Additional information detected for the word. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the word. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of symbols in the word. + // The order of the symbols follows the natural reading order. + repeated Symbol symbols = 3; + + // Confidence of the OCR results for the word. Range [0, 1]. + float confidence = 4; +} + +// A single symbol representation. +message Symbol { + // Additional information detected for the symbol. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the symbol. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // The actual UTF-8 representation of the symbol. + string text = 3; + + // Confidence of the OCR results for the symbol. Range [0, 1]. + float confidence = 4; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto new file mode 100644 index 00000000000..ac63b3b8dff --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto @@ -0,0 +1,105 @@ +// Copyright 2018 Google Inc. +// +// 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.cloud.vision.v1p3beta1; + +import "google/api/annotations.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "WebDetectionProto"; +option java_package = "com.google.cloud.vision.v1p3beta1"; + + +// Relevant information for the image from the Internet. +message WebDetection { + // Entity deduced from similar images on the Internet. + message WebEntity { + // Opaque entity ID. + string entity_id = 1; + + // Overall relevancy score for the entity. + // Not normalized and not comparable across different image queries. + float score = 2; + + // Canonical description of the entity, in English. + string description = 3; + } + + // Metadata for online images. + message WebImage { + // The result image URL. + string url = 1; + + // (Deprecated) Overall relevancy score for the image. + float score = 2; + } + + // Metadata for web pages. + message WebPage { + // The result web page URL. + string url = 1; + + // (Deprecated) Overall relevancy score for the web page. + float score = 2; + + // Title for the web page, may contain HTML markups. + string page_title = 3; + + // Fully matching images on the page. + // Can include resized copies of the query image. + repeated WebImage full_matching_images = 4; + + // Partial matching images on the page. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its + // crops. + repeated WebImage partial_matching_images = 5; + } + + // Label to provide extra metadata for the web detection. + message WebLabel { + // Label for extra metadata. + string label = 1; + + // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + } + + // Deduced entities from similar images on the Internet. + repeated WebEntity web_entities = 1; + + // Fully matching images from the Internet. + // Can include resized copies of the query image. + repeated WebImage full_matching_images = 2; + + // Partial matching images from the Internet. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its crops. + repeated WebImage partial_matching_images = 3; + + // Web pages containing the matching images from the Internet. + repeated WebPage pages_with_matching_images = 4; + + // The visually similar image results. + repeated WebImage visually_similar_images = 6; + + // Best guess text labels for the request image. + repeated WebLabel best_guess_labels = 8; +} diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 74c0d5c391e..6bf6d1bfbfa 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -46,6 +46,7 @@ const gapic = Object.freeze({ v1: require('./v1'), v1p1beta1: require('./v1p1beta1'), v1p2beta1: require('./v1p2beta1'), + v1p3beta1: require('./v1p3beta1'), }); // Augment the SpeechClient objects with the helpers. @@ -103,5 +104,12 @@ module.exports.v1p1beta1 = gapic.v1p1beta1; */ module.exports.v1p2beta1 = gapic.v1p2beta1; +/** + * @type {object} + * @property {constructor} ImageAnnotatorClient + * Reference to {@link v1p3beta1.ImageAnnotatorClient} + */ +module.exports.v1p3beta1 = gapic.v1p3beta1; + // Alias `module.exports` as `module.exports.default`, for future-proofing. module.exports.default = Object.assign({}, module.exports); diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js new file mode 100644 index 00000000000..d71d4054d1b --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js @@ -0,0 +1,112 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A vertex represents a 2D point in the image. + * NOTE: the vertex coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @typedef Vertex + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} + */ +var Vertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A vertex represents a 2D point in the image. + * NOTE: the normalized vertex coordinates are relative to the original image + * and range from 0 to 1. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @typedef NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} + */ +var NormalizedVertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A bounding polygon for the detected image annotation. + * + * @property {Object[]} vertices + * The bounding polygon vertices. + * + * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1p3beta1.Vertex} + * + * @property {Object[]} normalizedVertices + * The bounding polygon normalized vertices. + * + * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1p3beta1.NormalizedVertex} + * + * @typedef BoundingPoly + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} + */ +var BoundingPoly = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A normalized bounding polygon around a portion of an image. + * + * @property {Object[]} vertices + * Normalized vertices of the bounding polygon. + * + * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1p3beta1.NormalizedVertex} + * + * @typedef NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.NormalizedBoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} + */ +var NormalizedBoundingPoly = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A 3D position in the image, used primarily for Face detection landmarks. + * A valid Position must have both x and y coordinates. + * The position coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @property {number} z + * Z coordinate (or depth). + * + * @typedef Position + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} + */ +var Position = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js new file mode 100644 index 00000000000..2a119fb46ec --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js @@ -0,0 +1,1307 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * The type of Google Cloud Vision API detection to perform, and the maximum + * number of results to return for that type. Multiple `Feature` objects can + * be specified in the `features` list. + * + * @property {number} type + * The feature type. + * + * The number should be among the values of [Type]{@link google.cloud.vision.v1p3beta1.Type} + * + * @property {number} maxResults + * Maximum number of results of this type. Does not apply to + * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + * + * @property {string} model + * Model to use for the feature. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef Feature + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var Feature = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of Google Cloud Vision API feature to be extracted. + * + * @enum {number} + * @memberof google.cloud.vision.v1p3beta1 + */ + Type: { + + /** + * Unspecified feature type. + */ + TYPE_UNSPECIFIED: 0, + + /** + * Run face detection. + */ + FACE_DETECTION: 1, + + /** + * Run landmark detection. + */ + LANDMARK_DETECTION: 2, + + /** + * Run logo detection. + */ + LOGO_DETECTION: 3, + + /** + * Run label detection. + */ + LABEL_DETECTION: 4, + + /** + * Run text detection / optical character recognition (OCR). Text detection + * is optimized for areas of text within a larger image; if the image is + * a document, use `DOCUMENT_TEXT_DETECTION` instead. + */ + TEXT_DETECTION: 5, + + /** + * Run dense text document OCR. Takes precedence when both + * `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. + */ + DOCUMENT_TEXT_DETECTION: 11, + + /** + * Run Safe Search to detect potentially unsafe + * or undesirable content. + */ + SAFE_SEARCH_DETECTION: 6, + + /** + * Compute a set of image properties, such as the + * image's dominant colors. + */ + IMAGE_PROPERTIES: 7, + + /** + * Run crop hints. + */ + CROP_HINTS: 9, + + /** + * Run web detection. + */ + WEB_DETECTION: 10, + + /** + * Run Product Search. + */ + PRODUCT_SEARCH: 12, + + /** + * Run localizer for object detection. + */ + OBJECT_LOCALIZATION: 19 + } +}; + +/** + * External image source (Google Cloud Storage or web URL image location). + * + * @property {string} gcsImageUri + * **Use `image_uri` instead.** + * + * The Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. + * + * @property {string} imageUri + * The URI of the source image. Can be either: + * + * 1. A Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. + * + * 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from + * HTTP/HTTPS URLs, Google cannot guarantee that the request will be + * completed. Your request may fail if the specified host denies the + * request (e.g. due to request throttling or DOS prevention), or if Google + * throttles requests to the site for abuse prevention. You should not + * depend on externally-hosted images for production applications. + * + * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + * precedence. + * + * @typedef ImageSource + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var ImageSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Client image to perform Google Cloud Vision API tasks over. + * + * @property {string} content + * Image content, represented as a stream of bytes. + * Note: As with all `bytes` fields, protobuffers use a pure binary + * representation, whereas JSON representations use base64. + * + * @property {Object} source + * Google Cloud Storage image location, or publicly-accessible image + * URL. If both `content` and `source` are provided for an image, `content` + * takes precedence and is used to perform the image annotation request. + * + * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1p3beta1.ImageSource} + * + * @typedef Image + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var Image = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A face annotation object contains the results of face detection. + * + * @property {Object} boundingPoly + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale, as returned in `ImageParams`. + * The bounding box is computed to "frame" the face in accordance with human + * expectations. It is based on the landmarker results. + * Note that one or more x and/or y coordinates may not be generated in the + * `BoundingPoly` (the polygon will be unbounded) if only a partial face + * appears in the image to be annotated. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @property {Object} fdBoundingPoly + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, it + * is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence + * the fd (face detection) prefix. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @property {Object[]} landmarks + * Detected face landmarks. + * + * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1p3beta1.Landmark} + * + * @property {number} rollAngle + * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + * of the face relative to the image vertical about the axis perpendicular to + * the face. Range [-180,180]. + * + * @property {number} panAngle + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + * + * @property {number} tiltAngle + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + * + * @property {number} detectionConfidence + * Detection confidence. Range [0, 1]. + * + * @property {number} landmarkingConfidence + * Face landmarking confidence. Range [0, 1]. + * + * @property {number} joyLikelihood + * Joy likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} sorrowLikelihood + * Sorrow likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} angerLikelihood + * Anger likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} surpriseLikelihood + * Surprise likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} underExposedLikelihood + * Under-exposed likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} blurredLikelihood + * Blurred likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} headwearLikelihood + * Headwear likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @typedef FaceAnnotation + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var FaceAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * A face-specific landmark (for example, a face feature). + * + * @property {number} type + * Face landmark type. + * + * The number should be among the values of [Type]{@link google.cloud.vision.v1p3beta1.Type} + * + * @property {Object} position + * Face landmark position. + * + * This object should have the same structure as [Position]{@link google.cloud.vision.v1p3beta1.Position} + * + * @typedef Landmark + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ + Landmark: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Face landmark (feature) type. + * Left and right are defined from the vantage of the viewer of the image + * without considering mirror projections typical of photos. So, `LEFT_EYE`, + * typically, is the person's right eye. + * + * @enum {number} + * @memberof google.cloud.vision.v1p3beta1 + */ + Type: { + + /** + * Unknown face landmark detected. Should not be filled. + */ + UNKNOWN_LANDMARK: 0, + + /** + * Left eye. + */ + LEFT_EYE: 1, + + /** + * Right eye. + */ + RIGHT_EYE: 2, + + /** + * Left of left eyebrow. + */ + LEFT_OF_LEFT_EYEBROW: 3, + + /** + * Right of left eyebrow. + */ + RIGHT_OF_LEFT_EYEBROW: 4, + + /** + * Left of right eyebrow. + */ + LEFT_OF_RIGHT_EYEBROW: 5, + + /** + * Right of right eyebrow. + */ + RIGHT_OF_RIGHT_EYEBROW: 6, + + /** + * Midpoint between eyes. + */ + MIDPOINT_BETWEEN_EYES: 7, + + /** + * Nose tip. + */ + NOSE_TIP: 8, + + /** + * Upper lip. + */ + UPPER_LIP: 9, + + /** + * Lower lip. + */ + LOWER_LIP: 10, + + /** + * Mouth left. + */ + MOUTH_LEFT: 11, + + /** + * Mouth right. + */ + MOUTH_RIGHT: 12, + + /** + * Mouth center. + */ + MOUTH_CENTER: 13, + + /** + * Nose, bottom right. + */ + NOSE_BOTTOM_RIGHT: 14, + + /** + * Nose, bottom left. + */ + NOSE_BOTTOM_LEFT: 15, + + /** + * Nose, bottom center. + */ + NOSE_BOTTOM_CENTER: 16, + + /** + * Left eye, top boundary. + */ + LEFT_EYE_TOP_BOUNDARY: 17, + + /** + * Left eye, right corner. + */ + LEFT_EYE_RIGHT_CORNER: 18, + + /** + * Left eye, bottom boundary. + */ + LEFT_EYE_BOTTOM_BOUNDARY: 19, + + /** + * Left eye, left corner. + */ + LEFT_EYE_LEFT_CORNER: 20, + + /** + * Right eye, top boundary. + */ + RIGHT_EYE_TOP_BOUNDARY: 21, + + /** + * Right eye, right corner. + */ + RIGHT_EYE_RIGHT_CORNER: 22, + + /** + * Right eye, bottom boundary. + */ + RIGHT_EYE_BOTTOM_BOUNDARY: 23, + + /** + * Right eye, left corner. + */ + RIGHT_EYE_LEFT_CORNER: 24, + + /** + * Left eyebrow, upper midpoint. + */ + LEFT_EYEBROW_UPPER_MIDPOINT: 25, + + /** + * Right eyebrow, upper midpoint. + */ + RIGHT_EYEBROW_UPPER_MIDPOINT: 26, + + /** + * Left ear tragion. + */ + LEFT_EAR_TRAGION: 27, + + /** + * Right ear tragion. + */ + RIGHT_EAR_TRAGION: 28, + + /** + * Left eye pupil. + */ + LEFT_EYE_PUPIL: 29, + + /** + * Right eye pupil. + */ + RIGHT_EYE_PUPIL: 30, + + /** + * Forehead glabella. + */ + FOREHEAD_GLABELLA: 31, + + /** + * Chin gnathion. + */ + CHIN_GNATHION: 32, + + /** + * Chin left gonion. + */ + CHIN_LEFT_GONION: 33, + + /** + * Chin right gonion. + */ + CHIN_RIGHT_GONION: 34 + } + } +}; + +/** + * Detected entity location information. + * + * @property {Object} latLng + * lat/long location coordinates. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @typedef LocationInfo + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var LocationInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A `Property` consists of a user-supplied name/value pair. + * + * @property {string} name + * Name of the property. + * + * @property {string} value + * Value of the property. + * + * @property {number} uint64Value + * Value of numeric properties. + * + * @typedef Property + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var Property = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of detected entity features. + * + * @property {string} mid + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). + * + * @property {string} locale + * The language code for the locale in which the entity textual + * `description` is expressed. + * + * @property {string} description + * Entity textual description, expressed in its `locale` language. + * + * @property {number} score + * Overall score of the result. Range [0, 1]. + * + * @property {number} confidence + * **Deprecated. Use `score` instead.** + * The accuracy of the entity detection in an image. + * For example, for an image in which the "Eiffel Tower" entity is detected, + * this field represents the confidence that there is a tower in the query + * image. Range [0, 1]. + * + * @property {number} topicality + * The relevancy of the ICA (Image Content Annotation) label to the + * image. For example, the relevancy of "tower" is likely higher to an image + * containing the detected "Eiffel Tower" than to an image containing a + * detected distant towering building, even though the confidence that + * there is a tower in each image may be the same. Range [0, 1]. + * + * @property {Object} boundingPoly + * Image region to which this entity belongs. Not produced + * for `LABEL_DETECTION` features. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @property {Object[]} locations + * The location information for the detected entity. Multiple + * `LocationInfo` elements can be present because one location may + * indicate the location of the scene in the image, and another location + * may indicate the location of the place where the image was taken. + * Location information is usually present for landmarks. + * + * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1p3beta1.LocationInfo} + * + * @property {Object[]} properties + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + * + * This object should have the same structure as [Property]{@link google.cloud.vision.v1p3beta1.Property} + * + * @typedef EntityAnnotation + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var EntityAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of detected objects with bounding boxes. + * + * @property {string} mid + * Object ID that should align with EntityAnnotation mid. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {string} name + * Object name, expressed in its `language_code` language. + * + * @property {number} score + * Score of the result. Range [0, 1]. + * + * @property {Object} boundingPoly + * Image region to which this object belongs. This must be populated. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @typedef LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var LocalizedObjectAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + * + * @property {number} adult + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} spoof + * Spoof likelihood. The likelihood that an modification + * was made to the image's canonical version to make it appear + * funny or offensive. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} medical + * Likelihood that this is a medical image. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} violence + * Likelihood that this image contains violent content. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @property {number} racy + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive + * body areas. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} + * + * @typedef SafeSearchAnnotation + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var SafeSearchAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Rectangle determined by min and max `LatLng` pairs. + * + * @property {Object} minLatLng + * Min lat/long pair. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @property {Object} maxLatLng + * Max lat/long pair. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @typedef LatLongRect + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var LatLongRect = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Color information consists of RGB channels, score, and the fraction of + * the image that the color occupies in the image. + * + * @property {Object} color + * RGB components of the color. + * + * This object should have the same structure as [Color]{@link google.type.Color} + * + * @property {number} score + * Image-specific score for this color. Value in range [0, 1]. + * + * @property {number} pixelFraction + * The fraction of pixels the color occupies in the image. + * Value in range [0, 1]. + * + * @typedef ColorInfo + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var ColorInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of dominant colors and their corresponding scores. + * + * @property {Object[]} colors + * RGB color values with their score and pixel fraction. + * + * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1p3beta1.ColorInfo} + * + * @typedef DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var DominantColorsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Stores image properties, such as dominant colors. + * + * @property {Object} dominantColors + * If present, dominant colors completed successfully. + * + * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation} + * + * @typedef ImageProperties + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var ImageProperties = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Single crop hint that is used to generate a new crop when serving an image. + * + * @property {Object} boundingPoly + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale, as returned in `ImageParams`. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @property {number} confidence + * Confidence of this being a salient region. Range [0, 1]. + * + * @property {number} importanceFraction + * Fraction of importance of this salient region with respect to the original + * image. + * + * @typedef CropHint + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var CropHint = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of crop hints that are used to generate new crops when serving images. + * + * @property {Object[]} cropHints + * Crop hint results. + * + * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1p3beta1.CropHint} + * + * @typedef CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var CropHintsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Parameters for crop hints annotation request. + * + * @property {number[]} aspectRatios + * Aspect ratios in floats, representing the ratio of the width to the height + * of the image. For example, if the desired aspect ratio is 4/3, the + * corresponding float value should be 1.33333. If not specified, the + * best possible crop is returned. The number of provided aspect ratios is + * limited to a maximum of 16; any aspect ratios provided after the 16th are + * ignored. + * + * @typedef CropHintsParams + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var CropHintsParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Parameters for web detection request. + * + * @property {boolean} includeGeoResults + * Whether to include results derived from the geo information in the image. + * + * @typedef WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var WebDetectionParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Image context and/or feature-specific parameters. + * + * @property {Object} latLongRect + * Not used. + * + * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1p3beta1.LatLongRect} + * + * @property {string[]} languageHints + * List of languages to use for TEXT_DETECTION. In most cases, an empty value + * yields the best results since it enables automatic language detection. For + * languages based on the Latin alphabet, setting `language_hints` is not + * needed. In rare cases, when the language of the text in the image is known, + * setting a hint will help get better results (although it will be a + * significant hindrance if the hint is wrong). Text detection returns an + * error if one or more of the specified languages is not one of the + * [supported languages](https://cloud.google.com/vision/docs/languages). + * + * @property {Object} cropHintsParams + * Parameters for crop hints annotation request. + * + * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1p3beta1.CropHintsParams} + * + * @property {Object} productSearchParams + * Parameters for product search. + * + * This object should have the same structure as [ProductSearchParams]{@link google.cloud.vision.v1p3beta1.ProductSearchParams} + * + * @property {Object} webDetectionParams + * Parameters for web detection. + * + * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1p3beta1.WebDetectionParams} + * + * @typedef ImageContext + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var ImageContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request for performing Google Cloud Vision API tasks over a user-provided + * image, with user-requested features. + * + * @property {Object} image + * The image to be processed. + * + * This object should have the same structure as [Image]{@link google.cloud.vision.v1p3beta1.Image} + * + * @property {Object[]} features + * Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p3beta1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p3beta1.ImageContext} + * + * @typedef AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var AnnotateImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + * + * @property {string} uri + * The URI of the file used to produce the image. + * + * @property {number} pageNumber + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + * + * @typedef ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var ImageAnnotationContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an image annotation request. + * + * @property {Object[]} faceAnnotations + * If present, face detection has completed successfully. + * + * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1p3beta1.FaceAnnotation} + * + * @property {Object[]} landmarkAnnotations + * If present, landmark detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p3beta1.EntityAnnotation} + * + * @property {Object[]} logoAnnotations + * If present, logo detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p3beta1.EntityAnnotation} + * + * @property {Object[]} labelAnnotations + * If present, label detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p3beta1.EntityAnnotation} + * + * @property {Object[]} localizedObjectAnnotations + * If present, localized object detection has completed successfully. + * This will be sorted descending by confidence score. + * + * This object should have the same structure as [LocalizedObjectAnnotation]{@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} + * + * @property {Object[]} textAnnotations + * If present, text (OCR) detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p3beta1.EntityAnnotation} + * + * @property {Object} fullTextAnnotation + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. + * This annotation provides the structural hierarchy for the OCR detected + * text. + * + * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1p3beta1.TextAnnotation} + * + * @property {Object} safeSearchAnnotation + * If present, safe-search annotation has completed successfully. + * + * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation} + * + * @property {Object} imagePropertiesAnnotation + * If present, image properties were extracted successfully. + * + * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1p3beta1.ImageProperties} + * + * @property {Object} cropHintsAnnotation + * If present, crop hints have completed successfully. + * + * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1p3beta1.CropHintsAnnotation} + * + * @property {Object} webDetection + * If present, web detection has completed successfully. + * + * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1p3beta1.WebDetection} + * + * @property {Object} productSearchResults + * If present, product search has completed successfully. + * + * This object should have the same structure as [ProductSearchResults]{@link google.cloud.vision.v1p3beta1.ProductSearchResults} + * + * @property {Object} error + * If set, represents the error message for the operation. + * Note that filled-in image annotations are guaranteed to be + * correct, even when `error` is set. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @property {Object} context + * If present, contextual information is needed to understand where this image + * comes from. + * + * This object should have the same structure as [ImageAnnotationContext]{@link google.cloud.vision.v1p3beta1.ImageAnnotationContext} + * + * @typedef AnnotateImageResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var AnnotateImageResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to a single file annotation request. A file may contain one or more + * images, which individually have their own responses. + * + * @property {Object} inputConfig + * Information about the file for which this response is generated. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p3beta1.InputConfig} + * + * @property {Object[]} responses + * Individual responses to images found within the file. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p3beta1.AnnotateImageResponse} + * + * @typedef AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var AnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Multiple image annotation requests are batched into a single service call. + * + * @property {Object[]} requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p3beta1.AnnotateImageRequest} + * + * @typedef BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var BatchAnnotateImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to a batch image annotation request. + * + * @property {Object[]} responses + * Individual responses to image annotation requests within the batch. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p3beta1.AnnotateImageResponse} + * + * @typedef BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var BatchAnnotateImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * An offline file annotation request. + * + * @property {Object} inputConfig + * Required. Information about the input file. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p3beta1.InputConfig} + * + * @property {Object[]} features + * Required. Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p3beta1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image(s) in the file. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p3beta1.ImageContext} + * + * @property {Object} outputConfig + * Required. The desired output location and metadata (e.g. format). + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p3beta1.OutputConfig} + * + * @typedef AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var AsyncAnnotateFileRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The response for a single offline file annotation request. + * + * @property {Object} outputConfig + * The output location and metadata from AsyncAnnotateFileRequest. + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p3beta1.OutputConfig} + * + * @typedef AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var AsyncAnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Multiple async file annotation requests are batched into a single service + * call. + * + * @property {Object[]} requests + * Individual async file annotation requests for this batch. + * + * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} + * + * @typedef AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var AsyncBatchAnnotateFilesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an async batch file annotation request. + * + * @property {Object[]} responses + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + * + * This object should have the same structure as [AsyncAnnotateFileResponse]{@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} + * + * @typedef AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var AsyncBatchAnnotateFilesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The desired input location and metadata. + * + * @property {Object} gcsSource + * The Google Cloud Storage location to read the input from. + * + * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1p3beta1.GcsSource} + * + * @property {string} mimeType + * The type of the file. Currently only "application/pdf" and "image/tiff" + * are supported. Wildcards are not supported. + * + * @typedef InputConfig + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var InputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The desired output location and metadata. + * + * @property {Object} gcsDestination + * The Google Cloud Storage location to write the output(s) to. + * + * This object should have the same structure as [GcsDestination]{@link google.cloud.vision.v1p3beta1.GcsDestination} + * + * @property {number} batchSize + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. + * The valid range is [1, 100]. If not specified, the default value is 20. + * + * For example, for one pdf file with 100 pages, 100 response protos will + * be generated. If `batch_size` = 20, then 5 json files each + * containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. + * + * Currently, batch_size only applies to GcsDestination, with potential future + * support for other output configurations. + * + * @typedef OutputConfig + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var OutputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location where the input will be read from. + * + * @property {string} uri + * Google Cloud Storage URI for the input file. This must only be a + * Google Cloud Storage object. Wildcards are not currently supported. + * + * @typedef GcsSource + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var GcsSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location where the output will be written to. + * + * @property {string} uri + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. + * + * Examples: + * + * * File: gs://bucket-name/filename.json + * * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here + * + * If multiple outputs, each response is still AnnotateFileResponse, each of + * which contains some subset of the full list of AnnotateImageResponse. + * Multiple outputs can happen if, for example, the output JSON is too large + * and overflows into multiple sharded files. + * + * @typedef GcsDestination + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var GcsDestination = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Contains metadata for the BatchAnnotateImages operation. + * + * @property {number} state + * Current state of the batch operation. + * + * The number should be among the values of [State]{@link google.cloud.vision.v1p3beta1.State} + * + * @property {Object} createTime + * The time when the batch request was received. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} updateTime + * The time when the operation result was last updated. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef OperationMetadata + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} + */ +var OperationMetadata = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Batch operation states. + * + * @enum {number} + * @memberof google.cloud.vision.v1p3beta1 + */ + State: { + + /** + * Invalid. + */ + STATE_UNSPECIFIED: 0, + + /** + * Request is received. + */ + CREATED: 1, + + /** + * Request is actively being processed. + */ + RUNNING: 2, + + /** + * The batch processing is done. + */ + DONE: 3, + + /** + * The batch processing was cancelled. + */ + CANCELLED: 4 + } +}; + +/** + * A bucketized representation of likelihood, which is intended to give clients + * highly stable results across model upgrades. + * + * @enum {number} + * @memberof google.cloud.vision.v1p3beta1 + */ +var Likelihood = { + + /** + * Unknown likelihood. + */ + UNKNOWN: 0, + + /** + * It is very unlikely that the image belongs to the specified vertical. + */ + VERY_UNLIKELY: 1, + + /** + * It is unlikely that the image belongs to the specified vertical. + */ + UNLIKELY: 2, + + /** + * It is possible that the image belongs to the specified vertical. + */ + POSSIBLE: 3, + + /** + * It is likely that the image belongs to the specified vertical. + */ + LIKELY: 4, + + /** + * It is very likely that the image belongs to the specified vertical. + */ + VERY_LIKELY: 5 +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js new file mode 100644 index 00000000000..edfc470507b --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js @@ -0,0 +1,220 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Parameters for a product search request. + * + * @property {string} catalogName + * The resource name of the catalog to search. + * + * Format is: `productSearch/catalogs/CATALOG_NAME`. + * + * @property {number} category + * The category to search in. + * Optional. It is inferred by the system if it is not specified. + * [Deprecated] Use `product_category`. + * + * The number should be among the values of [ProductSearchCategory]{@link google.cloud.vision.v1p3beta1.ProductSearchCategory} + * + * @property {string} productCategory + * The product category to search in. + * Optional. It is inferred by the system if it is not specified. + * Supported values are `bag`, `shoe`, `sunglasses`, `dress`, `outerwear`, + * `skirt`, `top`, `shorts`, and `pants`. + * + * @property {Object} normalizedBoundingPoly + * The bounding polygon around the area of interest in the image. + * Optional. If it is not specified, system discretion will be applied. + * [Deprecated] Use `bounding_poly`. + * + * This object should have the same structure as [NormalizedBoundingPoly]{@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} + * + * @property {Object} boundingPoly + * The bounding polygon around the area of interest in the image. + * Optional. If it is not specified, system discretion will be applied. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @property {number} view + * Specifies the verbosity of the product search results. + * Optional. Defaults to `BASIC`. + * + * The number should be among the values of [ProductSearchResultsView]{@link google.cloud.vision.v1p3beta1.ProductSearchResultsView} + * + * @property {string} productSet + * The resource name of a ProductSet to be searched for similar images. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + * + * @property {string[]} productCategories + * The list of product categories to search in. Currently, we only consider + * the first category, and either "homegoods" or "apparel" should be + * specified. + * + * @property {string} filter + * The filtering expression. This can be used to restrict search results based + * on Product labels. We currently support an AND of OR of key-value + * expressions, where each expression within an OR must have the same key. + * + * For example, "(color = red OR color = blue) AND brand = Google" is + * acceptable, but not "(color = red OR brand = Google)" or "color: red". + * + * @typedef ProductSearchParams + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ProductSearchParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} + */ +var ProductSearchParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Results for a product search request. + * + * @property {number} category + * Product category. + * [Deprecated] Use `product_category`. + * + * The number should be among the values of [ProductSearchCategory]{@link google.cloud.vision.v1p3beta1.ProductSearchCategory} + * + * @property {string} productCategory + * Product category. + * Supported values are `bag` and `shoe`. + * [Deprecated] `product_category` is provided in each Product. + * + * @property {Object} indexTime + * Timestamp of the index which provided these results. Changes made after + * this time are not reflected in the current results. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object[]} products + * List of detected products. + * + * This object should have the same structure as [ProductInfo]{@link google.cloud.vision.v1p3beta1.ProductInfo} + * + * @property {Object[]} results + * List of results, one for each product match. + * + * This object should have the same structure as [Result]{@link google.cloud.vision.v1p3beta1.Result} + * + * @typedef ProductSearchResults + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ProductSearchResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} + */ +var ProductSearchResults = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Information about a product. + * + * @property {string} productId + * Product ID. + * + * @property {string} imageUri + * The URI of the image which matched the query image. + * + * This field is returned only if `view` is set to `FULL` in + * the request. + * + * @property {number} score + * A confidence level on the match, ranging from 0 (no confidence) to + * 1 (full confidence). + * + * This field is returned only if `view` is set to `FULL` in + * the request. + * + * @typedef ProductInfo + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} + */ + ProductInfo: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Information about a product. + * + * @property {Object} product + * The Product. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} + * + * @property {number} score + * A confidence level on the match, ranging from 0 (no confidence) to + * 1 (full confidence). + * + * This field is returned only if `view` is set to `FULL` in + * the request. + * + * @property {string} image + * The resource name of the image from the product that is the closest match + * to the query. + * + * @typedef Result + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ProductSearchResults.Result definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} + */ + Result: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * Supported product search categories. + * + * @enum {number} + * @memberof google.cloud.vision.v1p3beta1 + */ +var ProductSearchCategory = { + + /** + * Default value used when a category is not specified. + */ + PRODUCT_SEARCH_CATEGORY_UNSPECIFIED: 0, + + /** + * Shoes category. + */ + SHOES: 1, + + /** + * Bags category. + */ + BAGS: 2 +}; + +/** + * Specifies the fields to include in product search results. + * + * @enum {number} + * @memberof google.cloud.vision.v1p3beta1 + */ +var ProductSearchResultsView = { + + /** + * Product search results contain only `product_category` and `product_id`. + * Default value. + */ + BASIC: 0, + + /** + * Product search results contain `product_category`, `product_id`, + * `image_uri`, and `score`. + */ + FULL: 1 +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js new file mode 100644 index 00000000000..e4a3df680e8 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js @@ -0,0 +1,827 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A Product contains ReferenceImages. + * + * @property {string} name + * The resource name of the product. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * + * This field is ignored when creating a product. + * + * @property {string} displayName + * The user-provided name for this Product. Must not be empty. Must be at most + * 4096 characters long. + * + * @property {string} description + * User-provided metadata to be stored with this product. Must be at most 4096 + * characters long. + * + * @property {string} productCategory + * The category for the product identified by the reference image. This should + * be either "homegoods" or "apparel". + * + * This field is immutable. + * + * @property {Object[]} productLabels + * Key-value pairs that can be attached to a product. At query time, + * constraints can be specified based on the product_labels. + * + * Note that integer values can be provided as strings, e.g. "1199". Only + * strings with integer values can match a range-based restriction which is + * to be supported soon. + * + * Multiple values can be assigned to the same key. One product may have up to + * 100 product_labels. + * + * This object should have the same structure as [KeyValue]{@link google.cloud.vision.v1p3beta1.KeyValue} + * + * @typedef Product + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Product definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var Product = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * A product label represented as a key-value pair. + * + * @property {string} key + * The key of the label attached to the product. Cannot be empty and cannot + * exceed 128 bytes. + * + * @property {string} value + * The value of the label attached to the product. Cannot be empty and + * cannot exceed 128 bytes. + * + * @typedef KeyValue + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Product.KeyValue definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ + KeyValue: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * A ProductSet contains Products. A ProductSet can contain a maximum of 1 + * million reference images. If the limit is exceeded, periodic indexing will + * fail. + * + * @property {string} name + * The resource name of the ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + * + * This field is ignored when creating a ProductSet. + * + * @property {string} displayName + * The user-provided name for this ProductSet. Must not be empty. Must be at + * most 4096 characters long. + * + * @property {Object} indexTime + * Output only. The time at which this ProductSet was last indexed. Query + * results will reflect all updates before this time. If this ProductSet has + * never been indexed, this field is 0. + * + * This field is ignored when creating a ProductSet. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} indexError + * Output only. If there was an error with indexing the product set, the field + * is populated. + * + * This field is ignored when creating a ProductSet. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef ProductSet + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ProductSet definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ProductSet = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A `ReferenceImage` represents a product image and its associated metadata, + * such as bounding boxes. + * + * @property {string} name + * The resource name of the reference image. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * + * This field is ignored when creating a reference image. + * + * @property {string} uri + * The Google Cloud Storage URI of the reference image. + * + * The URI must start with `gs://`. + * + * Required. + * + * @property {Object[]} boundingPolys + * Bounding polygons around the areas of interest in the reference image. + * Optional. If this field is empty, the system will try to detect regions of + * interest. At most 10 bounding polygons will be used. + * + * The provided shape is converted into a non-rotated rectangle. Once + * converted, the small edge of the rectangle must be greater than or equal + * to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 + * is not). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @typedef ReferenceImage + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ReferenceImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ReferenceImage = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `CreateProduct` method. + * + * @property {string} parent + * The project in which the Product should be created. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {Object} product + * The product to create. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} + * + * @property {string} productId + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * + * @typedef CreateProductRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.CreateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var CreateProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListProducts` method. + * + * @property {string} parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListProductsRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ListProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ListProductsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListProducts` method. + * + * @property {Object[]} products + * List of products. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} + * + * @property {string} nextPageToken + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + * + * @typedef ListProductsResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ListProductsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ListProductsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `GetProduct` method. + * + * @property {string} name + * Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef GetProductRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.GetProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var GetProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `UpdateProduct` method. + * + * @property {Object} product + * The Product resource which replaces the one on the server. + * product.name is immutable. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} + * + * @property {Object} updateMask + * The FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name` and + * `description`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * + * @typedef UpdateProductRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.UpdateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var UpdateProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `DeleteProduct` method. + * + * @property {string} name + * Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef DeleteProductRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.DeleteProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var DeleteProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `CreateProductSet` method. + * + * @property {string} parent + * The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {Object} productSet + * The ProductSet to create. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} + * + * @property {string} productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * + * @typedef CreateProductSetRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.CreateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var CreateProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListProductSets` method. + * + * @property {string} parent + * The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListProductSetsRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ListProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ListProductSetsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListProductSets` method. + * + * @property {Object[]} productSets + * List of ProductSets. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} + * + * @property {string} nextPageToken + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + * + * @typedef ListProductSetsResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ListProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ListProductSetsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `GetProductSet` method. + * + * @property {string} name + * Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * + * @typedef GetProductSetRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.GetProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var GetProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `UpdateProductSet` method. + * + * @property {Object} productSet + * The ProductSet resource which replaces the one on the server. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} + * + * @property {Object} updateMask + * The FieldMask that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * + * @typedef UpdateProductSetRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.UpdateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var UpdateProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `DeleteProductSet` method. + * + * @property {string} name + * Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @typedef DeleteProductSetRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.DeleteProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var DeleteProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `CreateReferenceImage` method. + * + * @property {string} parent + * Resource name of the product in which to create the reference image. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * + * @property {Object} referenceImage + * The reference image to create. + * If an image ID is specified, it is ignored. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} + * + * @property {string} referenceImageId + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + * + * @typedef CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.CreateReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var CreateReferenceImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListReferenceImages` method. + * + * @property {string} parent + * Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * + * @typedef ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ListReferenceImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ListReferenceImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListReferenceImages` method. + * + * @property {Object[]} referenceImages + * The list of reference images. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} nextPageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ListReferenceImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ListReferenceImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `GetReferenceImage` method. + * + * @property {string} name + * The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * + * @typedef GetReferenceImageRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.GetReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var GetReferenceImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `DeleteReferenceImage` method. + * + * @property {string} name + * The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * + * @typedef DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var DeleteReferenceImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `AddProductToProductSet` method. + * + * @property {string} name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @property {string} product + * The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.AddProductToProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var AddProductToProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `RemoveProductFromProductSet` method. + * + * @property {string} name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @property {string} product + * The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var RemoveProductFromProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListProductsInProductSet` method. + * + * @property {string} name + * The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ListProductsInProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListProductsInProductSet` method. + * + * @property {Object[]} products + * The list of Products. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} + * + * @property {string} nextPageToken + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + * + * @typedef ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ListProductsInProductSetResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location for a csv file which preserves a list of + * ImportProductSetRequests in each line. + * + * @property {string} csvFileUri + * The Google Cloud Storage URI of the input csv file. + * + * The URI must start with gs:// + * + * The format of the input csv file should be one image per line. + * In each line, there are 6 columns. + * 1. image_uri + * 2, image_id + * 3. product_set_id + * 4. product_id + * 5, product_category + * 6, product_display_name + * 7, labels + * 8. bounding_poly + * + * Columns 1, 3, 4, and 5 are required, other columns are optional. A new + * ProductSet/Product with the same id will be created on the fly + * if the ProductSet/Product specified by product_set_id/product_id does not + * exist. + * + * The image_id field is optional but has to be unique if provided. If it is + * empty, we will automatically assign an unique id to the image. + * + * The product_display_name field is optional. If it is empty, a space (" ") + * is used as the place holder for the product display_name, which can + * be updated later through the realtime API. + * + * If the Product with product_id already exists, the fields + * product_display_name, product_category and labels are ignored. + * + * If a Product doesn't exist and needs to be created on the fly, the + * product_display_name field refers to Product.display_name, the + * product_category field refers to Product.product_category, and the + * labels field refers to Product.labels. + * + * Labels (optional) should be a line containing a list of comma-separated + * key-value pairs, with the format + * "key_1=value_1,key_2=value_2,...,key_n=value_n". + * + * The bounding_poly (optional) field is used to identify one region of + * interest from the image in the same manner as CreateReferenceImage. If no + * bounding_poly is specified, the system will try to detect regions of + * interest automatically. + * + * Note that the pipeline will resize the image if the image resolution is too + * large to process (above 20MP). + * + * Also note that at most one bounding_poly is allowed per line. If the image + * contains multiple regions of interest, the csv should contain one line per + * region of interest. + * + * The bounding_poly column should contain an even number of comma-separated + * numbers, with the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Nonnegative + * integers should be used for absolute bounding polygons, and float values + * in [0, 1] should be used for normalized bounding polygons. + * + * @typedef ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ImportProductSetsGcsSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The input content for the `ImportProductSets` method. + * + * @property {Object} gcsSource + * The Google Cloud Storage location for a csv file which preserves a list + * of ImportProductSetRequests in each line. + * + * This object should have the same structure as [ImportProductSetsGcsSource]{@link google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource} + * + * @typedef ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ImportProductSetsInputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ImportProductSets` method. + * + * @property {string} parent + * The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {Object} inputConfig + * The input content for the list of requests. + * + * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} + * + * @typedef ImportProductSetsRequest + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ImportProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ImportProductSetsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ImportProductSets` method. + * + * This message is returned by the + * google.longrunning.Operations.GetOperation method in the returned + * google.longrunning.Operation.response field. + * + * @property {Object[]} referenceImages + * The list of reference_images that are imported successfully. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} + * + * @property {Object[]} statuses + * The rpc status for each ImportProductSet request, including both successes + * and errors. + * + * The number of statuses here matches the number of lines in the csv file, + * and statuses[i] stores the success or failure status of processing the i-th + * line of the csv, starting from line 0. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef ImportProductSetsResponse + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.ImportProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var ImportProductSetsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Metadata for the batch operations such as the current state. + * + * This is included in the `metadata` field of the `Operation` returned by the + * `GetOperation` call of the `google::longrunning::Operations` service. + * + * @property {number} state + * The current state of the batch operation. + * + * The number should be among the values of [State]{@link google.cloud.vision.v1p3beta1.State} + * + * @property {Object} submitTime + * The time when the batch request was submitted to the server. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} endTime + * The time when the batch request is finished and + * google.longrunning.Operation.done is set to true. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef BatchOperationMetadata + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.BatchOperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} + */ +var BatchOperationMetadata = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Enumerates the possible states that the batch request can be in. + * + * @enum {number} + * @memberof google.cloud.vision.v1p3beta1 + */ + State: { + + /** + * Invalid. + */ + STATE_UNSPECIFIED: 0, + + /** + * Request is actively being processed. + */ + PROCESSING: 1, + + /** + * The request is done and at least one item has been successfully + * processed. + */ + SUCCESSFUL: 2, + + /** + * The request is done and no item has been successfully processed. + */ + FAILED: 3, + + /** + * The request is done after the longrunning.Operations.CancelOperation has + * been called by the user. Any records that were processed before the + * cancel command are output as specified in the request. + */ + CANCELLED: 4 + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js new file mode 100644 index 00000000000..da54f338c73 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js @@ -0,0 +1,392 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + * Each structural component, starting from Page, may further have their own + * properties. Properties describe detected languages, breaks etc.. Please refer + * to the TextAnnotation.TextProperty message definition below for more + * detail. + * + * @property {Object[]} pages + * List of pages detected by OCR. + * + * This object should have the same structure as [Page]{@link google.cloud.vision.v1p3beta1.Page} + * + * @property {string} text + * UTF-8 text detected on the pages. + * + * @typedef TextAnnotation + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} + */ +var TextAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Detected language for a structural component. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {number} confidence + * Confidence of detected language. Range [0, 1]. + * + * @typedef DetectedLanguage + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} + */ + DetectedLanguage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Detected start or end of a structural component. + * + * @property {number} type + * Detected break type. + * + * The number should be among the values of [BreakType]{@link google.cloud.vision.v1p3beta1.BreakType} + * + * @property {boolean} isPrefix + * True if break prepends the element. + * + * @typedef DetectedBreak + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} + */ + DetectedBreak: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Enum to denote the type of break found. New line, space etc. + * + * @enum {number} + * @memberof google.cloud.vision.v1p3beta1 + */ + BreakType: { + + /** + * Unknown break label type. + */ + UNKNOWN: 0, + + /** + * Regular space. + */ + SPACE: 1, + + /** + * Sure space (very wide). + */ + SURE_SPACE: 2, + + /** + * Line-wrapping break. + */ + EOL_SURE_SPACE: 3, + + /** + * End-line hyphen that is not present in text; does not co-occur with + * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. + */ + HYPHEN: 4, + + /** + * Line break that ends a paragraph. + */ + LINE_BREAK: 5 + } + }, + + /** + * Additional information detected on the structural component. + * + * @property {Object[]} detectedLanguages + * A list of detected languages together with confidence. + * + * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1p3beta1.DetectedLanguage} + * + * @property {Object} detectedBreak + * Detected start or end of a text segment. + * + * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1p3beta1.DetectedBreak} + * + * @typedef TextProperty + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} + */ + TextProperty: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * Detected page from OCR. + * + * @property {Object} property + * Additional information detected on the page. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} + * + * @property {number} width + * Page width. For PDFs the unit is points. For images (including + * TIFFs) the unit is pixels. + * + * @property {number} height + * Page height. For PDFs the unit is points. For images (including + * TIFFs) the unit is pixels. + * + * @property {Object[]} blocks + * List of blocks of text, images etc on this page. + * + * This object should have the same structure as [Block]{@link google.cloud.vision.v1p3beta1.Block} + * + * @property {number} confidence + * Confidence of the OCR results on the page. Range [0, 1]. + * + * @typedef Page + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} + */ +var Page = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Logical element on the page. + * + * @property {Object} property + * Additional information detected for the block. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the block. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * + * * when the text is horizontal it might look like: + * + * 0----1 + * | | + * 3----2 + * + * * when it's rotated 180 degrees around the top-left corner it becomes: + * + * 2----3 + * | | + * 1----0 + * + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @property {Object[]} paragraphs + * List of paragraphs in this block (if this blocks is of type text). + * + * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1p3beta1.Paragraph} + * + * @property {number} blockType + * Detected block type (text, image etc) for this block. + * + * The number should be among the values of [BlockType]{@link google.cloud.vision.v1p3beta1.BlockType} + * + * @property {number} confidence + * Confidence of the OCR results on the block. Range [0, 1]. + * + * @typedef Block + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} + */ +var Block = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of a block (text, image etc) as identified by OCR. + * + * @enum {number} + * @memberof google.cloud.vision.v1p3beta1 + */ + BlockType: { + + /** + * Unknown block type. + */ + UNKNOWN: 0, + + /** + * Regular text block. + */ + TEXT: 1, + + /** + * Table block. + */ + TABLE: 2, + + /** + * Image block. + */ + PICTURE: 3, + + /** + * Horizontal/vertical line box. + */ + RULER: 4, + + /** + * Barcode block. + */ + BARCODE: 5 + } +}; + +/** + * Structural unit of text representing a number of words in certain order. + * + * @property {Object} property + * Additional information detected for the paragraph. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the paragraph. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @property {Object[]} words + * List of words in this paragraph. + * + * This object should have the same structure as [Word]{@link google.cloud.vision.v1p3beta1.Word} + * + * @property {number} confidence + * Confidence of the OCR results for the paragraph. Range [0, 1]. + * + * @typedef Paragraph + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} + */ +var Paragraph = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A word representation. + * + * @property {Object} property + * Additional information detected for the word. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the word. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @property {Object[]} symbols + * List of symbols in the word. + * The order of the symbols follows the natural reading order. + * + * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1p3beta1.Symbol} + * + * @property {number} confidence + * Confidence of the OCR results for the word. Range [0, 1]. + * + * @typedef Word + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} + */ +var Word = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A single symbol representation. + * + * @property {Object} property + * Additional information detected for the symbol. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the symbol. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} + * + * @property {string} text + * The actual UTF-8 representation of the symbol. + * + * @property {number} confidence + * Confidence of the OCR results for the symbol. Range [0, 1]. + * + * @typedef Symbol + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} + */ +var Symbol = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js new file mode 100644 index 00000000000..eec0727e29b --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js @@ -0,0 +1,151 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Relevant information for the image from the Internet. + * + * @property {Object[]} webEntities + * Deduced entities from similar images on the Internet. + * + * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1p3beta1.WebEntity} + * + * @property {Object[]} fullMatchingImages + * Fully matching images from the Internet. + * Can include resized copies of the query image. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images from the Internet. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its crops. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} + * + * @property {Object[]} pagesWithMatchingImages + * Web pages containing the matching images from the Internet. + * + * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1p3beta1.WebPage} + * + * @property {Object[]} visuallySimilarImages + * The visually similar image results. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} + * + * @property {Object[]} bestGuessLabels + * Best guess text labels for the request image. + * + * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1p3beta1.WebLabel} + * + * @typedef WebDetection + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} + */ +var WebDetection = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Entity deduced from similar images on the Internet. + * + * @property {string} entityId + * Opaque entity ID. + * + * @property {number} score + * Overall relevancy score for the entity. + * Not normalized and not comparable across different image queries. + * + * @property {string} description + * Canonical description of the entity, in English. + * + * @typedef WebEntity + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} + */ + WebEntity: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for online images. + * + * @property {string} url + * The result image URL. + * + * @property {number} score + * (Deprecated) Overall relevancy score for the image. + * + * @typedef WebImage + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} + */ + WebImage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for web pages. + * + * @property {string} url + * The result web page URL. + * + * @property {number} score + * (Deprecated) Overall relevancy score for the web page. + * + * @property {string} pageTitle + * Title for the web page, may contain HTML markups. + * + * @property {Object[]} fullMatchingImages + * Fully matching images on the page. + * Can include resized copies of the query image. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images on the page. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its + * crops. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} + * + * @typedef WebPage + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} + */ + WebPage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Label to provide extra metadata for the web detection. + * + * @property {string} label + * Label for extra metadata. + * + * @property {string} languageCode + * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @typedef WebLabel + * @memberof google.cloud.vision.v1p3beta1 + * @see [google.cloud.vision.v1p3beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} + */ + WebLabel: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..79ef6344437 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js @@ -0,0 +1,147 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * This resource represents a long-running operation that is the result of a + * network API call. + * + * @property {string} name + * The server-assigned name, which is only unique within the same service that + * originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + * + * @property {Object} metadata + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @property {boolean} done + * If the value is `false`, it means the operation is still in progress. + * If true, the operation is completed, and either `error` or `response` is + * available. + * + * @property {Object} error + * The error result of the operation in case of failure or cancellation. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @property {Object} response + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` + * is the original method name. For example, if the original method name + * is `TakeSnapshot()`, the inferred response type is + * `TakeSnapshotResponse`. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @typedef Operation + * @memberof google.longrunning + * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var Operation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.GetOperation. + * + * @property {string} name + * The name of the operation resource. + * + * @typedef GetOperationRequest + * @memberof google.longrunning + * @see [google.longrunning.GetOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var GetOperationRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.ListOperations. + * + * @property {string} name + * The name of the operation collection. + * + * @property {string} filter + * The standard list filter. + * + * @property {number} pageSize + * The standard list page size. + * + * @property {string} pageToken + * The standard list page token. + * + * @typedef ListOperationsRequest + * @memberof google.longrunning + * @see [google.longrunning.ListOperationsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var ListOperationsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The response message for Operations.ListOperations. + * + * @property {Object[]} operations + * A list of operations that matches the specified filter in the request. + * + * This object should have the same structure as [Operation]{@link google.longrunning.Operation} + * + * @property {string} nextPageToken + * The standard List next-page token. + * + * @typedef ListOperationsResponse + * @memberof google.longrunning + * @see [google.longrunning.ListOperationsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var ListOperationsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.CancelOperation. + * + * @property {string} name + * The name of the operation resource to be cancelled. + * + * @typedef CancelOperationRequest + * @memberof google.longrunning + * @see [google.longrunning.CancelOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var CancelOperationRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The request message for Operations.DeleteOperation. + * + * @property {string} name + * The name of the operation resource to be deleted. + * + * @typedef DeleteOperationRequest + * @memberof google.longrunning + * @see [google.longrunning.DeleteOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +var DeleteOperationRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js new file mode 100644 index 00000000000..f55fa17ff12 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js @@ -0,0 +1,131 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * `Any` contains an arbitrary serialized protocol buffer message along with a + * URL that describes the type of the serialized message. + * + * Protobuf library provides support to pack/unpack Any values in the form + * of utility functions or additional generated methods of the Any type. + * + * Example 1: Pack and unpack a message in C++. + * + * Foo foo = ...; + * Any any; + * any.PackFrom(foo); + * ... + * if (any.UnpackTo(&foo)) { + * ... + * } + * + * Example 2: Pack and unpack a message in Java. + * + * Foo foo = ...; + * Any any = Any.pack(foo); + * ... + * if (any.is(Foo.class)) { + * foo = any.unpack(Foo.class); + * } + * + * Example 3: Pack and unpack a message in Python. + * + * foo = Foo(...) + * any = Any() + * any.Pack(foo) + * ... + * if any.Is(Foo.DESCRIPTOR): + * any.Unpack(foo) + * ... + * + * Example 4: Pack and unpack a message in Go + * + * foo := &pb.Foo{...} + * any, err := ptypes.MarshalAny(foo) + * ... + * foo := &pb.Foo{} + * if err := ptypes.UnmarshalAny(any, foo); err != nil { + * ... + * } + * + * The pack methods provided by protobuf library will by default use + * 'type.googleapis.com/full.type.name' as the type URL and the unpack + * methods only use the fully qualified type name after the last '/' + * in the type URL, for example "foo.bar.com/x/y.z" will yield type + * name "y.z". + * + * + * # JSON + * + * The JSON representation of an `Any` value uses the regular + * representation of the deserialized, embedded message, with an + * additional field `@type` which contains the type URL. Example: + * + * package google.profile; + * message Person { + * string first_name = 1; + * string last_name = 2; + * } + * + * { + * "@type": "type.googleapis.com/google.profile.Person", + * "firstName": , + * "lastName": + * } + * + * If the embedded message type is well-known and has a custom JSON + * representation, that representation will be embedded adding a field + * `value` which holds the custom JSON in addition to the `@type` + * field. Example (for message google.protobuf.Duration): + * + * { + * "@type": "type.googleapis.com/google.protobuf.Duration", + * "value": "1.212s" + * } + * + * @property {string} typeUrl + * A URL/resource name whose content describes the type of the + * serialized protocol buffer message. + * + * For URLs which use the scheme `http`, `https`, or no scheme, the + * following restrictions and interpretations apply: + * + * * If no scheme is provided, `https` is assumed. + * * The last segment of the URL's path must represent the fully + * qualified name of the type (as in `path/google.protobuf.Duration`). + * The name should be in a canonical form (e.g., leading "." is + * not accepted). + * * An HTTP GET on the URL must yield a google.protobuf.Type + * value in binary format, or produce an error. + * * Applications are allowed to cache lookup results based on the + * URL, or have them precompiled into a binary to avoid any + * lookup. Therefore, binary compatibility needs to be preserved + * on changes to types. (Use versioned type names to manage + * breaking changes.) + * + * Schemes other than `http`, `https` (or the empty scheme) might be + * used with implementation specific semantics. + * + * @property {string} value + * Must be a valid serialized protocol buffer of the above specified type. + * + * @typedef Any + * @memberof google.protobuf + * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} + */ +var Any = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js new file mode 100644 index 00000000000..5e3640e90d8 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js @@ -0,0 +1,34 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A generic empty message that you can re-use to avoid defining duplicated + * empty messages in your APIs. A typical example is to use it as the request + * or the response type of an API method. For instance: + * + * service Foo { + * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + * } + * + * The JSON representation for `Empty` is empty JSON object `{}`. + * @typedef Empty + * @memberof google.protobuf + * @see [google.protobuf.Empty definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/empty.proto} + */ +var Empty = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js new file mode 100644 index 00000000000..c82c2b33949 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js @@ -0,0 +1,230 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * `FieldMask` represents a set of symbolic field paths, for example: + * + * paths: "f.a" + * paths: "f.b.d" + * + * Here `f` represents a field in some root message, `a` and `b` + * fields in the message found in `f`, and `d` a field found in the + * message in `f.b`. + * + * Field masks are used to specify a subset of fields that should be + * returned by a get operation or modified by an update operation. + * Field masks also have a custom JSON encoding (see below). + * + * # Field Masks in Projections + * + * When used in the context of a projection, a response message or + * sub-message is filtered by the API to only contain those fields as + * specified in the mask. For example, if the mask in the previous + * example is applied to a response message as follows: + * + * f { + * a : 22 + * b { + * d : 1 + * x : 2 + * } + * y : 13 + * } + * z: 8 + * + * The result will not contain specific values for fields x,y and z + * (their value will be set to the default, and omitted in proto text + * output): + * + * + * f { + * a : 22 + * b { + * d : 1 + * } + * } + * + * A repeated field is not allowed except at the last position of a + * paths string. + * + * If a FieldMask object is not present in a get operation, the + * operation applies to all fields (as if a FieldMask of all fields + * had been specified). + * + * Note that a field mask does not necessarily apply to the + * top-level response message. In case of a REST get operation, the + * field mask applies directly to the response, but in case of a REST + * list operation, the mask instead applies to each individual message + * in the returned resource list. In case of a REST custom method, + * other definitions may be used. Where the mask applies will be + * clearly documented together with its declaration in the API. In + * any case, the effect on the returned resource/resources is required + * behavior for APIs. + * + * # Field Masks in Update Operations + * + * A field mask in update operations specifies which fields of the + * targeted resource are going to be updated. The API is required + * to only change the values of the fields as specified in the mask + * and leave the others untouched. If a resource is passed in to + * describe the updated values, the API ignores the values of all + * fields not covered by the mask. + * + * If a repeated field is specified for an update operation, the existing + * repeated values in the target resource will be overwritten by the new values. + * Note that a repeated field is only allowed in the last position of a `paths` + * string. + * + * If a sub-message is specified in the last position of the field mask for an + * update operation, then the existing sub-message in the target resource is + * overwritten. Given the target message: + * + * f { + * b { + * d : 1 + * x : 2 + * } + * c : 1 + * } + * + * And an update message: + * + * f { + * b { + * d : 10 + * } + * } + * + * then if the field mask is: + * + * paths: "f.b" + * + * then the result will be: + * + * f { + * b { + * d : 10 + * } + * c : 1 + * } + * + * However, if the update mask was: + * + * paths: "f.b.d" + * + * then the result would be: + * + * f { + * b { + * d : 10 + * x : 2 + * } + * c : 1 + * } + * + * In order to reset a field's value to the default, the field must + * be in the mask and set to the default value in the provided resource. + * Hence, in order to reset all fields of a resource, provide a default + * instance of the resource and set all fields in the mask, or do + * not provide a mask as described below. + * + * If a field mask is not present on update, the operation applies to + * all fields (as if a field mask of all fields has been specified). + * Note that in the presence of schema evolution, this may mean that + * fields the client does not know and has therefore not filled into + * the request will be reset to their default. If this is unwanted + * behavior, a specific service may require a client to always specify + * a field mask, producing an error if not. + * + * As with get operations, the location of the resource which + * describes the updated values in the request message depends on the + * operation kind. In any case, the effect of the field mask is + * required to be honored by the API. + * + * ## Considerations for HTTP REST + * + * The HTTP kind of an update operation which uses a field mask must + * be set to PATCH instead of PUT in order to satisfy HTTP semantics + * (PUT must only be used for full updates). + * + * # JSON Encoding of Field Masks + * + * In JSON, a field mask is encoded as a single string where paths are + * separated by a comma. Fields name in each path are converted + * to/from lower-camel naming conventions. + * + * As an example, consider the following message declarations: + * + * message Profile { + * User user = 1; + * Photo photo = 2; + * } + * message User { + * string display_name = 1; + * string address = 2; + * } + * + * In proto a field mask for `Profile` may look as such: + * + * mask { + * paths: "user.display_name" + * paths: "photo" + * } + * + * In JSON, the same mask is represented as below: + * + * { + * mask: "user.displayName,photo" + * } + * + * # Field Masks and Oneof Fields + * + * Field masks treat fields in oneofs just as regular fields. Consider the + * following message: + * + * message SampleMessage { + * oneof test_oneof { + * string name = 4; + * SubMessage sub_message = 9; + * } + * } + * + * The field mask can be: + * + * mask { + * paths: "name" + * } + * + * Or: + * + * mask { + * paths: "sub_message" + * } + * + * Note that oneof type names ("test_oneof" in this case) cannot be used in + * paths. + * + * @property {string[]} paths + * The set of field mask paths. + * + * @typedef FieldMask + * @memberof google.protobuf + * @see [google.protobuf.FieldMask definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/field_mask.proto} + */ +var FieldMask = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js new file mode 100644 index 00000000000..a02db52bdeb --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js @@ -0,0 +1,113 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A Timestamp represents a point in time independent of any time zone + * or calendar, represented as seconds and fractions of seconds at + * nanosecond resolution in UTC Epoch time. It is encoded using the + * Proleptic Gregorian Calendar which extends the Gregorian calendar + * backwards to year one. It is encoded assuming all minutes are 60 + * seconds long, i.e. leap seconds are "smeared" so that no leap second + * table is needed for interpretation. Range is from + * 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. + * By restricting to that range, we ensure that we can convert to + * and from RFC 3339 date strings. + * See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + * + * # Examples + * + * Example 1: Compute Timestamp from POSIX `time()`. + * + * Timestamp timestamp; + * timestamp.set_seconds(time(NULL)); + * timestamp.set_nanos(0); + * + * Example 2: Compute Timestamp from POSIX `gettimeofday()`. + * + * struct timeval tv; + * gettimeofday(&tv, NULL); + * + * Timestamp timestamp; + * timestamp.set_seconds(tv.tv_sec); + * timestamp.set_nanos(tv.tv_usec * 1000); + * + * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + * + * FILETIME ft; + * GetSystemTimeAsFileTime(&ft); + * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + * + * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + * Timestamp timestamp; + * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + * + * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + * + * long millis = System.currentTimeMillis(); + * + * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + * .setNanos((int) ((millis % 1000) * 1000000)).build(); + * + * + * Example 5: Compute Timestamp from current time in Python. + * + * timestamp = Timestamp() + * timestamp.GetCurrentTime() + * + * # JSON Mapping + * + * In JSON format, the Timestamp type is encoded as a string in the + * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + * where {year} is always expressed using four digits while {month}, {day}, + * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + * is required, though only UTC (as indicated by "Z") is presently supported. + * + * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + * 01:30 UTC on January 15, 2017. + * + * In JavaScript, one can convert a Date object to this format using the + * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] + * method. In Python, a standard `datetime.datetime` object can be converted + * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) + * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one + * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://cloud.google.com + * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) + * to obtain a formatter capable of generating timestamps in this format. + * + * @property {number} seconds + * Represents seconds of UTC time since Unix epoch + * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + * 9999-12-31T23:59:59Z inclusive. + * + * @property {number} nanos + * Non-negative fractions of a second at nanosecond resolution. Negative + * second values with fractions must still have non-negative nanos values + * that count forward in time. Must be from 0 to 999,999,999 + * inclusive. + * + * @typedef Timestamp + * @memberof google.protobuf + * @see [google.protobuf.Timestamp definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto} + */ +var Timestamp = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js new file mode 100644 index 00000000000..791b600ab1d --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js @@ -0,0 +1,160 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Wrapper message for `double`. + * + * The JSON representation for `DoubleValue` is JSON number. + * + * @property {number} value + * The double value. + * + * @typedef DoubleValue + * @memberof google.protobuf + * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var DoubleValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `float`. + * + * The JSON representation for `FloatValue` is JSON number. + * + * @property {number} value + * The float value. + * + * @typedef FloatValue + * @memberof google.protobuf + * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var FloatValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `int64`. + * + * The JSON representation for `Int64Value` is JSON string. + * + * @property {number} value + * The int64 value. + * + * @typedef Int64Value + * @memberof google.protobuf + * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var Int64Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `uint64`. + * + * The JSON representation for `UInt64Value` is JSON string. + * + * @property {number} value + * The uint64 value. + * + * @typedef UInt64Value + * @memberof google.protobuf + * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var UInt64Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `int32`. + * + * The JSON representation for `Int32Value` is JSON number. + * + * @property {number} value + * The int32 value. + * + * @typedef Int32Value + * @memberof google.protobuf + * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var Int32Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `uint32`. + * + * The JSON representation for `UInt32Value` is JSON number. + * + * @property {number} value + * The uint32 value. + * + * @typedef UInt32Value + * @memberof google.protobuf + * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var UInt32Value = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `bool`. + * + * The JSON representation for `BoolValue` is JSON `true` and `false`. + * + * @property {boolean} value + * The bool value. + * + * @typedef BoolValue + * @memberof google.protobuf + * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var BoolValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `string`. + * + * The JSON representation for `StringValue` is JSON string. + * + * @property {string} value + * The string value. + * + * @typedef StringValue + * @memberof google.protobuf + * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var StringValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Wrapper message for `bytes`. + * + * The JSON representation for `BytesValue` is JSON string. + * + * @property {string} value + * The bytes value. + * + * @typedef BytesValue + * @memberof google.protobuf + * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +var BytesValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js new file mode 100644 index 00000000000..7122f1682e0 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js @@ -0,0 +1,92 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * The `Status` type defines a logical error model that is suitable for different + * programming environments, including REST APIs and RPC APIs. It is used by + * [gRPC](https://github.com/grpc). The error model is designed to be: + * + * - Simple to use and understand for most users + * - Flexible enough to meet unexpected needs + * + * # Overview + * + * The `Status` message contains three pieces of data: error code, error message, + * and error details. The error code should be an enum value of + * google.rpc.Code, but it may accept additional error codes if needed. The + * error message should be a developer-facing English message that helps + * developers *understand* and *resolve* the error. If a localized user-facing + * error message is needed, put the localized message in the error details or + * localize it in the client. The optional error details may contain arbitrary + * information about the error. There is a predefined set of error detail types + * in the package `google.rpc` that can be used for common error conditions. + * + * # Language mapping + * + * The `Status` message is the logical representation of the error model, but it + * is not necessarily the actual wire format. When the `Status` message is + * exposed in different client libraries and different wire protocols, it can be + * mapped differently. For example, it will likely be mapped to some exceptions + * in Java, but more likely mapped to some error codes in C. + * + * # Other uses + * + * The error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a + * consistent developer experience across different environments. + * + * Example uses of this error model include: + * + * - Partial errors. If a service needs to return partial errors to the client, + * it may embed the `Status` in the normal response to indicate the partial + * errors. + * + * - Workflow errors. A typical workflow has multiple steps. Each step may + * have a `Status` message for error reporting. + * + * - Batch operations. If a client uses batch request and batch response, the + * `Status` message should be used directly inside batch response, one for + * each error sub-response. + * + * - Asynchronous operations. If an API call embeds asynchronous operation + * results in its response, the status of those operations should be + * represented directly using the `Status` message. + * + * - Logging. If some API errors are stored in logs, the message `Status` could + * be used directly after any stripping needed for security/privacy reasons. + * + * @property {number} code + * The status code, which should be an enum value of google.rpc.Code. + * + * @property {string} message + * A developer-facing error message, which should be in English. Any + * user-facing error message should be localized and sent in the + * google.rpc.Status.details field, or localized by the client. + * + * @property {Object[]} details + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @typedef Status + * @memberof google.rpc + * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} + */ +var Status = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js new file mode 100644 index 00000000000..8ae80246fe3 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js @@ -0,0 +1,164 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Represents a color in the RGBA color space. This representation is designed + * for simplicity of conversion to/from color representations in various + * languages over compactness; for example, the fields of this representation + * can be trivially provided to the constructor of "java.awt.Color" in Java; it + * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" + * method in iOS; and, with just a little work, it can be easily formatted into + * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * + * Example (Java): + * + * import com.google.type.Color; + * + * // ... + * public static java.awt.Color fromProto(Color protocolor) { + * float alpha = protocolor.hasAlpha() + * ? protocolor.getAlpha().getValue() + * : 1.0; + * + * return new java.awt.Color( + * protocolor.getRed(), + * protocolor.getGreen(), + * protocolor.getBlue(), + * alpha); + * } + * + * public static Color toProto(java.awt.Color color) { + * float red = (float) color.getRed(); + * float green = (float) color.getGreen(); + * float blue = (float) color.getBlue(); + * float denominator = 255.0; + * Color.Builder resultBuilder = + * Color + * .newBuilder() + * .setRed(red / denominator) + * .setGreen(green / denominator) + * .setBlue(blue / denominator); + * int alpha = color.getAlpha(); + * if (alpha != 255) { + * result.setAlpha( + * FloatValue + * .newBuilder() + * .setValue(((float) alpha) / denominator) + * .build()); + * } + * return resultBuilder.build(); + * } + * // ... + * + * Example (iOS / Obj-C): + * + * // ... + * static UIColor* fromProto(Color* protocolor) { + * float red = [protocolor red]; + * float green = [protocolor green]; + * float blue = [protocolor blue]; + * FloatValue* alpha_wrapper = [protocolor alpha]; + * float alpha = 1.0; + * if (alpha_wrapper != nil) { + * alpha = [alpha_wrapper value]; + * } + * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; + * } + * + * static Color* toProto(UIColor* color) { + * CGFloat red, green, blue, alpha; + * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { + * return nil; + * } + * Color* result = [Color alloc] init]; + * [result setRed:red]; + * [result setGreen:green]; + * [result setBlue:blue]; + * if (alpha <= 0.9999) { + * [result setAlpha:floatWrapperWithValue(alpha)]; + * } + * [result autorelease]; + * return result; + * } + * // ... + * + * Example (JavaScript): + * + * // ... + * + * var protoToCssColor = function(rgb_color) { + * var redFrac = rgb_color.red || 0.0; + * var greenFrac = rgb_color.green || 0.0; + * var blueFrac = rgb_color.blue || 0.0; + * var red = Math.floor(redFrac * 255); + * var green = Math.floor(greenFrac * 255); + * var blue = Math.floor(blueFrac * 255); + * + * if (!('alpha' in rgb_color)) { + * return rgbToCssColor_(red, green, blue); + * } + * + * var alphaFrac = rgb_color.alpha.value || 0.0; + * var rgbParams = [red, green, blue].join(','); + * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); + * }; + * + * var rgbToCssColor_ = function(red, green, blue) { + * var rgbNumber = new Number((red << 16) | (green << 8) | blue); + * var hexString = rgbNumber.toString(16); + * var missingZeros = 6 - hexString.length; + * var resultBuilder = ['#']; + * for (var i = 0; i < missingZeros; i++) { + * resultBuilder.push('0'); + * } + * resultBuilder.push(hexString); + * return resultBuilder.join(''); + * }; + * + * // ... + * + * @property {number} red + * The amount of red in the color as a value in the interval [0, 1]. + * + * @property {number} green + * The amount of green in the color as a value in the interval [0, 1]. + * + * @property {number} blue + * The amount of blue in the color as a value in the interval [0, 1]. + * + * @property {Object} alpha + * The fraction of this color that should be applied to the pixel. That is, + * the final pixel color is defined by the equation: + * + * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) + * + * This means that a value of 1.0 corresponds to a solid color, whereas + * a value of 0.0 corresponds to a completely transparent color. This + * uses a wrapper message rather than a simple float scalar so that it is + * possible to distinguish between a default value and the value being unset. + * If omitted, this color object is to be rendered as a solid color + * (as if the alpha value had been explicitly given with a value of 1.0). + * + * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} + * + * @typedef Color + * @memberof google.type + * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} + */ +var Color = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js new file mode 100644 index 00000000000..76150dc3be1 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js @@ -0,0 +1,71 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * An object representing a latitude/longitude pair. This is expressed as a pair + * of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the + * WGS84 + * standard. Values must be within normalized ranges. + * + * Example of normalization code in Python: + * + * def NormalizeLongitude(longitude): + * """Wraps decimal degrees longitude to [-180.0, 180.0].""" + * q, r = divmod(longitude, 360.0) + * if r > 180.0 or (r == 180.0 and q <= -1.0): + * return r - 360.0 + * return r + * + * def NormalizeLatLng(latitude, longitude): + * """Wraps decimal degrees latitude and longitude to + * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" + * r = latitude % 360.0 + * if r <= 90.0: + * return r, NormalizeLongitude(longitude) + * elif r >= 270.0: + * return r - 360, NormalizeLongitude(longitude) + * else: + * return 180 - r, NormalizeLongitude(longitude + 180.0) + * + * assert 180.0 == NormalizeLongitude(180.0) + * assert -180.0 == NormalizeLongitude(-180.0) + * assert -179.0 == NormalizeLongitude(181.0) + * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) + * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) + * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) + * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) + * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) + * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) + * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) + * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) + * + * @property {number} latitude + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + * + * @property {number} longitude + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + * + * @typedef LatLng + * @memberof google.type + * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} + */ +var LatLng = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js new file mode 100644 index 00000000000..38c904bef91 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -0,0 +1,369 @@ +// Copyright 2018 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. + +'use strict'; + +const gapicConfig = require('./image_annotator_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); +const protobuf = require('protobufjs'); + +const VERSION = require('../../package.json').version; + +/** + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. + * + * @class + * @memberof v1p3beta1 + */ +class ImageAnnotatorClient { + /** + * Construct an instance of ImageAnnotatorClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.servicePath] - The domain name of the + * API remote host. + */ + constructor(opts) { + this._descriptors = {}; + + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + var gaxGrpc = new gax.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; + + // Determine the client header string. + var clientHeader = [ + `gl-node/${process.version}`, + `grpc/${gaxGrpc.grpcVersion}`, + `gax/${gax.version}`, + `gapic/${VERSION}`, + ]; + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + + // Load the applicable protos. + var protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/vision/v1p3beta1/image_annotator.proto' + ) + ); + var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/vision/v1p3beta1/image_annotator.proto' + ), + protoFilesRoot + ); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + this.operationsClient = new gax.lro({ + auth: gaxGrpc.auth, + grpc: gaxGrpc.grpc, + }).operationsClient(opts); + + var asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + 'google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse' + ); + var asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1p3beta1.OperationMetadata' + ); + + this._descriptors.longrunning = { + asyncBatchAnnotateFiles: new gax.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateFilesResponse.decode.bind( + asyncBatchAnnotateFilesResponse + ), + asyncBatchAnnotateFilesMetadata.decode.bind( + asyncBatchAnnotateFilesMetadata + ) + ), + }; + + // Put together the default options sent with requests. + var defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p3beta1.ImageAnnotator', + gapicConfig, + opts.clientConfig, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p3beta1.ImageAnnotator. + var imageAnnotatorStub = gaxGrpc.createStub( + protos.google.cloud.vision.v1p3beta1.ImageAnnotator, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + var imageAnnotatorStubMethods = [ + 'batchAnnotateImages', + 'asyncBatchAnnotateFiles', + ]; + for (let methodName of imageAnnotatorStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + imageAnnotatorStub.then( + stub => + function() { + var args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + this._descriptors.longrunning[methodName] + ); + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId(callback) { + return this.auth.getProjectId(callback); + } + + // ------------------- + // -- Service calls -- + // ------------------- + + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p3beta1.AnnotateImageRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * var requests = []; + * client.batchAnnotateImages({requests: requests}) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + batchAnnotateImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.batchAnnotateImages(request, options, callback); + } + + /** + * Run asynchronous image detection and annotation for a list of generic + * files, such as PDF files, which may contain multiple pages and multiple + * images per page. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual async file annotation requests for this batch. + * + * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * var requests = []; + * + * // Handle the operation using the promise pattern. + * client.asyncBatchAnnotateFiles({requests: requests}) + * .then(responses => { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * // The final result of the operation. + * var result = responses[0]; + * + * // The metadata value of the completed operation. + * var metadata = responses[1]; + * + * // The response of the api call returning the complete operation. + * var finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * var requests = []; + * + * // Handle the operation using the event emitter pattern. + * client.asyncBatchAnnotateFiles({requests: requests}) + * .then(responses => { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + asyncBatchAnnotateFiles(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.asyncBatchAnnotateFiles( + request, + options, + callback + ); + } +} + +module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json new file mode 100644 index 00000000000..23e23cdf3d7 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json @@ -0,0 +1,36 @@ +{ + "interfaces": { + "google.cloud.vision.v1p3beta1.ImageAnnotator": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "BatchAnnotateImages": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "AsyncBatchAnnotateFiles": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-vision/src/v1p3beta1/index.js b/packages/google-cloud-vision/src/v1p3beta1/index.js new file mode 100644 index 00000000000..f70d663b492 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/index.js @@ -0,0 +1,21 @@ +// Copyright 2018 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. + +'use strict'; + +const ProductSearchClient = require('./product_search_client'); +const ImageAnnotatorClient = require('./image_annotator_client'); + +module.exports.ProductSearchClient = ProductSearchClient; +module.exports.ImageAnnotatorClient = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js new file mode 100644 index 00000000000..3f4def02a25 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -0,0 +1,2056 @@ +// Copyright 2018 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. + +'use strict'; + +const gapicConfig = require('./product_search_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); +const protobuf = require('protobufjs'); + +const VERSION = require('../../package.json').version; + +/** + * Manages Products and ProductSets of reference images for use in product + * search. It uses the following resource model: + * + * - The API has a collection of ProductSet resources, named + * `projects/* /locations/* /productSets/*`, which acts as a way to put different + * products into groups to limit identification. + * + * In parallel, + * + * - The API has a collection of Product resources, named + * `projects/* /locations/* /products/*` + * + * - Each Product has a collection of ReferenceImage resources, named + * `projects/* /locations/* /products/* /referenceImages/*` + * + * @class + * @memberof v1p3beta1 + */ +class ProductSearchClient { + /** + * Construct an instance of ProductSearchClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.servicePath] - The domain name of the + * API remote host. + */ + constructor(opts) { + this._descriptors = {}; + + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + var gaxGrpc = new gax.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; + + // Determine the client header string. + var clientHeader = [ + `gl-node/${process.version}`, + `grpc/${gaxGrpc.grpcVersion}`, + `gax/${gax.version}`, + `gapic/${VERSION}`, + ]; + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + + // Load the applicable protos. + var protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/vision/v1p3beta1/product_search_service.proto' + ) + ); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this._pathTemplates = { + locationPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}' + ), + productSetPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), + productPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + referenceImagePathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this._descriptors.page = { + listProductSets: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'productSets' + ), + listProducts: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + listReferenceImages: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'referenceImages' + ), + listProductsInProductSet: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + }; + var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/vision/v1p3beta1/product_search_service.proto' + ), + protoFilesRoot + ); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + this.operationsClient = new gax.lro({ + auth: gaxGrpc.auth, + grpc: gaxGrpc.grpc, + }).operationsClient(opts); + + var importProductSetsResponse = protoFilesRoot.lookup( + 'google.cloud.vision.v1p3beta1.ImportProductSetsResponse' + ); + var importProductSetsMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1p3beta1.BatchOperationMetadata' + ); + + this._descriptors.longrunning = { + importProductSets: new gax.LongrunningDescriptor( + this.operationsClient, + importProductSetsResponse.decode.bind(importProductSetsResponse), + importProductSetsMetadata.decode.bind(importProductSetsMetadata) + ), + }; + + // Put together the default options sent with requests. + var defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p3beta1.ProductSearch', + gapicConfig, + opts.clientConfig, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p3beta1.ProductSearch. + var productSearchStub = gaxGrpc.createStub( + protos.google.cloud.vision.v1p3beta1.ProductSearch, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + var productSearchStubMethods = [ + 'createProductSet', + 'listProductSets', + 'getProductSet', + 'updateProductSet', + 'deleteProductSet', + 'createProduct', + 'listProducts', + 'getProduct', + 'updateProduct', + 'deleteProduct', + 'createReferenceImage', + 'deleteReferenceImage', + 'listReferenceImages', + 'getReferenceImage', + 'addProductToProductSet', + 'removeProductFromProductSet', + 'listProductsInProductSet', + 'importProductSets', + ]; + for (let methodName of productSearchStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + productSearchStub.then( + stub => + function() { + var args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.longrunning[methodName] + ); + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId(callback) { + return this.auth.getProjectId(callback); + } + + // ------------------- + // -- Service calls -- + // ------------------- + + /** + * Creates and returns a new ProductSet resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + * 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.productSet + * The ProductSet to create. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} + * @param {string} request.productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * var productSet = {}; + * var productSetId = ''; + * var request = { + * parent: formattedParent, + * productSet: productSet, + * productSetId: productSetId, + * }; + * client.createProductSet(request) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.createProductSet(request, options, callback); + } + + /** + * Lists ProductSets in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1p3beta1.ListProductSetsResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1p3beta1.ListProductSetsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * client.listProductSets({parent: formattedParent}) + * .then(responses => { + * var resources = responses[0]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * + * var options = {autoPaginate: false}; + * var callback = responses => { + * // The actual resources in a response. + * var resources = responses[0]; + * // The next request if the response shows that there are more responses. + * var nextRequest = responses[1]; + * // The actual response object, if necessary. + * // var rawResponse = responses[2]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listProductSets(nextRequest, options).then(callback); + * } + * } + * client.listProductSets({parent: formattedParent}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listProductSets(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listProductSets(request, options, callback); + } + + /** + * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductSets} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} on 'data' event. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * client.listProductSetsStream({parent: formattedParent}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listProductSetsStream(request, options) { + options = options || {}; + + return this._descriptors.page.listProductSets.createStream( + this._innerApiCalls.listProductSets, + request, + options + ); + } + + /** + * Gets information associated with a ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.getProductSet({name: formattedName}) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + getProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.getProductSet(request, options, callback); + } + + /** + * Makes changes to a ProductSet resource. + * Only display_name can be updated currently. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but + * missing from the request or longer than 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object} request.productSet + * The ProductSet resource which replaces the one on the server. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} + * @param {Object} request.updateMask + * The FieldMask that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var productSet = {}; + * var updateMask = {}; + * var request = { + * productSet: productSet, + * updateMask: updateMask, + * }; + * client.updateProductSet(request) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + updateProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.updateProductSet(request, options, callback); + } + + /** + * Permanently deletes a ProductSet. All Products and ReferenceImages in the + * ProductSet will be deleted. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.deleteProductSet({name: formattedName}).catch(err => { + * console.error(err); + * }); + */ + deleteProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.deleteProductSet(request, options, callback); + } + + /** + * Creates and returns a new product resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is missing or invalid. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project in which the Product should be created. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.product + * The product to create. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} + * @param {string} request.productId + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * var product = {}; + * var productId = ''; + * var request = { + * parent: formattedParent, + * product: product, + * productId: productId, + * }; + * client.createProduct(request) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.createProduct(request, options, callback); + } + + /** + * Lists products in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductsResponse]{@link google.cloud.vision.v1p3beta1.ListProductsResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductsResponse]{@link google.cloud.vision.v1p3beta1.ListProductsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * client.listProducts({parent: formattedParent}) + * .then(responses => { + * var resources = responses[0]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * + * var options = {autoPaginate: false}; + * var callback = responses => { + * // The actual resources in a response. + * var resources = responses[0]; + * // The next request if the response shows that there are more responses. + * var nextRequest = responses[1]; + * // The actual response object, if necessary. + * // var rawResponse = responses[2]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listProducts(nextRequest, options).then(callback); + * } + * } + * client.listProducts({parent: formattedParent}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listProducts(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listProducts(request, options, callback); + } + + /** + * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProducts} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * client.listProductsStream({parent: formattedParent}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listProductsStream(request, options) { + options = options || {}; + + return this._descriptors.page.listProducts.createStream( + this._innerApiCalls.listProducts, + request, + options + ); + } + + /** + * Gets information associated with a Product. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.getProduct({name: formattedName}) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + getProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.getProduct(request, options, callback); + } + + /** + * Makes changes to a Product resource. + * Only display_name, description and labels can be updated right now. + * + * If labels are updated, the change will not be reflected in queries until + * the next index time. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + * missing from the request or longer than 4096 characters. + * * Returns INVALID_ARGUMENT if description is present in update_mask but is + * longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is present in update_mask. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object} request.product + * The Product resource which replaces the one on the server. + * product.name is immutable. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} + * @param {Object} request.updateMask + * The FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name` and + * `description`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var product = {}; + * var updateMask = {}; + * var request = { + * product: product, + * updateMask: updateMask, + * }; + * client.updateProduct(request) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + updateProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.updateProduct(request, options, callback); + } + + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. + * + * Possible errors: + * + * * Returns NOT_FOUND if the product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.deleteProduct({name: formattedName}).catch(err => { + * console.error(err); + * }); + */ + deleteProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.deleteProduct(request, options, callback); + } + + /** + * Creates and returns a new ReferenceImage resource. + * + * The `bounding_poly` field is optional. If `bounding_poly` is not specified, + * the system will try to detect regions of interest in the image that are + * compatible with the product_category on the parent product. If it is + * specified, detection is ALWAYS skipped. The system converts polygons into + * non-rotated rectangles. + * + * Note that the pipeline will resize the image if the image resolution is too + * large to process (above 50MP). + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if the product does not exist. + * * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + * compatible with the parent product's product_category is detected. + * * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Resource name of the product in which to create the reference image. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {Object} request.referenceImage + * The reference image to create. + * If an image ID is specified, it is ignored. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} + * @param {string} request.referenceImageId + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * var referenceImage = {}; + * var referenceImageId = ''; + * var request = { + * parent: formattedParent, + * referenceImage: referenceImage, + * referenceImageId: referenceImageId, + * }; + * client.createReferenceImage(request) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createReferenceImage(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.createReferenceImage(request, options, callback); + } + + /** + * Permanently deletes a reference image. + * + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the reference image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); + * client.deleteReferenceImage({name: formattedName}).catch(err => { + * console.error(err); + * }); + */ + deleteReferenceImage(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.deleteReferenceImage(request, options, callback); + } + + /** + * Lists reference images. + * + * Possible errors: + * + * * Returns NOT_FOUND if the parent product does not exist. + * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * var formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * + * client.listReferenceImages({parent: formattedParent}) + * .then(responses => { + * var resources = responses[0]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * var formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * + * + * var options = {autoPaginate: false}; + * var callback = responses => { + * // The actual resources in a response. + * var resources = responses[0]; + * // The next request if the response shows that there are more responses. + * var nextRequest = responses[1]; + * // The actual response object, if necessary. + * // var rawResponse = responses[2]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listReferenceImages(nextRequest, options).then(callback); + * } + * } + * client.listReferenceImages({parent: formattedParent}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listReferenceImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listReferenceImages(request, options, callback); + } + + /** + * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listReferenceImages} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} on 'data' event. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.listReferenceImagesStream({parent: formattedParent}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listReferenceImagesStream(request, options) { + options = options || {}; + + return this._descriptors.page.listReferenceImages.createStream( + this._innerApiCalls.listReferenceImages, + request, + options + ); + } + + /** + * Gets information associated with a ReferenceImage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the specified image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); + * client.getReferenceImage({name: formattedName}) + * .then(responses => { + * var response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + getReferenceImage(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.getReferenceImage(request, options, callback); + } + + /** + * Adds a Product to the specified ProductSet. If the Product is already + * present, no change is made. + * + * One Product can be added to at most 100 ProductSets. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * var product = ''; + * var request = { + * name: formattedName, + * product: product, + * }; + * client.addProductToProductSet(request).catch(err => { + * console.error(err); + * }); + */ + addProductToProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.addProductToProductSet( + request, + options, + callback + ); + } + + /** + * Removes a Product from the specified ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND If the Product is not found under the ProductSet. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * var product = ''; + * var request = { + * name: formattedName, + * product: product, + * }; + * client.removeProductFromProductSet(request).catch(err => { + * console.error(err); + * }); + */ + removeProductFromProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.removeProductFromProductSet( + request, + options, + callback + ); + } + + /** + * Lists the Products in a ProductSet, in an unspecified order. If the + * ProductSet does not exist, the products field of the response will be + * empty. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * + * client.listProductsInProductSet({name: formattedName}) + * .then(responses => { + * var resources = responses[0]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * + * + * var options = {autoPaginate: false}; + * var callback = responses => { + * // The actual resources in a response. + * var resources = responses[0]; + * // The next request if the response shows that there are more responses. + * var nextRequest = responses[1]; + * // The actual response object, if necessary. + * // var rawResponse = responses[2]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listProductsInProductSet(nextRequest, options).then(callback); + * } + * } + * client.listProductsInProductSet({name: formattedName}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listProductsInProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listProductsInProductSet( + request, + options, + callback + ); + } + + /** + * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductsInProductSet} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.listProductsInProductSetStream({name: formattedName}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listProductsInProductSetStream(request, options) { + options = options || {}; + + return this._descriptors.page.listProductsInProductSet.createStream( + this._innerApiCalls.listProductsInProductSet, + request, + options + ); + } + + /** + * Asynchronous API that imports a list of reference images to specified + * product sets based on a list of image information. + * + * The google.longrunning.Operation API can be used to keep track of the + * progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * `Operation.response` contains `ImportProductSetsResponse`. (results) + * + * The input source of this method is a csv file on Google Cloud Storage. + * For the format of the csv file please see + * ImportProductSetsGcsSource.csv_file_uri. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.inputConfig + * The input content for the list of requests. + * + * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * var client = new vision.v1p3beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * var inputConfig = {}; + * var request = { + * parent: formattedParent, + * inputConfig: inputConfig, + * }; + * + * // Handle the operation using the promise pattern. + * client.importProductSets(request) + * .then(responses => { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * // The final result of the operation. + * var result = responses[0]; + * + * // The metadata value of the completed operation. + * var metadata = responses[1]; + * + * // The response of the api call returning the complete operation. + * var finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * var inputConfig = {}; + * var request = { + * parent: formattedParent, + * inputConfig: inputConfig, + * }; + * + * // Handle the operation using the event emitter pattern. + * client.importProductSets(request) + * .then(responses => { + * var operation = responses[0]; + * var initialApiResponse = responses[1]; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + importProductSets(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.importProductSets(request, options, callback); + } + + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified location resource name string. + * + * @param {String} project + * @param {String} location + * @returns {String} + */ + locationPath(project, location) { + return this._pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Return a fully-qualified product_set resource name string. + * + * @param {String} project + * @param {String} location + * @param {String} productSet + * @returns {String} + */ + productSetPath(project, location, productSet) { + return this._pathTemplates.productSetPathTemplate.render({ + project: project, + location: location, + product_set: productSet, + }); + } + + /** + * Return a fully-qualified product resource name string. + * + * @param {String} project + * @param {String} location + * @param {String} product + * @returns {String} + */ + productPath(project, location, product) { + return this._pathTemplates.productPathTemplate.render({ + project: project, + location: location, + product: product, + }); + } + + /** + * Return a fully-qualified reference_image resource name string. + * + * @param {String} project + * @param {String} location + * @param {String} product + * @param {String} referenceImage + * @returns {String} + */ + referenceImagePath(project, location, product, referenceImage) { + return this._pathTemplates.referenceImagePathTemplate.render({ + project: project, + location: location, + product: product, + reference_image: referenceImage, + }); + } + + /** + * Parse the locationName from a location resource. + * + * @param {String} locationName + * A fully-qualified path representing a location resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromLocationName(locationName) { + return this._pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the locationName from a location resource. + * + * @param {String} locationName + * A fully-qualified path representing a location resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromLocationName(locationName) { + return this._pathTemplates.locationPathTemplate.match(locationName) + .location; + } + + /** + * Parse the productSetName from a product_set resource. + * + * @param {String} productSetName + * A fully-qualified path representing a product_set resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductSetName(productSetName) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .project; + } + + /** + * Parse the productSetName from a product_set resource. + * + * @param {String} productSetName + * A fully-qualified path representing a product_set resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductSetName(productSetName) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .location; + } + + /** + * Parse the productSetName from a product_set resource. + * + * @param {String} productSetName + * A fully-qualified path representing a product_set resources. + * @returns {String} - A string representing the product_set. + */ + matchProductSetFromProductSetName(productSetName) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .product_set; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the product. + */ + matchProductFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Parse the referenceImageName from a reference_image resource. + * + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).project; + } + + /** + * Parse the referenceImageName from a reference_image resource. + * + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).location; + } + + /** + * Parse the referenceImageName from a reference_image resource. + * + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. + * @returns {String} - A string representing the product. + */ + matchProductFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).product; + } + + /** + * Parse the referenceImageName from a reference_image resource. + * + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. + * @returns {String} - A string representing the reference_image. + */ + matchReferenceImageFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).reference_image; + } +} + +module.exports = ProductSearchClient; diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json b/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json new file mode 100644 index 00000000000..03793ddd14c --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json @@ -0,0 +1,116 @@ +{ + "interfaces": { + "google.cloud.vision.v1p3beta1.ProductSearch": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 20000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 20000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "CreateProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListProductSets": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "UpdateProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "CreateProduct": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListProducts": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetProduct": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "UpdateProduct": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteProduct": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "CreateReferenceImage": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteReferenceImage": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "ListReferenceImages": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetReferenceImage": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "AddProductToProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RemoveProductFromProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListProductsInProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "ImportProductSets": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 7e8fe46c15e..a60db82b133 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -23,12 +23,11 @@ gapic = gcp.GAPICGenerator() -versions = ['v1', 'v1p1beta1', 'v1p2beta1'] +versions = ['v1', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1'] for version in versions: library = gapic.node_library('vision', version) - -s.copy(library, excludes=['src/index.js', 'README.md', 'package.json']) + s.copy(library, excludes=['src/index.js', 'README.md', 'package.json']) ''' Node.js specific cleanup diff --git a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js new file mode 100644 index 00000000000..7784e0aa671 --- /dev/null +++ b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js @@ -0,0 +1,51 @@ +// Copyright 2018 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. + +'use strict'; + +describe('ImageAnnotatorSmokeTest', () => { + it('successfully makes a call to the service', done => { + const vision = require('../src'); + + var client = new vision.v1p3beta1.ImageAnnotatorClient({ + // optional auth parameters. + }); + + var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + var source = { + gcsImageUri: gcsImageUri, + }; + var image = { + source: source, + }; + var type = 'FACE_DETECTION'; + var featuresElement = { + type: type, + }; + var features = [featuresElement]; + var requestsElement = { + image: image, + features: features, + }; + var requests = [requestsElement]; + client + .batchAnnotateImages({requests: requests}) + .then(responses => { + var response = responses[0]; + console.log(response); + }) + .then(done) + .catch(done); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic-v1p3beta1.js b/packages/google-cloud-vision/test/gapic-v1p3beta1.js new file mode 100644 index 00000000000..2918f94d9b4 --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-v1p3beta1.js @@ -0,0 +1,1455 @@ +// Copyright 2018 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. + +'use strict'; + +const assert = require('assert'); + +const visionModule = require('../src'); + +var FAKE_STATUS_CODE = 1; +var error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('ProductSearchClient', () => { + describe('createProductSet', () => { + it('invokes createProductSet without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var productSet = {}; + var productSetId = 'productSetId4216680'; + var request = { + parent: formattedParent, + productSet: productSet, + productSetId: productSetId, + }; + + // Mock response + var name = 'name3373707'; + var displayName = 'displayName1615086568'; + var expectedResponse = { + name: name, + displayName: displayName, + }; + + // Mock Grpc layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.createProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProductSet with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var productSet = {}; + var productSetId = 'productSetId4216680'; + var request = { + parent: formattedParent, + productSet: productSet, + productSetId: productSetId, + }; + + // Mock Grpc layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.createProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('listProductSets', () => { + it('invokes listProductSets without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var request = { + parent: formattedParent, + }; + + // Mock response + var nextPageToken = ''; + var productSetsElement = {}; + var productSets = [productSetsElement]; + var expectedResponse = { + nextPageToken: nextPageToken, + productSets: productSets, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductSets = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.productSets); + }; + + client.listProductSets(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.productSets); + done(); + }); + }); + + it('invokes listProductSets with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductSets = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listProductSets(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('getProductSet', () => { + it('invokes getProductSet without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var request = { + name: formattedName, + }; + + // Mock response + var name2 = 'name2-1052831874'; + var displayName = 'displayName1615086568'; + var expectedResponse = { + name: name2, + displayName: displayName, + }; + + // Mock Grpc layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.getProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProductSet with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.getProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('updateProductSet', () => { + it('invokes updateProductSet without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var productSet = {}; + var updateMask = {}; + var request = { + productSet: productSet, + updateMask: updateMask, + }; + + // Mock response + var name = 'name3373707'; + var displayName = 'displayName1615086568'; + var expectedResponse = { + name: name, + displayName: displayName, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.updateProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProductSet with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var productSet = {}; + var updateMask = {}; + var request = { + productSet: productSet, + updateMask: updateMask, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.updateProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod(request); + + client.deleteProductSet(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes deleteProductSet with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.deleteProductSet(request, err => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('createProduct', () => { + it('invokes createProduct without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var product = {}; + var productId = 'productId1753008747'; + var request = { + parent: formattedParent, + product: product, + productId: productId, + }; + + // Mock response + var name = 'name3373707'; + var displayName = 'displayName1615086568'; + var description = 'description-1724546052'; + var productCategory = 'productCategory-1607451058'; + var expectedResponse = { + name: name, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + + // Mock Grpc layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.createProduct(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProduct with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var product = {}; + var productId = 'productId1753008747'; + var request = { + parent: formattedParent, + product: product, + productId: productId, + }; + + // Mock Grpc layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.createProduct(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('listProducts', () => { + it('invokes listProducts without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var request = { + parent: formattedParent, + }; + + // Mock response + var nextPageToken = ''; + var productsElement = {}; + var products = [productsElement]; + var expectedResponse = { + nextPageToken: nextPageToken, + products: products, + }; + + // Mock Grpc layer + client._innerApiCalls.listProducts = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.products); + }; + + client.listProducts(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.products); + done(); + }); + }); + + it('invokes listProducts with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.listProducts = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listProducts(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('getProduct', () => { + it('invokes getProduct without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + var request = { + name: formattedName, + }; + + // Mock response + var name2 = 'name2-1052831874'; + var displayName = 'displayName1615086568'; + var description = 'description-1724546052'; + var productCategory = 'productCategory-1607451058'; + var expectedResponse = { + name: name2, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + + // Mock Grpc layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.getProduct(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProduct with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.getProduct(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('updateProduct', () => { + it('invokes updateProduct without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var product = {}; + var updateMask = {}; + var request = { + product: product, + updateMask: updateMask, + }; + + // Mock response + var name = 'name3373707'; + var displayName = 'displayName1615086568'; + var description = 'description-1724546052'; + var productCategory = 'productCategory-1607451058'; + var expectedResponse = { + name: name, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.updateProduct(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProduct with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var product = {}; + var updateMask = {}; + var request = { + product: product, + updateMask: updateMask, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.updateProduct(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('deleteProduct', () => { + it('invokes deleteProduct without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod(request); + + client.deleteProduct(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes deleteProduct with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.deleteProduct(request, err => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + var referenceImage = {}; + var referenceImageId = 'referenceImageId1946713331'; + var request = { + parent: formattedParent, + referenceImage: referenceImage, + referenceImageId: referenceImageId, + }; + + // Mock response + var name = 'name3373707'; + var uri = 'uri116076'; + var expectedResponse = { + name: name, + uri: uri, + }; + + // Mock Grpc layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.createReferenceImage(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createReferenceImage with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + var referenceImage = {}; + var referenceImageId = 'referenceImageId1946713331'; + var request = { + parent: formattedParent, + referenceImage: referenceImage, + referenceImageId: referenceImageId, + }; + + // Mock Grpc layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.createReferenceImage(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.referenceImagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[REFERENCE_IMAGE]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request + ); + + client.deleteReferenceImage(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes deleteReferenceImage with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.referenceImagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[REFERENCE_IMAGE]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.deleteReferenceImage(request, err => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + var request = { + parent: formattedParent, + }; + + // Mock response + var pageSize = 883849137; + var nextPageToken = ''; + var referenceImagesElement = {}; + var referenceImages = [referenceImagesElement]; + var expectedResponse = { + pageSize: pageSize, + nextPageToken: nextPageToken, + referenceImages: referenceImages, + }; + + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.referenceImages); + }; + + client.listReferenceImages(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.referenceImages); + done(); + }); + }); + + it('invokes listReferenceImages with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + var request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listReferenceImages(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.referenceImagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[REFERENCE_IMAGE]' + ); + var request = { + name: formattedName, + }; + + // Mock response + var name2 = 'name2-1052831874'; + var uri = 'uri116076'; + var expectedResponse = { + name: name2, + uri: uri, + }; + + // Mock Grpc layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.getReferenceImage(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getReferenceImage with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.referenceImagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[REFERENCE_IMAGE]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.getReferenceImage(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('addProductToProductSet', () => { + it('invokes addProductToProductSet without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var product = 'product-309474065'; + var request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request + ); + + client.addProductToProductSet(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes addProductToProductSet with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var product = 'product-309474065'; + var request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.addProductToProductSet(request, err => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('removeProductFromProductSet', () => { + it('invokes removeProductFromProductSet without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var product = 'product-309474065'; + var request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request + ); + + client.removeProductFromProductSet(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes removeProductFromProductSet with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var product = 'product-309474065'; + var request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.removeProductFromProductSet(request, err => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('listProductsInProductSet', () => { + it('invokes listProductsInProductSet without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var request = { + name: formattedName, + }; + + // Mock response + var nextPageToken = ''; + var productsElement = {}; + var products = [productsElement]; + var expectedResponse = { + nextPageToken: nextPageToken, + products: products, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.products); + }; + + client.listProductsInProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.products); + done(); + }); + }); + + it('invokes listProductsInProductSet with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + var request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listProductsInProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('importProductSets', function() { + it('invokes importProductSets without error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var inputConfig = {}; + var request = { + parent: formattedParent, + inputConfig: inputConfig, + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .importProductSets(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes importProductSets with error', done => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + var inputConfig = {}; + var request = { + parent: formattedParent, + inputConfig: inputConfig, + }; + + // Mock Grpc layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .importProductSets(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + var client = new visionModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.importProductSets + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.importProductSets + .metadataDecoder instanceof Function + ); + }); + }); +}); +describe('ImageAnnotatorClient', () => { + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.batchAnnotateImages(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', done => { + var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.batchAnnotateImages(request, (err, response) => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('asyncBatchAnnotateFiles', function() { + it('invokes asyncBatchAnnotateFiles without error', done => { + var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock response + var expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateFiles with error', done => { + var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + var requests = []; + var request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + var operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.equal(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .metadataDecoder instanceof Function + ); + }); + }); +}); + +function mockSimpleGrpcMethod(expectedRequest, response, error) { + return function(actualRequest, options, callback) { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} + +function mockLongRunningGrpcMethod(expectedRequest, response, error) { + return request => { + assert.deepStrictEqual(request, expectedRequest); + var mockOperation = { + promise: function() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} From b2d40633c3b21d47d9984ea25161bfc5e33f8cc4 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Tue, 17 Jul 2018 23:45:55 -0700 Subject: [PATCH 181/588] feat: implement manual methods for objectLocalization and productSearch on v1p3beta1 (#128) --- packages/google-cloud-vision/src/helpers.js | 117 ++++++++++++++++++ .../google-cloud-vision/test/helpers.test.js | 43 +++++++ 2 files changed, 160 insertions(+) diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index 69e31457ecc..cfe68f4b67d 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -828,5 +828,122 @@ module.exports = apiVersion => { _createSingleFeatureMethod(features.WEB_DETECTION) ); + /** + * Annotate a single image with the result from Product Search. + * + * @see v1p3beta1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1p3beta1.AnnotateImageRequest + * + * @method v1p3beta1.ImageAnnotatorClient#productSearch + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1p3beta1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. + * + * @example + * const vision = require('@google-cloud/vision').v1p3beta1; + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } + * }; + * + * client + * .webDetection(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + if (features.PRODUCT_SEARCH !== undefined) { + methods.productSearch = promisify( + _createSingleFeatureMethod(features.PRODUCT_SEARCH) + ); + } + + /** + * Annotate a single image with localization vectors. + * + * @see v1p3beta1.ImageAnnotatorClient#batchAnnotateImages + * @see google.cloud.vision.v1p3beta1.AnnotateImageRequest + * + * @method v1p3beta1.ImageAnnotatorClient#objectLocalization + * @param {object|string|Buffer} request A representation of the request + * being sent to the Vision API. This is an + * {@link google.cloud.vision.v1.AnnotateImageRequest AnnotateImageRequest}. + * For simple cases, you may also send a string (the URL or filename of + * the image) or a buffer (the image itself). + * @param {object} request.image A dictionary-like object representing the + * image. This should have a single key (`source`, `content`). + * + * If the key is `source`, the value should be another object containing + * `imageUri` or `filename` as a key and a string as a value. + * + * If the key is `content`, the value should be a Buffer. + * @param {object} [callOptions] Optional parameters. You can override the + * default settings for this call, e.g, timeout, retries, paginations, + * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * for the details. + * @param {function(?Error, ?object)} [callback] The function which will be + * called with the result of the API call. + * + * The second parameter to the callback is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * @returns {Promise} The promise which resolves to an array. The first + * element of the array is an object representing + * [BatchAnnotateImagesResponse]{@link BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API + * call. + * + * @example + * // Object localization is only available in v1p3beta1. + * const vision = require('@google-cloud/vision').v1p3beta1; + * const client = new vision.ImageAnnotatorClient(); + * + * const request = { + * image: { + * source: {imageUri: 'gs://path/to/image.jpg'} + * } + * }; + * + * client + * .objectLocalization(request) + * .then(response => { + * // doThingsWith(response); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + if (features.OBJECT_LOCALIZATION !== undefined) { + methods.objectLocalization = promisify( + _createSingleFeatureMethod(features.OBJECT_LOCALIZATION) + ); + } + return methods; }; diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index 888984d1725..2b1d5e71110 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -478,5 +478,48 @@ describe('Vision helper methods', () => { assert(ex.message.indexOf('Setting explicit') > -1); }); }); + + it('creates and promisify methods that are available in certain versions', () => { + const client = new vision.v1p3beta1.ImageAnnotatorClient(); + let request = { + image: { + source: { + imageUri: 'https://cloud.google.com/vision/docs/images/bicycle.jpg', + }, + }, + }; + let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + batchAnnotate.callsArgWith(2, undefined, { + responses: [ + { + localizedObjectAnnotations: [{dummy: 'response'}], + }, + ], + }); + + client + .productSearch(request) + .then(r => { + let response = r[0]; + + assert.deepEqual(response, { + localizedObjectAnnotations: [{dummy: 'response'}], + }); + + assert(batchAnnotate.callCount === 1); + assert(batchAnnotate.calledWith({requests: [request]})); + }) + .catch(assert.ifError); + }); + + it('throws an error if trying to invoke a method not available in current version', () => { + // Use v1 version of client. + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + + assert.throws(() => { + // Object localization is only available for v1p3beta1. + client.objectLocalization({}); + }, 'TypeError: client.objectLocalization is not a function'); + }); }); }); From 11369bed9efe5541a3e6eb14818c332b3665aa5c Mon Sep 17 00:00:00 2001 From: DPE bot Date: Wed, 18 Jul 2018 07:11:36 -0700 Subject: [PATCH 182/588] Re-generate library using /synth.py (#130) --- .../smoke-test/image_annotator_smoke_test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index c7b30885b45..74ccd41a825 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -18,7 +18,7 @@ describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); - var client = new vision.v1p2beta1.ImageAnnotatorClient({ + var client = new vision.v1p3beta1.ImageAnnotatorClient({ // optional auth parameters. }); From 78a42eb8fa128c6a7813d46326ac3d39f4595379 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Wed, 18 Jul 2018 11:14:39 -0700 Subject: [PATCH 183/588] chore: bump package.json to v0.21.0 (#129) --- packages/google-cloud-vision/CHANGELOG.md | 43 +++++++++++++++++++++++ packages/google-cloud-vision/package.json | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 packages/google-cloud-vision/CHANGELOG.md diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md new file mode 100644 index 00000000000..1793fa3dc56 --- /dev/null +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -0,0 +1,43 @@ +# Changelog + +[npm history][1] + +[1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions + +## v0.21.0 + +### Implementation Changes +#### 🚨 BREAKING CHANGE +In this version we dropped support for NodeJS 4.x and 9.x. Your code might break if you're using this library on non LTS versions. +- fix: drop support for node.js 4.x and 9.x (#117) + +### New Features +This release brings in v1p3beta1 of the Cloud Vision API, which includes the following new features: +- Object localization +- Product search + +- gen: v1p3beta1 of Cloud Vision API NodeJS Client Library (#124) +- feat: implement manual methods for objectLocalization and productSearch on v1p3beta1 (#128) + +### Dependencies +- fix: update and cleanup dependencies (#102) +- fix(deps): update dependency yargs to v12 (#103) +- repo: setup greenkeeper.json to update dependencies in samples/package.json (#94) +- refactor: drop dependency on extend (#85) +- fix: move async to dev dependencies (#83) +- chore: update many dependencies (#81) +- fix: switch from node-uuid to uuid (#84) +- chore(package): update eslint to version 5.0.1 (#98) +- chore(package): update eslint to version 5.0.0 (#90) + +### Documentation + +### Internal / Testing Changes +- Add smoke tests via regeneration (#122) +- Re-generate library using /synth.py (#111) +- synth.py: follow synth scripts from other repos (#113) +- Beta2ga pdf ocr (#104) +- Configure Renovate (#87) +- refactor: drop repo-tool as an exec wrapper (#97) +- fix: update linking for samples (#92) + diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index bcc6cac69ac..45d3f98966b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.20.0", + "version": "0.21.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { From 5d9f25b8590350587ed0318a182d111feff2e42c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Wed, 18 Jul 2018 11:20:28 -0700 Subject: [PATCH 184/588] chore(deps): update dependency eslint-plugin-node to v7 (#127) --- .../google-cloud-vision/package-lock.json | 81 +++++++++++++++---- packages/google-cloud-vision/package.json | 2 +- 2 files changed, 65 insertions(+), 18 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index b70548c9b1a..2f02f539da8 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.20.0", + "version": "0.21.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -331,6 +331,7 @@ "version": "0.1.4", "bundled": true, "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -1459,7 +1460,8 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "loose-envify": { "version": "1.3.1", @@ -2952,6 +2954,7 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -2963,6 +2966,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -5392,18 +5396,44 @@ } } }, + "eslint-plugin-es": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.3.1.tgz", + "integrity": "sha512-9XcVyZiQRVeFjqHw8qHNDAZcQLqaHlOGGpeYqzYh8S4JYCWTCO3yzyen8yVmA5PratfzTRWDwCOFphtDEG+w/w==", + "dev": true, + "requires": { + "eslint-utils": "^1.3.0", + "regexpp": "^2.0.0" + }, + "dependencies": { + "regexpp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", + "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==", + "dev": true + } + } + }, "eslint-plugin-node": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", - "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", + "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", "dev": true, "requires": { - "ignore": "^3.3.6", + "eslint-plugin-es": "^1.3.1", + "eslint-utils": "^1.3.1", + "ignore": "^4.0.2", "minimatch": "^3.0.4", - "resolve": "^1.3.3", - "semver": "^5.4.1" + "resolve": "^1.8.1", + "semver": "^5.5.0" }, "dependencies": { + "ignore": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.2.tgz", + "integrity": "sha512-uoxnT7PYpyEnsja+yX+7v49B7LXxmzDJ2JALqHH3oEGzpM2U1IGcbfnOr8Dt57z3B/UWs7/iAgPFbmye8m4I0g==", + "dev": true + }, "resolve": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", @@ -6040,12 +6070,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6060,17 +6092,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -6187,7 +6222,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -6199,6 +6235,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6213,6 +6250,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6220,12 +6258,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -6244,6 +6284,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -6324,7 +6365,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -6336,6 +6378,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -6457,6 +6500,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -8419,7 +8463,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true + "dev": true, + "optional": true }, "loose-envify": { "version": "1.4.0", @@ -9004,6 +9049,7 @@ "version": "0.1.4", "bundled": true, "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -9946,7 +9992,8 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "lru-cache": { "version": "4.1.3", diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 45d3f98966b..400e6604041 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -78,7 +78,7 @@ "codecov": "^3.0.2", "eslint": "^5.0.1", "eslint-config-prettier": "^2.9.0", - "eslint-plugin-node": "^6.0.1", + "eslint-plugin-node": "^7.0.0", "eslint-plugin-prettier": "^2.6.1", "ink-docstrap": "^1.3.2", "intelli-espower-loader": "^1.0.1", From ea10d2afde325709f2277a0e078690cd1dd40491 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Mon, 23 Jul 2018 16:29:04 -0700 Subject: [PATCH 185/588] Re-generate library using /synth.py (#132) --- packages/google-cloud-vision/test/gapic-v1.js | 4 +- .../test/gapic-v1p1beta1.js | 2 +- .../test/gapic-v1p2beta1.js | 4 +- .../test/gapic-v1p3beta1.js | 40 +++++++++---------- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 6a6f942a063..f242503594e 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -73,7 +73,7 @@ describe('ImageAnnotatorClient', () => { client.batchAnnotateImages(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -147,7 +147,7 @@ describe('ImageAnnotatorClient', () => { }) .catch(err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js index cff40d58995..8812f4fb8e9 100644 --- a/packages/google-cloud-vision/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p1beta1.js @@ -73,7 +73,7 @@ describe('ImageAnnotatorClient', () => { client.batchAnnotateImages(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); diff --git a/packages/google-cloud-vision/test/gapic-v1p2beta1.js b/packages/google-cloud-vision/test/gapic-v1p2beta1.js index 6aec571c71b..c53e4d1515e 100644 --- a/packages/google-cloud-vision/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p2beta1.js @@ -73,7 +73,7 @@ describe('ImageAnnotatorClient', () => { client.batchAnnotateImages(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -147,7 +147,7 @@ describe('ImageAnnotatorClient', () => { }) .catch(err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); diff --git a/packages/google-cloud-vision/test/gapic-v1p3beta1.js b/packages/google-cloud-vision/test/gapic-v1p3beta1.js index 2918f94d9b4..9a4198f0ba7 100644 --- a/packages/google-cloud-vision/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p3beta1.js @@ -86,7 +86,7 @@ describe('ProductSearchClient', () => { client.createProductSet(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -153,7 +153,7 @@ describe('ProductSearchClient', () => { client.listProductSets(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -223,7 +223,7 @@ describe('ProductSearchClient', () => { client.getProductSet(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -289,7 +289,7 @@ describe('ProductSearchClient', () => { client.updateProductSet(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -347,7 +347,7 @@ describe('ProductSearchClient', () => { client.deleteProductSet(request, err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); @@ -420,7 +420,7 @@ describe('ProductSearchClient', () => { client.createProduct(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -487,7 +487,7 @@ describe('ProductSearchClient', () => { client.listProducts(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -561,7 +561,7 @@ describe('ProductSearchClient', () => { client.getProduct(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -631,7 +631,7 @@ describe('ProductSearchClient', () => { client.updateProduct(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -689,7 +689,7 @@ describe('ProductSearchClient', () => { client.deleteProduct(request, err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); @@ -766,7 +766,7 @@ describe('ProductSearchClient', () => { client.createReferenceImage(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -828,7 +828,7 @@ describe('ProductSearchClient', () => { client.deleteReferenceImage(request, err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); @@ -904,7 +904,7 @@ describe('ProductSearchClient', () => { client.listReferenceImages(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -976,7 +976,7 @@ describe('ProductSearchClient', () => { client.getReferenceImage(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -1040,7 +1040,7 @@ describe('ProductSearchClient', () => { client.addProductToProductSet(request, err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); @@ -1103,7 +1103,7 @@ describe('ProductSearchClient', () => { client.removeProductFromProductSet(request, err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); @@ -1177,7 +1177,7 @@ describe('ProductSearchClient', () => { client.listProductsInProductSet(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -1255,7 +1255,7 @@ describe('ProductSearchClient', () => { }) .catch(err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); @@ -1327,7 +1327,7 @@ describe('ImageAnnotatorClient', () => { client.batchAnnotateImages(request, (err, response) => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); @@ -1401,7 +1401,7 @@ describe('ImageAnnotatorClient', () => { }) .catch(err => { assert(err instanceof Error); - assert.equal(err.code, FAKE_STATUS_CODE); + assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); From 454c594ca99665c65dab96300edb532070cb1b51 Mon Sep 17 00:00:00 2001 From: Chris Frater Date: Mon, 23 Jul 2018 19:45:19 -0700 Subject: [PATCH 186/588] Code Samples demonstrating Object Localization & Handwriting OCR (#133) * betaPR * Fixed Region Tags, automl up next * fixed linting * really actually fixed linting * linter again * Update .eslintignore * update eslintignore again * more linting * really hate linting * Update .eslintrc.yml * That was harsh, lintings okay * Update detect.v1p3beta1.js * Update detect.v1p3beta1.js * Fixed Region Tags * Updated v1p3beta1.js * Fixed detect.v1p3beta1 * Fixed test * removed comment * removed comment * Updated URI paths I'm sorry, I'm having some issues with git here- my branch has had changes from last comments/edits, I'm sorry about redundancies * changed to LLC * Changing google LLC * disable prettier for lint * fixed //standard endpoint * Creates a client fix * removed JSON stringify * changed order * added language hinting also fixed default handwritingGCSuri * forgot fs. * cleaned up spacing between api call and request * cleaned up image examples --- packages/google-cloud-vision/.eslintignore | 1 + .../google-cloud-vision/package-lock.json | 5146 +++++++++-------- packages/google-cloud-vision/package.json | 3 +- .../system-test/.eslintrc.yml | 1 + .../google-cloud-vision/test/.eslintrc.yml | 1 + 5 files changed, 2583 insertions(+), 2569 deletions(-) mode change 100644 => 100755 packages/google-cloud-vision/package-lock.json diff --git a/packages/google-cloud-vision/.eslintignore b/packages/google-cloud-vision/.eslintignore index f6fac98b0a8..7b5856eaa32 100644 --- a/packages/google-cloud-vision/.eslintignore +++ b/packages/google-cloud-vision/.eslintignore @@ -1,3 +1,4 @@ node_modules/* samples/node_modules/* src/**/doc/* +samples/system-test/* diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json old mode 100644 new mode 100755 index 2f02f539da8..875f0ecbb77 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.8.0", - "babel-plugin-syntax-trailing-function-commas": "^6.20.0", - "babel-plugin-transform-async-to-generator": "^6.16.0", - "babel-plugin-transform-es2015-destructuring": "^6.19.0", - "babel-plugin-transform-es2015-function-name": "^6.9.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", - "babel-plugin-transform-es2015-parameters": "^6.21.0", - "babel-plugin-transform-es2015-spread": "^6.8.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", - "babel-plugin-transform-exponentiation-operator": "^6.8.0", - "package-hash": "^1.2.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "package-hash": "1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "^1.3.0" + "md5-hex": "1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "^2.0.0", - "babel-plugin-espower": "^2.3.2" + "@ava/babel-plugin-throws-helper": "2.0.0", + "babel-plugin-espower": "2.4.0" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.51", - "jsesc": "^2.5.1", - "lodash": "^4.17.5", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "jsesc": "2.5.1", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" + "lodash": "4.17.10" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "debug": "^3.1.0", - "globals": "^11.1.0", - "invariant": "^2.2.0", - "lodash": "^4.17.5" + "debug": "3.1.0", + "globals": "11.7.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "globals": { @@ -191,9 +191,9 @@ "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.5", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,7 +210,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "^1.0.1" + "arrify": "1.0.1" } }, "@google-cloud/common": { @@ -218,21 +218,21 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.3.tgz", "integrity": "sha512-jt8/R4EqDTQccv5WA9AEaS65llM5+mlxsuWu57G5Os8HTIpgPbcsOVMUeIvmTrBuPUYSoRIMW8d/pvv/95n0+g==", "requires": { - "@types/duplexify": "^3.5.0", - "@types/request": "^2.47.0", - "arrify": "^1.0.1", - "axios": "^0.18.0", - "duplexify": "^3.6.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auth-library": "^1.6.0", - "is": "^3.2.1", - "pify": "^3.0.0", - "request": "^2.87.0", - "retry-request": "^4.0.0", - "split-array-stream": "^2.0.0", - "stream-events": "^1.0.4", - "through2": "^2.0.3" + "@types/duplexify": "3.5.0", + "@types/request": "2.47.1", + "arrify": "1.0.1", + "axios": "0.18.0", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auth-library": "1.6.1", + "is": "3.2.1", + "pify": "3.0.0", + "request": "2.87.0", + "retry-request": "4.0.0", + "split-array-stream": "2.0.0", + "stream-events": "1.0.4", + "through2": "2.0.3" } }, "@google-cloud/nodejs-repo-tools": { @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.7.2", "proxyquire": "1.8.0", - "semver": "^5.5.0", + "semver": "5.5.0", "sinon": "6.0.1", "string": "3.3.3", "supertest": "3.1.0", @@ -275,9 +275,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "is-fullwidth-code-point": { @@ -298,44 +298,43 @@ "integrity": "sha512-gBt7qwsR1vryYfglVjQRx1D+AtMZW5NbUKxb+lZe8SN8KsheGCPGWEsSC9AGQG+r2+te1+10uPHUCahuqm1nGQ==", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.2", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.10.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.3", - "istanbul-reports": "^1.4.0", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.3", + "istanbul-reports": "1.4.0", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", "yargs": "11.1.0", - "yargs-parser": "^8.0.0" + "yargs-parser": "8.1.0" }, "dependencies": { "align-text": { "version": "0.1.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -358,7 +357,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -411,9 +410,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-generator": { @@ -421,14 +420,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-messages": { @@ -436,7 +435,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-runtime": { @@ -444,8 +443,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.6", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -453,11 +452,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -465,15 +464,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" } }, "babel-types": { @@ -481,10 +480,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -502,13 +501,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -516,7 +515,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -524,7 +523,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -532,7 +531,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -540,9 +539,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -557,7 +556,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -566,16 +565,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -583,7 +582,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -598,15 +597,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "caching-transform": { @@ -614,9 +613,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -631,8 +630,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -640,11 +639,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "class-utils": { @@ -652,10 +651,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -663,7 +662,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -674,8 +673,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -697,8 +696,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "commondir": { @@ -736,8 +735,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.0" } }, "debug": { @@ -768,7 +767,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-property": { @@ -776,8 +775,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -785,7 +784,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -793,7 +792,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -801,9 +800,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -818,7 +817,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "error-ex": { @@ -826,7 +825,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "escape-string-regexp": { @@ -844,13 +843,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -858,9 +857,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.0" } } } @@ -870,13 +869,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -884,7 +883,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -892,7 +891,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -902,8 +901,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -911,7 +910,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -921,14 +920,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -936,7 +935,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -944,7 +943,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -952,7 +951,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -960,7 +959,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -968,9 +967,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -985,10 +984,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -996,7 +995,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -1006,9 +1005,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -1016,7 +1015,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -1029,8 +1028,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fragment-cache": { @@ -1038,7 +1037,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs.realpath": { @@ -1066,12 +1065,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "globals": { @@ -1089,10 +1088,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -1100,7 +1099,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -1110,7 +1109,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -1123,9 +1122,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -1133,8 +1132,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -1142,7 +1141,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1162,8 +1161,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -1176,7 +1175,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -1189,7 +1188,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -1207,7 +1206,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-data-descriptor": { @@ -1215,7 +1214,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -1223,9 +1222,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -1245,7 +1244,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -1258,7 +1257,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -1266,7 +1265,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -1281,7 +1280,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-stream": { @@ -1324,7 +1323,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -1332,13 +1331,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" } }, "istanbul-lib-report": { @@ -1346,10 +1345,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "supports-color": { @@ -1357,7 +1356,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -1367,11 +1366,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -1389,7 +1388,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "js-tokens": { @@ -1407,7 +1406,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -1421,7 +1420,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -1429,11 +1428,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -1441,8 +1440,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -1460,15 +1459,14 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "loose-envify": { "version": "1.3.1", "bundled": true, "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "lru-cache": { @@ -1476,8 +1474,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "map-cache": { @@ -1490,7 +1488,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5-hex": { @@ -1498,7 +1496,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -1511,7 +1509,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge-source-map": { @@ -1519,7 +1517,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.6.1" + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -1534,19 +1532,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -1566,7 +1564,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -1579,8 +1577,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -1588,7 +1586,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -1611,18 +1609,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -1637,10 +1635,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { @@ -1648,7 +1646,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -1666,9 +1664,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -1676,7 +1674,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -1686,7 +1684,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.pick": { @@ -1694,7 +1692,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "once": { @@ -1702,7 +1700,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -1710,8 +1708,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -1724,9 +1722,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -1739,7 +1737,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -1747,7 +1745,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { @@ -1760,7 +1758,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pascalcase": { @@ -1773,7 +1771,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -1796,9 +1794,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -1816,7 +1814,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -1824,7 +1822,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -1832,8 +1830,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1853,9 +1851,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -1863,8 +1861,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -1872,8 +1870,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1888,8 +1886,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "repeat-element": { @@ -1907,7 +1905,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "require-directory": { @@ -1941,7 +1939,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -1949,7 +1947,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-regex": { @@ -1957,7 +1955,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "semver": { @@ -1975,10 +1973,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -1986,7 +1984,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -1996,7 +1994,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -2019,14 +2017,14 @@ "bundled": true, "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "3.1.0" }, "dependencies": { "define-property": { @@ -2034,7 +2032,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -2042,7 +2040,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2052,9 +2050,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -2062,7 +2060,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -2070,7 +2068,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -2078,7 +2076,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -2086,9 +2084,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -2103,7 +2101,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -2116,11 +2114,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "^2.0.0", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { @@ -2133,12 +2131,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" } }, "spdx-correct": { @@ -2146,8 +2144,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -2160,8 +2158,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -2174,7 +2172,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "static-extend": { @@ -2182,8 +2180,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -2191,7 +2189,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -2201,8 +2199,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -2215,7 +2213,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2225,7 +2223,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -2233,7 +2231,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -2251,11 +2249,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-fast-properties": { @@ -2268,7 +2266,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -2276,10 +2274,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -2287,8 +2285,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "trim-right": { @@ -2302,9 +2300,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -2313,9 +2311,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -2332,10 +2330,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -2343,7 +2341,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -2351,10 +2349,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -2364,8 +2362,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -2373,9 +2371,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -2405,7 +2403,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -2420,8 +2418,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "which": { @@ -2429,7 +2427,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -2453,8 +2451,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -2462,7 +2460,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -2470,9 +2468,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -2487,9 +2485,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -2507,18 +2505,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "ansi-regex": { @@ -2536,9 +2534,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "strip-ansi": { @@ -2546,7 +2544,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs-parser": { @@ -2554,7 +2552,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -2564,7 +2562,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -2582,9 +2580,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "sinon": { @@ -2593,13 +2591,13 @@ "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.5.0", - "lodash.get": "^4.4.2", - "lolex": "^2.4.2", - "nise": "^1.3.3", - "supports-color": "^5.4.0", - "type-detect": "^4.0.8" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.1", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "string-width": { @@ -2608,8 +2606,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -2618,7 +2616,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs": { @@ -2627,18 +2625,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "yargs-parser": { @@ -2647,7 +2645,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -2660,27 +2658,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "^0.17.0", - "arrify": "^1.0.0", - "async": "^2.0.1", - "compressible": "^2.0.12", - "concat-stream": "^1.5.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "extend": "^3.0.0", - "gcs-resumable-upload": "^0.10.2", - "hash-stream-validation": "^0.2.1", - "is": "^3.0.1", - "mime": "^2.2.0", - "mime-types": "^2.0.8", - "once": "^1.3.1", - "pumpify": "^1.5.1", - "request": "^2.85.0", - "safe-buffer": "^5.1.1", - "snakeize": "^0.1.0", - "stream-events": "^1.0.1", - "through2": "^2.0.0", - "xdg-basedir": "^3.0.0" + "@google-cloud/common": "0.17.0", + "arrify": "1.0.1", + "async": "2.6.1", + "compressible": "2.0.14", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "extend": "3.0.1", + "gcs-resumable-upload": "0.10.2", + "hash-stream-validation": "0.2.1", + "is": "3.2.1", + "mime": "2.3.1", + "mime-types": "2.1.18", + "once": "1.4.0", + "pumpify": "1.5.1", + "request": "2.87.0", + "safe-buffer": "5.1.2", + "snakeize": "0.1.0", + "stream-events": "1.0.4", + "through2": "2.0.3", + "xdg-basedir": "3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -2689,24 +2687,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "^1.0.3", - "arrify": "^1.0.1", - "concat-stream": "^1.6.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auto-auth": "^0.10.0", - "is": "^3.2.0", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.1", + "google-auto-auth": "0.10.1", + "is": "3.2.1", "log-driver": "1.2.7", - "methmeth": "^1.1.0", - "modelo": "^4.2.0", - "request": "^2.79.0", - "retry-request": "^3.0.0", - "split-array-stream": "^1.0.0", - "stream-events": "^1.0.1", - "string-format-obj": "^1.1.0", - "through2": "^2.0.3" + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "1.0.3", + "stream-events": "1.0.4", + "string-format-obj": "1.1.1", + "through2": "2.0.3" } }, "retry-request": { @@ -2715,8 +2713,8 @@ "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "dev": true, "requires": { - "request": "^2.81.0", - "through2": "^2.0.0" + "request": "2.87.0", + "through2": "2.0.3" } }, "split-array-stream": { @@ -2725,8 +2723,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "^2.4.0", - "is-stream-ended": "^0.1.0" + "async": "2.6.1", + "is-stream-ended": "0.1.4" } } } @@ -2737,10 +2735,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "^0.4.0", - "date-time": "^0.1.1", - "pretty-ms": "^0.2.1", - "text-table": "^0.2.0" + "chalk": "0.4.0", + "date-time": "0.1.1", + "pretty-ms": "0.2.2", + "text-table": "0.2.0" }, "dependencies": { "ansi-styles": { @@ -2755,9 +2753,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" } }, "pretty-ms": { @@ -2766,7 +2764,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "^0.1.0" + "parse-ms": "0.1.2" } }, "strip-ansi": { @@ -2782,8 +2780,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" } }, "@nodelib/fs.stat": { @@ -2816,8 +2814,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/inquire": "1.1.0" } }, "@protobufjs/float": { @@ -2876,7 +2874,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "*" + "@types/node": "10.5.2" } }, "@types/form-data": { @@ -2884,7 +2882,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "*" + "@types/node": "10.5.2" } }, "@types/long": { @@ -2902,10 +2900,10 @@ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "*", - "@types/form-data": "*", - "@types/node": "*", - "@types/tough-cookie": "*" + "@types/caseless": "0.12.1", + "@types/form-data": "2.2.1", + "@types/node": "10.5.2", + "@types/tough-cookie": "2.3.3" } }, "@types/tough-cookie": { @@ -2929,7 +2927,7 @@ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "^5.0.3" + "acorn": "5.7.1" } }, "ajv": { @@ -2937,10 +2935,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -2954,11 +2952,10 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, - "optional": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" }, "dependencies": { "kind-of": { @@ -2966,9 +2963,8 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "optional": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2985,7 +2981,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -3006,8 +3002,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3016,7 +3012,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3038,7 +3034,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "anymatch": { @@ -3047,8 +3043,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -3057,7 +3053,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "array-unique": { @@ -3072,9 +3068,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "expand-brackets": { @@ -3083,7 +3079,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "extglob": { @@ -3092,7 +3088,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-extglob": { @@ -3107,7 +3103,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "kind-of": { @@ -3116,7 +3112,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "micromatch": { @@ -3125,19 +3121,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } } } @@ -3148,7 +3144,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "argv": { @@ -3206,7 +3202,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -3229,8 +3225,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "~0.7.1", - "optjs": "~3.2.2" + "colour": "0.7.1", + "optjs": "3.2.2" } }, "asn1": { @@ -3254,7 +3250,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "async-each": { @@ -3285,89 +3281,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "^1.1.0", - "@ava/babel-preset-transform-test-files": "^3.0.0", - "@ava/write-file-atomic": "^2.2.0", - "@concordance/react": "^1.0.0", - "@ladjs/time-require": "^0.1.4", - "ansi-escapes": "^3.0.0", - "ansi-styles": "^3.1.0", - "arr-flatten": "^1.0.1", - "array-union": "^1.0.1", - "array-uniq": "^1.0.2", - "arrify": "^1.0.0", - "auto-bind": "^1.1.0", - "ava-init": "^0.2.0", - "babel-core": "^6.17.0", - "babel-generator": "^6.26.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "bluebird": "^3.0.0", - "caching-transform": "^1.0.0", - "chalk": "^2.0.1", - "chokidar": "^1.4.2", - "clean-stack": "^1.1.1", - "clean-yaml-object": "^0.1.0", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.0.0", - "cli-truncate": "^1.0.0", - "co-with-promise": "^4.6.0", - "code-excerpt": "^2.1.1", - "common-path-prefix": "^1.0.0", - "concordance": "^3.0.0", - "convert-source-map": "^1.5.1", - "core-assert": "^0.2.0", - "currently-unhandled": "^0.4.1", - "debug": "^3.0.1", - "dot-prop": "^4.1.0", - "empower-core": "^0.6.1", - "equal-length": "^1.0.0", - "figures": "^2.0.0", - "find-cache-dir": "^1.0.0", - "fn-name": "^2.0.0", - "get-port": "^3.0.0", - "globby": "^6.0.0", - "has-flag": "^2.0.0", - "hullabaloo-config-manager": "^1.1.0", - "ignore-by-default": "^1.0.0", - "import-local": "^0.1.1", - "indent-string": "^3.0.0", - "is-ci": "^1.0.7", - "is-generator-fn": "^1.0.0", - "is-obj": "^1.0.0", - "is-observable": "^1.0.0", - "is-promise": "^2.1.0", - "last-line-stream": "^1.0.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.debounce": "^4.0.3", - "lodash.difference": "^4.3.0", - "lodash.flatten": "^4.2.0", - "loud-rejection": "^1.2.0", - "make-dir": "^1.0.0", - "matcher": "^1.0.0", - "md5-hex": "^2.0.0", - "meow": "^3.7.0", - "ms": "^2.0.0", - "multimatch": "^2.1.0", - "observable-to-promise": "^0.5.0", - "option-chain": "^1.0.0", - "package-hash": "^2.0.0", - "pkg-conf": "^2.0.0", - "plur": "^2.0.0", - "pretty-ms": "^3.0.0", - "require-precompiled": "^0.1.0", - "resolve-cwd": "^2.0.0", - "safe-buffer": "^5.1.1", - "semver": "^5.4.1", - "slash": "^1.0.0", - "source-map-support": "^0.5.0", - "stack-utils": "^1.0.1", - "strip-ansi": "^4.0.0", - "strip-bom-buf": "^1.0.0", - "supertap": "^1.0.0", - "supports-color": "^5.0.0", - "trim-off-newlines": "^1.0.1", - "unique-temp-dir": "^1.0.0", - "update-notifier": "^2.3.0" + "@ava/babel-preset-stage-4": "1.1.0", + "@ava/babel-preset-transform-test-files": "3.0.0", + "@ava/write-file-atomic": "2.2.0", + "@concordance/react": "1.0.0", + "@ladjs/time-require": "0.1.4", + "ansi-escapes": "3.1.0", + "ansi-styles": "3.2.1", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.2.1", + "ava-init": "0.2.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.4.1", + "chokidar": "1.7.0", + "clean-stack": "1.3.0", + "clean-yaml-object": "0.1.0", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "cli-truncate": "1.1.0", + "co-with-promise": "4.6.0", + "code-excerpt": "2.1.1", + "common-path-prefix": "1.0.0", + "concordance": "3.0.0", + "convert-source-map": "1.5.1", + "core-assert": "0.2.1", + "currently-unhandled": "0.4.1", + "debug": "3.1.0", + "dot-prop": "4.2.0", + "empower-core": "0.6.2", + "equal-length": "1.0.1", + "figures": "2.0.0", + "find-cache-dir": "1.0.0", + "fn-name": "2.0.1", + "get-port": "3.2.0", + "globby": "6.1.0", + "has-flag": "2.0.0", + "hullabaloo-config-manager": "1.1.1", + "ignore-by-default": "1.0.1", + "import-local": "0.1.1", + "indent-string": "3.2.0", + "is-ci": "1.1.0", + "is-generator-fn": "1.0.0", + "is-obj": "1.0.1", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "last-line-stream": "1.0.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.debounce": "4.0.8", + "lodash.difference": "4.5.0", + "lodash.flatten": "4.4.0", + "loud-rejection": "1.6.0", + "make-dir": "1.3.0", + "matcher": "1.1.1", + "md5-hex": "2.0.0", + "meow": "3.7.0", + "ms": "2.0.0", + "multimatch": "2.1.0", + "observable-to-promise": "0.5.0", + "option-chain": "1.0.0", + "package-hash": "2.0.0", + "pkg-conf": "2.1.0", + "plur": "2.1.2", + "pretty-ms": "3.2.0", + "require-precompiled": "0.1.0", + "resolve-cwd": "2.0.0", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slash": "1.0.0", + "source-map-support": "0.5.6", + "stack-utils": "1.0.1", + "strip-ansi": "4.0.0", + "strip-bom-buf": "1.0.0", + "supertap": "1.0.0", + "supports-color": "5.4.0", + "trim-off-newlines": "1.0.1", + "unique-temp-dir": "1.0.0", + "update-notifier": "2.5.0" }, "dependencies": { "ansi-regex": { @@ -3383,7 +3379,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "globby": { @@ -3392,11 +3388,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -3417,7 +3413,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "strip-ansi": { @@ -3426,7 +3422,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3437,11 +3433,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "^1.0.0", - "execa": "^0.7.0", - "has-yarn": "^1.0.0", - "read-pkg-up": "^2.0.0", - "write-pkg": "^3.1.0" + "arr-exclude": "1.0.0", + "execa": "0.7.0", + "has-yarn": "1.0.0", + "read-pkg-up": "2.0.0", + "write-pkg": "3.2.0" } }, "aws-sign2": { @@ -3459,8 +3455,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.1", + "is-buffer": "1.1.6" } }, "babel-code-frame": { @@ -3469,9 +3465,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -3486,11 +3482,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -3507,25 +3503,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -3545,14 +3541,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -3569,9 +3565,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-call-delegate": { @@ -3580,10 +3576,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-explode-assignable-expression": { @@ -3592,9 +3588,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -3603,11 +3599,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -3616,8 +3612,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -3626,8 +3622,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -3636,9 +3632,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -3647,11 +3643,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -3660,8 +3656,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-messages": { @@ -3670,7 +3666,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -3679,7 +3675,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-espower": { @@ -3688,13 +3684,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "^6.1.0", - "babylon": "^6.1.0", - "call-matcher": "^1.0.0", - "core-js": "^2.0.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.1.1" + "babel-generator": "6.26.1", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.7", + "espower-location-detector": "1.0.0", + "espurify": "1.8.1", + "estraverse": "4.2.0" } }, "babel-plugin-syntax-async-functions": { @@ -3727,9 +3723,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3738,7 +3734,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3747,9 +3743,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3758,10 +3754,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3770,12 +3766,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -3784,7 +3780,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3793,9 +3789,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3804,9 +3800,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3815,9 +3811,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-strict-mode": { @@ -3826,8 +3822,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-register": { @@ -3836,13 +3832,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "source-map-support": { @@ -3851,7 +3847,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -3862,8 +3858,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -3872,11 +3868,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -3885,15 +3881,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "debug": { @@ -3913,10 +3909,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3935,13 +3931,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3949,7 +3945,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3957,7 +3953,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3965,7 +3961,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3973,9 +3969,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3986,7 +3982,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary-extensions": { @@ -4007,13 +4003,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -4040,8 +4036,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -4050,7 +4046,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -4060,7 +4056,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -4069,16 +4065,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -4086,7 +4082,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4125,7 +4121,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "~3" + "long": "3.2.0" }, "dependencies": { "long": { @@ -4140,15 +4136,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "cacheable-request": { @@ -4180,9 +4176,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" }, "dependencies": { "md5-hex": { @@ -4191,7 +4187,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "write-file-atomic": { @@ -4200,9 +4196,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } } } @@ -4213,10 +4209,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "^2.0.0", - "deep-equal": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.0.0" + "core-js": "2.5.7", + "deep-equal": "1.0.1", + "espurify": "1.8.1", + "estraverse": "4.2.0" } }, "call-me-maybe": { @@ -4235,7 +4231,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -4255,8 +4251,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "capture-stack-trace": { @@ -4276,7 +4272,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "~0.3.0" + "underscore-contrib": "0.3.0" } }, "center-align": { @@ -4286,8 +4282,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -4296,9 +4292,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "chardet": { @@ -4313,15 +4309,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.4", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" }, "dependencies": { "glob-parent": { @@ -4330,7 +4326,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -4345,7 +4341,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -4367,10 +4363,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -4378,7 +4374,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -4407,7 +4403,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -4422,8 +4418,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" + "slice-ansi": "1.0.0", + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -4444,8 +4440,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -4454,7 +4450,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -4470,9 +4466,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone-response": { @@ -4481,7 +4477,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.1" } }, "co": { @@ -4495,7 +4491,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "^1.0.0" + "pinkie-promise": "1.0.0" } }, "code-excerpt": { @@ -4504,7 +4500,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "^1.0.1" + "convert-to-spaces": "1.0.2" } }, "code-point-at": { @@ -4518,10 +4514,10 @@ "integrity": "sha512-KJyzHdg9B8U9LxXa7hS6jnEW5b1cNckLYc2YpnJ1nEFiOW+/iSzDHp+5MYEIQd9fN3/tC6WmGZmYiwxzkuGp/A==", "dev": true, "requires": { - "argv": "^0.0.2", - "ignore-walk": "^3.0.1", - "request": "^2.87.0", - "urlgrey": "^0.4.4" + "argv": "0.0.2", + "ignore-walk": "3.0.1", + "request": "2.87.0", + "urlgrey": "0.4.4" } }, "collection-visit": { @@ -4529,8 +4525,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -4564,7 +4560,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -4596,7 +4592,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.35.0" }, "dependencies": { "mime-db": { @@ -4618,10 +4614,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "concordance": { @@ -4630,17 +4626,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "^2.1.0", - "esutils": "^2.0.2", - "fast-diff": "^1.1.1", - "function-name-support": "^0.2.0", - "js-string-escape": "^1.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.flattendeep": "^4.4.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "semver": "^5.3.0", - "well-known-symbols": "^1.0.0" + "date-time": "2.1.0", + "esutils": "2.0.2", + "fast-diff": "1.1.2", + "function-name-support": "0.2.0", + "js-string-escape": "1.0.1", + "lodash.clonedeep": "4.5.0", + "lodash.flattendeep": "4.4.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "semver": "5.5.0", + "well-known-symbols": "1.0.0" }, "dependencies": { "date-time": { @@ -4649,7 +4645,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "^1.0.0" + "time-zone": "1.0.0" } } } @@ -4660,12 +4656,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "convert-source-map": { @@ -4697,8 +4693,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "^1.0.0", - "is-error": "^2.2.0" + "buf-compare": "1.0.1", + "is-error": "2.2.1" } }, "core-js": { @@ -4717,18 +4713,17 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "crypto-random-string": { @@ -4743,7 +4738,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -4752,7 +4747,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -4760,7 +4755,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-time": { @@ -4793,7 +4788,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.1" } }, "deep-equal": { @@ -4819,8 +4814,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.12" } }, "define-property": { @@ -4828,8 +4823,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4837,7 +4832,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4845,7 +4840,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4853,9 +4848,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -4866,13 +4861,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" }, "dependencies": { "globby": { @@ -4881,12 +4876,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -4907,7 +4902,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } } } @@ -4923,7 +4918,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "diff": { @@ -4942,8 +4937,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" + "arrify": "1.0.1", + "path-type": "3.0.0" } }, "doctrine": { @@ -4952,7 +4947,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-serializer": { @@ -4961,8 +4956,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -4985,7 +4980,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -4994,8 +4989,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -5004,7 +4999,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "duplexer3": { @@ -5018,10 +5013,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" } }, "eastasianwidth": { @@ -5035,7 +5030,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "ecdsa-sig-formatter": { @@ -5043,7 +5038,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "empower": { @@ -5051,8 +5046,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "^2.0.0", - "empower-core": "^1.2.0" + "core-js": "2.5.7", + "empower-core": "1.2.0" } }, "empower-assert": { @@ -5061,7 +5056,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "^4.2.0" + "estraverse": "4.2.0" } }, "empower-core": { @@ -5070,7 +5065,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "end-of-stream": { @@ -5078,7 +5073,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "ent": { @@ -5104,7 +5099,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -5113,11 +5108,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -5126,9 +5121,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { @@ -5137,9 +5132,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-error": { @@ -5154,9 +5149,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -5165,12 +5160,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-set": { @@ -5179,11 +5174,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -5192,8 +5187,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "es6-weak-map": { @@ -5202,10 +5197,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escallmatch": { @@ -5214,8 +5209,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "^1.0.0", - "esprima": "^2.0.0" + "call-matcher": "1.0.1", + "esprima": "2.7.3" }, "dependencies": { "esprima": { @@ -5238,11 +5233,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -5266,10 +5261,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint": { @@ -5278,45 +5273,45 @@ "integrity": "sha512-DyH6JsoA1KzA5+OSWFjg56DFJT+sDLO0yokaPZ9qY0UEmYrPA1gEX/G1MnVkmRDsksG4H1foIVz2ZXXM3hHYvw==", "dev": true, "requires": { - "ajv": "^6.5.0", - "babel-code-frame": "^6.26.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^4.0.0", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^4.0.0", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^5.2.0", - "is-resolvable": "^1.1.0", - "js-yaml": "^3.11.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.5", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.1.0", - "require-uncached": "^1.0.3", - "semver": "^5.5.0", - "string.prototype.matchall": "^2.0.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^4.0.3", - "text-table": "^0.2.0" + "ajv": "6.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "4.0.0", + "eslint-utils": "1.3.1", + "eslint-visitor-keys": "1.0.0", + "espree": "4.0.0", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.7.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "5.2.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "string.prototype.matchall": "2.0.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.3", + "text-table": "0.2.0" }, "dependencies": { "ajv": { @@ -5325,10 +5320,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ansi-regex": { @@ -5343,11 +5338,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "fast-deep-equal": { @@ -5374,7 +5369,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -5385,7 +5380,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "^5.0.1" + "get-stdin": "5.0.1" }, "dependencies": { "get-stdin": { @@ -5396,51 +5391,25 @@ } } }, - "eslint-plugin-es": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.3.1.tgz", - "integrity": "sha512-9XcVyZiQRVeFjqHw8qHNDAZcQLqaHlOGGpeYqzYh8S4JYCWTCO3yzyen8yVmA5PratfzTRWDwCOFphtDEG+w/w==", - "dev": true, - "requires": { - "eslint-utils": "^1.3.0", - "regexpp": "^2.0.0" - }, - "dependencies": { - "regexpp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", - "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==", - "dev": true - } - } - }, "eslint-plugin-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", - "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", + "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "eslint-plugin-es": "^1.3.1", - "eslint-utils": "^1.3.1", - "ignore": "^4.0.2", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "semver": "^5.5.0" + "ignore": "3.3.10", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.5.0" }, "dependencies": { - "ignore": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.2.tgz", - "integrity": "sha512-uoxnT7PYpyEnsja+yX+7v49B7LXxmzDJ2JALqHH3oEGzpM2U1IGcbfnOr8Dt57z3B/UWs7/iAgPFbmye8m4I0g==", - "dev": true - }, "resolve": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } } } @@ -5451,8 +5420,8 @@ "integrity": "sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==", "dev": true, "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" + "fast-diff": "1.1.2", + "jest-docblock": "21.2.0" } }, "eslint-scope": { @@ -5461,8 +5430,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint-utils": { @@ -5483,16 +5452,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "^1.0.0", - "escallmatch": "^1.5.0", - "escodegen": "^1.7.0", - "escope": "^3.3.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.3.0", - "estraverse": "^4.1.0", - "source-map": "^0.5.0", - "type-name": "^2.0.0", - "xtend": "^4.0.0" + "array-find": "1.0.0", + "escallmatch": "1.5.0", + "escodegen": "1.11.0", + "escope": "3.6.0", + "espower-location-detector": "1.0.0", + "espurify": "1.8.1", + "estraverse": "4.2.0", + "source-map": "0.5.7", + "type-name": "2.0.2", + "xtend": "4.0.1" } }, "espower-loader": { @@ -5501,11 +5470,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "^1.1.0", - "espower-source": "^2.0.0", - "minimatch": "^3.0.0", - "source-map-support": "^0.4.0", - "xtend": "^4.0.0" + "convert-source-map": "1.5.1", + "espower-source": "2.3.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" }, "dependencies": { "source-map-support": { @@ -5514,7 +5483,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -5525,10 +5494,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "^1.2.1", - "path-is-absolute": "^1.0.0", - "source-map": "^0.5.0", - "xtend": "^4.0.0" + "is-url": "1.2.4", + "path-is-absolute": "1.0.1", + "source-map": "0.5.7", + "xtend": "4.0.1" } }, "espower-source": { @@ -5537,17 +5506,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.10", - "convert-source-map": "^1.1.1", - "empower-assert": "^1.0.0", - "escodegen": "^1.10.0", - "espower": "^2.1.1", - "estraverse": "^4.0.0", - "merge-estraverse-visitors": "^1.0.0", - "multi-stage-sourcemap": "^0.2.1", - "path-is-absolute": "^1.0.0", - "xtend": "^4.0.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.1", + "empower-assert": "1.1.0", + "escodegen": "1.11.0", + "espower": "2.1.1", + "estraverse": "4.2.0", + "merge-estraverse-visitors": "1.0.0", + "multi-stage-sourcemap": "0.2.1", + "path-is-absolute": "1.0.1", + "xtend": "4.0.1" } }, "espree": { @@ -5556,8 +5525,8 @@ "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "^5.6.0", - "acorn-jsx": "^4.1.1" + "acorn": "5.7.1", + "acorn-jsx": "4.1.1" } }, "esprima": { @@ -5571,7 +5540,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", "requires": { - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "esquery": { @@ -5580,7 +5549,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -5589,7 +5558,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -5609,23 +5578,22 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -5633,13 +5601,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -5655,7 +5623,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -5663,7 +5631,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5674,7 +5642,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { @@ -5683,11 +5651,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "is-number": { @@ -5696,7 +5664,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "isobject": { @@ -5714,7 +5682,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5729,8 +5697,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -5738,7 +5706,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -5749,9 +5717,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -5759,14 +5727,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -5774,7 +5742,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -5782,7 +5750,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -5790,7 +5758,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -5798,7 +5766,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -5806,9 +5774,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -5834,12 +5802,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.0", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" } }, "fast-json-stable-stringify": { @@ -5859,7 +5827,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -5868,8 +5836,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.0", + "object-assign": "4.1.1" } }, "filename-regex": { @@ -5884,8 +5852,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" } }, "fill-range": { @@ -5893,10 +5861,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -5904,7 +5872,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5915,18 +5883,17 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" } }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "flat-cache": { @@ -5935,10 +5902,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" } }, "fn-name": { @@ -5952,7 +5919,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" } }, "for-in": { @@ -5966,7 +5933,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -5984,9 +5951,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.18" } }, "formidable": { @@ -6000,7 +5967,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "from2": { @@ -6009,8 +5976,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "fs-extra": { @@ -6019,9 +5986,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" } }, "fs.realpath": { @@ -6036,8 +6003,8 @@ "dev": true, "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { @@ -6063,23 +6030,21 @@ "dev": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -6092,20 +6057,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -6146,7 +6108,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { @@ -6161,14 +6123,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { @@ -6177,12 +6139,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -6197,7 +6159,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -6206,7 +6168,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -6215,15 +6177,14 @@ "dev": true, "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -6235,9 +6196,8 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -6250,25 +6210,22 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { @@ -6277,14 +6234,13 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -6301,9 +6257,9 @@ "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -6312,16 +6268,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -6330,8 +6286,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -6346,8 +6302,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -6356,17 +6312,16 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -6378,9 +6333,8 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -6401,8 +6355,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -6423,10 +6377,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -6443,13 +6397,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { @@ -6458,7 +6412,7 @@ "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -6500,11 +6454,10 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -6513,7 +6466,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { @@ -6521,7 +6474,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -6536,13 +6489,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -6557,7 +6510,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -6595,8 +6548,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "^0.18.0", - "extend": "^3.0.1", + "axios": "0.18.0", + "extend": "3.0.1", "retry-axios": "0.3.2" } }, @@ -6606,18 +6559,17 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "^3.1.2", - "google-auto-auth": "^0.10.0", - "pumpify": "^1.4.0", - "request": "^2.85.0", - "stream-events": "^1.0.3" + "configstore": "3.1.2", + "google-auto-auth": "0.10.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "stream-events": "1.0.4" } }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, "get-port": { "version": "3.2.0", @@ -6634,8 +6586,7 @@ "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "get-value": { "version": "2.0.6", @@ -6647,7 +6598,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -6655,12 +6606,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -6669,8 +6620,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" }, "dependencies": { "glob-parent": { @@ -6679,7 +6630,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -6694,7 +6645,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -6704,8 +6655,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -6713,7 +6664,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -6729,7 +6680,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { @@ -6743,13 +6694,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" } }, "google-auth-library": { @@ -6757,13 +6708,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "^0.18.0", - "gcp-metadata": "^0.6.3", - "gtoken": "^2.3.0", - "jws": "^3.1.5", - "lodash.isstring": "^4.0.1", - "lru-cache": "^4.1.3", - "retry-axios": "^0.3.2" + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.3.0", + "jws": "3.1.5", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.3", + "retry-axios": "0.3.2" } }, "google-auto-auth": { @@ -6772,10 +6723,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "^2.3.0", - "gcp-metadata": "^0.6.1", - "google-auth-library": "^1.3.1", - "request": "^2.79.0" + "async": "2.6.1", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.6.1", + "request": "2.87.0" } }, "google-gax": { @@ -6783,17 +6734,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "^3.6.0", - "extend": "^3.0.1", - "globby": "^8.0.1", - "google-auth-library": "^1.6.1", - "google-proto-files": "^0.16.0", - "grpc": "^1.12.2", - "is-stream-ended": "^0.1.4", - "lodash": "^4.17.10", - "protobufjs": "^6.8.6", - "retry-request": "^4.0.0", - "through2": "^2.0.3" + "duplexify": "3.6.0", + "extend": "3.0.1", + "globby": "8.0.1", + "google-auth-library": "1.6.1", + "google-proto-files": "0.16.1", + "grpc": "1.13.0", + "is-stream-ended": "0.1.4", + "lodash": "4.17.10", + "protobufjs": "6.8.6", + "retry-request": "4.0.0", + "through2": "2.0.3" } }, "google-p12-pem": { @@ -6801,8 +6752,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "^0.7.4", - "pify": "^3.0.0" + "node-forge": "0.7.5", + "pify": "3.0.0" } }, "google-proto-files": { @@ -6810,9 +6761,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "^8.0.0", - "power-assert": "^1.4.4", - "protobufjs": "^6.8.0" + "globby": "8.0.1", + "power-assert": "1.6.0", + "protobufjs": "6.8.6" } }, "got": { @@ -6821,23 +6772,23 @@ "integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==", "dev": true, "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.1", + "p-cancelable": "0.4.1", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" }, "dependencies": { "prepend-http": { @@ -6852,7 +6803,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "2.0.0" } } } @@ -6874,10 +6825,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.0.tgz", "integrity": "sha512-jGxWFYzttSz9pi8mu283jZvo2zIluWonQ918GMHKx8grT57GIVlvx7/82fo7AGS75lbkPoO1T6PZLvCRD9Pbtw==", "requires": { - "lodash": "^4.17.5", - "nan": "^2.0.0", - "node-pre-gyp": "^0.10.0", - "protobufjs": "^5.0.3" + "lodash": "4.17.10", + "nan": "2.10.0", + "node-pre-gyp": "0.10.2", + "protobufjs": "5.0.3" }, "dependencies": { "abbrev": { @@ -6896,8 +6847,8 @@ "version": "1.1.5", "bundled": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -6908,7 +6859,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -6955,7 +6906,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "fs.realpath": { @@ -6966,26 +6917,26 @@ "version": "2.7.4", "bundled": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" } }, "glob": { "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -6996,22 +6947,22 @@ "version": "0.4.23", "bundled": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -7026,7 +6977,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -7037,7 +6988,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -7048,15 +6999,15 @@ "version": "2.3.3", "bundled": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "mkdirp": { @@ -7080,33 +7031,33 @@ "version": "2.2.1", "bundled": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.23", + "sax": "1.2.4" } }, "node-pre-gyp": { "version": "0.10.2", "bundled": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.1", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.8", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.4" } }, "nopt": { "version": "4.0.1", "bundled": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -7117,18 +7068,18 @@ "version": "1.1.10", "bundled": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { "version": "4.1.2", "bundled": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -7143,7 +7094,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -7158,8 +7109,8 @@ "version": "0.1.5", "bundled": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -7175,40 +7126,56 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "~1", - "bytebuffer": "~5", - "glob": "^7.0.5", - "yargs": "^3.10.0" + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" + }, + "dependencies": { + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" + } + } } }, "rc": { "version": "1.2.8", "bundled": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -7239,23 +7206,23 @@ "version": "1.0.2", "bundled": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { "version": "1.1.1", "bundled": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -7266,13 +7233,13 @@ "version": "4.4.4", "bundled": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.3", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.3", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -7283,7 +7250,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "wrappy": { @@ -7301,11 +7268,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "^0.18.0", - "google-p12-pem": "^1.0.0", - "jws": "^3.1.4", - "mime": "^2.2.0", - "pify": "^3.0.0" + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.5", + "mime": "2.3.1", + "pify": "3.0.0" } }, "handlebars": { @@ -7314,10 +7281,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -7332,7 +7299,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -7347,8 +7314,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has": { @@ -7357,7 +7324,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -7366,7 +7333,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-color": { @@ -7399,7 +7366,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "^1.4.1" + "has-symbol-support-x": "1.4.2" } }, "has-value": { @@ -7407,9 +7374,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -7417,8 +7384,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -7426,7 +7393,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7443,7 +7410,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "he": { @@ -7458,8 +7425,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -7474,12 +7441,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.4.2", + "domutils": "1.7.0", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "http-cache-semantics": { @@ -7493,9 +7460,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "hullabaloo-config-manager": { @@ -7504,20 +7471,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "es6-error": "^4.0.2", - "graceful-fs": "^4.1.11", - "indent-string": "^3.1.0", - "json5": "^0.5.1", - "lodash.clonedeep": "^4.5.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "package-hash": "^2.0.0", - "pkg-dir": "^2.0.0", - "resolve-from": "^3.0.0", - "safe-buffer": "^5.0.1" + "dot-prop": "4.2.0", + "es6-error": "4.1.1", + "graceful-fs": "4.1.11", + "indent-string": "3.2.0", + "json5": "0.5.1", + "lodash.clonedeep": "4.5.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.isequal": "4.5.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "package-hash": "2.0.0", + "pkg-dir": "2.0.0", + "resolve-from": "3.0.0", + "safe-buffer": "5.1.2" } }, "iconv-lite": { @@ -7526,7 +7493,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore": { @@ -7546,7 +7513,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "import-lazy": { @@ -7561,8 +7528,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -7587,8 +7554,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -7608,8 +7575,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "^2.14.1", - "sanitize-html": "^1.13.0" + "moment": "2.22.2", + "sanitize-html": "1.18.2" } }, "inquirer": { @@ -7618,19 +7585,19 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rxjs": "5.5.11", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -7651,8 +7618,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -7661,7 +7628,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -7672,7 +7639,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "^1.0.0" + "espower-loader": "1.2.2" } }, "into-stream": { @@ -7681,8 +7648,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" + "from2": "2.3.0", + "p-is-promise": "1.1.0" } }, "invariant": { @@ -7691,7 +7658,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.4.0" } }, "invert-kv": { @@ -7715,7 +7682,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7723,7 +7690,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7740,7 +7707,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -7754,7 +7721,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -7769,7 +7736,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -7777,7 +7744,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7785,7 +7752,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7801,9 +7768,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -7825,7 +7792,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-error": { @@ -7850,7 +7817,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -7858,7 +7825,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-generator-fn": { @@ -7872,7 +7839,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -7881,8 +7848,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-npm": { @@ -7896,7 +7863,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7904,7 +7871,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7927,7 +7894,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "^1.1.0" + "symbol-observable": "1.2.0" } }, "is-path-cwd": { @@ -7942,7 +7909,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -7951,7 +7918,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -7965,7 +7932,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-posix-bracket": { @@ -7998,7 +7965,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.3" } }, "is-resolvable": { @@ -8016,8 +7983,7 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-stream-ended": { "version": "0.1.4", @@ -8060,8 +8026,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", @@ -8090,8 +8055,8 @@ "@babel/template": "7.0.0-beta.51", "@babel/traverse": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "istanbul-lib-coverage": "^2.0.1", - "semver": "^5.5.0" + "istanbul-lib-coverage": "2.0.1", + "semver": "5.5.0" } }, "isurl": { @@ -8100,8 +8065,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" } }, "jest-docblock": { @@ -8128,8 +8093,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.1" } }, "js2xmlparser": { @@ -8138,7 +8103,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "^1.0.1" + "xmlcreate": "1.0.2" } }, "jsbn": { @@ -8154,17 +8119,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "~3.5.0", - "catharsis": "~0.8.9", - "escape-string-regexp": "~1.0.5", - "js2xmlparser": "~3.0.0", - "klaw": "~2.0.0", - "marked": "~0.3.6", - "mkdirp": "~0.5.1", - "requizzle": "~0.2.1", - "strip-json-comments": "~2.0.1", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", "taffydb": "2.6.2", - "underscore": "~1.8.3" + "underscore": "1.8.3" }, "dependencies": { "babylon": { @@ -8226,7 +8191,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsprim": { @@ -8253,7 +8218,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "jws": { @@ -8261,8 +8226,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "^1.1.5", - "safe-buffer": "^5.0.1" + "jwa": "1.1.6", + "safe-buffer": "5.1.2" } }, "keyv": { @@ -8285,7 +8250,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "last-line-stream": { @@ -8294,7 +8259,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "latest-version": { @@ -8303,7 +8268,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -8318,7 +8283,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -8327,8 +8292,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -8337,10 +8302,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" }, "dependencies": { "pify": { @@ -8355,10 +8320,9 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -8463,8 +8427,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true, - "optional": true + "dev": true }, "loose-envify": { "version": "1.4.0", @@ -8472,7 +8435,7 @@ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -8481,8 +8444,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowercase-keys": { @@ -8496,8 +8459,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -8506,7 +8469,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "map-cache": { @@ -8525,7 +8488,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "marked": { @@ -8540,7 +8503,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.4" + "escape-string-regexp": "1.0.5" } }, "math-random": { @@ -8555,7 +8518,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -8568,9 +8531,8 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "meow": { @@ -8579,16 +8541,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "find-up": { @@ -8597,8 +8559,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "load-json-file": { @@ -8607,11 +8569,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "minimist": { @@ -8626,7 +8588,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-type": { @@ -8635,9 +8597,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -8658,7 +8620,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "read-pkg": { @@ -8667,9 +8629,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -8678,8 +8640,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "strip-bom": { @@ -8688,7 +8650,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } } } @@ -8705,7 +8667,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "merge2": { @@ -8730,19 +8692,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "mime": { @@ -8760,14 +8722,13 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, "mimic-response": { "version": "1.0.1", @@ -8780,7 +8741,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -8794,8 +8755,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8803,7 +8764,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8865,7 +8826,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "^0.1.34" + "source-map": "0.1.43" }, "dependencies": { "source-map": { @@ -8874,7 +8835,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -8885,10 +8846,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" } }, "mute-stream": { @@ -8907,17 +8868,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "natural-compare": { @@ -8944,11 +8905,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "just-extend": "^1.1.27", - "lolex": "^2.3.2", - "path-to-regexp": "^1.7.0", - "text-encoding": "^0.6.4" + "@sinonjs/formatio": "2.0.0", + "just-extend": "1.1.27", + "lolex": "2.7.1", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" } }, "node-forge": { @@ -8962,10 +8923,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -8974,7 +8935,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-url": { @@ -8983,9 +8944,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" }, "dependencies": { "prepend-http": { @@ -9000,9 +8961,8 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -9016,44 +8976,43 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^2.1.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.5", - "istanbul-reports": "^1.4.1", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "2.3.1", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.5", + "istanbul-reports": "1.4.1", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", "yargs": "11.1.0", - "yargs-parser": "^8.0.0" + "yargs-parser": "8.1.0" }, "dependencies": { "align-text": { "version": "0.1.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -9071,7 +9030,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -9129,13 +9088,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -9143,7 +9102,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -9151,7 +9110,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9159,7 +9118,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9167,9 +9126,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9184,7 +9143,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -9193,16 +9152,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -9210,7 +9169,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9225,15 +9184,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "caching-transform": { @@ -9241,9 +9200,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -9258,8 +9217,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "class-utils": { @@ -9267,10 +9226,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -9278,7 +9237,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9289,8 +9248,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -9312,8 +9271,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "commondir": { @@ -9346,8 +9305,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.1" } }, "debug": { @@ -9378,7 +9337,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-property": { @@ -9386,8 +9345,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -9395,7 +9354,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9403,7 +9362,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9411,9 +9370,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9428,7 +9387,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "execa": { @@ -9436,13 +9395,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -9450,9 +9409,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } } } @@ -9462,13 +9421,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -9484,7 +9443,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -9492,7 +9451,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9502,8 +9461,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -9511,7 +9470,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -9521,14 +9480,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -9536,7 +9495,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -9544,7 +9503,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -9552,7 +9511,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9560,7 +9519,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9568,9 +9527,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9585,10 +9544,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -9596,7 +9555,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9606,9 +9565,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -9616,7 +9575,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -9629,8 +9588,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fragment-cache": { @@ -9638,7 +9597,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs.realpath": { @@ -9666,12 +9625,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "graceful-fs": { @@ -9684,10 +9643,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -9695,7 +9654,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -9705,9 +9664,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -9715,8 +9674,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -9724,7 +9683,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -9744,8 +9703,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -9763,7 +9722,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -9781,7 +9740,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-data-descriptor": { @@ -9789,7 +9748,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -9797,9 +9756,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -9824,7 +9783,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -9832,7 +9791,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -9847,7 +9806,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-stream": { @@ -9890,7 +9849,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-report": { @@ -9898,10 +9857,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -9914,7 +9873,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9924,11 +9883,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" } }, "istanbul-reports": { @@ -9936,7 +9895,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "kind-of": { @@ -9944,7 +9903,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -9958,7 +9917,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -9966,11 +9925,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -9978,8 +9937,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -9992,16 +9951,15 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "lru-cache": { "version": "4.1.3", "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "map-cache": { @@ -10014,7 +9972,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5-hex": { @@ -10022,7 +9980,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -10035,7 +9993,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge-source-map": { @@ -10043,7 +10001,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.6.1" + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -10058,19 +10016,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -10090,7 +10048,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -10103,8 +10061,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -10112,7 +10070,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -10135,18 +10093,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -10161,10 +10119,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { @@ -10172,7 +10130,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -10190,9 +10148,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -10200,7 +10158,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -10210,7 +10168,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.pick": { @@ -10218,7 +10176,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "once": { @@ -10226,7 +10184,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -10234,8 +10192,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -10248,9 +10206,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -10263,7 +10221,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -10271,7 +10229,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { @@ -10284,7 +10242,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pascalcase": { @@ -10297,7 +10255,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -10320,9 +10278,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -10340,7 +10298,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -10348,7 +10306,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -10356,8 +10314,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -10377,9 +10335,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -10387,8 +10345,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -10396,8 +10354,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -10407,8 +10365,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "repeat-element": { @@ -10452,7 +10410,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -10460,7 +10418,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-regex": { @@ -10468,7 +10426,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "semver": { @@ -10486,10 +10444,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -10497,7 +10455,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10507,7 +10465,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -10530,14 +10488,14 @@ "bundled": true, "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -10553,7 +10511,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -10561,7 +10519,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10571,9 +10529,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -10581,7 +10539,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -10589,7 +10547,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -10597,7 +10555,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -10605,9 +10563,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -10622,7 +10580,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -10635,11 +10593,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { @@ -10652,12 +10610,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.1" } }, "spdx-correct": { @@ -10665,8 +10623,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -10679,8 +10637,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -10693,7 +10651,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "static-extend": { @@ -10701,8 +10659,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -10710,7 +10668,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -10720,8 +10678,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -10729,7 +10687,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "strip-bom": { @@ -10737,7 +10695,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -10750,11 +10708,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-object-path": { @@ -10762,7 +10720,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -10770,10 +10728,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -10781,8 +10739,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "uglify-js": { @@ -10791,9 +10749,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -10802,9 +10760,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -10821,10 +10779,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -10832,7 +10790,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -10840,10 +10798,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -10853,8 +10811,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -10862,9 +10820,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -10894,7 +10852,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -10909,8 +10867,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "which": { @@ -10918,7 +10876,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -10942,8 +10900,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "ansi-regex": { @@ -10956,7 +10914,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -10964,9 +10922,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -10974,7 +10932,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -10989,9 +10947,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -11009,18 +10967,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "camelcase": { @@ -11033,9 +10991,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "yargs-parser": { @@ -11043,7 +11001,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -11053,7 +11011,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -11081,9 +11039,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -11091,7 +11049,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "kind-of": { @@ -11099,7 +11057,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11114,7 +11072,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.omit": { @@ -11123,8 +11081,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -11132,7 +11090,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "observable-to-promise": { @@ -11141,8 +11099,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "^0.2.0", - "symbol-observable": "^1.0.4" + "is-observable": "0.2.0", + "symbol-observable": "1.2.0" }, "dependencies": { "is-observable": { @@ -11151,7 +11109,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "^0.2.2" + "symbol-observable": "0.2.4" }, "dependencies": { "symbol-observable": { @@ -11169,7 +11127,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -11178,7 +11136,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -11187,8 +11145,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "option-chain": { @@ -11203,12 +11161,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -11235,7 +11193,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-tmpdir": { @@ -11253,8 +11211,7 @@ "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-is-promise": { "version": "1.1.0", @@ -11266,18 +11223,16 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-timeout": { @@ -11286,14 +11241,13 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "^1.0.0" + "p-finally": "1.0.0" } }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "package-hash": { "version": "2.0.0", @@ -11301,10 +11255,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "lodash.flattendeep": "^4.4.0", - "md5-hex": "^2.0.0", - "release-zalgo": "^1.0.0" + "graceful-fs": "4.1.11", + "lodash.flattendeep": "4.4.0", + "md5-hex": "2.0.0", + "release-zalgo": "1.0.0" } }, "package-json": { @@ -11313,10 +11267,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" }, "dependencies": { "got": { @@ -11325,17 +11279,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } } } @@ -11346,10 +11300,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" }, "dependencies": { "is-extglob": { @@ -11364,7 +11318,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -11375,7 +11329,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse-ms": { @@ -11397,8 +11351,7 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", @@ -11414,8 +11367,7 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-parse": { "version": "1.0.5", @@ -11445,7 +11397,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "performance-now": { @@ -11470,7 +11422,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "^1.0.0" + "pinkie": "1.0.0" } }, "pkg-conf": { @@ -11479,8 +11431,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" + "find-up": "2.1.0", + "load-json-file": "4.0.0" }, "dependencies": { "load-json-file": { @@ -11489,10 +11441,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "parse-json": { @@ -11501,8 +11453,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } @@ -11513,7 +11465,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" } }, "plur": { @@ -11522,7 +11474,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "^1.0.0" + "irregular-plurals": "1.4.0" } }, "pluralize": { @@ -11542,9 +11494,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" }, "dependencies": { "source-map": { @@ -11560,11 +11512,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "^1.1.2", - "empower": "^1.3.0", - "power-assert-formatter": "^1.4.1", - "universal-deep-strict-equal": "^1.2.1", - "xtend": "^4.0.0" + "define-properties": "1.1.2", + "empower": "1.3.0", + "power-assert-formatter": "1.4.1", + "universal-deep-strict-equal": "1.2.2", + "xtend": "4.0.1" } }, "power-assert-context-formatter": { @@ -11572,8 +11524,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "^2.0.0", - "power-assert-context-traversal": "^1.2.0" + "core-js": "2.5.7", + "power-assert-context-traversal": "1.2.0" } }, "power-assert-context-reducer-ast": { @@ -11581,11 +11533,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.12", - "core-js": "^2.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.2.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "core-js": "2.5.7", + "espurify": "1.8.1", + "estraverse": "4.2.0" } }, "power-assert-context-traversal": { @@ -11593,8 +11545,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "^2.0.0", - "estraverse": "^4.1.0" + "core-js": "2.5.7", + "estraverse": "4.2.0" } }, "power-assert-formatter": { @@ -11602,13 +11554,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "^2.0.0", - "power-assert-context-formatter": "^1.0.7", - "power-assert-context-reducer-ast": "^1.0.7", - "power-assert-renderer-assertion": "^1.0.7", - "power-assert-renderer-comparison": "^1.0.7", - "power-assert-renderer-diagram": "^1.0.7", - "power-assert-renderer-file": "^1.0.7" + "core-js": "2.5.7", + "power-assert-context-formatter": "1.2.0", + "power-assert-context-reducer-ast": "1.2.0", + "power-assert-renderer-assertion": "1.2.0", + "power-assert-renderer-comparison": "1.2.0", + "power-assert-renderer-diagram": "1.2.0", + "power-assert-renderer-file": "1.2.0" } }, "power-assert-renderer-assertion": { @@ -11616,8 +11568,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0" + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0" } }, "power-assert-renderer-base": { @@ -11630,11 +11582,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "^2.0.0", - "diff-match-patch": "^1.0.0", - "power-assert-renderer-base": "^1.1.1", - "stringifier": "^1.3.0", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "diff-match-patch": "1.0.1", + "power-assert-renderer-base": "1.1.1", + "stringifier": "1.3.0", + "type-name": "2.0.2" } }, "power-assert-renderer-diagram": { @@ -11642,10 +11594,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "^2.0.0", - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0", - "stringifier": "^1.3.0" + "core-js": "2.5.7", + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0", + "stringifier": "1.3.0" } }, "power-assert-renderer-file": { @@ -11653,7 +11605,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "^1.1.1" + "power-assert-renderer-base": "1.1.1" } }, "power-assert-util-string-width": { @@ -11661,7 +11613,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "^0.2.0" + "eastasianwidth": "0.2.0" } }, "prelude-ls": { @@ -11694,7 +11646,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "^1.0.0" + "parse-ms": "1.0.1" }, "dependencies": { "parse-ms": { @@ -11727,19 +11679,19 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^3.0.32", - "@types/node": "^8.9.4", - "long": "^4.0.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/base64": "1.1.2", + "@protobufjs/codegen": "2.0.4", + "@protobufjs/eventemitter": "1.1.0", + "@protobufjs/fetch": "1.1.0", + "@protobufjs/float": "1.0.2", + "@protobufjs/inquire": "1.1.0", + "@protobufjs/path": "1.1.2", + "@protobufjs/pool": "1.1.0", + "@protobufjs/utf8": "1.1.0", + "@types/long": "3.0.32", + "@types/node": "8.10.21", + "long": "4.0.0" }, "dependencies": { "@types/node": { @@ -11755,9 +11707,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.0", - "resolve": "~1.1.7" + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" } }, "pseudomap": { @@ -11771,8 +11723,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -11781,9 +11733,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -11802,9 +11754,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, "randomatic": { @@ -11813,9 +11765,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -11832,10 +11784,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -11852,9 +11804,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" }, "dependencies": { "path-type": { @@ -11863,7 +11815,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "pify": { @@ -11880,8 +11832,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "readable-stream": { @@ -11889,13 +11841,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -11904,10 +11856,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, "redent": { @@ -11916,8 +11868,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" }, "dependencies": { "indent-string": { @@ -11926,7 +11878,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } } } @@ -11949,7 +11901,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -11957,8 +11909,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexp.prototype.flags": { @@ -11967,7 +11919,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "^1.1.2" + "define-properties": "1.1.2" } }, "regexpp": { @@ -11982,9 +11934,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -11993,8 +11945,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.8", + "safe-buffer": "5.1.2" } }, "registry-url": { @@ -12003,7 +11955,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.8" } }, "regjsgen": { @@ -12018,7 +11970,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" } }, "release-zalgo": { @@ -12027,7 +11979,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "^4.0.1" + "es6-error": "4.1.1" } }, "remove-trailing-separator": { @@ -12052,7 +12004,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -12060,39 +12012,37 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "require-precompiled": { "version": "0.1.0", @@ -12106,8 +12056,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" }, "dependencies": { "resolve-from": { @@ -12124,7 +12074,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "~1.6.0" + "underscore": "1.6.0" }, "dependencies": { "underscore": { @@ -12147,7 +12097,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -12167,7 +12117,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "1.0.1" } }, "restore-cursor": { @@ -12176,8 +12126,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -12195,7 +12145,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "right-align": { @@ -12205,7 +12155,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -12214,7 +12164,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "run-async": { @@ -12223,7 +12173,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rxjs": { @@ -12253,7 +12203,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -12273,16 +12223,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "^2.3.0", - "htmlparser2": "^3.9.0", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.mergewith": "^4.6.0", - "postcss": "^6.0.14", - "srcset": "^1.0.0", - "xtend": "^4.0.0" + "chalk": "2.4.1", + "htmlparser2": "3.9.2", + "lodash.clonedeep": "4.5.0", + "lodash.escaperegexp": "4.1.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mergewith": "4.6.1", + "postcss": "6.0.23", + "srcset": "1.0.0", + "xtend": "4.0.1" } }, "semver": { @@ -12297,7 +12247,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "serialize-error": { @@ -12309,8 +12259,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-immediate-shim": { "version": "1.0.1", @@ -12323,10 +12272,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -12334,7 +12283,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12343,22 +12292,19 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "sinon": { "version": "6.1.3", @@ -12366,14 +12312,14 @@ "integrity": "sha512-yeTza8xIZZdiXntCHJAzKll/sSYE+DuJOS8hiSapzaLqdW8eCNVVC9je9SZYYTkPm2bLts9x6UYxwuMAVVrM6Q==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "@sinonjs/samsam": "^2.0.0", - "diff": "^3.5.0", - "lodash.get": "^4.4.2", - "lolex": "^2.4.2", - "nise": "^1.3.3", - "supports-color": "^5.4.0", - "type-detect": "^4.0.8" + "@sinonjs/formatio": "2.0.0", + "@sinonjs/samsam": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.1", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "slash": { @@ -12387,7 +12333,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -12415,14 +12361,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" }, "dependencies": { "debug": { @@ -12438,7 +12384,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -12446,7 +12392,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12456,9 +12402,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -12466,7 +12412,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -12474,7 +12420,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -12482,7 +12428,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -12490,9 +12436,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -12502,7 +12448,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12510,7 +12456,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12521,7 +12467,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "source-map": { @@ -12534,11 +12480,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { @@ -12547,8 +12493,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.0", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -12570,8 +12516,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -12586,8 +12532,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -12601,7 +12547,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "^0.1.4" + "is-stream-ended": "0.1.4" } }, "split-string": { @@ -12609,7 +12555,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -12624,8 +12570,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "^1.0.2", - "number-is-nan": "^1.0.0" + "array-uniq": "1.0.3", + "number-is-nan": "1.0.1" } }, "sshpk": { @@ -12633,15 +12579,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -12655,8 +12601,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -12664,7 +12610,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -12674,7 +12620,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "^3.0.0" + "stubs": "3.0.0" } }, "stream-shift": { @@ -12705,9 +12651,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string.prototype.matchall": { @@ -12716,11 +12662,11 @@ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.10.0", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "regexp.prototype.flags": "^1.2.0" + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "regexp.prototype.flags": "1.2.0" } }, "string_decoder": { @@ -12728,7 +12674,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "stringifier": { @@ -12736,9 +12682,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "^2.0.0", - "traverse": "^0.6.6", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "traverse": "0.6.6", + "type-name": "2.0.2" } }, "strip-ansi": { @@ -12746,7 +12692,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -12761,14 +12707,13 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "^0.2.1" + "is-utf8": "0.2.1" } }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, "strip-indent": { "version": "1.0.1", @@ -12776,7 +12721,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -12796,16 +12741,16 @@ "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", "dev": true, "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.1.1", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.0.5" + "component-emitter": "1.2.1", + "cookiejar": "2.1.2", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.2", + "formidable": "1.2.1", + "methods": "1.1.2", + "mime": "1.6.0", + "qs": "6.5.2", + "readable-stream": "2.3.6" }, "dependencies": { "mime": { @@ -12822,11 +12767,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "indent-string": "^3.2.0", - "js-yaml": "^3.10.0", - "serialize-error": "^2.1.0", - "strip-ansi": "^4.0.0" + "arrify": "1.0.1", + "indent-string": "3.2.0", + "js-yaml": "3.12.0", + "serialize-error": "2.1.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -12841,7 +12786,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12852,7 +12797,7 @@ "integrity": "sha512-O44AMnmJqx294uJQjfUmEyYOg7d9mylNFsMw/Wkz4evKd1njyPrtCN+U6ZIC7sKtfEVQhfTqFFijlXx8KP/Czw==", "dev": true, "requires": { - "methods": "~1.1.2", + "methods": "1.1.2", "superagent": "3.8.2" } }, @@ -12862,7 +12807,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" }, "dependencies": { "has-flag": { @@ -12885,12 +12830,12 @@ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "^6.0.1", - "ajv-keywords": "^3.0.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "6.5.2", + "ajv-keywords": "3.2.0", + "chalk": "2.4.1", + "lodash": "4.17.10", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ajv": { @@ -12899,10 +12844,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ansi-regex": { @@ -12935,8 +12880,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12945,7 +12890,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12962,7 +12907,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "text-encoding": { @@ -12988,8 +12933,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-zone": { @@ -13010,7 +12955,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-fast-properties": { @@ -13024,7 +12969,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -13032,7 +12977,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -13042,10 +12987,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -13053,8 +12998,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "tough-cookie": { @@ -13062,7 +13007,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "traverse": { @@ -13093,7 +13038,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -13108,7 +13053,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -13135,9 +13080,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "camelcase": { @@ -13154,8 +13099,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" } }, @@ -13180,9 +13125,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -13229,10 +13174,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -13240,7 +13185,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -13248,10 +13193,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -13262,7 +13207,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "unique-temp-dir": { @@ -13271,8 +13216,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "^0.5.1", - "os-tmpdir": "^1.0.1", + "mkdirp": "0.5.1", + "os-tmpdir": "1.0.2", "uid2": "0.0.3" } }, @@ -13281,9 +13226,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "^1.0.0", + "array-filter": "1.0.0", "indexof": "0.0.1", - "object-keys": "^1.0.0" + "object-keys": "1.0.12" } }, "universalify": { @@ -13297,8 +13242,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -13306,9 +13251,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -13340,16 +13285,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" } }, "uri-js": { @@ -13358,7 +13303,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" }, "dependencies": { "punycode": { @@ -13380,7 +13325,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "url-to-options": { @@ -13416,8 +13361,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -13425,9 +13370,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "well-known-symbols": { @@ -13440,16 +13385,14 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "widest-line": { "version": "2.0.0", @@ -13457,7 +13400,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -13478,8 +13421,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -13488,7 +13431,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -13509,8 +13452,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -13524,7 +13467,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -13533,9 +13476,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "write-json-file": { @@ -13544,12 +13487,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" + "detect-indent": "5.0.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "pify": "3.0.0", + "sort-keys": "2.0.0", + "write-file-atomic": "2.3.0" }, "dependencies": { "detect-indent": { @@ -13566,8 +13509,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" + "sort-keys": "2.0.0", + "write-json-file": "2.3.0" } }, "xdg-basedir": { @@ -13598,17 +13541,84 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "requires": { + "camelcase": "4.1.0" + } + } } }, "yargs-parser": { @@ -13617,7 +13627,7 @@ "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 400e6604041..33b2b800347 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -69,7 +69,8 @@ "google-gax": "^0.17.1", "is": "^3.2.1", "lodash.merge": "^4.6.1", - "protobufjs": "^6.8.6" + "protobufjs": "^6.8.6", + "yargs": "^12.0.0" }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", diff --git a/packages/google-cloud-vision/system-test/.eslintrc.yml b/packages/google-cloud-vision/system-test/.eslintrc.yml index 2e6882e46d2..2eb0c97e825 100644 --- a/packages/google-cloud-vision/system-test/.eslintrc.yml +++ b/packages/google-cloud-vision/system-test/.eslintrc.yml @@ -4,3 +4,4 @@ env: rules: node/no-unpublished-require: off no-console: off + node/no-deprecated-api: off diff --git a/packages/google-cloud-vision/test/.eslintrc.yml b/packages/google-cloud-vision/test/.eslintrc.yml index 73f7bbc946f..9084b7fb5ad 100644 --- a/packages/google-cloud-vision/test/.eslintrc.yml +++ b/packages/google-cloud-vision/test/.eslintrc.yml @@ -3,3 +3,4 @@ env: mocha: true rules: node/no-unpublished-require: off + node/no-deprecated-api: off From e21f9cd0d6f4a4a1d682890b71f010d14ad2e4eb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 24 Jul 2018 10:05:10 -0700 Subject: [PATCH 187/588] chore(deps): lock file maintenance (#135) --- .../google-cloud-vision/package-lock.json | 5333 +++++++++-------- 1 file changed, 2761 insertions(+), 2572 deletions(-) mode change 100755 => 100644 packages/google-cloud-vision/package-lock.json diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json old mode 100755 new mode 100644 index 875f0ecbb77..75ec4ae6255 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "package-hash": "1.2.0" + "babel-plugin-check-es2015-constants": "^6.8.0", + "babel-plugin-syntax-trailing-function-commas": "^6.20.0", + "babel-plugin-transform-async-to-generator": "^6.16.0", + "babel-plugin-transform-es2015-destructuring": "^6.19.0", + "babel-plugin-transform-es2015-function-name": "^6.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", + "babel-plugin-transform-es2015-parameters": "^6.21.0", + "babel-plugin-transform-es2015-spread": "^6.8.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", + "babel-plugin-transform-exponentiation-operator": "^6.8.0", + "package-hash": "^1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "1.3.0" + "md5-hex": "^1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.4.0" + "@ava/babel-plugin-throws-helper": "^2.0.0", + "babel-plugin-espower": "^2.3.2" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.51", - "jsesc": "2.5.1", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "jsesc": "^2.5.1", + "lodash": "^4.17.5", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "lodash": "4.17.10" + "lodash": "^4.17.5" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "debug": "3.1.0", - "globals": "11.7.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.17.5" }, "dependencies": { "globals": { @@ -191,9 +191,9 @@ "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.5", + "to-fast-properties": "^2.0.0" }, "dependencies": { "to-fast-properties": { @@ -210,7 +210,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "1.0.1" + "arrify": "^1.0.1" } }, "@google-cloud/common": { @@ -218,27 +218,27 @@ "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.3.tgz", "integrity": "sha512-jt8/R4EqDTQccv5WA9AEaS65llM5+mlxsuWu57G5Os8HTIpgPbcsOVMUeIvmTrBuPUYSoRIMW8d/pvv/95n0+g==", "requires": { - "@types/duplexify": "3.5.0", - "@types/request": "2.47.1", - "arrify": "1.0.1", - "axios": "0.18.0", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auth-library": "1.6.1", - "is": "3.2.1", - "pify": "3.0.0", - "request": "2.87.0", - "retry-request": "4.0.0", - "split-array-stream": "2.0.0", - "stream-events": "1.0.4", - "through2": "2.0.3" + "@types/duplexify": "^3.5.0", + "@types/request": "^2.47.0", + "arrify": "^1.0.1", + "axios": "^0.18.0", + "duplexify": "^3.6.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auth-library": "^1.6.0", + "is": "^3.2.1", + "pify": "^3.0.0", + "request": "^2.87.0", + "retry-request": "^4.0.0", + "split-array-stream": "^2.0.0", + "stream-events": "^1.0.4", + "through2": "^2.0.3" } }, "@google-cloud/nodejs-repo-tools": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.3.1.tgz", - "integrity": "sha512-yIOn92sjHwpF/eORQWjv7QzQPcESSRCsZshdmeX40RGRlB0+HPODRDghZq0GiCqe6zpIYZvKmiKiYd3u52P/7Q==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.3.2.tgz", + "integrity": "sha512-Zah0wZcVifSpKIy5ulTFyGpHYAA8h/biYy8X7J2UvaXga5XlyruKrXo2K1VmBxB9MDPXa0Duz8M003pe2Ras3w==", "dev": true, "requires": { "ava": "0.25.0", @@ -249,7 +249,7 @@ "lodash": "4.17.5", "nyc": "11.7.2", "proxyquire": "1.8.0", - "semver": "5.5.0", + "semver": "^5.5.0", "sinon": "6.0.1", "string": "3.3.3", "supertest": "3.1.0", @@ -275,9 +275,18 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -286,6 +295,16 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, "lodash": { "version": "4.17.5", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", @@ -298,33 +317,33 @@ "integrity": "sha512-gBt7qwsR1vryYfglVjQRx1D+AtMZW5NbUKxb+lZe8SN8KsheGCPGWEsSC9AGQG+r2+te1+10uPHUCahuqm1nGQ==", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.3", - "istanbul-reports": "1.4.0", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.10.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.4.0", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", "yargs": "11.1.0", - "yargs-parser": "8.1.0" + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -332,9 +351,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -357,7 +376,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -410,9 +429,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-generator": { @@ -420,14 +439,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, "babel-messages": { @@ -435,7 +454,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -443,8 +462,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "2.5.6", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -452,11 +471,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -464,15 +483,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -480,10 +499,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -501,13 +520,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -515,7 +534,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -523,7 +542,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -531,7 +550,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -539,9 +558,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -556,7 +575,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -565,16 +584,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -582,7 +601,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -597,15 +616,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "caching-transform": { @@ -613,9 +632,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -630,8 +649,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -639,11 +658,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "class-utils": { @@ -651,10 +670,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -662,7 +681,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -673,8 +692,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -696,8 +715,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "commondir": { @@ -735,8 +754,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -767,7 +786,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { @@ -775,8 +794,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -784,7 +803,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -792,7 +811,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -800,9 +819,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -817,7 +836,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "error-ex": { @@ -825,7 +844,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "escape-string-regexp": { @@ -843,13 +862,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -857,9 +876,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -869,13 +888,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -883,7 +902,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -891,7 +910,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -901,8 +920,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -910,7 +929,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -920,14 +939,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -935,7 +954,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -943,7 +962,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -951,7 +970,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -959,7 +978,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -967,9 +986,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -984,10 +1003,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -995,7 +1014,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -1005,9 +1024,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -1015,7 +1034,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -1028,8 +1047,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fragment-cache": { @@ -1037,7 +1056,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -1065,12 +1084,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "globals": { @@ -1088,10 +1107,10 @@ "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -1099,7 +1118,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -1109,7 +1128,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -1122,9 +1141,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -1132,8 +1151,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -1141,7 +1160,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1161,8 +1180,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -1175,7 +1194,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -1188,7 +1207,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -1206,7 +1225,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { @@ -1214,7 +1233,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { @@ -1222,9 +1241,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -1244,7 +1263,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -1257,7 +1276,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -1265,7 +1284,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -1280,7 +1299,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-stream": { @@ -1323,7 +1342,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -1331,13 +1350,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -1345,10 +1364,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "supports-color": { @@ -1356,7 +1375,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -1366,11 +1385,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -1388,7 +1407,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "js-tokens": { @@ -1406,7 +1425,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -1420,7 +1439,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -1428,11 +1447,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -1440,8 +1459,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -1466,7 +1485,7 @@ "bundled": true, "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "lru-cache": { @@ -1474,8 +1493,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { @@ -1488,7 +1507,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { @@ -1496,7 +1515,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -1509,7 +1528,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -1517,7 +1536,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -1532,19 +1551,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "dependencies": { "kind-of": { @@ -1564,7 +1583,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -1577,8 +1596,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -1586,7 +1605,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -1609,18 +1628,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "kind-of": { @@ -1635,10 +1654,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { @@ -1646,7 +1665,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -1664,9 +1683,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -1674,7 +1693,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -1684,7 +1703,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.pick": { @@ -1692,7 +1711,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "once": { @@ -1700,7 +1719,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -1708,8 +1727,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -1722,9 +1741,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -1737,7 +1756,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -1745,7 +1764,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -1758,7 +1777,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { @@ -1771,7 +1790,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -1794,9 +1813,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -1814,7 +1833,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -1822,7 +1841,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -1830,8 +1849,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1851,9 +1870,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -1861,8 +1880,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -1870,8 +1889,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -1886,8 +1905,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "repeat-element": { @@ -1905,7 +1924,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "require-directory": { @@ -1939,7 +1958,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -1947,7 +1966,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { @@ -1955,7 +1974,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { @@ -1973,10 +1992,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -1984,7 +2003,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -1994,7 +2013,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -2017,14 +2036,14 @@ "bundled": true, "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -2032,7 +2051,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -2040,7 +2059,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2050,9 +2069,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -2060,7 +2079,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -2068,7 +2087,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -2076,7 +2095,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -2084,9 +2103,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -2101,7 +2120,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -2114,11 +2133,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { @@ -2131,12 +2150,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -2144,8 +2163,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -2158,8 +2177,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -2172,7 +2191,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { @@ -2180,8 +2199,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -2189,7 +2208,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -2199,8 +2218,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -2213,7 +2232,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -2223,7 +2242,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -2231,7 +2250,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -2249,11 +2268,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-fast-properties": { @@ -2266,7 +2285,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -2274,10 +2293,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -2285,8 +2304,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "trim-right": { @@ -2300,9 +2319,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -2311,9 +2330,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -2330,10 +2349,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -2341,7 +2360,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -2349,10 +2368,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -2362,8 +2381,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -2371,9 +2390,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -2403,7 +2422,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -2418,8 +2437,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { @@ -2427,7 +2446,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -2451,8 +2470,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -2460,7 +2479,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -2468,9 +2487,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -2485,9 +2504,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -2505,18 +2524,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "ansi-regex": { @@ -2534,9 +2553,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "strip-ansi": { @@ -2544,7 +2563,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs-parser": { @@ -2552,7 +2571,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -2562,7 +2581,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -2580,24 +2599,48 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" } }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, "sinon": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.0.1.tgz", "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.1", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "diff": "^3.5.0", + "lodash.get": "^4.4.2", + "lolex": "^2.4.2", + "nise": "^1.3.3", + "supports-color": "^5.4.0", + "type-detect": "^4.0.8" } }, "string-width": { @@ -2606,8 +2649,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2616,7 +2659,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "yargs": { @@ -2625,18 +2668,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "yargs-parser": { @@ -2645,7 +2688,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -2658,27 +2701,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "0.17.0", - "arrify": "1.0.1", - "async": "2.6.1", - "compressible": "2.0.14", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "extend": "3.0.1", - "gcs-resumable-upload": "0.10.2", - "hash-stream-validation": "0.2.1", - "is": "3.2.1", - "mime": "2.3.1", - "mime-types": "2.1.18", - "once": "1.4.0", - "pumpify": "1.5.1", - "request": "2.87.0", - "safe-buffer": "5.1.2", - "snakeize": "0.1.0", - "stream-events": "1.0.4", - "through2": "2.0.3", - "xdg-basedir": "3.0.0" + "@google-cloud/common": "^0.17.0", + "arrify": "^1.0.0", + "async": "^2.0.1", + "compressible": "^2.0.12", + "concat-stream": "^1.5.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "extend": "^3.0.0", + "gcs-resumable-upload": "^0.10.2", + "hash-stream-validation": "^0.2.1", + "is": "^3.0.1", + "mime": "^2.2.0", + "mime-types": "^2.0.8", + "once": "^1.3.1", + "pumpify": "^1.5.1", + "request": "^2.85.0", + "safe-buffer": "^5.1.1", + "snakeize": "^0.1.0", + "stream-events": "^1.0.1", + "through2": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "@google-cloud/common": { @@ -2687,24 +2730,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.1", - "google-auto-auth": "0.10.1", - "is": "3.2.1", + "array-uniq": "^1.0.3", + "arrify": "^1.0.1", + "concat-stream": "^1.6.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auto-auth": "^0.10.0", + "is": "^3.2.0", "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "1.0.3", - "stream-events": "1.0.4", - "string-format-obj": "1.1.1", - "through2": "2.0.3" + "methmeth": "^1.1.0", + "modelo": "^4.2.0", + "request": "^2.79.0", + "retry-request": "^3.0.0", + "split-array-stream": "^1.0.0", + "stream-events": "^1.0.1", + "string-format-obj": "^1.1.0", + "through2": "^2.0.3" } }, "retry-request": { @@ -2713,8 +2756,8 @@ "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "dev": true, "requires": { - "request": "2.87.0", - "through2": "2.0.3" + "request": "^2.81.0", + "through2": "^2.0.0" } }, "split-array-stream": { @@ -2723,8 +2766,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "2.6.1", - "is-stream-ended": "0.1.4" + "async": "^2.4.0", + "is-stream-ended": "^0.1.0" } } } @@ -2735,10 +2778,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "0.4.0", - "date-time": "0.1.1", - "pretty-ms": "0.2.2", - "text-table": "0.2.0" + "chalk": "^0.4.0", + "date-time": "^0.1.1", + "pretty-ms": "^0.2.1", + "text-table": "^0.2.0" }, "dependencies": { "ansi-styles": { @@ -2753,9 +2796,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "pretty-ms": { @@ -2764,7 +2807,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "0.1.2" + "parse-ms": "^0.1.0" } }, "strip-ansi": { @@ -2780,8 +2823,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, "@nodelib/fs.stat": { @@ -2814,8 +2857,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/inquire": "1.1.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, "@protobufjs/float": { @@ -2874,7 +2917,7 @@ "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", "requires": { - "@types/node": "10.5.2" + "@types/node": "*" } }, "@types/form-data": { @@ -2882,13 +2925,13 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { - "@types/node": "10.5.2" + "@types/node": "*" } }, "@types/long": { - "version": "3.0.32", - "resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz", - "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", + "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" }, "@types/node": { "version": "10.5.2", @@ -2900,10 +2943,10 @@ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "0.12.1", - "@types/form-data": "2.2.1", - "@types/node": "10.5.2", - "@types/tough-cookie": "2.3.3" + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" } }, "@types/tough-cookie": { @@ -2927,7 +2970,7 @@ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "5.7.1" + "acorn": "^5.0.3" } }, "ajv": { @@ -2935,10 +2978,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -2953,9 +2996,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" }, "dependencies": { "kind-of": { @@ -2964,7 +3007,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2981,7 +3024,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3002,8 +3045,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -3012,7 +3055,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3034,7 +3077,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -3043,8 +3086,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" }, "dependencies": { "arr-diff": { @@ -3053,7 +3096,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "array-unique": { @@ -3068,9 +3111,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "expand-brackets": { @@ -3079,7 +3122,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "extglob": { @@ -3088,7 +3131,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-extglob": { @@ -3103,7 +3146,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "kind-of": { @@ -3112,7 +3155,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "micromatch": { @@ -3121,19 +3164,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } } } @@ -3144,7 +3187,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "argv": { @@ -3202,7 +3245,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -3225,8 +3268,8 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" + "colour": "~0.7.1", + "optjs": "~3.2.2" } }, "asn1": { @@ -3250,7 +3293,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } }, "async-each": { @@ -3281,89 +3324,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "1.1.0", - "@ava/babel-preset-transform-test-files": "3.0.0", - "@ava/write-file-atomic": "2.2.0", - "@concordance/react": "1.0.0", - "@ladjs/time-require": "0.1.4", - "ansi-escapes": "3.1.0", - "ansi-styles": "3.2.1", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.2.1", - "ava-init": "0.2.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.4.1", - "chokidar": "1.7.0", - "clean-stack": "1.3.0", - "clean-yaml-object": "0.1.0", - "cli-cursor": "2.1.0", - "cli-spinners": "1.3.1", - "cli-truncate": "1.1.0", - "co-with-promise": "4.6.0", - "code-excerpt": "2.1.1", - "common-path-prefix": "1.0.0", - "concordance": "3.0.0", - "convert-source-map": "1.5.1", - "core-assert": "0.2.1", - "currently-unhandled": "0.4.1", - "debug": "3.1.0", - "dot-prop": "4.2.0", - "empower-core": "0.6.2", - "equal-length": "1.0.1", - "figures": "2.0.0", - "find-cache-dir": "1.0.0", - "fn-name": "2.0.1", - "get-port": "3.2.0", - "globby": "6.1.0", - "has-flag": "2.0.0", - "hullabaloo-config-manager": "1.1.1", - "ignore-by-default": "1.0.1", - "import-local": "0.1.1", - "indent-string": "3.2.0", - "is-ci": "1.1.0", - "is-generator-fn": "1.0.0", - "is-obj": "1.0.1", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "last-line-stream": "1.0.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.debounce": "4.0.8", - "lodash.difference": "4.5.0", - "lodash.flatten": "4.4.0", - "loud-rejection": "1.6.0", - "make-dir": "1.3.0", - "matcher": "1.1.1", - "md5-hex": "2.0.0", - "meow": "3.7.0", - "ms": "2.0.0", - "multimatch": "2.1.0", - "observable-to-promise": "0.5.0", - "option-chain": "1.0.0", - "package-hash": "2.0.0", - "pkg-conf": "2.1.0", - "plur": "2.1.2", - "pretty-ms": "3.2.0", - "require-precompiled": "0.1.0", - "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.2", - "semver": "5.5.0", - "slash": "1.0.0", - "source-map-support": "0.5.6", - "stack-utils": "1.0.1", - "strip-ansi": "4.0.0", - "strip-bom-buf": "1.0.0", - "supertap": "1.0.0", - "supports-color": "5.4.0", - "trim-off-newlines": "1.0.1", - "unique-temp-dir": "1.0.0", - "update-notifier": "2.5.0" + "@ava/babel-preset-stage-4": "^1.1.0", + "@ava/babel-preset-transform-test-files": "^3.0.0", + "@ava/write-file-atomic": "^2.2.0", + "@concordance/react": "^1.0.0", + "@ladjs/time-require": "^0.1.4", + "ansi-escapes": "^3.0.0", + "ansi-styles": "^3.1.0", + "arr-flatten": "^1.0.1", + "array-union": "^1.0.1", + "array-uniq": "^1.0.2", + "arrify": "^1.0.0", + "auto-bind": "^1.1.0", + "ava-init": "^0.2.0", + "babel-core": "^6.17.0", + "babel-generator": "^6.26.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "bluebird": "^3.0.0", + "caching-transform": "^1.0.0", + "chalk": "^2.0.1", + "chokidar": "^1.4.2", + "clean-stack": "^1.1.1", + "clean-yaml-object": "^0.1.0", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.0.0", + "cli-truncate": "^1.0.0", + "co-with-promise": "^4.6.0", + "code-excerpt": "^2.1.1", + "common-path-prefix": "^1.0.0", + "concordance": "^3.0.0", + "convert-source-map": "^1.5.1", + "core-assert": "^0.2.0", + "currently-unhandled": "^0.4.1", + "debug": "^3.0.1", + "dot-prop": "^4.1.0", + "empower-core": "^0.6.1", + "equal-length": "^1.0.0", + "figures": "^2.0.0", + "find-cache-dir": "^1.0.0", + "fn-name": "^2.0.0", + "get-port": "^3.0.0", + "globby": "^6.0.0", + "has-flag": "^2.0.0", + "hullabaloo-config-manager": "^1.1.0", + "ignore-by-default": "^1.0.0", + "import-local": "^0.1.1", + "indent-string": "^3.0.0", + "is-ci": "^1.0.7", + "is-generator-fn": "^1.0.0", + "is-obj": "^1.0.0", + "is-observable": "^1.0.0", + "is-promise": "^2.1.0", + "last-line-stream": "^1.0.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.debounce": "^4.0.3", + "lodash.difference": "^4.3.0", + "lodash.flatten": "^4.2.0", + "loud-rejection": "^1.2.0", + "make-dir": "^1.0.0", + "matcher": "^1.0.0", + "md5-hex": "^2.0.0", + "meow": "^3.7.0", + "ms": "^2.0.0", + "multimatch": "^2.1.0", + "observable-to-promise": "^0.5.0", + "option-chain": "^1.0.0", + "package-hash": "^2.0.0", + "pkg-conf": "^2.0.0", + "plur": "^2.0.0", + "pretty-ms": "^3.0.0", + "require-precompiled": "^0.1.0", + "resolve-cwd": "^2.0.0", + "safe-buffer": "^5.1.1", + "semver": "^5.4.1", + "slash": "^1.0.0", + "source-map-support": "^0.5.0", + "stack-utils": "^1.0.1", + "strip-ansi": "^4.0.0", + "strip-bom-buf": "^1.0.0", + "supertap": "^1.0.0", + "supports-color": "^5.0.0", + "trim-off-newlines": "^1.0.1", + "unique-temp-dir": "^1.0.0", + "update-notifier": "^2.3.0" }, "dependencies": { "ansi-regex": { @@ -3379,7 +3422,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "globby": { @@ -3388,11 +3431,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -3413,7 +3456,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "strip-ansi": { @@ -3422,7 +3465,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3433,11 +3476,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "1.0.0", - "execa": "0.7.0", - "has-yarn": "1.0.0", - "read-pkg-up": "2.0.0", - "write-pkg": "3.2.0" + "arr-exclude": "^1.0.0", + "execa": "^0.7.0", + "has-yarn": "^1.0.0", + "read-pkg-up": "^2.0.0", + "write-pkg": "^3.1.0" } }, "aws-sign2": { @@ -3455,8 +3498,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "1.5.1", - "is-buffer": "1.1.6" + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" } }, "babel-code-frame": { @@ -3465,9 +3508,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -3482,11 +3525,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -3503,25 +3546,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" }, "dependencies": { "debug": { @@ -3541,14 +3584,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -3565,9 +3608,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-call-delegate": { @@ -3576,10 +3619,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-explode-assignable-expression": { @@ -3588,9 +3631,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -3599,11 +3642,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -3612,8 +3655,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -3622,8 +3665,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -3632,9 +3675,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -3643,11 +3686,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -3656,8 +3699,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-messages": { @@ -3666,7 +3709,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -3675,7 +3718,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-espower": { @@ -3684,13 +3727,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babylon": "6.18.0", - "call-matcher": "1.0.1", - "core-js": "2.5.7", - "espower-location-detector": "1.0.0", - "espurify": "1.8.1", - "estraverse": "4.2.0" + "babel-generator": "^6.1.0", + "babylon": "^6.1.0", + "call-matcher": "^1.0.0", + "core-js": "^2.0.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.1.1" } }, "babel-plugin-syntax-async-functions": { @@ -3723,9 +3766,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3734,7 +3777,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3743,9 +3786,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3754,10 +3797,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3766,12 +3809,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -3780,7 +3823,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3789,9 +3832,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3800,9 +3843,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3811,9 +3854,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -3822,8 +3865,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-register": { @@ -3832,13 +3875,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "source-map-support": { @@ -3847,7 +3890,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -3858,8 +3901,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -3868,11 +3911,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3881,15 +3924,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { "debug": { @@ -3909,10 +3952,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3931,13 +3974,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -3945,7 +3988,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3953,7 +3996,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3961,7 +4004,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3969,9 +4012,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -3982,7 +4025,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -4003,13 +4046,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -4036,8 +4079,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -4046,7 +4089,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4056,7 +4099,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -4065,16 +4108,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -4082,7 +4125,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4121,7 +4164,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "3.2.0" + "long": "~3" }, "dependencies": { "long": { @@ -4136,15 +4179,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "cacheable-request": { @@ -4176,9 +4219,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" }, "dependencies": { "md5-hex": { @@ -4187,7 +4230,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "write-file-atomic": { @@ -4196,9 +4239,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } } } @@ -4209,10 +4252,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.5.7", - "deep-equal": "1.0.1", - "espurify": "1.8.1", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "deep-equal": "^1.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.0.0" } }, "call-me-maybe": { @@ -4231,7 +4274,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -4251,8 +4294,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "capture-stack-trace": { @@ -4272,7 +4315,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "0.3.0" + "underscore-contrib": "~0.3.0" } }, "center-align": { @@ -4282,8 +4325,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -4292,9 +4335,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "chardet": { @@ -4309,15 +4352,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.2.4", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -4326,7 +4369,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -4341,7 +4384,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -4363,10 +4406,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -4374,7 +4417,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -4403,7 +4446,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -4418,8 +4461,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -4440,8 +4483,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -4450,7 +4493,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4466,9 +4509,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "clone-response": { @@ -4477,7 +4520,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "1.0.1" + "mimic-response": "^1.0.0" } }, "co": { @@ -4491,7 +4534,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "1.0.0" + "pinkie-promise": "^1.0.0" } }, "code-excerpt": { @@ -4500,7 +4543,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "1.0.2" + "convert-to-spaces": "^1.0.1" } }, "code-point-at": { @@ -4514,10 +4557,10 @@ "integrity": "sha512-KJyzHdg9B8U9LxXa7hS6jnEW5b1cNckLYc2YpnJ1nEFiOW+/iSzDHp+5MYEIQd9fN3/tC6WmGZmYiwxzkuGp/A==", "dev": true, "requires": { - "argv": "0.0.2", - "ignore-walk": "3.0.1", - "request": "2.87.0", - "urlgrey": "0.4.4" + "argv": "^0.0.2", + "ignore-walk": "^3.0.1", + "request": "^2.87.0", + "urlgrey": "^0.4.4" } }, "collection-visit": { @@ -4525,8 +4568,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -4560,7 +4603,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -4592,15 +4635,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": "1.35.0" - }, - "dependencies": { - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", - "dev": true - } + "mime-db": ">= 1.34.0 < 2" } }, "concat-map": { @@ -4614,10 +4649,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "concordance": { @@ -4626,17 +4661,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "2.1.0", - "esutils": "2.0.2", - "fast-diff": "1.1.2", - "function-name-support": "0.2.0", - "js-string-escape": "1.0.1", - "lodash.clonedeep": "4.5.0", - "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "semver": "5.5.0", - "well-known-symbols": "1.0.0" + "date-time": "^2.1.0", + "esutils": "^2.0.2", + "fast-diff": "^1.1.1", + "function-name-support": "^0.2.0", + "js-string-escape": "^1.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.flattendeep": "^4.4.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "semver": "^5.3.0", + "well-known-symbols": "^1.0.0" }, "dependencies": { "date-time": { @@ -4645,7 +4680,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "1.0.0" + "time-zone": "^1.0.0" } } } @@ -4656,12 +4691,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "convert-source-map": { @@ -4693,8 +4728,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "1.0.1", - "is-error": "2.2.1" + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" } }, "core-js": { @@ -4713,7 +4748,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { @@ -4721,9 +4756,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "crypto-random-string": { @@ -4738,7 +4773,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -4747,7 +4782,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.45" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -4755,7 +4790,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-time": { @@ -4788,7 +4823,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "1.0.1" + "mimic-response": "^1.0.0" } }, "deep-equal": { @@ -4814,8 +4849,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.12" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { @@ -4823,8 +4858,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4832,7 +4867,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4840,7 +4875,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4848,9 +4883,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -4861,13 +4896,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "globby": { @@ -4876,12 +4911,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -4902,7 +4937,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } } } @@ -4918,7 +4953,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -4937,8 +4972,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "doctrine": { @@ -4947,7 +4982,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-serializer": { @@ -4956,8 +4991,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -4980,7 +5015,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -4989,8 +5024,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -4999,7 +5034,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer3": { @@ -5013,10 +5048,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "eastasianwidth": { @@ -5030,7 +5065,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -5038,7 +5073,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "empower": { @@ -5046,8 +5081,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "2.5.7", - "empower-core": "1.2.0" + "core-js": "^2.0.0", + "empower-core": "^1.2.0" } }, "empower-assert": { @@ -5056,7 +5091,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.2.0" } }, "empower-core": { @@ -5065,7 +5100,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "end-of-stream": { @@ -5073,7 +5108,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "ent": { @@ -5099,7 +5134,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -5108,11 +5143,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.4", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -5121,9 +5156,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { @@ -5132,9 +5167,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-error": { @@ -5149,9 +5184,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -5160,12 +5195,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -5174,11 +5209,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -5187,8 +5222,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -5197,10 +5232,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escallmatch": { @@ -5209,8 +5244,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "1.0.1", - "esprima": "2.7.3" + "call-matcher": "^1.0.0", + "esprima": "^2.0.0" }, "dependencies": { "esprima": { @@ -5233,11 +5268,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -5261,57 +5296,57 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.1.0.tgz", - "integrity": "sha512-DyH6JsoA1KzA5+OSWFjg56DFJT+sDLO0yokaPZ9qY0UEmYrPA1gEX/G1MnVkmRDsksG4H1foIVz2ZXXM3hHYvw==", - "dev": true, - "requires": { - "ajv": "6.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "4.0.0", - "eslint-utils": "1.3.1", - "eslint-visitor-keys": "1.0.0", - "espree": "4.0.0", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.7.0", - "ignore": "3.3.10", - "imurmurhash": "0.1.4", - "inquirer": "5.2.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "string.prototype.matchall": "2.0.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.3", - "text-table": "0.2.0" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.2.0.tgz", + "integrity": "sha512-zlggW1qp7/TBjwLfouRoY7eWXrXwJZFqCdIxxh0/LVB/QuuKuIMkzyUZEcDo6LBadsry5JcEMxIqd3H/66CXVg==", + "dev": true, + "requires": { + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.2", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.1.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" }, "dependencies": { "ajv": { @@ -5320,10 +5355,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "ansi-regex": { @@ -5338,11 +5373,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "fast-deep-equal": { @@ -5357,6 +5392,12 @@ "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", "dev": true }, + "ignore": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.2.tgz", + "integrity": "sha512-uoxnT7PYpyEnsja+yX+7v49B7LXxmzDJ2JALqHH3oEGzpM2U1IGcbfnOr8Dt57z3B/UWs7/iAgPFbmye8m4I0g==", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -5369,7 +5410,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -5380,7 +5421,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "5.0.1" + "get-stdin": "^5.0.1" }, "dependencies": { "get-stdin": { @@ -5391,25 +5432,51 @@ } } }, + "eslint-plugin-es": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.3.1.tgz", + "integrity": "sha512-9XcVyZiQRVeFjqHw8qHNDAZcQLqaHlOGGpeYqzYh8S4JYCWTCO3yzyen8yVmA5PratfzTRWDwCOFphtDEG+w/w==", + "dev": true, + "requires": { + "eslint-utils": "^1.3.0", + "regexpp": "^2.0.0" + }, + "dependencies": { + "regexpp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", + "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==", + "dev": true + } + } + }, "eslint-plugin-node": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", - "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", + "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", "dev": true, "requires": { - "ignore": "3.3.10", - "minimatch": "3.0.4", - "resolve": "1.8.1", - "semver": "5.5.0" + "eslint-plugin-es": "^1.3.1", + "eslint-utils": "^1.3.1", + "ignore": "^4.0.2", + "minimatch": "^3.0.4", + "resolve": "^1.8.1", + "semver": "^5.5.0" }, "dependencies": { + "ignore": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.2.tgz", + "integrity": "sha512-uoxnT7PYpyEnsja+yX+7v49B7LXxmzDJ2JALqHH3oEGzpM2U1IGcbfnOr8Dt57z3B/UWs7/iAgPFbmye8m4I0g==", + "dev": true + }, "resolve": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } } } @@ -5420,8 +5487,8 @@ "integrity": "sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==", "dev": true, "requires": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" + "fast-diff": "^1.1.1", + "jest-docblock": "^21.0.0" } }, "eslint-scope": { @@ -5430,8 +5497,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-utils": { @@ -5452,16 +5519,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "1.0.0", - "escallmatch": "1.5.0", - "escodegen": "1.11.0", - "escope": "3.6.0", - "espower-location-detector": "1.0.0", - "espurify": "1.8.1", - "estraverse": "4.2.0", - "source-map": "0.5.7", - "type-name": "2.0.2", - "xtend": "4.0.1" + "array-find": "^1.0.0", + "escallmatch": "^1.5.0", + "escodegen": "^1.7.0", + "escope": "^3.3.0", + "espower-location-detector": "^1.0.0", + "espurify": "^1.3.0", + "estraverse": "^4.1.0", + "source-map": "^0.5.0", + "type-name": "^2.0.0", + "xtend": "^4.0.0" } }, "espower-loader": { @@ -5470,11 +5537,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "1.5.1", - "espower-source": "2.3.0", - "minimatch": "3.0.4", - "source-map-support": "0.4.18", - "xtend": "4.0.1" + "convert-source-map": "^1.1.0", + "espower-source": "^2.0.0", + "minimatch": "^3.0.0", + "source-map-support": "^0.4.0", + "xtend": "^4.0.0" }, "dependencies": { "source-map-support": { @@ -5483,7 +5550,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -5494,10 +5561,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "1.2.4", - "path-is-absolute": "1.0.1", - "source-map": "0.5.7", - "xtend": "4.0.1" + "is-url": "^1.2.1", + "path-is-absolute": "^1.0.0", + "source-map": "^0.5.0", + "xtend": "^4.0.0" } }, "espower-source": { @@ -5506,17 +5573,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.1", - "empower-assert": "1.1.0", - "escodegen": "1.11.0", - "espower": "2.1.1", - "estraverse": "4.2.0", - "merge-estraverse-visitors": "1.0.0", - "multi-stage-sourcemap": "0.2.1", - "path-is-absolute": "1.0.1", - "xtend": "4.0.1" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.10", + "convert-source-map": "^1.1.1", + "empower-assert": "^1.0.0", + "escodegen": "^1.10.0", + "espower": "^2.1.1", + "estraverse": "^4.0.0", + "merge-estraverse-visitors": "^1.0.0", + "multi-stage-sourcemap": "^0.2.1", + "path-is-absolute": "^1.0.0", + "xtend": "^4.0.0" } }, "espree": { @@ -5525,8 +5592,8 @@ "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-jsx": "4.1.1" + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" } }, "esprima": { @@ -5540,7 +5607,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", "requires": { - "core-js": "2.5.7" + "core-js": "^2.0.0" } }, "esquery": { @@ -5549,7 +5616,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -5558,7 +5625,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -5578,8 +5645,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "execa": { @@ -5587,13 +5654,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -5601,13 +5668,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -5623,7 +5690,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -5631,7 +5698,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -5642,7 +5709,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" }, "dependencies": { "fill-range": { @@ -5651,11 +5718,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "is-number": { @@ -5664,7 +5731,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "isobject": { @@ -5682,23 +5749,23 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -5706,7 +5773,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -5717,9 +5784,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -5727,14 +5794,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -5742,7 +5809,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -5750,7 +5817,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -5758,7 +5825,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -5766,7 +5833,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -5774,9 +5841,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -5802,12 +5869,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "@nodelib/fs.stat": "1.1.0", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.2", - "micromatch": "3.1.10" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.0.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" } }, "fast-json-stable-stringify": { @@ -5827,7 +5894,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -5836,8 +5903,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -5852,8 +5919,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" + "is-object": "~1.0.1", + "merge-descriptors": "~1.0.0" } }, "fill-range": { @@ -5861,10 +5928,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -5872,7 +5939,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -5883,17 +5950,17 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "requires": { - "locate-path": "2.0.0" + "locate-path": "^3.0.0" } }, "flat-cache": { @@ -5902,10 +5969,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "fn-name": { @@ -5919,7 +5986,7 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" } }, "for-in": { @@ -5933,7 +6000,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -5951,9 +6018,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "formidable": { @@ -5967,7 +6034,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "from2": { @@ -5976,8 +6043,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, "fs-extra": { @@ -5986,9 +6053,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "fs.realpath": { @@ -6003,8 +6070,8 @@ "dev": true, "optional": true, "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { @@ -6030,8 +6097,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -6044,7 +6111,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -6108,7 +6175,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -6123,14 +6190,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { @@ -6139,12 +6206,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -6159,7 +6226,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -6168,7 +6235,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -6177,8 +6244,8 @@ "dev": true, "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6197,7 +6264,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -6211,7 +6278,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -6224,8 +6291,8 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -6234,7 +6301,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -6257,9 +6324,9 @@ "dev": true, "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -6268,16 +6335,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -6286,8 +6353,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -6302,8 +6369,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -6312,10 +6379,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -6334,7 +6401,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -6355,8 +6422,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -6377,10 +6444,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -6397,13 +6464,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { @@ -6412,7 +6479,7 @@ "dev": true, "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -6455,9 +6522,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -6466,7 +6533,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -6474,7 +6541,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -6489,13 +6556,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -6510,7 +6577,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -6548,8 +6615,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "0.18.0", - "extend": "3.0.1", + "axios": "^0.18.0", + "extend": "^3.0.1", "retry-axios": "0.3.2" } }, @@ -6559,11 +6626,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "3.1.2", - "google-auto-auth": "0.10.1", - "pumpify": "1.5.1", - "request": "2.87.0", - "stream-events": "1.0.4" + "configstore": "^3.1.2", + "google-auto-auth": "^0.10.0", + "pumpify": "^1.4.0", + "request": "^2.85.0", + "stream-events": "^1.0.3" } }, "get-caller-file": { @@ -6598,7 +6665,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -6606,12 +6673,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -6620,8 +6687,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "glob-parent": { @@ -6630,7 +6697,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "is-extglob": { @@ -6645,7 +6712,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -6655,8 +6722,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -6664,7 +6731,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -6680,7 +6747,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -6694,13 +6761,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.2", - "glob": "7.1.2", - "ignore": "3.3.10", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "google-auth-library": { @@ -6708,13 +6775,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "0.18.0", - "gcp-metadata": "0.6.3", - "gtoken": "2.3.0", - "jws": "3.1.5", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.3", - "retry-axios": "0.3.2" + "axios": "^0.18.0", + "gcp-metadata": "^0.6.3", + "gtoken": "^2.3.0", + "jws": "^3.1.5", + "lodash.isstring": "^4.0.1", + "lru-cache": "^4.1.3", + "retry-axios": "^0.3.2" } }, "google-auto-auth": { @@ -6723,10 +6790,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "2.6.1", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.6.1", - "request": "2.87.0" + "async": "^2.3.0", + "gcp-metadata": "^0.6.1", + "google-auth-library": "^1.3.1", + "request": "^2.79.0" } }, "google-gax": { @@ -6734,17 +6801,17 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", "requires": { - "duplexify": "3.6.0", - "extend": "3.0.1", - "globby": "8.0.1", - "google-auth-library": "1.6.1", - "google-proto-files": "0.16.1", - "grpc": "1.13.0", - "is-stream-ended": "0.1.4", - "lodash": "4.17.10", - "protobufjs": "6.8.6", - "retry-request": "4.0.0", - "through2": "2.0.3" + "duplexify": "^3.6.0", + "extend": "^3.0.1", + "globby": "^8.0.1", + "google-auth-library": "^1.6.1", + "google-proto-files": "^0.16.0", + "grpc": "^1.12.2", + "is-stream-ended": "^0.1.4", + "lodash": "^4.17.10", + "protobufjs": "^6.8.6", + "retry-request": "^4.0.0", + "through2": "^2.0.3" } }, "google-p12-pem": { @@ -6752,8 +6819,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "0.7.5", - "pify": "3.0.0" + "node-forge": "^0.7.4", + "pify": "^3.0.0" } }, "google-proto-files": { @@ -6761,9 +6828,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "8.0.1", - "power-assert": "1.6.0", - "protobufjs": "6.8.6" + "globby": "^8.0.0", + "power-assert": "^1.4.4", + "protobufjs": "^6.8.0" } }, "got": { @@ -6772,23 +6839,23 @@ "integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==", "dev": true, "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "mimic-response": "1.0.1", - "p-cancelable": "0.4.1", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" }, "dependencies": { "prepend-http": { @@ -6803,7 +6870,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "2.0.0" + "prepend-http": "^2.0.0" } } } @@ -6825,10 +6892,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.0.tgz", "integrity": "sha512-jGxWFYzttSz9pi8mu283jZvo2zIluWonQ918GMHKx8grT57GIVlvx7/82fo7AGS75lbkPoO1T6PZLvCRD9Pbtw==", "requires": { - "lodash": "4.17.10", - "nan": "2.10.0", - "node-pre-gyp": "0.10.2", - "protobufjs": "5.0.3" + "lodash": "^4.17.5", + "nan": "^2.0.0", + "node-pre-gyp": "^0.10.0", + "protobufjs": "^5.0.3" }, "dependencies": { "abbrev": { @@ -6847,8 +6914,8 @@ "version": "1.1.5", "bundled": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -6859,7 +6926,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -6906,7 +6973,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -6917,26 +6984,26 @@ "version": "2.7.4", "bundled": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.3" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -6947,22 +7014,22 @@ "version": "0.4.23", "bundled": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6977,7 +7044,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -6988,7 +7055,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -6999,15 +7066,15 @@ "version": "2.3.3", "bundled": true, "requires": { - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "2.3.3" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -7031,33 +7098,33 @@ "version": "2.2.1", "bundled": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.23", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { "version": "0.10.2", "bundled": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.1", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.8", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.4" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { "version": "4.0.1", "bundled": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -7068,18 +7135,18 @@ "version": "1.1.10", "bundled": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { "version": "4.1.2", "bundled": true, "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -7094,7 +7161,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -7109,8 +7176,8 @@ "version": "0.1.5", "bundled": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -7126,56 +7193,40 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.2", - "yargs": "3.32.0" - }, - "dependencies": { - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" - } - } + "ascli": "~1", + "bytebuffer": "~5", + "glob": "^7.0.5", + "yargs": "^3.10.0" } }, "rc": { "version": "1.2.8", "bundled": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -7206,23 +7257,23 @@ "version": "1.0.2", "bundled": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { "version": "1.1.1", "bundled": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -7233,13 +7284,13 @@ "version": "4.4.4", "bundled": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.3.3", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.3", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -7250,7 +7301,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -7260,6 +7311,20 @@ "yallist": { "version": "3.0.2", "bundled": true + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } } } }, @@ -7268,11 +7333,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.5", - "mime": "2.3.1", - "pify": "3.0.0" + "axios": "^0.18.0", + "google-p12-pem": "^1.0.0", + "jws": "^3.1.4", + "mime": "^2.2.0", + "pify": "^3.0.0" } }, "handlebars": { @@ -7281,10 +7346,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -7299,7 +7364,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -7314,8 +7379,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -7324,7 +7389,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -7333,7 +7398,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -7366,7 +7431,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "1.4.2" + "has-symbol-support-x": "^1.4.1" } }, "has-value": { @@ -7374,9 +7439,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -7384,8 +7449,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -7393,7 +7458,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7410,7 +7475,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "he": { @@ -7425,8 +7490,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -7441,12 +7506,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.2", - "domutils": "1.7.0", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "http-cache-semantics": { @@ -7460,9 +7525,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "hullabaloo-config-manager": { @@ -7471,20 +7536,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "es6-error": "4.1.1", - "graceful-fs": "4.1.11", - "indent-string": "3.2.0", - "json5": "0.5.1", - "lodash.clonedeep": "4.5.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "package-hash": "2.0.0", - "pkg-dir": "2.0.0", - "resolve-from": "3.0.0", - "safe-buffer": "5.1.2" + "dot-prop": "^4.1.0", + "es6-error": "^4.0.2", + "graceful-fs": "^4.1.11", + "indent-string": "^3.1.0", + "json5": "^0.5.1", + "lodash.clonedeep": "^4.5.0", + "lodash.clonedeepwith": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.merge": "^4.6.0", + "md5-hex": "^2.0.0", + "package-hash": "^2.0.0", + "pkg-dir": "^2.0.0", + "resolve-from": "^3.0.0", + "safe-buffer": "^5.0.1" } }, "iconv-lite": { @@ -7493,7 +7558,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -7513,7 +7578,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "import-lazy": { @@ -7528,8 +7593,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -7554,8 +7619,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -7575,8 +7640,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "2.22.2", - "sanitize-html": "1.18.2" + "moment": "^2.14.1", + "sanitize-html": "^1.13.0" } }, "inquirer": { @@ -7585,19 +7650,19 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rxjs": "5.5.11", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -7618,8 +7683,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -7628,7 +7693,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -7639,7 +7704,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "1.2.2" + "espower-loader": "^1.0.0" } }, "into-stream": { @@ -7648,8 +7713,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" } }, "invariant": { @@ -7658,7 +7723,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.4.0" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -7682,7 +7747,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7690,7 +7755,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7707,7 +7772,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -7721,7 +7786,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -7736,7 +7801,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -7744,7 +7809,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7752,7 +7817,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7768,9 +7833,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -7792,7 +7857,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-error": { @@ -7817,7 +7882,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -7825,7 +7890,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-generator-fn": { @@ -7839,7 +7904,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-installed-globally": { @@ -7848,8 +7913,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-npm": { @@ -7863,7 +7928,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7871,7 +7936,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7894,7 +7959,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "^1.1.0" } }, "is-path-cwd": { @@ -7909,7 +7974,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -7918,7 +7983,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -7932,7 +7997,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -7965,7 +8030,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-resolvable": { @@ -8055,8 +8120,8 @@ "@babel/template": "7.0.0-beta.51", "@babel/traverse": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "istanbul-lib-coverage": "2.0.1", - "semver": "5.5.0" + "istanbul-lib-coverage": "^2.0.1", + "semver": "^5.5.0" } }, "isurl": { @@ -8065,8 +8130,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" } }, "jest-docblock": { @@ -8093,8 +8158,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "js2xmlparser": { @@ -8103,7 +8168,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "1.0.2" + "xmlcreate": "^1.0.1" } }, "jsbn": { @@ -8119,17 +8184,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.19", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", + "bluebird": "~3.5.0", + "catharsis": "~0.8.9", + "escape-string-regexp": "~1.0.5", + "js2xmlparser": "~3.0.0", + "klaw": "~2.0.0", + "marked": "~0.3.6", + "mkdirp": "~0.5.1", + "requizzle": "~0.2.1", + "strip-json-comments": "~2.0.1", "taffydb": "2.6.2", - "underscore": "1.8.3" + "underscore": "~1.8.3" }, "dependencies": { "babylon": { @@ -8191,7 +8256,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -8218,7 +8283,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "jws": { @@ -8226,8 +8291,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "1.1.6", - "safe-buffer": "5.1.2" + "jwa": "^1.1.5", + "safe-buffer": "^5.0.1" } }, "keyv": { @@ -8250,7 +8315,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "last-line-stream": { @@ -8259,7 +8324,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "latest-version": { @@ -8268,7 +8333,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -8283,7 +8348,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "levn": { @@ -8292,8 +8357,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -8302,10 +8367,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" }, "dependencies": { "pify": { @@ -8317,12 +8382,12 @@ } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -8435,7 +8500,7 @@ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "loud-rejection": { @@ -8444,8 +8509,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowercase-keys": { @@ -8459,8 +8524,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -8469,7 +8534,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-cache": { @@ -8488,7 +8553,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "marked": { @@ -8503,7 +8568,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.4" } }, "math-random": { @@ -8518,7 +8583,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -8532,7 +8597,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -8541,16 +8606,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "find-up": { @@ -8559,8 +8624,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "load-json-file": { @@ -8569,11 +8634,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "minimist": { @@ -8588,7 +8653,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-type": { @@ -8597,9 +8662,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -8620,7 +8685,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "read-pkg": { @@ -8629,9 +8694,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -8640,8 +8705,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "strip-bom": { @@ -8650,7 +8715,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -8667,7 +8732,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "merge2": { @@ -8692,19 +8757,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "mime": { @@ -8713,16 +8778,16 @@ "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" }, "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" }, "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.35.0" } }, "mimic-fn": { @@ -8741,7 +8806,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -8755,8 +8820,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8764,7 +8829,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8826,7 +8891,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "^0.1.34" }, "dependencies": { "source-map": { @@ -8835,7 +8900,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -8846,10 +8911,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" } }, "mute-stream": { @@ -8868,17 +8933,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "natural-compare": { @@ -8905,11 +8970,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.7.1", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" + "@sinonjs/formatio": "^2.0.0", + "just-extend": "^1.1.27", + "lolex": "^2.3.2", + "path-to-regexp": "^1.7.0", + "text-encoding": "^0.6.4" } }, "node-forge": { @@ -8923,10 +8988,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -8935,7 +9000,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-url": { @@ -8944,9 +9009,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, "dependencies": { "prepend-http": { @@ -8962,7 +9027,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -8976,33 +9041,33 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "2.3.1", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.5", - "istanbul-reports": "1.4.1", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^1.0.0", + "convert-source-map": "^1.5.1", + "debug-log": "^1.0.1", + "default-require-extensions": "^1.0.0", + "find-cache-dir": "^0.1.1", + "find-up": "^2.1.0", + "foreground-child": "^1.5.3", + "glob": "^7.0.6", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^2.1.0", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.5", + "istanbul-reports": "^1.4.1", + "md5-hex": "^1.2.0", + "merge-source-map": "^1.1.0", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.0", + "resolve-from": "^2.0.0", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.1", + "spawn-wrap": "^1.4.2", + "test-exclude": "^4.2.0", "yargs": "11.1.0", - "yargs-parser": "8.1.0" + "yargs-parser": "^8.0.0" }, "dependencies": { "align-text": { @@ -9010,9 +9075,9 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -9030,7 +9095,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "archy": { @@ -9088,13 +9153,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -9102,7 +9167,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -9110,7 +9175,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -9118,7 +9183,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -9126,9 +9191,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -9143,7 +9208,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -9152,16 +9217,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -9169,7 +9234,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9184,15 +9249,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "caching-transform": { @@ -9200,9 +9265,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" + "md5-hex": "^1.2.0", + "mkdirp": "^0.5.1", + "write-file-atomic": "^1.1.4" } }, "camelcase": { @@ -9217,8 +9282,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "class-utils": { @@ -9226,10 +9291,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -9237,7 +9302,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9248,8 +9313,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -9271,8 +9336,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "commondir": { @@ -9305,8 +9370,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "debug": { @@ -9337,7 +9402,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-property": { @@ -9345,8 +9410,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -9354,7 +9419,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -9362,7 +9427,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -9370,9 +9435,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -9387,7 +9452,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "execa": { @@ -9395,13 +9460,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -9409,9 +9474,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -9421,13 +9486,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -9443,7 +9508,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -9451,7 +9516,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9461,8 +9526,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -9470,7 +9535,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -9480,14 +9545,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -9495,7 +9560,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -9503,7 +9568,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -9511,7 +9576,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -9519,7 +9584,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -9527,9 +9592,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -9544,10 +9609,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -9555,7 +9620,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -9565,9 +9630,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -9575,7 +9640,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "for-in": { @@ -9588,8 +9653,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" + "cross-spawn": "^4", + "signal-exit": "^3.0.0" } }, "fragment-cache": { @@ -9597,7 +9662,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs.realpath": { @@ -9625,12 +9690,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { @@ -9643,10 +9708,10 @@ "bundled": true, "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -9654,7 +9719,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -9664,9 +9729,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -9674,8 +9739,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -9683,7 +9748,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9703,8 +9768,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -9722,7 +9787,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -9740,7 +9805,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-data-descriptor": { @@ -9748,7 +9813,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { @@ -9756,9 +9821,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -9783,7 +9848,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -9791,7 +9856,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -9806,7 +9871,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-stream": { @@ -9849,7 +9914,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-report": { @@ -9857,10 +9922,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -9873,7 +9938,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9883,11 +9948,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" } }, "istanbul-reports": { @@ -9895,7 +9960,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "kind-of": { @@ -9903,7 +9968,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -9917,7 +9982,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -9925,11 +9990,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -9937,8 +10002,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -9958,8 +10023,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-cache": { @@ -9972,7 +10037,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5-hex": { @@ -9980,7 +10045,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "0.1.1" + "md5-o-matic": "^0.1.1" } }, "md5-o-matic": { @@ -9993,7 +10058,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge-source-map": { @@ -10001,7 +10066,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -10016,19 +10081,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "dependencies": { "kind-of": { @@ -10048,7 +10113,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -10061,8 +10126,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -10070,7 +10135,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -10093,18 +10158,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "kind-of": { @@ -10119,10 +10184,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "npm-run-path": { @@ -10130,7 +10195,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -10148,9 +10213,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -10158,7 +10223,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -10168,7 +10233,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.pick": { @@ -10176,7 +10241,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "once": { @@ -10184,7 +10249,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "optimist": { @@ -10192,8 +10257,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "os-homedir": { @@ -10206,9 +10271,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "p-finally": { @@ -10221,7 +10286,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -10229,7 +10294,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -10242,7 +10307,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "pascalcase": { @@ -10255,7 +10320,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -10278,9 +10343,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -10298,7 +10363,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -10306,7 +10371,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -10314,8 +10379,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -10335,9 +10400,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -10345,8 +10410,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -10354,8 +10419,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } } } @@ -10365,8 +10430,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "repeat-element": { @@ -10410,7 +10475,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -10418,7 +10483,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-regex": { @@ -10426,7 +10491,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "semver": { @@ -10444,10 +10509,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -10455,7 +10520,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10465,7 +10530,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -10488,14 +10553,14 @@ "bundled": true, "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -10511,7 +10576,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -10519,7 +10584,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10529,9 +10594,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -10539,7 +10604,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -10547,7 +10612,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -10555,7 +10620,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -10563,9 +10628,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "kind-of": { @@ -10580,7 +10645,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -10593,11 +10658,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { @@ -10610,12 +10675,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.1" + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" } }, "spdx-correct": { @@ -10623,8 +10688,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -10637,8 +10702,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -10651,7 +10716,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "static-extend": { @@ -10659,8 +10724,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -10668,7 +10733,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -10678,8 +10743,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -10687,7 +10752,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "strip-bom": { @@ -10695,7 +10760,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -10708,11 +10773,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "to-object-path": { @@ -10720,7 +10785,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -10728,10 +10793,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -10739,8 +10804,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "uglify-js": { @@ -10749,9 +10814,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -10760,9 +10825,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -10779,10 +10844,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -10790,7 +10855,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -10798,10 +10863,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -10811,8 +10876,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -10820,9 +10885,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -10852,7 +10917,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -10867,8 +10932,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "which": { @@ -10876,7 +10941,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -10900,8 +10965,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { @@ -10914,7 +10979,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -10922,9 +10987,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -10932,7 +10997,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -10947,9 +11012,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "y18n": { @@ -10967,18 +11032,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "camelcase": { @@ -10991,9 +11056,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "yargs-parser": { @@ -11001,7 +11066,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -11011,7 +11076,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -11039,9 +11104,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -11049,7 +11114,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "kind-of": { @@ -11057,7 +11122,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11072,7 +11137,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.omit": { @@ -11081,8 +11146,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -11090,7 +11155,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "observable-to-promise": { @@ -11099,8 +11164,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "0.2.0", - "symbol-observable": "1.2.0" + "is-observable": "^0.2.0", + "symbol-observable": "^1.0.4" }, "dependencies": { "is-observable": { @@ -11109,7 +11174,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "0.2.4" + "symbol-observable": "^0.2.2" }, "dependencies": { "symbol-observable": { @@ -11127,7 +11192,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -11136,7 +11201,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -11145,8 +11210,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "option-chain": { @@ -11161,12 +11226,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -11193,7 +11258,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -11220,19 +11285,19 @@ "dev": true }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", "requires": { - "p-try": "1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "requires": { - "p-limit": "1.3.0" + "p-limit": "^2.0.0" } }, "p-timeout": { @@ -11241,13 +11306,13 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" }, "package-hash": { "version": "2.0.0", @@ -11255,10 +11320,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "lodash.flattendeep": "4.4.0", - "md5-hex": "2.0.0", - "release-zalgo": "1.0.0" + "graceful-fs": "^4.1.11", + "lodash.flattendeep": "^4.4.0", + "md5-hex": "^2.0.0", + "release-zalgo": "^1.0.0" } }, "package-json": { @@ -11267,10 +11332,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" }, "dependencies": { "got": { @@ -11279,17 +11344,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } } } @@ -11300,10 +11365,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" }, "dependencies": { "is-extglob": { @@ -11318,7 +11383,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } } } @@ -11329,7 +11394,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -11397,7 +11462,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "performance-now": { @@ -11422,7 +11487,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "1.0.0" + "pinkie": "^1.0.0" } }, "pkg-conf": { @@ -11431,30 +11496,73 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" }, "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" } }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -11465,7 +11573,52 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } } }, "plur": { @@ -11474,7 +11627,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "1.4.0" + "irregular-plurals": "^1.0.0" } }, "pluralize": { @@ -11494,9 +11647,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "dependencies": { "source-map": { @@ -11512,11 +11665,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "1.1.2", - "empower": "1.3.0", - "power-assert-formatter": "1.4.1", - "universal-deep-strict-equal": "1.2.2", - "xtend": "4.0.1" + "define-properties": "^1.1.2", + "empower": "^1.3.0", + "power-assert-formatter": "^1.4.1", + "universal-deep-strict-equal": "^1.2.1", + "xtend": "^4.0.0" } }, "power-assert-context-formatter": { @@ -11524,8 +11677,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "2.5.7", - "power-assert-context-traversal": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-traversal": "^1.2.0" } }, "power-assert-context-reducer-ast": { @@ -11533,11 +11686,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.7", - "espurify": "1.8.1", - "estraverse": "4.2.0" + "acorn": "^5.0.0", + "acorn-es7-plugin": "^1.0.12", + "core-js": "^2.0.0", + "espurify": "^1.6.0", + "estraverse": "^4.2.0" } }, "power-assert-context-traversal": { @@ -11545,8 +11698,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "2.5.7", - "estraverse": "4.2.0" + "core-js": "^2.0.0", + "estraverse": "^4.1.0" } }, "power-assert-formatter": { @@ -11554,13 +11707,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "2.5.7", - "power-assert-context-formatter": "1.2.0", - "power-assert-context-reducer-ast": "1.2.0", - "power-assert-renderer-assertion": "1.2.0", - "power-assert-renderer-comparison": "1.2.0", - "power-assert-renderer-diagram": "1.2.0", - "power-assert-renderer-file": "1.2.0" + "core-js": "^2.0.0", + "power-assert-context-formatter": "^1.0.7", + "power-assert-context-reducer-ast": "^1.0.7", + "power-assert-renderer-assertion": "^1.0.7", + "power-assert-renderer-comparison": "^1.0.7", + "power-assert-renderer-diagram": "^1.0.7", + "power-assert-renderer-file": "^1.0.7" } }, "power-assert-renderer-assertion": { @@ -11568,8 +11721,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0" + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0" } }, "power-assert-renderer-base": { @@ -11582,11 +11735,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "2.5.7", - "diff-match-patch": "1.0.1", - "power-assert-renderer-base": "1.1.1", - "stringifier": "1.3.0", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "diff-match-patch": "^1.0.0", + "power-assert-renderer-base": "^1.1.1", + "stringifier": "^1.3.0", + "type-name": "^2.0.1" } }, "power-assert-renderer-diagram": { @@ -11594,10 +11747,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "2.5.7", - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0", - "stringifier": "1.3.0" + "core-js": "^2.0.0", + "power-assert-renderer-base": "^1.1.1", + "power-assert-util-string-width": "^1.2.0", + "stringifier": "^1.3.0" } }, "power-assert-renderer-file": { @@ -11605,7 +11758,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "1.1.1" + "power-assert-renderer-base": "^1.1.1" } }, "power-assert-util-string-width": { @@ -11613,7 +11766,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "0.2.0" + "eastasianwidth": "^0.2.0" } }, "prelude-ls": { @@ -11646,7 +11799,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "1.0.1" + "parse-ms": "^1.0.0" }, "dependencies": { "parse-ms": { @@ -11675,30 +11828,23 @@ "dev": true }, "protobufjs": { - "version": "6.8.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz", - "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==", - "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/base64": "1.1.2", - "@protobufjs/codegen": "2.0.4", - "@protobufjs/eventemitter": "1.1.0", - "@protobufjs/fetch": "1.1.0", - "@protobufjs/float": "1.0.2", - "@protobufjs/inquire": "1.1.0", - "@protobufjs/path": "1.1.2", - "@protobufjs/pool": "1.1.0", - "@protobufjs/utf8": "1.1.0", - "@types/long": "3.0.32", - "@types/node": "8.10.21", - "long": "4.0.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.21.tgz", - "integrity": "sha512-87XkD9qDXm8fIax+5y7drx84cXsu34ZZqfB7Cial3Q/2lxSoJ/+DRaWckkCbxP41wFSIrrb939VhzaNxj4eY1w==" - } + "version": "6.8.8", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz", + "integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.0", + "@types/node": "^10.1.0", + "long": "^4.0.0" } }, "proxyquire": { @@ -11707,9 +11853,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" + "fill-keys": "^1.0.2", + "module-not-found-error": "^1.0.0", + "resolve": "~1.1.7" } }, "pseudomap": { @@ -11723,8 +11869,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -11733,9 +11879,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -11754,9 +11900,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "randomatic": { @@ -11765,9 +11911,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -11784,10 +11930,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -11804,9 +11950,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" }, "dependencies": { "path-type": { @@ -11815,7 +11961,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -11832,8 +11978,53 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } } }, "readable-stream": { @@ -11841,13 +12032,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -11856,10 +12047,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "redent": { @@ -11868,8 +12059,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" }, "dependencies": { "indent-string": { @@ -11878,7 +12069,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } } } @@ -11901,7 +12092,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -11909,8 +12100,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexp.prototype.flags": { @@ -11919,7 +12110,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "1.1.2" + "define-properties": "^1.1.2" } }, "regexpp": { @@ -11934,9 +12125,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -11945,8 +12136,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.8", - "safe-buffer": "5.1.2" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -11955,7 +12146,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.8" + "rc": "^1.0.1" } }, "regjsgen": { @@ -11970,7 +12161,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "release-zalgo": { @@ -11979,7 +12170,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "4.1.1" + "es6-error": "^4.0.1" } }, "remove-trailing-separator": { @@ -12004,7 +12195,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -12012,26 +12203,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -12056,8 +12247,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" }, "dependencies": { "resolve-from": { @@ -12074,7 +12265,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "1.6.0" + "underscore": "~1.6.0" }, "dependencies": { "underscore": { @@ -12097,7 +12288,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -12117,7 +12308,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "1.0.1" + "lowercase-keys": "^1.0.0" } }, "restore-cursor": { @@ -12126,8 +12317,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -12145,7 +12336,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "2.0.3" + "through2": "^2.0.0" } }, "right-align": { @@ -12155,7 +12346,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -12164,7 +12355,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -12173,7 +12364,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rxjs": { @@ -12203,7 +12394,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -12223,16 +12414,16 @@ "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", "dev": true, "requires": { - "chalk": "2.4.1", - "htmlparser2": "3.9.2", - "lodash.clonedeep": "4.5.0", - "lodash.escaperegexp": "4.1.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mergewith": "4.6.1", - "postcss": "6.0.23", - "srcset": "1.0.0", - "xtend": "4.0.1" + "chalk": "^2.3.0", + "htmlparser2": "^3.9.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.0", + "postcss": "^6.0.14", + "srcset": "^1.0.0", + "xtend": "^4.0.0" } }, "semver": { @@ -12247,7 +12438,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "serialize-error": { @@ -12272,10 +12463,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -12283,7 +12474,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12293,7 +12484,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -12307,19 +12498,19 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "sinon": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.1.3.tgz", - "integrity": "sha512-yeTza8xIZZdiXntCHJAzKll/sSYE+DuJOS8hiSapzaLqdW8eCNVVC9je9SZYYTkPm2bLts9x6UYxwuMAVVrM6Q==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.1.4.tgz", + "integrity": "sha512-NFEts+4D4jp2sBjL94fQpZk5o73kzn/g58+I9Dp15i9vsnT4Lk1UEyUf2jACODWLG6Pz/llF0sArYUw47Aarmg==", "dev": true, "requires": { - "@sinonjs/formatio": "2.0.0", - "@sinonjs/samsam": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.1", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" + "@sinonjs/formatio": "^2.0.0", + "@sinonjs/samsam": "^2.0.0", + "diff": "^3.5.0", + "lodash.get": "^4.4.2", + "lolex": "^2.7.1", + "nise": "^1.4.2", + "supports-color": "^5.4.0", + "type-detect": "^4.0.8" } }, "slash": { @@ -12333,7 +12524,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -12361,14 +12552,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.1" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "debug": { @@ -12384,7 +12575,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -12392,7 +12583,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12402,9 +12593,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -12412,7 +12603,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -12420,7 +12611,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -12428,7 +12619,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -12436,9 +12627,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -12448,7 +12639,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { @@ -12456,7 +12647,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12467,7 +12658,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-map": { @@ -12480,11 +12671,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -12493,8 +12684,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "1.1.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "source-map": { @@ -12516,8 +12707,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -12532,8 +12723,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -12547,7 +12738,7 @@ "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", "requires": { - "is-stream-ended": "0.1.4" + "is-stream-ended": "^0.1.4" } }, "split-string": { @@ -12555,7 +12746,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -12570,8 +12761,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "1.0.3", - "number-is-nan": "1.0.1" + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" } }, "sshpk": { @@ -12579,15 +12770,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "stack-utils": { @@ -12601,8 +12792,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -12610,7 +12801,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -12620,7 +12811,7 @@ "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "requires": { - "stubs": "3.0.0" + "stubs": "^3.0.0" } }, "stream-shift": { @@ -12651,9 +12842,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string.prototype.matchall": { @@ -12662,11 +12853,11 @@ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "regexp.prototype.flags": "1.2.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" } }, "string_decoder": { @@ -12674,7 +12865,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "stringifier": { @@ -12682,9 +12873,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "2.5.7", - "traverse": "0.6.6", - "type-name": "2.0.2" + "core-js": "^2.0.0", + "traverse": "^0.6.6", + "type-name": "^2.0.1" } }, "strip-ansi": { @@ -12692,7 +12883,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -12707,7 +12898,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.1" } }, "strip-eof": { @@ -12721,7 +12912,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -12741,16 +12932,16 @@ "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.2", - "debug": "3.1.0", - "extend": "3.0.1", - "form-data": "2.3.2", - "formidable": "1.2.1", - "methods": "1.1.2", - "mime": "1.6.0", - "qs": "6.5.2", - "readable-stream": "2.3.6" + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.1.1", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.0.5" }, "dependencies": { "mime": { @@ -12767,11 +12958,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "1.0.1", - "indent-string": "3.2.0", - "js-yaml": "3.12.0", - "serialize-error": "2.1.0", - "strip-ansi": "4.0.0" + "arrify": "^1.0.1", + "indent-string": "^3.2.0", + "js-yaml": "^3.10.0", + "serialize-error": "^2.1.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -12786,7 +12977,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12797,7 +12988,7 @@ "integrity": "sha512-O44AMnmJqx294uJQjfUmEyYOg7d9mylNFsMw/Wkz4evKd1njyPrtCN+U6ZIC7sKtfEVQhfTqFFijlXx8KP/Czw==", "dev": true, "requires": { - "methods": "1.1.2", + "methods": "~1.1.2", "superagent": "3.8.2" } }, @@ -12807,7 +12998,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -12830,12 +13021,12 @@ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "6.5.2", - "ajv-keywords": "3.2.0", - "chalk": "2.4.1", - "lodash": "4.17.10", + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ajv": { @@ -12844,10 +13035,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "ansi-regex": { @@ -12880,8 +13071,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12890,7 +13081,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12907,7 +13098,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "text-encoding": { @@ -12933,8 +13124,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-zone": { @@ -12955,7 +13146,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-fast-properties": { @@ -12969,7 +13160,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12977,7 +13168,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12987,10 +13178,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -12998,8 +13189,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "tough-cookie": { @@ -13007,7 +13198,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "traverse": { @@ -13038,7 +13229,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -13053,7 +13244,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -13080,9 +13271,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "camelcase": { @@ -13099,8 +13290,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -13125,9 +13316,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -13174,10 +13365,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -13185,7 +13376,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -13193,10 +13384,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -13207,7 +13398,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "unique-temp-dir": { @@ -13216,8 +13407,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", + "mkdirp": "^0.5.1", + "os-tmpdir": "^1.0.1", "uid2": "0.0.3" } }, @@ -13226,9 +13417,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "1.0.0", + "array-filter": "^1.0.0", "indexof": "0.0.1", - "object-keys": "1.0.12" + "object-keys": "^1.0.0" } }, "universalify": { @@ -13242,8 +13433,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -13251,9 +13442,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -13285,16 +13476,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.4.1", - "configstore": "3.1.2", - "import-lazy": "2.1.0", - "is-ci": "1.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "uri-js": { @@ -13303,7 +13494,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" }, "dependencies": { "punycode": { @@ -13325,7 +13516,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "url-to-options": { @@ -13361,8 +13552,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -13370,9 +13561,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "well-known-symbols": { @@ -13386,7 +13577,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -13400,7 +13591,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -13421,8 +13612,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -13431,7 +13622,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -13452,8 +13643,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -13467,7 +13658,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -13476,9 +13667,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "write-json-file": { @@ -13487,12 +13678,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "5.0.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "pify": "3.0.0", - "sort-keys": "2.0.0", - "write-file-atomic": "2.3.0" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "pify": "^3.0.0", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.0.0" }, "dependencies": { "detect-indent": { @@ -13509,8 +13700,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "2.0.0", - "write-json-file": "2.3.0" + "sort-keys": "^2.0.0", + "write-json-file": "^2.2.0" } }, "xdg-basedir": { @@ -13525,6 +13716,11 @@ "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", "dev": true }, + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", @@ -13541,22 +13737,22 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", - "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", + "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" }, "dependencies": { "ansi-regex": { @@ -13564,19 +13760,22 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "requires": { + "xregexp": "4.0.0" } }, "is-fullwidth-code-point": { @@ -13589,9 +13788,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "string-width": { @@ -13599,8 +13798,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -13608,15 +13807,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" - } - }, - "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "requires": { - "camelcase": "4.1.0" + "ansi-regex": "^3.0.0" } } } @@ -13625,16 +13816,14 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" } } } From 213630e66f267a5c42f90815c83eec1d7fa8446a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 24 Jul 2018 10:23:07 -0700 Subject: [PATCH 188/588] fix(deps): update dependency @google-cloud/vision to ^0.21.0 (#131) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 3c64711a937..5a978e6a51f 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -12,7 +12,7 @@ "test": "ava -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/vision": "^0.20.0", + "@google-cloud/vision": "^0.21.0", "async": "^2.6.1", "natural": "^0.6.1", "redis": "^2.8.0", From 02ed129589f86d6d329cd0e4e3b2c56b5c0d99c2 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 24 Jul 2018 15:36:51 -0700 Subject: [PATCH 189/588] chore: drop dependency on common (#134) --- .../google-cloud-vision/package-lock.json | 2191 +++++++++++------ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/src/helpers.js | 2 +- 3 files changed, 1426 insertions(+), 769 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 75ec4ae6255..3a651745e3f 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -213,28 +213,6 @@ "arrify": "^1.0.1" } }, - "@google-cloud/common": { - "version": "0.20.3", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.20.3.tgz", - "integrity": "sha512-jt8/R4EqDTQccv5WA9AEaS65llM5+mlxsuWu57G5Os8HTIpgPbcsOVMUeIvmTrBuPUYSoRIMW8d/pvv/95n0+g==", - "requires": { - "@types/duplexify": "^3.5.0", - "@types/request": "^2.47.0", - "arrify": "^1.0.1", - "axios": "^0.18.0", - "duplexify": "^3.6.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auth-library": "^1.6.0", - "is": "^3.2.1", - "pify": "^3.0.0", - "request": "^2.87.0", - "retry-request": "^4.0.0", - "split-array-stream": "^2.0.0", - "stream-events": "^1.0.4", - "through2": "^2.0.3" - } - }, "@google-cloud/nodejs-repo-tools": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.3.2.tgz", @@ -348,7 +326,8 @@ "dependencies": { "align-text": { "version": "0.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { "kind-of": "^3.0.2", @@ -358,22 +337,26 @@ }, "amdefine": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "2.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, "append-transform": { "version": "0.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { "default-require-extensions": "^1.0.0" @@ -381,52 +364,62 @@ }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "4.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "arr-flatten": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, "arr-union": { "version": "3.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-unique": { "version": "0.3.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "arrify": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "assign-symbols": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, "async": { "version": "1.5.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "atob": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, "babel-code-frame": { "version": "6.26.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { "chalk": "^1.1.3", @@ -436,7 +429,8 @@ }, "babel-generator": { "version": "6.26.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { "babel-messages": "^6.23.0", @@ -451,7 +445,8 @@ }, "babel-messages": { "version": "6.23.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -459,7 +454,8 @@ }, "babel-runtime": { "version": "6.26.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { "core-js": "^2.4.0", @@ -468,7 +464,8 @@ }, "babel-template": { "version": "6.26.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -480,7 +477,8 @@ }, "babel-traverse": { "version": "6.26.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { "babel-code-frame": "^6.26.0", @@ -496,7 +494,8 @@ }, "babel-types": { "version": "6.26.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -507,17 +506,20 @@ }, "babylon": { "version": "6.18.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "base": { "version": "0.11.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { "cache-base": "^1.0.1", @@ -531,7 +533,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -539,7 +542,8 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -547,7 +551,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -555,7 +560,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -565,14 +571,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -581,7 +589,8 @@ }, "braces": { "version": "2.3.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -598,7 +607,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -608,12 +618,14 @@ }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "cache-base": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -629,7 +641,8 @@ }, "caching-transform": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { "md5-hex": "^1.2.0", @@ -639,13 +652,15 @@ }, "camelcase": { "version": "1.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, "requires": { @@ -655,7 +670,8 @@ }, "chalk": { "version": "1.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -667,7 +683,8 @@ }, "class-utils": { "version": "0.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -678,7 +695,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -688,7 +706,8 @@ }, "cliui": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, "requires": { @@ -699,7 +718,8 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } @@ -707,12 +727,14 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "collection-visit": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { "map-visit": "^1.0.0", @@ -721,37 +743,44 @@ }, "commondir": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "component-emitter": { "version": "1.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "copy-descriptor": { "version": "0.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, "core-js": { "version": "2.5.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==", "dev": true }, "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -760,7 +789,8 @@ }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": false, + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -768,22 +798,26 @@ }, "debug-log": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { "strip-bom": "^2.0.0" @@ -791,7 +825,8 @@ }, "define-property": { "version": "2.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -800,7 +835,8 @@ "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -808,7 +844,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -816,7 +853,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -826,14 +864,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "detect-indent": { "version": "4.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { "repeating": "^2.0.0" @@ -841,7 +881,8 @@ }, "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -849,17 +890,20 @@ }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true, + "resolved": false, + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esutils": { "version": "2.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -873,7 +917,8 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -885,7 +930,8 @@ }, "expand-brackets": { "version": "2.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { "debug": "^2.3.3", @@ -899,7 +945,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -907,7 +954,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -917,7 +965,8 @@ }, "extend-shallow": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -926,7 +975,8 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -936,7 +986,8 @@ }, "extglob": { "version": "2.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { "array-unique": "^0.3.2", @@ -951,7 +1002,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -959,7 +1011,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -967,7 +1020,8 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -975,7 +1029,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -983,7 +1038,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -993,14 +1049,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "fill-range": { "version": "4.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -1011,7 +1069,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -1021,7 +1080,8 @@ }, "find-cache-dir": { "version": "0.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { "commondir": "^1.0.1", @@ -1031,7 +1091,8 @@ }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "^2.0.0" @@ -1039,12 +1100,14 @@ }, "for-in": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "foreground-child": { "version": "1.5.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { "cross-spawn": "^4", @@ -1053,7 +1116,8 @@ }, "fragment-cache": { "version": "0.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { "map-cache": "^0.2.2" @@ -1061,27 +1125,32 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "get-value": { "version": "2.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -1094,17 +1163,20 @@ }, "globals": { "version": "9.18.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": false, + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "bundled": true, + "resolved": false, + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { "async": "^1.4.0", @@ -1115,7 +1187,8 @@ "dependencies": { "source-map": { "version": "0.4.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -1125,7 +1198,8 @@ }, "has-ansi": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -1133,12 +1207,14 @@ }, "has-flag": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "has-value": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { "get-value": "^2.0.6", @@ -1148,7 +1224,8 @@ }, "has-values": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { "is-number": "^3.0.0", @@ -1157,7 +1234,8 @@ "dependencies": { "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -1167,17 +1245,20 @@ }, "hosted-git-info": { "version": "2.6.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -1186,12 +1267,14 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invariant": { "version": "2.2.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { "loose-envify": "^1.0.0" @@ -1199,12 +1282,14 @@ }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -1212,17 +1297,20 @@ }, "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -1230,7 +1318,8 @@ }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -1238,7 +1327,8 @@ }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -1248,19 +1338,22 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, "is-extendable": { "version": "0.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-finite": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -1268,12 +1361,14 @@ }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -1281,7 +1376,8 @@ }, "is-odd": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { "is-number": "^4.0.0" @@ -1289,14 +1385,16 @@ "dependencies": { "is-number": { "version": "4.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -1304,42 +1402,50 @@ }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "is-windows": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { "append-transform": "^0.4.0" @@ -1347,7 +1453,8 @@ }, "istanbul-lib-instrument": { "version": "1.10.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { "babel-generator": "^6.18.0", @@ -1361,7 +1468,8 @@ }, "istanbul-lib-report": { "version": "1.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.2", @@ -1372,7 +1480,8 @@ "dependencies": { "supports-color": { "version": "3.2.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { "has-flag": "^1.0.0" @@ -1382,7 +1491,8 @@ }, "istanbul-lib-source-maps": { "version": "1.2.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", "dev": true, "requires": { "debug": "^3.1.0", @@ -1394,7 +1504,8 @@ "dependencies": { "debug": { "version": "3.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -1404,7 +1515,8 @@ }, "istanbul-reports": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-OPzVo1fPZ2H+owr8q/LYKLD+vquv9Pj4F+dj808MdHbuQLD7S4ACRjcX+0Tne5Vxt2lxXvdZaL7v+FOOAV281w==", "dev": true, "requires": { "handlebars": "^4.0.3" @@ -1412,17 +1524,20 @@ }, "js-tokens": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "jsesc": { "version": "1.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -1430,13 +1545,15 @@ }, "lazy-cache": { "version": "1.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -1444,7 +1561,8 @@ }, "load-json-file": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -1456,7 +1574,8 @@ }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "^2.0.0", @@ -1465,24 +1584,28 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "lodash": { "version": "4.17.10", - "bundled": true, + "resolved": false, + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true }, "longest": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, "loose-envify": { "version": "1.3.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { "js-tokens": "^3.0.0" @@ -1490,7 +1613,8 @@ }, "lru-cache": { "version": "4.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -1499,12 +1623,14 @@ }, "map-cache": { "version": "0.2.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-visit": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { "object-visit": "^1.0.0" @@ -1512,7 +1638,8 @@ }, "md5-hex": { "version": "1.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { "md5-o-matic": "^0.1.1" @@ -1520,12 +1647,14 @@ }, "md5-o-matic": { "version": "0.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -1533,7 +1662,8 @@ }, "merge-source-map": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", "dev": true, "requires": { "source-map": "^0.6.1" @@ -1541,14 +1671,16 @@ "dependencies": { "source-map": { "version": "0.6.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } }, "micromatch": { "version": "3.1.10", - "bundled": true, + "resolved": false, + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -1568,19 +1700,22 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -1588,12 +1723,14 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mixin-deep": { "version": "1.3.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -1602,7 +1739,8 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -1612,7 +1750,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -1620,12 +1759,14 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "nanomatch": { "version": "1.2.9", - "bundled": true, + "resolved": false, + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -1644,14 +1785,16 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -1662,7 +1805,8 @@ }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { "path-key": "^2.0.0" @@ -1670,17 +1814,20 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-copy": { "version": "0.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -1690,7 +1837,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -1700,7 +1848,8 @@ }, "object-visit": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { "isobject": "^3.0.0" @@ -1708,7 +1857,8 @@ }, "object.pick": { "version": "1.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { "isobject": "^3.0.1" @@ -1716,7 +1866,8 @@ }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -1724,7 +1875,8 @@ }, "optimist": { "version": "0.6.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { "minimist": "~0.0.1", @@ -1733,12 +1885,14 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { "execa": "^0.7.0", @@ -1748,12 +1902,14 @@ }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { "p-try": "^1.0.0" @@ -1761,7 +1917,8 @@ }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "^1.1.0" @@ -1769,12 +1926,14 @@ }, "p-try": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { "error-ex": "^1.2.0" @@ -1782,12 +1941,14 @@ }, "pascalcase": { "version": "0.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, "path-exists": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -1795,22 +1956,26 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "bundled": true, + "resolved": false, + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -1820,17 +1985,20 @@ }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { "pinkie": "^2.0.0" @@ -1838,7 +2006,8 @@ }, "pkg-dir": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { "find-up": "^1.0.0" @@ -1846,7 +2015,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "^2.0.0", @@ -1857,17 +2027,20 @@ }, "posix-character-classes": { "version": "0.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "read-pkg": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -1877,7 +2050,8 @@ }, "read-pkg-up": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { "find-up": "^1.0.0", @@ -1886,7 +2060,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "^2.0.0", @@ -1897,12 +2072,14 @@ }, "regenerator-runtime": { "version": "0.11.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regex-not": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -1911,17 +2088,20 @@ }, "repeat-element": { "version": "1.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "repeating": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { "is-finite": "^1.0.0" @@ -1929,32 +2109,38 @@ }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "resolve-url": { "version": "0.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "ret": { "version": "0.1.15", - "bundled": true, + "resolved": false, + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, "right-align": { "version": "0.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, "requires": { @@ -1963,7 +2149,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "^7.0.5" @@ -1971,7 +2158,8 @@ }, "safe-regex": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { "ret": "~0.1.10" @@ -1979,17 +2167,20 @@ }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "set-value": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -2000,7 +2191,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -2010,7 +2202,8 @@ }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -2018,22 +2211,26 @@ }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "snapdragon": { "version": "0.8.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { "base": "^0.11.1", @@ -2048,7 +2245,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -2056,7 +2254,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -2066,7 +2265,8 @@ }, "snapdragon-node": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { "define-property": "^1.0.0", @@ -2076,7 +2276,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -2084,7 +2285,8 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -2092,7 +2294,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -2100,7 +2303,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -2110,14 +2314,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { "kind-of": "^3.2.0" @@ -2125,12 +2331,14 @@ }, "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": false, + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { "version": "0.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", "dev": true, "requires": { "atob": "^2.0.0", @@ -2142,12 +2350,14 @@ }, "source-map-url": { "version": "0.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", "dev": true, "requires": { "foreground-child": "^1.5.6", @@ -2160,7 +2370,8 @@ }, "spdx-correct": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -2169,12 +2380,14 @@ }, "spdx-exceptions": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -2183,12 +2396,14 @@ }, "spdx-license-ids": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "split-string": { "version": "3.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -2196,7 +2411,8 @@ }, "static-extend": { "version": "0.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { "define-property": "^0.2.5", @@ -2205,7 +2421,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -2215,7 +2432,8 @@ }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -2224,12 +2442,14 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -2239,7 +2459,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -2247,7 +2468,8 @@ }, "strip-bom": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -2255,17 +2477,20 @@ }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "supports-color": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, "test-exclude": { "version": "4.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { "arrify": "^1.0.1", @@ -2277,12 +2502,14 @@ }, "to-fast-properties": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, "to-object-path": { "version": "0.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -2290,7 +2517,8 @@ }, "to-regex": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { "define-property": "^2.0.2", @@ -2301,7 +2529,8 @@ }, "to-regex-range": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { "is-number": "^3.0.0", @@ -2310,12 +2539,14 @@ }, "trim-right": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, "uglify-js": { "version": "2.8.29", - "bundled": true, + "resolved": false, + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, "requires": { @@ -2326,7 +2557,8 @@ "dependencies": { "yargs": { "version": "3.10.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, "requires": { @@ -2340,13 +2572,15 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -2357,7 +2591,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -2365,7 +2600,8 @@ }, "set-value": { "version": "0.4.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -2378,7 +2614,8 @@ }, "unset-value": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { "has-value": "^0.3.1", @@ -2387,7 +2624,8 @@ "dependencies": { "has-value": { "version": "0.3.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { "get-value": "^2.0.3", @@ -2397,7 +2635,8 @@ "dependencies": { "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -2407,19 +2646,22 @@ }, "has-values": { "version": "0.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true } } }, "urix": { "version": "0.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "use": { "version": "3.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -2427,14 +2669,16 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -2443,7 +2687,8 @@ }, "which": { "version": "1.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -2451,23 +2696,27 @@ }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { "string-width": "^1.0.1", @@ -2476,7 +2725,8 @@ "dependencies": { "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -2484,7 +2734,8 @@ }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -2496,12 +2747,14 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -2511,17 +2764,20 @@ }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "11.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { "cliui": "^4.0.0", @@ -2540,17 +2796,20 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "cliui": { "version": "4.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { "string-width": "^2.1.1", @@ -2560,7 +2819,8 @@ }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -2568,7 +2828,8 @@ }, "yargs-parser": { "version": "9.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -2578,7 +2839,8 @@ }, "yargs-parser": { "version": "8.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -2586,7 +2848,8 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } @@ -2695,6 +2958,11 @@ } } }, + "@google-cloud/promisify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-0.3.0.tgz", + "integrity": "sha512-5xfpwK9iIAwZrKtG+SnEKZkgnce9Hsew1dkeYNyP/slAxTIdS9wjSUJ5Waq/dfsYphkHSGyH6F9lwqJlD5Zsyw==" + }, "@google-cloud/storage": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.7.0.tgz", @@ -2907,27 +3175,6 @@ "integrity": "sha512-D7VxhADdZbDJ0HjUTMnSQ5xIGb4H2yWpg8k9Sf1T08zfFiQYlaxM8LZydpR4FQ2E6LZJX8IlabNZ5io4vdChwg==", "dev": true }, - "@types/caseless": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.1.tgz", - "integrity": "sha512-FhlMa34NHp9K5MY1Uz8yb+ZvuX0pnvn3jScRSNAb75KHGB8d3rEU6hqMs3Z2vjuytcMfRg6c5CHMc3wtYyD2/A==" - }, - "@types/duplexify": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz", - "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==", - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", - "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", - "requires": { - "@types/node": "*" - } - }, "@types/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", @@ -2938,22 +3185,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==" }, - "@types/request": { - "version": "2.47.1", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", - "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", - "requires": { - "@types/caseless": "*", - "@types/form-data": "*", - "@types/node": "*", - "@types/tough-cookie": "*" - } - }, - "@types/tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha512-MDQLxNFRLasqS4UlkWMSACMKeSm1x4Q3TxzUC7KQUsh6RK1ZrQ0VEyE3yzXcBu+K8ejVj4wuX32eUG02yNp+YQ==" - }, "acorn": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", @@ -2977,6 +3208,7 @@ "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, "requires": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -3275,12 +3507,14 @@ "asn1": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true }, "assign-symbols": { "version": "1.0.0", @@ -3305,7 +3539,8 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "atob": { "version": "2.1.1", @@ -3486,12 +3721,14 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true }, "aws4": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", - "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", + "dev": true }, "axios": { "version": "0.18.0", @@ -4023,6 +4260,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, "optional": true, "requires": { "tweetnacl": "^0.14.3" @@ -4307,7 +4545,8 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true }, "catharsis": { "version": "0.8.9", @@ -4526,7 +4765,8 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, "co-with-promise": { "version": "4.6.0", @@ -4602,6 +4842,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -4789,6 +5030,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -4945,7 +5187,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "detect-indent": { "version": "4.0.0", @@ -5063,6 +5306,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, "optional": true, "requires": { "jsbn": "~0.1.0" @@ -5114,7 +5358,8 @@ "ent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true }, "entities": { "version": "1.1.1", @@ -5851,12 +6096,14 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true }, "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true }, "fast-diff": { "version": "1.1.2", @@ -5880,7 +6127,8 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -6011,12 +6259,14 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true }, "form-data": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "1.0.6", @@ -6076,24 +6326,28 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "optional": true, "requires": { @@ -6103,12 +6357,14 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -6117,34 +6373,40 @@ }, "chownr": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "requires": { @@ -6153,25 +6415,29 @@ }, "deep-extend": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, "requires": { @@ -6180,13 +6446,15 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, "requires": { @@ -6202,7 +6470,8 @@ }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "optional": true, "requires": { @@ -6216,13 +6485,15 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.21", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "dev": true, "optional": true, "requires": { @@ -6231,7 +6502,8 @@ }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, "requires": { @@ -6240,7 +6512,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, "requires": { @@ -6250,18 +6523,21 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -6269,13 +6545,15 @@ }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -6283,12 +6561,14 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "minipass": { "version": "2.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", + "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "dev": true, "requires": { "safe-buffer": "^5.1.1", @@ -6297,7 +6577,8 @@ }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "dev": true, "optional": true, "requires": { @@ -6306,7 +6587,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -6314,13 +6596,15 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "needle": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", + "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "dev": true, "optional": true, "requires": { @@ -6331,7 +6615,8 @@ }, "node-pre-gyp": { "version": "0.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", + "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "dev": true, "optional": true, "requires": { @@ -6349,7 +6634,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, "requires": { @@ -6359,13 +6645,15 @@ }, "npm-bundled": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "dev": true, "optional": true, "requires": { @@ -6375,7 +6663,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, "requires": { @@ -6387,18 +6676,21 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -6406,19 +6698,22 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { @@ -6428,19 +6723,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "optional": true, "requires": { @@ -6452,7 +6750,8 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true } @@ -6460,7 +6759,8 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, "requires": { @@ -6475,7 +6775,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "optional": true, "requires": { @@ -6484,42 +6785,49 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -6529,7 +6837,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -6538,7 +6847,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -6546,13 +6856,15 @@ }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", + "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "dev": true, "optional": true, "requires": { @@ -6567,13 +6879,15 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "optional": true, "requires": { @@ -6582,12 +6896,14 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "yallist": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "dev": true } } @@ -6664,6 +6980,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -6900,19 +7217,23 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "aproba": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { "version": "1.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -6920,11 +7241,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6932,57 +7255,69 @@ }, "chownr": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" }, "code-point-at": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "core-util-is": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": false, + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "deep-extend": { "version": "0.6.0", - "bundled": true + "resolved": false, + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, "delegates": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "detect-libc": { "version": "1.0.3", - "bundled": true + "resolved": false, + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "requires": { "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -6996,7 +7331,8 @@ }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7008,25 +7344,29 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "iconv-lite": { "version": "0.4.23", - "bundled": true, + "resolved": false, + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "requires": { "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -7034,37 +7374,44 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": false, + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.5", - "bundled": true + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "minipass": { "version": "2.3.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7072,31 +7419,36 @@ }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "requires": { "minipass": "^2.2.1" } }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" }, "dependencies": { "minimist": { "version": "0.0.8", - "bundled": true + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, "ms": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "needle": { "version": "2.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q==", "requires": { "debug": "^2.1.2", "iconv-lite": "^0.4.4", @@ -7105,7 +7457,8 @@ }, "node-pre-gyp": { "version": "0.10.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-16lql9QTqs6KsB9fl3neWyZm02KxIKdI9FlJjrB0y7eMTP5Nyz+xalwPbOlw3iw7EejllJPmlJSnY711PLD1ug==", "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -7121,7 +7474,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -7129,11 +7483,13 @@ }, "npm-bundled": { "version": "1.0.3", - "bundled": true + "resolved": false, + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==" }, "npm-packlist": { "version": "1.1.10", - "bundled": true, + "resolved": false, + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -7141,7 +7497,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -7151,30 +7508,36 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "object-assign": { "version": "4.1.1", - "bundled": true + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-tmpdir": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -7182,11 +7545,13 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "process-nextick-args": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "protobufjs": { "version": "5.0.3", @@ -7201,7 +7566,8 @@ }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -7211,7 +7577,8 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -7224,38 +7591,46 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { "glob": "^7.0.5" } }, "safe-buffer": { "version": "5.1.2", - "bundled": true + "resolved": false, + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", - "bundled": true + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sax": { "version": "1.2.4", - "bundled": true + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { "version": "5.5.0", - "bundled": true + "resolved": false, + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "set-blocking": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "signal-exit": { "version": "3.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7264,25 +7639,29 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "tar": { "version": "4.4.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-mq9ixIYfNF9SK0IS/h2HKMu8Q2iaCuhDDsZhdEag/FHv8fOaYld4vN7ouMgcSSt5WKZzPs8atclTcJm36OTh4w==", "requires": { "chownr": "^1.0.1", "fs-minipass": "^1.2.5", @@ -7295,22 +7674,26 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "yallist": { "version": "3.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" }, "yargs": { "version": "3.32.0", @@ -7372,12 +7755,14 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true }, "har-validator": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, "requires": { "ajv": "^5.1.0", "har-schema": "^2.0.0" @@ -7524,6 +7909,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -8064,7 +8450,8 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-url": { "version": "1.2.4", @@ -8101,7 +8488,8 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true }, "istanbul-lib-coverage": { "version": "2.0.1", @@ -8175,6 +8563,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, "optional": true }, "jsdoc": { @@ -8226,12 +8615,14 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -8242,7 +8633,8 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json5": { "version": "0.5.1", @@ -8263,6 +8655,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -8780,12 +9173,14 @@ "mime-db": { "version": "1.35.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "dev": true }, "mime-types": { "version": "2.1.19", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "dev": true, "requires": { "mime-db": "~1.35.0" } @@ -9072,7 +9467,8 @@ "dependencies": { "align-text": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { "kind-of": "^3.0.2", @@ -9082,17 +9478,20 @@ }, "amdefine": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "append-transform": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { "default-require-extensions": "^1.0.0" @@ -9100,57 +9499,68 @@ }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "arr-diff": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "arr-flatten": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", "dev": true }, "arr-union": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-unique": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "arrify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "assign-symbols": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, "async": { "version": "1.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, "atob": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "base": { "version": "0.11.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", "dev": true, "requires": { "cache-base": "^1.0.1", @@ -9164,7 +9574,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -9172,7 +9583,8 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9180,7 +9592,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9188,7 +9601,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -9198,14 +9612,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -9214,7 +9630,8 @@ }, "braces": { "version": "2.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -9231,7 +9648,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9241,12 +9659,14 @@ }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "cache-base": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -9262,7 +9682,8 @@ }, "caching-transform": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", + "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { "md5-hex": "^1.2.0", @@ -9272,13 +9693,15 @@ }, "camelcase": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "optional": true, "requires": { @@ -9288,7 +9711,8 @@ }, "class-utils": { "version": "0.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -9299,7 +9723,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -9309,7 +9734,8 @@ }, "cliui": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, "requires": { @@ -9320,7 +9746,8 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } @@ -9328,12 +9755,14 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "collection-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { "map-visit": "^1.0.0", @@ -9342,32 +9771,38 @@ }, "commondir": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "component-emitter": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { "version": "1.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "copy-descriptor": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, "cross-spawn": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -9376,7 +9811,8 @@ }, "debug": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", "dev": true, "requires": { "ms": "2.0.0" @@ -9384,22 +9820,26 @@ }, "debug-log": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", + "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "default-require-extensions": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { "strip-bom": "^2.0.0" @@ -9407,7 +9847,8 @@ }, "define-property": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -9416,7 +9857,8 @@ "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9424,7 +9866,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9432,7 +9875,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -9442,14 +9886,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "error-ex": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -9457,7 +9903,8 @@ }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -9471,7 +9918,8 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -9483,7 +9931,8 @@ }, "expand-brackets": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { "debug": "^2.3.3", @@ -9497,7 +9946,8 @@ "dependencies": { "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -9505,7 +9955,8 @@ }, "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -9513,7 +9964,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9523,7 +9975,8 @@ }, "extend-shallow": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -9532,7 +9985,8 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -9542,7 +9996,8 @@ }, "extglob": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", "dev": true, "requires": { "array-unique": "^0.3.2", @@ -9557,7 +10012,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -9565,7 +10021,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9573,7 +10030,8 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9581,7 +10039,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9589,7 +10048,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -9599,14 +10059,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "fill-range": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -9617,7 +10079,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9627,7 +10090,8 @@ }, "find-cache-dir": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "dev": true, "requires": { "commondir": "^1.0.1", @@ -9637,7 +10101,8 @@ }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "^2.0.0" @@ -9645,12 +10110,14 @@ }, "for-in": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "foreground-child": { "version": "1.5.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", "dev": true, "requires": { "cross-spawn": "^4", @@ -9659,7 +10126,8 @@ }, "fragment-cache": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { "map-cache": "^0.2.2" @@ -9667,27 +10135,32 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "get-value": { "version": "2.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -9700,12 +10173,14 @@ }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "handlebars": { "version": "4.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { "async": "^1.4.0", @@ -9716,7 +10191,8 @@ "dependencies": { "source-map": { "version": "0.4.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -9726,7 +10202,8 @@ }, "has-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { "get-value": "^2.0.6", @@ -9736,7 +10213,8 @@ }, "has-values": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { "is-number": "^3.0.0", @@ -9745,7 +10223,8 @@ "dependencies": { "kind-of": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -9755,17 +10234,20 @@ }, "hosted-git-info": { "version": "2.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -9774,17 +10256,20 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9792,17 +10277,20 @@ }, "is-arrayish": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-buffer": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -9810,7 +10298,8 @@ }, "is-data-descriptor": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9818,7 +10307,8 @@ }, "is-descriptor": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -9828,24 +10318,28 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", "dev": true } } }, "is-extendable": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "is-number": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -9853,7 +10347,8 @@ }, "is-odd": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ=", "dev": true, "requires": { "is-number": "^4.0.0" @@ -9861,14 +10356,16 @@ "dependencies": { "is-number": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=", "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", "dev": true, "requires": { "isobject": "^3.0.1" @@ -9876,42 +10373,50 @@ }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-utf8": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "is-windows": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", + "integrity": "sha1-99jy5CuX43/nlhFMsPnWi146Q0E=", "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha1-hTjZcDcss3FtU+VVI91UtVeo2Js=", "dev": true, "requires": { "append-transform": "^0.4.0" @@ -9919,7 +10424,8 @@ }, "istanbul-lib-report": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", + "integrity": "sha1-LfEhiMD6d5kMDSF20tC6M5QYglk=", "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.2", @@ -9930,12 +10436,14 @@ "dependencies": { "has-flag": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, "supports-color": { "version": "3.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { "has-flag": "^1.0.0" @@ -9945,7 +10453,8 @@ }, "istanbul-lib-source-maps": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz", + "integrity": "sha1-/+a+Tnq4bTYD5CkNVJkLFFBvybE=", "dev": true, "requires": { "debug": "^3.1.0", @@ -9957,7 +10466,8 @@ }, "istanbul-reports": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.4.1.tgz", + "integrity": "sha1-Ty6OkoqnoF0dpsQn1AmLJlXsczQ=", "dev": true, "requires": { "handlebars": "^4.0.3" @@ -9965,7 +10475,8 @@ }, "kind-of": { "version": "3.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -9973,13 +10484,15 @@ }, "lazy-cache": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -9987,7 +10500,8 @@ }, "load-json-file": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -9999,7 +10513,8 @@ }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "^2.0.0", @@ -10008,19 +10523,22 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } } }, "longest": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, "lru-cache": { "version": "4.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=", "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -10029,12 +10547,14 @@ }, "map-cache": { "version": "0.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-visit": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { "object-visit": "^1.0.0" @@ -10042,7 +10562,8 @@ }, "md5-hex": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", + "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { "md5-o-matic": "^0.1.1" @@ -10050,12 +10571,14 @@ }, "md5-o-matic": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", + "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -10063,7 +10586,8 @@ }, "merge-source-map": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", "dev": true, "requires": { "source-map": "^0.6.1" @@ -10071,14 +10595,16 @@ "dependencies": { "source-map": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true } } }, "micromatch": { "version": "3.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -10098,19 +10624,22 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -10118,12 +10647,14 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mixin-deep": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=", "dev": true, "requires": { "for-in": "^1.0.2", @@ -10132,7 +10663,8 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -10142,7 +10674,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -10150,12 +10683,14 @@ }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "nanomatch": { "version": "1.2.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I=", "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -10174,14 +10709,16 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -10192,7 +10729,8 @@ }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { "path-key": "^2.0.0" @@ -10200,17 +10738,20 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-copy": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -10220,7 +10761,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10230,7 +10772,8 @@ }, "object-visit": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { "isobject": "^3.0.0" @@ -10238,7 +10781,8 @@ }, "object.pick": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { "isobject": "^3.0.1" @@ -10246,7 +10790,8 @@ }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -10254,7 +10799,8 @@ }, "optimist": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { "minimist": "~0.0.1", @@ -10263,12 +10809,14 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", "dev": true, "requires": { "execa": "^0.7.0", @@ -10278,12 +10826,14 @@ }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=", "dev": true, "requires": { "p-try": "^1.0.0" @@ -10291,7 +10841,8 @@ }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "^1.1.0" @@ -10299,12 +10850,14 @@ }, "p-try": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "parse-json": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { "error-ex": "^1.2.0" @@ -10312,12 +10865,14 @@ }, "pascalcase": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, "path-exists": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -10325,22 +10880,26 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-parse": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, "path-type": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -10350,17 +10909,20 @@ }, "pify": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "pinkie": { "version": "2.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { "pinkie": "^2.0.0" @@ -10368,7 +10930,8 @@ }, "pkg-dir": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { "find-up": "^1.0.0" @@ -10376,7 +10939,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "^2.0.0", @@ -10387,17 +10951,20 @@ }, "posix-character-classes": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "read-pkg": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -10407,7 +10974,8 @@ }, "read-pkg-up": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { "find-up": "^1.0.0", @@ -10416,7 +10984,8 @@ "dependencies": { "find-up": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { "path-exists": "^2.0.0", @@ -10427,7 +10996,8 @@ }, "regex-not": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -10436,42 +11006,50 @@ }, "repeat-element": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "dev": true }, "repeat-string": { "version": "1.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", "dev": true }, "resolve-url": { "version": "0.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "ret": { "version": "0.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", "dev": true }, "right-align": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "optional": true, "requires": { @@ -10480,7 +11058,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", "dev": true, "requires": { "glob": "^7.0.5" @@ -10488,7 +11067,8 @@ }, "safe-regex": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { "ret": "~0.1.10" @@ -10496,17 +11076,20 @@ }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "set-value": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -10517,7 +11100,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10527,7 +11111,8 @@ }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -10535,22 +11120,26 @@ }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "snapdragon": { "version": "0.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", "dev": true, "requires": { "base": "^0.11.1", @@ -10565,7 +11154,8 @@ "dependencies": { "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -10573,7 +11163,8 @@ }, "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10581,7 +11172,8 @@ }, "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10591,7 +11183,8 @@ }, "snapdragon-node": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", "dev": true, "requires": { "define-property": "^1.0.0", @@ -10601,7 +11194,8 @@ "dependencies": { "define-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -10609,7 +11203,8 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10617,7 +11212,8 @@ }, "is-data-descriptor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10625,7 +11221,8 @@ }, "is-descriptor": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -10635,14 +11232,16 @@ }, "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", "dev": true, "requires": { "kind-of": "^3.2.0" @@ -10650,12 +11249,14 @@ }, "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { "version": "0.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", "dev": true, "requires": { "atob": "^2.1.1", @@ -10667,12 +11268,14 @@ }, "source-map-url": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, "spawn-wrap": { "version": "1.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", + "integrity": "sha1-z/WOc6giRhe2Vhq9wyWG6gyCJIw=", "dev": true, "requires": { "foreground-child": "^1.5.6", @@ -10685,7 +11288,8 @@ }, "spdx-correct": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -10694,12 +11298,14 @@ }, "spdx-exceptions": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=", "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -10708,12 +11314,14 @@ }, "spdx-license-ids": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=", "dev": true }, "split-string": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -10721,7 +11329,8 @@ }, "static-extend": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { "define-property": "^0.2.5", @@ -10730,7 +11339,8 @@ "dependencies": { "define-property": { "version": "0.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10740,7 +11350,8 @@ }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -10749,7 +11360,8 @@ }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -10757,7 +11369,8 @@ }, "strip-bom": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -10765,12 +11378,14 @@ }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "test-exclude": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", + "integrity": "sha1-36Ii8DSAvKaSB8pyizfXS0X3JPo=", "dev": true, "requires": { "arrify": "^1.0.1", @@ -10782,7 +11397,8 @@ }, "to-object-path": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -10790,7 +11406,8 @@ }, "to-regex": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", "dev": true, "requires": { "define-property": "^2.0.2", @@ -10801,7 +11418,8 @@ }, "to-regex-range": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { "is-number": "^3.0.0", @@ -10810,7 +11428,8 @@ }, "uglify-js": { "version": "2.8.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, "requires": { @@ -10821,7 +11440,8 @@ "dependencies": { "yargs": { "version": "3.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "optional": true, "requires": { @@ -10835,13 +11455,15 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { "arr-union": "^3.1.0", @@ -10852,7 +11474,8 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10860,7 +11483,8 @@ }, "set-value": { "version": "0.4.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -10873,7 +11497,8 @@ }, "unset-value": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { "has-value": "^0.3.1", @@ -10882,7 +11507,8 @@ "dependencies": { "has-value": { "version": "0.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { "get-value": "^2.0.3", @@ -10892,7 +11518,8 @@ "dependencies": { "isobject": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { "isarray": "1.0.0" @@ -10902,19 +11529,22 @@ }, "has-values": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true } } }, "urix": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "use": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha1-FHFr8D/f79AwQK71jYtLhfOnxUQ=", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -10922,14 +11552,16 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -10938,7 +11570,8 @@ }, "which": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", "dev": true, "requires": { "isexe": "^2.0.0" @@ -10946,23 +11579,27 @@ }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "window-size": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { "string-width": "^1.0.1", @@ -10971,12 +11608,14 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -10984,7 +11623,8 @@ }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -10994,7 +11634,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -11004,12 +11645,14 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", + "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -11019,17 +11662,20 @@ }, "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "11.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha1-kLhpk07W6HERXqL/WLA/RyTtLXc=", "dev": true, "requires": { "cliui": "^4.0.0", @@ -11048,12 +11694,14 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "cliui": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", "dev": true, "requires": { "string-width": "^2.1.1", @@ -11063,7 +11711,8 @@ }, "yargs-parser": { "version": "9.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -11073,7 +11722,8 @@ }, "yargs-parser": { "version": "8.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha1-8TdqM7Ziml0GN4KUTacyYx6WaVA=", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -11081,7 +11731,8 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true } } @@ -11091,7 +11742,8 @@ "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -11468,7 +12120,8 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "pify": { "version": "3.0.0", @@ -11887,12 +12540,14 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true }, "query-string": { "version": "5.1.1", @@ -12202,6 +12857,7 @@ "version": "2.87.0", "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.6.0", @@ -12400,7 +13056,8 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "samsam": { "version": "1.3.0", @@ -12733,14 +13390,6 @@ "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, - "split-array-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz", - "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==", - "requires": { - "is-stream-ended": "^0.1.4" - } - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -12769,6 +13418,7 @@ "version": "1.14.2", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -12810,6 +13460,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", + "dev": true, "requires": { "stubs": "^3.0.0" } @@ -12924,7 +13575,8 @@ "stubs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", - "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=" + "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", + "dev": true }, "superagent": { "version": "3.8.2", @@ -13197,6 +13849,7 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, "requires": { "punycode": "^1.4.1" } @@ -13228,6 +13881,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -13236,6 +13890,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, "optional": true }, "type-check": { @@ -13544,7 +14199,8 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true }, "validate-npm-package-license": { "version": "3.0.3", @@ -13560,6 +14216,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 33b2b800347..a9f730dbac6 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -65,7 +65,7 @@ "test": "npm run cover" }, "dependencies": { - "@google-cloud/common": "^0.20.1", + "@google-cloud/promisify": "^0.3.0", "google-gax": "^0.17.1", "is": "^3.2.1", "lodash.merge": "^4.6.1", diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index cfe68f4b67d..0b2ec35f53c 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -19,7 +19,7 @@ const fs = require('fs'); const is = require('is'); const path = require('path'); -const promisify = require('@google-cloud/common').util.promisify; +const {promisify} = require('@google-cloud/promisify'); const protobuf = require('protobufjs'); const gax = require('google-gax'); From b688df85e6e382ad193d6e12df6425c703413e44 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Wed, 25 Jul 2018 21:38:12 -0700 Subject: [PATCH 190/588] chore: add node templates to synth.py (#139) * chore: add node templates to synth.py * fix: bad automation * fix: bad automation * fix: bad automation * fix: bad automation --- packages/google-cloud-vision/synth.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index a60db82b133..1f57797785b 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -22,6 +22,8 @@ logging.basicConfig(level=logging.DEBUG) gapic = gcp.GAPICGenerator() +common_templates = gcp.CommonTemplates() + versions = ['v1', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1'] @@ -29,6 +31,10 @@ library = gapic.node_library('vision', version) s.copy(library, excludes=['src/index.js', 'README.md', 'package.json']) +templates = common_templates.node_library(package_name="@google-cloud/vision") +s.copy(templates) + + ''' Node.js specific cleanup ''' From 2d967f82f9d5b1f7da3db1ea194c78a916ee0378 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Thu, 26 Jul 2018 06:38:25 -0700 Subject: [PATCH 191/588] Re-generate library using /synth.py (#140) --- packages/google-cloud-vision/.circleci/config.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 4b0c6b88fea..cf867c5f06d 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -80,6 +80,7 @@ jobs: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: npm test - run: node_modules/.bin/codecov + node8: docker: - image: 'node:8' @@ -142,13 +143,13 @@ jobs: command: npm run samples-test environment: GCLOUD_PROJECT: long-door-651 - GOOGLE_APPLICATION_CREDENTIALS: /home/node/vision-samples/.circleci/key.json + GOOGLE_APPLICATION_CREDENTIALS: /home/node/samples/.circleci/key.json NPM_CONFIG_PREFIX: /home/node/.npm-global - run: name: Remove unencrypted key. command: rm .circleci/key.json when: always - working_directory: /home/node/vision-samples + working_directory: /home/node/samples/ system_tests: docker: - image: 'node:8' @@ -179,4 +180,4 @@ jobs: steps: - checkout - run: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc' - - run: npm publish + - run: npm publish --access=public \ No newline at end of file From b009c63cd67f8c303ab610d89a6320b773e08c23 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 30 Jul 2018 07:51:58 -0700 Subject: [PATCH 192/588] chore: require node 8 for samples (#142) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 5a978e6a51f..b41db3c822f 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -6,7 +6,7 @@ "author": "Google Inc.", "repository": "googleapis/nodejs-vision", "engines": { - "node": ">=6.0.0" + "node": ">=8" }, "scripts": { "test": "ava -T 1m --verbose system-test/*.test.js" From bf0c07d2bcae504ab55d53c670ad9eec60c48760 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 30 Jul 2018 11:40:16 -0700 Subject: [PATCH 193/588] chore: move mocha options to mocha.opts (#141) --- .../google-cloud-vision/package-lock.json | 140 +++++++++--------- packages/google-cloud-vision/package.json | 8 +- packages/google-cloud-vision/test/mocha.opts | 2 + 3 files changed, 78 insertions(+), 72 deletions(-) create mode 100644 packages/google-cloud-vision/test/mocha.opts diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 3a651745e3f..6ec87ef0a83 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -329,6 +329,7 @@ "resolved": false, "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -1600,7 +1601,8 @@ "version": "1.0.1", "resolved": false, "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true + "dev": true, + "optional": true }, "loose-envify": { "version": "1.3.1", @@ -6326,27 +6328,27 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "resolved": false, "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "resolved": false, "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "resolved": false, "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "resolved": false, "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "optional": true, @@ -6357,13 +6359,13 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "resolved": false, "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "resolved": false, "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { @@ -6373,39 +6375,39 @@ }, "chownr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "resolved": false, "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "resolved": false, "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "resolved": false, "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "resolved": false, "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "resolved": false, "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": false, "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, @@ -6415,28 +6417,28 @@ }, "deep-extend": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "resolved": false, "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "resolved": false, "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "resolved": false, "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "resolved": false, "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, @@ -6446,14 +6448,14 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": false, "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "resolved": false, "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, @@ -6470,7 +6472,7 @@ }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "resolved": false, "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "optional": true, @@ -6485,14 +6487,14 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "resolved": false, "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.21", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "resolved": false, "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "dev": true, "optional": true, @@ -6502,7 +6504,7 @@ }, "ignore-walk": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "resolved": false, "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, @@ -6512,7 +6514,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "resolved": false, "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, @@ -6523,20 +6525,20 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "resolved": false, "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "resolved": false, "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "resolved": false, "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { @@ -6545,14 +6547,14 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "resolved": false, "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "resolved": false, "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { @@ -6561,13 +6563,13 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": false, "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "minipass": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", + "resolved": false, "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "dev": true, "requires": { @@ -6577,7 +6579,7 @@ }, "minizlib": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "resolved": false, "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "dev": true, "optional": true, @@ -6587,7 +6589,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": false, "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -6596,14 +6598,14 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": false, "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "needle": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", + "resolved": false, "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "dev": true, "optional": true, @@ -6615,7 +6617,7 @@ }, "node-pre-gyp": { "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", + "resolved": false, "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "dev": true, "optional": true, @@ -6634,7 +6636,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "resolved": false, "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, @@ -6645,14 +6647,14 @@ }, "npm-bundled": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", + "resolved": false, "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", + "resolved": false, "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "dev": true, "optional": true, @@ -6663,7 +6665,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "resolved": false, "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, @@ -6676,20 +6678,20 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "resolved": false, "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "resolved": false, "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "resolved": false, "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { @@ -6698,21 +6700,21 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": false, "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": false, "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "resolved": false, "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, @@ -6723,21 +6725,21 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": false, "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "resolved": false, "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "resolved": false, "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "optional": true, @@ -6750,7 +6752,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": false, "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true @@ -6759,7 +6761,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": false, "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, @@ -6775,7 +6777,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "resolved": false, "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "optional": true, @@ -6785,48 +6787,48 @@ }, "safe-buffer": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "resolved": false, "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "resolved": false, "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "resolved": false, "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "resolved": false, "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "resolved": false, "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "resolved": false, "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": false, "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -6837,7 +6839,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": false, "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, @@ -6847,7 +6849,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": false, "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -6856,14 +6858,14 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "resolved": false, "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", + "resolved": false, "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "dev": true, "optional": true, @@ -6879,14 +6881,14 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "resolved": false, "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "resolved": false, "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "optional": true, @@ -6896,13 +6898,13 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "resolved": false, "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "yallist": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "resolved": false, "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "dev": true } @@ -9470,6 +9472,7 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -10533,7 +10536,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true + "dev": true, + "optional": true }, "lru-cache": { "version": "4.1.3", diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a9f730dbac6..32157c52dda 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -54,14 +54,14 @@ "rtw " ], "scripts": { - "cover": "nyc --reporter=lcov mocha --require intelli-espower-loader test/*.js && nyc report", + "cover": "nyc --reporter=lcov mocha test/*.js && nyc report", "docs": "jsdoc -c .jsdoc.js", "generate-scaffolding": "repo-tools generate all && repo-tools generate lib_samples_readme -l samples/ --config ../.cloud-repo-tools.json", "lint": "eslint src/ samples/ system-test/ test/", "prettier": "prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js system-test/*.js system-test/*/*.js", "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", "system-test": "mocha system-test/*.js smoke-test/*.js --timeout 600000", - "test-no-cover": "mocha test/*.js --no-timeouts", + "test-no-cover": "mocha test/*.js", "test": "npm run cover" }, "dependencies": { @@ -84,11 +84,11 @@ "ink-docstrap": "^1.3.2", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", - "uuid": "^3.3.0", "mocha": "^5.2.0", "nyc": "^12.0.2", "power-assert": "^1.6.0", "prettier": "^1.13.6", - "sinon": "^6.0.1" + "sinon": "^6.0.1", + "uuid": "^3.3.0" } } diff --git a/packages/google-cloud-vision/test/mocha.opts b/packages/google-cloud-vision/test/mocha.opts new file mode 100644 index 00000000000..3e740ac6e4c --- /dev/null +++ b/packages/google-cloud-vision/test/mocha.opts @@ -0,0 +1,2 @@ +--require intelli-espower-loader +--timeout 10000 From 17ef347c04efc41540c8de8036498c18ee250e0c Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Mon, 30 Jul 2018 15:37:16 -0700 Subject: [PATCH 194/588] chore: assert.deelEqual => assert.deepStrictEqual (#143) --- .../google-cloud-vision/system-test/vision.js | 6 ++-- .../google-cloud-vision/test/helpers.test.js | 30 +++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 05318c67346..2724868c8c6 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -83,14 +83,14 @@ describe('Vision', function() { var url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; return client.logoDetection(url).then(responses => { var response = responses[0]; - assert.deepEqual(response.logoAnnotations[0].description, 'Google'); + assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); it('should detect from a filename', () => { return client.logoDetection(IMAGES.logo).then(responses => { var response = responses[0]; - assert.deepEqual(response.logoAnnotations[0].description, 'Google'); + assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); @@ -98,7 +98,7 @@ describe('Vision', function() { var buffer = fs.readFileSync(IMAGES.logo); return client.logoDetection(buffer).then(responses => { var response = responses[0]; - assert.deepEqual(response.logoAnnotations[0].description, 'Google'); + assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index 2b1d5e71110..449e9426572 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -57,7 +57,7 @@ describe('Vision helper methods', () => { let response = r[0]; // Ensure that we got the slice of the response that we expected. - assert.deepEqual(response, { + assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); @@ -91,14 +91,14 @@ describe('Vision helper methods', () => { let response = r[0]; // Ensure that we got the slice of the response that we expected. - assert.deepEqual(response, { + assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); // Inspect the calls to batchAnnotateImages and ensure they matched // the expected signature. assert(batchAnnotate.callCount === 1); - assert.deepEqual(request, { + assert.deepStrictEqual(request, { image: {content: 'ZmFrZUltYWdl'}, features: {type: ['LOGO_DETECTION']}, }); @@ -137,7 +137,7 @@ describe('Vision helper methods', () => { let response = r[0]; // Ensure that we got the slice of the response that we expected. - assert.deepEqual(response, { + assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); @@ -149,7 +149,7 @@ describe('Vision helper methods', () => { // Inspect the calls to batchAnnotateImages and ensure they matched // the expected signature. assert(batchAnnotate.callCount === 1); - assert.deepEqual(request, { + assert.deepStrictEqual(request, { image: {content: 'ZmFrZUltYWdl'}, features: {type: ['LOGO_DETECTION']}, }); @@ -176,7 +176,7 @@ describe('Vision helper methods', () => { .annotateImage(request) .then(assert.fail) .catch(err => { - assert.deepEqual(err, {error: 404}); + assert.deepStrictEqual(err, {error: 404}); }); }); @@ -201,7 +201,7 @@ describe('Vision helper methods', () => { let response = r[0]; // Ensure that we got the slice of the response that we expected. - assert.deepEqual(response, { + assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); @@ -232,7 +232,7 @@ describe('Vision helper methods', () => { client.annotateImage(request, function(err, response) { // Establish that we got the expected response. assert(is.undefined(err)); - assert.deepEqual(response, { + assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); @@ -257,7 +257,7 @@ describe('Vision helper methods', () => { }; return client.annotateImage(request).catch(err => { // Establish that we got the expected response. - assert.deepEqual(err, {message: 'Bad things!'}); + assert.deepStrictEqual(err, {message: 'Bad things!'}); // Inspect the calls to batchAnnotate and ensure that they match // what we expected. @@ -298,7 +298,7 @@ describe('Vision helper methods', () => { let response = r[0]; // Ensure that we got the slice of the response that we expected. - assert.deepEqual(response, { + assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); @@ -338,7 +338,7 @@ describe('Vision helper methods', () => { let response = r[0]; // Ensure we got the slice of the response that we expected. - assert.deepEqual(response, { + assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); @@ -370,7 +370,7 @@ describe('Vision helper methods', () => { // Call a request to a single-feature method using a URL. return client.logoDetection('/path/to/logo.png').then(response => { // Ensure we got the slice of the response that we expected. - assert.deepEqual(response, [ + assert.deepStrictEqual(response, [ { logoAnnotations: [{description: 'Google'}], }, @@ -407,7 +407,7 @@ describe('Vision helper methods', () => { let response = r[0]; // Ensure that we got the slice of the response that we expected. - assert.deepEqual(response, { + assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); @@ -445,7 +445,7 @@ describe('Vision helper methods', () => { // to ensure that sending call options works appropriately. return client.logoDetection(Buffer.from('fakeImage'), opts).then(r => { let response = r[0]; - assert.deepEqual(response, { + assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); @@ -502,7 +502,7 @@ describe('Vision helper methods', () => { .then(r => { let response = r[0]; - assert.deepEqual(response, { + assert.deepStrictEqual(response, { localizedObjectAnnotations: [{dummy: 'response'}], }); From 02ffc2b9684b1c6a8c162184fb40cdee5ba280cb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 30 Jul 2018 18:45:16 -0700 Subject: [PATCH 195/588] chore(deps): lock file maintenance (#144) --- .../google-cloud-vision/package-lock.json | 2269 ++++++----------- 1 file changed, 806 insertions(+), 1463 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 6ec87ef0a83..49a8bed7b48 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -177,6 +177,15 @@ "lodash": "^4.17.5" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "globals": { "version": "11.7.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", @@ -213,10 +222,48 @@ "arrify": "^1.0.1" } }, + "@google-cloud/common": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz", + "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", + "dev": true, + "requires": { + "array-uniq": "^1.0.3", + "arrify": "^1.0.1", + "concat-stream": "^1.6.0", + "create-error-class": "^3.0.2", + "duplexify": "^3.5.0", + "ent": "^2.2.0", + "extend": "^3.0.1", + "google-auto-auth": "^0.10.0", + "is": "^3.2.0", + "log-driver": "1.2.7", + "methmeth": "^1.1.0", + "modelo": "^4.2.0", + "request": "^2.79.0", + "retry-request": "^3.0.0", + "split-array-stream": "^1.0.0", + "stream-events": "^1.0.1", + "string-format-obj": "^1.1.0", + "through2": "^2.0.3" + }, + "dependencies": { + "retry-request": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", + "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", + "dev": true, + "requires": { + "request": "^2.81.0", + "through2": "^2.0.0" + } + } + } + }, "@google-cloud/nodejs-repo-tools": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.3.2.tgz", - "integrity": "sha512-Zah0wZcVifSpKIy5ulTFyGpHYAA8h/biYy8X7J2UvaXga5XlyruKrXo2K1VmBxB9MDPXa0Duz8M003pe2Ras3w==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.3.3.tgz", + "integrity": "sha512-aow6Os43uhdgshSe/fr43ESHNl/kHhikim9AOqIMUzEb6mip6H4d8GFKgpO/yoqUUTIhCN3sbpkKktMI5mOQHw==", "dev": true, "requires": { "ava": "0.25.0", @@ -326,10 +373,8 @@ "dependencies": { "align-text": { "version": "0.1.4", - "resolved": false, - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "bundled": true, "dev": true, - "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -338,26 +383,22 @@ }, "amdefine": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "bundled": true, "dev": true }, "ansi-regex": { "version": "2.1.1", - "resolved": false, - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "ansi-styles": { "version": "2.2.1", - "resolved": false, - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": false, - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "bundled": true, "dev": true, "requires": { "default-require-extensions": "^1.0.0" @@ -365,62 +406,52 @@ }, "archy": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "arr-diff": { "version": "4.0.0", - "resolved": false, - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "bundled": true, "dev": true }, "arr-flatten": { "version": "1.1.0", - "resolved": false, - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "bundled": true, "dev": true }, "arr-union": { "version": "3.1.0", - "resolved": false, - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": false, - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "bundled": true, "dev": true }, "assign-symbols": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "bundled": true, "dev": true }, "async": { "version": "1.5.2", - "resolved": false, - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "bundled": true, "dev": true }, "atob": { "version": "2.1.1", - "resolved": false, - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "bundled": true, "dev": true }, "babel-code-frame": { "version": "6.26.0", - "resolved": false, - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "bundled": true, "dev": true, "requires": { "chalk": "^1.1.3", @@ -430,8 +461,7 @@ }, "babel-generator": { "version": "6.26.1", - "resolved": false, - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "bundled": true, "dev": true, "requires": { "babel-messages": "^6.23.0", @@ -446,8 +476,7 @@ }, "babel-messages": { "version": "6.23.0", - "resolved": false, - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -455,8 +484,7 @@ }, "babel-runtime": { "version": "6.26.0", - "resolved": false, - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "bundled": true, "dev": true, "requires": { "core-js": "^2.4.0", @@ -465,8 +493,7 @@ }, "babel-template": { "version": "6.26.0", - "resolved": false, - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -478,8 +505,7 @@ }, "babel-traverse": { "version": "6.26.0", - "resolved": false, - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "bundled": true, "dev": true, "requires": { "babel-code-frame": "^6.26.0", @@ -495,8 +521,7 @@ }, "babel-types": { "version": "6.26.0", - "resolved": false, - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -507,20 +532,17 @@ }, "babylon": { "version": "6.18.0", - "resolved": false, - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "base": { "version": "0.11.2", - "resolved": false, - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "bundled": true, "dev": true, "requires": { "cache-base": "^1.0.1", @@ -534,8 +556,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -543,8 +564,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": false, - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -552,8 +572,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": false, - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -561,8 +580,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": false, - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -572,16 +590,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": false, - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "resolved": false, - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -590,8 +606,7 @@ }, "braces": { "version": "2.3.2", - "resolved": false, - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "bundled": true, "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -608,8 +623,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -619,14 +633,12 @@ }, "builtin-modules": { "version": "1.1.1", - "resolved": false, - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "cache-base": { "version": "1.0.1", - "resolved": false, - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "bundled": true, "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -642,8 +654,7 @@ }, "caching-transform": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "bundled": true, "dev": true, "requires": { "md5-hex": "^1.2.0", @@ -653,15 +664,13 @@ }, "camelcase": { "version": "1.2.1", - "resolved": false, - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": false, - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -671,8 +680,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": false, - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "bundled": true, "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -684,8 +692,7 @@ }, "class-utils": { "version": "0.3.6", - "resolved": false, - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -696,8 +703,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": false, - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -707,8 +713,7 @@ }, "cliui": { "version": "2.1.0", - "resolved": false, - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -719,8 +724,7 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": false, - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "bundled": true, "dev": true, "optional": true } @@ -728,14 +732,12 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "collection-visit": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "bundled": true, "dev": true, "requires": { "map-visit": "^1.0.0", @@ -744,44 +746,37 @@ }, "commondir": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "bundled": true, "dev": true }, "component-emitter": { "version": "1.2.1", - "resolved": false, - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": false, - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.1", - "resolved": false, - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "bundled": true, "dev": true }, "copy-descriptor": { "version": "0.1.1", - "resolved": false, - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "bundled": true, "dev": true }, "core-js": { "version": "2.5.6", - "resolved": false, - "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==", + "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": false, - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -790,8 +785,7 @@ }, "debug": { "version": "2.6.9", - "resolved": false, - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -799,26 +793,22 @@ }, "debug-log": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": false, - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "decode-uri-component": { "version": "0.2.0", - "resolved": false, - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "bundled": true, "dev": true, "requires": { "strip-bom": "^2.0.0" @@ -826,8 +816,7 @@ }, "define-property": { "version": "2.0.2", - "resolved": false, - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -836,8 +825,7 @@ "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "resolved": false, - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -845,8 +833,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": false, - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -854,8 +841,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": false, - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -865,16 +851,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": false, - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "detect-indent": { "version": "4.0.0", - "resolved": false, - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "bundled": true, "dev": true, "requires": { "repeating": "^2.0.0" @@ -882,8 +866,7 @@ }, "error-ex": { "version": "1.3.1", - "resolved": false, - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "bundled": true, "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -891,20 +874,17 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": false, - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "bundled": true, "dev": true }, "esutils": { "version": "2.0.2", - "resolved": false, - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "bundled": true, "dev": true }, "execa": { "version": "0.7.0", - "resolved": false, - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -918,8 +898,7 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "resolved": false, - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -931,8 +910,7 @@ }, "expand-brackets": { "version": "2.1.4", - "resolved": false, - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "bundled": true, "dev": true, "requires": { "debug": "^2.3.3", @@ -946,8 +924,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": false, - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -955,8 +932,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -966,8 +942,7 @@ }, "extend-shallow": { "version": "3.0.2", - "resolved": false, - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "bundled": true, "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -976,8 +951,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": false, - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -987,8 +961,7 @@ }, "extglob": { "version": "2.0.4", - "resolved": false, - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "bundled": true, "dev": true, "requires": { "array-unique": "^0.3.2", @@ -1003,8 +976,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -1012,8 +984,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -1021,8 +992,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": false, - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -1030,8 +1000,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": false, - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -1039,8 +1008,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": false, - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -1050,16 +1018,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": false, - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "fill-range": { "version": "4.0.0", - "resolved": false, - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -1070,8 +1036,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -1081,8 +1046,7 @@ }, "find-cache-dir": { "version": "0.1.1", - "resolved": false, - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "bundled": true, "dev": true, "requires": { "commondir": "^1.0.1", @@ -1092,8 +1056,7 @@ }, "find-up": { "version": "2.1.0", - "resolved": false, - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { "locate-path": "^2.0.0" @@ -1101,14 +1064,12 @@ }, "for-in": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "bundled": true, "dev": true }, "foreground-child": { "version": "1.5.6", - "resolved": false, - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^4", @@ -1117,8 +1078,7 @@ }, "fragment-cache": { "version": "0.2.1", - "resolved": false, - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "bundled": true, "dev": true, "requires": { "map-cache": "^0.2.2" @@ -1126,32 +1086,27 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": false, - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "bundled": true, "dev": true }, "get-value": { "version": "2.0.6", - "resolved": false, - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "bundled": true, "dev": true }, "glob": { "version": "7.1.2", - "resolved": false, - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -1164,20 +1119,17 @@ }, "globals": { "version": "9.18.0", - "resolved": false, - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "bundled": true, "dev": true }, "graceful-fs": { "version": "4.1.11", - "resolved": false, - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "handlebars": { "version": "4.0.11", - "resolved": false, - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "bundled": true, "dev": true, "requires": { "async": "^1.4.0", @@ -1188,8 +1140,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": false, - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "bundled": true, "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -1199,8 +1150,7 @@ }, "has-ansi": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -1208,14 +1158,12 @@ }, "has-flag": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "bundled": true, "dev": true }, "has-value": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.6", @@ -1225,8 +1173,7 @@ }, "has-values": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", @@ -1235,8 +1182,7 @@ "dependencies": { "kind-of": { "version": "4.0.0", - "resolved": false, - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -1246,20 +1192,17 @@ }, "hosted-git-info": { "version": "2.6.0", - "resolved": false, - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": false, - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": false, - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "^1.3.0", @@ -1268,14 +1211,12 @@ }, "inherits": { "version": "2.0.3", - "resolved": false, - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "invariant": { "version": "2.2.4", - "resolved": false, - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "bundled": true, "dev": true, "requires": { "loose-envify": "^1.0.0" @@ -1283,14 +1224,12 @@ }, "invert-kv": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": false, - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -1298,20 +1237,17 @@ }, "is-arrayish": { "version": "0.2.1", - "resolved": false, - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.6", - "resolved": false, - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -1319,8 +1255,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": false, - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -1328,8 +1263,7 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": false, - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -1339,22 +1273,19 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "resolved": false, - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "bundled": true, "dev": true } } }, "is-extendable": { "version": "0.1.1", - "resolved": false, - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "bundled": true, "dev": true }, "is-finite": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -1362,14 +1293,12 @@ }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true }, "is-number": { "version": "3.0.0", - "resolved": false, - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -1377,8 +1306,7 @@ }, "is-odd": { "version": "2.0.0", - "resolved": false, - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "bundled": true, "dev": true, "requires": { "is-number": "^4.0.0" @@ -1386,16 +1314,14 @@ "dependencies": { "is-number": { "version": "4.0.0", - "resolved": false, - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "bundled": true, "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "resolved": false, - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" @@ -1403,50 +1329,42 @@ }, "is-stream": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": false, - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "bundled": true, "dev": true }, "is-windows": { "version": "1.0.2", - "resolved": false, - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isobject": { "version": "3.0.1", - "resolved": false, - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "resolved": false, - "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", + "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "resolved": false, - "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "bundled": true, "dev": true, "requires": { "append-transform": "^0.4.0" @@ -1454,8 +1372,7 @@ }, "istanbul-lib-instrument": { "version": "1.10.1", - "resolved": false, - "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", + "bundled": true, "dev": true, "requires": { "babel-generator": "^6.18.0", @@ -1469,8 +1386,7 @@ }, "istanbul-lib-report": { "version": "1.1.3", - "resolved": false, - "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", + "bundled": true, "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.2", @@ -1481,8 +1397,7 @@ "dependencies": { "supports-color": { "version": "3.2.3", - "resolved": false, - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "bundled": true, "dev": true, "requires": { "has-flag": "^1.0.0" @@ -1492,8 +1407,7 @@ }, "istanbul-lib-source-maps": { "version": "1.2.3", - "resolved": false, - "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", + "bundled": true, "dev": true, "requires": { "debug": "^3.1.0", @@ -1505,8 +1419,7 @@ "dependencies": { "debug": { "version": "3.1.0", - "resolved": false, - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -1516,8 +1429,7 @@ }, "istanbul-reports": { "version": "1.4.0", - "resolved": false, - "integrity": "sha512-OPzVo1fPZ2H+owr8q/LYKLD+vquv9Pj4F+dj808MdHbuQLD7S4ACRjcX+0Tne5Vxt2lxXvdZaL7v+FOOAV281w==", + "bundled": true, "dev": true, "requires": { "handlebars": "^4.0.3" @@ -1525,20 +1437,17 @@ }, "js-tokens": { "version": "3.0.2", - "resolved": false, - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "bundled": true, "dev": true }, "jsesc": { "version": "1.3.0", - "resolved": false, - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "bundled": true, "dev": true }, "kind-of": { "version": "3.2.2", - "resolved": false, - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -1546,15 +1455,13 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": false, - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -1562,8 +1469,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -1575,8 +1481,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { "p-locate": "^2.0.0", @@ -1585,29 +1490,24 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": false, - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true } } }, "lodash": { "version": "4.17.10", - "resolved": false, - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "bundled": true, "dev": true }, "longest": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true, - "optional": true + "bundled": true, + "dev": true }, "loose-envify": { "version": "1.3.1", - "resolved": false, - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "bundled": true, "dev": true, "requires": { "js-tokens": "^3.0.0" @@ -1615,8 +1515,7 @@ }, "lru-cache": { "version": "4.1.3", - "resolved": false, - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "bundled": true, "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -1625,14 +1524,12 @@ }, "map-cache": { "version": "0.2.2", - "resolved": false, - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "bundled": true, "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "bundled": true, "dev": true, "requires": { "object-visit": "^1.0.0" @@ -1640,8 +1537,7 @@ }, "md5-hex": { "version": "1.3.0", - "resolved": false, - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "bundled": true, "dev": true, "requires": { "md5-o-matic": "^0.1.1" @@ -1649,14 +1545,12 @@ }, "md5-o-matic": { "version": "0.1.1", - "resolved": false, - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -1664,8 +1558,7 @@ }, "merge-source-map": { "version": "1.1.0", - "resolved": false, - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "bundled": true, "dev": true, "requires": { "source-map": "^0.6.1" @@ -1673,16 +1566,14 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": false, - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "bundled": true, "dev": true } } }, "micromatch": { "version": "3.1.10", - "resolved": false, - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -1702,22 +1593,19 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": false, - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "resolved": false, - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": false, - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -1725,14 +1613,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": false, - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mixin-deep": { "version": "1.3.1", - "resolved": false, - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "bundled": true, "dev": true, "requires": { "for-in": "^1.0.2", @@ -1741,8 +1627,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": false, - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -1752,8 +1637,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": false, - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -1761,14 +1645,12 @@ }, "ms": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true }, "nanomatch": { "version": "1.2.9", - "resolved": false, - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -1787,16 +1669,14 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": false, - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "resolved": false, - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -1807,8 +1687,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": false, - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { "path-key": "^2.0.0" @@ -1816,20 +1695,17 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": false, - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "object-copy": { "version": "0.1.0", - "resolved": false, - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "bundled": true, "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -1839,8 +1715,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": false, - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -1850,8 +1725,7 @@ }, "object-visit": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.0" @@ -1859,8 +1733,7 @@ }, "object.pick": { "version": "1.3.0", - "resolved": false, - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" @@ -1868,8 +1741,7 @@ }, "once": { "version": "1.4.0", - "resolved": false, - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -1877,8 +1749,7 @@ }, "optimist": { "version": "0.6.1", - "resolved": false, - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "bundled": true, "dev": true, "requires": { "minimist": "~0.0.1", @@ -1887,14 +1758,12 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": false, - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "bundled": true, "dev": true, "requires": { "execa": "^0.7.0", @@ -1904,14 +1773,12 @@ }, "p-finally": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.2.0", - "resolved": false, - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "bundled": true, "dev": true, "requires": { "p-try": "^1.0.0" @@ -1919,8 +1786,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { "p-limit": "^1.1.0" @@ -1928,14 +1794,12 @@ }, "p-try": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "bundled": true, "dev": true }, "parse-json": { "version": "2.2.0", - "resolved": false, - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "bundled": true, "dev": true, "requires": { "error-ex": "^1.2.0" @@ -1943,14 +1807,12 @@ }, "pascalcase": { "version": "0.1.1", - "resolved": false, - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "bundled": true, "dev": true }, "path-exists": { "version": "2.1.0", - "resolved": false, - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "bundled": true, "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -1958,26 +1820,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": false, - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -1987,20 +1845,17 @@ }, "pify": { "version": "2.3.0", - "resolved": false, - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": false, - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "bundled": true, "dev": true, "requires": { "pinkie": "^2.0.0" @@ -2008,8 +1863,7 @@ }, "pkg-dir": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0" @@ -2017,8 +1871,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": false, - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -2029,20 +1882,17 @@ }, "posix-character-classes": { "version": "0.1.1", - "resolved": false, - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "read-pkg": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "bundled": true, "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -2052,8 +1902,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0", @@ -2062,8 +1911,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": false, - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -2074,14 +1922,12 @@ }, "regenerator-runtime": { "version": "0.11.1", - "resolved": false, - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "bundled": true, "dev": true }, "regex-not": { "version": "1.0.2", - "resolved": false, - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -2090,20 +1936,17 @@ }, "repeat-element": { "version": "1.1.2", - "resolved": false, - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": false, - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "bundled": true, "dev": true }, "repeating": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "bundled": true, "dev": true, "requires": { "is-finite": "^1.0.0" @@ -2111,38 +1954,32 @@ }, "require-directory": { "version": "2.1.1", - "resolved": false, - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "bundled": true, "dev": true }, "resolve-url": { "version": "0.2.1", - "resolved": false, - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "bundled": true, "dev": true }, "ret": { "version": "0.1.15", - "resolved": false, - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", - "resolved": false, - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2151,8 +1988,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": false, - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "requires": { "glob": "^7.0.5" @@ -2160,8 +1996,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "bundled": true, "dev": true, "requires": { "ret": "~0.1.10" @@ -2169,20 +2004,17 @@ }, "semver": { "version": "5.5.0", - "resolved": false, - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "set-value": { "version": "2.0.0", - "resolved": false, - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -2193,8 +2025,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -2204,8 +2035,7 @@ }, "shebang-command": { "version": "1.2.0", - "resolved": false, - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -2213,26 +2043,22 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": false, - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": false, - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "snapdragon": { "version": "0.8.2", - "resolved": false, - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "bundled": true, "dev": true, "requires": { "base": "^0.11.1", @@ -2247,8 +2073,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": false, - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -2256,8 +2081,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -2267,8 +2091,7 @@ }, "snapdragon-node": { "version": "2.1.1", - "resolved": false, - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "bundled": true, "dev": true, "requires": { "define-property": "^1.0.0", @@ -2278,8 +2101,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -2287,8 +2109,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": false, - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -2296,8 +2117,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": false, - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -2305,8 +2125,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": false, - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -2316,16 +2135,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": false, - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "resolved": false, - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.2.0" @@ -2333,14 +2150,12 @@ }, "source-map": { "version": "0.5.7", - "resolved": false, - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "bundled": true, "dev": true }, "source-map-resolve": { "version": "0.5.1", - "resolved": false, - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "bundled": true, "dev": true, "requires": { "atob": "^2.0.0", @@ -2352,14 +2167,12 @@ }, "source-map-url": { "version": "0.4.0", - "resolved": false, - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.4.2", - "resolved": false, - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", + "bundled": true, "dev": true, "requires": { "foreground-child": "^1.5.6", @@ -2372,8 +2185,7 @@ }, "spdx-correct": { "version": "3.0.0", - "resolved": false, - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "bundled": true, "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -2382,14 +2194,12 @@ }, "spdx-exceptions": { "version": "2.1.0", - "resolved": false, - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "resolved": false, - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "bundled": true, "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -2398,14 +2208,12 @@ }, "spdx-license-ids": { "version": "3.0.0", - "resolved": false, - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "bundled": true, "dev": true }, "split-string": { "version": "3.1.0", - "resolved": false, - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -2413,8 +2221,7 @@ }, "static-extend": { "version": "0.1.2", - "resolved": false, - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "bundled": true, "dev": true, "requires": { "define-property": "^0.2.5", @@ -2423,8 +2230,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": false, - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -2434,8 +2240,7 @@ }, "string-width": { "version": "2.1.1", - "resolved": false, - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "bundled": true, "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -2444,14 +2249,12 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": false, - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": false, - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -2461,8 +2264,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": false, - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -2470,8 +2272,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "bundled": true, "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -2479,20 +2280,17 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "bundled": true, "dev": true }, "supports-color": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "bundled": true, "dev": true }, "test-exclude": { "version": "4.2.1", - "resolved": false, - "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", + "bundled": true, "dev": true, "requires": { "arrify": "^1.0.1", @@ -2504,14 +2302,12 @@ }, "to-fast-properties": { "version": "1.0.3", - "resolved": false, - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "bundled": true, "dev": true }, "to-object-path": { "version": "0.3.0", - "resolved": false, - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -2519,8 +2315,7 @@ }, "to-regex": { "version": "3.0.2", - "resolved": false, - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "bundled": true, "dev": true, "requires": { "define-property": "^2.0.2", @@ -2531,8 +2326,7 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": false, - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", @@ -2541,14 +2335,12 @@ }, "trim-right": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "bundled": true, "dev": true }, "uglify-js": { "version": "2.8.29", - "resolved": false, - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2559,8 +2351,7 @@ "dependencies": { "yargs": { "version": "3.10.0", - "resolved": false, - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2574,15 +2365,13 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "bundled": true, "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -2593,8 +2382,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -2602,8 +2390,7 @@ }, "set-value": { "version": "0.4.3", - "resolved": false, - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -2616,8 +2403,7 @@ }, "unset-value": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "bundled": true, "dev": true, "requires": { "has-value": "^0.3.1", @@ -2626,8 +2412,7 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": false, - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.3", @@ -2637,8 +2422,7 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": false, - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" @@ -2648,22 +2432,19 @@ }, "has-values": { "version": "0.1.4", - "resolved": false, - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "bundled": true, "dev": true } } }, "urix": { "version": "0.1.0", - "resolved": false, - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "bundled": true, "dev": true }, "use": { "version": "3.1.0", - "resolved": false, - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.2" @@ -2671,16 +2452,14 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": false, - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "resolved": false, - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "bundled": true, "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -2689,8 +2468,7 @@ }, "which": { "version": "1.3.0", - "resolved": false, - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "bundled": true, "dev": true, "requires": { "isexe": "^2.0.0" @@ -2698,27 +2476,23 @@ }, "which-module": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", - "resolved": false, - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": false, - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": false, - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.1", @@ -2727,8 +2501,7 @@ "dependencies": { "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -2736,8 +2509,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -2749,14 +2521,12 @@ }, "wrappy": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": false, - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -2766,20 +2536,17 @@ }, "y18n": { "version": "3.2.1", - "resolved": false, - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": false, - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "11.1.0", - "resolved": false, - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "bundled": true, "dev": true, "requires": { "cliui": "^4.0.0", @@ -2798,20 +2565,17 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": false, - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "camelcase": { "version": "4.1.0", - "resolved": false, - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true }, "cliui": { "version": "4.1.0", - "resolved": false, - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "bundled": true, "dev": true, "requires": { "string-width": "^2.1.1", @@ -2821,8 +2585,7 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": false, - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -2830,8 +2593,7 @@ }, "yargs-parser": { "version": "9.0.2", - "resolved": false, - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -2841,8 +2603,7 @@ }, "yargs-parser": { "version": "8.1.0", - "resolved": false, - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -2850,8 +2611,7 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": false, - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true } } @@ -2992,54 +2752,6 @@ "stream-events": "^1.0.1", "through2": "^2.0.0", "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "@google-cloud/common": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz", - "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", - "dev": true, - "requires": { - "array-uniq": "^1.0.3", - "arrify": "^1.0.1", - "concat-stream": "^1.6.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auto-auth": "^0.10.0", - "is": "^3.2.0", - "log-driver": "1.2.7", - "methmeth": "^1.1.0", - "modelo": "^4.2.0", - "request": "^2.79.0", - "retry-request": "^3.0.0", - "split-array-stream": "^1.0.0", - "stream-events": "^1.0.1", - "string-format-obj": "^1.1.0", - "through2": "^2.0.3" - } - }, - "retry-request": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", - "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", - "dev": true, - "requires": { - "request": "^2.81.0", - "through2": "^2.0.0" - } - }, - "split-array-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz", - "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", - "dev": true, - "requires": { - "async": "^2.4.0", - "is-stream-ended": "^0.1.0" - } - } } }, "@ladjs/time-require": { @@ -3183,9 +2895,9 @@ "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" }, "@types/node": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", - "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==" + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.4.tgz", + "integrity": "sha512-8TqvB0ReZWwtcd3LXq3YSrBoLyXFgBX/sBZfGye9+YS8zH7/g+i6QRIuiDmwBoTzcQ/pk89nZYTYU4c5akKkzw==" }, "acorn": { "version": "5.7.1", @@ -3652,6 +3364,15 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "empower-core": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-0.6.2.tgz", @@ -3804,17 +3525,6 @@ "private": "^0.1.8", "slash": "^1.0.0", "source-map": "^0.5.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } } }, "babel-generator": { @@ -4172,17 +3882,6 @@ "globals": "^9.18.0", "invariant": "^2.2.2", "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } } }, "babel-types": { @@ -5044,9 +4743,9 @@ "dev": true }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } @@ -5305,13 +5004,14 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "ecdsa-sig-formatter": { @@ -5627,6 +5327,15 @@ "which": "^1.2.9" } }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", @@ -5924,14 +5633,6 @@ "to-regex": "^3.0.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -6237,6 +5938,16 @@ "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", "requires": { "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } } }, "for-in": { @@ -6328,28 +6039,24 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": false, - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "bundled": true, "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "resolved": false, - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "aproba": { "version": "1.2.0", - "resolved": false, - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "bundled": true, "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": false, - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6359,14 +6066,12 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "brace-expansion": { "version": "1.1.11", - "resolved": false, - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -6375,40 +6080,34 @@ }, "chownr": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "bundled": true, "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": false, - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "console-control-strings": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "bundled": true, "dev": true }, "core-util-is": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "bundled": true, "dev": true, "optional": true }, "debug": { "version": "2.6.9", - "resolved": false, - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6417,29 +6116,25 @@ }, "deep-extend": { "version": "0.5.1", - "resolved": false, - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "bundled": true, "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "bundled": true, "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "resolved": false, - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "bundled": true, "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "resolved": false, - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6448,15 +6143,13 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "resolved": false, - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6472,8 +6165,7 @@ }, "glob": { "version": "7.1.2", - "resolved": false, - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6487,15 +6179,13 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "bundled": true, "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.21", - "resolved": false, - "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6504,8 +6194,7 @@ }, "ignore-walk": { "version": "3.0.1", - "resolved": false, - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6514,8 +6203,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": false, - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6525,21 +6213,18 @@ }, "inherits": { "version": "2.0.3", - "resolved": false, - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "ini": { "version": "1.3.5", - "resolved": false, - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "bundled": true, "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -6547,15 +6232,13 @@ }, "isarray": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "resolved": false, - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -6563,14 +6246,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": false, - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "minipass": { "version": "2.2.4", - "resolved": false, - "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", + "bundled": true, "dev": true, "requires": { "safe-buffer": "^5.1.1", @@ -6579,8 +6260,7 @@ }, "minizlib": { "version": "1.1.0", - "resolved": false, - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6589,8 +6269,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": false, - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -6598,15 +6277,13 @@ }, "ms": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true, "optional": true }, "needle": { "version": "2.2.0", - "resolved": false, - "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6617,8 +6294,7 @@ }, "node-pre-gyp": { "version": "0.10.0", - "resolved": false, - "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6636,8 +6312,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": false, - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6647,15 +6322,13 @@ }, "npm-bundled": { "version": "1.0.3", - "resolved": false, - "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", + "bundled": true, "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", - "resolved": false, - "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6665,8 +6338,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": false, - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6678,21 +6350,18 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": false, - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": false, - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -6700,22 +6369,19 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "bundled": true, "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "resolved": false, - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6725,22 +6391,19 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": false, - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "bundled": true, "dev": true, "optional": true }, "rc": { "version": "1.2.7", - "resolved": false, - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6752,8 +6415,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": false, - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "bundled": true, "dev": true, "optional": true } @@ -6761,8 +6423,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": false, - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6777,8 +6438,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": false, - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6787,49 +6447,42 @@ }, "safe-buffer": { "version": "5.1.1", - "resolved": false, - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "bundled": true, "dev": true }, "safer-buffer": { "version": "2.1.2", - "resolved": false, - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "bundled": true, "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "resolved": false, - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "bundled": true, "dev": true, "optional": true }, "semver": { "version": "5.5.0", - "resolved": false, - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "bundled": true, "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": false, - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -6839,8 +6492,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": false, - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6849,8 +6501,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": false, - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -6858,15 +6509,13 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "bundled": true, "dev": true, "optional": true }, "tar": { "version": "4.4.1", - "resolved": false, - "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6881,15 +6530,13 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "bundled": true, "dev": true, "optional": true }, "wide-align": { "version": "1.1.2", - "resolved": false, - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6898,14 +6545,12 @@ }, "wrappy": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "yallist": { "version": "3.0.2", - "resolved": false, - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", + "bundled": true, "dev": true } } @@ -7207,9 +6852,9 @@ "dev": true }, "grpc": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.0.tgz", - "integrity": "sha512-jGxWFYzttSz9pi8mu283jZvo2zIluWonQ918GMHKx8grT57GIVlvx7/82fo7AGS75lbkPoO1T6PZLvCRD9Pbtw==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.1.tgz", + "integrity": "sha512-yl0xChnlUISTefOPU2NQ1cYPh5m/DTatEUV6jdRyQPE9NCrtPq7Gn6J2alMTglN7ufYbJapOd00dvhGurHH6HQ==", "requires": { "lodash": "^4.17.5", "nan": "^2.0.0", @@ -7219,23 +6864,19 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": false, - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "bundled": true }, "ansi-regex": { "version": "2.1.1", - "resolved": false, - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "bundled": true }, "aproba": { "version": "1.2.0", - "resolved": false, - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "bundled": true }, "are-we-there-yet": { "version": "1.1.5", - "resolved": false, - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "bundled": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -7243,13 +6884,11 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "bundled": true }, "brace-expansion": { "version": "1.1.11", - "resolved": false, - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7257,69 +6896,57 @@ }, "chownr": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + "bundled": true }, "code-point-at": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "bundled": true }, "concat-map": { "version": "0.0.1", - "resolved": false, - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "resolved": false, - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "bundled": true }, "core-util-is": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "bundled": true }, "debug": { "version": "2.6.9", - "resolved": false, - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "requires": { "ms": "2.0.0" } }, "deep-extend": { "version": "0.6.0", - "resolved": false, - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "bundled": true }, "delegates": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "bundled": true }, "detect-libc": { "version": "1.0.3", - "resolved": false, - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + "bundled": true }, "fs-minipass": { "version": "1.2.5", - "resolved": false, - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "bundled": true, "requires": { "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "bundled": true }, "gauge": { "version": "2.7.4", - "resolved": false, - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -7333,8 +6960,7 @@ }, "glob": { "version": "7.1.2", - "resolved": false, - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7346,29 +6972,25 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "bundled": true }, "iconv-lite": { "version": "0.4.23", - "resolved": false, - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "bundled": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { "version": "3.0.1", - "resolved": false, - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "bundled": true, "requires": { "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", - "resolved": false, - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -7376,44 +6998,37 @@ }, "inherits": { "version": "2.0.3", - "resolved": false, - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true }, "ini": { "version": "1.3.5", - "resolved": false, - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "bundled": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "requires": { "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", - "resolved": false, - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "bundled": true }, "minimatch": { "version": "3.0.4", - "resolved": false, - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.0", - "resolved": false, - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "bundled": true }, "minipass": { "version": "2.3.3", - "resolved": false, - "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", + "bundled": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7421,36 +7036,31 @@ }, "minizlib": { "version": "1.1.0", - "resolved": false, - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", + "bundled": true, "requires": { "minipass": "^2.2.1" } }, "mkdirp": { "version": "0.5.1", - "resolved": false, - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "requires": { "minimist": "0.0.8" }, "dependencies": { "minimist": { "version": "0.0.8", - "resolved": false, - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "bundled": true } } }, "ms": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "bundled": true }, "needle": { "version": "2.2.1", - "resolved": false, - "integrity": "sha512-t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q==", + "bundled": true, "requires": { "debug": "^2.1.2", "iconv-lite": "^0.4.4", @@ -7458,13 +7068,12 @@ } }, "node-pre-gyp": { - "version": "0.10.2", - "resolved": false, - "integrity": "sha512-16lql9QTqs6KsB9fl3neWyZm02KxIKdI9FlJjrB0y7eMTP5Nyz+xalwPbOlw3iw7EejllJPmlJSnY711PLD1ug==", + "version": "0.10.3", + "bundled": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", - "needle": "^2.2.0", + "needle": "^2.2.1", "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", @@ -7476,8 +7085,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": false, - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -7485,13 +7093,11 @@ }, "npm-bundled": { "version": "1.0.3", - "resolved": false, - "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==" + "bundled": true }, "npm-packlist": { - "version": "1.1.10", - "resolved": false, - "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", + "version": "1.1.11", + "bundled": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -7499,8 +7105,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": false, - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "bundled": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -7510,36 +7115,30 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "bundled": true }, "object-assign": { "version": "4.1.1", - "resolved": false, - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "bundled": true }, "once": { "version": "1.4.0", - "resolved": false, - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "requires": { "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "bundled": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "bundled": true }, "osenv": { "version": "0.1.5", - "resolved": false, - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "bundled": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -7547,13 +7146,11 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": false, - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "bundled": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": false, - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "bundled": true }, "protobufjs": { "version": "5.0.3", @@ -7568,8 +7165,7 @@ }, "rc": { "version": "1.2.8", - "resolved": false, - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "bundled": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -7579,8 +7175,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": false, - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "bundled": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -7593,46 +7188,38 @@ }, "rimraf": { "version": "2.6.2", - "resolved": false, - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "requires": { "glob": "^7.0.5" } }, "safe-buffer": { "version": "5.1.2", - "resolved": false, - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "bundled": true }, "safer-buffer": { "version": "2.1.2", - "resolved": false, - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "bundled": true }, "sax": { "version": "1.2.4", - "resolved": false, - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "bundled": true }, "semver": { "version": "5.5.0", - "resolved": false, - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "bundled": true }, "set-blocking": { "version": "2.0.0", - "resolved": false, - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "bundled": true }, "signal-exit": { "version": "3.0.2", - "resolved": false, - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "bundled": true }, "string-width": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7641,29 +7228,25 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": false, - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "bundled": true, "requires": { "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", - "resolved": false, - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "requires": { "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "resolved": false, - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "bundled": true }, "tar": { "version": "4.4.4", - "resolved": false, - "integrity": "sha512-mq9ixIYfNF9SK0IS/h2HKMu8Q2iaCuhDDsZhdEag/FHv8fOaYld4vN7ouMgcSSt5WKZzPs8atclTcJm36OTh4w==", + "bundled": true, "requires": { "chownr": "^1.0.1", "fs-minipass": "^1.2.5", @@ -7676,26 +7259,22 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "bundled": true }, "wide-align": { "version": "1.1.3", - "resolved": false, - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "bundled": true, "requires": { "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", - "resolved": false, - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "bundled": true }, "yallist": { "version": "3.0.2", - "resolved": false, - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" + "bundled": true }, "yargs": { "version": "3.32.0", @@ -8500,9 +8079,9 @@ "dev": true }, "istanbul-lib-instrument": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-2.3.1.tgz", - "integrity": "sha512-h9Vg3nfbxrF0PK0kZiNiMAyL8zXaLiBP/BXniaKSwVvAi1TaumYV2b0wPdmy1CRX3irYbYD1p4Wjbv4uyECiiQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-2.3.2.tgz", + "integrity": "sha512-l7TD/VnBsIB2OJvSyxaLW/ab1+92dxZNH9wLH7uHPPioy3JZ8tnx2UXUdKmdkgmP2EFPzg64CToUP6dAS3U32Q==", "dev": true, "requires": { "@babel/generator": "7.0.0-beta.51", @@ -9257,6 +8836,17 @@ "minimatch": "3.0.4", "mkdirp": "0.5.1", "supports-color": "5.4.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "modelo": { @@ -9469,10 +9059,8 @@ "dependencies": { "align-text": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "bundled": true, "dev": true, - "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -9481,20 +9069,17 @@ }, "amdefine": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "bundled": true, "dev": true }, "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "bundled": true, "dev": true, "requires": { "default-require-extensions": "^1.0.0" @@ -9502,68 +9087,57 @@ }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "bundled": true, "dev": true }, "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "bundled": true, "dev": true }, "arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "bundled": true, "dev": true }, "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "bundled": true, "dev": true }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "bundled": true, "dev": true }, "atob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "bundled": true, "dev": true, "requires": { "cache-base": "^1.0.1", @@ -9577,8 +9151,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -9586,8 +9159,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9595,8 +9167,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9604,8 +9175,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -9615,16 +9185,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -9633,8 +9201,7 @@ }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "bundled": true, "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -9651,8 +9218,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9662,14 +9228,12 @@ }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "bundled": true, "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -9685,8 +9249,7 @@ }, "caching-transform": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "bundled": true, "dev": true, "requires": { "md5-hex": "^1.2.0", @@ -9696,15 +9259,13 @@ }, "camelcase": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -9714,8 +9275,7 @@ }, "class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -9726,8 +9286,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -9737,8 +9296,7 @@ }, "cliui": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -9749,8 +9307,7 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "bundled": true, "dev": true, "optional": true } @@ -9758,14 +9315,12 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "bundled": true, "dev": true, "requires": { "map-visit": "^1.0.0", @@ -9774,38 +9329,32 @@ }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "bundled": true, "dev": true }, "component-emitter": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "bundled": true, "dev": true }, "copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -9814,8 +9363,7 @@ }, "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -9823,26 +9371,22 @@ }, "debug-log": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "decode-uri-component": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "bundled": true, "dev": true, "requires": { "strip-bom": "^2.0.0" @@ -9850,8 +9394,7 @@ }, "define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -9860,8 +9403,7 @@ "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9869,8 +9411,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -9878,8 +9419,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -9889,16 +9429,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "error-ex": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "bundled": true, "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -9906,8 +9444,7 @@ }, "execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -9921,8 +9458,7 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -9934,8 +9470,7 @@ }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "bundled": true, "dev": true, "requires": { "debug": "^2.3.3", @@ -9949,8 +9484,7 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -9958,8 +9492,7 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -9967,8 +9500,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -9978,8 +9510,7 @@ }, "extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "bundled": true, "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -9988,8 +9519,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -9999,8 +9529,7 @@ }, "extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "bundled": true, "dev": true, "requires": { "array-unique": "^0.3.2", @@ -10015,8 +9544,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -10024,8 +9552,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10033,8 +9560,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10042,8 +9568,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -10051,8 +9576,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -10062,16 +9586,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -10082,8 +9604,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -10093,8 +9614,7 @@ }, "find-cache-dir": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "bundled": true, "dev": true, "requires": { "commondir": "^1.0.1", @@ -10104,8 +9624,7 @@ }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { "locate-path": "^2.0.0" @@ -10113,14 +9632,12 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "bundled": true, "dev": true }, "foreground-child": { "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^4", @@ -10129,8 +9646,7 @@ }, "fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "bundled": true, "dev": true, "requires": { "map-cache": "^0.2.2" @@ -10138,32 +9654,27 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "bundled": true, "dev": true }, "get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "bundled": true, "dev": true }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -10176,14 +9687,12 @@ }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "handlebars": { "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "bundled": true, "dev": true, "requires": { "async": "^1.4.0", @@ -10194,8 +9703,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "bundled": true, "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -10205,8 +9713,7 @@ }, "has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.6", @@ -10216,8 +9723,7 @@ }, "has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", @@ -10226,8 +9732,7 @@ "dependencies": { "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -10237,20 +9742,17 @@ }, "hosted-git-info": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "^1.3.0", @@ -10259,20 +9761,17 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -10280,20 +9779,17 @@ }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -10301,8 +9797,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -10310,8 +9805,7 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -10321,28 +9815,24 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "bundled": true, "dev": true } } }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -10350,8 +9840,7 @@ }, "is-odd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ=", + "bundled": true, "dev": true, "requires": { "is-number": "^4.0.0" @@ -10359,16 +9848,14 @@ "dependencies": { "is-number": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=", + "bundled": true, "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" @@ -10376,50 +9863,42 @@ }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "bundled": true, "dev": true }, "is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", - "integrity": "sha1-99jy5CuX43/nlhFMsPnWi146Q0E=", + "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha1-hTjZcDcss3FtU+VVI91UtVeo2Js=", + "bundled": true, "dev": true, "requires": { "append-transform": "^0.4.0" @@ -10427,8 +9906,7 @@ }, "istanbul-lib-report": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", - "integrity": "sha1-LfEhiMD6d5kMDSF20tC6M5QYglk=", + "bundled": true, "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.2", @@ -10439,14 +9917,12 @@ "dependencies": { "has-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "bundled": true, "dev": true }, "supports-color": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "bundled": true, "dev": true, "requires": { "has-flag": "^1.0.0" @@ -10456,8 +9932,7 @@ }, "istanbul-lib-source-maps": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz", - "integrity": "sha1-/+a+Tnq4bTYD5CkNVJkLFFBvybE=", + "bundled": true, "dev": true, "requires": { "debug": "^3.1.0", @@ -10469,8 +9944,7 @@ }, "istanbul-reports": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.4.1.tgz", - "integrity": "sha1-Ty6OkoqnoF0dpsQn1AmLJlXsczQ=", + "bundled": true, "dev": true, "requires": { "handlebars": "^4.0.3" @@ -10478,8 +9952,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -10487,15 +9960,13 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -10503,8 +9974,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -10516,8 +9986,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { "p-locate": "^2.0.0", @@ -10526,23 +9995,19 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true } } }, "longest": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true, - "optional": true + "bundled": true, + "dev": true }, "lru-cache": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=", + "bundled": true, "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -10551,14 +10016,12 @@ }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "bundled": true, "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "bundled": true, "dev": true, "requires": { "object-visit": "^1.0.0" @@ -10566,8 +10029,7 @@ }, "md5-hex": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "bundled": true, "dev": true, "requires": { "md5-o-matic": "^0.1.1" @@ -10575,14 +10037,12 @@ }, "md5-o-matic": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -10590,8 +10050,7 @@ }, "merge-source-map": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "bundled": true, "dev": true, "requires": { "source-map": "^0.6.1" @@ -10599,16 +10058,14 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "bundled": true, "dev": true } } }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -10628,22 +10085,19 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -10651,14 +10105,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mixin-deep": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=", + "bundled": true, "dev": true, "requires": { "for-in": "^1.0.2", @@ -10667,8 +10119,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -10678,8 +10129,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -10687,14 +10137,12 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true }, "nanomatch": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I=", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -10713,16 +10161,14 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -10733,8 +10179,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { "path-key": "^2.0.0" @@ -10742,20 +10187,17 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "bundled": true, "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -10765,8 +10207,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -10776,8 +10217,7 @@ }, "object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.0" @@ -10785,8 +10225,7 @@ }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" @@ -10794,8 +10233,7 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -10803,8 +10241,7 @@ }, "optimist": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "bundled": true, "dev": true, "requires": { "minimist": "~0.0.1", @@ -10813,14 +10250,12 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", + "bundled": true, "dev": true, "requires": { "execa": "^0.7.0", @@ -10830,14 +10265,12 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=", + "bundled": true, "dev": true, "requires": { "p-try": "^1.0.0" @@ -10845,8 +10278,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { "p-limit": "^1.1.0" @@ -10854,14 +10286,12 @@ }, "p-try": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "bundled": true, "dev": true }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "bundled": true, "dev": true, "requires": { "error-ex": "^1.2.0" @@ -10869,14 +10299,12 @@ }, "pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "bundled": true, "dev": true }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "bundled": true, "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -10884,26 +10312,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -10913,20 +10337,17 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "bundled": true, "dev": true, "requires": { "pinkie": "^2.0.0" @@ -10934,8 +10355,7 @@ }, "pkg-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0" @@ -10943,8 +10363,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -10955,20 +10374,17 @@ }, "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "bundled": true, "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -10978,8 +10394,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0", @@ -10988,8 +10403,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -11000,8 +10414,7 @@ }, "regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -11010,50 +10423,42 @@ }, "repeat-element": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "bundled": true, "dev": true }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "bundled": true, "dev": true }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "bundled": true, "dev": true }, "ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -11062,8 +10467,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", + "bundled": true, "dev": true, "requires": { "glob": "^7.0.5" @@ -11071,8 +10475,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "bundled": true, "dev": true, "requires": { "ret": "~0.1.10" @@ -11080,20 +10483,17 @@ }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=", + "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "set-value": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -11104,8 +10504,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -11115,8 +10514,7 @@ }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -11124,26 +10522,22 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "bundled": true, "dev": true, "requires": { "base": "^0.11.1", @@ -11158,8 +10552,7 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -11167,8 +10560,7 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -11176,8 +10568,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -11187,8 +10578,7 @@ }, "snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "bundled": true, "dev": true, "requires": { "define-property": "^1.0.0", @@ -11198,8 +10588,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -11207,8 +10596,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -11216,8 +10604,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -11225,8 +10612,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -11236,16 +10622,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.2.0" @@ -11253,14 +10637,12 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "bundled": true, "dev": true }, "source-map-resolve": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", + "bundled": true, "dev": true, "requires": { "atob": "^2.1.1", @@ -11272,14 +10654,12 @@ }, "source-map-url": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha1-z/WOc6giRhe2Vhq9wyWG6gyCJIw=", + "bundled": true, "dev": true, "requires": { "foreground-child": "^1.5.6", @@ -11292,8 +10672,7 @@ }, "spdx-correct": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=", + "bundled": true, "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -11302,14 +10681,12 @@ }, "spdx-exceptions": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=", + "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "bundled": true, "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -11318,14 +10695,12 @@ }, "spdx-license-ids": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=", + "bundled": true, "dev": true }, "split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -11333,8 +10708,7 @@ }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "bundled": true, "dev": true, "requires": { "define-property": "^0.2.5", @@ -11343,8 +10717,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -11354,8 +10727,7 @@ }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "bundled": true, "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -11364,8 +10736,7 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -11373,8 +10744,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "bundled": true, "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -11382,14 +10752,12 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "bundled": true, "dev": true }, "test-exclude": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", - "integrity": "sha1-36Ii8DSAvKaSB8pyizfXS0X3JPo=", + "bundled": true, "dev": true, "requires": { "arrify": "^1.0.1", @@ -11401,8 +10769,7 @@ }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -11410,8 +10777,7 @@ }, "to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "bundled": true, "dev": true, "requires": { "define-property": "^2.0.2", @@ -11422,8 +10788,7 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", @@ -11432,8 +10797,7 @@ }, "uglify-js": { "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -11444,8 +10808,7 @@ "dependencies": { "yargs": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -11459,15 +10822,13 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "bundled": true, "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -11478,8 +10839,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -11487,8 +10847,7 @@ }, "set-value": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -11501,8 +10860,7 @@ }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "bundled": true, "dev": true, "requires": { "has-value": "^0.3.1", @@ -11511,8 +10869,7 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.3", @@ -11522,8 +10879,7 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" @@ -11533,22 +10889,19 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "bundled": true, "dev": true } } }, "urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "bundled": true, "dev": true }, "use": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha1-FHFr8D/f79AwQK71jYtLhfOnxUQ=", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.2" @@ -11556,16 +10909,14 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=", + "bundled": true, "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=", + "bundled": true, "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -11574,8 +10925,7 @@ }, "which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "bundled": true, "dev": true, "requires": { "isexe": "^2.0.0" @@ -11583,27 +10933,23 @@ }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.1", @@ -11612,14 +10958,12 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -11627,8 +10971,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -11638,8 +10981,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -11649,14 +10991,12 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -11666,20 +11006,17 @@ }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha1-kLhpk07W6HERXqL/WLA/RyTtLXc=", + "bundled": true, "dev": true, "requires": { "cliui": "^4.0.0", @@ -11698,14 +11035,12 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true }, "cliui": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "bundled": true, "dev": true, "requires": { "string-width": "^2.1.1", @@ -11715,8 +11050,7 @@ }, "yargs-parser": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -11726,8 +11060,7 @@ }, "yargs-parser": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha1-8TdqM7Ziml0GN4KUTacyYx6WaVA=", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -11735,8 +11068,7 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true } } @@ -12445,9 +11777,9 @@ "dev": true }, "prettier": { - "version": "1.13.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.7.tgz", - "integrity": "sha512-KIU72UmYPGk4MujZGYMFwinB7lOf2LsDNGSOC8ufevsrPLISrZbNJlWstRi3m0AMuszbH+EFSQ/r6w56RSPK6w==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.0.tgz", + "integrity": "sha512-KtQ2EGaUwf2EyDfp1fxyEb0PqGKakVm0WyXwDt6u+cAoxbO2Z2CwKvOe3+b4+F2IlO9lYHi1kqFuRM70ddBnow==", "dev": true }, "pretty-ms": { @@ -13223,14 +12555,6 @@ "use": "^3.1.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -13394,6 +12718,16 @@ "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, + "split-array-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz", + "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", + "dev": true, + "requires": { + "async": "^2.4.0", + "is-stream-ended": "^0.1.0" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -13600,6 +12934,15 @@ "readable-stream": "^2.0.5" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", From 976df4742f2c605eeb56b3c6c30b73fcc31dcb58 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Wed, 1 Aug 2018 19:09:32 -0700 Subject: [PATCH 196/588] fix(deps): update dependency google-gax to ^0.18.0 (#146) --- .../google-cloud-vision/package-lock.json | 73 +++++++++++++++---- packages/google-cloud-vision/package.json | 2 +- 2 files changed, 60 insertions(+), 15 deletions(-) diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index 49a8bed7b48..a5e6d8d75d4 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -375,6 +375,7 @@ "version": "0.1.4", "bundled": true, "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -1503,7 +1504,8 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "loose-envify": { "version": "1.3.1", @@ -2754,6 +2756,24 @@ "xdg-basedir": "^3.0.0" } }, + "@grpc/proto-loader": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.3.0.tgz", + "integrity": "sha512-9b8S/V+3W4Gv7G/JKSZ48zApgyYbfIR7mAC9XNnaSWme3zj57MIESu0ELzm9j5oxNIpFG8DgO00iJMIUZ5luqw==", + "requires": { + "@types/lodash": "^4.14.104", + "@types/node": "^9.4.6", + "lodash": "^4.17.5", + "protobufjs": "^6.8.6" + }, + "dependencies": { + "@types/node": { + "version": "9.6.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.25.tgz", + "integrity": "sha512-uZpzO9MKSHy7zBiTtziA3JgZP3upcAvLTASkKgheLj6/rNZmRX4UyvsFYaY2kbYcmmh8bNZ2T0eocBRCfZdGvQ==" + } + } + }, "@ladjs/time-require": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ladjs/time-require/-/time-require-0.1.4.tgz", @@ -2889,6 +2909,11 @@ "integrity": "sha512-D7VxhADdZbDJ0HjUTMnSQ5xIGb4H2yWpg8k9Sf1T08zfFiQYlaxM8LZydpR4FQ2E6LZJX8IlabNZ5io4vdChwg==", "dev": true }, + "@types/lodash": { + "version": "4.14.115", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.115.tgz", + "integrity": "sha512-9K/P4XMQxk61omAzQh3bbbFiqnG17eLcFysjlAYz0aPcYrVo8T+ujaCeIeY0Gpzux7x1YbxtEtLKB7ZWf79qdg==" + }, "@types/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", @@ -2941,6 +2966,7 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -2952,6 +2978,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -6067,12 +6094,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6087,17 +6116,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -6214,7 +6246,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -6226,6 +6259,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6240,6 +6274,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6247,12 +6282,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -6271,6 +6308,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -6351,7 +6389,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -6363,6 +6402,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -6484,6 +6524,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6761,10 +6802,11 @@ } }, "google-gax": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.17.1.tgz", - "integrity": "sha512-fAKvFx++SRr6bGWamWuVOkJzJnQqMgpJkhaB2oEwfFJ91rbFgEmIPRmZZ/MeIVVFUOuHUVyZ8nwjm5peyTZJ6g==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.18.0.tgz", + "integrity": "sha512-cF2s3aTw1cWDHsjaYfIizJZT0KJF0FSM3laiCX4O/K0ZcdmeE9PitG2bxRH+dY+Sz094//m+JoH1hBtSyOf67A==", "requires": { + "@grpc/proto-loader": "^0.3.0", "duplexify": "^3.6.0", "extend": "^3.0.1", "globby": "^8.0.1", @@ -6773,7 +6815,7 @@ "grpc": "^1.12.2", "is-stream-ended": "^0.1.4", "lodash": "^4.17.10", - "protobufjs": "^6.8.6", + "protobufjs": "^6.8.8", "retry-request": "^4.0.0", "through2": "^2.0.3" } @@ -8466,7 +8508,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true + "dev": true, + "optional": true }, "loose-envify": { "version": "1.4.0", @@ -9061,6 +9104,7 @@ "version": "0.1.4", "bundled": true, "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -10003,7 +10047,8 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "lru-cache": { "version": "4.1.3", diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 32157c52dda..667fac549d2 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -66,7 +66,7 @@ }, "dependencies": { "@google-cloud/promisify": "^0.3.0", - "google-gax": "^0.17.1", + "google-gax": "^0.18.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6", From 75779bf9513d2232330bcbda4a4512feb263845b Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 2 Aug 2018 15:56:32 -0700 Subject: [PATCH 197/588] Release nodejs-vision v0.21.1 (#148) * Release v0.21.1 * bump nodejs-vision version in samples/ --- packages/google-cloud-vision/CHANGELOG.md | 20 + .../google-cloud-vision/package-lock.json | 5086 ++++++++--------- packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 4 files changed, 2556 insertions(+), 2554 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 1793fa3dc56..7af85bdc50c 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,26 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## v0.21.1 + +Patch release to bring in updates to google-gax@0.18.0 so it no longer emits deprecation warnings with grpc (#120), along with other dependency updates and documentation changes. + +### Dependencies +- fix(deps): update dependency google-gax to ^0.18.0 (#146) +- chore: drop dependency on common (#134) +- chore(deps): update dependency eslint-plugin-node to v7 (#127) + +### Documentation +- Code Samples demonstrating Object Localization & Handwriting OCR (#133) + +### Internal / Testing Changes +- build: initial kokoro setup (#145) +- chore: assert.deelEqual => assert.deepStrictEqual (#143) +- chore: move mocha options to mocha.opts (#141) +- chore: require node 8 for samples (#142) +- chore: add node templates to synth.py (#139) +- fix(deps): update dependency @google-cloud/vision to ^0.21.0 (#131) + ## v0.21.0 ### Implementation Changes diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json index a5e6d8d75d4..acecab3f67b 100644 --- a/packages/google-cloud-vision/package-lock.json +++ b/packages/google-cloud-vision/package-lock.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/vision", - "version": "0.21.0", + "version": "0.21.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -16,18 +16,18 @@ "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.8.0", - "babel-plugin-syntax-trailing-function-commas": "^6.20.0", - "babel-plugin-transform-async-to-generator": "^6.16.0", - "babel-plugin-transform-es2015-destructuring": "^6.19.0", - "babel-plugin-transform-es2015-function-name": "^6.9.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.18.0", - "babel-plugin-transform-es2015-parameters": "^6.21.0", - "babel-plugin-transform-es2015-spread": "^6.8.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.8.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.11.0", - "babel-plugin-transform-exponentiation-operator": "^6.8.0", - "package-hash": "^1.2.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "package-hash": "1.2.0" }, "dependencies": { "md5-hex": { @@ -36,7 +36,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "package-hash": { @@ -45,7 +45,7 @@ "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", "dev": true, "requires": { - "md5-hex": "^1.3.0" + "md5-hex": "1.3.0" } } } @@ -56,8 +56,8 @@ "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", "dev": true, "requires": { - "@ava/babel-plugin-throws-helper": "^2.0.0", - "babel-plugin-espower": "^2.3.2" + "@ava/babel-plugin-throws-helper": "2.0.0", + "babel-plugin-espower": "2.4.0" } }, "@ava/write-file-atomic": { @@ -66,9 +66,9 @@ "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "@babel/code-frame": { @@ -87,10 +87,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.51", - "jsesc": "^2.5.1", - "lodash": "^4.17.5", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "jsesc": "2.5.1", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -136,9 +136,9 @@ "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "@babel/parser": { @@ -156,7 +156,7 @@ "@babel/code-frame": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" + "lodash": "4.17.10" } }, "@babel/traverse": { @@ -171,10 +171,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.51", "@babel/parser": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "debug": "^3.1.0", - "globals": "^11.1.0", - "invariant": "^2.2.0", - "lodash": "^4.17.5" + "debug": "3.1.0", + "globals": "11.7.0", + "invariant": "2.2.4", + "lodash": "4.17.10" }, "dependencies": { "debug": { @@ -200,9 +200,9 @@ "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.5", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -219,7 +219,7 @@ "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", "dev": true, "requires": { - "arrify": "^1.0.1" + "arrify": "1.0.1" } }, "@google-cloud/common": { @@ -228,24 +228,24 @@ "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", "dev": true, "requires": { - "array-uniq": "^1.0.3", - "arrify": "^1.0.1", - "concat-stream": "^1.6.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "ent": "^2.2.0", - "extend": "^3.0.1", - "google-auto-auth": "^0.10.0", - "is": "^3.2.0", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "ent": "2.2.0", + "extend": "3.0.2", + "google-auto-auth": "0.10.1", + "is": "3.2.1", "log-driver": "1.2.7", - "methmeth": "^1.1.0", - "modelo": "^4.2.0", - "request": "^2.79.0", - "retry-request": "^3.0.0", - "split-array-stream": "^1.0.0", - "stream-events": "^1.0.1", - "string-format-obj": "^1.1.0", - "through2": "^2.0.3" + "methmeth": "1.1.0", + "modelo": "4.2.3", + "request": "2.87.0", + "retry-request": "3.3.2", + "split-array-stream": "1.0.3", + "stream-events": "1.0.4", + "string-format-obj": "1.1.1", + "through2": "2.0.3" }, "dependencies": { "retry-request": { @@ -254,8 +254,8 @@ "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", "dev": true, "requires": { - "request": "^2.81.0", - "through2": "^2.0.0" + "request": "2.87.0", + "through2": "2.0.3" } } } @@ -274,7 +274,7 @@ "lodash": "4.17.5", "nyc": "11.7.2", "proxyquire": "1.8.0", - "semver": "^5.5.0", + "semver": "5.5.0", "sinon": "6.0.1", "string": "3.3.3", "supertest": "3.1.0", @@ -300,9 +300,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "find-up": { @@ -311,7 +311,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "is-fullwidth-code-point": { @@ -326,8 +326,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -342,44 +342,43 @@ "integrity": "sha512-gBt7qwsR1vryYfglVjQRx1D+AtMZW5NbUKxb+lZe8SN8KsheGCPGWEsSC9AGQG+r2+te1+10uPHUCahuqm1nGQ==", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.1.2", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.10.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.3", - "istanbul-reports": "^1.4.0", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.3", + "istanbul-reports": "1.4.0", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", "yargs": "11.1.0", - "yargs-parser": "^8.0.0" + "yargs-parser": "8.1.0" }, "dependencies": { "align-text": { "version": "0.1.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -402,7 +401,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -455,9 +454,9 @@ "bundled": true, "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-generator": { @@ -465,14 +464,14 @@ "bundled": true, "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-messages": { @@ -480,7 +479,7 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-runtime": { @@ -488,8 +487,8 @@ "bundled": true, "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.6", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -497,11 +496,11 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -509,15 +508,15 @@ "bundled": true, "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" } }, "babel-types": { @@ -525,10 +524,10 @@ "bundled": true, "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -546,13 +545,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -560,7 +559,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -568,7 +567,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -576,7 +575,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -584,9 +583,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -601,7 +600,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -610,16 +609,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -627,7 +626,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -642,15 +641,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "caching-transform": { @@ -658,9 +657,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -675,8 +674,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -684,11 +683,11 @@ "bundled": true, "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "class-utils": { @@ -696,10 +695,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -707,7 +706,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -718,8 +717,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -741,8 +740,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "commondir": { @@ -780,8 +779,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.0" } }, "debug": { @@ -812,7 +811,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-property": { @@ -820,8 +819,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -829,7 +828,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -837,7 +836,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -845,9 +844,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -862,7 +861,7 @@ "bundled": true, "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "error-ex": { @@ -870,7 +869,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "escape-string-regexp": { @@ -888,13 +887,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -902,9 +901,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.0" } } } @@ -914,13 +913,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -928,7 +927,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -936,7 +935,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -946,8 +945,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -955,7 +954,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -965,14 +964,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -980,7 +979,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -988,7 +987,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -996,7 +995,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -1004,7 +1003,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -1012,9 +1011,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -1029,10 +1028,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -1040,7 +1039,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -1050,9 +1049,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -1060,7 +1059,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -1073,8 +1072,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fragment-cache": { @@ -1082,7 +1081,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs.realpath": { @@ -1110,12 +1109,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "globals": { @@ -1133,10 +1132,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -1144,7 +1143,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -1154,7 +1153,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -1167,9 +1166,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -1177,8 +1176,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -1186,7 +1185,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1206,8 +1205,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -1220,7 +1219,7 @@ "bundled": true, "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -1233,7 +1232,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -1251,7 +1250,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-data-descriptor": { @@ -1259,7 +1258,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -1267,9 +1266,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -1289,7 +1288,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -1302,7 +1301,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -1310,7 +1309,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -1325,7 +1324,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-stream": { @@ -1368,7 +1367,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -1376,13 +1375,13 @@ "bundled": true, "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" } }, "istanbul-lib-report": { @@ -1390,10 +1389,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "supports-color": { @@ -1401,7 +1400,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -1411,11 +1410,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -1433,7 +1432,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "js-tokens": { @@ -1451,7 +1450,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -1465,7 +1464,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -1473,11 +1472,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -1485,8 +1484,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -1504,15 +1503,14 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "loose-envify": { "version": "1.3.1", "bundled": true, "dev": true, "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "lru-cache": { @@ -1520,8 +1518,8 @@ "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "map-cache": { @@ -1534,7 +1532,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5-hex": { @@ -1542,7 +1540,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -1555,7 +1553,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge-source-map": { @@ -1563,7 +1561,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.6.1" + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -1578,19 +1576,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -1610,7 +1608,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -1623,8 +1621,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -1632,7 +1630,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -1655,18 +1653,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -1681,10 +1679,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { @@ -1692,7 +1690,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -1710,9 +1708,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -1720,7 +1718,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -1730,7 +1728,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.pick": { @@ -1738,7 +1736,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "once": { @@ -1746,7 +1744,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -1754,8 +1752,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -1768,9 +1766,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -1783,7 +1781,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -1791,7 +1789,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { @@ -1804,7 +1802,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pascalcase": { @@ -1817,7 +1815,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -1840,9 +1838,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -1860,7 +1858,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -1868,7 +1866,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -1876,8 +1874,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1897,9 +1895,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -1907,8 +1905,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -1916,8 +1914,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -1932,8 +1930,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "repeat-element": { @@ -1951,7 +1949,7 @@ "bundled": true, "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "require-directory": { @@ -1985,7 +1983,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -1993,7 +1991,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-regex": { @@ -2001,7 +1999,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "semver": { @@ -2019,10 +2017,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -2030,7 +2028,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2040,7 +2038,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -2063,14 +2061,14 @@ "bundled": true, "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "3.1.0" }, "dependencies": { "define-property": { @@ -2078,7 +2076,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -2086,7 +2084,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2096,9 +2094,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -2106,7 +2104,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -2114,7 +2112,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -2122,7 +2120,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -2130,9 +2128,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -2147,7 +2145,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -2160,11 +2158,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "^2.0.0", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { @@ -2177,12 +2175,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.0" } }, "spdx-correct": { @@ -2190,8 +2188,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -2204,8 +2202,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -2218,7 +2216,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "static-extend": { @@ -2226,8 +2224,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -2235,7 +2233,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -2245,8 +2243,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -2259,7 +2257,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2269,7 +2267,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -2277,7 +2275,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -2295,11 +2293,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-fast-properties": { @@ -2312,7 +2310,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -2320,10 +2318,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -2331,8 +2329,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "trim-right": { @@ -2346,9 +2344,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -2357,9 +2355,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -2376,10 +2374,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -2387,7 +2385,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -2395,10 +2393,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -2408,8 +2406,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -2417,9 +2415,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -2449,7 +2447,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -2464,8 +2462,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "which": { @@ -2473,7 +2471,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -2497,8 +2495,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -2506,7 +2504,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -2514,9 +2512,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -2531,9 +2529,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -2551,18 +2549,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "ansi-regex": { @@ -2580,9 +2578,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "strip-ansi": { @@ -2590,7 +2588,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs-parser": { @@ -2598,7 +2596,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -2608,7 +2606,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -2626,9 +2624,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-limit": { @@ -2637,7 +2635,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -2646,7 +2644,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-try": { @@ -2661,13 +2659,13 @@ "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "diff": "^3.5.0", - "lodash.get": "^4.4.2", - "lolex": "^2.4.2", - "nise": "^1.3.3", - "supports-color": "^5.4.0", - "type-detect": "^4.0.8" + "@sinonjs/formatio": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.1", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "string-width": { @@ -2676,8 +2674,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -2686,7 +2684,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "yargs": { @@ -2695,18 +2693,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "yargs-parser": { @@ -2715,7 +2713,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -2733,27 +2731,27 @@ "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", "dev": true, "requires": { - "@google-cloud/common": "^0.17.0", - "arrify": "^1.0.0", - "async": "^2.0.1", - "compressible": "^2.0.12", - "concat-stream": "^1.5.0", - "create-error-class": "^3.0.2", - "duplexify": "^3.5.0", - "extend": "^3.0.0", - "gcs-resumable-upload": "^0.10.2", - "hash-stream-validation": "^0.2.1", - "is": "^3.0.1", - "mime": "^2.2.0", - "mime-types": "^2.0.8", - "once": "^1.3.1", - "pumpify": "^1.5.1", - "request": "^2.85.0", - "safe-buffer": "^5.1.1", - "snakeize": "^0.1.0", - "stream-events": "^1.0.1", - "through2": "^2.0.0", - "xdg-basedir": "^3.0.0" + "@google-cloud/common": "0.17.0", + "arrify": "1.0.1", + "async": "2.6.1", + "compressible": "2.0.14", + "concat-stream": "1.6.2", + "create-error-class": "3.0.2", + "duplexify": "3.6.0", + "extend": "3.0.2", + "gcs-resumable-upload": "0.10.2", + "hash-stream-validation": "0.2.1", + "is": "3.2.1", + "mime": "2.3.1", + "mime-types": "2.1.19", + "once": "1.4.0", + "pumpify": "1.5.1", + "request": "2.87.0", + "safe-buffer": "5.1.2", + "snakeize": "0.1.0", + "stream-events": "1.0.4", + "through2": "2.0.3", + "xdg-basedir": "3.0.0" } }, "@grpc/proto-loader": { @@ -2761,17 +2759,10 @@ "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.3.0.tgz", "integrity": "sha512-9b8S/V+3W4Gv7G/JKSZ48zApgyYbfIR7mAC9XNnaSWme3zj57MIESu0ELzm9j5oxNIpFG8DgO00iJMIUZ5luqw==", "requires": { - "@types/lodash": "^4.14.104", - "@types/node": "^9.4.6", - "lodash": "^4.17.5", - "protobufjs": "^6.8.6" - }, - "dependencies": { - "@types/node": { - "version": "9.6.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.25.tgz", - "integrity": "sha512-uZpzO9MKSHy7zBiTtziA3JgZP3upcAvLTASkKgheLj6/rNZmRX4UyvsFYaY2kbYcmmh8bNZ2T0eocBRCfZdGvQ==" - } + "@types/lodash": "4.14.115", + "@types/node": "9.6.25", + "lodash": "4.17.10", + "protobufjs": "6.8.8" } }, "@ladjs/time-require": { @@ -2780,10 +2771,10 @@ "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", "dev": true, "requires": { - "chalk": "^0.4.0", - "date-time": "^0.1.1", - "pretty-ms": "^0.2.1", - "text-table": "^0.2.0" + "chalk": "0.4.0", + "date-time": "0.1.1", + "pretty-ms": "0.2.2", + "text-table": "0.2.0" }, "dependencies": { "ansi-styles": { @@ -2798,9 +2789,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" + "ansi-styles": "1.0.0", + "has-color": "0.1.7", + "strip-ansi": "0.1.1" } }, "pretty-ms": { @@ -2809,7 +2800,7 @@ "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", "dev": true, "requires": { - "parse-ms": "^0.1.0" + "parse-ms": "0.1.2" } }, "strip-ansi": { @@ -2825,8 +2816,8 @@ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" } }, "@nodelib/fs.stat": { @@ -2859,8 +2850,8 @@ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/inquire": "1.1.0" } }, "@protobufjs/float": { @@ -2920,9 +2911,9 @@ "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" }, "@types/node": { - "version": "10.5.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.4.tgz", - "integrity": "sha512-8TqvB0ReZWwtcd3LXq3YSrBoLyXFgBX/sBZfGye9+YS8zH7/g+i6QRIuiDmwBoTzcQ/pk89nZYTYU4c5akKkzw==" + "version": "9.6.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.25.tgz", + "integrity": "sha512-uZpzO9MKSHy7zBiTtziA3JgZP3upcAvLTASkKgheLj6/rNZmRX4UyvsFYaY2kbYcmmh8bNZ2T0eocBRCfZdGvQ==" }, "acorn": { "version": "5.7.1", @@ -2940,7 +2931,7 @@ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", "dev": true, "requires": { - "acorn": "^5.0.3" + "acorn": "5.7.1" } }, "ajv": { @@ -2949,10 +2940,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -2966,11 +2957,10 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, - "optional": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" }, "dependencies": { "kind-of": { @@ -2978,9 +2968,8 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "optional": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2997,7 +2986,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -3018,8 +3007,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -3028,7 +3017,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3050,7 +3039,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "anymatch": { @@ -3059,8 +3048,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -3069,7 +3058,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "array-unique": { @@ -3084,9 +3073,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "expand-brackets": { @@ -3095,7 +3084,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "extglob": { @@ -3104,7 +3093,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-extglob": { @@ -3119,7 +3108,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "kind-of": { @@ -3128,7 +3117,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "micromatch": { @@ -3137,19 +3126,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } } } @@ -3160,7 +3149,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "argv": { @@ -3218,7 +3207,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -3241,15 +3230,18 @@ "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", "requires": { - "colour": "~0.7.1", - "optjs": "~3.2.2" + "colour": "0.7.1", + "optjs": "3.2.2" } }, "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } }, "assert-plus": { "version": "1.0.0", @@ -3268,7 +3260,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "async-each": { @@ -3300,89 +3292,89 @@ "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", "dev": true, "requires": { - "@ava/babel-preset-stage-4": "^1.1.0", - "@ava/babel-preset-transform-test-files": "^3.0.0", - "@ava/write-file-atomic": "^2.2.0", - "@concordance/react": "^1.0.0", - "@ladjs/time-require": "^0.1.4", - "ansi-escapes": "^3.0.0", - "ansi-styles": "^3.1.0", - "arr-flatten": "^1.0.1", - "array-union": "^1.0.1", - "array-uniq": "^1.0.2", - "arrify": "^1.0.0", - "auto-bind": "^1.1.0", - "ava-init": "^0.2.0", - "babel-core": "^6.17.0", - "babel-generator": "^6.26.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "bluebird": "^3.0.0", - "caching-transform": "^1.0.0", - "chalk": "^2.0.1", - "chokidar": "^1.4.2", - "clean-stack": "^1.1.1", - "clean-yaml-object": "^0.1.0", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.0.0", - "cli-truncate": "^1.0.0", - "co-with-promise": "^4.6.0", - "code-excerpt": "^2.1.1", - "common-path-prefix": "^1.0.0", - "concordance": "^3.0.0", - "convert-source-map": "^1.5.1", - "core-assert": "^0.2.0", - "currently-unhandled": "^0.4.1", - "debug": "^3.0.1", - "dot-prop": "^4.1.0", - "empower-core": "^0.6.1", - "equal-length": "^1.0.0", - "figures": "^2.0.0", - "find-cache-dir": "^1.0.0", - "fn-name": "^2.0.0", - "get-port": "^3.0.0", - "globby": "^6.0.0", - "has-flag": "^2.0.0", - "hullabaloo-config-manager": "^1.1.0", - "ignore-by-default": "^1.0.0", - "import-local": "^0.1.1", - "indent-string": "^3.0.0", - "is-ci": "^1.0.7", - "is-generator-fn": "^1.0.0", - "is-obj": "^1.0.0", - "is-observable": "^1.0.0", - "is-promise": "^2.1.0", - "last-line-stream": "^1.0.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.debounce": "^4.0.3", - "lodash.difference": "^4.3.0", - "lodash.flatten": "^4.2.0", - "loud-rejection": "^1.2.0", - "make-dir": "^1.0.0", - "matcher": "^1.0.0", - "md5-hex": "^2.0.0", - "meow": "^3.7.0", - "ms": "^2.0.0", - "multimatch": "^2.1.0", - "observable-to-promise": "^0.5.0", - "option-chain": "^1.0.0", - "package-hash": "^2.0.0", - "pkg-conf": "^2.0.0", - "plur": "^2.0.0", - "pretty-ms": "^3.0.0", - "require-precompiled": "^0.1.0", - "resolve-cwd": "^2.0.0", - "safe-buffer": "^5.1.1", - "semver": "^5.4.1", - "slash": "^1.0.0", - "source-map-support": "^0.5.0", - "stack-utils": "^1.0.1", - "strip-ansi": "^4.0.0", - "strip-bom-buf": "^1.0.0", - "supertap": "^1.0.0", - "supports-color": "^5.0.0", - "trim-off-newlines": "^1.0.1", - "unique-temp-dir": "^1.0.0", - "update-notifier": "^2.3.0" + "@ava/babel-preset-stage-4": "1.1.0", + "@ava/babel-preset-transform-test-files": "3.0.0", + "@ava/write-file-atomic": "2.2.0", + "@concordance/react": "1.0.0", + "@ladjs/time-require": "0.1.4", + "ansi-escapes": "3.1.0", + "ansi-styles": "3.2.1", + "arr-flatten": "1.1.0", + "array-union": "1.0.2", + "array-uniq": "1.0.3", + "arrify": "1.0.1", + "auto-bind": "1.2.1", + "ava-init": "0.2.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "bluebird": "3.5.1", + "caching-transform": "1.0.1", + "chalk": "2.4.1", + "chokidar": "1.7.0", + "clean-stack": "1.3.0", + "clean-yaml-object": "0.1.0", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "cli-truncate": "1.1.0", + "co-with-promise": "4.6.0", + "code-excerpt": "2.1.1", + "common-path-prefix": "1.0.0", + "concordance": "3.0.0", + "convert-source-map": "1.5.1", + "core-assert": "0.2.1", + "currently-unhandled": "0.4.1", + "debug": "3.1.0", + "dot-prop": "4.2.0", + "empower-core": "0.6.2", + "equal-length": "1.0.1", + "figures": "2.0.0", + "find-cache-dir": "1.0.0", + "fn-name": "2.0.1", + "get-port": "3.2.0", + "globby": "6.1.0", + "has-flag": "2.0.0", + "hullabaloo-config-manager": "1.1.1", + "ignore-by-default": "1.0.1", + "import-local": "0.1.1", + "indent-string": "3.2.0", + "is-ci": "1.1.0", + "is-generator-fn": "1.0.0", + "is-obj": "1.0.1", + "is-observable": "1.1.0", + "is-promise": "2.1.0", + "last-line-stream": "1.0.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.debounce": "4.0.8", + "lodash.difference": "4.5.0", + "lodash.flatten": "4.4.0", + "loud-rejection": "1.6.0", + "make-dir": "1.3.0", + "matcher": "1.1.1", + "md5-hex": "2.0.0", + "meow": "3.7.0", + "ms": "2.0.0", + "multimatch": "2.1.0", + "observable-to-promise": "0.5.0", + "option-chain": "1.0.0", + "package-hash": "2.0.0", + "pkg-conf": "2.1.0", + "plur": "2.1.2", + "pretty-ms": "3.2.0", + "require-precompiled": "0.1.0", + "resolve-cwd": "2.0.0", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slash": "1.0.0", + "source-map-support": "0.5.6", + "stack-utils": "1.0.1", + "strip-ansi": "4.0.0", + "strip-bom-buf": "1.0.0", + "supertap": "1.0.0", + "supports-color": "5.4.0", + "trim-off-newlines": "1.0.1", + "unique-temp-dir": "1.0.0", + "update-notifier": "2.5.0" }, "dependencies": { "ansi-regex": { @@ -3407,7 +3399,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "globby": { @@ -3416,11 +3408,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -3441,7 +3433,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "strip-ansi": { @@ -3450,7 +3442,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3461,11 +3453,11 @@ "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", "dev": true, "requires": { - "arr-exclude": "^1.0.0", - "execa": "^0.7.0", - "has-yarn": "^1.0.0", - "read-pkg-up": "^2.0.0", - "write-pkg": "^3.1.0" + "arr-exclude": "1.0.0", + "execa": "0.7.0", + "has-yarn": "1.0.0", + "read-pkg-up": "2.0.0", + "write-pkg": "3.2.0" } }, "aws-sign2": { @@ -3485,8 +3477,8 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.2", + "is-buffer": "1.1.6" } }, "babel-code-frame": { @@ -3495,9 +3487,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -3512,11 +3504,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -3533,25 +3525,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" } }, "babel-generator": { @@ -3560,14 +3552,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -3584,9 +3576,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-call-delegate": { @@ -3595,10 +3587,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-explode-assignable-expression": { @@ -3607,9 +3599,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -3618,11 +3610,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -3631,8 +3623,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -3641,8 +3633,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -3651,9 +3643,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -3662,11 +3654,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -3675,8 +3667,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-messages": { @@ -3685,7 +3677,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -3694,7 +3686,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-espower": { @@ -3703,13 +3695,13 @@ "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", "dev": true, "requires": { - "babel-generator": "^6.1.0", - "babylon": "^6.1.0", - "call-matcher": "^1.0.0", - "core-js": "^2.0.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.1.1" + "babel-generator": "6.26.1", + "babylon": "6.18.0", + "call-matcher": "1.0.1", + "core-js": "2.5.7", + "espower-location-detector": "1.0.0", + "espurify": "1.8.1", + "estraverse": "4.2.0" } }, "babel-plugin-syntax-async-functions": { @@ -3742,9 +3734,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -3753,7 +3745,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -3762,9 +3754,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -3773,10 +3765,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -3785,12 +3777,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -3799,7 +3791,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -3808,9 +3800,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -3819,9 +3811,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -3830,9 +3822,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-strict-mode": { @@ -3841,8 +3833,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-register": { @@ -3851,13 +3843,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "source-map-support": { @@ -3866,7 +3858,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -3877,8 +3869,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -3887,11 +3879,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -3900,15 +3892,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" } }, "babel-types": { @@ -3917,10 +3909,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3939,13 +3931,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3953,7 +3945,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3961,7 +3953,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3969,7 +3961,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3977,9 +3969,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3991,7 +3983,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary-extensions": { @@ -4012,13 +4004,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -4045,8 +4037,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -4055,7 +4047,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -4065,7 +4057,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -4074,16 +4066,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -4091,7 +4083,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4114,9 +4106,9 @@ "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" }, "buffer-from": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", - "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, "builtin-modules": { @@ -4130,7 +4122,7 @@ "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", "requires": { - "long": "~3" + "long": "3.2.0" }, "dependencies": { "long": { @@ -4145,15 +4137,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "cacheable-request": { @@ -4185,9 +4177,9 @@ "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" }, "dependencies": { "md5-hex": { @@ -4196,7 +4188,7 @@ "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "write-file-atomic": { @@ -4205,9 +4197,9 @@ "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } } } @@ -4218,10 +4210,10 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "^2.0.0", - "deep-equal": "^1.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.0.0" + "core-js": "2.5.7", + "deep-equal": "1.0.1", + "espurify": "1.8.1", + "estraverse": "4.2.0" } }, "call-me-maybe": { @@ -4240,7 +4232,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -4260,8 +4252,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "capture-stack-trace": { @@ -4282,7 +4274,7 @@ "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", "dev": true, "requires": { - "underscore-contrib": "~0.3.0" + "underscore-contrib": "0.3.0" } }, "center-align": { @@ -4292,8 +4284,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -4302,9 +4294,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "chardet": { @@ -4319,15 +4311,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.4", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" }, "dependencies": { "glob-parent": { @@ -4336,7 +4328,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -4351,7 +4343,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -4373,10 +4365,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -4384,7 +4376,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -4413,7 +4405,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -4428,8 +4420,8 @@ "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0" + "slice-ansi": "1.0.0", + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -4450,8 +4442,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -4460,7 +4452,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -4476,9 +4468,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "clone-response": { @@ -4487,7 +4479,7 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.1" } }, "co": { @@ -4502,7 +4494,7 @@ "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", "dev": true, "requires": { - "pinkie-promise": "^1.0.0" + "pinkie-promise": "1.0.0" } }, "code-excerpt": { @@ -4511,7 +4503,7 @@ "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", "dev": true, "requires": { - "convert-to-spaces": "^1.0.1" + "convert-to-spaces": "1.0.2" } }, "code-point-at": { @@ -4525,10 +4517,10 @@ "integrity": "sha512-KJyzHdg9B8U9LxXa7hS6jnEW5b1cNckLYc2YpnJ1nEFiOW+/iSzDHp+5MYEIQd9fN3/tC6WmGZmYiwxzkuGp/A==", "dev": true, "requires": { - "argv": "^0.0.2", - "ignore-walk": "^3.0.1", - "request": "^2.87.0", - "urlgrey": "^0.4.4" + "argv": "0.0.2", + "ignore-walk": "3.0.1", + "request": "2.87.0", + "urlgrey": "0.4.4" } }, "collection-visit": { @@ -4536,8 +4528,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -4572,7 +4564,7 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -4604,7 +4596,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.35.0" } }, "concat-map": { @@ -4618,10 +4610,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "concordance": { @@ -4630,17 +4622,17 @@ "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", "dev": true, "requires": { - "date-time": "^2.1.0", - "esutils": "^2.0.2", - "fast-diff": "^1.1.1", - "function-name-support": "^0.2.0", - "js-string-escape": "^1.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.flattendeep": "^4.4.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "semver": "^5.3.0", - "well-known-symbols": "^1.0.0" + "date-time": "2.1.0", + "esutils": "2.0.2", + "fast-diff": "1.1.2", + "function-name-support": "0.2.0", + "js-string-escape": "1.0.1", + "lodash.clonedeep": "4.5.0", + "lodash.flattendeep": "4.4.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "semver": "5.5.0", + "well-known-symbols": "1.0.0" }, "dependencies": { "date-time": { @@ -4649,7 +4641,7 @@ "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", "dev": true, "requires": { - "time-zone": "^1.0.0" + "time-zone": "1.0.0" } } } @@ -4660,12 +4652,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "convert-source-map": { @@ -4697,8 +4689,8 @@ "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", "dev": true, "requires": { - "buf-compare": "^1.0.0", - "is-error": "^2.2.0" + "buf-compare": "1.0.1", + "is-error": "2.2.1" } }, "core-js": { @@ -4717,7 +4709,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "cross-spawn": { @@ -4725,9 +4717,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "crypto-random-string": { @@ -4742,7 +4734,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -4751,7 +4743,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -4760,7 +4752,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-time": { @@ -4793,7 +4785,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.1" } }, "deep-equal": { @@ -4819,8 +4811,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.12" } }, "define-property": { @@ -4828,8 +4820,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -4837,7 +4829,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4845,7 +4837,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4853,9 +4845,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -4866,13 +4858,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" }, "dependencies": { "globby": { @@ -4881,12 +4873,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -4907,7 +4899,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } } } @@ -4924,7 +4916,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "diff": { @@ -4943,8 +4935,8 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" + "arrify": "1.0.1", + "path-type": "3.0.0" } }, "doctrine": { @@ -4953,7 +4945,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-serializer": { @@ -4962,8 +4954,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -4986,7 +4978,7 @@ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -4995,8 +4987,8 @@ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -5005,7 +4997,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "duplexer3": { @@ -5019,10 +5011,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" } }, "eastasianwidth": { @@ -5037,8 +5029,8 @@ "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "ecdsa-sig-formatter": { @@ -5046,7 +5038,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "empower": { @@ -5054,8 +5046,8 @@ "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", "requires": { - "core-js": "^2.0.0", - "empower-core": "^1.2.0" + "core-js": "2.5.7", + "empower-core": "1.2.0" } }, "empower-assert": { @@ -5064,7 +5056,7 @@ "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", "dev": true, "requires": { - "estraverse": "^4.2.0" + "estraverse": "4.2.0" } }, "empower-core": { @@ -5073,7 +5065,7 @@ "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", "requires": { "call-signature": "0.0.2", - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "end-of-stream": { @@ -5081,7 +5073,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "ent": { @@ -5108,7 +5100,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -5117,11 +5109,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -5130,9 +5122,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { @@ -5141,9 +5133,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-error": { @@ -5158,9 +5150,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -5169,12 +5161,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-set": { @@ -5183,11 +5175,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -5196,8 +5188,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "es6-weak-map": { @@ -5206,10 +5198,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escallmatch": { @@ -5218,8 +5210,8 @@ "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", "dev": true, "requires": { - "call-matcher": "^1.0.0", - "esprima": "^2.0.0" + "call-matcher": "1.0.1", + "esprima": "2.7.3" }, "dependencies": { "esprima": { @@ -5242,11 +5234,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "esprima": { @@ -5270,10 +5262,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint": { @@ -5282,45 +5274,45 @@ "integrity": "sha512-zlggW1qp7/TBjwLfouRoY7eWXrXwJZFqCdIxxh0/LVB/QuuKuIMkzyUZEcDo6LBadsry5JcEMxIqd3H/66CXVg==", "dev": true, "requires": { - "ajv": "^6.5.0", - "babel-code-frame": "^6.26.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^4.0.0", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^4.0.0", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.2", - "imurmurhash": "^0.1.4", - "inquirer": "^5.2.0", - "is-resolvable": "^1.1.0", - "js-yaml": "^3.11.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.5", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.1.0", - "require-uncached": "^1.0.3", - "semver": "^5.5.0", - "string.prototype.matchall": "^2.0.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^4.0.3", - "text-table": "^0.2.0" + "ajv": "6.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "4.0.0", + "eslint-utils": "1.3.1", + "eslint-visitor-keys": "1.0.0", + "espree": "4.0.0", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.7.0", + "ignore": "4.0.3", + "imurmurhash": "0.1.4", + "inquirer": "5.2.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "string.prototype.matchall": "2.0.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.3", + "text-table": "0.2.0" }, "dependencies": { "ajv": { @@ -5329,10 +5321,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ansi-regex": { @@ -5347,11 +5339,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "debug": { @@ -5376,9 +5368,9 @@ "dev": true }, "ignore": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.2.tgz", - "integrity": "sha512-uoxnT7PYpyEnsja+yX+7v49B7LXxmzDJ2JALqHH3oEGzpM2U1IGcbfnOr8Dt57z3B/UWs7/iAgPFbmye8m4I0g==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.3.tgz", + "integrity": "sha512-Z/vAH2GGIEATQnBVXMclE2IGV6i0GyVngKThcGZ5kHgHMxLo9Ow2+XHRq1aEKEej5vOF1TPJNbvX6J/anT0M7A==", "dev": true }, "json-schema-traverse": { @@ -5393,7 +5385,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -5404,7 +5396,7 @@ "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "get-stdin": "^5.0.1" + "get-stdin": "5.0.1" }, "dependencies": { "get-stdin": { @@ -5421,8 +5413,8 @@ "integrity": "sha512-9XcVyZiQRVeFjqHw8qHNDAZcQLqaHlOGGpeYqzYh8S4JYCWTCO3yzyen8yVmA5PratfzTRWDwCOFphtDEG+w/w==", "dev": true, "requires": { - "eslint-utils": "^1.3.0", - "regexpp": "^2.0.0" + "eslint-utils": "1.3.1", + "regexpp": "2.0.0" }, "dependencies": { "regexpp": { @@ -5439,18 +5431,18 @@ "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", "dev": true, "requires": { - "eslint-plugin-es": "^1.3.1", - "eslint-utils": "^1.3.1", - "ignore": "^4.0.2", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "semver": "^5.5.0" + "eslint-plugin-es": "1.3.1", + "eslint-utils": "1.3.1", + "ignore": "4.0.3", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.5.0" }, "dependencies": { "ignore": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.2.tgz", - "integrity": "sha512-uoxnT7PYpyEnsja+yX+7v49B7LXxmzDJ2JALqHH3oEGzpM2U1IGcbfnOr8Dt57z3B/UWs7/iAgPFbmye8m4I0g==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.3.tgz", + "integrity": "sha512-Z/vAH2GGIEATQnBVXMclE2IGV6i0GyVngKThcGZ5kHgHMxLo9Ow2+XHRq1aEKEej5vOF1TPJNbvX6J/anT0M7A==", "dev": true }, "resolve": { @@ -5459,7 +5451,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } } } @@ -5470,8 +5462,8 @@ "integrity": "sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==", "dev": true, "requires": { - "fast-diff": "^1.1.1", - "jest-docblock": "^21.0.0" + "fast-diff": "1.1.2", + "jest-docblock": "21.2.0" } }, "eslint-scope": { @@ -5480,8 +5472,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint-utils": { @@ -5502,16 +5494,16 @@ "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", "dev": true, "requires": { - "array-find": "^1.0.0", - "escallmatch": "^1.5.0", - "escodegen": "^1.7.0", - "escope": "^3.3.0", - "espower-location-detector": "^1.0.0", - "espurify": "^1.3.0", - "estraverse": "^4.1.0", - "source-map": "^0.5.0", - "type-name": "^2.0.0", - "xtend": "^4.0.0" + "array-find": "1.0.0", + "escallmatch": "1.5.0", + "escodegen": "1.11.0", + "escope": "3.6.0", + "espower-location-detector": "1.0.0", + "espurify": "1.8.1", + "estraverse": "4.2.0", + "source-map": "0.5.7", + "type-name": "2.0.2", + "xtend": "4.0.1" } }, "espower-loader": { @@ -5520,11 +5512,11 @@ "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", "dev": true, "requires": { - "convert-source-map": "^1.1.0", - "espower-source": "^2.0.0", - "minimatch": "^3.0.0", - "source-map-support": "^0.4.0", - "xtend": "^4.0.0" + "convert-source-map": "1.5.1", + "espower-source": "2.3.0", + "minimatch": "3.0.4", + "source-map-support": "0.4.18", + "xtend": "4.0.1" }, "dependencies": { "source-map-support": { @@ -5533,7 +5525,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } } } @@ -5544,10 +5536,10 @@ "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", "dev": true, "requires": { - "is-url": "^1.2.1", - "path-is-absolute": "^1.0.0", - "source-map": "^0.5.0", - "xtend": "^4.0.0" + "is-url": "1.2.4", + "path-is-absolute": "1.0.1", + "source-map": "0.5.7", + "xtend": "4.0.1" } }, "espower-source": { @@ -5556,17 +5548,17 @@ "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", "dev": true, "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.10", - "convert-source-map": "^1.1.1", - "empower-assert": "^1.0.0", - "escodegen": "^1.10.0", - "espower": "^2.1.1", - "estraverse": "^4.0.0", - "merge-estraverse-visitors": "^1.0.0", - "multi-stage-sourcemap": "^0.2.1", - "path-is-absolute": "^1.0.0", - "xtend": "^4.0.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "convert-source-map": "1.5.1", + "empower-assert": "1.1.0", + "escodegen": "1.11.0", + "espower": "2.1.1", + "estraverse": "4.2.0", + "merge-estraverse-visitors": "1.0.0", + "multi-stage-sourcemap": "0.2.1", + "path-is-absolute": "1.0.1", + "xtend": "4.0.1" } }, "espree": { @@ -5575,8 +5567,8 @@ "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", "dev": true, "requires": { - "acorn": "^5.6.0", - "acorn-jsx": "^4.1.1" + "acorn": "5.7.1", + "acorn-jsx": "4.1.1" } }, "esprima": { @@ -5590,7 +5582,7 @@ "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", "requires": { - "core-js": "^2.0.0" + "core-js": "2.5.7" } }, "esquery": { @@ -5599,7 +5591,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -5608,7 +5600,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -5628,8 +5620,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "execa": { @@ -5637,13 +5629,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -5651,13 +5643,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -5665,7 +5657,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -5673,7 +5665,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5684,7 +5676,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" }, "dependencies": { "fill-range": { @@ -5693,11 +5685,11 @@ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "is-number": { @@ -5706,7 +5698,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "isobject": { @@ -5724,7 +5716,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5739,8 +5731,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -5748,7 +5740,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -5759,9 +5751,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -5769,14 +5761,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -5784,7 +5776,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -5792,7 +5784,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -5800,7 +5792,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -5808,7 +5800,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -5816,9 +5808,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -5846,12 +5838,12 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.0", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.2", + "micromatch": "3.1.10" } }, "fast-json-stable-stringify": { @@ -5872,7 +5864,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -5881,8 +5873,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.0", + "object-assign": "4.1.1" } }, "filename-regex": { @@ -5897,8 +5889,8 @@ "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", "dev": true, "requires": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" } }, "fill-range": { @@ -5906,10 +5898,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -5917,7 +5909,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5928,9 +5920,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" } }, "find-up": { @@ -5938,7 +5930,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "requires": { - "locate-path": "^3.0.0" + "locate-path": "3.0.0" } }, "flat-cache": { @@ -5947,10 +5939,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" } }, "fn-name": { @@ -5960,11 +5952,11 @@ "dev": true }, "follow-redirects": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", - "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", + "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -5988,7 +5980,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -6008,9 +6000,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.19" } }, "formidable": { @@ -6024,7 +6016,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "from2": { @@ -6033,8 +6025,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "fs-extra": { @@ -6043,9 +6035,9 @@ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" } }, "fs.realpath": { @@ -6060,8 +6052,8 @@ "dev": true, "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { @@ -6087,23 +6079,21 @@ "dev": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -6116,20 +6106,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -6170,7 +6157,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { @@ -6185,14 +6172,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { @@ -6201,12 +6188,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -6221,7 +6208,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -6230,7 +6217,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -6239,15 +6226,14 @@ "dev": true, "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -6259,9 +6245,8 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -6274,25 +6259,22 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { @@ -6301,14 +6283,13 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -6325,9 +6306,9 @@ "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -6336,16 +6317,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -6354,8 +6335,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -6370,8 +6351,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -6380,17 +6361,16 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -6402,9 +6382,8 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -6425,8 +6404,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -6447,10 +6426,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -6467,13 +6446,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { @@ -6482,7 +6461,7 @@ "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -6524,11 +6503,10 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -6537,7 +6515,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { @@ -6545,7 +6523,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -6560,13 +6538,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -6581,7 +6559,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -6619,8 +6597,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", "requires": { - "axios": "^0.18.0", - "extend": "^3.0.1", + "axios": "0.18.0", + "extend": "3.0.2", "retry-axios": "0.3.2" } }, @@ -6630,11 +6608,11 @@ "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", "dev": true, "requires": { - "configstore": "^3.1.2", - "google-auto-auth": "^0.10.0", - "pumpify": "^1.4.0", - "request": "^2.85.0", - "stream-events": "^1.0.3" + "configstore": "3.1.2", + "google-auto-auth": "0.10.1", + "pumpify": "1.5.1", + "request": "2.87.0", + "stream-events": "1.0.4" } }, "get-caller-file": { @@ -6670,7 +6648,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -6678,12 +6656,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -6692,8 +6670,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" }, "dependencies": { "glob-parent": { @@ -6702,7 +6680,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "is-extglob": { @@ -6717,7 +6695,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -6727,8 +6705,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -6736,7 +6714,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -6752,7 +6730,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { @@ -6766,13 +6744,13 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.2", + "glob": "7.1.2", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" } }, "google-auth-library": { @@ -6780,13 +6758,13 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", "requires": { - "axios": "^0.18.0", - "gcp-metadata": "^0.6.3", - "gtoken": "^2.3.0", - "jws": "^3.1.5", - "lodash.isstring": "^4.0.1", - "lru-cache": "^4.1.3", - "retry-axios": "^0.3.2" + "axios": "0.18.0", + "gcp-metadata": "0.6.3", + "gtoken": "2.3.0", + "jws": "3.1.5", + "lodash.isstring": "4.0.1", + "lru-cache": "4.1.3", + "retry-axios": "0.3.2" } }, "google-auto-auth": { @@ -6795,10 +6773,10 @@ "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", "dev": true, "requires": { - "async": "^2.3.0", - "gcp-metadata": "^0.6.1", - "google-auth-library": "^1.3.1", - "request": "^2.79.0" + "async": "2.6.1", + "gcp-metadata": "0.6.3", + "google-auth-library": "1.6.1", + "request": "2.87.0" } }, "google-gax": { @@ -6806,18 +6784,18 @@ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.18.0.tgz", "integrity": "sha512-cF2s3aTw1cWDHsjaYfIizJZT0KJF0FSM3laiCX4O/K0ZcdmeE9PitG2bxRH+dY+Sz094//m+JoH1hBtSyOf67A==", "requires": { - "@grpc/proto-loader": "^0.3.0", - "duplexify": "^3.6.0", - "extend": "^3.0.1", - "globby": "^8.0.1", - "google-auth-library": "^1.6.1", - "google-proto-files": "^0.16.0", - "grpc": "^1.12.2", - "is-stream-ended": "^0.1.4", - "lodash": "^4.17.10", - "protobufjs": "^6.8.8", - "retry-request": "^4.0.0", - "through2": "^2.0.3" + "@grpc/proto-loader": "0.3.0", + "duplexify": "3.6.0", + "extend": "3.0.2", + "globby": "8.0.1", + "google-auth-library": "1.6.1", + "google-proto-files": "0.16.1", + "grpc": "1.13.1", + "is-stream-ended": "0.1.4", + "lodash": "4.17.10", + "protobufjs": "6.8.8", + "retry-request": "4.0.0", + "through2": "2.0.3" } }, "google-p12-pem": { @@ -6825,8 +6803,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", "requires": { - "node-forge": "^0.7.4", - "pify": "^3.0.0" + "node-forge": "0.7.5", + "pify": "3.0.0" } }, "google-proto-files": { @@ -6834,9 +6812,9 @@ "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", "requires": { - "globby": "^8.0.0", - "power-assert": "^1.4.4", - "protobufjs": "^6.8.0" + "globby": "8.0.1", + "power-assert": "1.6.0", + "protobufjs": "6.8.8" } }, "got": { @@ -6845,23 +6823,23 @@ "integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==", "dev": true, "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" + "@sindresorhus/is": "0.7.0", + "cacheable-request": "2.1.4", + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "into-stream": "3.1.0", + "is-retry-allowed": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "mimic-response": "1.0.1", + "p-cancelable": "0.4.1", + "p-timeout": "2.0.1", + "pify": "3.0.0", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "3.0.0", + "url-to-options": "1.0.1" }, "dependencies": { "prepend-http": { @@ -6876,7 +6854,7 @@ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "^2.0.0" + "prepend-http": "2.0.0" } } } @@ -6898,10 +6876,10 @@ "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.1.tgz", "integrity": "sha512-yl0xChnlUISTefOPU2NQ1cYPh5m/DTatEUV6jdRyQPE9NCrtPq7Gn6J2alMTglN7ufYbJapOd00dvhGurHH6HQ==", "requires": { - "lodash": "^4.17.5", - "nan": "^2.0.0", - "node-pre-gyp": "^0.10.0", - "protobufjs": "^5.0.3" + "lodash": "4.17.10", + "nan": "2.10.0", + "node-pre-gyp": "0.10.3", + "protobufjs": "5.0.3" }, "dependencies": { "abbrev": { @@ -6920,8 +6898,8 @@ "version": "1.1.5", "bundled": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -6932,7 +6910,7 @@ "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -6979,7 +6957,7 @@ "version": "1.2.5", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "fs.realpath": { @@ -6990,26 +6968,26 @@ "version": "2.7.4", "bundled": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" } }, "glob": { "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -7020,22 +6998,22 @@ "version": "0.4.23", "bundled": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -7050,7 +7028,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -7061,7 +7039,7 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -7072,15 +7050,15 @@ "version": "2.3.3", "bundled": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "minizlib": { "version": "1.1.0", "bundled": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.3" } }, "mkdirp": { @@ -7104,33 +7082,33 @@ "version": "2.2.1", "bundled": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.23", + "sax": "1.2.4" } }, "node-pre-gyp": { "version": "0.10.3", "bundled": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.1", + "nopt": "4.0.1", + "npm-packlist": "1.1.11", + "npmlog": "4.1.2", + "rc": "1.2.8", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.4" } }, "nopt": { "version": "4.0.1", "bundled": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -7141,18 +7119,18 @@ "version": "1.1.11", "bundled": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { "version": "4.1.2", "bundled": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -7167,7 +7145,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -7182,8 +7160,8 @@ "version": "0.1.5", "bundled": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -7199,40 +7177,40 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", "requires": { - "ascli": "~1", - "bytebuffer": "~5", - "glob": "^7.0.5", - "yargs": "^3.10.0" + "ascli": "1.0.1", + "bytebuffer": "5.0.1", + "glob": "7.1.2", + "yargs": "3.32.0" } }, "rc": { "version": "1.2.8", "bundled": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, "readable-stream": { "version": "2.3.6", "bundled": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { "version": "2.6.2", "bundled": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -7263,23 +7241,23 @@ "version": "1.0.2", "bundled": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { "version": "1.1.1", "bundled": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -7290,13 +7268,13 @@ "version": "4.4.4", "bundled": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.3", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.3", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -7307,7 +7285,7 @@ "version": "1.1.3", "bundled": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "wrappy": { @@ -7323,13 +7301,13 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "os-locale": "1.4.0", + "string-width": "1.0.2", + "window-size": "0.1.4", + "y18n": "3.2.1" } } } @@ -7339,11 +7317,11 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", "requires": { - "axios": "^0.18.0", - "google-p12-pem": "^1.0.0", - "jws": "^3.1.4", - "mime": "^2.2.0", - "pify": "^3.0.0" + "axios": "0.18.0", + "google-p12-pem": "1.0.2", + "jws": "3.1.5", + "mime": "2.3.1", + "pify": "3.0.0" } }, "handlebars": { @@ -7352,10 +7330,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -7370,7 +7348,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -7387,8 +7365,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has": { @@ -7397,7 +7375,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -7406,7 +7384,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-color": { @@ -7439,7 +7417,7 @@ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { - "has-symbol-support-x": "^1.4.1" + "has-symbol-support-x": "1.4.2" } }, "has-value": { @@ -7447,9 +7425,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -7457,8 +7435,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -7466,7 +7444,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7483,7 +7461,7 @@ "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "he": { @@ -7498,8 +7476,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -7514,12 +7492,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.4.2", + "domutils": "1.7.0", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "http-cache-semantics": { @@ -7534,9 +7512,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "hullabaloo-config-manager": { @@ -7545,20 +7523,20 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "es6-error": "^4.0.2", - "graceful-fs": "^4.1.11", - "indent-string": "^3.1.0", - "json5": "^0.5.1", - "lodash.clonedeep": "^4.5.0", - "lodash.clonedeepwith": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.merge": "^4.6.0", - "md5-hex": "^2.0.0", - "package-hash": "^2.0.0", - "pkg-dir": "^2.0.0", - "resolve-from": "^3.0.0", - "safe-buffer": "^5.0.1" + "dot-prop": "4.2.0", + "es6-error": "4.1.1", + "graceful-fs": "4.1.11", + "indent-string": "3.2.0", + "json5": "0.5.1", + "lodash.clonedeep": "4.5.0", + "lodash.clonedeepwith": "4.5.0", + "lodash.isequal": "4.5.0", + "lodash.merge": "4.6.1", + "md5-hex": "2.0.0", + "package-hash": "2.0.0", + "pkg-dir": "2.0.0", + "resolve-from": "3.0.0", + "safe-buffer": "5.1.2" } }, "iconv-lite": { @@ -7567,7 +7545,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore": { @@ -7587,7 +7565,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "import-lazy": { @@ -7602,8 +7580,8 @@ "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -7628,8 +7606,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -7649,8 +7627,8 @@ "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", "dev": true, "requires": { - "moment": "^2.14.1", - "sanitize-html": "^1.13.0" + "moment": "2.22.2", + "sanitize-html": "1.18.4" } }, "inquirer": { @@ -7659,19 +7637,19 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rxjs": "5.5.11", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -7692,8 +7670,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -7702,7 +7680,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -7713,7 +7691,7 @@ "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", "dev": true, "requires": { - "espower-loader": "^1.0.0" + "espower-loader": "1.2.2" } }, "into-stream": { @@ -7722,8 +7700,8 @@ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" + "from2": "2.3.0", + "p-is-promise": "1.1.0" } }, "invariant": { @@ -7732,7 +7710,7 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.4.0" } }, "invert-kv": { @@ -7756,7 +7734,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7764,7 +7742,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7781,7 +7759,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -7795,7 +7773,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -7810,7 +7788,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -7818,7 +7796,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7826,7 +7804,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7842,9 +7820,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -7866,7 +7844,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-error": { @@ -7891,7 +7869,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -7899,7 +7877,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-generator-fn": { @@ -7913,7 +7891,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -7922,8 +7900,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-npm": { @@ -7937,7 +7915,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7945,7 +7923,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7968,7 +7946,7 @@ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "requires": { - "symbol-observable": "^1.1.0" + "symbol-observable": "1.2.0" } }, "is-path-cwd": { @@ -7983,7 +7961,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -7992,7 +7970,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -8006,7 +7984,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-posix-bracket": { @@ -8039,7 +8017,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.3" } }, "is-resolvable": { @@ -8131,8 +8109,8 @@ "@babel/template": "7.0.0-beta.51", "@babel/traverse": "7.0.0-beta.51", "@babel/types": "7.0.0-beta.51", - "istanbul-lib-coverage": "^2.0.1", - "semver": "^5.5.0" + "istanbul-lib-coverage": "2.0.1", + "semver": "5.5.0" } }, "isurl": { @@ -8141,8 +8119,8 @@ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" } }, "jest-docblock": { @@ -8169,8 +8147,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.1" } }, "js2xmlparser": { @@ -8179,7 +8157,7 @@ "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", "dev": true, "requires": { - "xmlcreate": "^1.0.1" + "xmlcreate": "1.0.2" } }, "jsbn": { @@ -8196,17 +8174,17 @@ "dev": true, "requires": { "babylon": "7.0.0-beta.19", - "bluebird": "~3.5.0", - "catharsis": "~0.8.9", - "escape-string-regexp": "~1.0.5", - "js2xmlparser": "~3.0.0", - "klaw": "~2.0.0", - "marked": "~0.3.6", - "mkdirp": "~0.5.1", - "requizzle": "~0.2.1", - "strip-json-comments": "~2.0.1", + "bluebird": "3.5.1", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "js2xmlparser": "3.0.0", + "klaw": "2.0.0", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", "taffydb": "2.6.2", - "underscore": "~1.8.3" + "underscore": "1.8.3" }, "dependencies": { "babylon": { @@ -8271,7 +8249,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsprim": { @@ -8299,7 +8277,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "jws": { @@ -8307,8 +8285,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", "requires": { - "jwa": "^1.1.5", - "safe-buffer": "^5.0.1" + "jwa": "1.1.6", + "safe-buffer": "5.1.2" } }, "keyv": { @@ -8331,7 +8309,7 @@ "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "last-line-stream": { @@ -8340,7 +8318,7 @@ "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", "dev": true, "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "latest-version": { @@ -8349,7 +8327,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -8364,7 +8342,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -8373,8 +8351,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -8383,10 +8361,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" }, "dependencies": { "pify": { @@ -8402,8 +8380,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "3.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -8508,8 +8486,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true, - "optional": true + "dev": true }, "loose-envify": { "version": "1.4.0", @@ -8517,7 +8494,7 @@ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -8526,8 +8503,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowercase-keys": { @@ -8541,8 +8518,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -8551,7 +8528,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "map-cache": { @@ -8570,7 +8547,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "marked": { @@ -8585,7 +8562,7 @@ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.4" + "escape-string-regexp": "1.0.5" } }, "math-random": { @@ -8600,7 +8577,7 @@ "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -8614,7 +8591,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "meow": { @@ -8623,16 +8600,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "find-up": { @@ -8641,8 +8618,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "load-json-file": { @@ -8651,11 +8628,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "minimist": { @@ -8670,7 +8647,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-type": { @@ -8679,9 +8656,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -8702,7 +8679,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "read-pkg": { @@ -8711,9 +8688,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -8722,8 +8699,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "strip-bom": { @@ -8732,7 +8709,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } } } @@ -8749,7 +8726,7 @@ "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "merge2": { @@ -8774,19 +8751,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "mime": { @@ -8806,7 +8783,7 @@ "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "dev": true, "requires": { - "mime-db": "~1.35.0" + "mime-db": "1.35.0" } }, "mimic-fn": { @@ -8825,7 +8802,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -8839,8 +8816,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8848,7 +8825,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8921,7 +8898,7 @@ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", "dev": true, "requires": { - "source-map": "^0.1.34" + "source-map": "0.1.43" }, "dependencies": { "source-map": { @@ -8930,7 +8907,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -8941,10 +8918,10 @@ "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", "dev": true, "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" } }, "mute-stream": { @@ -8963,17 +8940,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "natural-compare": { @@ -9000,11 +8977,11 @@ "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "just-extend": "^1.1.27", - "lolex": "^2.3.2", - "path-to-regexp": "^1.7.0", - "text-encoding": "^0.6.4" + "@sinonjs/formatio": "2.0.0", + "just-extend": "1.1.27", + "lolex": "2.7.1", + "path-to-regexp": "1.7.0", + "text-encoding": "0.6.4" } }, "node-forge": { @@ -9018,10 +8995,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -9030,7 +9007,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-url": { @@ -9039,9 +9016,9 @@ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "dev": true, "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "prepend-http": "2.0.0", + "query-string": "5.1.1", + "sort-keys": "2.0.0" }, "dependencies": { "prepend-http": { @@ -9057,7 +9034,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -9071,44 +9048,43 @@ "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", "dev": true, "requires": { - "archy": "^1.0.0", - "arrify": "^1.0.1", - "caching-transform": "^1.0.0", - "convert-source-map": "^1.5.1", - "debug-log": "^1.0.1", - "default-require-extensions": "^1.0.0", - "find-cache-dir": "^0.1.1", - "find-up": "^2.1.0", - "foreground-child": "^1.5.3", - "glob": "^7.0.6", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^2.1.0", - "istanbul-lib-report": "^1.1.3", - "istanbul-lib-source-maps": "^1.2.5", - "istanbul-reports": "^1.4.1", - "md5-hex": "^1.2.0", - "merge-source-map": "^1.1.0", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.0", - "resolve-from": "^2.0.0", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.1", - "spawn-wrap": "^1.4.2", - "test-exclude": "^4.2.0", + "archy": "1.0.0", + "arrify": "1.0.1", + "caching-transform": "1.0.1", + "convert-source-map": "1.5.1", + "debug-log": "1.0.1", + "default-require-extensions": "1.0.0", + "find-cache-dir": "0.1.1", + "find-up": "2.1.0", + "foreground-child": "1.5.6", + "glob": "7.1.2", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "2.3.2", + "istanbul-lib-report": "1.1.3", + "istanbul-lib-source-maps": "1.2.5", + "istanbul-reports": "1.4.1", + "md5-hex": "1.3.0", + "merge-source-map": "1.1.0", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "resolve-from": "2.0.0", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "spawn-wrap": "1.4.2", + "test-exclude": "4.2.1", "yargs": "11.1.0", - "yargs-parser": "^8.0.0" + "yargs-parser": "8.1.0" }, "dependencies": { "align-text": { "version": "0.1.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -9126,7 +9102,7 @@ "bundled": true, "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "archy": { @@ -9184,13 +9160,13 @@ "bundled": true, "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -9198,7 +9174,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -9206,7 +9182,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9214,7 +9190,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9222,9 +9198,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9239,7 +9215,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -9248,16 +9224,16 @@ "bundled": true, "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -9265,7 +9241,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9280,15 +9256,15 @@ "bundled": true, "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" } }, "caching-transform": { @@ -9296,9 +9272,9 @@ "bundled": true, "dev": true, "requires": { - "md5-hex": "^1.2.0", - "mkdirp": "^0.5.1", - "write-file-atomic": "^1.1.4" + "md5-hex": "1.3.0", + "mkdirp": "0.5.1", + "write-file-atomic": "1.3.4" } }, "camelcase": { @@ -9313,8 +9289,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "class-utils": { @@ -9322,10 +9298,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -9333,7 +9309,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9344,8 +9320,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -9367,8 +9343,8 @@ "bundled": true, "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "commondir": { @@ -9401,8 +9377,8 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.1" } }, "debug": { @@ -9433,7 +9409,7 @@ "bundled": true, "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-property": { @@ -9441,8 +9417,8 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -9450,7 +9426,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9458,7 +9434,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9466,9 +9442,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9483,7 +9459,7 @@ "bundled": true, "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "execa": { @@ -9491,13 +9467,13 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" }, "dependencies": { "cross-spawn": { @@ -9505,9 +9481,9 @@ "bundled": true, "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } } } @@ -9517,13 +9493,13 @@ "bundled": true, "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -9539,7 +9515,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -9547,7 +9523,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9557,8 +9533,8 @@ "bundled": true, "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -9566,7 +9542,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -9576,14 +9552,14 @@ "bundled": true, "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -9591,7 +9567,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -9599,7 +9575,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -9607,7 +9583,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9615,7 +9591,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9623,9 +9599,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -9640,10 +9616,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -9651,7 +9627,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9661,9 +9637,9 @@ "bundled": true, "dev": true, "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -9671,7 +9647,7 @@ "bundled": true, "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "for-in": { @@ -9684,8 +9660,8 @@ "bundled": true, "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" } }, "fragment-cache": { @@ -9693,7 +9669,7 @@ "bundled": true, "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs.realpath": { @@ -9721,12 +9697,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "graceful-fs": { @@ -9739,10 +9715,10 @@ "bundled": true, "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "source-map": { @@ -9750,7 +9726,7 @@ "bundled": true, "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -9760,9 +9736,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -9770,8 +9746,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -9779,7 +9755,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -9799,8 +9775,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -9818,7 +9794,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -9836,7 +9812,7 @@ "bundled": true, "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-data-descriptor": { @@ -9844,7 +9820,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -9852,9 +9828,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -9879,7 +9855,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -9887,7 +9863,7 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -9902,7 +9878,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-stream": { @@ -9945,7 +9921,7 @@ "bundled": true, "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-report": { @@ -9953,10 +9929,10 @@ "bundled": true, "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -9969,7 +9945,7 @@ "bundled": true, "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9979,11 +9955,11 @@ "bundled": true, "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" } }, "istanbul-reports": { @@ -9991,7 +9967,7 @@ "bundled": true, "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "kind-of": { @@ -9999,7 +9975,7 @@ "bundled": true, "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "lazy-cache": { @@ -10013,7 +9989,7 @@ "bundled": true, "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "load-json-file": { @@ -10021,11 +9997,11 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -10033,8 +10009,8 @@ "bundled": true, "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -10047,16 +10023,15 @@ "longest": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "lru-cache": { "version": "4.1.3", "bundled": true, "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "map-cache": { @@ -10069,7 +10044,7 @@ "bundled": true, "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5-hex": { @@ -10077,7 +10052,7 @@ "bundled": true, "dev": true, "requires": { - "md5-o-matic": "^0.1.1" + "md5-o-matic": "0.1.1" } }, "md5-o-matic": { @@ -10090,7 +10065,7 @@ "bundled": true, "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge-source-map": { @@ -10098,7 +10073,7 @@ "bundled": true, "dev": true, "requires": { - "source-map": "^0.6.1" + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -10113,19 +10088,19 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -10145,7 +10120,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -10158,8 +10133,8 @@ "bundled": true, "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -10167,7 +10142,7 @@ "bundled": true, "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -10190,18 +10165,18 @@ "bundled": true, "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -10216,10 +10191,10 @@ "bundled": true, "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { @@ -10227,7 +10202,7 @@ "bundled": true, "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "number-is-nan": { @@ -10245,9 +10220,9 @@ "bundled": true, "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -10255,7 +10230,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -10265,7 +10240,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.pick": { @@ -10273,7 +10248,7 @@ "bundled": true, "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "once": { @@ -10281,7 +10256,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "optimist": { @@ -10289,8 +10264,8 @@ "bundled": true, "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "os-homedir": { @@ -10303,9 +10278,9 @@ "bundled": true, "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "p-finally": { @@ -10318,7 +10293,7 @@ "bundled": true, "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -10326,7 +10301,7 @@ "bundled": true, "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { @@ -10339,7 +10314,7 @@ "bundled": true, "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "pascalcase": { @@ -10352,7 +10327,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -10375,9 +10350,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pify": { @@ -10395,7 +10370,7 @@ "bundled": true, "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -10403,7 +10378,7 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -10411,8 +10386,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -10432,9 +10407,9 @@ "bundled": true, "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -10442,8 +10417,8 @@ "bundled": true, "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -10451,8 +10426,8 @@ "bundled": true, "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } } } @@ -10462,8 +10437,8 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "repeat-element": { @@ -10507,7 +10482,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -10515,7 +10490,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-regex": { @@ -10523,7 +10498,7 @@ "bundled": true, "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "semver": { @@ -10541,10 +10516,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -10552,7 +10527,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10562,7 +10537,7 @@ "bundled": true, "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -10585,14 +10560,14 @@ "bundled": true, "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "debug": { @@ -10608,7 +10583,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -10616,7 +10591,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10626,9 +10601,9 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -10636,7 +10611,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -10644,7 +10619,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -10652,7 +10627,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -10660,9 +10635,9 @@ "bundled": true, "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -10677,7 +10652,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -10690,11 +10665,11 @@ "bundled": true, "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { @@ -10707,12 +10682,12 @@ "bundled": true, "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" + "foreground-child": "1.5.6", + "mkdirp": "0.5.1", + "os-homedir": "1.0.2", + "rimraf": "2.6.2", + "signal-exit": "3.0.2", + "which": "1.3.1" } }, "spdx-correct": { @@ -10720,8 +10695,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -10734,8 +10709,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -10748,7 +10723,7 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "static-extend": { @@ -10756,8 +10731,8 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -10765,7 +10740,7 @@ "bundled": true, "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -10775,8 +10750,8 @@ "bundled": true, "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -10784,7 +10759,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "strip-bom": { @@ -10792,7 +10767,7 @@ "bundled": true, "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -10805,11 +10780,11 @@ "bundled": true, "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "to-object-path": { @@ -10817,7 +10792,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -10825,10 +10800,10 @@ "bundled": true, "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -10836,8 +10811,8 @@ "bundled": true, "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "uglify-js": { @@ -10846,9 +10821,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -10857,9 +10832,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -10876,10 +10851,10 @@ "bundled": true, "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -10887,7 +10862,7 @@ "bundled": true, "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -10895,10 +10870,10 @@ "bundled": true, "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -10908,8 +10883,8 @@ "bundled": true, "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -10917,9 +10892,9 @@ "bundled": true, "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -10949,7 +10924,7 @@ "bundled": true, "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -10964,8 +10939,8 @@ "bundled": true, "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "which": { @@ -10973,7 +10948,7 @@ "bundled": true, "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -10997,8 +10972,8 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "ansi-regex": { @@ -11011,7 +10986,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -11019,9 +10994,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -11029,7 +11004,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -11044,9 +11019,9 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "y18n": { @@ -11064,18 +11039,18 @@ "bundled": true, "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "camelcase": { @@ -11088,9 +11063,9 @@ "bundled": true, "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "yargs-parser": { @@ -11098,7 +11073,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -11108,7 +11083,7 @@ "bundled": true, "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -11137,9 +11112,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -11147,7 +11122,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "kind-of": { @@ -11155,7 +11130,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11170,7 +11145,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.omit": { @@ -11179,8 +11154,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -11188,7 +11163,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "observable-to-promise": { @@ -11197,8 +11172,8 @@ "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", "dev": true, "requires": { - "is-observable": "^0.2.0", - "symbol-observable": "^1.0.4" + "is-observable": "0.2.0", + "symbol-observable": "1.2.0" }, "dependencies": { "is-observable": { @@ -11207,7 +11182,7 @@ "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", "dev": true, "requires": { - "symbol-observable": "^0.2.2" + "symbol-observable": "0.2.4" }, "dependencies": { "symbol-observable": { @@ -11225,7 +11200,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -11234,7 +11209,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -11243,8 +11218,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "option-chain": { @@ -11259,12 +11234,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -11291,7 +11266,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-tmpdir": { @@ -11322,7 +11297,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", "requires": { - "p-try": "^2.0.0" + "p-try": "2.0.0" } }, "p-locate": { @@ -11330,7 +11305,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "requires": { - "p-limit": "^2.0.0" + "p-limit": "2.0.0" } }, "p-timeout": { @@ -11339,7 +11314,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "^1.0.0" + "p-finally": "1.0.0" } }, "p-try": { @@ -11353,10 +11328,10 @@ "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "lodash.flattendeep": "^4.4.0", - "md5-hex": "^2.0.0", - "release-zalgo": "^1.0.0" + "graceful-fs": "4.1.11", + "lodash.flattendeep": "4.4.0", + "md5-hex": "2.0.0", + "release-zalgo": "1.0.0" } }, "package-json": { @@ -11365,10 +11340,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" }, "dependencies": { "got": { @@ -11377,17 +11352,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } } } @@ -11398,10 +11373,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" }, "dependencies": { "is-extglob": { @@ -11416,7 +11391,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } } } @@ -11427,7 +11402,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse-ms": { @@ -11495,7 +11470,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "performance-now": { @@ -11521,7 +11496,7 @@ "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", "dev": true, "requires": { - "pinkie": "^1.0.0" + "pinkie": "1.0.0" } }, "pkg-conf": { @@ -11530,8 +11505,8 @@ "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", "dev": true, "requires": { - "find-up": "^2.0.0", - "load-json-file": "^4.0.0" + "find-up": "2.1.0", + "load-json-file": "4.0.0" }, "dependencies": { "find-up": { @@ -11540,7 +11515,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "load-json-file": { @@ -11549,10 +11524,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "locate-path": { @@ -11561,8 +11536,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "p-limit": { @@ -11571,7 +11546,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -11580,7 +11555,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-try": { @@ -11595,8 +11570,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } @@ -11607,7 +11582,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" }, "dependencies": { "find-up": { @@ -11616,7 +11591,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "locate-path": { @@ -11625,8 +11600,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "p-limit": { @@ -11635,7 +11610,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -11644,7 +11619,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-try": { @@ -11661,7 +11636,7 @@ "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", "dev": true, "requires": { - "irregular-plurals": "^1.0.0" + "irregular-plurals": "1.4.0" } }, "pluralize": { @@ -11681,9 +11656,9 @@ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" }, "dependencies": { "source-map": { @@ -11699,11 +11674,11 @@ "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", "requires": { - "define-properties": "^1.1.2", - "empower": "^1.3.0", - "power-assert-formatter": "^1.4.1", - "universal-deep-strict-equal": "^1.2.1", - "xtend": "^4.0.0" + "define-properties": "1.1.2", + "empower": "1.3.0", + "power-assert-formatter": "1.4.1", + "universal-deep-strict-equal": "1.2.2", + "xtend": "4.0.1" } }, "power-assert-context-formatter": { @@ -11711,8 +11686,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", "requires": { - "core-js": "^2.0.0", - "power-assert-context-traversal": "^1.2.0" + "core-js": "2.5.7", + "power-assert-context-traversal": "1.2.0" } }, "power-assert-context-reducer-ast": { @@ -11720,11 +11695,11 @@ "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", "requires": { - "acorn": "^5.0.0", - "acorn-es7-plugin": "^1.0.12", - "core-js": "^2.0.0", - "espurify": "^1.6.0", - "estraverse": "^4.2.0" + "acorn": "5.7.1", + "acorn-es7-plugin": "1.1.7", + "core-js": "2.5.7", + "espurify": "1.8.1", + "estraverse": "4.2.0" } }, "power-assert-context-traversal": { @@ -11732,8 +11707,8 @@ "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", "requires": { - "core-js": "^2.0.0", - "estraverse": "^4.1.0" + "core-js": "2.5.7", + "estraverse": "4.2.0" } }, "power-assert-formatter": { @@ -11741,13 +11716,13 @@ "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", "requires": { - "core-js": "^2.0.0", - "power-assert-context-formatter": "^1.0.7", - "power-assert-context-reducer-ast": "^1.0.7", - "power-assert-renderer-assertion": "^1.0.7", - "power-assert-renderer-comparison": "^1.0.7", - "power-assert-renderer-diagram": "^1.0.7", - "power-assert-renderer-file": "^1.0.7" + "core-js": "2.5.7", + "power-assert-context-formatter": "1.2.0", + "power-assert-context-reducer-ast": "1.2.0", + "power-assert-renderer-assertion": "1.2.0", + "power-assert-renderer-comparison": "1.2.0", + "power-assert-renderer-diagram": "1.2.0", + "power-assert-renderer-file": "1.2.0" } }, "power-assert-renderer-assertion": { @@ -11755,8 +11730,8 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", "requires": { - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0" + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0" } }, "power-assert-renderer-base": { @@ -11769,11 +11744,11 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", "requires": { - "core-js": "^2.0.0", - "diff-match-patch": "^1.0.0", - "power-assert-renderer-base": "^1.1.1", - "stringifier": "^1.3.0", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "diff-match-patch": "1.0.1", + "power-assert-renderer-base": "1.1.1", + "stringifier": "1.3.0", + "type-name": "2.0.2" } }, "power-assert-renderer-diagram": { @@ -11781,10 +11756,10 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", "requires": { - "core-js": "^2.0.0", - "power-assert-renderer-base": "^1.1.1", - "power-assert-util-string-width": "^1.2.0", - "stringifier": "^1.3.0" + "core-js": "2.5.7", + "power-assert-renderer-base": "1.1.1", + "power-assert-util-string-width": "1.2.0", + "stringifier": "1.3.0" } }, "power-assert-renderer-file": { @@ -11792,7 +11767,7 @@ "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", "requires": { - "power-assert-renderer-base": "^1.1.1" + "power-assert-renderer-base": "1.1.1" } }, "power-assert-util-string-width": { @@ -11800,7 +11775,7 @@ "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", "requires": { - "eastasianwidth": "^0.2.0" + "eastasianwidth": "0.2.0" } }, "prelude-ls": { @@ -11833,7 +11808,7 @@ "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", "dev": true, "requires": { - "parse-ms": "^1.0.0" + "parse-ms": "1.0.1" }, "dependencies": { "parse-ms": { @@ -11866,19 +11841,26 @@ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz", "integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==", "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.0", - "@types/node": "^10.1.0", - "long": "^4.0.0" + "@protobufjs/aspromise": "1.1.2", + "@protobufjs/base64": "1.1.2", + "@protobufjs/codegen": "2.0.4", + "@protobufjs/eventemitter": "1.1.0", + "@protobufjs/fetch": "1.1.0", + "@protobufjs/float": "1.0.2", + "@protobufjs/inquire": "1.1.0", + "@protobufjs/path": "1.1.2", + "@protobufjs/pool": "1.1.0", + "@protobufjs/utf8": "1.1.0", + "@types/long": "4.0.0", + "@types/node": "10.5.5", + "long": "4.0.0" + }, + "dependencies": { + "@types/node": { + "version": "10.5.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.5.tgz", + "integrity": "sha512-6Qnb1gXbp3g1JX9QVJj3A6ORzc9XCyhokxUKaoonHgNXcQhmk8adhotxfkeK8El9TnFeUuH72yI6jQ5nDJKS6w==" + } } }, "proxyquire": { @@ -11887,9 +11869,9 @@ "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, "requires": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.0", - "resolve": "~1.1.7" + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" } }, "pseudomap": { @@ -11903,8 +11885,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -11913,9 +11895,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -11936,9 +11918,9 @@ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, "randomatic": { @@ -11947,9 +11929,9 @@ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", "dev": true, "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -11966,10 +11948,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -11986,9 +11968,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" }, "dependencies": { "path-type": { @@ -11997,7 +11979,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "pify": { @@ -12014,8 +11996,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" }, "dependencies": { "find-up": { @@ -12024,7 +12006,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "locate-path": { @@ -12033,8 +12015,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "p-limit": { @@ -12043,7 +12025,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -12052,7 +12034,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-try": { @@ -12068,13 +12050,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -12083,10 +12065,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, "redent": { @@ -12095,8 +12077,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" }, "dependencies": { "indent-string": { @@ -12105,7 +12087,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } } } @@ -12128,7 +12110,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -12136,8 +12118,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexp.prototype.flags": { @@ -12146,7 +12128,7 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "^1.1.2" + "define-properties": "1.1.2" } }, "regexpp": { @@ -12161,9 +12143,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -12172,8 +12154,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.8", + "safe-buffer": "5.1.2" } }, "registry-url": { @@ -12182,7 +12164,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.8" } }, "regjsgen": { @@ -12197,7 +12179,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" } }, "release-zalgo": { @@ -12206,7 +12188,7 @@ "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", "dev": true, "requires": { - "es6-error": "^4.0.1" + "es6-error": "4.1.1" } }, "remove-trailing-separator": { @@ -12231,7 +12213,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -12240,26 +12222,26 @@ "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "dev": true, "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.19", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "require-directory": { @@ -12284,8 +12266,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" }, "dependencies": { "resolve-from": { @@ -12302,7 +12284,7 @@ "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", "dev": true, "requires": { - "underscore": "~1.6.0" + "underscore": "1.6.0" }, "dependencies": { "underscore": { @@ -12325,7 +12307,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -12345,7 +12327,7 @@ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "1.0.1" } }, "restore-cursor": { @@ -12354,8 +12336,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -12373,7 +12355,7 @@ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", "requires": { - "through2": "^2.0.0" + "through2": "2.0.3" } }, "right-align": { @@ -12383,7 +12365,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -12392,7 +12374,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "run-async": { @@ -12401,7 +12383,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rxjs": { @@ -12431,7 +12413,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -12447,21 +12429,21 @@ "dev": true }, "sanitize-html": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.18.2.tgz", - "integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==", + "version": "1.18.4", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.18.4.tgz", + "integrity": "sha512-hjyDYCYrQuhnEjq+5lenLlIfdPBtnZ7z0DkQOC8YGxvkuOInH+1SrkNTj30t4f2/SSv9c5kLniB+uCIpBvYuew==", "dev": true, "requires": { - "chalk": "^2.3.0", - "htmlparser2": "^3.9.0", - "lodash.clonedeep": "^4.5.0", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.mergewith": "^4.6.0", - "postcss": "^6.0.14", - "srcset": "^1.0.0", - "xtend": "^4.0.0" + "chalk": "2.4.1", + "htmlparser2": "3.9.2", + "lodash.clonedeep": "4.5.0", + "lodash.escaperegexp": "4.1.2", + "lodash.isplainobject": "4.0.6", + "lodash.isstring": "4.0.1", + "lodash.mergewith": "4.6.1", + "postcss": "6.0.23", + "srcset": "1.0.0", + "xtend": "4.0.1" } }, "semver": { @@ -12476,7 +12458,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "serialize-error": { @@ -12501,10 +12483,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -12512,7 +12494,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12522,7 +12504,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -12541,14 +12523,14 @@ "integrity": "sha512-NFEts+4D4jp2sBjL94fQpZk5o73kzn/g58+I9Dp15i9vsnT4Lk1UEyUf2jACODWLG6Pz/llF0sArYUw47Aarmg==", "dev": true, "requires": { - "@sinonjs/formatio": "^2.0.0", - "@sinonjs/samsam": "^2.0.0", - "diff": "^3.5.0", - "lodash.get": "^4.4.2", - "lolex": "^2.7.1", - "nise": "^1.4.2", - "supports-color": "^5.4.0", - "type-detect": "^4.0.8" + "@sinonjs/formatio": "2.0.0", + "@sinonjs/samsam": "2.0.0", + "diff": "3.5.0", + "lodash.get": "4.4.2", + "lolex": "2.7.1", + "nise": "1.4.2", + "supports-color": "5.4.0", + "type-detect": "4.0.8" } }, "slash": { @@ -12562,7 +12544,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -12590,14 +12572,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" }, "dependencies": { "define-property": { @@ -12605,7 +12587,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -12613,7 +12595,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12623,9 +12605,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -12633,7 +12615,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -12641,7 +12623,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -12649,7 +12631,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -12657,9 +12639,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -12669,7 +12651,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12677,7 +12659,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12688,7 +12670,7 @@ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "source-map": { @@ -12701,11 +12683,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { @@ -12714,8 +12696,8 @@ "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.1", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -12737,8 +12719,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -12753,8 +12735,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -12769,8 +12751,8 @@ "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", "dev": true, "requires": { - "async": "^2.4.0", - "is-stream-ended": "^0.1.0" + "async": "2.6.1", + "is-stream-ended": "0.1.4" } }, "split-string": { @@ -12778,7 +12760,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -12793,8 +12775,8 @@ "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", "dev": true, "requires": { - "array-uniq": "^1.0.2", - "number-is-nan": "^1.0.0" + "array-uniq": "1.0.3", + "number-is-nan": "1.0.1" } }, "sshpk": { @@ -12803,15 +12785,15 @@ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": true, "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -12825,8 +12807,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -12834,7 +12816,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -12845,7 +12827,7 @@ "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", "dev": true, "requires": { - "stubs": "^3.0.0" + "stubs": "3.0.0" } }, "stream-shift": { @@ -12876,9 +12858,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string.prototype.matchall": { @@ -12887,11 +12869,11 @@ "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.10.0", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "regexp.prototype.flags": "^1.2.0" + "define-properties": "1.1.2", + "es-abstract": "1.12.0", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "regexp.prototype.flags": "1.2.0" } }, "string_decoder": { @@ -12899,7 +12881,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "stringifier": { @@ -12907,9 +12889,9 @@ "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", "requires": { - "core-js": "^2.0.0", - "traverse": "^0.6.6", - "type-name": "^2.0.1" + "core-js": "2.5.7", + "traverse": "0.6.6", + "type-name": "2.0.2" } }, "strip-ansi": { @@ -12917,7 +12899,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -12932,7 +12914,7 @@ "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", "dev": true, "requires": { - "is-utf8": "^0.2.1" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -12946,7 +12928,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -12967,16 +12949,16 @@ "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", "dev": true, "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.1.1", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.0.5" + "component-emitter": "1.2.1", + "cookiejar": "2.1.2", + "debug": "3.1.0", + "extend": "3.0.2", + "form-data": "2.3.2", + "formidable": "1.2.1", + "methods": "1.1.2", + "mime": "1.6.0", + "qs": "6.5.2", + "readable-stream": "2.3.6" }, "dependencies": { "debug": { @@ -13002,11 +12984,11 @@ "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "indent-string": "^3.2.0", - "js-yaml": "^3.10.0", - "serialize-error": "^2.1.0", - "strip-ansi": "^4.0.0" + "arrify": "1.0.1", + "indent-string": "3.2.0", + "js-yaml": "3.12.0", + "serialize-error": "2.1.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -13021,7 +13003,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -13032,7 +13014,7 @@ "integrity": "sha512-O44AMnmJqx294uJQjfUmEyYOg7d9mylNFsMw/Wkz4evKd1njyPrtCN+U6ZIC7sKtfEVQhfTqFFijlXx8KP/Czw==", "dev": true, "requires": { - "methods": "~1.1.2", + "methods": "1.1.2", "superagent": "3.8.2" } }, @@ -13042,7 +13024,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" }, "dependencies": { "has-flag": { @@ -13065,12 +13047,12 @@ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", "dev": true, "requires": { - "ajv": "^6.0.1", - "ajv-keywords": "^3.0.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "6.5.2", + "ajv-keywords": "3.2.0", + "chalk": "2.4.1", + "lodash": "4.17.10", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ajv": { @@ -13079,10 +13061,10 @@ "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "ansi-regex": { @@ -13115,8 +13097,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -13125,7 +13107,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -13142,7 +13124,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "text-encoding": { @@ -13168,8 +13150,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-zone": { @@ -13190,7 +13172,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-fast-properties": { @@ -13204,7 +13186,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -13212,7 +13194,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -13222,10 +13204,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -13233,8 +13215,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "tough-cookie": { @@ -13243,7 +13225,7 @@ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "traverse": { @@ -13275,7 +13257,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -13291,7 +13273,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -13318,9 +13300,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "camelcase": { @@ -13337,8 +13319,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" } }, @@ -13363,9 +13345,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -13412,10 +13394,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -13423,7 +13405,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -13431,10 +13413,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -13445,7 +13427,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "unique-temp-dir": { @@ -13454,8 +13436,8 @@ "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", "dev": true, "requires": { - "mkdirp": "^0.5.1", - "os-tmpdir": "^1.0.1", + "mkdirp": "0.5.1", + "os-tmpdir": "1.0.2", "uid2": "0.0.3" } }, @@ -13464,9 +13446,9 @@ "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", "requires": { - "array-filter": "^1.0.0", + "array-filter": "1.0.0", "indexof": "0.0.1", - "object-keys": "^1.0.0" + "object-keys": "1.0.12" } }, "universalify": { @@ -13480,8 +13462,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -13489,9 +13471,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -13523,16 +13505,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" } }, "uri-js": { @@ -13541,7 +13523,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" }, "dependencies": { "punycode": { @@ -13563,7 +13545,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "url-to-options": { @@ -13600,8 +13582,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -13610,9 +13592,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "well-known-symbols": { @@ -13626,7 +13608,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -13640,7 +13622,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -13661,8 +13643,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -13671,7 +13653,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -13692,8 +13674,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -13707,7 +13689,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -13716,9 +13698,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "write-json-file": { @@ -13727,12 +13709,12 @@ "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", "dev": true, "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "pify": "^3.0.0", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.0.0" + "detect-indent": "5.0.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "pify": "3.0.0", + "sort-keys": "2.0.0", + "write-file-atomic": "2.3.0" }, "dependencies": { "detect-indent": { @@ -13749,8 +13731,8 @@ "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", "dev": true, "requires": { - "sort-keys": "^2.0.0", - "write-json-file": "^2.2.0" + "sort-keys": "2.0.0", + "write-json-file": "2.3.0" } }, "xdg-basedir": { @@ -13790,18 +13772,18 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", "requires": { - "cliui": "^4.0.0", - "decamelize": "^2.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^10.1.0" + "cliui": "4.1.0", + "decamelize": "2.0.0", + "find-up": "3.0.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "10.1.0" }, "dependencies": { "ansi-regex": { @@ -13814,9 +13796,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" } }, "decamelize": { @@ -13837,9 +13819,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "string-width": { @@ -13847,8 +13829,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -13856,7 +13838,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -13866,7 +13848,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 667fac549d2..e3931f22616 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.21.0", + "version": "0.21.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index b41db3c822f..52427678d52 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -12,7 +12,7 @@ "test": "ava -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/vision": "^0.21.0", + "@google-cloud/vision": "^0.21.1", "async": "^2.6.1", "natural": "^0.6.1", "redis": "^2.8.0", From 7c851ae9032db14b424295917cac22dc6c9dfe31 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 7 Aug 2018 14:02:15 -0700 Subject: [PATCH 198/588] chore: ignore package-lock.json (#160) * chore: ignore package-log.json * remove locky * renovateeee --- .../google-cloud-vision/.circleci/config.yml | 17 +- .../.circleci/get_workflow_name.py | 67 - packages/google-cloud-vision/.gitignore | 3 +- .../google-cloud-vision/package-lock.json | 13862 ---------------- 4 files changed, 3 insertions(+), 13946 deletions(-) delete mode 100644 packages/google-cloud-vision/.circleci/get_workflow_name.py delete mode 100644 packages/google-cloud-vision/package-lock.json diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index cf867c5f06d..dd4c80cc6e9 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -59,18 +59,7 @@ jobs: - image: 'node:6' user: node steps: &unit_tests_steps - - checkout - - run: &remove_package_lock - name: Remove package-lock.json if needed. - command: | - WORKFLOW_NAME=`python .circleci/get_workflow_name.py` - echo "Workflow name: $WORKFLOW_NAME" - if [ "$WORKFLOW_NAME" = "nightly" ]; then - echo "Nightly build detected, removing package-lock.json." - rm -f package-lock.json samples/package-lock.json - else - echo "Not a nightly build, skipping this step." - fi + - checkout - run: &npm_install_and_link name: Install and link the module command: |- @@ -97,7 +86,6 @@ jobs: user: node steps: - checkout - - run: *remove_package_lock - run: *npm_install_and_link - run: &samples_npm_install_and_link name: Link the module being tested to the samples. @@ -118,7 +106,6 @@ jobs: user: node steps: - checkout - - run: *remove_package_lock - run: *npm_install_and_link - run: name: Build documentation. @@ -129,7 +116,6 @@ jobs: user: node steps: - checkout - - run: *remove_package_lock - run: name: Decrypt credentials. command: | @@ -156,7 +142,6 @@ jobs: user: node steps: - checkout - - run: *remove_package_lock - run: name: Decrypt credentials. command: | diff --git a/packages/google-cloud-vision/.circleci/get_workflow_name.py b/packages/google-cloud-vision/.circleci/get_workflow_name.py deleted file mode 100644 index ff6b58fd24f..00000000000 --- a/packages/google-cloud-vision/.circleci/get_workflow_name.py +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 2018 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. - -""" -Get workflow name for the current build using CircleCI API. -Would be great if this information is available in one of -CircleCI environment variables, but it's not there. -https://circleci.ideas.aha.io/ideas/CCI-I-295 -""" - -import json -import os -import sys -import urllib2 - - -def main(): - try: - username = os.environ['CIRCLE_PROJECT_USERNAME'] - reponame = os.environ['CIRCLE_PROJECT_REPONAME'] - build_num = os.environ['CIRCLE_BUILD_NUM'] - except: - sys.stderr.write( - 'Looks like we are not inside CircleCI container. Exiting...\n') - return 1 - - try: - request = urllib2.Request( - "https://circleci.com/api/v1.1/project/github/%s/%s/%s" % - (username, reponame, build_num), - headers={"Accept": "application/json"}) - contents = urllib2.urlopen(request).read() - except: - sys.stderr.write('Cannot query CircleCI API. Exiting...\n') - return 1 - - try: - build_info = json.loads(contents) - except: - sys.stderr.write( - 'Cannot parse JSON received from CircleCI API. Exiting...\n') - return 1 - - try: - workflow_name = build_info['workflows']['workflow_name'] - except: - sys.stderr.write( - 'Cannot get workflow name from CircleCI build info. Exiting...\n') - return 1 - - print workflow_name - return 0 - - -retval = main() -exit(retval) diff --git a/packages/google-cloud-vision/.gitignore b/packages/google-cloud-vision/.gitignore index 082cf01ed78..531c77e628b 100644 --- a/packages/google-cloud-vision/.gitignore +++ b/packages/google-cloud-vision/.gitignore @@ -10,4 +10,5 @@ system-test/*key.json *.lock .DS_Store google-cloud-logging-winston-*.tgz -google-cloud-logging-bunyan-*.tgz \ No newline at end of file +google-cloud-logging-bunyan-*.tgz +package-lock.json diff --git a/packages/google-cloud-vision/package-lock.json b/packages/google-cloud-vision/package-lock.json deleted file mode 100644 index acecab3f67b..00000000000 --- a/packages/google-cloud-vision/package-lock.json +++ /dev/null @@ -1,13862 +0,0 @@ -{ - "name": "@google-cloud/vision", - "version": "0.21.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@ava/babel-plugin-throws-helper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz", - "integrity": "sha1-L8H+PCEacQcaTsp7j3r1hCzRrnw=", - "dev": true - }, - "@ava/babel-preset-stage-4": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.1.0.tgz", - "integrity": "sha512-oWqTnIGXW3k72UFidXzW0ONlO7hnO9x02S/QReJ7NBGeiBH9cUHY9+EfV6C8PXC6YJH++WrliEq03wMSJGNZFg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "package-hash": "1.2.0" - }, - "dependencies": { - "md5-hex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "package-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-1.2.0.tgz", - "integrity": "sha1-AD5WzVe3NqbtYRTMK4FUJnJ3DkQ=", - "dev": true, - "requires": { - "md5-hex": "1.3.0" - } - } - } - }, - "@ava/babel-preset-transform-test-files": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@ava/babel-preset-transform-test-files/-/babel-preset-transform-test-files-3.0.0.tgz", - "integrity": "sha1-ze0RlqjY2TgaUJJAq5LpGl7Aafc=", - "dev": true, - "requires": { - "@ava/babel-plugin-throws-helper": "2.0.0", - "babel-plugin-espower": "2.4.0" - } - }, - "@ava/write-file-atomic": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ava/write-file-atomic/-/write-file-atomic-2.2.0.tgz", - "integrity": "sha512-BTNB3nGbEfJT+69wuqXFr/bQH7Vr7ihx2xGOMNqPgDGhwspoZhiWumDDZNjBy7AScmqS5CELIOGtPVXESyrnDA==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - }, - "@babel/code-frame": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz", - "integrity": "sha1-vXHZsZKvl435FYKdOdQJRFZDmgw=", - "dev": true, - "requires": { - "@babel/highlight": "7.0.0-beta.51" - } - }, - "@babel/generator": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.51.tgz", - "integrity": "sha1-bHV1/952HQdIXgS67cA5LG2eMPY=", - "dev": true, - "requires": { - "@babel/types": "7.0.0-beta.51", - "jsesc": "2.5.1", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", - "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.51.tgz", - "integrity": "sha1-IbSHSiJ8+Z7K/MMKkDAtpaJkBWE=", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "7.0.0-beta.51", - "@babel/template": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.51.tgz", - "integrity": "sha1-MoGy0EWvlcFyzpGyCCXYXqRnZBE=", - "dev": true, - "requires": { - "@babel/types": "7.0.0-beta.51" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.51.tgz", - "integrity": "sha1-imw/ZsTSZTUvwHdIT59ugKUauXg=", - "dev": true, - "requires": { - "@babel/types": "7.0.0-beta.51" - } - }, - "@babel/highlight": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.51.tgz", - "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", - "dev": true, - "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "@babel/parser": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.51.tgz", - "integrity": "sha1-J87C30Cd9gr1gnDtj2qlVAnqhvY=", - "dev": true - }, - "@babel/template": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.51.tgz", - "integrity": "sha1-lgKkCuvPNXrpZ34lMu9fyBD1+/8=", - "dev": true, - "requires": { - "@babel/code-frame": "7.0.0-beta.51", - "@babel/parser": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51", - "lodash": "4.17.10" - } - }, - "@babel/traverse": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.51.tgz", - "integrity": "sha1-mB2vLOw0emIx06odnhgDsDqqpKg=", - "dev": true, - "requires": { - "@babel/code-frame": "7.0.0-beta.51", - "@babel/generator": "7.0.0-beta.51", - "@babel/helper-function-name": "7.0.0-beta.51", - "@babel/helper-split-export-declaration": "7.0.0-beta.51", - "@babel/parser": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51", - "debug": "3.1.0", - "globals": "11.7.0", - "invariant": "2.2.4", - "lodash": "4.17.10" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.51.tgz", - "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", - "dev": true, - "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" - }, - "dependencies": { - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } - } - }, - "@concordance/react": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@concordance/react/-/react-1.0.0.tgz", - "integrity": "sha512-htrsRaQX8Iixlsek8zQU7tE8wcsTQJ5UhZkSPEA8slCDAisKpC/2VgU/ucPn32M5/LjGGXRaUEKvEw1Wiuu4zQ==", - "dev": true, - "requires": { - "arrify": "1.0.1" - } - }, - "@google-cloud/common": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz", - "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==", - "dev": true, - "requires": { - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "ent": "2.2.0", - "extend": "3.0.2", - "google-auto-auth": "0.10.1", - "is": "3.2.1", - "log-driver": "1.2.7", - "methmeth": "1.1.0", - "modelo": "4.2.3", - "request": "2.87.0", - "retry-request": "3.3.2", - "split-array-stream": "1.0.3", - "stream-events": "1.0.4", - "string-format-obj": "1.1.1", - "through2": "2.0.3" - }, - "dependencies": { - "retry-request": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz", - "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==", - "dev": true, - "requires": { - "request": "2.87.0", - "through2": "2.0.3" - } - } - } - }, - "@google-cloud/nodejs-repo-tools": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@google-cloud/nodejs-repo-tools/-/nodejs-repo-tools-2.3.3.tgz", - "integrity": "sha512-aow6Os43uhdgshSe/fr43ESHNl/kHhikim9AOqIMUzEb6mip6H4d8GFKgpO/yoqUUTIhCN3sbpkKktMI5mOQHw==", - "dev": true, - "requires": { - "ava": "0.25.0", - "colors": "1.1.2", - "fs-extra": "5.0.0", - "got": "8.3.0", - "handlebars": "4.0.11", - "lodash": "4.17.5", - "nyc": "11.7.2", - "proxyquire": "1.8.0", - "semver": "5.5.0", - "sinon": "6.0.1", - "string": "3.3.3", - "supertest": "3.1.0", - "yargs": "11.0.0", - "yargs-parser": "10.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - } - }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - }, - "nyc": { - "version": "11.7.2", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.7.2.tgz", - "integrity": "sha512-gBt7qwsR1vryYfglVjQRx1D+AtMZW5NbUKxb+lZe8SN8KsheGCPGWEsSC9AGQG+r2+te1+10uPHUCahuqm1nGQ==", - "dev": true, - "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.3", - "istanbul-reports": "1.4.0", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", - "yargs": "11.1.0", - "yargs-parser": "8.1.0" - }, - "dependencies": { - "align-text": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, - "amdefine": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "append-transform": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "requires": { - "default-require-extensions": "1.0.0" - } - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "arrify": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "async": { - "version": "1.5.2", - "bundled": true, - "dev": true - }, - "atob": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-generator": { - "version": "6.26.1", - "bundled": true, - "dev": true, - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "bundled": true, - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "core-js": "2.5.6", - "regenerator-runtime": "0.11.1" - } - }, - "babel-template": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" - } - }, - "babel-traverse": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" - } - }, - "babel-types": { - "version": "6.26.0", - "bundled": true, - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "bundled": true, - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "base": { - "version": "0.11.2", - "bundled": true, - "dev": true, - "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "builtin-modules": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" - } - }, - "caching-transform": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" - } - }, - "camelcase": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true - }, - "center-align": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "chalk": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "class-utils": { - "version": "0.3.6", - "bundled": true, - "dev": true, - "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - } - } - }, - "cliui": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" - } - }, - "commondir": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "convert-source-map": { - "version": "1.5.1", - "bundled": true, - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "core-js": { - "version": "2.5.6", - "bundled": true, - "dev": true - }, - "cross-spawn": { - "version": "4.0.2", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "4.1.3", - "which": "1.3.0" - } - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "debug-log": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "default-require-extensions": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "strip-bom": "2.0.0" - } - }, - "define-property": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "detect-indent": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "error-ex": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "esutils": { - "version": "2.0.2", - "bundled": true, - "dev": true - }, - "execa": { - "version": "0.7.0", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "fill-range": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "find-cache-dir": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "for-in": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "foreground-child": { - "version": "1.5.6", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" - } - }, - "fragment-cache": { - "version": "0.2.1", - "bundled": true, - "dev": true, - "requires": { - "map-cache": "0.2.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "get-caller-file": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "get-value": { - "version": "2.0.6", - "bundled": true, - "dev": true - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "globals": { - "version": "9.18.0", - "bundled": true, - "dev": true - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "handlebars": { - "version": "4.0.11", - "bundled": true, - "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "bundled": true, - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-flag": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "has-value": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" - } - }, - "has-values": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "hosted-git-info": { - "version": "2.6.0", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "invariant": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "loose-envify": "1.3.1" - } - }, - "invert-kv": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-arrayish": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "bundled": true, - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "is-number": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-odd": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-number": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "bundled": true, - "dev": true - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "isobject": "3.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "istanbul-lib-coverage": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "append-transform": "0.4.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.10.1", - "bundled": true, - "dev": true, - "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" - } - }, - "istanbul-lib-report": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" - }, - "dependencies": { - "supports-color": { - "version": "3.2.3", - "bundled": true, - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.3", - "bundled": true, - "dev": true, - "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "istanbul-reports": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "handlebars": "4.0.11" - } - }, - "js-tokens": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "jsesc": { - "version": "1.3.0", - "bundled": true, - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - }, - "lazy-cache": { - "version": "1.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "lcid": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "invert-kv": "1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "lodash": { - "version": "4.17.10", - "bundled": true, - "dev": true - }, - "longest": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - }, - "lru-cache": { - "version": "4.1.3", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "map-cache": { - "version": "0.2.2", - "bundled": true, - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "object-visit": "1.0.1" - } - }, - "md5-hex": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "md5-o-matic": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "mem": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "mimic-fn": "1.2.0" - } - }, - "merge-source-map": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "bundled": true, - "dev": true - } - } - }, - "micromatch": { - "version": "3.1.10", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "mimic-fn": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "nanomatch": { - "version": "1.2.9", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "normalize-package-data": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" - } - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "path-key": "2.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "isobject": "3.0.1" - } - }, - "object.pick": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "isobject": "3.0.1" - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "optimist": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "p-limit": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "p-try": "1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-limit": "1.2.0" - } - }, - "p-try": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "parse-json": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - }, - "pascalcase": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "path-key": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "path-type": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "bundled": true, - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "bundled": true, - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "pkg-dir": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "find-up": "1.1.2" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - } - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "bundled": true, - "dev": true - }, - "regex-not": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" - } - }, - "repeat-element": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "bundled": true, - "dev": true - }, - "repeating": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-finite": "1.0.2" - } - }, - "require-directory": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "resolve-from": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "ret": { - "version": "0.1.15", - "bundled": true, - "dev": true - }, - "right-align": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-regex": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "ret": "0.1.15" - } - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "set-value": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "source-map": { - "version": "0.5.7", - "bundled": true, - "dev": true - }, - "source-map-resolve": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "bundled": true, - "dev": true - }, - "spawn-wrap": { - "version": "1.4.2", - "bundled": true, - "dev": true, - "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.0" - } - }, - "spdx-correct": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "split-string": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "3.0.2" - } - }, - "static-extend": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - } - } - }, - "string-width": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "test-exclude": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" - } - }, - "to-fast-properties": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "to-regex": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" - } - }, - "trim-right": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "union-value": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "set-value": { - "version": "0.4.3", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" - } - } - } - }, - "unset-value": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "bundled": true, - "dev": true, - "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "bundled": true, - "dev": true - } - } - }, - "urix": { - "version": "0.1.0", - "bundled": true, - "dev": true - }, - "use": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "validate-npm-package-license": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" - } - }, - "which": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "window-size": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "0.0.3", - "bundled": true, - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - }, - "y18n": { - "version": "3.2.1", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true, - "dev": true - }, - "yargs": { - "version": "11.1.0", - "bundled": true, - "dev": true, - "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "cliui": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, - "yargs-parser": { - "version": "9.0.2", - "bundled": true, - "dev": true, - "requires": { - "camelcase": "4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "8.1.0", - "bundled": true, - "dev": true, - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.3.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "sinon": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.0.1.tgz", - "integrity": "sha512-rfszhNcfamK2+ofIPi9XqeH89pH7KGDcAtM+F9CsjHXOK3jzWG99vyhyD2V+r7s4IipmWcWUFYq4ftZ9/Eu2Wg==", - "dev": true, - "requires": { - "@sinonjs/formatio": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.1", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, - "yargs": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", - "dev": true, - "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" - }, - "dependencies": { - "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - } - } - } - } - } - }, - "@google-cloud/promisify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-0.3.0.tgz", - "integrity": "sha512-5xfpwK9iIAwZrKtG+SnEKZkgnce9Hsew1dkeYNyP/slAxTIdS9wjSUJ5Waq/dfsYphkHSGyH6F9lwqJlD5Zsyw==" - }, - "@google-cloud/storage": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.7.0.tgz", - "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==", - "dev": true, - "requires": { - "@google-cloud/common": "0.17.0", - "arrify": "1.0.1", - "async": "2.6.1", - "compressible": "2.0.14", - "concat-stream": "1.6.2", - "create-error-class": "3.0.2", - "duplexify": "3.6.0", - "extend": "3.0.2", - "gcs-resumable-upload": "0.10.2", - "hash-stream-validation": "0.2.1", - "is": "3.2.1", - "mime": "2.3.1", - "mime-types": "2.1.19", - "once": "1.4.0", - "pumpify": "1.5.1", - "request": "2.87.0", - "safe-buffer": "5.1.2", - "snakeize": "0.1.0", - "stream-events": "1.0.4", - "through2": "2.0.3", - "xdg-basedir": "3.0.0" - } - }, - "@grpc/proto-loader": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.3.0.tgz", - "integrity": "sha512-9b8S/V+3W4Gv7G/JKSZ48zApgyYbfIR7mAC9XNnaSWme3zj57MIESu0ELzm9j5oxNIpFG8DgO00iJMIUZ5luqw==", - "requires": { - "@types/lodash": "4.14.115", - "@types/node": "9.6.25", - "lodash": "4.17.10", - "protobufjs": "6.8.8" - } - }, - "@ladjs/time-require": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@ladjs/time-require/-/time-require-0.1.4.tgz", - "integrity": "sha512-weIbJqTMfQ4r1YX85u54DKfjLZs2jwn1XZ6tIOP/pFgMwhIN5BAtaCp/1wn9DzyLsDR9tW0R2NIePcVJ45ivQQ==", - "dev": true, - "requires": { - "chalk": "0.4.0", - "date-time": "0.1.1", - "pretty-ms": "0.2.2", - "text-table": "0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", - "dev": true - }, - "chalk": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", - "dev": true, - "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" - } - }, - "pretty-ms": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-0.2.2.tgz", - "integrity": "sha1-2oeaaC/zOjcBEEbxPWJ/Z8c7hPY=", - "dev": true, - "requires": { - "parse-ms": "0.1.2" - } - }, - "strip-ansi": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", - "dev": true - } - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "requires": { - "call-me-maybe": "1.0.1", - "glob-to-regexp": "0.3.0" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz", - "integrity": "sha512-LAQ1d4OPfSJ/BMbI2DuizmYrrkD9JMaTdi2hQTlI53lQ4kRQPyZQRS4CYQ7O66bnBBnP/oYdRxbk++X0xuFU6A==" - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", - "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/inquire": "1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true - }, - "@sinonjs/formatio": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", - "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==", - "dev": true, - "requires": { - "samsam": "1.3.0" - } - }, - "@sinonjs/samsam": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.0.0.tgz", - "integrity": "sha512-D7VxhADdZbDJ0HjUTMnSQ5xIGb4H2yWpg8k9Sf1T08zfFiQYlaxM8LZydpR4FQ2E6LZJX8IlabNZ5io4vdChwg==", - "dev": true - }, - "@types/lodash": { - "version": "4.14.115", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.115.tgz", - "integrity": "sha512-9K/P4XMQxk61omAzQh3bbbFiqnG17eLcFysjlAYz0aPcYrVo8T+ujaCeIeY0Gpzux7x1YbxtEtLKB7ZWf79qdg==" - }, - "@types/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", - "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" - }, - "@types/node": { - "version": "9.6.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.25.tgz", - "integrity": "sha512-uZpzO9MKSHy7zBiTtziA3JgZP3upcAvLTASkKgheLj6/rNZmRX4UyvsFYaY2kbYcmmh8bNZ2T0eocBRCfZdGvQ==" - }, - "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==" - }, - "acorn-es7-plugin": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz", - "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=" - }, - "acorn-jsx": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", - "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", - "dev": true, - "requires": { - "acorn": "5.7.1" - } - }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, - "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", - "dev": true, - "requires": { - "string-width": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "ansi-escapes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.2" - } - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - } - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "1.0.3" - } - }, - "argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", - "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-exclude": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/arr-exclude/-/arr-exclude-1.0.0.tgz", - "integrity": "sha1-38fC5VKicHI8zaBM8xKMjL/lxjE=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" - }, - "array-find": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", - "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "1.0.3" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "ascli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", - "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", - "requires": { - "colour": "0.7.1", - "optjs": "3.2.2" - } - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "2.1.2" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, - "requires": { - "lodash": "4.17.10" - } - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" - }, - "auto-bind": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.2.1.tgz", - "integrity": "sha512-/W9yj1yKmBLwpexwAujeD9YHwYmRuWFGV8HWE7smQab797VeHa4/cnE2NFeDhA+E+5e/OGBI8763EhLjfZ/MXA==", - "dev": true - }, - "ava": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ava/-/ava-0.25.0.tgz", - "integrity": "sha512-4lGNJCf6xL8SvsKVEKxEE46se7JAUIAZoKHw9itTQuwcsydhpAMkBs5gOOiWiwt0JKNIuXWc2/r4r8ZdcNrBEw==", - "dev": true, - "requires": { - "@ava/babel-preset-stage-4": "1.1.0", - "@ava/babel-preset-transform-test-files": "3.0.0", - "@ava/write-file-atomic": "2.2.0", - "@concordance/react": "1.0.0", - "@ladjs/time-require": "0.1.4", - "ansi-escapes": "3.1.0", - "ansi-styles": "3.2.1", - "arr-flatten": "1.1.0", - "array-union": "1.0.2", - "array-uniq": "1.0.3", - "arrify": "1.0.1", - "auto-bind": "1.2.1", - "ava-init": "0.2.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "bluebird": "3.5.1", - "caching-transform": "1.0.1", - "chalk": "2.4.1", - "chokidar": "1.7.0", - "clean-stack": "1.3.0", - "clean-yaml-object": "0.1.0", - "cli-cursor": "2.1.0", - "cli-spinners": "1.3.1", - "cli-truncate": "1.1.0", - "co-with-promise": "4.6.0", - "code-excerpt": "2.1.1", - "common-path-prefix": "1.0.0", - "concordance": "3.0.0", - "convert-source-map": "1.5.1", - "core-assert": "0.2.1", - "currently-unhandled": "0.4.1", - "debug": "3.1.0", - "dot-prop": "4.2.0", - "empower-core": "0.6.2", - "equal-length": "1.0.1", - "figures": "2.0.0", - "find-cache-dir": "1.0.0", - "fn-name": "2.0.1", - "get-port": "3.2.0", - "globby": "6.1.0", - "has-flag": "2.0.0", - "hullabaloo-config-manager": "1.1.1", - "ignore-by-default": "1.0.1", - "import-local": "0.1.1", - "indent-string": "3.2.0", - "is-ci": "1.1.0", - "is-generator-fn": "1.0.0", - "is-obj": "1.0.1", - "is-observable": "1.1.0", - "is-promise": "2.1.0", - "last-line-stream": "1.0.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.debounce": "4.0.8", - "lodash.difference": "4.5.0", - "lodash.flatten": "4.4.0", - "loud-rejection": "1.6.0", - "make-dir": "1.3.0", - "matcher": "1.1.1", - "md5-hex": "2.0.0", - "meow": "3.7.0", - "ms": "2.0.0", - "multimatch": "2.1.0", - "observable-to-promise": "0.5.0", - "option-chain": "1.0.0", - "package-hash": "2.0.0", - "pkg-conf": "2.1.0", - "plur": "2.1.2", - "pretty-ms": "3.2.0", - "require-precompiled": "0.1.0", - "resolve-cwd": "2.0.0", - "safe-buffer": "5.1.2", - "semver": "5.5.0", - "slash": "1.0.0", - "source-map-support": "0.5.6", - "stack-utils": "1.0.1", - "strip-ansi": "4.0.0", - "strip-bom-buf": "1.0.0", - "supertap": "1.0.0", - "supports-color": "5.4.0", - "trim-off-newlines": "1.0.1", - "unique-temp-dir": "1.0.0", - "update-notifier": "2.5.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "empower-core": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-0.6.2.tgz", - "integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=", - "dev": true, - "requires": { - "call-signature": "0.0.2", - "core-js": "2.5.7" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "ava-init": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ava-init/-/ava-init-0.2.1.tgz", - "integrity": "sha512-lXwK5LM+2g1euDRqW1mcSX/tqzY1QU7EjKpqayFPPtNRmbSYZ8RzPO5tqluTToijmtjp2M+pNpVdbcHssC4glg==", - "dev": true, - "requires": { - "arr-exclude": "1.0.0", - "execa": "0.7.0", - "has-yarn": "1.0.0", - "read-pkg-up": "2.0.0", - "write-pkg": "3.2.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", - "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", - "dev": true - }, - "axios": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", - "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", - "requires": { - "follow-redirects": "1.5.2", - "is-buffer": "1.1.6" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - } - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dev": true, - "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true, - "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-espower": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-espower/-/babel-plugin-espower-2.4.0.tgz", - "integrity": "sha512-/+SRpy7pKgTI28oEHfn1wkuM5QFAdRq8WNsOOih1dVrdV6A/WbNbRZyl0eX5eyDgtb0lOE27PeDFuCX2j8OxVg==", - "dev": true, - "requires": { - "babel-generator": "6.26.1", - "babylon": "6.18.0", - "call-matcher": "1.0.1", - "core-js": "2.5.7", - "espower-location-detector": "1.0.0", - "espurify": "1.8.1", - "estraverse": "4.2.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true, - "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true, - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true, - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" - }, - "dependencies": { - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "0.5.7" - } - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "1.0.2" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - } - } - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true - }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", - "dev": true - }, - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "buf-compare": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", - "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=", - "dev": true - }, - "buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "bytebuffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", - "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", - "requires": { - "long": "3.2.0" - }, - "dependencies": { - "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" - } - }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "dev": true, - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true - } - } - }, - "caching-transform": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", - "dev": true, - "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" - }, - "dependencies": { - "md5-hex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - } - } - }, - "call-matcher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.0.1.tgz", - "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", - "dev": true, - "requires": { - "core-js": "2.5.7", - "deep-equal": "1.0.1", - "espurify": "1.8.1", - "estraverse": "4.2.0" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "call-signature": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", - "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=" - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "requires": { - "callsites": "0.2.0" - } - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - } - }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "catharsis": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", - "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", - "dev": true, - "requires": { - "underscore-contrib": "0.3.0" - } - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.2.4", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "ci-info": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", - "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", - "dev": true - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - } - } - }, - "clean-stack": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", - "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=", - "dev": true - }, - "clean-yaml-object": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", - "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", - "dev": true - }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "2.0.0" - } - }, - "cli-spinners": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", - "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", - "dev": true - }, - "cli-truncate": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", - "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", - "dev": true, - "requires": { - "slice-ansi": "1.0.0", - "string-width": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "1.0.1" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "co-with-promise": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co-with-promise/-/co-with-promise-4.6.0.tgz", - "integrity": "sha1-QT59tvWJOmC5Qs9JLEvsk9tBWrc=", - "dev": true, - "requires": { - "pinkie-promise": "1.0.0" - } - }, - "code-excerpt": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-2.1.1.tgz", - "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", - "dev": true, - "requires": { - "convert-to-spaces": "1.0.2" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "codecov": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.4.tgz", - "integrity": "sha512-KJyzHdg9B8U9LxXa7hS6jnEW5b1cNckLYc2YpnJ1nEFiOW+/iSzDHp+5MYEIQd9fN3/tC6WmGZmYiwxzkuGp/A==", - "dev": true, - "requires": { - "argv": "0.0.2", - "ignore-walk": "3.0.1", - "request": "2.87.0", - "urlgrey": "0.4.4" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" - } - }, - "color-convert": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", - "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", - "dev": true, - "requires": { - "color-name": "1.1.1" - } - }, - "color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", - "dev": true - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "colour": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", - "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" - }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - }, - "common-path-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-1.0.0.tgz", - "integrity": "sha1-zVL28HEuC6q5fW+XModPIvR3UsA=", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "compressible": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", - "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", - "dev": true, - "requires": { - "mime-db": "1.35.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" - } - }, - "concordance": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/concordance/-/concordance-3.0.0.tgz", - "integrity": "sha512-CZBzJ3/l5QJjlZM20WY7+5GP5pMTw+1UEbThcpMw8/rojsi5sBCiD8ZbBLtD+jYpRGAkwuKuqk108c154V9eyQ==", - "dev": true, - "requires": { - "date-time": "2.1.0", - "esutils": "2.0.2", - "fast-diff": "1.1.2", - "function-name-support": "0.2.0", - "js-string-escape": "1.0.1", - "lodash.clonedeep": "4.5.0", - "lodash.flattendeep": "4.4.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "semver": "5.5.0", - "well-known-symbols": "1.0.0" - }, - "dependencies": { - "date-time": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz", - "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", - "dev": true, - "requires": { - "time-zone": "1.0.0" - } - } - } - }, - "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", - "dev": true, - "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" - } - }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true - }, - "convert-to-spaces": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", - "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=", - "dev": true - }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-assert": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", - "integrity": "sha1-+F4s+b/tKPdzzIs/pcW2m9wC/j8=", - "dev": true, - "requires": { - "buf-compare": "1.0.1", - "is-error": "2.2.1" - } - }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, - "requires": { - "capture-stack-trace": "1.0.0" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" - } - }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", - "dev": true - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "1.0.2" - } - }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "0.10.45" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "date-time": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-0.1.1.tgz", - "integrity": "sha1-7S9tk9l5DOL9ZtW1/z7dW7y/Owc=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "1.0.1" - } - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - } - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" - }, - "dependencies": { - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diff-match-patch": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.1.tgz", - "integrity": "sha512-A0QEhr4PxGUMEtKxd6X+JLnOTFd3BfIPSDpsc4dMvj+CbSaErDwTpoTo/nFJDMSrjxLW4BiNq+FbNisAAHhWeQ==" - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "2.0.2" - } - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - } - } - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", - "dev": true, - "requires": { - "is-obj": "1.0.1" - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", - "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" - } - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" - } - }, - "ecdsa-sig-formatter": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz", - "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "empower": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz", - "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==", - "requires": { - "core-js": "2.5.7", - "empower-core": "1.2.0" - } - }, - "empower-assert": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/empower-assert/-/empower-assert-1.1.0.tgz", - "integrity": "sha512-Ylck0Q6p8y/LpNzYeBccaxAPm2ZyuqBgErgZpO9KT0HuQWF0sJckBKCLmgS1/DEXEiyBi9XtYh3clZm5cAdARw==", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "empower-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-1.2.0.tgz", - "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", - "requires": { - "call-signature": "0.0.2", - "core-js": "2.5.7" - } - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "1.4.0" - } - }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - }, - "equal-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/equal-length/-/equal-length-1.0.1.tgz", - "integrity": "sha1-IcoRLUirJLTh5//A5TOdMf38J0w=", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "es-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", - "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", - "dev": true, - "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.4", - "is-regex": "1.0.4" - } - }, - "es-to-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", - "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true, - "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" - } - }, - "es5-ext": { - "version": "0.10.45", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", - "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", - "dev": true, - "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-symbol": "3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" - } - }, - "escallmatch": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/escallmatch/-/escallmatch-1.5.0.tgz", - "integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=", - "dev": true, - "requires": { - "call-matcher": "1.0.1", - "esprima": "2.7.3" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - } - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escodegen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", - "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", - "dev": true, - "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - } - }, - "eslint": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.2.0.tgz", - "integrity": "sha512-zlggW1qp7/TBjwLfouRoY7eWXrXwJZFqCdIxxh0/LVB/QuuKuIMkzyUZEcDo6LBadsry5JcEMxIqd3H/66CXVg==", - "dev": true, - "requires": { - "ajv": "6.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "4.0.0", - "eslint-utils": "1.3.1", - "eslint-visitor-keys": "1.0.0", - "espree": "4.0.0", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.7.0", - "ignore": "4.0.3", - "imurmurhash": "0.1.4", - "inquirer": "5.2.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "string.prototype.matchall": "2.0.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.3", - "text-table": "0.2.0" - }, - "dependencies": { - "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", - "dev": true, - "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.1" - } - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", - "dev": true - }, - "ignore": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.3.tgz", - "integrity": "sha512-Z/vAH2GGIEATQnBVXMclE2IGV6i0GyVngKThcGZ5kHgHMxLo9Ow2+XHRq1aEKEej5vOF1TPJNbvX6J/anT0M7A==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "eslint-config-prettier": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz", - "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", - "dev": true, - "requires": { - "get-stdin": "5.0.1" - }, - "dependencies": { - "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", - "dev": true - } - } - }, - "eslint-plugin-es": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.3.1.tgz", - "integrity": "sha512-9XcVyZiQRVeFjqHw8qHNDAZcQLqaHlOGGpeYqzYh8S4JYCWTCO3yzyen8yVmA5PratfzTRWDwCOFphtDEG+w/w==", - "dev": true, - "requires": { - "eslint-utils": "1.3.1", - "regexpp": "2.0.0" - }, - "dependencies": { - "regexpp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", - "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==", - "dev": true - } - } - }, - "eslint-plugin-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", - "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", - "dev": true, - "requires": { - "eslint-plugin-es": "1.3.1", - "eslint-utils": "1.3.1", - "ignore": "4.0.3", - "minimatch": "3.0.4", - "resolve": "1.8.1", - "semver": "5.5.0" - }, - "dependencies": { - "ignore": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.3.tgz", - "integrity": "sha512-Z/vAH2GGIEATQnBVXMclE2IGV6i0GyVngKThcGZ5kHgHMxLo9Ow2+XHRq1aEKEej5vOF1TPJNbvX6J/anT0M7A==", - "dev": true - }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - } - } - }, - "eslint-plugin-prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz", - "integrity": "sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==", - "dev": true, - "requires": { - "fast-diff": "1.1.2", - "jest-docblock": "21.2.0" - } - }, - "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", - "dev": true, - "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - } - }, - "eslint-utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", - "dev": true - }, - "espower": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/espower/-/espower-2.1.1.tgz", - "integrity": "sha512-F4TY1qYJB1aUyzB03NsZksZzUQmQoEBaTUjRJGR30GxbkbjKI41NhCyYjrF+bGgWN7x/ZsczYppRpz/0WdI0ug==", - "dev": true, - "requires": { - "array-find": "1.0.0", - "escallmatch": "1.5.0", - "escodegen": "1.11.0", - "escope": "3.6.0", - "espower-location-detector": "1.0.0", - "espurify": "1.8.1", - "estraverse": "4.2.0", - "source-map": "0.5.7", - "type-name": "2.0.2", - "xtend": "4.0.1" - } - }, - "espower-loader": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/espower-loader/-/espower-loader-1.2.2.tgz", - "integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=", - "dev": true, - "requires": { - "convert-source-map": "1.5.1", - "espower-source": "2.3.0", - "minimatch": "3.0.4", - "source-map-support": "0.4.18", - "xtend": "4.0.1" - }, - "dependencies": { - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "0.5.7" - } - } - } - }, - "espower-location-detector": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/espower-location-detector/-/espower-location-detector-1.0.0.tgz", - "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", - "dev": true, - "requires": { - "is-url": "1.2.4", - "path-is-absolute": "1.0.1", - "source-map": "0.5.7", - "xtend": "4.0.1" - } - }, - "espower-source": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/espower-source/-/espower-source-2.3.0.tgz", - "integrity": "sha512-Wc4kC4zUAEV7Qt31JRPoBUc5jjowHRylml2L2VaDQ1XEbnqQofGWx+gPR03TZAPokAMl5dqyL36h3ITyMXy3iA==", - "dev": true, - "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "convert-source-map": "1.5.1", - "empower-assert": "1.1.0", - "escodegen": "1.11.0", - "espower": "2.1.1", - "estraverse": "4.2.0", - "merge-estraverse-visitors": "1.0.0", - "multi-stage-sourcemap": "0.2.1", - "path-is-absolute": "1.0.1", - "xtend": "4.0.1" - } - }, - "espree": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", - "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", - "dev": true, - "requires": { - "acorn": "5.7.1", - "acorn-jsx": "4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "espurify": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", - "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", - "requires": { - "core-js": "2.5.7" - } - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.4" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.0.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "fast-diff": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", - "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==", - "dev": true - }, - "fast-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", - "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", - "requires": { - "@mrmlnc/readdir-enhanced": "2.2.1", - "@nodelib/fs.stat": "1.1.0", - "glob-parent": "3.1.0", - "is-glob": "4.0.0", - "merge2": "1.2.2", - "micromatch": "3.1.10" - } - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", - "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", - "dev": true, - "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "3.0.0" - } - }, - "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", - "dev": true, - "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" - } - }, - "fn-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", - "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", - "dev": true - }, - "follow-redirects": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", - "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", - "requires": { - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.19" - } - }, - "formidable": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", - "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" - } - }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, - "optional": true, - "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "2.2.4" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": "2.1.2" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "2.2.4" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "function-name-support": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/function-name-support/-/function-name-support-0.2.0.tgz", - "integrity": "sha1-VdO/qm6v1QWlD5vIH99XVkoLsHE=", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gcp-metadata": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", - "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", - "requires": { - "axios": "0.18.0", - "extend": "3.0.2", - "retry-axios": "0.3.2" - } - }, - "gcs-resumable-upload": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.10.2.tgz", - "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=", - "dev": true, - "requires": { - "configstore": "3.1.2", - "google-auto-auth": "0.10.1", - "pumpify": "1.5.1", - "request": "2.87.0", - "stream-events": "1.0.4" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "1.3.5" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "globby": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", - "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", - "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "fast-glob": "2.2.2", - "glob": "7.1.2", - "ignore": "3.3.10", - "pify": "3.0.0", - "slash": "1.0.0" - } - }, - "google-auth-library": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", - "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", - "requires": { - "axios": "0.18.0", - "gcp-metadata": "0.6.3", - "gtoken": "2.3.0", - "jws": "3.1.5", - "lodash.isstring": "4.0.1", - "lru-cache": "4.1.3", - "retry-axios": "0.3.2" - } - }, - "google-auto-auth": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz", - "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==", - "dev": true, - "requires": { - "async": "2.6.1", - "gcp-metadata": "0.6.3", - "google-auth-library": "1.6.1", - "request": "2.87.0" - } - }, - "google-gax": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.18.0.tgz", - "integrity": "sha512-cF2s3aTw1cWDHsjaYfIizJZT0KJF0FSM3laiCX4O/K0ZcdmeE9PitG2bxRH+dY+Sz094//m+JoH1hBtSyOf67A==", - "requires": { - "@grpc/proto-loader": "0.3.0", - "duplexify": "3.6.0", - "extend": "3.0.2", - "globby": "8.0.1", - "google-auth-library": "1.6.1", - "google-proto-files": "0.16.1", - "grpc": "1.13.1", - "is-stream-ended": "0.1.4", - "lodash": "4.17.10", - "protobufjs": "6.8.8", - "retry-request": "4.0.0", - "through2": "2.0.3" - } - }, - "google-p12-pem": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz", - "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==", - "requires": { - "node-forge": "0.7.5", - "pify": "3.0.0" - } - }, - "google-proto-files": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.16.1.tgz", - "integrity": "sha512-ykdhaYDiU/jlyrkzZDPemraKwVIgLT31XMHVNSJW//R9VED56hqSDRMx1Jlxbf0O4iDZnBWQ0JQLHbM2r5+wuA==", - "requires": { - "globby": "8.0.1", - "power-assert": "1.6.0", - "protobufjs": "6.8.8" - } - }, - "got": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.0.tgz", - "integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==", - "dev": true, - "requires": { - "@sindresorhus/is": "0.7.0", - "cacheable-request": "2.1.4", - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "into-stream": "3.1.0", - "is-retry-allowed": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "mimic-response": "1.0.1", - "p-cancelable": "0.4.1", - "p-timeout": "2.0.1", - "pify": "3.0.0", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "3.0.0", - "url-to-options": "1.0.1" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "2.0.0" - } - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "grpc": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.1.tgz", - "integrity": "sha512-yl0xChnlUISTefOPU2NQ1cYPh5m/DTatEUV6jdRyQPE9NCrtPq7Gn6J2alMTglN7ufYbJapOd00dvhGurHH6HQ==", - "requires": { - "lodash": "4.17.10", - "nan": "2.10.0", - "node-pre-gyp": "0.10.3", - "protobufjs": "5.0.3" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "requires": { - "minipass": "2.3.3" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.3" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true - }, - "iconv-lite": { - "version": "0.4.23", - "bundled": true, - "requires": { - "safer-buffer": "2.1.2" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "requires": { - "minimatch": "3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.5", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "1.2.0", - "bundled": true - }, - "minipass": { - "version": "2.3.3", - "bundled": true, - "requires": { - "safe-buffer": "5.1.2", - "yallist": "3.0.2" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "requires": { - "minipass": "2.3.3" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true - } - } - }, - "ms": { - "version": "2.0.0", - "bundled": true - }, - "needle": { - "version": "2.2.1", - "bundled": true, - "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.23", - "sax": "1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.3", - "bundled": true, - "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.1", - "nopt": "4.0.1", - "npm-packlist": "1.1.11", - "npmlog": "4.1.2", - "rc": "1.2.8", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true - }, - "npm-packlist": { - "version": "1.1.11", - "bundled": true, - "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true - }, - "protobufjs": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", - "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", - "requires": { - "ascli": "1.0.1", - "bytebuffer": "5.0.1", - "glob": "7.1.2", - "yargs": "3.32.0" - } - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true - }, - "sax": { - "version": "1.2.4", - "bundled": true - }, - "semver": { - "version": "5.5.0", - "bundled": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true - }, - "tar": { - "version": "4.4.4", - "bundled": true, - "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.3.3", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" - } - } - } - }, - "gtoken": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz", - "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==", - "requires": { - "axios": "0.18.0", - "google-p12-pem": "1.0.2", - "jws": "3.1.5", - "mime": "2.3.1", - "pify": "3.0.0" - } - }, - "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", - "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", - "dev": true, - "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-color": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", - "dev": true - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "requires": { - "has-symbol-support-x": "1.4.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "has-yarn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-1.0.0.tgz", - "integrity": "sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac=", - "dev": true - }, - "hash-stream-validation": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz", - "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=", - "dev": true, - "requires": { - "through2": "2.0.3" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "htmlparser2": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", - "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", - "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.2", - "domutils": "1.7.0", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" - } - }, - "hullabaloo-config-manager": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz", - "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", - "dev": true, - "requires": { - "dot-prop": "4.2.0", - "es6-error": "4.1.1", - "graceful-fs": "4.1.11", - "indent-string": "3.2.0", - "json5": "0.5.1", - "lodash.clonedeep": "4.5.0", - "lodash.clonedeepwith": "4.5.0", - "lodash.isequal": "4.5.0", - "lodash.merge": "4.6.1", - "md5-hex": "2.0.0", - "package-hash": "2.0.0", - "pkg-dir": "2.0.0", - "resolve-from": "3.0.0", - "safe-buffer": "5.1.2" - } - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dev": true, - "requires": { - "safer-buffer": "2.1.2" - } - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" - }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", - "dev": true - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "dev": true, - "requires": { - "minimatch": "3.0.4" - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "import-local": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", - "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", - "dev": true, - "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "ink-docstrap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ink-docstrap/-/ink-docstrap-1.3.2.tgz", - "integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==", - "dev": true, - "requires": { - "moment": "2.22.2", - "sanitize-html": "1.18.4" - } - }, - "inquirer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", - "dev": true, - "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", - "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rxjs": "5.5.11", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "intelli-espower-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/intelli-espower-loader/-/intelli-espower-loader-1.0.1.tgz", - "integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=", - "dev": true, - "requires": { - "espower-loader": "1.2.2" - } - }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "dev": true, - "requires": { - "from2": "2.3.0", - "p-is-promise": "1.1.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "1.4.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "irregular-plurals": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", - "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=", - "dev": true - }, - "is": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz", - "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "1.11.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-ci": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", - "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", - "dev": true, - "requires": { - "ci-info": "1.1.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-error": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.1.tgz", - "integrity": "sha1-aEqW2EB2V3yY9M20DG0mpRI78Zw=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-generator-fn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", - "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", - "dev": true - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "requires": { - "is-extglob": "2.1.1" - } - }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", - "dev": true, - "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" - } - }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "dev": true, - "requires": { - "symbol-observable": "1.2.0" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "1.0.1" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "3.0.1" - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "1.0.3" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-stream-ended": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz", - "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" - }, - "is-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-nPvSZsVlbG9aLhZYaC3Oi1gT/tpyo3Yt5fNyf6NmcKIayz4VV/txxJFFKAK/gU4dcNn8ehsanBbVHVl0+amOLA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-2.3.2.tgz", - "integrity": "sha512-l7TD/VnBsIB2OJvSyxaLW/ab1+92dxZNH9wLH7uHPPioy3JZ8tnx2UXUdKmdkgmP2EFPzg64CToUP6dAS3U32Q==", - "dev": true, - "requires": { - "@babel/generator": "7.0.0-beta.51", - "@babel/parser": "7.0.0-beta.51", - "@babel/template": "7.0.0-beta.51", - "@babel/traverse": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51", - "istanbul-lib-coverage": "2.0.1", - "semver": "5.5.0" - } - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" - } - }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", - "dev": true - }, - "js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, - "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" - } - }, - "js2xmlparser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz", - "integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=", - "dev": true, - "requires": { - "xmlcreate": "1.0.2" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jsdoc": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz", - "integrity": "sha512-6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==", - "dev": true, - "requires": { - "babylon": "7.0.0-beta.19", - "bluebird": "3.5.1", - "catharsis": "0.8.9", - "escape-string-regexp": "1.0.5", - "js2xmlparser": "3.0.0", - "klaw": "2.0.0", - "marked": "0.3.19", - "mkdirp": "0.5.1", - "requizzle": "0.2.1", - "strip-json-comments": "2.0.1", - "taffydb": "2.6.2", - "underscore": "1.8.3" - }, - "dependencies": { - "babylon": { - "version": "7.0.0-beta.19", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz", - "integrity": "sha512-Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==", - "dev": true - } - } - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "just-extend": { - "version": "1.1.27", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz", - "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==", - "dev": true - }, - "jwa": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz", - "integrity": "sha512-tBO/cf++BUsJkYql/kBbJroKOgHWEigTKBAjjBEmrMGYd1QMBC74Hr4Wo2zCZw6ZrVhlJPvoMrkcOnlWR/DJfw==", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.10", - "safe-buffer": "5.1.2" - } - }, - "jws": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz", - "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==", - "requires": { - "jwa": "1.1.6", - "safe-buffer": "5.1.2" - } - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "klaw": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz", - "integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "last-line-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/last-line-stream/-/last-line-stream-1.0.0.tgz", - "integrity": "sha1-0bZNafhv8kry0EiDos7uFFIKVgA=", - "dev": true, - "requires": { - "through2": "2.0.3" - } - }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", - "dev": true, - "requires": { - "package-json": "4.0.1" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "optional": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "1.0.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" - } - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.clonedeepwith": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz", - "integrity": "sha1-buMFc6A6GmDWcKYu8zwQzxr9vdQ=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", - "dev": true - }, - "lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", - "dev": true - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" - }, - "lodash.mergewith": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", - "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", - "dev": true - }, - "log-driver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", - "dev": true - }, - "lolex": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.1.tgz", - "integrity": "sha512-Oo2Si3RMKV3+lV5MsSWplDQFoTClz/24S0MMHYcgGWWmFXr6TMlqcqk/l1GtH+d5wLBwNRiqGnwDRMirtFalJw==", - "dev": true - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "3.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "1.0.1" - } - }, - "marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", - "dev": true - }, - "matcher": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz", - "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", - "dev": true - }, - "md5-hex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", - "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "md5-o-matic": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "requires": { - "mimic-fn": "1.2.0" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-estraverse-visitors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/merge-estraverse-visitors/-/merge-estraverse-visitors-1.0.0.tgz", - "integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } - }, - "merge2": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", - "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==" - }, - "methmeth": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/methmeth/-/methmeth-1.1.0.tgz", - "integrity": "sha1-6AomYY5S9cQiKGG7dIUQvRDikIk=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - }, - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" - }, - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", - "dev": true, - "requires": { - "mime-db": "1.35.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "dev": true, - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "modelo": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/modelo/-/modelo-4.2.3.tgz", - "integrity": "sha512-9DITV2YEMcw7XojdfvGl3gDD8J9QjZTJ7ZOUuSAkP+F3T6rDbzMJuPktxptsdHYEvZcmXrCD3LMOhdSAEq6zKA==", - "dev": true - }, - "module-not-found-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", - "integrity": "sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=", - "dev": true - }, - "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multi-stage-sourcemap": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz", - "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=", - "dev": true, - "requires": { - "source-map": "0.1.43" - }, - "dependencies": { - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "multimatch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", - "dev": true, - "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" - } - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "nice-try": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", - "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", - "dev": true - }, - "nise": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.2.tgz", - "integrity": "sha512-BxH/DxoQYYdhKgVAfqVy4pzXRZELHOIewzoesxpjYvpU+7YOalQhGNPf7wAx8pLrTNPrHRDlLOkAl8UI0ZpXjw==", - "dev": true, - "requires": { - "@sinonjs/formatio": "2.0.0", - "just-extend": "1.1.27", - "lolex": "2.7.1", - "path-to-regexp": "1.7.0", - "text-encoding": "0.6.4" - } - }, - "node-forge": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", - "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==" - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "dev": true, - "requires": { - "prepend-http": "2.0.0", - "query-string": "5.1.1", - "sort-keys": "2.0.0" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "2.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "nyc": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-12.0.2.tgz", - "integrity": "sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk=", - "dev": true, - "requires": { - "archy": "1.0.0", - "arrify": "1.0.1", - "caching-transform": "1.0.1", - "convert-source-map": "1.5.1", - "debug-log": "1.0.1", - "default-require-extensions": "1.0.0", - "find-cache-dir": "0.1.1", - "find-up": "2.1.0", - "foreground-child": "1.5.6", - "glob": "7.1.2", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "2.3.2", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.5", - "istanbul-reports": "1.4.1", - "md5-hex": "1.3.0", - "merge-source-map": "1.1.0", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "resolve-from": "2.0.0", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "spawn-wrap": "1.4.2", - "test-exclude": "4.2.1", - "yargs": "11.1.0", - "yargs-parser": "8.1.0" - }, - "dependencies": { - "align-text": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, - "amdefine": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "append-transform": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "requires": { - "default-require-extensions": "1.0.0" - } - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "arrify": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "async": { - "version": "1.5.2", - "bundled": true, - "dev": true - }, - "atob": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "base": { - "version": "0.11.2", - "bundled": true, - "dev": true, - "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "builtin-modules": { - "version": "1.1.1", - "bundled": true, - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" - } - }, - "caching-transform": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "md5-hex": "1.3.0", - "mkdirp": "0.5.1", - "write-file-atomic": "1.3.4" - } - }, - "camelcase": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true - }, - "center-align": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "class-utils": { - "version": "0.3.6", - "bundled": true, - "dev": true, - "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - } - } - }, - "cliui": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" - } - }, - "commondir": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "convert-source-map": { - "version": "1.5.1", - "bundled": true, - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "cross-spawn": { - "version": "4.0.2", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "4.1.3", - "which": "1.3.1" - } - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "debug-log": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "default-require-extensions": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "strip-bom": "2.0.0" - } - }, - "define-property": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "error-ex": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "execa": { - "version": "0.7.0", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "fill-range": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "find-cache-dir": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "for-in": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "foreground-child": { - "version": "1.5.6", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" - } - }, - "fragment-cache": { - "version": "0.2.1", - "bundled": true, - "dev": true, - "requires": { - "map-cache": "0.2.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "get-caller-file": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "get-value": { - "version": "2.0.6", - "bundled": true, - "dev": true - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "handlebars": { - "version": "4.0.11", - "bundled": true, - "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "bundled": true, - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "has-value": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" - } - }, - "has-values": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "hosted-git-info": { - "version": "2.6.0", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-arrayish": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "bundled": true, - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "is-number": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-odd": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-number": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "bundled": true, - "dev": true - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "isobject": "3.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "isobject": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "istanbul-lib-coverage": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "append-transform": "0.4.0" - } - }, - "istanbul-lib-report": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "bundled": true, - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" - } - }, - "istanbul-reports": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "requires": { - "handlebars": "4.0.11" - } - }, - "kind-of": { - "version": "3.2.2", - "bundled": true, - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - }, - "lazy-cache": { - "version": "1.0.4", - "bundled": true, - "dev": true, - "optional": true - }, - "lcid": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "invert-kv": "1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "longest": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "lru-cache": { - "version": "4.1.3", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "map-cache": { - "version": "0.2.2", - "bundled": true, - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "object-visit": "1.0.1" - } - }, - "md5-hex": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "md5-o-matic": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "mem": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "mimic-fn": "1.2.0" - } - }, - "merge-source-map": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "bundled": true, - "dev": true - } - } - }, - "micromatch": { - "version": "3.1.10", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "mimic-fn": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "nanomatch": { - "version": "1.2.9", - "bundled": true, - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "normalize-package-data": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" - } - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "path-key": "2.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "isobject": "3.0.1" - } - }, - "object.pick": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "isobject": "3.0.1" - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "optimist": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "p-limit": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "p-try": "1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "p-limit": "1.2.0" - } - }, - "p-try": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "parse-json": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - }, - "pascalcase": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "path-key": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "path-type": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "bundled": true, - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "bundled": true, - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "pkg-dir": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "find-up": "1.1.2" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "bundled": true, - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - } - } - }, - "regex-not": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" - } - }, - "repeat-element": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "bundled": true, - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "resolve-from": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "bundled": true, - "dev": true - }, - "ret": { - "version": "0.1.15", - "bundled": true, - "dev": true - }, - "right-align": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-regex": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "ret": "0.1.15" - } - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "set-value": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "source-map": { - "version": "0.5.7", - "bundled": true, - "dev": true - }, - "source-map-resolve": { - "version": "0.5.2", - "bundled": true, - "dev": true, - "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "bundled": true, - "dev": true - }, - "spawn-wrap": { - "version": "1.4.2", - "bundled": true, - "dev": true, - "requires": { - "foreground-child": "1.5.6", - "mkdirp": "0.5.1", - "os-homedir": "1.0.2", - "rimraf": "2.6.2", - "signal-exit": "3.0.2", - "which": "1.3.1" - } - }, - "spdx-correct": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "split-string": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "3.0.2" - } - }, - "static-extend": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "bundled": true, - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - } - } - }, - "string-width": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "test-exclude": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" - } - }, - "to-object-path": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "to-regex": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" - } - }, - "uglify-js": { - "version": "2.8.29", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "union-value": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "set-value": { - "version": "0.4.3", - "bundled": true, - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" - } - } - } - }, - "unset-value": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "bundled": true, - "dev": true, - "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "bundled": true, - "dev": true - } - } - }, - "urix": { - "version": "0.1.0", - "bundled": true, - "dev": true - }, - "use": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "kind-of": "6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "bundled": true, - "dev": true - } - } - }, - "validate-npm-package-license": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" - } - }, - "which": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "window-size": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "0.0.3", - "bundled": true, - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - }, - "y18n": { - "version": "3.2.1", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true, - "dev": true - }, - "yargs": { - "version": "11.1.0", - "bundled": true, - "dev": true, - "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "cliui": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" - } - }, - "yargs-parser": { - "version": "9.0.2", - "bundled": true, - "dev": true, - "requires": { - "camelcase": "4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "8.1.0", - "bundled": true, - "dev": true, - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "3.0.1" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "3.0.1" - } - }, - "observable-to-promise": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/observable-to-promise/-/observable-to-promise-0.5.0.tgz", - "integrity": "sha1-yCjw8NxH6fhq+KSXfF1VB2znqR8=", - "dev": true, - "requires": { - "is-observable": "0.2.0", - "symbol-observable": "1.2.0" - }, - "dependencies": { - "is-observable": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-0.2.0.tgz", - "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", - "dev": true, - "requires": { - "symbol-observable": "0.2.4" - }, - "dependencies": { - "symbol-observable": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz", - "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=", - "dev": true - } - } - } - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "1.2.0" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "option-chain": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/option-chain/-/option-chain-1.0.0.tgz", - "integrity": "sha1-k41zvU4Xg/lI00AjZEraI2aeMPI=", - "dev": true - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } - } - }, - "optjs": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", - "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", - "dev": true - }, - "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", - "requires": { - "p-try": "2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "2.0.0" - } - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dev": true, - "requires": { - "p-finally": "1.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" - }, - "package-hash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-2.0.0.tgz", - "integrity": "sha1-eK4ybIngWk2BO2hgGXevBcANKg0=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "lodash.flattendeep": "4.4.0", - "md5-hex": "2.0.0", - "release-zalgo": "1.0.0" - } - }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", - "dev": true, - "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" - }, - "dependencies": { - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "dev": true, - "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" - } - } - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - } - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "1.3.2" - } - }, - "parse-ms": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-0.1.2.tgz", - "integrity": "sha1-3T+iXtbC78e93hKtm0bBY6opIk4=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "dev": true, - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "3.0.0" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "pinkie": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", - "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", - "dev": true - }, - "pinkie-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", - "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", - "dev": true, - "requires": { - "pinkie": "1.0.0" - } - }, - "pkg-conf": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", - "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "load-json-file": "4.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.3.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" - } - } - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.3.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } - } - }, - "plur": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", - "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", - "dev": true, - "requires": { - "irregular-plurals": "1.4.0" - } - }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "power-assert": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz", - "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==", - "requires": { - "define-properties": "1.1.2", - "empower": "1.3.0", - "power-assert-formatter": "1.4.1", - "universal-deep-strict-equal": "1.2.2", - "xtend": "4.0.1" - } - }, - "power-assert-context-formatter": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz", - "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==", - "requires": { - "core-js": "2.5.7", - "power-assert-context-traversal": "1.2.0" - } - }, - "power-assert-context-reducer-ast": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz", - "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==", - "requires": { - "acorn": "5.7.1", - "acorn-es7-plugin": "1.1.7", - "core-js": "2.5.7", - "espurify": "1.8.1", - "estraverse": "4.2.0" - } - }, - "power-assert-context-traversal": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz", - "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==", - "requires": { - "core-js": "2.5.7", - "estraverse": "4.2.0" - } - }, - "power-assert-formatter": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz", - "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=", - "requires": { - "core-js": "2.5.7", - "power-assert-context-formatter": "1.2.0", - "power-assert-context-reducer-ast": "1.2.0", - "power-assert-renderer-assertion": "1.2.0", - "power-assert-renderer-comparison": "1.2.0", - "power-assert-renderer-diagram": "1.2.0", - "power-assert-renderer-file": "1.2.0" - } - }, - "power-assert-renderer-assertion": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz", - "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==", - "requires": { - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0" - } - }, - "power-assert-renderer-base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz", - "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=" - }, - "power-assert-renderer-comparison": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz", - "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==", - "requires": { - "core-js": "2.5.7", - "diff-match-patch": "1.0.1", - "power-assert-renderer-base": "1.1.1", - "stringifier": "1.3.0", - "type-name": "2.0.2" - } - }, - "power-assert-renderer-diagram": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz", - "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==", - "requires": { - "core-js": "2.5.7", - "power-assert-renderer-base": "1.1.1", - "power-assert-util-string-width": "1.2.0", - "stringifier": "1.3.0" - } - }, - "power-assert-renderer-file": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz", - "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==", - "requires": { - "power-assert-renderer-base": "1.1.1" - } - }, - "power-assert-util-string-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz", - "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==", - "requires": { - "eastasianwidth": "0.2.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "prettier": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.0.tgz", - "integrity": "sha512-KtQ2EGaUwf2EyDfp1fxyEb0PqGKakVm0WyXwDt6u+cAoxbO2Z2CwKvOe3+b4+F2IlO9lYHi1kqFuRM70ddBnow==", - "dev": true - }, - "pretty-ms": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.2.0.tgz", - "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", - "dev": true, - "requires": { - "parse-ms": "1.0.1" - }, - "dependencies": { - "parse-ms": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", - "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", - "dev": true - } - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true - }, - "protobufjs": { - "version": "6.8.8", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz", - "integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==", - "requires": { - "@protobufjs/aspromise": "1.1.2", - "@protobufjs/base64": "1.1.2", - "@protobufjs/codegen": "2.0.4", - "@protobufjs/eventemitter": "1.1.0", - "@protobufjs/fetch": "1.1.0", - "@protobufjs/float": "1.0.2", - "@protobufjs/inquire": "1.1.0", - "@protobufjs/path": "1.1.2", - "@protobufjs/pool": "1.1.0", - "@protobufjs/utf8": "1.1.0", - "@types/long": "4.0.0", - "@types/node": "10.5.5", - "long": "4.0.0" - }, - "dependencies": { - "@types/node": { - "version": "10.5.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.5.tgz", - "integrity": "sha512-6Qnb1gXbp3g1JX9QVJj3A6ORzc9XCyhokxUKaoonHgNXcQhmk8adhotxfkeK8El9TnFeUuH72yI6jQ5nDJKS6w==" - } - } - }, - "proxyquire": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz", - "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", - "dev": true, - "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" - } - }, - "randomatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", - "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", - "dev": true, - "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - }, - "dependencies": { - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.3.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" - } - }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - }, - "dependencies": { - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - } - } - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", - "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", - "dev": true, - "requires": { - "define-properties": "1.1.2" - } - }, - "regexpp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", - "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", - "dev": true - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true, - "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - }, - "registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dev": true, - "requires": { - "rc": "1.2.8", - "safe-buffer": "5.1.2" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dev": true, - "requires": { - "rc": "1.2.8" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "4.1.1" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "1.0.2" - } - }, - "request": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", - "dev": true, - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.19", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "require-precompiled": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/require-precompiled/-/require-precompiled-0.1.0.tgz", - "integrity": "sha1-WhtS63Dr7UPrmC6XTIWrWVceVvo=", - "dev": true - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" - }, - "dependencies": { - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - } - } - }, - "requizzle": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", - "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", - "dev": true, - "requires": { - "underscore": "1.6.0" - }, - "dependencies": { - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - } - } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "1.0.1" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "retry-axios": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz", - "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==" - }, - "retry-request": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-4.0.0.tgz", - "integrity": "sha512-S4HNLaWcMP6r8E4TMH52Y7/pM8uNayOcTDDQNBwsCccL1uI+Ol2TljxRDPzaNfbhOB30+XWP5NnZkB3LiJxi1w==", - "requires": { - "through2": "2.0.3" - } - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "2.1.0" - } - }, - "rxjs": { - "version": "5.5.11", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", - "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - }, - "dependencies": { - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "0.1.15" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "samsam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", - "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", - "dev": true - }, - "sanitize-html": { - "version": "1.18.4", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.18.4.tgz", - "integrity": "sha512-hjyDYCYrQuhnEjq+5lenLlIfdPBtnZ7z0DkQOC8YGxvkuOInH+1SrkNTj30t4f2/SSv9c5kLniB+uCIpBvYuew==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "htmlparser2": "3.9.2", - "lodash.clonedeep": "4.5.0", - "lodash.escaperegexp": "4.1.2", - "lodash.isplainobject": "4.0.6", - "lodash.isstring": "4.0.1", - "lodash.mergewith": "4.6.1", - "postcss": "6.0.23", - "srcset": "1.0.0", - "xtend": "4.0.1" - } - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "dev": true, - "requires": { - "semver": "5.5.0" - } - }, - "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "sinon": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.1.4.tgz", - "integrity": "sha512-NFEts+4D4jp2sBjL94fQpZk5o73kzn/g58+I9Dp15i9vsnT4Lk1UEyUf2jACODWLG6Pz/llF0sArYUw47Aarmg==", - "dev": true, - "requires": { - "@sinonjs/formatio": "2.0.0", - "@sinonjs/samsam": "2.0.0", - "diff": "3.5.0", - "lodash.get": "4.4.2", - "lolex": "2.7.1", - "nise": "1.4.2", - "supports-color": "5.4.0", - "type-detect": "4.0.8" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } - } - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", - "dev": true - }, - "snakeize": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz", - "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "1.0.2" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dev": true, - "requires": { - "is-plain-obj": "1.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" - } - }, - "source-map-support": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", - "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", - "dev": true, - "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", - "dev": true, - "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", - "dev": true - }, - "split-array-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz", - "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=", - "dev": true, - "requires": { - "async": "2.6.1", - "is-stream-ended": "0.1.4" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "3.0.2" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "srcset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz", - "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", - "dev": true, - "requires": { - "array-uniq": "1.0.3", - "number-is-nan": "1.0.1" - } - }, - "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", - "dev": true, - "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" - } - }, - "stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - } - } - }, - "stream-events": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz", - "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==", - "dev": true, - "requires": { - "stubs": "3.0.0" - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/string/-/string-3.3.3.tgz", - "integrity": "sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=", - "dev": true - }, - "string-format-obj": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz", - "integrity": "sha512-Mm+sROy+pHJmx0P/0Bs1uxIX6UhGJGj6xDGQZ5zh9v/SZRmLGevp+p0VJxV7lirrkAmQ2mvva/gHKpnF/pTb+Q==", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string.prototype.matchall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz", - "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.12.0", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "regexp.prototype.flags": "1.2.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "stringifier": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz", - "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=", - "requires": { - "core-js": "2.5.7", - "traverse": "0.6.6", - "type-name": "2.0.2" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-bom-buf": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", - "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "stubs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", - "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=", - "dev": true - }, - "superagent": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz", - "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.2", - "debug": "3.1.0", - "extend": "3.0.2", - "form-data": "2.3.2", - "formidable": "1.2.1", - "methods": "1.1.2", - "mime": "1.6.0", - "qs": "6.5.2", - "readable-stream": "2.3.6" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - } - } - }, - "supertap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supertap/-/supertap-1.0.0.tgz", - "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", - "dev": true, - "requires": { - "arrify": "1.0.1", - "indent-string": "3.2.0", - "js-yaml": "3.12.0", - "serialize-error": "2.1.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "supertest": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-3.1.0.tgz", - "integrity": "sha512-O44AMnmJqx294uJQjfUmEyYOg7d9mylNFsMw/Wkz4evKd1njyPrtCN+U6ZIC7sKtfEVQhfTqFFijlXx8KP/Czw==", - "dev": true, - "requires": { - "methods": "1.1.2", - "superagent": "3.8.2" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - }, - "dependencies": { - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - } - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "table": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", - "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", - "dev": true, - "requires": { - "ajv": "6.5.2", - "ajv-keywords": "3.2.0", - "chalk": "2.4.1", - "lodash": "4.17.10", - "slice-ansi": "1.0.0", - "string-width": "2.1.1" - }, - "dependencies": { - "ajv": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", - "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", - "dev": true, - "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", - "dev": true - }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "requires": { - "execa": "0.7.0" - } - }, - "text-encoding": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", - "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" - } - }, - "time-zone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", - "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" - } - }, - "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", - "dev": true, - "requires": { - "punycode": "1.4.1" - } - }, - "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", - "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=" - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "optional": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "uid2": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", - "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=", - "dev": true - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", - "dev": true - }, - "underscore-contrib": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", - "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", - "dev": true, - "requires": { - "underscore": "1.6.0" - }, - "dependencies": { - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - } - } - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" - } - } - } - }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "dev": true, - "requires": { - "crypto-random-string": "1.0.0" - } - }, - "unique-temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz", - "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", - "dev": true, - "requires": { - "mkdirp": "0.5.1", - "os-tmpdir": "1.0.2", - "uid2": "0.0.3" - } - }, - "universal-deep-strict-equal": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz", - "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=", - "requires": { - "array-filter": "1.0.0", - "indexof": "0.0.1", - "object-keys": "1.0.12" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", - "dev": true - }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "dev": true, - "requires": { - "boxen": "1.3.0", - "chalk": "2.4.1", - "configstore": "3.1.2", - "import-lazy": "2.1.0", - "is-ci": "1.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "1.0.4" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true - }, - "urlgrey": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", - "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", - "dev": true, - "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - } - }, - "well-known-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-1.0.0.tgz", - "integrity": "sha1-c8eK6Bp3Jqj6WY4ogIAcixYiVRg=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "widest-line": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", - "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", - "dev": true, - "requires": { - "string-width": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "requires": { - "mkdirp": "0.5.1" - } - }, - "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" - } - }, - "write-json-file": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-2.3.0.tgz", - "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", - "dev": true, - "requires": { - "detect-indent": "5.0.0", - "graceful-fs": "4.1.11", - "make-dir": "1.3.0", - "pify": "3.0.0", - "sort-keys": "2.0.0", - "write-file-atomic": "2.3.0" - }, - "dependencies": { - "detect-indent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", - "dev": true - } - } - }, - "write-pkg": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.2.0.tgz", - "integrity": "sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==", - "dev": true, - "requires": { - "sort-keys": "2.0.0", - "write-json-file": "2.3.0" - } - }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", - "dev": true - }, - "xmlcreate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz", - "integrity": "sha1-+mv3YqYKQT+z3Y9LA8WyaSONMI8=", - "dev": true - }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yargs": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz", - "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==", - "requires": { - "cliui": "4.1.0", - "decamelize": "2.0.0", - "find-up": "3.0.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "10.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" - } - }, - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "requires": { - "xregexp": "4.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - } - } - } - } -} From edfa3cb63bd1b025f4d4de2970231aeec4301b7d Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 9 Aug 2018 14:43:10 -0700 Subject: [PATCH 199/588] chore: do not use npm ci (#167) --- packages/google-cloud-vision/synth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 1f57797785b..9bae6a28d11 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -38,6 +38,6 @@ ''' Node.js specific cleanup ''' -subprocess.run(['npm', 'ci']) +subprocess.run(['npm', 'install']) subprocess.run(['npm', 'run', 'prettier']) subprocess.run(['npm', 'run', 'lint']) From 1aaa307acd0457019d595ab61601f6b32f445a2a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 16 Aug 2018 16:51:51 -0700 Subject: [PATCH 200/588] chore(deps): update dependency eslint-config-prettier to v3 (#170) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index e3931f22616..ac0c971549f 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -78,7 +78,7 @@ "async": "^2.6.1", "codecov": "^3.0.2", "eslint": "^5.0.1", - "eslint-config-prettier": "^2.9.0", + "eslint-config-prettier": "^3.0.0", "eslint-plugin-node": "^7.0.0", "eslint-plugin-prettier": "^2.6.1", "ink-docstrap": "^1.3.2", From 4cceeeb9d92d7670ad26d8c5475615075995a129 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Wed, 22 Aug 2018 07:21:55 -0700 Subject: [PATCH 201/588] chore: make the CircleCI config consistent --- packages/google-cloud-vision/.circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index dd4c80cc6e9..41c82336dbb 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -59,7 +59,7 @@ jobs: - image: 'node:6' user: node steps: &unit_tests_steps - - checkout + - checkout - run: &npm_install_and_link name: Install and link the module command: |- @@ -69,7 +69,7 @@ jobs: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: npm test - run: node_modules/.bin/codecov - + node8: docker: - image: 'node:8' @@ -165,4 +165,4 @@ jobs: steps: - checkout - run: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc' - - run: npm publish --access=public \ No newline at end of file + - run: npm publish --access=public From c7c8f302c7244020e99e9554d16d9c3caebd218c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 27 Aug 2018 19:57:06 -0700 Subject: [PATCH 202/588] fix(deps): update dependency google-gax to ^0.19.0 (#173) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ac0c971549f..1b10e053e65 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -66,7 +66,7 @@ }, "dependencies": { "@google-cloud/promisify": "^0.3.0", - "google-gax": "^0.18.0", + "google-gax": "^0.19.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6", From 050021aadf29893be40ca07789f8aacff0cd4387 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 28 Aug 2018 07:59:57 -0700 Subject: [PATCH 203/588] chore(deps): update dependency nyc to v13 (#177) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1b10e053e65..db248a7b1a1 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -85,7 +85,7 @@ "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", "mocha": "^5.2.0", - "nyc": "^12.0.2", + "nyc": "^13.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.6", "sinon": "^6.0.1", From 6dfac48f1d48e3f8b13c8579911f4d893eeea75d Mon Sep 17 00:00:00 2001 From: DPE bot Date: Mon, 3 Sep 2018 21:47:58 -0700 Subject: [PATCH 204/588] Updated CI config and run synth (#181) * Re-generate library using /synth.py * fix(test): v1 now supports object localization, use v1p1beta1 for tests that assert the method doesnt exist * npm run prettier --- .../google-cloud-vision/.circleci/config.yml | 7 ++- packages/google-cloud-vision/.eslintignore | 1 - packages/google-cloud-vision/.jsdoc.js | 4 +- .../cloud/vision/v1/image_annotator.proto | 27 ++++++++++++ .../cloud/vision/v1/doc_image_annotator.js | 43 ++++++++++++++++++- .../src/v1/doc/google/protobuf/doc_any.js | 21 +++++---- .../v1p1beta1/doc/google/protobuf/doc_any.js | 21 +++++---- .../v1p2beta1/doc/google/protobuf/doc_any.js | 21 +++++---- .../v1p3beta1/doc/google/protobuf/doc_any.js | 21 +++++---- .../doc/google/protobuf/doc_field_mask.js | 6 +++ .../doc/google/protobuf/doc_timestamp.js | 8 ++-- .../google-cloud-vision/test/helpers.test.js | 4 +- 12 files changed, 139 insertions(+), 45 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 41c82336dbb..eab76c4a6ba 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -107,9 +107,7 @@ jobs: steps: - checkout - run: *npm_install_and_link - - run: - name: Build documentation. - command: npm run docs + - run: npm run docs sample_tests: docker: - image: 'node:8' @@ -164,5 +162,6 @@ jobs: user: node steps: - checkout - - run: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc' + - npm install + - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc - run: npm publish --access=public diff --git a/packages/google-cloud-vision/.eslintignore b/packages/google-cloud-vision/.eslintignore index 7b5856eaa32..f6fac98b0a8 100644 --- a/packages/google-cloud-vision/.eslintignore +++ b/packages/google-cloud-vision/.eslintignore @@ -1,4 +1,3 @@ node_modules/* samples/node_modules/* src/**/doc/* -samples/system-test/* diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index dce8e9ffbbb..83b5a99c0a3 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -1,5 +1,5 @@ /*! - * Copyright 2017 Google Inc. All Rights Reserved. + * Copyright 2018 Google LLC. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +36,7 @@ module.exports = { includePattern: '\\.js$' }, templates: { - copyright: 'Copyright 2017 Google, Inc.', + copyright: 'Copyright 2018 Google, LLC.', includeDate: false, sourceFiles: false, systemName: '@google-cloud/vision', diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index acd7b268698..f8d82084979 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -103,6 +103,9 @@ message Feature { // Run web detection. WEB_DETECTION = 10; + + // Run localizer for object detection. + OBJECT_LOCALIZATION = 19; } // The feature type. @@ -410,6 +413,26 @@ message EntityAnnotation { repeated Property properties = 9; } +// Set of detected objects with bounding boxes. +message LocalizedObjectAnnotation { + // Object ID that should align with EntityAnnotation mid. + string mid = 1; + + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + + // Object name, expressed in its `language_code` language. + string name = 3; + + // Score of the result. Range [0, 1]. + float score = 4; + + // Image region to which this object belongs. This must be populated. + BoundingPoly bounding_poly = 5; +} + // Set of features pertaining to the image, computed by computer vision // methods over safe-search verticals (for example, adult, spoof, medical, // violence). @@ -569,6 +592,10 @@ message AnnotateImageResponse { // If present, label detection has completed successfully. repeated EntityAnnotation label_annotations = 4; + // If present, localized object detection has completed successfully. + // This will be sorted descending by confidence score. + repeated LocalizedObjectAnnotation localized_object_annotations = 22; + // If present, text (OCR) detection has completed successfully. repeated EntityAnnotation text_annotations = 5; diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index f1e6c00b0ce..9ab159a3de0 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -107,7 +107,12 @@ var Feature = { /** * Run web detection. */ - WEB_DETECTION: 10 + WEB_DETECTION: 10, + + /** + * Run localizer for object detection. + */ + OBJECT_LOCALIZATION: 19 } }; @@ -569,6 +574,36 @@ var EntityAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Set of detected objects with bounding boxes. + * + * @property {string} mid + * Object ID that should align with EntityAnnotation mid. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {string} name + * Object name, expressed in its `language_code` language. + * + * @property {number} score + * Score of the result. Range [0, 1]. + * + * @property {Object} boundingPoly + * Image region to which this object belongs. This must be populated. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} + * + * @typedef LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.LocalizedObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +var LocalizedObjectAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Set of features pertaining to the image, computed by computer vision * methods over safe-search verticals (for example, adult, spoof, medical, @@ -869,6 +904,12 @@ var ImageAnnotationContext = { * * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} * + * @property {Object[]} localizedObjectAnnotations + * If present, localized object detection has completed successfully. + * This will be sorted descending by confidence score. + * + * This object should have the same structure as [LocalizedObjectAnnotation]{@link google.cloud.vision.v1.LocalizedObjectAnnotation} + * * @property {Object[]} textAnnotations * If present, text (OCR) detection has completed successfully. * diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js index f55fa17ff12..c5c5bbafa23 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js @@ -97,17 +97,18 @@ * } * * @property {string} typeUrl - * A URL/resource name whose content describes the type of the - * serialized protocol buffer message. + * A URL/resource name that uniquely identifies the type of the serialized + * protocol buffer message. The last segment of the URL's path must represent + * the fully qualified name of the type (as in + * `path/google.protobuf.Duration`). The name should be in a canonical form + * (e.g., leading "." is not accepted). * - * For URLs which use the scheme `http`, `https`, or no scheme, the - * following restrictions and interpretations apply: + * In practice, teams usually precompile into the binary all types that they + * expect it to use in the context of Any. However, for URLs which use the + * scheme `http`, `https`, or no scheme, one can optionally set up a type + * server that maps type URLs to message definitions as follows: * * * If no scheme is provided, `https` is assumed. - * * The last segment of the URL's path must represent the fully - * qualified name of the type (as in `path/google.protobuf.Duration`). - * The name should be in a canonical form (e.g., leading "." is - * not accepted). * * An HTTP GET on the URL must yield a google.protobuf.Type * value in binary format, or produce an error. * * Applications are allowed to cache lookup results based on the @@ -116,6 +117,10 @@ * on changes to types. (Use versioned type names to manage * breaking changes.) * + * Note: this functionality is not currently available in the official + * protobuf release, and it is not used for type URLs beginning with + * type.googleapis.com. + * * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. * diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js index f55fa17ff12..c5c5bbafa23 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js @@ -97,17 +97,18 @@ * } * * @property {string} typeUrl - * A URL/resource name whose content describes the type of the - * serialized protocol buffer message. + * A URL/resource name that uniquely identifies the type of the serialized + * protocol buffer message. The last segment of the URL's path must represent + * the fully qualified name of the type (as in + * `path/google.protobuf.Duration`). The name should be in a canonical form + * (e.g., leading "." is not accepted). * - * For URLs which use the scheme `http`, `https`, or no scheme, the - * following restrictions and interpretations apply: + * In practice, teams usually precompile into the binary all types that they + * expect it to use in the context of Any. However, for URLs which use the + * scheme `http`, `https`, or no scheme, one can optionally set up a type + * server that maps type URLs to message definitions as follows: * * * If no scheme is provided, `https` is assumed. - * * The last segment of the URL's path must represent the fully - * qualified name of the type (as in `path/google.protobuf.Duration`). - * The name should be in a canonical form (e.g., leading "." is - * not accepted). * * An HTTP GET on the URL must yield a google.protobuf.Type * value in binary format, or produce an error. * * Applications are allowed to cache lookup results based on the @@ -116,6 +117,10 @@ * on changes to types. (Use versioned type names to manage * breaking changes.) * + * Note: this functionality is not currently available in the official + * protobuf release, and it is not used for type URLs beginning with + * type.googleapis.com. + * * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. * diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js index f55fa17ff12..c5c5bbafa23 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js @@ -97,17 +97,18 @@ * } * * @property {string} typeUrl - * A URL/resource name whose content describes the type of the - * serialized protocol buffer message. + * A URL/resource name that uniquely identifies the type of the serialized + * protocol buffer message. The last segment of the URL's path must represent + * the fully qualified name of the type (as in + * `path/google.protobuf.Duration`). The name should be in a canonical form + * (e.g., leading "." is not accepted). * - * For URLs which use the scheme `http`, `https`, or no scheme, the - * following restrictions and interpretations apply: + * In practice, teams usually precompile into the binary all types that they + * expect it to use in the context of Any. However, for URLs which use the + * scheme `http`, `https`, or no scheme, one can optionally set up a type + * server that maps type URLs to message definitions as follows: * * * If no scheme is provided, `https` is assumed. - * * The last segment of the URL's path must represent the fully - * qualified name of the type (as in `path/google.protobuf.Duration`). - * The name should be in a canonical form (e.g., leading "." is - * not accepted). * * An HTTP GET on the URL must yield a google.protobuf.Type * value in binary format, or produce an error. * * Applications are allowed to cache lookup results based on the @@ -116,6 +117,10 @@ * on changes to types. (Use versioned type names to manage * breaking changes.) * + * Note: this functionality is not currently available in the official + * protobuf release, and it is not used for type URLs beginning with + * type.googleapis.com. + * * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. * diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js index f55fa17ff12..c5c5bbafa23 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js @@ -97,17 +97,18 @@ * } * * @property {string} typeUrl - * A URL/resource name whose content describes the type of the - * serialized protocol buffer message. + * A URL/resource name that uniquely identifies the type of the serialized + * protocol buffer message. The last segment of the URL's path must represent + * the fully qualified name of the type (as in + * `path/google.protobuf.Duration`). The name should be in a canonical form + * (e.g., leading "." is not accepted). * - * For URLs which use the scheme `http`, `https`, or no scheme, the - * following restrictions and interpretations apply: + * In practice, teams usually precompile into the binary all types that they + * expect it to use in the context of Any. However, for URLs which use the + * scheme `http`, `https`, or no scheme, one can optionally set up a type + * server that maps type URLs to message definitions as follows: * * * If no scheme is provided, `https` is assumed. - * * The last segment of the URL's path must represent the fully - * qualified name of the type (as in `path/google.protobuf.Duration`). - * The name should be in a canonical form (e.g., leading "." is - * not accepted). * * An HTTP GET on the URL must yield a google.protobuf.Type * value in binary format, or produce an error. * * Applications are allowed to cache lookup results based on the @@ -116,6 +117,10 @@ * on changes to types. (Use versioned type names to manage * breaking changes.) * + * Note: this functionality is not currently available in the official + * protobuf release, and it is not used for type URLs beginning with + * type.googleapis.com. + * * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. * diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js index c82c2b33949..d700752b7c6 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js @@ -218,6 +218,12 @@ * Note that oneof type names ("test_oneof" in this case) cannot be used in * paths. * + * ## Field Mask Verification + * + * The implementation of any API method which has a FieldMask type field in the + * request should verify the included field paths, and return an + * `INVALID_ARGUMENT` error if any path is duplicated or unmappable. + * * @property {string[]} paths * The set of field mask paths. * diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js index a02db52bdeb..51d8f40f54d 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js @@ -79,7 +79,9 @@ * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - * is required, though only UTC (as indicated by "Z") is presently supported. + * is required. A proto3 JSON serializer should always use UTC (as indicated by + * "Z") when printing the Timestamp type and a proto3 JSON parser should be + * able to accept both UTC and other timezones (as indicated by an offset). * * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past * 01:30 UTC on January 15, 2017. @@ -90,8 +92,8 @@ * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://cloud.google.com - * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) - * to obtain a formatter capable of generating timestamps in this format. + * http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime-- + * ) to obtain a formatter capable of generating timestamps in this format. * * @property {number} seconds * Represents seconds of UTC time since Unix epoch diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index 449e9426572..8c83fe6d047 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -513,8 +513,8 @@ describe('Vision helper methods', () => { }); it('throws an error if trying to invoke a method not available in current version', () => { - // Use v1 version of client. - const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + // Use v1p1beta1 version of client. + const client = new vision.v1p1beta1.ImageAnnotatorClient(CREDENTIALS); assert.throws(() => { // Object localization is only available for v1p3beta1. From 4491a4d0d440975251feef0f6227edfb040a7328 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 4 Sep 2018 08:08:59 -0700 Subject: [PATCH 205/588] Update CI config (#184) --- .../google-cloud-vision/.circleci/config.yml | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index eab76c4a6ba..9a65e928a47 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -117,9 +117,11 @@ jobs: - run: name: Decrypt credentials. command: | - openssl aes-256-cbc -d -in .circleci/key.json.enc \ + if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then + openssl aes-256-cbc -d -in .circleci/key.json.enc \ -out .circleci/key.json \ -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" + fi - run: *npm_install_and_link - run: *samples_npm_install_and_link - run: @@ -131,7 +133,10 @@ jobs: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: name: Remove unencrypted key. - command: rm .circleci/key.json + command: | + if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then + rm .circleci/key.json + fi when: always working_directory: /home/node/samples/ system_tests: @@ -143,9 +148,11 @@ jobs: - run: name: Decrypt credentials. command: | - openssl aes-256-cbc -d -in .circleci/key.json.enc \ + if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then + openssl aes-256-cbc -d -in .circleci/key.json.enc \ -out .circleci/key.json \ -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" + fi - run: *npm_install_and_link - run: name: Run system tests. @@ -154,7 +161,10 @@ jobs: GOOGLE_APPLICATION_CREDENTIALS: .circleci/key.json - run: name: Remove unencrypted key. - command: rm .circleci/key.json + command: | + if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then + rm .circleci/key.json + fi when: always publish_npm: docker: @@ -162,6 +172,6 @@ jobs: user: node steps: - checkout - - npm install + - run: npm install - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc - run: npm publish --access=public From b90646c88a27e44ae201225090c07564e6b09e27 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 4 Sep 2018 12:28:44 -0700 Subject: [PATCH 206/588] Retry npm install in CI (#185) --- .../google-cloud-vision/.circleci/config.yml | 6 +- .../.circleci/npm-install-retry.js | 60 +++++++++++++++++++ 2 files changed, 63 insertions(+), 3 deletions(-) create mode 100755 packages/google-cloud-vision/.circleci/npm-install-retry.js diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 9a65e928a47..80dcf7e67d9 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -64,7 +64,7 @@ jobs: name: Install and link the module command: |- mkdir -p /home/node/.npm-global - npm install + ./.circleci/npm-install-retry.js environment: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: npm test @@ -92,7 +92,7 @@ jobs: command: | cd samples/ npm link ../ - npm install + ./../.circleci/npm-install-retry.js environment: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: @@ -172,6 +172,6 @@ jobs: user: node steps: - checkout - - run: npm install + - run: ./.circleci/npm-install-retry.js - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc - run: npm publish --access=public diff --git a/packages/google-cloud-vision/.circleci/npm-install-retry.js b/packages/google-cloud-vision/.circleci/npm-install-retry.js new file mode 100755 index 00000000000..ae3220d7348 --- /dev/null +++ b/packages/google-cloud-vision/.circleci/npm-install-retry.js @@ -0,0 +1,60 @@ +#!/usr/bin/env node + +let spawn = require('child_process').spawn; + +// +//USE: ./index.js [... NPM ARGS] +// + +let timeout = process.argv[2] || 60000; +let attempts = process.argv[3] || 3; +let args = process.argv.slice(4); +if (args.length === 0) { + args = ['install']; +} + +(function npm() { + let timer; + args.push('--verbose'); + let proc = spawn('npm', args); + proc.stdout.pipe(process.stdout); + proc.stderr.pipe(process.stderr); + proc.stdin.end(); + proc.stdout.on('data', () => { + setTimer(); + }); + proc.stderr.on('data', () => { + setTimer(); + }); + + // side effect: this also restarts when npm exits with a bad code even if it + // didnt timeout + proc.on('close', (code, signal) => { + clearTimeout(timer); + if (code || signal) { + console.log('[npm-are-you-sleeping] npm exited with code ' + code + ''); + + if (--attempts) { + console.log('[npm-are-you-sleeping] restarting'); + npm(); + } else { + console.log('[npm-are-you-sleeping] i tried lots of times. giving up.'); + throw new Error("npm install fails"); + } + } + }); + + function setTimer() { + clearTimeout(timer); + timer = setTimeout(() => { + console.log('[npm-are-you-sleeping] killing npm with SIGTERM'); + proc.kill('SIGTERM'); + // wait a couple seconds + timer = setTimeout(() => { + // its it's still not closed sigkill + console.log('[npm-are-you-sleeping] killing npm with SIGKILL'); + proc.kill('SIGKILL'); + }, 2000); + }, timeout); + } +})(); From 6d795f4c1d30dd4351437cc8e57938b481a37bdb Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 7 Sep 2018 17:22:15 -0700 Subject: [PATCH 207/588] Fix the sample tests (#187) --- packages/google-cloud-vision/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-vision/.gitignore b/packages/google-cloud-vision/.gitignore index 531c77e628b..f40aeaa680a 100644 --- a/packages/google-cloud-vision/.gitignore +++ b/packages/google-cloud-vision/.gitignore @@ -12,3 +12,4 @@ system-test/*key.json google-cloud-logging-winston-*.tgz google-cloud-logging-bunyan-*.tgz package-lock.json +.vscode From 52ccefcd195522c501f24ee3e26235318e44be93 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Mon, 10 Sep 2018 06:59:02 -0700 Subject: [PATCH 208/588] Update CI config (#188) --- packages/google-cloud-vision/.circleci/config.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 80dcf7e67d9..8af6a4d0489 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -149,21 +149,24 @@ jobs: name: Decrypt credentials. command: | if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - openssl aes-256-cbc -d -in .circleci/key.json.enc \ - -out .circleci/key.json \ - -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" + for encrypted_key in .circleci/*.json.enc; do + openssl aes-256-cbc -d -in $encrypted_key \ + -out $(echo $encrypted_key | sed 's/\.enc//') \ + -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" + done fi - run: *npm_install_and_link - run: name: Run system tests. command: npm run system-test environment: + GCLOUD_PROJECT: long-door-651 GOOGLE_APPLICATION_CREDENTIALS: .circleci/key.json - run: name: Remove unencrypted key. command: | if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - rm .circleci/key.json + rm .circleci/*.json fi when: always publish_npm: From 1ab0c376dede19557b46bc716e18e2d0c436c10c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 10 Sep 2018 08:38:13 -0700 Subject: [PATCH 209/588] chore(deps): update dependency @google-cloud/storage to v2 (#183) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- packages/google-cloud-vision/system-test/vision.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index db248a7b1a1..62ce9577f87 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -74,7 +74,7 @@ }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", - "@google-cloud/storage": "^1.7.0", + "@google-cloud/storage": "^2.0.0", "async": "^2.6.1", "codecov": "^3.0.2", "eslint": "^5.0.1", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 52427678d52..bae47fd784b 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", - "@google-cloud/storage": "^1.7.0", + "@google-cloud/storage": "^2.0.0", "ava": "^0.25.0", "uuid": "^3.2.1" }, diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 2724868c8c6..7b62f232f8a 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -20,7 +20,7 @@ const assert = require('assert'); const async = require('async'); const fs = require('fs'); const path = require('path'); -const Storage = require('@google-cloud/storage'); +const {Storage} = require('@google-cloud/storage'); const uuid = require('uuid'); const vision = require('../'); From 6fae68d8cb6dce01d39610e19151508c80e22212 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Tue, 11 Sep 2018 13:30:14 -0700 Subject: [PATCH 210/588] Release v0.22.0 (#190) --- packages/google-cloud-vision/CHANGELOG.md | 35 +++++++++++++++++++ packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 7af85bdc50c..c563651a1d6 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,41 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## v0.22.0 + +### New Features +Object Localization is available on v1 of this library: +- Updated CI config and run synth ([#181](https://github.com/googleapis/nodejs-vision/pull/181)) + +### Dependencies +- chore(deps): update dependency @google-cloud/storage to v2 ([#183](https://github.com/googleapis/nodejs-vision/pull/183)) +- chore(deps): update dependency nyc to v13 ([#177](https://github.com/googleapis/nodejs-vision/pull/177)) +- fix(deps): update dependency google-gax to ^0.19.0 ([#173](https://github.com/googleapis/nodejs-vision/pull/173)) +- chore(deps): update dependency eslint-config-prettier to v3 ([#170](https://github.com/googleapis/nodejs-vision/pull/170)) + +### Internal / Testing Changes +- Update CI config ([#188](https://github.com/googleapis/nodejs-vision/pull/188)) +- Fix the sample tests ([#187](https://github.com/googleapis/nodejs-vision/pull/187)) +- Retry npm install in CI ([#185](https://github.com/googleapis/nodejs-vision/pull/185)) +- Update CI config ([#184](https://github.com/googleapis/nodejs-vision/pull/184)) +- fix: (tests): Use real service to validate expectations. ([#182](https://github.com/googleapis/nodejs-vision/pull/182)) +- chore: make the CircleCI config consistent +- Udpate Beta Vision samples to use beta tags ([#172](https://github.com/googleapis/nodejs-vision/pull/172)) +- Vision region tag update ([#171](https://github.com/googleapis/nodejs-vision/pull/171)) +- build: configure Windows build on Kokoro ([#165](https://github.com/googleapis/nodejs-vision/pull/165)) +- chore: do not use npm ci ([#167](https://github.com/googleapis/nodejs-vision/pull/167)) +- build(kokoro): samples-test.sh need GCLOUD_PROJECT env; node6 and node8 is using wrong .sh ([#162](https://github.com/googleapis/nodejs-vision/pull/162)) +- build(kokoro): setup samples and system test ([#161](https://github.com/googleapis/nodejs-vision/pull/161)) +- chore: ignore package-lock.json ([#160](https://github.com/googleapis/nodejs-vision/pull/160)) +- build: rename build.sh => test.sh; presubmit jobs runs lint and docs properly ([#158](https://github.com/googleapis/nodejs-vision/pull/158)) +- fix(samples): missing fs requires causing sample-test to fail ([#157](https://github.com/googleapis/nodejs-vision/pull/157)) +- build: add set -x to .sh to show the command being executed ([#156](https://github.com/googleapis/nodejs-vision/pull/156)) +- add samples linking to kokoro jobs ([#155](https://github.com/googleapis/nodejs-vision/pull/155)) +- Kokoro multi ver ([#153](https://github.com/googleapis/nodejs-vision/pull/153)) +- chore: update renovate config ([#152](https://github.com/googleapis/nodejs-vision/pull/152)) +- have presubmit.cfg in separate node* folders ([#151](https://github.com/googleapis/nodejs-vision/pull/151)) +- split presubmit to multiple node versions ([#149](https://github.com/googleapis/nodejs-vision/pull/149)) + ## v0.21.1 Patch release to bring in updates to google-gax@0.18.0 so it no longer emits deprecation warnings with grpc (#120), along with other dependency updates and documentation changes. diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 62ce9577f87..66f2fed2cba 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.21.1", + "version": "0.22.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index bae47fd784b..f707d10b8ac 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -12,7 +12,7 @@ "test": "ava -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/vision": "^0.21.1", + "@google-cloud/vision": "^0.22.0", "async": "^2.6.1", "natural": "^0.6.1", "redis": "^2.8.0", From 33b0d35390e978f22b6c9c2d6b33ae281db5cfb7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 13 Sep 2018 06:59:21 -0700 Subject: [PATCH 211/588] fix(deps): update dependency google-gax to ^0.20.0 (#193) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 66f2fed2cba..c34fc91b388 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -66,7 +66,7 @@ }, "dependencies": { "@google-cloud/promisify": "^0.3.0", - "google-gax": "^0.19.0", + "google-gax": "^0.20.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6", From 5aca94fc3213388b28cea97685132c3f4248e425 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Fri, 14 Sep 2018 08:43:21 -0700 Subject: [PATCH 212/588] Switch to let/const (#194) --- .../smoke-test/image_annotator_smoke_test.js | 20 +- .../google/cloud/vision/v1/doc_geometry.js | 8 +- .../cloud/vision/v1/doc_image_annotator.js | 68 +-- .../cloud/vision/v1/doc_text_annotation.js | 12 +- .../cloud/vision/v1/doc_web_detection.js | 2 +- .../doc/google/longrunning/doc_operations.js | 12 +- .../src/v1/doc/google/protobuf/doc_any.js | 2 +- .../v1/doc/google/protobuf/doc_wrappers.js | 18 +- .../src/v1/doc/google/rpc/doc_status.js | 2 +- .../src/v1/doc/google/type/doc_color.js | 2 +- .../src/v1/doc/google/type/doc_latlng.js | 2 +- .../src/v1/image_annotator_client.js | 46 +- .../cloud/vision/v1p1beta1/doc_geometry.js | 6 +- .../vision/v1p1beta1/doc_image_annotator.js | 44 +- .../vision/v1p1beta1/doc_text_annotation.js | 12 +- .../vision/v1p1beta1/doc_web_detection.js | 2 +- .../v1p1beta1/doc/google/protobuf/doc_any.js | 2 +- .../doc/google/protobuf/doc_wrappers.js | 18 +- .../v1p1beta1/doc/google/rpc/doc_status.js | 2 +- .../v1p1beta1/doc/google/type/doc_color.js | 2 +- .../v1p1beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p1beta1/image_annotator_client.js | 20 +- .../cloud/vision/v1p2beta1/doc_geometry.js | 8 +- .../vision/v1p2beta1/doc_image_annotator.js | 66 +-- .../vision/v1p2beta1/doc_text_annotation.js | 12 +- .../vision/v1p2beta1/doc_web_detection.js | 2 +- .../doc/google/longrunning/doc_operations.js | 12 +- .../v1p2beta1/doc/google/protobuf/doc_any.js | 2 +- .../doc/google/protobuf/doc_wrappers.js | 18 +- .../v1p2beta1/doc/google/rpc/doc_status.js | 2 +- .../v1p2beta1/doc/google/type/doc_color.js | 2 +- .../v1p2beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p2beta1/image_annotator_client.js | 46 +- .../cloud/vision/v1p3beta1/doc_geometry.js | 10 +- .../vision/v1p3beta1/doc_image_annotator.js | 68 +-- .../vision/v1p3beta1/doc_product_search.js | 8 +- .../v1p3beta1/doc_product_search_service.js | 58 +-- .../vision/v1p3beta1/doc_text_annotation.js | 12 +- .../vision/v1p3beta1/doc_web_detection.js | 2 +- .../doc/google/longrunning/doc_operations.js | 12 +- .../v1p3beta1/doc/google/protobuf/doc_any.js | 2 +- .../doc/google/protobuf/doc_empty.js | 2 +- .../doc/google/protobuf/doc_field_mask.js | 2 +- .../doc/google/protobuf/doc_timestamp.js | 2 +- .../doc/google/protobuf/doc_wrappers.js | 18 +- .../v1p3beta1/doc/google/rpc/doc_status.js | 2 +- .../v1p3beta1/doc/google/type/doc_color.js | 2 +- .../v1p3beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p3beta1/image_annotator_client.js | 46 +- .../src/v1p3beta1/product_search_client.js | 238 +++++------ packages/google-cloud-vision/test/gapic-v1.js | 40 +- .../test/gapic-v1p1beta1.js | 18 +- .../test/gapic-v1p2beta1.js | 40 +- .../test/gapic-v1p3beta1.js | 402 +++++++++--------- 54 files changed, 731 insertions(+), 731 deletions(-) diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index 74ccd41a825..5b5ae522c67 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -18,30 +18,30 @@ describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); - var client = new vision.v1p3beta1.ImageAnnotatorClient({ + const client = new vision.v1p3beta1.ImageAnnotatorClient({ // optional auth parameters. }); - var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; - var source = { + const gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + const source = { gcsImageUri: gcsImageUri, }; - var image = { + const image = { source: source, }; - var type = 'FACE_DETECTION'; - var featuresElement = { + const type = 'FACE_DETECTION'; + const featuresElement = { type: type, }; - var features = [featuresElement]; - var requestsElement = { + const features = [featuresElement]; + const requestsElement = { image: image, features: features, }; - var requests = [requestsElement]; + const requests = [requestsElement]; client.batchAnnotateImages({requests: requests}) .then(responses => { - var response = responses[0]; + const response = responses[0]; console.log(response); }) .then(done) diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js index ca1ef8c2e51..77d9f8e9cda 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js @@ -29,7 +29,7 @@ * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} */ -var Vertex = { +const Vertex = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -48,7 +48,7 @@ var Vertex = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} */ -var NormalizedVertex = { +const NormalizedVertex = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -69,7 +69,7 @@ var NormalizedVertex = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} */ -var BoundingPoly = { +const BoundingPoly = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -91,6 +91,6 @@ var BoundingPoly = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} */ -var Position = { +const Position = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index 9ab159a3de0..8587fddf333 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -38,7 +38,7 @@ * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var Feature = { +const Feature = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -150,7 +150,7 @@ var Feature = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var ImageSource = { +const ImageSource = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -173,7 +173,7 @@ var ImageSource = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var Image = { +const Image = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -265,7 +265,7 @@ var Image = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var FaceAnnotation = { +const FaceAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -489,7 +489,7 @@ var FaceAnnotation = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var LocationInfo = { +const LocationInfo = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -509,7 +509,7 @@ var LocationInfo = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var Property = { +const Property = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -570,7 +570,7 @@ var Property = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var EntityAnnotation = { +const EntityAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -600,7 +600,7 @@ var EntityAnnotation = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.LocalizedObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var LocalizedObjectAnnotation = { +const LocalizedObjectAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -645,7 +645,7 @@ var LocalizedObjectAnnotation = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var SafeSearchAnnotation = { +const SafeSearchAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -666,7 +666,7 @@ var SafeSearchAnnotation = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var LatLongRect = { +const LatLongRect = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -690,7 +690,7 @@ var LatLongRect = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var ColorInfo = { +const ColorInfo = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -706,7 +706,7 @@ var ColorInfo = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var DominantColorsAnnotation = { +const DominantColorsAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -722,7 +722,7 @@ var DominantColorsAnnotation = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var ImageProperties = { +const ImageProperties = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -746,7 +746,7 @@ var ImageProperties = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var CropHint = { +const CropHint = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -762,7 +762,7 @@ var CropHint = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var CropHintsAnnotation = { +const CropHintsAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -781,7 +781,7 @@ var CropHintsAnnotation = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var CropHintsParams = { +const CropHintsParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -795,7 +795,7 @@ var CropHintsParams = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var WebDetectionParams = { +const WebDetectionParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -831,7 +831,7 @@ var WebDetectionParams = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var ImageContext = { +const ImageContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -858,7 +858,7 @@ var ImageContext = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var AnnotateImageRequest = { +const AnnotateImageRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -877,7 +877,7 @@ var AnnotateImageRequest = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var ImageAnnotationContext = { +const ImageAnnotationContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -960,7 +960,7 @@ var ImageAnnotationContext = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var AnnotateImageResponse = { +const AnnotateImageResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -982,7 +982,7 @@ var AnnotateImageResponse = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var AnnotateFileResponse = { +const AnnotateFileResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -998,7 +998,7 @@ var AnnotateFileResponse = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var BatchAnnotateImagesRequest = { +const BatchAnnotateImagesRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1014,7 +1014,7 @@ var BatchAnnotateImagesRequest = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var BatchAnnotateImagesResponse = { +const BatchAnnotateImagesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1045,7 +1045,7 @@ var BatchAnnotateImagesResponse = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var AsyncAnnotateFileRequest = { +const AsyncAnnotateFileRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1061,7 +1061,7 @@ var AsyncAnnotateFileRequest = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var AsyncAnnotateFileResponse = { +const AsyncAnnotateFileResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1078,7 +1078,7 @@ var AsyncAnnotateFileResponse = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var AsyncBatchAnnotateFilesRequest = { +const AsyncBatchAnnotateFilesRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1095,7 +1095,7 @@ var AsyncBatchAnnotateFilesRequest = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var AsyncBatchAnnotateFilesResponse = { +const AsyncBatchAnnotateFilesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1115,7 +1115,7 @@ var AsyncBatchAnnotateFilesResponse = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var InputConfig = { +const InputConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1144,7 +1144,7 @@ var InputConfig = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var OutputConfig = { +const OutputConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1159,7 +1159,7 @@ var OutputConfig = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var GcsSource = { +const GcsSource = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1187,7 +1187,7 @@ var GcsSource = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var GcsDestination = { +const GcsDestination = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1213,7 +1213,7 @@ var GcsDestination = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} */ -var OperationMetadata = { +const OperationMetadata = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -1258,7 +1258,7 @@ var OperationMetadata = { * @enum {number} * @memberof google.cloud.vision.v1 */ -var Likelihood = { +const Likelihood = { /** * Unknown likelihood. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index 4e08e8c8178..e42ed35dc14 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -36,7 +36,7 @@ * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ -var TextAnnotation = { +const TextAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -167,7 +167,7 @@ var TextAnnotation = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ -var Page = { +const Page = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -220,7 +220,7 @@ var Page = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ -var Block = { +const Block = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -302,7 +302,7 @@ var Block = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ -var Paragraph = { +const Paragraph = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -346,7 +346,7 @@ var Paragraph = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ -var Word = { +const Word = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -387,6 +387,6 @@ var Word = { * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} */ -var Symbol = { +const Symbol = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js index 5ed9f6e828a..5583eb5d508 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js @@ -55,7 +55,7 @@ * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} */ -var WebDetection = { +const WebDetection = { // This is for documentation. Actual contents will be loaded by gRPC. /** diff --git a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js index 79ef6344437..4af5d7d3574 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js @@ -58,7 +58,7 @@ * @memberof google.longrunning * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var Operation = { +const Operation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -72,7 +72,7 @@ var Operation = { * @memberof google.longrunning * @see [google.longrunning.GetOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var GetOperationRequest = { +const GetOperationRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -95,7 +95,7 @@ var GetOperationRequest = { * @memberof google.longrunning * @see [google.longrunning.ListOperationsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var ListOperationsRequest = { +const ListOperationsRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -114,7 +114,7 @@ var ListOperationsRequest = { * @memberof google.longrunning * @see [google.longrunning.ListOperationsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var ListOperationsResponse = { +const ListOperationsResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -128,7 +128,7 @@ var ListOperationsResponse = { * @memberof google.longrunning * @see [google.longrunning.CancelOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var CancelOperationRequest = { +const CancelOperationRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -142,6 +142,6 @@ var CancelOperationRequest = { * @memberof google.longrunning * @see [google.longrunning.DeleteOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var DeleteOperationRequest = { +const DeleteOperationRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js index c5c5bbafa23..3accb1fc0d8 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js @@ -131,6 +131,6 @@ * @memberof google.protobuf * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} */ -var Any = { +const Any = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js index 791b600ab1d..363b6391ac1 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js @@ -27,7 +27,7 @@ * @memberof google.protobuf * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var DoubleValue = { +const DoubleValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -43,7 +43,7 @@ var DoubleValue = { * @memberof google.protobuf * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var FloatValue = { +const FloatValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -59,7 +59,7 @@ var FloatValue = { * @memberof google.protobuf * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var Int64Value = { +const Int64Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -75,7 +75,7 @@ var Int64Value = { * @memberof google.protobuf * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var UInt64Value = { +const UInt64Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -91,7 +91,7 @@ var UInt64Value = { * @memberof google.protobuf * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var Int32Value = { +const Int32Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -107,7 +107,7 @@ var Int32Value = { * @memberof google.protobuf * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var UInt32Value = { +const UInt32Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -123,7 +123,7 @@ var UInt32Value = { * @memberof google.protobuf * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var BoolValue = { +const BoolValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -139,7 +139,7 @@ var BoolValue = { * @memberof google.protobuf * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var StringValue = { +const StringValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -155,6 +155,6 @@ var StringValue = { * @memberof google.protobuf * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var BytesValue = { +const BytesValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js index 7122f1682e0..13cfcab1021 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js @@ -87,6 +87,6 @@ * @memberof google.rpc * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} */ -var Status = { +const Status = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js index 8ae80246fe3..c571f13c9a8 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js @@ -159,6 +159,6 @@ * @memberof google.type * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} */ -var Color = { +const Color = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js index 76150dc3be1..abc54303752 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js @@ -66,6 +66,6 @@ * @memberof google.type * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} */ -var LatLng = { +const LatLng = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index e6c346a9579..63ac04e9bb7 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -74,13 +74,13 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - var gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gax.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - var clientHeader = [ + const clientHeader = [ `gl-node/${process.version}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, @@ -91,14 +91,14 @@ class ImageAnnotatorClient { } // Load the applicable protos. - var protos = merge( + const protos = merge( {}, gaxGrpc.loadProto( path.join(__dirname, '..', '..', 'protos'), 'google/cloud/vision/v1/image_annotator.proto' ) ); - var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -118,10 +118,10 @@ class ImageAnnotatorClient { grpc: gaxGrpc.grpc, }).operationsClient(opts); - var asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( 'google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse' ); - var asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( 'google.cloud.vision.v1.OperationMetadata' ); @@ -138,7 +138,7 @@ class ImageAnnotatorClient { }; // Put together the default options sent with requests. - var defaults = gaxGrpc.constructSettings( + const defaults = gaxGrpc.constructSettings( 'google.cloud.vision.v1.ImageAnnotator', gapicConfig, opts.clientConfig, @@ -152,14 +152,14 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1.ImageAnnotator. - var imageAnnotatorStub = gaxGrpc.createStub( + const imageAnnotatorStub = gaxGrpc.createStub( protos.google.cloud.vision.v1.ImageAnnotator, opts ); // Iterate over each of the methods that the service provides // and create an API call method for each. - var imageAnnotatorStubMethods = [ + const imageAnnotatorStubMethods = [ 'batchAnnotateImages', 'asyncBatchAnnotateFiles', ]; @@ -168,7 +168,7 @@ class ImageAnnotatorClient { imageAnnotatorStub.then( stub => function() { - var args = Array.prototype.slice.call(arguments, 0); + const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); } ), @@ -240,14 +240,14 @@ class ImageAnnotatorClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1.ImageAnnotatorClient({ + * const client = new vision.v1.ImageAnnotatorClient({ * // optional auth parameters. * }); * - * var requests = []; + * const requests = []; * client.batchAnnotateImages({requests: requests}) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -293,42 +293,42 @@ class ImageAnnotatorClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1.ImageAnnotatorClient({ + * const client = new vision.v1.ImageAnnotatorClient({ * // optional auth parameters. * }); * - * var requests = []; + * const requests = []; * * // Handle the operation using the promise pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; + * const operation = responses[0]; + * const initialApiResponse = responses[1]; * * // Operation#promise starts polling for the completion of the LRO. * return operation.promise(); * }) * .then(responses => { * // The final result of the operation. - * var result = responses[0]; + * const result = responses[0]; * * // The metadata value of the completed operation. - * var metadata = responses[1]; + * const metadata = responses[1]; * * // The response of the api call returning the complete operation. - * var finalApiResponse = responses[2]; + * const finalApiResponse = responses[2]; * }) * .catch(err => { * console.error(err); * }); * - * var requests = []; + * const requests = []; * * // Handle the operation using the event emitter pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; + * const operation = responses[0]; + * const initialApiResponse = responses[1]; * * // Adding a listener for the "complete" event starts polling for the * // completion of the operation. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js index 1e00a48c1f1..3ec7053728d 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js @@ -29,7 +29,7 @@ * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/geometry.proto} */ -var Vertex = { +const Vertex = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -45,7 +45,7 @@ var Vertex = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/geometry.proto} */ -var BoundingPoly = { +const BoundingPoly = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -67,6 +67,6 @@ var BoundingPoly = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/geometry.proto} */ -var Position = { +const Position = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js index 1de4a13f287..85b8843cddd 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js @@ -38,7 +38,7 @@ * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var Feature = { +const Feature = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -134,7 +134,7 @@ var Feature = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var ImageSource = { +const ImageSource = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -157,7 +157,7 @@ var ImageSource = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var Image = { +const Image = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -249,7 +249,7 @@ var Image = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var FaceAnnotation = { +const FaceAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -473,7 +473,7 @@ var FaceAnnotation = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var LocationInfo = { +const LocationInfo = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -493,7 +493,7 @@ var LocationInfo = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var Property = { +const Property = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -552,7 +552,7 @@ var Property = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var EntityAnnotation = { +const EntityAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -597,7 +597,7 @@ var EntityAnnotation = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var SafeSearchAnnotation = { +const SafeSearchAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -618,7 +618,7 @@ var SafeSearchAnnotation = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var LatLongRect = { +const LatLongRect = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -642,7 +642,7 @@ var LatLongRect = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var ColorInfo = { +const ColorInfo = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -658,7 +658,7 @@ var ColorInfo = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var DominantColorsAnnotation = { +const DominantColorsAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -674,7 +674,7 @@ var DominantColorsAnnotation = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var ImageProperties = { +const ImageProperties = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -698,7 +698,7 @@ var ImageProperties = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var CropHint = { +const CropHint = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -714,7 +714,7 @@ var CropHint = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var CropHintsAnnotation = { +const CropHintsAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -733,7 +733,7 @@ var CropHintsAnnotation = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var CropHintsParams = { +const CropHintsParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -747,7 +747,7 @@ var CropHintsParams = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var WebDetectionParams = { +const WebDetectionParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -783,7 +783,7 @@ var WebDetectionParams = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var ImageContext = { +const ImageContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -810,7 +810,7 @@ var ImageContext = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var AnnotateImageRequest = { +const AnnotateImageRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -881,7 +881,7 @@ var AnnotateImageRequest = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var AnnotateImageResponse = { +const AnnotateImageResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -897,7 +897,7 @@ var AnnotateImageResponse = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var BatchAnnotateImagesRequest = { +const BatchAnnotateImagesRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -913,7 +913,7 @@ var BatchAnnotateImagesRequest = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} */ -var BatchAnnotateImagesResponse = { +const BatchAnnotateImagesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -924,7 +924,7 @@ var BatchAnnotateImagesResponse = { * @enum {number} * @memberof google.cloud.vision.v1p1beta1 */ -var Likelihood = { +const Likelihood = { /** * Unknown likelihood. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js index 4934a62ec6e..2894cf650dd 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js @@ -37,7 +37,7 @@ * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} */ -var TextAnnotation = { +const TextAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -166,7 +166,7 @@ var TextAnnotation = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} */ -var Page = { +const Page = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -214,7 +214,7 @@ var Page = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} */ -var Block = { +const Block = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -296,7 +296,7 @@ var Block = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} */ -var Paragraph = { +const Paragraph = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -340,7 +340,7 @@ var Paragraph = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} */ -var Word = { +const Word = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -381,6 +381,6 @@ var Word = { * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} */ -var Symbol = { +const Symbol = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js index 32de6c25da4..22dd4d7b7af 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js @@ -55,7 +55,7 @@ * @memberof google.cloud.vision.v1p1beta1 * @see [google.cloud.vision.v1p1beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} */ -var WebDetection = { +const WebDetection = { // This is for documentation. Actual contents will be loaded by gRPC. /** diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js index c5c5bbafa23..3accb1fc0d8 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js @@ -131,6 +131,6 @@ * @memberof google.protobuf * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} */ -var Any = { +const Any = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js index 791b600ab1d..363b6391ac1 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js @@ -27,7 +27,7 @@ * @memberof google.protobuf * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var DoubleValue = { +const DoubleValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -43,7 +43,7 @@ var DoubleValue = { * @memberof google.protobuf * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var FloatValue = { +const FloatValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -59,7 +59,7 @@ var FloatValue = { * @memberof google.protobuf * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var Int64Value = { +const Int64Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -75,7 +75,7 @@ var Int64Value = { * @memberof google.protobuf * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var UInt64Value = { +const UInt64Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -91,7 +91,7 @@ var UInt64Value = { * @memberof google.protobuf * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var Int32Value = { +const Int32Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -107,7 +107,7 @@ var Int32Value = { * @memberof google.protobuf * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var UInt32Value = { +const UInt32Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -123,7 +123,7 @@ var UInt32Value = { * @memberof google.protobuf * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var BoolValue = { +const BoolValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -139,7 +139,7 @@ var BoolValue = { * @memberof google.protobuf * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var StringValue = { +const StringValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -155,6 +155,6 @@ var StringValue = { * @memberof google.protobuf * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var BytesValue = { +const BytesValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js index 7122f1682e0..13cfcab1021 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js @@ -87,6 +87,6 @@ * @memberof google.rpc * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} */ -var Status = { +const Status = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js index 8ae80246fe3..c571f13c9a8 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js @@ -159,6 +159,6 @@ * @memberof google.type * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} */ -var Color = { +const Color = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js index 76150dc3be1..abc54303752 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js @@ -66,6 +66,6 @@ * @memberof google.type * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} */ -var LatLng = { +const LatLng = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 2af820fd776..865283c91bd 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -73,13 +73,13 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - var gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gax.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - var clientHeader = [ + const clientHeader = [ `gl-node/${process.version}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, @@ -90,7 +90,7 @@ class ImageAnnotatorClient { } // Load the applicable protos. - var protos = merge( + const protos = merge( {}, gaxGrpc.loadProto( path.join(__dirname, '..', '..', 'protos'), @@ -99,7 +99,7 @@ class ImageAnnotatorClient { ); // Put together the default options sent with requests. - var defaults = gaxGrpc.constructSettings( + const defaults = gaxGrpc.constructSettings( 'google.cloud.vision.v1p1beta1.ImageAnnotator', gapicConfig, opts.clientConfig, @@ -113,20 +113,20 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1p1beta1.ImageAnnotator. - var imageAnnotatorStub = gaxGrpc.createStub( + const imageAnnotatorStub = gaxGrpc.createStub( protos.google.cloud.vision.v1p1beta1.ImageAnnotator, opts ); // Iterate over each of the methods that the service provides // and create an API call method for each. - var imageAnnotatorStubMethods = ['batchAnnotateImages']; + const imageAnnotatorStubMethods = ['batchAnnotateImages']; for (let methodName of imageAnnotatorStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( imageAnnotatorStub.then( stub => function() { - var args = Array.prototype.slice.call(arguments, 0); + const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); } ), @@ -198,14 +198,14 @@ class ImageAnnotatorClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p1beta1.ImageAnnotatorClient({ + * const client = new vision.v1p1beta1.ImageAnnotatorClient({ * // optional auth parameters. * }); * - * var requests = []; + * const requests = []; * client.batchAnnotateImages({requests: requests}) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js index ad2bf6b27ca..c590b580c67 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js @@ -29,7 +29,7 @@ * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} */ -var Vertex = { +const Vertex = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -48,7 +48,7 @@ var Vertex = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} */ -var NormalizedVertex = { +const NormalizedVertex = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -69,7 +69,7 @@ var NormalizedVertex = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} */ -var BoundingPoly = { +const BoundingPoly = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -91,6 +91,6 @@ var BoundingPoly = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} */ -var Position = { +const Position = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js index 8377294aa4a..7d3552be305 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js @@ -38,7 +38,7 @@ * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var Feature = { +const Feature = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -145,7 +145,7 @@ var Feature = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var ImageSource = { +const ImageSource = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -168,7 +168,7 @@ var ImageSource = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var Image = { +const Image = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -260,7 +260,7 @@ var Image = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var FaceAnnotation = { +const FaceAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -484,7 +484,7 @@ var FaceAnnotation = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var LocationInfo = { +const LocationInfo = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -504,7 +504,7 @@ var LocationInfo = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var Property = { +const Property = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -565,7 +565,7 @@ var Property = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var EntityAnnotation = { +const EntityAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -610,7 +610,7 @@ var EntityAnnotation = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var SafeSearchAnnotation = { +const SafeSearchAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -631,7 +631,7 @@ var SafeSearchAnnotation = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var LatLongRect = { +const LatLongRect = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -655,7 +655,7 @@ var LatLongRect = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var ColorInfo = { +const ColorInfo = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -671,7 +671,7 @@ var ColorInfo = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var DominantColorsAnnotation = { +const DominantColorsAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -687,7 +687,7 @@ var DominantColorsAnnotation = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var ImageProperties = { +const ImageProperties = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -711,7 +711,7 @@ var ImageProperties = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var CropHint = { +const CropHint = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -727,7 +727,7 @@ var CropHint = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var CropHintsAnnotation = { +const CropHintsAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -746,7 +746,7 @@ var CropHintsAnnotation = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var CropHintsParams = { +const CropHintsParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -760,7 +760,7 @@ var CropHintsParams = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var WebDetectionParams = { +const WebDetectionParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -796,7 +796,7 @@ var WebDetectionParams = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var ImageContext = { +const ImageContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -823,7 +823,7 @@ var ImageContext = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var AnnotateImageRequest = { +const AnnotateImageRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -842,7 +842,7 @@ var AnnotateImageRequest = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var ImageAnnotationContext = { +const ImageAnnotationContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -919,7 +919,7 @@ var ImageAnnotationContext = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var AnnotateImageResponse = { +const AnnotateImageResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -941,7 +941,7 @@ var AnnotateImageResponse = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var AnnotateFileResponse = { +const AnnotateFileResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -957,7 +957,7 @@ var AnnotateFileResponse = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var BatchAnnotateImagesRequest = { +const BatchAnnotateImagesRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -973,7 +973,7 @@ var BatchAnnotateImagesRequest = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var BatchAnnotateImagesResponse = { +const BatchAnnotateImagesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1004,7 +1004,7 @@ var BatchAnnotateImagesResponse = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var AsyncAnnotateFileRequest = { +const AsyncAnnotateFileRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1020,7 +1020,7 @@ var AsyncAnnotateFileRequest = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var AsyncAnnotateFileResponse = { +const AsyncAnnotateFileResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1037,7 +1037,7 @@ var AsyncAnnotateFileResponse = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var AsyncBatchAnnotateFilesRequest = { +const AsyncBatchAnnotateFilesRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1054,7 +1054,7 @@ var AsyncBatchAnnotateFilesRequest = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var AsyncBatchAnnotateFilesResponse = { +const AsyncBatchAnnotateFilesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1074,7 +1074,7 @@ var AsyncBatchAnnotateFilesResponse = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var InputConfig = { +const InputConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1102,7 +1102,7 @@ var InputConfig = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var OutputConfig = { +const OutputConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1117,7 +1117,7 @@ var OutputConfig = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var GcsSource = { +const GcsSource = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1145,7 +1145,7 @@ var GcsSource = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var GcsDestination = { +const GcsDestination = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1171,7 +1171,7 @@ var GcsDestination = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} */ -var OperationMetadata = { +const OperationMetadata = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -1216,7 +1216,7 @@ var OperationMetadata = { * @enum {number} * @memberof google.cloud.vision.v1p2beta1 */ -var Likelihood = { +const Likelihood = { /** * Unknown likelihood. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js index 5c7c80b6f3b..79ecb1f06aa 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js @@ -36,7 +36,7 @@ * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} */ -var TextAnnotation = { +const TextAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -167,7 +167,7 @@ var TextAnnotation = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} */ -var Page = { +const Page = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -220,7 +220,7 @@ var Page = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} */ -var Block = { +const Block = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -302,7 +302,7 @@ var Block = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} */ -var Paragraph = { +const Paragraph = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -346,7 +346,7 @@ var Paragraph = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} */ -var Word = { +const Word = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -387,6 +387,6 @@ var Word = { * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} */ -var Symbol = { +const Symbol = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js index ba972c7602c..7389d72d765 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js @@ -55,7 +55,7 @@ * @memberof google.cloud.vision.v1p2beta1 * @see [google.cloud.vision.v1p2beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} */ -var WebDetection = { +const WebDetection = { // This is for documentation. Actual contents will be loaded by gRPC. /** diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js index 79ef6344437..4af5d7d3574 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js @@ -58,7 +58,7 @@ * @memberof google.longrunning * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var Operation = { +const Operation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -72,7 +72,7 @@ var Operation = { * @memberof google.longrunning * @see [google.longrunning.GetOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var GetOperationRequest = { +const GetOperationRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -95,7 +95,7 @@ var GetOperationRequest = { * @memberof google.longrunning * @see [google.longrunning.ListOperationsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var ListOperationsRequest = { +const ListOperationsRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -114,7 +114,7 @@ var ListOperationsRequest = { * @memberof google.longrunning * @see [google.longrunning.ListOperationsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var ListOperationsResponse = { +const ListOperationsResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -128,7 +128,7 @@ var ListOperationsResponse = { * @memberof google.longrunning * @see [google.longrunning.CancelOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var CancelOperationRequest = { +const CancelOperationRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -142,6 +142,6 @@ var CancelOperationRequest = { * @memberof google.longrunning * @see [google.longrunning.DeleteOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var DeleteOperationRequest = { +const DeleteOperationRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js index c5c5bbafa23..3accb1fc0d8 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js @@ -131,6 +131,6 @@ * @memberof google.protobuf * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} */ -var Any = { +const Any = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js index 791b600ab1d..363b6391ac1 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js @@ -27,7 +27,7 @@ * @memberof google.protobuf * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var DoubleValue = { +const DoubleValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -43,7 +43,7 @@ var DoubleValue = { * @memberof google.protobuf * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var FloatValue = { +const FloatValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -59,7 +59,7 @@ var FloatValue = { * @memberof google.protobuf * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var Int64Value = { +const Int64Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -75,7 +75,7 @@ var Int64Value = { * @memberof google.protobuf * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var UInt64Value = { +const UInt64Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -91,7 +91,7 @@ var UInt64Value = { * @memberof google.protobuf * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var Int32Value = { +const Int32Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -107,7 +107,7 @@ var Int32Value = { * @memberof google.protobuf * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var UInt32Value = { +const UInt32Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -123,7 +123,7 @@ var UInt32Value = { * @memberof google.protobuf * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var BoolValue = { +const BoolValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -139,7 +139,7 @@ var BoolValue = { * @memberof google.protobuf * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var StringValue = { +const StringValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -155,6 +155,6 @@ var StringValue = { * @memberof google.protobuf * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var BytesValue = { +const BytesValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js index 7122f1682e0..13cfcab1021 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js @@ -87,6 +87,6 @@ * @memberof google.rpc * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} */ -var Status = { +const Status = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js index 8ae80246fe3..c571f13c9a8 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js @@ -159,6 +159,6 @@ * @memberof google.type * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} */ -var Color = { +const Color = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js index 76150dc3be1..abc54303752 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js @@ -66,6 +66,6 @@ * @memberof google.type * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} */ -var LatLng = { +const LatLng = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 00a1236df3b..3bea2b0ae5f 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -74,13 +74,13 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - var gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gax.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - var clientHeader = [ + const clientHeader = [ `gl-node/${process.version}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, @@ -91,14 +91,14 @@ class ImageAnnotatorClient { } // Load the applicable protos. - var protos = merge( + const protos = merge( {}, gaxGrpc.loadProto( path.join(__dirname, '..', '..', 'protos'), 'google/cloud/vision/v1p2beta1/image_annotator.proto' ) ); - var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -118,10 +118,10 @@ class ImageAnnotatorClient { grpc: gaxGrpc.grpc, }).operationsClient(opts); - var asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( 'google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse' ); - var asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( 'google.cloud.vision.v1p2beta1.OperationMetadata' ); @@ -138,7 +138,7 @@ class ImageAnnotatorClient { }; // Put together the default options sent with requests. - var defaults = gaxGrpc.constructSettings( + const defaults = gaxGrpc.constructSettings( 'google.cloud.vision.v1p2beta1.ImageAnnotator', gapicConfig, opts.clientConfig, @@ -152,14 +152,14 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1p2beta1.ImageAnnotator. - var imageAnnotatorStub = gaxGrpc.createStub( + const imageAnnotatorStub = gaxGrpc.createStub( protos.google.cloud.vision.v1p2beta1.ImageAnnotator, opts ); // Iterate over each of the methods that the service provides // and create an API call method for each. - var imageAnnotatorStubMethods = [ + const imageAnnotatorStubMethods = [ 'batchAnnotateImages', 'asyncBatchAnnotateFiles', ]; @@ -168,7 +168,7 @@ class ImageAnnotatorClient { imageAnnotatorStub.then( stub => function() { - var args = Array.prototype.slice.call(arguments, 0); + const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); } ), @@ -240,14 +240,14 @@ class ImageAnnotatorClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p2beta1.ImageAnnotatorClient({ + * const client = new vision.v1p2beta1.ImageAnnotatorClient({ * // optional auth parameters. * }); * - * var requests = []; + * const requests = []; * client.batchAnnotateImages({requests: requests}) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -293,42 +293,42 @@ class ImageAnnotatorClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p2beta1.ImageAnnotatorClient({ + * const client = new vision.v1p2beta1.ImageAnnotatorClient({ * // optional auth parameters. * }); * - * var requests = []; + * const requests = []; * * // Handle the operation using the promise pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; + * const operation = responses[0]; + * const initialApiResponse = responses[1]; * * // Operation#promise starts polling for the completion of the LRO. * return operation.promise(); * }) * .then(responses => { * // The final result of the operation. - * var result = responses[0]; + * const result = responses[0]; * * // The metadata value of the completed operation. - * var metadata = responses[1]; + * const metadata = responses[1]; * * // The response of the api call returning the complete operation. - * var finalApiResponse = responses[2]; + * const finalApiResponse = responses[2]; * }) * .catch(err => { * console.error(err); * }); * - * var requests = []; + * const requests = []; * * // Handle the operation using the event emitter pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; + * const operation = responses[0]; + * const initialApiResponse = responses[1]; * * // Adding a listener for the "complete" event starts polling for the * // completion of the operation. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js index d71d4054d1b..b1b212e1eb8 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js @@ -29,7 +29,7 @@ * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} */ -var Vertex = { +const Vertex = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -48,7 +48,7 @@ var Vertex = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} */ -var NormalizedVertex = { +const NormalizedVertex = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -69,7 +69,7 @@ var NormalizedVertex = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} */ -var BoundingPoly = { +const BoundingPoly = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -85,7 +85,7 @@ var BoundingPoly = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.NormalizedBoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} */ -var NormalizedBoundingPoly = { +const NormalizedBoundingPoly = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -107,6 +107,6 @@ var NormalizedBoundingPoly = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} */ -var Position = { +const Position = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js index 2a119fb46ec..06ec045d102 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js @@ -38,7 +38,7 @@ * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var Feature = { +const Feature = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -155,7 +155,7 @@ var Feature = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var ImageSource = { +const ImageSource = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -178,7 +178,7 @@ var ImageSource = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var Image = { +const Image = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -270,7 +270,7 @@ var Image = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var FaceAnnotation = { +const FaceAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -494,7 +494,7 @@ var FaceAnnotation = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var LocationInfo = { +const LocationInfo = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -514,7 +514,7 @@ var LocationInfo = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var Property = { +const Property = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -575,7 +575,7 @@ var Property = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var EntityAnnotation = { +const EntityAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -605,7 +605,7 @@ var EntityAnnotation = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var LocalizedObjectAnnotation = { +const LocalizedObjectAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -650,7 +650,7 @@ var LocalizedObjectAnnotation = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var SafeSearchAnnotation = { +const SafeSearchAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -671,7 +671,7 @@ var SafeSearchAnnotation = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var LatLongRect = { +const LatLongRect = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -695,7 +695,7 @@ var LatLongRect = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var ColorInfo = { +const ColorInfo = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -711,7 +711,7 @@ var ColorInfo = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var DominantColorsAnnotation = { +const DominantColorsAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -727,7 +727,7 @@ var DominantColorsAnnotation = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var ImageProperties = { +const ImageProperties = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -751,7 +751,7 @@ var ImageProperties = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var CropHint = { +const CropHint = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -767,7 +767,7 @@ var CropHint = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var CropHintsAnnotation = { +const CropHintsAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -786,7 +786,7 @@ var CropHintsAnnotation = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var CropHintsParams = { +const CropHintsParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -800,7 +800,7 @@ var CropHintsParams = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var WebDetectionParams = { +const WebDetectionParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -841,7 +841,7 @@ var WebDetectionParams = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var ImageContext = { +const ImageContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -868,7 +868,7 @@ var ImageContext = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var AnnotateImageRequest = { +const AnnotateImageRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -887,7 +887,7 @@ var AnnotateImageRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var ImageAnnotationContext = { +const ImageAnnotationContext = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -975,7 +975,7 @@ var ImageAnnotationContext = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var AnnotateImageResponse = { +const AnnotateImageResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -997,7 +997,7 @@ var AnnotateImageResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var AnnotateFileResponse = { +const AnnotateFileResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1013,7 +1013,7 @@ var AnnotateFileResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var BatchAnnotateImagesRequest = { +const BatchAnnotateImagesRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1029,7 +1029,7 @@ var BatchAnnotateImagesRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var BatchAnnotateImagesResponse = { +const BatchAnnotateImagesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1060,7 +1060,7 @@ var BatchAnnotateImagesResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var AsyncAnnotateFileRequest = { +const AsyncAnnotateFileRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1076,7 +1076,7 @@ var AsyncAnnotateFileRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var AsyncAnnotateFileResponse = { +const AsyncAnnotateFileResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1093,7 +1093,7 @@ var AsyncAnnotateFileResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var AsyncBatchAnnotateFilesRequest = { +const AsyncBatchAnnotateFilesRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1110,7 +1110,7 @@ var AsyncBatchAnnotateFilesRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var AsyncBatchAnnotateFilesResponse = { +const AsyncBatchAnnotateFilesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1130,7 +1130,7 @@ var AsyncBatchAnnotateFilesResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var InputConfig = { +const InputConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1159,7 +1159,7 @@ var InputConfig = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var OutputConfig = { +const OutputConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1174,7 +1174,7 @@ var OutputConfig = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var GcsSource = { +const GcsSource = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1202,7 +1202,7 @@ var GcsSource = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var GcsDestination = { +const GcsDestination = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -1228,7 +1228,7 @@ var GcsDestination = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} */ -var OperationMetadata = { +const OperationMetadata = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -1273,7 +1273,7 @@ var OperationMetadata = { * @enum {number} * @memberof google.cloud.vision.v1p3beta1 */ -var Likelihood = { +const Likelihood = { /** * Unknown likelihood. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js index edfc470507b..e8df1deaee9 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js @@ -78,7 +78,7 @@ * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ProductSearchParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} */ -var ProductSearchParams = { +const ProductSearchParams = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -116,7 +116,7 @@ var ProductSearchParams = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ProductSearchResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} */ -var ProductSearchResults = { +const ProductSearchResults = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -180,7 +180,7 @@ var ProductSearchResults = { * @enum {number} * @memberof google.cloud.vision.v1p3beta1 */ -var ProductSearchCategory = { +const ProductSearchCategory = { /** * Default value used when a category is not specified. @@ -204,7 +204,7 @@ var ProductSearchCategory = { * @enum {number} * @memberof google.cloud.vision.v1p3beta1 */ -var ProductSearchResultsView = { +const ProductSearchResultsView = { /** * Product search results contain only `product_category` and `product_id`. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js index e4a3df680e8..cc20ed58d19 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js @@ -57,7 +57,7 @@ * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Product definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var Product = { +const Product = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -118,7 +118,7 @@ var Product = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ProductSet definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ProductSet = { +const ProductSet = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -158,7 +158,7 @@ var ProductSet = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ReferenceImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ReferenceImage = { +const ReferenceImage = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -186,7 +186,7 @@ var ReferenceImage = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.CreateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var CreateProductRequest = { +const CreateProductRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -209,7 +209,7 @@ var CreateProductRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ListProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ListProductsRequest = { +const ListProductsRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -229,7 +229,7 @@ var ListProductsRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ListProductsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ListProductsResponse = { +const ListProductsResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -246,7 +246,7 @@ var ListProductsResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.GetProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var GetProductRequest = { +const GetProductRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -272,7 +272,7 @@ var GetProductRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.UpdateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var UpdateProductRequest = { +const UpdateProductRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -289,7 +289,7 @@ var UpdateProductRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.DeleteProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var DeleteProductRequest = { +const DeleteProductRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -316,7 +316,7 @@ var DeleteProductRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.CreateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var CreateProductSetRequest = { +const CreateProductSetRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -338,7 +338,7 @@ var CreateProductSetRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ListProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ListProductSetsRequest = { +const ListProductSetsRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -358,7 +358,7 @@ var ListProductSetsRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ListProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ListProductSetsResponse = { +const ListProductSetsResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -375,7 +375,7 @@ var ListProductSetsResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.GetProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var GetProductSetRequest = { +const GetProductSetRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -399,7 +399,7 @@ var GetProductSetRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.UpdateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var UpdateProductSetRequest = { +const UpdateProductSetRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -416,7 +416,7 @@ var UpdateProductSetRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.DeleteProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var DeleteProductSetRequest = { +const DeleteProductSetRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -445,7 +445,7 @@ var DeleteProductSetRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.CreateReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var CreateReferenceImageRequest = { +const CreateReferenceImageRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -471,7 +471,7 @@ var CreateReferenceImageRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ListReferenceImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ListReferenceImagesRequest = { +const ListReferenceImagesRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -493,7 +493,7 @@ var ListReferenceImagesRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ListReferenceImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ListReferenceImagesResponse = { +const ListReferenceImagesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -511,7 +511,7 @@ var ListReferenceImagesResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.GetReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var GetReferenceImageRequest = { +const GetReferenceImageRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -529,7 +529,7 @@ var GetReferenceImageRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var DeleteReferenceImageRequest = { +const DeleteReferenceImageRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -552,7 +552,7 @@ var DeleteReferenceImageRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.AddProductToProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var AddProductToProductSetRequest = { +const AddProductToProductSetRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -575,7 +575,7 @@ var AddProductToProductSetRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var RemoveProductFromProductSetRequest = { +const RemoveProductFromProductSetRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -598,7 +598,7 @@ var RemoveProductFromProductSetRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ListProductsInProductSetRequest = { +const ListProductsInProductSetRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -618,7 +618,7 @@ var ListProductsInProductSetRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ListProductsInProductSetResponse = { +const ListProductsInProductSetResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -687,7 +687,7 @@ var ListProductsInProductSetResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ImportProductSetsGcsSource = { +const ImportProductSetsGcsSource = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -704,7 +704,7 @@ var ImportProductSetsGcsSource = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ImportProductSetsInputConfig = { +const ImportProductSetsInputConfig = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -725,7 +725,7 @@ var ImportProductSetsInputConfig = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ImportProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ImportProductSetsRequest = { +const ImportProductSetsRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -755,7 +755,7 @@ var ImportProductSetsRequest = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.ImportProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var ImportProductSetsResponse = { +const ImportProductSetsResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -785,7 +785,7 @@ var ImportProductSetsResponse = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.BatchOperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} */ -var BatchOperationMetadata = { +const BatchOperationMetadata = { // This is for documentation. Actual contents will be loaded by gRPC. /** diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js index da54f338c73..665b303be9a 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js @@ -36,7 +36,7 @@ * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} */ -var TextAnnotation = { +const TextAnnotation = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -167,7 +167,7 @@ var TextAnnotation = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} */ -var Page = { +const Page = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -220,7 +220,7 @@ var Page = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} */ -var Block = { +const Block = { // This is for documentation. Actual contents will be loaded by gRPC. /** @@ -302,7 +302,7 @@ var Block = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} */ -var Paragraph = { +const Paragraph = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -346,7 +346,7 @@ var Paragraph = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} */ -var Word = { +const Word = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -387,6 +387,6 @@ var Word = { * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} */ -var Symbol = { +const Symbol = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js index eec0727e29b..bfc76d1f9ab 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js @@ -55,7 +55,7 @@ * @memberof google.cloud.vision.v1p3beta1 * @see [google.cloud.vision.v1p3beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} */ -var WebDetection = { +const WebDetection = { // This is for documentation. Actual contents will be loaded by gRPC. /** diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js index 79ef6344437..4af5d7d3574 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js @@ -58,7 +58,7 @@ * @memberof google.longrunning * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var Operation = { +const Operation = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -72,7 +72,7 @@ var Operation = { * @memberof google.longrunning * @see [google.longrunning.GetOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var GetOperationRequest = { +const GetOperationRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -95,7 +95,7 @@ var GetOperationRequest = { * @memberof google.longrunning * @see [google.longrunning.ListOperationsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var ListOperationsRequest = { +const ListOperationsRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -114,7 +114,7 @@ var ListOperationsRequest = { * @memberof google.longrunning * @see [google.longrunning.ListOperationsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var ListOperationsResponse = { +const ListOperationsResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -128,7 +128,7 @@ var ListOperationsResponse = { * @memberof google.longrunning * @see [google.longrunning.CancelOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var CancelOperationRequest = { +const CancelOperationRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -142,6 +142,6 @@ var CancelOperationRequest = { * @memberof google.longrunning * @see [google.longrunning.DeleteOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} */ -var DeleteOperationRequest = { +const DeleteOperationRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js index c5c5bbafa23..3accb1fc0d8 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js @@ -131,6 +131,6 @@ * @memberof google.protobuf * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} */ -var Any = { +const Any = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js index 5e3640e90d8..b1d6b5e32a9 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js @@ -29,6 +29,6 @@ * @memberof google.protobuf * @see [google.protobuf.Empty definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/empty.proto} */ -var Empty = { +const Empty = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js index d700752b7c6..0cb35328962 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js @@ -231,6 +231,6 @@ * @memberof google.protobuf * @see [google.protobuf.FieldMask definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/field_mask.proto} */ -var FieldMask = { +const FieldMask = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js index 51d8f40f54d..1ebe2e6e1a5 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js @@ -110,6 +110,6 @@ * @memberof google.protobuf * @see [google.protobuf.Timestamp definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto} */ -var Timestamp = { +const Timestamp = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js index 791b600ab1d..363b6391ac1 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js @@ -27,7 +27,7 @@ * @memberof google.protobuf * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var DoubleValue = { +const DoubleValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -43,7 +43,7 @@ var DoubleValue = { * @memberof google.protobuf * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var FloatValue = { +const FloatValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -59,7 +59,7 @@ var FloatValue = { * @memberof google.protobuf * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var Int64Value = { +const Int64Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -75,7 +75,7 @@ var Int64Value = { * @memberof google.protobuf * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var UInt64Value = { +const UInt64Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -91,7 +91,7 @@ var UInt64Value = { * @memberof google.protobuf * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var Int32Value = { +const Int32Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -107,7 +107,7 @@ var Int32Value = { * @memberof google.protobuf * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var UInt32Value = { +const UInt32Value = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -123,7 +123,7 @@ var UInt32Value = { * @memberof google.protobuf * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var BoolValue = { +const BoolValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -139,7 +139,7 @@ var BoolValue = { * @memberof google.protobuf * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var StringValue = { +const StringValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; @@ -155,6 +155,6 @@ var StringValue = { * @memberof google.protobuf * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} */ -var BytesValue = { +const BytesValue = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js index 7122f1682e0..13cfcab1021 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js @@ -87,6 +87,6 @@ * @memberof google.rpc * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} */ -var Status = { +const Status = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js index 8ae80246fe3..c571f13c9a8 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js @@ -159,6 +159,6 @@ * @memberof google.type * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} */ -var Color = { +const Color = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js index 76150dc3be1..abc54303752 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js @@ -66,6 +66,6 @@ * @memberof google.type * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} */ -var LatLng = { +const LatLng = { // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 38c904bef91..8370a95611c 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -74,13 +74,13 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - var gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gax.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - var clientHeader = [ + const clientHeader = [ `gl-node/${process.version}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, @@ -91,14 +91,14 @@ class ImageAnnotatorClient { } // Load the applicable protos. - var protos = merge( + const protos = merge( {}, gaxGrpc.loadProto( path.join(__dirname, '..', '..', 'protos'), 'google/cloud/vision/v1p3beta1/image_annotator.proto' ) ); - var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -118,10 +118,10 @@ class ImageAnnotatorClient { grpc: gaxGrpc.grpc, }).operationsClient(opts); - var asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( 'google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse' ); - var asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( 'google.cloud.vision.v1p3beta1.OperationMetadata' ); @@ -138,7 +138,7 @@ class ImageAnnotatorClient { }; // Put together the default options sent with requests. - var defaults = gaxGrpc.constructSettings( + const defaults = gaxGrpc.constructSettings( 'google.cloud.vision.v1p3beta1.ImageAnnotator', gapicConfig, opts.clientConfig, @@ -152,14 +152,14 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1p3beta1.ImageAnnotator. - var imageAnnotatorStub = gaxGrpc.createStub( + const imageAnnotatorStub = gaxGrpc.createStub( protos.google.cloud.vision.v1p3beta1.ImageAnnotator, opts ); // Iterate over each of the methods that the service provides // and create an API call method for each. - var imageAnnotatorStubMethods = [ + const imageAnnotatorStubMethods = [ 'batchAnnotateImages', 'asyncBatchAnnotateFiles', ]; @@ -168,7 +168,7 @@ class ImageAnnotatorClient { imageAnnotatorStub.then( stub => function() { - var args = Array.prototype.slice.call(arguments, 0); + const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); } ), @@ -240,14 +240,14 @@ class ImageAnnotatorClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ImageAnnotatorClient({ + * const client = new vision.v1p3beta1.ImageAnnotatorClient({ * // optional auth parameters. * }); * - * var requests = []; + * const requests = []; * client.batchAnnotateImages({requests: requests}) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -293,42 +293,42 @@ class ImageAnnotatorClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ImageAnnotatorClient({ + * const client = new vision.v1p3beta1.ImageAnnotatorClient({ * // optional auth parameters. * }); * - * var requests = []; + * const requests = []; * * // Handle the operation using the promise pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; + * const operation = responses[0]; + * const initialApiResponse = responses[1]; * * // Operation#promise starts polling for the completion of the LRO. * return operation.promise(); * }) * .then(responses => { * // The final result of the operation. - * var result = responses[0]; + * const result = responses[0]; * * // The metadata value of the completed operation. - * var metadata = responses[1]; + * const metadata = responses[1]; * * // The response of the api call returning the complete operation. - * var finalApiResponse = responses[2]; + * const finalApiResponse = responses[2]; * }) * .catch(err => { * console.error(err); * }); * - * var requests = []; + * const requests = []; * * // Handle the operation using the event emitter pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; + * const operation = responses[0]; + * const initialApiResponse = responses[1]; * * // Adding a listener for the "complete" event starts polling for the * // completion of the operation. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 3f4def02a25..789395b186e 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -85,13 +85,13 @@ class ProductSearchClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - var gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gax.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - var clientHeader = [ + const clientHeader = [ `gl-node/${process.version}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, @@ -102,7 +102,7 @@ class ProductSearchClient { } // Load the applicable protos. - var protos = merge( + const protos = merge( {}, gaxGrpc.loadProto( path.join(__dirname, '..', '..', 'protos'), @@ -153,7 +153,7 @@ class ProductSearchClient { 'products' ), }; - var protoFilesRoot = new gax.GoogleProtoFilesRoot(); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( path.join( __dirname, @@ -173,10 +173,10 @@ class ProductSearchClient { grpc: gaxGrpc.grpc, }).operationsClient(opts); - var importProductSetsResponse = protoFilesRoot.lookup( + const importProductSetsResponse = protoFilesRoot.lookup( 'google.cloud.vision.v1p3beta1.ImportProductSetsResponse' ); - var importProductSetsMetadata = protoFilesRoot.lookup( + const importProductSetsMetadata = protoFilesRoot.lookup( 'google.cloud.vision.v1p3beta1.BatchOperationMetadata' ); @@ -189,7 +189,7 @@ class ProductSearchClient { }; // Put together the default options sent with requests. - var defaults = gaxGrpc.constructSettings( + const defaults = gaxGrpc.constructSettings( 'google.cloud.vision.v1p3beta1.ProductSearch', gapicConfig, opts.clientConfig, @@ -203,14 +203,14 @@ class ProductSearchClient { // Put together the "service stub" for // google.cloud.vision.v1p3beta1.ProductSearch. - var productSearchStub = gaxGrpc.createStub( + const productSearchStub = gaxGrpc.createStub( protos.google.cloud.vision.v1p3beta1.ProductSearch, opts ); // Iterate over each of the methods that the service provides // and create an API call method for each. - var productSearchStubMethods = [ + const productSearchStubMethods = [ 'createProductSet', 'listProductSets', 'getProductSet', @@ -235,7 +235,7 @@ class ProductSearchClient { productSearchStub.then( stub => function() { - var args = Array.prototype.slice.call(arguments, 0); + const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); } ), @@ -322,21 +322,21 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * var productSet = {}; - * var productSetId = ''; - * var request = { + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const productSet = {}; + * const productSetId = ''; + * const request = { * parent: formattedParent, * productSet: productSet, * productSetId: productSetId, * }; * client.createProductSet(request) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -400,16 +400,16 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * * // Iterate over all elements. - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); * * client.listProductSets({parent: formattedParent}) * .then(responses => { - * var resources = responses[0]; + * const resources = responses[0]; * for (let i = 0; i < resources.length; i += 1) { * // doThingsWith(resources[i]) * } @@ -419,17 +419,17 @@ class ProductSearchClient { * }); * * // Or obtain the paged response. - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); * * - * var options = {autoPaginate: false}; - * var callback = responses => { + * const options = {autoPaginate: false}; + * const callback = responses => { * // The actual resources in a response. - * var resources = responses[0]; + * const resources = responses[0]; * // The next request if the response shows that there are more responses. - * var nextRequest = responses[1]; + * const nextRequest = responses[1]; * // The actual response object, if necessary. - * // var rawResponse = responses[2]; + * // const rawResponse = responses[2]; * for (let i = 0; i < resources.length; i += 1) { * // doThingsWith(resources[i]); * } @@ -489,11 +489,11 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); * client.listProductSetsStream({parent: formattedParent}) * .on('data', element => { * // doThingsWith(element) @@ -540,14 +540,14 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); * client.getProductSet({name: formattedName}) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -602,19 +602,19 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var productSet = {}; - * var updateMask = {}; - * var request = { + * const productSet = {}; + * const updateMask = {}; + * const request = { * productSet: productSet, * updateMask: updateMask, * }; * client.updateProductSet(request) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -660,11 +660,11 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); * client.deleteProductSet({name: formattedName}).catch(err => { * console.error(err); * }); @@ -720,21 +720,21 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * var product = {}; - * var productId = ''; - * var request = { + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const product = {}; + * const productId = ''; + * const request = { * parent: formattedParent, * product: product, * productId: productId, * }; * client.createProduct(request) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -798,16 +798,16 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * * // Iterate over all elements. - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); * * client.listProducts({parent: formattedParent}) * .then(responses => { - * var resources = responses[0]; + * const resources = responses[0]; * for (let i = 0; i < resources.length; i += 1) { * // doThingsWith(resources[i]) * } @@ -817,17 +817,17 @@ class ProductSearchClient { * }); * * // Or obtain the paged response. - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); * * - * var options = {autoPaginate: false}; - * var callback = responses => { + * const options = {autoPaginate: false}; + * const callback = responses => { * // The actual resources in a response. - * var resources = responses[0]; + * const resources = responses[0]; * // The next request if the response shows that there are more responses. - * var nextRequest = responses[1]; + * const nextRequest = responses[1]; * // The actual response object, if necessary. - * // var rawResponse = responses[2]; + * // const rawResponse = responses[2]; * for (let i = 0; i < resources.length; i += 1) { * // doThingsWith(resources[i]); * } @@ -888,11 +888,11 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); * client.listProductsStream({parent: formattedParent}) * .on('data', element => { * // doThingsWith(element) @@ -939,14 +939,14 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); * client.getProduct({name: formattedName}) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -1009,19 +1009,19 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var product = {}; - * var updateMask = {}; - * var request = { + * const product = {}; + * const updateMask = {}; + * const request = { * product: product, * updateMask: updateMask, * }; * client.updateProduct(request) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -1068,11 +1068,11 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); * client.deleteProduct({name: formattedName}).catch(err => { * console.error(err); * }); @@ -1140,21 +1140,21 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * var referenceImage = {}; - * var referenceImageId = ''; - * var request = { + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * const referenceImage = {}; + * const referenceImageId = ''; + * const request = { * parent: formattedParent, * referenceImage: referenceImage, * referenceImageId: referenceImageId, * }; * client.createReferenceImage(request) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -1204,11 +1204,11 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); + * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); * client.deleteReferenceImage({name: formattedName}).catch(err => { * console.error(err); * }); @@ -1272,16 +1272,16 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * * // Iterate over all elements. - * var formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); * * client.listReferenceImages({parent: formattedParent}) * .then(responses => { - * var resources = responses[0]; + * const resources = responses[0]; * for (let i = 0; i < resources.length; i += 1) { * // doThingsWith(resources[i]) * } @@ -1291,17 +1291,17 @@ class ProductSearchClient { * }); * * // Or obtain the paged response. - * var formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); * * - * var options = {autoPaginate: false}; - * var callback = responses => { + * const options = {autoPaginate: false}; + * const callback = responses => { * // The actual resources in a response. - * var resources = responses[0]; + * const resources = responses[0]; * // The next request if the response shows that there are more responses. - * var nextRequest = responses[1]; + * const nextRequest = responses[1]; * // The actual response object, if necessary. - * // var rawResponse = responses[2]; + * // const rawResponse = responses[2]; * for (let i = 0; i < resources.length; i += 1) { * // doThingsWith(resources[i]); * } @@ -1362,11 +1362,11 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); * client.listReferenceImagesStream({parent: formattedParent}) * .on('data', element => { * // doThingsWith(element) @@ -1414,14 +1414,14 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); + * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); * client.getReferenceImage({name: formattedName}) * .then(responses => { - * var response = responses[0]; + * const response = responses[0]; * // doThingsWith(response) * }) * .catch(err => { @@ -1472,13 +1472,13 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * var product = ''; - * var request = { + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const product = ''; + * const request = { * name: formattedName, * product: product, * }; @@ -1531,13 +1531,13 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * var product = ''; - * var request = { + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const product = ''; + * const request = { * name: formattedName, * product: product, * }; @@ -1608,16 +1608,16 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * * // Iterate over all elements. - * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); * * client.listProductsInProductSet({name: formattedName}) * .then(responses => { - * var resources = responses[0]; + * const resources = responses[0]; * for (let i = 0; i < resources.length; i += 1) { * // doThingsWith(resources[i]) * } @@ -1627,17 +1627,17 @@ class ProductSearchClient { * }); * * // Or obtain the paged response. - * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); * * - * var options = {autoPaginate: false}; - * var callback = responses => { + * const options = {autoPaginate: false}; + * const callback = responses => { * // The actual resources in a response. - * var resources = responses[0]; + * const resources = responses[0]; * // The next request if the response shows that there are more responses. - * var nextRequest = responses[1]; + * const nextRequest = responses[1]; * // The actual response object, if necessary. - * // var rawResponse = responses[2]; + * // const rawResponse = responses[2]; * for (let i = 0; i < resources.length; i += 1) { * // doThingsWith(resources[i]); * } @@ -1702,11 +1702,11 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); * client.listProductsInProductSetStream({name: formattedName}) * .on('data', element => { * // doThingsWith(element) @@ -1762,13 +1762,13 @@ class ProductSearchClient { * * const vision = require('@google-cloud/vision'); * - * var client = new vision.v1p3beta1.ProductSearchClient({ + * const client = new vision.v1p3beta1.ProductSearchClient({ * // optional auth parameters. * }); * - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * var inputConfig = {}; - * var request = { + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const inputConfig = {}; + * const request = { * parent: formattedParent, * inputConfig: inputConfig, * }; @@ -1776,29 +1776,29 @@ class ProductSearchClient { * // Handle the operation using the promise pattern. * client.importProductSets(request) * .then(responses => { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; + * const operation = responses[0]; + * const initialApiResponse = responses[1]; * * // Operation#promise starts polling for the completion of the LRO. * return operation.promise(); * }) * .then(responses => { * // The final result of the operation. - * var result = responses[0]; + * const result = responses[0]; * * // The metadata value of the completed operation. - * var metadata = responses[1]; + * const metadata = responses[1]; * * // The response of the api call returning the complete operation. - * var finalApiResponse = responses[2]; + * const finalApiResponse = responses[2]; * }) * .catch(err => { * console.error(err); * }); * - * var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * var inputConfig = {}; - * var request = { + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const inputConfig = {}; + * const request = { * parent: formattedParent, * inputConfig: inputConfig, * }; @@ -1806,8 +1806,8 @@ class ProductSearchClient { * // Handle the operation using the event emitter pattern. * client.importProductSets(request) * .then(responses => { - * var operation = responses[0]; - * var initialApiResponse = responses[1]; + * const operation = responses[0]; + * const initialApiResponse = responses[1]; * * // Adding a listener for the "complete" event starts polling for the * // completion of the operation. diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index f242503594e..7a2b784bfcb 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -18,26 +18,26 @@ const assert = require('assert'); const visionModule = require('../src'); -var FAKE_STATUS_CODE = 1; -var error = new Error(); +const FAKE_STATUS_CODE = 1; +const error = new Error(); error.code = FAKE_STATUS_CODE; describe('ImageAnnotatorClient', () => { describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { - var client = new visionModule.v1.ImageAnnotatorClient({ + const client = new visionModule.v1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( @@ -53,14 +53,14 @@ describe('ImageAnnotatorClient', () => { }); it('invokes batchAnnotateImages with error', done => { - var client = new visionModule.v1.ImageAnnotatorClient({ + const client = new visionModule.v1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; @@ -82,19 +82,19 @@ describe('ImageAnnotatorClient', () => { describe('asyncBatchAnnotateFiles', function() { it('invokes asyncBatchAnnotateFiles without error', done => { - var client = new visionModule.v1.ImageAnnotatorClient({ + const client = new visionModule.v1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( @@ -105,7 +105,7 @@ describe('ImageAnnotatorClient', () => { client .asyncBatchAnnotateFiles(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(responses => { @@ -118,14 +118,14 @@ describe('ImageAnnotatorClient', () => { }); it('invokes asyncBatchAnnotateFiles with error', done => { - var client = new visionModule.v1.ImageAnnotatorClient({ + const client = new visionModule.v1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; @@ -139,7 +139,7 @@ describe('ImageAnnotatorClient', () => { client .asyncBatchAnnotateFiles(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(() => { @@ -153,7 +153,7 @@ describe('ImageAnnotatorClient', () => { }); it('has longrunning decoder functions', () => { - var client = new visionModule.v1.ImageAnnotatorClient({ + const client = new visionModule.v1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); @@ -185,7 +185,7 @@ function mockSimpleGrpcMethod(expectedRequest, response, error) { function mockLongRunningGrpcMethod(expectedRequest, response, error) { return request => { assert.deepStrictEqual(request, expectedRequest); - var mockOperation = { + const mockOperation = { promise: function() { return new Promise((resolve, reject) => { if (error) { diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js index 8812f4fb8e9..c7f75ff3734 100644 --- a/packages/google-cloud-vision/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p1beta1.js @@ -18,26 +18,26 @@ const assert = require('assert'); const visionModule = require('../src'); -var FAKE_STATUS_CODE = 1; -var error = new Error(); +const FAKE_STATUS_CODE = 1; +const error = new Error(); error.code = FAKE_STATUS_CODE; describe('ImageAnnotatorClient', () => { describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { - var client = new visionModule.v1p1beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p1beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( @@ -53,14 +53,14 @@ describe('ImageAnnotatorClient', () => { }); it('invokes batchAnnotateImages with error', done => { - var client = new visionModule.v1p1beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p1beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; diff --git a/packages/google-cloud-vision/test/gapic-v1p2beta1.js b/packages/google-cloud-vision/test/gapic-v1p2beta1.js index c53e4d1515e..a832fd5b9dd 100644 --- a/packages/google-cloud-vision/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p2beta1.js @@ -18,26 +18,26 @@ const assert = require('assert'); const visionModule = require('../src'); -var FAKE_STATUS_CODE = 1; -var error = new Error(); +const FAKE_STATUS_CODE = 1; +const error = new Error(); error.code = FAKE_STATUS_CODE; describe('ImageAnnotatorClient', () => { describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { - var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( @@ -53,14 +53,14 @@ describe('ImageAnnotatorClient', () => { }); it('invokes batchAnnotateImages with error', done => { - var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; @@ -82,19 +82,19 @@ describe('ImageAnnotatorClient', () => { describe('asyncBatchAnnotateFiles', function() { it('invokes asyncBatchAnnotateFiles without error', done => { - var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( @@ -105,7 +105,7 @@ describe('ImageAnnotatorClient', () => { client .asyncBatchAnnotateFiles(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(responses => { @@ -118,14 +118,14 @@ describe('ImageAnnotatorClient', () => { }); it('invokes asyncBatchAnnotateFiles with error', done => { - var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; @@ -139,7 +139,7 @@ describe('ImageAnnotatorClient', () => { client .asyncBatchAnnotateFiles(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(() => { @@ -153,7 +153,7 @@ describe('ImageAnnotatorClient', () => { }); it('has longrunning decoder functions', () => { - var client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); @@ -185,7 +185,7 @@ function mockSimpleGrpcMethod(expectedRequest, response, error) { function mockLongRunningGrpcMethod(expectedRequest, response, error) { return request => { assert.deepStrictEqual(request, expectedRequest); - var mockOperation = { + const mockOperation = { promise: function() { return new Promise((resolve, reject) => { if (error) { diff --git a/packages/google-cloud-vision/test/gapic-v1p3beta1.js b/packages/google-cloud-vision/test/gapic-v1p3beta1.js index 9a4198f0ba7..ea7dca9e9a1 100644 --- a/packages/google-cloud-vision/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p3beta1.js @@ -18,32 +18,32 @@ const assert = require('assert'); const visionModule = require('../src'); -var FAKE_STATUS_CODE = 1; -var error = new Error(); +const FAKE_STATUS_CODE = 1; +const error = new Error(); error.code = FAKE_STATUS_CODE; describe('ProductSearchClient', () => { describe('createProductSet', () => { it('invokes createProductSet without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var productSet = {}; - var productSetId = 'productSetId4216680'; - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const productSet = {}; + const productSetId = 'productSetId4216680'; + const request = { parent: formattedParent, productSet: productSet, productSetId: productSetId, }; // Mock response - var name = 'name3373707'; - var displayName = 'displayName1615086568'; - var expectedResponse = { + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const expectedResponse = { name: name, displayName: displayName, }; @@ -62,16 +62,16 @@ describe('ProductSearchClient', () => { }); it('invokes createProductSet with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var productSet = {}; - var productSetId = 'productSetId4216680'; - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const productSet = {}; + const productSetId = 'productSetId4216680'; + const request = { parent: formattedParent, productSet: productSet, productSetId: productSetId, @@ -95,22 +95,22 @@ describe('ProductSearchClient', () => { describe('listProductSets', () => { it('invokes listProductSets without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { parent: formattedParent, }; // Mock response - var nextPageToken = ''; - var productSetsElement = {}; - var productSets = [productSetsElement]; - var expectedResponse = { + const nextPageToken = ''; + const productSetsElement = {}; + const productSets = [productSetsElement]; + const expectedResponse = { nextPageToken: nextPageToken, productSets: productSets, }; @@ -133,14 +133,14 @@ describe('ProductSearchClient', () => { }); it('invokes listProductSets with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { parent: formattedParent, }; @@ -162,25 +162,25 @@ describe('ProductSearchClient', () => { describe('getProductSet', () => { it('invokes getProductSet without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var request = { + const request = { name: formattedName, }; // Mock response - var name2 = 'name2-1052831874'; - var displayName = 'displayName1615086568'; - var expectedResponse = { + const name2 = 'name2-1052831874'; + const displayName = 'displayName1615086568'; + const expectedResponse = { name: name2, displayName: displayName, }; @@ -199,18 +199,18 @@ describe('ProductSearchClient', () => { }); it('invokes getProductSet with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var request = { + const request = { name: formattedName, }; @@ -232,23 +232,23 @@ describe('ProductSearchClient', () => { describe('updateProductSet', () => { it('invokes updateProductSet without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var productSet = {}; - var updateMask = {}; - var request = { + const productSet = {}; + const updateMask = {}; + const request = { productSet: productSet, updateMask: updateMask, }; // Mock response - var name = 'name3373707'; - var displayName = 'displayName1615086568'; - var expectedResponse = { + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const expectedResponse = { name: name, displayName: displayName, }; @@ -267,15 +267,15 @@ describe('ProductSearchClient', () => { }); it('invokes updateProductSet with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var productSet = {}; - var updateMask = {}; - var request = { + const productSet = {}; + const updateMask = {}; + const request = { productSet: productSet, updateMask: updateMask, }; @@ -298,18 +298,18 @@ describe('ProductSearchClient', () => { describe('deleteProductSet', () => { it('invokes deleteProductSet without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var request = { + const request = { name: formattedName, }; @@ -323,18 +323,18 @@ describe('ProductSearchClient', () => { }); it('invokes deleteProductSet with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var request = { + const request = { name: formattedName, }; @@ -355,27 +355,27 @@ describe('ProductSearchClient', () => { describe('createProduct', () => { it('invokes createProduct without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var product = {}; - var productId = 'productId1753008747'; - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const product = {}; + const productId = 'productId1753008747'; + const request = { parent: formattedParent, product: product, productId: productId, }; // Mock response - var name = 'name3373707'; - var displayName = 'displayName1615086568'; - var description = 'description-1724546052'; - var productCategory = 'productCategory-1607451058'; - var expectedResponse = { + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { name: name, displayName: displayName, description: description, @@ -396,16 +396,16 @@ describe('ProductSearchClient', () => { }); it('invokes createProduct with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var product = {}; - var productId = 'productId1753008747'; - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const product = {}; + const productId = 'productId1753008747'; + const request = { parent: formattedParent, product: product, productId: productId, @@ -429,22 +429,22 @@ describe('ProductSearchClient', () => { describe('listProducts', () => { it('invokes listProducts without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { parent: formattedParent, }; // Mock response - var nextPageToken = ''; - var productsElement = {}; - var products = [productsElement]; - var expectedResponse = { + const nextPageToken = ''; + const productsElement = {}; + const products = [productsElement]; + const expectedResponse = { nextPageToken: nextPageToken, products: products, }; @@ -467,14 +467,14 @@ describe('ProductSearchClient', () => { }); it('invokes listProducts with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { parent: formattedParent, }; @@ -496,27 +496,27 @@ describe('ProductSearchClient', () => { describe('getProduct', () => { it('invokes getProduct without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productPath( + const formattedName = client.productPath( '[PROJECT]', '[LOCATION]', '[PRODUCT]' ); - var request = { + const request = { name: formattedName, }; // Mock response - var name2 = 'name2-1052831874'; - var displayName = 'displayName1615086568'; - var description = 'description-1724546052'; - var productCategory = 'productCategory-1607451058'; - var expectedResponse = { + const name2 = 'name2-1052831874'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { name: name2, displayName: displayName, description: description, @@ -537,18 +537,18 @@ describe('ProductSearchClient', () => { }); it('invokes getProduct with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productPath( + const formattedName = client.productPath( '[PROJECT]', '[LOCATION]', '[PRODUCT]' ); - var request = { + const request = { name: formattedName, }; @@ -570,25 +570,25 @@ describe('ProductSearchClient', () => { describe('updateProduct', () => { it('invokes updateProduct without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var product = {}; - var updateMask = {}; - var request = { + const product = {}; + const updateMask = {}; + const request = { product: product, updateMask: updateMask, }; // Mock response - var name = 'name3373707'; - var displayName = 'displayName1615086568'; - var description = 'description-1724546052'; - var productCategory = 'productCategory-1607451058'; - var expectedResponse = { + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { name: name, displayName: displayName, description: description, @@ -609,15 +609,15 @@ describe('ProductSearchClient', () => { }); it('invokes updateProduct with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var product = {}; - var updateMask = {}; - var request = { + const product = {}; + const updateMask = {}; + const request = { product: product, updateMask: updateMask, }; @@ -640,18 +640,18 @@ describe('ProductSearchClient', () => { describe('deleteProduct', () => { it('invokes deleteProduct without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productPath( + const formattedName = client.productPath( '[PROJECT]', '[LOCATION]', '[PRODUCT]' ); - var request = { + const request = { name: formattedName, }; @@ -665,18 +665,18 @@ describe('ProductSearchClient', () => { }); it('invokes deleteProduct with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productPath( + const formattedName = client.productPath( '[PROJECT]', '[LOCATION]', '[PRODUCT]' ); - var request = { + const request = { name: formattedName, }; @@ -697,29 +697,29 @@ describe('ProductSearchClient', () => { describe('createReferenceImage', () => { it('invokes createReferenceImage without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.productPath( + const formattedParent = client.productPath( '[PROJECT]', '[LOCATION]', '[PRODUCT]' ); - var referenceImage = {}; - var referenceImageId = 'referenceImageId1946713331'; - var request = { + const referenceImage = {}; + const referenceImageId = 'referenceImageId1946713331'; + const request = { parent: formattedParent, referenceImage: referenceImage, referenceImageId: referenceImageId, }; // Mock response - var name = 'name3373707'; - var uri = 'uri116076'; - var expectedResponse = { + const name = 'name3373707'; + const uri = 'uri116076'; + const expectedResponse = { name: name, uri: uri, }; @@ -738,20 +738,20 @@ describe('ProductSearchClient', () => { }); it('invokes createReferenceImage with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.productPath( + const formattedParent = client.productPath( '[PROJECT]', '[LOCATION]', '[PRODUCT]' ); - var referenceImage = {}; - var referenceImageId = 'referenceImageId1946713331'; - var request = { + const referenceImage = {}; + const referenceImageId = 'referenceImageId1946713331'; + const request = { parent: formattedParent, referenceImage: referenceImage, referenceImageId: referenceImageId, @@ -775,19 +775,19 @@ describe('ProductSearchClient', () => { describe('deleteReferenceImage', () => { it('invokes deleteReferenceImage without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.referenceImagePath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]' ); - var request = { + const request = { name: formattedName, }; @@ -803,19 +803,19 @@ describe('ProductSearchClient', () => { }); it('invokes deleteReferenceImage with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.referenceImagePath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]' ); - var request = { + const request = { name: formattedName, }; @@ -836,27 +836,27 @@ describe('ProductSearchClient', () => { describe('listReferenceImages', () => { it('invokes listReferenceImages without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.productPath( + const formattedParent = client.productPath( '[PROJECT]', '[LOCATION]', '[PRODUCT]' ); - var request = { + const request = { parent: formattedParent, }; // Mock response - var pageSize = 883849137; - var nextPageToken = ''; - var referenceImagesElement = {}; - var referenceImages = [referenceImagesElement]; - var expectedResponse = { + const pageSize = 883849137; + const nextPageToken = ''; + const referenceImagesElement = {}; + const referenceImages = [referenceImagesElement]; + const expectedResponse = { pageSize: pageSize, nextPageToken: nextPageToken, referenceImages: referenceImages, @@ -880,18 +880,18 @@ describe('ProductSearchClient', () => { }); it('invokes listReferenceImages with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.productPath( + const formattedParent = client.productPath( '[PROJECT]', '[LOCATION]', '[PRODUCT]' ); - var request = { + const request = { parent: formattedParent, }; @@ -913,26 +913,26 @@ describe('ProductSearchClient', () => { describe('getReferenceImage', () => { it('invokes getReferenceImage without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.referenceImagePath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]' ); - var request = { + const request = { name: formattedName, }; // Mock response - var name2 = 'name2-1052831874'; - var uri = 'uri116076'; - var expectedResponse = { + const name2 = 'name2-1052831874'; + const uri = 'uri116076'; + const expectedResponse = { name: name2, uri: uri, }; @@ -951,19 +951,19 @@ describe('ProductSearchClient', () => { }); it('invokes getReferenceImage with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.referenceImagePath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]' ); - var request = { + const request = { name: formattedName, }; @@ -985,19 +985,19 @@ describe('ProductSearchClient', () => { describe('addProductToProductSet', () => { it('invokes addProductToProductSet without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var product = 'product-309474065'; - var request = { + const product = 'product-309474065'; + const request = { name: formattedName, product: product, }; @@ -1014,19 +1014,19 @@ describe('ProductSearchClient', () => { }); it('invokes addProductToProductSet with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var product = 'product-309474065'; - var request = { + const product = 'product-309474065'; + const request = { name: formattedName, product: product, }; @@ -1048,19 +1048,19 @@ describe('ProductSearchClient', () => { describe('removeProductFromProductSet', () => { it('invokes removeProductFromProductSet without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var product = 'product-309474065'; - var request = { + const product = 'product-309474065'; + const request = { name: formattedName, product: product, }; @@ -1077,19 +1077,19 @@ describe('ProductSearchClient', () => { }); it('invokes removeProductFromProductSet with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var product = 'product-309474065'; - var request = { + const product = 'product-309474065'; + const request = { name: formattedName, product: product, }; @@ -1111,26 +1111,26 @@ describe('ProductSearchClient', () => { describe('listProductsInProductSet', () => { it('invokes listProductsInProductSet without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var request = { + const request = { name: formattedName, }; // Mock response - var nextPageToken = ''; - var productsElement = {}; - var products = [productsElement]; - var expectedResponse = { + const nextPageToken = ''; + const productsElement = {}; + const products = [productsElement]; + const expectedResponse = { nextPageToken: nextPageToken, products: products, }; @@ -1153,18 +1153,18 @@ describe('ProductSearchClient', () => { }); it('invokes listProductsInProductSet with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedName = client.productSetPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', '[PRODUCT_SET]' ); - var request = { + const request = { name: formattedName, }; @@ -1186,21 +1186,21 @@ describe('ProductSearchClient', () => { describe('importProductSets', function() { it('invokes importProductSets without error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var inputConfig = {}; - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const inputConfig = {}; + const request = { parent: formattedParent, inputConfig: inputConfig, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( @@ -1211,7 +1211,7 @@ describe('ProductSearchClient', () => { client .importProductSets(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(responses => { @@ -1224,15 +1224,15 @@ describe('ProductSearchClient', () => { }); it('invokes importProductSets with error', done => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - var inputConfig = {}; - var request = { + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const inputConfig = {}; + const request = { parent: formattedParent, inputConfig: inputConfig, }; @@ -1247,7 +1247,7 @@ describe('ProductSearchClient', () => { client .importProductSets(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(() => { @@ -1261,7 +1261,7 @@ describe('ProductSearchClient', () => { }); it('has longrunning decoder functions', () => { - var client = new visionModule.v1p3beta1.ProductSearchClient({ + const client = new visionModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); @@ -1279,19 +1279,19 @@ describe('ProductSearchClient', () => { describe('ImageAnnotatorClient', () => { describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { - var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( @@ -1307,14 +1307,14 @@ describe('ImageAnnotatorClient', () => { }); it('invokes batchAnnotateImages with error', done => { - var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; @@ -1336,19 +1336,19 @@ describe('ImageAnnotatorClient', () => { describe('asyncBatchAnnotateFiles', function() { it('invokes asyncBatchAnnotateFiles without error', done => { - var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; // Mock response - var expectedResponse = {}; + const expectedResponse = {}; // Mock Grpc layer client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( @@ -1359,7 +1359,7 @@ describe('ImageAnnotatorClient', () => { client .asyncBatchAnnotateFiles(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(responses => { @@ -1372,14 +1372,14 @@ describe('ImageAnnotatorClient', () => { }); it('invokes asyncBatchAnnotateFiles with error', done => { - var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - var requests = []; - var request = { + const requests = []; + const request = { requests: requests, }; @@ -1393,7 +1393,7 @@ describe('ImageAnnotatorClient', () => { client .asyncBatchAnnotateFiles(request) .then(responses => { - var operation = responses[0]; + const operation = responses[0]; return operation.promise(); }) .then(() => { @@ -1407,7 +1407,7 @@ describe('ImageAnnotatorClient', () => { }); it('has longrunning decoder functions', () => { - var client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); @@ -1439,7 +1439,7 @@ function mockSimpleGrpcMethod(expectedRequest, response, error) { function mockLongRunningGrpcMethod(expectedRequest, response, error) { return request => { assert.deepStrictEqual(request, expectedRequest); - var mockOperation = { + const mockOperation = { promise: function() { return new Promise((resolve, reject) => { if (error) { From c0025c4231421223613ce6baf786da0ed4c9059a Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 18 Sep 2018 11:21:59 -0700 Subject: [PATCH 213/588] Enable no-var in eslint (#198) --- packages/google-cloud-vision/.eslintrc.yml | 1 + packages/google-cloud-vision/src/helpers.js | 6 +++--- .../system-test/image_annotator_smoke_test.js | 20 +++++++++---------- .../system-test/vision-v1p2beta1.js | 20 +++++++++---------- .../google-cloud-vision/system-test/vision.js | 14 ++++++------- .../google-cloud-vision/test/helpers.test.js | 2 +- 6 files changed, 32 insertions(+), 31 deletions(-) diff --git a/packages/google-cloud-vision/.eslintrc.yml b/packages/google-cloud-vision/.eslintrc.yml index bed57fbc42c..65f1dce6c0c 100644 --- a/packages/google-cloud-vision/.eslintrc.yml +++ b/packages/google-cloud-vision/.eslintrc.yml @@ -11,3 +11,4 @@ rules: block-scoped-var: error eqeqeq: error no-warning-comments: warn + no-var: error diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index 0b2ec35f53c..e6119cc0dd7 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -102,7 +102,7 @@ let _coerceRequest = (request, callback) => { * @returns {function} The function that, when called, will call annotateImage * asking for the single feature annotation. */ -var _createSingleFeatureMethod = featureValue => { +let _createSingleFeatureMethod = featureValue => { return function(annotateImageRequest, callOptions, callback) { // Sanity check: If we got a string or buffer, we need this to be // in object form now, so we can tack on the features list. @@ -152,7 +152,7 @@ var _createSingleFeatureMethod = featureValue => { * onto the pure GAPIC. */ module.exports = apiVersion => { - var methods = {}; + let methods = {}; /** * Annotate a single image with the requested features. @@ -236,7 +236,7 @@ module.exports = apiVersion => { // We are guaranteed to only have one response element, since we // only sent one image. - var response = r.responses[0]; + let response = r.responses[0]; // Fire the callback if applicable. return callback(undefined, response); diff --git a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js index 7784e0aa671..2c0808d218f 100644 --- a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js @@ -18,31 +18,31 @@ describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); - var client = new vision.v1p3beta1.ImageAnnotatorClient({ + let client = new vision.v1p3beta1.ImageAnnotatorClient({ // optional auth parameters. }); - var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; - var source = { + let gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + let source = { gcsImageUri: gcsImageUri, }; - var image = { + let image = { source: source, }; - var type = 'FACE_DETECTION'; - var featuresElement = { + let type = 'FACE_DETECTION'; + let featuresElement = { type: type, }; - var features = [featuresElement]; - var requestsElement = { + let features = [featuresElement]; + let requestsElement = { image: image, features: features, }; - var requests = [requestsElement]; + let requests = [requestsElement]; client .batchAnnotateImages({requests: requests}) .then(responses => { - var response = responses[0]; + let response = responses[0]; console.log(response); }) .then(done) diff --git a/packages/google-cloud-vision/system-test/vision-v1p2beta1.js b/packages/google-cloud-vision/system-test/vision-v1p2beta1.js index c3f91abaa31..e39783711d4 100644 --- a/packages/google-cloud-vision/system-test/vision-v1p2beta1.js +++ b/packages/google-cloud-vision/system-test/vision-v1p2beta1.js @@ -18,31 +18,31 @@ describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); - var client = new vision.v1p2beta1.ImageAnnotatorClient({ + let client = new vision.v1p2beta1.ImageAnnotatorClient({ // optional auth parameters. }); - var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; - var source = { + let gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + let source = { gcsImageUri: gcsImageUri, }; - var image = { + let image = { source: source, }; - var type = 'FACE_DETECTION'; - var featuresElement = { + let type = 'FACE_DETECTION'; + let featuresElement = { type: type, }; - var features = [featuresElement]; - var requestsElement = { + let features = [featuresElement]; + let requestsElement = { image: image, features: features, }; - var requests = [requestsElement]; + let requests = [requestsElement]; client .batchAnnotateImages({requests: requests}) .then(responses => { - var response = responses[0]; + let response = responses[0]; console.log(response); }) .then(done) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 7b62f232f8a..6b661ee4292 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -80,30 +80,30 @@ describe('Vision', function() { }); it('should detect from a URL', () => { - var url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; + let url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; return client.logoDetection(url).then(responses => { - var response = responses[0]; + let response = responses[0]; assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); it('should detect from a filename', () => { return client.logoDetection(IMAGES.logo).then(responses => { - var response = responses[0]; + let response = responses[0]; assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); it('should detect from a Buffer', () => { - var buffer = fs.readFileSync(IMAGES.logo); + let buffer = fs.readFileSync(IMAGES.logo); return client.logoDetection(buffer).then(responses => { - var response = responses[0]; + let response = responses[0]; assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); describe('single image', () => { - var TYPES = [ + let TYPES = [ {type: 'FACE_DETECTION'}, {type: 'LABEL_DETECTION'}, {type: 'SAFE_SEARCH_DETECTION'}, @@ -115,7 +115,7 @@ describe('Vision', function() { image: {source: {filename: IMAGES.rushmore}}, }) .then(responses => { - var response = responses[0]; + let response = responses[0]; assert(response.faceAnnotations.length >= 1); assert(response.labelAnnotations.length >= 1); assert(response.safeSearchAnnotation !== null); diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index 8c83fe6d047..ed27042189e 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -193,7 +193,7 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - var request = { + let request = { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; From d4daf487cdea95ac23d96a375888772172ee0297 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 20 Sep 2018 12:29:16 -0700 Subject: [PATCH 214/588] Enable prefer-const in the eslint config (#201) --- packages/google-cloud-vision/.eslintrc.yml | 1 + .../smoke-test/image_annotator_smoke_test.js | 3 +- packages/google-cloud-vision/src/helpers.js | 14 +-- packages/google-cloud-vision/src/index.js | 4 +- .../src/v1/image_annotator_client.js | 2 +- .../src/v1p1beta1/image_annotator_client.js | 2 +- .../src/v1p2beta1/image_annotator_client.js | 2 +- .../src/v1p3beta1/image_annotator_client.js | 2 +- .../src/v1p3beta1/product_search_client.js | 2 +- .../system-test/image_annotator_smoke_test.js | 20 ++-- .../system-test/vision-v1p2beta1.js | 20 ++-- .../google-cloud-vision/system-test/vision.js | 21 ++-- .../google-cloud-vision/test/helpers.test.js | 102 +++++++++--------- .../google-cloud-vision/test/index.test.js | 2 +- 14 files changed, 100 insertions(+), 97 deletions(-) diff --git a/packages/google-cloud-vision/.eslintrc.yml b/packages/google-cloud-vision/.eslintrc.yml index 65f1dce6c0c..73eeec27612 100644 --- a/packages/google-cloud-vision/.eslintrc.yml +++ b/packages/google-cloud-vision/.eslintrc.yml @@ -12,3 +12,4 @@ rules: eqeqeq: error no-warning-comments: warn no-var: error + prefer-const: error diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index 5b5ae522c67..131d2f65a8c 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -39,7 +39,8 @@ describe('ImageAnnotatorSmokeTest', () => { features: features, }; const requests = [requestsElement]; - client.batchAnnotateImages({requests: requests}) + client + .batchAnnotateImages({requests: requests}) .then(responses => { const response = responses[0]; console.log(response); diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index e6119cc0dd7..b05ef85e397 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -33,7 +33,7 @@ const gax = require('google-gax'); * * @returns An object representing an AnnotateImageRequest. */ -let _requestToObject = request => { +const _requestToObject = request => { if (is.string(request)) { // Is this a URL or a local file? // Guess based on what the string looks like, and build the full @@ -62,7 +62,7 @@ let _requestToObject = request => { * function. * @param {function} callback The callback to run. */ -let _coerceRequest = (request, callback) => { +const _coerceRequest = (request, callback) => { // At this point, request must be an object with an `image` key; if not, // it is an error. If there is no image, throw an exception. if (!is.object(request) || is.undefined(request.image)) { @@ -102,7 +102,7 @@ let _coerceRequest = (request, callback) => { * @returns {function} The function that, when called, will call annotateImage * asking for the single feature annotation. */ -let _createSingleFeatureMethod = featureValue => { +const _createSingleFeatureMethod = featureValue => { return function(annotateImageRequest, callOptions, callback) { // Sanity check: If we got a string or buffer, we need this to be // in object form now, so we can tack on the features list. @@ -128,7 +128,7 @@ let _createSingleFeatureMethod = featureValue => { // If the user submitted explicit features that do not line up with // the precise method called, throw an exception. - for (let feature of annotateImageRequest.features) { + for (const feature of annotateImageRequest.features) { if (feature.type !== featureValue) { throw new Error( 'Setting explicit features is not supported on this method. ' + @@ -152,7 +152,7 @@ let _createSingleFeatureMethod = featureValue => { * onto the pure GAPIC. */ module.exports = apiVersion => { - let methods = {}; + const methods = {}; /** * Annotate a single image with the requested features. @@ -227,7 +227,7 @@ module.exports = apiVersion => { } // Call the GAPIC batch annotation function. - let requests = {requests: [req]}; + const requests = {requests: [req]}; return this.batchAnnotateImages(requests, callOptions, (err, r) => { // If there is an error, handle it. if (err) { @@ -236,7 +236,7 @@ module.exports = apiVersion => { // We are guaranteed to only have one response element, since we // only sent one image. - let response = r.responses[0]; + const response = r.responses[0]; // Fire the callback if applicable. return callback(undefined, response); diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 6bf6d1bfbfa..0a6df95d63e 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -50,8 +50,8 @@ const gapic = Object.freeze({ }); // Augment the SpeechClient objects with the helpers. -for (let gapicVersion of Object.keys(gapic)) { - let clientProto = gapic[gapicVersion].ImageAnnotatorClient.prototype; +for (const gapicVersion of Object.keys(gapic)) { + const clientProto = gapic[gapicVersion].ImageAnnotatorClient.prototype; Object.assign(clientProto, helpers(gapicVersion)); } diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 63ac04e9bb7..781fd5b5e9d 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -163,7 +163,7 @@ class ImageAnnotatorClient { 'batchAnnotateImages', 'asyncBatchAnnotateFiles', ]; - for (let methodName of imageAnnotatorStubMethods) { + for (const methodName of imageAnnotatorStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( imageAnnotatorStub.then( stub => diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 865283c91bd..69bed05ed90 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -121,7 +121,7 @@ class ImageAnnotatorClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const imageAnnotatorStubMethods = ['batchAnnotateImages']; - for (let methodName of imageAnnotatorStubMethods) { + for (const methodName of imageAnnotatorStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( imageAnnotatorStub.then( stub => diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 3bea2b0ae5f..ef708bd38de 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -163,7 +163,7 @@ class ImageAnnotatorClient { 'batchAnnotateImages', 'asyncBatchAnnotateFiles', ]; - for (let methodName of imageAnnotatorStubMethods) { + for (const methodName of imageAnnotatorStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( imageAnnotatorStub.then( stub => diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 8370a95611c..d0e6de90649 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -163,7 +163,7 @@ class ImageAnnotatorClient { 'batchAnnotateImages', 'asyncBatchAnnotateFiles', ]; - for (let methodName of imageAnnotatorStubMethods) { + for (const methodName of imageAnnotatorStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( imageAnnotatorStub.then( stub => diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 789395b186e..8cc5c2bc44d 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -230,7 +230,7 @@ class ProductSearchClient { 'listProductsInProductSet', 'importProductSets', ]; - for (let methodName of productSearchStubMethods) { + for (const methodName of productSearchStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( productSearchStub.then( stub => diff --git a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js index 2c0808d218f..131d2f65a8c 100644 --- a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js @@ -18,31 +18,31 @@ describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); - let client = new vision.v1p3beta1.ImageAnnotatorClient({ + const client = new vision.v1p3beta1.ImageAnnotatorClient({ // optional auth parameters. }); - let gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; - let source = { + const gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + const source = { gcsImageUri: gcsImageUri, }; - let image = { + const image = { source: source, }; - let type = 'FACE_DETECTION'; - let featuresElement = { + const type = 'FACE_DETECTION'; + const featuresElement = { type: type, }; - let features = [featuresElement]; - let requestsElement = { + const features = [featuresElement]; + const requestsElement = { image: image, features: features, }; - let requests = [requestsElement]; + const requests = [requestsElement]; client .batchAnnotateImages({requests: requests}) .then(responses => { - let response = responses[0]; + const response = responses[0]; console.log(response); }) .then(done) diff --git a/packages/google-cloud-vision/system-test/vision-v1p2beta1.js b/packages/google-cloud-vision/system-test/vision-v1p2beta1.js index e39783711d4..5701d5615ff 100644 --- a/packages/google-cloud-vision/system-test/vision-v1p2beta1.js +++ b/packages/google-cloud-vision/system-test/vision-v1p2beta1.js @@ -18,31 +18,31 @@ describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); - let client = new vision.v1p2beta1.ImageAnnotatorClient({ + const client = new vision.v1p2beta1.ImageAnnotatorClient({ // optional auth parameters. }); - let gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; - let source = { + const gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + const source = { gcsImageUri: gcsImageUri, }; - let image = { + const image = { source: source, }; - let type = 'FACE_DETECTION'; - let featuresElement = { + const type = 'FACE_DETECTION'; + const featuresElement = { type: type, }; - let features = [featuresElement]; - let requestsElement = { + const features = [featuresElement]; + const requestsElement = { image: image, features: features, }; - let requests = [requestsElement]; + const requests = [requestsElement]; client .batchAnnotateImages({requests: requests}) .then(responses => { - let response = responses[0]; + const response = responses[0]; console.log(response); }) .then(done) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 6b661ee4292..5e10cdc2a07 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -36,10 +36,10 @@ describe('Vision', function() { const TESTS_PREFIX = 'gcloud-vision-test'; - let storage = new Storage(); - let client = new vision.v1.ImageAnnotatorClient(); + const storage = new Storage(); + const client = new vision.v1.ImageAnnotatorClient(); - let bucket = storage.bucket(generateName()); + const bucket = storage.bucket(generateName()); before(function(done) { bucket.create(function(err) { @@ -80,30 +80,31 @@ describe('Vision', function() { }); it('should detect from a URL', () => { - let url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; + const url = + 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; return client.logoDetection(url).then(responses => { - let response = responses[0]; + const response = responses[0]; assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); it('should detect from a filename', () => { return client.logoDetection(IMAGES.logo).then(responses => { - let response = responses[0]; + const response = responses[0]; assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); it('should detect from a Buffer', () => { - let buffer = fs.readFileSync(IMAGES.logo); + const buffer = fs.readFileSync(IMAGES.logo); return client.logoDetection(buffer).then(responses => { - let response = responses[0]; + const response = responses[0]; assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); describe('single image', () => { - let TYPES = [ + const TYPES = [ {type: 'FACE_DETECTION'}, {type: 'LABEL_DETECTION'}, {type: 'SAFE_SEARCH_DETECTION'}, @@ -115,7 +116,7 @@ describe('Vision', function() { image: {source: {filename: IMAGES.rushmore}}, }) .then(responses => { - let response = responses[0]; + const response = responses[0]; assert(response.faceAnnotations.length >= 1); assert(response.labelAnnotations.length >= 1); assert(response.safeSearchAnnotation !== null); diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index ed27042189e..55ad39cba1e 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -29,7 +29,7 @@ describe('Vision helper methods', () => { projectId: 'bogus', }); - let sandbox = sinon.sandbox.create(); + const sandbox = sinon.sandbox.create(); afterEach(() => { sandbox.restore(); @@ -37,8 +37,8 @@ describe('Vision helper methods', () => { describe('annotateImage', () => { it('calls batchAnnotateImages correctly', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -49,12 +49,12 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - let request = { + const request = { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; return client.annotateImage(request).then(r => { - let response = r[0]; + const response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepStrictEqual(response, { @@ -69,10 +69,10 @@ describe('Vision helper methods', () => { }); it('understands buffers in a request object', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out the batch annotation method. - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -83,12 +83,12 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - let request = { + const request = { image: Buffer.from('fakeImage'), features: {type: ['LOGO_DETECTION']}, }; return client.annotateImage(request).then(r => { - let response = r[0]; + const response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepStrictEqual(response, { @@ -107,18 +107,18 @@ describe('Vision helper methods', () => { }); it('understands filenames', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out `fs.readFile` and return a bogus image object. // This allows us to test filename detection. - let readFile = sandbox.stub(fs, 'readFile'); + const readFile = sandbox.stub(fs, 'readFile'); readFile .withArgs('image.jpg') .callsArgWith(1, null, Buffer.from('fakeImage')); readFile.callThrough(); // Stub out the batch annotation method as before. - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -129,12 +129,12 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - let request = { + const request = { image: {source: {filename: 'image.jpg'}}, features: {type: ['LOGO_DETECTION']}, }; return client.annotateImage(request).then(r => { - let response = r[0]; + const response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepStrictEqual(response, { @@ -158,17 +158,17 @@ describe('Vision helper methods', () => { }); it('propagates the error if a file is not found', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out `fs.readFile` and return a bogus image object. // This allows us to test filename detection. - let readFile = sandbox.stub(fs, 'readFile'); + const readFile = sandbox.stub(fs, 'readFile'); readFile.withArgs('image.jpg').callsArgWith(1, {error: 404}); readFile.callThrough(); // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - let request = { + const request = { image: {source: {filename: 'image.jpg'}}, features: {type: ['LOGO_DETECTION']}, }; @@ -181,8 +181,8 @@ describe('Vision helper methods', () => { }); it('retains call options sent', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -193,12 +193,12 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - let request = { + const request = { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; return client.annotateImage(request, {foo: 'bar'}).then(r => { - let response = r[0]; + const response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepStrictEqual(response, { @@ -213,8 +213,8 @@ describe('Vision helper methods', () => { }); it('fires a callback if provided', done => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -225,7 +225,7 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method does *not* pass the callback // on to batchAnnotateImages, but rather handles it itself. - let request = { + const request = { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; @@ -245,13 +245,13 @@ describe('Vision helper methods', () => { }); it('fires the callback on error', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, {message: 'Bad things!'}); // Ensure that the annotateImage method does *not* pass the callback // on to batchAnnotateImages, but rather handles it itself. - let request = { + const request = { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; @@ -267,8 +267,8 @@ describe('Vision helper methods', () => { }); it('requires an image and throws without one', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - let request = {}; + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const request = {}; return client .annotateImage(request) .then(assert.fail) @@ -280,9 +280,9 @@ describe('Vision helper methods', () => { describe('single-feature methods', () => { it('call `annotateImage` with the correct feature', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - let annotate = sandbox.spy(client, 'annotateImage'); - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const annotate = sandbox.spy(client, 'annotateImage'); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -293,9 +293,9 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method does *not* pass the callback // on to batchAnnotateImages, but rather handles it itself. - let imageRequest = {image: {content: Buffer.from('bogus==')}}; + const imageRequest = {image: {content: Buffer.from('bogus==')}}; return client.logoDetection(Object.assign({}, imageRequest)).then(r => { - let response = r[0]; + const response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepStrictEqual(response, { @@ -321,10 +321,10 @@ describe('Vision helper methods', () => { }); it('accept a URL as a string', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out the batch annotation method. - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -335,7 +335,7 @@ describe('Vision helper methods', () => { // Call a request to a single-feature method using a URL. return client.logoDetection('https://goo.gl/logo.png').then(r => { - let response = r[0]; + const response = r[0]; // Ensure we got the slice of the response that we expected. assert.deepStrictEqual(response, { @@ -359,10 +359,10 @@ describe('Vision helper methods', () => { }); it('accept a filename as a string', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out the batch annotation method. - let annotate = sandbox.stub(client, 'annotateImage'); + const annotate = sandbox.stub(client, 'annotateImage'); annotate.callsArgWith(2, undefined, { logoAnnotations: [{description: 'Google'}], }); @@ -389,10 +389,10 @@ describe('Vision helper methods', () => { }); it('understand a buffer sent directly', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Stub out the batch annotation method. - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -404,7 +404,7 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. return client.logoDetection(Buffer.from('fakeImage')).then(r => { - let response = r[0]; + const response = r[0]; // Ensure that we got the slice of the response that we expected. assert.deepStrictEqual(response, { @@ -428,11 +428,11 @@ describe('Vision helper methods', () => { }); it('handle being sent call options', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - let opts = {foo: 'bar'}; + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const opts = {foo: 'bar'}; // Stub out the batchAnnotateImages method as usual. - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -444,7 +444,7 @@ describe('Vision helper methods', () => { // Perform the request. Send `opts` as an explicit second argument // to ensure that sending call options works appropriately. return client.logoDetection(Buffer.from('fakeImage'), opts).then(r => { - let response = r[0]; + const response = r[0]; assert.deepStrictEqual(response, { logoAnnotations: [{description: 'Google'}], }); @@ -466,8 +466,8 @@ describe('Vision helper methods', () => { }); it('throw an exception if conflicting features are given', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - let imageRequest = { + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const imageRequest = { image: {content: Buffer.from('bogus==')}, features: [{type: 0}], }; @@ -481,14 +481,14 @@ describe('Vision helper methods', () => { it('creates and promisify methods that are available in certain versions', () => { const client = new vision.v1p3beta1.ImageAnnotatorClient(); - let request = { + const request = { image: { source: { imageUri: 'https://cloud.google.com/vision/docs/images/bicycle.jpg', }, }, }; - let batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); + const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { responses: [ { @@ -500,7 +500,7 @@ describe('Vision helper methods', () => { client .productSearch(request) .then(r => { - let response = r[0]; + const response = r[0]; assert.deepStrictEqual(response, { localizedObjectAnnotations: [{dummy: 'response'}], diff --git a/packages/google-cloud-vision/test/index.test.js b/packages/google-cloud-vision/test/index.test.js index bb7db6819a3..b319e3423ad 100644 --- a/packages/google-cloud-vision/test/index.test.js +++ b/packages/google-cloud-vision/test/index.test.js @@ -28,7 +28,7 @@ describe('Vision', () => { describe('v1', () => { it('returns a v1 GAPIC augmented with helpers', () => { - let client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); + const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); // Assert that the GAPIC v1 methods are present on the object. assert(client.batchAnnotateImages instanceof Function); From 730f0e6d3b3d997aad665def1113430b23ea721f Mon Sep 17 00:00:00 2001 From: Nirupa Anantha Kumar Date: Fri, 21 Sep 2018 09:12:32 -0700 Subject: [PATCH 215/588] =?UTF-8?q?Vision=20GA=20=E2=80=93=20vision=5Floca?= =?UTF-8?q?lize=5Fobjects=20&=20vision=5Flocalize=5Fobject=5Fgcs=20(#200)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Vision-GA - vision_localize_objects & vision_localize_object_gcs * Vision-GA - README file updates * Vision-GA - Fixes after review * Vision-GA - Fixes after review --- packages/google-cloud-vision/samples/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 79c41d01e68..7810efd05de 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -60,6 +60,9 @@ Commands: metadata detect.js fulltext Extracts full text from a local image file. detect.js fulltext-gcs Extracts full text from an image in Google Cloud Storage. + detect.js pdf Extracts full text from a pdf file + detect.js localize-objects Detects Objects in a local image file + detect.js localize-objects-gcs Detects Objects Google Cloud Storage Bucket Options: --version Show version number [boolean] @@ -88,6 +91,9 @@ Examples: node detect.js web-geo-gcs my-bucket your-image.jpg node detect.js fulltext ./resources/wakeupcat.jpg node detect.js fulltext-gcs my-bucket your-image.jpg + node detect.js pdf my-bucket my-pdf.pdf + node detect.js localize-objects ./resources/duck_and_truck.jpg + node detect.js localize-objects-gcs gs://bucket/bucketImage.png For more information, see https://cloud.google.com/vision/docs ``` From 59c0a3e68b379cfc19360b471fd263179af9cb93 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 21 Sep 2018 17:05:50 -0700 Subject: [PATCH 216/588] Release v0.22.1 (#205) --- packages/google-cloud-vision/CHANGELOG.md | 15 +++++++++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index c563651a1d6..bb1060593cd 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,21 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## v0.22.1 + +### Bug fixes +- Fix response output for Detect Labels ([#199](https://github.com/googleapis/nodejs-vision/pull/199)) + +### Documentation +- Vision GA – vision_localize_objects & vision_localize_object_gcs ([#200](https://github.com/googleapis/nodejs-vision/pull/200)) +- Product search rebased ([#196](https://github.com/googleapis/nodejs-vision/pull/196)) + +### Internal / Testing Changes +- Enable prefer-const in the eslint config ([#201](https://github.com/googleapis/nodejs-vision/pull/201)) +- Enable no-var in eslint ([#198](https://github.com/googleapis/nodejs-vision/pull/198)) +- Switch to let/const ([#194](https://github.com/googleapis/nodejs-vision/pull/194)) +- fix(deps): update dependency google-gax to ^0.20.0 ([#193](https://github.com/googleapis/nodejs-vision/pull/193)) + ## v0.22.0 ### New Features diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index c34fc91b388..36bd014008b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.22.0", + "version": "0.22.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index f707d10b8ac..ab018cd399c 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -12,7 +12,7 @@ "test": "ava -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/vision": "^0.22.0", + "@google-cloud/vision": "^0.22.1", "async": "^2.6.1", "natural": "^0.6.1", "redis": "^2.8.0", From ef06a686f1941600fddc7b1dc9b76b62a85e23ed Mon Sep 17 00:00:00 2001 From: DPE bot Date: Fri, 21 Sep 2018 17:37:56 -0700 Subject: [PATCH 217/588] Update the CI config (#206) --- packages/google-cloud-vision/.circleci/npm-install-retry.js | 2 +- .../smoke-test/image_annotator_smoke_test.js | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/npm-install-retry.js b/packages/google-cloud-vision/.circleci/npm-install-retry.js index ae3220d7348..3240aa2cbf2 100755 --- a/packages/google-cloud-vision/.circleci/npm-install-retry.js +++ b/packages/google-cloud-vision/.circleci/npm-install-retry.js @@ -6,7 +6,7 @@ let spawn = require('child_process').spawn; //USE: ./index.js [... NPM ARGS] // -let timeout = process.argv[2] || 60000; +let timeout = process.argv[2] || process.env.NPM_INSTALL_TIMEOUT || 60000; let attempts = process.argv[3] || 3; let args = process.argv.slice(4); if (args.length === 0) { diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index 131d2f65a8c..5b5ae522c67 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -39,8 +39,7 @@ describe('ImageAnnotatorSmokeTest', () => { features: features, }; const requests = [requestsElement]; - client - .batchAnnotateImages({requests: requests}) + client.batchAnnotateImages({requests: requests}) .then(responses => { const response = responses[0]; console.log(response); From 624f8910f08e8ef7596222eda22cdc9d70583738 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 24 Sep 2018 17:00:15 -0700 Subject: [PATCH 218/588] test: remove appveyor config (#207) --- packages/google-cloud-vision/.appveyor.yml | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 packages/google-cloud-vision/.appveyor.yml diff --git a/packages/google-cloud-vision/.appveyor.yml b/packages/google-cloud-vision/.appveyor.yml deleted file mode 100644 index 24082152655..00000000000 --- a/packages/google-cloud-vision/.appveyor.yml +++ /dev/null @@ -1,20 +0,0 @@ -environment: - matrix: - - nodejs_version: 8 - -install: - - ps: Install-Product node $env:nodejs_version - - npm install -g npm # Force using the latest npm to get dedupe during install - - set PATH=%APPDATA%\npm;%PATH% - - npm install --force --ignore-scripts - -test_script: - - node --version - - npm --version - - npm rebuild - - npm test - -build: off - -matrix: - fast_finish: true From b22e0c9ecde78a7067fb12814eaaf554c03a24cf Mon Sep 17 00:00:00 2001 From: Nirupa Anantha Kumar Date: Thu, 27 Sep 2018 14:38:52 -0700 Subject: [PATCH 219/588] docs: Vision AutoML samples (#197) --- packages/google-cloud-vision/.cloud-repo-tools.json | 7 +++++++ packages/google-cloud-vision/samples/.eslintrc.yml | 2 ++ packages/google-cloud-vision/samples/package.json | 7 ++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/.cloud-repo-tools.json b/packages/google-cloud-vision/.cloud-repo-tools.json index 0244ee6c2cd..2fd462c874d 100644 --- a/packages/google-cloud-vision/.cloud-repo-tools.json +++ b/packages/google-cloud-vision/.cloud-repo-tools.json @@ -18,6 +18,13 @@ "file": "detect.v1p1beta1.js", "docs_link": "https://cloud.google.com/vision/docs", "usage": "node detect.v1p1beta1.js --help" + }, + { + "id": "detect.v1p1beta1.js", + "name": "Detection samples for Beta API", + "file": ".automl/automlVisionDataset.js", + "docs_link": "https://cloud.google.com/vision/docs", + "usage": "node automlVisionDataset.js --help" } ] } diff --git a/packages/google-cloud-vision/samples/.eslintrc.yml b/packages/google-cloud-vision/samples/.eslintrc.yml index 282535f55f6..a855d877f08 100644 --- a/packages/google-cloud-vision/samples/.eslintrc.yml +++ b/packages/google-cloud-vision/samples/.eslintrc.yml @@ -1,3 +1,5 @@ --- rules: no-console: off + + diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index ab018cd399c..73b448882ba 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -12,8 +12,11 @@ "test": "ava -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/vision": "^0.22.1", + + "@google-cloud/automl": "^0.1.1", + "@google-cloud/vision": "^0.22.0", "async": "^2.6.1", + "mathjs": "^5.0.4", "natural": "^0.6.1", "redis": "^2.8.0", "yargs": "^12.0.0" @@ -22,6 +25,8 @@ "@google-cloud/nodejs-repo-tools": "^2.3.0", "@google-cloud/storage": "^2.0.0", "ava": "^0.25.0", + "proxyquire": "^2.0.1", + "sinon": "^6.0.1", "uuid": "^3.2.1" }, "optionalDependencies": { From 6763ddcd080ae54e45e1a6e5292ab8fc4f85b0f0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 1 Oct 2018 05:02:25 -0700 Subject: [PATCH 220/588] chore(deps): update dependency eslint-plugin-prettier to v3 (#213) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 36bd014008b..4b00bd64b88 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -80,7 +80,7 @@ "eslint": "^5.0.1", "eslint-config-prettier": "^3.0.0", "eslint-plugin-node": "^7.0.0", - "eslint-plugin-prettier": "^2.6.1", + "eslint-plugin-prettier": "^3.0.0", "ink-docstrap": "^1.3.2", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", From 554413ae758e77a0424ba50177bd62fe862b5e99 Mon Sep 17 00:00:00 2001 From: DPE bot Date: Tue, 2 Oct 2018 08:21:15 -0700 Subject: [PATCH 221/588] Update kokoro config (#214) --- packages/google-cloud-vision/.circleci/config.yml | 2 -- packages/google-cloud-vision/codecov.yaml | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-vision/codecov.yaml diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 8af6a4d0489..da54155fc57 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -68,8 +68,6 @@ jobs: environment: NPM_CONFIG_PREFIX: /home/node/.npm-global - run: npm test - - run: node_modules/.bin/codecov - node8: docker: - image: 'node:8' diff --git a/packages/google-cloud-vision/codecov.yaml b/packages/google-cloud-vision/codecov.yaml new file mode 100644 index 00000000000..5724ea9478d --- /dev/null +++ b/packages/google-cloud-vision/codecov.yaml @@ -0,0 +1,4 @@ +--- +codecov: + ci: + - source.cloud.google.com From bcf25d8a60b381d8a300fefe6b621a332c7b309f Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 10 Oct 2018 11:25:48 -0500 Subject: [PATCH 222/588] chore: enable --throw-deprecation on mocha config (#147) --- packages/google-cloud-vision/test/helpers.test.js | 4 ++-- packages/google-cloud-vision/test/mocha.opts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index 55ad39cba1e..05c05f2ffe0 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -29,7 +29,7 @@ describe('Vision helper methods', () => { projectId: 'bogus', }); - const sandbox = sinon.sandbox.create(); + const sandbox = sinon.createSandbox(); afterEach(() => { sandbox.restore(); @@ -480,7 +480,7 @@ describe('Vision helper methods', () => { }); it('creates and promisify methods that are available in certain versions', () => { - const client = new vision.v1p3beta1.ImageAnnotatorClient(); + const client = new vision.v1p3beta1.ImageAnnotatorClient(CREDENTIALS); const request = { image: { source: { diff --git a/packages/google-cloud-vision/test/mocha.opts b/packages/google-cloud-vision/test/mocha.opts index 3e740ac6e4c..8751e7bae37 100644 --- a/packages/google-cloud-vision/test/mocha.opts +++ b/packages/google-cloud-vision/test/mocha.opts @@ -1,2 +1,3 @@ --require intelli-espower-loader --timeout 10000 +--throw-deprecation From 70fddc638f741211f11cf2b97da38a6918d23071 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 15 Oct 2018 14:10:23 -0700 Subject: [PATCH 223/588] chore(deps): update dependency sinon to v7 (#219) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 4b00bd64b88..f3e6d4a2fc3 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -88,7 +88,7 @@ "nyc": "^13.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.6", - "sinon": "^6.0.1", + "sinon": "^7.0.0", "uuid": "^3.3.0" } } diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 73b448882ba..5fd833d3169 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -26,7 +26,7 @@ "@google-cloud/storage": "^2.0.0", "ava": "^0.25.0", "proxyquire": "^2.0.1", - "sinon": "^6.0.1", + "sinon": "^7.0.0", "uuid": "^3.2.1" }, "optionalDependencies": { From dbadb43a4c0ac35189846f6aa4f00c800b89abeb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 18 Oct 2018 12:23:32 -0700 Subject: [PATCH 224/588] chore(deps): update dependency canvas to v2 (#224) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 5fd833d3169..31a2591a682 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -30,6 +30,6 @@ "uuid": "^3.2.1" }, "optionalDependencies": { - "canvas": "^1.6.11" + "canvas": "^2.0.0" } } From 29b1700e692a2acc9b4adc0a02575b93f29fba06 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Sun, 28 Oct 2018 08:34:11 -0700 Subject: [PATCH 225/588] chore(deps): update dependency eslint-plugin-node to v8 (#245) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index f3e6d4a2fc3..a2dd975ec0b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -79,7 +79,7 @@ "codecov": "^3.0.2", "eslint": "^5.0.1", "eslint-config-prettier": "^3.0.0", - "eslint-plugin-node": "^7.0.0", + "eslint-plugin-node": "^8.0.0", "eslint-plugin-prettier": "^3.0.0", "ink-docstrap": "^1.3.2", "intelli-espower-loader": "^1.0.1", From 134ed70de325cf75365be71a34fd3565a917e8e7 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 1 Nov 2018 12:03:09 -0700 Subject: [PATCH 226/588] chore: update CircleCI config (#253) --- packages/google-cloud-vision/.circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index da54155fc57..6735ebdaaa1 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -159,7 +159,8 @@ jobs: command: npm run system-test environment: GCLOUD_PROJECT: long-door-651 - GOOGLE_APPLICATION_CREDENTIALS: .circleci/key.json + GOOGLE_APPLICATION_CREDENTIALS: /home/node/project/.circleci/key.json + NPM_CONFIG_PREFIX: /home/node/.npm-global - run: name: Remove unencrypted key. command: | From e7d93ddbb47bb5e8d17560bb859ff718bd2f3a6a Mon Sep 17 00:00:00 2001 From: DPE bot Date: Sun, 4 Nov 2018 22:36:57 -0800 Subject: [PATCH 227/588] feat: add support for product search feat: add support for product search --- packages/google-cloud-vision/.eslintignore | 1 + .../google/cloud/vision/v1/geometry.proto | 7 +- .../cloud/vision/v1/image_annotator.proto | 19 +- .../cloud/vision/v1/product_search.proto | 97 + .../vision/v1/product_search_service.proto | 834 +++++++ .../cloud/vision/v1/text_annotation.proto | 3 +- .../cloud/vision/v1/web_detection.proto | 7 +- .../cloud/vision/v1/doc_image_annotator.js | 15 + .../cloud/vision/v1/doc_product_search.js | 128 ++ .../vision/v1/doc_product_search_service.js | 833 +++++++ .../cloud/vision/v1/doc_web_detection.js | 3 +- .../src/v1/doc/google/protobuf/doc_empty.js | 34 + .../v1/doc/google/protobuf/doc_field_mask.js | 236 ++ .../v1/doc/google/protobuf/doc_timestamp.js | 115 + packages/google-cloud-vision/src/v1/index.js | 2 + .../src/v1/product_search_client.js | 2033 +++++++++++++++++ .../src/v1/product_search_client_config.json | 116 + packages/google-cloud-vision/test/gapic-v1.js | 1234 ++++++++++ 18 files changed, 5707 insertions(+), 10 deletions(-) create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto create mode 100644 packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js create mode 100644 packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js create mode 100644 packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js create mode 100644 packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js create mode 100644 packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js create mode 100644 packages/google-cloud-vision/src/v1/product_search_client.js create mode 100644 packages/google-cloud-vision/src/v1/product_search_client_config.json diff --git a/packages/google-cloud-vision/.eslintignore b/packages/google-cloud-vision/.eslintignore index f6fac98b0a8..f08b0fd1c65 100644 --- a/packages/google-cloud-vision/.eslintignore +++ b/packages/google-cloud-vision/.eslintignore @@ -1,3 +1,4 @@ node_modules/* samples/node_modules/* src/**/doc/* +build/ diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto index 57e3e246873..4b9ad8bb490 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// Copyright 2018 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,11 +11,14 @@ // 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.cloud.vision.v1; +import "google/api/annotations.proto"; + option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; option java_multiple_files = true; @@ -43,7 +46,7 @@ message NormalizedVertex { // Y coordinate. float y = 2; -}; +} // A bounding polygon for the detected image annotation. message BoundingPoly { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index f8d82084979..a7235f7a1ad 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// Copyright 2018 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,6 +11,7 @@ // 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"; @@ -18,6 +19,7 @@ package google.cloud.vision.v1; import "google/api/annotations.proto"; import "google/cloud/vision/v1/geometry.proto"; +import "google/cloud/vision/v1/product_search.proto"; import "google/cloud/vision/v1/text_annotation.proto"; import "google/cloud/vision/v1/web_detection.proto"; import "google/longrunning/operations.proto"; @@ -33,6 +35,7 @@ option java_outer_classname = "ImageAnnotatorProto"; option java_package = "com.google.cloud.vision.v1"; option objc_class_prefix = "GCVN"; + // Service that performs Google Cloud Vision API detection tasks over client // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. @@ -51,8 +54,7 @@ service ImageAnnotator { // `google.longrunning.Operations` interface. // `Operation.metadata` contains `OperationMetadata` (metadata). // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) - returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/files:asyncBatchAnnotate" body: "*" @@ -104,6 +106,9 @@ message Feature { // Run web detection. WEB_DETECTION = 10; + // Run Product Search. + PRODUCT_SEARCH = 12; + // Run localizer for object detection. OBJECT_LOCALIZATION = 19; } @@ -388,7 +393,7 @@ message EntityAnnotation { // For example, for an image in which the "Eiffel Tower" entity is detected, // this field represents the confidence that there is a tower in the query // image. Range [0, 1]. - float confidence = 5; + float confidence = 5 [deprecated = true]; // The relevancy of the ICA (Image Content Annotation) label to the // image. For example, the relevancy of "tower" is likely higher to an image @@ -550,6 +555,9 @@ message ImageContext { // Parameters for crop hints annotation request. CropHintsParams crop_hints_params = 4; + // Parameters for product search. + ProductSearchParams product_search_params = 5; + // Parameters for web detection. WebDetectionParams web_detection_params = 6; } @@ -617,6 +625,9 @@ message AnnotateImageResponse { // If present, web detection has completed successfully. WebDetection web_detection = 13; + // If present, product search has completed successfully. + ProductSearchResults product_search_results = 14; + // If set, represents the error message for the operation. // Note that filled-in image annotations are guaranteed to be // correct, even when `error` is set. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto new file mode 100644 index 00000000000..347ff029c98 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -0,0 +1,97 @@ +// Copyright 2018 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.cloud.vision.v1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1/geometry.proto"; +import "google/cloud/vision/v1/product_search_service.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ProductSearchProto"; +option java_package = "com.google.cloud.vision.v1"; +option objc_class_prefix = "GCVN"; + + +// Parameters for a product search request. +message ProductSearchParams { + // The bounding polygon around the area of interest in the image. + // Optional. If it is not specified, system discretion will be applied. + BoundingPoly bounding_poly = 9; + + // The resource name of a [ProductSet][google.cloud.vision.v1.ProductSet] to be searched for similar images. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + string product_set = 6; + + // The list of product categories to search in. Currently, we only consider + // the first category, and either "homegoods", "apparel", or "toys" should be + // specified. + repeated string product_categories = 7; + + // The filtering expression. This can be used to restrict search results based + // on Product labels. We currently support an AND of OR of key-value + // expressions, where each expression within an OR must have the same key. + // + // For example, "(color = red OR color = blue) AND brand = Google" is + // acceptable, but not "(color = red OR brand = Google)" or "color: red". + string filter = 8; +} + +// Results for a product search request. +message ProductSearchResults { + // Information about a product. + message Result { + // The Product. + Product product = 1; + + // A confidence level on the match, ranging from 0 (no confidence) to + // 1 (full confidence). + float score = 2; + + // The resource name of the image from the product that is the closest match + // to the query. + string image = 3; + } + + // Information about the products similar to a single product in a query + // image. + message GroupedResult { + // The bounding polygon around the product detected in the query image. + BoundingPoly bounding_poly = 1; + + // List of results, one for each product match. + repeated Result results = 2; + } + + // Timestamp of the index which provided these results. Changes made after + // this time are not reflected in the current results. + google.protobuf.Timestamp index_time = 2; + + // List of results, one for each product match. + repeated Result results = 5; + + // List of results grouped by products detected in the query image. Each entry + // corresponds to one bounding polygon in the query image, and contains the + // matching products specific to that region. There may be duplicate product + // matches in the union of all the per-product results. + repeated GroupedResult product_grouped_results = 6; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto new file mode 100644 index 00000000000..f8ae08e33c8 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -0,0 +1,834 @@ +// Copyright 2018 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.cloud.vision.v1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1/geometry.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ProductSearchServiceProto"; +option java_package = "com.google.cloud.vision.v1"; +option objc_class_prefix = "GCVN"; + + +// Manages Products and ProductSets of reference images for use in product +// search. It uses the following resource model: +// +// - The API has a collection of [ProductSet][google.cloud.vision.v1.ProductSet] resources, named +// `projects/*/locations/*/productSets/*`, which acts as a way to put different +// products into groups to limit identification. +// +// In parallel, +// +// - The API has a collection of [Product][google.cloud.vision.v1.Product] resources, named +// `projects/*/locations/*/products/*` +// +// - Each [Product][google.cloud.vision.v1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named +// `projects/*/locations/*/products/*/referenceImages/*` +service ProductSearch { + // Creates and returns a new ProductSet resource. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + // 4096 characters. + rpc CreateProductSet(CreateProductSetRequest) returns (ProductSet) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/productSets" + body: "product_set" + }; + } + + // Lists ProductSets in an unspecified order. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + // than 1. + rpc ListProductSets(ListProductSetsRequest) returns (ListProductSetsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/productSets" + }; + } + + // Gets information associated with a ProductSet. + // + // Possible errors: + // + // * Returns NOT_FOUND if the ProductSet does not exist. + rpc GetProductSet(GetProductSetRequest) returns (ProductSet) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/productSets/*}" + }; + } + + // Makes changes to a ProductSet resource. + // Only display_name can be updated currently. + // + // Possible errors: + // + // * Returns NOT_FOUND if the ProductSet does not exist. + // * Returns INVALID_ARGUMENT if display_name is present in update_mask but + // missing from the request or longer than 4096 characters. + rpc UpdateProductSet(UpdateProductSetRequest) returns (ProductSet) { + option (google.api.http) = { + patch: "/v1/{product_set.name=projects/*/locations/*/productSets/*}" + body: "product_set" + }; + } + + // Permanently deletes a ProductSet. All Products and ReferenceImages in the + // ProductSet will be deleted. + // + // The actual image files are not deleted from Google Cloud Storage. + // + // Possible errors: + // + // * Returns NOT_FOUND if the ProductSet does not exist. + rpc DeleteProductSet(DeleteProductSetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/productSets/*}" + }; + } + + // Creates and returns a new product resource. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + // characters. + // * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + // * Returns INVALID_ARGUMENT if product_category is missing or invalid. + rpc CreateProduct(CreateProductRequest) returns (Product) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/products" + body: "product" + }; + } + + // Lists products in an unspecified order. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + rpc ListProducts(ListProductsRequest) returns (ListProductsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/products" + }; + } + + // Gets information associated with a Product. + // + // Possible errors: + // + // * Returns NOT_FOUND if the Product does not exist. + rpc GetProduct(GetProductRequest) returns (Product) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/products/*}" + }; + } + + // Makes changes to a Product resource. + // Only the `display_name`, `description`, and `labels` fields can be updated + // right now. + // + // If labels are updated, the change will not be reflected in queries until + // the next index time. + // + // Possible errors: + // + // * Returns NOT_FOUND if the Product does not exist. + // * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + // missing from the request or longer than 4096 characters. + // * Returns INVALID_ARGUMENT if description is present in update_mask but is + // longer than 4096 characters. + // * Returns INVALID_ARGUMENT if product_category is present in update_mask. + rpc UpdateProduct(UpdateProductRequest) returns (Product) { + option (google.api.http) = { + patch: "/v1/{product.name=projects/*/locations/*/products/*}" + body: "product" + }; + } + + // Permanently deletes a product and its reference images. + // + // Metadata of the product and all its images will be deleted right away, but + // search queries against ProductSets containing the product may still work + // until all related caches are refreshed. + // + // Possible errors: + // + // * Returns NOT_FOUND if the product does not exist. + rpc DeleteProduct(DeleteProductRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/products/*}" + }; + } + + // Creates and returns a new ReferenceImage resource. + // + // The `bounding_poly` field is optional. If `bounding_poly` is not specified, + // the system will try to detect regions of interest in the image that are + // compatible with the product_category on the parent product. If it is + // specified, detection is ALWAYS skipped. The system converts polygons into + // non-rotated rectangles. + // + // Note that the pipeline will resize the image if the image resolution is too + // large to process (above 50MP). + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + // characters. + // * Returns INVALID_ARGUMENT if the product does not exist. + // * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + // compatible with the parent product's product_category is detected. + // * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + rpc CreateReferenceImage(CreateReferenceImageRequest) returns (ReferenceImage) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*/products/*}/referenceImages" + body: "reference_image" + }; + } + + // Permanently deletes a reference image. + // + // The image metadata will be deleted right away, but search queries + // against ProductSets containing the image may still work until all related + // caches are refreshed. + // + // The actual image files are not deleted from Google Cloud Storage. + // + // Possible errors: + // + // * Returns NOT_FOUND if the reference image does not exist. + rpc DeleteReferenceImage(DeleteReferenceImageRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" + }; + } + + // Lists reference images. + // + // Possible errors: + // + // * Returns NOT_FOUND if the parent product does not exist. + // * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + // than 1. + rpc ListReferenceImages(ListReferenceImagesRequest) returns (ListReferenceImagesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*/products/*}/referenceImages" + }; + } + + // Gets information associated with a ReferenceImage. + // + // Possible errors: + // + // * Returns NOT_FOUND if the specified image does not exist. + rpc GetReferenceImage(GetReferenceImageRequest) returns (ReferenceImage) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" + }; + } + + // Adds a Product to the specified ProductSet. If the Product is already + // present, no change is made. + // + // One Product can be added to at most 100 ProductSets. + // + // Possible errors: + // + // * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + rpc AddProductToProductSet(AddProductToProductSetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/productSets/*}:addProduct" + body: "*" + }; + } + + // Removes a Product from the specified ProductSet. + // + // Possible errors: + // + // * Returns NOT_FOUND If the Product is not found under the ProductSet. + rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/productSets/*}:removeProduct" + body: "*" + }; + } + + // Lists the Products in a ProductSet, in an unspecified order. If the + // ProductSet does not exist, the products field of the response will be + // empty. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + rpc ListProductsInProductSet(ListProductsInProductSetRequest) returns (ListProductsInProductSetResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/productSets/*}/products" + }; + } + + // Asynchronous API that imports a list of reference images to specified + // product sets based on a list of image information. + // + // The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the + // progress and results of the request. + // `Operation.metadata` contains `BatchOperationMetadata`. (progress) + // `Operation.response` contains `ImportProductSetsResponse`. (results) + // + // The input source of this method is a csv file on Google Cloud Storage. + // For the format of the csv file please see + // [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri]. + rpc ImportProductSets(ImportProductSetsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/productSets:import" + body: "*" + }; + } +} + +// A Product contains ReferenceImages. +message Product { + // A product label represented as a key-value pair. + message KeyValue { + // The key of the label attached to the product. Cannot be empty and cannot + // exceed 128 bytes. + string key = 1; + + // The value of the label attached to the product. Cannot be empty and + // cannot exceed 128 bytes. + string value = 2; + } + + // The resource name of the product. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + // + // This field is ignored when creating a product. + string name = 1; + + // The user-provided name for this Product. Must not be empty. Must be at most + // 4096 characters long. + string display_name = 2; + + // User-provided metadata to be stored with this product. Must be at most 4096 + // characters long. + string description = 3; + + // The category for the product identified by the reference image. This should + // be either "homegoods", "apparel", or "toys". + // + // This field is immutable. + string product_category = 4; + + // Key-value pairs that can be attached to a product. At query time, + // constraints can be specified based on the product_labels. + // + // Note that integer values can be provided as strings, e.g. "1199". Only + // strings with integer values can match a range-based restriction which is + // to be supported soon. + // + // Multiple values can be assigned to the same key. One product may have up to + // 100 product_labels. + repeated KeyValue product_labels = 5; +} + +// A ProductSet contains Products. A ProductSet can contain a maximum of 1 +// million reference images. If the limit is exceeded, periodic indexing will +// fail. +message ProductSet { + // The resource name of the ProductSet. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + // + // This field is ignored when creating a ProductSet. + string name = 1; + + // The user-provided name for this ProductSet. Must not be empty. Must be at + // most 4096 characters long. + string display_name = 2; + + // Output only. The time at which this ProductSet was last indexed. Query + // results will reflect all updates before this time. If this ProductSet has + // never been indexed, this field is 0. + // + // This field is ignored when creating a ProductSet. + google.protobuf.Timestamp index_time = 3; + + // Output only. If there was an error with indexing the product set, the field + // is populated. + // + // This field is ignored when creating a ProductSet. + google.rpc.Status index_error = 4; +} + +// A `ReferenceImage` represents a product image and its associated metadata, +// such as bounding boxes. +message ReferenceImage { + // The resource name of the reference image. + // + // Format is: + // + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + // + // This field is ignored when creating a reference image. + string name = 1; + + // The Google Cloud Storage URI of the reference image. + // + // The URI must start with `gs://`. + // + // Required. + string uri = 2; + + // Bounding polygons around the areas of interest in the reference image. + // Optional. If this field is empty, the system will try to detect regions of + // interest. At most 10 bounding polygons will be used. + // + // The provided shape is converted into a non-rotated rectangle. Once + // converted, the small edge of the rectangle must be greater than or equal + // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 + // is not). + repeated BoundingPoly bounding_polys = 3; +} + +// Request message for the `CreateProduct` method. +message CreateProductRequest { + // The project in which the Product should be created. + // + // Format is + // `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The product to create. + Product product = 2; + + // A user-supplied resource id for this Product. If set, the server will + // attempt to use this value as the resource id. If it is already in use, an + // error is returned with code ALREADY_EXISTS. Must be at most 128 characters + // long. It cannot contain the character `/`. + string product_id = 3; +} + +// Request message for the `ListProducts` method. +message ListProductsRequest { + // The project OR ProductSet from which Products should be listed. + // + // Format: + // `projects/PROJECT_ID/locations/LOC_ID` + string parent = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string page_token = 3; +} + +// Response message for the `ListProducts` method. +message ListProductsResponse { + // List of products. + repeated Product products = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// Request message for the `GetProduct` method. +message GetProductRequest { + // Resource name of the Product to get. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string name = 1; +} + +// Request message for the `UpdateProduct` method. +message UpdateProductRequest { + // The Product resource which replaces the one on the server. + // product.name is immutable. + Product product = 1; + + // The [FieldMask][google.protobuf.FieldMask] that specifies which fields + // to update. + // If update_mask isn't specified, all mutable fields are to be updated. + // Valid mask paths include `product_labels`, `display_name`, and + // `description`. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the `DeleteProduct` method. +message DeleteProductRequest { + // Resource name of product to delete. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string name = 1; +} + +// Request message for the `CreateProductSet` method. +message CreateProductSetRequest { + // The project in which the ProductSet should be created. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The ProductSet to create. + ProductSet product_set = 2; + + // A user-supplied resource id for this ProductSet. If set, the server will + // attempt to use this value as the resource id. If it is already in use, an + // error is returned with code ALREADY_EXISTS. Must be at most 128 characters + // long. It cannot contain the character `/`. + string product_set_id = 3; +} + +// Request message for the `ListProductSets` method. +message ListProductSetsRequest { + // The project from which ProductSets should be listed. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string page_token = 3; +} + +// Response message for the `ListProductSets` method. +message ListProductSetsResponse { + // List of ProductSets. + repeated ProductSet product_sets = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// Request message for the `GetProductSet` method. +message GetProductSetRequest { + // Resource name of the ProductSet to get. + // + // Format is: + // `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + string name = 1; +} + +// Request message for the `UpdateProductSet` method. +message UpdateProductSetRequest { + // The ProductSet resource which replaces the one on the server. + ProductSet product_set = 1; + + // The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + // update. + // If update_mask isn't specified, all mutable fields are to be updated. + // Valid mask path is `display_name`. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the `DeleteProductSet` method. +message DeleteProductSetRequest { + // Resource name of the ProductSet to delete. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; +} + +// Request message for the `CreateReferenceImage` method. +message CreateReferenceImageRequest { + // Resource name of the product in which to create the reference image. + // + // Format is + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + string parent = 1; + + // The reference image to create. + // If an image ID is specified, it is ignored. + ReferenceImage reference_image = 2; + + // A user-supplied resource id for the ReferenceImage to be added. If set, + // the server will attempt to use this value as the resource id. If it is + // already in use, an error is returned with code ALREADY_EXISTS. Must be at + // most 128 characters long. It cannot contain the character `/`. + string reference_image_id = 3; +} + +// Request message for the `ListReferenceImages` method. +message ListReferenceImagesRequest { + // Resource name of the product containing the reference images. + // + // Format is + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + string parent = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // A token identifying a page of results to be returned. This is the value + // of `nextPageToken` returned in a previous reference image list request. + // + // Defaults to the first page if not specified. + string page_token = 3; +} + +// Response message for the `ListReferenceImages` method. +message ListReferenceImagesResponse { + // The list of reference images. + repeated ReferenceImage reference_images = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string next_page_token = 3; +} + +// Request message for the `GetReferenceImage` method. +message GetReferenceImageRequest { + // The resource name of the ReferenceImage to get. + // + // Format is: + // + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + string name = 1; +} + +// Request message for the `DeleteReferenceImage` method. +message DeleteReferenceImageRequest { + // The resource name of the reference image to delete. + // + // Format is: + // + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + string name = 1; +} + +// Request message for the `AddProductToProductSet` method. +message AddProductToProductSetRequest { + // The resource name for the ProductSet to modify. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; + + // The resource name for the Product to be added to this ProductSet. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string product = 2; +} + +// Request message for the `RemoveProductFromProductSet` method. +message RemoveProductFromProductSetRequest { + // The resource name for the ProductSet to modify. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; + + // The resource name for the Product to be removed from this ProductSet. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string product = 2; +} + +// Request message for the `ListProductsInProductSet` method. +message ListProductsInProductSetRequest { + // The ProductSet resource for which to retrieve Products. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string page_token = 3; +} + +// Response message for the `ListProductsInProductSet` method. +message ListProductsInProductSetResponse { + // The list of Products. + repeated Product products = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The Google Cloud Storage location for a csv file which preserves a list of +// ImportProductSetRequests in each line. +message ImportProductSetsGcsSource { + // The Google Cloud Storage URI of the input csv file. + // + // The URI must start with `gs://`. + // + // The format of the input csv file should be one image per line. + // In each line, there are 8 columns. + // + // 1. image-uri + // 2. image-id + // 3. product-set-id + // 4. product-id + // 5. product-category + // 6. product-display-name + // 7. labels + // 8. bounding-poly + // + // The `image-uri`, `product-set-id`, `product-id`, and `product-category` + // columns are required. All other columns are optional. + // + // If the `ProductSet` or `Product` specified by the `product-set-id` and + // `product-id` values does not exist, then the system will create a new + // `ProductSet` or `Product` for the image. In this case, the + // `product-display-name` column refers to + // [display_name][google.cloud.vision.v1.Product.display_name], the + // `product-category` column refers to + // [product_category][google.cloud.vision.v1.Product.product_category], and the + // `labels` column refers to [product_labels][google.cloud.vision.v1.Product.product_labels]. + // + // The `image-id` column is optional but must be unique if provided. If it is + // empty, the system will automatically assign a unique id to the image. + // + // The `product-display-name` column is optional. If it is empty, the system + // sets the [display_name][google.cloud.vision.v1.Product.display_name] field for the product to a + // space (" "). You can update the `display_name` later by using the API. + // + // If a `Product` with the specified `product-id` already exists, then the + // system ignores the `product-display-name`, `product-category`, and `labels` + // columns. + // + // The `labels` column (optional) is a line containing a list of + // comma-separated key-value pairs, in the following format: + // + // "key_1=value_1,key_2=value_2,...,key_n=value_n" + // + // The `bounding-poly` column (optional) identifies one region of + // interest from the image in the same manner as `CreateReferenceImage`. If + // you do not specify the `bounding-poly` column, then the system will try to + // detect regions of interest automatically. + // + // At most one `bounding-poly` column is allowed per line. If the image + // contains multiple regions of interest, add a line to the CSV file that + // includes the same product information, and the `bounding-poly` values for + // each region of interest. + // + // The `bounding-poly` column must contain an even number of comma-separated + // numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Use + // non-negative integers for absolute bounding polygons, and float values + // in [0, 1] for normalized bounding polygons. + // + // The system will resize the image if the image resolution is too + // large to process (larger than 20MP). + string csv_file_uri = 1; +} + +// The input content for the `ImportProductSets` method. +message ImportProductSetsInputConfig { + // The source of the input. + oneof source { + // The Google Cloud Storage location for a csv file which preserves a list + // of ImportProductSetRequests in each line. + ImportProductSetsGcsSource gcs_source = 1; + } +} + +// Request message for the `ImportProductSets` method. +message ImportProductSetsRequest { + // The project in which the ProductSets should be imported. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The input content for the list of requests. + ImportProductSetsInputConfig input_config = 2; +} + +// Response message for the `ImportProductSets` method. +// +// This message is returned by the +// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned +// [google.longrunning.Operation.response][google.longrunning.Operation.response] field. +message ImportProductSetsResponse { + // The list of reference_images that are imported successfully. + repeated ReferenceImage reference_images = 1; + + // The rpc status for each ImportProductSet request, including both successes + // and errors. + // + // The number of statuses here matches the number of lines in the csv file, + // and statuses[i] stores the success or failure status of processing the i-th + // line of the csv, starting from line 0. + repeated google.rpc.Status statuses = 2; +} + +// Metadata for the batch operations such as the current state. +// +// This is included in the `metadata` field of the `Operation` returned by the +// `GetOperation` call of the `google::longrunning::Operations` service. +message BatchOperationMetadata { + // Enumerates the possible states that the batch request can be in. + enum State { + // Invalid. + STATE_UNSPECIFIED = 0; + + // Request is actively being processed. + PROCESSING = 1; + + // The request is done and at least one item has been successfully + // processed. + SUCCESSFUL = 2; + + // The request is done and no item has been successfully processed. + FAILED = 3; + + // The request is done after the longrunning.Operations.CancelOperation has + // been called by the user. Any records that were processed before the + // cancel command are output as specified in the request. + CANCELLED = 4; + } + + // The current state of the batch operation. + State state = 1; + + // The time when the batch request was submitted to the server. + google.protobuf.Timestamp submit_time = 2; + + // The time when the batch request is finished and + // [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to true. + google.protobuf.Timestamp end_time = 3; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index aa506b981be..c66c9114f1f 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// Copyright 2018 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,6 +11,7 @@ // 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"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto index 5747559810c..17e86f8b36b 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// Copyright 2018 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,6 +11,7 @@ // 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"; @@ -25,6 +26,7 @@ option java_outer_classname = "WebDetectionProto"; option java_package = "com.google.cloud.vision.v1"; option objc_class_prefix = "GCVN"; + // Relevant information for the image from the Internet. message WebDetection { // Entity deduced from similar images on the Internet. @@ -100,6 +102,7 @@ message WebDetection { // The visually similar image results. repeated WebImage visually_similar_images = 6; - // Best guess text labels for the request image. + // The service's best guess as to the topic of the request image. + // Inferred from similar images on the open web. repeated WebLabel best_guess_labels = 8; } diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index 8587fddf333..12782598e11 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -109,6 +109,11 @@ const Feature = { */ WEB_DETECTION: 10, + /** + * Run Product Search. + */ + PRODUCT_SEARCH: 12, + /** * Run localizer for object detection. */ @@ -822,6 +827,11 @@ const WebDetectionParams = { * * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1.CropHintsParams} * + * @property {Object} productSearchParams + * Parameters for product search. + * + * This object should have the same structure as [ProductSearchParams]{@link google.cloud.vision.v1.ProductSearchParams} + * * @property {Object} webDetectionParams * Parameters for web detection. * @@ -943,6 +953,11 @@ const ImageAnnotationContext = { * * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1.WebDetection} * + * @property {Object} productSearchResults + * If present, product search has completed successfully. + * + * This object should have the same structure as [ProductSearchResults]{@link google.cloud.vision.v1.ProductSearchResults} + * * @property {Object} error * If set, represents the error message for the operation. * Note that filled-in image annotations are guaranteed to be diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js new file mode 100644 index 00000000000..e4cad72c6e2 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -0,0 +1,128 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Parameters for a product search request. + * + * @property {Object} boundingPoly + * The bounding polygon around the area of interest in the image. + * Optional. If it is not specified, system discretion will be applied. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} + * + * @property {string} productSet + * The resource name of a ProductSet to be searched for similar images. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + * + * @property {string[]} productCategories + * The list of product categories to search in. Currently, we only consider + * the first category, and either "homegoods", "apparel", or "toys" should be + * specified. + * + * @property {string} filter + * The filtering expression. This can be used to restrict search results based + * on Product labels. We currently support an AND of OR of key-value + * expressions, where each expression within an OR must have the same key. + * + * For example, "(color = red OR color = blue) AND brand = Google" is + * acceptable, but not "(color = red OR brand = Google)" or "color: red". + * + * @typedef ProductSearchParams + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ProductSearchParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} + */ +const ProductSearchParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Results for a product search request. + * + * @property {Object} indexTime + * Timestamp of the index which provided these results. Changes made after + * this time are not reflected in the current results. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object[]} results + * List of results, one for each product match. + * + * This object should have the same structure as [Result]{@link google.cloud.vision.v1.Result} + * + * @property {Object[]} productGroupedResults + * List of results grouped by products detected in the query image. Each entry + * corresponds to one bounding polygon in the query image, and contains the + * matching products specific to that region. There may be duplicate product + * matches in the union of all the per-product results. + * + * This object should have the same structure as [GroupedResult]{@link google.cloud.vision.v1.GroupedResult} + * + * @typedef ProductSearchResults + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ProductSearchResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} + */ +const ProductSearchResults = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Information about a product. + * + * @property {Object} product + * The Product. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * + * @property {number} score + * A confidence level on the match, ranging from 0 (no confidence) to + * 1 (full confidence). + * + * @property {string} image + * The resource name of the image from the product that is the closest match + * to the query. + * + * @typedef Result + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ProductSearchResults.Result definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} + */ + Result: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Information about the products similar to a single product in a query + * image. + * + * @property {Object} boundingPoly + * The bounding polygon around the product detected in the query image. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} + * + * @property {Object[]} results + * List of results, one for each product match. + * + * This object should have the same structure as [Result]{@link google.cloud.vision.v1.Result} + * + * @typedef GroupedResult + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ProductSearchResults.GroupedResult definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} + */ + GroupedResult: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js new file mode 100644 index 00000000000..01018a9acb3 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -0,0 +1,833 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A Product contains ReferenceImages. + * + * @property {string} name + * The resource name of the product. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * + * This field is ignored when creating a product. + * + * @property {string} displayName + * The user-provided name for this Product. Must not be empty. Must be at most + * 4096 characters long. + * + * @property {string} description + * User-provided metadata to be stored with this product. Must be at most 4096 + * characters long. + * + * @property {string} productCategory + * The category for the product identified by the reference image. This should + * be either "homegoods", "apparel", or "toys". + * + * This field is immutable. + * + * @property {Object[]} productLabels + * Key-value pairs that can be attached to a product. At query time, + * constraints can be specified based on the product_labels. + * + * Note that integer values can be provided as strings, e.g. "1199". Only + * strings with integer values can match a range-based restriction which is + * to be supported soon. + * + * Multiple values can be assigned to the same key. One product may have up to + * 100 product_labels. + * + * This object should have the same structure as [KeyValue]{@link google.cloud.vision.v1.KeyValue} + * + * @typedef Product + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.Product definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const Product = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * A product label represented as a key-value pair. + * + * @property {string} key + * The key of the label attached to the product. Cannot be empty and cannot + * exceed 128 bytes. + * + * @property {string} value + * The value of the label attached to the product. Cannot be empty and + * cannot exceed 128 bytes. + * + * @typedef KeyValue + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.Product.KeyValue definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ + KeyValue: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * A ProductSet contains Products. A ProductSet can contain a maximum of 1 + * million reference images. If the limit is exceeded, periodic indexing will + * fail. + * + * @property {string} name + * The resource name of the ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + * + * This field is ignored when creating a ProductSet. + * + * @property {string} displayName + * The user-provided name for this ProductSet. Must not be empty. Must be at + * most 4096 characters long. + * + * @property {Object} indexTime + * Output only. The time at which this ProductSet was last indexed. Query + * results will reflect all updates before this time. If this ProductSet has + * never been indexed, this field is 0. + * + * This field is ignored when creating a ProductSet. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} indexError + * Output only. If there was an error with indexing the product set, the field + * is populated. + * + * This field is ignored when creating a ProductSet. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef ProductSet + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ProductSet definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ProductSet = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A `ReferenceImage` represents a product image and its associated metadata, + * such as bounding boxes. + * + * @property {string} name + * The resource name of the reference image. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * + * This field is ignored when creating a reference image. + * + * @property {string} uri + * The Google Cloud Storage URI of the reference image. + * + * The URI must start with `gs://`. + * + * Required. + * + * @property {Object[]} boundingPolys + * Bounding polygons around the areas of interest in the reference image. + * Optional. If this field is empty, the system will try to detect regions of + * interest. At most 10 bounding polygons will be used. + * + * The provided shape is converted into a non-rotated rectangle. Once + * converted, the small edge of the rectangle must be greater than or equal + * to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 + * is not). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} + * + * @typedef ReferenceImage + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ReferenceImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ReferenceImage = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `CreateProduct` method. + * + * @property {string} parent + * The project in which the Product should be created. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {Object} product + * The product to create. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * + * @property {string} productId + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * + * @typedef CreateProductRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.CreateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const CreateProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListProducts` method. + * + * @property {string} parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListProductsRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ListProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ListProductsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListProducts` method. + * + * @property {Object[]} products + * List of products. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * + * @property {string} nextPageToken + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + * + * @typedef ListProductsResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ListProductsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ListProductsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `GetProduct` method. + * + * @property {string} name + * Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef GetProductRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.GetProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const GetProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `UpdateProduct` method. + * + * @property {Object} product + * The Product resource which replaces the one on the server. + * product.name is immutable. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * + * @property {Object} updateMask + * The FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * + * @typedef UpdateProductRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.UpdateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const UpdateProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `DeleteProduct` method. + * + * @property {string} name + * Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef DeleteProductRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.DeleteProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const DeleteProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `CreateProductSet` method. + * + * @property {string} parent + * The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {Object} productSet + * The ProductSet to create. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} + * + * @property {string} productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * + * @typedef CreateProductSetRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.CreateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const CreateProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListProductSets` method. + * + * @property {string} parent + * The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListProductSetsRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ListProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ListProductSetsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListProductSets` method. + * + * @property {Object[]} productSets + * List of ProductSets. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} + * + * @property {string} nextPageToken + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + * + * @typedef ListProductSetsResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ListProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ListProductSetsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `GetProductSet` method. + * + * @property {string} name + * Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * + * @typedef GetProductSetRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.GetProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const GetProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `UpdateProductSet` method. + * + * @property {Object} productSet + * The ProductSet resource which replaces the one on the server. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} + * + * @property {Object} updateMask + * The FieldMask that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * + * @typedef UpdateProductSetRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.UpdateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const UpdateProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `DeleteProductSet` method. + * + * @property {string} name + * Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @typedef DeleteProductSetRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.DeleteProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const DeleteProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `CreateReferenceImage` method. + * + * @property {string} parent + * Resource name of the product in which to create the reference image. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * + * @property {Object} referenceImage + * The reference image to create. + * If an image ID is specified, it is ignored. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} + * + * @property {string} referenceImageId + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + * + * @typedef CreateReferenceImageRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.CreateReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const CreateReferenceImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListReferenceImages` method. + * + * @property {string} parent + * Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * + * @typedef ListReferenceImagesRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ListReferenceImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ListReferenceImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListReferenceImages` method. + * + * @property {Object[]} referenceImages + * The list of reference images. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} nextPageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListReferenceImagesResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ListReferenceImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ListReferenceImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `GetReferenceImage` method. + * + * @property {string} name + * The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * + * @typedef GetReferenceImageRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.GetReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const GetReferenceImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `DeleteReferenceImage` method. + * + * @property {string} name + * The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * + * @typedef DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.DeleteReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const DeleteReferenceImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `AddProductToProductSet` method. + * + * @property {string} name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @property {string} product + * The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef AddProductToProductSetRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AddProductToProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const AddProductToProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `RemoveProductFromProductSet` method. + * + * @property {string} name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @property {string} product + * The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.RemoveProductFromProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const RemoveProductFromProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListProductsInProductSet` method. + * + * @property {string} name + * The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ListProductsInProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ListProductsInProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListProductsInProductSet` method. + * + * @property {Object[]} products + * The list of Products. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * + * @property {string} nextPageToken + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + * + * @typedef ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ListProductsInProductSetResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ListProductsInProductSetResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location for a csv file which preserves a list of + * ImportProductSetRequests in each line. + * + * @property {string} csvFileUri + * The Google Cloud Storage URI of the input csv file. + * + * The URI must start with `gs://`. + * + * The format of the input csv file should be one image per line. + * In each line, there are 8 columns. + * + * 1. image-uri + * 2. image-id + * 3. product-set-id + * 4. product-id + * 5. product-category + * 6. product-display-name + * 7. labels + * 8. bounding-poly + * + * The `image-uri`, `product-set-id`, `product-id`, and `product-category` + * columns are required. All other columns are optional. + * + * If the `ProductSet` or `Product` specified by the `product-set-id` and + * `product-id` values does not exist, then the system will create a new + * `ProductSet` or `Product` for the image. In this case, the + * `product-display-name` column refers to + * display_name, the + * `product-category` column refers to + * product_category, and the + * `labels` column refers to product_labels. + * + * The `image-id` column is optional but must be unique if provided. If it is + * empty, the system will automatically assign a unique id to the image. + * + * The `product-display-name` column is optional. If it is empty, the system + * sets the display_name field for the product to a + * space (" "). You can update the `display_name` later by using the API. + * + * If a `Product` with the specified `product-id` already exists, then the + * system ignores the `product-display-name`, `product-category`, and `labels` + * columns. + * + * The `labels` column (optional) is a line containing a list of + * comma-separated key-value pairs, in the following format: + * + * "key_1=value_1,key_2=value_2,...,key_n=value_n" + * + * The `bounding-poly` column (optional) identifies one region of + * interest from the image in the same manner as `CreateReferenceImage`. If + * you do not specify the `bounding-poly` column, then the system will try to + * detect regions of interest automatically. + * + * At most one `bounding-poly` column is allowed per line. If the image + * contains multiple regions of interest, add a line to the CSV file that + * includes the same product information, and the `bounding-poly` values for + * each region of interest. + * + * The `bounding-poly` column must contain an even number of comma-separated + * numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Use + * non-negative integers for absolute bounding polygons, and float values + * in [0, 1] for normalized bounding polygons. + * + * The system will resize the image if the image resolution is too + * large to process (larger than 20MP). + * + * @typedef ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ImportProductSetsGcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ImportProductSetsGcsSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The input content for the `ImportProductSets` method. + * + * @property {Object} gcsSource + * The Google Cloud Storage location for a csv file which preserves a list + * of ImportProductSetRequests in each line. + * + * This object should have the same structure as [ImportProductSetsGcsSource]{@link google.cloud.vision.v1.ImportProductSetsGcsSource} + * + * @typedef ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ImportProductSetsInputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ImportProductSetsInputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ImportProductSets` method. + * + * @property {string} parent + * The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {Object} inputConfig + * The input content for the list of requests. + * + * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1.ImportProductSetsInputConfig} + * + * @typedef ImportProductSetsRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ImportProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ImportProductSetsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ImportProductSets` method. + * + * This message is returned by the + * google.longrunning.Operations.GetOperation method in the returned + * google.longrunning.Operation.response field. + * + * @property {Object[]} referenceImages + * The list of reference_images that are imported successfully. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} + * + * @property {Object[]} statuses + * The rpc status for each ImportProductSet request, including both successes + * and errors. + * + * The number of statuses here matches the number of lines in the csv file, + * and statuses[i] stores the success or failure status of processing the i-th + * line of the csv, starting from line 0. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef ImportProductSetsResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ImportProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ImportProductSetsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Metadata for the batch operations such as the current state. + * + * This is included in the `metadata` field of the `Operation` returned by the + * `GetOperation` call of the `google::longrunning::Operations` service. + * + * @property {number} state + * The current state of the batch operation. + * + * The number should be among the values of [State]{@link google.cloud.vision.v1.State} + * + * @property {Object} submitTime + * The time when the batch request was submitted to the server. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} endTime + * The time when the batch request is finished and + * google.longrunning.Operation.done is set to true. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef BatchOperationMetadata + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.BatchOperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const BatchOperationMetadata = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Enumerates the possible states that the batch request can be in. + * + * @enum {number} + * @memberof google.cloud.vision.v1 + */ + State: { + + /** + * Invalid. + */ + STATE_UNSPECIFIED: 0, + + /** + * Request is actively being processed. + */ + PROCESSING: 1, + + /** + * The request is done and at least one item has been successfully + * processed. + */ + SUCCESSFUL: 2, + + /** + * The request is done and no item has been successfully processed. + */ + FAILED: 3, + + /** + * The request is done after the longrunning.Operations.CancelOperation has + * been called by the user. Any records that were processed before the + * cancel command are output as specified in the request. + */ + CANCELLED: 4 + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js index 5583eb5d508..3f05a78c132 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js @@ -47,7 +47,8 @@ * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} * * @property {Object[]} bestGuessLabels - * Best guess text labels for the request image. + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. * * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1.WebLabel} * diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js new file mode 100644 index 00000000000..b1d6b5e32a9 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js @@ -0,0 +1,34 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A generic empty message that you can re-use to avoid defining duplicated + * empty messages in your APIs. A typical example is to use it as the request + * or the response type of an API method. For instance: + * + * service Foo { + * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + * } + * + * The JSON representation for `Empty` is empty JSON object `{}`. + * @typedef Empty + * @memberof google.protobuf + * @see [google.protobuf.Empty definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/empty.proto} + */ +const Empty = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js new file mode 100644 index 00000000000..0cb35328962 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js @@ -0,0 +1,236 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * `FieldMask` represents a set of symbolic field paths, for example: + * + * paths: "f.a" + * paths: "f.b.d" + * + * Here `f` represents a field in some root message, `a` and `b` + * fields in the message found in `f`, and `d` a field found in the + * message in `f.b`. + * + * Field masks are used to specify a subset of fields that should be + * returned by a get operation or modified by an update operation. + * Field masks also have a custom JSON encoding (see below). + * + * # Field Masks in Projections + * + * When used in the context of a projection, a response message or + * sub-message is filtered by the API to only contain those fields as + * specified in the mask. For example, if the mask in the previous + * example is applied to a response message as follows: + * + * f { + * a : 22 + * b { + * d : 1 + * x : 2 + * } + * y : 13 + * } + * z: 8 + * + * The result will not contain specific values for fields x,y and z + * (their value will be set to the default, and omitted in proto text + * output): + * + * + * f { + * a : 22 + * b { + * d : 1 + * } + * } + * + * A repeated field is not allowed except at the last position of a + * paths string. + * + * If a FieldMask object is not present in a get operation, the + * operation applies to all fields (as if a FieldMask of all fields + * had been specified). + * + * Note that a field mask does not necessarily apply to the + * top-level response message. In case of a REST get operation, the + * field mask applies directly to the response, but in case of a REST + * list operation, the mask instead applies to each individual message + * in the returned resource list. In case of a REST custom method, + * other definitions may be used. Where the mask applies will be + * clearly documented together with its declaration in the API. In + * any case, the effect on the returned resource/resources is required + * behavior for APIs. + * + * # Field Masks in Update Operations + * + * A field mask in update operations specifies which fields of the + * targeted resource are going to be updated. The API is required + * to only change the values of the fields as specified in the mask + * and leave the others untouched. If a resource is passed in to + * describe the updated values, the API ignores the values of all + * fields not covered by the mask. + * + * If a repeated field is specified for an update operation, the existing + * repeated values in the target resource will be overwritten by the new values. + * Note that a repeated field is only allowed in the last position of a `paths` + * string. + * + * If a sub-message is specified in the last position of the field mask for an + * update operation, then the existing sub-message in the target resource is + * overwritten. Given the target message: + * + * f { + * b { + * d : 1 + * x : 2 + * } + * c : 1 + * } + * + * And an update message: + * + * f { + * b { + * d : 10 + * } + * } + * + * then if the field mask is: + * + * paths: "f.b" + * + * then the result will be: + * + * f { + * b { + * d : 10 + * } + * c : 1 + * } + * + * However, if the update mask was: + * + * paths: "f.b.d" + * + * then the result would be: + * + * f { + * b { + * d : 10 + * x : 2 + * } + * c : 1 + * } + * + * In order to reset a field's value to the default, the field must + * be in the mask and set to the default value in the provided resource. + * Hence, in order to reset all fields of a resource, provide a default + * instance of the resource and set all fields in the mask, or do + * not provide a mask as described below. + * + * If a field mask is not present on update, the operation applies to + * all fields (as if a field mask of all fields has been specified). + * Note that in the presence of schema evolution, this may mean that + * fields the client does not know and has therefore not filled into + * the request will be reset to their default. If this is unwanted + * behavior, a specific service may require a client to always specify + * a field mask, producing an error if not. + * + * As with get operations, the location of the resource which + * describes the updated values in the request message depends on the + * operation kind. In any case, the effect of the field mask is + * required to be honored by the API. + * + * ## Considerations for HTTP REST + * + * The HTTP kind of an update operation which uses a field mask must + * be set to PATCH instead of PUT in order to satisfy HTTP semantics + * (PUT must only be used for full updates). + * + * # JSON Encoding of Field Masks + * + * In JSON, a field mask is encoded as a single string where paths are + * separated by a comma. Fields name in each path are converted + * to/from lower-camel naming conventions. + * + * As an example, consider the following message declarations: + * + * message Profile { + * User user = 1; + * Photo photo = 2; + * } + * message User { + * string display_name = 1; + * string address = 2; + * } + * + * In proto a field mask for `Profile` may look as such: + * + * mask { + * paths: "user.display_name" + * paths: "photo" + * } + * + * In JSON, the same mask is represented as below: + * + * { + * mask: "user.displayName,photo" + * } + * + * # Field Masks and Oneof Fields + * + * Field masks treat fields in oneofs just as regular fields. Consider the + * following message: + * + * message SampleMessage { + * oneof test_oneof { + * string name = 4; + * SubMessage sub_message = 9; + * } + * } + * + * The field mask can be: + * + * mask { + * paths: "name" + * } + * + * Or: + * + * mask { + * paths: "sub_message" + * } + * + * Note that oneof type names ("test_oneof" in this case) cannot be used in + * paths. + * + * ## Field Mask Verification + * + * The implementation of any API method which has a FieldMask type field in the + * request should verify the included field paths, and return an + * `INVALID_ARGUMENT` error if any path is duplicated or unmappable. + * + * @property {string[]} paths + * The set of field mask paths. + * + * @typedef FieldMask + * @memberof google.protobuf + * @see [google.protobuf.FieldMask definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/field_mask.proto} + */ +const FieldMask = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js new file mode 100644 index 00000000000..1ebe2e6e1a5 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js @@ -0,0 +1,115 @@ +// Copyright 2018 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A Timestamp represents a point in time independent of any time zone + * or calendar, represented as seconds and fractions of seconds at + * nanosecond resolution in UTC Epoch time. It is encoded using the + * Proleptic Gregorian Calendar which extends the Gregorian calendar + * backwards to year one. It is encoded assuming all minutes are 60 + * seconds long, i.e. leap seconds are "smeared" so that no leap second + * table is needed for interpretation. Range is from + * 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. + * By restricting to that range, we ensure that we can convert to + * and from RFC 3339 date strings. + * See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + * + * # Examples + * + * Example 1: Compute Timestamp from POSIX `time()`. + * + * Timestamp timestamp; + * timestamp.set_seconds(time(NULL)); + * timestamp.set_nanos(0); + * + * Example 2: Compute Timestamp from POSIX `gettimeofday()`. + * + * struct timeval tv; + * gettimeofday(&tv, NULL); + * + * Timestamp timestamp; + * timestamp.set_seconds(tv.tv_sec); + * timestamp.set_nanos(tv.tv_usec * 1000); + * + * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + * + * FILETIME ft; + * GetSystemTimeAsFileTime(&ft); + * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + * + * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + * Timestamp timestamp; + * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + * + * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + * + * long millis = System.currentTimeMillis(); + * + * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + * .setNanos((int) ((millis % 1000) * 1000000)).build(); + * + * + * Example 5: Compute Timestamp from current time in Python. + * + * timestamp = Timestamp() + * timestamp.GetCurrentTime() + * + * # JSON Mapping + * + * In JSON format, the Timestamp type is encoded as a string in the + * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + * where {year} is always expressed using four digits while {month}, {day}, + * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + * is required. A proto3 JSON serializer should always use UTC (as indicated by + * "Z") when printing the Timestamp type and a proto3 JSON parser should be + * able to accept both UTC and other timezones (as indicated by an offset). + * + * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + * 01:30 UTC on January 15, 2017. + * + * In JavaScript, one can convert a Date object to this format using the + * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] + * method. In Python, a standard `datetime.datetime` object can be converted + * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) + * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one + * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://cloud.google.com + * http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime-- + * ) to obtain a formatter capable of generating timestamps in this format. + * + * @property {number} seconds + * Represents seconds of UTC time since Unix epoch + * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + * 9999-12-31T23:59:59Z inclusive. + * + * @property {number} nanos + * Non-negative fractions of a second at nanosecond resolution. Negative + * second values with fractions must still have non-negative nanos values + * that count forward in time. Must be from 0 to 999,999,999 + * inclusive. + * + * @typedef Timestamp + * @memberof google.protobuf + * @see [google.protobuf.Timestamp definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto} + */ +const Timestamp = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index 301ca40eb92..f70d663b492 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -14,6 +14,8 @@ 'use strict'; +const ProductSearchClient = require('./product_search_client'); const ImageAnnotatorClient = require('./image_annotator_client'); +module.exports.ProductSearchClient = ProductSearchClient; module.exports.ImageAnnotatorClient = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js new file mode 100644 index 00000000000..6a611c34b98 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -0,0 +1,2033 @@ +// Copyright 2018 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. + +'use strict'; + +const gapicConfig = require('./product_search_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); +const protobuf = require('protobufjs'); + +const VERSION = require('../../package.json').version; + +/** + * Manages Products and ProductSets of reference images for use in product + * search. It uses the following resource model: + * + * - The API has a collection of ProductSet resources, named + * `projects/* /locations/* /productSets/*`, which acts as a way to put different + * products into groups to limit identification. + * + * In parallel, + * + * - The API has a collection of Product resources, named + * `projects/* /locations/* /products/*` + * + * - Each Product has a collection of ReferenceImage resources, named + * `projects/* /locations/* /products/* /referenceImages/*` + * + * @class + * @memberof v1 + */ +class ProductSearchClient { + /** + * Construct an instance of ProductSearchClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.servicePath] - The domain name of the + * API remote host. + */ + constructor(opts) { + this._descriptors = {}; + + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + const gaxGrpc = new gax.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; + + // Determine the client header string. + const clientHeader = [ + `gl-node/${process.version}`, + `grpc/${gaxGrpc.grpcVersion}`, + `gax/${gax.version}`, + `gapic/${VERSION}`, + ]; + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + + // Load the applicable protos. + const protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/vision/v1/product_search_service.proto' + ) + ); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this._pathTemplates = { + locationPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}' + ), + productPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + productSetPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), + imagePathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{image}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this._descriptors.page = { + listProducts: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + listReferenceImages: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'referenceImages' + ), + listProductSets: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'productSets' + ), + listProductsInProductSet: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + }; + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/vision/v1/product_search_service.proto' + ), + protoFilesRoot + ); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + this.operationsClient = new gax.lro({ + auth: gaxGrpc.auth, + grpc: gaxGrpc.grpc, + }).operationsClient(opts); + + const importProductSetsResponse = protoFilesRoot.lookup( + 'google.cloud.vision.v1.ImportProductSetsResponse' + ); + const importProductSetsMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1.BatchOperationMetadata' + ); + + this._descriptors.longrunning = { + importProductSets: new gax.LongrunningDescriptor( + this.operationsClient, + importProductSetsResponse.decode.bind(importProductSetsResponse), + importProductSetsMetadata.decode.bind(importProductSetsMetadata) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1.ProductSearch', + gapicConfig, + opts.clientConfig, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1.ProductSearch. + const productSearchStub = gaxGrpc.createStub( + protos.google.cloud.vision.v1.ProductSearch, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const productSearchStubMethods = [ + 'createProduct', + 'listProducts', + 'getProduct', + 'updateProduct', + 'deleteProduct', + 'listReferenceImages', + 'getReferenceImage', + 'deleteReferenceImage', + 'createReferenceImage', + 'createProductSet', + 'listProductSets', + 'getProductSet', + 'updateProductSet', + 'deleteProductSet', + 'addProductToProductSet', + 'removeProductFromProductSet', + 'listProductsInProductSet', + 'importProductSets', + ]; + for (const methodName of productSearchStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + productSearchStub.then( + stub => + function() { + const args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.longrunning[methodName] + ); + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId(callback) { + return this.auth.getProjectId(callback); + } + + // ------------------- + // -- Service calls -- + // ------------------- + + /** + * Creates and returns a new product resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is missing or invalid. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project in which the Product should be created. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.product + * The product to create. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * @param {string} [request.productId] + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const product = {}; + * const request = { + * parent: formattedParent, + * product: product, + * }; + * client.createProduct(request) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.createProduct(request, options, callback); + } + + /** + * Lists products in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1.Product}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * client.listProducts({parent: formattedParent}) + * .then(responses => { + * const resources = responses[0]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * + * const options = {autoPaginate: false}; + * const callback = responses => { + * // The actual resources in a response. + * const resources = responses[0]; + * // The next request if the response shows that there are more responses. + * const nextRequest = responses[1]; + * // The actual response object, if necessary. + * // const rawResponse = responses[2]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listProducts(nextRequest, options).then(callback); + * } + * } + * client.listProducts({parent: formattedParent}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listProducts(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listProducts(request, options, callback); + } + + /** + * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProducts} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * client.listProductsStream({parent: formattedParent}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listProductsStream(request, options) { + options = options || {}; + + return this._descriptors.page.listProducts.createStream( + this._innerApiCalls.listProducts, + request, + options + ); + } + + /** + * Gets information associated with a Product. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.getProduct({name: formattedName}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + getProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.getProduct(request, options, callback); + } + + /** + * Makes changes to a Product resource. + * Only the `display_name`, `description`, and `labels` fields can be updated + * right now. + * + * If labels are updated, the change will not be reflected in queries until + * the next index time. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + * missing from the request or longer than 4096 characters. + * * Returns INVALID_ARGUMENT if description is present in update_mask but is + * longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is present in update_mask. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object} request.product + * The Product resource which replaces the one on the server. + * product.name is immutable. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * @param {Object} [request.updateMask] + * The FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const product = {}; + * client.updateProduct({product: product}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + updateProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.updateProduct(request, options, callback); + } + + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. + * + * Possible errors: + * + * * Returns NOT_FOUND if the product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.deleteProduct({name: formattedName}).catch(err => { + * console.error(err); + * }); + */ + deleteProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.deleteProduct(request, options, callback); + } + + /** + * Lists reference images. + * + * Possible errors: + * + * * Returns NOT_FOUND if the parent product does not exist. + * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * + * client.listReferenceImages({parent: formattedParent}) + * .then(responses => { + * const resources = responses[0]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * + * + * const options = {autoPaginate: false}; + * const callback = responses => { + * // The actual resources in a response. + * const resources = responses[0]; + * // The next request if the response shows that there are more responses. + * const nextRequest = responses[1]; + * // The actual response object, if necessary. + * // const rawResponse = responses[2]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listReferenceImages(nextRequest, options).then(callback); + * } + * } + * client.listReferenceImages({parent: formattedParent}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listReferenceImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listReferenceImages(request, options, callback); + } + + /** + * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listReferenceImages} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} on 'data' event. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.listReferenceImagesStream({parent: formattedParent}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listReferenceImagesStream(request, options) { + options = options || {}; + + return this._descriptors.page.listReferenceImages.createStream( + this._innerApiCalls.listReferenceImages, + request, + options + ); + } + + /** + * Gets information associated with a ReferenceImage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the specified image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.imagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[IMAGE]'); + * client.getReferenceImage({name: formattedName}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + getReferenceImage(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.getReferenceImage(request, options, callback); + } + + /** + * Permanently deletes a reference image. + * + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the reference image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.imagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[IMAGE]'); + * client.deleteReferenceImage({name: formattedName}).catch(err => { + * console.error(err); + * }); + */ + deleteReferenceImage(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.deleteReferenceImage(request, options, callback); + } + + /** + * Creates and returns a new ReferenceImage resource. + * + * The `bounding_poly` field is optional. If `bounding_poly` is not specified, + * the system will try to detect regions of interest in the image that are + * compatible with the product_category on the parent product. If it is + * specified, detection is ALWAYS skipped. The system converts polygons into + * non-rotated rectangles. + * + * Note that the pipeline will resize the image if the image resolution is too + * large to process (above 50MP). + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if the product does not exist. + * * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + * compatible with the parent product's product_category is detected. + * * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Resource name of the product in which to create the reference image. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {Object} request.referenceImage + * The reference image to create. + * If an image ID is specified, it is ignored. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} + * @param {string} [request.referenceImageId] + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * const referenceImage = {}; + * const request = { + * parent: formattedParent, + * referenceImage: referenceImage, + * }; + * client.createReferenceImage(request) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createReferenceImage(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.createReferenceImage(request, options, callback); + } + + /** + * Creates and returns a new ProductSet resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + * 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.productSet + * The ProductSet to create. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} + * @param {string} [request.productSetId] + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const productSet = {}; + * const request = { + * parent: formattedParent, + * productSet: productSet, + * }; + * client.createProductSet(request) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.createProductSet(request, options, callback); + } + + /** + * Lists ProductSets in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * client.listProductSets({parent: formattedParent}) + * .then(responses => { + * const resources = responses[0]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * + * const options = {autoPaginate: false}; + * const callback = responses => { + * // The actual resources in a response. + * const resources = responses[0]; + * // The next request if the response shows that there are more responses. + * const nextRequest = responses[1]; + * // The actual response object, if necessary. + * // const rawResponse = responses[2]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listProductSets(nextRequest, options).then(callback); + * } + * } + * client.listProductSets({parent: formattedParent}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listProductSets(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listProductSets(request, options, callback); + } + + /** + * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductSets} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet} on 'data' event. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * client.listProductSetsStream({parent: formattedParent}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listProductSetsStream(request, options) { + options = options || {}; + + return this._descriptors.page.listProductSets.createStream( + this._innerApiCalls.listProductSets, + request, + options + ); + } + + /** + * Gets information associated with a ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.getProductSet({name: formattedName}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + getProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.getProductSet(request, options, callback); + } + + /** + * Makes changes to a ProductSet resource. + * Only display_name can be updated currently. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but + * missing from the request or longer than 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object} request.productSet + * The ProductSet resource which replaces the one on the server. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} + * @param {Object} [request.updateMask] + * The FieldMask that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const productSet = {}; + * client.updateProductSet({productSet: productSet}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + updateProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.updateProductSet(request, options, callback); + } + + /** + * Permanently deletes a ProductSet. All Products and ReferenceImages in the + * ProductSet will be deleted. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.deleteProductSet({name: formattedName}).catch(err => { + * console.error(err); + * }); + */ + deleteProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.deleteProductSet(request, options, callback); + } + + /** + * Adds a Product to the specified ProductSet. If the Product is already + * present, no change is made. + * + * One Product can be added to at most 100 ProductSets. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const product = ''; + * const request = { + * name: formattedName, + * product: product, + * }; + * client.addProductToProductSet(request).catch(err => { + * console.error(err); + * }); + */ + addProductToProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.addProductToProductSet( + request, + options, + callback + ); + } + + /** + * Removes a Product from the specified ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND If the Product is not found under the ProductSet. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const product = ''; + * const request = { + * name: formattedName, + * product: product, + * }; + * client.removeProductFromProductSet(request).catch(err => { + * console.error(err); + * }); + */ + removeProductFromProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.removeProductFromProductSet( + request, + options, + callback + ); + } + + /** + * Lists the Products in a ProductSet, in an unspecified order. If the + * ProductSet does not exist, the products field of the response will be + * empty. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1.Product}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1.ListProductsInProductSetResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1.ListProductsInProductSetResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * + * client.listProductsInProductSet({name: formattedName}) + * .then(responses => { + * const resources = responses[0]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * + * + * const options = {autoPaginate: false}; + * const callback = responses => { + * // The actual resources in a response. + * const resources = responses[0]; + * // The next request if the response shows that there are more responses. + * const nextRequest = responses[1]; + * // The actual response object, if necessary. + * // const rawResponse = responses[2]; + * for (let i = 0; i < resources.length; i += 1) { + * // doThingsWith(resources[i]); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listProductsInProductSet(nextRequest, options).then(callback); + * } + * } + * client.listProductsInProductSet({name: formattedName}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listProductsInProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listProductsInProductSet( + request, + options, + callback + ); + } + + /** + * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductsInProductSet} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.listProductsInProductSetStream({name: formattedName}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listProductsInProductSetStream(request, options) { + options = options || {}; + + return this._descriptors.page.listProductsInProductSet.createStream( + this._innerApiCalls.listProductsInProductSet, + request, + options + ); + } + + /** + * Asynchronous API that imports a list of reference images to specified + * product sets based on a list of image information. + * + * The google.longrunning.Operation API can be used to keep track of the + * progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * `Operation.response` contains `ImportProductSetsResponse`. (results) + * + * The input source of this method is a csv file on Google Cloud Storage. + * For the format of the csv file please see + * ImportProductSetsGcsSource.csv_file_uri. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.inputConfig + * The input content for the list of requests. + * + * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1.ImportProductSetsInputConfig} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const inputConfig = {}; + * const request = { + * parent: formattedParent, + * inputConfig: inputConfig, + * }; + * + * // Handle the operation using the promise pattern. + * client.importProductSets(request) + * .then(responses => { + * const operation = responses[0]; + * const initialApiResponse = responses[1]; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * // The final result of the operation. + * const result = responses[0]; + * + * // The metadata value of the completed operation. + * const metadata = responses[1]; + * + * // The response of the api call returning the complete operation. + * const finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const inputConfig = {}; + * const request = { + * parent: formattedParent, + * inputConfig: inputConfig, + * }; + * + * // Handle the operation using the event emitter pattern. + * client.importProductSets(request) + * .then(responses => { + * const operation = responses[0]; + * const initialApiResponse = responses[1]; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + importProductSets(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.importProductSets(request, options, callback); + } + + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified location resource name string. + * + * @param {String} project + * @param {String} location + * @returns {String} + */ + locationPath(project, location) { + return this._pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Return a fully-qualified product resource name string. + * + * @param {String} project + * @param {String} location + * @param {String} product + * @returns {String} + */ + productPath(project, location, product) { + return this._pathTemplates.productPathTemplate.render({ + project: project, + location: location, + product: product, + }); + } + + /** + * Return a fully-qualified product_set resource name string. + * + * @param {String} project + * @param {String} location + * @param {String} productSet + * @returns {String} + */ + productSetPath(project, location, productSet) { + return this._pathTemplates.productSetPathTemplate.render({ + project: project, + location: location, + product_set: productSet, + }); + } + + /** + * Return a fully-qualified image resource name string. + * + * @param {String} project + * @param {String} location + * @param {String} product + * @param {String} image + * @returns {String} + */ + imagePath(project, location, product, image) { + return this._pathTemplates.imagePathTemplate.render({ + project: project, + location: location, + product: product, + image: image, + }); + } + + /** + * Parse the locationName from a location resource. + * + * @param {String} locationName + * A fully-qualified path representing a location resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromLocationName(locationName) { + return this._pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the locationName from a location resource. + * + * @param {String} locationName + * A fully-qualified path representing a location resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromLocationName(locationName) { + return this._pathTemplates.locationPathTemplate.match(locationName) + .location; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the product. + */ + matchProductFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Parse the productSetName from a product_set resource. + * + * @param {String} productSetName + * A fully-qualified path representing a product_set resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductSetName(productSetName) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .project; + } + + /** + * Parse the productSetName from a product_set resource. + * + * @param {String} productSetName + * A fully-qualified path representing a product_set resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductSetName(productSetName) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .location; + } + + /** + * Parse the productSetName from a product_set resource. + * + * @param {String} productSetName + * A fully-qualified path representing a product_set resources. + * @returns {String} - A string representing the product_set. + */ + matchProductSetFromProductSetName(productSetName) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .product_set; + } + + /** + * Parse the imageName from a image resource. + * + * @param {String} imageName + * A fully-qualified path representing a image resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromImageName(imageName) { + return this._pathTemplates.imagePathTemplate.match(imageName).project; + } + + /** + * Parse the imageName from a image resource. + * + * @param {String} imageName + * A fully-qualified path representing a image resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromImageName(imageName) { + return this._pathTemplates.imagePathTemplate.match(imageName).location; + } + + /** + * Parse the imageName from a image resource. + * + * @param {String} imageName + * A fully-qualified path representing a image resources. + * @returns {String} - A string representing the product. + */ + matchProductFromImageName(imageName) { + return this._pathTemplates.imagePathTemplate.match(imageName).product; + } + + /** + * Parse the imageName from a image resource. + * + * @param {String} imageName + * A fully-qualified path representing a image resources. + * @returns {String} - A string representing the image. + */ + matchImageFromImageName(imageName) { + return this._pathTemplates.imagePathTemplate.match(imageName).image; + } +} + +module.exports = ProductSearchClient; diff --git a/packages/google-cloud-vision/src/v1/product_search_client_config.json b/packages/google-cloud-vision/src/v1/product_search_client_config.json new file mode 100644 index 00000000000..77e2a4fe331 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/product_search_client_config.json @@ -0,0 +1,116 @@ +{ + "interfaces": { + "google.cloud.vision.v1.ProductSearch": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "CreateProduct": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListProducts": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetProduct": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "UpdateProduct": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "DeleteProduct": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "ListReferenceImages": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetReferenceImage": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "DeleteReferenceImage": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "CreateReferenceImage": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "CreateProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListProductSets": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "UpdateProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "DeleteProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "AddProductToProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "RemoveProductFromProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "ListProductsInProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "ImportProductSets": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 7a2b784bfcb..91bf968cd8d 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -22,6 +22,1240 @@ const FAKE_STATUS_CODE = 1; const error = new Error(); error.code = FAKE_STATUS_CODE; +describe('ProductSearchClient', () => { + describe('createProduct', () => { + it('invokes createProduct without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const product = {}; + const request = { + parent: formattedParent, + product: product, + }; + + // Mock response + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { + name: name, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + + // Mock Grpc layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.createProduct(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProduct with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const product = {}; + const request = { + parent: formattedParent, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.createProduct(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('listProducts', () => { + it('invokes listProducts without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock response + const nextPageToken = ''; + const productsElement = {}; + const products = [productsElement]; + const expectedResponse = { + nextPageToken: nextPageToken, + products: products, + }; + + // Mock Grpc layer + client._innerApiCalls.listProducts = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.products); + }; + + client.listProducts(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.products); + done(); + }); + }); + + it('invokes listProducts with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.listProducts = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listProducts(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('getProduct', () => { + it('invokes getProduct without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + name: formattedName, + }; + + // Mock response + const name2 = 'name2-1052831874'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { + name: name2, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + + // Mock Grpc layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.getProduct(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProduct with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.getProduct(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('updateProduct', () => { + it('invokes updateProduct without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const product = {}; + const request = { + product: product, + }; + + // Mock response + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { + name: name, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.updateProduct(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProduct with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const product = {}; + const request = { + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.updateProduct(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('deleteProduct', () => { + it('invokes deleteProduct without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod(request); + + client.deleteProduct(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes deleteProduct with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.deleteProduct(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + parent: formattedParent, + }; + + // Mock response + const pageSize = 883849137; + const nextPageToken = ''; + const referenceImagesElement = {}; + const referenceImages = [referenceImagesElement]; + const expectedResponse = { + pageSize: pageSize, + nextPageToken: nextPageToken, + referenceImages: referenceImages, + }; + + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.referenceImages); + }; + + client.listReferenceImages(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.referenceImages); + done(); + }); + }); + + it('invokes listReferenceImages with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listReferenceImages(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.imagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[IMAGE]' + ); + const request = { + name: formattedName, + }; + + // Mock response + const name2 = 'name2-1052831874'; + const uri = 'uri116076'; + const expectedResponse = { + name: name2, + uri: uri, + }; + + // Mock Grpc layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.getReferenceImage(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getReferenceImage with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.imagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[IMAGE]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.getReferenceImage(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.imagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[IMAGE]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request + ); + + client.deleteReferenceImage(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes deleteReferenceImage with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.imagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[IMAGE]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.deleteReferenceImage(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const referenceImage = {}; + const request = { + parent: formattedParent, + referenceImage: referenceImage, + }; + + // Mock response + const name = 'name3373707'; + const uri = 'uri116076'; + const expectedResponse = { + name: name, + uri: uri, + }; + + // Mock Grpc layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.createReferenceImage(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createReferenceImage with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const referenceImage = {}; + const request = { + parent: formattedParent, + referenceImage: referenceImage, + }; + + // Mock Grpc layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.createReferenceImage(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('createProductSet', () => { + it('invokes createProductSet without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const productSet = {}; + const request = { + parent: formattedParent, + productSet: productSet, + }; + + // Mock response + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const expectedResponse = { + name: name, + displayName: displayName, + }; + + // Mock Grpc layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.createProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProductSet with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const productSet = {}; + const request = { + parent: formattedParent, + productSet: productSet, + }; + + // Mock Grpc layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.createProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('listProductSets', () => { + it('invokes listProductSets without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock response + const nextPageToken = ''; + const productSetsElement = {}; + const productSets = [productSetsElement]; + const expectedResponse = { + nextPageToken: nextPageToken, + productSets: productSets, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductSets = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.productSets); + }; + + client.listProductSets(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.productSets); + done(); + }); + }); + + it('invokes listProductSets with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductSets = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listProductSets(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('getProductSet', () => { + it('invokes getProductSet without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock response + const name2 = 'name2-1052831874'; + const displayName = 'displayName1615086568'; + const expectedResponse = { + name: name2, + displayName: displayName, + }; + + // Mock Grpc layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.getProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProductSet with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.getProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('updateProductSet', () => { + it('invokes updateProductSet without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const productSet = {}; + const request = { + productSet: productSet, + }; + + // Mock response + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const expectedResponse = { + name: name, + displayName: displayName, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.updateProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProductSet with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const productSet = {}; + const request = { + productSet: productSet, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.updateProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod(request); + + client.deleteProductSet(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes deleteProductSet with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.deleteProductSet(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('addProductToProductSet', () => { + it('invokes addProductToProductSet without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const product = 'product-309474065'; + const request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request + ); + + client.addProductToProductSet(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes addProductToProductSet with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const product = 'product-309474065'; + const request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.addProductToProductSet(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('removeProductFromProductSet', () => { + it('invokes removeProductFromProductSet without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const product = 'product-309474065'; + const request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request + ); + + client.removeProductFromProductSet(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes removeProductFromProductSet with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const product = 'product-309474065'; + const request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.removeProductFromProductSet(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('listProductsInProductSet', () => { + it('invokes listProductsInProductSet without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock response + const nextPageToken = ''; + const productsElement = {}; + const products = [productsElement]; + const expectedResponse = { + nextPageToken: nextPageToken, + products: products, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.products); + }; + + client.listProductsInProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.products); + done(); + }); + }); + + it('invokes listProductsInProductSet with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listProductsInProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('importProductSets', function() { + it('invokes importProductSets without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const inputConfig = {}; + const request = { + parent: formattedParent, + inputConfig: inputConfig, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .importProductSets(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes importProductSets with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const inputConfig = {}; + const request = { + parent: formattedParent, + inputConfig: inputConfig, + }; + + // Mock Grpc layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .importProductSets(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.importProductSets + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.importProductSets + .metadataDecoder instanceof Function + ); + }); + }); +}); describe('ImageAnnotatorClient', () => { describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { From e4fe6a4ab9438c0a31d88f933a8d42e9d182ebc4 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 6 Nov 2018 13:15:04 -0800 Subject: [PATCH 228/588] chore: update lint configs (#257) --- packages/google-cloud-vision/package.json | 6 +++--- .../google-cloud-vision/samples/.eslintrc.yml | 3 +-- .../google-cloud-vision/samples/package.json | 2 -- .../smoke-test/.eslintrc.yml | 6 ++++++ .../smoke-test/image_annotator_smoke_test.js | 3 ++- packages/google-cloud-vision/synth.py | 17 ++++++----------- .../system-test/.eslintrc.yml | 2 -- packages/google-cloud-vision/test/.eslintrc.yml | 3 --- 8 files changed, 18 insertions(+), 24 deletions(-) create mode 100644 packages/google-cloud-vision/smoke-test/.eslintrc.yml diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a2dd975ec0b..bbade437883 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -57,12 +57,12 @@ "cover": "nyc --reporter=lcov mocha test/*.js && nyc report", "docs": "jsdoc -c .jsdoc.js", "generate-scaffolding": "repo-tools generate all && repo-tools generate lib_samples_readme -l samples/ --config ../.cloud-repo-tools.json", - "lint": "eslint src/ samples/ system-test/ test/", - "prettier": "prettier --write src/*.js src/*/*.js samples/*.js samples/*/*.js test/*.js test/*/*.js system-test/*.js system-test/*/*.js", + "lint": "eslint '**/*.js'", "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", "system-test": "mocha system-test/*.js smoke-test/*.js --timeout 600000", "test-no-cover": "mocha test/*.js", - "test": "npm run cover" + "test": "npm run cover", + "fix": "eslint --fix '**/*.js'" }, "dependencies": { "@google-cloud/promisify": "^0.3.0", diff --git a/packages/google-cloud-vision/samples/.eslintrc.yml b/packages/google-cloud-vision/samples/.eslintrc.yml index a855d877f08..0aa37ac630e 100644 --- a/packages/google-cloud-vision/samples/.eslintrc.yml +++ b/packages/google-cloud-vision/samples/.eslintrc.yml @@ -1,5 +1,4 @@ --- rules: no-console: off - - + node/no-missing-require: off diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 31a2591a682..71a6957a9ce 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -4,7 +4,6 @@ "private": true, "license": "Apache-2.0", "author": "Google Inc.", - "repository": "googleapis/nodejs-vision", "engines": { "node": ">=8" }, @@ -12,7 +11,6 @@ "test": "ava -T 1m --verbose system-test/*.test.js" }, "dependencies": { - "@google-cloud/automl": "^0.1.1", "@google-cloud/vision": "^0.22.0", "async": "^2.6.1", diff --git a/packages/google-cloud-vision/smoke-test/.eslintrc.yml b/packages/google-cloud-vision/smoke-test/.eslintrc.yml new file mode 100644 index 00000000000..2e6882e46d2 --- /dev/null +++ b/packages/google-cloud-vision/smoke-test/.eslintrc.yml @@ -0,0 +1,6 @@ +--- +env: + mocha: true +rules: + node/no-unpublished-require: off + no-console: off diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index 5b5ae522c67..131d2f65a8c 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -39,7 +39,8 @@ describe('ImageAnnotatorSmokeTest', () => { features: features, }; const requests = [requestsElement]; - client.batchAnnotateImages({requests: requests}) + client + .batchAnnotateImages({requests: requests}) .then(responses => { const response = responses[0]; console.log(response); diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 9bae6a28d11..6a2963d83ef 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -21,23 +21,18 @@ logging.basicConfig(level=logging.DEBUG) +# Run the gapic generator gapic = gcp.GAPICGenerator() -common_templates = gcp.CommonTemplates() - - versions = ['v1', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1'] - for version in versions: library = gapic.node_library('vision', version) s.copy(library, excludes=['src/index.js', 'README.md', 'package.json']) -templates = common_templates.node_library(package_name="@google-cloud/vision") +# Copy common templates +common_templates = gcp.CommonTemplates() +templates = common_templates.node_library() s.copy(templates) - -''' -Node.js specific cleanup -''' +# Node.js specific cleanup subprocess.run(['npm', 'install']) -subprocess.run(['npm', 'run', 'prettier']) -subprocess.run(['npm', 'run', 'lint']) +subprocess.run(['npm', 'run', 'fix']) diff --git a/packages/google-cloud-vision/system-test/.eslintrc.yml b/packages/google-cloud-vision/system-test/.eslintrc.yml index 2eb0c97e825..f9605165c0f 100644 --- a/packages/google-cloud-vision/system-test/.eslintrc.yml +++ b/packages/google-cloud-vision/system-test/.eslintrc.yml @@ -2,6 +2,4 @@ env: mocha: true rules: - node/no-unpublished-require: off no-console: off - node/no-deprecated-api: off diff --git a/packages/google-cloud-vision/test/.eslintrc.yml b/packages/google-cloud-vision/test/.eslintrc.yml index 9084b7fb5ad..6db2a46c535 100644 --- a/packages/google-cloud-vision/test/.eslintrc.yml +++ b/packages/google-cloud-vision/test/.eslintrc.yml @@ -1,6 +1,3 @@ --- env: mocha: true -rules: - node/no-unpublished-require: off - node/no-deprecated-api: off From 55d6e0784e9442ce3cd860b5ff0b64965e4b4d1a Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Wed, 7 Nov 2018 18:19:39 -0800 Subject: [PATCH 229/588] feat: release v0.23.0 (#259) --- packages/google-cloud-vision/CHANGELOG.md | 33 +++++++++++++++++++ packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index bb1060593cd..0d46c5b04e5 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,39 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## v0.23.0 + +### New Features +- feat: add support for product search + +### Dependencies +- chore(deps): update dependency eslint-plugin-node to v8 ([#245](https://github.com/googleapis/nodejs-vision/pull/245)) +- chore(deps): update dependency canvas to v2 ([#224](https://github.com/googleapis/nodejs-vision/pull/224)) +- chore(deps): update dependency sinon to v7 ([#219](https://github.com/googleapis/nodejs-vision/pull/219)) +- chore(deps): update dependency eslint-plugin-prettier to v3 ([#213](https://github.com/googleapis/nodejs-vision/pull/213)) + +### Documentation +- fix(samples): Adding vision_product_search_tutorial_import tags ([#221](https://github.com/googleapis/nodejs-vision/pull/221)) +- fix(samples): Change the Project ID from number to string ([#220](https://github.com/googleapis/nodejs-vision/pull/220)) +- docs: Vision AutoML samples ([#197](https://github.com/googleapis/nodejs-vision/pull/197)) + +### Internal / Testing Changes +- chore: use latest npm on Windows ([#258](https://github.com/googleapis/nodejs-vision/pull/258)) +- chore: update lint configs ([#257](https://github.com/googleapis/nodejs-vision/pull/257)) +- chore: update CircleCI config ([#253](https://github.com/googleapis/nodejs-vision/pull/253)) +- chore: update issue templates ([#244](https://github.com/googleapis/nodejs-vision/pull/244)) +- chore: remove old issue template ([#242](https://github.com/googleapis/nodejs-vision/pull/242)) +- build: run tests on node11 ([#239](https://github.com/googleapis/nodejs-vision/pull/239)) +- chores(build): do not collect sponge.xml from windows builds ([#238](https://github.com/googleapis/nodejs-vision/pull/238)) +- chores(build): run codecov on continuous builds ([#237](https://github.com/googleapis/nodejs-vision/pull/237)) +- chore: update new issue template ([#235](https://github.com/googleapis/nodejs-vision/pull/235)) +- build: fix codecov uploading on Kokoro ([#222](https://github.com/googleapis/nodejs-vision/pull/222)) +- chore: enable --throw-deprecation on mocha config ([#147](https://github.com/googleapis/nodejs-vision/pull/147)) +- Update kokoro config ([#214](https://github.com/googleapis/nodejs-vision/pull/214)) +- Update kokoro config ([#208](https://github.com/googleapis/nodejs-vision/pull/208)) +- test: remove appveyor config ([#207](https://github.com/googleapis/nodejs-vision/pull/207)) +- Update the CI config ([#206](https://github.com/googleapis/nodejs-vision/pull/206)) + ## v0.22.1 ### Bug fixes diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index bbade437883..1dd2dca70f9 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.22.1", + "version": "0.23.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 71a6957a9ce..dad06c8b9da 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@google-cloud/automl": "^0.1.1", - "@google-cloud/vision": "^0.22.0", + "@google-cloud/vision": "^0.23.0", "async": "^2.6.1", "mathjs": "^5.0.4", "natural": "^0.6.1", From 190e75e23487b4fe52d903702a6ce59d750c3a91 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 9 Nov 2018 10:00:39 -0800 Subject: [PATCH 230/588] chore: drop contributors from multiple places (#262) --- packages/google-cloud-vision/.mailmap | 8 ------- packages/google-cloud-vision/CONTRIBUTORS | 28 ----------------------- packages/google-cloud-vision/package.json | 25 -------------------- 3 files changed, 61 deletions(-) delete mode 100644 packages/google-cloud-vision/.mailmap delete mode 100644 packages/google-cloud-vision/CONTRIBUTORS diff --git a/packages/google-cloud-vision/.mailmap b/packages/google-cloud-vision/.mailmap deleted file mode 100644 index 3db82848eea..00000000000 --- a/packages/google-cloud-vision/.mailmap +++ /dev/null @@ -1,8 +0,0 @@ -Jason Dobry Jason Dobry -Jason Dobry Jason Dobry -Jun Mukai Jun Mukai -Luke Sneeringer Luke Sneeringer -Stephen Sawchuk Stephen Sawchuk -Stephen Sawchuk Stephen Sawchuk -Alexander Fenster Alexander Fenster -Rebecca Taylor Rebecca Taylor diff --git a/packages/google-cloud-vision/CONTRIBUTORS b/packages/google-cloud-vision/CONTRIBUTORS deleted file mode 100644 index 988e0813716..00000000000 --- a/packages/google-cloud-vision/CONTRIBUTORS +++ /dev/null @@ -1,28 +0,0 @@ -# The names of individuals who have contributed to this project. -# -# Names are formatted as: -# name -# -Ace Nassri -Alexander Fenster -Ali Ijaz Sheikh -Christopher Wilcox -Dave Gramlich -Ernest Landrito -Gus Class -Jason Dobry -Jonathan Lui -Jun Mukai -Justin Beckwith -Justin Beckwith -Kelvin Jin -Luke Sneeringer -Rebecca Taylor -Shahin -Song Wang -Stephen Sawchuk -Tim Swast -calibr -dpebot -greenkeeper[bot] -rtw diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1dd2dca70f9..5200f4135fa 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -28,31 +28,6 @@ "vision", "Google Cloud Vision API" ], - "contributors": [ - "Ace Nassri ", - "Alexander Fenster ", - "Ali Ijaz Sheikh ", - "Christopher Wilcox ", - "Dave Gramlich ", - "Ernest Landrito ", - "Gus Class ", - "Jason Dobry ", - "Jonathan Lui ", - "Jun Mukai ", - "Justin Beckwith ", - "Justin Beckwith ", - "Kelvin Jin ", - "Luke Sneeringer ", - "Rebecca Taylor ", - "Shahin ", - "Song Wang ", - "Stephen Sawchuk ", - "Tim Swast ", - "calibr ", - "dpebot ", - "greenkeeper[bot] ", - "rtw " - ], "scripts": { "cover": "nyc --reporter=lcov mocha test/*.js && nyc report", "docs": "jsdoc -c .jsdoc.js", From b48a5cb88523028a6ea04c272ff0feb94dc35f2a Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 9 Nov 2018 15:02:21 -0800 Subject: [PATCH 231/588] refactor: remove unused deps (#261) --- packages/google-cloud-vision/package.json | 4 +-- .../smoke-test/.eslintrc.yml | 1 - .../system-test/.eslintrc.yml | 1 + .../google-cloud-vision/system-test/vision.js | 32 ++++--------------- 4 files changed, 9 insertions(+), 29 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 5200f4135fa..5e49317a4cb 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -44,13 +44,11 @@ "google-gax": "^0.20.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", - "protobufjs": "^6.8.6", - "yargs": "^12.0.0" + "protobufjs": "^6.8.6" }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^2.3.0", "@google-cloud/storage": "^2.0.0", - "async": "^2.6.1", "codecov": "^3.0.2", "eslint": "^5.0.1", "eslint-config-prettier": "^3.0.0", diff --git a/packages/google-cloud-vision/smoke-test/.eslintrc.yml b/packages/google-cloud-vision/smoke-test/.eslintrc.yml index 2e6882e46d2..f9605165c0f 100644 --- a/packages/google-cloud-vision/smoke-test/.eslintrc.yml +++ b/packages/google-cloud-vision/smoke-test/.eslintrc.yml @@ -2,5 +2,4 @@ env: mocha: true rules: - node/no-unpublished-require: off no-console: off diff --git a/packages/google-cloud-vision/system-test/.eslintrc.yml b/packages/google-cloud-vision/system-test/.eslintrc.yml index f9605165c0f..3bbc66b8785 100644 --- a/packages/google-cloud-vision/system-test/.eslintrc.yml +++ b/packages/google-cloud-vision/system-test/.eslintrc.yml @@ -3,3 +3,4 @@ env: mocha: true rules: no-console: off + node/no-unsupported-features/es-syntax: off diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index 5e10cdc2a07..d09cffcfee6 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -17,7 +17,6 @@ 'use strict'; const assert = require('assert'); -const async = require('async'); const fs = require('fs'); const path = require('path'); const {Storage} = require('@google-cloud/storage'); @@ -52,30 +51,13 @@ describe('Vision', function() { }); }); - after(function(done) { - storage.getBuckets( - { - prefix: TESTS_PREFIX, - }, - function(err, buckets) { - if (err) { - done(err); - return; - } - - function deleteBucket(bucket, callback) { - bucket.deleteFiles(function(err) { - if (err) { - callback(err); - return; - } - - bucket.delete(callback); - }); - } - - async.each(buckets, deleteBucket, done); - } + after(async () => { + const [buckets] = await storage.getBuckets({prefix: TESTS_PREFIX}); + await Promise.all( + buckets.map(async bucket => { + await bucket.deleteFiles(); + await bucket.delete(); + }) ); }); From d1b596dd4c792d81f665774a0c85143de129dfa2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Sat, 10 Nov 2018 10:49:50 -0800 Subject: [PATCH 232/588] chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 (#263) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 5e49317a4cb..d7107f7fed7 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -47,7 +47,7 @@ "protobufjs": "^6.8.6" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.3.0", + "@google-cloud/nodejs-repo-tools": "^3.0.0", "@google-cloud/storage": "^2.0.0", "codecov": "^3.0.2", "eslint": "^5.0.1", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index dad06c8b9da..a3c4fcca669 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -20,7 +20,7 @@ "yargs": "^12.0.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^2.3.0", + "@google-cloud/nodejs-repo-tools": "^3.0.0", "@google-cloud/storage": "^2.0.0", "ava": "^0.25.0", "proxyquire": "^2.0.1", From 593a892fa495522483b9918cefd79bac76b16e08 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 12 Nov 2018 15:54:23 -0800 Subject: [PATCH 233/588] chore: update eslintignore config (#264) --- packages/google-cloud-vision/.eslintignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/.eslintignore b/packages/google-cloud-vision/.eslintignore index f08b0fd1c65..2f642cb6044 100644 --- a/packages/google-cloud-vision/.eslintignore +++ b/packages/google-cloud-vision/.eslintignore @@ -1,4 +1,3 @@ -node_modules/* -samples/node_modules/* +**/node_modules src/**/doc/* build/ From bc44fbe38f15794919a81d747e1fef1fc0a96d58 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 15 Nov 2018 12:14:58 -0800 Subject: [PATCH 234/588] fix(deps): update dependency google-gax to ^0.22.0 (#265) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index d7107f7fed7..e47e6a0da6a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,7 +41,7 @@ }, "dependencies": { "@google-cloud/promisify": "^0.3.0", - "google-gax": "^0.20.0", + "google-gax": "^0.22.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" From d55eec24399836152d463242e67e887f0bb8133c Mon Sep 17 00:00:00 2001 From: vijay-qlogic <36055624+vijay-qlogic@users.noreply.github.com> Date: Mon, 19 Nov 2018 02:58:31 +0530 Subject: [PATCH 235/588] docs(samples): updated samples code to use async/await and tests to use mocha (#241) --- .../google-cloud-vision/samples/package.json | 6 ++---- .../google-cloud-vision/samples/quickstart.js | 20 +++++++++---------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a3c4fcca669..a11a974dfd4 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -8,7 +8,7 @@ "node": ">=8" }, "scripts": { - "test": "ava -T 1m --verbose system-test/*.test.js" + "test": "mocha system-test/*.test.js --timeout 600000" }, "dependencies": { "@google-cloud/automl": "^0.1.1", @@ -22,9 +22,7 @@ "devDependencies": { "@google-cloud/nodejs-repo-tools": "^3.0.0", "@google-cloud/storage": "^2.0.0", - "ava": "^0.25.0", - "proxyquire": "^2.0.1", - "sinon": "^7.0.0", + "mocha": "^5.0.0", "uuid": "^3.2.1" }, "optionalDependencies": { diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index 9afcff3dcc0..5613b0f6298 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -23,15 +23,13 @@ const vision = require('@google-cloud/vision'); const client = new vision.ImageAnnotatorClient(); // Performs label detection on the image file -client - .labelDetection('./resources/wakeupcat.jpg') - .then(results => { - const labels = results[0].labelAnnotations; - - console.log('Labels:'); - labels.forEach(label => console.log(label.description)); - }) - .catch(err => { - console.error('ERROR:', err); - }); +async function main() { + const [result] = await client.labelDetection('./resources/wakeupcat.jpg'); + const labels = result.labelAnnotations; + console.log('Labels:'); + labels.forEach(label => console.log(label.description)); +} +main().catch(err => { + console.error('ERROR:', err); +}); // [END vision_quickstart] From a0af14611662cf867c41498e788a7ca576ef0c4e Mon Sep 17 00:00:00 2001 From: Nirupa Anantha Kumar Date: Thu, 29 Nov 2018 09:44:50 -0800 Subject: [PATCH 236/588] test: make product search tests run (#269) test: make product search tests run --- packages/google-cloud-vision/samples/package.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a11a974dfd4..833d46aabc2 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -17,7 +17,8 @@ "mathjs": "^5.0.4", "natural": "^0.6.1", "redis": "^2.8.0", - "yargs": "^12.0.0" + "yargs": "^12.0.0", + "canvas": "^2.0.0" }, "devDependencies": { "@google-cloud/nodejs-repo-tools": "^3.0.0", @@ -25,7 +26,5 @@ "mocha": "^5.0.0", "uuid": "^3.2.1" }, - "optionalDependencies": { - "canvas": "^2.0.0" - } + "optionalDependencies": {} } From 0cf0df8dbbfc68fd8f4f6a7105f1fc9a64316fbc Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Sat, 1 Dec 2018 18:41:42 -0800 Subject: [PATCH 237/588] fix(build): fix system key decryption (#282) --- packages/google-cloud-vision/.circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml index 6735ebdaaa1..86c63432242 100644 --- a/packages/google-cloud-vision/.circleci/config.yml +++ b/packages/google-cloud-vision/.circleci/config.yml @@ -116,7 +116,7 @@ jobs: name: Decrypt credentials. command: | if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - openssl aes-256-cbc -d -in .circleci/key.json.enc \ + openssl aes-256-cbc -d -md md5 -in .circleci/key.json.enc \ -out .circleci/key.json \ -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" fi @@ -148,7 +148,7 @@ jobs: command: | if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then for encrypted_key in .circleci/*.json.enc; do - openssl aes-256-cbc -d -in $encrypted_key \ + openssl aes-256-cbc -d -md md5 -in $encrypted_key \ -out $(echo $encrypted_key | sed 's/\.enc//') \ -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" done From d220b7488adee2320f2cf662e1c0b220185d4263 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 3 Dec 2018 15:50:20 -0800 Subject: [PATCH 238/588] docs: update readme badges (#283) --- packages/google-cloud-vision/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 50fc5572c71..40ee4d51522 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -5,8 +5,7 @@ # [Google Cloud Vision API: Node.js Client](https://github.com/googleapis/nodejs-vision) [![release level](https://img.shields.io/badge/release%20level-beta-yellow.svg?style=flat)](https://cloud.google.com/terms/launch-stages) -[![CircleCI](https://img.shields.io/circleci/project/github/googleapis/nodejs-vision.svg?style=flat)](https://circleci.com/gh/googleapis/nodejs-vision) -[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/googleapis/nodejs-vision?branch=master&svg=true)](https://ci.appveyor.com/project/googleapis/nodejs-vision) +[![npm version](https://img.shields.io/npm/v/@google-cloud/vision.svg)](https://www.npmjs.org/package/@google-cloud/vision) [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-vision/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-vision) > Node.js idiomatic client for [Vision API][product-docs]. @@ -124,3 +123,4 @@ See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) [client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest/ [product-docs]: https://cloud.google.com/vision/docs [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png + From e3f7224b83676a286bc7bd508d23b5d20b2d4a4c Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 4 Dec 2018 08:51:45 -0800 Subject: [PATCH 239/588] chore: update license file (#284) --- packages/google-cloud-vision/LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/LICENSE b/packages/google-cloud-vision/LICENSE index 7a4a3ea2424..d6456956733 100644 --- a/packages/google-cloud-vision/LICENSE +++ b/packages/google-cloud-vision/LICENSE @@ -199,4 +199,4 @@ 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. \ No newline at end of file + limitations under the License. From 158cf91fb3d099ce349c852aa1be101bc76dafd2 Mon Sep 17 00:00:00 2001 From: Christopher Wilcox Date: Tue, 4 Dec 2018 09:34:13 -0800 Subject: [PATCH 240/588] docs: fix productSearch example (#285) --- packages/google-cloud-vision/src/helpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index b05ef85e397..2d95494c528 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -871,7 +871,7 @@ module.exports = apiVersion => { * }; * * client - * .webDetection(request) + * .productSearch(request) * .then(response => { * // doThingsWith(response); * }) From f249795c7b7c2ba7705f33fab765a31fe5450917 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 5 Dec 2018 15:54:48 -0800 Subject: [PATCH 241/588] chore: nyc ignore build/test by default (#287) --- packages/google-cloud-vision/.nycrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/.nycrc b/packages/google-cloud-vision/.nycrc index a1a8e6920ce..feb032400d4 100644 --- a/packages/google-cloud-vision/.nycrc +++ b/packages/google-cloud-vision/.nycrc @@ -3,7 +3,8 @@ "exclude": [ "src/*{/*,/**/*}.js", "src/*/v*/*.js", - "test/**/*.js" + "test/**/*.js", + "build/test" ], "watermarks": { "branches": [ From 7c017fffdd6109516e721860b171b18a8b66ccbf Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Mon, 10 Dec 2018 13:34:13 -0800 Subject: [PATCH 242/588] build: add Kokoro configs for autorelease (#290) * build: add Kokoro configs for autorelease * build: add Kokoro configs for autorelease * chore: remove CircleCI config --- .../google-cloud-vision/.circleci/config.yml | 179 ------------------ .../.circleci/key.json.enc | Bin 2368 -> 0 bytes .../.circleci/npm-install-retry.js | 60 ------ 3 files changed, 239 deletions(-) delete mode 100644 packages/google-cloud-vision/.circleci/config.yml delete mode 100644 packages/google-cloud-vision/.circleci/key.json.enc delete mode 100755 packages/google-cloud-vision/.circleci/npm-install-retry.js diff --git a/packages/google-cloud-vision/.circleci/config.yml b/packages/google-cloud-vision/.circleci/config.yml deleted file mode 100644 index 86c63432242..00000000000 --- a/packages/google-cloud-vision/.circleci/config.yml +++ /dev/null @@ -1,179 +0,0 @@ -version: 2 -workflows: - version: 2 - tests: - jobs: &workflow_jobs - - node6: - filters: &all_commits - tags: - only: /.*/ - - node8: - filters: *all_commits - - node10: - filters: *all_commits - - lint: - requires: - - node6 - - node8 - - node10 - filters: *all_commits - - docs: - requires: - - node6 - - node8 - - node10 - filters: *all_commits - - system_tests: - requires: - - lint - - docs - filters: &master_and_releases - branches: - only: master - tags: &releases - only: '/^v[\d.]+$/' - - sample_tests: - requires: - - lint - - docs - filters: *master_and_releases - - publish_npm: - requires: - - system_tests - - sample_tests - filters: - branches: - ignore: /.*/ - tags: *releases - nightly: - triggers: - - schedule: - cron: 0 7 * * * - filters: - branches: - only: master - jobs: *workflow_jobs -jobs: - node6: - docker: - - image: 'node:6' - user: node - steps: &unit_tests_steps - - checkout - - run: &npm_install_and_link - name: Install and link the module - command: |- - mkdir -p /home/node/.npm-global - ./.circleci/npm-install-retry.js - environment: - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: npm test - node8: - docker: - - image: 'node:8' - user: node - steps: *unit_tests_steps - node10: - docker: - - image: 'node:10' - user: node - steps: *unit_tests_steps - lint: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: *npm_install_and_link - - run: &samples_npm_install_and_link - name: Link the module being tested to the samples. - command: | - cd samples/ - npm link ../ - ./../.circleci/npm-install-retry.js - environment: - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: - name: Run linting. - command: npm run lint - environment: - NPM_CONFIG_PREFIX: /home/node/.npm-global - docs: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: *npm_install_and_link - - run: npm run docs - sample_tests: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: - name: Decrypt credentials. - command: | - if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - openssl aes-256-cbc -d -md md5 -in .circleci/key.json.enc \ - -out .circleci/key.json \ - -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" - fi - - run: *npm_install_and_link - - run: *samples_npm_install_and_link - - run: - name: Run sample tests. - command: npm run samples-test - environment: - GCLOUD_PROJECT: long-door-651 - GOOGLE_APPLICATION_CREDENTIALS: /home/node/samples/.circleci/key.json - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: - name: Remove unencrypted key. - command: | - if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - rm .circleci/key.json - fi - when: always - working_directory: /home/node/samples/ - system_tests: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: - name: Decrypt credentials. - command: | - if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - for encrypted_key in .circleci/*.json.enc; do - openssl aes-256-cbc -d -md md5 -in $encrypted_key \ - -out $(echo $encrypted_key | sed 's/\.enc//') \ - -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" - done - fi - - run: *npm_install_and_link - - run: - name: Run system tests. - command: npm run system-test - environment: - GCLOUD_PROJECT: long-door-651 - GOOGLE_APPLICATION_CREDENTIALS: /home/node/project/.circleci/key.json - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: - name: Remove unencrypted key. - command: | - if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - rm .circleci/*.json - fi - when: always - publish_npm: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: ./.circleci/npm-install-retry.js - - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc - - run: npm publish --access=public diff --git a/packages/google-cloud-vision/.circleci/key.json.enc b/packages/google-cloud-vision/.circleci/key.json.enc deleted file mode 100644 index 4023580113359d886bb91262efc88fd24599d2be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2368 zcmV-G3BUGJVQh3|WM5y9MoD9?W1Qq~l$%s^+rS!#&NM$Icg6dNNo$?k8lXYs`7-`*G9p|?Gi-NTy>W;3!SJx%UO7%OqJ6b8BRbC z@D4;+P!b=VlvjKRr=6}+av_JTS40zx^Kni#ftWV$>876>itQT1v&X}(0JR%?Ctyu$ zmP^6oXA-Vh+Wk2lpCHWR3oui%*^IXu%;f#j!KOar=3DzJJ;unKvS}`F!90>z-EI~D zsx5BKC(R*|?=3#!g;h*$=>LV`9<%iygvyyD^+?BMo0+*^dwhEeYb{2}=}jaDO_Ik; zXeYV(bN;;)j~!U;zT7q7ubPHAC$=VzWP0M zH629F>Hmha_RCKP9LC3GGVbCkau<{3f5Bky;K^Q<<~HP{i?!Ig7}KXDs>;0e8I>4F z1-9V0RbbpWEu%I0=m`n4K~nsWY~sWtb75C$9PDXt1q|3Jm<%q8n8PnLaOf8cqFFhO z$s^kaNwVPfs!iK8q;!CJ`)NKgMu+F!$%Teen^IYml?uS(il{cEcu{RQo1wxds^kn& zJ@X1V)7BmJF_uKn<1|Gym}v8x)!YiX4;f7dA|%r`S*fC6gz{nG8IT?{i_l(!%G@^P z^Cce6x+9ZNt~0DmYjqmxti1uNX)AA#f7$6TBrS%U}ZQ`p#c4&EQ8 zSn7M!%T#eQV^MFgs~akU8l!2oNjPK?KhY><_M7{ z$5RF|RO`C>=;zp=p?OERdN>;A65a*d7opb@m`5C{d(2Fx*Q4W>Q69&(s89(_S?%L1 zS64A!5kAcGpW-z)O2*mYyOmBfiS|b$r=_!gKJ^fsN0BmXJn!e0B+iT5#-a_kL<7u^ zlM){uL>(p*F)We#4?qF7aPvSJB1WjO9Zp<6hqvuaje+s*Ux4DlyYB7)hR*WA1F~uX zY@7uFlSgRvi+Z(M&nd{{j;vZSq>Ze3!=m_RGJ8f=^`zWIoiWZ?A{kz#bi~|lk;;-C zks4IuSAl_s`IMTa(7ZKY_D|B`ZNE zGa=7ZMJi0simhEAS|U0(yScP$!pHy=O=YGYhH`PqWIG*`WNj;MuXkSDrN>Fj$EYdA8gi#Lw%Y z?28KKQdUYtX8H?(k9+b+WTvsn*#cK9|D$|nMplZ8_+xj-AJ|aFo`@qxD#;A~(a$+e z`p+1Jwl$WasyY6(MC9wcud2g&dT94pUlovF*UC0XzP|rPUm`CRA@S9Kub=y->X~MfHq$ ze$A0RjdCU@>11Tk%cn|lPadTp&zm<_2sMn-r{KHo4(Eg+se~3_hsXzzCG%ps#(p*; zk()bYCXT-olG^4r8Yl(b@!0u6s_f0cp0=`^c$7AZGHl3~OoV0q@yiW=7qfmlA1MpK zTo@k^##=ju_{d?`*0ZQpK=z~<;87dG9~Gm)z$_O3YVfSP5;t6>D(4vUKEFjPGRuIM z#7@>I#CA9)iYN4s`9=jmF~oC@^;FU!6$H>wSqX;^9s^)fkj*Qerv@KlAE7Ei(Nf`8YPxj? zdzP<#scxj>#|0&;z&(N(fr+$F*Dd#`rsNROdTCE+1&5BhhpHayjzUU`uMAi zO~Ya`CLyS`&EIH1&>n6bc4<{Hl(4O-S|Lz~x<3d%P10X?RPhl3M$leRr>ffpqcm#9 z+vuWX&8iJQG&3WV`()izvAOS&YdNoH)`AVO5QK7ED{*3dAB>w|C%p-jzwVB!w{R+y zES4_W`u{=2Mw{V>aIrK**ZGKnCP5rTAdY z``-{{an3Pbb5^S}%6ycHSm;pCw%wMR6Os3=Xl}T^->+n5`1Xg_wLO$SkA6ptw^v%G zKwTV)V2Cp^5M(UD6~5$4 zy^Yy3cn7eosI#%^JPE?3Q2?z=teeh8?^Vh39{k;2#3f(1Z(TX|^1CLsiiV7V2)XKB z0e!tKvfW5`vJ8fRcb!sms;4GAvrWQvA0=ujq_^+EqaCx8H;=^a##8m?qp9n3`jxjd zC$%ywfe{y1mTXV1Rp@Ta4<*$0rH%*!X_ZA%P-tR`R=9Ap-bCPtUh&o`dXW(8G4iO- zfbul_;`q^-SPIRjnziMv=LKZBifNjfV)mj`(YyoA6lI^vv>h+5HLBYNi#zX&p!(iT zDC}(1Nuz`+`Ro28K`DF|Cz^TdjJ|Jupvm%qYnR!@gZ&z}(wsM#JQ_{5 mm9O%#7kCAiMg#oZ{x+@z(3ig|+aWe!L$)b=MZvaRaxs8$s-36+ diff --git a/packages/google-cloud-vision/.circleci/npm-install-retry.js b/packages/google-cloud-vision/.circleci/npm-install-retry.js deleted file mode 100755 index 3240aa2cbf2..00000000000 --- a/packages/google-cloud-vision/.circleci/npm-install-retry.js +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env node - -let spawn = require('child_process').spawn; - -// -//USE: ./index.js [... NPM ARGS] -// - -let timeout = process.argv[2] || process.env.NPM_INSTALL_TIMEOUT || 60000; -let attempts = process.argv[3] || 3; -let args = process.argv.slice(4); -if (args.length === 0) { - args = ['install']; -} - -(function npm() { - let timer; - args.push('--verbose'); - let proc = spawn('npm', args); - proc.stdout.pipe(process.stdout); - proc.stderr.pipe(process.stderr); - proc.stdin.end(); - proc.stdout.on('data', () => { - setTimer(); - }); - proc.stderr.on('data', () => { - setTimer(); - }); - - // side effect: this also restarts when npm exits with a bad code even if it - // didnt timeout - proc.on('close', (code, signal) => { - clearTimeout(timer); - if (code || signal) { - console.log('[npm-are-you-sleeping] npm exited with code ' + code + ''); - - if (--attempts) { - console.log('[npm-are-you-sleeping] restarting'); - npm(); - } else { - console.log('[npm-are-you-sleeping] i tried lots of times. giving up.'); - throw new Error("npm install fails"); - } - } - }); - - function setTimer() { - clearTimeout(timer); - timer = setTimeout(() => { - console.log('[npm-are-you-sleeping] killing npm with SIGTERM'); - proc.kill('SIGTERM'); - // wait a couple seconds - timer = setTimeout(() => { - // its it's still not closed sigkill - console.log('[npm-are-you-sleeping] killing npm with SIGKILL'); - proc.kill('SIGKILL'); - }, 2000); - }, timeout); - } -})(); From 83fa11cfc7dcc249c5c4d606f2a12373c988a235 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 11 Dec 2018 10:33:35 -0800 Subject: [PATCH 243/588] chore: update nyc and eslint configs (#293) --- packages/google-cloud-vision/.eslintignore | 1 + packages/google-cloud-vision/.nycrc | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/google-cloud-vision/.eslintignore b/packages/google-cloud-vision/.eslintignore index 2f642cb6044..f0c7aead4bf 100644 --- a/packages/google-cloud-vision/.eslintignore +++ b/packages/google-cloud-vision/.eslintignore @@ -1,3 +1,4 @@ **/node_modules src/**/doc/* build/ +docs/ diff --git a/packages/google-cloud-vision/.nycrc b/packages/google-cloud-vision/.nycrc index feb032400d4..88b001cb587 100644 --- a/packages/google-cloud-vision/.nycrc +++ b/packages/google-cloud-vision/.nycrc @@ -1,5 +1,6 @@ { "report-dir": "./.coverage", + "reporter": "lcov", "exclude": [ "src/*{/*,/**/*}.js", "src/*/v*/*.js", From 0ddf1d804586f7b772f151ae4b8d736482323e0f Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 18 Dec 2018 13:42:02 -0800 Subject: [PATCH 244/588] chore: modernize the samples and sample tests (#297) --- packages/google-cloud-vision/greenkeeper.json | 10 ---------- .../google-cloud-vision/samples/package.json | 15 ++++++++------- .../google-cloud-vision/samples/quickstart.js | 17 ++++++++--------- 3 files changed, 16 insertions(+), 26 deletions(-) delete mode 100644 packages/google-cloud-vision/greenkeeper.json diff --git a/packages/google-cloud-vision/greenkeeper.json b/packages/google-cloud-vision/greenkeeper.json deleted file mode 100644 index 67960bc28aa..00000000000 --- a/packages/google-cloud-vision/greenkeeper.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "groups": { - "default": { - "packages": [ - "package.json", - "samples/package.json" - ] - } - } -} diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 833d46aabc2..8f93cd2286e 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -1,19 +1,20 @@ { "name": "nodejs-docs-samples-vision", - "version": "0.0.1", "private": true, "license": "Apache-2.0", "author": "Google Inc.", "engines": { "node": ">=8" }, + "files": [ + "*.js" + ], "scripts": { - "test": "mocha system-test/*.test.js --timeout 600000" + "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/automl": "^0.1.1", + "@google-cloud/automl": "^0.1.3", "@google-cloud/vision": "^0.23.0", - "async": "^2.6.1", "mathjs": "^5.0.4", "natural": "^0.6.1", "redis": "^2.8.0", @@ -21,10 +22,10 @@ "canvas": "^2.0.0" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^3.0.0", "@google-cloud/storage": "^2.0.0", + "chai": "^4.2.0", + "execa": "^1.0.0", "mocha": "^5.0.0", "uuid": "^3.2.1" - }, - "optionalDependencies": {} + } } diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index 5613b0f6298..a07be3481d8 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -16,20 +16,19 @@ 'use strict'; // [START vision_quickstart] -// Imports the Google Cloud client library -const vision = require('@google-cloud/vision'); +async function quickstart() { + // Imports the Google Cloud client library + const vision = require('@google-cloud/vision'); -// Creates a client -const client = new vision.ImageAnnotatorClient(); + // Creates a client + const client = new vision.ImageAnnotatorClient(); -// Performs label detection on the image file -async function main() { + // Performs label detection on the image file const [result] = await client.labelDetection('./resources/wakeupcat.jpg'); const labels = result.labelAnnotations; console.log('Labels:'); labels.forEach(label => console.log(label.description)); } -main().catch(err => { - console.error('ERROR:', err); -}); // [END vision_quickstart] + +quickstart().catch(console.error); From 5dbf98dcd88b65aa2ded2cf255108f5e10218def Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Wed, 19 Dec 2018 13:36:00 -0800 Subject: [PATCH 245/588] BREAKING: rename method imagePath => referenceImagePath (#296) * [CHANGE ME] Re-generated to pick up changes in the API or client library generator. * rename imagePath => referenceImagePath in samples --- .../cloud/vision/v1/image_annotator.proto | 1 + .../vision/v1/product_search_service.proto | 4 +- .../cloud/vision/v1/text_annotation.proto | 6 +- .../cloud/vision/v1/doc_text_annotation.js | 6 +- .../src/v1/product_search_client.js | 164 +++++++++--------- packages/google-cloud-vision/synth.metadata | 69 ++++++++ packages/google-cloud-vision/test/gapic-v1.js | 16 +- 7 files changed, 172 insertions(+), 94 deletions(-) create mode 100644 packages/google-cloud-vision/synth.metadata diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index a7235f7a1ad..1f768c208d7 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -23,6 +23,7 @@ import "google/cloud/vision/v1/product_search.proto"; import "google/cloud/vision/v1/text_annotation.proto"; import "google/cloud/vision/v1/web_detection.proto"; import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; import "google/rpc/status.proto"; import "google/type/color.proto"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index f8ae08e33c8..d017d27ff37 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -99,8 +99,8 @@ service ProductSearch { }; } - // Permanently deletes a ProductSet. All Products and ReferenceImages in the - // ProductSet will be deleted. + // Permanently deletes a ProductSet. Products and ReferenceImages in the + // ProductSet are not deleted. // // The actual image files are not deleted from Google Cloud Storage. // diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index c66c9114f1f..44ebcdaeea5 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -159,7 +159,7 @@ message Block { // | | // 1----0 // - // and the vertice order will still be (0, 1, 2, 3). + // and the vertex order will still be (0, 1, 2, 3). BoundingPoly bounding_box = 2; // List of paragraphs in this block (if this blocks is of type text). @@ -191,7 +191,7 @@ message Paragraph { // 2----3 // | | // 1----0 - // and the vertice order will still be (0, 1, 2, 3). + // and the vertex order will still be (0, 1, 2, 3). BoundingPoly bounding_box = 2; // List of words in this paragraph. @@ -220,7 +220,7 @@ message Word { // 2----3 // | | // 1----0 - // and the vertice order will still be (0, 1, 2, 3). + // and the vertex order will still be (0, 1, 2, 3). BoundingPoly bounding_box = 2; // List of symbols in the word. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index e42ed35dc14..6ebd6432976 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -199,7 +199,7 @@ const Page = { * | | * 1----0 * - * and the vertice order will still be (0, 1, 2, 3). + * and the vertex order will still be (0, 1, 2, 3). * * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * @@ -286,7 +286,7 @@ const Block = { * 2----3 * | | * 1----0 - * and the vertice order will still be (0, 1, 2, 3). + * and the vertex order will still be (0, 1, 2, 3). * * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * @@ -329,7 +329,7 @@ const Paragraph = { * 2----3 * | | * 1----0 - * and the vertice order will still be (0, 1, 2, 3). + * and the vertex order will still be (0, 1, 2, 3). * * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 6a611c34b98..614a8336d8d 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -117,14 +117,14 @@ class ProductSearchClient { locationPathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}' ), - productPathTemplate: new gax.PathTemplate( - 'projects/{project}/locations/{location}/products/{product}' - ), productSetPathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - imagePathTemplate: new gax.PathTemplate( - 'projects/{project}/locations/{location}/products/{product}/referenceImages/{image}' + productPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + referenceImagePathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -881,7 +881,7 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const formattedName = client.imagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[IMAGE]'); + * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); * client.getReferenceImage({name: formattedName}) * .then(responses => { * const response = responses[0]; @@ -938,7 +938,7 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const formattedName = client.imagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[IMAGE]'); + * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); * client.deleteReferenceImage({name: formattedName}).catch(err => { * console.error(err); * }); @@ -1376,8 +1376,8 @@ class ProductSearchClient { } /** - * Permanently deletes a ProductSet. All Products and ReferenceImages in the - * ProductSet will be deleted. + * Permanently deletes a ProductSet. Products and ReferenceImages in the + * ProductSet are not deleted. * * The actual image files are not deleted from Google Cloud Storage. * @@ -1844,52 +1844,52 @@ class ProductSearchClient { } /** - * Return a fully-qualified product resource name string. + * Return a fully-qualified product_set resource name string. * * @param {String} project * @param {String} location - * @param {String} product + * @param {String} productSet * @returns {String} */ - productPath(project, location, product) { - return this._pathTemplates.productPathTemplate.render({ + productSetPath(project, location, productSet) { + return this._pathTemplates.productSetPathTemplate.render({ project: project, location: location, - product: product, + product_set: productSet, }); } /** - * Return a fully-qualified product_set resource name string. + * Return a fully-qualified product resource name string. * * @param {String} project * @param {String} location - * @param {String} productSet + * @param {String} product * @returns {String} */ - productSetPath(project, location, productSet) { - return this._pathTemplates.productSetPathTemplate.render({ + productPath(project, location, product) { + return this._pathTemplates.productPathTemplate.render({ project: project, location: location, - product_set: productSet, + product: product, }); } /** - * Return a fully-qualified image resource name string. + * Return a fully-qualified reference_image resource name string. * * @param {String} project * @param {String} location * @param {String} product - * @param {String} image + * @param {String} referenceImage * @returns {String} */ - imagePath(project, location, product, image) { - return this._pathTemplates.imagePathTemplate.render({ + referenceImagePath(project, location, product, referenceImage) { + return this._pathTemplates.referenceImagePathTemplate.render({ project: project, location: location, product: product, - image: image, + reference_image: referenceImage, }); } @@ -1916,39 +1916,6 @@ class ProductSearchClient { .location; } - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).project; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the product. - */ - matchProductFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).product; - } - /** * Parse the productSetName from a product_set resource. * @@ -1986,47 +1953,88 @@ class ProductSearchClient { } /** - * Parse the imageName from a image resource. + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the product. + */ + matchProductFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Parse the referenceImageName from a reference_image resource. * - * @param {String} imageName - * A fully-qualified path representing a image resources. + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. * @returns {String} - A string representing the project. */ - matchProjectFromImageName(imageName) { - return this._pathTemplates.imagePathTemplate.match(imageName).project; + matchProjectFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).project; } /** - * Parse the imageName from a image resource. + * Parse the referenceImageName from a reference_image resource. * - * @param {String} imageName - * A fully-qualified path representing a image resources. + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. * @returns {String} - A string representing the location. */ - matchLocationFromImageName(imageName) { - return this._pathTemplates.imagePathTemplate.match(imageName).location; + matchLocationFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).location; } /** - * Parse the imageName from a image resource. + * Parse the referenceImageName from a reference_image resource. * - * @param {String} imageName - * A fully-qualified path representing a image resources. + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. * @returns {String} - A string representing the product. */ - matchProductFromImageName(imageName) { - return this._pathTemplates.imagePathTemplate.match(imageName).product; + matchProductFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).product; } /** - * Parse the imageName from a image resource. + * Parse the referenceImageName from a reference_image resource. * - * @param {String} imageName - * A fully-qualified path representing a image resources. - * @returns {String} - A string representing the image. + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. + * @returns {String} - A string representing the reference_image. */ - matchImageFromImageName(imageName) { - return this._pathTemplates.imagePathTemplate.match(imageName).image; + matchReferenceImageFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).reference_image; } } diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata new file mode 100644 index 00000000000..d1d046ef23b --- /dev/null +++ b/packages/google-cloud-vision/synth.metadata @@ -0,0 +1,69 @@ +{ + "updateTime": "2018-12-17T12:11:28.967740Z", + "sources": [ + { + "generator": { + "name": "artman", + "version": "0.16.2", + "dockerImage": "googleapis/artman@sha256:2f6b261ee7fe1aedf238991c93a20b3820de37a343d0cacf3e3e9555c2aaf2ea" + } + }, + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "0f9c82d6e215430b95506fb957a9576ffda0ef3f", + "internalRef": "225558680" + } + }, + { + "template": { + "name": "node_library", + "origin": "synthtool.gcp", + "version": "2018.12.6" + } + } + ], + "destinations": [ + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p1beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p1beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p2beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p2beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p3beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p3beta1.yaml" + } + } + ] +} \ No newline at end of file diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 91bf968cd8d..ef28c5c021b 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -442,11 +442,11 @@ describe('ProductSearchClient', () => { }); // Mock request - const formattedName = client.imagePath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', '[PRODUCT]', - '[IMAGE]' + '[REFERENCE_IMAGE]' ); const request = { name: formattedName, @@ -480,11 +480,11 @@ describe('ProductSearchClient', () => { }); // Mock request - const formattedName = client.imagePath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', '[PRODUCT]', - '[IMAGE]' + '[REFERENCE_IMAGE]' ); const request = { name: formattedName, @@ -514,11 +514,11 @@ describe('ProductSearchClient', () => { }); // Mock request - const formattedName = client.imagePath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', '[PRODUCT]', - '[IMAGE]' + '[REFERENCE_IMAGE]' ); const request = { name: formattedName, @@ -542,11 +542,11 @@ describe('ProductSearchClient', () => { }); // Mock request - const formattedName = client.imagePath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', '[PRODUCT]', - '[IMAGE]' + '[REFERENCE_IMAGE]' ); const request = { name: formattedName, From a00ae15d98a493b9f1542bc1717644488cac98ff Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Wed, 19 Dec 2018 14:01:36 -0800 Subject: [PATCH 246/588] Release v0.24.0 (#298) --- packages/google-cloud-vision/CHANGELOG.md | 46 +++++++++++++++++++ packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 0d46c5b04e5..44749d029b8 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,52 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## v0.24.0 + +12-19-2018 13:36 PST + +### Implementation Changes +**This release contains breaking change** +- BREAKING: rename method imagePath => referenceImagePath ([#296](https://github.com/googleapis/nodejs-vision/pull/296)) +The method `ProductSearchClient.imagePath` was renamed `referenceImagePath`: +``` +// old code +const formattedName = client.imagePath(...); + +// new code +const formattedName = client.referenceImagePath(...); +``` +- fix: Param "scoreThreshold" should be "score_threshold" ([#234](https://github.com/googleapis/nodejs-vision/pull/234)) + +### New Features +- ProductSearch GA ([#280](https://github.com/googleapis/nodejs-vision/pull/280)) + +### Dependencies +- refactor: remove unused deps ([#261](https://github.com/googleapis/nodejs-vision/pull/261)) +- fix(deps): update dependency google-gax to ^0.22.0 ([#265](https://github.com/googleapis/nodejs-vision/pull/265)) +- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#263](https://github.com/googleapis/nodejs-vision/pull/263)) +- fix(deps): update dependency @google-cloud/vision to ^0.23.0 ([#260](https://github.com/googleapis/nodejs-vision/pull/260)) + +### Documentation +- docs: fix productSearch example ([#285](https://github.com/googleapis/nodejs-vision/pull/285)) +- docs: update readme badges ([#283](https://github.com/googleapis/nodejs-vision/pull/283)) +- docs(samples): updated samples code to use async/await and tests to use mocha ([#241](https://github.com/googleapis/nodejs-vision/pull/241)) + +### Internal / Testing Changes +- chore: modernize the samples and sample tests ([#297](https://github.com/googleapis/nodejs-vision/pull/297)) +- chore(build): inject yoshi automation key ([#294](https://github.com/googleapis/nodejs-vision/pull/294)) +- chore: update nyc and eslint configs ([#293](https://github.com/googleapis/nodejs-vision/pull/293)) +- chore: fix publish.sh permission +x ([#292](https://github.com/googleapis/nodejs-vision/pull/292)) +- fix(build): fix Kokoro release script ([#291](https://github.com/googleapis/nodejs-vision/pull/291)) +- build: add Kokoro configs for autorelease ([#290](https://github.com/googleapis/nodejs-vision/pull/290)) +- chore: always nyc report before calling codecov ([#288](https://github.com/googleapis/nodejs-vision/pull/288)) +- chore: nyc ignore build/test by default ([#287](https://github.com/googleapis/nodejs-vision/pull/287)) +- chore: update license file ([#284](https://github.com/googleapis/nodejs-vision/pull/284)) +- fix(build): fix system key decryption ([#282](https://github.com/googleapis/nodejs-vision/pull/282)) +- test: make product search tests run ([#269](https://github.com/googleapis/nodejs-vision/pull/269)) +- chore: update eslintignore config ([#264](https://github.com/googleapis/nodejs-vision/pull/264)) +- chore: drop contributors from multiple places ([#262](https://github.com/googleapis/nodejs-vision/pull/262)) + ## v0.23.0 ### New Features diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index e47e6a0da6a..0330e323bee 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.23.0", + "version": "0.24.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 8f93cd2286e..b548f06ed9d 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@google-cloud/automl": "^0.1.3", - "@google-cloud/vision": "^0.23.0", + "@google-cloud/vision": "^0.24.0", "mathjs": "^5.0.4", "natural": "^0.6.1", "redis": "^2.8.0", From cb17d38b9be7561e2b126349e51793a2339470d9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Fri, 4 Jan 2019 14:27:24 -0800 Subject: [PATCH 247/588] fix(docs): remove unused long running operations types --- .../doc/google/longrunning/doc_operations.js | 84 ------------ .../v1/doc/google/protobuf/doc_wrappers.js | 128 ------------------ .../doc/google/protobuf/doc_wrappers.js | 128 ------------------ .../doc/google/longrunning/doc_operations.js | 84 ------------ .../doc/google/protobuf/doc_wrappers.js | 128 ------------------ .../doc/google/longrunning/doc_operations.js | 84 ------------ .../doc/google/protobuf/doc_wrappers.js | 128 ------------------ packages/google-cloud-vision/synth.metadata | 10 +- 8 files changed, 5 insertions(+), 769 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js index 4af5d7d3574..e6dd81d4eea 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js @@ -60,88 +60,4 @@ */ const Operation = { // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.GetOperation. - * - * @property {string} name - * The name of the operation resource. - * - * @typedef GetOperationRequest - * @memberof google.longrunning - * @see [google.longrunning.GetOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const GetOperationRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.ListOperations. - * - * @property {string} name - * The name of the operation collection. - * - * @property {string} filter - * The standard list filter. - * - * @property {number} pageSize - * The standard list page size. - * - * @property {string} pageToken - * The standard list page token. - * - * @typedef ListOperationsRequest - * @memberof google.longrunning - * @see [google.longrunning.ListOperationsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const ListOperationsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The response message for Operations.ListOperations. - * - * @property {Object[]} operations - * A list of operations that matches the specified filter in the request. - * - * This object should have the same structure as [Operation]{@link google.longrunning.Operation} - * - * @property {string} nextPageToken - * The standard List next-page token. - * - * @typedef ListOperationsResponse - * @memberof google.longrunning - * @see [google.longrunning.ListOperationsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const ListOperationsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.CancelOperation. - * - * @property {string} name - * The name of the operation resource to be cancelled. - * - * @typedef CancelOperationRequest - * @memberof google.longrunning - * @see [google.longrunning.CancelOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const CancelOperationRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.DeleteOperation. - * - * @property {string} name - * The name of the operation resource to be deleted. - * - * @typedef DeleteOperationRequest - * @memberof google.longrunning - * @see [google.longrunning.DeleteOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const DeleteOperationRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js index 363b6391ac1..5a245347379 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js @@ -15,22 +15,6 @@ // Note: this file is purely for documentation. Any contents are not expected // to be loaded as the JS file. -/** - * Wrapper message for `double`. - * - * The JSON representation for `DoubleValue` is JSON number. - * - * @property {number} value - * The double value. - * - * @typedef DoubleValue - * @memberof google.protobuf - * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const DoubleValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - /** * Wrapper message for `float`. * @@ -45,116 +29,4 @@ const DoubleValue = { */ const FloatValue = { // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `int64`. - * - * The JSON representation for `Int64Value` is JSON string. - * - * @property {number} value - * The int64 value. - * - * @typedef Int64Value - * @memberof google.protobuf - * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const Int64Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `uint64`. - * - * The JSON representation for `UInt64Value` is JSON string. - * - * @property {number} value - * The uint64 value. - * - * @typedef UInt64Value - * @memberof google.protobuf - * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const UInt64Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `int32`. - * - * The JSON representation for `Int32Value` is JSON number. - * - * @property {number} value - * The int32 value. - * - * @typedef Int32Value - * @memberof google.protobuf - * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const Int32Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `uint32`. - * - * The JSON representation for `UInt32Value` is JSON number. - * - * @property {number} value - * The uint32 value. - * - * @typedef UInt32Value - * @memberof google.protobuf - * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const UInt32Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `bool`. - * - * The JSON representation for `BoolValue` is JSON `true` and `false`. - * - * @property {boolean} value - * The bool value. - * - * @typedef BoolValue - * @memberof google.protobuf - * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const BoolValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `string`. - * - * The JSON representation for `StringValue` is JSON string. - * - * @property {string} value - * The string value. - * - * @typedef StringValue - * @memberof google.protobuf - * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const StringValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `bytes`. - * - * The JSON representation for `BytesValue` is JSON string. - * - * @property {string} value - * The bytes value. - * - * @typedef BytesValue - * @memberof google.protobuf - * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const BytesValue = { - // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js index 363b6391ac1..5a245347379 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js @@ -15,22 +15,6 @@ // Note: this file is purely for documentation. Any contents are not expected // to be loaded as the JS file. -/** - * Wrapper message for `double`. - * - * The JSON representation for `DoubleValue` is JSON number. - * - * @property {number} value - * The double value. - * - * @typedef DoubleValue - * @memberof google.protobuf - * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const DoubleValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - /** * Wrapper message for `float`. * @@ -45,116 +29,4 @@ const DoubleValue = { */ const FloatValue = { // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `int64`. - * - * The JSON representation for `Int64Value` is JSON string. - * - * @property {number} value - * The int64 value. - * - * @typedef Int64Value - * @memberof google.protobuf - * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const Int64Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `uint64`. - * - * The JSON representation for `UInt64Value` is JSON string. - * - * @property {number} value - * The uint64 value. - * - * @typedef UInt64Value - * @memberof google.protobuf - * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const UInt64Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `int32`. - * - * The JSON representation for `Int32Value` is JSON number. - * - * @property {number} value - * The int32 value. - * - * @typedef Int32Value - * @memberof google.protobuf - * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const Int32Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `uint32`. - * - * The JSON representation for `UInt32Value` is JSON number. - * - * @property {number} value - * The uint32 value. - * - * @typedef UInt32Value - * @memberof google.protobuf - * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const UInt32Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `bool`. - * - * The JSON representation for `BoolValue` is JSON `true` and `false`. - * - * @property {boolean} value - * The bool value. - * - * @typedef BoolValue - * @memberof google.protobuf - * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const BoolValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `string`. - * - * The JSON representation for `StringValue` is JSON string. - * - * @property {string} value - * The string value. - * - * @typedef StringValue - * @memberof google.protobuf - * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const StringValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `bytes`. - * - * The JSON representation for `BytesValue` is JSON string. - * - * @property {string} value - * The bytes value. - * - * @typedef BytesValue - * @memberof google.protobuf - * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const BytesValue = { - // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js index 4af5d7d3574..e6dd81d4eea 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js @@ -60,88 +60,4 @@ */ const Operation = { // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.GetOperation. - * - * @property {string} name - * The name of the operation resource. - * - * @typedef GetOperationRequest - * @memberof google.longrunning - * @see [google.longrunning.GetOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const GetOperationRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.ListOperations. - * - * @property {string} name - * The name of the operation collection. - * - * @property {string} filter - * The standard list filter. - * - * @property {number} pageSize - * The standard list page size. - * - * @property {string} pageToken - * The standard list page token. - * - * @typedef ListOperationsRequest - * @memberof google.longrunning - * @see [google.longrunning.ListOperationsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const ListOperationsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The response message for Operations.ListOperations. - * - * @property {Object[]} operations - * A list of operations that matches the specified filter in the request. - * - * This object should have the same structure as [Operation]{@link google.longrunning.Operation} - * - * @property {string} nextPageToken - * The standard List next-page token. - * - * @typedef ListOperationsResponse - * @memberof google.longrunning - * @see [google.longrunning.ListOperationsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const ListOperationsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.CancelOperation. - * - * @property {string} name - * The name of the operation resource to be cancelled. - * - * @typedef CancelOperationRequest - * @memberof google.longrunning - * @see [google.longrunning.CancelOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const CancelOperationRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.DeleteOperation. - * - * @property {string} name - * The name of the operation resource to be deleted. - * - * @typedef DeleteOperationRequest - * @memberof google.longrunning - * @see [google.longrunning.DeleteOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const DeleteOperationRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js index 363b6391ac1..5a245347379 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js @@ -15,22 +15,6 @@ // Note: this file is purely for documentation. Any contents are not expected // to be loaded as the JS file. -/** - * Wrapper message for `double`. - * - * The JSON representation for `DoubleValue` is JSON number. - * - * @property {number} value - * The double value. - * - * @typedef DoubleValue - * @memberof google.protobuf - * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const DoubleValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - /** * Wrapper message for `float`. * @@ -45,116 +29,4 @@ const DoubleValue = { */ const FloatValue = { // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `int64`. - * - * The JSON representation for `Int64Value` is JSON string. - * - * @property {number} value - * The int64 value. - * - * @typedef Int64Value - * @memberof google.protobuf - * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const Int64Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `uint64`. - * - * The JSON representation for `UInt64Value` is JSON string. - * - * @property {number} value - * The uint64 value. - * - * @typedef UInt64Value - * @memberof google.protobuf - * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const UInt64Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `int32`. - * - * The JSON representation for `Int32Value` is JSON number. - * - * @property {number} value - * The int32 value. - * - * @typedef Int32Value - * @memberof google.protobuf - * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const Int32Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `uint32`. - * - * The JSON representation for `UInt32Value` is JSON number. - * - * @property {number} value - * The uint32 value. - * - * @typedef UInt32Value - * @memberof google.protobuf - * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const UInt32Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `bool`. - * - * The JSON representation for `BoolValue` is JSON `true` and `false`. - * - * @property {boolean} value - * The bool value. - * - * @typedef BoolValue - * @memberof google.protobuf - * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const BoolValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `string`. - * - * The JSON representation for `StringValue` is JSON string. - * - * @property {string} value - * The string value. - * - * @typedef StringValue - * @memberof google.protobuf - * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const StringValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `bytes`. - * - * The JSON representation for `BytesValue` is JSON string. - * - * @property {string} value - * The bytes value. - * - * @typedef BytesValue - * @memberof google.protobuf - * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const BytesValue = { - // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js index 4af5d7d3574..e6dd81d4eea 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js @@ -60,88 +60,4 @@ */ const Operation = { // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.GetOperation. - * - * @property {string} name - * The name of the operation resource. - * - * @typedef GetOperationRequest - * @memberof google.longrunning - * @see [google.longrunning.GetOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const GetOperationRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.ListOperations. - * - * @property {string} name - * The name of the operation collection. - * - * @property {string} filter - * The standard list filter. - * - * @property {number} pageSize - * The standard list page size. - * - * @property {string} pageToken - * The standard list page token. - * - * @typedef ListOperationsRequest - * @memberof google.longrunning - * @see [google.longrunning.ListOperationsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const ListOperationsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The response message for Operations.ListOperations. - * - * @property {Object[]} operations - * A list of operations that matches the specified filter in the request. - * - * This object should have the same structure as [Operation]{@link google.longrunning.Operation} - * - * @property {string} nextPageToken - * The standard List next-page token. - * - * @typedef ListOperationsResponse - * @memberof google.longrunning - * @see [google.longrunning.ListOperationsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const ListOperationsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.CancelOperation. - * - * @property {string} name - * The name of the operation resource to be cancelled. - * - * @typedef CancelOperationRequest - * @memberof google.longrunning - * @see [google.longrunning.CancelOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const CancelOperationRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The request message for Operations.DeleteOperation. - * - * @property {string} name - * The name of the operation resource to be deleted. - * - * @typedef DeleteOperationRequest - * @memberof google.longrunning - * @see [google.longrunning.DeleteOperationRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const DeleteOperationRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js index 363b6391ac1..5a245347379 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js @@ -15,22 +15,6 @@ // Note: this file is purely for documentation. Any contents are not expected // to be loaded as the JS file. -/** - * Wrapper message for `double`. - * - * The JSON representation for `DoubleValue` is JSON number. - * - * @property {number} value - * The double value. - * - * @typedef DoubleValue - * @memberof google.protobuf - * @see [google.protobuf.DoubleValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const DoubleValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - /** * Wrapper message for `float`. * @@ -45,116 +29,4 @@ const DoubleValue = { */ const FloatValue = { // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `int64`. - * - * The JSON representation for `Int64Value` is JSON string. - * - * @property {number} value - * The int64 value. - * - * @typedef Int64Value - * @memberof google.protobuf - * @see [google.protobuf.Int64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const Int64Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `uint64`. - * - * The JSON representation for `UInt64Value` is JSON string. - * - * @property {number} value - * The uint64 value. - * - * @typedef UInt64Value - * @memberof google.protobuf - * @see [google.protobuf.UInt64Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const UInt64Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `int32`. - * - * The JSON representation for `Int32Value` is JSON number. - * - * @property {number} value - * The int32 value. - * - * @typedef Int32Value - * @memberof google.protobuf - * @see [google.protobuf.Int32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const Int32Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `uint32`. - * - * The JSON representation for `UInt32Value` is JSON number. - * - * @property {number} value - * The uint32 value. - * - * @typedef UInt32Value - * @memberof google.protobuf - * @see [google.protobuf.UInt32Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const UInt32Value = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `bool`. - * - * The JSON representation for `BoolValue` is JSON `true` and `false`. - * - * @property {boolean} value - * The bool value. - * - * @typedef BoolValue - * @memberof google.protobuf - * @see [google.protobuf.BoolValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const BoolValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `string`. - * - * The JSON representation for `StringValue` is JSON string. - * - * @property {string} value - * The string value. - * - * @typedef StringValue - * @memberof google.protobuf - * @see [google.protobuf.StringValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const StringValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Wrapper message for `bytes`. - * - * The JSON representation for `BytesValue` is JSON string. - * - * @property {string} value - * The bytes value. - * - * @typedef BytesValue - * @memberof google.protobuf - * @see [google.protobuf.BytesValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const BytesValue = { - // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index d1d046ef23b..8586f15f8d8 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2018-12-17T12:11:28.967740Z", + "updateTime": "2019-01-03T17:43:57.801899Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.2", - "dockerImage": "googleapis/artman@sha256:2f6b261ee7fe1aedf238991c93a20b3820de37a343d0cacf3e3e9555c2aaf2ea" + "version": "0.16.4", + "dockerImage": "googleapis/artman@sha256:8b45fae963557c3299921037ecbb86f0689f41b1b4aea73408ebc50562cb2857" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "0f9c82d6e215430b95506fb957a9576ffda0ef3f", - "internalRef": "225558680" + "sha": "2a5caab4315cb5ab3d5c97c90c6d4e9441052b16", + "internalRef": "227195651" } }, { From e83f7eaea564293bba513f01e798e9ea5c49a6d4 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Tue, 8 Jan 2019 17:57:18 -0800 Subject: [PATCH 248/588] build: check broken links in generated docs (#301) * build: check dead links on Kokoro * recursive crawl local links * fix missing namespace * fix doc_timestamp.js dead links --- packages/google-cloud-vision/.jsdoc.js | 2 +- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/src/index.js | 10 +++++----- .../src/v1/doc/google/protobuf/doc_timestamp.js | 6 ++---- .../src/v1p3beta1/doc/google/protobuf/doc_timestamp.js | 6 ++---- packages/google-cloud-vision/synth.py | 10 ++++++++++ 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index 83b5a99c0a3..3ba46d20f13 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -20,7 +20,7 @@ module.exports = { opts: { readme: './README.md', package: './package.json', - template: './node_modules/ink-docstrap/template', + template: './node_modules/jsdoc-baseline', recurse: true, verbose: true, destination: './docs/' diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 0330e323bee..ffe752a0e34 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -54,7 +54,7 @@ "eslint-config-prettier": "^3.0.0", "eslint-plugin-node": "^8.0.0", "eslint-plugin-prettier": "^3.0.0", - "ink-docstrap": "^1.3.2", + "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", "mocha": "^5.2.0", diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 0a6df95d63e..1b07bbbfdc8 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -13,19 +13,19 @@ // limitations under the License. /** - * @namespace google + * @namespace google.cloud.vision.v1 */ /** - * @namespace google.cloud + * @namespace google.cloud.vision.v1p1beta1 */ /** - * @namespace google.cloud.vision + * @namespace google.cloud.vision.v1p2beta1 */ /** - * @namespace google.cloud.vision.v1 + * @namespace google.cloud.vision.v1p3beta1 */ /** - * @namespace google.cloud.vision.v1p1beta1 + * @namespace google.longrunning */ /** * @namespace google.protobuf diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js index 1ebe2e6e1a5..1cc64cbed80 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js @@ -87,13 +87,11 @@ * 01:30 UTC on January 15, 2017. * * In JavaScript, one can convert a Date object to this format using the - * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] + * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) * method. In Python, a standard `datetime.datetime` object can be converted * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one - * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://cloud.google.com - * http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime-- - * ) to obtain a formatter capable of generating timestamps in this format. + * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--) to obtain a formatter capable of generating timestamps in this format. * * @property {number} seconds * Represents seconds of UTC time since Unix epoch diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js index 1ebe2e6e1a5..1cc64cbed80 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js @@ -87,13 +87,11 @@ * 01:30 UTC on January 15, 2017. * * In JavaScript, one can convert a Date object to this format using the - * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] + * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) * method. In Python, a standard `datetime.datetime` object can be converted * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one - * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://cloud.google.com - * http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime-- - * ) to obtain a formatter capable of generating timestamps in this format. + * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--) to obtain a formatter capable of generating timestamps in this format. * * @property {number} seconds * Represents seconds of UTC time since Unix epoch diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 6a2963d83ef..e30cd8ac326 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -33,6 +33,16 @@ templates = common_templates.node_library() s.copy(templates) +# [START fix-dead-link] +s.replace('**/doc/google/protobuf/doc_timestamp.js', + 'https:\/\/cloud\.google\.com[\s\*]*http:\/\/(.*)[\s\*]*\)', + r"https://\1)") + +s.replace('**/doc/google/protobuf/doc_timestamp.js', + 'toISOString\]', + 'toISOString)') +# [END fix-dead-link] + # Node.js specific cleanup subprocess.run(['npm', 'install']) subprocess.run(['npm', 'run', 'fix']) From cbf0bb46a83f71a15f33aef983542d685573ea01 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 14 Jan 2019 11:45:48 -0800 Subject: [PATCH 249/588] fix(deps): update dependency google-gax to ^0.23.0 (#307) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ffe752a0e34..460ac1f2882 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,7 +41,7 @@ }, "dependencies": { "@google-cloud/promisify": "^0.3.0", - "google-gax": "^0.22.0", + "google-gax": "^0.23.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" From d97e17b0121b6254a50e327d931869976d459c81 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Thu, 17 Jan 2019 08:40:29 -0800 Subject: [PATCH 250/588] chore: update year in the license headers. (#309) chore: update year in the license headers --- .../smoke-test/image_annotator_smoke_test.js | 2 +- .../v1/doc/google/cloud/vision/v1/doc_geometry.js | 2 +- .../google/cloud/vision/v1/doc_image_annotator.js | 2 +- .../doc/google/cloud/vision/v1/doc_product_search.js | 2 +- .../cloud/vision/v1/doc_product_search_service.js | 2 +- .../google/cloud/vision/v1/doc_text_annotation.js | 2 +- .../doc/google/cloud/vision/v1/doc_web_detection.js | 2 +- .../src/v1/doc/google/longrunning/doc_operations.js | 2 +- .../src/v1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1/doc/google/protobuf/doc_empty.js | 2 +- .../src/v1/doc/google/protobuf/doc_field_mask.js | 2 +- .../src/v1/doc/google/protobuf/doc_timestamp.js | 2 +- .../src/v1/doc/google/protobuf/doc_wrappers.js | 2 +- .../src/v1/doc/google/rpc/doc_status.js | 2 +- .../src/v1/doc/google/type/doc_color.js | 2 +- .../src/v1/doc/google/type/doc_latlng.js | 2 +- .../src/v1/image_annotator_client.js | 2 +- packages/google-cloud-vision/src/v1/index.js | 2 +- .../src/v1/product_search_client.js | 2 +- .../google/cloud/vision/v1p1beta1/doc_geometry.js | 2 +- .../cloud/vision/v1p1beta1/doc_image_annotator.js | 2 +- .../cloud/vision/v1p1beta1/doc_text_annotation.js | 2 +- .../cloud/vision/v1p1beta1/doc_web_detection.js | 2 +- .../src/v1p1beta1/doc/google/protobuf/doc_any.js | 2 +- .../v1p1beta1/doc/google/protobuf/doc_wrappers.js | 2 +- .../src/v1p1beta1/doc/google/rpc/doc_status.js | 2 +- .../src/v1p1beta1/doc/google/type/doc_color.js | 2 +- .../src/v1p1beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p1beta1/image_annotator_client.js | 2 +- packages/google-cloud-vision/src/v1p1beta1/index.js | 2 +- .../google/cloud/vision/v1p2beta1/doc_geometry.js | 2 +- .../cloud/vision/v1p2beta1/doc_image_annotator.js | 2 +- .../cloud/vision/v1p2beta1/doc_text_annotation.js | 2 +- .../cloud/vision/v1p2beta1/doc_web_detection.js | 2 +- .../doc/google/longrunning/doc_operations.js | 2 +- .../src/v1p2beta1/doc/google/protobuf/doc_any.js | 2 +- .../v1p2beta1/doc/google/protobuf/doc_wrappers.js | 2 +- .../src/v1p2beta1/doc/google/rpc/doc_status.js | 2 +- .../src/v1p2beta1/doc/google/type/doc_color.js | 2 +- .../src/v1p2beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p2beta1/image_annotator_client.js | 2 +- packages/google-cloud-vision/src/v1p2beta1/index.js | 2 +- .../google/cloud/vision/v1p3beta1/doc_geometry.js | 2 +- .../cloud/vision/v1p3beta1/doc_image_annotator.js | 2 +- .../cloud/vision/v1p3beta1/doc_product_search.js | 2 +- .../vision/v1p3beta1/doc_product_search_service.js | 2 +- .../cloud/vision/v1p3beta1/doc_text_annotation.js | 2 +- .../cloud/vision/v1p3beta1/doc_web_detection.js | 2 +- .../doc/google/longrunning/doc_operations.js | 2 +- .../src/v1p3beta1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1p3beta1/doc/google/protobuf/doc_empty.js | 2 +- .../v1p3beta1/doc/google/protobuf/doc_field_mask.js | 2 +- .../v1p3beta1/doc/google/protobuf/doc_timestamp.js | 2 +- .../v1p3beta1/doc/google/protobuf/doc_wrappers.js | 2 +- .../src/v1p3beta1/doc/google/rpc/doc_status.js | 2 +- .../src/v1p3beta1/doc/google/type/doc_color.js | 2 +- .../src/v1p3beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p3beta1/image_annotator_client.js | 2 +- packages/google-cloud-vision/src/v1p3beta1/index.js | 2 +- .../src/v1p3beta1/product_search_client.js | 2 +- packages/google-cloud-vision/synth.metadata | 12 ++++++------ packages/google-cloud-vision/test/gapic-v1.js | 2 +- packages/google-cloud-vision/test/gapic-v1p1beta1.js | 2 +- packages/google-cloud-vision/test/gapic-v1p2beta1.js | 2 +- packages/google-cloud-vision/test/gapic-v1p3beta1.js | 2 +- 65 files changed, 70 insertions(+), 70 deletions(-) diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index 131d2f65a8c..81c4762d560 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js index 77d9f8e9cda..34ad1dc3f27 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index 12782598e11..ebe621c9904 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js index e4cad72c6e2..2406e26e1ad 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index 01018a9acb3..0cbc3c6fa20 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index 6ebd6432976..dc40f25c6a8 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js index 3f05a78c132..883ee78f57d 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js index e6dd81d4eea..bd03cc3da0e 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js index 3accb1fc0d8..f3278b34e66 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js index b1d6b5e32a9..0b446dd9ce4 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js index 0cb35328962..d55d97e6e38 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js index 1cc64cbed80..b47f41c2b30 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js index 5a245347379..71de58e0d6e 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js index 13cfcab1021..fc4b5be93f0 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js index c571f13c9a8..0b8c30004ce 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js index abc54303752..37dca6bcf66 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 781fd5b5e9d..65a44231a47 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index f70d663b492..8a46227b562 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 614a8336d8d..c821079ea74 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js index 3ec7053728d..bab9dbcdb4b 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js index 85b8843cddd..7acdeb0b493 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js index 2894cf650dd..5f8839de4a3 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js index 22dd4d7b7af..d6a5fdade6c 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js index 3accb1fc0d8..f3278b34e66 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js index 5a245347379..71de58e0d6e 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js index 13cfcab1021..fc4b5be93f0 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js index c571f13c9a8..0b8c30004ce 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js index abc54303752..37dca6bcf66 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 69bed05ed90..e074712105a 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/index.js b/packages/google-cloud-vision/src/v1p1beta1/index.js index 301ca40eb92..06788998f34 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/index.js +++ b/packages/google-cloud-vision/src/v1p1beta1/index.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js index c590b580c67..a5bf050494e 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js index 7d3552be305..36492a0da02 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js index 79ecb1f06aa..4c30042cb14 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js index 7389d72d765..aa5f2c5b64a 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js index e6dd81d4eea..bd03cc3da0e 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js index 3accb1fc0d8..f3278b34e66 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js index 5a245347379..71de58e0d6e 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js index 13cfcab1021..fc4b5be93f0 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js index c571f13c9a8..0b8c30004ce 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js index abc54303752..37dca6bcf66 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index ef708bd38de..68c8e470edf 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/index.js b/packages/google-cloud-vision/src/v1p2beta1/index.js index 301ca40eb92..06788998f34 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/index.js +++ b/packages/google-cloud-vision/src/v1p2beta1/index.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js index b1b212e1eb8..344a5c68442 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js index 06ec045d102..cf6f826d797 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js index e8df1deaee9..84a4e4de0d5 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js index cc20ed58d19..23d1590ea5b 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js index 665b303be9a..5ae9e4564e3 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js index bfc76d1f9ab..79e75f2bc29 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js index e6dd81d4eea..bd03cc3da0e 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js index 3accb1fc0d8..f3278b34e66 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js index b1d6b5e32a9..0b446dd9ce4 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js index 0cb35328962..d55d97e6e38 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js index 1cc64cbed80..b47f41c2b30 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js index 5a245347379..71de58e0d6e 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js index 13cfcab1021..fc4b5be93f0 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js index c571f13c9a8..0b8c30004ce 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js index abc54303752..37dca6bcf66 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index d0e6de90649..8ac392b48e3 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/index.js b/packages/google-cloud-vision/src/v1p3beta1/index.js index f70d663b492..8a46227b562 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/index.js +++ b/packages/google-cloud-vision/src/v1p3beta1/index.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 8cc5c2bc44d..25c4e241195 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 8586f15f8d8..2ac04e59c1f 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-01-03T17:43:57.801899Z", + "updateTime": "2019-01-17T12:47:29.238091Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.4", - "dockerImage": "googleapis/artman@sha256:8b45fae963557c3299921037ecbb86f0689f41b1b4aea73408ebc50562cb2857" + "version": "0.16.6", + "dockerImage": "googleapis/artman@sha256:12722f2ca3fbc3b53cc6aa5f0e569d7d221b46bd876a2136497089dec5e3634e" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "2a5caab4315cb5ab3d5c97c90c6d4e9441052b16", - "internalRef": "227195651" + "sha": "0ac60e21a1aa86c07c1836865b35308ba8178b05", + "internalRef": "229626798" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2018.12.6" + "version": "2019.1.16" } } ], diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index ef28c5c021b..53dc2b5f3e7 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js index c7f75ff3734..0040f90f835 100644 --- a/packages/google-cloud-vision/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p1beta1.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-v1p2beta1.js b/packages/google-cloud-vision/test/gapic-v1p2beta1.js index a832fd5b9dd..7bfceb661df 100644 --- a/packages/google-cloud-vision/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p2beta1.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-v1p3beta1.js b/packages/google-cloud-vision/test/gapic-v1p3beta1.js index ea7dca9e9a1..bb7909b7c87 100644 --- a/packages/google-cloud-vision/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p3beta1.js @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From 407b2e9941e9ea3ce0f5d20d43853611468d7847 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Sun, 27 Jan 2019 09:41:50 -0800 Subject: [PATCH 251/588] chore(deps): update dependency eslint-config-prettier to v4 (#313) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 460ac1f2882..ea900a415d0 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -51,7 +51,7 @@ "@google-cloud/storage": "^2.0.0", "codecov": "^3.0.2", "eslint": "^5.0.1", - "eslint-config-prettier": "^3.0.0", + "eslint-config-prettier": "^4.0.0", "eslint-plugin-node": "^8.0.0", "eslint-plugin-prettier": "^3.0.0", "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", From f1f736c2cac44a7a85231e09d7c835af0815fa4b Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sun, 27 Jan 2019 10:43:14 -0800 Subject: [PATCH 252/588] fix: ignore case in system test assertions (#314) --- .../google-cloud-vision/system-test/vision.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index d09cffcfee6..b4f71b671dd 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -66,14 +66,20 @@ describe('Vision', function() { 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; return client.logoDetection(url).then(responses => { const response = responses[0]; - assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); + assert.strictEqual( + response.logoAnnotations[0].description.toLowerCase(), + 'google' + ); }); }); it('should detect from a filename', () => { return client.logoDetection(IMAGES.logo).then(responses => { const response = responses[0]; - assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); + assert.deepStrictEqual( + response.logoAnnotations[0].description.toLowerCase(), + 'google' + ); }); }); @@ -81,7 +87,10 @@ describe('Vision', function() { const buffer = fs.readFileSync(IMAGES.logo); return client.logoDetection(buffer).then(responses => { const response = responses[0]; - assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); + assert.deepStrictEqual( + response.logoAnnotations[0].description.toLowerCase(), + 'google' + ); }); }); From c614a9ecc47e4084dd919ab6f8f09a6a2be65321 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Sun, 27 Jan 2019 10:56:28 -0800 Subject: [PATCH 253/588] fix(deps): update dependency google-gax to ^0.24.0 (#312) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ea900a415d0..05061c6e5cc 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,7 +41,7 @@ }, "dependencies": { "@google-cloud/promisify": "^0.3.0", - "google-gax": "^0.23.0", + "google-gax": "^0.24.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" From d99d650d2097ad381037332c2bb86d9d19621451 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Wed, 30 Jan 2019 12:19:51 -0800 Subject: [PATCH 254/588] fix(deps): update dependency google-gax to ^0.25.0 (#315) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 05061c6e5cc..90451a2bed1 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,7 +41,7 @@ }, "dependencies": { "@google-cloud/promisify": "^0.3.0", - "google-gax": "^0.24.0", + "google-gax": "^0.25.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" From d7ebe906def64e622208aacf23d740c4ac4b87fa Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Sat, 2 Feb 2019 10:28:15 -0800 Subject: [PATCH 255/588] refactor: improve generated code style. (#316) --- .../src/v1/image_annotator_client.js | 11 ++------ .../src/v1/product_search_client.js | 27 +++++++------------ .../src/v1p2beta1/image_annotator_client.js | 11 ++------ .../src/v1p3beta1/image_annotator_client.js | 11 ++------ .../src/v1p3beta1/product_search_client.js | 27 +++++++------------ packages/google-cloud-vision/synth.metadata | 10 +++---- 6 files changed, 31 insertions(+), 66 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 65a44231a47..7147be4e4dc 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -302,20 +302,14 @@ class ImageAnnotatorClient { * // Handle the operation using the promise pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Operation#promise starts polling for the completion of the LRO. * return operation.promise(); * }) * .then(responses => { - * // The final result of the operation. * const result = responses[0]; - * - * // The metadata value of the completed operation. * const metadata = responses[1]; - * - * // The response of the api call returning the complete operation. * const finalApiResponse = responses[2]; * }) * .catch(err => { @@ -327,8 +321,7 @@ class ImageAnnotatorClient { * // Handle the operation using the event emitter pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Adding a listener for the "complete" event starts polling for the * // completion of the operation. diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index c821079ea74..cfd3c2527ba 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -411,7 +411,7 @@ class ProductSearchClient { * client.listProducts({parent: formattedParent}) * .then(responses => { * const resources = responses[0]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]) * } * }) @@ -431,7 +431,7 @@ class ProductSearchClient { * const nextRequest = responses[1]; * // The actual response object, if necessary. * // const rawResponse = responses[2]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]); * } * if (nextRequest) { @@ -745,7 +745,7 @@ class ProductSearchClient { * client.listReferenceImages({parent: formattedParent}) * .then(responses => { * const resources = responses[0]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]) * } * }) @@ -765,7 +765,7 @@ class ProductSearchClient { * const nextRequest = responses[1]; * // The actual response object, if necessary. * // const rawResponse = responses[2]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]); * } * if (nextRequest) { @@ -1159,7 +1159,7 @@ class ProductSearchClient { * client.listProductSets({parent: formattedParent}) * .then(responses => { * const resources = responses[0]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]) * } * }) @@ -1179,7 +1179,7 @@ class ProductSearchClient { * const nextRequest = responses[1]; * // The actual response object, if necessary. * // const rawResponse = responses[2]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]); * } * if (nextRequest) { @@ -1603,7 +1603,7 @@ class ProductSearchClient { * client.listProductsInProductSet({name: formattedName}) * .then(responses => { * const resources = responses[0]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]) * } * }) @@ -1623,7 +1623,7 @@ class ProductSearchClient { * const nextRequest = responses[1]; * // The actual response object, if necessary. * // const rawResponse = responses[2]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]); * } * if (nextRequest) { @@ -1761,20 +1761,14 @@ class ProductSearchClient { * // Handle the operation using the promise pattern. * client.importProductSets(request) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Operation#promise starts polling for the completion of the LRO. * return operation.promise(); * }) * .then(responses => { - * // The final result of the operation. * const result = responses[0]; - * - * // The metadata value of the completed operation. * const metadata = responses[1]; - * - * // The response of the api call returning the complete operation. * const finalApiResponse = responses[2]; * }) * .catch(err => { @@ -1791,8 +1785,7 @@ class ProductSearchClient { * // Handle the operation using the event emitter pattern. * client.importProductSets(request) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Adding a listener for the "complete" event starts polling for the * // completion of the operation. diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 68c8e470edf..2487c0568e7 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -302,20 +302,14 @@ class ImageAnnotatorClient { * // Handle the operation using the promise pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Operation#promise starts polling for the completion of the LRO. * return operation.promise(); * }) * .then(responses => { - * // The final result of the operation. * const result = responses[0]; - * - * // The metadata value of the completed operation. * const metadata = responses[1]; - * - * // The response of the api call returning the complete operation. * const finalApiResponse = responses[2]; * }) * .catch(err => { @@ -327,8 +321,7 @@ class ImageAnnotatorClient { * // Handle the operation using the event emitter pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Adding a listener for the "complete" event starts polling for the * // completion of the operation. diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 8ac392b48e3..27fdc16ccf5 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -302,20 +302,14 @@ class ImageAnnotatorClient { * // Handle the operation using the promise pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Operation#promise starts polling for the completion of the LRO. * return operation.promise(); * }) * .then(responses => { - * // The final result of the operation. * const result = responses[0]; - * - * // The metadata value of the completed operation. * const metadata = responses[1]; - * - * // The response of the api call returning the complete operation. * const finalApiResponse = responses[2]; * }) * .catch(err => { @@ -327,8 +321,7 @@ class ImageAnnotatorClient { * // Handle the operation using the event emitter pattern. * client.asyncBatchAnnotateFiles({requests: requests}) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Adding a listener for the "complete" event starts polling for the * // completion of the operation. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 25c4e241195..f260a61b4e0 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -410,7 +410,7 @@ class ProductSearchClient { * client.listProductSets({parent: formattedParent}) * .then(responses => { * const resources = responses[0]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]) * } * }) @@ -430,7 +430,7 @@ class ProductSearchClient { * const nextRequest = responses[1]; * // The actual response object, if necessary. * // const rawResponse = responses[2]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]); * } * if (nextRequest) { @@ -808,7 +808,7 @@ class ProductSearchClient { * client.listProducts({parent: formattedParent}) * .then(responses => { * const resources = responses[0]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]) * } * }) @@ -828,7 +828,7 @@ class ProductSearchClient { * const nextRequest = responses[1]; * // The actual response object, if necessary. * // const rawResponse = responses[2]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]); * } * if (nextRequest) { @@ -1282,7 +1282,7 @@ class ProductSearchClient { * client.listReferenceImages({parent: formattedParent}) * .then(responses => { * const resources = responses[0]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]) * } * }) @@ -1302,7 +1302,7 @@ class ProductSearchClient { * const nextRequest = responses[1]; * // The actual response object, if necessary. * // const rawResponse = responses[2]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]); * } * if (nextRequest) { @@ -1618,7 +1618,7 @@ class ProductSearchClient { * client.listProductsInProductSet({name: formattedName}) * .then(responses => { * const resources = responses[0]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]) * } * }) @@ -1638,7 +1638,7 @@ class ProductSearchClient { * const nextRequest = responses[1]; * // The actual response object, if necessary. * // const rawResponse = responses[2]; - * for (let i = 0; i < resources.length; i += 1) { + * for (const resource of resources) { * // doThingsWith(resources[i]); * } * if (nextRequest) { @@ -1776,20 +1776,14 @@ class ProductSearchClient { * // Handle the operation using the promise pattern. * client.importProductSets(request) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Operation#promise starts polling for the completion of the LRO. * return operation.promise(); * }) * .then(responses => { - * // The final result of the operation. * const result = responses[0]; - * - * // The metadata value of the completed operation. * const metadata = responses[1]; - * - * // The response of the api call returning the complete operation. * const finalApiResponse = responses[2]; * }) * .catch(err => { @@ -1806,8 +1800,7 @@ class ProductSearchClient { * // Handle the operation using the event emitter pattern. * client.importProductSets(request) * .then(responses => { - * const operation = responses[0]; - * const initialApiResponse = responses[1]; + * const [operation, initialApiResponse] = responses; * * // Adding a listener for the "complete" event starts polling for the * // completion of the operation. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 2ac04e59c1f..cd926baa72b 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-01-17T12:47:29.238091Z", + "updateTime": "2019-02-02T12:27:39.142556Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.6", - "dockerImage": "googleapis/artman@sha256:12722f2ca3fbc3b53cc6aa5f0e569d7d221b46bd876a2136497089dec5e3634e" + "version": "0.16.8", + "dockerImage": "googleapis/artman@sha256:75bc07ef34a1de9895c18af54dc503ed3b3f3b52e85062e3360a979d2a0741e7" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "0ac60e21a1aa86c07c1836865b35308ba8178b05", - "internalRef": "229626798" + "sha": "bce093dab3e65c40eb9a37efbdc960f34df6037a", + "internalRef": "231974277" } }, { From ffe9b30caeb8821a9f7bd5f6c592455e7fcf22db Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Tue, 5 Feb 2019 08:22:32 -0800 Subject: [PATCH 256/588] docs: fix example comments (#317) --- .../src/v1/product_search_client.js | 16 ++++++++-------- .../src/v1p3beta1/product_search_client.js | 16 ++++++++-------- packages/google-cloud-vision/synth.metadata | 10 +++++----- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index cfd3c2527ba..d44af7e4eb7 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -412,7 +412,7 @@ class ProductSearchClient { * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { - * // doThingsWith(resources[i]) + * // doThingsWith(resource) * } * }) * .catch(err => { @@ -432,7 +432,7 @@ class ProductSearchClient { * // The actual response object, if necessary. * // const rawResponse = responses[2]; * for (const resource of resources) { - * // doThingsWith(resources[i]); + * // doThingsWith(resource); * } * if (nextRequest) { * // Fetch the next page. @@ -746,7 +746,7 @@ class ProductSearchClient { * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { - * // doThingsWith(resources[i]) + * // doThingsWith(resource) * } * }) * .catch(err => { @@ -766,7 +766,7 @@ class ProductSearchClient { * // The actual response object, if necessary. * // const rawResponse = responses[2]; * for (const resource of resources) { - * // doThingsWith(resources[i]); + * // doThingsWith(resource); * } * if (nextRequest) { * // Fetch the next page. @@ -1160,7 +1160,7 @@ class ProductSearchClient { * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { - * // doThingsWith(resources[i]) + * // doThingsWith(resource) * } * }) * .catch(err => { @@ -1180,7 +1180,7 @@ class ProductSearchClient { * // The actual response object, if necessary. * // const rawResponse = responses[2]; * for (const resource of resources) { - * // doThingsWith(resources[i]); + * // doThingsWith(resource); * } * if (nextRequest) { * // Fetch the next page. @@ -1604,7 +1604,7 @@ class ProductSearchClient { * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { - * // doThingsWith(resources[i]) + * // doThingsWith(resource) * } * }) * .catch(err => { @@ -1624,7 +1624,7 @@ class ProductSearchClient { * // The actual response object, if necessary. * // const rawResponse = responses[2]; * for (const resource of resources) { - * // doThingsWith(resources[i]); + * // doThingsWith(resource); * } * if (nextRequest) { * // Fetch the next page. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index f260a61b4e0..ff319a07c93 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -411,7 +411,7 @@ class ProductSearchClient { * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { - * // doThingsWith(resources[i]) + * // doThingsWith(resource) * } * }) * .catch(err => { @@ -431,7 +431,7 @@ class ProductSearchClient { * // The actual response object, if necessary. * // const rawResponse = responses[2]; * for (const resource of resources) { - * // doThingsWith(resources[i]); + * // doThingsWith(resource); * } * if (nextRequest) { * // Fetch the next page. @@ -809,7 +809,7 @@ class ProductSearchClient { * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { - * // doThingsWith(resources[i]) + * // doThingsWith(resource) * } * }) * .catch(err => { @@ -829,7 +829,7 @@ class ProductSearchClient { * // The actual response object, if necessary. * // const rawResponse = responses[2]; * for (const resource of resources) { - * // doThingsWith(resources[i]); + * // doThingsWith(resource); * } * if (nextRequest) { * // Fetch the next page. @@ -1283,7 +1283,7 @@ class ProductSearchClient { * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { - * // doThingsWith(resources[i]) + * // doThingsWith(resource) * } * }) * .catch(err => { @@ -1303,7 +1303,7 @@ class ProductSearchClient { * // The actual response object, if necessary. * // const rawResponse = responses[2]; * for (const resource of resources) { - * // doThingsWith(resources[i]); + * // doThingsWith(resource); * } * if (nextRequest) { * // Fetch the next page. @@ -1619,7 +1619,7 @@ class ProductSearchClient { * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { - * // doThingsWith(resources[i]) + * // doThingsWith(resource) * } * }) * .catch(err => { @@ -1639,7 +1639,7 @@ class ProductSearchClient { * // The actual response object, if necessary. * // const rawResponse = responses[2]; * for (const resource of resources) { - * // doThingsWith(resources[i]); + * // doThingsWith(resource); * } * if (nextRequest) { * // Fetch the next page. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index cd926baa72b..5c67c92c958 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-02-02T12:27:39.142556Z", + "updateTime": "2019-02-05T12:22:47.592968Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.8", - "dockerImage": "googleapis/artman@sha256:75bc07ef34a1de9895c18af54dc503ed3b3f3b52e85062e3360a979d2a0741e7" + "version": "0.16.9", + "dockerImage": "googleapis/artman@sha256:80c39fa84e7203c8f355e01bdeef82155013cc39dcaa48fba7a6fe2c253623e3" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "bce093dab3e65c40eb9a37efbdc960f34df6037a", - "internalRef": "231974277" + "sha": "f26c727dde5051abefc5ad9e7dee82a2686ad2b0", + "internalRef": "232306662" } }, { From 5b8a144d5f0cfc7ce618e426c85e565411e295ca Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 7 Feb 2019 15:45:51 -0800 Subject: [PATCH 257/588] chore: move CONTRIBUTING.md to root (#320) --- packages/google-cloud-vision/CONTRIBUTING.md | 57 ++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 packages/google-cloud-vision/CONTRIBUTING.md diff --git a/packages/google-cloud-vision/CONTRIBUTING.md b/packages/google-cloud-vision/CONTRIBUTING.md new file mode 100644 index 00000000000..b958f235007 --- /dev/null +++ b/packages/google-cloud-vision/CONTRIBUTING.md @@ -0,0 +1,57 @@ +# 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. Submit a pull request. + +## Running the tests + +1. [Prepare your environment for Node.js setup][setup]. + +1. Install dependencies: + + npm install + +1. Run the tests: + + npm test + +1. Lint (and maybe fix) any changes: + + npm run fix + +[setup]: https://cloud.google.com/nodejs/docs/setup From 4faf25c275711a6bfa240143443324bb90957698 Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Thu, 7 Feb 2019 18:49:09 -0800 Subject: [PATCH 258/588] docs: update contributing path in README (#321) --- packages/google-cloud-vision/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 40ee4d51522..16aea39d03d 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -112,7 +112,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-vision/blob/master/.github/CONTRIBUTING.md). +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-vision/blob/master/CONTRIBUTING.md). ## License From 5c64a45eca8553830f815a04dd25efcfa9865cb6 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sun, 10 Feb 2019 20:54:51 -0800 Subject: [PATCH 259/588] build: create docs test npm scripts (#324) --- packages/google-cloud-vision/package.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 90451a2bed1..0491234097b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -37,7 +37,9 @@ "system-test": "mocha system-test/*.js smoke-test/*.js --timeout 600000", "test-no-cover": "mocha test/*.js", "test": "npm run cover", - "fix": "eslint --fix '**/*.js'" + "fix": "eslint --fix '**/*.js'", + "docs-test": "blcl docs -r --exclude www.googleapis.com", + "predocs-test": "npm run docs" }, "dependencies": { "@google-cloud/promisify": "^0.3.0", @@ -62,6 +64,7 @@ "power-assert": "^1.6.0", "prettier": "^1.13.6", "sinon": "^7.0.0", - "uuid": "^3.3.0" + "uuid": "^3.3.0", + "broken-link-checker-local": "^0.2.0" } } From df25d3b650f6caff4ce028462139edd61d39707f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 12 Feb 2019 12:14:29 -0500 Subject: [PATCH 260/588] fix(deps): update dependency yargs to v13 (#325) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index b548f06ed9d..22aa5ab1ab1 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -18,7 +18,7 @@ "mathjs": "^5.0.4", "natural": "^0.6.1", "redis": "^2.8.0", - "yargs": "^12.0.0", + "yargs": "^13.0.0", "canvas": "^2.0.0" }, "devDependencies": { From 0ff1a446981a759ce2310960a74d05b18765f645 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 14 Feb 2019 08:22:51 -0800 Subject: [PATCH 261/588] fix(deps): update dependency @google-cloud/promisify to ^0.4.0 (#328) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 0491234097b..6c14d4923f3 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -42,7 +42,7 @@ "predocs-test": "npm run docs" }, "dependencies": { - "@google-cloud/promisify": "^0.3.0", + "@google-cloud/promisify": "^0.4.0", "google-gax": "^0.25.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", From f7bfbc05ba0e621b2a70a6558da9c7f76abaaeb9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Thu, 14 Feb 2019 08:23:27 -0800 Subject: [PATCH 262/588] fix: throw on invalid credentials (#326) --- .../src/v1/image_annotator_client.js | 4 ++++ .../src/v1/product_search_client.js | 4 ++++ .../src/v1p1beta1/image_annotator_client.js | 4 ++++ .../src/v1p2beta1/image_annotator_client.js | 4 ++++ .../src/v1p3beta1/image_annotator_client.js | 4 ++++ .../src/v1p3beta1/product_search_client.js | 4 ++++ packages/google-cloud-vision/synth.metadata | 10 +++++----- 7 files changed, 29 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 7147be4e4dc..00c2c3ee1b5 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -170,6 +170,10 @@ class ImageAnnotatorClient { function() { const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; } ), defaults[methodName], diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index d44af7e4eb7..c1426c98804 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -237,6 +237,10 @@ class ProductSearchClient { function() { const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; } ), defaults[methodName], diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index e074712105a..a61c210443a 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -128,6 +128,10 @@ class ImageAnnotatorClient { function() { const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; } ), defaults[methodName], diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 2487c0568e7..3faf8e0eb7a 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -170,6 +170,10 @@ class ImageAnnotatorClient { function() { const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; } ), defaults[methodName], diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 27fdc16ccf5..12d529e0d0e 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -170,6 +170,10 @@ class ImageAnnotatorClient { function() { const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; } ), defaults[methodName], diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index ff319a07c93..bfe0e87beb1 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -237,6 +237,10 @@ class ProductSearchClient { function() { const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; } ), defaults[methodName], diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 5c67c92c958..d60def5e47f 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-02-05T12:22:47.592968Z", + "updateTime": "2019-02-13T12:30:53.767861Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.9", - "dockerImage": "googleapis/artman@sha256:80c39fa84e7203c8f355e01bdeef82155013cc39dcaa48fba7a6fe2c253623e3" + "version": "0.16.13", + "dockerImage": "googleapis/artman@sha256:5fd9aee1d82a00cebf425c8fa431f5457539562f5867ad9c54370f0ec9a7ccaa" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "f26c727dde5051abefc5ad9e7dee82a2686ad2b0", - "internalRef": "232306662" + "sha": "ca61898878f0926dd9dcc68ba90764f17133efe4", + "internalRef": "233680013" } }, { From 023fe5d40cec6f75daef3fd0d0d3c9802ac6941e Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 14 Feb 2019 08:51:29 -0800 Subject: [PATCH 263/588] docs: update links in contrib guide (#329) --- packages/google-cloud-vision/CONTRIBUTING.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/CONTRIBUTING.md b/packages/google-cloud-vision/CONTRIBUTING.md index b958f235007..78aaa61b269 100644 --- a/packages/google-cloud-vision/CONTRIBUTING.md +++ b/packages/google-cloud-vision/CONTRIBUTING.md @@ -16,11 +16,9 @@ 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). + 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). + 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 From 0ec8fe0ffdeda6f71abd7be3c1d679e9aeb912b1 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 14 Feb 2019 13:17:14 -0800 Subject: [PATCH 264/588] build: use linkinator for docs test (#327) --- packages/google-cloud-vision/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6c14d4923f3..6c7152cf7c6 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -38,7 +38,7 @@ "test-no-cover": "mocha test/*.js", "test": "npm run cover", "fix": "eslint --fix '**/*.js'", - "docs-test": "blcl docs -r --exclude www.googleapis.com", + "docs-test": "linkinator docs -r --skip www.googleapis.com", "predocs-test": "npm run docs" }, "dependencies": { @@ -65,6 +65,6 @@ "prettier": "^1.13.6", "sinon": "^7.0.0", "uuid": "^3.3.0", - "broken-link-checker-local": "^0.2.0" + "linkinator": "^1.1.2" } } From 99110169d4bd3cb926a6ad76f9ab4baf750db15e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 19 Feb 2019 15:41:26 -0500 Subject: [PATCH 265/588] chore(deps): update dependency mocha to v6 (#330) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6c7152cf7c6..9ea316f3d3a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -59,7 +59,7 @@ "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", - "mocha": "^5.2.0", + "mocha": "^6.0.0", "nyc": "^13.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.6", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 22aa5ab1ab1..4764cfe4c99 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -25,7 +25,7 @@ "@google-cloud/storage": "^2.0.0", "chai": "^4.2.0", "execa": "^1.0.0", - "mocha": "^5.0.0", + "mocha": "^6.0.0", "uuid": "^3.2.1" } } From 648a20d6dabacad216caa39722b30820ee494bda Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 21 Feb 2019 14:59:22 -0800 Subject: [PATCH 266/588] feat: gen v1p4beta1: online PDF, async batch image annotate (#331) --- .../cloud/vision/v1p4beta1/geometry.proto | 72 + .../vision/v1p4beta1/image_annotator.proto | 902 ++++++++ .../vision/v1p4beta1/product_search.proto | 97 + .../v1p4beta1/product_search_service.proto | 835 +++++++ .../vision/v1p4beta1/text_annotation.proto | 261 +++ .../vision/v1p4beta1/web_detection.proto | 108 + packages/google-cloud-vision/src/index.js | 11 + .../cloud/vision/v1p4beta1/doc_geometry.js | 96 + .../vision/v1p4beta1/doc_image_annotator.js | 1431 ++++++++++++ .../vision/v1p4beta1/doc_product_search.js | 128 + .../v1p4beta1/doc_product_search_service.js | 834 +++++++ .../vision/v1p4beta1/doc_text_annotation.js | 392 ++++ .../vision/v1p4beta1/doc_web_detection.js | 152 ++ .../doc/google/longrunning/doc_operations.js | 63 + .../v1p4beta1/doc/google/protobuf/doc_any.js | 136 ++ .../doc/google/protobuf/doc_empty.js | 34 + .../doc/google/protobuf/doc_field_mask.js | 236 ++ .../doc/google/protobuf/doc_timestamp.js | 113 + .../doc/google/protobuf/doc_wrappers.js | 32 + .../v1p4beta1/doc/google/rpc/doc_status.js | 92 + .../v1p4beta1/doc/google/type/doc_color.js | 164 ++ .../v1p4beta1/doc/google/type/doc_latlng.js | 71 + .../src/v1p4beta1/image_annotator_client.js | 544 +++++ .../image_annotator_client_config.json | 46 + .../src/v1p4beta1/index.js | 21 + .../src/v1p4beta1/product_search_client.js | 2050 +++++++++++++++++ .../product_search_client_config.json | 116 + packages/google-cloud-vision/synth.py | 2 +- .../test/gapic-v1p4beta1.js | 1604 +++++++++++++ 29 files changed, 10642 insertions(+), 1 deletion(-) create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json create mode 100644 packages/google-cloud-vision/src/v1p4beta1/index.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/product_search_client.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json create mode 100644 packages/google-cloud-vision/test/gapic-v1p4beta1.js diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto new file mode 100644 index 00000000000..60b71fd1ac6 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto @@ -0,0 +1,72 @@ +// Copyright 2018 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.cloud.vision.v1p4beta1; + +import "google/api/annotations.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "GeometryProto"; +option java_package = "com.google.cloud.vision.v1p4beta1"; +option objc_class_prefix = "GCVN"; + + +// A vertex represents a 2D point in the image. +// NOTE: the vertex coordinates are in the same scale as the original image. +message Vertex { + // X coordinate. + int32 x = 1; + + // Y coordinate. + int32 y = 2; +} + +// A vertex represents a 2D point in the image. +// NOTE: the normalized vertex coordinates are relative to the original image +// and range from 0 to 1. +message NormalizedVertex { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; +} + +// A bounding polygon for the detected image annotation. +message BoundingPoly { + // The bounding polygon vertices. + repeated Vertex vertices = 1; + + // The bounding polygon normalized vertices. + repeated NormalizedVertex normalized_vertices = 2; +} + +// A 3D position in the image, used primarily for Face detection landmarks. +// A valid Position must have both x and y coordinates. +// The position coordinates are in the same scale as the original image. +message Position { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; + + // Z coordinate (or depth). + float z = 3; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto new file mode 100644 index 00000000000..3e4e8b614f9 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -0,0 +1,902 @@ +// Copyright 2018 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.cloud.vision.v1p4beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p4beta1/geometry.proto"; +import "google/cloud/vision/v1p4beta1/product_search.proto"; +import "google/cloud/vision/v1p4beta1/text_annotation.proto"; +import "google/cloud/vision/v1p4beta1/web_detection.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; +import "google/type/color.proto"; +import "google/type/latlng.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ImageAnnotatorProto"; +option java_package = "com.google.cloud.vision.v1p4beta1"; +option objc_class_prefix = "GCVN"; + + +// Service that performs Google Cloud Vision API detection tasks over client +// images, such as face, landmark, logo, label, and text detection. The +// ImageAnnotator service returns detected entities from the images. +service ImageAnnotator { + // Run image detection and annotation for a batch of images. + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { + option (google.api.http) = { + post: "/v1p4beta1/images:annotate" + body: "*" + }; + } + + // Service that performs image detection and annotation for a batch of files. + // Now only "application/pdf", "image/tiff" and "image/gif" are supported. + // + // This service will extract at most the first 10 frames (gif) or pages + // (pdf or tiff) from each file provided and perform detection and annotation + // for each image extracted. + rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) returns (BatchAnnotateFilesResponse) { + option (google.api.http) = { + post: "/v1p4beta1/files:annotate" + body: "*" + }; + } + + // Run asynchronous image detection and annotation for a list of images. + // + // Progress and results can be retrieved through the + // `google.longrunning.Operations` interface. + // `Operation.metadata` contains `OperationMetadata` (metadata). + // `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). + // + // This service will write image annotation outputs to json files in customer + // GCS bucket, each json file containing BatchAnnotateImagesResponse proto. + rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p4beta1/images:asyncBatchAnnotate" + body: "*" + }; + } + + // Run asynchronous image detection and annotation for a list of generic + // files, such as PDF files, which may contain multiple pages and multiple + // images per page. Progress and results can be retrieved through the + // `google.longrunning.Operations` interface. + // `Operation.metadata` contains `OperationMetadata` (metadata). + // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p4beta1/files:asyncBatchAnnotate" + body: "*" + }; + } +} + +// The type of Google Cloud Vision API detection to perform, and the maximum +// number of results to return for that type. Multiple `Feature` objects can +// be specified in the `features` list. +message Feature { + // Type of Google Cloud Vision API feature to be extracted. + enum Type { + // Unspecified feature type. + TYPE_UNSPECIFIED = 0; + + // Run face detection. + FACE_DETECTION = 1; + + // Run landmark detection. + LANDMARK_DETECTION = 2; + + // Run logo detection. + LOGO_DETECTION = 3; + + // Run label detection. + LABEL_DETECTION = 4; + + // Run text detection / optical character recognition (OCR). Text detection + // is optimized for areas of text within a larger image; if the image is + // a document, use `DOCUMENT_TEXT_DETECTION` instead. + TEXT_DETECTION = 5; + + // Run dense text document OCR. Takes precedence when both + // `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. + DOCUMENT_TEXT_DETECTION = 11; + + // Run Safe Search to detect potentially unsafe + // or undesirable content. + SAFE_SEARCH_DETECTION = 6; + + // Compute a set of image properties, such as the + // image's dominant colors. + IMAGE_PROPERTIES = 7; + + // Run crop hints. + CROP_HINTS = 9; + + // Run web detection. + WEB_DETECTION = 10; + + // Run Product Search. + PRODUCT_SEARCH = 12; + + // Run localizer for object detection. + OBJECT_LOCALIZATION = 19; + } + + // The feature type. + Type type = 1; + + // Maximum number of results of this type. Does not apply to + // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + int32 max_results = 2; + + // Model to use for the feature. + // Supported values: "builtin/stable" (the default if unset) and + // "builtin/latest". + string model = 3; +} + +// External image source (Google Cloud Storage or web URL image location). +message ImageSource { + // **Use `image_uri` instead.** + // + // The Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. See + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. + string gcs_image_uri = 1; + + // The URI of the source image. Can be either: + // + // 1. A Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. See + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris) for more + // info. + // + // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from + // HTTP/HTTPS URLs, Google cannot guarantee that the request will be + // completed. Your request may fail if the specified host denies the + // request (e.g. due to request throttling or DOS prevention), or if Google + // throttles requests to the site for abuse prevention. You should not + // depend on externally-hosted images for production applications. + // + // When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + // precedence. + string image_uri = 2; +} + +// Client image to perform Google Cloud Vision API tasks over. +message Image { + // Image content, represented as a stream of bytes. + // Note: As with all `bytes` fields, protobuffers use a pure binary + // representation, whereas JSON representations use base64. + bytes content = 1; + + // Google Cloud Storage image location, or publicly-accessible image + // URL. If both `content` and `source` are provided for an image, `content` + // takes precedence and is used to perform the image annotation request. + ImageSource source = 2; +} + +// A bucketized representation of likelihood, which is intended to give clients +// highly stable results across model upgrades. +enum Likelihood { + // Unknown likelihood. + UNKNOWN = 0; + + // It is very unlikely that the image belongs to the specified vertical. + VERY_UNLIKELY = 1; + + // It is unlikely that the image belongs to the specified vertical. + UNLIKELY = 2; + + // It is possible that the image belongs to the specified vertical. + POSSIBLE = 3; + + // It is likely that the image belongs to the specified vertical. + LIKELY = 4; + + // It is very likely that the image belongs to the specified vertical. + VERY_LIKELY = 5; +} + +// A face annotation object contains the results of face detection. +message FaceAnnotation { + // A face-specific landmark (for example, a face feature). + message Landmark { + // Face landmark (feature) type. + // Left and right are defined from the vantage of the viewer of the image + // without considering mirror projections typical of photos. So, `LEFT_EYE`, + // typically, is the person's right eye. + enum Type { + // Unknown face landmark detected. Should not be filled. + UNKNOWN_LANDMARK = 0; + + // Left eye. + LEFT_EYE = 1; + + // Right eye. + RIGHT_EYE = 2; + + // Left of left eyebrow. + LEFT_OF_LEFT_EYEBROW = 3; + + // Right of left eyebrow. + RIGHT_OF_LEFT_EYEBROW = 4; + + // Left of right eyebrow. + LEFT_OF_RIGHT_EYEBROW = 5; + + // Right of right eyebrow. + RIGHT_OF_RIGHT_EYEBROW = 6; + + // Midpoint between eyes. + MIDPOINT_BETWEEN_EYES = 7; + + // Nose tip. + NOSE_TIP = 8; + + // Upper lip. + UPPER_LIP = 9; + + // Lower lip. + LOWER_LIP = 10; + + // Mouth left. + MOUTH_LEFT = 11; + + // Mouth right. + MOUTH_RIGHT = 12; + + // Mouth center. + MOUTH_CENTER = 13; + + // Nose, bottom right. + NOSE_BOTTOM_RIGHT = 14; + + // Nose, bottom left. + NOSE_BOTTOM_LEFT = 15; + + // Nose, bottom center. + NOSE_BOTTOM_CENTER = 16; + + // Left eye, top boundary. + LEFT_EYE_TOP_BOUNDARY = 17; + + // Left eye, right corner. + LEFT_EYE_RIGHT_CORNER = 18; + + // Left eye, bottom boundary. + LEFT_EYE_BOTTOM_BOUNDARY = 19; + + // Left eye, left corner. + LEFT_EYE_LEFT_CORNER = 20; + + // Right eye, top boundary. + RIGHT_EYE_TOP_BOUNDARY = 21; + + // Right eye, right corner. + RIGHT_EYE_RIGHT_CORNER = 22; + + // Right eye, bottom boundary. + RIGHT_EYE_BOTTOM_BOUNDARY = 23; + + // Right eye, left corner. + RIGHT_EYE_LEFT_CORNER = 24; + + // Left eyebrow, upper midpoint. + LEFT_EYEBROW_UPPER_MIDPOINT = 25; + + // Right eyebrow, upper midpoint. + RIGHT_EYEBROW_UPPER_MIDPOINT = 26; + + // Left ear tragion. + LEFT_EAR_TRAGION = 27; + + // Right ear tragion. + RIGHT_EAR_TRAGION = 28; + + // Left eye pupil. + LEFT_EYE_PUPIL = 29; + + // Right eye pupil. + RIGHT_EYE_PUPIL = 30; + + // Forehead glabella. + FOREHEAD_GLABELLA = 31; + + // Chin gnathion. + CHIN_GNATHION = 32; + + // Chin left gonion. + CHIN_LEFT_GONION = 33; + + // Chin right gonion. + CHIN_RIGHT_GONION = 34; + } + + // Face landmark type. + Type type = 3; + + // Face landmark position. + Position position = 4; + } + + // The bounding polygon around the face. The coordinates of the bounding box + // are in the original image's scale. + // The bounding box is computed to "frame" the face in accordance with human + // expectations. It is based on the landmarker results. + // Note that one or more x and/or y coordinates may not be generated in the + // `BoundingPoly` (the polygon will be unbounded) if only a partial face + // appears in the image to be annotated. + BoundingPoly bounding_poly = 1; + + // The `fd_bounding_poly` bounding polygon is tighter than the + // `boundingPoly`, and encloses only the skin part of the face. Typically, it + // is used to eliminate the face from any image analysis that detects the + // "amount of skin" visible in an image. It is not based on the + // landmarker results, only on the initial face detection, hence + // the fd (face detection) prefix. + BoundingPoly fd_bounding_poly = 2; + + // Detected face landmarks. + repeated Landmark landmarks = 3; + + // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + // of the face relative to the image vertical about the axis perpendicular to + // the face. Range [-180,180]. + float roll_angle = 4; + + // Yaw angle, which indicates the leftward/rightward angle that the face is + // pointing relative to the vertical plane perpendicular to the image. Range + // [-180,180]. + float pan_angle = 5; + + // Pitch angle, which indicates the upwards/downwards angle that the face is + // pointing relative to the image's horizontal plane. Range [-180,180]. + float tilt_angle = 6; + + // Detection confidence. Range [0, 1]. + float detection_confidence = 7; + + // Face landmarking confidence. Range [0, 1]. + float landmarking_confidence = 8; + + // Joy likelihood. + Likelihood joy_likelihood = 9; + + // Sorrow likelihood. + Likelihood sorrow_likelihood = 10; + + // Anger likelihood. + Likelihood anger_likelihood = 11; + + // Surprise likelihood. + Likelihood surprise_likelihood = 12; + + // Under-exposed likelihood. + Likelihood under_exposed_likelihood = 13; + + // Blurred likelihood. + Likelihood blurred_likelihood = 14; + + // Headwear likelihood. + Likelihood headwear_likelihood = 15; +} + +// Detected entity location information. +message LocationInfo { + // lat/long location coordinates. + google.type.LatLng lat_lng = 1; +} + +// A `Property` consists of a user-supplied name/value pair. +message Property { + // Name of the property. + string name = 1; + + // Value of the property. + string value = 2; + + // Value of numeric properties. + uint64 uint64_value = 3; +} + +// Set of detected entity features. +message EntityAnnotation { + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). + string mid = 1; + + // The language code for the locale in which the entity textual + // `description` is expressed. + string locale = 2; + + // Entity textual description, expressed in its `locale` language. + string description = 3; + + // Overall score of the result. Range [0, 1]. + float score = 4; + + // **Deprecated. Use `score` instead.** + // The accuracy of the entity detection in an image. + // For example, for an image in which the "Eiffel Tower" entity is detected, + // this field represents the confidence that there is a tower in the query + // image. Range [0, 1]. + float confidence = 5 [deprecated = true]; + + // The relevancy of the ICA (Image Content Annotation) label to the + // image. For example, the relevancy of "tower" is likely higher to an image + // containing the detected "Eiffel Tower" than to an image containing a + // detected distant towering building, even though the confidence that + // there is a tower in each image may be the same. Range [0, 1]. + float topicality = 6; + + // Image region to which this entity belongs. Not produced + // for `LABEL_DETECTION` features. + BoundingPoly bounding_poly = 7; + + // The location information for the detected entity. Multiple + // `LocationInfo` elements can be present because one location may + // indicate the location of the scene in the image, and another location + // may indicate the location of the place where the image was taken. + // Location information is usually present for landmarks. + repeated LocationInfo locations = 8; + + // Some entities may have optional user-supplied `Property` (name/value) + // fields, such a score or string that qualifies the entity. + repeated Property properties = 9; +} + +// Set of detected objects with bounding boxes. +message LocalizedObjectAnnotation { + // Object ID that should align with EntityAnnotation mid. + string mid = 1; + + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + + // Object name, expressed in its `language_code` language. + string name = 3; + + // Score of the result. Range [0, 1]. + float score = 4; + + // Image region to which this object belongs. This must be populated. + BoundingPoly bounding_poly = 5; +} + +// Set of features pertaining to the image, computed by computer vision +// methods over safe-search verticals (for example, adult, spoof, medical, +// violence). +message SafeSearchAnnotation { + // Represents the adult content likelihood for the image. Adult content may + // contain elements such as nudity, pornographic images or cartoons, or + // sexual activities. + Likelihood adult = 1; + + // Spoof likelihood. The likelihood that an modification + // was made to the image's canonical version to make it appear + // funny or offensive. + Likelihood spoof = 2; + + // Likelihood that this is a medical image. + Likelihood medical = 3; + + // Likelihood that this image contains violent content. + Likelihood violence = 4; + + // Likelihood that the request image contains racy content. Racy content may + // include (but is not limited to) skimpy or sheer clothing, strategically + // covered nudity, lewd or provocative poses, or close-ups of sensitive + // body areas. + Likelihood racy = 9; +} + +// Rectangle determined by min and max `LatLng` pairs. +message LatLongRect { + // Min lat/long pair. + google.type.LatLng min_lat_lng = 1; + + // Max lat/long pair. + google.type.LatLng max_lat_lng = 2; +} + +// Color information consists of RGB channels, score, and the fraction of +// the image that the color occupies in the image. +message ColorInfo { + // RGB components of the color. + google.type.Color color = 1; + + // Image-specific score for this color. Value in range [0, 1]. + float score = 2; + + // The fraction of pixels the color occupies in the image. + // Value in range [0, 1]. + float pixel_fraction = 3; +} + +// Set of dominant colors and their corresponding scores. +message DominantColorsAnnotation { + // RGB color values with their score and pixel fraction. + repeated ColorInfo colors = 1; +} + +// Stores image properties, such as dominant colors. +message ImageProperties { + // If present, dominant colors completed successfully. + DominantColorsAnnotation dominant_colors = 1; +} + +// Single crop hint that is used to generate a new crop when serving an image. +message CropHint { + // The bounding polygon for the crop region. The coordinates of the bounding + // box are in the original image's scale. + BoundingPoly bounding_poly = 1; + + // Confidence of this being a salient region. Range [0, 1]. + float confidence = 2; + + // Fraction of importance of this salient region with respect to the original + // image. + float importance_fraction = 3; +} + +// Set of crop hints that are used to generate new crops when serving images. +message CropHintsAnnotation { + // Crop hint results. + repeated CropHint crop_hints = 1; +} + +// Parameters for crop hints annotation request. +message CropHintsParams { + // Aspect ratios in floats, representing the ratio of the width to the height + // of the image. For example, if the desired aspect ratio is 4/3, the + // corresponding float value should be 1.33333. If not specified, the + // best possible crop is returned. The number of provided aspect ratios is + // limited to a maximum of 16; any aspect ratios provided after the 16th are + // ignored. + repeated float aspect_ratios = 1; +} + +// Parameters for web detection request. +message WebDetectionParams { + // Whether to include results derived from the geo information in the image. + bool include_geo_results = 2; +} + +// Image context and/or feature-specific parameters. +message ImageContext { + // Not used. + LatLongRect lat_long_rect = 1; + + // List of languages to use for TEXT_DETECTION. In most cases, an empty value + // yields the best results since it enables automatic language detection. For + // languages based on the Latin alphabet, setting `language_hints` is not + // needed. In rare cases, when the language of the text in the image is known, + // setting a hint will help get better results (although it will be a + // significant hindrance if the hint is wrong). Text detection returns an + // error if one or more of the specified languages is not one of the + // [supported languages](/vision/docs/languages). + repeated string language_hints = 2; + + // Parameters for crop hints annotation request. + CropHintsParams crop_hints_params = 4; + + // Parameters for product search. + ProductSearchParams product_search_params = 5; + + // Parameters for web detection. + WebDetectionParams web_detection_params = 6; +} + +// Request for performing Google Cloud Vision API tasks over a user-provided +// image, with user-requested features, and with context information. +message AnnotateImageRequest { + // The image to be processed. + Image image = 1; + + // Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image. + ImageContext image_context = 3; +} + +// If an image was produced from a file (e.g. a PDF), this message gives +// information about the source of that image. +message ImageAnnotationContext { + // The URI of the file used to produce the image. + string uri = 1; + + // If the file was a PDF or TIFF, this field gives the page number within + // the file used to produce the image. + int32 page_number = 2; +} + +// Response to an image annotation request. +message AnnotateImageResponse { + // If present, face detection has completed successfully. + repeated FaceAnnotation face_annotations = 1; + + // If present, landmark detection has completed successfully. + repeated EntityAnnotation landmark_annotations = 2; + + // If present, logo detection has completed successfully. + repeated EntityAnnotation logo_annotations = 3; + + // If present, label detection has completed successfully. + repeated EntityAnnotation label_annotations = 4; + + // If present, localized object detection has completed successfully. + // This will be sorted descending by confidence score. + repeated LocalizedObjectAnnotation localized_object_annotations = 22; + + // If present, text (OCR) detection has completed successfully. + repeated EntityAnnotation text_annotations = 5; + + // If present, text (OCR) detection or document (OCR) text detection has + // completed successfully. + // This annotation provides the structural hierarchy for the OCR detected + // text. + TextAnnotation full_text_annotation = 12; + + // If present, safe-search annotation has completed successfully. + SafeSearchAnnotation safe_search_annotation = 6; + + // If present, image properties were extracted successfully. + ImageProperties image_properties_annotation = 8; + + // If present, crop hints have completed successfully. + CropHintsAnnotation crop_hints_annotation = 11; + + // If present, web detection has completed successfully. + WebDetection web_detection = 13; + + // If present, product search has completed successfully. + ProductSearchResults product_search_results = 14; + + // If set, represents the error message for the operation. + // Note that filled-in image annotations are guaranteed to be + // correct, even when `error` is set. + google.rpc.Status error = 9; + + // If present, contextual information is needed to understand where this image + // comes from. + ImageAnnotationContext context = 21; +} + +// Response to a single file annotation request. A file may contain one or more +// images, which individually have their own responses. +message AnnotateFileResponse { + // Information about the file for which this response is generated. + InputConfig input_config = 1; + + // Individual responses to images found within the file. + repeated AnnotateImageResponse responses = 2; + + // This field gives the total number of pages in the file. + int32 total_pages = 3; +} + +// Multiple image annotation requests are batched into a single service call. +message BatchAnnotateImagesRequest { + // Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1; +} + +// Response to a batch image annotation request. +message BatchAnnotateImagesResponse { + // Individual responses to image annotation requests within the batch. + repeated AnnotateImageResponse responses = 1; +} + +// A request to annotate one single file, e.g. a PDF, TIFF or GIF file. +message AnnotateFileRequest { + // Required. Information about the input file. + InputConfig input_config = 1; + + // Required. Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image(s) in the file. + ImageContext image_context = 3; + + // Pages of the file to perform image annotation. + // + // Pages starts from 1, we assume the first page of the file is page 1. + // At most 5 pages are supported per request. Pages can be negative. + // + // Page 1 means the first page. + // Page 2 means the second page. + // Page -1 means the last page. + // Page -2 means the second to the last page. + // + // If the file is GIF instead of PDF or TIFF, page refers to GIF frames. + // + // If this field is empty, by default the service performs image annotation + // for the first 5 pages of the file. + repeated int32 pages = 4; +} + +// A list of requests to annotate files using the BatchAnnotateFiles API. +message BatchAnnotateFilesRequest { + // The list of file annotation requests. Right now we support only one + // AnnotateFileRequest in BatchAnnotateFilesRequest. + repeated AnnotateFileRequest requests = 1; +} + +// A list of file annotation responses. +message BatchAnnotateFilesResponse { + // The list of file annotation responses, each response corresponding to each + // AnnotateFileRequest in BatchAnnotateFilesRequest. + repeated AnnotateFileResponse responses = 1; +} + +// An offline file annotation request. +message AsyncAnnotateFileRequest { + // Required. Information about the input file. + InputConfig input_config = 1; + + // Required. Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image(s) in the file. + ImageContext image_context = 3; + + // Required. The desired output location and metadata (e.g. format). + OutputConfig output_config = 4; +} + +// The response for a single offline file annotation request. +message AsyncAnnotateFileResponse { + // The output location and metadata from AsyncAnnotateFileRequest. + OutputConfig output_config = 1; +} + +// Request for async image annotation for a list of images. +message AsyncBatchAnnotateImagesRequest { + // Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1; + + // Required. The desired output location and metadata (e.g. format). + OutputConfig output_config = 2; +} + +// Response to an async batch image annotation request. +message AsyncBatchAnnotateImagesResponse { + // The output location and metadata from AsyncBatchAnnotateImagesRequest. + OutputConfig output_config = 1; +} + +// Multiple async file annotation requests are batched into a single service +// call. +message AsyncBatchAnnotateFilesRequest { + // Individual async file annotation requests for this batch. + repeated AsyncAnnotateFileRequest requests = 1; +} + +// Response to an async batch file annotation request. +message AsyncBatchAnnotateFilesResponse { + // The list of file annotation responses, one for each request in + // AsyncBatchAnnotateFilesRequest. + repeated AsyncAnnotateFileResponse responses = 1; +} + +// The desired input location and metadata. +message InputConfig { + // The Google Cloud Storage location to read the input from. + GcsSource gcs_source = 1; + + // File content, represented as a stream of bytes. + // Note: As with all `bytes` fields, protobuffers use a pure binary + // representation, whereas JSON representations use base64. + // + // Currently, this field only works for BatchAnnotateFiles requests. It does + // not work for AsyncBatchAnnotateFiles requests. + bytes content = 3; + + // The type of the file. Currently only "application/pdf" and "image/tiff" + // are supported. Wildcards are not supported. + string mime_type = 2; +} + +// The desired output location and metadata. +message OutputConfig { + // The Google Cloud Storage location to write the output(s) to. + GcsDestination gcs_destination = 1; + + // The max number of response protos to put into each output JSON file on + // Google Cloud Storage. + // The valid range is [1, 100]. If not specified, the default value is 20. + // + // For example, for one pdf file with 100 pages, 100 response protos will + // be generated. If `batch_size` = 20, then 5 json files each + // containing 20 response protos will be written under the prefix + // `gcs_destination`.`uri`. + // + // Currently, batch_size only applies to GcsDestination, with potential future + // support for other output configurations. + int32 batch_size = 2; +} + +// The Google Cloud Storage location where the input will be read from. +message GcsSource { + // Google Cloud Storage URI for the input file. This must only be a + // Google Cloud Storage object. Wildcards are not currently supported. + string uri = 1; +} + +// The Google Cloud Storage location where the output will be written to. +message GcsDestination { + // Google Cloud Storage URI where the results will be stored. Results will + // be in JSON format and preceded by its corresponding input URI. This field + // can either represent a single file, or a prefix for multiple outputs. + // Prefixes must end in a `/`. + // + // Examples: + // + // * File: gs://bucket-name/filename.json + // * Prefix: gs://bucket-name/prefix/here/ + // * File: gs://bucket-name/prefix/here + // + // If multiple outputs, each response is still AnnotateFileResponse, each of + // which contains some subset of the full list of AnnotateImageResponse. + // Multiple outputs can happen if, for example, the output JSON is too large + // and overflows into multiple sharded files. + string uri = 1; +} + +// Contains metadata for the BatchAnnotateImages operation. +message OperationMetadata { + // Batch operation states. + enum State { + // Invalid. + STATE_UNSPECIFIED = 0; + + // Request is received. + CREATED = 1; + + // Request is actively being processed. + RUNNING = 2; + + // The batch processing is done. + DONE = 3; + + // The batch processing was cancelled. + CANCELLED = 4; + } + + // Current state of the batch operation. + State state = 1; + + // The time when the batch request was received. + google.protobuf.Timestamp create_time = 5; + + // The time when the operation result was last updated. + google.protobuf.Timestamp update_time = 6; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto new file mode 100644 index 00000000000..3ec6767b5b5 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto @@ -0,0 +1,97 @@ +// Copyright 2018 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.cloud.vision.v1p4beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p4beta1/geometry.proto"; +import "google/cloud/vision/v1p4beta1/product_search_service.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ProductSearchProto"; +option java_package = "com.google.cloud.vision.v1p4beta1"; +option objc_class_prefix = "GCVN"; + + +// Parameters for a product search request. +message ProductSearchParams { + // The bounding polygon around the area of interest in the image. + // Optional. If it is not specified, system discretion will be applied. + BoundingPoly bounding_poly = 9; + + // The resource name of a [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] to be searched for similar images. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + string product_set = 6; + + // The list of product categories to search in. Currently, we only consider + // the first category, and either "homegoods", "apparel", or "toys" should be + // specified. + repeated string product_categories = 7; + + // The filtering expression. This can be used to restrict search results based + // on Product labels. We currently support an AND of OR of key-value + // expressions, where each expression within an OR must have the same key. + // + // For example, "(color = red OR color = blue) AND brand = Google" is + // acceptable, but not "(color = red OR brand = Google)" or "color: red". + string filter = 8; +} + +// Results for a product search request. +message ProductSearchResults { + // Information about a product. + message Result { + // The Product. + Product product = 1; + + // A confidence level on the match, ranging from 0 (no confidence) to + // 1 (full confidence). + float score = 2; + + // The resource name of the image from the product that is the closest match + // to the query. + string image = 3; + } + + // Information about the products similar to a single product in a query + // image. + message GroupedResult { + // The bounding polygon around the product detected in the query image. + BoundingPoly bounding_poly = 1; + + // List of results, one for each product match. + repeated Result results = 2; + } + + // Timestamp of the index which provided these results. Changes made after + // this time are not reflected in the current results. + google.protobuf.Timestamp index_time = 2; + + // List of results, one for each product match. + repeated Result results = 5; + + // List of results grouped by products detected in the query image. Each entry + // corresponds to one bounding polygon in the query image, and contains the + // matching products specific to that region. There may be duplicate product + // matches in the union of all the per-product results. + repeated GroupedResult product_grouped_results = 6; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto new file mode 100644 index 00000000000..1a20351b63f --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto @@ -0,0 +1,835 @@ +// Copyright 2018 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.cloud.vision.v1p4beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p4beta1/geometry.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "ProductSearchServiceProto"; +option java_package = "com.google.cloud.vision.v1p4beta1"; +option objc_class_prefix = "GCVN"; + + +// Manages Products and ProductSets of reference images for use in product +// search. It uses the following resource model: +// +// - The API has a collection of [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] resources, named +// `projects/*/locations/*/productSets/*`, which acts as a way to put different +// products into groups to limit identification. +// +// In parallel, +// +// - The API has a collection of [Product][google.cloud.vision.v1p4beta1.Product] resources, named +// `projects/*/locations/*/products/*` +// +// - Each [Product][google.cloud.vision.v1p4beta1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1p4beta1.ReferenceImage] resources, named +// `projects/*/locations/*/products/*/referenceImages/*` +service ProductSearch { + // Creates and returns a new ProductSet resource. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + // 4096 characters. + rpc CreateProductSet(CreateProductSetRequest) returns (ProductSet) { + option (google.api.http) = { + post: "/v1p4beta1/{parent=projects/*/locations/*}/productSets" + body: "product_set" + }; + } + + // Lists ProductSets in an unspecified order. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + // than 1. + rpc ListProductSets(ListProductSetsRequest) returns (ListProductSetsResponse) { + option (google.api.http) = { + get: "/v1p4beta1/{parent=projects/*/locations/*}/productSets" + }; + } + + // Gets information associated with a ProductSet. + // + // Possible errors: + // + // * Returns NOT_FOUND if the ProductSet does not exist. + rpc GetProductSet(GetProductSetRequest) returns (ProductSet) { + option (google.api.http) = { + get: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + }; + } + + // Makes changes to a ProductSet resource. + // Only display_name can be updated currently. + // + // Possible errors: + // + // * Returns NOT_FOUND if the ProductSet does not exist. + // * Returns INVALID_ARGUMENT if display_name is present in update_mask but + // missing from the request or longer than 4096 characters. + rpc UpdateProductSet(UpdateProductSetRequest) returns (ProductSet) { + option (google.api.http) = { + patch: "/v1p4beta1/{product_set.name=projects/*/locations/*/productSets/*}" + body: "product_set" + }; + } + + // Permanently deletes a ProductSet. Products and ReferenceImages in the + // ProductSet are not deleted. + // + // The actual image files are not deleted from Google Cloud Storage. + // + // Possible errors: + // + // * Returns NOT_FOUND if the ProductSet does not exist. + rpc DeleteProductSet(DeleteProductSetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + }; + } + + // Creates and returns a new product resource. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + // characters. + // * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + // * Returns INVALID_ARGUMENT if product_category is missing or invalid. + rpc CreateProduct(CreateProductRequest) returns (Product) { + option (google.api.http) = { + post: "/v1p4beta1/{parent=projects/*/locations/*}/products" + body: "product" + }; + } + + // Lists products in an unspecified order. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + rpc ListProducts(ListProductsRequest) returns (ListProductsResponse) { + option (google.api.http) = { + get: "/v1p4beta1/{parent=projects/*/locations/*}/products" + }; + } + + // Gets information associated with a Product. + // + // Possible errors: + // + // * Returns NOT_FOUND if the Product does not exist. + rpc GetProduct(GetProductRequest) returns (Product) { + option (google.api.http) = { + get: "/v1p4beta1/{name=projects/*/locations/*/products/*}" + }; + } + + // Makes changes to a Product resource. + // Only the `display_name`, `description`, and `labels` fields can be updated + // right now. + // + // If labels are updated, the change will not be reflected in queries until + // the next index time. + // + // Possible errors: + // + // * Returns NOT_FOUND if the Product does not exist. + // * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + // missing from the request or longer than 4096 characters. + // * Returns INVALID_ARGUMENT if description is present in update_mask but is + // longer than 4096 characters. + // * Returns INVALID_ARGUMENT if product_category is present in update_mask. + rpc UpdateProduct(UpdateProductRequest) returns (Product) { + option (google.api.http) = { + patch: "/v1p4beta1/{product.name=projects/*/locations/*/products/*}" + body: "product" + }; + } + + // Permanently deletes a product and its reference images. + // + // Metadata of the product and all its images will be deleted right away, but + // search queries against ProductSets containing the product may still work + // until all related caches are refreshed. + // + // Possible errors: + // + // * Returns NOT_FOUND if the product does not exist. + rpc DeleteProduct(DeleteProductRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1p4beta1/{name=projects/*/locations/*/products/*}" + }; + } + + // Creates and returns a new ReferenceImage resource. + // + // The `bounding_poly` field is optional. If `bounding_poly` is not specified, + // the system will try to detect regions of interest in the image that are + // compatible with the product_category on the parent product. If it is + // specified, detection is ALWAYS skipped. The system converts polygons into + // non-rotated rectangles. + // + // Note that the pipeline will resize the image if the image resolution is too + // large to process (above 50MP). + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + // characters. + // * Returns INVALID_ARGUMENT if the product does not exist. + // * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + // compatible with the parent product's product_category is detected. + // * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + rpc CreateReferenceImage(CreateReferenceImageRequest) returns (ReferenceImage) { + option (google.api.http) = { + post: "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + body: "reference_image" + }; + } + + // Permanently deletes a reference image. + // + // The image metadata will be deleted right away, but search queries + // against ProductSets containing the image may still work until all related + // caches are refreshed. + // + // The actual image files are not deleted from Google Cloud Storage. + // + // Possible errors: + // + // * Returns NOT_FOUND if the reference image does not exist. + rpc DeleteReferenceImage(DeleteReferenceImageRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + }; + } + + // Lists reference images. + // + // Possible errors: + // + // * Returns NOT_FOUND if the parent product does not exist. + // * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + // than 1. + rpc ListReferenceImages(ListReferenceImagesRequest) returns (ListReferenceImagesResponse) { + option (google.api.http) = { + get: "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + }; + } + + // Gets information associated with a ReferenceImage. + // + // Possible errors: + // + // * Returns NOT_FOUND if the specified image does not exist. + rpc GetReferenceImage(GetReferenceImageRequest) returns (ReferenceImage) { + option (google.api.http) = { + get: "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + }; + } + + // Adds a Product to the specified ProductSet. If the Product is already + // present, no change is made. + // + // One Product can be added to at most 100 ProductSets. + // + // Possible errors: + // + // * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + rpc AddProductToProductSet(AddProductToProductSetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:addProduct" + body: "*" + }; + } + + // Removes a Product from the specified ProductSet. + // + // Possible errors: + // + // * Returns NOT_FOUND If the Product is not found under the ProductSet. + rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:removeProduct" + body: "*" + }; + } + + // Lists the Products in a ProductSet, in an unspecified order. If the + // ProductSet does not exist, the products field of the response will be + // empty. + // + // Possible errors: + // + // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + rpc ListProductsInProductSet(ListProductsInProductSetRequest) returns (ListProductsInProductSetResponse) { + option (google.api.http) = { + get: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products" + }; + } + + // Asynchronous API that imports a list of reference images to specified + // product sets based on a list of image information. + // + // The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the + // progress and results of the request. + // `Operation.metadata` contains `BatchOperationMetadata`. (progress) + // `Operation.response` contains `ImportProductSetsResponse`. (results) + // + // The input source of this method is a csv file on Google Cloud Storage. + // For the format of the csv file please see + // [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri]. + rpc ImportProductSets(ImportProductSetsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p4beta1/{parent=projects/*/locations/*}/productSets:import" + body: "*" + }; + } +} + +// A Product contains ReferenceImages. +message Product { + // A product label represented as a key-value pair. + message KeyValue { + // The key of the label attached to the product. Cannot be empty and cannot + // exceed 128 bytes. + string key = 1; + + // The value of the label attached to the product. Cannot be empty and + // cannot exceed 128 bytes. + string value = 2; + } + + // The resource name of the product. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + // + // This field is ignored when creating a product. + string name = 1; + + // The user-provided name for this Product. Must not be empty. Must be at most + // 4096 characters long. + string display_name = 2; + + // User-provided metadata to be stored with this product. Must be at most 4096 + // characters long. + string description = 3; + + // The category for the product identified by the reference image. This should + // be either "homegoods", "apparel", or "toys". + // + // This field is immutable. + string product_category = 4; + + // Key-value pairs that can be attached to a product. At query time, + // constraints can be specified based on the product_labels. + // + // Note that integer values can be provided as strings, e.g. "1199". Only + // strings with integer values can match a range-based restriction which is + // to be supported soon. + // + // Multiple values can be assigned to the same key. One product may have up to + // 100 product_labels. + repeated KeyValue product_labels = 5; +} + +// A ProductSet contains Products. A ProductSet can contain a maximum of 1 +// million reference images. If the limit is exceeded, periodic indexing will +// fail. +message ProductSet { + // The resource name of the ProductSet. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + // + // This field is ignored when creating a ProductSet. + string name = 1; + + // The user-provided name for this ProductSet. Must not be empty. Must be at + // most 4096 characters long. + string display_name = 2; + + // Output only. The time at which this ProductSet was last indexed. Query + // results will reflect all updates before this time. If this ProductSet has + // never been indexed, this timestamp is the default value + // "1970-01-01T00:00:00Z". + // + // This field is ignored when creating a ProductSet. + google.protobuf.Timestamp index_time = 3; + + // Output only. If there was an error with indexing the product set, the field + // is populated. + // + // This field is ignored when creating a ProductSet. + google.rpc.Status index_error = 4; +} + +// A `ReferenceImage` represents a product image and its associated metadata, +// such as bounding boxes. +message ReferenceImage { + // The resource name of the reference image. + // + // Format is: + // + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + // + // This field is ignored when creating a reference image. + string name = 1; + + // The Google Cloud Storage URI of the reference image. + // + // The URI must start with `gs://`. + // + // Required. + string uri = 2; + + // Bounding polygons around the areas of interest in the reference image. + // Optional. If this field is empty, the system will try to detect regions of + // interest. At most 10 bounding polygons will be used. + // + // The provided shape is converted into a non-rotated rectangle. Once + // converted, the small edge of the rectangle must be greater than or equal + // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 + // is not). + repeated BoundingPoly bounding_polys = 3; +} + +// Request message for the `CreateProduct` method. +message CreateProductRequest { + // The project in which the Product should be created. + // + // Format is + // `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The product to create. + Product product = 2; + + // A user-supplied resource id for this Product. If set, the server will + // attempt to use this value as the resource id. If it is already in use, an + // error is returned with code ALREADY_EXISTS. Must be at most 128 characters + // long. It cannot contain the character `/`. + string product_id = 3; +} + +// Request message for the `ListProducts` method. +message ListProductsRequest { + // The project OR ProductSet from which Products should be listed. + // + // Format: + // `projects/PROJECT_ID/locations/LOC_ID` + string parent = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string page_token = 3; +} + +// Response message for the `ListProducts` method. +message ListProductsResponse { + // List of products. + repeated Product products = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// Request message for the `GetProduct` method. +message GetProductRequest { + // Resource name of the Product to get. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string name = 1; +} + +// Request message for the `UpdateProduct` method. +message UpdateProductRequest { + // The Product resource which replaces the one on the server. + // product.name is immutable. + Product product = 1; + + // The [FieldMask][google.protobuf.FieldMask] that specifies which fields + // to update. + // If update_mask isn't specified, all mutable fields are to be updated. + // Valid mask paths include `product_labels`, `display_name`, and + // `description`. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the `DeleteProduct` method. +message DeleteProductRequest { + // Resource name of product to delete. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string name = 1; +} + +// Request message for the `CreateProductSet` method. +message CreateProductSetRequest { + // The project in which the ProductSet should be created. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The ProductSet to create. + ProductSet product_set = 2; + + // A user-supplied resource id for this ProductSet. If set, the server will + // attempt to use this value as the resource id. If it is already in use, an + // error is returned with code ALREADY_EXISTS. Must be at most 128 characters + // long. It cannot contain the character `/`. + string product_set_id = 3; +} + +// Request message for the `ListProductSets` method. +message ListProductSetsRequest { + // The project from which ProductSets should be listed. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string page_token = 3; +} + +// Response message for the `ListProductSets` method. +message ListProductSetsResponse { + // List of ProductSets. + repeated ProductSet product_sets = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// Request message for the `GetProductSet` method. +message GetProductSetRequest { + // Resource name of the ProductSet to get. + // + // Format is: + // `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + string name = 1; +} + +// Request message for the `UpdateProductSet` method. +message UpdateProductSetRequest { + // The ProductSet resource which replaces the one on the server. + ProductSet product_set = 1; + + // The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + // update. + // If update_mask isn't specified, all mutable fields are to be updated. + // Valid mask path is `display_name`. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the `DeleteProductSet` method. +message DeleteProductSetRequest { + // Resource name of the ProductSet to delete. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; +} + +// Request message for the `CreateReferenceImage` method. +message CreateReferenceImageRequest { + // Resource name of the product in which to create the reference image. + // + // Format is + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + string parent = 1; + + // The reference image to create. + // If an image ID is specified, it is ignored. + ReferenceImage reference_image = 2; + + // A user-supplied resource id for the ReferenceImage to be added. If set, + // the server will attempt to use this value as the resource id. If it is + // already in use, an error is returned with code ALREADY_EXISTS. Must be at + // most 128 characters long. It cannot contain the character `/`. + string reference_image_id = 3; +} + +// Request message for the `ListReferenceImages` method. +message ListReferenceImagesRequest { + // Resource name of the product containing the reference images. + // + // Format is + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + string parent = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // A token identifying a page of results to be returned. This is the value + // of `nextPageToken` returned in a previous reference image list request. + // + // Defaults to the first page if not specified. + string page_token = 3; +} + +// Response message for the `ListReferenceImages` method. +message ListReferenceImagesResponse { + // The list of reference images. + repeated ReferenceImage reference_images = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string next_page_token = 3; +} + +// Request message for the `GetReferenceImage` method. +message GetReferenceImageRequest { + // The resource name of the ReferenceImage to get. + // + // Format is: + // + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + string name = 1; +} + +// Request message for the `DeleteReferenceImage` method. +message DeleteReferenceImageRequest { + // The resource name of the reference image to delete. + // + // Format is: + // + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + string name = 1; +} + +// Request message for the `AddProductToProductSet` method. +message AddProductToProductSetRequest { + // The resource name for the ProductSet to modify. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; + + // The resource name for the Product to be added to this ProductSet. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string product = 2; +} + +// Request message for the `RemoveProductFromProductSet` method. +message RemoveProductFromProductSetRequest { + // The resource name for the ProductSet to modify. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; + + // The resource name for the Product to be removed from this ProductSet. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + string product = 2; +} + +// Request message for the `ListProductsInProductSet` method. +message ListProductsInProductSetRequest { + // The ProductSet resource for which to retrieve Products. + // + // Format is: + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1; + + // The maximum number of items to return. Default 10, maximum 100. + int32 page_size = 2; + + // The next_page_token returned from a previous List request, if any. + string page_token = 3; +} + +// Response message for the `ListProductsInProductSet` method. +message ListProductsInProductSetResponse { + // The list of Products. + repeated Product products = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The Google Cloud Storage location for a csv file which preserves a list of +// ImportProductSetRequests in each line. +message ImportProductSetsGcsSource { + // The Google Cloud Storage URI of the input csv file. + // + // The URI must start with `gs://`. + // + // The format of the input csv file should be one image per line. + // In each line, there are 8 columns. + // + // 1. image-uri + // 2. image-id + // 3. product-set-id + // 4. product-id + // 5. product-category + // 6. product-display-name + // 7. labels + // 8. bounding-poly + // + // The `image-uri`, `product-set-id`, `product-id`, and `product-category` + // columns are required. All other columns are optional. + // + // If the `ProductSet` or `Product` specified by the `product-set-id` and + // `product-id` values does not exist, then the system will create a new + // `ProductSet` or `Product` for the image. In this case, the + // `product-display-name` column refers to + // [display_name][google.cloud.vision.v1p4beta1.Product.display_name], the + // `product-category` column refers to + // [product_category][google.cloud.vision.v1p4beta1.Product.product_category], and the + // `labels` column refers to [product_labels][google.cloud.vision.v1p4beta1.Product.product_labels]. + // + // The `image-id` column is optional but must be unique if provided. If it is + // empty, the system will automatically assign a unique id to the image. + // + // The `product-display-name` column is optional. If it is empty, the system + // sets the [display_name][google.cloud.vision.v1p4beta1.Product.display_name] field for the product to a + // space (" "). You can update the `display_name` later by using the API. + // + // If a `Product` with the specified `product-id` already exists, then the + // system ignores the `product-display-name`, `product-category`, and `labels` + // columns. + // + // The `labels` column (optional) is a line containing a list of + // comma-separated key-value pairs, in the following format: + // + // "key_1=value_1,key_2=value_2,...,key_n=value_n" + // + // The `bounding-poly` column (optional) identifies one region of + // interest from the image in the same manner as `CreateReferenceImage`. If + // you do not specify the `bounding-poly` column, then the system will try to + // detect regions of interest automatically. + // + // At most one `bounding-poly` column is allowed per line. If the image + // contains multiple regions of interest, add a line to the CSV file that + // includes the same product information, and the `bounding-poly` values for + // each region of interest. + // + // The `bounding-poly` column must contain an even number of comma-separated + // numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Use + // non-negative integers for absolute bounding polygons, and float values + // in [0, 1] for normalized bounding polygons. + // + // The system will resize the image if the image resolution is too + // large to process (larger than 20MP). + string csv_file_uri = 1; +} + +// The input content for the `ImportProductSets` method. +message ImportProductSetsInputConfig { + // The source of the input. + oneof source { + // The Google Cloud Storage location for a csv file which preserves a list + // of ImportProductSetRequests in each line. + ImportProductSetsGcsSource gcs_source = 1; + } +} + +// Request message for the `ImportProductSets` method. +message ImportProductSetsRequest { + // The project in which the ProductSets should be imported. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The input content for the list of requests. + ImportProductSetsInputConfig input_config = 2; +} + +// Response message for the `ImportProductSets` method. +// +// This message is returned by the +// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned +// [google.longrunning.Operation.response][google.longrunning.Operation.response] field. +message ImportProductSetsResponse { + // The list of reference_images that are imported successfully. + repeated ReferenceImage reference_images = 1; + + // The rpc status for each ImportProductSet request, including both successes + // and errors. + // + // The number of statuses here matches the number of lines in the csv file, + // and statuses[i] stores the success or failure status of processing the i-th + // line of the csv, starting from line 0. + repeated google.rpc.Status statuses = 2; +} + +// Metadata for the batch operations such as the current state. +// +// This is included in the `metadata` field of the `Operation` returned by the +// `GetOperation` call of the `google::longrunning::Operations` service. +message BatchOperationMetadata { + // Enumerates the possible states that the batch request can be in. + enum State { + // Invalid. + STATE_UNSPECIFIED = 0; + + // Request is actively being processed. + PROCESSING = 1; + + // The request is done and at least one item has been successfully + // processed. + SUCCESSFUL = 2; + + // The request is done and no item has been successfully processed. + FAILED = 3; + + // The request is done after the longrunning.Operations.CancelOperation has + // been called by the user. Any records that were processed before the + // cancel command are output as specified in the request. + CANCELLED = 4; + } + + // The current state of the batch operation. + State state = 1; + + // The time when the batch request was submitted to the server. + google.protobuf.Timestamp submit_time = 2; + + // The time when the batch request is finished and + // [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to true. + google.protobuf.Timestamp end_time = 3; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto new file mode 100644 index 00000000000..095d96fa91e --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto @@ -0,0 +1,261 @@ +// Copyright 2018 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.cloud.vision.v1p4beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p4beta1/geometry.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "TextAnnotationProto"; +option java_package = "com.google.cloud.vision.v1p4beta1"; +option objc_class_prefix = "GCVN"; + + +// TextAnnotation contains a structured representation of OCR extracted text. +// The hierarchy of an OCR extracted text structure is like this: +// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol +// Each structural component, starting from Page, may further have their own +// properties. Properties describe detected languages, breaks etc.. Please refer +// to the [TextAnnotation.TextProperty][google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty] message definition below for more +// detail. +message TextAnnotation { + // Detected language for a structural component. + message DetectedLanguage { + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 1; + + // Confidence of detected language. Range [0, 1]. + float confidence = 2; + } + + // Detected start or end of a structural component. + message DetectedBreak { + // Enum to denote the type of break found. New line, space etc. + enum BreakType { + // Unknown break label type. + UNKNOWN = 0; + + // Regular space. + SPACE = 1; + + // Sure space (very wide). + SURE_SPACE = 2; + + // Line-wrapping break. + EOL_SURE_SPACE = 3; + + // End-line hyphen that is not present in text; does not co-occur with + // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. + HYPHEN = 4; + + // Line break that ends a paragraph. + LINE_BREAK = 5; + } + + // Detected break type. + BreakType type = 1; + + // True if break prepends the element. + bool is_prefix = 2; + } + + // Additional information detected on the structural component. + message TextProperty { + // A list of detected languages together with confidence. + repeated DetectedLanguage detected_languages = 1; + + // Detected start or end of a text segment. + DetectedBreak detected_break = 2; + } + + // List of pages detected by OCR. + repeated Page pages = 1; + + // UTF-8 text detected on the pages. + string text = 2; +} + +// Detected page from OCR. +message Page { + // Additional information detected on the page. + TextAnnotation.TextProperty property = 1; + + // Page width. For PDFs the unit is points. For images (including + // TIFFs) the unit is pixels. + int32 width = 2; + + // Page height. For PDFs the unit is points. For images (including + // TIFFs) the unit is pixels. + int32 height = 3; + + // List of blocks of text, images etc on this page. + repeated Block blocks = 4; + + // Confidence of the OCR results on the page. Range [0, 1]. + float confidence = 5; +} + +// Logical element on the page. +message Block { + // Type of a block (text, image etc) as identified by OCR. + enum BlockType { + // Unknown block type. + UNKNOWN = 0; + + // Regular text block. + TEXT = 1; + + // Table block. + TABLE = 2; + + // Image block. + PICTURE = 3; + + // Horizontal/vertical line box. + RULER = 4; + + // Barcode block. + BARCODE = 5; + } + + // Additional information detected for the block. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the block. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // + // * when the text is horizontal it might look like: + // + // 0----1 + // | | + // 3----2 + // + // * when it's rotated 180 degrees around the top-left corner it becomes: + // + // 2----3 + // | | + // 1----0 + // + // and the vertex order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of paragraphs in this block (if this blocks is of type text). + repeated Paragraph paragraphs = 3; + + // Detected block type (text, image etc) for this block. + BlockType block_type = 4; + + // Confidence of the OCR results on the block. Range [0, 1]. + float confidence = 5; +} + +// Structural unit of text representing a number of words in certain order. +message Paragraph { + // Additional information detected for the paragraph. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the paragraph. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertex order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of words in this paragraph. + repeated Word words = 3; + + // Confidence of the OCR results for the paragraph. Range [0, 1]. + float confidence = 4; +} + +// A word representation. +message Word { + // Additional information detected for the word. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the word. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertex order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // List of symbols in the word. + // The order of the symbols follows the natural reading order. + repeated Symbol symbols = 3; + + // Confidence of the OCR results for the word. Range [0, 1]. + float confidence = 4; +} + +// A single symbol representation. +message Symbol { + // Additional information detected for the symbol. + TextAnnotation.TextProperty property = 1; + + // The bounding box for the symbol. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingPoly bounding_box = 2; + + // The actual UTF-8 representation of the symbol. + string text = 3; + + // Confidence of the OCR results for the symbol. Range [0, 1]. + float confidence = 4; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto new file mode 100644 index 00000000000..e3f24f52c91 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto @@ -0,0 +1,108 @@ +// Copyright 2018 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.cloud.vision.v1p4beta1; + +import "google/api/annotations.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "WebDetectionProto"; +option java_package = "com.google.cloud.vision.v1p4beta1"; +option objc_class_prefix = "GCVN"; + + +// Relevant information for the image from the Internet. +message WebDetection { + // Entity deduced from similar images on the Internet. + message WebEntity { + // Opaque entity ID. + string entity_id = 1; + + // Overall relevancy score for the entity. + // Not normalized and not comparable across different image queries. + float score = 2; + + // Canonical description of the entity, in English. + string description = 3; + } + + // Metadata for online images. + message WebImage { + // The result image URL. + string url = 1; + + // (Deprecated) Overall relevancy score for the image. + float score = 2; + } + + // Label to provide extra metadata for the web detection. + message WebLabel { + // Label for extra metadata. + string label = 1; + + // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + } + + // Metadata for web pages. + message WebPage { + // The result web page URL. + string url = 1; + + // (Deprecated) Overall relevancy score for the web page. + float score = 2; + + // Title for the web page, may contain HTML markups. + string page_title = 3; + + // Fully matching images on the page. + // Can include resized copies of the query image. + repeated WebImage full_matching_images = 4; + + // Partial matching images on the page. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its + // crops. + repeated WebImage partial_matching_images = 5; + } + + // Deduced entities from similar images on the Internet. + repeated WebEntity web_entities = 1; + + // Fully matching images from the Internet. + // Can include resized copies of the query image. + repeated WebImage full_matching_images = 2; + + // Partial matching images from the Internet. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its crops. + repeated WebImage partial_matching_images = 3; + + // Web pages containing the matching images from the Internet. + repeated WebPage pages_with_matching_images = 4; + + // The visually similar image results. + repeated WebImage visually_similar_images = 6; + + // The service's best guess as to the topic of the request image. + // Inferred from similar images on the open web. + repeated WebLabel best_guess_labels = 8; +} diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js index 1b07bbbfdc8..f70be4fdca4 100644 --- a/packages/google-cloud-vision/src/index.js +++ b/packages/google-cloud-vision/src/index.js @@ -24,6 +24,9 @@ /** * @namespace google.cloud.vision.v1p3beta1 */ +/** + * @namespace google.cloud.vision.v1p4beta1 + */ /** * @namespace google.longrunning */ @@ -47,6 +50,7 @@ const gapic = Object.freeze({ v1p1beta1: require('./v1p1beta1'), v1p2beta1: require('./v1p2beta1'), v1p3beta1: require('./v1p3beta1'), + v1p4beta1: require('./v1p4beta1'), }); // Augment the SpeechClient objects with the helpers. @@ -111,5 +115,12 @@ module.exports.v1p2beta1 = gapic.v1p2beta1; */ module.exports.v1p3beta1 = gapic.v1p3beta1; +/** + * @type {object} + * @property {constructor} ImageAnnotatorClient + * Reference to {@link v1p4beta1.ImageAnnotatorClient} + */ +module.exports.v1p4beta1 = gapic.v1p4beta1; + // Alias `module.exports` as `module.exports.default`, for future-proofing. module.exports.default = Object.assign({}, module.exports); diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js new file mode 100644 index 00000000000..eebf862e9cf --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js @@ -0,0 +1,96 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A vertex represents a 2D point in the image. + * NOTE: the vertex coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @typedef Vertex + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/geometry.proto} + */ +const Vertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A vertex represents a 2D point in the image. + * NOTE: the normalized vertex coordinates are relative to the original image + * and range from 0 to 1. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @typedef NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/geometry.proto} + */ +const NormalizedVertex = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A bounding polygon for the detected image annotation. + * + * @property {Object[]} vertices + * The bounding polygon vertices. + * + * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1p4beta1.Vertex} + * + * @property {Object[]} normalizedVertices + * The bounding polygon normalized vertices. + * + * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1p4beta1.NormalizedVertex} + * + * @typedef BoundingPoly + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/geometry.proto} + */ +const BoundingPoly = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A 3D position in the image, used primarily for Face detection landmarks. + * A valid Position must have both x and y coordinates. + * The position coordinates are in the same scale as the original image. + * + * @property {number} x + * X coordinate. + * + * @property {number} y + * Y coordinate. + * + * @property {number} z + * Z coordinate (or depth). + * + * @typedef Position + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/geometry.proto} + */ +const Position = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js new file mode 100644 index 00000000000..7faebb7bff4 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js @@ -0,0 +1,1431 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * The type of Google Cloud Vision API detection to perform, and the maximum + * number of results to return for that type. Multiple `Feature` objects can + * be specified in the `features` list. + * + * @property {number} type + * The feature type. + * + * The number should be among the values of [Type]{@link google.cloud.vision.v1p4beta1.Type} + * + * @property {number} maxResults + * Maximum number of results of this type. Does not apply to + * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. + * + * @property {string} model + * Model to use for the feature. + * Supported values: "builtin/stable" (the default if unset) and + * "builtin/latest". + * + * @typedef Feature + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const Feature = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of Google Cloud Vision API feature to be extracted. + * + * @enum {number} + * @memberof google.cloud.vision.v1p4beta1 + */ + Type: { + + /** + * Unspecified feature type. + */ + TYPE_UNSPECIFIED: 0, + + /** + * Run face detection. + */ + FACE_DETECTION: 1, + + /** + * Run landmark detection. + */ + LANDMARK_DETECTION: 2, + + /** + * Run logo detection. + */ + LOGO_DETECTION: 3, + + /** + * Run label detection. + */ + LABEL_DETECTION: 4, + + /** + * Run text detection / optical character recognition (OCR). Text detection + * is optimized for areas of text within a larger image; if the image is + * a document, use `DOCUMENT_TEXT_DETECTION` instead. + */ + TEXT_DETECTION: 5, + + /** + * Run dense text document OCR. Takes precedence when both + * `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. + */ + DOCUMENT_TEXT_DETECTION: 11, + + /** + * Run Safe Search to detect potentially unsafe + * or undesirable content. + */ + SAFE_SEARCH_DETECTION: 6, + + /** + * Compute a set of image properties, such as the + * image's dominant colors. + */ + IMAGE_PROPERTIES: 7, + + /** + * Run crop hints. + */ + CROP_HINTS: 9, + + /** + * Run web detection. + */ + WEB_DETECTION: 10, + + /** + * Run Product Search. + */ + PRODUCT_SEARCH: 12, + + /** + * Run localizer for object detection. + */ + OBJECT_LOCALIZATION: 19 + } +}; + +/** + * External image source (Google Cloud Storage or web URL image location). + * + * @property {string} gcsImageUri + * **Use `image_uri` instead.** + * + * The Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. + * + * @property {string} imageUri + * The URI of the source image. Can be either: + * + * 1. A Google Cloud Storage URI of the form + * `gs://bucket_name/object_name`. Object versioning is not supported. See + * [Google Cloud Storage Request + * URIs](https://cloud.google.com/storage/docs/reference-uris) for more + * info. + * + * 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from + * HTTP/HTTPS URLs, Google cannot guarantee that the request will be + * completed. Your request may fail if the specified host denies the + * request (e.g. due to request throttling or DOS prevention), or if Google + * throttles requests to the site for abuse prevention. You should not + * depend on externally-hosted images for production applications. + * + * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + * precedence. + * + * @typedef ImageSource + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const ImageSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Client image to perform Google Cloud Vision API tasks over. + * + * @property {string} content + * Image content, represented as a stream of bytes. + * Note: As with all `bytes` fields, protobuffers use a pure binary + * representation, whereas JSON representations use base64. + * + * @property {Object} source + * Google Cloud Storage image location, or publicly-accessible image + * URL. If both `content` and `source` are provided for an image, `content` + * takes precedence and is used to perform the image annotation request. + * + * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1p4beta1.ImageSource} + * + * @typedef Image + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const Image = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A face annotation object contains the results of face detection. + * + * @property {Object} boundingPoly + * The bounding polygon around the face. The coordinates of the bounding box + * are in the original image's scale. + * The bounding box is computed to "frame" the face in accordance with human + * expectations. It is based on the landmarker results. + * Note that one or more x and/or y coordinates may not be generated in the + * `BoundingPoly` (the polygon will be unbounded) if only a partial face + * appears in the image to be annotated. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {Object} fdBoundingPoly + * The `fd_bounding_poly` bounding polygon is tighter than the + * `boundingPoly`, and encloses only the skin part of the face. Typically, it + * is used to eliminate the face from any image analysis that detects the + * "amount of skin" visible in an image. It is not based on the + * landmarker results, only on the initial face detection, hence + * the fd (face detection) prefix. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {Object[]} landmarks + * Detected face landmarks. + * + * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1p4beta1.Landmark} + * + * @property {number} rollAngle + * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + * of the face relative to the image vertical about the axis perpendicular to + * the face. Range [-180,180]. + * + * @property {number} panAngle + * Yaw angle, which indicates the leftward/rightward angle that the face is + * pointing relative to the vertical plane perpendicular to the image. Range + * [-180,180]. + * + * @property {number} tiltAngle + * Pitch angle, which indicates the upwards/downwards angle that the face is + * pointing relative to the image's horizontal plane. Range [-180,180]. + * + * @property {number} detectionConfidence + * Detection confidence. Range [0, 1]. + * + * @property {number} landmarkingConfidence + * Face landmarking confidence. Range [0, 1]. + * + * @property {number} joyLikelihood + * Joy likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} sorrowLikelihood + * Sorrow likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} angerLikelihood + * Anger likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} surpriseLikelihood + * Surprise likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} underExposedLikelihood + * Under-exposed likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} blurredLikelihood + * Blurred likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} headwearLikelihood + * Headwear likelihood. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @typedef FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const FaceAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * A face-specific landmark (for example, a face feature). + * + * @property {number} type + * Face landmark type. + * + * The number should be among the values of [Type]{@link google.cloud.vision.v1p4beta1.Type} + * + * @property {Object} position + * Face landmark position. + * + * This object should have the same structure as [Position]{@link google.cloud.vision.v1p4beta1.Position} + * + * @typedef Landmark + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ + Landmark: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Face landmark (feature) type. + * Left and right are defined from the vantage of the viewer of the image + * without considering mirror projections typical of photos. So, `LEFT_EYE`, + * typically, is the person's right eye. + * + * @enum {number} + * @memberof google.cloud.vision.v1p4beta1 + */ + Type: { + + /** + * Unknown face landmark detected. Should not be filled. + */ + UNKNOWN_LANDMARK: 0, + + /** + * Left eye. + */ + LEFT_EYE: 1, + + /** + * Right eye. + */ + RIGHT_EYE: 2, + + /** + * Left of left eyebrow. + */ + LEFT_OF_LEFT_EYEBROW: 3, + + /** + * Right of left eyebrow. + */ + RIGHT_OF_LEFT_EYEBROW: 4, + + /** + * Left of right eyebrow. + */ + LEFT_OF_RIGHT_EYEBROW: 5, + + /** + * Right of right eyebrow. + */ + RIGHT_OF_RIGHT_EYEBROW: 6, + + /** + * Midpoint between eyes. + */ + MIDPOINT_BETWEEN_EYES: 7, + + /** + * Nose tip. + */ + NOSE_TIP: 8, + + /** + * Upper lip. + */ + UPPER_LIP: 9, + + /** + * Lower lip. + */ + LOWER_LIP: 10, + + /** + * Mouth left. + */ + MOUTH_LEFT: 11, + + /** + * Mouth right. + */ + MOUTH_RIGHT: 12, + + /** + * Mouth center. + */ + MOUTH_CENTER: 13, + + /** + * Nose, bottom right. + */ + NOSE_BOTTOM_RIGHT: 14, + + /** + * Nose, bottom left. + */ + NOSE_BOTTOM_LEFT: 15, + + /** + * Nose, bottom center. + */ + NOSE_BOTTOM_CENTER: 16, + + /** + * Left eye, top boundary. + */ + LEFT_EYE_TOP_BOUNDARY: 17, + + /** + * Left eye, right corner. + */ + LEFT_EYE_RIGHT_CORNER: 18, + + /** + * Left eye, bottom boundary. + */ + LEFT_EYE_BOTTOM_BOUNDARY: 19, + + /** + * Left eye, left corner. + */ + LEFT_EYE_LEFT_CORNER: 20, + + /** + * Right eye, top boundary. + */ + RIGHT_EYE_TOP_BOUNDARY: 21, + + /** + * Right eye, right corner. + */ + RIGHT_EYE_RIGHT_CORNER: 22, + + /** + * Right eye, bottom boundary. + */ + RIGHT_EYE_BOTTOM_BOUNDARY: 23, + + /** + * Right eye, left corner. + */ + RIGHT_EYE_LEFT_CORNER: 24, + + /** + * Left eyebrow, upper midpoint. + */ + LEFT_EYEBROW_UPPER_MIDPOINT: 25, + + /** + * Right eyebrow, upper midpoint. + */ + RIGHT_EYEBROW_UPPER_MIDPOINT: 26, + + /** + * Left ear tragion. + */ + LEFT_EAR_TRAGION: 27, + + /** + * Right ear tragion. + */ + RIGHT_EAR_TRAGION: 28, + + /** + * Left eye pupil. + */ + LEFT_EYE_PUPIL: 29, + + /** + * Right eye pupil. + */ + RIGHT_EYE_PUPIL: 30, + + /** + * Forehead glabella. + */ + FOREHEAD_GLABELLA: 31, + + /** + * Chin gnathion. + */ + CHIN_GNATHION: 32, + + /** + * Chin left gonion. + */ + CHIN_LEFT_GONION: 33, + + /** + * Chin right gonion. + */ + CHIN_RIGHT_GONION: 34 + } + } +}; + +/** + * Detected entity location information. + * + * @property {Object} latLng + * lat/long location coordinates. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @typedef LocationInfo + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const LocationInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A `Property` consists of a user-supplied name/value pair. + * + * @property {string} name + * Name of the property. + * + * @property {string} value + * Value of the property. + * + * @property {number} uint64Value + * Value of numeric properties. + * + * @typedef Property + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const Property = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of detected entity features. + * + * @property {string} mid + * Opaque entity ID. Some IDs may be available in + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). + * + * @property {string} locale + * The language code for the locale in which the entity textual + * `description` is expressed. + * + * @property {string} description + * Entity textual description, expressed in its `locale` language. + * + * @property {number} score + * Overall score of the result. Range [0, 1]. + * + * @property {number} confidence + * **Deprecated. Use `score` instead.** + * The accuracy of the entity detection in an image. + * For example, for an image in which the "Eiffel Tower" entity is detected, + * this field represents the confidence that there is a tower in the query + * image. Range [0, 1]. + * + * @property {number} topicality + * The relevancy of the ICA (Image Content Annotation) label to the + * image. For example, the relevancy of "tower" is likely higher to an image + * containing the detected "Eiffel Tower" than to an image containing a + * detected distant towering building, even though the confidence that + * there is a tower in each image may be the same. Range [0, 1]. + * + * @property {Object} boundingPoly + * Image region to which this entity belongs. Not produced + * for `LABEL_DETECTION` features. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {Object[]} locations + * The location information for the detected entity. Multiple + * `LocationInfo` elements can be present because one location may + * indicate the location of the scene in the image, and another location + * may indicate the location of the place where the image was taken. + * Location information is usually present for landmarks. + * + * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1p4beta1.LocationInfo} + * + * @property {Object[]} properties + * Some entities may have optional user-supplied `Property` (name/value) + * fields, such a score or string that qualifies the entity. + * + * This object should have the same structure as [Property]{@link google.cloud.vision.v1p4beta1.Property} + * + * @typedef EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const EntityAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of detected objects with bounding boxes. + * + * @property {string} mid + * Object ID that should align with EntityAnnotation mid. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {string} name + * Object name, expressed in its `language_code` language. + * + * @property {number} score + * Score of the result. Range [0, 1]. + * + * @property {Object} boundingPoly + * Image region to which this object belongs. This must be populated. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @typedef LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const LocalizedObjectAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of features pertaining to the image, computed by computer vision + * methods over safe-search verticals (for example, adult, spoof, medical, + * violence). + * + * @property {number} adult + * Represents the adult content likelihood for the image. Adult content may + * contain elements such as nudity, pornographic images or cartoons, or + * sexual activities. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} spoof + * Spoof likelihood. The likelihood that an modification + * was made to the image's canonical version to make it appear + * funny or offensive. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} medical + * Likelihood that this is a medical image. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} violence + * Likelihood that this image contains violent content. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @property {number} racy + * Likelihood that the request image contains racy content. Racy content may + * include (but is not limited to) skimpy or sheer clothing, strategically + * covered nudity, lewd or provocative poses, or close-ups of sensitive + * body areas. + * + * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} + * + * @typedef SafeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const SafeSearchAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Rectangle determined by min and max `LatLng` pairs. + * + * @property {Object} minLatLng + * Min lat/long pair. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @property {Object} maxLatLng + * Max lat/long pair. + * + * This object should have the same structure as [LatLng]{@link google.type.LatLng} + * + * @typedef LatLongRect + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const LatLongRect = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Color information consists of RGB channels, score, and the fraction of + * the image that the color occupies in the image. + * + * @property {Object} color + * RGB components of the color. + * + * This object should have the same structure as [Color]{@link google.type.Color} + * + * @property {number} score + * Image-specific score for this color. Value in range [0, 1]. + * + * @property {number} pixelFraction + * The fraction of pixels the color occupies in the image. + * Value in range [0, 1]. + * + * @typedef ColorInfo + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const ColorInfo = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of dominant colors and their corresponding scores. + * + * @property {Object[]} colors + * RGB color values with their score and pixel fraction. + * + * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1p4beta1.ColorInfo} + * + * @typedef DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const DominantColorsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Stores image properties, such as dominant colors. + * + * @property {Object} dominantColors + * If present, dominant colors completed successfully. + * + * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation} + * + * @typedef ImageProperties + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const ImageProperties = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Single crop hint that is used to generate a new crop when serving an image. + * + * @property {Object} boundingPoly + * The bounding polygon for the crop region. The coordinates of the bounding + * box are in the original image's scale. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {number} confidence + * Confidence of this being a salient region. Range [0, 1]. + * + * @property {number} importanceFraction + * Fraction of importance of this salient region with respect to the original + * image. + * + * @typedef CropHint + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const CropHint = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Set of crop hints that are used to generate new crops when serving images. + * + * @property {Object[]} cropHints + * Crop hint results. + * + * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1p4beta1.CropHint} + * + * @typedef CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const CropHintsAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Parameters for crop hints annotation request. + * + * @property {number[]} aspectRatios + * Aspect ratios in floats, representing the ratio of the width to the height + * of the image. For example, if the desired aspect ratio is 4/3, the + * corresponding float value should be 1.33333. If not specified, the + * best possible crop is returned. The number of provided aspect ratios is + * limited to a maximum of 16; any aspect ratios provided after the 16th are + * ignored. + * + * @typedef CropHintsParams + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const CropHintsParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Parameters for web detection request. + * + * @property {boolean} includeGeoResults + * Whether to include results derived from the geo information in the image. + * + * @typedef WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const WebDetectionParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Image context and/or feature-specific parameters. + * + * @property {Object} latLongRect + * Not used. + * + * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1p4beta1.LatLongRect} + * + * @property {string[]} languageHints + * List of languages to use for TEXT_DETECTION. In most cases, an empty value + * yields the best results since it enables automatic language detection. For + * languages based on the Latin alphabet, setting `language_hints` is not + * needed. In rare cases, when the language of the text in the image is known, + * setting a hint will help get better results (although it will be a + * significant hindrance if the hint is wrong). Text detection returns an + * error if one or more of the specified languages is not one of the + * [supported languages](https://cloud.google.com/vision/docs/languages). + * + * @property {Object} cropHintsParams + * Parameters for crop hints annotation request. + * + * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1p4beta1.CropHintsParams} + * + * @property {Object} productSearchParams + * Parameters for product search. + * + * This object should have the same structure as [ProductSearchParams]{@link google.cloud.vision.v1p4beta1.ProductSearchParams} + * + * @property {Object} webDetectionParams + * Parameters for web detection. + * + * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1p4beta1.WebDetectionParams} + * + * @typedef ImageContext + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const ImageContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request for performing Google Cloud Vision API tasks over a user-provided + * image, with user-requested features, and with context information. + * + * @property {Object} image + * The image to be processed. + * + * This object should have the same structure as [Image]{@link google.cloud.vision.v1p4beta1.Image} + * + * @property {Object[]} features + * Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p4beta1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p4beta1.ImageContext} + * + * @typedef AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AnnotateImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * If an image was produced from a file (e.g. a PDF), this message gives + * information about the source of that image. + * + * @property {string} uri + * The URI of the file used to produce the image. + * + * @property {number} pageNumber + * If the file was a PDF or TIFF, this field gives the page number within + * the file used to produce the image. + * + * @typedef ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const ImageAnnotationContext = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an image annotation request. + * + * @property {Object[]} faceAnnotations + * If present, face detection has completed successfully. + * + * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1p4beta1.FaceAnnotation} + * + * @property {Object[]} landmarkAnnotations + * If present, landmark detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p4beta1.EntityAnnotation} + * + * @property {Object[]} logoAnnotations + * If present, logo detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p4beta1.EntityAnnotation} + * + * @property {Object[]} labelAnnotations + * If present, label detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p4beta1.EntityAnnotation} + * + * @property {Object[]} localizedObjectAnnotations + * If present, localized object detection has completed successfully. + * This will be sorted descending by confidence score. + * + * This object should have the same structure as [LocalizedObjectAnnotation]{@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} + * + * @property {Object[]} textAnnotations + * If present, text (OCR) detection has completed successfully. + * + * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p4beta1.EntityAnnotation} + * + * @property {Object} fullTextAnnotation + * If present, text (OCR) detection or document (OCR) text detection has + * completed successfully. + * This annotation provides the structural hierarchy for the OCR detected + * text. + * + * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1p4beta1.TextAnnotation} + * + * @property {Object} safeSearchAnnotation + * If present, safe-search annotation has completed successfully. + * + * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation} + * + * @property {Object} imagePropertiesAnnotation + * If present, image properties were extracted successfully. + * + * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1p4beta1.ImageProperties} + * + * @property {Object} cropHintsAnnotation + * If present, crop hints have completed successfully. + * + * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1p4beta1.CropHintsAnnotation} + * + * @property {Object} webDetection + * If present, web detection has completed successfully. + * + * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1p4beta1.WebDetection} + * + * @property {Object} productSearchResults + * If present, product search has completed successfully. + * + * This object should have the same structure as [ProductSearchResults]{@link google.cloud.vision.v1p4beta1.ProductSearchResults} + * + * @property {Object} error + * If set, represents the error message for the operation. + * Note that filled-in image annotations are guaranteed to be + * correct, even when `error` is set. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @property {Object} context + * If present, contextual information is needed to understand where this image + * comes from. + * + * This object should have the same structure as [ImageAnnotationContext]{@link google.cloud.vision.v1p4beta1.ImageAnnotationContext} + * + * @typedef AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AnnotateImageResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to a single file annotation request. A file may contain one or more + * images, which individually have their own responses. + * + * @property {Object} inputConfig + * Information about the file for which this response is generated. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p4beta1.InputConfig} + * + * @property {Object[]} responses + * Individual responses to images found within the file. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p4beta1.AnnotateImageResponse} + * + * @property {number} totalPages + * This field gives the total number of pages in the file. + * + * @typedef AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Multiple image annotation requests are batched into a single service call. + * + * @property {Object[]} requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} + * + * @typedef BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const BatchAnnotateImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to a batch image annotation request. + * + * @property {Object[]} responses + * Individual responses to image annotation requests within the batch. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p4beta1.AnnotateImageResponse} + * + * @typedef BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const BatchAnnotateImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A request to annotate one single file, e.g. a PDF, TIFF or GIF file. + * + * @property {Object} inputConfig + * Required. Information about the input file. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p4beta1.InputConfig} + * + * @property {Object[]} features + * Required. Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p4beta1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image(s) in the file. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p4beta1.ImageContext} + * + * @property {number[]} pages + * Pages of the file to perform image annotation. + * + * Pages starts from 1, we assume the first page of the file is page 1. + * At most 5 pages are supported per request. Pages can be negative. + * + * Page 1 means the first page. + * Page 2 means the second page. + * Page -1 means the last page. + * Page -2 means the second to the last page. + * + * If the file is GIF instead of PDF or TIFF, page refers to GIF frames. + * + * If this field is empty, by default the service performs image annotation + * for the first 5 pages of the file. + * + * @typedef AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AnnotateFileRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A list of requests to annotate files using the BatchAnnotateFiles API. + * + * @property {Object[]} requests + * The list of file annotation requests. Right now we support only one + * AnnotateFileRequest in BatchAnnotateFilesRequest. + * + * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AnnotateFileRequest} + * + * @typedef BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const BatchAnnotateFilesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A list of file annotation responses. + * + * @property {Object[]} responses + * The list of file annotation responses, each response corresponding to each + * AnnotateFileRequest in BatchAnnotateFilesRequest. + * + * This object should have the same structure as [AnnotateFileResponse]{@link google.cloud.vision.v1p4beta1.AnnotateFileResponse} + * + * @typedef BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const BatchAnnotateFilesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * An offline file annotation request. + * + * @property {Object} inputConfig + * Required. Information about the input file. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p4beta1.InputConfig} + * + * @property {Object[]} features + * Required. Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p4beta1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image(s) in the file. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p4beta1.ImageContext} + * + * @property {Object} outputConfig + * Required. The desired output location and metadata (e.g. format). + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} + * + * @typedef AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AsyncAnnotateFileRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The response for a single offline file annotation request. + * + * @property {Object} outputConfig + * The output location and metadata from AsyncAnnotateFileRequest. + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} + * + * @typedef AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AsyncAnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request for async image annotation for a list of images. + * + * @property {Object[]} requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} + * + * @property {Object} outputConfig + * Required. The desired output location and metadata (e.g. format). + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} + * + * @typedef AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AsyncBatchAnnotateImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an async batch image annotation request. + * + * @property {Object} outputConfig + * The output location and metadata from AsyncBatchAnnotateImagesRequest. + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} + * + * @typedef AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AsyncBatchAnnotateImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Multiple async file annotation requests are batched into a single service + * call. + * + * @property {Object[]} requests + * Individual async file annotation requests for this batch. + * + * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} + * + * @typedef AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AsyncBatchAnnotateFilesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an async batch file annotation request. + * + * @property {Object[]} responses + * The list of file annotation responses, one for each request in + * AsyncBatchAnnotateFilesRequest. + * + * This object should have the same structure as [AsyncAnnotateFileResponse]{@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} + * + * @typedef AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AsyncBatchAnnotateFilesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The desired input location and metadata. + * + * @property {Object} gcsSource + * The Google Cloud Storage location to read the input from. + * + * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1p4beta1.GcsSource} + * + * @property {string} content + * File content, represented as a stream of bytes. + * Note: As with all `bytes` fields, protobuffers use a pure binary + * representation, whereas JSON representations use base64. + * + * Currently, this field only works for BatchAnnotateFiles requests. It does + * not work for AsyncBatchAnnotateFiles requests. + * + * @property {string} mimeType + * The type of the file. Currently only "application/pdf" and "image/tiff" + * are supported. Wildcards are not supported. + * + * @typedef InputConfig + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const InputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The desired output location and metadata. + * + * @property {Object} gcsDestination + * The Google Cloud Storage location to write the output(s) to. + * + * This object should have the same structure as [GcsDestination]{@link google.cloud.vision.v1p4beta1.GcsDestination} + * + * @property {number} batchSize + * The max number of response protos to put into each output JSON file on + * Google Cloud Storage. + * The valid range is [1, 100]. If not specified, the default value is 20. + * + * For example, for one pdf file with 100 pages, 100 response protos will + * be generated. If `batch_size` = 20, then 5 json files each + * containing 20 response protos will be written under the prefix + * `gcs_destination`.`uri`. + * + * Currently, batch_size only applies to GcsDestination, with potential future + * support for other output configurations. + * + * @typedef OutputConfig + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const OutputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location where the input will be read from. + * + * @property {string} uri + * Google Cloud Storage URI for the input file. This must only be a + * Google Cloud Storage object. Wildcards are not currently supported. + * + * @typedef GcsSource + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const GcsSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location where the output will be written to. + * + * @property {string} uri + * Google Cloud Storage URI where the results will be stored. Results will + * be in JSON format and preceded by its corresponding input URI. This field + * can either represent a single file, or a prefix for multiple outputs. + * Prefixes must end in a `/`. + * + * Examples: + * + * * File: gs://bucket-name/filename.json + * * Prefix: gs://bucket-name/prefix/here/ + * * File: gs://bucket-name/prefix/here + * + * If multiple outputs, each response is still AnnotateFileResponse, each of + * which contains some subset of the full list of AnnotateImageResponse. + * Multiple outputs can happen if, for example, the output JSON is too large + * and overflows into multiple sharded files. + * + * @typedef GcsDestination + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const GcsDestination = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Contains metadata for the BatchAnnotateImages operation. + * + * @property {number} state + * Current state of the batch operation. + * + * The number should be among the values of [State]{@link google.cloud.vision.v1p4beta1.State} + * + * @property {Object} createTime + * The time when the batch request was received. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} updateTime + * The time when the operation result was last updated. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef OperationMetadata + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const OperationMetadata = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Batch operation states. + * + * @enum {number} + * @memberof google.cloud.vision.v1p4beta1 + */ + State: { + + /** + * Invalid. + */ + STATE_UNSPECIFIED: 0, + + /** + * Request is received. + */ + CREATED: 1, + + /** + * Request is actively being processed. + */ + RUNNING: 2, + + /** + * The batch processing is done. + */ + DONE: 3, + + /** + * The batch processing was cancelled. + */ + CANCELLED: 4 + } +}; + +/** + * A bucketized representation of likelihood, which is intended to give clients + * highly stable results across model upgrades. + * + * @enum {number} + * @memberof google.cloud.vision.v1p4beta1 + */ +const Likelihood = { + + /** + * Unknown likelihood. + */ + UNKNOWN: 0, + + /** + * It is very unlikely that the image belongs to the specified vertical. + */ + VERY_UNLIKELY: 1, + + /** + * It is unlikely that the image belongs to the specified vertical. + */ + UNLIKELY: 2, + + /** + * It is possible that the image belongs to the specified vertical. + */ + POSSIBLE: 3, + + /** + * It is likely that the image belongs to the specified vertical. + */ + LIKELY: 4, + + /** + * It is very likely that the image belongs to the specified vertical. + */ + VERY_LIKELY: 5 +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js new file mode 100644 index 00000000000..05f05474e0d --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js @@ -0,0 +1,128 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Parameters for a product search request. + * + * @property {Object} boundingPoly + * The bounding polygon around the area of interest in the image. + * Optional. If it is not specified, system discretion will be applied. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {string} productSet + * The resource name of a ProductSet to be searched for similar images. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + * + * @property {string[]} productCategories + * The list of product categories to search in. Currently, we only consider + * the first category, and either "homegoods", "apparel", or "toys" should be + * specified. + * + * @property {string} filter + * The filtering expression. This can be used to restrict search results based + * on Product labels. We currently support an AND of OR of key-value + * expressions, where each expression within an OR must have the same key. + * + * For example, "(color = red OR color = blue) AND brand = Google" is + * acceptable, but not "(color = red OR brand = Google)" or "color: red". + * + * @typedef ProductSearchParams + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ProductSearchParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} + */ +const ProductSearchParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Results for a product search request. + * + * @property {Object} indexTime + * Timestamp of the index which provided these results. Changes made after + * this time are not reflected in the current results. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object[]} results + * List of results, one for each product match. + * + * This object should have the same structure as [Result]{@link google.cloud.vision.v1p4beta1.Result} + * + * @property {Object[]} productGroupedResults + * List of results grouped by products detected in the query image. Each entry + * corresponds to one bounding polygon in the query image, and contains the + * matching products specific to that region. There may be duplicate product + * matches in the union of all the per-product results. + * + * This object should have the same structure as [GroupedResult]{@link google.cloud.vision.v1p4beta1.GroupedResult} + * + * @typedef ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ProductSearchResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} + */ +const ProductSearchResults = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Information about a product. + * + * @property {Object} product + * The Product. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} + * + * @property {number} score + * A confidence level on the match, ranging from 0 (no confidence) to + * 1 (full confidence). + * + * @property {string} image + * The resource name of the image from the product that is the closest match + * to the query. + * + * @typedef Result + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ProductSearchResults.Result definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} + */ + Result: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Information about the products similar to a single product in a query + * image. + * + * @property {Object} boundingPoly + * The bounding polygon around the product detected in the query image. + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {Object[]} results + * List of results, one for each product match. + * + * This object should have the same structure as [Result]{@link google.cloud.vision.v1p4beta1.Result} + * + * @typedef GroupedResult + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} + */ + GroupedResult: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js new file mode 100644 index 00000000000..71881ce3edd --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js @@ -0,0 +1,834 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A Product contains ReferenceImages. + * + * @property {string} name + * The resource name of the product. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * + * This field is ignored when creating a product. + * + * @property {string} displayName + * The user-provided name for this Product. Must not be empty. Must be at most + * 4096 characters long. + * + * @property {string} description + * User-provided metadata to be stored with this product. Must be at most 4096 + * characters long. + * + * @property {string} productCategory + * The category for the product identified by the reference image. This should + * be either "homegoods", "apparel", or "toys". + * + * This field is immutable. + * + * @property {Object[]} productLabels + * Key-value pairs that can be attached to a product. At query time, + * constraints can be specified based on the product_labels. + * + * Note that integer values can be provided as strings, e.g. "1199". Only + * strings with integer values can match a range-based restriction which is + * to be supported soon. + * + * Multiple values can be assigned to the same key. One product may have up to + * 100 product_labels. + * + * This object should have the same structure as [KeyValue]{@link google.cloud.vision.v1p4beta1.KeyValue} + * + * @typedef Product + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Product definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const Product = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * A product label represented as a key-value pair. + * + * @property {string} key + * The key of the label attached to the product. Cannot be empty and cannot + * exceed 128 bytes. + * + * @property {string} value + * The value of the label attached to the product. Cannot be empty and + * cannot exceed 128 bytes. + * + * @typedef KeyValue + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Product.KeyValue definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ + KeyValue: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * A ProductSet contains Products. A ProductSet can contain a maximum of 1 + * million reference images. If the limit is exceeded, periodic indexing will + * fail. + * + * @property {string} name + * The resource name of the ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. + * + * This field is ignored when creating a ProductSet. + * + * @property {string} displayName + * The user-provided name for this ProductSet. Must not be empty. Must be at + * most 4096 characters long. + * + * @property {Object} indexTime + * Output only. The time at which this ProductSet was last indexed. Query + * results will reflect all updates before this time. If this ProductSet has + * never been indexed, this timestamp is the default value + * "1970-01-01T00:00:00Z". + * + * This field is ignored when creating a ProductSet. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} indexError + * Output only. If there was an error with indexing the product set, the field + * is populated. + * + * This field is ignored when creating a ProductSet. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef ProductSet + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ProductSet definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ProductSet = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A `ReferenceImage` represents a product image and its associated metadata, + * such as bounding boxes. + * + * @property {string} name + * The resource name of the reference image. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * + * This field is ignored when creating a reference image. + * + * @property {string} uri + * The Google Cloud Storage URI of the reference image. + * + * The URI must start with `gs://`. + * + * Required. + * + * @property {Object[]} boundingPolys + * Bounding polygons around the areas of interest in the reference image. + * Optional. If this field is empty, the system will try to detect regions of + * interest. At most 10 bounding polygons will be used. + * + * The provided shape is converted into a non-rotated rectangle. Once + * converted, the small edge of the rectangle must be greater than or equal + * to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 + * is not). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @typedef ReferenceImage + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ReferenceImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ReferenceImage = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `CreateProduct` method. + * + * @property {string} parent + * The project in which the Product should be created. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {Object} product + * The product to create. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} + * + * @property {string} productId + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * + * @typedef CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.CreateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const CreateProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListProducts` method. + * + * @property {string} parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ListProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ListProductsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListProducts` method. + * + * @property {Object[]} products + * List of products. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} + * + * @property {string} nextPageToken + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + * + * @typedef ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ListProductsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ListProductsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `GetProduct` method. + * + * @property {string} name + * Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef GetProductRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.GetProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const GetProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `UpdateProduct` method. + * + * @property {Object} product + * The Product resource which replaces the one on the server. + * product.name is immutable. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} + * + * @property {Object} updateMask + * The FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * + * @typedef UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.UpdateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const UpdateProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `DeleteProduct` method. + * + * @property {string} name + * Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.DeleteProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const DeleteProductRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `CreateProductSet` method. + * + * @property {string} parent + * The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {Object} productSet + * The ProductSet to create. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} + * + * @property {string} productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * + * @typedef CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.CreateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const CreateProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListProductSets` method. + * + * @property {string} parent + * The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ListProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ListProductSetsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListProductSets` method. + * + * @property {Object[]} productSets + * List of ProductSets. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} + * + * @property {string} nextPageToken + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + * + * @typedef ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ListProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ListProductSetsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `GetProductSet` method. + * + * @property {string} name + * Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * + * @typedef GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.GetProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const GetProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `UpdateProductSet` method. + * + * @property {Object} productSet + * The ProductSet resource which replaces the one on the server. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} + * + * @property {Object} updateMask + * The FieldMask that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * + * @typedef UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.UpdateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const UpdateProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `DeleteProductSet` method. + * + * @property {string} name + * Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @typedef DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.DeleteProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const DeleteProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `CreateReferenceImage` method. + * + * @property {string} parent + * Resource name of the product in which to create the reference image. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * + * @property {Object} referenceImage + * The reference image to create. + * If an image ID is specified, it is ignored. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} + * + * @property {string} referenceImageId + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + * + * @typedef CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.CreateReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const CreateReferenceImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListReferenceImages` method. + * + * @property {string} parent + * Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * + * @typedef ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ListReferenceImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ListReferenceImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListReferenceImages` method. + * + * @property {Object[]} referenceImages + * The list of reference images. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} nextPageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ListReferenceImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ListReferenceImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `GetReferenceImage` method. + * + * @property {string} name + * The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * + * @typedef GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.GetReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const GetReferenceImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `DeleteReferenceImage` method. + * + * @property {string} name + * The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * + * @typedef DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const DeleteReferenceImageRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `AddProductToProductSet` method. + * + * @property {string} name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @property {string} product + * The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AddProductToProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const AddProductToProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `RemoveProductFromProductSet` method. + * + * @property {string} name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @property {string} product + * The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * + * @typedef RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const RemoveProductFromProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ListProductsInProductSet` method. + * + * @property {string} name + * The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * + * @property {number} pageSize + * The maximum number of items to return. Default 10, maximum 100. + * + * @property {string} pageToken + * The next_page_token returned from a previous List request, if any. + * + * @typedef ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ListProductsInProductSetRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ListProductsInProductSet` method. + * + * @property {Object[]} products + * The list of Products. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} + * + * @property {string} nextPageToken + * Token to retrieve the next page of results, or empty if there are no more + * results in the list. + * + * @typedef ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ListProductsInProductSetResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The Google Cloud Storage location for a csv file which preserves a list of + * ImportProductSetRequests in each line. + * + * @property {string} csvFileUri + * The Google Cloud Storage URI of the input csv file. + * + * The URI must start with `gs://`. + * + * The format of the input csv file should be one image per line. + * In each line, there are 8 columns. + * + * 1. image-uri + * 2. image-id + * 3. product-set-id + * 4. product-id + * 5. product-category + * 6. product-display-name + * 7. labels + * 8. bounding-poly + * + * The `image-uri`, `product-set-id`, `product-id`, and `product-category` + * columns are required. All other columns are optional. + * + * If the `ProductSet` or `Product` specified by the `product-set-id` and + * `product-id` values does not exist, then the system will create a new + * `ProductSet` or `Product` for the image. In this case, the + * `product-display-name` column refers to + * display_name, the + * `product-category` column refers to + * product_category, and the + * `labels` column refers to product_labels. + * + * The `image-id` column is optional but must be unique if provided. If it is + * empty, the system will automatically assign a unique id to the image. + * + * The `product-display-name` column is optional. If it is empty, the system + * sets the display_name field for the product to a + * space (" "). You can update the `display_name` later by using the API. + * + * If a `Product` with the specified `product-id` already exists, then the + * system ignores the `product-display-name`, `product-category`, and `labels` + * columns. + * + * The `labels` column (optional) is a line containing a list of + * comma-separated key-value pairs, in the following format: + * + * "key_1=value_1,key_2=value_2,...,key_n=value_n" + * + * The `bounding-poly` column (optional) identifies one region of + * interest from the image in the same manner as `CreateReferenceImage`. If + * you do not specify the `bounding-poly` column, then the system will try to + * detect regions of interest automatically. + * + * At most one `bounding-poly` column is allowed per line. If the image + * contains multiple regions of interest, add a line to the CSV file that + * includes the same product information, and the `bounding-poly` values for + * each region of interest. + * + * The `bounding-poly` column must contain an even number of comma-separated + * numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Use + * non-negative integers for absolute bounding polygons, and float values + * in [0, 1] for normalized bounding polygons. + * + * The system will resize the image if the image resolution is too + * large to process (larger than 20MP). + * + * @typedef ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ImportProductSetsGcsSource = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * The input content for the `ImportProductSets` method. + * + * @property {Object} gcsSource + * The Google Cloud Storage location for a csv file which preserves a list + * of ImportProductSetRequests in each line. + * + * This object should have the same structure as [ImportProductSetsGcsSource]{@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} + * + * @typedef ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ImportProductSetsInputConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `ImportProductSets` method. + * + * @property {string} parent + * The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {Object} inputConfig + * The input content for the list of requests. + * + * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} + * + * @typedef ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ImportProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ImportProductSetsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response message for the `ImportProductSets` method. + * + * This message is returned by the + * google.longrunning.Operations.GetOperation method in the returned + * google.longrunning.Operation.response field. + * + * @property {Object[]} referenceImages + * The list of reference_images that are imported successfully. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} + * + * @property {Object[]} statuses + * The rpc status for each ImportProductSet request, including both successes + * and errors. + * + * The number of statuses here matches the number of lines in the csv file, + * and statuses[i] stores the success or failure status of processing the i-th + * line of the csv, starting from line 0. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef ImportProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ImportProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ImportProductSetsResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Metadata for the batch operations such as the current state. + * + * This is included in the `metadata` field of the `Operation` returned by the + * `GetOperation` call of the `google::longrunning::Operations` service. + * + * @property {number} state + * The current state of the batch operation. + * + * The number should be among the values of [State]{@link google.cloud.vision.v1p4beta1.State} + * + * @property {Object} submitTime + * The time when the batch request was submitted to the server. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @property {Object} endTime + * The time when the batch request is finished and + * google.longrunning.Operation.done is set to true. + * + * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} + * + * @typedef BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.BatchOperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const BatchOperationMetadata = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Enumerates the possible states that the batch request can be in. + * + * @enum {number} + * @memberof google.cloud.vision.v1p4beta1 + */ + State: { + + /** + * Invalid. + */ + STATE_UNSPECIFIED: 0, + + /** + * Request is actively being processed. + */ + PROCESSING: 1, + + /** + * The request is done and at least one item has been successfully + * processed. + */ + SUCCESSFUL: 2, + + /** + * The request is done and no item has been successfully processed. + */ + FAILED: 3, + + /** + * The request is done after the longrunning.Operations.CancelOperation has + * been called by the user. Any records that were processed before the + * cancel command are output as specified in the request. + */ + CANCELLED: 4 + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js new file mode 100644 index 00000000000..3024b97f63f --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js @@ -0,0 +1,392 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * TextAnnotation contains a structured representation of OCR extracted text. + * The hierarchy of an OCR extracted text structure is like this: + * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + * Each structural component, starting from Page, may further have their own + * properties. Properties describe detected languages, breaks etc.. Please refer + * to the TextAnnotation.TextProperty message definition below for more + * detail. + * + * @property {Object[]} pages + * List of pages detected by OCR. + * + * This object should have the same structure as [Page]{@link google.cloud.vision.v1p4beta1.Page} + * + * @property {string} text + * UTF-8 text detected on the pages. + * + * @typedef TextAnnotation + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} + */ +const TextAnnotation = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Detected language for a structural component. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {number} confidence + * Confidence of detected language. Range [0, 1]. + * + * @typedef DetectedLanguage + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} + */ + DetectedLanguage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Detected start or end of a structural component. + * + * @property {number} type + * Detected break type. + * + * The number should be among the values of [BreakType]{@link google.cloud.vision.v1p4beta1.BreakType} + * + * @property {boolean} isPrefix + * True if break prepends the element. + * + * @typedef DetectedBreak + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} + */ + DetectedBreak: { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Enum to denote the type of break found. New line, space etc. + * + * @enum {number} + * @memberof google.cloud.vision.v1p4beta1 + */ + BreakType: { + + /** + * Unknown break label type. + */ + UNKNOWN: 0, + + /** + * Regular space. + */ + SPACE: 1, + + /** + * Sure space (very wide). + */ + SURE_SPACE: 2, + + /** + * Line-wrapping break. + */ + EOL_SURE_SPACE: 3, + + /** + * End-line hyphen that is not present in text; does not co-occur with + * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. + */ + HYPHEN: 4, + + /** + * Line break that ends a paragraph. + */ + LINE_BREAK: 5 + } + }, + + /** + * Additional information detected on the structural component. + * + * @property {Object[]} detectedLanguages + * A list of detected languages together with confidence. + * + * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1p4beta1.DetectedLanguage} + * + * @property {Object} detectedBreak + * Detected start or end of a text segment. + * + * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1p4beta1.DetectedBreak} + * + * @typedef TextProperty + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} + */ + TextProperty: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; + +/** + * Detected page from OCR. + * + * @property {Object} property + * Additional information detected on the page. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} + * + * @property {number} width + * Page width. For PDFs the unit is points. For images (including + * TIFFs) the unit is pixels. + * + * @property {number} height + * Page height. For PDFs the unit is points. For images (including + * TIFFs) the unit is pixels. + * + * @property {Object[]} blocks + * List of blocks of text, images etc on this page. + * + * This object should have the same structure as [Block]{@link google.cloud.vision.v1p4beta1.Block} + * + * @property {number} confidence + * Confidence of the OCR results on the page. Range [0, 1]. + * + * @typedef Page + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} + */ +const Page = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Logical element on the page. + * + * @property {Object} property + * Additional information detected for the block. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the block. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * + * * when the text is horizontal it might look like: + * + * 0----1 + * | | + * 3----2 + * + * * when it's rotated 180 degrees around the top-left corner it becomes: + * + * 2----3 + * | | + * 1----0 + * + * and the vertex order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {Object[]} paragraphs + * List of paragraphs in this block (if this blocks is of type text). + * + * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1p4beta1.Paragraph} + * + * @property {number} blockType + * Detected block type (text, image etc) for this block. + * + * The number should be among the values of [BlockType]{@link google.cloud.vision.v1p4beta1.BlockType} + * + * @property {number} confidence + * Confidence of the OCR results on the block. Range [0, 1]. + * + * @typedef Block + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} + */ +const Block = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Type of a block (text, image etc) as identified by OCR. + * + * @enum {number} + * @memberof google.cloud.vision.v1p4beta1 + */ + BlockType: { + + /** + * Unknown block type. + */ + UNKNOWN: 0, + + /** + * Regular text block. + */ + TEXT: 1, + + /** + * Table block. + */ + TABLE: 2, + + /** + * Image block. + */ + PICTURE: 3, + + /** + * Horizontal/vertical line box. + */ + RULER: 4, + + /** + * Barcode block. + */ + BARCODE: 5 + } +}; + +/** + * Structural unit of text representing a number of words in certain order. + * + * @property {Object} property + * Additional information detected for the paragraph. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the paragraph. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertex order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {Object[]} words + * List of words in this paragraph. + * + * This object should have the same structure as [Word]{@link google.cloud.vision.v1p4beta1.Word} + * + * @property {number} confidence + * Confidence of the OCR results for the paragraph. Range [0, 1]. + * + * @typedef Paragraph + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} + */ +const Paragraph = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A word representation. + * + * @property {Object} property + * Additional information detected for the word. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the word. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertex order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {Object[]} symbols + * List of symbols in the word. + * The order of the symbols follows the natural reading order. + * + * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1p4beta1.Symbol} + * + * @property {number} confidence + * Confidence of the OCR results for the word. Range [0, 1]. + * + * @typedef Word + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} + */ +const Word = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A single symbol representation. + * + * @property {Object} property + * Additional information detected for the symbol. + * + * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} + * + * @property {Object} boundingBox + * The bounding box for the symbol. + * The vertices are in the order of top-left, top-right, bottom-right, + * bottom-left. When a rotation of the bounding box is detected the rotation + * is represented as around the top-left corner as defined when the text is + * read in the 'natural' orientation. + * For example: + * * when the text is horizontal it might look like: + * 0----1 + * | | + * 3----2 + * * when it's rotated 180 degrees around the top-left corner it becomes: + * 2----3 + * | | + * 1----0 + * and the vertice order will still be (0, 1, 2, 3). + * + * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} + * + * @property {string} text + * The actual UTF-8 representation of the symbol. + * + * @property {number} confidence + * Confidence of the OCR results for the symbol. Range [0, 1]. + * + * @typedef Symbol + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} + */ +const Symbol = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js new file mode 100644 index 00000000000..4678c875fe6 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js @@ -0,0 +1,152 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Relevant information for the image from the Internet. + * + * @property {Object[]} webEntities + * Deduced entities from similar images on the Internet. + * + * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1p4beta1.WebEntity} + * + * @property {Object[]} fullMatchingImages + * Fully matching images from the Internet. + * Can include resized copies of the query image. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images from the Internet. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its crops. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} + * + * @property {Object[]} pagesWithMatchingImages + * Web pages containing the matching images from the Internet. + * + * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1p4beta1.WebPage} + * + * @property {Object[]} visuallySimilarImages + * The visually similar image results. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} + * + * @property {Object[]} bestGuessLabels + * The service's best guess as to the topic of the request image. + * Inferred from similar images on the open web. + * + * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1p4beta1.WebLabel} + * + * @typedef WebDetection + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} + */ +const WebDetection = { + // This is for documentation. Actual contents will be loaded by gRPC. + + /** + * Entity deduced from similar images on the Internet. + * + * @property {string} entityId + * Opaque entity ID. + * + * @property {number} score + * Overall relevancy score for the entity. + * Not normalized and not comparable across different image queries. + * + * @property {string} description + * Canonical description of the entity, in English. + * + * @typedef WebEntity + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} + */ + WebEntity: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for online images. + * + * @property {string} url + * The result image URL. + * + * @property {number} score + * (Deprecated) Overall relevancy score for the image. + * + * @typedef WebImage + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} + */ + WebImage: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Label to provide extra metadata for the web detection. + * + * @property {string} label + * Label for extra metadata. + * + * @property {string} languageCode + * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @typedef WebLabel + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} + */ + WebLabel: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Metadata for web pages. + * + * @property {string} url + * The result web page URL. + * + * @property {number} score + * (Deprecated) Overall relevancy score for the web page. + * + * @property {string} pageTitle + * Title for the web page, may contain HTML markups. + * + * @property {Object[]} fullMatchingImages + * Fully matching images on the page. + * Can include resized copies of the query image. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} + * + * @property {Object[]} partialMatchingImages + * Partial matching images on the page. + * Those images are similar enough to share some key-point features. For + * example an original image will likely have partial matching for its + * crops. + * + * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} + * + * @typedef WebPage + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} + */ + WebPage: { + // This is for documentation. Actual contents will be loaded by gRPC. + } +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js new file mode 100644 index 00000000000..bd03cc3da0e --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js @@ -0,0 +1,63 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * This resource represents a long-running operation that is the result of a + * network API call. + * + * @property {string} name + * The server-assigned name, which is only unique within the same service that + * originally returns it. If you use the default HTTP mapping, the + * `name` should have the format of `operations/some/unique/name`. + * + * @property {Object} metadata + * Service-specific metadata associated with the operation. It typically + * contains progress information and common metadata such as create time. + * Some services might not provide such metadata. Any method that returns a + * long-running operation should document the metadata type, if any. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @property {boolean} done + * If the value is `false`, it means the operation is still in progress. + * If true, the operation is completed, and either `error` or `response` is + * available. + * + * @property {Object} error + * The error result of the operation in case of failure or cancellation. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @property {Object} response + * The normal response of the operation in case of success. If the original + * method returns no data on success, such as `Delete`, the response is + * `google.protobuf.Empty`. If the original method is standard + * `Get`/`Create`/`Update`, the response should be the resource. For other + * methods, the response should have the type `XxxResponse`, where `Xxx` + * is the original method name. For example, if the original method name + * is `TakeSnapshot()`, the inferred response type is + * `TakeSnapshotResponse`. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @typedef Operation + * @memberof google.longrunning + * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} + */ +const Operation = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js new file mode 100644 index 00000000000..f3278b34e66 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js @@ -0,0 +1,136 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * `Any` contains an arbitrary serialized protocol buffer message along with a + * URL that describes the type of the serialized message. + * + * Protobuf library provides support to pack/unpack Any values in the form + * of utility functions or additional generated methods of the Any type. + * + * Example 1: Pack and unpack a message in C++. + * + * Foo foo = ...; + * Any any; + * any.PackFrom(foo); + * ... + * if (any.UnpackTo(&foo)) { + * ... + * } + * + * Example 2: Pack and unpack a message in Java. + * + * Foo foo = ...; + * Any any = Any.pack(foo); + * ... + * if (any.is(Foo.class)) { + * foo = any.unpack(Foo.class); + * } + * + * Example 3: Pack and unpack a message in Python. + * + * foo = Foo(...) + * any = Any() + * any.Pack(foo) + * ... + * if any.Is(Foo.DESCRIPTOR): + * any.Unpack(foo) + * ... + * + * Example 4: Pack and unpack a message in Go + * + * foo := &pb.Foo{...} + * any, err := ptypes.MarshalAny(foo) + * ... + * foo := &pb.Foo{} + * if err := ptypes.UnmarshalAny(any, foo); err != nil { + * ... + * } + * + * The pack methods provided by protobuf library will by default use + * 'type.googleapis.com/full.type.name' as the type URL and the unpack + * methods only use the fully qualified type name after the last '/' + * in the type URL, for example "foo.bar.com/x/y.z" will yield type + * name "y.z". + * + * + * # JSON + * + * The JSON representation of an `Any` value uses the regular + * representation of the deserialized, embedded message, with an + * additional field `@type` which contains the type URL. Example: + * + * package google.profile; + * message Person { + * string first_name = 1; + * string last_name = 2; + * } + * + * { + * "@type": "type.googleapis.com/google.profile.Person", + * "firstName": , + * "lastName": + * } + * + * If the embedded message type is well-known and has a custom JSON + * representation, that representation will be embedded adding a field + * `value` which holds the custom JSON in addition to the `@type` + * field. Example (for message google.protobuf.Duration): + * + * { + * "@type": "type.googleapis.com/google.protobuf.Duration", + * "value": "1.212s" + * } + * + * @property {string} typeUrl + * A URL/resource name that uniquely identifies the type of the serialized + * protocol buffer message. The last segment of the URL's path must represent + * the fully qualified name of the type (as in + * `path/google.protobuf.Duration`). The name should be in a canonical form + * (e.g., leading "." is not accepted). + * + * In practice, teams usually precompile into the binary all types that they + * expect it to use in the context of Any. However, for URLs which use the + * scheme `http`, `https`, or no scheme, one can optionally set up a type + * server that maps type URLs to message definitions as follows: + * + * * If no scheme is provided, `https` is assumed. + * * An HTTP GET on the URL must yield a google.protobuf.Type + * value in binary format, or produce an error. + * * Applications are allowed to cache lookup results based on the + * URL, or have them precompiled into a binary to avoid any + * lookup. Therefore, binary compatibility needs to be preserved + * on changes to types. (Use versioned type names to manage + * breaking changes.) + * + * Note: this functionality is not currently available in the official + * protobuf release, and it is not used for type URLs beginning with + * type.googleapis.com. + * + * Schemes other than `http`, `https` (or the empty scheme) might be + * used with implementation specific semantics. + * + * @property {string} value + * Must be a valid serialized protocol buffer of the above specified type. + * + * @typedef Any + * @memberof google.protobuf + * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} + */ +const Any = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js new file mode 100644 index 00000000000..0b446dd9ce4 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js @@ -0,0 +1,34 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A generic empty message that you can re-use to avoid defining duplicated + * empty messages in your APIs. A typical example is to use it as the request + * or the response type of an API method. For instance: + * + * service Foo { + * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + * } + * + * The JSON representation for `Empty` is empty JSON object `{}`. + * @typedef Empty + * @memberof google.protobuf + * @see [google.protobuf.Empty definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/empty.proto} + */ +const Empty = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js new file mode 100644 index 00000000000..d55d97e6e38 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js @@ -0,0 +1,236 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * `FieldMask` represents a set of symbolic field paths, for example: + * + * paths: "f.a" + * paths: "f.b.d" + * + * Here `f` represents a field in some root message, `a` and `b` + * fields in the message found in `f`, and `d` a field found in the + * message in `f.b`. + * + * Field masks are used to specify a subset of fields that should be + * returned by a get operation or modified by an update operation. + * Field masks also have a custom JSON encoding (see below). + * + * # Field Masks in Projections + * + * When used in the context of a projection, a response message or + * sub-message is filtered by the API to only contain those fields as + * specified in the mask. For example, if the mask in the previous + * example is applied to a response message as follows: + * + * f { + * a : 22 + * b { + * d : 1 + * x : 2 + * } + * y : 13 + * } + * z: 8 + * + * The result will not contain specific values for fields x,y and z + * (their value will be set to the default, and omitted in proto text + * output): + * + * + * f { + * a : 22 + * b { + * d : 1 + * } + * } + * + * A repeated field is not allowed except at the last position of a + * paths string. + * + * If a FieldMask object is not present in a get operation, the + * operation applies to all fields (as if a FieldMask of all fields + * had been specified). + * + * Note that a field mask does not necessarily apply to the + * top-level response message. In case of a REST get operation, the + * field mask applies directly to the response, but in case of a REST + * list operation, the mask instead applies to each individual message + * in the returned resource list. In case of a REST custom method, + * other definitions may be used. Where the mask applies will be + * clearly documented together with its declaration in the API. In + * any case, the effect on the returned resource/resources is required + * behavior for APIs. + * + * # Field Masks in Update Operations + * + * A field mask in update operations specifies which fields of the + * targeted resource are going to be updated. The API is required + * to only change the values of the fields as specified in the mask + * and leave the others untouched. If a resource is passed in to + * describe the updated values, the API ignores the values of all + * fields not covered by the mask. + * + * If a repeated field is specified for an update operation, the existing + * repeated values in the target resource will be overwritten by the new values. + * Note that a repeated field is only allowed in the last position of a `paths` + * string. + * + * If a sub-message is specified in the last position of the field mask for an + * update operation, then the existing sub-message in the target resource is + * overwritten. Given the target message: + * + * f { + * b { + * d : 1 + * x : 2 + * } + * c : 1 + * } + * + * And an update message: + * + * f { + * b { + * d : 10 + * } + * } + * + * then if the field mask is: + * + * paths: "f.b" + * + * then the result will be: + * + * f { + * b { + * d : 10 + * } + * c : 1 + * } + * + * However, if the update mask was: + * + * paths: "f.b.d" + * + * then the result would be: + * + * f { + * b { + * d : 10 + * x : 2 + * } + * c : 1 + * } + * + * In order to reset a field's value to the default, the field must + * be in the mask and set to the default value in the provided resource. + * Hence, in order to reset all fields of a resource, provide a default + * instance of the resource and set all fields in the mask, or do + * not provide a mask as described below. + * + * If a field mask is not present on update, the operation applies to + * all fields (as if a field mask of all fields has been specified). + * Note that in the presence of schema evolution, this may mean that + * fields the client does not know and has therefore not filled into + * the request will be reset to their default. If this is unwanted + * behavior, a specific service may require a client to always specify + * a field mask, producing an error if not. + * + * As with get operations, the location of the resource which + * describes the updated values in the request message depends on the + * operation kind. In any case, the effect of the field mask is + * required to be honored by the API. + * + * ## Considerations for HTTP REST + * + * The HTTP kind of an update operation which uses a field mask must + * be set to PATCH instead of PUT in order to satisfy HTTP semantics + * (PUT must only be used for full updates). + * + * # JSON Encoding of Field Masks + * + * In JSON, a field mask is encoded as a single string where paths are + * separated by a comma. Fields name in each path are converted + * to/from lower-camel naming conventions. + * + * As an example, consider the following message declarations: + * + * message Profile { + * User user = 1; + * Photo photo = 2; + * } + * message User { + * string display_name = 1; + * string address = 2; + * } + * + * In proto a field mask for `Profile` may look as such: + * + * mask { + * paths: "user.display_name" + * paths: "photo" + * } + * + * In JSON, the same mask is represented as below: + * + * { + * mask: "user.displayName,photo" + * } + * + * # Field Masks and Oneof Fields + * + * Field masks treat fields in oneofs just as regular fields. Consider the + * following message: + * + * message SampleMessage { + * oneof test_oneof { + * string name = 4; + * SubMessage sub_message = 9; + * } + * } + * + * The field mask can be: + * + * mask { + * paths: "name" + * } + * + * Or: + * + * mask { + * paths: "sub_message" + * } + * + * Note that oneof type names ("test_oneof" in this case) cannot be used in + * paths. + * + * ## Field Mask Verification + * + * The implementation of any API method which has a FieldMask type field in the + * request should verify the included field paths, and return an + * `INVALID_ARGUMENT` error if any path is duplicated or unmappable. + * + * @property {string[]} paths + * The set of field mask paths. + * + * @typedef FieldMask + * @memberof google.protobuf + * @see [google.protobuf.FieldMask definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/field_mask.proto} + */ +const FieldMask = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js new file mode 100644 index 00000000000..b47f41c2b30 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js @@ -0,0 +1,113 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * A Timestamp represents a point in time independent of any time zone + * or calendar, represented as seconds and fractions of seconds at + * nanosecond resolution in UTC Epoch time. It is encoded using the + * Proleptic Gregorian Calendar which extends the Gregorian calendar + * backwards to year one. It is encoded assuming all minutes are 60 + * seconds long, i.e. leap seconds are "smeared" so that no leap second + * table is needed for interpretation. Range is from + * 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. + * By restricting to that range, we ensure that we can convert to + * and from RFC 3339 date strings. + * See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + * + * # Examples + * + * Example 1: Compute Timestamp from POSIX `time()`. + * + * Timestamp timestamp; + * timestamp.set_seconds(time(NULL)); + * timestamp.set_nanos(0); + * + * Example 2: Compute Timestamp from POSIX `gettimeofday()`. + * + * struct timeval tv; + * gettimeofday(&tv, NULL); + * + * Timestamp timestamp; + * timestamp.set_seconds(tv.tv_sec); + * timestamp.set_nanos(tv.tv_usec * 1000); + * + * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + * + * FILETIME ft; + * GetSystemTimeAsFileTime(&ft); + * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + * + * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + * Timestamp timestamp; + * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + * + * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + * + * long millis = System.currentTimeMillis(); + * + * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + * .setNanos((int) ((millis % 1000) * 1000000)).build(); + * + * + * Example 5: Compute Timestamp from current time in Python. + * + * timestamp = Timestamp() + * timestamp.GetCurrentTime() + * + * # JSON Mapping + * + * In JSON format, the Timestamp type is encoded as a string in the + * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + * where {year} is always expressed using four digits while {month}, {day}, + * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + * is required. A proto3 JSON serializer should always use UTC (as indicated by + * "Z") when printing the Timestamp type and a proto3 JSON parser should be + * able to accept both UTC and other timezones (as indicated by an offset). + * + * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + * 01:30 UTC on January 15, 2017. + * + * In JavaScript, one can convert a Date object to this format using the + * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + * method. In Python, a standard `datetime.datetime` object can be converted + * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) + * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one + * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--) to obtain a formatter capable of generating timestamps in this format. + * + * @property {number} seconds + * Represents seconds of UTC time since Unix epoch + * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + * 9999-12-31T23:59:59Z inclusive. + * + * @property {number} nanos + * Non-negative fractions of a second at nanosecond resolution. Negative + * second values with fractions must still have non-negative nanos values + * that count forward in time. Must be from 0 to 999,999,999 + * inclusive. + * + * @typedef Timestamp + * @memberof google.protobuf + * @see [google.protobuf.Timestamp definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto} + */ +const Timestamp = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js new file mode 100644 index 00000000000..71de58e0d6e --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js @@ -0,0 +1,32 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Wrapper message for `float`. + * + * The JSON representation for `FloatValue` is JSON number. + * + * @property {number} value + * The float value. + * + * @typedef FloatValue + * @memberof google.protobuf + * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} + */ +const FloatValue = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js new file mode 100644 index 00000000000..fc4b5be93f0 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js @@ -0,0 +1,92 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * The `Status` type defines a logical error model that is suitable for different + * programming environments, including REST APIs and RPC APIs. It is used by + * [gRPC](https://github.com/grpc). The error model is designed to be: + * + * - Simple to use and understand for most users + * - Flexible enough to meet unexpected needs + * + * # Overview + * + * The `Status` message contains three pieces of data: error code, error message, + * and error details. The error code should be an enum value of + * google.rpc.Code, but it may accept additional error codes if needed. The + * error message should be a developer-facing English message that helps + * developers *understand* and *resolve* the error. If a localized user-facing + * error message is needed, put the localized message in the error details or + * localize it in the client. The optional error details may contain arbitrary + * information about the error. There is a predefined set of error detail types + * in the package `google.rpc` that can be used for common error conditions. + * + * # Language mapping + * + * The `Status` message is the logical representation of the error model, but it + * is not necessarily the actual wire format. When the `Status` message is + * exposed in different client libraries and different wire protocols, it can be + * mapped differently. For example, it will likely be mapped to some exceptions + * in Java, but more likely mapped to some error codes in C. + * + * # Other uses + * + * The error model and the `Status` message can be used in a variety of + * environments, either with or without APIs, to provide a + * consistent developer experience across different environments. + * + * Example uses of this error model include: + * + * - Partial errors. If a service needs to return partial errors to the client, + * it may embed the `Status` in the normal response to indicate the partial + * errors. + * + * - Workflow errors. A typical workflow has multiple steps. Each step may + * have a `Status` message for error reporting. + * + * - Batch operations. If a client uses batch request and batch response, the + * `Status` message should be used directly inside batch response, one for + * each error sub-response. + * + * - Asynchronous operations. If an API call embeds asynchronous operation + * results in its response, the status of those operations should be + * represented directly using the `Status` message. + * + * - Logging. If some API errors are stored in logs, the message `Status` could + * be used directly after any stripping needed for security/privacy reasons. + * + * @property {number} code + * The status code, which should be an enum value of google.rpc.Code. + * + * @property {string} message + * A developer-facing error message, which should be in English. Any + * user-facing error message should be localized and sent in the + * google.rpc.Status.details field, or localized by the client. + * + * @property {Object[]} details + * A list of messages that carry the error details. There is a common set of + * message types for APIs to use. + * + * This object should have the same structure as [Any]{@link google.protobuf.Any} + * + * @typedef Status + * @memberof google.rpc + * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} + */ +const Status = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js new file mode 100644 index 00000000000..0b8c30004ce --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js @@ -0,0 +1,164 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Represents a color in the RGBA color space. This representation is designed + * for simplicity of conversion to/from color representations in various + * languages over compactness; for example, the fields of this representation + * can be trivially provided to the constructor of "java.awt.Color" in Java; it + * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" + * method in iOS; and, with just a little work, it can be easily formatted into + * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * + * Example (Java): + * + * import com.google.type.Color; + * + * // ... + * public static java.awt.Color fromProto(Color protocolor) { + * float alpha = protocolor.hasAlpha() + * ? protocolor.getAlpha().getValue() + * : 1.0; + * + * return new java.awt.Color( + * protocolor.getRed(), + * protocolor.getGreen(), + * protocolor.getBlue(), + * alpha); + * } + * + * public static Color toProto(java.awt.Color color) { + * float red = (float) color.getRed(); + * float green = (float) color.getGreen(); + * float blue = (float) color.getBlue(); + * float denominator = 255.0; + * Color.Builder resultBuilder = + * Color + * .newBuilder() + * .setRed(red / denominator) + * .setGreen(green / denominator) + * .setBlue(blue / denominator); + * int alpha = color.getAlpha(); + * if (alpha != 255) { + * result.setAlpha( + * FloatValue + * .newBuilder() + * .setValue(((float) alpha) / denominator) + * .build()); + * } + * return resultBuilder.build(); + * } + * // ... + * + * Example (iOS / Obj-C): + * + * // ... + * static UIColor* fromProto(Color* protocolor) { + * float red = [protocolor red]; + * float green = [protocolor green]; + * float blue = [protocolor blue]; + * FloatValue* alpha_wrapper = [protocolor alpha]; + * float alpha = 1.0; + * if (alpha_wrapper != nil) { + * alpha = [alpha_wrapper value]; + * } + * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; + * } + * + * static Color* toProto(UIColor* color) { + * CGFloat red, green, blue, alpha; + * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { + * return nil; + * } + * Color* result = [Color alloc] init]; + * [result setRed:red]; + * [result setGreen:green]; + * [result setBlue:blue]; + * if (alpha <= 0.9999) { + * [result setAlpha:floatWrapperWithValue(alpha)]; + * } + * [result autorelease]; + * return result; + * } + * // ... + * + * Example (JavaScript): + * + * // ... + * + * var protoToCssColor = function(rgb_color) { + * var redFrac = rgb_color.red || 0.0; + * var greenFrac = rgb_color.green || 0.0; + * var blueFrac = rgb_color.blue || 0.0; + * var red = Math.floor(redFrac * 255); + * var green = Math.floor(greenFrac * 255); + * var blue = Math.floor(blueFrac * 255); + * + * if (!('alpha' in rgb_color)) { + * return rgbToCssColor_(red, green, blue); + * } + * + * var alphaFrac = rgb_color.alpha.value || 0.0; + * var rgbParams = [red, green, blue].join(','); + * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); + * }; + * + * var rgbToCssColor_ = function(red, green, blue) { + * var rgbNumber = new Number((red << 16) | (green << 8) | blue); + * var hexString = rgbNumber.toString(16); + * var missingZeros = 6 - hexString.length; + * var resultBuilder = ['#']; + * for (var i = 0; i < missingZeros; i++) { + * resultBuilder.push('0'); + * } + * resultBuilder.push(hexString); + * return resultBuilder.join(''); + * }; + * + * // ... + * + * @property {number} red + * The amount of red in the color as a value in the interval [0, 1]. + * + * @property {number} green + * The amount of green in the color as a value in the interval [0, 1]. + * + * @property {number} blue + * The amount of blue in the color as a value in the interval [0, 1]. + * + * @property {Object} alpha + * The fraction of this color that should be applied to the pixel. That is, + * the final pixel color is defined by the equation: + * + * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) + * + * This means that a value of 1.0 corresponds to a solid color, whereas + * a value of 0.0 corresponds to a completely transparent color. This + * uses a wrapper message rather than a simple float scalar so that it is + * possible to distinguish between a default value and the value being unset. + * If omitted, this color object is to be rendered as a solid color + * (as if the alpha value had been explicitly given with a value of 1.0). + * + * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} + * + * @typedef Color + * @memberof google.type + * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} + */ +const Color = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js new file mode 100644 index 00000000000..37dca6bcf66 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js @@ -0,0 +1,71 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * An object representing a latitude/longitude pair. This is expressed as a pair + * of doubles representing degrees latitude and degrees longitude. Unless + * specified otherwise, this must conform to the + * WGS84 + * standard. Values must be within normalized ranges. + * + * Example of normalization code in Python: + * + * def NormalizeLongitude(longitude): + * """Wraps decimal degrees longitude to [-180.0, 180.0].""" + * q, r = divmod(longitude, 360.0) + * if r > 180.0 or (r == 180.0 and q <= -1.0): + * return r - 360.0 + * return r + * + * def NormalizeLatLng(latitude, longitude): + * """Wraps decimal degrees latitude and longitude to + * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" + * r = latitude % 360.0 + * if r <= 90.0: + * return r, NormalizeLongitude(longitude) + * elif r >= 270.0: + * return r - 360, NormalizeLongitude(longitude) + * else: + * return 180 - r, NormalizeLongitude(longitude + 180.0) + * + * assert 180.0 == NormalizeLongitude(180.0) + * assert -180.0 == NormalizeLongitude(-180.0) + * assert -179.0 == NormalizeLongitude(181.0) + * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) + * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) + * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) + * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) + * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) + * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) + * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) + * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) + * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) + * + * @property {number} latitude + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + * + * @property {number} longitude + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + * + * @typedef LatLng + * @memberof google.type + * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} + */ +const LatLng = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js new file mode 100644 index 00000000000..ce225754ba8 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -0,0 +1,544 @@ +// Copyright 2019 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. + +'use strict'; + +const gapicConfig = require('./image_annotator_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); +const protobuf = require('protobufjs'); + +const VERSION = require('../../package.json').version; + +/** + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. + * + * @class + * @memberof v1p4beta1 + */ +class ImageAnnotatorClient { + /** + * Construct an instance of ImageAnnotatorClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.servicePath] - The domain name of the + * API remote host. + */ + constructor(opts) { + this._descriptors = {}; + + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + const gaxGrpc = new gax.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; + + // Determine the client header string. + const clientHeader = [ + `gl-node/${process.version}`, + `grpc/${gaxGrpc.grpcVersion}`, + `gax/${gax.version}`, + `gapic/${VERSION}`, + ]; + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + + // Load the applicable protos. + const protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/vision/v1p4beta1/image_annotator.proto' + ) + ); + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/vision/v1p4beta1/image_annotator.proto' + ), + protoFilesRoot + ); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + this.operationsClient = new gax.lro({ + auth: gaxGrpc.auth, + grpc: gaxGrpc.grpc, + }).operationsClient(opts); + + const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( + 'google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse' + ); + const asyncBatchAnnotateImagesMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1p4beta1.OperationMetadata' + ); + const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + 'google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse' + ); + const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1p4beta1.OperationMetadata' + ); + + this._descriptors.longrunning = { + asyncBatchAnnotateImages: new gax.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateImagesResponse.decode.bind( + asyncBatchAnnotateImagesResponse + ), + asyncBatchAnnotateImagesMetadata.decode.bind( + asyncBatchAnnotateImagesMetadata + ) + ), + asyncBatchAnnotateFiles: new gax.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateFilesResponse.decode.bind( + asyncBatchAnnotateFilesResponse + ), + asyncBatchAnnotateFilesMetadata.decode.bind( + asyncBatchAnnotateFilesMetadata + ) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p4beta1.ImageAnnotator', + gapicConfig, + opts.clientConfig, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p4beta1.ImageAnnotator. + const imageAnnotatorStub = gaxGrpc.createStub( + protos.google.cloud.vision.v1p4beta1.ImageAnnotator, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const imageAnnotatorStubMethods = [ + 'batchAnnotateImages', + 'batchAnnotateFiles', + 'asyncBatchAnnotateImages', + 'asyncBatchAnnotateFiles', + ]; + for (const methodName of imageAnnotatorStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + imageAnnotatorStub.then( + stub => + function() { + const args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + this._descriptors.longrunning[methodName] + ); + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId(callback) { + return this.auth.getProjectId(callback); + } + + // ------------------- + // -- Service calls -- + // ------------------- + + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * const requests = []; + * client.batchAnnotateImages({requests: requests}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + batchAnnotateImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.batchAnnotateImages(request, options, callback); + } + + /** + * Service that performs image detection and annotation for a batch of files. + * Now only "application/pdf", "image/tiff" and "image/gif" are supported. + * + * This service will extract at most the first 10 frames (gif) or pages + * (pdf or tiff) from each file provided and perform detection and annotation + * for each image extracted. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * The list of file annotation requests. Right now we support only one + * AnnotateFileRequest in BatchAnnotateFilesRequest. + * + * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AnnotateFileRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * const requests = []; + * client.batchAnnotateFiles({requests: requests}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + batchAnnotateFiles(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.batchAnnotateFiles(request, options, callback); + } + + /** + * Run asynchronous image detection and annotation for a list of images. + * + * Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). + * + * This service will write image annotation outputs to json files in customer + * GCS bucket, each json file containing BatchAnnotateImagesResponse proto. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} + * @param {Object} request.outputConfig + * Required. The desired output location and metadata (e.g. format). + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * const requests = []; + * const outputConfig = {}; + * const request = { + * requests: requests, + * outputConfig: outputConfig, + * }; + * + * // Handle the operation using the promise pattern. + * client.asyncBatchAnnotateImages(request) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * const result = responses[0]; + * const metadata = responses[1]; + * const finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * const requests = []; + * const outputConfig = {}; + * const request = { + * requests: requests, + * outputConfig: outputConfig, + * }; + * + * // Handle the operation using the event emitter pattern. + * client.asyncBatchAnnotateImages(request) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + asyncBatchAnnotateImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.asyncBatchAnnotateImages( + request, + options, + callback + ); + } + + /** + * Run asynchronous image detection and annotation for a list of generic + * files, such as PDF files, which may contain multiple pages and multiple + * images per page. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual async file annotation requests for this batch. + * + * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * const requests = []; + * + * // Handle the operation using the promise pattern. + * client.asyncBatchAnnotateFiles({requests: requests}) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * const result = responses[0]; + * const metadata = responses[1]; + * const finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * const requests = []; + * + * // Handle the operation using the event emitter pattern. + * client.asyncBatchAnnotateFiles({requests: requests}) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + asyncBatchAnnotateFiles(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.asyncBatchAnnotateFiles( + request, + options, + callback + ); + } +} + +module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json new file mode 100644 index 00000000000..9666bd1f923 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json @@ -0,0 +1,46 @@ +{ + "interfaces": { + "google.cloud.vision.v1p4beta1.ImageAnnotator": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "BatchAnnotateImages": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "BatchAnnotateFiles": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "AsyncBatchAnnotateImages": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "AsyncBatchAnnotateFiles": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-vision/src/v1p4beta1/index.js b/packages/google-cloud-vision/src/v1p4beta1/index.js new file mode 100644 index 00000000000..8a46227b562 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/index.js @@ -0,0 +1,21 @@ +// Copyright 2019 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. + +'use strict'; + +const ProductSearchClient = require('./product_search_client'); +const ImageAnnotatorClient = require('./image_annotator_client'); + +module.exports.ProductSearchClient = ProductSearchClient; +module.exports.ImageAnnotatorClient = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js new file mode 100644 index 00000000000..c57fdc86a5b --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -0,0 +1,2050 @@ +// Copyright 2019 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. + +'use strict'; + +const gapicConfig = require('./product_search_client_config'); +const gax = require('google-gax'); +const merge = require('lodash.merge'); +const path = require('path'); +const protobuf = require('protobufjs'); + +const VERSION = require('../../package.json').version; + +/** + * Manages Products and ProductSets of reference images for use in product + * search. It uses the following resource model: + * + * - The API has a collection of ProductSet resources, named + * `projects/* /locations/* /productSets/*`, which acts as a way to put different + * products into groups to limit identification. + * + * In parallel, + * + * - The API has a collection of Product resources, named + * `projects/* /locations/* /products/*` + * + * - Each Product has a collection of ReferenceImage resources, named + * `projects/* /locations/* /products/* /referenceImages/*` + * + * @class + * @memberof v1p4beta1 + */ +class ProductSearchClient { + /** + * Construct an instance of ProductSearchClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.servicePath] - The domain name of the + * API remote host. + */ + constructor(opts) { + this._descriptors = {}; + + // Ensure that options include the service address and port. + opts = Object.assign( + { + clientConfig: {}, + port: this.constructor.port, + servicePath: this.constructor.servicePath, + }, + opts + ); + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = this.constructor.scopes; + const gaxGrpc = new gax.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth; + + // Determine the client header string. + const clientHeader = [ + `gl-node/${process.version}`, + `grpc/${gaxGrpc.grpcVersion}`, + `gax/${gax.version}`, + `gapic/${VERSION}`, + ]; + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + + // Load the applicable protos. + const protos = merge( + {}, + gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + 'google/cloud/vision/v1p4beta1/product_search_service.proto' + ) + ); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this._pathTemplates = { + locationPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}' + ), + productSetPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), + productPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + referenceImagePathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this._descriptors.page = { + listProductSets: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'productSets' + ), + listProducts: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + listReferenceImages: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'referenceImages' + ), + listProductsInProductSet: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + }; + let protoFilesRoot = new gax.GoogleProtoFilesRoot(); + protoFilesRoot = protobuf.loadSync( + path.join( + __dirname, + '..', + '..', + 'protos', + 'google/cloud/vision/v1p4beta1/product_search_service.proto' + ), + protoFilesRoot + ); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + this.operationsClient = new gax.lro({ + auth: gaxGrpc.auth, + grpc: gaxGrpc.grpc, + }).operationsClient(opts); + + const importProductSetsResponse = protoFilesRoot.lookup( + 'google.cloud.vision.v1p4beta1.ImportProductSetsResponse' + ); + const importProductSetsMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1p4beta1.BatchOperationMetadata' + ); + + this._descriptors.longrunning = { + importProductSets: new gax.LongrunningDescriptor( + this.operationsClient, + importProductSetsResponse.decode.bind(importProductSetsResponse), + importProductSetsMetadata.decode.bind(importProductSetsMetadata) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p4beta1.ProductSearch', + gapicConfig, + opts.clientConfig, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p4beta1.ProductSearch. + const productSearchStub = gaxGrpc.createStub( + protos.google.cloud.vision.v1p4beta1.ProductSearch, + opts + ); + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const productSearchStubMethods = [ + 'createProductSet', + 'listProductSets', + 'getProductSet', + 'updateProductSet', + 'deleteProductSet', + 'createProduct', + 'listProducts', + 'getProduct', + 'updateProduct', + 'deleteProduct', + 'createReferenceImage', + 'deleteReferenceImage', + 'listReferenceImages', + 'getReferenceImage', + 'addProductToProductSet', + 'removeProductFromProductSet', + 'listProductsInProductSet', + 'importProductSets', + ]; + for (const methodName of productSearchStubMethods) { + this._innerApiCalls[methodName] = gax.createApiCall( + productSearchStub.then( + stub => + function() { + const args = Array.prototype.slice.call(arguments, 0); + return stub[methodName].apply(stub, args); + } + ), + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.longrunning[methodName] + ); + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId(callback) { + return this.auth.getProjectId(callback); + } + + // ------------------- + // -- Service calls -- + // ------------------- + + /** + * Creates and returns a new ProductSet resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + * 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.productSet + * The ProductSet to create. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} + * @param {string} request.productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const productSet = {}; + * const productSetId = ''; + * const request = { + * parent: formattedParent, + * productSet: productSet, + * productSetId: productSetId, + * }; + * client.createProductSet(request) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.createProductSet(request, options, callback); + } + + /** + * Lists ProductSets in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1p4beta1.ListProductSetsResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1p4beta1.ListProductSetsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * client.listProductSets({parent: formattedParent}) + * .then(responses => { + * const resources = responses[0]; + * for (const resource of resources) { + * // doThingsWith(resource) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * + * const options = {autoPaginate: false}; + * const callback = responses => { + * // The actual resources in a response. + * const resources = responses[0]; + * // The next request if the response shows that there are more responses. + * const nextRequest = responses[1]; + * // The actual response object, if necessary. + * // const rawResponse = responses[2]; + * for (const resource of resources) { + * // doThingsWith(resource); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listProductSets(nextRequest, options).then(callback); + * } + * } + * client.listProductSets({parent: formattedParent}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listProductSets(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listProductSets(request, options, callback); + } + + /** + * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductSets} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} on 'data' event. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * client.listProductSetsStream({parent: formattedParent}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listProductSetsStream(request, options) { + options = options || {}; + + return this._descriptors.page.listProductSets.createStream( + this._innerApiCalls.listProductSets, + request, + options + ); + } + + /** + * Gets information associated with a ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.getProductSet({name: formattedName}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + getProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.getProductSet(request, options, callback); + } + + /** + * Makes changes to a ProductSet resource. + * Only display_name can be updated currently. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but + * missing from the request or longer than 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object} request.productSet + * The ProductSet resource which replaces the one on the server. + * + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} + * @param {Object} request.updateMask + * The FieldMask that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const productSet = {}; + * const updateMask = {}; + * const request = { + * productSet: productSet, + * updateMask: updateMask, + * }; + * client.updateProductSet(request) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + updateProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.updateProductSet(request, options, callback); + } + + /** + * Permanently deletes a ProductSet. Products and ReferenceImages in the + * ProductSet are not deleted. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.deleteProductSet({name: formattedName}).catch(err => { + * console.error(err); + * }); + */ + deleteProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.deleteProductSet(request, options, callback); + } + + /** + * Creates and returns a new product resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is missing or invalid. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project in which the Product should be created. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.product + * The product to create. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} + * @param {string} request.productId + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const product = {}; + * const productId = ''; + * const request = { + * parent: formattedParent, + * product: product, + * productId: productId, + * }; + * client.createProduct(request) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.createProduct(request, options, callback); + } + + /** + * Lists products in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductsResponse]{@link google.cloud.vision.v1p4beta1.ListProductsResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductsResponse]{@link google.cloud.vision.v1p4beta1.ListProductsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * client.listProducts({parent: formattedParent}) + * .then(responses => { + * const resources = responses[0]; + * for (const resource of resources) { + * // doThingsWith(resource) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * + * const options = {autoPaginate: false}; + * const callback = responses => { + * // The actual resources in a response. + * const resources = responses[0]; + * // The next request if the response shows that there are more responses. + * const nextRequest = responses[1]; + * // The actual response object, if necessary. + * // const rawResponse = responses[2]; + * for (const resource of resources) { + * // doThingsWith(resource); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listProducts(nextRequest, options).then(callback); + * } + * } + * client.listProducts({parent: formattedParent}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listProducts(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listProducts(request, options, callback); + } + + /** + * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProducts} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * client.listProductsStream({parent: formattedParent}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listProductsStream(request, options) { + options = options || {}; + + return this._descriptors.page.listProducts.createStream( + this._innerApiCalls.listProducts, + request, + options + ); + } + + /** + * Gets information associated with a Product. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.getProduct({name: formattedName}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + getProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.getProduct(request, options, callback); + } + + /** + * Makes changes to a Product resource. + * Only the `display_name`, `description`, and `labels` fields can be updated + * right now. + * + * If labels are updated, the change will not be reflected in queries until + * the next index time. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + * missing from the request or longer than 4096 characters. + * * Returns INVALID_ARGUMENT if description is present in update_mask but is + * longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is present in update_mask. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object} request.product + * The Product resource which replaces the one on the server. + * product.name is immutable. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} + * @param {Object} request.updateMask + * The FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const product = {}; + * const updateMask = {}; + * const request = { + * product: product, + * updateMask: updateMask, + * }; + * client.updateProduct(request) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + updateProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.updateProduct(request, options, callback); + } + + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. + * + * Possible errors: + * + * * Returns NOT_FOUND if the product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.deleteProduct({name: formattedName}).catch(err => { + * console.error(err); + * }); + */ + deleteProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.deleteProduct(request, options, callback); + } + + /** + * Creates and returns a new ReferenceImage resource. + * + * The `bounding_poly` field is optional. If `bounding_poly` is not specified, + * the system will try to detect regions of interest in the image that are + * compatible with the product_category on the parent product. If it is + * specified, detection is ALWAYS skipped. The system converts polygons into + * non-rotated rectangles. + * + * Note that the pipeline will resize the image if the image resolution is too + * large to process (above 50MP). + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if the product does not exist. + * * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + * compatible with the parent product's product_category is detected. + * * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Resource name of the product in which to create the reference image. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {Object} request.referenceImage + * The reference image to create. + * If an image ID is specified, it is ignored. + * + * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} + * @param {string} request.referenceImageId + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * const referenceImage = {}; + * const referenceImageId = ''; + * const request = { + * parent: formattedParent, + * referenceImage: referenceImage, + * referenceImageId: referenceImageId, + * }; + * client.createReferenceImage(request) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createReferenceImage(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.createReferenceImage(request, options, callback); + } + + /** + * Permanently deletes a reference image. + * + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the reference image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); + * client.deleteReferenceImage({name: formattedName}).catch(err => { + * console.error(err); + * }); + */ + deleteReferenceImage(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.deleteReferenceImage(request, options, callback); + } + + /** + * Lists reference images. + * + * Possible errors: + * + * * Returns NOT_FOUND if the parent product does not exist. + * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * + * client.listReferenceImages({parent: formattedParent}) + * .then(responses => { + * const resources = responses[0]; + * for (const resource of resources) { + * // doThingsWith(resource) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * + * + * const options = {autoPaginate: false}; + * const callback = responses => { + * // The actual resources in a response. + * const resources = responses[0]; + * // The next request if the response shows that there are more responses. + * const nextRequest = responses[1]; + * // The actual response object, if necessary. + * // const rawResponse = responses[2]; + * for (const resource of resources) { + * // doThingsWith(resource); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listReferenceImages(nextRequest, options).then(callback); + * } + * } + * client.listReferenceImages({parent: formattedParent}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listReferenceImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listReferenceImages(request, options, callback); + } + + /** + * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listReferenceImages} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} on 'data' event. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.listReferenceImagesStream({parent: formattedParent}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listReferenceImagesStream(request, options) { + options = options || {}; + + return this._descriptors.page.listReferenceImages.createStream( + this._innerApiCalls.listReferenceImages, + request, + options + ); + } + + /** + * Gets information associated with a ReferenceImage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the specified image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); + * client.getReferenceImage({name: formattedName}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + getReferenceImage(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.getReferenceImage(request, options, callback); + } + + /** + * Adds a Product to the specified ProductSet. If the Product is already + * present, no change is made. + * + * One Product can be added to at most 100 ProductSets. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const product = ''; + * const request = { + * name: formattedName, + * product: product, + * }; + * client.addProductToProductSet(request).catch(err => { + * console.error(err); + * }); + */ + addProductToProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.addProductToProductSet( + request, + options, + callback + ); + } + + /** + * Removes a Product from the specified ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND If the Product is not found under the ProductSet. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error)} [callback] + * The function which will be called with the result of the API call. + * @returns {Promise} - The promise which resolves when API call finishes. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * const product = ''; + * const request = { + * name: formattedName, + * product: product, + * }; + * client.removeProductFromProductSet(request).catch(err => { + * console.error(err); + * }); + */ + removeProductFromProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.removeProductFromProductSet( + request, + options, + callback + ); + } + + /** + * Lists the Products in a ProductSet, in an unspecified order. If the + * ProductSet does not exist, the products field of the response will be + * empty. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * + * client.listProductsInProductSet({name: formattedName}) + * .then(responses => { + * const resources = responses[0]; + * for (const resource of resources) { + * // doThingsWith(resource) + * } + * }) + * .catch(err => { + * console.error(err); + * }); + * + * // Or obtain the paged response. + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * + * + * const options = {autoPaginate: false}; + * const callback = responses => { + * // The actual resources in a response. + * const resources = responses[0]; + * // The next request if the response shows that there are more responses. + * const nextRequest = responses[1]; + * // The actual response object, if necessary. + * // const rawResponse = responses[2]; + * for (const resource of resources) { + * // doThingsWith(resource); + * } + * if (nextRequest) { + * // Fetch the next page. + * return client.listProductsInProductSet(nextRequest, options).then(callback); + * } + * } + * client.listProductsInProductSet({name: formattedName}, options) + * .then(callback) + * .catch(err => { + * console.error(err); + * }); + */ + listProductsInProductSet(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.listProductsInProductSet( + request, + options, + callback + ); + } + + /** + * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductsInProductSet} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.listProductsInProductSetStream({name: formattedName}) + * .on('data', element => { + * // doThingsWith(element) + * }).on('error', err => { + * console.log(err); + * }); + */ + listProductsInProductSetStream(request, options) { + options = options || {}; + + return this._descriptors.page.listProductsInProductSet.createStream( + this._innerApiCalls.listProductsInProductSet, + request, + options + ); + } + + /** + * Asynchronous API that imports a list of reference images to specified + * product sets based on a list of image information. + * + * The google.longrunning.Operation API can be used to keep track of the + * progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * `Operation.response` contains `ImportProductSetsResponse`. (results) + * + * The input source of this method is a csv file on Google Cloud Storage. + * For the format of the csv file please see + * ImportProductSetsGcsSource.csv_file_uri. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.inputConfig + * The input content for the list of requests. + * + * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const inputConfig = {}; + * const request = { + * parent: formattedParent, + * inputConfig: inputConfig, + * }; + * + * // Handle the operation using the promise pattern. + * client.importProductSets(request) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * const result = responses[0]; + * const metadata = responses[1]; + * const finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const inputConfig = {}; + * const request = { + * parent: formattedParent, + * inputConfig: inputConfig, + * }; + * + * // Handle the operation using the event emitter pattern. + * client.importProductSets(request) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + */ + importProductSets(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.importProductSets(request, options, callback); + } + + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified location resource name string. + * + * @param {String} project + * @param {String} location + * @returns {String} + */ + locationPath(project, location) { + return this._pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Return a fully-qualified product_set resource name string. + * + * @param {String} project + * @param {String} location + * @param {String} productSet + * @returns {String} + */ + productSetPath(project, location, productSet) { + return this._pathTemplates.productSetPathTemplate.render({ + project: project, + location: location, + product_set: productSet, + }); + } + + /** + * Return a fully-qualified product resource name string. + * + * @param {String} project + * @param {String} location + * @param {String} product + * @returns {String} + */ + productPath(project, location, product) { + return this._pathTemplates.productPathTemplate.render({ + project: project, + location: location, + product: product, + }); + } + + /** + * Return a fully-qualified reference_image resource name string. + * + * @param {String} project + * @param {String} location + * @param {String} product + * @param {String} referenceImage + * @returns {String} + */ + referenceImagePath(project, location, product, referenceImage) { + return this._pathTemplates.referenceImagePathTemplate.render({ + project: project, + location: location, + product: product, + reference_image: referenceImage, + }); + } + + /** + * Parse the locationName from a location resource. + * + * @param {String} locationName + * A fully-qualified path representing a location resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromLocationName(locationName) { + return this._pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the locationName from a location resource. + * + * @param {String} locationName + * A fully-qualified path representing a location resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromLocationName(locationName) { + return this._pathTemplates.locationPathTemplate.match(locationName) + .location; + } + + /** + * Parse the productSetName from a product_set resource. + * + * @param {String} productSetName + * A fully-qualified path representing a product_set resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductSetName(productSetName) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .project; + } + + /** + * Parse the productSetName from a product_set resource. + * + * @param {String} productSetName + * A fully-qualified path representing a product_set resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductSetName(productSetName) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .location; + } + + /** + * Parse the productSetName from a product_set resource. + * + * @param {String} productSetName + * A fully-qualified path representing a product_set resources. + * @returns {String} - A string representing the product_set. + */ + matchProductSetFromProductSetName(productSetName) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .product_set; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the product. + */ + matchProductFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Parse the referenceImageName from a reference_image resource. + * + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).project; + } + + /** + * Parse the referenceImageName from a reference_image resource. + * + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).location; + } + + /** + * Parse the referenceImageName from a reference_image resource. + * + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. + * @returns {String} - A string representing the product. + */ + matchProductFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).product; + } + + /** + * Parse the referenceImageName from a reference_image resource. + * + * @param {String} referenceImageName + * A fully-qualified path representing a reference_image resources. + * @returns {String} - A string representing the reference_image. + */ + matchReferenceImageFromReferenceImageName(referenceImageName) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).reference_image; + } +} + +module.exports = ProductSearchClient; diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json new file mode 100644 index 00000000000..37cb6d2a79a --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json @@ -0,0 +1,116 @@ +{ + "interfaces": { + "google.cloud.vision.v1p4beta1.ProductSearch": { + "retry_codes": { + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "non_idempotent": [] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 20000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 20000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "CreateProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListProductSets": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "UpdateProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "CreateProduct": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListProducts": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetProduct": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "UpdateProduct": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteProduct": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "CreateReferenceImage": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteReferenceImage": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "ListReferenceImages": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "GetReferenceImage": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "AddProductToProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RemoveProductFromProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListProductsInProductSet": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "ImportProductSets": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index e30cd8ac326..2039a148c40 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -23,7 +23,7 @@ # Run the gapic generator gapic = gcp.GAPICGenerator() -versions = ['v1', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1'] +versions = ['v1', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1', 'v1p4beta1'] for version in versions: library = gapic.node_library('vision', version) s.copy(library, excludes=['src/index.js', 'README.md', 'package.json']) diff --git a/packages/google-cloud-vision/test/gapic-v1p4beta1.js b/packages/google-cloud-vision/test/gapic-v1p4beta1.js new file mode 100644 index 00000000000..566eb306fcb --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-v1p4beta1.js @@ -0,0 +1,1604 @@ +// Copyright 2019 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. + +'use strict'; + +const assert = require('assert'); + +const visionModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +const error = new Error(); +error.code = FAKE_STATUS_CODE; + +describe('ProductSearchClient', () => { + describe('createProductSet', () => { + it('invokes createProductSet without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const productSet = {}; + const productSetId = 'productSetId4216680'; + const request = { + parent: formattedParent, + productSet: productSet, + productSetId: productSetId, + }; + + // Mock response + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const expectedResponse = { + name: name, + displayName: displayName, + }; + + // Mock Grpc layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.createProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProductSet with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const productSet = {}; + const productSetId = 'productSetId4216680'; + const request = { + parent: formattedParent, + productSet: productSet, + productSetId: productSetId, + }; + + // Mock Grpc layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.createProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('listProductSets', () => { + it('invokes listProductSets without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock response + const nextPageToken = ''; + const productSetsElement = {}; + const productSets = [productSetsElement]; + const expectedResponse = { + nextPageToken: nextPageToken, + productSets: productSets, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductSets = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.productSets); + }; + + client.listProductSets(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.productSets); + done(); + }); + }); + + it('invokes listProductSets with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductSets = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listProductSets(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('getProductSet', () => { + it('invokes getProductSet without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock response + const name2 = 'name2-1052831874'; + const displayName = 'displayName1615086568'; + const expectedResponse = { + name: name2, + displayName: displayName, + }; + + // Mock Grpc layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.getProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProductSet with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.getProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('updateProductSet', () => { + it('invokes updateProductSet without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const productSet = {}; + const updateMask = {}; + const request = { + productSet: productSet, + updateMask: updateMask, + }; + + // Mock response + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const expectedResponse = { + name: name, + displayName: displayName, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.updateProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProductSet with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const productSet = {}; + const updateMask = {}; + const request = { + productSet: productSet, + updateMask: updateMask, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.updateProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod(request); + + client.deleteProductSet(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes deleteProductSet with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.deleteProductSet(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('createProduct', () => { + it('invokes createProduct without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const product = {}; + const productId = 'productId1753008747'; + const request = { + parent: formattedParent, + product: product, + productId: productId, + }; + + // Mock response + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { + name: name, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + + // Mock Grpc layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.createProduct(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProduct with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const product = {}; + const productId = 'productId1753008747'; + const request = { + parent: formattedParent, + product: product, + productId: productId, + }; + + // Mock Grpc layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.createProduct(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('listProducts', () => { + it('invokes listProducts without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock response + const nextPageToken = ''; + const productsElement = {}; + const products = [productsElement]; + const expectedResponse = { + nextPageToken: nextPageToken, + products: products, + }; + + // Mock Grpc layer + client._innerApiCalls.listProducts = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.products); + }; + + client.listProducts(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.products); + done(); + }); + }); + + it('invokes listProducts with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.listProducts = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listProducts(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('getProduct', () => { + it('invokes getProduct without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + name: formattedName, + }; + + // Mock response + const name2 = 'name2-1052831874'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { + name: name2, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + + // Mock Grpc layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.getProduct(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProduct with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.getProduct(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('updateProduct', () => { + it('invokes updateProduct without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const product = {}; + const updateMask = {}; + const request = { + product: product, + updateMask: updateMask, + }; + + // Mock response + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { + name: name, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.updateProduct(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProduct with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const product = {}; + const updateMask = {}; + const request = { + product: product, + updateMask: updateMask, + }; + + // Mock Grpc layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.updateProduct(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('deleteProduct', () => { + it('invokes deleteProduct without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod(request); + + client.deleteProduct(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes deleteProduct with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.deleteProduct(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const referenceImage = {}; + const referenceImageId = 'referenceImageId1946713331'; + const request = { + parent: formattedParent, + referenceImage: referenceImage, + referenceImageId: referenceImageId, + }; + + // Mock response + const name = 'name3373707'; + const uri = 'uri116076'; + const expectedResponse = { + name: name, + uri: uri, + }; + + // Mock Grpc layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.createReferenceImage(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createReferenceImage with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const referenceImage = {}; + const referenceImageId = 'referenceImageId1946713331'; + const request = { + parent: formattedParent, + referenceImage: referenceImage, + referenceImageId: referenceImageId, + }; + + // Mock Grpc layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.createReferenceImage(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.referenceImagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[REFERENCE_IMAGE]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request + ); + + client.deleteReferenceImage(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes deleteReferenceImage with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.referenceImagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[REFERENCE_IMAGE]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.deleteReferenceImage(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + parent: formattedParent, + }; + + // Mock response + const pageSize = 883849137; + const nextPageToken = ''; + const referenceImagesElement = {}; + const referenceImages = [referenceImagesElement]; + const expectedResponse = { + pageSize: pageSize, + nextPageToken: nextPageToken, + referenceImages: referenceImages, + }; + + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.referenceImages); + }; + + client.listReferenceImages(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.referenceImages); + done(); + }); + }); + + it('invokes listReferenceImages with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listReferenceImages(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.referenceImagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[REFERENCE_IMAGE]' + ); + const request = { + name: formattedName, + }; + + // Mock response + const name2 = 'name2-1052831874'; + const uri = 'uri116076'; + const expectedResponse = { + name: name2, + uri: uri, + }; + + // Mock Grpc layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.getReferenceImage(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getReferenceImage with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.referenceImagePath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]', + '[REFERENCE_IMAGE]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.getReferenceImage(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('addProductToProductSet', () => { + it('invokes addProductToProductSet without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const product = 'product-309474065'; + const request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request + ); + + client.addProductToProductSet(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes addProductToProductSet with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const product = 'product-309474065'; + const request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.addProductToProductSet(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('removeProductFromProductSet', () => { + it('invokes removeProductFromProductSet without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const product = 'product-309474065'; + const request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request + ); + + client.removeProductFromProductSet(request, err => { + assert.ifError(err); + done(); + }); + }); + + it('invokes removeProductFromProductSet with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const product = 'product-309474065'; + const request = { + name: formattedName, + product: product, + }; + + // Mock Grpc layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.removeProductFromProductSet(request, err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + + describe('listProductsInProductSet', () => { + it('invokes listProductsInProductSet without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock response + const nextPageToken = ''; + const productsElement = {}; + const products = [productsElement]; + const expectedResponse = { + nextPageToken: nextPageToken, + products: products, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.products); + }; + + client.listProductsInProductSet(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse.products); + done(); + }); + }); + + it('invokes listProductsInProductSet with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedName = client.productSetPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT_SET]' + ); + const request = { + name: formattedName, + }; + + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.listProductsInProductSet(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('importProductSets', function() { + it('invokes importProductSets without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const inputConfig = {}; + const request = { + parent: formattedParent, + inputConfig: inputConfig, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .importProductSets(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes importProductSets with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const inputConfig = {}; + const request = { + parent: formattedParent, + inputConfig: inputConfig, + }; + + // Mock Grpc layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .importProductSets(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.importProductSets + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.importProductSets + .metadataDecoder instanceof Function + ); + }); + }); +}); +describe('ImageAnnotatorClient', () => { + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.batchAnnotateImages(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', done => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.batchAnnotateImages(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('batchAnnotateFiles', () => { + it('invokes batchAnnotateFiles without error', done => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.batchAnnotateFiles(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateFiles with error', done => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.batchAnnotateFiles(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('asyncBatchAnnotateImages', function() { + it('invokes asyncBatchAnnotateImages without error', done => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const outputConfig = {}; + const request = { + requests: requests, + outputConfig: outputConfig, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .asyncBatchAnnotateImages(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateImages with error', done => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const outputConfig = {}; + const request = { + requests: requests, + outputConfig: outputConfig, + }; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .asyncBatchAnnotateImages(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.asyncBatchAnnotateImages + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.asyncBatchAnnotateImages + .metadataDecoder instanceof Function + ); + }); + }); + + describe('asyncBatchAnnotateFiles', function() { + it('invokes asyncBatchAnnotateFiles without error', done => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateFiles with error', done => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .metadataDecoder instanceof Function + ); + }); + }); +}); + +function mockSimpleGrpcMethod(expectedRequest, response, error) { + return function(actualRequest, options, callback) { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} + +function mockLongRunningGrpcMethod(expectedRequest, response, error) { + return request => { + assert.deepStrictEqual(request, expectedRequest); + const mockOperation = { + promise: function() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} From d3cdc34aeed105a2936b4271206c013a71921f40 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Fri, 22 Feb 2019 07:49:03 -0800 Subject: [PATCH 267/588] fix: throw on invalid credentials in v1p4beta1 (#334) --- .../src/v1p4beta1/image_annotator_client.js | 4 ++++ .../src/v1p4beta1/product_search_client.js | 4 ++++ packages/google-cloud-vision/synth.metadata | 20 ++++++++++++++----- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index ce225754ba8..e2099dbdfcf 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -187,6 +187,10 @@ class ImageAnnotatorClient { function() { const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; } ), defaults[methodName], diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index c57fdc86a5b..84ec40bb1a9 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -237,6 +237,10 @@ class ProductSearchClient { function() { const args = Array.prototype.slice.call(arguments, 0); return stub[methodName].apply(stub, args); + }, + err => + function() { + throw err; } ), defaults[methodName], diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index d60def5e47f..75f87c98e81 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-02-13T12:30:53.767861Z", + "updateTime": "2019-02-22T12:26:14.879528Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.13", - "dockerImage": "googleapis/artman@sha256:5fd9aee1d82a00cebf425c8fa431f5457539562f5867ad9c54370f0ec9a7ccaa" + "version": "0.16.14", + "dockerImage": "googleapis/artman@sha256:f3d61ae45abaeefb6be5f228cda22732c2f1b00fb687c79c4bd4f2c42bb1e1a7" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "ca61898878f0926dd9dcc68ba90764f17133efe4", - "internalRef": "233680013" + "sha": "ccdcb03bb137c13f75d87303607101ced8988f85", + "internalRef": "235085569" } }, { @@ -64,6 +64,16 @@ "generator": "gapic", "config": "google/cloud/vision/artman_vision_v1p3beta1.yaml" } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p4beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p4beta1.yaml" + } } ] } \ No newline at end of file From bf9b2d2717ca0f6bd4efdfb1dbd5e289c29e8275 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Sun, 24 Feb 2019 20:49:13 -0800 Subject: [PATCH 268/588] Release v0.25.0 (#336) --- packages/google-cloud-vision/CHANGELOG.md | 46 +++++++++++++++++++ packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 44749d029b8..7eb6a8a14df 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,52 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## v0.25.0 + +02-22-2019 17:39 PST + +### New Features +This release contains a new version (v1p4beta1) of the Vision API. To use this version, construct the client liks this: + +```javascript +const vision = require('@google-cloud/vision'); +const client = new vision.v1p4beta1.ImageAnnotatorClient(); +``` + +- feat: gen v1p4beta1: online PDF, async batch image annotate ([#331](https://github.com/googleapis/nodejs-vision/pull/331)) + +### Implementation Changes +- fix: throw on invalid credentials in v1p4beta1 ([#334](https://github.com/googleapis/nodejs-vision/pull/334)) +- fix: throw on invalid credentials ([#326](https://github.com/googleapis/nodejs-vision/pull/326)) + +### Dependencies +- chore(deps): update dependency mocha to v6 ([#330](https://github.com/googleapis/nodejs-vision/pull/330)) +- fix(deps): update dependency @google-cloud/promisify to ^0.4.0 ([#328](https://github.com/googleapis/nodejs-vision/pull/328)) +- fix(deps): update dependency yargs to v13 ([#325](https://github.com/googleapis/nodejs-vision/pull/325)) +- fix(deps): update dependency google-gax to ^0.25.0 ([#315](https://github.com/googleapis/nodejs-vision/pull/315)) +- fix(deps): update dependency google-gax to ^0.24.0 ([#312](https://github.com/googleapis/nodejs-vision/pull/312)) +- chore(deps): update dependency eslint-config-prettier to v4 ([#313](https://github.com/googleapis/nodejs-vision/pull/313)) +- fix(deps): update dependency google-gax to ^0.23.0 ([#307](https://github.com/googleapis/nodejs-vision/pull/307)) + +### Documentation / Samples +- docs: update contributing path in README ([#321](https://github.com/googleapis/nodejs-vision/pull/321)) +- docs: update links in contrib guide ([#329](https://github.com/googleapis/nodejs-vision/pull/329)) +- docs: add lint/fix example to contributing guide ([#318](https://github.com/googleapis/nodejs-vision/pull/318)) +- docs: fix example comments ([#317](https://github.com/googleapis/nodejs-vision/pull/317)) +- fix(docs): remove unused long running operations types +- docs: improve detect.js samples ([#300](https://github.com/googleapis/nodejs-vision/pull/300)) + +### Internal / Testing Changes +- build: use linkinator for docs test ([#327](https://github.com/googleapis/nodejs-vision/pull/327)) +- build: create docs test npm scripts ([#324](https://github.com/googleapis/nodejs-vision/pull/324)) +- build: test using @grpc/grpc-js in CI ([#322](https://github.com/googleapis/nodejs-vision/pull/322)) +- chore: move CONTRIBUTING.md to root ([#320](https://github.com/googleapis/nodejs-vision/pull/320)) +- refactor: improve generated code style. ([#316](https://github.com/googleapis/nodejs-vision/pull/316)) +- fix: ignore case in system test assertions ([#314](https://github.com/googleapis/nodejs-vision/pull/314)) +- build: ignore googleapis.com in doc link check ([#310](https://github.com/googleapis/nodejs-vision/pull/310)) +- chore: update year in the license headers. ([#309](https://github.com/googleapis/nodejs-vision/pull/309)) +- build: check broken links in generated docs ([#301](https://github.com/googleapis/nodejs-vision/pull/301)) + ## v0.24.0 12-19-2018 13:36 PST diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 9ea316f3d3a..780e21304a4 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.24.0", + "version": "0.25.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 4764cfe4c99..0673eaefb02 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@google-cloud/automl": "^0.1.3", - "@google-cloud/vision": "^0.24.0", + "@google-cloud/vision": "^0.25.0", "mathjs": "^5.0.4", "natural": "^0.6.1", "redis": "^2.8.0", From 2e39157c968acb4e1eb5242ec76880d3e05ad81c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Tue, 26 Feb 2019 05:39:43 -0800 Subject: [PATCH 269/588] chore: sync latest proto docs --- .../src/v1/doc/google/rpc/doc_status.js | 31 ++++++++++--------- .../v1p1beta1/doc/google/rpc/doc_status.js | 31 ++++++++++--------- .../v1p2beta1/doc/google/rpc/doc_status.js | 31 ++++++++++--------- .../v1p3beta1/doc/google/rpc/doc_status.js | 31 ++++++++++--------- .../v1p4beta1/doc/google/rpc/doc_status.js | 31 ++++++++++--------- packages/google-cloud-vision/synth.metadata | 6 ++-- 6 files changed, 88 insertions(+), 73 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js @@ -16,24 +16,25 @@ // to be loaded as the JS file. /** - * The `Status` type defines a logical error model that is suitable for different - * programming environments, including REST APIs and RPC APIs. It is used by - * [gRPC](https://github.com/grpc). The error model is designed to be: + * The `Status` type defines a logical error model that is suitable for + * different programming environments, including REST APIs and RPC APIs. It is + * used by [gRPC](https://github.com/grpc). The error model is designed to be: * * - Simple to use and understand for most users * - Flexible enough to meet unexpected needs * * # Overview * - * The `Status` message contains three pieces of data: error code, error message, - * and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes if needed. The - * error message should be a developer-facing English message that helps - * developers *understand* and *resolve* the error. If a localized user-facing - * error message is needed, put the localized message in the error details or - * localize it in the client. The optional error details may contain arbitrary - * information about the error. There is a predefined set of error detail types - * in the package `google.rpc` that can be used for common error conditions. + * The `Status` message contains three pieces of data: error code, error + * message, and error details. The error code should be an enum value of + * google.rpc.Code, but it may accept additional error codes + * if needed. The error message should be a developer-facing English message + * that helps developers *understand* and *resolve* the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may contain + * arbitrary information about the error. There is a predefined set of error + * detail types in the package `google.rpc` that can be used for common error + * conditions. * * # Language mapping * @@ -70,12 +71,14 @@ * be used directly after any stripping needed for security/privacy reasons. * * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. + * The status code, which should be an enum value of + * google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. + * google.rpc.Status.details field, or localized + * by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js @@ -16,24 +16,25 @@ // to be loaded as the JS file. /** - * The `Status` type defines a logical error model that is suitable for different - * programming environments, including REST APIs and RPC APIs. It is used by - * [gRPC](https://github.com/grpc). The error model is designed to be: + * The `Status` type defines a logical error model that is suitable for + * different programming environments, including REST APIs and RPC APIs. It is + * used by [gRPC](https://github.com/grpc). The error model is designed to be: * * - Simple to use and understand for most users * - Flexible enough to meet unexpected needs * * # Overview * - * The `Status` message contains three pieces of data: error code, error message, - * and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes if needed. The - * error message should be a developer-facing English message that helps - * developers *understand* and *resolve* the error. If a localized user-facing - * error message is needed, put the localized message in the error details or - * localize it in the client. The optional error details may contain arbitrary - * information about the error. There is a predefined set of error detail types - * in the package `google.rpc` that can be used for common error conditions. + * The `Status` message contains three pieces of data: error code, error + * message, and error details. The error code should be an enum value of + * google.rpc.Code, but it may accept additional error codes + * if needed. The error message should be a developer-facing English message + * that helps developers *understand* and *resolve* the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may contain + * arbitrary information about the error. There is a predefined set of error + * detail types in the package `google.rpc` that can be used for common error + * conditions. * * # Language mapping * @@ -70,12 +71,14 @@ * be used directly after any stripping needed for security/privacy reasons. * * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. + * The status code, which should be an enum value of + * google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. + * google.rpc.Status.details field, or localized + * by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js @@ -16,24 +16,25 @@ // to be loaded as the JS file. /** - * The `Status` type defines a logical error model that is suitable for different - * programming environments, including REST APIs and RPC APIs. It is used by - * [gRPC](https://github.com/grpc). The error model is designed to be: + * The `Status` type defines a logical error model that is suitable for + * different programming environments, including REST APIs and RPC APIs. It is + * used by [gRPC](https://github.com/grpc). The error model is designed to be: * * - Simple to use and understand for most users * - Flexible enough to meet unexpected needs * * # Overview * - * The `Status` message contains three pieces of data: error code, error message, - * and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes if needed. The - * error message should be a developer-facing English message that helps - * developers *understand* and *resolve* the error. If a localized user-facing - * error message is needed, put the localized message in the error details or - * localize it in the client. The optional error details may contain arbitrary - * information about the error. There is a predefined set of error detail types - * in the package `google.rpc` that can be used for common error conditions. + * The `Status` message contains three pieces of data: error code, error + * message, and error details. The error code should be an enum value of + * google.rpc.Code, but it may accept additional error codes + * if needed. The error message should be a developer-facing English message + * that helps developers *understand* and *resolve* the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may contain + * arbitrary information about the error. There is a predefined set of error + * detail types in the package `google.rpc` that can be used for common error + * conditions. * * # Language mapping * @@ -70,12 +71,14 @@ * be used directly after any stripping needed for security/privacy reasons. * * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. + * The status code, which should be an enum value of + * google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. + * google.rpc.Status.details field, or localized + * by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js @@ -16,24 +16,25 @@ // to be loaded as the JS file. /** - * The `Status` type defines a logical error model that is suitable for different - * programming environments, including REST APIs and RPC APIs. It is used by - * [gRPC](https://github.com/grpc). The error model is designed to be: + * The `Status` type defines a logical error model that is suitable for + * different programming environments, including REST APIs and RPC APIs. It is + * used by [gRPC](https://github.com/grpc). The error model is designed to be: * * - Simple to use and understand for most users * - Flexible enough to meet unexpected needs * * # Overview * - * The `Status` message contains three pieces of data: error code, error message, - * and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes if needed. The - * error message should be a developer-facing English message that helps - * developers *understand* and *resolve* the error. If a localized user-facing - * error message is needed, put the localized message in the error details or - * localize it in the client. The optional error details may contain arbitrary - * information about the error. There is a predefined set of error detail types - * in the package `google.rpc` that can be used for common error conditions. + * The `Status` message contains three pieces of data: error code, error + * message, and error details. The error code should be an enum value of + * google.rpc.Code, but it may accept additional error codes + * if needed. The error message should be a developer-facing English message + * that helps developers *understand* and *resolve* the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may contain + * arbitrary information about the error. There is a predefined set of error + * detail types in the package `google.rpc` that can be used for common error + * conditions. * * # Language mapping * @@ -70,12 +71,14 @@ * be used directly after any stripping needed for security/privacy reasons. * * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. + * The status code, which should be an enum value of + * google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. + * google.rpc.Status.details field, or localized + * by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js index fc4b5be93f0..432ab6bb928 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js @@ -16,24 +16,25 @@ // to be loaded as the JS file. /** - * The `Status` type defines a logical error model that is suitable for different - * programming environments, including REST APIs and RPC APIs. It is used by - * [gRPC](https://github.com/grpc). The error model is designed to be: + * The `Status` type defines a logical error model that is suitable for + * different programming environments, including REST APIs and RPC APIs. It is + * used by [gRPC](https://github.com/grpc). The error model is designed to be: * * - Simple to use and understand for most users * - Flexible enough to meet unexpected needs * * # Overview * - * The `Status` message contains three pieces of data: error code, error message, - * and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes if needed. The - * error message should be a developer-facing English message that helps - * developers *understand* and *resolve* the error. If a localized user-facing - * error message is needed, put the localized message in the error details or - * localize it in the client. The optional error details may contain arbitrary - * information about the error. There is a predefined set of error detail types - * in the package `google.rpc` that can be used for common error conditions. + * The `Status` message contains three pieces of data: error code, error + * message, and error details. The error code should be an enum value of + * google.rpc.Code, but it may accept additional error codes + * if needed. The error message should be a developer-facing English message + * that helps developers *understand* and *resolve* the error. If a localized + * user-facing error message is needed, put the localized message in the error + * details or localize it in the client. The optional error details may contain + * arbitrary information about the error. There is a predefined set of error + * detail types in the package `google.rpc` that can be used for common error + * conditions. * * # Language mapping * @@ -70,12 +71,14 @@ * be used directly after any stripping needed for security/privacy reasons. * * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. + * The status code, which should be an enum value of + * google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. + * google.rpc.Status.details field, or localized + * by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 75f87c98e81..8647c3b4805 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-02-22T12:26:14.879528Z", + "updateTime": "2019-02-26T12:43:20.331123Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "ccdcb03bb137c13f75d87303607101ced8988f85", - "internalRef": "235085569" + "sha": "29f098cb03a9983cc9cb15993de5da64419046f2", + "internalRef": "235621085" } }, { From f7d46e7d1729a7b9d39746eb6dbf969b3db2a679 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Fri, 1 Mar 2019 08:52:10 -0800 Subject: [PATCH 270/588] docs: update comments on protos (#339) --- .../google/cloud/vision/v1/geometry.proto | 1 - .../cloud/vision/v1/image_annotator.proto | 7 ++- .../cloud/vision/v1/product_search.proto | 4 +- .../vision/v1/product_search_service.proto | 63 ++++++++++++------- .../cloud/vision/v1/text_annotation.proto | 6 +- .../cloud/vision/v1/web_detection.proto | 1 - .../vision/v1p1beta1/image_annotator.proto | 3 +- .../cloud/vision/v1p2beta1/geometry.proto | 1 - .../vision/v1p2beta1/image_annotator.proto | 7 ++- .../vision/v1p2beta1/text_annotation.proto | 6 +- .../vision/v1p2beta1/web_detection.proto | 1 - .../cloud/vision/v1p3beta1/geometry.proto | 1 - .../vision/v1p3beta1/image_annotator.proto | 12 ++-- .../vision/v1p3beta1/product_search.proto | 5 +- .../v1p3beta1/product_search_service.proto | 59 ++++++++++------- .../vision/v1p3beta1/text_annotation.proto | 6 +- .../vision/v1p3beta1/web_detection.proto | 1 - .../cloud/vision/v1p4beta1/geometry.proto | 1 - .../vision/v1p4beta1/image_annotator.proto | 13 ++-- .../vision/v1p4beta1/product_search.proto | 5 +- .../v1p4beta1/product_search_service.proto | 61 +++++++++++------- .../vision/v1p4beta1/text_annotation.proto | 6 +- .../vision/v1p4beta1/web_detection.proto | 1 - .../cloud/vision/v1/doc_product_search.js | 3 +- .../vision/v1/doc_product_search_service.js | 19 +++--- .../cloud/vision/v1/doc_text_annotation.js | 5 +- .../src/v1/product_search_client.js | 16 ++--- .../vision/v1p1beta1/doc_image_annotator.js | 3 +- .../vision/v1p2beta1/doc_text_annotation.js | 5 +- .../vision/v1p3beta1/doc_product_search.js | 4 +- .../v1p3beta1/doc_product_search_service.js | 17 +++-- .../vision/v1p3beta1/doc_text_annotation.js | 5 +- .../src/v1p3beta1/product_search_client.js | 14 +++-- .../vision/v1p4beta1/doc_product_search.js | 4 +- .../v1p4beta1/doc_product_search_service.js | 19 +++--- .../vision/v1p4beta1/doc_text_annotation.js | 5 +- .../src/v1p4beta1/product_search_client.js | 14 +++-- packages/google-cloud-vision/synth.metadata | 8 +-- 38 files changed, 249 insertions(+), 163 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto index 4b9ad8bb490..f3ba8b773f5 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -26,7 +26,6 @@ option java_outer_classname = "GeometryProto"; option java_package = "com.google.cloud.vision.v1"; option objc_class_prefix = "GCVN"; - // A vertex represents a 2D point in the image. // NOTE: the vertex coordinates are in the same scale as the original image. message Vertex { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index 1f768c208d7..abaf1bd756a 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -36,13 +36,13 @@ option java_outer_classname = "ImageAnnotatorProto"; option java_package = "com.google.cloud.vision.v1"; option objc_class_prefix = "GCVN"; - // Service that performs Google Cloud Vision API detection tasks over client // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. service ImageAnnotator { // Run image detection and annotation for a batch of images. - rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) + returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1/images:annotate" body: "*" @@ -55,7 +55,8 @@ service ImageAnnotator { // `google.longrunning.Operations` interface. // `Operation.metadata` contains `OperationMetadata` (metadata). // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/files:asyncBatchAnnotate" body: "*" diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 347ff029c98..2b895bdbdac 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -29,14 +29,14 @@ option java_outer_classname = "ProductSearchProto"; option java_package = "com.google.cloud.vision.v1"; option objc_class_prefix = "GCVN"; - // Parameters for a product search request. message ProductSearchParams { // The bounding polygon around the area of interest in the image. // Optional. If it is not specified, system discretion will be applied. BoundingPoly bounding_poly = 9; - // The resource name of a [ProductSet][google.cloud.vision.v1.ProductSet] to be searched for similar images. + // The resource name of a [ProductSet][google.cloud.vision.v1.ProductSet] to + // be searched for similar images. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index d017d27ff37..5bbfebfb56f 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -32,20 +32,21 @@ option java_outer_classname = "ProductSearchServiceProto"; option java_package = "com.google.cloud.vision.v1"; option objc_class_prefix = "GCVN"; - // Manages Products and ProductSets of reference images for use in product // search. It uses the following resource model: // -// - The API has a collection of [ProductSet][google.cloud.vision.v1.ProductSet] resources, named -// `projects/*/locations/*/productSets/*`, which acts as a way to put different -// products into groups to limit identification. +// - The API has a collection of [ProductSet][google.cloud.vision.v1.ProductSet] +// resources, named `projects/*/locations/*/productSets/*`, which acts as a way +// to put different products into groups to limit identification. // // In parallel, // -// - The API has a collection of [Product][google.cloud.vision.v1.Product] resources, named +// - The API has a collection of [Product][google.cloud.vision.v1.Product] +// resources, named // `projects/*/locations/*/products/*` // -// - Each [Product][google.cloud.vision.v1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named +// - Each [Product][google.cloud.vision.v1.Product] has a collection of +// [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named // `projects/*/locations/*/products/*/referenceImages/*` service ProductSearch { // Creates and returns a new ProductSet resource. @@ -67,7 +68,8 @@ service ProductSearch { // // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less // than 1. - rpc ListProductSets(ListProductSetsRequest) returns (ListProductSetsResponse) { + rpc ListProductSets(ListProductSetsRequest) + returns (ListProductSetsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/productSets" }; @@ -107,7 +109,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the ProductSet does not exist. - rpc DeleteProductSet(DeleteProductSetRequest) returns (google.protobuf.Empty) { + rpc DeleteProductSet(DeleteProductSetRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/productSets/*}" }; @@ -206,7 +209,8 @@ service ProductSearch { // * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing // compatible with the parent product's product_category is detected. // * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. - rpc CreateReferenceImage(CreateReferenceImageRequest) returns (ReferenceImage) { + rpc CreateReferenceImage(CreateReferenceImageRequest) + returns (ReferenceImage) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*/products/*}/referenceImages" body: "reference_image" @@ -224,7 +228,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the reference image does not exist. - rpc DeleteReferenceImage(DeleteReferenceImageRequest) returns (google.protobuf.Empty) { + rpc DeleteReferenceImage(DeleteReferenceImageRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" }; @@ -237,7 +242,8 @@ service ProductSearch { // * Returns NOT_FOUND if the parent product does not exist. // * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less // than 1. - rpc ListReferenceImages(ListReferenceImagesRequest) returns (ListReferenceImagesResponse) { + rpc ListReferenceImages(ListReferenceImagesRequest) + returns (ListReferenceImagesResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*/products/*}/referenceImages" }; @@ -262,7 +268,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - rpc AddProductToProductSet(AddProductToProductSetRequest) returns (google.protobuf.Empty) { + rpc AddProductToProductSet(AddProductToProductSetRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1/{name=projects/*/locations/*/productSets/*}:addProduct" body: "*" @@ -274,7 +281,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND If the Product is not found under the ProductSet. - rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) returns (google.protobuf.Empty) { + rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1/{name=projects/*/locations/*/productSets/*}:removeProduct" body: "*" @@ -288,7 +296,8 @@ service ProductSearch { // Possible errors: // // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - rpc ListProductsInProductSet(ListProductsInProductSetRequest) returns (ListProductsInProductSetResponse) { + rpc ListProductsInProductSet(ListProductsInProductSetRequest) + returns (ListProductsInProductSetResponse) { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/productSets/*}/products" }; @@ -297,15 +306,16 @@ service ProductSearch { // Asynchronous API that imports a list of reference images to specified // product sets based on a list of image information. // - // The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the - // progress and results of the request. + // The [google.longrunning.Operation][google.longrunning.Operation] API can be + // used to keep track of the progress and results of the request. // `Operation.metadata` contains `BatchOperationMetadata`. (progress) // `Operation.response` contains `ImportProductSetsResponse`. (results) // // The input source of this method is a csv file on Google Cloud Storage. // For the format of the csv file please see // [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri]. - rpc ImportProductSets(ImportProductSetsRequest) returns (google.longrunning.Operation) { + rpc ImportProductSets(ImportProductSetsRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/productSets:import" body: "*" @@ -718,15 +728,17 @@ message ImportProductSetsGcsSource { // `product-display-name` column refers to // [display_name][google.cloud.vision.v1.Product.display_name], the // `product-category` column refers to - // [product_category][google.cloud.vision.v1.Product.product_category], and the - // `labels` column refers to [product_labels][google.cloud.vision.v1.Product.product_labels]. + // [product_category][google.cloud.vision.v1.Product.product_category], and + // the `labels` column refers to + // [product_labels][google.cloud.vision.v1.Product.product_labels]. // // The `image-id` column is optional but must be unique if provided. If it is // empty, the system will automatically assign a unique id to the image. // // The `product-display-name` column is optional. If it is empty, the system - // sets the [display_name][google.cloud.vision.v1.Product.display_name] field for the product to a - // space (" "). You can update the `display_name` later by using the API. + // sets the [display_name][google.cloud.vision.v1.Product.display_name] field + // for the product to a space (" "). You can update the `display_name` later + // by using the API. // // If a `Product` with the specified `product-id` already exists, then the // system ignores the `product-display-name`, `product-category`, and `labels` @@ -781,8 +793,10 @@ message ImportProductSetsRequest { // Response message for the `ImportProductSets` method. // // This message is returned by the -// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned -// [google.longrunning.Operation.response][google.longrunning.Operation.response] field. +// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] +// method in the returned +// [google.longrunning.Operation.response][google.longrunning.Operation.response] +// field. message ImportProductSetsResponse { // The list of reference_images that are imported successfully. repeated ReferenceImage reference_images = 1; @@ -829,6 +843,7 @@ message BatchOperationMetadata { google.protobuf.Timestamp submit_time = 2; // The time when the batch request is finished and - // [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to true. + // [google.longrunning.Operation.done][google.longrunning.Operation.done] is + // set to true. google.protobuf.Timestamp end_time = 3; } diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index 44ebcdaeea5..417e4f514f8 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -27,14 +27,14 @@ option java_outer_classname = "TextAnnotationProto"; option java_package = "com.google.cloud.vision.v1"; option objc_class_prefix = "GCVN"; - // TextAnnotation contains a structured representation of OCR extracted text. // The hierarchy of an OCR extracted text structure is like this: // TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol // Each structural component, starting from Page, may further have their own // properties. Properties describe detected languages, breaks etc.. Please refer -// to the [TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty] message definition below for more -// detail. +// to the +// [TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty] +// message definition below for more detail. message TextAnnotation { // Detected language for a structural component. message DetectedLanguage { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto index 17e86f8b36b..2d3c4a86a8e 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -26,7 +26,6 @@ option java_outer_classname = "WebDetectionProto"; option java_package = "com.google.cloud.vision.v1"; option objc_class_prefix = "GCVN"; - // Relevant information for the image from the Internet. message WebDetection { // Entity deduced from similar images on the Internet. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto index 73b8db853aa..4869a331173 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto @@ -339,7 +339,8 @@ message Property { // Set of detected entity features. message EntityAnnotation { // Opaque entity ID. Some IDs may be available in - // [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/). + // [Google Knowledge Graph Search + // API](https://developers.google.com/knowledge-graph/). string mid = 1; // The language code for the locale in which the entity textual diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto index 9add6ce849e..e9fec20bda7 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/geometry.proto @@ -22,7 +22,6 @@ option java_multiple_files = true; option java_outer_classname = "GeometryProto"; option java_package = "com.google.cloud.vision.v1p2beta1"; - // A vertex represents a 2D point in the image. // NOTE: the vertex coordinates are in the same scale as the original image. message Vertex { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index c145a38d59e..c5fce50f9ba 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -32,13 +32,13 @@ option java_multiple_files = true; option java_outer_classname = "ImageAnnotatorProto"; option java_package = "com.google.cloud.vision.v1p2beta1"; - // Service that performs Google Cloud Vision API detection tasks over client // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. service ImageAnnotator { // Run image detection and annotation for a batch of images. - rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) + returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1p2beta1/images:annotate" body: "*" @@ -51,7 +51,8 @@ service ImageAnnotator { // `google.longrunning.Operations` interface. // `Operation.metadata` contains `OperationMetadata` (metadata). // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p2beta1/files:asyncBatchAnnotate" body: "*" diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto index a8c5b869acf..b35eb47e8e4 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto @@ -25,14 +25,14 @@ option java_multiple_files = true; option java_outer_classname = "TextAnnotationProto"; option java_package = "com.google.cloud.vision.v1p2beta1"; - // TextAnnotation contains a structured representation of OCR extracted text. // The hierarchy of an OCR extracted text structure is like this: // TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol // Each structural component, starting from Page, may further have their own // properties. Properties describe detected languages, breaks etc.. Please refer -// to the [TextAnnotation.TextProperty][google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty] message definition below for more -// detail. +// to the +// [TextAnnotation.TextProperty][google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty] +// message definition below for more detail. message TextAnnotation { // Detected language for a structural component. message DetectedLanguage { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto index aeb2e2a87c7..f2b9dfef00d 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto @@ -24,7 +24,6 @@ option java_multiple_files = true; option java_outer_classname = "WebDetectionProto"; option java_package = "com.google.cloud.vision.v1p2beta1"; - // Relevant information for the image from the Internet. message WebDetection { // Entity deduced from similar images on the Internet. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto index e3042b89d88..28b768eaa79 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto @@ -24,7 +24,6 @@ option java_multiple_files = true; option java_outer_classname = "GeometryProto"; option java_package = "com.google.cloud.vision.v1p3beta1"; - // A vertex represents a 2D point in the image. // NOTE: the vertex coordinates are in the same scale as the original image. message Vertex { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto index ceb590176ef..2ac3ddb8b21 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -33,13 +33,13 @@ option java_multiple_files = true; option java_outer_classname = "ImageAnnotatorProto"; option java_package = "com.google.cloud.vision.v1p3beta1"; - // Service that performs Google Cloud Vision API detection tasks over client // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. service ImageAnnotator { // Run image detection and annotation for a batch of images. - rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) + returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1p3beta1/images:annotate" body: "*" @@ -52,7 +52,8 @@ service ImageAnnotator { // `google.longrunning.Operations` interface. // `Operation.metadata` contains `OperationMetadata` (metadata). // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p3beta1/files:asyncBatchAnnotate" body: "*" @@ -624,7 +625,8 @@ message AnnotateImageResponse { WebDetection web_detection = 13; // If present, product search has completed successfully. - google.cloud.vision.v1p3beta1.ProductSearchResults product_search_results = 14; + google.cloud.vision.v1p3beta1.ProductSearchResults product_search_results = + 14; // If set, represents the error message for the operation. // Note that filled-in image annotations are guaranteed to be @@ -691,7 +693,7 @@ message AsyncBatchAnnotateFilesResponse { // The list of file annotation responses, one for each request in // AsyncBatchAnnotateFilesRequest. repeated AsyncAnnotateFileResponse responses = 1; -}; +} // The desired input location and metadata. message InputConfig { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto index 85e4e0784e1..6a30c08759d 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto @@ -27,7 +27,6 @@ option java_multiple_files = true; option java_outer_classname = "ProductSearchProto"; option java_package = "com.google.cloud.vision.v1p3beta1"; - // Parameters for a product search request. message ProductSearchParams { // The resource name of the catalog to search. @@ -59,7 +58,9 @@ message ProductSearchParams { // Optional. Defaults to `BASIC`. ProductSearchResultsView view = 4; - // The resource name of a [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] to be searched for similar images. + // The resource name of a + // [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] to be searched for + // similar images. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto index 90388e36e22..23919ee7e84 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto @@ -30,20 +30,23 @@ option java_multiple_files = true; option java_outer_classname = "ProductSearchServiceProto"; option java_package = "com.google.cloud.vision.v1p3beta1"; - // Manages Products and ProductSets of reference images for use in product // search. It uses the following resource model: // -// - The API has a collection of [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] resources, named +// - The API has a collection of +// [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] resources, named // `projects/*/locations/*/productSets/*`, which acts as a way to put different // products into groups to limit identification. // // In parallel, // -// - The API has a collection of [Product][google.cloud.vision.v1p3beta1.Product] resources, named +// - The API has a collection of +// [Product][google.cloud.vision.v1p3beta1.Product] resources, named // `projects/*/locations/*/products/*` // -// - Each [Product][google.cloud.vision.v1p3beta1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1p3beta1.ReferenceImage] resources, named +// - Each [Product][google.cloud.vision.v1p3beta1.Product] has a collection of +// [ReferenceImage][google.cloud.vision.v1p3beta1.ReferenceImage] resources, +// named // `projects/*/locations/*/products/*/referenceImages/*` service ProductSearch { // Creates and returns a new ProductSet resource. @@ -65,7 +68,8 @@ service ProductSearch { // // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less // than 1. - rpc ListProductSets(ListProductSetsRequest) returns (ListProductSetsResponse) { + rpc ListProductSets(ListProductSetsRequest) + returns (ListProductSetsResponse) { option (google.api.http) = { get: "/v1p3beta1/{parent=projects/*/locations/*}/productSets" }; @@ -105,7 +109,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the ProductSet does not exist. - rpc DeleteProductSet(DeleteProductSetRequest) returns (google.protobuf.Empty) { + rpc DeleteProductSet(DeleteProductSetRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" }; @@ -203,7 +208,8 @@ service ProductSearch { // * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing // compatible with the parent product's product_category is detected. // * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. - rpc CreateReferenceImage(CreateReferenceImageRequest) returns (ReferenceImage) { + rpc CreateReferenceImage(CreateReferenceImageRequest) + returns (ReferenceImage) { option (google.api.http) = { post: "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages" body: "reference_image" @@ -221,7 +227,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the reference image does not exist. - rpc DeleteReferenceImage(DeleteReferenceImageRequest) returns (google.protobuf.Empty) { + rpc DeleteReferenceImage(DeleteReferenceImageRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" }; @@ -234,7 +241,8 @@ service ProductSearch { // * Returns NOT_FOUND if the parent product does not exist. // * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less // than 1. - rpc ListReferenceImages(ListReferenceImagesRequest) returns (ListReferenceImagesResponse) { + rpc ListReferenceImages(ListReferenceImagesRequest) + returns (ListReferenceImagesResponse) { option (google.api.http) = { get: "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages" }; @@ -259,7 +267,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - rpc AddProductToProductSet(AddProductToProductSetRequest) returns (google.protobuf.Empty) { + rpc AddProductToProductSet(AddProductToProductSetRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:addProduct" body: "*" @@ -271,7 +280,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND If the Product is not found under the ProductSet. - rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) returns (google.protobuf.Empty) { + rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:removeProduct" body: "*" @@ -285,7 +295,8 @@ service ProductSearch { // Possible errors: // // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - rpc ListProductsInProductSet(ListProductsInProductSetRequest) returns (ListProductsInProductSetResponse) { + rpc ListProductsInProductSet(ListProductsInProductSetRequest) + returns (ListProductsInProductSetResponse) { option (google.api.http) = { get: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}/products" }; @@ -294,15 +305,16 @@ service ProductSearch { // Asynchronous API that imports a list of reference images to specified // product sets based on a list of image information. // - // The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the - // progress and results of the request. + // The [google.longrunning.Operation][google.longrunning.Operation] API can be + // used to keep track of the progress and results of the request. // `Operation.metadata` contains `BatchOperationMetadata`. (progress) // `Operation.response` contains `ImportProductSetsResponse`. (results) // // The input source of this method is a csv file on Google Cloud Storage. // For the format of the csv file please see // [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri]. - rpc ImportProductSets(ImportProductSetsRequest) returns (google.longrunning.Operation) { + rpc ImportProductSets(ImportProductSetsRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p3beta1/{parent=projects/*/locations/*}/productSets:import" body: "*" @@ -721,9 +733,11 @@ message ImportProductSetsGcsSource { // product_display_name, product_category and labels are ignored. // // If a Product doesn't exist and needs to be created on the fly, the - // product_display_name field refers to [Product.display_name][google.cloud.vision.v1p3beta1.Product.display_name], the - // product_category field refers to [Product.product_category][google.cloud.vision.v1p3beta1.Product.product_category], and the - // labels field refers to [Product.labels][]. + // product_display_name field refers to + // [Product.display_name][google.cloud.vision.v1p3beta1.Product.display_name], + // the product_category field refers to + // [Product.product_category][google.cloud.vision.v1p3beta1.Product.product_category], + // and the labels field refers to [Product.labels][]. // // Labels (optional) should be a line containing a list of comma-separated // key-value pairs, with the format @@ -772,8 +786,10 @@ message ImportProductSetsRequest { // Response message for the `ImportProductSets` method. // // This message is returned by the -// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned -// [google.longrunning.Operation.response][google.longrunning.Operation.response] field. +// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] +// method in the returned +// [google.longrunning.Operation.response][google.longrunning.Operation.response] +// field. message ImportProductSetsResponse { // The list of reference_images that are imported successfully. repeated ReferenceImage reference_images = 1; @@ -820,6 +836,7 @@ message BatchOperationMetadata { google.protobuf.Timestamp submit_time = 2; // The time when the batch request is finished and - // [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to true. + // [google.longrunning.Operation.done][google.longrunning.Operation.done] is + // set to true. google.protobuf.Timestamp end_time = 3; } diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto index 0856b7f95a4..3c256c5773c 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto @@ -25,14 +25,14 @@ option java_multiple_files = true; option java_outer_classname = "TextAnnotationProto"; option java_package = "com.google.cloud.vision.v1p3beta1"; - // TextAnnotation contains a structured representation of OCR extracted text. // The hierarchy of an OCR extracted text structure is like this: // TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol // Each structural component, starting from Page, may further have their own // properties. Properties describe detected languages, breaks etc.. Please refer -// to the [TextAnnotation.TextProperty][google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty] message definition below for more -// detail. +// to the +// [TextAnnotation.TextProperty][google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty] +// message definition below for more detail. message TextAnnotation { // Detected language for a structural component. message DetectedLanguage { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto index ac63b3b8dff..cf9a22612a7 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto @@ -24,7 +24,6 @@ option java_multiple_files = true; option java_outer_classname = "WebDetectionProto"; option java_package = "com.google.cloud.vision.v1p3beta1"; - // Relevant information for the image from the Internet. message WebDetection { // Entity deduced from similar images on the Internet. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto index 60b71fd1ac6..b0abd329c02 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto @@ -26,7 +26,6 @@ option java_outer_classname = "GeometryProto"; option java_package = "com.google.cloud.vision.v1p4beta1"; option objc_class_prefix = "GCVN"; - // A vertex represents a 2D point in the image. // NOTE: the vertex coordinates are in the same scale as the original image. message Vertex { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index 3e4e8b614f9..ebbf92c35b1 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -36,13 +36,13 @@ option java_outer_classname = "ImageAnnotatorProto"; option java_package = "com.google.cloud.vision.v1p4beta1"; option objc_class_prefix = "GCVN"; - // Service that performs Google Cloud Vision API detection tasks over client // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. service ImageAnnotator { // Run image detection and annotation for a batch of images. - rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) + returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1p4beta1/images:annotate" body: "*" @@ -55,7 +55,8 @@ service ImageAnnotator { // This service will extract at most the first 10 frames (gif) or pages // (pdf or tiff) from each file provided and perform detection and annotation // for each image extracted. - rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) returns (BatchAnnotateFilesResponse) { + rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) + returns (BatchAnnotateFilesResponse) { option (google.api.http) = { post: "/v1p4beta1/files:annotate" body: "*" @@ -71,7 +72,8 @@ service ImageAnnotator { // // This service will write image annotation outputs to json files in customer // GCS bucket, each json file containing BatchAnnotateImagesResponse proto. - rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p4beta1/images:asyncBatchAnnotate" body: "*" @@ -84,7 +86,8 @@ service ImageAnnotator { // `google.longrunning.Operations` interface. // `Operation.metadata` contains `OperationMetadata` (metadata). // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p4beta1/files:asyncBatchAnnotate" body: "*" diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto index 3ec6767b5b5..007804f3122 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto @@ -29,14 +29,15 @@ option java_outer_classname = "ProductSearchProto"; option java_package = "com.google.cloud.vision.v1p4beta1"; option objc_class_prefix = "GCVN"; - // Parameters for a product search request. message ProductSearchParams { // The bounding polygon around the area of interest in the image. // Optional. If it is not specified, system discretion will be applied. BoundingPoly bounding_poly = 9; - // The resource name of a [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] to be searched for similar images. + // The resource name of a + // [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] to be searched for + // similar images. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto index 1a20351b63f..e3b23c7b301 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto @@ -32,20 +32,23 @@ option java_outer_classname = "ProductSearchServiceProto"; option java_package = "com.google.cloud.vision.v1p4beta1"; option objc_class_prefix = "GCVN"; - // Manages Products and ProductSets of reference images for use in product // search. It uses the following resource model: // -// - The API has a collection of [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] resources, named +// - The API has a collection of +// [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] resources, named // `projects/*/locations/*/productSets/*`, which acts as a way to put different // products into groups to limit identification. // // In parallel, // -// - The API has a collection of [Product][google.cloud.vision.v1p4beta1.Product] resources, named +// - The API has a collection of +// [Product][google.cloud.vision.v1p4beta1.Product] resources, named // `projects/*/locations/*/products/*` // -// - Each [Product][google.cloud.vision.v1p4beta1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1p4beta1.ReferenceImage] resources, named +// - Each [Product][google.cloud.vision.v1p4beta1.Product] has a collection of +// [ReferenceImage][google.cloud.vision.v1p4beta1.ReferenceImage] resources, +// named // `projects/*/locations/*/products/*/referenceImages/*` service ProductSearch { // Creates and returns a new ProductSet resource. @@ -67,7 +70,8 @@ service ProductSearch { // // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less // than 1. - rpc ListProductSets(ListProductSetsRequest) returns (ListProductSetsResponse) { + rpc ListProductSets(ListProductSetsRequest) + returns (ListProductSetsResponse) { option (google.api.http) = { get: "/v1p4beta1/{parent=projects/*/locations/*}/productSets" }; @@ -107,7 +111,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the ProductSet does not exist. - rpc DeleteProductSet(DeleteProductSetRequest) returns (google.protobuf.Empty) { + rpc DeleteProductSet(DeleteProductSetRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" }; @@ -206,7 +211,8 @@ service ProductSearch { // * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing // compatible with the parent product's product_category is detected. // * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. - rpc CreateReferenceImage(CreateReferenceImageRequest) returns (ReferenceImage) { + rpc CreateReferenceImage(CreateReferenceImageRequest) + returns (ReferenceImage) { option (google.api.http) = { post: "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" body: "reference_image" @@ -224,7 +230,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the reference image does not exist. - rpc DeleteReferenceImage(DeleteReferenceImageRequest) returns (google.protobuf.Empty) { + rpc DeleteReferenceImage(DeleteReferenceImageRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" }; @@ -237,7 +244,8 @@ service ProductSearch { // * Returns NOT_FOUND if the parent product does not exist. // * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less // than 1. - rpc ListReferenceImages(ListReferenceImagesRequest) returns (ListReferenceImagesResponse) { + rpc ListReferenceImages(ListReferenceImagesRequest) + returns (ListReferenceImagesResponse) { option (google.api.http) = { get: "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" }; @@ -262,7 +270,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - rpc AddProductToProductSet(AddProductToProductSetRequest) returns (google.protobuf.Empty) { + rpc AddProductToProductSet(AddProductToProductSetRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:addProduct" body: "*" @@ -274,7 +283,8 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND If the Product is not found under the ProductSet. - rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) returns (google.protobuf.Empty) { + rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:removeProduct" body: "*" @@ -288,7 +298,8 @@ service ProductSearch { // Possible errors: // // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - rpc ListProductsInProductSet(ListProductsInProductSetRequest) returns (ListProductsInProductSetResponse) { + rpc ListProductsInProductSet(ListProductsInProductSetRequest) + returns (ListProductsInProductSetResponse) { option (google.api.http) = { get: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products" }; @@ -297,15 +308,16 @@ service ProductSearch { // Asynchronous API that imports a list of reference images to specified // product sets based on a list of image information. // - // The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the - // progress and results of the request. + // The [google.longrunning.Operation][google.longrunning.Operation] API can be + // used to keep track of the progress and results of the request. // `Operation.metadata` contains `BatchOperationMetadata`. (progress) // `Operation.response` contains `ImportProductSetsResponse`. (results) // // The input source of this method is a csv file on Google Cloud Storage. // For the format of the csv file please see // [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri]. - rpc ImportProductSets(ImportProductSetsRequest) returns (google.longrunning.Operation) { + rpc ImportProductSets(ImportProductSetsRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p4beta1/{parent=projects/*/locations/*}/productSets:import" body: "*" @@ -719,15 +731,17 @@ message ImportProductSetsGcsSource { // `product-display-name` column refers to // [display_name][google.cloud.vision.v1p4beta1.Product.display_name], the // `product-category` column refers to - // [product_category][google.cloud.vision.v1p4beta1.Product.product_category], and the - // `labels` column refers to [product_labels][google.cloud.vision.v1p4beta1.Product.product_labels]. + // [product_category][google.cloud.vision.v1p4beta1.Product.product_category], + // and the `labels` column refers to + // [product_labels][google.cloud.vision.v1p4beta1.Product.product_labels]. // // The `image-id` column is optional but must be unique if provided. If it is // empty, the system will automatically assign a unique id to the image. // // The `product-display-name` column is optional. If it is empty, the system - // sets the [display_name][google.cloud.vision.v1p4beta1.Product.display_name] field for the product to a - // space (" "). You can update the `display_name` later by using the API. + // sets the [display_name][google.cloud.vision.v1p4beta1.Product.display_name] + // field for the product to a space (" "). You can update the `display_name` + // later by using the API. // // If a `Product` with the specified `product-id` already exists, then the // system ignores the `product-display-name`, `product-category`, and `labels` @@ -782,8 +796,10 @@ message ImportProductSetsRequest { // Response message for the `ImportProductSets` method. // // This message is returned by the -// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned -// [google.longrunning.Operation.response][google.longrunning.Operation.response] field. +// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] +// method in the returned +// [google.longrunning.Operation.response][google.longrunning.Operation.response] +// field. message ImportProductSetsResponse { // The list of reference_images that are imported successfully. repeated ReferenceImage reference_images = 1; @@ -830,6 +846,7 @@ message BatchOperationMetadata { google.protobuf.Timestamp submit_time = 2; // The time when the batch request is finished and - // [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to true. + // [google.longrunning.Operation.done][google.longrunning.Operation.done] is + // set to true. google.protobuf.Timestamp end_time = 3; } diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto index 095d96fa91e..542677f271e 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto @@ -27,14 +27,14 @@ option java_outer_classname = "TextAnnotationProto"; option java_package = "com.google.cloud.vision.v1p4beta1"; option objc_class_prefix = "GCVN"; - // TextAnnotation contains a structured representation of OCR extracted text. // The hierarchy of an OCR extracted text structure is like this: // TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol // Each structural component, starting from Page, may further have their own // properties. Properties describe detected languages, breaks etc.. Please refer -// to the [TextAnnotation.TextProperty][google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty] message definition below for more -// detail. +// to the +// [TextAnnotation.TextProperty][google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty] +// message definition below for more detail. message TextAnnotation { // Detected language for a structural component. message DetectedLanguage { diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto index e3f24f52c91..15822563b84 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto @@ -26,7 +26,6 @@ option java_outer_classname = "WebDetectionProto"; option java_package = "com.google.cloud.vision.v1p4beta1"; option objc_class_prefix = "GCVN"; - // Relevant information for the image from the Internet. message WebDetection { // Entity deduced from similar images on the Internet. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js index 2406e26e1ad..2f5a97805bf 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -25,7 +25,8 @@ * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {string} productSet - * The resource name of a ProductSet to be searched for similar images. + * The resource name of a ProductSet to + * be searched for similar images. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index 0cbc3c6fa20..2fa7846d1a7 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -652,15 +652,17 @@ const ListProductsInProductSetResponse = { * `product-display-name` column refers to * display_name, the * `product-category` column refers to - * product_category, and the - * `labels` column refers to product_labels. + * product_category, and + * the `labels` column refers to + * product_labels. * * The `image-id` column is optional but must be unique if provided. If it is * empty, the system will automatically assign a unique id to the image. * * The `product-display-name` column is optional. If it is empty, the system - * sets the display_name field for the product to a - * space (" "). You can update the `display_name` later by using the API. + * sets the display_name field + * for the product to a space (" "). You can update the `display_name` later + * by using the API. * * If a `Product` with the specified `product-id` already exists, then the * system ignores the `product-display-name`, `product-category`, and `labels` @@ -739,8 +741,10 @@ const ImportProductSetsRequest = { * Response message for the `ImportProductSets` method. * * This message is returned by the - * google.longrunning.Operations.GetOperation method in the returned - * google.longrunning.Operation.response field. + * google.longrunning.Operations.GetOperation + * method in the returned + * google.longrunning.Operation.response + * field. * * @property {Object[]} referenceImages * The list of reference_images that are imported successfully. @@ -783,7 +787,8 @@ const ImportProductSetsResponse = { * * @property {Object} endTime * The time when the batch request is finished and - * google.longrunning.Operation.done is set to true. + * google.longrunning.Operation.done is + * set to true. * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index dc40f25c6a8..c5e21e0e45c 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -21,8 +21,9 @@ * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol * Each structural component, starting from Page, may further have their own * properties. Properties describe detected languages, breaks etc.. Please refer - * to the TextAnnotation.TextProperty message definition below for more - * detail. + * to the + * TextAnnotation.TextProperty + * message definition below for more detail. * * @property {Object[]} pages * List of pages detected by OCR. diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index c1426c98804..cc685b8bb72 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -26,16 +26,18 @@ const VERSION = require('../../package.json').version; * Manages Products and ProductSets of reference images for use in product * search. It uses the following resource model: * - * - The API has a collection of ProductSet resources, named - * `projects/* /locations/* /productSets/*`, which acts as a way to put different - * products into groups to limit identification. + * - The API has a collection of ProductSet + * resources, named `projects/* /locations/* /productSets/*`, which acts as a way + * to put different products into groups to limit identification. * * In parallel, * - * - The API has a collection of Product resources, named + * - The API has a collection of Product + * resources, named * `projects/* /locations/* /products/*` * - * - Each Product has a collection of ReferenceImage resources, named + * - Each Product has a collection of + * ReferenceImage resources, named * `projects/* /locations/* /products/* /referenceImages/*` * * @class @@ -1717,8 +1719,8 @@ class ProductSearchClient { * Asynchronous API that imports a list of reference images to specified * product sets based on a list of image information. * - * The google.longrunning.Operation API can be used to keep track of the - * progress and results of the request. + * The google.longrunning.Operation API can be + * used to keep track of the progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * `Operation.response` contains `ImportProductSetsResponse`. (results) * diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js index 7acdeb0b493..5fdf8d18d8e 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js @@ -502,7 +502,8 @@ const Property = { * * @property {string} mid * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/). + * [Google Knowledge Graph Search + * API](https://developers.google.com/knowledge-graph/). * * @property {string} locale * The language code for the locale in which the entity textual diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js index 4c30042cb14..6d183cb4146 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js @@ -21,8 +21,9 @@ * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol * Each structural component, starting from Page, may further have their own * properties. Properties describe detected languages, breaks etc.. Please refer - * to the TextAnnotation.TextProperty message definition below for more - * detail. + * to the + * TextAnnotation.TextProperty + * message definition below for more detail. * * @property {Object[]} pages * List of pages detected by OCR. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js index 84a4e4de0d5..cee98f46a1d 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js @@ -56,7 +56,9 @@ * The number should be among the values of [ProductSearchResultsView]{@link google.cloud.vision.v1p3beta1.ProductSearchResultsView} * * @property {string} productSet - * The resource name of a ProductSet to be searched for similar images. + * The resource name of a + * ProductSet to be searched for + * similar images. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js index 23d1590ea5b..6f5ff534056 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js @@ -658,9 +658,11 @@ const ListProductsInProductSetResponse = { * product_display_name, product_category and labels are ignored. * * If a Product doesn't exist and needs to be created on the fly, the - * product_display_name field refers to Product.display_name, the - * product_category field refers to Product.product_category, and the - * labels field refers to Product.labels. + * product_display_name field refers to + * Product.display_name, + * the product_category field refers to + * Product.product_category, + * and the labels field refers to Product.labels. * * Labels (optional) should be a line containing a list of comma-separated * key-value pairs, with the format @@ -733,8 +735,10 @@ const ImportProductSetsRequest = { * Response message for the `ImportProductSets` method. * * This message is returned by the - * google.longrunning.Operations.GetOperation method in the returned - * google.longrunning.Operation.response field. + * google.longrunning.Operations.GetOperation + * method in the returned + * google.longrunning.Operation.response + * field. * * @property {Object[]} referenceImages * The list of reference_images that are imported successfully. @@ -777,7 +781,8 @@ const ImportProductSetsResponse = { * * @property {Object} endTime * The time when the batch request is finished and - * google.longrunning.Operation.done is set to true. + * google.longrunning.Operation.done is + * set to true. * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js index 5ae9e4564e3..a0ff01f9194 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js @@ -21,8 +21,9 @@ * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol * Each structural component, starting from Page, may further have their own * properties. Properties describe detected languages, breaks etc.. Please refer - * to the TextAnnotation.TextProperty message definition below for more - * detail. + * to the + * TextAnnotation.TextProperty + * message definition below for more detail. * * @property {Object[]} pages * List of pages detected by OCR. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index bfe0e87beb1..c83a9539fc3 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -26,16 +26,20 @@ const VERSION = require('../../package.json').version; * Manages Products and ProductSets of reference images for use in product * search. It uses the following resource model: * - * - The API has a collection of ProductSet resources, named + * - The API has a collection of + * ProductSet resources, named * `projects/* /locations/* /productSets/*`, which acts as a way to put different * products into groups to limit identification. * * In parallel, * - * - The API has a collection of Product resources, named + * - The API has a collection of + * Product resources, named * `projects/* /locations/* /products/*` * - * - Each Product has a collection of ReferenceImage resources, named + * - Each Product has a collection of + * ReferenceImage resources, + * named * `projects/* /locations/* /products/* /referenceImages/*` * * @class @@ -1732,8 +1736,8 @@ class ProductSearchClient { * Asynchronous API that imports a list of reference images to specified * product sets based on a list of image information. * - * The google.longrunning.Operation API can be used to keep track of the - * progress and results of the request. + * The google.longrunning.Operation API can be + * used to keep track of the progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * `Operation.response` contains `ImportProductSetsResponse`. (results) * diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js index 05f05474e0d..22a5252a220 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js @@ -25,7 +25,9 @@ * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} * * @property {string} productSet - * The resource name of a ProductSet to be searched for similar images. + * The resource name of a + * ProductSet to be searched for + * similar images. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js index 71881ce3edd..d54f9b368f6 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js @@ -653,15 +653,17 @@ const ListProductsInProductSetResponse = { * `product-display-name` column refers to * display_name, the * `product-category` column refers to - * product_category, and the - * `labels` column refers to product_labels. + * product_category, + * and the `labels` column refers to + * product_labels. * * The `image-id` column is optional but must be unique if provided. If it is * empty, the system will automatically assign a unique id to the image. * * The `product-display-name` column is optional. If it is empty, the system - * sets the display_name field for the product to a - * space (" "). You can update the `display_name` later by using the API. + * sets the display_name + * field for the product to a space (" "). You can update the `display_name` + * later by using the API. * * If a `Product` with the specified `product-id` already exists, then the * system ignores the `product-display-name`, `product-category`, and `labels` @@ -740,8 +742,10 @@ const ImportProductSetsRequest = { * Response message for the `ImportProductSets` method. * * This message is returned by the - * google.longrunning.Operations.GetOperation method in the returned - * google.longrunning.Operation.response field. + * google.longrunning.Operations.GetOperation + * method in the returned + * google.longrunning.Operation.response + * field. * * @property {Object[]} referenceImages * The list of reference_images that are imported successfully. @@ -784,7 +788,8 @@ const ImportProductSetsResponse = { * * @property {Object} endTime * The time when the batch request is finished and - * google.longrunning.Operation.done is set to true. + * google.longrunning.Operation.done is + * set to true. * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js index 3024b97f63f..3011393d045 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js @@ -21,8 +21,9 @@ * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol * Each structural component, starting from Page, may further have their own * properties. Properties describe detected languages, breaks etc.. Please refer - * to the TextAnnotation.TextProperty message definition below for more - * detail. + * to the + * TextAnnotation.TextProperty + * message definition below for more detail. * * @property {Object[]} pages * List of pages detected by OCR. diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index 84ec40bb1a9..8b2835bcae0 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -26,16 +26,20 @@ const VERSION = require('../../package.json').version; * Manages Products and ProductSets of reference images for use in product * search. It uses the following resource model: * - * - The API has a collection of ProductSet resources, named + * - The API has a collection of + * ProductSet resources, named * `projects/* /locations/* /productSets/*`, which acts as a way to put different * products into groups to limit identification. * * In parallel, * - * - The API has a collection of Product resources, named + * - The API has a collection of + * Product resources, named * `projects/* /locations/* /products/*` * - * - Each Product has a collection of ReferenceImage resources, named + * - Each Product has a collection of + * ReferenceImage resources, + * named * `projects/* /locations/* /products/* /referenceImages/*` * * @class @@ -1733,8 +1737,8 @@ class ProductSearchClient { * Asynchronous API that imports a list of reference images to specified * product sets based on a list of image information. * - * The google.longrunning.Operation API can be used to keep track of the - * progress and results of the request. + * The google.longrunning.Operation API can be + * used to keep track of the progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * `Operation.response` contains `ImportProductSetsResponse`. (results) * diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 8647c3b4805..1316fc91851 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-02-26T12:43:20.331123Z", + "updateTime": "2019-03-01T12:25:09.869057Z", "sources": [ { "generator": { @@ -12,15 +12,15 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "29f098cb03a9983cc9cb15993de5da64419046f2", - "internalRef": "235621085" + "sha": "41d72d444fbe445f4da89e13be02078734fb7875", + "internalRef": "236230004" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.1.16" + "version": "2019.2.26" } } ], From f94900ae0ce6673cecadc28c30b00e3743bd4732 Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Sun, 3 Mar 2019 10:09:29 -0800 Subject: [PATCH 271/588] docs(samples): move automl samples to nodejs-automl (#332) --- .../.cloud-repo-tools.json | 7 -- packages/google-cloud-vision/README.md | 92 ++++++++----------- .../google-cloud-vision/samples/package.json | 1 - 3 files changed, 36 insertions(+), 64 deletions(-) diff --git a/packages/google-cloud-vision/.cloud-repo-tools.json b/packages/google-cloud-vision/.cloud-repo-tools.json index 2fd462c874d..0244ee6c2cd 100644 --- a/packages/google-cloud-vision/.cloud-repo-tools.json +++ b/packages/google-cloud-vision/.cloud-repo-tools.json @@ -18,13 +18,6 @@ "file": "detect.v1p1beta1.js", "docs_link": "https://cloud.google.com/vision/docs", "usage": "node detect.v1p1beta1.js --help" - }, - { - "id": "detect.v1p1beta1.js", - "name": "Detection samples for Beta API", - "file": ".automl/automlVisionDataset.js", - "docs_link": "https://cloud.google.com/vision/docs", - "usage": "node automlVisionDataset.js --help" } ] } diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 16aea39d03d..b4e452079fd 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -8,80 +8,46 @@ [![npm version](https://img.shields.io/npm/v/@google-cloud/vision.svg)](https://www.npmjs.org/package/@google-cloud/vision) [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-vision/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-vision) -> Node.js idiomatic client for [Vision API][product-docs]. - The [Cloud Vision API](https://cloud.google.com/vision/docs) allows developers to easily integrate vision detection features within applications, including image labeling, face and landmark detection, optical character recognition (OCR), and tagging of explicit content. -* [Vision API Node.js Client API Reference][client-docs] -* [github.com/googleapis/nodejs-vision](https://github.com/googleapis/nodejs-vision) -* [Vision API Documentation][product-docs] - -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) +* [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. - - [Go to the projects page][projects] +## Using the client library -1. Enable billing for your project. +1. [Select or create a Cloud Platform project][projects]. - [Enable billing][billing] +1. [Enable billing for your project][billing]. -1. Enable the Google Cloud Vision API API. - - [Enable the API][enable_api] +1. [Enable the Google Cloud Vision API API][enable_api]. 1. [Set up authentication with a service account][auth] so you can access the API from your local workstation. -[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=vision.googleapis.com -[auth]: https://cloud.google.com/docs/authentication/getting-started - -### Installing the client library +1. Install the client library: - npm install --save @google-cloud/vision + npm install --save @google-cloud/vision -### Using the client library +1. Try an example: ```javascript -// Imports the Google Cloud client library -const vision = require('@google-cloud/vision'); - -// Creates a client -const client = new vision.ImageAnnotatorClient(); - -// Performs label detection on the image file -client - .labelDetection('./resources/wakeupcat.jpg') - .then(results => { - const labels = results[0].labelAnnotations; - - console.log('Labels:'); - labels.forEach(label => console.log(label.description)); - }) - .catch(err => { - console.error('ERROR:', err); - }); +async function quickstart() { + // Imports the Google Cloud client library + const vision = require('@google-cloud/vision'); + + // Creates a client + const client = new vision.ImageAnnotatorClient(); + + // Performs label detection on the image file + const [result] = await client.labelDetection('./resources/wakeupcat.jpg'); + const labels = result.labelAnnotations; + console.log('Labels:'); + labels.forEach(label => console.log(label.description)); +} ``` ## Samples @@ -120,7 +86,21 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) +## What's Next + +* [Vision API Documentation][product-docs] +* [Vision API Node.js Client API Reference][client-docs] +* [github.com/googleapis/nodejs-vision](https://github.com/googleapis/nodejs-vision) + +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 + [client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest/ [product-docs]: https://cloud.google.com/vision/docs [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=vision.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 0673eaefb02..e6dee3aca7a 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,6 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/automl": "^0.1.3", "@google-cloud/vision": "^0.25.0", "mathjs": "^5.0.4", "natural": "^0.6.1", From 5bc36d67915ce5423176054b381295a8f63c8394 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Tue, 5 Mar 2019 05:30:32 -0800 Subject: [PATCH 272/588] build: update release configuration This PR was generated using Autosynth. :rainbow: Here's the log from Synthtool: ``` synthtool > Executing /tmpfs/src/git/autosynth/working_repo/synth.py. synthtool > Ensuring dependencies. synthtool > Pulling artman image. latest: Pulling from googleapis/artman Digest: sha256:f3d61ae45abaeefb6be5f228cda22732c2f1b00fb687c79c4bd4f2c42bb1e1a7 Status: Image is up to date for googleapis/artman:latest synthtool > Cloning googleapis. synthtool > Running generator for google/cloud/vision/artman_vision_v1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p1beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p1beta1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p2beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p2beta1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p3beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p3beta1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p4beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p4beta1. .eslintignore .eslintrc.yml .github/ISSUE_TEMPLATE/bug_report.md .github/ISSUE_TEMPLATE/feature_request.md .github/ISSUE_TEMPLATE/support_request.md .jsdoc.js .kokoro/common.cfg .kokoro/continuous/node10/common.cfg .kokoro/continuous/node10/test.cfg .kokoro/continuous/node11/common.cfg .kokoro/continuous/node11/test.cfg .kokoro/continuous/node6/common.cfg .kokoro/continuous/node6/test.cfg .kokoro/continuous/node8/common.cfg .kokoro/continuous/node8/docs.cfg .kokoro/continuous/node8/lint.cfg .kokoro/continuous/node8/samples-test.cfg .kokoro/continuous/node8/system-test-grpcjs.cfg .kokoro/continuous/node8/system-test.cfg .kokoro/continuous/node8/test.cfg .kokoro/docs.sh .kokoro/lint.sh .kokoro/presubmit/node10/common.cfg .kokoro/presubmit/node10/test.cfg .kokoro/presubmit/node11/common.cfg .kokoro/presubmit/node11/test.cfg .kokoro/presubmit/node6/common.cfg .kokoro/presubmit/node6/test.cfg .kokoro/presubmit/node8/common.cfg .kokoro/presubmit/node8/docs.cfg .kokoro/presubmit/node8/lint.cfg .kokoro/presubmit/node8/samples-test.cfg .kokoro/presubmit/node8/system-test-grpcjs.cfg .kokoro/presubmit/node8/system-test.cfg .kokoro/presubmit/node8/test.cfg .kokoro/presubmit/windows/common.cfg .kokoro/presubmit/windows/test.cfg .kokoro/publish.sh .kokoro/release/publish.cfg .kokoro/samples-test.sh .kokoro/system-test.sh .kokoro/test.bat .kokoro/test.sh .kokoro/trampoline.sh .nycrc .prettierignore .prettierrc CODE_OF_CONDUCT.md CONTRIBUTING.md LICENSE codecov.yaml renovate.json synthtool > Replaced 'https:\\/\\/cloud\\.google\\.com[\\s\\*]*http:\\/\\/(.*)[\\s\\*]*\\)' in src/v1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'https:\\/\\/cloud\\.google\\.com[\\s\\*]*http:\\/\\/(.*)[\\s\\*]*\\)' in src/v1p4beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'https:\\/\\/cloud\\.google\\.com[\\s\\*]*http:\\/\\/(.*)[\\s\\*]*\\)' in src/v1p3beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'toISOString\\]' in src/v1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'toISOString\\]' in src/v1p4beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'toISOString\\]' in src/v1p3beta1/doc/google/protobuf/doc_timestamp.js. > grpc@1.19.0 install /tmpfs/src/git/autosynth/working_repo/node_modules/grpc > node-pre-gyp install --fallback-to-build --library=static_library node-pre-gyp WARN Using request for node-pre-gyp https download [grpc] Success: "/tmpfs/src/git/autosynth/working_repo/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-glibc/grpc_node.node" is installed via remote > protobufjs@6.8.8 postinstall /tmpfs/src/git/autosynth/working_repo/node_modules/protobufjs > node scripts/postinstall npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) added 1166 packages from 1355 contributors and audited 7158 packages in 30.124s found 1 low severity vulnerability run `npm audit fix` to fix them, or `npm audit` for details > @google-cloud/vision@0.25.0 fix /tmpfs/src/git/autosynth/working_repo > eslint --fix '**/*.js' synthtool > Cleaned up 2 temporary directories. synthtool > Wrote metadata to synth.metadata. ``` --- packages/google-cloud-vision/synth.metadata | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 1316fc91851..25d1aae2b4e 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-03-01T12:25:09.869057Z", + "updateTime": "2019-03-05T12:30:23.216855Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "41d72d444fbe445f4da89e13be02078734fb7875", - "internalRef": "236230004" + "sha": "b4a22569c88f1f0444e889d8139ddacb799f287c", + "internalRef": "236712632" } }, { From c408c704af4c8f49e13acf57d9364993c3c8163d Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Thu, 7 Mar 2019 18:06:29 -0800 Subject: [PATCH 273/588] build: Add docuploader credentials to node publish jobs (#342) --- packages/google-cloud-vision/synth.metadata | 68 ++------------------- 1 file changed, 4 insertions(+), 64 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 25d1aae2b4e..80d06e1caea 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,78 +1,18 @@ { - "updateTime": "2019-03-05T12:30:23.216855Z", + "updateTime": "2019-03-08T00:45:49.044779Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.14", - "dockerImage": "googleapis/artman@sha256:f3d61ae45abaeefb6be5f228cda22732c2f1b00fb687c79c4bd4f2c42bb1e1a7" + "version": "0.16.15", + "dockerImage": "googleapis/artman@sha256:9caadfa59d48224cba5f3217eb9d61a155b78ccf31e628abef385bc5b7ed3bd2" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "b4a22569c88f1f0444e889d8139ddacb799f287c", - "internalRef": "236712632" - } - }, - { - "template": { - "name": "node_library", - "origin": "synthtool.gcp", - "version": "2019.2.26" - } - } - ], - "destinations": [ - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p1beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p1beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p2beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p2beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p3beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p3beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p4beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p4beta1.yaml" + "sha": "c986e1d9618ac41343962b353d136201d72626ae" } } ] From 2a5449667701dc030bafc5df646332e25441c125 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Tue, 12 Mar 2019 11:10:06 -0700 Subject: [PATCH 274/588] docs: update jsdoc samples and json import paths (#344) --- .../src/v1/doc/google/type/doc_color.js | 9 ++- .../src/v1/doc/google/type/doc_latlng.js | 34 ---------- .../src/v1/image_annotator_client.js | 9 ++- .../src/v1/product_search_client.js | 14 +++- .../v1p1beta1/doc/google/type/doc_color.js | 9 ++- .../v1p1beta1/doc/google/type/doc_latlng.js | 34 ---------- .../src/v1p1beta1/image_annotator_client.js | 2 +- .../v1p2beta1/doc/google/type/doc_color.js | 9 ++- .../v1p2beta1/doc/google/type/doc_latlng.js | 34 ---------- .../src/v1p2beta1/image_annotator_client.js | 9 ++- .../v1p3beta1/doc/google/type/doc_color.js | 9 ++- .../v1p3beta1/doc/google/type/doc_latlng.js | 34 ---------- .../src/v1p3beta1/image_annotator_client.js | 9 ++- .../src/v1p3beta1/product_search_client.js | 14 +++- .../v1p4beta1/doc/google/type/doc_color.js | 9 ++- .../v1p4beta1/doc/google/type/doc_latlng.js | 34 ---------- .../src/v1p4beta1/image_annotator_client.js | 21 +++++- .../src/v1p4beta1/product_search_client.js | 14 +++- packages/google-cloud-vision/synth.metadata | 68 +++++++++++++++++-- 19 files changed, 183 insertions(+), 192 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js index 0b8c30004ce..5b21e4c31bc 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js @@ -22,7 +22,12 @@ * can be trivially provided to the constructor of "java.awt.Color" in Java; it * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * a CSS "rgba()" string in JavaScript, as well. + * + * Note: this proto does not carry information about the absolute color space + * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, + * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color + * space. * * Example (Java): * @@ -84,7 +89,7 @@ * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { * return nil; * } - * Color* result = [Color alloc] init]; + * Color* result = [[Color alloc] init]; * [result setRed:red]; * [result setGreen:green]; * [result setBlue:blue]; diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js index 37dca6bcf66..d6b19d7f2ff 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js @@ -22,40 +22,6 @@ * WGS84 * standard. Values must be within normalized ranges. * - * Example of normalization code in Python: - * - * def NormalizeLongitude(longitude): - * """Wraps decimal degrees longitude to [-180.0, 180.0].""" - * q, r = divmod(longitude, 360.0) - * if r > 180.0 or (r == 180.0 and q <= -1.0): - * return r - 360.0 - * return r - * - * def NormalizeLatLng(latitude, longitude): - * """Wraps decimal degrees latitude and longitude to - * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" - * r = latitude % 360.0 - * if r <= 90.0: - * return r, NormalizeLongitude(longitude) - * elif r >= 270.0: - * return r - 360, NormalizeLongitude(longitude) - * else: - * return 180 - r, NormalizeLongitude(longitude + 180.0) - * - * assert 180.0 == NormalizeLongitude(180.0) - * assert -180.0 == NormalizeLongitude(-180.0) - * assert -179.0 == NormalizeLongitude(181.0) - * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) - * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) - * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) - * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) - * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) - * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) - * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) - * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) - * * @property {number} latitude * The latitude in degrees. It must be in the range [-90.0, +90.0]. * diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 00c2c3ee1b5..a1868f3a315 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./image_annotator_client_config'); +const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -347,6 +347,13 @@ class ImageAnnotatorClient { * .catch(err => { * console.error(err); * }); + * + * const requests = []; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.asyncBatchAnnotateFiles({requests: requests}); + * + * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index cc685b8bb72..7f8d8c18eb4 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./product_search_client_config'); +const gapicConfig = require('./product_search_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -1813,6 +1813,18 @@ class ProductSearchClient { * .catch(err => { * console.error(err); * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const inputConfig = {}; + * const request = { + * parent: formattedParent, + * inputConfig: inputConfig, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.importProductSets(request); + * + * const [response] = await operation.promise(); */ importProductSets(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js index 0b8c30004ce..5b21e4c31bc 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js @@ -22,7 +22,12 @@ * can be trivially provided to the constructor of "java.awt.Color" in Java; it * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * a CSS "rgba()" string in JavaScript, as well. + * + * Note: this proto does not carry information about the absolute color space + * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, + * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color + * space. * * Example (Java): * @@ -84,7 +89,7 @@ * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { * return nil; * } - * Color* result = [Color alloc] init]; + * Color* result = [[Color alloc] init]; * [result setRed:red]; * [result setGreen:green]; * [result setBlue:blue]; diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js index 37dca6bcf66..d6b19d7f2ff 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js @@ -22,40 +22,6 @@ * WGS84 * standard. Values must be within normalized ranges. * - * Example of normalization code in Python: - * - * def NormalizeLongitude(longitude): - * """Wraps decimal degrees longitude to [-180.0, 180.0].""" - * q, r = divmod(longitude, 360.0) - * if r > 180.0 or (r == 180.0 and q <= -1.0): - * return r - 360.0 - * return r - * - * def NormalizeLatLng(latitude, longitude): - * """Wraps decimal degrees latitude and longitude to - * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" - * r = latitude % 360.0 - * if r <= 90.0: - * return r, NormalizeLongitude(longitude) - * elif r >= 270.0: - * return r - 360, NormalizeLongitude(longitude) - * else: - * return 180 - r, NormalizeLongitude(longitude + 180.0) - * - * assert 180.0 == NormalizeLongitude(180.0) - * assert -180.0 == NormalizeLongitude(-180.0) - * assert -179.0 == NormalizeLongitude(181.0) - * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) - * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) - * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) - * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) - * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) - * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) - * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) - * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) - * * @property {number} latitude * The latitude in degrees. It must be in the range [-90.0, +90.0]. * diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index a61c210443a..d5118effe12 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./image_annotator_client_config'); +const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js index 0b8c30004ce..5b21e4c31bc 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js @@ -22,7 +22,12 @@ * can be trivially provided to the constructor of "java.awt.Color" in Java; it * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * a CSS "rgba()" string in JavaScript, as well. + * + * Note: this proto does not carry information about the absolute color space + * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, + * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color + * space. * * Example (Java): * @@ -84,7 +89,7 @@ * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { * return nil; * } - * Color* result = [Color alloc] init]; + * Color* result = [[Color alloc] init]; * [result setRed:red]; * [result setGreen:green]; * [result setBlue:blue]; diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js index 37dca6bcf66..d6b19d7f2ff 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js @@ -22,40 +22,6 @@ * WGS84 * standard. Values must be within normalized ranges. * - * Example of normalization code in Python: - * - * def NormalizeLongitude(longitude): - * """Wraps decimal degrees longitude to [-180.0, 180.0].""" - * q, r = divmod(longitude, 360.0) - * if r > 180.0 or (r == 180.0 and q <= -1.0): - * return r - 360.0 - * return r - * - * def NormalizeLatLng(latitude, longitude): - * """Wraps decimal degrees latitude and longitude to - * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" - * r = latitude % 360.0 - * if r <= 90.0: - * return r, NormalizeLongitude(longitude) - * elif r >= 270.0: - * return r - 360, NormalizeLongitude(longitude) - * else: - * return 180 - r, NormalizeLongitude(longitude + 180.0) - * - * assert 180.0 == NormalizeLongitude(180.0) - * assert -180.0 == NormalizeLongitude(-180.0) - * assert -179.0 == NormalizeLongitude(181.0) - * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) - * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) - * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) - * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) - * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) - * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) - * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) - * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) - * * @property {number} latitude * The latitude in degrees. It must be in the range [-90.0, +90.0]. * diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 3faf8e0eb7a..4030c8c9e59 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./image_annotator_client_config'); +const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -347,6 +347,13 @@ class ImageAnnotatorClient { * .catch(err => { * console.error(err); * }); + * + * const requests = []; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.asyncBatchAnnotateFiles({requests: requests}); + * + * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js index 0b8c30004ce..5b21e4c31bc 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js @@ -22,7 +22,12 @@ * can be trivially provided to the constructor of "java.awt.Color" in Java; it * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * a CSS "rgba()" string in JavaScript, as well. + * + * Note: this proto does not carry information about the absolute color space + * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, + * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color + * space. * * Example (Java): * @@ -84,7 +89,7 @@ * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { * return nil; * } - * Color* result = [Color alloc] init]; + * Color* result = [[Color alloc] init]; * [result setRed:red]; * [result setGreen:green]; * [result setBlue:blue]; diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js index 37dca6bcf66..d6b19d7f2ff 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js @@ -22,40 +22,6 @@ * WGS84 * standard. Values must be within normalized ranges. * - * Example of normalization code in Python: - * - * def NormalizeLongitude(longitude): - * """Wraps decimal degrees longitude to [-180.0, 180.0].""" - * q, r = divmod(longitude, 360.0) - * if r > 180.0 or (r == 180.0 and q <= -1.0): - * return r - 360.0 - * return r - * - * def NormalizeLatLng(latitude, longitude): - * """Wraps decimal degrees latitude and longitude to - * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" - * r = latitude % 360.0 - * if r <= 90.0: - * return r, NormalizeLongitude(longitude) - * elif r >= 270.0: - * return r - 360, NormalizeLongitude(longitude) - * else: - * return 180 - r, NormalizeLongitude(longitude + 180.0) - * - * assert 180.0 == NormalizeLongitude(180.0) - * assert -180.0 == NormalizeLongitude(-180.0) - * assert -179.0 == NormalizeLongitude(181.0) - * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) - * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) - * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) - * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) - * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) - * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) - * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) - * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) - * * @property {number} latitude * The latitude in degrees. It must be in the range [-90.0, +90.0]. * diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 12d529e0d0e..9074012e2d8 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./image_annotator_client_config'); +const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -347,6 +347,13 @@ class ImageAnnotatorClient { * .catch(err => { * console.error(err); * }); + * + * const requests = []; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.asyncBatchAnnotateFiles({requests: requests}); + * + * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index c83a9539fc3..cafd440e156 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./product_search_client_config'); +const gapicConfig = require('./product_search_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -1830,6 +1830,18 @@ class ProductSearchClient { * .catch(err => { * console.error(err); * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const inputConfig = {}; + * const request = { + * parent: formattedParent, + * inputConfig: inputConfig, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.importProductSets(request); + * + * const [response] = await operation.promise(); */ importProductSets(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js index 0b8c30004ce..5b21e4c31bc 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js @@ -22,7 +22,12 @@ * can be trivially provided to the constructor of "java.awt.Color" in Java; it * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. Here are some examples: + * a CSS "rgba()" string in JavaScript, as well. + * + * Note: this proto does not carry information about the absolute color space + * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, + * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color + * space. * * Example (Java): * @@ -84,7 +89,7 @@ * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { * return nil; * } - * Color* result = [Color alloc] init]; + * Color* result = [[Color alloc] init]; * [result setRed:red]; * [result setGreen:green]; * [result setBlue:blue]; diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js index 37dca6bcf66..d6b19d7f2ff 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js @@ -22,40 +22,6 @@ * WGS84 * standard. Values must be within normalized ranges. * - * Example of normalization code in Python: - * - * def NormalizeLongitude(longitude): - * """Wraps decimal degrees longitude to [-180.0, 180.0].""" - * q, r = divmod(longitude, 360.0) - * if r > 180.0 or (r == 180.0 and q <= -1.0): - * return r - 360.0 - * return r - * - * def NormalizeLatLng(latitude, longitude): - * """Wraps decimal degrees latitude and longitude to - * [-90.0, 90.0] and [-180.0, 180.0], respectively.""" - * r = latitude % 360.0 - * if r <= 90.0: - * return r, NormalizeLongitude(longitude) - * elif r >= 270.0: - * return r - 360, NormalizeLongitude(longitude) - * else: - * return 180 - r, NormalizeLongitude(longitude + 180.0) - * - * assert 180.0 == NormalizeLongitude(180.0) - * assert -180.0 == NormalizeLongitude(-180.0) - * assert -179.0 == NormalizeLongitude(181.0) - * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) - * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) - * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) - * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) - * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) - * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) - * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) - * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) - * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) - * * @property {number} latitude * The latitude in degrees. It must be in the range [-90.0, +90.0]. * diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index e2099dbdfcf..d6f94ee808a 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./image_annotator_client_config'); +const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -435,6 +435,18 @@ class ImageAnnotatorClient { * .catch(err => { * console.error(err); * }); + * + * const requests = []; + * const outputConfig = {}; + * const request = { + * requests: requests, + * outputConfig: outputConfig, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.asyncBatchAnnotateImages(request); + * + * const [response] = await operation.promise(); */ asyncBatchAnnotateImages(request, options, callback) { if (options instanceof Function && callback === undefined) { @@ -529,6 +541,13 @@ class ImageAnnotatorClient { * .catch(err => { * console.error(err); * }); + * + * const requests = []; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.asyncBatchAnnotateFiles({requests: requests}); + * + * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index 8b2835bcae0..a16553a5b2a 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -14,7 +14,7 @@ 'use strict'; -const gapicConfig = require('./product_search_client_config'); +const gapicConfig = require('./product_search_client_config.json'); const gax = require('google-gax'); const merge = require('lodash.merge'); const path = require('path'); @@ -1831,6 +1831,18 @@ class ProductSearchClient { * .catch(err => { * console.error(err); * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const inputConfig = {}; + * const request = { + * parent: formattedParent, + * inputConfig: inputConfig, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.importProductSets(request); + * + * const [response] = await operation.promise(); */ importProductSets(request, options, callback) { if (options instanceof Function && callback === undefined) { diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 80d06e1caea..e86b5a83ac3 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,18 +1,78 @@ { - "updateTime": "2019-03-08T00:45:49.044779Z", + "updateTime": "2019-03-12T11:29:38.187196Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.15", - "dockerImage": "googleapis/artman@sha256:9caadfa59d48224cba5f3217eb9d61a155b78ccf31e628abef385bc5b7ed3bd2" + "version": "0.16.16", + "dockerImage": "googleapis/artman@sha256:30babbfce7f05a62b1892c63c575aa2c8c502eb4bcc8f3bb90ec83e955d5d319" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "c986e1d9618ac41343962b353d136201d72626ae" + "sha": "abd1c9a99c5cd7179d8e5e0c8d4c8e761054cc78", + "internalRef": "237945492" + } + }, + { + "template": { + "name": "node_library", + "origin": "synthtool.gcp", + "version": "2019.2.26" + } + } + ], + "destinations": [ + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p1beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p1beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p2beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p2beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p3beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p3beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p4beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p4beta1.yaml" } } ] From 8b7a8c3caa4ed29b120e23b11d3912d97b744b2d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Wed, 13 Mar 2019 05:08:11 -0700 Subject: [PATCH 275/588] docs: use backticks for JS values (#345) This PR was generated using Autosynth. :rainbow: Here's the log from Synthtool: ``` synthtool > Executing /tmpfs/src/git/autosynth/working_repo/synth.py. synthtool > Ensuring dependencies. synthtool > Pulling artman image. latest: Pulling from googleapis/artman Digest: sha256:7231f27272231a884e09edb5953148c85ecd8467780d33c4a35c3e507885715b Status: Image is up to date for googleapis/artman:latest synthtool > Cloning googleapis. synthtool > Running generator for google/cloud/vision/artman_vision_v1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p1beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p1beta1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p2beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p2beta1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p3beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p3beta1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p4beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p4beta1. .eslintignore .eslintrc.yml .github/ISSUE_TEMPLATE/bug_report.md .github/ISSUE_TEMPLATE/feature_request.md .github/ISSUE_TEMPLATE/support_request.md .jsdoc.js .kokoro/common.cfg .kokoro/continuous/node10/common.cfg .kokoro/continuous/node10/docs.cfg .kokoro/continuous/node10/lint.cfg .kokoro/continuous/node10/samples-test.cfg .kokoro/continuous/node10/system-test-grpcjs.cfg .kokoro/continuous/node10/system-test.cfg .kokoro/continuous/node10/test.cfg .kokoro/continuous/node11/common.cfg .kokoro/continuous/node11/test.cfg .kokoro/continuous/node6/common.cfg .kokoro/continuous/node6/test.cfg .kokoro/continuous/node8/common.cfg .kokoro/continuous/node8/test.cfg .kokoro/docs.sh .kokoro/lint.sh .kokoro/presubmit/node10/common.cfg .kokoro/presubmit/node10/docs.cfg .kokoro/presubmit/node10/lint.cfg .kokoro/presubmit/node10/samples-test.cfg .kokoro/presubmit/node10/system-test-grpcjs.cfg .kokoro/presubmit/node10/system-test.cfg .kokoro/presubmit/node10/test.cfg .kokoro/presubmit/node11/common.cfg .kokoro/presubmit/node11/test.cfg .kokoro/presubmit/node6/common.cfg .kokoro/presubmit/node6/test.cfg .kokoro/presubmit/node8/common.cfg .kokoro/presubmit/node8/test.cfg .kokoro/presubmit/windows/common.cfg .kokoro/presubmit/windows/test.cfg .kokoro/publish.sh .kokoro/release/publish.cfg .kokoro/samples-test.sh .kokoro/system-test.sh .kokoro/test.bat .kokoro/test.sh .kokoro/trampoline.sh .nycrc .prettierignore .prettierrc CODE_OF_CONDUCT.md CONTRIBUTING.md LICENSE codecov.yaml renovate.json synthtool > Replaced 'https:\\/\\/cloud\\.google\\.com[\\s\\*]*http:\\/\\/(.*)[\\s\\*]*\\)' in src/v1p3beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'https:\\/\\/cloud\\.google\\.com[\\s\\*]*http:\\/\\/(.*)[\\s\\*]*\\)' in src/v1p4beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'https:\\/\\/cloud\\.google\\.com[\\s\\*]*http:\\/\\/(.*)[\\s\\*]*\\)' in src/v1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'toISOString\\]' in src/v1p3beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'toISOString\\]' in src/v1p4beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'toISOString\\]' in src/v1/doc/google/protobuf/doc_timestamp.js. > grpc@1.19.0 install /tmpfs/src/git/autosynth/working_repo/node_modules/grpc > node-pre-gyp install --fallback-to-build --library=static_library node-pre-gyp WARN Using request for node-pre-gyp https download [grpc] Success: "/tmpfs/src/git/autosynth/working_repo/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-glibc/grpc_node.node" is installed via remote > protobufjs@6.8.8 postinstall /tmpfs/src/git/autosynth/working_repo/node_modules/protobufjs > node scripts/postinstall npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) added 1166 packages from 1357 contributors and audited 7159 packages in 23.925s found 1 low severity vulnerability run `npm audit fix` to fix them, or `npm audit` for details > @google-cloud/vision@0.25.0 fix /tmpfs/src/git/autosynth/working_repo > eslint --fix '**/*.js' synthtool > Cleaned up 2 temporary directories. synthtool > Wrote metadata to synth.metadata. ``` --- .../src/v1/doc/google/longrunning/doc_operations.js | 2 +- .../v1p2beta1/doc/google/longrunning/doc_operations.js | 2 +- .../v1p3beta1/doc/google/longrunning/doc_operations.js | 2 +- .../v1p4beta1/doc/google/longrunning/doc_operations.js | 2 +- packages/google-cloud-vision/synth.metadata | 10 +++++----- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js @@ -34,7 +34,7 @@ * * @property {boolean} done * If the value is `false`, it means the operation is still in progress. - * If true, the operation is completed, and either `error` or `response` is + * If `true`, the operation is completed, and either `error` or `response` is * available. * * @property {Object} error diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js @@ -34,7 +34,7 @@ * * @property {boolean} done * If the value is `false`, it means the operation is still in progress. - * If true, the operation is completed, and either `error` or `response` is + * If `true`, the operation is completed, and either `error` or `response` is * available. * * @property {Object} error diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js @@ -34,7 +34,7 @@ * * @property {boolean} done * If the value is `false`, it means the operation is still in progress. - * If true, the operation is completed, and either `error` or `response` is + * If `true`, the operation is completed, and either `error` or `response` is * available. * * @property {Object} error diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js index bd03cc3da0e..4719aebdc91 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js @@ -34,7 +34,7 @@ * * @property {boolean} done * If the value is `false`, it means the operation is still in progress. - * If true, the operation is completed, and either `error` or `response` is + * If `true`, the operation is completed, and either `error` or `response` is * available. * * @property {Object} error diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index e86b5a83ac3..f068cdc45bb 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-03-12T11:29:38.187196Z", + "updateTime": "2019-03-13T11:26:12.082586Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.16", - "dockerImage": "googleapis/artman@sha256:30babbfce7f05a62b1892c63c575aa2c8c502eb4bcc8f3bb90ec83e955d5d319" + "version": "0.16.17", + "dockerImage": "googleapis/artman@sha256:7231f27272231a884e09edb5953148c85ecd8467780d33c4a35c3e507885715b" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "abd1c9a99c5cd7179d8e5e0c8d4c8e761054cc78", - "internalRef": "237945492" + "sha": "e340f4a01ec287f7bb86e2331b5e98c473d10afd", + "internalRef": "238151361" } }, { From fa7aef0a4495ecbc9b2400ef7a88485ec9e6063a Mon Sep 17 00:00:00 2001 From: Shahin Date: Wed, 20 Mar 2019 16:43:35 -0700 Subject: [PATCH 276/588] Samples for batch PDF and image annotation. (#347) * Added the two samples for pdf annotation * Added the sample for image batch annotation * Fixed coding style after running eslint * Several changes made based on Justin's comments. * Separated the samples and tests per Justin's comments. * Using const instead of let * Changed the description of the tests. * Replaced tabs with spaces * Update samples/vision_async_batch_annotate_images_beta.js Co-Authored-By: happyhuman * Update samples/vision_batch_annotate_files_beta.js Co-Authored-By: happyhuman * Update samples/vision_batch_annotate_files_beta.js Co-Authored-By: happyhuman * Update samples/vision_async_batch_annotate_images_beta.js Co-Authored-By: happyhuman * Update samples/vision_async_batch_annotate_images_beta.js Co-Authored-By: happyhuman * Renamed the files per Justin's suggestions. * Edited README file * Fixed the issue with renaming. * Dashes instead of underscores * Corrected the file names in test files. --- packages/google-cloud-vision/samples/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 7810efd05de..d003e11471f 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -94,6 +94,9 @@ Examples: node detect.js pdf my-bucket my-pdf.pdf node detect.js localize-objects ./resources/duck_and_truck.jpg node detect.js localize-objects-gcs gs://bucket/bucketImage.png + node batch_annotate_files.js my-pdf.pdf + node batch_annotate_files_gcs.js my-pdf.pdf + node async_batch_annotate_images.js gs://bucket/bucketImage.png gs://bucket/out For more information, see https://cloud.google.com/vision/docs ``` From fb6b044c6a02fafc248d7bdcb65fa7ed5c6989e4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Tue, 2 Apr 2019 14:19:40 -0700 Subject: [PATCH 277/588] fix: include 'x-goog-request-params' header in requests fix: include 'x-goog-request-params' header in requests This PR was generated using Autosynth. :rainbow: Here's the log from Synthtool: ``` synthtool > Executing /tmpfs/src/git/autosynth/working_repo/synth.py. synthtool > Ensuring dependencies. synthtool > Pulling artman image. latest: Pulling from googleapis/artman Digest: sha256:e3c054a2fb85a12481c722af616c7fb6f1d02d862248385eecbec3e4240ebd1e Status: Image is up to date for googleapis/artman:latest synthtool > Cloning googleapis. synthtool > Running generator for google/cloud/vision/artman_vision_v1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p1beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p1beta1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p2beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p2beta1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p3beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p3beta1. synthtool > Running generator for google/cloud/vision/artman_vision_v1p4beta1.yaml. synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/js/vision-v1p4beta1. .eslintignore .eslintrc.yml .github/ISSUE_TEMPLATE/bug_report.md .github/ISSUE_TEMPLATE/feature_request.md .github/ISSUE_TEMPLATE/support_request.md .jsdoc.js .kokoro/common.cfg .kokoro/continuous/node10/common.cfg .kokoro/continuous/node10/docs.cfg .kokoro/continuous/node10/lint.cfg .kokoro/continuous/node10/samples-test.cfg .kokoro/continuous/node10/system-test-grpcjs.cfg .kokoro/continuous/node10/system-test.cfg .kokoro/continuous/node10/test.cfg .kokoro/continuous/node11/common.cfg .kokoro/continuous/node11/test.cfg .kokoro/continuous/node6/common.cfg .kokoro/continuous/node6/test.cfg .kokoro/continuous/node8/common.cfg .kokoro/continuous/node8/test.cfg .kokoro/docs.sh .kokoro/lint.sh .kokoro/presubmit/node10/common.cfg .kokoro/presubmit/node10/docs.cfg .kokoro/presubmit/node10/lint.cfg .kokoro/presubmit/node10/samples-test.cfg .kokoro/presubmit/node10/system-test-grpcjs.cfg .kokoro/presubmit/node10/system-test.cfg .kokoro/presubmit/node10/test.cfg .kokoro/presubmit/node11/common.cfg .kokoro/presubmit/node11/test.cfg .kokoro/presubmit/node6/common.cfg .kokoro/presubmit/node6/test.cfg .kokoro/presubmit/node8/common.cfg .kokoro/presubmit/node8/test.cfg .kokoro/presubmit/windows/common.cfg .kokoro/presubmit/windows/test.cfg .kokoro/publish.sh .kokoro/release/publish.cfg .kokoro/samples-test.sh .kokoro/system-test.sh .kokoro/test.bat .kokoro/test.sh .kokoro/trampoline.sh .nycrc .prettierignore .prettierrc CODE_OF_CONDUCT.md CONTRIBUTING.md LICENSE Skipping: README.md codecov.yaml renovate.json synthtool > Replaced 'https:\\/\\/cloud\\.google\\.com[\\s\\*]*http:\\/\\/(.*)[\\s\\*]*\\)' in src/v1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'https:\\/\\/cloud\\.google\\.com[\\s\\*]*http:\\/\\/(.*)[\\s\\*]*\\)' in src/v1p4beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'https:\\/\\/cloud\\.google\\.com[\\s\\*]*http:\\/\\/(.*)[\\s\\*]*\\)' in src/v1p3beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'toISOString\\]' in src/v1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'toISOString\\]' in src/v1p4beta1/doc/google/protobuf/doc_timestamp.js. synthtool > Replaced 'toISOString\\]' in src/v1p3beta1/doc/google/protobuf/doc_timestamp.js. > grpc@1.19.0 install /tmpfs/src/git/autosynth/working_repo/node_modules/grpc > node-pre-gyp install --fallback-to-build --library=static_library node-pre-gyp WARN Using needle for node-pre-gyp https download [grpc] Success: "/tmpfs/src/git/autosynth/working_repo/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-glibc/grpc_node.node" is installed via remote > protobufjs@6.8.8 postinstall /tmpfs/src/git/autosynth/working_repo/node_modules/protobufjs > node scripts/postinstall npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) added 1133 packages from 1322 contributors and audited 7110 packages in 25.393s found 3 vulnerabilities (1 low, 2 moderate) run `npm audit fix` to fix them, or `npm audit` for details > @google-cloud/vision@0.25.0 fix /tmpfs/src/git/autosynth/working_repo > eslint --fix '**/*.js' synthtool > Cleaned up 2 temporary directories. synthtool > Wrote metadata to synth.metadata. ``` #353 automerged by dpebot --- .../src/v1/product_search_client.js | 126 ++++++++++++++++++ .../src/v1p3beta1/product_search_client.js | 126 ++++++++++++++++++ .../src/v1p4beta1/product_search_client.js | 126 ++++++++++++++++++ packages/google-cloud-vision/synth.metadata | 10 +- 4 files changed, 383 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 7f8d8c18eb4..a833fa6989b 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -356,6 +356,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.createProduct(request, options, callback); } @@ -457,6 +464,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.listProducts(request, options, callback); } @@ -568,6 +582,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.getProduct(request, options, callback); } @@ -639,6 +660,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product.name': request.product.name, + }); return this._innerApiCalls.updateProduct(request, options, callback); } @@ -688,6 +716,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.deleteProduct(request, options, callback); } @@ -791,6 +826,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.listReferenceImages(request, options, callback); } @@ -903,6 +945,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.getReferenceImage(request, options, callback); } @@ -955,6 +1004,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.deleteReferenceImage(request, options, callback); } @@ -1037,6 +1093,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.createReferenceImage(request, options, callback); } @@ -1104,6 +1167,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.createProductSet(request, options, callback); } @@ -1205,6 +1275,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.listProductSets(request, options, callback); } @@ -1315,6 +1392,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.getProductSet(request, options, callback); } @@ -1377,6 +1461,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product_set.name': request.productSet.name, + }); return this._innerApiCalls.updateProductSet(request, options, callback); } @@ -1425,6 +1516,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.deleteProductSet(request, options, callback); } @@ -1483,6 +1581,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.addProductToProductSet( request, @@ -1542,6 +1647,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.removeProductFromProductSet( request, @@ -1649,6 +1761,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.listProductsInProductSet( request, @@ -1832,6 +1951,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.importProductSets(request, options, callback); } diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index cafd440e156..78d173f9dfd 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -357,6 +357,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.createProductSet(request, options, callback); } @@ -458,6 +465,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.listProductSets(request, options, callback); } @@ -568,6 +582,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.getProductSet(request, options, callback); } @@ -635,6 +656,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product_set.name': request.productSet.name, + }); return this._innerApiCalls.updateProductSet(request, options, callback); } @@ -683,6 +711,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.deleteProductSet(request, options, callback); } @@ -755,6 +790,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.createProduct(request, options, callback); } @@ -856,6 +898,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.listProducts(request, options, callback); } @@ -967,6 +1016,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.getProduct(request, options, callback); } @@ -1042,6 +1098,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product.name': request.product.name, + }); return this._innerApiCalls.updateProduct(request, options, callback); } @@ -1091,6 +1154,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.deleteProduct(request, options, callback); } @@ -1175,6 +1245,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.createReferenceImage(request, options, callback); } @@ -1227,6 +1304,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.deleteReferenceImage(request, options, callback); } @@ -1330,6 +1414,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.listReferenceImages(request, options, callback); } @@ -1442,6 +1533,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.getReferenceImage(request, options, callback); } @@ -1500,6 +1598,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.addProductToProductSet( request, @@ -1559,6 +1664,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.removeProductFromProductSet( request, @@ -1666,6 +1778,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.listProductsInProductSet( request, @@ -1849,6 +1968,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.importProductSets(request, options, callback); } diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index a16553a5b2a..566a44a4400 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -357,6 +357,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.createProductSet(request, options, callback); } @@ -458,6 +465,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.listProductSets(request, options, callback); } @@ -568,6 +582,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.getProductSet(request, options, callback); } @@ -635,6 +656,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product_set.name': request.productSet.name, + }); return this._innerApiCalls.updateProductSet(request, options, callback); } @@ -683,6 +711,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.deleteProductSet(request, options, callback); } @@ -755,6 +790,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.createProduct(request, options, callback); } @@ -856,6 +898,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.listProducts(request, options, callback); } @@ -967,6 +1016,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.getProduct(request, options, callback); } @@ -1043,6 +1099,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product.name': request.product.name, + }); return this._innerApiCalls.updateProduct(request, options, callback); } @@ -1092,6 +1155,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.deleteProduct(request, options, callback); } @@ -1176,6 +1246,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.createReferenceImage(request, options, callback); } @@ -1228,6 +1305,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.deleteReferenceImage(request, options, callback); } @@ -1331,6 +1415,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.listReferenceImages(request, options, callback); } @@ -1443,6 +1534,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.getReferenceImage(request, options, callback); } @@ -1501,6 +1599,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.addProductToProductSet( request, @@ -1560,6 +1665,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.removeProductFromProductSet( request, @@ -1667,6 +1779,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name, + }); return this._innerApiCalls.listProductsInProductSet( request, @@ -1850,6 +1969,13 @@ class ProductSearchClient { options = {}; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.importProductSets(request, options, callback); } diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index f068cdc45bb..2da6f13cbdc 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-03-13T11:26:12.082586Z", + "updateTime": "2019-03-28T11:47:03.095922Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.17", - "dockerImage": "googleapis/artman@sha256:7231f27272231a884e09edb5953148c85ecd8467780d33c4a35c3e507885715b" + "version": "0.16.20", + "dockerImage": "googleapis/artman@sha256:e3c054a2fb85a12481c722af616c7fb6f1d02d862248385eecbec3e4240ebd1e" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "e340f4a01ec287f7bb86e2331b5e98c473d10afd", - "internalRef": "238151361" + "sha": "6a84b3267b0a95e922608b9891219075047eee29", + "internalRef": "240640999" } }, { From 7762334b08ace6ee41336e9fd179efa409c68ce3 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 4 Apr 2019 18:30:14 -0700 Subject: [PATCH 278/588] refactor: use execSync for tests (#355) --- packages/google-cloud-vision/samples/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index e6dee3aca7a..7a49219afea 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -23,7 +23,6 @@ "devDependencies": { "@google-cloud/storage": "^2.0.0", "chai": "^4.2.0", - "execa": "^1.0.0", "mocha": "^6.0.0", "uuid": "^3.2.1" } From 4171fa38e75814be54ddc98ab24c829f96dcb18e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Fri, 26 Apr 2019 12:52:59 -0700 Subject: [PATCH 279/588] chore(deps): update dependency nyc to v14 (#356) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 780e21304a4..bdb76a5bc10 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -60,7 +60,7 @@ "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.5.5", "mocha": "^6.0.0", - "nyc": "^13.0.0", + "nyc": "^14.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.6", "sinon": "^7.0.0", From 21af8216cc0cf8384f14db695a89181cf5a69c65 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Fri, 26 Apr 2019 14:14:34 -0700 Subject: [PATCH 280/588] chore(docs): formatting updates (#358) --- .../src/v1/doc/google/protobuf/doc_any.js | 3 +- .../v1/doc/google/protobuf/doc_field_mask.js | 44 ++++++++----------- .../v1/doc/google/protobuf/doc_timestamp.js | 26 ++++++----- .../v1p1beta1/doc/google/protobuf/doc_any.js | 3 +- .../v1p2beta1/doc/google/protobuf/doc_any.js | 3 +- .../v1p3beta1/doc/google/protobuf/doc_any.js | 3 +- .../doc/google/protobuf/doc_field_mask.js | 44 ++++++++----------- .../doc/google/protobuf/doc_timestamp.js | 26 ++++++----- .../v1p4beta1/doc/google/protobuf/doc_any.js | 3 +- .../doc/google/protobuf/doc_field_mask.js | 44 ++++++++----------- .../doc/google/protobuf/doc_timestamp.js | 26 ++++++----- packages/google-cloud-vision/synth.metadata | 12 ++--- 12 files changed, 112 insertions(+), 125 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js @@ -98,7 +98,8 @@ * * @property {string} typeUrl * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. The last segment of the URL's path must represent + * protocol buffer message. This string must contain at least + * one "/" character. The last segment of the URL's path must represent * the fully qualified name of the type (as in * `path/google.protobuf.Duration`). The name should be in a canonical form * (e.g., leading "." is not accepted). diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js index d55d97e6e38..011207b8626 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js @@ -84,57 +84,49 @@ * describe the updated values, the API ignores the values of all * fields not covered by the mask. * - * If a repeated field is specified for an update operation, the existing - * repeated values in the target resource will be overwritten by the new values. - * Note that a repeated field is only allowed in the last position of a `paths` - * string. + * If a repeated field is specified for an update operation, new values will + * be appended to the existing repeated field in the target resource. Note that + * a repeated field is only allowed in the last position of a `paths` string. * * If a sub-message is specified in the last position of the field mask for an - * update operation, then the existing sub-message in the target resource is - * overwritten. Given the target message: + * update operation, then new value will be merged into the existing sub-message + * in the target resource. + * + * For example, given the target message: * * f { * b { - * d : 1 - * x : 2 + * d: 1 + * x: 2 * } - * c : 1 + * c: [1] * } * * And an update message: * * f { * b { - * d : 10 + * d: 10 * } + * c: [2] * } * * then if the field mask is: * - * paths: "f.b" + * paths: ["f.b", "f.c"] * * then the result will be: * * f { * b { - * d : 10 + * d: 10 + * x: 2 * } - * c : 1 + * c: [1, 2] * } * - * However, if the update mask was: - * - * paths: "f.b.d" - * - * then the result would be: - * - * f { - * b { - * d : 10 - * x : 2 - * } - * c : 1 - * } + * An implementation may provide options to override this default behavior for + * repeated and message fields. * * In order to reset a field's value to the default, the field must * be in the mask and set to the default value in the provided resource. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js index b47f41c2b30..98c19dbf0d3 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js @@ -16,17 +16,19 @@ // to be loaded as the JS file. /** - * A Timestamp represents a point in time independent of any time zone - * or calendar, represented as seconds and fractions of seconds at - * nanosecond resolution in UTC Epoch time. It is encoded using the - * Proleptic Gregorian Calendar which extends the Gregorian calendar - * backwards to year one. It is encoded assuming all minutes are 60 - * seconds long, i.e. leap seconds are "smeared" so that no leap second - * table is needed for interpretation. Range is from - * 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. - * By restricting to that range, we ensure that we can convert to - * and from RFC 3339 date strings. - * See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + * A Timestamp represents a point in time independent of any time zone or local + * calendar, encoded as a count of seconds and fractions of seconds at + * nanosecond resolution. The count is relative to an epoch at UTC midnight on + * January 1, 1970, in the proleptic Gregorian calendar which extends the + * Gregorian calendar backwards to year one. + * + * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + * second table is needed for interpretation, using a [24-hour linear + * smear](https://developers.google.com/time/smear). + * + * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + * restricting to that range, we ensure that we can convert to and from [RFC + * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. * * # Examples * @@ -91,7 +93,7 @@ * method. In Python, a standard `datetime.datetime` object can be converted * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one - * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--) to obtain a formatter capable of generating timestamps in this format. + * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. * * @property {number} seconds * Represents seconds of UTC time since Unix epoch diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js @@ -98,7 +98,8 @@ * * @property {string} typeUrl * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. The last segment of the URL's path must represent + * protocol buffer message. This string must contain at least + * one "/" character. The last segment of the URL's path must represent * the fully qualified name of the type (as in * `path/google.protobuf.Duration`). The name should be in a canonical form * (e.g., leading "." is not accepted). diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js @@ -98,7 +98,8 @@ * * @property {string} typeUrl * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. The last segment of the URL's path must represent + * protocol buffer message. This string must contain at least + * one "/" character. The last segment of the URL's path must represent * the fully qualified name of the type (as in * `path/google.protobuf.Duration`). The name should be in a canonical form * (e.g., leading "." is not accepted). diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js @@ -98,7 +98,8 @@ * * @property {string} typeUrl * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. The last segment of the URL's path must represent + * protocol buffer message. This string must contain at least + * one "/" character. The last segment of the URL's path must represent * the fully qualified name of the type (as in * `path/google.protobuf.Duration`). The name should be in a canonical form * (e.g., leading "." is not accepted). diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js index d55d97e6e38..011207b8626 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js @@ -84,57 +84,49 @@ * describe the updated values, the API ignores the values of all * fields not covered by the mask. * - * If a repeated field is specified for an update operation, the existing - * repeated values in the target resource will be overwritten by the new values. - * Note that a repeated field is only allowed in the last position of a `paths` - * string. + * If a repeated field is specified for an update operation, new values will + * be appended to the existing repeated field in the target resource. Note that + * a repeated field is only allowed in the last position of a `paths` string. * * If a sub-message is specified in the last position of the field mask for an - * update operation, then the existing sub-message in the target resource is - * overwritten. Given the target message: + * update operation, then new value will be merged into the existing sub-message + * in the target resource. + * + * For example, given the target message: * * f { * b { - * d : 1 - * x : 2 + * d: 1 + * x: 2 * } - * c : 1 + * c: [1] * } * * And an update message: * * f { * b { - * d : 10 + * d: 10 * } + * c: [2] * } * * then if the field mask is: * - * paths: "f.b" + * paths: ["f.b", "f.c"] * * then the result will be: * * f { * b { - * d : 10 + * d: 10 + * x: 2 * } - * c : 1 + * c: [1, 2] * } * - * However, if the update mask was: - * - * paths: "f.b.d" - * - * then the result would be: - * - * f { - * b { - * d : 10 - * x : 2 - * } - * c : 1 - * } + * An implementation may provide options to override this default behavior for + * repeated and message fields. * * In order to reset a field's value to the default, the field must * be in the mask and set to the default value in the provided resource. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js index b47f41c2b30..98c19dbf0d3 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js @@ -16,17 +16,19 @@ // to be loaded as the JS file. /** - * A Timestamp represents a point in time independent of any time zone - * or calendar, represented as seconds and fractions of seconds at - * nanosecond resolution in UTC Epoch time. It is encoded using the - * Proleptic Gregorian Calendar which extends the Gregorian calendar - * backwards to year one. It is encoded assuming all minutes are 60 - * seconds long, i.e. leap seconds are "smeared" so that no leap second - * table is needed for interpretation. Range is from - * 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. - * By restricting to that range, we ensure that we can convert to - * and from RFC 3339 date strings. - * See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + * A Timestamp represents a point in time independent of any time zone or local + * calendar, encoded as a count of seconds and fractions of seconds at + * nanosecond resolution. The count is relative to an epoch at UTC midnight on + * January 1, 1970, in the proleptic Gregorian calendar which extends the + * Gregorian calendar backwards to year one. + * + * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + * second table is needed for interpretation, using a [24-hour linear + * smear](https://developers.google.com/time/smear). + * + * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + * restricting to that range, we ensure that we can convert to and from [RFC + * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. * * # Examples * @@ -91,7 +93,7 @@ * method. In Python, a standard `datetime.datetime` object can be converted * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one - * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--) to obtain a formatter capable of generating timestamps in this format. + * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. * * @property {number} seconds * Represents seconds of UTC time since Unix epoch diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js index f3278b34e66..9ff5d007807 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js @@ -98,7 +98,8 @@ * * @property {string} typeUrl * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. The last segment of the URL's path must represent + * protocol buffer message. This string must contain at least + * one "/" character. The last segment of the URL's path must represent * the fully qualified name of the type (as in * `path/google.protobuf.Duration`). The name should be in a canonical form * (e.g., leading "." is not accepted). diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js index d55d97e6e38..011207b8626 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js @@ -84,57 +84,49 @@ * describe the updated values, the API ignores the values of all * fields not covered by the mask. * - * If a repeated field is specified for an update operation, the existing - * repeated values in the target resource will be overwritten by the new values. - * Note that a repeated field is only allowed in the last position of a `paths` - * string. + * If a repeated field is specified for an update operation, new values will + * be appended to the existing repeated field in the target resource. Note that + * a repeated field is only allowed in the last position of a `paths` string. * * If a sub-message is specified in the last position of the field mask for an - * update operation, then the existing sub-message in the target resource is - * overwritten. Given the target message: + * update operation, then new value will be merged into the existing sub-message + * in the target resource. + * + * For example, given the target message: * * f { * b { - * d : 1 - * x : 2 + * d: 1 + * x: 2 * } - * c : 1 + * c: [1] * } * * And an update message: * * f { * b { - * d : 10 + * d: 10 * } + * c: [2] * } * * then if the field mask is: * - * paths: "f.b" + * paths: ["f.b", "f.c"] * * then the result will be: * * f { * b { - * d : 10 + * d: 10 + * x: 2 * } - * c : 1 + * c: [1, 2] * } * - * However, if the update mask was: - * - * paths: "f.b.d" - * - * then the result would be: - * - * f { - * b { - * d : 10 - * x : 2 - * } - * c : 1 - * } + * An implementation may provide options to override this default behavior for + * repeated and message fields. * * In order to reset a field's value to the default, the field must * be in the mask and set to the default value in the provided resource. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js index b47f41c2b30..98c19dbf0d3 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js @@ -16,17 +16,19 @@ // to be loaded as the JS file. /** - * A Timestamp represents a point in time independent of any time zone - * or calendar, represented as seconds and fractions of seconds at - * nanosecond resolution in UTC Epoch time. It is encoded using the - * Proleptic Gregorian Calendar which extends the Gregorian calendar - * backwards to year one. It is encoded assuming all minutes are 60 - * seconds long, i.e. leap seconds are "smeared" so that no leap second - * table is needed for interpretation. Range is from - * 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. - * By restricting to that range, we ensure that we can convert to - * and from RFC 3339 date strings. - * See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). + * A Timestamp represents a point in time independent of any time zone or local + * calendar, encoded as a count of seconds and fractions of seconds at + * nanosecond resolution. The count is relative to an epoch at UTC midnight on + * January 1, 1970, in the proleptic Gregorian calendar which extends the + * Gregorian calendar backwards to year one. + * + * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + * second table is needed for interpretation, using a [24-hour linear + * smear](https://developers.google.com/time/smear). + * + * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + * restricting to that range, we ensure that we can convert to and from [RFC + * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. * * # Examples * @@ -91,7 +93,7 @@ * method. In Python, a standard `datetime.datetime` object can be converted * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one - * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--) to obtain a formatter capable of generating timestamps in this format. + * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. * * @property {number} seconds * Represents seconds of UTC time since Unix epoch diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 2da6f13cbdc..93ad58a612d 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-03-28T11:47:03.095922Z", + "updateTime": "2019-04-21T11:56:21.441964Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.20", - "dockerImage": "googleapis/artman@sha256:e3c054a2fb85a12481c722af616c7fb6f1d02d862248385eecbec3e4240ebd1e" + "version": "0.16.26", + "dockerImage": "googleapis/artman@sha256:314eae2a40f6f7822db77365cf5f45bd513d628ae17773fd0473f460e7c2a665" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "6a84b3267b0a95e922608b9891219075047eee29", - "internalRef": "240640999" + "sha": "3369c803f56d52662ea3792076deb8545183bdb0", + "internalRef": "244282812" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.2.26" + "version": "2019.4.10" } } ], From 656284b4c70f2f57ea27a4457845eeb3fbb764a2 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 29 Apr 2019 15:05:46 -0700 Subject: [PATCH 281/588] update to .nycrc with --all enabled (#361) --- packages/google-cloud-vision/.nycrc | 40 ++++++++++++----------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/packages/google-cloud-vision/.nycrc b/packages/google-cloud-vision/.nycrc index 88b001cb587..bfe4073a6ab 100644 --- a/packages/google-cloud-vision/.nycrc +++ b/packages/google-cloud-vision/.nycrc @@ -1,28 +1,22 @@ { "report-dir": "./.coverage", - "reporter": "lcov", + "reporter": ["text", "lcov"], "exclude": [ - "src/*{/*,/**/*}.js", - "src/*/v*/*.js", - "test/**/*.js", - "build/test" + "**/*-test", + "**/.coverage", + "**/apis", + "**/benchmark", + "**/docs", + "**/samples", + "**/scripts", + "**/src/**/v*/**/*.js", + "**/test", + ".jsdoc.js", + "**/.jsdoc.js", + "karma.conf.js", + "webpack-tests.config.js", + "webpack.config.js" ], - "watermarks": { - "branches": [ - 95, - 100 - ], - "functions": [ - 95, - 100 - ], - "lines": [ - 95, - 100 - ], - "statements": [ - 95, - 100 - ] - } + "exclude-after-remap": false, + "all": true } From 19a6a43405eb233f45a939a8cbf2297f62542d27 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Thu, 2 May 2019 09:17:21 -0700 Subject: [PATCH 282/588] fix(deps): update dependency google-gax to ^0.26.0 (#362) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index bdb76a5bc10..65c338aafa0 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -43,7 +43,7 @@ }, "dependencies": { "@google-cloud/promisify": "^0.4.0", - "google-gax": "^0.25.0", + "google-gax": "^0.26.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" From ee9d02ef2a20165cf3ab13c99e058f7fa2e84c09 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Thu, 2 May 2019 11:32:21 -0700 Subject: [PATCH 283/588] build!: upgrade engines field to >=8.10.0 (#363) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 65c338aafa0..256e6ceebeb 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -5,7 +5,7 @@ "license": "Apache-2.0", "author": "Google Inc", "engines": { - "node": ">=6.0.0" + "node": ">=8.10.0" }, "repository": "googleapis/nodejs-vision", "main": "src/index.js", From 651a66b7aa6733f65ddd8c54ef39bc4b664d53e0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Fri, 3 May 2019 07:31:09 -0700 Subject: [PATCH 284/588] fix(deps): update dependency @google-cloud/promisify to v1 (#367) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 256e6ceebeb..56f0f0b1f4d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -42,7 +42,7 @@ "predocs-test": "npm run docs" }, "dependencies": { - "@google-cloud/promisify": "^0.4.0", + "@google-cloud/promisify": "^1.0.0", "google-gax": "^0.26.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", From 1078783be485e4995b2fd82145f410ef7747b2af Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Fri, 3 May 2019 08:22:18 -0700 Subject: [PATCH 285/588] chore(deps): update dependency eslint-plugin-node to v9 (#366) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 56f0f0b1f4d..1d568ca56cb 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -54,7 +54,7 @@ "codecov": "^3.0.2", "eslint": "^5.0.1", "eslint-config-prettier": "^4.0.0", - "eslint-plugin-node": "^8.0.0", + "eslint-plugin-node": "^9.0.0", "eslint-plugin-prettier": "^3.0.0", "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", "intelli-espower-loader": "^1.0.1", From fe7ff86e8e42b923fab9c62678a84f5ce53960cd Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 7 May 2019 10:49:23 -0700 Subject: [PATCH 286/588] build: patch Windows container, fixing Node 10 (#369) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1d568ca56cb..43c6d0191a4 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -58,7 +58,7 @@ "eslint-plugin-prettier": "^3.0.0", "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", "intelli-espower-loader": "^1.0.1", - "jsdoc": "^3.5.5", + "jsdoc": "3.5.5", "mocha": "^6.0.0", "nyc": "^14.0.0", "power-assert": "^1.6.0", From e25558b7c543cab506c59d80d6d75f492824d446 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Tue, 7 May 2019 12:14:41 -0700 Subject: [PATCH 287/588] chore: update formatting for generated code (#360) --- .../src/v1/product_search_client.js | 100 +++++++++--------- .../src/v1p3beta1/product_search_client.js | 92 ++++++++-------- .../src/v1p4beta1/product_search_client.js | 92 ++++++++-------- packages/google-cloud-vision/synth.metadata | 10 +- packages/google-cloud-vision/test/gapic-v1.js | 32 ++++-- 5 files changed, 171 insertions(+), 155 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index a833fa6989b..a236a03b27f 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -119,12 +119,12 @@ class ProductSearchClient { locationPathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}' ), - productSetPathTemplate: new gax.PathTemplate( - 'projects/{project}/locations/{location}/productSets/{product_set}' - ), productPathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), + productSetPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), referenceImagePathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), @@ -1566,10 +1566,10 @@ class ProductSearchClient { * }); * * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * const product = ''; + * const formattedProduct = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); * const request = { * name: formattedName, - * product: product, + * product: formattedProduct, * }; * client.addProductToProductSet(request).catch(err => { * console.error(err); @@ -1632,10 +1632,10 @@ class ProductSearchClient { * }); * * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * const product = ''; + * const formattedProduct = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); * const request = { * name: formattedName, - * product: product, + * product: formattedProduct, * }; * client.removeProductFromProductSet(request).catch(err => { * console.error(err); @@ -1981,34 +1981,34 @@ class ProductSearchClient { } /** - * Return a fully-qualified product_set resource name string. + * Return a fully-qualified product resource name string. * * @param {String} project * @param {String} location - * @param {String} productSet + * @param {String} product * @returns {String} */ - productSetPath(project, location, productSet) { - return this._pathTemplates.productSetPathTemplate.render({ + productPath(project, location, product) { + return this._pathTemplates.productPathTemplate.render({ project: project, location: location, - product_set: productSet, + product: product, }); } /** - * Return a fully-qualified product resource name string. + * Return a fully-qualified product_set resource name string. * * @param {String} project * @param {String} location - * @param {String} product + * @param {String} productSet * @returns {String} */ - productPath(project, location, product) { - return this._pathTemplates.productPathTemplate.render({ + productSetPath(project, location, productSet) { + return this._pathTemplates.productSetPathTemplate.render({ project: project, location: location, - product: product, + product_set: productSet, }); } @@ -2053,6 +2053,39 @@ class ProductSearchClient { .location; } + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the product. + */ + matchProductFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + /** * Parse the productSetName from a product_set resource. * @@ -2089,39 +2122,6 @@ class ProductSearchClient { .product_set; } - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).project; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the product. - */ - matchProductFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).product; - } - /** * Parse the referenceImageName from a reference_image resource. * diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 78d173f9dfd..cdbb2f2b3fe 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -121,12 +121,12 @@ class ProductSearchClient { locationPathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}' ), - productSetPathTemplate: new gax.PathTemplate( - 'projects/{project}/locations/{location}/productSets/{product_set}' - ), productPathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), + productSetPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), referenceImagePathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), @@ -1998,34 +1998,34 @@ class ProductSearchClient { } /** - * Return a fully-qualified product_set resource name string. + * Return a fully-qualified product resource name string. * * @param {String} project * @param {String} location - * @param {String} productSet + * @param {String} product * @returns {String} */ - productSetPath(project, location, productSet) { - return this._pathTemplates.productSetPathTemplate.render({ + productPath(project, location, product) { + return this._pathTemplates.productPathTemplate.render({ project: project, location: location, - product_set: productSet, + product: product, }); } /** - * Return a fully-qualified product resource name string. + * Return a fully-qualified product_set resource name string. * * @param {String} project * @param {String} location - * @param {String} product + * @param {String} productSet * @returns {String} */ - productPath(project, location, product) { - return this._pathTemplates.productPathTemplate.render({ + productSetPath(project, location, productSet) { + return this._pathTemplates.productSetPathTemplate.render({ project: project, location: location, - product: product, + product_set: productSet, }); } @@ -2070,6 +2070,39 @@ class ProductSearchClient { .location; } + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the product. + */ + matchProductFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + /** * Parse the productSetName from a product_set resource. * @@ -2106,39 +2139,6 @@ class ProductSearchClient { .product_set; } - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).project; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the product. - */ - matchProductFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).product; - } - /** * Parse the referenceImageName from a reference_image resource. * diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index 566a44a4400..bebb7d45b2b 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -121,12 +121,12 @@ class ProductSearchClient { locationPathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}' ), - productSetPathTemplate: new gax.PathTemplate( - 'projects/{project}/locations/{location}/productSets/{product_set}' - ), productPathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), + productSetPathTemplate: new gax.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), referenceImagePathTemplate: new gax.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), @@ -1999,34 +1999,34 @@ class ProductSearchClient { } /** - * Return a fully-qualified product_set resource name string. + * Return a fully-qualified product resource name string. * * @param {String} project * @param {String} location - * @param {String} productSet + * @param {String} product * @returns {String} */ - productSetPath(project, location, productSet) { - return this._pathTemplates.productSetPathTemplate.render({ + productPath(project, location, product) { + return this._pathTemplates.productPathTemplate.render({ project: project, location: location, - product_set: productSet, + product: product, }); } /** - * Return a fully-qualified product resource name string. + * Return a fully-qualified product_set resource name string. * * @param {String} project * @param {String} location - * @param {String} product + * @param {String} productSet * @returns {String} */ - productPath(project, location, product) { - return this._pathTemplates.productPathTemplate.render({ + productSetPath(project, location, productSet) { + return this._pathTemplates.productSetPathTemplate.render({ project: project, location: location, - product: product, + product_set: productSet, }); } @@ -2071,6 +2071,39 @@ class ProductSearchClient { .location; } + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the project. + */ + matchProjectFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the location. + */ + matchLocationFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the productName from a product resource. + * + * @param {String} productName + * A fully-qualified path representing a product resources. + * @returns {String} - A string representing the product. + */ + matchProductFromProductName(productName) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + /** * Parse the productSetName from a product_set resource. * @@ -2107,39 +2140,6 @@ class ProductSearchClient { .product_set; } - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).project; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the product. - */ - matchProductFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).product; - } - /** * Parse the referenceImageName from a reference_image resource. * diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 93ad58a612d..5f3a5bbafb3 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-04-21T11:56:21.441964Z", + "updateTime": "2019-04-27T11:22:48.245286Z", "sources": [ { "generator": { "name": "artman", - "version": "0.16.26", - "dockerImage": "googleapis/artman@sha256:314eae2a40f6f7822db77365cf5f45bd513d628ae17773fd0473f460e7c2a665" + "version": "0.17.1", + "dockerImage": "googleapis/artman@sha256:a40ca4dd4ef031c0ded4df4909ffdf7b3f20d29b23e682ef991eb60ba0ca6025" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "3369c803f56d52662ea3792076deb8545183bdb0", - "internalRef": "244282812" + "sha": "808110e242c682d7ac2bab6d9c49fc3bf72d7604", + "internalRef": "245313728" } }, { diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 53dc2b5f3e7..0112f2ba084 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -976,10 +976,14 @@ describe('ProductSearchClient', () => { '[LOCATION]', '[PRODUCT_SET]' ); - const product = 'product-309474065'; + const formattedProduct = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); const request = { name: formattedName, - product: product, + product: formattedProduct, }; // Mock Grpc layer @@ -1005,10 +1009,14 @@ describe('ProductSearchClient', () => { '[LOCATION]', '[PRODUCT_SET]' ); - const product = 'product-309474065'; + const formattedProduct = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); const request = { name: formattedName, - product: product, + product: formattedProduct, }; // Mock Grpc layer @@ -1039,10 +1047,14 @@ describe('ProductSearchClient', () => { '[LOCATION]', '[PRODUCT_SET]' ); - const product = 'product-309474065'; + const formattedProduct = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); const request = { name: formattedName, - product: product, + product: formattedProduct, }; // Mock Grpc layer @@ -1068,10 +1080,14 @@ describe('ProductSearchClient', () => { '[LOCATION]', '[PRODUCT_SET]' ); - const product = 'product-309474065'; + const formattedProduct = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); const request = { name: formattedName, - product: product, + product: formattedProduct, }; // Mock Grpc layer From 6d20071f3eb73faadfb7b69424dad6f96bd7178c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Thu, 9 May 2019 10:43:38 -0700 Subject: [PATCH 288/588] feat: image annotation batching (#375) --- .../google/cloud/vision/v1/geometry.proto | 2 +- .../cloud/vision/v1/image_annotator.proto | 173 ++- .../cloud/vision/v1/product_search.proto | 13 +- .../vision/v1/product_search_service.proto | 21 +- .../cloud/vision/v1/text_annotation.proto | 2 +- .../cloud/vision/v1/web_detection.proto | 24 +- .../cloud/vision/v1/doc_image_annotator.js | 151 ++- .../cloud/vision/v1/doc_product_search.js | 11 +- .../vision/v1/doc_product_search_service.js | 3 +- .../cloud/vision/v1/doc_web_detection.js | 38 +- .../src/v1/image_annotator_client.js | 195 ++++ .../src/v1/image_annotator_client_config.json | 11 +- packages/google-cloud-vision/src/v1/index.js | 4 +- .../src/v1/product_search_client.js | 750 +++++++------ .../src/v1/product_search_client_config.json | 37 +- .../image_annotator_client_config.json | 1 - .../image_annotator_client_config.json | 1 - .../image_annotator_client_config.json | 1 - .../product_search_client_config.json | 1 - .../image_annotator_client_config.json | 1 - .../product_search_client_config.json | 1 - packages/google-cloud-vision/synth.metadata | 12 +- packages/google-cloud-vision/test/gapic-v1.js | 983 ++++++++++-------- 23 files changed, 1498 insertions(+), 938 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto index f3ba8b773f5..881c8f84ede 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index abaf1bd756a..ad9087213ac 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -49,6 +49,38 @@ service ImageAnnotator { }; } + // Service that performs image detection and annotation for a batch of files. + // Now only "application/pdf", "image/tiff" and "image/gif" are supported. + // + // This service will extract at most 5 (customers can specify which 5 in + // AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each + // file provided and perform detection and annotation for each image + // extracted. + rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) + returns (BatchAnnotateFilesResponse) { + option (google.api.http) = { + post: "/v1/files:annotate" + body: "*" + }; + } + + // Run asynchronous image detection and annotation for a list of images. + // + // Progress and results can be retrieved through the + // `google.longrunning.Operations` interface. + // `Operation.metadata` contains `OperationMetadata` (metadata). + // `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). + // + // This service will write image annotation outputs to json files in customer + // GCS bucket, each json file containing BatchAnnotateImagesResponse proto. + rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/images:asyncBatchAnnotate" + body: "*" + }; + } + // Run asynchronous image detection and annotation for a list of generic // files, such as PDF files, which may contain multiple pages and multiple // images per page. Progress and results can be retrieved through the @@ -128,6 +160,28 @@ message Feature { string model = 3; } +// A bucketized representation of likelihood, which is intended to give clients +// highly stable results across model upgrades. +enum Likelihood { + // Unknown likelihood. + UNKNOWN = 0; + + // It is very unlikely that the image belongs to the specified vertical. + VERY_UNLIKELY = 1; + + // It is unlikely that the image belongs to the specified vertical. + UNLIKELY = 2; + + // It is possible that the image belongs to the specified vertical. + POSSIBLE = 3; + + // It is likely that the image belongs to the specified vertical. + LIKELY = 4; + + // It is very likely that the image belongs to the specified vertical. + VERY_LIKELY = 5; +} + // External image source (Google Cloud Storage or web URL image location). message ImageSource { // **Use `image_uri` instead.** @@ -294,7 +348,7 @@ message FaceAnnotation { } // The bounding polygon around the face. The coordinates of the bounding box - // are in the original image's scale, as returned in `ImageParams`. + // are in the original image's scale. // The bounding box is computed to "frame" the face in accordance with human // expectations. It is based on the landmarker results. // Note that one or more x and/or y coordinates may not be generated in the @@ -505,7 +559,7 @@ message ImageProperties { // Single crop hint that is used to generate a new crop when serving an image. message CropHint { // The bounding polygon for the crop region. The coordinates of the bounding - // box are in the original image's scale, as returned in `ImageParams`. + // box are in the original image's scale. BoundingPoly bounding_poly = 1; // Confidence of this being a salient region. Range [0, 1]. @@ -565,7 +619,7 @@ message ImageContext { } // Request for performing Google Cloud Vision API tasks over a user-provided -// image, with user-requested features. +// image, with user-requested features, and with context information. message AnnotateImageRequest { // The image to be processed. Image image = 1; @@ -648,6 +702,9 @@ message AnnotateFileResponse { // Individual responses to images found within the file. repeated AnnotateImageResponse responses = 2; + + // This field gives the total number of pages in the file. + int32 total_pages = 3; } // Multiple image annotation requests are batched into a single service call. @@ -662,6 +719,48 @@ message BatchAnnotateImagesResponse { repeated AnnotateImageResponse responses = 1; } +// A request to annotate one single file, e.g. a PDF, TIFF or GIF file. +message AnnotateFileRequest { + // Required. Information about the input file. + InputConfig input_config = 1; + + // Required. Requested features. + repeated Feature features = 2; + + // Additional context that may accompany the image(s) in the file. + ImageContext image_context = 3; + + // Pages of the file to perform image annotation. + // + // Pages starts from 1, we assume the first page of the file is page 1. + // At most 5 pages are supported per request. Pages can be negative. + // + // Page 1 means the first page. + // Page 2 means the second page. + // Page -1 means the last page. + // Page -2 means the second to the last page. + // + // If the file is GIF instead of PDF or TIFF, page refers to GIF frames. + // + // If this field is empty, by default the service performs image annotation + // for the first 5 pages of the file. + repeated int32 pages = 4; +} + +// A list of requests to annotate files using the BatchAnnotateFiles API. +message BatchAnnotateFilesRequest { + // The list of file annotation requests. Right now we support only one + // AnnotateFileRequest in BatchAnnotateFilesRequest. + repeated AnnotateFileRequest requests = 1; +} + +// A list of file annotation responses. +message BatchAnnotateFilesResponse { + // The list of file annotation responses, each response corresponding to each + // AnnotateFileRequest in BatchAnnotateFilesRequest. + repeated AnnotateFileResponse responses = 1; +} + // An offline file annotation request. message AsyncAnnotateFileRequest { // Required. Information about the input file. @@ -683,6 +782,21 @@ message AsyncAnnotateFileResponse { OutputConfig output_config = 1; } +// Request for async image annotation for a list of images. +message AsyncBatchAnnotateImagesRequest { + // Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1; + + // Required. The desired output location and metadata (e.g. format). + OutputConfig output_config = 2; +} + +// Response to an async batch image annotation request. +message AsyncBatchAnnotateImagesResponse { + // The output location and metadata from AsyncBatchAnnotateImagesRequest. + OutputConfig output_config = 1; +} + // Multiple async file annotation requests are batched into a single service // call. message AsyncBatchAnnotateFilesRequest { @@ -702,6 +816,14 @@ message InputConfig { // The Google Cloud Storage location to read the input from. GcsSource gcs_source = 1; + // File content, represented as a stream of bytes. + // Note: As with all `bytes` fields, protobuffers use a pure binary + // representation, whereas JSON representations use base64. + // + // Currently, this field only works for BatchAnnotateFiles requests. It does + // not work for AsyncBatchAnnotateFiles requests. + bytes content = 3; + // The type of the file. Currently only "application/pdf" and "image/tiff" // are supported. Wildcards are not supported. string mime_type = 2; @@ -735,16 +857,23 @@ message GcsSource { // The Google Cloud Storage location where the output will be written to. message GcsDestination { - // Google Cloud Storage URI where the results will be stored. Results will - // be in JSON format and preceded by its corresponding input URI. This field - // can either represent a single file, or a prefix for multiple outputs. - // Prefixes must end in a `/`. + // Google Cloud Storage URI prefix where the results will be stored. Results + // will be in JSON format and preceded by its corresponding input URI prefix. + // This field can either represent a gcs file prefix or gcs directory. In + // either case, the uri should be unique because in order to get all of the + // output files, you will need to do a wildcard gcs search on the uri prefix + // you provide. // // Examples: // - // * File: gs://bucket-name/filename.json - // * Prefix: gs://bucket-name/prefix/here/ - // * File: gs://bucket-name/prefix/here + // * File Prefix: gs://bucket-name/here/filenameprefix The output files + // will be created in gs://bucket-name/here/ and the names of the + // output files will begin with "filenameprefix". + // + // * Directory Prefix: gs://bucket-name/some/location/ The output files + // will be created in gs://bucket-name/some/location/ and the names of the + // output files could be anything because there was no filename prefix + // specified. // // If multiple outputs, each response is still AnnotateFileResponse, each of // which contains some subset of the full list of AnnotateImageResponse. @@ -782,25 +911,3 @@ message OperationMetadata { // The time when the operation result was last updated. google.protobuf.Timestamp update_time = 6; } - -// A bucketized representation of likelihood, which is intended to give clients -// highly stable results across model upgrades. -enum Likelihood { - // Unknown likelihood. - UNKNOWN = 0; - - // It is very unlikely that the image belongs to the specified vertical. - VERY_UNLIKELY = 1; - - // It is unlikely that the image belongs to the specified vertical. - UNLIKELY = 2; - - // It is possible that the image belongs to the specified vertical. - POSSIBLE = 3; - - // It is likely that the image belongs to the specified vertical. - LIKELY = 4; - - // It is very likely that the image belongs to the specified vertical. - VERY_LIKELY = 5; -} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 2b895bdbdac..74c0b188a6f 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -49,10 +49,12 @@ message ProductSearchParams { // The filtering expression. This can be used to restrict search results based // on Product labels. We currently support an AND of OR of key-value - // expressions, where each expression within an OR must have the same key. + // expressions, where each expression within an OR must have the same key. An + // '=' should be used to connect the key and value. // // For example, "(color = red OR color = blue) AND brand = Google" is - // acceptable, but not "(color = red OR brand = Google)" or "color: red". + // acceptable, but "(color = red OR brand = Google)" is not acceptable. + // "color: red" is not acceptable because it uses a ':' instead of an '='. string filter = 8; } @@ -82,8 +84,9 @@ message ProductSearchResults { repeated Result results = 2; } - // Timestamp of the index which provided these results. Changes made after - // this time are not reflected in the current results. + // Timestamp of the index which provided these results. Products added to the + // product set and products removed from the product set after this time are + // not reflected in the current results. google.protobuf.Timestamp index_time = 2; // List of results, one for each product match. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index 5bbfebfb56f..9b62fac228f 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -105,10 +105,6 @@ service ProductSearch { // ProductSet are not deleted. // // The actual image files are not deleted from Google Cloud Storage. - // - // Possible errors: - // - // * Returns NOT_FOUND if the ProductSet does not exist. rpc DeleteProductSet(DeleteProductSetRequest) returns (google.protobuf.Empty) { option (google.api.http) = { @@ -180,10 +176,6 @@ service ProductSearch { // Metadata of the product and all its images will be deleted right away, but // search queries against ProductSets containing the product may still work // until all related caches are refreshed. - // - // Possible errors: - // - // * Returns NOT_FOUND if the product does not exist. rpc DeleteProduct(DeleteProductRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/products/*}" @@ -224,10 +216,6 @@ service ProductSearch { // caches are refreshed. // // The actual image files are not deleted from Google Cloud Storage. - // - // Possible errors: - // - // * Returns NOT_FOUND if the reference image does not exist. rpc DeleteReferenceImage(DeleteReferenceImageRequest) returns (google.protobuf.Empty) { option (google.api.http) = { @@ -277,10 +265,6 @@ service ProductSearch { } // Removes a Product from the specified ProductSet. - // - // Possible errors: - // - // * Returns NOT_FOUND If the Product is not found under the ProductSet. rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) returns (google.protobuf.Empty) { option (google.api.http) = { @@ -388,7 +372,8 @@ message ProductSet { // Output only. The time at which this ProductSet was last indexed. Query // results will reflect all updates before this time. If this ProductSet has - // never been indexed, this field is 0. + // never been indexed, this timestamp is the default value + // "1970-01-01T00:00:00Z". // // This field is ignored when creating a ProductSet. google.protobuf.Timestamp index_time = 3; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index 417e4f514f8..afbebea5142 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto index 2d3c4a86a8e..f4a22019c65 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -50,6 +50,17 @@ message WebDetection { float score = 2; } + // Label to provide extra metadata for the web detection. + message WebLabel { + // Label for extra metadata. + string label = 1; + + // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + } + // Metadata for web pages. message WebPage { // The result web page URL. @@ -72,17 +83,6 @@ message WebDetection { repeated WebImage partial_matching_images = 5; } - // Label to provide extra metadata for the web detection. - message WebLabel { - // Label for extra metadata. - string label = 1; - - // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - // For more information, see - // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - string language_code = 2; - } - // Deduced entities from similar images on the Internet. repeated WebEntity web_entities = 1; diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index ebe621c9904..bac94aee7f8 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -187,7 +187,7 @@ const Image = { * * @property {Object} boundingPoly * The bounding polygon around the face. The coordinates of the bounding box - * are in the original image's scale, as returned in `ImageParams`. + * are in the original image's scale. * The bounding box is computed to "frame" the face in accordance with human * expectations. It is based on the landmarker results. * Note that one or more x and/or y coordinates may not be generated in the @@ -736,7 +736,7 @@ const ImageProperties = { * * @property {Object} boundingPoly * The bounding polygon for the crop region. The coordinates of the bounding - * box are in the original image's scale, as returned in `ImageParams`. + * box are in the original image's scale. * * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * @@ -847,7 +847,7 @@ const ImageContext = { /** * Request for performing Google Cloud Vision API tasks over a user-provided - * image, with user-requested features. + * image, with user-requested features, and with context information. * * @property {Object} image * The image to be processed. @@ -993,6 +993,9 @@ const AnnotateImageResponse = { * * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1.AnnotateImageResponse} * + * @property {number} totalPages + * This field gives the total number of pages in the file. + * * @typedef AnnotateFileResponse * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -1033,6 +1036,82 @@ const BatchAnnotateImagesResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * A request to annotate one single file, e.g. a PDF, TIFF or GIF file. + * + * @property {Object} inputConfig + * Required. Information about the input file. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1.InputConfig} + * + * @property {Object[]} features + * Required. Requested features. + * + * This object should have the same structure as [Feature]{@link google.cloud.vision.v1.Feature} + * + * @property {Object} imageContext + * Additional context that may accompany the image(s) in the file. + * + * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1.ImageContext} + * + * @property {number[]} pages + * Pages of the file to perform image annotation. + * + * Pages starts from 1, we assume the first page of the file is page 1. + * At most 5 pages are supported per request. Pages can be negative. + * + * Page 1 means the first page. + * Page 2 means the second page. + * Page -1 means the last page. + * Page -2 means the second to the last page. + * + * If the file is GIF instead of PDF or TIFF, page refers to GIF frames. + * + * If this field is empty, by default the service performs image annotation + * for the first 5 pages of the file. + * + * @typedef AnnotateFileRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +const AnnotateFileRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A list of requests to annotate files using the BatchAnnotateFiles API. + * + * @property {Object[]} requests + * The list of file annotation requests. Right now we support only one + * AnnotateFileRequest in BatchAnnotateFilesRequest. + * + * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1.AnnotateFileRequest} + * + * @typedef BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.BatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +const BatchAnnotateFilesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A list of file annotation responses. + * + * @property {Object[]} responses + * The list of file annotation responses, each response corresponding to each + * AnnotateFileRequest in BatchAnnotateFilesRequest. + * + * This object should have the same structure as [AnnotateFileResponse]{@link google.cloud.vision.v1.AnnotateFileResponse} + * + * @typedef BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.BatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +const BatchAnnotateFilesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * An offline file annotation request. * @@ -1080,6 +1159,43 @@ const AsyncAnnotateFileResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Request for async image annotation for a list of images. + * + * @property {Object[]} requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} + * + * @property {Object} outputConfig + * Required. The desired output location and metadata (e.g. format). + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} + * + * @typedef AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +const AsyncBatchAnnotateImagesRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Response to an async batch image annotation request. + * + * @property {Object} outputConfig + * The output location and metadata from AsyncBatchAnnotateImagesRequest. + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} + * + * @typedef AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +const AsyncBatchAnnotateImagesResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * Multiple async file annotation requests are batched into a single service * call. @@ -1122,6 +1238,14 @@ const AsyncBatchAnnotateFilesResponse = { * * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1.GcsSource} * + * @property {string} content + * File content, represented as a stream of bytes. + * Note: As with all `bytes` fields, protobuffers use a pure binary + * representation, whereas JSON representations use base64. + * + * Currently, this field only works for BatchAnnotateFiles requests. It does + * not work for AsyncBatchAnnotateFiles requests. + * * @property {string} mimeType * The type of the file. Currently only "application/pdf" and "image/tiff" * are supported. Wildcards are not supported. @@ -1182,16 +1306,23 @@ const GcsSource = { * The Google Cloud Storage location where the output will be written to. * * @property {string} uri - * Google Cloud Storage URI where the results will be stored. Results will - * be in JSON format and preceded by its corresponding input URI. This field - * can either represent a single file, or a prefix for multiple outputs. - * Prefixes must end in a `/`. + * Google Cloud Storage URI prefix where the results will be stored. Results + * will be in JSON format and preceded by its corresponding input URI prefix. + * This field can either represent a gcs file prefix or gcs directory. In + * either case, the uri should be unique because in order to get all of the + * output files, you will need to do a wildcard gcs search on the uri prefix + * you provide. * * Examples: * - * * File: gs://bucket-name/filename.json - * * Prefix: gs://bucket-name/prefix/here/ - * * File: gs://bucket-name/prefix/here + * * File Prefix: gs://bucket-name/here/filenameprefix The output files + * will be created in gs://bucket-name/here/ and the names of the + * output files will begin with "filenameprefix". + * + * * Directory Prefix: gs://bucket-name/some/location/ The output files + * will be created in gs://bucket-name/some/location/ and the names of the + * output files could be anything because there was no filename prefix + * specified. * * If multiple outputs, each response is still AnnotateFileResponse, each of * which contains some subset of the full list of AnnotateImageResponse. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js index 2f5a97805bf..a260ff45d80 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -39,10 +39,12 @@ * @property {string} filter * The filtering expression. This can be used to restrict search results based * on Product labels. We currently support an AND of OR of key-value - * expressions, where each expression within an OR must have the same key. + * expressions, where each expression within an OR must have the same key. An + * '=' should be used to connect the key and value. * * For example, "(color = red OR color = blue) AND brand = Google" is - * acceptable, but not "(color = red OR brand = Google)" or "color: red". + * acceptable, but "(color = red OR brand = Google)" is not acceptable. + * "color: red" is not acceptable because it uses a ':' instead of an '='. * * @typedef ProductSearchParams * @memberof google.cloud.vision.v1 @@ -56,8 +58,9 @@ const ProductSearchParams = { * Results for a product search request. * * @property {Object} indexTime - * Timestamp of the index which provided these results. Changes made after - * this time are not reflected in the current results. + * Timestamp of the index which provided these results. Products added to the + * product set and products removed from the product set after this time are + * not reflected in the current results. * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index 2fa7846d1a7..c446ce5d250 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -100,7 +100,8 @@ const Product = { * @property {Object} indexTime * Output only. The time at which this ProductSet was last indexed. Query * results will reflect all updates before this time. If this ProductSet has - * never been indexed, this field is 0. + * never been indexed, this timestamp is the default value + * "1970-01-01T00:00:00Z". * * This field is ignored when creating a ProductSet. * diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js index 883ee78f57d..afb4f6fc32a 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js @@ -97,6 +97,25 @@ const WebDetection = { // This is for documentation. Actual contents will be loaded by gRPC. }, + /** + * Label to provide extra metadata for the web detection. + * + * @property {string} label + * Label for extra metadata. + * + * @property {string} languageCode + * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @typedef WebLabel + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} + */ + WebLabel: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + /** * Metadata for web pages. * @@ -129,24 +148,5 @@ const WebDetection = { */ WebPage: { // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Label to provide extra metadata for the web detection. - * - * @property {string} label - * Label for extra metadata. - * - * @property {string} languageCode - * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - * For more information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @typedef WebLabel - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} - */ - WebLabel: { - // This is for documentation. Actual contents will be loaded by gRPC. } }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index a1868f3a315..c9bf6690c69 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -118,6 +118,12 @@ class ImageAnnotatorClient { grpc: gaxGrpc.grpc, }).operationsClient(opts); + const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( + 'google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse' + ); + const asyncBatchAnnotateImagesMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1.OperationMetadata' + ); const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( 'google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse' ); @@ -126,6 +132,15 @@ class ImageAnnotatorClient { ); this._descriptors.longrunning = { + asyncBatchAnnotateImages: new gax.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateImagesResponse.decode.bind( + asyncBatchAnnotateImagesResponse + ), + asyncBatchAnnotateImagesMetadata.decode.bind( + asyncBatchAnnotateImagesMetadata + ) + ), asyncBatchAnnotateFiles: new gax.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( @@ -161,6 +176,8 @@ class ImageAnnotatorClient { // and create an API call method for each. const imageAnnotatorStubMethods = [ 'batchAnnotateImages', + 'batchAnnotateFiles', + 'asyncBatchAnnotateImages', 'asyncBatchAnnotateFiles', ]; for (const methodName of imageAnnotatorStubMethods) { @@ -268,6 +285,184 @@ class ImageAnnotatorClient { return this._innerApiCalls.batchAnnotateImages(request, options, callback); } + /** + * Service that performs image detection and annotation for a batch of files. + * Now only "application/pdf", "image/tiff" and "image/gif" are supported. + * + * This service will extract at most 5 (customers can specify which 5 in + * AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each + * file provided and perform detection and annotation for each image + * extracted. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * The list of file annotation requests. Right now we support only one + * AnnotateFileRequest in BatchAnnotateFilesRequest. + * + * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1.AnnotateFileRequest} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1.BatchAnnotateFilesResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1.BatchAnnotateFilesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * const requests = []; + * client.batchAnnotateFiles({requests: requests}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + batchAnnotateFiles(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.batchAnnotateFiles(request, options, callback); + } + + /** + * Run asynchronous image detection and annotation for a list of images. + * + * Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). + * + * This service will write image annotation outputs to json files in customer + * GCS bucket, each json file containing BatchAnnotateImagesResponse proto. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object[]} request.requests + * Individual image annotation requests for this batch. + * + * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} + * @param {Object} request.outputConfig + * Required. The desired output location and metadata (e.g. format). + * + * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ImageAnnotatorClient({ + * // optional auth parameters. + * }); + * + * const requests = []; + * const outputConfig = {}; + * const request = { + * requests: requests, + * outputConfig: outputConfig, + * }; + * + * // Handle the operation using the promise pattern. + * client.asyncBatchAnnotateImages(request) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * const result = responses[0]; + * const metadata = responses[1]; + * const finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * const requests = []; + * const outputConfig = {}; + * const request = { + * requests: requests, + * outputConfig: outputConfig, + * }; + * + * // Handle the operation using the event emitter pattern. + * client.asyncBatchAnnotateImages(request) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + * + * const requests = []; + * const outputConfig = {}; + * const request = { + * requests: requests, + * outputConfig: outputConfig, + * }; + * + * // Handle the operation using the await pattern. + * const [operation] = await client.asyncBatchAnnotateImages(request); + * + * const [response] = await operation.promise(); + */ + asyncBatchAnnotateImages(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + + return this._innerApiCalls.asyncBatchAnnotateImages( + request, + options, + callback + ); + } + /** * Run asynchronous image detection and annotation for a list of generic * files, such as PDF files, which may contain multiple pages and multiple diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json index bd8d8371dee..32cc73d4e0d 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json @@ -3,7 +3,6 @@ "google.cloud.vision.v1.ImageAnnotator": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] @@ -25,6 +24,16 @@ "retry_codes_name": "idempotent", "retry_params_name": "default" }, + "BatchAnnotateFiles": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, + "AsyncBatchAnnotateImages": { + "timeout_millis": 60000, + "retry_codes_name": "idempotent", + "retry_params_name": "default" + }, "AsyncBatchAnnotateFiles": { "timeout_millis": 60000, "retry_codes_name": "idempotent", diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index 8a46227b562..c361ba2863d 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -14,8 +14,8 @@ 'use strict'; -const ProductSearchClient = require('./product_search_client'); const ImageAnnotatorClient = require('./image_annotator_client'); +const ProductSearchClient = require('./product_search_client'); -module.exports.ProductSearchClient = ProductSearchClient; module.exports.ImageAnnotatorClient = ImageAnnotatorClient; +module.exports.ProductSearchClient = ProductSearchClient; diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index a236a03b27f..559567bdd05 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -134,6 +134,11 @@ class ProductSearchClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this._descriptors.page = { + listProductSets: new gax.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'productSets' + ), listProducts: new gax.PageDescriptor( 'pageToken', 'nextPageToken', @@ -144,11 +149,6 @@ class ProductSearchClient { 'nextPageToken', 'referenceImages' ), - listProductSets: new gax.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'productSets' - ), listProductsInProductSet: new gax.PageDescriptor( 'pageToken', 'nextPageToken', @@ -213,20 +213,20 @@ class ProductSearchClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const productSearchStubMethods = [ + 'createProductSet', + 'listProductSets', + 'getProductSet', + 'updateProductSet', + 'deleteProductSet', 'createProduct', 'listProducts', 'getProduct', 'updateProduct', 'deleteProduct', + 'createReferenceImage', + 'deleteReferenceImage', 'listReferenceImages', 'getReferenceImage', - 'deleteReferenceImage', - 'createReferenceImage', - 'createProductSet', - 'listProductSets', - 'getProductSet', - 'updateProductSet', - 'deleteProductSet', 'addProductToProductSet', 'removeProductFromProductSet', 'listProductsInProductSet', @@ -291,28 +291,25 @@ class ProductSearchClient { // ------------------- /** - * Creates and returns a new product resource. + * Creates and returns a new ProductSet resource. * * Possible errors: * - * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 - * characters. - * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. - * * Returns INVALID_ARGUMENT if product_category is missing or invalid. + * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + * 4096 characters. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the Product should be created. + * The project in which the ProductSet should be created. * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.product - * The product to create. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.productSet + * The ProductSet to create. * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} - * @param {string} [request.productId] - * A user-supplied resource id for this Product. If set, the server will + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} + * @param {string} [request.productSetId] + * A user-supplied resource id for this ProductSet. If set, the server will * attempt to use this value as the resource id. If it is already in use, an * error is returned with code ALREADY_EXISTS. Must be at most 128 characters * long. It cannot contain the character `/`. @@ -322,9 +319,9 @@ class ProductSearchClient { * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example @@ -336,12 +333,12 @@ class ProductSearchClient { * }); * * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const product = {}; + * const productSet = {}; * const request = { * parent: formattedParent, - * product: product, + * productSet: productSet, * }; - * client.createProduct(request) + * client.createProductSet(request) * .then(responses => { * const response = responses[0]; * // doThingsWith(response) @@ -350,7 +347,7 @@ class ProductSearchClient { * console.error(err); * }); */ - createProduct(request, options, callback) { + createProductSet(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -364,23 +361,23 @@ class ProductSearchClient { parent: request.parent, }); - return this._innerApiCalls.createProduct(request, options, callback); + return this._innerApiCalls.createProductSet(request, options, callback); } /** - * Lists products in an unspecified order. + * Lists ProductSets in an unspecified order. * * Possible errors: * - * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + * than 1. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project OR ProductSet from which Products should be listed. + * The project from which ProductSets should be listed. * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` + * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {number} [request.pageSize] * The maximum number of resources contained in the underlying API * response. If page streaming is performed per-resource, this @@ -393,20 +390,20 @@ class ProductSearchClient { * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1.Product}. + * The second parameter to the callback is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. * * When autoPaginate: false is specified through options, it contains the result * in a single response. If the response indicates the next page exists, the third * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. + * the raw response object of an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. + * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. * * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} in a single response. + * The first element is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet} in a single response. * The second element is the next request object if the response * indicates the next page exists, or null. The third element is - * an object representing [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. + * an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. * * The promise has a method named "cancel" which cancels the ongoing API call. * @@ -421,7 +418,7 @@ class ProductSearchClient { * // Iterate over all elements. * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); * - * client.listProducts({parent: formattedParent}) + * client.listProductSets({parent: formattedParent}) * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { @@ -449,16 +446,16 @@ class ProductSearchClient { * } * if (nextRequest) { * // Fetch the next page. - * return client.listProducts(nextRequest, options).then(callback); + * return client.listProductSets(nextRequest, options).then(callback); * } * } - * client.listProducts({parent: formattedParent}, options) + * client.listProductSets({parent: formattedParent}, options) * .then(callback) * .catch(err => { * console.error(err); * }); */ - listProducts(request, options, callback) { + listProductSets(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -472,13 +469,13 @@ class ProductSearchClient { parent: request.parent, }); - return this._innerApiCalls.listProducts(request, options, callback); + return this._innerApiCalls.listProductSets(request, options, callback); } /** - * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. + * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. * - * This fetches the paged responses for {@link listProducts} continuously + * This fetches the paged responses for {@link listProductSets} continuously * and invokes the callback registered for 'data' event for each element in the * responses. * @@ -491,10 +488,9 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project OR ProductSet from which Products should be listed. + * The project from which ProductSets should be listed. * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` + * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {number} [request.pageSize] * The maximum number of resources contained in the underlying API * response. If page streaming is performed per-resource, this @@ -505,7 +501,7 @@ class ProductSearchClient { * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. * @returns {Stream} - * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. + * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet} on 'data' event. * * @example * @@ -516,46 +512,46 @@ class ProductSearchClient { * }); * * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * client.listProductsStream({parent: formattedParent}) + * client.listProductSetsStream({parent: formattedParent}) * .on('data', element => { * // doThingsWith(element) * }).on('error', err => { * console.log(err); * }); */ - listProductsStream(request, options) { + listProductSetsStream(request, options) { options = options || {}; - return this._descriptors.page.listProducts.createStream( - this._innerApiCalls.listProducts, + return this._descriptors.page.listProductSets.createStream( + this._innerApiCalls.listProductSets, request, options ); } /** - * Gets information associated with a Product. + * Gets information associated with a ProductSet. * * Possible errors: * - * * Returns NOT_FOUND if the Product does not exist. + * * Returns NOT_FOUND if the ProductSet does not exist. * * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the Product to get. + * Resource name of the ProductSet to get. * * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example @@ -566,8 +562,8 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.getProduct({name: formattedName}) + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.getProductSet({name: formattedName}) * .then(responses => { * const response = responses[0]; * // doThingsWith(response) @@ -576,7 +572,7 @@ class ProductSearchClient { * console.error(err); * }); */ - getProduct(request, options, callback) { + getProductSet(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -590,39 +586,30 @@ class ProductSearchClient { name: request.name, }); - return this._innerApiCalls.getProduct(request, options, callback); + return this._innerApiCalls.getProductSet(request, options, callback); } /** - * Makes changes to a Product resource. - * Only the `display_name`, `description`, and `labels` fields can be updated - * right now. - * - * If labels are updated, the change will not be reflected in queries until - * the next index time. + * Makes changes to a ProductSet resource. + * Only display_name can be updated currently. * * Possible errors: * - * * Returns NOT_FOUND if the Product does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but * missing from the request or longer than 4096 characters. - * * Returns INVALID_ARGUMENT if description is present in update_mask but is - * longer than 4096 characters. - * * Returns INVALID_ARGUMENT if product_category is present in update_mask. * * @param {Object} request * The request object that will be sent. - * @param {Object} request.product - * The Product resource which replaces the one on the server. - * product.name is immutable. + * @param {Object} request.productSet + * The ProductSet resource which replaces the one on the server. * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} * @param {Object} [request.updateMask] - * The FieldMask that specifies which fields - * to update. + * The FieldMask that specifies which fields to + * update. * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask paths include `product_labels`, `display_name`, and - * `description`. + * Valid mask path is `display_name`. * * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} * @param {Object} [options] @@ -631,9 +618,9 @@ class ProductSearchClient { * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example @@ -644,8 +631,8 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const product = {}; - * client.updateProduct({product: product}) + * const productSet = {}; + * client.updateProductSet({productSet: productSet}) * .then(responses => { * const response = responses[0]; * // doThingsWith(response) @@ -654,7 +641,7 @@ class ProductSearchClient { * console.error(err); * }); */ - updateProduct(request, options, callback) { + updateProductSet(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -665,30 +652,25 @@ class ProductSearchClient { options.otherArgs.headers[ 'x-goog-request-params' ] = gax.routingHeader.fromParams({ - 'product.name': request.product.name, + 'product_set.name': request.productSet.name, }); - return this._innerApiCalls.updateProduct(request, options, callback); + return this._innerApiCalls.updateProductSet(request, options, callback); } /** - * Permanently deletes a product and its reference images. - * - * Metadata of the product and all its images will be deleted right away, but - * search queries against ProductSets containing the product may still work - * until all related caches are refreshed. - * - * Possible errors: + * Permanently deletes a ProductSet. Products and ReferenceImages in the + * ProductSet are not deleted. * - * * Returns NOT_FOUND if the product does not exist. + * The actual image files are not deleted from Google Cloud Storage. * * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of product to delete. + * Resource name of the ProductSet to delete. * * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. @@ -705,12 +687,12 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.deleteProduct({name: formattedName}).catch(err => { + * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); + * client.deleteProductSet({name: formattedName}).catch(err => { * console.error(err); * }); */ - deleteProduct(request, options, callback) { + deleteProductSet(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -724,52 +706,44 @@ class ProductSearchClient { name: request.name, }); - return this._innerApiCalls.deleteProduct(request, options, callback); + return this._innerApiCalls.deleteProductSet(request, options, callback); } /** - * Lists reference images. + * Creates and returns a new product resource. * * Possible errors: * - * * Returns NOT_FOUND if the parent product does not exist. - * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less - * than 1. + * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is missing or invalid. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product containing the reference images. + * The project in which the Product should be created. * * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. + * `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} request.product + * The product to create. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * @param {string} [request.productId] + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. - * + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example @@ -780,22 +754,105 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * // Iterate over all elements. - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * - * client.listReferenceImages({parent: formattedParent}) + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const product = {}; + * const request = { + * parent: formattedParent, + * product: product, + * }; + * client.createProduct(request) * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + createProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); + + return this._innerApiCalls.createProduct(request, options, callback); + } + + /** + * Lists products in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} [request.pageSize] + * The maximum number of resources contained in the underlying API + * response. If page streaming is performed per-resource, this + * parameter does not affect the return value. If page streaming is + * performed per-page, this determines the maximum number of + * resources in a page. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1.Product}. + * + * When autoPaginate: false is specified through options, it contains the result + * in a single response. If the response indicates the next page exists, the third + * parameter is set to be used for the next request object. The fourth parameter keeps + * the raw response object of an object representing [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} in a single response. + * The second element is the next request object if the response + * indicates the next page exists, or null. The third element is + * an object representing [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * // Iterate over all elements. + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * client.listProducts({parent: formattedParent}) + * .then(responses => { + * const resources = responses[0]; + * for (const resource of resources) { + * // doThingsWith(resource) + * } * }) * .catch(err => { * console.error(err); * }); * * // Or obtain the paged response. - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); * * * const options = {autoPaginate: false}; @@ -811,16 +868,16 @@ class ProductSearchClient { * } * if (nextRequest) { * // Fetch the next page. - * return client.listReferenceImages(nextRequest, options).then(callback); + * return client.listProducts(nextRequest, options).then(callback); * } * } - * client.listReferenceImages({parent: formattedParent}, options) + * client.listProducts({parent: formattedParent}, options) * .then(callback) * .catch(err => { * console.error(err); * }); */ - listReferenceImages(request, options, callback) { + listProducts(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -834,13 +891,13 @@ class ProductSearchClient { parent: request.parent, }); - return this._innerApiCalls.listReferenceImages(request, options, callback); + return this._innerApiCalls.listProducts(request, options, callback); } /** - * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. + * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. * - * This fetches the paged responses for {@link listReferenceImages} continuously + * This fetches the paged responses for {@link listProducts} continuously * and invokes the callback registered for 'data' event for each element in the * responses. * @@ -853,10 +910,10 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product containing the reference images. + * The project OR ProductSet from which Products should be listed. * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` * @param {number} [request.pageSize] * The maximum number of resources contained in the underlying API * response. If page streaming is performed per-resource, this @@ -867,7 +924,7 @@ class ProductSearchClient { * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. * @returns {Stream} - * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} on 'data' event. + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. * * @example * @@ -877,48 +934,47 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.listReferenceImagesStream({parent: formattedParent}) + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * client.listProductsStream({parent: formattedParent}) * .on('data', element => { * // doThingsWith(element) * }).on('error', err => { * console.log(err); * }); */ - listReferenceImagesStream(request, options) { + listProductsStream(request, options) { options = options || {}; - return this._descriptors.page.listReferenceImages.createStream( - this._innerApiCalls.listReferenceImages, + return this._descriptors.page.listProducts.createStream( + this._innerApiCalls.listProducts, request, options ); } /** - * Gets information associated with a ReferenceImage. + * Gets information associated with a Product. * * Possible errors: * - * * Returns NOT_FOUND if the specified image does not exist. + * * Returns NOT_FOUND if the Product does not exist. * * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name of the ReferenceImage to get. + * Resource name of the Product to get. * * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example @@ -929,8 +985,8 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); - * client.getReferenceImage({name: formattedName}) + * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.getProduct({name: formattedName}) * .then(responses => { * const response = responses[0]; * // doThingsWith(response) @@ -939,7 +995,7 @@ class ProductSearchClient { * console.error(err); * }); */ - getReferenceImage(request, options, callback) { + getProduct(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -953,30 +1009,101 @@ class ProductSearchClient { name: request.name, }); - return this._innerApiCalls.getReferenceImage(request, options, callback); + return this._innerApiCalls.getProduct(request, options, callback); } /** - * Permanently deletes a reference image. - * - * The image metadata will be deleted right away, but search queries - * against ProductSets containing the image may still work until all related - * caches are refreshed. + * Makes changes to a Product resource. + * Only the `display_name`, `description`, and `labels` fields can be updated + * right now. * - * The actual image files are not deleted from Google Cloud Storage. + * If labels are updated, the change will not be reflected in queries until + * the next index time. * * Possible errors: * - * * Returns NOT_FOUND if the reference image does not exist. + * * Returns NOT_FOUND if the Product does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + * missing from the request or longer than 4096 characters. + * * Returns INVALID_ARGUMENT if description is present in update_mask but is + * longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is present in update_mask. + * + * @param {Object} request + * The request object that will be sent. + * @param {Object} request.product + * The Product resource which replaces the one on the server. + * product.name is immutable. + * + * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} + * @param {Object} [request.updateMask] + * The FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + * + * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const product = {}; + * client.updateProduct({product: product}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + updateProduct(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product.name': request.product.name, + }); + + return this._innerApiCalls.updateProduct(request, options, callback); + } + + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. * * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name of the reference image to delete. + * Resource name of product to delete. * * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. @@ -993,12 +1120,12 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); - * client.deleteReferenceImage({name: formattedName}).catch(err => { + * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.deleteProduct({name: formattedName}).catch(err => { * console.error(err); * }); */ - deleteReferenceImage(request, options, callback) { + deleteProduct(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -1012,7 +1139,7 @@ class ProductSearchClient { name: request.name, }); - return this._innerApiCalls.deleteReferenceImage(request, options, callback); + return this._innerApiCalls.deleteProduct(request, options, callback); } /** @@ -1105,37 +1232,28 @@ class ProductSearchClient { } /** - * Creates and returns a new ProductSet resource. + * Permanently deletes a reference image. * - * Possible errors: + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. * - * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than - * 4096 characters. + * The actual image files are not deleted from Google Cloud Storage. * * @param {Object} request * The request object that will be sent. - * @param {string} request.parent - * The project in which the ProductSet should be created. + * @param {string} request.name + * The resource name of the reference image to delete. * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.productSet - * The ProductSet to create. + * Format is: * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} - * @param {string} [request.productSetId] - * A user-supplied resource id for this ProductSet. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. - * @param {function(?Error, ?Object)} [callback] + * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * @returns {Promise} - The promise which resolves when API call finishes. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example @@ -1146,22 +1264,12 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const productSet = {}; - * const request = { - * parent: formattedParent, - * productSet: productSet, - * }; - * client.createProductSet(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); + * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); + * client.deleteReferenceImage({name: formattedName}).catch(err => { + * console.error(err); + * }); */ - createProductSet(request, options, callback) { + deleteReferenceImage(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -1172,26 +1280,28 @@ class ProductSearchClient { options.otherArgs.headers[ 'x-goog-request-params' ] = gax.routingHeader.fromParams({ - parent: request.parent, + name: request.name, }); - return this._innerApiCalls.createProductSet(request, options, callback); + return this._innerApiCalls.deleteReferenceImage(request, options, callback); } /** - * Lists ProductSets in an unspecified order. + * Lists reference images. * * Possible errors: * - * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + * * Returns NOT_FOUND if the parent product does not exist. + * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less * than 1. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project from which ProductSets should be listed. + * Resource name of the product containing the reference images. * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. * @param {number} [request.pageSize] * The maximum number of resources contained in the underlying API * response. If page streaming is performed per-resource, this @@ -1204,20 +1314,20 @@ class ProductSearchClient { * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The second parameter to the callback is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. * * When autoPaginate: false is specified through options, it contains the result * in a single response. If the response indicates the next page exists, the third * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. + * the raw response object of an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. * * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet} in a single response. + * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} in a single response. * The second element is the next request object if the response * indicates the next page exists, or null. The third element is - * an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. + * an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. * * The promise has a method named "cancel" which cancels the ongoing API call. * @@ -1230,9 +1340,9 @@ class ProductSearchClient { * }); * * // Iterate over all elements. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); * - * client.listProductSets({parent: formattedParent}) + * client.listReferenceImages({parent: formattedParent}) * .then(responses => { * const resources = responses[0]; * for (const resource of resources) { @@ -1244,7 +1354,7 @@ class ProductSearchClient { * }); * * // Or obtain the paged response. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); * * * const options = {autoPaginate: false}; @@ -1260,16 +1370,16 @@ class ProductSearchClient { * } * if (nextRequest) { * // Fetch the next page. - * return client.listProductSets(nextRequest, options).then(callback); + * return client.listReferenceImages(nextRequest, options).then(callback); * } * } - * client.listProductSets({parent: formattedParent}, options) + * client.listReferenceImages({parent: formattedParent}, options) * .then(callback) * .catch(err => { * console.error(err); * }); */ - listProductSets(request, options, callback) { + listReferenceImages(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -1283,13 +1393,13 @@ class ProductSearchClient { parent: request.parent, }); - return this._innerApiCalls.listProductSets(request, options, callback); + return this._innerApiCalls.listReferenceImages(request, options, callback); } /** - * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. + * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. * - * This fetches the paged responses for {@link listProductSets} continuously + * This fetches the paged responses for {@link listReferenceImages} continuously * and invokes the callback registered for 'data' event for each element in the * responses. * @@ -1302,9 +1412,10 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project from which ProductSets should be listed. + * Resource name of the product containing the reference images. * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. * @param {number} [request.pageSize] * The maximum number of resources contained in the underlying API * response. If page streaming is performed per-resource, this @@ -1315,7 +1426,7 @@ class ProductSearchClient { * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. * @returns {Stream} - * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet} on 'data' event. + * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} on 'data' event. * * @example * @@ -1325,116 +1436,48 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * client.listProductSetsStream({parent: formattedParent}) + * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); + * client.listReferenceImagesStream({parent: formattedParent}) * .on('data', element => { * // doThingsWith(element) * }).on('error', err => { * console.log(err); * }); */ - listProductSetsStream(request, options) { + listReferenceImagesStream(request, options) { options = options || {}; - return this._descriptors.page.listProductSets.createStream( - this._innerApiCalls.listProductSets, + return this._descriptors.page.listReferenceImages.createStream( + this._innerApiCalls.listReferenceImages, request, options ); } /** - * Gets information associated with a ProductSet. + * Gets information associated with a ReferenceImage. * * Possible errors: * - * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns NOT_FOUND if the specified image does not exist. * * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the ProductSet to get. + * The resource name of the ReferenceImage to get. * * Format is: - * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.getProductSet({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getProductSet(request, options, callback); - } - - /** - * Makes changes to a ProductSet resource. - * Only display_name can be updated currently. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but - * missing from the request or longer than 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object} request.productSet - * The ProductSet resource which replaces the one on the server. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} - * @param {Object} [request.updateMask] - * The FieldMask that specifies which fields to - * update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask path is `display_name`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example @@ -1445,8 +1488,8 @@ class ProductSearchClient { * // optional auth parameters. * }); * - * const productSet = {}; - * client.updateProductSet({productSet: productSet}) + * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); + * client.getReferenceImage({name: formattedName}) * .then(responses => { * const response = responses[0]; * // doThingsWith(response) @@ -1455,62 +1498,7 @@ class ProductSearchClient { * console.error(err); * }); */ - updateProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product_set.name': request.productSet.name, - }); - - return this._innerApiCalls.updateProductSet(request, options, callback); - } - - /** - * Permanently deletes a ProductSet. Products and ReferenceImages in the - * ProductSet are not deleted. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.deleteProductSet({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteProductSet(request, options, callback) { + getReferenceImage(request, options, callback) { if (options instanceof Function && callback === undefined) { callback = options; options = {}; @@ -1524,7 +1512,7 @@ class ProductSearchClient { name: request.name, }); - return this._innerApiCalls.deleteProductSet(request, options, callback); + return this._innerApiCalls.getReferenceImage(request, options, callback); } /** @@ -1599,10 +1587,6 @@ class ProductSearchClient { /** * Removes a Product from the specified ProductSet. * - * Possible errors: - * - * * Returns NOT_FOUND If the Product is not found under the ProductSet. - * * @param {Object} request * The request object that will be sent. * @param {string} request.name diff --git a/packages/google-cloud-vision/src/v1/product_search_client_config.json b/packages/google-cloud-vision/src/v1/product_search_client_config.json index 77e2a4fe331..c08955ff25c 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1/product_search_client_config.json @@ -3,7 +3,6 @@ "google.cloud.vision.v1.ProductSearch": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] @@ -20,72 +19,72 @@ } }, "methods": { - "CreateProduct": { + "CreateProductSet": { "timeout_millis": 60000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, - "ListProducts": { + "ListProductSets": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "GetProduct": { + "GetProductSet": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "UpdateProduct": { + "UpdateProductSet": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "DeleteProduct": { + "DeleteProductSet": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "ListReferenceImages": { + "CreateProduct": { "timeout_millis": 60000, - "retry_codes_name": "idempotent", + "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, - "GetReferenceImage": { + "ListProducts": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "DeleteReferenceImage": { + "GetProduct": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "CreateReferenceImage": { + "UpdateProduct": { "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", + "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "CreateProductSet": { + "DeleteProduct": { "timeout_millis": 60000, - "retry_codes_name": "non_idempotent", + "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "ListProductSets": { + "CreateReferenceImage": { "timeout_millis": 60000, - "retry_codes_name": "idempotent", + "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, - "GetProductSet": { + "DeleteReferenceImage": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "UpdateProductSet": { + "ListReferenceImages": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, - "DeleteProductSet": { + "GetReferenceImage": { "timeout_millis": 60000, "retry_codes_name": "idempotent", "retry_params_name": "default" diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json index 55c365e3f80..91455d317ab 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json @@ -3,7 +3,6 @@ "google.cloud.vision.v1p1beta1.ImageAnnotator": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json index 72dc25aa596..5e567cd375a 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json @@ -3,7 +3,6 @@ "google.cloud.vision.v1p2beta1.ImageAnnotator": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json index 23e23cdf3d7..a9bcd1924dc 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json @@ -3,7 +3,6 @@ "google.cloud.vision.v1p3beta1.ImageAnnotator": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json b/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json index 03793ddd14c..9bf6874e6c6 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json @@ -3,7 +3,6 @@ "google.cloud.vision.v1p3beta1.ProductSearch": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json index 9666bd1f923..f0487937113 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json @@ -3,7 +3,6 @@ "google.cloud.vision.v1p4beta1.ImageAnnotator": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json index 37cb6d2a79a..bd8ea9ad253 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json @@ -3,7 +3,6 @@ "google.cloud.vision.v1p4beta1.ProductSearch": { "retry_codes": { "idempotent": [ - "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 5f3a5bbafb3..4ba6b44ade1 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-04-27T11:22:48.245286Z", + "updateTime": "2019-05-08T12:13:36.416401Z", "sources": [ { "generator": { "name": "artman", - "version": "0.17.1", - "dockerImage": "googleapis/artman@sha256:a40ca4dd4ef031c0ded4df4909ffdf7b3f20d29b23e682ef991eb60ba0ca6025" + "version": "0.19.0", + "dockerImage": "googleapis/artman@sha256:d3df563538225ac6caac45d8ad86499500211d1bcb2536955a6dbda15e1b368e" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "808110e242c682d7ac2bab6d9c49fc3bf72d7604", - "internalRef": "245313728" + "sha": "51145ff7812d2bb44c1219d0b76dac92a8bd94b2", + "internalRef": "247143125" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.4.10" + "version": "2019.5.2" } } ], diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 0112f2ba084..cb49a4fbb4a 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -22,9 +22,304 @@ const FAKE_STATUS_CODE = 1; const error = new Error(); error.code = FAKE_STATUS_CODE; +describe('ImageAnnotatorClient', () => { + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.batchAnnotateImages(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', done => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.batchAnnotateImages(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('batchAnnotateFiles', () => { + it('invokes batchAnnotateFiles without error', done => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.batchAnnotateFiles(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateFiles with error', done => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.batchAnnotateFiles(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + + describe('asyncBatchAnnotateImages', function() { + it('invokes asyncBatchAnnotateImages without error', done => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const outputConfig = {}; + const request = { + requests: requests, + outputConfig: outputConfig, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .asyncBatchAnnotateImages(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateImages with error', done => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const outputConfig = {}; + const request = { + requests: requests, + outputConfig: outputConfig, + }; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .asyncBatchAnnotateImages(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.asyncBatchAnnotateImages + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.asyncBatchAnnotateImages + .metadataDecoder instanceof Function + ); + }); + }); + + describe('asyncBatchAnnotateFiles', function() { + it('invokes asyncBatchAnnotateFiles without error', done => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateFiles with error', done => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const requests = []; + const request = { + requests: requests, + }; + + // Mock Grpc layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .asyncBatchAnnotateFiles(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + const client = new visionModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .responseDecoder instanceof Function + ); + assert( + client._descriptors.longrunning.asyncBatchAnnotateFiles + .metadataDecoder instanceof Function + ); + }); + }); +}); describe('ProductSearchClient', () => { - describe('createProduct', () => { - it('invokes createProduct without error', done => { + describe('createProductSet', () => { + it('invokes createProductSet without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -32,38 +327,34 @@ describe('ProductSearchClient', () => { // Mock request const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const product = {}; + const productSet = {}; const request = { parent: formattedParent, - product: product, + productSet: productSet, }; // Mock response const name = 'name3373707'; const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; const expectedResponse = { name: name, displayName: displayName, - description: description, - productCategory: productCategory, }; // Mock Grpc layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( request, expectedResponse ); - client.createProduct(request, (err, response) => { + client.createProductSet(request, (err, response) => { assert.ifError(err); assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes createProduct with error', done => { + it('invokes createProductSet with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -71,20 +362,20 @@ describe('ProductSearchClient', () => { // Mock request const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const product = {}; + const productSet = {}; const request = { parent: formattedParent, - product: product, + productSet: productSet, }; // Mock Grpc layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( request, null, error ); - client.createProduct(request, (err, response) => { + client.createProductSet(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); @@ -93,8 +384,8 @@ describe('ProductSearchClient', () => { }); }); - describe('listProducts', () => { - it('invokes listProducts without error', done => { + describe('listProductSets', () => { + it('invokes listProductSets without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -108,31 +399,31 @@ describe('ProductSearchClient', () => { // Mock response const nextPageToken = ''; - const productsElement = {}; - const products = [productsElement]; + const productSetsElement = {}; + const productSets = [productSetsElement]; const expectedResponse = { nextPageToken: nextPageToken, - products: products, + productSets: productSets, }; // Mock Grpc layer - client._innerApiCalls.listProducts = ( + client._innerApiCalls.listProductSets = ( actualRequest, options, callback ) => { assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.products); + callback(null, expectedResponse.productSets); }; - client.listProducts(request, (err, response) => { + client.listProductSets(request, (err, response) => { assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.products); + assert.deepStrictEqual(response, expectedResponse.productSets); done(); }); }); - it('invokes listProducts with error', done => { + it('invokes listProductSets with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', @@ -145,13 +436,13 @@ describe('ProductSearchClient', () => { }; // Mock Grpc layer - client._innerApiCalls.listProducts = mockSimpleGrpcMethod( + client._innerApiCalls.listProductSets = mockSimpleGrpcMethod( request, null, error ); - client.listProducts(request, (err, response) => { + client.listProductSets(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); @@ -160,18 +451,18 @@ describe('ProductSearchClient', () => { }); }); - describe('getProduct', () => { - it('invokes getProduct without error', done => { + describe('getProductSet', () => { + it('invokes getProductSet without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.productPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', - '[PRODUCT]' + '[PRODUCT_SET]' ); const request = { name: formattedName, @@ -180,52 +471,48 @@ describe('ProductSearchClient', () => { // Mock response const name2 = 'name2-1052831874'; const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; const expectedResponse = { name: name2, displayName: displayName, - description: description, - productCategory: productCategory, }; // Mock Grpc layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( request, expectedResponse ); - client.getProduct(request, (err, response) => { + client.getProductSet(request, (err, response) => { assert.ifError(err); assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes getProduct with error', done => { + it('invokes getProductSet with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.productPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', - '[PRODUCT]' + '[PRODUCT_SET]' ); const request = { name: formattedName, }; // Mock Grpc layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( request, null, error ); - client.getProduct(request, (err, response) => { + client.getProductSet(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); @@ -234,64 +521,60 @@ describe('ProductSearchClient', () => { }); }); - describe('updateProduct', () => { - it('invokes updateProduct without error', done => { + describe('updateProductSet', () => { + it('invokes updateProductSet without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const product = {}; + const productSet = {}; const request = { - product: product, + productSet: productSet, }; // Mock response const name = 'name3373707'; const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; const expectedResponse = { name: name, displayName: displayName, - description: description, - productCategory: productCategory, }; // Mock Grpc layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( request, expectedResponse ); - client.updateProduct(request, (err, response) => { + client.updateProductSet(request, (err, response) => { assert.ifError(err); assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes updateProduct with error', done => { + it('invokes updateProductSet with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const product = {}; + const productSet = {}; const request = { - product: product, + productSet: productSet, }; // Mock Grpc layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( request, null, error ); - client.updateProduct(request, (err, response) => { + client.updateProductSet(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); @@ -300,56 +583,56 @@ describe('ProductSearchClient', () => { }); }); - describe('deleteProduct', () => { - it('invokes deleteProduct without error', done => { + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.productPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', - '[PRODUCT]' + '[PRODUCT_SET]' ); const request = { name: formattedName, }; // Mock Grpc layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod(request); + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod(request); - client.deleteProduct(request, err => { + client.deleteProductSet(request, err => { assert.ifError(err); done(); }); }); - it('invokes deleteProduct with error', done => { + it('invokes deleteProductSet with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.productPath( + const formattedName = client.productSetPath( '[PROJECT]', '[LOCATION]', - '[PRODUCT]' + '[PRODUCT_SET]' ); const request = { name: formattedName, }; // Mock Grpc layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( request, null, error ); - client.deleteProduct(request, err => { + client.deleteProductSet(request, err => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); @@ -357,75 +640,68 @@ describe('ProductSearchClient', () => { }); }); - describe('listReferenceImages', () => { - it('invokes listReferenceImages without error', done => { + describe('createProduct', () => { + it('invokes createProduct without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const product = {}; const request = { parent: formattedParent, + product: product, }; // Mock response - const pageSize = 883849137; - const nextPageToken = ''; - const referenceImagesElement = {}; - const referenceImages = [referenceImagesElement]; + const name = 'name3373707'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; const expectedResponse = { - pageSize: pageSize, - nextPageToken: nextPageToken, - referenceImages: referenceImages, + name: name, + displayName: displayName, + description: description, + productCategory: productCategory, }; // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.referenceImages); - }; + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + expectedResponse + ); - client.listReferenceImages(request, (err, response) => { + client.createProduct(request, (err, response) => { assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.referenceImages); + assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes listReferenceImages with error', done => { + it('invokes createProduct with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const product = {}; const request = { parent: formattedParent, + product: product, }; // Mock Grpc layer - client._innerApiCalls.listReferenceImages = mockSimpleGrpcMethod( + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( request, null, error ); - client.listReferenceImages(request, (err, response) => { + client.createProduct(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); @@ -434,70 +710,65 @@ describe('ProductSearchClient', () => { }); }); - describe('getReferenceImage', () => { - it('invokes getReferenceImage without error', done => { + describe('listProducts', () => { + it('invokes listProducts without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); const request = { - name: formattedName, + parent: formattedParent, }; // Mock response - const name2 = 'name2-1052831874'; - const uri = 'uri116076'; + const nextPageToken = ''; + const productsElement = {}; + const products = [productsElement]; const expectedResponse = { - name: name2, - uri: uri, + nextPageToken: nextPageToken, + products: products, }; // Mock Grpc layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse - ); + client._innerApiCalls.listProducts = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.products); + }; - client.getReferenceImage(request, (err, response) => { + client.listProducts(request, (err, response) => { assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); + assert.deepStrictEqual(response, expectedResponse.products); done(); }); }); - it('invokes getReferenceImage with error', done => { + it('invokes listProducts with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); const request = { - name: formattedName, + parent: formattedParent, }; // Mock Grpc layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + client._innerApiCalls.listProducts = mockSimpleGrpcMethod( request, null, error ); - client.getReferenceImage(request, (err, response) => { + client.listProducts(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); @@ -506,133 +777,138 @@ describe('ProductSearchClient', () => { }); }); - describe('deleteReferenceImage', () => { - it('invokes deleteReferenceImage without error', done => { + describe('getProduct', () => { + it('invokes getProduct without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.referenceImagePath( + const formattedName = client.productPath( '[PROJECT]', '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' + '[PRODUCT]' ); const request = { name: formattedName, }; + // Mock response + const name2 = 'name2-1052831874'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; + const expectedResponse = { + name: name2, + displayName: displayName, + description: description, + productCategory: productCategory, + }; + // Mock Grpc layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + expectedResponse ); - client.deleteReferenceImage(request, err => { + client.getProduct(request, (err, response) => { assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes deleteReferenceImage with error', done => { + it('invokes getProduct with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.referenceImagePath( + const formattedName = client.productPath( '[PROJECT]', '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' + '[PRODUCT]' ); const request = { name: formattedName, }; // Mock Grpc layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( request, null, error ); - client.deleteReferenceImage(request, err => { + client.getProduct(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); done(); }); }); }); - describe('createReferenceImage', () => { - it('invokes createReferenceImage without error', done => { + describe('updateProduct', () => { + it('invokes updateProduct without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const referenceImage = {}; + const product = {}; const request = { - parent: formattedParent, - referenceImage: referenceImage, + product: product, }; // Mock response const name = 'name3373707'; - const uri = 'uri116076'; + const displayName = 'displayName1615086568'; + const description = 'description-1724546052'; + const productCategory = 'productCategory-1607451058'; const expectedResponse = { name: name, - uri: uri, + displayName: displayName, + description: description, + productCategory: productCategory, }; // Mock Grpc layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( request, expectedResponse ); - client.createReferenceImage(request, (err, response) => { + client.updateProduct(request, (err, response) => { assert.ifError(err); assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes createReferenceImage with error', done => { + it('invokes updateProduct with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const referenceImage = {}; + const product = {}; const request = { - parent: formattedParent, - referenceImage: referenceImage, + product: product, }; // Mock Grpc layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( request, null, error ); - client.createReferenceImage(request, (err, response) => { + client.updateProduct(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); @@ -641,131 +917,129 @@ describe('ProductSearchClient', () => { }); }); - describe('createProductSet', () => { - it('invokes createProductSet without error', done => { + describe('deleteProduct', () => { + it('invokes deleteProduct without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const productSet = {}; + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); const request = { - parent: formattedParent, - productSet: productSet, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name, - displayName: displayName, + name: formattedName, }; // Mock Grpc layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod(request); - client.createProductSet(request, (err, response) => { + client.deleteProduct(request, err => { assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes createProductSet with error', done => { + it('invokes deleteProduct with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const productSet = {}; + const formattedName = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); const request = { - parent: formattedParent, - productSet: productSet, + name: formattedName, }; // Mock Grpc layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( request, null, error ); - client.createProductSet(request, (err, response) => { + client.deleteProduct(request, err => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); done(); }); }); }); - describe('listProductSets', () => { - it('invokes listProductSets without error', done => { + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const referenceImage = {}; const request = { parent: formattedParent, + referenceImage: referenceImage, }; // Mock response - const nextPageToken = ''; - const productSetsElement = {}; - const productSets = [productSetsElement]; + const name = 'name3373707'; + const uri = 'uri116076'; const expectedResponse = { - nextPageToken: nextPageToken, - productSets: productSets, + name: name, + uri: uri, }; // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.productSets); - }; + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse + ); - client.listProductSets(request, (err, response) => { + client.createReferenceImage(request, (err, response) => { assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.productSets); + assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes listProductSets with error', done => { + it('invokes createReferenceImage with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); + const referenceImage = {}; const request = { parent: formattedParent, + referenceImage: referenceImage, }; // Mock Grpc layer - client._innerApiCalls.listProductSets = mockSimpleGrpcMethod( + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( request, null, error ); - client.listProductSets(request, (err, response) => { + client.createReferenceImage(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); @@ -774,130 +1048,136 @@ describe('ProductSearchClient', () => { }); }); - describe('getProductSet', () => { - it('invokes getProductSet without error', done => { + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.productSetPath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', - '[PRODUCT_SET]' + '[PRODUCT]', + '[REFERENCE_IMAGE]' ); const request = { name: formattedName, }; - // Mock response - const name2 = 'name2-1052831874'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name2, - displayName: displayName, - }; - // Mock Grpc layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - expectedResponse + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request ); - client.getProductSet(request, (err, response) => { + client.deleteReferenceImage(request, err => { assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes getProductSet with error', done => { + it('invokes deleteReferenceImage with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.productSetPath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', - '[PRODUCT_SET]' + '[PRODUCT]', + '[REFERENCE_IMAGE]' ); const request = { name: formattedName, }; // Mock Grpc layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( request, null, error ); - client.getProductSet(request, (err, response) => { + client.deleteReferenceImage(request, err => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); done(); }); }); }); - describe('updateProductSet', () => { - it('invokes updateProductSet without error', done => { + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const productSet = {}; + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); const request = { - productSet: productSet, + parent: formattedParent, }; // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; + const pageSize = 883849137; + const nextPageToken = ''; + const referenceImagesElement = {}; + const referenceImages = [referenceImagesElement]; const expectedResponse = { - name: name, - displayName: displayName, + pageSize: pageSize, + nextPageToken: nextPageToken, + referenceImages: referenceImages, }; // Mock Grpc layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); + client._innerApiCalls.listReferenceImages = ( + actualRequest, + options, + callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse.referenceImages); + }; - client.updateProductSet(request, (err, response) => { + client.listReferenceImages(request, (err, response) => { assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); + assert.deepStrictEqual(response, expectedResponse.referenceImages); done(); }); }); - it('invokes updateProductSet with error', done => { + it('invokes listReferenceImages with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const productSet = {}; + const formattedParent = client.productPath( + '[PROJECT]', + '[LOCATION]', + '[PRODUCT]' + ); const request = { - productSet: productSet, + parent: formattedParent, }; // Mock Grpc layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + client._innerApiCalls.listReferenceImages = mockSimpleGrpcMethod( request, null, error ); - client.updateProductSet(request, (err, response) => { + client.listReferenceImages(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); @@ -906,58 +1186,73 @@ describe('ProductSearchClient', () => { }); }); - describe('deleteProductSet', () => { - it('invokes deleteProductSet without error', done => { + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.productSetPath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', - '[PRODUCT_SET]' + '[PRODUCT]', + '[REFERENCE_IMAGE]' ); const request = { name: formattedName, }; + // Mock response + const name2 = 'name2-1052831874'; + const uri = 'uri116076'; + const expectedResponse = { + name: name2, + uri: uri, + }; + // Mock Grpc layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod(request); + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse + ); - client.deleteProductSet(request, err => { + client.getReferenceImage(request, (err, response) => { assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); done(); }); }); - it('invokes deleteProductSet with error', done => { + it('invokes getReferenceImage with error', done => { const client = new visionModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); // Mock request - const formattedName = client.productSetPath( + const formattedName = client.referenceImagePath( '[PROJECT]', '[LOCATION]', - '[PRODUCT_SET]' + '[PRODUCT]', + '[REFERENCE_IMAGE]' ); const request = { name: formattedName, }; // Mock Grpc layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( request, null, error ); - client.deleteProductSet(request, err => { + client.getReferenceImage(request, (err, response) => { assert(err instanceof Error); assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); done(); }); }); @@ -1272,152 +1567,6 @@ describe('ProductSearchClient', () => { }); }); }); -describe('ImageAnnotatorClient', () => { - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.batchAnnotateImages(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.batchAnnotateImages(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('asyncBatchAnnotateFiles', function() { - it('invokes asyncBatchAnnotateFiles without error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .asyncBatchAnnotateFiles(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateFiles with error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .asyncBatchAnnotateFiles(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .metadataDecoder instanceof Function - ); - }); - }); -}); function mockSimpleGrpcMethod(expectedRequest, response, error) { return function(actualRequest, options, callback) { From 7e17d7254b30aea3c222d24ca7694e450cc3eab9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Fri, 10 May 2019 14:50:26 -0700 Subject: [PATCH 289/588] fix: DEADLINE_EXCEEDED is idempotent (#377) --- .../src/v1/image_annotator_client_config.json | 1 + .../src/v1/product_search_client_config.json | 1 + .../src/v1p1beta1/image_annotator_client_config.json | 1 + .../src/v1p2beta1/image_annotator_client_config.json | 1 + .../src/v1p3beta1/image_annotator_client_config.json | 1 + .../src/v1p3beta1/product_search_client_config.json | 1 + .../src/v1p4beta1/image_annotator_client_config.json | 1 + .../src/v1p4beta1/product_search_client_config.json | 1 + packages/google-cloud-vision/synth.metadata | 6 +++--- 9 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json index 32cc73d4e0d..6e7354d2169 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json @@ -3,6 +3,7 @@ "google.cloud.vision.v1.ImageAnnotator": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1/product_search_client_config.json b/packages/google-cloud-vision/src/v1/product_search_client_config.json index c08955ff25c..8cf01c267da 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1/product_search_client_config.json @@ -3,6 +3,7 @@ "google.cloud.vision.v1.ProductSearch": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json index 91455d317ab..55c365e3f80 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json @@ -3,6 +3,7 @@ "google.cloud.vision.v1p1beta1.ImageAnnotator": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json index 5e567cd375a..72dc25aa596 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json @@ -3,6 +3,7 @@ "google.cloud.vision.v1p2beta1.ImageAnnotator": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json index a9bcd1924dc..23e23cdf3d7 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json @@ -3,6 +3,7 @@ "google.cloud.vision.v1p3beta1.ImageAnnotator": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json b/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json index 9bf6874e6c6..03793ddd14c 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json @@ -3,6 +3,7 @@ "google.cloud.vision.v1p3beta1.ProductSearch": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json index f0487937113..9666bd1f923 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json @@ -3,6 +3,7 @@ "google.cloud.vision.v1p4beta1.ImageAnnotator": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json index bd8ea9ad253..37cb6d2a79a 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json @@ -3,6 +3,7 @@ "google.cloud.vision.v1p4beta1.ProductSearch": { "retry_codes": { "idempotent": [ + "DEADLINE_EXCEEDED", "UNAVAILABLE" ], "non_idempotent": [] diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 4ba6b44ade1..c6416fdec44 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-05-08T12:13:36.416401Z", + "updateTime": "2019-05-10T12:19:50.450734Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "51145ff7812d2bb44c1219d0b76dac92a8bd94b2", - "internalRef": "247143125" + "sha": "07883be5bf3c3233095e99d8e92b8094f5d7084a", + "internalRef": "247530843" } }, { From 0e267f5d2997cdc61c613b81fbd59c4867dc9719 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Fri, 10 May 2019 14:57:06 -0700 Subject: [PATCH 290/588] fix(deps): update dependency google-gax to v1 (#376) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 43c6d0191a4..c1db26ea994 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -43,7 +43,7 @@ }, "dependencies": { "@google-cloud/promisify": "^1.0.0", - "google-gax": "^0.26.0", + "google-gax": "^1.0.0", "is": "^3.2.1", "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" From 55bb8379dcb615bba2bb16a02d86031b2a3b2e9d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot <44816363+yoshi-automation@users.noreply.github.com> Date: Sat, 11 May 2019 15:49:10 -0700 Subject: [PATCH 291/588] docs: update jsdoc comments (#378) --- .../protos/google/cloud/vision/v1/image_annotator.proto | 4 ++-- .../v1/doc/google/cloud/vision/v1/doc_image_annotator.js | 4 ++-- packages/google-cloud-vision/synth.metadata | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index ad9087213ac..3375345e2d1 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -824,8 +824,8 @@ message InputConfig { // not work for AsyncBatchAnnotateFiles requests. bytes content = 3; - // The type of the file. Currently only "application/pdf" and "image/tiff" - // are supported. Wildcards are not supported. + // The type of the file. Currently only "application/pdf", "image/tiff" and + // "image/gif" are supported. Wildcards are not supported. string mime_type = 2; } diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index bac94aee7f8..f6265ac901f 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -1247,8 +1247,8 @@ const AsyncBatchAnnotateFilesResponse = { * not work for AsyncBatchAnnotateFiles requests. * * @property {string} mimeType - * The type of the file. Currently only "application/pdf" and "image/tiff" - * are supported. Wildcards are not supported. + * The type of the file. Currently only "application/pdf", "image/tiff" and + * "image/gif" are supported. Wildcards are not supported. * * @typedef InputConfig * @memberof google.cloud.vision.v1 diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index c6416fdec44..7e6b4a4878e 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-05-10T12:19:50.450734Z", + "updateTime": "2019-05-11T11:27:59.720471Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "07883be5bf3c3233095e99d8e92b8094f5d7084a", - "internalRef": "247530843" + "sha": "32b08107fa1710f46287c17d5bb2016e443ed3ba", + "internalRef": "247684466" } }, { From a11ad850483642b9bc0cd2600fae9ebf54e96afe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Mon, 13 May 2019 09:37:57 -0700 Subject: [PATCH 292/588] chore(deps): update dependency jsdoc to v3.6.2 (#379) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index c1db26ea994..921a2cd20f2 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -58,7 +58,7 @@ "eslint-plugin-prettier": "^3.0.0", "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", "intelli-espower-loader": "^1.0.1", - "jsdoc": "3.5.5", + "jsdoc": "^3.6.2", "mocha": "^6.0.0", "nyc": "^14.0.0", "power-assert": "^1.6.0", From 8eb7c32efce6eff3966f56bd96e8e9b81d575d59 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 13 May 2019 13:02:05 -0700 Subject: [PATCH 293/588] chore: release 1.0.0 (#380) * updated CHANGELOG.md * updated package.json * updated samples/package.json --- packages/google-cloud-vision/CHANGELOG.md | 28 ++++++++++++++++++- packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 7eb6a8a14df..697a374f59a 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,33 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.0.0](https://www.github.com/googleapis/nodejs-vision/compare/v0.25.0...v1.0.0) (2019-05-13) + + +### Bug Fixes + +* **deps:** update dependency google-gax to v1 ([#376](https://www.github.com/googleapis/nodejs-vision/issues/376)) ([14a5ca9](https://www.github.com/googleapis/nodejs-vision/commit/14a5ca9)) +* DEADLINE_EXCEEDED is idempotent ([#377](https://www.github.com/googleapis/nodejs-vision/issues/377)) ([d7ed2d3](https://www.github.com/googleapis/nodejs-vision/commit/d7ed2d3)) +* **deps:** update dependency @google-cloud/promisify to v1 ([#367](https://www.github.com/googleapis/nodejs-vision/issues/367)) ([f1a5bcc](https://www.github.com/googleapis/nodejs-vision/commit/f1a5bcc)) +* **deps:** update dependency google-gax to ^0.26.0 ([#362](https://www.github.com/googleapis/nodejs-vision/issues/362)) ([81a3379](https://www.github.com/googleapis/nodejs-vision/commit/81a3379)) +* include 'x-goog-request-params' header in requests ([4e7a1c6](https://www.github.com/googleapis/nodejs-vision/commit/4e7a1c6)), closes [#353](https://www.github.com/googleapis/nodejs-vision/issues/353) +* **samples:** make test assertion less specific ([#354](https://www.github.com/googleapis/nodejs-vision/issues/354)) ([435ddf0](https://www.github.com/googleapis/nodejs-vision/commit/435ddf0)) + + +### Build System + +* upgrade engines field to >=8.10.0 ([#363](https://www.github.com/googleapis/nodejs-vision/issues/363)) ([e8a7141](https://www.github.com/googleapis/nodejs-vision/commit/e8a7141)) + + +### Features + +* image annotation batching ([#375](https://www.github.com/googleapis/nodejs-vision/issues/375)) ([bed2515](https://www.github.com/googleapis/nodejs-vision/commit/bed2515)) + + +### BREAKING CHANGES + +* upgrade engines field to >=8.10.0 (#363) + ## v0.25.0 02-22-2019 17:39 PST @@ -235,4 +262,3 @@ This release brings in v1p3beta1 of the Cloud Vision API, which includes the fol - Configure Renovate (#87) - refactor: drop repo-tool as an exec wrapper (#97) - fix: update linking for samples (#92) - diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 921a2cd20f2..a5ea2d0d9c8 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "0.25.0", + "version": "1.0.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 7a49219afea..db2106e4ad5 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^0.25.0", + "@google-cloud/vision": "^1.0.0", "mathjs": "^5.0.4", "natural": "^0.6.1", "redis": "^2.8.0", From efee24bc9e4c464830eb4e55e5f77a08522d3cff Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Fri, 17 May 2019 16:50:42 -0700 Subject: [PATCH 294/588] build: updated kokoro config for coverage and release-please (#382) --- .../protos/google/cloud/vision/v1/product_search.proto | 5 +++-- .../google/cloud/vision/v1/product_search_service.proto | 4 +++- .../google/cloud/vision/v1p4beta1/product_search.proto | 6 ++++-- .../cloud/vision/v1p4beta1/product_search_service.proto | 4 +++- .../v1/doc/google/cloud/vision/v1/doc_product_search.js | 5 +++-- .../google/cloud/vision/v1/doc_product_search_service.js | 4 +++- .../google/cloud/vision/v1p4beta1/doc_product_search.js | 6 ++++-- .../cloud/vision/v1p4beta1/doc_product_search_service.js | 4 +++- packages/google-cloud-vision/synth.metadata | 8 ++++---- 9 files changed, 30 insertions(+), 16 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 74c0b188a6f..8e096fd232a 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -43,8 +43,9 @@ message ProductSearchParams { string product_set = 6; // The list of product categories to search in. Currently, we only consider - // the first category, and either "homegoods", "apparel", or "toys" should be - // specified. + // the first category, and either "homegoods-v2", "apparel-v2", or "toys-v2" + // should be specified. The legacy categories "homegoods", "apparel", and + // "toys" are still supported, but these should not be used for new products. repeated string product_categories = 7; // The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index 9b62fac228f..ae36bf157e9 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -337,7 +337,9 @@ message Product { string description = 3; // The category for the product identified by the reference image. This should - // be either "homegoods", "apparel", or "toys". + // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories + // "homegoods", "apparel", and "toys" are still supported, but these should + // not be used for new products. // // This field is immutable. string product_category = 4; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto index 007804f3122..f006dd4613b 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto @@ -44,8 +44,10 @@ message ProductSearchParams { string product_set = 6; // The list of product categories to search in. Currently, we only consider - // the first category, and either "homegoods", "apparel", or "toys" should be - // specified. + // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", or + // "packagedgoods" should be specified. The legacy categories "homegoods", + // "apparel", and "toys" are still supported, but these should not be used for + // new products. repeated string product_categories = 7; // The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto index e3b23c7b301..74bd86bce54 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto @@ -355,7 +355,9 @@ message Product { string description = 3; // The category for the product identified by the reference image. This should - // be either "homegoods", "apparel", or "toys". + // be either "homegoods-v2", "apparel-v2", "toys-v2", or "packagedgoods". The + // legacy categories "homegoods", "apparel", and "toys" are still supported, + // but these should not be used for new products. // // This field is immutable. string product_category = 4; diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js index a260ff45d80..4153d0e2ae4 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -33,8 +33,9 @@ * * @property {string[]} productCategories * The list of product categories to search in. Currently, we only consider - * the first category, and either "homegoods", "apparel", or "toys" should be - * specified. + * the first category, and either "homegoods-v2", "apparel-v2", or "toys-v2" + * should be specified. The legacy categories "homegoods", "apparel", and + * "toys" are still supported, but these should not be used for new products. * * @property {string} filter * The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index c446ce5d250..5f7bae6db86 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -36,7 +36,9 @@ * * @property {string} productCategory * The category for the product identified by the reference image. This should - * be either "homegoods", "apparel", or "toys". + * be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories + * "homegoods", "apparel", and "toys" are still supported, but these should + * not be used for new products. * * This field is immutable. * diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js index 22a5252a220..d24df01e02d 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js @@ -34,8 +34,10 @@ * * @property {string[]} productCategories * The list of product categories to search in. Currently, we only consider - * the first category, and either "homegoods", "apparel", or "toys" should be - * specified. + * the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", or + * "packagedgoods" should be specified. The legacy categories "homegoods", + * "apparel", and "toys" are still supported, but these should not be used for + * new products. * * @property {string} filter * The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js index d54f9b368f6..44f877a9832 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js @@ -36,7 +36,9 @@ * * @property {string} productCategory * The category for the product identified by the reference image. This should - * be either "homegoods", "apparel", or "toys". + * be either "homegoods-v2", "apparel-v2", "toys-v2", or "packagedgoods". The + * legacy categories "homegoods", "apparel", and "toys" are still supported, + * but these should not be used for new products. * * This field is immutable. * diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 7e6b4a4878e..9be0c172873 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-05-11T11:27:59.720471Z", + "updateTime": "2019-05-17T19:55:45.296103Z", "sources": [ { "generator": { @@ -12,15 +12,15 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "32b08107fa1710f46287c17d5bb2016e443ed3ba", - "internalRef": "247684466" + "sha": "99efb1441b7c2aeb75c69f8baf9b61d4221bb744", + "internalRef": "248724297" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.5.2" + "version": "2019.4.10" } } ], From 31c2308223c22101d06594f7f4e374d6140086a8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 21 May 2019 08:21:08 -0700 Subject: [PATCH 295/588] refactor: drop dependency on lodash.merge and update links (#384) --- packages/google-cloud-vision/package.json | 1 - .../src/v1/image_annotator_client.js | 26 ++++----- .../src/v1/product_search_client.js | 58 +++++++++---------- .../src/v1p1beta1/image_annotator_client.js | 12 ++-- .../src/v1p2beta1/image_annotator_client.js | 18 +++--- .../src/v1p3beta1/image_annotator_client.js | 18 +++--- .../src/v1p3beta1/product_search_client.js | 58 +++++++++---------- .../src/v1p4beta1/image_annotator_client.js | 26 ++++----- .../src/v1p4beta1/product_search_client.js | 58 +++++++++---------- packages/google-cloud-vision/synth.metadata | 12 ++-- 10 files changed, 127 insertions(+), 160 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a5ea2d0d9c8..e70eb24a2be 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -45,7 +45,6 @@ "@google-cloud/promisify": "^1.0.0", "google-gax": "^1.0.0", "is": "^3.2.1", - "lodash.merge": "^4.6.1", "protobufjs": "^6.8.6" }, "devDependencies": { diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index c9bf6690c69..adbb78b3246 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -91,12 +90,9 @@ class ImageAnnotatorClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/vision/v1/image_annotator.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/vision/v1/image_annotator.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -248,7 +244,7 @@ class ImageAnnotatorClient { * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -303,7 +299,7 @@ class ImageAnnotatorClient { * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1.AnnotateFileRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -363,13 +359,13 @@ class ImageAnnotatorClient { * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example @@ -479,13 +475,13 @@ class ImageAnnotatorClient { * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1.AsyncAnnotateFileRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 559567bdd05..02277e71b38 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./product_search_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -104,12 +103,9 @@ class ProductSearchClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/vision/v1/product_search_service.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/vision/v1/product_search_service.proto'] ); // This API contains "path templates"; forward-slash-separated @@ -315,7 +311,7 @@ class ProductSearchClient { * long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -386,7 +382,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -499,7 +495,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet} on 'data' event. * @@ -545,7 +541,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -614,7 +610,7 @@ class ProductSearchClient { * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -673,7 +669,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -737,7 +733,7 @@ class ProductSearchClient { * long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -808,7 +804,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -922,7 +918,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. * @@ -968,7 +964,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1046,7 +1042,7 @@ class ProductSearchClient { * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1106,7 +1102,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1182,7 +1178,7 @@ class ProductSearchClient { * most 128 characters long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1250,7 +1246,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1310,7 +1306,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1424,7 +1420,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} on 'data' event. * @@ -1471,7 +1467,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1539,7 +1535,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1601,7 +1597,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1670,7 +1666,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1788,7 +1784,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. * @@ -1843,13 +1839,13 @@ class ProductSearchClient { * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1.ImportProductSetsInputConfig} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index d5118effe12..8cf03fcecd2 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const VERSION = require('../../package.json').version; @@ -90,12 +89,9 @@ class ImageAnnotatorClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/vision/v1p1beta1/image_annotator.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/vision/v1p1beta1/image_annotator.proto'] ); // Put together the default options sent with requests. @@ -189,7 +185,7 @@ class ImageAnnotatorClient { * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p1beta1.AnnotateImageRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 4030c8c9e59..c3382bb26b9 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -91,12 +90,9 @@ class ImageAnnotatorClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/vision/v1p2beta1/image_annotator.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/vision/v1p2beta1/image_annotator.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -231,7 +227,7 @@ class ImageAnnotatorClient { * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p2beta1.AnnotateImageRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -284,13 +280,13 @@ class ImageAnnotatorClient { * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 9074012e2d8..a891093d12c 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -91,12 +90,9 @@ class ImageAnnotatorClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/vision/v1p3beta1/image_annotator.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/vision/v1p3beta1/image_annotator.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -231,7 +227,7 @@ class ImageAnnotatorClient { * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p3beta1.AnnotateImageRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -284,13 +280,13 @@ class ImageAnnotatorClient { * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index cdbb2f2b3fe..3af16bad0c9 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./product_search_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -106,12 +105,9 @@ class ProductSearchClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/vision/v1p3beta1/product_search_service.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/vision/v1p3beta1/product_search_service.proto'] ); // This API contains "path templates"; forward-slash-separated @@ -317,7 +313,7 @@ class ProductSearchClient { * long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -390,7 +386,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -503,7 +499,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} on 'data' event. * @@ -549,7 +545,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -618,7 +614,7 @@ class ProductSearchClient { * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -686,7 +682,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -750,7 +746,7 @@ class ProductSearchClient { * long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -823,7 +819,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -937,7 +933,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. * @@ -983,7 +979,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1060,7 +1056,7 @@ class ProductSearchClient { * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1129,7 +1125,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1205,7 +1201,7 @@ class ProductSearchClient { * most 128 characters long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1279,7 +1275,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1339,7 +1335,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1453,7 +1449,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} on 'data' event. * @@ -1500,7 +1496,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1568,7 +1564,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1634,7 +1630,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1703,7 +1699,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1821,7 +1817,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. * @@ -1876,13 +1872,13 @@ class ProductSearchClient { * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index d6f94ee808a..279a22e38da 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -91,12 +90,9 @@ class ImageAnnotatorClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/vision/v1p4beta1/image_annotator.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/vision/v1p4beta1/image_annotator.proto'] ); let protoFilesRoot = new gax.GoogleProtoFilesRoot(); protoFilesRoot = protobuf.loadSync( @@ -248,7 +244,7 @@ class ImageAnnotatorClient { * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -302,7 +298,7 @@ class ImageAnnotatorClient { * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AnnotateFileRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -362,13 +358,13 @@ class ImageAnnotatorClient { * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example @@ -478,13 +474,13 @@ class ImageAnnotatorClient { * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index bebb7d45b2b..0dc8b7dde13 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -16,7 +16,6 @@ const gapicConfig = require('./product_search_client_config.json'); const gax = require('google-gax'); -const merge = require('lodash.merge'); const path = require('path'); const protobuf = require('protobufjs'); @@ -106,12 +105,9 @@ class ProductSearchClient { } // Load the applicable protos. - const protos = merge( - {}, - gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - 'google/cloud/vision/v1p4beta1/product_search_service.proto' - ) + const protos = gaxGrpc.loadProto( + path.join(__dirname, '..', '..', 'protos'), + ['google/cloud/vision/v1p4beta1/product_search_service.proto'] ); // This API contains "path templates"; forward-slash-separated @@ -317,7 +313,7 @@ class ProductSearchClient { * long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -390,7 +386,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -503,7 +499,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} on 'data' event. * @@ -549,7 +545,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -618,7 +614,7 @@ class ProductSearchClient { * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -686,7 +682,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -750,7 +746,7 @@ class ProductSearchClient { * long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -823,7 +819,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -937,7 +933,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. * @@ -983,7 +979,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1061,7 +1057,7 @@ class ProductSearchClient { * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1130,7 +1126,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1206,7 +1202,7 @@ class ProductSearchClient { * most 128 characters long. It cannot contain the character `/`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1280,7 +1276,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1340,7 +1336,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1454,7 +1450,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} on 'data' event. * @@ -1501,7 +1497,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1569,7 +1565,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1635,7 +1631,7 @@ class ProductSearchClient { * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error)} [callback] * The function which will be called with the result of the API call. * @returns {Promise} - The promise which resolves when API call finishes. @@ -1704,7 +1700,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] * The function which will be called with the result of the API call. * @@ -1822,7 +1818,7 @@ class ProductSearchClient { * resources in a page. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. * @@ -1877,13 +1873,13 @@ class ProductSearchClient { * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} for the details. + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. * @param {function(?Error, ?Object)} [callback] * The function which will be called with the result of the API call. * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/Operation} object. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. * The promise has a method named "cancel" which cancels the ongoing API call. * * @example diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 9be0c172873..b0fa838be45 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-05-17T19:55:45.296103Z", + "updateTime": "2019-05-21T11:30:34.000955Z", "sources": [ { "generator": { "name": "artman", - "version": "0.19.0", - "dockerImage": "googleapis/artman@sha256:d3df563538225ac6caac45d8ad86499500211d1bcb2536955a6dbda15e1b368e" + "version": "0.20.0", + "dockerImage": "googleapis/artman@sha256:3246adac900f4bdbd62920e80de2e5877380e44036b3feae13667ec255ebf5ec" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "99efb1441b7c2aeb75c69f8baf9b61d4221bb744", - "internalRef": "248724297" + "sha": "32a10f69e2c9ce15bba13ab1ff928bacebb25160", + "internalRef": "249058354" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.4.10" + "version": "2019.5.2" } } ], From e7571233e555be662bb736baad3604f8a4ab4bdf Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 23 May 2019 02:40:07 +0000 Subject: [PATCH 296/588] chore: use published jsdoc-baseline package (#385) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index e70eb24a2be..8d2feadcad9 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -55,7 +55,7 @@ "eslint-config-prettier": "^4.0.0", "eslint-plugin-node": "^9.0.0", "eslint-plugin-prettier": "^3.0.0", - "jsdoc-baseline": "git+https://github.com/hegemonic/jsdoc-baseline.git", + "jsdoc-baseline": "^0.1.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", "mocha": "^6.0.0", From 45e6ecccfddef71db179303d01f9c1414e7f7f2a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 28 May 2019 11:13:38 -0700 Subject: [PATCH 297/588] docs: expand documentation on product descriptions (#387) --- .../protos/google/cloud/vision/v1/product_search.proto | 5 ++++- .../cloud/vision/v1/product_search_service.proto | 6 ++++-- .../google/cloud/vision/v1p4beta1/product_search.proto | 8 +++++--- .../vision/v1p4beta1/product_search_service.proto | 9 ++++++--- .../doc/google/cloud/vision/v1/doc_product_search.js | 5 ++++- .../cloud/vision/v1/doc_product_search_service.js | 6 ++++-- .../cloud/vision/v1p4beta1/doc_product_search.js | 8 +++++--- .../vision/v1p4beta1/doc_product_search_service.js | 9 ++++++--- packages/google-cloud-vision/synth.metadata | 10 +++++----- 9 files changed, 43 insertions(+), 23 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 8e096fd232a..9d981ff7796 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -45,7 +45,10 @@ message ProductSearchParams { // The list of product categories to search in. Currently, we only consider // the first category, and either "homegoods-v2", "apparel-v2", or "toys-v2" // should be specified. The legacy categories "homegoods", "apparel", and - // "toys" are still supported, but these should not be used for new products. + // "toys" are still supported but will be deprecated. For new products, please + // use "homegoods-v2", "apparel-v2", or "toys-v2" for better product search + // accuracy. It is recommended to migrate existing products to these + // categories as well. repeated string product_categories = 7; // The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index ae36bf157e9..5b36591c2e9 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -338,8 +338,10 @@ message Product { // The category for the product identified by the reference image. This should // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories - // "homegoods", "apparel", and "toys" are still supported, but these should - // not be used for new products. + // "homegoods", "apparel", and "toys" are still supported but will be + // deprecated. For new products, please use "homegoods-v2", "apparel-v2", or + // "toys-v2" for better product search accuracy. It is recommended to migrate + // existing products to these categories as well. // // This field is immutable. string product_category = 4; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto index f006dd4613b..1caf30194f5 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto @@ -45,9 +45,11 @@ message ProductSearchParams { // The list of product categories to search in. Currently, we only consider // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", or - // "packagedgoods" should be specified. The legacy categories "homegoods", - // "apparel", and "toys" are still supported, but these should not be used for - // new products. + // "packagedgoods-v1" should be specified. The legacy categories "homegoods", + // "apparel", and "toys" are still supported but will be deprecated. For new + // products, please use "homegoods-v2", "apparel-v2", or "toys-v2" for better + // product search accuracy. It is recommended to migrate existing products to + // these categories as well. repeated string product_categories = 7; // The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto index 74bd86bce54..3cbc53573f1 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto @@ -355,9 +355,12 @@ message Product { string description = 3; // The category for the product identified by the reference image. This should - // be either "homegoods-v2", "apparel-v2", "toys-v2", or "packagedgoods". The - // legacy categories "homegoods", "apparel", and "toys" are still supported, - // but these should not be used for new products. + // be either "homegoods-v2", "apparel-v2", "toys-v2", or "packagedgoods-v1". + // The legacy categories "homegoods", "apparel", and "toys" are still + // supported but will be deprecated. For new products, please use + // "homegoods-v2", "apparel-v2", or "toys-v2" for better product search + // accuracy. It is recommended to migrate existing products to these + // categories as well. // // This field is immutable. string product_category = 4; diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js index 4153d0e2ae4..6585594183b 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -35,7 +35,10 @@ * The list of product categories to search in. Currently, we only consider * the first category, and either "homegoods-v2", "apparel-v2", or "toys-v2" * should be specified. The legacy categories "homegoods", "apparel", and - * "toys" are still supported, but these should not be used for new products. + * "toys" are still supported but will be deprecated. For new products, please + * use "homegoods-v2", "apparel-v2", or "toys-v2" for better product search + * accuracy. It is recommended to migrate existing products to these + * categories as well. * * @property {string} filter * The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index 5f7bae6db86..8ce2c8fcdce 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -37,8 +37,10 @@ * @property {string} productCategory * The category for the product identified by the reference image. This should * be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories - * "homegoods", "apparel", and "toys" are still supported, but these should - * not be used for new products. + * "homegoods", "apparel", and "toys" are still supported but will be + * deprecated. For new products, please use "homegoods-v2", "apparel-v2", or + * "toys-v2" for better product search accuracy. It is recommended to migrate + * existing products to these categories as well. * * This field is immutable. * diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js index d24df01e02d..4c64089b693 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js @@ -35,9 +35,11 @@ * @property {string[]} productCategories * The list of product categories to search in. Currently, we only consider * the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", or - * "packagedgoods" should be specified. The legacy categories "homegoods", - * "apparel", and "toys" are still supported, but these should not be used for - * new products. + * "packagedgoods-v1" should be specified. The legacy categories "homegoods", + * "apparel", and "toys" are still supported but will be deprecated. For new + * products, please use "homegoods-v2", "apparel-v2", or "toys-v2" for better + * product search accuracy. It is recommended to migrate existing products to + * these categories as well. * * @property {string} filter * The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js index 44f877a9832..636dc9077ee 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js @@ -36,9 +36,12 @@ * * @property {string} productCategory * The category for the product identified by the reference image. This should - * be either "homegoods-v2", "apparel-v2", "toys-v2", or "packagedgoods". The - * legacy categories "homegoods", "apparel", and "toys" are still supported, - * but these should not be used for new products. + * be either "homegoods-v2", "apparel-v2", "toys-v2", or "packagedgoods-v1". + * The legacy categories "homegoods", "apparel", and "toys" are still + * supported but will be deprecated. For new products, please use + * "homegoods-v2", "apparel-v2", or "toys-v2" for better product search + * accuracy. It is recommended to migrate existing products to these + * categories as well. * * This field is immutable. * diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index b0fa838be45..32ae9f2e039 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-05-21T11:30:34.000955Z", + "updateTime": "2019-05-25T11:24:39.958552Z", "sources": [ { "generator": { "name": "artman", - "version": "0.20.0", - "dockerImage": "googleapis/artman@sha256:3246adac900f4bdbd62920e80de2e5877380e44036b3feae13667ec255ebf5ec" + "version": "0.21.0", + "dockerImage": "googleapis/artman@sha256:28d4271586772b275cd3bc95cb46bd227a24d3c9048de45dccdb7f3afb0bfba9" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "32a10f69e2c9ce15bba13ab1ff928bacebb25160", - "internalRef": "249058354" + "sha": "7ca19138ccebe219a67be2245200e821b3e32123", + "internalRef": "249916728" } }, { From 4cd112957b58488ea178eb1dc9f786ec6346e80c Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 28 May 2019 20:41:17 +0000 Subject: [PATCH 298/588] build: ignore proto files in test coverage (#388) --- packages/google-cloud-vision/.nycrc | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-vision/.nycrc b/packages/google-cloud-vision/.nycrc index bfe4073a6ab..83a421a0628 100644 --- a/packages/google-cloud-vision/.nycrc +++ b/packages/google-cloud-vision/.nycrc @@ -10,6 +10,7 @@ "**/samples", "**/scripts", "**/src/**/v*/**/*.js", + "**/protos", "**/test", ".jsdoc.js", "**/.jsdoc.js", From 5c1ae7b4f0e6a99b32033d340e63512b18a19994 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 29 May 2019 00:59:55 +0000 Subject: [PATCH 299/588] build: use repo metadata to generate the readme (#389) --- .../.cloud-repo-tools.json | 23 --- packages/google-cloud-vision/.gitignore | 3 +- .../google-cloud-vision/.repo-metadata.json | 13 ++ packages/google-cloud-vision/README.md | 75 ++++--- packages/google-cloud-vision/package.json | 5 +- .../google-cloud-vision/samples/README.md | 192 +++++++----------- packages/google-cloud-vision/synth.metadata | 6 +- 7 files changed, 140 insertions(+), 177 deletions(-) delete mode 100644 packages/google-cloud-vision/.cloud-repo-tools.json create mode 100644 packages/google-cloud-vision/.repo-metadata.json diff --git a/packages/google-cloud-vision/.cloud-repo-tools.json b/packages/google-cloud-vision/.cloud-repo-tools.json deleted file mode 100644 index 0244ee6c2cd..00000000000 --- a/packages/google-cloud-vision/.cloud-repo-tools.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "requiresKeyFile": true, - "requiresProjectId": true, - "product": "vision", - "client_reference_url": "https://cloud.google.com/nodejs/docs/reference/vision/latest/", - "release_quality": "beta", - "samples": [ - { - "id": "detect", - "name": "Detection samples", - "file": "detect.js", - "docs_link": "https://cloud.google.com/vision/docs", - "usage": "node detect.js --help" - }, - { - "id": "detect.v1p1beta1.js", - "name": "Detection samples for Beta API", - "file": "detect.v1p1beta1.js", - "docs_link": "https://cloud.google.com/vision/docs", - "usage": "node detect.v1p1beta1.js --help" - } - ] -} diff --git a/packages/google-cloud-vision/.gitignore b/packages/google-cloud-vision/.gitignore index f40aeaa680a..23cb08fcba9 100644 --- a/packages/google-cloud-vision/.gitignore +++ b/packages/google-cloud-vision/.gitignore @@ -9,7 +9,6 @@ system-test/secrets.js system-test/*key.json *.lock .DS_Store -google-cloud-logging-winston-*.tgz -google-cloud-logging-bunyan-*.tgz +__pycache__ package-lock.json .vscode diff --git a/packages/google-cloud-vision/.repo-metadata.json b/packages/google-cloud-vision/.repo-metadata.json new file mode 100644 index 00000000000..d8cf50edb17 --- /dev/null +++ b/packages/google-cloud-vision/.repo-metadata.json @@ -0,0 +1,13 @@ +{ + "name": "vision", + "name_pretty": "Google Cloud Vision API", + "product_documentation": "https://cloud.google.com/vision", + "client_documentation": "https://cloud.google.com/nodejs/docs/reference/vision/latest/", + "issue_tracker": "https://issuetracker.google.com/savedsearches/559765", + "release_level": "beta", + "language": "nodejs", + "repo": "googleapis/nodejs-vision", + "distribution_name": "@google-cloud/vision", + "api_id": "vision.googleapis.com", + "requires_billing": true +} diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index b4e452079fd..1d7c22332a9 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -1,38 +1,58 @@ [//]: # "This README.md file is auto-generated, all changes to this file will be lost." -[//]: # "To regenerate it, use `npm run generate-scaffolding`." +[//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo # [Google Cloud Vision API: Node.js Client](https://github.com/googleapis/nodejs-vision) -[![release level](https://img.shields.io/badge/release%20level-beta-yellow.svg?style=flat)](https://cloud.google.com/terms/launch-stages) +[![release level](https://img.shields.io/badge/release%20level-beta-yellow.svg?style=flat)](https://cloud.google.com/terms/launch-stages) [![npm version](https://img.shields.io/npm/v/@google-cloud/vision.svg)](https://www.npmjs.org/package/@google-cloud/vision) [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-vision/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-vision) -The [Cloud Vision API](https://cloud.google.com/vision/docs) allows developers to easily integrate vision detection features within applications, including image labeling, face and landmark detection, optical character recognition (OCR), and tagging of explicit content. -* [Using the client library](#using-the-client-library) + +Google Cloud Vision API client for Node.js + + +* [Google Cloud Vision API Node.js Client API Reference][client-docs] +* [Google Cloud Vision API Documentation][product-docs] +* [github.com/googleapis/nodejs-vision](https://github.com/googleapis/nodejs-vision) + +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) -## Using the client library +## Quickstart -1. [Select or create a Cloud Platform project][projects]. +### Before you begin +1. [Select or create a Cloud Platform project][projects]. 1. [Enable billing for your project][billing]. - 1. [Enable the Google Cloud Vision API API][enable_api]. - 1. [Set up authentication with a service account][auth] so you can access the API from your local workstation. -1. Install the client library: +### Installing the client library + +```bash +npm install @google-cloud/vision +``` - npm install --save @google-cloud/vision -1. Try an example: +### Using the client library ```javascript async function quickstart() { @@ -48,8 +68,11 @@ async function quickstart() { console.log('Labels:'); labels.forEach(label => console.log(label.description)); } + ``` + + ## Samples Samples are in the [`samples/`](https://github.com/googleapis/nodejs-vision/tree/master/samples) directory. The samples' `README.md` @@ -57,21 +80,30 @@ has instructions for running the samples. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | -| Detection samples | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) | -| Detection samples for Beta API | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p1beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) | +| Detect | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) | +| Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | +| Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | + + -The [Vision API Node.js Client API Reference][client-docs] documentation +The [Google Cloud Vision API Node.js Client API Reference][client-docs] documentation also contains samples. ## Versioning This library follows [Semantic Versioning](http://semver.org/). + + This library is considered to be in **beta**. This means it is expected to be mostly stable while we work toward a general availability release; however, complete stability is not guaranteed. We will address issues and requests against beta libraries with a high priority. + + + More Information: [Google Cloud Platform Launch Stages][launch_stages] [launch_stages]: https://cloud.google.com/terms/launch-stages @@ -86,21 +118,10 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) -## What's Next - -* [Vision API Documentation][product-docs] -* [Vision API Node.js Client API Reference][client-docs] -* [github.com/googleapis/nodejs-vision](https://github.com/googleapis/nodejs-vision) - -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 - [client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest/ -[product-docs]: https://cloud.google.com/vision/docs +[product-docs]: https://cloud.google.com/vision [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=vision.googleapis.com -[auth]: https://cloud.google.com/docs/authentication/getting-started +[auth]: https://cloud.google.com/docs/authentication/getting-started \ No newline at end of file diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 8d2feadcad9..14238cb921f 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -29,14 +29,12 @@ "Google Cloud Vision API" ], "scripts": { - "cover": "nyc --reporter=lcov mocha test/*.js && nyc report", "docs": "jsdoc -c .jsdoc.js", - "generate-scaffolding": "repo-tools generate all && repo-tools generate lib_samples_readme -l samples/ --config ../.cloud-repo-tools.json", "lint": "eslint '**/*.js'", "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", "system-test": "mocha system-test/*.js smoke-test/*.js --timeout 600000", "test-no-cover": "mocha test/*.js", - "test": "npm run cover", + "test": "nyc mocha", "fix": "eslint --fix '**/*.js'", "docs-test": "linkinator docs -r --skip www.googleapis.com", "predocs-test": "npm run docs" @@ -48,7 +46,6 @@ "protobufjs": "^6.8.6" }, "devDependencies": { - "@google-cloud/nodejs-repo-tools": "^3.0.0", "@google-cloud/storage": "^2.0.0", "codecov": "^3.0.2", "eslint": "^5.0.1", diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index d003e11471f..cb32cb0db67 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -1,142 +1,98 @@ [//]: # "This README.md file is auto-generated, all changes to this file will be lost." -[//]: # "To regenerate it, use `npm run generate-scaffolding`." +[//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo -# Google Cloud Vision API: Node.js Samples +# [Google Cloud Vision API: Node.js Samples](https://github.com/googleapis/nodejs-vision) [![Open in Cloud Shell][shell_img]][shell_link] -The [Cloud Vision API](https://cloud.google.com/vision/docs) allows developers to easily integrate vision detection features within applications, including image labeling, face and landmark detection, optical character recognition (OCR), and tagging of explicit content. + ## Table of Contents * [Before you begin](#before-you-begin) * [Samples](#samples) - * [Detection samples](#detection-samples) - * [Detection samples for Beta API](#detection-samples-for-beta-api) + * [Detect](#detect) + * [Face Detection](#face-detection) + * [Quickstart](#quickstart) + * [Text Detection](#text-detection) ## Before you begin -Before running the samples, make sure you've followed the steps in the -[Before you begin section](../README.md#before-you-begin) of the client -library's README. +Before running the samples, make sure you've followed the steps outlined in +[Using the client library](https://github.com/googleapis/nodejs-vision#using-the-client-library). ## Samples -### Detection samples -View the [source code][detect_0_code]. + +### Detect + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) -__Usage:__ `node detect.js --help` - -``` -detect.js - -Commands: - detect.js faces Detects faces in a local image file. - detect.js faces-gcs Detects faces in an image in Google Cloud Storage. - detect.js labels Detects labels in a local image file. - detect.js labels-gcs Detects labels in an image in Google Cloud Storage. - detect.js landmarks Detects landmarks in a local image file. - detect.js landmarks-gcs Detects landmarks in an image in Google Cloud Storage. - detect.js text Detects text in a local image file. - detect.js text-gcs Detects text in an image in Google Cloud Storage. - detect.js logos Detects logos in a local image file. - detect.js logos-gcs Detects logos in an image in Google Cloud Storage. - detect.js properties Detects image properties in a local image file. - detect.js properties-gcs Detects image properties in an image in Google Cloud Storage. - detect.js safe-search Detects safe search properties in a local image file. - detect.js safe-search-gcs Detects safe search properties in an image in Google Cloud Storage. - detect.js crops Detects crop hints in a local image file. - detect.js crops-gcs Detects crop hints in an image in Google Cloud Storage. - detect.js web Finds similar photos on the web for a local image file. - detect.js web-gcs Finds similar photos on the web for an image in Google Cloud - Storage. - detect.js web-geo Detects web entities with improved results using geographic - metadata - detect.js web-geo-gcs Detects web entities with improved results using geographic - metadata - detect.js fulltext Extracts full text from a local image file. - detect.js fulltext-gcs Extracts full text from an image in Google Cloud Storage. - detect.js pdf Extracts full text from a pdf file - detect.js localize-objects Detects Objects in a local image file - detect.js localize-objects-gcs Detects Objects Google Cloud Storage Bucket - -Options: - --version Show version number [boolean] - --help Show help [boolean] - -Examples: - node detect.js faces ./resources/face_no_surprise.jpg - node detect.js faces-gcs my-bucket your-image.jpg - node detect.js labels ./resources/wakeupcat.jpg - node detect.js labels-gcs my-bucket your-image.jpg - node detect.js landmarks ./resources/landmark.jpg - node detect.js landmarks-gcs my-bucket your-image.jpg - node detect.js text ./resources/wakeupcat.jpg - node detect.js text-gcs my-bucket your-image.jpg - node detect.js logos ./resources/logos.png - node detect.js logos-gcs my-bucket your-image.jpg.png - node detect.js properties ./resources/landmark.jpg - node detect.js properties-gcs my-bucket your-image.jpg - node detect.js safe-search ./resources/wakeupcat.jpg - node detect.js safe-search-gcs my-bucket your-image.jpg - node detect.js crops ./resources/wakeupcat.jpg - node detect.js crops-gcs my-bucket your-image.jpg - node detect.js web ./resources/wakeupcat.jpg - node detect.js web-gcs my-bucket your-image.jpg - node detect.js web-geo ./resources/city.jpg - node detect.js web-geo-gcs my-bucket your-image.jpg - node detect.js fulltext ./resources/wakeupcat.jpg - node detect.js fulltext-gcs my-bucket your-image.jpg - node detect.js pdf my-bucket my-pdf.pdf - node detect.js localize-objects ./resources/duck_and_truck.jpg - node detect.js localize-objects-gcs gs://bucket/bucketImage.png - node batch_annotate_files.js my-pdf.pdf - node batch_annotate_files_gcs.js my-pdf.pdf - node async_batch_annotate_images.js gs://bucket/bucketImage.png gs://bucket/out - -For more information, see https://cloud.google.com/vision/docs -``` - -[detect_0_docs]: https://cloud.google.com/vision/docs -[detect_0_code]: detect.js - -### Detection samples for Beta API - -View the [source code][detect.v1p1beta1.js_1_code]. - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) - -__Usage:__ `node detect.v1p1beta1.js --help` - -``` -detect.v1p1beta1.js - -Commands: - detect.v1p1beta1.js web-entities-geo Detects web entities with improved results using geographic metadata - detect.v1p1beta1.js safe-search Detects safe search properties including additional racy category - detect.v1p1beta1.js web Detects web entities including new best guess labels describing - content - detect.v1p1beta1.js fulltext Extracts full text from an image file including new confidence scores - -Options: - --version Show version number [boolean] - --help Show help [boolean] - -Examples: - node detect.v1p1beta1.js safe-search ./resources/wakeupcat.jpg - node detect.v1p1beta1.js web-entities-geo ./resources/city.jpg - node detect.v1p1beta1.js web ./resources/wakeupcat.jpg - node detect.v1p1beta1.js fulltext ./resources/wakeupcat.jpg - -For more information, see https://cloud.google.com/vision/docs -``` - -[detect.v1p1beta1.js_1_docs]: https://cloud.google.com/vision/docs -[detect.v1p1beta1.js_1_code]: detect.v1p1beta1.js +__Usage:__ + + +`node detect.js` + + +----- + + + + +### Face Detection + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) + +__Usage:__ + + +`node faceDetection.js` + + +----- + + + + +### Quickstart + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) + +__Usage:__ + + +`node quickstart.js` + + +----- + + + + +### Text Detection + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) + +__Usage:__ + + +`node textDetection.js` + + + + + [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/README.md +[product-docs]: https://cloud.google.com/vision \ No newline at end of file diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 32ae9f2e039..958fb35c1c2 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-05-25T11:24:39.958552Z", + "updateTime": "2019-05-28T23:46:31.467800Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "7ca19138ccebe219a67be2245200e821b3e32123", - "internalRef": "249916728" + "sha": "8f6588f68e1f3fc2f6cbb47d12565f9b81926d42", + "internalRef": "250373427" } }, { From 7b3ccf4b983f8afd38ced0b90e7564c5f898ee17 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 5 Jun 2019 09:31:22 -0700 Subject: [PATCH 300/588] feat: support apiEndpoint override in client constructor (#393) --- .../src/v1/image_annotator_client.js | 14 ++++++- .../src/v1/product_search_client.js | 14 ++++++- .../src/v1p1beta1/image_annotator_client.js | 14 ++++++- .../src/v1p2beta1/image_annotator_client.js | 14 ++++++- .../src/v1p3beta1/image_annotator_client.js | 14 ++++++- .../src/v1p3beta1/product_search_client.js | 14 ++++++- .../src/v1p4beta1/image_annotator_client.js | 14 ++++++- .../src/v1p4beta1/product_search_client.js | 14 ++++++- packages/google-cloud-vision/synth.metadata | 10 ++--- packages/google-cloud-vision/test/gapic-v1.js | 42 +++++++++++++++++++ .../test/gapic-v1p1beta1.js | 21 ++++++++++ .../test/gapic-v1p2beta1.js | 21 ++++++++++ .../test/gapic-v1p3beta1.js | 42 +++++++++++++++++++ .../test/gapic-v1p4beta1.js | 42 +++++++++++++++++++ 14 files changed, 277 insertions(+), 13 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index adbb78b3246..14c698fda69 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -58,14 +58,18 @@ class ImageAnnotatorClient { * API remote host. */ constructor(opts) { + opts = opts || {}; this._descriptors = {}; + const servicePath = + opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; + // Ensure that options include the service address and port. opts = Object.assign( { clientConfig: {}, port: this.constructor.port, - servicePath: this.constructor.servicePath, + servicePath, }, opts ); @@ -202,6 +206,14 @@ class ImageAnnotatorClient { return 'vision.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 02277e71b38..8eec02db945 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -71,14 +71,18 @@ class ProductSearchClient { * API remote host. */ constructor(opts) { + opts = opts || {}; this._descriptors = {}; + const servicePath = + opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; + // Ensure that options include the service address and port. opts = Object.assign( { clientConfig: {}, port: this.constructor.port, - servicePath: this.constructor.servicePath, + servicePath, }, opts ); @@ -255,6 +259,14 @@ class ProductSearchClient { return 'vision.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 8cf03fcecd2..98419013e7f 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -57,14 +57,18 @@ class ImageAnnotatorClient { * API remote host. */ constructor(opts) { + opts = opts || {}; this._descriptors = {}; + const servicePath = + opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; + // Ensure that options include the service address and port. opts = Object.assign( { clientConfig: {}, port: this.constructor.port, - servicePath: this.constructor.servicePath, + servicePath, }, opts ); @@ -143,6 +147,14 @@ class ImageAnnotatorClient { return 'vision.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index c3382bb26b9..a03bd61cbca 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -58,14 +58,18 @@ class ImageAnnotatorClient { * API remote host. */ constructor(opts) { + opts = opts || {}; this._descriptors = {}; + const servicePath = + opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; + // Ensure that options include the service address and port. opts = Object.assign( { clientConfig: {}, port: this.constructor.port, - servicePath: this.constructor.servicePath, + servicePath, }, opts ); @@ -185,6 +189,14 @@ class ImageAnnotatorClient { return 'vision.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index a891093d12c..4af89f0432e 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -58,14 +58,18 @@ class ImageAnnotatorClient { * API remote host. */ constructor(opts) { + opts = opts || {}; this._descriptors = {}; + const servicePath = + opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; + // Ensure that options include the service address and port. opts = Object.assign( { clientConfig: {}, port: this.constructor.port, - servicePath: this.constructor.servicePath, + servicePath, }, opts ); @@ -185,6 +189,14 @@ class ImageAnnotatorClient { return 'vision.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 3af16bad0c9..924609b3126 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -73,14 +73,18 @@ class ProductSearchClient { * API remote host. */ constructor(opts) { + opts = opts || {}; this._descriptors = {}; + const servicePath = + opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; + // Ensure that options include the service address and port. opts = Object.assign( { clientConfig: {}, port: this.constructor.port, - servicePath: this.constructor.servicePath, + servicePath, }, opts ); @@ -257,6 +261,14 @@ class ProductSearchClient { return 'vision.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index 279a22e38da..8b0586c3412 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -58,14 +58,18 @@ class ImageAnnotatorClient { * API remote host. */ constructor(opts) { + opts = opts || {}; this._descriptors = {}; + const servicePath = + opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; + // Ensure that options include the service address and port. opts = Object.assign( { clientConfig: {}, port: this.constructor.port, - servicePath: this.constructor.servicePath, + servicePath, }, opts ); @@ -202,6 +206,14 @@ class ImageAnnotatorClient { return 'vision.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index 0dc8b7dde13..fc12ccf7f67 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -73,14 +73,18 @@ class ProductSearchClient { * API remote host. */ constructor(opts) { + opts = opts || {}; this._descriptors = {}; + const servicePath = + opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; + // Ensure that options include the service address and port. opts = Object.assign( { clientConfig: {}, port: this.constructor.port, - servicePath: this.constructor.servicePath, + servicePath, }, opts ); @@ -257,6 +261,14 @@ class ProductSearchClient { return 'vision.googleapis.com'; } + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + /** * The port for this API service. */ diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 958fb35c1c2..d278753a020 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-05-28T23:46:31.467800Z", + "updateTime": "2019-06-05T14:31:18.354995Z", "sources": [ { "generator": { "name": "artman", - "version": "0.21.0", - "dockerImage": "googleapis/artman@sha256:28d4271586772b275cd3bc95cb46bd227a24d3c9048de45dccdb7f3afb0bfba9" + "version": "0.23.1", + "dockerImage": "googleapis/artman@sha256:9d5cae1454da64ac3a87028f8ef486b04889e351c83bb95e83b8fab3959faed0" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "8f6588f68e1f3fc2f6cbb47d12565f9b81926d42", - "internalRef": "250373427" + "sha": "47c142a7cecc6efc9f6f8af804b8be55392b795b", + "internalRef": "251635729" } }, { diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index cb49a4fbb4a..d414988df8a 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -23,6 +23,27 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = visionModule.v1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = visionModule.v1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = visionModule.v1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new visionModule.v1.ImageAnnotatorClient(); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1.ImageAnnotatorClient({ @@ -318,6 +339,27 @@ describe('ImageAnnotatorClient', () => { }); }); describe('ProductSearchClient', () => { + it('has servicePath', () => { + const servicePath = visionModule.v1.ProductSearchClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = visionModule.v1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = visionModule.v1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new visionModule.v1.ProductSearchClient(); + assert(client); + }); + describe('createProductSet', () => { it('invokes createProductSet without error', done => { const client = new visionModule.v1.ProductSearchClient({ diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js index 0040f90f835..e6bbc9924e4 100644 --- a/packages/google-cloud-vision/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p1beta1.js @@ -23,6 +23,27 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = visionModule.v1p1beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = visionModule.v1p1beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = visionModule.v1p1beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new visionModule.v1p1beta1.ImageAnnotatorClient(); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1p1beta1.ImageAnnotatorClient({ diff --git a/packages/google-cloud-vision/test/gapic-v1p2beta1.js b/packages/google-cloud-vision/test/gapic-v1p2beta1.js index 7bfceb661df..eca8d7f7d80 100644 --- a/packages/google-cloud-vision/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p2beta1.js @@ -23,6 +23,27 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = visionModule.v1p2beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = visionModule.v1p2beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = visionModule.v1p2beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new visionModule.v1p2beta1.ImageAnnotatorClient(); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ diff --git a/packages/google-cloud-vision/test/gapic-v1p3beta1.js b/packages/google-cloud-vision/test/gapic-v1p3beta1.js index bb7909b7c87..7ce712edc82 100644 --- a/packages/google-cloud-vision/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p3beta1.js @@ -23,6 +23,27 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('ProductSearchClient', () => { + it('has servicePath', () => { + const servicePath = visionModule.v1p3beta1.ProductSearchClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = visionModule.v1p3beta1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = visionModule.v1p3beta1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new visionModule.v1p3beta1.ProductSearchClient(); + assert(client); + }); + describe('createProductSet', () => { it('invokes createProductSet without error', done => { const client = new visionModule.v1p3beta1.ProductSearchClient({ @@ -1277,6 +1298,27 @@ describe('ProductSearchClient', () => { }); }); describe('ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = visionModule.v1p3beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = visionModule.v1p3beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = visionModule.v1p3beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new visionModule.v1p3beta1.ImageAnnotatorClient(); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ diff --git a/packages/google-cloud-vision/test/gapic-v1p4beta1.js b/packages/google-cloud-vision/test/gapic-v1p4beta1.js index 566eb306fcb..40ae77333ac 100644 --- a/packages/google-cloud-vision/test/gapic-v1p4beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p4beta1.js @@ -23,6 +23,27 @@ const error = new Error(); error.code = FAKE_STATUS_CODE; describe('ProductSearchClient', () => { + it('has servicePath', () => { + const servicePath = visionModule.v1p4beta1.ProductSearchClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = visionModule.v1p4beta1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = visionModule.v1p4beta1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new visionModule.v1p4beta1.ProductSearchClient(); + assert(client); + }); + describe('createProductSet', () => { it('invokes createProductSet without error', done => { const client = new visionModule.v1p4beta1.ProductSearchClient({ @@ -1277,6 +1298,27 @@ describe('ProductSearchClient', () => { }); }); describe('ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = visionModule.v1p4beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = visionModule.v1p4beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = visionModule.v1p4beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no options', () => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient(); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ From 85c9e639483365bdf2dd62a789313741798d994f Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 5 Jun 2019 10:20:07 -0700 Subject: [PATCH 301/588] chore: release 1.1.0 (#394) * updated CHANGELOG.md * updated package.json * updated samples/package.json --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 697a374f59a..df0d9202ac8 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.1.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.0.0...v1.1.0) (2019-06-05) + + +### Features + +* support apiEndpoint override in client constructor ([#393](https://www.github.com/googleapis/nodejs-vision/issues/393)) ([7777275](https://www.github.com/googleapis/nodejs-vision/commit/7777275)) + ## [1.0.0](https://www.github.com/googleapis/nodejs-vision/compare/v0.25.0...v1.0.0) (2019-05-13) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 14238cb921f..d6a28609929 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.0.0", + "version": "1.1.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index db2106e4ad5..a8e7c7f89e6 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.0.0", + "@google-cloud/vision": "^1.1.0", "mathjs": "^5.0.4", "natural": "^0.6.1", "redis": "^2.8.0", From 3ed4277ebab827c9d7d7fa1ae69e98adfd6a0043 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 7 Jun 2019 07:14:06 -0700 Subject: [PATCH 302/588] refactor: changes formatting of various statements --- packages/google-cloud-vision/synth.metadata | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index d278753a020..fa644a02cca 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-06-05T14:31:18.354995Z", + "updateTime": "2019-06-07T11:27:21.248762Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "47c142a7cecc6efc9f6f8af804b8be55392b795b", - "internalRef": "251635729" + "sha": "15fdbe57306e3a56069af5e2595e9b1bb33b6123", + "internalRef": "251960694" } }, { From acb44f5e8a3beac839f2fd95f42958659813252d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" Date: Tue, 11 Jun 2019 11:47:47 -0400 Subject: [PATCH 303/588] fix(deps): update dependency mathjs to v6 (#399) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a8e7c7f89e6..24692176735 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@google-cloud/vision": "^1.1.0", - "mathjs": "^5.0.4", + "mathjs": "^6.0.0", "natural": "^0.6.1", "redis": "^2.8.0", "yargs": "^13.0.0", From e520a69f34d340392f14b4e56477c232896906e6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 11 Jun 2019 09:12:06 -0700 Subject: [PATCH 304/588] chore: release 1.1.1 (#400) * updated CHANGELOG.md * updated package.json * updated samples/package.json --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index df0d9202ac8..ac4c15f098b 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [1.1.1](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.0...v1.1.1) (2019-06-11) + + +### Bug Fixes + +* **deps:** update dependency mathjs to v6 ([#399](https://www.github.com/googleapis/nodejs-vision/issues/399)) ([6c37196](https://www.github.com/googleapis/nodejs-vision/commit/6c37196)) + ## [1.1.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.0.0...v1.1.0) (2019-06-05) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index d6a28609929..a44a6f24781 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.1.0", + "version": "1.1.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 24692176735..1b5c2452e7a 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.1.0", + "@google-cloud/vision": "^1.1.1", "mathjs": "^6.0.0", "natural": "^0.6.1", "redis": "^2.8.0", From 9046b7ccbda75e9406bf41f7256dab6efcf71604 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 12 Jun 2019 22:18:56 -0700 Subject: [PATCH 305/588] fix(docs): move to new client docs URL (#401) --- packages/google-cloud-vision/.repo-metadata.json | 4 ++-- packages/google-cloud-vision/README.md | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/.repo-metadata.json b/packages/google-cloud-vision/.repo-metadata.json index d8cf50edb17..54642195d75 100644 --- a/packages/google-cloud-vision/.repo-metadata.json +++ b/packages/google-cloud-vision/.repo-metadata.json @@ -2,7 +2,7 @@ "name": "vision", "name_pretty": "Google Cloud Vision API", "product_documentation": "https://cloud.google.com/vision", - "client_documentation": "https://cloud.google.com/nodejs/docs/reference/vision/latest/", + "client_documentation": "https://googleapis.dev/nodejs/vision/latest", "issue_tracker": "https://issuetracker.google.com/savedsearches/559765", "release_level": "beta", "language": "nodejs", @@ -10,4 +10,4 @@ "distribution_name": "@google-cloud/vision", "api_id": "vision.googleapis.com", "requires_billing": true -} +} \ No newline at end of file diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 1d7c22332a9..da6b4ca296c 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -81,6 +81,8 @@ has instructions for running the samples. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | | Detect | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) | +| Detect.v1p1beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p1beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) | +| Detect.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) | | Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | | Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | @@ -118,7 +120,7 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) -[client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest/ +[client-docs]: https://googleapis.dev/nodejs/vision/latest [product-docs]: https://cloud.google.com/vision [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [projects]: https://console.cloud.google.com/project From a784fdd663502e655dfb7a6a7e3296b7bce01534 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 13 Jun 2019 18:26:33 -0700 Subject: [PATCH 306/588] docs: add v1p1beta1 and v1p3beta1 samples to README (#398) --- .../google-cloud-vision/samples/README.md | 36 +++++++++++++++++++ packages/google-cloud-vision/synth.metadata | 10 +++--- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index cb32cb0db67..67a854b8bdb 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -13,6 +13,8 @@ * [Before you begin](#before-you-begin) * [Samples](#samples) * [Detect](#detect) + * [Detect.v1p1beta1](#detect.v1p1beta1) + * [Detect.v1p3beta1](#detect.v1p3beta1) * [Face Detection](#face-detection) * [Quickstart](#quickstart) * [Text Detection](#text-detection) @@ -43,6 +45,40 @@ __Usage:__ +### Detect.v1p1beta1 + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p1beta1.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) + +__Usage:__ + + +`node detect.v1p1beta1.js` + + +----- + + + + +### Detect.v1p3beta1 + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p3beta1.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) + +__Usage:__ + + +`node detect.v1p3beta1.js` + + +----- + + + + ### Face Detection View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js). diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index fa644a02cca..2a058bc6b59 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-07T11:27:21.248762Z", + "updateTime": "2019-06-11T11:27:24.776312Z", "sources": [ { "generator": { "name": "artman", - "version": "0.23.1", - "dockerImage": "googleapis/artman@sha256:9d5cae1454da64ac3a87028f8ef486b04889e351c83bb95e83b8fab3959faed0" + "version": "0.24.0", + "dockerImage": "googleapis/artman@sha256:ce425884865f57f18307e597bca1a74a3619b7098688d4995261f3ffb3488681" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "15fdbe57306e3a56069af5e2595e9b1bb33b6123", - "internalRef": "251960694" + "sha": "744feb9660b3194fcde37dea50038bde204f3573", + "internalRef": "252553801" } }, { From 1c44c3fe57f704433feb35bf060fdf33858f7dc7 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 14 Jun 2019 06:28:32 -0700 Subject: [PATCH 307/588] docs: update property types from string to Buffer (#403) --- .../doc/google/cloud/vision/v1/doc_image_annotator.js | 4 ++-- .../src/v1/doc/google/protobuf/doc_any.js | 2 +- .../cloud/vision/v1p1beta1/doc_image_annotator.js | 2 +- .../src/v1p1beta1/doc/google/protobuf/doc_any.js | 2 +- .../cloud/vision/v1p2beta1/doc_image_annotator.js | 2 +- .../src/v1p2beta1/doc/google/protobuf/doc_any.js | 2 +- .../cloud/vision/v1p3beta1/doc_image_annotator.js | 2 +- .../src/v1p3beta1/doc/google/protobuf/doc_any.js | 2 +- .../cloud/vision/v1p4beta1/doc_image_annotator.js | 4 ++-- .../src/v1p4beta1/doc/google/protobuf/doc_any.js | 2 +- packages/google-cloud-vision/synth.metadata | 10 +++++----- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index f6265ac901f..7b63d3bf037 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -162,7 +162,7 @@ const ImageSource = { /** * Client image to perform Google Cloud Vision API tasks over. * - * @property {string} content + * @property {Buffer} content * Image content, represented as a stream of bytes. * Note: As with all `bytes` fields, protobuffers use a pure binary * representation, whereas JSON representations use base64. @@ -1238,7 +1238,7 @@ const AsyncBatchAnnotateFilesResponse = { * * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1.GcsSource} * - * @property {string} content + * @property {Buffer} content * File content, represented as a stream of bytes. * Note: As with all `bytes` fields, protobuffers use a pure binary * representation, whereas JSON representations use base64. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js @@ -125,7 +125,7 @@ * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. * - * @property {string} value + * @property {Buffer} value * Must be a valid serialized protocol buffer of the above specified type. * * @typedef Any diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js index 5fdf8d18d8e..7d166cc0eaf 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js @@ -141,7 +141,7 @@ const ImageSource = { /** * Client image to perform Google Cloud Vision API tasks over. * - * @property {string} content + * @property {Buffer} content * Image content, represented as a stream of bytes. * Note: as with all `bytes` fields, protobuffers use a pure binary * representation, whereas JSON representations use base64. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js @@ -125,7 +125,7 @@ * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. * - * @property {string} value + * @property {Buffer} value * Must be a valid serialized protocol buffer of the above specified type. * * @typedef Any diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js index 36492a0da02..e476175036f 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js @@ -152,7 +152,7 @@ const ImageSource = { /** * Client image to perform Google Cloud Vision API tasks over. * - * @property {string} content + * @property {Buffer} content * Image content, represented as a stream of bytes. * Note: As with all `bytes` fields, protobuffers use a pure binary * representation, whereas JSON representations use base64. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js @@ -125,7 +125,7 @@ * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. * - * @property {string} value + * @property {Buffer} value * Must be a valid serialized protocol buffer of the above specified type. * * @typedef Any diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js index cf6f826d797..f12526409cc 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js @@ -162,7 +162,7 @@ const ImageSource = { /** * Client image to perform Google Cloud Vision API tasks over. * - * @property {string} content + * @property {Buffer} content * Image content, represented as a stream of bytes. * Note: As with all `bytes` fields, protobuffers use a pure binary * representation, whereas JSON representations use base64. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js @@ -125,7 +125,7 @@ * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. * - * @property {string} value + * @property {Buffer} value * Must be a valid serialized protocol buffer of the above specified type. * * @typedef Any diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js index 7faebb7bff4..7eae508b417 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js @@ -162,7 +162,7 @@ const ImageSource = { /** * Client image to perform Google Cloud Vision API tasks over. * - * @property {string} content + * @property {Buffer} content * Image content, represented as a stream of bytes. * Note: As with all `bytes` fields, protobuffers use a pure binary * representation, whereas JSON representations use base64. @@ -1238,7 +1238,7 @@ const AsyncBatchAnnotateFilesResponse = { * * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1p4beta1.GcsSource} * - * @property {string} content + * @property {Buffer} content * File content, represented as a stream of bytes. * Note: As with all `bytes` fields, protobuffers use a pure binary * representation, whereas JSON representations use base64. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js index 9ff5d007807..cdd2fc80e49 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js @@ -125,7 +125,7 @@ * Schemes other than `http`, `https` (or the empty scheme) might be * used with implementation specific semantics. * - * @property {string} value + * @property {Buffer} value * Must be a valid serialized protocol buffer of the above specified type. * * @typedef Any diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 2a058bc6b59..69a05b06dc9 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-11T11:27:24.776312Z", + "updateTime": "2019-06-14T11:26:40.802321Z", "sources": [ { "generator": { "name": "artman", - "version": "0.24.0", - "dockerImage": "googleapis/artman@sha256:ce425884865f57f18307e597bca1a74a3619b7098688d4995261f3ffb3488681" + "version": "0.25.0", + "dockerImage": "googleapis/artman@sha256:ef1a98ab1e2b8f05f4d9a56f27d63347aefe14020e5f2d585172b14ca76f1d90" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "744feb9660b3194fcde37dea50038bde204f3573", - "internalRef": "252553801" + "sha": "c23b68eecb00c4d285a730a49b1d7d943cd56183", + "internalRef": "253113405" } }, { From 630d770ca5b983f6e6ed96874ac5dad87ce4c0a7 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sat, 15 Jun 2019 20:50:37 -0700 Subject: [PATCH 308/588] chore: release 1.1.2 (#404) * updated CHANGELOG.md * updated package.json * updated samples/package.json --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index ac4c15f098b..5b1f08e5d93 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [1.1.2](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.1...v1.1.2) (2019-06-15) + + +### Bug Fixes + +* **docs:** move to new client docs URL ([#401](https://www.github.com/googleapis/nodejs-vision/issues/401)) ([9b40044](https://www.github.com/googleapis/nodejs-vision/commit/9b40044)) + ### [1.1.1](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.0...v1.1.1) (2019-06-11) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a44a6f24781..a1be073e125 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.1.1", + "version": "1.1.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 1b5c2452e7a..6279365a2cd 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.1.1", + "@google-cloud/vision": "^1.1.2", "mathjs": "^6.0.0", "natural": "^0.6.1", "redis": "^2.8.0", From 952b934dcfd926a8b23c05a8cfc6211257a5cd01 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 18 Jun 2019 12:45:40 -0700 Subject: [PATCH 309/588] build: switch to GitHub magic proxy, for release-please (#405) --- packages/google-cloud-vision/synth.metadata | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 69a05b06dc9..28aafec233d 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-14T11:26:40.802321Z", + "updateTime": "2019-06-18T01:06:49.149440Z", "sources": [ { "generator": { "name": "artman", - "version": "0.25.0", - "dockerImage": "googleapis/artman@sha256:ef1a98ab1e2b8f05f4d9a56f27d63347aefe14020e5f2d585172b14ca76f1d90" + "version": "0.26.0", + "dockerImage": "googleapis/artman@sha256:6db0735b0d3beec5b887153a2a7c7411fc7bb53f73f6f389a822096bd14a3a15" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "c23b68eecb00c4d285a730a49b1d7d943cd56183", - "internalRef": "253113405" + "sha": "384aa843867c4d17756d14a01f047b6368494d32", + "internalRef": "253675319" } }, { From ce6ebc6f3315a4f928b6c45b2c6e06ae60a39acc Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 25 Jun 2019 16:42:38 -0700 Subject: [PATCH 310/588] fix(docs): link to reference docs section on googleapis.dev (#406) * fix(docs): reference docs should link to section of googleapis.dev with API reference * fix(docs): make anchors work in jsdoc --- packages/google-cloud-vision/.jsdoc.js | 3 +++ packages/google-cloud-vision/README.md | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index 3ba46d20f13..c2225feb0c1 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -41,5 +41,8 @@ module.exports = { sourceFiles: false, systemName: '@google-cloud/vision', theme: 'lumen' + }, + markdown: { + idInHeadings: true } }; diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index da6b4ca296c..26de34252c6 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -120,10 +120,12 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) -[client-docs]: https://googleapis.dev/nodejs/vision/latest +[client-docs]: https://googleapis.dev/nodejs/vision/latest#reference [product-docs]: https://cloud.google.com/vision [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=vision.googleapis.com -[auth]: https://cloud.google.com/docs/authentication/getting-started \ No newline at end of file +[auth]: https://cloud.google.com/docs/authentication/getting-started + + From 07177f799312cd0820bd565d5dd8077b2e34ea98 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 26 Jun 2019 15:30:05 -0700 Subject: [PATCH 311/588] chore: release 1.1.3 (#407) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 5b1f08e5d93..d9b8acfd6ac 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [1.1.3](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.2...v1.1.3) (2019-06-26) + + +### Bug Fixes + +* **docs:** link to reference docs section on googleapis.dev ([#406](https://www.github.com/googleapis/nodejs-vision/issues/406)) ([fa2fb3f](https://www.github.com/googleapis/nodejs-vision/commit/fa2fb3f)) + ### [1.1.2](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.1...v1.1.2) (2019-06-15) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a1be073e125..cfbefa973fd 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.1.2", + "version": "1.1.3", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 6279365a2cd..8f036e3e474 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.1.2", + "@google-cloud/vision": "^1.1.3", "mathjs": "^6.0.0", "natural": "^0.6.1", "redis": "^2.8.0", From 65152d2da73a6c4a96441251466cde78724e8131 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 28 Jun 2019 10:07:53 -0700 Subject: [PATCH 312/588] build: use config file for linkinator (#408) --- packages/google-cloud-vision/linkinator.config.json | 7 +++++++ packages/google-cloud-vision/package.json | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-vision/linkinator.config.json diff --git a/packages/google-cloud-vision/linkinator.config.json b/packages/google-cloud-vision/linkinator.config.json new file mode 100644 index 00000000000..d780d6bfff5 --- /dev/null +++ b/packages/google-cloud-vision/linkinator.config.json @@ -0,0 +1,7 @@ +{ + "recurse": true, + "skip": [ + "https://codecov.io/gh/googleapis/", + "www.googleapis.com" + ] +} diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index cfbefa973fd..5f2fd6a11ab 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -36,7 +36,7 @@ "test-no-cover": "mocha test/*.js", "test": "nyc mocha", "fix": "eslint --fix '**/*.js'", - "docs-test": "linkinator docs -r --skip www.googleapis.com", + "docs-test": "linkinator docs", "predocs-test": "npm run docs" }, "dependencies": { @@ -61,6 +61,6 @@ "prettier": "^1.13.6", "sinon": "^7.0.0", "uuid": "^3.3.0", - "linkinator": "^1.1.2" + "linkinator": "^1.5.0" } } From e840d8cdfae65791adf209ef0cf6d7811e12bc3a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 26 Jul 2019 19:00:09 +0300 Subject: [PATCH 313/588] chore(deps): update linters (#412) --- packages/google-cloud-vision/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 5f2fd6a11ab..4a8c8716da6 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -48,8 +48,8 @@ "devDependencies": { "@google-cloud/storage": "^2.0.0", "codecov": "^3.0.2", - "eslint": "^5.0.1", - "eslint-config-prettier": "^4.0.0", + "eslint": "^6.0.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-node": "^9.0.0", "eslint-plugin-prettier": "^3.0.0", "jsdoc-baseline": "^0.1.0", From ba37ff6e76c0c5c622e11d4666c6249108aeb81f Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 31 Jul 2019 09:01:33 -0700 Subject: [PATCH 314/588] docs: use the jsdoc-fresh theme (#413) --- packages/google-cloud-vision/.jsdoc.js | 2 +- packages/google-cloud-vision/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index c2225feb0c1..42e7fac504e 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -20,7 +20,7 @@ module.exports = { opts: { readme: './README.md', package: './package.json', - template: './node_modules/jsdoc-baseline', + template: './node_modules/jsdoc-fresh', recurse: true, verbose: true, destination: './docs/' diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 4a8c8716da6..81aa04bf4ac 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -52,7 +52,7 @@ "eslint-config-prettier": "^6.0.0", "eslint-plugin-node": "^9.0.0", "eslint-plugin-prettier": "^3.0.0", - "jsdoc-baseline": "^0.1.0", + "jsdoc-fresh": "^1.0.1", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", "mocha": "^6.0.0", From 1e9f4684aaa231f2a40209414932503624622544 Mon Sep 17 00:00:00 2001 From: Dave Gramlich Date: Wed, 31 Jul 2019 17:18:17 -0400 Subject: [PATCH 315/588] chore(deps): update dependency @google-cloud/storage to v3 (#414) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/system-test/vision.js | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 81aa04bf4ac..0edcde940c7 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -46,7 +46,7 @@ "protobufjs": "^6.8.6" }, "devDependencies": { - "@google-cloud/storage": "^2.0.0", + "@google-cloud/storage": "^3.0.0", "codecov": "^3.0.2", "eslint": "^6.0.0", "eslint-config-prettier": "^6.0.0", diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index b4f71b671dd..d4003618f16 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -76,9 +76,8 @@ describe('Vision', function() { it('should detect from a filename', () => { return client.logoDetection(IMAGES.logo).then(responses => { const response = responses[0]; - assert.deepStrictEqual( - response.logoAnnotations[0].description.toLowerCase(), - 'google' + assert.ok( + /google/.test(response.logoAnnotations[0].description.toLowerCase()) ); }); }); @@ -87,9 +86,8 @@ describe('Vision', function() { const buffer = fs.readFileSync(IMAGES.logo); return client.logoDetection(buffer).then(responses => { const response = responses[0]; - assert.deepStrictEqual( - response.logoAnnotations[0].description.toLowerCase(), - 'google' + assert.ok( + /google/.test(response.logoAnnotations[0].description.toLowerCase()) ); }); }); From 47f652416e819ae3030b36af846e9615d2acd44a Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 31 Jul 2019 16:07:11 -0700 Subject: [PATCH 316/588] docs: document apiEndpoint over servicePath (#415) --- packages/google-cloud-vision/src/v1/image_annotator_client.js | 2 +- packages/google-cloud-vision/src/v1/product_search_client.js | 2 +- .../google-cloud-vision/src/v1p1beta1/image_annotator_client.js | 2 +- .../google-cloud-vision/src/v1p2beta1/image_annotator_client.js | 2 +- .../google-cloud-vision/src/v1p3beta1/image_annotator_client.js | 2 +- .../google-cloud-vision/src/v1p3beta1/product_search_client.js | 2 +- .../google-cloud-vision/src/v1p4beta1/image_annotator_client.js | 2 +- .../google-cloud-vision/src/v1p4beta1/product_search_client.js | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 14c698fda69..9397a4637b9 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -54,7 +54,7 @@ class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {function} [options.promise] - Custom promise module to use instead * of native Promises. - * @param {string} [options.servicePath] - The domain name of the + * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ constructor(opts) { diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 8eec02db945..018d86ac231 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -67,7 +67,7 @@ class ProductSearchClient { * your project ID will be detected automatically. * @param {function} [options.promise] - Custom promise module to use instead * of native Promises. - * @param {string} [options.servicePath] - The domain name of the + * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ constructor(opts) { diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 98419013e7f..04dac3f9b73 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -53,7 +53,7 @@ class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {function} [options.promise] - Custom promise module to use instead * of native Promises. - * @param {string} [options.servicePath] - The domain name of the + * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ constructor(opts) { diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index a03bd61cbca..6ab945b4516 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -54,7 +54,7 @@ class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {function} [options.promise] - Custom promise module to use instead * of native Promises. - * @param {string} [options.servicePath] - The domain name of the + * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ constructor(opts) { diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 4af89f0432e..d5f5e7ab5d6 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -54,7 +54,7 @@ class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {function} [options.promise] - Custom promise module to use instead * of native Promises. - * @param {string} [options.servicePath] - The domain name of the + * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ constructor(opts) { diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 924609b3126..6fe8e1b27b3 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -69,7 +69,7 @@ class ProductSearchClient { * your project ID will be detected automatically. * @param {function} [options.promise] - Custom promise module to use instead * of native Promises. - * @param {string} [options.servicePath] - The domain name of the + * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ constructor(opts) { diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index 8b0586c3412..873ac56af78 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -54,7 +54,7 @@ class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {function} [options.promise] - Custom promise module to use instead * of native Promises. - * @param {string} [options.servicePath] - The domain name of the + * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ constructor(opts) { diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index fc12ccf7f67..c7d50e7789f 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -69,7 +69,7 @@ class ProductSearchClient { * your project ID will be detected automatically. * @param {function} [options.promise] - Custom promise module to use instead * of native Promises. - * @param {string} [options.servicePath] - The domain name of the + * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ constructor(opts) { From 2b54cb4a1a7b31d6045e528efbdcc26b8248a53d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 2 Aug 2019 10:53:00 -0700 Subject: [PATCH 317/588] fix: allow calls with no request, add JSON proto --- .../google-cloud-vision/protos/protos.json | 3111 +++++++++++++++++ .../src/service_proto_list.json | 1 + .../src/v1/image_annotator_client.js | 4 + .../src/v1/product_search_client.js | 18 + .../src/v1p1beta1/image_annotator_client.js | 1 + .../src/v1p2beta1/image_annotator_client.js | 2 + .../src/v1p3beta1/image_annotator_client.js | 2 + .../src/v1p3beta1/product_search_client.js | 18 + .../src/v1p4beta1/image_annotator_client.js | 4 + .../src/v1p4beta1/product_search_client.js | 18 + packages/google-cloud-vision/synth.metadata | 10 +- 11 files changed, 3184 insertions(+), 5 deletions(-) create mode 100644 packages/google-cloud-vision/protos/protos.json create mode 100644 packages/google-cloud-vision/src/service_proto_list.json diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json new file mode 100644 index 00000000000..869cf05d12b --- /dev/null +++ b/packages/google-cloud-vision/protos/protos.json @@ -0,0 +1,3111 @@ +{ + "nested": { + "google": { + "nested": { + "cloud": { + "nested": { + "vision": { + "nested": { + "v1p4beta1": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision", + "java_multiple_files": true, + "java_outer_classname": "TextAnnotationProto", + "java_package": "com.google.cloud.vision.v1p4beta1", + "objc_class_prefix": "GCVN" + }, + "nested": { + "WebDetection": { + "fields": { + "webEntities": { + "rule": "repeated", + "type": "WebEntity", + "id": 1 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 2 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 3 + }, + "pagesWithMatchingImages": { + "rule": "repeated", + "type": "WebPage", + "id": 4 + }, + "visuallySimilarImages": { + "rule": "repeated", + "type": "WebImage", + "id": 6 + }, + "bestGuessLabels": { + "rule": "repeated", + "type": "WebLabel", + "id": 8 + } + }, + "nested": { + "WebEntity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + } + }, + "WebImage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + } + } + }, + "WebLabel": { + "fields": { + "label": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } + }, + "WebPage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pageTitle": { + "type": "string", + "id": 3 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 4 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 5 + } + } + } + } + }, + "ImageAnnotator": { + "methods": { + "BatchAnnotateImages": { + "requestType": "BatchAnnotateImagesRequest", + "responseType": "BatchAnnotateImagesResponse", + "options": { + "(google.api.http).post": "/v1p4beta1/images:annotate", + "(google.api.http).body": "*" + } + }, + "BatchAnnotateFiles": { + "requestType": "BatchAnnotateFilesRequest", + "responseType": "BatchAnnotateFilesResponse", + "options": { + "(google.api.http).post": "/v1p4beta1/files:annotate", + "(google.api.http).body": "*" + } + }, + "AsyncBatchAnnotateImages": { + "requestType": "AsyncBatchAnnotateImagesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p4beta1/images:asyncBatchAnnotate", + "(google.api.http).body": "*" + } + }, + "AsyncBatchAnnotateFiles": { + "requestType": "AsyncBatchAnnotateFilesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p4beta1/files:asyncBatchAnnotate", + "(google.api.http).body": "*" + } + } + } + }, + "Feature": { + "fields": { + "type": { + "type": "Type", + "id": 1 + }, + "maxResults": { + "type": "int32", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_UNSPECIFIED": 0, + "FACE_DETECTION": 1, + "LANDMARK_DETECTION": 2, + "LOGO_DETECTION": 3, + "LABEL_DETECTION": 4, + "TEXT_DETECTION": 5, + "DOCUMENT_TEXT_DETECTION": 11, + "SAFE_SEARCH_DETECTION": 6, + "IMAGE_PROPERTIES": 7, + "CROP_HINTS": 9, + "WEB_DETECTION": 10, + "PRODUCT_SEARCH": 12, + "OBJECT_LOCALIZATION": 19 + } + } + } + }, + "ImageSource": { + "fields": { + "gcsImageUri": { + "type": "string", + "id": 1 + }, + "imageUri": { + "type": "string", + "id": 2 + } + } + }, + "Image": { + "fields": { + "content": { + "type": "bytes", + "id": 1 + }, + "source": { + "type": "ImageSource", + "id": 2 + } + } + }, + "Likelihood": { + "values": { + "UNKNOWN": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, + "FaceAnnotation": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "fdBoundingPoly": { + "type": "BoundingPoly", + "id": 2 + }, + "landmarks": { + "rule": "repeated", + "type": "Landmark", + "id": 3 + }, + "rollAngle": { + "type": "float", + "id": 4 + }, + "panAngle": { + "type": "float", + "id": 5 + }, + "tiltAngle": { + "type": "float", + "id": 6 + }, + "detectionConfidence": { + "type": "float", + "id": 7 + }, + "landmarkingConfidence": { + "type": "float", + "id": 8 + }, + "joyLikelihood": { + "type": "Likelihood", + "id": 9 + }, + "sorrowLikelihood": { + "type": "Likelihood", + "id": 10 + }, + "angerLikelihood": { + "type": "Likelihood", + "id": 11 + }, + "surpriseLikelihood": { + "type": "Likelihood", + "id": 12 + }, + "underExposedLikelihood": { + "type": "Likelihood", + "id": 13 + }, + "blurredLikelihood": { + "type": "Likelihood", + "id": 14 + }, + "headwearLikelihood": { + "type": "Likelihood", + "id": 15 + } + }, + "nested": { + "Landmark": { + "fields": { + "type": { + "type": "Type", + "id": 3 + }, + "position": { + "type": "Position", + "id": 4 + } + }, + "nested": { + "Type": { + "values": { + "UNKNOWN_LANDMARK": 0, + "LEFT_EYE": 1, + "RIGHT_EYE": 2, + "LEFT_OF_LEFT_EYEBROW": 3, + "RIGHT_OF_LEFT_EYEBROW": 4, + "LEFT_OF_RIGHT_EYEBROW": 5, + "RIGHT_OF_RIGHT_EYEBROW": 6, + "MIDPOINT_BETWEEN_EYES": 7, + "NOSE_TIP": 8, + "UPPER_LIP": 9, + "LOWER_LIP": 10, + "MOUTH_LEFT": 11, + "MOUTH_RIGHT": 12, + "MOUTH_CENTER": 13, + "NOSE_BOTTOM_RIGHT": 14, + "NOSE_BOTTOM_LEFT": 15, + "NOSE_BOTTOM_CENTER": 16, + "LEFT_EYE_TOP_BOUNDARY": 17, + "LEFT_EYE_RIGHT_CORNER": 18, + "LEFT_EYE_BOTTOM_BOUNDARY": 19, + "LEFT_EYE_LEFT_CORNER": 20, + "RIGHT_EYE_TOP_BOUNDARY": 21, + "RIGHT_EYE_RIGHT_CORNER": 22, + "RIGHT_EYE_BOTTOM_BOUNDARY": 23, + "RIGHT_EYE_LEFT_CORNER": 24, + "LEFT_EYEBROW_UPPER_MIDPOINT": 25, + "RIGHT_EYEBROW_UPPER_MIDPOINT": 26, + "LEFT_EAR_TRAGION": 27, + "RIGHT_EAR_TRAGION": 28, + "LEFT_EYE_PUPIL": 29, + "RIGHT_EYE_PUPIL": 30, + "FOREHEAD_GLABELLA": 31, + "CHIN_GNATHION": 32, + "CHIN_LEFT_GONION": 33, + "CHIN_RIGHT_GONION": 34 + } + } + } + } + } + }, + "LocationInfo": { + "fields": { + "latLng": { + "type": "google.type.LatLng", + "id": 1 + } + } + }, + "Property": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + }, + "uint64Value": { + "type": "uint64", + "id": 3 + } + } + }, + "EntityAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "locale": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5, + "options": { + "deprecated": true + } + }, + "topicality": { + "type": "float", + "id": 6 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 7 + }, + "locations": { + "rule": "repeated", + "type": "LocationInfo", + "id": 8 + }, + "properties": { + "rule": "repeated", + "type": "Property", + "id": 9 + } + } + }, + "LocalizedObjectAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + }, + "name": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 5 + } + } + }, + "SafeSearchAnnotation": { + "fields": { + "adult": { + "type": "Likelihood", + "id": 1 + }, + "spoof": { + "type": "Likelihood", + "id": 2 + }, + "medical": { + "type": "Likelihood", + "id": 3 + }, + "violence": { + "type": "Likelihood", + "id": 4 + }, + "racy": { + "type": "Likelihood", + "id": 9 + } + } + }, + "LatLongRect": { + "fields": { + "minLatLng": { + "type": "google.type.LatLng", + "id": 1 + }, + "maxLatLng": { + "type": "google.type.LatLng", + "id": 2 + } + } + }, + "ColorInfo": { + "fields": { + "color": { + "type": "google.type.Color", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pixelFraction": { + "type": "float", + "id": 3 + } + } + }, + "DominantColorsAnnotation": { + "fields": { + "colors": { + "rule": "repeated", + "type": "ColorInfo", + "id": 1 + } + } + }, + "ImageProperties": { + "fields": { + "dominantColors": { + "type": "DominantColorsAnnotation", + "id": 1 + } + } + }, + "CropHint": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "importanceFraction": { + "type": "float", + "id": 3 + } + } + }, + "CropHintsAnnotation": { + "fields": { + "cropHints": { + "rule": "repeated", + "type": "CropHint", + "id": 1 + } + } + }, + "CropHintsParams": { + "fields": { + "aspectRatios": { + "rule": "repeated", + "type": "float", + "id": 1 + } + } + }, + "WebDetectionParams": { + "fields": { + "includeGeoResults": { + "type": "bool", + "id": 2 + } + } + }, + "ImageContext": { + "fields": { + "latLongRect": { + "type": "LatLongRect", + "id": 1 + }, + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "cropHintsParams": { + "type": "CropHintsParams", + "id": 4 + }, + "productSearchParams": { + "type": "ProductSearchParams", + "id": 5 + }, + "webDetectionParams": { + "type": "WebDetectionParams", + "id": 6 + } + } + }, + "AnnotateImageRequest": { + "fields": { + "image": { + "type": "Image", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + } + } + }, + "ImageAnnotationContext": { + "fields": { + "uri": { + "type": "string", + "id": 1 + }, + "pageNumber": { + "type": "int32", + "id": 2 + } + } + }, + "AnnotateImageResponse": { + "fields": { + "faceAnnotations": { + "rule": "repeated", + "type": "FaceAnnotation", + "id": 1 + }, + "landmarkAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 2 + }, + "logoAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 3 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 4 + }, + "localizedObjectAnnotations": { + "rule": "repeated", + "type": "LocalizedObjectAnnotation", + "id": 22 + }, + "textAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 5 + }, + "fullTextAnnotation": { + "type": "TextAnnotation", + "id": 12 + }, + "safeSearchAnnotation": { + "type": "SafeSearchAnnotation", + "id": 6 + }, + "imagePropertiesAnnotation": { + "type": "ImageProperties", + "id": 8 + }, + "cropHintsAnnotation": { + "type": "CropHintsAnnotation", + "id": 11 + }, + "webDetection": { + "type": "WebDetection", + "id": 13 + }, + "productSearchResults": { + "type": "ProductSearchResults", + "id": 14 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + }, + "context": { + "type": "ImageAnnotationContext", + "id": 21 + } + } + }, + "AnnotateFileResponse": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 2 + }, + "totalPages": { + "type": "int32", + "id": 3 + } + } + }, + "BatchAnnotateImagesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateImageRequest", + "id": 1 + } + } + }, + "BatchAnnotateImagesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 1 + } + } + }, + "AnnotateFileRequest": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + }, + "pages": { + "rule": "repeated", + "type": "int32", + "id": 4 + } + } + }, + "BatchAnnotateFilesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateFileRequest", + "id": 1 + } + } + }, + "BatchAnnotateFilesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AnnotateFileResponse", + "id": 1 + } + } + }, + "AsyncAnnotateFileRequest": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + }, + "outputConfig": { + "type": "OutputConfig", + "id": 4 + } + } + }, + "AsyncAnnotateFileResponse": { + "fields": { + "outputConfig": { + "type": "OutputConfig", + "id": 1 + } + } + }, + "AsyncBatchAnnotateImagesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateImageRequest", + "id": 1 + }, + "outputConfig": { + "type": "OutputConfig", + "id": 2 + } + } + }, + "AsyncBatchAnnotateImagesResponse": { + "fields": { + "outputConfig": { + "type": "OutputConfig", + "id": 1 + } + } + }, + "AsyncBatchAnnotateFilesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AsyncAnnotateFileRequest", + "id": 1 + } + } + }, + "AsyncBatchAnnotateFilesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AsyncAnnotateFileResponse", + "id": 1 + } + } + }, + "InputConfig": { + "fields": { + "gcsSource": { + "type": "GcsSource", + "id": 1 + }, + "content": { + "type": "bytes", + "id": 3 + }, + "mimeType": { + "type": "string", + "id": 2 + } + } + }, + "OutputConfig": { + "fields": { + "gcsDestination": { + "type": "GcsDestination", + "id": 1 + }, + "batchSize": { + "type": "int32", + "id": 2 + } + } + }, + "GcsSource": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "GcsDestination": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "OperationMetadata": { + "fields": { + "state": { + "type": "State", + "id": 1 + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 5 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 6 + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "CREATED": 1, + "RUNNING": 2, + "DONE": 3, + "CANCELLED": 4 + } + } + } + }, + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + }, + "normalizedVertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 2 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, + "ProductSearchParams": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 9 + }, + "productSet": { + "type": "string", + "id": 6 + }, + "productCategories": { + "rule": "repeated", + "type": "string", + "id": 7 + }, + "filter": { + "type": "string", + "id": 8 + } + } + }, + "ProductSearchResults": { + "fields": { + "indexTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "results": { + "rule": "repeated", + "type": "Result", + "id": 5 + }, + "productGroupedResults": { + "rule": "repeated", + "type": "GroupedResult", + "id": 6 + } + }, + "nested": { + "Result": { + "fields": { + "product": { + "type": "Product", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "image": { + "type": "string", + "id": 3 + } + } + }, + "GroupedResult": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "results": { + "rule": "repeated", + "type": "Result", + "id": 2 + } + } + } + } + }, + "ProductSearch": { + "methods": { + "CreateProductSet": { + "requestType": "CreateProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets", + "(google.api.http).body": "product_set" + } + }, + "ListProductSets": { + "requestType": "ListProductSetsRequest", + "responseType": "ListProductSetsResponse", + "options": { + "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/productSets" + } + }, + "GetProductSet": { + "requestType": "GetProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + "UpdateProductSet": { + "requestType": "UpdateProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).patch": "/v1p4beta1/{product_set.name=projects/*/locations/*/productSets/*}", + "(google.api.http).body": "product_set" + } + }, + "DeleteProductSet": { + "requestType": "DeleteProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + "CreateProduct": { + "requestType": "CreateProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/products", + "(google.api.http).body": "product" + } + }, + "ListProducts": { + "requestType": "ListProductsRequest", + "responseType": "ListProductsResponse", + "options": { + "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/products" + } + }, + "GetProduct": { + "requestType": "GetProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*}" + } + }, + "UpdateProduct": { + "requestType": "UpdateProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).patch": "/v1p4beta1/{product.name=projects/*/locations/*/products/*}", + "(google.api.http).body": "product" + } + }, + "DeleteProduct": { + "requestType": "DeleteProductRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*}" + } + }, + "CreateReferenceImage": { + "requestType": "CreateReferenceImageRequest", + "responseType": "ReferenceImage", + "options": { + "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages", + "(google.api.http).body": "reference_image" + } + }, + "DeleteReferenceImage": { + "requestType": "DeleteReferenceImageRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + "ListReferenceImages": { + "requestType": "ListReferenceImagesRequest", + "responseType": "ListReferenceImagesResponse", + "options": { + "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + } + }, + "GetReferenceImage": { + "requestType": "GetReferenceImageRequest", + "responseType": "ReferenceImage", + "options": { + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + "AddProductToProductSet": { + "requestType": "AddProductToProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:addProduct", + "(google.api.http).body": "*" + } + }, + "RemoveProductFromProductSet": { + "requestType": "RemoveProductFromProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", + "(google.api.http).body": "*" + } + }, + "ListProductsInProductSet": { + "requestType": "ListProductsInProductSetRequest", + "responseType": "ListProductsInProductSetResponse", + "options": { + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products" + } + }, + "ImportProductSets": { + "requestType": "ImportProductSetsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets:import", + "(google.api.http).body": "*" + } + } + } + }, + "Product": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "productCategory": { + "type": "string", + "id": 4 + }, + "productLabels": { + "rule": "repeated", + "type": "KeyValue", + "id": 5 + } + }, + "nested": { + "KeyValue": { + "fields": { + "key": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + } + } + } + } + }, + "ProductSet": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "indexTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "indexError": { + "type": "google.rpc.Status", + "id": 4 + } + } + }, + "ReferenceImage": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "uri": { + "type": "string", + "id": 2 + }, + "boundingPolys": { + "rule": "repeated", + "type": "BoundingPoly", + "id": 3 + } + } + }, + "CreateProductRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "product": { + "type": "Product", + "id": 2 + }, + "productId": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsResponse": { + "fields": { + "products": { + "rule": "repeated", + "type": "Product", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "UpdateProductRequest": { + "fields": { + "product": { + "type": "Product", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "DeleteProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "CreateProductSetRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "productSet": { + "type": "ProductSet", + "id": 2 + }, + "productSetId": { + "type": "string", + "id": 3 + } + } + }, + "ListProductSetsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductSetsResponse": { + "fields": { + "productSets": { + "rule": "repeated", + "type": "ProductSet", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "UpdateProductSetRequest": { + "fields": { + "productSet": { + "type": "ProductSet", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "DeleteProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "CreateReferenceImageRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "referenceImage": { + "type": "ReferenceImage", + "id": 2 + }, + "referenceImageId": { + "type": "string", + "id": 3 + } + } + }, + "ListReferenceImagesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListReferenceImagesResponse": { + "fields": { + "referenceImages": { + "rule": "repeated", + "type": "ReferenceImage", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "nextPageToken": { + "type": "string", + "id": 3 + } + } + }, + "GetReferenceImageRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DeleteReferenceImageRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "AddProductToProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "product": { + "type": "string", + "id": 2 + } + } + }, + "RemoveProductFromProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "product": { + "type": "string", + "id": 2 + } + } + }, + "ListProductsInProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsInProductSetResponse": { + "fields": { + "products": { + "rule": "repeated", + "type": "Product", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "ImportProductSetsGcsSource": { + "fields": { + "csvFileUri": { + "type": "string", + "id": 1 + } + } + }, + "ImportProductSetsInputConfig": { + "oneofs": { + "source": { + "oneof": [ + "gcsSource" + ] + } + }, + "fields": { + "gcsSource": { + "type": "ImportProductSetsGcsSource", + "id": 1 + } + } + }, + "ImportProductSetsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "inputConfig": { + "type": "ImportProductSetsInputConfig", + "id": 2 + } + } + }, + "ImportProductSetsResponse": { + "fields": { + "referenceImages": { + "rule": "repeated", + "type": "ReferenceImage", + "id": 1 + }, + "statuses": { + "rule": "repeated", + "type": "google.rpc.Status", + "id": 2 + } + } + }, + "BatchOperationMetadata": { + "fields": { + "state": { + "type": "State", + "id": 1 + }, + "submitTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "PROCESSING": 1, + "SUCCESSFUL": 2, + "FAILED": 3, + "CANCELLED": 4 + } + } + } + }, + "TextAnnotation": { + "fields": { + "pages": { + "rule": "repeated", + "type": "Page", + "id": 1 + }, + "text": { + "type": "string", + "id": 2 + } + }, + "nested": { + "DetectedLanguage": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "DetectedBreak": { + "fields": { + "type": { + "type": "BreakType", + "id": 1 + }, + "isPrefix": { + "type": "bool", + "id": 2 + } + }, + "nested": { + "BreakType": { + "values": { + "UNKNOWN": 0, + "SPACE": 1, + "SURE_SPACE": 2, + "EOL_SURE_SPACE": 3, + "HYPHEN": 4, + "LINE_BREAK": 5 + } + } + } + }, + "TextProperty": { + "fields": { + "detectedLanguages": { + "rule": "repeated", + "type": "DetectedLanguage", + "id": 1 + }, + "detectedBreak": { + "type": "DetectedBreak", + "id": 2 + } + } + } + } + }, + "Page": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "width": { + "type": "int32", + "id": 2 + }, + "height": { + "type": "int32", + "id": 3 + }, + "blocks": { + "rule": "repeated", + "type": "Block", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + } + }, + "Block": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "paragraphs": { + "rule": "repeated", + "type": "Paragraph", + "id": 3 + }, + "blockType": { + "type": "BlockType", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + }, + "nested": { + "BlockType": { + "values": { + "UNKNOWN": 0, + "TEXT": 1, + "TABLE": 2, + "PICTURE": 3, + "RULER": 4, + "BARCODE": 5 + } + } + } + }, + "Paragraph": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "Word", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Word": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "symbols": { + "rule": "repeated", + "type": "Symbol", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Symbol": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "text": { + "type": "string", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + } + } + } + } + } + } + }, + "api": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", + "java_multiple_files": true, + "java_outer_classname": "HttpProto", + "java_package": "com.google.api", + "objc_class_prefix": "GAPI", + "cc_enable_arenas": true + }, + "nested": { + "http": { + "type": "HttpRule", + "id": 72295728, + "extend": "google.protobuf.MethodOptions" + }, + "Http": { + "fields": { + "rules": { + "rule": "repeated", + "type": "HttpRule", + "id": 1 + }, + "fullyDecodeReservedExpansion": { + "type": "bool", + "id": 2 + } + } + }, + "HttpRule": { + "oneofs": { + "pattern": { + "oneof": [ + "get", + "put", + "post", + "delete", + "patch", + "custom" + ] + } + }, + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "get": { + "type": "string", + "id": 2 + }, + "put": { + "type": "string", + "id": 3 + }, + "post": { + "type": "string", + "id": 4 + }, + "delete": { + "type": "string", + "id": 5 + }, + "patch": { + "type": "string", + "id": 6 + }, + "custom": { + "type": "CustomHttpPattern", + "id": 8 + }, + "body": { + "type": "string", + "id": 7 + }, + "responseBody": { + "type": "string", + "id": 12 + }, + "additionalBindings": { + "rule": "repeated", + "type": "HttpRule", + "id": 11 + } + } + }, + "CustomHttpPattern": { + "fields": { + "kind": { + "type": "string", + "id": 1 + }, + "path": { + "type": "string", + "id": 2 + } + } + } + } + }, + "protobuf": { + "options": { + "go_package": "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor", + "java_package": "com.google.protobuf", + "java_outer_classname": "DescriptorProtos", + "csharp_namespace": "Google.Protobuf.Reflection", + "objc_class_prefix": "GPB", + "cc_enable_arenas": true, + "optimize_for": "SPEED" + }, + "nested": { + "FileDescriptorSet": { + "fields": { + "file": { + "rule": "repeated", + "type": "FileDescriptorProto", + "id": 1 + } + } + }, + "FileDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "package": { + "type": "string", + "id": 2 + }, + "dependency": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "publicDependency": { + "rule": "repeated", + "type": "int32", + "id": 10, + "options": { + "packed": false + } + }, + "weakDependency": { + "rule": "repeated", + "type": "int32", + "id": 11, + "options": { + "packed": false + } + }, + "messageType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 4 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 5 + }, + "service": { + "rule": "repeated", + "type": "ServiceDescriptorProto", + "id": 6 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 7 + }, + "options": { + "type": "FileOptions", + "id": 8 + }, + "sourceCodeInfo": { + "type": "SourceCodeInfo", + "id": 9 + }, + "syntax": { + "type": "string", + "id": 12 + } + } + }, + "DescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "field": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 2 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 6 + }, + "nestedType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 3 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 4 + }, + "extensionRange": { + "rule": "repeated", + "type": "ExtensionRange", + "id": 5 + }, + "oneofDecl": { + "rule": "repeated", + "type": "OneofDescriptorProto", + "id": 8 + }, + "options": { + "type": "MessageOptions", + "id": 7 + }, + "reservedRange": { + "rule": "repeated", + "type": "ReservedRange", + "id": 9 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 10 + } + }, + "nested": { + "ExtensionRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "ExtensionRangeOptions", + "id": 3 + } + } + }, + "ReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "ExtensionRangeOptions": { + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "FieldDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 3 + }, + "label": { + "type": "Label", + "id": 4 + }, + "type": { + "type": "Type", + "id": 5 + }, + "typeName": { + "type": "string", + "id": 6 + }, + "extendee": { + "type": "string", + "id": 2 + }, + "defaultValue": { + "type": "string", + "id": 7 + }, + "oneofIndex": { + "type": "int32", + "id": 9 + }, + "jsonName": { + "type": "string", + "id": 10 + }, + "options": { + "type": "FieldOptions", + "id": 8 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_DOUBLE": 1, + "TYPE_FLOAT": 2, + "TYPE_INT64": 3, + "TYPE_UINT64": 4, + "TYPE_INT32": 5, + "TYPE_FIXED64": 6, + "TYPE_FIXED32": 7, + "TYPE_BOOL": 8, + "TYPE_STRING": 9, + "TYPE_GROUP": 10, + "TYPE_MESSAGE": 11, + "TYPE_BYTES": 12, + "TYPE_UINT32": 13, + "TYPE_ENUM": 14, + "TYPE_SFIXED32": 15, + "TYPE_SFIXED64": 16, + "TYPE_SINT32": 17, + "TYPE_SINT64": 18 + } + }, + "Label": { + "values": { + "LABEL_OPTIONAL": 1, + "LABEL_REQUIRED": 2, + "LABEL_REPEATED": 3 + } + } + } + }, + "OneofDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "options": { + "type": "OneofOptions", + "id": 2 + } + } + }, + "EnumDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "rule": "repeated", + "type": "EnumValueDescriptorProto", + "id": 2 + }, + "options": { + "type": "EnumOptions", + "id": 3 + }, + "reservedRange": { + "rule": "repeated", + "type": "EnumReservedRange", + "id": 4 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 5 + } + }, + "nested": { + "EnumReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "EnumValueDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "EnumValueOptions", + "id": 3 + } + } + }, + "ServiceDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "method": { + "rule": "repeated", + "type": "MethodDescriptorProto", + "id": 2 + }, + "options": { + "type": "ServiceOptions", + "id": 3 + } + } + }, + "MethodDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "inputType": { + "type": "string", + "id": 2 + }, + "outputType": { + "type": "string", + "id": 3 + }, + "options": { + "type": "MethodOptions", + "id": 4 + }, + "clientStreaming": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "serverStreaming": { + "type": "bool", + "id": 6, + "options": { + "default": false + } + } + } + }, + "FileOptions": { + "fields": { + "javaPackage": { + "type": "string", + "id": 1 + }, + "javaOuterClassname": { + "type": "string", + "id": 8 + }, + "javaMultipleFiles": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "javaGenerateEqualsAndHash": { + "type": "bool", + "id": 20, + "options": { + "deprecated": true + } + }, + "javaStringCheckUtf8": { + "type": "bool", + "id": 27, + "options": { + "default": false + } + }, + "optimizeFor": { + "type": "OptimizeMode", + "id": 9, + "options": { + "default": "SPEED" + } + }, + "goPackage": { + "type": "string", + "id": 11 + }, + "ccGenericServices": { + "type": "bool", + "id": 16, + "options": { + "default": false + } + }, + "javaGenericServices": { + "type": "bool", + "id": 17, + "options": { + "default": false + } + }, + "pyGenericServices": { + "type": "bool", + "id": 18, + "options": { + "default": false + } + }, + "phpGenericServices": { + "type": "bool", + "id": 42, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 23, + "options": { + "default": false + } + }, + "ccEnableArenas": { + "type": "bool", + "id": 31, + "options": { + "default": false + } + }, + "objcClassPrefix": { + "type": "string", + "id": 36 + }, + "csharpNamespace": { + "type": "string", + "id": 37 + }, + "swiftPrefix": { + "type": "string", + "id": 39 + }, + "phpClassPrefix": { + "type": "string", + "id": 40 + }, + "phpNamespace": { + "type": "string", + "id": 41 + }, + "phpMetadataNamespace": { + "type": "string", + "id": 44 + }, + "rubyPackage": { + "type": "string", + "id": 45 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 38, + 38 + ] + ], + "nested": { + "OptimizeMode": { + "values": { + "SPEED": 1, + "CODE_SIZE": 2, + "LITE_RUNTIME": 3 + } + } + } + }, + "MessageOptions": { + "fields": { + "messageSetWireFormat": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "noStandardDescriptorAccessor": { + "type": "bool", + "id": 2, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "mapEntry": { + "type": "bool", + "id": 7 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 8, + 8 + ], + [ + 9, + 9 + ] + ] + }, + "FieldOptions": { + "fields": { + "ctype": { + "type": "CType", + "id": 1, + "options": { + "default": "STRING" + } + }, + "packed": { + "type": "bool", + "id": 2 + }, + "jstype": { + "type": "JSType", + "id": 6, + "options": { + "default": "JS_NORMAL" + } + }, + "lazy": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "weak": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 4, + 4 + ] + ], + "nested": { + "CType": { + "values": { + "STRING": 0, + "CORD": 1, + "STRING_PIECE": 2 + } + }, + "JSType": { + "values": { + "JS_NORMAL": 0, + "JS_STRING": 1, + "JS_NUMBER": 2 + } + } + } + }, + "OneofOptions": { + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "EnumOptions": { + "fields": { + "allowAlias": { + "type": "bool", + "id": 2 + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 5, + 5 + ] + ] + }, + "EnumValueOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "ServiceOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "MethodOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "idempotencyLevel": { + "type": "IdempotencyLevel", + "id": 34, + "options": { + "default": "IDEMPOTENCY_UNKNOWN" + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "nested": { + "IdempotencyLevel": { + "values": { + "IDEMPOTENCY_UNKNOWN": 0, + "NO_SIDE_EFFECTS": 1, + "IDEMPOTENT": 2 + } + } + } + }, + "UninterpretedOption": { + "fields": { + "name": { + "rule": "repeated", + "type": "NamePart", + "id": 2 + }, + "identifierValue": { + "type": "string", + "id": 3 + }, + "positiveIntValue": { + "type": "uint64", + "id": 4 + }, + "negativeIntValue": { + "type": "int64", + "id": 5 + }, + "doubleValue": { + "type": "double", + "id": 6 + }, + "stringValue": { + "type": "bytes", + "id": 7 + }, + "aggregateValue": { + "type": "string", + "id": 8 + } + }, + "nested": { + "NamePart": { + "fields": { + "namePart": { + "rule": "required", + "type": "string", + "id": 1 + }, + "isExtension": { + "rule": "required", + "type": "bool", + "id": 2 + } + } + } + } + }, + "SourceCodeInfo": { + "fields": { + "location": { + "rule": "repeated", + "type": "Location", + "id": 1 + } + }, + "nested": { + "Location": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "span": { + "rule": "repeated", + "type": "int32", + "id": 2 + }, + "leadingComments": { + "type": "string", + "id": 3 + }, + "trailingComments": { + "type": "string", + "id": 4 + }, + "leadingDetachedComments": { + "rule": "repeated", + "type": "string", + "id": 6 + } + } + } + } + }, + "GeneratedCodeInfo": { + "fields": { + "annotation": { + "rule": "repeated", + "type": "Annotation", + "id": 1 + } + }, + "nested": { + "Annotation": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "sourceFile": { + "type": "string", + "id": 2 + }, + "begin": { + "type": "int32", + "id": 3 + }, + "end": { + "type": "int32", + "id": 4 + } + } + } + } + }, + "Any": { + "fields": { + "type_url": { + "type": "string", + "id": 1 + }, + "value": { + "type": "bytes", + "id": 2 + } + } + }, + "Duration": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, + "Empty": { + "fields": {} + }, + "FieldMask": { + "fields": { + "paths": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "Timestamp": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, + "DoubleValue": { + "fields": { + "value": { + "type": "double", + "id": 1 + } + } + }, + "FloatValue": { + "fields": { + "value": { + "type": "float", + "id": 1 + } + } + }, + "Int64Value": { + "fields": { + "value": { + "type": "int64", + "id": 1 + } + } + }, + "UInt64Value": { + "fields": { + "value": { + "type": "uint64", + "id": 1 + } + } + }, + "Int32Value": { + "fields": { + "value": { + "type": "int32", + "id": 1 + } + } + }, + "UInt32Value": { + "fields": { + "value": { + "type": "uint32", + "id": 1 + } + } + }, + "BoolValue": { + "fields": { + "value": { + "type": "bool", + "id": 1 + } + } + }, + "StringValue": { + "fields": { + "value": { + "type": "string", + "id": 1 + } + } + }, + "BytesValue": { + "fields": { + "value": { + "type": "bytes", + "id": 1 + } + } + } + } + }, + "longrunning": { + "options": { + "cc_enable_arenas": true, + "csharp_namespace": "Google.LongRunning", + "go_package": "google.golang.org/genproto/googleapis/longrunning;longrunning", + "java_multiple_files": true, + "java_outer_classname": "OperationsProto", + "java_package": "com.google.longrunning", + "php_namespace": "Google\\LongRunning" + }, + "nested": { + "operationInfo": { + "type": "google.longrunning.OperationInfo", + "id": 1049, + "extend": "google.protobuf.MethodOptions" + }, + "Operations": { + "methods": { + "ListOperations": { + "requestType": "ListOperationsRequest", + "responseType": "ListOperationsResponse", + "options": { + "(google.api.http).get": "/v1/{name=operations}" + } + }, + "GetOperation": { + "requestType": "GetOperationRequest", + "responseType": "Operation", + "options": { + "(google.api.http).get": "/v1/{name=operations/**}" + } + }, + "DeleteOperation": { + "requestType": "DeleteOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=operations/**}" + } + }, + "CancelOperation": { + "requestType": "CancelOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1/{name=operations/**}:cancel", + "(google.api.http).body": "*" + } + }, + "WaitOperation": { + "requestType": "WaitOperationRequest", + "responseType": "Operation" + } + } + }, + "Operation": { + "oneofs": { + "result": { + "oneof": [ + "error", + "response" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "metadata": { + "type": "google.protobuf.Any", + "id": 2 + }, + "done": { + "type": "bool", + "id": 3 + }, + "error": { + "type": "google.rpc.Status", + "id": 4 + }, + "response": { + "type": "google.protobuf.Any", + "id": 5 + } + } + }, + "GetOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "ListOperationsRequest": { + "fields": { + "name": { + "type": "string", + "id": 4 + }, + "filter": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListOperationsResponse": { + "fields": { + "operations": { + "rule": "repeated", + "type": "Operation", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "CancelOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DeleteOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "WaitOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "timeout": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "OperationInfo": { + "fields": { + "responseType": { + "type": "string", + "id": 1 + }, + "metadataType": { + "type": "string", + "id": 2 + } + } + } + } + }, + "rpc": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/rpc/status;status", + "java_multiple_files": true, + "java_outer_classname": "StatusProto", + "java_package": "com.google.rpc", + "objc_class_prefix": "RPC" + }, + "nested": { + "Status": { + "fields": { + "code": { + "type": "int32", + "id": 1 + }, + "message": { + "type": "string", + "id": 2 + }, + "details": { + "rule": "repeated", + "type": "google.protobuf.Any", + "id": 3 + } + } + } + } + }, + "type": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/type/latlng;latlng", + "java_multiple_files": true, + "java_outer_classname": "LatLngProto", + "java_package": "com.google.type", + "objc_class_prefix": "GTP" + }, + "nested": { + "Color": { + "fields": { + "red": { + "type": "float", + "id": 1 + }, + "green": { + "type": "float", + "id": 2 + }, + "blue": { + "type": "float", + "id": 3 + }, + "alpha": { + "type": "google.protobuf.FloatValue", + "id": 4 + } + } + }, + "LatLng": { + "fields": { + "latitude": { + "type": "double", + "id": 1 + }, + "longitude": { + "type": "double", + "id": 2 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/google-cloud-vision/src/service_proto_list.json b/packages/google-cloud-vision/src/service_proto_list.json new file mode 100644 index 00000000000..844a3b73dcb --- /dev/null +++ b/packages/google-cloud-vision/src/service_proto_list.json @@ -0,0 +1 @@ +["../protos/google/cloud/vision/v1p4beta1/web_detection.proto", "../protos/google/cloud/vision/v1p4beta1/image_annotator.proto", "../protos/google/cloud/vision/v1p4beta1/product_search.proto", "../protos/google/cloud/vision/v1p4beta1/product_search_service.proto", "../protos/google/cloud/vision/v1p4beta1/geometry.proto", "../protos/google/cloud/vision/v1p4beta1/text_annotation.proto"] \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 9397a4637b9..6f4af4a88ee 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -288,6 +288,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.batchAnnotateImages(request, options, callback); @@ -343,6 +344,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.batchAnnotateFiles(request, options, callback); @@ -462,6 +464,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.asyncBatchAnnotateImages( @@ -563,6 +566,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.asyncBatchAnnotateFiles( diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 018d86ac231..9173027b243 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -360,6 +360,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -468,6 +469,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -585,6 +587,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -654,6 +657,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -705,6 +709,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -782,6 +787,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -890,6 +896,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1008,6 +1015,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1086,6 +1094,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1138,6 +1147,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1227,6 +1237,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1282,6 +1293,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1392,6 +1404,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1511,6 +1524,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1576,6 +1590,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1638,6 +1653,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1752,6 +1768,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1942,6 +1959,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 04dac3f9b73..52e2d8fabb1 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -229,6 +229,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.batchAnnotateImages(request, options, callback); diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 6ab945b4516..5615708c69b 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -271,6 +271,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.batchAnnotateImages(request, options, callback); @@ -368,6 +369,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.asyncBatchAnnotateFiles( diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index d5f5e7ab5d6..03246c971fb 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -271,6 +271,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.batchAnnotateImages(request, options, callback); @@ -368,6 +369,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.asyncBatchAnnotateFiles( diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 6fe8e1b27b3..41dea7b25e6 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -364,6 +364,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -472,6 +473,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -589,6 +591,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -663,6 +666,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -718,6 +722,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -797,6 +802,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -905,6 +911,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1023,6 +1030,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1105,6 +1113,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1161,6 +1170,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1252,6 +1262,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1311,6 +1322,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1421,6 +1433,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1540,6 +1553,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1605,6 +1619,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1671,6 +1686,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1785,6 +1801,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1975,6 +1992,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index 873ac56af78..044e756385d 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -288,6 +288,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.batchAnnotateImages(request, options, callback); @@ -342,6 +343,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.batchAnnotateFiles(request, options, callback); @@ -461,6 +463,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.asyncBatchAnnotateImages( @@ -562,6 +565,7 @@ class ImageAnnotatorClient { callback = options; options = {}; } + request = request || {}; options = options || {}; return this._innerApiCalls.asyncBatchAnnotateFiles( diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index c7d50e7789f..b9d9dd61145 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -364,6 +364,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -472,6 +473,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -589,6 +591,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -663,6 +666,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -718,6 +722,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -797,6 +802,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -905,6 +911,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1023,6 +1030,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1106,6 +1114,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1162,6 +1171,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1253,6 +1263,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1312,6 +1323,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1422,6 +1434,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1541,6 +1554,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1606,6 +1620,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1672,6 +1687,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1786,6 +1802,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; @@ -1976,6 +1993,7 @@ class ProductSearchClient { callback = options; options = {}; } + request = request || {}; options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 28aafec233d..1d076c9c4f5 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-06-18T01:06:49.149440Z", + "updateTime": "2019-08-02T11:31:16.585444Z", "sources": [ { "generator": { "name": "artman", - "version": "0.26.0", - "dockerImage": "googleapis/artman@sha256:6db0735b0d3beec5b887153a2a7c7411fc7bb53f73f6f389a822096bd14a3a15" + "version": "0.32.0", + "dockerImage": "googleapis/artman@sha256:6929f343c400122d85818195b18613330a12a014bffc1e08499550d40571479d" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "384aa843867c4d17756d14a01f047b6368494d32", - "internalRef": "253675319" + "sha": "3a40d3a5f5e5a33fd49888a8a33ed021f65c0ccf", + "internalRef": "261297518" } }, { From 45c0f8a5620a45bdedb9bc6d0a585ac7c9214602 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 5 Aug 2019 10:01:53 -0700 Subject: [PATCH 318/588] chore: release 1.1.4 (#419) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index d9b8acfd6ac..7f819577bd3 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [1.1.4](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.3...v1.1.4) (2019-08-05) + + +### Bug Fixes + +* allow calls with no request, add JSON proto ([55c0380](https://www.github.com/googleapis/nodejs-vision/commit/55c0380)) + ### [1.1.3](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.2...v1.1.3) (2019-06-26) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 0edcde940c7..ff326e9a88a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.1.3", + "version": "1.1.4", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 8f036e3e474..dcc7aeae169 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.1.3", + "@google-cloud/vision": "^1.1.4", "mathjs": "^6.0.0", "natural": "^0.6.1", "redis": "^2.8.0", From d4f46c6c598a97b96f136f47244e716bce9397de Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 19 Aug 2019 12:57:07 -0700 Subject: [PATCH 319/588] feat: adds support for multiple regions --- .../cloud/vision/v1/image_annotator.proto | 111 +++++++++++++- .../cloud/vision/v1/product_search.proto | 20 +++ .../vision/v1/product_search_service.proto | 80 +++++++++- .../cloud/vision/v1/text_annotation.proto | 4 +- .../cloud/vision/v1/web_detection.proto | 22 +-- .../cloud/vision/v1/doc_image_annotator.js | 75 ++++++++- .../cloud/vision/v1/doc_product_search.js | 30 ++++ .../vision/v1/doc_product_search_service.js | 57 ++++++- .../cloud/vision/v1/doc_text_annotation.js | 4 +- .../cloud/vision/v1/doc_web_detection.js | 38 ++--- .../src/v1/image_annotator_client.js | 80 ++++++++++ .../src/v1/product_search_client.js | 145 ++++++++++++++++++ .../src/v1/product_search_client_config.json | 5 + packages/google-cloud-vision/synth.metadata | 10 +- packages/google-cloud-vision/test/gapic-v1.js | 88 +++++++++++ 15 files changed, 708 insertions(+), 61 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index 3375345e2d1..e4ca1539350 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -18,6 +18,7 @@ syntax = "proto3"; package google.cloud.vision.v1; import "google/api/annotations.proto"; +import "google/api/client.proto"; import "google/cloud/vision/v1/geometry.proto"; import "google/cloud/vision/v1/product_search.proto"; import "google/cloud/vision/v1/text_annotation.proto"; @@ -40,12 +41,25 @@ option objc_class_prefix = "GCVN"; // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. service ImageAnnotator { + option (google.api.default_host) = "vision.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-vision"; + // Run image detection and annotation for a batch of images. rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1/images:annotate" body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*}/images:annotate" + body: "*" + } + additional_bindings { + post: "/v1/{parent=projects/*}/images:annotate" + body: "*" + } }; } @@ -61,6 +75,14 @@ service ImageAnnotator { option (google.api.http) = { post: "/v1/files:annotate" body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*}/files:annotate" + body: "*" + } + additional_bindings { + post: "/v1/{parent=projects/*}/files:annotate" + body: "*" + } }; } @@ -78,6 +100,14 @@ service ImageAnnotator { option (google.api.http) = { post: "/v1/images:asyncBatchAnnotate" body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*}/images:asyncBatchAnnotate" + body: "*" + } + additional_bindings { + post: "/v1/{parent=projects/*}/images:asyncBatchAnnotate" + body: "*" + } }; } @@ -92,6 +122,14 @@ service ImageAnnotator { option (google.api.http) = { post: "/v1/files:asyncBatchAnnotate" body: "*" + additional_bindings { + post: "/v1/{parent=projects/*/locations/*}/files:asyncBatchAnnotate" + body: "*" + } + additional_bindings { + post: "/v1/{parent=projects/*}/files:asyncBatchAnnotate" + body: "*" + } }; } } @@ -166,19 +204,19 @@ enum Likelihood { // Unknown likelihood. UNKNOWN = 0; - // It is very unlikely that the image belongs to the specified vertical. + // It is very unlikely. VERY_UNLIKELY = 1; - // It is unlikely that the image belongs to the specified vertical. + // It is unlikely. UNLIKELY = 2; - // It is possible that the image belongs to the specified vertical. + // It is possible. POSSIBLE = 3; - // It is likely that the image belongs to the specified vertical. + // It is likely. LIKELY = 4; - // It is very likely that the image belongs to the specified vertical. + // It is very likely. VERY_LIKELY = 5; } @@ -700,17 +738,36 @@ message AnnotateFileResponse { // Information about the file for which this response is generated. InputConfig input_config = 1; - // Individual responses to images found within the file. + // Individual responses to images found within the file. This field will be + // empty if the `error` field is set. repeated AnnotateImageResponse responses = 2; // This field gives the total number of pages in the file. int32 total_pages = 3; + + // If set, represents the error message for the failed request. The + // `responses` field will not be set in this case. + google.rpc.Status error = 4; } // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { // Individual image annotation requests for this batch. repeated AnnotateImageRequest requests = 1; + + // Optional. Target project and location to make a call. + // + // Format: `projects/{project-id}/locations/{location-id}`. + // + // If no parent is specified, a region will be chosen automatically. + // + // Supported location-ids: + // `us`: USA country only, + // `asia`: East asia areas, like Japan, Taiwan, + // `eu`: The European Union. + // + // Example: `projects/project-A/locations/eu`. + string parent = 4; } // Response to a batch image annotation request. @@ -752,6 +809,20 @@ message BatchAnnotateFilesRequest { // The list of file annotation requests. Right now we support only one // AnnotateFileRequest in BatchAnnotateFilesRequest. repeated AnnotateFileRequest requests = 1; + + // Optional. Target project and location to make a call. + // + // Format: `projects/{project-id}/locations/{location-id}`. + // + // If no parent is specified, a region will be chosen automatically. + // + // Supported location-ids: + // `us`: USA country only, + // `asia`: East asia areas, like Japan, Taiwan, + // `eu`: The European Union. + // + // Example: `projects/project-A/locations/eu`. + string parent = 3; } // A list of file annotation responses. @@ -789,6 +860,20 @@ message AsyncBatchAnnotateImagesRequest { // Required. The desired output location and metadata (e.g. format). OutputConfig output_config = 2; + + // Optional. Target project and location to make a call. + // + // Format: `projects/{project-id}/locations/{location-id}`. + // + // If no parent is specified, a region will be chosen automatically. + // + // Supported location-ids: + // `us`: USA country only, + // `asia`: East asia areas, like Japan, Taiwan, + // `eu`: The European Union. + // + // Example: `projects/project-A/locations/eu`. + string parent = 4; } // Response to an async batch image annotation request. @@ -802,6 +887,20 @@ message AsyncBatchAnnotateImagesResponse { message AsyncBatchAnnotateFilesRequest { // Individual async file annotation requests for this batch. repeated AsyncAnnotateFileRequest requests = 1; + + // Optional. Target project and location to make a call. + // + // Format: `projects/{project-id}/locations/{location-id}`. + // + // If no parent is specified, a region will be chosen automatically. + // + // Supported location-ids: + // `us`: USA country only, + // `asia`: East asia areas, like Japan, Taiwan, + // `eu`: The European Union. + // + // Example: `projects/project-A/locations/eu`. + string parent = 4; } // Response to an async batch file annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 9d981ff7796..065e3d54c2c 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -78,6 +78,23 @@ message ProductSearchResults { string image = 3; } + // Prediction for what the object in the bounding box is. + message ObjectAnnotation { + // Object ID that should align with EntityAnnotation mid. + string mid = 1; + + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + + // Object name, expressed in its `language_code` language. + string name = 3; + + // Score of the result. Range [0, 1]. + float score = 4; + } + // Information about the products similar to a single product in a query // image. message GroupedResult { @@ -86,6 +103,9 @@ message ProductSearchResults { // List of results, one for each product match. repeated Result results = 2; + + // List of generic predictions for the object in the bounding box. + repeated ObjectAnnotation object_annotations = 3; } // Timestamp of the index which provided these results. Products added to the diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index 5b36591c2e9..0fae1f80a65 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -18,6 +18,7 @@ syntax = "proto3"; package google.cloud.vision.v1; import "google/api/annotations.proto"; +import "google/api/client.proto"; import "google/cloud/vision/v1/geometry.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/empty.proto"; @@ -49,6 +50,11 @@ option objc_class_prefix = "GCVN"; // [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named // `projects/*/locations/*/products/*/referenceImages/*` service ProductSearch { + option (google.api.default_host) = "vision.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-vision"; + // Creates and returns a new ProductSet resource. // // Possible errors: @@ -305,6 +311,38 @@ service ProductSearch { body: "*" }; } + + // Asynchronous API to delete all Products in a ProductSet or all Products + // that are in no ProductSet. + // + // If a Product is a member of the specified ProductSet in addition to other + // ProductSets, the Product will still be deleted. + // + // It is recommended to not delete the specified ProductSet until after this + // operation has completed. It is also recommended to not add any of the + // Products involved in the batch delete to a new ProductSet while this + // operation is running because those Products may still end up deleted. + // + // It's not possible to undo the PurgeProducts operation. Therefore, it is + // recommended to keep the csv files used in ImportProductSets (if that was + // how you originally built the Product Set) before starting PurgeProducts, in + // case you need to re-import the data after deletion. + // + // If the plan is to purge all of the Products from a ProductSet and then + // re-use the empty ProductSet to re-import new Products into the empty + // ProductSet, you must wait until the PurgeProducts operation has finished + // for that ProductSet. + // + // The [google.longrunning.Operation][google.longrunning.Operation] API can be + // used to keep track of the progress and results of the request. + // `Operation.metadata` contains `BatchOperationMetadata`. (progress) + rpc PurgeProducts(PurgeProductsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/products:purge" + body: "*" + }; + } } // A Product contains ReferenceImages. @@ -338,10 +376,8 @@ message Product { // The category for the product identified by the reference image. This should // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories - // "homegoods", "apparel", and "toys" are still supported but will be - // deprecated. For new products, please use "homegoods-v2", "apparel-v2", or - // "toys-v2" for better product search accuracy. It is recommended to migrate - // existing products to these categories as well. + // "homegoods", "apparel", and "toys" are still supported, but these should + // not be used for new products. // // This field is immutable. string product_category = 4; @@ -354,7 +390,11 @@ message Product { // to be supported soon. // // Multiple values can be assigned to the same key. One product may have up to - // 100 product_labels. + // 500 product_labels. + // + // Notice that the total number of distinct product_labels over all products + // in one ProductSet cannot exceed 1M, otherwise the product search pipeline + // will refuse to work for that ProductSet. repeated KeyValue product_labels = 5; } @@ -836,3 +876,33 @@ message BatchOperationMetadata { // set to true. google.protobuf.Timestamp end_time = 3; } + +// Config to control which ProductSet contains the Products to be deleted. +message ProductSetPurgeConfig { + // The ProductSet that contains the Products to delete. If a Product is a + // member of product_set_id in addition to other ProductSets, the Product will + // still be deleted. + string product_set_id = 1; +} + +// Request message for the `PurgeProducts` method. +message PurgeProductsRequest { + // The Products to delete. + oneof target { + // Specify which ProductSet contains the Products to be deleted. + ProductSetPurgeConfig product_set_purge_config = 2; + + // If delete_orphan_products is true, all Products that are not in any + // ProductSet will be deleted. + bool delete_orphan_products = 3; + } + + // The project and location in which the Products should be deleted. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1; + + // The default value is false. Override this value to true to actually perform + // the purge. + bool force = 4; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index afbebea5142..09459b90e69 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -194,7 +194,7 @@ message Paragraph { // and the vertex order will still be (0, 1, 2, 3). BoundingPoly bounding_box = 2; - // List of words in this paragraph. + // List of all words in this paragraph. repeated Word words = 3; // Confidence of the OCR results for the paragraph. Range [0, 1]. @@ -250,7 +250,7 @@ message Symbol { // 2----3 // | | // 1----0 - // and the vertice order will still be (0, 1, 2, 3). + // and the vertex order will still be (0, 1, 2, 3). BoundingPoly bounding_box = 2; // The actual UTF-8 representation of the symbol. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto index f4a22019c65..5ba8640382f 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -50,17 +50,6 @@ message WebDetection { float score = 2; } - // Label to provide extra metadata for the web detection. - message WebLabel { - // Label for extra metadata. - string label = 1; - - // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - // For more information, see - // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - string language_code = 2; - } - // Metadata for web pages. message WebPage { // The result web page URL. @@ -83,6 +72,17 @@ message WebDetection { repeated WebImage partial_matching_images = 5; } + // Label to provide extra metadata for the web detection. + message WebLabel { + // Label for extra metadata. + string label = 1; + + // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + } + // Deduced entities from similar images on the Internet. repeated WebEntity web_entities = 1; diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index 7b63d3bf037..2ce23c0b953 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -989,13 +989,20 @@ const AnnotateImageResponse = { * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1.InputConfig} * * @property {Object[]} responses - * Individual responses to images found within the file. + * Individual responses to images found within the file. This field will be + * empty if the `error` field is set. * * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1.AnnotateImageResponse} * * @property {number} totalPages * This field gives the total number of pages in the file. * + * @property {Object} error + * If set, represents the error message for the failed request. The + * `responses` field will not be set in this case. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * * @typedef AnnotateFileResponse * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -1012,6 +1019,20 @@ const AnnotateFileResponse = { * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} * + * @property {string} parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * * @typedef BatchAnnotateImagesRequest * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -1087,6 +1108,20 @@ const AnnotateFileRequest = { * * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1.AnnotateFileRequest} * + * @property {string} parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * * @typedef BatchAnnotateFilesRequest * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.BatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -1172,6 +1207,20 @@ const AsyncAnnotateFileResponse = { * * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} * + * @property {string} parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * * @typedef AsyncBatchAnnotateImagesRequest * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -1205,6 +1254,20 @@ const AsyncBatchAnnotateImagesResponse = { * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1.AsyncAnnotateFileRequest} * + * @property {string} parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * * @typedef AsyncBatchAnnotateFilesRequest * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -1412,27 +1475,27 @@ const Likelihood = { UNKNOWN: 0, /** - * It is very unlikely that the image belongs to the specified vertical. + * It is very unlikely. */ VERY_UNLIKELY: 1, /** - * It is unlikely that the image belongs to the specified vertical. + * It is unlikely. */ UNLIKELY: 2, /** - * It is possible that the image belongs to the specified vertical. + * It is possible. */ POSSIBLE: 3, /** - * It is likely that the image belongs to the specified vertical. + * It is likely. */ LIKELY: 4, /** - * It is very likely that the image belongs to the specified vertical. + * It is very likely. */ VERY_LIKELY: 5 }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js index 6585594183b..d2c58ea4bf0 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -112,6 +112,31 @@ const ProductSearchResults = { // This is for documentation. Actual contents will be loaded by gRPC. }, + /** + * Prediction for what the object in the bounding box is. + * + * @property {string} mid + * Object ID that should align with EntityAnnotation mid. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {string} name + * Object name, expressed in its `language_code` language. + * + * @property {number} score + * Score of the result. Range [0, 1]. + * + * @typedef ObjectAnnotation + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} + */ + ObjectAnnotation: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + /** * Information about the products similar to a single product in a query * image. @@ -126,6 +151,11 @@ const ProductSearchResults = { * * This object should have the same structure as [Result]{@link google.cloud.vision.v1.Result} * + * @property {Object[]} objectAnnotations + * List of generic predictions for the object in the bounding box. + * + * This object should have the same structure as [ObjectAnnotation]{@link google.cloud.vision.v1.ObjectAnnotation} + * * @typedef GroupedResult * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.ProductSearchResults.GroupedResult definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index 8ce2c8fcdce..9219fa93848 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -37,10 +37,8 @@ * @property {string} productCategory * The category for the product identified by the reference image. This should * be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories - * "homegoods", "apparel", and "toys" are still supported but will be - * deprecated. For new products, please use "homegoods-v2", "apparel-v2", or - * "toys-v2" for better product search accuracy. It is recommended to migrate - * existing products to these categories as well. + * "homegoods", "apparel", and "toys" are still supported, but these should + * not be used for new products. * * This field is immutable. * @@ -53,7 +51,11 @@ * to be supported soon. * * Multiple values can be assigned to the same key. One product may have up to - * 100 product_labels. + * 500 product_labels. + * + * Notice that the total number of distinct product_labels over all products + * in one ProductSet cannot exceed 1M, otherwise the product search pipeline + * will refuse to work for that ProductSet. * * This object should have the same structure as [KeyValue]{@link google.cloud.vision.v1.KeyValue} * @@ -840,4 +842,49 @@ const BatchOperationMetadata = { */ CANCELLED: 4 } +}; + +/** + * Config to control which ProductSet contains the Products to be deleted. + * + * @property {string} productSetId + * The ProductSet that contains the Products to delete. If a Product is a + * member of product_set_id in addition to other ProductSets, the Product will + * still be deleted. + * + * @typedef ProductSetPurgeConfig + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.ProductSetPurgeConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const ProductSetPurgeConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `PurgeProducts` method. + * + * @property {Object} productSetPurgeConfig + * Specify which ProductSet contains the Products to be deleted. + * + * This object should have the same structure as [ProductSetPurgeConfig]{@link google.cloud.vision.v1.ProductSetPurgeConfig} + * + * @property {boolean} deleteOrphanProducts + * If delete_orphan_products is true, all Products that are not in any + * ProductSet will be deleted. + * + * @property {string} parent + * The project and location in which the Products should be deleted. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {boolean} force + * The default value is false. Override this value to true to actually perform + * the purge. + * + * @typedef PurgeProductsRequest + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.PurgeProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} + */ +const PurgeProductsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index c5e21e0e45c..dea61108c3c 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -292,7 +292,7 @@ const Block = { * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {Object[]} words - * List of words in this paragraph. + * List of all words in this paragraph. * * This object should have the same structure as [Word]{@link google.cloud.vision.v1.Word} * @@ -374,7 +374,7 @@ const Word = { * 2----3 * | | * 1----0 - * and the vertice order will still be (0, 1, 2, 3). + * and the vertex order will still be (0, 1, 2, 3). * * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js index afb4f6fc32a..883ee78f57d 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js @@ -97,25 +97,6 @@ const WebDetection = { // This is for documentation. Actual contents will be loaded by gRPC. }, - /** - * Label to provide extra metadata for the web detection. - * - * @property {string} label - * Label for extra metadata. - * - * @property {string} languageCode - * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - * For more information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @typedef WebLabel - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} - */ - WebLabel: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - /** * Metadata for web pages. * @@ -148,5 +129,24 @@ const WebDetection = { */ WebPage: { // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Label to provide extra metadata for the web detection. + * + * @property {string} label + * Label for extra metadata. + * + * @property {string} languageCode + * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @typedef WebLabel + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} + */ + WebLabel: { + // This is for documentation. Actual contents will be loaded by gRPC. } }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 6f4af4a88ee..2463ac93d67 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -254,6 +254,19 @@ class ImageAnnotatorClient { * Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} + * @param {string} [request.parent] + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. @@ -290,6 +303,13 @@ class ImageAnnotatorClient { } request = request || {}; options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.batchAnnotateImages(request, options, callback); } @@ -310,6 +330,19 @@ class ImageAnnotatorClient { * AnnotateFileRequest in BatchAnnotateFilesRequest. * * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1.AnnotateFileRequest} + * @param {string} [request.parent] + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. @@ -346,6 +379,13 @@ class ImageAnnotatorClient { } request = request || {}; options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.batchAnnotateFiles(request, options, callback); } @@ -371,6 +411,19 @@ class ImageAnnotatorClient { * Required. The desired output location and metadata (e.g. format). * * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} + * @param {string} [request.parent] + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. @@ -466,6 +519,13 @@ class ImageAnnotatorClient { } request = request || {}; options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.asyncBatchAnnotateImages( request, @@ -488,6 +548,19 @@ class ImageAnnotatorClient { * Individual async file annotation requests for this batch. * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1.AsyncAnnotateFileRequest} + * @param {string} [request.parent] + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. @@ -568,6 +641,13 @@ class ImageAnnotatorClient { } request = request || {}; options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); return this._innerApiCalls.asyncBatchAnnotateFiles( request, diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 9173027b243..a8e60f35360 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -181,6 +181,12 @@ class ProductSearchClient { const importProductSetsMetadata = protoFilesRoot.lookup( 'google.cloud.vision.v1.BatchOperationMetadata' ); + const purgeProductsResponse = protoFilesRoot.lookup( + 'google.protobuf.Empty' + ); + const purgeProductsMetadata = protoFilesRoot.lookup( + 'google.cloud.vision.v1.BatchOperationMetadata' + ); this._descriptors.longrunning = { importProductSets: new gax.LongrunningDescriptor( @@ -188,6 +194,11 @@ class ProductSearchClient { importProductSetsResponse.decode.bind(importProductSetsResponse), importProductSetsMetadata.decode.bind(importProductSetsMetadata) ), + purgeProducts: new gax.LongrunningDescriptor( + this.operationsClient, + purgeProductsResponse.decode.bind(purgeProductsResponse), + purgeProductsMetadata.decode.bind(purgeProductsMetadata) + ), }; // Put together the default options sent with requests. @@ -231,6 +242,7 @@ class ProductSearchClient { 'removeProductFromProductSet', 'listProductsInProductSet', 'importProductSets', + 'purgeProducts', ]; for (const methodName of productSearchStubMethods) { this._innerApiCalls[methodName] = gax.createApiCall( @@ -1972,6 +1984,139 @@ class ProductSearchClient { return this._innerApiCalls.importProductSets(request, options, callback); } + /** + * Asynchronous API to delete all Products in a ProductSet or all Products + * that are in no ProductSet. + * + * If a Product is a member of the specified ProductSet in addition to other + * ProductSets, the Product will still be deleted. + * + * It is recommended to not delete the specified ProductSet until after this + * operation has completed. It is also recommended to not add any of the + * Products involved in the batch delete to a new ProductSet while this + * operation is running because those Products may still end up deleted. + * + * It's not possible to undo the PurgeProducts operation. Therefore, it is + * recommended to keep the csv files used in ImportProductSets (if that was + * how you originally built the Product Set) before starting PurgeProducts, in + * case you need to re-import the data after deletion. + * + * If the plan is to purge all of the Products from a ProductSet and then + * re-use the empty ProductSet to re-import new Products into the empty + * ProductSet, you must wait until the PurgeProducts operation has finished + * for that ProductSet. + * + * The google.longrunning.Operation API can be + * used to keep track of the progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The project and location in which the Products should be deleted. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {Object} [request.productSetPurgeConfig] + * Specify which ProductSet contains the Products to be deleted. + * + * This object should have the same structure as [ProductSetPurgeConfig]{@link google.cloud.vision.v1.ProductSetPurgeConfig} + * @param {boolean} [request.deleteOrphanProducts] + * If delete_orphan_products is true, all Products that are not in any + * ProductSet will be deleted. + * @param {boolean} [request.force] + * The default value is false. Override this value to true to actually perform + * the purge. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('@google-cloud/vision'); + * + * const client = new vision.v1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * // Handle the operation using the promise pattern. + * client.purgeProducts({parent: formattedParent}) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Operation#promise starts polling for the completion of the LRO. + * return operation.promise(); + * }) + * .then(responses => { + * const result = responses[0]; + * const metadata = responses[1]; + * const finalApiResponse = responses[2]; + * }) + * .catch(err => { + * console.error(err); + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * // Handle the operation using the event emitter pattern. + * client.purgeProducts({parent: formattedParent}) + * .then(responses => { + * const [operation, initialApiResponse] = responses; + * + * // Adding a listener for the "complete" event starts polling for the + * // completion of the operation. + * operation.on('complete', (result, metadata, finalApiResponse) => { + * // doSomethingWith(result); + * }); + * + * // Adding a listener for the "progress" event causes the callback to be + * // called on any change in metadata when the operation is polled. + * operation.on('progress', (metadata, apiResponse) => { + * // doSomethingWith(metadata) + * }); + * + * // Adding a listener for the "error" event handles any errors found during polling. + * operation.on('error', err => { + * // throw(err); + * }); + * }) + * .catch(err => { + * console.error(err); + * }); + * + * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + * + * // Handle the operation using the await pattern. + * const [operation] = await client.purgeProducts({parent: formattedParent}); + * + * const [response] = await operation.promise(); + */ + purgeProducts(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); + + return this._innerApiCalls.purgeProducts(request, options, callback); + } + // -------------------- // -- Path templates -- // -------------------- diff --git a/packages/google-cloud-vision/src/v1/product_search_client_config.json b/packages/google-cloud-vision/src/v1/product_search_client_config.json index 8cf01c267da..c4147eca734 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1/product_search_client_config.json @@ -109,6 +109,11 @@ "timeout_millis": 60000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" + }, + "PurgeProducts": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" } } } diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 1d076c9c4f5..d01f03acafb 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-08-02T11:31:16.585444Z", + "updateTime": "2019-08-07T11:30:05.436351Z", "sources": [ { "generator": { "name": "artman", - "version": "0.32.0", - "dockerImage": "googleapis/artman@sha256:6929f343c400122d85818195b18613330a12a014bffc1e08499550d40571479d" + "version": "0.32.1", + "dockerImage": "googleapis/artman@sha256:a684d40ba9a4e15946f5f2ca6b4bd9fe301192f522e9de4fff622118775f309b" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "3a40d3a5f5e5a33fd49888a8a33ed021f65c0ccf", - "internalRef": "261297518" + "sha": "6d29882872298c8bfbaef33bd69bfca275c4d2eb", + "internalRef": "262019251" } }, { diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index d414988df8a..231c9023647 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -1608,6 +1608,94 @@ describe('ProductSearchClient', () => { ); }); }); + + describe('purgeProducts', function() { + it('invokes purgeProducts without error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock response + const expectedResponse = {}; + + // Mock Grpc layer + client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + + client + .purgeProducts(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(responses => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch(err => { + done(err); + }); + }); + + it('invokes purgeProducts with error', done => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); + const request = { + parent: formattedParent, + }; + + // Mock Grpc layer + client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( + request, + null, + error + ); + + client + .purgeProducts(request) + .then(responses => { + const operation = responses[0]; + return operation.promise(); + }) + .then(() => { + assert.fail(); + }) + .catch(err => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + + it('has longrunning decoder functions', () => { + const client = new visionModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert( + client._descriptors.longrunning.purgeProducts.responseDecoder instanceof + Function + ); + assert( + client._descriptors.longrunning.purgeProducts.metadataDecoder instanceof + Function + ); + }); + }); }); function mockSimpleGrpcMethod(expectedRequest, response, error) { From f14b79baaa11ee2e620e04963cde43252e275922 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 19 Aug 2019 13:11:09 -0700 Subject: [PATCH 320/588] chore: release 1.2.0 (#422) --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 7f819577bd3..2c673d45320 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.2.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.4...v1.2.0) (2019-08-19) + + +### Features + +* adds support for multiple regions ([244e21e](https://www.github.com/googleapis/nodejs-vision/commit/244e21e)) + ### [1.1.4](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.3...v1.1.4) (2019-08-05) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ff326e9a88a..ee11f5944d1 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.1.4", + "version": "1.2.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index dcc7aeae169..9f0d6e8e3ab 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.1.4", + "@google-cloud/vision": "^1.2.0", "mathjs": "^6.0.0", "natural": "^0.6.1", "redis": "^2.8.0", From dc3531b5c314302c17d861e99d859b8002ec2875 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 28 Aug 2019 14:07:03 -0700 Subject: [PATCH 321/588] docs: update BatchAnnotateFiles documentation --- .../cloud/vision/v1p4beta1/image_annotator.proto | 7 ++++--- .../src/v1p4beta1/image_annotator_client.js | 7 ++++--- packages/google-cloud-vision/synth.metadata | 10 +++++----- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index ebbf92c35b1..30318044a67 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -52,9 +52,10 @@ service ImageAnnotator { // Service that performs image detection and annotation for a batch of files. // Now only "application/pdf", "image/tiff" and "image/gif" are supported. // - // This service will extract at most the first 10 frames (gif) or pages - // (pdf or tiff) from each file provided and perform detection and annotation - // for each image extracted. + // This service will extract at most 5 (customers can specify which 5 in + // AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each + // file provided and perform detection and annotation for each image + // extracted. rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) returns (BatchAnnotateFilesResponse) { option (google.api.http) = { diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index 044e756385d..a5a3d9a2e60 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -298,9 +298,10 @@ class ImageAnnotatorClient { * Service that performs image detection and annotation for a batch of files. * Now only "application/pdf", "image/tiff" and "image/gif" are supported. * - * This service will extract at most the first 10 frames (gif) or pages - * (pdf or tiff) from each file provided and perform detection and annotation - * for each image extracted. + * This service will extract at most 5 (customers can specify which 5 in + * AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each + * file provided and perform detection and annotation for each image + * extracted. * * @param {Object} request * The request object that will be sent. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index d01f03acafb..7c67de76898 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-08-07T11:30:05.436351Z", + "updateTime": "2019-08-20T11:26:04.593457Z", "sources": [ { "generator": { "name": "artman", - "version": "0.32.1", - "dockerImage": "googleapis/artman@sha256:a684d40ba9a4e15946f5f2ca6b4bd9fe301192f522e9de4fff622118775f309b" + "version": "0.33.0", + "dockerImage": "googleapis/artman@sha256:c6231efb525569736226b1f7af7565dbc84248efafb3692a5bb1d2d8a7975d53" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "6d29882872298c8bfbaef33bd69bfca275c4d2eb", - "internalRef": "262019251" + "sha": "4bb50a3e4c8d49d1cec1a98434cccaeaec55a886", + "internalRef": "264193378" } }, { From 2b6fc206d4447146138a343a15317aa88f014e33 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 5 Sep 2019 13:43:54 -0700 Subject: [PATCH 322/588] fix: use process versions object for client header (#428) * [CHANGE ME] Re-generated to pick up changes in the API or client library generator. * fixes --- packages/google-cloud-vision/README.md | 4 +- .../google-cloud-vision/protos/protos.json | 3112 +---------------- .../src/service_proto_list.json | 1 - .../v1/doc/google/protobuf/doc_timestamp.js | 10 +- .../src/v1/image_annotator_client.js | 2 +- .../src/v1/product_search_client.js | 2 +- .../src/v1p1beta1/image_annotator_client.js | 2 +- .../src/v1p2beta1/image_annotator_client.js | 2 +- .../doc/google/protobuf/doc_timestamp.js | 10 +- .../src/v1p3beta1/image_annotator_client.js | 2 +- .../src/v1p3beta1/product_search_client.js | 2 +- .../doc/google/protobuf/doc_timestamp.js | 10 +- .../src/v1p4beta1/image_annotator_client.js | 2 +- .../src/v1p4beta1/product_search_client.js | 2 +- packages/google-cloud-vision/synth.metadata | 10 +- packages/google-cloud-vision/synth.py | 1 + 16 files changed, 34 insertions(+), 3140 deletions(-) delete mode 100644 packages/google-cloud-vision/src/service_proto_list.json diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 26de34252c6..a67d392dedf 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -120,12 +120,10 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) -[client-docs]: https://googleapis.dev/nodejs/vision/latest#reference +[client-docs]: https://googleapis.dev/nodejs/vision/latest [product-docs]: https://cloud.google.com/vision [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=vision.googleapis.com [auth]: https://cloud.google.com/docs/authentication/getting-started - - diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 869cf05d12b..9e26dfeeb6e 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -1,3111 +1 @@ -{ - "nested": { - "google": { - "nested": { - "cloud": { - "nested": { - "vision": { - "nested": { - "v1p4beta1": { - "options": { - "cc_enable_arenas": true, - "go_package": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision", - "java_multiple_files": true, - "java_outer_classname": "TextAnnotationProto", - "java_package": "com.google.cloud.vision.v1p4beta1", - "objc_class_prefix": "GCVN" - }, - "nested": { - "WebDetection": { - "fields": { - "webEntities": { - "rule": "repeated", - "type": "WebEntity", - "id": 1 - }, - "fullMatchingImages": { - "rule": "repeated", - "type": "WebImage", - "id": 2 - }, - "partialMatchingImages": { - "rule": "repeated", - "type": "WebImage", - "id": 3 - }, - "pagesWithMatchingImages": { - "rule": "repeated", - "type": "WebPage", - "id": 4 - }, - "visuallySimilarImages": { - "rule": "repeated", - "type": "WebImage", - "id": 6 - }, - "bestGuessLabels": { - "rule": "repeated", - "type": "WebLabel", - "id": 8 - } - }, - "nested": { - "WebEntity": { - "fields": { - "entityId": { - "type": "string", - "id": 1 - }, - "score": { - "type": "float", - "id": 2 - }, - "description": { - "type": "string", - "id": 3 - } - } - }, - "WebImage": { - "fields": { - "url": { - "type": "string", - "id": 1 - }, - "score": { - "type": "float", - "id": 2 - } - } - }, - "WebLabel": { - "fields": { - "label": { - "type": "string", - "id": 1 - }, - "languageCode": { - "type": "string", - "id": 2 - } - } - }, - "WebPage": { - "fields": { - "url": { - "type": "string", - "id": 1 - }, - "score": { - "type": "float", - "id": 2 - }, - "pageTitle": { - "type": "string", - "id": 3 - }, - "fullMatchingImages": { - "rule": "repeated", - "type": "WebImage", - "id": 4 - }, - "partialMatchingImages": { - "rule": "repeated", - "type": "WebImage", - "id": 5 - } - } - } - } - }, - "ImageAnnotator": { - "methods": { - "BatchAnnotateImages": { - "requestType": "BatchAnnotateImagesRequest", - "responseType": "BatchAnnotateImagesResponse", - "options": { - "(google.api.http).post": "/v1p4beta1/images:annotate", - "(google.api.http).body": "*" - } - }, - "BatchAnnotateFiles": { - "requestType": "BatchAnnotateFilesRequest", - "responseType": "BatchAnnotateFilesResponse", - "options": { - "(google.api.http).post": "/v1p4beta1/files:annotate", - "(google.api.http).body": "*" - } - }, - "AsyncBatchAnnotateImages": { - "requestType": "AsyncBatchAnnotateImagesRequest", - "responseType": "google.longrunning.Operation", - "options": { - "(google.api.http).post": "/v1p4beta1/images:asyncBatchAnnotate", - "(google.api.http).body": "*" - } - }, - "AsyncBatchAnnotateFiles": { - "requestType": "AsyncBatchAnnotateFilesRequest", - "responseType": "google.longrunning.Operation", - "options": { - "(google.api.http).post": "/v1p4beta1/files:asyncBatchAnnotate", - "(google.api.http).body": "*" - } - } - } - }, - "Feature": { - "fields": { - "type": { - "type": "Type", - "id": 1 - }, - "maxResults": { - "type": "int32", - "id": 2 - }, - "model": { - "type": "string", - "id": 3 - } - }, - "nested": { - "Type": { - "values": { - "TYPE_UNSPECIFIED": 0, - "FACE_DETECTION": 1, - "LANDMARK_DETECTION": 2, - "LOGO_DETECTION": 3, - "LABEL_DETECTION": 4, - "TEXT_DETECTION": 5, - "DOCUMENT_TEXT_DETECTION": 11, - "SAFE_SEARCH_DETECTION": 6, - "IMAGE_PROPERTIES": 7, - "CROP_HINTS": 9, - "WEB_DETECTION": 10, - "PRODUCT_SEARCH": 12, - "OBJECT_LOCALIZATION": 19 - } - } - } - }, - "ImageSource": { - "fields": { - "gcsImageUri": { - "type": "string", - "id": 1 - }, - "imageUri": { - "type": "string", - "id": 2 - } - } - }, - "Image": { - "fields": { - "content": { - "type": "bytes", - "id": 1 - }, - "source": { - "type": "ImageSource", - "id": 2 - } - } - }, - "Likelihood": { - "values": { - "UNKNOWN": 0, - "VERY_UNLIKELY": 1, - "UNLIKELY": 2, - "POSSIBLE": 3, - "LIKELY": 4, - "VERY_LIKELY": 5 - } - }, - "FaceAnnotation": { - "fields": { - "boundingPoly": { - "type": "BoundingPoly", - "id": 1 - }, - "fdBoundingPoly": { - "type": "BoundingPoly", - "id": 2 - }, - "landmarks": { - "rule": "repeated", - "type": "Landmark", - "id": 3 - }, - "rollAngle": { - "type": "float", - "id": 4 - }, - "panAngle": { - "type": "float", - "id": 5 - }, - "tiltAngle": { - "type": "float", - "id": 6 - }, - "detectionConfidence": { - "type": "float", - "id": 7 - }, - "landmarkingConfidence": { - "type": "float", - "id": 8 - }, - "joyLikelihood": { - "type": "Likelihood", - "id": 9 - }, - "sorrowLikelihood": { - "type": "Likelihood", - "id": 10 - }, - "angerLikelihood": { - "type": "Likelihood", - "id": 11 - }, - "surpriseLikelihood": { - "type": "Likelihood", - "id": 12 - }, - "underExposedLikelihood": { - "type": "Likelihood", - "id": 13 - }, - "blurredLikelihood": { - "type": "Likelihood", - "id": 14 - }, - "headwearLikelihood": { - "type": "Likelihood", - "id": 15 - } - }, - "nested": { - "Landmark": { - "fields": { - "type": { - "type": "Type", - "id": 3 - }, - "position": { - "type": "Position", - "id": 4 - } - }, - "nested": { - "Type": { - "values": { - "UNKNOWN_LANDMARK": 0, - "LEFT_EYE": 1, - "RIGHT_EYE": 2, - "LEFT_OF_LEFT_EYEBROW": 3, - "RIGHT_OF_LEFT_EYEBROW": 4, - "LEFT_OF_RIGHT_EYEBROW": 5, - "RIGHT_OF_RIGHT_EYEBROW": 6, - "MIDPOINT_BETWEEN_EYES": 7, - "NOSE_TIP": 8, - "UPPER_LIP": 9, - "LOWER_LIP": 10, - "MOUTH_LEFT": 11, - "MOUTH_RIGHT": 12, - "MOUTH_CENTER": 13, - "NOSE_BOTTOM_RIGHT": 14, - "NOSE_BOTTOM_LEFT": 15, - "NOSE_BOTTOM_CENTER": 16, - "LEFT_EYE_TOP_BOUNDARY": 17, - "LEFT_EYE_RIGHT_CORNER": 18, - "LEFT_EYE_BOTTOM_BOUNDARY": 19, - "LEFT_EYE_LEFT_CORNER": 20, - "RIGHT_EYE_TOP_BOUNDARY": 21, - "RIGHT_EYE_RIGHT_CORNER": 22, - "RIGHT_EYE_BOTTOM_BOUNDARY": 23, - "RIGHT_EYE_LEFT_CORNER": 24, - "LEFT_EYEBROW_UPPER_MIDPOINT": 25, - "RIGHT_EYEBROW_UPPER_MIDPOINT": 26, - "LEFT_EAR_TRAGION": 27, - "RIGHT_EAR_TRAGION": 28, - "LEFT_EYE_PUPIL": 29, - "RIGHT_EYE_PUPIL": 30, - "FOREHEAD_GLABELLA": 31, - "CHIN_GNATHION": 32, - "CHIN_LEFT_GONION": 33, - "CHIN_RIGHT_GONION": 34 - } - } - } - } - } - }, - "LocationInfo": { - "fields": { - "latLng": { - "type": "google.type.LatLng", - "id": 1 - } - } - }, - "Property": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "value": { - "type": "string", - "id": 2 - }, - "uint64Value": { - "type": "uint64", - "id": 3 - } - } - }, - "EntityAnnotation": { - "fields": { - "mid": { - "type": "string", - "id": 1 - }, - "locale": { - "type": "string", - "id": 2 - }, - "description": { - "type": "string", - "id": 3 - }, - "score": { - "type": "float", - "id": 4 - }, - "confidence": { - "type": "float", - "id": 5, - "options": { - "deprecated": true - } - }, - "topicality": { - "type": "float", - "id": 6 - }, - "boundingPoly": { - "type": "BoundingPoly", - "id": 7 - }, - "locations": { - "rule": "repeated", - "type": "LocationInfo", - "id": 8 - }, - "properties": { - "rule": "repeated", - "type": "Property", - "id": 9 - } - } - }, - "LocalizedObjectAnnotation": { - "fields": { - "mid": { - "type": "string", - "id": 1 - }, - "languageCode": { - "type": "string", - "id": 2 - }, - "name": { - "type": "string", - "id": 3 - }, - "score": { - "type": "float", - "id": 4 - }, - "boundingPoly": { - "type": "BoundingPoly", - "id": 5 - } - } - }, - "SafeSearchAnnotation": { - "fields": { - "adult": { - "type": "Likelihood", - "id": 1 - }, - "spoof": { - "type": "Likelihood", - "id": 2 - }, - "medical": { - "type": "Likelihood", - "id": 3 - }, - "violence": { - "type": "Likelihood", - "id": 4 - }, - "racy": { - "type": "Likelihood", - "id": 9 - } - } - }, - "LatLongRect": { - "fields": { - "minLatLng": { - "type": "google.type.LatLng", - "id": 1 - }, - "maxLatLng": { - "type": "google.type.LatLng", - "id": 2 - } - } - }, - "ColorInfo": { - "fields": { - "color": { - "type": "google.type.Color", - "id": 1 - }, - "score": { - "type": "float", - "id": 2 - }, - "pixelFraction": { - "type": "float", - "id": 3 - } - } - }, - "DominantColorsAnnotation": { - "fields": { - "colors": { - "rule": "repeated", - "type": "ColorInfo", - "id": 1 - } - } - }, - "ImageProperties": { - "fields": { - "dominantColors": { - "type": "DominantColorsAnnotation", - "id": 1 - } - } - }, - "CropHint": { - "fields": { - "boundingPoly": { - "type": "BoundingPoly", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 2 - }, - "importanceFraction": { - "type": "float", - "id": 3 - } - } - }, - "CropHintsAnnotation": { - "fields": { - "cropHints": { - "rule": "repeated", - "type": "CropHint", - "id": 1 - } - } - }, - "CropHintsParams": { - "fields": { - "aspectRatios": { - "rule": "repeated", - "type": "float", - "id": 1 - } - } - }, - "WebDetectionParams": { - "fields": { - "includeGeoResults": { - "type": "bool", - "id": 2 - } - } - }, - "ImageContext": { - "fields": { - "latLongRect": { - "type": "LatLongRect", - "id": 1 - }, - "languageHints": { - "rule": "repeated", - "type": "string", - "id": 2 - }, - "cropHintsParams": { - "type": "CropHintsParams", - "id": 4 - }, - "productSearchParams": { - "type": "ProductSearchParams", - "id": 5 - }, - "webDetectionParams": { - "type": "WebDetectionParams", - "id": 6 - } - } - }, - "AnnotateImageRequest": { - "fields": { - "image": { - "type": "Image", - "id": 1 - }, - "features": { - "rule": "repeated", - "type": "Feature", - "id": 2 - }, - "imageContext": { - "type": "ImageContext", - "id": 3 - } - } - }, - "ImageAnnotationContext": { - "fields": { - "uri": { - "type": "string", - "id": 1 - }, - "pageNumber": { - "type": "int32", - "id": 2 - } - } - }, - "AnnotateImageResponse": { - "fields": { - "faceAnnotations": { - "rule": "repeated", - "type": "FaceAnnotation", - "id": 1 - }, - "landmarkAnnotations": { - "rule": "repeated", - "type": "EntityAnnotation", - "id": 2 - }, - "logoAnnotations": { - "rule": "repeated", - "type": "EntityAnnotation", - "id": 3 - }, - "labelAnnotations": { - "rule": "repeated", - "type": "EntityAnnotation", - "id": 4 - }, - "localizedObjectAnnotations": { - "rule": "repeated", - "type": "LocalizedObjectAnnotation", - "id": 22 - }, - "textAnnotations": { - "rule": "repeated", - "type": "EntityAnnotation", - "id": 5 - }, - "fullTextAnnotation": { - "type": "TextAnnotation", - "id": 12 - }, - "safeSearchAnnotation": { - "type": "SafeSearchAnnotation", - "id": 6 - }, - "imagePropertiesAnnotation": { - "type": "ImageProperties", - "id": 8 - }, - "cropHintsAnnotation": { - "type": "CropHintsAnnotation", - "id": 11 - }, - "webDetection": { - "type": "WebDetection", - "id": 13 - }, - "productSearchResults": { - "type": "ProductSearchResults", - "id": 14 - }, - "error": { - "type": "google.rpc.Status", - "id": 9 - }, - "context": { - "type": "ImageAnnotationContext", - "id": 21 - } - } - }, - "AnnotateFileResponse": { - "fields": { - "inputConfig": { - "type": "InputConfig", - "id": 1 - }, - "responses": { - "rule": "repeated", - "type": "AnnotateImageResponse", - "id": 2 - }, - "totalPages": { - "type": "int32", - "id": 3 - } - } - }, - "BatchAnnotateImagesRequest": { - "fields": { - "requests": { - "rule": "repeated", - "type": "AnnotateImageRequest", - "id": 1 - } - } - }, - "BatchAnnotateImagesResponse": { - "fields": { - "responses": { - "rule": "repeated", - "type": "AnnotateImageResponse", - "id": 1 - } - } - }, - "AnnotateFileRequest": { - "fields": { - "inputConfig": { - "type": "InputConfig", - "id": 1 - }, - "features": { - "rule": "repeated", - "type": "Feature", - "id": 2 - }, - "imageContext": { - "type": "ImageContext", - "id": 3 - }, - "pages": { - "rule": "repeated", - "type": "int32", - "id": 4 - } - } - }, - "BatchAnnotateFilesRequest": { - "fields": { - "requests": { - "rule": "repeated", - "type": "AnnotateFileRequest", - "id": 1 - } - } - }, - "BatchAnnotateFilesResponse": { - "fields": { - "responses": { - "rule": "repeated", - "type": "AnnotateFileResponse", - "id": 1 - } - } - }, - "AsyncAnnotateFileRequest": { - "fields": { - "inputConfig": { - "type": "InputConfig", - "id": 1 - }, - "features": { - "rule": "repeated", - "type": "Feature", - "id": 2 - }, - "imageContext": { - "type": "ImageContext", - "id": 3 - }, - "outputConfig": { - "type": "OutputConfig", - "id": 4 - } - } - }, - "AsyncAnnotateFileResponse": { - "fields": { - "outputConfig": { - "type": "OutputConfig", - "id": 1 - } - } - }, - "AsyncBatchAnnotateImagesRequest": { - "fields": { - "requests": { - "rule": "repeated", - "type": "AnnotateImageRequest", - "id": 1 - }, - "outputConfig": { - "type": "OutputConfig", - "id": 2 - } - } - }, - "AsyncBatchAnnotateImagesResponse": { - "fields": { - "outputConfig": { - "type": "OutputConfig", - "id": 1 - } - } - }, - "AsyncBatchAnnotateFilesRequest": { - "fields": { - "requests": { - "rule": "repeated", - "type": "AsyncAnnotateFileRequest", - "id": 1 - } - } - }, - "AsyncBatchAnnotateFilesResponse": { - "fields": { - "responses": { - "rule": "repeated", - "type": "AsyncAnnotateFileResponse", - "id": 1 - } - } - }, - "InputConfig": { - "fields": { - "gcsSource": { - "type": "GcsSource", - "id": 1 - }, - "content": { - "type": "bytes", - "id": 3 - }, - "mimeType": { - "type": "string", - "id": 2 - } - } - }, - "OutputConfig": { - "fields": { - "gcsDestination": { - "type": "GcsDestination", - "id": 1 - }, - "batchSize": { - "type": "int32", - "id": 2 - } - } - }, - "GcsSource": { - "fields": { - "uri": { - "type": "string", - "id": 1 - } - } - }, - "GcsDestination": { - "fields": { - "uri": { - "type": "string", - "id": 1 - } - } - }, - "OperationMetadata": { - "fields": { - "state": { - "type": "State", - "id": 1 - }, - "createTime": { - "type": "google.protobuf.Timestamp", - "id": 5 - }, - "updateTime": { - "type": "google.protobuf.Timestamp", - "id": 6 - } - }, - "nested": { - "State": { - "values": { - "STATE_UNSPECIFIED": 0, - "CREATED": 1, - "RUNNING": 2, - "DONE": 3, - "CANCELLED": 4 - } - } - } - }, - "Vertex": { - "fields": { - "x": { - "type": "int32", - "id": 1 - }, - "y": { - "type": "int32", - "id": 2 - } - } - }, - "NormalizedVertex": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - } - } - }, - "BoundingPoly": { - "fields": { - "vertices": { - "rule": "repeated", - "type": "Vertex", - "id": 1 - }, - "normalizedVertices": { - "rule": "repeated", - "type": "NormalizedVertex", - "id": 2 - } - } - }, - "Position": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - }, - "z": { - "type": "float", - "id": 3 - } - } - }, - "ProductSearchParams": { - "fields": { - "boundingPoly": { - "type": "BoundingPoly", - "id": 9 - }, - "productSet": { - "type": "string", - "id": 6 - }, - "productCategories": { - "rule": "repeated", - "type": "string", - "id": 7 - }, - "filter": { - "type": "string", - "id": 8 - } - } - }, - "ProductSearchResults": { - "fields": { - "indexTime": { - "type": "google.protobuf.Timestamp", - "id": 2 - }, - "results": { - "rule": "repeated", - "type": "Result", - "id": 5 - }, - "productGroupedResults": { - "rule": "repeated", - "type": "GroupedResult", - "id": 6 - } - }, - "nested": { - "Result": { - "fields": { - "product": { - "type": "Product", - "id": 1 - }, - "score": { - "type": "float", - "id": 2 - }, - "image": { - "type": "string", - "id": 3 - } - } - }, - "GroupedResult": { - "fields": { - "boundingPoly": { - "type": "BoundingPoly", - "id": 1 - }, - "results": { - "rule": "repeated", - "type": "Result", - "id": 2 - } - } - } - } - }, - "ProductSearch": { - "methods": { - "CreateProductSet": { - "requestType": "CreateProductSetRequest", - "responseType": "ProductSet", - "options": { - "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets", - "(google.api.http).body": "product_set" - } - }, - "ListProductSets": { - "requestType": "ListProductSetsRequest", - "responseType": "ListProductSetsResponse", - "options": { - "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/productSets" - } - }, - "GetProductSet": { - "requestType": "GetProductSetRequest", - "responseType": "ProductSet", - "options": { - "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" - } - }, - "UpdateProductSet": { - "requestType": "UpdateProductSetRequest", - "responseType": "ProductSet", - "options": { - "(google.api.http).patch": "/v1p4beta1/{product_set.name=projects/*/locations/*/productSets/*}", - "(google.api.http).body": "product_set" - } - }, - "DeleteProductSet": { - "requestType": "DeleteProductSetRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" - } - }, - "CreateProduct": { - "requestType": "CreateProductRequest", - "responseType": "Product", - "options": { - "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/products", - "(google.api.http).body": "product" - } - }, - "ListProducts": { - "requestType": "ListProductsRequest", - "responseType": "ListProductsResponse", - "options": { - "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/products" - } - }, - "GetProduct": { - "requestType": "GetProductRequest", - "responseType": "Product", - "options": { - "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*}" - } - }, - "UpdateProduct": { - "requestType": "UpdateProductRequest", - "responseType": "Product", - "options": { - "(google.api.http).patch": "/v1p4beta1/{product.name=projects/*/locations/*/products/*}", - "(google.api.http).body": "product" - } - }, - "DeleteProduct": { - "requestType": "DeleteProductRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*}" - } - }, - "CreateReferenceImage": { - "requestType": "CreateReferenceImageRequest", - "responseType": "ReferenceImage", - "options": { - "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages", - "(google.api.http).body": "reference_image" - } - }, - "DeleteReferenceImage": { - "requestType": "DeleteReferenceImageRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" - } - }, - "ListReferenceImages": { - "requestType": "ListReferenceImagesRequest", - "responseType": "ListReferenceImagesResponse", - "options": { - "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" - } - }, - "GetReferenceImage": { - "requestType": "GetReferenceImageRequest", - "responseType": "ReferenceImage", - "options": { - "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" - } - }, - "AddProductToProductSet": { - "requestType": "AddProductToProductSetRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:addProduct", - "(google.api.http).body": "*" - } - }, - "RemoveProductFromProductSet": { - "requestType": "RemoveProductFromProductSetRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", - "(google.api.http).body": "*" - } - }, - "ListProductsInProductSet": { - "requestType": "ListProductsInProductSetRequest", - "responseType": "ListProductsInProductSetResponse", - "options": { - "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products" - } - }, - "ImportProductSets": { - "requestType": "ImportProductSetsRequest", - "responseType": "google.longrunning.Operation", - "options": { - "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets:import", - "(google.api.http).body": "*" - } - } - } - }, - "Product": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "displayName": { - "type": "string", - "id": 2 - }, - "description": { - "type": "string", - "id": 3 - }, - "productCategory": { - "type": "string", - "id": 4 - }, - "productLabels": { - "rule": "repeated", - "type": "KeyValue", - "id": 5 - } - }, - "nested": { - "KeyValue": { - "fields": { - "key": { - "type": "string", - "id": 1 - }, - "value": { - "type": "string", - "id": 2 - } - } - } - } - }, - "ProductSet": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "displayName": { - "type": "string", - "id": 2 - }, - "indexTime": { - "type": "google.protobuf.Timestamp", - "id": 3 - }, - "indexError": { - "type": "google.rpc.Status", - "id": 4 - } - } - }, - "ReferenceImage": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "uri": { - "type": "string", - "id": 2 - }, - "boundingPolys": { - "rule": "repeated", - "type": "BoundingPoly", - "id": 3 - } - } - }, - "CreateProductRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1 - }, - "product": { - "type": "Product", - "id": 2 - }, - "productId": { - "type": "string", - "id": 3 - } - } - }, - "ListProductsRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1 - }, - "pageSize": { - "type": "int32", - "id": 2 - }, - "pageToken": { - "type": "string", - "id": 3 - } - } - }, - "ListProductsResponse": { - "fields": { - "products": { - "rule": "repeated", - "type": "Product", - "id": 1 - }, - "nextPageToken": { - "type": "string", - "id": 2 - } - } - }, - "GetProductRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - } - } - }, - "UpdateProductRequest": { - "fields": { - "product": { - "type": "Product", - "id": 1 - }, - "updateMask": { - "type": "google.protobuf.FieldMask", - "id": 2 - } - } - }, - "DeleteProductRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - } - } - }, - "CreateProductSetRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1 - }, - "productSet": { - "type": "ProductSet", - "id": 2 - }, - "productSetId": { - "type": "string", - "id": 3 - } - } - }, - "ListProductSetsRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1 - }, - "pageSize": { - "type": "int32", - "id": 2 - }, - "pageToken": { - "type": "string", - "id": 3 - } - } - }, - "ListProductSetsResponse": { - "fields": { - "productSets": { - "rule": "repeated", - "type": "ProductSet", - "id": 1 - }, - "nextPageToken": { - "type": "string", - "id": 2 - } - } - }, - "GetProductSetRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - } - } - }, - "UpdateProductSetRequest": { - "fields": { - "productSet": { - "type": "ProductSet", - "id": 1 - }, - "updateMask": { - "type": "google.protobuf.FieldMask", - "id": 2 - } - } - }, - "DeleteProductSetRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - } - } - }, - "CreateReferenceImageRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1 - }, - "referenceImage": { - "type": "ReferenceImage", - "id": 2 - }, - "referenceImageId": { - "type": "string", - "id": 3 - } - } - }, - "ListReferenceImagesRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1 - }, - "pageSize": { - "type": "int32", - "id": 2 - }, - "pageToken": { - "type": "string", - "id": 3 - } - } - }, - "ListReferenceImagesResponse": { - "fields": { - "referenceImages": { - "rule": "repeated", - "type": "ReferenceImage", - "id": 1 - }, - "pageSize": { - "type": "int32", - "id": 2 - }, - "nextPageToken": { - "type": "string", - "id": 3 - } - } - }, - "GetReferenceImageRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - } - } - }, - "DeleteReferenceImageRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - } - } - }, - "AddProductToProductSetRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "product": { - "type": "string", - "id": 2 - } - } - }, - "RemoveProductFromProductSetRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "product": { - "type": "string", - "id": 2 - } - } - }, - "ListProductsInProductSetRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "pageSize": { - "type": "int32", - "id": 2 - }, - "pageToken": { - "type": "string", - "id": 3 - } - } - }, - "ListProductsInProductSetResponse": { - "fields": { - "products": { - "rule": "repeated", - "type": "Product", - "id": 1 - }, - "nextPageToken": { - "type": "string", - "id": 2 - } - } - }, - "ImportProductSetsGcsSource": { - "fields": { - "csvFileUri": { - "type": "string", - "id": 1 - } - } - }, - "ImportProductSetsInputConfig": { - "oneofs": { - "source": { - "oneof": [ - "gcsSource" - ] - } - }, - "fields": { - "gcsSource": { - "type": "ImportProductSetsGcsSource", - "id": 1 - } - } - }, - "ImportProductSetsRequest": { - "fields": { - "parent": { - "type": "string", - "id": 1 - }, - "inputConfig": { - "type": "ImportProductSetsInputConfig", - "id": 2 - } - } - }, - "ImportProductSetsResponse": { - "fields": { - "referenceImages": { - "rule": "repeated", - "type": "ReferenceImage", - "id": 1 - }, - "statuses": { - "rule": "repeated", - "type": "google.rpc.Status", - "id": 2 - } - } - }, - "BatchOperationMetadata": { - "fields": { - "state": { - "type": "State", - "id": 1 - }, - "submitTime": { - "type": "google.protobuf.Timestamp", - "id": 2 - }, - "endTime": { - "type": "google.protobuf.Timestamp", - "id": 3 - } - }, - "nested": { - "State": { - "values": { - "STATE_UNSPECIFIED": 0, - "PROCESSING": 1, - "SUCCESSFUL": 2, - "FAILED": 3, - "CANCELLED": 4 - } - } - } - }, - "TextAnnotation": { - "fields": { - "pages": { - "rule": "repeated", - "type": "Page", - "id": 1 - }, - "text": { - "type": "string", - "id": 2 - } - }, - "nested": { - "DetectedLanguage": { - "fields": { - "languageCode": { - "type": "string", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 2 - } - } - }, - "DetectedBreak": { - "fields": { - "type": { - "type": "BreakType", - "id": 1 - }, - "isPrefix": { - "type": "bool", - "id": 2 - } - }, - "nested": { - "BreakType": { - "values": { - "UNKNOWN": 0, - "SPACE": 1, - "SURE_SPACE": 2, - "EOL_SURE_SPACE": 3, - "HYPHEN": 4, - "LINE_BREAK": 5 - } - } - } - }, - "TextProperty": { - "fields": { - "detectedLanguages": { - "rule": "repeated", - "type": "DetectedLanguage", - "id": 1 - }, - "detectedBreak": { - "type": "DetectedBreak", - "id": 2 - } - } - } - } - }, - "Page": { - "fields": { - "property": { - "type": "TextAnnotation.TextProperty", - "id": 1 - }, - "width": { - "type": "int32", - "id": 2 - }, - "height": { - "type": "int32", - "id": 3 - }, - "blocks": { - "rule": "repeated", - "type": "Block", - "id": 4 - }, - "confidence": { - "type": "float", - "id": 5 - } - } - }, - "Block": { - "fields": { - "property": { - "type": "TextAnnotation.TextProperty", - "id": 1 - }, - "boundingBox": { - "type": "BoundingPoly", - "id": 2 - }, - "paragraphs": { - "rule": "repeated", - "type": "Paragraph", - "id": 3 - }, - "blockType": { - "type": "BlockType", - "id": 4 - }, - "confidence": { - "type": "float", - "id": 5 - } - }, - "nested": { - "BlockType": { - "values": { - "UNKNOWN": 0, - "TEXT": 1, - "TABLE": 2, - "PICTURE": 3, - "RULER": 4, - "BARCODE": 5 - } - } - } - }, - "Paragraph": { - "fields": { - "property": { - "type": "TextAnnotation.TextProperty", - "id": 1 - }, - "boundingBox": { - "type": "BoundingPoly", - "id": 2 - }, - "words": { - "rule": "repeated", - "type": "Word", - "id": 3 - }, - "confidence": { - "type": "float", - "id": 4 - } - } - }, - "Word": { - "fields": { - "property": { - "type": "TextAnnotation.TextProperty", - "id": 1 - }, - "boundingBox": { - "type": "BoundingPoly", - "id": 2 - }, - "symbols": { - "rule": "repeated", - "type": "Symbol", - "id": 3 - }, - "confidence": { - "type": "float", - "id": 4 - } - } - }, - "Symbol": { - "fields": { - "property": { - "type": "TextAnnotation.TextProperty", - "id": 1 - }, - "boundingBox": { - "type": "BoundingPoly", - "id": 2 - }, - "text": { - "type": "string", - "id": 3 - }, - "confidence": { - "type": "float", - "id": 4 - } - } - } - } - } - } - } - } - }, - "api": { - "options": { - "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", - "java_multiple_files": true, - "java_outer_classname": "HttpProto", - "java_package": "com.google.api", - "objc_class_prefix": "GAPI", - "cc_enable_arenas": true - }, - "nested": { - "http": { - "type": "HttpRule", - "id": 72295728, - "extend": "google.protobuf.MethodOptions" - }, - "Http": { - "fields": { - "rules": { - "rule": "repeated", - "type": "HttpRule", - "id": 1 - }, - "fullyDecodeReservedExpansion": { - "type": "bool", - "id": 2 - } - } - }, - "HttpRule": { - "oneofs": { - "pattern": { - "oneof": [ - "get", - "put", - "post", - "delete", - "patch", - "custom" - ] - } - }, - "fields": { - "selector": { - "type": "string", - "id": 1 - }, - "get": { - "type": "string", - "id": 2 - }, - "put": { - "type": "string", - "id": 3 - }, - "post": { - "type": "string", - "id": 4 - }, - "delete": { - "type": "string", - "id": 5 - }, - "patch": { - "type": "string", - "id": 6 - }, - "custom": { - "type": "CustomHttpPattern", - "id": 8 - }, - "body": { - "type": "string", - "id": 7 - }, - "responseBody": { - "type": "string", - "id": 12 - }, - "additionalBindings": { - "rule": "repeated", - "type": "HttpRule", - "id": 11 - } - } - }, - "CustomHttpPattern": { - "fields": { - "kind": { - "type": "string", - "id": 1 - }, - "path": { - "type": "string", - "id": 2 - } - } - } - } - }, - "protobuf": { - "options": { - "go_package": "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor", - "java_package": "com.google.protobuf", - "java_outer_classname": "DescriptorProtos", - "csharp_namespace": "Google.Protobuf.Reflection", - "objc_class_prefix": "GPB", - "cc_enable_arenas": true, - "optimize_for": "SPEED" - }, - "nested": { - "FileDescriptorSet": { - "fields": { - "file": { - "rule": "repeated", - "type": "FileDescriptorProto", - "id": 1 - } - } - }, - "FileDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "package": { - "type": "string", - "id": 2 - }, - "dependency": { - "rule": "repeated", - "type": "string", - "id": 3 - }, - "publicDependency": { - "rule": "repeated", - "type": "int32", - "id": 10, - "options": { - "packed": false - } - }, - "weakDependency": { - "rule": "repeated", - "type": "int32", - "id": 11, - "options": { - "packed": false - } - }, - "messageType": { - "rule": "repeated", - "type": "DescriptorProto", - "id": 4 - }, - "enumType": { - "rule": "repeated", - "type": "EnumDescriptorProto", - "id": 5 - }, - "service": { - "rule": "repeated", - "type": "ServiceDescriptorProto", - "id": 6 - }, - "extension": { - "rule": "repeated", - "type": "FieldDescriptorProto", - "id": 7 - }, - "options": { - "type": "FileOptions", - "id": 8 - }, - "sourceCodeInfo": { - "type": "SourceCodeInfo", - "id": 9 - }, - "syntax": { - "type": "string", - "id": 12 - } - } - }, - "DescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "field": { - "rule": "repeated", - "type": "FieldDescriptorProto", - "id": 2 - }, - "extension": { - "rule": "repeated", - "type": "FieldDescriptorProto", - "id": 6 - }, - "nestedType": { - "rule": "repeated", - "type": "DescriptorProto", - "id": 3 - }, - "enumType": { - "rule": "repeated", - "type": "EnumDescriptorProto", - "id": 4 - }, - "extensionRange": { - "rule": "repeated", - "type": "ExtensionRange", - "id": 5 - }, - "oneofDecl": { - "rule": "repeated", - "type": "OneofDescriptorProto", - "id": 8 - }, - "options": { - "type": "MessageOptions", - "id": 7 - }, - "reservedRange": { - "rule": "repeated", - "type": "ReservedRange", - "id": 9 - }, - "reservedName": { - "rule": "repeated", - "type": "string", - "id": 10 - } - }, - "nested": { - "ExtensionRange": { - "fields": { - "start": { - "type": "int32", - "id": 1 - }, - "end": { - "type": "int32", - "id": 2 - }, - "options": { - "type": "ExtensionRangeOptions", - "id": 3 - } - } - }, - "ReservedRange": { - "fields": { - "start": { - "type": "int32", - "id": 1 - }, - "end": { - "type": "int32", - "id": 2 - } - } - } - } - }, - "ExtensionRangeOptions": { - "fields": { - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ] - }, - "FieldDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "number": { - "type": "int32", - "id": 3 - }, - "label": { - "type": "Label", - "id": 4 - }, - "type": { - "type": "Type", - "id": 5 - }, - "typeName": { - "type": "string", - "id": 6 - }, - "extendee": { - "type": "string", - "id": 2 - }, - "defaultValue": { - "type": "string", - "id": 7 - }, - "oneofIndex": { - "type": "int32", - "id": 9 - }, - "jsonName": { - "type": "string", - "id": 10 - }, - "options": { - "type": "FieldOptions", - "id": 8 - } - }, - "nested": { - "Type": { - "values": { - "TYPE_DOUBLE": 1, - "TYPE_FLOAT": 2, - "TYPE_INT64": 3, - "TYPE_UINT64": 4, - "TYPE_INT32": 5, - "TYPE_FIXED64": 6, - "TYPE_FIXED32": 7, - "TYPE_BOOL": 8, - "TYPE_STRING": 9, - "TYPE_GROUP": 10, - "TYPE_MESSAGE": 11, - "TYPE_BYTES": 12, - "TYPE_UINT32": 13, - "TYPE_ENUM": 14, - "TYPE_SFIXED32": 15, - "TYPE_SFIXED64": 16, - "TYPE_SINT32": 17, - "TYPE_SINT64": 18 - } - }, - "Label": { - "values": { - "LABEL_OPTIONAL": 1, - "LABEL_REQUIRED": 2, - "LABEL_REPEATED": 3 - } - } - } - }, - "OneofDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "options": { - "type": "OneofOptions", - "id": 2 - } - } - }, - "EnumDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "value": { - "rule": "repeated", - "type": "EnumValueDescriptorProto", - "id": 2 - }, - "options": { - "type": "EnumOptions", - "id": 3 - }, - "reservedRange": { - "rule": "repeated", - "type": "EnumReservedRange", - "id": 4 - }, - "reservedName": { - "rule": "repeated", - "type": "string", - "id": 5 - } - }, - "nested": { - "EnumReservedRange": { - "fields": { - "start": { - "type": "int32", - "id": 1 - }, - "end": { - "type": "int32", - "id": 2 - } - } - } - } - }, - "EnumValueDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "number": { - "type": "int32", - "id": 2 - }, - "options": { - "type": "EnumValueOptions", - "id": 3 - } - } - }, - "ServiceDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "method": { - "rule": "repeated", - "type": "MethodDescriptorProto", - "id": 2 - }, - "options": { - "type": "ServiceOptions", - "id": 3 - } - } - }, - "MethodDescriptorProto": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "inputType": { - "type": "string", - "id": 2 - }, - "outputType": { - "type": "string", - "id": 3 - }, - "options": { - "type": "MethodOptions", - "id": 4 - }, - "clientStreaming": { - "type": "bool", - "id": 5, - "options": { - "default": false - } - }, - "serverStreaming": { - "type": "bool", - "id": 6, - "options": { - "default": false - } - } - } - }, - "FileOptions": { - "fields": { - "javaPackage": { - "type": "string", - "id": 1 - }, - "javaOuterClassname": { - "type": "string", - "id": 8 - }, - "javaMultipleFiles": { - "type": "bool", - "id": 10, - "options": { - "default": false - } - }, - "javaGenerateEqualsAndHash": { - "type": "bool", - "id": 20, - "options": { - "deprecated": true - } - }, - "javaStringCheckUtf8": { - "type": "bool", - "id": 27, - "options": { - "default": false - } - }, - "optimizeFor": { - "type": "OptimizeMode", - "id": 9, - "options": { - "default": "SPEED" - } - }, - "goPackage": { - "type": "string", - "id": 11 - }, - "ccGenericServices": { - "type": "bool", - "id": 16, - "options": { - "default": false - } - }, - "javaGenericServices": { - "type": "bool", - "id": 17, - "options": { - "default": false - } - }, - "pyGenericServices": { - "type": "bool", - "id": 18, - "options": { - "default": false - } - }, - "phpGenericServices": { - "type": "bool", - "id": 42, - "options": { - "default": false - } - }, - "deprecated": { - "type": "bool", - "id": 23, - "options": { - "default": false - } - }, - "ccEnableArenas": { - "type": "bool", - "id": 31, - "options": { - "default": false - } - }, - "objcClassPrefix": { - "type": "string", - "id": 36 - }, - "csharpNamespace": { - "type": "string", - "id": 37 - }, - "swiftPrefix": { - "type": "string", - "id": 39 - }, - "phpClassPrefix": { - "type": "string", - "id": 40 - }, - "phpNamespace": { - "type": "string", - "id": 41 - }, - "phpMetadataNamespace": { - "type": "string", - "id": 44 - }, - "rubyPackage": { - "type": "string", - "id": 45 - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "reserved": [ - [ - 38, - 38 - ] - ], - "nested": { - "OptimizeMode": { - "values": { - "SPEED": 1, - "CODE_SIZE": 2, - "LITE_RUNTIME": 3 - } - } - } - }, - "MessageOptions": { - "fields": { - "messageSetWireFormat": { - "type": "bool", - "id": 1, - "options": { - "default": false - } - }, - "noStandardDescriptorAccessor": { - "type": "bool", - "id": 2, - "options": { - "default": false - } - }, - "deprecated": { - "type": "bool", - "id": 3, - "options": { - "default": false - } - }, - "mapEntry": { - "type": "bool", - "id": 7 - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "reserved": [ - [ - 8, - 8 - ], - [ - 9, - 9 - ] - ] - }, - "FieldOptions": { - "fields": { - "ctype": { - "type": "CType", - "id": 1, - "options": { - "default": "STRING" - } - }, - "packed": { - "type": "bool", - "id": 2 - }, - "jstype": { - "type": "JSType", - "id": 6, - "options": { - "default": "JS_NORMAL" - } - }, - "lazy": { - "type": "bool", - "id": 5, - "options": { - "default": false - } - }, - "deprecated": { - "type": "bool", - "id": 3, - "options": { - "default": false - } - }, - "weak": { - "type": "bool", - "id": 10, - "options": { - "default": false - } - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "reserved": [ - [ - 4, - 4 - ] - ], - "nested": { - "CType": { - "values": { - "STRING": 0, - "CORD": 1, - "STRING_PIECE": 2 - } - }, - "JSType": { - "values": { - "JS_NORMAL": 0, - "JS_STRING": 1, - "JS_NUMBER": 2 - } - } - } - }, - "OneofOptions": { - "fields": { - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ] - }, - "EnumOptions": { - "fields": { - "allowAlias": { - "type": "bool", - "id": 2 - }, - "deprecated": { - "type": "bool", - "id": 3, - "options": { - "default": false - } - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "reserved": [ - [ - 5, - 5 - ] - ] - }, - "EnumValueOptions": { - "fields": { - "deprecated": { - "type": "bool", - "id": 1, - "options": { - "default": false - } - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ] - }, - "ServiceOptions": { - "fields": { - "deprecated": { - "type": "bool", - "id": 33, - "options": { - "default": false - } - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ] - }, - "MethodOptions": { - "fields": { - "deprecated": { - "type": "bool", - "id": 33, - "options": { - "default": false - } - }, - "idempotencyLevel": { - "type": "IdempotencyLevel", - "id": 34, - "options": { - "default": "IDEMPOTENCY_UNKNOWN" - } - }, - "uninterpretedOption": { - "rule": "repeated", - "type": "UninterpretedOption", - "id": 999 - } - }, - "extensions": [ - [ - 1000, - 536870911 - ] - ], - "nested": { - "IdempotencyLevel": { - "values": { - "IDEMPOTENCY_UNKNOWN": 0, - "NO_SIDE_EFFECTS": 1, - "IDEMPOTENT": 2 - } - } - } - }, - "UninterpretedOption": { - "fields": { - "name": { - "rule": "repeated", - "type": "NamePart", - "id": 2 - }, - "identifierValue": { - "type": "string", - "id": 3 - }, - "positiveIntValue": { - "type": "uint64", - "id": 4 - }, - "negativeIntValue": { - "type": "int64", - "id": 5 - }, - "doubleValue": { - "type": "double", - "id": 6 - }, - "stringValue": { - "type": "bytes", - "id": 7 - }, - "aggregateValue": { - "type": "string", - "id": 8 - } - }, - "nested": { - "NamePart": { - "fields": { - "namePart": { - "rule": "required", - "type": "string", - "id": 1 - }, - "isExtension": { - "rule": "required", - "type": "bool", - "id": 2 - } - } - } - } - }, - "SourceCodeInfo": { - "fields": { - "location": { - "rule": "repeated", - "type": "Location", - "id": 1 - } - }, - "nested": { - "Location": { - "fields": { - "path": { - "rule": "repeated", - "type": "int32", - "id": 1 - }, - "span": { - "rule": "repeated", - "type": "int32", - "id": 2 - }, - "leadingComments": { - "type": "string", - "id": 3 - }, - "trailingComments": { - "type": "string", - "id": 4 - }, - "leadingDetachedComments": { - "rule": "repeated", - "type": "string", - "id": 6 - } - } - } - } - }, - "GeneratedCodeInfo": { - "fields": { - "annotation": { - "rule": "repeated", - "type": "Annotation", - "id": 1 - } - }, - "nested": { - "Annotation": { - "fields": { - "path": { - "rule": "repeated", - "type": "int32", - "id": 1 - }, - "sourceFile": { - "type": "string", - "id": 2 - }, - "begin": { - "type": "int32", - "id": 3 - }, - "end": { - "type": "int32", - "id": 4 - } - } - } - } - }, - "Any": { - "fields": { - "type_url": { - "type": "string", - "id": 1 - }, - "value": { - "type": "bytes", - "id": 2 - } - } - }, - "Duration": { - "fields": { - "seconds": { - "type": "int64", - "id": 1 - }, - "nanos": { - "type": "int32", - "id": 2 - } - } - }, - "Empty": { - "fields": {} - }, - "FieldMask": { - "fields": { - "paths": { - "rule": "repeated", - "type": "string", - "id": 1 - } - } - }, - "Timestamp": { - "fields": { - "seconds": { - "type": "int64", - "id": 1 - }, - "nanos": { - "type": "int32", - "id": 2 - } - } - }, - "DoubleValue": { - "fields": { - "value": { - "type": "double", - "id": 1 - } - } - }, - "FloatValue": { - "fields": { - "value": { - "type": "float", - "id": 1 - } - } - }, - "Int64Value": { - "fields": { - "value": { - "type": "int64", - "id": 1 - } - } - }, - "UInt64Value": { - "fields": { - "value": { - "type": "uint64", - "id": 1 - } - } - }, - "Int32Value": { - "fields": { - "value": { - "type": "int32", - "id": 1 - } - } - }, - "UInt32Value": { - "fields": { - "value": { - "type": "uint32", - "id": 1 - } - } - }, - "BoolValue": { - "fields": { - "value": { - "type": "bool", - "id": 1 - } - } - }, - "StringValue": { - "fields": { - "value": { - "type": "string", - "id": 1 - } - } - }, - "BytesValue": { - "fields": { - "value": { - "type": "bytes", - "id": 1 - } - } - } - } - }, - "longrunning": { - "options": { - "cc_enable_arenas": true, - "csharp_namespace": "Google.LongRunning", - "go_package": "google.golang.org/genproto/googleapis/longrunning;longrunning", - "java_multiple_files": true, - "java_outer_classname": "OperationsProto", - "java_package": "com.google.longrunning", - "php_namespace": "Google\\LongRunning" - }, - "nested": { - "operationInfo": { - "type": "google.longrunning.OperationInfo", - "id": 1049, - "extend": "google.protobuf.MethodOptions" - }, - "Operations": { - "methods": { - "ListOperations": { - "requestType": "ListOperationsRequest", - "responseType": "ListOperationsResponse", - "options": { - "(google.api.http).get": "/v1/{name=operations}" - } - }, - "GetOperation": { - "requestType": "GetOperationRequest", - "responseType": "Operation", - "options": { - "(google.api.http).get": "/v1/{name=operations/**}" - } - }, - "DeleteOperation": { - "requestType": "DeleteOperationRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).delete": "/v1/{name=operations/**}" - } - }, - "CancelOperation": { - "requestType": "CancelOperationRequest", - "responseType": "google.protobuf.Empty", - "options": { - "(google.api.http).post": "/v1/{name=operations/**}:cancel", - "(google.api.http).body": "*" - } - }, - "WaitOperation": { - "requestType": "WaitOperationRequest", - "responseType": "Operation" - } - } - }, - "Operation": { - "oneofs": { - "result": { - "oneof": [ - "error", - "response" - ] - } - }, - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "metadata": { - "type": "google.protobuf.Any", - "id": 2 - }, - "done": { - "type": "bool", - "id": 3 - }, - "error": { - "type": "google.rpc.Status", - "id": 4 - }, - "response": { - "type": "google.protobuf.Any", - "id": 5 - } - } - }, - "GetOperationRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - } - } - }, - "ListOperationsRequest": { - "fields": { - "name": { - "type": "string", - "id": 4 - }, - "filter": { - "type": "string", - "id": 1 - }, - "pageSize": { - "type": "int32", - "id": 2 - }, - "pageToken": { - "type": "string", - "id": 3 - } - } - }, - "ListOperationsResponse": { - "fields": { - "operations": { - "rule": "repeated", - "type": "Operation", - "id": 1 - }, - "nextPageToken": { - "type": "string", - "id": 2 - } - } - }, - "CancelOperationRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - } - } - }, - "DeleteOperationRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - } - } - }, - "WaitOperationRequest": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "timeout": { - "type": "google.protobuf.Duration", - "id": 2 - } - } - }, - "OperationInfo": { - "fields": { - "responseType": { - "type": "string", - "id": 1 - }, - "metadataType": { - "type": "string", - "id": 2 - } - } - } - } - }, - "rpc": { - "options": { - "go_package": "google.golang.org/genproto/googleapis/rpc/status;status", - "java_multiple_files": true, - "java_outer_classname": "StatusProto", - "java_package": "com.google.rpc", - "objc_class_prefix": "RPC" - }, - "nested": { - "Status": { - "fields": { - "code": { - "type": "int32", - "id": 1 - }, - "message": { - "type": "string", - "id": 2 - }, - "details": { - "rule": "repeated", - "type": "google.protobuf.Any", - "id": 3 - } - } - } - } - }, - "type": { - "options": { - "cc_enable_arenas": true, - "go_package": "google.golang.org/genproto/googleapis/type/latlng;latlng", - "java_multiple_files": true, - "java_outer_classname": "LatLngProto", - "java_package": "com.google.type", - "objc_class_prefix": "GTP" - }, - "nested": { - "Color": { - "fields": { - "red": { - "type": "float", - "id": 1 - }, - "green": { - "type": "float", - "id": 2 - }, - "blue": { - "type": "float", - "id": 3 - }, - "alpha": { - "type": "google.protobuf.FloatValue", - "id": 4 - } - } - }, - "LatLng": { - "fields": { - "latitude": { - "type": "double", - "id": 1 - }, - "longitude": { - "type": "double", - "id": 2 - } - } - } - } - } - } - } - } -} \ No newline at end of file +{} \ No newline at end of file diff --git a/packages/google-cloud-vision/src/service_proto_list.json b/packages/google-cloud-vision/src/service_proto_list.json deleted file mode 100644 index 844a3b73dcb..00000000000 --- a/packages/google-cloud-vision/src/service_proto_list.json +++ /dev/null @@ -1 +0,0 @@ -["../protos/google/cloud/vision/v1p4beta1/web_detection.proto", "../protos/google/cloud/vision/v1p4beta1/image_annotator.proto", "../protos/google/cloud/vision/v1p4beta1/product_search.proto", "../protos/google/cloud/vision/v1p4beta1/product_search_service.proto", "../protos/google/cloud/vision/v1p4beta1/geometry.proto", "../protos/google/cloud/vision/v1p4beta1/text_annotation.proto"] \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js index 98c19dbf0d3..c457acc0c7d 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js @@ -89,11 +89,13 @@ * 01:30 UTC on January 15, 2017. * * In JavaScript, one can convert a Date object to this format using the - * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + * standard + * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) * method. In Python, a standard `datetime.datetime` object can be converted - * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) - * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one - * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. + * to this format using + * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + * the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. * * @property {number} seconds * Represents seconds of UTC time since Unix epoch diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 2463ac93d67..a6054b00499 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -84,7 +84,7 @@ class ImageAnnotatorClient { // Determine the client header string. const clientHeader = [ - `gl-node/${process.version}`, + `gl-node/${process.versions.node}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index a8e60f35360..c9621bb6361 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -97,7 +97,7 @@ class ProductSearchClient { // Determine the client header string. const clientHeader = [ - `gl-node/${process.version}`, + `gl-node/${process.versions.node}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 52e2d8fabb1..2e939ae79e3 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -83,7 +83,7 @@ class ImageAnnotatorClient { // Determine the client header string. const clientHeader = [ - `gl-node/${process.version}`, + `gl-node/${process.versions.node}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 5615708c69b..67888b6eeff 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -84,7 +84,7 @@ class ImageAnnotatorClient { // Determine the client header string. const clientHeader = [ - `gl-node/${process.version}`, + `gl-node/${process.versions.node}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js index 98c19dbf0d3..c457acc0c7d 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js @@ -89,11 +89,13 @@ * 01:30 UTC on January 15, 2017. * * In JavaScript, one can convert a Date object to this format using the - * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + * standard + * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) * method. In Python, a standard `datetime.datetime` object can be converted - * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) - * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one - * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. + * to this format using + * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + * the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. * * @property {number} seconds * Represents seconds of UTC time since Unix epoch diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 03246c971fb..5354040a2ab 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -84,7 +84,7 @@ class ImageAnnotatorClient { // Determine the client header string. const clientHeader = [ - `gl-node/${process.version}`, + `gl-node/${process.versions.node}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 41dea7b25e6..cd9855f631a 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -99,7 +99,7 @@ class ProductSearchClient { // Determine the client header string. const clientHeader = [ - `gl-node/${process.version}`, + `gl-node/${process.versions.node}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js index 98c19dbf0d3..c457acc0c7d 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js @@ -89,11 +89,13 @@ * 01:30 UTC on January 15, 2017. * * In JavaScript, one can convert a Date object to this format using the - * standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + * standard + * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) * method. In Python, a standard `datetime.datetime` object can be converted - * to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) - * with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one - * can use the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. + * to this format using + * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + * the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. * * @property {number} seconds * Represents seconds of UTC time since Unix epoch diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index a5a3d9a2e60..afc9c0900af 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -84,7 +84,7 @@ class ImageAnnotatorClient { // Determine the client header string. const clientHeader = [ - `gl-node/${process.version}`, + `gl-node/${process.versions.node}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index b9d9dd61145..91f56b5360c 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -99,7 +99,7 @@ class ProductSearchClient { // Determine the client header string. const clientHeader = [ - `gl-node/${process.version}`, + `gl-node/${process.versions.node}`, `grpc/${gaxGrpc.grpcVersion}`, `gax/${gax.version}`, `gapic/${VERSION}`, diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 7c67de76898..391e755fefd 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-08-20T11:26:04.593457Z", + "updateTime": "2019-08-29T11:27:31.663243Z", "sources": [ { "generator": { "name": "artman", - "version": "0.33.0", - "dockerImage": "googleapis/artman@sha256:c6231efb525569736226b1f7af7565dbc84248efafb3692a5bb1d2d8a7975d53" + "version": "0.35.1", + "dockerImage": "googleapis/artman@sha256:b11c7ea0d0831c54016fb50f4b796d24d1971439b30fbc32a369ba1ac887c384" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4bb50a3e4c8d49d1cec1a98434cccaeaec55a886", - "internalRef": "264193378" + "sha": "e121a35579e73377f998c11bcc09ba0486736404", + "internalRef": "265953539" } }, { diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 2039a148c40..3e38d7185a8 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -46,3 +46,4 @@ # Node.js specific cleanup subprocess.run(['npm', 'install']) subprocess.run(['npm', 'run', 'fix']) +subprocess.run(['npx', 'compileProtos', 'src']) From dbab8829923dd6eb7d9e02bce0fcc18361ef09e4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 6 Sep 2019 00:12:43 +0300 Subject: [PATCH 323/588] chore(deps): update dependency eslint-plugin-node to v10 (#432) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ee11f5944d1..1186d6a28c7 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,7 +50,7 @@ "codecov": "^3.0.2", "eslint": "^6.0.0", "eslint-config-prettier": "^6.0.0", - "eslint-plugin-node": "^9.0.0", + "eslint-plugin-node": "^10.0.0", "eslint-plugin-prettier": "^3.0.0", "jsdoc-fresh": "^1.0.1", "intelli-espower-loader": "^1.0.1", From 413eea78611c217abf1bf2ae4e62e2695e3ecdfe Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Fri, 6 Sep 2019 12:51:57 -0400 Subject: [PATCH 324/588] fix(samples): upgrade yargs and fix broken CLI config (#436) --- packages/google-cloud-vision/samples/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 9f0d6e8e3ab..be25411e4e8 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,11 +14,11 @@ }, "dependencies": { "@google-cloud/vision": "^1.2.0", + "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", "redis": "^2.8.0", - "yargs": "^13.0.0", - "canvas": "^2.0.0" + "yargs": "^14.0.0" }, "devDependencies": { "@google-cloud/storage": "^2.0.0", From ff0996371471d585a399fae13c4080fa8f97f03f Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 6 Sep 2019 10:07:24 -0700 Subject: [PATCH 325/588] feat: load protos from JSON, grpc-fallback support --- .../google-cloud-vision/protos/protos.json | 8497 ++++++++++++++++- packages/google-cloud-vision/src/browser.js | 21 + .../src/v1/image_annotator_client.js | 91 +- .../src/v1/image_annotator_proto_list.json | 3 + .../src/v1/product_search_client.js | 107 +- .../src/v1/product_search_proto_list.json | 3 + .../src/v1p1beta1/image_annotator_client.js | 69 +- .../v1p1beta1/image_annotator_proto_list.json | 3 + .../src/v1p2beta1/image_annotator_client.js | 89 +- .../v1p2beta1/image_annotator_proto_list.json | 3 + .../src/v1p3beta1/image_annotator_client.js | 89 +- .../v1p3beta1/image_annotator_proto_list.json | 3 + .../src/v1p3beta1/product_search_client.js | 105 +- .../v1p3beta1/product_search_proto_list.json | 3 + .../src/v1p4beta1/image_annotator_client.js | 91 +- .../v1p4beta1/image_annotator_proto_list.json | 3 + .../src/v1p4beta1/product_search_client.js | 105 +- .../v1p4beta1/product_search_proto_list.json | 3 + packages/google-cloud-vision/synth.metadata | 10 +- packages/google-cloud-vision/test/gapic-v1.js | 10 + .../test/gapic-v1p1beta1.js | 7 + .../test/gapic-v1p2beta1.js | 7 + .../test/gapic-v1p3beta1.js | 14 + .../test/gapic-v1p4beta1.js | 14 + .../google-cloud-vision/webpack.config.js | 46 + 25 files changed, 9089 insertions(+), 307 deletions(-) create mode 100644 packages/google-cloud-vision/src/browser.js create mode 100644 packages/google-cloud-vision/src/v1/image_annotator_proto_list.json create mode 100644 packages/google-cloud-vision/src/v1/product_search_proto_list.json create mode 100644 packages/google-cloud-vision/src/v1p1beta1/image_annotator_proto_list.json create mode 100644 packages/google-cloud-vision/src/v1p2beta1/image_annotator_proto_list.json create mode 100644 packages/google-cloud-vision/src/v1p3beta1/image_annotator_proto_list.json create mode 100644 packages/google-cloud-vision/src/v1p3beta1/product_search_proto_list.json create mode 100644 packages/google-cloud-vision/src/v1p4beta1/image_annotator_proto_list.json create mode 100644 packages/google-cloud-vision/src/v1p4beta1/product_search_proto_list.json create mode 100644 packages/google-cloud-vision/webpack.config.js diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 9e26dfeeb6e..8bf63bd0157 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -1 +1,8496 @@ -{} \ No newline at end of file +{ + "nested": { + "google": { + "nested": { + "cloud": { + "nested": { + "vision": { + "nested": { + "v1": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/cloud/vision/v1;vision", + "java_multiple_files": true, + "java_outer_classname": "WebDetectionProto", + "java_package": "com.google.cloud.vision.v1", + "objc_class_prefix": "GCVN" + }, + "nested": { + "ImageAnnotator": { + "options": { + "(google.api.default_host)": "vision.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-vision" + }, + "methods": { + "BatchAnnotateImages": { + "requestType": "BatchAnnotateImagesRequest", + "responseType": "BatchAnnotateImagesResponse", + "options": { + "(google.api.http).post": "/v1/images:annotate", + "(google.api.http).body": "*", + "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/images:annotate", + "(google.api.http).additional_bindings.body": "*" + } + }, + "BatchAnnotateFiles": { + "requestType": "BatchAnnotateFilesRequest", + "responseType": "BatchAnnotateFilesResponse", + "options": { + "(google.api.http).post": "/v1/files:annotate", + "(google.api.http).body": "*", + "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/files:annotate", + "(google.api.http).additional_bindings.body": "*" + } + }, + "AsyncBatchAnnotateImages": { + "requestType": "AsyncBatchAnnotateImagesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/images:asyncBatchAnnotate", + "(google.api.http).body": "*", + "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/images:asyncBatchAnnotate", + "(google.api.http).additional_bindings.body": "*" + } + }, + "AsyncBatchAnnotateFiles": { + "requestType": "AsyncBatchAnnotateFilesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/files:asyncBatchAnnotate", + "(google.api.http).body": "*", + "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/files:asyncBatchAnnotate", + "(google.api.http).additional_bindings.body": "*" + } + } + } + }, + "Feature": { + "fields": { + "type": { + "type": "Type", + "id": 1 + }, + "maxResults": { + "type": "int32", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_UNSPECIFIED": 0, + "FACE_DETECTION": 1, + "LANDMARK_DETECTION": 2, + "LOGO_DETECTION": 3, + "LABEL_DETECTION": 4, + "TEXT_DETECTION": 5, + "DOCUMENT_TEXT_DETECTION": 11, + "SAFE_SEARCH_DETECTION": 6, + "IMAGE_PROPERTIES": 7, + "CROP_HINTS": 9, + "WEB_DETECTION": 10, + "PRODUCT_SEARCH": 12, + "OBJECT_LOCALIZATION": 19 + } + } + } + }, + "Likelihood": { + "values": { + "UNKNOWN": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, + "ImageSource": { + "fields": { + "gcsImageUri": { + "type": "string", + "id": 1 + }, + "imageUri": { + "type": "string", + "id": 2 + } + } + }, + "Image": { + "fields": { + "content": { + "type": "bytes", + "id": 1 + }, + "source": { + "type": "ImageSource", + "id": 2 + } + } + }, + "FaceAnnotation": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "fdBoundingPoly": { + "type": "BoundingPoly", + "id": 2 + }, + "landmarks": { + "rule": "repeated", + "type": "Landmark", + "id": 3 + }, + "rollAngle": { + "type": "float", + "id": 4 + }, + "panAngle": { + "type": "float", + "id": 5 + }, + "tiltAngle": { + "type": "float", + "id": 6 + }, + "detectionConfidence": { + "type": "float", + "id": 7 + }, + "landmarkingConfidence": { + "type": "float", + "id": 8 + }, + "joyLikelihood": { + "type": "Likelihood", + "id": 9 + }, + "sorrowLikelihood": { + "type": "Likelihood", + "id": 10 + }, + "angerLikelihood": { + "type": "Likelihood", + "id": 11 + }, + "surpriseLikelihood": { + "type": "Likelihood", + "id": 12 + }, + "underExposedLikelihood": { + "type": "Likelihood", + "id": 13 + }, + "blurredLikelihood": { + "type": "Likelihood", + "id": 14 + }, + "headwearLikelihood": { + "type": "Likelihood", + "id": 15 + } + }, + "nested": { + "Landmark": { + "fields": { + "type": { + "type": "Type", + "id": 3 + }, + "position": { + "type": "Position", + "id": 4 + } + }, + "nested": { + "Type": { + "values": { + "UNKNOWN_LANDMARK": 0, + "LEFT_EYE": 1, + "RIGHT_EYE": 2, + "LEFT_OF_LEFT_EYEBROW": 3, + "RIGHT_OF_LEFT_EYEBROW": 4, + "LEFT_OF_RIGHT_EYEBROW": 5, + "RIGHT_OF_RIGHT_EYEBROW": 6, + "MIDPOINT_BETWEEN_EYES": 7, + "NOSE_TIP": 8, + "UPPER_LIP": 9, + "LOWER_LIP": 10, + "MOUTH_LEFT": 11, + "MOUTH_RIGHT": 12, + "MOUTH_CENTER": 13, + "NOSE_BOTTOM_RIGHT": 14, + "NOSE_BOTTOM_LEFT": 15, + "NOSE_BOTTOM_CENTER": 16, + "LEFT_EYE_TOP_BOUNDARY": 17, + "LEFT_EYE_RIGHT_CORNER": 18, + "LEFT_EYE_BOTTOM_BOUNDARY": 19, + "LEFT_EYE_LEFT_CORNER": 20, + "RIGHT_EYE_TOP_BOUNDARY": 21, + "RIGHT_EYE_RIGHT_CORNER": 22, + "RIGHT_EYE_BOTTOM_BOUNDARY": 23, + "RIGHT_EYE_LEFT_CORNER": 24, + "LEFT_EYEBROW_UPPER_MIDPOINT": 25, + "RIGHT_EYEBROW_UPPER_MIDPOINT": 26, + "LEFT_EAR_TRAGION": 27, + "RIGHT_EAR_TRAGION": 28, + "LEFT_EYE_PUPIL": 29, + "RIGHT_EYE_PUPIL": 30, + "FOREHEAD_GLABELLA": 31, + "CHIN_GNATHION": 32, + "CHIN_LEFT_GONION": 33, + "CHIN_RIGHT_GONION": 34 + } + } + } + } + } + }, + "LocationInfo": { + "fields": { + "latLng": { + "type": "google.type.LatLng", + "id": 1 + } + } + }, + "Property": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + }, + "uint64Value": { + "type": "uint64", + "id": 3 + } + } + }, + "EntityAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "locale": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5, + "options": { + "deprecated": true + } + }, + "topicality": { + "type": "float", + "id": 6 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 7 + }, + "locations": { + "rule": "repeated", + "type": "LocationInfo", + "id": 8 + }, + "properties": { + "rule": "repeated", + "type": "Property", + "id": 9 + } + } + }, + "LocalizedObjectAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + }, + "name": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 5 + } + } + }, + "SafeSearchAnnotation": { + "fields": { + "adult": { + "type": "Likelihood", + "id": 1 + }, + "spoof": { + "type": "Likelihood", + "id": 2 + }, + "medical": { + "type": "Likelihood", + "id": 3 + }, + "violence": { + "type": "Likelihood", + "id": 4 + }, + "racy": { + "type": "Likelihood", + "id": 9 + } + } + }, + "LatLongRect": { + "fields": { + "minLatLng": { + "type": "google.type.LatLng", + "id": 1 + }, + "maxLatLng": { + "type": "google.type.LatLng", + "id": 2 + } + } + }, + "ColorInfo": { + "fields": { + "color": { + "type": "google.type.Color", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pixelFraction": { + "type": "float", + "id": 3 + } + } + }, + "DominantColorsAnnotation": { + "fields": { + "colors": { + "rule": "repeated", + "type": "ColorInfo", + "id": 1 + } + } + }, + "ImageProperties": { + "fields": { + "dominantColors": { + "type": "DominantColorsAnnotation", + "id": 1 + } + } + }, + "CropHint": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "importanceFraction": { + "type": "float", + "id": 3 + } + } + }, + "CropHintsAnnotation": { + "fields": { + "cropHints": { + "rule": "repeated", + "type": "CropHint", + "id": 1 + } + } + }, + "CropHintsParams": { + "fields": { + "aspectRatios": { + "rule": "repeated", + "type": "float", + "id": 1 + } + } + }, + "WebDetectionParams": { + "fields": { + "includeGeoResults": { + "type": "bool", + "id": 2 + } + } + }, + "ImageContext": { + "fields": { + "latLongRect": { + "type": "LatLongRect", + "id": 1 + }, + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "cropHintsParams": { + "type": "CropHintsParams", + "id": 4 + }, + "productSearchParams": { + "type": "ProductSearchParams", + "id": 5 + }, + "webDetectionParams": { + "type": "WebDetectionParams", + "id": 6 + } + } + }, + "AnnotateImageRequest": { + "fields": { + "image": { + "type": "Image", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + } + } + }, + "ImageAnnotationContext": { + "fields": { + "uri": { + "type": "string", + "id": 1 + }, + "pageNumber": { + "type": "int32", + "id": 2 + } + } + }, + "AnnotateImageResponse": { + "fields": { + "faceAnnotations": { + "rule": "repeated", + "type": "FaceAnnotation", + "id": 1 + }, + "landmarkAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 2 + }, + "logoAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 3 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 4 + }, + "localizedObjectAnnotations": { + "rule": "repeated", + "type": "LocalizedObjectAnnotation", + "id": 22 + }, + "textAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 5 + }, + "fullTextAnnotation": { + "type": "TextAnnotation", + "id": 12 + }, + "safeSearchAnnotation": { + "type": "SafeSearchAnnotation", + "id": 6 + }, + "imagePropertiesAnnotation": { + "type": "ImageProperties", + "id": 8 + }, + "cropHintsAnnotation": { + "type": "CropHintsAnnotation", + "id": 11 + }, + "webDetection": { + "type": "WebDetection", + "id": 13 + }, + "productSearchResults": { + "type": "ProductSearchResults", + "id": 14 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + }, + "context": { + "type": "ImageAnnotationContext", + "id": 21 + } + } + }, + "AnnotateFileResponse": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 2 + }, + "totalPages": { + "type": "int32", + "id": 3 + }, + "error": { + "type": "google.rpc.Status", + "id": 4 + } + } + }, + "BatchAnnotateImagesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateImageRequest", + "id": 1 + }, + "parent": { + "type": "string", + "id": 4 + } + } + }, + "BatchAnnotateImagesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 1 + } + } + }, + "AnnotateFileRequest": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + }, + "pages": { + "rule": "repeated", + "type": "int32", + "id": 4 + } + } + }, + "BatchAnnotateFilesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateFileRequest", + "id": 1 + }, + "parent": { + "type": "string", + "id": 3 + } + } + }, + "BatchAnnotateFilesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AnnotateFileResponse", + "id": 1 + } + } + }, + "AsyncAnnotateFileRequest": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + }, + "outputConfig": { + "type": "OutputConfig", + "id": 4 + } + } + }, + "AsyncAnnotateFileResponse": { + "fields": { + "outputConfig": { + "type": "OutputConfig", + "id": 1 + } + } + }, + "AsyncBatchAnnotateImagesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateImageRequest", + "id": 1 + }, + "outputConfig": { + "type": "OutputConfig", + "id": 2 + }, + "parent": { + "type": "string", + "id": 4 + } + } + }, + "AsyncBatchAnnotateImagesResponse": { + "fields": { + "outputConfig": { + "type": "OutputConfig", + "id": 1 + } + } + }, + "AsyncBatchAnnotateFilesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AsyncAnnotateFileRequest", + "id": 1 + }, + "parent": { + "type": "string", + "id": 4 + } + } + }, + "AsyncBatchAnnotateFilesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AsyncAnnotateFileResponse", + "id": 1 + } + } + }, + "InputConfig": { + "fields": { + "gcsSource": { + "type": "GcsSource", + "id": 1 + }, + "content": { + "type": "bytes", + "id": 3 + }, + "mimeType": { + "type": "string", + "id": 2 + } + } + }, + "OutputConfig": { + "fields": { + "gcsDestination": { + "type": "GcsDestination", + "id": 1 + }, + "batchSize": { + "type": "int32", + "id": 2 + } + } + }, + "GcsSource": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "GcsDestination": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "OperationMetadata": { + "fields": { + "state": { + "type": "State", + "id": 1 + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 5 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 6 + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "CREATED": 1, + "RUNNING": 2, + "DONE": 3, + "CANCELLED": 4 + } + } + } + }, + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + }, + "normalizedVertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 2 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, + "ProductSearchParams": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 9 + }, + "productSet": { + "type": "string", + "id": 6 + }, + "productCategories": { + "rule": "repeated", + "type": "string", + "id": 7 + }, + "filter": { + "type": "string", + "id": 8 + } + } + }, + "ProductSearchResults": { + "fields": { + "indexTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "results": { + "rule": "repeated", + "type": "Result", + "id": 5 + }, + "productGroupedResults": { + "rule": "repeated", + "type": "GroupedResult", + "id": 6 + } + }, + "nested": { + "Result": { + "fields": { + "product": { + "type": "Product", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "image": { + "type": "string", + "id": 3 + } + } + }, + "ObjectAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + }, + "name": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + } + } + }, + "GroupedResult": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "results": { + "rule": "repeated", + "type": "Result", + "id": 2 + }, + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectAnnotation", + "id": 3 + } + } + } + } + }, + "ProductSearch": { + "options": { + "(google.api.default_host)": "vision.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-vision" + }, + "methods": { + "CreateProductSet": { + "requestType": "CreateProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/productSets", + "(google.api.http).body": "product_set" + } + }, + "ListProductSets": { + "requestType": "ListProductSetsRequest", + "responseType": "ListProductSetsResponse", + "options": { + "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/productSets" + } + }, + "GetProductSet": { + "requestType": "GetProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).get": "/v1/{name=projects/*/locations/*/productSets/*}" + } + }, + "UpdateProductSet": { + "requestType": "UpdateProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).patch": "/v1/{product_set.name=projects/*/locations/*/productSets/*}", + "(google.api.http).body": "product_set" + } + }, + "DeleteProductSet": { + "requestType": "DeleteProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=projects/*/locations/*/productSets/*}" + } + }, + "CreateProduct": { + "requestType": "CreateProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/products", + "(google.api.http).body": "product" + } + }, + "ListProducts": { + "requestType": "ListProductsRequest", + "responseType": "ListProductsResponse", + "options": { + "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/products" + } + }, + "GetProduct": { + "requestType": "GetProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).get": "/v1/{name=projects/*/locations/*/products/*}" + } + }, + "UpdateProduct": { + "requestType": "UpdateProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).patch": "/v1/{product.name=projects/*/locations/*/products/*}", + "(google.api.http).body": "product" + } + }, + "DeleteProduct": { + "requestType": "DeleteProductRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=projects/*/locations/*/products/*}" + } + }, + "CreateReferenceImage": { + "requestType": "CreateReferenceImageRequest", + "responseType": "ReferenceImage", + "options": { + "(google.api.http).post": "/v1/{parent=projects/*/locations/*/products/*}/referenceImages", + "(google.api.http).body": "reference_image" + } + }, + "DeleteReferenceImage": { + "requestType": "DeleteReferenceImageRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + "ListReferenceImages": { + "requestType": "ListReferenceImagesRequest", + "responseType": "ListReferenceImagesResponse", + "options": { + "(google.api.http).get": "/v1/{parent=projects/*/locations/*/products/*}/referenceImages" + } + }, + "GetReferenceImage": { + "requestType": "GetReferenceImageRequest", + "responseType": "ReferenceImage", + "options": { + "(google.api.http).get": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + "AddProductToProductSet": { + "requestType": "AddProductToProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1/{name=projects/*/locations/*/productSets/*}:addProduct", + "(google.api.http).body": "*" + } + }, + "RemoveProductFromProductSet": { + "requestType": "RemoveProductFromProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1/{name=projects/*/locations/*/productSets/*}:removeProduct", + "(google.api.http).body": "*" + } + }, + "ListProductsInProductSet": { + "requestType": "ListProductsInProductSetRequest", + "responseType": "ListProductsInProductSetResponse", + "options": { + "(google.api.http).get": "/v1/{name=projects/*/locations/*/productSets/*}/products" + } + }, + "ImportProductSets": { + "requestType": "ImportProductSetsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/productSets:import", + "(google.api.http).body": "*" + } + }, + "PurgeProducts": { + "requestType": "PurgeProductsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/products:purge", + "(google.api.http).body": "*" + } + } + } + }, + "Product": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "productCategory": { + "type": "string", + "id": 4 + }, + "productLabels": { + "rule": "repeated", + "type": "KeyValue", + "id": 5 + } + }, + "nested": { + "KeyValue": { + "fields": { + "key": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + } + } + } + } + }, + "ProductSet": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "indexTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "indexError": { + "type": "google.rpc.Status", + "id": 4 + } + } + }, + "ReferenceImage": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "uri": { + "type": "string", + "id": 2 + }, + "boundingPolys": { + "rule": "repeated", + "type": "BoundingPoly", + "id": 3 + } + } + }, + "CreateProductRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "product": { + "type": "Product", + "id": 2 + }, + "productId": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsResponse": { + "fields": { + "products": { + "rule": "repeated", + "type": "Product", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "UpdateProductRequest": { + "fields": { + "product": { + "type": "Product", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "DeleteProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "CreateProductSetRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "productSet": { + "type": "ProductSet", + "id": 2 + }, + "productSetId": { + "type": "string", + "id": 3 + } + } + }, + "ListProductSetsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductSetsResponse": { + "fields": { + "productSets": { + "rule": "repeated", + "type": "ProductSet", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "UpdateProductSetRequest": { + "fields": { + "productSet": { + "type": "ProductSet", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "DeleteProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "CreateReferenceImageRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "referenceImage": { + "type": "ReferenceImage", + "id": 2 + }, + "referenceImageId": { + "type": "string", + "id": 3 + } + } + }, + "ListReferenceImagesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListReferenceImagesResponse": { + "fields": { + "referenceImages": { + "rule": "repeated", + "type": "ReferenceImage", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "nextPageToken": { + "type": "string", + "id": 3 + } + } + }, + "GetReferenceImageRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DeleteReferenceImageRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "AddProductToProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "product": { + "type": "string", + "id": 2 + } + } + }, + "RemoveProductFromProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "product": { + "type": "string", + "id": 2 + } + } + }, + "ListProductsInProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsInProductSetResponse": { + "fields": { + "products": { + "rule": "repeated", + "type": "Product", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "ImportProductSetsGcsSource": { + "fields": { + "csvFileUri": { + "type": "string", + "id": 1 + } + } + }, + "ImportProductSetsInputConfig": { + "oneofs": { + "source": { + "oneof": [ + "gcsSource" + ] + } + }, + "fields": { + "gcsSource": { + "type": "ImportProductSetsGcsSource", + "id": 1 + } + } + }, + "ImportProductSetsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "inputConfig": { + "type": "ImportProductSetsInputConfig", + "id": 2 + } + } + }, + "ImportProductSetsResponse": { + "fields": { + "referenceImages": { + "rule": "repeated", + "type": "ReferenceImage", + "id": 1 + }, + "statuses": { + "rule": "repeated", + "type": "google.rpc.Status", + "id": 2 + } + } + }, + "BatchOperationMetadata": { + "fields": { + "state": { + "type": "State", + "id": 1 + }, + "submitTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "PROCESSING": 1, + "SUCCESSFUL": 2, + "FAILED": 3, + "CANCELLED": 4 + } + } + } + }, + "ProductSetPurgeConfig": { + "fields": { + "productSetId": { + "type": "string", + "id": 1 + } + } + }, + "PurgeProductsRequest": { + "oneofs": { + "target": { + "oneof": [ + "productSetPurgeConfig", + "deleteOrphanProducts" + ] + } + }, + "fields": { + "productSetPurgeConfig": { + "type": "ProductSetPurgeConfig", + "id": 2 + }, + "deleteOrphanProducts": { + "type": "bool", + "id": 3 + }, + "parent": { + "type": "string", + "id": 1 + }, + "force": { + "type": "bool", + "id": 4 + } + } + }, + "TextAnnotation": { + "fields": { + "pages": { + "rule": "repeated", + "type": "Page", + "id": 1 + }, + "text": { + "type": "string", + "id": 2 + } + }, + "nested": { + "DetectedLanguage": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "DetectedBreak": { + "fields": { + "type": { + "type": "BreakType", + "id": 1 + }, + "isPrefix": { + "type": "bool", + "id": 2 + } + }, + "nested": { + "BreakType": { + "values": { + "UNKNOWN": 0, + "SPACE": 1, + "SURE_SPACE": 2, + "EOL_SURE_SPACE": 3, + "HYPHEN": 4, + "LINE_BREAK": 5 + } + } + } + }, + "TextProperty": { + "fields": { + "detectedLanguages": { + "rule": "repeated", + "type": "DetectedLanguage", + "id": 1 + }, + "detectedBreak": { + "type": "DetectedBreak", + "id": 2 + } + } + } + } + }, + "Page": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "width": { + "type": "int32", + "id": 2 + }, + "height": { + "type": "int32", + "id": 3 + }, + "blocks": { + "rule": "repeated", + "type": "Block", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + } + }, + "Block": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "paragraphs": { + "rule": "repeated", + "type": "Paragraph", + "id": 3 + }, + "blockType": { + "type": "BlockType", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + }, + "nested": { + "BlockType": { + "values": { + "UNKNOWN": 0, + "TEXT": 1, + "TABLE": 2, + "PICTURE": 3, + "RULER": 4, + "BARCODE": 5 + } + } + } + }, + "Paragraph": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "Word", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Word": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "symbols": { + "rule": "repeated", + "type": "Symbol", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Symbol": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "text": { + "type": "string", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "WebDetection": { + "fields": { + "webEntities": { + "rule": "repeated", + "type": "WebEntity", + "id": 1 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 2 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 3 + }, + "pagesWithMatchingImages": { + "rule": "repeated", + "type": "WebPage", + "id": 4 + }, + "visuallySimilarImages": { + "rule": "repeated", + "type": "WebImage", + "id": 6 + }, + "bestGuessLabels": { + "rule": "repeated", + "type": "WebLabel", + "id": 8 + } + }, + "nested": { + "WebEntity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + } + }, + "WebImage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + } + } + }, + "WebPage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pageTitle": { + "type": "string", + "id": 3 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 4 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 5 + } + } + }, + "WebLabel": { + "fields": { + "label": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } + } + } + } + } + }, + "v1p1beta1": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/cloud/vision/v1p1beta1;vision", + "java_multiple_files": true, + "java_outer_classname": "WebDetectionProto", + "java_package": "com.google.cloud.vision.v1p1beta1" + }, + "nested": { + "ImageAnnotator": { + "methods": { + "BatchAnnotateImages": { + "requestType": "BatchAnnotateImagesRequest", + "responseType": "BatchAnnotateImagesResponse", + "options": { + "(google.api.http).post": "/v1p1beta1/images:annotate", + "(google.api.http).body": "*" + } + } + } + }, + "Feature": { + "fields": { + "type": { + "type": "Type", + "id": 1 + }, + "maxResults": { + "type": "int32", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_UNSPECIFIED": 0, + "FACE_DETECTION": 1, + "LANDMARK_DETECTION": 2, + "LOGO_DETECTION": 3, + "LABEL_DETECTION": 4, + "TEXT_DETECTION": 5, + "DOCUMENT_TEXT_DETECTION": 11, + "SAFE_SEARCH_DETECTION": 6, + "IMAGE_PROPERTIES": 7, + "CROP_HINTS": 9, + "WEB_DETECTION": 10 + } + } + } + }, + "ImageSource": { + "fields": { + "gcsImageUri": { + "type": "string", + "id": 1 + }, + "imageUri": { + "type": "string", + "id": 2 + } + } + }, + "Image": { + "fields": { + "content": { + "type": "bytes", + "id": 1 + }, + "source": { + "type": "ImageSource", + "id": 2 + } + } + }, + "FaceAnnotation": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "fdBoundingPoly": { + "type": "BoundingPoly", + "id": 2 + }, + "landmarks": { + "rule": "repeated", + "type": "Landmark", + "id": 3 + }, + "rollAngle": { + "type": "float", + "id": 4 + }, + "panAngle": { + "type": "float", + "id": 5 + }, + "tiltAngle": { + "type": "float", + "id": 6 + }, + "detectionConfidence": { + "type": "float", + "id": 7 + }, + "landmarkingConfidence": { + "type": "float", + "id": 8 + }, + "joyLikelihood": { + "type": "Likelihood", + "id": 9 + }, + "sorrowLikelihood": { + "type": "Likelihood", + "id": 10 + }, + "angerLikelihood": { + "type": "Likelihood", + "id": 11 + }, + "surpriseLikelihood": { + "type": "Likelihood", + "id": 12 + }, + "underExposedLikelihood": { + "type": "Likelihood", + "id": 13 + }, + "blurredLikelihood": { + "type": "Likelihood", + "id": 14 + }, + "headwearLikelihood": { + "type": "Likelihood", + "id": 15 + } + }, + "nested": { + "Landmark": { + "fields": { + "type": { + "type": "Type", + "id": 3 + }, + "position": { + "type": "Position", + "id": 4 + } + }, + "nested": { + "Type": { + "values": { + "UNKNOWN_LANDMARK": 0, + "LEFT_EYE": 1, + "RIGHT_EYE": 2, + "LEFT_OF_LEFT_EYEBROW": 3, + "RIGHT_OF_LEFT_EYEBROW": 4, + "LEFT_OF_RIGHT_EYEBROW": 5, + "RIGHT_OF_RIGHT_EYEBROW": 6, + "MIDPOINT_BETWEEN_EYES": 7, + "NOSE_TIP": 8, + "UPPER_LIP": 9, + "LOWER_LIP": 10, + "MOUTH_LEFT": 11, + "MOUTH_RIGHT": 12, + "MOUTH_CENTER": 13, + "NOSE_BOTTOM_RIGHT": 14, + "NOSE_BOTTOM_LEFT": 15, + "NOSE_BOTTOM_CENTER": 16, + "LEFT_EYE_TOP_BOUNDARY": 17, + "LEFT_EYE_RIGHT_CORNER": 18, + "LEFT_EYE_BOTTOM_BOUNDARY": 19, + "LEFT_EYE_LEFT_CORNER": 20, + "RIGHT_EYE_TOP_BOUNDARY": 21, + "RIGHT_EYE_RIGHT_CORNER": 22, + "RIGHT_EYE_BOTTOM_BOUNDARY": 23, + "RIGHT_EYE_LEFT_CORNER": 24, + "LEFT_EYEBROW_UPPER_MIDPOINT": 25, + "RIGHT_EYEBROW_UPPER_MIDPOINT": 26, + "LEFT_EAR_TRAGION": 27, + "RIGHT_EAR_TRAGION": 28, + "LEFT_EYE_PUPIL": 29, + "RIGHT_EYE_PUPIL": 30, + "FOREHEAD_GLABELLA": 31, + "CHIN_GNATHION": 32, + "CHIN_LEFT_GONION": 33, + "CHIN_RIGHT_GONION": 34 + } + } + } + } + } + }, + "LocationInfo": { + "fields": { + "latLng": { + "type": "google.type.LatLng", + "id": 1 + } + } + }, + "Property": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + }, + "uint64Value": { + "type": "uint64", + "id": 3 + } + } + }, + "EntityAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "locale": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + }, + "topicality": { + "type": "float", + "id": 6 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 7 + }, + "locations": { + "rule": "repeated", + "type": "LocationInfo", + "id": 8 + }, + "properties": { + "rule": "repeated", + "type": "Property", + "id": 9 + } + } + }, + "SafeSearchAnnotation": { + "fields": { + "adult": { + "type": "Likelihood", + "id": 1 + }, + "spoof": { + "type": "Likelihood", + "id": 2 + }, + "medical": { + "type": "Likelihood", + "id": 3 + }, + "violence": { + "type": "Likelihood", + "id": 4 + }, + "racy": { + "type": "Likelihood", + "id": 9 + } + } + }, + "LatLongRect": { + "fields": { + "minLatLng": { + "type": "google.type.LatLng", + "id": 1 + }, + "maxLatLng": { + "type": "google.type.LatLng", + "id": 2 + } + } + }, + "ColorInfo": { + "fields": { + "color": { + "type": "google.type.Color", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pixelFraction": { + "type": "float", + "id": 3 + } + } + }, + "DominantColorsAnnotation": { + "fields": { + "colors": { + "rule": "repeated", + "type": "ColorInfo", + "id": 1 + } + } + }, + "ImageProperties": { + "fields": { + "dominantColors": { + "type": "DominantColorsAnnotation", + "id": 1 + } + } + }, + "CropHint": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "importanceFraction": { + "type": "float", + "id": 3 + } + } + }, + "CropHintsAnnotation": { + "fields": { + "cropHints": { + "rule": "repeated", + "type": "CropHint", + "id": 1 + } + } + }, + "CropHintsParams": { + "fields": { + "aspectRatios": { + "rule": "repeated", + "type": "float", + "id": 1 + } + } + }, + "WebDetectionParams": { + "fields": { + "includeGeoResults": { + "type": "bool", + "id": 2 + } + } + }, + "ImageContext": { + "fields": { + "latLongRect": { + "type": "LatLongRect", + "id": 1 + }, + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "cropHintsParams": { + "type": "CropHintsParams", + "id": 4 + }, + "webDetectionParams": { + "type": "WebDetectionParams", + "id": 6 + } + } + }, + "AnnotateImageRequest": { + "fields": { + "image": { + "type": "Image", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + } + } + }, + "AnnotateImageResponse": { + "fields": { + "faceAnnotations": { + "rule": "repeated", + "type": "FaceAnnotation", + "id": 1 + }, + "landmarkAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 2 + }, + "logoAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 3 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 4 + }, + "textAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 5 + }, + "fullTextAnnotation": { + "type": "TextAnnotation", + "id": 12 + }, + "safeSearchAnnotation": { + "type": "SafeSearchAnnotation", + "id": 6 + }, + "imagePropertiesAnnotation": { + "type": "ImageProperties", + "id": 8 + }, + "cropHintsAnnotation": { + "type": "CropHintsAnnotation", + "id": 11 + }, + "webDetection": { + "type": "WebDetection", + "id": 13 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + } + } + }, + "BatchAnnotateImagesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateImageRequest", + "id": 1 + } + } + }, + "BatchAnnotateImagesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 1 + } + } + }, + "Likelihood": { + "values": { + "UNKNOWN": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, + "TextAnnotation": { + "fields": { + "pages": { + "rule": "repeated", + "type": "Page", + "id": 1 + }, + "text": { + "type": "string", + "id": 2 + } + }, + "nested": { + "DetectedLanguage": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "DetectedBreak": { + "fields": { + "type": { + "type": "BreakType", + "id": 1 + }, + "isPrefix": { + "type": "bool", + "id": 2 + } + }, + "nested": { + "BreakType": { + "values": { + "UNKNOWN": 0, + "SPACE": 1, + "SURE_SPACE": 2, + "EOL_SURE_SPACE": 3, + "HYPHEN": 4, + "LINE_BREAK": 5 + } + } + } + }, + "TextProperty": { + "fields": { + "detectedLanguages": { + "rule": "repeated", + "type": "DetectedLanguage", + "id": 1 + }, + "detectedBreak": { + "type": "DetectedBreak", + "id": 2 + } + } + } + } + }, + "Page": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "width": { + "type": "int32", + "id": 2 + }, + "height": { + "type": "int32", + "id": 3 + }, + "blocks": { + "rule": "repeated", + "type": "Block", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + } + }, + "Block": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "paragraphs": { + "rule": "repeated", + "type": "Paragraph", + "id": 3 + }, + "blockType": { + "type": "BlockType", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + }, + "nested": { + "BlockType": { + "values": { + "UNKNOWN": 0, + "TEXT": 1, + "TABLE": 2, + "PICTURE": 3, + "RULER": 4, + "BARCODE": 5 + } + } + } + }, + "Paragraph": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "Word", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Word": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "symbols": { + "rule": "repeated", + "type": "Symbol", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Symbol": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "text": { + "type": "string", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "WebDetection": { + "fields": { + "webEntities": { + "rule": "repeated", + "type": "WebEntity", + "id": 1 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 2 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 3 + }, + "pagesWithMatchingImages": { + "rule": "repeated", + "type": "WebPage", + "id": 4 + }, + "visuallySimilarImages": { + "rule": "repeated", + "type": "WebImage", + "id": 6 + }, + "bestGuessLabels": { + "rule": "repeated", + "type": "WebLabel", + "id": 8 + } + }, + "nested": { + "WebEntity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + } + }, + "WebImage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + } + } + }, + "WebPage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pageTitle": { + "type": "string", + "id": 3 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 4 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 5 + } + } + }, + "WebLabel": { + "fields": { + "label": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } + } + } + } + } + }, + "v1p2beta1": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/cloud/vision/v1p2beta1;vision", + "java_multiple_files": true, + "java_outer_classname": "WebDetectionProto", + "java_package": "com.google.cloud.vision.v1p2beta1" + }, + "nested": { + "ImageAnnotator": { + "methods": { + "BatchAnnotateImages": { + "requestType": "BatchAnnotateImagesRequest", + "responseType": "BatchAnnotateImagesResponse", + "options": { + "(google.api.http).post": "/v1p2beta1/images:annotate", + "(google.api.http).body": "*" + } + }, + "AsyncBatchAnnotateFiles": { + "requestType": "AsyncBatchAnnotateFilesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p2beta1/files:asyncBatchAnnotate", + "(google.api.http).body": "*" + } + } + } + }, + "Feature": { + "fields": { + "type": { + "type": "Type", + "id": 1 + }, + "maxResults": { + "type": "int32", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_UNSPECIFIED": 0, + "FACE_DETECTION": 1, + "LANDMARK_DETECTION": 2, + "LOGO_DETECTION": 3, + "LABEL_DETECTION": 4, + "TEXT_DETECTION": 5, + "DOCUMENT_TEXT_DETECTION": 11, + "SAFE_SEARCH_DETECTION": 6, + "IMAGE_PROPERTIES": 7, + "CROP_HINTS": 9, + "WEB_DETECTION": 10 + } + } + } + }, + "ImageSource": { + "fields": { + "gcsImageUri": { + "type": "string", + "id": 1 + }, + "imageUri": { + "type": "string", + "id": 2 + } + } + }, + "Image": { + "fields": { + "content": { + "type": "bytes", + "id": 1 + }, + "source": { + "type": "ImageSource", + "id": 2 + } + } + }, + "FaceAnnotation": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "fdBoundingPoly": { + "type": "BoundingPoly", + "id": 2 + }, + "landmarks": { + "rule": "repeated", + "type": "Landmark", + "id": 3 + }, + "rollAngle": { + "type": "float", + "id": 4 + }, + "panAngle": { + "type": "float", + "id": 5 + }, + "tiltAngle": { + "type": "float", + "id": 6 + }, + "detectionConfidence": { + "type": "float", + "id": 7 + }, + "landmarkingConfidence": { + "type": "float", + "id": 8 + }, + "joyLikelihood": { + "type": "Likelihood", + "id": 9 + }, + "sorrowLikelihood": { + "type": "Likelihood", + "id": 10 + }, + "angerLikelihood": { + "type": "Likelihood", + "id": 11 + }, + "surpriseLikelihood": { + "type": "Likelihood", + "id": 12 + }, + "underExposedLikelihood": { + "type": "Likelihood", + "id": 13 + }, + "blurredLikelihood": { + "type": "Likelihood", + "id": 14 + }, + "headwearLikelihood": { + "type": "Likelihood", + "id": 15 + } + }, + "nested": { + "Landmark": { + "fields": { + "type": { + "type": "Type", + "id": 3 + }, + "position": { + "type": "Position", + "id": 4 + } + }, + "nested": { + "Type": { + "values": { + "UNKNOWN_LANDMARK": 0, + "LEFT_EYE": 1, + "RIGHT_EYE": 2, + "LEFT_OF_LEFT_EYEBROW": 3, + "RIGHT_OF_LEFT_EYEBROW": 4, + "LEFT_OF_RIGHT_EYEBROW": 5, + "RIGHT_OF_RIGHT_EYEBROW": 6, + "MIDPOINT_BETWEEN_EYES": 7, + "NOSE_TIP": 8, + "UPPER_LIP": 9, + "LOWER_LIP": 10, + "MOUTH_LEFT": 11, + "MOUTH_RIGHT": 12, + "MOUTH_CENTER": 13, + "NOSE_BOTTOM_RIGHT": 14, + "NOSE_BOTTOM_LEFT": 15, + "NOSE_BOTTOM_CENTER": 16, + "LEFT_EYE_TOP_BOUNDARY": 17, + "LEFT_EYE_RIGHT_CORNER": 18, + "LEFT_EYE_BOTTOM_BOUNDARY": 19, + "LEFT_EYE_LEFT_CORNER": 20, + "RIGHT_EYE_TOP_BOUNDARY": 21, + "RIGHT_EYE_RIGHT_CORNER": 22, + "RIGHT_EYE_BOTTOM_BOUNDARY": 23, + "RIGHT_EYE_LEFT_CORNER": 24, + "LEFT_EYEBROW_UPPER_MIDPOINT": 25, + "RIGHT_EYEBROW_UPPER_MIDPOINT": 26, + "LEFT_EAR_TRAGION": 27, + "RIGHT_EAR_TRAGION": 28, + "LEFT_EYE_PUPIL": 29, + "RIGHT_EYE_PUPIL": 30, + "FOREHEAD_GLABELLA": 31, + "CHIN_GNATHION": 32, + "CHIN_LEFT_GONION": 33, + "CHIN_RIGHT_GONION": 34 + } + } + } + } + } + }, + "LocationInfo": { + "fields": { + "latLng": { + "type": "google.type.LatLng", + "id": 1 + } + } + }, + "Property": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + }, + "uint64Value": { + "type": "uint64", + "id": 3 + } + } + }, + "EntityAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "locale": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + }, + "topicality": { + "type": "float", + "id": 6 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 7 + }, + "locations": { + "rule": "repeated", + "type": "LocationInfo", + "id": 8 + }, + "properties": { + "rule": "repeated", + "type": "Property", + "id": 9 + } + } + }, + "SafeSearchAnnotation": { + "fields": { + "adult": { + "type": "Likelihood", + "id": 1 + }, + "spoof": { + "type": "Likelihood", + "id": 2 + }, + "medical": { + "type": "Likelihood", + "id": 3 + }, + "violence": { + "type": "Likelihood", + "id": 4 + }, + "racy": { + "type": "Likelihood", + "id": 9 + } + } + }, + "LatLongRect": { + "fields": { + "minLatLng": { + "type": "google.type.LatLng", + "id": 1 + }, + "maxLatLng": { + "type": "google.type.LatLng", + "id": 2 + } + } + }, + "ColorInfo": { + "fields": { + "color": { + "type": "google.type.Color", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pixelFraction": { + "type": "float", + "id": 3 + } + } + }, + "DominantColorsAnnotation": { + "fields": { + "colors": { + "rule": "repeated", + "type": "ColorInfo", + "id": 1 + } + } + }, + "ImageProperties": { + "fields": { + "dominantColors": { + "type": "DominantColorsAnnotation", + "id": 1 + } + } + }, + "CropHint": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "importanceFraction": { + "type": "float", + "id": 3 + } + } + }, + "CropHintsAnnotation": { + "fields": { + "cropHints": { + "rule": "repeated", + "type": "CropHint", + "id": 1 + } + } + }, + "CropHintsParams": { + "fields": { + "aspectRatios": { + "rule": "repeated", + "type": "float", + "id": 1 + } + } + }, + "WebDetectionParams": { + "fields": { + "includeGeoResults": { + "type": "bool", + "id": 2 + } + } + }, + "ImageContext": { + "fields": { + "latLongRect": { + "type": "LatLongRect", + "id": 1 + }, + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "cropHintsParams": { + "type": "CropHintsParams", + "id": 4 + }, + "webDetectionParams": { + "type": "WebDetectionParams", + "id": 6 + } + } + }, + "AnnotateImageRequest": { + "fields": { + "image": { + "type": "Image", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + } + } + }, + "ImageAnnotationContext": { + "fields": { + "uri": { + "type": "string", + "id": 1 + }, + "pageNumber": { + "type": "int32", + "id": 2 + } + } + }, + "AnnotateImageResponse": { + "fields": { + "faceAnnotations": { + "rule": "repeated", + "type": "FaceAnnotation", + "id": 1 + }, + "landmarkAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 2 + }, + "logoAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 3 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 4 + }, + "textAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 5 + }, + "fullTextAnnotation": { + "type": "TextAnnotation", + "id": 12 + }, + "safeSearchAnnotation": { + "type": "SafeSearchAnnotation", + "id": 6 + }, + "imagePropertiesAnnotation": { + "type": "ImageProperties", + "id": 8 + }, + "cropHintsAnnotation": { + "type": "CropHintsAnnotation", + "id": 11 + }, + "webDetection": { + "type": "WebDetection", + "id": 13 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + }, + "context": { + "type": "ImageAnnotationContext", + "id": 21 + } + } + }, + "AnnotateFileResponse": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 2 + } + } + }, + "BatchAnnotateImagesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateImageRequest", + "id": 1 + } + } + }, + "BatchAnnotateImagesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 1 + } + } + }, + "AsyncAnnotateFileRequest": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + }, + "outputConfig": { + "type": "OutputConfig", + "id": 4 + } + } + }, + "AsyncAnnotateFileResponse": { + "fields": { + "outputConfig": { + "type": "OutputConfig", + "id": 1 + } + } + }, + "AsyncBatchAnnotateFilesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AsyncAnnotateFileRequest", + "id": 1 + } + } + }, + "AsyncBatchAnnotateFilesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AsyncAnnotateFileResponse", + "id": 1 + } + } + }, + "InputConfig": { + "fields": { + "gcsSource": { + "type": "GcsSource", + "id": 1 + }, + "mimeType": { + "type": "string", + "id": 2 + } + } + }, + "OutputConfig": { + "fields": { + "gcsDestination": { + "type": "GcsDestination", + "id": 1 + }, + "batchSize": { + "type": "int32", + "id": 2 + } + } + }, + "GcsSource": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "GcsDestination": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "OperationMetadata": { + "fields": { + "state": { + "type": "State", + "id": 1 + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 5 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 6 + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "CREATED": 1, + "RUNNING": 2, + "DONE": 3, + "CANCELLED": 4 + } + } + } + }, + "Likelihood": { + "values": { + "UNKNOWN": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + }, + "normalizedVertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 2 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, + "TextAnnotation": { + "fields": { + "pages": { + "rule": "repeated", + "type": "Page", + "id": 1 + }, + "text": { + "type": "string", + "id": 2 + } + }, + "nested": { + "DetectedLanguage": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "DetectedBreak": { + "fields": { + "type": { + "type": "BreakType", + "id": 1 + }, + "isPrefix": { + "type": "bool", + "id": 2 + } + }, + "nested": { + "BreakType": { + "values": { + "UNKNOWN": 0, + "SPACE": 1, + "SURE_SPACE": 2, + "EOL_SURE_SPACE": 3, + "HYPHEN": 4, + "LINE_BREAK": 5 + } + } + } + }, + "TextProperty": { + "fields": { + "detectedLanguages": { + "rule": "repeated", + "type": "DetectedLanguage", + "id": 1 + }, + "detectedBreak": { + "type": "DetectedBreak", + "id": 2 + } + } + } + } + }, + "Page": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "width": { + "type": "int32", + "id": 2 + }, + "height": { + "type": "int32", + "id": 3 + }, + "blocks": { + "rule": "repeated", + "type": "Block", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + } + }, + "Block": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "paragraphs": { + "rule": "repeated", + "type": "Paragraph", + "id": 3 + }, + "blockType": { + "type": "BlockType", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + }, + "nested": { + "BlockType": { + "values": { + "UNKNOWN": 0, + "TEXT": 1, + "TABLE": 2, + "PICTURE": 3, + "RULER": 4, + "BARCODE": 5 + } + } + } + }, + "Paragraph": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "Word", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Word": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "symbols": { + "rule": "repeated", + "type": "Symbol", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Symbol": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "text": { + "type": "string", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "WebDetection": { + "fields": { + "webEntities": { + "rule": "repeated", + "type": "WebEntity", + "id": 1 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 2 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 3 + }, + "pagesWithMatchingImages": { + "rule": "repeated", + "type": "WebPage", + "id": 4 + }, + "visuallySimilarImages": { + "rule": "repeated", + "type": "WebImage", + "id": 6 + }, + "bestGuessLabels": { + "rule": "repeated", + "type": "WebLabel", + "id": 8 + } + }, + "nested": { + "WebEntity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + } + }, + "WebImage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + } + } + }, + "WebPage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pageTitle": { + "type": "string", + "id": 3 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 4 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 5 + } + } + }, + "WebLabel": { + "fields": { + "label": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } + } + } + } + } + }, + "v1p3beta1": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision", + "java_multiple_files": true, + "java_outer_classname": "WebDetectionProto", + "java_package": "com.google.cloud.vision.v1p3beta1" + }, + "nested": { + "ImageAnnotator": { + "methods": { + "BatchAnnotateImages": { + "requestType": "BatchAnnotateImagesRequest", + "responseType": "BatchAnnotateImagesResponse", + "options": { + "(google.api.http).post": "/v1p3beta1/images:annotate", + "(google.api.http).body": "*" + } + }, + "AsyncBatchAnnotateFiles": { + "requestType": "AsyncBatchAnnotateFilesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p3beta1/files:asyncBatchAnnotate", + "(google.api.http).body": "*" + } + } + } + }, + "Feature": { + "fields": { + "type": { + "type": "Type", + "id": 1 + }, + "maxResults": { + "type": "int32", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_UNSPECIFIED": 0, + "FACE_DETECTION": 1, + "LANDMARK_DETECTION": 2, + "LOGO_DETECTION": 3, + "LABEL_DETECTION": 4, + "TEXT_DETECTION": 5, + "DOCUMENT_TEXT_DETECTION": 11, + "SAFE_SEARCH_DETECTION": 6, + "IMAGE_PROPERTIES": 7, + "CROP_HINTS": 9, + "WEB_DETECTION": 10, + "PRODUCT_SEARCH": 12, + "OBJECT_LOCALIZATION": 19 + } + } + } + }, + "ImageSource": { + "fields": { + "gcsImageUri": { + "type": "string", + "id": 1 + }, + "imageUri": { + "type": "string", + "id": 2 + } + } + }, + "Image": { + "fields": { + "content": { + "type": "bytes", + "id": 1 + }, + "source": { + "type": "ImageSource", + "id": 2 + } + } + }, + "FaceAnnotation": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "fdBoundingPoly": { + "type": "BoundingPoly", + "id": 2 + }, + "landmarks": { + "rule": "repeated", + "type": "Landmark", + "id": 3 + }, + "rollAngle": { + "type": "float", + "id": 4 + }, + "panAngle": { + "type": "float", + "id": 5 + }, + "tiltAngle": { + "type": "float", + "id": 6 + }, + "detectionConfidence": { + "type": "float", + "id": 7 + }, + "landmarkingConfidence": { + "type": "float", + "id": 8 + }, + "joyLikelihood": { + "type": "Likelihood", + "id": 9 + }, + "sorrowLikelihood": { + "type": "Likelihood", + "id": 10 + }, + "angerLikelihood": { + "type": "Likelihood", + "id": 11 + }, + "surpriseLikelihood": { + "type": "Likelihood", + "id": 12 + }, + "underExposedLikelihood": { + "type": "Likelihood", + "id": 13 + }, + "blurredLikelihood": { + "type": "Likelihood", + "id": 14 + }, + "headwearLikelihood": { + "type": "Likelihood", + "id": 15 + } + }, + "nested": { + "Landmark": { + "fields": { + "type": { + "type": "Type", + "id": 3 + }, + "position": { + "type": "Position", + "id": 4 + } + }, + "nested": { + "Type": { + "values": { + "UNKNOWN_LANDMARK": 0, + "LEFT_EYE": 1, + "RIGHT_EYE": 2, + "LEFT_OF_LEFT_EYEBROW": 3, + "RIGHT_OF_LEFT_EYEBROW": 4, + "LEFT_OF_RIGHT_EYEBROW": 5, + "RIGHT_OF_RIGHT_EYEBROW": 6, + "MIDPOINT_BETWEEN_EYES": 7, + "NOSE_TIP": 8, + "UPPER_LIP": 9, + "LOWER_LIP": 10, + "MOUTH_LEFT": 11, + "MOUTH_RIGHT": 12, + "MOUTH_CENTER": 13, + "NOSE_BOTTOM_RIGHT": 14, + "NOSE_BOTTOM_LEFT": 15, + "NOSE_BOTTOM_CENTER": 16, + "LEFT_EYE_TOP_BOUNDARY": 17, + "LEFT_EYE_RIGHT_CORNER": 18, + "LEFT_EYE_BOTTOM_BOUNDARY": 19, + "LEFT_EYE_LEFT_CORNER": 20, + "RIGHT_EYE_TOP_BOUNDARY": 21, + "RIGHT_EYE_RIGHT_CORNER": 22, + "RIGHT_EYE_BOTTOM_BOUNDARY": 23, + "RIGHT_EYE_LEFT_CORNER": 24, + "LEFT_EYEBROW_UPPER_MIDPOINT": 25, + "RIGHT_EYEBROW_UPPER_MIDPOINT": 26, + "LEFT_EAR_TRAGION": 27, + "RIGHT_EAR_TRAGION": 28, + "LEFT_EYE_PUPIL": 29, + "RIGHT_EYE_PUPIL": 30, + "FOREHEAD_GLABELLA": 31, + "CHIN_GNATHION": 32, + "CHIN_LEFT_GONION": 33, + "CHIN_RIGHT_GONION": 34 + } + } + } + } + } + }, + "LocationInfo": { + "fields": { + "latLng": { + "type": "google.type.LatLng", + "id": 1 + } + } + }, + "Property": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + }, + "uint64Value": { + "type": "uint64", + "id": 3 + } + } + }, + "EntityAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "locale": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + }, + "topicality": { + "type": "float", + "id": 6 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 7 + }, + "locations": { + "rule": "repeated", + "type": "LocationInfo", + "id": 8 + }, + "properties": { + "rule": "repeated", + "type": "Property", + "id": 9 + } + } + }, + "LocalizedObjectAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + }, + "name": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 5 + } + } + }, + "SafeSearchAnnotation": { + "fields": { + "adult": { + "type": "Likelihood", + "id": 1 + }, + "spoof": { + "type": "Likelihood", + "id": 2 + }, + "medical": { + "type": "Likelihood", + "id": 3 + }, + "violence": { + "type": "Likelihood", + "id": 4 + }, + "racy": { + "type": "Likelihood", + "id": 9 + } + } + }, + "LatLongRect": { + "fields": { + "minLatLng": { + "type": "google.type.LatLng", + "id": 1 + }, + "maxLatLng": { + "type": "google.type.LatLng", + "id": 2 + } + } + }, + "ColorInfo": { + "fields": { + "color": { + "type": "google.type.Color", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pixelFraction": { + "type": "float", + "id": 3 + } + } + }, + "DominantColorsAnnotation": { + "fields": { + "colors": { + "rule": "repeated", + "type": "ColorInfo", + "id": 1 + } + } + }, + "ImageProperties": { + "fields": { + "dominantColors": { + "type": "DominantColorsAnnotation", + "id": 1 + } + } + }, + "CropHint": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "importanceFraction": { + "type": "float", + "id": 3 + } + } + }, + "CropHintsAnnotation": { + "fields": { + "cropHints": { + "rule": "repeated", + "type": "CropHint", + "id": 1 + } + } + }, + "CropHintsParams": { + "fields": { + "aspectRatios": { + "rule": "repeated", + "type": "float", + "id": 1 + } + } + }, + "WebDetectionParams": { + "fields": { + "includeGeoResults": { + "type": "bool", + "id": 2 + } + } + }, + "ImageContext": { + "fields": { + "latLongRect": { + "type": "LatLongRect", + "id": 1 + }, + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "cropHintsParams": { + "type": "CropHintsParams", + "id": 4 + }, + "productSearchParams": { + "type": "google.cloud.vision.v1p3beta1.ProductSearchParams", + "id": 5 + }, + "webDetectionParams": { + "type": "WebDetectionParams", + "id": 6 + } + } + }, + "AnnotateImageRequest": { + "fields": { + "image": { + "type": "Image", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + } + } + }, + "ImageAnnotationContext": { + "fields": { + "uri": { + "type": "string", + "id": 1 + }, + "pageNumber": { + "type": "int32", + "id": 2 + } + } + }, + "AnnotateImageResponse": { + "fields": { + "faceAnnotations": { + "rule": "repeated", + "type": "FaceAnnotation", + "id": 1 + }, + "landmarkAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 2 + }, + "logoAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 3 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 4 + }, + "localizedObjectAnnotations": { + "rule": "repeated", + "type": "LocalizedObjectAnnotation", + "id": 22 + }, + "textAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 5 + }, + "fullTextAnnotation": { + "type": "TextAnnotation", + "id": 12 + }, + "safeSearchAnnotation": { + "type": "SafeSearchAnnotation", + "id": 6 + }, + "imagePropertiesAnnotation": { + "type": "ImageProperties", + "id": 8 + }, + "cropHintsAnnotation": { + "type": "CropHintsAnnotation", + "id": 11 + }, + "webDetection": { + "type": "WebDetection", + "id": 13 + }, + "productSearchResults": { + "type": "google.cloud.vision.v1p3beta1.ProductSearchResults", + "id": 14 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + }, + "context": { + "type": "ImageAnnotationContext", + "id": 21 + } + } + }, + "AnnotateFileResponse": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 2 + } + } + }, + "BatchAnnotateImagesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateImageRequest", + "id": 1 + } + } + }, + "BatchAnnotateImagesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 1 + } + } + }, + "AsyncAnnotateFileRequest": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + }, + "outputConfig": { + "type": "OutputConfig", + "id": 4 + } + } + }, + "AsyncAnnotateFileResponse": { + "fields": { + "outputConfig": { + "type": "OutputConfig", + "id": 1 + } + } + }, + "AsyncBatchAnnotateFilesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AsyncAnnotateFileRequest", + "id": 1 + } + } + }, + "AsyncBatchAnnotateFilesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AsyncAnnotateFileResponse", + "id": 1 + } + } + }, + "InputConfig": { + "fields": { + "gcsSource": { + "type": "GcsSource", + "id": 1 + }, + "mimeType": { + "type": "string", + "id": 2 + } + } + }, + "OutputConfig": { + "fields": { + "gcsDestination": { + "type": "GcsDestination", + "id": 1 + }, + "batchSize": { + "type": "int32", + "id": 2 + } + } + }, + "GcsSource": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "GcsDestination": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "Likelihood": { + "values": { + "UNKNOWN": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, + "OperationMetadata": { + "fields": { + "state": { + "type": "State", + "id": 1 + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 5 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 6 + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "CREATED": 1, + "RUNNING": 2, + "DONE": 3, + "CANCELLED": 4 + } + } + } + }, + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + }, + "normalizedVertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 2 + } + } + }, + "NormalizedBoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 1 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, + "ProductSearchParams": { + "fields": { + "catalogName": { + "type": "string", + "id": 1 + }, + "category": { + "type": "ProductSearchCategory", + "id": 2 + }, + "productCategory": { + "type": "string", + "id": 5 + }, + "normalizedBoundingPoly": { + "type": "NormalizedBoundingPoly", + "id": 3 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 9 + }, + "view": { + "type": "ProductSearchResultsView", + "id": 4 + }, + "productSet": { + "type": "string", + "id": 6 + }, + "productCategories": { + "rule": "repeated", + "type": "string", + "id": 7 + }, + "filter": { + "type": "string", + "id": 8 + } + } + }, + "ProductSearchResults": { + "fields": { + "category": { + "type": "ProductSearchCategory", + "id": 1 + }, + "productCategory": { + "type": "string", + "id": 4 + }, + "indexTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "products": { + "rule": "repeated", + "type": "ProductInfo", + "id": 3 + }, + "results": { + "rule": "repeated", + "type": "Result", + "id": 5 + } + }, + "nested": { + "ProductInfo": { + "fields": { + "productId": { + "type": "string", + "id": 1 + }, + "imageUri": { + "type": "string", + "id": 2 + }, + "score": { + "type": "float", + "id": 3 + } + } + }, + "Result": { + "fields": { + "product": { + "type": "Product", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "image": { + "type": "string", + "id": 3 + } + } + } + } + }, + "ProductSearchCategory": { + "values": { + "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED": 0, + "SHOES": 1, + "BAGS": 2 + } + }, + "ProductSearchResultsView": { + "values": { + "BASIC": 0, + "FULL": 1 + } + }, + "ProductSearch": { + "methods": { + "CreateProductSet": { + "requestType": "CreateProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*}/productSets", + "(google.api.http).body": "product_set" + } + }, + "ListProductSets": { + "requestType": "ListProductSetsRequest", + "responseType": "ListProductSetsResponse", + "options": { + "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*}/productSets" + } + }, + "GetProductSet": { + "requestType": "GetProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + "UpdateProductSet": { + "requestType": "UpdateProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).patch": "/v1p3beta1/{product_set.name=projects/*/locations/*/productSets/*}", + "(google.api.http).body": "product_set" + } + }, + "DeleteProductSet": { + "requestType": "DeleteProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + "CreateProduct": { + "requestType": "CreateProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*}/products", + "(google.api.http).body": "product" + } + }, + "ListProducts": { + "requestType": "ListProductsRequest", + "responseType": "ListProductsResponse", + "options": { + "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*}/products" + } + }, + "GetProduct": { + "requestType": "GetProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/products/*}" + } + }, + "UpdateProduct": { + "requestType": "UpdateProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).patch": "/v1p3beta1/{product.name=projects/*/locations/*/products/*}", + "(google.api.http).body": "product" + } + }, + "DeleteProduct": { + "requestType": "DeleteProductRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/products/*}" + } + }, + "CreateReferenceImage": { + "requestType": "CreateReferenceImageRequest", + "responseType": "ReferenceImage", + "options": { + "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages", + "(google.api.http).body": "reference_image" + } + }, + "DeleteReferenceImage": { + "requestType": "DeleteReferenceImageRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + "ListReferenceImages": { + "requestType": "ListReferenceImagesRequest", + "responseType": "ListReferenceImagesResponse", + "options": { + "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + } + }, + "GetReferenceImage": { + "requestType": "GetReferenceImageRequest", + "responseType": "ReferenceImage", + "options": { + "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + "AddProductToProductSet": { + "requestType": "AddProductToProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:addProduct", + "(google.api.http).body": "*" + } + }, + "RemoveProductFromProductSet": { + "requestType": "RemoveProductFromProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", + "(google.api.http).body": "*" + } + }, + "ListProductsInProductSet": { + "requestType": "ListProductsInProductSetRequest", + "responseType": "ListProductsInProductSetResponse", + "options": { + "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}/products" + } + }, + "ImportProductSets": { + "requestType": "ImportProductSetsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*}/productSets:import", + "(google.api.http).body": "*" + } + } + } + }, + "Product": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "productCategory": { + "type": "string", + "id": 4 + }, + "productLabels": { + "rule": "repeated", + "type": "KeyValue", + "id": 5 + } + }, + "nested": { + "KeyValue": { + "fields": { + "key": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + } + } + } + } + }, + "ProductSet": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "indexTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "indexError": { + "type": "google.rpc.Status", + "id": 4 + } + } + }, + "ReferenceImage": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "uri": { + "type": "string", + "id": 2 + }, + "boundingPolys": { + "rule": "repeated", + "type": "BoundingPoly", + "id": 3 + } + } + }, + "CreateProductRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "product": { + "type": "Product", + "id": 2 + }, + "productId": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsResponse": { + "fields": { + "products": { + "rule": "repeated", + "type": "Product", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "UpdateProductRequest": { + "fields": { + "product": { + "type": "Product", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "DeleteProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "CreateProductSetRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "productSet": { + "type": "ProductSet", + "id": 2 + }, + "productSetId": { + "type": "string", + "id": 3 + } + } + }, + "ListProductSetsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductSetsResponse": { + "fields": { + "productSets": { + "rule": "repeated", + "type": "ProductSet", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "UpdateProductSetRequest": { + "fields": { + "productSet": { + "type": "ProductSet", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "DeleteProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "CreateReferenceImageRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "referenceImage": { + "type": "ReferenceImage", + "id": 2 + }, + "referenceImageId": { + "type": "string", + "id": 3 + } + } + }, + "ListReferenceImagesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListReferenceImagesResponse": { + "fields": { + "referenceImages": { + "rule": "repeated", + "type": "ReferenceImage", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "nextPageToken": { + "type": "string", + "id": 3 + } + } + }, + "GetReferenceImageRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DeleteReferenceImageRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "AddProductToProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "product": { + "type": "string", + "id": 2 + } + } + }, + "RemoveProductFromProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "product": { + "type": "string", + "id": 2 + } + } + }, + "ListProductsInProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsInProductSetResponse": { + "fields": { + "products": { + "rule": "repeated", + "type": "Product", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "ImportProductSetsGcsSource": { + "fields": { + "csvFileUri": { + "type": "string", + "id": 1 + } + } + }, + "ImportProductSetsInputConfig": { + "oneofs": { + "source": { + "oneof": [ + "gcsSource" + ] + } + }, + "fields": { + "gcsSource": { + "type": "ImportProductSetsGcsSource", + "id": 1 + } + } + }, + "ImportProductSetsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "inputConfig": { + "type": "ImportProductSetsInputConfig", + "id": 2 + } + } + }, + "ImportProductSetsResponse": { + "fields": { + "referenceImages": { + "rule": "repeated", + "type": "ReferenceImage", + "id": 1 + }, + "statuses": { + "rule": "repeated", + "type": "google.rpc.Status", + "id": 2 + } + } + }, + "BatchOperationMetadata": { + "fields": { + "state": { + "type": "State", + "id": 1 + }, + "submitTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "PROCESSING": 1, + "SUCCESSFUL": 2, + "FAILED": 3, + "CANCELLED": 4 + } + } + } + }, + "TextAnnotation": { + "fields": { + "pages": { + "rule": "repeated", + "type": "Page", + "id": 1 + }, + "text": { + "type": "string", + "id": 2 + } + }, + "nested": { + "DetectedLanguage": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "DetectedBreak": { + "fields": { + "type": { + "type": "BreakType", + "id": 1 + }, + "isPrefix": { + "type": "bool", + "id": 2 + } + }, + "nested": { + "BreakType": { + "values": { + "UNKNOWN": 0, + "SPACE": 1, + "SURE_SPACE": 2, + "EOL_SURE_SPACE": 3, + "HYPHEN": 4, + "LINE_BREAK": 5 + } + } + } + }, + "TextProperty": { + "fields": { + "detectedLanguages": { + "rule": "repeated", + "type": "DetectedLanguage", + "id": 1 + }, + "detectedBreak": { + "type": "DetectedBreak", + "id": 2 + } + } + } + } + }, + "Page": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "width": { + "type": "int32", + "id": 2 + }, + "height": { + "type": "int32", + "id": 3 + }, + "blocks": { + "rule": "repeated", + "type": "Block", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + } + }, + "Block": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "paragraphs": { + "rule": "repeated", + "type": "Paragraph", + "id": 3 + }, + "blockType": { + "type": "BlockType", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + }, + "nested": { + "BlockType": { + "values": { + "UNKNOWN": 0, + "TEXT": 1, + "TABLE": 2, + "PICTURE": 3, + "RULER": 4, + "BARCODE": 5 + } + } + } + }, + "Paragraph": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "Word", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Word": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "symbols": { + "rule": "repeated", + "type": "Symbol", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Symbol": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "text": { + "type": "string", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "WebDetection": { + "fields": { + "webEntities": { + "rule": "repeated", + "type": "WebEntity", + "id": 1 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 2 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 3 + }, + "pagesWithMatchingImages": { + "rule": "repeated", + "type": "WebPage", + "id": 4 + }, + "visuallySimilarImages": { + "rule": "repeated", + "type": "WebImage", + "id": 6 + }, + "bestGuessLabels": { + "rule": "repeated", + "type": "WebLabel", + "id": 8 + } + }, + "nested": { + "WebEntity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + } + }, + "WebImage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + } + } + }, + "WebPage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pageTitle": { + "type": "string", + "id": 3 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 4 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 5 + } + } + }, + "WebLabel": { + "fields": { + "label": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } + } + } + } + } + }, + "v1p4beta1": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision", + "java_multiple_files": true, + "java_outer_classname": "WebDetectionProto", + "java_package": "com.google.cloud.vision.v1p4beta1", + "objc_class_prefix": "GCVN" + }, + "nested": { + "ImageAnnotator": { + "methods": { + "BatchAnnotateImages": { + "requestType": "BatchAnnotateImagesRequest", + "responseType": "BatchAnnotateImagesResponse", + "options": { + "(google.api.http).post": "/v1p4beta1/images:annotate", + "(google.api.http).body": "*" + } + }, + "BatchAnnotateFiles": { + "requestType": "BatchAnnotateFilesRequest", + "responseType": "BatchAnnotateFilesResponse", + "options": { + "(google.api.http).post": "/v1p4beta1/files:annotate", + "(google.api.http).body": "*" + } + }, + "AsyncBatchAnnotateImages": { + "requestType": "AsyncBatchAnnotateImagesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p4beta1/images:asyncBatchAnnotate", + "(google.api.http).body": "*" + } + }, + "AsyncBatchAnnotateFiles": { + "requestType": "AsyncBatchAnnotateFilesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p4beta1/files:asyncBatchAnnotate", + "(google.api.http).body": "*" + } + } + } + }, + "Feature": { + "fields": { + "type": { + "type": "Type", + "id": 1 + }, + "maxResults": { + "type": "int32", + "id": 2 + }, + "model": { + "type": "string", + "id": 3 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_UNSPECIFIED": 0, + "FACE_DETECTION": 1, + "LANDMARK_DETECTION": 2, + "LOGO_DETECTION": 3, + "LABEL_DETECTION": 4, + "TEXT_DETECTION": 5, + "DOCUMENT_TEXT_DETECTION": 11, + "SAFE_SEARCH_DETECTION": 6, + "IMAGE_PROPERTIES": 7, + "CROP_HINTS": 9, + "WEB_DETECTION": 10, + "PRODUCT_SEARCH": 12, + "OBJECT_LOCALIZATION": 19 + } + } + } + }, + "ImageSource": { + "fields": { + "gcsImageUri": { + "type": "string", + "id": 1 + }, + "imageUri": { + "type": "string", + "id": 2 + } + } + }, + "Image": { + "fields": { + "content": { + "type": "bytes", + "id": 1 + }, + "source": { + "type": "ImageSource", + "id": 2 + } + } + }, + "Likelihood": { + "values": { + "UNKNOWN": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, + "FaceAnnotation": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "fdBoundingPoly": { + "type": "BoundingPoly", + "id": 2 + }, + "landmarks": { + "rule": "repeated", + "type": "Landmark", + "id": 3 + }, + "rollAngle": { + "type": "float", + "id": 4 + }, + "panAngle": { + "type": "float", + "id": 5 + }, + "tiltAngle": { + "type": "float", + "id": 6 + }, + "detectionConfidence": { + "type": "float", + "id": 7 + }, + "landmarkingConfidence": { + "type": "float", + "id": 8 + }, + "joyLikelihood": { + "type": "Likelihood", + "id": 9 + }, + "sorrowLikelihood": { + "type": "Likelihood", + "id": 10 + }, + "angerLikelihood": { + "type": "Likelihood", + "id": 11 + }, + "surpriseLikelihood": { + "type": "Likelihood", + "id": 12 + }, + "underExposedLikelihood": { + "type": "Likelihood", + "id": 13 + }, + "blurredLikelihood": { + "type": "Likelihood", + "id": 14 + }, + "headwearLikelihood": { + "type": "Likelihood", + "id": 15 + } + }, + "nested": { + "Landmark": { + "fields": { + "type": { + "type": "Type", + "id": 3 + }, + "position": { + "type": "Position", + "id": 4 + } + }, + "nested": { + "Type": { + "values": { + "UNKNOWN_LANDMARK": 0, + "LEFT_EYE": 1, + "RIGHT_EYE": 2, + "LEFT_OF_LEFT_EYEBROW": 3, + "RIGHT_OF_LEFT_EYEBROW": 4, + "LEFT_OF_RIGHT_EYEBROW": 5, + "RIGHT_OF_RIGHT_EYEBROW": 6, + "MIDPOINT_BETWEEN_EYES": 7, + "NOSE_TIP": 8, + "UPPER_LIP": 9, + "LOWER_LIP": 10, + "MOUTH_LEFT": 11, + "MOUTH_RIGHT": 12, + "MOUTH_CENTER": 13, + "NOSE_BOTTOM_RIGHT": 14, + "NOSE_BOTTOM_LEFT": 15, + "NOSE_BOTTOM_CENTER": 16, + "LEFT_EYE_TOP_BOUNDARY": 17, + "LEFT_EYE_RIGHT_CORNER": 18, + "LEFT_EYE_BOTTOM_BOUNDARY": 19, + "LEFT_EYE_LEFT_CORNER": 20, + "RIGHT_EYE_TOP_BOUNDARY": 21, + "RIGHT_EYE_RIGHT_CORNER": 22, + "RIGHT_EYE_BOTTOM_BOUNDARY": 23, + "RIGHT_EYE_LEFT_CORNER": 24, + "LEFT_EYEBROW_UPPER_MIDPOINT": 25, + "RIGHT_EYEBROW_UPPER_MIDPOINT": 26, + "LEFT_EAR_TRAGION": 27, + "RIGHT_EAR_TRAGION": 28, + "LEFT_EYE_PUPIL": 29, + "RIGHT_EYE_PUPIL": 30, + "FOREHEAD_GLABELLA": 31, + "CHIN_GNATHION": 32, + "CHIN_LEFT_GONION": 33, + "CHIN_RIGHT_GONION": 34 + } + } + } + } + } + }, + "LocationInfo": { + "fields": { + "latLng": { + "type": "google.type.LatLng", + "id": 1 + } + } + }, + "Property": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + }, + "uint64Value": { + "type": "uint64", + "id": 3 + } + } + }, + "EntityAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "locale": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5, + "options": { + "deprecated": true + } + }, + "topicality": { + "type": "float", + "id": 6 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 7 + }, + "locations": { + "rule": "repeated", + "type": "LocationInfo", + "id": 8 + }, + "properties": { + "rule": "repeated", + "type": "Property", + "id": 9 + } + } + }, + "LocalizedObjectAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + }, + "name": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + }, + "boundingPoly": { + "type": "BoundingPoly", + "id": 5 + } + } + }, + "SafeSearchAnnotation": { + "fields": { + "adult": { + "type": "Likelihood", + "id": 1 + }, + "spoof": { + "type": "Likelihood", + "id": 2 + }, + "medical": { + "type": "Likelihood", + "id": 3 + }, + "violence": { + "type": "Likelihood", + "id": 4 + }, + "racy": { + "type": "Likelihood", + "id": 9 + } + } + }, + "LatLongRect": { + "fields": { + "minLatLng": { + "type": "google.type.LatLng", + "id": 1 + }, + "maxLatLng": { + "type": "google.type.LatLng", + "id": 2 + } + } + }, + "ColorInfo": { + "fields": { + "color": { + "type": "google.type.Color", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pixelFraction": { + "type": "float", + "id": 3 + } + } + }, + "DominantColorsAnnotation": { + "fields": { + "colors": { + "rule": "repeated", + "type": "ColorInfo", + "id": 1 + } + } + }, + "ImageProperties": { + "fields": { + "dominantColors": { + "type": "DominantColorsAnnotation", + "id": 1 + } + } + }, + "CropHint": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + }, + "importanceFraction": { + "type": "float", + "id": 3 + } + } + }, + "CropHintsAnnotation": { + "fields": { + "cropHints": { + "rule": "repeated", + "type": "CropHint", + "id": 1 + } + } + }, + "CropHintsParams": { + "fields": { + "aspectRatios": { + "rule": "repeated", + "type": "float", + "id": 1 + } + } + }, + "WebDetectionParams": { + "fields": { + "includeGeoResults": { + "type": "bool", + "id": 2 + } + } + }, + "ImageContext": { + "fields": { + "latLongRect": { + "type": "LatLongRect", + "id": 1 + }, + "languageHints": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "cropHintsParams": { + "type": "CropHintsParams", + "id": 4 + }, + "productSearchParams": { + "type": "ProductSearchParams", + "id": 5 + }, + "webDetectionParams": { + "type": "WebDetectionParams", + "id": 6 + } + } + }, + "AnnotateImageRequest": { + "fields": { + "image": { + "type": "Image", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + } + } + }, + "ImageAnnotationContext": { + "fields": { + "uri": { + "type": "string", + "id": 1 + }, + "pageNumber": { + "type": "int32", + "id": 2 + } + } + }, + "AnnotateImageResponse": { + "fields": { + "faceAnnotations": { + "rule": "repeated", + "type": "FaceAnnotation", + "id": 1 + }, + "landmarkAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 2 + }, + "logoAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 3 + }, + "labelAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 4 + }, + "localizedObjectAnnotations": { + "rule": "repeated", + "type": "LocalizedObjectAnnotation", + "id": 22 + }, + "textAnnotations": { + "rule": "repeated", + "type": "EntityAnnotation", + "id": 5 + }, + "fullTextAnnotation": { + "type": "TextAnnotation", + "id": 12 + }, + "safeSearchAnnotation": { + "type": "SafeSearchAnnotation", + "id": 6 + }, + "imagePropertiesAnnotation": { + "type": "ImageProperties", + "id": 8 + }, + "cropHintsAnnotation": { + "type": "CropHintsAnnotation", + "id": 11 + }, + "webDetection": { + "type": "WebDetection", + "id": 13 + }, + "productSearchResults": { + "type": "ProductSearchResults", + "id": 14 + }, + "error": { + "type": "google.rpc.Status", + "id": 9 + }, + "context": { + "type": "ImageAnnotationContext", + "id": 21 + } + } + }, + "AnnotateFileResponse": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 2 + }, + "totalPages": { + "type": "int32", + "id": 3 + } + } + }, + "BatchAnnotateImagesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateImageRequest", + "id": 1 + } + } + }, + "BatchAnnotateImagesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 1 + } + } + }, + "AnnotateFileRequest": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + }, + "pages": { + "rule": "repeated", + "type": "int32", + "id": 4 + } + } + }, + "BatchAnnotateFilesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateFileRequest", + "id": 1 + } + } + }, + "BatchAnnotateFilesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AnnotateFileResponse", + "id": 1 + } + } + }, + "AsyncAnnotateFileRequest": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "features": { + "rule": "repeated", + "type": "Feature", + "id": 2 + }, + "imageContext": { + "type": "ImageContext", + "id": 3 + }, + "outputConfig": { + "type": "OutputConfig", + "id": 4 + } + } + }, + "AsyncAnnotateFileResponse": { + "fields": { + "outputConfig": { + "type": "OutputConfig", + "id": 1 + } + } + }, + "AsyncBatchAnnotateImagesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AnnotateImageRequest", + "id": 1 + }, + "outputConfig": { + "type": "OutputConfig", + "id": 2 + } + } + }, + "AsyncBatchAnnotateImagesResponse": { + "fields": { + "outputConfig": { + "type": "OutputConfig", + "id": 1 + } + } + }, + "AsyncBatchAnnotateFilesRequest": { + "fields": { + "requests": { + "rule": "repeated", + "type": "AsyncAnnotateFileRequest", + "id": 1 + } + } + }, + "AsyncBatchAnnotateFilesResponse": { + "fields": { + "responses": { + "rule": "repeated", + "type": "AsyncAnnotateFileResponse", + "id": 1 + } + } + }, + "InputConfig": { + "fields": { + "gcsSource": { + "type": "GcsSource", + "id": 1 + }, + "content": { + "type": "bytes", + "id": 3 + }, + "mimeType": { + "type": "string", + "id": 2 + } + } + }, + "OutputConfig": { + "fields": { + "gcsDestination": { + "type": "GcsDestination", + "id": 1 + }, + "batchSize": { + "type": "int32", + "id": 2 + } + } + }, + "GcsSource": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "GcsDestination": { + "fields": { + "uri": { + "type": "string", + "id": 1 + } + } + }, + "OperationMetadata": { + "fields": { + "state": { + "type": "State", + "id": 1 + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 5 + }, + "updateTime": { + "type": "google.protobuf.Timestamp", + "id": 6 + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "CREATED": 1, + "RUNNING": 2, + "DONE": 3, + "CANCELLED": 4 + } + } + } + }, + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + }, + "normalizedVertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 2 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, + "ProductSearchParams": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 9 + }, + "productSet": { + "type": "string", + "id": 6 + }, + "productCategories": { + "rule": "repeated", + "type": "string", + "id": 7 + }, + "filter": { + "type": "string", + "id": 8 + } + } + }, + "ProductSearchResults": { + "fields": { + "indexTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "results": { + "rule": "repeated", + "type": "Result", + "id": 5 + }, + "productGroupedResults": { + "rule": "repeated", + "type": "GroupedResult", + "id": 6 + } + }, + "nested": { + "Result": { + "fields": { + "product": { + "type": "Product", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "image": { + "type": "string", + "id": 3 + } + } + }, + "GroupedResult": { + "fields": { + "boundingPoly": { + "type": "BoundingPoly", + "id": 1 + }, + "results": { + "rule": "repeated", + "type": "Result", + "id": 2 + } + } + } + } + }, + "ProductSearch": { + "methods": { + "CreateProductSet": { + "requestType": "CreateProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets", + "(google.api.http).body": "product_set" + } + }, + "ListProductSets": { + "requestType": "ListProductSetsRequest", + "responseType": "ListProductSetsResponse", + "options": { + "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/productSets" + } + }, + "GetProductSet": { + "requestType": "GetProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + "UpdateProductSet": { + "requestType": "UpdateProductSetRequest", + "responseType": "ProductSet", + "options": { + "(google.api.http).patch": "/v1p4beta1/{product_set.name=projects/*/locations/*/productSets/*}", + "(google.api.http).body": "product_set" + } + }, + "DeleteProductSet": { + "requestType": "DeleteProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + "CreateProduct": { + "requestType": "CreateProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/products", + "(google.api.http).body": "product" + } + }, + "ListProducts": { + "requestType": "ListProductsRequest", + "responseType": "ListProductsResponse", + "options": { + "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/products" + } + }, + "GetProduct": { + "requestType": "GetProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*}" + } + }, + "UpdateProduct": { + "requestType": "UpdateProductRequest", + "responseType": "Product", + "options": { + "(google.api.http).patch": "/v1p4beta1/{product.name=projects/*/locations/*/products/*}", + "(google.api.http).body": "product" + } + }, + "DeleteProduct": { + "requestType": "DeleteProductRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*}" + } + }, + "CreateReferenceImage": { + "requestType": "CreateReferenceImageRequest", + "responseType": "ReferenceImage", + "options": { + "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages", + "(google.api.http).body": "reference_image" + } + }, + "DeleteReferenceImage": { + "requestType": "DeleteReferenceImageRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + "ListReferenceImages": { + "requestType": "ListReferenceImagesRequest", + "responseType": "ListReferenceImagesResponse", + "options": { + "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + } + }, + "GetReferenceImage": { + "requestType": "GetReferenceImageRequest", + "responseType": "ReferenceImage", + "options": { + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + "AddProductToProductSet": { + "requestType": "AddProductToProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:addProduct", + "(google.api.http).body": "*" + } + }, + "RemoveProductFromProductSet": { + "requestType": "RemoveProductFromProductSetRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", + "(google.api.http).body": "*" + } + }, + "ListProductsInProductSet": { + "requestType": "ListProductsInProductSetRequest", + "responseType": "ListProductsInProductSetResponse", + "options": { + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products" + } + }, + "ImportProductSets": { + "requestType": "ImportProductSetsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets:import", + "(google.api.http).body": "*" + } + } + } + }, + "Product": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "productCategory": { + "type": "string", + "id": 4 + }, + "productLabels": { + "rule": "repeated", + "type": "KeyValue", + "id": 5 + } + }, + "nested": { + "KeyValue": { + "fields": { + "key": { + "type": "string", + "id": 1 + }, + "value": { + "type": "string", + "id": 2 + } + } + } + } + }, + "ProductSet": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "indexTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + }, + "indexError": { + "type": "google.rpc.Status", + "id": 4 + } + } + }, + "ReferenceImage": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "uri": { + "type": "string", + "id": 2 + }, + "boundingPolys": { + "rule": "repeated", + "type": "BoundingPoly", + "id": 3 + } + } + }, + "CreateProductRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "product": { + "type": "Product", + "id": 2 + }, + "productId": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsResponse": { + "fields": { + "products": { + "rule": "repeated", + "type": "Product", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "UpdateProductRequest": { + "fields": { + "product": { + "type": "Product", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "DeleteProductRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "CreateProductSetRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "productSet": { + "type": "ProductSet", + "id": 2 + }, + "productSetId": { + "type": "string", + "id": 3 + } + } + }, + "ListProductSetsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductSetsResponse": { + "fields": { + "productSets": { + "rule": "repeated", + "type": "ProductSet", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "UpdateProductSetRequest": { + "fields": { + "productSet": { + "type": "ProductSet", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "DeleteProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "CreateReferenceImageRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "referenceImage": { + "type": "ReferenceImage", + "id": 2 + }, + "referenceImageId": { + "type": "string", + "id": 3 + } + } + }, + "ListReferenceImagesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListReferenceImagesResponse": { + "fields": { + "referenceImages": { + "rule": "repeated", + "type": "ReferenceImage", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "nextPageToken": { + "type": "string", + "id": 3 + } + } + }, + "GetReferenceImageRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DeleteReferenceImageRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "AddProductToProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "product": { + "type": "string", + "id": 2 + } + } + }, + "RemoveProductFromProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "product": { + "type": "string", + "id": 2 + } + } + }, + "ListProductsInProductSetRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListProductsInProductSetResponse": { + "fields": { + "products": { + "rule": "repeated", + "type": "Product", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "ImportProductSetsGcsSource": { + "fields": { + "csvFileUri": { + "type": "string", + "id": 1 + } + } + }, + "ImportProductSetsInputConfig": { + "oneofs": { + "source": { + "oneof": [ + "gcsSource" + ] + } + }, + "fields": { + "gcsSource": { + "type": "ImportProductSetsGcsSource", + "id": 1 + } + } + }, + "ImportProductSetsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "inputConfig": { + "type": "ImportProductSetsInputConfig", + "id": 2 + } + } + }, + "ImportProductSetsResponse": { + "fields": { + "referenceImages": { + "rule": "repeated", + "type": "ReferenceImage", + "id": 1 + }, + "statuses": { + "rule": "repeated", + "type": "google.rpc.Status", + "id": 2 + } + } + }, + "BatchOperationMetadata": { + "fields": { + "state": { + "type": "State", + "id": 1 + }, + "submitTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 3 + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "PROCESSING": 1, + "SUCCESSFUL": 2, + "FAILED": 3, + "CANCELLED": 4 + } + } + } + }, + "TextAnnotation": { + "fields": { + "pages": { + "rule": "repeated", + "type": "Page", + "id": 1 + }, + "text": { + "type": "string", + "id": 2 + } + }, + "nested": { + "DetectedLanguage": { + "fields": { + "languageCode": { + "type": "string", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "DetectedBreak": { + "fields": { + "type": { + "type": "BreakType", + "id": 1 + }, + "isPrefix": { + "type": "bool", + "id": 2 + } + }, + "nested": { + "BreakType": { + "values": { + "UNKNOWN": 0, + "SPACE": 1, + "SURE_SPACE": 2, + "EOL_SURE_SPACE": 3, + "HYPHEN": 4, + "LINE_BREAK": 5 + } + } + } + }, + "TextProperty": { + "fields": { + "detectedLanguages": { + "rule": "repeated", + "type": "DetectedLanguage", + "id": 1 + }, + "detectedBreak": { + "type": "DetectedBreak", + "id": 2 + } + } + } + } + }, + "Page": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "width": { + "type": "int32", + "id": 2 + }, + "height": { + "type": "int32", + "id": 3 + }, + "blocks": { + "rule": "repeated", + "type": "Block", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + } + }, + "Block": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "paragraphs": { + "rule": "repeated", + "type": "Paragraph", + "id": 3 + }, + "blockType": { + "type": "BlockType", + "id": 4 + }, + "confidence": { + "type": "float", + "id": 5 + } + }, + "nested": { + "BlockType": { + "values": { + "UNKNOWN": 0, + "TEXT": 1, + "TABLE": 2, + "PICTURE": 3, + "RULER": 4, + "BARCODE": 5 + } + } + } + }, + "Paragraph": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "words": { + "rule": "repeated", + "type": "Word", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Word": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "symbols": { + "rule": "repeated", + "type": "Symbol", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "Symbol": { + "fields": { + "property": { + "type": "TextAnnotation.TextProperty", + "id": 1 + }, + "boundingBox": { + "type": "BoundingPoly", + "id": 2 + }, + "text": { + "type": "string", + "id": 3 + }, + "confidence": { + "type": "float", + "id": 4 + } + } + }, + "WebDetection": { + "fields": { + "webEntities": { + "rule": "repeated", + "type": "WebEntity", + "id": 1 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 2 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 3 + }, + "pagesWithMatchingImages": { + "rule": "repeated", + "type": "WebPage", + "id": 4 + }, + "visuallySimilarImages": { + "rule": "repeated", + "type": "WebImage", + "id": 6 + }, + "bestGuessLabels": { + "rule": "repeated", + "type": "WebLabel", + "id": 8 + } + }, + "nested": { + "WebEntity": { + "fields": { + "entityId": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + } + }, + "WebImage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + } + } + }, + "WebLabel": { + "fields": { + "label": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } + }, + "WebPage": { + "fields": { + "url": { + "type": "string", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "pageTitle": { + "type": "string", + "id": 3 + }, + "fullMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 4 + }, + "partialMatchingImages": { + "rule": "repeated", + "type": "WebImage", + "id": 5 + } + } + } + } + } + } + } + } + } + } + }, + "api": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", + "java_multiple_files": true, + "java_outer_classname": "ClientProto", + "java_package": "com.google.api", + "objc_class_prefix": "GAPI", + "cc_enable_arenas": true + }, + "nested": { + "http": { + "type": "HttpRule", + "id": 72295728, + "extend": "google.protobuf.MethodOptions" + }, + "Http": { + "fields": { + "rules": { + "rule": "repeated", + "type": "HttpRule", + "id": 1 + }, + "fullyDecodeReservedExpansion": { + "type": "bool", + "id": 2 + } + } + }, + "HttpRule": { + "oneofs": { + "pattern": { + "oneof": [ + "get", + "put", + "post", + "delete", + "patch", + "custom" + ] + } + }, + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "get": { + "type": "string", + "id": 2 + }, + "put": { + "type": "string", + "id": 3 + }, + "post": { + "type": "string", + "id": 4 + }, + "delete": { + "type": "string", + "id": 5 + }, + "patch": { + "type": "string", + "id": 6 + }, + "custom": { + "type": "CustomHttpPattern", + "id": 8 + }, + "body": { + "type": "string", + "id": 7 + }, + "responseBody": { + "type": "string", + "id": 12 + }, + "additionalBindings": { + "rule": "repeated", + "type": "HttpRule", + "id": 11 + } + } + }, + "CustomHttpPattern": { + "fields": { + "kind": { + "type": "string", + "id": 1 + }, + "path": { + "type": "string", + "id": 2 + } + } + }, + "methodSignature": { + "rule": "repeated", + "type": "string", + "id": 1051, + "extend": "google.protobuf.MethodOptions" + }, + "defaultHost": { + "type": "string", + "id": 1049, + "extend": "google.protobuf.ServiceOptions" + }, + "oauthScopes": { + "type": "string", + "id": 1050, + "extend": "google.protobuf.ServiceOptions" + } + } + }, + "protobuf": { + "options": { + "go_package": "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor", + "java_package": "com.google.protobuf", + "java_outer_classname": "DescriptorProtos", + "csharp_namespace": "Google.Protobuf.Reflection", + "objc_class_prefix": "GPB", + "cc_enable_arenas": true, + "optimize_for": "SPEED" + }, + "nested": { + "FileDescriptorSet": { + "fields": { + "file": { + "rule": "repeated", + "type": "FileDescriptorProto", + "id": 1 + } + } + }, + "FileDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "package": { + "type": "string", + "id": 2 + }, + "dependency": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "publicDependency": { + "rule": "repeated", + "type": "int32", + "id": 10, + "options": { + "packed": false + } + }, + "weakDependency": { + "rule": "repeated", + "type": "int32", + "id": 11, + "options": { + "packed": false + } + }, + "messageType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 4 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 5 + }, + "service": { + "rule": "repeated", + "type": "ServiceDescriptorProto", + "id": 6 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 7 + }, + "options": { + "type": "FileOptions", + "id": 8 + }, + "sourceCodeInfo": { + "type": "SourceCodeInfo", + "id": 9 + }, + "syntax": { + "type": "string", + "id": 12 + } + } + }, + "DescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "field": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 2 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 6 + }, + "nestedType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 3 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 4 + }, + "extensionRange": { + "rule": "repeated", + "type": "ExtensionRange", + "id": 5 + }, + "oneofDecl": { + "rule": "repeated", + "type": "OneofDescriptorProto", + "id": 8 + }, + "options": { + "type": "MessageOptions", + "id": 7 + }, + "reservedRange": { + "rule": "repeated", + "type": "ReservedRange", + "id": 9 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 10 + } + }, + "nested": { + "ExtensionRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "ExtensionRangeOptions", + "id": 3 + } + } + }, + "ReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "ExtensionRangeOptions": { + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "FieldDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 3 + }, + "label": { + "type": "Label", + "id": 4 + }, + "type": { + "type": "Type", + "id": 5 + }, + "typeName": { + "type": "string", + "id": 6 + }, + "extendee": { + "type": "string", + "id": 2 + }, + "defaultValue": { + "type": "string", + "id": 7 + }, + "oneofIndex": { + "type": "int32", + "id": 9 + }, + "jsonName": { + "type": "string", + "id": 10 + }, + "options": { + "type": "FieldOptions", + "id": 8 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_DOUBLE": 1, + "TYPE_FLOAT": 2, + "TYPE_INT64": 3, + "TYPE_UINT64": 4, + "TYPE_INT32": 5, + "TYPE_FIXED64": 6, + "TYPE_FIXED32": 7, + "TYPE_BOOL": 8, + "TYPE_STRING": 9, + "TYPE_GROUP": 10, + "TYPE_MESSAGE": 11, + "TYPE_BYTES": 12, + "TYPE_UINT32": 13, + "TYPE_ENUM": 14, + "TYPE_SFIXED32": 15, + "TYPE_SFIXED64": 16, + "TYPE_SINT32": 17, + "TYPE_SINT64": 18 + } + }, + "Label": { + "values": { + "LABEL_OPTIONAL": 1, + "LABEL_REQUIRED": 2, + "LABEL_REPEATED": 3 + } + } + } + }, + "OneofDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "options": { + "type": "OneofOptions", + "id": 2 + } + } + }, + "EnumDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "rule": "repeated", + "type": "EnumValueDescriptorProto", + "id": 2 + }, + "options": { + "type": "EnumOptions", + "id": 3 + }, + "reservedRange": { + "rule": "repeated", + "type": "EnumReservedRange", + "id": 4 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 5 + } + }, + "nested": { + "EnumReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "EnumValueDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "EnumValueOptions", + "id": 3 + } + } + }, + "ServiceDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "method": { + "rule": "repeated", + "type": "MethodDescriptorProto", + "id": 2 + }, + "options": { + "type": "ServiceOptions", + "id": 3 + } + } + }, + "MethodDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "inputType": { + "type": "string", + "id": 2 + }, + "outputType": { + "type": "string", + "id": 3 + }, + "options": { + "type": "MethodOptions", + "id": 4 + }, + "clientStreaming": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "serverStreaming": { + "type": "bool", + "id": 6, + "options": { + "default": false + } + } + } + }, + "FileOptions": { + "fields": { + "javaPackage": { + "type": "string", + "id": 1 + }, + "javaOuterClassname": { + "type": "string", + "id": 8 + }, + "javaMultipleFiles": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "javaGenerateEqualsAndHash": { + "type": "bool", + "id": 20, + "options": { + "deprecated": true + } + }, + "javaStringCheckUtf8": { + "type": "bool", + "id": 27, + "options": { + "default": false + } + }, + "optimizeFor": { + "type": "OptimizeMode", + "id": 9, + "options": { + "default": "SPEED" + } + }, + "goPackage": { + "type": "string", + "id": 11 + }, + "ccGenericServices": { + "type": "bool", + "id": 16, + "options": { + "default": false + } + }, + "javaGenericServices": { + "type": "bool", + "id": 17, + "options": { + "default": false + } + }, + "pyGenericServices": { + "type": "bool", + "id": 18, + "options": { + "default": false + } + }, + "phpGenericServices": { + "type": "bool", + "id": 42, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 23, + "options": { + "default": false + } + }, + "ccEnableArenas": { + "type": "bool", + "id": 31, + "options": { + "default": false + } + }, + "objcClassPrefix": { + "type": "string", + "id": 36 + }, + "csharpNamespace": { + "type": "string", + "id": 37 + }, + "swiftPrefix": { + "type": "string", + "id": 39 + }, + "phpClassPrefix": { + "type": "string", + "id": 40 + }, + "phpNamespace": { + "type": "string", + "id": 41 + }, + "phpMetadataNamespace": { + "type": "string", + "id": 44 + }, + "rubyPackage": { + "type": "string", + "id": 45 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 38, + 38 + ] + ], + "nested": { + "OptimizeMode": { + "values": { + "SPEED": 1, + "CODE_SIZE": 2, + "LITE_RUNTIME": 3 + } + } + } + }, + "MessageOptions": { + "fields": { + "messageSetWireFormat": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "noStandardDescriptorAccessor": { + "type": "bool", + "id": 2, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "mapEntry": { + "type": "bool", + "id": 7 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 8, + 8 + ], + [ + 9, + 9 + ] + ] + }, + "FieldOptions": { + "fields": { + "ctype": { + "type": "CType", + "id": 1, + "options": { + "default": "STRING" + } + }, + "packed": { + "type": "bool", + "id": 2 + }, + "jstype": { + "type": "JSType", + "id": 6, + "options": { + "default": "JS_NORMAL" + } + }, + "lazy": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "weak": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 4, + 4 + ] + ], + "nested": { + "CType": { + "values": { + "STRING": 0, + "CORD": 1, + "STRING_PIECE": 2 + } + }, + "JSType": { + "values": { + "JS_NORMAL": 0, + "JS_STRING": 1, + "JS_NUMBER": 2 + } + } + } + }, + "OneofOptions": { + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "EnumOptions": { + "fields": { + "allowAlias": { + "type": "bool", + "id": 2 + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 5, + 5 + ] + ] + }, + "EnumValueOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "ServiceOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "MethodOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "idempotencyLevel": { + "type": "IdempotencyLevel", + "id": 34, + "options": { + "default": "IDEMPOTENCY_UNKNOWN" + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "nested": { + "IdempotencyLevel": { + "values": { + "IDEMPOTENCY_UNKNOWN": 0, + "NO_SIDE_EFFECTS": 1, + "IDEMPOTENT": 2 + } + } + } + }, + "UninterpretedOption": { + "fields": { + "name": { + "rule": "repeated", + "type": "NamePart", + "id": 2 + }, + "identifierValue": { + "type": "string", + "id": 3 + }, + "positiveIntValue": { + "type": "uint64", + "id": 4 + }, + "negativeIntValue": { + "type": "int64", + "id": 5 + }, + "doubleValue": { + "type": "double", + "id": 6 + }, + "stringValue": { + "type": "bytes", + "id": 7 + }, + "aggregateValue": { + "type": "string", + "id": 8 + } + }, + "nested": { + "NamePart": { + "fields": { + "namePart": { + "rule": "required", + "type": "string", + "id": 1 + }, + "isExtension": { + "rule": "required", + "type": "bool", + "id": 2 + } + } + } + } + }, + "SourceCodeInfo": { + "fields": { + "location": { + "rule": "repeated", + "type": "Location", + "id": 1 + } + }, + "nested": { + "Location": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "span": { + "rule": "repeated", + "type": "int32", + "id": 2 + }, + "leadingComments": { + "type": "string", + "id": 3 + }, + "trailingComments": { + "type": "string", + "id": 4 + }, + "leadingDetachedComments": { + "rule": "repeated", + "type": "string", + "id": 6 + } + } + } + } + }, + "GeneratedCodeInfo": { + "fields": { + "annotation": { + "rule": "repeated", + "type": "Annotation", + "id": 1 + } + }, + "nested": { + "Annotation": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "sourceFile": { + "type": "string", + "id": 2 + }, + "begin": { + "type": "int32", + "id": 3 + }, + "end": { + "type": "int32", + "id": 4 + } + } + } + } + }, + "Any": { + "fields": { + "type_url": { + "type": "string", + "id": 1 + }, + "value": { + "type": "bytes", + "id": 2 + } + } + }, + "Duration": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, + "Empty": { + "fields": {} + }, + "FieldMask": { + "fields": { + "paths": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "Timestamp": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, + "DoubleValue": { + "fields": { + "value": { + "type": "double", + "id": 1 + } + } + }, + "FloatValue": { + "fields": { + "value": { + "type": "float", + "id": 1 + } + } + }, + "Int64Value": { + "fields": { + "value": { + "type": "int64", + "id": 1 + } + } + }, + "UInt64Value": { + "fields": { + "value": { + "type": "uint64", + "id": 1 + } + } + }, + "Int32Value": { + "fields": { + "value": { + "type": "int32", + "id": 1 + } + } + }, + "UInt32Value": { + "fields": { + "value": { + "type": "uint32", + "id": 1 + } + } + }, + "BoolValue": { + "fields": { + "value": { + "type": "bool", + "id": 1 + } + } + }, + "StringValue": { + "fields": { + "value": { + "type": "string", + "id": 1 + } + } + }, + "BytesValue": { + "fields": { + "value": { + "type": "bytes", + "id": 1 + } + } + } + } + }, + "longrunning": { + "options": { + "cc_enable_arenas": true, + "csharp_namespace": "Google.LongRunning", + "go_package": "google.golang.org/genproto/googleapis/longrunning;longrunning", + "java_multiple_files": true, + "java_outer_classname": "OperationsProto", + "java_package": "com.google.longrunning", + "php_namespace": "Google\\LongRunning" + }, + "nested": { + "operationInfo": { + "type": "google.longrunning.OperationInfo", + "id": 1049, + "extend": "google.protobuf.MethodOptions" + }, + "Operations": { + "methods": { + "ListOperations": { + "requestType": "ListOperationsRequest", + "responseType": "ListOperationsResponse", + "options": { + "(google.api.http).get": "/v1/{name=operations}" + } + }, + "GetOperation": { + "requestType": "GetOperationRequest", + "responseType": "Operation", + "options": { + "(google.api.http).get": "/v1/{name=operations/**}" + } + }, + "DeleteOperation": { + "requestType": "DeleteOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=operations/**}" + } + }, + "CancelOperation": { + "requestType": "CancelOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1/{name=operations/**}:cancel", + "(google.api.http).body": "*" + } + }, + "WaitOperation": { + "requestType": "WaitOperationRequest", + "responseType": "Operation" + } + } + }, + "Operation": { + "oneofs": { + "result": { + "oneof": [ + "error", + "response" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "metadata": { + "type": "google.protobuf.Any", + "id": 2 + }, + "done": { + "type": "bool", + "id": 3 + }, + "error": { + "type": "google.rpc.Status", + "id": 4 + }, + "response": { + "type": "google.protobuf.Any", + "id": 5 + } + } + }, + "GetOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "ListOperationsRequest": { + "fields": { + "name": { + "type": "string", + "id": 4 + }, + "filter": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListOperationsResponse": { + "fields": { + "operations": { + "rule": "repeated", + "type": "Operation", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "CancelOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DeleteOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "WaitOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "timeout": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "OperationInfo": { + "fields": { + "responseType": { + "type": "string", + "id": 1 + }, + "metadataType": { + "type": "string", + "id": 2 + } + } + } + } + }, + "rpc": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/rpc/status;status", + "java_multiple_files": true, + "java_outer_classname": "StatusProto", + "java_package": "com.google.rpc", + "objc_class_prefix": "RPC" + }, + "nested": { + "Status": { + "fields": { + "code": { + "type": "int32", + "id": 1 + }, + "message": { + "type": "string", + "id": 2 + }, + "details": { + "rule": "repeated", + "type": "google.protobuf.Any", + "id": 3 + } + } + } + } + }, + "type": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/type/latlng;latlng", + "java_multiple_files": true, + "java_outer_classname": "LatLngProto", + "java_package": "com.google.type", + "objc_class_prefix": "GTP" + }, + "nested": { + "Color": { + "fields": { + "red": { + "type": "float", + "id": 1 + }, + "green": { + "type": "float", + "id": 2 + }, + "blue": { + "type": "float", + "id": 3 + }, + "alpha": { + "type": "google.protobuf.FloatValue", + "id": 4 + } + } + }, + "LatLng": { + "fields": { + "latitude": { + "type": "double", + "id": 1 + }, + "longitude": { + "type": "double", + "id": 2 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/google-cloud-vision/src/browser.js b/packages/google-cloud-vision/src/browser.js new file mode 100644 index 00000000000..ddbcd7ecb9a --- /dev/null +++ b/packages/google-cloud-vision/src/browser.js @@ -0,0 +1,21 @@ +// Copyright 2019 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. + +'use strict'; + +// Set a flag that we are running in a browser bundle. +global.isBrowser = true; + +// Re-export all exports from ./index.js. +module.exports = require('./index'); diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index a6054b00499..084f13a1e9e 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -61,6 +60,16 @@ class ImageAnnotatorClient { opts = opts || {}; this._descriptors = {}; + if (global.isBrowser) { + // If we're in browser, we use gRPC fallback. + opts.fallback = true; + } + + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; + const servicePath = opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; @@ -77,43 +86,51 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - const gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gaxModule.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - const clientHeader = [ - `gl-node/${process.versions.node}`, - `grpc/${gaxGrpc.grpcVersion}`, - `gax/${gax.version}`, - `gapic/${VERSION}`, - ]; + const clientHeader = []; + + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } + clientHeader.push(`gax/${gaxModule.version}`); + if (opts.fallback) { + clientHeader.push(`gl-web/${gaxModule.version}`); + } else { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + clientHeader.push(`gapic/${VERSION}`); if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - const protos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - ['google/cloud/vision/v1/image_annotator.proto'] + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' ); - let protoFilesRoot = new gax.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join( - __dirname, - '..', - '..', - 'protos', - 'google/cloud/vision/v1/image_annotator.proto' - ), - protoFilesRoot + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - this.operationsClient = new gax.lro({ + this.operationsClient = new gaxModule.lro({ auth: gaxGrpc.auth, grpc: gaxGrpc.grpc, }).operationsClient(opts); @@ -132,7 +149,7 @@ class ImageAnnotatorClient { ); this._descriptors.longrunning = { - asyncBatchAnnotateImages: new gax.LongrunningDescriptor( + asyncBatchAnnotateImages: new gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateImagesResponse.decode.bind( asyncBatchAnnotateImagesResponse @@ -141,7 +158,7 @@ class ImageAnnotatorClient { asyncBatchAnnotateImagesMetadata ) ), - asyncBatchAnnotateFiles: new gax.LongrunningDescriptor( + asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( asyncBatchAnnotateFilesResponse @@ -168,7 +185,9 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1.ImageAnnotator. const imageAnnotatorStub = gaxGrpc.createStub( - protos.google.cloud.vision.v1.ImageAnnotator, + opts.fallback + ? protos.lookupService('google.cloud.vision.v1.ImageAnnotator') + : protos.google.cloud.vision.v1.ImageAnnotator, opts ); @@ -181,18 +200,16 @@ class ImageAnnotatorClient { 'asyncBatchAnnotateFiles', ]; for (const methodName of imageAnnotatorStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - imageAnnotatorStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = imageAnnotatorStub.then( + stub => (...args) => { + return stub[methodName].apply(stub, args); + }, + err => () => { + throw err; + } + ); + this._innerApiCalls[methodName] = gaxModule.createApiCall( + innerCallPromise, defaults[methodName], this._descriptors.longrunning[methodName] ); diff --git a/packages/google-cloud-vision/src/v1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1/image_annotator_proto_list.json new file mode 100644 index 00000000000..8d36ebf05e2 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/image_annotator_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/vision/v1/image_annotator.proto" +] diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index c9621bb6361..527a87a542d 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./product_search_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -74,6 +73,16 @@ class ProductSearchClient { opts = opts || {}; this._descriptors = {}; + if (global.isBrowser) { + // If we're in browser, we use gRPC fallback. + opts.fallback = true; + } + + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; + const servicePath = opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; @@ -90,42 +99,57 @@ class ProductSearchClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - const gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gaxModule.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - const clientHeader = [ - `gl-node/${process.versions.node}`, - `grpc/${gaxGrpc.grpcVersion}`, - `gax/${gax.version}`, - `gapic/${VERSION}`, - ]; + const clientHeader = []; + + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } + clientHeader.push(`gax/${gaxModule.version}`); + if (opts.fallback) { + clientHeader.push(`gl-web/${gaxModule.version}`); + } else { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + clientHeader.push(`gapic/${VERSION}`); if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); const protos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - ['google/cloud/vision/v1/product_search_service.proto'] + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. this._pathTemplates = { - locationPathTemplate: new gax.PathTemplate( + locationPathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}' ), - productPathTemplate: new gax.PathTemplate( + productPathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), - productSetPathTemplate: new gax.PathTemplate( + productSetPathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - referenceImagePathTemplate: new gax.PathTemplate( + referenceImagePathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -134,43 +158,36 @@ class ProductSearchClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this._descriptors.page = { - listProductSets: new gax.PageDescriptor( + listProductSets: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'productSets' ), - listProducts: new gax.PageDescriptor( + listProducts: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' ), - listReferenceImages: new gax.PageDescriptor( + listReferenceImages: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'referenceImages' ), - listProductsInProductSet: new gax.PageDescriptor( + listProductsInProductSet: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' ), }; - let protoFilesRoot = new gax.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join( - __dirname, - '..', - '..', - 'protos', - 'google/cloud/vision/v1/product_search_service.proto' - ), - protoFilesRoot - ); + + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - this.operationsClient = new gax.lro({ + this.operationsClient = new gaxModule.lro({ auth: gaxGrpc.auth, grpc: gaxGrpc.grpc, }).operationsClient(opts); @@ -189,12 +206,12 @@ class ProductSearchClient { ); this._descriptors.longrunning = { - importProductSets: new gax.LongrunningDescriptor( + importProductSets: new gaxModule.LongrunningDescriptor( this.operationsClient, importProductSetsResponse.decode.bind(importProductSetsResponse), importProductSetsMetadata.decode.bind(importProductSetsMetadata) ), - purgeProducts: new gax.LongrunningDescriptor( + purgeProducts: new gaxModule.LongrunningDescriptor( this.operationsClient, purgeProductsResponse.decode.bind(purgeProductsResponse), purgeProductsMetadata.decode.bind(purgeProductsMetadata) @@ -217,7 +234,9 @@ class ProductSearchClient { // Put together the "service stub" for // google.cloud.vision.v1.ProductSearch. const productSearchStub = gaxGrpc.createStub( - protos.google.cloud.vision.v1.ProductSearch, + opts.fallback + ? protos.lookupService('google.cloud.vision.v1.ProductSearch') + : protos.google.cloud.vision.v1.ProductSearch, opts ); @@ -245,18 +264,16 @@ class ProductSearchClient { 'purgeProducts', ]; for (const methodName of productSearchStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - productSearchStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = productSearchStub.then( + stub => (...args) => { + return stub[methodName].apply(stub, args); + }, + err => () => { + throw err; + } + ); + this._innerApiCalls[methodName] = gaxModule.createApiCall( + innerCallPromise, defaults[methodName], this._descriptors.page[methodName] || this._descriptors.longrunning[methodName] diff --git a/packages/google-cloud-vision/src/v1/product_search_proto_list.json b/packages/google-cloud-vision/src/v1/product_search_proto_list.json new file mode 100644 index 00000000000..fe01671f49f --- /dev/null +++ b/packages/google-cloud-vision/src/v1/product_search_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/vision/v1/product_search_service.proto" +] diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 2e939ae79e3..97ecfb9c586 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -60,6 +60,16 @@ class ImageAnnotatorClient { opts = opts || {}; this._descriptors = {}; + if (global.isBrowser) { + // If we're in browser, we use gRPC fallback. + opts.fallback = true; + } + + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; + const servicePath = opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; @@ -76,26 +86,41 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - const gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gaxModule.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - const clientHeader = [ - `gl-node/${process.versions.node}`, - `grpc/${gaxGrpc.grpcVersion}`, - `gax/${gax.version}`, - `gapic/${VERSION}`, - ]; + const clientHeader = []; + + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } + clientHeader.push(`gax/${gaxModule.version}`); + if (opts.fallback) { + clientHeader.push(`gl-web/${gaxModule.version}`); + } else { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + clientHeader.push(`gapic/${VERSION}`); if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); const protos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - ['google/cloud/vision/v1p1beta1/image_annotator.proto'] + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); // Put together the default options sent with requests. @@ -114,7 +139,9 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1p1beta1.ImageAnnotator. const imageAnnotatorStub = gaxGrpc.createStub( - protos.google.cloud.vision.v1p1beta1.ImageAnnotator, + opts.fallback + ? protos.lookupService('google.cloud.vision.v1p1beta1.ImageAnnotator') + : protos.google.cloud.vision.v1p1beta1.ImageAnnotator, opts ); @@ -122,18 +149,16 @@ class ImageAnnotatorClient { // and create an API call method for each. const imageAnnotatorStubMethods = ['batchAnnotateImages']; for (const methodName of imageAnnotatorStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - imageAnnotatorStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = imageAnnotatorStub.then( + stub => (...args) => { + return stub[methodName].apply(stub, args); + }, + err => () => { + throw err; + } + ); + this._innerApiCalls[methodName] = gaxModule.createApiCall( + innerCallPromise, defaults[methodName], null ); diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_proto_list.json new file mode 100644 index 00000000000..75373115353 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/vision/v1p1beta1/image_annotator.proto" +] diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 67888b6eeff..7096820dc46 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -61,6 +60,16 @@ class ImageAnnotatorClient { opts = opts || {}; this._descriptors = {}; + if (global.isBrowser) { + // If we're in browser, we use gRPC fallback. + opts.fallback = true; + } + + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; + const servicePath = opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; @@ -77,43 +86,51 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - const gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gaxModule.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - const clientHeader = [ - `gl-node/${process.versions.node}`, - `grpc/${gaxGrpc.grpcVersion}`, - `gax/${gax.version}`, - `gapic/${VERSION}`, - ]; + const clientHeader = []; + + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } + clientHeader.push(`gax/${gaxModule.version}`); + if (opts.fallback) { + clientHeader.push(`gl-web/${gaxModule.version}`); + } else { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + clientHeader.push(`gapic/${VERSION}`); if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - const protos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - ['google/cloud/vision/v1p2beta1/image_annotator.proto'] + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' ); - let protoFilesRoot = new gax.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join( - __dirname, - '..', - '..', - 'protos', - 'google/cloud/vision/v1p2beta1/image_annotator.proto' - ), - protoFilesRoot + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - this.operationsClient = new gax.lro({ + this.operationsClient = new gaxModule.lro({ auth: gaxGrpc.auth, grpc: gaxGrpc.grpc, }).operationsClient(opts); @@ -126,7 +143,7 @@ class ImageAnnotatorClient { ); this._descriptors.longrunning = { - asyncBatchAnnotateFiles: new gax.LongrunningDescriptor( + asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( asyncBatchAnnotateFilesResponse @@ -153,7 +170,9 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1p2beta1.ImageAnnotator. const imageAnnotatorStub = gaxGrpc.createStub( - protos.google.cloud.vision.v1p2beta1.ImageAnnotator, + opts.fallback + ? protos.lookupService('google.cloud.vision.v1p2beta1.ImageAnnotator') + : protos.google.cloud.vision.v1p2beta1.ImageAnnotator, opts ); @@ -164,18 +183,16 @@ class ImageAnnotatorClient { 'asyncBatchAnnotateFiles', ]; for (const methodName of imageAnnotatorStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - imageAnnotatorStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = imageAnnotatorStub.then( + stub => (...args) => { + return stub[methodName].apply(stub, args); + }, + err => () => { + throw err; + } + ); + this._innerApiCalls[methodName] = gaxModule.createApiCall( + innerCallPromise, defaults[methodName], this._descriptors.longrunning[methodName] ); diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_proto_list.json new file mode 100644 index 00000000000..63dc03daac1 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/vision/v1p2beta1/image_annotator.proto" +] diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 5354040a2ab..758891281ce 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -61,6 +60,16 @@ class ImageAnnotatorClient { opts = opts || {}; this._descriptors = {}; + if (global.isBrowser) { + // If we're in browser, we use gRPC fallback. + opts.fallback = true; + } + + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; + const servicePath = opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; @@ -77,43 +86,51 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - const gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gaxModule.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - const clientHeader = [ - `gl-node/${process.versions.node}`, - `grpc/${gaxGrpc.grpcVersion}`, - `gax/${gax.version}`, - `gapic/${VERSION}`, - ]; + const clientHeader = []; + + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } + clientHeader.push(`gax/${gaxModule.version}`); + if (opts.fallback) { + clientHeader.push(`gl-web/${gaxModule.version}`); + } else { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + clientHeader.push(`gapic/${VERSION}`); if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - const protos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - ['google/cloud/vision/v1p3beta1/image_annotator.proto'] + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' ); - let protoFilesRoot = new gax.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join( - __dirname, - '..', - '..', - 'protos', - 'google/cloud/vision/v1p3beta1/image_annotator.proto' - ), - protoFilesRoot + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - this.operationsClient = new gax.lro({ + this.operationsClient = new gaxModule.lro({ auth: gaxGrpc.auth, grpc: gaxGrpc.grpc, }).operationsClient(opts); @@ -126,7 +143,7 @@ class ImageAnnotatorClient { ); this._descriptors.longrunning = { - asyncBatchAnnotateFiles: new gax.LongrunningDescriptor( + asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( asyncBatchAnnotateFilesResponse @@ -153,7 +170,9 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1p3beta1.ImageAnnotator. const imageAnnotatorStub = gaxGrpc.createStub( - protos.google.cloud.vision.v1p3beta1.ImageAnnotator, + opts.fallback + ? protos.lookupService('google.cloud.vision.v1p3beta1.ImageAnnotator') + : protos.google.cloud.vision.v1p3beta1.ImageAnnotator, opts ); @@ -164,18 +183,16 @@ class ImageAnnotatorClient { 'asyncBatchAnnotateFiles', ]; for (const methodName of imageAnnotatorStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - imageAnnotatorStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = imageAnnotatorStub.then( + stub => (...args) => { + return stub[methodName].apply(stub, args); + }, + err => () => { + throw err; + } + ); + this._innerApiCalls[methodName] = gaxModule.createApiCall( + innerCallPromise, defaults[methodName], this._descriptors.longrunning[methodName] ); diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_proto_list.json new file mode 100644 index 00000000000..afd0848ad12 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/vision/v1p3beta1/image_annotator.proto" +] diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index cd9855f631a..8d27cd3181a 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./product_search_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -76,6 +75,16 @@ class ProductSearchClient { opts = opts || {}; this._descriptors = {}; + if (global.isBrowser) { + // If we're in browser, we use gRPC fallback. + opts.fallback = true; + } + + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; + const servicePath = opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; @@ -92,42 +101,57 @@ class ProductSearchClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - const gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gaxModule.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - const clientHeader = [ - `gl-node/${process.versions.node}`, - `grpc/${gaxGrpc.grpcVersion}`, - `gax/${gax.version}`, - `gapic/${VERSION}`, - ]; + const clientHeader = []; + + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } + clientHeader.push(`gax/${gaxModule.version}`); + if (opts.fallback) { + clientHeader.push(`gl-web/${gaxModule.version}`); + } else { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + clientHeader.push(`gapic/${VERSION}`); if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); const protos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - ['google/cloud/vision/v1p3beta1/product_search_service.proto'] + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. this._pathTemplates = { - locationPathTemplate: new gax.PathTemplate( + locationPathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}' ), - productPathTemplate: new gax.PathTemplate( + productPathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), - productSetPathTemplate: new gax.PathTemplate( + productSetPathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - referenceImagePathTemplate: new gax.PathTemplate( + referenceImagePathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -136,43 +160,36 @@ class ProductSearchClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this._descriptors.page = { - listProductSets: new gax.PageDescriptor( + listProductSets: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'productSets' ), - listProducts: new gax.PageDescriptor( + listProducts: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' ), - listReferenceImages: new gax.PageDescriptor( + listReferenceImages: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'referenceImages' ), - listProductsInProductSet: new gax.PageDescriptor( + listProductsInProductSet: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' ), }; - let protoFilesRoot = new gax.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join( - __dirname, - '..', - '..', - 'protos', - 'google/cloud/vision/v1p3beta1/product_search_service.proto' - ), - protoFilesRoot - ); + + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - this.operationsClient = new gax.lro({ + this.operationsClient = new gaxModule.lro({ auth: gaxGrpc.auth, grpc: gaxGrpc.grpc, }).operationsClient(opts); @@ -185,7 +202,7 @@ class ProductSearchClient { ); this._descriptors.longrunning = { - importProductSets: new gax.LongrunningDescriptor( + importProductSets: new gaxModule.LongrunningDescriptor( this.operationsClient, importProductSetsResponse.decode.bind(importProductSetsResponse), importProductSetsMetadata.decode.bind(importProductSetsMetadata) @@ -208,7 +225,9 @@ class ProductSearchClient { // Put together the "service stub" for // google.cloud.vision.v1p3beta1.ProductSearch. const productSearchStub = gaxGrpc.createStub( - protos.google.cloud.vision.v1p3beta1.ProductSearch, + opts.fallback + ? protos.lookupService('google.cloud.vision.v1p3beta1.ProductSearch') + : protos.google.cloud.vision.v1p3beta1.ProductSearch, opts ); @@ -235,18 +254,16 @@ class ProductSearchClient { 'importProductSets', ]; for (const methodName of productSearchStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - productSearchStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = productSearchStub.then( + stub => (...args) => { + return stub[methodName].apply(stub, args); + }, + err => () => { + throw err; + } + ); + this._innerApiCalls[methodName] = gaxModule.createApiCall( + innerCallPromise, defaults[methodName], this._descriptors.page[methodName] || this._descriptors.longrunning[methodName] diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_proto_list.json b/packages/google-cloud-vision/src/v1p3beta1/product_search_proto_list.json new file mode 100644 index 00000000000..ab47bf6eaf1 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/vision/v1p3beta1/product_search_service.proto" +] diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index afc9c0900af..0399c1a221f 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./image_annotator_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -61,6 +60,16 @@ class ImageAnnotatorClient { opts = opts || {}; this._descriptors = {}; + if (global.isBrowser) { + // If we're in browser, we use gRPC fallback. + opts.fallback = true; + } + + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; + const servicePath = opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; @@ -77,43 +86,51 @@ class ImageAnnotatorClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - const gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gaxModule.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - const clientHeader = [ - `gl-node/${process.versions.node}`, - `grpc/${gaxGrpc.grpcVersion}`, - `gax/${gax.version}`, - `gapic/${VERSION}`, - ]; + const clientHeader = []; + + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } + clientHeader.push(`gax/${gaxModule.version}`); + if (opts.fallback) { + clientHeader.push(`gl-web/${gaxModule.version}`); + } else { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + clientHeader.push(`gapic/${VERSION}`); if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - const protos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - ['google/cloud/vision/v1p4beta1/image_annotator.proto'] + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' ); - let protoFilesRoot = new gax.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join( - __dirname, - '..', - '..', - 'protos', - 'google/cloud/vision/v1p4beta1/image_annotator.proto' - ), - protoFilesRoot + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - this.operationsClient = new gax.lro({ + this.operationsClient = new gaxModule.lro({ auth: gaxGrpc.auth, grpc: gaxGrpc.grpc, }).operationsClient(opts); @@ -132,7 +149,7 @@ class ImageAnnotatorClient { ); this._descriptors.longrunning = { - asyncBatchAnnotateImages: new gax.LongrunningDescriptor( + asyncBatchAnnotateImages: new gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateImagesResponse.decode.bind( asyncBatchAnnotateImagesResponse @@ -141,7 +158,7 @@ class ImageAnnotatorClient { asyncBatchAnnotateImagesMetadata ) ), - asyncBatchAnnotateFiles: new gax.LongrunningDescriptor( + asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( asyncBatchAnnotateFilesResponse @@ -168,7 +185,9 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1p4beta1.ImageAnnotator. const imageAnnotatorStub = gaxGrpc.createStub( - protos.google.cloud.vision.v1p4beta1.ImageAnnotator, + opts.fallback + ? protos.lookupService('google.cloud.vision.v1p4beta1.ImageAnnotator') + : protos.google.cloud.vision.v1p4beta1.ImageAnnotator, opts ); @@ -181,18 +200,16 @@ class ImageAnnotatorClient { 'asyncBatchAnnotateFiles', ]; for (const methodName of imageAnnotatorStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - imageAnnotatorStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = imageAnnotatorStub.then( + stub => (...args) => { + return stub[methodName].apply(stub, args); + }, + err => () => { + throw err; + } + ); + this._innerApiCalls[methodName] = gaxModule.createApiCall( + innerCallPromise, defaults[methodName], this._descriptors.longrunning[methodName] ); diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_proto_list.json new file mode 100644 index 00000000000..75141cbc769 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/vision/v1p4beta1/image_annotator.proto" +] diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index 91f56b5360c..41957da8dc8 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -17,7 +17,6 @@ const gapicConfig = require('./product_search_client_config.json'); const gax = require('google-gax'); const path = require('path'); -const protobuf = require('protobufjs'); const VERSION = require('../../package.json').version; @@ -76,6 +75,16 @@ class ProductSearchClient { opts = opts || {}; this._descriptors = {}; + if (global.isBrowser) { + // If we're in browser, we use gRPC fallback. + opts.fallback = true; + } + + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; + const servicePath = opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; @@ -92,42 +101,57 @@ class ProductSearchClient { // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = this.constructor.scopes; - const gaxGrpc = new gax.GrpcClient(opts); + const gaxGrpc = new gaxModule.GrpcClient(opts); // Save the auth object to the client, for use by other methods. this.auth = gaxGrpc.auth; // Determine the client header string. - const clientHeader = [ - `gl-node/${process.versions.node}`, - `grpc/${gaxGrpc.grpcVersion}`, - `gax/${gax.version}`, - `gapic/${VERSION}`, - ]; + const clientHeader = []; + + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } + clientHeader.push(`gax/${gaxModule.version}`); + if (opts.fallback) { + clientHeader.push(`gl-web/${gaxModule.version}`); + } else { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + clientHeader.push(`gapic/${VERSION}`); if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); const protos = gaxGrpc.loadProto( - path.join(__dirname, '..', '..', 'protos'), - ['google/cloud/vision/v1p4beta1/product_search_service.proto'] + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. this._pathTemplates = { - locationPathTemplate: new gax.PathTemplate( + locationPathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}' ), - productPathTemplate: new gax.PathTemplate( + productPathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), - productSetPathTemplate: new gax.PathTemplate( + productSetPathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - referenceImagePathTemplate: new gax.PathTemplate( + referenceImagePathTemplate: new gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -136,43 +160,36 @@ class ProductSearchClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this._descriptors.page = { - listProductSets: new gax.PageDescriptor( + listProductSets: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'productSets' ), - listProducts: new gax.PageDescriptor( + listProducts: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' ), - listReferenceImages: new gax.PageDescriptor( + listReferenceImages: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'referenceImages' ), - listProductsInProductSet: new gax.PageDescriptor( + listProductsInProductSet: new gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' ), }; - let protoFilesRoot = new gax.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join( - __dirname, - '..', - '..', - 'protos', - 'google/cloud/vision/v1p4beta1/product_search_service.proto' - ), - protoFilesRoot - ); + + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - this.operationsClient = new gax.lro({ + this.operationsClient = new gaxModule.lro({ auth: gaxGrpc.auth, grpc: gaxGrpc.grpc, }).operationsClient(opts); @@ -185,7 +202,7 @@ class ProductSearchClient { ); this._descriptors.longrunning = { - importProductSets: new gax.LongrunningDescriptor( + importProductSets: new gaxModule.LongrunningDescriptor( this.operationsClient, importProductSetsResponse.decode.bind(importProductSetsResponse), importProductSetsMetadata.decode.bind(importProductSetsMetadata) @@ -208,7 +225,9 @@ class ProductSearchClient { // Put together the "service stub" for // google.cloud.vision.v1p4beta1.ProductSearch. const productSearchStub = gaxGrpc.createStub( - protos.google.cloud.vision.v1p4beta1.ProductSearch, + opts.fallback + ? protos.lookupService('google.cloud.vision.v1p4beta1.ProductSearch') + : protos.google.cloud.vision.v1p4beta1.ProductSearch, opts ); @@ -235,18 +254,16 @@ class ProductSearchClient { 'importProductSets', ]; for (const methodName of productSearchStubMethods) { - this._innerApiCalls[methodName] = gax.createApiCall( - productSearchStub.then( - stub => - function() { - const args = Array.prototype.slice.call(arguments, 0); - return stub[methodName].apply(stub, args); - }, - err => - function() { - throw err; - } - ), + const innerCallPromise = productSearchStub.then( + stub => (...args) => { + return stub[methodName].apply(stub, args); + }, + err => () => { + throw err; + } + ); + this._innerApiCalls[methodName] = gaxModule.createApiCall( + innerCallPromise, defaults[methodName], this._descriptors.page[methodName] || this._descriptors.longrunning[methodName] diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_proto_list.json b/packages/google-cloud-vision/src/v1p4beta1/product_search_proto_list.json new file mode 100644 index 00000000000..f4abec5004a --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/vision/v1p4beta1/product_search_service.proto" +] diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 391e755fefd..a034b06d0a7 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-08-29T11:27:31.663243Z", + "updateTime": "2019-09-06T11:26:58.194033Z", "sources": [ { "generator": { "name": "artman", - "version": "0.35.1", - "dockerImage": "googleapis/artman@sha256:b11c7ea0d0831c54016fb50f4b796d24d1971439b30fbc32a369ba1ac887c384" + "version": "0.36.2", + "dockerImage": "googleapis/artman@sha256:0e6f3a668cd68afc768ecbe08817cf6e56a0e64fcbdb1c58c3b97492d12418a1" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "e121a35579e73377f998c11bcc09ba0486736404", - "internalRef": "265953539" + "sha": "960b76b1f0c46d12610088977d1129cc7405f3dc", + "internalRef": "267478864" } }, { diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 231c9023647..7ab0e0c41a2 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -44,6 +44,11 @@ describe('ImageAnnotatorClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new visionModule.v1.ImageAnnotatorClient({fallback: true}); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1.ImageAnnotatorClient({ @@ -360,6 +365,11 @@ describe('ProductSearchClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new visionModule.v1.ProductSearchClient({fallback: true}); + assert(client); + }); + describe('createProductSet', () => { it('invokes createProductSet without error', done => { const client = new visionModule.v1.ProductSearchClient({ diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js index e6bbc9924e4..3a9438f0fdd 100644 --- a/packages/google-cloud-vision/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p1beta1.js @@ -44,6 +44,13 @@ describe('ImageAnnotatorClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new visionModule.v1p1beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1p1beta1.ImageAnnotatorClient({ diff --git a/packages/google-cloud-vision/test/gapic-v1p2beta1.js b/packages/google-cloud-vision/test/gapic-v1p2beta1.js index eca8d7f7d80..c1549b98733 100644 --- a/packages/google-cloud-vision/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p2beta1.js @@ -44,6 +44,13 @@ describe('ImageAnnotatorClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ diff --git a/packages/google-cloud-vision/test/gapic-v1p3beta1.js b/packages/google-cloud-vision/test/gapic-v1p3beta1.js index 7ce712edc82..94cd12fbd8f 100644 --- a/packages/google-cloud-vision/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p3beta1.js @@ -44,6 +44,13 @@ describe('ProductSearchClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new visionModule.v1p3beta1.ProductSearchClient({ + fallback: true, + }); + assert(client); + }); + describe('createProductSet', () => { it('invokes createProductSet without error', done => { const client = new visionModule.v1p3beta1.ProductSearchClient({ @@ -1319,6 +1326,13 @@ describe('ImageAnnotatorClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ diff --git a/packages/google-cloud-vision/test/gapic-v1p4beta1.js b/packages/google-cloud-vision/test/gapic-v1p4beta1.js index 40ae77333ac..a5b7c7792dc 100644 --- a/packages/google-cloud-vision/test/gapic-v1p4beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p4beta1.js @@ -44,6 +44,13 @@ describe('ProductSearchClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + fallback: true, + }); + assert(client); + }); + describe('createProductSet', () => { it('invokes createProductSet without error', done => { const client = new visionModule.v1p4beta1.ProductSearchClient({ @@ -1319,6 +1326,13 @@ describe('ImageAnnotatorClient', () => { assert(client); }); + it('should create a client with gRPC fallback', () => { + const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ diff --git a/packages/google-cloud-vision/webpack.config.js b/packages/google-cloud-vision/webpack.config.js new file mode 100644 index 00000000000..68570f9fe88 --- /dev/null +++ b/packages/google-cloud-vision/webpack.config.js @@ -0,0 +1,46 @@ +// Copyright 2019 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 = { + entry: './src/browser.js', + output: { + library: 'vision', + filename: './vision.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + extensions: ['.js', '.json'], + }, + module: { + rules: [ + { + test: /node_modules[\\/]retry-request[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + ], + }, + mode: 'production', +}; From 76c039f8a2f69c0dc703bc54c14729848ed8d789 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Fri, 6 Sep 2019 18:40:50 -0400 Subject: [PATCH 326/588] update .nycrc ignore rules (#438) --- packages/google-cloud-vision/.nycrc | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-vision/.nycrc b/packages/google-cloud-vision/.nycrc index 83a421a0628..23e322204ec 100644 --- a/packages/google-cloud-vision/.nycrc +++ b/packages/google-cloud-vision/.nycrc @@ -6,6 +6,7 @@ "**/.coverage", "**/apis", "**/benchmark", + "**/conformance", "**/docs", "**/samples", "**/scripts", From 26ccda74477c0ca478f31f32e679d73026466972 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 9 Sep 2019 12:09:47 -0700 Subject: [PATCH 327/588] chore: release 1.3.0 (#437) --- packages/google-cloud-vision/CHANGELOG.md | 13 +++++++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 2c673d45320..1b0ecff6484 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,19 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.3.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.2.0...v1.3.0) (2019-09-09) + + +### Bug Fixes + +* use process versions object for client header ([#428](https://www.github.com/googleapis/nodejs-vision/issues/428)) ([c1dde85](https://www.github.com/googleapis/nodejs-vision/commit/c1dde85)) +* **samples:** upgrade yargs and fix broken CLI config ([#436](https://www.github.com/googleapis/nodejs-vision/issues/436)) ([1a9c374](https://www.github.com/googleapis/nodejs-vision/commit/1a9c374)) + + +### Features + +* load protos from JSON, grpc-fallback support ([9914445](https://www.github.com/googleapis/nodejs-vision/commit/9914445)) + ## [1.2.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.1.4...v1.2.0) (2019-08-19) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1186d6a28c7..4e216d8c9af 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.2.0", + "version": "1.3.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index be25411e4e8..cf73d5753e8 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.2.0", + "@google-cloud/vision": "^1.3.0", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From 920bf49bd3b50ff2820c6d01e6750e030f9c7f94 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 13 Sep 2019 10:30:16 -0700 Subject: [PATCH 328/588] docs: updates comments in protos --- .../google/cloud/vision/v1/product_search.proto | 12 ++++++------ .../cloud/vision/v1/product_search_service.proto | 6 +++--- .../cloud/vision/v1p4beta1/product_search.proto | 12 ++++++------ .../vision/v1p4beta1/product_search_service.proto | 9 +++------ .../doc/google/cloud/vision/v1/doc_product_search.js | 12 ++++++------ .../cloud/vision/v1/doc_product_search_service.js | 6 +++--- .../cloud/vision/v1p4beta1/doc_product_search.js | 12 ++++++------ .../vision/v1p4beta1/doc_product_search_service.js | 9 +++------ packages/google-cloud-vision/synth.metadata | 6 +++--- 9 files changed, 39 insertions(+), 45 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 065e3d54c2c..28d36abbb9a 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -43,12 +43,12 @@ message ProductSearchParams { string product_set = 6; // The list of product categories to search in. Currently, we only consider - // the first category, and either "homegoods-v2", "apparel-v2", or "toys-v2" - // should be specified. The legacy categories "homegoods", "apparel", and - // "toys" are still supported but will be deprecated. For new products, please - // use "homegoods-v2", "apparel-v2", or "toys-v2" for better product search - // accuracy. It is recommended to migrate existing products to these - // categories as well. + // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", + // "packagedgoods-v1", or "general-v1" should be specified. The legacy + // categories "homegoods", "apparel", and "toys" are still supported but will + // be deprecated. For new products, please use "homegoods-v2", "apparel-v2", + // or "toys-v2" for better product search accuracy. It is recommended to + // migrate existing products to these categories as well. repeated string product_categories = 7; // The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index 0fae1f80a65..a892a6fb6bb 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -375,9 +375,9 @@ message Product { string description = 3; // The category for the product identified by the reference image. This should - // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories - // "homegoods", "apparel", and "toys" are still supported, but these should - // not be used for new products. + // be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or + // "general-v1" The legacy categories "homegoods", "apparel", and "toys" are + // still supported, but these should not be used for new products. // // This field is immutable. string product_category = 4; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto index 1caf30194f5..e0982facdcc 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto @@ -44,12 +44,12 @@ message ProductSearchParams { string product_set = 6; // The list of product categories to search in. Currently, we only consider - // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", or - // "packagedgoods-v1" should be specified. The legacy categories "homegoods", - // "apparel", and "toys" are still supported but will be deprecated. For new - // products, please use "homegoods-v2", "apparel-v2", or "toys-v2" for better - // product search accuracy. It is recommended to migrate existing products to - // these categories as well. + // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", + // "packagedgoods-v1", or "general-v1" should be specified. The legacy + // categories "homegoods", "apparel", and "toys" are still supported but will + // be deprecated. For new products, please use "homegoods-v2", "apparel-v2", + // or "toys-v2" for better product search accuracy. It is recommended to + // migrate existing products to these categories as well. repeated string product_categories = 7; // The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto index 3cbc53573f1..28d7378b249 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto @@ -355,12 +355,9 @@ message Product { string description = 3; // The category for the product identified by the reference image. This should - // be either "homegoods-v2", "apparel-v2", "toys-v2", or "packagedgoods-v1". - // The legacy categories "homegoods", "apparel", and "toys" are still - // supported but will be deprecated. For new products, please use - // "homegoods-v2", "apparel-v2", or "toys-v2" for better product search - // accuracy. It is recommended to migrate existing products to these - // categories as well. + // be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or + // "general-v1" The legacy categories "homegoods", "apparel", and "toys" are + // still supported, but these should not be used for new products. // // This field is immutable. string product_category = 4; diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js index d2c58ea4bf0..a20c5d3902e 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -33,12 +33,12 @@ * * @property {string[]} productCategories * The list of product categories to search in. Currently, we only consider - * the first category, and either "homegoods-v2", "apparel-v2", or "toys-v2" - * should be specified. The legacy categories "homegoods", "apparel", and - * "toys" are still supported but will be deprecated. For new products, please - * use "homegoods-v2", "apparel-v2", or "toys-v2" for better product search - * accuracy. It is recommended to migrate existing products to these - * categories as well. + * the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", + * "packagedgoods-v1", or "general-v1" should be specified. The legacy + * categories "homegoods", "apparel", and "toys" are still supported but will + * be deprecated. For new products, please use "homegoods-v2", "apparel-v2", + * or "toys-v2" for better product search accuracy. It is recommended to + * migrate existing products to these categories as well. * * @property {string} filter * The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index 9219fa93848..dd4c9fef11f 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -36,9 +36,9 @@ * * @property {string} productCategory * The category for the product identified by the reference image. This should - * be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories - * "homegoods", "apparel", and "toys" are still supported, but these should - * not be used for new products. + * be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or + * "general-v1" The legacy categories "homegoods", "apparel", and "toys" are + * still supported, but these should not be used for new products. * * This field is immutable. * diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js index 4c64089b693..c3000e086b3 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js @@ -34,12 +34,12 @@ * * @property {string[]} productCategories * The list of product categories to search in. Currently, we only consider - * the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", or - * "packagedgoods-v1" should be specified. The legacy categories "homegoods", - * "apparel", and "toys" are still supported but will be deprecated. For new - * products, please use "homegoods-v2", "apparel-v2", or "toys-v2" for better - * product search accuracy. It is recommended to migrate existing products to - * these categories as well. + * the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", + * "packagedgoods-v1", or "general-v1" should be specified. The legacy + * categories "homegoods", "apparel", and "toys" are still supported but will + * be deprecated. For new products, please use "homegoods-v2", "apparel-v2", + * or "toys-v2" for better product search accuracy. It is recommended to + * migrate existing products to these categories as well. * * @property {string} filter * The filtering expression. This can be used to restrict search results based diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js index 636dc9077ee..77b496dba6b 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js @@ -36,12 +36,9 @@ * * @property {string} productCategory * The category for the product identified by the reference image. This should - * be either "homegoods-v2", "apparel-v2", "toys-v2", or "packagedgoods-v1". - * The legacy categories "homegoods", "apparel", and "toys" are still - * supported but will be deprecated. For new products, please use - * "homegoods-v2", "apparel-v2", or "toys-v2" for better product search - * accuracy. It is recommended to migrate existing products to these - * categories as well. + * be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or + * "general-v1" The legacy categories "homegoods", "apparel", and "toys" are + * still supported, but these should not be used for new products. * * This field is immutable. * diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index a034b06d0a7..2b20c7b87c1 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-09-06T11:26:58.194033Z", + "updateTime": "2019-09-13T11:29:41.331321Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "960b76b1f0c46d12610088977d1129cc7405f3dc", - "internalRef": "267478864" + "sha": "dc88acb2ced136067d3ed2356b6a87ca7f017a96", + "internalRef": "268735517" } }, { From 0dadb2db30d0288adc10ba970be91589cf537b29 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 13 Sep 2019 17:38:57 -0700 Subject: [PATCH 329/588] feat: make vision helpers work with JSON proto (#441) * feat: make vision helpers work with JSON proto * lint --- packages/google-cloud-vision/package.json | 5 ++--- packages/google-cloud-vision/src/helpers.js | 19 ++++++------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 4e216d8c9af..1f54612687d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,9 +41,8 @@ }, "dependencies": { "@google-cloud/promisify": "^1.0.0", - "google-gax": "^1.0.0", - "is": "^3.2.1", - "protobufjs": "^6.8.6" + "google-gax": "^1.5.2", + "is": "^3.2.1" }, "devDependencies": { "@google-cloud/storage": "^3.0.0", diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.js index 2d95494c528..e306f62f816 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.js @@ -18,12 +18,14 @@ const fs = require('fs'); const is = require('is'); -const path = require('path'); const {promisify} = require('@google-cloud/promisify'); -const protobuf = require('protobufjs'); - const gax = require('google-gax'); +// We only need to have a Feature enum from the protos, and we want +// this enum to work for both gRPC and fallback scenarios. +// It's enough to have the contents of JSON proto for this purpose. +const jsonProto = require('../protos/protos.json'); + /*! * Convert non-object request forms into a correctly-formatted object. * @@ -244,16 +246,7 @@ module.exports = apiVersion => { }); }); - let protoFilesRoot = new gax.GoogleProtoFilesRoot(); - protoFilesRoot = protobuf.loadSync( - path.join( - __dirname, - '..', - 'protos', - `google/cloud/vision/${apiVersion}/image_annotator.proto` - ), - protoFilesRoot - ); + const protoFilesRoot = gax.protobuf.Root.fromJSON(jsonProto); const features = protoFilesRoot.lookup( `google.cloud.vision.${apiVersion}.Feature.Type` ).values; From 9a14b67582bc1b959d3007fbc118e94be463fbb9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 13 Sep 2019 22:26:35 -0700 Subject: [PATCH 330/588] chore: release 1.4.0 (#442) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 1b0ecff6484..e4ea5c341fb 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.4.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.3.0...v1.4.0) (2019-09-14) + + +### Features + +* make vision helpers work with JSON proto ([#441](https://www.github.com/googleapis/nodejs-vision/issues/441)) ([5b7a249](https://www.github.com/googleapis/nodejs-vision/commit/5b7a249)) + ## [1.3.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.2.0...v1.3.0) (2019-09-09) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1f54612687d..2bb8a7bc394 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.3.0", + "version": "1.4.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index cf73d5753e8..5eb21a4c576 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.3.0", + "@google-cloud/vision": "^1.4.0", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From 6c4990be6558a32164a4e7d4897af2413647d82c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 16 Sep 2019 03:46:39 -0700 Subject: [PATCH 331/588] feat: additional safe search confidence fields (#444) --- .../cloud/vision/v1/image_annotator.proto | 103 +++-- .../cloud/vision/v1/product_search.proto | 5 +- .../vision/v1/product_search_service.proto | 333 +++++++++----- .../cloud/vision/v1/text_annotation.proto | 7 +- .../google-cloud-vision/protos/protos.json | 416 ++++++++++++++---- .../cloud/vision/v1/doc_image_annotator.js | 96 ++-- .../cloud/vision/v1/doc_product_search.js | 3 +- .../vision/v1/doc_product_search_service.js | 81 ++-- .../cloud/vision/v1/doc_text_annotation.js | 5 +- .../src/v1/image_annotator_client.js | 8 +- .../src/v1/product_search_client.js | 78 ++-- packages/google-cloud-vision/synth.metadata | 6 +- 12 files changed, 779 insertions(+), 362 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index e4ca1539350..6cff8dde4d5 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -19,6 +19,7 @@ package google.cloud.vision.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/cloud/vision/v1/geometry.proto"; import "google/cloud/vision/v1/product_search.proto"; import "google/cloud/vision/v1/text_annotation.proto"; @@ -47,8 +48,7 @@ service ImageAnnotator { "https://www.googleapis.com/auth/cloud-vision"; // Run image detection and annotation for a batch of images. - rpc BatchAnnotateImages(BatchAnnotateImagesRequest) - returns (BatchAnnotateImagesResponse) { + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1/images:annotate" body: "*" @@ -61,6 +61,7 @@ service ImageAnnotator { body: "*" } }; + option (google.api.method_signature) = "requests"; } // Service that performs image detection and annotation for a batch of files. @@ -70,8 +71,7 @@ service ImageAnnotator { // AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each // file provided and perform detection and annotation for each image // extracted. - rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) - returns (BatchAnnotateFilesResponse) { + rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) returns (BatchAnnotateFilesResponse) { option (google.api.http) = { post: "/v1/files:annotate" body: "*" @@ -84,6 +84,7 @@ service ImageAnnotator { body: "*" } }; + option (google.api.method_signature) = "requests"; } // Run asynchronous image detection and annotation for a list of images. @@ -95,8 +96,7 @@ service ImageAnnotator { // // This service will write image annotation outputs to json files in customer // GCS bucket, each json file containing BatchAnnotateImagesResponse proto. - rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) - returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/images:asyncBatchAnnotate" body: "*" @@ -109,6 +109,11 @@ service ImageAnnotator { body: "*" } }; + option (google.api.method_signature) = "requests,output_config"; + option (google.longrunning.operation_info) = { + response_type: "AsyncBatchAnnotateImagesResponse" + metadata_type: "OperationMetadata" + }; } // Run asynchronous image detection and annotation for a list of generic @@ -117,8 +122,7 @@ service ImageAnnotator { // `google.longrunning.Operations` interface. // `Operation.metadata` contains `OperationMetadata` (metadata). // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) - returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/files:asyncBatchAnnotate" body: "*" @@ -131,6 +135,11 @@ service ImageAnnotator { body: "*" } }; + option (google.api.method_signature) = "requests"; + option (google.longrunning.operation_info) = { + response_type: "AsyncBatchAnnotateFilesResponse" + metadata_type: "OperationMetadata" + }; } } @@ -557,6 +566,30 @@ message SafeSearchAnnotation { // covered nudity, lewd or provocative poses, or close-ups of sensitive // body areas. Likelihood racy = 9; + + // Confidence of adult_score. Range [0, 1]. 0 means not confident, 1 means + // very confident. + float adult_confidence = 16; + + // Confidence of spoof_score. Range [0, 1]. 0 means not confident, 1 means + // very confident. + float spoof_confidence = 18; + + // Confidence of medical_score. Range [0, 1]. 0 means not confident, 1 means + // very confident. + float medical_confidence = 20; + + // Confidence of violence_score. Range [0, 1]. 0 means not confident, 1 means + // very confident. + float violence_confidence = 22; + + // Confidence of racy_score. Range [0, 1]. 0 means not confident, 1 means very + // confident. + float racy_confidence = 24; + + // Confidence of nsfw_score. Range [0, 1]. 0 means not confident, 1 means very + // confident. + float nsfw_confidence = 26; } // Rectangle determined by min and max `LatLng` pairs. @@ -732,28 +765,10 @@ message AnnotateImageResponse { ImageAnnotationContext context = 21; } -// Response to a single file annotation request. A file may contain one or more -// images, which individually have their own responses. -message AnnotateFileResponse { - // Information about the file for which this response is generated. - InputConfig input_config = 1; - - // Individual responses to images found within the file. This field will be - // empty if the `error` field is set. - repeated AnnotateImageResponse responses = 2; - - // This field gives the total number of pages in the file. - int32 total_pages = 3; - - // If set, represents the error message for the failed request. The - // `responses` field will not be set in this case. - google.rpc.Status error = 4; -} - // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { - // Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1; + // Required. Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // @@ -804,11 +819,29 @@ message AnnotateFileRequest { repeated int32 pages = 4; } +// Response to a single file annotation request. A file may contain one or more +// images, which individually have their own responses. +message AnnotateFileResponse { + // Information about the file for which this response is generated. + InputConfig input_config = 1; + + // Individual responses to images found within the file. This field will be + // empty if the `error` field is set. + repeated AnnotateImageResponse responses = 2; + + // This field gives the total number of pages in the file. + int32 total_pages = 3; + + // If set, represents the error message for the failed request. The + // `responses` field will not be set in this case. + google.rpc.Status error = 4; +} + // A list of requests to annotate files using the BatchAnnotateFiles API. message BatchAnnotateFilesRequest { - // The list of file annotation requests. Right now we support only one + // Required. The list of file annotation requests. Right now we support only one // AnnotateFileRequest in BatchAnnotateFilesRequest. - repeated AnnotateFileRequest requests = 1; + repeated AnnotateFileRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // @@ -855,11 +888,11 @@ message AsyncAnnotateFileResponse { // Request for async image annotation for a list of images. message AsyncBatchAnnotateImagesRequest { - // Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1; + // Required. Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The desired output location and metadata (e.g. format). - OutputConfig output_config = 2; + OutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // @@ -885,8 +918,8 @@ message AsyncBatchAnnotateImagesResponse { // Multiple async file annotation requests are batched into a single service // call. message AsyncBatchAnnotateFilesRequest { - // Individual async file annotation requests for this batch. - repeated AsyncAnnotateFileRequest requests = 1; + // Required. Individual async file annotation requests for this batch. + repeated AsyncAnnotateFileRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 28d36abbb9a..bede95be468 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -17,10 +17,10 @@ syntax = "proto3"; package google.cloud.vision.v1; -import "google/api/annotations.proto"; import "google/cloud/vision/v1/geometry.proto"; import "google/cloud/vision/v1/product_search_service.proto"; import "google/protobuf/timestamp.proto"; +import "google/api/annotations.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; @@ -35,8 +35,7 @@ message ProductSearchParams { // Optional. If it is not specified, system discretion will be applied. BoundingPoly bounding_poly = 9; - // The resource name of a [ProductSet][google.cloud.vision.v1.ProductSet] to - // be searched for similar images. + // The resource name of a [ProductSet][google.cloud.vision.v1.ProductSet] to be searched for similar images. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index a892a6fb6bb..72657399ace 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -19,6 +19,8 @@ package google.cloud.vision.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/cloud/vision/v1/geometry.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/empty.proto"; @@ -36,18 +38,16 @@ option objc_class_prefix = "GCVN"; // Manages Products and ProductSets of reference images for use in product // search. It uses the following resource model: // -// - The API has a collection of [ProductSet][google.cloud.vision.v1.ProductSet] -// resources, named `projects/*/locations/*/productSets/*`, which acts as a way -// to put different products into groups to limit identification. +// - The API has a collection of [ProductSet][google.cloud.vision.v1.ProductSet] resources, named +// `projects/*/locations/*/productSets/*`, which acts as a way to put different +// products into groups to limit identification. // // In parallel, // -// - The API has a collection of [Product][google.cloud.vision.v1.Product] -// resources, named +// - The API has a collection of [Product][google.cloud.vision.v1.Product] resources, named // `projects/*/locations/*/products/*` // -// - Each [Product][google.cloud.vision.v1.Product] has a collection of -// [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named +// - Each [Product][google.cloud.vision.v1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named // `projects/*/locations/*/products/*/referenceImages/*` service ProductSearch { option (google.api.default_host) = "vision.googleapis.com"; @@ -66,6 +66,7 @@ service ProductSearch { post: "/v1/{parent=projects/*/locations/*}/productSets" body: "product_set" }; + option (google.api.method_signature) = "parent,product_set,product_set_id"; } // Lists ProductSets in an unspecified order. @@ -74,11 +75,11 @@ service ProductSearch { // // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less // than 1. - rpc ListProductSets(ListProductSetsRequest) - returns (ListProductSetsResponse) { + rpc ListProductSets(ListProductSetsRequest) returns (ListProductSetsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/productSets" }; + option (google.api.method_signature) = "parent"; } // Gets information associated with a ProductSet. @@ -90,6 +91,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/productSets/*}" }; + option (google.api.method_signature) = "name"; } // Makes changes to a ProductSet resource. @@ -105,17 +107,18 @@ service ProductSearch { patch: "/v1/{product_set.name=projects/*/locations/*/productSets/*}" body: "product_set" }; + option (google.api.method_signature) = "product_set,update_mask"; } // Permanently deletes a ProductSet. Products and ReferenceImages in the // ProductSet are not deleted. // // The actual image files are not deleted from Google Cloud Storage. - rpc DeleteProductSet(DeleteProductSetRequest) - returns (google.protobuf.Empty) { + rpc DeleteProductSet(DeleteProductSetRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/productSets/*}" }; + option (google.api.method_signature) = "name"; } // Creates and returns a new product resource. @@ -131,6 +134,7 @@ service ProductSearch { post: "/v1/{parent=projects/*/locations/*}/products" body: "product" }; + option (google.api.method_signature) = "parent,product,product_id"; } // Lists products in an unspecified order. @@ -142,6 +146,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/products" }; + option (google.api.method_signature) = "parent"; } // Gets information associated with a Product. @@ -153,6 +158,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/products/*}" }; + option (google.api.method_signature) = "name"; } // Makes changes to a Product resource. @@ -175,6 +181,7 @@ service ProductSearch { patch: "/v1/{product.name=projects/*/locations/*/products/*}" body: "product" }; + option (google.api.method_signature) = "product,update_mask"; } // Permanently deletes a product and its reference images. @@ -186,6 +193,7 @@ service ProductSearch { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/products/*}" }; + option (google.api.method_signature) = "name"; } // Creates and returns a new ReferenceImage resource. @@ -207,12 +215,12 @@ service ProductSearch { // * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing // compatible with the parent product's product_category is detected. // * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. - rpc CreateReferenceImage(CreateReferenceImageRequest) - returns (ReferenceImage) { + rpc CreateReferenceImage(CreateReferenceImageRequest) returns (ReferenceImage) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*/products/*}/referenceImages" body: "reference_image" }; + option (google.api.method_signature) = "parent,reference_image,reference_image_id"; } // Permanently deletes a reference image. @@ -222,11 +230,11 @@ service ProductSearch { // caches are refreshed. // // The actual image files are not deleted from Google Cloud Storage. - rpc DeleteReferenceImage(DeleteReferenceImageRequest) - returns (google.protobuf.Empty) { + rpc DeleteReferenceImage(DeleteReferenceImageRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" }; + option (google.api.method_signature) = "name"; } // Lists reference images. @@ -236,11 +244,11 @@ service ProductSearch { // * Returns NOT_FOUND if the parent product does not exist. // * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less // than 1. - rpc ListReferenceImages(ListReferenceImagesRequest) - returns (ListReferenceImagesResponse) { + rpc ListReferenceImages(ListReferenceImagesRequest) returns (ListReferenceImagesResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*/products/*}/referenceImages" }; + option (google.api.method_signature) = "parent"; } // Gets information associated with a ReferenceImage. @@ -262,21 +270,21 @@ service ProductSearch { // Possible errors: // // * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - rpc AddProductToProductSet(AddProductToProductSetRequest) - returns (google.protobuf.Empty) { + rpc AddProductToProductSet(AddProductToProductSetRequest) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1/{name=projects/*/locations/*/productSets/*}:addProduct" body: "*" }; + option (google.api.method_signature) = "name,product"; } // Removes a Product from the specified ProductSet. - rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) - returns (google.protobuf.Empty) { + rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1/{name=projects/*/locations/*/productSets/*}:removeProduct" body: "*" }; + option (google.api.method_signature) = "name,product"; } // Lists the Products in a ProductSet, in an unspecified order. If the @@ -286,30 +294,34 @@ service ProductSearch { // Possible errors: // // * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - rpc ListProductsInProductSet(ListProductsInProductSetRequest) - returns (ListProductsInProductSetResponse) { + rpc ListProductsInProductSet(ListProductsInProductSetRequest) returns (ListProductsInProductSetResponse) { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/productSets/*}/products" }; + option (google.api.method_signature) = "name"; } // Asynchronous API that imports a list of reference images to specified // product sets based on a list of image information. // - // The [google.longrunning.Operation][google.longrunning.Operation] API can be - // used to keep track of the progress and results of the request. + // The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the + // progress and results of the request. // `Operation.metadata` contains `BatchOperationMetadata`. (progress) // `Operation.response` contains `ImportProductSetsResponse`. (results) // // The input source of this method is a csv file on Google Cloud Storage. // For the format of the csv file please see // [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri]. - rpc ImportProductSets(ImportProductSetsRequest) - returns (google.longrunning.Operation) { + rpc ImportProductSets(ImportProductSetsRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/productSets:import" body: "*" }; + option (google.api.method_signature) = "parent,input_config"; + option (google.longrunning.operation_info) = { + response_type: "ImportProductSetsResponse" + metadata_type: "BatchOperationMetadata" + }; } // Asynchronous API to delete all Products in a ProductSet or all Products @@ -333,20 +345,29 @@ service ProductSearch { // ProductSet, you must wait until the PurgeProducts operation has finished // for that ProductSet. // - // The [google.longrunning.Operation][google.longrunning.Operation] API can be - // used to keep track of the progress and results of the request. + // The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the + // progress and results of the request. // `Operation.metadata` contains `BatchOperationMetadata`. (progress) - rpc PurgeProducts(PurgeProductsRequest) - returns (google.longrunning.Operation) { + rpc PurgeProducts(PurgeProductsRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/products:purge" body: "*" }; + option (google.api.method_signature) = "parent"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "BatchOperationMetadata" + }; } } // A Product contains ReferenceImages. message Product { + option (google.api.resource) = { + type: "vision.googleapis.com/Product" + pattern: "projects/{project}/locations/{location}/products/{product}" + }; + // A product label represented as a key-value pair. message KeyValue { // The key of the label attached to the product. Cannot be empty and cannot @@ -374,13 +395,11 @@ message Product { // characters long. string description = 3; - // The category for the product identified by the reference image. This should + // Immutable. The category for the product identified by the reference image. This should // be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or // "general-v1" The legacy categories "homegoods", "apparel", and "toys" are // still supported, but these should not be used for new products. - // - // This field is immutable. - string product_category = 4; + string product_category = 4 [(google.api.field_behavior) = IMMUTABLE]; // Key-value pairs that can be attached to a product. At query time, // constraints can be specified based on the product_labels. @@ -402,6 +421,11 @@ message Product { // million reference images. If the limit is exceeded, periodic indexing will // fail. message ProductSet { + option (google.api.resource) = { + type: "vision.googleapis.com/ProductSet" + pattern: "projects/{project}/locations/{location}/productSets/{product_set}" + }; + // The resource name of the ProductSet. // // Format is: @@ -420,18 +444,23 @@ message ProductSet { // "1970-01-01T00:00:00Z". // // This field is ignored when creating a ProductSet. - google.protobuf.Timestamp index_time = 3; + google.protobuf.Timestamp index_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. If there was an error with indexing the product set, the field // is populated. // // This field is ignored when creating a ProductSet. - google.rpc.Status index_error = 4; + google.rpc.Status index_error = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A `ReferenceImage` represents a product image and its associated metadata, // such as bounding boxes. message ReferenceImage { + option (google.api.resource) = { + type: "vision.googleapis.com/ReferenceImage" + pattern: "projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}" + }; + // The resource name of the reference image. // // Format is: @@ -441,34 +470,37 @@ message ReferenceImage { // This field is ignored when creating a reference image. string name = 1; - // The Google Cloud Storage URI of the reference image. + // Required. The Google Cloud Storage URI of the reference image. // // The URI must start with `gs://`. - // - // Required. - string uri = 2; + string uri = 2 [(google.api.field_behavior) = REQUIRED]; - // Bounding polygons around the areas of interest in the reference image. - // Optional. If this field is empty, the system will try to detect regions of + // Optional. Bounding polygons around the areas of interest in the reference image. + // If this field is empty, the system will try to detect regions of // interest. At most 10 bounding polygons will be used. // // The provided shape is converted into a non-rotated rectangle. Once // converted, the small edge of the rectangle must be greater than or equal // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 // is not). - repeated BoundingPoly bounding_polys = 3; + repeated BoundingPoly bounding_polys = 3 [(google.api.field_behavior) = OPTIONAL]; } // Request message for the `CreateProduct` method. message CreateProductRequest { - // The project in which the Product should be created. + // Required. The project in which the Product should be created. // // Format is // `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; - // The product to create. - Product product = 2; + // Required. The product to create. + Product product = 2 [(google.api.field_behavior) = REQUIRED]; // A user-supplied resource id for this Product. If set, the server will // attempt to use this value as the resource id. If it is already in use, an @@ -479,11 +511,16 @@ message CreateProductRequest { // Request message for the `ListProducts` method. message ListProductsRequest { - // The project OR ProductSet from which Products should be listed. + // Required. The project OR ProductSet from which Products should be listed. // // Format: // `projects/PROJECT_ID/locations/LOC_ID` - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -504,18 +541,23 @@ message ListProductsResponse { // Request message for the `GetProduct` method. message GetProductRequest { - // Resource name of the Product to get. + // Required. Resource name of the Product to get. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; } // Request message for the `UpdateProduct` method. message UpdateProductRequest { - // The Product resource which replaces the one on the server. + // Required. The Product resource which replaces the one on the server. // product.name is immutable. - Product product = 1; + Product product = 1 [(google.api.field_behavior) = REQUIRED]; // The [FieldMask][google.protobuf.FieldMask] that specifies which fields // to update. @@ -527,22 +569,32 @@ message UpdateProductRequest { // Request message for the `DeleteProduct` method. message DeleteProductRequest { - // Resource name of product to delete. + // Required. Resource name of product to delete. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; } // Request message for the `CreateProductSet` method. message CreateProductSetRequest { - // The project in which the ProductSet should be created. + // Required. The project in which the ProductSet should be created. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; - // The ProductSet to create. - ProductSet product_set = 2; + // Required. The ProductSet to create. + ProductSet product_set = 2 [(google.api.field_behavior) = REQUIRED]; // A user-supplied resource id for this ProductSet. If set, the server will // attempt to use this value as the resource id. If it is already in use, an @@ -553,10 +605,15 @@ message CreateProductSetRequest { // Request message for the `ListProductSets` method. message ListProductSetsRequest { - // The project from which ProductSets should be listed. + // Required. The project from which ProductSets should be listed. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -577,17 +634,22 @@ message ListProductSetsResponse { // Request message for the `GetProductSet` method. message GetProductSetRequest { - // Resource name of the ProductSet to get. + // Required. Resource name of the ProductSet to get. // // Format is: // `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; } // Request message for the `UpdateProductSet` method. message UpdateProductSetRequest { - // The ProductSet resource which replaces the one on the server. - ProductSet product_set = 1; + // Required. The ProductSet resource which replaces the one on the server. + ProductSet product_set = 1 [(google.api.field_behavior) = REQUIRED]; // The [FieldMask][google.protobuf.FieldMask] that specifies which fields to // update. @@ -598,24 +660,34 @@ message UpdateProductSetRequest { // Request message for the `DeleteProductSet` method. message DeleteProductSetRequest { - // Resource name of the ProductSet to delete. + // Required. Resource name of the ProductSet to delete. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; } // Request message for the `CreateReferenceImage` method. message CreateReferenceImageRequest { - // Resource name of the product in which to create the reference image. + // Required. Resource name of the product in which to create the reference image. // // Format is // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - string parent = 1; - - // The reference image to create. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; + + // Required. The reference image to create. // If an image ID is specified, it is ignored. - ReferenceImage reference_image = 2; + ReferenceImage reference_image = 2 [(google.api.field_behavior) = REQUIRED]; // A user-supplied resource id for the ReferenceImage to be added. If set, // the server will attempt to use this value as the resource id. If it is @@ -626,11 +698,16 @@ message CreateReferenceImageRequest { // Request message for the `ListReferenceImages` method. message ListReferenceImagesRequest { - // Resource name of the product containing the reference images. + // Required. Resource name of the product containing the reference images. // // Format is // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -656,61 +733,96 @@ message ListReferenceImagesResponse { // Request message for the `GetReferenceImage` method. message GetReferenceImageRequest { - // The resource name of the ReferenceImage to get. + // Required. The resource name of the ReferenceImage to get. // // Format is: // // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ReferenceImage" + } + ]; } // Request message for the `DeleteReferenceImage` method. message DeleteReferenceImageRequest { - // The resource name of the reference image to delete. + // Required. The resource name of the reference image to delete. // // Format is: // // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ReferenceImage" + } + ]; } // Request message for the `AddProductToProductSet` method. message AddProductToProductSetRequest { - // The resource name for the ProductSet to modify. + // Required. The resource name for the ProductSet to modify. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; - // The resource name for the Product to be added to this ProductSet. + // Required. The resource name for the Product to be added to this ProductSet. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string product = 2; + string product = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; } // Request message for the `RemoveProductFromProductSet` method. message RemoveProductFromProductSetRequest { - // The resource name for the ProductSet to modify. + // Required. The resource name for the ProductSet to modify. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; - // The resource name for the Product to be removed from this ProductSet. + // Required. The resource name for the Product to be removed from this ProductSet. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string product = 2; + string product = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; } // Request message for the `ListProductsInProductSet` method. message ListProductsInProductSetRequest { - // The ProductSet resource for which to retrieve Products. + // Required. The ProductSet resource for which to retrieve Products. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -757,17 +869,15 @@ message ImportProductSetsGcsSource { // `product-display-name` column refers to // [display_name][google.cloud.vision.v1.Product.display_name], the // `product-category` column refers to - // [product_category][google.cloud.vision.v1.Product.product_category], and - // the `labels` column refers to - // [product_labels][google.cloud.vision.v1.Product.product_labels]. + // [product_category][google.cloud.vision.v1.Product.product_category], and the + // `labels` column refers to [product_labels][google.cloud.vision.v1.Product.product_labels]. // // The `image-id` column is optional but must be unique if provided. If it is // empty, the system will automatically assign a unique id to the image. // // The `product-display-name` column is optional. If it is empty, the system - // sets the [display_name][google.cloud.vision.v1.Product.display_name] field - // for the product to a space (" "). You can update the `display_name` later - // by using the API. + // sets the [display_name][google.cloud.vision.v1.Product.display_name] field for the product to a + // space (" "). You can update the `display_name` later by using the API. // // If a `Product` with the specified `product-id` already exists, then the // system ignores the `product-display-name`, `product-category`, and `labels` @@ -810,22 +920,25 @@ message ImportProductSetsInputConfig { // Request message for the `ImportProductSets` method. message ImportProductSetsRequest { - // The project in which the ProductSets should be imported. + // Required. The project in which the ProductSets should be imported. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; - - // The input content for the list of requests. - ImportProductSetsInputConfig input_config = 2; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The input content for the list of requests. + ImportProductSetsInputConfig input_config = 2 [(google.api.field_behavior) = REQUIRED]; } // Response message for the `ImportProductSets` method. // // This message is returned by the -// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] -// method in the returned -// [google.longrunning.Operation.response][google.longrunning.Operation.response] -// field. +// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned +// [google.longrunning.Operation.response][google.longrunning.Operation.response] field. message ImportProductSetsResponse { // The list of reference_images that are imported successfully. repeated ReferenceImage reference_images = 1; @@ -872,8 +985,7 @@ message BatchOperationMetadata { google.protobuf.Timestamp submit_time = 2; // The time when the batch request is finished and - // [google.longrunning.Operation.done][google.longrunning.Operation.done] is - // set to true. + // [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to true. google.protobuf.Timestamp end_time = 3; } @@ -897,10 +1009,15 @@ message PurgeProductsRequest { bool delete_orphan_products = 3; } - // The project and location in which the Products should be deleted. + // Required. The project and location in which the Products should be deleted. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; // The default value is false. Override this value to true to actually perform // the purge. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index 09459b90e69..97f9c8fa9c2 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -17,8 +17,8 @@ syntax = "proto3"; package google.cloud.vision.v1; -import "google/api/annotations.proto"; import "google/cloud/vision/v1/geometry.proto"; +import "google/api/annotations.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; @@ -32,9 +32,8 @@ option objc_class_prefix = "GCVN"; // TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol // Each structural component, starting from Page, may further have their own // properties. Properties describe detected languages, breaks etc.. Please refer -// to the -// [TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty] -// message definition below for more detail. +// to the [TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty] message definition below for more +// detail. message TextAnnotation { // Detected language for a structural component. message DetectedLanguage { diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 8bf63bd0157..8266f2a98fc 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -29,7 +29,8 @@ "(google.api.http).post": "/v1/images:annotate", "(google.api.http).body": "*", "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/images:annotate", - "(google.api.http).additional_bindings.body": "*" + "(google.api.http).additional_bindings.body": "*", + "(google.api.method_signature)": "requests" } }, "BatchAnnotateFiles": { @@ -39,7 +40,8 @@ "(google.api.http).post": "/v1/files:annotate", "(google.api.http).body": "*", "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/files:annotate", - "(google.api.http).additional_bindings.body": "*" + "(google.api.http).additional_bindings.body": "*", + "(google.api.method_signature)": "requests" } }, "AsyncBatchAnnotateImages": { @@ -49,7 +51,10 @@ "(google.api.http).post": "/v1/images:asyncBatchAnnotate", "(google.api.http).body": "*", "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/images:asyncBatchAnnotate", - "(google.api.http).additional_bindings.body": "*" + "(google.api.http).additional_bindings.body": "*", + "(google.api.method_signature)": "requests,output_config", + "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateImagesResponse", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" } }, "AsyncBatchAnnotateFiles": { @@ -59,7 +64,10 @@ "(google.api.http).post": "/v1/files:asyncBatchAnnotate", "(google.api.http).body": "*", "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/files:asyncBatchAnnotate", - "(google.api.http).additional_bindings.body": "*" + "(google.api.http).additional_bindings.body": "*", + "(google.api.method_signature)": "requests", + "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateFilesResponse", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" } } } @@ -367,6 +375,30 @@ "racy": { "type": "Likelihood", "id": 9 + }, + "adultConfidence": { + "type": "float", + "id": 16 + }, + "spoofConfidence": { + "type": "float", + "id": 18 + }, + "medicalConfidence": { + "type": "float", + "id": 20 + }, + "violenceConfidence": { + "type": "float", + "id": 22 + }, + "racyConfidence": { + "type": "float", + "id": 24 + }, + "nsfwConfidence": { + "type": "float", + "id": 26 } } }, @@ -577,33 +609,15 @@ } } }, - "AnnotateFileResponse": { - "fields": { - "inputConfig": { - "type": "InputConfig", - "id": 1 - }, - "responses": { - "rule": "repeated", - "type": "AnnotateImageResponse", - "id": 2 - }, - "totalPages": { - "type": "int32", - "id": 3 - }, - "error": { - "type": "google.rpc.Status", - "id": 4 - } - } - }, "BatchAnnotateImagesRequest": { "fields": { "requests": { "rule": "repeated", "type": "AnnotateImageRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "parent": { "type": "string", @@ -642,12 +656,36 @@ } } }, + "AnnotateFileResponse": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 2 + }, + "totalPages": { + "type": "int32", + "id": 3 + }, + "error": { + "type": "google.rpc.Status", + "id": 4 + } + } + }, "BatchAnnotateFilesRequest": { "fields": { "requests": { "rule": "repeated", "type": "AnnotateFileRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "parent": { "type": "string", @@ -698,11 +736,17 @@ "requests": { "rule": "repeated", "type": "AnnotateImageRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "outputConfig": { "type": "OutputConfig", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "parent": { "type": "string", @@ -723,7 +767,10 @@ "requests": { "rule": "repeated", "type": "AsyncAnnotateFileRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "parent": { "type": "string", @@ -971,21 +1018,24 @@ "responseType": "ProductSet", "options": { "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/productSets", - "(google.api.http).body": "product_set" + "(google.api.http).body": "product_set", + "(google.api.method_signature)": "parent,product_set,product_set_id" } }, "ListProductSets": { "requestType": "ListProductSetsRequest", "responseType": "ListProductSetsResponse", "options": { - "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/productSets" + "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/productSets", + "(google.api.method_signature)": "parent" } }, "GetProductSet": { "requestType": "GetProductSetRequest", "responseType": "ProductSet", "options": { - "(google.api.http).get": "/v1/{name=projects/*/locations/*/productSets/*}" + "(google.api.http).get": "/v1/{name=projects/*/locations/*/productSets/*}", + "(google.api.method_signature)": "name" } }, "UpdateProductSet": { @@ -993,14 +1043,16 @@ "responseType": "ProductSet", "options": { "(google.api.http).patch": "/v1/{product_set.name=projects/*/locations/*/productSets/*}", - "(google.api.http).body": "product_set" + "(google.api.http).body": "product_set", + "(google.api.method_signature)": "product_set,update_mask" } }, "DeleteProductSet": { "requestType": "DeleteProductSetRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1/{name=projects/*/locations/*/productSets/*}" + "(google.api.http).delete": "/v1/{name=projects/*/locations/*/productSets/*}", + "(google.api.method_signature)": "name" } }, "CreateProduct": { @@ -1008,21 +1060,24 @@ "responseType": "Product", "options": { "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/products", - "(google.api.http).body": "product" + "(google.api.http).body": "product", + "(google.api.method_signature)": "parent,product,product_id" } }, "ListProducts": { "requestType": "ListProductsRequest", "responseType": "ListProductsResponse", "options": { - "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/products" + "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/products", + "(google.api.method_signature)": "parent" } }, "GetProduct": { "requestType": "GetProductRequest", "responseType": "Product", "options": { - "(google.api.http).get": "/v1/{name=projects/*/locations/*/products/*}" + "(google.api.http).get": "/v1/{name=projects/*/locations/*/products/*}", + "(google.api.method_signature)": "name" } }, "UpdateProduct": { @@ -1030,14 +1085,16 @@ "responseType": "Product", "options": { "(google.api.http).patch": "/v1/{product.name=projects/*/locations/*/products/*}", - "(google.api.http).body": "product" + "(google.api.http).body": "product", + "(google.api.method_signature)": "product,update_mask" } }, "DeleteProduct": { "requestType": "DeleteProductRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1/{name=projects/*/locations/*/products/*}" + "(google.api.http).delete": "/v1/{name=projects/*/locations/*/products/*}", + "(google.api.method_signature)": "name" } }, "CreateReferenceImage": { @@ -1045,21 +1102,24 @@ "responseType": "ReferenceImage", "options": { "(google.api.http).post": "/v1/{parent=projects/*/locations/*/products/*}/referenceImages", - "(google.api.http).body": "reference_image" + "(google.api.http).body": "reference_image", + "(google.api.method_signature)": "parent,reference_image,reference_image_id" } }, "DeleteReferenceImage": { "requestType": "DeleteReferenceImageRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" + "(google.api.http).delete": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}", + "(google.api.method_signature)": "name" } }, "ListReferenceImages": { "requestType": "ListReferenceImagesRequest", "responseType": "ListReferenceImagesResponse", "options": { - "(google.api.http).get": "/v1/{parent=projects/*/locations/*/products/*}/referenceImages" + "(google.api.http).get": "/v1/{parent=projects/*/locations/*/products/*}/referenceImages", + "(google.api.method_signature)": "parent" } }, "GetReferenceImage": { @@ -1074,7 +1134,8 @@ "responseType": "google.protobuf.Empty", "options": { "(google.api.http).post": "/v1/{name=projects/*/locations/*/productSets/*}:addProduct", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "name,product" } }, "RemoveProductFromProductSet": { @@ -1082,14 +1143,16 @@ "responseType": "google.protobuf.Empty", "options": { "(google.api.http).post": "/v1/{name=projects/*/locations/*/productSets/*}:removeProduct", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "name,product" } }, "ListProductsInProductSet": { "requestType": "ListProductsInProductSetRequest", "responseType": "ListProductsInProductSetResponse", "options": { - "(google.api.http).get": "/v1/{name=projects/*/locations/*/productSets/*}/products" + "(google.api.http).get": "/v1/{name=projects/*/locations/*/productSets/*}/products", + "(google.api.method_signature)": "name" } }, "ImportProductSets": { @@ -1097,7 +1160,10 @@ "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/productSets:import", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent,input_config", + "(google.longrunning.operation_info).response_type": "ImportProductSetsResponse", + "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" } }, "PurgeProducts": { @@ -1105,12 +1171,19 @@ "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/products:purge", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" } } } }, "Product": { + "options": { + "(google.api.resource).type": "vision.googleapis.com/Product", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/products/{product}" + }, "fields": { "name": { "type": "string", @@ -1126,7 +1199,10 @@ }, "productCategory": { "type": "string", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } }, "productLabels": { "rule": "repeated", @@ -1150,6 +1226,10 @@ } }, "ProductSet": { + "options": { + "(google.api.resource).type": "vision.googleapis.com/ProductSet", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/productSets/{product_set}" + }, "fields": { "name": { "type": "string", @@ -1161,15 +1241,25 @@ }, "indexTime": { "type": "google.protobuf.Timestamp", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } }, "indexError": { "type": "google.rpc.Status", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, "ReferenceImage": { + "options": { + "(google.api.resource).type": "vision.googleapis.com/ReferenceImage", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}" + }, "fields": { "name": { "type": "string", @@ -1177,12 +1267,18 @@ }, "uri": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "boundingPolys": { "rule": "repeated", "type": "BoundingPoly", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -1190,11 +1286,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "product": { "type": "Product", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "productId": { "type": "string", @@ -1206,7 +1309,11 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "pageSize": { "type": "int32", @@ -1235,7 +1342,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -1243,7 +1354,10 @@ "fields": { "product": { "type": "Product", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "updateMask": { "type": "google.protobuf.FieldMask", @@ -1255,7 +1369,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -1263,11 +1381,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "productSet": { "type": "ProductSet", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "productSetId": { "type": "string", @@ -1279,7 +1404,11 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "pageSize": { "type": "int32", @@ -1308,7 +1437,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } } } }, @@ -1316,7 +1449,10 @@ "fields": { "productSet": { "type": "ProductSet", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "updateMask": { "type": "google.protobuf.FieldMask", @@ -1328,7 +1464,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } } } }, @@ -1336,11 +1476,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } }, "referenceImage": { "type": "ReferenceImage", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "referenceImageId": { "type": "string", @@ -1352,7 +1499,11 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } }, "pageSize": { "type": "int32", @@ -1385,7 +1536,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ReferenceImage" + } } } }, @@ -1393,7 +1548,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ReferenceImage" + } } } }, @@ -1401,11 +1560,19 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "product": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -1413,11 +1580,19 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "product": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -1425,7 +1600,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "pageSize": { "type": "int32", @@ -1477,11 +1656,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "inputConfig": { "type": "ImportProductSetsInputConfig", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -1554,7 +1740,11 @@ }, "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "force": { "type": "bool", @@ -7126,7 +7316,7 @@ "options": { "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", "java_multiple_files": true, - "java_outer_classname": "ClientProto", + "java_outer_classname": "ResourceProto", "java_package": "com.google.api", "objc_class_prefix": "GAPI", "cc_enable_arenas": true @@ -7234,6 +7424,74 @@ "type": "string", "id": 1050, "extend": "google.protobuf.ServiceOptions" + }, + "fieldBehavior": { + "rule": "repeated", + "type": "google.api.FieldBehavior", + "id": 1052, + "extend": "google.protobuf.FieldOptions" + }, + "FieldBehavior": { + "values": { + "FIELD_BEHAVIOR_UNSPECIFIED": 0, + "OPTIONAL": 1, + "REQUIRED": 2, + "OUTPUT_ONLY": 3, + "INPUT_ONLY": 4, + "IMMUTABLE": 5 + } + }, + "resourceReference": { + "type": "google.api.ResourceReference", + "id": 1055, + "extend": "google.protobuf.FieldOptions" + }, + "resource": { + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.MessageOptions" + }, + "ResourceDescriptor": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "pattern": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "nameField": { + "type": "string", + "id": 3 + }, + "history": { + "type": "History", + "id": 4 + } + }, + "nested": { + "History": { + "values": { + "HISTORY_UNSPECIFIED": 0, + "ORIGINALLY_SINGLE_PATTERN": 1, + "FUTURE_MULTI_PATTERN": 2 + } + } + } + }, + "ResourceReference": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "childType": { + "type": "string", + "id": 2 + } + } } } }, diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index 2ce23c0b953..a5a3ea5ac05 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -646,6 +646,30 @@ const LocalizedObjectAnnotation = { * * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} * + * @property {number} adultConfidence + * Confidence of adult_score. Range [0, 1]. 0 means not confident, 1 means + * very confident. + * + * @property {number} spoofConfidence + * Confidence of spoof_score. Range [0, 1]. 0 means not confident, 1 means + * very confident. + * + * @property {number} medicalConfidence + * Confidence of medical_score. Range [0, 1]. 0 means not confident, 1 means + * very confident. + * + * @property {number} violenceConfidence + * Confidence of violence_score. Range [0, 1]. 0 means not confident, 1 means + * very confident. + * + * @property {number} racyConfidence + * Confidence of racy_score. Range [0, 1]. 0 means not confident, 1 means very + * confident. + * + * @property {number} nsfwConfidence + * Confidence of nsfw_score. Range [0, 1]. 0 means not confident, 1 means very + * confident. + * * @typedef SafeSearchAnnotation * @memberof google.cloud.vision.v1 * @see [google.cloud.vision.v1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} @@ -979,43 +1003,11 @@ const AnnotateImageResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; -/** - * Response to a single file annotation request. A file may contain one or more - * images, which individually have their own responses. - * - * @property {Object} inputConfig - * Information about the file for which this response is generated. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1.InputConfig} - * - * @property {Object[]} responses - * Individual responses to images found within the file. This field will be - * empty if the `error` field is set. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1.AnnotateImageResponse} - * - * @property {number} totalPages - * This field gives the total number of pages in the file. - * - * @property {Object} error - * If set, represents the error message for the failed request. The - * `responses` field will not be set in this case. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef AnnotateFileResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - /** * Multiple image annotation requests are batched into a single service call. * * @property {Object[]} requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} * @@ -1099,11 +1091,43 @@ const AnnotateFileRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Response to a single file annotation request. A file may contain one or more + * images, which individually have their own responses. + * + * @property {Object} inputConfig + * Information about the file for which this response is generated. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1.InputConfig} + * + * @property {Object[]} responses + * Individual responses to images found within the file. This field will be + * empty if the `error` field is set. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1.AnnotateImageResponse} + * + * @property {number} totalPages + * This field gives the total number of pages in the file. + * + * @property {Object} error + * If set, represents the error message for the failed request. The + * `responses` field will not be set in this case. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef AnnotateFileResponse + * @memberof google.cloud.vision.v1 + * @see [google.cloud.vision.v1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} + */ +const AnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * A list of requests to annotate files using the BatchAnnotateFiles API. * * @property {Object[]} requests - * The list of file annotation requests. Right now we support only one + * Required. The list of file annotation requests. Right now we support only one * AnnotateFileRequest in BatchAnnotateFilesRequest. * * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1.AnnotateFileRequest} @@ -1198,7 +1222,7 @@ const AsyncAnnotateFileResponse = { * Request for async image annotation for a list of images. * * @property {Object[]} requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} * @@ -1250,7 +1274,7 @@ const AsyncBatchAnnotateImagesResponse = { * call. * * @property {Object[]} requests - * Individual async file annotation requests for this batch. + * Required. Individual async file annotation requests for this batch. * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1.AsyncAnnotateFileRequest} * diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js index a20c5d3902e..fb828555203 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -25,8 +25,7 @@ * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} * * @property {string} productSet - * The resource name of a ProductSet to - * be searched for similar images. + * The resource name of a ProductSet to be searched for similar images. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index dd4c9fef11f..d469fc6def8 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -35,13 +35,11 @@ * characters long. * * @property {string} productCategory - * The category for the product identified by the reference image. This should + * Immutable. The category for the product identified by the reference image. This should * be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or * "general-v1" The legacy categories "homegoods", "apparel", and "toys" are * still supported, but these should not be used for new products. * - * This field is immutable. - * * @property {Object[]} productLabels * Key-value pairs that can be attached to a product. At query time, * constraints can be specified based on the product_labels. @@ -143,15 +141,13 @@ const ProductSet = { * This field is ignored when creating a reference image. * * @property {string} uri - * The Google Cloud Storage URI of the reference image. + * Required. The Google Cloud Storage URI of the reference image. * * The URI must start with `gs://`. * - * Required. - * * @property {Object[]} boundingPolys - * Bounding polygons around the areas of interest in the reference image. - * Optional. If this field is empty, the system will try to detect regions of + * Optional. Bounding polygons around the areas of interest in the reference image. + * If this field is empty, the system will try to detect regions of * interest. At most 10 bounding polygons will be used. * * The provided shape is converted into a non-rotated rectangle. Once @@ -173,13 +169,13 @@ const ReferenceImage = { * Request message for the `CreateProduct` method. * * @property {string} parent - * The project in which the Product should be created. + * Required. The project in which the Product should be created. * * Format is * `projects/PROJECT_ID/locations/LOC_ID`. * * @property {Object} product - * The product to create. + * Required. The product to create. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} * @@ -201,7 +197,7 @@ const CreateProductRequest = { * Request message for the `ListProducts` method. * * @property {string} parent - * The project OR ProductSet from which Products should be listed. + * Required. The project OR ProductSet from which Products should be listed. * * Format: * `projects/PROJECT_ID/locations/LOC_ID` @@ -244,7 +240,7 @@ const ListProductsResponse = { * Request message for the `GetProduct` method. * * @property {string} name - * Resource name of the Product to get. + * Required. Resource name of the Product to get. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -261,7 +257,7 @@ const GetProductRequest = { * Request message for the `UpdateProduct` method. * * @property {Object} product - * The Product resource which replaces the one on the server. + * Required. The Product resource which replaces the one on the server. * product.name is immutable. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} @@ -287,7 +283,7 @@ const UpdateProductRequest = { * Request message for the `DeleteProduct` method. * * @property {string} name - * Resource name of product to delete. + * Required. Resource name of product to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -304,12 +300,12 @@ const DeleteProductRequest = { * Request message for the `CreateProductSet` method. * * @property {string} parent - * The project in which the ProductSet should be created. + * Required. The project in which the ProductSet should be created. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * * @property {Object} productSet - * The ProductSet to create. + * Required. The ProductSet to create. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} * @@ -331,7 +327,7 @@ const CreateProductSetRequest = { * Request message for the `ListProductSets` method. * * @property {string} parent - * The project from which ProductSets should be listed. + * Required. The project from which ProductSets should be listed. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @@ -373,7 +369,7 @@ const ListProductSetsResponse = { * Request message for the `GetProductSet` method. * * @property {string} name - * Resource name of the ProductSet to get. + * Required. Resource name of the ProductSet to get. * * Format is: * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` @@ -390,7 +386,7 @@ const GetProductSetRequest = { * Request message for the `UpdateProductSet` method. * * @property {Object} productSet - * The ProductSet resource which replaces the one on the server. + * Required. The ProductSet resource which replaces the one on the server. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} * @@ -414,7 +410,7 @@ const UpdateProductSetRequest = { * Request message for the `DeleteProductSet` method. * * @property {string} name - * Resource name of the ProductSet to delete. + * Required. Resource name of the ProductSet to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -431,13 +427,13 @@ const DeleteProductSetRequest = { * Request message for the `CreateReferenceImage` method. * * @property {string} parent - * Resource name of the product in which to create the reference image. + * Required. Resource name of the product in which to create the reference image. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. * * @property {Object} referenceImage - * The reference image to create. + * Required. The reference image to create. * If an image ID is specified, it is ignored. * * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} @@ -460,7 +456,7 @@ const CreateReferenceImageRequest = { * Request message for the `ListReferenceImages` method. * * @property {string} parent - * Resource name of the product containing the reference images. + * Required. Resource name of the product containing the reference images. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. @@ -508,7 +504,7 @@ const ListReferenceImagesResponse = { * Request message for the `GetReferenceImage` method. * * @property {string} name - * The resource name of the ReferenceImage to get. + * Required. The resource name of the ReferenceImage to get. * * Format is: * @@ -526,7 +522,7 @@ const GetReferenceImageRequest = { * Request message for the `DeleteReferenceImage` method. * * @property {string} name - * The resource name of the reference image to delete. + * Required. The resource name of the reference image to delete. * * Format is: * @@ -544,13 +540,13 @@ const DeleteReferenceImageRequest = { * Request message for the `AddProductToProductSet` method. * * @property {string} name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * * @property {string} product - * The resource name for the Product to be added to this ProductSet. + * Required. The resource name for the Product to be added to this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -567,13 +563,13 @@ const AddProductToProductSetRequest = { * Request message for the `RemoveProductFromProductSet` method. * * @property {string} name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * * @property {string} product - * The resource name for the Product to be removed from this ProductSet. + * Required. The resource name for the Product to be removed from this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -590,7 +586,7 @@ const RemoveProductFromProductSetRequest = { * Request message for the `ListProductsInProductSet` method. * * @property {string} name - * The ProductSet resource for which to retrieve Products. + * Required. The ProductSet resource for which to retrieve Products. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -659,17 +655,15 @@ const ListProductsInProductSetResponse = { * `product-display-name` column refers to * display_name, the * `product-category` column refers to - * product_category, and - * the `labels` column refers to - * product_labels. + * product_category, and the + * `labels` column refers to product_labels. * * The `image-id` column is optional but must be unique if provided. If it is * empty, the system will automatically assign a unique id to the image. * * The `product-display-name` column is optional. If it is empty, the system - * sets the display_name field - * for the product to a space (" "). You can update the `display_name` later - * by using the API. + * sets the display_name field for the product to a + * space (" "). You can update the `display_name` later by using the API. * * If a `Product` with the specified `product-id` already exists, then the * system ignores the `product-display-name`, `product-category`, and `labels` @@ -727,12 +721,12 @@ const ImportProductSetsInputConfig = { * Request message for the `ImportProductSets` method. * * @property {string} parent - * The project in which the ProductSets should be imported. + * Required. The project in which the ProductSets should be imported. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * * @property {Object} inputConfig - * The input content for the list of requests. + * Required. The input content for the list of requests. * * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1.ImportProductSetsInputConfig} * @@ -748,10 +742,8 @@ const ImportProductSetsRequest = { * Response message for the `ImportProductSets` method. * * This message is returned by the - * google.longrunning.Operations.GetOperation - * method in the returned - * google.longrunning.Operation.response - * field. + * google.longrunning.Operations.GetOperation method in the returned + * google.longrunning.Operation.response field. * * @property {Object[]} referenceImages * The list of reference_images that are imported successfully. @@ -794,8 +786,7 @@ const ImportProductSetsResponse = { * * @property {Object} endTime * The time when the batch request is finished and - * google.longrunning.Operation.done is - * set to true. + * google.longrunning.Operation.done is set to true. * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * @@ -873,7 +864,7 @@ const ProductSetPurgeConfig = { * ProductSet will be deleted. * * @property {string} parent - * The project and location in which the Products should be deleted. + * Required. The project and location in which the Products should be deleted. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index dea61108c3c..e60d857e591 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -21,9 +21,8 @@ * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol * Each structural component, starting from Page, may further have their own * properties. Properties describe detected languages, breaks etc.. Please refer - * to the - * TextAnnotation.TextProperty - * message definition below for more detail. + * to the TextAnnotation.TextProperty message definition below for more + * detail. * * @property {Object[]} pages * List of pages detected by OCR. diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 084f13a1e9e..296d7066041 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -268,7 +268,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} * @param {string} [request.parent] @@ -343,7 +343,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * The list of file annotation requests. Right now we support only one + * Required. The list of file annotation requests. Right now we support only one * AnnotateFileRequest in BatchAnnotateFilesRequest. * * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1.AnnotateFileRequest} @@ -421,7 +421,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} * @param {Object} request.outputConfig @@ -562,7 +562,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual async file annotation requests for this batch. + * Required. Individual async file annotation requests for this batch. * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1.AsyncAnnotateFileRequest} * @param {string} [request.parent] diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 527a87a542d..20f9915ccea 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -24,18 +24,16 @@ const VERSION = require('../../package.json').version; * Manages Products and ProductSets of reference images for use in product * search. It uses the following resource model: * - * - The API has a collection of ProductSet - * resources, named `projects/* /locations/* /productSets/*`, which acts as a way - * to put different products into groups to limit identification. + * - The API has a collection of ProductSet resources, named + * `projects/* /locations/* /productSets/*`, which acts as a way to put different + * products into groups to limit identification. * * In parallel, * - * - The API has a collection of Product - * resources, named + * - The API has a collection of Product resources, named * `projects/* /locations/* /products/*` * - * - Each Product has a collection of - * ReferenceImage resources, named + * - Each Product has a collection of ReferenceImage resources, named * `projects/* /locations/* /products/* /referenceImages/*` * * @class @@ -338,11 +336,11 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the ProductSet should be created. + * Required. The project in which the ProductSet should be created. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} request.productSet - * The ProductSet to create. + * Required. The ProductSet to create. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} * @param {string} [request.productSetId] @@ -413,7 +411,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project from which ProductSets should be listed. + * Required. The project from which ProductSets should be listed. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {number} [request.pageSize] @@ -527,7 +525,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project from which ProductSets should be listed. + * Required. The project from which ProductSets should be listed. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {number} [request.pageSize] @@ -578,7 +576,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the ProductSet to get. + * Required. Resource name of the ProductSet to get. * * Format is: * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` @@ -642,7 +640,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {Object} request.productSet - * The ProductSet resource which replaces the one on the server. + * Required. The ProductSet resource which replaces the one on the server. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} * @param {Object} [request.updateMask] @@ -708,7 +706,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the ProductSet to delete. + * Required. Resource name of the ProductSet to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -764,12 +762,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the Product should be created. + * Required. The project in which the Product should be created. * * Format is * `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} request.product - * The product to create. + * Required. The product to create. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} * @param {string} [request.productId] @@ -839,7 +837,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project OR ProductSet from which Products should be listed. + * Required. The project OR ProductSet from which Products should be listed. * * Format: * `projects/PROJECT_ID/locations/LOC_ID` @@ -954,7 +952,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project OR ProductSet from which Products should be listed. + * Required. The project OR ProductSet from which Products should be listed. * * Format: * `projects/PROJECT_ID/locations/LOC_ID` @@ -1006,7 +1004,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the Product to get. + * Required. Resource name of the Product to get. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1077,7 +1075,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {Object} request.product - * The Product resource which replaces the one on the server. + * Required. The Product resource which replaces the one on the server. * product.name is immutable. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} @@ -1146,7 +1144,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of product to delete. + * Required. Resource name of product to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1213,12 +1211,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product in which to create the reference image. + * Required. Resource name of the product in which to create the reference image. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. * @param {Object} request.referenceImage - * The reference image to create. + * Required. The reference image to create. * If an image ID is specified, it is ignored. * * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} @@ -1291,7 +1289,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name of the reference image to delete. + * Required. The resource name of the reference image to delete. * * Format is: * @@ -1347,7 +1345,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product containing the reference images. + * Required. Resource name of the product containing the reference images. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. @@ -1462,7 +1460,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product containing the reference images. + * Required. Resource name of the product containing the reference images. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. @@ -1514,7 +1512,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name of the ReferenceImage to get. + * Required. The resource name of the ReferenceImage to get. * * Format is: * @@ -1579,12 +1577,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {string} request.product - * The resource name for the Product to be added to this ProductSet. + * Required. The resource name for the Product to be added to this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1642,12 +1640,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {string} request.product - * The resource name for the Product to be removed from this ProductSet. + * Required. The resource name for the Product to be removed from this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1711,7 +1709,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The ProductSet resource for which to retrieve Products. + * Required. The ProductSet resource for which to retrieve Products. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -1830,7 +1828,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The ProductSet resource for which to retrieve Products. + * Required. The ProductSet resource for which to retrieve Products. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -1876,8 +1874,8 @@ class ProductSearchClient { * Asynchronous API that imports a list of reference images to specified * product sets based on a list of image information. * - * The google.longrunning.Operation API can be - * used to keep track of the progress and results of the request. + * The google.longrunning.Operation API can be used to keep track of the + * progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * `Operation.response` contains `ImportProductSetsResponse`. (results) * @@ -1888,11 +1886,11 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the ProductSets should be imported. + * Required. The project in which the ProductSets should be imported. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} request.inputConfig - * The input content for the list of requests. + * Required. The input content for the list of requests. * * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1.ImportProductSetsInputConfig} * @param {Object} [options] @@ -2023,14 +2021,14 @@ class ProductSearchClient { * ProductSet, you must wait until the PurgeProducts operation has finished * for that ProductSet. * - * The google.longrunning.Operation API can be - * used to keep track of the progress and results of the request. + * The google.longrunning.Operation API can be used to keep track of the + * progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project and location in which the Products should be deleted. + * Required. The project and location in which the Products should be deleted. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} [request.productSetPurgeConfig] diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 2b20c7b87c1..984250d9fc6 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-09-13T11:29:41.331321Z", + "updateTime": "2019-09-14T11:29:38.380853Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "dc88acb2ced136067d3ed2356b6a87ca7f017a96", - "internalRef": "268735517" + "sha": "6b2ba2ae3124c22ecb56af7102c78110b8576671", + "internalRef": "268974829" } }, { From 2637ba41d1af7acd6da8280d56ed5280d211e038 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 27 Sep 2019 19:15:50 -0400 Subject: [PATCH 332/588] chore: add protos/ to .eslintignore (#452) --- packages/google-cloud-vision/.eslintignore | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-vision/.eslintignore b/packages/google-cloud-vision/.eslintignore index f0c7aead4bf..09b31fe735a 100644 --- a/packages/google-cloud-vision/.eslintignore +++ b/packages/google-cloud-vision/.eslintignore @@ -2,3 +2,4 @@ src/**/doc/* build/ docs/ +protos/ From 394c0eb850b0a6581778c8584d9a47d8465f0da9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 30 Sep 2019 16:19:43 -0700 Subject: [PATCH 333/588] feat: .d.ts for protos (#451) --- .../google-cloud-vision/protos/protos.d.ts | 45235 ++++++ packages/google-cloud-vision/protos/protos.js | 112526 +++++++++++++++ packages/google-cloud-vision/synth.metadata | 10 +- 3 files changed, 157766 insertions(+), 5 deletions(-) create mode 100644 packages/google-cloud-vision/protos/protos.d.ts create mode 100644 packages/google-cloud-vision/protos/protos.js diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts new file mode 100644 index 00000000000..0885d8d392f --- /dev/null +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -0,0 +1,45235 @@ +import * as $protobuf from "protobufjs"; +/** Namespace google. */ +export namespace google { + + /** Namespace cloud. */ + namespace cloud { + + /** Namespace vision. */ + namespace vision { + + /** Namespace v1. */ + namespace v1 { + + /** Represents an ImageAnnotator */ + class ImageAnnotator extends $protobuf.rpc.Service { + + /** + * Constructs a new ImageAnnotator 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 ImageAnnotator 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): ImageAnnotator; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + */ + public batchAnnotateImages(request: google.cloud.vision.v1.IBatchAnnotateImagesRequest, callback: google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImagesCallback): void; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @returns Promise + */ + public batchAnnotateImages(request: google.cloud.vision.v1.IBatchAnnotateImagesRequest): Promise; + + /** + * Calls BatchAnnotateFiles. + * @param request BatchAnnotateFilesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse + */ + public batchAnnotateFiles(request: google.cloud.vision.v1.IBatchAnnotateFilesRequest, callback: google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFilesCallback): void; + + /** + * Calls BatchAnnotateFiles. + * @param request BatchAnnotateFilesRequest message or plain object + * @returns Promise + */ + public batchAnnotateFiles(request: google.cloud.vision.v1.IBatchAnnotateFilesRequest): Promise; + + /** + * Calls AsyncBatchAnnotateImages. + * @param request AsyncBatchAnnotateImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public asyncBatchAnnotateImages(request: google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, callback: google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImagesCallback): void; + + /** + * Calls AsyncBatchAnnotateImages. + * @param request AsyncBatchAnnotateImagesRequest message or plain object + * @returns Promise + */ + public asyncBatchAnnotateImages(request: google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest): Promise; + + /** + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, callback: google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFilesCallback): void; + + /** + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @returns Promise + */ + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest): Promise; + } + + namespace ImageAnnotator { + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateImages}. + * @param error Error, if any + * @param [response] BatchAnnotateImagesResponse + */ + type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1.BatchAnnotateImagesResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateFiles}. + * @param error Error, if any + * @param [response] BatchAnnotateFilesResponse + */ + type BatchAnnotateFilesCallback = (error: (Error|null), response?: google.cloud.vision.v1.BatchAnnotateFilesResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateImages}. + * @param error Error, if any + * @param [response] Operation + */ + type AsyncBatchAnnotateImagesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @param error Error, if any + * @param [response] Operation + */ + type AsyncBatchAnnotateFilesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of a Feature. */ + interface IFeature { + + /** Feature type */ + type?: (google.cloud.vision.v1.Feature.Type|null); + + /** Feature maxResults */ + maxResults?: (number|null); + + /** Feature model */ + model?: (string|null); + } + + /** Represents a Feature. */ + class Feature implements IFeature { + + /** + * Constructs a new Feature. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IFeature); + + /** Feature type. */ + public type: google.cloud.vision.v1.Feature.Type; + + /** Feature maxResults. */ + public maxResults: number; + + /** Feature model. */ + public model: string; + + /** + * Creates a new Feature instance using the specified properties. + * @param [properties] Properties to set + * @returns Feature instance + */ + public static create(properties?: google.cloud.vision.v1.IFeature): google.cloud.vision.v1.Feature; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Feature; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Feature; + + /** + * Verifies a Feature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Feature + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Feature; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @param message Feature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Feature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Feature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Feature { + + /** Type enum. */ + enum Type { + TYPE_UNSPECIFIED = 0, + FACE_DETECTION = 1, + LANDMARK_DETECTION = 2, + LOGO_DETECTION = 3, + LABEL_DETECTION = 4, + TEXT_DETECTION = 5, + DOCUMENT_TEXT_DETECTION = 11, + SAFE_SEARCH_DETECTION = 6, + IMAGE_PROPERTIES = 7, + CROP_HINTS = 9, + WEB_DETECTION = 10, + PRODUCT_SEARCH = 12, + OBJECT_LOCALIZATION = 19 + } + } + + /** Likelihood enum. */ + enum Likelihood { + UNKNOWN = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + + /** Properties of an ImageSource. */ + interface IImageSource { + + /** ImageSource gcsImageUri */ + gcsImageUri?: (string|null); + + /** ImageSource imageUri */ + imageUri?: (string|null); + } + + /** Represents an ImageSource. */ + class ImageSource implements IImageSource { + + /** + * Constructs a new ImageSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IImageSource); + + /** ImageSource gcsImageUri. */ + public gcsImageUri: string; + + /** ImageSource imageUri. */ + public imageUri: string; + + /** + * Creates a new ImageSource instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageSource instance + */ + public static create(properties?: google.cloud.vision.v1.IImageSource): google.cloud.vision.v1.ImageSource; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ImageSource; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ImageSource; + + /** + * Verifies an ImageSource message. + * @param message Plain 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 ImageSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ImageSource; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @param message ImageSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ImageSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Image. */ + interface IImage { + + /** Image content */ + content?: (Uint8Array|null); + + /** Image source */ + source?: (google.cloud.vision.v1.IImageSource|null); + } + + /** Represents an Image. */ + class Image implements IImage { + + /** + * Constructs a new Image. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IImage); + + /** Image content. */ + public content: Uint8Array; + + /** Image source. */ + public source?: (google.cloud.vision.v1.IImageSource|null); + + /** + * Creates a new Image instance using the specified properties. + * @param [properties] Properties to set + * @returns Image instance + */ + public static create(properties?: google.cloud.vision.v1.IImage): google.cloud.vision.v1.Image; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Image message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Image; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Image; + + /** + * Verifies an Image message. + * @param message Plain 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 Image message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Image + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Image; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @param message Image + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Image, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Image to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceAnnotation. */ + interface IFaceAnnotation { + + /** FaceAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly */ + fdBoundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** FaceAnnotation landmarks */ + landmarks?: (google.cloud.vision.v1.FaceAnnotation.ILandmark[]|null); + + /** FaceAnnotation rollAngle */ + rollAngle?: (number|null); + + /** FaceAnnotation panAngle */ + panAngle?: (number|null); + + /** FaceAnnotation tiltAngle */ + tiltAngle?: (number|null); + + /** FaceAnnotation detectionConfidence */ + detectionConfidence?: (number|null); + + /** FaceAnnotation landmarkingConfidence */ + landmarkingConfidence?: (number|null); + + /** FaceAnnotation joyLikelihood */ + joyLikelihood?: (google.cloud.vision.v1.Likelihood|null); + + /** FaceAnnotation sorrowLikelihood */ + sorrowLikelihood?: (google.cloud.vision.v1.Likelihood|null); + + /** FaceAnnotation angerLikelihood */ + angerLikelihood?: (google.cloud.vision.v1.Likelihood|null); + + /** FaceAnnotation surpriseLikelihood */ + surpriseLikelihood?: (google.cloud.vision.v1.Likelihood|null); + + /** FaceAnnotation underExposedLikelihood */ + underExposedLikelihood?: (google.cloud.vision.v1.Likelihood|null); + + /** FaceAnnotation blurredLikelihood */ + blurredLikelihood?: (google.cloud.vision.v1.Likelihood|null); + + /** FaceAnnotation headwearLikelihood */ + headwearLikelihood?: (google.cloud.vision.v1.Likelihood|null); + } + + /** Represents a FaceAnnotation. */ + class FaceAnnotation implements IFaceAnnotation { + + /** + * Constructs a new FaceAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IFaceAnnotation); + + /** FaceAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly. */ + public fdBoundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** FaceAnnotation landmarks. */ + public landmarks: google.cloud.vision.v1.FaceAnnotation.ILandmark[]; + + /** FaceAnnotation rollAngle. */ + public rollAngle: number; + + /** FaceAnnotation panAngle. */ + public panAngle: number; + + /** FaceAnnotation tiltAngle. */ + public tiltAngle: number; + + /** FaceAnnotation detectionConfidence. */ + public detectionConfidence: number; + + /** FaceAnnotation landmarkingConfidence. */ + public landmarkingConfidence: number; + + /** FaceAnnotation joyLikelihood. */ + public joyLikelihood: google.cloud.vision.v1.Likelihood; + + /** FaceAnnotation sorrowLikelihood. */ + public sorrowLikelihood: google.cloud.vision.v1.Likelihood; + + /** FaceAnnotation angerLikelihood. */ + public angerLikelihood: google.cloud.vision.v1.Likelihood; + + /** FaceAnnotation surpriseLikelihood. */ + public surpriseLikelihood: google.cloud.vision.v1.Likelihood; + + /** FaceAnnotation underExposedLikelihood. */ + public underExposedLikelihood: google.cloud.vision.v1.Likelihood; + + /** FaceAnnotation blurredLikelihood. */ + public blurredLikelihood: google.cloud.vision.v1.Likelihood; + + /** FaceAnnotation headwearLikelihood. */ + public headwearLikelihood: google.cloud.vision.v1.Likelihood; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1.IFaceAnnotation): google.cloud.vision.v1.FaceAnnotation; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.FaceAnnotation; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.FaceAnnotation; + + /** + * Verifies a FaceAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.FaceAnnotation; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @param message FaceAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace FaceAnnotation { + + /** Properties of a Landmark. */ + interface ILandmark { + + /** Landmark type */ + type?: (google.cloud.vision.v1.FaceAnnotation.Landmark.Type|null); + + /** Landmark position */ + position?: (google.cloud.vision.v1.IPosition|null); + } + + /** Represents a Landmark. */ + class Landmark implements ILandmark { + + /** + * Constructs a new Landmark. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.FaceAnnotation.ILandmark); + + /** Landmark type. */ + public type: google.cloud.vision.v1.FaceAnnotation.Landmark.Type; + + /** Landmark position. */ + public position?: (google.cloud.vision.v1.IPosition|null); + + /** + * Creates a new Landmark instance using the specified properties. + * @param [properties] Properties to set + * @returns Landmark instance + */ + public static create(properties?: google.cloud.vision.v1.FaceAnnotation.ILandmark): google.cloud.vision.v1.FaceAnnotation.Landmark; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.FaceAnnotation.Landmark; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.FaceAnnotation.Landmark; + + /** + * Verifies a Landmark message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Landmark + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.FaceAnnotation.Landmark; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @param message Landmark + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.FaceAnnotation.Landmark, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Landmark to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Landmark { + + /** Type enum. */ + enum Type { + UNKNOWN_LANDMARK = 0, + LEFT_EYE = 1, + RIGHT_EYE = 2, + LEFT_OF_LEFT_EYEBROW = 3, + RIGHT_OF_LEFT_EYEBROW = 4, + LEFT_OF_RIGHT_EYEBROW = 5, + RIGHT_OF_RIGHT_EYEBROW = 6, + MIDPOINT_BETWEEN_EYES = 7, + NOSE_TIP = 8, + UPPER_LIP = 9, + LOWER_LIP = 10, + MOUTH_LEFT = 11, + MOUTH_RIGHT = 12, + MOUTH_CENTER = 13, + NOSE_BOTTOM_RIGHT = 14, + NOSE_BOTTOM_LEFT = 15, + NOSE_BOTTOM_CENTER = 16, + LEFT_EYE_TOP_BOUNDARY = 17, + LEFT_EYE_RIGHT_CORNER = 18, + LEFT_EYE_BOTTOM_BOUNDARY = 19, + LEFT_EYE_LEFT_CORNER = 20, + RIGHT_EYE_TOP_BOUNDARY = 21, + RIGHT_EYE_RIGHT_CORNER = 22, + RIGHT_EYE_BOTTOM_BOUNDARY = 23, + RIGHT_EYE_LEFT_CORNER = 24, + LEFT_EYEBROW_UPPER_MIDPOINT = 25, + RIGHT_EYEBROW_UPPER_MIDPOINT = 26, + LEFT_EAR_TRAGION = 27, + RIGHT_EAR_TRAGION = 28, + LEFT_EYE_PUPIL = 29, + RIGHT_EYE_PUPIL = 30, + FOREHEAD_GLABELLA = 31, + CHIN_GNATHION = 32, + CHIN_LEFT_GONION = 33, + CHIN_RIGHT_GONION = 34 + } + } + } + + /** Properties of a LocationInfo. */ + interface ILocationInfo { + + /** LocationInfo latLng */ + latLng?: (google.type.ILatLng|null); + } + + /** Represents a LocationInfo. */ + class LocationInfo implements ILocationInfo { + + /** + * Constructs a new LocationInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ILocationInfo); + + /** LocationInfo latLng. */ + public latLng?: (google.type.ILatLng|null); + + /** + * Creates a new LocationInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns LocationInfo instance + */ + public static create(properties?: google.cloud.vision.v1.ILocationInfo): google.cloud.vision.v1.LocationInfo; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.LocationInfo; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.LocationInfo; + + /** + * Verifies a LocationInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocationInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.LocationInfo; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @param message LocationInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.LocationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocationInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Property. */ + interface IProperty { + + /** Property name */ + name?: (string|null); + + /** Property value */ + value?: (string|null); + + /** Property uint64Value */ + uint64Value?: (number|Long|null); + } + + /** Represents a Property. */ + class Property implements IProperty { + + /** + * Constructs a new Property. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IProperty); + + /** Property name. */ + public name: string; + + /** Property value. */ + public value: string; + + /** Property uint64Value. */ + public uint64Value: (number|Long); + + /** + * Creates a new Property instance using the specified properties. + * @param [properties] Properties to set + * @returns Property instance + */ + public static create(properties?: google.cloud.vision.v1.IProperty): google.cloud.vision.v1.Property; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Property message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Property; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Property; + + /** + * Verifies a Property message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Property + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Property; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @param message Property + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Property, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Property to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EntityAnnotation. */ + interface IEntityAnnotation { + + /** EntityAnnotation mid */ + mid?: (string|null); + + /** EntityAnnotation locale */ + locale?: (string|null); + + /** EntityAnnotation description */ + description?: (string|null); + + /** EntityAnnotation score */ + score?: (number|null); + + /** EntityAnnotation confidence */ + confidence?: (number|null); + + /** EntityAnnotation topicality */ + topicality?: (number|null); + + /** EntityAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** EntityAnnotation locations */ + locations?: (google.cloud.vision.v1.ILocationInfo[]|null); + + /** EntityAnnotation properties */ + properties?: (google.cloud.vision.v1.IProperty[]|null); + } + + /** Represents an EntityAnnotation. */ + class EntityAnnotation implements IEntityAnnotation { + + /** + * Constructs a new EntityAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IEntityAnnotation); + + /** EntityAnnotation mid. */ + public mid: string; + + /** EntityAnnotation locale. */ + public locale: string; + + /** EntityAnnotation description. */ + public description: string; + + /** EntityAnnotation score. */ + public score: number; + + /** EntityAnnotation confidence. */ + public confidence: number; + + /** EntityAnnotation topicality. */ + public topicality: number; + + /** EntityAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** EntityAnnotation locations. */ + public locations: google.cloud.vision.v1.ILocationInfo[]; + + /** EntityAnnotation properties. */ + public properties: google.cloud.vision.v1.IProperty[]; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns EntityAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1.IEntityAnnotation): google.cloud.vision.v1.EntityAnnotation; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.EntityAnnotation; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.EntityAnnotation; + + /** + * Verifies an EntityAnnotation message. + * @param message Plain 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 EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EntityAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.EntityAnnotation; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @param message EntityAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.EntityAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EntityAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LocalizedObjectAnnotation. */ + interface ILocalizedObjectAnnotation { + + /** LocalizedObjectAnnotation mid */ + mid?: (string|null); + + /** LocalizedObjectAnnotation languageCode */ + languageCode?: (string|null); + + /** LocalizedObjectAnnotation name */ + name?: (string|null); + + /** LocalizedObjectAnnotation score */ + score?: (number|null); + + /** LocalizedObjectAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + } + + /** Represents a LocalizedObjectAnnotation. */ + class LocalizedObjectAnnotation implements ILocalizedObjectAnnotation { + + /** + * Constructs a new LocalizedObjectAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ILocalizedObjectAnnotation); + + /** LocalizedObjectAnnotation mid. */ + public mid: string; + + /** LocalizedObjectAnnotation languageCode. */ + public languageCode: string; + + /** LocalizedObjectAnnotation name. */ + public name: string; + + /** LocalizedObjectAnnotation score. */ + public score: number; + + /** LocalizedObjectAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** + * Creates a new LocalizedObjectAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LocalizedObjectAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1.ILocalizedObjectAnnotation): google.cloud.vision.v1.LocalizedObjectAnnotation; + + /** + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1.LocalizedObjectAnnotation.verify|verify} messages. + * @param message LocalizedObjectAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LocalizedObjectAnnotation.verify|verify} messages. + * @param message LocalizedObjectAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.LocalizedObjectAnnotation; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.LocalizedObjectAnnotation; + + /** + * Verifies a LocalizedObjectAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocalizedObjectAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.LocalizedObjectAnnotation; + + /** + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. + * @param message LocalizedObjectAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.LocalizedObjectAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocalizedObjectAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SafeSearchAnnotation. */ + interface ISafeSearchAnnotation { + + /** SafeSearchAnnotation adult */ + adult?: (google.cloud.vision.v1.Likelihood|null); + + /** SafeSearchAnnotation spoof */ + spoof?: (google.cloud.vision.v1.Likelihood|null); + + /** SafeSearchAnnotation medical */ + medical?: (google.cloud.vision.v1.Likelihood|null); + + /** SafeSearchAnnotation violence */ + violence?: (google.cloud.vision.v1.Likelihood|null); + + /** SafeSearchAnnotation racy */ + racy?: (google.cloud.vision.v1.Likelihood|null); + + /** SafeSearchAnnotation adultConfidence */ + adultConfidence?: (number|null); + + /** SafeSearchAnnotation spoofConfidence */ + spoofConfidence?: (number|null); + + /** SafeSearchAnnotation medicalConfidence */ + medicalConfidence?: (number|null); + + /** SafeSearchAnnotation violenceConfidence */ + violenceConfidence?: (number|null); + + /** SafeSearchAnnotation racyConfidence */ + racyConfidence?: (number|null); + + /** SafeSearchAnnotation nsfwConfidence */ + nsfwConfidence?: (number|null); + } + + /** Represents a SafeSearchAnnotation. */ + class SafeSearchAnnotation implements ISafeSearchAnnotation { + + /** + * Constructs a new SafeSearchAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ISafeSearchAnnotation); + + /** SafeSearchAnnotation adult. */ + public adult: google.cloud.vision.v1.Likelihood; + + /** SafeSearchAnnotation spoof. */ + public spoof: google.cloud.vision.v1.Likelihood; + + /** SafeSearchAnnotation medical. */ + public medical: google.cloud.vision.v1.Likelihood; + + /** SafeSearchAnnotation violence. */ + public violence: google.cloud.vision.v1.Likelihood; + + /** SafeSearchAnnotation racy. */ + public racy: google.cloud.vision.v1.Likelihood; + + /** SafeSearchAnnotation adultConfidence. */ + public adultConfidence: number; + + /** SafeSearchAnnotation spoofConfidence. */ + public spoofConfidence: number; + + /** SafeSearchAnnotation medicalConfidence. */ + public medicalConfidence: number; + + /** SafeSearchAnnotation violenceConfidence. */ + public violenceConfidence: number; + + /** SafeSearchAnnotation racyConfidence. */ + public racyConfidence: number; + + /** SafeSearchAnnotation nsfwConfidence. */ + public nsfwConfidence: number; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns SafeSearchAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1.ISafeSearchAnnotation): google.cloud.vision.v1.SafeSearchAnnotation; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.SafeSearchAnnotation; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.SafeSearchAnnotation; + + /** + * Verifies a SafeSearchAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SafeSearchAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.SafeSearchAnnotation; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @param message SafeSearchAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.SafeSearchAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LatLongRect. */ + interface ILatLongRect { + + /** LatLongRect minLatLng */ + minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng */ + maxLatLng?: (google.type.ILatLng|null); + } + + /** Represents a LatLongRect. */ + class LatLongRect implements ILatLongRect { + + /** + * Constructs a new LatLongRect. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ILatLongRect); + + /** LatLongRect minLatLng. */ + public minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng. */ + public maxLatLng?: (google.type.ILatLng|null); + + /** + * Creates a new LatLongRect instance using the specified properties. + * @param [properties] Properties to set + * @returns LatLongRect instance + */ + public static create(properties?: google.cloud.vision.v1.ILatLongRect): google.cloud.vision.v1.LatLongRect; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.LatLongRect; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.LatLongRect; + + /** + * Verifies a LatLongRect message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LatLongRect + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.LatLongRect; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @param message LatLongRect + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.LatLongRect, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LatLongRect to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ColorInfo. */ + interface IColorInfo { + + /** ColorInfo color */ + color?: (google.type.IColor|null); + + /** ColorInfo score */ + score?: (number|null); + + /** ColorInfo pixelFraction */ + pixelFraction?: (number|null); + } + + /** Represents a ColorInfo. */ + class ColorInfo implements IColorInfo { + + /** + * Constructs a new ColorInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IColorInfo); + + /** ColorInfo color. */ + public color?: (google.type.IColor|null); + + /** ColorInfo score. */ + public score: number; + + /** ColorInfo pixelFraction. */ + public pixelFraction: number; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns ColorInfo instance + */ + public static create(properties?: google.cloud.vision.v1.IColorInfo): google.cloud.vision.v1.ColorInfo; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ColorInfo; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ColorInfo; + + /** + * Verifies a ColorInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ColorInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ColorInfo; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @param message ColorInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ColorInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DominantColorsAnnotation. */ + interface IDominantColorsAnnotation { + + /** DominantColorsAnnotation colors */ + colors?: (google.cloud.vision.v1.IColorInfo[]|null); + } + + /** Represents a DominantColorsAnnotation. */ + class DominantColorsAnnotation implements IDominantColorsAnnotation { + + /** + * Constructs a new DominantColorsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IDominantColorsAnnotation); + + /** DominantColorsAnnotation colors. */ + public colors: google.cloud.vision.v1.IColorInfo[]; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns DominantColorsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1.IDominantColorsAnnotation): google.cloud.vision.v1.DominantColorsAnnotation; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.DominantColorsAnnotation; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.DominantColorsAnnotation; + + /** + * Verifies a DominantColorsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DominantColorsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.DominantColorsAnnotation; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @param message DominantColorsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.DominantColorsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageProperties. */ + interface IImageProperties { + + /** ImageProperties dominantColors */ + dominantColors?: (google.cloud.vision.v1.IDominantColorsAnnotation|null); + } + + /** Represents an ImageProperties. */ + class ImageProperties implements IImageProperties { + + /** + * Constructs a new ImageProperties. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IImageProperties); + + /** ImageProperties dominantColors. */ + public dominantColors?: (google.cloud.vision.v1.IDominantColorsAnnotation|null); + + /** + * Creates a new ImageProperties instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageProperties instance + */ + public static create(properties?: google.cloud.vision.v1.IImageProperties): google.cloud.vision.v1.ImageProperties; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ImageProperties; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ImageProperties; + + /** + * Verifies an ImageProperties message. + * @param message Plain 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 ImageProperties message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageProperties + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ImageProperties; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @param message ImageProperties + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ImageProperties, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageProperties to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHint. */ + interface ICropHint { + + /** CropHint boundingPoly */ + boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** CropHint confidence */ + confidence?: (number|null); + + /** CropHint importanceFraction */ + importanceFraction?: (number|null); + } + + /** Represents a CropHint. */ + class CropHint implements ICropHint { + + /** + * Constructs a new CropHint. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ICropHint); + + /** CropHint boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** CropHint confidence. */ + public confidence: number; + + /** CropHint importanceFraction. */ + public importanceFraction: number; + + /** + * Creates a new CropHint instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHint instance + */ + public static create(properties?: google.cloud.vision.v1.ICropHint): google.cloud.vision.v1.CropHint; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.CropHint; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.CropHint; + + /** + * Verifies a CropHint message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHint + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.CropHint; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @param message CropHint + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.CropHint, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHint to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsAnnotation. */ + interface ICropHintsAnnotation { + + /** CropHintsAnnotation cropHints */ + cropHints?: (google.cloud.vision.v1.ICropHint[]|null); + } + + /** Represents a CropHintsAnnotation. */ + class CropHintsAnnotation implements ICropHintsAnnotation { + + /** + * Constructs a new CropHintsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ICropHintsAnnotation); + + /** CropHintsAnnotation cropHints. */ + public cropHints: google.cloud.vision.v1.ICropHint[]; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1.ICropHintsAnnotation): google.cloud.vision.v1.CropHintsAnnotation; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.CropHintsAnnotation; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.CropHintsAnnotation; + + /** + * Verifies a CropHintsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.CropHintsAnnotation; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @param message CropHintsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.CropHintsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsParams. */ + interface ICropHintsParams { + + /** CropHintsParams aspectRatios */ + aspectRatios?: (number[]|null); + } + + /** Represents a CropHintsParams. */ + class CropHintsParams implements ICropHintsParams { + + /** + * Constructs a new CropHintsParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ICropHintsParams); + + /** CropHintsParams aspectRatios. */ + public aspectRatios: number[]; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsParams instance + */ + public static create(properties?: google.cloud.vision.v1.ICropHintsParams): google.cloud.vision.v1.CropHintsParams; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.CropHintsParams; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.CropHintsParams; + + /** + * Verifies a CropHintsParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.CropHintsParams; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @param message CropHintsParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.CropHintsParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetectionParams. */ + interface IWebDetectionParams { + + /** WebDetectionParams includeGeoResults */ + includeGeoResults?: (boolean|null); + } + + /** Represents a WebDetectionParams. */ + class WebDetectionParams implements IWebDetectionParams { + + /** + * Constructs a new WebDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IWebDetectionParams); + + /** WebDetectionParams includeGeoResults. */ + public includeGeoResults: boolean; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1.IWebDetectionParams): google.cloud.vision.v1.WebDetectionParams; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.WebDetectionParams; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.WebDetectionParams; + + /** + * Verifies a WebDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.WebDetectionParams; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @param message WebDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.WebDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageContext. */ + interface IImageContext { + + /** ImageContext latLongRect */ + latLongRect?: (google.cloud.vision.v1.ILatLongRect|null); + + /** ImageContext languageHints */ + languageHints?: (string[]|null); + + /** ImageContext cropHintsParams */ + cropHintsParams?: (google.cloud.vision.v1.ICropHintsParams|null); + + /** ImageContext productSearchParams */ + productSearchParams?: (google.cloud.vision.v1.IProductSearchParams|null); + + /** ImageContext webDetectionParams */ + webDetectionParams?: (google.cloud.vision.v1.IWebDetectionParams|null); + } + + /** Represents an ImageContext. */ + class ImageContext implements IImageContext { + + /** + * Constructs a new ImageContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IImageContext); + + /** ImageContext latLongRect. */ + public latLongRect?: (google.cloud.vision.v1.ILatLongRect|null); + + /** ImageContext languageHints. */ + public languageHints: string[]; + + /** ImageContext cropHintsParams. */ + public cropHintsParams?: (google.cloud.vision.v1.ICropHintsParams|null); + + /** ImageContext productSearchParams. */ + public productSearchParams?: (google.cloud.vision.v1.IProductSearchParams|null); + + /** ImageContext webDetectionParams. */ + public webDetectionParams?: (google.cloud.vision.v1.IWebDetectionParams|null); + + /** + * Creates a new ImageContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageContext instance + */ + public static create(properties?: google.cloud.vision.v1.IImageContext): google.cloud.vision.v1.ImageContext; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ImageContext; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ImageContext; + + /** + * Verifies an ImageContext message. + * @param message Plain 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 ImageContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ImageContext; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @param message ImageContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ImageContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageRequest. */ + interface IAnnotateImageRequest { + + /** AnnotateImageRequest image */ + image?: (google.cloud.vision.v1.IImage|null); + + /** AnnotateImageRequest features */ + features?: (google.cloud.vision.v1.IFeature[]|null); + + /** AnnotateImageRequest imageContext */ + imageContext?: (google.cloud.vision.v1.IImageContext|null); + } + + /** Represents an AnnotateImageRequest. */ + class AnnotateImageRequest implements IAnnotateImageRequest { + + /** + * Constructs a new AnnotateImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAnnotateImageRequest); + + /** AnnotateImageRequest image. */ + public image?: (google.cloud.vision.v1.IImage|null); + + /** AnnotateImageRequest features. */ + public features: google.cloud.vision.v1.IFeature[]; + + /** AnnotateImageRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1.IImageContext|null); + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IAnnotateImageRequest): google.cloud.vision.v1.AnnotateImageRequest; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AnnotateImageRequest; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AnnotateImageRequest; + + /** + * Verifies an AnnotateImageRequest message. + * @param message Plain 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 AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AnnotateImageRequest; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @param message AnnotateImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AnnotateImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageAnnotationContext. */ + interface IImageAnnotationContext { + + /** ImageAnnotationContext uri */ + uri?: (string|null); + + /** ImageAnnotationContext pageNumber */ + pageNumber?: (number|null); + } + + /** Represents an ImageAnnotationContext. */ + class ImageAnnotationContext implements IImageAnnotationContext { + + /** + * Constructs a new ImageAnnotationContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IImageAnnotationContext); + + /** ImageAnnotationContext uri. */ + public uri: string; + + /** ImageAnnotationContext pageNumber. */ + public pageNumber: number; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageAnnotationContext instance + */ + public static create(properties?: google.cloud.vision.v1.IImageAnnotationContext): google.cloud.vision.v1.ImageAnnotationContext; + + /** + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ImageAnnotationContext; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ImageAnnotationContext; + + /** + * Verifies an ImageAnnotationContext message. + * @param message Plain 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 ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageAnnotationContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ImageAnnotationContext; + + /** + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * @param message ImageAnnotationContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ImageAnnotationContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageAnnotationContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageResponse. */ + interface IAnnotateImageResponse { + + /** AnnotateImageResponse faceAnnotations */ + faceAnnotations?: (google.cloud.vision.v1.IFaceAnnotation[]|null); + + /** AnnotateImageResponse landmarkAnnotations */ + landmarkAnnotations?: (google.cloud.vision.v1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse logoAnnotations */ + logoAnnotations?: (google.cloud.vision.v1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse labelAnnotations */ + labelAnnotations?: (google.cloud.vision.v1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse localizedObjectAnnotations */ + localizedObjectAnnotations?: (google.cloud.vision.v1.ILocalizedObjectAnnotation[]|null); + + /** AnnotateImageResponse textAnnotations */ + textAnnotations?: (google.cloud.vision.v1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse fullTextAnnotation */ + fullTextAnnotation?: (google.cloud.vision.v1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation */ + safeSearchAnnotation?: (google.cloud.vision.v1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation */ + imagePropertiesAnnotation?: (google.cloud.vision.v1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation */ + cropHintsAnnotation?: (google.cloud.vision.v1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection */ + webDetection?: (google.cloud.vision.v1.IWebDetection|null); + + /** AnnotateImageResponse productSearchResults */ + productSearchResults?: (google.cloud.vision.v1.IProductSearchResults|null); + + /** AnnotateImageResponse error */ + error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context */ + context?: (google.cloud.vision.v1.IImageAnnotationContext|null); + } + + /** Represents an AnnotateImageResponse. */ + class AnnotateImageResponse implements IAnnotateImageResponse { + + /** + * Constructs a new AnnotateImageResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAnnotateImageResponse); + + /** AnnotateImageResponse faceAnnotations. */ + public faceAnnotations: google.cloud.vision.v1.IFaceAnnotation[]; + + /** AnnotateImageResponse landmarkAnnotations. */ + public landmarkAnnotations: google.cloud.vision.v1.IEntityAnnotation[]; + + /** AnnotateImageResponse logoAnnotations. */ + public logoAnnotations: google.cloud.vision.v1.IEntityAnnotation[]; + + /** AnnotateImageResponse labelAnnotations. */ + public labelAnnotations: google.cloud.vision.v1.IEntityAnnotation[]; + + /** AnnotateImageResponse localizedObjectAnnotations. */ + public localizedObjectAnnotations: google.cloud.vision.v1.ILocalizedObjectAnnotation[]; + + /** AnnotateImageResponse textAnnotations. */ + public textAnnotations: google.cloud.vision.v1.IEntityAnnotation[]; + + /** AnnotateImageResponse fullTextAnnotation. */ + public fullTextAnnotation?: (google.cloud.vision.v1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation. */ + public safeSearchAnnotation?: (google.cloud.vision.v1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation. */ + public imagePropertiesAnnotation?: (google.cloud.vision.v1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation. */ + public cropHintsAnnotation?: (google.cloud.vision.v1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection. */ + public webDetection?: (google.cloud.vision.v1.IWebDetection|null); + + /** AnnotateImageResponse productSearchResults. */ + public productSearchResults?: (google.cloud.vision.v1.IProductSearchResults|null); + + /** AnnotateImageResponse error. */ + public error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context. */ + public context?: (google.cloud.vision.v1.IImageAnnotationContext|null); + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IAnnotateImageResponse): google.cloud.vision.v1.AnnotateImageResponse; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AnnotateImageResponse; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AnnotateImageResponse; + + /** + * Verifies an AnnotateImageResponse message. + * @param message Plain 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 AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AnnotateImageResponse; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @param message AnnotateImageResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AnnotateImageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesRequest. */ + interface IBatchAnnotateImagesRequest { + + /** BatchAnnotateImagesRequest requests */ + requests?: (google.cloud.vision.v1.IAnnotateImageRequest[]|null); + + /** BatchAnnotateImagesRequest parent */ + parent?: (string|null); + } + + /** Represents a BatchAnnotateImagesRequest. */ + class BatchAnnotateImagesRequest implements IBatchAnnotateImagesRequest { + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IBatchAnnotateImagesRequest); + + /** BatchAnnotateImagesRequest requests. */ + public requests: google.cloud.vision.v1.IAnnotateImageRequest[]; + + /** BatchAnnotateImagesRequest parent. */ + public parent: string; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IBatchAnnotateImagesRequest): google.cloud.vision.v1.BatchAnnotateImagesRequest; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.BatchAnnotateImagesRequest; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.BatchAnnotateImagesRequest; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.BatchAnnotateImagesRequest; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.BatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesResponse. */ + interface IBatchAnnotateImagesResponse { + + /** BatchAnnotateImagesResponse responses */ + responses?: (google.cloud.vision.v1.IAnnotateImageResponse[]|null); + } + + /** Represents a BatchAnnotateImagesResponse. */ + class BatchAnnotateImagesResponse implements IBatchAnnotateImagesResponse { + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IBatchAnnotateImagesResponse); + + /** BatchAnnotateImagesResponse responses. */ + public responses: google.cloud.vision.v1.IAnnotateImageResponse[]; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IBatchAnnotateImagesResponse): google.cloud.vision.v1.BatchAnnotateImagesResponse; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.BatchAnnotateImagesResponse; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.BatchAnnotateImagesResponse; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.BatchAnnotateImagesResponse; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.BatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateFileRequest. */ + interface IAnnotateFileRequest { + + /** AnnotateFileRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1.IInputConfig|null); + + /** AnnotateFileRequest features */ + features?: (google.cloud.vision.v1.IFeature[]|null); + + /** AnnotateFileRequest imageContext */ + imageContext?: (google.cloud.vision.v1.IImageContext|null); + + /** AnnotateFileRequest pages */ + pages?: (number[]|null); + } + + /** Represents an AnnotateFileRequest. */ + class AnnotateFileRequest implements IAnnotateFileRequest { + + /** + * Constructs a new AnnotateFileRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAnnotateFileRequest); + + /** AnnotateFileRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1.IInputConfig|null); + + /** AnnotateFileRequest features. */ + public features: google.cloud.vision.v1.IFeature[]; + + /** AnnotateFileRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1.IImageContext|null); + + /** AnnotateFileRequest pages. */ + public pages: number[]; + + /** + * Creates a new AnnotateFileRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateFileRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IAnnotateFileRequest): google.cloud.vision.v1.AnnotateFileRequest; + + /** + * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileRequest.verify|verify} messages. + * @param message AnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileRequest.verify|verify} messages. + * @param message AnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateFileRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AnnotateFileRequest; + + /** + * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AnnotateFileRequest; + + /** + * Verifies an AnnotateFileRequest message. + * @param message Plain 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 AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateFileRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AnnotateFileRequest; + + /** + * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. + * @param message AnnotateFileRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateFileRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateFileResponse. */ + interface IAnnotateFileResponse { + + /** AnnotateFileResponse inputConfig */ + inputConfig?: (google.cloud.vision.v1.IInputConfig|null); + + /** AnnotateFileResponse responses */ + responses?: (google.cloud.vision.v1.IAnnotateImageResponse[]|null); + + /** AnnotateFileResponse totalPages */ + totalPages?: (number|null); + + /** AnnotateFileResponse error */ + error?: (google.rpc.IStatus|null); + } + + /** Represents an AnnotateFileResponse. */ + class AnnotateFileResponse implements IAnnotateFileResponse { + + /** + * Constructs a new AnnotateFileResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAnnotateFileResponse); + + /** AnnotateFileResponse inputConfig. */ + public inputConfig?: (google.cloud.vision.v1.IInputConfig|null); + + /** AnnotateFileResponse responses. */ + public responses: google.cloud.vision.v1.IAnnotateImageResponse[]; + + /** AnnotateFileResponse totalPages. */ + public totalPages: number; + + /** AnnotateFileResponse error. */ + public error?: (google.rpc.IStatus|null); + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateFileResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IAnnotateFileResponse): google.cloud.vision.v1.AnnotateFileResponse; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AnnotateFileResponse; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AnnotateFileResponse; + + /** + * Verifies an AnnotateFileResponse message. + * @param message Plain 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 AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateFileResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AnnotateFileResponse; + + /** + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @param message AnnotateFileResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateFileResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateFilesRequest. */ + interface IBatchAnnotateFilesRequest { + + /** BatchAnnotateFilesRequest requests */ + requests?: (google.cloud.vision.v1.IAnnotateFileRequest[]|null); + + /** BatchAnnotateFilesRequest parent */ + parent?: (string|null); + } + + /** Represents a BatchAnnotateFilesRequest. */ + class BatchAnnotateFilesRequest implements IBatchAnnotateFilesRequest { + + /** + * Constructs a new BatchAnnotateFilesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IBatchAnnotateFilesRequest); + + /** BatchAnnotateFilesRequest requests. */ + public requests: google.cloud.vision.v1.IAnnotateFileRequest[]; + + /** BatchAnnotateFilesRequest parent. */ + public parent: string; + + /** + * Creates a new BatchAnnotateFilesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateFilesRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IBatchAnnotateFilesRequest): google.cloud.vision.v1.BatchAnnotateFilesRequest; + + /** + * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesRequest.verify|verify} messages. + * @param message BatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesRequest.verify|verify} messages. + * @param message BatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.BatchAnnotateFilesRequest; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.BatchAnnotateFilesRequest; + + /** + * Verifies a BatchAnnotateFilesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateFilesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.BatchAnnotateFilesRequest; + + /** + * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @param message BatchAnnotateFilesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.BatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateFilesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateFilesResponse. */ + interface IBatchAnnotateFilesResponse { + + /** BatchAnnotateFilesResponse responses */ + responses?: (google.cloud.vision.v1.IAnnotateFileResponse[]|null); + } + + /** Represents a BatchAnnotateFilesResponse. */ + class BatchAnnotateFilesResponse implements IBatchAnnotateFilesResponse { + + /** + * Constructs a new BatchAnnotateFilesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IBatchAnnotateFilesResponse); + + /** BatchAnnotateFilesResponse responses. */ + public responses: google.cloud.vision.v1.IAnnotateFileResponse[]; + + /** + * Creates a new BatchAnnotateFilesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateFilesResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IBatchAnnotateFilesResponse): google.cloud.vision.v1.BatchAnnotateFilesResponse; + + /** + * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesResponse.verify|verify} messages. + * @param message BatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesResponse.verify|verify} messages. + * @param message BatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.BatchAnnotateFilesResponse; + + /** + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.BatchAnnotateFilesResponse; + + /** + * Verifies a BatchAnnotateFilesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateFilesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.BatchAnnotateFilesResponse; + + /** + * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @param message BatchAnnotateFilesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.BatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateFilesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncAnnotateFileRequest. */ + interface IAsyncAnnotateFileRequest { + + /** AsyncAnnotateFileRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1.IInputConfig|null); + + /** AsyncAnnotateFileRequest features */ + features?: (google.cloud.vision.v1.IFeature[]|null); + + /** AsyncAnnotateFileRequest imageContext */ + imageContext?: (google.cloud.vision.v1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig */ + outputConfig?: (google.cloud.vision.v1.IOutputConfig|null); + } + + /** Represents an AsyncAnnotateFileRequest. */ + class AsyncAnnotateFileRequest implements IAsyncAnnotateFileRequest { + + /** + * Constructs a new AsyncAnnotateFileRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAsyncAnnotateFileRequest); + + /** AsyncAnnotateFileRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1.IInputConfig|null); + + /** AsyncAnnotateFileRequest features. */ + public features: google.cloud.vision.v1.IFeature[]; + + /** AsyncAnnotateFileRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig. */ + public outputConfig?: (google.cloud.vision.v1.IOutputConfig|null); + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncAnnotateFileRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IAsyncAnnotateFileRequest): google.cloud.vision.v1.AsyncAnnotateFileRequest; + + /** + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AsyncAnnotateFileRequest; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AsyncAnnotateFileRequest; + + /** + * Verifies an AsyncAnnotateFileRequest message. + * @param message Plain 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 AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncAnnotateFileRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AsyncAnnotateFileRequest; + + /** + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AsyncAnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncAnnotateFileRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncAnnotateFileResponse. */ + interface IAsyncAnnotateFileResponse { + + /** AsyncAnnotateFileResponse outputConfig */ + outputConfig?: (google.cloud.vision.v1.IOutputConfig|null); + } + + /** Represents an AsyncAnnotateFileResponse. */ + class AsyncAnnotateFileResponse implements IAsyncAnnotateFileResponse { + + /** + * Constructs a new AsyncAnnotateFileResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAsyncAnnotateFileResponse); + + /** AsyncAnnotateFileResponse outputConfig. */ + public outputConfig?: (google.cloud.vision.v1.IOutputConfig|null); + + /** + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncAnnotateFileResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IAsyncAnnotateFileResponse): google.cloud.vision.v1.AsyncAnnotateFileResponse; + + /** + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AsyncAnnotateFileResponse; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AsyncAnnotateFileResponse; + + /** + * Verifies an AsyncAnnotateFileResponse message. + * @param message Plain 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 AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncAnnotateFileResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AsyncAnnotateFileResponse; + + /** + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AsyncAnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncAnnotateFileResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateImagesRequest. */ + interface IAsyncBatchAnnotateImagesRequest { + + /** AsyncBatchAnnotateImagesRequest requests */ + requests?: (google.cloud.vision.v1.IAnnotateImageRequest[]|null); + + /** AsyncBatchAnnotateImagesRequest outputConfig */ + outputConfig?: (google.cloud.vision.v1.IOutputConfig|null); + + /** AsyncBatchAnnotateImagesRequest parent */ + parent?: (string|null); + } + + /** Represents an AsyncBatchAnnotateImagesRequest. */ + class AsyncBatchAnnotateImagesRequest implements IAsyncBatchAnnotateImagesRequest { + + /** + * Constructs a new AsyncBatchAnnotateImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest); + + /** AsyncBatchAnnotateImagesRequest requests. */ + public requests: google.cloud.vision.v1.IAnnotateImageRequest[]; + + /** AsyncBatchAnnotateImagesRequest outputConfig. */ + public outputConfig?: (google.cloud.vision.v1.IOutputConfig|null); + + /** AsyncBatchAnnotateImagesRequest parent. */ + public parent: string; + + /** + * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest): google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest; + + /** + * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest; + + /** + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest; + + /** + * Verifies an AsyncBatchAnnotateImagesRequest message. + * @param message Plain 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 AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest; + + /** + * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateImagesResponse. */ + interface IAsyncBatchAnnotateImagesResponse { + + /** AsyncBatchAnnotateImagesResponse outputConfig */ + outputConfig?: (google.cloud.vision.v1.IOutputConfig|null); + } + + /** Represents an AsyncBatchAnnotateImagesResponse. */ + class AsyncBatchAnnotateImagesResponse implements IAsyncBatchAnnotateImagesResponse { + + /** + * Constructs a new AsyncBatchAnnotateImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse); + + /** AsyncBatchAnnotateImagesResponse outputConfig. */ + public outputConfig?: (google.cloud.vision.v1.IOutputConfig|null); + + /** + * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse): google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse; + + /** + * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse; + + /** + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse; + + /** + * Verifies an AsyncBatchAnnotateImagesResponse message. + * @param message Plain 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 AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse; + + /** + * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateFilesRequest. */ + interface IAsyncBatchAnnotateFilesRequest { + + /** AsyncBatchAnnotateFilesRequest requests */ + requests?: (google.cloud.vision.v1.IAsyncAnnotateFileRequest[]|null); + + /** AsyncBatchAnnotateFilesRequest parent */ + parent?: (string|null); + } + + /** Represents an AsyncBatchAnnotateFilesRequest. */ + class AsyncBatchAnnotateFilesRequest implements IAsyncBatchAnnotateFilesRequest { + + /** + * Constructs a new AsyncBatchAnnotateFilesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest); + + /** AsyncBatchAnnotateFilesRequest requests. */ + public requests: google.cloud.vision.v1.IAsyncAnnotateFileRequest[]; + + /** AsyncBatchAnnotateFilesRequest parent. */ + public parent: string; + + /** + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateFilesRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest): google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest; + + /** + * Verifies an AsyncBatchAnnotateFilesRequest message. + * @param message Plain 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 AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateFilesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateFilesResponse. */ + interface IAsyncBatchAnnotateFilesResponse { + + /** AsyncBatchAnnotateFilesResponse responses */ + responses?: (google.cloud.vision.v1.IAsyncAnnotateFileResponse[]|null); + } + + /** Represents an AsyncBatchAnnotateFilesResponse. */ + class AsyncBatchAnnotateFilesResponse implements IAsyncBatchAnnotateFilesResponse { + + /** + * Constructs a new AsyncBatchAnnotateFilesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse); + + /** AsyncBatchAnnotateFilesResponse responses. */ + public responses: google.cloud.vision.v1.IAsyncAnnotateFileResponse[]; + + /** + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateFilesResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse): google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse; + + /** + * Verifies an AsyncBatchAnnotateFilesResponse message. + * @param message Plain 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 AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateFilesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an InputConfig. */ + interface IInputConfig { + + /** InputConfig gcsSource */ + gcsSource?: (google.cloud.vision.v1.IGcsSource|null); + + /** InputConfig content */ + content?: (Uint8Array|null); + + /** InputConfig mimeType */ + mimeType?: (string|null); + } + + /** Represents an InputConfig. */ + class InputConfig implements IInputConfig { + + /** + * Constructs a new InputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IInputConfig); + + /** InputConfig gcsSource. */ + public gcsSource?: (google.cloud.vision.v1.IGcsSource|null); + + /** InputConfig content. */ + public content: Uint8Array; + + /** InputConfig mimeType. */ + public mimeType: string; + + /** + * Creates a new InputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns InputConfig instance + */ + public static create(properties?: google.cloud.vision.v1.IInputConfig): google.cloud.vision.v1.InputConfig; + + /** + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an InputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.InputConfig; + + /** + * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.InputConfig; + + /** + * Verifies an InputConfig message. + * @param message Plain 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 InputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns InputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.InputConfig; + + /** + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * @param message InputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.InputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this InputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an OutputConfig. */ + interface IOutputConfig { + + /** OutputConfig gcsDestination */ + gcsDestination?: (google.cloud.vision.v1.IGcsDestination|null); + + /** OutputConfig batchSize */ + batchSize?: (number|null); + } + + /** Represents an OutputConfig. */ + class OutputConfig implements IOutputConfig { + + /** + * Constructs a new OutputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IOutputConfig); + + /** OutputConfig gcsDestination. */ + public gcsDestination?: (google.cloud.vision.v1.IGcsDestination|null); + + /** OutputConfig batchSize. */ + public batchSize: number; + + /** + * Creates a new OutputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns OutputConfig instance + */ + public static create(properties?: google.cloud.vision.v1.IOutputConfig): google.cloud.vision.v1.OutputConfig; + + /** + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OutputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.OutputConfig; + + /** + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.OutputConfig; + + /** + * Verifies an OutputConfig message. + * @param message Plain 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 OutputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OutputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.OutputConfig; + + /** + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * @param message OutputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OutputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GcsSource. */ + interface IGcsSource { + + /** GcsSource uri */ + uri?: (string|null); + } + + /** Represents a GcsSource. */ + class GcsSource implements IGcsSource { + + /** + * Constructs a new GcsSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IGcsSource); + + /** GcsSource uri. */ + public uri: string; + + /** + * Creates a new GcsSource instance using the specified properties. + * @param [properties] Properties to set + * @returns GcsSource instance + */ + public static create(properties?: google.cloud.vision.v1.IGcsSource): google.cloud.vision.v1.GcsSource; + + /** + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GcsSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.GcsSource; + + /** + * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.GcsSource; + + /** + * Verifies a GcsSource message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GcsSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.GcsSource; + + /** + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * @param message GcsSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GcsSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GcsDestination. */ + interface IGcsDestination { + + /** GcsDestination uri */ + uri?: (string|null); + } + + /** Represents a GcsDestination. */ + class GcsDestination implements IGcsDestination { + + /** + * Constructs a new GcsDestination. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IGcsDestination); + + /** GcsDestination uri. */ + public uri: string; + + /** + * Creates a new GcsDestination instance using the specified properties. + * @param [properties] Properties to set + * @returns GcsDestination instance + */ + public static create(properties?: google.cloud.vision.v1.IGcsDestination): google.cloud.vision.v1.GcsDestination; + + /** + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GcsDestination message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.GcsDestination; + + /** + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.GcsDestination; + + /** + * Verifies a GcsDestination message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GcsDestination + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.GcsDestination; + + /** + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @param message GcsDestination + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GcsDestination to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { + + /** OperationMetadata state */ + state?: (google.cloud.vision.v1.OperationMetadata.State|null); + + /** OperationMetadata createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { + + /** + * Constructs a new OperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IOperationMetadata); + + /** OperationMetadata state. */ + public state: google.cloud.vision.v1.OperationMetadata.State; + + /** OperationMetadata createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationMetadata instance + */ + public static create(properties?: google.cloud.vision.v1.IOperationMetadata): google.cloud.vision.v1.OperationMetadata; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.OperationMetadata; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.OperationMetadata; + + /** + * Verifies an OperationMetadata message. + * @param message Plain 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 OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.OperationMetadata; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @param message OperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace OperationMetadata { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + CREATED = 1, + RUNNING = 2, + DONE = 3, + CANCELLED = 4 + } + } + + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1.IVertex): google.cloud.vision.v1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedVertex. */ + interface INormalizedVertex { + + /** NormalizedVertex x */ + x?: (number|null); + + /** NormalizedVertex y */ + y?: (number|null); + } + + /** Represents a NormalizedVertex. */ + class NormalizedVertex implements INormalizedVertex { + + /** + * Constructs a new NormalizedVertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.INormalizedVertex); + + /** NormalizedVertex x. */ + public x: number; + + /** NormalizedVertex y. */ + public y: number; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedVertex instance + */ + public static create(properties?: google.cloud.vision.v1.INormalizedVertex): google.cloud.vision.v1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.NormalizedVertex; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.NormalizedVertex; + + /** + * Verifies a NormalizedVertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedVertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.NormalizedVertex; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @param message NormalizedVertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { + + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1.IVertex[]|null); + + /** BoundingPoly normalizedVertices */ + normalizedVertices?: (google.cloud.vision.v1.INormalizedVertex[]|null); + } + + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { + + /** + * Constructs a new BoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IBoundingPoly); + + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1.IVertex[]; + + /** BoundingPoly normalizedVertices. */ + public normalizedVertices: google.cloud.vision.v1.INormalizedVertex[]; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1.IBoundingPoly): google.cloud.vision.v1.BoundingPoly; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.BoundingPoly; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.BoundingPoly; + + /** + * Verifies a BoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.BoundingPoly; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Position. */ + interface IPosition { + + /** Position x */ + x?: (number|null); + + /** Position y */ + y?: (number|null); + + /** Position z */ + z?: (number|null); + } + + /** Represents a Position. */ + class Position implements IPosition { + + /** + * Constructs a new Position. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IPosition); + + /** Position x. */ + public x: number; + + /** Position y. */ + public y: number; + + /** Position z. */ + public z: number; + + /** + * Creates a new Position instance using the specified properties. + * @param [properties] Properties to set + * @returns Position instance + */ + public static create(properties?: google.cloud.vision.v1.IPosition): google.cloud.vision.v1.Position; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Position message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Position; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Position; + + /** + * Verifies a Position message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Position + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Position; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Position to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProductSearchParams. */ + interface IProductSearchParams { + + /** ProductSearchParams boundingPoly */ + boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** ProductSearchParams productSet */ + productSet?: (string|null); + + /** ProductSearchParams productCategories */ + productCategories?: (string[]|null); + + /** ProductSearchParams filter */ + filter?: (string|null); + } + + /** Represents a ProductSearchParams. */ + class ProductSearchParams implements IProductSearchParams { + + /** + * Constructs a new ProductSearchParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IProductSearchParams); + + /** ProductSearchParams boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** ProductSearchParams productSet. */ + public productSet: string; + + /** ProductSearchParams productCategories. */ + public productCategories: string[]; + + /** ProductSearchParams filter. */ + public filter: string; + + /** + * Creates a new ProductSearchParams instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSearchParams instance + */ + public static create(properties?: google.cloud.vision.v1.IProductSearchParams): google.cloud.vision.v1.ProductSearchParams; + + /** + * Encodes the specified ProductSearchParams message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchParams.verify|verify} messages. + * @param message ProductSearchParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IProductSearchParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSearchParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchParams.verify|verify} messages. + * @param message ProductSearchParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IProductSearchParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ProductSearchParams; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ProductSearchParams; + + /** + * Verifies a ProductSearchParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSearchParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSearchParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ProductSearchParams; + + /** + * Creates a plain object from a ProductSearchParams message. Also converts values to other types if specified. + * @param message ProductSearchParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ProductSearchParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSearchParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProductSearchResults. */ + interface IProductSearchResults { + + /** ProductSearchResults indexTime */ + indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSearchResults results */ + results?: (google.cloud.vision.v1.ProductSearchResults.IResult[]|null); + + /** ProductSearchResults productGroupedResults */ + productGroupedResults?: (google.cloud.vision.v1.ProductSearchResults.IGroupedResult[]|null); + } + + /** Represents a ProductSearchResults. */ + class ProductSearchResults implements IProductSearchResults { + + /** + * Constructs a new ProductSearchResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IProductSearchResults); + + /** ProductSearchResults indexTime. */ + public indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSearchResults results. */ + public results: google.cloud.vision.v1.ProductSearchResults.IResult[]; + + /** ProductSearchResults productGroupedResults. */ + public productGroupedResults: google.cloud.vision.v1.ProductSearchResults.IGroupedResult[]; + + /** + * Creates a new ProductSearchResults instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSearchResults instance + */ + public static create(properties?: google.cloud.vision.v1.IProductSearchResults): google.cloud.vision.v1.ProductSearchResults; + + /** + * Encodes the specified ProductSearchResults message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.verify|verify} messages. + * @param message ProductSearchResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IProductSearchResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSearchResults message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.verify|verify} messages. + * @param message ProductSearchResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IProductSearchResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ProductSearchResults; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ProductSearchResults; + + /** + * Verifies a ProductSearchResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSearchResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSearchResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ProductSearchResults; + + /** + * Creates a plain object from a ProductSearchResults message. Also converts values to other types if specified. + * @param message ProductSearchResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ProductSearchResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSearchResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace ProductSearchResults { + + /** Properties of a Result. */ + interface IResult { + + /** Result product */ + product?: (google.cloud.vision.v1.IProduct|null); + + /** Result score */ + score?: (number|null); + + /** Result image */ + image?: (string|null); + } + + /** Represents a Result. */ + class Result implements IResult { + + /** + * Constructs a new Result. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ProductSearchResults.IResult); + + /** Result product. */ + public product?: (google.cloud.vision.v1.IProduct|null); + + /** Result score. */ + public score: number; + + /** Result image. */ + public image: string; + + /** + * Creates a new Result instance using the specified properties. + * @param [properties] Properties to set + * @returns Result instance + */ + public static create(properties?: google.cloud.vision.v1.ProductSearchResults.IResult): google.cloud.vision.v1.ProductSearchResults.Result; + + /** + * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Result message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ProductSearchResults.Result; + + /** + * Decodes a Result message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ProductSearchResults.Result; + + /** + * Verifies a Result message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Result message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Result + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ProductSearchResults.Result; + + /** + * Creates a plain object from a Result message. Also converts values to other types if specified. + * @param message Result + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ProductSearchResults.Result, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Result to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectAnnotation. */ + interface IObjectAnnotation { + + /** ObjectAnnotation mid */ + mid?: (string|null); + + /** ObjectAnnotation languageCode */ + languageCode?: (string|null); + + /** ObjectAnnotation name */ + name?: (string|null); + + /** ObjectAnnotation score */ + score?: (number|null); + } + + /** Represents an ObjectAnnotation. */ + class ObjectAnnotation implements IObjectAnnotation { + + /** + * Constructs a new ObjectAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation); + + /** ObjectAnnotation mid. */ + public mid: string; + + /** ObjectAnnotation languageCode. */ + public languageCode: string; + + /** ObjectAnnotation name. */ + public name: string; + + /** ObjectAnnotation score. */ + public score: number; + + /** + * Creates a new ObjectAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns ObjectAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation): google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation; + + /** + * Encodes the specified ObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @param message ObjectAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @param message ObjectAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ObjectAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation; + + /** + * Decodes an ObjectAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation; + + /** + * Verifies an ObjectAnnotation message. + * @param message Plain 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 ObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ObjectAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation; + + /** + * Creates a plain object from an ObjectAnnotation message. Also converts values to other types if specified. + * @param message ObjectAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ObjectAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GroupedResult. */ + interface IGroupedResult { + + /** GroupedResult boundingPoly */ + boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** GroupedResult results */ + results?: (google.cloud.vision.v1.ProductSearchResults.IResult[]|null); + + /** GroupedResult objectAnnotations */ + objectAnnotations?: (google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation[]|null); + } + + /** Represents a GroupedResult. */ + class GroupedResult implements IGroupedResult { + + /** + * Constructs a new GroupedResult. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ProductSearchResults.IGroupedResult); + + /** GroupedResult boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** GroupedResult results. */ + public results: google.cloud.vision.v1.ProductSearchResults.IResult[]; + + /** GroupedResult objectAnnotations. */ + public objectAnnotations: google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation[]; + + /** + * Creates a new GroupedResult instance using the specified properties. + * @param [properties] Properties to set + * @returns GroupedResult instance + */ + public static create(properties?: google.cloud.vision.v1.ProductSearchResults.IGroupedResult): google.cloud.vision.v1.ProductSearchResults.GroupedResult; + + /** + * Encodes the specified GroupedResult message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @param message GroupedResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ProductSearchResults.IGroupedResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GroupedResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @param message GroupedResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ProductSearchResults.IGroupedResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GroupedResult message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ProductSearchResults.GroupedResult; + + /** + * Decodes a GroupedResult message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ProductSearchResults.GroupedResult; + + /** + * Verifies a GroupedResult message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GroupedResult message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GroupedResult + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ProductSearchResults.GroupedResult; + + /** + * Creates a plain object from a GroupedResult message. Also converts values to other types if specified. + * @param message GroupedResult + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ProductSearchResults.GroupedResult, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GroupedResult to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Represents a ProductSearch */ + class ProductSearch extends $protobuf.rpc.Service { + + /** + * Constructs a new ProductSearch 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 ProductSearch 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): ProductSearch; + + /** + * Calls CreateProductSet. + * @param request CreateProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductSet + */ + public createProductSet(request: google.cloud.vision.v1.ICreateProductSetRequest, callback: google.cloud.vision.v1.ProductSearch.CreateProductSetCallback): void; + + /** + * Calls CreateProductSet. + * @param request CreateProductSetRequest message or plain object + * @returns Promise + */ + public createProductSet(request: google.cloud.vision.v1.ICreateProductSetRequest): Promise; + + /** + * Calls ListProductSets. + * @param request ListProductSetsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductSetsResponse + */ + public listProductSets(request: google.cloud.vision.v1.IListProductSetsRequest, callback: google.cloud.vision.v1.ProductSearch.ListProductSetsCallback): void; + + /** + * Calls ListProductSets. + * @param request ListProductSetsRequest message or plain object + * @returns Promise + */ + public listProductSets(request: google.cloud.vision.v1.IListProductSetsRequest): Promise; + + /** + * Calls GetProductSet. + * @param request GetProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductSet + */ + public getProductSet(request: google.cloud.vision.v1.IGetProductSetRequest, callback: google.cloud.vision.v1.ProductSearch.GetProductSetCallback): void; + + /** + * Calls GetProductSet. + * @param request GetProductSetRequest message or plain object + * @returns Promise + */ + public getProductSet(request: google.cloud.vision.v1.IGetProductSetRequest): Promise; + + /** + * Calls UpdateProductSet. + * @param request UpdateProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductSet + */ + public updateProductSet(request: google.cloud.vision.v1.IUpdateProductSetRequest, callback: google.cloud.vision.v1.ProductSearch.UpdateProductSetCallback): void; + + /** + * Calls UpdateProductSet. + * @param request UpdateProductSetRequest message or plain object + * @returns Promise + */ + public updateProductSet(request: google.cloud.vision.v1.IUpdateProductSetRequest): Promise; + + /** + * Calls DeleteProductSet. + * @param request DeleteProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteProductSet(request: google.cloud.vision.v1.IDeleteProductSetRequest, callback: google.cloud.vision.v1.ProductSearch.DeleteProductSetCallback): void; + + /** + * Calls DeleteProductSet. + * @param request DeleteProductSetRequest message or plain object + * @returns Promise + */ + public deleteProductSet(request: google.cloud.vision.v1.IDeleteProductSetRequest): Promise; + + /** + * Calls CreateProduct. + * @param request CreateProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public createProduct(request: google.cloud.vision.v1.ICreateProductRequest, callback: google.cloud.vision.v1.ProductSearch.CreateProductCallback): void; + + /** + * Calls CreateProduct. + * @param request CreateProductRequest message or plain object + * @returns Promise + */ + public createProduct(request: google.cloud.vision.v1.ICreateProductRequest): Promise; + + /** + * Calls ListProducts. + * @param request ListProductsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductsResponse + */ + public listProducts(request: google.cloud.vision.v1.IListProductsRequest, callback: google.cloud.vision.v1.ProductSearch.ListProductsCallback): void; + + /** + * Calls ListProducts. + * @param request ListProductsRequest message or plain object + * @returns Promise + */ + public listProducts(request: google.cloud.vision.v1.IListProductsRequest): Promise; + + /** + * Calls GetProduct. + * @param request GetProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public getProduct(request: google.cloud.vision.v1.IGetProductRequest, callback: google.cloud.vision.v1.ProductSearch.GetProductCallback): void; + + /** + * Calls GetProduct. + * @param request GetProductRequest message or plain object + * @returns Promise + */ + public getProduct(request: google.cloud.vision.v1.IGetProductRequest): Promise; + + /** + * Calls UpdateProduct. + * @param request UpdateProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public updateProduct(request: google.cloud.vision.v1.IUpdateProductRequest, callback: google.cloud.vision.v1.ProductSearch.UpdateProductCallback): void; + + /** + * Calls UpdateProduct. + * @param request UpdateProductRequest message or plain object + * @returns Promise + */ + public updateProduct(request: google.cloud.vision.v1.IUpdateProductRequest): Promise; + + /** + * Calls DeleteProduct. + * @param request DeleteProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteProduct(request: google.cloud.vision.v1.IDeleteProductRequest, callback: google.cloud.vision.v1.ProductSearch.DeleteProductCallback): void; + + /** + * Calls DeleteProduct. + * @param request DeleteProductRequest message or plain object + * @returns Promise + */ + public deleteProduct(request: google.cloud.vision.v1.IDeleteProductRequest): Promise; + + /** + * Calls CreateReferenceImage. + * @param request CreateReferenceImageRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ReferenceImage + */ + public createReferenceImage(request: google.cloud.vision.v1.ICreateReferenceImageRequest, callback: google.cloud.vision.v1.ProductSearch.CreateReferenceImageCallback): void; + + /** + * Calls CreateReferenceImage. + * @param request CreateReferenceImageRequest message or plain object + * @returns Promise + */ + public createReferenceImage(request: google.cloud.vision.v1.ICreateReferenceImageRequest): Promise; + + /** + * Calls DeleteReferenceImage. + * @param request DeleteReferenceImageRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteReferenceImage(request: google.cloud.vision.v1.IDeleteReferenceImageRequest, callback: google.cloud.vision.v1.ProductSearch.DeleteReferenceImageCallback): void; + + /** + * Calls DeleteReferenceImage. + * @param request DeleteReferenceImageRequest message or plain object + * @returns Promise + */ + public deleteReferenceImage(request: google.cloud.vision.v1.IDeleteReferenceImageRequest): Promise; + + /** + * Calls ListReferenceImages. + * @param request ListReferenceImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListReferenceImagesResponse + */ + public listReferenceImages(request: google.cloud.vision.v1.IListReferenceImagesRequest, callback: google.cloud.vision.v1.ProductSearch.ListReferenceImagesCallback): void; + + /** + * Calls ListReferenceImages. + * @param request ListReferenceImagesRequest message or plain object + * @returns Promise + */ + public listReferenceImages(request: google.cloud.vision.v1.IListReferenceImagesRequest): Promise; + + /** + * Calls GetReferenceImage. + * @param request GetReferenceImageRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ReferenceImage + */ + public getReferenceImage(request: google.cloud.vision.v1.IGetReferenceImageRequest, callback: google.cloud.vision.v1.ProductSearch.GetReferenceImageCallback): void; + + /** + * Calls GetReferenceImage. + * @param request GetReferenceImageRequest message or plain object + * @returns Promise + */ + public getReferenceImage(request: google.cloud.vision.v1.IGetReferenceImageRequest): Promise; + + /** + * Calls AddProductToProductSet. + * @param request AddProductToProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public addProductToProductSet(request: google.cloud.vision.v1.IAddProductToProductSetRequest, callback: google.cloud.vision.v1.ProductSearch.AddProductToProductSetCallback): void; + + /** + * Calls AddProductToProductSet. + * @param request AddProductToProductSetRequest message or plain object + * @returns Promise + */ + public addProductToProductSet(request: google.cloud.vision.v1.IAddProductToProductSetRequest): Promise; + + /** + * Calls RemoveProductFromProductSet. + * @param request RemoveProductFromProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public removeProductFromProductSet(request: google.cloud.vision.v1.IRemoveProductFromProductSetRequest, callback: google.cloud.vision.v1.ProductSearch.RemoveProductFromProductSetCallback): void; + + /** + * Calls RemoveProductFromProductSet. + * @param request RemoveProductFromProductSetRequest message or plain object + * @returns Promise + */ + public removeProductFromProductSet(request: google.cloud.vision.v1.IRemoveProductFromProductSetRequest): Promise; + + /** + * Calls ListProductsInProductSet. + * @param request ListProductsInProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductsInProductSetResponse + */ + public listProductsInProductSet(request: google.cloud.vision.v1.IListProductsInProductSetRequest, callback: google.cloud.vision.v1.ProductSearch.ListProductsInProductSetCallback): void; + + /** + * Calls ListProductsInProductSet. + * @param request ListProductsInProductSetRequest message or plain object + * @returns Promise + */ + public listProductsInProductSet(request: google.cloud.vision.v1.IListProductsInProductSetRequest): Promise; + + /** + * Calls ImportProductSets. + * @param request ImportProductSetsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public importProductSets(request: google.cloud.vision.v1.IImportProductSetsRequest, callback: google.cloud.vision.v1.ProductSearch.ImportProductSetsCallback): void; + + /** + * Calls ImportProductSets. + * @param request ImportProductSetsRequest message or plain object + * @returns Promise + */ + public importProductSets(request: google.cloud.vision.v1.IImportProductSetsRequest): Promise; + + /** + * Calls PurgeProducts. + * @param request PurgeProductsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public purgeProducts(request: google.cloud.vision.v1.IPurgeProductsRequest, callback: google.cloud.vision.v1.ProductSearch.PurgeProductsCallback): void; + + /** + * Calls PurgeProducts. + * @param request PurgeProductsRequest message or plain object + * @returns Promise + */ + public purgeProducts(request: google.cloud.vision.v1.IPurgeProductsRequest): Promise; + } + + namespace ProductSearch { + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createProductSet}. + * @param error Error, if any + * @param [response] ProductSet + */ + type CreateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1.ProductSet) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProductSets}. + * @param error Error, if any + * @param [response] ListProductSetsResponse + */ + type ListProductSetsCallback = (error: (Error|null), response?: google.cloud.vision.v1.ListProductSetsResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getProductSet}. + * @param error Error, if any + * @param [response] ProductSet + */ + type GetProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1.ProductSet) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#updateProductSet}. + * @param error Error, if any + * @param [response] ProductSet + */ + type UpdateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1.ProductSet) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteProductSet}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createProduct}. + * @param error Error, if any + * @param [response] Product + */ + type CreateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1.Product) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProducts}. + * @param error Error, if any + * @param [response] ListProductsResponse + */ + type ListProductsCallback = (error: (Error|null), response?: google.cloud.vision.v1.ListProductsResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getProduct}. + * @param error Error, if any + * @param [response] Product + */ + type GetProductCallback = (error: (Error|null), response?: google.cloud.vision.v1.Product) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#updateProduct}. + * @param error Error, if any + * @param [response] Product + */ + type UpdateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1.Product) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteProduct}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteProductCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createReferenceImage}. + * @param error Error, if any + * @param [response] ReferenceImage + */ + type CreateReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1.ReferenceImage) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteReferenceImage}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteReferenceImageCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listReferenceImages}. + * @param error Error, if any + * @param [response] ListReferenceImagesResponse + */ + type ListReferenceImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1.ListReferenceImagesResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getReferenceImage}. + * @param error Error, if any + * @param [response] ReferenceImage + */ + type GetReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1.ReferenceImage) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#addProductToProductSet}. + * @param error Error, if any + * @param [response] Empty + */ + type AddProductToProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#removeProductFromProductSet}. + * @param error Error, if any + * @param [response] Empty + */ + type RemoveProductFromProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProductsInProductSet}. + * @param error Error, if any + * @param [response] ListProductsInProductSetResponse + */ + type ListProductsInProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1.ListProductsInProductSetResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#importProductSets}. + * @param error Error, if any + * @param [response] Operation + */ + type ImportProductSetsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#purgeProducts}. + * @param error Error, if any + * @param [response] Operation + */ + type PurgeProductsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of a Product. */ + interface IProduct { + + /** Product name */ + name?: (string|null); + + /** Product displayName */ + displayName?: (string|null); + + /** Product description */ + description?: (string|null); + + /** Product productCategory */ + productCategory?: (string|null); + + /** Product productLabels */ + productLabels?: (google.cloud.vision.v1.Product.IKeyValue[]|null); + } + + /** Represents a Product. */ + class Product implements IProduct { + + /** + * Constructs a new Product. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IProduct); + + /** Product name. */ + public name: string; + + /** Product displayName. */ + public displayName: string; + + /** Product description. */ + public description: string; + + /** Product productCategory. */ + public productCategory: string; + + /** Product productLabels. */ + public productLabels: google.cloud.vision.v1.Product.IKeyValue[]; + + /** + * Creates a new Product instance using the specified properties. + * @param [properties] Properties to set + * @returns Product instance + */ + public static create(properties?: google.cloud.vision.v1.IProduct): google.cloud.vision.v1.Product; + + /** + * Encodes the specified Product message. Does not implicitly {@link google.cloud.vision.v1.Product.verify|verify} messages. + * @param message Product message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Product.verify|verify} messages. + * @param message Product message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Product message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Product; + + /** + * Decodes a Product message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Product; + + /** + * Verifies a Product message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Product message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Product + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Product; + + /** + * Creates a plain object from a Product message. Also converts values to other types if specified. + * @param message Product + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Product, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Product to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Product { + + /** Properties of a KeyValue. */ + interface IKeyValue { + + /** KeyValue key */ + key?: (string|null); + + /** KeyValue value */ + value?: (string|null); + } + + /** Represents a KeyValue. */ + class KeyValue implements IKeyValue { + + /** + * Constructs a new KeyValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.Product.IKeyValue); + + /** KeyValue key. */ + public key: string; + + /** KeyValue value. */ + public value: string; + + /** + * Creates a new KeyValue instance using the specified properties. + * @param [properties] Properties to set + * @returns KeyValue instance + */ + public static create(properties?: google.cloud.vision.v1.Product.IKeyValue): google.cloud.vision.v1.Product.KeyValue; + + /** + * Encodes the specified KeyValue message. Does not implicitly {@link google.cloud.vision.v1.Product.KeyValue.verify|verify} messages. + * @param message KeyValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.Product.IKeyValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified KeyValue message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Product.KeyValue.verify|verify} messages. + * @param message KeyValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.Product.IKeyValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a KeyValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Product.KeyValue; + + /** + * Decodes a KeyValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Product.KeyValue; + + /** + * Verifies a KeyValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a KeyValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns KeyValue + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Product.KeyValue; + + /** + * Creates a plain object from a KeyValue message. Also converts values to other types if specified. + * @param message KeyValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Product.KeyValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this KeyValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a ProductSet. */ + interface IProductSet { + + /** ProductSet name */ + name?: (string|null); + + /** ProductSet displayName */ + displayName?: (string|null); + + /** ProductSet indexTime */ + indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSet indexError */ + indexError?: (google.rpc.IStatus|null); + } + + /** Represents a ProductSet. */ + class ProductSet implements IProductSet { + + /** + * Constructs a new ProductSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IProductSet); + + /** ProductSet name. */ + public name: string; + + /** ProductSet displayName. */ + public displayName: string; + + /** ProductSet indexTime. */ + public indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSet indexError. */ + public indexError?: (google.rpc.IStatus|null); + + /** + * Creates a new ProductSet instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSet instance + */ + public static create(properties?: google.cloud.vision.v1.IProductSet): google.cloud.vision.v1.ProductSet; + + /** + * Encodes the specified ProductSet message. Does not implicitly {@link google.cloud.vision.v1.ProductSet.verify|verify} messages. + * @param message ProductSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IProductSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSet message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSet.verify|verify} messages. + * @param message ProductSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IProductSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ProductSet; + + /** + * Decodes a ProductSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ProductSet; + + /** + * Verifies a ProductSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSet + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ProductSet; + + /** + * Creates a plain object from a ProductSet message. Also converts values to other types if specified. + * @param message ProductSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ProductSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ReferenceImage. */ + interface IReferenceImage { + + /** ReferenceImage name */ + name?: (string|null); + + /** ReferenceImage uri */ + uri?: (string|null); + + /** ReferenceImage boundingPolys */ + boundingPolys?: (google.cloud.vision.v1.IBoundingPoly[]|null); + } + + /** Represents a ReferenceImage. */ + class ReferenceImage implements IReferenceImage { + + /** + * Constructs a new ReferenceImage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IReferenceImage); + + /** ReferenceImage name. */ + public name: string; + + /** ReferenceImage uri. */ + public uri: string; + + /** ReferenceImage boundingPolys. */ + public boundingPolys: google.cloud.vision.v1.IBoundingPoly[]; + + /** + * Creates a new ReferenceImage instance using the specified properties. + * @param [properties] Properties to set + * @returns ReferenceImage instance + */ + public static create(properties?: google.cloud.vision.v1.IReferenceImage): google.cloud.vision.v1.ReferenceImage; + + /** + * Encodes the specified ReferenceImage message. Does not implicitly {@link google.cloud.vision.v1.ReferenceImage.verify|verify} messages. + * @param message ReferenceImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IReferenceImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReferenceImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ReferenceImage.verify|verify} messages. + * @param message ReferenceImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IReferenceImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ReferenceImage; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ReferenceImage; + + /** + * Verifies a ReferenceImage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReferenceImage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReferenceImage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ReferenceImage; + + /** + * Creates a plain object from a ReferenceImage message. Also converts values to other types if specified. + * @param message ReferenceImage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ReferenceImage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReferenceImage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CreateProductRequest. */ + interface ICreateProductRequest { + + /** CreateProductRequest parent */ + parent?: (string|null); + + /** CreateProductRequest product */ + product?: (google.cloud.vision.v1.IProduct|null); + + /** CreateProductRequest productId */ + productId?: (string|null); + } + + /** Represents a CreateProductRequest. */ + class CreateProductRequest implements ICreateProductRequest { + + /** + * Constructs a new CreateProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ICreateProductRequest); + + /** CreateProductRequest parent. */ + public parent: string; + + /** CreateProductRequest product. */ + public product?: (google.cloud.vision.v1.IProduct|null); + + /** CreateProductRequest productId. */ + public productId: string; + + /** + * Creates a new CreateProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1.ICreateProductRequest): google.cloud.vision.v1.CreateProductRequest; + + /** + * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.vision.v1.CreateProductRequest.verify|verify} messages. + * @param message CreateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CreateProductRequest.verify|verify} messages. + * @param message CreateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.CreateProductRequest; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.CreateProductRequest; + + /** + * Verifies a CreateProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.CreateProductRequest; + + /** + * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified. + * @param message CreateProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.CreateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsRequest. */ + interface IListProductsRequest { + + /** ListProductsRequest parent */ + parent?: (string|null); + + /** ListProductsRequest pageSize */ + pageSize?: (number|null); + + /** ListProductsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductsRequest. */ + class ListProductsRequest implements IListProductsRequest { + + /** + * Constructs a new ListProductsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IListProductsRequest); + + /** ListProductsRequest parent. */ + public parent: string; + + /** ListProductsRequest pageSize. */ + public pageSize: number; + + /** ListProductsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IListProductsRequest): google.cloud.vision.v1.ListProductsRequest; + + /** + * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.vision.v1.ListProductsRequest.verify|verify} messages. + * @param message ListProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductsRequest.verify|verify} messages. + * @param message ListProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ListProductsRequest; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ListProductsRequest; + + /** + * Verifies a ListProductsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ListProductsRequest; + + /** + * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. + * @param message ListProductsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ListProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsResponse. */ + interface IListProductsResponse { + + /** ListProductsResponse products */ + products?: (google.cloud.vision.v1.IProduct[]|null); + + /** ListProductsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductsResponse. */ + class ListProductsResponse implements IListProductsResponse { + + /** + * Constructs a new ListProductsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IListProductsResponse); + + /** ListProductsResponse products. */ + public products: google.cloud.vision.v1.IProduct[]; + + /** ListProductsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IListProductsResponse): google.cloud.vision.v1.ListProductsResponse; + + /** + * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.vision.v1.ListProductsResponse.verify|verify} messages. + * @param message ListProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductsResponse.verify|verify} messages. + * @param message ListProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ListProductsResponse; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ListProductsResponse; + + /** + * Verifies a ListProductsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ListProductsResponse; + + /** + * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. + * @param message ListProductsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ListProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetProductRequest. */ + interface IGetProductRequest { + + /** GetProductRequest name */ + name?: (string|null); + } + + /** Represents a GetProductRequest. */ + class GetProductRequest implements IGetProductRequest { + + /** + * Constructs a new GetProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IGetProductRequest); + + /** GetProductRequest name. */ + public name: string; + + /** + * Creates a new GetProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IGetProductRequest): google.cloud.vision.v1.GetProductRequest; + + /** + * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.vision.v1.GetProductRequest.verify|verify} messages. + * @param message GetProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GetProductRequest.verify|verify} messages. + * @param message GetProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.GetProductRequest; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.GetProductRequest; + + /** + * Verifies a GetProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.GetProductRequest; + + /** + * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. + * @param message GetProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.GetProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an UpdateProductRequest. */ + interface IUpdateProductRequest { + + /** UpdateProductRequest product */ + product?: (google.cloud.vision.v1.IProduct|null); + + /** UpdateProductRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateProductRequest. */ + class UpdateProductRequest implements IUpdateProductRequest { + + /** + * Constructs a new UpdateProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IUpdateProductRequest); + + /** UpdateProductRequest product. */ + public product?: (google.cloud.vision.v1.IProduct|null); + + /** UpdateProductRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IUpdateProductRequest): google.cloud.vision.v1.UpdateProductRequest; + + /** + * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.vision.v1.UpdateProductRequest.verify|verify} messages. + * @param message UpdateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.UpdateProductRequest.verify|verify} messages. + * @param message UpdateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.UpdateProductRequest; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.UpdateProductRequest; + + /** + * Verifies an UpdateProductRequest message. + * @param message Plain 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 UpdateProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.UpdateProductRequest; + + /** + * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified. + * @param message UpdateProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.UpdateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteProductRequest. */ + interface IDeleteProductRequest { + + /** DeleteProductRequest name */ + name?: (string|null); + } + + /** Represents a DeleteProductRequest. */ + class DeleteProductRequest implements IDeleteProductRequest { + + /** + * Constructs a new DeleteProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IDeleteProductRequest); + + /** DeleteProductRequest name. */ + public name: string; + + /** + * Creates a new DeleteProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IDeleteProductRequest): google.cloud.vision.v1.DeleteProductRequest; + + /** + * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.vision.v1.DeleteProductRequest.verify|verify} messages. + * @param message DeleteProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DeleteProductRequest.verify|verify} messages. + * @param message DeleteProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.DeleteProductRequest; + + /** + * Decodes a DeleteProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.DeleteProductRequest; + + /** + * Verifies a DeleteProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.DeleteProductRequest; + + /** + * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified. + * @param message DeleteProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.DeleteProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CreateProductSetRequest. */ + interface ICreateProductSetRequest { + + /** CreateProductSetRequest parent */ + parent?: (string|null); + + /** CreateProductSetRequest productSet */ + productSet?: (google.cloud.vision.v1.IProductSet|null); + + /** CreateProductSetRequest productSetId */ + productSetId?: (string|null); + } + + /** Represents a CreateProductSetRequest. */ + class CreateProductSetRequest implements ICreateProductSetRequest { + + /** + * Constructs a new CreateProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ICreateProductSetRequest); + + /** CreateProductSetRequest parent. */ + public parent: string; + + /** CreateProductSetRequest productSet. */ + public productSet?: (google.cloud.vision.v1.IProductSet|null); + + /** CreateProductSetRequest productSetId. */ + public productSetId: string; + + /** + * Creates a new CreateProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1.ICreateProductSetRequest): google.cloud.vision.v1.CreateProductSetRequest; + + /** + * Encodes the specified CreateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.CreateProductSetRequest.verify|verify} messages. + * @param message CreateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ICreateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CreateProductSetRequest.verify|verify} messages. + * @param message CreateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ICreateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.CreateProductSetRequest; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.CreateProductSetRequest; + + /** + * Verifies a CreateProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.CreateProductSetRequest; + + /** + * Creates a plain object from a CreateProductSetRequest message. Also converts values to other types if specified. + * @param message CreateProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.CreateProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductSetsRequest. */ + interface IListProductSetsRequest { + + /** ListProductSetsRequest parent */ + parent?: (string|null); + + /** ListProductSetsRequest pageSize */ + pageSize?: (number|null); + + /** ListProductSetsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductSetsRequest. */ + class ListProductSetsRequest implements IListProductSetsRequest { + + /** + * Constructs a new ListProductSetsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IListProductSetsRequest); + + /** ListProductSetsRequest parent. */ + public parent: string; + + /** ListProductSetsRequest pageSize. */ + public pageSize: number; + + /** ListProductSetsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductSetsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductSetsRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IListProductSetsRequest): google.cloud.vision.v1.ListProductSetsRequest; + + /** + * Encodes the specified ListProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1.ListProductSetsRequest.verify|verify} messages. + * @param message ListProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IListProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductSetsRequest.verify|verify} messages. + * @param message ListProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IListProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductSetsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ListProductSetsRequest; + + /** + * Decodes a ListProductSetsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ListProductSetsRequest; + + /** + * Verifies a ListProductSetsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductSetsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ListProductSetsRequest; + + /** + * Creates a plain object from a ListProductSetsRequest message. Also converts values to other types if specified. + * @param message ListProductSetsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ListProductSetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductSetsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductSetsResponse. */ + interface IListProductSetsResponse { + + /** ListProductSetsResponse productSets */ + productSets?: (google.cloud.vision.v1.IProductSet[]|null); + + /** ListProductSetsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductSetsResponse. */ + class ListProductSetsResponse implements IListProductSetsResponse { + + /** + * Constructs a new ListProductSetsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IListProductSetsResponse); + + /** ListProductSetsResponse productSets. */ + public productSets: google.cloud.vision.v1.IProductSet[]; + + /** ListProductSetsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductSetsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductSetsResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IListProductSetsResponse): google.cloud.vision.v1.ListProductSetsResponse; + + /** + * Encodes the specified ListProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1.ListProductSetsResponse.verify|verify} messages. + * @param message ListProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IListProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductSetsResponse.verify|verify} messages. + * @param message ListProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IListProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ListProductSetsResponse; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ListProductSetsResponse; + + /** + * Verifies a ListProductSetsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductSetsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ListProductSetsResponse; + + /** + * Creates a plain object from a ListProductSetsResponse message. Also converts values to other types if specified. + * @param message ListProductSetsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ListProductSetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductSetsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetProductSetRequest. */ + interface IGetProductSetRequest { + + /** GetProductSetRequest name */ + name?: (string|null); + } + + /** Represents a GetProductSetRequest. */ + class GetProductSetRequest implements IGetProductSetRequest { + + /** + * Constructs a new GetProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IGetProductSetRequest); + + /** GetProductSetRequest name. */ + public name: string; + + /** + * Creates a new GetProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IGetProductSetRequest): google.cloud.vision.v1.GetProductSetRequest; + + /** + * Encodes the specified GetProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.GetProductSetRequest.verify|verify} messages. + * @param message GetProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IGetProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GetProductSetRequest.verify|verify} messages. + * @param message GetProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IGetProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.GetProductSetRequest; + + /** + * Decodes a GetProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.GetProductSetRequest; + + /** + * Verifies a GetProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.GetProductSetRequest; + + /** + * Creates a plain object from a GetProductSetRequest message. Also converts values to other types if specified. + * @param message GetProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.GetProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an UpdateProductSetRequest. */ + interface IUpdateProductSetRequest { + + /** UpdateProductSetRequest productSet */ + productSet?: (google.cloud.vision.v1.IProductSet|null); + + /** UpdateProductSetRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateProductSetRequest. */ + class UpdateProductSetRequest implements IUpdateProductSetRequest { + + /** + * Constructs a new UpdateProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IUpdateProductSetRequest); + + /** UpdateProductSetRequest productSet. */ + public productSet?: (google.cloud.vision.v1.IProductSet|null); + + /** UpdateProductSetRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IUpdateProductSetRequest): google.cloud.vision.v1.UpdateProductSetRequest; + + /** + * Encodes the specified UpdateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.UpdateProductSetRequest.verify|verify} messages. + * @param message UpdateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IUpdateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.UpdateProductSetRequest.verify|verify} messages. + * @param message UpdateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IUpdateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.UpdateProductSetRequest; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.UpdateProductSetRequest; + + /** + * Verifies an UpdateProductSetRequest message. + * @param message Plain 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 UpdateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.UpdateProductSetRequest; + + /** + * Creates a plain object from an UpdateProductSetRequest message. Also converts values to other types if specified. + * @param message UpdateProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.UpdateProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteProductSetRequest. */ + interface IDeleteProductSetRequest { + + /** DeleteProductSetRequest name */ + name?: (string|null); + } + + /** Represents a DeleteProductSetRequest. */ + class DeleteProductSetRequest implements IDeleteProductSetRequest { + + /** + * Constructs a new DeleteProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IDeleteProductSetRequest); + + /** DeleteProductSetRequest name. */ + public name: string; + + /** + * Creates a new DeleteProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IDeleteProductSetRequest): google.cloud.vision.v1.DeleteProductSetRequest; + + /** + * Encodes the specified DeleteProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.DeleteProductSetRequest.verify|verify} messages. + * @param message DeleteProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IDeleteProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DeleteProductSetRequest.verify|verify} messages. + * @param message DeleteProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IDeleteProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.DeleteProductSetRequest; + + /** + * Decodes a DeleteProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.DeleteProductSetRequest; + + /** + * Verifies a DeleteProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.DeleteProductSetRequest; + + /** + * Creates a plain object from a DeleteProductSetRequest message. Also converts values to other types if specified. + * @param message DeleteProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.DeleteProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CreateReferenceImageRequest. */ + interface ICreateReferenceImageRequest { + + /** CreateReferenceImageRequest parent */ + parent?: (string|null); + + /** CreateReferenceImageRequest referenceImage */ + referenceImage?: (google.cloud.vision.v1.IReferenceImage|null); + + /** CreateReferenceImageRequest referenceImageId */ + referenceImageId?: (string|null); + } + + /** Represents a CreateReferenceImageRequest. */ + class CreateReferenceImageRequest implements ICreateReferenceImageRequest { + + /** + * Constructs a new CreateReferenceImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ICreateReferenceImageRequest); + + /** CreateReferenceImageRequest parent. */ + public parent: string; + + /** CreateReferenceImageRequest referenceImage. */ + public referenceImage?: (google.cloud.vision.v1.IReferenceImage|null); + + /** CreateReferenceImageRequest referenceImageId. */ + public referenceImageId: string; + + /** + * Creates a new CreateReferenceImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateReferenceImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1.ICreateReferenceImageRequest): google.cloud.vision.v1.CreateReferenceImageRequest; + + /** + * Encodes the specified CreateReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1.CreateReferenceImageRequest.verify|verify} messages. + * @param message CreateReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ICreateReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CreateReferenceImageRequest.verify|verify} messages. + * @param message CreateReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ICreateReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.CreateReferenceImageRequest; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.CreateReferenceImageRequest; + + /** + * Verifies a CreateReferenceImageRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateReferenceImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.CreateReferenceImageRequest; + + /** + * Creates a plain object from a CreateReferenceImageRequest message. Also converts values to other types if specified. + * @param message CreateReferenceImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.CreateReferenceImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateReferenceImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListReferenceImagesRequest. */ + interface IListReferenceImagesRequest { + + /** ListReferenceImagesRequest parent */ + parent?: (string|null); + + /** ListReferenceImagesRequest pageSize */ + pageSize?: (number|null); + + /** ListReferenceImagesRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListReferenceImagesRequest. */ + class ListReferenceImagesRequest implements IListReferenceImagesRequest { + + /** + * Constructs a new ListReferenceImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IListReferenceImagesRequest); + + /** ListReferenceImagesRequest parent. */ + public parent: string; + + /** ListReferenceImagesRequest pageSize. */ + public pageSize: number; + + /** ListReferenceImagesRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListReferenceImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListReferenceImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IListReferenceImagesRequest): google.cloud.vision.v1.ListReferenceImagesRequest; + + /** + * Encodes the specified ListReferenceImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.ListReferenceImagesRequest.verify|verify} messages. + * @param message ListReferenceImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IListReferenceImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListReferenceImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListReferenceImagesRequest.verify|verify} messages. + * @param message ListReferenceImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IListReferenceImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ListReferenceImagesRequest; + + /** + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ListReferenceImagesRequest; + + /** + * Verifies a ListReferenceImagesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListReferenceImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListReferenceImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ListReferenceImagesRequest; + + /** + * Creates a plain object from a ListReferenceImagesRequest message. Also converts values to other types if specified. + * @param message ListReferenceImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ListReferenceImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListReferenceImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListReferenceImagesResponse. */ + interface IListReferenceImagesResponse { + + /** ListReferenceImagesResponse referenceImages */ + referenceImages?: (google.cloud.vision.v1.IReferenceImage[]|null); + + /** ListReferenceImagesResponse pageSize */ + pageSize?: (number|null); + + /** ListReferenceImagesResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListReferenceImagesResponse. */ + class ListReferenceImagesResponse implements IListReferenceImagesResponse { + + /** + * Constructs a new ListReferenceImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IListReferenceImagesResponse); + + /** ListReferenceImagesResponse referenceImages. */ + public referenceImages: google.cloud.vision.v1.IReferenceImage[]; + + /** ListReferenceImagesResponse pageSize. */ + public pageSize: number; + + /** ListReferenceImagesResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListReferenceImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListReferenceImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IListReferenceImagesResponse): google.cloud.vision.v1.ListReferenceImagesResponse; + + /** + * Encodes the specified ListReferenceImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.ListReferenceImagesResponse.verify|verify} messages. + * @param message ListReferenceImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IListReferenceImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListReferenceImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListReferenceImagesResponse.verify|verify} messages. + * @param message ListReferenceImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IListReferenceImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ListReferenceImagesResponse; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ListReferenceImagesResponse; + + /** + * Verifies a ListReferenceImagesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListReferenceImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListReferenceImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ListReferenceImagesResponse; + + /** + * Creates a plain object from a ListReferenceImagesResponse message. Also converts values to other types if specified. + * @param message ListReferenceImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ListReferenceImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListReferenceImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetReferenceImageRequest. */ + interface IGetReferenceImageRequest { + + /** GetReferenceImageRequest name */ + name?: (string|null); + } + + /** Represents a GetReferenceImageRequest. */ + class GetReferenceImageRequest implements IGetReferenceImageRequest { + + /** + * Constructs a new GetReferenceImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IGetReferenceImageRequest); + + /** GetReferenceImageRequest name. */ + public name: string; + + /** + * Creates a new GetReferenceImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetReferenceImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IGetReferenceImageRequest): google.cloud.vision.v1.GetReferenceImageRequest; + + /** + * Encodes the specified GetReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1.GetReferenceImageRequest.verify|verify} messages. + * @param message GetReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IGetReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GetReferenceImageRequest.verify|verify} messages. + * @param message GetReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IGetReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetReferenceImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.GetReferenceImageRequest; + + /** + * Decodes a GetReferenceImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.GetReferenceImageRequest; + + /** + * Verifies a GetReferenceImageRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetReferenceImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.GetReferenceImageRequest; + + /** + * Creates a plain object from a GetReferenceImageRequest message. Also converts values to other types if specified. + * @param message GetReferenceImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.GetReferenceImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetReferenceImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteReferenceImageRequest. */ + interface IDeleteReferenceImageRequest { + + /** DeleteReferenceImageRequest name */ + name?: (string|null); + } + + /** Represents a DeleteReferenceImageRequest. */ + class DeleteReferenceImageRequest implements IDeleteReferenceImageRequest { + + /** + * Constructs a new DeleteReferenceImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IDeleteReferenceImageRequest); + + /** DeleteReferenceImageRequest name. */ + public name: string; + + /** + * Creates a new DeleteReferenceImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteReferenceImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IDeleteReferenceImageRequest): google.cloud.vision.v1.DeleteReferenceImageRequest; + + /** + * Encodes the specified DeleteReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1.DeleteReferenceImageRequest.verify|verify} messages. + * @param message DeleteReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IDeleteReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DeleteReferenceImageRequest.verify|verify} messages. + * @param message DeleteReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IDeleteReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.DeleteReferenceImageRequest; + + /** + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.DeleteReferenceImageRequest; + + /** + * Verifies a DeleteReferenceImageRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteReferenceImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.DeleteReferenceImageRequest; + + /** + * Creates a plain object from a DeleteReferenceImageRequest message. Also converts values to other types if specified. + * @param message DeleteReferenceImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.DeleteReferenceImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteReferenceImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AddProductToProductSetRequest. */ + interface IAddProductToProductSetRequest { + + /** AddProductToProductSetRequest name */ + name?: (string|null); + + /** AddProductToProductSetRequest product */ + product?: (string|null); + } + + /** Represents an AddProductToProductSetRequest. */ + class AddProductToProductSetRequest implements IAddProductToProductSetRequest { + + /** + * Constructs a new AddProductToProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IAddProductToProductSetRequest); + + /** AddProductToProductSetRequest name. */ + public name: string; + + /** AddProductToProductSetRequest product. */ + public product: string; + + /** + * Creates a new AddProductToProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AddProductToProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IAddProductToProductSetRequest): google.cloud.vision.v1.AddProductToProductSetRequest; + + /** + * Encodes the specified AddProductToProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.AddProductToProductSetRequest.verify|verify} messages. + * @param message AddProductToProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IAddProductToProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AddProductToProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AddProductToProductSetRequest.verify|verify} messages. + * @param message AddProductToProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IAddProductToProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.AddProductToProductSetRequest; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.AddProductToProductSetRequest; + + /** + * Verifies an AddProductToProductSetRequest message. + * @param message Plain 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 AddProductToProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AddProductToProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.AddProductToProductSetRequest; + + /** + * Creates a plain object from an AddProductToProductSetRequest message. Also converts values to other types if specified. + * @param message AddProductToProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.AddProductToProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AddProductToProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a RemoveProductFromProductSetRequest. */ + interface IRemoveProductFromProductSetRequest { + + /** RemoveProductFromProductSetRequest name */ + name?: (string|null); + + /** RemoveProductFromProductSetRequest product */ + product?: (string|null); + } + + /** Represents a RemoveProductFromProductSetRequest. */ + class RemoveProductFromProductSetRequest implements IRemoveProductFromProductSetRequest { + + /** + * Constructs a new RemoveProductFromProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IRemoveProductFromProductSetRequest); + + /** RemoveProductFromProductSetRequest name. */ + public name: string; + + /** RemoveProductFromProductSetRequest product. */ + public product: string; + + /** + * Creates a new RemoveProductFromProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RemoveProductFromProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IRemoveProductFromProductSetRequest): google.cloud.vision.v1.RemoveProductFromProductSetRequest; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @param message RemoveProductFromProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IRemoveProductFromProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @param message RemoveProductFromProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IRemoveProductFromProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.RemoveProductFromProductSetRequest; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.RemoveProductFromProductSetRequest; + + /** + * Verifies a RemoveProductFromProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RemoveProductFromProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RemoveProductFromProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.RemoveProductFromProductSetRequest; + + /** + * Creates a plain object from a RemoveProductFromProductSetRequest message. Also converts values to other types if specified. + * @param message RemoveProductFromProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.RemoveProductFromProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RemoveProductFromProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsInProductSetRequest. */ + interface IListProductsInProductSetRequest { + + /** ListProductsInProductSetRequest name */ + name?: (string|null); + + /** ListProductsInProductSetRequest pageSize */ + pageSize?: (number|null); + + /** ListProductsInProductSetRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductsInProductSetRequest. */ + class ListProductsInProductSetRequest implements IListProductsInProductSetRequest { + + /** + * Constructs a new ListProductsInProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IListProductsInProductSetRequest); + + /** ListProductsInProductSetRequest name. */ + public name: string; + + /** ListProductsInProductSetRequest pageSize. */ + public pageSize: number; + + /** ListProductsInProductSetRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductsInProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsInProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IListProductsInProductSetRequest): google.cloud.vision.v1.ListProductsInProductSetRequest; + + /** + * Encodes the specified ListProductsInProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.ListProductsInProductSetRequest.verify|verify} messages. + * @param message ListProductsInProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IListProductsInProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsInProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductsInProductSetRequest.verify|verify} messages. + * @param message ListProductsInProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IListProductsInProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ListProductsInProductSetRequest; + + /** + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ListProductsInProductSetRequest; + + /** + * Verifies a ListProductsInProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsInProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsInProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ListProductsInProductSetRequest; + + /** + * Creates a plain object from a ListProductsInProductSetRequest message. Also converts values to other types if specified. + * @param message ListProductsInProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ListProductsInProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsInProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsInProductSetResponse. */ + interface IListProductsInProductSetResponse { + + /** ListProductsInProductSetResponse products */ + products?: (google.cloud.vision.v1.IProduct[]|null); + + /** ListProductsInProductSetResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductsInProductSetResponse. */ + class ListProductsInProductSetResponse implements IListProductsInProductSetResponse { + + /** + * Constructs a new ListProductsInProductSetResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IListProductsInProductSetResponse); + + /** ListProductsInProductSetResponse products. */ + public products: google.cloud.vision.v1.IProduct[]; + + /** ListProductsInProductSetResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductsInProductSetResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsInProductSetResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IListProductsInProductSetResponse): google.cloud.vision.v1.ListProductsInProductSetResponse; + + /** + * Encodes the specified ListProductsInProductSetResponse message. Does not implicitly {@link google.cloud.vision.v1.ListProductsInProductSetResponse.verify|verify} messages. + * @param message ListProductsInProductSetResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IListProductsInProductSetResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsInProductSetResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductsInProductSetResponse.verify|verify} messages. + * @param message ListProductsInProductSetResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IListProductsInProductSetResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ListProductsInProductSetResponse; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ListProductsInProductSetResponse; + + /** + * Verifies a ListProductsInProductSetResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsInProductSetResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsInProductSetResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ListProductsInProductSetResponse; + + /** + * Creates a plain object from a ListProductsInProductSetResponse message. Also converts values to other types if specified. + * @param message ListProductsInProductSetResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ListProductsInProductSetResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsInProductSetResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsGcsSource. */ + interface IImportProductSetsGcsSource { + + /** ImportProductSetsGcsSource csvFileUri */ + csvFileUri?: (string|null); + } + + /** Represents an ImportProductSetsGcsSource. */ + class ImportProductSetsGcsSource implements IImportProductSetsGcsSource { + + /** + * Constructs a new ImportProductSetsGcsSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IImportProductSetsGcsSource); + + /** ImportProductSetsGcsSource csvFileUri. */ + public csvFileUri: string; + + /** + * Creates a new ImportProductSetsGcsSource instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsGcsSource instance + */ + public static create(properties?: google.cloud.vision.v1.IImportProductSetsGcsSource): google.cloud.vision.v1.ImportProductSetsGcsSource; + + /** + * Encodes the specified ImportProductSetsGcsSource message. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsGcsSource.verify|verify} messages. + * @param message ImportProductSetsGcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IImportProductSetsGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsGcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsGcsSource.verify|verify} messages. + * @param message ImportProductSetsGcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IImportProductSetsGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ImportProductSetsGcsSource; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ImportProductSetsGcsSource; + + /** + * Verifies an ImportProductSetsGcsSource message. + * @param message Plain 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 ImportProductSetsGcsSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsGcsSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ImportProductSetsGcsSource; + + /** + * Creates a plain object from an ImportProductSetsGcsSource message. Also converts values to other types if specified. + * @param message ImportProductSetsGcsSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ImportProductSetsGcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsGcsSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsInputConfig. */ + interface IImportProductSetsInputConfig { + + /** ImportProductSetsInputConfig gcsSource */ + gcsSource?: (google.cloud.vision.v1.IImportProductSetsGcsSource|null); + } + + /** Represents an ImportProductSetsInputConfig. */ + class ImportProductSetsInputConfig implements IImportProductSetsInputConfig { + + /** + * Constructs a new ImportProductSetsInputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IImportProductSetsInputConfig); + + /** ImportProductSetsInputConfig gcsSource. */ + public gcsSource?: (google.cloud.vision.v1.IImportProductSetsGcsSource|null); + + /** ImportProductSetsInputConfig source. */ + public source?: "gcsSource"; + + /** + * Creates a new ImportProductSetsInputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsInputConfig instance + */ + public static create(properties?: google.cloud.vision.v1.IImportProductSetsInputConfig): google.cloud.vision.v1.ImportProductSetsInputConfig; + + /** + * Encodes the specified ImportProductSetsInputConfig message. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsInputConfig.verify|verify} messages. + * @param message ImportProductSetsInputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IImportProductSetsInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsInputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsInputConfig.verify|verify} messages. + * @param message ImportProductSetsInputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IImportProductSetsInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ImportProductSetsInputConfig; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ImportProductSetsInputConfig; + + /** + * Verifies an ImportProductSetsInputConfig message. + * @param message Plain 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 ImportProductSetsInputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsInputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ImportProductSetsInputConfig; + + /** + * Creates a plain object from an ImportProductSetsInputConfig message. Also converts values to other types if specified. + * @param message ImportProductSetsInputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ImportProductSetsInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsInputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsRequest. */ + interface IImportProductSetsRequest { + + /** ImportProductSetsRequest parent */ + parent?: (string|null); + + /** ImportProductSetsRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1.IImportProductSetsInputConfig|null); + } + + /** Represents an ImportProductSetsRequest. */ + class ImportProductSetsRequest implements IImportProductSetsRequest { + + /** + * Constructs a new ImportProductSetsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IImportProductSetsRequest); + + /** ImportProductSetsRequest parent. */ + public parent: string; + + /** ImportProductSetsRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1.IImportProductSetsInputConfig|null); + + /** + * Creates a new ImportProductSetsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IImportProductSetsRequest): google.cloud.vision.v1.ImportProductSetsRequest; + + /** + * Encodes the specified ImportProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsRequest.verify|verify} messages. + * @param message ImportProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IImportProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsRequest.verify|verify} messages. + * @param message ImportProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IImportProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ImportProductSetsRequest; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ImportProductSetsRequest; + + /** + * Verifies an ImportProductSetsRequest message. + * @param message Plain 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 ImportProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ImportProductSetsRequest; + + /** + * Creates a plain object from an ImportProductSetsRequest message. Also converts values to other types if specified. + * @param message ImportProductSetsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ImportProductSetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsResponse. */ + interface IImportProductSetsResponse { + + /** ImportProductSetsResponse referenceImages */ + referenceImages?: (google.cloud.vision.v1.IReferenceImage[]|null); + + /** ImportProductSetsResponse statuses */ + statuses?: (google.rpc.IStatus[]|null); + } + + /** Represents an ImportProductSetsResponse. */ + class ImportProductSetsResponse implements IImportProductSetsResponse { + + /** + * Constructs a new ImportProductSetsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IImportProductSetsResponse); + + /** ImportProductSetsResponse referenceImages. */ + public referenceImages: google.cloud.vision.v1.IReferenceImage[]; + + /** ImportProductSetsResponse statuses. */ + public statuses: google.rpc.IStatus[]; + + /** + * Creates a new ImportProductSetsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsResponse instance + */ + public static create(properties?: google.cloud.vision.v1.IImportProductSetsResponse): google.cloud.vision.v1.ImportProductSetsResponse; + + /** + * Encodes the specified ImportProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsResponse.verify|verify} messages. + * @param message ImportProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IImportProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsResponse.verify|verify} messages. + * @param message ImportProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IImportProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ImportProductSetsResponse; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ImportProductSetsResponse; + + /** + * Verifies an ImportProductSetsResponse message. + * @param message Plain 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 ImportProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ImportProductSetsResponse; + + /** + * Creates a plain object from an ImportProductSetsResponse message. Also converts values to other types if specified. + * @param message ImportProductSetsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ImportProductSetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchOperationMetadata. */ + interface IBatchOperationMetadata { + + /** BatchOperationMetadata state */ + state?: (google.cloud.vision.v1.BatchOperationMetadata.State|null); + + /** BatchOperationMetadata submitTime */ + submitTime?: (google.protobuf.ITimestamp|null); + + /** BatchOperationMetadata endTime */ + endTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents a BatchOperationMetadata. */ + class BatchOperationMetadata implements IBatchOperationMetadata { + + /** + * Constructs a new BatchOperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IBatchOperationMetadata); + + /** BatchOperationMetadata state. */ + public state: google.cloud.vision.v1.BatchOperationMetadata.State; + + /** BatchOperationMetadata submitTime. */ + public submitTime?: (google.protobuf.ITimestamp|null); + + /** BatchOperationMetadata endTime. */ + public endTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new BatchOperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchOperationMetadata instance + */ + public static create(properties?: google.cloud.vision.v1.IBatchOperationMetadata): google.cloud.vision.v1.BatchOperationMetadata; + + /** + * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1.BatchOperationMetadata.verify|verify} messages. + * @param message BatchOperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchOperationMetadata.verify|verify} messages. + * @param message BatchOperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.BatchOperationMetadata; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.BatchOperationMetadata; + + /** + * Verifies a BatchOperationMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchOperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.BatchOperationMetadata; + + /** + * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. + * @param message BatchOperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.BatchOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchOperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace BatchOperationMetadata { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + PROCESSING = 1, + SUCCESSFUL = 2, + FAILED = 3, + CANCELLED = 4 + } + } + + /** Properties of a ProductSetPurgeConfig. */ + interface IProductSetPurgeConfig { + + /** ProductSetPurgeConfig productSetId */ + productSetId?: (string|null); + } + + /** Represents a ProductSetPurgeConfig. */ + class ProductSetPurgeConfig implements IProductSetPurgeConfig { + + /** + * Constructs a new ProductSetPurgeConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IProductSetPurgeConfig); + + /** ProductSetPurgeConfig productSetId. */ + public productSetId: string; + + /** + * Creates a new ProductSetPurgeConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSetPurgeConfig instance + */ + public static create(properties?: google.cloud.vision.v1.IProductSetPurgeConfig): google.cloud.vision.v1.ProductSetPurgeConfig; + + /** + * Encodes the specified ProductSetPurgeConfig message. Does not implicitly {@link google.cloud.vision.v1.ProductSetPurgeConfig.verify|verify} messages. + * @param message ProductSetPurgeConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IProductSetPurgeConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSetPurgeConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSetPurgeConfig.verify|verify} messages. + * @param message ProductSetPurgeConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IProductSetPurgeConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSetPurgeConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSetPurgeConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.ProductSetPurgeConfig; + + /** + * Decodes a ProductSetPurgeConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSetPurgeConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.ProductSetPurgeConfig; + + /** + * Verifies a ProductSetPurgeConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSetPurgeConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSetPurgeConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.ProductSetPurgeConfig; + + /** + * Creates a plain object from a ProductSetPurgeConfig message. Also converts values to other types if specified. + * @param message ProductSetPurgeConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.ProductSetPurgeConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSetPurgeConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PurgeProductsRequest. */ + interface IPurgeProductsRequest { + + /** PurgeProductsRequest productSetPurgeConfig */ + productSetPurgeConfig?: (google.cloud.vision.v1.IProductSetPurgeConfig|null); + + /** PurgeProductsRequest deleteOrphanProducts */ + deleteOrphanProducts?: (boolean|null); + + /** PurgeProductsRequest parent */ + parent?: (string|null); + + /** PurgeProductsRequest force */ + force?: (boolean|null); + } + + /** Represents a PurgeProductsRequest. */ + class PurgeProductsRequest implements IPurgeProductsRequest { + + /** + * Constructs a new PurgeProductsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IPurgeProductsRequest); + + /** PurgeProductsRequest productSetPurgeConfig. */ + public productSetPurgeConfig?: (google.cloud.vision.v1.IProductSetPurgeConfig|null); + + /** PurgeProductsRequest deleteOrphanProducts. */ + public deleteOrphanProducts: boolean; + + /** PurgeProductsRequest parent. */ + public parent: string; + + /** PurgeProductsRequest force. */ + public force: boolean; + + /** PurgeProductsRequest target. */ + public target?: ("productSetPurgeConfig"|"deleteOrphanProducts"); + + /** + * Creates a new PurgeProductsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns PurgeProductsRequest instance + */ + public static create(properties?: google.cloud.vision.v1.IPurgeProductsRequest): google.cloud.vision.v1.PurgeProductsRequest; + + /** + * Encodes the specified PurgeProductsRequest message. Does not implicitly {@link google.cloud.vision.v1.PurgeProductsRequest.verify|verify} messages. + * @param message PurgeProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IPurgeProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PurgeProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.PurgeProductsRequest.verify|verify} messages. + * @param message PurgeProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IPurgeProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PurgeProductsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PurgeProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.PurgeProductsRequest; + + /** + * Decodes a PurgeProductsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PurgeProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.PurgeProductsRequest; + + /** + * Verifies a PurgeProductsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PurgeProductsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PurgeProductsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.PurgeProductsRequest; + + /** + * Creates a plain object from a PurgeProductsRequest message. Also converts values to other types if specified. + * @param message PurgeProductsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.PurgeProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PurgeProductsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextAnnotation. */ + interface ITextAnnotation { + + /** TextAnnotation pages */ + pages?: (google.cloud.vision.v1.IPage[]|null); + + /** TextAnnotation text */ + text?: (string|null); + } + + /** Represents a TextAnnotation. */ + class TextAnnotation implements ITextAnnotation { + + /** + * Constructs a new TextAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ITextAnnotation); + + /** TextAnnotation pages. */ + public pages: google.cloud.vision.v1.IPage[]; + + /** TextAnnotation text. */ + public text: string; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns TextAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1.ITextAnnotation): google.cloud.vision.v1.TextAnnotation; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.TextAnnotation; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.TextAnnotation; + + /** + * Verifies a TextAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.TextAnnotation; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @param message TextAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace TextAnnotation { + + /** Properties of a DetectedLanguage. */ + interface IDetectedLanguage { + + /** DetectedLanguage languageCode */ + languageCode?: (string|null); + + /** DetectedLanguage confidence */ + confidence?: (number|null); + } + + /** Represents a DetectedLanguage. */ + class DetectedLanguage implements IDetectedLanguage { + + /** + * Constructs a new DetectedLanguage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.TextAnnotation.IDetectedLanguage); + + /** DetectedLanguage languageCode. */ + public languageCode: string; + + /** DetectedLanguage confidence. */ + public confidence: number; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedLanguage instance + */ + public static create(properties?: google.cloud.vision.v1.TextAnnotation.IDetectedLanguage): google.cloud.vision.v1.TextAnnotation.DetectedLanguage; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.TextAnnotation.DetectedLanguage; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.TextAnnotation.DetectedLanguage; + + /** + * Verifies a DetectedLanguage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedLanguage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.TextAnnotation.DetectedLanguage; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @param message DetectedLanguage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.TextAnnotation.DetectedLanguage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedLanguage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DetectedBreak. */ + interface IDetectedBreak { + + /** DetectedBreak type */ + type?: (google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType|null); + + /** DetectedBreak isPrefix */ + isPrefix?: (boolean|null); + } + + /** Represents a DetectedBreak. */ + class DetectedBreak implements IDetectedBreak { + + /** + * Constructs a new DetectedBreak. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.TextAnnotation.IDetectedBreak); + + /** DetectedBreak type. */ + public type: google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType; + + /** DetectedBreak isPrefix. */ + public isPrefix: boolean; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedBreak instance + */ + public static create(properties?: google.cloud.vision.v1.TextAnnotation.IDetectedBreak): google.cloud.vision.v1.TextAnnotation.DetectedBreak; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.TextAnnotation.DetectedBreak; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.TextAnnotation.DetectedBreak; + + /** + * Verifies a DetectedBreak message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedBreak + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.TextAnnotation.DetectedBreak; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @param message DetectedBreak + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.TextAnnotation.DetectedBreak, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedBreak to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace DetectedBreak { + + /** BreakType enum. */ + enum BreakType { + UNKNOWN = 0, + SPACE = 1, + SURE_SPACE = 2, + EOL_SURE_SPACE = 3, + HYPHEN = 4, + LINE_BREAK = 5 + } + } + + /** Properties of a TextProperty. */ + interface ITextProperty { + + /** TextProperty detectedLanguages */ + detectedLanguages?: (google.cloud.vision.v1.TextAnnotation.IDetectedLanguage[]|null); + + /** TextProperty detectedBreak */ + detectedBreak?: (google.cloud.vision.v1.TextAnnotation.IDetectedBreak|null); + } + + /** Represents a TextProperty. */ + class TextProperty implements ITextProperty { + + /** + * Constructs a new TextProperty. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.TextAnnotation.ITextProperty); + + /** TextProperty detectedLanguages. */ + public detectedLanguages: google.cloud.vision.v1.TextAnnotation.IDetectedLanguage[]; + + /** TextProperty detectedBreak. */ + public detectedBreak?: (google.cloud.vision.v1.TextAnnotation.IDetectedBreak|null); + + /** + * Creates a new TextProperty instance using the specified properties. + * @param [properties] Properties to set + * @returns TextProperty instance + */ + public static create(properties?: google.cloud.vision.v1.TextAnnotation.ITextProperty): google.cloud.vision.v1.TextAnnotation.TextProperty; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.TextAnnotation.TextProperty; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.TextAnnotation.TextProperty; + + /** + * Verifies a TextProperty message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextProperty + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.TextAnnotation.TextProperty; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @param message TextProperty + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.TextAnnotation.TextProperty, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextProperty to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a Page. */ + interface IPage { + + /** Page property */ + property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Page width */ + width?: (number|null); + + /** Page height */ + height?: (number|null); + + /** Page blocks */ + blocks?: (google.cloud.vision.v1.IBlock[]|null); + + /** Page confidence */ + confidence?: (number|null); + } + + /** Represents a Page. */ + class Page implements IPage { + + /** + * Constructs a new Page. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IPage); + + /** Page property. */ + public property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Page width. */ + public width: number; + + /** Page height. */ + public height: number; + + /** Page blocks. */ + public blocks: google.cloud.vision.v1.IBlock[]; + + /** Page confidence. */ + public confidence: number; + + /** + * Creates a new Page instance using the specified properties. + * @param [properties] Properties to set + * @returns Page instance + */ + public static create(properties?: google.cloud.vision.v1.IPage): google.cloud.vision.v1.Page; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Page message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Page; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Page; + + /** + * Verifies a Page message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Page + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Page; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @param message Page + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Page, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Page to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Block. */ + interface IBlock { + + /** Block property */ + property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox */ + boundingBox?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** Block paragraphs */ + paragraphs?: (google.cloud.vision.v1.IParagraph[]|null); + + /** Block blockType */ + blockType?: (google.cloud.vision.v1.Block.BlockType|null); + + /** Block confidence */ + confidence?: (number|null); + } + + /** Represents a Block. */ + class Block implements IBlock { + + /** + * Constructs a new Block. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IBlock); + + /** Block property. */ + public property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox. */ + public boundingBox?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** Block paragraphs. */ + public paragraphs: google.cloud.vision.v1.IParagraph[]; + + /** Block blockType. */ + public blockType: google.cloud.vision.v1.Block.BlockType; + + /** Block confidence. */ + public confidence: number; + + /** + * Creates a new Block instance using the specified properties. + * @param [properties] Properties to set + * @returns Block instance + */ + public static create(properties?: google.cloud.vision.v1.IBlock): google.cloud.vision.v1.Block; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Block message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Block; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Block; + + /** + * Verifies a Block message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Block + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Block; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @param message Block + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Block, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Block to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Block { + + /** BlockType enum. */ + enum BlockType { + UNKNOWN = 0, + TEXT = 1, + TABLE = 2, + PICTURE = 3, + RULER = 4, + BARCODE = 5 + } + } + + /** Properties of a Paragraph. */ + interface IParagraph { + + /** Paragraph property */ + property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox */ + boundingBox?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** Paragraph words */ + words?: (google.cloud.vision.v1.IWord[]|null); + + /** Paragraph confidence */ + confidence?: (number|null); + } + + /** Represents a Paragraph. */ + class Paragraph implements IParagraph { + + /** + * Constructs a new Paragraph. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IParagraph); + + /** Paragraph property. */ + public property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox. */ + public boundingBox?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** Paragraph words. */ + public words: google.cloud.vision.v1.IWord[]; + + /** Paragraph confidence. */ + public confidence: number; + + /** + * Creates a new Paragraph instance using the specified properties. + * @param [properties] Properties to set + * @returns Paragraph instance + */ + public static create(properties?: google.cloud.vision.v1.IParagraph): google.cloud.vision.v1.Paragraph; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Paragraph; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Paragraph; + + /** + * Verifies a Paragraph message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Paragraph + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Paragraph; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @param message Paragraph + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Paragraph, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Paragraph to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Word. */ + interface IWord { + + /** Word property */ + property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox */ + boundingBox?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** Word symbols */ + symbols?: (google.cloud.vision.v1.ISymbol[]|null); + + /** Word confidence */ + confidence?: (number|null); + } + + /** Represents a Word. */ + class Word implements IWord { + + /** + * Constructs a new Word. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IWord); + + /** Word property. */ + public property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox. */ + public boundingBox?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** Word symbols. */ + public symbols: google.cloud.vision.v1.ISymbol[]; + + /** Word confidence. */ + public confidence: number; + + /** + * Creates a new Word instance using the specified properties. + * @param [properties] Properties to set + * @returns Word instance + */ + public static create(properties?: google.cloud.vision.v1.IWord): google.cloud.vision.v1.Word; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Word message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Word; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Word; + + /** + * Verifies a Word message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Word + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Word; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @param message Word + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Word, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Word to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Symbol. */ + interface ISymbol { + + /** Symbol property */ + property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox */ + boundingBox?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** Symbol text */ + text?: (string|null); + + /** Symbol confidence */ + confidence?: (number|null); + } + + /** Represents a Symbol. */ + class Symbol implements ISymbol { + + /** + * Constructs a new Symbol. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ISymbol); + + /** Symbol property. */ + public property?: (google.cloud.vision.v1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox. */ + public boundingBox?: (google.cloud.vision.v1.IBoundingPoly|null); + + /** Symbol text. */ + public text: string; + + /** Symbol confidence. */ + public confidence: number; + + /** + * Creates a new Symbol instance using the specified properties. + * @param [properties] Properties to set + * @returns Symbol instance + */ + public static create(properties?: google.cloud.vision.v1.ISymbol): google.cloud.vision.v1.Symbol; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Symbol; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Symbol; + + /** + * Verifies a Symbol message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Symbol + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Symbol; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @param message Symbol + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Symbol, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Symbol to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetection. */ + interface IWebDetection { + + /** WebDetection webEntities */ + webEntities?: (google.cloud.vision.v1.WebDetection.IWebEntity[]|null); + + /** WebDetection fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1.WebDetection.IWebImage[]|null); + + /** WebDetection partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1.WebDetection.IWebImage[]|null); + + /** WebDetection pagesWithMatchingImages */ + pagesWithMatchingImages?: (google.cloud.vision.v1.WebDetection.IWebPage[]|null); + + /** WebDetection visuallySimilarImages */ + visuallySimilarImages?: (google.cloud.vision.v1.WebDetection.IWebImage[]|null); + + /** WebDetection bestGuessLabels */ + bestGuessLabels?: (google.cloud.vision.v1.WebDetection.IWebLabel[]|null); + } + + /** Represents a WebDetection. */ + class WebDetection implements IWebDetection { + + /** + * Constructs a new WebDetection. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IWebDetection); + + /** WebDetection webEntities. */ + public webEntities: google.cloud.vision.v1.WebDetection.IWebEntity[]; + + /** WebDetection fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1.WebDetection.IWebImage[]; + + /** WebDetection partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1.WebDetection.IWebImage[]; + + /** WebDetection pagesWithMatchingImages. */ + public pagesWithMatchingImages: google.cloud.vision.v1.WebDetection.IWebPage[]; + + /** WebDetection visuallySimilarImages. */ + public visuallySimilarImages: google.cloud.vision.v1.WebDetection.IWebImage[]; + + /** WebDetection bestGuessLabels. */ + public bestGuessLabels: google.cloud.vision.v1.WebDetection.IWebLabel[]; + + /** + * Creates a new WebDetection instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetection instance + */ + public static create(properties?: google.cloud.vision.v1.IWebDetection): google.cloud.vision.v1.WebDetection; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.WebDetection; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.WebDetection; + + /** + * Verifies a WebDetection message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetection + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.WebDetection; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @param message WebDetection + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.WebDetection, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetection to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace WebDetection { + + /** Properties of a WebEntity. */ + interface IWebEntity { + + /** WebEntity entityId */ + entityId?: (string|null); + + /** WebEntity score */ + score?: (number|null); + + /** WebEntity description */ + description?: (string|null); + } + + /** Represents a WebEntity. */ + class WebEntity implements IWebEntity { + + /** + * Constructs a new WebEntity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.WebDetection.IWebEntity); + + /** WebEntity entityId. */ + public entityId: string; + + /** WebEntity score. */ + public score: number; + + /** WebEntity description. */ + public description: string; + + /** + * Creates a new WebEntity instance using the specified properties. + * @param [properties] Properties to set + * @returns WebEntity instance + */ + public static create(properties?: google.cloud.vision.v1.WebDetection.IWebEntity): google.cloud.vision.v1.WebDetection.WebEntity; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.WebDetection.WebEntity; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.WebDetection.WebEntity; + + /** + * Verifies a WebEntity message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebEntity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.WebDetection.WebEntity; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @param message WebEntity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.WebDetection.WebEntity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebEntity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebImage. */ + interface IWebImage { + + /** WebImage url */ + url?: (string|null); + + /** WebImage score */ + score?: (number|null); + } + + /** Represents a WebImage. */ + class WebImage implements IWebImage { + + /** + * Constructs a new WebImage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.WebDetection.IWebImage); + + /** WebImage url. */ + public url: string; + + /** WebImage score. */ + public score: number; + + /** + * Creates a new WebImage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebImage instance + */ + public static create(properties?: google.cloud.vision.v1.WebDetection.IWebImage): google.cloud.vision.v1.WebDetection.WebImage; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.WebDetection.WebImage; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.WebDetection.WebImage; + + /** + * Verifies a WebImage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebImage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.WebDetection.WebImage; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @param message WebImage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.WebDetection.WebImage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebImage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebPage. */ + interface IWebPage { + + /** WebPage url */ + url?: (string|null); + + /** WebPage score */ + score?: (number|null); + + /** WebPage pageTitle */ + pageTitle?: (string|null); + + /** WebPage fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1.WebDetection.IWebImage[]|null); + + /** WebPage partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1.WebDetection.IWebImage[]|null); + } + + /** Represents a WebPage. */ + class WebPage implements IWebPage { + + /** + * Constructs a new WebPage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.WebDetection.IWebPage); + + /** WebPage url. */ + public url: string; + + /** WebPage score. */ + public score: number; + + /** WebPage pageTitle. */ + public pageTitle: string; + + /** WebPage fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1.WebDetection.IWebImage[]; + + /** WebPage partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1.WebDetection.IWebImage[]; + + /** + * Creates a new WebPage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebPage instance + */ + public static create(properties?: google.cloud.vision.v1.WebDetection.IWebPage): google.cloud.vision.v1.WebDetection.WebPage; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.WebDetection.WebPage; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.WebDetection.WebPage; + + /** + * Verifies a WebPage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebPage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.WebDetection.WebPage; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @param message WebPage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.WebDetection.WebPage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebPage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebLabel. */ + interface IWebLabel { + + /** WebLabel label */ + label?: (string|null); + + /** WebLabel languageCode */ + languageCode?: (string|null); + } + + /** Represents a WebLabel. */ + class WebLabel implements IWebLabel { + + /** + * Constructs a new WebLabel. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.WebDetection.IWebLabel); + + /** WebLabel label. */ + public label: string; + + /** WebLabel languageCode. */ + public languageCode: string; + + /** + * Creates a new WebLabel instance using the specified properties. + * @param [properties] Properties to set + * @returns WebLabel instance + */ + public static create(properties?: google.cloud.vision.v1.WebDetection.IWebLabel): google.cloud.vision.v1.WebDetection.WebLabel; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.WebDetection.WebLabel; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.WebDetection.WebLabel; + + /** + * Verifies a WebLabel message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebLabel + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.WebDetection.WebLabel; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @param message WebLabel + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.WebDetection.WebLabel, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebLabel to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + } + + /** Namespace v1p1beta1. */ + namespace v1p1beta1 { + + /** Represents an ImageAnnotator */ + class ImageAnnotator extends $protobuf.rpc.Service { + + /** + * Constructs a new ImageAnnotator 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 ImageAnnotator 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): ImageAnnotator; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + */ + public batchAnnotateImages(request: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, callback: google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImagesCallback): void; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @returns Promise + */ + public batchAnnotateImages(request: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest): Promise; + } + + namespace ImageAnnotator { + + /** + * Callback as used by {@link google.cloud.vision.v1p1beta1.ImageAnnotator#batchAnnotateImages}. + * @param error Error, if any + * @param [response] BatchAnnotateImagesResponse + */ + type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse) => void; + } + + /** Properties of a Feature. */ + interface IFeature { + + /** Feature type */ + type?: (google.cloud.vision.v1p1beta1.Feature.Type|null); + + /** Feature maxResults */ + maxResults?: (number|null); + + /** Feature model */ + model?: (string|null); + } + + /** Represents a Feature. */ + class Feature implements IFeature { + + /** + * Constructs a new Feature. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IFeature); + + /** Feature type. */ + public type: google.cloud.vision.v1p1beta1.Feature.Type; + + /** Feature maxResults. */ + public maxResults: number; + + /** Feature model. */ + public model: string; + + /** + * Creates a new Feature instance using the specified properties. + * @param [properties] Properties to set + * @returns Feature instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IFeature): google.cloud.vision.v1p1beta1.Feature; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Feature; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Feature; + + /** + * Verifies a Feature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Feature + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Feature; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @param message Feature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Feature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Feature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Feature { + + /** Type enum. */ + enum Type { + TYPE_UNSPECIFIED = 0, + FACE_DETECTION = 1, + LANDMARK_DETECTION = 2, + LOGO_DETECTION = 3, + LABEL_DETECTION = 4, + TEXT_DETECTION = 5, + DOCUMENT_TEXT_DETECTION = 11, + SAFE_SEARCH_DETECTION = 6, + IMAGE_PROPERTIES = 7, + CROP_HINTS = 9, + WEB_DETECTION = 10 + } + } + + /** Properties of an ImageSource. */ + interface IImageSource { + + /** ImageSource gcsImageUri */ + gcsImageUri?: (string|null); + + /** ImageSource imageUri */ + imageUri?: (string|null); + } + + /** Represents an ImageSource. */ + class ImageSource implements IImageSource { + + /** + * Constructs a new ImageSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IImageSource); + + /** ImageSource gcsImageUri. */ + public gcsImageUri: string; + + /** ImageSource imageUri. */ + public imageUri: string; + + /** + * Creates a new ImageSource instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageSource instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IImageSource): google.cloud.vision.v1p1beta1.ImageSource; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.ImageSource; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.ImageSource; + + /** + * Verifies an ImageSource message. + * @param message Plain 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 ImageSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.ImageSource; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @param message ImageSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.ImageSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Image. */ + interface IImage { + + /** Image content */ + content?: (Uint8Array|null); + + /** Image source */ + source?: (google.cloud.vision.v1p1beta1.IImageSource|null); + } + + /** Represents an Image. */ + class Image implements IImage { + + /** + * Constructs a new Image. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IImage); + + /** Image content. */ + public content: Uint8Array; + + /** Image source. */ + public source?: (google.cloud.vision.v1p1beta1.IImageSource|null); + + /** + * Creates a new Image instance using the specified properties. + * @param [properties] Properties to set + * @returns Image instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IImage): google.cloud.vision.v1p1beta1.Image; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Image message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Image; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Image; + + /** + * Verifies an Image message. + * @param message Plain 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 Image message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Image + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Image; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @param message Image + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Image, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Image to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceAnnotation. */ + interface IFaceAnnotation { + + /** FaceAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly */ + fdBoundingPoly?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks */ + landmarks?: (google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark[]|null); + + /** FaceAnnotation rollAngle */ + rollAngle?: (number|null); + + /** FaceAnnotation panAngle */ + panAngle?: (number|null); + + /** FaceAnnotation tiltAngle */ + tiltAngle?: (number|null); + + /** FaceAnnotation detectionConfidence */ + detectionConfidence?: (number|null); + + /** FaceAnnotation landmarkingConfidence */ + landmarkingConfidence?: (number|null); + + /** FaceAnnotation joyLikelihood */ + joyLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** FaceAnnotation sorrowLikelihood */ + sorrowLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** FaceAnnotation angerLikelihood */ + angerLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** FaceAnnotation surpriseLikelihood */ + surpriseLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** FaceAnnotation underExposedLikelihood */ + underExposedLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** FaceAnnotation blurredLikelihood */ + blurredLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** FaceAnnotation headwearLikelihood */ + headwearLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + } + + /** Represents a FaceAnnotation. */ + class FaceAnnotation implements IFaceAnnotation { + + /** + * Constructs a new FaceAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IFaceAnnotation); + + /** FaceAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly. */ + public fdBoundingPoly?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks. */ + public landmarks: google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark[]; + + /** FaceAnnotation rollAngle. */ + public rollAngle: number; + + /** FaceAnnotation panAngle. */ + public panAngle: number; + + /** FaceAnnotation tiltAngle. */ + public tiltAngle: number; + + /** FaceAnnotation detectionConfidence. */ + public detectionConfidence: number; + + /** FaceAnnotation landmarkingConfidence. */ + public landmarkingConfidence: number; + + /** FaceAnnotation joyLikelihood. */ + public joyLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + + /** FaceAnnotation sorrowLikelihood. */ + public sorrowLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + + /** FaceAnnotation angerLikelihood. */ + public angerLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + + /** FaceAnnotation surpriseLikelihood. */ + public surpriseLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + + /** FaceAnnotation underExposedLikelihood. */ + public underExposedLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + + /** FaceAnnotation blurredLikelihood. */ + public blurredLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + + /** FaceAnnotation headwearLikelihood. */ + public headwearLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IFaceAnnotation): google.cloud.vision.v1p1beta1.FaceAnnotation; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.FaceAnnotation; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.FaceAnnotation; + + /** + * Verifies a FaceAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.FaceAnnotation; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @param message FaceAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace FaceAnnotation { + + /** Properties of a Landmark. */ + interface ILandmark { + + /** Landmark type */ + type?: (google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type|null); + + /** Landmark position */ + position?: (google.cloud.vision.v1p1beta1.IPosition|null); + } + + /** Represents a Landmark. */ + class Landmark implements ILandmark { + + /** + * Constructs a new Landmark. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark); + + /** Landmark type. */ + public type: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type; + + /** Landmark position. */ + public position?: (google.cloud.vision.v1p1beta1.IPosition|null); + + /** + * Creates a new Landmark instance using the specified properties. + * @param [properties] Properties to set + * @returns Landmark instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark): google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark; + + /** + * Verifies a Landmark message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Landmark + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @param message Landmark + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Landmark to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Landmark { + + /** Type enum. */ + enum Type { + UNKNOWN_LANDMARK = 0, + LEFT_EYE = 1, + RIGHT_EYE = 2, + LEFT_OF_LEFT_EYEBROW = 3, + RIGHT_OF_LEFT_EYEBROW = 4, + LEFT_OF_RIGHT_EYEBROW = 5, + RIGHT_OF_RIGHT_EYEBROW = 6, + MIDPOINT_BETWEEN_EYES = 7, + NOSE_TIP = 8, + UPPER_LIP = 9, + LOWER_LIP = 10, + MOUTH_LEFT = 11, + MOUTH_RIGHT = 12, + MOUTH_CENTER = 13, + NOSE_BOTTOM_RIGHT = 14, + NOSE_BOTTOM_LEFT = 15, + NOSE_BOTTOM_CENTER = 16, + LEFT_EYE_TOP_BOUNDARY = 17, + LEFT_EYE_RIGHT_CORNER = 18, + LEFT_EYE_BOTTOM_BOUNDARY = 19, + LEFT_EYE_LEFT_CORNER = 20, + RIGHT_EYE_TOP_BOUNDARY = 21, + RIGHT_EYE_RIGHT_CORNER = 22, + RIGHT_EYE_BOTTOM_BOUNDARY = 23, + RIGHT_EYE_LEFT_CORNER = 24, + LEFT_EYEBROW_UPPER_MIDPOINT = 25, + RIGHT_EYEBROW_UPPER_MIDPOINT = 26, + LEFT_EAR_TRAGION = 27, + RIGHT_EAR_TRAGION = 28, + LEFT_EYE_PUPIL = 29, + RIGHT_EYE_PUPIL = 30, + FOREHEAD_GLABELLA = 31, + CHIN_GNATHION = 32, + CHIN_LEFT_GONION = 33, + CHIN_RIGHT_GONION = 34 + } + } + } + + /** Properties of a LocationInfo. */ + interface ILocationInfo { + + /** LocationInfo latLng */ + latLng?: (google.type.ILatLng|null); + } + + /** Represents a LocationInfo. */ + class LocationInfo implements ILocationInfo { + + /** + * Constructs a new LocationInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.ILocationInfo); + + /** LocationInfo latLng. */ + public latLng?: (google.type.ILatLng|null); + + /** + * Creates a new LocationInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns LocationInfo instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.ILocationInfo): google.cloud.vision.v1p1beta1.LocationInfo; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p1beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.LocationInfo; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.LocationInfo; + + /** + * Verifies a LocationInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocationInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.LocationInfo; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @param message LocationInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.LocationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocationInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Property. */ + interface IProperty { + + /** Property name */ + name?: (string|null); + + /** Property value */ + value?: (string|null); + + /** Property uint64Value */ + uint64Value?: (number|Long|null); + } + + /** Represents a Property. */ + class Property implements IProperty { + + /** + * Constructs a new Property. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IProperty); + + /** Property name. */ + public name: string; + + /** Property value. */ + public value: string; + + /** Property uint64Value. */ + public uint64Value: (number|Long); + + /** + * Creates a new Property instance using the specified properties. + * @param [properties] Properties to set + * @returns Property instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IProperty): google.cloud.vision.v1p1beta1.Property; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Property message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Property; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Property; + + /** + * Verifies a Property message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Property + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Property; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @param message Property + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Property, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Property to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EntityAnnotation. */ + interface IEntityAnnotation { + + /** EntityAnnotation mid */ + mid?: (string|null); + + /** EntityAnnotation locale */ + locale?: (string|null); + + /** EntityAnnotation description */ + description?: (string|null); + + /** EntityAnnotation score */ + score?: (number|null); + + /** EntityAnnotation confidence */ + confidence?: (number|null); + + /** EntityAnnotation topicality */ + topicality?: (number|null); + + /** EntityAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** EntityAnnotation locations */ + locations?: (google.cloud.vision.v1p1beta1.ILocationInfo[]|null); + + /** EntityAnnotation properties */ + properties?: (google.cloud.vision.v1p1beta1.IProperty[]|null); + } + + /** Represents an EntityAnnotation. */ + class EntityAnnotation implements IEntityAnnotation { + + /** + * Constructs a new EntityAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IEntityAnnotation); + + /** EntityAnnotation mid. */ + public mid: string; + + /** EntityAnnotation locale. */ + public locale: string; + + /** EntityAnnotation description. */ + public description: string; + + /** EntityAnnotation score. */ + public score: number; + + /** EntityAnnotation confidence. */ + public confidence: number; + + /** EntityAnnotation topicality. */ + public topicality: number; + + /** EntityAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** EntityAnnotation locations. */ + public locations: google.cloud.vision.v1p1beta1.ILocationInfo[]; + + /** EntityAnnotation properties. */ + public properties: google.cloud.vision.v1p1beta1.IProperty[]; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns EntityAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IEntityAnnotation): google.cloud.vision.v1p1beta1.EntityAnnotation; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.EntityAnnotation; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.EntityAnnotation; + + /** + * Verifies an EntityAnnotation message. + * @param message Plain 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 EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EntityAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.EntityAnnotation; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @param message EntityAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.EntityAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EntityAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SafeSearchAnnotation. */ + interface ISafeSearchAnnotation { + + /** SafeSearchAnnotation adult */ + adult?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** SafeSearchAnnotation spoof */ + spoof?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** SafeSearchAnnotation medical */ + medical?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** SafeSearchAnnotation violence */ + violence?: (google.cloud.vision.v1p1beta1.Likelihood|null); + + /** SafeSearchAnnotation racy */ + racy?: (google.cloud.vision.v1p1beta1.Likelihood|null); + } + + /** Represents a SafeSearchAnnotation. */ + class SafeSearchAnnotation implements ISafeSearchAnnotation { + + /** + * Constructs a new SafeSearchAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.ISafeSearchAnnotation); + + /** SafeSearchAnnotation adult. */ + public adult: google.cloud.vision.v1p1beta1.Likelihood; + + /** SafeSearchAnnotation spoof. */ + public spoof: google.cloud.vision.v1p1beta1.Likelihood; + + /** SafeSearchAnnotation medical. */ + public medical: google.cloud.vision.v1p1beta1.Likelihood; + + /** SafeSearchAnnotation violence. */ + public violence: google.cloud.vision.v1p1beta1.Likelihood; + + /** SafeSearchAnnotation racy. */ + public racy: google.cloud.vision.v1p1beta1.Likelihood; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns SafeSearchAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.ISafeSearchAnnotation): google.cloud.vision.v1p1beta1.SafeSearchAnnotation; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.SafeSearchAnnotation; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.SafeSearchAnnotation; + + /** + * Verifies a SafeSearchAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SafeSearchAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.SafeSearchAnnotation; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @param message SafeSearchAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.SafeSearchAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LatLongRect. */ + interface ILatLongRect { + + /** LatLongRect minLatLng */ + minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng */ + maxLatLng?: (google.type.ILatLng|null); + } + + /** Represents a LatLongRect. */ + class LatLongRect implements ILatLongRect { + + /** + * Constructs a new LatLongRect. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.ILatLongRect); + + /** LatLongRect minLatLng. */ + public minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng. */ + public maxLatLng?: (google.type.ILatLng|null); + + /** + * Creates a new LatLongRect instance using the specified properties. + * @param [properties] Properties to set + * @returns LatLongRect instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.ILatLongRect): google.cloud.vision.v1p1beta1.LatLongRect; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p1beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.LatLongRect; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.LatLongRect; + + /** + * Verifies a LatLongRect message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LatLongRect + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.LatLongRect; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @param message LatLongRect + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.LatLongRect, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LatLongRect to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ColorInfo. */ + interface IColorInfo { + + /** ColorInfo color */ + color?: (google.type.IColor|null); + + /** ColorInfo score */ + score?: (number|null); + + /** ColorInfo pixelFraction */ + pixelFraction?: (number|null); + } + + /** Represents a ColorInfo. */ + class ColorInfo implements IColorInfo { + + /** + * Constructs a new ColorInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IColorInfo); + + /** ColorInfo color. */ + public color?: (google.type.IColor|null); + + /** ColorInfo score. */ + public score: number; + + /** ColorInfo pixelFraction. */ + public pixelFraction: number; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns ColorInfo instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IColorInfo): google.cloud.vision.v1p1beta1.ColorInfo; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.ColorInfo; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.ColorInfo; + + /** + * Verifies a ColorInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ColorInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.ColorInfo; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @param message ColorInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ColorInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DominantColorsAnnotation. */ + interface IDominantColorsAnnotation { + + /** DominantColorsAnnotation colors */ + colors?: (google.cloud.vision.v1p1beta1.IColorInfo[]|null); + } + + /** Represents a DominantColorsAnnotation. */ + class DominantColorsAnnotation implements IDominantColorsAnnotation { + + /** + * Constructs a new DominantColorsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IDominantColorsAnnotation); + + /** DominantColorsAnnotation colors. */ + public colors: google.cloud.vision.v1p1beta1.IColorInfo[]; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns DominantColorsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IDominantColorsAnnotation): google.cloud.vision.v1p1beta1.DominantColorsAnnotation; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.DominantColorsAnnotation; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.DominantColorsAnnotation; + + /** + * Verifies a DominantColorsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DominantColorsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.DominantColorsAnnotation; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @param message DominantColorsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.DominantColorsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageProperties. */ + interface IImageProperties { + + /** ImageProperties dominantColors */ + dominantColors?: (google.cloud.vision.v1p1beta1.IDominantColorsAnnotation|null); + } + + /** Represents an ImageProperties. */ + class ImageProperties implements IImageProperties { + + /** + * Constructs a new ImageProperties. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IImageProperties); + + /** ImageProperties dominantColors. */ + public dominantColors?: (google.cloud.vision.v1p1beta1.IDominantColorsAnnotation|null); + + /** + * Creates a new ImageProperties instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageProperties instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IImageProperties): google.cloud.vision.v1p1beta1.ImageProperties; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.ImageProperties; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.ImageProperties; + + /** + * Verifies an ImageProperties message. + * @param message Plain 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 ImageProperties message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageProperties + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.ImageProperties; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @param message ImageProperties + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.ImageProperties, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageProperties to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHint. */ + interface ICropHint { + + /** CropHint boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** CropHint confidence */ + confidence?: (number|null); + + /** CropHint importanceFraction */ + importanceFraction?: (number|null); + } + + /** Represents a CropHint. */ + class CropHint implements ICropHint { + + /** + * Constructs a new CropHint. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.ICropHint); + + /** CropHint boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** CropHint confidence. */ + public confidence: number; + + /** CropHint importanceFraction. */ + public importanceFraction: number; + + /** + * Creates a new CropHint instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHint instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.ICropHint): google.cloud.vision.v1p1beta1.CropHint; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.CropHint; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.CropHint; + + /** + * Verifies a CropHint message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHint + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.CropHint; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @param message CropHint + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.CropHint, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHint to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsAnnotation. */ + interface ICropHintsAnnotation { + + /** CropHintsAnnotation cropHints */ + cropHints?: (google.cloud.vision.v1p1beta1.ICropHint[]|null); + } + + /** Represents a CropHintsAnnotation. */ + class CropHintsAnnotation implements ICropHintsAnnotation { + + /** + * Constructs a new CropHintsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.ICropHintsAnnotation); + + /** CropHintsAnnotation cropHints. */ + public cropHints: google.cloud.vision.v1p1beta1.ICropHint[]; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.ICropHintsAnnotation): google.cloud.vision.v1p1beta1.CropHintsAnnotation; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.CropHintsAnnotation; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.CropHintsAnnotation; + + /** + * Verifies a CropHintsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.CropHintsAnnotation; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @param message CropHintsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.CropHintsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsParams. */ + interface ICropHintsParams { + + /** CropHintsParams aspectRatios */ + aspectRatios?: (number[]|null); + } + + /** Represents a CropHintsParams. */ + class CropHintsParams implements ICropHintsParams { + + /** + * Constructs a new CropHintsParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.ICropHintsParams); + + /** CropHintsParams aspectRatios. */ + public aspectRatios: number[]; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsParams instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.ICropHintsParams): google.cloud.vision.v1p1beta1.CropHintsParams; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.CropHintsParams; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.CropHintsParams; + + /** + * Verifies a CropHintsParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.CropHintsParams; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @param message CropHintsParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.CropHintsParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetectionParams. */ + interface IWebDetectionParams { + + /** WebDetectionParams includeGeoResults */ + includeGeoResults?: (boolean|null); + } + + /** Represents a WebDetectionParams. */ + class WebDetectionParams implements IWebDetectionParams { + + /** + * Constructs a new WebDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IWebDetectionParams); + + /** WebDetectionParams includeGeoResults. */ + public includeGeoResults: boolean; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IWebDetectionParams): google.cloud.vision.v1p1beta1.WebDetectionParams; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.WebDetectionParams; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.WebDetectionParams; + + /** + * Verifies a WebDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.WebDetectionParams; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @param message WebDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.WebDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageContext. */ + interface IImageContext { + + /** ImageContext latLongRect */ + latLongRect?: (google.cloud.vision.v1p1beta1.ILatLongRect|null); + + /** ImageContext languageHints */ + languageHints?: (string[]|null); + + /** ImageContext cropHintsParams */ + cropHintsParams?: (google.cloud.vision.v1p1beta1.ICropHintsParams|null); + + /** ImageContext webDetectionParams */ + webDetectionParams?: (google.cloud.vision.v1p1beta1.IWebDetectionParams|null); + } + + /** Represents an ImageContext. */ + class ImageContext implements IImageContext { + + /** + * Constructs a new ImageContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IImageContext); + + /** ImageContext latLongRect. */ + public latLongRect?: (google.cloud.vision.v1p1beta1.ILatLongRect|null); + + /** ImageContext languageHints. */ + public languageHints: string[]; + + /** ImageContext cropHintsParams. */ + public cropHintsParams?: (google.cloud.vision.v1p1beta1.ICropHintsParams|null); + + /** ImageContext webDetectionParams. */ + public webDetectionParams?: (google.cloud.vision.v1p1beta1.IWebDetectionParams|null); + + /** + * Creates a new ImageContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageContext instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IImageContext): google.cloud.vision.v1p1beta1.ImageContext; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.ImageContext; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.ImageContext; + + /** + * Verifies an ImageContext message. + * @param message Plain 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 ImageContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.ImageContext; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @param message ImageContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.ImageContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageRequest. */ + interface IAnnotateImageRequest { + + /** AnnotateImageRequest image */ + image?: (google.cloud.vision.v1p1beta1.IImage|null); + + /** AnnotateImageRequest features */ + features?: (google.cloud.vision.v1p1beta1.IFeature[]|null); + + /** AnnotateImageRequest imageContext */ + imageContext?: (google.cloud.vision.v1p1beta1.IImageContext|null); + } + + /** Represents an AnnotateImageRequest. */ + class AnnotateImageRequest implements IAnnotateImageRequest { + + /** + * Constructs a new AnnotateImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IAnnotateImageRequest); + + /** AnnotateImageRequest image. */ + public image?: (google.cloud.vision.v1p1beta1.IImage|null); + + /** AnnotateImageRequest features. */ + public features: google.cloud.vision.v1p1beta1.IFeature[]; + + /** AnnotateImageRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p1beta1.IImageContext|null); + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IAnnotateImageRequest): google.cloud.vision.v1p1beta1.AnnotateImageRequest; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.AnnotateImageRequest; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.AnnotateImageRequest; + + /** + * Verifies an AnnotateImageRequest message. + * @param message Plain 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 AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.AnnotateImageRequest; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @param message AnnotateImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.AnnotateImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageResponse. */ + interface IAnnotateImageResponse { + + /** AnnotateImageResponse faceAnnotations */ + faceAnnotations?: (google.cloud.vision.v1p1beta1.IFaceAnnotation[]|null); + + /** AnnotateImageResponse landmarkAnnotations */ + landmarkAnnotations?: (google.cloud.vision.v1p1beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse logoAnnotations */ + logoAnnotations?: (google.cloud.vision.v1p1beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse labelAnnotations */ + labelAnnotations?: (google.cloud.vision.v1p1beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse textAnnotations */ + textAnnotations?: (google.cloud.vision.v1p1beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse fullTextAnnotation */ + fullTextAnnotation?: (google.cloud.vision.v1p1beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation */ + safeSearchAnnotation?: (google.cloud.vision.v1p1beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation */ + imagePropertiesAnnotation?: (google.cloud.vision.v1p1beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation */ + cropHintsAnnotation?: (google.cloud.vision.v1p1beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection */ + webDetection?: (google.cloud.vision.v1p1beta1.IWebDetection|null); + + /** AnnotateImageResponse error */ + error?: (google.rpc.IStatus|null); + } + + /** Represents an AnnotateImageResponse. */ + class AnnotateImageResponse implements IAnnotateImageResponse { + + /** + * Constructs a new AnnotateImageResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IAnnotateImageResponse); + + /** AnnotateImageResponse faceAnnotations. */ + public faceAnnotations: google.cloud.vision.v1p1beta1.IFaceAnnotation[]; + + /** AnnotateImageResponse landmarkAnnotations. */ + public landmarkAnnotations: google.cloud.vision.v1p1beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse logoAnnotations. */ + public logoAnnotations: google.cloud.vision.v1p1beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse labelAnnotations. */ + public labelAnnotations: google.cloud.vision.v1p1beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse textAnnotations. */ + public textAnnotations: google.cloud.vision.v1p1beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse fullTextAnnotation. */ + public fullTextAnnotation?: (google.cloud.vision.v1p1beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation. */ + public safeSearchAnnotation?: (google.cloud.vision.v1p1beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation. */ + public imagePropertiesAnnotation?: (google.cloud.vision.v1p1beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation. */ + public cropHintsAnnotation?: (google.cloud.vision.v1p1beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection. */ + public webDetection?: (google.cloud.vision.v1p1beta1.IWebDetection|null); + + /** AnnotateImageResponse error. */ + public error?: (google.rpc.IStatus|null); + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageResponse instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IAnnotateImageResponse): google.cloud.vision.v1p1beta1.AnnotateImageResponse; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.AnnotateImageResponse; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.AnnotateImageResponse; + + /** + * Verifies an AnnotateImageResponse message. + * @param message Plain 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 AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.AnnotateImageResponse; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @param message AnnotateImageResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.AnnotateImageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesRequest. */ + interface IBatchAnnotateImagesRequest { + + /** BatchAnnotateImagesRequest requests */ + requests?: (google.cloud.vision.v1p1beta1.IAnnotateImageRequest[]|null); + } + + /** Represents a BatchAnnotateImagesRequest. */ + class BatchAnnotateImagesRequest implements IBatchAnnotateImagesRequest { + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest); + + /** BatchAnnotateImagesRequest requests. */ + public requests: google.cloud.vision.v1p1beta1.IAnnotateImageRequest[]; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest): google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesResponse. */ + interface IBatchAnnotateImagesResponse { + + /** BatchAnnotateImagesResponse responses */ + responses?: (google.cloud.vision.v1p1beta1.IAnnotateImageResponse[]|null); + } + + /** Represents a BatchAnnotateImagesResponse. */ + class BatchAnnotateImagesResponse implements IBatchAnnotateImagesResponse { + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse); + + /** BatchAnnotateImagesResponse responses. */ + public responses: google.cloud.vision.v1p1beta1.IAnnotateImageResponse[]; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse): google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Likelihood enum. */ + enum Likelihood { + UNKNOWN = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IVertex): google.cloud.vision.v1p1beta1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { + + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p1beta1.IVertex[]|null); + } + + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { + + /** + * Constructs a new BoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IBoundingPoly); + + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p1beta1.IVertex[]; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IBoundingPoly): google.cloud.vision.v1p1beta1.BoundingPoly; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.BoundingPoly; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.BoundingPoly; + + /** + * Verifies a BoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.BoundingPoly; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Position. */ + interface IPosition { + + /** Position x */ + x?: (number|null); + + /** Position y */ + y?: (number|null); + + /** Position z */ + z?: (number|null); + } + + /** Represents a Position. */ + class Position implements IPosition { + + /** + * Constructs a new Position. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IPosition); + + /** Position x. */ + public x: number; + + /** Position y. */ + public y: number; + + /** Position z. */ + public z: number; + + /** + * Creates a new Position instance using the specified properties. + * @param [properties] Properties to set + * @returns Position instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IPosition): google.cloud.vision.v1p1beta1.Position; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Position message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Position; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Position; + + /** + * Verifies a Position message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Position + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Position; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Position to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextAnnotation. */ + interface ITextAnnotation { + + /** TextAnnotation pages */ + pages?: (google.cloud.vision.v1p1beta1.IPage[]|null); + + /** TextAnnotation text */ + text?: (string|null); + } + + /** Represents a TextAnnotation. */ + class TextAnnotation implements ITextAnnotation { + + /** + * Constructs a new TextAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.ITextAnnotation); + + /** TextAnnotation pages. */ + public pages: google.cloud.vision.v1p1beta1.IPage[]; + + /** TextAnnotation text. */ + public text: string; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns TextAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.ITextAnnotation): google.cloud.vision.v1p1beta1.TextAnnotation; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.TextAnnotation; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.TextAnnotation; + + /** + * Verifies a TextAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.TextAnnotation; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @param message TextAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace TextAnnotation { + + /** Properties of a DetectedLanguage. */ + interface IDetectedLanguage { + + /** DetectedLanguage languageCode */ + languageCode?: (string|null); + + /** DetectedLanguage confidence */ + confidence?: (number|null); + } + + /** Represents a DetectedLanguage. */ + class DetectedLanguage implements IDetectedLanguage { + + /** + * Constructs a new DetectedLanguage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage); + + /** DetectedLanguage languageCode. */ + public languageCode: string; + + /** DetectedLanguage confidence. */ + public confidence: number; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedLanguage instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage): google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage; + + /** + * Verifies a DetectedLanguage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedLanguage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @param message DetectedLanguage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedLanguage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DetectedBreak. */ + interface IDetectedBreak { + + /** DetectedBreak type */ + type?: (google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType|null); + + /** DetectedBreak isPrefix */ + isPrefix?: (boolean|null); + } + + /** Represents a DetectedBreak. */ + class DetectedBreak implements IDetectedBreak { + + /** + * Constructs a new DetectedBreak. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak); + + /** DetectedBreak type. */ + public type: google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType; + + /** DetectedBreak isPrefix. */ + public isPrefix: boolean; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedBreak instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak): google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak; + + /** + * Verifies a DetectedBreak message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedBreak + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @param message DetectedBreak + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedBreak to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace DetectedBreak { + + /** BreakType enum. */ + enum BreakType { + UNKNOWN = 0, + SPACE = 1, + SURE_SPACE = 2, + EOL_SURE_SPACE = 3, + HYPHEN = 4, + LINE_BREAK = 5 + } + } + + /** Properties of a TextProperty. */ + interface ITextProperty { + + /** TextProperty detectedLanguages */ + detectedLanguages?: (google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage[]|null); + + /** TextProperty detectedBreak */ + detectedBreak?: (google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak|null); + } + + /** Represents a TextProperty. */ + class TextProperty implements ITextProperty { + + /** + * Constructs a new TextProperty. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty); + + /** TextProperty detectedLanguages. */ + public detectedLanguages: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage[]; + + /** TextProperty detectedBreak. */ + public detectedBreak?: (google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak|null); + + /** + * Creates a new TextProperty instance using the specified properties. + * @param [properties] Properties to set + * @returns TextProperty instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty): google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty; + + /** + * Verifies a TextProperty message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextProperty + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @param message TextProperty + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextProperty to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a Page. */ + interface IPage { + + /** Page property */ + property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Page width */ + width?: (number|null); + + /** Page height */ + height?: (number|null); + + /** Page blocks */ + blocks?: (google.cloud.vision.v1p1beta1.IBlock[]|null); + + /** Page confidence */ + confidence?: (number|null); + } + + /** Represents a Page. */ + class Page implements IPage { + + /** + * Constructs a new Page. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IPage); + + /** Page property. */ + public property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Page width. */ + public width: number; + + /** Page height. */ + public height: number; + + /** Page blocks. */ + public blocks: google.cloud.vision.v1p1beta1.IBlock[]; + + /** Page confidence. */ + public confidence: number; + + /** + * Creates a new Page instance using the specified properties. + * @param [properties] Properties to set + * @returns Page instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IPage): google.cloud.vision.v1p1beta1.Page; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Page message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Page; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Page; + + /** + * Verifies a Page message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Page + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Page; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @param message Page + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Page, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Page to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Block. */ + interface IBlock { + + /** Block property */ + property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox */ + boundingBox?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** Block paragraphs */ + paragraphs?: (google.cloud.vision.v1p1beta1.IParagraph[]|null); + + /** Block blockType */ + blockType?: (google.cloud.vision.v1p1beta1.Block.BlockType|null); + + /** Block confidence */ + confidence?: (number|null); + } + + /** Represents a Block. */ + class Block implements IBlock { + + /** + * Constructs a new Block. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IBlock); + + /** Block property. */ + public property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** Block paragraphs. */ + public paragraphs: google.cloud.vision.v1p1beta1.IParagraph[]; + + /** Block blockType. */ + public blockType: google.cloud.vision.v1p1beta1.Block.BlockType; + + /** Block confidence. */ + public confidence: number; + + /** + * Creates a new Block instance using the specified properties. + * @param [properties] Properties to set + * @returns Block instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IBlock): google.cloud.vision.v1p1beta1.Block; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Block message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Block; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Block; + + /** + * Verifies a Block message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Block + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Block; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @param message Block + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Block, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Block to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Block { + + /** BlockType enum. */ + enum BlockType { + UNKNOWN = 0, + TEXT = 1, + TABLE = 2, + PICTURE = 3, + RULER = 4, + BARCODE = 5 + } + } + + /** Properties of a Paragraph. */ + interface IParagraph { + + /** Paragraph property */ + property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox */ + boundingBox?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** Paragraph words */ + words?: (google.cloud.vision.v1p1beta1.IWord[]|null); + + /** Paragraph confidence */ + confidence?: (number|null); + } + + /** Represents a Paragraph. */ + class Paragraph implements IParagraph { + + /** + * Constructs a new Paragraph. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IParagraph); + + /** Paragraph property. */ + public property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** Paragraph words. */ + public words: google.cloud.vision.v1p1beta1.IWord[]; + + /** Paragraph confidence. */ + public confidence: number; + + /** + * Creates a new Paragraph instance using the specified properties. + * @param [properties] Properties to set + * @returns Paragraph instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IParagraph): google.cloud.vision.v1p1beta1.Paragraph; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Paragraph; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Paragraph; + + /** + * Verifies a Paragraph message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Paragraph + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Paragraph; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @param message Paragraph + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Paragraph, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Paragraph to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Word. */ + interface IWord { + + /** Word property */ + property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox */ + boundingBox?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** Word symbols */ + symbols?: (google.cloud.vision.v1p1beta1.ISymbol[]|null); + + /** Word confidence */ + confidence?: (number|null); + } + + /** Represents a Word. */ + class Word implements IWord { + + /** + * Constructs a new Word. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IWord); + + /** Word property. */ + public property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** Word symbols. */ + public symbols: google.cloud.vision.v1p1beta1.ISymbol[]; + + /** Word confidence. */ + public confidence: number; + + /** + * Creates a new Word instance using the specified properties. + * @param [properties] Properties to set + * @returns Word instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IWord): google.cloud.vision.v1p1beta1.Word; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Word message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Word; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Word; + + /** + * Verifies a Word message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Word + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Word; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @param message Word + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Word, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Word to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Symbol. */ + interface ISymbol { + + /** Symbol property */ + property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox */ + boundingBox?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** Symbol text */ + text?: (string|null); + + /** Symbol confidence */ + confidence?: (number|null); + } + + /** Represents a Symbol. */ + class Symbol implements ISymbol { + + /** + * Constructs a new Symbol. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.ISymbol); + + /** Symbol property. */ + public property?: (google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p1beta1.IBoundingPoly|null); + + /** Symbol text. */ + public text: string; + + /** Symbol confidence. */ + public confidence: number; + + /** + * Creates a new Symbol instance using the specified properties. + * @param [properties] Properties to set + * @returns Symbol instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.ISymbol): google.cloud.vision.v1p1beta1.Symbol; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Symbol; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Symbol; + + /** + * Verifies a Symbol message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Symbol + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Symbol; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @param message Symbol + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Symbol, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Symbol to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetection. */ + interface IWebDetection { + + /** WebDetection webEntities */ + webEntities?: (google.cloud.vision.v1p1beta1.WebDetection.IWebEntity[]|null); + + /** WebDetection fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]|null); + + /** WebDetection partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]|null); + + /** WebDetection pagesWithMatchingImages */ + pagesWithMatchingImages?: (google.cloud.vision.v1p1beta1.WebDetection.IWebPage[]|null); + + /** WebDetection visuallySimilarImages */ + visuallySimilarImages?: (google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]|null); + + /** WebDetection bestGuessLabels */ + bestGuessLabels?: (google.cloud.vision.v1p1beta1.WebDetection.IWebLabel[]|null); + } + + /** Represents a WebDetection. */ + class WebDetection implements IWebDetection { + + /** + * Constructs a new WebDetection. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IWebDetection); + + /** WebDetection webEntities. */ + public webEntities: google.cloud.vision.v1p1beta1.WebDetection.IWebEntity[]; + + /** WebDetection fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]; + + /** WebDetection partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]; + + /** WebDetection pagesWithMatchingImages. */ + public pagesWithMatchingImages: google.cloud.vision.v1p1beta1.WebDetection.IWebPage[]; + + /** WebDetection visuallySimilarImages. */ + public visuallySimilarImages: google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]; + + /** WebDetection bestGuessLabels. */ + public bestGuessLabels: google.cloud.vision.v1p1beta1.WebDetection.IWebLabel[]; + + /** + * Creates a new WebDetection instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetection instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IWebDetection): google.cloud.vision.v1p1beta1.WebDetection; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.WebDetection; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.WebDetection; + + /** + * Verifies a WebDetection message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetection + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.WebDetection; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @param message WebDetection + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.WebDetection, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetection to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace WebDetection { + + /** Properties of a WebEntity. */ + interface IWebEntity { + + /** WebEntity entityId */ + entityId?: (string|null); + + /** WebEntity score */ + score?: (number|null); + + /** WebEntity description */ + description?: (string|null); + } + + /** Represents a WebEntity. */ + class WebEntity implements IWebEntity { + + /** + * Constructs a new WebEntity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.WebDetection.IWebEntity); + + /** WebEntity entityId. */ + public entityId: string; + + /** WebEntity score. */ + public score: number; + + /** WebEntity description. */ + public description: string; + + /** + * Creates a new WebEntity instance using the specified properties. + * @param [properties] Properties to set + * @returns WebEntity instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.WebDetection.IWebEntity): google.cloud.vision.v1p1beta1.WebDetection.WebEntity; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.WebDetection.WebEntity; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.WebDetection.WebEntity; + + /** + * Verifies a WebEntity message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebEntity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.WebDetection.WebEntity; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @param message WebEntity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.WebDetection.WebEntity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebEntity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebImage. */ + interface IWebImage { + + /** WebImage url */ + url?: (string|null); + + /** WebImage score */ + score?: (number|null); + } + + /** Represents a WebImage. */ + class WebImage implements IWebImage { + + /** + * Constructs a new WebImage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.WebDetection.IWebImage); + + /** WebImage url. */ + public url: string; + + /** WebImage score. */ + public score: number; + + /** + * Creates a new WebImage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebImage instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.WebDetection.IWebImage): google.cloud.vision.v1p1beta1.WebDetection.WebImage; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.WebDetection.WebImage; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.WebDetection.WebImage; + + /** + * Verifies a WebImage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebImage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.WebDetection.WebImage; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @param message WebImage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.WebDetection.WebImage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebImage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebPage. */ + interface IWebPage { + + /** WebPage url */ + url?: (string|null); + + /** WebPage score */ + score?: (number|null); + + /** WebPage pageTitle */ + pageTitle?: (string|null); + + /** WebPage fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]|null); + + /** WebPage partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]|null); + } + + /** Represents a WebPage. */ + class WebPage implements IWebPage { + + /** + * Constructs a new WebPage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.WebDetection.IWebPage); + + /** WebPage url. */ + public url: string; + + /** WebPage score. */ + public score: number; + + /** WebPage pageTitle. */ + public pageTitle: string; + + /** WebPage fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]; + + /** WebPage partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1p1beta1.WebDetection.IWebImage[]; + + /** + * Creates a new WebPage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebPage instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.WebDetection.IWebPage): google.cloud.vision.v1p1beta1.WebDetection.WebPage; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.WebDetection.WebPage; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.WebDetection.WebPage; + + /** + * Verifies a WebPage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebPage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.WebDetection.WebPage; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @param message WebPage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.WebDetection.WebPage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebPage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebLabel. */ + interface IWebLabel { + + /** WebLabel label */ + label?: (string|null); + + /** WebLabel languageCode */ + languageCode?: (string|null); + } + + /** Represents a WebLabel. */ + class WebLabel implements IWebLabel { + + /** + * Constructs a new WebLabel. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.WebDetection.IWebLabel); + + /** WebLabel label. */ + public label: string; + + /** WebLabel languageCode. */ + public languageCode: string; + + /** + * Creates a new WebLabel instance using the specified properties. + * @param [properties] Properties to set + * @returns WebLabel instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.WebDetection.IWebLabel): google.cloud.vision.v1p1beta1.WebDetection.WebLabel; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.WebDetection.WebLabel; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.WebDetection.WebLabel; + + /** + * Verifies a WebLabel message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebLabel + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.WebDetection.WebLabel; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @param message WebLabel + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.WebDetection.WebLabel, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebLabel to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + } + + /** Namespace v1p2beta1. */ + namespace v1p2beta1 { + + /** Represents an ImageAnnotator */ + class ImageAnnotator extends $protobuf.rpc.Service { + + /** + * Constructs a new ImageAnnotator 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 ImageAnnotator 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): ImageAnnotator; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + */ + public batchAnnotateImages(request: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, callback: google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImagesCallback): void; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @returns Promise + */ + public batchAnnotateImages(request: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest): Promise; + + /** + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, callback: google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback): void; + + /** + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @returns Promise + */ + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest): Promise; + } + + namespace ImageAnnotator { + + /** + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#batchAnnotateImages}. + * @param error Error, if any + * @param [response] BatchAnnotateImagesResponse + */ + type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @param error Error, if any + * @param [response] Operation + */ + type AsyncBatchAnnotateFilesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of a Feature. */ + interface IFeature { + + /** Feature type */ + type?: (google.cloud.vision.v1p2beta1.Feature.Type|null); + + /** Feature maxResults */ + maxResults?: (number|null); + + /** Feature model */ + model?: (string|null); + } + + /** Represents a Feature. */ + class Feature implements IFeature { + + /** + * Constructs a new Feature. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IFeature); + + /** Feature type. */ + public type: google.cloud.vision.v1p2beta1.Feature.Type; + + /** Feature maxResults. */ + public maxResults: number; + + /** Feature model. */ + public model: string; + + /** + * Creates a new Feature instance using the specified properties. + * @param [properties] Properties to set + * @returns Feature instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IFeature): google.cloud.vision.v1p2beta1.Feature; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Feature; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Feature; + + /** + * Verifies a Feature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Feature + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Feature; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @param message Feature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Feature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Feature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Feature { + + /** Type enum. */ + enum Type { + TYPE_UNSPECIFIED = 0, + FACE_DETECTION = 1, + LANDMARK_DETECTION = 2, + LOGO_DETECTION = 3, + LABEL_DETECTION = 4, + TEXT_DETECTION = 5, + DOCUMENT_TEXT_DETECTION = 11, + SAFE_SEARCH_DETECTION = 6, + IMAGE_PROPERTIES = 7, + CROP_HINTS = 9, + WEB_DETECTION = 10 + } + } + + /** Properties of an ImageSource. */ + interface IImageSource { + + /** ImageSource gcsImageUri */ + gcsImageUri?: (string|null); + + /** ImageSource imageUri */ + imageUri?: (string|null); + } + + /** Represents an ImageSource. */ + class ImageSource implements IImageSource { + + /** + * Constructs a new ImageSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IImageSource); + + /** ImageSource gcsImageUri. */ + public gcsImageUri: string; + + /** ImageSource imageUri. */ + public imageUri: string; + + /** + * Creates a new ImageSource instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageSource instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IImageSource): google.cloud.vision.v1p2beta1.ImageSource; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.ImageSource; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.ImageSource; + + /** + * Verifies an ImageSource message. + * @param message Plain 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 ImageSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.ImageSource; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @param message ImageSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.ImageSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Image. */ + interface IImage { + + /** Image content */ + content?: (Uint8Array|null); + + /** Image source */ + source?: (google.cloud.vision.v1p2beta1.IImageSource|null); + } + + /** Represents an Image. */ + class Image implements IImage { + + /** + * Constructs a new Image. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IImage); + + /** Image content. */ + public content: Uint8Array; + + /** Image source. */ + public source?: (google.cloud.vision.v1p2beta1.IImageSource|null); + + /** + * Creates a new Image instance using the specified properties. + * @param [properties] Properties to set + * @returns Image instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IImage): google.cloud.vision.v1p2beta1.Image; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Image message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Image; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Image; + + /** + * Verifies an Image message. + * @param message Plain 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 Image message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Image + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Image; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @param message Image + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Image, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Image to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceAnnotation. */ + interface IFaceAnnotation { + + /** FaceAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly */ + fdBoundingPoly?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks */ + landmarks?: (google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark[]|null); + + /** FaceAnnotation rollAngle */ + rollAngle?: (number|null); + + /** FaceAnnotation panAngle */ + panAngle?: (number|null); + + /** FaceAnnotation tiltAngle */ + tiltAngle?: (number|null); + + /** FaceAnnotation detectionConfidence */ + detectionConfidence?: (number|null); + + /** FaceAnnotation landmarkingConfidence */ + landmarkingConfidence?: (number|null); + + /** FaceAnnotation joyLikelihood */ + joyLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** FaceAnnotation sorrowLikelihood */ + sorrowLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** FaceAnnotation angerLikelihood */ + angerLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** FaceAnnotation surpriseLikelihood */ + surpriseLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** FaceAnnotation underExposedLikelihood */ + underExposedLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** FaceAnnotation blurredLikelihood */ + blurredLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** FaceAnnotation headwearLikelihood */ + headwearLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + } + + /** Represents a FaceAnnotation. */ + class FaceAnnotation implements IFaceAnnotation { + + /** + * Constructs a new FaceAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IFaceAnnotation); + + /** FaceAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly. */ + public fdBoundingPoly?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks. */ + public landmarks: google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark[]; + + /** FaceAnnotation rollAngle. */ + public rollAngle: number; + + /** FaceAnnotation panAngle. */ + public panAngle: number; + + /** FaceAnnotation tiltAngle. */ + public tiltAngle: number; + + /** FaceAnnotation detectionConfidence. */ + public detectionConfidence: number; + + /** FaceAnnotation landmarkingConfidence. */ + public landmarkingConfidence: number; + + /** FaceAnnotation joyLikelihood. */ + public joyLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + + /** FaceAnnotation sorrowLikelihood. */ + public sorrowLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + + /** FaceAnnotation angerLikelihood. */ + public angerLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + + /** FaceAnnotation surpriseLikelihood. */ + public surpriseLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + + /** FaceAnnotation underExposedLikelihood. */ + public underExposedLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + + /** FaceAnnotation blurredLikelihood. */ + public blurredLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + + /** FaceAnnotation headwearLikelihood. */ + public headwearLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IFaceAnnotation): google.cloud.vision.v1p2beta1.FaceAnnotation; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.FaceAnnotation; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.FaceAnnotation; + + /** + * Verifies a FaceAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.FaceAnnotation; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @param message FaceAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace FaceAnnotation { + + /** Properties of a Landmark. */ + interface ILandmark { + + /** Landmark type */ + type?: (google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type|null); + + /** Landmark position */ + position?: (google.cloud.vision.v1p2beta1.IPosition|null); + } + + /** Represents a Landmark. */ + class Landmark implements ILandmark { + + /** + * Constructs a new Landmark. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark); + + /** Landmark type. */ + public type: google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type; + + /** Landmark position. */ + public position?: (google.cloud.vision.v1p2beta1.IPosition|null); + + /** + * Creates a new Landmark instance using the specified properties. + * @param [properties] Properties to set + * @returns Landmark instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark): google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark; + + /** + * Verifies a Landmark message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Landmark + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @param message Landmark + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Landmark to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Landmark { + + /** Type enum. */ + enum Type { + UNKNOWN_LANDMARK = 0, + LEFT_EYE = 1, + RIGHT_EYE = 2, + LEFT_OF_LEFT_EYEBROW = 3, + RIGHT_OF_LEFT_EYEBROW = 4, + LEFT_OF_RIGHT_EYEBROW = 5, + RIGHT_OF_RIGHT_EYEBROW = 6, + MIDPOINT_BETWEEN_EYES = 7, + NOSE_TIP = 8, + UPPER_LIP = 9, + LOWER_LIP = 10, + MOUTH_LEFT = 11, + MOUTH_RIGHT = 12, + MOUTH_CENTER = 13, + NOSE_BOTTOM_RIGHT = 14, + NOSE_BOTTOM_LEFT = 15, + NOSE_BOTTOM_CENTER = 16, + LEFT_EYE_TOP_BOUNDARY = 17, + LEFT_EYE_RIGHT_CORNER = 18, + LEFT_EYE_BOTTOM_BOUNDARY = 19, + LEFT_EYE_LEFT_CORNER = 20, + RIGHT_EYE_TOP_BOUNDARY = 21, + RIGHT_EYE_RIGHT_CORNER = 22, + RIGHT_EYE_BOTTOM_BOUNDARY = 23, + RIGHT_EYE_LEFT_CORNER = 24, + LEFT_EYEBROW_UPPER_MIDPOINT = 25, + RIGHT_EYEBROW_UPPER_MIDPOINT = 26, + LEFT_EAR_TRAGION = 27, + RIGHT_EAR_TRAGION = 28, + LEFT_EYE_PUPIL = 29, + RIGHT_EYE_PUPIL = 30, + FOREHEAD_GLABELLA = 31, + CHIN_GNATHION = 32, + CHIN_LEFT_GONION = 33, + CHIN_RIGHT_GONION = 34 + } + } + } + + /** Properties of a LocationInfo. */ + interface ILocationInfo { + + /** LocationInfo latLng */ + latLng?: (google.type.ILatLng|null); + } + + /** Represents a LocationInfo. */ + class LocationInfo implements ILocationInfo { + + /** + * Constructs a new LocationInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.ILocationInfo); + + /** LocationInfo latLng. */ + public latLng?: (google.type.ILatLng|null); + + /** + * Creates a new LocationInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns LocationInfo instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.ILocationInfo): google.cloud.vision.v1p2beta1.LocationInfo; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p2beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.LocationInfo; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.LocationInfo; + + /** + * Verifies a LocationInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocationInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.LocationInfo; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @param message LocationInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.LocationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocationInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Property. */ + interface IProperty { + + /** Property name */ + name?: (string|null); + + /** Property value */ + value?: (string|null); + + /** Property uint64Value */ + uint64Value?: (number|Long|null); + } + + /** Represents a Property. */ + class Property implements IProperty { + + /** + * Constructs a new Property. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IProperty); + + /** Property name. */ + public name: string; + + /** Property value. */ + public value: string; + + /** Property uint64Value. */ + public uint64Value: (number|Long); + + /** + * Creates a new Property instance using the specified properties. + * @param [properties] Properties to set + * @returns Property instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IProperty): google.cloud.vision.v1p2beta1.Property; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Property message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Property; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Property; + + /** + * Verifies a Property message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Property + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Property; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @param message Property + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Property, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Property to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EntityAnnotation. */ + interface IEntityAnnotation { + + /** EntityAnnotation mid */ + mid?: (string|null); + + /** EntityAnnotation locale */ + locale?: (string|null); + + /** EntityAnnotation description */ + description?: (string|null); + + /** EntityAnnotation score */ + score?: (number|null); + + /** EntityAnnotation confidence */ + confidence?: (number|null); + + /** EntityAnnotation topicality */ + topicality?: (number|null); + + /** EntityAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** EntityAnnotation locations */ + locations?: (google.cloud.vision.v1p2beta1.ILocationInfo[]|null); + + /** EntityAnnotation properties */ + properties?: (google.cloud.vision.v1p2beta1.IProperty[]|null); + } + + /** Represents an EntityAnnotation. */ + class EntityAnnotation implements IEntityAnnotation { + + /** + * Constructs a new EntityAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IEntityAnnotation); + + /** EntityAnnotation mid. */ + public mid: string; + + /** EntityAnnotation locale. */ + public locale: string; + + /** EntityAnnotation description. */ + public description: string; + + /** EntityAnnotation score. */ + public score: number; + + /** EntityAnnotation confidence. */ + public confidence: number; + + /** EntityAnnotation topicality. */ + public topicality: number; + + /** EntityAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** EntityAnnotation locations. */ + public locations: google.cloud.vision.v1p2beta1.ILocationInfo[]; + + /** EntityAnnotation properties. */ + public properties: google.cloud.vision.v1p2beta1.IProperty[]; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns EntityAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IEntityAnnotation): google.cloud.vision.v1p2beta1.EntityAnnotation; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.EntityAnnotation; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.EntityAnnotation; + + /** + * Verifies an EntityAnnotation message. + * @param message Plain 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 EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EntityAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.EntityAnnotation; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @param message EntityAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.EntityAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EntityAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SafeSearchAnnotation. */ + interface ISafeSearchAnnotation { + + /** SafeSearchAnnotation adult */ + adult?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** SafeSearchAnnotation spoof */ + spoof?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** SafeSearchAnnotation medical */ + medical?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** SafeSearchAnnotation violence */ + violence?: (google.cloud.vision.v1p2beta1.Likelihood|null); + + /** SafeSearchAnnotation racy */ + racy?: (google.cloud.vision.v1p2beta1.Likelihood|null); + } + + /** Represents a SafeSearchAnnotation. */ + class SafeSearchAnnotation implements ISafeSearchAnnotation { + + /** + * Constructs a new SafeSearchAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.ISafeSearchAnnotation); + + /** SafeSearchAnnotation adult. */ + public adult: google.cloud.vision.v1p2beta1.Likelihood; + + /** SafeSearchAnnotation spoof. */ + public spoof: google.cloud.vision.v1p2beta1.Likelihood; + + /** SafeSearchAnnotation medical. */ + public medical: google.cloud.vision.v1p2beta1.Likelihood; + + /** SafeSearchAnnotation violence. */ + public violence: google.cloud.vision.v1p2beta1.Likelihood; + + /** SafeSearchAnnotation racy. */ + public racy: google.cloud.vision.v1p2beta1.Likelihood; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns SafeSearchAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.ISafeSearchAnnotation): google.cloud.vision.v1p2beta1.SafeSearchAnnotation; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.SafeSearchAnnotation; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.SafeSearchAnnotation; + + /** + * Verifies a SafeSearchAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SafeSearchAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.SafeSearchAnnotation; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @param message SafeSearchAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.SafeSearchAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LatLongRect. */ + interface ILatLongRect { + + /** LatLongRect minLatLng */ + minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng */ + maxLatLng?: (google.type.ILatLng|null); + } + + /** Represents a LatLongRect. */ + class LatLongRect implements ILatLongRect { + + /** + * Constructs a new LatLongRect. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.ILatLongRect); + + /** LatLongRect minLatLng. */ + public minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng. */ + public maxLatLng?: (google.type.ILatLng|null); + + /** + * Creates a new LatLongRect instance using the specified properties. + * @param [properties] Properties to set + * @returns LatLongRect instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.ILatLongRect): google.cloud.vision.v1p2beta1.LatLongRect; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p2beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.LatLongRect; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.LatLongRect; + + /** + * Verifies a LatLongRect message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LatLongRect + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.LatLongRect; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @param message LatLongRect + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.LatLongRect, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LatLongRect to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ColorInfo. */ + interface IColorInfo { + + /** ColorInfo color */ + color?: (google.type.IColor|null); + + /** ColorInfo score */ + score?: (number|null); + + /** ColorInfo pixelFraction */ + pixelFraction?: (number|null); + } + + /** Represents a ColorInfo. */ + class ColorInfo implements IColorInfo { + + /** + * Constructs a new ColorInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IColorInfo); + + /** ColorInfo color. */ + public color?: (google.type.IColor|null); + + /** ColorInfo score. */ + public score: number; + + /** ColorInfo pixelFraction. */ + public pixelFraction: number; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns ColorInfo instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IColorInfo): google.cloud.vision.v1p2beta1.ColorInfo; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.ColorInfo; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.ColorInfo; + + /** + * Verifies a ColorInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ColorInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.ColorInfo; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @param message ColorInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ColorInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DominantColorsAnnotation. */ + interface IDominantColorsAnnotation { + + /** DominantColorsAnnotation colors */ + colors?: (google.cloud.vision.v1p2beta1.IColorInfo[]|null); + } + + /** Represents a DominantColorsAnnotation. */ + class DominantColorsAnnotation implements IDominantColorsAnnotation { + + /** + * Constructs a new DominantColorsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IDominantColorsAnnotation); + + /** DominantColorsAnnotation colors. */ + public colors: google.cloud.vision.v1p2beta1.IColorInfo[]; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns DominantColorsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IDominantColorsAnnotation): google.cloud.vision.v1p2beta1.DominantColorsAnnotation; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.DominantColorsAnnotation; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.DominantColorsAnnotation; + + /** + * Verifies a DominantColorsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DominantColorsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.DominantColorsAnnotation; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @param message DominantColorsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.DominantColorsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageProperties. */ + interface IImageProperties { + + /** ImageProperties dominantColors */ + dominantColors?: (google.cloud.vision.v1p2beta1.IDominantColorsAnnotation|null); + } + + /** Represents an ImageProperties. */ + class ImageProperties implements IImageProperties { + + /** + * Constructs a new ImageProperties. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IImageProperties); + + /** ImageProperties dominantColors. */ + public dominantColors?: (google.cloud.vision.v1p2beta1.IDominantColorsAnnotation|null); + + /** + * Creates a new ImageProperties instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageProperties instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IImageProperties): google.cloud.vision.v1p2beta1.ImageProperties; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.ImageProperties; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.ImageProperties; + + /** + * Verifies an ImageProperties message. + * @param message Plain 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 ImageProperties message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageProperties + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.ImageProperties; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @param message ImageProperties + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.ImageProperties, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageProperties to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHint. */ + interface ICropHint { + + /** CropHint boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** CropHint confidence */ + confidence?: (number|null); + + /** CropHint importanceFraction */ + importanceFraction?: (number|null); + } + + /** Represents a CropHint. */ + class CropHint implements ICropHint { + + /** + * Constructs a new CropHint. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.ICropHint); + + /** CropHint boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** CropHint confidence. */ + public confidence: number; + + /** CropHint importanceFraction. */ + public importanceFraction: number; + + /** + * Creates a new CropHint instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHint instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.ICropHint): google.cloud.vision.v1p2beta1.CropHint; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.CropHint; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.CropHint; + + /** + * Verifies a CropHint message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHint + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.CropHint; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @param message CropHint + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.CropHint, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHint to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsAnnotation. */ + interface ICropHintsAnnotation { + + /** CropHintsAnnotation cropHints */ + cropHints?: (google.cloud.vision.v1p2beta1.ICropHint[]|null); + } + + /** Represents a CropHintsAnnotation. */ + class CropHintsAnnotation implements ICropHintsAnnotation { + + /** + * Constructs a new CropHintsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.ICropHintsAnnotation); + + /** CropHintsAnnotation cropHints. */ + public cropHints: google.cloud.vision.v1p2beta1.ICropHint[]; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.ICropHintsAnnotation): google.cloud.vision.v1p2beta1.CropHintsAnnotation; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.CropHintsAnnotation; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.CropHintsAnnotation; + + /** + * Verifies a CropHintsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.CropHintsAnnotation; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @param message CropHintsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.CropHintsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsParams. */ + interface ICropHintsParams { + + /** CropHintsParams aspectRatios */ + aspectRatios?: (number[]|null); + } + + /** Represents a CropHintsParams. */ + class CropHintsParams implements ICropHintsParams { + + /** + * Constructs a new CropHintsParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.ICropHintsParams); + + /** CropHintsParams aspectRatios. */ + public aspectRatios: number[]; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsParams instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.ICropHintsParams): google.cloud.vision.v1p2beta1.CropHintsParams; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.CropHintsParams; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.CropHintsParams; + + /** + * Verifies a CropHintsParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.CropHintsParams; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @param message CropHintsParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.CropHintsParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetectionParams. */ + interface IWebDetectionParams { + + /** WebDetectionParams includeGeoResults */ + includeGeoResults?: (boolean|null); + } + + /** Represents a WebDetectionParams. */ + class WebDetectionParams implements IWebDetectionParams { + + /** + * Constructs a new WebDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IWebDetectionParams); + + /** WebDetectionParams includeGeoResults. */ + public includeGeoResults: boolean; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IWebDetectionParams): google.cloud.vision.v1p2beta1.WebDetectionParams; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.WebDetectionParams; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.WebDetectionParams; + + /** + * Verifies a WebDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.WebDetectionParams; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @param message WebDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.WebDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageContext. */ + interface IImageContext { + + /** ImageContext latLongRect */ + latLongRect?: (google.cloud.vision.v1p2beta1.ILatLongRect|null); + + /** ImageContext languageHints */ + languageHints?: (string[]|null); + + /** ImageContext cropHintsParams */ + cropHintsParams?: (google.cloud.vision.v1p2beta1.ICropHintsParams|null); + + /** ImageContext webDetectionParams */ + webDetectionParams?: (google.cloud.vision.v1p2beta1.IWebDetectionParams|null); + } + + /** Represents an ImageContext. */ + class ImageContext implements IImageContext { + + /** + * Constructs a new ImageContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IImageContext); + + /** ImageContext latLongRect. */ + public latLongRect?: (google.cloud.vision.v1p2beta1.ILatLongRect|null); + + /** ImageContext languageHints. */ + public languageHints: string[]; + + /** ImageContext cropHintsParams. */ + public cropHintsParams?: (google.cloud.vision.v1p2beta1.ICropHintsParams|null); + + /** ImageContext webDetectionParams. */ + public webDetectionParams?: (google.cloud.vision.v1p2beta1.IWebDetectionParams|null); + + /** + * Creates a new ImageContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageContext instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IImageContext): google.cloud.vision.v1p2beta1.ImageContext; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.ImageContext; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.ImageContext; + + /** + * Verifies an ImageContext message. + * @param message Plain 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 ImageContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.ImageContext; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @param message ImageContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.ImageContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageRequest. */ + interface IAnnotateImageRequest { + + /** AnnotateImageRequest image */ + image?: (google.cloud.vision.v1p2beta1.IImage|null); + + /** AnnotateImageRequest features */ + features?: (google.cloud.vision.v1p2beta1.IFeature[]|null); + + /** AnnotateImageRequest imageContext */ + imageContext?: (google.cloud.vision.v1p2beta1.IImageContext|null); + } + + /** Represents an AnnotateImageRequest. */ + class AnnotateImageRequest implements IAnnotateImageRequest { + + /** + * Constructs a new AnnotateImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IAnnotateImageRequest); + + /** AnnotateImageRequest image. */ + public image?: (google.cloud.vision.v1p2beta1.IImage|null); + + /** AnnotateImageRequest features. */ + public features: google.cloud.vision.v1p2beta1.IFeature[]; + + /** AnnotateImageRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p2beta1.IImageContext|null); + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IAnnotateImageRequest): google.cloud.vision.v1p2beta1.AnnotateImageRequest; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.AnnotateImageRequest; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.AnnotateImageRequest; + + /** + * Verifies an AnnotateImageRequest message. + * @param message Plain 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 AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.AnnotateImageRequest; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @param message AnnotateImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.AnnotateImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageAnnotationContext. */ + interface IImageAnnotationContext { + + /** ImageAnnotationContext uri */ + uri?: (string|null); + + /** ImageAnnotationContext pageNumber */ + pageNumber?: (number|null); + } + + /** Represents an ImageAnnotationContext. */ + class ImageAnnotationContext implements IImageAnnotationContext { + + /** + * Constructs a new ImageAnnotationContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IImageAnnotationContext); + + /** ImageAnnotationContext uri. */ + public uri: string; + + /** ImageAnnotationContext pageNumber. */ + public pageNumber: number; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageAnnotationContext instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IImageAnnotationContext): google.cloud.vision.v1p2beta1.ImageAnnotationContext; + + /** + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.ImageAnnotationContext; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.ImageAnnotationContext; + + /** + * Verifies an ImageAnnotationContext message. + * @param message Plain 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 ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageAnnotationContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.ImageAnnotationContext; + + /** + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * @param message ImageAnnotationContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.ImageAnnotationContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageAnnotationContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageResponse. */ + interface IAnnotateImageResponse { + + /** AnnotateImageResponse faceAnnotations */ + faceAnnotations?: (google.cloud.vision.v1p2beta1.IFaceAnnotation[]|null); + + /** AnnotateImageResponse landmarkAnnotations */ + landmarkAnnotations?: (google.cloud.vision.v1p2beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse logoAnnotations */ + logoAnnotations?: (google.cloud.vision.v1p2beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse labelAnnotations */ + labelAnnotations?: (google.cloud.vision.v1p2beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse textAnnotations */ + textAnnotations?: (google.cloud.vision.v1p2beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse fullTextAnnotation */ + fullTextAnnotation?: (google.cloud.vision.v1p2beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation */ + safeSearchAnnotation?: (google.cloud.vision.v1p2beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation */ + imagePropertiesAnnotation?: (google.cloud.vision.v1p2beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation */ + cropHintsAnnotation?: (google.cloud.vision.v1p2beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection */ + webDetection?: (google.cloud.vision.v1p2beta1.IWebDetection|null); + + /** AnnotateImageResponse error */ + error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context */ + context?: (google.cloud.vision.v1p2beta1.IImageAnnotationContext|null); + } + + /** Represents an AnnotateImageResponse. */ + class AnnotateImageResponse implements IAnnotateImageResponse { + + /** + * Constructs a new AnnotateImageResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IAnnotateImageResponse); + + /** AnnotateImageResponse faceAnnotations. */ + public faceAnnotations: google.cloud.vision.v1p2beta1.IFaceAnnotation[]; + + /** AnnotateImageResponse landmarkAnnotations. */ + public landmarkAnnotations: google.cloud.vision.v1p2beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse logoAnnotations. */ + public logoAnnotations: google.cloud.vision.v1p2beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse labelAnnotations. */ + public labelAnnotations: google.cloud.vision.v1p2beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse textAnnotations. */ + public textAnnotations: google.cloud.vision.v1p2beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse fullTextAnnotation. */ + public fullTextAnnotation?: (google.cloud.vision.v1p2beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation. */ + public safeSearchAnnotation?: (google.cloud.vision.v1p2beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation. */ + public imagePropertiesAnnotation?: (google.cloud.vision.v1p2beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation. */ + public cropHintsAnnotation?: (google.cloud.vision.v1p2beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection. */ + public webDetection?: (google.cloud.vision.v1p2beta1.IWebDetection|null); + + /** AnnotateImageResponse error. */ + public error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context. */ + public context?: (google.cloud.vision.v1p2beta1.IImageAnnotationContext|null); + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageResponse instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IAnnotateImageResponse): google.cloud.vision.v1p2beta1.AnnotateImageResponse; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.AnnotateImageResponse; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.AnnotateImageResponse; + + /** + * Verifies an AnnotateImageResponse message. + * @param message Plain 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 AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.AnnotateImageResponse; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @param message AnnotateImageResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.AnnotateImageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateFileResponse. */ + interface IAnnotateFileResponse { + + /** AnnotateFileResponse inputConfig */ + inputConfig?: (google.cloud.vision.v1p2beta1.IInputConfig|null); + + /** AnnotateFileResponse responses */ + responses?: (google.cloud.vision.v1p2beta1.IAnnotateImageResponse[]|null); + } + + /** Represents an AnnotateFileResponse. */ + class AnnotateFileResponse implements IAnnotateFileResponse { + + /** + * Constructs a new AnnotateFileResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IAnnotateFileResponse); + + /** AnnotateFileResponse inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p2beta1.IInputConfig|null); + + /** AnnotateFileResponse responses. */ + public responses: google.cloud.vision.v1p2beta1.IAnnotateImageResponse[]; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateFileResponse instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IAnnotateFileResponse): google.cloud.vision.v1p2beta1.AnnotateFileResponse; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.AnnotateFileResponse; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.AnnotateFileResponse; + + /** + * Verifies an AnnotateFileResponse message. + * @param message Plain 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 AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateFileResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.AnnotateFileResponse; + + /** + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @param message AnnotateFileResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.AnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateFileResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesRequest. */ + interface IBatchAnnotateImagesRequest { + + /** BatchAnnotateImagesRequest requests */ + requests?: (google.cloud.vision.v1p2beta1.IAnnotateImageRequest[]|null); + } + + /** Represents a BatchAnnotateImagesRequest. */ + class BatchAnnotateImagesRequest implements IBatchAnnotateImagesRequest { + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest); + + /** BatchAnnotateImagesRequest requests. */ + public requests: google.cloud.vision.v1p2beta1.IAnnotateImageRequest[]; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest): google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesResponse. */ + interface IBatchAnnotateImagesResponse { + + /** BatchAnnotateImagesResponse responses */ + responses?: (google.cloud.vision.v1p2beta1.IAnnotateImageResponse[]|null); + } + + /** Represents a BatchAnnotateImagesResponse. */ + class BatchAnnotateImagesResponse implements IBatchAnnotateImagesResponse { + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse); + + /** BatchAnnotateImagesResponse responses. */ + public responses: google.cloud.vision.v1p2beta1.IAnnotateImageResponse[]; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse): google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncAnnotateFileRequest. */ + interface IAsyncAnnotateFileRequest { + + /** AsyncAnnotateFileRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1p2beta1.IInputConfig|null); + + /** AsyncAnnotateFileRequest features */ + features?: (google.cloud.vision.v1p2beta1.IFeature[]|null); + + /** AsyncAnnotateFileRequest imageContext */ + imageContext?: (google.cloud.vision.v1p2beta1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig */ + outputConfig?: (google.cloud.vision.v1p2beta1.IOutputConfig|null); + } + + /** Represents an AsyncAnnotateFileRequest. */ + class AsyncAnnotateFileRequest implements IAsyncAnnotateFileRequest { + + /** + * Constructs a new AsyncAnnotateFileRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest); + + /** AsyncAnnotateFileRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p2beta1.IInputConfig|null); + + /** AsyncAnnotateFileRequest features. */ + public features: google.cloud.vision.v1p2beta1.IFeature[]; + + /** AsyncAnnotateFileRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p2beta1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p2beta1.IOutputConfig|null); + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncAnnotateFileRequest instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest): google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest; + + /** + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest; + + /** + * Verifies an AsyncAnnotateFileRequest message. + * @param message Plain 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 AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncAnnotateFileRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest; + + /** + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncAnnotateFileRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncAnnotateFileResponse. */ + interface IAsyncAnnotateFileResponse { + + /** AsyncAnnotateFileResponse outputConfig */ + outputConfig?: (google.cloud.vision.v1p2beta1.IOutputConfig|null); + } + + /** Represents an AsyncAnnotateFileResponse. */ + class AsyncAnnotateFileResponse implements IAsyncAnnotateFileResponse { + + /** + * Constructs a new AsyncAnnotateFileResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse); + + /** AsyncAnnotateFileResponse outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p2beta1.IOutputConfig|null); + + /** + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncAnnotateFileResponse instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse): google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse; + + /** + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse; + + /** + * Verifies an AsyncAnnotateFileResponse message. + * @param message Plain 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 AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncAnnotateFileResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse; + + /** + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncAnnotateFileResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateFilesRequest. */ + interface IAsyncBatchAnnotateFilesRequest { + + /** AsyncBatchAnnotateFilesRequest requests */ + requests?: (google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest[]|null); + } + + /** Represents an AsyncBatchAnnotateFilesRequest. */ + class AsyncBatchAnnotateFilesRequest implements IAsyncBatchAnnotateFilesRequest { + + /** + * Constructs a new AsyncBatchAnnotateFilesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest); + + /** AsyncBatchAnnotateFilesRequest requests. */ + public requests: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest[]; + + /** + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateFilesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest): google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Verifies an AsyncBatchAnnotateFilesRequest message. + * @param message Plain 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 AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateFilesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateFilesResponse. */ + interface IAsyncBatchAnnotateFilesResponse { + + /** AsyncBatchAnnotateFilesResponse responses */ + responses?: (google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse[]|null); + } + + /** Represents an AsyncBatchAnnotateFilesResponse. */ + class AsyncBatchAnnotateFilesResponse implements IAsyncBatchAnnotateFilesResponse { + + /** + * Constructs a new AsyncBatchAnnotateFilesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse); + + /** AsyncBatchAnnotateFilesResponse responses. */ + public responses: google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse[]; + + /** + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateFilesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse): google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Verifies an AsyncBatchAnnotateFilesResponse message. + * @param message Plain 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 AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateFilesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an InputConfig. */ + interface IInputConfig { + + /** InputConfig gcsSource */ + gcsSource?: (google.cloud.vision.v1p2beta1.IGcsSource|null); + + /** InputConfig mimeType */ + mimeType?: (string|null); + } + + /** Represents an InputConfig. */ + class InputConfig implements IInputConfig { + + /** + * Constructs a new InputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IInputConfig); + + /** InputConfig gcsSource. */ + public gcsSource?: (google.cloud.vision.v1p2beta1.IGcsSource|null); + + /** InputConfig mimeType. */ + public mimeType: string; + + /** + * Creates a new InputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns InputConfig instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IInputConfig): google.cloud.vision.v1p2beta1.InputConfig; + + /** + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p2beta1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an InputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.InputConfig; + + /** + * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.InputConfig; + + /** + * Verifies an InputConfig message. + * @param message Plain 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 InputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns InputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.InputConfig; + + /** + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * @param message InputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.InputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this InputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an OutputConfig. */ + interface IOutputConfig { + + /** OutputConfig gcsDestination */ + gcsDestination?: (google.cloud.vision.v1p2beta1.IGcsDestination|null); + + /** OutputConfig batchSize */ + batchSize?: (number|null); + } + + /** Represents an OutputConfig. */ + class OutputConfig implements IOutputConfig { + + /** + * Constructs a new OutputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IOutputConfig); + + /** OutputConfig gcsDestination. */ + public gcsDestination?: (google.cloud.vision.v1p2beta1.IGcsDestination|null); + + /** OutputConfig batchSize. */ + public batchSize: number; + + /** + * Creates a new OutputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns OutputConfig instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IOutputConfig): google.cloud.vision.v1p2beta1.OutputConfig; + + /** + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p2beta1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OutputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.OutputConfig; + + /** + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.OutputConfig; + + /** + * Verifies an OutputConfig message. + * @param message Plain 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 OutputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OutputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.OutputConfig; + + /** + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * @param message OutputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OutputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GcsSource. */ + interface IGcsSource { + + /** GcsSource uri */ + uri?: (string|null); + } + + /** Represents a GcsSource. */ + class GcsSource implements IGcsSource { + + /** + * Constructs a new GcsSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IGcsSource); + + /** GcsSource uri. */ + public uri: string; + + /** + * Creates a new GcsSource instance using the specified properties. + * @param [properties] Properties to set + * @returns GcsSource instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IGcsSource): google.cloud.vision.v1p2beta1.GcsSource; + + /** + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GcsSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.GcsSource; + + /** + * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.GcsSource; + + /** + * Verifies a GcsSource message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GcsSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.GcsSource; + + /** + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * @param message GcsSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GcsSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GcsDestination. */ + interface IGcsDestination { + + /** GcsDestination uri */ + uri?: (string|null); + } + + /** Represents a GcsDestination. */ + class GcsDestination implements IGcsDestination { + + /** + * Constructs a new GcsDestination. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IGcsDestination); + + /** GcsDestination uri. */ + public uri: string; + + /** + * Creates a new GcsDestination instance using the specified properties. + * @param [properties] Properties to set + * @returns GcsDestination instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IGcsDestination): google.cloud.vision.v1p2beta1.GcsDestination; + + /** + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GcsDestination message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.GcsDestination; + + /** + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.GcsDestination; + + /** + * Verifies a GcsDestination message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GcsDestination + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.GcsDestination; + + /** + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @param message GcsDestination + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GcsDestination to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { + + /** OperationMetadata state */ + state?: (google.cloud.vision.v1p2beta1.OperationMetadata.State|null); + + /** OperationMetadata createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { + + /** + * Constructs a new OperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IOperationMetadata); + + /** OperationMetadata state. */ + public state: google.cloud.vision.v1p2beta1.OperationMetadata.State; + + /** OperationMetadata createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationMetadata instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IOperationMetadata): google.cloud.vision.v1p2beta1.OperationMetadata; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p2beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.OperationMetadata; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.OperationMetadata; + + /** + * Verifies an OperationMetadata message. + * @param message Plain 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 OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.OperationMetadata; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @param message OperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace OperationMetadata { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + CREATED = 1, + RUNNING = 2, + DONE = 3, + CANCELLED = 4 + } + } + + /** Likelihood enum. */ + enum Likelihood { + UNKNOWN = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IVertex): google.cloud.vision.v1p2beta1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedVertex. */ + interface INormalizedVertex { + + /** NormalizedVertex x */ + x?: (number|null); + + /** NormalizedVertex y */ + y?: (number|null); + } + + /** Represents a NormalizedVertex. */ + class NormalizedVertex implements INormalizedVertex { + + /** + * Constructs a new NormalizedVertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.INormalizedVertex); + + /** NormalizedVertex x. */ + public x: number; + + /** NormalizedVertex y. */ + public y: number; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedVertex instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.INormalizedVertex): google.cloud.vision.v1p2beta1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.NormalizedVertex; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.NormalizedVertex; + + /** + * Verifies a NormalizedVertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedVertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.NormalizedVertex; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @param message NormalizedVertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { + + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p2beta1.IVertex[]|null); + + /** BoundingPoly normalizedVertices */ + normalizedVertices?: (google.cloud.vision.v1p2beta1.INormalizedVertex[]|null); + } + + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { + + /** + * Constructs a new BoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IBoundingPoly); + + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p2beta1.IVertex[]; + + /** BoundingPoly normalizedVertices. */ + public normalizedVertices: google.cloud.vision.v1p2beta1.INormalizedVertex[]; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IBoundingPoly): google.cloud.vision.v1p2beta1.BoundingPoly; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.BoundingPoly; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.BoundingPoly; + + /** + * Verifies a BoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.BoundingPoly; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Position. */ + interface IPosition { + + /** Position x */ + x?: (number|null); + + /** Position y */ + y?: (number|null); + + /** Position z */ + z?: (number|null); + } + + /** Represents a Position. */ + class Position implements IPosition { + + /** + * Constructs a new Position. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IPosition); + + /** Position x. */ + public x: number; + + /** Position y. */ + public y: number; + + /** Position z. */ + public z: number; + + /** + * Creates a new Position instance using the specified properties. + * @param [properties] Properties to set + * @returns Position instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IPosition): google.cloud.vision.v1p2beta1.Position; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Position message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Position; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Position; + + /** + * Verifies a Position message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Position + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Position; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Position to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a TextAnnotation. */ + interface ITextAnnotation { + + /** TextAnnotation pages */ + pages?: (google.cloud.vision.v1p2beta1.IPage[]|null); + + /** TextAnnotation text */ + text?: (string|null); + } + + /** Represents a TextAnnotation. */ + class TextAnnotation implements ITextAnnotation { + + /** + * Constructs a new TextAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.ITextAnnotation); + + /** TextAnnotation pages. */ + public pages: google.cloud.vision.v1p2beta1.IPage[]; + + /** TextAnnotation text. */ + public text: string; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns TextAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.ITextAnnotation): google.cloud.vision.v1p2beta1.TextAnnotation; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.TextAnnotation; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.TextAnnotation; + + /** + * Verifies a TextAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.TextAnnotation; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @param message TextAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace TextAnnotation { + + /** Properties of a DetectedLanguage. */ + interface IDetectedLanguage { + + /** DetectedLanguage languageCode */ + languageCode?: (string|null); + + /** DetectedLanguage confidence */ + confidence?: (number|null); + } + + /** Represents a DetectedLanguage. */ + class DetectedLanguage implements IDetectedLanguage { + + /** + * Constructs a new DetectedLanguage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage); + + /** DetectedLanguage languageCode. */ + public languageCode: string; + + /** DetectedLanguage confidence. */ + public confidence: number; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedLanguage instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage): google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage; + + /** + * Verifies a DetectedLanguage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedLanguage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @param message DetectedLanguage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedLanguage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DetectedBreak. */ + interface IDetectedBreak { + + /** DetectedBreak type */ + type?: (google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType|null); + + /** DetectedBreak isPrefix */ + isPrefix?: (boolean|null); + } + + /** Represents a DetectedBreak. */ + class DetectedBreak implements IDetectedBreak { + + /** + * Constructs a new DetectedBreak. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak); + + /** DetectedBreak type. */ + public type: google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType; + + /** DetectedBreak isPrefix. */ + public isPrefix: boolean; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedBreak instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak): google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak; + + /** + * Verifies a DetectedBreak message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedBreak + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @param message DetectedBreak + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedBreak to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace DetectedBreak { + + /** BreakType enum. */ + enum BreakType { + UNKNOWN = 0, + SPACE = 1, + SURE_SPACE = 2, + EOL_SURE_SPACE = 3, + HYPHEN = 4, + LINE_BREAK = 5 + } + } + + /** Properties of a TextProperty. */ + interface ITextProperty { + + /** TextProperty detectedLanguages */ + detectedLanguages?: (google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage[]|null); + + /** TextProperty detectedBreak */ + detectedBreak?: (google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak|null); + } + + /** Represents a TextProperty. */ + class TextProperty implements ITextProperty { + + /** + * Constructs a new TextProperty. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty); + + /** TextProperty detectedLanguages. */ + public detectedLanguages: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage[]; + + /** TextProperty detectedBreak. */ + public detectedBreak?: (google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak|null); + + /** + * Creates a new TextProperty instance using the specified properties. + * @param [properties] Properties to set + * @returns TextProperty instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty): google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty; + + /** + * Verifies a TextProperty message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextProperty + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @param message TextProperty + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextProperty to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a Page. */ + interface IPage { + + /** Page property */ + property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Page width */ + width?: (number|null); + + /** Page height */ + height?: (number|null); + + /** Page blocks */ + blocks?: (google.cloud.vision.v1p2beta1.IBlock[]|null); + + /** Page confidence */ + confidence?: (number|null); + } + + /** Represents a Page. */ + class Page implements IPage { + + /** + * Constructs a new Page. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IPage); + + /** Page property. */ + public property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Page width. */ + public width: number; + + /** Page height. */ + public height: number; + + /** Page blocks. */ + public blocks: google.cloud.vision.v1p2beta1.IBlock[]; + + /** Page confidence. */ + public confidence: number; + + /** + * Creates a new Page instance using the specified properties. + * @param [properties] Properties to set + * @returns Page instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IPage): google.cloud.vision.v1p2beta1.Page; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Page message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Page; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Page; + + /** + * Verifies a Page message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Page + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Page; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @param message Page + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Page, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Page to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Block. */ + interface IBlock { + + /** Block property */ + property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox */ + boundingBox?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** Block paragraphs */ + paragraphs?: (google.cloud.vision.v1p2beta1.IParagraph[]|null); + + /** Block blockType */ + blockType?: (google.cloud.vision.v1p2beta1.Block.BlockType|null); + + /** Block confidence */ + confidence?: (number|null); + } + + /** Represents a Block. */ + class Block implements IBlock { + + /** + * Constructs a new Block. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IBlock); + + /** Block property. */ + public property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** Block paragraphs. */ + public paragraphs: google.cloud.vision.v1p2beta1.IParagraph[]; + + /** Block blockType. */ + public blockType: google.cloud.vision.v1p2beta1.Block.BlockType; + + /** Block confidence. */ + public confidence: number; + + /** + * Creates a new Block instance using the specified properties. + * @param [properties] Properties to set + * @returns Block instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IBlock): google.cloud.vision.v1p2beta1.Block; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Block message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Block; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Block; + + /** + * Verifies a Block message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Block + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Block; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @param message Block + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Block, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Block to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Block { + + /** BlockType enum. */ + enum BlockType { + UNKNOWN = 0, + TEXT = 1, + TABLE = 2, + PICTURE = 3, + RULER = 4, + BARCODE = 5 + } + } + + /** Properties of a Paragraph. */ + interface IParagraph { + + /** Paragraph property */ + property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox */ + boundingBox?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** Paragraph words */ + words?: (google.cloud.vision.v1p2beta1.IWord[]|null); + + /** Paragraph confidence */ + confidence?: (number|null); + } + + /** Represents a Paragraph. */ + class Paragraph implements IParagraph { + + /** + * Constructs a new Paragraph. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IParagraph); + + /** Paragraph property. */ + public property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** Paragraph words. */ + public words: google.cloud.vision.v1p2beta1.IWord[]; + + /** Paragraph confidence. */ + public confidence: number; + + /** + * Creates a new Paragraph instance using the specified properties. + * @param [properties] Properties to set + * @returns Paragraph instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IParagraph): google.cloud.vision.v1p2beta1.Paragraph; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Paragraph; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Paragraph; + + /** + * Verifies a Paragraph message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Paragraph + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Paragraph; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @param message Paragraph + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Paragraph, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Paragraph to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Word. */ + interface IWord { + + /** Word property */ + property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox */ + boundingBox?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** Word symbols */ + symbols?: (google.cloud.vision.v1p2beta1.ISymbol[]|null); + + /** Word confidence */ + confidence?: (number|null); + } + + /** Represents a Word. */ + class Word implements IWord { + + /** + * Constructs a new Word. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IWord); + + /** Word property. */ + public property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** Word symbols. */ + public symbols: google.cloud.vision.v1p2beta1.ISymbol[]; + + /** Word confidence. */ + public confidence: number; + + /** + * Creates a new Word instance using the specified properties. + * @param [properties] Properties to set + * @returns Word instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IWord): google.cloud.vision.v1p2beta1.Word; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Word message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Word; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Word; + + /** + * Verifies a Word message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Word + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Word; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @param message Word + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Word, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Word to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Symbol. */ + interface ISymbol { + + /** Symbol property */ + property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox */ + boundingBox?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** Symbol text */ + text?: (string|null); + + /** Symbol confidence */ + confidence?: (number|null); + } + + /** Represents a Symbol. */ + class Symbol implements ISymbol { + + /** + * Constructs a new Symbol. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.ISymbol); + + /** Symbol property. */ + public property?: (google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p2beta1.IBoundingPoly|null); + + /** Symbol text. */ + public text: string; + + /** Symbol confidence. */ + public confidence: number; + + /** + * Creates a new Symbol instance using the specified properties. + * @param [properties] Properties to set + * @returns Symbol instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.ISymbol): google.cloud.vision.v1p2beta1.Symbol; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Symbol; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Symbol; + + /** + * Verifies a Symbol message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Symbol + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Symbol; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @param message Symbol + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Symbol, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Symbol to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetection. */ + interface IWebDetection { + + /** WebDetection webEntities */ + webEntities?: (google.cloud.vision.v1p2beta1.WebDetection.IWebEntity[]|null); + + /** WebDetection fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]|null); + + /** WebDetection partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]|null); + + /** WebDetection pagesWithMatchingImages */ + pagesWithMatchingImages?: (google.cloud.vision.v1p2beta1.WebDetection.IWebPage[]|null); + + /** WebDetection visuallySimilarImages */ + visuallySimilarImages?: (google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]|null); + + /** WebDetection bestGuessLabels */ + bestGuessLabels?: (google.cloud.vision.v1p2beta1.WebDetection.IWebLabel[]|null); + } + + /** Represents a WebDetection. */ + class WebDetection implements IWebDetection { + + /** + * Constructs a new WebDetection. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IWebDetection); + + /** WebDetection webEntities. */ + public webEntities: google.cloud.vision.v1p2beta1.WebDetection.IWebEntity[]; + + /** WebDetection fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]; + + /** WebDetection partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]; + + /** WebDetection pagesWithMatchingImages. */ + public pagesWithMatchingImages: google.cloud.vision.v1p2beta1.WebDetection.IWebPage[]; + + /** WebDetection visuallySimilarImages. */ + public visuallySimilarImages: google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]; + + /** WebDetection bestGuessLabels. */ + public bestGuessLabels: google.cloud.vision.v1p2beta1.WebDetection.IWebLabel[]; + + /** + * Creates a new WebDetection instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetection instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IWebDetection): google.cloud.vision.v1p2beta1.WebDetection; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.WebDetection; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.WebDetection; + + /** + * Verifies a WebDetection message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetection + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.WebDetection; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @param message WebDetection + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.WebDetection, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetection to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace WebDetection { + + /** Properties of a WebEntity. */ + interface IWebEntity { + + /** WebEntity entityId */ + entityId?: (string|null); + + /** WebEntity score */ + score?: (number|null); + + /** WebEntity description */ + description?: (string|null); + } + + /** Represents a WebEntity. */ + class WebEntity implements IWebEntity { + + /** + * Constructs a new WebEntity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.WebDetection.IWebEntity); + + /** WebEntity entityId. */ + public entityId: string; + + /** WebEntity score. */ + public score: number; + + /** WebEntity description. */ + public description: string; + + /** + * Creates a new WebEntity instance using the specified properties. + * @param [properties] Properties to set + * @returns WebEntity instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.WebDetection.IWebEntity): google.cloud.vision.v1p2beta1.WebDetection.WebEntity; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.WebDetection.WebEntity; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.WebDetection.WebEntity; + + /** + * Verifies a WebEntity message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebEntity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.WebDetection.WebEntity; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @param message WebEntity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.WebDetection.WebEntity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebEntity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebImage. */ + interface IWebImage { + + /** WebImage url */ + url?: (string|null); + + /** WebImage score */ + score?: (number|null); + } + + /** Represents a WebImage. */ + class WebImage implements IWebImage { + + /** + * Constructs a new WebImage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.WebDetection.IWebImage); + + /** WebImage url. */ + public url: string; + + /** WebImage score. */ + public score: number; + + /** + * Creates a new WebImage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebImage instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.WebDetection.IWebImage): google.cloud.vision.v1p2beta1.WebDetection.WebImage; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.WebDetection.WebImage; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.WebDetection.WebImage; + + /** + * Verifies a WebImage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebImage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.WebDetection.WebImage; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @param message WebImage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.WebDetection.WebImage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebImage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebPage. */ + interface IWebPage { + + /** WebPage url */ + url?: (string|null); + + /** WebPage score */ + score?: (number|null); + + /** WebPage pageTitle */ + pageTitle?: (string|null); + + /** WebPage fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]|null); + + /** WebPage partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]|null); + } + + /** Represents a WebPage. */ + class WebPage implements IWebPage { + + /** + * Constructs a new WebPage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.WebDetection.IWebPage); + + /** WebPage url. */ + public url: string; + + /** WebPage score. */ + public score: number; + + /** WebPage pageTitle. */ + public pageTitle: string; + + /** WebPage fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]; + + /** WebPage partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1p2beta1.WebDetection.IWebImage[]; + + /** + * Creates a new WebPage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebPage instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.WebDetection.IWebPage): google.cloud.vision.v1p2beta1.WebDetection.WebPage; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.WebDetection.WebPage; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.WebDetection.WebPage; + + /** + * Verifies a WebPage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebPage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.WebDetection.WebPage; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @param message WebPage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.WebDetection.WebPage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebPage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebLabel. */ + interface IWebLabel { + + /** WebLabel label */ + label?: (string|null); + + /** WebLabel languageCode */ + languageCode?: (string|null); + } + + /** Represents a WebLabel. */ + class WebLabel implements IWebLabel { + + /** + * Constructs a new WebLabel. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.WebDetection.IWebLabel); + + /** WebLabel label. */ + public label: string; + + /** WebLabel languageCode. */ + public languageCode: string; + + /** + * Creates a new WebLabel instance using the specified properties. + * @param [properties] Properties to set + * @returns WebLabel instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.WebDetection.IWebLabel): google.cloud.vision.v1p2beta1.WebDetection.WebLabel; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.WebDetection.WebLabel; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.WebDetection.WebLabel; + + /** + * Verifies a WebLabel message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebLabel + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.WebDetection.WebLabel; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @param message WebLabel + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.WebDetection.WebLabel, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebLabel to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + } + + /** Namespace v1p3beta1. */ + namespace v1p3beta1 { + + /** Represents an ImageAnnotator */ + class ImageAnnotator extends $protobuf.rpc.Service { + + /** + * Constructs a new ImageAnnotator 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 ImageAnnotator 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): ImageAnnotator; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + */ + public batchAnnotateImages(request: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, callback: google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImagesCallback): void; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @returns Promise + */ + public batchAnnotateImages(request: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest): Promise; + + /** + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, callback: google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback): void; + + /** + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @returns Promise + */ + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest): Promise; + } + + namespace ImageAnnotator { + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#batchAnnotateImages}. + * @param error Error, if any + * @param [response] BatchAnnotateImagesResponse + */ + type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @param error Error, if any + * @param [response] Operation + */ + type AsyncBatchAnnotateFilesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of a Feature. */ + interface IFeature { + + /** Feature type */ + type?: (google.cloud.vision.v1p3beta1.Feature.Type|null); + + /** Feature maxResults */ + maxResults?: (number|null); + + /** Feature model */ + model?: (string|null); + } + + /** Represents a Feature. */ + class Feature implements IFeature { + + /** + * Constructs a new Feature. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IFeature); + + /** Feature type. */ + public type: google.cloud.vision.v1p3beta1.Feature.Type; + + /** Feature maxResults. */ + public maxResults: number; + + /** Feature model. */ + public model: string; + + /** + * Creates a new Feature instance using the specified properties. + * @param [properties] Properties to set + * @returns Feature instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IFeature): google.cloud.vision.v1p3beta1.Feature; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Feature; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Feature; + + /** + * Verifies a Feature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Feature + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Feature; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @param message Feature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Feature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Feature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Feature { + + /** Type enum. */ + enum Type { + TYPE_UNSPECIFIED = 0, + FACE_DETECTION = 1, + LANDMARK_DETECTION = 2, + LOGO_DETECTION = 3, + LABEL_DETECTION = 4, + TEXT_DETECTION = 5, + DOCUMENT_TEXT_DETECTION = 11, + SAFE_SEARCH_DETECTION = 6, + IMAGE_PROPERTIES = 7, + CROP_HINTS = 9, + WEB_DETECTION = 10, + PRODUCT_SEARCH = 12, + OBJECT_LOCALIZATION = 19 + } + } + + /** Properties of an ImageSource. */ + interface IImageSource { + + /** ImageSource gcsImageUri */ + gcsImageUri?: (string|null); + + /** ImageSource imageUri */ + imageUri?: (string|null); + } + + /** Represents an ImageSource. */ + class ImageSource implements IImageSource { + + /** + * Constructs a new ImageSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IImageSource); + + /** ImageSource gcsImageUri. */ + public gcsImageUri: string; + + /** ImageSource imageUri. */ + public imageUri: string; + + /** + * Creates a new ImageSource instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageSource instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IImageSource): google.cloud.vision.v1p3beta1.ImageSource; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ImageSource; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ImageSource; + + /** + * Verifies an ImageSource message. + * @param message Plain 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 ImageSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ImageSource; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @param message ImageSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ImageSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Image. */ + interface IImage { + + /** Image content */ + content?: (Uint8Array|null); + + /** Image source */ + source?: (google.cloud.vision.v1p3beta1.IImageSource|null); + } + + /** Represents an Image. */ + class Image implements IImage { + + /** + * Constructs a new Image. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IImage); + + /** Image content. */ + public content: Uint8Array; + + /** Image source. */ + public source?: (google.cloud.vision.v1p3beta1.IImageSource|null); + + /** + * Creates a new Image instance using the specified properties. + * @param [properties] Properties to set + * @returns Image instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IImage): google.cloud.vision.v1p3beta1.Image; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Image message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Image; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Image; + + /** + * Verifies an Image message. + * @param message Plain 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 Image message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Image + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Image; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @param message Image + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Image, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Image to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceAnnotation. */ + interface IFaceAnnotation { + + /** FaceAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly */ + fdBoundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks */ + landmarks?: (google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark[]|null); + + /** FaceAnnotation rollAngle */ + rollAngle?: (number|null); + + /** FaceAnnotation panAngle */ + panAngle?: (number|null); + + /** FaceAnnotation tiltAngle */ + tiltAngle?: (number|null); + + /** FaceAnnotation detectionConfidence */ + detectionConfidence?: (number|null); + + /** FaceAnnotation landmarkingConfidence */ + landmarkingConfidence?: (number|null); + + /** FaceAnnotation joyLikelihood */ + joyLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** FaceAnnotation sorrowLikelihood */ + sorrowLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** FaceAnnotation angerLikelihood */ + angerLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** FaceAnnotation surpriseLikelihood */ + surpriseLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** FaceAnnotation underExposedLikelihood */ + underExposedLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** FaceAnnotation blurredLikelihood */ + blurredLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** FaceAnnotation headwearLikelihood */ + headwearLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + } + + /** Represents a FaceAnnotation. */ + class FaceAnnotation implements IFaceAnnotation { + + /** + * Constructs a new FaceAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IFaceAnnotation); + + /** FaceAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly. */ + public fdBoundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks. */ + public landmarks: google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark[]; + + /** FaceAnnotation rollAngle. */ + public rollAngle: number; + + /** FaceAnnotation panAngle. */ + public panAngle: number; + + /** FaceAnnotation tiltAngle. */ + public tiltAngle: number; + + /** FaceAnnotation detectionConfidence. */ + public detectionConfidence: number; + + /** FaceAnnotation landmarkingConfidence. */ + public landmarkingConfidence: number; + + /** FaceAnnotation joyLikelihood. */ + public joyLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + + /** FaceAnnotation sorrowLikelihood. */ + public sorrowLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + + /** FaceAnnotation angerLikelihood. */ + public angerLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + + /** FaceAnnotation surpriseLikelihood. */ + public surpriseLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + + /** FaceAnnotation underExposedLikelihood. */ + public underExposedLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + + /** FaceAnnotation blurredLikelihood. */ + public blurredLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + + /** FaceAnnotation headwearLikelihood. */ + public headwearLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IFaceAnnotation): google.cloud.vision.v1p3beta1.FaceAnnotation; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.FaceAnnotation; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.FaceAnnotation; + + /** + * Verifies a FaceAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.FaceAnnotation; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @param message FaceAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace FaceAnnotation { + + /** Properties of a Landmark. */ + interface ILandmark { + + /** Landmark type */ + type?: (google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type|null); + + /** Landmark position */ + position?: (google.cloud.vision.v1p3beta1.IPosition|null); + } + + /** Represents a Landmark. */ + class Landmark implements ILandmark { + + /** + * Constructs a new Landmark. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark); + + /** Landmark type. */ + public type: google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type; + + /** Landmark position. */ + public position?: (google.cloud.vision.v1p3beta1.IPosition|null); + + /** + * Creates a new Landmark instance using the specified properties. + * @param [properties] Properties to set + * @returns Landmark instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark): google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark; + + /** + * Verifies a Landmark message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Landmark + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @param message Landmark + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Landmark to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Landmark { + + /** Type enum. */ + enum Type { + UNKNOWN_LANDMARK = 0, + LEFT_EYE = 1, + RIGHT_EYE = 2, + LEFT_OF_LEFT_EYEBROW = 3, + RIGHT_OF_LEFT_EYEBROW = 4, + LEFT_OF_RIGHT_EYEBROW = 5, + RIGHT_OF_RIGHT_EYEBROW = 6, + MIDPOINT_BETWEEN_EYES = 7, + NOSE_TIP = 8, + UPPER_LIP = 9, + LOWER_LIP = 10, + MOUTH_LEFT = 11, + MOUTH_RIGHT = 12, + MOUTH_CENTER = 13, + NOSE_BOTTOM_RIGHT = 14, + NOSE_BOTTOM_LEFT = 15, + NOSE_BOTTOM_CENTER = 16, + LEFT_EYE_TOP_BOUNDARY = 17, + LEFT_EYE_RIGHT_CORNER = 18, + LEFT_EYE_BOTTOM_BOUNDARY = 19, + LEFT_EYE_LEFT_CORNER = 20, + RIGHT_EYE_TOP_BOUNDARY = 21, + RIGHT_EYE_RIGHT_CORNER = 22, + RIGHT_EYE_BOTTOM_BOUNDARY = 23, + RIGHT_EYE_LEFT_CORNER = 24, + LEFT_EYEBROW_UPPER_MIDPOINT = 25, + RIGHT_EYEBROW_UPPER_MIDPOINT = 26, + LEFT_EAR_TRAGION = 27, + RIGHT_EAR_TRAGION = 28, + LEFT_EYE_PUPIL = 29, + RIGHT_EYE_PUPIL = 30, + FOREHEAD_GLABELLA = 31, + CHIN_GNATHION = 32, + CHIN_LEFT_GONION = 33, + CHIN_RIGHT_GONION = 34 + } + } + } + + /** Properties of a LocationInfo. */ + interface ILocationInfo { + + /** LocationInfo latLng */ + latLng?: (google.type.ILatLng|null); + } + + /** Represents a LocationInfo. */ + class LocationInfo implements ILocationInfo { + + /** + * Constructs a new LocationInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ILocationInfo); + + /** LocationInfo latLng. */ + public latLng?: (google.type.ILatLng|null); + + /** + * Creates a new LocationInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns LocationInfo instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ILocationInfo): google.cloud.vision.v1p3beta1.LocationInfo; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.LocationInfo; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.LocationInfo; + + /** + * Verifies a LocationInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocationInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.LocationInfo; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @param message LocationInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.LocationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocationInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Property. */ + interface IProperty { + + /** Property name */ + name?: (string|null); + + /** Property value */ + value?: (string|null); + + /** Property uint64Value */ + uint64Value?: (number|Long|null); + } + + /** Represents a Property. */ + class Property implements IProperty { + + /** + * Constructs a new Property. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IProperty); + + /** Property name. */ + public name: string; + + /** Property value. */ + public value: string; + + /** Property uint64Value. */ + public uint64Value: (number|Long); + + /** + * Creates a new Property instance using the specified properties. + * @param [properties] Properties to set + * @returns Property instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IProperty): google.cloud.vision.v1p3beta1.Property; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Property message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Property; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Property; + + /** + * Verifies a Property message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Property + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Property; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @param message Property + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Property, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Property to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EntityAnnotation. */ + interface IEntityAnnotation { + + /** EntityAnnotation mid */ + mid?: (string|null); + + /** EntityAnnotation locale */ + locale?: (string|null); + + /** EntityAnnotation description */ + description?: (string|null); + + /** EntityAnnotation score */ + score?: (number|null); + + /** EntityAnnotation confidence */ + confidence?: (number|null); + + /** EntityAnnotation topicality */ + topicality?: (number|null); + + /** EntityAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** EntityAnnotation locations */ + locations?: (google.cloud.vision.v1p3beta1.ILocationInfo[]|null); + + /** EntityAnnotation properties */ + properties?: (google.cloud.vision.v1p3beta1.IProperty[]|null); + } + + /** Represents an EntityAnnotation. */ + class EntityAnnotation implements IEntityAnnotation { + + /** + * Constructs a new EntityAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IEntityAnnotation); + + /** EntityAnnotation mid. */ + public mid: string; + + /** EntityAnnotation locale. */ + public locale: string; + + /** EntityAnnotation description. */ + public description: string; + + /** EntityAnnotation score. */ + public score: number; + + /** EntityAnnotation confidence. */ + public confidence: number; + + /** EntityAnnotation topicality. */ + public topicality: number; + + /** EntityAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** EntityAnnotation locations. */ + public locations: google.cloud.vision.v1p3beta1.ILocationInfo[]; + + /** EntityAnnotation properties. */ + public properties: google.cloud.vision.v1p3beta1.IProperty[]; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns EntityAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IEntityAnnotation): google.cloud.vision.v1p3beta1.EntityAnnotation; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.EntityAnnotation; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.EntityAnnotation; + + /** + * Verifies an EntityAnnotation message. + * @param message Plain 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 EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EntityAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.EntityAnnotation; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @param message EntityAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.EntityAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EntityAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LocalizedObjectAnnotation. */ + interface ILocalizedObjectAnnotation { + + /** LocalizedObjectAnnotation mid */ + mid?: (string|null); + + /** LocalizedObjectAnnotation languageCode */ + languageCode?: (string|null); + + /** LocalizedObjectAnnotation name */ + name?: (string|null); + + /** LocalizedObjectAnnotation score */ + score?: (number|null); + + /** LocalizedObjectAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + } + + /** Represents a LocalizedObjectAnnotation. */ + class LocalizedObjectAnnotation implements ILocalizedObjectAnnotation { + + /** + * Constructs a new LocalizedObjectAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation); + + /** LocalizedObjectAnnotation mid. */ + public mid: string; + + /** LocalizedObjectAnnotation languageCode. */ + public languageCode: string; + + /** LocalizedObjectAnnotation name. */ + public name: string; + + /** LocalizedObjectAnnotation score. */ + public score: number; + + /** LocalizedObjectAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** + * Creates a new LocalizedObjectAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LocalizedObjectAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation): google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation; + + /** + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @param message LocalizedObjectAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @param message LocalizedObjectAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation; + + /** + * Verifies a LocalizedObjectAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocalizedObjectAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation; + + /** + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. + * @param message LocalizedObjectAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocalizedObjectAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SafeSearchAnnotation. */ + interface ISafeSearchAnnotation { + + /** SafeSearchAnnotation adult */ + adult?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** SafeSearchAnnotation spoof */ + spoof?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** SafeSearchAnnotation medical */ + medical?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** SafeSearchAnnotation violence */ + violence?: (google.cloud.vision.v1p3beta1.Likelihood|null); + + /** SafeSearchAnnotation racy */ + racy?: (google.cloud.vision.v1p3beta1.Likelihood|null); + } + + /** Represents a SafeSearchAnnotation. */ + class SafeSearchAnnotation implements ISafeSearchAnnotation { + + /** + * Constructs a new SafeSearchAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ISafeSearchAnnotation); + + /** SafeSearchAnnotation adult. */ + public adult: google.cloud.vision.v1p3beta1.Likelihood; + + /** SafeSearchAnnotation spoof. */ + public spoof: google.cloud.vision.v1p3beta1.Likelihood; + + /** SafeSearchAnnotation medical. */ + public medical: google.cloud.vision.v1p3beta1.Likelihood; + + /** SafeSearchAnnotation violence. */ + public violence: google.cloud.vision.v1p3beta1.Likelihood; + + /** SafeSearchAnnotation racy. */ + public racy: google.cloud.vision.v1p3beta1.Likelihood; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns SafeSearchAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ISafeSearchAnnotation): google.cloud.vision.v1p3beta1.SafeSearchAnnotation; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.SafeSearchAnnotation; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.SafeSearchAnnotation; + + /** + * Verifies a SafeSearchAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SafeSearchAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.SafeSearchAnnotation; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @param message SafeSearchAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.SafeSearchAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LatLongRect. */ + interface ILatLongRect { + + /** LatLongRect minLatLng */ + minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng */ + maxLatLng?: (google.type.ILatLng|null); + } + + /** Represents a LatLongRect. */ + class LatLongRect implements ILatLongRect { + + /** + * Constructs a new LatLongRect. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ILatLongRect); + + /** LatLongRect minLatLng. */ + public minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng. */ + public maxLatLng?: (google.type.ILatLng|null); + + /** + * Creates a new LatLongRect instance using the specified properties. + * @param [properties] Properties to set + * @returns LatLongRect instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ILatLongRect): google.cloud.vision.v1p3beta1.LatLongRect; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.LatLongRect; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.LatLongRect; + + /** + * Verifies a LatLongRect message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LatLongRect + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.LatLongRect; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @param message LatLongRect + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.LatLongRect, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LatLongRect to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ColorInfo. */ + interface IColorInfo { + + /** ColorInfo color */ + color?: (google.type.IColor|null); + + /** ColorInfo score */ + score?: (number|null); + + /** ColorInfo pixelFraction */ + pixelFraction?: (number|null); + } + + /** Represents a ColorInfo. */ + class ColorInfo implements IColorInfo { + + /** + * Constructs a new ColorInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IColorInfo); + + /** ColorInfo color. */ + public color?: (google.type.IColor|null); + + /** ColorInfo score. */ + public score: number; + + /** ColorInfo pixelFraction. */ + public pixelFraction: number; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns ColorInfo instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IColorInfo): google.cloud.vision.v1p3beta1.ColorInfo; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ColorInfo; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ColorInfo; + + /** + * Verifies a ColorInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ColorInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ColorInfo; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @param message ColorInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ColorInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DominantColorsAnnotation. */ + interface IDominantColorsAnnotation { + + /** DominantColorsAnnotation colors */ + colors?: (google.cloud.vision.v1p3beta1.IColorInfo[]|null); + } + + /** Represents a DominantColorsAnnotation. */ + class DominantColorsAnnotation implements IDominantColorsAnnotation { + + /** + * Constructs a new DominantColorsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IDominantColorsAnnotation); + + /** DominantColorsAnnotation colors. */ + public colors: google.cloud.vision.v1p3beta1.IColorInfo[]; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns DominantColorsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IDominantColorsAnnotation): google.cloud.vision.v1p3beta1.DominantColorsAnnotation; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.DominantColorsAnnotation; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.DominantColorsAnnotation; + + /** + * Verifies a DominantColorsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DominantColorsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.DominantColorsAnnotation; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @param message DominantColorsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.DominantColorsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageProperties. */ + interface IImageProperties { + + /** ImageProperties dominantColors */ + dominantColors?: (google.cloud.vision.v1p3beta1.IDominantColorsAnnotation|null); + } + + /** Represents an ImageProperties. */ + class ImageProperties implements IImageProperties { + + /** + * Constructs a new ImageProperties. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IImageProperties); + + /** ImageProperties dominantColors. */ + public dominantColors?: (google.cloud.vision.v1p3beta1.IDominantColorsAnnotation|null); + + /** + * Creates a new ImageProperties instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageProperties instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IImageProperties): google.cloud.vision.v1p3beta1.ImageProperties; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ImageProperties; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ImageProperties; + + /** + * Verifies an ImageProperties message. + * @param message Plain 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 ImageProperties message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageProperties + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ImageProperties; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @param message ImageProperties + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ImageProperties, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageProperties to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHint. */ + interface ICropHint { + + /** CropHint boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** CropHint confidence */ + confidence?: (number|null); + + /** CropHint importanceFraction */ + importanceFraction?: (number|null); + } + + /** Represents a CropHint. */ + class CropHint implements ICropHint { + + /** + * Constructs a new CropHint. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ICropHint); + + /** CropHint boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** CropHint confidence. */ + public confidence: number; + + /** CropHint importanceFraction. */ + public importanceFraction: number; + + /** + * Creates a new CropHint instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHint instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ICropHint): google.cloud.vision.v1p3beta1.CropHint; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.CropHint; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.CropHint; + + /** + * Verifies a CropHint message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHint + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.CropHint; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @param message CropHint + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.CropHint, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHint to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsAnnotation. */ + interface ICropHintsAnnotation { + + /** CropHintsAnnotation cropHints */ + cropHints?: (google.cloud.vision.v1p3beta1.ICropHint[]|null); + } + + /** Represents a CropHintsAnnotation. */ + class CropHintsAnnotation implements ICropHintsAnnotation { + + /** + * Constructs a new CropHintsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ICropHintsAnnotation); + + /** CropHintsAnnotation cropHints. */ + public cropHints: google.cloud.vision.v1p3beta1.ICropHint[]; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ICropHintsAnnotation): google.cloud.vision.v1p3beta1.CropHintsAnnotation; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.CropHintsAnnotation; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.CropHintsAnnotation; + + /** + * Verifies a CropHintsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.CropHintsAnnotation; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @param message CropHintsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.CropHintsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsParams. */ + interface ICropHintsParams { + + /** CropHintsParams aspectRatios */ + aspectRatios?: (number[]|null); + } + + /** Represents a CropHintsParams. */ + class CropHintsParams implements ICropHintsParams { + + /** + * Constructs a new CropHintsParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ICropHintsParams); + + /** CropHintsParams aspectRatios. */ + public aspectRatios: number[]; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsParams instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ICropHintsParams): google.cloud.vision.v1p3beta1.CropHintsParams; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.CropHintsParams; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.CropHintsParams; + + /** + * Verifies a CropHintsParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.CropHintsParams; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @param message CropHintsParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.CropHintsParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetectionParams. */ + interface IWebDetectionParams { + + /** WebDetectionParams includeGeoResults */ + includeGeoResults?: (boolean|null); + } + + /** Represents a WebDetectionParams. */ + class WebDetectionParams implements IWebDetectionParams { + + /** + * Constructs a new WebDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IWebDetectionParams); + + /** WebDetectionParams includeGeoResults. */ + public includeGeoResults: boolean; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IWebDetectionParams): google.cloud.vision.v1p3beta1.WebDetectionParams; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.WebDetectionParams; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.WebDetectionParams; + + /** + * Verifies a WebDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.WebDetectionParams; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @param message WebDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.WebDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageContext. */ + interface IImageContext { + + /** ImageContext latLongRect */ + latLongRect?: (google.cloud.vision.v1p3beta1.ILatLongRect|null); + + /** ImageContext languageHints */ + languageHints?: (string[]|null); + + /** ImageContext cropHintsParams */ + cropHintsParams?: (google.cloud.vision.v1p3beta1.ICropHintsParams|null); + + /** ImageContext productSearchParams */ + productSearchParams?: (google.cloud.vision.v1p3beta1.IProductSearchParams|null); + + /** ImageContext webDetectionParams */ + webDetectionParams?: (google.cloud.vision.v1p3beta1.IWebDetectionParams|null); + } + + /** Represents an ImageContext. */ + class ImageContext implements IImageContext { + + /** + * Constructs a new ImageContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IImageContext); + + /** ImageContext latLongRect. */ + public latLongRect?: (google.cloud.vision.v1p3beta1.ILatLongRect|null); + + /** ImageContext languageHints. */ + public languageHints: string[]; + + /** ImageContext cropHintsParams. */ + public cropHintsParams?: (google.cloud.vision.v1p3beta1.ICropHintsParams|null); + + /** ImageContext productSearchParams. */ + public productSearchParams?: (google.cloud.vision.v1p3beta1.IProductSearchParams|null); + + /** ImageContext webDetectionParams. */ + public webDetectionParams?: (google.cloud.vision.v1p3beta1.IWebDetectionParams|null); + + /** + * Creates a new ImageContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageContext instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IImageContext): google.cloud.vision.v1p3beta1.ImageContext; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ImageContext; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ImageContext; + + /** + * Verifies an ImageContext message. + * @param message Plain 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 ImageContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ImageContext; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @param message ImageContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ImageContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageRequest. */ + interface IAnnotateImageRequest { + + /** AnnotateImageRequest image */ + image?: (google.cloud.vision.v1p3beta1.IImage|null); + + /** AnnotateImageRequest features */ + features?: (google.cloud.vision.v1p3beta1.IFeature[]|null); + + /** AnnotateImageRequest imageContext */ + imageContext?: (google.cloud.vision.v1p3beta1.IImageContext|null); + } + + /** Represents an AnnotateImageRequest. */ + class AnnotateImageRequest implements IAnnotateImageRequest { + + /** + * Constructs a new AnnotateImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IAnnotateImageRequest); + + /** AnnotateImageRequest image. */ + public image?: (google.cloud.vision.v1p3beta1.IImage|null); + + /** AnnotateImageRequest features. */ + public features: google.cloud.vision.v1p3beta1.IFeature[]; + + /** AnnotateImageRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p3beta1.IImageContext|null); + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IAnnotateImageRequest): google.cloud.vision.v1p3beta1.AnnotateImageRequest; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.AnnotateImageRequest; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.AnnotateImageRequest; + + /** + * Verifies an AnnotateImageRequest message. + * @param message Plain 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 AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.AnnotateImageRequest; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @param message AnnotateImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.AnnotateImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageAnnotationContext. */ + interface IImageAnnotationContext { + + /** ImageAnnotationContext uri */ + uri?: (string|null); + + /** ImageAnnotationContext pageNumber */ + pageNumber?: (number|null); + } + + /** Represents an ImageAnnotationContext. */ + class ImageAnnotationContext implements IImageAnnotationContext { + + /** + * Constructs a new ImageAnnotationContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IImageAnnotationContext); + + /** ImageAnnotationContext uri. */ + public uri: string; + + /** ImageAnnotationContext pageNumber. */ + public pageNumber: number; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageAnnotationContext instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IImageAnnotationContext): google.cloud.vision.v1p3beta1.ImageAnnotationContext; + + /** + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ImageAnnotationContext; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ImageAnnotationContext; + + /** + * Verifies an ImageAnnotationContext message. + * @param message Plain 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 ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageAnnotationContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ImageAnnotationContext; + + /** + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * @param message ImageAnnotationContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ImageAnnotationContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageAnnotationContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageResponse. */ + interface IAnnotateImageResponse { + + /** AnnotateImageResponse faceAnnotations */ + faceAnnotations?: (google.cloud.vision.v1p3beta1.IFaceAnnotation[]|null); + + /** AnnotateImageResponse landmarkAnnotations */ + landmarkAnnotations?: (google.cloud.vision.v1p3beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse logoAnnotations */ + logoAnnotations?: (google.cloud.vision.v1p3beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse labelAnnotations */ + labelAnnotations?: (google.cloud.vision.v1p3beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse localizedObjectAnnotations */ + localizedObjectAnnotations?: (google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation[]|null); + + /** AnnotateImageResponse textAnnotations */ + textAnnotations?: (google.cloud.vision.v1p3beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse fullTextAnnotation */ + fullTextAnnotation?: (google.cloud.vision.v1p3beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation */ + safeSearchAnnotation?: (google.cloud.vision.v1p3beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation */ + imagePropertiesAnnotation?: (google.cloud.vision.v1p3beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation */ + cropHintsAnnotation?: (google.cloud.vision.v1p3beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection */ + webDetection?: (google.cloud.vision.v1p3beta1.IWebDetection|null); + + /** AnnotateImageResponse productSearchResults */ + productSearchResults?: (google.cloud.vision.v1p3beta1.IProductSearchResults|null); + + /** AnnotateImageResponse error */ + error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context */ + context?: (google.cloud.vision.v1p3beta1.IImageAnnotationContext|null); + } + + /** Represents an AnnotateImageResponse. */ + class AnnotateImageResponse implements IAnnotateImageResponse { + + /** + * Constructs a new AnnotateImageResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IAnnotateImageResponse); + + /** AnnotateImageResponse faceAnnotations. */ + public faceAnnotations: google.cloud.vision.v1p3beta1.IFaceAnnotation[]; + + /** AnnotateImageResponse landmarkAnnotations. */ + public landmarkAnnotations: google.cloud.vision.v1p3beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse logoAnnotations. */ + public logoAnnotations: google.cloud.vision.v1p3beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse labelAnnotations. */ + public labelAnnotations: google.cloud.vision.v1p3beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse localizedObjectAnnotations. */ + public localizedObjectAnnotations: google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation[]; + + /** AnnotateImageResponse textAnnotations. */ + public textAnnotations: google.cloud.vision.v1p3beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse fullTextAnnotation. */ + public fullTextAnnotation?: (google.cloud.vision.v1p3beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation. */ + public safeSearchAnnotation?: (google.cloud.vision.v1p3beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation. */ + public imagePropertiesAnnotation?: (google.cloud.vision.v1p3beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation. */ + public cropHintsAnnotation?: (google.cloud.vision.v1p3beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection. */ + public webDetection?: (google.cloud.vision.v1p3beta1.IWebDetection|null); + + /** AnnotateImageResponse productSearchResults. */ + public productSearchResults?: (google.cloud.vision.v1p3beta1.IProductSearchResults|null); + + /** AnnotateImageResponse error. */ + public error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context. */ + public context?: (google.cloud.vision.v1p3beta1.IImageAnnotationContext|null); + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IAnnotateImageResponse): google.cloud.vision.v1p3beta1.AnnotateImageResponse; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.AnnotateImageResponse; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.AnnotateImageResponse; + + /** + * Verifies an AnnotateImageResponse message. + * @param message Plain 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 AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.AnnotateImageResponse; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @param message AnnotateImageResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.AnnotateImageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateFileResponse. */ + interface IAnnotateFileResponse { + + /** AnnotateFileResponse inputConfig */ + inputConfig?: (google.cloud.vision.v1p3beta1.IInputConfig|null); + + /** AnnotateFileResponse responses */ + responses?: (google.cloud.vision.v1p3beta1.IAnnotateImageResponse[]|null); + } + + /** Represents an AnnotateFileResponse. */ + class AnnotateFileResponse implements IAnnotateFileResponse { + + /** + * Constructs a new AnnotateFileResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IAnnotateFileResponse); + + /** AnnotateFileResponse inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p3beta1.IInputConfig|null); + + /** AnnotateFileResponse responses. */ + public responses: google.cloud.vision.v1p3beta1.IAnnotateImageResponse[]; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateFileResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IAnnotateFileResponse): google.cloud.vision.v1p3beta1.AnnotateFileResponse; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.AnnotateFileResponse; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.AnnotateFileResponse; + + /** + * Verifies an AnnotateFileResponse message. + * @param message Plain 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 AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateFileResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.AnnotateFileResponse; + + /** + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @param message AnnotateFileResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.AnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateFileResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesRequest. */ + interface IBatchAnnotateImagesRequest { + + /** BatchAnnotateImagesRequest requests */ + requests?: (google.cloud.vision.v1p3beta1.IAnnotateImageRequest[]|null); + } + + /** Represents a BatchAnnotateImagesRequest. */ + class BatchAnnotateImagesRequest implements IBatchAnnotateImagesRequest { + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest); + + /** BatchAnnotateImagesRequest requests. */ + public requests: google.cloud.vision.v1p3beta1.IAnnotateImageRequest[]; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest): google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesResponse. */ + interface IBatchAnnotateImagesResponse { + + /** BatchAnnotateImagesResponse responses */ + responses?: (google.cloud.vision.v1p3beta1.IAnnotateImageResponse[]|null); + } + + /** Represents a BatchAnnotateImagesResponse. */ + class BatchAnnotateImagesResponse implements IBatchAnnotateImagesResponse { + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse); + + /** BatchAnnotateImagesResponse responses. */ + public responses: google.cloud.vision.v1p3beta1.IAnnotateImageResponse[]; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse): google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncAnnotateFileRequest. */ + interface IAsyncAnnotateFileRequest { + + /** AsyncAnnotateFileRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1p3beta1.IInputConfig|null); + + /** AsyncAnnotateFileRequest features */ + features?: (google.cloud.vision.v1p3beta1.IFeature[]|null); + + /** AsyncAnnotateFileRequest imageContext */ + imageContext?: (google.cloud.vision.v1p3beta1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig */ + outputConfig?: (google.cloud.vision.v1p3beta1.IOutputConfig|null); + } + + /** Represents an AsyncAnnotateFileRequest. */ + class AsyncAnnotateFileRequest implements IAsyncAnnotateFileRequest { + + /** + * Constructs a new AsyncAnnotateFileRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest); + + /** AsyncAnnotateFileRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p3beta1.IInputConfig|null); + + /** AsyncAnnotateFileRequest features. */ + public features: google.cloud.vision.v1p3beta1.IFeature[]; + + /** AsyncAnnotateFileRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p3beta1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p3beta1.IOutputConfig|null); + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncAnnotateFileRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest): google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest; + + /** + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest; + + /** + * Verifies an AsyncAnnotateFileRequest message. + * @param message Plain 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 AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncAnnotateFileRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest; + + /** + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncAnnotateFileRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncAnnotateFileResponse. */ + interface IAsyncAnnotateFileResponse { + + /** AsyncAnnotateFileResponse outputConfig */ + outputConfig?: (google.cloud.vision.v1p3beta1.IOutputConfig|null); + } + + /** Represents an AsyncAnnotateFileResponse. */ + class AsyncAnnotateFileResponse implements IAsyncAnnotateFileResponse { + + /** + * Constructs a new AsyncAnnotateFileResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse); + + /** AsyncAnnotateFileResponse outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p3beta1.IOutputConfig|null); + + /** + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncAnnotateFileResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse): google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse; + + /** + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse; + + /** + * Verifies an AsyncAnnotateFileResponse message. + * @param message Plain 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 AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncAnnotateFileResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse; + + /** + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncAnnotateFileResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateFilesRequest. */ + interface IAsyncBatchAnnotateFilesRequest { + + /** AsyncBatchAnnotateFilesRequest requests */ + requests?: (google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest[]|null); + } + + /** Represents an AsyncBatchAnnotateFilesRequest. */ + class AsyncBatchAnnotateFilesRequest implements IAsyncBatchAnnotateFilesRequest { + + /** + * Constructs a new AsyncBatchAnnotateFilesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest); + + /** AsyncBatchAnnotateFilesRequest requests. */ + public requests: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest[]; + + /** + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateFilesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest): google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Verifies an AsyncBatchAnnotateFilesRequest message. + * @param message Plain 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 AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateFilesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateFilesResponse. */ + interface IAsyncBatchAnnotateFilesResponse { + + /** AsyncBatchAnnotateFilesResponse responses */ + responses?: (google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse[]|null); + } + + /** Represents an AsyncBatchAnnotateFilesResponse. */ + class AsyncBatchAnnotateFilesResponse implements IAsyncBatchAnnotateFilesResponse { + + /** + * Constructs a new AsyncBatchAnnotateFilesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse); + + /** AsyncBatchAnnotateFilesResponse responses. */ + public responses: google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse[]; + + /** + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateFilesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse): google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Verifies an AsyncBatchAnnotateFilesResponse message. + * @param message Plain 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 AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateFilesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an InputConfig. */ + interface IInputConfig { + + /** InputConfig gcsSource */ + gcsSource?: (google.cloud.vision.v1p3beta1.IGcsSource|null); + + /** InputConfig mimeType */ + mimeType?: (string|null); + } + + /** Represents an InputConfig. */ + class InputConfig implements IInputConfig { + + /** + * Constructs a new InputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IInputConfig); + + /** InputConfig gcsSource. */ + public gcsSource?: (google.cloud.vision.v1p3beta1.IGcsSource|null); + + /** InputConfig mimeType. */ + public mimeType: string; + + /** + * Creates a new InputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns InputConfig instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IInputConfig): google.cloud.vision.v1p3beta1.InputConfig; + + /** + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an InputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.InputConfig; + + /** + * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.InputConfig; + + /** + * Verifies an InputConfig message. + * @param message Plain 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 InputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns InputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.InputConfig; + + /** + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * @param message InputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.InputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this InputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an OutputConfig. */ + interface IOutputConfig { + + /** OutputConfig gcsDestination */ + gcsDestination?: (google.cloud.vision.v1p3beta1.IGcsDestination|null); + + /** OutputConfig batchSize */ + batchSize?: (number|null); + } + + /** Represents an OutputConfig. */ + class OutputConfig implements IOutputConfig { + + /** + * Constructs a new OutputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IOutputConfig); + + /** OutputConfig gcsDestination. */ + public gcsDestination?: (google.cloud.vision.v1p3beta1.IGcsDestination|null); + + /** OutputConfig batchSize. */ + public batchSize: number; + + /** + * Creates a new OutputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns OutputConfig instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IOutputConfig): google.cloud.vision.v1p3beta1.OutputConfig; + + /** + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OutputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.OutputConfig; + + /** + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.OutputConfig; + + /** + * Verifies an OutputConfig message. + * @param message Plain 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 OutputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OutputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.OutputConfig; + + /** + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * @param message OutputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OutputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GcsSource. */ + interface IGcsSource { + + /** GcsSource uri */ + uri?: (string|null); + } + + /** Represents a GcsSource. */ + class GcsSource implements IGcsSource { + + /** + * Constructs a new GcsSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IGcsSource); + + /** GcsSource uri. */ + public uri: string; + + /** + * Creates a new GcsSource instance using the specified properties. + * @param [properties] Properties to set + * @returns GcsSource instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IGcsSource): google.cloud.vision.v1p3beta1.GcsSource; + + /** + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GcsSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.GcsSource; + + /** + * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.GcsSource; + + /** + * Verifies a GcsSource message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GcsSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.GcsSource; + + /** + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * @param message GcsSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GcsSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GcsDestination. */ + interface IGcsDestination { + + /** GcsDestination uri */ + uri?: (string|null); + } + + /** Represents a GcsDestination. */ + class GcsDestination implements IGcsDestination { + + /** + * Constructs a new GcsDestination. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IGcsDestination); + + /** GcsDestination uri. */ + public uri: string; + + /** + * Creates a new GcsDestination instance using the specified properties. + * @param [properties] Properties to set + * @returns GcsDestination instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IGcsDestination): google.cloud.vision.v1p3beta1.GcsDestination; + + /** + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GcsDestination message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.GcsDestination; + + /** + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.GcsDestination; + + /** + * Verifies a GcsDestination message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GcsDestination + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.GcsDestination; + + /** + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @param message GcsDestination + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GcsDestination to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Likelihood enum. */ + enum Likelihood { + UNKNOWN = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { + + /** OperationMetadata state */ + state?: (google.cloud.vision.v1p3beta1.OperationMetadata.State|null); + + /** OperationMetadata createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { + + /** + * Constructs a new OperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IOperationMetadata); + + /** OperationMetadata state. */ + public state: google.cloud.vision.v1p3beta1.OperationMetadata.State; + + /** OperationMetadata createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationMetadata instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IOperationMetadata): google.cloud.vision.v1p3beta1.OperationMetadata; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p3beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.OperationMetadata; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.OperationMetadata; + + /** + * Verifies an OperationMetadata message. + * @param message Plain 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 OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.OperationMetadata; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @param message OperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace OperationMetadata { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + CREATED = 1, + RUNNING = 2, + DONE = 3, + CANCELLED = 4 + } + } + + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IVertex): google.cloud.vision.v1p3beta1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedVertex. */ + interface INormalizedVertex { + + /** NormalizedVertex x */ + x?: (number|null); + + /** NormalizedVertex y */ + y?: (number|null); + } + + /** Represents a NormalizedVertex. */ + class NormalizedVertex implements INormalizedVertex { + + /** + * Constructs a new NormalizedVertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.INormalizedVertex); + + /** NormalizedVertex x. */ + public x: number; + + /** NormalizedVertex y. */ + public y: number; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedVertex instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.INormalizedVertex): google.cloud.vision.v1p3beta1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.NormalizedVertex; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.NormalizedVertex; + + /** + * Verifies a NormalizedVertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedVertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.NormalizedVertex; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @param message NormalizedVertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { + + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p3beta1.IVertex[]|null); + + /** BoundingPoly normalizedVertices */ + normalizedVertices?: (google.cloud.vision.v1p3beta1.INormalizedVertex[]|null); + } + + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { + + /** + * Constructs a new BoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IBoundingPoly); + + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p3beta1.IVertex[]; + + /** BoundingPoly normalizedVertices. */ + public normalizedVertices: google.cloud.vision.v1p3beta1.INormalizedVertex[]; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IBoundingPoly): google.cloud.vision.v1p3beta1.BoundingPoly; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.BoundingPoly; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.BoundingPoly; + + /** + * Verifies a BoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.BoundingPoly; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedBoundingPoly. */ + interface INormalizedBoundingPoly { + + /** NormalizedBoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p3beta1.INormalizedVertex[]|null); + } + + /** Represents a NormalizedBoundingPoly. */ + class NormalizedBoundingPoly implements INormalizedBoundingPoly { + + /** + * Constructs a new NormalizedBoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly); + + /** NormalizedBoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p3beta1.INormalizedVertex[]; + + /** + * Creates a new NormalizedBoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedBoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; + + /** + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * @param message NormalizedBoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * @param message NormalizedBoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedBoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedBoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; + + /** + * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedBoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; + + /** + * Verifies a NormalizedBoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedBoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; + + /** + * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified. + * @param message NormalizedBoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedBoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Position. */ + interface IPosition { + + /** Position x */ + x?: (number|null); + + /** Position y */ + y?: (number|null); + + /** Position z */ + z?: (number|null); + } + + /** Represents a Position. */ + class Position implements IPosition { + + /** + * Constructs a new Position. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IPosition); + + /** Position x. */ + public x: number; + + /** Position y. */ + public y: number; + + /** Position z. */ + public z: number; + + /** + * Creates a new Position instance using the specified properties. + * @param [properties] Properties to set + * @returns Position instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IPosition): google.cloud.vision.v1p3beta1.Position; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Position message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Position; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Position; + + /** + * Verifies a Position message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Position + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Position; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Position to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProductSearchParams. */ + interface IProductSearchParams { + + /** ProductSearchParams catalogName */ + catalogName?: (string|null); + + /** ProductSearchParams category */ + category?: (google.cloud.vision.v1p3beta1.ProductSearchCategory|null); + + /** ProductSearchParams productCategory */ + productCategory?: (string|null); + + /** ProductSearchParams normalizedBoundingPoly */ + normalizedBoundingPoly?: (google.cloud.vision.v1p3beta1.INormalizedBoundingPoly|null); + + /** ProductSearchParams boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** ProductSearchParams view */ + view?: (google.cloud.vision.v1p3beta1.ProductSearchResultsView|null); + + /** ProductSearchParams productSet */ + productSet?: (string|null); + + /** ProductSearchParams productCategories */ + productCategories?: (string[]|null); + + /** ProductSearchParams filter */ + filter?: (string|null); + } + + /** Represents a ProductSearchParams. */ + class ProductSearchParams implements IProductSearchParams { + + /** + * Constructs a new ProductSearchParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IProductSearchParams); + + /** ProductSearchParams catalogName. */ + public catalogName: string; + + /** ProductSearchParams category. */ + public category: google.cloud.vision.v1p3beta1.ProductSearchCategory; + + /** ProductSearchParams productCategory. */ + public productCategory: string; + + /** ProductSearchParams normalizedBoundingPoly. */ + public normalizedBoundingPoly?: (google.cloud.vision.v1p3beta1.INormalizedBoundingPoly|null); + + /** ProductSearchParams boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** ProductSearchParams view. */ + public view: google.cloud.vision.v1p3beta1.ProductSearchResultsView; + + /** ProductSearchParams productSet. */ + public productSet: string; + + /** ProductSearchParams productCategories. */ + public productCategories: string[]; + + /** ProductSearchParams filter. */ + public filter: string; + + /** + * Creates a new ProductSearchParams instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSearchParams instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IProductSearchParams): google.cloud.vision.v1p3beta1.ProductSearchParams; + + /** + * Encodes the specified ProductSearchParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchParams.verify|verify} messages. + * @param message ProductSearchParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IProductSearchParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSearchParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchParams.verify|verify} messages. + * @param message ProductSearchParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IProductSearchParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSearchParams; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSearchParams; + + /** + * Verifies a ProductSearchParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSearchParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSearchParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSearchParams; + + /** + * Creates a plain object from a ProductSearchParams message. Also converts values to other types if specified. + * @param message ProductSearchParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ProductSearchParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSearchParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProductSearchResults. */ + interface IProductSearchResults { + + /** ProductSearchResults category */ + category?: (google.cloud.vision.v1p3beta1.ProductSearchCategory|null); + + /** ProductSearchResults productCategory */ + productCategory?: (string|null); + + /** ProductSearchResults indexTime */ + indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSearchResults products */ + products?: (google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo[]|null); + + /** ProductSearchResults results */ + results?: (google.cloud.vision.v1p3beta1.ProductSearchResults.IResult[]|null); + } + + /** Represents a ProductSearchResults. */ + class ProductSearchResults implements IProductSearchResults { + + /** + * Constructs a new ProductSearchResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IProductSearchResults); + + /** ProductSearchResults category. */ + public category: google.cloud.vision.v1p3beta1.ProductSearchCategory; + + /** ProductSearchResults productCategory. */ + public productCategory: string; + + /** ProductSearchResults indexTime. */ + public indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSearchResults products. */ + public products: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo[]; + + /** ProductSearchResults results. */ + public results: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult[]; + + /** + * Creates a new ProductSearchResults instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSearchResults instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IProductSearchResults): google.cloud.vision.v1p3beta1.ProductSearchResults; + + /** + * Encodes the specified ProductSearchResults message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.verify|verify} messages. + * @param message ProductSearchResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IProductSearchResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSearchResults message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.verify|verify} messages. + * @param message ProductSearchResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IProductSearchResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSearchResults; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSearchResults; + + /** + * Verifies a ProductSearchResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSearchResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSearchResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSearchResults; + + /** + * Creates a plain object from a ProductSearchResults message. Also converts values to other types if specified. + * @param message ProductSearchResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ProductSearchResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSearchResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace ProductSearchResults { + + /** Properties of a ProductInfo. */ + interface IProductInfo { + + /** ProductInfo productId */ + productId?: (string|null); + + /** ProductInfo imageUri */ + imageUri?: (string|null); + + /** ProductInfo score */ + score?: (number|null); + } + + /** Represents a ProductInfo. */ + class ProductInfo implements IProductInfo { + + /** + * Constructs a new ProductInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo); + + /** ProductInfo productId. */ + public productId: string; + + /** ProductInfo imageUri. */ + public imageUri: string; + + /** ProductInfo score. */ + public score: number; + + /** + * Creates a new ProductInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductInfo instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo): google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo; + + /** + * Encodes the specified ProductInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify|verify} messages. + * @param message ProductInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify|verify} messages. + * @param message ProductInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo; + + /** + * Decodes a ProductInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo; + + /** + * Verifies a ProductInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo; + + /** + * Creates a plain object from a ProductInfo message. Also converts values to other types if specified. + * @param message ProductInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Result. */ + interface IResult { + + /** Result product */ + product?: (google.cloud.vision.v1p3beta1.IProduct|null); + + /** Result score */ + score?: (number|null); + + /** Result image */ + image?: (string|null); + } + + /** Represents a Result. */ + class Result implements IResult { + + /** + * Constructs a new Result. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult); + + /** Result product. */ + public product?: (google.cloud.vision.v1p3beta1.IProduct|null); + + /** Result score. */ + public score: number; + + /** Result image. */ + public image: string; + + /** + * Creates a new Result instance using the specified properties. + * @param [properties] Properties to set + * @returns Result instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; + + /** + * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Result message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; + + /** + * Decodes a Result message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; + + /** + * Verifies a Result message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Result message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Result + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; + + /** + * Creates a plain object from a Result message. Also converts values to other types if specified. + * @param message Result + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ProductSearchResults.Result, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Result to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** ProductSearchCategory enum. */ + enum ProductSearchCategory { + PRODUCT_SEARCH_CATEGORY_UNSPECIFIED = 0, + SHOES = 1, + BAGS = 2 + } + + /** ProductSearchResultsView enum. */ + enum ProductSearchResultsView { + BASIC = 0, + FULL = 1 + } + + /** Represents a ProductSearch */ + class ProductSearch extends $protobuf.rpc.Service { + + /** + * Constructs a new ProductSearch 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 ProductSearch 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): ProductSearch; + + /** + * Calls CreateProductSet. + * @param request CreateProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductSet + */ + public createProductSet(request: google.cloud.vision.v1p3beta1.ICreateProductSetRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.CreateProductSetCallback): void; + + /** + * Calls CreateProductSet. + * @param request CreateProductSetRequest message or plain object + * @returns Promise + */ + public createProductSet(request: google.cloud.vision.v1p3beta1.ICreateProductSetRequest): Promise; + + /** + * Calls ListProductSets. + * @param request ListProductSetsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductSetsResponse + */ + public listProductSets(request: google.cloud.vision.v1p3beta1.IListProductSetsRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.ListProductSetsCallback): void; + + /** + * Calls ListProductSets. + * @param request ListProductSetsRequest message or plain object + * @returns Promise + */ + public listProductSets(request: google.cloud.vision.v1p3beta1.IListProductSetsRequest): Promise; + + /** + * Calls GetProductSet. + * @param request GetProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductSet + */ + public getProductSet(request: google.cloud.vision.v1p3beta1.IGetProductSetRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.GetProductSetCallback): void; + + /** + * Calls GetProductSet. + * @param request GetProductSetRequest message or plain object + * @returns Promise + */ + public getProductSet(request: google.cloud.vision.v1p3beta1.IGetProductSetRequest): Promise; + + /** + * Calls UpdateProductSet. + * @param request UpdateProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductSet + */ + public updateProductSet(request: google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductSetCallback): void; + + /** + * Calls UpdateProductSet. + * @param request UpdateProductSetRequest message or plain object + * @returns Promise + */ + public updateProductSet(request: google.cloud.vision.v1p3beta1.IUpdateProductSetRequest): Promise; + + /** + * Calls DeleteProductSet. + * @param request DeleteProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteProductSet(request: google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductSetCallback): void; + + /** + * Calls DeleteProductSet. + * @param request DeleteProductSetRequest message or plain object + * @returns Promise + */ + public deleteProductSet(request: google.cloud.vision.v1p3beta1.IDeleteProductSetRequest): Promise; + + /** + * Calls CreateProduct. + * @param request CreateProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public createProduct(request: google.cloud.vision.v1p3beta1.ICreateProductRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.CreateProductCallback): void; + + /** + * Calls CreateProduct. + * @param request CreateProductRequest message or plain object + * @returns Promise + */ + public createProduct(request: google.cloud.vision.v1p3beta1.ICreateProductRequest): Promise; + + /** + * Calls ListProducts. + * @param request ListProductsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductsResponse + */ + public listProducts(request: google.cloud.vision.v1p3beta1.IListProductsRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.ListProductsCallback): void; + + /** + * Calls ListProducts. + * @param request ListProductsRequest message or plain object + * @returns Promise + */ + public listProducts(request: google.cloud.vision.v1p3beta1.IListProductsRequest): Promise; + + /** + * Calls GetProduct. + * @param request GetProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public getProduct(request: google.cloud.vision.v1p3beta1.IGetProductRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.GetProductCallback): void; + + /** + * Calls GetProduct. + * @param request GetProductRequest message or plain object + * @returns Promise + */ + public getProduct(request: google.cloud.vision.v1p3beta1.IGetProductRequest): Promise; + + /** + * Calls UpdateProduct. + * @param request UpdateProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public updateProduct(request: google.cloud.vision.v1p3beta1.IUpdateProductRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductCallback): void; + + /** + * Calls UpdateProduct. + * @param request UpdateProductRequest message or plain object + * @returns Promise + */ + public updateProduct(request: google.cloud.vision.v1p3beta1.IUpdateProductRequest): Promise; + + /** + * Calls DeleteProduct. + * @param request DeleteProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteProduct(request: google.cloud.vision.v1p3beta1.IDeleteProductRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductCallback): void; + + /** + * Calls DeleteProduct. + * @param request DeleteProductRequest message or plain object + * @returns Promise + */ + public deleteProduct(request: google.cloud.vision.v1p3beta1.IDeleteProductRequest): Promise; + + /** + * Calls CreateReferenceImage. + * @param request CreateReferenceImageRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ReferenceImage + */ + public createReferenceImage(request: google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.CreateReferenceImageCallback): void; + + /** + * Calls CreateReferenceImage. + * @param request CreateReferenceImageRequest message or plain object + * @returns Promise + */ + public createReferenceImage(request: google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest): Promise; + + /** + * Calls DeleteReferenceImage. + * @param request DeleteReferenceImageRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteReferenceImage(request: google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.DeleteReferenceImageCallback): void; + + /** + * Calls DeleteReferenceImage. + * @param request DeleteReferenceImageRequest message or plain object + * @returns Promise + */ + public deleteReferenceImage(request: google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest): Promise; + + /** + * Calls ListReferenceImages. + * @param request ListReferenceImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListReferenceImagesResponse + */ + public listReferenceImages(request: google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.ListReferenceImagesCallback): void; + + /** + * Calls ListReferenceImages. + * @param request ListReferenceImagesRequest message or plain object + * @returns Promise + */ + public listReferenceImages(request: google.cloud.vision.v1p3beta1.IListReferenceImagesRequest): Promise; + + /** + * Calls GetReferenceImage. + * @param request GetReferenceImageRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ReferenceImage + */ + public getReferenceImage(request: google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.GetReferenceImageCallback): void; + + /** + * Calls GetReferenceImage. + * @param request GetReferenceImageRequest message or plain object + * @returns Promise + */ + public getReferenceImage(request: google.cloud.vision.v1p3beta1.IGetReferenceImageRequest): Promise; + + /** + * Calls AddProductToProductSet. + * @param request AddProductToProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public addProductToProductSet(request: google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.AddProductToProductSetCallback): void; + + /** + * Calls AddProductToProductSet. + * @param request AddProductToProductSetRequest message or plain object + * @returns Promise + */ + public addProductToProductSet(request: google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest): Promise; + + /** + * Calls RemoveProductFromProductSet. + * @param request RemoveProductFromProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public removeProductFromProductSet(request: google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.RemoveProductFromProductSetCallback): void; + + /** + * Calls RemoveProductFromProductSet. + * @param request RemoveProductFromProductSetRequest message or plain object + * @returns Promise + */ + public removeProductFromProductSet(request: google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest): Promise; + + /** + * Calls ListProductsInProductSet. + * @param request ListProductsInProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductsInProductSetResponse + */ + public listProductsInProductSet(request: google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.ListProductsInProductSetCallback): void; + + /** + * Calls ListProductsInProductSet. + * @param request ListProductsInProductSetRequest message or plain object + * @returns Promise + */ + public listProductsInProductSet(request: google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest): Promise; + + /** + * Calls ImportProductSets. + * @param request ImportProductSetsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public importProductSets(request: google.cloud.vision.v1p3beta1.IImportProductSetsRequest, callback: google.cloud.vision.v1p3beta1.ProductSearch.ImportProductSetsCallback): void; + + /** + * Calls ImportProductSets. + * @param request ImportProductSetsRequest message or plain object + * @returns Promise + */ + public importProductSets(request: google.cloud.vision.v1p3beta1.IImportProductSetsRequest): Promise; + } + + namespace ProductSearch { + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createProductSet}. + * @param error Error, if any + * @param [response] ProductSet + */ + type CreateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ProductSet) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProductSets}. + * @param error Error, if any + * @param [response] ListProductSetsResponse + */ + type ListProductSetsCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ListProductSetsResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getProductSet}. + * @param error Error, if any + * @param [response] ProductSet + */ + type GetProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ProductSet) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#updateProductSet}. + * @param error Error, if any + * @param [response] ProductSet + */ + type UpdateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ProductSet) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteProductSet}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createProduct}. + * @param error Error, if any + * @param [response] Product + */ + type CreateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.Product) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProducts}. + * @param error Error, if any + * @param [response] ListProductsResponse + */ + type ListProductsCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ListProductsResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getProduct}. + * @param error Error, if any + * @param [response] Product + */ + type GetProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.Product) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#updateProduct}. + * @param error Error, if any + * @param [response] Product + */ + type UpdateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.Product) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteProduct}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteProductCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createReferenceImage}. + * @param error Error, if any + * @param [response] ReferenceImage + */ + type CreateReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ReferenceImage) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteReferenceImage}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteReferenceImageCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listReferenceImages}. + * @param error Error, if any + * @param [response] ListReferenceImagesResponse + */ + type ListReferenceImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ListReferenceImagesResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getReferenceImage}. + * @param error Error, if any + * @param [response] ReferenceImage + */ + type GetReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ReferenceImage) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#addProductToProductSet}. + * @param error Error, if any + * @param [response] Empty + */ + type AddProductToProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#removeProductFromProductSet}. + * @param error Error, if any + * @param [response] Empty + */ + type RemoveProductFromProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProductsInProductSet}. + * @param error Error, if any + * @param [response] ListProductsInProductSetResponse + */ + type ListProductsInProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#importProductSets}. + * @param error Error, if any + * @param [response] Operation + */ + type ImportProductSetsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of a Product. */ + interface IProduct { + + /** Product name */ + name?: (string|null); + + /** Product displayName */ + displayName?: (string|null); + + /** Product description */ + description?: (string|null); + + /** Product productCategory */ + productCategory?: (string|null); + + /** Product productLabels */ + productLabels?: (google.cloud.vision.v1p3beta1.Product.IKeyValue[]|null); + } + + /** Represents a Product. */ + class Product implements IProduct { + + /** + * Constructs a new Product. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IProduct); + + /** Product name. */ + public name: string; + + /** Product displayName. */ + public displayName: string; + + /** Product description. */ + public description: string; + + /** Product productCategory. */ + public productCategory: string; + + /** Product productLabels. */ + public productLabels: google.cloud.vision.v1p3beta1.Product.IKeyValue[]; + + /** + * Creates a new Product instance using the specified properties. + * @param [properties] Properties to set + * @returns Product instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IProduct): google.cloud.vision.v1p3beta1.Product; + + /** + * Encodes the specified Product message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Product.verify|verify} messages. + * @param message Product message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Product.verify|verify} messages. + * @param message Product message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Product message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Product; + + /** + * Decodes a Product message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Product; + + /** + * Verifies a Product message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Product message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Product + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Product; + + /** + * Creates a plain object from a Product message. Also converts values to other types if specified. + * @param message Product + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Product, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Product to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Product { + + /** Properties of a KeyValue. */ + interface IKeyValue { + + /** KeyValue key */ + key?: (string|null); + + /** KeyValue value */ + value?: (string|null); + } + + /** Represents a KeyValue. */ + class KeyValue implements IKeyValue { + + /** + * Constructs a new KeyValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.Product.IKeyValue); + + /** KeyValue key. */ + public key: string; + + /** KeyValue value. */ + public value: string; + + /** + * Creates a new KeyValue instance using the specified properties. + * @param [properties] Properties to set + * @returns KeyValue instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.Product.IKeyValue): google.cloud.vision.v1p3beta1.Product.KeyValue; + + /** + * Encodes the specified KeyValue message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Product.KeyValue.verify|verify} messages. + * @param message KeyValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.Product.IKeyValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified KeyValue message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Product.KeyValue.verify|verify} messages. + * @param message KeyValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.Product.IKeyValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a KeyValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Product.KeyValue; + + /** + * Decodes a KeyValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Product.KeyValue; + + /** + * Verifies a KeyValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a KeyValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns KeyValue + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Product.KeyValue; + + /** + * Creates a plain object from a KeyValue message. Also converts values to other types if specified. + * @param message KeyValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Product.KeyValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this KeyValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a ProductSet. */ + interface IProductSet { + + /** ProductSet name */ + name?: (string|null); + + /** ProductSet displayName */ + displayName?: (string|null); + + /** ProductSet indexTime */ + indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSet indexError */ + indexError?: (google.rpc.IStatus|null); + } + + /** Represents a ProductSet. */ + class ProductSet implements IProductSet { + + /** + * Constructs a new ProductSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IProductSet); + + /** ProductSet name. */ + public name: string; + + /** ProductSet displayName. */ + public displayName: string; + + /** ProductSet indexTime. */ + public indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSet indexError. */ + public indexError?: (google.rpc.IStatus|null); + + /** + * Creates a new ProductSet instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSet instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IProductSet): google.cloud.vision.v1p3beta1.ProductSet; + + /** + * Encodes the specified ProductSet message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSet.verify|verify} messages. + * @param message ProductSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IProductSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSet message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSet.verify|verify} messages. + * @param message ProductSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IProductSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSet; + + /** + * Decodes a ProductSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSet; + + /** + * Verifies a ProductSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSet + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSet; + + /** + * Creates a plain object from a ProductSet message. Also converts values to other types if specified. + * @param message ProductSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ProductSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ReferenceImage. */ + interface IReferenceImage { + + /** ReferenceImage name */ + name?: (string|null); + + /** ReferenceImage uri */ + uri?: (string|null); + + /** ReferenceImage boundingPolys */ + boundingPolys?: (google.cloud.vision.v1p3beta1.IBoundingPoly[]|null); + } + + /** Represents a ReferenceImage. */ + class ReferenceImage implements IReferenceImage { + + /** + * Constructs a new ReferenceImage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IReferenceImage); + + /** ReferenceImage name. */ + public name: string; + + /** ReferenceImage uri. */ + public uri: string; + + /** ReferenceImage boundingPolys. */ + public boundingPolys: google.cloud.vision.v1p3beta1.IBoundingPoly[]; + + /** + * Creates a new ReferenceImage instance using the specified properties. + * @param [properties] Properties to set + * @returns ReferenceImage instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IReferenceImage): google.cloud.vision.v1p3beta1.ReferenceImage; + + /** + * Encodes the specified ReferenceImage message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ReferenceImage.verify|verify} messages. + * @param message ReferenceImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IReferenceImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReferenceImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ReferenceImage.verify|verify} messages. + * @param message ReferenceImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IReferenceImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ReferenceImage; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ReferenceImage; + + /** + * Verifies a ReferenceImage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReferenceImage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReferenceImage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ReferenceImage; + + /** + * Creates a plain object from a ReferenceImage message. Also converts values to other types if specified. + * @param message ReferenceImage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ReferenceImage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReferenceImage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CreateProductRequest. */ + interface ICreateProductRequest { + + /** CreateProductRequest parent */ + parent?: (string|null); + + /** CreateProductRequest product */ + product?: (google.cloud.vision.v1p3beta1.IProduct|null); + + /** CreateProductRequest productId */ + productId?: (string|null); + } + + /** Represents a CreateProductRequest. */ + class CreateProductRequest implements ICreateProductRequest { + + /** + * Constructs a new CreateProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ICreateProductRequest); + + /** CreateProductRequest parent. */ + public parent: string; + + /** CreateProductRequest product. */ + public product?: (google.cloud.vision.v1p3beta1.IProduct|null); + + /** CreateProductRequest productId. */ + public productId: string; + + /** + * Creates a new CreateProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ICreateProductRequest): google.cloud.vision.v1p3beta1.CreateProductRequest; + + /** + * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateProductRequest.verify|verify} messages. + * @param message CreateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateProductRequest.verify|verify} messages. + * @param message CreateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.CreateProductRequest; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.CreateProductRequest; + + /** + * Verifies a CreateProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.CreateProductRequest; + + /** + * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified. + * @param message CreateProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.CreateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsRequest. */ + interface IListProductsRequest { + + /** ListProductsRequest parent */ + parent?: (string|null); + + /** ListProductsRequest pageSize */ + pageSize?: (number|null); + + /** ListProductsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductsRequest. */ + class ListProductsRequest implements IListProductsRequest { + + /** + * Constructs a new ListProductsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IListProductsRequest); + + /** ListProductsRequest parent. */ + public parent: string; + + /** ListProductsRequest pageSize. */ + public pageSize: number; + + /** ListProductsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IListProductsRequest): google.cloud.vision.v1p3beta1.ListProductsRequest; + + /** + * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsRequest.verify|verify} messages. + * @param message ListProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsRequest.verify|verify} messages. + * @param message ListProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ListProductsRequest; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ListProductsRequest; + + /** + * Verifies a ListProductsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ListProductsRequest; + + /** + * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. + * @param message ListProductsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ListProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsResponse. */ + interface IListProductsResponse { + + /** ListProductsResponse products */ + products?: (google.cloud.vision.v1p3beta1.IProduct[]|null); + + /** ListProductsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductsResponse. */ + class ListProductsResponse implements IListProductsResponse { + + /** + * Constructs a new ListProductsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IListProductsResponse); + + /** ListProductsResponse products. */ + public products: google.cloud.vision.v1p3beta1.IProduct[]; + + /** ListProductsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IListProductsResponse): google.cloud.vision.v1p3beta1.ListProductsResponse; + + /** + * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsResponse.verify|verify} messages. + * @param message ListProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsResponse.verify|verify} messages. + * @param message ListProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ListProductsResponse; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ListProductsResponse; + + /** + * Verifies a ListProductsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ListProductsResponse; + + /** + * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. + * @param message ListProductsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ListProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetProductRequest. */ + interface IGetProductRequest { + + /** GetProductRequest name */ + name?: (string|null); + } + + /** Represents a GetProductRequest. */ + class GetProductRequest implements IGetProductRequest { + + /** + * Constructs a new GetProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IGetProductRequest); + + /** GetProductRequest name. */ + public name: string; + + /** + * Creates a new GetProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IGetProductRequest): google.cloud.vision.v1p3beta1.GetProductRequest; + + /** + * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetProductRequest.verify|verify} messages. + * @param message GetProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetProductRequest.verify|verify} messages. + * @param message GetProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.GetProductRequest; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.GetProductRequest; + + /** + * Verifies a GetProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.GetProductRequest; + + /** + * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. + * @param message GetProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.GetProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an UpdateProductRequest. */ + interface IUpdateProductRequest { + + /** UpdateProductRequest product */ + product?: (google.cloud.vision.v1p3beta1.IProduct|null); + + /** UpdateProductRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateProductRequest. */ + class UpdateProductRequest implements IUpdateProductRequest { + + /** + * Constructs a new UpdateProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IUpdateProductRequest); + + /** UpdateProductRequest product. */ + public product?: (google.cloud.vision.v1p3beta1.IProduct|null); + + /** UpdateProductRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IUpdateProductRequest): google.cloud.vision.v1p3beta1.UpdateProductRequest; + + /** + * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.UpdateProductRequest.verify|verify} messages. + * @param message UpdateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.UpdateProductRequest.verify|verify} messages. + * @param message UpdateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.UpdateProductRequest; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.UpdateProductRequest; + + /** + * Verifies an UpdateProductRequest message. + * @param message Plain 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 UpdateProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.UpdateProductRequest; + + /** + * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified. + * @param message UpdateProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.UpdateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteProductRequest. */ + interface IDeleteProductRequest { + + /** DeleteProductRequest name */ + name?: (string|null); + } + + /** Represents a DeleteProductRequest. */ + class DeleteProductRequest implements IDeleteProductRequest { + + /** + * Constructs a new DeleteProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IDeleteProductRequest); + + /** DeleteProductRequest name. */ + public name: string; + + /** + * Creates a new DeleteProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IDeleteProductRequest): google.cloud.vision.v1p3beta1.DeleteProductRequest; + + /** + * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteProductRequest.verify|verify} messages. + * @param message DeleteProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteProductRequest.verify|verify} messages. + * @param message DeleteProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.DeleteProductRequest; + + /** + * Decodes a DeleteProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.DeleteProductRequest; + + /** + * Verifies a DeleteProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.DeleteProductRequest; + + /** + * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified. + * @param message DeleteProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.DeleteProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CreateProductSetRequest. */ + interface ICreateProductSetRequest { + + /** CreateProductSetRequest parent */ + parent?: (string|null); + + /** CreateProductSetRequest productSet */ + productSet?: (google.cloud.vision.v1p3beta1.IProductSet|null); + + /** CreateProductSetRequest productSetId */ + productSetId?: (string|null); + } + + /** Represents a CreateProductSetRequest. */ + class CreateProductSetRequest implements ICreateProductSetRequest { + + /** + * Constructs a new CreateProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ICreateProductSetRequest); + + /** CreateProductSetRequest parent. */ + public parent: string; + + /** CreateProductSetRequest productSet. */ + public productSet?: (google.cloud.vision.v1p3beta1.IProductSet|null); + + /** CreateProductSetRequest productSetId. */ + public productSetId: string; + + /** + * Creates a new CreateProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ICreateProductSetRequest): google.cloud.vision.v1p3beta1.CreateProductSetRequest; + + /** + * Encodes the specified CreateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateProductSetRequest.verify|verify} messages. + * @param message CreateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ICreateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateProductSetRequest.verify|verify} messages. + * @param message CreateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ICreateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.CreateProductSetRequest; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.CreateProductSetRequest; + + /** + * Verifies a CreateProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.CreateProductSetRequest; + + /** + * Creates a plain object from a CreateProductSetRequest message. Also converts values to other types if specified. + * @param message CreateProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.CreateProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductSetsRequest. */ + interface IListProductSetsRequest { + + /** ListProductSetsRequest parent */ + parent?: (string|null); + + /** ListProductSetsRequest pageSize */ + pageSize?: (number|null); + + /** ListProductSetsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductSetsRequest. */ + class ListProductSetsRequest implements IListProductSetsRequest { + + /** + * Constructs a new ListProductSetsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IListProductSetsRequest); + + /** ListProductSetsRequest parent. */ + public parent: string; + + /** ListProductSetsRequest pageSize. */ + public pageSize: number; + + /** ListProductSetsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductSetsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductSetsRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IListProductSetsRequest): google.cloud.vision.v1p3beta1.ListProductSetsRequest; + + /** + * Encodes the specified ListProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductSetsRequest.verify|verify} messages. + * @param message ListProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IListProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductSetsRequest.verify|verify} messages. + * @param message ListProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IListProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductSetsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ListProductSetsRequest; + + /** + * Decodes a ListProductSetsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ListProductSetsRequest; + + /** + * Verifies a ListProductSetsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductSetsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ListProductSetsRequest; + + /** + * Creates a plain object from a ListProductSetsRequest message. Also converts values to other types if specified. + * @param message ListProductSetsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ListProductSetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductSetsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductSetsResponse. */ + interface IListProductSetsResponse { + + /** ListProductSetsResponse productSets */ + productSets?: (google.cloud.vision.v1p3beta1.IProductSet[]|null); + + /** ListProductSetsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductSetsResponse. */ + class ListProductSetsResponse implements IListProductSetsResponse { + + /** + * Constructs a new ListProductSetsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IListProductSetsResponse); + + /** ListProductSetsResponse productSets. */ + public productSets: google.cloud.vision.v1p3beta1.IProductSet[]; + + /** ListProductSetsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductSetsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductSetsResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IListProductSetsResponse): google.cloud.vision.v1p3beta1.ListProductSetsResponse; + + /** + * Encodes the specified ListProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductSetsResponse.verify|verify} messages. + * @param message ListProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IListProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductSetsResponse.verify|verify} messages. + * @param message ListProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IListProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ListProductSetsResponse; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ListProductSetsResponse; + + /** + * Verifies a ListProductSetsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductSetsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ListProductSetsResponse; + + /** + * Creates a plain object from a ListProductSetsResponse message. Also converts values to other types if specified. + * @param message ListProductSetsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ListProductSetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductSetsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetProductSetRequest. */ + interface IGetProductSetRequest { + + /** GetProductSetRequest name */ + name?: (string|null); + } + + /** Represents a GetProductSetRequest. */ + class GetProductSetRequest implements IGetProductSetRequest { + + /** + * Constructs a new GetProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IGetProductSetRequest); + + /** GetProductSetRequest name. */ + public name: string; + + /** + * Creates a new GetProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IGetProductSetRequest): google.cloud.vision.v1p3beta1.GetProductSetRequest; + + /** + * Encodes the specified GetProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetProductSetRequest.verify|verify} messages. + * @param message GetProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IGetProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetProductSetRequest.verify|verify} messages. + * @param message GetProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IGetProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.GetProductSetRequest; + + /** + * Decodes a GetProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.GetProductSetRequest; + + /** + * Verifies a GetProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.GetProductSetRequest; + + /** + * Creates a plain object from a GetProductSetRequest message. Also converts values to other types if specified. + * @param message GetProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.GetProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an UpdateProductSetRequest. */ + interface IUpdateProductSetRequest { + + /** UpdateProductSetRequest productSet */ + productSet?: (google.cloud.vision.v1p3beta1.IProductSet|null); + + /** UpdateProductSetRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateProductSetRequest. */ + class UpdateProductSetRequest implements IUpdateProductSetRequest { + + /** + * Constructs a new UpdateProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IUpdateProductSetRequest); + + /** UpdateProductSetRequest productSet. */ + public productSet?: (google.cloud.vision.v1p3beta1.IProductSet|null); + + /** UpdateProductSetRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IUpdateProductSetRequest): google.cloud.vision.v1p3beta1.UpdateProductSetRequest; + + /** + * Encodes the specified UpdateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.UpdateProductSetRequest.verify|verify} messages. + * @param message UpdateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.UpdateProductSetRequest.verify|verify} messages. + * @param message UpdateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.UpdateProductSetRequest; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.UpdateProductSetRequest; + + /** + * Verifies an UpdateProductSetRequest message. + * @param message Plain 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 UpdateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.UpdateProductSetRequest; + + /** + * Creates a plain object from an UpdateProductSetRequest message. Also converts values to other types if specified. + * @param message UpdateProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.UpdateProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteProductSetRequest. */ + interface IDeleteProductSetRequest { + + /** DeleteProductSetRequest name */ + name?: (string|null); + } + + /** Represents a DeleteProductSetRequest. */ + class DeleteProductSetRequest implements IDeleteProductSetRequest { + + /** + * Constructs a new DeleteProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IDeleteProductSetRequest); + + /** DeleteProductSetRequest name. */ + public name: string; + + /** + * Creates a new DeleteProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IDeleteProductSetRequest): google.cloud.vision.v1p3beta1.DeleteProductSetRequest; + + /** + * Encodes the specified DeleteProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteProductSetRequest.verify|verify} messages. + * @param message DeleteProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteProductSetRequest.verify|verify} messages. + * @param message DeleteProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.DeleteProductSetRequest; + + /** + * Decodes a DeleteProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.DeleteProductSetRequest; + + /** + * Verifies a DeleteProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.DeleteProductSetRequest; + + /** + * Creates a plain object from a DeleteProductSetRequest message. Also converts values to other types if specified. + * @param message DeleteProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.DeleteProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CreateReferenceImageRequest. */ + interface ICreateReferenceImageRequest { + + /** CreateReferenceImageRequest parent */ + parent?: (string|null); + + /** CreateReferenceImageRequest referenceImage */ + referenceImage?: (google.cloud.vision.v1p3beta1.IReferenceImage|null); + + /** CreateReferenceImageRequest referenceImageId */ + referenceImageId?: (string|null); + } + + /** Represents a CreateReferenceImageRequest. */ + class CreateReferenceImageRequest implements ICreateReferenceImageRequest { + + /** + * Constructs a new CreateReferenceImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest); + + /** CreateReferenceImageRequest parent. */ + public parent: string; + + /** CreateReferenceImageRequest referenceImage. */ + public referenceImage?: (google.cloud.vision.v1p3beta1.IReferenceImage|null); + + /** CreateReferenceImageRequest referenceImageId. */ + public referenceImageId: string; + + /** + * Creates a new CreateReferenceImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateReferenceImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest): google.cloud.vision.v1p3beta1.CreateReferenceImageRequest; + + /** + * Encodes the specified CreateReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateReferenceImageRequest.verify|verify} messages. + * @param message CreateReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateReferenceImageRequest.verify|verify} messages. + * @param message CreateReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.CreateReferenceImageRequest; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.CreateReferenceImageRequest; + + /** + * Verifies a CreateReferenceImageRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateReferenceImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.CreateReferenceImageRequest; + + /** + * Creates a plain object from a CreateReferenceImageRequest message. Also converts values to other types if specified. + * @param message CreateReferenceImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.CreateReferenceImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateReferenceImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListReferenceImagesRequest. */ + interface IListReferenceImagesRequest { + + /** ListReferenceImagesRequest parent */ + parent?: (string|null); + + /** ListReferenceImagesRequest pageSize */ + pageSize?: (number|null); + + /** ListReferenceImagesRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListReferenceImagesRequest. */ + class ListReferenceImagesRequest implements IListReferenceImagesRequest { + + /** + * Constructs a new ListReferenceImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IListReferenceImagesRequest); + + /** ListReferenceImagesRequest parent. */ + public parent: string; + + /** ListReferenceImagesRequest pageSize. */ + public pageSize: number; + + /** ListReferenceImagesRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListReferenceImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListReferenceImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IListReferenceImagesRequest): google.cloud.vision.v1p3beta1.ListReferenceImagesRequest; + + /** + * Encodes the specified ListReferenceImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListReferenceImagesRequest.verify|verify} messages. + * @param message ListReferenceImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListReferenceImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListReferenceImagesRequest.verify|verify} messages. + * @param message ListReferenceImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ListReferenceImagesRequest; + + /** + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ListReferenceImagesRequest; + + /** + * Verifies a ListReferenceImagesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListReferenceImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListReferenceImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ListReferenceImagesRequest; + + /** + * Creates a plain object from a ListReferenceImagesRequest message. Also converts values to other types if specified. + * @param message ListReferenceImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ListReferenceImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListReferenceImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListReferenceImagesResponse. */ + interface IListReferenceImagesResponse { + + /** ListReferenceImagesResponse referenceImages */ + referenceImages?: (google.cloud.vision.v1p3beta1.IReferenceImage[]|null); + + /** ListReferenceImagesResponse pageSize */ + pageSize?: (number|null); + + /** ListReferenceImagesResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListReferenceImagesResponse. */ + class ListReferenceImagesResponse implements IListReferenceImagesResponse { + + /** + * Constructs a new ListReferenceImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IListReferenceImagesResponse); + + /** ListReferenceImagesResponse referenceImages. */ + public referenceImages: google.cloud.vision.v1p3beta1.IReferenceImage[]; + + /** ListReferenceImagesResponse pageSize. */ + public pageSize: number; + + /** ListReferenceImagesResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListReferenceImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListReferenceImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IListReferenceImagesResponse): google.cloud.vision.v1p3beta1.ListReferenceImagesResponse; + + /** + * Encodes the specified ListReferenceImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse.verify|verify} messages. + * @param message ListReferenceImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IListReferenceImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListReferenceImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse.verify|verify} messages. + * @param message ListReferenceImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IListReferenceImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ListReferenceImagesResponse; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ListReferenceImagesResponse; + + /** + * Verifies a ListReferenceImagesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListReferenceImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListReferenceImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ListReferenceImagesResponse; + + /** + * Creates a plain object from a ListReferenceImagesResponse message. Also converts values to other types if specified. + * @param message ListReferenceImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ListReferenceImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListReferenceImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetReferenceImageRequest. */ + interface IGetReferenceImageRequest { + + /** GetReferenceImageRequest name */ + name?: (string|null); + } + + /** Represents a GetReferenceImageRequest. */ + class GetReferenceImageRequest implements IGetReferenceImageRequest { + + /** + * Constructs a new GetReferenceImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IGetReferenceImageRequest); + + /** GetReferenceImageRequest name. */ + public name: string; + + /** + * Creates a new GetReferenceImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetReferenceImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IGetReferenceImageRequest): google.cloud.vision.v1p3beta1.GetReferenceImageRequest; + + /** + * Encodes the specified GetReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetReferenceImageRequest.verify|verify} messages. + * @param message GetReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetReferenceImageRequest.verify|verify} messages. + * @param message GetReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetReferenceImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.GetReferenceImageRequest; + + /** + * Decodes a GetReferenceImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.GetReferenceImageRequest; + + /** + * Verifies a GetReferenceImageRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetReferenceImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.GetReferenceImageRequest; + + /** + * Creates a plain object from a GetReferenceImageRequest message. Also converts values to other types if specified. + * @param message GetReferenceImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.GetReferenceImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetReferenceImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteReferenceImageRequest. */ + interface IDeleteReferenceImageRequest { + + /** DeleteReferenceImageRequest name */ + name?: (string|null); + } + + /** Represents a DeleteReferenceImageRequest. */ + class DeleteReferenceImageRequest implements IDeleteReferenceImageRequest { + + /** + * Constructs a new DeleteReferenceImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest); + + /** DeleteReferenceImageRequest name. */ + public name: string; + + /** + * Creates a new DeleteReferenceImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteReferenceImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest): google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest; + + /** + * Encodes the specified DeleteReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest.verify|verify} messages. + * @param message DeleteReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest.verify|verify} messages. + * @param message DeleteReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest; + + /** + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest; + + /** + * Verifies a DeleteReferenceImageRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteReferenceImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest; + + /** + * Creates a plain object from a DeleteReferenceImageRequest message. Also converts values to other types if specified. + * @param message DeleteReferenceImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteReferenceImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AddProductToProductSetRequest. */ + interface IAddProductToProductSetRequest { + + /** AddProductToProductSetRequest name */ + name?: (string|null); + + /** AddProductToProductSetRequest product */ + product?: (string|null); + } + + /** Represents an AddProductToProductSetRequest. */ + class AddProductToProductSetRequest implements IAddProductToProductSetRequest { + + /** + * Constructs a new AddProductToProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest); + + /** AddProductToProductSetRequest name. */ + public name: string; + + /** AddProductToProductSetRequest product. */ + public product: string; + + /** + * Creates a new AddProductToProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AddProductToProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest): google.cloud.vision.v1p3beta1.AddProductToProductSetRequest; + + /** + * Encodes the specified AddProductToProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AddProductToProductSetRequest.verify|verify} messages. + * @param message AddProductToProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AddProductToProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AddProductToProductSetRequest.verify|verify} messages. + * @param message AddProductToProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.AddProductToProductSetRequest; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.AddProductToProductSetRequest; + + /** + * Verifies an AddProductToProductSetRequest message. + * @param message Plain 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 AddProductToProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AddProductToProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.AddProductToProductSetRequest; + + /** + * Creates a plain object from an AddProductToProductSetRequest message. Also converts values to other types if specified. + * @param message AddProductToProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.AddProductToProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AddProductToProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a RemoveProductFromProductSetRequest. */ + interface IRemoveProductFromProductSetRequest { + + /** RemoveProductFromProductSetRequest name */ + name?: (string|null); + + /** RemoveProductFromProductSetRequest product */ + product?: (string|null); + } + + /** Represents a RemoveProductFromProductSetRequest. */ + class RemoveProductFromProductSetRequest implements IRemoveProductFromProductSetRequest { + + /** + * Constructs a new RemoveProductFromProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest); + + /** RemoveProductFromProductSetRequest name. */ + public name: string; + + /** RemoveProductFromProductSetRequest product. */ + public product: string; + + /** + * Creates a new RemoveProductFromProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RemoveProductFromProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest): google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @param message RemoveProductFromProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @param message RemoveProductFromProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest; + + /** + * Verifies a RemoveProductFromProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RemoveProductFromProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RemoveProductFromProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest; + + /** + * Creates a plain object from a RemoveProductFromProductSetRequest message. Also converts values to other types if specified. + * @param message RemoveProductFromProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RemoveProductFromProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsInProductSetRequest. */ + interface IListProductsInProductSetRequest { + + /** ListProductsInProductSetRequest name */ + name?: (string|null); + + /** ListProductsInProductSetRequest pageSize */ + pageSize?: (number|null); + + /** ListProductsInProductSetRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductsInProductSetRequest. */ + class ListProductsInProductSetRequest implements IListProductsInProductSetRequest { + + /** + * Constructs a new ListProductsInProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest); + + /** ListProductsInProductSetRequest name. */ + public name: string; + + /** ListProductsInProductSetRequest pageSize. */ + public pageSize: number; + + /** ListProductsInProductSetRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductsInProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsInProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest): google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest; + + /** + * Encodes the specified ListProductsInProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest.verify|verify} messages. + * @param message ListProductsInProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsInProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest.verify|verify} messages. + * @param message ListProductsInProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest; + + /** + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest; + + /** + * Verifies a ListProductsInProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsInProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsInProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest; + + /** + * Creates a plain object from a ListProductsInProductSetRequest message. Also converts values to other types if specified. + * @param message ListProductsInProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsInProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsInProductSetResponse. */ + interface IListProductsInProductSetResponse { + + /** ListProductsInProductSetResponse products */ + products?: (google.cloud.vision.v1p3beta1.IProduct[]|null); + + /** ListProductsInProductSetResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductsInProductSetResponse. */ + class ListProductsInProductSetResponse implements IListProductsInProductSetResponse { + + /** + * Constructs a new ListProductsInProductSetResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse); + + /** ListProductsInProductSetResponse products. */ + public products: google.cloud.vision.v1p3beta1.IProduct[]; + + /** ListProductsInProductSetResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductsInProductSetResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsInProductSetResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse): google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse; + + /** + * Encodes the specified ListProductsInProductSetResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse.verify|verify} messages. + * @param message ListProductsInProductSetResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsInProductSetResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse.verify|verify} messages. + * @param message ListProductsInProductSetResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse; + + /** + * Verifies a ListProductsInProductSetResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsInProductSetResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsInProductSetResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse; + + /** + * Creates a plain object from a ListProductsInProductSetResponse message. Also converts values to other types if specified. + * @param message ListProductsInProductSetResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsInProductSetResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsGcsSource. */ + interface IImportProductSetsGcsSource { + + /** ImportProductSetsGcsSource csvFileUri */ + csvFileUri?: (string|null); + } + + /** Represents an ImportProductSetsGcsSource. */ + class ImportProductSetsGcsSource implements IImportProductSetsGcsSource { + + /** + * Constructs a new ImportProductSetsGcsSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource); + + /** ImportProductSetsGcsSource csvFileUri. */ + public csvFileUri: string; + + /** + * Creates a new ImportProductSetsGcsSource instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsGcsSource instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource): google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource; + + /** + * Encodes the specified ImportProductSetsGcsSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.verify|verify} messages. + * @param message ImportProductSetsGcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsGcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.verify|verify} messages. + * @param message ImportProductSetsGcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource; + + /** + * Verifies an ImportProductSetsGcsSource message. + * @param message Plain 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 ImportProductSetsGcsSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsGcsSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource; + + /** + * Creates a plain object from an ImportProductSetsGcsSource message. Also converts values to other types if specified. + * @param message ImportProductSetsGcsSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsGcsSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsInputConfig. */ + interface IImportProductSetsInputConfig { + + /** ImportProductSetsInputConfig gcsSource */ + gcsSource?: (google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource|null); + } + + /** Represents an ImportProductSetsInputConfig. */ + class ImportProductSetsInputConfig implements IImportProductSetsInputConfig { + + /** + * Constructs a new ImportProductSetsInputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig); + + /** ImportProductSetsInputConfig gcsSource. */ + public gcsSource?: (google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource|null); + + /** ImportProductSetsInputConfig source. */ + public source?: "gcsSource"; + + /** + * Creates a new ImportProductSetsInputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsInputConfig instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig): google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig; + + /** + * Encodes the specified ImportProductSetsInputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.verify|verify} messages. + * @param message ImportProductSetsInputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsInputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.verify|verify} messages. + * @param message ImportProductSetsInputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig; + + /** + * Verifies an ImportProductSetsInputConfig message. + * @param message Plain 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 ImportProductSetsInputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsInputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig; + + /** + * Creates a plain object from an ImportProductSetsInputConfig message. Also converts values to other types if specified. + * @param message ImportProductSetsInputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsInputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsRequest. */ + interface IImportProductSetsRequest { + + /** ImportProductSetsRequest parent */ + parent?: (string|null); + + /** ImportProductSetsRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig|null); + } + + /** Represents an ImportProductSetsRequest. */ + class ImportProductSetsRequest implements IImportProductSetsRequest { + + /** + * Constructs a new ImportProductSetsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IImportProductSetsRequest); + + /** ImportProductSetsRequest parent. */ + public parent: string; + + /** ImportProductSetsRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig|null); + + /** + * Creates a new ImportProductSetsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsRequest instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IImportProductSetsRequest): google.cloud.vision.v1p3beta1.ImportProductSetsRequest; + + /** + * Encodes the specified ImportProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsRequest.verify|verify} messages. + * @param message ImportProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IImportProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsRequest.verify|verify} messages. + * @param message ImportProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IImportProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ImportProductSetsRequest; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ImportProductSetsRequest; + + /** + * Verifies an ImportProductSetsRequest message. + * @param message Plain 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 ImportProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ImportProductSetsRequest; + + /** + * Creates a plain object from an ImportProductSetsRequest message. Also converts values to other types if specified. + * @param message ImportProductSetsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ImportProductSetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsResponse. */ + interface IImportProductSetsResponse { + + /** ImportProductSetsResponse referenceImages */ + referenceImages?: (google.cloud.vision.v1p3beta1.IReferenceImage[]|null); + + /** ImportProductSetsResponse statuses */ + statuses?: (google.rpc.IStatus[]|null); + } + + /** Represents an ImportProductSetsResponse. */ + class ImportProductSetsResponse implements IImportProductSetsResponse { + + /** + * Constructs a new ImportProductSetsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IImportProductSetsResponse); + + /** ImportProductSetsResponse referenceImages. */ + public referenceImages: google.cloud.vision.v1p3beta1.IReferenceImage[]; + + /** ImportProductSetsResponse statuses. */ + public statuses: google.rpc.IStatus[]; + + /** + * Creates a new ImportProductSetsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsResponse instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IImportProductSetsResponse): google.cloud.vision.v1p3beta1.ImportProductSetsResponse; + + /** + * Encodes the specified ImportProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsResponse.verify|verify} messages. + * @param message ImportProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IImportProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsResponse.verify|verify} messages. + * @param message ImportProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IImportProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ImportProductSetsResponse; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ImportProductSetsResponse; + + /** + * Verifies an ImportProductSetsResponse message. + * @param message Plain 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 ImportProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ImportProductSetsResponse; + + /** + * Creates a plain object from an ImportProductSetsResponse message. Also converts values to other types if specified. + * @param message ImportProductSetsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ImportProductSetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchOperationMetadata. */ + interface IBatchOperationMetadata { + + /** BatchOperationMetadata state */ + state?: (google.cloud.vision.v1p3beta1.BatchOperationMetadata.State|null); + + /** BatchOperationMetadata submitTime */ + submitTime?: (google.protobuf.ITimestamp|null); + + /** BatchOperationMetadata endTime */ + endTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents a BatchOperationMetadata. */ + class BatchOperationMetadata implements IBatchOperationMetadata { + + /** + * Constructs a new BatchOperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IBatchOperationMetadata); + + /** BatchOperationMetadata state. */ + public state: google.cloud.vision.v1p3beta1.BatchOperationMetadata.State; + + /** BatchOperationMetadata submitTime. */ + public submitTime?: (google.protobuf.ITimestamp|null); + + /** BatchOperationMetadata endTime. */ + public endTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new BatchOperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchOperationMetadata instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IBatchOperationMetadata): google.cloud.vision.v1p3beta1.BatchOperationMetadata; + + /** + * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchOperationMetadata.verify|verify} messages. + * @param message BatchOperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchOperationMetadata.verify|verify} messages. + * @param message BatchOperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.BatchOperationMetadata; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.BatchOperationMetadata; + + /** + * Verifies a BatchOperationMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchOperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.BatchOperationMetadata; + + /** + * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. + * @param message BatchOperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.BatchOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchOperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace BatchOperationMetadata { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + PROCESSING = 1, + SUCCESSFUL = 2, + FAILED = 3, + CANCELLED = 4 + } + } + + /** Properties of a TextAnnotation. */ + interface ITextAnnotation { + + /** TextAnnotation pages */ + pages?: (google.cloud.vision.v1p3beta1.IPage[]|null); + + /** TextAnnotation text */ + text?: (string|null); + } + + /** Represents a TextAnnotation. */ + class TextAnnotation implements ITextAnnotation { + + /** + * Constructs a new TextAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ITextAnnotation); + + /** TextAnnotation pages. */ + public pages: google.cloud.vision.v1p3beta1.IPage[]; + + /** TextAnnotation text. */ + public text: string; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns TextAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ITextAnnotation): google.cloud.vision.v1p3beta1.TextAnnotation; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.TextAnnotation; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.TextAnnotation; + + /** + * Verifies a TextAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.TextAnnotation; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @param message TextAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace TextAnnotation { + + /** Properties of a DetectedLanguage. */ + interface IDetectedLanguage { + + /** DetectedLanguage languageCode */ + languageCode?: (string|null); + + /** DetectedLanguage confidence */ + confidence?: (number|null); + } + + /** Represents a DetectedLanguage. */ + class DetectedLanguage implements IDetectedLanguage { + + /** + * Constructs a new DetectedLanguage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage); + + /** DetectedLanguage languageCode. */ + public languageCode: string; + + /** DetectedLanguage confidence. */ + public confidence: number; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedLanguage instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage): google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage; + + /** + * Verifies a DetectedLanguage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedLanguage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @param message DetectedLanguage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedLanguage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DetectedBreak. */ + interface IDetectedBreak { + + /** DetectedBreak type */ + type?: (google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType|null); + + /** DetectedBreak isPrefix */ + isPrefix?: (boolean|null); + } + + /** Represents a DetectedBreak. */ + class DetectedBreak implements IDetectedBreak { + + /** + * Constructs a new DetectedBreak. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak); + + /** DetectedBreak type. */ + public type: google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType; + + /** DetectedBreak isPrefix. */ + public isPrefix: boolean; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedBreak instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak): google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak; + + /** + * Verifies a DetectedBreak message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedBreak + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @param message DetectedBreak + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedBreak to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace DetectedBreak { + + /** BreakType enum. */ + enum BreakType { + UNKNOWN = 0, + SPACE = 1, + SURE_SPACE = 2, + EOL_SURE_SPACE = 3, + HYPHEN = 4, + LINE_BREAK = 5 + } + } + + /** Properties of a TextProperty. */ + interface ITextProperty { + + /** TextProperty detectedLanguages */ + detectedLanguages?: (google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage[]|null); + + /** TextProperty detectedBreak */ + detectedBreak?: (google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak|null); + } + + /** Represents a TextProperty. */ + class TextProperty implements ITextProperty { + + /** + * Constructs a new TextProperty. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty); + + /** TextProperty detectedLanguages. */ + public detectedLanguages: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage[]; + + /** TextProperty detectedBreak. */ + public detectedBreak?: (google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak|null); + + /** + * Creates a new TextProperty instance using the specified properties. + * @param [properties] Properties to set + * @returns TextProperty instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty): google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty; + + /** + * Verifies a TextProperty message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextProperty + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @param message TextProperty + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextProperty to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a Page. */ + interface IPage { + + /** Page property */ + property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Page width */ + width?: (number|null); + + /** Page height */ + height?: (number|null); + + /** Page blocks */ + blocks?: (google.cloud.vision.v1p3beta1.IBlock[]|null); + + /** Page confidence */ + confidence?: (number|null); + } + + /** Represents a Page. */ + class Page implements IPage { + + /** + * Constructs a new Page. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IPage); + + /** Page property. */ + public property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Page width. */ + public width: number; + + /** Page height. */ + public height: number; + + /** Page blocks. */ + public blocks: google.cloud.vision.v1p3beta1.IBlock[]; + + /** Page confidence. */ + public confidence: number; + + /** + * Creates a new Page instance using the specified properties. + * @param [properties] Properties to set + * @returns Page instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IPage): google.cloud.vision.v1p3beta1.Page; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Page message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Page; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Page; + + /** + * Verifies a Page message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Page + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Page; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @param message Page + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Page, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Page to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Block. */ + interface IBlock { + + /** Block property */ + property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox */ + boundingBox?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** Block paragraphs */ + paragraphs?: (google.cloud.vision.v1p3beta1.IParagraph[]|null); + + /** Block blockType */ + blockType?: (google.cloud.vision.v1p3beta1.Block.BlockType|null); + + /** Block confidence */ + confidence?: (number|null); + } + + /** Represents a Block. */ + class Block implements IBlock { + + /** + * Constructs a new Block. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IBlock); + + /** Block property. */ + public property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** Block paragraphs. */ + public paragraphs: google.cloud.vision.v1p3beta1.IParagraph[]; + + /** Block blockType. */ + public blockType: google.cloud.vision.v1p3beta1.Block.BlockType; + + /** Block confidence. */ + public confidence: number; + + /** + * Creates a new Block instance using the specified properties. + * @param [properties] Properties to set + * @returns Block instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IBlock): google.cloud.vision.v1p3beta1.Block; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Block message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Block; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Block; + + /** + * Verifies a Block message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Block + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Block; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @param message Block + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Block, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Block to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Block { + + /** BlockType enum. */ + enum BlockType { + UNKNOWN = 0, + TEXT = 1, + TABLE = 2, + PICTURE = 3, + RULER = 4, + BARCODE = 5 + } + } + + /** Properties of a Paragraph. */ + interface IParagraph { + + /** Paragraph property */ + property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox */ + boundingBox?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** Paragraph words */ + words?: (google.cloud.vision.v1p3beta1.IWord[]|null); + + /** Paragraph confidence */ + confidence?: (number|null); + } + + /** Represents a Paragraph. */ + class Paragraph implements IParagraph { + + /** + * Constructs a new Paragraph. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IParagraph); + + /** Paragraph property. */ + public property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** Paragraph words. */ + public words: google.cloud.vision.v1p3beta1.IWord[]; + + /** Paragraph confidence. */ + public confidence: number; + + /** + * Creates a new Paragraph instance using the specified properties. + * @param [properties] Properties to set + * @returns Paragraph instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IParagraph): google.cloud.vision.v1p3beta1.Paragraph; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Paragraph; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Paragraph; + + /** + * Verifies a Paragraph message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Paragraph + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Paragraph; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @param message Paragraph + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Paragraph, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Paragraph to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Word. */ + interface IWord { + + /** Word property */ + property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox */ + boundingBox?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** Word symbols */ + symbols?: (google.cloud.vision.v1p3beta1.ISymbol[]|null); + + /** Word confidence */ + confidence?: (number|null); + } + + /** Represents a Word. */ + class Word implements IWord { + + /** + * Constructs a new Word. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IWord); + + /** Word property. */ + public property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** Word symbols. */ + public symbols: google.cloud.vision.v1p3beta1.ISymbol[]; + + /** Word confidence. */ + public confidence: number; + + /** + * Creates a new Word instance using the specified properties. + * @param [properties] Properties to set + * @returns Word instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IWord): google.cloud.vision.v1p3beta1.Word; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Word message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Word; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Word; + + /** + * Verifies a Word message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Word + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Word; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @param message Word + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Word, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Word to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Symbol. */ + interface ISymbol { + + /** Symbol property */ + property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox */ + boundingBox?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** Symbol text */ + text?: (string|null); + + /** Symbol confidence */ + confidence?: (number|null); + } + + /** Represents a Symbol. */ + class Symbol implements ISymbol { + + /** + * Constructs a new Symbol. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ISymbol); + + /** Symbol property. */ + public property?: (google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** Symbol text. */ + public text: string; + + /** Symbol confidence. */ + public confidence: number; + + /** + * Creates a new Symbol instance using the specified properties. + * @param [properties] Properties to set + * @returns Symbol instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ISymbol): google.cloud.vision.v1p3beta1.Symbol; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Symbol; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Symbol; + + /** + * Verifies a Symbol message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Symbol + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Symbol; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @param message Symbol + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Symbol, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Symbol to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetection. */ + interface IWebDetection { + + /** WebDetection webEntities */ + webEntities?: (google.cloud.vision.v1p3beta1.WebDetection.IWebEntity[]|null); + + /** WebDetection fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]|null); + + /** WebDetection partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]|null); + + /** WebDetection pagesWithMatchingImages */ + pagesWithMatchingImages?: (google.cloud.vision.v1p3beta1.WebDetection.IWebPage[]|null); + + /** WebDetection visuallySimilarImages */ + visuallySimilarImages?: (google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]|null); + + /** WebDetection bestGuessLabels */ + bestGuessLabels?: (google.cloud.vision.v1p3beta1.WebDetection.IWebLabel[]|null); + } + + /** Represents a WebDetection. */ + class WebDetection implements IWebDetection { + + /** + * Constructs a new WebDetection. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IWebDetection); + + /** WebDetection webEntities. */ + public webEntities: google.cloud.vision.v1p3beta1.WebDetection.IWebEntity[]; + + /** WebDetection fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]; + + /** WebDetection partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]; + + /** WebDetection pagesWithMatchingImages. */ + public pagesWithMatchingImages: google.cloud.vision.v1p3beta1.WebDetection.IWebPage[]; + + /** WebDetection visuallySimilarImages. */ + public visuallySimilarImages: google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]; + + /** WebDetection bestGuessLabels. */ + public bestGuessLabels: google.cloud.vision.v1p3beta1.WebDetection.IWebLabel[]; + + /** + * Creates a new WebDetection instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetection instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IWebDetection): google.cloud.vision.v1p3beta1.WebDetection; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.WebDetection; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.WebDetection; + + /** + * Verifies a WebDetection message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetection + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.WebDetection; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @param message WebDetection + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.WebDetection, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetection to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace WebDetection { + + /** Properties of a WebEntity. */ + interface IWebEntity { + + /** WebEntity entityId */ + entityId?: (string|null); + + /** WebEntity score */ + score?: (number|null); + + /** WebEntity description */ + description?: (string|null); + } + + /** Represents a WebEntity. */ + class WebEntity implements IWebEntity { + + /** + * Constructs a new WebEntity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.WebDetection.IWebEntity); + + /** WebEntity entityId. */ + public entityId: string; + + /** WebEntity score. */ + public score: number; + + /** WebEntity description. */ + public description: string; + + /** + * Creates a new WebEntity instance using the specified properties. + * @param [properties] Properties to set + * @returns WebEntity instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.WebDetection.IWebEntity): google.cloud.vision.v1p3beta1.WebDetection.WebEntity; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.WebDetection.WebEntity; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.WebDetection.WebEntity; + + /** + * Verifies a WebEntity message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebEntity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.WebDetection.WebEntity; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @param message WebEntity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.WebDetection.WebEntity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebEntity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebImage. */ + interface IWebImage { + + /** WebImage url */ + url?: (string|null); + + /** WebImage score */ + score?: (number|null); + } + + /** Represents a WebImage. */ + class WebImage implements IWebImage { + + /** + * Constructs a new WebImage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.WebDetection.IWebImage); + + /** WebImage url. */ + public url: string; + + /** WebImage score. */ + public score: number; + + /** + * Creates a new WebImage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebImage instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.WebDetection.IWebImage): google.cloud.vision.v1p3beta1.WebDetection.WebImage; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.WebDetection.WebImage; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.WebDetection.WebImage; + + /** + * Verifies a WebImage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebImage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.WebDetection.WebImage; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @param message WebImage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.WebDetection.WebImage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebImage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebPage. */ + interface IWebPage { + + /** WebPage url */ + url?: (string|null); + + /** WebPage score */ + score?: (number|null); + + /** WebPage pageTitle */ + pageTitle?: (string|null); + + /** WebPage fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]|null); + + /** WebPage partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]|null); + } + + /** Represents a WebPage. */ + class WebPage implements IWebPage { + + /** + * Constructs a new WebPage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.WebDetection.IWebPage); + + /** WebPage url. */ + public url: string; + + /** WebPage score. */ + public score: number; + + /** WebPage pageTitle. */ + public pageTitle: string; + + /** WebPage fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]; + + /** WebPage partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1p3beta1.WebDetection.IWebImage[]; + + /** + * Creates a new WebPage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebPage instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.WebDetection.IWebPage): google.cloud.vision.v1p3beta1.WebDetection.WebPage; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.WebDetection.WebPage; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.WebDetection.WebPage; + + /** + * Verifies a WebPage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebPage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.WebDetection.WebPage; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @param message WebPage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.WebDetection.WebPage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebPage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebLabel. */ + interface IWebLabel { + + /** WebLabel label */ + label?: (string|null); + + /** WebLabel languageCode */ + languageCode?: (string|null); + } + + /** Represents a WebLabel. */ + class WebLabel implements IWebLabel { + + /** + * Constructs a new WebLabel. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.WebDetection.IWebLabel); + + /** WebLabel label. */ + public label: string; + + /** WebLabel languageCode. */ + public languageCode: string; + + /** + * Creates a new WebLabel instance using the specified properties. + * @param [properties] Properties to set + * @returns WebLabel instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.WebDetection.IWebLabel): google.cloud.vision.v1p3beta1.WebDetection.WebLabel; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.WebDetection.WebLabel; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.WebDetection.WebLabel; + + /** + * Verifies a WebLabel message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebLabel + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.WebDetection.WebLabel; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @param message WebLabel + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.WebDetection.WebLabel, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebLabel to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + } + + /** Namespace v1p4beta1. */ + namespace v1p4beta1 { + + /** Represents an ImageAnnotator */ + class ImageAnnotator extends $protobuf.rpc.Service { + + /** + * Constructs a new ImageAnnotator 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 ImageAnnotator 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): ImageAnnotator; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + */ + public batchAnnotateImages(request: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImagesCallback): void; + + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @returns Promise + */ + public batchAnnotateImages(request: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest): Promise; + + /** + * Calls BatchAnnotateFiles. + * @param request BatchAnnotateFilesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse + */ + public batchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFilesCallback): void; + + /** + * Calls BatchAnnotateFiles. + * @param request BatchAnnotateFilesRequest message or plain object + * @returns Promise + */ + public batchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest): Promise; + + /** + * Calls AsyncBatchAnnotateImages. + * @param request AsyncBatchAnnotateImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public asyncBatchAnnotateImages(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImagesCallback): void; + + /** + * Calls AsyncBatchAnnotateImages. + * @param request AsyncBatchAnnotateImagesRequest message or plain object + * @returns Promise + */ + public asyncBatchAnnotateImages(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest): Promise; + + /** + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback): void; + + /** + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @returns Promise + */ + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest): Promise; + } + + namespace ImageAnnotator { + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateImages}. + * @param error Error, if any + * @param [response] BatchAnnotateImagesResponse + */ + type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateFiles}. + * @param error Error, if any + * @param [response] BatchAnnotateFilesResponse + */ + type BatchAnnotateFilesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateImages}. + * @param error Error, if any + * @param [response] Operation + */ + type AsyncBatchAnnotateImagesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @param error Error, if any + * @param [response] Operation + */ + type AsyncBatchAnnotateFilesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of a Feature. */ + interface IFeature { + + /** Feature type */ + type?: (google.cloud.vision.v1p4beta1.Feature.Type|null); + + /** Feature maxResults */ + maxResults?: (number|null); + + /** Feature model */ + model?: (string|null); + } + + /** Represents a Feature. */ + class Feature implements IFeature { + + /** + * Constructs a new Feature. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IFeature); + + /** Feature type. */ + public type: google.cloud.vision.v1p4beta1.Feature.Type; + + /** Feature maxResults. */ + public maxResults: number; + + /** Feature model. */ + public model: string; + + /** + * Creates a new Feature instance using the specified properties. + * @param [properties] Properties to set + * @returns Feature instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IFeature): google.cloud.vision.v1p4beta1.Feature; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Feature; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Feature; + + /** + * Verifies a Feature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Feature + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Feature; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @param message Feature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Feature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Feature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Feature { + + /** Type enum. */ + enum Type { + TYPE_UNSPECIFIED = 0, + FACE_DETECTION = 1, + LANDMARK_DETECTION = 2, + LOGO_DETECTION = 3, + LABEL_DETECTION = 4, + TEXT_DETECTION = 5, + DOCUMENT_TEXT_DETECTION = 11, + SAFE_SEARCH_DETECTION = 6, + IMAGE_PROPERTIES = 7, + CROP_HINTS = 9, + WEB_DETECTION = 10, + PRODUCT_SEARCH = 12, + OBJECT_LOCALIZATION = 19 + } + } + + /** Properties of an ImageSource. */ + interface IImageSource { + + /** ImageSource gcsImageUri */ + gcsImageUri?: (string|null); + + /** ImageSource imageUri */ + imageUri?: (string|null); + } + + /** Represents an ImageSource. */ + class ImageSource implements IImageSource { + + /** + * Constructs a new ImageSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IImageSource); + + /** ImageSource gcsImageUri. */ + public gcsImageUri: string; + + /** ImageSource imageUri. */ + public imageUri: string; + + /** + * Creates a new ImageSource instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageSource instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IImageSource): google.cloud.vision.v1p4beta1.ImageSource; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageSource; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageSource; + + /** + * Verifies an ImageSource message. + * @param message Plain 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 ImageSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageSource; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @param message ImageSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ImageSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Image. */ + interface IImage { + + /** Image content */ + content?: (Uint8Array|null); + + /** Image source */ + source?: (google.cloud.vision.v1p4beta1.IImageSource|null); + } + + /** Represents an Image. */ + class Image implements IImage { + + /** + * Constructs a new Image. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IImage); + + /** Image content. */ + public content: Uint8Array; + + /** Image source. */ + public source?: (google.cloud.vision.v1p4beta1.IImageSource|null); + + /** + * Creates a new Image instance using the specified properties. + * @param [properties] Properties to set + * @returns Image instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IImage): google.cloud.vision.v1p4beta1.Image; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Image message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Image; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Image; + + /** + * Verifies an Image message. + * @param message Plain 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 Image message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Image + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Image; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @param message Image + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Image, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Image to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Likelihood enum. */ + enum Likelihood { + UNKNOWN = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + + /** Properties of a FaceAnnotation. */ + interface IFaceAnnotation { + + /** FaceAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly */ + fdBoundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks */ + landmarks?: (google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark[]|null); + + /** FaceAnnotation rollAngle */ + rollAngle?: (number|null); + + /** FaceAnnotation panAngle */ + panAngle?: (number|null); + + /** FaceAnnotation tiltAngle */ + tiltAngle?: (number|null); + + /** FaceAnnotation detectionConfidence */ + detectionConfidence?: (number|null); + + /** FaceAnnotation landmarkingConfidence */ + landmarkingConfidence?: (number|null); + + /** FaceAnnotation joyLikelihood */ + joyLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation sorrowLikelihood */ + sorrowLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation angerLikelihood */ + angerLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation surpriseLikelihood */ + surpriseLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation underExposedLikelihood */ + underExposedLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation blurredLikelihood */ + blurredLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation headwearLikelihood */ + headwearLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + } + + /** Represents a FaceAnnotation. */ + class FaceAnnotation implements IFaceAnnotation { + + /** + * Constructs a new FaceAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IFaceAnnotation); + + /** FaceAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly. */ + public fdBoundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks. */ + public landmarks: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark[]; + + /** FaceAnnotation rollAngle. */ + public rollAngle: number; + + /** FaceAnnotation panAngle. */ + public panAngle: number; + + /** FaceAnnotation tiltAngle. */ + public tiltAngle: number; + + /** FaceAnnotation detectionConfidence. */ + public detectionConfidence: number; + + /** FaceAnnotation landmarkingConfidence. */ + public landmarkingConfidence: number; + + /** FaceAnnotation joyLikelihood. */ + public joyLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + + /** FaceAnnotation sorrowLikelihood. */ + public sorrowLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + + /** FaceAnnotation angerLikelihood. */ + public angerLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + + /** FaceAnnotation surpriseLikelihood. */ + public surpriseLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + + /** FaceAnnotation underExposedLikelihood. */ + public underExposedLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + + /** FaceAnnotation blurredLikelihood. */ + public blurredLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + + /** FaceAnnotation headwearLikelihood. */ + public headwearLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IFaceAnnotation): google.cloud.vision.v1p4beta1.FaceAnnotation; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceAnnotation; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceAnnotation; + + /** + * Verifies a FaceAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceAnnotation; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @param message FaceAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace FaceAnnotation { + + /** Properties of a Landmark. */ + interface ILandmark { + + /** Landmark type */ + type?: (google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|null); + + /** Landmark position */ + position?: (google.cloud.vision.v1p4beta1.IPosition|null); + } + + /** Represents a Landmark. */ + class Landmark implements ILandmark { + + /** + * Constructs a new Landmark. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark); + + /** Landmark type. */ + public type: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type; + + /** Landmark position. */ + public position?: (google.cloud.vision.v1p4beta1.IPosition|null); + + /** + * Creates a new Landmark instance using the specified properties. + * @param [properties] Properties to set + * @returns Landmark instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; + + /** + * Verifies a Landmark message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Landmark + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @param message Landmark + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Landmark to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Landmark { + + /** Type enum. */ + enum Type { + UNKNOWN_LANDMARK = 0, + LEFT_EYE = 1, + RIGHT_EYE = 2, + LEFT_OF_LEFT_EYEBROW = 3, + RIGHT_OF_LEFT_EYEBROW = 4, + LEFT_OF_RIGHT_EYEBROW = 5, + RIGHT_OF_RIGHT_EYEBROW = 6, + MIDPOINT_BETWEEN_EYES = 7, + NOSE_TIP = 8, + UPPER_LIP = 9, + LOWER_LIP = 10, + MOUTH_LEFT = 11, + MOUTH_RIGHT = 12, + MOUTH_CENTER = 13, + NOSE_BOTTOM_RIGHT = 14, + NOSE_BOTTOM_LEFT = 15, + NOSE_BOTTOM_CENTER = 16, + LEFT_EYE_TOP_BOUNDARY = 17, + LEFT_EYE_RIGHT_CORNER = 18, + LEFT_EYE_BOTTOM_BOUNDARY = 19, + LEFT_EYE_LEFT_CORNER = 20, + RIGHT_EYE_TOP_BOUNDARY = 21, + RIGHT_EYE_RIGHT_CORNER = 22, + RIGHT_EYE_BOTTOM_BOUNDARY = 23, + RIGHT_EYE_LEFT_CORNER = 24, + LEFT_EYEBROW_UPPER_MIDPOINT = 25, + RIGHT_EYEBROW_UPPER_MIDPOINT = 26, + LEFT_EAR_TRAGION = 27, + RIGHT_EAR_TRAGION = 28, + LEFT_EYE_PUPIL = 29, + RIGHT_EYE_PUPIL = 30, + FOREHEAD_GLABELLA = 31, + CHIN_GNATHION = 32, + CHIN_LEFT_GONION = 33, + CHIN_RIGHT_GONION = 34 + } + } + } + + /** Properties of a LocationInfo. */ + interface ILocationInfo { + + /** LocationInfo latLng */ + latLng?: (google.type.ILatLng|null); + } + + /** Represents a LocationInfo. */ + class LocationInfo implements ILocationInfo { + + /** + * Constructs a new LocationInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ILocationInfo); + + /** LocationInfo latLng. */ + public latLng?: (google.type.ILatLng|null); + + /** + * Creates a new LocationInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns LocationInfo instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ILocationInfo): google.cloud.vision.v1p4beta1.LocationInfo; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.LocationInfo; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.LocationInfo; + + /** + * Verifies a LocationInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocationInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.LocationInfo; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @param message LocationInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.LocationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocationInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Property. */ + interface IProperty { + + /** Property name */ + name?: (string|null); + + /** Property value */ + value?: (string|null); + + /** Property uint64Value */ + uint64Value?: (number|Long|null); + } + + /** Represents a Property. */ + class Property implements IProperty { + + /** + * Constructs a new Property. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IProperty); + + /** Property name. */ + public name: string; + + /** Property value. */ + public value: string; + + /** Property uint64Value. */ + public uint64Value: (number|Long); + + /** + * Creates a new Property instance using the specified properties. + * @param [properties] Properties to set + * @returns Property instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IProperty): google.cloud.vision.v1p4beta1.Property; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Property message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Property; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Property; + + /** + * Verifies a Property message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Property + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Property; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @param message Property + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Property, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Property to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an EntityAnnotation. */ + interface IEntityAnnotation { + + /** EntityAnnotation mid */ + mid?: (string|null); + + /** EntityAnnotation locale */ + locale?: (string|null); + + /** EntityAnnotation description */ + description?: (string|null); + + /** EntityAnnotation score */ + score?: (number|null); + + /** EntityAnnotation confidence */ + confidence?: (number|null); + + /** EntityAnnotation topicality */ + topicality?: (number|null); + + /** EntityAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** EntityAnnotation locations */ + locations?: (google.cloud.vision.v1p4beta1.ILocationInfo[]|null); + + /** EntityAnnotation properties */ + properties?: (google.cloud.vision.v1p4beta1.IProperty[]|null); + } + + /** Represents an EntityAnnotation. */ + class EntityAnnotation implements IEntityAnnotation { + + /** + * Constructs a new EntityAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IEntityAnnotation); + + /** EntityAnnotation mid. */ + public mid: string; + + /** EntityAnnotation locale. */ + public locale: string; + + /** EntityAnnotation description. */ + public description: string; + + /** EntityAnnotation score. */ + public score: number; + + /** EntityAnnotation confidence. */ + public confidence: number; + + /** EntityAnnotation topicality. */ + public topicality: number; + + /** EntityAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** EntityAnnotation locations. */ + public locations: google.cloud.vision.v1p4beta1.ILocationInfo[]; + + /** EntityAnnotation properties. */ + public properties: google.cloud.vision.v1p4beta1.IProperty[]; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns EntityAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IEntityAnnotation): google.cloud.vision.v1p4beta1.EntityAnnotation; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.EntityAnnotation; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.EntityAnnotation; + + /** + * Verifies an EntityAnnotation message. + * @param message Plain 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 EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EntityAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.EntityAnnotation; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @param message EntityAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.EntityAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EntityAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LocalizedObjectAnnotation. */ + interface ILocalizedObjectAnnotation { + + /** LocalizedObjectAnnotation mid */ + mid?: (string|null); + + /** LocalizedObjectAnnotation languageCode */ + languageCode?: (string|null); + + /** LocalizedObjectAnnotation name */ + name?: (string|null); + + /** LocalizedObjectAnnotation score */ + score?: (number|null); + + /** LocalizedObjectAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + } + + /** Represents a LocalizedObjectAnnotation. */ + class LocalizedObjectAnnotation implements ILocalizedObjectAnnotation { + + /** + * Constructs a new LocalizedObjectAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation); + + /** LocalizedObjectAnnotation mid. */ + public mid: string; + + /** LocalizedObjectAnnotation languageCode. */ + public languageCode: string; + + /** LocalizedObjectAnnotation name. */ + public name: string; + + /** LocalizedObjectAnnotation score. */ + public score: number; + + /** LocalizedObjectAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** + * Creates a new LocalizedObjectAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns LocalizedObjectAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; + + /** + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @param message LocalizedObjectAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @param message LocalizedObjectAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; + + /** + * Verifies a LocalizedObjectAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LocalizedObjectAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; + + /** + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. + * @param message LocalizedObjectAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LocalizedObjectAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a SafeSearchAnnotation. */ + interface ISafeSearchAnnotation { + + /** SafeSearchAnnotation adult */ + adult?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** SafeSearchAnnotation spoof */ + spoof?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** SafeSearchAnnotation medical */ + medical?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** SafeSearchAnnotation violence */ + violence?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** SafeSearchAnnotation racy */ + racy?: (google.cloud.vision.v1p4beta1.Likelihood|null); + } + + /** Represents a SafeSearchAnnotation. */ + class SafeSearchAnnotation implements ISafeSearchAnnotation { + + /** + * Constructs a new SafeSearchAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation); + + /** SafeSearchAnnotation adult. */ + public adult: google.cloud.vision.v1p4beta1.Likelihood; + + /** SafeSearchAnnotation spoof. */ + public spoof: google.cloud.vision.v1p4beta1.Likelihood; + + /** SafeSearchAnnotation medical. */ + public medical: google.cloud.vision.v1p4beta1.Likelihood; + + /** SafeSearchAnnotation violence. */ + public violence: google.cloud.vision.v1p4beta1.Likelihood; + + /** SafeSearchAnnotation racy. */ + public racy: google.cloud.vision.v1p4beta1.Likelihood; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns SafeSearchAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; + + /** + * Verifies a SafeSearchAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SafeSearchAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @param message SafeSearchAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.SafeSearchAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LatLongRect. */ + interface ILatLongRect { + + /** LatLongRect minLatLng */ + minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng */ + maxLatLng?: (google.type.ILatLng|null); + } + + /** Represents a LatLongRect. */ + class LatLongRect implements ILatLongRect { + + /** + * Constructs a new LatLongRect. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ILatLongRect); + + /** LatLongRect minLatLng. */ + public minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng. */ + public maxLatLng?: (google.type.ILatLng|null); + + /** + * Creates a new LatLongRect instance using the specified properties. + * @param [properties] Properties to set + * @returns LatLongRect instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ILatLongRect): google.cloud.vision.v1p4beta1.LatLongRect; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.LatLongRect; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.LatLongRect; + + /** + * Verifies a LatLongRect message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LatLongRect + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.LatLongRect; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @param message LatLongRect + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.LatLongRect, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LatLongRect to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ColorInfo. */ + interface IColorInfo { + + /** ColorInfo color */ + color?: (google.type.IColor|null); + + /** ColorInfo score */ + score?: (number|null); + + /** ColorInfo pixelFraction */ + pixelFraction?: (number|null); + } + + /** Represents a ColorInfo. */ + class ColorInfo implements IColorInfo { + + /** + * Constructs a new ColorInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IColorInfo); + + /** ColorInfo color. */ + public color?: (google.type.IColor|null); + + /** ColorInfo score. */ + public score: number; + + /** ColorInfo pixelFraction. */ + public pixelFraction: number; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns ColorInfo instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IColorInfo): google.cloud.vision.v1p4beta1.ColorInfo; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ColorInfo; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ColorInfo; + + /** + * Verifies a ColorInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ColorInfo + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ColorInfo; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @param message ColorInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ColorInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DominantColorsAnnotation. */ + interface IDominantColorsAnnotation { + + /** DominantColorsAnnotation colors */ + colors?: (google.cloud.vision.v1p4beta1.IColorInfo[]|null); + } + + /** Represents a DominantColorsAnnotation. */ + class DominantColorsAnnotation implements IDominantColorsAnnotation { + + /** + * Constructs a new DominantColorsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation); + + /** DominantColorsAnnotation colors. */ + public colors: google.cloud.vision.v1p4beta1.IColorInfo[]; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns DominantColorsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; + + /** + * Verifies a DominantColorsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DominantColorsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @param message DominantColorsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.DominantColorsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageProperties. */ + interface IImageProperties { + + /** ImageProperties dominantColors */ + dominantColors?: (google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null); + } + + /** Represents an ImageProperties. */ + class ImageProperties implements IImageProperties { + + /** + * Constructs a new ImageProperties. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IImageProperties); + + /** ImageProperties dominantColors. */ + public dominantColors?: (google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null); + + /** + * Creates a new ImageProperties instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageProperties instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IImageProperties): google.cloud.vision.v1p4beta1.ImageProperties; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageProperties; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageProperties; + + /** + * Verifies an ImageProperties message. + * @param message Plain 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 ImageProperties message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageProperties + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageProperties; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @param message ImageProperties + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ImageProperties, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageProperties to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHint. */ + interface ICropHint { + + /** CropHint boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** CropHint confidence */ + confidence?: (number|null); + + /** CropHint importanceFraction */ + importanceFraction?: (number|null); + } + + /** Represents a CropHint. */ + class CropHint implements ICropHint { + + /** + * Constructs a new CropHint. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ICropHint); + + /** CropHint boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** CropHint confidence. */ + public confidence: number; + + /** CropHint importanceFraction. */ + public importanceFraction: number; + + /** + * Creates a new CropHint instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHint instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ICropHint): google.cloud.vision.v1p4beta1.CropHint; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CropHint; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CropHint; + + /** + * Verifies a CropHint message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHint + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CropHint; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @param message CropHint + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.CropHint, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHint to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsAnnotation. */ + interface ICropHintsAnnotation { + + /** CropHintsAnnotation cropHints */ + cropHints?: (google.cloud.vision.v1p4beta1.ICropHint[]|null); + } + + /** Represents a CropHintsAnnotation. */ + class CropHintsAnnotation implements ICropHintsAnnotation { + + /** + * Constructs a new CropHintsAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ICropHintsAnnotation); + + /** CropHintsAnnotation cropHints. */ + public cropHints: google.cloud.vision.v1p4beta1.ICropHint[]; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ICropHintsAnnotation): google.cloud.vision.v1p4beta1.CropHintsAnnotation; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CropHintsAnnotation; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CropHintsAnnotation; + + /** + * Verifies a CropHintsAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CropHintsAnnotation; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @param message CropHintsAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.CropHintsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CropHintsParams. */ + interface ICropHintsParams { + + /** CropHintsParams aspectRatios */ + aspectRatios?: (number[]|null); + } + + /** Represents a CropHintsParams. */ + class CropHintsParams implements ICropHintsParams { + + /** + * Constructs a new CropHintsParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ICropHintsParams); + + /** CropHintsParams aspectRatios. */ + public aspectRatios: number[]; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @param [properties] Properties to set + * @returns CropHintsParams instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ICropHintsParams): google.cloud.vision.v1p4beta1.CropHintsParams; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CropHintsParams; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CropHintsParams; + + /** + * Verifies a CropHintsParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CropHintsParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CropHintsParams; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @param message CropHintsParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.CropHintsParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CropHintsParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetectionParams. */ + interface IWebDetectionParams { + + /** WebDetectionParams includeGeoResults */ + includeGeoResults?: (boolean|null); + } + + /** Represents a WebDetectionParams. */ + class WebDetectionParams implements IWebDetectionParams { + + /** + * Constructs a new WebDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IWebDetectionParams); + + /** WebDetectionParams includeGeoResults. */ + public includeGeoResults: boolean; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IWebDetectionParams): google.cloud.vision.v1p4beta1.WebDetectionParams; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetectionParams; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetectionParams; + + /** + * Verifies a WebDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetectionParams; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @param message WebDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.WebDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageContext. */ + interface IImageContext { + + /** ImageContext latLongRect */ + latLongRect?: (google.cloud.vision.v1p4beta1.ILatLongRect|null); + + /** ImageContext languageHints */ + languageHints?: (string[]|null); + + /** ImageContext cropHintsParams */ + cropHintsParams?: (google.cloud.vision.v1p4beta1.ICropHintsParams|null); + + /** ImageContext productSearchParams */ + productSearchParams?: (google.cloud.vision.v1p4beta1.IProductSearchParams|null); + + /** ImageContext webDetectionParams */ + webDetectionParams?: (google.cloud.vision.v1p4beta1.IWebDetectionParams|null); + } + + /** Represents an ImageContext. */ + class ImageContext implements IImageContext { + + /** + * Constructs a new ImageContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IImageContext); + + /** ImageContext latLongRect. */ + public latLongRect?: (google.cloud.vision.v1p4beta1.ILatLongRect|null); + + /** ImageContext languageHints. */ + public languageHints: string[]; + + /** ImageContext cropHintsParams. */ + public cropHintsParams?: (google.cloud.vision.v1p4beta1.ICropHintsParams|null); + + /** ImageContext productSearchParams. */ + public productSearchParams?: (google.cloud.vision.v1p4beta1.IProductSearchParams|null); + + /** ImageContext webDetectionParams. */ + public webDetectionParams?: (google.cloud.vision.v1p4beta1.IWebDetectionParams|null); + + /** + * Creates a new ImageContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageContext instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IImageContext): google.cloud.vision.v1p4beta1.ImageContext; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageContext; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageContext; + + /** + * Verifies an ImageContext message. + * @param message Plain 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 ImageContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageContext; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @param message ImageContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ImageContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageRequest. */ + interface IAnnotateImageRequest { + + /** AnnotateImageRequest image */ + image?: (google.cloud.vision.v1p4beta1.IImage|null); + + /** AnnotateImageRequest features */ + features?: (google.cloud.vision.v1p4beta1.IFeature[]|null); + + /** AnnotateImageRequest imageContext */ + imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + } + + /** Represents an AnnotateImageRequest. */ + class AnnotateImageRequest implements IAnnotateImageRequest { + + /** + * Constructs a new AnnotateImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageRequest); + + /** AnnotateImageRequest image. */ + public image?: (google.cloud.vision.v1p4beta1.IImage|null); + + /** AnnotateImageRequest features. */ + public features: google.cloud.vision.v1p4beta1.IFeature[]; + + /** AnnotateImageRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageRequest): google.cloud.vision.v1p4beta1.AnnotateImageRequest; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateImageRequest; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateImageRequest; + + /** + * Verifies an AnnotateImageRequest message. + * @param message Plain 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 AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateImageRequest; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @param message AnnotateImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImageAnnotationContext. */ + interface IImageAnnotationContext { + + /** ImageAnnotationContext uri */ + uri?: (string|null); + + /** ImageAnnotationContext pageNumber */ + pageNumber?: (number|null); + } + + /** Represents an ImageAnnotationContext. */ + class ImageAnnotationContext implements IImageAnnotationContext { + + /** + * Constructs a new ImageAnnotationContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IImageAnnotationContext); + + /** ImageAnnotationContext uri. */ + public uri: string; + + /** ImageAnnotationContext pageNumber. */ + public pageNumber: number; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. + * @param [properties] Properties to set + * @returns ImageAnnotationContext instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IImageAnnotationContext): google.cloud.vision.v1p4beta1.ImageAnnotationContext; + + /** + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageAnnotationContext; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageAnnotationContext; + + /** + * Verifies an ImageAnnotationContext message. + * @param message Plain 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 ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageAnnotationContext + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageAnnotationContext; + + /** + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * @param message ImageAnnotationContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ImageAnnotationContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImageAnnotationContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateImageResponse. */ + interface IAnnotateImageResponse { + + /** AnnotateImageResponse faceAnnotations */ + faceAnnotations?: (google.cloud.vision.v1p4beta1.IFaceAnnotation[]|null); + + /** AnnotateImageResponse landmarkAnnotations */ + landmarkAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse logoAnnotations */ + logoAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse labelAnnotations */ + labelAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse localizedObjectAnnotations */ + localizedObjectAnnotations?: (google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation[]|null); + + /** AnnotateImageResponse textAnnotations */ + textAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse fullTextAnnotation */ + fullTextAnnotation?: (google.cloud.vision.v1p4beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation */ + safeSearchAnnotation?: (google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation */ + imagePropertiesAnnotation?: (google.cloud.vision.v1p4beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation */ + cropHintsAnnotation?: (google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection */ + webDetection?: (google.cloud.vision.v1p4beta1.IWebDetection|null); + + /** AnnotateImageResponse productSearchResults */ + productSearchResults?: (google.cloud.vision.v1p4beta1.IProductSearchResults|null); + + /** AnnotateImageResponse error */ + error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context */ + context?: (google.cloud.vision.v1p4beta1.IImageAnnotationContext|null); + } + + /** Represents an AnnotateImageResponse. */ + class AnnotateImageResponse implements IAnnotateImageResponse { + + /** + * Constructs a new AnnotateImageResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageResponse); + + /** AnnotateImageResponse faceAnnotations. */ + public faceAnnotations: google.cloud.vision.v1p4beta1.IFaceAnnotation[]; + + /** AnnotateImageResponse landmarkAnnotations. */ + public landmarkAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse logoAnnotations. */ + public logoAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse labelAnnotations. */ + public labelAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse localizedObjectAnnotations. */ + public localizedObjectAnnotations: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation[]; + + /** AnnotateImageResponse textAnnotations. */ + public textAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse fullTextAnnotation. */ + public fullTextAnnotation?: (google.cloud.vision.v1p4beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation. */ + public safeSearchAnnotation?: (google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation. */ + public imagePropertiesAnnotation?: (google.cloud.vision.v1p4beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation. */ + public cropHintsAnnotation?: (google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection. */ + public webDetection?: (google.cloud.vision.v1p4beta1.IWebDetection|null); + + /** AnnotateImageResponse productSearchResults. */ + public productSearchResults?: (google.cloud.vision.v1p4beta1.IProductSearchResults|null); + + /** AnnotateImageResponse error. */ + public error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context. */ + public context?: (google.cloud.vision.v1p4beta1.IImageAnnotationContext|null); + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateImageResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageResponse): google.cloud.vision.v1p4beta1.AnnotateImageResponse; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateImageResponse; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateImageResponse; + + /** + * Verifies an AnnotateImageResponse message. + * @param message Plain 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 AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateImageResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateImageResponse; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @param message AnnotateImageResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateImageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateFileResponse. */ + interface IAnnotateFileResponse { + + /** AnnotateFileResponse inputConfig */ + inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileResponse responses */ + responses?: (google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]|null); + + /** AnnotateFileResponse totalPages */ + totalPages?: (number|null); + } + + /** Represents an AnnotateFileResponse. */ + class AnnotateFileResponse implements IAnnotateFileResponse { + + /** + * Constructs a new AnnotateFileResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse); + + /** AnnotateFileResponse inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileResponse responses. */ + public responses: google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]; + + /** AnnotateFileResponse totalPages. */ + public totalPages: number; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateFileResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + + /** + * Verifies an AnnotateFileResponse message. + * @param message Plain 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 AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateFileResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + + /** + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @param message AnnotateFileResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateFileResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesRequest. */ + interface IBatchAnnotateImagesRequest { + + /** BatchAnnotateImagesRequest requests */ + requests?: (google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]|null); + } + + /** Represents a BatchAnnotateImagesRequest. */ + class BatchAnnotateImagesRequest implements IBatchAnnotateImagesRequest { + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest); + + /** BatchAnnotateImagesRequest requests. */ + public requests: google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateImagesResponse. */ + interface IBatchAnnotateImagesResponse { + + /** BatchAnnotateImagesResponse responses */ + responses?: (google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]|null); + } + + /** Represents a BatchAnnotateImagesResponse. */ + class BatchAnnotateImagesResponse implements IBatchAnnotateImagesResponse { + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse); + + /** BatchAnnotateImagesResponse responses. */ + public responses: google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AnnotateFileRequest. */ + interface IAnnotateFileRequest { + + /** AnnotateFileRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileRequest features */ + features?: (google.cloud.vision.v1p4beta1.IFeature[]|null); + + /** AnnotateFileRequest imageContext */ + imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + + /** AnnotateFileRequest pages */ + pages?: (number[]|null); + } + + /** Represents an AnnotateFileRequest. */ + class AnnotateFileRequest implements IAnnotateFileRequest { + + /** + * Constructs a new AnnotateFileRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileRequest); + + /** AnnotateFileRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileRequest features. */ + public features: google.cloud.vision.v1p4beta1.IFeature[]; + + /** AnnotateFileRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + + /** AnnotateFileRequest pages. */ + public pages: number[]; + + /** + * Creates a new AnnotateFileRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateFileRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileRequest): google.cloud.vision.v1p4beta1.AnnotateFileRequest; + + /** + * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. + * @param message AnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. + * @param message AnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateFileRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateFileRequest; + + /** + * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateFileRequest; + + /** + * Verifies an AnnotateFileRequest message. + * @param message Plain 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 AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateFileRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateFileRequest; + + /** + * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. + * @param message AnnotateFileRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateFileRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateFilesRequest. */ + interface IBatchAnnotateFilesRequest { + + /** BatchAnnotateFilesRequest requests */ + requests?: (google.cloud.vision.v1p4beta1.IAnnotateFileRequest[]|null); + } + + /** Represents a BatchAnnotateFilesRequest. */ + class BatchAnnotateFilesRequest implements IBatchAnnotateFilesRequest { + + /** + * Constructs a new BatchAnnotateFilesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest); + + /** BatchAnnotateFilesRequest requests. */ + public requests: google.cloud.vision.v1p4beta1.IAnnotateFileRequest[]; + + /** + * Creates a new BatchAnnotateFilesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateFilesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; + + /** + * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. + * @param message BatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. + * @param message BatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; + + /** + * Verifies a BatchAnnotateFilesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateFilesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; + + /** + * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @param message BatchAnnotateFilesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateFilesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchAnnotateFilesResponse. */ + interface IBatchAnnotateFilesResponse { + + /** BatchAnnotateFilesResponse responses */ + responses?: (google.cloud.vision.v1p4beta1.IAnnotateFileResponse[]|null); + } + + /** Represents a BatchAnnotateFilesResponse. */ + class BatchAnnotateFilesResponse implements IBatchAnnotateFilesResponse { + + /** + * Constructs a new BatchAnnotateFilesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse); + + /** BatchAnnotateFilesResponse responses. */ + public responses: google.cloud.vision.v1p4beta1.IAnnotateFileResponse[]; + + /** + * Creates a new BatchAnnotateFilesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchAnnotateFilesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; + + /** + * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * @param message BatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * @param message BatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; + + /** + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; + + /** + * Verifies a BatchAnnotateFilesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchAnnotateFilesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; + + /** + * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @param message BatchAnnotateFilesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchAnnotateFilesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncAnnotateFileRequest. */ + interface IAsyncAnnotateFileRequest { + + /** AsyncAnnotateFileRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AsyncAnnotateFileRequest features */ + features?: (google.cloud.vision.v1p4beta1.IFeature[]|null); + + /** AsyncAnnotateFileRequest imageContext */ + imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig */ + outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + } + + /** Represents an AsyncAnnotateFileRequest. */ + class AsyncAnnotateFileRequest implements IAsyncAnnotateFileRequest { + + /** + * Constructs a new AsyncAnnotateFileRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest); + + /** AsyncAnnotateFileRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AsyncAnnotateFileRequest features. */ + public features: google.cloud.vision.v1p4beta1.IFeature[]; + + /** AsyncAnnotateFileRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncAnnotateFileRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; + + /** + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; + + /** + * Verifies an AsyncAnnotateFileRequest message. + * @param message Plain 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 AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncAnnotateFileRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; + + /** + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncAnnotateFileRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncAnnotateFileResponse. */ + interface IAsyncAnnotateFileResponse { + + /** AsyncAnnotateFileResponse outputConfig */ + outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + } + + /** Represents an AsyncAnnotateFileResponse. */ + class AsyncAnnotateFileResponse implements IAsyncAnnotateFileResponse { + + /** + * Constructs a new AsyncAnnotateFileResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse); + + /** AsyncAnnotateFileResponse outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + + /** + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncAnnotateFileResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; + + /** + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; + + /** + * Verifies an AsyncAnnotateFileResponse message. + * @param message Plain 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 AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncAnnotateFileResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; + + /** + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncAnnotateFileResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateImagesRequest. */ + interface IAsyncBatchAnnotateImagesRequest { + + /** AsyncBatchAnnotateImagesRequest requests */ + requests?: (google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]|null); + + /** AsyncBatchAnnotateImagesRequest outputConfig */ + outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + } + + /** Represents an AsyncBatchAnnotateImagesRequest. */ + class AsyncBatchAnnotateImagesRequest implements IAsyncBatchAnnotateImagesRequest { + + /** + * Constructs a new AsyncBatchAnnotateImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest); + + /** AsyncBatchAnnotateImagesRequest requests. */ + public requests: google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]; + + /** AsyncBatchAnnotateImagesRequest outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + + /** + * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; + + /** + * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; + + /** + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; + + /** + * Verifies an AsyncBatchAnnotateImagesRequest message. + * @param message Plain 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 AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; + + /** + * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateImagesResponse. */ + interface IAsyncBatchAnnotateImagesResponse { + + /** AsyncBatchAnnotateImagesResponse outputConfig */ + outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + } + + /** Represents an AsyncBatchAnnotateImagesResponse. */ + class AsyncBatchAnnotateImagesResponse implements IAsyncBatchAnnotateImagesResponse { + + /** + * Constructs a new AsyncBatchAnnotateImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse); + + /** AsyncBatchAnnotateImagesResponse outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + + /** + * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; + + /** + * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; + + /** + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; + + /** + * Verifies an AsyncBatchAnnotateImagesResponse message. + * @param message Plain 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 AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; + + /** + * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateFilesRequest. */ + interface IAsyncBatchAnnotateFilesRequest { + + /** AsyncBatchAnnotateFilesRequest requests */ + requests?: (google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest[]|null); + } + + /** Represents an AsyncBatchAnnotateFilesRequest. */ + class AsyncBatchAnnotateFilesRequest implements IAsyncBatchAnnotateFilesRequest { + + /** + * Constructs a new AsyncBatchAnnotateFilesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest); + + /** AsyncBatchAnnotateFilesRequest requests. */ + public requests: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest[]; + + /** + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateFilesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Verifies an AsyncBatchAnnotateFilesRequest message. + * @param message Plain 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 AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateFilesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AsyncBatchAnnotateFilesResponse. */ + interface IAsyncBatchAnnotateFilesResponse { + + /** AsyncBatchAnnotateFilesResponse responses */ + responses?: (google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse[]|null); + } + + /** Represents an AsyncBatchAnnotateFilesResponse. */ + class AsyncBatchAnnotateFilesResponse implements IAsyncBatchAnnotateFilesResponse { + + /** + * Constructs a new AsyncBatchAnnotateFilesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse); + + /** AsyncBatchAnnotateFilesResponse responses. */ + public responses: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse[]; + + /** + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AsyncBatchAnnotateFilesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Verifies an AsyncBatchAnnotateFilesResponse message. + * @param message Plain 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 AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AsyncBatchAnnotateFilesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an InputConfig. */ + interface IInputConfig { + + /** InputConfig gcsSource */ + gcsSource?: (google.cloud.vision.v1p4beta1.IGcsSource|null); + + /** InputConfig content */ + content?: (Uint8Array|null); + + /** InputConfig mimeType */ + mimeType?: (string|null); + } + + /** Represents an InputConfig. */ + class InputConfig implements IInputConfig { + + /** + * Constructs a new InputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IInputConfig); + + /** InputConfig gcsSource. */ + public gcsSource?: (google.cloud.vision.v1p4beta1.IGcsSource|null); + + /** InputConfig content. */ + public content: Uint8Array; + + /** InputConfig mimeType. */ + public mimeType: string; + + /** + * Creates a new InputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns InputConfig instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IInputConfig): google.cloud.vision.v1p4beta1.InputConfig; + + /** + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an InputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.InputConfig; + + /** + * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.InputConfig; + + /** + * Verifies an InputConfig message. + * @param message Plain 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 InputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns InputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.InputConfig; + + /** + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * @param message InputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.InputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this InputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an OutputConfig. */ + interface IOutputConfig { + + /** OutputConfig gcsDestination */ + gcsDestination?: (google.cloud.vision.v1p4beta1.IGcsDestination|null); + + /** OutputConfig batchSize */ + batchSize?: (number|null); + } + + /** Represents an OutputConfig. */ + class OutputConfig implements IOutputConfig { + + /** + * Constructs a new OutputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IOutputConfig); + + /** OutputConfig gcsDestination. */ + public gcsDestination?: (google.cloud.vision.v1p4beta1.IGcsDestination|null); + + /** OutputConfig batchSize. */ + public batchSize: number; + + /** + * Creates a new OutputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns OutputConfig instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IOutputConfig): google.cloud.vision.v1p4beta1.OutputConfig; + + /** + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OutputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.OutputConfig; + + /** + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.OutputConfig; + + /** + * Verifies an OutputConfig message. + * @param message Plain 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 OutputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OutputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.OutputConfig; + + /** + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * @param message OutputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OutputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GcsSource. */ + interface IGcsSource { + + /** GcsSource uri */ + uri?: (string|null); + } + + /** Represents a GcsSource. */ + class GcsSource implements IGcsSource { + + /** + * Constructs a new GcsSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IGcsSource); + + /** GcsSource uri. */ + public uri: string; + + /** + * Creates a new GcsSource instance using the specified properties. + * @param [properties] Properties to set + * @returns GcsSource instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IGcsSource): google.cloud.vision.v1p4beta1.GcsSource; + + /** + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GcsSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.GcsSource; + + /** + * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.GcsSource; + + /** + * Verifies a GcsSource message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GcsSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.GcsSource; + + /** + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * @param message GcsSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GcsSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GcsDestination. */ + interface IGcsDestination { + + /** GcsDestination uri */ + uri?: (string|null); + } + + /** Represents a GcsDestination. */ + class GcsDestination implements IGcsDestination { + + /** + * Constructs a new GcsDestination. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IGcsDestination); + + /** GcsDestination uri. */ + public uri: string; + + /** + * Creates a new GcsDestination instance using the specified properties. + * @param [properties] Properties to set + * @returns GcsDestination instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IGcsDestination): google.cloud.vision.v1p4beta1.GcsDestination; + + /** + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GcsDestination message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.GcsDestination; + + /** + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.GcsDestination; + + /** + * Verifies a GcsDestination message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GcsDestination + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.GcsDestination; + + /** + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @param message GcsDestination + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GcsDestination to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { + + /** OperationMetadata state */ + state?: (google.cloud.vision.v1p4beta1.OperationMetadata.State|null); + + /** OperationMetadata createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { + + /** + * Constructs a new OperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IOperationMetadata); + + /** OperationMetadata state. */ + public state: google.cloud.vision.v1p4beta1.OperationMetadata.State; + + /** OperationMetadata createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationMetadata instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IOperationMetadata): google.cloud.vision.v1p4beta1.OperationMetadata; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.OperationMetadata; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.OperationMetadata; + + /** + * Verifies an OperationMetadata message. + * @param message Plain 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 OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.OperationMetadata; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @param message OperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace OperationMetadata { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + CREATED = 1, + RUNNING = 2, + DONE = 3, + CANCELLED = 4 + } + } + + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IVertex): google.cloud.vision.v1p4beta1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedVertex. */ + interface INormalizedVertex { + + /** NormalizedVertex x */ + x?: (number|null); + + /** NormalizedVertex y */ + y?: (number|null); + } + + /** Represents a NormalizedVertex. */ + class NormalizedVertex implements INormalizedVertex { + + /** + * Constructs a new NormalizedVertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.INormalizedVertex); + + /** NormalizedVertex x. */ + public x: number; + + /** NormalizedVertex y. */ + public y: number; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedVertex instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.INormalizedVertex): google.cloud.vision.v1p4beta1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.NormalizedVertex; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.NormalizedVertex; + + /** + * Verifies a NormalizedVertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedVertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.NormalizedVertex; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @param message NormalizedVertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { + + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p4beta1.IVertex[]|null); + + /** BoundingPoly normalizedVertices */ + normalizedVertices?: (google.cloud.vision.v1p4beta1.INormalizedVertex[]|null); + } + + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { + + /** + * Constructs a new BoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IBoundingPoly); + + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p4beta1.IVertex[]; + + /** BoundingPoly normalizedVertices. */ + public normalizedVertices: google.cloud.vision.v1p4beta1.INormalizedVertex[]; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IBoundingPoly): google.cloud.vision.v1p4beta1.BoundingPoly; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BoundingPoly; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BoundingPoly; + + /** + * Verifies a BoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BoundingPoly; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Position. */ + interface IPosition { + + /** Position x */ + x?: (number|null); + + /** Position y */ + y?: (number|null); + + /** Position z */ + z?: (number|null); + } + + /** Represents a Position. */ + class Position implements IPosition { + + /** + * Constructs a new Position. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IPosition); + + /** Position x. */ + public x: number; + + /** Position y. */ + public y: number; + + /** Position z. */ + public z: number; + + /** + * Creates a new Position instance using the specified properties. + * @param [properties] Properties to set + * @returns Position instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IPosition): google.cloud.vision.v1p4beta1.Position; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Position message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Position; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Position; + + /** + * Verifies a Position message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Position + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Position; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Position to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProductSearchParams. */ + interface IProductSearchParams { + + /** ProductSearchParams boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** ProductSearchParams productSet */ + productSet?: (string|null); + + /** ProductSearchParams productCategories */ + productCategories?: (string[]|null); + + /** ProductSearchParams filter */ + filter?: (string|null); + } + + /** Represents a ProductSearchParams. */ + class ProductSearchParams implements IProductSearchParams { + + /** + * Constructs a new ProductSearchParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IProductSearchParams); + + /** ProductSearchParams boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** ProductSearchParams productSet. */ + public productSet: string; + + /** ProductSearchParams productCategories. */ + public productCategories: string[]; + + /** ProductSearchParams filter. */ + public filter: string; + + /** + * Creates a new ProductSearchParams instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSearchParams instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IProductSearchParams): google.cloud.vision.v1p4beta1.ProductSearchParams; + + /** + * Encodes the specified ProductSearchParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchParams.verify|verify} messages. + * @param message ProductSearchParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IProductSearchParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSearchParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchParams.verify|verify} messages. + * @param message ProductSearchParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IProductSearchParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ProductSearchParams; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ProductSearchParams; + + /** + * Verifies a ProductSearchParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSearchParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSearchParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ProductSearchParams; + + /** + * Creates a plain object from a ProductSearchParams message. Also converts values to other types if specified. + * @param message ProductSearchParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ProductSearchParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSearchParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ProductSearchResults. */ + interface IProductSearchResults { + + /** ProductSearchResults indexTime */ + indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSearchResults results */ + results?: (google.cloud.vision.v1p4beta1.ProductSearchResults.IResult[]|null); + + /** ProductSearchResults productGroupedResults */ + productGroupedResults?: (google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult[]|null); + } + + /** Represents a ProductSearchResults. */ + class ProductSearchResults implements IProductSearchResults { + + /** + * Constructs a new ProductSearchResults. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IProductSearchResults); + + /** ProductSearchResults indexTime. */ + public indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSearchResults results. */ + public results: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult[]; + + /** ProductSearchResults productGroupedResults. */ + public productGroupedResults: google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult[]; + + /** + * Creates a new ProductSearchResults instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSearchResults instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IProductSearchResults): google.cloud.vision.v1p4beta1.ProductSearchResults; + + /** + * Encodes the specified ProductSearchResults message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.verify|verify} messages. + * @param message ProductSearchResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IProductSearchResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSearchResults message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.verify|verify} messages. + * @param message ProductSearchResults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IProductSearchResults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ProductSearchResults; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ProductSearchResults; + + /** + * Verifies a ProductSearchResults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSearchResults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSearchResults + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ProductSearchResults; + + /** + * Creates a plain object from a ProductSearchResults message. Also converts values to other types if specified. + * @param message ProductSearchResults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ProductSearchResults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSearchResults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace ProductSearchResults { + + /** Properties of a Result. */ + interface IResult { + + /** Result product */ + product?: (google.cloud.vision.v1p4beta1.IProduct|null); + + /** Result score */ + score?: (number|null); + + /** Result image */ + image?: (string|null); + } + + /** Represents a Result. */ + class Result implements IResult { + + /** + * Constructs a new Result. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult); + + /** Result product. */ + public product?: (google.cloud.vision.v1p4beta1.IProduct|null); + + /** Result score. */ + public score: number; + + /** Result image. */ + public image: string; + + /** + * Creates a new Result instance using the specified properties. + * @param [properties] Properties to set + * @returns Result instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + + /** + * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Result message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + + /** + * Decodes a Result message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + + /** + * Verifies a Result message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Result message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Result + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + + /** + * Creates a plain object from a Result message. Also converts values to other types if specified. + * @param message Result + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ProductSearchResults.Result, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Result to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GroupedResult. */ + interface IGroupedResult { + + /** GroupedResult boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** GroupedResult results */ + results?: (google.cloud.vision.v1p4beta1.ProductSearchResults.IResult[]|null); + } + + /** Represents a GroupedResult. */ + class GroupedResult implements IGroupedResult { + + /** + * Constructs a new GroupedResult. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult); + + /** GroupedResult boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** GroupedResult results. */ + public results: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult[]; + + /** + * Creates a new GroupedResult instance using the specified properties. + * @param [properties] Properties to set + * @returns GroupedResult instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult): google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult; + + /** + * Encodes the specified GroupedResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @param message GroupedResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GroupedResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @param message GroupedResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GroupedResult message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult; + + /** + * Decodes a GroupedResult message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult; + + /** + * Verifies a GroupedResult message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GroupedResult message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GroupedResult + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult; + + /** + * Creates a plain object from a GroupedResult message. Also converts values to other types if specified. + * @param message GroupedResult + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GroupedResult to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Represents a ProductSearch */ + class ProductSearch extends $protobuf.rpc.Service { + + /** + * Constructs a new ProductSearch 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 ProductSearch 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): ProductSearch; + + /** + * Calls CreateProductSet. + * @param request CreateProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductSet + */ + public createProductSet(request: google.cloud.vision.v1p4beta1.ICreateProductSetRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSetCallback): void; + + /** + * Calls CreateProductSet. + * @param request CreateProductSetRequest message or plain object + * @returns Promise + */ + public createProductSet(request: google.cloud.vision.v1p4beta1.ICreateProductSetRequest): Promise; + + /** + * Calls ListProductSets. + * @param request ListProductSetsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductSetsResponse + */ + public listProductSets(request: google.cloud.vision.v1p4beta1.IListProductSetsRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.ListProductSetsCallback): void; + + /** + * Calls ListProductSets. + * @param request ListProductSetsRequest message or plain object + * @returns Promise + */ + public listProductSets(request: google.cloud.vision.v1p4beta1.IListProductSetsRequest): Promise; + + /** + * Calls GetProductSet. + * @param request GetProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductSet + */ + public getProductSet(request: google.cloud.vision.v1p4beta1.IGetProductSetRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.GetProductSetCallback): void; + + /** + * Calls GetProductSet. + * @param request GetProductSetRequest message or plain object + * @returns Promise + */ + public getProductSet(request: google.cloud.vision.v1p4beta1.IGetProductSetRequest): Promise; + + /** + * Calls UpdateProductSet. + * @param request UpdateProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ProductSet + */ + public updateProductSet(request: google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSetCallback): void; + + /** + * Calls UpdateProductSet. + * @param request UpdateProductSetRequest message or plain object + * @returns Promise + */ + public updateProductSet(request: google.cloud.vision.v1p4beta1.IUpdateProductSetRequest): Promise; + + /** + * Calls DeleteProductSet. + * @param request DeleteProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteProductSet(request: google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSetCallback): void; + + /** + * Calls DeleteProductSet. + * @param request DeleteProductSetRequest message or plain object + * @returns Promise + */ + public deleteProductSet(request: google.cloud.vision.v1p4beta1.IDeleteProductSetRequest): Promise; + + /** + * Calls CreateProduct. + * @param request CreateProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public createProduct(request: google.cloud.vision.v1p4beta1.ICreateProductRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.CreateProductCallback): void; + + /** + * Calls CreateProduct. + * @param request CreateProductRequest message or plain object + * @returns Promise + */ + public createProduct(request: google.cloud.vision.v1p4beta1.ICreateProductRequest): Promise; + + /** + * Calls ListProducts. + * @param request ListProductsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductsResponse + */ + public listProducts(request: google.cloud.vision.v1p4beta1.IListProductsRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.ListProductsCallback): void; + + /** + * Calls ListProducts. + * @param request ListProductsRequest message or plain object + * @returns Promise + */ + public listProducts(request: google.cloud.vision.v1p4beta1.IListProductsRequest): Promise; + + /** + * Calls GetProduct. + * @param request GetProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public getProduct(request: google.cloud.vision.v1p4beta1.IGetProductRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.GetProductCallback): void; + + /** + * Calls GetProduct. + * @param request GetProductRequest message or plain object + * @returns Promise + */ + public getProduct(request: google.cloud.vision.v1p4beta1.IGetProductRequest): Promise; + + /** + * Calls UpdateProduct. + * @param request UpdateProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Product + */ + public updateProduct(request: google.cloud.vision.v1p4beta1.IUpdateProductRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductCallback): void; + + /** + * Calls UpdateProduct. + * @param request UpdateProductRequest message or plain object + * @returns Promise + */ + public updateProduct(request: google.cloud.vision.v1p4beta1.IUpdateProductRequest): Promise; + + /** + * Calls DeleteProduct. + * @param request DeleteProductRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteProduct(request: google.cloud.vision.v1p4beta1.IDeleteProductRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductCallback): void; + + /** + * Calls DeleteProduct. + * @param request DeleteProductRequest message or plain object + * @returns Promise + */ + public deleteProduct(request: google.cloud.vision.v1p4beta1.IDeleteProductRequest): Promise; + + /** + * Calls CreateReferenceImage. + * @param request CreateReferenceImageRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ReferenceImage + */ + public createReferenceImage(request: google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImageCallback): void; + + /** + * Calls CreateReferenceImage. + * @param request CreateReferenceImageRequest message or plain object + * @returns Promise + */ + public createReferenceImage(request: google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest): Promise; + + /** + * Calls DeleteReferenceImage. + * @param request DeleteReferenceImageRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteReferenceImage(request: google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImageCallback): void; + + /** + * Calls DeleteReferenceImage. + * @param request DeleteReferenceImageRequest message or plain object + * @returns Promise + */ + public deleteReferenceImage(request: google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest): Promise; + + /** + * Calls ListReferenceImages. + * @param request ListReferenceImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListReferenceImagesResponse + */ + public listReferenceImages(request: google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImagesCallback): void; + + /** + * Calls ListReferenceImages. + * @param request ListReferenceImagesRequest message or plain object + * @returns Promise + */ + public listReferenceImages(request: google.cloud.vision.v1p4beta1.IListReferenceImagesRequest): Promise; + + /** + * Calls GetReferenceImage. + * @param request GetReferenceImageRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ReferenceImage + */ + public getReferenceImage(request: google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImageCallback): void; + + /** + * Calls GetReferenceImage. + * @param request GetReferenceImageRequest message or plain object + * @returns Promise + */ + public getReferenceImage(request: google.cloud.vision.v1p4beta1.IGetReferenceImageRequest): Promise; + + /** + * Calls AddProductToProductSet. + * @param request AddProductToProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public addProductToProductSet(request: google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSetCallback): void; + + /** + * Calls AddProductToProductSet. + * @param request AddProductToProductSetRequest message or plain object + * @returns Promise + */ + public addProductToProductSet(request: google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest): Promise; + + /** + * Calls RemoveProductFromProductSet. + * @param request RemoveProductFromProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public removeProductFromProductSet(request: google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSetCallback): void; + + /** + * Calls RemoveProductFromProductSet. + * @param request RemoveProductFromProductSetRequest message or plain object + * @returns Promise + */ + public removeProductFromProductSet(request: google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest): Promise; + + /** + * Calls ListProductsInProductSet. + * @param request ListProductsInProductSetRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListProductsInProductSetResponse + */ + public listProductsInProductSet(request: google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSetCallback): void; + + /** + * Calls ListProductsInProductSet. + * @param request ListProductsInProductSetRequest message or plain object + * @returns Promise + */ + public listProductsInProductSet(request: google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest): Promise; + + /** + * Calls ImportProductSets. + * @param request ImportProductSetsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public importProductSets(request: google.cloud.vision.v1p4beta1.IImportProductSetsRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSetsCallback): void; + + /** + * Calls ImportProductSets. + * @param request ImportProductSetsRequest message or plain object + * @returns Promise + */ + public importProductSets(request: google.cloud.vision.v1p4beta1.IImportProductSetsRequest): Promise; + } + + namespace ProductSearch { + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProductSet}. + * @param error Error, if any + * @param [response] ProductSet + */ + type CreateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ProductSet) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductSets}. + * @param error Error, if any + * @param [response] ListProductSetsResponse + */ + type ListProductSetsCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ListProductSetsResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProductSet}. + * @param error Error, if any + * @param [response] ProductSet + */ + type GetProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ProductSet) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProductSet}. + * @param error Error, if any + * @param [response] ProductSet + */ + type UpdateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ProductSet) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProductSet}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProduct}. + * @param error Error, if any + * @param [response] Product + */ + type CreateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.Product) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProducts}. + * @param error Error, if any + * @param [response] ListProductsResponse + */ + type ListProductsCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ListProductsResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProduct}. + * @param error Error, if any + * @param [response] Product + */ + type GetProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.Product) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProduct}. + * @param error Error, if any + * @param [response] Product + */ + type UpdateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.Product) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProduct}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteProductCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createReferenceImage}. + * @param error Error, if any + * @param [response] ReferenceImage + */ + type CreateReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ReferenceImage) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteReferenceImage}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteReferenceImageCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listReferenceImages}. + * @param error Error, if any + * @param [response] ListReferenceImagesResponse + */ + type ListReferenceImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ListReferenceImagesResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getReferenceImage}. + * @param error Error, if any + * @param [response] ReferenceImage + */ + type GetReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ReferenceImage) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#addProductToProductSet}. + * @param error Error, if any + * @param [response] Empty + */ + type AddProductToProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#removeProductFromProductSet}. + * @param error Error, if any + * @param [response] Empty + */ + type RemoveProductFromProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductsInProductSet}. + * @param error Error, if any + * @param [response] ListProductsInProductSetResponse + */ + type ListProductsInProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#importProductSets}. + * @param error Error, if any + * @param [response] Operation + */ + type ImportProductSetsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of a Product. */ + interface IProduct { + + /** Product name */ + name?: (string|null); + + /** Product displayName */ + displayName?: (string|null); + + /** Product description */ + description?: (string|null); + + /** Product productCategory */ + productCategory?: (string|null); + + /** Product productLabels */ + productLabels?: (google.cloud.vision.v1p4beta1.Product.IKeyValue[]|null); + } + + /** Represents a Product. */ + class Product implements IProduct { + + /** + * Constructs a new Product. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IProduct); + + /** Product name. */ + public name: string; + + /** Product displayName. */ + public displayName: string; + + /** Product description. */ + public description: string; + + /** Product productCategory. */ + public productCategory: string; + + /** Product productLabels. */ + public productLabels: google.cloud.vision.v1p4beta1.Product.IKeyValue[]; + + /** + * Creates a new Product instance using the specified properties. + * @param [properties] Properties to set + * @returns Product instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IProduct): google.cloud.vision.v1p4beta1.Product; + + /** + * Encodes the specified Product message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.verify|verify} messages. + * @param message Product message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.verify|verify} messages. + * @param message Product message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IProduct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Product message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Product; + + /** + * Decodes a Product message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Product; + + /** + * Verifies a Product message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Product message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Product + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Product; + + /** + * Creates a plain object from a Product message. Also converts values to other types if specified. + * @param message Product + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Product, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Product to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Product { + + /** Properties of a KeyValue. */ + interface IKeyValue { + + /** KeyValue key */ + key?: (string|null); + + /** KeyValue value */ + value?: (string|null); + } + + /** Represents a KeyValue. */ + class KeyValue implements IKeyValue { + + /** + * Constructs a new KeyValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.Product.IKeyValue); + + /** KeyValue key. */ + public key: string; + + /** KeyValue value. */ + public value: string; + + /** + * Creates a new KeyValue instance using the specified properties. + * @param [properties] Properties to set + * @returns KeyValue instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.Product.IKeyValue): google.cloud.vision.v1p4beta1.Product.KeyValue; + + /** + * Encodes the specified KeyValue message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.KeyValue.verify|verify} messages. + * @param message KeyValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.Product.IKeyValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified KeyValue message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.KeyValue.verify|verify} messages. + * @param message KeyValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.Product.IKeyValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a KeyValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Product.KeyValue; + + /** + * Decodes a KeyValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Product.KeyValue; + + /** + * Verifies a KeyValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a KeyValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns KeyValue + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Product.KeyValue; + + /** + * Creates a plain object from a KeyValue message. Also converts values to other types if specified. + * @param message KeyValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Product.KeyValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this KeyValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a ProductSet. */ + interface IProductSet { + + /** ProductSet name */ + name?: (string|null); + + /** ProductSet displayName */ + displayName?: (string|null); + + /** ProductSet indexTime */ + indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSet indexError */ + indexError?: (google.rpc.IStatus|null); + } + + /** Represents a ProductSet. */ + class ProductSet implements IProductSet { + + /** + * Constructs a new ProductSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IProductSet); + + /** ProductSet name. */ + public name: string; + + /** ProductSet displayName. */ + public displayName: string; + + /** ProductSet indexTime. */ + public indexTime?: (google.protobuf.ITimestamp|null); + + /** ProductSet indexError. */ + public indexError?: (google.rpc.IStatus|null); + + /** + * Creates a new ProductSet instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSet instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IProductSet): google.cloud.vision.v1p4beta1.ProductSet; + + /** + * Encodes the specified ProductSet message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSet.verify|verify} messages. + * @param message ProductSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IProductSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSet message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSet.verify|verify} messages. + * @param message ProductSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IProductSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ProductSet; + + /** + * Decodes a ProductSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ProductSet; + + /** + * Verifies a ProductSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSet + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ProductSet; + + /** + * Creates a plain object from a ProductSet message. Also converts values to other types if specified. + * @param message ProductSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ProductSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ReferenceImage. */ + interface IReferenceImage { + + /** ReferenceImage name */ + name?: (string|null); + + /** ReferenceImage uri */ + uri?: (string|null); + + /** ReferenceImage boundingPolys */ + boundingPolys?: (google.cloud.vision.v1p4beta1.IBoundingPoly[]|null); + } + + /** Represents a ReferenceImage. */ + class ReferenceImage implements IReferenceImage { + + /** + * Constructs a new ReferenceImage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IReferenceImage); + + /** ReferenceImage name. */ + public name: string; + + /** ReferenceImage uri. */ + public uri: string; + + /** ReferenceImage boundingPolys. */ + public boundingPolys: google.cloud.vision.v1p4beta1.IBoundingPoly[]; + + /** + * Creates a new ReferenceImage instance using the specified properties. + * @param [properties] Properties to set + * @returns ReferenceImage instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IReferenceImage): google.cloud.vision.v1p4beta1.ReferenceImage; + + /** + * Encodes the specified ReferenceImage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ReferenceImage.verify|verify} messages. + * @param message ReferenceImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IReferenceImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReferenceImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ReferenceImage.verify|verify} messages. + * @param message ReferenceImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IReferenceImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ReferenceImage; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ReferenceImage; + + /** + * Verifies a ReferenceImage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReferenceImage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReferenceImage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ReferenceImage; + + /** + * Creates a plain object from a ReferenceImage message. Also converts values to other types if specified. + * @param message ReferenceImage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ReferenceImage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReferenceImage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CreateProductRequest. */ + interface ICreateProductRequest { + + /** CreateProductRequest parent */ + parent?: (string|null); + + /** CreateProductRequest product */ + product?: (google.cloud.vision.v1p4beta1.IProduct|null); + + /** CreateProductRequest productId */ + productId?: (string|null); + } + + /** Represents a CreateProductRequest. */ + class CreateProductRequest implements ICreateProductRequest { + + /** + * Constructs a new CreateProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ICreateProductRequest); + + /** CreateProductRequest parent. */ + public parent: string; + + /** CreateProductRequest product. */ + public product?: (google.cloud.vision.v1p4beta1.IProduct|null); + + /** CreateProductRequest productId. */ + public productId: string; + + /** + * Creates a new CreateProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ICreateProductRequest): google.cloud.vision.v1p4beta1.CreateProductRequest; + + /** + * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductRequest.verify|verify} messages. + * @param message CreateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductRequest.verify|verify} messages. + * @param message CreateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CreateProductRequest; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CreateProductRequest; + + /** + * Verifies a CreateProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CreateProductRequest; + + /** + * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified. + * @param message CreateProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.CreateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsRequest. */ + interface IListProductsRequest { + + /** ListProductsRequest parent */ + parent?: (string|null); + + /** ListProductsRequest pageSize */ + pageSize?: (number|null); + + /** ListProductsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductsRequest. */ + class ListProductsRequest implements IListProductsRequest { + + /** + * Constructs a new ListProductsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IListProductsRequest); + + /** ListProductsRequest parent. */ + public parent: string; + + /** ListProductsRequest pageSize. */ + public pageSize: number; + + /** ListProductsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IListProductsRequest): google.cloud.vision.v1p4beta1.ListProductsRequest; + + /** + * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsRequest.verify|verify} messages. + * @param message ListProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsRequest.verify|verify} messages. + * @param message ListProductsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ListProductsRequest; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ListProductsRequest; + + /** + * Verifies a ListProductsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ListProductsRequest; + + /** + * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. + * @param message ListProductsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ListProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsResponse. */ + interface IListProductsResponse { + + /** ListProductsResponse products */ + products?: (google.cloud.vision.v1p4beta1.IProduct[]|null); + + /** ListProductsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductsResponse. */ + class ListProductsResponse implements IListProductsResponse { + + /** + * Constructs a new ListProductsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IListProductsResponse); + + /** ListProductsResponse products. */ + public products: google.cloud.vision.v1p4beta1.IProduct[]; + + /** ListProductsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IListProductsResponse): google.cloud.vision.v1p4beta1.ListProductsResponse; + + /** + * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsResponse.verify|verify} messages. + * @param message ListProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsResponse.verify|verify} messages. + * @param message ListProductsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ListProductsResponse; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ListProductsResponse; + + /** + * Verifies a ListProductsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ListProductsResponse; + + /** + * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. + * @param message ListProductsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ListProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetProductRequest. */ + interface IGetProductRequest { + + /** GetProductRequest name */ + name?: (string|null); + } + + /** Represents a GetProductRequest. */ + class GetProductRequest implements IGetProductRequest { + + /** + * Constructs a new GetProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IGetProductRequest); + + /** GetProductRequest name. */ + public name: string; + + /** + * Creates a new GetProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IGetProductRequest): google.cloud.vision.v1p4beta1.GetProductRequest; + + /** + * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductRequest.verify|verify} messages. + * @param message GetProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductRequest.verify|verify} messages. + * @param message GetProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.GetProductRequest; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.GetProductRequest; + + /** + * Verifies a GetProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.GetProductRequest; + + /** + * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. + * @param message GetProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.GetProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an UpdateProductRequest. */ + interface IUpdateProductRequest { + + /** UpdateProductRequest product */ + product?: (google.cloud.vision.v1p4beta1.IProduct|null); + + /** UpdateProductRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateProductRequest. */ + class UpdateProductRequest implements IUpdateProductRequest { + + /** + * Constructs a new UpdateProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IUpdateProductRequest); + + /** UpdateProductRequest product. */ + public product?: (google.cloud.vision.v1p4beta1.IProduct|null); + + /** UpdateProductRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IUpdateProductRequest): google.cloud.vision.v1p4beta1.UpdateProductRequest; + + /** + * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductRequest.verify|verify} messages. + * @param message UpdateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductRequest.verify|verify} messages. + * @param message UpdateProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.UpdateProductRequest; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.UpdateProductRequest; + + /** + * Verifies an UpdateProductRequest message. + * @param message Plain 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 UpdateProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.UpdateProductRequest; + + /** + * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified. + * @param message UpdateProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.UpdateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteProductRequest. */ + interface IDeleteProductRequest { + + /** DeleteProductRequest name */ + name?: (string|null); + } + + /** Represents a DeleteProductRequest. */ + class DeleteProductRequest implements IDeleteProductRequest { + + /** + * Constructs a new DeleteProductRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IDeleteProductRequest); + + /** DeleteProductRequest name. */ + public name: string; + + /** + * Creates a new DeleteProductRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteProductRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IDeleteProductRequest): google.cloud.vision.v1p4beta1.DeleteProductRequest; + + /** + * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductRequest.verify|verify} messages. + * @param message DeleteProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductRequest.verify|verify} messages. + * @param message DeleteProductRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteProductRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.DeleteProductRequest; + + /** + * Decodes a DeleteProductRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.DeleteProductRequest; + + /** + * Verifies a DeleteProductRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteProductRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteProductRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.DeleteProductRequest; + + /** + * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified. + * @param message DeleteProductRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.DeleteProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteProductRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CreateProductSetRequest. */ + interface ICreateProductSetRequest { + + /** CreateProductSetRequest parent */ + parent?: (string|null); + + /** CreateProductSetRequest productSet */ + productSet?: (google.cloud.vision.v1p4beta1.IProductSet|null); + + /** CreateProductSetRequest productSetId */ + productSetId?: (string|null); + } + + /** Represents a CreateProductSetRequest. */ + class CreateProductSetRequest implements ICreateProductSetRequest { + + /** + * Constructs a new CreateProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ICreateProductSetRequest); + + /** CreateProductSetRequest parent. */ + public parent: string; + + /** CreateProductSetRequest productSet. */ + public productSet?: (google.cloud.vision.v1p4beta1.IProductSet|null); + + /** CreateProductSetRequest productSetId. */ + public productSetId: string; + + /** + * Creates a new CreateProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ICreateProductSetRequest): google.cloud.vision.v1p4beta1.CreateProductSetRequest; + + /** + * Encodes the specified CreateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductSetRequest.verify|verify} messages. + * @param message CreateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ICreateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductSetRequest.verify|verify} messages. + * @param message CreateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICreateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CreateProductSetRequest; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CreateProductSetRequest; + + /** + * Verifies a CreateProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CreateProductSetRequest; + + /** + * Creates a plain object from a CreateProductSetRequest message. Also converts values to other types if specified. + * @param message CreateProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.CreateProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductSetsRequest. */ + interface IListProductSetsRequest { + + /** ListProductSetsRequest parent */ + parent?: (string|null); + + /** ListProductSetsRequest pageSize */ + pageSize?: (number|null); + + /** ListProductSetsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductSetsRequest. */ + class ListProductSetsRequest implements IListProductSetsRequest { + + /** + * Constructs a new ListProductSetsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IListProductSetsRequest); + + /** ListProductSetsRequest parent. */ + public parent: string; + + /** ListProductSetsRequest pageSize. */ + public pageSize: number; + + /** ListProductSetsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductSetsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductSetsRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IListProductSetsRequest): google.cloud.vision.v1p4beta1.ListProductSetsRequest; + + /** + * Encodes the specified ListProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsRequest.verify|verify} messages. + * @param message ListProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IListProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsRequest.verify|verify} messages. + * @param message ListProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IListProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductSetsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ListProductSetsRequest; + + /** + * Decodes a ListProductSetsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ListProductSetsRequest; + + /** + * Verifies a ListProductSetsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductSetsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ListProductSetsRequest; + + /** + * Creates a plain object from a ListProductSetsRequest message. Also converts values to other types if specified. + * @param message ListProductSetsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ListProductSetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductSetsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductSetsResponse. */ + interface IListProductSetsResponse { + + /** ListProductSetsResponse productSets */ + productSets?: (google.cloud.vision.v1p4beta1.IProductSet[]|null); + + /** ListProductSetsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductSetsResponse. */ + class ListProductSetsResponse implements IListProductSetsResponse { + + /** + * Constructs a new ListProductSetsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IListProductSetsResponse); + + /** ListProductSetsResponse productSets. */ + public productSets: google.cloud.vision.v1p4beta1.IProductSet[]; + + /** ListProductSetsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductSetsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductSetsResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IListProductSetsResponse): google.cloud.vision.v1p4beta1.ListProductSetsResponse; + + /** + * Encodes the specified ListProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsResponse.verify|verify} messages. + * @param message ListProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IListProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsResponse.verify|verify} messages. + * @param message ListProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IListProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ListProductSetsResponse; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ListProductSetsResponse; + + /** + * Verifies a ListProductSetsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductSetsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ListProductSetsResponse; + + /** + * Creates a plain object from a ListProductSetsResponse message. Also converts values to other types if specified. + * @param message ListProductSetsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ListProductSetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductSetsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetProductSetRequest. */ + interface IGetProductSetRequest { + + /** GetProductSetRequest name */ + name?: (string|null); + } + + /** Represents a GetProductSetRequest. */ + class GetProductSetRequest implements IGetProductSetRequest { + + /** + * Constructs a new GetProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IGetProductSetRequest); + + /** GetProductSetRequest name. */ + public name: string; + + /** + * Creates a new GetProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IGetProductSetRequest): google.cloud.vision.v1p4beta1.GetProductSetRequest; + + /** + * Encodes the specified GetProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductSetRequest.verify|verify} messages. + * @param message GetProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IGetProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductSetRequest.verify|verify} messages. + * @param message GetProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IGetProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.GetProductSetRequest; + + /** + * Decodes a GetProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.GetProductSetRequest; + + /** + * Verifies a GetProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.GetProductSetRequest; + + /** + * Creates a plain object from a GetProductSetRequest message. Also converts values to other types if specified. + * @param message GetProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.GetProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an UpdateProductSetRequest. */ + interface IUpdateProductSetRequest { + + /** UpdateProductSetRequest productSet */ + productSet?: (google.cloud.vision.v1p4beta1.IProductSet|null); + + /** UpdateProductSetRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateProductSetRequest. */ + class UpdateProductSetRequest implements IUpdateProductSetRequest { + + /** + * Constructs a new UpdateProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IUpdateProductSetRequest); + + /** UpdateProductSetRequest productSet. */ + public productSet?: (google.cloud.vision.v1p4beta1.IProductSet|null); + + /** UpdateProductSetRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IUpdateProductSetRequest): google.cloud.vision.v1p4beta1.UpdateProductSetRequest; + + /** + * Encodes the specified UpdateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductSetRequest.verify|verify} messages. + * @param message UpdateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductSetRequest.verify|verify} messages. + * @param message UpdateProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.UpdateProductSetRequest; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.UpdateProductSetRequest; + + /** + * Verifies an UpdateProductSetRequest message. + * @param message Plain 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 UpdateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.UpdateProductSetRequest; + + /** + * Creates a plain object from an UpdateProductSetRequest message. Also converts values to other types if specified. + * @param message UpdateProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.UpdateProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteProductSetRequest. */ + interface IDeleteProductSetRequest { + + /** DeleteProductSetRequest name */ + name?: (string|null); + } + + /** Represents a DeleteProductSetRequest. */ + class DeleteProductSetRequest implements IDeleteProductSetRequest { + + /** + * Constructs a new DeleteProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IDeleteProductSetRequest); + + /** DeleteProductSetRequest name. */ + public name: string; + + /** + * Creates a new DeleteProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IDeleteProductSetRequest): google.cloud.vision.v1p4beta1.DeleteProductSetRequest; + + /** + * Encodes the specified DeleteProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductSetRequest.verify|verify} messages. + * @param message DeleteProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductSetRequest.verify|verify} messages. + * @param message DeleteProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.DeleteProductSetRequest; + + /** + * Decodes a DeleteProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.DeleteProductSetRequest; + + /** + * Verifies a DeleteProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.DeleteProductSetRequest; + + /** + * Creates a plain object from a DeleteProductSetRequest message. Also converts values to other types if specified. + * @param message DeleteProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.DeleteProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CreateReferenceImageRequest. */ + interface ICreateReferenceImageRequest { + + /** CreateReferenceImageRequest parent */ + parent?: (string|null); + + /** CreateReferenceImageRequest referenceImage */ + referenceImage?: (google.cloud.vision.v1p4beta1.IReferenceImage|null); + + /** CreateReferenceImageRequest referenceImageId */ + referenceImageId?: (string|null); + } + + /** Represents a CreateReferenceImageRequest. */ + class CreateReferenceImageRequest implements ICreateReferenceImageRequest { + + /** + * Constructs a new CreateReferenceImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest); + + /** CreateReferenceImageRequest parent. */ + public parent: string; + + /** CreateReferenceImageRequest referenceImage. */ + public referenceImage?: (google.cloud.vision.v1p4beta1.IReferenceImage|null); + + /** CreateReferenceImageRequest referenceImageId. */ + public referenceImageId: string; + + /** + * Creates a new CreateReferenceImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateReferenceImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest): google.cloud.vision.v1p4beta1.CreateReferenceImageRequest; + + /** + * Encodes the specified CreateReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.verify|verify} messages. + * @param message CreateReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.verify|verify} messages. + * @param message CreateReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CreateReferenceImageRequest; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CreateReferenceImageRequest; + + /** + * Verifies a CreateReferenceImageRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateReferenceImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CreateReferenceImageRequest; + + /** + * Creates a plain object from a CreateReferenceImageRequest message. Also converts values to other types if specified. + * @param message CreateReferenceImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.CreateReferenceImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateReferenceImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListReferenceImagesRequest. */ + interface IListReferenceImagesRequest { + + /** ListReferenceImagesRequest parent */ + parent?: (string|null); + + /** ListReferenceImagesRequest pageSize */ + pageSize?: (number|null); + + /** ListReferenceImagesRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListReferenceImagesRequest. */ + class ListReferenceImagesRequest implements IListReferenceImagesRequest { + + /** + * Constructs a new ListReferenceImagesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IListReferenceImagesRequest); + + /** ListReferenceImagesRequest parent. */ + public parent: string; + + /** ListReferenceImagesRequest pageSize. */ + public pageSize: number; + + /** ListReferenceImagesRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListReferenceImagesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListReferenceImagesRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IListReferenceImagesRequest): google.cloud.vision.v1p4beta1.ListReferenceImagesRequest; + + /** + * Encodes the specified ListReferenceImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest.verify|verify} messages. + * @param message ListReferenceImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListReferenceImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest.verify|verify} messages. + * @param message ListReferenceImagesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ListReferenceImagesRequest; + + /** + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ListReferenceImagesRequest; + + /** + * Verifies a ListReferenceImagesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListReferenceImagesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListReferenceImagesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ListReferenceImagesRequest; + + /** + * Creates a plain object from a ListReferenceImagesRequest message. Also converts values to other types if specified. + * @param message ListReferenceImagesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ListReferenceImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListReferenceImagesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListReferenceImagesResponse. */ + interface IListReferenceImagesResponse { + + /** ListReferenceImagesResponse referenceImages */ + referenceImages?: (google.cloud.vision.v1p4beta1.IReferenceImage[]|null); + + /** ListReferenceImagesResponse pageSize */ + pageSize?: (number|null); + + /** ListReferenceImagesResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListReferenceImagesResponse. */ + class ListReferenceImagesResponse implements IListReferenceImagesResponse { + + /** + * Constructs a new ListReferenceImagesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IListReferenceImagesResponse); + + /** ListReferenceImagesResponse referenceImages. */ + public referenceImages: google.cloud.vision.v1p4beta1.IReferenceImage[]; + + /** ListReferenceImagesResponse pageSize. */ + public pageSize: number; + + /** ListReferenceImagesResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListReferenceImagesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListReferenceImagesResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IListReferenceImagesResponse): google.cloud.vision.v1p4beta1.ListReferenceImagesResponse; + + /** + * Encodes the specified ListReferenceImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.verify|verify} messages. + * @param message ListReferenceImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IListReferenceImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListReferenceImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.verify|verify} messages. + * @param message ListReferenceImagesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IListReferenceImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ListReferenceImagesResponse; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ListReferenceImagesResponse; + + /** + * Verifies a ListReferenceImagesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListReferenceImagesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListReferenceImagesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ListReferenceImagesResponse; + + /** + * Creates a plain object from a ListReferenceImagesResponse message. Also converts values to other types if specified. + * @param message ListReferenceImagesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ListReferenceImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListReferenceImagesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetReferenceImageRequest. */ + interface IGetReferenceImageRequest { + + /** GetReferenceImageRequest name */ + name?: (string|null); + } + + /** Represents a GetReferenceImageRequest. */ + class GetReferenceImageRequest implements IGetReferenceImageRequest { + + /** + * Constructs a new GetReferenceImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IGetReferenceImageRequest); + + /** GetReferenceImageRequest name. */ + public name: string; + + /** + * Creates a new GetReferenceImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetReferenceImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IGetReferenceImageRequest): google.cloud.vision.v1p4beta1.GetReferenceImageRequest; + + /** + * Encodes the specified GetReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetReferenceImageRequest.verify|verify} messages. + * @param message GetReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetReferenceImageRequest.verify|verify} messages. + * @param message GetReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetReferenceImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.GetReferenceImageRequest; + + /** + * Decodes a GetReferenceImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.GetReferenceImageRequest; + + /** + * Verifies a GetReferenceImageRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetReferenceImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.GetReferenceImageRequest; + + /** + * Creates a plain object from a GetReferenceImageRequest message. Also converts values to other types if specified. + * @param message GetReferenceImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.GetReferenceImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetReferenceImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteReferenceImageRequest. */ + interface IDeleteReferenceImageRequest { + + /** DeleteReferenceImageRequest name */ + name?: (string|null); + } + + /** Represents a DeleteReferenceImageRequest. */ + class DeleteReferenceImageRequest implements IDeleteReferenceImageRequest { + + /** + * Constructs a new DeleteReferenceImageRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest); + + /** DeleteReferenceImageRequest name. */ + public name: string; + + /** + * Creates a new DeleteReferenceImageRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteReferenceImageRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest): google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest; + + /** + * Encodes the specified DeleteReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest.verify|verify} messages. + * @param message DeleteReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest.verify|verify} messages. + * @param message DeleteReferenceImageRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest; + + /** + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest; + + /** + * Verifies a DeleteReferenceImageRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteReferenceImageRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest; + + /** + * Creates a plain object from a DeleteReferenceImageRequest message. Also converts values to other types if specified. + * @param message DeleteReferenceImageRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteReferenceImageRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an AddProductToProductSetRequest. */ + interface IAddProductToProductSetRequest { + + /** AddProductToProductSetRequest name */ + name?: (string|null); + + /** AddProductToProductSetRequest product */ + product?: (string|null); + } + + /** Represents an AddProductToProductSetRequest. */ + class AddProductToProductSetRequest implements IAddProductToProductSetRequest { + + /** + * Constructs a new AddProductToProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest); + + /** AddProductToProductSetRequest name. */ + public name: string; + + /** AddProductToProductSetRequest product. */ + public product: string; + + /** + * Creates a new AddProductToProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns AddProductToProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest): google.cloud.vision.v1p4beta1.AddProductToProductSetRequest; + + /** + * Encodes the specified AddProductToProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AddProductToProductSetRequest.verify|verify} messages. + * @param message AddProductToProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AddProductToProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AddProductToProductSetRequest.verify|verify} messages. + * @param message AddProductToProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AddProductToProductSetRequest; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AddProductToProductSetRequest; + + /** + * Verifies an AddProductToProductSetRequest message. + * @param message Plain 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 AddProductToProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AddProductToProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AddProductToProductSetRequest; + + /** + * Creates a plain object from an AddProductToProductSetRequest message. Also converts values to other types if specified. + * @param message AddProductToProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AddProductToProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AddProductToProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a RemoveProductFromProductSetRequest. */ + interface IRemoveProductFromProductSetRequest { + + /** RemoveProductFromProductSetRequest name */ + name?: (string|null); + + /** RemoveProductFromProductSetRequest product */ + product?: (string|null); + } + + /** Represents a RemoveProductFromProductSetRequest. */ + class RemoveProductFromProductSetRequest implements IRemoveProductFromProductSetRequest { + + /** + * Constructs a new RemoveProductFromProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest); + + /** RemoveProductFromProductSetRequest name. */ + public name: string; + + /** RemoveProductFromProductSetRequest product. */ + public product: string; + + /** + * Creates a new RemoveProductFromProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RemoveProductFromProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest): google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @param message RemoveProductFromProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @param message RemoveProductFromProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest; + + /** + * Verifies a RemoveProductFromProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RemoveProductFromProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RemoveProductFromProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest; + + /** + * Creates a plain object from a RemoveProductFromProductSetRequest message. Also converts values to other types if specified. + * @param message RemoveProductFromProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RemoveProductFromProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsInProductSetRequest. */ + interface IListProductsInProductSetRequest { + + /** ListProductsInProductSetRequest name */ + name?: (string|null); + + /** ListProductsInProductSetRequest pageSize */ + pageSize?: (number|null); + + /** ListProductsInProductSetRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListProductsInProductSetRequest. */ + class ListProductsInProductSetRequest implements IListProductsInProductSetRequest { + + /** + * Constructs a new ListProductsInProductSetRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest); + + /** ListProductsInProductSetRequest name. */ + public name: string; + + /** ListProductsInProductSetRequest pageSize. */ + public pageSize: number; + + /** ListProductsInProductSetRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListProductsInProductSetRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsInProductSetRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest): google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest; + + /** + * Encodes the specified ListProductsInProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest.verify|verify} messages. + * @param message ListProductsInProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsInProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest.verify|verify} messages. + * @param message ListProductsInProductSetRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest; + + /** + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest; + + /** + * Verifies a ListProductsInProductSetRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsInProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsInProductSetRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest; + + /** + * Creates a plain object from a ListProductsInProductSetRequest message. Also converts values to other types if specified. + * @param message ListProductsInProductSetRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsInProductSetRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListProductsInProductSetResponse. */ + interface IListProductsInProductSetResponse { + + /** ListProductsInProductSetResponse products */ + products?: (google.cloud.vision.v1p4beta1.IProduct[]|null); + + /** ListProductsInProductSetResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListProductsInProductSetResponse. */ + class ListProductsInProductSetResponse implements IListProductsInProductSetResponse { + + /** + * Constructs a new ListProductsInProductSetResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse); + + /** ListProductsInProductSetResponse products. */ + public products: google.cloud.vision.v1p4beta1.IProduct[]; + + /** ListProductsInProductSetResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListProductsInProductSetResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListProductsInProductSetResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse): google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse; + + /** + * Encodes the specified ListProductsInProductSetResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.verify|verify} messages. + * @param message ListProductsInProductSetResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListProductsInProductSetResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.verify|verify} messages. + * @param message ListProductsInProductSetResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse; + + /** + * Verifies a ListProductsInProductSetResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListProductsInProductSetResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListProductsInProductSetResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse; + + /** + * Creates a plain object from a ListProductsInProductSetResponse message. Also converts values to other types if specified. + * @param message ListProductsInProductSetResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListProductsInProductSetResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsGcsSource. */ + interface IImportProductSetsGcsSource { + + /** ImportProductSetsGcsSource csvFileUri */ + csvFileUri?: (string|null); + } + + /** Represents an ImportProductSetsGcsSource. */ + class ImportProductSetsGcsSource implements IImportProductSetsGcsSource { + + /** + * Constructs a new ImportProductSetsGcsSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource); + + /** ImportProductSetsGcsSource csvFileUri. */ + public csvFileUri: string; + + /** + * Creates a new ImportProductSetsGcsSource instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsGcsSource instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource): google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource; + + /** + * Encodes the specified ImportProductSetsGcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify|verify} messages. + * @param message ImportProductSetsGcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsGcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify|verify} messages. + * @param message ImportProductSetsGcsSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource; + + /** + * Verifies an ImportProductSetsGcsSource message. + * @param message Plain 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 ImportProductSetsGcsSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsGcsSource + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource; + + /** + * Creates a plain object from an ImportProductSetsGcsSource message. Also converts values to other types if specified. + * @param message ImportProductSetsGcsSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsGcsSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsInputConfig. */ + interface IImportProductSetsInputConfig { + + /** ImportProductSetsInputConfig gcsSource */ + gcsSource?: (google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource|null); + } + + /** Represents an ImportProductSetsInputConfig. */ + class ImportProductSetsInputConfig implements IImportProductSetsInputConfig { + + /** + * Constructs a new ImportProductSetsInputConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig); + + /** ImportProductSetsInputConfig gcsSource. */ + public gcsSource?: (google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource|null); + + /** ImportProductSetsInputConfig source. */ + public source?: "gcsSource"; + + /** + * Creates a new ImportProductSetsInputConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsInputConfig instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig): google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig; + + /** + * Encodes the specified ImportProductSetsInputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify|verify} messages. + * @param message ImportProductSetsInputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsInputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify|verify} messages. + * @param message ImportProductSetsInputConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig; + + /** + * Verifies an ImportProductSetsInputConfig message. + * @param message Plain 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 ImportProductSetsInputConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsInputConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig; + + /** + * Creates a plain object from an ImportProductSetsInputConfig message. Also converts values to other types if specified. + * @param message ImportProductSetsInputConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsInputConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsRequest. */ + interface IImportProductSetsRequest { + + /** ImportProductSetsRequest parent */ + parent?: (string|null); + + /** ImportProductSetsRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig|null); + } + + /** Represents an ImportProductSetsRequest. */ + class ImportProductSetsRequest implements IImportProductSetsRequest { + + /** + * Constructs a new ImportProductSetsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IImportProductSetsRequest); + + /** ImportProductSetsRequest parent. */ + public parent: string; + + /** ImportProductSetsRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig|null); + + /** + * Creates a new ImportProductSetsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsRequest instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IImportProductSetsRequest): google.cloud.vision.v1p4beta1.ImportProductSetsRequest; + + /** + * Encodes the specified ImportProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsRequest.verify|verify} messages. + * @param message ImportProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IImportProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsRequest.verify|verify} messages. + * @param message ImportProductSetsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImportProductSetsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImportProductSetsRequest; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImportProductSetsRequest; + + /** + * Verifies an ImportProductSetsRequest message. + * @param message Plain 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 ImportProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImportProductSetsRequest; + + /** + * Creates a plain object from an ImportProductSetsRequest message. Also converts values to other types if specified. + * @param message ImportProductSetsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ImportProductSetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ImportProductSetsResponse. */ + interface IImportProductSetsResponse { + + /** ImportProductSetsResponse referenceImages */ + referenceImages?: (google.cloud.vision.v1p4beta1.IReferenceImage[]|null); + + /** ImportProductSetsResponse statuses */ + statuses?: (google.rpc.IStatus[]|null); + } + + /** Represents an ImportProductSetsResponse. */ + class ImportProductSetsResponse implements IImportProductSetsResponse { + + /** + * Constructs a new ImportProductSetsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IImportProductSetsResponse); + + /** ImportProductSetsResponse referenceImages. */ + public referenceImages: google.cloud.vision.v1p4beta1.IReferenceImage[]; + + /** ImportProductSetsResponse statuses. */ + public statuses: google.rpc.IStatus[]; + + /** + * Creates a new ImportProductSetsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportProductSetsResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IImportProductSetsResponse): google.cloud.vision.v1p4beta1.ImportProductSetsResponse; + + /** + * Encodes the specified ImportProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsResponse.verify|verify} messages. + * @param message ImportProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IImportProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsResponse.verify|verify} messages. + * @param message ImportProductSetsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImportProductSetsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImportProductSetsResponse; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImportProductSetsResponse; + + /** + * Verifies an ImportProductSetsResponse message. + * @param message Plain 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 ImportProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportProductSetsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImportProductSetsResponse; + + /** + * Creates a plain object from an ImportProductSetsResponse message. Also converts values to other types if specified. + * @param message ImportProductSetsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ImportProductSetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportProductSetsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BatchOperationMetadata. */ + interface IBatchOperationMetadata { + + /** BatchOperationMetadata state */ + state?: (google.cloud.vision.v1p4beta1.BatchOperationMetadata.State|null); + + /** BatchOperationMetadata submitTime */ + submitTime?: (google.protobuf.ITimestamp|null); + + /** BatchOperationMetadata endTime */ + endTime?: (google.protobuf.ITimestamp|null); + } + + /** Represents a BatchOperationMetadata. */ + class BatchOperationMetadata implements IBatchOperationMetadata { + + /** + * Constructs a new BatchOperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchOperationMetadata); + + /** BatchOperationMetadata state. */ + public state: google.cloud.vision.v1p4beta1.BatchOperationMetadata.State; + + /** BatchOperationMetadata submitTime. */ + public submitTime?: (google.protobuf.ITimestamp|null); + + /** BatchOperationMetadata endTime. */ + public endTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new BatchOperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchOperationMetadata instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchOperationMetadata): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + + /** + * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. + * @param message BatchOperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. + * @param message BatchOperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + + /** + * Verifies a BatchOperationMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchOperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + + /** + * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. + * @param message BatchOperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.BatchOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchOperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace BatchOperationMetadata { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + PROCESSING = 1, + SUCCESSFUL = 2, + FAILED = 3, + CANCELLED = 4 + } + } + + /** Properties of a TextAnnotation. */ + interface ITextAnnotation { + + /** TextAnnotation pages */ + pages?: (google.cloud.vision.v1p4beta1.IPage[]|null); + + /** TextAnnotation text */ + text?: (string|null); + } + + /** Represents a TextAnnotation. */ + class TextAnnotation implements ITextAnnotation { + + /** + * Constructs a new TextAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ITextAnnotation); + + /** TextAnnotation pages. */ + public pages: google.cloud.vision.v1p4beta1.IPage[]; + + /** TextAnnotation text. */ + public text: string; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @param [properties] Properties to set + * @returns TextAnnotation instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ITextAnnotation): google.cloud.vision.v1p4beta1.TextAnnotation; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.verify|verify} messages. + * @param message TextAnnotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.TextAnnotation; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.TextAnnotation; + + /** + * Verifies a TextAnnotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextAnnotation + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.TextAnnotation; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @param message TextAnnotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextAnnotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace TextAnnotation { + + /** Properties of a DetectedLanguage. */ + interface IDetectedLanguage { + + /** DetectedLanguage languageCode */ + languageCode?: (string|null); + + /** DetectedLanguage confidence */ + confidence?: (number|null); + } + + /** Represents a DetectedLanguage. */ + class DetectedLanguage implements IDetectedLanguage { + + /** + * Constructs a new DetectedLanguage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage); + + /** DetectedLanguage languageCode. */ + public languageCode: string; + + /** DetectedLanguage confidence. */ + public confidence: number; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedLanguage instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage): google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @param message DetectedLanguage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage; + + /** + * Verifies a DetectedLanguage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedLanguage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @param message DetectedLanguage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedLanguage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DetectedBreak. */ + interface IDetectedBreak { + + /** DetectedBreak type */ + type?: (google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType|null); + + /** DetectedBreak isPrefix */ + isPrefix?: (boolean|null); + } + + /** Represents a DetectedBreak. */ + class DetectedBreak implements IDetectedBreak { + + /** + * Constructs a new DetectedBreak. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak); + + /** DetectedBreak type. */ + public type: google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType; + + /** DetectedBreak isPrefix. */ + public isPrefix: boolean; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @param [properties] Properties to set + * @returns DetectedBreak instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak): google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @param message DetectedBreak message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak; + + /** + * Verifies a DetectedBreak message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DetectedBreak + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @param message DetectedBreak + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DetectedBreak to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace DetectedBreak { + + /** BreakType enum. */ + enum BreakType { + UNKNOWN = 0, + SPACE = 1, + SURE_SPACE = 2, + EOL_SURE_SPACE = 3, + HYPHEN = 4, + LINE_BREAK = 5 + } + } + + /** Properties of a TextProperty. */ + interface ITextProperty { + + /** TextProperty detectedLanguages */ + detectedLanguages?: (google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage[]|null); + + /** TextProperty detectedBreak */ + detectedBreak?: (google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak|null); + } + + /** Represents a TextProperty. */ + class TextProperty implements ITextProperty { + + /** + * Constructs a new TextProperty. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty); + + /** TextProperty detectedLanguages. */ + public detectedLanguages: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage[]; + + /** TextProperty detectedBreak. */ + public detectedBreak?: (google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak|null); + + /** + * Creates a new TextProperty instance using the specified properties. + * @param [properties] Properties to set + * @returns TextProperty instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty): google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @param message TextProperty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty; + + /** + * Verifies a TextProperty message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextProperty + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @param message TextProperty + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextProperty to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Properties of a Page. */ + interface IPage { + + /** Page property */ + property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Page width */ + width?: (number|null); + + /** Page height */ + height?: (number|null); + + /** Page blocks */ + blocks?: (google.cloud.vision.v1p4beta1.IBlock[]|null); + + /** Page confidence */ + confidence?: (number|null); + } + + /** Represents a Page. */ + class Page implements IPage { + + /** + * Constructs a new Page. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IPage); + + /** Page property. */ + public property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Page width. */ + public width: number; + + /** Page height. */ + public height: number; + + /** Page blocks. */ + public blocks: google.cloud.vision.v1p4beta1.IBlock[]; + + /** Page confidence. */ + public confidence: number; + + /** + * Creates a new Page instance using the specified properties. + * @param [properties] Properties to set + * @returns Page instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IPage): google.cloud.vision.v1p4beta1.Page; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Page message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Page; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Page; + + /** + * Verifies a Page message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Page + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Page; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @param message Page + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Page, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Page to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Block. */ + interface IBlock { + + /** Block property */ + property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox */ + boundingBox?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** Block paragraphs */ + paragraphs?: (google.cloud.vision.v1p4beta1.IParagraph[]|null); + + /** Block blockType */ + blockType?: (google.cloud.vision.v1p4beta1.Block.BlockType|null); + + /** Block confidence */ + confidence?: (number|null); + } + + /** Represents a Block. */ + class Block implements IBlock { + + /** + * Constructs a new Block. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IBlock); + + /** Block property. */ + public property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Block boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** Block paragraphs. */ + public paragraphs: google.cloud.vision.v1p4beta1.IParagraph[]; + + /** Block blockType. */ + public blockType: google.cloud.vision.v1p4beta1.Block.BlockType; + + /** Block confidence. */ + public confidence: number; + + /** + * Creates a new Block instance using the specified properties. + * @param [properties] Properties to set + * @returns Block instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IBlock): google.cloud.vision.v1p4beta1.Block; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Block.verify|verify} messages. + * @param message Block message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBlock, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Block message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Block; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Block; + + /** + * Verifies a Block message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Block + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Block; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @param message Block + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Block, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Block to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Block { + + /** BlockType enum. */ + enum BlockType { + UNKNOWN = 0, + TEXT = 1, + TABLE = 2, + PICTURE = 3, + RULER = 4, + BARCODE = 5 + } + } + + /** Properties of a Paragraph. */ + interface IParagraph { + + /** Paragraph property */ + property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox */ + boundingBox?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** Paragraph words */ + words?: (google.cloud.vision.v1p4beta1.IWord[]|null); + + /** Paragraph confidence */ + confidence?: (number|null); + } + + /** Represents a Paragraph. */ + class Paragraph implements IParagraph { + + /** + * Constructs a new Paragraph. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IParagraph); + + /** Paragraph property. */ + public property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Paragraph boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** Paragraph words. */ + public words: google.cloud.vision.v1p4beta1.IWord[]; + + /** Paragraph confidence. */ + public confidence: number; + + /** + * Creates a new Paragraph instance using the specified properties. + * @param [properties] Properties to set + * @returns Paragraph instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IParagraph): google.cloud.vision.v1p4beta1.Paragraph; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Paragraph.verify|verify} messages. + * @param message Paragraph message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IParagraph, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Paragraph; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Paragraph; + + /** + * Verifies a Paragraph message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Paragraph + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Paragraph; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @param message Paragraph + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Paragraph, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Paragraph to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Word. */ + interface IWord { + + /** Word property */ + property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox */ + boundingBox?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** Word symbols */ + symbols?: (google.cloud.vision.v1p4beta1.ISymbol[]|null); + + /** Word confidence */ + confidence?: (number|null); + } + + /** Represents a Word. */ + class Word implements IWord { + + /** + * Constructs a new Word. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IWord); + + /** Word property. */ + public property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Word boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** Word symbols. */ + public symbols: google.cloud.vision.v1p4beta1.ISymbol[]; + + /** Word confidence. */ + public confidence: number; + + /** + * Creates a new Word instance using the specified properties. + * @param [properties] Properties to set + * @returns Word instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IWord): google.cloud.vision.v1p4beta1.Word; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Word.verify|verify} messages. + * @param message Word message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IWord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Word message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Word; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Word; + + /** + * Verifies a Word message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Word + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Word; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @param message Word + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Word, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Word to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Symbol. */ + interface ISymbol { + + /** Symbol property */ + property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox */ + boundingBox?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** Symbol text */ + text?: (string|null); + + /** Symbol confidence */ + confidence?: (number|null); + } + + /** Represents a Symbol. */ + class Symbol implements ISymbol { + + /** + * Constructs a new Symbol. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ISymbol); + + /** Symbol property. */ + public property?: (google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null); + + /** Symbol boundingBox. */ + public boundingBox?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** Symbol text. */ + public text: string; + + /** Symbol confidence. */ + public confidence: number; + + /** + * Creates a new Symbol instance using the specified properties. + * @param [properties] Properties to set + * @returns Symbol instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ISymbol): google.cloud.vision.v1p4beta1.Symbol; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Symbol.verify|verify} messages. + * @param message Symbol message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ISymbol, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Symbol; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Symbol; + + /** + * Verifies a Symbol message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Symbol + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Symbol; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @param message Symbol + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Symbol, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Symbol to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebDetection. */ + interface IWebDetection { + + /** WebDetection webEntities */ + webEntities?: (google.cloud.vision.v1p4beta1.WebDetection.IWebEntity[]|null); + + /** WebDetection fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]|null); + + /** WebDetection partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]|null); + + /** WebDetection pagesWithMatchingImages */ + pagesWithMatchingImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebPage[]|null); + + /** WebDetection visuallySimilarImages */ + visuallySimilarImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]|null); + + /** WebDetection bestGuessLabels */ + bestGuessLabels?: (google.cloud.vision.v1p4beta1.WebDetection.IWebLabel[]|null); + } + + /** Represents a WebDetection. */ + class WebDetection implements IWebDetection { + + /** + * Constructs a new WebDetection. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IWebDetection); + + /** WebDetection webEntities. */ + public webEntities: google.cloud.vision.v1p4beta1.WebDetection.IWebEntity[]; + + /** WebDetection fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]; + + /** WebDetection partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]; + + /** WebDetection pagesWithMatchingImages. */ + public pagesWithMatchingImages: google.cloud.vision.v1p4beta1.WebDetection.IWebPage[]; + + /** WebDetection visuallySimilarImages. */ + public visuallySimilarImages: google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]; + + /** WebDetection bestGuessLabels. */ + public bestGuessLabels: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel[]; + + /** + * Creates a new WebDetection instance using the specified properties. + * @param [properties] Properties to set + * @returns WebDetection instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IWebDetection): google.cloud.vision.v1p4beta1.WebDetection; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.verify|verify} messages. + * @param message WebDetection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IWebDetection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetection; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetection; + + /** + * Verifies a WebDetection message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebDetection + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetection; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @param message WebDetection + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.WebDetection, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebDetection to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace WebDetection { + + /** Properties of a WebEntity. */ + interface IWebEntity { + + /** WebEntity entityId */ + entityId?: (string|null); + + /** WebEntity score */ + score?: (number|null); + + /** WebEntity description */ + description?: (string|null); + } + + /** Represents a WebEntity. */ + class WebEntity implements IWebEntity { + + /** + * Constructs a new WebEntity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebEntity); + + /** WebEntity entityId. */ + public entityId: string; + + /** WebEntity score. */ + public score: number; + + /** WebEntity description. */ + public description: string; + + /** + * Creates a new WebEntity instance using the specified properties. + * @param [properties] Properties to set + * @returns WebEntity instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebEntity): google.cloud.vision.v1p4beta1.WebDetection.WebEntity; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebEntity.verify|verify} messages. + * @param message WebEntity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.WebDetection.IWebEntity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetection.WebEntity; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetection.WebEntity; + + /** + * Verifies a WebEntity message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebEntity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetection.WebEntity; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @param message WebEntity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.WebDetection.WebEntity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebEntity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebImage. */ + interface IWebImage { + + /** WebImage url */ + url?: (string|null); + + /** WebImage score */ + score?: (number|null); + } + + /** Represents a WebImage. */ + class WebImage implements IWebImage { + + /** + * Constructs a new WebImage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebImage); + + /** WebImage url. */ + public url: string; + + /** WebImage score. */ + public score: number; + + /** + * Creates a new WebImage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebImage instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebImage): google.cloud.vision.v1p4beta1.WebDetection.WebImage; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebImage.verify|verify} messages. + * @param message WebImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.WebDetection.IWebImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetection.WebImage; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetection.WebImage; + + /** + * Verifies a WebImage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebImage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetection.WebImage; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @param message WebImage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.WebDetection.WebImage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebImage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebLabel. */ + interface IWebLabel { + + /** WebLabel label */ + label?: (string|null); + + /** WebLabel languageCode */ + languageCode?: (string|null); + } + + /** Represents a WebLabel. */ + class WebLabel implements IWebLabel { + + /** + * Constructs a new WebLabel. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel); + + /** WebLabel label. */ + public label: string; + + /** WebLabel languageCode. */ + public languageCode: string; + + /** + * Creates a new WebLabel instance using the specified properties. + * @param [properties] Properties to set + * @returns WebLabel instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; + + /** + * Verifies a WebLabel message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebLabel + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @param message WebLabel + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.WebDetection.WebLabel, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebLabel to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WebPage. */ + interface IWebPage { + + /** WebPage url */ + url?: (string|null); + + /** WebPage score */ + score?: (number|null); + + /** WebPage pageTitle */ + pageTitle?: (string|null); + + /** WebPage fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]|null); + + /** WebPage partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]|null); + } + + /** Represents a WebPage. */ + class WebPage implements IWebPage { + + /** + * Constructs a new WebPage. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebPage); + + /** WebPage url. */ + public url: string; + + /** WebPage score. */ + public score: number; + + /** WebPage pageTitle. */ + public pageTitle: string; + + /** WebPage fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]; + + /** WebPage partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]; + + /** + * Creates a new WebPage instance using the specified properties. + * @param [properties] Properties to set + * @returns WebPage instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebPage): google.cloud.vision.v1p4beta1.WebDetection.WebPage; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetection.WebPage; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetection.WebPage; + + /** + * Verifies a WebPage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WebPage + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetection.WebPage; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @param message WebPage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.WebDetection.WebPage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WebPage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + } + } + } + + /** 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 }; + } + + /** 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; + + /** HttpRule put. */ + public put: string; + + /** HttpRule post. */ + public post: string; + + /** HttpRule delete. */ + public delete: string; + + /** HttpRule patch. */ + public patch: string; + + /** 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 }; + } + + /** 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 }; + } + + /** FieldBehavior enum. */ + enum FieldBehavior { + FIELD_BEHAVIOR_UNSPECIFIED = 0, + OPTIONAL = 1, + REQUIRED = 2, + OUTPUT_ONLY = 3, + INPUT_ONLY = 4, + IMMUTABLE = 5 + } + + /** 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|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; + + /** + * 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 }; + } + + namespace ResourceDescriptor { + + /** History enum. */ + enum History { + HISTORY_UNSPECIFIED = 0, + ORIGINALLY_SINGLE_PATTERN = 1, + FUTURE_MULTI_PATTERN = 2 + } + } + + /** 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 }; + } + } + + /** 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 }; + } + + /** 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); + } + + /** 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; + + /** + * 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 }; + } + + /** 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 }; + } + + 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 }; + } + + /** 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 }; + } + } + + /** Properties of an ExtensionRangeOptions. */ + interface IExtensionRangeOptions { + + /** ExtensionRangeOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|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[]; + + /** + * 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 }; + } + + /** Properties of a FieldDescriptorProto. */ + interface IFieldDescriptorProto { + + /** FieldDescriptorProto name */ + name?: (string|null); + + /** FieldDescriptorProto number */ + number?: (number|null); + + /** FieldDescriptorProto label */ + label?: (google.protobuf.FieldDescriptorProto.Label|null); + + /** FieldDescriptorProto type */ + type?: (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); + } + + /** 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; + + /** FieldDescriptorProto type. */ + public type: 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); + + /** + * 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 }; + } + + 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_REQUIRED = 2, + LABEL_REPEATED = 3 + } + } + + /** 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 }; + } + + /** 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 }; + } + + 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 }; + } + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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 }; + } + + /** 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|null); + + /** FileOptions goPackage */ + goPackage?: (string|null); + + /** FileOptions ccGenericServices */ + ccGenericServices?: (boolean|null); + + /** FileOptions javaGenericServices */ + javaGenericServices?: (boolean|null); + + /** FileOptions pyGenericServices */ + pyGenericServices?: (boolean|null); + + /** FileOptions phpGenericServices */ + phpGenericServices?: (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 uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|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; + + /** FileOptions goPackage. */ + public goPackage: string; + + /** FileOptions ccGenericServices. */ + public ccGenericServices: boolean; + + /** FileOptions javaGenericServices. */ + public javaGenericServices: boolean; + + /** FileOptions pyGenericServices. */ + public pyGenericServices: boolean; + + /** FileOptions phpGenericServices. */ + public phpGenericServices: 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 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 }; + } + + 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 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 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 }; + } + + /** Properties of a FieldOptions. */ + interface IFieldOptions { + + /** FieldOptions ctype */ + ctype?: (google.protobuf.FieldOptions.CType|null); + + /** FieldOptions packed */ + packed?: (boolean|null); + + /** FieldOptions jstype */ + jstype?: (google.protobuf.FieldOptions.JSType|null); + + /** FieldOptions lazy */ + lazy?: (boolean|null); + + /** FieldOptions deprecated */ + deprecated?: (boolean|null); + + /** FieldOptions weak */ + weak?: (boolean|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; + + /** FieldOptions packed. */ + public packed: boolean; + + /** FieldOptions jstype. */ + public jstype: google.protobuf.FieldOptions.JSType; + + /** FieldOptions lazy. */ + public lazy: boolean; + + /** FieldOptions deprecated. */ + public deprecated: boolean; + + /** FieldOptions weak. */ + public weak: boolean; + + /** 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 }; + } + + 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 + } + } + + /** Properties of an OneofOptions. */ + interface IOneofOptions { + + /** 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 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 }; + } + + /** Properties of an EnumOptions. */ + interface IEnumOptions { + + /** EnumOptions allowAlias */ + allowAlias?: (boolean|null); + + /** EnumOptions deprecated */ + deprecated?: (boolean|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 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 }; + } + + /** Properties of an EnumValueOptions. */ + interface IEnumValueOptions { + + /** EnumValueOptions deprecated */ + deprecated?: (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 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 }; + } + + /** Properties of a ServiceOptions. */ + interface IServiceOptions { + + /** 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 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 }; + } + + /** Properties of a MethodOptions. */ + interface IMethodOptions { + + /** MethodOptions deprecated */ + deprecated?: (boolean|null); + + /** MethodOptions idempotencyLevel */ + idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|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); + + /** MethodOptions .google.longrunning.operationInfo */ + ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|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; + + /** 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 }; + } + + 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|null); + + /** UninterpretedOption negativeIntValue */ + negativeIntValue?: (number|Long|null); + + /** UninterpretedOption doubleValue */ + doubleValue?: (number|null); + + /** UninterpretedOption stringValue */ + stringValue?: (Uint8Array|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); + + /** UninterpretedOption negativeIntValue. */ + public negativeIntValue: (number|Long); + + /** UninterpretedOption doubleValue. */ + public doubleValue: number; + + /** UninterpretedOption stringValue. */ + public stringValue: Uint8Array; + + /** 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 }; + } + + 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 }; + } + } + + /** 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 }; + } + + 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 }; + } + } + + /** 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 }; + } + + 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); + } + + /** 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; + + /** + * 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 }; + } + } + + /** Properties of an Any. */ + interface IAny { + + /** Any type_url */ + type_url?: (string|null); + + /** Any value */ + value?: (Uint8Array|null); + } + + /** Represents an Any. */ + class Any implements IAny { + + /** + * Constructs a new Any. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IAny); + + /** Any type_url. */ + public type_url: string; + + /** Any value. */ + public value: Uint8Array; + + /** + * Creates a new Any instance using the specified properties. + * @param [properties] Properties to set + * @returns Any instance + */ + public static create(properties?: google.protobuf.IAny): google.protobuf.Any; + + /** + * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @param message Any message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @param message Any message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Any message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Any + * @throws {Error} If the payload is not 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.Any; + + /** + * Decodes an Any message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Any + * @throws {Error} If the payload 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.Any; + + /** + * Verifies an Any message. + * @param message Plain 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 Any message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Any + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Any; + + /** + * Creates a plain object from an Any message. Also converts values to other types if specified. + * @param message Any + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Any to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Duration. */ + interface IDuration { + + /** Duration seconds */ + seconds?: (number|Long|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); + + /** 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 }; + } + + /** 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 }; + } + + /** Properties of a FieldMask. */ + interface IFieldMask { + + /** FieldMask paths */ + paths?: (string[]|null); + } + + /** Represents a FieldMask. */ + class FieldMask implements IFieldMask { + + /** + * Constructs a new FieldMask. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldMask); + + /** FieldMask paths. */ + public paths: string[]; + + /** + * Creates a new FieldMask instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldMask instance + */ + public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask; + + /** + * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @param message FieldMask message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @param message FieldMask message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldMask message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask; + + /** + * Decodes a FieldMask message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask; + + /** + * Verifies a FieldMask message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldMask message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldMask + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask; + + /** + * Creates a plain object from a FieldMask message. Also converts values to other types if specified. + * @param message FieldMask + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldMask to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Timestamp. */ + interface ITimestamp { + + /** Timestamp seconds */ + seconds?: (number|Long|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); + + /** 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 }; + } + + /** Properties of a DoubleValue. */ + interface IDoubleValue { + + /** DoubleValue value */ + value?: (number|null); + } + + /** Represents a DoubleValue. */ + class DoubleValue implements IDoubleValue { + + /** + * Constructs a new DoubleValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDoubleValue); + + /** DoubleValue value. */ + public value: number; + + /** + * Creates a new DoubleValue instance using the specified properties. + * @param [properties] Properties to set + * @returns DoubleValue instance + */ + public static create(properties?: google.protobuf.IDoubleValue): google.protobuf.DoubleValue; + + /** + * Encodes the specified DoubleValue message. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages. + * @param message DoubleValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DoubleValue message, length delimited. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages. + * @param message DoubleValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DoubleValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DoubleValue + * @throws {Error} If the payload is not 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.DoubleValue; + + /** + * Decodes a DoubleValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DoubleValue + * @throws {Error} If the payload 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.DoubleValue; + + /** + * Verifies a DoubleValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DoubleValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DoubleValue + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DoubleValue; + + /** + * Creates a plain object from a DoubleValue message. Also converts values to other types if specified. + * @param message DoubleValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DoubleValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DoubleValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FloatValue. */ + interface IFloatValue { + + /** FloatValue value */ + value?: (number|null); + } + + /** Represents a FloatValue. */ + class FloatValue implements IFloatValue { + + /** + * Constructs a new FloatValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFloatValue); + + /** FloatValue value. */ + public value: number; + + /** + * Creates a new FloatValue instance using the specified properties. + * @param [properties] Properties to set + * @returns FloatValue instance + */ + public static create(properties?: google.protobuf.IFloatValue): google.protobuf.FloatValue; + + /** + * Encodes the specified FloatValue message. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages. + * @param message FloatValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FloatValue message, length delimited. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages. + * @param message FloatValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FloatValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FloatValue + * @throws {Error} If the payload is not 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.FloatValue; + + /** + * Decodes a FloatValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FloatValue + * @throws {Error} If the payload 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.FloatValue; + + /** + * Verifies a FloatValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FloatValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FloatValue + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FloatValue; + + /** + * Creates a plain object from a FloatValue message. Also converts values to other types if specified. + * @param message FloatValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FloatValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FloatValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Int64Value. */ + interface IInt64Value { + + /** Int64Value value */ + value?: (number|Long|null); + } + + /** Represents an Int64Value. */ + class Int64Value implements IInt64Value { + + /** + * Constructs a new Int64Value. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IInt64Value); + + /** Int64Value value. */ + public value: (number|Long); + + /** + * Creates a new Int64Value instance using the specified properties. + * @param [properties] Properties to set + * @returns Int64Value instance + */ + public static create(properties?: google.protobuf.IInt64Value): google.protobuf.Int64Value; + + /** + * Encodes the specified Int64Value message. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages. + * @param message Int64Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Int64Value message, length delimited. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages. + * @param message Int64Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Int64Value message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Int64Value + * @throws {Error} If the payload is not 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.Int64Value; + + /** + * Decodes an Int64Value message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Int64Value + * @throws {Error} If the payload 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.Int64Value; + + /** + * Verifies an Int64Value message. + * @param message Plain 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 Int64Value message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Int64Value + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Int64Value; + + /** + * Creates a plain object from an Int64Value message. Also converts values to other types if specified. + * @param message Int64Value + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Int64Value, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Int64Value to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a UInt64Value. */ + interface IUInt64Value { + + /** UInt64Value value */ + value?: (number|Long|null); + } + + /** Represents a UInt64Value. */ + class UInt64Value implements IUInt64Value { + + /** + * Constructs a new UInt64Value. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IUInt64Value); + + /** UInt64Value value. */ + public value: (number|Long); + + /** + * Creates a new UInt64Value instance using the specified properties. + * @param [properties] Properties to set + * @returns UInt64Value instance + */ + public static create(properties?: google.protobuf.IUInt64Value): google.protobuf.UInt64Value; + + /** + * Encodes the specified UInt64Value message. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages. + * @param message UInt64Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UInt64Value message, length delimited. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages. + * @param message UInt64Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a UInt64Value message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UInt64Value + * @throws {Error} If the payload is not 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.UInt64Value; + + /** + * Decodes a UInt64Value message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UInt64Value + * @throws {Error} If the payload 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.UInt64Value; + + /** + * Verifies a UInt64Value message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a UInt64Value message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UInt64Value + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UInt64Value; + + /** + * Creates a plain object from a UInt64Value message. Also converts values to other types if specified. + * @param message UInt64Value + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UInt64Value, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UInt64Value to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an Int32Value. */ + interface IInt32Value { + + /** Int32Value value */ + value?: (number|null); + } + + /** Represents an Int32Value. */ + class Int32Value implements IInt32Value { + + /** + * Constructs a new Int32Value. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IInt32Value); + + /** Int32Value value. */ + public value: number; + + /** + * Creates a new Int32Value instance using the specified properties. + * @param [properties] Properties to set + * @returns Int32Value instance + */ + public static create(properties?: google.protobuf.IInt32Value): google.protobuf.Int32Value; + + /** + * Encodes the specified Int32Value message. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages. + * @param message Int32Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Int32Value message, length delimited. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages. + * @param message Int32Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Int32Value message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Int32Value + * @throws {Error} If the payload is not 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.Int32Value; + + /** + * Decodes an Int32Value message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Int32Value + * @throws {Error} If the payload 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.Int32Value; + + /** + * Verifies an Int32Value message. + * @param message Plain 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 Int32Value message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Int32Value + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Int32Value; + + /** + * Creates a plain object from an Int32Value message. Also converts values to other types if specified. + * @param message Int32Value + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Int32Value, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Int32Value to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a UInt32Value. */ + interface IUInt32Value { + + /** UInt32Value value */ + value?: (number|null); + } + + /** Represents a UInt32Value. */ + class UInt32Value implements IUInt32Value { + + /** + * Constructs a new UInt32Value. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IUInt32Value); + + /** UInt32Value value. */ + public value: number; + + /** + * Creates a new UInt32Value instance using the specified properties. + * @param [properties] Properties to set + * @returns UInt32Value instance + */ + public static create(properties?: google.protobuf.IUInt32Value): google.protobuf.UInt32Value; + + /** + * Encodes the specified UInt32Value message. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages. + * @param message UInt32Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UInt32Value message, length delimited. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages. + * @param message UInt32Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a UInt32Value message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UInt32Value + * @throws {Error} If the payload is not 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.UInt32Value; + + /** + * Decodes a UInt32Value message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UInt32Value + * @throws {Error} If the payload 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.UInt32Value; + + /** + * Verifies a UInt32Value message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a UInt32Value message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UInt32Value + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UInt32Value; + + /** + * Creates a plain object from a UInt32Value message. Also converts values to other types if specified. + * @param message UInt32Value + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UInt32Value, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UInt32Value to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoolValue. */ + interface IBoolValue { + + /** BoolValue value */ + value?: (boolean|null); + } + + /** Represents a BoolValue. */ + class BoolValue implements IBoolValue { + + /** + * Constructs a new BoolValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IBoolValue); + + /** BoolValue value. */ + public value: boolean; + + /** + * Creates a new BoolValue instance using the specified properties. + * @param [properties] Properties to set + * @returns BoolValue instance + */ + public static create(properties?: google.protobuf.IBoolValue): google.protobuf.BoolValue; + + /** + * Encodes the specified BoolValue message. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages. + * @param message BoolValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoolValue message, length delimited. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages. + * @param message BoolValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoolValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoolValue + * @throws {Error} If the payload is not 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.BoolValue; + + /** + * Decodes a BoolValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoolValue + * @throws {Error} If the payload 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.BoolValue; + + /** + * Verifies a BoolValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoolValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoolValue + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.BoolValue; + + /** + * Creates a plain object from a BoolValue message. Also converts values to other types if specified. + * @param message BoolValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.BoolValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoolValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a StringValue. */ + interface IStringValue { + + /** StringValue value */ + value?: (string|null); + } + + /** Represents a StringValue. */ + class StringValue implements IStringValue { + + /** + * Constructs a new StringValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IStringValue); + + /** StringValue value. */ + public value: string; + + /** + * Creates a new StringValue instance using the specified properties. + * @param [properties] Properties to set + * @returns StringValue instance + */ + public static create(properties?: google.protobuf.IStringValue): google.protobuf.StringValue; + + /** + * Encodes the specified StringValue message. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages. + * @param message StringValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified StringValue message, length delimited. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages. + * @param message StringValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StringValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns StringValue + * @throws {Error} If the payload is not 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.StringValue; + + /** + * Decodes a StringValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns StringValue + * @throws {Error} If the payload 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.StringValue; + + /** + * Verifies a StringValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a StringValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns StringValue + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.StringValue; + + /** + * Creates a plain object from a StringValue message. Also converts values to other types if specified. + * @param message StringValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.StringValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StringValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BytesValue. */ + interface IBytesValue { + + /** BytesValue value */ + value?: (Uint8Array|null); + } + + /** Represents a BytesValue. */ + class BytesValue implements IBytesValue { + + /** + * Constructs a new BytesValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IBytesValue); + + /** BytesValue value. */ + public value: Uint8Array; + + /** + * Creates a new BytesValue instance using the specified properties. + * @param [properties] Properties to set + * @returns BytesValue instance + */ + public static create(properties?: google.protobuf.IBytesValue): google.protobuf.BytesValue; + + /** + * Encodes the specified BytesValue message. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages. + * @param message BytesValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BytesValue message, length delimited. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages. + * @param message BytesValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BytesValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BytesValue + * @throws {Error} If the payload is not 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.BytesValue; + + /** + * Decodes a BytesValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BytesValue + * @throws {Error} If the payload 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.BytesValue; + + /** + * Verifies a BytesValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BytesValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BytesValue + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.BytesValue; + + /** + * Creates a plain object from a BytesValue message. Also converts values to other types if specified. + * @param message BytesValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.BytesValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BytesValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace longrunning. */ + namespace longrunning { + + /** Represents an Operations */ + class Operations extends $protobuf.rpc.Service { + + /** + * Constructs a new Operations 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 Operations 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): Operations; + + /** + * Calls ListOperations. + * @param request ListOperationsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListOperationsResponse + */ + public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void; + + /** + * Calls ListOperations. + * @param request ListOperationsRequest message or plain object + * @returns Promise + */ + public listOperations(request: google.longrunning.IListOperationsRequest): Promise; + + /** + * Calls GetOperation. + * @param request GetOperationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void; + + /** + * Calls GetOperation. + * @param request GetOperationRequest message or plain object + * @returns Promise + */ + public getOperation(request: google.longrunning.IGetOperationRequest): Promise; + + /** + * Calls DeleteOperation. + * @param request DeleteOperationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void; + + /** + * Calls DeleteOperation. + * @param request DeleteOperationRequest message or plain object + * @returns Promise + */ + public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise; + + /** + * Calls CancelOperation. + * @param request CancelOperationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void; + + /** + * Calls CancelOperation. + * @param request CancelOperationRequest message or plain object + * @returns Promise + */ + public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise; + + /** + * Calls WaitOperation. + * @param request WaitOperationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void; + + /** + * Calls WaitOperation. + * @param request WaitOperationRequest message or plain object + * @returns Promise + */ + public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise; + } + + namespace Operations { + + /** + * Callback as used by {@link google.longrunning.Operations#listOperations}. + * @param error Error, if any + * @param [response] ListOperationsResponse + */ + type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void; + + /** + * Callback as used by {@link google.longrunning.Operations#getOperation}. + * @param error Error, if any + * @param [response] Operation + */ + type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.longrunning.Operations#deleteOperation}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.longrunning.Operations#cancelOperation}. + * @param error Error, if any + * @param [response] Empty + */ + type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.longrunning.Operations#waitOperation}. + * @param error Error, if any + * @param [response] Operation + */ + type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of an Operation. */ + interface IOperation { + + /** Operation name */ + name?: (string|null); + + /** Operation metadata */ + metadata?: (google.protobuf.IAny|null); + + /** Operation done */ + done?: (boolean|null); + + /** Operation error */ + error?: (google.rpc.IStatus|null); + + /** Operation response */ + response?: (google.protobuf.IAny|null); + } + + /** Represents an Operation. */ + class Operation implements IOperation { + + /** + * Constructs a new Operation. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IOperation); + + /** Operation name. */ + public name: string; + + /** Operation metadata. */ + public metadata?: (google.protobuf.IAny|null); + + /** Operation done. */ + public done: boolean; + + /** Operation error. */ + public error?: (google.rpc.IStatus|null); + + /** Operation response. */ + public response?: (google.protobuf.IAny|null); + + /** Operation result. */ + public result?: ("error"|"response"); + + /** + * Creates a new Operation instance using the specified properties. + * @param [properties] Properties to set + * @returns Operation instance + */ + public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation; + + /** + * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @param message Operation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @param message Operation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Operation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation; + + /** + * Decodes an Operation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation; + + /** + * Verifies an Operation message. + * @param message Plain 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 Operation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Operation + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.Operation; + + /** + * Creates a plain object from an Operation message. Also converts values to other types if specified. + * @param message Operation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Operation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a GetOperationRequest. */ + interface IGetOperationRequest { + + /** GetOperationRequest name */ + name?: (string|null); + } + + /** Represents a GetOperationRequest. */ + class GetOperationRequest implements IGetOperationRequest { + + /** + * Constructs a new GetOperationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IGetOperationRequest); + + /** GetOperationRequest name. */ + public name: string; + + /** + * Creates a new GetOperationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetOperationRequest instance + */ + public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest; + + /** + * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @param message GetOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @param message GetOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetOperationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest; + + /** + * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest; + + /** + * Verifies a GetOperationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetOperationRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest; + + /** + * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified. + * @param message GetOperationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetOperationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListOperationsRequest. */ + interface IListOperationsRequest { + + /** ListOperationsRequest name */ + name?: (string|null); + + /** ListOperationsRequest filter */ + filter?: (string|null); + + /** ListOperationsRequest pageSize */ + pageSize?: (number|null); + + /** ListOperationsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListOperationsRequest. */ + class ListOperationsRequest implements IListOperationsRequest { + + /** + * Constructs a new ListOperationsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IListOperationsRequest); + + /** ListOperationsRequest name. */ + public name: string; + + /** ListOperationsRequest filter. */ + public filter: string; + + /** ListOperationsRequest pageSize. */ + public pageSize: number; + + /** ListOperationsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListOperationsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListOperationsRequest instance + */ + public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest; + + /** + * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @param message ListOperationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @param message ListOperationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListOperationsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest; + + /** + * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest; + + /** + * Verifies a ListOperationsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListOperationsRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest; + + /** + * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified. + * @param message ListOperationsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListOperationsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a ListOperationsResponse. */ + interface IListOperationsResponse { + + /** ListOperationsResponse operations */ + operations?: (google.longrunning.IOperation[]|null); + + /** ListOperationsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListOperationsResponse. */ + class ListOperationsResponse implements IListOperationsResponse { + + /** + * Constructs a new ListOperationsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IListOperationsResponse); + + /** ListOperationsResponse operations. */ + public operations: google.longrunning.IOperation[]; + + /** ListOperationsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListOperationsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListOperationsResponse instance + */ + public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse; + + /** + * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @param message ListOperationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @param message ListOperationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse; + + /** + * Verifies a ListOperationsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListOperationsResponse + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse; + + /** + * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified. + * @param message ListOperationsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListOperationsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a CancelOperationRequest. */ + interface ICancelOperationRequest { + + /** CancelOperationRequest name */ + name?: (string|null); + } + + /** Represents a CancelOperationRequest. */ + class CancelOperationRequest implements ICancelOperationRequest { + + /** + * Constructs a new CancelOperationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.ICancelOperationRequest); + + /** CancelOperationRequest name. */ + public name: string; + + /** + * Creates a new CancelOperationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CancelOperationRequest instance + */ + public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest; + + /** + * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @param message CancelOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @param message CancelOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CancelOperationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest; + + /** + * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest; + + /** + * Verifies a CancelOperationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CancelOperationRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest; + + /** + * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified. + * @param message CancelOperationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CancelOperationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a DeleteOperationRequest. */ + interface IDeleteOperationRequest { + + /** DeleteOperationRequest name */ + name?: (string|null); + } + + /** Represents a DeleteOperationRequest. */ + class DeleteOperationRequest implements IDeleteOperationRequest { + + /** + * Constructs a new DeleteOperationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IDeleteOperationRequest); + + /** DeleteOperationRequest name. */ + public name: string; + + /** + * Creates a new DeleteOperationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteOperationRequest instance + */ + public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest; + + /** + * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @param message DeleteOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @param message DeleteOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteOperationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest; + + /** + * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest; + + /** + * Verifies a DeleteOperationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteOperationRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest; + + /** + * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified. + * @param message DeleteOperationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteOperationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a WaitOperationRequest. */ + interface IWaitOperationRequest { + + /** WaitOperationRequest name */ + name?: (string|null); + + /** WaitOperationRequest timeout */ + timeout?: (google.protobuf.IDuration|null); + } + + /** Represents a WaitOperationRequest. */ + class WaitOperationRequest implements IWaitOperationRequest { + + /** + * Constructs a new WaitOperationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IWaitOperationRequest); + + /** WaitOperationRequest name. */ + public name: string; + + /** WaitOperationRequest timeout. */ + public timeout?: (google.protobuf.IDuration|null); + + /** + * Creates a new WaitOperationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns WaitOperationRequest instance + */ + public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest; + + /** + * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @param message WaitOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @param message WaitOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest; + + /** + * Verifies a WaitOperationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WaitOperationRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest; + + /** + * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified. + * @param message WaitOperationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WaitOperationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an OperationInfo. */ + interface IOperationInfo { + + /** OperationInfo responseType */ + responseType?: (string|null); + + /** OperationInfo metadataType */ + metadataType?: (string|null); + } + + /** Represents an OperationInfo. */ + class OperationInfo implements IOperationInfo { + + /** + * Constructs a new OperationInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IOperationInfo); + + /** OperationInfo responseType. */ + public responseType: string; + + /** OperationInfo metadataType. */ + public metadataType: string; + + /** + * Creates a new OperationInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationInfo instance + */ + public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo; + + /** + * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @param message OperationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @param message OperationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo; + + /** + * Decodes an OperationInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo; + + /** + * Verifies an OperationInfo message. + * @param message Plain 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 OperationInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationInfo + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo; + + /** + * Creates a plain object from an OperationInfo message. Also converts values to other types if specified. + * @param message OperationInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OperationInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace rpc. */ + namespace rpc { + + /** Properties of a Status. */ + interface IStatus { + + /** Status code */ + code?: (number|null); + + /** Status message */ + message?: (string|null); + + /** Status details */ + details?: (google.protobuf.IAny[]|null); + } + + /** Represents a Status. */ + class Status implements IStatus { + + /** + * Constructs a new Status. + * @param [properties] Properties to set + */ + constructor(properties?: google.rpc.IStatus); + + /** Status code. */ + public code: number; + + /** Status message. */ + public message: string; + + /** Status details. */ + public details: google.protobuf.IAny[]; + + /** + * Creates a new Status instance using the specified properties. + * @param [properties] Properties to set + * @returns Status instance + */ + public static create(properties?: google.rpc.IStatus): google.rpc.Status; + + /** + * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @param message Status message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @param message Status message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Status message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status; + + /** + * Decodes a Status message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status; + + /** + * Verifies a Status message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Status message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Status + */ + public static fromObject(object: { [k: string]: any }): google.rpc.Status; + + /** + * Creates a plain object from a Status message. Also converts values to other types if specified. + * @param message Status + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Status to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + + /** Namespace type. */ + namespace type { + + /** Properties of a Color. */ + interface IColor { + + /** Color red */ + red?: (number|null); + + /** Color green */ + green?: (number|null); + + /** Color blue */ + blue?: (number|null); + + /** Color alpha */ + alpha?: (google.protobuf.IFloatValue|null); + } + + /** Represents a Color. */ + class Color implements IColor { + + /** + * Constructs a new Color. + * @param [properties] Properties to set + */ + constructor(properties?: google.type.IColor); + + /** Color red. */ + public red: number; + + /** Color green. */ + public green: number; + + /** Color blue. */ + public blue: number; + + /** Color alpha. */ + public alpha?: (google.protobuf.IFloatValue|null); + + /** + * Creates a new Color instance using the specified properties. + * @param [properties] Properties to set + * @returns Color instance + */ + public static create(properties?: google.type.IColor): google.type.Color; + + /** + * Encodes the specified Color message. Does not implicitly {@link google.type.Color.verify|verify} messages. + * @param message Color message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.type.IColor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Color message, length delimited. Does not implicitly {@link google.type.Color.verify|verify} messages. + * @param message Color message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.type.IColor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Color message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Color + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Color; + + /** + * Decodes a Color message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Color + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Color; + + /** + * Verifies a Color message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Color message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Color + */ + public static fromObject(object: { [k: string]: any }): google.type.Color; + + /** + * Creates a plain object from a Color message. Also converts values to other types if specified. + * @param message Color + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.type.Color, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Color to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a LatLng. */ + interface ILatLng { + + /** LatLng latitude */ + latitude?: (number|null); + + /** LatLng longitude */ + longitude?: (number|null); + } + + /** Represents a LatLng. */ + class LatLng implements ILatLng { + + /** + * Constructs a new LatLng. + * @param [properties] Properties to set + */ + constructor(properties?: google.type.ILatLng); + + /** LatLng latitude. */ + public latitude: number; + + /** LatLng longitude. */ + public longitude: number; + + /** + * Creates a new LatLng instance using the specified properties. + * @param [properties] Properties to set + * @returns LatLng instance + */ + public static create(properties?: google.type.ILatLng): google.type.LatLng; + + /** + * Encodes the specified LatLng message. Does not implicitly {@link google.type.LatLng.verify|verify} messages. + * @param message LatLng message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.type.ILatLng, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LatLng message, length delimited. Does not implicitly {@link google.type.LatLng.verify|verify} messages. + * @param message LatLng message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.type.ILatLng, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LatLng message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LatLng + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.LatLng; + + /** + * Decodes a LatLng message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LatLng + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.LatLng; + + /** + * Verifies a LatLng message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LatLng message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LatLng + */ + public static fromObject(object: { [k: string]: any }): google.type.LatLng; + + /** + * Creates a plain object from a LatLng message. Also converts values to other types if specified. + * @param message LatLng + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.type.LatLng, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LatLng to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } +} diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js new file mode 100644 index 00000000000..a335014204e --- /dev/null +++ b/packages/google-cloud-vision/protos/protos.js @@ -0,0 +1,112526 @@ +/*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("protobufjs/minimal")); + +})(this, function($protobuf) { + "use strict"; + + // Common aliases + var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; + + // Exported root namespace + var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); + + $root.google = (function() { + + /** + * Namespace google. + * @exports google + * @namespace + */ + var google = {}; + + google.cloud = (function() { + + /** + * Namespace cloud. + * @memberof google + * @namespace + */ + var cloud = {}; + + cloud.vision = (function() { + + /** + * Namespace vision. + * @memberof google.cloud + * @namespace + */ + var vision = {}; + + vision.v1 = (function() { + + /** + * Namespace v1. + * @memberof google.cloud.vision + * @namespace + */ + var v1 = {}; + + v1.ImageAnnotator = (function() { + + /** + * Constructs a new ImageAnnotator service. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImageAnnotator + * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; + + /** + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + */ + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + */ + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateFiles}. + * @memberof google.cloud.vision.v1.ImageAnnotator + * @typedef BatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.BatchAnnotateFilesResponse} [response] BatchAnnotateFilesResponse + */ + + /** + * Calls BatchAnnotateFiles. + * @function batchAnnotateFiles + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateFiles = function batchAnnotateFiles(request, callback) { + return this.rpcCall(batchAnnotateFiles, $root.google.cloud.vision.v1.BatchAnnotateFilesRequest, $root.google.cloud.vision.v1.BatchAnnotateFilesResponse, request, callback); + }, "name", { value: "BatchAnnotateFiles" }); + + /** + * Calls BatchAnnotateFiles. + * @function batchAnnotateFiles + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateImages}. + * @memberof google.cloud.vision.v1.ImageAnnotator + * @typedef AsyncBatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AsyncBatchAnnotateImages. + * @function asyncBatchAnnotateImages + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateImages = function asyncBatchAnnotateImages(request, callback) { + return this.rpcCall(asyncBatchAnnotateImages, $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateImages" }); + + /** + * Calls AsyncBatchAnnotateImages. + * @function asyncBatchAnnotateImages + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @memberof google.cloud.vision.v1.ImageAnnotator + * @typedef AsyncBatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { + return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateFiles" }); + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ImageAnnotator; + })(); + + v1.Feature = (function() { + + /** + * Properties of a Feature. + * @memberof google.cloud.vision.v1 + * @interface IFeature + * @property {google.cloud.vision.v1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model + */ + + /** + * Constructs a new Feature. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Feature. + * @implements IFeature + * @constructor + * @param {google.cloud.vision.v1.IFeature=} [properties] Properties to set + */ + function Feature(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]]; + } + + /** + * Feature type. + * @member {google.cloud.vision.v1.Feature.Type} type + * @memberof google.cloud.vision.v1.Feature + * @instance + */ + Feature.prototype.type = 0; + + /** + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1.Feature + * @instance + */ + Feature.prototype.maxResults = 0; + + /** + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1.Feature + * @instance + */ + Feature.prototype.model = ""; + + /** + * Creates a new Feature instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Feature + * @static + * @param {google.cloud.vision.v1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Feature} Feature instance + */ + Feature.create = function create(properties) { + return new Feature(properties); + }; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1.Feature.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Feature + * @static + * @param {google.cloud.vision.v1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + return writer; + }; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Feature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Feature + * @static + * @param {google.cloud.vision.v1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Feature(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.maxResults = reader.int32(); + break; + case 3: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Feature message. + * @function verify + * @memberof google.cloud.vision.v1.Feature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Feature.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: + case 3: + case 4: + case 5: + case 11: + case 6: + case 7: + case 9: + case 10: + case 12: + case 19: + break; + } + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Feature + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Feature} Feature + */ + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Feature) + return object; + var message = new $root.google.cloud.vision.v1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": + case 0: + message.type = 0; + break; + case "FACE_DETECTION": + case 1: + message.type = 1; + break; + case "LANDMARK_DETECTION": + case 2: + message.type = 2; + break; + case "LOGO_DETECTION": + case 3: + message.type = 3; + break; + case "LABEL_DETECTION": + case 4: + message.type = 4; + break; + case "TEXT_DETECTION": + case 5: + message.type = 5; + break; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; + break; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; + break; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; + break; + case "CROP_HINTS": + case 9: + message.type = 9; + break; + case "WEB_DETECTION": + case 10: + message.type = 10; + break; + case "PRODUCT_SEARCH": + case 12: + message.type = 12; + break; + case "OBJECT_LOCALIZATION": + case 19: + message.type = 19; + break; + } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Feature + * @static + * @param {google.cloud.vision.v1.Feature} message Feature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Feature.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this Feature to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Feature + * @instance + * @returns {Object.} JSON object + */ + Feature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + * @property {number} PRODUCT_SEARCH=12 PRODUCT_SEARCH value + * @property {number} OBJECT_LOCALIZATION=19 OBJECT_LOCALIZATION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + values[valuesById[12] = "PRODUCT_SEARCH"] = 12; + values[valuesById[19] = "OBJECT_LOCALIZATION"] = 19; + return values; + })(); + + return Feature; + })(); + + /** + * Likelihood enum. + * @name google.cloud.vision.v1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1.ImageSource = (function() { + + /** + * Properties of an ImageSource. + * @memberof google.cloud.vision.v1 + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri + */ + + /** + * Constructs a new ImageSource. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImageSource. + * @implements IImageSource + * @constructor + * @param {google.cloud.vision.v1.IImageSource=} [properties] Properties to set + */ + function ImageSource(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]]; + } + + /** + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1.ImageSource + * @instance + */ + ImageSource.prototype.gcsImageUri = ""; + + /** + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1.ImageSource + * @instance + */ + ImageSource.prototype.imageUri = ""; + + /** + * Creates a new ImageSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ImageSource + * @static + * @param {google.cloud.vision.v1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImageSource} ImageSource instance + */ + ImageSource.create = function create(properties) { + return new ImageSource(properties); + }; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1.ImageSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ImageSource + * @static + * @param {google.cloud.vision.v1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + return writer; + }; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ImageSource + * @static + * @param {google.cloud.vision.v1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsImageUri = reader.string(); + break; + case 2: + message.imageUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageSource message. + * @function verify + * @memberof google.cloud.vision.v1.ImageSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; + return null; + }; + + /** + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ImageSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ImageSource} ImageSource + */ + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImageSource) + return object; + var message = new $root.google.cloud.vision.v1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); + return message; + }; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ImageSource + * @static + * @param {google.cloud.vision.v1.ImageSource} message ImageSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsImageUri = ""; + object.imageUri = ""; + } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; + return object; + }; + + /** + * Converts this ImageSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ImageSource + * @instance + * @returns {Object.} JSON object + */ + ImageSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageSource; + })(); + + v1.Image = (function() { + + /** + * Properties of an Image. + * @memberof google.cloud.vision.v1 + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1.IImageSource|null} [source] Image source + */ + + /** + * Constructs a new Image. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an Image. + * @implements IImage + * @constructor + * @param {google.cloud.vision.v1.IImage=} [properties] Properties to set + */ + function Image(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]]; + } + + /** + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1.Image + * @instance + */ + Image.prototype.content = $util.newBuffer([]); + + /** + * Image source. + * @member {google.cloud.vision.v1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1.Image + * @instance + */ + Image.prototype.source = null; + + /** + * Creates a new Image instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Image + * @static + * @param {google.cloud.vision.v1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Image} Image instance + */ + Image.create = function create(properties) { + return new Image(properties); + }; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1.Image.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Image + * @static + * @param {google.cloud.vision.v1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Image.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Image + * @static + * @param {google.cloud.vision.v1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Image message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Image(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.content = reader.bytes(); + break; + case 2: + message.source = $root.google.cloud.vision.v1.ImageSource.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Image message. + * @function verify + * @memberof google.cloud.vision.v1.Image + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Image.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1.ImageSource.verify(message.source); + if (error) + return "source." + error; + } + return null; + }; + + /** + * Creates an Image message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Image + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Image} Image + */ + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Image) + return object; + var message = new $root.google.cloud.vision.v1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1.ImageSource.fromObject(object.source); + } + return message; + }; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Image + * @static + * @param {google.cloud.vision.v1.Image} message Image + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Image.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; + } + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1.ImageSource.toObject(message.source, options); + return object; + }; + + /** + * Converts this Image to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Image + * @instance + * @returns {Object.} JSON object + */ + Image.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Image; + })(); + + v1.FaceAnnotation = (function() { + + /** + * Properties of a FaceAnnotation. + * @memberof google.cloud.vision.v1 + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + */ + + /** + * Constructs a new FaceAnnotation. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation + * @constructor + * @param {google.cloud.vision.v1.IFaceAnnotation=} [properties] Properties to set + */ + function FaceAnnotation(properties) { + this.landmarks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.boundingPoly = null; + + /** + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.fdBoundingPoly = null; + + /** + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarks = $util.emptyArray; + + /** + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.rollAngle = 0; + + /** + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.panAngle = 0; + + /** + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.tiltAngle = 0; + + /** + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.detectionConfidence = 0; + + /** + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarkingConfidence = 0; + + /** + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.joyLikelihood = 0; + + /** + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.sorrowLikelihood = 0; + + /** + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation instance + */ + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); + }; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + return writer; + }; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.FaceAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + case 4: + message.rollAngle = reader.float(); + break; + case 5: + message.panAngle = reader.float(); + break; + case 6: + message.tiltAngle = reader.float(); + break; + case 7: + message.detectionConfidence = reader.float(); + break; + case 8: + message.landmarkingConfidence = reader.float(); + break; + case 9: + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1.FaceAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; + } + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1.FaceAnnotation.Landmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { + default: + return "joyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { + default: + return "sorrowLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { + default: + return "angerLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { + default: + return "surpriseLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { + default: + return "underExposedLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { + default: + return "blurredLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { + default: + return "headwearLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.FaceAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation + */ + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.FaceAnnotation) + return object; + var message = new $root.google.cloud.vision.v1.FaceAnnotation(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.fdBoundingPoly); + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); + } + } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { + case "UNKNOWN": + case 0: + message.joyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.joyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.joyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.joyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.joyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.joyLikelihood = 5; + break; + } + switch (object.sorrowLikelihood) { + case "UNKNOWN": + case 0: + message.sorrowLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.sorrowLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.sorrowLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.sorrowLikelihood = 3; + break; + case "LIKELY": + case 4: + message.sorrowLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.sorrowLikelihood = 5; + break; + } + switch (object.angerLikelihood) { + case "UNKNOWN": + case 0: + message.angerLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.angerLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.angerLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.angerLikelihood = 3; + break; + case "LIKELY": + case 4: + message.angerLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.angerLikelihood = 5; + break; + } + switch (object.surpriseLikelihood) { + case "UNKNOWN": + case 0: + message.surpriseLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.surpriseLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.surpriseLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.surpriseLikelihood = 3; + break; + case "LIKELY": + case 4: + message.surpriseLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.surpriseLikelihood = 5; + break; + } + switch (object.underExposedLikelihood) { + case "UNKNOWN": + case 0: + message.underExposedLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.underExposedLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.underExposedLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.underExposedLikelihood = 3; + break; + case "LIKELY": + case 4: + message.underExposedLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1.FaceAnnotation} message FaceAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.landmarks = []; + if (options.defaults) { + object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + return object; + }; + + /** + * Converts this FaceAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + FaceAnnotation.Landmark = (function() { + + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1.IPosition|null} [position] Landmark position + */ + + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } + + /** + * Landmark type. + * @member {google.cloud.vision.v1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; + + /** + * Landmark position. + * @member {google.cloud.vision.v1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; + + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": + case 1: + message.type = 1; + break; + case "RIGHT_EYE": + case 2: + message.type = 2; + break; + case "LEFT_OF_LEFT_EYEBROW": + case 3: + message.type = 3; + break; + case "RIGHT_OF_LEFT_EYEBROW": + case 4: + message.type = 4; + break; + case "LEFT_OF_RIGHT_EYEBROW": + case 5: + message.type = 5; + break; + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; + break; + } + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1.Position.fromObject(object.position); + } + return message; + }; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1.Position.toObject(message.position, options); + return object; + }; + + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); + + return Landmark; + })(); + + return FaceAnnotation; + })(); + + v1.LocationInfo = (function() { + + /** + * Properties of a LocationInfo. + * @memberof google.cloud.vision.v1 + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng + */ + + /** + * Constructs a new LocationInfo. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo + * @constructor + * @param {google.cloud.vision.v1.ILocationInfo=} [properties] Properties to set + */ + function LocationInfo(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]]; + } + + /** + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1.LocationInfo + * @instance + */ + LocationInfo.prototype.latLng = null; + + /** + * Creates a new LocationInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {google.cloud.vision.v1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo instance + */ + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); + }; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1.LocationInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {google.cloud.vision.v1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LocationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {google.cloud.vision.v1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.LocationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocationInfo message. + * @function verify + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); + if (error) + return "latLng." + error; + } + return null; + }; + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo + */ + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.LocationInfo) + return object; + var message = new $root.google.cloud.vision.v1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); + } + return message; + }; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {google.cloud.vision.v1.LocationInfo} message LocationInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocationInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); + return object; + }; + + /** + * Converts this LocationInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.LocationInfo + * @instance + * @returns {Object.} JSON object + */ + LocationInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LocationInfo; + })(); + + v1.Property = (function() { + + /** + * Properties of a Property. + * @memberof google.cloud.vision.v1 + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value + */ + + /** + * Constructs a new Property. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Property. + * @implements IProperty + * @constructor + * @param {google.cloud.vision.v1.IProperty=} [properties] Properties to set + */ + function Property(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]]; + } + + /** + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1.Property + * @instance + */ + Property.prototype.name = ""; + + /** + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1.Property + * @instance + */ + Property.prototype.value = ""; + + /** + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1.Property + * @instance + */ + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Property instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Property + * @static + * @param {google.cloud.vision.v1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Property} Property instance + */ + Property.create = function create(properties) { + return new Property(properties); + }; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1.Property.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Property + * @static + * @param {google.cloud.vision.v1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + return writer; + }; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Property.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Property + * @static + * @param {google.cloud.vision.v1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Property message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Property(); + 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: + message.uint64Value = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Property message. + * @function verify + * @memberof google.cloud.vision.v1.Property + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Property.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; + return null; + }; + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Property + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Property} Property + */ + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Property) + return object; + var message = new $root.google.cloud.vision.v1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Property + * @static + * @param {google.cloud.vision.v1.Property} message Property + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Property.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + return object; + }; + + /** + * Converts this Property to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Property + * @instance + * @returns {Object.} JSON object + */ + Property.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Property; + })(); + + v1.EntityAnnotation = (function() { + + /** + * Properties of an EntityAnnotation. + * @memberof google.cloud.vision.v1 + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties + */ + + /** + * Constructs a new EntityAnnotation. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation + * @constructor + * @param {google.cloud.vision.v1.IEntityAnnotation=} [properties] Properties to set + */ + function EntityAnnotation(properties) { + this.locations = []; + this.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]]; + } + + /** + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.mid = ""; + + /** + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locale = ""; + + /** + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.score = 0; + + /** + * EntityAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.confidence = 0; + + /** + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.topicality = 0; + + /** + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation instance + */ + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); + }; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1.EntityAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.EntityAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.EntityAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.locale = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1.Property.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EntityAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1.EntityAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EntityAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } + } + return null; + }; + + /** + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.EntityAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation + */ + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.EntityAnnotation) + return object; + var message = new $root.google.cloud.vision.v1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); + if (object.score != null) + message.score = Number(object.score); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1.Property.fromObject(object.properties[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1.EntityAnnotation} message EntityAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EntityAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } + if (options.defaults) { + object.mid = ""; + object.locale = ""; + object.description = ""; + object.score = 0; + object.confidence = 0; + object.topicality = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1.Property.toObject(message.properties[j], options); + } + return object; + }; + + /** + * Converts this EntityAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + * @returns {Object.} JSON object + */ + EntityAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EntityAnnotation; + })(); + + v1.LocalizedObjectAnnotation = (function() { + + /** + * Properties of a LocalizedObjectAnnotation. + * @memberof google.cloud.vision.v1 + * @interface ILocalizedObjectAnnotation + * @property {string|null} [mid] LocalizedObjectAnnotation mid + * @property {string|null} [languageCode] LocalizedObjectAnnotation languageCode + * @property {string|null} [name] LocalizedObjectAnnotation name + * @property {number|null} [score] LocalizedObjectAnnotation score + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] LocalizedObjectAnnotation boundingPoly + */ + + /** + * Constructs a new LocalizedObjectAnnotation. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a LocalizedObjectAnnotation. + * @implements ILocalizedObjectAnnotation + * @constructor + * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation=} [properties] Properties to set + */ + function LocalizedObjectAnnotation(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]]; + } + + /** + * LocalizedObjectAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.mid = ""; + + /** + * LocalizedObjectAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.languageCode = ""; + + /** + * LocalizedObjectAnnotation name. + * @member {string} name + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.name = ""; + + /** + * LocalizedObjectAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.score = 0; + + /** + * LocalizedObjectAnnotation boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.boundingPoly = null; + + /** + * Creates a new LocalizedObjectAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation instance + */ + LocalizedObjectAnnotation.create = function create(properties) { + return new LocalizedObjectAnnotation(properties); + }; + + /** + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1.LocalizedObjectAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalizedObjectAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LocalizedObjectAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalizedObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalizedObjectAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.LocalizedObjectAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + case 3: + message.name = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalizedObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocalizedObjectAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocalizedObjectAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + return null; + }; + + /** + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + */ + LocalizedObjectAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.LocalizedObjectAnnotation) + return object; + var message = new $root.google.cloud.vision.v1.LocalizedObjectAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.name != null) + message.name = String(object.name); + if (object.score != null) + message.score = Number(object.score); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.LocalizedObjectAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + } + return message; + }; + + /** + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1.LocalizedObjectAnnotation} message LocalizedObjectAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocalizedObjectAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.mid = ""; + object.languageCode = ""; + object.name = ""; + object.score = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); + return object; + }; + + /** + * Converts this LocalizedObjectAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @instance + * @returns {Object.} JSON object + */ + LocalizedObjectAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LocalizedObjectAnnotation; + })(); + + v1.SafeSearchAnnotation = (function() { + + /** + * Properties of a SafeSearchAnnotation. + * @memberof google.cloud.vision.v1 + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1.Likelihood|null} [racy] SafeSearchAnnotation racy + * @property {number|null} [adultConfidence] SafeSearchAnnotation adultConfidence + * @property {number|null} [spoofConfidence] SafeSearchAnnotation spoofConfidence + * @property {number|null} [medicalConfidence] SafeSearchAnnotation medicalConfidence + * @property {number|null} [violenceConfidence] SafeSearchAnnotation violenceConfidence + * @property {number|null} [racyConfidence] SafeSearchAnnotation racyConfidence + * @property {number|null} [nsfwConfidence] SafeSearchAnnotation nsfwConfidence + */ + + /** + * Constructs a new SafeSearchAnnotation. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation + * @constructor + * @param {google.cloud.vision.v1.ISafeSearchAnnotation=} [properties] Properties to set + */ + function SafeSearchAnnotation(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]]; + } + + /** + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1.Likelihood} adult + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.adult = 0; + + /** + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1.Likelihood} spoof + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoof = 0; + + /** + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1.Likelihood} medical + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medical = 0; + + /** + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1.Likelihood} violence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1.Likelihood} racy + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * SafeSearchAnnotation adultConfidence. + * @member {number} adultConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.adultConfidence = 0; + + /** + * SafeSearchAnnotation spoofConfidence. + * @member {number} spoofConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoofConfidence = 0; + + /** + * SafeSearchAnnotation medicalConfidence. + * @member {number} medicalConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medicalConfidence = 0; + + /** + * SafeSearchAnnotation violenceConfidence. + * @member {number} violenceConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violenceConfidence = 0; + + /** + * SafeSearchAnnotation racyConfidence. + * @member {number} racyConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racyConfidence = 0; + + /** + * SafeSearchAnnotation nsfwConfidence. + * @member {number} nsfwConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.nsfwConfidence = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation instance + */ + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); + }; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1.SafeSearchAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); + if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) + writer.uint32(/* id 16, wireType 5 =*/133).float(message.adultConfidence); + if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) + writer.uint32(/* id 18, wireType 5 =*/149).float(message.spoofConfidence); + if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) + writer.uint32(/* id 20, wireType 5 =*/165).float(message.medicalConfidence); + if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) + writer.uint32(/* id 22, wireType 5 =*/181).float(message.violenceConfidence); + if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) + writer.uint32(/* id 24, wireType 5 =*/197).float(message.racyConfidence); + if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) + writer.uint32(/* id 26, wireType 5 =*/213).float(message.nsfwConfidence); + return writer; + }; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.SafeSearchAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.SafeSearchAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.adult = reader.int32(); + break; + case 2: + message.spoof = reader.int32(); + break; + case 3: + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); + break; + case 16: + message.adultConfidence = reader.float(); + break; + case 18: + message.spoofConfidence = reader.float(); + break; + case 20: + message.medicalConfidence = reader.float(); + break; + case 22: + message.violenceConfidence = reader.float(); + break; + case 24: + message.racyConfidence = reader.float(); + break; + case 26: + message.nsfwConfidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SafeSearchAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SafeSearchAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) + if (typeof message.adultConfidence !== "number") + return "adultConfidence: number expected"; + if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) + if (typeof message.spoofConfidence !== "number") + return "spoofConfidence: number expected"; + if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) + if (typeof message.medicalConfidence !== "number") + return "medicalConfidence: number expected"; + if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) + if (typeof message.violenceConfidence !== "number") + return "violenceConfidence: number expected"; + if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) + if (typeof message.racyConfidence !== "number") + return "racyConfidence: number expected"; + if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) + if (typeof message.nsfwConfidence !== "number") + return "nsfwConfidence: number expected"; + return null; + }; + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation + */ + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.SafeSearchAnnotation) + return object; + var message = new $root.google.cloud.vision.v1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; + } + if (object.adultConfidence != null) + message.adultConfidence = Number(object.adultConfidence); + if (object.spoofConfidence != null) + message.spoofConfidence = Number(object.spoofConfidence); + if (object.medicalConfidence != null) + message.medicalConfidence = Number(object.medicalConfidence); + if (object.violenceConfidence != null) + message.violenceConfidence = Number(object.violenceConfidence); + if (object.racyConfidence != null) + message.racyConfidence = Number(object.racyConfidence); + if (object.nsfwConfidence != null) + message.nsfwConfidence = Number(object.nsfwConfidence); + return message; + }; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SafeSearchAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; + object.adultConfidence = 0; + object.spoofConfidence = 0; + object.medicalConfidence = 0; + object.violenceConfidence = 0; + object.racyConfidence = 0; + object.nsfwConfidence = 0; + } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.racy] : message.racy; + if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) + object.adultConfidence = options.json && !isFinite(message.adultConfidence) ? String(message.adultConfidence) : message.adultConfidence; + if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) + object.spoofConfidence = options.json && !isFinite(message.spoofConfidence) ? String(message.spoofConfidence) : message.spoofConfidence; + if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) + object.medicalConfidence = options.json && !isFinite(message.medicalConfidence) ? String(message.medicalConfidence) : message.medicalConfidence; + if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) + object.violenceConfidence = options.json && !isFinite(message.violenceConfidence) ? String(message.violenceConfidence) : message.violenceConfidence; + if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) + object.racyConfidence = options.json && !isFinite(message.racyConfidence) ? String(message.racyConfidence) : message.racyConfidence; + if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) + object.nsfwConfidence = options.json && !isFinite(message.nsfwConfidence) ? String(message.nsfwConfidence) : message.nsfwConfidence; + return object; + }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + * @returns {Object.} JSON object + */ + SafeSearchAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SafeSearchAnnotation; + })(); + + v1.LatLongRect = (function() { + + /** + * Properties of a LatLongRect. + * @memberof google.cloud.vision.v1 + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng + */ + + /** + * Constructs a new LatLongRect. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect + * @constructor + * @param {google.cloud.vision.v1.ILatLongRect=} [properties] Properties to set + */ + function LatLongRect(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]]; + } + + /** + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1.LatLongRect + * @instance + */ + LatLongRect.prototype.minLatLng = null; + + /** + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1.LatLongRect + * @instance + */ + LatLongRect.prototype.maxLatLng = null; + + /** + * Creates a new LatLongRect instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {google.cloud.vision.v1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect instance + */ + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); + }; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1.LatLongRect.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {google.cloud.vision.v1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LatLongRect.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {google.cloud.vision.v1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.LatLongRect(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + case 2: + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LatLongRect message. + * @function verify + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LatLongRect.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); + if (error) + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; + } + return null; + }; + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect + */ + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.LatLongRect) + return object; + var message = new $root.google.cloud.vision.v1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); + } + return message; + }; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {google.cloud.vision.v1.LatLongRect} message LatLongRect + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LatLongRect.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.minLatLng = null; + object.maxLatLng = null; + } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); + return object; + }; + + /** + * Converts this LatLongRect to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.LatLongRect + * @instance + * @returns {Object.} JSON object + */ + LatLongRect.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LatLongRect; + })(); + + v1.ColorInfo = (function() { + + /** + * Properties of a ColorInfo. + * @memberof google.cloud.vision.v1 + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction + */ + + /** + * Constructs a new ColorInfo. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ColorInfo. + * @implements IColorInfo + * @constructor + * @param {google.cloud.vision.v1.IColorInfo=} [properties] Properties to set + */ + function ColorInfo(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]]; + } + + /** + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1.ColorInfo + * @instance + */ + ColorInfo.prototype.color = null; + + /** + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1.ColorInfo + * @instance + */ + ColorInfo.prototype.score = 0; + + /** + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1.ColorInfo + * @instance + */ + ColorInfo.prototype.pixelFraction = 0; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ColorInfo + * @static + * @param {google.cloud.vision.v1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo instance + */ + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); + }; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1.ColorInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ColorInfo + * @static + * @param {google.cloud.vision.v1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); + return writer; + }; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ColorInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ColorInfo + * @static + * @param {google.cloud.vision.v1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ColorInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pixelFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ColorInfo message. + * @function verify + * @memberof google.cloud.vision.v1.ColorInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ColorInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); + if (error) + return "color." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; + return null; + }; + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ColorInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo + */ + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ColorInfo) + return object; + var message = new $root.google.cloud.vision.v1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); + } + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); + return message; + }; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ColorInfo + * @static + * @param {google.cloud.vision.v1.ColorInfo} message ColorInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ColorInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.color = null; + object.score = 0; + object.pixelFraction = 0; + } + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; + return object; + }; + + /** + * Converts this ColorInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ColorInfo + * @instance + * @returns {Object.} JSON object + */ + ColorInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ColorInfo; + })(); + + v1.DominantColorsAnnotation = (function() { + + /** + * Properties of a DominantColorsAnnotation. + * @memberof google.cloud.vision.v1 + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors + */ + + /** + * Constructs a new DominantColorsAnnotation. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation + * @constructor + * @param {google.cloud.vision.v1.IDominantColorsAnnotation=} [properties] Properties to set + */ + function DominantColorsAnnotation(properties) { + this.colors = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @instance + */ + DominantColorsAnnotation.prototype.colors = $util.emptyArray; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation instance + */ + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); + }; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1.DominantColorsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DominantColorsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.DominantColorsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1.ColorInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DominantColorsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DominantColorsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1.ColorInfo.verify(message.colors[i]); + if (error) + return "colors." + error; + } + } + return null; + }; + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation + */ + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.DominantColorsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1.ColorInfo.fromObject(object.colors[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DominantColorsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1.ColorInfo.toObject(message.colors[j], options); + } + return object; + }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @instance + * @returns {Object.} JSON object + */ + DominantColorsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DominantColorsAnnotation; + })(); + + v1.ImageProperties = (function() { + + /** + * Properties of an ImageProperties. + * @memberof google.cloud.vision.v1 + * @interface IImageProperties + * @property {google.cloud.vision.v1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + */ + + /** + * Constructs a new ImageProperties. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImageProperties. + * @implements IImageProperties + * @constructor + * @param {google.cloud.vision.v1.IImageProperties=} [properties] Properties to set + */ + function ImageProperties(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]]; + } + + /** + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1.ImageProperties + * @instance + */ + ImageProperties.prototype.dominantColors = null; + + /** + * Creates a new ImageProperties instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ImageProperties + * @static + * @param {google.cloud.vision.v1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties instance + */ + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); + }; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1.ImageProperties.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ImageProperties + * @static + * @param {google.cloud.vision.v1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageProperties.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ImageProperties + * @static + * @param {google.cloud.vision.v1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageProperties(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageProperties message. + * @function verify + * @memberof google.cloud.vision.v1.ImageProperties + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageProperties.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1.DominantColorsAnnotation.verify(message.dominantColors); + if (error) + return "dominantColors." + error; + } + return null; + }; + + /** + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ImageProperties + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties + */ + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImageProperties) + return object; + var message = new $root.google.cloud.vision.v1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.fromObject(object.dominantColors); + } + return message; + }; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ImageProperties + * @static + * @param {google.cloud.vision.v1.ImageProperties} message ImageProperties + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageProperties.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.toObject(message.dominantColors, options); + return object; + }; + + /** + * Converts this ImageProperties to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ImageProperties + * @instance + * @returns {Object.} JSON object + */ + ImageProperties.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageProperties; + })(); + + v1.CropHint = (function() { + + /** + * Properties of a CropHint. + * @memberof google.cloud.vision.v1 + * @interface ICropHint + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction + */ + + /** + * Constructs a new CropHint. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a CropHint. + * @implements ICropHint + * @constructor + * @param {google.cloud.vision.v1.ICropHint=} [properties] Properties to set + */ + function CropHint(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]]; + } + + /** + * CropHint boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.CropHint + * @instance + */ + CropHint.prototype.boundingPoly = null; + + /** + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.CropHint + * @instance + */ + CropHint.prototype.confidence = 0; + + /** + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1.CropHint + * @instance + */ + CropHint.prototype.importanceFraction = 0; + + /** + * Creates a new CropHint instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.CropHint + * @static + * @param {google.cloud.vision.v1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1.CropHint} CropHint instance + */ + CropHint.create = function create(properties) { + return new CropHint(properties); + }; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1.CropHint.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.CropHint + * @static + * @param {google.cloud.vision.v1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + return writer; + }; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHint.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.CropHint + * @static + * @param {google.cloud.vision.v1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CropHint(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + message.importanceFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHint message. + * @function verify + * @memberof google.cloud.vision.v1.CropHint + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHint.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; + return null; + }; + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.CropHint + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.CropHint} CropHint + */ + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.CropHint) + return object; + var message = new $root.google.cloud.vision.v1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); + return message; + }; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.CropHint + * @static + * @param {google.cloud.vision.v1.CropHint} message CropHint + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHint.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; + return object; + }; + + /** + * Converts this CropHint to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.CropHint + * @instance + * @returns {Object.} JSON object + */ + CropHint.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHint; + })(); + + v1.CropHintsAnnotation = (function() { + + /** + * Properties of a CropHintsAnnotation. + * @memberof google.cloud.vision.v1 + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + */ + + /** + * Constructs a new CropHintsAnnotation. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation + * @constructor + * @param {google.cloud.vision.v1.ICropHintsAnnotation=} [properties] Properties to set + */ + function CropHintsAnnotation(properties) { + this.cropHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @instance + */ + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation instance + */ + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); + }; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1.CropHintsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHintsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CropHintsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1.CropHint.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1.CropHint.verify(message.cropHints[i]); + if (error) + return "cropHints." + error; + } + } + return null; + }; + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation + */ + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.CropHintsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1.CropHint.fromObject(object.cropHints[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1.CropHintsAnnotation} message CropHintsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1.CropHint.toObject(message.cropHints[j], options); + } + return object; + }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @instance + * @returns {Object.} JSON object + */ + CropHintsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsAnnotation; + })(); + + v1.CropHintsParams = (function() { + + /** + * Properties of a CropHintsParams. + * @memberof google.cloud.vision.v1 + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + */ + + /** + * Constructs a new CropHintsParams. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams + * @constructor + * @param {google.cloud.vision.v1.ICropHintsParams=} [properties] Properties to set + */ + function CropHintsParams(properties) { + this.aspectRatios = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1.CropHintsParams + * @instance + */ + CropHintsParams.prototype.aspectRatios = $util.emptyArray; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.CropHintsParams + * @static + * @param {google.cloud.vision.v1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams instance + */ + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); + }; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1.CropHintsParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.CropHintsParams + * @static + * @param {google.cloud.vision.v1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHintsParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.CropHintsParams + * @static + * @param {google.cloud.vision.v1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CropHintsParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsParams message. + * @function verify + * @memberof google.cloud.vision.v1.CropHintsParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; + } + return null; + }; + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.CropHintsParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams + */ + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.CropHintsParams) + return object; + var message = new $root.google.cloud.vision.v1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); + } + return message; + }; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.CropHintsParams + * @static + * @param {google.cloud.vision.v1.CropHintsParams} message CropHintsParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; + } + return object; + }; + + /** + * Converts this CropHintsParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.CropHintsParams + * @instance + * @returns {Object.} JSON object + */ + CropHintsParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsParams; + })(); + + v1.WebDetectionParams = (function() { + + /** + * Properties of a WebDetectionParams. + * @memberof google.cloud.vision.v1 + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + */ + + /** + * Constructs a new WebDetectionParams. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams + * @constructor + * @param {google.cloud.vision.v1.IWebDetectionParams=} [properties] Properties to set + */ + function WebDetectionParams(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]]; + } + + /** + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1.WebDetectionParams + * @instance + */ + WebDetectionParams.prototype.includeGeoResults = false; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams instance + */ + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); + }; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1.WebDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + return writer; + }; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.WebDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.includeGeoResults = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1.WebDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; + return null; + }; + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.WebDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams + */ + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.WebDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); + return message; + }; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1.WebDetectionParams} message WebDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; + return object; + }; + + /** + * Converts this WebDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.WebDetectionParams + * @instance + * @returns {Object.} JSON object + */ + WebDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebDetectionParams; + })(); + + v1.ImageContext = (function() { + + /** + * Properties of an ImageContext. + * @memberof google.cloud.vision.v1 + * @interface IImageContext + * @property {google.cloud.vision.v1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams + * @property {google.cloud.vision.v1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + */ + + /** + * Constructs a new ImageContext. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImageContext. + * @implements IImageContext + * @constructor + * @param {google.cloud.vision.v1.IImageContext=} [properties] Properties to set + */ + function ImageContext(properties) { + this.languageHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImageContext latLongRect. + * @member {google.cloud.vision.v1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1.ImageContext + * @instance + */ + ImageContext.prototype.latLongRect = null; + + /** + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1.ImageContext + * @instance + */ + ImageContext.prototype.languageHints = $util.emptyArray; + + /** + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1.ImageContext + * @instance + */ + ImageContext.prototype.cropHintsParams = null; + + /** + * ImageContext productSearchParams. + * @member {google.cloud.vision.v1.IProductSearchParams|null|undefined} productSearchParams + * @memberof google.cloud.vision.v1.ImageContext + * @instance + */ + ImageContext.prototype.productSearchParams = null; + + /** + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1.ImageContext + * @instance + */ + ImageContext.prototype.webDetectionParams = null; + + /** + * Creates a new ImageContext instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ImageContext + * @static + * @param {google.cloud.vision.v1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImageContext} ImageContext instance + */ + ImageContext.create = function create(properties) { + return new ImageContext(properties); + }; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1.ImageContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ImageContext + * @static + * @param {google.cloud.vision.v1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + $root.google.cloud.vision.v1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ImageContext + * @static + * @param {google.cloud.vision.v1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLongRect = $root.google.cloud.vision.v1.LatLongRect.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 4: + message.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.decode(reader, reader.uint32()); + break; + case 5: + message.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.decode(reader, reader.uint32()); + break; + case 6: + message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageContext message. + * @function verify + * @memberof google.cloud.vision.v1.ImageContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1.LatLongRect.verify(message.latLongRect); + if (error) + return "latLongRect." + error; + } + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1.CropHintsParams.verify(message.cropHintsParams); + if (error) + return "cropHintsParams." + error; + } + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { + var error = $root.google.cloud.vision.v1.ProductSearchParams.verify(message.productSearchParams); + if (error) + return "productSearchParams." + error; + } + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1.WebDetectionParams.verify(message.webDetectionParams); + if (error) + return "webDetectionParams." + error; + } + return null; + }; + + /** + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ImageContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ImageContext} ImageContext + */ + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImageContext) + return object; + var message = new $root.google.cloud.vision.v1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1.LatLongRect.fromObject(object.latLongRect); + } + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.fromObject(object.cropHintsParams); + } + if (object.productSearchParams != null) { + if (typeof object.productSearchParams !== "object") + throw TypeError(".google.cloud.vision.v1.ImageContext.productSearchParams: object expected"); + message.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.fromObject(object.productSearchParams); + } + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.fromObject(object.webDetectionParams); + } + return message; + }; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ImageContext + * @static + * @param {google.cloud.vision.v1.ImageContext} message ImageContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.languageHints = []; + if (options.defaults) { + object.latLongRect = null; + object.cropHintsParams = null; + object.productSearchParams = null; + object.webDetectionParams = null; + } + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + object.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.toObject(message.productSearchParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.toObject(message.webDetectionParams, options); + return object; + }; + + /** + * Converts this ImageContext to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ImageContext + * @instance + * @returns {Object.} JSON object + */ + ImageContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageContext; + })(); + + v1.AnnotateImageRequest = (function() { + + /** + * Properties of an AnnotateImageRequest. + * @memberof google.cloud.vision.v1 + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + */ + + /** + * Constructs a new AnnotateImageRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest + * @constructor + * @param {google.cloud.vision.v1.IAnnotateImageRequest=} [properties] Properties to set + */ + function AnnotateImageRequest(properties) { + this.features = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.image = null; + + /** + * AnnotateImageRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateImageRequest imageContext. + * @member {google.cloud.vision.v1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.imageContext = null; + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest instance + */ + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); + }; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateImageRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.image = $root.google.cloud.vision.v1.Image.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1.Image.verify(message.image); + if (error) + return "image." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest + */ + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AnnotateImageRequest) + return object; + var message = new $root.google.cloud.vision.v1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1.Image.fromObject(object.image); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1.ImageContext.fromObject(object.imageContext); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1.AnnotateImageRequest} message AnnotateImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.image = null; + object.imageContext = null; + } + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1.Image.toObject(message.image, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1.ImageContext.toObject(message.imageContext, options); + return object; + }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageRequest; + })(); + + v1.ImageAnnotationContext = (function() { + + /** + * Properties of an ImageAnnotationContext. + * @memberof google.cloud.vision.v1 + * @interface IImageAnnotationContext + * @property {string|null} [uri] ImageAnnotationContext uri + * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber + */ + + /** + * Constructs a new ImageAnnotationContext. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImageAnnotationContext. + * @implements IImageAnnotationContext + * @constructor + * @param {google.cloud.vision.v1.IImageAnnotationContext=} [properties] Properties to set + */ + function ImageAnnotationContext(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]]; + } + + /** + * ImageAnnotationContext uri. + * @member {string} uri + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.uri = ""; + + /** + * ImageAnnotationContext pageNumber. + * @member {number} pageNumber + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.pageNumber = 0; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1.IImageAnnotationContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext instance + */ + ImageAnnotationContext.create = function create(properties) { + return new ImageAnnotationContext(properties); + }; + + /** + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1.ImageAnnotationContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageAnnotationContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); + return writer; + }; + + /** + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageAnnotationContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageAnnotationContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageAnnotationContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + case 2: + message.pageNumber = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageAnnotationContext message. + * @function verify + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageAnnotationContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (!$util.isInteger(message.pageNumber)) + return "pageNumber: integer expected"; + return null; + }; + + /** + * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext + */ + ImageAnnotationContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImageAnnotationContext) + return object; + var message = new $root.google.cloud.vision.v1.ImageAnnotationContext(); + if (object.uri != null) + message.uri = String(object.uri); + if (object.pageNumber != null) + message.pageNumber = object.pageNumber | 0; + return message; + }; + + /** + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1.ImageAnnotationContext} message ImageAnnotationContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageAnnotationContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.uri = ""; + object.pageNumber = 0; + } + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + object.pageNumber = message.pageNumber; + return object; + }; + + /** + * Converts this ImageAnnotationContext to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @instance + * @returns {Object.} JSON object + */ + ImageAnnotationContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageAnnotationContext; + })(); + + v1.AnnotateImageResponse = (function() { + + /** + * Properties of an AnnotateImageResponse. + * @memberof google.cloud.vision.v1 + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [localizedObjectAnnotations] AnnotateImageResponse localizedObjectAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.cloud.vision.v1.IProductSearchResults|null} [productSearchResults] AnnotateImageResponse productSearchResults + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + * @property {google.cloud.vision.v1.IImageAnnotationContext|null} [context] AnnotateImageResponse context + */ + + /** + * Constructs a new AnnotateImageResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse + * @constructor + * @param {google.cloud.vision.v1.IAnnotateImageResponse=} [properties] Properties to set + */ + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.localizedObjectAnnotations = []; + this.textAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse localizedObjectAnnotations. + * @member {Array.} localizedObjectAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.localizedObjectAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.fullTextAnnotation = null; + + /** + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.safeSearchAnnotation = null; + + /** + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; + + /** + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.cropHintsAnnotation = null; + + /** + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.webDetection = null; + + /** + * AnnotateImageResponse productSearchResults. + * @member {google.cloud.vision.v1.IProductSearchResults|null|undefined} productSearchResults + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.productSearchResults = null; + + /** + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.error = null; + + /** + * AnnotateImageResponse context. + * @member {google.cloud.vision.v1.IImageAnnotationContext|null|undefined} context + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.context = null; + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse instance + */ + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); + }; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + $root.google.cloud.vision.v1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.context != null && message.hasOwnProperty("context")) + $root.google.cloud.vision.v1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) + $root.google.cloud.vision.v1.LocalizedObjectAnnotation.encode(message.localizedObjectAnnotations[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateImageResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 22: + if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) + message.localizedObjectAnnotations = []; + message.localizedObjectAnnotations.push($root.google.cloud.vision.v1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1.WebDetection.decode(reader, reader.uint32()); + break; + case 14: + message.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.decode(reader, reader.uint32()); + break; + case 9: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 21: + message.context = $root.google.cloud.vision.v1.ImageAnnotationContext.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageResponse message. + * @function verify + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } + } + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.landmarkAnnotations[i]); + if (error) + return "landmarkAnnotations." + error; + } + } + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.localizedObjectAnnotations != null && message.hasOwnProperty("localizedObjectAnnotations")) { + if (!Array.isArray(message.localizedObjectAnnotations)) + return "localizedObjectAnnotations: array expected"; + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.LocalizedObjectAnnotation.verify(message.localizedObjectAnnotations[i]); + if (error) + return "localizedObjectAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; + } + } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1.TextAnnotation.verify(message.fullTextAnnotation); + if (error) + return "fullTextAnnotation." + error; + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); + if (error) + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) { + var error = $root.google.cloud.vision.v1.ProductSearchResults.verify(message.productSearchResults); + if (error) + return "productSearchResults." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.context != null && message.hasOwnProperty("context")) { + var error = $root.google.cloud.vision.v1.ImageAnnotationContext.verify(message.context); + if (error) + return "context." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse + */ + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AnnotateImageResponse) + return object; + var message = new $root.google.cloud.vision.v1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); + } + } + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.logoAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.localizedObjectAnnotations) { + if (!Array.isArray(object.localizedObjectAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.localizedObjectAnnotations: array expected"); + message.localizedObjectAnnotations = []; + for (var i = 0; i < object.localizedObjectAnnotations.length; ++i) { + if (typeof object.localizedObjectAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.localizedObjectAnnotations: object expected"); + message.localizedObjectAnnotations[i] = $root.google.cloud.vision.v1.LocalizedObjectAnnotation.fromObject(object.localizedObjectAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1.WebDetection.fromObject(object.webDetection); + } + if (object.productSearchResults != null) { + if (typeof object.productSearchResults !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.productSearchResults: object expected"); + message.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.fromObject(object.productSearchResults); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.context != null) { + if (typeof object.context !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.context: object expected"); + message.context = $root.google.cloud.vision.v1.ImageAnnotationContext.fromObject(object.context); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1.AnnotateImageResponse} message AnnotateImageResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; + object.localizedObjectAnnotations = []; + } + if (options.defaults) { + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; + object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; + object.productSearchResults = null; + object.context = null; + } + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1.WebDetection.toObject(message.webDetection, options); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + object.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.toObject(message.productSearchResults, options); + if (message.context != null && message.hasOwnProperty("context")) + object.context = $root.google.cloud.vision.v1.ImageAnnotationContext.toObject(message.context, options); + if (message.localizedObjectAnnotations && message.localizedObjectAnnotations.length) { + object.localizedObjectAnnotations = []; + for (var j = 0; j < message.localizedObjectAnnotations.length; ++j) + object.localizedObjectAnnotations[j] = $root.google.cloud.vision.v1.LocalizedObjectAnnotation.toObject(message.localizedObjectAnnotations[j], options); + } + return object; + }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageResponse; + })(); + + v1.BatchAnnotateImagesRequest = (function() { + + /** + * Properties of a BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1 + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + * @property {string|null} [parent] BatchAnnotateImagesRequest parent + */ + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest + * @constructor + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest=} [properties] Properties to set + */ + function BatchAnnotateImagesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @instance + */ + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + + /** + * BatchAnnotateImagesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @instance + */ + BatchAnnotateImagesRequest.prototype.parent = ""; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + */ + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateImagesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + case 4: + message.parent = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + return null; + }; + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + */ + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1.BatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1.AnnotateImageRequest.fromObject(object.requests[i]); + } + } + if (object.parent != null) + message.parent = String(object.parent); + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (options.defaults) + object.parent = ""; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1.AnnotateImageRequest.toObject(message.requests[j], options); + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + return object; + }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesRequest; + })(); + + v1.BatchAnnotateImagesResponse = (function() { + + /** + * Properties of a BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1 + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + */ + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse + * @constructor + * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse=} [properties] Properties to set + */ + function BatchAnnotateImagesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @instance + */ + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + */ + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + */ + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1.BatchAnnotateImagesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1.AnnotateImageResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesResponse; + })(); + + v1.AnnotateFileRequest = (function() { + + /** + * Properties of an AnnotateFileRequest. + * @memberof google.cloud.vision.v1 + * @interface IAnnotateFileRequest + * @property {google.cloud.vision.v1.IInputConfig|null} [inputConfig] AnnotateFileRequest inputConfig + * @property {Array.|null} [features] AnnotateFileRequest features + * @property {google.cloud.vision.v1.IImageContext|null} [imageContext] AnnotateFileRequest imageContext + * @property {Array.|null} [pages] AnnotateFileRequest pages + */ + + /** + * Constructs a new AnnotateFileRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AnnotateFileRequest. + * @implements IAnnotateFileRequest + * @constructor + * @param {google.cloud.vision.v1.IAnnotateFileRequest=} [properties] Properties to set + */ + function AnnotateFileRequest(properties) { + this.features = []; + this.pages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.inputConfig = null; + + /** + * AnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.imageContext = null; + + /** + * AnnotateFileRequest pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.pages = $util.emptyArray; + + /** + * Creates a new AnnotateFileRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @static + * @param {google.cloud.vision.v1.IAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest instance + */ + AnnotateFileRequest.create = function create(properties) { + return new AnnotateFileRequest(properties); + }; + + /** + * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @static + * @param {google.cloud.vision.v1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.pages != null && message.pages.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.pages.length; ++i) + writer.int32(message.pages[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @static + * @param {google.cloud.vision.v1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateFileRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateFileRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.pages && message.pages.length)) + message.pages = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.pages.push(reader.int32()); + } else + message.pages.push(reader.int32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateFileRequest message. + * @function verify + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateFileRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) + if (!$util.isInteger(message.pages[i])) + return "pages: integer[] expected"; + } + return null; + }; + + /** + * Creates an AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest + */ + AnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AnnotateFileRequest) + return object; + var message = new $root.google.cloud.vision.v1.AnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1.ImageContext.fromObject(object.imageContext); + } + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) + message.pages[i] = object.pages[i] | 0; + } + return message; + }; + + /** + * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @static + * @param {google.cloud.vision.v1.AnnotateFileRequest} message AnnotateFileRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateFileRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.features = []; + object.pages = []; + } + if (options.defaults) { + object.inputConfig = null; + object.imageContext = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1.ImageContext.toObject(message.imageContext, options); + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = message.pages[j]; + } + return object; + }; + + /** + * Converts this AnnotateFileRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateFileRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateFileRequest; + })(); + + v1.AnnotateFileResponse = (function() { + + /** + * Properties of an AnnotateFileResponse. + * @memberof google.cloud.vision.v1 + * @interface IAnnotateFileResponse + * @property {google.cloud.vision.v1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig + * @property {Array.|null} [responses] AnnotateFileResponse responses + * @property {number|null} [totalPages] AnnotateFileResponse totalPages + * @property {google.rpc.IStatus|null} [error] AnnotateFileResponse error + */ + + /** + * Constructs a new AnnotateFileResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AnnotateFileResponse. + * @implements IAnnotateFileResponse + * @constructor + * @param {google.cloud.vision.v1.IAnnotateFileResponse=} [properties] Properties to set + */ + function AnnotateFileResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateFileResponse inputConfig. + * @member {google.cloud.vision.v1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.inputConfig = null; + + /** + * AnnotateFileResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.responses = $util.emptyArray; + + /** + * AnnotateFileResponse totalPages. + * @member {number} totalPages + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.totalPages = 0; + + /** + * AnnotateFileResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.error = null; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1.IAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse instance + */ + AnnotateFileResponse.create = function create(properties) { + return new AnnotateFileResponse(properties); + }; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateFileResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + case 3: + message.totalPages = reader.int32(); + break; + case 4: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateFileResponse message. + * @function verify + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateFileResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + if (!$util.isInteger(message.totalPages)) + return "totalPages: integer expected"; + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + return null; + }; + + /** + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse + */ + AnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AnnotateFileResponse) + return object; + var message = new $root.google.cloud.vision.v1.AnnotateFileResponse(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.fromObject(object.inputConfig); + } + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + if (object.totalPages != null) + message.totalPages = object.totalPages | 0; + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1.AnnotateFileResponse} message AnnotateFileResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateFileResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (options.defaults) { + object.inputConfig = null; + object.totalPages = 0; + object.error = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1.InputConfig.toObject(message.inputConfig, options); + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1.AnnotateImageResponse.toObject(message.responses[j], options); + } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + object.totalPages = message.totalPages; + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + return object; + }; + + /** + * Converts this AnnotateFileResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateFileResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateFileResponse; + })(); + + v1.BatchAnnotateFilesRequest = (function() { + + /** + * Properties of a BatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1 + * @interface IBatchAnnotateFilesRequest + * @property {Array.|null} [requests] BatchAnnotateFilesRequest requests + * @property {string|null} [parent] BatchAnnotateFilesRequest parent + */ + + /** + * Constructs a new BatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a BatchAnnotateFilesRequest. + * @implements IBatchAnnotateFilesRequest + * @constructor + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest=} [properties] Properties to set + */ + function BatchAnnotateFilesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @instance + */ + BatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + + /** + * BatchAnnotateFilesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @instance + */ + BatchAnnotateFilesRequest.prototype.parent = ""; + + /** + * Creates a new BatchAnnotateFilesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest instance + */ + BatchAnnotateFilesRequest.create = function create(properties) { + return new BatchAnnotateFilesRequest(properties); + }; + + /** + * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.parent); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateFilesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AnnotateFileRequest.decode(reader, reader.uint32())); + break; + case 3: + message.parent = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateFilesRequest message. + * @function verify + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateFilesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1.AnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + return null; + }; + + /** + * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + */ + BatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateFilesRequest) + return object; + var message = new $root.google.cloud.vision.v1.BatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1.AnnotateFileRequest.fromObject(object.requests[i]); + } + } + if (object.parent != null) + message.parent = String(object.parent); + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1.BatchAnnotateFilesRequest} message BatchAnnotateFilesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateFilesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (options.defaults) + object.parent = ""; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1.AnnotateFileRequest.toObject(message.requests[j], options); + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + return object; + }; + + /** + * Converts this BatchAnnotateFilesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateFilesRequest; + })(); + + v1.BatchAnnotateFilesResponse = (function() { + + /** + * Properties of a BatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1 + * @interface IBatchAnnotateFilesResponse + * @property {Array.|null} [responses] BatchAnnotateFilesResponse responses + */ + + /** + * Constructs a new BatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a BatchAnnotateFilesResponse. + * @implements IBatchAnnotateFilesResponse + * @constructor + * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse=} [properties] Properties to set + */ + function BatchAnnotateFilesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @instance + */ + BatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new BatchAnnotateFilesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse instance + */ + BatchAnnotateFilesResponse.create = function create(properties) { + return new BatchAnnotateFilesResponse(properties); + }; + + /** + * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1.AnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateFilesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AnnotateFileResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateFilesResponse message. + * @function verify + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateFilesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1.AnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + */ + BatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateFilesResponse) + return object; + var message = new $root.google.cloud.vision.v1.BatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1.AnnotateFileResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1.BatchAnnotateFilesResponse} message BatchAnnotateFilesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateFilesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1.AnnotateFileResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateFilesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateFilesResponse; + })(); + + v1.AsyncAnnotateFileRequest = (function() { + + /** + * Properties of an AsyncAnnotateFileRequest. + * @memberof google.cloud.vision.v1 + * @interface IAsyncAnnotateFileRequest + * @property {google.cloud.vision.v1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig + * @property {Array.|null} [features] AsyncAnnotateFileRequest features + * @property {google.cloud.vision.v1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext + * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig + */ + + /** + * Constructs a new AsyncAnnotateFileRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AsyncAnnotateFileRequest. + * @implements IAsyncAnnotateFileRequest + * @constructor + * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest=} [properties] Properties to set + */ + function AsyncAnnotateFileRequest(properties) { + this.features = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncAnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.inputConfig = null; + + /** + * AsyncAnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; + + /** + * AsyncAnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.imageContext = null; + + /** + * AsyncAnnotateFileRequest outputConfig. + * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance + */ + AsyncAnnotateFileRequest.create = function create(properties) { + return new AsyncAnnotateFileRequest(properties); + }; + + /** + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncAnnotateFileRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncAnnotateFileRequest message. + * @function verify + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncAnnotateFileRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + */ + AsyncAnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncAnnotateFileRequest) + return object; + var message = new $root.google.cloud.vision.v1.AsyncAnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1.ImageContext.fromObject(object.imageContext); + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncAnnotateFileRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputConfig = null; + object.imageContext = null; + object.outputConfig = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1.ImageContext.toObject(message.imageContext, options); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncAnnotateFileRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncAnnotateFileRequest; + })(); + + v1.AsyncAnnotateFileResponse = (function() { + + /** + * Properties of an AsyncAnnotateFileResponse. + * @memberof google.cloud.vision.v1 + * @interface IAsyncAnnotateFileResponse + * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig + */ + + /** + * Constructs a new AsyncAnnotateFileResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AsyncAnnotateFileResponse. + * @implements IAsyncAnnotateFileResponse + * @constructor + * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse=} [properties] Properties to set + */ + function AsyncAnnotateFileResponse(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]]; + } + + /** + * AsyncAnnotateFileResponse outputConfig. + * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @instance + */ + AsyncAnnotateFileResponse.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance + */ + AsyncAnnotateFileResponse.create = function create(properties) { + return new AsyncAnnotateFileResponse(properties); + }; + + /** + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncAnnotateFileResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncAnnotateFileResponse message. + * @function verify + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncAnnotateFileResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + */ + AsyncAnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncAnnotateFileResponse) + return object; + var message = new $root.google.cloud.vision.v1.AsyncAnnotateFileResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncAnnotateFileResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncAnnotateFileResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncAnnotateFileResponse; + })(); + + v1.AsyncBatchAnnotateImagesRequest = (function() { + + /** + * Properties of an AsyncBatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1 + * @interface IAsyncBatchAnnotateImagesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateImagesRequest requests + * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesRequest outputConfig + * @property {string|null} [parent] AsyncBatchAnnotateImagesRequest parent + */ + + /** + * Constructs a new AsyncBatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AsyncBatchAnnotateImagesRequest. + * @implements IAsyncBatchAnnotateImagesRequest + * @constructor + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set + */ + function AsyncBatchAnnotateImagesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @instance + */ + AsyncBatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + + /** + * AsyncBatchAnnotateImagesRequest outputConfig. + * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @instance + */ + AsyncBatchAnnotateImagesRequest.prototype.outputConfig = null; + + /** + * AsyncBatchAnnotateImagesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @instance + */ + AsyncBatchAnnotateImagesRequest.prototype.parent = ""; + + /** + * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest instance + */ + AsyncBatchAnnotateImagesRequest.create = function create(properties) { + return new AsyncBatchAnnotateImagesRequest(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + case 2: + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + break; + case 4: + message.parent = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateImagesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + return null; + }; + + /** + * Creates an AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + */ + AsyncBatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1.AnnotateImageRequest.fromObject(object.requests[i]); + } + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); + } + if (object.parent != null) + message.parent = String(object.parent); + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateImagesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (options.defaults) { + object.outputConfig = null; + object.parent = ""; + } + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1.AnnotateImageRequest.toObject(message.requests[j], options); + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + return object; + }; + + /** + * Converts this AsyncBatchAnnotateImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateImagesRequest; + })(); + + v1.AsyncBatchAnnotateImagesResponse = (function() { + + /** + * Properties of an AsyncBatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1 + * @interface IAsyncBatchAnnotateImagesResponse + * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesResponse outputConfig + */ + + /** + * Constructs a new AsyncBatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AsyncBatchAnnotateImagesResponse. + * @implements IAsyncBatchAnnotateImagesResponse + * @constructor + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set + */ + function AsyncBatchAnnotateImagesResponse(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]]; + } + + /** + * AsyncBatchAnnotateImagesResponse outputConfig. + * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @instance + */ + AsyncBatchAnnotateImagesResponse.prototype.outputConfig = null; + + /** + * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse instance + */ + AsyncBatchAnnotateImagesResponse.create = function create(properties) { + return new AsyncBatchAnnotateImagesResponse(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + */ + AsyncBatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncBatchAnnotateImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateImagesResponse; + })(); + + v1.AsyncBatchAnnotateFilesRequest = (function() { + + /** + * Properties of an AsyncBatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1 + * @interface IAsyncBatchAnnotateFilesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests + * @property {string|null} [parent] AsyncBatchAnnotateFilesRequest parent + */ + + /** + * Constructs a new AsyncBatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AsyncBatchAnnotateFilesRequest. + * @implements IAsyncBatchAnnotateFilesRequest + * @constructor + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + */ + function AsyncBatchAnnotateFilesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @instance + */ + AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + + /** + * AsyncBatchAnnotateFilesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @instance + */ + AsyncBatchAnnotateFilesRequest.prototype.parent = ""; + + /** + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance + */ + AsyncBatchAnnotateFilesRequest.create = function create(properties) { + return new AsyncBatchAnnotateFilesRequest(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + break; + case 4: + message.parent = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateFilesRequest message. + * @function verify + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateFilesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + return null; + }; + + /** + * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + */ + AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest) + return object; + var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + } + } + if (object.parent != null) + message.parent = String(object.parent); + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (options.defaults) + object.parent = ""; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + return object; + }; + + /** + * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateFilesRequest; + })(); + + v1.AsyncBatchAnnotateFilesResponse = (function() { + + /** + * Properties of an AsyncBatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1 + * @interface IAsyncBatchAnnotateFilesResponse + * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses + */ + + /** + * Constructs a new AsyncBatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AsyncBatchAnnotateFilesResponse. + * @implements IAsyncBatchAnnotateFilesResponse + * @constructor + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + */ + function AsyncBatchAnnotateFilesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @instance + */ + AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance + */ + AsyncBatchAnnotateFilesResponse.create = function create(properties) { + return new AsyncBatchAnnotateFilesResponse(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateFilesResponse message. + * @function verify + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateFilesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + */ + AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse) + return object; + var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateFilesResponse; + })(); + + v1.InputConfig = (function() { + + /** + * Properties of an InputConfig. + * @memberof google.cloud.vision.v1 + * @interface IInputConfig + * @property {google.cloud.vision.v1.IGcsSource|null} [gcsSource] InputConfig gcsSource + * @property {Uint8Array|null} [content] InputConfig content + * @property {string|null} [mimeType] InputConfig mimeType + */ + + /** + * Constructs a new InputConfig. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an InputConfig. + * @implements IInputConfig + * @constructor + * @param {google.cloud.vision.v1.IInputConfig=} [properties] Properties to set + */ + function InputConfig(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]]; + } + + /** + * InputConfig gcsSource. + * @member {google.cloud.vision.v1.IGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1.InputConfig + * @instance + */ + InputConfig.prototype.gcsSource = null; + + /** + * InputConfig content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1.InputConfig + * @instance + */ + InputConfig.prototype.content = $util.newBuffer([]); + + /** + * InputConfig mimeType. + * @member {string} mimeType + * @memberof google.cloud.vision.v1.InputConfig + * @instance + */ + InputConfig.prototype.mimeType = ""; + + /** + * Creates a new InputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.InputConfig + * @static + * @param {google.cloud.vision.v1.IInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1.InputConfig} InputConfig instance + */ + InputConfig.create = function create(properties) { + return new InputConfig(properties); + }; + + /** + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1.InputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.InputConfig + * @static + * @param {google.cloud.vision.v1.IInputConfig} message InputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); + return writer; + }; + + /** + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.InputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.InputConfig + * @static + * @param {google.cloud.vision.v1.IInputConfig} message InputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an InputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.InputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.InputConfig} InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.InputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsSource = $root.google.cloud.vision.v1.GcsSource.decode(reader, reader.uint32()); + break; + case 3: + message.content = reader.bytes(); + break; + case 2: + message.mimeType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.InputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.InputConfig} InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an InputConfig message. + * @function verify + * @memberof google.cloud.vision.v1.InputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + InputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + var error = $root.google.cloud.vision.v1.GcsSource.verify(message.gcsSource); + if (error) + return "gcsSource." + error; + } + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (!$util.isString(message.mimeType)) + return "mimeType: string expected"; + return null; + }; + + /** + * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.InputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.InputConfig} InputConfig + */ + InputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.InputConfig) + return object; + var message = new $root.google.cloud.vision.v1.InputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1.InputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1.GcsSource.fromObject(object.gcsSource); + } + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.mimeType != null) + message.mimeType = String(object.mimeType); + return message; + }; + + /** + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.InputConfig + * @static + * @param {google.cloud.vision.v1.InputConfig} message InputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + InputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsSource = null; + object.mimeType = ""; + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + } + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + object.gcsSource = $root.google.cloud.vision.v1.GcsSource.toObject(message.gcsSource, options); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + object.mimeType = message.mimeType; + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + return object; + }; + + /** + * Converts this InputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.InputConfig + * @instance + * @returns {Object.} JSON object + */ + InputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return InputConfig; + })(); + + v1.OutputConfig = (function() { + + /** + * Properties of an OutputConfig. + * @memberof google.cloud.vision.v1 + * @interface IOutputConfig + * @property {google.cloud.vision.v1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination + * @property {number|null} [batchSize] OutputConfig batchSize + */ + + /** + * Constructs a new OutputConfig. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an OutputConfig. + * @implements IOutputConfig + * @constructor + * @param {google.cloud.vision.v1.IOutputConfig=} [properties] Properties to set + */ + function OutputConfig(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]]; + } + + /** + * OutputConfig gcsDestination. + * @member {google.cloud.vision.v1.IGcsDestination|null|undefined} gcsDestination + * @memberof google.cloud.vision.v1.OutputConfig + * @instance + */ + OutputConfig.prototype.gcsDestination = null; + + /** + * OutputConfig batchSize. + * @member {number} batchSize + * @memberof google.cloud.vision.v1.OutputConfig + * @instance + */ + OutputConfig.prototype.batchSize = 0; + + /** + * Creates a new OutputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.OutputConfig + * @static + * @param {google.cloud.vision.v1.IOutputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig instance + */ + OutputConfig.create = function create(properties) { + return new OutputConfig(properties); + }; + + /** + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1.OutputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.OutputConfig + * @static + * @param {google.cloud.vision.v1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OutputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + $root.google.cloud.vision.v1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); + return writer; + }; + + /** + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.OutputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.OutputConfig + * @static + * @param {google.cloud.vision.v1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OutputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.OutputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OutputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.OutputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.decode(reader, reader.uint32()); + break; + case 2: + message.batchSize = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.OutputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OutputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OutputConfig message. + * @function verify + * @memberof google.cloud.vision.v1.OutputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OutputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { + var error = $root.google.cloud.vision.v1.GcsDestination.verify(message.gcsDestination); + if (error) + return "gcsDestination." + error; + } + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (!$util.isInteger(message.batchSize)) + return "batchSize: integer expected"; + return null; + }; + + /** + * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.OutputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig + */ + OutputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.OutputConfig) + return object; + var message = new $root.google.cloud.vision.v1.OutputConfig(); + if (object.gcsDestination != null) { + if (typeof object.gcsDestination !== "object") + throw TypeError(".google.cloud.vision.v1.OutputConfig.gcsDestination: object expected"); + message.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.fromObject(object.gcsDestination); + } + if (object.batchSize != null) + message.batchSize = object.batchSize | 0; + return message; + }; + + /** + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.OutputConfig + * @static + * @param {google.cloud.vision.v1.OutputConfig} message OutputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OutputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsDestination = null; + object.batchSize = 0; + } + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + object.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.toObject(message.gcsDestination, options); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + object.batchSize = message.batchSize; + return object; + }; + + /** + * Converts this OutputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.OutputConfig + * @instance + * @returns {Object.} JSON object + */ + OutputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OutputConfig; + })(); + + v1.GcsSource = (function() { + + /** + * Properties of a GcsSource. + * @memberof google.cloud.vision.v1 + * @interface IGcsSource + * @property {string|null} [uri] GcsSource uri + */ + + /** + * Constructs a new GcsSource. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a GcsSource. + * @implements IGcsSource + * @constructor + * @param {google.cloud.vision.v1.IGcsSource=} [properties] Properties to set + */ + function GcsSource(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]]; + } + + /** + * GcsSource uri. + * @member {string} uri + * @memberof google.cloud.vision.v1.GcsSource + * @instance + */ + GcsSource.prototype.uri = ""; + + /** + * Creates a new GcsSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.GcsSource + * @static + * @param {google.cloud.vision.v1.IGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1.GcsSource} GcsSource instance + */ + GcsSource.create = function create(properties) { + return new GcsSource(properties); + }; + + /** + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1.GcsSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.GcsSource + * @static + * @param {google.cloud.vision.v1.IGcsSource} message GcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + return writer; + }; + + /** + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GcsSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.GcsSource + * @static + * @param {google.cloud.vision.v1.IGcsSource} message GcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GcsSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.GcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.GcsSource} GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.GcsSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.GcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.GcsSource} GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GcsSource message. + * @function verify + * @memberof google.cloud.vision.v1.GcsSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GcsSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + return null; + }; + + /** + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.GcsSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.GcsSource} GcsSource + */ + GcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.GcsSource) + return object; + var message = new $root.google.cloud.vision.v1.GcsSource(); + if (object.uri != null) + message.uri = String(object.uri); + return message; + }; + + /** + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.GcsSource + * @static + * @param {google.cloud.vision.v1.GcsSource} message GcsSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GcsSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + return object; + }; + + /** + * Converts this GcsSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.GcsSource + * @instance + * @returns {Object.} JSON object + */ + GcsSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GcsSource; + })(); + + v1.GcsDestination = (function() { + + /** + * Properties of a GcsDestination. + * @memberof google.cloud.vision.v1 + * @interface IGcsDestination + * @property {string|null} [uri] GcsDestination uri + */ + + /** + * Constructs a new GcsDestination. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a GcsDestination. + * @implements IGcsDestination + * @constructor + * @param {google.cloud.vision.v1.IGcsDestination=} [properties] Properties to set + */ + function GcsDestination(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]]; + } + + /** + * GcsDestination uri. + * @member {string} uri + * @memberof google.cloud.vision.v1.GcsDestination + * @instance + */ + GcsDestination.prototype.uri = ""; + + /** + * Creates a new GcsDestination instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.GcsDestination + * @static + * @param {google.cloud.vision.v1.IGcsDestination=} [properties] Properties to set + * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination instance + */ + GcsDestination.create = function create(properties) { + return new GcsDestination(properties); + }; + + /** + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1.GcsDestination.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.GcsDestination + * @static + * @param {google.cloud.vision.v1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + return writer; + }; + + /** + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GcsDestination.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.GcsDestination + * @static + * @param {google.cloud.vision.v1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GcsDestination message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.GcsDestination(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GcsDestination message. + * @function verify + * @memberof google.cloud.vision.v1.GcsDestination + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GcsDestination.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + return null; + }; + + /** + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.GcsDestination + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination + */ + GcsDestination.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.GcsDestination) + return object; + var message = new $root.google.cloud.vision.v1.GcsDestination(); + if (object.uri != null) + message.uri = String(object.uri); + return message; + }; + + /** + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.GcsDestination + * @static + * @param {google.cloud.vision.v1.GcsDestination} message GcsDestination + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GcsDestination.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + return object; + }; + + /** + * Converts this GcsDestination to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.GcsDestination + * @instance + * @returns {Object.} JSON object + */ + GcsDestination.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GcsDestination; + })(); + + v1.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.cloud.vision.v1 + * @interface IOperationMetadata + * @property {google.cloud.vision.v1.OperationMetadata.State|null} [state] OperationMetadata state + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime + */ + + /** + * Constructs a new OperationMetadata. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.cloud.vision.v1.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(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]]; + } + + /** + * OperationMetadata state. + * @member {google.cloud.vision.v1.OperationMetadata.State} state + * @memberof google.cloud.vision.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.state = 0; + + /** + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.vision.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.createTime = null; + + /** + * OperationMetadata updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.vision.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.updateTime = null; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.OperationMetadata + * @static + * @param {google.cloud.vision.v1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.OperationMetadata + * @static + * @param {google.cloud.vision.v1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.createTime != null && message.hasOwnProperty("createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.OperationMetadata + * @static + * @param {google.cloud.vision.v1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.OperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.state = reader.int32(); + break; + case 5: + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationMetadata message. + * @function verify + * @memberof google.cloud.vision.v1.OperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.updateTime != null && message.hasOwnProperty("updateTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (error) + return "updateTime." + error; + } + return null; + }; + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.OperationMetadata) + return object; + var message = new $root.google.cloud.vision.v1.OperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "CREATED": + case 1: + message.state = 1; + break; + case "RUNNING": + case 2: + message.state = 2; + break; + case "DONE": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.vision.v1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.vision.v1.OperationMetadata.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + return message; + }; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.OperationMetadata + * @static + * @param {google.cloud.vision.v1.OperationMetadata} message OperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.createTime = null; + object.updateTime = null; + } + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1.OperationMetadata.State[message.state] : message.state; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + return object; + }; + + /** + * Converts this OperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.OperationMetadata + * @instance + * @returns {Object.} JSON object + */ + OperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * State enum. + * @name google.cloud.vision.v1.OperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} CREATED=1 CREATED value + * @property {number} RUNNING=2 RUNNING value + * @property {number} DONE=3 DONE value + * @property {number} CANCELLED=4 CANCELLED value + */ + OperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CREATED"] = 1; + values[valuesById[2] = "RUNNING"] = 2; + values[valuesById[3] = "DONE"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return OperationMetadata; + })(); + + v1.Vertex = (function() { + + /** + * Properties of a Vertex. + * @memberof google.cloud.vision.v1 + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y + */ + + /** + * Constructs a new Vertex. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Vertex. + * @implements IVertex + * @constructor + * @param {google.cloud.vision.v1.IVertex=} [properties] Properties to set + */ + function Vertex(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]]; + } + + /** + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1.Vertex + * @instance + */ + Vertex.prototype.x = 0; + + /** + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1.Vertex + * @instance + */ + Vertex.prototype.y = 0; + + /** + * Creates a new Vertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Vertex + * @static + * @param {google.cloud.vision.v1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Vertex} Vertex instance + */ + Vertex.create = function create(properties) { + return new Vertex(properties); + }; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Vertex + * @static + * @param {google.cloud.vision.v1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + return writer; + }; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Vertex + * @static + * @param {google.cloud.vision.v1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Vertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.int32(); + break; + case 2: + message.y = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Vertex message. + * @function verify + * @memberof google.cloud.vision.v1.Vertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Vertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; + return null; + }; + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Vertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Vertex} Vertex + */ + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Vertex) + return object; + var message = new $root.google.cloud.vision.v1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; + return message; + }; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Vertex + * @static + * @param {google.cloud.vision.v1.Vertex} message Vertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Vertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; + return object; + }; + + /** + * Converts this Vertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Vertex + * @instance + * @returns {Object.} JSON object + */ + Vertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Vertex; + })(); + + v1.NormalizedVertex = (function() { + + /** + * Properties of a NormalizedVertex. + * @memberof google.cloud.vision.v1 + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y + */ + + /** + * Constructs a new NormalizedVertex. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex + * @constructor + * @param {google.cloud.vision.v1.INormalizedVertex=} [properties] Properties to set + */ + function NormalizedVertex(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]]; + } + + /** + * NormalizedVertex x. + * @member {number} x + * @memberof google.cloud.vision.v1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.x = 0; + + /** + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.vision.v1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.y = 0; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex instance + */ + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); + }; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedVertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + return writer; + }; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedVertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.NormalizedVertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedVertex message. + * @function verify + * @memberof google.cloud.vision.v1.NormalizedVertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedVertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + return null; + }; + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.NormalizedVertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex + */ + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.NormalizedVertex) + return object; + var message = new $root.google.cloud.vision.v1.NormalizedVertex(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + return message; + }; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1.NormalizedVertex} message NormalizedVertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedVertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + return object; + }; + + /** + * Converts this NormalizedVertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.NormalizedVertex + * @instance + * @returns {Object.} JSON object + */ + NormalizedVertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedVertex; + })(); + + v1.BoundingPoly = (function() { + + /** + * Properties of a BoundingPoly. + * @memberof google.cloud.vision.v1 + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices + */ + + /** + * Constructs a new BoundingPoly. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly + * @constructor + * @param {google.cloud.vision.v1.IBoundingPoly=} [properties] Properties to set + */ + function BoundingPoly(properties) { + this.vertices = []; + this.normalizedVertices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1.BoundingPoly + * @instance + */ + BoundingPoly.prototype.vertices = $util.emptyArray; + + /** + * BoundingPoly normalizedVertices. + * @member {Array.} normalizedVertices + * @memberof google.cloud.vision.v1.BoundingPoly + * @instance + */ + BoundingPoly.prototype.normalizedVertices = $util.emptyArray; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.BoundingPoly + * @static + * @param {google.cloud.vision.v1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly instance + */ + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); + }; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.BoundingPoly + * @static + * @param {google.cloud.vision.v1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.normalizedVertices != null && message.normalizedVertices.length) + for (var i = 0; i < message.normalizedVertices.length; ++i) + $root.google.cloud.vision.v1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.BoundingPoly + * @static + * @param {google.cloud.vision.v1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BoundingPoly(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1.Vertex.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1.NormalizedVertex.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoundingPoly message. + * @function verify + * @memberof google.cloud.vision.v1.BoundingPoly + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoundingPoly.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1.Vertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } + if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { + if (!Array.isArray(message.normalizedVertices)) + return "normalizedVertices: array expected"; + for (var i = 0; i < message.normalizedVertices.length; ++i) { + var error = $root.google.cloud.vision.v1.NormalizedVertex.verify(message.normalizedVertices[i]); + if (error) + return "normalizedVertices." + error; + } + } + return null; + }; + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.BoundingPoly + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly + */ + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BoundingPoly) + return object; + var message = new $root.google.cloud.vision.v1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1.Vertex.fromObject(object.vertices[i]); + } + } + if (object.normalizedVertices) { + if (!Array.isArray(object.normalizedVertices)) + throw TypeError(".google.cloud.vision.v1.BoundingPoly.normalizedVertices: array expected"); + message.normalizedVertices = []; + for (var i = 0; i < object.normalizedVertices.length; ++i) { + if (typeof object.normalizedVertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1.BoundingPoly.normalizedVertices: object expected"); + message.normalizedVertices[i] = $root.google.cloud.vision.v1.NormalizedVertex.fromObject(object.normalizedVertices[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.BoundingPoly + * @static + * @param {google.cloud.vision.v1.BoundingPoly} message BoundingPoly + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoundingPoly.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.vertices = []; + object.normalizedVertices = []; + } + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1.Vertex.toObject(message.vertices[j], options); + } + if (message.normalizedVertices && message.normalizedVertices.length) { + object.normalizedVertices = []; + for (var j = 0; j < message.normalizedVertices.length; ++j) + object.normalizedVertices[j] = $root.google.cloud.vision.v1.NormalizedVertex.toObject(message.normalizedVertices[j], options); + } + return object; + }; + + /** + * Converts this BoundingPoly to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.BoundingPoly + * @instance + * @returns {Object.} JSON object + */ + BoundingPoly.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoundingPoly; + })(); + + v1.Position = (function() { + + /** + * Properties of a Position. + * @memberof google.cloud.vision.v1 + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z + */ + + /** + * Constructs a new Position. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Position. + * @implements IPosition + * @constructor + * @param {google.cloud.vision.v1.IPosition=} [properties] Properties to set + */ + function Position(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]]; + } + + /** + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1.Position + * @instance + */ + Position.prototype.x = 0; + + /** + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1.Position + * @instance + */ + Position.prototype.y = 0; + + /** + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1.Position + * @instance + */ + Position.prototype.z = 0; + + /** + * Creates a new Position instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Position + * @static + * @param {google.cloud.vision.v1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Position} Position instance + */ + Position.create = function create(properties) { + return new Position(properties); + }; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Position + * @static + * @param {google.cloud.vision.v1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + return writer; + }; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Position + * @static + * @param {google.cloud.vision.v1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Position message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Position(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + case 3: + message.z = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Position message. + * @function verify + * @memberof google.cloud.vision.v1.Position + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Position.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; + return null; + }; + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Position + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Position} Position + */ + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Position) + return object; + var message = new $root.google.cloud.vision.v1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); + return message; + }; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Position + * @static + * @param {google.cloud.vision.v1.Position} message Position + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Position.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + object.z = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + return object; + }; + + /** + * Converts this Position to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Position + * @instance + * @returns {Object.} JSON object + */ + Position.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Position; + })(); + + v1.ProductSearchParams = (function() { + + /** + * Properties of a ProductSearchParams. + * @memberof google.cloud.vision.v1 + * @interface IProductSearchParams + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] ProductSearchParams boundingPoly + * @property {string|null} [productSet] ProductSearchParams productSet + * @property {Array.|null} [productCategories] ProductSearchParams productCategories + * @property {string|null} [filter] ProductSearchParams filter + */ + + /** + * Constructs a new ProductSearchParams. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ProductSearchParams. + * @implements IProductSearchParams + * @constructor + * @param {google.cloud.vision.v1.IProductSearchParams=} [properties] Properties to set + */ + function ProductSearchParams(properties) { + this.productCategories = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductSearchParams boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.boundingPoly = null; + + /** + * ProductSearchParams productSet. + * @member {string} productSet + * @memberof google.cloud.vision.v1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.productSet = ""; + + /** + * ProductSearchParams productCategories. + * @member {Array.} productCategories + * @memberof google.cloud.vision.v1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.productCategories = $util.emptyArray; + + /** + * ProductSearchParams filter. + * @member {string} filter + * @memberof google.cloud.vision.v1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.filter = ""; + + /** + * Creates a new ProductSearchParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1.IProductSearchParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ProductSearchParams} ProductSearchParams instance + */ + ProductSearchParams.create = function create(properties) { + return new ProductSearchParams(properties); + }; + + /** + * Encodes the specified ProductSearchParams message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSet != null && message.hasOwnProperty("productSet")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); + if (message.productCategories != null && message.productCategories.length) + for (var i = 0; i < message.productCategories.length; ++i) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); + if (message.filter != null && message.hasOwnProperty("filter")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSearchParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ProductSearchParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ProductSearchParams} ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ProductSearchParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 9: + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 6: + message.productSet = reader.string(); + break; + case 7: + if (!(message.productCategories && message.productCategories.length)) + message.productCategories = []; + message.productCategories.push(reader.string()); + break; + case 8: + message.filter = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ProductSearchParams} ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSearchParams message. + * @function verify + * @memberof google.cloud.vision.v1.ProductSearchParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSearchParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + if (!$util.isString(message.productSet)) + return "productSet: string expected"; + if (message.productCategories != null && message.hasOwnProperty("productCategories")) { + if (!Array.isArray(message.productCategories)) + return "productCategories: array expected"; + for (var i = 0; i < message.productCategories.length; ++i) + if (!$util.isString(message.productCategories[i])) + return "productCategories: string[] expected"; + } + if (message.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: string expected"; + return null; + }; + + /** + * Creates a ProductSearchParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ProductSearchParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ProductSearchParams} ProductSearchParams + */ + ProductSearchParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ProductSearchParams) + return object; + var message = new $root.google.cloud.vision.v1.ProductSearchParams(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSearchParams.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.productSet != null) + message.productSet = String(object.productSet); + if (object.productCategories) { + if (!Array.isArray(object.productCategories)) + throw TypeError(".google.cloud.vision.v1.ProductSearchParams.productCategories: array expected"); + message.productCategories = []; + for (var i = 0; i < object.productCategories.length; ++i) + message.productCategories[i] = String(object.productCategories[i]); + } + if (object.filter != null) + message.filter = String(object.filter); + return message; + }; + + /** + * Creates a plain object from a ProductSearchParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1.ProductSearchParams} message ProductSearchParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSearchParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productCategories = []; + if (options.defaults) { + object.productSet = ""; + object.filter = ""; + object.boundingPoly = null; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = message.productSet; + if (message.productCategories && message.productCategories.length) { + object.productCategories = []; + for (var j = 0; j < message.productCategories.length; ++j) + object.productCategories[j] = message.productCategories[j]; + } + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); + return object; + }; + + /** + * Converts this ProductSearchParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ProductSearchParams + * @instance + * @returns {Object.} JSON object + */ + ProductSearchParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProductSearchParams; + })(); + + v1.ProductSearchResults = (function() { + + /** + * Properties of a ProductSearchResults. + * @memberof google.cloud.vision.v1 + * @interface IProductSearchResults + * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSearchResults indexTime + * @property {Array.|null} [results] ProductSearchResults results + * @property {Array.|null} [productGroupedResults] ProductSearchResults productGroupedResults + */ + + /** + * Constructs a new ProductSearchResults. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ProductSearchResults. + * @implements IProductSearchResults + * @constructor + * @param {google.cloud.vision.v1.IProductSearchResults=} [properties] Properties to set + */ + function ProductSearchResults(properties) { + this.results = []; + this.productGroupedResults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductSearchResults indexTime. + * @member {google.protobuf.ITimestamp|null|undefined} indexTime + * @memberof google.cloud.vision.v1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.indexTime = null; + + /** + * ProductSearchResults results. + * @member {Array.} results + * @memberof google.cloud.vision.v1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.results = $util.emptyArray; + + /** + * ProductSearchResults productGroupedResults. + * @member {Array.} productGroupedResults + * @memberof google.cloud.vision.v1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.productGroupedResults = $util.emptyArray; + + /** + * Creates a new ProductSearchResults instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1.IProductSearchResults=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ProductSearchResults} ProductSearchResults instance + */ + ProductSearchResults.create = function create(properties) { + return new ProductSearchResults(properties); + }; + + /** + * Encodes the specified ProductSearchResults message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.results != null && message.results.length) + for (var i = 0; i < message.results.length; ++i) + $root.google.cloud.vision.v1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.productGroupedResults != null && message.productGroupedResults.length) + for (var i = 0; i < message.productGroupedResults.length; ++i) + $root.google.cloud.vision.v1.ProductSearchResults.GroupedResult.encode(message.productGroupedResults[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSearchResults message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ProductSearchResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ProductSearchResults} ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ProductSearchResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 5: + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.productGroupedResults && message.productGroupedResults.length)) + message.productGroupedResults = []; + message.productGroupedResults.push($root.google.cloud.vision.v1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ProductSearchResults} ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSearchResults message. + * @function verify + * @memberof google.cloud.vision.v1.ProductSearchResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSearchResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.indexTime); + if (error) + return "indexTime." + error; + } + if (message.results != null && message.hasOwnProperty("results")) { + if (!Array.isArray(message.results)) + return "results: array expected"; + for (var i = 0; i < message.results.length; ++i) { + var error = $root.google.cloud.vision.v1.ProductSearchResults.Result.verify(message.results[i]); + if (error) + return "results." + error; + } + } + if (message.productGroupedResults != null && message.hasOwnProperty("productGroupedResults")) { + if (!Array.isArray(message.productGroupedResults)) + return "productGroupedResults: array expected"; + for (var i = 0; i < message.productGroupedResults.length; ++i) { + var error = $root.google.cloud.vision.v1.ProductSearchResults.GroupedResult.verify(message.productGroupedResults[i]); + if (error) + return "productGroupedResults." + error; + } + } + return null; + }; + + /** + * Creates a ProductSearchResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ProductSearchResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ProductSearchResults} ProductSearchResults + */ + ProductSearchResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ProductSearchResults) + return object; + var message = new $root.google.cloud.vision.v1.ProductSearchResults(); + if (object.indexTime != null) { + if (typeof object.indexTime !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.indexTime: object expected"); + message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); + } + if (object.results) { + if (!Array.isArray(object.results)) + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.results: array expected"); + message.results = []; + for (var i = 0; i < object.results.length; ++i) { + if (typeof object.results[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.results: object expected"); + message.results[i] = $root.google.cloud.vision.v1.ProductSearchResults.Result.fromObject(object.results[i]); + } + } + if (object.productGroupedResults) { + if (!Array.isArray(object.productGroupedResults)) + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.productGroupedResults: array expected"); + message.productGroupedResults = []; + for (var i = 0; i < object.productGroupedResults.length; ++i) { + if (typeof object.productGroupedResults[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.productGroupedResults: object expected"); + message.productGroupedResults[i] = $root.google.cloud.vision.v1.ProductSearchResults.GroupedResult.fromObject(object.productGroupedResults[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ProductSearchResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1.ProductSearchResults} message ProductSearchResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSearchResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.results = []; + object.productGroupedResults = []; + } + if (options.defaults) + object.indexTime = null; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); + if (message.results && message.results.length) { + object.results = []; + for (var j = 0; j < message.results.length; ++j) + object.results[j] = $root.google.cloud.vision.v1.ProductSearchResults.Result.toObject(message.results[j], options); + } + if (message.productGroupedResults && message.productGroupedResults.length) { + object.productGroupedResults = []; + for (var j = 0; j < message.productGroupedResults.length; ++j) + object.productGroupedResults[j] = $root.google.cloud.vision.v1.ProductSearchResults.GroupedResult.toObject(message.productGroupedResults[j], options); + } + return object; + }; + + /** + * Converts this ProductSearchResults to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ProductSearchResults + * @instance + * @returns {Object.} JSON object + */ + ProductSearchResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + ProductSearchResults.Result = (function() { + + /** + * Properties of a Result. + * @memberof google.cloud.vision.v1.ProductSearchResults + * @interface IResult + * @property {google.cloud.vision.v1.IProduct|null} [product] Result product + * @property {number|null} [score] Result score + * @property {string|null} [image] Result image + */ + + /** + * Constructs a new Result. + * @memberof google.cloud.vision.v1.ProductSearchResults + * @classdesc Represents a Result. + * @implements IResult + * @constructor + * @param {google.cloud.vision.v1.ProductSearchResults.IResult=} [properties] Properties to set + */ + function Result(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]]; + } + + /** + * Result product. + * @member {google.cloud.vision.v1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @instance + */ + Result.prototype.product = null; + + /** + * Result score. + * @member {number} score + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @instance + */ + Result.prototype.score = 0; + + /** + * Result image. + * @member {string} image + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @instance + */ + Result.prototype.image = ""; + + /** + * Creates a new Result instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.IResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ProductSearchResults.Result} Result instance + */ + Result.create = function create(properties) { + return new Result(properties); + }; + + /** + * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.Result.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Result.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.image != null && message.hasOwnProperty("image")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); + return writer; + }; + + /** + * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.Result.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Result.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Result message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ProductSearchResults.Result} Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Result.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ProductSearchResults.Result(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.product = $root.google.cloud.vision.v1.Product.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.image = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Result message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ProductSearchResults.Result} Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Result.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Result message. + * @function verify + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Result.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.image != null && message.hasOwnProperty("image")) + if (!$util.isString(message.image)) + return "image: string expected"; + return null; + }; + + /** + * Creates a Result message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ProductSearchResults.Result} Result + */ + Result.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ProductSearchResults.Result) + return object; + var message = new $root.google.cloud.vision.v1.ProductSearchResults.Result(); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.Result.product: object expected"); + message.product = $root.google.cloud.vision.v1.Product.fromObject(object.product); + } + if (object.score != null) + message.score = Number(object.score); + if (object.image != null) + message.image = String(object.image); + return message; + }; + + /** + * Creates a plain object from a Result message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.Result} message Result + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Result.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.product = null; + object.score = 0; + object.image = ""; + } + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1.Product.toObject(message.product, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.image != null && message.hasOwnProperty("image")) + object.image = message.image; + return object; + }; + + /** + * Converts this Result to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @instance + * @returns {Object.} JSON object + */ + Result.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Result; + })(); + + ProductSearchResults.ObjectAnnotation = (function() { + + /** + * Properties of an ObjectAnnotation. + * @memberof google.cloud.vision.v1.ProductSearchResults + * @interface IObjectAnnotation + * @property {string|null} [mid] ObjectAnnotation mid + * @property {string|null} [languageCode] ObjectAnnotation languageCode + * @property {string|null} [name] ObjectAnnotation name + * @property {number|null} [score] ObjectAnnotation score + */ + + /** + * Constructs a new ObjectAnnotation. + * @memberof google.cloud.vision.v1.ProductSearchResults + * @classdesc Represents an ObjectAnnotation. + * @implements IObjectAnnotation + * @constructor + * @param {google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation=} [properties] Properties to set + */ + function ObjectAnnotation(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]]; + } + + /** + * ObjectAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.mid = ""; + + /** + * ObjectAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.languageCode = ""; + + /** + * ObjectAnnotation name. + * @member {string} name + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.name = ""; + + /** + * ObjectAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.score = 0; + + /** + * Creates a new ObjectAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation instance + */ + ObjectAnnotation.create = function create(properties) { + return new ObjectAnnotation(properties); + }; + + /** + * Encodes the specified ObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation} message ObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + return writer; + }; + + /** + * Encodes the specified ObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.IObjectAnnotation} message ObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + case 3: + message.name = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + return null; + }; + + /** + * Creates an ObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation + */ + ObjectAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation) + return object; + var message = new $root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.name != null) + message.name = String(object.name); + if (object.score != null) + message.score = Number(object.score); + return message; + }; + + /** + * Creates a plain object from an ObjectAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation} message ObjectAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.mid = ""; + object.languageCode = ""; + object.name = ""; + object.score = 0; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + return object; + }; + + /** + * Converts this ObjectAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @instance + * @returns {Object.} JSON object + */ + ObjectAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectAnnotation; + })(); + + ProductSearchResults.GroupedResult = (function() { + + /** + * Properties of a GroupedResult. + * @memberof google.cloud.vision.v1.ProductSearchResults + * @interface IGroupedResult + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] GroupedResult boundingPoly + * @property {Array.|null} [results] GroupedResult results + * @property {Array.|null} [objectAnnotations] GroupedResult objectAnnotations + */ + + /** + * Constructs a new GroupedResult. + * @memberof google.cloud.vision.v1.ProductSearchResults + * @classdesc Represents a GroupedResult. + * @implements IGroupedResult + * @constructor + * @param {google.cloud.vision.v1.ProductSearchResults.IGroupedResult=} [properties] Properties to set + */ + function GroupedResult(properties) { + this.results = []; + this.objectAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GroupedResult boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.boundingPoly = null; + + /** + * GroupedResult results. + * @member {Array.} results + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.results = $util.emptyArray; + + /** + * GroupedResult objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.objectAnnotations = $util.emptyArray; + + /** + * Creates a new GroupedResult instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.IGroupedResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ProductSearchResults.GroupedResult} GroupedResult instance + */ + GroupedResult.create = function create(properties) { + return new GroupedResult(properties); + }; + + /** + * Encodes the specified GroupedResult message. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GroupedResult.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.results != null && message.results.length) + for (var i = 0; i < message.results.length; ++i) + $root.google.cloud.vision.v1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GroupedResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GroupedResult.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GroupedResult message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ProductSearchResults.GroupedResult} GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GroupedResult.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ProductSearchResults.GroupedResult(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GroupedResult message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ProductSearchResults.GroupedResult} GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GroupedResult.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GroupedResult message. + * @function verify + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GroupedResult.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.results != null && message.hasOwnProperty("results")) { + if (!Array.isArray(message.results)) + return "results: array expected"; + for (var i = 0; i < message.results.length; ++i) { + var error = $root.google.cloud.vision.v1.ProductSearchResults.Result.verify(message.results[i]); + if (error) + return "results." + error; + } + } + if (message.objectAnnotations != null && message.hasOwnProperty("objectAnnotations")) { + if (!Array.isArray(message.objectAnnotations)) + return "objectAnnotations: array expected"; + for (var i = 0; i < message.objectAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.verify(message.objectAnnotations[i]); + if (error) + return "objectAnnotations." + error; + } + } + return null; + }; + + /** + * Creates a GroupedResult message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ProductSearchResults.GroupedResult} GroupedResult + */ + GroupedResult.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ProductSearchResults.GroupedResult) + return object; + var message = new $root.google.cloud.vision.v1.ProductSearchResults.GroupedResult(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.GroupedResult.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.results) { + if (!Array.isArray(object.results)) + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.GroupedResult.results: array expected"); + message.results = []; + for (var i = 0; i < object.results.length; ++i) { + if (typeof object.results[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.GroupedResult.results: object expected"); + message.results[i] = $root.google.cloud.vision.v1.ProductSearchResults.Result.fromObject(object.results[i]); + } + } + if (object.objectAnnotations) { + if (!Array.isArray(object.objectAnnotations)) + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.GroupedResult.objectAnnotations: array expected"); + message.objectAnnotations = []; + for (var i = 0; i < object.objectAnnotations.length; ++i) { + if (typeof object.objectAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSearchResults.GroupedResult.objectAnnotations: object expected"); + message.objectAnnotations[i] = $root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.fromObject(object.objectAnnotations[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GroupedResult message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1.ProductSearchResults.GroupedResult} message GroupedResult + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GroupedResult.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.results = []; + object.objectAnnotations = []; + } + if (options.defaults) + object.boundingPoly = null; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.results && message.results.length) { + object.results = []; + for (var j = 0; j < message.results.length; ++j) + object.results[j] = $root.google.cloud.vision.v1.ProductSearchResults.Result.toObject(message.results[j], options); + } + if (message.objectAnnotations && message.objectAnnotations.length) { + object.objectAnnotations = []; + for (var j = 0; j < message.objectAnnotations.length; ++j) + object.objectAnnotations[j] = $root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.toObject(message.objectAnnotations[j], options); + } + return object; + }; + + /** + * Converts this GroupedResult to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @instance + * @returns {Object.} JSON object + */ + GroupedResult.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GroupedResult; + })(); + + return ProductSearchResults; + })(); + + v1.ProductSearch = (function() { + + /** + * Constructs a new ProductSearch service. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ProductSearch + * @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 ProductSearch(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ProductSearch.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductSearch; + + /** + * Creates new ProductSearch service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1.ProductSearch + * @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 {ProductSearch} RPC service. Useful where requests and/or responses are streamed. + */ + ProductSearch.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createProductSet}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef CreateProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.ProductSet} [response] ProductSet + */ + + /** + * Calls CreateProductSet. + * @function createProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.CreateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createProductSet = function createProductSet(request, callback) { + return this.rpcCall(createProductSet, $root.google.cloud.vision.v1.CreateProductSetRequest, $root.google.cloud.vision.v1.ProductSet, request, callback); + }, "name", { value: "CreateProductSet" }); + + /** + * Calls CreateProductSet. + * @function createProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProductSets}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef ListProductSetsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.ListProductSetsResponse} [response] ListProductSetsResponse + */ + + /** + * Calls ListProductSets. + * @function listProductSets + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IListProductSetsRequest} request ListProductSetsRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.ListProductSetsCallback} callback Node-style callback called with the error, if any, and ListProductSetsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProductSets = function listProductSets(request, callback) { + return this.rpcCall(listProductSets, $root.google.cloud.vision.v1.ListProductSetsRequest, $root.google.cloud.vision.v1.ListProductSetsResponse, request, callback); + }, "name", { value: "ListProductSets" }); + + /** + * Calls ListProductSets. + * @function listProductSets + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IListProductSetsRequest} request ListProductSetsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getProductSet}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef GetProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.ProductSet} [response] ProductSet + */ + + /** + * Calls GetProductSet. + * @function getProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IGetProductSetRequest} request GetProductSetRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.GetProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getProductSet = function getProductSet(request, callback) { + return this.rpcCall(getProductSet, $root.google.cloud.vision.v1.GetProductSetRequest, $root.google.cloud.vision.v1.ProductSet, request, callback); + }, "name", { value: "GetProductSet" }); + + /** + * Calls GetProductSet. + * @function getProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IGetProductSetRequest} request GetProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#updateProductSet}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef UpdateProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.ProductSet} [response] ProductSet + */ + + /** + * Calls UpdateProductSet. + * @function updateProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.UpdateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.updateProductSet = function updateProductSet(request, callback) { + return this.rpcCall(updateProductSet, $root.google.cloud.vision.v1.UpdateProductSetRequest, $root.google.cloud.vision.v1.ProductSet, request, callback); + }, "name", { value: "UpdateProductSet" }); + + /** + * Calls UpdateProductSet. + * @function updateProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteProductSet}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef DeleteProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteProductSet. + * @function deleteProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.DeleteProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteProductSet = function deleteProductSet(request, callback) { + return this.rpcCall(deleteProductSet, $root.google.cloud.vision.v1.DeleteProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteProductSet" }); + + /** + * Calls DeleteProductSet. + * @function deleteProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createProduct}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef CreateProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.Product} [response] Product + */ + + /** + * Calls CreateProduct. + * @function createProduct + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.ICreateProductRequest} request CreateProductRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.CreateProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createProduct = function createProduct(request, callback) { + return this.rpcCall(createProduct, $root.google.cloud.vision.v1.CreateProductRequest, $root.google.cloud.vision.v1.Product, request, callback); + }, "name", { value: "CreateProduct" }); + + /** + * Calls CreateProduct. + * @function createProduct + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.ICreateProductRequest} request CreateProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProducts}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef ListProductsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.ListProductsResponse} [response] ListProductsResponse + */ + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IListProductsRequest} request ListProductsRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.ListProductsCallback} callback Node-style callback called with the error, if any, and ListProductsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProducts = function listProducts(request, callback) { + return this.rpcCall(listProducts, $root.google.cloud.vision.v1.ListProductsRequest, $root.google.cloud.vision.v1.ListProductsResponse, request, callback); + }, "name", { value: "ListProducts" }); + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IListProductsRequest} request ListProductsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getProduct}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef GetProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.Product} [response] Product + */ + + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IGetProductRequest} request GetProductRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.GetProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getProduct = function getProduct(request, callback) { + return this.rpcCall(getProduct, $root.google.cloud.vision.v1.GetProductRequest, $root.google.cloud.vision.v1.Product, request, callback); + }, "name", { value: "GetProduct" }); + + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IGetProductRequest} request GetProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#updateProduct}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef UpdateProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.Product} [response] Product + */ + + /** + * Calls UpdateProduct. + * @function updateProduct + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IUpdateProductRequest} request UpdateProductRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.UpdateProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.updateProduct = function updateProduct(request, callback) { + return this.rpcCall(updateProduct, $root.google.cloud.vision.v1.UpdateProductRequest, $root.google.cloud.vision.v1.Product, request, callback); + }, "name", { value: "UpdateProduct" }); + + /** + * Calls UpdateProduct. + * @function updateProduct + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IUpdateProductRequest} request UpdateProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteProduct}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef DeleteProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteProduct. + * @function deleteProduct + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IDeleteProductRequest} request DeleteProductRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.DeleteProductCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteProduct = function deleteProduct(request, callback) { + return this.rpcCall(deleteProduct, $root.google.cloud.vision.v1.DeleteProductRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteProduct" }); + + /** + * Calls DeleteProduct. + * @function deleteProduct + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IDeleteProductRequest} request DeleteProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createReferenceImage}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef CreateReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.ReferenceImage} [response] ReferenceImage + */ + + /** + * Calls CreateReferenceImage. + * @function createReferenceImage + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.CreateReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createReferenceImage = function createReferenceImage(request, callback) { + return this.rpcCall(createReferenceImage, $root.google.cloud.vision.v1.CreateReferenceImageRequest, $root.google.cloud.vision.v1.ReferenceImage, request, callback); + }, "name", { value: "CreateReferenceImage" }); + + /** + * Calls CreateReferenceImage. + * @function createReferenceImage + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteReferenceImage}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef DeleteReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteReferenceImage. + * @function deleteReferenceImage + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.DeleteReferenceImageCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteReferenceImage = function deleteReferenceImage(request, callback) { + return this.rpcCall(deleteReferenceImage, $root.google.cloud.vision.v1.DeleteReferenceImageRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteReferenceImage" }); + + /** + * Calls DeleteReferenceImage. + * @function deleteReferenceImage + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listReferenceImages}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef ListReferenceImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.ListReferenceImagesResponse} [response] ListReferenceImagesResponse + */ + + /** + * Calls ListReferenceImages. + * @function listReferenceImages + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.ListReferenceImagesCallback} callback Node-style callback called with the error, if any, and ListReferenceImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listReferenceImages = function listReferenceImages(request, callback) { + return this.rpcCall(listReferenceImages, $root.google.cloud.vision.v1.ListReferenceImagesRequest, $root.google.cloud.vision.v1.ListReferenceImagesResponse, request, callback); + }, "name", { value: "ListReferenceImages" }); + + /** + * Calls ListReferenceImages. + * @function listReferenceImages + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getReferenceImage}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef GetReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.ReferenceImage} [response] ReferenceImage + */ + + /** + * Calls GetReferenceImage. + * @function getReferenceImage + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.GetReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getReferenceImage = function getReferenceImage(request, callback) { + return this.rpcCall(getReferenceImage, $root.google.cloud.vision.v1.GetReferenceImageRequest, $root.google.cloud.vision.v1.ReferenceImage, request, callback); + }, "name", { value: "GetReferenceImage" }); + + /** + * Calls GetReferenceImage. + * @function getReferenceImage + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#addProductToProductSet}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef AddProductToProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls AddProductToProductSet. + * @function addProductToProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.AddProductToProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.addProductToProductSet = function addProductToProductSet(request, callback) { + return this.rpcCall(addProductToProductSet, $root.google.cloud.vision.v1.AddProductToProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "AddProductToProductSet" }); + + /** + * Calls AddProductToProductSet. + * @function addProductToProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#removeProductFromProductSet}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef RemoveProductFromProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls RemoveProductFromProductSet. + * @function removeProductFromProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.RemoveProductFromProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.removeProductFromProductSet = function removeProductFromProductSet(request, callback) { + return this.rpcCall(removeProductFromProductSet, $root.google.cloud.vision.v1.RemoveProductFromProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "RemoveProductFromProductSet" }); + + /** + * Calls RemoveProductFromProductSet. + * @function removeProductFromProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProductsInProductSet}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef ListProductsInProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.ListProductsInProductSetResponse} [response] ListProductsInProductSetResponse + */ + + /** + * Calls ListProductsInProductSet. + * @function listProductsInProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.ListProductsInProductSetCallback} callback Node-style callback called with the error, if any, and ListProductsInProductSetResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProductsInProductSet = function listProductsInProductSet(request, callback) { + return this.rpcCall(listProductsInProductSet, $root.google.cloud.vision.v1.ListProductsInProductSetRequest, $root.google.cloud.vision.v1.ListProductsInProductSetResponse, request, callback); + }, "name", { value: "ListProductsInProductSet" }); + + /** + * Calls ListProductsInProductSet. + * @function listProductsInProductSet + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#importProductSets}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef ImportProductSetsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ImportProductSets. + * @function importProductSets + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.ImportProductSetsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.importProductSets = function importProductSets(request, callback) { + return this.rpcCall(importProductSets, $root.google.cloud.vision.v1.ImportProductSetsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ImportProductSets" }); + + /** + * Calls ImportProductSets. + * @function importProductSets + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ProductSearch#purgeProducts}. + * @memberof google.cloud.vision.v1.ProductSearch + * @typedef PurgeProductsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls PurgeProducts. + * @function purgeProducts + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IPurgeProductsRequest} request PurgeProductsRequest message or plain object + * @param {google.cloud.vision.v1.ProductSearch.PurgeProductsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.purgeProducts = function purgeProducts(request, callback) { + return this.rpcCall(purgeProducts, $root.google.cloud.vision.v1.PurgeProductsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "PurgeProducts" }); + + /** + * Calls PurgeProducts. + * @function purgeProducts + * @memberof google.cloud.vision.v1.ProductSearch + * @instance + * @param {google.cloud.vision.v1.IPurgeProductsRequest} request PurgeProductsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ProductSearch; + })(); + + v1.Product = (function() { + + /** + * Properties of a Product. + * @memberof google.cloud.vision.v1 + * @interface IProduct + * @property {string|null} [name] Product name + * @property {string|null} [displayName] Product displayName + * @property {string|null} [description] Product description + * @property {string|null} [productCategory] Product productCategory + * @property {Array.|null} [productLabels] Product productLabels + */ + + /** + * Constructs a new Product. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Product. + * @implements IProduct + * @constructor + * @param {google.cloud.vision.v1.IProduct=} [properties] Properties to set + */ + function Product(properties) { + this.productLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Product name. + * @member {string} name + * @memberof google.cloud.vision.v1.Product + * @instance + */ + Product.prototype.name = ""; + + /** + * Product displayName. + * @member {string} displayName + * @memberof google.cloud.vision.v1.Product + * @instance + */ + Product.prototype.displayName = ""; + + /** + * Product description. + * @member {string} description + * @memberof google.cloud.vision.v1.Product + * @instance + */ + Product.prototype.description = ""; + + /** + * Product productCategory. + * @member {string} productCategory + * @memberof google.cloud.vision.v1.Product + * @instance + */ + Product.prototype.productCategory = ""; + + /** + * Product productLabels. + * @member {Array.} productLabels + * @memberof google.cloud.vision.v1.Product + * @instance + */ + Product.prototype.productLabels = $util.emptyArray; + + /** + * Creates a new Product instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Product + * @static + * @param {google.cloud.vision.v1.IProduct=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Product} Product instance + */ + Product.create = function create(properties) { + return new Product(properties); + }; + + /** + * Encodes the specified Product message. Does not implicitly {@link google.cloud.vision.v1.Product.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Product + * @static + * @param {google.cloud.vision.v1.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Product.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && message.hasOwnProperty("displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); + if (message.productLabels != null && message.productLabels.length) + for (var i = 0; i < message.productLabels.length; ++i) + $root.google.cloud.vision.v1.Product.KeyValue.encode(message.productLabels[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Product.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Product + * @static + * @param {google.cloud.vision.v1.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Product.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Product message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Product.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Product(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.displayName = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.productCategory = reader.string(); + break; + case 5: + if (!(message.productLabels && message.productLabels.length)) + message.productLabels = []; + message.productLabels.push($root.google.cloud.vision.v1.Product.KeyValue.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Product message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Product.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Product message. + * @function verify + * @memberof google.cloud.vision.v1.Product + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Product.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (!$util.isString(message.productCategory)) + return "productCategory: string expected"; + if (message.productLabels != null && message.hasOwnProperty("productLabels")) { + if (!Array.isArray(message.productLabels)) + return "productLabels: array expected"; + for (var i = 0; i < message.productLabels.length; ++i) { + var error = $root.google.cloud.vision.v1.Product.KeyValue.verify(message.productLabels[i]); + if (error) + return "productLabels." + error; + } + } + return null; + }; + + /** + * Creates a Product message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Product + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Product} Product + */ + Product.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Product) + return object; + var message = new $root.google.cloud.vision.v1.Product(); + if (object.name != null) + message.name = String(object.name); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.description != null) + message.description = String(object.description); + if (object.productCategory != null) + message.productCategory = String(object.productCategory); + if (object.productLabels) { + if (!Array.isArray(object.productLabels)) + throw TypeError(".google.cloud.vision.v1.Product.productLabels: array expected"); + message.productLabels = []; + for (var i = 0; i < object.productLabels.length; ++i) { + if (typeof object.productLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1.Product.productLabels: object expected"); + message.productLabels[i] = $root.google.cloud.vision.v1.Product.KeyValue.fromObject(object.productLabels[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Product message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Product + * @static + * @param {google.cloud.vision.v1.Product} message Product + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Product.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productLabels = []; + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.description = ""; + object.productCategory = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + object.productCategory = message.productCategory; + if (message.productLabels && message.productLabels.length) { + object.productLabels = []; + for (var j = 0; j < message.productLabels.length; ++j) + object.productLabels[j] = $root.google.cloud.vision.v1.Product.KeyValue.toObject(message.productLabels[j], options); + } + return object; + }; + + /** + * Converts this Product to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Product + * @instance + * @returns {Object.} JSON object + */ + Product.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + Product.KeyValue = (function() { + + /** + * Properties of a KeyValue. + * @memberof google.cloud.vision.v1.Product + * @interface IKeyValue + * @property {string|null} [key] KeyValue key + * @property {string|null} [value] KeyValue value + */ + + /** + * Constructs a new KeyValue. + * @memberof google.cloud.vision.v1.Product + * @classdesc Represents a KeyValue. + * @implements IKeyValue + * @constructor + * @param {google.cloud.vision.v1.Product.IKeyValue=} [properties] Properties to set + */ + function KeyValue(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]]; + } + + /** + * KeyValue key. + * @member {string} key + * @memberof google.cloud.vision.v1.Product.KeyValue + * @instance + */ + KeyValue.prototype.key = ""; + + /** + * KeyValue value. + * @member {string} value + * @memberof google.cloud.vision.v1.Product.KeyValue + * @instance + */ + KeyValue.prototype.value = ""; + + /** + * Creates a new KeyValue instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1.Product.IKeyValue=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Product.KeyValue} KeyValue instance + */ + KeyValue.create = function create(properties) { + return new KeyValue(properties); + }; + + /** + * Encodes the specified KeyValue message. Does not implicitly {@link google.cloud.vision.v1.Product.KeyValue.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1.Product.IKeyValue} message KeyValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && message.hasOwnProperty("key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + return writer; + }; + + /** + * Encodes the specified KeyValue message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Product.KeyValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1.Product.IKeyValue} message KeyValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a KeyValue message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Product.KeyValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Product.KeyValue} KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Product.KeyValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a KeyValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Product.KeyValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Product.KeyValue} KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a KeyValue message. + * @function verify + * @memberof google.cloud.vision.v1.Product.KeyValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + KeyValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!$util.isString(message.key)) + return "key: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; + + /** + * Creates a KeyValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Product.KeyValue + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Product.KeyValue} KeyValue + */ + KeyValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Product.KeyValue) + return object; + var message = new $root.google.cloud.vision.v1.Product.KeyValue(); + if (object.key != null) + message.key = String(object.key); + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from a KeyValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1.Product.KeyValue} message KeyValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + KeyValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.key = ""; + object.value = ""; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this KeyValue to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Product.KeyValue + * @instance + * @returns {Object.} JSON object + */ + KeyValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return KeyValue; + })(); + + return Product; + })(); + + v1.ProductSet = (function() { + + /** + * Properties of a ProductSet. + * @memberof google.cloud.vision.v1 + * @interface IProductSet + * @property {string|null} [name] ProductSet name + * @property {string|null} [displayName] ProductSet displayName + * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSet indexTime + * @property {google.rpc.IStatus|null} [indexError] ProductSet indexError + */ + + /** + * Constructs a new ProductSet. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ProductSet. + * @implements IProductSet + * @constructor + * @param {google.cloud.vision.v1.IProductSet=} [properties] Properties to set + */ + function ProductSet(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]]; + } + + /** + * ProductSet name. + * @member {string} name + * @memberof google.cloud.vision.v1.ProductSet + * @instance + */ + ProductSet.prototype.name = ""; + + /** + * ProductSet displayName. + * @member {string} displayName + * @memberof google.cloud.vision.v1.ProductSet + * @instance + */ + ProductSet.prototype.displayName = ""; + + /** + * ProductSet indexTime. + * @member {google.protobuf.ITimestamp|null|undefined} indexTime + * @memberof google.cloud.vision.v1.ProductSet + * @instance + */ + ProductSet.prototype.indexTime = null; + + /** + * ProductSet indexError. + * @member {google.rpc.IStatus|null|undefined} indexError + * @memberof google.cloud.vision.v1.ProductSet + * @instance + */ + ProductSet.prototype.indexError = null; + + /** + * Creates a new ProductSet instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ProductSet + * @static + * @param {google.cloud.vision.v1.IProductSet=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ProductSet} ProductSet instance + */ + ProductSet.create = function create(properties) { + return new ProductSet(properties); + }; + + /** + * Encodes the specified ProductSet message. Does not implicitly {@link google.cloud.vision.v1.ProductSet.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ProductSet + * @static + * @param {google.cloud.vision.v1.IProductSet} message ProductSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && message.hasOwnProperty("displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.indexError != null && message.hasOwnProperty("indexError")) + $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSet message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ProductSet + * @static + * @param {google.cloud.vision.v1.IProductSet} message ProductSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSet message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ProductSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ProductSet} ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ProductSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.displayName = reader.string(); + break; + case 3: + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ProductSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ProductSet} ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSet message. + * @function verify + * @memberof google.cloud.vision.v1.ProductSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSet.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.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.indexTime); + if (error) + return "indexTime." + error; + } + if (message.indexError != null && message.hasOwnProperty("indexError")) { + var error = $root.google.rpc.Status.verify(message.indexError); + if (error) + return "indexError." + error; + } + return null; + }; + + /** + * Creates a ProductSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ProductSet + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ProductSet} ProductSet + */ + ProductSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ProductSet) + return object; + var message = new $root.google.cloud.vision.v1.ProductSet(); + if (object.name != null) + message.name = String(object.name); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.indexTime != null) { + if (typeof object.indexTime !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSet.indexTime: object expected"); + message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); + } + if (object.indexError != null) { + if (typeof object.indexError !== "object") + throw TypeError(".google.cloud.vision.v1.ProductSet.indexError: object expected"); + message.indexError = $root.google.rpc.Status.fromObject(object.indexError); + } + return message; + }; + + /** + * Creates a plain object from a ProductSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ProductSet + * @static + * @param {google.cloud.vision.v1.ProductSet} message ProductSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.indexTime = null; + object.indexError = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); + if (message.indexError != null && message.hasOwnProperty("indexError")) + object.indexError = $root.google.rpc.Status.toObject(message.indexError, options); + return object; + }; + + /** + * Converts this ProductSet to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ProductSet + * @instance + * @returns {Object.} JSON object + */ + ProductSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProductSet; + })(); + + v1.ReferenceImage = (function() { + + /** + * Properties of a ReferenceImage. + * @memberof google.cloud.vision.v1 + * @interface IReferenceImage + * @property {string|null} [name] ReferenceImage name + * @property {string|null} [uri] ReferenceImage uri + * @property {Array.|null} [boundingPolys] ReferenceImage boundingPolys + */ + + /** + * Constructs a new ReferenceImage. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ReferenceImage. + * @implements IReferenceImage + * @constructor + * @param {google.cloud.vision.v1.IReferenceImage=} [properties] Properties to set + */ + function ReferenceImage(properties) { + this.boundingPolys = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ReferenceImage name. + * @member {string} name + * @memberof google.cloud.vision.v1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.name = ""; + + /** + * ReferenceImage uri. + * @member {string} uri + * @memberof google.cloud.vision.v1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.uri = ""; + + /** + * ReferenceImage boundingPolys. + * @member {Array.} boundingPolys + * @memberof google.cloud.vision.v1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.boundingPolys = $util.emptyArray; + + /** + * Creates a new ReferenceImage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ReferenceImage + * @static + * @param {google.cloud.vision.v1.IReferenceImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ReferenceImage} ReferenceImage instance + */ + ReferenceImage.create = function create(properties) { + return new ReferenceImage(properties); + }; + + /** + * Encodes the specified ReferenceImage message. Does not implicitly {@link google.cloud.vision.v1.ReferenceImage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ReferenceImage + * @static + * @param {google.cloud.vision.v1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReferenceImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); + if (message.boundingPolys != null && message.boundingPolys.length) + for (var i = 0; i < message.boundingPolys.length; ++i) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPolys[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ReferenceImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ReferenceImage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ReferenceImage + * @static + * @param {google.cloud.vision.v1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReferenceImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ReferenceImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ReferenceImage} ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReferenceImage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ReferenceImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.uri = reader.string(); + break; + case 3: + if (!(message.boundingPolys && message.boundingPolys.length)) + message.boundingPolys = []; + message.boundingPolys.push($root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ReferenceImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ReferenceImage} ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReferenceImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReferenceImage message. + * @function verify + * @memberof google.cloud.vision.v1.ReferenceImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReferenceImage.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.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.boundingPolys != null && message.hasOwnProperty("boundingPolys")) { + if (!Array.isArray(message.boundingPolys)) + return "boundingPolys: array expected"; + for (var i = 0; i < message.boundingPolys.length; ++i) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPolys[i]); + if (error) + return "boundingPolys." + error; + } + } + return null; + }; + + /** + * Creates a ReferenceImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ReferenceImage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ReferenceImage} ReferenceImage + */ + ReferenceImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ReferenceImage) + return object; + var message = new $root.google.cloud.vision.v1.ReferenceImage(); + if (object.name != null) + message.name = String(object.name); + if (object.uri != null) + message.uri = String(object.uri); + if (object.boundingPolys) { + if (!Array.isArray(object.boundingPolys)) + throw TypeError(".google.cloud.vision.v1.ReferenceImage.boundingPolys: array expected"); + message.boundingPolys = []; + for (var i = 0; i < object.boundingPolys.length; ++i) { + if (typeof object.boundingPolys[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ReferenceImage.boundingPolys: object expected"); + message.boundingPolys[i] = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPolys[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ReferenceImage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ReferenceImage + * @static + * @param {google.cloud.vision.v1.ReferenceImage} message ReferenceImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReferenceImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.boundingPolys = []; + if (options.defaults) { + object.name = ""; + object.uri = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.boundingPolys && message.boundingPolys.length) { + object.boundingPolys = []; + for (var j = 0; j < message.boundingPolys.length; ++j) + object.boundingPolys[j] = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPolys[j], options); + } + return object; + }; + + /** + * Converts this ReferenceImage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ReferenceImage + * @instance + * @returns {Object.} JSON object + */ + ReferenceImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ReferenceImage; + })(); + + v1.CreateProductRequest = (function() { + + /** + * Properties of a CreateProductRequest. + * @memberof google.cloud.vision.v1 + * @interface ICreateProductRequest + * @property {string|null} [parent] CreateProductRequest parent + * @property {google.cloud.vision.v1.IProduct|null} [product] CreateProductRequest product + * @property {string|null} [productId] CreateProductRequest productId + */ + + /** + * Constructs a new CreateProductRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a CreateProductRequest. + * @implements ICreateProductRequest + * @constructor + * @param {google.cloud.vision.v1.ICreateProductRequest=} [properties] Properties to set + */ + function CreateProductRequest(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]]; + } + + /** + * CreateProductRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.CreateProductRequest + * @instance + */ + CreateProductRequest.prototype.parent = ""; + + /** + * CreateProductRequest product. + * @member {google.cloud.vision.v1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1.CreateProductRequest + * @instance + */ + CreateProductRequest.prototype.product = null; + + /** + * CreateProductRequest productId. + * @member {string} productId + * @memberof google.cloud.vision.v1.CreateProductRequest + * @instance + */ + CreateProductRequest.prototype.productId = ""; + + /** + * Creates a new CreateProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1.ICreateProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.CreateProductRequest} CreateProductRequest instance + */ + CreateProductRequest.create = function create(properties) { + return new CreateProductRequest(properties); + }; + + /** + * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.vision.v1.CreateProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1.ICreateProductRequest} message CreateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.productId != null && message.hasOwnProperty("productId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); + return writer; + }; + + /** + * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CreateProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1.ICreateProductRequest} message CreateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.CreateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.CreateProductRequest} CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CreateProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.product = $root.google.cloud.vision.v1.Product.decode(reader, reader.uint32()); + break; + case 3: + message.productId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.CreateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.CreateProductRequest} CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1.CreateProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateProductRequest.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.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.productId != null && message.hasOwnProperty("productId")) + if (!$util.isString(message.productId)) + return "productId: string expected"; + return null; + }; + + /** + * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.CreateProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.CreateProductRequest} CreateProductRequest + */ + CreateProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.CreateProductRequest) + return object; + var message = new $root.google.cloud.vision.v1.CreateProductRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1.CreateProductRequest.product: object expected"); + message.product = $root.google.cloud.vision.v1.Product.fromObject(object.product); + } + if (object.productId != null) + message.productId = String(object.productId); + return message; + }; + + /** + * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1.CreateProductRequest} message CreateProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.product = null; + object.productId = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1.Product.toObject(message.product, options); + if (message.productId != null && message.hasOwnProperty("productId")) + object.productId = message.productId; + return object; + }; + + /** + * Converts this CreateProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.CreateProductRequest + * @instance + * @returns {Object.} JSON object + */ + CreateProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CreateProductRequest; + })(); + + v1.ListProductsRequest = (function() { + + /** + * Properties of a ListProductsRequest. + * @memberof google.cloud.vision.v1 + * @interface IListProductsRequest + * @property {string|null} [parent] ListProductsRequest parent + * @property {number|null} [pageSize] ListProductsRequest pageSize + * @property {string|null} [pageToken] ListProductsRequest pageToken + */ + + /** + * Constructs a new ListProductsRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ListProductsRequest. + * @implements IListProductsRequest + * @constructor + * @param {google.cloud.vision.v1.IListProductsRequest=} [properties] Properties to set + */ + function ListProductsRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.parent = ""; + + /** + * ListProductsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.pageSize = 0; + + /** + * ListProductsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1.IListProductsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ListProductsRequest} ListProductsRequest instance + */ + ListProductsRequest.create = function create(properties) { + return new ListProductsRequest(properties); + }; + + /** + * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.vision.v1.ListProductsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ListProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ListProductsRequest} ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ListProductsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.pageSize = reader.int32(); + break; + case 3: + message.pageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ListProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ListProductsRequest} ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsRequest message. + * @function verify + * @memberof google.cloud.vision.v1.ListProductsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ListProductsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ListProductsRequest} ListProductsRequest + */ + ListProductsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ListProductsRequest) + return object; + var message = new $root.google.cloud.vision.v1.ListProductsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1.ListProductsRequest} message ListProductsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + return object; + }; + + /** + * Converts this ListProductsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ListProductsRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsRequest; + })(); + + v1.ListProductsResponse = (function() { + + /** + * Properties of a ListProductsResponse. + * @memberof google.cloud.vision.v1 + * @interface IListProductsResponse + * @property {Array.|null} [products] ListProductsResponse products + * @property {string|null} [nextPageToken] ListProductsResponse nextPageToken + */ + + /** + * Constructs a new ListProductsResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ListProductsResponse. + * @implements IListProductsResponse + * @constructor + * @param {google.cloud.vision.v1.IListProductsResponse=} [properties] Properties to set + */ + function ListProductsResponse(properties) { + this.products = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsResponse products. + * @member {Array.} products + * @memberof google.cloud.vision.v1.ListProductsResponse + * @instance + */ + ListProductsResponse.prototype.products = $util.emptyArray; + + /** + * ListProductsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1.ListProductsResponse + * @instance + */ + ListProductsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1.IListProductsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ListProductsResponse} ListProductsResponse instance + */ + ListProductsResponse.create = function create(properties) { + return new ListProductsResponse(properties); + }; + + /** + * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.vision.v1.ListProductsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.cloud.vision.v1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ListProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ListProductsResponse} ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ListProductsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1.Product.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ListProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ListProductsResponse} ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsResponse message. + * @function verify + * @memberof google.cloud.vision.v1.ListProductsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.cloud.vision.v1.Product.verify(message.products[i]); + if (error) + return "products." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ListProductsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ListProductsResponse} ListProductsResponse + */ + ListProductsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ListProductsResponse) + return object; + var message = new $root.google.cloud.vision.v1.ListProductsResponse(); + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.cloud.vision.v1.ListProductsResponse.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ListProductsResponse.products: object expected"); + message.products[i] = $root.google.cloud.vision.v1.Product.fromObject(object.products[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1.ListProductsResponse} message ListProductsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.products = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.cloud.vision.v1.Product.toObject(message.products[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductsResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ListProductsResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsResponse; + })(); + + v1.GetProductRequest = (function() { + + /** + * Properties of a GetProductRequest. + * @memberof google.cloud.vision.v1 + * @interface IGetProductRequest + * @property {string|null} [name] GetProductRequest name + */ + + /** + * Constructs a new GetProductRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a GetProductRequest. + * @implements IGetProductRequest + * @constructor + * @param {google.cloud.vision.v1.IGetProductRequest=} [properties] Properties to set + */ + function GetProductRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetProductRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1.GetProductRequest + * @instance + */ + GetProductRequest.prototype.name = ""; + + /** + * Creates a new GetProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.GetProductRequest + * @static + * @param {google.cloud.vision.v1.IGetProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.GetProductRequest} GetProductRequest instance + */ + GetProductRequest.create = function create(properties) { + return new GetProductRequest(properties); + }; + + /** + * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.vision.v1.GetProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.GetProductRequest + * @static + * @param {google.cloud.vision.v1.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GetProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.GetProductRequest + * @static + * @param {google.cloud.vision.v1.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.GetProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.GetProductRequest} GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.GetProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.GetProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.GetProductRequest} GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1.GetProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProductRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.GetProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.GetProductRequest} GetProductRequest + */ + GetProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.GetProductRequest) + return object; + var message = new $root.google.cloud.vision.v1.GetProductRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.GetProductRequest + * @static + * @param {google.cloud.vision.v1.GetProductRequest} message GetProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this GetProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.GetProductRequest + * @instance + * @returns {Object.} JSON object + */ + GetProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetProductRequest; + })(); + + v1.UpdateProductRequest = (function() { + + /** + * Properties of an UpdateProductRequest. + * @memberof google.cloud.vision.v1 + * @interface IUpdateProductRequest + * @property {google.cloud.vision.v1.IProduct|null} [product] UpdateProductRequest product + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductRequest updateMask + */ + + /** + * Constructs a new UpdateProductRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an UpdateProductRequest. + * @implements IUpdateProductRequest + * @constructor + * @param {google.cloud.vision.v1.IUpdateProductRequest=} [properties] Properties to set + */ + function UpdateProductRequest(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]]; + } + + /** + * UpdateProductRequest product. + * @member {google.cloud.vision.v1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @instance + */ + UpdateProductRequest.prototype.product = null; + + /** + * UpdateProductRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @instance + */ + UpdateProductRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1.IUpdateProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.UpdateProductRequest} UpdateProductRequest instance + */ + UpdateProductRequest.create = function create(properties) { + return new UpdateProductRequest(properties); + }; + + /** + * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.vision.v1.UpdateProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.UpdateProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.UpdateProductRequest} UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.UpdateProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.product = $root.google.cloud.vision.v1.Product.decode(reader, reader.uint32()); + break; + case 2: + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.UpdateProductRequest} UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateProductRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.UpdateProductRequest} UpdateProductRequest + */ + UpdateProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.UpdateProductRequest) + return object; + var message = new $root.google.cloud.vision.v1.UpdateProductRequest(); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1.UpdateProductRequest.product: object expected"); + message.product = $root.google.cloud.vision.v1.Product.fromObject(object.product); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.vision.v1.UpdateProductRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1.UpdateProductRequest} message UpdateProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.product = null; + object.updateMask = null; + } + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1.Product.toObject(message.product, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UpdateProductRequest; + })(); + + v1.DeleteProductRequest = (function() { + + /** + * Properties of a DeleteProductRequest. + * @memberof google.cloud.vision.v1 + * @interface IDeleteProductRequest + * @property {string|null} [name] DeleteProductRequest name + */ + + /** + * Constructs a new DeleteProductRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a DeleteProductRequest. + * @implements IDeleteProductRequest + * @constructor + * @param {google.cloud.vision.v1.IDeleteProductRequest=} [properties] Properties to set + */ + function DeleteProductRequest(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]]; + } + + /** + * DeleteProductRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @instance + */ + DeleteProductRequest.prototype.name = ""; + + /** + * Creates a new DeleteProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1.IDeleteProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.DeleteProductRequest} DeleteProductRequest instance + */ + DeleteProductRequest.create = function create(properties) { + return new DeleteProductRequest(properties); + }; + + /** + * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.vision.v1.DeleteProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DeleteProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.DeleteProductRequest} DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.DeleteProductRequest(); + 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 DeleteProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.DeleteProductRequest} DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteProductRequest.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 DeleteProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.DeleteProductRequest} DeleteProductRequest + */ + DeleteProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.DeleteProductRequest) + return object; + var message = new $root.google.cloud.vision.v1.DeleteProductRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1.DeleteProductRequest} message DeleteProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteProductRequest.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 DeleteProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteProductRequest; + })(); + + v1.CreateProductSetRequest = (function() { + + /** + * Properties of a CreateProductSetRequest. + * @memberof google.cloud.vision.v1 + * @interface ICreateProductSetRequest + * @property {string|null} [parent] CreateProductSetRequest parent + * @property {google.cloud.vision.v1.IProductSet|null} [productSet] CreateProductSetRequest productSet + * @property {string|null} [productSetId] CreateProductSetRequest productSetId + */ + + /** + * Constructs a new CreateProductSetRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a CreateProductSetRequest. + * @implements ICreateProductSetRequest + * @constructor + * @param {google.cloud.vision.v1.ICreateProductSetRequest=} [properties] Properties to set + */ + function CreateProductSetRequest(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]]; + } + + /** + * CreateProductSetRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.parent = ""; + + /** + * CreateProductSetRequest productSet. + * @member {google.cloud.vision.v1.IProductSet|null|undefined} productSet + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.productSet = null; + + /** + * CreateProductSetRequest productSetId. + * @member {string} productSetId + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.productSetId = ""; + + /** + * Creates a new CreateProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1.ICreateProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.CreateProductSetRequest} CreateProductSetRequest instance + */ + CreateProductSetRequest.create = function create(properties) { + return new CreateProductSetRequest(properties); + }; + + /** + * Encodes the specified CreateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.CreateProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.productSet != null && message.hasOwnProperty("productSet")) + $root.google.cloud.vision.v1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); + return writer; + }; + + /** + * Encodes the specified CreateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CreateProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.CreateProductSetRequest} CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CreateProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.productSet = $root.google.cloud.vision.v1.ProductSet.decode(reader, reader.uint32()); + break; + case 3: + message.productSetId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.CreateProductSetRequest} CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateProductSetRequest.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.productSet != null && message.hasOwnProperty("productSet")) { + var error = $root.google.cloud.vision.v1.ProductSet.verify(message.productSet); + if (error) + return "productSet." + error; + } + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (!$util.isString(message.productSetId)) + return "productSetId: string expected"; + return null; + }; + + /** + * Creates a CreateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.CreateProductSetRequest} CreateProductSetRequest + */ + CreateProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.CreateProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1.CreateProductSetRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.productSet != null) { + if (typeof object.productSet !== "object") + throw TypeError(".google.cloud.vision.v1.CreateProductSetRequest.productSet: object expected"); + message.productSet = $root.google.cloud.vision.v1.ProductSet.fromObject(object.productSet); + } + if (object.productSetId != null) + message.productSetId = String(object.productSetId); + return message; + }; + + /** + * Creates a plain object from a CreateProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1.CreateProductSetRequest} message CreateProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.productSet = null; + object.productSetId = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = $root.google.cloud.vision.v1.ProductSet.toObject(message.productSet, options); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + object.productSetId = message.productSetId; + return object; + }; + + /** + * Converts this CreateProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + CreateProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CreateProductSetRequest; + })(); + + v1.ListProductSetsRequest = (function() { + + /** + * Properties of a ListProductSetsRequest. + * @memberof google.cloud.vision.v1 + * @interface IListProductSetsRequest + * @property {string|null} [parent] ListProductSetsRequest parent + * @property {number|null} [pageSize] ListProductSetsRequest pageSize + * @property {string|null} [pageToken] ListProductSetsRequest pageToken + */ + + /** + * Constructs a new ListProductSetsRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ListProductSetsRequest. + * @implements IListProductSetsRequest + * @constructor + * @param {google.cloud.vision.v1.IListProductSetsRequest=} [properties] Properties to set + */ + function ListProductSetsRequest(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]]; + } + + /** + * ListProductSetsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.parent = ""; + + /** + * ListProductSetsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.pageSize = 0; + + /** + * ListProductSetsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductSetsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1.IListProductSetsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ListProductSetsRequest} ListProductSetsRequest instance + */ + ListProductSetsRequest.create = function create(properties) { + return new ListProductSetsRequest(properties); + }; + + /** + * Encodes the specified ListProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1.ListProductSetsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductSetsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductSetsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ListProductSetsRequest} ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ListProductSetsRequest(); + 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 ListProductSetsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ListProductSetsRequest} ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductSetsRequest message. + * @function verify + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductSetsRequest.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 ListProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ListProductSetsRequest} ListProductSetsRequest + */ + ListProductSetsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ListProductSetsRequest) + return object; + var message = new $root.google.cloud.vision.v1.ListProductSetsRequest(); + 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 ListProductSetsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1.ListProductSetsRequest} message ListProductSetsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductSetsRequest.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 ListProductSetsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductSetsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductSetsRequest; + })(); + + v1.ListProductSetsResponse = (function() { + + /** + * Properties of a ListProductSetsResponse. + * @memberof google.cloud.vision.v1 + * @interface IListProductSetsResponse + * @property {Array.|null} [productSets] ListProductSetsResponse productSets + * @property {string|null} [nextPageToken] ListProductSetsResponse nextPageToken + */ + + /** + * Constructs a new ListProductSetsResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ListProductSetsResponse. + * @implements IListProductSetsResponse + * @constructor + * @param {google.cloud.vision.v1.IListProductSetsResponse=} [properties] Properties to set + */ + function ListProductSetsResponse(properties) { + this.productSets = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductSetsResponse productSets. + * @member {Array.} productSets + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @instance + */ + ListProductSetsResponse.prototype.productSets = $util.emptyArray; + + /** + * ListProductSetsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @instance + */ + ListProductSetsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductSetsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1.IListProductSetsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ListProductSetsResponse} ListProductSetsResponse instance + */ + ListProductSetsResponse.create = function create(properties) { + return new ListProductSetsResponse(properties); + }; + + /** + * Encodes the specified ListProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1.ListProductSetsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSets != null && message.productSets.length) + for (var i = 0; i < message.productSets.length; ++i) + $root.google.cloud.vision.v1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductSetsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ListProductSetsResponse} ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ListProductSetsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.productSets && message.productSets.length)) + message.productSets = []; + message.productSets.push($root.google.cloud.vision.v1.ProductSet.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ListProductSetsResponse} ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductSetsResponse message. + * @function verify + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductSetsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.productSets != null && message.hasOwnProperty("productSets")) { + if (!Array.isArray(message.productSets)) + return "productSets: array expected"; + for (var i = 0; i < message.productSets.length; ++i) { + var error = $root.google.cloud.vision.v1.ProductSet.verify(message.productSets[i]); + if (error) + return "productSets." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ListProductSetsResponse} ListProductSetsResponse + */ + ListProductSetsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ListProductSetsResponse) + return object; + var message = new $root.google.cloud.vision.v1.ListProductSetsResponse(); + if (object.productSets) { + if (!Array.isArray(object.productSets)) + throw TypeError(".google.cloud.vision.v1.ListProductSetsResponse.productSets: array expected"); + message.productSets = []; + for (var i = 0; i < object.productSets.length; ++i) { + if (typeof object.productSets[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ListProductSetsResponse.productSets: object expected"); + message.productSets[i] = $root.google.cloud.vision.v1.ProductSet.fromObject(object.productSets[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductSetsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1.ListProductSetsResponse} message ListProductSetsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductSetsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productSets = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.productSets && message.productSets.length) { + object.productSets = []; + for (var j = 0; j < message.productSets.length; ++j) + object.productSets[j] = $root.google.cloud.vision.v1.ProductSet.toObject(message.productSets[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductSetsResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductSetsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductSetsResponse; + })(); + + v1.GetProductSetRequest = (function() { + + /** + * Properties of a GetProductSetRequest. + * @memberof google.cloud.vision.v1 + * @interface IGetProductSetRequest + * @property {string|null} [name] GetProductSetRequest name + */ + + /** + * Constructs a new GetProductSetRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a GetProductSetRequest. + * @implements IGetProductSetRequest + * @constructor + * @param {google.cloud.vision.v1.IGetProductSetRequest=} [properties] Properties to set + */ + function GetProductSetRequest(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]]; + } + + /** + * GetProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @instance + */ + GetProductSetRequest.prototype.name = ""; + + /** + * Creates a new GetProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1.IGetProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.GetProductSetRequest} GetProductSetRequest instance + */ + GetProductSetRequest.create = function create(properties) { + return new GetProductSetRequest(properties); + }; + + /** + * Encodes the specified GetProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.GetProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GetProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.GetProductSetRequest} GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.GetProductSetRequest(); + 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 GetProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.GetProductSetRequest} GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProductSetRequest.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 GetProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.GetProductSetRequest} GetProductSetRequest + */ + GetProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.GetProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1.GetProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1.GetProductSetRequest} message GetProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProductSetRequest.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 GetProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + GetProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetProductSetRequest; + })(); + + v1.UpdateProductSetRequest = (function() { + + /** + * Properties of an UpdateProductSetRequest. + * @memberof google.cloud.vision.v1 + * @interface IUpdateProductSetRequest + * @property {google.cloud.vision.v1.IProductSet|null} [productSet] UpdateProductSetRequest productSet + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductSetRequest updateMask + */ + + /** + * Constructs a new UpdateProductSetRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an UpdateProductSetRequest. + * @implements IUpdateProductSetRequest + * @constructor + * @param {google.cloud.vision.v1.IUpdateProductSetRequest=} [properties] Properties to set + */ + function UpdateProductSetRequest(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]]; + } + + /** + * UpdateProductSetRequest productSet. + * @member {google.cloud.vision.v1.IProductSet|null|undefined} productSet + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @instance + */ + UpdateProductSetRequest.prototype.productSet = null; + + /** + * UpdateProductSetRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @instance + */ + UpdateProductSetRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1.IUpdateProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.UpdateProductSetRequest} UpdateProductSetRequest instance + */ + UpdateProductSetRequest.create = function create(properties) { + return new UpdateProductSetRequest(properties); + }; + + /** + * Encodes the specified UpdateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.UpdateProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSet != null && message.hasOwnProperty("productSet")) + $root.google.cloud.vision.v1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.UpdateProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.UpdateProductSetRequest} UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.UpdateProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.productSet = $root.google.cloud.vision.v1.ProductSet.decode(reader, reader.uint32()); + break; + case 2: + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.UpdateProductSetRequest} UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateProductSetRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.productSet != null && message.hasOwnProperty("productSet")) { + var error = $root.google.cloud.vision.v1.ProductSet.verify(message.productSet); + if (error) + return "productSet." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.UpdateProductSetRequest} UpdateProductSetRequest + */ + UpdateProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.UpdateProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1.UpdateProductSetRequest(); + if (object.productSet != null) { + if (typeof object.productSet !== "object") + throw TypeError(".google.cloud.vision.v1.UpdateProductSetRequest.productSet: object expected"); + message.productSet = $root.google.cloud.vision.v1.ProductSet.fromObject(object.productSet); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.vision.v1.UpdateProductSetRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1.UpdateProductSetRequest} message UpdateProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.productSet = null; + object.updateMask = null; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = $root.google.cloud.vision.v1.ProductSet.toObject(message.productSet, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UpdateProductSetRequest; + })(); + + v1.DeleteProductSetRequest = (function() { + + /** + * Properties of a DeleteProductSetRequest. + * @memberof google.cloud.vision.v1 + * @interface IDeleteProductSetRequest + * @property {string|null} [name] DeleteProductSetRequest name + */ + + /** + * Constructs a new DeleteProductSetRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a DeleteProductSetRequest. + * @implements IDeleteProductSetRequest + * @constructor + * @param {google.cloud.vision.v1.IDeleteProductSetRequest=} [properties] Properties to set + */ + function DeleteProductSetRequest(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]]; + } + + /** + * DeleteProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @instance + */ + DeleteProductSetRequest.prototype.name = ""; + + /** + * Creates a new DeleteProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1.IDeleteProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.DeleteProductSetRequest} DeleteProductSetRequest instance + */ + DeleteProductSetRequest.create = function create(properties) { + return new DeleteProductSetRequest(properties); + }; + + /** + * Encodes the specified DeleteProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.DeleteProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DeleteProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.DeleteProductSetRequest} DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.DeleteProductSetRequest(); + 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 DeleteProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.DeleteProductSetRequest} DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteProductSetRequest.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 DeleteProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.DeleteProductSetRequest} DeleteProductSetRequest + */ + DeleteProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.DeleteProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1.DeleteProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1.DeleteProductSetRequest} message DeleteProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteProductSetRequest.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 DeleteProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteProductSetRequest; + })(); + + v1.CreateReferenceImageRequest = (function() { + + /** + * Properties of a CreateReferenceImageRequest. + * @memberof google.cloud.vision.v1 + * @interface ICreateReferenceImageRequest + * @property {string|null} [parent] CreateReferenceImageRequest parent + * @property {google.cloud.vision.v1.IReferenceImage|null} [referenceImage] CreateReferenceImageRequest referenceImage + * @property {string|null} [referenceImageId] CreateReferenceImageRequest referenceImageId + */ + + /** + * Constructs a new CreateReferenceImageRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a CreateReferenceImageRequest. + * @implements ICreateReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1.ICreateReferenceImageRequest=} [properties] Properties to set + */ + function CreateReferenceImageRequest(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]]; + } + + /** + * CreateReferenceImageRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.parent = ""; + + /** + * CreateReferenceImageRequest referenceImage. + * @member {google.cloud.vision.v1.IReferenceImage|null|undefined} referenceImage + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.referenceImage = null; + + /** + * CreateReferenceImageRequest referenceImageId. + * @member {string} referenceImageId + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.referenceImageId = ""; + + /** + * Creates a new CreateReferenceImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.ICreateReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.CreateReferenceImageRequest} CreateReferenceImageRequest instance + */ + CreateReferenceImageRequest.create = function create(properties) { + return new CreateReferenceImageRequest(properties); + }; + + /** + * Encodes the specified CreateReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1.CreateReferenceImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateReferenceImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + $root.google.cloud.vision.v1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); + return writer; + }; + + /** + * Encodes the specified CreateReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CreateReferenceImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.CreateReferenceImageRequest} CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateReferenceImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CreateReferenceImageRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.referenceImage = $root.google.cloud.vision.v1.ReferenceImage.decode(reader, reader.uint32()); + break; + case 3: + message.referenceImageId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.CreateReferenceImageRequest} CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateReferenceImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateReferenceImageRequest.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.referenceImage != null && message.hasOwnProperty("referenceImage")) { + var error = $root.google.cloud.vision.v1.ReferenceImage.verify(message.referenceImage); + if (error) + return "referenceImage." + error; + } + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (!$util.isString(message.referenceImageId)) + return "referenceImageId: string expected"; + return null; + }; + + /** + * Creates a CreateReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.CreateReferenceImageRequest} CreateReferenceImageRequest + */ + CreateReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.CreateReferenceImageRequest) + return object; + var message = new $root.google.cloud.vision.v1.CreateReferenceImageRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.referenceImage != null) { + if (typeof object.referenceImage !== "object") + throw TypeError(".google.cloud.vision.v1.CreateReferenceImageRequest.referenceImage: object expected"); + message.referenceImage = $root.google.cloud.vision.v1.ReferenceImage.fromObject(object.referenceImage); + } + if (object.referenceImageId != null) + message.referenceImageId = String(object.referenceImageId); + return message; + }; + + /** + * Creates a plain object from a CreateReferenceImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.CreateReferenceImageRequest} message CreateReferenceImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateReferenceImageRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.referenceImage = null; + object.referenceImageId = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + object.referenceImage = $root.google.cloud.vision.v1.ReferenceImage.toObject(message.referenceImage, options); + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + object.referenceImageId = message.referenceImageId; + return object; + }; + + /** + * Converts this CreateReferenceImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @instance + * @returns {Object.} JSON object + */ + CreateReferenceImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CreateReferenceImageRequest; + })(); + + v1.ListReferenceImagesRequest = (function() { + + /** + * Properties of a ListReferenceImagesRequest. + * @memberof google.cloud.vision.v1 + * @interface IListReferenceImagesRequest + * @property {string|null} [parent] ListReferenceImagesRequest parent + * @property {number|null} [pageSize] ListReferenceImagesRequest pageSize + * @property {string|null} [pageToken] ListReferenceImagesRequest pageToken + */ + + /** + * Constructs a new ListReferenceImagesRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ListReferenceImagesRequest. + * @implements IListReferenceImagesRequest + * @constructor + * @param {google.cloud.vision.v1.IListReferenceImagesRequest=} [properties] Properties to set + */ + function ListReferenceImagesRequest(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]]; + } + + /** + * ListReferenceImagesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.parent = ""; + + /** + * ListReferenceImagesRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.pageSize = 0; + + /** + * ListReferenceImagesRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.pageToken = ""; + + /** + * Creates a new ListReferenceImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1.IListReferenceImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ListReferenceImagesRequest} ListReferenceImagesRequest instance + */ + ListReferenceImagesRequest.create = function create(properties) { + return new ListReferenceImagesRequest(properties); + }; + + /** + * Encodes the specified ListReferenceImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.ListReferenceImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListReferenceImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListReferenceImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ListReferenceImagesRequest} ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ListReferenceImagesRequest(); + 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 ListReferenceImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ListReferenceImagesRequest} ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListReferenceImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListReferenceImagesRequest.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 ListReferenceImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ListReferenceImagesRequest} ListReferenceImagesRequest + */ + ListReferenceImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ListReferenceImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1.ListReferenceImagesRequest(); + 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 ListReferenceImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1.ListReferenceImagesRequest} message ListReferenceImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListReferenceImagesRequest.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 ListReferenceImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @instance + * @returns {Object.} JSON object + */ + ListReferenceImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListReferenceImagesRequest; + })(); + + v1.ListReferenceImagesResponse = (function() { + + /** + * Properties of a ListReferenceImagesResponse. + * @memberof google.cloud.vision.v1 + * @interface IListReferenceImagesResponse + * @property {Array.|null} [referenceImages] ListReferenceImagesResponse referenceImages + * @property {number|null} [pageSize] ListReferenceImagesResponse pageSize + * @property {string|null} [nextPageToken] ListReferenceImagesResponse nextPageToken + */ + + /** + * Constructs a new ListReferenceImagesResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ListReferenceImagesResponse. + * @implements IListReferenceImagesResponse + * @constructor + * @param {google.cloud.vision.v1.IListReferenceImagesResponse=} [properties] Properties to set + */ + function ListReferenceImagesResponse(properties) { + this.referenceImages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListReferenceImagesResponse referenceImages. + * @member {Array.} referenceImages + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @instance + */ + ListReferenceImagesResponse.prototype.referenceImages = $util.emptyArray; + + /** + * ListReferenceImagesResponse pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @instance + */ + ListReferenceImagesResponse.prototype.pageSize = 0; + + /** + * ListReferenceImagesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @instance + */ + ListReferenceImagesResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListReferenceImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1.IListReferenceImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ListReferenceImagesResponse} ListReferenceImagesResponse instance + */ + ListReferenceImagesResponse.create = function create(properties) { + return new ListReferenceImagesResponse(properties); + }; + + /** + * Encodes the specified ListReferenceImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.ListReferenceImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.referenceImages != null && message.referenceImages.length) + for (var i = 0; i < message.referenceImages.length; ++i) + $root.google.cloud.vision.v1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListReferenceImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListReferenceImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ListReferenceImagesResponse} ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ListReferenceImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1.ReferenceImage.decode(reader, reader.uint32())); + break; + case 2: + message.pageSize = reader.int32(); + break; + case 3: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ListReferenceImagesResponse} ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListReferenceImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListReferenceImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { + if (!Array.isArray(message.referenceImages)) + return "referenceImages: array expected"; + for (var i = 0; i < message.referenceImages.length; ++i) { + var error = $root.google.cloud.vision.v1.ReferenceImage.verify(message.referenceImages[i]); + if (error) + return "referenceImages." + error; + } + } + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListReferenceImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ListReferenceImagesResponse} ListReferenceImagesResponse + */ + ListReferenceImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ListReferenceImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1.ListReferenceImagesResponse(); + if (object.referenceImages) { + if (!Array.isArray(object.referenceImages)) + throw TypeError(".google.cloud.vision.v1.ListReferenceImagesResponse.referenceImages: array expected"); + message.referenceImages = []; + for (var i = 0; i < object.referenceImages.length; ++i) { + if (typeof object.referenceImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ListReferenceImagesResponse.referenceImages: object expected"); + message.referenceImages[i] = $root.google.cloud.vision.v1.ReferenceImage.fromObject(object.referenceImages[i]); + } + } + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListReferenceImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1.ListReferenceImagesResponse} message ListReferenceImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListReferenceImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.referenceImages = []; + if (options.defaults) { + object.pageSize = 0; + object.nextPageToken = ""; + } + if (message.referenceImages && message.referenceImages.length) { + object.referenceImages = []; + for (var j = 0; j < message.referenceImages.length; ++j) + object.referenceImages[j] = $root.google.cloud.vision.v1.ReferenceImage.toObject(message.referenceImages[j], options); + } + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListReferenceImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @instance + * @returns {Object.} JSON object + */ + ListReferenceImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListReferenceImagesResponse; + })(); + + v1.GetReferenceImageRequest = (function() { + + /** + * Properties of a GetReferenceImageRequest. + * @memberof google.cloud.vision.v1 + * @interface IGetReferenceImageRequest + * @property {string|null} [name] GetReferenceImageRequest name + */ + + /** + * Constructs a new GetReferenceImageRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a GetReferenceImageRequest. + * @implements IGetReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1.IGetReferenceImageRequest=} [properties] Properties to set + */ + function GetReferenceImageRequest(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]]; + } + + /** + * GetReferenceImageRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @instance + */ + GetReferenceImageRequest.prototype.name = ""; + + /** + * Creates a new GetReferenceImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.IGetReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.GetReferenceImageRequest} GetReferenceImageRequest instance + */ + GetReferenceImageRequest.create = function create(properties) { + return new GetReferenceImageRequest(properties); + }; + + /** + * Encodes the specified GetReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1.GetReferenceImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetReferenceImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GetReferenceImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetReferenceImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.GetReferenceImageRequest} GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetReferenceImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.GetReferenceImageRequest(); + 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 GetReferenceImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.GetReferenceImageRequest} GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetReferenceImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetReferenceImageRequest.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 GetReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.GetReferenceImageRequest} GetReferenceImageRequest + */ + GetReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.GetReferenceImageRequest) + return object; + var message = new $root.google.cloud.vision.v1.GetReferenceImageRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetReferenceImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.GetReferenceImageRequest} message GetReferenceImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetReferenceImageRequest.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 GetReferenceImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @instance + * @returns {Object.} JSON object + */ + GetReferenceImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetReferenceImageRequest; + })(); + + v1.DeleteReferenceImageRequest = (function() { + + /** + * Properties of a DeleteReferenceImageRequest. + * @memberof google.cloud.vision.v1 + * @interface IDeleteReferenceImageRequest + * @property {string|null} [name] DeleteReferenceImageRequest name + */ + + /** + * Constructs a new DeleteReferenceImageRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a DeleteReferenceImageRequest. + * @implements IDeleteReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1.IDeleteReferenceImageRequest=} [properties] Properties to set + */ + function DeleteReferenceImageRequest(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]]; + } + + /** + * DeleteReferenceImageRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @instance + */ + DeleteReferenceImageRequest.prototype.name = ""; + + /** + * Creates a new DeleteReferenceImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.IDeleteReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.DeleteReferenceImageRequest} DeleteReferenceImageRequest instance + */ + DeleteReferenceImageRequest.create = function create(properties) { + return new DeleteReferenceImageRequest(properties); + }; + + /** + * Encodes the specified DeleteReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1.DeleteReferenceImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteReferenceImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DeleteReferenceImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteReferenceImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.DeleteReferenceImageRequest(); + 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 DeleteReferenceImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteReferenceImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteReferenceImageRequest.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 DeleteReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + */ + DeleteReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.DeleteReferenceImageRequest) + return object; + var message = new $root.google.cloud.vision.v1.DeleteReferenceImageRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteReferenceImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1.DeleteReferenceImageRequest} message DeleteReferenceImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteReferenceImageRequest.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 DeleteReferenceImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteReferenceImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteReferenceImageRequest; + })(); + + v1.AddProductToProductSetRequest = (function() { + + /** + * Properties of an AddProductToProductSetRequest. + * @memberof google.cloud.vision.v1 + * @interface IAddProductToProductSetRequest + * @property {string|null} [name] AddProductToProductSetRequest name + * @property {string|null} [product] AddProductToProductSetRequest product + */ + + /** + * Constructs a new AddProductToProductSetRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an AddProductToProductSetRequest. + * @implements IAddProductToProductSetRequest + * @constructor + * @param {google.cloud.vision.v1.IAddProductToProductSetRequest=} [properties] Properties to set + */ + function AddProductToProductSetRequest(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]]; + } + + /** + * AddProductToProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @instance + */ + AddProductToProductSetRequest.prototype.name = ""; + + /** + * AddProductToProductSetRequest product. + * @member {string} product + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @instance + */ + AddProductToProductSetRequest.prototype.product = ""; + + /** + * Creates a new AddProductToProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1.IAddProductToProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AddProductToProductSetRequest} AddProductToProductSetRequest instance + */ + AddProductToProductSetRequest.create = function create(properties) { + return new AddProductToProductSetRequest(properties); + }; + + /** + * Encodes the specified AddProductToProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.AddProductToProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddProductToProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.product != null && message.hasOwnProperty("product")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); + return writer; + }; + + /** + * Encodes the specified AddProductToProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AddProductToProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddProductToProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.AddProductToProductSetRequest} AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddProductToProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AddProductToProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.product = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.AddProductToProductSetRequest} AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddProductToProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AddProductToProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AddProductToProductSetRequest.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.product != null && message.hasOwnProperty("product")) + if (!$util.isString(message.product)) + return "product: string expected"; + return null; + }; + + /** + * Creates an AddProductToProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.AddProductToProductSetRequest} AddProductToProductSetRequest + */ + AddProductToProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AddProductToProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1.AddProductToProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.product != null) + message.product = String(object.product); + return message; + }; + + /** + * Creates a plain object from an AddProductToProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1.AddProductToProductSetRequest} message AddProductToProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AddProductToProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.product = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.product != null && message.hasOwnProperty("product")) + object.product = message.product; + return object; + }; + + /** + * Converts this AddProductToProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + AddProductToProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AddProductToProductSetRequest; + })(); + + v1.RemoveProductFromProductSetRequest = (function() { + + /** + * Properties of a RemoveProductFromProductSetRequest. + * @memberof google.cloud.vision.v1 + * @interface IRemoveProductFromProductSetRequest + * @property {string|null} [name] RemoveProductFromProductSetRequest name + * @property {string|null} [product] RemoveProductFromProductSetRequest product + */ + + /** + * Constructs a new RemoveProductFromProductSetRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a RemoveProductFromProductSetRequest. + * @implements IRemoveProductFromProductSetRequest + * @constructor + * @param {google.cloud.vision.v1.IRemoveProductFromProductSetRequest=} [properties] Properties to set + */ + function RemoveProductFromProductSetRequest(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]]; + } + + /** + * RemoveProductFromProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @instance + */ + RemoveProductFromProductSetRequest.prototype.name = ""; + + /** + * RemoveProductFromProductSetRequest product. + * @member {string} product + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @instance + */ + RemoveProductFromProductSetRequest.prototype.product = ""; + + /** + * Creates a new RemoveProductFromProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1.IRemoveProductFromProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest instance + */ + RemoveProductFromProductSetRequest.create = function create(properties) { + return new RemoveProductFromProductSetRequest(properties); + }; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RemoveProductFromProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.product != null && message.hasOwnProperty("product")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); + return writer; + }; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RemoveProductFromProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RemoveProductFromProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.RemoveProductFromProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.product = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RemoveProductFromProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RemoveProductFromProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RemoveProductFromProductSetRequest.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.product != null && message.hasOwnProperty("product")) + if (!$util.isString(message.product)) + return "product: string expected"; + return null; + }; + + /** + * Creates a RemoveProductFromProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + */ + RemoveProductFromProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.RemoveProductFromProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1.RemoveProductFromProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.product != null) + message.product = String(object.product); + return message; + }; + + /** + * Creates a plain object from a RemoveProductFromProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1.RemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RemoveProductFromProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.product = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.product != null && message.hasOwnProperty("product")) + object.product = message.product; + return object; + }; + + /** + * Converts this RemoveProductFromProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + RemoveProductFromProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RemoveProductFromProductSetRequest; + })(); + + v1.ListProductsInProductSetRequest = (function() { + + /** + * Properties of a ListProductsInProductSetRequest. + * @memberof google.cloud.vision.v1 + * @interface IListProductsInProductSetRequest + * @property {string|null} [name] ListProductsInProductSetRequest name + * @property {number|null} [pageSize] ListProductsInProductSetRequest pageSize + * @property {string|null} [pageToken] ListProductsInProductSetRequest pageToken + */ + + /** + * Constructs a new ListProductsInProductSetRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ListProductsInProductSetRequest. + * @implements IListProductsInProductSetRequest + * @constructor + * @param {google.cloud.vision.v1.IListProductsInProductSetRequest=} [properties] Properties to set + */ + function ListProductsInProductSetRequest(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]]; + } + + /** + * ListProductsInProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.name = ""; + + /** + * ListProductsInProductSetRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.pageSize = 0; + + /** + * ListProductsInProductSetRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductsInProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1.IListProductsInProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ListProductsInProductSetRequest} ListProductsInProductSetRequest instance + */ + ListProductsInProductSetRequest.create = function create(properties) { + return new ListProductsInProductSetRequest(properties); + }; + + /** + * Encodes the specified ListProductsInProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1.ListProductsInProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsInProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductsInProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ListProductsInProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = 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 ListProductsInProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsInProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsInProductSetRequest.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.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 ListProductsInProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + */ + ListProductsInProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ListProductsInProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1.ListProductsInProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + 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 ListProductsInProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1.ListProductsInProductSetRequest} message ListProductsInProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsInProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.pageSize = 0; + object.pageToken = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + 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 ListProductsInProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductsInProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsInProductSetRequest; + })(); + + v1.ListProductsInProductSetResponse = (function() { + + /** + * Properties of a ListProductsInProductSetResponse. + * @memberof google.cloud.vision.v1 + * @interface IListProductsInProductSetResponse + * @property {Array.|null} [products] ListProductsInProductSetResponse products + * @property {string|null} [nextPageToken] ListProductsInProductSetResponse nextPageToken + */ + + /** + * Constructs a new ListProductsInProductSetResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ListProductsInProductSetResponse. + * @implements IListProductsInProductSetResponse + * @constructor + * @param {google.cloud.vision.v1.IListProductsInProductSetResponse=} [properties] Properties to set + */ + function ListProductsInProductSetResponse(properties) { + this.products = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsInProductSetResponse products. + * @member {Array.} products + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @instance + */ + ListProductsInProductSetResponse.prototype.products = $util.emptyArray; + + /** + * ListProductsInProductSetResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @instance + */ + ListProductsInProductSetResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductsInProductSetResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1.IListProductsInProductSetResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ListProductsInProductSetResponse} ListProductsInProductSetResponse instance + */ + ListProductsInProductSetResponse.create = function create(properties) { + return new ListProductsInProductSetResponse(properties); + }; + + /** + * Encodes the specified ListProductsInProductSetResponse message. Does not implicitly {@link google.cloud.vision.v1.ListProductsInProductSetResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.cloud.vision.v1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsInProductSetResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ListProductsInProductSetResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ListProductsInProductSetResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1.Product.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsInProductSetResponse message. + * @function verify + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsInProductSetResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.cloud.vision.v1.Product.verify(message.products[i]); + if (error) + return "products." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsInProductSetResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + */ + ListProductsInProductSetResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ListProductsInProductSetResponse) + return object; + var message = new $root.google.cloud.vision.v1.ListProductsInProductSetResponse(); + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.cloud.vision.v1.ListProductsInProductSetResponse.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ListProductsInProductSetResponse.products: object expected"); + message.products[i] = $root.google.cloud.vision.v1.Product.fromObject(object.products[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsInProductSetResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1.ListProductsInProductSetResponse} message ListProductsInProductSetResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsInProductSetResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.products = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.cloud.vision.v1.Product.toObject(message.products[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductsInProductSetResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductsInProductSetResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsInProductSetResponse; + })(); + + v1.ImportProductSetsGcsSource = (function() { + + /** + * Properties of an ImportProductSetsGcsSource. + * @memberof google.cloud.vision.v1 + * @interface IImportProductSetsGcsSource + * @property {string|null} [csvFileUri] ImportProductSetsGcsSource csvFileUri + */ + + /** + * Constructs a new ImportProductSetsGcsSource. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImportProductSetsGcsSource. + * @implements IImportProductSetsGcsSource + * @constructor + * @param {google.cloud.vision.v1.IImportProductSetsGcsSource=} [properties] Properties to set + */ + function ImportProductSetsGcsSource(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]]; + } + + /** + * ImportProductSetsGcsSource csvFileUri. + * @member {string} csvFileUri + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @instance + */ + ImportProductSetsGcsSource.prototype.csvFileUri = ""; + + /** + * Creates a new ImportProductSetsGcsSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1.IImportProductSetsGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImportProductSetsGcsSource} ImportProductSetsGcsSource instance + */ + ImportProductSetsGcsSource.create = function create(properties) { + return new ImportProductSetsGcsSource(properties); + }; + + /** + * Encodes the specified ImportProductSetsGcsSource message. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsGcsSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsGcsSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsGcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsGcsSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsGcsSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsGcsSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImportProductSetsGcsSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.csvFileUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsGcsSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsGcsSource message. + * @function verify + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsGcsSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (!$util.isString(message.csvFileUri)) + return "csvFileUri: string expected"; + return null; + }; + + /** + * Creates an ImportProductSetsGcsSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + */ + ImportProductSetsGcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImportProductSetsGcsSource) + return object; + var message = new $root.google.cloud.vision.v1.ImportProductSetsGcsSource(); + if (object.csvFileUri != null) + message.csvFileUri = String(object.csvFileUri); + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsGcsSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1.ImportProductSetsGcsSource} message ImportProductSetsGcsSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsGcsSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.csvFileUri = ""; + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + object.csvFileUri = message.csvFileUri; + return object; + }; + + /** + * Converts this ImportProductSetsGcsSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsGcsSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsGcsSource; + })(); + + v1.ImportProductSetsInputConfig = (function() { + + /** + * Properties of an ImportProductSetsInputConfig. + * @memberof google.cloud.vision.v1 + * @interface IImportProductSetsInputConfig + * @property {google.cloud.vision.v1.IImportProductSetsGcsSource|null} [gcsSource] ImportProductSetsInputConfig gcsSource + */ + + /** + * Constructs a new ImportProductSetsInputConfig. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImportProductSetsInputConfig. + * @implements IImportProductSetsInputConfig + * @constructor + * @param {google.cloud.vision.v1.IImportProductSetsInputConfig=} [properties] Properties to set + */ + function ImportProductSetsInputConfig(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]]; + } + + /** + * ImportProductSetsInputConfig gcsSource. + * @member {google.cloud.vision.v1.IImportProductSetsGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @instance + */ + ImportProductSetsInputConfig.prototype.gcsSource = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ImportProductSetsInputConfig source. + * @member {"gcsSource"|undefined} source + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @instance + */ + Object.defineProperty(ImportProductSetsInputConfig.prototype, "source", { + get: $util.oneOfGetter($oneOfFields = ["gcsSource"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ImportProductSetsInputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1.IImportProductSetsInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImportProductSetsInputConfig} ImportProductSetsInputConfig instance + */ + ImportProductSetsInputConfig.create = function create(properties) { + return new ImportProductSetsInputConfig(properties); + }; + + /** + * Encodes the specified ImportProductSetsInputConfig message. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsInputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsInputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsInputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsInputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsInputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsInputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImportProductSetsInputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsSource = $root.google.cloud.vision.v1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsInputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsInputConfig message. + * @function verify + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsInputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + properties.source = 1; + { + var error = $root.google.cloud.vision.v1.ImportProductSetsGcsSource.verify(message.gcsSource); + if (error) + return "gcsSource." + error; + } + } + return null; + }; + + /** + * Creates an ImportProductSetsInputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + */ + ImportProductSetsInputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImportProductSetsInputConfig) + return object; + var message = new $root.google.cloud.vision.v1.ImportProductSetsInputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1.ImportProductSetsInputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1.ImportProductSetsGcsSource.fromObject(object.gcsSource); + } + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsInputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1.ImportProductSetsInputConfig} message ImportProductSetsInputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsInputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + object.gcsSource = $root.google.cloud.vision.v1.ImportProductSetsGcsSource.toObject(message.gcsSource, options); + if (options.oneofs) + object.source = "gcsSource"; + } + return object; + }; + + /** + * Converts this ImportProductSetsInputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsInputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsInputConfig; + })(); + + v1.ImportProductSetsRequest = (function() { + + /** + * Properties of an ImportProductSetsRequest. + * @memberof google.cloud.vision.v1 + * @interface IImportProductSetsRequest + * @property {string|null} [parent] ImportProductSetsRequest parent + * @property {google.cloud.vision.v1.IImportProductSetsInputConfig|null} [inputConfig] ImportProductSetsRequest inputConfig + */ + + /** + * Constructs a new ImportProductSetsRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImportProductSetsRequest. + * @implements IImportProductSetsRequest + * @constructor + * @param {google.cloud.vision.v1.IImportProductSetsRequest=} [properties] Properties to set + */ + function ImportProductSetsRequest(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]]; + } + + /** + * ImportProductSetsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @instance + */ + ImportProductSetsRequest.prototype.parent = ""; + + /** + * ImportProductSetsRequest inputConfig. + * @member {google.cloud.vision.v1.IImportProductSetsInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @instance + */ + ImportProductSetsRequest.prototype.inputConfig = null; + + /** + * Creates a new ImportProductSetsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1.IImportProductSetsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImportProductSetsRequest} ImportProductSetsRequest instance + */ + ImportProductSetsRequest.create = function create(properties) { + return new ImportProductSetsRequest(properties); + }; + + /** + * Encodes the specified ImportProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ImportProductSetsRequest} ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImportProductSetsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.inputConfig = $root.google.cloud.vision.v1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ImportProductSetsRequest} ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsRequest message. + * @function verify + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsRequest.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.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1.ImportProductSetsInputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + return null; + }; + + /** + * Creates an ImportProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ImportProductSetsRequest} ImportProductSetsRequest + */ + ImportProductSetsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImportProductSetsRequest) + return object; + var message = new $root.google.cloud.vision.v1.ImportProductSetsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.ImportProductSetsRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1.ImportProductSetsInputConfig.fromObject(object.inputConfig); + } + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1.ImportProductSetsRequest} message ImportProductSetsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.inputConfig = null; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1.ImportProductSetsInputConfig.toObject(message.inputConfig, options); + return object; + }; + + /** + * Converts this ImportProductSetsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsRequest; + })(); + + v1.ImportProductSetsResponse = (function() { + + /** + * Properties of an ImportProductSetsResponse. + * @memberof google.cloud.vision.v1 + * @interface IImportProductSetsResponse + * @property {Array.|null} [referenceImages] ImportProductSetsResponse referenceImages + * @property {Array.|null} [statuses] ImportProductSetsResponse statuses + */ + + /** + * Constructs a new ImportProductSetsResponse. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImportProductSetsResponse. + * @implements IImportProductSetsResponse + * @constructor + * @param {google.cloud.vision.v1.IImportProductSetsResponse=} [properties] Properties to set + */ + function ImportProductSetsResponse(properties) { + this.referenceImages = []; + this.statuses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImportProductSetsResponse referenceImages. + * @member {Array.} referenceImages + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @instance + */ + ImportProductSetsResponse.prototype.referenceImages = $util.emptyArray; + + /** + * ImportProductSetsResponse statuses. + * @member {Array.} statuses + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @instance + */ + ImportProductSetsResponse.prototype.statuses = $util.emptyArray; + + /** + * Creates a new ImportProductSetsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1.IImportProductSetsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImportProductSetsResponse} ImportProductSetsResponse instance + */ + ImportProductSetsResponse.create = function create(properties) { + return new ImportProductSetsResponse(properties); + }; + + /** + * Encodes the specified ImportProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.referenceImages != null && message.referenceImages.length) + for (var i = 0; i < message.referenceImages.length; ++i) + $root.google.cloud.vision.v1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.statuses != null && message.statuses.length) + for (var i = 0; i < message.statuses.length; ++i) + $root.google.rpc.Status.encode(message.statuses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImportProductSetsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ImportProductSetsResponse} ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImportProductSetsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1.ReferenceImage.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.statuses && message.statuses.length)) + message.statuses = []; + message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ImportProductSetsResponse} ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsResponse message. + * @function verify + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { + if (!Array.isArray(message.referenceImages)) + return "referenceImages: array expected"; + for (var i = 0; i < message.referenceImages.length; ++i) { + var error = $root.google.cloud.vision.v1.ReferenceImage.verify(message.referenceImages[i]); + if (error) + return "referenceImages." + error; + } + } + if (message.statuses != null && message.hasOwnProperty("statuses")) { + if (!Array.isArray(message.statuses)) + return "statuses: array expected"; + for (var i = 0; i < message.statuses.length; ++i) { + var error = $root.google.rpc.Status.verify(message.statuses[i]); + if (error) + return "statuses." + error; + } + } + return null; + }; + + /** + * Creates an ImportProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ImportProductSetsResponse} ImportProductSetsResponse + */ + ImportProductSetsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImportProductSetsResponse) + return object; + var message = new $root.google.cloud.vision.v1.ImportProductSetsResponse(); + if (object.referenceImages) { + if (!Array.isArray(object.referenceImages)) + throw TypeError(".google.cloud.vision.v1.ImportProductSetsResponse.referenceImages: array expected"); + message.referenceImages = []; + for (var i = 0; i < object.referenceImages.length; ++i) { + if (typeof object.referenceImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ImportProductSetsResponse.referenceImages: object expected"); + message.referenceImages[i] = $root.google.cloud.vision.v1.ReferenceImage.fromObject(object.referenceImages[i]); + } + } + if (object.statuses) { + if (!Array.isArray(object.statuses)) + throw TypeError(".google.cloud.vision.v1.ImportProductSetsResponse.statuses: array expected"); + message.statuses = []; + for (var i = 0; i < object.statuses.length; ++i) { + if (typeof object.statuses[i] !== "object") + throw TypeError(".google.cloud.vision.v1.ImportProductSetsResponse.statuses: object expected"); + message.statuses[i] = $root.google.rpc.Status.fromObject(object.statuses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1.ImportProductSetsResponse} message ImportProductSetsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.referenceImages = []; + object.statuses = []; + } + if (message.referenceImages && message.referenceImages.length) { + object.referenceImages = []; + for (var j = 0; j < message.referenceImages.length; ++j) + object.referenceImages[j] = $root.google.cloud.vision.v1.ReferenceImage.toObject(message.referenceImages[j], options); + } + if (message.statuses && message.statuses.length) { + object.statuses = []; + for (var j = 0; j < message.statuses.length; ++j) + object.statuses[j] = $root.google.rpc.Status.toObject(message.statuses[j], options); + } + return object; + }; + + /** + * Converts this ImportProductSetsResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsResponse; + })(); + + v1.BatchOperationMetadata = (function() { + + /** + * Properties of a BatchOperationMetadata. + * @memberof google.cloud.vision.v1 + * @interface IBatchOperationMetadata + * @property {google.cloud.vision.v1.BatchOperationMetadata.State|null} [state] BatchOperationMetadata state + * @property {google.protobuf.ITimestamp|null} [submitTime] BatchOperationMetadata submitTime + * @property {google.protobuf.ITimestamp|null} [endTime] BatchOperationMetadata endTime + */ + + /** + * Constructs a new BatchOperationMetadata. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a BatchOperationMetadata. + * @implements IBatchOperationMetadata + * @constructor + * @param {google.cloud.vision.v1.IBatchOperationMetadata=} [properties] Properties to set + */ + function BatchOperationMetadata(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]]; + } + + /** + * BatchOperationMetadata state. + * @member {google.cloud.vision.v1.BatchOperationMetadata.State} state + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.state = 0; + + /** + * BatchOperationMetadata submitTime. + * @member {google.protobuf.ITimestamp|null|undefined} submitTime + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.submitTime = null; + + /** + * BatchOperationMetadata endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.endTime = null; + + /** + * Creates a new BatchOperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1.IBatchOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BatchOperationMetadata} BatchOperationMetadata instance + */ + BatchOperationMetadata.create = function create(properties) { + return new BatchOperationMetadata(properties); + }; + + /** + * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1.BatchOperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchOperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.submitTime != null && message.hasOwnProperty("submitTime")) + $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.endTime != null && message.hasOwnProperty("endTime")) + $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchOperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchOperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.BatchOperationMetadata} BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchOperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchOperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.state = reader.int32(); + break; + case 2: + message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 3: + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.BatchOperationMetadata} BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchOperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchOperationMetadata message. + * @function verify + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchOperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.submitTime != null && message.hasOwnProperty("submitTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.submitTime); + if (error) + return "submitTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.endTime); + if (error) + return "endTime." + error; + } + return null; + }; + + /** + * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.BatchOperationMetadata} BatchOperationMetadata + */ + BatchOperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BatchOperationMetadata) + return object; + var message = new $root.google.cloud.vision.v1.BatchOperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "PROCESSING": + case 1: + message.state = 1; + break; + case "SUCCESSFUL": + case 2: + message.state = 2; + break; + case "FAILED": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.submitTime != null) { + if (typeof object.submitTime !== "object") + throw TypeError(".google.cloud.vision.v1.BatchOperationMetadata.submitTime: object expected"); + message.submitTime = $root.google.protobuf.Timestamp.fromObject(object.submitTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.vision.v1.BatchOperationMetadata.endTime: object expected"); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + } + return message; + }; + + /** + * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1.BatchOperationMetadata} message BatchOperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchOperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.submitTime = null; + object.endTime = null; + } + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1.BatchOperationMetadata.State[message.state] : message.state; + if (message.submitTime != null && message.hasOwnProperty("submitTime")) + object.submitTime = $root.google.protobuf.Timestamp.toObject(message.submitTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); + return object; + }; + + /** + * Converts this BatchOperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @instance + * @returns {Object.} JSON object + */ + BatchOperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * State enum. + * @name google.cloud.vision.v1.BatchOperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} PROCESSING=1 PROCESSING value + * @property {number} SUCCESSFUL=2 SUCCESSFUL value + * @property {number} FAILED=3 FAILED value + * @property {number} CANCELLED=4 CANCELLED value + */ + BatchOperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "PROCESSING"] = 1; + values[valuesById[2] = "SUCCESSFUL"] = 2; + values[valuesById[3] = "FAILED"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return BatchOperationMetadata; + })(); + + v1.ProductSetPurgeConfig = (function() { + + /** + * Properties of a ProductSetPurgeConfig. + * @memberof google.cloud.vision.v1 + * @interface IProductSetPurgeConfig + * @property {string|null} [productSetId] ProductSetPurgeConfig productSetId + */ + + /** + * Constructs a new ProductSetPurgeConfig. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a ProductSetPurgeConfig. + * @implements IProductSetPurgeConfig + * @constructor + * @param {google.cloud.vision.v1.IProductSetPurgeConfig=} [properties] Properties to set + */ + function ProductSetPurgeConfig(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]]; + } + + /** + * ProductSetPurgeConfig productSetId. + * @member {string} productSetId + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @instance + */ + ProductSetPurgeConfig.prototype.productSetId = ""; + + /** + * Creates a new ProductSetPurgeConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @static + * @param {google.cloud.vision.v1.IProductSetPurgeConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ProductSetPurgeConfig} ProductSetPurgeConfig instance + */ + ProductSetPurgeConfig.create = function create(properties) { + return new ProductSetPurgeConfig(properties); + }; + + /** + * Encodes the specified ProductSetPurgeConfig message. Does not implicitly {@link google.cloud.vision.v1.ProductSetPurgeConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @static + * @param {google.cloud.vision.v1.IProductSetPurgeConfig} message ProductSetPurgeConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSetPurgeConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.productSetId); + return writer; + }; + + /** + * Encodes the specified ProductSetPurgeConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ProductSetPurgeConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @static + * @param {google.cloud.vision.v1.IProductSetPurgeConfig} message ProductSetPurgeConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSetPurgeConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSetPurgeConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.ProductSetPurgeConfig} ProductSetPurgeConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSetPurgeConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ProductSetPurgeConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.productSetId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSetPurgeConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.ProductSetPurgeConfig} ProductSetPurgeConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSetPurgeConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSetPurgeConfig message. + * @function verify + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSetPurgeConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (!$util.isString(message.productSetId)) + return "productSetId: string expected"; + return null; + }; + + /** + * Creates a ProductSetPurgeConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.ProductSetPurgeConfig} ProductSetPurgeConfig + */ + ProductSetPurgeConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ProductSetPurgeConfig) + return object; + var message = new $root.google.cloud.vision.v1.ProductSetPurgeConfig(); + if (object.productSetId != null) + message.productSetId = String(object.productSetId); + return message; + }; + + /** + * Creates a plain object from a ProductSetPurgeConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @static + * @param {google.cloud.vision.v1.ProductSetPurgeConfig} message ProductSetPurgeConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSetPurgeConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.productSetId = ""; + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + object.productSetId = message.productSetId; + return object; + }; + + /** + * Converts this ProductSetPurgeConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @instance + * @returns {Object.} JSON object + */ + ProductSetPurgeConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProductSetPurgeConfig; + })(); + + v1.PurgeProductsRequest = (function() { + + /** + * Properties of a PurgeProductsRequest. + * @memberof google.cloud.vision.v1 + * @interface IPurgeProductsRequest + * @property {google.cloud.vision.v1.IProductSetPurgeConfig|null} [productSetPurgeConfig] PurgeProductsRequest productSetPurgeConfig + * @property {boolean|null} [deleteOrphanProducts] PurgeProductsRequest deleteOrphanProducts + * @property {string|null} [parent] PurgeProductsRequest parent + * @property {boolean|null} [force] PurgeProductsRequest force + */ + + /** + * Constructs a new PurgeProductsRequest. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a PurgeProductsRequest. + * @implements IPurgeProductsRequest + * @constructor + * @param {google.cloud.vision.v1.IPurgeProductsRequest=} [properties] Properties to set + */ + function PurgeProductsRequest(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]]; + } + + /** + * PurgeProductsRequest productSetPurgeConfig. + * @member {google.cloud.vision.v1.IProductSetPurgeConfig|null|undefined} productSetPurgeConfig + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @instance + */ + PurgeProductsRequest.prototype.productSetPurgeConfig = null; + + /** + * PurgeProductsRequest deleteOrphanProducts. + * @member {boolean} deleteOrphanProducts + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @instance + */ + PurgeProductsRequest.prototype.deleteOrphanProducts = false; + + /** + * PurgeProductsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @instance + */ + PurgeProductsRequest.prototype.parent = ""; + + /** + * PurgeProductsRequest force. + * @member {boolean} force + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @instance + */ + PurgeProductsRequest.prototype.force = false; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * PurgeProductsRequest target. + * @member {"productSetPurgeConfig"|"deleteOrphanProducts"|undefined} target + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @instance + */ + Object.defineProperty(PurgeProductsRequest.prototype, "target", { + get: $util.oneOfGetter($oneOfFields = ["productSetPurgeConfig", "deleteOrphanProducts"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new PurgeProductsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @static + * @param {google.cloud.vision.v1.IPurgeProductsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.PurgeProductsRequest} PurgeProductsRequest instance + */ + PurgeProductsRequest.create = function create(properties) { + return new PurgeProductsRequest(properties); + }; + + /** + * Encodes the specified PurgeProductsRequest message. Does not implicitly {@link google.cloud.vision.v1.PurgeProductsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @static + * @param {google.cloud.vision.v1.IPurgeProductsRequest} message PurgeProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PurgeProductsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) + $root.google.cloud.vision.v1.ProductSetPurgeConfig.encode(message.productSetPurgeConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deleteOrphanProducts); + if (message.force != null && message.hasOwnProperty("force")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.force); + return writer; + }; + + /** + * Encodes the specified PurgeProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.PurgeProductsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @static + * @param {google.cloud.vision.v1.IPurgeProductsRequest} message PurgeProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PurgeProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PurgeProductsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.PurgeProductsRequest} PurgeProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PurgeProductsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.PurgeProductsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.productSetPurgeConfig = $root.google.cloud.vision.v1.ProductSetPurgeConfig.decode(reader, reader.uint32()); + break; + case 3: + message.deleteOrphanProducts = reader.bool(); + break; + case 1: + message.parent = reader.string(); + break; + case 4: + message.force = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PurgeProductsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.PurgeProductsRequest} PurgeProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PurgeProductsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PurgeProductsRequest message. + * @function verify + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PurgeProductsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) { + properties.target = 1; + { + var error = $root.google.cloud.vision.v1.ProductSetPurgeConfig.verify(message.productSetPurgeConfig); + if (error) + return "productSetPurgeConfig." + error; + } + } + if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) { + if (properties.target === 1) + return "target: multiple values"; + properties.target = 1; + if (typeof message.deleteOrphanProducts !== "boolean") + return "deleteOrphanProducts: boolean expected"; + } + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; + return null; + }; + + /** + * Creates a PurgeProductsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.PurgeProductsRequest} PurgeProductsRequest + */ + PurgeProductsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.PurgeProductsRequest) + return object; + var message = new $root.google.cloud.vision.v1.PurgeProductsRequest(); + if (object.productSetPurgeConfig != null) { + if (typeof object.productSetPurgeConfig !== "object") + throw TypeError(".google.cloud.vision.v1.PurgeProductsRequest.productSetPurgeConfig: object expected"); + message.productSetPurgeConfig = $root.google.cloud.vision.v1.ProductSetPurgeConfig.fromObject(object.productSetPurgeConfig); + } + if (object.deleteOrphanProducts != null) + message.deleteOrphanProducts = Boolean(object.deleteOrphanProducts); + if (object.parent != null) + message.parent = String(object.parent); + if (object.force != null) + message.force = Boolean(object.force); + return message; + }; + + /** + * Creates a plain object from a PurgeProductsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @static + * @param {google.cloud.vision.v1.PurgeProductsRequest} message PurgeProductsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PurgeProductsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.force = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) { + object.productSetPurgeConfig = $root.google.cloud.vision.v1.ProductSetPurgeConfig.toObject(message.productSetPurgeConfig, options); + if (options.oneofs) + object.target = "productSetPurgeConfig"; + } + if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) { + object.deleteOrphanProducts = message.deleteOrphanProducts; + if (options.oneofs) + object.target = "deleteOrphanProducts"; + } + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; + return object; + }; + + /** + * Converts this PurgeProductsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @instance + * @returns {Object.} JSON object + */ + PurgeProductsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PurgeProductsRequest; + })(); + + v1.TextAnnotation = (function() { + + /** + * Properties of a TextAnnotation. + * @memberof google.cloud.vision.v1 + * @interface ITextAnnotation + * @property {Array.|null} [pages] TextAnnotation pages + * @property {string|null} [text] TextAnnotation text + */ + + /** + * Constructs a new TextAnnotation. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation + * @constructor + * @param {google.cloud.vision.v1.ITextAnnotation=} [properties] Properties to set + */ + function TextAnnotation(properties) { + this.pages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextAnnotation pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.pages = $util.emptyArray; + + /** + * TextAnnotation text. + * @member {string} text + * @memberof google.cloud.vision.v1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.text = ""; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.TextAnnotation + * @static + * @param {google.cloud.vision.v1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.TextAnnotation} TextAnnotation instance + */ + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); + }; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.TextAnnotation + * @static + * @param {google.cloud.vision.v1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pages != null && message.pages.length) + for (var i = 0; i < message.pages.length; ++i) + $root.google.cloud.vision.v1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); + return writer; + }; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.TextAnnotation + * @static + * @param {google.cloud.vision.v1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.TextAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1.Page.decode(reader, reader.uint32())); + break; + case 2: + message.text = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1.TextAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) { + var error = $root.google.cloud.vision.v1.Page.verify(message.pages[i]); + if (error) + return "pages." + error; + } + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + return null; + }; + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.TextAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.TextAnnotation} TextAnnotation + */ + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.TextAnnotation) + return object; + var message = new $root.google.cloud.vision.v1.TextAnnotation(); + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1.TextAnnotation.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) { + if (typeof object.pages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.TextAnnotation.pages: object expected"); + message.pages[i] = $root.google.cloud.vision.v1.Page.fromObject(object.pages[i]); + } + } + if (object.text != null) + message.text = String(object.text); + return message; + }; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.TextAnnotation + * @static + * @param {google.cloud.vision.v1.TextAnnotation} message TextAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pages = []; + if (options.defaults) + object.text = ""; + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = $root.google.cloud.vision.v1.Page.toObject(message.pages[j], options); + } + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + return object; + }; + + /** + * Converts this TextAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.TextAnnotation + * @instance + * @returns {Object.} JSON object + */ + TextAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + TextAnnotation.DetectedLanguage = (function() { + + /** + * Properties of a DetectedLanguage. + * @memberof google.cloud.vision.v1.TextAnnotation + * @interface IDetectedLanguage + * @property {string|null} [languageCode] DetectedLanguage languageCode + * @property {number|null} [confidence] DetectedLanguage confidence + */ + + /** + * Constructs a new DetectedLanguage. + * @memberof google.cloud.vision.v1.TextAnnotation + * @classdesc Represents a DetectedLanguage. + * @implements IDetectedLanguage + * @constructor + * @param {google.cloud.vision.v1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + */ + function DetectedLanguage(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]]; + } + + /** + * DetectedLanguage languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.languageCode = ""; + + /** + * DetectedLanguage confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.confidence = 0; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + * @returns {google.cloud.vision.v1.TextAnnotation.DetectedLanguage} DetectedLanguage instance + */ + DetectedLanguage.create = function create(properties) { + return new DetectedLanguage(properties); + }; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.languageCode = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedLanguage message. + * @function verify + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedLanguage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.TextAnnotation.DetectedLanguage} DetectedLanguage + */ + DetectedLanguage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage) + return object; + var message = new $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage(); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1.TextAnnotation.DetectedLanguage} message DetectedLanguage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedLanguage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.languageCode = ""; + object.confidence = 0; + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this DetectedLanguage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @instance + * @returns {Object.} JSON object + */ + DetectedLanguage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DetectedLanguage; + })(); + + TextAnnotation.DetectedBreak = (function() { + + /** + * Properties of a DetectedBreak. + * @memberof google.cloud.vision.v1.TextAnnotation + * @interface IDetectedBreak + * @property {google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType|null} [type] DetectedBreak type + * @property {boolean|null} [isPrefix] DetectedBreak isPrefix + */ + + /** + * Constructs a new DetectedBreak. + * @memberof google.cloud.vision.v1.TextAnnotation + * @classdesc Represents a DetectedBreak. + * @implements IDetectedBreak + * @constructor + * @param {google.cloud.vision.v1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + */ + function DetectedBreak(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]]; + } + + /** + * DetectedBreak type. + * @member {google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType} type + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.type = 0; + + /** + * DetectedBreak isPrefix. + * @member {boolean} isPrefix + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.isPrefix = false; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + * @returns {google.cloud.vision.v1.TextAnnotation.DetectedBreak} DetectedBreak instance + */ + DetectedBreak.create = function create(properties) { + return new DetectedBreak(properties); + }; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); + return writer; + }; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.isPrefix = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedBreak message. + * @function verify + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedBreak.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: + case 3: + case 4: + case 5: + break; + } + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (typeof message.isPrefix !== "boolean") + return "isPrefix: boolean expected"; + return null; + }; + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.TextAnnotation.DetectedBreak} DetectedBreak + */ + DetectedBreak.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak) + return object; + var message = new $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak(); + switch (object.type) { + case "UNKNOWN": + case 0: + message.type = 0; + break; + case "SPACE": + case 1: + message.type = 1; + break; + case "SURE_SPACE": + case 2: + message.type = 2; + break; + case "EOL_SURE_SPACE": + case 3: + message.type = 3; + break; + case "HYPHEN": + case 4: + message.type = 4; + break; + case "LINE_BREAK": + case 5: + message.type = 5; + break; + } + if (object.isPrefix != null) + message.isPrefix = Boolean(object.isPrefix); + return message; + }; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1.TextAnnotation.DetectedBreak} message DetectedBreak + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedBreak.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN" : 0; + object.isPrefix = false; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + object.isPrefix = message.isPrefix; + return object; + }; + + /** + * Converts this DetectedBreak to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @instance + * @returns {Object.} JSON object + */ + DetectedBreak.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BreakType enum. + * @name google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} SPACE=1 SPACE value + * @property {number} SURE_SPACE=2 SURE_SPACE value + * @property {number} EOL_SURE_SPACE=3 EOL_SURE_SPACE value + * @property {number} HYPHEN=4 HYPHEN value + * @property {number} LINE_BREAK=5 LINE_BREAK value + */ + DetectedBreak.BreakType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "SPACE"] = 1; + values[valuesById[2] = "SURE_SPACE"] = 2; + values[valuesById[3] = "EOL_SURE_SPACE"] = 3; + values[valuesById[4] = "HYPHEN"] = 4; + values[valuesById[5] = "LINE_BREAK"] = 5; + return values; + })(); + + return DetectedBreak; + })(); + + TextAnnotation.TextProperty = (function() { + + /** + * Properties of a TextProperty. + * @memberof google.cloud.vision.v1.TextAnnotation + * @interface ITextProperty + * @property {Array.|null} [detectedLanguages] TextProperty detectedLanguages + * @property {google.cloud.vision.v1.TextAnnotation.IDetectedBreak|null} [detectedBreak] TextProperty detectedBreak + */ + + /** + * Constructs a new TextProperty. + * @memberof google.cloud.vision.v1.TextAnnotation + * @classdesc Represents a TextProperty. + * @implements ITextProperty + * @constructor + * @param {google.cloud.vision.v1.TextAnnotation.ITextProperty=} [properties] Properties to set + */ + function TextProperty(properties) { + this.detectedLanguages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextProperty detectedLanguages. + * @member {Array.} detectedLanguages + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedLanguages = $util.emptyArray; + + /** + * TextProperty detectedBreak. + * @member {google.cloud.vision.v1.TextAnnotation.IDetectedBreak|null|undefined} detectedBreak + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedBreak = null; + + /** + * Creates a new TextProperty instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1.TextAnnotation.ITextProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1.TextAnnotation.TextProperty} TextProperty instance + */ + TextProperty.create = function create(properties) { + return new TextProperty(properties); + }; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.detectedLanguages != null && message.detectedLanguages.length) + for (var i = 0; i < message.detectedLanguages.length; ++i) + $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.TextAnnotation.TextProperty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + case 2: + message.detectedBreak = $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextProperty message. + * @function verify + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextProperty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.detectedLanguages != null && message.hasOwnProperty("detectedLanguages")) { + if (!Array.isArray(message.detectedLanguages)) + return "detectedLanguages: array expected"; + for (var i = 0; i < message.detectedLanguages.length; ++i) { + var error = $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.verify(message.detectedLanguages[i]); + if (error) + return "detectedLanguages." + error; + } + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) { + var error = $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.verify(message.detectedBreak); + if (error) + return "detectedBreak." + error; + } + return null; + }; + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.TextAnnotation.TextProperty} TextProperty + */ + TextProperty.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.TextAnnotation.TextProperty) + return object; + var message = new $root.google.cloud.vision.v1.TextAnnotation.TextProperty(); + if (object.detectedLanguages) { + if (!Array.isArray(object.detectedLanguages)) + throw TypeError(".google.cloud.vision.v1.TextAnnotation.TextProperty.detectedLanguages: array expected"); + message.detectedLanguages = []; + for (var i = 0; i < object.detectedLanguages.length; ++i) { + if (typeof object.detectedLanguages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.TextAnnotation.TextProperty.detectedLanguages: object expected"); + message.detectedLanguages[i] = $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.fromObject(object.detectedLanguages[i]); + } + } + if (object.detectedBreak != null) { + if (typeof object.detectedBreak !== "object") + throw TypeError(".google.cloud.vision.v1.TextAnnotation.TextProperty.detectedBreak: object expected"); + message.detectedBreak = $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.fromObject(object.detectedBreak); + } + return message; + }; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1.TextAnnotation.TextProperty} message TextProperty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextProperty.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.detectedLanguages = []; + if (options.defaults) + object.detectedBreak = null; + if (message.detectedLanguages && message.detectedLanguages.length) { + object.detectedLanguages = []; + for (var j = 0; j < message.detectedLanguages.length; ++j) + object.detectedLanguages[j] = $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.toObject(message.detectedLanguages[j], options); + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + object.detectedBreak = $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.toObject(message.detectedBreak, options); + return object; + }; + + /** + * Converts this TextProperty to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @instance + * @returns {Object.} JSON object + */ + TextProperty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextProperty; + })(); + + return TextAnnotation; + })(); + + v1.Page = (function() { + + /** + * Properties of a Page. + * @memberof google.cloud.vision.v1 + * @interface IPage + * @property {google.cloud.vision.v1.TextAnnotation.ITextProperty|null} [property] Page property + * @property {number|null} [width] Page width + * @property {number|null} [height] Page height + * @property {Array.|null} [blocks] Page blocks + * @property {number|null} [confidence] Page confidence + */ + + /** + * Constructs a new Page. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Page. + * @implements IPage + * @constructor + * @param {google.cloud.vision.v1.IPage=} [properties] Properties to set + */ + function Page(properties) { + this.blocks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Page property. + * @member {google.cloud.vision.v1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1.Page + * @instance + */ + Page.prototype.property = null; + + /** + * Page width. + * @member {number} width + * @memberof google.cloud.vision.v1.Page + * @instance + */ + Page.prototype.width = 0; + + /** + * Page height. + * @member {number} height + * @memberof google.cloud.vision.v1.Page + * @instance + */ + Page.prototype.height = 0; + + /** + * Page blocks. + * @member {Array.} blocks + * @memberof google.cloud.vision.v1.Page + * @instance + */ + Page.prototype.blocks = $util.emptyArray; + + /** + * Page confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.Page + * @instance + */ + Page.prototype.confidence = 0; + + /** + * Creates a new Page instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Page + * @static + * @param {google.cloud.vision.v1.IPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Page} Page instance + */ + Page.create = function create(properties) { + return new Page(properties); + }; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1.Page.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Page + * @static + * @param {google.cloud.vision.v1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.width != null && message.hasOwnProperty("width")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); + if (message.height != null && message.hasOwnProperty("height")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); + if (message.blocks != null && message.blocks.length) + for (var i = 0; i < message.blocks.length; ++i) + $root.google.cloud.vision.v1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Page.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Page + * @static + * @param {google.cloud.vision.v1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Page message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Page(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.width = reader.int32(); + break; + case 3: + message.height = reader.int32(); + break; + case 4: + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1.Block.decode(reader, reader.uint32())); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Page message. + * @function verify + * @memberof google.cloud.vision.v1.Page + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Page.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.width != null && message.hasOwnProperty("width")) + if (!$util.isInteger(message.width)) + return "width: integer expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height)) + return "height: integer expected"; + if (message.blocks != null && message.hasOwnProperty("blocks")) { + if (!Array.isArray(message.blocks)) + return "blocks: array expected"; + for (var i = 0; i < message.blocks.length; ++i) { + var error = $root.google.cloud.vision.v1.Block.verify(message.blocks[i]); + if (error) + return "blocks." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Page + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Page} Page + */ + Page.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Page) + return object; + var message = new $root.google.cloud.vision.v1.Page(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1.Page.property: object expected"); + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.width != null) + message.width = object.width | 0; + if (object.height != null) + message.height = object.height | 0; + if (object.blocks) { + if (!Array.isArray(object.blocks)) + throw TypeError(".google.cloud.vision.v1.Page.blocks: array expected"); + message.blocks = []; + for (var i = 0; i < object.blocks.length; ++i) { + if (typeof object.blocks[i] !== "object") + throw TypeError(".google.cloud.vision.v1.Page.blocks: object expected"); + message.blocks[i] = $root.google.cloud.vision.v1.Block.fromObject(object.blocks[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Page + * @static + * @param {google.cloud.vision.v1.Page} message Page + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Page.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.blocks = []; + if (options.defaults) { + object.property = null; + object.width = 0; + object.height = 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.width != null && message.hasOwnProperty("width")) + object.width = message.width; + if (message.height != null && message.hasOwnProperty("height")) + object.height = message.height; + if (message.blocks && message.blocks.length) { + object.blocks = []; + for (var j = 0; j < message.blocks.length; ++j) + object.blocks[j] = $root.google.cloud.vision.v1.Block.toObject(message.blocks[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Page to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Page + * @instance + * @returns {Object.} JSON object + */ + Page.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Page; + })(); + + v1.Block = (function() { + + /** + * Properties of a Block. + * @memberof google.cloud.vision.v1 + * @interface IBlock + * @property {google.cloud.vision.v1.TextAnnotation.ITextProperty|null} [property] Block property + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingBox] Block boundingBox + * @property {Array.|null} [paragraphs] Block paragraphs + * @property {google.cloud.vision.v1.Block.BlockType|null} [blockType] Block blockType + * @property {number|null} [confidence] Block confidence + */ + + /** + * Constructs a new Block. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Block. + * @implements IBlock + * @constructor + * @param {google.cloud.vision.v1.IBlock=} [properties] Properties to set + */ + function Block(properties) { + this.paragraphs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Block property. + * @member {google.cloud.vision.v1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1.Block + * @instance + */ + Block.prototype.property = null; + + /** + * Block boundingBox. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1.Block + * @instance + */ + Block.prototype.boundingBox = null; + + /** + * Block paragraphs. + * @member {Array.} paragraphs + * @memberof google.cloud.vision.v1.Block + * @instance + */ + Block.prototype.paragraphs = $util.emptyArray; + + /** + * Block blockType. + * @member {google.cloud.vision.v1.Block.BlockType} blockType + * @memberof google.cloud.vision.v1.Block + * @instance + */ + Block.prototype.blockType = 0; + + /** + * Block confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.Block + * @instance + */ + Block.prototype.confidence = 0; + + /** + * Creates a new Block instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Block + * @static + * @param {google.cloud.vision.v1.IBlock=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Block} Block instance + */ + Block.create = function create(properties) { + return new Block(properties); + }; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1.Block.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Block + * @static + * @param {google.cloud.vision.v1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.paragraphs != null && message.paragraphs.length) + for (var i = 0; i < message.paragraphs.length; ++i) + $root.google.cloud.vision.v1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.blockType != null && message.hasOwnProperty("blockType")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Block.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Block + * @static + * @param {google.cloud.vision.v1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Block message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Block(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1.Paragraph.decode(reader, reader.uint32())); + break; + case 4: + message.blockType = reader.int32(); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Block message. + * @function verify + * @memberof google.cloud.vision.v1.Block + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Block.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.paragraphs != null && message.hasOwnProperty("paragraphs")) { + if (!Array.isArray(message.paragraphs)) + return "paragraphs: array expected"; + for (var i = 0; i < message.paragraphs.length; ++i) { + var error = $root.google.cloud.vision.v1.Paragraph.verify(message.paragraphs[i]); + if (error) + return "paragraphs." + error; + } + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + switch (message.blockType) { + default: + return "blockType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Block + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Block} Block + */ + Block.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Block) + return object; + var message = new $root.google.cloud.vision.v1.Block(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1.Block.property: object expected"); + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1.Block.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.paragraphs) { + if (!Array.isArray(object.paragraphs)) + throw TypeError(".google.cloud.vision.v1.Block.paragraphs: array expected"); + message.paragraphs = []; + for (var i = 0; i < object.paragraphs.length; ++i) { + if (typeof object.paragraphs[i] !== "object") + throw TypeError(".google.cloud.vision.v1.Block.paragraphs: object expected"); + message.paragraphs[i] = $root.google.cloud.vision.v1.Paragraph.fromObject(object.paragraphs[i]); + } + } + switch (object.blockType) { + case "UNKNOWN": + case 0: + message.blockType = 0; + break; + case "TEXT": + case 1: + message.blockType = 1; + break; + case "TABLE": + case 2: + message.blockType = 2; + break; + case "PICTURE": + case 3: + message.blockType = 3; + break; + case "RULER": + case 4: + message.blockType = 4; + break; + case "BARCODE": + case 5: + message.blockType = 5; + break; + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Block + * @static + * @param {google.cloud.vision.v1.Block} message Block + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Block.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paragraphs = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.blockType = options.enums === String ? "UNKNOWN" : 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingBox, options); + if (message.paragraphs && message.paragraphs.length) { + object.paragraphs = []; + for (var j = 0; j < message.paragraphs.length; ++j) + object.paragraphs[j] = $root.google.cloud.vision.v1.Paragraph.toObject(message.paragraphs[j], options); + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + object.blockType = options.enums === String ? $root.google.cloud.vision.v1.Block.BlockType[message.blockType] : message.blockType; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Block to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Block + * @instance + * @returns {Object.} JSON object + */ + Block.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BlockType enum. + * @name google.cloud.vision.v1.Block.BlockType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} TEXT=1 TEXT value + * @property {number} TABLE=2 TABLE value + * @property {number} PICTURE=3 PICTURE value + * @property {number} RULER=4 RULER value + * @property {number} BARCODE=5 BARCODE value + */ + Block.BlockType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "TEXT"] = 1; + values[valuesById[2] = "TABLE"] = 2; + values[valuesById[3] = "PICTURE"] = 3; + values[valuesById[4] = "RULER"] = 4; + values[valuesById[5] = "BARCODE"] = 5; + return values; + })(); + + return Block; + })(); + + v1.Paragraph = (function() { + + /** + * Properties of a Paragraph. + * @memberof google.cloud.vision.v1 + * @interface IParagraph + * @property {google.cloud.vision.v1.TextAnnotation.ITextProperty|null} [property] Paragraph property + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingBox] Paragraph boundingBox + * @property {Array.|null} [words] Paragraph words + * @property {number|null} [confidence] Paragraph confidence + */ + + /** + * Constructs a new Paragraph. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Paragraph. + * @implements IParagraph + * @constructor + * @param {google.cloud.vision.v1.IParagraph=} [properties] Properties to set + */ + function Paragraph(properties) { + this.words = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Paragraph property. + * @member {google.cloud.vision.v1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1.Paragraph + * @instance + */ + Paragraph.prototype.property = null; + + /** + * Paragraph boundingBox. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1.Paragraph + * @instance + */ + Paragraph.prototype.boundingBox = null; + + /** + * Paragraph words. + * @member {Array.} words + * @memberof google.cloud.vision.v1.Paragraph + * @instance + */ + Paragraph.prototype.words = $util.emptyArray; + + /** + * Paragraph confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.Paragraph + * @instance + */ + Paragraph.prototype.confidence = 0; + + /** + * Creates a new Paragraph instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Paragraph + * @static + * @param {google.cloud.vision.v1.IParagraph=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Paragraph} Paragraph instance + */ + Paragraph.create = function create(properties) { + return new Paragraph(properties); + }; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1.Paragraph.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Paragraph + * @static + * @param {google.cloud.vision.v1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.words != null && message.words.length) + for (var i = 0; i < message.words.length; ++i) + $root.google.cloud.vision.v1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Paragraph.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Paragraph + * @static + * @param {google.cloud.vision.v1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Paragraph(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1.Word.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Paragraph message. + * @function verify + * @memberof google.cloud.vision.v1.Paragraph + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Paragraph.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.words != null && message.hasOwnProperty("words")) { + if (!Array.isArray(message.words)) + return "words: array expected"; + for (var i = 0; i < message.words.length; ++i) { + var error = $root.google.cloud.vision.v1.Word.verify(message.words[i]); + if (error) + return "words." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Paragraph + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Paragraph} Paragraph + */ + Paragraph.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Paragraph) + return object; + var message = new $root.google.cloud.vision.v1.Paragraph(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1.Paragraph.property: object expected"); + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1.Paragraph.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.words) { + if (!Array.isArray(object.words)) + throw TypeError(".google.cloud.vision.v1.Paragraph.words: array expected"); + message.words = []; + for (var i = 0; i < object.words.length; ++i) { + if (typeof object.words[i] !== "object") + throw TypeError(".google.cloud.vision.v1.Paragraph.words: object expected"); + message.words[i] = $root.google.cloud.vision.v1.Word.fromObject(object.words[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Paragraph + * @static + * @param {google.cloud.vision.v1.Paragraph} message Paragraph + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Paragraph.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.words = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingBox, options); + if (message.words && message.words.length) { + object.words = []; + for (var j = 0; j < message.words.length; ++j) + object.words[j] = $root.google.cloud.vision.v1.Word.toObject(message.words[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Paragraph to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Paragraph + * @instance + * @returns {Object.} JSON object + */ + Paragraph.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Paragraph; + })(); + + v1.Word = (function() { + + /** + * Properties of a Word. + * @memberof google.cloud.vision.v1 + * @interface IWord + * @property {google.cloud.vision.v1.TextAnnotation.ITextProperty|null} [property] Word property + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingBox] Word boundingBox + * @property {Array.|null} [symbols] Word symbols + * @property {number|null} [confidence] Word confidence + */ + + /** + * Constructs a new Word. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Word. + * @implements IWord + * @constructor + * @param {google.cloud.vision.v1.IWord=} [properties] Properties to set + */ + function Word(properties) { + this.symbols = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Word property. + * @member {google.cloud.vision.v1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1.Word + * @instance + */ + Word.prototype.property = null; + + /** + * Word boundingBox. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1.Word + * @instance + */ + Word.prototype.boundingBox = null; + + /** + * Word symbols. + * @member {Array.} symbols + * @memberof google.cloud.vision.v1.Word + * @instance + */ + Word.prototype.symbols = $util.emptyArray; + + /** + * Word confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.Word + * @instance + */ + Word.prototype.confidence = 0; + + /** + * Creates a new Word instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Word + * @static + * @param {google.cloud.vision.v1.IWord=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Word} Word instance + */ + Word.create = function create(properties) { + return new Word(properties); + }; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1.Word.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Word + * @static + * @param {google.cloud.vision.v1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.symbols != null && message.symbols.length) + for (var i = 0; i < message.symbols.length; ++i) + $root.google.cloud.vision.v1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Word.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Word + * @static + * @param {google.cloud.vision.v1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Word message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Word(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1.Symbol.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Word message. + * @function verify + * @memberof google.cloud.vision.v1.Word + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Word.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.symbols != null && message.hasOwnProperty("symbols")) { + if (!Array.isArray(message.symbols)) + return "symbols: array expected"; + for (var i = 0; i < message.symbols.length; ++i) { + var error = $root.google.cloud.vision.v1.Symbol.verify(message.symbols[i]); + if (error) + return "symbols." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Word + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Word} Word + */ + Word.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Word) + return object; + var message = new $root.google.cloud.vision.v1.Word(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1.Word.property: object expected"); + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1.Word.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.symbols) { + if (!Array.isArray(object.symbols)) + throw TypeError(".google.cloud.vision.v1.Word.symbols: array expected"); + message.symbols = []; + for (var i = 0; i < object.symbols.length; ++i) { + if (typeof object.symbols[i] !== "object") + throw TypeError(".google.cloud.vision.v1.Word.symbols: object expected"); + message.symbols[i] = $root.google.cloud.vision.v1.Symbol.fromObject(object.symbols[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Word + * @static + * @param {google.cloud.vision.v1.Word} message Word + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Word.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.symbols = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingBox, options); + if (message.symbols && message.symbols.length) { + object.symbols = []; + for (var j = 0; j < message.symbols.length; ++j) + object.symbols[j] = $root.google.cloud.vision.v1.Symbol.toObject(message.symbols[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Word to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Word + * @instance + * @returns {Object.} JSON object + */ + Word.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Word; + })(); + + v1.Symbol = (function() { + + /** + * Properties of a Symbol. + * @memberof google.cloud.vision.v1 + * @interface ISymbol + * @property {google.cloud.vision.v1.TextAnnotation.ITextProperty|null} [property] Symbol property + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingBox] Symbol boundingBox + * @property {string|null} [text] Symbol text + * @property {number|null} [confidence] Symbol confidence + */ + + /** + * Constructs a new Symbol. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Symbol. + * @implements ISymbol + * @constructor + * @param {google.cloud.vision.v1.ISymbol=} [properties] Properties to set + */ + function Symbol(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]]; + } + + /** + * Symbol property. + * @member {google.cloud.vision.v1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1.Symbol + * @instance + */ + Symbol.prototype.property = null; + + /** + * Symbol boundingBox. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1.Symbol + * @instance + */ + Symbol.prototype.boundingBox = null; + + /** + * Symbol text. + * @member {string} text + * @memberof google.cloud.vision.v1.Symbol + * @instance + */ + Symbol.prototype.text = ""; + + /** + * Symbol confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.Symbol + * @instance + */ + Symbol.prototype.confidence = 0; + + /** + * Creates a new Symbol instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Symbol + * @static + * @param {google.cloud.vision.v1.ISymbol=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Symbol} Symbol instance + */ + Symbol.create = function create(properties) { + return new Symbol(properties); + }; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1.Symbol.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Symbol + * @static + * @param {google.cloud.vision.v1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Symbol.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Symbol + * @static + * @param {google.cloud.vision.v1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Symbol(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + message.text = reader.string(); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Symbol message. + * @function verify + * @memberof google.cloud.vision.v1.Symbol + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Symbol.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Symbol + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Symbol} Symbol + */ + Symbol.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Symbol) + return object; + var message = new $root.google.cloud.vision.v1.Symbol(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1.Symbol.property: object expected"); + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1.Symbol.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.text != null) + message.text = String(object.text); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Symbol + * @static + * @param {google.cloud.vision.v1.Symbol} message Symbol + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Symbol.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.text = ""; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingBox, options); + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Symbol to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Symbol + * @instance + * @returns {Object.} JSON object + */ + Symbol.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Symbol; + })(); + + v1.WebDetection = (function() { + + /** + * Properties of a WebDetection. + * @memberof google.cloud.vision.v1 + * @interface IWebDetection + * @property {Array.|null} [webEntities] WebDetection webEntities + * @property {Array.|null} [fullMatchingImages] WebDetection fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebDetection partialMatchingImages + * @property {Array.|null} [pagesWithMatchingImages] WebDetection pagesWithMatchingImages + * @property {Array.|null} [visuallySimilarImages] WebDetection visuallySimilarImages + * @property {Array.|null} [bestGuessLabels] WebDetection bestGuessLabels + */ + + /** + * Constructs a new WebDetection. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a WebDetection. + * @implements IWebDetection + * @constructor + * @param {google.cloud.vision.v1.IWebDetection=} [properties] Properties to set + */ + function WebDetection(properties) { + this.webEntities = []; + this.fullMatchingImages = []; + this.partialMatchingImages = []; + this.pagesWithMatchingImages = []; + this.visuallySimilarImages = []; + this.bestGuessLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebDetection webEntities. + * @member {Array.} webEntities + * @memberof google.cloud.vision.v1.WebDetection + * @instance + */ + WebDetection.prototype.webEntities = $util.emptyArray; + + /** + * WebDetection fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1.WebDetection + * @instance + */ + WebDetection.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebDetection partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1.WebDetection + * @instance + */ + WebDetection.prototype.partialMatchingImages = $util.emptyArray; + + /** + * WebDetection pagesWithMatchingImages. + * @member {Array.} pagesWithMatchingImages + * @memberof google.cloud.vision.v1.WebDetection + * @instance + */ + WebDetection.prototype.pagesWithMatchingImages = $util.emptyArray; + + /** + * WebDetection visuallySimilarImages. + * @member {Array.} visuallySimilarImages + * @memberof google.cloud.vision.v1.WebDetection + * @instance + */ + WebDetection.prototype.visuallySimilarImages = $util.emptyArray; + + /** + * WebDetection bestGuessLabels. + * @member {Array.} bestGuessLabels + * @memberof google.cloud.vision.v1.WebDetection + * @instance + */ + WebDetection.prototype.bestGuessLabels = $util.emptyArray; + + /** + * Creates a new WebDetection instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.WebDetection + * @static + * @param {google.cloud.vision.v1.IWebDetection=} [properties] Properties to set + * @returns {google.cloud.vision.v1.WebDetection} WebDetection instance + */ + WebDetection.create = function create(properties) { + return new WebDetection(properties); + }; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.WebDetection + * @static + * @param {google.cloud.vision.v1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.webEntities != null && message.webEntities.length) + for (var i = 0; i < message.webEntities.length; ++i) + $root.google.cloud.vision.v1.WebDetection.WebEntity.encode(message.webEntities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.pagesWithMatchingImages != null && message.pagesWithMatchingImages.length) + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) + $root.google.cloud.vision.v1.WebDetection.WebPage.encode(message.pagesWithMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.visuallySimilarImages != null && message.visuallySimilarImages.length) + for (var i = 0; i < message.visuallySimilarImages.length; ++i) + $root.google.cloud.vision.v1.WebDetection.WebImage.encode(message.visuallySimilarImages[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.bestGuessLabels != null && message.bestGuessLabels.length) + for (var i = 0; i < message.bestGuessLabels.length; ++i) + $root.google.cloud.vision.v1.WebDetection.WebLabel.encode(message.bestGuessLabels[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.WebDetection + * @static + * @param {google.cloud.vision.v1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.WebDetection(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 8: + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetection message. + * @function verify + * @memberof google.cloud.vision.v1.WebDetection + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetection.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.webEntities != null && message.hasOwnProperty("webEntities")) { + if (!Array.isArray(message.webEntities)) + return "webEntities: array expected"; + for (var i = 0; i < message.webEntities.length; ++i) { + var error = $root.google.cloud.vision.v1.WebDetection.WebEntity.verify(message.webEntities[i]); + if (error) + return "webEntities." + error; + } + } + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + if (message.pagesWithMatchingImages != null && message.hasOwnProperty("pagesWithMatchingImages")) { + if (!Array.isArray(message.pagesWithMatchingImages)) + return "pagesWithMatchingImages: array expected"; + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1.WebDetection.WebPage.verify(message.pagesWithMatchingImages[i]); + if (error) + return "pagesWithMatchingImages." + error; + } + } + if (message.visuallySimilarImages != null && message.hasOwnProperty("visuallySimilarImages")) { + if (!Array.isArray(message.visuallySimilarImages)) + return "visuallySimilarImages: array expected"; + for (var i = 0; i < message.visuallySimilarImages.length; ++i) { + var error = $root.google.cloud.vision.v1.WebDetection.WebImage.verify(message.visuallySimilarImages[i]); + if (error) + return "visuallySimilarImages." + error; + } + } + if (message.bestGuessLabels != null && message.hasOwnProperty("bestGuessLabels")) { + if (!Array.isArray(message.bestGuessLabels)) + return "bestGuessLabels: array expected"; + for (var i = 0; i < message.bestGuessLabels.length; ++i) { + var error = $root.google.cloud.vision.v1.WebDetection.WebLabel.verify(message.bestGuessLabels[i]); + if (error) + return "bestGuessLabels." + error; + } + } + return null; + }; + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.WebDetection + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.WebDetection} WebDetection + */ + WebDetection.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.WebDetection) + return object; + var message = new $root.google.cloud.vision.v1.WebDetection(); + if (object.webEntities) { + if (!Array.isArray(object.webEntities)) + throw TypeError(".google.cloud.vision.v1.WebDetection.webEntities: array expected"); + message.webEntities = []; + for (var i = 0; i < object.webEntities.length; ++i) { + if (typeof object.webEntities[i] !== "object") + throw TypeError(".google.cloud.vision.v1.WebDetection.webEntities: object expected"); + message.webEntities[i] = $root.google.cloud.vision.v1.WebDetection.WebEntity.fromObject(object.webEntities[i]); + } + } + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1.WebDetection.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.WebDetection.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1.WebDetection.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.WebDetection.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + if (object.pagesWithMatchingImages) { + if (!Array.isArray(object.pagesWithMatchingImages)) + throw TypeError(".google.cloud.vision.v1.WebDetection.pagesWithMatchingImages: array expected"); + message.pagesWithMatchingImages = []; + for (var i = 0; i < object.pagesWithMatchingImages.length; ++i) { + if (typeof object.pagesWithMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.WebDetection.pagesWithMatchingImages: object expected"); + message.pagesWithMatchingImages[i] = $root.google.cloud.vision.v1.WebDetection.WebPage.fromObject(object.pagesWithMatchingImages[i]); + } + } + if (object.visuallySimilarImages) { + if (!Array.isArray(object.visuallySimilarImages)) + throw TypeError(".google.cloud.vision.v1.WebDetection.visuallySimilarImages: array expected"); + message.visuallySimilarImages = []; + for (var i = 0; i < object.visuallySimilarImages.length; ++i) { + if (typeof object.visuallySimilarImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.WebDetection.visuallySimilarImages: object expected"); + message.visuallySimilarImages[i] = $root.google.cloud.vision.v1.WebDetection.WebImage.fromObject(object.visuallySimilarImages[i]); + } + } + if (object.bestGuessLabels) { + if (!Array.isArray(object.bestGuessLabels)) + throw TypeError(".google.cloud.vision.v1.WebDetection.bestGuessLabels: array expected"); + message.bestGuessLabels = []; + for (var i = 0; i < object.bestGuessLabels.length; ++i) { + if (typeof object.bestGuessLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1.WebDetection.bestGuessLabels: object expected"); + message.bestGuessLabels[i] = $root.google.cloud.vision.v1.WebDetection.WebLabel.fromObject(object.bestGuessLabels[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.WebDetection + * @static + * @param {google.cloud.vision.v1.WebDetection} message WebDetection + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetection.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.webEntities = []; + object.fullMatchingImages = []; + object.partialMatchingImages = []; + object.pagesWithMatchingImages = []; + object.visuallySimilarImages = []; + object.bestGuessLabels = []; + } + if (message.webEntities && message.webEntities.length) { + object.webEntities = []; + for (var j = 0; j < message.webEntities.length; ++j) + object.webEntities[j] = $root.google.cloud.vision.v1.WebDetection.WebEntity.toObject(message.webEntities[j], options); + } + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + if (message.pagesWithMatchingImages && message.pagesWithMatchingImages.length) { + object.pagesWithMatchingImages = []; + for (var j = 0; j < message.pagesWithMatchingImages.length; ++j) + object.pagesWithMatchingImages[j] = $root.google.cloud.vision.v1.WebDetection.WebPage.toObject(message.pagesWithMatchingImages[j], options); + } + if (message.visuallySimilarImages && message.visuallySimilarImages.length) { + object.visuallySimilarImages = []; + for (var j = 0; j < message.visuallySimilarImages.length; ++j) + object.visuallySimilarImages[j] = $root.google.cloud.vision.v1.WebDetection.WebImage.toObject(message.visuallySimilarImages[j], options); + } + if (message.bestGuessLabels && message.bestGuessLabels.length) { + object.bestGuessLabels = []; + for (var j = 0; j < message.bestGuessLabels.length; ++j) + object.bestGuessLabels[j] = $root.google.cloud.vision.v1.WebDetection.WebLabel.toObject(message.bestGuessLabels[j], options); + } + return object; + }; + + /** + * Converts this WebDetection to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.WebDetection + * @instance + * @returns {Object.} JSON object + */ + WebDetection.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + WebDetection.WebEntity = (function() { + + /** + * Properties of a WebEntity. + * @memberof google.cloud.vision.v1.WebDetection + * @interface IWebEntity + * @property {string|null} [entityId] WebEntity entityId + * @property {number|null} [score] WebEntity score + * @property {string|null} [description] WebEntity description + */ + + /** + * Constructs a new WebEntity. + * @memberof google.cloud.vision.v1.WebDetection + * @classdesc Represents a WebEntity. + * @implements IWebEntity + * @constructor + * @param {google.cloud.vision.v1.WebDetection.IWebEntity=} [properties] Properties to set + */ + function WebEntity(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]]; + } + + /** + * WebEntity entityId. + * @member {string} entityId + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.entityId = ""; + + /** + * WebEntity score. + * @member {number} score + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.score = 0; + + /** + * WebEntity description. + * @member {string} description + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.description = ""; + + /** + * Creates a new WebEntity instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebEntity=} [properties] Properties to set + * @returns {google.cloud.vision.v1.WebDetection.WebEntity} WebEntity instance + */ + WebEntity.create = function create(properties) { + return new WebEntity(properties); + }; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebEntity.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entityId != null && message.hasOwnProperty("entityId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + return writer; + }; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebEntity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.WebDetection.WebEntity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.description = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebEntity message. + * @function verify + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebEntity.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entityId != null && message.hasOwnProperty("entityId")) + if (!$util.isString(message.entityId)) + return "entityId: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + return null; + }; + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.WebDetection.WebEntity} WebEntity + */ + WebEntity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.WebDetection.WebEntity) + return object; + var message = new $root.google.cloud.vision.v1.WebDetection.WebEntity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.score != null) + message.score = Number(object.score); + if (object.description != null) + message.description = String(object.description); + return message; + }; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1.WebDetection.WebEntity} message WebEntity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebEntity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.score = 0; + object.description = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + return object; + }; + + /** + * Converts this WebEntity to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @instance + * @returns {Object.} JSON object + */ + WebEntity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebEntity; + })(); + + WebDetection.WebImage = (function() { + + /** + * Properties of a WebImage. + * @memberof google.cloud.vision.v1.WebDetection + * @interface IWebImage + * @property {string|null} [url] WebImage url + * @property {number|null} [score] WebImage score + */ + + /** + * Constructs a new WebImage. + * @memberof google.cloud.vision.v1.WebDetection + * @classdesc Represents a WebImage. + * @implements IWebImage + * @constructor + * @param {google.cloud.vision.v1.WebDetection.IWebImage=} [properties] Properties to set + */ + function WebImage(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]]; + } + + /** + * WebImage url. + * @member {string} url + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.url = ""; + + /** + * WebImage score. + * @member {number} score + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.score = 0; + + /** + * Creates a new WebImage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1.WebDetection.WebImage} WebImage instance + */ + WebImage.create = function create(properties) { + return new WebImage(properties); + }; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebImage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + return writer; + }; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebImage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.WebDetection.WebImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebImage message. + * @function verify + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebImage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + return null; + }; + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.WebDetection.WebImage} WebImage + */ + WebImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.WebDetection.WebImage) + return object; + var message = new $root.google.cloud.vision.v1.WebDetection.WebImage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + return message; + }; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1.WebDetection.WebImage} message WebImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.url = ""; + object.score = 0; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + return object; + }; + + /** + * Converts this WebImage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @instance + * @returns {Object.} JSON object + */ + WebImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebImage; + })(); + + WebDetection.WebPage = (function() { + + /** + * Properties of a WebPage. + * @memberof google.cloud.vision.v1.WebDetection + * @interface IWebPage + * @property {string|null} [url] WebPage url + * @property {number|null} [score] WebPage score + * @property {string|null} [pageTitle] WebPage pageTitle + * @property {Array.|null} [fullMatchingImages] WebPage fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebPage partialMatchingImages + */ + + /** + * Constructs a new WebPage. + * @memberof google.cloud.vision.v1.WebDetection + * @classdesc Represents a WebPage. + * @implements IWebPage + * @constructor + * @param {google.cloud.vision.v1.WebDetection.IWebPage=} [properties] Properties to set + */ + function WebPage(properties) { + this.fullMatchingImages = []; + this.partialMatchingImages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebPage url. + * @member {string} url + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.url = ""; + + /** + * WebPage score. + * @member {number} score + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.score = 0; + + /** + * WebPage pageTitle. + * @member {string} pageTitle + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.pageTitle = ""; + + /** + * WebPage fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebPage partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.partialMatchingImages = $util.emptyArray; + + /** + * Creates a new WebPage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1.WebDetection.WebPage} WebPage instance + */ + WebPage.create = function create(properties) { + return new WebPage(properties); + }; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebPage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebPage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.WebDetection.WebPage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pageTitle = reader.string(); + break; + case 4: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebPage message. + * @function verify + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebPage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (!$util.isString(message.pageTitle)) + return "pageTitle: string expected"; + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + return null; + }; + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.WebDetection.WebPage} WebPage + */ + WebPage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.WebDetection.WebPage) + return object; + var message = new $root.google.cloud.vision.v1.WebDetection.WebPage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + if (object.pageTitle != null) + message.pageTitle = String(object.pageTitle); + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1.WebDetection.WebPage.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.WebDetection.WebPage.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1.WebDetection.WebPage.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1.WebDetection.WebPage.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1.WebDetection.WebPage} message WebPage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebPage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.fullMatchingImages = []; + object.partialMatchingImages = []; + } + if (options.defaults) { + object.url = ""; + object.score = 0; + object.pageTitle = ""; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + object.pageTitle = message.pageTitle; + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + return object; + }; + + /** + * Converts this WebPage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @instance + * @returns {Object.} JSON object + */ + WebPage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebPage; + })(); + + WebDetection.WebLabel = (function() { + + /** + * Properties of a WebLabel. + * @memberof google.cloud.vision.v1.WebDetection + * @interface IWebLabel + * @property {string|null} [label] WebLabel label + * @property {string|null} [languageCode] WebLabel languageCode + */ + + /** + * Constructs a new WebLabel. + * @memberof google.cloud.vision.v1.WebDetection + * @classdesc Represents a WebLabel. + * @implements IWebLabel + * @constructor + * @param {google.cloud.vision.v1.WebDetection.IWebLabel=} [properties] Properties to set + */ + function WebLabel(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]]; + } + + /** + * WebLabel label. + * @member {string} label + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.label = ""; + + /** + * WebLabel languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.languageCode = ""; + + /** + * Creates a new WebLabel instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebLabel=} [properties] Properties to set + * @returns {google.cloud.vision.v1.WebDetection.WebLabel} WebLabel instance + */ + WebLabel.create = function create(properties) { + return new WebLabel(properties); + }; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebLabel.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.label != null && message.hasOwnProperty("label")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetection.WebLabel.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.WebDetection.WebLabel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.label = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebLabel message. + * @function verify + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebLabel.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.label != null && message.hasOwnProperty("label")) + if (!$util.isString(message.label)) + return "label: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.WebDetection.WebLabel} WebLabel + */ + WebLabel.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.WebDetection.WebLabel) + return object; + var message = new $root.google.cloud.vision.v1.WebDetection.WebLabel(); + if (object.label != null) + message.label = String(object.label); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1.WebDetection.WebLabel} message WebLabel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebLabel.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.label = ""; + object.languageCode = ""; + } + if (message.label != null && message.hasOwnProperty("label")) + object.label = message.label; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this WebLabel to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @instance + * @returns {Object.} JSON object + */ + WebLabel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebLabel; + })(); + + return WebDetection; + })(); + + return v1; + })(); + + vision.v1p1beta1 = (function() { + + /** + * Namespace v1p1beta1. + * @memberof google.cloud.vision + * @namespace + */ + var v1p1beta1 = {}; + + v1p1beta1.ImageAnnotator = (function() { + + /** + * Constructs a new ImageAnnotator service. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents an ImageAnnotator + * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; + + /** + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + */ + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1p1beta1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + */ + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ImageAnnotator; + })(); + + v1p1beta1.Feature = (function() { + + /** + * Properties of a Feature. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IFeature + * @property {google.cloud.vision.v1p1beta1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model + */ + + /** + * Constructs a new Feature. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Feature. + * @implements IFeature + * @constructor + * @param {google.cloud.vision.v1p1beta1.IFeature=} [properties] Properties to set + */ + function Feature(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]]; + } + + /** + * Feature type. + * @member {google.cloud.vision.v1p1beta1.Feature.Type} type + * @memberof google.cloud.vision.v1p1beta1.Feature + * @instance + */ + Feature.prototype.type = 0; + + /** + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1p1beta1.Feature + * @instance + */ + Feature.prototype.maxResults = 0; + + /** + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1p1beta1.Feature + * @instance + */ + Feature.prototype.model = ""; + + /** + * Creates a new Feature instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Feature + * @static + * @param {google.cloud.vision.v1p1beta1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Feature} Feature instance + */ + Feature.create = function create(properties) { + return new Feature(properties); + }; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Feature.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Feature + * @static + * @param {google.cloud.vision.v1p1beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + return writer; + }; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Feature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Feature + * @static + * @param {google.cloud.vision.v1p1beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Feature(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.maxResults = reader.int32(); + break; + case 3: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Feature message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Feature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Feature.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: + case 3: + case 4: + case 5: + case 11: + case 6: + case 7: + case 9: + case 10: + break; + } + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Feature + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Feature} Feature + */ + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Feature) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": + case 0: + message.type = 0; + break; + case "FACE_DETECTION": + case 1: + message.type = 1; + break; + case "LANDMARK_DETECTION": + case 2: + message.type = 2; + break; + case "LOGO_DETECTION": + case 3: + message.type = 3; + break; + case "LABEL_DETECTION": + case 4: + message.type = 4; + break; + case "TEXT_DETECTION": + case 5: + message.type = 5; + break; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; + break; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; + break; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; + break; + case "CROP_HINTS": + case 9: + message.type = 9; + break; + case "WEB_DETECTION": + case 10: + message.type = 10; + break; + } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Feature + * @static + * @param {google.cloud.vision.v1p1beta1.Feature} message Feature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Feature.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this Feature to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Feature + * @instance + * @returns {Object.} JSON object + */ + Feature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1p1beta1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + return values; + })(); + + return Feature; + })(); + + v1p1beta1.ImageSource = (function() { + + /** + * Properties of an ImageSource. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri + */ + + /** + * Constructs a new ImageSource. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents an ImageSource. + * @implements IImageSource + * @constructor + * @param {google.cloud.vision.v1p1beta1.IImageSource=} [properties] Properties to set + */ + function ImageSource(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]]; + } + + /** + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @instance + */ + ImageSource.prototype.gcsImageUri = ""; + + /** + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @instance + */ + ImageSource.prototype.imageUri = ""; + + /** + * Creates a new ImageSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p1beta1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource instance + */ + ImageSource.create = function create(properties) { + return new ImageSource(properties); + }; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p1beta1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + return writer; + }; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p1beta1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ImageSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsImageUri = reader.string(); + break; + case 2: + message.imageUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageSource message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; + return null; + }; + + /** + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource + */ + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.ImageSource) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); + return message; + }; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p1beta1.ImageSource} message ImageSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsImageUri = ""; + object.imageUri = ""; + } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; + return object; + }; + + /** + * Converts this ImageSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @instance + * @returns {Object.} JSON object + */ + ImageSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageSource; + })(); + + v1p1beta1.Image = (function() { + + /** + * Properties of an Image. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1p1beta1.IImageSource|null} [source] Image source + */ + + /** + * Constructs a new Image. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents an Image. + * @implements IImage + * @constructor + * @param {google.cloud.vision.v1p1beta1.IImage=} [properties] Properties to set + */ + function Image(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]]; + } + + /** + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p1beta1.Image + * @instance + */ + Image.prototype.content = $util.newBuffer([]); + + /** + * Image source. + * @member {google.cloud.vision.v1p1beta1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1p1beta1.Image + * @instance + */ + Image.prototype.source = null; + + /** + * Creates a new Image instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Image + * @static + * @param {google.cloud.vision.v1p1beta1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Image} Image instance + */ + Image.create = function create(properties) { + return new Image(properties); + }; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Image.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Image + * @static + * @param {google.cloud.vision.v1p1beta1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1p1beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Image.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Image + * @static + * @param {google.cloud.vision.v1p1beta1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Image message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Image(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.content = reader.bytes(); + break; + case 2: + message.source = $root.google.cloud.vision.v1p1beta1.ImageSource.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Image message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Image + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Image.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1p1beta1.ImageSource.verify(message.source); + if (error) + return "source." + error; + } + return null; + }; + + /** + * Creates an Image message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Image + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Image} Image + */ + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Image) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1p1beta1.ImageSource.fromObject(object.source); + } + return message; + }; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Image + * @static + * @param {google.cloud.vision.v1p1beta1.Image} message Image + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Image.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; + } + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1p1beta1.ImageSource.toObject(message.source, options); + return object; + }; + + /** + * Converts this Image to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Image + * @instance + * @returns {Object.} JSON object + */ + Image.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Image; + })(); + + v1p1beta1.FaceAnnotation = (function() { + + /** + * Properties of a FaceAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + */ + + /** + * Constructs a new FaceAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation + * @constructor + * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation=} [properties] Properties to set + */ + function FaceAnnotation(properties) { + this.landmarks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.boundingPoly = null; + + /** + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.fdBoundingPoly = null; + + /** + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarks = $util.emptyArray; + + /** + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.rollAngle = 0; + + /** + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.panAngle = 0; + + /** + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.tiltAngle = 0; + + /** + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.detectionConfidence = 0; + + /** + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarkingConfidence = 0; + + /** + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.joyLikelihood = 0; + + /** + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.sorrowLikelihood = 0; + + /** + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation instance + */ + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); + }; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + return writer; + }; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + case 4: + message.rollAngle = reader.float(); + break; + case 5: + message.panAngle = reader.float(); + break; + case 6: + message.tiltAngle = reader.float(); + break; + case 7: + message.detectionConfidence = reader.float(); + break; + case 8: + message.landmarkingConfidence = reader.float(); + break; + case 9: + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; + } + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { + default: + return "joyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { + default: + return "sorrowLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { + default: + return "angerLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { + default: + return "surpriseLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { + default: + return "underExposedLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { + default: + return "blurredLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { + default: + return "headwearLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation + */ + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.FaceAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.fdBoundingPoly); + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); + } + } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { + case "UNKNOWN": + case 0: + message.joyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.joyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.joyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.joyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.joyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.joyLikelihood = 5; + break; + } + switch (object.sorrowLikelihood) { + case "UNKNOWN": + case 0: + message.sorrowLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.sorrowLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.sorrowLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.sorrowLikelihood = 3; + break; + case "LIKELY": + case 4: + message.sorrowLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.sorrowLikelihood = 5; + break; + } + switch (object.angerLikelihood) { + case "UNKNOWN": + case 0: + message.angerLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.angerLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.angerLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.angerLikelihood = 3; + break; + case "LIKELY": + case 4: + message.angerLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.angerLikelihood = 5; + break; + } + switch (object.surpriseLikelihood) { + case "UNKNOWN": + case 0: + message.surpriseLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.surpriseLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.surpriseLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.surpriseLikelihood = 3; + break; + case "LIKELY": + case 4: + message.surpriseLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.surpriseLikelihood = 5; + break; + } + switch (object.underExposedLikelihood) { + case "UNKNOWN": + case 0: + message.underExposedLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.underExposedLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.underExposedLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.underExposedLikelihood = 3; + break; + case "LIKELY": + case 4: + message.underExposedLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation} message FaceAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.landmarks = []; + if (options.defaults) { + object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + return object; + }; + + /** + * Converts this FaceAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + FaceAnnotation.Landmark = (function() { + + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1p1beta1.IPosition|null} [position] Landmark position + */ + + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } + + /** + * Landmark type. + * @member {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; + + /** + * Landmark position. + * @member {google.cloud.vision.v1p1beta1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; + + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1p1beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1p1beta1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1p1beta1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": + case 1: + message.type = 1; + break; + case "RIGHT_EYE": + case 2: + message.type = 2; + break; + case "LEFT_OF_LEFT_EYEBROW": + case 3: + message.type = 3; + break; + case "RIGHT_OF_LEFT_EYEBROW": + case 4: + message.type = 4; + break; + case "LEFT_OF_RIGHT_EYEBROW": + case 5: + message.type = 5; + break; + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; + break; + } + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1p1beta1.Position.fromObject(object.position); + } + return message; + }; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1p1beta1.Position.toObject(message.position, options); + return object; + }; + + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); + + return Landmark; + })(); + + return FaceAnnotation; + })(); + + v1p1beta1.LocationInfo = (function() { + + /** + * Properties of a LocationInfo. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng + */ + + /** + * Constructs a new LocationInfo. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo + * @constructor + * @param {google.cloud.vision.v1p1beta1.ILocationInfo=} [properties] Properties to set + */ + function LocationInfo(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]]; + } + + /** + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @instance + */ + LocationInfo.prototype.latLng = null; + + /** + * Creates a new LocationInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p1beta1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo instance + */ + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); + }; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p1beta1.LocationInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p1beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.LocationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p1beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.LocationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocationInfo message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); + if (error) + return "latLng." + error; + } + return null; + }; + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo + */ + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.LocationInfo) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); + } + return message; + }; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p1beta1.LocationInfo} message LocationInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocationInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); + return object; + }; + + /** + * Converts this LocationInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @instance + * @returns {Object.} JSON object + */ + LocationInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LocationInfo; + })(); + + v1p1beta1.Property = (function() { + + /** + * Properties of a Property. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value + */ + + /** + * Constructs a new Property. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Property. + * @implements IProperty + * @constructor + * @param {google.cloud.vision.v1p1beta1.IProperty=} [properties] Properties to set + */ + function Property(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]]; + } + + /** + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1p1beta1.Property + * @instance + */ + Property.prototype.name = ""; + + /** + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1p1beta1.Property + * @instance + */ + Property.prototype.value = ""; + + /** + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1p1beta1.Property + * @instance + */ + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Property instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Property + * @static + * @param {google.cloud.vision.v1p1beta1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Property} Property instance + */ + Property.create = function create(properties) { + return new Property(properties); + }; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Property.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Property + * @static + * @param {google.cloud.vision.v1p1beta1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + return writer; + }; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Property.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Property + * @static + * @param {google.cloud.vision.v1p1beta1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Property message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Property(); + 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: + message.uint64Value = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Property message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Property + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Property.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; + return null; + }; + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Property + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Property} Property + */ + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Property) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Property + * @static + * @param {google.cloud.vision.v1p1beta1.Property} message Property + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Property.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + return object; + }; + + /** + * Converts this Property to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Property + * @instance + * @returns {Object.} JSON object + */ + Property.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Property; + })(); + + v1p1beta1.EntityAnnotation = (function() { + + /** + * Properties of an EntityAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties + */ + + /** + * Constructs a new EntityAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation + * @constructor + * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation=} [properties] Properties to set + */ + function EntityAnnotation(properties) { + this.locations = []; + this.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]]; + } + + /** + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.mid = ""; + + /** + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locale = ""; + + /** + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.score = 0; + + /** + * EntityAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.confidence = 0; + + /** + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.topicality = 0; + + /** + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation instance + */ + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); + }; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.EntityAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1p1beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1p1beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.EntityAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.EntityAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.locale = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p1beta1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p1beta1.Property.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EntityAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EntityAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } + } + return null; + }; + + /** + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation + */ + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.EntityAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); + if (object.score != null) + message.score = Number(object.score); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1p1beta1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1p1beta1.Property.fromObject(object.properties[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.EntityAnnotation} message EntityAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EntityAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } + if (options.defaults) { + object.mid = ""; + object.locale = ""; + object.description = ""; + object.score = 0; + object.confidence = 0; + object.topicality = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1p1beta1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1p1beta1.Property.toObject(message.properties[j], options); + } + return object; + }; + + /** + * Converts this EntityAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + * @returns {Object.} JSON object + */ + EntityAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EntityAnnotation; + })(); + + v1p1beta1.SafeSearchAnnotation = (function() { + + /** + * Properties of a SafeSearchAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [racy] SafeSearchAnnotation racy + */ + + /** + * Constructs a new SafeSearchAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation + * @constructor + * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation=} [properties] Properties to set + */ + function SafeSearchAnnotation(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]]; + } + + /** + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1p1beta1.Likelihood} adult + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.adult = 0; + + /** + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1p1beta1.Likelihood} spoof + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoof = 0; + + /** + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1p1beta1.Likelihood} medical + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medical = 0; + + /** + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1p1beta1.Likelihood} violence + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1p1beta1.Likelihood} racy + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation instance + */ + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); + }; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); + return writer; + }; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.adult = reader.int32(); + break; + case 2: + message.spoof = reader.int32(); + break; + case 3: + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SafeSearchAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SafeSearchAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation + */ + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SafeSearchAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; + } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.racy] : message.racy; + return object; + }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @instance + * @returns {Object.} JSON object + */ + SafeSearchAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SafeSearchAnnotation; + })(); + + v1p1beta1.LatLongRect = (function() { + + /** + * Properties of a LatLongRect. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng + */ + + /** + * Constructs a new LatLongRect. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect + * @constructor + * @param {google.cloud.vision.v1p1beta1.ILatLongRect=} [properties] Properties to set + */ + function LatLongRect(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]]; + } + + /** + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.minLatLng = null; + + /** + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.maxLatLng = null; + + /** + * Creates a new LatLongRect instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p1beta1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect instance + */ + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); + }; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p1beta1.LatLongRect.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p1beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.LatLongRect.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p1beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.LatLongRect(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + case 2: + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LatLongRect message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LatLongRect.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); + if (error) + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; + } + return null; + }; + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect + */ + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.LatLongRect) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); + } + return message; + }; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p1beta1.LatLongRect} message LatLongRect + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LatLongRect.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.minLatLng = null; + object.maxLatLng = null; + } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); + return object; + }; + + /** + * Converts this LatLongRect to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @instance + * @returns {Object.} JSON object + */ + LatLongRect.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LatLongRect; + })(); + + v1p1beta1.ColorInfo = (function() { + + /** + * Properties of a ColorInfo. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction + */ + + /** + * Constructs a new ColorInfo. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a ColorInfo. + * @implements IColorInfo + * @constructor + * @param {google.cloud.vision.v1p1beta1.IColorInfo=} [properties] Properties to set + */ + function ColorInfo(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]]; + } + + /** + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.color = null; + + /** + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.score = 0; + + /** + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.pixelFraction = 0; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p1beta1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo instance + */ + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); + }; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ColorInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p1beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); + return writer; + }; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ColorInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p1beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ColorInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pixelFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ColorInfo message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ColorInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); + if (error) + return "color." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; + return null; + }; + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo + */ + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.ColorInfo) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); + } + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); + return message; + }; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p1beta1.ColorInfo} message ColorInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ColorInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.color = null; + object.score = 0; + object.pixelFraction = 0; + } + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; + return object; + }; + + /** + * Converts this ColorInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @instance + * @returns {Object.} JSON object + */ + ColorInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ColorInfo; + })(); + + v1p1beta1.DominantColorsAnnotation = (function() { + + /** + * Properties of a DominantColorsAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors + */ + + /** + * Constructs a new DominantColorsAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation + * @constructor + * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation=} [properties] Properties to set + */ + function DominantColorsAnnotation(properties) { + this.colors = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @instance + */ + DominantColorsAnnotation.prototype.colors = $util.emptyArray; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation instance + */ + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); + }; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1p1beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p1beta1.ColorInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DominantColorsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DominantColorsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.ColorInfo.verify(message.colors[i]); + if (error) + return "colors." + error; + } + } + return null; + }; + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation + */ + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1p1beta1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1p1beta1.ColorInfo.fromObject(object.colors[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DominantColorsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1p1beta1.ColorInfo.toObject(message.colors[j], options); + } + return object; + }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @instance + * @returns {Object.} JSON object + */ + DominantColorsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DominantColorsAnnotation; + })(); + + v1p1beta1.ImageProperties = (function() { + + /** + * Properties of an ImageProperties. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IImageProperties + * @property {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + */ + + /** + * Constructs a new ImageProperties. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents an ImageProperties. + * @implements IImageProperties + * @constructor + * @param {google.cloud.vision.v1p1beta1.IImageProperties=} [properties] Properties to set + */ + function ImageProperties(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]]; + } + + /** + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @instance + */ + ImageProperties.prototype.dominantColors = null; + + /** + * Creates a new ImageProperties instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p1beta1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties instance + */ + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); + }; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageProperties.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p1beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageProperties.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p1beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ImageProperties(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageProperties message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageProperties.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify(message.dominantColors); + if (error) + return "dominantColors." + error; + } + return null; + }; + + /** + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties + */ + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.ImageProperties) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.fromObject(object.dominantColors); + } + return message; + }; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p1beta1.ImageProperties} message ImageProperties + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageProperties.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); + return object; + }; + + /** + * Converts this ImageProperties to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @instance + * @returns {Object.} JSON object + */ + ImageProperties.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageProperties; + })(); + + v1p1beta1.CropHint = (function() { + + /** + * Properties of a CropHint. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ICropHint + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction + */ + + /** + * Constructs a new CropHint. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a CropHint. + * @implements ICropHint + * @constructor + * @param {google.cloud.vision.v1p1beta1.ICropHint=} [properties] Properties to set + */ + function CropHint(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]]; + } + + /** + * CropHint boundingPoly. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @instance + */ + CropHint.prototype.boundingPoly = null; + + /** + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @instance + */ + CropHint.prototype.confidence = 0; + + /** + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @instance + */ + CropHint.prototype.importanceFraction = 0; + + /** + * Creates a new CropHint instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @static + * @param {google.cloud.vision.v1p1beta1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint instance + */ + CropHint.create = function create(properties) { + return new CropHint(properties); + }; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHint.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @static + * @param {google.cloud.vision.v1p1beta1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + return writer; + }; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHint.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @static + * @param {google.cloud.vision.v1p1beta1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.CropHint(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + message.importanceFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHint message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHint.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; + return null; + }; + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint + */ + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.CropHint) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); + return message; + }; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @static + * @param {google.cloud.vision.v1p1beta1.CropHint} message CropHint + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHint.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; + return object; + }; + + /** + * Converts this CropHint to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @instance + * @returns {Object.} JSON object + */ + CropHint.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHint; + })(); + + v1p1beta1.CropHintsAnnotation = (function() { + + /** + * Properties of a CropHintsAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + */ + + /** + * Constructs a new CropHintsAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation + * @constructor + * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation=} [properties] Properties to set + */ + function CropHintsAnnotation(properties) { + this.cropHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @instance + */ + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation instance + */ + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); + }; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1p1beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p1beta1.CropHint.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.CropHint.verify(message.cropHints[i]); + if (error) + return "cropHints." + error; + } + } + return null; + }; + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation + */ + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1p1beta1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1p1beta1.CropHint.fromObject(object.cropHints[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.CropHintsAnnotation} message CropHintsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1p1beta1.CropHint.toObject(message.cropHints[j], options); + } + return object; + }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @instance + * @returns {Object.} JSON object + */ + CropHintsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsAnnotation; + })(); + + v1p1beta1.CropHintsParams = (function() { + + /** + * Properties of a CropHintsParams. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + */ + + /** + * Constructs a new CropHintsParams. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams + * @constructor + * @param {google.cloud.vision.v1p1beta1.ICropHintsParams=} [properties] Properties to set + */ + function CropHintsParams(properties) { + this.aspectRatios = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @instance + */ + CropHintsParams.prototype.aspectRatios = $util.emptyArray; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p1beta1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams instance + */ + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); + }; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p1beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p1beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.CropHintsParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsParams message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; + } + return null; + }; + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams + */ + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.CropHintsParams) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1p1beta1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); + } + return message; + }; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p1beta1.CropHintsParams} message CropHintsParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; + } + return object; + }; + + /** + * Converts this CropHintsParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @instance + * @returns {Object.} JSON object + */ + CropHintsParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsParams; + })(); + + v1p1beta1.WebDetectionParams = (function() { + + /** + * Properties of a WebDetectionParams. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + */ + + /** + * Constructs a new WebDetectionParams. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams + * @constructor + * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams=} [properties] Properties to set + */ + function WebDetectionParams(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]]; + } + + /** + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @instance + */ + WebDetectionParams.prototype.includeGeoResults = false; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams instance + */ + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); + }; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + return writer; + }; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.WebDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.includeGeoResults = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; + return null; + }; + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams + */ + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.WebDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); + return message; + }; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetectionParams} message WebDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; + return object; + }; + + /** + * Converts this WebDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @instance + * @returns {Object.} JSON object + */ + WebDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebDetectionParams; + })(); + + v1p1beta1.ImageContext = (function() { + + /** + * Properties of an ImageContext. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IImageContext + * @property {google.cloud.vision.v1p1beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1p1beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1p1beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + */ + + /** + * Constructs a new ImageContext. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents an ImageContext. + * @implements IImageContext + * @constructor + * @param {google.cloud.vision.v1p1beta1.IImageContext=} [properties] Properties to set + */ + function ImageContext(properties) { + this.languageHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImageContext latLongRect. + * @member {google.cloud.vision.v1p1beta1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @instance + */ + ImageContext.prototype.latLongRect = null; + + /** + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @instance + */ + ImageContext.prototype.languageHints = $util.emptyArray; + + /** + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1p1beta1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @instance + */ + ImageContext.prototype.cropHintsParams = null; + + /** + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1p1beta1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @instance + */ + ImageContext.prototype.webDetectionParams = null; + + /** + * Creates a new ImageContext instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p1beta1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext instance + */ + ImageContext.create = function create(properties) { + return new ImageContext(properties); + }; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p1beta1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1p1beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1p1beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1p1beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p1beta1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ImageContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 4: + message.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + case 6: + message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageContext message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1p1beta1.LatLongRect.verify(message.latLongRect); + if (error) + return "latLongRect." + error; + } + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1p1beta1.CropHintsParams.verify(message.cropHintsParams); + if (error) + return "cropHintsParams." + error; + } + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.verify(message.webDetectionParams); + if (error) + return "webDetectionParams." + error; + } + return null; + }; + + /** + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext + */ + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.ImageContext) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.fromObject(object.latLongRect); + } + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.fromObject(object.cropHintsParams); + } + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.fromObject(object.webDetectionParams); + } + return message; + }; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p1beta1.ImageContext} message ImageContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.languageHints = []; + if (options.defaults) { + object.latLongRect = null; + object.cropHintsParams = null; + object.webDetectionParams = null; + } + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + return object; + }; + + /** + * Converts this ImageContext to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @instance + * @returns {Object.} JSON object + */ + ImageContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageContext; + })(); + + v1p1beta1.AnnotateImageRequest = (function() { + + /** + * Properties of an AnnotateImageRequest. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1p1beta1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1p1beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + */ + + /** + * Constructs a new AnnotateImageRequest. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest + * @constructor + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest=} [properties] Properties to set + */ + function AnnotateImageRequest(properties) { + this.features = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1p1beta1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.image = null; + + /** + * AnnotateImageRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateImageRequest imageContext. + * @member {google.cloud.vision.v1p1beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.imageContext = null; + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest instance + */ + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); + }; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1p1beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p1beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p1beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.image = $root.google.cloud.vision.v1p1beta1.Image.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p1beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1p1beta1.Image.verify(message.image); + if (error) + return "image." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p1beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest + */ + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1p1beta1.Image.fromObject(object.image); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p1beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.fromObject(object.imageContext); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p1beta1.AnnotateImageRequest} message AnnotateImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.image = null; + object.imageContext = null; + } + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1p1beta1.Image.toObject(message.image, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p1beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.toObject(message.imageContext, options); + return object; + }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageRequest; + })(); + + v1p1beta1.AnnotateImageResponse = (function() { + + /** + * Properties of an AnnotateImageResponse. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1p1beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1p1beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1p1beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1p1beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + */ + + /** + * Constructs a new AnnotateImageResponse. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse + * @constructor + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse=} [properties] Properties to set + */ + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.textAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1p1beta1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.fullTextAnnotation = null; + + /** + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.safeSearchAnnotation = null; + + /** + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1p1beta1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; + + /** + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1p1beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.cropHintsAnnotation = null; + + /** + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1p1beta1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.webDetection = null; + + /** + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.error = null; + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse instance + */ + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); + }; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1p1beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1p1beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1p1beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.decode(reader, reader.uint32()); + break; + case 9: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageResponse message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } + } + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); + if (error) + return "landmarkAnnotations." + error; + } + } + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; + } + } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.verify(message.fullTextAnnotation); + if (error) + return "fullTextAnnotation." + error; + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); + if (error) + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1p1beta1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse + */ + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); + } + } + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.fromObject(object.webDetection); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p1beta1.AnnotateImageResponse} message AnnotateImageResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; + } + if (options.defaults) { + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; + object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; + } + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.toObject(message.webDetection, options); + return object; + }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageResponse; + })(); + + v1p1beta1.BatchAnnotateImagesRequest = (function() { + + /** + * Properties of a BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + */ + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest + * @constructor + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + */ + function BatchAnnotateImagesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @instance + */ + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + */ + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + */ + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.fromObject(object.requests[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.toObject(message.requests[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesRequest; + })(); + + v1p1beta1.BatchAnnotateImagesResponse = (function() { + + /** + * Properties of a BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + */ + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse + * @constructor + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + */ + function BatchAnnotateImagesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @instance + */ + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + */ + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + */ + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesResponse; + })(); + + /** + * Likelihood enum. + * @name google.cloud.vision.v1p1beta1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1p1beta1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1p1beta1.Vertex = (function() { + + /** + * Properties of a Vertex. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y + */ + + /** + * Constructs a new Vertex. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Vertex. + * @implements IVertex + * @constructor + * @param {google.cloud.vision.v1p1beta1.IVertex=} [properties] Properties to set + */ + function Vertex(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]]; + } + + /** + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @instance + */ + Vertex.prototype.x = 0; + + /** + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @instance + */ + Vertex.prototype.y = 0; + + /** + * Creates a new Vertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @static + * @param {google.cloud.vision.v1p1beta1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex instance + */ + Vertex.create = function create(properties) { + return new Vertex(properties); + }; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @static + * @param {google.cloud.vision.v1p1beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + return writer; + }; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @static + * @param {google.cloud.vision.v1p1beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Vertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.int32(); + break; + case 2: + message.y = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Vertex message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Vertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; + return null; + }; + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex + */ + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Vertex) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; + return message; + }; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @static + * @param {google.cloud.vision.v1p1beta1.Vertex} message Vertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Vertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; + return object; + }; + + /** + * Converts this Vertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @instance + * @returns {Object.} JSON object + */ + Vertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Vertex; + })(); + + v1p1beta1.BoundingPoly = (function() { + + /** + * Properties of a BoundingPoly. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + */ + + /** + * Constructs a new BoundingPoly. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly + * @constructor + * @param {google.cloud.vision.v1p1beta1.IBoundingPoly=} [properties] Properties to set + */ + function BoundingPoly(properties) { + this.vertices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @instance + */ + BoundingPoly.prototype.vertices = $util.emptyArray; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p1beta1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly instance + */ + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); + }; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p1beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p1beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p1beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.BoundingPoly(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p1beta1.Vertex.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoundingPoly message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoundingPoly.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Vertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } + return null; + }; + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly + */ + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.BoundingPoly) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p1beta1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p1beta1.Vertex.fromObject(object.vertices[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p1beta1.BoundingPoly} message BoundingPoly + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoundingPoly.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.vertices = []; + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p1beta1.Vertex.toObject(message.vertices[j], options); + } + return object; + }; + + /** + * Converts this BoundingPoly to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @instance + * @returns {Object.} JSON object + */ + BoundingPoly.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoundingPoly; + })(); + + v1p1beta1.Position = (function() { + + /** + * Properties of a Position. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z + */ + + /** + * Constructs a new Position. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Position. + * @implements IPosition + * @constructor + * @param {google.cloud.vision.v1p1beta1.IPosition=} [properties] Properties to set + */ + function Position(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]]; + } + + /** + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1p1beta1.Position + * @instance + */ + Position.prototype.x = 0; + + /** + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1p1beta1.Position + * @instance + */ + Position.prototype.y = 0; + + /** + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1p1beta1.Position + * @instance + */ + Position.prototype.z = 0; + + /** + * Creates a new Position instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Position + * @static + * @param {google.cloud.vision.v1p1beta1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Position} Position instance + */ + Position.create = function create(properties) { + return new Position(properties); + }; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Position + * @static + * @param {google.cloud.vision.v1p1beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + return writer; + }; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Position + * @static + * @param {google.cloud.vision.v1p1beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Position message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Position(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + case 3: + message.z = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Position message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Position + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Position.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; + return null; + }; + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Position + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Position} Position + */ + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Position) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); + return message; + }; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Position + * @static + * @param {google.cloud.vision.v1p1beta1.Position} message Position + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Position.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + object.z = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + return object; + }; + + /** + * Converts this Position to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Position + * @instance + * @returns {Object.} JSON object + */ + Position.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Position; + })(); + + v1p1beta1.TextAnnotation = (function() { + + /** + * Properties of a TextAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ITextAnnotation + * @property {Array.|null} [pages] TextAnnotation pages + * @property {string|null} [text] TextAnnotation text + */ + + /** + * Constructs a new TextAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation + * @constructor + * @param {google.cloud.vision.v1p1beta1.ITextAnnotation=} [properties] Properties to set + */ + function TextAnnotation(properties) { + this.pages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextAnnotation pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.pages = $util.emptyArray; + + /** + * TextAnnotation text. + * @member {string} text + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.text = ""; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation instance + */ + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); + }; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pages != null && message.pages.length) + for (var i = 0; i < message.pages.length; ++i) + $root.google.cloud.vision.v1p1beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); + return writer; + }; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p1beta1.Page.decode(reader, reader.uint32())); + break; + case 2: + message.text = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Page.verify(message.pages[i]); + if (error) + return "pages." + error; + } + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + return null; + }; + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation + */ + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.TextAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation(); + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1p1beta1.TextAnnotation.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) { + if (typeof object.pages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.TextAnnotation.pages: object expected"); + message.pages[i] = $root.google.cloud.vision.v1p1beta1.Page.fromObject(object.pages[i]); + } + } + if (object.text != null) + message.text = String(object.text); + return message; + }; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation} message TextAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pages = []; + if (options.defaults) + object.text = ""; + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = $root.google.cloud.vision.v1p1beta1.Page.toObject(message.pages[j], options); + } + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + return object; + }; + + /** + * Converts this TextAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @instance + * @returns {Object.} JSON object + */ + TextAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + TextAnnotation.DetectedLanguage = (function() { + + /** + * Properties of a DetectedLanguage. + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @interface IDetectedLanguage + * @property {string|null} [languageCode] DetectedLanguage languageCode + * @property {number|null} [confidence] DetectedLanguage confidence + */ + + /** + * Constructs a new DetectedLanguage. + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @classdesc Represents a DetectedLanguage. + * @implements IDetectedLanguage + * @constructor + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + */ + function DetectedLanguage(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]]; + } + + /** + * DetectedLanguage languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.languageCode = ""; + + /** + * DetectedLanguage confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.confidence = 0; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage} DetectedLanguage instance + */ + DetectedLanguage.create = function create(properties) { + return new DetectedLanguage(properties); + }; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.languageCode = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedLanguage message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedLanguage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + */ + DetectedLanguage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage(); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage} message DetectedLanguage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedLanguage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.languageCode = ""; + object.confidence = 0; + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this DetectedLanguage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @instance + * @returns {Object.} JSON object + */ + DetectedLanguage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DetectedLanguage; + })(); + + TextAnnotation.DetectedBreak = (function() { + + /** + * Properties of a DetectedBreak. + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @interface IDetectedBreak + * @property {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType|null} [type] DetectedBreak type + * @property {boolean|null} [isPrefix] DetectedBreak isPrefix + */ + + /** + * Constructs a new DetectedBreak. + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @classdesc Represents a DetectedBreak. + * @implements IDetectedBreak + * @constructor + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + */ + function DetectedBreak(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]]; + } + + /** + * DetectedBreak type. + * @member {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType} type + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.type = 0; + + /** + * DetectedBreak isPrefix. + * @member {boolean} isPrefix + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.isPrefix = false; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak} DetectedBreak instance + */ + DetectedBreak.create = function create(properties) { + return new DetectedBreak(properties); + }; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); + return writer; + }; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.isPrefix = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedBreak message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedBreak.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: + case 3: + case 4: + case 5: + break; + } + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (typeof message.isPrefix !== "boolean") + return "isPrefix: boolean expected"; + return null; + }; + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak} DetectedBreak + */ + DetectedBreak.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak(); + switch (object.type) { + case "UNKNOWN": + case 0: + message.type = 0; + break; + case "SPACE": + case 1: + message.type = 1; + break; + case "SURE_SPACE": + case 2: + message.type = 2; + break; + case "EOL_SURE_SPACE": + case 3: + message.type = 3; + break; + case "HYPHEN": + case 4: + message.type = 4; + break; + case "LINE_BREAK": + case 5: + message.type = 5; + break; + } + if (object.isPrefix != null) + message.isPrefix = Boolean(object.isPrefix); + return message; + }; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak} message DetectedBreak + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedBreak.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN" : 0; + object.isPrefix = false; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + object.isPrefix = message.isPrefix; + return object; + }; + + /** + * Converts this DetectedBreak to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @instance + * @returns {Object.} JSON object + */ + DetectedBreak.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BreakType enum. + * @name google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} SPACE=1 SPACE value + * @property {number} SURE_SPACE=2 SURE_SPACE value + * @property {number} EOL_SURE_SPACE=3 EOL_SURE_SPACE value + * @property {number} HYPHEN=4 HYPHEN value + * @property {number} LINE_BREAK=5 LINE_BREAK value + */ + DetectedBreak.BreakType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "SPACE"] = 1; + values[valuesById[2] = "SURE_SPACE"] = 2; + values[valuesById[3] = "EOL_SURE_SPACE"] = 3; + values[valuesById[4] = "HYPHEN"] = 4; + values[valuesById[5] = "LINE_BREAK"] = 5; + return values; + })(); + + return DetectedBreak; + })(); + + TextAnnotation.TextProperty = (function() { + + /** + * Properties of a TextProperty. + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @interface ITextProperty + * @property {Array.|null} [detectedLanguages] TextProperty detectedLanguages + * @property {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak|null} [detectedBreak] TextProperty detectedBreak + */ + + /** + * Constructs a new TextProperty. + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @classdesc Represents a TextProperty. + * @implements ITextProperty + * @constructor + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + */ + function TextProperty(properties) { + this.detectedLanguages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextProperty detectedLanguages. + * @member {Array.} detectedLanguages + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedLanguages = $util.emptyArray; + + /** + * TextProperty detectedBreak. + * @member {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak|null|undefined} detectedBreak + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedBreak = null; + + /** + * Creates a new TextProperty instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty} TextProperty instance + */ + TextProperty.create = function create(properties) { + return new TextProperty(properties); + }; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.detectedLanguages != null && message.detectedLanguages.length) + for (var i = 0; i < message.detectedLanguages.length; ++i) + $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + case 2: + message.detectedBreak = $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextProperty message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextProperty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.detectedLanguages != null && message.hasOwnProperty("detectedLanguages")) { + if (!Array.isArray(message.detectedLanguages)) + return "detectedLanguages: array expected"; + for (var i = 0; i < message.detectedLanguages.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.verify(message.detectedLanguages[i]); + if (error) + return "detectedLanguages." + error; + } + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) { + var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.verify(message.detectedBreak); + if (error) + return "detectedBreak." + error; + } + return null; + }; + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty} TextProperty + */ + TextProperty.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty(); + if (object.detectedLanguages) { + if (!Array.isArray(object.detectedLanguages)) + throw TypeError(".google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.detectedLanguages: array expected"); + message.detectedLanguages = []; + for (var i = 0; i < object.detectedLanguages.length; ++i) { + if (typeof object.detectedLanguages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.detectedLanguages: object expected"); + message.detectedLanguages[i] = $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.fromObject(object.detectedLanguages[i]); + } + } + if (object.detectedBreak != null) { + if (typeof object.detectedBreak !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.detectedBreak: object expected"); + message.detectedBreak = $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.fromObject(object.detectedBreak); + } + return message; + }; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty} message TextProperty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextProperty.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.detectedLanguages = []; + if (options.defaults) + object.detectedBreak = null; + if (message.detectedLanguages && message.detectedLanguages.length) { + object.detectedLanguages = []; + for (var j = 0; j < message.detectedLanguages.length; ++j) + object.detectedLanguages[j] = $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.toObject(message.detectedLanguages[j], options); + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + object.detectedBreak = $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.toObject(message.detectedBreak, options); + return object; + }; + + /** + * Converts this TextProperty to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @instance + * @returns {Object.} JSON object + */ + TextProperty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextProperty; + })(); + + return TextAnnotation; + })(); + + v1p1beta1.Page = (function() { + + /** + * Properties of a Page. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IPage + * @property {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null} [property] Page property + * @property {number|null} [width] Page width + * @property {number|null} [height] Page height + * @property {Array.|null} [blocks] Page blocks + * @property {number|null} [confidence] Page confidence + */ + + /** + * Constructs a new Page. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Page. + * @implements IPage + * @constructor + * @param {google.cloud.vision.v1p1beta1.IPage=} [properties] Properties to set + */ + function Page(properties) { + this.blocks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Page property. + * @member {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p1beta1.Page + * @instance + */ + Page.prototype.property = null; + + /** + * Page width. + * @member {number} width + * @memberof google.cloud.vision.v1p1beta1.Page + * @instance + */ + Page.prototype.width = 0; + + /** + * Page height. + * @member {number} height + * @memberof google.cloud.vision.v1p1beta1.Page + * @instance + */ + Page.prototype.height = 0; + + /** + * Page blocks. + * @member {Array.} blocks + * @memberof google.cloud.vision.v1p1beta1.Page + * @instance + */ + Page.prototype.blocks = $util.emptyArray; + + /** + * Page confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.Page + * @instance + */ + Page.prototype.confidence = 0; + + /** + * Creates a new Page instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Page + * @static + * @param {google.cloud.vision.v1p1beta1.IPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Page} Page instance + */ + Page.create = function create(properties) { + return new Page(properties); + }; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Page.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Page + * @static + * @param {google.cloud.vision.v1p1beta1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.width != null && message.hasOwnProperty("width")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); + if (message.height != null && message.hasOwnProperty("height")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); + if (message.blocks != null && message.blocks.length) + for (var i = 0; i < message.blocks.length; ++i) + $root.google.cloud.vision.v1p1beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Page.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Page + * @static + * @param {google.cloud.vision.v1p1beta1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Page message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Page(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.width = reader.int32(); + break; + case 3: + message.height = reader.int32(); + break; + case 4: + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1p1beta1.Block.decode(reader, reader.uint32())); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Page message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Page + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Page.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.width != null && message.hasOwnProperty("width")) + if (!$util.isInteger(message.width)) + return "width: integer expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height)) + return "height: integer expected"; + if (message.blocks != null && message.hasOwnProperty("blocks")) { + if (!Array.isArray(message.blocks)) + return "blocks: array expected"; + for (var i = 0; i < message.blocks.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Block.verify(message.blocks[i]); + if (error) + return "blocks." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Page + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Page} Page + */ + Page.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Page) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Page(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Page.property: object expected"); + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.width != null) + message.width = object.width | 0; + if (object.height != null) + message.height = object.height | 0; + if (object.blocks) { + if (!Array.isArray(object.blocks)) + throw TypeError(".google.cloud.vision.v1p1beta1.Page.blocks: array expected"); + message.blocks = []; + for (var i = 0; i < object.blocks.length; ++i) { + if (typeof object.blocks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Page.blocks: object expected"); + message.blocks[i] = $root.google.cloud.vision.v1p1beta1.Block.fromObject(object.blocks[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Page + * @static + * @param {google.cloud.vision.v1p1beta1.Page} message Page + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Page.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.blocks = []; + if (options.defaults) { + object.property = null; + object.width = 0; + object.height = 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.width != null && message.hasOwnProperty("width")) + object.width = message.width; + if (message.height != null && message.hasOwnProperty("height")) + object.height = message.height; + if (message.blocks && message.blocks.length) { + object.blocks = []; + for (var j = 0; j < message.blocks.length; ++j) + object.blocks[j] = $root.google.cloud.vision.v1p1beta1.Block.toObject(message.blocks[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Page to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Page + * @instance + * @returns {Object.} JSON object + */ + Page.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Page; + })(); + + v1p1beta1.Block = (function() { + + /** + * Properties of a Block. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IBlock + * @property {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null} [property] Block property + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingBox] Block boundingBox + * @property {Array.|null} [paragraphs] Block paragraphs + * @property {google.cloud.vision.v1p1beta1.Block.BlockType|null} [blockType] Block blockType + * @property {number|null} [confidence] Block confidence + */ + + /** + * Constructs a new Block. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Block. + * @implements IBlock + * @constructor + * @param {google.cloud.vision.v1p1beta1.IBlock=} [properties] Properties to set + */ + function Block(properties) { + this.paragraphs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Block property. + * @member {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p1beta1.Block + * @instance + */ + Block.prototype.property = null; + + /** + * Block boundingBox. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p1beta1.Block + * @instance + */ + Block.prototype.boundingBox = null; + + /** + * Block paragraphs. + * @member {Array.} paragraphs + * @memberof google.cloud.vision.v1p1beta1.Block + * @instance + */ + Block.prototype.paragraphs = $util.emptyArray; + + /** + * Block blockType. + * @member {google.cloud.vision.v1p1beta1.Block.BlockType} blockType + * @memberof google.cloud.vision.v1p1beta1.Block + * @instance + */ + Block.prototype.blockType = 0; + + /** + * Block confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.Block + * @instance + */ + Block.prototype.confidence = 0; + + /** + * Creates a new Block instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Block + * @static + * @param {google.cloud.vision.v1p1beta1.IBlock=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Block} Block instance + */ + Block.create = function create(properties) { + return new Block(properties); + }; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Block.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Block + * @static + * @param {google.cloud.vision.v1p1beta1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.paragraphs != null && message.paragraphs.length) + for (var i = 0; i < message.paragraphs.length; ++i) + $root.google.cloud.vision.v1p1beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.blockType != null && message.hasOwnProperty("blockType")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Block.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Block + * @static + * @param {google.cloud.vision.v1p1beta1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Block message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Block(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1p1beta1.Paragraph.decode(reader, reader.uint32())); + break; + case 4: + message.blockType = reader.int32(); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Block message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Block + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Block.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.paragraphs != null && message.hasOwnProperty("paragraphs")) { + if (!Array.isArray(message.paragraphs)) + return "paragraphs: array expected"; + for (var i = 0; i < message.paragraphs.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Paragraph.verify(message.paragraphs[i]); + if (error) + return "paragraphs." + error; + } + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + switch (message.blockType) { + default: + return "blockType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Block + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Block} Block + */ + Block.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Block) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Block(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Block.property: object expected"); + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Block.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.paragraphs) { + if (!Array.isArray(object.paragraphs)) + throw TypeError(".google.cloud.vision.v1p1beta1.Block.paragraphs: array expected"); + message.paragraphs = []; + for (var i = 0; i < object.paragraphs.length; ++i) { + if (typeof object.paragraphs[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Block.paragraphs: object expected"); + message.paragraphs[i] = $root.google.cloud.vision.v1p1beta1.Paragraph.fromObject(object.paragraphs[i]); + } + } + switch (object.blockType) { + case "UNKNOWN": + case 0: + message.blockType = 0; + break; + case "TEXT": + case 1: + message.blockType = 1; + break; + case "TABLE": + case 2: + message.blockType = 2; + break; + case "PICTURE": + case 3: + message.blockType = 3; + break; + case "RULER": + case 4: + message.blockType = 4; + break; + case "BARCODE": + case 5: + message.blockType = 5; + break; + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Block + * @static + * @param {google.cloud.vision.v1p1beta1.Block} message Block + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Block.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paragraphs = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.blockType = options.enums === String ? "UNKNOWN" : 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.paragraphs && message.paragraphs.length) { + object.paragraphs = []; + for (var j = 0; j < message.paragraphs.length; ++j) + object.paragraphs[j] = $root.google.cloud.vision.v1p1beta1.Paragraph.toObject(message.paragraphs[j], options); + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + object.blockType = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Block.BlockType[message.blockType] : message.blockType; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Block to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Block + * @instance + * @returns {Object.} JSON object + */ + Block.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BlockType enum. + * @name google.cloud.vision.v1p1beta1.Block.BlockType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} TEXT=1 TEXT value + * @property {number} TABLE=2 TABLE value + * @property {number} PICTURE=3 PICTURE value + * @property {number} RULER=4 RULER value + * @property {number} BARCODE=5 BARCODE value + */ + Block.BlockType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "TEXT"] = 1; + values[valuesById[2] = "TABLE"] = 2; + values[valuesById[3] = "PICTURE"] = 3; + values[valuesById[4] = "RULER"] = 4; + values[valuesById[5] = "BARCODE"] = 5; + return values; + })(); + + return Block; + })(); + + v1p1beta1.Paragraph = (function() { + + /** + * Properties of a Paragraph. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IParagraph + * @property {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null} [property] Paragraph property + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingBox] Paragraph boundingBox + * @property {Array.|null} [words] Paragraph words + * @property {number|null} [confidence] Paragraph confidence + */ + + /** + * Constructs a new Paragraph. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Paragraph. + * @implements IParagraph + * @constructor + * @param {google.cloud.vision.v1p1beta1.IParagraph=} [properties] Properties to set + */ + function Paragraph(properties) { + this.words = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Paragraph property. + * @member {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @instance + */ + Paragraph.prototype.property = null; + + /** + * Paragraph boundingBox. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @instance + */ + Paragraph.prototype.boundingBox = null; + + /** + * Paragraph words. + * @member {Array.} words + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @instance + */ + Paragraph.prototype.words = $util.emptyArray; + + /** + * Paragraph confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @instance + */ + Paragraph.prototype.confidence = 0; + + /** + * Creates a new Paragraph instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p1beta1.IParagraph=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Paragraph} Paragraph instance + */ + Paragraph.create = function create(properties) { + return new Paragraph(properties); + }; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Paragraph.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p1beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.words != null && message.words.length) + for (var i = 0; i < message.words.length; ++i) + $root.google.cloud.vision.v1p1beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Paragraph.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p1beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Paragraph(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1p1beta1.Word.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Paragraph message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Paragraph.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.words != null && message.hasOwnProperty("words")) { + if (!Array.isArray(message.words)) + return "words: array expected"; + for (var i = 0; i < message.words.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Word.verify(message.words[i]); + if (error) + return "words." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Paragraph} Paragraph + */ + Paragraph.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Paragraph) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Paragraph(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Paragraph.property: object expected"); + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Paragraph.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.words) { + if (!Array.isArray(object.words)) + throw TypeError(".google.cloud.vision.v1p1beta1.Paragraph.words: array expected"); + message.words = []; + for (var i = 0; i < object.words.length; ++i) { + if (typeof object.words[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Paragraph.words: object expected"); + message.words[i] = $root.google.cloud.vision.v1p1beta1.Word.fromObject(object.words[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p1beta1.Paragraph} message Paragraph + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Paragraph.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.words = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.words && message.words.length) { + object.words = []; + for (var j = 0; j < message.words.length; ++j) + object.words[j] = $root.google.cloud.vision.v1p1beta1.Word.toObject(message.words[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Paragraph to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @instance + * @returns {Object.} JSON object + */ + Paragraph.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Paragraph; + })(); + + v1p1beta1.Word = (function() { + + /** + * Properties of a Word. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IWord + * @property {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null} [property] Word property + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingBox] Word boundingBox + * @property {Array.|null} [symbols] Word symbols + * @property {number|null} [confidence] Word confidence + */ + + /** + * Constructs a new Word. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Word. + * @implements IWord + * @constructor + * @param {google.cloud.vision.v1p1beta1.IWord=} [properties] Properties to set + */ + function Word(properties) { + this.symbols = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Word property. + * @member {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p1beta1.Word + * @instance + */ + Word.prototype.property = null; + + /** + * Word boundingBox. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p1beta1.Word + * @instance + */ + Word.prototype.boundingBox = null; + + /** + * Word symbols. + * @member {Array.} symbols + * @memberof google.cloud.vision.v1p1beta1.Word + * @instance + */ + Word.prototype.symbols = $util.emptyArray; + + /** + * Word confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.Word + * @instance + */ + Word.prototype.confidence = 0; + + /** + * Creates a new Word instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Word + * @static + * @param {google.cloud.vision.v1p1beta1.IWord=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Word} Word instance + */ + Word.create = function create(properties) { + return new Word(properties); + }; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Word.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Word + * @static + * @param {google.cloud.vision.v1p1beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.symbols != null && message.symbols.length) + for (var i = 0; i < message.symbols.length; ++i) + $root.google.cloud.vision.v1p1beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Word.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Word + * @static + * @param {google.cloud.vision.v1p1beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Word message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Word(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1p1beta1.Symbol.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Word message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Word + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Word.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.symbols != null && message.hasOwnProperty("symbols")) { + if (!Array.isArray(message.symbols)) + return "symbols: array expected"; + for (var i = 0; i < message.symbols.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Symbol.verify(message.symbols[i]); + if (error) + return "symbols." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Word + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Word} Word + */ + Word.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Word) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Word(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Word.property: object expected"); + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Word.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.symbols) { + if (!Array.isArray(object.symbols)) + throw TypeError(".google.cloud.vision.v1p1beta1.Word.symbols: array expected"); + message.symbols = []; + for (var i = 0; i < object.symbols.length; ++i) { + if (typeof object.symbols[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Word.symbols: object expected"); + message.symbols[i] = $root.google.cloud.vision.v1p1beta1.Symbol.fromObject(object.symbols[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Word + * @static + * @param {google.cloud.vision.v1p1beta1.Word} message Word + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Word.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.symbols = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.symbols && message.symbols.length) { + object.symbols = []; + for (var j = 0; j < message.symbols.length; ++j) + object.symbols[j] = $root.google.cloud.vision.v1p1beta1.Symbol.toObject(message.symbols[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Word to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Word + * @instance + * @returns {Object.} JSON object + */ + Word.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Word; + })(); + + v1p1beta1.Symbol = (function() { + + /** + * Properties of a Symbol. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ISymbol + * @property {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null} [property] Symbol property + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingBox] Symbol boundingBox + * @property {string|null} [text] Symbol text + * @property {number|null} [confidence] Symbol confidence + */ + + /** + * Constructs a new Symbol. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Symbol. + * @implements ISymbol + * @constructor + * @param {google.cloud.vision.v1p1beta1.ISymbol=} [properties] Properties to set + */ + function Symbol(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]]; + } + + /** + * Symbol property. + * @member {google.cloud.vision.v1p1beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @instance + */ + Symbol.prototype.property = null; + + /** + * Symbol boundingBox. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @instance + */ + Symbol.prototype.boundingBox = null; + + /** + * Symbol text. + * @member {string} text + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @instance + */ + Symbol.prototype.text = ""; + + /** + * Symbol confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @instance + */ + Symbol.prototype.confidence = 0; + + /** + * Creates a new Symbol instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @static + * @param {google.cloud.vision.v1p1beta1.ISymbol=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Symbol} Symbol instance + */ + Symbol.create = function create(properties) { + return new Symbol(properties); + }; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Symbol.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @static + * @param {google.cloud.vision.v1p1beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Symbol.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @static + * @param {google.cloud.vision.v1p1beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Symbol(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + message.text = reader.string(); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Symbol message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Symbol.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.Symbol} Symbol + */ + Symbol.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Symbol) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.Symbol(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Symbol.property: object expected"); + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Symbol.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.text != null) + message.text = String(object.text); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @static + * @param {google.cloud.vision.v1p1beta1.Symbol} message Symbol + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Symbol.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.text = ""; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Symbol to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @instance + * @returns {Object.} JSON object + */ + Symbol.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Symbol; + })(); + + v1p1beta1.WebDetection = (function() { + + /** + * Properties of a WebDetection. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IWebDetection + * @property {Array.|null} [webEntities] WebDetection webEntities + * @property {Array.|null} [fullMatchingImages] WebDetection fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebDetection partialMatchingImages + * @property {Array.|null} [pagesWithMatchingImages] WebDetection pagesWithMatchingImages + * @property {Array.|null} [visuallySimilarImages] WebDetection visuallySimilarImages + * @property {Array.|null} [bestGuessLabels] WebDetection bestGuessLabels + */ + + /** + * Constructs a new WebDetection. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a WebDetection. + * @implements IWebDetection + * @constructor + * @param {google.cloud.vision.v1p1beta1.IWebDetection=} [properties] Properties to set + */ + function WebDetection(properties) { + this.webEntities = []; + this.fullMatchingImages = []; + this.partialMatchingImages = []; + this.pagesWithMatchingImages = []; + this.visuallySimilarImages = []; + this.bestGuessLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebDetection webEntities. + * @member {Array.} webEntities + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @instance + */ + WebDetection.prototype.webEntities = $util.emptyArray; + + /** + * WebDetection fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @instance + */ + WebDetection.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebDetection partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @instance + */ + WebDetection.prototype.partialMatchingImages = $util.emptyArray; + + /** + * WebDetection pagesWithMatchingImages. + * @member {Array.} pagesWithMatchingImages + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @instance + */ + WebDetection.prototype.pagesWithMatchingImages = $util.emptyArray; + + /** + * WebDetection visuallySimilarImages. + * @member {Array.} visuallySimilarImages + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @instance + */ + WebDetection.prototype.visuallySimilarImages = $util.emptyArray; + + /** + * WebDetection bestGuessLabels. + * @member {Array.} bestGuessLabels + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @instance + */ + WebDetection.prototype.bestGuessLabels = $util.emptyArray; + + /** + * Creates a new WebDetection instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p1beta1.IWebDetection=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.WebDetection} WebDetection instance + */ + WebDetection.create = function create(properties) { + return new WebDetection(properties); + }; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p1beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.webEntities != null && message.webEntities.length) + for (var i = 0; i < message.webEntities.length; ++i) + $root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity.encode(message.webEntities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.pagesWithMatchingImages != null && message.pagesWithMatchingImages.length) + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) + $root.google.cloud.vision.v1p1beta1.WebDetection.WebPage.encode(message.pagesWithMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.visuallySimilarImages != null && message.visuallySimilarImages.length) + for (var i = 0; i < message.visuallySimilarImages.length; ++i) + $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.encode(message.visuallySimilarImages[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.bestGuessLabels != null && message.bestGuessLabels.length) + for (var i = 0; i < message.bestGuessLabels.length; ++i) + $root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel.encode(message.bestGuessLabels[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p1beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.WebDetection(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 8: + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetection message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetection.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.webEntities != null && message.hasOwnProperty("webEntities")) { + if (!Array.isArray(message.webEntities)) + return "webEntities: array expected"; + for (var i = 0; i < message.webEntities.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity.verify(message.webEntities[i]); + if (error) + return "webEntities." + error; + } + } + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + if (message.pagesWithMatchingImages != null && message.hasOwnProperty("pagesWithMatchingImages")) { + if (!Array.isArray(message.pagesWithMatchingImages)) + return "pagesWithMatchingImages: array expected"; + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.WebPage.verify(message.pagesWithMatchingImages[i]); + if (error) + return "pagesWithMatchingImages." + error; + } + } + if (message.visuallySimilarImages != null && message.hasOwnProperty("visuallySimilarImages")) { + if (!Array.isArray(message.visuallySimilarImages)) + return "visuallySimilarImages: array expected"; + for (var i = 0; i < message.visuallySimilarImages.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.verify(message.visuallySimilarImages[i]); + if (error) + return "visuallySimilarImages." + error; + } + } + if (message.bestGuessLabels != null && message.hasOwnProperty("bestGuessLabels")) { + if (!Array.isArray(message.bestGuessLabels)) + return "bestGuessLabels: array expected"; + for (var i = 0; i < message.bestGuessLabels.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel.verify(message.bestGuessLabels[i]); + if (error) + return "bestGuessLabels." + error; + } + } + return null; + }; + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.WebDetection} WebDetection + */ + WebDetection.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.WebDetection) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.WebDetection(); + if (object.webEntities) { + if (!Array.isArray(object.webEntities)) + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.webEntities: array expected"); + message.webEntities = []; + for (var i = 0; i < object.webEntities.length; ++i) { + if (typeof object.webEntities[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.webEntities: object expected"); + message.webEntities[i] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity.fromObject(object.webEntities[i]); + } + } + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + if (object.pagesWithMatchingImages) { + if (!Array.isArray(object.pagesWithMatchingImages)) + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.pagesWithMatchingImages: array expected"); + message.pagesWithMatchingImages = []; + for (var i = 0; i < object.pagesWithMatchingImages.length; ++i) { + if (typeof object.pagesWithMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.pagesWithMatchingImages: object expected"); + message.pagesWithMatchingImages[i] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebPage.fromObject(object.pagesWithMatchingImages[i]); + } + } + if (object.visuallySimilarImages) { + if (!Array.isArray(object.visuallySimilarImages)) + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.visuallySimilarImages: array expected"); + message.visuallySimilarImages = []; + for (var i = 0; i < object.visuallySimilarImages.length; ++i) { + if (typeof object.visuallySimilarImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.visuallySimilarImages: object expected"); + message.visuallySimilarImages[i] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.fromObject(object.visuallySimilarImages[i]); + } + } + if (object.bestGuessLabels) { + if (!Array.isArray(object.bestGuessLabels)) + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.bestGuessLabels: array expected"); + message.bestGuessLabels = []; + for (var i = 0; i < object.bestGuessLabels.length; ++i) { + if (typeof object.bestGuessLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.bestGuessLabels: object expected"); + message.bestGuessLabels[i] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel.fromObject(object.bestGuessLabels[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection} message WebDetection + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetection.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.webEntities = []; + object.fullMatchingImages = []; + object.partialMatchingImages = []; + object.pagesWithMatchingImages = []; + object.visuallySimilarImages = []; + object.bestGuessLabels = []; + } + if (message.webEntities && message.webEntities.length) { + object.webEntities = []; + for (var j = 0; j < message.webEntities.length; ++j) + object.webEntities[j] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity.toObject(message.webEntities[j], options); + } + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + if (message.pagesWithMatchingImages && message.pagesWithMatchingImages.length) { + object.pagesWithMatchingImages = []; + for (var j = 0; j < message.pagesWithMatchingImages.length; ++j) + object.pagesWithMatchingImages[j] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebPage.toObject(message.pagesWithMatchingImages[j], options); + } + if (message.visuallySimilarImages && message.visuallySimilarImages.length) { + object.visuallySimilarImages = []; + for (var j = 0; j < message.visuallySimilarImages.length; ++j) + object.visuallySimilarImages[j] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.toObject(message.visuallySimilarImages[j], options); + } + if (message.bestGuessLabels && message.bestGuessLabels.length) { + object.bestGuessLabels = []; + for (var j = 0; j < message.bestGuessLabels.length; ++j) + object.bestGuessLabels[j] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel.toObject(message.bestGuessLabels[j], options); + } + return object; + }; + + /** + * Converts this WebDetection to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @instance + * @returns {Object.} JSON object + */ + WebDetection.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + WebDetection.WebEntity = (function() { + + /** + * Properties of a WebEntity. + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @interface IWebEntity + * @property {string|null} [entityId] WebEntity entityId + * @property {number|null} [score] WebEntity score + * @property {string|null} [description] WebEntity description + */ + + /** + * Constructs a new WebEntity. + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @classdesc Represents a WebEntity. + * @implements IWebEntity + * @constructor + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebEntity=} [properties] Properties to set + */ + function WebEntity(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]]; + } + + /** + * WebEntity entityId. + * @member {string} entityId + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.entityId = ""; + + /** + * WebEntity score. + * @member {number} score + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.score = 0; + + /** + * WebEntity description. + * @member {string} description + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.description = ""; + + /** + * Creates a new WebEntity instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebEntity=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebEntity} WebEntity instance + */ + WebEntity.create = function create(properties) { + return new WebEntity(properties); + }; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebEntity.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entityId != null && message.hasOwnProperty("entityId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + return writer; + }; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebEntity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.description = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebEntity message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebEntity.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entityId != null && message.hasOwnProperty("entityId")) + if (!$util.isString(message.entityId)) + return "entityId: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + return null; + }; + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebEntity} WebEntity + */ + WebEntity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.score != null) + message.score = Number(object.score); + if (object.description != null) + message.description = String(object.description); + return message; + }; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.WebEntity} message WebEntity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebEntity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.score = 0; + object.description = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + return object; + }; + + /** + * Converts this WebEntity to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @instance + * @returns {Object.} JSON object + */ + WebEntity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebEntity; + })(); + + WebDetection.WebImage = (function() { + + /** + * Properties of a WebImage. + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @interface IWebImage + * @property {string|null} [url] WebImage url + * @property {number|null} [score] WebImage score + */ + + /** + * Constructs a new WebImage. + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @classdesc Represents a WebImage. + * @implements IWebImage + * @constructor + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebImage=} [properties] Properties to set + */ + function WebImage(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]]; + } + + /** + * WebImage url. + * @member {string} url + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.url = ""; + + /** + * WebImage score. + * @member {number} score + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.score = 0; + + /** + * Creates a new WebImage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebImage} WebImage instance + */ + WebImage.create = function create(properties) { + return new WebImage(properties); + }; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebImage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + return writer; + }; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebImage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebImage message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebImage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + return null; + }; + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebImage} WebImage + */ + WebImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + return message; + }; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.WebImage} message WebImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.url = ""; + object.score = 0; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + return object; + }; + + /** + * Converts this WebImage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @instance + * @returns {Object.} JSON object + */ + WebImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebImage; + })(); + + WebDetection.WebPage = (function() { + + /** + * Properties of a WebPage. + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @interface IWebPage + * @property {string|null} [url] WebPage url + * @property {number|null} [score] WebPage score + * @property {string|null} [pageTitle] WebPage pageTitle + * @property {Array.|null} [fullMatchingImages] WebPage fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebPage partialMatchingImages + */ + + /** + * Constructs a new WebPage. + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @classdesc Represents a WebPage. + * @implements IWebPage + * @constructor + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebPage=} [properties] Properties to set + */ + function WebPage(properties) { + this.fullMatchingImages = []; + this.partialMatchingImages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebPage url. + * @member {string} url + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.url = ""; + + /** + * WebPage score. + * @member {number} score + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.score = 0; + + /** + * WebPage pageTitle. + * @member {string} pageTitle + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.pageTitle = ""; + + /** + * WebPage fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebPage partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.partialMatchingImages = $util.emptyArray; + + /** + * Creates a new WebPage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebPage} WebPage instance + */ + WebPage.create = function create(properties) { + return new WebPage(properties); + }; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebPage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebPage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.WebDetection.WebPage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pageTitle = reader.string(); + break; + case 4: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebPage message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebPage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (!$util.isString(message.pageTitle)) + return "pageTitle: string expected"; + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + return null; + }; + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebPage} WebPage + */ + WebPage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.WebDetection.WebPage) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.WebDetection.WebPage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + if (object.pageTitle != null) + message.pageTitle = String(object.pageTitle); + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.WebPage.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.WebPage.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.WebPage.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.WebDetection.WebPage.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.WebPage} message WebPage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebPage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.fullMatchingImages = []; + object.partialMatchingImages = []; + } + if (options.defaults) { + object.url = ""; + object.score = 0; + object.pageTitle = ""; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + object.pageTitle = message.pageTitle; + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + return object; + }; + + /** + * Converts this WebPage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @instance + * @returns {Object.} JSON object + */ + WebPage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebPage; + })(); + + WebDetection.WebLabel = (function() { + + /** + * Properties of a WebLabel. + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @interface IWebLabel + * @property {string|null} [label] WebLabel label + * @property {string|null} [languageCode] WebLabel languageCode + */ + + /** + * Constructs a new WebLabel. + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @classdesc Represents a WebLabel. + * @implements IWebLabel + * @constructor + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebLabel=} [properties] Properties to set + */ + function WebLabel(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]]; + } + + /** + * WebLabel label. + * @member {string} label + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.label = ""; + + /** + * WebLabel languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.languageCode = ""; + + /** + * Creates a new WebLabel instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebLabel=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebLabel} WebLabel instance + */ + WebLabel.create = function create(properties) { + return new WebLabel(properties); + }; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.label != null && message.hasOwnProperty("label")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.label = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebLabel message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebLabel.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.label != null && message.hasOwnProperty("label")) + if (!$util.isString(message.label)) + return "label: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.WebDetection.WebLabel} WebLabel + */ + WebLabel.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel(); + if (object.label != null) + message.label = String(object.label); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p1beta1.WebDetection.WebLabel} message WebLabel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebLabel.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.label = ""; + object.languageCode = ""; + } + if (message.label != null && message.hasOwnProperty("label")) + object.label = message.label; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this WebLabel to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @instance + * @returns {Object.} JSON object + */ + WebLabel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebLabel; + })(); + + return WebDetection; + })(); + + return v1p1beta1; + })(); + + vision.v1p2beta1 = (function() { + + /** + * Namespace v1p2beta1. + * @memberof google.cloud.vision + * @namespace + */ + var v1p2beta1 = {}; + + v1p2beta1.ImageAnnotator = (function() { + + /** + * Constructs a new ImageAnnotator service. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an ImageAnnotator + * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; + + /** + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + */ + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + */ + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @typedef AsyncBatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { + return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateFiles" }); + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ImageAnnotator; + })(); + + v1p2beta1.Feature = (function() { + + /** + * Properties of a Feature. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IFeature + * @property {google.cloud.vision.v1p2beta1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model + */ + + /** + * Constructs a new Feature. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Feature. + * @implements IFeature + * @constructor + * @param {google.cloud.vision.v1p2beta1.IFeature=} [properties] Properties to set + */ + function Feature(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]]; + } + + /** + * Feature type. + * @member {google.cloud.vision.v1p2beta1.Feature.Type} type + * @memberof google.cloud.vision.v1p2beta1.Feature + * @instance + */ + Feature.prototype.type = 0; + + /** + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1p2beta1.Feature + * @instance + */ + Feature.prototype.maxResults = 0; + + /** + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1p2beta1.Feature + * @instance + */ + Feature.prototype.model = ""; + + /** + * Creates a new Feature instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Feature + * @static + * @param {google.cloud.vision.v1p2beta1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Feature} Feature instance + */ + Feature.create = function create(properties) { + return new Feature(properties); + }; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Feature.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Feature + * @static + * @param {google.cloud.vision.v1p2beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + return writer; + }; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Feature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Feature + * @static + * @param {google.cloud.vision.v1p2beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Feature(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.maxResults = reader.int32(); + break; + case 3: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Feature message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Feature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Feature.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: + case 3: + case 4: + case 5: + case 11: + case 6: + case 7: + case 9: + case 10: + break; + } + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Feature + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Feature} Feature + */ + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Feature) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": + case 0: + message.type = 0; + break; + case "FACE_DETECTION": + case 1: + message.type = 1; + break; + case "LANDMARK_DETECTION": + case 2: + message.type = 2; + break; + case "LOGO_DETECTION": + case 3: + message.type = 3; + break; + case "LABEL_DETECTION": + case 4: + message.type = 4; + break; + case "TEXT_DETECTION": + case 5: + message.type = 5; + break; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; + break; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; + break; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; + break; + case "CROP_HINTS": + case 9: + message.type = 9; + break; + case "WEB_DETECTION": + case 10: + message.type = 10; + break; + } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Feature + * @static + * @param {google.cloud.vision.v1p2beta1.Feature} message Feature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Feature.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this Feature to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Feature + * @instance + * @returns {Object.} JSON object + */ + Feature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1p2beta1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + return values; + })(); + + return Feature; + })(); + + v1p2beta1.ImageSource = (function() { + + /** + * Properties of an ImageSource. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri + */ + + /** + * Constructs a new ImageSource. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an ImageSource. + * @implements IImageSource + * @constructor + * @param {google.cloud.vision.v1p2beta1.IImageSource=} [properties] Properties to set + */ + function ImageSource(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]]; + } + + /** + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @instance + */ + ImageSource.prototype.gcsImageUri = ""; + + /** + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @instance + */ + ImageSource.prototype.imageUri = ""; + + /** + * Creates a new ImageSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p2beta1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource instance + */ + ImageSource.create = function create(properties) { + return new ImageSource(properties); + }; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p2beta1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + return writer; + }; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p2beta1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsImageUri = reader.string(); + break; + case 2: + message.imageUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageSource message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; + return null; + }; + + /** + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource + */ + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageSource) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); + return message; + }; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p2beta1.ImageSource} message ImageSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsImageUri = ""; + object.imageUri = ""; + } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; + return object; + }; + + /** + * Converts this ImageSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @instance + * @returns {Object.} JSON object + */ + ImageSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageSource; + })(); + + v1p2beta1.Image = (function() { + + /** + * Properties of an Image. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1p2beta1.IImageSource|null} [source] Image source + */ + + /** + * Constructs a new Image. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an Image. + * @implements IImage + * @constructor + * @param {google.cloud.vision.v1p2beta1.IImage=} [properties] Properties to set + */ + function Image(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]]; + } + + /** + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p2beta1.Image + * @instance + */ + Image.prototype.content = $util.newBuffer([]); + + /** + * Image source. + * @member {google.cloud.vision.v1p2beta1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1p2beta1.Image + * @instance + */ + Image.prototype.source = null; + + /** + * Creates a new Image instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {google.cloud.vision.v1p2beta1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Image} Image instance + */ + Image.create = function create(properties) { + return new Image(properties); + }; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Image.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {google.cloud.vision.v1p2beta1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1p2beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Image.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {google.cloud.vision.v1p2beta1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Image message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Image(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.content = reader.bytes(); + break; + case 2: + message.source = $root.google.cloud.vision.v1p2beta1.ImageSource.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Image message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Image.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1p2beta1.ImageSource.verify(message.source); + if (error) + return "source." + error; + } + return null; + }; + + /** + * Creates an Image message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Image} Image + */ + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Image) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1p2beta1.ImageSource.fromObject(object.source); + } + return message; + }; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {google.cloud.vision.v1p2beta1.Image} message Image + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Image.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; + } + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1p2beta1.ImageSource.toObject(message.source, options); + return object; + }; + + /** + * Converts this Image to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Image + * @instance + * @returns {Object.} JSON object + */ + Image.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Image; + })(); + + v1p2beta1.FaceAnnotation = (function() { + + /** + * Properties of a FaceAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + */ + + /** + * Constructs a new FaceAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation + * @constructor + * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation=} [properties] Properties to set + */ + function FaceAnnotation(properties) { + this.landmarks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.boundingPoly = null; + + /** + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.fdBoundingPoly = null; + + /** + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarks = $util.emptyArray; + + /** + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.rollAngle = 0; + + /** + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.panAngle = 0; + + /** + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.tiltAngle = 0; + + /** + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.detectionConfidence = 0; + + /** + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarkingConfidence = 0; + + /** + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.joyLikelihood = 0; + + /** + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.sorrowLikelihood = 0; + + /** + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation instance + */ + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); + }; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + return writer; + }; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + case 4: + message.rollAngle = reader.float(); + break; + case 5: + message.panAngle = reader.float(); + break; + case 6: + message.tiltAngle = reader.float(); + break; + case 7: + message.detectionConfidence = reader.float(); + break; + case 8: + message.landmarkingConfidence = reader.float(); + break; + case 9: + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; + } + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { + default: + return "joyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { + default: + return "sorrowLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { + default: + return "angerLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { + default: + return "surpriseLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { + default: + return "underExposedLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { + default: + return "blurredLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { + default: + return "headwearLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation + */ + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.FaceAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.fdBoundingPoly); + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); + } + } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { + case "UNKNOWN": + case 0: + message.joyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.joyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.joyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.joyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.joyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.joyLikelihood = 5; + break; + } + switch (object.sorrowLikelihood) { + case "UNKNOWN": + case 0: + message.sorrowLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.sorrowLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.sorrowLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.sorrowLikelihood = 3; + break; + case "LIKELY": + case 4: + message.sorrowLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.sorrowLikelihood = 5; + break; + } + switch (object.angerLikelihood) { + case "UNKNOWN": + case 0: + message.angerLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.angerLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.angerLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.angerLikelihood = 3; + break; + case "LIKELY": + case 4: + message.angerLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.angerLikelihood = 5; + break; + } + switch (object.surpriseLikelihood) { + case "UNKNOWN": + case 0: + message.surpriseLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.surpriseLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.surpriseLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.surpriseLikelihood = 3; + break; + case "LIKELY": + case 4: + message.surpriseLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.surpriseLikelihood = 5; + break; + } + switch (object.underExposedLikelihood) { + case "UNKNOWN": + case 0: + message.underExposedLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.underExposedLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.underExposedLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.underExposedLikelihood = 3; + break; + case "LIKELY": + case 4: + message.underExposedLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation} message FaceAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.landmarks = []; + if (options.defaults) { + object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + return object; + }; + + /** + * Converts this FaceAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + FaceAnnotation.Landmark = (function() { + + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1p2beta1.IPosition|null} [position] Landmark position + */ + + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } + + /** + * Landmark type. + * @member {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; + + /** + * Landmark position. + * @member {google.cloud.vision.v1p2beta1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; + + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1p2beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1p2beta1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1p2beta1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": + case 1: + message.type = 1; + break; + case "RIGHT_EYE": + case 2: + message.type = 2; + break; + case "LEFT_OF_LEFT_EYEBROW": + case 3: + message.type = 3; + break; + case "RIGHT_OF_LEFT_EYEBROW": + case 4: + message.type = 4; + break; + case "LEFT_OF_RIGHT_EYEBROW": + case 5: + message.type = 5; + break; + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; + break; + } + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1p2beta1.Position.fromObject(object.position); + } + return message; + }; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1p2beta1.Position.toObject(message.position, options); + return object; + }; + + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); + + return Landmark; + })(); + + return FaceAnnotation; + })(); + + v1p2beta1.LocationInfo = (function() { + + /** + * Properties of a LocationInfo. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng + */ + + /** + * Constructs a new LocationInfo. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo + * @constructor + * @param {google.cloud.vision.v1p2beta1.ILocationInfo=} [properties] Properties to set + */ + function LocationInfo(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]]; + } + + /** + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @instance + */ + LocationInfo.prototype.latLng = null; + + /** + * Creates a new LocationInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p2beta1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo instance + */ + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); + }; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p2beta1.LocationInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p2beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.LocationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p2beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.LocationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocationInfo message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); + if (error) + return "latLng." + error; + } + return null; + }; + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo + */ + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.LocationInfo) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); + } + return message; + }; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p2beta1.LocationInfo} message LocationInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocationInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); + return object; + }; + + /** + * Converts this LocationInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @instance + * @returns {Object.} JSON object + */ + LocationInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LocationInfo; + })(); + + v1p2beta1.Property = (function() { + + /** + * Properties of a Property. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value + */ + + /** + * Constructs a new Property. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Property. + * @implements IProperty + * @constructor + * @param {google.cloud.vision.v1p2beta1.IProperty=} [properties] Properties to set + */ + function Property(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]]; + } + + /** + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1p2beta1.Property + * @instance + */ + Property.prototype.name = ""; + + /** + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1p2beta1.Property + * @instance + */ + Property.prototype.value = ""; + + /** + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1p2beta1.Property + * @instance + */ + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Property instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Property + * @static + * @param {google.cloud.vision.v1p2beta1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Property} Property instance + */ + Property.create = function create(properties) { + return new Property(properties); + }; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Property.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Property + * @static + * @param {google.cloud.vision.v1p2beta1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + return writer; + }; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Property.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Property + * @static + * @param {google.cloud.vision.v1p2beta1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Property message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Property(); + 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: + message.uint64Value = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Property message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Property + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Property.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; + return null; + }; + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Property + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Property} Property + */ + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Property) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Property + * @static + * @param {google.cloud.vision.v1p2beta1.Property} message Property + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Property.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + return object; + }; + + /** + * Converts this Property to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Property + * @instance + * @returns {Object.} JSON object + */ + Property.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Property; + })(); + + v1p2beta1.EntityAnnotation = (function() { + + /** + * Properties of an EntityAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties + */ + + /** + * Constructs a new EntityAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation + * @constructor + * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation=} [properties] Properties to set + */ + function EntityAnnotation(properties) { + this.locations = []; + this.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]]; + } + + /** + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.mid = ""; + + /** + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locale = ""; + + /** + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.score = 0; + + /** + * EntityAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.confidence = 0; + + /** + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.topicality = 0; + + /** + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation instance + */ + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); + }; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.EntityAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1p2beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1p2beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.EntityAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.EntityAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.locale = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p2beta1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p2beta1.Property.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EntityAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EntityAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } + } + return null; + }; + + /** + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation + */ + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.EntityAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); + if (object.score != null) + message.score = Number(object.score); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1p2beta1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1p2beta1.Property.fromObject(object.properties[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.EntityAnnotation} message EntityAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EntityAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } + if (options.defaults) { + object.mid = ""; + object.locale = ""; + object.description = ""; + object.score = 0; + object.confidence = 0; + object.topicality = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1p2beta1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1p2beta1.Property.toObject(message.properties[j], options); + } + return object; + }; + + /** + * Converts this EntityAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + * @returns {Object.} JSON object + */ + EntityAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EntityAnnotation; + })(); + + v1p2beta1.SafeSearchAnnotation = (function() { + + /** + * Properties of a SafeSearchAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [racy] SafeSearchAnnotation racy + */ + + /** + * Constructs a new SafeSearchAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation + * @constructor + * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation=} [properties] Properties to set + */ + function SafeSearchAnnotation(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]]; + } + + /** + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1p2beta1.Likelihood} adult + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.adult = 0; + + /** + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1p2beta1.Likelihood} spoof + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoof = 0; + + /** + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1p2beta1.Likelihood} medical + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medical = 0; + + /** + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1p2beta1.Likelihood} violence + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1p2beta1.Likelihood} racy + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation instance + */ + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); + }; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); + return writer; + }; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.adult = reader.int32(); + break; + case 2: + message.spoof = reader.int32(); + break; + case 3: + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SafeSearchAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SafeSearchAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation + */ + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SafeSearchAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; + } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.racy] : message.racy; + return object; + }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + * @returns {Object.} JSON object + */ + SafeSearchAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SafeSearchAnnotation; + })(); + + v1p2beta1.LatLongRect = (function() { + + /** + * Properties of a LatLongRect. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng + */ + + /** + * Constructs a new LatLongRect. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect + * @constructor + * @param {google.cloud.vision.v1p2beta1.ILatLongRect=} [properties] Properties to set + */ + function LatLongRect(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]]; + } + + /** + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.minLatLng = null; + + /** + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.maxLatLng = null; + + /** + * Creates a new LatLongRect instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p2beta1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect instance + */ + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); + }; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p2beta1.LatLongRect.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p2beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.LatLongRect.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p2beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.LatLongRect(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + case 2: + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LatLongRect message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LatLongRect.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); + if (error) + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; + } + return null; + }; + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect + */ + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.LatLongRect) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); + } + return message; + }; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p2beta1.LatLongRect} message LatLongRect + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LatLongRect.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.minLatLng = null; + object.maxLatLng = null; + } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); + return object; + }; + + /** + * Converts this LatLongRect to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @instance + * @returns {Object.} JSON object + */ + LatLongRect.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LatLongRect; + })(); + + v1p2beta1.ColorInfo = (function() { + + /** + * Properties of a ColorInfo. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction + */ + + /** + * Constructs a new ColorInfo. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a ColorInfo. + * @implements IColorInfo + * @constructor + * @param {google.cloud.vision.v1p2beta1.IColorInfo=} [properties] Properties to set + */ + function ColorInfo(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]]; + } + + /** + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.color = null; + + /** + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.score = 0; + + /** + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.pixelFraction = 0; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p2beta1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo instance + */ + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); + }; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ColorInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p2beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); + return writer; + }; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ColorInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p2beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ColorInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pixelFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ColorInfo message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ColorInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); + if (error) + return "color." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; + return null; + }; + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo + */ + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ColorInfo) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); + } + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); + return message; + }; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p2beta1.ColorInfo} message ColorInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ColorInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.color = null; + object.score = 0; + object.pixelFraction = 0; + } + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; + return object; + }; + + /** + * Converts this ColorInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @instance + * @returns {Object.} JSON object + */ + ColorInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ColorInfo; + })(); + + v1p2beta1.DominantColorsAnnotation = (function() { + + /** + * Properties of a DominantColorsAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors + */ + + /** + * Constructs a new DominantColorsAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation + * @constructor + * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation=} [properties] Properties to set + */ + function DominantColorsAnnotation(properties) { + this.colors = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @instance + */ + DominantColorsAnnotation.prototype.colors = $util.emptyArray; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation instance + */ + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); + }; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1p2beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p2beta1.ColorInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DominantColorsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DominantColorsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.ColorInfo.verify(message.colors[i]); + if (error) + return "colors." + error; + } + } + return null; + }; + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation + */ + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1p2beta1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1p2beta1.ColorInfo.fromObject(object.colors[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DominantColorsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1p2beta1.ColorInfo.toObject(message.colors[j], options); + } + return object; + }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @instance + * @returns {Object.} JSON object + */ + DominantColorsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DominantColorsAnnotation; + })(); + + v1p2beta1.ImageProperties = (function() { + + /** + * Properties of an ImageProperties. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IImageProperties + * @property {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + */ + + /** + * Constructs a new ImageProperties. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an ImageProperties. + * @implements IImageProperties + * @constructor + * @param {google.cloud.vision.v1p2beta1.IImageProperties=} [properties] Properties to set + */ + function ImageProperties(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]]; + } + + /** + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @instance + */ + ImageProperties.prototype.dominantColors = null; + + /** + * Creates a new ImageProperties instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p2beta1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties instance + */ + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); + }; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageProperties.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p2beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageProperties.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p2beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageProperties(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageProperties message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageProperties.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify(message.dominantColors); + if (error) + return "dominantColors." + error; + } + return null; + }; + + /** + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties + */ + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageProperties) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.fromObject(object.dominantColors); + } + return message; + }; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p2beta1.ImageProperties} message ImageProperties + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageProperties.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); + return object; + }; + + /** + * Converts this ImageProperties to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @instance + * @returns {Object.} JSON object + */ + ImageProperties.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageProperties; + })(); + + v1p2beta1.CropHint = (function() { + + /** + * Properties of a CropHint. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ICropHint + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction + */ + + /** + * Constructs a new CropHint. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a CropHint. + * @implements ICropHint + * @constructor + * @param {google.cloud.vision.v1p2beta1.ICropHint=} [properties] Properties to set + */ + function CropHint(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]]; + } + + /** + * CropHint boundingPoly. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @instance + */ + CropHint.prototype.boundingPoly = null; + + /** + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @instance + */ + CropHint.prototype.confidence = 0; + + /** + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @instance + */ + CropHint.prototype.importanceFraction = 0; + + /** + * Creates a new CropHint instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @static + * @param {google.cloud.vision.v1p2beta1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint instance + */ + CropHint.create = function create(properties) { + return new CropHint(properties); + }; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHint.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @static + * @param {google.cloud.vision.v1p2beta1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + return writer; + }; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHint.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @static + * @param {google.cloud.vision.v1p2beta1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.CropHint(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + message.importanceFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHint message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHint.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; + return null; + }; + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint + */ + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.CropHint) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); + return message; + }; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @static + * @param {google.cloud.vision.v1p2beta1.CropHint} message CropHint + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHint.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; + return object; + }; + + /** + * Converts this CropHint to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @instance + * @returns {Object.} JSON object + */ + CropHint.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHint; + })(); + + v1p2beta1.CropHintsAnnotation = (function() { + + /** + * Properties of a CropHintsAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + */ + + /** + * Constructs a new CropHintsAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation + * @constructor + * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation=} [properties] Properties to set + */ + function CropHintsAnnotation(properties) { + this.cropHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @instance + */ + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation instance + */ + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); + }; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1p2beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p2beta1.CropHint.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.CropHint.verify(message.cropHints[i]); + if (error) + return "cropHints." + error; + } + } + return null; + }; + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation + */ + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1p2beta1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1p2beta1.CropHint.fromObject(object.cropHints[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.CropHintsAnnotation} message CropHintsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1p2beta1.CropHint.toObject(message.cropHints[j], options); + } + return object; + }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @instance + * @returns {Object.} JSON object + */ + CropHintsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsAnnotation; + })(); + + v1p2beta1.CropHintsParams = (function() { + + /** + * Properties of a CropHintsParams. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + */ + + /** + * Constructs a new CropHintsParams. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams + * @constructor + * @param {google.cloud.vision.v1p2beta1.ICropHintsParams=} [properties] Properties to set + */ + function CropHintsParams(properties) { + this.aspectRatios = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @instance + */ + CropHintsParams.prototype.aspectRatios = $util.emptyArray; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p2beta1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams instance + */ + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); + }; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p2beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p2beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.CropHintsParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsParams message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; + } + return null; + }; + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams + */ + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.CropHintsParams) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1p2beta1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); + } + return message; + }; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p2beta1.CropHintsParams} message CropHintsParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; + } + return object; + }; + + /** + * Converts this CropHintsParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @instance + * @returns {Object.} JSON object + */ + CropHintsParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsParams; + })(); + + v1p2beta1.WebDetectionParams = (function() { + + /** + * Properties of a WebDetectionParams. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + */ + + /** + * Constructs a new WebDetectionParams. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams + * @constructor + * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams=} [properties] Properties to set + */ + function WebDetectionParams(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]]; + } + + /** + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @instance + */ + WebDetectionParams.prototype.includeGeoResults = false; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams instance + */ + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); + }; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + return writer; + }; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.includeGeoResults = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; + return null; + }; + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams + */ + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); + return message; + }; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetectionParams} message WebDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; + return object; + }; + + /** + * Converts this WebDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @instance + * @returns {Object.} JSON object + */ + WebDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebDetectionParams; + })(); + + v1p2beta1.ImageContext = (function() { + + /** + * Properties of an ImageContext. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IImageContext + * @property {google.cloud.vision.v1p2beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1p2beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1p2beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + */ + + /** + * Constructs a new ImageContext. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an ImageContext. + * @implements IImageContext + * @constructor + * @param {google.cloud.vision.v1p2beta1.IImageContext=} [properties] Properties to set + */ + function ImageContext(properties) { + this.languageHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImageContext latLongRect. + * @member {google.cloud.vision.v1p2beta1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @instance + */ + ImageContext.prototype.latLongRect = null; + + /** + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @instance + */ + ImageContext.prototype.languageHints = $util.emptyArray; + + /** + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1p2beta1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @instance + */ + ImageContext.prototype.cropHintsParams = null; + + /** + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1p2beta1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @instance + */ + ImageContext.prototype.webDetectionParams = null; + + /** + * Creates a new ImageContext instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p2beta1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext instance + */ + ImageContext.create = function create(properties) { + return new ImageContext(properties); + }; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p2beta1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1p2beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1p2beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1p2beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p2beta1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 4: + message.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + case 6: + message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageContext message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1p2beta1.LatLongRect.verify(message.latLongRect); + if (error) + return "latLongRect." + error; + } + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1p2beta1.CropHintsParams.verify(message.cropHintsParams); + if (error) + return "cropHintsParams." + error; + } + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.verify(message.webDetectionParams); + if (error) + return "webDetectionParams." + error; + } + return null; + }; + + /** + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext + */ + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageContext) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.fromObject(object.latLongRect); + } + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.fromObject(object.cropHintsParams); + } + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.fromObject(object.webDetectionParams); + } + return message; + }; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p2beta1.ImageContext} message ImageContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.languageHints = []; + if (options.defaults) { + object.latLongRect = null; + object.cropHintsParams = null; + object.webDetectionParams = null; + } + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + return object; + }; + + /** + * Converts this ImageContext to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @instance + * @returns {Object.} JSON object + */ + ImageContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageContext; + })(); + + v1p2beta1.AnnotateImageRequest = (function() { + + /** + * Properties of an AnnotateImageRequest. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1p2beta1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1p2beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + */ + + /** + * Constructs a new AnnotateImageRequest. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest + * @constructor + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest=} [properties] Properties to set + */ + function AnnotateImageRequest(properties) { + this.features = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1p2beta1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.image = null; + + /** + * AnnotateImageRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateImageRequest imageContext. + * @member {google.cloud.vision.v1p2beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.imageContext = null; + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest instance + */ + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); + }; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1p2beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.image = $root.google.cloud.vision.v1p2beta1.Image.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p2beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1p2beta1.Image.verify(message.image); + if (error) + return "image." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p2beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest + */ + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1p2beta1.Image.fromObject(object.image); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p2beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.fromObject(object.imageContext); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p2beta1.AnnotateImageRequest} message AnnotateImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.image = null; + object.imageContext = null; + } + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1p2beta1.Image.toObject(message.image, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p2beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.toObject(message.imageContext, options); + return object; + }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageRequest; + })(); + + v1p2beta1.ImageAnnotationContext = (function() { + + /** + * Properties of an ImageAnnotationContext. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IImageAnnotationContext + * @property {string|null} [uri] ImageAnnotationContext uri + * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber + */ + + /** + * Constructs a new ImageAnnotationContext. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an ImageAnnotationContext. + * @implements IImageAnnotationContext + * @constructor + * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext=} [properties] Properties to set + */ + function ImageAnnotationContext(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]]; + } + + /** + * ImageAnnotationContext uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.uri = ""; + + /** + * ImageAnnotationContext pageNumber. + * @member {number} pageNumber + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.pageNumber = 0; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext instance + */ + ImageAnnotationContext.create = function create(properties) { + return new ImageAnnotationContext(properties); + }; + + /** + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageAnnotationContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); + return writer; + }; + + /** + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageAnnotationContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + case 2: + message.pageNumber = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageAnnotationContext message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageAnnotationContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (!$util.isInteger(message.pageNumber)) + return "pageNumber: integer expected"; + return null; + }; + + /** + * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext + */ + ImageAnnotationContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext(); + if (object.uri != null) + message.uri = String(object.uri); + if (object.pageNumber != null) + message.pageNumber = object.pageNumber | 0; + return message; + }; + + /** + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p2beta1.ImageAnnotationContext} message ImageAnnotationContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageAnnotationContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.uri = ""; + object.pageNumber = 0; + } + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + object.pageNumber = message.pageNumber; + return object; + }; + + /** + * Converts this ImageAnnotationContext to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @instance + * @returns {Object.} JSON object + */ + ImageAnnotationContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageAnnotationContext; + })(); + + v1p2beta1.AnnotateImageResponse = (function() { + + /** + * Properties of an AnnotateImageResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1p2beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1p2beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1p2beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1p2beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + * @property {google.cloud.vision.v1p2beta1.IImageAnnotationContext|null} [context] AnnotateImageResponse context + */ + + /** + * Constructs a new AnnotateImageResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse + * @constructor + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse=} [properties] Properties to set + */ + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.textAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1p2beta1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.fullTextAnnotation = null; + + /** + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.safeSearchAnnotation = null; + + /** + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1p2beta1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; + + /** + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1p2beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.cropHintsAnnotation = null; + + /** + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1p2beta1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.webDetection = null; + + /** + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.error = null; + + /** + * AnnotateImageResponse context. + * @member {google.cloud.vision.v1p2beta1.IImageAnnotationContext|null|undefined} context + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.context = null; + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse instance + */ + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); + }; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1p2beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1p2beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.context != null && message.hasOwnProperty("context")) + $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.decode(reader, reader.uint32()); + break; + case 9: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 21: + message.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageResponse message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } + } + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); + if (error) + return "landmarkAnnotations." + error; + } + } + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; + } + } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.verify(message.fullTextAnnotation); + if (error) + return "fullTextAnnotation." + error; + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); + if (error) + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1p2beta1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.context != null && message.hasOwnProperty("context")) { + var error = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify(message.context); + if (error) + return "context." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse + */ + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); + } + } + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.fromObject(object.webDetection); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.context != null) { + if (typeof object.context !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.context: object expected"); + message.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.fromObject(object.context); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p2beta1.AnnotateImageResponse} message AnnotateImageResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; + } + if (options.defaults) { + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; + object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; + object.context = null; + } + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.toObject(message.webDetection, options); + if (message.context != null && message.hasOwnProperty("context")) + object.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.toObject(message.context, options); + return object; + }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageResponse; + })(); + + v1p2beta1.AnnotateFileResponse = (function() { + + /** + * Properties of an AnnotateFileResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IAnnotateFileResponse + * @property {google.cloud.vision.v1p2beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig + * @property {Array.|null} [responses] AnnotateFileResponse responses + */ + + /** + * Constructs a new AnnotateFileResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an AnnotateFileResponse. + * @implements IAnnotateFileResponse + * @constructor + * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse=} [properties] Properties to set + */ + function AnnotateFileResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateFileResponse inputConfig. + * @member {google.cloud.vision.v1p2beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.inputConfig = null; + + /** + * AnnotateFileResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse instance + */ + AnnotateFileResponse.create = function create(properties) { + return new AnnotateFileResponse(properties); + }; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateFileResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateFileResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AnnotateFileResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateFileResponse message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateFileResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p2beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse + */ + AnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AnnotateFileResponse) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.AnnotateFileResponse(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateFileResponse.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateFileResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateFileResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p2beta1.AnnotateFileResponse} message AnnotateFileResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateFileResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (options.defaults) + object.inputConfig = null; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.toObject(message.inputConfig, options); + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this AnnotateFileResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateFileResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateFileResponse; + })(); + + v1p2beta1.BatchAnnotateImagesRequest = (function() { + + /** + * Properties of a BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + */ + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest + * @constructor + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + */ + function BatchAnnotateImagesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @instance + */ + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + */ + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + */ + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.fromObject(object.requests[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.toObject(message.requests[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesRequest; + })(); + + v1p2beta1.BatchAnnotateImagesResponse = (function() { + + /** + * Properties of a BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + */ + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse + * @constructor + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + */ + function BatchAnnotateImagesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @instance + */ + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + */ + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + */ + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesResponse; + })(); + + v1p2beta1.AsyncAnnotateFileRequest = (function() { + + /** + * Properties of an AsyncAnnotateFileRequest. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IAsyncAnnotateFileRequest + * @property {google.cloud.vision.v1p2beta1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig + * @property {Array.|null} [features] AsyncAnnotateFileRequest features + * @property {google.cloud.vision.v1p2beta1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext + * @property {google.cloud.vision.v1p2beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig + */ + + /** + * Constructs a new AsyncAnnotateFileRequest. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an AsyncAnnotateFileRequest. + * @implements IAsyncAnnotateFileRequest + * @constructor + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + */ + function AsyncAnnotateFileRequest(properties) { + this.features = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncAnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1p2beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.inputConfig = null; + + /** + * AsyncAnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; + + /** + * AsyncAnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1p2beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.imageContext = null; + + /** + * AsyncAnnotateFileRequest outputConfig. + * @member {google.cloud.vision.v1p2beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance + */ + AsyncAnnotateFileRequest.create = function create(properties) { + return new AsyncAnnotateFileRequest(properties); + }; + + /** + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p2beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncAnnotateFileRequest message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncAnnotateFileRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p2beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p2beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p2beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + */ + AsyncAnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p2beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.fromObject(object.imageContext); + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncAnnotateFileRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputConfig = null; + object.imageContext = null; + object.outputConfig = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p2beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.toObject(message.imageContext, options); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncAnnotateFileRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncAnnotateFileRequest; + })(); + + v1p2beta1.AsyncAnnotateFileResponse = (function() { + + /** + * Properties of an AsyncAnnotateFileResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IAsyncAnnotateFileResponse + * @property {google.cloud.vision.v1p2beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig + */ + + /** + * Constructs a new AsyncAnnotateFileResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an AsyncAnnotateFileResponse. + * @implements IAsyncAnnotateFileResponse + * @constructor + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + */ + function AsyncAnnotateFileResponse(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]]; + } + + /** + * AsyncAnnotateFileResponse outputConfig. + * @member {google.cloud.vision.v1p2beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @instance + */ + AsyncAnnotateFileResponse.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance + */ + AsyncAnnotateFileResponse.create = function create(properties) { + return new AsyncAnnotateFileResponse(properties); + }; + + /** + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncAnnotateFileResponse message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncAnnotateFileResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p2beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + */ + AsyncAnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncAnnotateFileResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncAnnotateFileResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncAnnotateFileResponse; + })(); + + v1p2beta1.AsyncBatchAnnotateFilesRequest = (function() { + + /** + * Properties of an AsyncBatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IAsyncBatchAnnotateFilesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests + */ + + /** + * Constructs a new AsyncBatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an AsyncBatchAnnotateFilesRequest. + * @implements IAsyncBatchAnnotateFilesRequest + * @constructor + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + */ + function AsyncBatchAnnotateFilesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @instance + */ + AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + + /** + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance + */ + AsyncBatchAnnotateFilesRequest.create = function create(properties) { + return new AsyncBatchAnnotateFilesRequest(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateFilesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateFilesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + */ + AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); + } + return object; + }; + + /** + * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateFilesRequest; + })(); + + v1p2beta1.AsyncBatchAnnotateFilesResponse = (function() { + + /** + * Properties of an AsyncBatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IAsyncBatchAnnotateFilesResponse + * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses + */ + + /** + * Constructs a new AsyncBatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an AsyncBatchAnnotateFilesResponse. + * @implements IAsyncBatchAnnotateFilesResponse + * @constructor + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + */ + function AsyncBatchAnnotateFilesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @instance + */ + AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance + */ + AsyncBatchAnnotateFilesResponse.create = function create(properties) { + return new AsyncBatchAnnotateFilesResponse(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateFilesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateFilesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + */ + AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateFilesResponse; + })(); + + v1p2beta1.InputConfig = (function() { + + /** + * Properties of an InputConfig. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IInputConfig + * @property {google.cloud.vision.v1p2beta1.IGcsSource|null} [gcsSource] InputConfig gcsSource + * @property {string|null} [mimeType] InputConfig mimeType + */ + + /** + * Constructs a new InputConfig. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an InputConfig. + * @implements IInputConfig + * @constructor + * @param {google.cloud.vision.v1p2beta1.IInputConfig=} [properties] Properties to set + */ + function InputConfig(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]]; + } + + /** + * InputConfig gcsSource. + * @member {google.cloud.vision.v1p2beta1.IGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @instance + */ + InputConfig.prototype.gcsSource = null; + + /** + * InputConfig mimeType. + * @member {string} mimeType + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @instance + */ + InputConfig.prototype.mimeType = ""; + + /** + * Creates a new InputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p2beta1.IInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig instance + */ + InputConfig.create = function create(properties) { + return new InputConfig(properties); + }; + + /** + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p2beta1.InputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p2beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1p2beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); + return writer; + }; + + /** + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.InputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p2beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an InputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.InputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.decode(reader, reader.uint32()); + break; + case 2: + message.mimeType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an InputConfig message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + InputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + var error = $root.google.cloud.vision.v1p2beta1.GcsSource.verify(message.gcsSource); + if (error) + return "gcsSource." + error; + } + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (!$util.isString(message.mimeType)) + return "mimeType: string expected"; + return null; + }; + + /** + * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig + */ + InputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.InputConfig) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.InputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.InputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.fromObject(object.gcsSource); + } + if (object.mimeType != null) + message.mimeType = String(object.mimeType); + return message; + }; + + /** + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p2beta1.InputConfig} message InputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + InputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsSource = null; + object.mimeType = ""; + } + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + object.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.toObject(message.gcsSource, options); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + object.mimeType = message.mimeType; + return object; + }; + + /** + * Converts this InputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @instance + * @returns {Object.} JSON object + */ + InputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return InputConfig; + })(); + + v1p2beta1.OutputConfig = (function() { + + /** + * Properties of an OutputConfig. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IOutputConfig + * @property {google.cloud.vision.v1p2beta1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination + * @property {number|null} [batchSize] OutputConfig batchSize + */ + + /** + * Constructs a new OutputConfig. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an OutputConfig. + * @implements IOutputConfig + * @constructor + * @param {google.cloud.vision.v1p2beta1.IOutputConfig=} [properties] Properties to set + */ + function OutputConfig(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]]; + } + + /** + * OutputConfig gcsDestination. + * @member {google.cloud.vision.v1p2beta1.IGcsDestination|null|undefined} gcsDestination + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @instance + */ + OutputConfig.prototype.gcsDestination = null; + + /** + * OutputConfig batchSize. + * @member {number} batchSize + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @instance + */ + OutputConfig.prototype.batchSize = 0; + + /** + * Creates a new OutputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p2beta1.IOutputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig instance + */ + OutputConfig.create = function create(properties) { + return new OutputConfig(properties); + }; + + /** + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p2beta1.OutputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p2beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OutputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + $root.google.cloud.vision.v1p2beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); + return writer; + }; + + /** + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.OutputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p2beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OutputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OutputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.OutputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.decode(reader, reader.uint32()); + break; + case 2: + message.batchSize = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OutputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OutputConfig message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OutputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { + var error = $root.google.cloud.vision.v1p2beta1.GcsDestination.verify(message.gcsDestination); + if (error) + return "gcsDestination." + error; + } + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (!$util.isInteger(message.batchSize)) + return "batchSize: integer expected"; + return null; + }; + + /** + * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig + */ + OutputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.OutputConfig) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.OutputConfig(); + if (object.gcsDestination != null) { + if (typeof object.gcsDestination !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.OutputConfig.gcsDestination: object expected"); + message.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.fromObject(object.gcsDestination); + } + if (object.batchSize != null) + message.batchSize = object.batchSize | 0; + return message; + }; + + /** + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p2beta1.OutputConfig} message OutputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OutputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsDestination = null; + object.batchSize = 0; + } + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + object.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.toObject(message.gcsDestination, options); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + object.batchSize = message.batchSize; + return object; + }; + + /** + * Converts this OutputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @instance + * @returns {Object.} JSON object + */ + OutputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OutputConfig; + })(); + + v1p2beta1.GcsSource = (function() { + + /** + * Properties of a GcsSource. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IGcsSource + * @property {string|null} [uri] GcsSource uri + */ + + /** + * Constructs a new GcsSource. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a GcsSource. + * @implements IGcsSource + * @constructor + * @param {google.cloud.vision.v1p2beta1.IGcsSource=} [properties] Properties to set + */ + function GcsSource(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]]; + } + + /** + * GcsSource uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @instance + */ + GcsSource.prototype.uri = ""; + + /** + * Creates a new GcsSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p2beta1.IGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource instance + */ + GcsSource.create = function create(properties) { + return new GcsSource(properties); + }; + + /** + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p2beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + return writer; + }; + + /** + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p2beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GcsSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.GcsSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GcsSource message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GcsSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + return null; + }; + + /** + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource + */ + GcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.GcsSource) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.GcsSource(); + if (object.uri != null) + message.uri = String(object.uri); + return message; + }; + + /** + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p2beta1.GcsSource} message GcsSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GcsSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + return object; + }; + + /** + * Converts this GcsSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @instance + * @returns {Object.} JSON object + */ + GcsSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GcsSource; + })(); + + v1p2beta1.GcsDestination = (function() { + + /** + * Properties of a GcsDestination. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IGcsDestination + * @property {string|null} [uri] GcsDestination uri + */ + + /** + * Constructs a new GcsDestination. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a GcsDestination. + * @implements IGcsDestination + * @constructor + * @param {google.cloud.vision.v1p2beta1.IGcsDestination=} [properties] Properties to set + */ + function GcsDestination(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]]; + } + + /** + * GcsDestination uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @instance + */ + GcsDestination.prototype.uri = ""; + + /** + * Creates a new GcsDestination instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p2beta1.IGcsDestination=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination instance + */ + GcsDestination.create = function create(properties) { + return new GcsDestination(properties); + }; + + /** + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsDestination.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p2beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + return writer; + }; + + /** + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsDestination.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p2beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GcsDestination message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.GcsDestination(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GcsDestination message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GcsDestination.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + return null; + }; + + /** + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination + */ + GcsDestination.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.GcsDestination) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.GcsDestination(); + if (object.uri != null) + message.uri = String(object.uri); + return message; + }; + + /** + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p2beta1.GcsDestination} message GcsDestination + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GcsDestination.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + return object; + }; + + /** + * Converts this GcsDestination to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @instance + * @returns {Object.} JSON object + */ + GcsDestination.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GcsDestination; + })(); + + v1p2beta1.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IOperationMetadata + * @property {google.cloud.vision.v1p2beta1.OperationMetadata.State|null} [state] OperationMetadata state + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime + */ + + /** + * Constructs a new OperationMetadata. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.cloud.vision.v1p2beta1.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(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]]; + } + + /** + * OperationMetadata state. + * @member {google.cloud.vision.v1p2beta1.OperationMetadata.State} state + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.state = 0; + + /** + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.createTime = null; + + /** + * OperationMetadata updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.updateTime = null; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p2beta1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p2beta1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p2beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.createTime != null && message.hasOwnProperty("createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p2beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.OperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.state = reader.int32(); + break; + case 5: + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationMetadata message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.updateTime != null && message.hasOwnProperty("updateTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (error) + return "updateTime." + error; + } + return null; + }; + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.OperationMetadata) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.OperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "CREATED": + case 1: + message.state = 1; + break; + case "RUNNING": + case 2: + message.state = 2; + break; + case "DONE": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.OperationMetadata.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + return message; + }; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p2beta1.OperationMetadata} message OperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.createTime = null; + object.updateTime = null; + } + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1p2beta1.OperationMetadata.State[message.state] : message.state; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + return object; + }; + + /** + * Converts this OperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @instance + * @returns {Object.} JSON object + */ + OperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * State enum. + * @name google.cloud.vision.v1p2beta1.OperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} CREATED=1 CREATED value + * @property {number} RUNNING=2 RUNNING value + * @property {number} DONE=3 DONE value + * @property {number} CANCELLED=4 CANCELLED value + */ + OperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CREATED"] = 1; + values[valuesById[2] = "RUNNING"] = 2; + values[valuesById[3] = "DONE"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return OperationMetadata; + })(); + + /** + * Likelihood enum. + * @name google.cloud.vision.v1p2beta1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1p2beta1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1p2beta1.Vertex = (function() { + + /** + * Properties of a Vertex. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y + */ + + /** + * Constructs a new Vertex. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Vertex. + * @implements IVertex + * @constructor + * @param {google.cloud.vision.v1p2beta1.IVertex=} [properties] Properties to set + */ + function Vertex(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]]; + } + + /** + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @instance + */ + Vertex.prototype.x = 0; + + /** + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @instance + */ + Vertex.prototype.y = 0; + + /** + * Creates a new Vertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @static + * @param {google.cloud.vision.v1p2beta1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex instance + */ + Vertex.create = function create(properties) { + return new Vertex(properties); + }; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @static + * @param {google.cloud.vision.v1p2beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + return writer; + }; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @static + * @param {google.cloud.vision.v1p2beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Vertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.int32(); + break; + case 2: + message.y = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Vertex message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Vertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; + return null; + }; + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex + */ + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Vertex) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; + return message; + }; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @static + * @param {google.cloud.vision.v1p2beta1.Vertex} message Vertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Vertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; + return object; + }; + + /** + * Converts this Vertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @instance + * @returns {Object.} JSON object + */ + Vertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Vertex; + })(); + + v1p2beta1.NormalizedVertex = (function() { + + /** + * Properties of a NormalizedVertex. + * @memberof google.cloud.vision.v1p2beta1 + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y + */ + + /** + * Constructs a new NormalizedVertex. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex + * @constructor + * @param {google.cloud.vision.v1p2beta1.INormalizedVertex=} [properties] Properties to set + */ + function NormalizedVertex(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]]; + } + + /** + * NormalizedVertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.x = 0; + + /** + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.y = 0; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p2beta1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex instance + */ + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); + }; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p2beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedVertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + return writer; + }; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p2beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedVertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.NormalizedVertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedVertex message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedVertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + return null; + }; + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex + */ + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.NormalizedVertex) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.NormalizedVertex(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + return message; + }; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p2beta1.NormalizedVertex} message NormalizedVertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedVertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + return object; + }; + + /** + * Converts this NormalizedVertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @instance + * @returns {Object.} JSON object + */ + NormalizedVertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedVertex; + })(); + + v1p2beta1.BoundingPoly = (function() { + + /** + * Properties of a BoundingPoly. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices + */ + + /** + * Constructs a new BoundingPoly. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly + * @constructor + * @param {google.cloud.vision.v1p2beta1.IBoundingPoly=} [properties] Properties to set + */ + function BoundingPoly(properties) { + this.vertices = []; + this.normalizedVertices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @instance + */ + BoundingPoly.prototype.vertices = $util.emptyArray; + + /** + * BoundingPoly normalizedVertices. + * @member {Array.} normalizedVertices + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @instance + */ + BoundingPoly.prototype.normalizedVertices = $util.emptyArray; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p2beta1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly instance + */ + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); + }; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p2beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p2beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.normalizedVertices != null && message.normalizedVertices.length) + for (var i = 0; i < message.normalizedVertices.length; ++i) + $root.google.cloud.vision.v1p2beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p2beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.BoundingPoly(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p2beta1.Vertex.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p2beta1.NormalizedVertex.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoundingPoly message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoundingPoly.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Vertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } + if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { + if (!Array.isArray(message.normalizedVertices)) + return "normalizedVertices: array expected"; + for (var i = 0; i < message.normalizedVertices.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.NormalizedVertex.verify(message.normalizedVertices[i]); + if (error) + return "normalizedVertices." + error; + } + } + return null; + }; + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly + */ + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.BoundingPoly) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p2beta1.Vertex.fromObject(object.vertices[i]); + } + } + if (object.normalizedVertices) { + if (!Array.isArray(object.normalizedVertices)) + throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.normalizedVertices: array expected"); + message.normalizedVertices = []; + for (var i = 0; i < object.normalizedVertices.length; ++i) { + if (typeof object.normalizedVertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.normalizedVertices: object expected"); + message.normalizedVertices[i] = $root.google.cloud.vision.v1p2beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p2beta1.BoundingPoly} message BoundingPoly + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoundingPoly.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.vertices = []; + object.normalizedVertices = []; + } + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p2beta1.Vertex.toObject(message.vertices[j], options); + } + if (message.normalizedVertices && message.normalizedVertices.length) { + object.normalizedVertices = []; + for (var j = 0; j < message.normalizedVertices.length; ++j) + object.normalizedVertices[j] = $root.google.cloud.vision.v1p2beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); + } + return object; + }; + + /** + * Converts this BoundingPoly to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @instance + * @returns {Object.} JSON object + */ + BoundingPoly.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoundingPoly; + })(); + + v1p2beta1.Position = (function() { + + /** + * Properties of a Position. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z + */ + + /** + * Constructs a new Position. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Position. + * @implements IPosition + * @constructor + * @param {google.cloud.vision.v1p2beta1.IPosition=} [properties] Properties to set + */ + function Position(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]]; + } + + /** + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1p2beta1.Position + * @instance + */ + Position.prototype.x = 0; + + /** + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1p2beta1.Position + * @instance + */ + Position.prototype.y = 0; + + /** + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1p2beta1.Position + * @instance + */ + Position.prototype.z = 0; + + /** + * Creates a new Position instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Position + * @static + * @param {google.cloud.vision.v1p2beta1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Position} Position instance + */ + Position.create = function create(properties) { + return new Position(properties); + }; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Position + * @static + * @param {google.cloud.vision.v1p2beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + return writer; + }; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Position + * @static + * @param {google.cloud.vision.v1p2beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Position message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Position(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + case 3: + message.z = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Position message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Position + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Position.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; + return null; + }; + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Position + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Position} Position + */ + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Position) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); + return message; + }; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Position + * @static + * @param {google.cloud.vision.v1p2beta1.Position} message Position + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Position.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + object.z = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + return object; + }; + + /** + * Converts this Position to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Position + * @instance + * @returns {Object.} JSON object + */ + Position.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Position; + })(); + + v1p2beta1.TextAnnotation = (function() { + + /** + * Properties of a TextAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ITextAnnotation + * @property {Array.|null} [pages] TextAnnotation pages + * @property {string|null} [text] TextAnnotation text + */ + + /** + * Constructs a new TextAnnotation. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation + * @constructor + * @param {google.cloud.vision.v1p2beta1.ITextAnnotation=} [properties] Properties to set + */ + function TextAnnotation(properties) { + this.pages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextAnnotation pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.pages = $util.emptyArray; + + /** + * TextAnnotation text. + * @member {string} text + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.text = ""; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation instance + */ + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); + }; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pages != null && message.pages.length) + for (var i = 0; i < message.pages.length; ++i) + $root.google.cloud.vision.v1p2beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); + return writer; + }; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p2beta1.Page.decode(reader, reader.uint32())); + break; + case 2: + message.text = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Page.verify(message.pages[i]); + if (error) + return "pages." + error; + } + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + return null; + }; + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation + */ + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation(); + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) { + if (typeof object.pages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.pages: object expected"); + message.pages[i] = $root.google.cloud.vision.v1p2beta1.Page.fromObject(object.pages[i]); + } + } + if (object.text != null) + message.text = String(object.text); + return message; + }; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation} message TextAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pages = []; + if (options.defaults) + object.text = ""; + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = $root.google.cloud.vision.v1p2beta1.Page.toObject(message.pages[j], options); + } + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + return object; + }; + + /** + * Converts this TextAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @instance + * @returns {Object.} JSON object + */ + TextAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + TextAnnotation.DetectedLanguage = (function() { + + /** + * Properties of a DetectedLanguage. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @interface IDetectedLanguage + * @property {string|null} [languageCode] DetectedLanguage languageCode + * @property {number|null} [confidence] DetectedLanguage confidence + */ + + /** + * Constructs a new DetectedLanguage. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @classdesc Represents a DetectedLanguage. + * @implements IDetectedLanguage + * @constructor + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + */ + function DetectedLanguage(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]]; + } + + /** + * DetectedLanguage languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.languageCode = ""; + + /** + * DetectedLanguage confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.confidence = 0; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage instance + */ + DetectedLanguage.create = function create(properties) { + return new DetectedLanguage(properties); + }; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.languageCode = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedLanguage message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedLanguage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + */ + DetectedLanguage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage(); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} message DetectedLanguage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedLanguage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.languageCode = ""; + object.confidence = 0; + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this DetectedLanguage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @instance + * @returns {Object.} JSON object + */ + DetectedLanguage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DetectedLanguage; + })(); + + TextAnnotation.DetectedBreak = (function() { + + /** + * Properties of a DetectedBreak. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @interface IDetectedBreak + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType|null} [type] DetectedBreak type + * @property {boolean|null} [isPrefix] DetectedBreak isPrefix + */ + + /** + * Constructs a new DetectedBreak. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @classdesc Represents a DetectedBreak. + * @implements IDetectedBreak + * @constructor + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + */ + function DetectedBreak(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]]; + } + + /** + * DetectedBreak type. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType} type + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.type = 0; + + /** + * DetectedBreak isPrefix. + * @member {boolean} isPrefix + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.isPrefix = false; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak instance + */ + DetectedBreak.create = function create(properties) { + return new DetectedBreak(properties); + }; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); + return writer; + }; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.isPrefix = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedBreak message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedBreak.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: + case 3: + case 4: + case 5: + break; + } + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (typeof message.isPrefix !== "boolean") + return "isPrefix: boolean expected"; + return null; + }; + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak + */ + DetectedBreak.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak(); + switch (object.type) { + case "UNKNOWN": + case 0: + message.type = 0; + break; + case "SPACE": + case 1: + message.type = 1; + break; + case "SURE_SPACE": + case 2: + message.type = 2; + break; + case "EOL_SURE_SPACE": + case 3: + message.type = 3; + break; + case "HYPHEN": + case 4: + message.type = 4; + break; + case "LINE_BREAK": + case 5: + message.type = 5; + break; + } + if (object.isPrefix != null) + message.isPrefix = Boolean(object.isPrefix); + return message; + }; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} message DetectedBreak + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedBreak.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN" : 0; + object.isPrefix = false; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + object.isPrefix = message.isPrefix; + return object; + }; + + /** + * Converts this DetectedBreak to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @instance + * @returns {Object.} JSON object + */ + DetectedBreak.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BreakType enum. + * @name google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} SPACE=1 SPACE value + * @property {number} SURE_SPACE=2 SURE_SPACE value + * @property {number} EOL_SURE_SPACE=3 EOL_SURE_SPACE value + * @property {number} HYPHEN=4 HYPHEN value + * @property {number} LINE_BREAK=5 LINE_BREAK value + */ + DetectedBreak.BreakType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "SPACE"] = 1; + values[valuesById[2] = "SURE_SPACE"] = 2; + values[valuesById[3] = "EOL_SURE_SPACE"] = 3; + values[valuesById[4] = "HYPHEN"] = 4; + values[valuesById[5] = "LINE_BREAK"] = 5; + return values; + })(); + + return DetectedBreak; + })(); + + TextAnnotation.TextProperty = (function() { + + /** + * Properties of a TextProperty. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @interface ITextProperty + * @property {Array.|null} [detectedLanguages] TextProperty detectedLanguages + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak|null} [detectedBreak] TextProperty detectedBreak + */ + + /** + * Constructs a new TextProperty. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @classdesc Represents a TextProperty. + * @implements ITextProperty + * @constructor + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + */ + function TextProperty(properties) { + this.detectedLanguages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextProperty detectedLanguages. + * @member {Array.} detectedLanguages + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedLanguages = $util.emptyArray; + + /** + * TextProperty detectedBreak. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak|null|undefined} detectedBreak + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedBreak = null; + + /** + * Creates a new TextProperty instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty instance + */ + TextProperty.create = function create(properties) { + return new TextProperty(properties); + }; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.detectedLanguages != null && message.detectedLanguages.length) + for (var i = 0; i < message.detectedLanguages.length; ++i) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + case 2: + message.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextProperty message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextProperty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.detectedLanguages != null && message.hasOwnProperty("detectedLanguages")) { + if (!Array.isArray(message.detectedLanguages)) + return "detectedLanguages: array expected"; + for (var i = 0; i < message.detectedLanguages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify(message.detectedLanguages[i]); + if (error) + return "detectedLanguages." + error; + } + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify(message.detectedBreak); + if (error) + return "detectedBreak." + error; + } + return null; + }; + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty + */ + TextProperty.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty(); + if (object.detectedLanguages) { + if (!Array.isArray(object.detectedLanguages)) + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.detectedLanguages: array expected"); + message.detectedLanguages = []; + for (var i = 0; i < object.detectedLanguages.length; ++i) { + if (typeof object.detectedLanguages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.detectedLanguages: object expected"); + message.detectedLanguages[i] = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.fromObject(object.detectedLanguages[i]); + } + } + if (object.detectedBreak != null) { + if (typeof object.detectedBreak !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.detectedBreak: object expected"); + message.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.fromObject(object.detectedBreak); + } + return message; + }; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} message TextProperty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextProperty.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.detectedLanguages = []; + if (options.defaults) + object.detectedBreak = null; + if (message.detectedLanguages && message.detectedLanguages.length) { + object.detectedLanguages = []; + for (var j = 0; j < message.detectedLanguages.length; ++j) + object.detectedLanguages[j] = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.toObject(message.detectedLanguages[j], options); + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + object.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.toObject(message.detectedBreak, options); + return object; + }; + + /** + * Converts this TextProperty to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @instance + * @returns {Object.} JSON object + */ + TextProperty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextProperty; + })(); + + return TextAnnotation; + })(); + + v1p2beta1.Page = (function() { + + /** + * Properties of a Page. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IPage + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Page property + * @property {number|null} [width] Page width + * @property {number|null} [height] Page height + * @property {Array.|null} [blocks] Page blocks + * @property {number|null} [confidence] Page confidence + */ + + /** + * Constructs a new Page. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Page. + * @implements IPage + * @constructor + * @param {google.cloud.vision.v1p2beta1.IPage=} [properties] Properties to set + */ + function Page(properties) { + this.blocks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Page property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Page + * @instance + */ + Page.prototype.property = null; + + /** + * Page width. + * @member {number} width + * @memberof google.cloud.vision.v1p2beta1.Page + * @instance + */ + Page.prototype.width = 0; + + /** + * Page height. + * @member {number} height + * @memberof google.cloud.vision.v1p2beta1.Page + * @instance + */ + Page.prototype.height = 0; + + /** + * Page blocks. + * @member {Array.} blocks + * @memberof google.cloud.vision.v1p2beta1.Page + * @instance + */ + Page.prototype.blocks = $util.emptyArray; + + /** + * Page confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.Page + * @instance + */ + Page.prototype.confidence = 0; + + /** + * Creates a new Page instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Page + * @static + * @param {google.cloud.vision.v1p2beta1.IPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Page} Page instance + */ + Page.create = function create(properties) { + return new Page(properties); + }; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Page.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Page + * @static + * @param {google.cloud.vision.v1p2beta1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.width != null && message.hasOwnProperty("width")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); + if (message.height != null && message.hasOwnProperty("height")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); + if (message.blocks != null && message.blocks.length) + for (var i = 0; i < message.blocks.length; ++i) + $root.google.cloud.vision.v1p2beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Page.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Page + * @static + * @param {google.cloud.vision.v1p2beta1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Page message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Page(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.width = reader.int32(); + break; + case 3: + message.height = reader.int32(); + break; + case 4: + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1p2beta1.Block.decode(reader, reader.uint32())); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Page message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Page + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Page.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.width != null && message.hasOwnProperty("width")) + if (!$util.isInteger(message.width)) + return "width: integer expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height)) + return "height: integer expected"; + if (message.blocks != null && message.hasOwnProperty("blocks")) { + if (!Array.isArray(message.blocks)) + return "blocks: array expected"; + for (var i = 0; i < message.blocks.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Block.verify(message.blocks[i]); + if (error) + return "blocks." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Page + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Page} Page + */ + Page.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Page) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Page(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Page.property: object expected"); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.width != null) + message.width = object.width | 0; + if (object.height != null) + message.height = object.height | 0; + if (object.blocks) { + if (!Array.isArray(object.blocks)) + throw TypeError(".google.cloud.vision.v1p2beta1.Page.blocks: array expected"); + message.blocks = []; + for (var i = 0; i < object.blocks.length; ++i) { + if (typeof object.blocks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Page.blocks: object expected"); + message.blocks[i] = $root.google.cloud.vision.v1p2beta1.Block.fromObject(object.blocks[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Page + * @static + * @param {google.cloud.vision.v1p2beta1.Page} message Page + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Page.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.blocks = []; + if (options.defaults) { + object.property = null; + object.width = 0; + object.height = 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.width != null && message.hasOwnProperty("width")) + object.width = message.width; + if (message.height != null && message.hasOwnProperty("height")) + object.height = message.height; + if (message.blocks && message.blocks.length) { + object.blocks = []; + for (var j = 0; j < message.blocks.length; ++j) + object.blocks[j] = $root.google.cloud.vision.v1p2beta1.Block.toObject(message.blocks[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Page to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Page + * @instance + * @returns {Object.} JSON object + */ + Page.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Page; + })(); + + v1p2beta1.Block = (function() { + + /** + * Properties of a Block. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IBlock + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Block property + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Block boundingBox + * @property {Array.|null} [paragraphs] Block paragraphs + * @property {google.cloud.vision.v1p2beta1.Block.BlockType|null} [blockType] Block blockType + * @property {number|null} [confidence] Block confidence + */ + + /** + * Constructs a new Block. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Block. + * @implements IBlock + * @constructor + * @param {google.cloud.vision.v1p2beta1.IBlock=} [properties] Properties to set + */ + function Block(properties) { + this.paragraphs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Block property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Block + * @instance + */ + Block.prototype.property = null; + + /** + * Block boundingBox. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p2beta1.Block + * @instance + */ + Block.prototype.boundingBox = null; + + /** + * Block paragraphs. + * @member {Array.} paragraphs + * @memberof google.cloud.vision.v1p2beta1.Block + * @instance + */ + Block.prototype.paragraphs = $util.emptyArray; + + /** + * Block blockType. + * @member {google.cloud.vision.v1p2beta1.Block.BlockType} blockType + * @memberof google.cloud.vision.v1p2beta1.Block + * @instance + */ + Block.prototype.blockType = 0; + + /** + * Block confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.Block + * @instance + */ + Block.prototype.confidence = 0; + + /** + * Creates a new Block instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Block + * @static + * @param {google.cloud.vision.v1p2beta1.IBlock=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Block} Block instance + */ + Block.create = function create(properties) { + return new Block(properties); + }; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Block.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Block + * @static + * @param {google.cloud.vision.v1p2beta1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.paragraphs != null && message.paragraphs.length) + for (var i = 0; i < message.paragraphs.length; ++i) + $root.google.cloud.vision.v1p2beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.blockType != null && message.hasOwnProperty("blockType")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Block.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Block + * @static + * @param {google.cloud.vision.v1p2beta1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Block message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Block(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1p2beta1.Paragraph.decode(reader, reader.uint32())); + break; + case 4: + message.blockType = reader.int32(); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Block message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Block + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Block.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.paragraphs != null && message.hasOwnProperty("paragraphs")) { + if (!Array.isArray(message.paragraphs)) + return "paragraphs: array expected"; + for (var i = 0; i < message.paragraphs.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Paragraph.verify(message.paragraphs[i]); + if (error) + return "paragraphs." + error; + } + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + switch (message.blockType) { + default: + return "blockType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Block + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Block} Block + */ + Block.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Block) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Block(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Block.property: object expected"); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Block.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.paragraphs) { + if (!Array.isArray(object.paragraphs)) + throw TypeError(".google.cloud.vision.v1p2beta1.Block.paragraphs: array expected"); + message.paragraphs = []; + for (var i = 0; i < object.paragraphs.length; ++i) { + if (typeof object.paragraphs[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Block.paragraphs: object expected"); + message.paragraphs[i] = $root.google.cloud.vision.v1p2beta1.Paragraph.fromObject(object.paragraphs[i]); + } + } + switch (object.blockType) { + case "UNKNOWN": + case 0: + message.blockType = 0; + break; + case "TEXT": + case 1: + message.blockType = 1; + break; + case "TABLE": + case 2: + message.blockType = 2; + break; + case "PICTURE": + case 3: + message.blockType = 3; + break; + case "RULER": + case 4: + message.blockType = 4; + break; + case "BARCODE": + case 5: + message.blockType = 5; + break; + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Block + * @static + * @param {google.cloud.vision.v1p2beta1.Block} message Block + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Block.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paragraphs = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.blockType = options.enums === String ? "UNKNOWN" : 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.paragraphs && message.paragraphs.length) { + object.paragraphs = []; + for (var j = 0; j < message.paragraphs.length; ++j) + object.paragraphs[j] = $root.google.cloud.vision.v1p2beta1.Paragraph.toObject(message.paragraphs[j], options); + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + object.blockType = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Block.BlockType[message.blockType] : message.blockType; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Block to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Block + * @instance + * @returns {Object.} JSON object + */ + Block.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BlockType enum. + * @name google.cloud.vision.v1p2beta1.Block.BlockType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} TEXT=1 TEXT value + * @property {number} TABLE=2 TABLE value + * @property {number} PICTURE=3 PICTURE value + * @property {number} RULER=4 RULER value + * @property {number} BARCODE=5 BARCODE value + */ + Block.BlockType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "TEXT"] = 1; + values[valuesById[2] = "TABLE"] = 2; + values[valuesById[3] = "PICTURE"] = 3; + values[valuesById[4] = "RULER"] = 4; + values[valuesById[5] = "BARCODE"] = 5; + return values; + })(); + + return Block; + })(); + + v1p2beta1.Paragraph = (function() { + + /** + * Properties of a Paragraph. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IParagraph + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Paragraph property + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Paragraph boundingBox + * @property {Array.|null} [words] Paragraph words + * @property {number|null} [confidence] Paragraph confidence + */ + + /** + * Constructs a new Paragraph. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Paragraph. + * @implements IParagraph + * @constructor + * @param {google.cloud.vision.v1p2beta1.IParagraph=} [properties] Properties to set + */ + function Paragraph(properties) { + this.words = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Paragraph property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + */ + Paragraph.prototype.property = null; + + /** + * Paragraph boundingBox. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + */ + Paragraph.prototype.boundingBox = null; + + /** + * Paragraph words. + * @member {Array.} words + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + */ + Paragraph.prototype.words = $util.emptyArray; + + /** + * Paragraph confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + */ + Paragraph.prototype.confidence = 0; + + /** + * Creates a new Paragraph instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p2beta1.IParagraph=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph instance + */ + Paragraph.create = function create(properties) { + return new Paragraph(properties); + }; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Paragraph.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p2beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.words != null && message.words.length) + for (var i = 0; i < message.words.length; ++i) + $root.google.cloud.vision.v1p2beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Paragraph.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p2beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Paragraph(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1p2beta1.Word.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Paragraph message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Paragraph.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.words != null && message.hasOwnProperty("words")) { + if (!Array.isArray(message.words)) + return "words: array expected"; + for (var i = 0; i < message.words.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Word.verify(message.words[i]); + if (error) + return "words." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph + */ + Paragraph.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Paragraph) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Paragraph(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.property: object expected"); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.words) { + if (!Array.isArray(object.words)) + throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.words: array expected"); + message.words = []; + for (var i = 0; i < object.words.length; ++i) { + if (typeof object.words[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.words: object expected"); + message.words[i] = $root.google.cloud.vision.v1p2beta1.Word.fromObject(object.words[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p2beta1.Paragraph} message Paragraph + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Paragraph.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.words = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.words && message.words.length) { + object.words = []; + for (var j = 0; j < message.words.length; ++j) + object.words[j] = $root.google.cloud.vision.v1p2beta1.Word.toObject(message.words[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Paragraph to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + * @returns {Object.} JSON object + */ + Paragraph.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Paragraph; + })(); + + v1p2beta1.Word = (function() { + + /** + * Properties of a Word. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IWord + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Word property + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Word boundingBox + * @property {Array.|null} [symbols] Word symbols + * @property {number|null} [confidence] Word confidence + */ + + /** + * Constructs a new Word. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Word. + * @implements IWord + * @constructor + * @param {google.cloud.vision.v1p2beta1.IWord=} [properties] Properties to set + */ + function Word(properties) { + this.symbols = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Word property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + */ + Word.prototype.property = null; + + /** + * Word boundingBox. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + */ + Word.prototype.boundingBox = null; + + /** + * Word symbols. + * @member {Array.} symbols + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + */ + Word.prototype.symbols = $util.emptyArray; + + /** + * Word confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + */ + Word.prototype.confidence = 0; + + /** + * Creates a new Word instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {google.cloud.vision.v1p2beta1.IWord=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Word} Word instance + */ + Word.create = function create(properties) { + return new Word(properties); + }; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Word.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {google.cloud.vision.v1p2beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.symbols != null && message.symbols.length) + for (var i = 0; i < message.symbols.length; ++i) + $root.google.cloud.vision.v1p2beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Word.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {google.cloud.vision.v1p2beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Word message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Word(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1p2beta1.Symbol.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Word message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Word.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.symbols != null && message.hasOwnProperty("symbols")) { + if (!Array.isArray(message.symbols)) + return "symbols: array expected"; + for (var i = 0; i < message.symbols.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Symbol.verify(message.symbols[i]); + if (error) + return "symbols." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Word} Word + */ + Word.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Word) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Word(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Word.property: object expected"); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Word.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.symbols) { + if (!Array.isArray(object.symbols)) + throw TypeError(".google.cloud.vision.v1p2beta1.Word.symbols: array expected"); + message.symbols = []; + for (var i = 0; i < object.symbols.length; ++i) { + if (typeof object.symbols[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Word.symbols: object expected"); + message.symbols[i] = $root.google.cloud.vision.v1p2beta1.Symbol.fromObject(object.symbols[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {google.cloud.vision.v1p2beta1.Word} message Word + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Word.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.symbols = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.symbols && message.symbols.length) { + object.symbols = []; + for (var j = 0; j < message.symbols.length; ++j) + object.symbols[j] = $root.google.cloud.vision.v1p2beta1.Symbol.toObject(message.symbols[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Word to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + * @returns {Object.} JSON object + */ + Word.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Word; + })(); + + v1p2beta1.Symbol = (function() { + + /** + * Properties of a Symbol. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ISymbol + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Symbol property + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Symbol boundingBox + * @property {string|null} [text] Symbol text + * @property {number|null} [confidence] Symbol confidence + */ + + /** + * Constructs a new Symbol. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Symbol. + * @implements ISymbol + * @constructor + * @param {google.cloud.vision.v1p2beta1.ISymbol=} [properties] Properties to set + */ + function Symbol(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]]; + } + + /** + * Symbol property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + */ + Symbol.prototype.property = null; + + /** + * Symbol boundingBox. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + */ + Symbol.prototype.boundingBox = null; + + /** + * Symbol text. + * @member {string} text + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + */ + Symbol.prototype.text = ""; + + /** + * Symbol confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + */ + Symbol.prototype.confidence = 0; + + /** + * Creates a new Symbol instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {google.cloud.vision.v1p2beta1.ISymbol=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol instance + */ + Symbol.create = function create(properties) { + return new Symbol(properties); + }; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Symbol.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {google.cloud.vision.v1p2beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Symbol.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {google.cloud.vision.v1p2beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Symbol(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + message.text = reader.string(); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Symbol message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Symbol.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol + */ + Symbol.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Symbol) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Symbol(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Symbol.property: object expected"); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Symbol.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.text != null) + message.text = String(object.text); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {google.cloud.vision.v1p2beta1.Symbol} message Symbol + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Symbol.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.text = ""; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Symbol to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + * @returns {Object.} JSON object + */ + Symbol.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Symbol; + })(); + + v1p2beta1.WebDetection = (function() { + + /** + * Properties of a WebDetection. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IWebDetection + * @property {Array.|null} [webEntities] WebDetection webEntities + * @property {Array.|null} [fullMatchingImages] WebDetection fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebDetection partialMatchingImages + * @property {Array.|null} [pagesWithMatchingImages] WebDetection pagesWithMatchingImages + * @property {Array.|null} [visuallySimilarImages] WebDetection visuallySimilarImages + * @property {Array.|null} [bestGuessLabels] WebDetection bestGuessLabels + */ + + /** + * Constructs a new WebDetection. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a WebDetection. + * @implements IWebDetection + * @constructor + * @param {google.cloud.vision.v1p2beta1.IWebDetection=} [properties] Properties to set + */ + function WebDetection(properties) { + this.webEntities = []; + this.fullMatchingImages = []; + this.partialMatchingImages = []; + this.pagesWithMatchingImages = []; + this.visuallySimilarImages = []; + this.bestGuessLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebDetection webEntities. + * @member {Array.} webEntities + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.webEntities = $util.emptyArray; + + /** + * WebDetection fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebDetection partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.partialMatchingImages = $util.emptyArray; + + /** + * WebDetection pagesWithMatchingImages. + * @member {Array.} pagesWithMatchingImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.pagesWithMatchingImages = $util.emptyArray; + + /** + * WebDetection visuallySimilarImages. + * @member {Array.} visuallySimilarImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.visuallySimilarImages = $util.emptyArray; + + /** + * WebDetection bestGuessLabels. + * @member {Array.} bestGuessLabels + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.bestGuessLabels = $util.emptyArray; + + /** + * Creates a new WebDetection instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p2beta1.IWebDetection=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection instance + */ + WebDetection.create = function create(properties) { + return new WebDetection(properties); + }; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p2beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.webEntities != null && message.webEntities.length) + for (var i = 0; i < message.webEntities.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.encode(message.webEntities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.pagesWithMatchingImages != null && message.pagesWithMatchingImages.length) + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.encode(message.pagesWithMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.visuallySimilarImages != null && message.visuallySimilarImages.length) + for (var i = 0; i < message.visuallySimilarImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.visuallySimilarImages[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.bestGuessLabels != null && message.bestGuessLabels.length) + for (var i = 0; i < message.bestGuessLabels.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.encode(message.bestGuessLabels[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p2beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetection(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 8: + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetection message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetection.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.webEntities != null && message.hasOwnProperty("webEntities")) { + if (!Array.isArray(message.webEntities)) + return "webEntities: array expected"; + for (var i = 0; i < message.webEntities.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.verify(message.webEntities[i]); + if (error) + return "webEntities." + error; + } + } + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + if (message.pagesWithMatchingImages != null && message.hasOwnProperty("pagesWithMatchingImages")) { + if (!Array.isArray(message.pagesWithMatchingImages)) + return "pagesWithMatchingImages: array expected"; + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.verify(message.pagesWithMatchingImages[i]); + if (error) + return "pagesWithMatchingImages." + error; + } + } + if (message.visuallySimilarImages != null && message.hasOwnProperty("visuallySimilarImages")) { + if (!Array.isArray(message.visuallySimilarImages)) + return "visuallySimilarImages: array expected"; + for (var i = 0; i < message.visuallySimilarImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.visuallySimilarImages[i]); + if (error) + return "visuallySimilarImages." + error; + } + } + if (message.bestGuessLabels != null && message.hasOwnProperty("bestGuessLabels")) { + if (!Array.isArray(message.bestGuessLabels)) + return "bestGuessLabels: array expected"; + for (var i = 0; i < message.bestGuessLabels.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.verify(message.bestGuessLabels[i]); + if (error) + return "bestGuessLabels." + error; + } + } + return null; + }; + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection + */ + WebDetection.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetection) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.WebDetection(); + if (object.webEntities) { + if (!Array.isArray(object.webEntities)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.webEntities: array expected"); + message.webEntities = []; + for (var i = 0; i < object.webEntities.length; ++i) { + if (typeof object.webEntities[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.webEntities: object expected"); + message.webEntities[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.fromObject(object.webEntities[i]); + } + } + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + if (object.pagesWithMatchingImages) { + if (!Array.isArray(object.pagesWithMatchingImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.pagesWithMatchingImages: array expected"); + message.pagesWithMatchingImages = []; + for (var i = 0; i < object.pagesWithMatchingImages.length; ++i) { + if (typeof object.pagesWithMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.pagesWithMatchingImages: object expected"); + message.pagesWithMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.fromObject(object.pagesWithMatchingImages[i]); + } + } + if (object.visuallySimilarImages) { + if (!Array.isArray(object.visuallySimilarImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.visuallySimilarImages: array expected"); + message.visuallySimilarImages = []; + for (var i = 0; i < object.visuallySimilarImages.length; ++i) { + if (typeof object.visuallySimilarImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.visuallySimilarImages: object expected"); + message.visuallySimilarImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.visuallySimilarImages[i]); + } + } + if (object.bestGuessLabels) { + if (!Array.isArray(object.bestGuessLabels)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.bestGuessLabels: array expected"); + message.bestGuessLabels = []; + for (var i = 0; i < object.bestGuessLabels.length; ++i) { + if (typeof object.bestGuessLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.bestGuessLabels: object expected"); + message.bestGuessLabels[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.fromObject(object.bestGuessLabels[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection} message WebDetection + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetection.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.webEntities = []; + object.fullMatchingImages = []; + object.partialMatchingImages = []; + object.pagesWithMatchingImages = []; + object.visuallySimilarImages = []; + object.bestGuessLabels = []; + } + if (message.webEntities && message.webEntities.length) { + object.webEntities = []; + for (var j = 0; j < message.webEntities.length; ++j) + object.webEntities[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.toObject(message.webEntities[j], options); + } + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + if (message.pagesWithMatchingImages && message.pagesWithMatchingImages.length) { + object.pagesWithMatchingImages = []; + for (var j = 0; j < message.pagesWithMatchingImages.length; ++j) + object.pagesWithMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.toObject(message.pagesWithMatchingImages[j], options); + } + if (message.visuallySimilarImages && message.visuallySimilarImages.length) { + object.visuallySimilarImages = []; + for (var j = 0; j < message.visuallySimilarImages.length; ++j) + object.visuallySimilarImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.visuallySimilarImages[j], options); + } + if (message.bestGuessLabels && message.bestGuessLabels.length) { + object.bestGuessLabels = []; + for (var j = 0; j < message.bestGuessLabels.length; ++j) + object.bestGuessLabels[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.toObject(message.bestGuessLabels[j], options); + } + return object; + }; + + /** + * Converts this WebDetection to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + * @returns {Object.} JSON object + */ + WebDetection.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + WebDetection.WebEntity = (function() { + + /** + * Properties of a WebEntity. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @interface IWebEntity + * @property {string|null} [entityId] WebEntity entityId + * @property {number|null} [score] WebEntity score + * @property {string|null} [description] WebEntity description + */ + + /** + * Constructs a new WebEntity. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @classdesc Represents a WebEntity. + * @implements IWebEntity + * @constructor + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity=} [properties] Properties to set + */ + function WebEntity(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]]; + } + + /** + * WebEntity entityId. + * @member {string} entityId + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.entityId = ""; + + /** + * WebEntity score. + * @member {number} score + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.score = 0; + + /** + * WebEntity description. + * @member {string} description + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.description = ""; + + /** + * Creates a new WebEntity instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebEntity} WebEntity instance + */ + WebEntity.create = function create(properties) { + return new WebEntity(properties); + }; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebEntity.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entityId != null && message.hasOwnProperty("entityId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + return writer; + }; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebEntity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.description = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebEntity message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebEntity.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entityId != null && message.hasOwnProperty("entityId")) + if (!$util.isString(message.entityId)) + return "entityId: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + return null; + }; + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebEntity} WebEntity + */ + WebEntity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.score != null) + message.score = Number(object.score); + if (object.description != null) + message.description = String(object.description); + return message; + }; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.WebEntity} message WebEntity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebEntity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.score = 0; + object.description = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + return object; + }; + + /** + * Converts this WebEntity to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @instance + * @returns {Object.} JSON object + */ + WebEntity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebEntity; + })(); + + WebDetection.WebImage = (function() { + + /** + * Properties of a WebImage. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @interface IWebImage + * @property {string|null} [url] WebImage url + * @property {number|null} [score] WebImage score + */ + + /** + * Constructs a new WebImage. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @classdesc Represents a WebImage. + * @implements IWebImage + * @constructor + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebImage=} [properties] Properties to set + */ + function WebImage(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]]; + } + + /** + * WebImage url. + * @member {string} url + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.url = ""; + + /** + * WebImage score. + * @member {number} score + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.score = 0; + + /** + * Creates a new WebImage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebImage} WebImage instance + */ + WebImage.create = function create(properties) { + return new WebImage(properties); + }; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + return writer; + }; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebImage message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebImage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + return null; + }; + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebImage} WebImage + */ + WebImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + return message; + }; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.WebImage} message WebImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.url = ""; + object.score = 0; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + return object; + }; + + /** + * Converts this WebImage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @instance + * @returns {Object.} JSON object + */ + WebImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebImage; + })(); + + WebDetection.WebPage = (function() { + + /** + * Properties of a WebPage. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @interface IWebPage + * @property {string|null} [url] WebPage url + * @property {number|null} [score] WebPage score + * @property {string|null} [pageTitle] WebPage pageTitle + * @property {Array.|null} [fullMatchingImages] WebPage fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebPage partialMatchingImages + */ + + /** + * Constructs a new WebPage. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @classdesc Represents a WebPage. + * @implements IWebPage + * @constructor + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebPage=} [properties] Properties to set + */ + function WebPage(properties) { + this.fullMatchingImages = []; + this.partialMatchingImages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebPage url. + * @member {string} url + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.url = ""; + + /** + * WebPage score. + * @member {number} score + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.score = 0; + + /** + * WebPage pageTitle. + * @member {string} pageTitle + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.pageTitle = ""; + + /** + * WebPage fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebPage partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.partialMatchingImages = $util.emptyArray; + + /** + * Creates a new WebPage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebPage} WebPage instance + */ + WebPage.create = function create(properties) { + return new WebPage(properties); + }; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebPage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebPage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pageTitle = reader.string(); + break; + case 4: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebPage message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebPage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (!$util.isString(message.pageTitle)) + return "pageTitle: string expected"; + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + return null; + }; + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebPage} WebPage + */ + WebPage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + if (object.pageTitle != null) + message.pageTitle = String(object.pageTitle); + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.WebPage.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.WebPage.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.WebPage.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.WebPage.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.WebPage} message WebPage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebPage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.fullMatchingImages = []; + object.partialMatchingImages = []; + } + if (options.defaults) { + object.url = ""; + object.score = 0; + object.pageTitle = ""; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + object.pageTitle = message.pageTitle; + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + return object; + }; + + /** + * Converts this WebPage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @instance + * @returns {Object.} JSON object + */ + WebPage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebPage; + })(); + + WebDetection.WebLabel = (function() { + + /** + * Properties of a WebLabel. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @interface IWebLabel + * @property {string|null} [label] WebLabel label + * @property {string|null} [languageCode] WebLabel languageCode + */ + + /** + * Constructs a new WebLabel. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @classdesc Represents a WebLabel. + * @implements IWebLabel + * @constructor + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebLabel=} [properties] Properties to set + */ + function WebLabel(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]]; + } + + /** + * WebLabel label. + * @member {string} label + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.label = ""; + + /** + * WebLabel languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.languageCode = ""; + + /** + * Creates a new WebLabel instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebLabel=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebLabel} WebLabel instance + */ + WebLabel.create = function create(properties) { + return new WebLabel(properties); + }; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.label != null && message.hasOwnProperty("label")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.label = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebLabel message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebLabel.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.label != null && message.hasOwnProperty("label")) + if (!$util.isString(message.label)) + return "label: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebLabel} WebLabel + */ + WebLabel.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel(); + if (object.label != null) + message.label = String(object.label); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.WebLabel} message WebLabel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebLabel.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.label = ""; + object.languageCode = ""; + } + if (message.label != null && message.hasOwnProperty("label")) + object.label = message.label; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this WebLabel to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @instance + * @returns {Object.} JSON object + */ + WebLabel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebLabel; + })(); + + return WebDetection; + })(); + + return v1p2beta1; + })(); + + vision.v1p3beta1 = (function() { + + /** + * Namespace v1p3beta1. + * @memberof google.cloud.vision + * @namespace + */ + var v1p3beta1 = {}; + + v1p3beta1.ImageAnnotator = (function() { + + /** + * Constructs a new ImageAnnotator service. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImageAnnotator + * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; + + /** + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + */ + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + */ + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @typedef AsyncBatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { + return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateFiles" }); + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ImageAnnotator; + })(); + + v1p3beta1.Feature = (function() { + + /** + * Properties of a Feature. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IFeature + * @property {google.cloud.vision.v1p3beta1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model + */ + + /** + * Constructs a new Feature. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Feature. + * @implements IFeature + * @constructor + * @param {google.cloud.vision.v1p3beta1.IFeature=} [properties] Properties to set + */ + function Feature(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]]; + } + + /** + * Feature type. + * @member {google.cloud.vision.v1p3beta1.Feature.Type} type + * @memberof google.cloud.vision.v1p3beta1.Feature + * @instance + */ + Feature.prototype.type = 0; + + /** + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1p3beta1.Feature + * @instance + */ + Feature.prototype.maxResults = 0; + + /** + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1p3beta1.Feature + * @instance + */ + Feature.prototype.model = ""; + + /** + * Creates a new Feature instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {google.cloud.vision.v1p3beta1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Feature} Feature instance + */ + Feature.create = function create(properties) { + return new Feature(properties); + }; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Feature.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {google.cloud.vision.v1p3beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + return writer; + }; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Feature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {google.cloud.vision.v1p3beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Feature(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.maxResults = reader.int32(); + break; + case 3: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Feature message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Feature.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: + case 3: + case 4: + case 5: + case 11: + case 6: + case 7: + case 9: + case 10: + case 12: + case 19: + break; + } + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Feature} Feature + */ + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Feature) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": + case 0: + message.type = 0; + break; + case "FACE_DETECTION": + case 1: + message.type = 1; + break; + case "LANDMARK_DETECTION": + case 2: + message.type = 2; + break; + case "LOGO_DETECTION": + case 3: + message.type = 3; + break; + case "LABEL_DETECTION": + case 4: + message.type = 4; + break; + case "TEXT_DETECTION": + case 5: + message.type = 5; + break; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; + break; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; + break; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; + break; + case "CROP_HINTS": + case 9: + message.type = 9; + break; + case "WEB_DETECTION": + case 10: + message.type = 10; + break; + case "PRODUCT_SEARCH": + case 12: + message.type = 12; + break; + case "OBJECT_LOCALIZATION": + case 19: + message.type = 19; + break; + } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {google.cloud.vision.v1p3beta1.Feature} message Feature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Feature.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this Feature to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Feature + * @instance + * @returns {Object.} JSON object + */ + Feature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1p3beta1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + * @property {number} PRODUCT_SEARCH=12 PRODUCT_SEARCH value + * @property {number} OBJECT_LOCALIZATION=19 OBJECT_LOCALIZATION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + values[valuesById[12] = "PRODUCT_SEARCH"] = 12; + values[valuesById[19] = "OBJECT_LOCALIZATION"] = 19; + return values; + })(); + + return Feature; + })(); + + v1p3beta1.ImageSource = (function() { + + /** + * Properties of an ImageSource. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri + */ + + /** + * Constructs a new ImageSource. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImageSource. + * @implements IImageSource + * @constructor + * @param {google.cloud.vision.v1p3beta1.IImageSource=} [properties] Properties to set + */ + function ImageSource(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]]; + } + + /** + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @instance + */ + ImageSource.prototype.gcsImageUri = ""; + + /** + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @instance + */ + ImageSource.prototype.imageUri = ""; + + /** + * Creates a new ImageSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p3beta1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource instance + */ + ImageSource.create = function create(properties) { + return new ImageSource(properties); + }; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p3beta1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + return writer; + }; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p3beta1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsImageUri = reader.string(); + break; + case 2: + message.imageUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageSource message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; + return null; + }; + + /** + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource + */ + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageSource) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); + return message; + }; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p3beta1.ImageSource} message ImageSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsImageUri = ""; + object.imageUri = ""; + } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; + return object; + }; + + /** + * Converts this ImageSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @instance + * @returns {Object.} JSON object + */ + ImageSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageSource; + })(); + + v1p3beta1.Image = (function() { + + /** + * Properties of an Image. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1p3beta1.IImageSource|null} [source] Image source + */ + + /** + * Constructs a new Image. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an Image. + * @implements IImage + * @constructor + * @param {google.cloud.vision.v1p3beta1.IImage=} [properties] Properties to set + */ + function Image(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]]; + } + + /** + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p3beta1.Image + * @instance + */ + Image.prototype.content = $util.newBuffer([]); + + /** + * Image source. + * @member {google.cloud.vision.v1p3beta1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1p3beta1.Image + * @instance + */ + Image.prototype.source = null; + + /** + * Creates a new Image instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Image + * @static + * @param {google.cloud.vision.v1p3beta1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Image} Image instance + */ + Image.create = function create(properties) { + return new Image(properties); + }; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Image.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Image + * @static + * @param {google.cloud.vision.v1p3beta1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1p3beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Image.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Image + * @static + * @param {google.cloud.vision.v1p3beta1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Image message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Image(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.content = reader.bytes(); + break; + case 2: + message.source = $root.google.cloud.vision.v1p3beta1.ImageSource.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Image message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Image + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Image.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageSource.verify(message.source); + if (error) + return "source." + error; + } + return null; + }; + + /** + * Creates an Image message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Image + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Image} Image + */ + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Image) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1p3beta1.ImageSource.fromObject(object.source); + } + return message; + }; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Image + * @static + * @param {google.cloud.vision.v1p3beta1.Image} message Image + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Image.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; + } + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1p3beta1.ImageSource.toObject(message.source, options); + return object; + }; + + /** + * Converts this Image to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Image + * @instance + * @returns {Object.} JSON object + */ + Image.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Image; + })(); + + v1p3beta1.FaceAnnotation = (function() { + + /** + * Properties of a FaceAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + */ + + /** + * Constructs a new FaceAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation + * @constructor + * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation=} [properties] Properties to set + */ + function FaceAnnotation(properties) { + this.landmarks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.boundingPoly = null; + + /** + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.fdBoundingPoly = null; + + /** + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarks = $util.emptyArray; + + /** + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.rollAngle = 0; + + /** + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.panAngle = 0; + + /** + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.tiltAngle = 0; + + /** + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.detectionConfidence = 0; + + /** + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarkingConfidence = 0; + + /** + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.joyLikelihood = 0; + + /** + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.sorrowLikelihood = 0; + + /** + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation instance + */ + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); + }; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + return writer; + }; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + case 4: + message.rollAngle = reader.float(); + break; + case 5: + message.panAngle = reader.float(); + break; + case 6: + message.tiltAngle = reader.float(); + break; + case 7: + message.detectionConfidence = reader.float(); + break; + case 8: + message.landmarkingConfidence = reader.float(); + break; + case 9: + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; + } + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { + default: + return "joyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { + default: + return "sorrowLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { + default: + return "angerLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { + default: + return "surpriseLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { + default: + return "underExposedLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { + default: + return "blurredLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { + default: + return "headwearLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation + */ + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.FaceAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.fdBoundingPoly); + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); + } + } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { + case "UNKNOWN": + case 0: + message.joyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.joyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.joyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.joyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.joyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.joyLikelihood = 5; + break; + } + switch (object.sorrowLikelihood) { + case "UNKNOWN": + case 0: + message.sorrowLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.sorrowLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.sorrowLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.sorrowLikelihood = 3; + break; + case "LIKELY": + case 4: + message.sorrowLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.sorrowLikelihood = 5; + break; + } + switch (object.angerLikelihood) { + case "UNKNOWN": + case 0: + message.angerLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.angerLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.angerLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.angerLikelihood = 3; + break; + case "LIKELY": + case 4: + message.angerLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.angerLikelihood = 5; + break; + } + switch (object.surpriseLikelihood) { + case "UNKNOWN": + case 0: + message.surpriseLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.surpriseLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.surpriseLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.surpriseLikelihood = 3; + break; + case "LIKELY": + case 4: + message.surpriseLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.surpriseLikelihood = 5; + break; + } + switch (object.underExposedLikelihood) { + case "UNKNOWN": + case 0: + message.underExposedLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.underExposedLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.underExposedLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.underExposedLikelihood = 3; + break; + case "LIKELY": + case 4: + message.underExposedLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation} message FaceAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.landmarks = []; + if (options.defaults) { + object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + return object; + }; + + /** + * Converts this FaceAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + FaceAnnotation.Landmark = (function() { + + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1p3beta1.IPosition|null} [position] Landmark position + */ + + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } + + /** + * Landmark type. + * @member {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; + + /** + * Landmark position. + * @member {google.cloud.vision.v1p3beta1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; + + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1p3beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1p3beta1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1p3beta1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": + case 1: + message.type = 1; + break; + case "RIGHT_EYE": + case 2: + message.type = 2; + break; + case "LEFT_OF_LEFT_EYEBROW": + case 3: + message.type = 3; + break; + case "RIGHT_OF_LEFT_EYEBROW": + case 4: + message.type = 4; + break; + case "LEFT_OF_RIGHT_EYEBROW": + case 5: + message.type = 5; + break; + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; + break; + } + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1p3beta1.Position.fromObject(object.position); + } + return message; + }; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1p3beta1.Position.toObject(message.position, options); + return object; + }; + + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); + + return Landmark; + })(); + + return FaceAnnotation; + })(); + + v1p3beta1.LocationInfo = (function() { + + /** + * Properties of a LocationInfo. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng + */ + + /** + * Constructs a new LocationInfo. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo + * @constructor + * @param {google.cloud.vision.v1p3beta1.ILocationInfo=} [properties] Properties to set + */ + function LocationInfo(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]]; + } + + /** + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @instance + */ + LocationInfo.prototype.latLng = null; + + /** + * Creates a new LocationInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p3beta1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo instance + */ + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); + }; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocationInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p3beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p3beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.LocationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocationInfo message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); + if (error) + return "latLng." + error; + } + return null; + }; + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo + */ + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.LocationInfo) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); + } + return message; + }; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p3beta1.LocationInfo} message LocationInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocationInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); + return object; + }; + + /** + * Converts this LocationInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @instance + * @returns {Object.} JSON object + */ + LocationInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LocationInfo; + })(); + + v1p3beta1.Property = (function() { + + /** + * Properties of a Property. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value + */ + + /** + * Constructs a new Property. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Property. + * @implements IProperty + * @constructor + * @param {google.cloud.vision.v1p3beta1.IProperty=} [properties] Properties to set + */ + function Property(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]]; + } + + /** + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.Property + * @instance + */ + Property.prototype.name = ""; + + /** + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1p3beta1.Property + * @instance + */ + Property.prototype.value = ""; + + /** + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1p3beta1.Property + * @instance + */ + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Property instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Property + * @static + * @param {google.cloud.vision.v1p3beta1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Property} Property instance + */ + Property.create = function create(properties) { + return new Property(properties); + }; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Property.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Property + * @static + * @param {google.cloud.vision.v1p3beta1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + return writer; + }; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Property.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Property + * @static + * @param {google.cloud.vision.v1p3beta1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Property message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Property(); + 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: + message.uint64Value = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Property message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Property + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Property.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; + return null; + }; + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Property + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Property} Property + */ + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Property) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Property + * @static + * @param {google.cloud.vision.v1p3beta1.Property} message Property + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Property.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + return object; + }; + + /** + * Converts this Property to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Property + * @instance + * @returns {Object.} JSON object + */ + Property.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Property; + })(); + + v1p3beta1.EntityAnnotation = (function() { + + /** + * Properties of an EntityAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties + */ + + /** + * Constructs a new EntityAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation + * @constructor + * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation=} [properties] Properties to set + */ + function EntityAnnotation(properties) { + this.locations = []; + this.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]]; + } + + /** + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.mid = ""; + + /** + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locale = ""; + + /** + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.score = 0; + + /** + * EntityAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.confidence = 0; + + /** + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.topicality = 0; + + /** + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation instance + */ + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); + }; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.EntityAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1p3beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1p3beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.EntityAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.EntityAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.locale = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p3beta1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p3beta1.Property.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EntityAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EntityAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } + } + return null; + }; + + /** + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation + */ + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.EntityAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); + if (object.score != null) + message.score = Number(object.score); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1p3beta1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1p3beta1.Property.fromObject(object.properties[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.EntityAnnotation} message EntityAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EntityAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } + if (options.defaults) { + object.mid = ""; + object.locale = ""; + object.description = ""; + object.score = 0; + object.confidence = 0; + object.topicality = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1p3beta1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1p3beta1.Property.toObject(message.properties[j], options); + } + return object; + }; + + /** + * Converts this EntityAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + * @returns {Object.} JSON object + */ + EntityAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EntityAnnotation; + })(); + + v1p3beta1.LocalizedObjectAnnotation = (function() { + + /** + * Properties of a LocalizedObjectAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ILocalizedObjectAnnotation + * @property {string|null} [mid] LocalizedObjectAnnotation mid + * @property {string|null} [languageCode] LocalizedObjectAnnotation languageCode + * @property {string|null} [name] LocalizedObjectAnnotation name + * @property {number|null} [score] LocalizedObjectAnnotation score + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] LocalizedObjectAnnotation boundingPoly + */ + + /** + * Constructs a new LocalizedObjectAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a LocalizedObjectAnnotation. + * @implements ILocalizedObjectAnnotation + * @constructor + * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation=} [properties] Properties to set + */ + function LocalizedObjectAnnotation(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]]; + } + + /** + * LocalizedObjectAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.mid = ""; + + /** + * LocalizedObjectAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.languageCode = ""; + + /** + * LocalizedObjectAnnotation name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.name = ""; + + /** + * LocalizedObjectAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.score = 0; + + /** + * LocalizedObjectAnnotation boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.boundingPoly = null; + + /** + * Creates a new LocalizedObjectAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation instance + */ + LocalizedObjectAnnotation.create = function create(properties) { + return new LocalizedObjectAnnotation(properties); + }; + + /** + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalizedObjectAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalizedObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalizedObjectAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + case 3: + message.name = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalizedObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocalizedObjectAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocalizedObjectAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + return null; + }; + + /** + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + */ + LocalizedObjectAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.name != null) + message.name = String(object.name); + if (object.score != null) + message.score = Number(object.score); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); + } + return message; + }; + + /** + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} message LocalizedObjectAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocalizedObjectAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.mid = ""; + object.languageCode = ""; + object.name = ""; + object.score = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); + return object; + }; + + /** + * Converts this LocalizedObjectAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + * @returns {Object.} JSON object + */ + LocalizedObjectAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LocalizedObjectAnnotation; + })(); + + v1p3beta1.SafeSearchAnnotation = (function() { + + /** + * Properties of a SafeSearchAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [racy] SafeSearchAnnotation racy + */ + + /** + * Constructs a new SafeSearchAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation + * @constructor + * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation=} [properties] Properties to set + */ + function SafeSearchAnnotation(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]]; + } + + /** + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1p3beta1.Likelihood} adult + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.adult = 0; + + /** + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1p3beta1.Likelihood} spoof + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoof = 0; + + /** + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1p3beta1.Likelihood} medical + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medical = 0; + + /** + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1p3beta1.Likelihood} violence + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1p3beta1.Likelihood} racy + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation instance + */ + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); + }; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); + return writer; + }; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.adult = reader.int32(); + break; + case 2: + message.spoof = reader.int32(); + break; + case 3: + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SafeSearchAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SafeSearchAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation + */ + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SafeSearchAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; + } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.racy] : message.racy; + return object; + }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + * @returns {Object.} JSON object + */ + SafeSearchAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SafeSearchAnnotation; + })(); + + v1p3beta1.LatLongRect = (function() { + + /** + * Properties of a LatLongRect. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng + */ + + /** + * Constructs a new LatLongRect. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect + * @constructor + * @param {google.cloud.vision.v1p3beta1.ILatLongRect=} [properties] Properties to set + */ + function LatLongRect(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]]; + } + + /** + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.minLatLng = null; + + /** + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.maxLatLng = null; + + /** + * Creates a new LatLongRect instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p3beta1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect instance + */ + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); + }; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LatLongRect.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p3beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LatLongRect.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p3beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.LatLongRect(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + case 2: + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LatLongRect message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LatLongRect.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); + if (error) + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; + } + return null; + }; + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect + */ + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.LatLongRect) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); + } + return message; + }; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p3beta1.LatLongRect} message LatLongRect + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LatLongRect.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.minLatLng = null; + object.maxLatLng = null; + } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); + return object; + }; + + /** + * Converts this LatLongRect to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @instance + * @returns {Object.} JSON object + */ + LatLongRect.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LatLongRect; + })(); + + v1p3beta1.ColorInfo = (function() { + + /** + * Properties of a ColorInfo. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction + */ + + /** + * Constructs a new ColorInfo. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ColorInfo. + * @implements IColorInfo + * @constructor + * @param {google.cloud.vision.v1p3beta1.IColorInfo=} [properties] Properties to set + */ + function ColorInfo(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]]; + } + + /** + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.color = null; + + /** + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.score = 0; + + /** + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.pixelFraction = 0; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p3beta1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo instance + */ + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); + }; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ColorInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p3beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); + return writer; + }; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ColorInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p3beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ColorInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pixelFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ColorInfo message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ColorInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); + if (error) + return "color." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; + return null; + }; + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo + */ + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ColorInfo) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); + } + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); + return message; + }; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p3beta1.ColorInfo} message ColorInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ColorInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.color = null; + object.score = 0; + object.pixelFraction = 0; + } + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; + return object; + }; + + /** + * Converts this ColorInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @instance + * @returns {Object.} JSON object + */ + ColorInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ColorInfo; + })(); + + v1p3beta1.DominantColorsAnnotation = (function() { + + /** + * Properties of a DominantColorsAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors + */ + + /** + * Constructs a new DominantColorsAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation + * @constructor + * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation=} [properties] Properties to set + */ + function DominantColorsAnnotation(properties) { + this.colors = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @instance + */ + DominantColorsAnnotation.prototype.colors = $util.emptyArray; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation instance + */ + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); + }; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1p3beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p3beta1.ColorInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DominantColorsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DominantColorsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ColorInfo.verify(message.colors[i]); + if (error) + return "colors." + error; + } + } + return null; + }; + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation + */ + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1p3beta1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1p3beta1.ColorInfo.fromObject(object.colors[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DominantColorsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1p3beta1.ColorInfo.toObject(message.colors[j], options); + } + return object; + }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @instance + * @returns {Object.} JSON object + */ + DominantColorsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DominantColorsAnnotation; + })(); + + v1p3beta1.ImageProperties = (function() { + + /** + * Properties of an ImageProperties. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IImageProperties + * @property {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + */ + + /** + * Constructs a new ImageProperties. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImageProperties. + * @implements IImageProperties + * @constructor + * @param {google.cloud.vision.v1p3beta1.IImageProperties=} [properties] Properties to set + */ + function ImageProperties(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]]; + } + + /** + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @instance + */ + ImageProperties.prototype.dominantColors = null; + + /** + * Creates a new ImageProperties instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p3beta1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties instance + */ + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); + }; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageProperties.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p3beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageProperties.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p3beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageProperties(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageProperties message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageProperties.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify(message.dominantColors); + if (error) + return "dominantColors." + error; + } + return null; + }; + + /** + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties + */ + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageProperties) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.fromObject(object.dominantColors); + } + return message; + }; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p3beta1.ImageProperties} message ImageProperties + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageProperties.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); + return object; + }; + + /** + * Converts this ImageProperties to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @instance + * @returns {Object.} JSON object + */ + ImageProperties.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageProperties; + })(); + + v1p3beta1.CropHint = (function() { + + /** + * Properties of a CropHint. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ICropHint + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction + */ + + /** + * Constructs a new CropHint. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a CropHint. + * @implements ICropHint + * @constructor + * @param {google.cloud.vision.v1p3beta1.ICropHint=} [properties] Properties to set + */ + function CropHint(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]]; + } + + /** + * CropHint boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @instance + */ + CropHint.prototype.boundingPoly = null; + + /** + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @instance + */ + CropHint.prototype.confidence = 0; + + /** + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @instance + */ + CropHint.prototype.importanceFraction = 0; + + /** + * Creates a new CropHint instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @static + * @param {google.cloud.vision.v1p3beta1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint instance + */ + CropHint.create = function create(properties) { + return new CropHint(properties); + }; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHint.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @static + * @param {google.cloud.vision.v1p3beta1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + return writer; + }; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHint.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @static + * @param {google.cloud.vision.v1p3beta1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CropHint(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + message.importanceFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHint message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHint.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; + return null; + }; + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint + */ + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.CropHint) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); + return message; + }; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @static + * @param {google.cloud.vision.v1p3beta1.CropHint} message CropHint + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHint.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; + return object; + }; + + /** + * Converts this CropHint to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @instance + * @returns {Object.} JSON object + */ + CropHint.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHint; + })(); + + v1p3beta1.CropHintsAnnotation = (function() { + + /** + * Properties of a CropHintsAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + */ + + /** + * Constructs a new CropHintsAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation + * @constructor + * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation=} [properties] Properties to set + */ + function CropHintsAnnotation(properties) { + this.cropHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @instance + */ + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation instance + */ + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); + }; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1p3beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p3beta1.CropHint.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.CropHint.verify(message.cropHints[i]); + if (error) + return "cropHints." + error; + } + } + return null; + }; + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation + */ + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1p3beta1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1p3beta1.CropHint.fromObject(object.cropHints[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.CropHintsAnnotation} message CropHintsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1p3beta1.CropHint.toObject(message.cropHints[j], options); + } + return object; + }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @instance + * @returns {Object.} JSON object + */ + CropHintsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsAnnotation; + })(); + + v1p3beta1.CropHintsParams = (function() { + + /** + * Properties of a CropHintsParams. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + */ + + /** + * Constructs a new CropHintsParams. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams + * @constructor + * @param {google.cloud.vision.v1p3beta1.ICropHintsParams=} [properties] Properties to set + */ + function CropHintsParams(properties) { + this.aspectRatios = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @instance + */ + CropHintsParams.prototype.aspectRatios = $util.emptyArray; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p3beta1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams instance + */ + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); + }; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p3beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p3beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CropHintsParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsParams message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; + } + return null; + }; + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams + */ + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.CropHintsParams) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1p3beta1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); + } + return message; + }; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p3beta1.CropHintsParams} message CropHintsParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; + } + return object; + }; + + /** + * Converts this CropHintsParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @instance + * @returns {Object.} JSON object + */ + CropHintsParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsParams; + })(); + + v1p3beta1.WebDetectionParams = (function() { + + /** + * Properties of a WebDetectionParams. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + */ + + /** + * Constructs a new WebDetectionParams. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams + * @constructor + * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams=} [properties] Properties to set + */ + function WebDetectionParams(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]]; + } + + /** + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @instance + */ + WebDetectionParams.prototype.includeGeoResults = false; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams instance + */ + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); + }; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + return writer; + }; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.WebDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.includeGeoResults = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; + return null; + }; + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams + */ + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.WebDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); + return message; + }; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetectionParams} message WebDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; + return object; + }; + + /** + * Converts this WebDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @instance + * @returns {Object.} JSON object + */ + WebDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebDetectionParams; + })(); + + v1p3beta1.ImageContext = (function() { + + /** + * Properties of an ImageContext. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IImageContext + * @property {google.cloud.vision.v1p3beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1p3beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1p3beta1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams + * @property {google.cloud.vision.v1p3beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + */ + + /** + * Constructs a new ImageContext. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImageContext. + * @implements IImageContext + * @constructor + * @param {google.cloud.vision.v1p3beta1.IImageContext=} [properties] Properties to set + */ + function ImageContext(properties) { + this.languageHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImageContext latLongRect. + * @member {google.cloud.vision.v1p3beta1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + */ + ImageContext.prototype.latLongRect = null; + + /** + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + */ + ImageContext.prototype.languageHints = $util.emptyArray; + + /** + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1p3beta1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + */ + ImageContext.prototype.cropHintsParams = null; + + /** + * ImageContext productSearchParams. + * @member {google.cloud.vision.v1p3beta1.IProductSearchParams|null|undefined} productSearchParams + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + */ + ImageContext.prototype.productSearchParams = null; + + /** + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1p3beta1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + */ + ImageContext.prototype.webDetectionParams = null; + + /** + * Creates a new ImageContext instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p3beta1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext instance + */ + ImageContext.create = function create(properties) { + return new ImageContext(properties); + }; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p3beta1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1p3beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1p3beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + $root.google.cloud.vision.v1p3beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1p3beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p3beta1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 4: + message.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + case 5: + message.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.decode(reader, reader.uint32()); + break; + case 6: + message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageContext message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1p3beta1.LatLongRect.verify(message.latLongRect); + if (error) + return "latLongRect." + error; + } + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1p3beta1.CropHintsParams.verify(message.cropHintsParams); + if (error) + return "cropHintsParams." + error; + } + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.verify(message.productSearchParams); + if (error) + return "productSearchParams." + error; + } + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.verify(message.webDetectionParams); + if (error) + return "webDetectionParams." + error; + } + return null; + }; + + /** + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext + */ + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageContext) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.fromObject(object.latLongRect); + } + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.fromObject(object.cropHintsParams); + } + if (object.productSearchParams != null) { + if (typeof object.productSearchParams !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.productSearchParams: object expected"); + message.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.fromObject(object.productSearchParams); + } + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.fromObject(object.webDetectionParams); + } + return message; + }; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p3beta1.ImageContext} message ImageContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.languageHints = []; + if (options.defaults) { + object.latLongRect = null; + object.cropHintsParams = null; + object.productSearchParams = null; + object.webDetectionParams = null; + } + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + object.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.toObject(message.productSearchParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + return object; + }; + + /** + * Converts this ImageContext to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + * @returns {Object.} JSON object + */ + ImageContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageContext; + })(); + + v1p3beta1.AnnotateImageRequest = (function() { + + /** + * Properties of an AnnotateImageRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1p3beta1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1p3beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + */ + + /** + * Constructs a new AnnotateImageRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest=} [properties] Properties to set + */ + function AnnotateImageRequest(properties) { + this.features = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1p3beta1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.image = null; + + /** + * AnnotateImageRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateImageRequest imageContext. + * @member {google.cloud.vision.v1p3beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.imageContext = null; + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest instance + */ + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); + }; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1p3beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.image = $root.google.cloud.vision.v1p3beta1.Image.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1p3beta1.Image.verify(message.image); + if (error) + return "image." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest + */ + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1p3beta1.Image.fromObject(object.image); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p3beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.fromObject(object.imageContext); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.AnnotateImageRequest} message AnnotateImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.image = null; + object.imageContext = null; + } + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1p3beta1.Image.toObject(message.image, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p3beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.toObject(message.imageContext, options); + return object; + }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageRequest; + })(); + + v1p3beta1.ImageAnnotationContext = (function() { + + /** + * Properties of an ImageAnnotationContext. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IImageAnnotationContext + * @property {string|null} [uri] ImageAnnotationContext uri + * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber + */ + + /** + * Constructs a new ImageAnnotationContext. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImageAnnotationContext. + * @implements IImageAnnotationContext + * @constructor + * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext=} [properties] Properties to set + */ + function ImageAnnotationContext(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]]; + } + + /** + * ImageAnnotationContext uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.uri = ""; + + /** + * ImageAnnotationContext pageNumber. + * @member {number} pageNumber + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.pageNumber = 0; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext instance + */ + ImageAnnotationContext.create = function create(properties) { + return new ImageAnnotationContext(properties); + }; + + /** + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageAnnotationContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); + return writer; + }; + + /** + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageAnnotationContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + case 2: + message.pageNumber = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageAnnotationContext message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageAnnotationContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (!$util.isInteger(message.pageNumber)) + return "pageNumber: integer expected"; + return null; + }; + + /** + * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext + */ + ImageAnnotationContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext(); + if (object.uri != null) + message.uri = String(object.uri); + if (object.pageNumber != null) + message.pageNumber = object.pageNumber | 0; + return message; + }; + + /** + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p3beta1.ImageAnnotationContext} message ImageAnnotationContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageAnnotationContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.uri = ""; + object.pageNumber = 0; + } + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + object.pageNumber = message.pageNumber; + return object; + }; + + /** + * Converts this ImageAnnotationContext to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @instance + * @returns {Object.} JSON object + */ + ImageAnnotationContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageAnnotationContext; + })(); + + v1p3beta1.AnnotateImageResponse = (function() { + + /** + * Properties of an AnnotateImageResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [localizedObjectAnnotations] AnnotateImageResponse localizedObjectAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1p3beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1p3beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1p3beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1p3beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.cloud.vision.v1p3beta1.IProductSearchResults|null} [productSearchResults] AnnotateImageResponse productSearchResults + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + * @property {google.cloud.vision.v1p3beta1.IImageAnnotationContext|null} [context] AnnotateImageResponse context + */ + + /** + * Constructs a new AnnotateImageResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse=} [properties] Properties to set + */ + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.localizedObjectAnnotations = []; + this.textAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse localizedObjectAnnotations. + * @member {Array.} localizedObjectAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.localizedObjectAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1p3beta1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.fullTextAnnotation = null; + + /** + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.safeSearchAnnotation = null; + + /** + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1p3beta1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; + + /** + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1p3beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.cropHintsAnnotation = null; + + /** + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1p3beta1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.webDetection = null; + + /** + * AnnotateImageResponse productSearchResults. + * @member {google.cloud.vision.v1p3beta1.IProductSearchResults|null|undefined} productSearchResults + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.productSearchResults = null; + + /** + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.error = null; + + /** + * AnnotateImageResponse context. + * @member {google.cloud.vision.v1p3beta1.IImageAnnotationContext|null|undefined} context + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.context = null; + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse instance + */ + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); + }; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1p3beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1p3beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1p3beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + $root.google.cloud.vision.v1p3beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.context != null && message.hasOwnProperty("context")) + $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.encode(message.localizedObjectAnnotations[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 22: + if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) + message.localizedObjectAnnotations = []; + message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.decode(reader, reader.uint32()); + break; + case 14: + message.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.decode(reader, reader.uint32()); + break; + case 9: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 21: + message.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } + } + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); + if (error) + return "landmarkAnnotations." + error; + } + } + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.localizedObjectAnnotations != null && message.hasOwnProperty("localizedObjectAnnotations")) { + if (!Array.isArray(message.localizedObjectAnnotations)) + return "localizedObjectAnnotations: array expected"; + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify(message.localizedObjectAnnotations[i]); + if (error) + return "localizedObjectAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; + } + } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.verify(message.fullTextAnnotation); + if (error) + return "fullTextAnnotation." + error; + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); + if (error) + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.verify(message.productSearchResults); + if (error) + return "productSearchResults." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.context != null && message.hasOwnProperty("context")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify(message.context); + if (error) + return "context." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse + */ + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); + } + } + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.localizedObjectAnnotations) { + if (!Array.isArray(object.localizedObjectAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.localizedObjectAnnotations: array expected"); + message.localizedObjectAnnotations = []; + for (var i = 0; i < object.localizedObjectAnnotations.length; ++i) { + if (typeof object.localizedObjectAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.localizedObjectAnnotations: object expected"); + message.localizedObjectAnnotations[i] = $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.fromObject(object.localizedObjectAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.fromObject(object.webDetection); + } + if (object.productSearchResults != null) { + if (typeof object.productSearchResults !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.productSearchResults: object expected"); + message.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.fromObject(object.productSearchResults); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.context != null) { + if (typeof object.context !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.context: object expected"); + message.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.fromObject(object.context); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p3beta1.AnnotateImageResponse} message AnnotateImageResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; + object.localizedObjectAnnotations = []; + } + if (options.defaults) { + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; + object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; + object.productSearchResults = null; + object.context = null; + } + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.toObject(message.webDetection, options); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + object.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.toObject(message.productSearchResults, options); + if (message.context != null && message.hasOwnProperty("context")) + object.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.toObject(message.context, options); + if (message.localizedObjectAnnotations && message.localizedObjectAnnotations.length) { + object.localizedObjectAnnotations = []; + for (var j = 0; j < message.localizedObjectAnnotations.length; ++j) + object.localizedObjectAnnotations[j] = $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.toObject(message.localizedObjectAnnotations[j], options); + } + return object; + }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageResponse; + })(); + + v1p3beta1.AnnotateFileResponse = (function() { + + /** + * Properties of an AnnotateFileResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IAnnotateFileResponse + * @property {google.cloud.vision.v1p3beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig + * @property {Array.|null} [responses] AnnotateFileResponse responses + */ + + /** + * Constructs a new AnnotateFileResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an AnnotateFileResponse. + * @implements IAnnotateFileResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse=} [properties] Properties to set + */ + function AnnotateFileResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateFileResponse inputConfig. + * @member {google.cloud.vision.v1p3beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.inputConfig = null; + + /** + * AnnotateFileResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse instance + */ + AnnotateFileResponse.create = function create(properties) { + return new AnnotateFileResponse(properties); + }; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateFileResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateFileResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AnnotateFileResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateFileResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateFileResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p3beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse + */ + AnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AnnotateFileResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.AnnotateFileResponse(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateFileResponse.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateFileResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateFileResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p3beta1.AnnotateFileResponse} message AnnotateFileResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateFileResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (options.defaults) + object.inputConfig = null; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.toObject(message.inputConfig, options); + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this AnnotateFileResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateFileResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateFileResponse; + })(); + + v1p3beta1.BatchAnnotateImagesRequest = (function() { + + /** + * Properties of a BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + */ + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + */ + function BatchAnnotateImagesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @instance + */ + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + */ + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + */ + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.fromObject(object.requests[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.toObject(message.requests[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesRequest; + })(); + + v1p3beta1.BatchAnnotateImagesResponse = (function() { + + /** + * Properties of a BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + */ + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + */ + function BatchAnnotateImagesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @instance + */ + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + */ + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + */ + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesResponse; + })(); + + v1p3beta1.AsyncAnnotateFileRequest = (function() { + + /** + * Properties of an AsyncAnnotateFileRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IAsyncAnnotateFileRequest + * @property {google.cloud.vision.v1p3beta1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig + * @property {Array.|null} [features] AsyncAnnotateFileRequest features + * @property {google.cloud.vision.v1p3beta1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext + * @property {google.cloud.vision.v1p3beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig + */ + + /** + * Constructs a new AsyncAnnotateFileRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an AsyncAnnotateFileRequest. + * @implements IAsyncAnnotateFileRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + */ + function AsyncAnnotateFileRequest(properties) { + this.features = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncAnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1p3beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.inputConfig = null; + + /** + * AsyncAnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; + + /** + * AsyncAnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1p3beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.imageContext = null; + + /** + * AsyncAnnotateFileRequest outputConfig. + * @member {google.cloud.vision.v1p3beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance + */ + AsyncAnnotateFileRequest.create = function create(properties) { + return new AsyncAnnotateFileRequest(properties); + }; + + /** + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncAnnotateFileRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncAnnotateFileRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p3beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p3beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + */ + AsyncAnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p3beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.fromObject(object.imageContext); + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncAnnotateFileRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputConfig = null; + object.imageContext = null; + object.outputConfig = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p3beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.toObject(message.imageContext, options); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncAnnotateFileRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncAnnotateFileRequest; + })(); + + v1p3beta1.AsyncAnnotateFileResponse = (function() { + + /** + * Properties of an AsyncAnnotateFileResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IAsyncAnnotateFileResponse + * @property {google.cloud.vision.v1p3beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig + */ + + /** + * Constructs a new AsyncAnnotateFileResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an AsyncAnnotateFileResponse. + * @implements IAsyncAnnotateFileResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + */ + function AsyncAnnotateFileResponse(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]]; + } + + /** + * AsyncAnnotateFileResponse outputConfig. + * @member {google.cloud.vision.v1p3beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @instance + */ + AsyncAnnotateFileResponse.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance + */ + AsyncAnnotateFileResponse.create = function create(properties) { + return new AsyncAnnotateFileResponse(properties); + }; + + /** + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncAnnotateFileResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncAnnotateFileResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p3beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + */ + AsyncAnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncAnnotateFileResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncAnnotateFileResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncAnnotateFileResponse; + })(); + + v1p3beta1.AsyncBatchAnnotateFilesRequest = (function() { + + /** + * Properties of an AsyncBatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IAsyncBatchAnnotateFilesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests + */ + + /** + * Constructs a new AsyncBatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an AsyncBatchAnnotateFilesRequest. + * @implements IAsyncBatchAnnotateFilesRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + */ + function AsyncBatchAnnotateFilesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @instance + */ + AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + + /** + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance + */ + AsyncBatchAnnotateFilesRequest.create = function create(properties) { + return new AsyncBatchAnnotateFilesRequest(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateFilesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateFilesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + */ + AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); + } + return object; + }; + + /** + * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateFilesRequest; + })(); + + v1p3beta1.AsyncBatchAnnotateFilesResponse = (function() { + + /** + * Properties of an AsyncBatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IAsyncBatchAnnotateFilesResponse + * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses + */ + + /** + * Constructs a new AsyncBatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an AsyncBatchAnnotateFilesResponse. + * @implements IAsyncBatchAnnotateFilesResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + */ + function AsyncBatchAnnotateFilesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @instance + */ + AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance + */ + AsyncBatchAnnotateFilesResponse.create = function create(properties) { + return new AsyncBatchAnnotateFilesResponse(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateFilesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateFilesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + */ + AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateFilesResponse; + })(); + + v1p3beta1.InputConfig = (function() { + + /** + * Properties of an InputConfig. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IInputConfig + * @property {google.cloud.vision.v1p3beta1.IGcsSource|null} [gcsSource] InputConfig gcsSource + * @property {string|null} [mimeType] InputConfig mimeType + */ + + /** + * Constructs a new InputConfig. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an InputConfig. + * @implements IInputConfig + * @constructor + * @param {google.cloud.vision.v1p3beta1.IInputConfig=} [properties] Properties to set + */ + function InputConfig(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]]; + } + + /** + * InputConfig gcsSource. + * @member {google.cloud.vision.v1p3beta1.IGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @instance + */ + InputConfig.prototype.gcsSource = null; + + /** + * InputConfig mimeType. + * @member {string} mimeType + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @instance + */ + InputConfig.prototype.mimeType = ""; + + /** + * Creates a new InputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.IInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig instance + */ + InputConfig.create = function create(properties) { + return new InputConfig(properties); + }; + + /** + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.InputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1p3beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); + return writer; + }; + + /** + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.InputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an InputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.InputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.decode(reader, reader.uint32()); + break; + case 2: + message.mimeType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an InputConfig message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + InputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + var error = $root.google.cloud.vision.v1p3beta1.GcsSource.verify(message.gcsSource); + if (error) + return "gcsSource." + error; + } + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (!$util.isString(message.mimeType)) + return "mimeType: string expected"; + return null; + }; + + /** + * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig + */ + InputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.InputConfig) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.InputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.InputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.fromObject(object.gcsSource); + } + if (object.mimeType != null) + message.mimeType = String(object.mimeType); + return message; + }; + + /** + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.InputConfig} message InputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + InputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsSource = null; + object.mimeType = ""; + } + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + object.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.toObject(message.gcsSource, options); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + object.mimeType = message.mimeType; + return object; + }; + + /** + * Converts this InputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @instance + * @returns {Object.} JSON object + */ + InputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return InputConfig; + })(); + + v1p3beta1.OutputConfig = (function() { + + /** + * Properties of an OutputConfig. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IOutputConfig + * @property {google.cloud.vision.v1p3beta1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination + * @property {number|null} [batchSize] OutputConfig batchSize + */ + + /** + * Constructs a new OutputConfig. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an OutputConfig. + * @implements IOutputConfig + * @constructor + * @param {google.cloud.vision.v1p3beta1.IOutputConfig=} [properties] Properties to set + */ + function OutputConfig(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]]; + } + + /** + * OutputConfig gcsDestination. + * @member {google.cloud.vision.v1p3beta1.IGcsDestination|null|undefined} gcsDestination + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @instance + */ + OutputConfig.prototype.gcsDestination = null; + + /** + * OutputConfig batchSize. + * @member {number} batchSize + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @instance + */ + OutputConfig.prototype.batchSize = 0; + + /** + * Creates a new OutputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.IOutputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig instance + */ + OutputConfig.create = function create(properties) { + return new OutputConfig(properties); + }; + + /** + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.OutputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OutputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + $root.google.cloud.vision.v1p3beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); + return writer; + }; + + /** + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.OutputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OutputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OutputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.OutputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.decode(reader, reader.uint32()); + break; + case 2: + message.batchSize = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OutputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OutputConfig message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OutputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { + var error = $root.google.cloud.vision.v1p3beta1.GcsDestination.verify(message.gcsDestination); + if (error) + return "gcsDestination." + error; + } + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (!$util.isInteger(message.batchSize)) + return "batchSize: integer expected"; + return null; + }; + + /** + * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig + */ + OutputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.OutputConfig) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.OutputConfig(); + if (object.gcsDestination != null) { + if (typeof object.gcsDestination !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.OutputConfig.gcsDestination: object expected"); + message.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.fromObject(object.gcsDestination); + } + if (object.batchSize != null) + message.batchSize = object.batchSize | 0; + return message; + }; + + /** + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.OutputConfig} message OutputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OutputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsDestination = null; + object.batchSize = 0; + } + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + object.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.toObject(message.gcsDestination, options); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + object.batchSize = message.batchSize; + return object; + }; + + /** + * Converts this OutputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @instance + * @returns {Object.} JSON object + */ + OutputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OutputConfig; + })(); + + v1p3beta1.GcsSource = (function() { + + /** + * Properties of a GcsSource. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IGcsSource + * @property {string|null} [uri] GcsSource uri + */ + + /** + * Constructs a new GcsSource. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a GcsSource. + * @implements IGcsSource + * @constructor + * @param {google.cloud.vision.v1p3beta1.IGcsSource=} [properties] Properties to set + */ + function GcsSource(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]]; + } + + /** + * GcsSource uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @instance + */ + GcsSource.prototype.uri = ""; + + /** + * Creates a new GcsSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p3beta1.IGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource instance + */ + GcsSource.create = function create(properties) { + return new GcsSource(properties); + }; + + /** + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p3beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + return writer; + }; + + /** + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p3beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GcsSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.GcsSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GcsSource message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GcsSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + return null; + }; + + /** + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource + */ + GcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.GcsSource) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.GcsSource(); + if (object.uri != null) + message.uri = String(object.uri); + return message; + }; + + /** + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p3beta1.GcsSource} message GcsSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GcsSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + return object; + }; + + /** + * Converts this GcsSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @instance + * @returns {Object.} JSON object + */ + GcsSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GcsSource; + })(); + + v1p3beta1.GcsDestination = (function() { + + /** + * Properties of a GcsDestination. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IGcsDestination + * @property {string|null} [uri] GcsDestination uri + */ + + /** + * Constructs a new GcsDestination. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a GcsDestination. + * @implements IGcsDestination + * @constructor + * @param {google.cloud.vision.v1p3beta1.IGcsDestination=} [properties] Properties to set + */ + function GcsDestination(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]]; + } + + /** + * GcsDestination uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @instance + */ + GcsDestination.prototype.uri = ""; + + /** + * Creates a new GcsDestination instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p3beta1.IGcsDestination=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination instance + */ + GcsDestination.create = function create(properties) { + return new GcsDestination(properties); + }; + + /** + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsDestination.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p3beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + return writer; + }; + + /** + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsDestination.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p3beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GcsDestination message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.GcsDestination(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GcsDestination message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GcsDestination.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + return null; + }; + + /** + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination + */ + GcsDestination.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.GcsDestination) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.GcsDestination(); + if (object.uri != null) + message.uri = String(object.uri); + return message; + }; + + /** + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p3beta1.GcsDestination} message GcsDestination + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GcsDestination.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + return object; + }; + + /** + * Converts this GcsDestination to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @instance + * @returns {Object.} JSON object + */ + GcsDestination.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GcsDestination; + })(); + + /** + * Likelihood enum. + * @name google.cloud.vision.v1p3beta1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1p3beta1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1p3beta1.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IOperationMetadata + * @property {google.cloud.vision.v1p3beta1.OperationMetadata.State|null} [state] OperationMetadata state + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime + */ + + /** + * Constructs a new OperationMetadata. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.cloud.vision.v1p3beta1.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(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]]; + } + + /** + * OperationMetadata state. + * @member {google.cloud.vision.v1p3beta1.OperationMetadata.State} state + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.state = 0; + + /** + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.createTime = null; + + /** + * OperationMetadata updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.updateTime = null; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p3beta1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p3beta1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p3beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.createTime != null && message.hasOwnProperty("createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p3beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.OperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.state = reader.int32(); + break; + case 5: + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationMetadata message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.updateTime != null && message.hasOwnProperty("updateTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (error) + return "updateTime." + error; + } + return null; + }; + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.OperationMetadata) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.OperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "CREATED": + case 1: + message.state = 1; + break; + case "RUNNING": + case 2: + message.state = 2; + break; + case "DONE": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.OperationMetadata.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + return message; + }; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p3beta1.OperationMetadata} message OperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.createTime = null; + object.updateTime = null; + } + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1p3beta1.OperationMetadata.State[message.state] : message.state; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + return object; + }; + + /** + * Converts this OperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @instance + * @returns {Object.} JSON object + */ + OperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * State enum. + * @name google.cloud.vision.v1p3beta1.OperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} CREATED=1 CREATED value + * @property {number} RUNNING=2 RUNNING value + * @property {number} DONE=3 DONE value + * @property {number} CANCELLED=4 CANCELLED value + */ + OperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CREATED"] = 1; + values[valuesById[2] = "RUNNING"] = 2; + values[valuesById[3] = "DONE"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return OperationMetadata; + })(); + + v1p3beta1.Vertex = (function() { + + /** + * Properties of a Vertex. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y + */ + + /** + * Constructs a new Vertex. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Vertex. + * @implements IVertex + * @constructor + * @param {google.cloud.vision.v1p3beta1.IVertex=} [properties] Properties to set + */ + function Vertex(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]]; + } + + /** + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @instance + */ + Vertex.prototype.x = 0; + + /** + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @instance + */ + Vertex.prototype.y = 0; + + /** + * Creates a new Vertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {google.cloud.vision.v1p3beta1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex instance + */ + Vertex.create = function create(properties) { + return new Vertex(properties); + }; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {google.cloud.vision.v1p3beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + return writer; + }; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {google.cloud.vision.v1p3beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Vertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.int32(); + break; + case 2: + message.y = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Vertex message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Vertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; + return null; + }; + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex + */ + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Vertex) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; + return message; + }; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {google.cloud.vision.v1p3beta1.Vertex} message Vertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Vertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; + return object; + }; + + /** + * Converts this Vertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @instance + * @returns {Object.} JSON object + */ + Vertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Vertex; + })(); + + v1p3beta1.NormalizedVertex = (function() { + + /** + * Properties of a NormalizedVertex. + * @memberof google.cloud.vision.v1p3beta1 + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y + */ + + /** + * Constructs a new NormalizedVertex. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex + * @constructor + * @param {google.cloud.vision.v1p3beta1.INormalizedVertex=} [properties] Properties to set + */ + function NormalizedVertex(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]]; + } + + /** + * NormalizedVertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.x = 0; + + /** + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.y = 0; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p3beta1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex instance + */ + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); + }; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p3beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedVertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + return writer; + }; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p3beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedVertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.NormalizedVertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedVertex message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedVertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + return null; + }; + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex + */ + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.NormalizedVertex) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.NormalizedVertex(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + return message; + }; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p3beta1.NormalizedVertex} message NormalizedVertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedVertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + return object; + }; + + /** + * Converts this NormalizedVertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @instance + * @returns {Object.} JSON object + */ + NormalizedVertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedVertex; + })(); + + v1p3beta1.BoundingPoly = (function() { + + /** + * Properties of a BoundingPoly. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices + */ + + /** + * Constructs a new BoundingPoly. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly + * @constructor + * @param {google.cloud.vision.v1p3beta1.IBoundingPoly=} [properties] Properties to set + */ + function BoundingPoly(properties) { + this.vertices = []; + this.normalizedVertices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @instance + */ + BoundingPoly.prototype.vertices = $util.emptyArray; + + /** + * BoundingPoly normalizedVertices. + * @member {Array.} normalizedVertices + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @instance + */ + BoundingPoly.prototype.normalizedVertices = $util.emptyArray; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p3beta1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly instance + */ + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); + }; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p3beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p3beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.normalizedVertices != null && message.normalizedVertices.length) + for (var i = 0; i < message.normalizedVertices.length; ++i) + $root.google.cloud.vision.v1p3beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p3beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BoundingPoly(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p3beta1.Vertex.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoundingPoly message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoundingPoly.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Vertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } + if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { + if (!Array.isArray(message.normalizedVertices)) + return "normalizedVertices: array expected"; + for (var i = 0; i < message.normalizedVertices.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.verify(message.normalizedVertices[i]); + if (error) + return "normalizedVertices." + error; + } + } + return null; + }; + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly + */ + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.BoundingPoly) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p3beta1.Vertex.fromObject(object.vertices[i]); + } + } + if (object.normalizedVertices) { + if (!Array.isArray(object.normalizedVertices)) + throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.normalizedVertices: array expected"); + message.normalizedVertices = []; + for (var i = 0; i < object.normalizedVertices.length; ++i) { + if (typeof object.normalizedVertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.normalizedVertices: object expected"); + message.normalizedVertices[i] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p3beta1.BoundingPoly} message BoundingPoly + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoundingPoly.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.vertices = []; + object.normalizedVertices = []; + } + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p3beta1.Vertex.toObject(message.vertices[j], options); + } + if (message.normalizedVertices && message.normalizedVertices.length) { + object.normalizedVertices = []; + for (var j = 0; j < message.normalizedVertices.length; ++j) + object.normalizedVertices[j] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); + } + return object; + }; + + /** + * Converts this BoundingPoly to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @instance + * @returns {Object.} JSON object + */ + BoundingPoly.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoundingPoly; + })(); + + v1p3beta1.NormalizedBoundingPoly = (function() { + + /** + * Properties of a NormalizedBoundingPoly. + * @memberof google.cloud.vision.v1p3beta1 + * @interface INormalizedBoundingPoly + * @property {Array.|null} [vertices] NormalizedBoundingPoly vertices + */ + + /** + * Constructs a new NormalizedBoundingPoly. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a NormalizedBoundingPoly. + * @implements INormalizedBoundingPoly + * @constructor + * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly=} [properties] Properties to set + */ + function NormalizedBoundingPoly(properties) { + this.vertices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NormalizedBoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @instance + */ + NormalizedBoundingPoly.prototype.vertices = $util.emptyArray; + + /** + * Creates a new NormalizedBoundingPoly instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly instance + */ + NormalizedBoundingPoly.create = function create(properties) { + return new NormalizedBoundingPoly(properties); + }; + + /** + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingPoly.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p3beta1.NormalizedVertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedBoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedBoundingPoly message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingPoly.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedBoundingPoly.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedBoundingPoly message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedBoundingPoly.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } + return null; + }; + + /** + * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly + */ + NormalizedBoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.fromObject(object.vertices[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @static + * @param {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} message NormalizedBoundingPoly + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedBoundingPoly.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.vertices = []; + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.toObject(message.vertices[j], options); + } + return object; + }; + + /** + * Converts this NormalizedBoundingPoly to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @instance + * @returns {Object.} JSON object + */ + NormalizedBoundingPoly.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedBoundingPoly; + })(); + + v1p3beta1.Position = (function() { + + /** + * Properties of a Position. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z + */ + + /** + * Constructs a new Position. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Position. + * @implements IPosition + * @constructor + * @param {google.cloud.vision.v1p3beta1.IPosition=} [properties] Properties to set + */ + function Position(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]]; + } + + /** + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1p3beta1.Position + * @instance + */ + Position.prototype.x = 0; + + /** + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1p3beta1.Position + * @instance + */ + Position.prototype.y = 0; + + /** + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1p3beta1.Position + * @instance + */ + Position.prototype.z = 0; + + /** + * Creates a new Position instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {google.cloud.vision.v1p3beta1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Position} Position instance + */ + Position.create = function create(properties) { + return new Position(properties); + }; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {google.cloud.vision.v1p3beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + return writer; + }; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {google.cloud.vision.v1p3beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Position message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Position(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + case 3: + message.z = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Position message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Position.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; + return null; + }; + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Position} Position + */ + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Position) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); + return message; + }; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {google.cloud.vision.v1p3beta1.Position} message Position + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Position.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + object.z = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + return object; + }; + + /** + * Converts this Position to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Position + * @instance + * @returns {Object.} JSON object + */ + Position.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Position; + })(); + + v1p3beta1.ProductSearchParams = (function() { + + /** + * Properties of a ProductSearchParams. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IProductSearchParams + * @property {string|null} [catalogName] ProductSearchParams catalogName + * @property {google.cloud.vision.v1p3beta1.ProductSearchCategory|null} [category] ProductSearchParams category + * @property {string|null} [productCategory] ProductSearchParams productCategory + * @property {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly|null} [normalizedBoundingPoly] ProductSearchParams normalizedBoundingPoly + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] ProductSearchParams boundingPoly + * @property {google.cloud.vision.v1p3beta1.ProductSearchResultsView|null} [view] ProductSearchParams view + * @property {string|null} [productSet] ProductSearchParams productSet + * @property {Array.|null} [productCategories] ProductSearchParams productCategories + * @property {string|null} [filter] ProductSearchParams filter + */ + + /** + * Constructs a new ProductSearchParams. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ProductSearchParams. + * @implements IProductSearchParams + * @constructor + * @param {google.cloud.vision.v1p3beta1.IProductSearchParams=} [properties] Properties to set + */ + function ProductSearchParams(properties) { + this.productCategories = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductSearchParams catalogName. + * @member {string} catalogName + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.catalogName = ""; + + /** + * ProductSearchParams category. + * @member {google.cloud.vision.v1p3beta1.ProductSearchCategory} category + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.category = 0; + + /** + * ProductSearchParams productCategory. + * @member {string} productCategory + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.productCategory = ""; + + /** + * ProductSearchParams normalizedBoundingPoly. + * @member {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly|null|undefined} normalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.normalizedBoundingPoly = null; + + /** + * ProductSearchParams boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.boundingPoly = null; + + /** + * ProductSearchParams view. + * @member {google.cloud.vision.v1p3beta1.ProductSearchResultsView} view + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.view = 0; + + /** + * ProductSearchParams productSet. + * @member {string} productSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.productSet = ""; + + /** + * ProductSearchParams productCategories. + * @member {Array.} productCategories + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.productCategories = $util.emptyArray; + + /** + * ProductSearchParams filter. + * @member {string} filter + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.filter = ""; + + /** + * Creates a new ProductSearchParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p3beta1.IProductSearchParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ProductSearchParams} ProductSearchParams instance + */ + ProductSearchParams.create = function create(properties) { + return new ProductSearchParams(properties); + }; + + /** + * Encodes the specified ProductSearchParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p3beta1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.catalogName != null && message.hasOwnProperty("catalogName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.catalogName); + if (message.category != null && message.hasOwnProperty("category")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.category); + if (message.normalizedBoundingPoly != null && message.hasOwnProperty("normalizedBoundingPoly")) + $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.encode(message.normalizedBoundingPoly, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.view != null && message.hasOwnProperty("view")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.view); + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.productCategory); + if (message.productSet != null && message.hasOwnProperty("productSet")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); + if (message.productCategories != null && message.productCategories.length) + for (var i = 0; i < message.productCategories.length; ++i) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); + if (message.filter != null && message.hasOwnProperty("filter")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSearchParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p3beta1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ProductSearchParams} ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ProductSearchParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.catalogName = reader.string(); + break; + case 2: + message.category = reader.int32(); + break; + case 5: + message.productCategory = reader.string(); + break; + case 3: + message.normalizedBoundingPoly = $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.decode(reader, reader.uint32()); + break; + case 9: + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 4: + message.view = reader.int32(); + break; + case 6: + message.productSet = reader.string(); + break; + case 7: + if (!(message.productCategories && message.productCategories.length)) + message.productCategories = []; + message.productCategories.push(reader.string()); + break; + case 8: + message.filter = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ProductSearchParams} ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSearchParams message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSearchParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.catalogName != null && message.hasOwnProperty("catalogName")) + if (!$util.isString(message.catalogName)) + return "catalogName: string expected"; + if (message.category != null && message.hasOwnProperty("category")) + switch (message.category) { + default: + return "category: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (!$util.isString(message.productCategory)) + return "productCategory: string expected"; + if (message.normalizedBoundingPoly != null && message.hasOwnProperty("normalizedBoundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify(message.normalizedBoundingPoly); + if (error) + return "normalizedBoundingPoly." + error; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.view != null && message.hasOwnProperty("view")) + switch (message.view) { + default: + return "view: enum value expected"; + case 0: + case 1: + break; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + if (!$util.isString(message.productSet)) + return "productSet: string expected"; + if (message.productCategories != null && message.hasOwnProperty("productCategories")) { + if (!Array.isArray(message.productCategories)) + return "productCategories: array expected"; + for (var i = 0; i < message.productCategories.length; ++i) + if (!$util.isString(message.productCategories[i])) + return "productCategories: string[] expected"; + } + if (message.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: string expected"; + return null; + }; + + /** + * Creates a ProductSearchParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ProductSearchParams} ProductSearchParams + */ + ProductSearchParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSearchParams) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ProductSearchParams(); + if (object.catalogName != null) + message.catalogName = String(object.catalogName); + switch (object.category) { + case "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED": + case 0: + message.category = 0; + break; + case "SHOES": + case 1: + message.category = 1; + break; + case "BAGS": + case 2: + message.category = 2; + break; + } + if (object.productCategory != null) + message.productCategory = String(object.productCategory); + if (object.normalizedBoundingPoly != null) { + if (typeof object.normalizedBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchParams.normalizedBoundingPoly: object expected"); + message.normalizedBoundingPoly = $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.fromObject(object.normalizedBoundingPoly); + } + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchParams.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); + } + switch (object.view) { + case "BASIC": + case 0: + message.view = 0; + break; + case "FULL": + case 1: + message.view = 1; + break; + } + if (object.productSet != null) + message.productSet = String(object.productSet); + if (object.productCategories) { + if (!Array.isArray(object.productCategories)) + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchParams.productCategories: array expected"); + message.productCategories = []; + for (var i = 0; i < object.productCategories.length; ++i) + message.productCategories[i] = String(object.productCategories[i]); + } + if (object.filter != null) + message.filter = String(object.filter); + return message; + }; + + /** + * Creates a plain object from a ProductSearchParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchParams} message ProductSearchParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSearchParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productCategories = []; + if (options.defaults) { + object.catalogName = ""; + object.category = options.enums === String ? "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED" : 0; + object.normalizedBoundingPoly = null; + object.view = options.enums === String ? "BASIC" : 0; + object.productCategory = ""; + object.productSet = ""; + object.filter = ""; + object.boundingPoly = null; + } + if (message.catalogName != null && message.hasOwnProperty("catalogName")) + object.catalogName = message.catalogName; + if (message.category != null && message.hasOwnProperty("category")) + object.category = options.enums === String ? $root.google.cloud.vision.v1p3beta1.ProductSearchCategory[message.category] : message.category; + if (message.normalizedBoundingPoly != null && message.hasOwnProperty("normalizedBoundingPoly")) + object.normalizedBoundingPoly = $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.toObject(message.normalizedBoundingPoly, options); + if (message.view != null && message.hasOwnProperty("view")) + object.view = options.enums === String ? $root.google.cloud.vision.v1p3beta1.ProductSearchResultsView[message.view] : message.view; + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + object.productCategory = message.productCategory; + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = message.productSet; + if (message.productCategories && message.productCategories.length) { + object.productCategories = []; + for (var j = 0; j < message.productCategories.length; ++j) + object.productCategories[j] = message.productCategories[j]; + } + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); + return object; + }; + + /** + * Converts this ProductSearchParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @instance + * @returns {Object.} JSON object + */ + ProductSearchParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProductSearchParams; + })(); + + v1p3beta1.ProductSearchResults = (function() { + + /** + * Properties of a ProductSearchResults. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IProductSearchResults + * @property {google.cloud.vision.v1p3beta1.ProductSearchCategory|null} [category] ProductSearchResults category + * @property {string|null} [productCategory] ProductSearchResults productCategory + * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSearchResults indexTime + * @property {Array.|null} [products] ProductSearchResults products + * @property {Array.|null} [results] ProductSearchResults results + */ + + /** + * Constructs a new ProductSearchResults. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ProductSearchResults. + * @implements IProductSearchResults + * @constructor + * @param {google.cloud.vision.v1p3beta1.IProductSearchResults=} [properties] Properties to set + */ + function ProductSearchResults(properties) { + this.products = []; + this.results = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductSearchResults category. + * @member {google.cloud.vision.v1p3beta1.ProductSearchCategory} category + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.category = 0; + + /** + * ProductSearchResults productCategory. + * @member {string} productCategory + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.productCategory = ""; + + /** + * ProductSearchResults indexTime. + * @member {google.protobuf.ITimestamp|null|undefined} indexTime + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.indexTime = null; + + /** + * ProductSearchResults products. + * @member {Array.} products + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.products = $util.emptyArray; + + /** + * ProductSearchResults results. + * @member {Array.} results + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.results = $util.emptyArray; + + /** + * Creates a new ProductSearchResults instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p3beta1.IProductSearchResults=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults} ProductSearchResults instance + */ + ProductSearchResults.create = function create(properties) { + return new ProductSearchResults(properties); + }; + + /** + * Encodes the specified ProductSearchResults message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p3beta1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.category != null && message.hasOwnProperty("category")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.category); + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.encode(message.products[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); + if (message.results != null && message.results.length) + for (var i = 0; i < message.results.length; ++i) + $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSearchResults message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p3beta1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults} ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.category = reader.int32(); + break; + case 4: + message.productCategory = reader.string(); + break; + case 2: + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults} ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSearchResults message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSearchResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.category != null && message.hasOwnProperty("category")) + switch (message.category) { + default: + return "category: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (!$util.isString(message.productCategory)) + return "productCategory: string expected"; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.indexTime); + if (error) + return "indexTime." + error; + } + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify(message.products[i]); + if (error) + return "products." + error; + } + } + if (message.results != null && message.hasOwnProperty("results")) { + if (!Array.isArray(message.results)) + return "results: array expected"; + for (var i = 0; i < message.results.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify(message.results[i]); + if (error) + return "results." + error; + } + } + return null; + }; + + /** + * Creates a ProductSearchResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults} ProductSearchResults + */ + ProductSearchResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSearchResults) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults(); + switch (object.category) { + case "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED": + case 0: + message.category = 0; + break; + case "SHOES": + case 1: + message.category = 1; + break; + case "BAGS": + case 2: + message.category = 2; + break; + } + if (object.productCategory != null) + message.productCategory = String(object.productCategory); + if (object.indexTime != null) { + if (typeof object.indexTime !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.indexTime: object expected"); + message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); + } + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.products: object expected"); + message.products[i] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.fromObject(object.products[i]); + } + } + if (object.results) { + if (!Array.isArray(object.results)) + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.results: array expected"); + message.results = []; + for (var i = 0; i < object.results.length; ++i) { + if (typeof object.results[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.results: object expected"); + message.results[i] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.fromObject(object.results[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ProductSearchResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults} message ProductSearchResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSearchResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.products = []; + object.results = []; + } + if (options.defaults) { + object.category = options.enums === String ? "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED" : 0; + object.indexTime = null; + object.productCategory = ""; + } + if (message.category != null && message.hasOwnProperty("category")) + object.category = options.enums === String ? $root.google.cloud.vision.v1p3beta1.ProductSearchCategory[message.category] : message.category; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.toObject(message.products[j], options); + } + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + object.productCategory = message.productCategory; + if (message.results && message.results.length) { + object.results = []; + for (var j = 0; j < message.results.length; ++j) + object.results[j] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.toObject(message.results[j], options); + } + return object; + }; + + /** + * Converts this ProductSearchResults to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @instance + * @returns {Object.} JSON object + */ + ProductSearchResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + ProductSearchResults.ProductInfo = (function() { + + /** + * Properties of a ProductInfo. + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @interface IProductInfo + * @property {string|null} [productId] ProductInfo productId + * @property {string|null} [imageUri] ProductInfo imageUri + * @property {number|null} [score] ProductInfo score + */ + + /** + * Constructs a new ProductInfo. + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @classdesc Represents a ProductInfo. + * @implements IProductInfo + * @constructor + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo=} [properties] Properties to set + */ + function ProductInfo(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]]; + } + + /** + * ProductInfo productId. + * @member {string} productId + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @instance + */ + ProductInfo.prototype.productId = ""; + + /** + * ProductInfo imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @instance + */ + ProductInfo.prototype.imageUri = ""; + + /** + * ProductInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @instance + */ + ProductInfo.prototype.score = 0; + + /** + * Creates a new ProductInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} ProductInfo instance + */ + ProductInfo.create = function create(properties) { + return new ProductInfo(properties); + }; + + /** + * Encodes the specified ProductInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo} message ProductInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productId != null && message.hasOwnProperty("productId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.productId); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.score); + return writer; + }; + + /** + * Encodes the specified ProductInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo} message ProductInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} ProductInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.productId = reader.string(); + break; + case 2: + message.imageUri = reader.string(); + break; + case 3: + message.score = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} ProductInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductInfo message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.productId != null && message.hasOwnProperty("productId")) + if (!$util.isString(message.productId)) + return "productId: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + return null; + }; + + /** + * Creates a ProductInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} ProductInfo + */ + ProductInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo(); + if (object.productId != null) + message.productId = String(object.productId); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); + if (object.score != null) + message.score = Number(object.score); + return message; + }; + + /** + * Creates a plain object from a ProductInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} message ProductInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.productId = ""; + object.imageUri = ""; + object.score = 0; + } + if (message.productId != null && message.hasOwnProperty("productId")) + object.productId = message.productId; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + return object; + }; + + /** + * Converts this ProductInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo + * @instance + * @returns {Object.} JSON object + */ + ProductInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProductInfo; + })(); + + ProductSearchResults.Result = (function() { + + /** + * Properties of a Result. + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @interface IResult + * @property {google.cloud.vision.v1p3beta1.IProduct|null} [product] Result product + * @property {number|null} [score] Result score + * @property {string|null} [image] Result image + */ + + /** + * Constructs a new Result. + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @classdesc Represents a Result. + * @implements IResult + * @constructor + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IResult=} [properties] Properties to set + */ + function Result(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]]; + } + + /** + * Result product. + * @member {google.cloud.vision.v1p3beta1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @instance + */ + Result.prototype.product = null; + + /** + * Result score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @instance + */ + Result.prototype.score = 0; + + /** + * Result image. + * @member {string} image + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @instance + */ + Result.prototype.image = ""; + + /** + * Creates a new Result instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.Result} Result instance + */ + Result.create = function create(properties) { + return new Result(properties); + }; + + /** + * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Result.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.image != null && message.hasOwnProperty("image")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); + return writer; + }; + + /** + * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Result.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Result message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.Result} Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Result.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.product = $root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.image = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Result message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.Result} Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Result.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Result message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Result.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1p3beta1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.image != null && message.hasOwnProperty("image")) + if (!$util.isString(message.image)) + return "image: string expected"; + return null; + }; + + /** + * Creates a Result message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.Result} Result + */ + Result.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result(); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.Result.product: object expected"); + message.product = $root.google.cloud.vision.v1p3beta1.Product.fromObject(object.product); + } + if (object.score != null) + message.score = Number(object.score); + if (object.image != null) + message.image = String(object.image); + return message; + }; + + /** + * Creates a plain object from a Result message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.Result} message Result + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Result.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.product = null; + object.score = 0; + object.image = ""; + } + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1p3beta1.Product.toObject(message.product, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.image != null && message.hasOwnProperty("image")) + object.image = message.image; + return object; + }; + + /** + * Converts this Result to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @instance + * @returns {Object.} JSON object + */ + Result.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Result; + })(); + + return ProductSearchResults; + })(); + + /** + * ProductSearchCategory enum. + * @name google.cloud.vision.v1p3beta1.ProductSearchCategory + * @enum {string} + * @property {number} PRODUCT_SEARCH_CATEGORY_UNSPECIFIED=0 PRODUCT_SEARCH_CATEGORY_UNSPECIFIED value + * @property {number} SHOES=1 SHOES value + * @property {number} BAGS=2 BAGS value + */ + v1p3beta1.ProductSearchCategory = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHOES"] = 1; + values[valuesById[2] = "BAGS"] = 2; + return values; + })(); + + /** + * ProductSearchResultsView enum. + * @name google.cloud.vision.v1p3beta1.ProductSearchResultsView + * @enum {string} + * @property {number} BASIC=0 BASIC value + * @property {number} FULL=1 FULL value + */ + v1p3beta1.ProductSearchResultsView = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "BASIC"] = 0; + values[valuesById[1] = "FULL"] = 1; + return values; + })(); + + v1p3beta1.ProductSearch = (function() { + + /** + * Constructs a new ProductSearch service. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ProductSearch + * @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 ProductSearch(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ProductSearch.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductSearch; + + /** + * Creates new ProductSearch service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @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 {ProductSearch} RPC service. Useful where requests and/or responses are streamed. + */ + ProductSearch.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createProductSet}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef CreateProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.ProductSet} [response] ProductSet + */ + + /** + * Calls CreateProductSet. + * @function createProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.CreateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createProductSet = function createProductSet(request, callback) { + return this.rpcCall(createProductSet, $root.google.cloud.vision.v1p3beta1.CreateProductSetRequest, $root.google.cloud.vision.v1p3beta1.ProductSet, request, callback); + }, "name", { value: "CreateProductSet" }); + + /** + * Calls CreateProductSet. + * @function createProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProductSets}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef ListProductSetsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.ListProductSetsResponse} [response] ListProductSetsResponse + */ + + /** + * Calls ListProductSets. + * @function listProductSets + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IListProductSetsRequest} request ListProductSetsRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.ListProductSetsCallback} callback Node-style callback called with the error, if any, and ListProductSetsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProductSets = function listProductSets(request, callback) { + return this.rpcCall(listProductSets, $root.google.cloud.vision.v1p3beta1.ListProductSetsRequest, $root.google.cloud.vision.v1p3beta1.ListProductSetsResponse, request, callback); + }, "name", { value: "ListProductSets" }); + + /** + * Calls ListProductSets. + * @function listProductSets + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IListProductSetsRequest} request ListProductSetsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getProductSet}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef GetProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.ProductSet} [response] ProductSet + */ + + /** + * Calls GetProductSet. + * @function getProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IGetProductSetRequest} request GetProductSetRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.GetProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getProductSet = function getProductSet(request, callback) { + return this.rpcCall(getProductSet, $root.google.cloud.vision.v1p3beta1.GetProductSetRequest, $root.google.cloud.vision.v1p3beta1.ProductSet, request, callback); + }, "name", { value: "GetProductSet" }); + + /** + * Calls GetProductSet. + * @function getProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IGetProductSetRequest} request GetProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#updateProductSet}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef UpdateProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.ProductSet} [response] ProductSet + */ + + /** + * Calls UpdateProductSet. + * @function updateProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.updateProductSet = function updateProductSet(request, callback) { + return this.rpcCall(updateProductSet, $root.google.cloud.vision.v1p3beta1.UpdateProductSetRequest, $root.google.cloud.vision.v1p3beta1.ProductSet, request, callback); + }, "name", { value: "UpdateProductSet" }); + + /** + * Calls UpdateProductSet. + * @function updateProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteProductSet}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef DeleteProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteProductSet. + * @function deleteProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteProductSet = function deleteProductSet(request, callback) { + return this.rpcCall(deleteProductSet, $root.google.cloud.vision.v1p3beta1.DeleteProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteProductSet" }); + + /** + * Calls DeleteProductSet. + * @function deleteProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createProduct}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef CreateProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.Product} [response] Product + */ + + /** + * Calls CreateProduct. + * @function createProduct + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.ICreateProductRequest} request CreateProductRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.CreateProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createProduct = function createProduct(request, callback) { + return this.rpcCall(createProduct, $root.google.cloud.vision.v1p3beta1.CreateProductRequest, $root.google.cloud.vision.v1p3beta1.Product, request, callback); + }, "name", { value: "CreateProduct" }); + + /** + * Calls CreateProduct. + * @function createProduct + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.ICreateProductRequest} request CreateProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProducts}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef ListProductsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.ListProductsResponse} [response] ListProductsResponse + */ + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IListProductsRequest} request ListProductsRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.ListProductsCallback} callback Node-style callback called with the error, if any, and ListProductsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProducts = function listProducts(request, callback) { + return this.rpcCall(listProducts, $root.google.cloud.vision.v1p3beta1.ListProductsRequest, $root.google.cloud.vision.v1p3beta1.ListProductsResponse, request, callback); + }, "name", { value: "ListProducts" }); + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IListProductsRequest} request ListProductsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getProduct}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef GetProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.Product} [response] Product + */ + + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IGetProductRequest} request GetProductRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.GetProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getProduct = function getProduct(request, callback) { + return this.rpcCall(getProduct, $root.google.cloud.vision.v1p3beta1.GetProductRequest, $root.google.cloud.vision.v1p3beta1.Product, request, callback); + }, "name", { value: "GetProduct" }); + + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IGetProductRequest} request GetProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#updateProduct}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef UpdateProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.Product} [response] Product + */ + + /** + * Calls UpdateProduct. + * @function updateProduct + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IUpdateProductRequest} request UpdateProductRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.updateProduct = function updateProduct(request, callback) { + return this.rpcCall(updateProduct, $root.google.cloud.vision.v1p3beta1.UpdateProductRequest, $root.google.cloud.vision.v1p3beta1.Product, request, callback); + }, "name", { value: "UpdateProduct" }); + + /** + * Calls UpdateProduct. + * @function updateProduct + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IUpdateProductRequest} request UpdateProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteProduct}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef DeleteProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteProduct. + * @function deleteProduct + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IDeleteProductRequest} request DeleteProductRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteProduct = function deleteProduct(request, callback) { + return this.rpcCall(deleteProduct, $root.google.cloud.vision.v1p3beta1.DeleteProductRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteProduct" }); + + /** + * Calls DeleteProduct. + * @function deleteProduct + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IDeleteProductRequest} request DeleteProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createReferenceImage}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef CreateReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.ReferenceImage} [response] ReferenceImage + */ + + /** + * Calls CreateReferenceImage. + * @function createReferenceImage + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.CreateReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createReferenceImage = function createReferenceImage(request, callback) { + return this.rpcCall(createReferenceImage, $root.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest, $root.google.cloud.vision.v1p3beta1.ReferenceImage, request, callback); + }, "name", { value: "CreateReferenceImage" }); + + /** + * Calls CreateReferenceImage. + * @function createReferenceImage + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteReferenceImage}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef DeleteReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteReferenceImage. + * @function deleteReferenceImage + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.DeleteReferenceImageCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteReferenceImage = function deleteReferenceImage(request, callback) { + return this.rpcCall(deleteReferenceImage, $root.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteReferenceImage" }); + + /** + * Calls DeleteReferenceImage. + * @function deleteReferenceImage + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listReferenceImages}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef ListReferenceImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.ListReferenceImagesResponse} [response] ListReferenceImagesResponse + */ + + /** + * Calls ListReferenceImages. + * @function listReferenceImages + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.ListReferenceImagesCallback} callback Node-style callback called with the error, if any, and ListReferenceImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listReferenceImages = function listReferenceImages(request, callback) { + return this.rpcCall(listReferenceImages, $root.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest, $root.google.cloud.vision.v1p3beta1.ListReferenceImagesResponse, request, callback); + }, "name", { value: "ListReferenceImages" }); + + /** + * Calls ListReferenceImages. + * @function listReferenceImages + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getReferenceImage}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef GetReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.ReferenceImage} [response] ReferenceImage + */ + + /** + * Calls GetReferenceImage. + * @function getReferenceImage + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.GetReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getReferenceImage = function getReferenceImage(request, callback) { + return this.rpcCall(getReferenceImage, $root.google.cloud.vision.v1p3beta1.GetReferenceImageRequest, $root.google.cloud.vision.v1p3beta1.ReferenceImage, request, callback); + }, "name", { value: "GetReferenceImage" }); + + /** + * Calls GetReferenceImage. + * @function getReferenceImage + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#addProductToProductSet}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef AddProductToProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls AddProductToProductSet. + * @function addProductToProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.AddProductToProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.addProductToProductSet = function addProductToProductSet(request, callback) { + return this.rpcCall(addProductToProductSet, $root.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "AddProductToProductSet" }); + + /** + * Calls AddProductToProductSet. + * @function addProductToProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#removeProductFromProductSet}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef RemoveProductFromProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls RemoveProductFromProductSet. + * @function removeProductFromProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.RemoveProductFromProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.removeProductFromProductSet = function removeProductFromProductSet(request, callback) { + return this.rpcCall(removeProductFromProductSet, $root.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "RemoveProductFromProductSet" }); + + /** + * Calls RemoveProductFromProductSet. + * @function removeProductFromProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProductsInProductSet}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef ListProductsInProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse} [response] ListProductsInProductSetResponse + */ + + /** + * Calls ListProductsInProductSet. + * @function listProductsInProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.ListProductsInProductSetCallback} callback Node-style callback called with the error, if any, and ListProductsInProductSetResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProductsInProductSet = function listProductsInProductSet(request, callback) { + return this.rpcCall(listProductsInProductSet, $root.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest, $root.google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse, request, callback); + }, "name", { value: "ListProductsInProductSet" }); + + /** + * Calls ListProductsInProductSet. + * @function listProductsInProductSet + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#importProductSets}. + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @typedef ImportProductSetsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ImportProductSets. + * @function importProductSets + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ProductSearch.ImportProductSetsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.importProductSets = function importProductSets(request, callback) { + return this.rpcCall(importProductSets, $root.google.cloud.vision.v1p3beta1.ImportProductSetsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ImportProductSets" }); + + /** + * Calls ImportProductSets. + * @function importProductSets + * @memberof google.cloud.vision.v1p3beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ProductSearch; + })(); + + v1p3beta1.Product = (function() { + + /** + * Properties of a Product. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IProduct + * @property {string|null} [name] Product name + * @property {string|null} [displayName] Product displayName + * @property {string|null} [description] Product description + * @property {string|null} [productCategory] Product productCategory + * @property {Array.|null} [productLabels] Product productLabels + */ + + /** + * Constructs a new Product. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Product. + * @implements IProduct + * @constructor + * @param {google.cloud.vision.v1p3beta1.IProduct=} [properties] Properties to set + */ + function Product(properties) { + this.productLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Product name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.Product + * @instance + */ + Product.prototype.name = ""; + + /** + * Product displayName. + * @member {string} displayName + * @memberof google.cloud.vision.v1p3beta1.Product + * @instance + */ + Product.prototype.displayName = ""; + + /** + * Product description. + * @member {string} description + * @memberof google.cloud.vision.v1p3beta1.Product + * @instance + */ + Product.prototype.description = ""; + + /** + * Product productCategory. + * @member {string} productCategory + * @memberof google.cloud.vision.v1p3beta1.Product + * @instance + */ + Product.prototype.productCategory = ""; + + /** + * Product productLabels. + * @member {Array.} productLabels + * @memberof google.cloud.vision.v1p3beta1.Product + * @instance + */ + Product.prototype.productLabels = $util.emptyArray; + + /** + * Creates a new Product instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Product + * @static + * @param {google.cloud.vision.v1p3beta1.IProduct=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Product} Product instance + */ + Product.create = function create(properties) { + return new Product(properties); + }; + + /** + * Encodes the specified Product message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Product.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Product + * @static + * @param {google.cloud.vision.v1p3beta1.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Product.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && message.hasOwnProperty("displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); + if (message.productLabels != null && message.productLabels.length) + for (var i = 0; i < message.productLabels.length; ++i) + $root.google.cloud.vision.v1p3beta1.Product.KeyValue.encode(message.productLabels[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Product.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Product + * @static + * @param {google.cloud.vision.v1p3beta1.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Product.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Product message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Product.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Product(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.displayName = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.productCategory = reader.string(); + break; + case 5: + if (!(message.productLabels && message.productLabels.length)) + message.productLabels = []; + message.productLabels.push($root.google.cloud.vision.v1p3beta1.Product.KeyValue.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Product message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Product.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Product message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Product + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Product.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (!$util.isString(message.productCategory)) + return "productCategory: string expected"; + if (message.productLabels != null && message.hasOwnProperty("productLabels")) { + if (!Array.isArray(message.productLabels)) + return "productLabels: array expected"; + for (var i = 0; i < message.productLabels.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Product.KeyValue.verify(message.productLabels[i]); + if (error) + return "productLabels." + error; + } + } + return null; + }; + + /** + * Creates a Product message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Product + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Product} Product + */ + Product.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Product) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Product(); + if (object.name != null) + message.name = String(object.name); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.description != null) + message.description = String(object.description); + if (object.productCategory != null) + message.productCategory = String(object.productCategory); + if (object.productLabels) { + if (!Array.isArray(object.productLabels)) + throw TypeError(".google.cloud.vision.v1p3beta1.Product.productLabels: array expected"); + message.productLabels = []; + for (var i = 0; i < object.productLabels.length; ++i) { + if (typeof object.productLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Product.productLabels: object expected"); + message.productLabels[i] = $root.google.cloud.vision.v1p3beta1.Product.KeyValue.fromObject(object.productLabels[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Product message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Product + * @static + * @param {google.cloud.vision.v1p3beta1.Product} message Product + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Product.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productLabels = []; + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.description = ""; + object.productCategory = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + object.productCategory = message.productCategory; + if (message.productLabels && message.productLabels.length) { + object.productLabels = []; + for (var j = 0; j < message.productLabels.length; ++j) + object.productLabels[j] = $root.google.cloud.vision.v1p3beta1.Product.KeyValue.toObject(message.productLabels[j], options); + } + return object; + }; + + /** + * Converts this Product to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Product + * @instance + * @returns {Object.} JSON object + */ + Product.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + Product.KeyValue = (function() { + + /** + * Properties of a KeyValue. + * @memberof google.cloud.vision.v1p3beta1.Product + * @interface IKeyValue + * @property {string|null} [key] KeyValue key + * @property {string|null} [value] KeyValue value + */ + + /** + * Constructs a new KeyValue. + * @memberof google.cloud.vision.v1p3beta1.Product + * @classdesc Represents a KeyValue. + * @implements IKeyValue + * @constructor + * @param {google.cloud.vision.v1p3beta1.Product.IKeyValue=} [properties] Properties to set + */ + function KeyValue(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]]; + } + + /** + * KeyValue key. + * @member {string} key + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @instance + */ + KeyValue.prototype.key = ""; + + /** + * KeyValue value. + * @member {string} value + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @instance + */ + KeyValue.prototype.value = ""; + + /** + * Creates a new KeyValue instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p3beta1.Product.IKeyValue=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Product.KeyValue} KeyValue instance + */ + KeyValue.create = function create(properties) { + return new KeyValue(properties); + }; + + /** + * Encodes the specified KeyValue message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Product.KeyValue.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p3beta1.Product.IKeyValue} message KeyValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && message.hasOwnProperty("key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + return writer; + }; + + /** + * Encodes the specified KeyValue message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Product.KeyValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p3beta1.Product.IKeyValue} message KeyValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a KeyValue message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Product.KeyValue} KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Product.KeyValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a KeyValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Product.KeyValue} KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a KeyValue message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + KeyValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!$util.isString(message.key)) + return "key: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; + + /** + * Creates a KeyValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Product.KeyValue} KeyValue + */ + KeyValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Product.KeyValue) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Product.KeyValue(); + if (object.key != null) + message.key = String(object.key); + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from a KeyValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p3beta1.Product.KeyValue} message KeyValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + KeyValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.key = ""; + object.value = ""; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this KeyValue to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @instance + * @returns {Object.} JSON object + */ + KeyValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return KeyValue; + })(); + + return Product; + })(); + + v1p3beta1.ProductSet = (function() { + + /** + * Properties of a ProductSet. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IProductSet + * @property {string|null} [name] ProductSet name + * @property {string|null} [displayName] ProductSet displayName + * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSet indexTime + * @property {google.rpc.IStatus|null} [indexError] ProductSet indexError + */ + + /** + * Constructs a new ProductSet. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ProductSet. + * @implements IProductSet + * @constructor + * @param {google.cloud.vision.v1p3beta1.IProductSet=} [properties] Properties to set + */ + function ProductSet(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]]; + } + + /** + * ProductSet name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @instance + */ + ProductSet.prototype.name = ""; + + /** + * ProductSet displayName. + * @member {string} displayName + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @instance + */ + ProductSet.prototype.displayName = ""; + + /** + * ProductSet indexTime. + * @member {google.protobuf.ITimestamp|null|undefined} indexTime + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @instance + */ + ProductSet.prototype.indexTime = null; + + /** + * ProductSet indexError. + * @member {google.rpc.IStatus|null|undefined} indexError + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @instance + */ + ProductSet.prototype.indexError = null; + + /** + * Creates a new ProductSet instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @static + * @param {google.cloud.vision.v1p3beta1.IProductSet=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ProductSet} ProductSet instance + */ + ProductSet.create = function create(properties) { + return new ProductSet(properties); + }; + + /** + * Encodes the specified ProductSet message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSet.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @static + * @param {google.cloud.vision.v1p3beta1.IProductSet} message ProductSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && message.hasOwnProperty("displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.indexError != null && message.hasOwnProperty("indexError")) + $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSet message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @static + * @param {google.cloud.vision.v1p3beta1.IProductSet} message ProductSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSet message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ProductSet} ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ProductSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.displayName = reader.string(); + break; + case 3: + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ProductSet} ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSet message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSet.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.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.indexTime); + if (error) + return "indexTime." + error; + } + if (message.indexError != null && message.hasOwnProperty("indexError")) { + var error = $root.google.rpc.Status.verify(message.indexError); + if (error) + return "indexError." + error; + } + return null; + }; + + /** + * Creates a ProductSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ProductSet} ProductSet + */ + ProductSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSet) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ProductSet(); + if (object.name != null) + message.name = String(object.name); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.indexTime != null) { + if (typeof object.indexTime !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSet.indexTime: object expected"); + message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); + } + if (object.indexError != null) { + if (typeof object.indexError !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSet.indexError: object expected"); + message.indexError = $root.google.rpc.Status.fromObject(object.indexError); + } + return message; + }; + + /** + * Creates a plain object from a ProductSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSet} message ProductSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.indexTime = null; + object.indexError = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); + if (message.indexError != null && message.hasOwnProperty("indexError")) + object.indexError = $root.google.rpc.Status.toObject(message.indexError, options); + return object; + }; + + /** + * Converts this ProductSet to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @instance + * @returns {Object.} JSON object + */ + ProductSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProductSet; + })(); + + v1p3beta1.ReferenceImage = (function() { + + /** + * Properties of a ReferenceImage. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IReferenceImage + * @property {string|null} [name] ReferenceImage name + * @property {string|null} [uri] ReferenceImage uri + * @property {Array.|null} [boundingPolys] ReferenceImage boundingPolys + */ + + /** + * Constructs a new ReferenceImage. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ReferenceImage. + * @implements IReferenceImage + * @constructor + * @param {google.cloud.vision.v1p3beta1.IReferenceImage=} [properties] Properties to set + */ + function ReferenceImage(properties) { + this.boundingPolys = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ReferenceImage name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.name = ""; + + /** + * ReferenceImage uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.uri = ""; + + /** + * ReferenceImage boundingPolys. + * @member {Array.} boundingPolys + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.boundingPolys = $util.emptyArray; + + /** + * Creates a new ReferenceImage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p3beta1.IReferenceImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ReferenceImage} ReferenceImage instance + */ + ReferenceImage.create = function create(properties) { + return new ReferenceImage(properties); + }; + + /** + * Encodes the specified ReferenceImage message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ReferenceImage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p3beta1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReferenceImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); + if (message.boundingPolys != null && message.boundingPolys.length) + for (var i = 0; i < message.boundingPolys.length; ++i) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPolys[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ReferenceImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ReferenceImage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p3beta1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReferenceImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ReferenceImage} ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReferenceImage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ReferenceImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.uri = reader.string(); + break; + case 3: + if (!(message.boundingPolys && message.boundingPolys.length)) + message.boundingPolys = []; + message.boundingPolys.push($root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ReferenceImage} ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReferenceImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReferenceImage message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReferenceImage.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.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.boundingPolys != null && message.hasOwnProperty("boundingPolys")) { + if (!Array.isArray(message.boundingPolys)) + return "boundingPolys: array expected"; + for (var i = 0; i < message.boundingPolys.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPolys[i]); + if (error) + return "boundingPolys." + error; + } + } + return null; + }; + + /** + * Creates a ReferenceImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ReferenceImage} ReferenceImage + */ + ReferenceImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ReferenceImage) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ReferenceImage(); + if (object.name != null) + message.name = String(object.name); + if (object.uri != null) + message.uri = String(object.uri); + if (object.boundingPolys) { + if (!Array.isArray(object.boundingPolys)) + throw TypeError(".google.cloud.vision.v1p3beta1.ReferenceImage.boundingPolys: array expected"); + message.boundingPolys = []; + for (var i = 0; i < object.boundingPolys.length; ++i) { + if (typeof object.boundingPolys[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ReferenceImage.boundingPolys: object expected"); + message.boundingPolys[i] = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPolys[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ReferenceImage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p3beta1.ReferenceImage} message ReferenceImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReferenceImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.boundingPolys = []; + if (options.defaults) { + object.name = ""; + object.uri = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.boundingPolys && message.boundingPolys.length) { + object.boundingPolys = []; + for (var j = 0; j < message.boundingPolys.length; ++j) + object.boundingPolys[j] = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPolys[j], options); + } + return object; + }; + + /** + * Converts this ReferenceImage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @instance + * @returns {Object.} JSON object + */ + ReferenceImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ReferenceImage; + })(); + + v1p3beta1.CreateProductRequest = (function() { + + /** + * Properties of a CreateProductRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ICreateProductRequest + * @property {string|null} [parent] CreateProductRequest parent + * @property {google.cloud.vision.v1p3beta1.IProduct|null} [product] CreateProductRequest product + * @property {string|null} [productId] CreateProductRequest productId + */ + + /** + * Constructs a new CreateProductRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a CreateProductRequest. + * @implements ICreateProductRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.ICreateProductRequest=} [properties] Properties to set + */ + function CreateProductRequest(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]]; + } + + /** + * CreateProductRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @instance + */ + CreateProductRequest.prototype.parent = ""; + + /** + * CreateProductRequest product. + * @member {google.cloud.vision.v1p3beta1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @instance + */ + CreateProductRequest.prototype.product = null; + + /** + * CreateProductRequest productId. + * @member {string} productId + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @instance + */ + CreateProductRequest.prototype.productId = ""; + + /** + * Creates a new CreateProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ICreateProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.CreateProductRequest} CreateProductRequest instance + */ + CreateProductRequest.create = function create(properties) { + return new CreateProductRequest(properties); + }; + + /** + * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ICreateProductRequest} message CreateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.productId != null && message.hasOwnProperty("productId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); + return writer; + }; + + /** + * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ICreateProductRequest} message CreateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.CreateProductRequest} CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CreateProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.product = $root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32()); + break; + case 3: + message.productId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.CreateProductRequest} CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateProductRequest.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.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1p3beta1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.productId != null && message.hasOwnProperty("productId")) + if (!$util.isString(message.productId)) + return "productId: string expected"; + return null; + }; + + /** + * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.CreateProductRequest} CreateProductRequest + */ + CreateProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.CreateProductRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.CreateProductRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.CreateProductRequest.product: object expected"); + message.product = $root.google.cloud.vision.v1p3beta1.Product.fromObject(object.product); + } + if (object.productId != null) + message.productId = String(object.productId); + return message; + }; + + /** + * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.CreateProductRequest} message CreateProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.product = null; + object.productId = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1p3beta1.Product.toObject(message.product, options); + if (message.productId != null && message.hasOwnProperty("productId")) + object.productId = message.productId; + return object; + }; + + /** + * Converts this CreateProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @instance + * @returns {Object.} JSON object + */ + CreateProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CreateProductRequest; + })(); + + v1p3beta1.ListProductsRequest = (function() { + + /** + * Properties of a ListProductsRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IListProductsRequest + * @property {string|null} [parent] ListProductsRequest parent + * @property {number|null} [pageSize] ListProductsRequest pageSize + * @property {string|null} [pageToken] ListProductsRequest pageToken + */ + + /** + * Constructs a new ListProductsRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ListProductsRequest. + * @implements IListProductsRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IListProductsRequest=} [properties] Properties to set + */ + function ListProductsRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.parent = ""; + + /** + * ListProductsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.pageSize = 0; + + /** + * ListProductsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ListProductsRequest} ListProductsRequest instance + */ + ListProductsRequest.create = function create(properties) { + return new ListProductsRequest(properties); + }; + + /** + * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ListProductsRequest} ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ListProductsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.pageSize = reader.int32(); + break; + case 3: + message.pageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ListProductsRequest} ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ListProductsRequest} ListProductsRequest + */ + ListProductsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ListProductsRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ListProductsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ListProductsRequest} message ListProductsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + return object; + }; + + /** + * Converts this ListProductsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsRequest; + })(); + + v1p3beta1.ListProductsResponse = (function() { + + /** + * Properties of a ListProductsResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IListProductsResponse + * @property {Array.|null} [products] ListProductsResponse products + * @property {string|null} [nextPageToken] ListProductsResponse nextPageToken + */ + + /** + * Constructs a new ListProductsResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ListProductsResponse. + * @implements IListProductsResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IListProductsResponse=} [properties] Properties to set + */ + function ListProductsResponse(properties) { + this.products = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsResponse products. + * @member {Array.} products + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @instance + */ + ListProductsResponse.prototype.products = $util.emptyArray; + + /** + * ListProductsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @instance + */ + ListProductsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ListProductsResponse} ListProductsResponse instance + */ + ListProductsResponse.create = function create(properties) { + return new ListProductsResponse(properties); + }; + + /** + * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.cloud.vision.v1p3beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ListProductsResponse} ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ListProductsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ListProductsResponse} ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Product.verify(message.products[i]); + if (error) + return "products." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ListProductsResponse} ListProductsResponse + */ + ListProductsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ListProductsResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ListProductsResponse(); + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.cloud.vision.v1p3beta1.ListProductsResponse.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ListProductsResponse.products: object expected"); + message.products[i] = $root.google.cloud.vision.v1p3beta1.Product.fromObject(object.products[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.ListProductsResponse} message ListProductsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.products = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.cloud.vision.v1p3beta1.Product.toObject(message.products[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductsResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsResponse; + })(); + + v1p3beta1.GetProductRequest = (function() { + + /** + * Properties of a GetProductRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IGetProductRequest + * @property {string|null} [name] GetProductRequest name + */ + + /** + * Constructs a new GetProductRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a GetProductRequest. + * @implements IGetProductRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IGetProductRequest=} [properties] Properties to set + */ + function GetProductRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetProductRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @instance + */ + GetProductRequest.prototype.name = ""; + + /** + * Creates a new GetProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IGetProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.GetProductRequest} GetProductRequest instance + */ + GetProductRequest.create = function create(properties) { + return new GetProductRequest(properties); + }; + + /** + * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.GetProductRequest} GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.GetProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.GetProductRequest} GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProductRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.GetProductRequest} GetProductRequest + */ + GetProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.GetProductRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.GetProductRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.GetProductRequest} message GetProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this GetProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @instance + * @returns {Object.} JSON object + */ + GetProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetProductRequest; + })(); + + v1p3beta1.UpdateProductRequest = (function() { + + /** + * Properties of an UpdateProductRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IUpdateProductRequest + * @property {google.cloud.vision.v1p3beta1.IProduct|null} [product] UpdateProductRequest product + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductRequest updateMask + */ + + /** + * Constructs a new UpdateProductRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an UpdateProductRequest. + * @implements IUpdateProductRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IUpdateProductRequest=} [properties] Properties to set + */ + function UpdateProductRequest(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]]; + } + + /** + * UpdateProductRequest product. + * @member {google.cloud.vision.v1p3beta1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @instance + */ + UpdateProductRequest.prototype.product = null; + + /** + * UpdateProductRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @instance + */ + UpdateProductRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IUpdateProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.UpdateProductRequest} UpdateProductRequest instance + */ + UpdateProductRequest.create = function create(properties) { + return new UpdateProductRequest(properties); + }; + + /** + * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.UpdateProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.UpdateProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.UpdateProductRequest} UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.UpdateProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.product = $root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32()); + break; + case 2: + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.UpdateProductRequest} UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateProductRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1p3beta1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.UpdateProductRequest} UpdateProductRequest + */ + UpdateProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.UpdateProductRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.UpdateProductRequest(); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.UpdateProductRequest.product: object expected"); + message.product = $root.google.cloud.vision.v1p3beta1.Product.fromObject(object.product); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.UpdateProductRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.UpdateProductRequest} message UpdateProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.product = null; + object.updateMask = null; + } + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1p3beta1.Product.toObject(message.product, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UpdateProductRequest; + })(); + + v1p3beta1.DeleteProductRequest = (function() { + + /** + * Properties of a DeleteProductRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IDeleteProductRequest + * @property {string|null} [name] DeleteProductRequest name + */ + + /** + * Constructs a new DeleteProductRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a DeleteProductRequest. + * @implements IDeleteProductRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IDeleteProductRequest=} [properties] Properties to set + */ + function DeleteProductRequest(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]]; + } + + /** + * DeleteProductRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @instance + */ + DeleteProductRequest.prototype.name = ""; + + /** + * Creates a new DeleteProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IDeleteProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.DeleteProductRequest} DeleteProductRequest instance + */ + DeleteProductRequest.create = function create(properties) { + return new DeleteProductRequest(properties); + }; + + /** + * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.DeleteProductRequest} DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.DeleteProductRequest(); + 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 DeleteProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.DeleteProductRequest} DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteProductRequest.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 DeleteProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.DeleteProductRequest} DeleteProductRequest + */ + DeleteProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.DeleteProductRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.DeleteProductRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1p3beta1.DeleteProductRequest} message DeleteProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteProductRequest.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 DeleteProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteProductRequest; + })(); + + v1p3beta1.CreateProductSetRequest = (function() { + + /** + * Properties of a CreateProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ICreateProductSetRequest + * @property {string|null} [parent] CreateProductSetRequest parent + * @property {google.cloud.vision.v1p3beta1.IProductSet|null} [productSet] CreateProductSetRequest productSet + * @property {string|null} [productSetId] CreateProductSetRequest productSetId + */ + + /** + * Constructs a new CreateProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a CreateProductSetRequest. + * @implements ICreateProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.ICreateProductSetRequest=} [properties] Properties to set + */ + function CreateProductSetRequest(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]]; + } + + /** + * CreateProductSetRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.parent = ""; + + /** + * CreateProductSetRequest productSet. + * @member {google.cloud.vision.v1p3beta1.IProductSet|null|undefined} productSet + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.productSet = null; + + /** + * CreateProductSetRequest productSetId. + * @member {string} productSetId + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.productSetId = ""; + + /** + * Creates a new CreateProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ICreateProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.CreateProductSetRequest} CreateProductSetRequest instance + */ + CreateProductSetRequest.create = function create(properties) { + return new CreateProductSetRequest(properties); + }; + + /** + * Encodes the specified CreateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.productSet != null && message.hasOwnProperty("productSet")) + $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); + return writer; + }; + + /** + * Encodes the specified CreateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.CreateProductSetRequest} CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CreateProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.decode(reader, reader.uint32()); + break; + case 3: + message.productSetId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.CreateProductSetRequest} CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateProductSetRequest.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.productSet != null && message.hasOwnProperty("productSet")) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSet.verify(message.productSet); + if (error) + return "productSet." + error; + } + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (!$util.isString(message.productSetId)) + return "productSetId: string expected"; + return null; + }; + + /** + * Creates a CreateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.CreateProductSetRequest} CreateProductSetRequest + */ + CreateProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.CreateProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.CreateProductSetRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.productSet != null) { + if (typeof object.productSet !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.CreateProductSetRequest.productSet: object expected"); + message.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.fromObject(object.productSet); + } + if (object.productSetId != null) + message.productSetId = String(object.productSetId); + return message; + }; + + /** + * Creates a plain object from a CreateProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.CreateProductSetRequest} message CreateProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.productSet = null; + object.productSetId = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.toObject(message.productSet, options); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + object.productSetId = message.productSetId; + return object; + }; + + /** + * Converts this CreateProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + CreateProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CreateProductSetRequest; + })(); + + v1p3beta1.ListProductSetsRequest = (function() { + + /** + * Properties of a ListProductSetsRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IListProductSetsRequest + * @property {string|null} [parent] ListProductSetsRequest parent + * @property {number|null} [pageSize] ListProductSetsRequest pageSize + * @property {string|null} [pageToken] ListProductSetsRequest pageToken + */ + + /** + * Constructs a new ListProductSetsRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ListProductSetsRequest. + * @implements IListProductSetsRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IListProductSetsRequest=} [properties] Properties to set + */ + function ListProductSetsRequest(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]]; + } + + /** + * ListProductSetsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.parent = ""; + + /** + * ListProductSetsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.pageSize = 0; + + /** + * ListProductSetsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductSetsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductSetsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ListProductSetsRequest} ListProductSetsRequest instance + */ + ListProductSetsRequest.create = function create(properties) { + return new ListProductSetsRequest(properties); + }; + + /** + * Encodes the specified ListProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductSetsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductSetsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductSetsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ListProductSetsRequest} ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ListProductSetsRequest(); + 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 ListProductSetsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ListProductSetsRequest} ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductSetsRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductSetsRequest.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 ListProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ListProductSetsRequest} ListProductSetsRequest + */ + ListProductSetsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ListProductSetsRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ListProductSetsRequest(); + 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 ListProductSetsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ListProductSetsRequest} message ListProductSetsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductSetsRequest.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 ListProductSetsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductSetsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductSetsRequest; + })(); + + v1p3beta1.ListProductSetsResponse = (function() { + + /** + * Properties of a ListProductSetsResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IListProductSetsResponse + * @property {Array.|null} [productSets] ListProductSetsResponse productSets + * @property {string|null} [nextPageToken] ListProductSetsResponse nextPageToken + */ + + /** + * Constructs a new ListProductSetsResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ListProductSetsResponse. + * @implements IListProductSetsResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IListProductSetsResponse=} [properties] Properties to set + */ + function ListProductSetsResponse(properties) { + this.productSets = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductSetsResponse productSets. + * @member {Array.} productSets + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @instance + */ + ListProductSetsResponse.prototype.productSets = $util.emptyArray; + + /** + * ListProductSetsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @instance + */ + ListProductSetsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductSetsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductSetsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ListProductSetsResponse} ListProductSetsResponse instance + */ + ListProductSetsResponse.create = function create(properties) { + return new ListProductSetsResponse(properties); + }; + + /** + * Encodes the specified ListProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductSetsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSets != null && message.productSets.length) + for (var i = 0; i < message.productSets.length; ++i) + $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductSetsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ListProductSetsResponse} ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ListProductSetsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.productSets && message.productSets.length)) + message.productSets = []; + message.productSets.push($root.google.cloud.vision.v1p3beta1.ProductSet.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ListProductSetsResponse} ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductSetsResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductSetsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.productSets != null && message.hasOwnProperty("productSets")) { + if (!Array.isArray(message.productSets)) + return "productSets: array expected"; + for (var i = 0; i < message.productSets.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSet.verify(message.productSets[i]); + if (error) + return "productSets." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ListProductSetsResponse} ListProductSetsResponse + */ + ListProductSetsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ListProductSetsResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ListProductSetsResponse(); + if (object.productSets) { + if (!Array.isArray(object.productSets)) + throw TypeError(".google.cloud.vision.v1p3beta1.ListProductSetsResponse.productSets: array expected"); + message.productSets = []; + for (var i = 0; i < object.productSets.length; ++i) { + if (typeof object.productSets[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ListProductSetsResponse.productSets: object expected"); + message.productSets[i] = $root.google.cloud.vision.v1p3beta1.ProductSet.fromObject(object.productSets[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductSetsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.ListProductSetsResponse} message ListProductSetsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductSetsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productSets = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.productSets && message.productSets.length) { + object.productSets = []; + for (var j = 0; j < message.productSets.length; ++j) + object.productSets[j] = $root.google.cloud.vision.v1p3beta1.ProductSet.toObject(message.productSets[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductSetsResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductSetsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductSetsResponse; + })(); + + v1p3beta1.GetProductSetRequest = (function() { + + /** + * Properties of a GetProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IGetProductSetRequest + * @property {string|null} [name] GetProductSetRequest name + */ + + /** + * Constructs a new GetProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a GetProductSetRequest. + * @implements IGetProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IGetProductSetRequest=} [properties] Properties to set + */ + function GetProductSetRequest(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]]; + } + + /** + * GetProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @instance + */ + GetProductSetRequest.prototype.name = ""; + + /** + * Creates a new GetProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IGetProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.GetProductSetRequest} GetProductSetRequest instance + */ + GetProductSetRequest.create = function create(properties) { + return new GetProductSetRequest(properties); + }; + + /** + * Encodes the specified GetProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.GetProductSetRequest} GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.GetProductSetRequest(); + 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 GetProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.GetProductSetRequest} GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProductSetRequest.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 GetProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.GetProductSetRequest} GetProductSetRequest + */ + GetProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.GetProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.GetProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.GetProductSetRequest} message GetProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProductSetRequest.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 GetProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + GetProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetProductSetRequest; + })(); + + v1p3beta1.UpdateProductSetRequest = (function() { + + /** + * Properties of an UpdateProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IUpdateProductSetRequest + * @property {google.cloud.vision.v1p3beta1.IProductSet|null} [productSet] UpdateProductSetRequest productSet + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductSetRequest updateMask + */ + + /** + * Constructs a new UpdateProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an UpdateProductSetRequest. + * @implements IUpdateProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IUpdateProductSetRequest=} [properties] Properties to set + */ + function UpdateProductSetRequest(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]]; + } + + /** + * UpdateProductSetRequest productSet. + * @member {google.cloud.vision.v1p3beta1.IProductSet|null|undefined} productSet + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @instance + */ + UpdateProductSetRequest.prototype.productSet = null; + + /** + * UpdateProductSetRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @instance + */ + UpdateProductSetRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IUpdateProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.UpdateProductSetRequest} UpdateProductSetRequest instance + */ + UpdateProductSetRequest.create = function create(properties) { + return new UpdateProductSetRequest(properties); + }; + + /** + * Encodes the specified UpdateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.UpdateProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSet != null && message.hasOwnProperty("productSet")) + $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.UpdateProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.UpdateProductSetRequest} UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.UpdateProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.decode(reader, reader.uint32()); + break; + case 2: + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.UpdateProductSetRequest} UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateProductSetRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.productSet != null && message.hasOwnProperty("productSet")) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSet.verify(message.productSet); + if (error) + return "productSet." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.UpdateProductSetRequest} UpdateProductSetRequest + */ + UpdateProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.UpdateProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.UpdateProductSetRequest(); + if (object.productSet != null) { + if (typeof object.productSet !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.UpdateProductSetRequest.productSet: object expected"); + message.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.fromObject(object.productSet); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.UpdateProductSetRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.UpdateProductSetRequest} message UpdateProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.productSet = null; + object.updateMask = null; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.toObject(message.productSet, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UpdateProductSetRequest; + })(); + + v1p3beta1.DeleteProductSetRequest = (function() { + + /** + * Properties of a DeleteProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IDeleteProductSetRequest + * @property {string|null} [name] DeleteProductSetRequest name + */ + + /** + * Constructs a new DeleteProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a DeleteProductSetRequest. + * @implements IDeleteProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IDeleteProductSetRequest=} [properties] Properties to set + */ + function DeleteProductSetRequest(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]]; + } + + /** + * DeleteProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @instance + */ + DeleteProductSetRequest.prototype.name = ""; + + /** + * Creates a new DeleteProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IDeleteProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.DeleteProductSetRequest} DeleteProductSetRequest instance + */ + DeleteProductSetRequest.create = function create(properties) { + return new DeleteProductSetRequest(properties); + }; + + /** + * Encodes the specified DeleteProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.DeleteProductSetRequest} DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.DeleteProductSetRequest(); + 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 DeleteProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.DeleteProductSetRequest} DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteProductSetRequest.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 DeleteProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.DeleteProductSetRequest} DeleteProductSetRequest + */ + DeleteProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.DeleteProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.DeleteProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.DeleteProductSetRequest} message DeleteProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteProductSetRequest.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 DeleteProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteProductSetRequest; + })(); + + v1p3beta1.CreateReferenceImageRequest = (function() { + + /** + * Properties of a CreateReferenceImageRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ICreateReferenceImageRequest + * @property {string|null} [parent] CreateReferenceImageRequest parent + * @property {google.cloud.vision.v1p3beta1.IReferenceImage|null} [referenceImage] CreateReferenceImageRequest referenceImage + * @property {string|null} [referenceImageId] CreateReferenceImageRequest referenceImageId + */ + + /** + * Constructs a new CreateReferenceImageRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a CreateReferenceImageRequest. + * @implements ICreateReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest=} [properties] Properties to set + */ + function CreateReferenceImageRequest(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]]; + } + + /** + * CreateReferenceImageRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.parent = ""; + + /** + * CreateReferenceImageRequest referenceImage. + * @member {google.cloud.vision.v1p3beta1.IReferenceImage|null|undefined} referenceImage + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.referenceImage = null; + + /** + * CreateReferenceImageRequest referenceImageId. + * @member {string} referenceImageId + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.referenceImageId = ""; + + /** + * Creates a new CreateReferenceImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.CreateReferenceImageRequest} CreateReferenceImageRequest instance + */ + CreateReferenceImageRequest.create = function create(properties) { + return new CreateReferenceImageRequest(properties); + }; + + /** + * Encodes the specified CreateReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateReferenceImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateReferenceImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + $root.google.cloud.vision.v1p3beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); + return writer; + }; + + /** + * Encodes the specified CreateReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CreateReferenceImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.CreateReferenceImageRequest} CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateReferenceImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.referenceImage = $root.google.cloud.vision.v1p3beta1.ReferenceImage.decode(reader, reader.uint32()); + break; + case 3: + message.referenceImageId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.CreateReferenceImageRequest} CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateReferenceImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateReferenceImageRequest.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.referenceImage != null && message.hasOwnProperty("referenceImage")) { + var error = $root.google.cloud.vision.v1p3beta1.ReferenceImage.verify(message.referenceImage); + if (error) + return "referenceImage." + error; + } + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (!$util.isString(message.referenceImageId)) + return "referenceImageId: string expected"; + return null; + }; + + /** + * Creates a CreateReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.CreateReferenceImageRequest} CreateReferenceImageRequest + */ + CreateReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.referenceImage != null) { + if (typeof object.referenceImage !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.CreateReferenceImageRequest.referenceImage: object expected"); + message.referenceImage = $root.google.cloud.vision.v1p3beta1.ReferenceImage.fromObject(object.referenceImage); + } + if (object.referenceImageId != null) + message.referenceImageId = String(object.referenceImageId); + return message; + }; + + /** + * Creates a plain object from a CreateReferenceImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.CreateReferenceImageRequest} message CreateReferenceImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateReferenceImageRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.referenceImage = null; + object.referenceImageId = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + object.referenceImage = $root.google.cloud.vision.v1p3beta1.ReferenceImage.toObject(message.referenceImage, options); + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + object.referenceImageId = message.referenceImageId; + return object; + }; + + /** + * Converts this CreateReferenceImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @instance + * @returns {Object.} JSON object + */ + CreateReferenceImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CreateReferenceImageRequest; + })(); + + v1p3beta1.ListReferenceImagesRequest = (function() { + + /** + * Properties of a ListReferenceImagesRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IListReferenceImagesRequest + * @property {string|null} [parent] ListReferenceImagesRequest parent + * @property {number|null} [pageSize] ListReferenceImagesRequest pageSize + * @property {string|null} [pageToken] ListReferenceImagesRequest pageToken + */ + + /** + * Constructs a new ListReferenceImagesRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ListReferenceImagesRequest. + * @implements IListReferenceImagesRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesRequest=} [properties] Properties to set + */ + function ListReferenceImagesRequest(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]]; + } + + /** + * ListReferenceImagesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.parent = ""; + + /** + * ListReferenceImagesRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.pageSize = 0; + + /** + * ListReferenceImagesRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.pageToken = ""; + + /** + * Creates a new ListReferenceImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ListReferenceImagesRequest} ListReferenceImagesRequest instance + */ + ListReferenceImagesRequest.create = function create(properties) { + return new ListReferenceImagesRequest(properties); + }; + + /** + * Encodes the specified ListReferenceImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListReferenceImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListReferenceImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListReferenceImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ListReferenceImagesRequest} ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest(); + 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 ListReferenceImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ListReferenceImagesRequest} ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListReferenceImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListReferenceImagesRequest.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 ListReferenceImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ListReferenceImagesRequest} ListReferenceImagesRequest + */ + ListReferenceImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest(); + 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 ListReferenceImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ListReferenceImagesRequest} message ListReferenceImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListReferenceImagesRequest.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 ListReferenceImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @instance + * @returns {Object.} JSON object + */ + ListReferenceImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListReferenceImagesRequest; + })(); + + v1p3beta1.ListReferenceImagesResponse = (function() { + + /** + * Properties of a ListReferenceImagesResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IListReferenceImagesResponse + * @property {Array.|null} [referenceImages] ListReferenceImagesResponse referenceImages + * @property {number|null} [pageSize] ListReferenceImagesResponse pageSize + * @property {string|null} [nextPageToken] ListReferenceImagesResponse nextPageToken + */ + + /** + * Constructs a new ListReferenceImagesResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ListReferenceImagesResponse. + * @implements IListReferenceImagesResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesResponse=} [properties] Properties to set + */ + function ListReferenceImagesResponse(properties) { + this.referenceImages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListReferenceImagesResponse referenceImages. + * @member {Array.} referenceImages + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @instance + */ + ListReferenceImagesResponse.prototype.referenceImages = $util.emptyArray; + + /** + * ListReferenceImagesResponse pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @instance + */ + ListReferenceImagesResponse.prototype.pageSize = 0; + + /** + * ListReferenceImagesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @instance + */ + ListReferenceImagesResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListReferenceImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ListReferenceImagesResponse} ListReferenceImagesResponse instance + */ + ListReferenceImagesResponse.create = function create(properties) { + return new ListReferenceImagesResponse(properties); + }; + + /** + * Encodes the specified ListReferenceImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.referenceImages != null && message.referenceImages.length) + for (var i = 0; i < message.referenceImages.length; ++i) + $root.google.cloud.vision.v1p3beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListReferenceImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ListReferenceImagesResponse} ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ListReferenceImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p3beta1.ReferenceImage.decode(reader, reader.uint32())); + break; + case 2: + message.pageSize = reader.int32(); + break; + case 3: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ListReferenceImagesResponse} ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListReferenceImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListReferenceImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { + if (!Array.isArray(message.referenceImages)) + return "referenceImages: array expected"; + for (var i = 0; i < message.referenceImages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ReferenceImage.verify(message.referenceImages[i]); + if (error) + return "referenceImages." + error; + } + } + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListReferenceImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ListReferenceImagesResponse} ListReferenceImagesResponse + */ + ListReferenceImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ListReferenceImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ListReferenceImagesResponse(); + if (object.referenceImages) { + if (!Array.isArray(object.referenceImages)) + throw TypeError(".google.cloud.vision.v1p3beta1.ListReferenceImagesResponse.referenceImages: array expected"); + message.referenceImages = []; + for (var i = 0; i < object.referenceImages.length; ++i) { + if (typeof object.referenceImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ListReferenceImagesResponse.referenceImages: object expected"); + message.referenceImages[i] = $root.google.cloud.vision.v1p3beta1.ReferenceImage.fromObject(object.referenceImages[i]); + } + } + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListReferenceImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1p3beta1.ListReferenceImagesResponse} message ListReferenceImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListReferenceImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.referenceImages = []; + if (options.defaults) { + object.pageSize = 0; + object.nextPageToken = ""; + } + if (message.referenceImages && message.referenceImages.length) { + object.referenceImages = []; + for (var j = 0; j < message.referenceImages.length; ++j) + object.referenceImages[j] = $root.google.cloud.vision.v1p3beta1.ReferenceImage.toObject(message.referenceImages[j], options); + } + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListReferenceImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @instance + * @returns {Object.} JSON object + */ + ListReferenceImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListReferenceImagesResponse; + })(); + + v1p3beta1.GetReferenceImageRequest = (function() { + + /** + * Properties of a GetReferenceImageRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IGetReferenceImageRequest + * @property {string|null} [name] GetReferenceImageRequest name + */ + + /** + * Constructs a new GetReferenceImageRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a GetReferenceImageRequest. + * @implements IGetReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IGetReferenceImageRequest=} [properties] Properties to set + */ + function GetReferenceImageRequest(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]]; + } + + /** + * GetReferenceImageRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @instance + */ + GetReferenceImageRequest.prototype.name = ""; + + /** + * Creates a new GetReferenceImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IGetReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.GetReferenceImageRequest} GetReferenceImageRequest instance + */ + GetReferenceImageRequest.create = function create(properties) { + return new GetReferenceImageRequest(properties); + }; + + /** + * Encodes the specified GetReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetReferenceImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetReferenceImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GetReferenceImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetReferenceImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.GetReferenceImageRequest} GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetReferenceImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.GetReferenceImageRequest(); + 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 GetReferenceImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.GetReferenceImageRequest} GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetReferenceImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetReferenceImageRequest.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 GetReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.GetReferenceImageRequest} GetReferenceImageRequest + */ + GetReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.GetReferenceImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.GetReferenceImageRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetReferenceImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.GetReferenceImageRequest} message GetReferenceImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetReferenceImageRequest.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 GetReferenceImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @instance + * @returns {Object.} JSON object + */ + GetReferenceImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetReferenceImageRequest; + })(); + + v1p3beta1.DeleteReferenceImageRequest = (function() { + + /** + * Properties of a DeleteReferenceImageRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IDeleteReferenceImageRequest + * @property {string|null} [name] DeleteReferenceImageRequest name + */ + + /** + * Constructs a new DeleteReferenceImageRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a DeleteReferenceImageRequest. + * @implements IDeleteReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest=} [properties] Properties to set + */ + function DeleteReferenceImageRequest(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]]; + } + + /** + * DeleteReferenceImageRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @instance + */ + DeleteReferenceImageRequest.prototype.name = ""; + + /** + * Creates a new DeleteReferenceImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest instance + */ + DeleteReferenceImageRequest.create = function create(properties) { + return new DeleteReferenceImageRequest(properties); + }; + + /** + * Encodes the specified DeleteReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteReferenceImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteReferenceImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest(); + 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 DeleteReferenceImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteReferenceImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteReferenceImageRequest.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 DeleteReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + */ + DeleteReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteReferenceImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest} message DeleteReferenceImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteReferenceImageRequest.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 DeleteReferenceImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteReferenceImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteReferenceImageRequest; + })(); + + v1p3beta1.AddProductToProductSetRequest = (function() { + + /** + * Properties of an AddProductToProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IAddProductToProductSetRequest + * @property {string|null} [name] AddProductToProductSetRequest name + * @property {string|null} [product] AddProductToProductSetRequest product + */ + + /** + * Constructs a new AddProductToProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an AddProductToProductSetRequest. + * @implements IAddProductToProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest=} [properties] Properties to set + */ + function AddProductToProductSetRequest(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]]; + } + + /** + * AddProductToProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @instance + */ + AddProductToProductSetRequest.prototype.name = ""; + + /** + * AddProductToProductSetRequest product. + * @member {string} product + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @instance + */ + AddProductToProductSetRequest.prototype.product = ""; + + /** + * Creates a new AddProductToProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AddProductToProductSetRequest} AddProductToProductSetRequest instance + */ + AddProductToProductSetRequest.create = function create(properties) { + return new AddProductToProductSetRequest(properties); + }; + + /** + * Encodes the specified AddProductToProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AddProductToProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddProductToProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.product != null && message.hasOwnProperty("product")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); + return writer; + }; + + /** + * Encodes the specified AddProductToProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AddProductToProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddProductToProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.AddProductToProductSetRequest} AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddProductToProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.product = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.AddProductToProductSetRequest} AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddProductToProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AddProductToProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AddProductToProductSetRequest.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.product != null && message.hasOwnProperty("product")) + if (!$util.isString(message.product)) + return "product: string expected"; + return null; + }; + + /** + * Creates an AddProductToProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.AddProductToProductSetRequest} AddProductToProductSetRequest + */ + AddProductToProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.product != null) + message.product = String(object.product); + return message; + }; + + /** + * Creates a plain object from an AddProductToProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.AddProductToProductSetRequest} message AddProductToProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AddProductToProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.product = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.product != null && message.hasOwnProperty("product")) + object.product = message.product; + return object; + }; + + /** + * Converts this AddProductToProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + AddProductToProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AddProductToProductSetRequest; + })(); + + v1p3beta1.RemoveProductFromProductSetRequest = (function() { + + /** + * Properties of a RemoveProductFromProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IRemoveProductFromProductSetRequest + * @property {string|null} [name] RemoveProductFromProductSetRequest name + * @property {string|null} [product] RemoveProductFromProductSetRequest product + */ + + /** + * Constructs a new RemoveProductFromProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a RemoveProductFromProductSetRequest. + * @implements IRemoveProductFromProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest=} [properties] Properties to set + */ + function RemoveProductFromProductSetRequest(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]]; + } + + /** + * RemoveProductFromProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @instance + */ + RemoveProductFromProductSetRequest.prototype.name = ""; + + /** + * RemoveProductFromProductSetRequest product. + * @member {string} product + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @instance + */ + RemoveProductFromProductSetRequest.prototype.product = ""; + + /** + * Creates a new RemoveProductFromProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest instance + */ + RemoveProductFromProductSetRequest.create = function create(properties) { + return new RemoveProductFromProductSetRequest(properties); + }; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RemoveProductFromProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.product != null && message.hasOwnProperty("product")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); + return writer; + }; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RemoveProductFromProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RemoveProductFromProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.product = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RemoveProductFromProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RemoveProductFromProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RemoveProductFromProductSetRequest.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.product != null && message.hasOwnProperty("product")) + if (!$util.isString(message.product)) + return "product: string expected"; + return null; + }; + + /** + * Creates a RemoveProductFromProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + */ + RemoveProductFromProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.product != null) + message.product = String(object.product); + return message; + }; + + /** + * Creates a plain object from a RemoveProductFromProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RemoveProductFromProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.product = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.product != null && message.hasOwnProperty("product")) + object.product = message.product; + return object; + }; + + /** + * Converts this RemoveProductFromProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + RemoveProductFromProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RemoveProductFromProductSetRequest; + })(); + + v1p3beta1.ListProductsInProductSetRequest = (function() { + + /** + * Properties of a ListProductsInProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IListProductsInProductSetRequest + * @property {string|null} [name] ListProductsInProductSetRequest name + * @property {number|null} [pageSize] ListProductsInProductSetRequest pageSize + * @property {string|null} [pageToken] ListProductsInProductSetRequest pageToken + */ + + /** + * Constructs a new ListProductsInProductSetRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ListProductsInProductSetRequest. + * @implements IListProductsInProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest=} [properties] Properties to set + */ + function ListProductsInProductSetRequest(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]]; + } + + /** + * ListProductsInProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.name = ""; + + /** + * ListProductsInProductSetRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.pageSize = 0; + + /** + * ListProductsInProductSetRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductsInProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest instance + */ + ListProductsInProductSetRequest.create = function create(properties) { + return new ListProductsInProductSetRequest(properties); + }; + + /** + * Encodes the specified ListProductsInProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsInProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = 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 ListProductsInProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsInProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsInProductSetRequest.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.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 ListProductsInProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + */ + ListProductsInProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + 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 ListProductsInProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest} message ListProductsInProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsInProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.pageSize = 0; + object.pageToken = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + 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 ListProductsInProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductsInProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsInProductSetRequest; + })(); + + v1p3beta1.ListProductsInProductSetResponse = (function() { + + /** + * Properties of a ListProductsInProductSetResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IListProductsInProductSetResponse + * @property {Array.|null} [products] ListProductsInProductSetResponse products + * @property {string|null} [nextPageToken] ListProductsInProductSetResponse nextPageToken + */ + + /** + * Constructs a new ListProductsInProductSetResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a ListProductsInProductSetResponse. + * @implements IListProductsInProductSetResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse=} [properties] Properties to set + */ + function ListProductsInProductSetResponse(properties) { + this.products = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsInProductSetResponse products. + * @member {Array.} products + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @instance + */ + ListProductsInProductSetResponse.prototype.products = $util.emptyArray; + + /** + * ListProductsInProductSetResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @instance + */ + ListProductsInProductSetResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductsInProductSetResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse instance + */ + ListProductsInProductSetResponse.create = function create(properties) { + return new ListProductsInProductSetResponse(properties); + }; + + /** + * Encodes the specified ListProductsInProductSetResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.cloud.vision.v1p3beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsInProductSetResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsInProductSetResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsInProductSetResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Product.verify(message.products[i]); + if (error) + return "products." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsInProductSetResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + */ + ListProductsInProductSetResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse(); + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse.products: object expected"); + message.products[i] = $root.google.cloud.vision.v1p3beta1.Product.fromObject(object.products[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsInProductSetResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse} message ListProductsInProductSetResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsInProductSetResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.products = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.cloud.vision.v1p3beta1.Product.toObject(message.products[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductsInProductSetResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductsInProductSetResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsInProductSetResponse; + })(); + + v1p3beta1.ImportProductSetsGcsSource = (function() { + + /** + * Properties of an ImportProductSetsGcsSource. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IImportProductSetsGcsSource + * @property {string|null} [csvFileUri] ImportProductSetsGcsSource csvFileUri + */ + + /** + * Constructs a new ImportProductSetsGcsSource. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImportProductSetsGcsSource. + * @implements IImportProductSetsGcsSource + * @constructor + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource=} [properties] Properties to set + */ + function ImportProductSetsGcsSource(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]]; + } + + /** + * ImportProductSetsGcsSource csvFileUri. + * @member {string} csvFileUri + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @instance + */ + ImportProductSetsGcsSource.prototype.csvFileUri = ""; + + /** + * Creates a new ImportProductSetsGcsSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource instance + */ + ImportProductSetsGcsSource.create = function create(properties) { + return new ImportProductSetsGcsSource(properties); + }; + + /** + * Encodes the specified ImportProductSetsGcsSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsGcsSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsGcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsGcsSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsGcsSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.csvFileUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsGcsSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsGcsSource message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsGcsSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (!$util.isString(message.csvFileUri)) + return "csvFileUri: string expected"; + return null; + }; + + /** + * Creates an ImportProductSetsGcsSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + */ + ImportProductSetsGcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource(); + if (object.csvFileUri != null) + message.csvFileUri = String(object.csvFileUri); + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsGcsSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource} message ImportProductSetsGcsSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsGcsSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.csvFileUri = ""; + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + object.csvFileUri = message.csvFileUri; + return object; + }; + + /** + * Converts this ImportProductSetsGcsSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsGcsSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsGcsSource; + })(); + + v1p3beta1.ImportProductSetsInputConfig = (function() { + + /** + * Properties of an ImportProductSetsInputConfig. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IImportProductSetsInputConfig + * @property {google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource|null} [gcsSource] ImportProductSetsInputConfig gcsSource + */ + + /** + * Constructs a new ImportProductSetsInputConfig. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImportProductSetsInputConfig. + * @implements IImportProductSetsInputConfig + * @constructor + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig=} [properties] Properties to set + */ + function ImportProductSetsInputConfig(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]]; + } + + /** + * ImportProductSetsInputConfig gcsSource. + * @member {google.cloud.vision.v1p3beta1.IImportProductSetsGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @instance + */ + ImportProductSetsInputConfig.prototype.gcsSource = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ImportProductSetsInputConfig source. + * @member {"gcsSource"|undefined} source + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @instance + */ + Object.defineProperty(ImportProductSetsInputConfig.prototype, "source", { + get: $util.oneOfGetter($oneOfFields = ["gcsSource"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ImportProductSetsInputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig instance + */ + ImportProductSetsInputConfig.create = function create(properties) { + return new ImportProductSetsInputConfig(properties); + }; + + /** + * Encodes the specified ImportProductSetsInputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsInputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsInputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsInputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsInputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsSource = $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsInputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsInputConfig message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsInputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + properties.source = 1; + { + var error = $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.verify(message.gcsSource); + if (error) + return "gcsSource." + error; + } + } + return null; + }; + + /** + * Creates an ImportProductSetsInputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + */ + ImportProductSetsInputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.fromObject(object.gcsSource); + } + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsInputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} message ImportProductSetsInputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsInputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + object.gcsSource = $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.toObject(message.gcsSource, options); + if (options.oneofs) + object.source = "gcsSource"; + } + return object; + }; + + /** + * Converts this ImportProductSetsInputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsInputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsInputConfig; + })(); + + v1p3beta1.ImportProductSetsRequest = (function() { + + /** + * Properties of an ImportProductSetsRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IImportProductSetsRequest + * @property {string|null} [parent] ImportProductSetsRequest parent + * @property {google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig|null} [inputConfig] ImportProductSetsRequest inputConfig + */ + + /** + * Constructs a new ImportProductSetsRequest. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImportProductSetsRequest. + * @implements IImportProductSetsRequest + * @constructor + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsRequest=} [properties] Properties to set + */ + function ImportProductSetsRequest(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]]; + } + + /** + * ImportProductSetsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @instance + */ + ImportProductSetsRequest.prototype.parent = ""; + + /** + * ImportProductSetsRequest inputConfig. + * @member {google.cloud.vision.v1p3beta1.IImportProductSetsInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @instance + */ + ImportProductSetsRequest.prototype.inputConfig = null; + + /** + * Creates a new ImportProductSetsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsRequest} ImportProductSetsRequest instance + */ + ImportProductSetsRequest.create = function create(properties) { + return new ImportProductSetsRequest(properties); + }; + + /** + * Encodes the specified ImportProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsRequest} ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImportProductSetsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.inputConfig = $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsRequest} ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsRequest message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsRequest.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.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + return null; + }; + + /** + * Creates an ImportProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsRequest} ImportProductSetsRequest + */ + ImportProductSetsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImportProductSetsRequest) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ImportProductSetsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImportProductSetsRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.fromObject(object.inputConfig); + } + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1p3beta1.ImportProductSetsRequest} message ImportProductSetsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.inputConfig = null; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.toObject(message.inputConfig, options); + return object; + }; + + /** + * Converts this ImportProductSetsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsRequest; + })(); + + v1p3beta1.ImportProductSetsResponse = (function() { + + /** + * Properties of an ImportProductSetsResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IImportProductSetsResponse + * @property {Array.|null} [referenceImages] ImportProductSetsResponse referenceImages + * @property {Array.|null} [statuses] ImportProductSetsResponse statuses + */ + + /** + * Constructs a new ImportProductSetsResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImportProductSetsResponse. + * @implements IImportProductSetsResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsResponse=} [properties] Properties to set + */ + function ImportProductSetsResponse(properties) { + this.referenceImages = []; + this.statuses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImportProductSetsResponse referenceImages. + * @member {Array.} referenceImages + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @instance + */ + ImportProductSetsResponse.prototype.referenceImages = $util.emptyArray; + + /** + * ImportProductSetsResponse statuses. + * @member {Array.} statuses + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @instance + */ + ImportProductSetsResponse.prototype.statuses = $util.emptyArray; + + /** + * Creates a new ImportProductSetsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsResponse} ImportProductSetsResponse instance + */ + ImportProductSetsResponse.create = function create(properties) { + return new ImportProductSetsResponse(properties); + }; + + /** + * Encodes the specified ImportProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.referenceImages != null && message.referenceImages.length) + for (var i = 0; i < message.referenceImages.length; ++i) + $root.google.cloud.vision.v1p3beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.statuses != null && message.statuses.length) + for (var i = 0; i < message.statuses.length; ++i) + $root.google.rpc.Status.encode(message.statuses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImportProductSetsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsResponse} ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImportProductSetsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p3beta1.ReferenceImage.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.statuses && message.statuses.length)) + message.statuses = []; + message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsResponse} ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsResponse message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { + if (!Array.isArray(message.referenceImages)) + return "referenceImages: array expected"; + for (var i = 0; i < message.referenceImages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ReferenceImage.verify(message.referenceImages[i]); + if (error) + return "referenceImages." + error; + } + } + if (message.statuses != null && message.hasOwnProperty("statuses")) { + if (!Array.isArray(message.statuses)) + return "statuses: array expected"; + for (var i = 0; i < message.statuses.length; ++i) { + var error = $root.google.rpc.Status.verify(message.statuses[i]); + if (error) + return "statuses." + error; + } + } + return null; + }; + + /** + * Creates an ImportProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ImportProductSetsResponse} ImportProductSetsResponse + */ + ImportProductSetsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImportProductSetsResponse) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ImportProductSetsResponse(); + if (object.referenceImages) { + if (!Array.isArray(object.referenceImages)) + throw TypeError(".google.cloud.vision.v1p3beta1.ImportProductSetsResponse.referenceImages: array expected"); + message.referenceImages = []; + for (var i = 0; i < object.referenceImages.length; ++i) { + if (typeof object.referenceImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImportProductSetsResponse.referenceImages: object expected"); + message.referenceImages[i] = $root.google.cloud.vision.v1p3beta1.ReferenceImage.fromObject(object.referenceImages[i]); + } + } + if (object.statuses) { + if (!Array.isArray(object.statuses)) + throw TypeError(".google.cloud.vision.v1p3beta1.ImportProductSetsResponse.statuses: array expected"); + message.statuses = []; + for (var i = 0; i < object.statuses.length; ++i) { + if (typeof object.statuses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImportProductSetsResponse.statuses: object expected"); + message.statuses[i] = $root.google.rpc.Status.fromObject(object.statuses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1p3beta1.ImportProductSetsResponse} message ImportProductSetsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.referenceImages = []; + object.statuses = []; + } + if (message.referenceImages && message.referenceImages.length) { + object.referenceImages = []; + for (var j = 0; j < message.referenceImages.length; ++j) + object.referenceImages[j] = $root.google.cloud.vision.v1p3beta1.ReferenceImage.toObject(message.referenceImages[j], options); + } + if (message.statuses && message.statuses.length) { + object.statuses = []; + for (var j = 0; j < message.statuses.length; ++j) + object.statuses[j] = $root.google.rpc.Status.toObject(message.statuses[j], options); + } + return object; + }; + + /** + * Converts this ImportProductSetsResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsResponse; + })(); + + v1p3beta1.BatchOperationMetadata = (function() { + + /** + * Properties of a BatchOperationMetadata. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IBatchOperationMetadata + * @property {google.cloud.vision.v1p3beta1.BatchOperationMetadata.State|null} [state] BatchOperationMetadata state + * @property {google.protobuf.ITimestamp|null} [submitTime] BatchOperationMetadata submitTime + * @property {google.protobuf.ITimestamp|null} [endTime] BatchOperationMetadata endTime + */ + + /** + * Constructs a new BatchOperationMetadata. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a BatchOperationMetadata. + * @implements IBatchOperationMetadata + * @constructor + * @param {google.cloud.vision.v1p3beta1.IBatchOperationMetadata=} [properties] Properties to set + */ + function BatchOperationMetadata(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]]; + } + + /** + * BatchOperationMetadata state. + * @member {google.cloud.vision.v1p3beta1.BatchOperationMetadata.State} state + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.state = 0; + + /** + * BatchOperationMetadata submitTime. + * @member {google.protobuf.ITimestamp|null|undefined} submitTime + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.submitTime = null; + + /** + * BatchOperationMetadata endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.endTime = null; + + /** + * Creates a new BatchOperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1p3beta1.IBatchOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.BatchOperationMetadata} BatchOperationMetadata instance + */ + BatchOperationMetadata.create = function create(properties) { + return new BatchOperationMetadata(properties); + }; + + /** + * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchOperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1p3beta1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchOperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.submitTime != null && message.hasOwnProperty("submitTime")) + $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.endTime != null && message.hasOwnProperty("endTime")) + $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchOperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1p3beta1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchOperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.BatchOperationMetadata} BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchOperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BatchOperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.state = reader.int32(); + break; + case 2: + message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 3: + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.BatchOperationMetadata} BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchOperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchOperationMetadata message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchOperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.submitTime != null && message.hasOwnProperty("submitTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.submitTime); + if (error) + return "submitTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.endTime); + if (error) + return "endTime." + error; + } + return null; + }; + + /** + * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.BatchOperationMetadata} BatchOperationMetadata + */ + BatchOperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.BatchOperationMetadata) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.BatchOperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "PROCESSING": + case 1: + message.state = 1; + break; + case "SUCCESSFUL": + case 2: + message.state = 2; + break; + case "FAILED": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.submitTime != null) { + if (typeof object.submitTime !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.BatchOperationMetadata.submitTime: object expected"); + message.submitTime = $root.google.protobuf.Timestamp.fromObject(object.submitTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.BatchOperationMetadata.endTime: object expected"); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + } + return message; + }; + + /** + * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1p3beta1.BatchOperationMetadata} message BatchOperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchOperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.submitTime = null; + object.endTime = null; + } + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1p3beta1.BatchOperationMetadata.State[message.state] : message.state; + if (message.submitTime != null && message.hasOwnProperty("submitTime")) + object.submitTime = $root.google.protobuf.Timestamp.toObject(message.submitTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); + return object; + }; + + /** + * Converts this BatchOperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @instance + * @returns {Object.} JSON object + */ + BatchOperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * State enum. + * @name google.cloud.vision.v1p3beta1.BatchOperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} PROCESSING=1 PROCESSING value + * @property {number} SUCCESSFUL=2 SUCCESSFUL value + * @property {number} FAILED=3 FAILED value + * @property {number} CANCELLED=4 CANCELLED value + */ + BatchOperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "PROCESSING"] = 1; + values[valuesById[2] = "SUCCESSFUL"] = 2; + values[valuesById[3] = "FAILED"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return BatchOperationMetadata; + })(); + + v1p3beta1.TextAnnotation = (function() { + + /** + * Properties of a TextAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ITextAnnotation + * @property {Array.|null} [pages] TextAnnotation pages + * @property {string|null} [text] TextAnnotation text + */ + + /** + * Constructs a new TextAnnotation. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation + * @constructor + * @param {google.cloud.vision.v1p3beta1.ITextAnnotation=} [properties] Properties to set + */ + function TextAnnotation(properties) { + this.pages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextAnnotation pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.pages = $util.emptyArray; + + /** + * TextAnnotation text. + * @member {string} text + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.text = ""; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation} TextAnnotation instance + */ + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); + }; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pages != null && message.pages.length) + for (var i = 0; i < message.pages.length; ++i) + $root.google.cloud.vision.v1p3beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); + return writer; + }; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.TextAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p3beta1.Page.decode(reader, reader.uint32())); + break; + case 2: + message.text = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Page.verify(message.pages[i]); + if (error) + return "pages." + error; + } + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + return null; + }; + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation} TextAnnotation + */ + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.TextAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.TextAnnotation(); + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1p3beta1.TextAnnotation.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) { + if (typeof object.pages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.TextAnnotation.pages: object expected"); + message.pages[i] = $root.google.cloud.vision.v1p3beta1.Page.fromObject(object.pages[i]); + } + } + if (object.text != null) + message.text = String(object.text); + return message; + }; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation} message TextAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pages = []; + if (options.defaults) + object.text = ""; + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = $root.google.cloud.vision.v1p3beta1.Page.toObject(message.pages[j], options); + } + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + return object; + }; + + /** + * Converts this TextAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @instance + * @returns {Object.} JSON object + */ + TextAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + TextAnnotation.DetectedLanguage = (function() { + + /** + * Properties of a DetectedLanguage. + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @interface IDetectedLanguage + * @property {string|null} [languageCode] DetectedLanguage languageCode + * @property {number|null} [confidence] DetectedLanguage confidence + */ + + /** + * Constructs a new DetectedLanguage. + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @classdesc Represents a DetectedLanguage. + * @implements IDetectedLanguage + * @constructor + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + */ + function DetectedLanguage(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]]; + } + + /** + * DetectedLanguage languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.languageCode = ""; + + /** + * DetectedLanguage confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.confidence = 0; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage} DetectedLanguage instance + */ + DetectedLanguage.create = function create(properties) { + return new DetectedLanguage(properties); + }; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.languageCode = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedLanguage message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedLanguage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + */ + DetectedLanguage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage(); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage} message DetectedLanguage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedLanguage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.languageCode = ""; + object.confidence = 0; + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this DetectedLanguage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @instance + * @returns {Object.} JSON object + */ + DetectedLanguage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DetectedLanguage; + })(); + + TextAnnotation.DetectedBreak = (function() { + + /** + * Properties of a DetectedBreak. + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @interface IDetectedBreak + * @property {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType|null} [type] DetectedBreak type + * @property {boolean|null} [isPrefix] DetectedBreak isPrefix + */ + + /** + * Constructs a new DetectedBreak. + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @classdesc Represents a DetectedBreak. + * @implements IDetectedBreak + * @constructor + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + */ + function DetectedBreak(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]]; + } + + /** + * DetectedBreak type. + * @member {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType} type + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.type = 0; + + /** + * DetectedBreak isPrefix. + * @member {boolean} isPrefix + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.isPrefix = false; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak} DetectedBreak instance + */ + DetectedBreak.create = function create(properties) { + return new DetectedBreak(properties); + }; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); + return writer; + }; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.isPrefix = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedBreak message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedBreak.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: + case 3: + case 4: + case 5: + break; + } + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (typeof message.isPrefix !== "boolean") + return "isPrefix: boolean expected"; + return null; + }; + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak} DetectedBreak + */ + DetectedBreak.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak(); + switch (object.type) { + case "UNKNOWN": + case 0: + message.type = 0; + break; + case "SPACE": + case 1: + message.type = 1; + break; + case "SURE_SPACE": + case 2: + message.type = 2; + break; + case "EOL_SURE_SPACE": + case 3: + message.type = 3; + break; + case "HYPHEN": + case 4: + message.type = 4; + break; + case "LINE_BREAK": + case 5: + message.type = 5; + break; + } + if (object.isPrefix != null) + message.isPrefix = Boolean(object.isPrefix); + return message; + }; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak} message DetectedBreak + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedBreak.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN" : 0; + object.isPrefix = false; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + object.isPrefix = message.isPrefix; + return object; + }; + + /** + * Converts this DetectedBreak to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @instance + * @returns {Object.} JSON object + */ + DetectedBreak.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BreakType enum. + * @name google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} SPACE=1 SPACE value + * @property {number} SURE_SPACE=2 SURE_SPACE value + * @property {number} EOL_SURE_SPACE=3 EOL_SURE_SPACE value + * @property {number} HYPHEN=4 HYPHEN value + * @property {number} LINE_BREAK=5 LINE_BREAK value + */ + DetectedBreak.BreakType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "SPACE"] = 1; + values[valuesById[2] = "SURE_SPACE"] = 2; + values[valuesById[3] = "EOL_SURE_SPACE"] = 3; + values[valuesById[4] = "HYPHEN"] = 4; + values[valuesById[5] = "LINE_BREAK"] = 5; + return values; + })(); + + return DetectedBreak; + })(); + + TextAnnotation.TextProperty = (function() { + + /** + * Properties of a TextProperty. + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @interface ITextProperty + * @property {Array.|null} [detectedLanguages] TextProperty detectedLanguages + * @property {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak|null} [detectedBreak] TextProperty detectedBreak + */ + + /** + * Constructs a new TextProperty. + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @classdesc Represents a TextProperty. + * @implements ITextProperty + * @constructor + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + */ + function TextProperty(properties) { + this.detectedLanguages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextProperty detectedLanguages. + * @member {Array.} detectedLanguages + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedLanguages = $util.emptyArray; + + /** + * TextProperty detectedBreak. + * @member {google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak|null|undefined} detectedBreak + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedBreak = null; + + /** + * Creates a new TextProperty instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty} TextProperty instance + */ + TextProperty.create = function create(properties) { + return new TextProperty(properties); + }; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.detectedLanguages != null && message.detectedLanguages.length) + for (var i = 0; i < message.detectedLanguages.length; ++i) + $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + case 2: + message.detectedBreak = $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextProperty message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextProperty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.detectedLanguages != null && message.hasOwnProperty("detectedLanguages")) { + if (!Array.isArray(message.detectedLanguages)) + return "detectedLanguages: array expected"; + for (var i = 0; i < message.detectedLanguages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.verify(message.detectedLanguages[i]); + if (error) + return "detectedLanguages." + error; + } + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) { + var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.verify(message.detectedBreak); + if (error) + return "detectedBreak." + error; + } + return null; + }; + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty} TextProperty + */ + TextProperty.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty(); + if (object.detectedLanguages) { + if (!Array.isArray(object.detectedLanguages)) + throw TypeError(".google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.detectedLanguages: array expected"); + message.detectedLanguages = []; + for (var i = 0; i < object.detectedLanguages.length; ++i) { + if (typeof object.detectedLanguages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.detectedLanguages: object expected"); + message.detectedLanguages[i] = $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.fromObject(object.detectedLanguages[i]); + } + } + if (object.detectedBreak != null) { + if (typeof object.detectedBreak !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.detectedBreak: object expected"); + message.detectedBreak = $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.fromObject(object.detectedBreak); + } + return message; + }; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty} message TextProperty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextProperty.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.detectedLanguages = []; + if (options.defaults) + object.detectedBreak = null; + if (message.detectedLanguages && message.detectedLanguages.length) { + object.detectedLanguages = []; + for (var j = 0; j < message.detectedLanguages.length; ++j) + object.detectedLanguages[j] = $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.toObject(message.detectedLanguages[j], options); + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + object.detectedBreak = $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.toObject(message.detectedBreak, options); + return object; + }; + + /** + * Converts this TextProperty to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @instance + * @returns {Object.} JSON object + */ + TextProperty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextProperty; + })(); + + return TextAnnotation; + })(); + + v1p3beta1.Page = (function() { + + /** + * Properties of a Page. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IPage + * @property {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null} [property] Page property + * @property {number|null} [width] Page width + * @property {number|null} [height] Page height + * @property {Array.|null} [blocks] Page blocks + * @property {number|null} [confidence] Page confidence + */ + + /** + * Constructs a new Page. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Page. + * @implements IPage + * @constructor + * @param {google.cloud.vision.v1p3beta1.IPage=} [properties] Properties to set + */ + function Page(properties) { + this.blocks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Page property. + * @member {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p3beta1.Page + * @instance + */ + Page.prototype.property = null; + + /** + * Page width. + * @member {number} width + * @memberof google.cloud.vision.v1p3beta1.Page + * @instance + */ + Page.prototype.width = 0; + + /** + * Page height. + * @member {number} height + * @memberof google.cloud.vision.v1p3beta1.Page + * @instance + */ + Page.prototype.height = 0; + + /** + * Page blocks. + * @member {Array.} blocks + * @memberof google.cloud.vision.v1p3beta1.Page + * @instance + */ + Page.prototype.blocks = $util.emptyArray; + + /** + * Page confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.Page + * @instance + */ + Page.prototype.confidence = 0; + + /** + * Creates a new Page instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Page + * @static + * @param {google.cloud.vision.v1p3beta1.IPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Page} Page instance + */ + Page.create = function create(properties) { + return new Page(properties); + }; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Page.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Page + * @static + * @param {google.cloud.vision.v1p3beta1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.width != null && message.hasOwnProperty("width")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); + if (message.height != null && message.hasOwnProperty("height")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); + if (message.blocks != null && message.blocks.length) + for (var i = 0; i < message.blocks.length; ++i) + $root.google.cloud.vision.v1p3beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Page.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Page + * @static + * @param {google.cloud.vision.v1p3beta1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Page message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Page(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.width = reader.int32(); + break; + case 3: + message.height = reader.int32(); + break; + case 4: + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1p3beta1.Block.decode(reader, reader.uint32())); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Page message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Page + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Page.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.width != null && message.hasOwnProperty("width")) + if (!$util.isInteger(message.width)) + return "width: integer expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height)) + return "height: integer expected"; + if (message.blocks != null && message.hasOwnProperty("blocks")) { + if (!Array.isArray(message.blocks)) + return "blocks: array expected"; + for (var i = 0; i < message.blocks.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Block.verify(message.blocks[i]); + if (error) + return "blocks." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Page + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Page} Page + */ + Page.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Page) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Page(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Page.property: object expected"); + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.width != null) + message.width = object.width | 0; + if (object.height != null) + message.height = object.height | 0; + if (object.blocks) { + if (!Array.isArray(object.blocks)) + throw TypeError(".google.cloud.vision.v1p3beta1.Page.blocks: array expected"); + message.blocks = []; + for (var i = 0; i < object.blocks.length; ++i) { + if (typeof object.blocks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Page.blocks: object expected"); + message.blocks[i] = $root.google.cloud.vision.v1p3beta1.Block.fromObject(object.blocks[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Page + * @static + * @param {google.cloud.vision.v1p3beta1.Page} message Page + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Page.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.blocks = []; + if (options.defaults) { + object.property = null; + object.width = 0; + object.height = 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.width != null && message.hasOwnProperty("width")) + object.width = message.width; + if (message.height != null && message.hasOwnProperty("height")) + object.height = message.height; + if (message.blocks && message.blocks.length) { + object.blocks = []; + for (var j = 0; j < message.blocks.length; ++j) + object.blocks[j] = $root.google.cloud.vision.v1p3beta1.Block.toObject(message.blocks[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Page to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Page + * @instance + * @returns {Object.} JSON object + */ + Page.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Page; + })(); + + v1p3beta1.Block = (function() { + + /** + * Properties of a Block. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IBlock + * @property {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null} [property] Block property + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingBox] Block boundingBox + * @property {Array.|null} [paragraphs] Block paragraphs + * @property {google.cloud.vision.v1p3beta1.Block.BlockType|null} [blockType] Block blockType + * @property {number|null} [confidence] Block confidence + */ + + /** + * Constructs a new Block. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Block. + * @implements IBlock + * @constructor + * @param {google.cloud.vision.v1p3beta1.IBlock=} [properties] Properties to set + */ + function Block(properties) { + this.paragraphs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Block property. + * @member {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p3beta1.Block + * @instance + */ + Block.prototype.property = null; + + /** + * Block boundingBox. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p3beta1.Block + * @instance + */ + Block.prototype.boundingBox = null; + + /** + * Block paragraphs. + * @member {Array.} paragraphs + * @memberof google.cloud.vision.v1p3beta1.Block + * @instance + */ + Block.prototype.paragraphs = $util.emptyArray; + + /** + * Block blockType. + * @member {google.cloud.vision.v1p3beta1.Block.BlockType} blockType + * @memberof google.cloud.vision.v1p3beta1.Block + * @instance + */ + Block.prototype.blockType = 0; + + /** + * Block confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.Block + * @instance + */ + Block.prototype.confidence = 0; + + /** + * Creates a new Block instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Block + * @static + * @param {google.cloud.vision.v1p3beta1.IBlock=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Block} Block instance + */ + Block.create = function create(properties) { + return new Block(properties); + }; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Block.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Block + * @static + * @param {google.cloud.vision.v1p3beta1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.paragraphs != null && message.paragraphs.length) + for (var i = 0; i < message.paragraphs.length; ++i) + $root.google.cloud.vision.v1p3beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.blockType != null && message.hasOwnProperty("blockType")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Block.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Block + * @static + * @param {google.cloud.vision.v1p3beta1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Block message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Block(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1p3beta1.Paragraph.decode(reader, reader.uint32())); + break; + case 4: + message.blockType = reader.int32(); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Block message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Block + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Block.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.paragraphs != null && message.hasOwnProperty("paragraphs")) { + if (!Array.isArray(message.paragraphs)) + return "paragraphs: array expected"; + for (var i = 0; i < message.paragraphs.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Paragraph.verify(message.paragraphs[i]); + if (error) + return "paragraphs." + error; + } + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + switch (message.blockType) { + default: + return "blockType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Block + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Block} Block + */ + Block.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Block) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Block(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Block.property: object expected"); + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Block.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.paragraphs) { + if (!Array.isArray(object.paragraphs)) + throw TypeError(".google.cloud.vision.v1p3beta1.Block.paragraphs: array expected"); + message.paragraphs = []; + for (var i = 0; i < object.paragraphs.length; ++i) { + if (typeof object.paragraphs[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Block.paragraphs: object expected"); + message.paragraphs[i] = $root.google.cloud.vision.v1p3beta1.Paragraph.fromObject(object.paragraphs[i]); + } + } + switch (object.blockType) { + case "UNKNOWN": + case 0: + message.blockType = 0; + break; + case "TEXT": + case 1: + message.blockType = 1; + break; + case "TABLE": + case 2: + message.blockType = 2; + break; + case "PICTURE": + case 3: + message.blockType = 3; + break; + case "RULER": + case 4: + message.blockType = 4; + break; + case "BARCODE": + case 5: + message.blockType = 5; + break; + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Block + * @static + * @param {google.cloud.vision.v1p3beta1.Block} message Block + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Block.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paragraphs = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.blockType = options.enums === String ? "UNKNOWN" : 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.paragraphs && message.paragraphs.length) { + object.paragraphs = []; + for (var j = 0; j < message.paragraphs.length; ++j) + object.paragraphs[j] = $root.google.cloud.vision.v1p3beta1.Paragraph.toObject(message.paragraphs[j], options); + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + object.blockType = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Block.BlockType[message.blockType] : message.blockType; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Block to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Block + * @instance + * @returns {Object.} JSON object + */ + Block.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BlockType enum. + * @name google.cloud.vision.v1p3beta1.Block.BlockType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} TEXT=1 TEXT value + * @property {number} TABLE=2 TABLE value + * @property {number} PICTURE=3 PICTURE value + * @property {number} RULER=4 RULER value + * @property {number} BARCODE=5 BARCODE value + */ + Block.BlockType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "TEXT"] = 1; + values[valuesById[2] = "TABLE"] = 2; + values[valuesById[3] = "PICTURE"] = 3; + values[valuesById[4] = "RULER"] = 4; + values[valuesById[5] = "BARCODE"] = 5; + return values; + })(); + + return Block; + })(); + + v1p3beta1.Paragraph = (function() { + + /** + * Properties of a Paragraph. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IParagraph + * @property {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null} [property] Paragraph property + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingBox] Paragraph boundingBox + * @property {Array.|null} [words] Paragraph words + * @property {number|null} [confidence] Paragraph confidence + */ + + /** + * Constructs a new Paragraph. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Paragraph. + * @implements IParagraph + * @constructor + * @param {google.cloud.vision.v1p3beta1.IParagraph=} [properties] Properties to set + */ + function Paragraph(properties) { + this.words = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Paragraph property. + * @member {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @instance + */ + Paragraph.prototype.property = null; + + /** + * Paragraph boundingBox. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @instance + */ + Paragraph.prototype.boundingBox = null; + + /** + * Paragraph words. + * @member {Array.} words + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @instance + */ + Paragraph.prototype.words = $util.emptyArray; + + /** + * Paragraph confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @instance + */ + Paragraph.prototype.confidence = 0; + + /** + * Creates a new Paragraph instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p3beta1.IParagraph=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Paragraph} Paragraph instance + */ + Paragraph.create = function create(properties) { + return new Paragraph(properties); + }; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Paragraph.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p3beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.words != null && message.words.length) + for (var i = 0; i < message.words.length; ++i) + $root.google.cloud.vision.v1p3beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Paragraph.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p3beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Paragraph(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1p3beta1.Word.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Paragraph message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Paragraph.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.words != null && message.hasOwnProperty("words")) { + if (!Array.isArray(message.words)) + return "words: array expected"; + for (var i = 0; i < message.words.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Word.verify(message.words[i]); + if (error) + return "words." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Paragraph} Paragraph + */ + Paragraph.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Paragraph) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Paragraph(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Paragraph.property: object expected"); + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Paragraph.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.words) { + if (!Array.isArray(object.words)) + throw TypeError(".google.cloud.vision.v1p3beta1.Paragraph.words: array expected"); + message.words = []; + for (var i = 0; i < object.words.length; ++i) { + if (typeof object.words[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Paragraph.words: object expected"); + message.words[i] = $root.google.cloud.vision.v1p3beta1.Word.fromObject(object.words[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p3beta1.Paragraph} message Paragraph + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Paragraph.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.words = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.words && message.words.length) { + object.words = []; + for (var j = 0; j < message.words.length; ++j) + object.words[j] = $root.google.cloud.vision.v1p3beta1.Word.toObject(message.words[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Paragraph to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @instance + * @returns {Object.} JSON object + */ + Paragraph.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Paragraph; + })(); + + v1p3beta1.Word = (function() { + + /** + * Properties of a Word. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IWord + * @property {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null} [property] Word property + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingBox] Word boundingBox + * @property {Array.|null} [symbols] Word symbols + * @property {number|null} [confidence] Word confidence + */ + + /** + * Constructs a new Word. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Word. + * @implements IWord + * @constructor + * @param {google.cloud.vision.v1p3beta1.IWord=} [properties] Properties to set + */ + function Word(properties) { + this.symbols = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Word property. + * @member {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p3beta1.Word + * @instance + */ + Word.prototype.property = null; + + /** + * Word boundingBox. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p3beta1.Word + * @instance + */ + Word.prototype.boundingBox = null; + + /** + * Word symbols. + * @member {Array.} symbols + * @memberof google.cloud.vision.v1p3beta1.Word + * @instance + */ + Word.prototype.symbols = $util.emptyArray; + + /** + * Word confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.Word + * @instance + */ + Word.prototype.confidence = 0; + + /** + * Creates a new Word instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Word + * @static + * @param {google.cloud.vision.v1p3beta1.IWord=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Word} Word instance + */ + Word.create = function create(properties) { + return new Word(properties); + }; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Word.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Word + * @static + * @param {google.cloud.vision.v1p3beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.symbols != null && message.symbols.length) + for (var i = 0; i < message.symbols.length; ++i) + $root.google.cloud.vision.v1p3beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Word.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Word + * @static + * @param {google.cloud.vision.v1p3beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Word message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Word(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1p3beta1.Symbol.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Word message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Word + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Word.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.symbols != null && message.hasOwnProperty("symbols")) { + if (!Array.isArray(message.symbols)) + return "symbols: array expected"; + for (var i = 0; i < message.symbols.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Symbol.verify(message.symbols[i]); + if (error) + return "symbols." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Word + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Word} Word + */ + Word.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Word) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Word(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Word.property: object expected"); + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Word.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.symbols) { + if (!Array.isArray(object.symbols)) + throw TypeError(".google.cloud.vision.v1p3beta1.Word.symbols: array expected"); + message.symbols = []; + for (var i = 0; i < object.symbols.length; ++i) { + if (typeof object.symbols[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Word.symbols: object expected"); + message.symbols[i] = $root.google.cloud.vision.v1p3beta1.Symbol.fromObject(object.symbols[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Word + * @static + * @param {google.cloud.vision.v1p3beta1.Word} message Word + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Word.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.symbols = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.symbols && message.symbols.length) { + object.symbols = []; + for (var j = 0; j < message.symbols.length; ++j) + object.symbols[j] = $root.google.cloud.vision.v1p3beta1.Symbol.toObject(message.symbols[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Word to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Word + * @instance + * @returns {Object.} JSON object + */ + Word.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Word; + })(); + + v1p3beta1.Symbol = (function() { + + /** + * Properties of a Symbol. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ISymbol + * @property {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null} [property] Symbol property + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingBox] Symbol boundingBox + * @property {string|null} [text] Symbol text + * @property {number|null} [confidence] Symbol confidence + */ + + /** + * Constructs a new Symbol. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Symbol. + * @implements ISymbol + * @constructor + * @param {google.cloud.vision.v1p3beta1.ISymbol=} [properties] Properties to set + */ + function Symbol(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]]; + } + + /** + * Symbol property. + * @member {google.cloud.vision.v1p3beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @instance + */ + Symbol.prototype.property = null; + + /** + * Symbol boundingBox. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @instance + */ + Symbol.prototype.boundingBox = null; + + /** + * Symbol text. + * @member {string} text + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @instance + */ + Symbol.prototype.text = ""; + + /** + * Symbol confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @instance + */ + Symbol.prototype.confidence = 0; + + /** + * Creates a new Symbol instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @static + * @param {google.cloud.vision.v1p3beta1.ISymbol=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Symbol} Symbol instance + */ + Symbol.create = function create(properties) { + return new Symbol(properties); + }; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Symbol.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @static + * @param {google.cloud.vision.v1p3beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Symbol.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @static + * @param {google.cloud.vision.v1p3beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Symbol(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + message.text = reader.string(); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Symbol message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Symbol.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Symbol} Symbol + */ + Symbol.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Symbol) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Symbol(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Symbol.property: object expected"); + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Symbol.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.text != null) + message.text = String(object.text); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @static + * @param {google.cloud.vision.v1p3beta1.Symbol} message Symbol + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Symbol.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.text = ""; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Symbol to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @instance + * @returns {Object.} JSON object + */ + Symbol.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Symbol; + })(); + + v1p3beta1.WebDetection = (function() { + + /** + * Properties of a WebDetection. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IWebDetection + * @property {Array.|null} [webEntities] WebDetection webEntities + * @property {Array.|null} [fullMatchingImages] WebDetection fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebDetection partialMatchingImages + * @property {Array.|null} [pagesWithMatchingImages] WebDetection pagesWithMatchingImages + * @property {Array.|null} [visuallySimilarImages] WebDetection visuallySimilarImages + * @property {Array.|null} [bestGuessLabels] WebDetection bestGuessLabels + */ + + /** + * Constructs a new WebDetection. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a WebDetection. + * @implements IWebDetection + * @constructor + * @param {google.cloud.vision.v1p3beta1.IWebDetection=} [properties] Properties to set + */ + function WebDetection(properties) { + this.webEntities = []; + this.fullMatchingImages = []; + this.partialMatchingImages = []; + this.pagesWithMatchingImages = []; + this.visuallySimilarImages = []; + this.bestGuessLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebDetection webEntities. + * @member {Array.} webEntities + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @instance + */ + WebDetection.prototype.webEntities = $util.emptyArray; + + /** + * WebDetection fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @instance + */ + WebDetection.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebDetection partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @instance + */ + WebDetection.prototype.partialMatchingImages = $util.emptyArray; + + /** + * WebDetection pagesWithMatchingImages. + * @member {Array.} pagesWithMatchingImages + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @instance + */ + WebDetection.prototype.pagesWithMatchingImages = $util.emptyArray; + + /** + * WebDetection visuallySimilarImages. + * @member {Array.} visuallySimilarImages + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @instance + */ + WebDetection.prototype.visuallySimilarImages = $util.emptyArray; + + /** + * WebDetection bestGuessLabels. + * @member {Array.} bestGuessLabels + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @instance + */ + WebDetection.prototype.bestGuessLabels = $util.emptyArray; + + /** + * Creates a new WebDetection instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p3beta1.IWebDetection=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.WebDetection} WebDetection instance + */ + WebDetection.create = function create(properties) { + return new WebDetection(properties); + }; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p3beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.webEntities != null && message.webEntities.length) + for (var i = 0; i < message.webEntities.length; ++i) + $root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity.encode(message.webEntities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.pagesWithMatchingImages != null && message.pagesWithMatchingImages.length) + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) + $root.google.cloud.vision.v1p3beta1.WebDetection.WebPage.encode(message.pagesWithMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.visuallySimilarImages != null && message.visuallySimilarImages.length) + for (var i = 0; i < message.visuallySimilarImages.length; ++i) + $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.encode(message.visuallySimilarImages[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.bestGuessLabels != null && message.bestGuessLabels.length) + for (var i = 0; i < message.bestGuessLabels.length; ++i) + $root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel.encode(message.bestGuessLabels[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p3beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.WebDetection(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 8: + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetection message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetection.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.webEntities != null && message.hasOwnProperty("webEntities")) { + if (!Array.isArray(message.webEntities)) + return "webEntities: array expected"; + for (var i = 0; i < message.webEntities.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity.verify(message.webEntities[i]); + if (error) + return "webEntities." + error; + } + } + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + if (message.pagesWithMatchingImages != null && message.hasOwnProperty("pagesWithMatchingImages")) { + if (!Array.isArray(message.pagesWithMatchingImages)) + return "pagesWithMatchingImages: array expected"; + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.WebPage.verify(message.pagesWithMatchingImages[i]); + if (error) + return "pagesWithMatchingImages." + error; + } + } + if (message.visuallySimilarImages != null && message.hasOwnProperty("visuallySimilarImages")) { + if (!Array.isArray(message.visuallySimilarImages)) + return "visuallySimilarImages: array expected"; + for (var i = 0; i < message.visuallySimilarImages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.verify(message.visuallySimilarImages[i]); + if (error) + return "visuallySimilarImages." + error; + } + } + if (message.bestGuessLabels != null && message.hasOwnProperty("bestGuessLabels")) { + if (!Array.isArray(message.bestGuessLabels)) + return "bestGuessLabels: array expected"; + for (var i = 0; i < message.bestGuessLabels.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel.verify(message.bestGuessLabels[i]); + if (error) + return "bestGuessLabels." + error; + } + } + return null; + }; + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.WebDetection} WebDetection + */ + WebDetection.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.WebDetection) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.WebDetection(); + if (object.webEntities) { + if (!Array.isArray(object.webEntities)) + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.webEntities: array expected"); + message.webEntities = []; + for (var i = 0; i < object.webEntities.length; ++i) { + if (typeof object.webEntities[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.webEntities: object expected"); + message.webEntities[i] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity.fromObject(object.webEntities[i]); + } + } + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + if (object.pagesWithMatchingImages) { + if (!Array.isArray(object.pagesWithMatchingImages)) + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.pagesWithMatchingImages: array expected"); + message.pagesWithMatchingImages = []; + for (var i = 0; i < object.pagesWithMatchingImages.length; ++i) { + if (typeof object.pagesWithMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.pagesWithMatchingImages: object expected"); + message.pagesWithMatchingImages[i] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebPage.fromObject(object.pagesWithMatchingImages[i]); + } + } + if (object.visuallySimilarImages) { + if (!Array.isArray(object.visuallySimilarImages)) + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.visuallySimilarImages: array expected"); + message.visuallySimilarImages = []; + for (var i = 0; i < object.visuallySimilarImages.length; ++i) { + if (typeof object.visuallySimilarImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.visuallySimilarImages: object expected"); + message.visuallySimilarImages[i] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.fromObject(object.visuallySimilarImages[i]); + } + } + if (object.bestGuessLabels) { + if (!Array.isArray(object.bestGuessLabels)) + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.bestGuessLabels: array expected"); + message.bestGuessLabels = []; + for (var i = 0; i < object.bestGuessLabels.length; ++i) { + if (typeof object.bestGuessLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.bestGuessLabels: object expected"); + message.bestGuessLabels[i] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel.fromObject(object.bestGuessLabels[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection} message WebDetection + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetection.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.webEntities = []; + object.fullMatchingImages = []; + object.partialMatchingImages = []; + object.pagesWithMatchingImages = []; + object.visuallySimilarImages = []; + object.bestGuessLabels = []; + } + if (message.webEntities && message.webEntities.length) { + object.webEntities = []; + for (var j = 0; j < message.webEntities.length; ++j) + object.webEntities[j] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity.toObject(message.webEntities[j], options); + } + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + if (message.pagesWithMatchingImages && message.pagesWithMatchingImages.length) { + object.pagesWithMatchingImages = []; + for (var j = 0; j < message.pagesWithMatchingImages.length; ++j) + object.pagesWithMatchingImages[j] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebPage.toObject(message.pagesWithMatchingImages[j], options); + } + if (message.visuallySimilarImages && message.visuallySimilarImages.length) { + object.visuallySimilarImages = []; + for (var j = 0; j < message.visuallySimilarImages.length; ++j) + object.visuallySimilarImages[j] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.toObject(message.visuallySimilarImages[j], options); + } + if (message.bestGuessLabels && message.bestGuessLabels.length) { + object.bestGuessLabels = []; + for (var j = 0; j < message.bestGuessLabels.length; ++j) + object.bestGuessLabels[j] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel.toObject(message.bestGuessLabels[j], options); + } + return object; + }; + + /** + * Converts this WebDetection to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @instance + * @returns {Object.} JSON object + */ + WebDetection.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + WebDetection.WebEntity = (function() { + + /** + * Properties of a WebEntity. + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @interface IWebEntity + * @property {string|null} [entityId] WebEntity entityId + * @property {number|null} [score] WebEntity score + * @property {string|null} [description] WebEntity description + */ + + /** + * Constructs a new WebEntity. + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @classdesc Represents a WebEntity. + * @implements IWebEntity + * @constructor + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebEntity=} [properties] Properties to set + */ + function WebEntity(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]]; + } + + /** + * WebEntity entityId. + * @member {string} entityId + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.entityId = ""; + + /** + * WebEntity score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.score = 0; + + /** + * WebEntity description. + * @member {string} description + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.description = ""; + + /** + * Creates a new WebEntity instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebEntity=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebEntity} WebEntity instance + */ + WebEntity.create = function create(properties) { + return new WebEntity(properties); + }; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebEntity.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entityId != null && message.hasOwnProperty("entityId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + return writer; + }; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebEntity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.description = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebEntity message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebEntity.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entityId != null && message.hasOwnProperty("entityId")) + if (!$util.isString(message.entityId)) + return "entityId: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + return null; + }; + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebEntity} WebEntity + */ + WebEntity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.score != null) + message.score = Number(object.score); + if (object.description != null) + message.description = String(object.description); + return message; + }; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.WebEntity} message WebEntity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebEntity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.score = 0; + object.description = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + return object; + }; + + /** + * Converts this WebEntity to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @instance + * @returns {Object.} JSON object + */ + WebEntity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebEntity; + })(); + + WebDetection.WebImage = (function() { + + /** + * Properties of a WebImage. + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @interface IWebImage + * @property {string|null} [url] WebImage url + * @property {number|null} [score] WebImage score + */ + + /** + * Constructs a new WebImage. + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @classdesc Represents a WebImage. + * @implements IWebImage + * @constructor + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebImage=} [properties] Properties to set + */ + function WebImage(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]]; + } + + /** + * WebImage url. + * @member {string} url + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.url = ""; + + /** + * WebImage score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.score = 0; + + /** + * Creates a new WebImage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebImage} WebImage instance + */ + WebImage.create = function create(properties) { + return new WebImage(properties); + }; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebImage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + return writer; + }; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebImage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebImage message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebImage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + return null; + }; + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebImage} WebImage + */ + WebImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + return message; + }; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.WebImage} message WebImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.url = ""; + object.score = 0; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + return object; + }; + + /** + * Converts this WebImage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @instance + * @returns {Object.} JSON object + */ + WebImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebImage; + })(); + + WebDetection.WebPage = (function() { + + /** + * Properties of a WebPage. + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @interface IWebPage + * @property {string|null} [url] WebPage url + * @property {number|null} [score] WebPage score + * @property {string|null} [pageTitle] WebPage pageTitle + * @property {Array.|null} [fullMatchingImages] WebPage fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebPage partialMatchingImages + */ + + /** + * Constructs a new WebPage. + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @classdesc Represents a WebPage. + * @implements IWebPage + * @constructor + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebPage=} [properties] Properties to set + */ + function WebPage(properties) { + this.fullMatchingImages = []; + this.partialMatchingImages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebPage url. + * @member {string} url + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.url = ""; + + /** + * WebPage score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.score = 0; + + /** + * WebPage pageTitle. + * @member {string} pageTitle + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.pageTitle = ""; + + /** + * WebPage fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebPage partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.partialMatchingImages = $util.emptyArray; + + /** + * Creates a new WebPage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebPage} WebPage instance + */ + WebPage.create = function create(properties) { + return new WebPage(properties); + }; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebPage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebPage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.WebDetection.WebPage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pageTitle = reader.string(); + break; + case 4: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebPage message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebPage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (!$util.isString(message.pageTitle)) + return "pageTitle: string expected"; + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + return null; + }; + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebPage} WebPage + */ + WebPage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.WebDetection.WebPage) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.WebDetection.WebPage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + if (object.pageTitle != null) + message.pageTitle = String(object.pageTitle); + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.WebPage.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.WebPage.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.WebPage.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.WebDetection.WebPage.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.WebPage} message WebPage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebPage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.fullMatchingImages = []; + object.partialMatchingImages = []; + } + if (options.defaults) { + object.url = ""; + object.score = 0; + object.pageTitle = ""; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + object.pageTitle = message.pageTitle; + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + return object; + }; + + /** + * Converts this WebPage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @instance + * @returns {Object.} JSON object + */ + WebPage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebPage; + })(); + + WebDetection.WebLabel = (function() { + + /** + * Properties of a WebLabel. + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @interface IWebLabel + * @property {string|null} [label] WebLabel label + * @property {string|null} [languageCode] WebLabel languageCode + */ + + /** + * Constructs a new WebLabel. + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @classdesc Represents a WebLabel. + * @implements IWebLabel + * @constructor + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebLabel=} [properties] Properties to set + */ + function WebLabel(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]]; + } + + /** + * WebLabel label. + * @member {string} label + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.label = ""; + + /** + * WebLabel languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.languageCode = ""; + + /** + * Creates a new WebLabel instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebLabel=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebLabel} WebLabel instance + */ + WebLabel.create = function create(properties) { + return new WebLabel(properties); + }; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.label != null && message.hasOwnProperty("label")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.label = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebLabel message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebLabel.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.label != null && message.hasOwnProperty("label")) + if (!$util.isString(message.label)) + return "label: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.WebDetection.WebLabel} WebLabel + */ + WebLabel.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel(); + if (object.label != null) + message.label = String(object.label); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p3beta1.WebDetection.WebLabel} message WebLabel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebLabel.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.label = ""; + object.languageCode = ""; + } + if (message.label != null && message.hasOwnProperty("label")) + object.label = message.label; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this WebLabel to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @instance + * @returns {Object.} JSON object + */ + WebLabel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebLabel; + })(); + + return WebDetection; + })(); + + return v1p3beta1; + })(); + + vision.v1p4beta1 = (function() { + + /** + * Namespace v1p4beta1. + * @memberof google.cloud.vision + * @namespace + */ + var v1p4beta1 = {}; + + v1p4beta1.ImageAnnotator = (function() { + + /** + * Constructs a new ImageAnnotator service. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an ImageAnnotator + * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; + + /** + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + */ + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + */ + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateFiles}. + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @typedef BatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} [response] BatchAnnotateFilesResponse + */ + + /** + * Calls BatchAnnotateFiles. + * @function batchAnnotateFiles + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateFiles = function batchAnnotateFiles(request, callback) { + return this.rpcCall(batchAnnotateFiles, $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest, $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse, request, callback); + }, "name", { value: "BatchAnnotateFiles" }); + + /** + * Calls BatchAnnotateFiles. + * @function batchAnnotateFiles + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateImages}. + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @typedef AsyncBatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AsyncBatchAnnotateImages. + * @function asyncBatchAnnotateImages + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateImages = function asyncBatchAnnotateImages(request, callback) { + return this.rpcCall(asyncBatchAnnotateImages, $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateImages" }); + + /** + * Calls AsyncBatchAnnotateImages. + * @function asyncBatchAnnotateImages + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @typedef AsyncBatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { + return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateFiles" }); + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ImageAnnotator; + })(); + + v1p4beta1.Feature = (function() { + + /** + * Properties of a Feature. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IFeature + * @property {google.cloud.vision.v1p4beta1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model + */ + + /** + * Constructs a new Feature. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Feature. + * @implements IFeature + * @constructor + * @param {google.cloud.vision.v1p4beta1.IFeature=} [properties] Properties to set + */ + function Feature(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]]; + } + + /** + * Feature type. + * @member {google.cloud.vision.v1p4beta1.Feature.Type} type + * @memberof google.cloud.vision.v1p4beta1.Feature + * @instance + */ + Feature.prototype.type = 0; + + /** + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1p4beta1.Feature + * @instance + */ + Feature.prototype.maxResults = 0; + + /** + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1p4beta1.Feature + * @instance + */ + Feature.prototype.model = ""; + + /** + * Creates a new Feature instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Feature + * @static + * @param {google.cloud.vision.v1p4beta1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Feature} Feature instance + */ + Feature.create = function create(properties) { + return new Feature(properties); + }; + + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Feature + * @static + * @param {google.cloud.vision.v1p4beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + return writer; + }; + + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Feature + * @static + * @param {google.cloud.vision.v1p4beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Feature message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Feature(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.maxResults = reader.int32(); + break; + case 3: + message.model = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Feature message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Feature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Feature.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: + case 3: + case 4: + case 5: + case 11: + case 6: + case 7: + case 9: + case 10: + case 12: + case 19: + break; + } + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Feature + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Feature} Feature + */ + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Feature) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": + case 0: + message.type = 0; + break; + case "FACE_DETECTION": + case 1: + message.type = 1; + break; + case "LANDMARK_DETECTION": + case 2: + message.type = 2; + break; + case "LOGO_DETECTION": + case 3: + message.type = 3; + break; + case "LABEL_DETECTION": + case 4: + message.type = 4; + break; + case "TEXT_DETECTION": + case 5: + message.type = 5; + break; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; + break; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; + break; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; + break; + case "CROP_HINTS": + case 9: + message.type = 9; + break; + case "WEB_DETECTION": + case 10: + message.type = 10; + break; + case "PRODUCT_SEARCH": + case 12: + message.type = 12; + break; + case "OBJECT_LOCALIZATION": + case 19: + message.type = 19; + break; + } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); + return message; + }; + + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Feature + * @static + * @param {google.cloud.vision.v1p4beta1.Feature} message Feature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Feature.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; + + /** + * Converts this Feature to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Feature + * @instance + * @returns {Object.} JSON object + */ + Feature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1p4beta1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + * @property {number} PRODUCT_SEARCH=12 PRODUCT_SEARCH value + * @property {number} OBJECT_LOCALIZATION=19 OBJECT_LOCALIZATION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + values[valuesById[12] = "PRODUCT_SEARCH"] = 12; + values[valuesById[19] = "OBJECT_LOCALIZATION"] = 19; + return values; + })(); + + return Feature; + })(); + + v1p4beta1.ImageSource = (function() { + + /** + * Properties of an ImageSource. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri + */ + + /** + * Constructs a new ImageSource. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an ImageSource. + * @implements IImageSource + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImageSource=} [properties] Properties to set + */ + function ImageSource(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]]; + } + + /** + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @instance + */ + ImageSource.prototype.gcsImageUri = ""; + + /** + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @instance + */ + ImageSource.prototype.imageUri = ""; + + /** + * Creates a new ImageSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p4beta1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource instance + */ + ImageSource.create = function create(properties) { + return new ImageSource(properties); + }; + + /** + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p4beta1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + return writer; + }; + + /** + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p4beta1.IImageSource} message ImageSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsImageUri = reader.string(); + break; + case 2: + message.imageUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageSource message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; + return null; + }; + + /** + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource + */ + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageSource) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); + return message; + }; + + /** + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @static + * @param {google.cloud.vision.v1p4beta1.ImageSource} message ImageSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsImageUri = ""; + object.imageUri = ""; + } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; + return object; + }; + + /** + * Converts this ImageSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @instance + * @returns {Object.} JSON object + */ + ImageSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageSource; + })(); + + v1p4beta1.Image = (function() { + + /** + * Properties of an Image. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1p4beta1.IImageSource|null} [source] Image source + */ + + /** + * Constructs a new Image. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an Image. + * @implements IImage + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImage=} [properties] Properties to set + */ + function Image(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]]; + } + + /** + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p4beta1.Image + * @instance + */ + Image.prototype.content = $util.newBuffer([]); + + /** + * Image source. + * @member {google.cloud.vision.v1p4beta1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1p4beta1.Image + * @instance + */ + Image.prototype.source = null; + + /** + * Creates a new Image instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Image + * @static + * @param {google.cloud.vision.v1p4beta1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Image} Image instance + */ + Image.create = function create(properties) { + return new Image(properties); + }; + + /** + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Image + * @static + * @param {google.cloud.vision.v1p4beta1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1p4beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Image + * @static + * @param {google.cloud.vision.v1p4beta1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Image.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Image message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Image(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.content = reader.bytes(); + break; + case 2: + message.source = $root.google.cloud.vision.v1p4beta1.ImageSource.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Image message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Image + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Image} Image + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Image.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Image message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Image + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Image.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageSource.verify(message.source); + if (error) + return "source." + error; + } + return null; + }; + + /** + * Creates an Image message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Image + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Image} Image + */ + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Image) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1p4beta1.ImageSource.fromObject(object.source); + } + return message; + }; + + /** + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Image + * @static + * @param {google.cloud.vision.v1p4beta1.Image} message Image + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Image.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; + } + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1p4beta1.ImageSource.toObject(message.source, options); + return object; + }; + + /** + * Converts this Image to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Image + * @instance + * @returns {Object.} JSON object + */ + Image.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Image; + })(); + + /** + * Likelihood enum. + * @name google.cloud.vision.v1p4beta1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1p4beta1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1p4beta1.FaceAnnotation = (function() { + + /** + * Properties of a FaceAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + */ + + /** + * Constructs a new FaceAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation + * @constructor + * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation=} [properties] Properties to set + */ + function FaceAnnotation(properties) { + this.landmarks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.boundingPoly = null; + + /** + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.fdBoundingPoly = null; + + /** + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarks = $util.emptyArray; + + /** + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.rollAngle = 0; + + /** + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.panAngle = 0; + + /** + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.tiltAngle = 0; + + /** + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.detectionConfidence = 0; + + /** + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarkingConfidence = 0; + + /** + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.joyLikelihood = 0; + + /** + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.sorrowLikelihood = 0; + + /** + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation instance + */ + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); + }; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + return writer; + }; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + case 4: + message.rollAngle = reader.float(); + break; + case 5: + message.panAngle = reader.float(); + break; + case 6: + message.tiltAngle = reader.float(); + break; + case 7: + message.detectionConfidence = reader.float(); + break; + case 8: + message.landmarkingConfidence = reader.float(); + break; + case 9: + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; + } + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { + default: + return "joyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { + default: + return "sorrowLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { + default: + return "angerLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { + default: + return "surpriseLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { + default: + return "underExposedLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { + default: + return "blurredLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { + default: + return "headwearLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation + */ + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.fdBoundingPoly); + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); + } + } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { + case "UNKNOWN": + case 0: + message.joyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.joyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.joyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.joyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.joyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.joyLikelihood = 5; + break; + } + switch (object.sorrowLikelihood) { + case "UNKNOWN": + case 0: + message.sorrowLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.sorrowLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.sorrowLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.sorrowLikelihood = 3; + break; + case "LIKELY": + case 4: + message.sorrowLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.sorrowLikelihood = 5; + break; + } + switch (object.angerLikelihood) { + case "UNKNOWN": + case 0: + message.angerLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.angerLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.angerLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.angerLikelihood = 3; + break; + case "LIKELY": + case 4: + message.angerLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.angerLikelihood = 5; + break; + } + switch (object.surpriseLikelihood) { + case "UNKNOWN": + case 0: + message.surpriseLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.surpriseLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.surpriseLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.surpriseLikelihood = 3; + break; + case "LIKELY": + case 4: + message.surpriseLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.surpriseLikelihood = 5; + break; + } + switch (object.underExposedLikelihood) { + case "UNKNOWN": + case 0: + message.underExposedLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.underExposedLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.underExposedLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.underExposedLikelihood = 3; + break; + case "LIKELY": + case 4: + message.underExposedLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation} message FaceAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.landmarks = []; + if (options.defaults) { + object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + return object; + }; + + /** + * Converts this FaceAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + * @returns {Object.} JSON object + */ + FaceAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + FaceAnnotation.Landmark = (function() { + + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1p4beta1.IPosition|null} [position] Landmark position + */ + + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } + + /** + * Landmark type. + * @member {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; + + /** + * Landmark position. + * @member {google.cloud.vision.v1p4beta1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; + + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1p4beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1p4beta1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1p4beta1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": + case 1: + message.type = 1; + break; + case "RIGHT_EYE": + case 2: + message.type = 2; + break; + case "LEFT_OF_LEFT_EYEBROW": + case 3: + message.type = 3; + break; + case "RIGHT_OF_LEFT_EYEBROW": + case 4: + message.type = 4; + break; + case "LEFT_OF_RIGHT_EYEBROW": + case 5: + message.type = 5; + break; + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; + break; + } + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1p4beta1.Position.fromObject(object.position); + } + return message; + }; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1p4beta1.Position.toObject(message.position, options); + return object; + }; + + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); + + return Landmark; + })(); + + return FaceAnnotation; + })(); + + v1p4beta1.LocationInfo = (function() { + + /** + * Properties of a LocationInfo. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng + */ + + /** + * Constructs a new LocationInfo. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo + * @constructor + * @param {google.cloud.vision.v1p4beta1.ILocationInfo=} [properties] Properties to set + */ + function LocationInfo(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]]; + } + + /** + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @instance + */ + LocationInfo.prototype.latLng = null; + + /** + * Creates a new LocationInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p4beta1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo instance + */ + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); + }; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p4beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p4beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.LocationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocationInfo message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); + if (error) + return "latLng." + error; + } + return null; + }; + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo + */ + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.LocationInfo) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); + } + return message; + }; + + /** + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @static + * @param {google.cloud.vision.v1p4beta1.LocationInfo} message LocationInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocationInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); + return object; + }; + + /** + * Converts this LocationInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @instance + * @returns {Object.} JSON object + */ + LocationInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LocationInfo; + })(); + + v1p4beta1.Property = (function() { + + /** + * Properties of a Property. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value + */ + + /** + * Constructs a new Property. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Property. + * @implements IProperty + * @constructor + * @param {google.cloud.vision.v1p4beta1.IProperty=} [properties] Properties to set + */ + function Property(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]]; + } + + /** + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.Property + * @instance + */ + Property.prototype.name = ""; + + /** + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1p4beta1.Property + * @instance + */ + Property.prototype.value = ""; + + /** + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1p4beta1.Property + * @instance + */ + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Property instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Property + * @static + * @param {google.cloud.vision.v1p4beta1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Property} Property instance + */ + Property.create = function create(properties) { + return new Property(properties); + }; + + /** + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Property + * @static + * @param {google.cloud.vision.v1p4beta1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + return writer; + }; + + /** + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Property + * @static + * @param {google.cloud.vision.v1p4beta1.IProperty} message Property message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Property.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Property message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Property(); + 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: + message.uint64Value = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Property message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Property + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Property} Property + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Property.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Property message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Property + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Property.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; + return null; + }; + + /** + * Creates a Property message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Property + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Property} Property + */ + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Property) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Property + * @static + * @param {google.cloud.vision.v1p4beta1.Property} message Property + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Property.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + return object; + }; + + /** + * Converts this Property to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Property + * @instance + * @returns {Object.} JSON object + */ + Property.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Property; + })(); + + v1p4beta1.EntityAnnotation = (function() { + + /** + * Properties of an EntityAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties + */ + + /** + * Constructs a new EntityAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation + * @constructor + * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation=} [properties] Properties to set + */ + function EntityAnnotation(properties) { + this.locations = []; + this.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]]; + } + + /** + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.mid = ""; + + /** + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locale = ""; + + /** + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.score = 0; + + /** + * EntityAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.confidence = 0; + + /** + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.topicality = 0; + + /** + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation instance + */ + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); + }; + + /** + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1p4beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1p4beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.EntityAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.locale = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p4beta1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p4beta1.Property.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EntityAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EntityAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } + } + return null; + }; + + /** + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation + */ + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.EntityAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); + if (object.score != null) + message.score = Number(object.score); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1p4beta1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1p4beta1.Property.fromObject(object.properties[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.EntityAnnotation} message EntityAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EntityAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } + if (options.defaults) { + object.mid = ""; + object.locale = ""; + object.description = ""; + object.score = 0; + object.confidence = 0; + object.topicality = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1p4beta1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1p4beta1.Property.toObject(message.properties[j], options); + } + return object; + }; + + /** + * Converts this EntityAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + * @returns {Object.} JSON object + */ + EntityAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EntityAnnotation; + })(); + + v1p4beta1.LocalizedObjectAnnotation = (function() { + + /** + * Properties of a LocalizedObjectAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ILocalizedObjectAnnotation + * @property {string|null} [mid] LocalizedObjectAnnotation mid + * @property {string|null} [languageCode] LocalizedObjectAnnotation languageCode + * @property {string|null} [name] LocalizedObjectAnnotation name + * @property {number|null} [score] LocalizedObjectAnnotation score + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] LocalizedObjectAnnotation boundingPoly + */ + + /** + * Constructs a new LocalizedObjectAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a LocalizedObjectAnnotation. + * @implements ILocalizedObjectAnnotation + * @constructor + * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation=} [properties] Properties to set + */ + function LocalizedObjectAnnotation(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]]; + } + + /** + * LocalizedObjectAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.mid = ""; + + /** + * LocalizedObjectAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.languageCode = ""; + + /** + * LocalizedObjectAnnotation name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.name = ""; + + /** + * LocalizedObjectAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.score = 0; + + /** + * LocalizedObjectAnnotation boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.boundingPoly = null; + + /** + * Creates a new LocalizedObjectAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation instance + */ + LocalizedObjectAnnotation.create = function create(properties) { + return new LocalizedObjectAnnotation(properties); + }; + + /** + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalizedObjectAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocalizedObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalizedObjectAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + case 3: + message.name = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocalizedObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocalizedObjectAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocalizedObjectAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + return null; + }; + + /** + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + */ + LocalizedObjectAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.name != null) + message.name = String(object.name); + if (object.score != null) + message.score = Number(object.score); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + return message; + }; + + /** + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} message LocalizedObjectAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LocalizedObjectAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.mid = ""; + object.languageCode = ""; + object.name = ""; + object.score = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + return object; + }; + + /** + * Converts this LocalizedObjectAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @instance + * @returns {Object.} JSON object + */ + LocalizedObjectAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LocalizedObjectAnnotation; + })(); + + v1p4beta1.SafeSearchAnnotation = (function() { + + /** + * Properties of a SafeSearchAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [racy] SafeSearchAnnotation racy + */ + + /** + * Constructs a new SafeSearchAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation + * @constructor + * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation=} [properties] Properties to set + */ + function SafeSearchAnnotation(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]]; + } + + /** + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1p4beta1.Likelihood} adult + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.adult = 0; + + /** + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1p4beta1.Likelihood} spoof + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoof = 0; + + /** + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1p4beta1.Likelihood} medical + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medical = 0; + + /** + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1p4beta1.Likelihood} violence + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1p4beta1.Likelihood} racy + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation instance + */ + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); + }; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); + return writer; + }; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.adult = reader.int32(); + break; + case 2: + message.spoof = reader.int32(); + break; + case 3: + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SafeSearchAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SafeSearchAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation + */ + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SafeSearchAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; + } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.racy] : message.racy; + return object; + }; + + /** + * Converts this SafeSearchAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + * @returns {Object.} JSON object + */ + SafeSearchAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SafeSearchAnnotation; + })(); + + v1p4beta1.LatLongRect = (function() { + + /** + * Properties of a LatLongRect. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng + */ + + /** + * Constructs a new LatLongRect. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect + * @constructor + * @param {google.cloud.vision.v1p4beta1.ILatLongRect=} [properties] Properties to set + */ + function LatLongRect(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]]; + } + + /** + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.minLatLng = null; + + /** + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.maxLatLng = null; + + /** + * Creates a new LatLongRect instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p4beta1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect instance + */ + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); + }; + + /** + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p4beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p4beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.LatLongRect(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + case 2: + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLongRect.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LatLongRect message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LatLongRect.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); + if (error) + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; + } + return null; + }; + + /** + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect + */ + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.LatLongRect) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); + } + return message; + }; + + /** + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @static + * @param {google.cloud.vision.v1p4beta1.LatLongRect} message LatLongRect + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LatLongRect.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.minLatLng = null; + object.maxLatLng = null; + } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); + return object; + }; + + /** + * Converts this LatLongRect to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @instance + * @returns {Object.} JSON object + */ + LatLongRect.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LatLongRect; + })(); + + v1p4beta1.ColorInfo = (function() { + + /** + * Properties of a ColorInfo. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction + */ + + /** + * Constructs a new ColorInfo. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ColorInfo. + * @implements IColorInfo + * @constructor + * @param {google.cloud.vision.v1p4beta1.IColorInfo=} [properties] Properties to set + */ + function ColorInfo(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]]; + } + + /** + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.color = null; + + /** + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.score = 0; + + /** + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.pixelFraction = 0; + + /** + * Creates a new ColorInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p4beta1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo instance + */ + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); + }; + + /** + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p4beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); + return writer; + }; + + /** + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p4beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ColorInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pixelFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ColorInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ColorInfo message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ColorInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); + if (error) + return "color." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; + return null; + }; + + /** + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo + */ + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ColorInfo) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); + } + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); + return message; + }; + + /** + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @static + * @param {google.cloud.vision.v1p4beta1.ColorInfo} message ColorInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ColorInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.color = null; + object.score = 0; + object.pixelFraction = 0; + } + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; + return object; + }; + + /** + * Converts this ColorInfo to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @instance + * @returns {Object.} JSON object + */ + ColorInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ColorInfo; + })(); + + v1p4beta1.DominantColorsAnnotation = (function() { + + /** + * Properties of a DominantColorsAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors + */ + + /** + * Constructs a new DominantColorsAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation + * @constructor + * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation=} [properties] Properties to set + */ + function DominantColorsAnnotation(properties) { + this.colors = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @instance + */ + DominantColorsAnnotation.prototype.colors = $util.emptyArray; + + /** + * Creates a new DominantColorsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation instance + */ + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); + }; + + /** + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1p4beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p4beta1.ColorInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DominantColorsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DominantColorsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ColorInfo.verify(message.colors[i]); + if (error) + return "colors." + error; + } + } + return null; + }; + + /** + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation + */ + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1p4beta1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1p4beta1.ColorInfo.fromObject(object.colors[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DominantColorsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1p4beta1.ColorInfo.toObject(message.colors[j], options); + } + return object; + }; + + /** + * Converts this DominantColorsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @instance + * @returns {Object.} JSON object + */ + DominantColorsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DominantColorsAnnotation; + })(); + + v1p4beta1.ImageProperties = (function() { + + /** + * Properties of an ImageProperties. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IImageProperties + * @property {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + */ + + /** + * Constructs a new ImageProperties. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an ImageProperties. + * @implements IImageProperties + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImageProperties=} [properties] Properties to set + */ + function ImageProperties(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]]; + } + + /** + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @instance + */ + ImageProperties.prototype.dominantColors = null; + + /** + * Creates a new ImageProperties instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p4beta1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties instance + */ + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); + }; + + /** + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p4beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p4beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageProperties(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageProperties.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageProperties message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageProperties.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify(message.dominantColors); + if (error) + return "dominantColors." + error; + } + return null; + }; + + /** + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties + */ + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageProperties) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.fromObject(object.dominantColors); + } + return message; + }; + + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @static + * @param {google.cloud.vision.v1p4beta1.ImageProperties} message ImageProperties + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageProperties.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); + return object; + }; + + /** + * Converts this ImageProperties to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @instance + * @returns {Object.} JSON object + */ + ImageProperties.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageProperties; + })(); + + v1p4beta1.CropHint = (function() { + + /** + * Properties of a CropHint. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ICropHint + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction + */ + + /** + * Constructs a new CropHint. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a CropHint. + * @implements ICropHint + * @constructor + * @param {google.cloud.vision.v1p4beta1.ICropHint=} [properties] Properties to set + */ + function CropHint(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]]; + } + + /** + * CropHint boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @instance + */ + CropHint.prototype.boundingPoly = null; + + /** + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @instance + */ + CropHint.prototype.confidence = 0; + + /** + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @instance + */ + CropHint.prototype.importanceFraction = 0; + + /** + * Creates a new CropHint instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @static + * @param {google.cloud.vision.v1p4beta1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint instance + */ + CropHint.create = function create(properties) { + return new CropHint(properties); + }; + + /** + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @static + * @param {google.cloud.vision.v1p4beta1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + return writer; + }; + + /** + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @static + * @param {google.cloud.vision.v1p4beta1.ICropHint} message CropHint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHint.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHint message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CropHint(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.confidence = reader.float(); + break; + case 3: + message.importanceFraction = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHint message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHint.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHint message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHint.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; + return null; + }; + + /** + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint + */ + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CropHint) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); + return message; + }; + + /** + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @static + * @param {google.cloud.vision.v1p4beta1.CropHint} message CropHint + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHint.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; + return object; + }; + + /** + * Converts this CropHint to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @instance + * @returns {Object.} JSON object + */ + CropHint.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHint; + })(); + + v1p4beta1.CropHintsAnnotation = (function() { + + /** + * Properties of a CropHintsAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + */ + + /** + * Constructs a new CropHintsAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation + * @constructor + * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation=} [properties] Properties to set + */ + function CropHintsAnnotation(properties) { + this.cropHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @instance + */ + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + + /** + * Creates a new CropHintsAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation instance + */ + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); + }; + + /** + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1p4beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p4beta1.CropHint.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.CropHint.verify(message.cropHints[i]); + if (error) + return "cropHints." + error; + } + } + return null; + }; + + /** + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation + */ + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1p4beta1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1p4beta1.CropHint.fromObject(object.cropHints[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.CropHintsAnnotation} message CropHintsAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1p4beta1.CropHint.toObject(message.cropHints[j], options); + } + return object; + }; + + /** + * Converts this CropHintsAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @instance + * @returns {Object.} JSON object + */ + CropHintsAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsAnnotation; + })(); + + v1p4beta1.CropHintsParams = (function() { + + /** + * Properties of a CropHintsParams. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + */ + + /** + * Constructs a new CropHintsParams. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams + * @constructor + * @param {google.cloud.vision.v1p4beta1.ICropHintsParams=} [properties] Properties to set + */ + function CropHintsParams(properties) { + this.aspectRatios = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @instance + */ + CropHintsParams.prototype.aspectRatios = $util.emptyArray; + + /** + * Creates a new CropHintsParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p4beta1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams instance + */ + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); + }; + + /** + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p4beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p4beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CropHintsParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CropHintsParams message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CropHintsParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; + } + return null; + }; + + /** + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams + */ + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CropHintsParams) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1p4beta1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); + } + return message; + }; + + /** + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @static + * @param {google.cloud.vision.v1p4beta1.CropHintsParams} message CropHintsParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CropHintsParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; + } + return object; + }; + + /** + * Converts this CropHintsParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @instance + * @returns {Object.} JSON object + */ + CropHintsParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CropHintsParams; + })(); + + v1p4beta1.WebDetectionParams = (function() { + + /** + * Properties of a WebDetectionParams. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + */ + + /** + * Constructs a new WebDetectionParams. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams + * @constructor + * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams=} [properties] Properties to set + */ + function WebDetectionParams(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]]; + } + + /** + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @instance + */ + WebDetectionParams.prototype.includeGeoResults = false; + + /** + * Creates a new WebDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams instance + */ + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); + }; + + /** + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + return writer; + }; + + /** + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.includeGeoResults = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; + return null; + }; + + /** + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams + */ + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); + return message; + }; + + /** + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetectionParams} message WebDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; + return object; + }; + + /** + * Converts this WebDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @instance + * @returns {Object.} JSON object + */ + WebDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebDetectionParams; + })(); + + v1p4beta1.ImageContext = (function() { + + /** + * Properties of an ImageContext. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IImageContext + * @property {google.cloud.vision.v1p4beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1p4beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1p4beta1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams + * @property {google.cloud.vision.v1p4beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + */ + + /** + * Constructs a new ImageContext. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an ImageContext. + * @implements IImageContext + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImageContext=} [properties] Properties to set + */ + function ImageContext(properties) { + this.languageHints = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImageContext latLongRect. + * @member {google.cloud.vision.v1p4beta1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + */ + ImageContext.prototype.latLongRect = null; + + /** + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + */ + ImageContext.prototype.languageHints = $util.emptyArray; + + /** + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1p4beta1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + */ + ImageContext.prototype.cropHintsParams = null; + + /** + * ImageContext productSearchParams. + * @member {google.cloud.vision.v1p4beta1.IProductSearchParams|null|undefined} productSearchParams + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + */ + ImageContext.prototype.productSearchParams = null; + + /** + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1p4beta1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + */ + ImageContext.prototype.webDetectionParams = null; + + /** + * Creates a new ImageContext instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p4beta1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext instance + */ + ImageContext.create = function create(properties) { + return new ImageContext(properties); + }; + + /** + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p4beta1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1p4beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1p4beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + $root.google.cloud.vision.v1p4beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1p4beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p4beta1.IImageContext} message ImageContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 4: + message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + case 5: + message.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.decode(reader, reader.uint32()); + break; + case 6: + message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageContext message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1p4beta1.LatLongRect.verify(message.latLongRect); + if (error) + return "latLongRect." + error; + } + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1p4beta1.CropHintsParams.verify(message.cropHintsParams); + if (error) + return "cropHintsParams." + error; + } + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.verify(message.productSearchParams); + if (error) + return "productSearchParams." + error; + } + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.verify(message.webDetectionParams); + if (error) + return "webDetectionParams." + error; + } + return null; + }; + + /** + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext + */ + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageContext) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.fromObject(object.latLongRect); + } + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.fromObject(object.cropHintsParams); + } + if (object.productSearchParams != null) { + if (typeof object.productSearchParams !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.productSearchParams: object expected"); + message.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.fromObject(object.productSearchParams); + } + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.fromObject(object.webDetectionParams); + } + return message; + }; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p4beta1.ImageContext} message ImageContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.languageHints = []; + if (options.defaults) { + object.latLongRect = null; + object.cropHintsParams = null; + object.productSearchParams = null; + object.webDetectionParams = null; + } + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + object.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.toObject(message.productSearchParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + return object; + }; + + /** + * Converts this ImageContext to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + * @returns {Object.} JSON object + */ + ImageContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageContext; + })(); + + v1p4beta1.AnnotateImageRequest = (function() { + + /** + * Properties of an AnnotateImageRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1p4beta1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1p4beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + */ + + /** + * Constructs a new AnnotateImageRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest=} [properties] Properties to set + */ + function AnnotateImageRequest(properties) { + this.features = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1p4beta1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.image = null; + + /** + * AnnotateImageRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateImageRequest imageContext. + * @member {google.cloud.vision.v1p4beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.imageContext = null; + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest instance + */ + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); + }; + + /** + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1p4beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.image = $root.google.cloud.vision.v1p4beta1.Image.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1p4beta1.Image.verify(message.image); + if (error) + return "image." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest + */ + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1p4beta1.Image.fromObject(object.image); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p4beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.fromObject(object.imageContext); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.AnnotateImageRequest} message AnnotateImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.image = null; + object.imageContext = null; + } + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1p4beta1.Image.toObject(message.image, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p4beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.toObject(message.imageContext, options); + return object; + }; + + /** + * Converts this AnnotateImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageRequest; + })(); + + v1p4beta1.ImageAnnotationContext = (function() { + + /** + * Properties of an ImageAnnotationContext. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IImageAnnotationContext + * @property {string|null} [uri] ImageAnnotationContext uri + * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber + */ + + /** + * Constructs a new ImageAnnotationContext. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an ImageAnnotationContext. + * @implements IImageAnnotationContext + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext=} [properties] Properties to set + */ + function ImageAnnotationContext(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]]; + } + + /** + * ImageAnnotationContext uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.uri = ""; + + /** + * ImageAnnotationContext pageNumber. + * @member {number} pageNumber + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.pageNumber = 0; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext instance + */ + ImageAnnotationContext.create = function create(properties) { + return new ImageAnnotationContext(properties); + }; + + /** + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageAnnotationContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); + return writer; + }; + + /** + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageAnnotationContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + case 2: + message.pageNumber = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImageAnnotationContext message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImageAnnotationContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (!$util.isInteger(message.pageNumber)) + return "pageNumber: integer expected"; + return null; + }; + + /** + * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext + */ + ImageAnnotationContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext(); + if (object.uri != null) + message.uri = String(object.uri); + if (object.pageNumber != null) + message.pageNumber = object.pageNumber | 0; + return message; + }; + + /** + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @static + * @param {google.cloud.vision.v1p4beta1.ImageAnnotationContext} message ImageAnnotationContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImageAnnotationContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.uri = ""; + object.pageNumber = 0; + } + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + object.pageNumber = message.pageNumber; + return object; + }; + + /** + * Converts this ImageAnnotationContext to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @instance + * @returns {Object.} JSON object + */ + ImageAnnotationContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImageAnnotationContext; + })(); + + v1p4beta1.AnnotateImageResponse = (function() { + + /** + * Properties of an AnnotateImageResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [localizedObjectAnnotations] AnnotateImageResponse localizedObjectAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1p4beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1p4beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1p4beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.cloud.vision.v1p4beta1.IProductSearchResults|null} [productSearchResults] AnnotateImageResponse productSearchResults + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + * @property {google.cloud.vision.v1p4beta1.IImageAnnotationContext|null} [context] AnnotateImageResponse context + */ + + /** + * Constructs a new AnnotateImageResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse=} [properties] Properties to set + */ + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.localizedObjectAnnotations = []; + this.textAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse localizedObjectAnnotations. + * @member {Array.} localizedObjectAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.localizedObjectAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1p4beta1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.fullTextAnnotation = null; + + /** + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.safeSearchAnnotation = null; + + /** + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1p4beta1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; + + /** + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.cropHintsAnnotation = null; + + /** + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1p4beta1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.webDetection = null; + + /** + * AnnotateImageResponse productSearchResults. + * @member {google.cloud.vision.v1p4beta1.IProductSearchResults|null|undefined} productSearchResults + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.productSearchResults = null; + + /** + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.error = null; + + /** + * AnnotateImageResponse context. + * @member {google.cloud.vision.v1p4beta1.IImageAnnotationContext|null|undefined} context + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.context = null; + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse instance + */ + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); + }; + + /** + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1p4beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1p4beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1p4beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + $root.google.cloud.vision.v1p4beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.context != null && message.hasOwnProperty("context")) + $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.encode(message.localizedObjectAnnotations[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 22: + if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) + message.localizedObjectAnnotations = []; + message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.decode(reader, reader.uint32()); + break; + case 14: + message.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.decode(reader, reader.uint32()); + break; + case 9: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 21: + message.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateImageResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateImageResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } + } + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); + if (error) + return "landmarkAnnotations." + error; + } + } + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.localizedObjectAnnotations != null && message.hasOwnProperty("localizedObjectAnnotations")) { + if (!Array.isArray(message.localizedObjectAnnotations)) + return "localizedObjectAnnotations: array expected"; + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify(message.localizedObjectAnnotations[i]); + if (error) + return "localizedObjectAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; + } + } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.verify(message.fullTextAnnotation); + if (error) + return "fullTextAnnotation." + error; + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); + if (error) + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.verify(message.productSearchResults); + if (error) + return "productSearchResults." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.context != null && message.hasOwnProperty("context")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify(message.context); + if (error) + return "context." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse + */ + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); + } + } + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.localizedObjectAnnotations) { + if (!Array.isArray(object.localizedObjectAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.localizedObjectAnnotations: array expected"); + message.localizedObjectAnnotations = []; + for (var i = 0; i < object.localizedObjectAnnotations.length; ++i) { + if (typeof object.localizedObjectAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.localizedObjectAnnotations: object expected"); + message.localizedObjectAnnotations[i] = $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.fromObject(object.localizedObjectAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.fromObject(object.webDetection); + } + if (object.productSearchResults != null) { + if (typeof object.productSearchResults !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.productSearchResults: object expected"); + message.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.fromObject(object.productSearchResults); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.context != null) { + if (typeof object.context !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.context: object expected"); + message.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.fromObject(object.context); + } + return message; + }; + + /** + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {google.cloud.vision.v1p4beta1.AnnotateImageResponse} message AnnotateImageResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateImageResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; + object.localizedObjectAnnotations = []; + } + if (options.defaults) { + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; + object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; + object.productSearchResults = null; + object.context = null; + } + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.toObject(message.webDetection, options); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + object.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.toObject(message.productSearchResults, options); + if (message.context != null && message.hasOwnProperty("context")) + object.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.toObject(message.context, options); + if (message.localizedObjectAnnotations && message.localizedObjectAnnotations.length) { + object.localizedObjectAnnotations = []; + for (var j = 0; j < message.localizedObjectAnnotations.length; ++j) + object.localizedObjectAnnotations[j] = $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.toObject(message.localizedObjectAnnotations[j], options); + } + return object; + }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageResponse; + })(); + + v1p4beta1.AnnotateFileResponse = (function() { + + /** + * Properties of an AnnotateFileResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAnnotateFileResponse + * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig + * @property {Array.|null} [responses] AnnotateFileResponse responses + * @property {number|null} [totalPages] AnnotateFileResponse totalPages + */ + + /** + * Constructs a new AnnotateFileResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AnnotateFileResponse. + * @implements IAnnotateFileResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set + */ + function AnnotateFileResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateFileResponse inputConfig. + * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.inputConfig = null; + + /** + * AnnotateFileResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.responses = $util.emptyArray; + + /** + * AnnotateFileResponse totalPages. + * @member {number} totalPages + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.totalPages = 0; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse instance + */ + AnnotateFileResponse.create = function create(properties) { + return new AnnotateFileResponse(properties); + }; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); + return writer; + }; + + /** + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + case 3: + message.totalPages = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateFileResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateFileResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + if (!$util.isInteger(message.totalPages)) + return "totalPages: integer expected"; + return null; + }; + + /** + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse + */ + AnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + if (object.totalPages != null) + message.totalPages = object.totalPages | 0; + return message; + }; + + /** + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.AnnotateFileResponse} message AnnotateFileResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateFileResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (options.defaults) { + object.inputConfig = null; + object.totalPages = 0; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + object.totalPages = message.totalPages; + return object; + }; + + /** + * Converts this AnnotateFileResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateFileResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateFileResponse; + })(); + + v1p4beta1.BatchAnnotateImagesRequest = (function() { + + /** + * Properties of a BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + */ + + /** + * Constructs a new BatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + */ + function BatchAnnotateImagesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @instance + */ + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + + /** + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + */ + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + */ + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.fromObject(object.requests[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.toObject(message.requests[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesRequest; + })(); + + v1p4beta1.BatchAnnotateImagesResponse = (function() { + + /** + * Properties of a BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + */ + + /** + * Constructs a new BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + */ + function BatchAnnotateImagesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @instance + */ + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + */ + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + */ + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesResponse; + })(); + + v1p4beta1.AnnotateFileRequest = (function() { + + /** + * Properties of an AnnotateFileRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAnnotateFileRequest + * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AnnotateFileRequest inputConfig + * @property {Array.|null} [features] AnnotateFileRequest features + * @property {google.cloud.vision.v1p4beta1.IImageContext|null} [imageContext] AnnotateFileRequest imageContext + * @property {Array.|null} [pages] AnnotateFileRequest pages + */ + + /** + * Constructs a new AnnotateFileRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AnnotateFileRequest. + * @implements IAnnotateFileRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest=} [properties] Properties to set + */ + function AnnotateFileRequest(properties) { + this.features = []; + this.pages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.inputConfig = null; + + /** + * AnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1p4beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.imageContext = null; + + /** + * AnnotateFileRequest pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.pages = $util.emptyArray; + + /** + * Creates a new AnnotateFileRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest instance + */ + AnnotateFileRequest.create = function create(properties) { + return new AnnotateFileRequest(properties); + }; + + /** + * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.pages != null && message.pages.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.pages.length; ++i) + writer.int32(message.pages[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AnnotateFileRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.pages && message.pages.length)) + message.pages = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.pages.push(reader.int32()); + } else + message.pages.push(reader.int32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AnnotateFileRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AnnotateFileRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) + if (!$util.isInteger(message.pages[i])) + return "pages: integer[] expected"; + } + return null; + }; + + /** + * Creates an AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest + */ + AnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p4beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.fromObject(object.imageContext); + } + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) + message.pages[i] = object.pages[i] | 0; + } + return message; + }; + + /** + * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p4beta1.AnnotateFileRequest} message AnnotateFileRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AnnotateFileRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.features = []; + object.pages = []; + } + if (options.defaults) { + object.inputConfig = null; + object.imageContext = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p4beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.toObject(message.imageContext, options); + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = message.pages[j]; + } + return object; + }; + + /** + * Converts this AnnotateFileRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @instance + * @returns {Object.} JSON object + */ + AnnotateFileRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateFileRequest; + })(); + + v1p4beta1.BatchAnnotateFilesRequest = (function() { + + /** + * Properties of a BatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IBatchAnnotateFilesRequest + * @property {Array.|null} [requests] BatchAnnotateFilesRequest requests + */ + + /** + * Constructs a new BatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a BatchAnnotateFilesRequest. + * @implements IBatchAnnotateFilesRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set + */ + function BatchAnnotateFilesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @instance + */ + BatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + + /** + * Creates a new BatchAnnotateFilesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest instance + */ + BatchAnnotateFilesRequest.create = function create(properties) { + return new BatchAnnotateFilesRequest(properties); + }; + + /** + * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateFilesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateFilesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + */ + BatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.fromObject(object.requests[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} message BatchAnnotateFilesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateFilesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.toObject(message.requests[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateFilesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateFilesRequest; + })(); + + v1p4beta1.BatchAnnotateFilesResponse = (function() { + + /** + * Properties of a BatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IBatchAnnotateFilesResponse + * @property {Array.|null} [responses] BatchAnnotateFilesResponse responses + */ + + /** + * Constructs a new BatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a BatchAnnotateFilesResponse. + * @implements IBatchAnnotateFilesResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set + */ + function BatchAnnotateFilesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @instance + */ + BatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new BatchAnnotateFilesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse instance + */ + BatchAnnotateFilesResponse.create = function create(properties) { + return new BatchAnnotateFilesResponse(properties); + }; + + /** + * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateFilesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateFilesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + */ + BatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} message BatchAnnotateFilesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateFilesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateFilesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateFilesResponse; + })(); + + v1p4beta1.AsyncAnnotateFileRequest = (function() { + + /** + * Properties of an AsyncAnnotateFileRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAsyncAnnotateFileRequest + * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig + * @property {Array.|null} [features] AsyncAnnotateFileRequest features + * @property {google.cloud.vision.v1p4beta1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext + * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig + */ + + /** + * Constructs a new AsyncAnnotateFileRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AsyncAnnotateFileRequest. + * @implements IAsyncAnnotateFileRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + */ + function AsyncAnnotateFileRequest(properties) { + this.features = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncAnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.inputConfig = null; + + /** + * AsyncAnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; + + /** + * AsyncAnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1p4beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.imageContext = null; + + /** + * AsyncAnnotateFileRequest outputConfig. + * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance + */ + AsyncAnnotateFileRequest.create = function create(properties) { + return new AsyncAnnotateFileRequest(properties); + }; + + /** + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncAnnotateFileRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncAnnotateFileRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + */ + AsyncAnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p4beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.fromObject(object.imageContext); + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @static + * @param {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncAnnotateFileRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputConfig = null; + object.imageContext = null; + object.outputConfig = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p4beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.toObject(message.imageContext, options); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncAnnotateFileRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncAnnotateFileRequest; + })(); + + v1p4beta1.AsyncAnnotateFileResponse = (function() { + + /** + * Properties of an AsyncAnnotateFileResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAsyncAnnotateFileResponse + * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig + */ + + /** + * Constructs a new AsyncAnnotateFileResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AsyncAnnotateFileResponse. + * @implements IAsyncAnnotateFileResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + */ + function AsyncAnnotateFileResponse(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]]; + } + + /** + * AsyncAnnotateFileResponse outputConfig. + * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @instance + */ + AsyncAnnotateFileResponse.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance + */ + AsyncAnnotateFileResponse.create = function create(properties) { + return new AsyncAnnotateFileResponse(properties); + }; + + /** + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncAnnotateFileResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncAnnotateFileResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + */ + AsyncAnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncAnnotateFileResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncAnnotateFileResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncAnnotateFileResponse; + })(); + + v1p4beta1.AsyncBatchAnnotateImagesRequest = (function() { + + /** + * Properties of an AsyncBatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAsyncBatchAnnotateImagesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateImagesRequest requests + * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesRequest outputConfig + */ + + /** + * Constructs a new AsyncBatchAnnotateImagesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AsyncBatchAnnotateImagesRequest. + * @implements IAsyncBatchAnnotateImagesRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set + */ + function AsyncBatchAnnotateImagesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @instance + */ + AsyncBatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + + /** + * AsyncBatchAnnotateImagesRequest outputConfig. + * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @instance + */ + AsyncBatchAnnotateImagesRequest.prototype.outputConfig = null; + + /** + * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest instance + */ + AsyncBatchAnnotateImagesRequest.create = function create(properties) { + return new AsyncBatchAnnotateImagesRequest(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + case 2: + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateImagesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + */ + AsyncBatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.fromObject(object.requests[i]); + } + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateImagesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (options.defaults) + object.outputConfig = null; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.toObject(message.requests[j], options); + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncBatchAnnotateImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateImagesRequest; + })(); + + v1p4beta1.AsyncBatchAnnotateImagesResponse = (function() { + + /** + * Properties of an AsyncBatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAsyncBatchAnnotateImagesResponse + * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesResponse outputConfig + */ + + /** + * Constructs a new AsyncBatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AsyncBatchAnnotateImagesResponse. + * @implements IAsyncBatchAnnotateImagesResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set + */ + function AsyncBatchAnnotateImagesResponse(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]]; + } + + /** + * AsyncBatchAnnotateImagesResponse outputConfig. + * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @instance + */ + AsyncBatchAnnotateImagesResponse.prototype.outputConfig = null; + + /** + * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse instance + */ + AsyncBatchAnnotateImagesResponse.create = function create(properties) { + return new AsyncBatchAnnotateImagesResponse(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + */ + AsyncBatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); + return object; + }; + + /** + * Converts this AsyncBatchAnnotateImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateImagesResponse; + })(); + + v1p4beta1.AsyncBatchAnnotateFilesRequest = (function() { + + /** + * Properties of an AsyncBatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAsyncBatchAnnotateFilesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests + */ + + /** + * Constructs a new AsyncBatchAnnotateFilesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AsyncBatchAnnotateFilesRequest. + * @implements IAsyncBatchAnnotateFilesRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + */ + function AsyncBatchAnnotateFilesRequest(properties) { + this.requests = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @instance + */ + AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + + /** + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance + */ + AsyncBatchAnnotateFilesRequest.create = function create(properties) { + return new AsyncBatchAnnotateFilesRequest(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateFilesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateFilesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + */ + AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); + } + return object; + }; + + /** + * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateFilesRequest; + })(); + + v1p4beta1.AsyncBatchAnnotateFilesResponse = (function() { + + /** + * Properties of an AsyncBatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAsyncBatchAnnotateFilesResponse + * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses + */ + + /** + * Constructs a new AsyncBatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AsyncBatchAnnotateFilesResponse. + * @implements IAsyncBatchAnnotateFilesResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + */ + function AsyncBatchAnnotateFilesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AsyncBatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @instance + */ + AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance + */ + AsyncBatchAnnotateFilesResponse.create = function create(properties) { + return new AsyncBatchAnnotateFilesResponse(properties); + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AsyncBatchAnnotateFilesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AsyncBatchAnnotateFilesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + */ + AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @instance + * @returns {Object.} JSON object + */ + AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AsyncBatchAnnotateFilesResponse; + })(); + + v1p4beta1.InputConfig = (function() { + + /** + * Properties of an InputConfig. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IInputConfig + * @property {google.cloud.vision.v1p4beta1.IGcsSource|null} [gcsSource] InputConfig gcsSource + * @property {Uint8Array|null} [content] InputConfig content + * @property {string|null} [mimeType] InputConfig mimeType + */ + + /** + * Constructs a new InputConfig. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an InputConfig. + * @implements IInputConfig + * @constructor + * @param {google.cloud.vision.v1p4beta1.IInputConfig=} [properties] Properties to set + */ + function InputConfig(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]]; + } + + /** + * InputConfig gcsSource. + * @member {google.cloud.vision.v1p4beta1.IGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @instance + */ + InputConfig.prototype.gcsSource = null; + + /** + * InputConfig content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @instance + */ + InputConfig.prototype.content = $util.newBuffer([]); + + /** + * InputConfig mimeType. + * @member {string} mimeType + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @instance + */ + InputConfig.prototype.mimeType = ""; + + /** + * Creates a new InputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.IInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig instance + */ + InputConfig.create = function create(properties) { + return new InputConfig(properties); + }; + + /** + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1p4beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); + return writer; + }; + + /** + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + InputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an InputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.InputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.decode(reader, reader.uint32()); + break; + case 3: + message.content = reader.bytes(); + break; + case 2: + message.mimeType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + InputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an InputConfig message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + InputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + var error = $root.google.cloud.vision.v1p4beta1.GcsSource.verify(message.gcsSource); + if (error) + return "gcsSource." + error; + } + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (!$util.isString(message.mimeType)) + return "mimeType: string expected"; + return null; + }; + + /** + * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig + */ + InputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.InputConfig) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.InputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.InputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.fromObject(object.gcsSource); + } + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.mimeType != null) + message.mimeType = String(object.mimeType); + return message; + }; + + /** + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.InputConfig} message InputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + InputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsSource = null; + object.mimeType = ""; + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + } + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + object.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.toObject(message.gcsSource, options); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + object.mimeType = message.mimeType; + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + return object; + }; + + /** + * Converts this InputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @instance + * @returns {Object.} JSON object + */ + InputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return InputConfig; + })(); + + v1p4beta1.OutputConfig = (function() { + + /** + * Properties of an OutputConfig. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IOutputConfig + * @property {google.cloud.vision.v1p4beta1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination + * @property {number|null} [batchSize] OutputConfig batchSize + */ + + /** + * Constructs a new OutputConfig. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an OutputConfig. + * @implements IOutputConfig + * @constructor + * @param {google.cloud.vision.v1p4beta1.IOutputConfig=} [properties] Properties to set + */ + function OutputConfig(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]]; + } + + /** + * OutputConfig gcsDestination. + * @member {google.cloud.vision.v1p4beta1.IGcsDestination|null|undefined} gcsDestination + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @instance + */ + OutputConfig.prototype.gcsDestination = null; + + /** + * OutputConfig batchSize. + * @member {number} batchSize + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @instance + */ + OutputConfig.prototype.batchSize = 0; + + /** + * Creates a new OutputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.IOutputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig instance + */ + OutputConfig.create = function create(properties) { + return new OutputConfig(properties); + }; + + /** + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OutputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + $root.google.cloud.vision.v1p4beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); + return writer; + }; + + /** + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OutputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OutputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.OutputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.decode(reader, reader.uint32()); + break; + case 2: + message.batchSize = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OutputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OutputConfig message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OutputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { + var error = $root.google.cloud.vision.v1p4beta1.GcsDestination.verify(message.gcsDestination); + if (error) + return "gcsDestination." + error; + } + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (!$util.isInteger(message.batchSize)) + return "batchSize: integer expected"; + return null; + }; + + /** + * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig + */ + OutputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.OutputConfig) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.OutputConfig(); + if (object.gcsDestination != null) { + if (typeof object.gcsDestination !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.OutputConfig.gcsDestination: object expected"); + message.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.fromObject(object.gcsDestination); + } + if (object.batchSize != null) + message.batchSize = object.batchSize | 0; + return message; + }; + + /** + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.OutputConfig} message OutputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OutputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsDestination = null; + object.batchSize = 0; + } + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + object.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.toObject(message.gcsDestination, options); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + object.batchSize = message.batchSize; + return object; + }; + + /** + * Converts this OutputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @instance + * @returns {Object.} JSON object + */ + OutputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OutputConfig; + })(); + + v1p4beta1.GcsSource = (function() { + + /** + * Properties of a GcsSource. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IGcsSource + * @property {string|null} [uri] GcsSource uri + */ + + /** + * Constructs a new GcsSource. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a GcsSource. + * @implements IGcsSource + * @constructor + * @param {google.cloud.vision.v1p4beta1.IGcsSource=} [properties] Properties to set + */ + function GcsSource(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]]; + } + + /** + * GcsSource uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @instance + */ + GcsSource.prototype.uri = ""; + + /** + * Creates a new GcsSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p4beta1.IGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource instance + */ + GcsSource.create = function create(properties) { + return new GcsSource(properties); + }; + + /** + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p4beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + return writer; + }; + + /** + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p4beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GcsSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GcsSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GcsSource message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GcsSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + return null; + }; + + /** + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource + */ + GcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GcsSource) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.GcsSource(); + if (object.uri != null) + message.uri = String(object.uri); + return message; + }; + + /** + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @static + * @param {google.cloud.vision.v1p4beta1.GcsSource} message GcsSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GcsSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + return object; + }; + + /** + * Converts this GcsSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @instance + * @returns {Object.} JSON object + */ + GcsSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GcsSource; + })(); + + v1p4beta1.GcsDestination = (function() { + + /** + * Properties of a GcsDestination. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IGcsDestination + * @property {string|null} [uri] GcsDestination uri + */ + + /** + * Constructs a new GcsDestination. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a GcsDestination. + * @implements IGcsDestination + * @constructor + * @param {google.cloud.vision.v1p4beta1.IGcsDestination=} [properties] Properties to set + */ + function GcsDestination(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]]; + } + + /** + * GcsDestination uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @instance + */ + GcsDestination.prototype.uri = ""; + + /** + * Creates a new GcsDestination instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p4beta1.IGcsDestination=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination instance + */ + GcsDestination.create = function create(properties) { + return new GcsDestination(properties); + }; + + /** + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p4beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + return writer; + }; + + /** + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p4beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GcsDestination message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GcsDestination(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GcsDestination message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GcsDestination.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + return null; + }; + + /** + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination + */ + GcsDestination.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GcsDestination) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.GcsDestination(); + if (object.uri != null) + message.uri = String(object.uri); + return message; + }; + + /** + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p4beta1.GcsDestination} message GcsDestination + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GcsDestination.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + return object; + }; + + /** + * Converts this GcsDestination to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @instance + * @returns {Object.} JSON object + */ + GcsDestination.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GcsDestination; + })(); + + v1p4beta1.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IOperationMetadata + * @property {google.cloud.vision.v1p4beta1.OperationMetadata.State|null} [state] OperationMetadata state + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime + */ + + /** + * Constructs a new OperationMetadata. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.cloud.vision.v1p4beta1.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(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]]; + } + + /** + * OperationMetadata state. + * @member {google.cloud.vision.v1p4beta1.OperationMetadata.State} state + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.state = 0; + + /** + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.createTime = null; + + /** + * OperationMetadata updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.updateTime = null; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p4beta1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p4beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.createTime != null && message.hasOwnProperty("createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p4beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.OperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.state = reader.int32(); + break; + case 5: + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationMetadata message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.updateTime != null && message.hasOwnProperty("updateTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (error) + return "updateTime." + error; + } + return null; + }; + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.OperationMetadata) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.OperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "CREATED": + case 1: + message.state = 1; + break; + case "RUNNING": + case 2: + message.state = 2; + break; + case "DONE": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.OperationMetadata.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } + return message; + }; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p4beta1.OperationMetadata} message OperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.createTime = null; + object.updateTime = null; + } + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.OperationMetadata.State[message.state] : message.state; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + return object; + }; + + /** + * Converts this OperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @instance + * @returns {Object.} JSON object + */ + OperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * State enum. + * @name google.cloud.vision.v1p4beta1.OperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} CREATED=1 CREATED value + * @property {number} RUNNING=2 RUNNING value + * @property {number} DONE=3 DONE value + * @property {number} CANCELLED=4 CANCELLED value + */ + OperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CREATED"] = 1; + values[valuesById[2] = "RUNNING"] = 2; + values[valuesById[3] = "DONE"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return OperationMetadata; + })(); + + v1p4beta1.Vertex = (function() { + + /** + * Properties of a Vertex. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y + */ + + /** + * Constructs a new Vertex. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Vertex. + * @implements IVertex + * @constructor + * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set + */ + function Vertex(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]]; + } + + /** + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @instance + */ + Vertex.prototype.x = 0; + + /** + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @instance + */ + Vertex.prototype.y = 0; + + /** + * Creates a new Vertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @static + * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex instance + */ + Vertex.create = function create(properties) { + return new Vertex(properties); + }; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @static + * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + return writer; + }; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @static + * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Vertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Vertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.int32(); + break; + case 2: + message.y = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Vertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Vertex message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Vertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; + return null; + }; + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex + */ + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Vertex) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; + return message; + }; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @static + * @param {google.cloud.vision.v1p4beta1.Vertex} message Vertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Vertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; + return object; + }; + + /** + * Converts this Vertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @instance + * @returns {Object.} JSON object + */ + Vertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Vertex; + })(); + + v1p4beta1.NormalizedVertex = (function() { + + /** + * Properties of a NormalizedVertex. + * @memberof google.cloud.vision.v1p4beta1 + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y + */ + + /** + * Constructs a new NormalizedVertex. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex + * @constructor + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set + */ + function NormalizedVertex(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]]; + } + + /** + * NormalizedVertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.x = 0; + + /** + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @instance + */ + NormalizedVertex.prototype.y = 0; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex instance + */ + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); + }; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedVertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + return writer; + }; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedVertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NormalizedVertex message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NormalizedVertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + return null; + }; + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex + */ + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.NormalizedVertex) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + return message; + }; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p4beta1.NormalizedVertex} message NormalizedVertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NormalizedVertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + return object; + }; + + /** + * Converts this NormalizedVertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @instance + * @returns {Object.} JSON object + */ + NormalizedVertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NormalizedVertex; + })(); + + v1p4beta1.BoundingPoly = (function() { + + /** + * Properties of a BoundingPoly. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices + */ + + /** + * Constructs a new BoundingPoly. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly + * @constructor + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set + */ + function BoundingPoly(properties) { + this.vertices = []; + this.normalizedVertices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @instance + */ + BoundingPoly.prototype.vertices = $util.emptyArray; + + /** + * BoundingPoly normalizedVertices. + * @member {Array.} normalizedVertices + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @instance + */ + BoundingPoly.prototype.normalizedVertices = $util.emptyArray; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly instance + */ + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); + }; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p4beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.normalizedVertices != null && message.normalizedVertices.length) + for (var i = 0; i < message.normalizedVertices.length; ++i) + $root.google.cloud.vision.v1p4beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p4beta1.Vertex.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p4beta1.NormalizedVertex.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoundingPoly message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoundingPoly.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Vertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } + if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { + if (!Array.isArray(message.normalizedVertices)) + return "normalizedVertices: array expected"; + for (var i = 0; i < message.normalizedVertices.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.verify(message.normalizedVertices[i]); + if (error) + return "normalizedVertices." + error; + } + } + return null; + }; + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly + */ + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BoundingPoly) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p4beta1.Vertex.fromObject(object.vertices[i]); + } + } + if (object.normalizedVertices) { + if (!Array.isArray(object.normalizedVertices)) + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: array expected"); + message.normalizedVertices = []; + for (var i = 0; i < object.normalizedVertices.length; ++i) { + if (typeof object.normalizedVertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: object expected"); + message.normalizedVertices[i] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @static + * @param {google.cloud.vision.v1p4beta1.BoundingPoly} message BoundingPoly + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoundingPoly.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.vertices = []; + object.normalizedVertices = []; + } + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p4beta1.Vertex.toObject(message.vertices[j], options); + } + if (message.normalizedVertices && message.normalizedVertices.length) { + object.normalizedVertices = []; + for (var j = 0; j < message.normalizedVertices.length; ++j) + object.normalizedVertices[j] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); + } + return object; + }; + + /** + * Converts this BoundingPoly to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @instance + * @returns {Object.} JSON object + */ + BoundingPoly.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoundingPoly; + })(); + + v1p4beta1.Position = (function() { + + /** + * Properties of a Position. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z + */ + + /** + * Constructs a new Position. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Position. + * @implements IPosition + * @constructor + * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set + */ + function Position(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]]; + } + + /** + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + */ + Position.prototype.x = 0; + + /** + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + */ + Position.prototype.y = 0; + + /** + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + */ + Position.prototype.z = 0; + + /** + * Creates a new Position instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Position} Position instance + */ + Position.create = function create(properties) { + return new Position(properties); + }; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + return writer; + }; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Position message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Position(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + case 3: + message.z = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Position message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Position.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; + return null; + }; + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Position} Position + */ + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Position) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); + return message; + }; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.Position} message Position + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Position.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + object.z = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + return object; + }; + + /** + * Converts this Position to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + * @returns {Object.} JSON object + */ + Position.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Position; + })(); + + v1p4beta1.ProductSearchParams = (function() { + + /** + * Properties of a ProductSearchParams. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IProductSearchParams + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] ProductSearchParams boundingPoly + * @property {string|null} [productSet] ProductSearchParams productSet + * @property {Array.|null} [productCategories] ProductSearchParams productCategories + * @property {string|null} [filter] ProductSearchParams filter + */ + + /** + * Constructs a new ProductSearchParams. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ProductSearchParams. + * @implements IProductSearchParams + * @constructor + * @param {google.cloud.vision.v1p4beta1.IProductSearchParams=} [properties] Properties to set + */ + function ProductSearchParams(properties) { + this.productCategories = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductSearchParams boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.boundingPoly = null; + + /** + * ProductSearchParams productSet. + * @member {string} productSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.productSet = ""; + + /** + * ProductSearchParams productCategories. + * @member {Array.} productCategories + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.productCategories = $util.emptyArray; + + /** + * ProductSearchParams filter. + * @member {string} filter + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.filter = ""; + + /** + * Creates a new ProductSearchParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams instance + */ + ProductSearchParams.create = function create(properties) { + return new ProductSearchParams(properties); + }; + + /** + * Encodes the specified ProductSearchParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSet != null && message.hasOwnProperty("productSet")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); + if (message.productCategories != null && message.productCategories.length) + for (var i = 0; i < message.productCategories.length; ++i) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); + if (message.filter != null && message.hasOwnProperty("filter")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSearchParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 9: + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 6: + message.productSet = reader.string(); + break; + case 7: + if (!(message.productCategories && message.productCategories.length)) + message.productCategories = []; + message.productCategories.push(reader.string()); + break; + case 8: + message.filter = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSearchParams message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSearchParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + if (!$util.isString(message.productSet)) + return "productSet: string expected"; + if (message.productCategories != null && message.hasOwnProperty("productCategories")) { + if (!Array.isArray(message.productCategories)) + return "productCategories: array expected"; + for (var i = 0; i < message.productCategories.length; ++i) + if (!$util.isString(message.productCategories[i])) + return "productCategories: string[] expected"; + } + if (message.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: string expected"; + return null; + }; + + /** + * Creates a ProductSearchParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams + */ + ProductSearchParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchParams) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchParams(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchParams.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.productSet != null) + message.productSet = String(object.productSet); + if (object.productCategories) { + if (!Array.isArray(object.productCategories)) + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchParams.productCategories: array expected"); + message.productCategories = []; + for (var i = 0; i < object.productCategories.length; ++i) + message.productCategories[i] = String(object.productCategories[i]); + } + if (object.filter != null) + message.filter = String(object.filter); + return message; + }; + + /** + * Creates a plain object from a ProductSearchParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchParams} message ProductSearchParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSearchParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productCategories = []; + if (options.defaults) { + object.productSet = ""; + object.filter = ""; + object.boundingPoly = null; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = message.productSet; + if (message.productCategories && message.productCategories.length) { + object.productCategories = []; + for (var j = 0; j < message.productCategories.length; ++j) + object.productCategories[j] = message.productCategories[j]; + } + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + return object; + }; + + /** + * Converts this ProductSearchParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + * @returns {Object.} JSON object + */ + ProductSearchParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProductSearchParams; + })(); + + v1p4beta1.ProductSearchResults = (function() { + + /** + * Properties of a ProductSearchResults. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IProductSearchResults + * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSearchResults indexTime + * @property {Array.|null} [results] ProductSearchResults results + * @property {Array.|null} [productGroupedResults] ProductSearchResults productGroupedResults + */ + + /** + * Constructs a new ProductSearchResults. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ProductSearchResults. + * @implements IProductSearchResults + * @constructor + * @param {google.cloud.vision.v1p4beta1.IProductSearchResults=} [properties] Properties to set + */ + function ProductSearchResults(properties) { + this.results = []; + this.productGroupedResults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductSearchResults indexTime. + * @member {google.protobuf.ITimestamp|null|undefined} indexTime + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.indexTime = null; + + /** + * ProductSearchResults results. + * @member {Array.} results + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.results = $util.emptyArray; + + /** + * ProductSearchResults productGroupedResults. + * @member {Array.} productGroupedResults + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.productGroupedResults = $util.emptyArray; + + /** + * Creates a new ProductSearchResults instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchResults=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults instance + */ + ProductSearchResults.create = function create(properties) { + return new ProductSearchResults(properties); + }; + + /** + * Encodes the specified ProductSearchResults message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.results != null && message.results.length) + for (var i = 0; i < message.results.length; ++i) + $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.productGroupedResults != null && message.productGroupedResults.length) + for (var i = 0; i < message.productGroupedResults.length; ++i) + $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.encode(message.productGroupedResults[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSearchResults message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 5: + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.productGroupedResults && message.productGroupedResults.length)) + message.productGroupedResults = []; + message.productGroupedResults.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSearchResults message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSearchResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.indexTime); + if (error) + return "indexTime." + error; + } + if (message.results != null && message.hasOwnProperty("results")) { + if (!Array.isArray(message.results)) + return "results: array expected"; + for (var i = 0; i < message.results.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify(message.results[i]); + if (error) + return "results." + error; + } + } + if (message.productGroupedResults != null && message.hasOwnProperty("productGroupedResults")) { + if (!Array.isArray(message.productGroupedResults)) + return "productGroupedResults: array expected"; + for (var i = 0; i < message.productGroupedResults.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify(message.productGroupedResults[i]); + if (error) + return "productGroupedResults." + error; + } + } + return null; + }; + + /** + * Creates a ProductSearchResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults + */ + ProductSearchResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults(); + if (object.indexTime != null) { + if (typeof object.indexTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.indexTime: object expected"); + message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); + } + if (object.results) { + if (!Array.isArray(object.results)) + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.results: array expected"); + message.results = []; + for (var i = 0; i < object.results.length; ++i) { + if (typeof object.results[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.results: object expected"); + message.results[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.fromObject(object.results[i]); + } + } + if (object.productGroupedResults) { + if (!Array.isArray(object.productGroupedResults)) + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.productGroupedResults: array expected"); + message.productGroupedResults = []; + for (var i = 0; i < object.productGroupedResults.length; ++i) { + if (typeof object.productGroupedResults[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.productGroupedResults: object expected"); + message.productGroupedResults[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.fromObject(object.productGroupedResults[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ProductSearchResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults} message ProductSearchResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSearchResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.results = []; + object.productGroupedResults = []; + } + if (options.defaults) + object.indexTime = null; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); + if (message.results && message.results.length) { + object.results = []; + for (var j = 0; j < message.results.length; ++j) + object.results[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.toObject(message.results[j], options); + } + if (message.productGroupedResults && message.productGroupedResults.length) { + object.productGroupedResults = []; + for (var j = 0; j < message.productGroupedResults.length; ++j) + object.productGroupedResults[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.toObject(message.productGroupedResults[j], options); + } + return object; + }; + + /** + * Converts this ProductSearchResults to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @instance + * @returns {Object.} JSON object + */ + ProductSearchResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + ProductSearchResults.Result = (function() { + + /** + * Properties of a Result. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @interface IResult + * @property {google.cloud.vision.v1p4beta1.IProduct|null} [product] Result product + * @property {number|null} [score] Result score + * @property {string|null} [image] Result image + */ + + /** + * Constructs a new Result. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @classdesc Represents a Result. + * @implements IResult + * @constructor + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult=} [properties] Properties to set + */ + function Result(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]]; + } + + /** + * Result product. + * @member {google.cloud.vision.v1p4beta1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @instance + */ + Result.prototype.product = null; + + /** + * Result score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @instance + */ + Result.prototype.score = 0; + + /** + * Result image. + * @member {string} image + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @instance + */ + Result.prototype.image = ""; + + /** + * Creates a new Result instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result instance + */ + Result.create = function create(properties) { + return new Result(properties); + }; + + /** + * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Result.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.image != null && message.hasOwnProperty("image")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); + return writer; + }; + + /** + * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Result.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Result message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Result.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.image = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Result message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Result.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Result message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Result.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.image != null && message.hasOwnProperty("image")) + if (!$util.isString(message.image)) + return "image: string expected"; + return null; + }; + + /** + * Creates a Result message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result + */ + Result.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result(); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.Result.product: object expected"); + message.product = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.product); + } + if (object.score != null) + message.score = Number(object.score); + if (object.image != null) + message.image = String(object.image); + return message; + }; + + /** + * Creates a plain object from a Result message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} message Result + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Result.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.product = null; + object.score = 0; + object.image = ""; + } + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.product, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.image != null && message.hasOwnProperty("image")) + object.image = message.image; + return object; + }; + + /** + * Converts this Result to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @instance + * @returns {Object.} JSON object + */ + Result.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Result; + })(); + + ProductSearchResults.GroupedResult = (function() { + + /** + * Properties of a GroupedResult. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @interface IGroupedResult + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] GroupedResult boundingPoly + * @property {Array.|null} [results] GroupedResult results + */ + + /** + * Constructs a new GroupedResult. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @classdesc Represents a GroupedResult. + * @implements IGroupedResult + * @constructor + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult=} [properties] Properties to set + */ + function GroupedResult(properties) { + this.results = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GroupedResult boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.boundingPoly = null; + + /** + * GroupedResult results. + * @member {Array.} results + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.results = $util.emptyArray; + + /** + * Creates a new GroupedResult instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult instance + */ + GroupedResult.create = function create(properties) { + return new GroupedResult(properties); + }; + + /** + * Encodes the specified GroupedResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GroupedResult.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.results != null && message.results.length) + for (var i = 0; i < message.results.length; ++i) + $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GroupedResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GroupedResult.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GroupedResult message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GroupedResult.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GroupedResult message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GroupedResult.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GroupedResult message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GroupedResult.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.results != null && message.hasOwnProperty("results")) { + if (!Array.isArray(message.results)) + return "results: array expected"; + for (var i = 0; i < message.results.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify(message.results[i]); + if (error) + return "results." + error; + } + } + return null; + }; + + /** + * Creates a GroupedResult message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult + */ + GroupedResult.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.results) { + if (!Array.isArray(object.results)) + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.results: array expected"); + message.results = []; + for (var i = 0; i < object.results.length; ++i) { + if (typeof object.results[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.results: object expected"); + message.results[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.fromObject(object.results[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GroupedResult message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} message GroupedResult + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GroupedResult.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.results = []; + if (options.defaults) + object.boundingPoly = null; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.results && message.results.length) { + object.results = []; + for (var j = 0; j < message.results.length; ++j) + object.results[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.toObject(message.results[j], options); + } + return object; + }; + + /** + * Converts this GroupedResult to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @instance + * @returns {Object.} JSON object + */ + GroupedResult.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GroupedResult; + })(); + + return ProductSearchResults; + })(); + + v1p4beta1.ProductSearch = (function() { + + /** + * Constructs a new ProductSearch service. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ProductSearch + * @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 ProductSearch(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ProductSearch.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductSearch; + + /** + * Creates new ProductSearch service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @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 {ProductSearch} RPC service. Useful where requests and/or responses are streamed. + */ + ProductSearch.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef CreateProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ProductSet} [response] ProductSet + */ + + /** + * Calls CreateProductSet. + * @function createProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createProductSet = function createProductSet(request, callback) { + return this.rpcCall(createProductSet, $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest, $root.google.cloud.vision.v1p4beta1.ProductSet, request, callback); + }, "name", { value: "CreateProductSet" }); + + /** + * Calls CreateProductSet. + * @function createProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductSets}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef ListProductSetsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ListProductSetsResponse} [response] ListProductSetsResponse + */ + + /** + * Calls ListProductSets. + * @function listProductSets + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} request ListProductSetsRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListProductSetsCallback} callback Node-style callback called with the error, if any, and ListProductSetsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProductSets = function listProductSets(request, callback) { + return this.rpcCall(listProductSets, $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest, $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse, request, callback); + }, "name", { value: "ListProductSets" }); + + /** + * Calls ListProductSets. + * @function listProductSets + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} request ListProductSetsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef GetProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ProductSet} [response] ProductSet + */ + + /** + * Calls GetProductSet. + * @function getProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} request GetProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.GetProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getProductSet = function getProductSet(request, callback) { + return this.rpcCall(getProductSet, $root.google.cloud.vision.v1p4beta1.GetProductSetRequest, $root.google.cloud.vision.v1p4beta1.ProductSet, request, callback); + }, "name", { value: "GetProductSet" }); + + /** + * Calls GetProductSet. + * @function getProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} request GetProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef UpdateProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ProductSet} [response] ProductSet + */ + + /** + * Calls UpdateProductSet. + * @function updateProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.updateProductSet = function updateProductSet(request, callback) { + return this.rpcCall(updateProductSet, $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest, $root.google.cloud.vision.v1p4beta1.ProductSet, request, callback); + }, "name", { value: "UpdateProductSet" }); + + /** + * Calls UpdateProductSet. + * @function updateProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef DeleteProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteProductSet. + * @function deleteProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteProductSet = function deleteProductSet(request, callback) { + return this.rpcCall(deleteProductSet, $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteProductSet" }); + + /** + * Calls DeleteProductSet. + * @function deleteProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProduct}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef CreateProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.Product} [response] Product + */ + + /** + * Calls CreateProduct. + * @function createProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} request CreateProductRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.CreateProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createProduct = function createProduct(request, callback) { + return this.rpcCall(createProduct, $root.google.cloud.vision.v1p4beta1.CreateProductRequest, $root.google.cloud.vision.v1p4beta1.Product, request, callback); + }, "name", { value: "CreateProduct" }); + + /** + * Calls CreateProduct. + * @function createProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} request CreateProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProducts}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef ListProductsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ListProductsResponse} [response] ListProductsResponse + */ + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} request ListProductsRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListProductsCallback} callback Node-style callback called with the error, if any, and ListProductsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProducts = function listProducts(request, callback) { + return this.rpcCall(listProducts, $root.google.cloud.vision.v1p4beta1.ListProductsRequest, $root.google.cloud.vision.v1p4beta1.ListProductsResponse, request, callback); + }, "name", { value: "ListProducts" }); + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} request ListProductsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProduct}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef GetProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.Product} [response] Product + */ + + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} request GetProductRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.GetProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getProduct = function getProduct(request, callback) { + return this.rpcCall(getProduct, $root.google.cloud.vision.v1p4beta1.GetProductRequest, $root.google.cloud.vision.v1p4beta1.Product, request, callback); + }, "name", { value: "GetProduct" }); + + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} request GetProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProduct}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef UpdateProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.Product} [response] Product + */ + + /** + * Calls UpdateProduct. + * @function updateProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} request UpdateProductRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.updateProduct = function updateProduct(request, callback) { + return this.rpcCall(updateProduct, $root.google.cloud.vision.v1p4beta1.UpdateProductRequest, $root.google.cloud.vision.v1p4beta1.Product, request, callback); + }, "name", { value: "UpdateProduct" }); + + /** + * Calls UpdateProduct. + * @function updateProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} request UpdateProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProduct}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef DeleteProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteProduct. + * @function deleteProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} request DeleteProductRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteProduct = function deleteProduct(request, callback) { + return this.rpcCall(deleteProduct, $root.google.cloud.vision.v1p4beta1.DeleteProductRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteProduct" }); + + /** + * Calls DeleteProduct. + * @function deleteProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} request DeleteProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createReferenceImage}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef CreateReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ReferenceImage} [response] ReferenceImage + */ + + /** + * Calls CreateReferenceImage. + * @function createReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createReferenceImage = function createReferenceImage(request, callback) { + return this.rpcCall(createReferenceImage, $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest, $root.google.cloud.vision.v1p4beta1.ReferenceImage, request, callback); + }, "name", { value: "CreateReferenceImage" }); + + /** + * Calls CreateReferenceImage. + * @function createReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteReferenceImage}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef DeleteReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteReferenceImage. + * @function deleteReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImageCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteReferenceImage = function deleteReferenceImage(request, callback) { + return this.rpcCall(deleteReferenceImage, $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteReferenceImage" }); + + /** + * Calls DeleteReferenceImage. + * @function deleteReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listReferenceImages}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef ListReferenceImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} [response] ListReferenceImagesResponse + */ + + /** + * Calls ListReferenceImages. + * @function listReferenceImages + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImagesCallback} callback Node-style callback called with the error, if any, and ListReferenceImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listReferenceImages = function listReferenceImages(request, callback) { + return this.rpcCall(listReferenceImages, $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest, $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse, request, callback); + }, "name", { value: "ListReferenceImages" }); + + /** + * Calls ListReferenceImages. + * @function listReferenceImages + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getReferenceImage}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef GetReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ReferenceImage} [response] ReferenceImage + */ + + /** + * Calls GetReferenceImage. + * @function getReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getReferenceImage = function getReferenceImage(request, callback) { + return this.rpcCall(getReferenceImage, $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest, $root.google.cloud.vision.v1p4beta1.ReferenceImage, request, callback); + }, "name", { value: "GetReferenceImage" }); + + /** + * Calls GetReferenceImage. + * @function getReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#addProductToProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef AddProductToProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls AddProductToProductSet. + * @function addProductToProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.addProductToProductSet = function addProductToProductSet(request, callback) { + return this.rpcCall(addProductToProductSet, $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "AddProductToProductSet" }); + + /** + * Calls AddProductToProductSet. + * @function addProductToProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#removeProductFromProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef RemoveProductFromProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls RemoveProductFromProductSet. + * @function removeProductFromProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.removeProductFromProductSet = function removeProductFromProductSet(request, callback) { + return this.rpcCall(removeProductFromProductSet, $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "RemoveProductFromProductSet" }); + + /** + * Calls RemoveProductFromProductSet. + * @function removeProductFromProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductsInProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef ListProductsInProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} [response] ListProductsInProductSetResponse + */ + + /** + * Calls ListProductsInProductSet. + * @function listProductsInProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSetCallback} callback Node-style callback called with the error, if any, and ListProductsInProductSetResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProductsInProductSet = function listProductsInProductSet(request, callback) { + return this.rpcCall(listProductsInProductSet, $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest, $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse, request, callback); + }, "name", { value: "ListProductsInProductSet" }); + + /** + * Calls ListProductsInProductSet. + * @function listProductsInProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#importProductSets}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef ImportProductSetsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ImportProductSets. + * @function importProductSets + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSetsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.importProductSets = function importProductSets(request, callback) { + return this.rpcCall(importProductSets, $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ImportProductSets" }); + + /** + * Calls ImportProductSets. + * @function importProductSets + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ProductSearch; + })(); + + v1p4beta1.Product = (function() { + + /** + * Properties of a Product. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IProduct + * @property {string|null} [name] Product name + * @property {string|null} [displayName] Product displayName + * @property {string|null} [description] Product description + * @property {string|null} [productCategory] Product productCategory + * @property {Array.|null} [productLabels] Product productLabels + */ + + /** + * Constructs a new Product. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Product. + * @implements IProduct + * @constructor + * @param {google.cloud.vision.v1p4beta1.IProduct=} [properties] Properties to set + */ + function Product(properties) { + this.productLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Product name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.Product + * @instance + */ + Product.prototype.name = ""; + + /** + * Product displayName. + * @member {string} displayName + * @memberof google.cloud.vision.v1p4beta1.Product + * @instance + */ + Product.prototype.displayName = ""; + + /** + * Product description. + * @member {string} description + * @memberof google.cloud.vision.v1p4beta1.Product + * @instance + */ + Product.prototype.description = ""; + + /** + * Product productCategory. + * @member {string} productCategory + * @memberof google.cloud.vision.v1p4beta1.Product + * @instance + */ + Product.prototype.productCategory = ""; + + /** + * Product productLabels. + * @member {Array.} productLabels + * @memberof google.cloud.vision.v1p4beta1.Product + * @instance + */ + Product.prototype.productLabels = $util.emptyArray; + + /** + * Creates a new Product instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {google.cloud.vision.v1p4beta1.IProduct=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Product} Product instance + */ + Product.create = function create(properties) { + return new Product(properties); + }; + + /** + * Encodes the specified Product message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {google.cloud.vision.v1p4beta1.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Product.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && message.hasOwnProperty("displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); + if (message.productLabels != null && message.productLabels.length) + for (var i = 0; i < message.productLabels.length; ++i) + $root.google.cloud.vision.v1p4beta1.Product.KeyValue.encode(message.productLabels[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {google.cloud.vision.v1p4beta1.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Product.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Product message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Product.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Product(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.displayName = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.productCategory = reader.string(); + break; + case 5: + if (!(message.productLabels && message.productLabels.length)) + message.productLabels = []; + message.productLabels.push($root.google.cloud.vision.v1p4beta1.Product.KeyValue.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Product message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Product.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Product message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Product.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (!$util.isString(message.productCategory)) + return "productCategory: string expected"; + if (message.productLabels != null && message.hasOwnProperty("productLabels")) { + if (!Array.isArray(message.productLabels)) + return "productLabels: array expected"; + for (var i = 0; i < message.productLabels.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Product.KeyValue.verify(message.productLabels[i]); + if (error) + return "productLabels." + error; + } + } + return null; + }; + + /** + * Creates a Product message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Product} Product + */ + Product.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Product) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Product(); + if (object.name != null) + message.name = String(object.name); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.description != null) + message.description = String(object.description); + if (object.productCategory != null) + message.productCategory = String(object.productCategory); + if (object.productLabels) { + if (!Array.isArray(object.productLabels)) + throw TypeError(".google.cloud.vision.v1p4beta1.Product.productLabels: array expected"); + message.productLabels = []; + for (var i = 0; i < object.productLabels.length; ++i) { + if (typeof object.productLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Product.productLabels: object expected"); + message.productLabels[i] = $root.google.cloud.vision.v1p4beta1.Product.KeyValue.fromObject(object.productLabels[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Product message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {google.cloud.vision.v1p4beta1.Product} message Product + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Product.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productLabels = []; + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.description = ""; + object.productCategory = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + object.productCategory = message.productCategory; + if (message.productLabels && message.productLabels.length) { + object.productLabels = []; + for (var j = 0; j < message.productLabels.length; ++j) + object.productLabels[j] = $root.google.cloud.vision.v1p4beta1.Product.KeyValue.toObject(message.productLabels[j], options); + } + return object; + }; + + /** + * Converts this Product to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Product + * @instance + * @returns {Object.} JSON object + */ + Product.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + Product.KeyValue = (function() { + + /** + * Properties of a KeyValue. + * @memberof google.cloud.vision.v1p4beta1.Product + * @interface IKeyValue + * @property {string|null} [key] KeyValue key + * @property {string|null} [value] KeyValue value + */ + + /** + * Constructs a new KeyValue. + * @memberof google.cloud.vision.v1p4beta1.Product + * @classdesc Represents a KeyValue. + * @implements IKeyValue + * @constructor + * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue=} [properties] Properties to set + */ + function KeyValue(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]]; + } + + /** + * KeyValue key. + * @member {string} key + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @instance + */ + KeyValue.prototype.key = ""; + + /** + * KeyValue value. + * @member {string} value + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @instance + */ + KeyValue.prototype.value = ""; + + /** + * Creates a new KeyValue instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue instance + */ + KeyValue.create = function create(properties) { + return new KeyValue(properties); + }; + + /** + * Encodes the specified KeyValue message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.KeyValue.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue} message KeyValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && message.hasOwnProperty("key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + return writer; + }; + + /** + * Encodes the specified KeyValue message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.KeyValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue} message KeyValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a KeyValue message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Product.KeyValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a KeyValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a KeyValue message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + KeyValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!$util.isString(message.key)) + return "key: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; + + /** + * Creates a KeyValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue + */ + KeyValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Product.KeyValue) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Product.KeyValue(); + if (object.key != null) + message.key = String(object.key); + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from a KeyValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p4beta1.Product.KeyValue} message KeyValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + KeyValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.key = ""; + object.value = ""; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this KeyValue to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @instance + * @returns {Object.} JSON object + */ + KeyValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return KeyValue; + })(); + + return Product; + })(); + + v1p4beta1.ProductSet = (function() { + + /** + * Properties of a ProductSet. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IProductSet + * @property {string|null} [name] ProductSet name + * @property {string|null} [displayName] ProductSet displayName + * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSet indexTime + * @property {google.rpc.IStatus|null} [indexError] ProductSet indexError + */ + + /** + * Constructs a new ProductSet. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ProductSet. + * @implements IProductSet + * @constructor + * @param {google.cloud.vision.v1p4beta1.IProductSet=} [properties] Properties to set + */ + function ProductSet(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]]; + } + + /** + * ProductSet name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @instance + */ + ProductSet.prototype.name = ""; + + /** + * ProductSet displayName. + * @member {string} displayName + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @instance + */ + ProductSet.prototype.displayName = ""; + + /** + * ProductSet indexTime. + * @member {google.protobuf.ITimestamp|null|undefined} indexTime + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @instance + */ + ProductSet.prototype.indexTime = null; + + /** + * ProductSet indexError. + * @member {google.rpc.IStatus|null|undefined} indexError + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @instance + */ + ProductSet.prototype.indexError = null; + + /** + * Creates a new ProductSet instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSet=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet instance + */ + ProductSet.create = function create(properties) { + return new ProductSet(properties); + }; + + /** + * Encodes the specified ProductSet message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSet.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSet} message ProductSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && message.hasOwnProperty("displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.indexError != null && message.hasOwnProperty("indexError")) + $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSet message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSet} message ProductSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSet message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.displayName = reader.string(); + break; + case 3: + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 4: + message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSet message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSet.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.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.indexTime); + if (error) + return "indexTime." + error; + } + if (message.indexError != null && message.hasOwnProperty("indexError")) { + var error = $root.google.rpc.Status.verify(message.indexError); + if (error) + return "indexError." + error; + } + return null; + }; + + /** + * Creates a ProductSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet + */ + ProductSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSet) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSet(); + if (object.name != null) + message.name = String(object.name); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.indexTime != null) { + if (typeof object.indexTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSet.indexTime: object expected"); + message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); + } + if (object.indexError != null) { + if (typeof object.indexError !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSet.indexError: object expected"); + message.indexError = $root.google.rpc.Status.fromObject(object.indexError); + } + return message; + }; + + /** + * Creates a plain object from a ProductSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSet} message ProductSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.indexTime = null; + object.indexError = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); + if (message.indexError != null && message.hasOwnProperty("indexError")) + object.indexError = $root.google.rpc.Status.toObject(message.indexError, options); + return object; + }; + + /** + * Converts this ProductSet to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @instance + * @returns {Object.} JSON object + */ + ProductSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProductSet; + })(); + + v1p4beta1.ReferenceImage = (function() { + + /** + * Properties of a ReferenceImage. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IReferenceImage + * @property {string|null} [name] ReferenceImage name + * @property {string|null} [uri] ReferenceImage uri + * @property {Array.|null} [boundingPolys] ReferenceImage boundingPolys + */ + + /** + * Constructs a new ReferenceImage. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ReferenceImage. + * @implements IReferenceImage + * @constructor + * @param {google.cloud.vision.v1p4beta1.IReferenceImage=} [properties] Properties to set + */ + function ReferenceImage(properties) { + this.boundingPolys = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ReferenceImage name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.name = ""; + + /** + * ReferenceImage uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.uri = ""; + + /** + * ReferenceImage boundingPolys. + * @member {Array.} boundingPolys + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.boundingPolys = $util.emptyArray; + + /** + * Creates a new ReferenceImage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p4beta1.IReferenceImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage instance + */ + ReferenceImage.create = function create(properties) { + return new ReferenceImage(properties); + }; + + /** + * Encodes the specified ReferenceImage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ReferenceImage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p4beta1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReferenceImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); + if (message.boundingPolys != null && message.boundingPolys.length) + for (var i = 0; i < message.boundingPolys.length; ++i) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPolys[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ReferenceImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ReferenceImage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p4beta1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReferenceImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReferenceImage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ReferenceImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.uri = reader.string(); + break; + case 3: + if (!(message.boundingPolys && message.boundingPolys.length)) + message.boundingPolys = []; + message.boundingPolys.push($root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReferenceImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReferenceImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReferenceImage message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReferenceImage.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.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.boundingPolys != null && message.hasOwnProperty("boundingPolys")) { + if (!Array.isArray(message.boundingPolys)) + return "boundingPolys: array expected"; + for (var i = 0; i < message.boundingPolys.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPolys[i]); + if (error) + return "boundingPolys." + error; + } + } + return null; + }; + + /** + * Creates a ReferenceImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage + */ + ReferenceImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ReferenceImage) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ReferenceImage(); + if (object.name != null) + message.name = String(object.name); + if (object.uri != null) + message.uri = String(object.uri); + if (object.boundingPolys) { + if (!Array.isArray(object.boundingPolys)) + throw TypeError(".google.cloud.vision.v1p4beta1.ReferenceImage.boundingPolys: array expected"); + message.boundingPolys = []; + for (var i = 0; i < object.boundingPolys.length; ++i) { + if (typeof object.boundingPolys[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ReferenceImage.boundingPolys: object expected"); + message.boundingPolys[i] = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPolys[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ReferenceImage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p4beta1.ReferenceImage} message ReferenceImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReferenceImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.boundingPolys = []; + if (options.defaults) { + object.name = ""; + object.uri = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.boundingPolys && message.boundingPolys.length) { + object.boundingPolys = []; + for (var j = 0; j < message.boundingPolys.length; ++j) + object.boundingPolys[j] = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPolys[j], options); + } + return object; + }; + + /** + * Converts this ReferenceImage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @instance + * @returns {Object.} JSON object + */ + ReferenceImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ReferenceImage; + })(); + + v1p4beta1.CreateProductRequest = (function() { + + /** + * Properties of a CreateProductRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ICreateProductRequest + * @property {string|null} [parent] CreateProductRequest parent + * @property {google.cloud.vision.v1p4beta1.IProduct|null} [product] CreateProductRequest product + * @property {string|null} [productId] CreateProductRequest productId + */ + + /** + * Constructs a new CreateProductRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a CreateProductRequest. + * @implements ICreateProductRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest=} [properties] Properties to set + */ + function CreateProductRequest(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]]; + } + + /** + * CreateProductRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @instance + */ + CreateProductRequest.prototype.parent = ""; + + /** + * CreateProductRequest product. + * @member {google.cloud.vision.v1p4beta1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @instance + */ + CreateProductRequest.prototype.product = null; + + /** + * CreateProductRequest productId. + * @member {string} productId + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @instance + */ + CreateProductRequest.prototype.productId = ""; + + /** + * Creates a new CreateProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest instance + */ + CreateProductRequest.create = function create(properties) { + return new CreateProductRequest(properties); + }; + + /** + * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} message CreateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.productId != null && message.hasOwnProperty("productId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); + return writer; + }; + + /** + * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} message CreateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CreateProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); + break; + case 3: + message.productId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateProductRequest.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.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.productId != null && message.hasOwnProperty("productId")) + if (!$util.isString(message.productId)) + return "productId: string expected"; + return null; + }; + + /** + * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest + */ + CreateProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CreateProductRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.CreateProductRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CreateProductRequest.product: object expected"); + message.product = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.product); + } + if (object.productId != null) + message.productId = String(object.productId); + return message; + }; + + /** + * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.CreateProductRequest} message CreateProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.product = null; + object.productId = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.product, options); + if (message.productId != null && message.hasOwnProperty("productId")) + object.productId = message.productId; + return object; + }; + + /** + * Converts this CreateProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @instance + * @returns {Object.} JSON object + */ + CreateProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CreateProductRequest; + })(); + + v1p4beta1.ListProductsRequest = (function() { + + /** + * Properties of a ListProductsRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IListProductsRequest + * @property {string|null} [parent] ListProductsRequest parent + * @property {number|null} [pageSize] ListProductsRequest pageSize + * @property {string|null} [pageToken] ListProductsRequest pageToken + */ + + /** + * Constructs a new ListProductsRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ListProductsRequest. + * @implements IListProductsRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest=} [properties] Properties to set + */ + function ListProductsRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.parent = ""; + + /** + * ListProductsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.pageSize = 0; + + /** + * ListProductsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @instance + */ + ListProductsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest instance + */ + ListProductsRequest.create = function create(properties) { + return new ListProductsRequest(properties); + }; + + /** + * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.pageSize = reader.int32(); + break; + case 3: + message.pageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest + */ + ListProductsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ListProductsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ListProductsRequest} message ListProductsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + return object; + }; + + /** + * Converts this ListProductsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsRequest; + })(); + + v1p4beta1.ListProductsResponse = (function() { + + /** + * Properties of a ListProductsResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IListProductsResponse + * @property {Array.|null} [products] ListProductsResponse products + * @property {string|null} [nextPageToken] ListProductsResponse nextPageToken + */ + + /** + * Constructs a new ListProductsResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ListProductsResponse. + * @implements IListProductsResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IListProductsResponse=} [properties] Properties to set + */ + function ListProductsResponse(properties) { + this.products = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsResponse products. + * @member {Array.} products + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @instance + */ + ListProductsResponse.prototype.products = $util.emptyArray; + + /** + * ListProductsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @instance + */ + ListProductsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse instance + */ + ListProductsResponse.create = function create(properties) { + return new ListProductsResponse(properties); + }; + + /** + * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.products[i]); + if (error) + return "products." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse + */ + ListProductsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ListProductsResponse(); + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsResponse.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsResponse.products: object expected"); + message.products[i] = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.products[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.ListProductsResponse} message ListProductsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.products = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.products[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductsResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsResponse; + })(); + + v1p4beta1.GetProductRequest = (function() { + + /** + * Properties of a GetProductRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IGetProductRequest + * @property {string|null} [name] GetProductRequest name + */ + + /** + * Constructs a new GetProductRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a GetProductRequest. + * @implements IGetProductRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest=} [properties] Properties to set + */ + function GetProductRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetProductRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @instance + */ + GetProductRequest.prototype.name = ""; + + /** + * Creates a new GetProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest instance + */ + GetProductRequest.create = function create(properties) { + return new GetProductRequest(properties); + }; + + /** + * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GetProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProductRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest + */ + GetProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GetProductRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.GetProductRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.GetProductRequest} message GetProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this GetProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @instance + * @returns {Object.} JSON object + */ + GetProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetProductRequest; + })(); + + v1p4beta1.UpdateProductRequest = (function() { + + /** + * Properties of an UpdateProductRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IUpdateProductRequest + * @property {google.cloud.vision.v1p4beta1.IProduct|null} [product] UpdateProductRequest product + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductRequest updateMask + */ + + /** + * Constructs a new UpdateProductRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an UpdateProductRequest. + * @implements IUpdateProductRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest=} [properties] Properties to set + */ + function UpdateProductRequest(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]]; + } + + /** + * UpdateProductRequest product. + * @member {google.cloud.vision.v1p4beta1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @instance + */ + UpdateProductRequest.prototype.product = null; + + /** + * UpdateProductRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @instance + */ + UpdateProductRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest instance + */ + UpdateProductRequest.create = function create(properties) { + return new UpdateProductRequest(properties); + }; + + /** + * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.UpdateProductRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); + break; + case 2: + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateProductRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest + */ + UpdateProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.UpdateProductRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.UpdateProductRequest(); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductRequest.product: object expected"); + message.product = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.product); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.UpdateProductRequest} message UpdateProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateProductRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.product = null; + object.updateMask = null; + } + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.product, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UpdateProductRequest; + })(); + + v1p4beta1.DeleteProductRequest = (function() { + + /** + * Properties of a DeleteProductRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IDeleteProductRequest + * @property {string|null} [name] DeleteProductRequest name + */ + + /** + * Constructs a new DeleteProductRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a DeleteProductRequest. + * @implements IDeleteProductRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest=} [properties] Properties to set + */ + function DeleteProductRequest(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]]; + } + + /** + * DeleteProductRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @instance + */ + DeleteProductRequest.prototype.name = ""; + + /** + * Creates a new DeleteProductRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest instance + */ + DeleteProductRequest.create = function create(properties) { + return new DeleteProductRequest(properties); + }; + + /** + * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteProductRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DeleteProductRequest(); + 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 DeleteProductRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteProductRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteProductRequest.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 DeleteProductRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest + */ + DeleteProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.DeleteProductRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.DeleteProductRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @static + * @param {google.cloud.vision.v1p4beta1.DeleteProductRequest} message DeleteProductRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteProductRequest.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 DeleteProductRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteProductRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteProductRequest; + })(); + + v1p4beta1.CreateProductSetRequest = (function() { + + /** + * Properties of a CreateProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ICreateProductSetRequest + * @property {string|null} [parent] CreateProductSetRequest parent + * @property {google.cloud.vision.v1p4beta1.IProductSet|null} [productSet] CreateProductSetRequest productSet + * @property {string|null} [productSetId] CreateProductSetRequest productSetId + */ + + /** + * Constructs a new CreateProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a CreateProductSetRequest. + * @implements ICreateProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest=} [properties] Properties to set + */ + function CreateProductSetRequest(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]]; + } + + /** + * CreateProductSetRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.parent = ""; + + /** + * CreateProductSetRequest productSet. + * @member {google.cloud.vision.v1p4beta1.IProductSet|null|undefined} productSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.productSet = null; + + /** + * CreateProductSetRequest productSetId. + * @member {string} productSetId + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.productSetId = ""; + + /** + * Creates a new CreateProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest instance + */ + CreateProductSetRequest.create = function create(properties) { + return new CreateProductSetRequest(properties); + }; + + /** + * Encodes the specified CreateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.productSet != null && message.hasOwnProperty("productSet")) + $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); + return writer; + }; + + /** + * Encodes the specified CreateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); + break; + case 3: + message.productSetId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateProductSetRequest.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.productSet != null && message.hasOwnProperty("productSet")) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSet.verify(message.productSet); + if (error) + return "productSet." + error; + } + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (!$util.isString(message.productSetId)) + return "productSetId: string expected"; + return null; + }; + + /** + * Creates a CreateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest + */ + CreateProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.productSet != null) { + if (typeof object.productSet !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CreateProductSetRequest.productSet: object expected"); + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.fromObject(object.productSet); + } + if (object.productSetId != null) + message.productSetId = String(object.productSetId); + return message; + }; + + /** + * Creates a plain object from a CreateProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.CreateProductSetRequest} message CreateProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.productSet = null; + object.productSetId = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.toObject(message.productSet, options); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + object.productSetId = message.productSetId; + return object; + }; + + /** + * Converts this CreateProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + CreateProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CreateProductSetRequest; + })(); + + v1p4beta1.ListProductSetsRequest = (function() { + + /** + * Properties of a ListProductSetsRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IListProductSetsRequest + * @property {string|null} [parent] ListProductSetsRequest parent + * @property {number|null} [pageSize] ListProductSetsRequest pageSize + * @property {string|null} [pageToken] ListProductSetsRequest pageToken + */ + + /** + * Constructs a new ListProductSetsRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ListProductSetsRequest. + * @implements IListProductSetsRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest=} [properties] Properties to set + */ + function ListProductSetsRequest(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]]; + } + + /** + * ListProductSetsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.parent = ""; + + /** + * ListProductSetsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.pageSize = 0; + + /** + * ListProductSetsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductSetsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest instance + */ + ListProductSetsRequest.create = function create(properties) { + return new ListProductSetsRequest(properties); + }; + + /** + * Encodes the specified ListProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductSetsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest(); + 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 ListProductSetsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductSetsRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductSetsRequest.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 ListProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest + */ + ListProductSetsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest(); + 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 ListProductSetsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ListProductSetsRequest} message ListProductSetsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductSetsRequest.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 ListProductSetsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductSetsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductSetsRequest; + })(); + + v1p4beta1.ListProductSetsResponse = (function() { + + /** + * Properties of a ListProductSetsResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IListProductSetsResponse + * @property {Array.|null} [productSets] ListProductSetsResponse productSets + * @property {string|null} [nextPageToken] ListProductSetsResponse nextPageToken + */ + + /** + * Constructs a new ListProductSetsResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ListProductSetsResponse. + * @implements IListProductSetsResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse=} [properties] Properties to set + */ + function ListProductSetsResponse(properties) { + this.productSets = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductSetsResponse productSets. + * @member {Array.} productSets + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @instance + */ + ListProductSetsResponse.prototype.productSets = $util.emptyArray; + + /** + * ListProductSetsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @instance + */ + ListProductSetsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductSetsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse instance + */ + ListProductSetsResponse.create = function create(properties) { + return new ListProductSetsResponse(properties); + }; + + /** + * Encodes the specified ListProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSets != null && message.productSets.length) + for (var i = 0; i < message.productSets.length; ++i) + $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.productSets && message.productSets.length)) + message.productSets = []; + message.productSets.push($root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductSetsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductSetsResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductSetsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.productSets != null && message.hasOwnProperty("productSets")) { + if (!Array.isArray(message.productSets)) + return "productSets: array expected"; + for (var i = 0; i < message.productSets.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSet.verify(message.productSets[i]); + if (error) + return "productSets." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse + */ + ListProductSetsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse(); + if (object.productSets) { + if (!Array.isArray(object.productSets)) + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductSetsResponse.productSets: array expected"); + message.productSets = []; + for (var i = 0; i < object.productSets.length; ++i) { + if (typeof object.productSets[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductSetsResponse.productSets: object expected"); + message.productSets[i] = $root.google.cloud.vision.v1p4beta1.ProductSet.fromObject(object.productSets[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductSetsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.ListProductSetsResponse} message ListProductSetsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductSetsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productSets = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.productSets && message.productSets.length) { + object.productSets = []; + for (var j = 0; j < message.productSets.length; ++j) + object.productSets[j] = $root.google.cloud.vision.v1p4beta1.ProductSet.toObject(message.productSets[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductSetsResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductSetsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductSetsResponse; + })(); + + v1p4beta1.GetProductSetRequest = (function() { + + /** + * Properties of a GetProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IGetProductSetRequest + * @property {string|null} [name] GetProductSetRequest name + */ + + /** + * Constructs a new GetProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a GetProductSetRequest. + * @implements IGetProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest=} [properties] Properties to set + */ + function GetProductSetRequest(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]]; + } + + /** + * GetProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @instance + */ + GetProductSetRequest.prototype.name = ""; + + /** + * Creates a new GetProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest instance + */ + GetProductSetRequest.create = function create(properties) { + return new GetProductSetRequest(properties); + }; + + /** + * Encodes the specified GetProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GetProductSetRequest(); + 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 GetProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetProductSetRequest.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 GetProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest + */ + GetProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GetProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.GetProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.GetProductSetRequest} message GetProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetProductSetRequest.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 GetProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + GetProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetProductSetRequest; + })(); + + v1p4beta1.UpdateProductSetRequest = (function() { + + /** + * Properties of an UpdateProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IUpdateProductSetRequest + * @property {google.cloud.vision.v1p4beta1.IProductSet|null} [productSet] UpdateProductSetRequest productSet + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductSetRequest updateMask + */ + + /** + * Constructs a new UpdateProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an UpdateProductSetRequest. + * @implements IUpdateProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest=} [properties] Properties to set + */ + function UpdateProductSetRequest(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]]; + } + + /** + * UpdateProductSetRequest productSet. + * @member {google.cloud.vision.v1p4beta1.IProductSet|null|undefined} productSet + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @instance + */ + UpdateProductSetRequest.prototype.productSet = null; + + /** + * UpdateProductSetRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @instance + */ + UpdateProductSetRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest instance + */ + UpdateProductSetRequest.create = function create(properties) { + return new UpdateProductSetRequest(properties); + }; + + /** + * Encodes the specified UpdateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSet != null && message.hasOwnProperty("productSet")) + $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); + break; + case 2: + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateProductSetRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.productSet != null && message.hasOwnProperty("productSet")) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSet.verify(message.productSet); + if (error) + return "productSet." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest + */ + UpdateProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest(); + if (object.productSet != null) { + if (typeof object.productSet !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductSetRequest.productSet: object expected"); + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.fromObject(object.productSet); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductSetRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} message UpdateProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.productSet = null; + object.updateMask = null; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.toObject(message.productSet, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UpdateProductSetRequest; + })(); + + v1p4beta1.DeleteProductSetRequest = (function() { + + /** + * Properties of a DeleteProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IDeleteProductSetRequest + * @property {string|null} [name] DeleteProductSetRequest name + */ + + /** + * Constructs a new DeleteProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a DeleteProductSetRequest. + * @implements IDeleteProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest=} [properties] Properties to set + */ + function DeleteProductSetRequest(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]]; + } + + /** + * DeleteProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @instance + */ + DeleteProductSetRequest.prototype.name = ""; + + /** + * Creates a new DeleteProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest instance + */ + DeleteProductSetRequest.create = function create(properties) { + return new DeleteProductSetRequest(properties); + }; + + /** + * Encodes the specified DeleteProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest(); + 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 DeleteProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteProductSetRequest.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 DeleteProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest + */ + DeleteProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} message DeleteProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteProductSetRequest.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 DeleteProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteProductSetRequest; + })(); + + v1p4beta1.CreateReferenceImageRequest = (function() { + + /** + * Properties of a CreateReferenceImageRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ICreateReferenceImageRequest + * @property {string|null} [parent] CreateReferenceImageRequest parent + * @property {google.cloud.vision.v1p4beta1.IReferenceImage|null} [referenceImage] CreateReferenceImageRequest referenceImage + * @property {string|null} [referenceImageId] CreateReferenceImageRequest referenceImageId + */ + + /** + * Constructs a new CreateReferenceImageRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a CreateReferenceImageRequest. + * @implements ICreateReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest=} [properties] Properties to set + */ + function CreateReferenceImageRequest(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]]; + } + + /** + * CreateReferenceImageRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.parent = ""; + + /** + * CreateReferenceImageRequest referenceImage. + * @member {google.cloud.vision.v1p4beta1.IReferenceImage|null|undefined} referenceImage + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.referenceImage = null; + + /** + * CreateReferenceImageRequest referenceImageId. + * @member {string} referenceImageId + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.referenceImageId = ""; + + /** + * Creates a new CreateReferenceImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest instance + */ + CreateReferenceImageRequest.create = function create(properties) { + return new CreateReferenceImageRequest(properties); + }; + + /** + * Encodes the specified CreateReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateReferenceImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); + return writer; + }; + + /** + * Encodes the specified CreateReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateReferenceImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32()); + break; + case 3: + message.referenceImageId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateReferenceImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateReferenceImageRequest.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.referenceImage != null && message.hasOwnProperty("referenceImage")) { + var error = $root.google.cloud.vision.v1p4beta1.ReferenceImage.verify(message.referenceImage); + if (error) + return "referenceImage." + error; + } + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (!$util.isString(message.referenceImageId)) + return "referenceImageId: string expected"; + return null; + }; + + /** + * Creates a CreateReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest + */ + CreateReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.referenceImage != null) { + if (typeof object.referenceImage !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.referenceImage: object expected"); + message.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.fromObject(object.referenceImage); + } + if (object.referenceImageId != null) + message.referenceImageId = String(object.referenceImageId); + return message; + }; + + /** + * Creates a plain object from a CreateReferenceImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} message CreateReferenceImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateReferenceImageRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.referenceImage = null; + object.referenceImageId = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + object.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.toObject(message.referenceImage, options); + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + object.referenceImageId = message.referenceImageId; + return object; + }; + + /** + * Converts this CreateReferenceImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @instance + * @returns {Object.} JSON object + */ + CreateReferenceImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CreateReferenceImageRequest; + })(); + + v1p4beta1.ListReferenceImagesRequest = (function() { + + /** + * Properties of a ListReferenceImagesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IListReferenceImagesRequest + * @property {string|null} [parent] ListReferenceImagesRequest parent + * @property {number|null} [pageSize] ListReferenceImagesRequest pageSize + * @property {string|null} [pageToken] ListReferenceImagesRequest pageToken + */ + + /** + * Constructs a new ListReferenceImagesRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ListReferenceImagesRequest. + * @implements IListReferenceImagesRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest=} [properties] Properties to set + */ + function ListReferenceImagesRequest(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]]; + } + + /** + * ListReferenceImagesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.parent = ""; + + /** + * ListReferenceImagesRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.pageSize = 0; + + /** + * ListReferenceImagesRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.pageToken = ""; + + /** + * Creates a new ListReferenceImagesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest instance + */ + ListReferenceImagesRequest.create = function create(properties) { + return new ListReferenceImagesRequest(properties); + }; + + /** + * Encodes the specified ListReferenceImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListReferenceImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest(); + 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 ListReferenceImagesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListReferenceImagesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListReferenceImagesRequest.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 ListReferenceImagesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest + */ + ListReferenceImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest(); + 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 ListReferenceImagesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} message ListReferenceImagesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListReferenceImagesRequest.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 ListReferenceImagesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @instance + * @returns {Object.} JSON object + */ + ListReferenceImagesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListReferenceImagesRequest; + })(); + + v1p4beta1.ListReferenceImagesResponse = (function() { + + /** + * Properties of a ListReferenceImagesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IListReferenceImagesResponse + * @property {Array.|null} [referenceImages] ListReferenceImagesResponse referenceImages + * @property {number|null} [pageSize] ListReferenceImagesResponse pageSize + * @property {string|null} [nextPageToken] ListReferenceImagesResponse nextPageToken + */ + + /** + * Constructs a new ListReferenceImagesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ListReferenceImagesResponse. + * @implements IListReferenceImagesResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse=} [properties] Properties to set + */ + function ListReferenceImagesResponse(properties) { + this.referenceImages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListReferenceImagesResponse referenceImages. + * @member {Array.} referenceImages + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @instance + */ + ListReferenceImagesResponse.prototype.referenceImages = $util.emptyArray; + + /** + * ListReferenceImagesResponse pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @instance + */ + ListReferenceImagesResponse.prototype.pageSize = 0; + + /** + * ListReferenceImagesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @instance + */ + ListReferenceImagesResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListReferenceImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse instance + */ + ListReferenceImagesResponse.create = function create(properties) { + return new ListReferenceImagesResponse(properties); + }; + + /** + * Encodes the specified ListReferenceImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.referenceImages != null && message.referenceImages.length) + for (var i = 0; i < message.referenceImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListReferenceImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListReferenceImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); + break; + case 2: + message.pageSize = reader.int32(); + break; + case 3: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListReferenceImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListReferenceImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListReferenceImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { + if (!Array.isArray(message.referenceImages)) + return "referenceImages: array expected"; + for (var i = 0; i < message.referenceImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ReferenceImage.verify(message.referenceImages[i]); + if (error) + return "referenceImages." + error; + } + } + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListReferenceImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse + */ + ListReferenceImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse(); + if (object.referenceImages) { + if (!Array.isArray(object.referenceImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.referenceImages: array expected"); + message.referenceImages = []; + for (var i = 0; i < object.referenceImages.length; ++i) { + if (typeof object.referenceImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.referenceImages: object expected"); + message.referenceImages[i] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.fromObject(object.referenceImages[i]); + } + } + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListReferenceImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} message ListReferenceImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListReferenceImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.referenceImages = []; + if (options.defaults) { + object.pageSize = 0; + object.nextPageToken = ""; + } + if (message.referenceImages && message.referenceImages.length) { + object.referenceImages = []; + for (var j = 0; j < message.referenceImages.length; ++j) + object.referenceImages[j] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.toObject(message.referenceImages[j], options); + } + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListReferenceImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @instance + * @returns {Object.} JSON object + */ + ListReferenceImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListReferenceImagesResponse; + })(); + + v1p4beta1.GetReferenceImageRequest = (function() { + + /** + * Properties of a GetReferenceImageRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IGetReferenceImageRequest + * @property {string|null} [name] GetReferenceImageRequest name + */ + + /** + * Constructs a new GetReferenceImageRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a GetReferenceImageRequest. + * @implements IGetReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest=} [properties] Properties to set + */ + function GetReferenceImageRequest(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]]; + } + + /** + * GetReferenceImageRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @instance + */ + GetReferenceImageRequest.prototype.name = ""; + + /** + * Creates a new GetReferenceImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest instance + */ + GetReferenceImageRequest.create = function create(properties) { + return new GetReferenceImageRequest(properties); + }; + + /** + * Encodes the specified GetReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetReferenceImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetReferenceImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetReferenceImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetReferenceImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetReferenceImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest(); + 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 GetReferenceImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetReferenceImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetReferenceImageRequest.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 GetReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest + */ + GetReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetReferenceImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} message GetReferenceImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetReferenceImageRequest.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 GetReferenceImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @instance + * @returns {Object.} JSON object + */ + GetReferenceImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetReferenceImageRequest; + })(); + + v1p4beta1.DeleteReferenceImageRequest = (function() { + + /** + * Properties of a DeleteReferenceImageRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IDeleteReferenceImageRequest + * @property {string|null} [name] DeleteReferenceImageRequest name + */ + + /** + * Constructs a new DeleteReferenceImageRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a DeleteReferenceImageRequest. + * @implements IDeleteReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest=} [properties] Properties to set + */ + function DeleteReferenceImageRequest(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]]; + } + + /** + * DeleteReferenceImageRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @instance + */ + DeleteReferenceImageRequest.prototype.name = ""; + + /** + * Creates a new DeleteReferenceImageRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest instance + */ + DeleteReferenceImageRequest.create = function create(properties) { + return new DeleteReferenceImageRequest(properties); + }; + + /** + * Encodes the specified DeleteReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteReferenceImageRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteReferenceImageRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest(); + 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 DeleteReferenceImageRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteReferenceImageRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteReferenceImageRequest.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 DeleteReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + */ + DeleteReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteReferenceImageRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @static + * @param {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} message DeleteReferenceImageRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteReferenceImageRequest.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 DeleteReferenceImageRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteReferenceImageRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteReferenceImageRequest; + })(); + + v1p4beta1.AddProductToProductSetRequest = (function() { + + /** + * Properties of an AddProductToProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IAddProductToProductSetRequest + * @property {string|null} [name] AddProductToProductSetRequest name + * @property {string|null} [product] AddProductToProductSetRequest product + */ + + /** + * Constructs a new AddProductToProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an AddProductToProductSetRequest. + * @implements IAddProductToProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest=} [properties] Properties to set + */ + function AddProductToProductSetRequest(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]]; + } + + /** + * AddProductToProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @instance + */ + AddProductToProductSetRequest.prototype.name = ""; + + /** + * AddProductToProductSetRequest product. + * @member {string} product + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @instance + */ + AddProductToProductSetRequest.prototype.product = ""; + + /** + * Creates a new AddProductToProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest instance + */ + AddProductToProductSetRequest.create = function create(properties) { + return new AddProductToProductSetRequest(properties); + }; + + /** + * Encodes the specified AddProductToProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AddProductToProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddProductToProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.product != null && message.hasOwnProperty("product")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); + return writer; + }; + + /** + * Encodes the specified AddProductToProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AddProductToProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddProductToProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddProductToProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.product = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddProductToProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AddProductToProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AddProductToProductSetRequest.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.product != null && message.hasOwnProperty("product")) + if (!$util.isString(message.product)) + return "product: string expected"; + return null; + }; + + /** + * Creates an AddProductToProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest + */ + AddProductToProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.product != null) + message.product = String(object.product); + return message; + }; + + /** + * Creates a plain object from an AddProductToProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} message AddProductToProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AddProductToProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.product = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.product != null && message.hasOwnProperty("product")) + object.product = message.product; + return object; + }; + + /** + * Converts this AddProductToProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + AddProductToProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AddProductToProductSetRequest; + })(); + + v1p4beta1.RemoveProductFromProductSetRequest = (function() { + + /** + * Properties of a RemoveProductFromProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IRemoveProductFromProductSetRequest + * @property {string|null} [name] RemoveProductFromProductSetRequest name + * @property {string|null} [product] RemoveProductFromProductSetRequest product + */ + + /** + * Constructs a new RemoveProductFromProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a RemoveProductFromProductSetRequest. + * @implements IRemoveProductFromProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest=} [properties] Properties to set + */ + function RemoveProductFromProductSetRequest(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]]; + } + + /** + * RemoveProductFromProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @instance + */ + RemoveProductFromProductSetRequest.prototype.name = ""; + + /** + * RemoveProductFromProductSetRequest product. + * @member {string} product + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @instance + */ + RemoveProductFromProductSetRequest.prototype.product = ""; + + /** + * Creates a new RemoveProductFromProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest instance + */ + RemoveProductFromProductSetRequest.create = function create(properties) { + return new RemoveProductFromProductSetRequest(properties); + }; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RemoveProductFromProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.product != null && message.hasOwnProperty("product")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); + return writer; + }; + + /** + * Encodes the specified RemoveProductFromProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RemoveProductFromProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RemoveProductFromProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.product = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RemoveProductFromProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RemoveProductFromProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RemoveProductFromProductSetRequest.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.product != null && message.hasOwnProperty("product")) + if (!$util.isString(message.product)) + return "product: string expected"; + return null; + }; + + /** + * Creates a RemoveProductFromProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + */ + RemoveProductFromProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.product != null) + message.product = String(object.product); + return message; + }; + + /** + * Creates a plain object from a RemoveProductFromProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RemoveProductFromProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.product = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.product != null && message.hasOwnProperty("product")) + object.product = message.product; + return object; + }; + + /** + * Converts this RemoveProductFromProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + RemoveProductFromProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return RemoveProductFromProductSetRequest; + })(); + + v1p4beta1.ListProductsInProductSetRequest = (function() { + + /** + * Properties of a ListProductsInProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IListProductsInProductSetRequest + * @property {string|null} [name] ListProductsInProductSetRequest name + * @property {number|null} [pageSize] ListProductsInProductSetRequest pageSize + * @property {string|null} [pageToken] ListProductsInProductSetRequest pageToken + */ + + /** + * Constructs a new ListProductsInProductSetRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ListProductsInProductSetRequest. + * @implements IListProductsInProductSetRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest=} [properties] Properties to set + */ + function ListProductsInProductSetRequest(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]]; + } + + /** + * ListProductsInProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.name = ""; + + /** + * ListProductsInProductSetRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.pageSize = 0; + + /** + * ListProductsInProductSetRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductsInProductSetRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest instance + */ + ListProductsInProductSetRequest.create = function create(properties) { + return new ListProductsInProductSetRequest(properties); + }; + + /** + * Encodes the specified ListProductsInProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsInProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = 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 ListProductsInProductSetRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsInProductSetRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsInProductSetRequest.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.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 ListProductsInProductSetRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + */ + ListProductsInProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest(); + if (object.name != null) + message.name = String(object.name); + 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 ListProductsInProductSetRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} message ListProductsInProductSetRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsInProductSetRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.pageSize = 0; + object.pageToken = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + 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 ListProductsInProductSetRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @instance + * @returns {Object.} JSON object + */ + ListProductsInProductSetRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsInProductSetRequest; + })(); + + v1p4beta1.ListProductsInProductSetResponse = (function() { + + /** + * Properties of a ListProductsInProductSetResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IListProductsInProductSetResponse + * @property {Array.|null} [products] ListProductsInProductSetResponse products + * @property {string|null} [nextPageToken] ListProductsInProductSetResponse nextPageToken + */ + + /** + * Constructs a new ListProductsInProductSetResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ListProductsInProductSetResponse. + * @implements IListProductsInProductSetResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse=} [properties] Properties to set + */ + function ListProductsInProductSetResponse(properties) { + this.products = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListProductsInProductSetResponse products. + * @member {Array.} products + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @instance + */ + ListProductsInProductSetResponse.prototype.products = $util.emptyArray; + + /** + * ListProductsInProductSetResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @instance + */ + ListProductsInProductSetResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListProductsInProductSetResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse instance + */ + ListProductsInProductSetResponse.create = function create(properties) { + return new ListProductsInProductSetResponse(properties); + }; + + /** + * Encodes the specified ListProductsInProductSetResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListProductsInProductSetResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListProductsInProductSetResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListProductsInProductSetResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListProductsInProductSetResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListProductsInProductSetResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.products[i]); + if (error) + return "products." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListProductsInProductSetResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + */ + ListProductsInProductSetResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse(); + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.products: object expected"); + message.products[i] = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.products[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListProductsInProductSetResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @static + * @param {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} message ListProductsInProductSetResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListProductsInProductSetResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.products = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.products[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListProductsInProductSetResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @instance + * @returns {Object.} JSON object + */ + ListProductsInProductSetResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListProductsInProductSetResponse; + })(); + + v1p4beta1.ImportProductSetsGcsSource = (function() { + + /** + * Properties of an ImportProductSetsGcsSource. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IImportProductSetsGcsSource + * @property {string|null} [csvFileUri] ImportProductSetsGcsSource csvFileUri + */ + + /** + * Constructs a new ImportProductSetsGcsSource. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an ImportProductSetsGcsSource. + * @implements IImportProductSetsGcsSource + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource=} [properties] Properties to set + */ + function ImportProductSetsGcsSource(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]]; + } + + /** + * ImportProductSetsGcsSource csvFileUri. + * @member {string} csvFileUri + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @instance + */ + ImportProductSetsGcsSource.prototype.csvFileUri = ""; + + /** + * Creates a new ImportProductSetsGcsSource instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource instance + */ + ImportProductSetsGcsSource.create = function create(properties) { + return new ImportProductSetsGcsSource(properties); + }; + + /** + * Encodes the specified ImportProductSetsGcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsGcsSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsGcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsGcsSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsGcsSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.csvFileUri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsGcsSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsGcsSource message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsGcsSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (!$util.isString(message.csvFileUri)) + return "csvFileUri: string expected"; + return null; + }; + + /** + * Creates an ImportProductSetsGcsSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + */ + ImportProductSetsGcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource(); + if (object.csvFileUri != null) + message.csvFileUri = String(object.csvFileUri); + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsGcsSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @static + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} message ImportProductSetsGcsSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsGcsSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.csvFileUri = ""; + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + object.csvFileUri = message.csvFileUri; + return object; + }; + + /** + * Converts this ImportProductSetsGcsSource to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsGcsSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsGcsSource; + })(); + + v1p4beta1.ImportProductSetsInputConfig = (function() { + + /** + * Properties of an ImportProductSetsInputConfig. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IImportProductSetsInputConfig + * @property {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource|null} [gcsSource] ImportProductSetsInputConfig gcsSource + */ + + /** + * Constructs a new ImportProductSetsInputConfig. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an ImportProductSetsInputConfig. + * @implements IImportProductSetsInputConfig + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig=} [properties] Properties to set + */ + function ImportProductSetsInputConfig(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]]; + } + + /** + * ImportProductSetsInputConfig gcsSource. + * @member {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @instance + */ + ImportProductSetsInputConfig.prototype.gcsSource = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ImportProductSetsInputConfig source. + * @member {"gcsSource"|undefined} source + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @instance + */ + Object.defineProperty(ImportProductSetsInputConfig.prototype, "source", { + get: $util.oneOfGetter($oneOfFields = ["gcsSource"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ImportProductSetsInputConfig instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig instance + */ + ImportProductSetsInputConfig.create = function create(properties) { + return new ImportProductSetsInputConfig(properties); + }; + + /** + * Encodes the specified ImportProductSetsInputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsInputConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsInputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsInputConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsInputConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsInputConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsInputConfig message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsInputConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + properties.source = 1; + { + var error = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify(message.gcsSource); + if (error) + return "gcsSource." + error; + } + } + return null; + }; + + /** + * Creates an ImportProductSetsInputConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + */ + ImportProductSetsInputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.fromObject(object.gcsSource); + } + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsInputConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @static + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} message ImportProductSetsInputConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsInputConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + object.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.toObject(message.gcsSource, options); + if (options.oneofs) + object.source = "gcsSource"; + } + return object; + }; + + /** + * Converts this ImportProductSetsInputConfig to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsInputConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsInputConfig; + })(); + + v1p4beta1.ImportProductSetsRequest = (function() { + + /** + * Properties of an ImportProductSetsRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IImportProductSetsRequest + * @property {string|null} [parent] ImportProductSetsRequest parent + * @property {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig|null} [inputConfig] ImportProductSetsRequest inputConfig + */ + + /** + * Constructs a new ImportProductSetsRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an ImportProductSetsRequest. + * @implements IImportProductSetsRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest=} [properties] Properties to set + */ + function ImportProductSetsRequest(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]]; + } + + /** + * ImportProductSetsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @instance + */ + ImportProductSetsRequest.prototype.parent = ""; + + /** + * ImportProductSetsRequest inputConfig. + * @member {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @instance + */ + ImportProductSetsRequest.prototype.inputConfig = null; + + /** + * Creates a new ImportProductSetsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest instance + */ + ImportProductSetsRequest.create = function create(properties) { + return new ImportProductSetsRequest(properties); + }; + + /** + * Encodes the specified ImportProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.parent = reader.string(); + break; + case 2: + message.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsRequest.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.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + return null; + }; + + /** + * Creates an ImportProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest + */ + ImportProductSetsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.fromObject(object.inputConfig); + } + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @static + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} message ImportProductSetsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.inputConfig = null; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.toObject(message.inputConfig, options); + return object; + }; + + /** + * Converts this ImportProductSetsRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsRequest; + })(); + + v1p4beta1.ImportProductSetsResponse = (function() { + + /** + * Properties of an ImportProductSetsResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IImportProductSetsResponse + * @property {Array.|null} [referenceImages] ImportProductSetsResponse referenceImages + * @property {Array.|null} [statuses] ImportProductSetsResponse statuses + */ + + /** + * Constructs a new ImportProductSetsResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents an ImportProductSetsResponse. + * @implements IImportProductSetsResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse=} [properties] Properties to set + */ + function ImportProductSetsResponse(properties) { + this.referenceImages = []; + this.statuses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImportProductSetsResponse referenceImages. + * @member {Array.} referenceImages + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @instance + */ + ImportProductSetsResponse.prototype.referenceImages = $util.emptyArray; + + /** + * ImportProductSetsResponse statuses. + * @member {Array.} statuses + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @instance + */ + ImportProductSetsResponse.prototype.statuses = $util.emptyArray; + + /** + * Creates a new ImportProductSetsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse instance + */ + ImportProductSetsResponse.create = function create(properties) { + return new ImportProductSetsResponse(properties); + }; + + /** + * Encodes the specified ImportProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.referenceImages != null && message.referenceImages.length) + for (var i = 0; i < message.referenceImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.statuses != null && message.statuses.length) + for (var i = 0; i < message.statuses.length; ++i) + $root.google.rpc.Status.encode(message.statuses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.statuses && message.statuses.length)) + message.statuses = []; + message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportProductSetsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportProductSetsResponse message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportProductSetsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { + if (!Array.isArray(message.referenceImages)) + return "referenceImages: array expected"; + for (var i = 0; i < message.referenceImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ReferenceImage.verify(message.referenceImages[i]); + if (error) + return "referenceImages." + error; + } + } + if (message.statuses != null && message.hasOwnProperty("statuses")) { + if (!Array.isArray(message.statuses)) + return "statuses: array expected"; + for (var i = 0; i < message.statuses.length; ++i) { + var error = $root.google.rpc.Status.verify(message.statuses[i]); + if (error) + return "statuses." + error; + } + } + return null; + }; + + /** + * Creates an ImportProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse + */ + ImportProductSetsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsResponse(); + if (object.referenceImages) { + if (!Array.isArray(object.referenceImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.referenceImages: array expected"); + message.referenceImages = []; + for (var i = 0; i < object.referenceImages.length; ++i) { + if (typeof object.referenceImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.referenceImages: object expected"); + message.referenceImages[i] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.fromObject(object.referenceImages[i]); + } + } + if (object.statuses) { + if (!Array.isArray(object.statuses)) + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.statuses: array expected"); + message.statuses = []; + for (var i = 0; i < object.statuses.length; ++i) { + if (typeof object.statuses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.statuses: object expected"); + message.statuses[i] = $root.google.rpc.Status.fromObject(object.statuses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ImportProductSetsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @static + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} message ImportProductSetsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportProductSetsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.referenceImages = []; + object.statuses = []; + } + if (message.referenceImages && message.referenceImages.length) { + object.referenceImages = []; + for (var j = 0; j < message.referenceImages.length; ++j) + object.referenceImages[j] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.toObject(message.referenceImages[j], options); + } + if (message.statuses && message.statuses.length) { + object.statuses = []; + for (var j = 0; j < message.statuses.length; ++j) + object.statuses[j] = $root.google.rpc.Status.toObject(message.statuses[j], options); + } + return object; + }; + + /** + * Converts this ImportProductSetsResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @instance + * @returns {Object.} JSON object + */ + ImportProductSetsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ImportProductSetsResponse; + })(); + + v1p4beta1.BatchOperationMetadata = (function() { + + /** + * Properties of a BatchOperationMetadata. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IBatchOperationMetadata + * @property {google.cloud.vision.v1p4beta1.BatchOperationMetadata.State|null} [state] BatchOperationMetadata state + * @property {google.protobuf.ITimestamp|null} [submitTime] BatchOperationMetadata submitTime + * @property {google.protobuf.ITimestamp|null} [endTime] BatchOperationMetadata endTime + */ + + /** + * Constructs a new BatchOperationMetadata. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a BatchOperationMetadata. + * @implements IBatchOperationMetadata + * @constructor + * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata=} [properties] Properties to set + */ + function BatchOperationMetadata(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]]; + } + + /** + * BatchOperationMetadata state. + * @member {google.cloud.vision.v1p4beta1.BatchOperationMetadata.State} state + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.state = 0; + + /** + * BatchOperationMetadata submitTime. + * @member {google.protobuf.ITimestamp|null|undefined} submitTime + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.submitTime = null; + + /** + * BatchOperationMetadata endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.endTime = null; + + /** + * Creates a new BatchOperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata instance + */ + BatchOperationMetadata.create = function create(properties) { + return new BatchOperationMetadata(properties); + }; + + /** + * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchOperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.submitTime != null && message.hasOwnProperty("submitTime")) + $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.endTime != null && message.hasOwnProperty("endTime")) + $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchOperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchOperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.state = reader.int32(); + break; + case 2: + message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 3: + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchOperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchOperationMetadata message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchOperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.submitTime != null && message.hasOwnProperty("submitTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.submitTime); + if (error) + return "submitTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.endTime); + if (error) + return "endTime." + error; + } + return null; + }; + + /** + * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata + */ + BatchOperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "PROCESSING": + case 1: + message.state = 1; + break; + case "SUCCESSFUL": + case 2: + message.state = 2; + break; + case "FAILED": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.submitTime != null) { + if (typeof object.submitTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchOperationMetadata.submitTime: object expected"); + message.submitTime = $root.google.protobuf.Timestamp.fromObject(object.submitTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchOperationMetadata.endTime: object expected"); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + } + return message; + }; + + /** + * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @static + * @param {google.cloud.vision.v1p4beta1.BatchOperationMetadata} message BatchOperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchOperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.submitTime = null; + object.endTime = null; + } + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata.State[message.state] : message.state; + if (message.submitTime != null && message.hasOwnProperty("submitTime")) + object.submitTime = $root.google.protobuf.Timestamp.toObject(message.submitTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); + return object; + }; + + /** + * Converts this BatchOperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @instance + * @returns {Object.} JSON object + */ + BatchOperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * State enum. + * @name google.cloud.vision.v1p4beta1.BatchOperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} PROCESSING=1 PROCESSING value + * @property {number} SUCCESSFUL=2 SUCCESSFUL value + * @property {number} FAILED=3 FAILED value + * @property {number} CANCELLED=4 CANCELLED value + */ + BatchOperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "PROCESSING"] = 1; + values[valuesById[2] = "SUCCESSFUL"] = 2; + values[valuesById[3] = "FAILED"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return BatchOperationMetadata; + })(); + + v1p4beta1.TextAnnotation = (function() { + + /** + * Properties of a TextAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ITextAnnotation + * @property {Array.|null} [pages] TextAnnotation pages + * @property {string|null} [text] TextAnnotation text + */ + + /** + * Constructs a new TextAnnotation. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation + * @constructor + * @param {google.cloud.vision.v1p4beta1.ITextAnnotation=} [properties] Properties to set + */ + function TextAnnotation(properties) { + this.pages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextAnnotation pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.pages = $util.emptyArray; + + /** + * TextAnnotation text. + * @member {string} text + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.text = ""; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation} TextAnnotation instance + */ + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); + }; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pages != null && message.pages.length) + for (var i = 0; i < message.pages.length; ++i) + $root.google.cloud.vision.v1p4beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); + return writer; + }; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.TextAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p4beta1.Page.decode(reader, reader.uint32())); + break; + case 2: + message.text = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Page.verify(message.pages[i]); + if (error) + return "pages." + error; + } + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + return null; + }; + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation} TextAnnotation + */ + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.TextAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.TextAnnotation(); + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1p4beta1.TextAnnotation.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) { + if (typeof object.pages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.TextAnnotation.pages: object expected"); + message.pages[i] = $root.google.cloud.vision.v1p4beta1.Page.fromObject(object.pages[i]); + } + } + if (object.text != null) + message.text = String(object.text); + return message; + }; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation} message TextAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pages = []; + if (options.defaults) + object.text = ""; + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = $root.google.cloud.vision.v1p4beta1.Page.toObject(message.pages[j], options); + } + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + return object; + }; + + /** + * Converts this TextAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @instance + * @returns {Object.} JSON object + */ + TextAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + TextAnnotation.DetectedLanguage = (function() { + + /** + * Properties of a DetectedLanguage. + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @interface IDetectedLanguage + * @property {string|null} [languageCode] DetectedLanguage languageCode + * @property {number|null} [confidence] DetectedLanguage confidence + */ + + /** + * Constructs a new DetectedLanguage. + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @classdesc Represents a DetectedLanguage. + * @implements IDetectedLanguage + * @constructor + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + */ + function DetectedLanguage(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]]; + } + + /** + * DetectedLanguage languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.languageCode = ""; + + /** + * DetectedLanguage confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.confidence = 0; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage} DetectedLanguage instance + */ + DetectedLanguage.create = function create(properties) { + return new DetectedLanguage(properties); + }; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.languageCode = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedLanguage message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedLanguage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + */ + DetectedLanguage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage(); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage} message DetectedLanguage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedLanguage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.languageCode = ""; + object.confidence = 0; + } + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this DetectedLanguage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @instance + * @returns {Object.} JSON object + */ + DetectedLanguage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DetectedLanguage; + })(); + + TextAnnotation.DetectedBreak = (function() { + + /** + * Properties of a DetectedBreak. + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @interface IDetectedBreak + * @property {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType|null} [type] DetectedBreak type + * @property {boolean|null} [isPrefix] DetectedBreak isPrefix + */ + + /** + * Constructs a new DetectedBreak. + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @classdesc Represents a DetectedBreak. + * @implements IDetectedBreak + * @constructor + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + */ + function DetectedBreak(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]]; + } + + /** + * DetectedBreak type. + * @member {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType} type + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.type = 0; + + /** + * DetectedBreak isPrefix. + * @member {boolean} isPrefix + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.isPrefix = false; + + /** + * Creates a new DetectedBreak instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak} DetectedBreak instance + */ + DetectedBreak.create = function create(properties) { + return new DetectedBreak(properties); + }; + + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); + return writer; + }; + + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.isPrefix = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DetectedBreak message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedBreak.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: + case 3: + case 4: + case 5: + break; + } + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (typeof message.isPrefix !== "boolean") + return "isPrefix: boolean expected"; + return null; + }; + + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak} DetectedBreak + */ + DetectedBreak.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak(); + switch (object.type) { + case "UNKNOWN": + case 0: + message.type = 0; + break; + case "SPACE": + case 1: + message.type = 1; + break; + case "SURE_SPACE": + case 2: + message.type = 2; + break; + case "EOL_SURE_SPACE": + case 3: + message.type = 3; + break; + case "HYPHEN": + case 4: + message.type = 4; + break; + case "LINE_BREAK": + case 5: + message.type = 5; + break; + } + if (object.isPrefix != null) + message.isPrefix = Boolean(object.isPrefix); + return message; + }; + + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak} message DetectedBreak + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedBreak.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN" : 0; + object.isPrefix = false; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + object.isPrefix = message.isPrefix; + return object; + }; + + /** + * Converts this DetectedBreak to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @instance + * @returns {Object.} JSON object + */ + DetectedBreak.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BreakType enum. + * @name google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} SPACE=1 SPACE value + * @property {number} SURE_SPACE=2 SURE_SPACE value + * @property {number} EOL_SURE_SPACE=3 EOL_SURE_SPACE value + * @property {number} HYPHEN=4 HYPHEN value + * @property {number} LINE_BREAK=5 LINE_BREAK value + */ + DetectedBreak.BreakType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "SPACE"] = 1; + values[valuesById[2] = "SURE_SPACE"] = 2; + values[valuesById[3] = "EOL_SURE_SPACE"] = 3; + values[valuesById[4] = "HYPHEN"] = 4; + values[valuesById[5] = "LINE_BREAK"] = 5; + return values; + })(); + + return DetectedBreak; + })(); + + TextAnnotation.TextProperty = (function() { + + /** + * Properties of a TextProperty. + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @interface ITextProperty + * @property {Array.|null} [detectedLanguages] TextProperty detectedLanguages + * @property {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak|null} [detectedBreak] TextProperty detectedBreak + */ + + /** + * Constructs a new TextProperty. + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @classdesc Represents a TextProperty. + * @implements ITextProperty + * @constructor + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + */ + function TextProperty(properties) { + this.detectedLanguages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextProperty detectedLanguages. + * @member {Array.} detectedLanguages + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedLanguages = $util.emptyArray; + + /** + * TextProperty detectedBreak. + * @member {google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak|null|undefined} detectedBreak + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedBreak = null; + + /** + * Creates a new TextProperty instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty} TextProperty instance + */ + TextProperty.create = function create(properties) { + return new TextProperty(properties); + }; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.detectedLanguages != null && message.detectedLanguages.length) + for (var i = 0; i < message.detectedLanguages.length; ++i) + $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + case 2: + message.detectedBreak = $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextProperty message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextProperty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.detectedLanguages != null && message.hasOwnProperty("detectedLanguages")) { + if (!Array.isArray(message.detectedLanguages)) + return "detectedLanguages: array expected"; + for (var i = 0; i < message.detectedLanguages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.verify(message.detectedLanguages[i]); + if (error) + return "detectedLanguages." + error; + } + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) { + var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.verify(message.detectedBreak); + if (error) + return "detectedBreak." + error; + } + return null; + }; + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty} TextProperty + */ + TextProperty.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty(); + if (object.detectedLanguages) { + if (!Array.isArray(object.detectedLanguages)) + throw TypeError(".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.detectedLanguages: array expected"); + message.detectedLanguages = []; + for (var i = 0; i < object.detectedLanguages.length; ++i) { + if (typeof object.detectedLanguages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.detectedLanguages: object expected"); + message.detectedLanguages[i] = $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.fromObject(object.detectedLanguages[i]); + } + } + if (object.detectedBreak != null) { + if (typeof object.detectedBreak !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.detectedBreak: object expected"); + message.detectedBreak = $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.fromObject(object.detectedBreak); + } + return message; + }; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty} message TextProperty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextProperty.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.detectedLanguages = []; + if (options.defaults) + object.detectedBreak = null; + if (message.detectedLanguages && message.detectedLanguages.length) { + object.detectedLanguages = []; + for (var j = 0; j < message.detectedLanguages.length; ++j) + object.detectedLanguages[j] = $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.toObject(message.detectedLanguages[j], options); + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + object.detectedBreak = $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.toObject(message.detectedBreak, options); + return object; + }; + + /** + * Converts this TextProperty to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @instance + * @returns {Object.} JSON object + */ + TextProperty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextProperty; + })(); + + return TextAnnotation; + })(); + + v1p4beta1.Page = (function() { + + /** + * Properties of a Page. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IPage + * @property {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null} [property] Page property + * @property {number|null} [width] Page width + * @property {number|null} [height] Page height + * @property {Array.|null} [blocks] Page blocks + * @property {number|null} [confidence] Page confidence + */ + + /** + * Constructs a new Page. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Page. + * @implements IPage + * @constructor + * @param {google.cloud.vision.v1p4beta1.IPage=} [properties] Properties to set + */ + function Page(properties) { + this.blocks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Page property. + * @member {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p4beta1.Page + * @instance + */ + Page.prototype.property = null; + + /** + * Page width. + * @member {number} width + * @memberof google.cloud.vision.v1p4beta1.Page + * @instance + */ + Page.prototype.width = 0; + + /** + * Page height. + * @member {number} height + * @memberof google.cloud.vision.v1p4beta1.Page + * @instance + */ + Page.prototype.height = 0; + + /** + * Page blocks. + * @member {Array.} blocks + * @memberof google.cloud.vision.v1p4beta1.Page + * @instance + */ + Page.prototype.blocks = $util.emptyArray; + + /** + * Page confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.Page + * @instance + */ + Page.prototype.confidence = 0; + + /** + * Creates a new Page instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Page + * @static + * @param {google.cloud.vision.v1p4beta1.IPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Page} Page instance + */ + Page.create = function create(properties) { + return new Page(properties); + }; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Page.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Page + * @static + * @param {google.cloud.vision.v1p4beta1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.width != null && message.hasOwnProperty("width")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); + if (message.height != null && message.hasOwnProperty("height")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); + if (message.blocks != null && message.blocks.length) + for (var i = 0; i < message.blocks.length; ++i) + $root.google.cloud.vision.v1p4beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Page.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Page + * @static + * @param {google.cloud.vision.v1p4beta1.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Page message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Page(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.width = reader.int32(); + break; + case 3: + message.height = reader.int32(); + break; + case 4: + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1p4beta1.Block.decode(reader, reader.uint32())); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Page message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Page + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Page.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.width != null && message.hasOwnProperty("width")) + if (!$util.isInteger(message.width)) + return "width: integer expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height)) + return "height: integer expected"; + if (message.blocks != null && message.hasOwnProperty("blocks")) { + if (!Array.isArray(message.blocks)) + return "blocks: array expected"; + for (var i = 0; i < message.blocks.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Block.verify(message.blocks[i]); + if (error) + return "blocks." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Page + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Page} Page + */ + Page.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Page) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Page(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Page.property: object expected"); + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.width != null) + message.width = object.width | 0; + if (object.height != null) + message.height = object.height | 0; + if (object.blocks) { + if (!Array.isArray(object.blocks)) + throw TypeError(".google.cloud.vision.v1p4beta1.Page.blocks: array expected"); + message.blocks = []; + for (var i = 0; i < object.blocks.length; ++i) { + if (typeof object.blocks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Page.blocks: object expected"); + message.blocks[i] = $root.google.cloud.vision.v1p4beta1.Block.fromObject(object.blocks[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Page + * @static + * @param {google.cloud.vision.v1p4beta1.Page} message Page + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Page.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.blocks = []; + if (options.defaults) { + object.property = null; + object.width = 0; + object.height = 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.width != null && message.hasOwnProperty("width")) + object.width = message.width; + if (message.height != null && message.hasOwnProperty("height")) + object.height = message.height; + if (message.blocks && message.blocks.length) { + object.blocks = []; + for (var j = 0; j < message.blocks.length; ++j) + object.blocks[j] = $root.google.cloud.vision.v1p4beta1.Block.toObject(message.blocks[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Page to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Page + * @instance + * @returns {Object.} JSON object + */ + Page.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Page; + })(); + + v1p4beta1.Block = (function() { + + /** + * Properties of a Block. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IBlock + * @property {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null} [property] Block property + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingBox] Block boundingBox + * @property {Array.|null} [paragraphs] Block paragraphs + * @property {google.cloud.vision.v1p4beta1.Block.BlockType|null} [blockType] Block blockType + * @property {number|null} [confidence] Block confidence + */ + + /** + * Constructs a new Block. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Block. + * @implements IBlock + * @constructor + * @param {google.cloud.vision.v1p4beta1.IBlock=} [properties] Properties to set + */ + function Block(properties) { + this.paragraphs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Block property. + * @member {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p4beta1.Block + * @instance + */ + Block.prototype.property = null; + + /** + * Block boundingBox. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p4beta1.Block + * @instance + */ + Block.prototype.boundingBox = null; + + /** + * Block paragraphs. + * @member {Array.} paragraphs + * @memberof google.cloud.vision.v1p4beta1.Block + * @instance + */ + Block.prototype.paragraphs = $util.emptyArray; + + /** + * Block blockType. + * @member {google.cloud.vision.v1p4beta1.Block.BlockType} blockType + * @memberof google.cloud.vision.v1p4beta1.Block + * @instance + */ + Block.prototype.blockType = 0; + + /** + * Block confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.Block + * @instance + */ + Block.prototype.confidence = 0; + + /** + * Creates a new Block instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Block + * @static + * @param {google.cloud.vision.v1p4beta1.IBlock=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Block} Block instance + */ + Block.create = function create(properties) { + return new Block(properties); + }; + + /** + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Block.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Block + * @static + * @param {google.cloud.vision.v1p4beta1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.paragraphs != null && message.paragraphs.length) + for (var i = 0; i < message.paragraphs.length; ++i) + $root.google.cloud.vision.v1p4beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.blockType != null && message.hasOwnProperty("blockType")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Block.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Block + * @static + * @param {google.cloud.vision.v1p4beta1.IBlock} message Block message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Block.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Block message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Block(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1p4beta1.Paragraph.decode(reader, reader.uint32())); + break; + case 4: + message.blockType = reader.int32(); + break; + case 5: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Block message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Block + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Block} Block + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Block.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Block message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Block + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Block.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.paragraphs != null && message.hasOwnProperty("paragraphs")) { + if (!Array.isArray(message.paragraphs)) + return "paragraphs: array expected"; + for (var i = 0; i < message.paragraphs.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Paragraph.verify(message.paragraphs[i]); + if (error) + return "paragraphs." + error; + } + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + switch (message.blockType) { + default: + return "blockType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Block message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Block + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Block} Block + */ + Block.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Block) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Block(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Block.property: object expected"); + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Block.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.paragraphs) { + if (!Array.isArray(object.paragraphs)) + throw TypeError(".google.cloud.vision.v1p4beta1.Block.paragraphs: array expected"); + message.paragraphs = []; + for (var i = 0; i < object.paragraphs.length; ++i) { + if (typeof object.paragraphs[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Block.paragraphs: object expected"); + message.paragraphs[i] = $root.google.cloud.vision.v1p4beta1.Paragraph.fromObject(object.paragraphs[i]); + } + } + switch (object.blockType) { + case "UNKNOWN": + case 0: + message.blockType = 0; + break; + case "TEXT": + case 1: + message.blockType = 1; + break; + case "TABLE": + case 2: + message.blockType = 2; + break; + case "PICTURE": + case 3: + message.blockType = 3; + break; + case "RULER": + case 4: + message.blockType = 4; + break; + case "BARCODE": + case 5: + message.blockType = 5; + break; + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Block message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Block + * @static + * @param {google.cloud.vision.v1p4beta1.Block} message Block + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Block.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paragraphs = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.blockType = options.enums === String ? "UNKNOWN" : 0; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.paragraphs && message.paragraphs.length) { + object.paragraphs = []; + for (var j = 0; j < message.paragraphs.length; ++j) + object.paragraphs[j] = $root.google.cloud.vision.v1p4beta1.Paragraph.toObject(message.paragraphs[j], options); + } + if (message.blockType != null && message.hasOwnProperty("blockType")) + object.blockType = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Block.BlockType[message.blockType] : message.blockType; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Block to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Block + * @instance + * @returns {Object.} JSON object + */ + Block.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * BlockType enum. + * @name google.cloud.vision.v1p4beta1.Block.BlockType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} TEXT=1 TEXT value + * @property {number} TABLE=2 TABLE value + * @property {number} PICTURE=3 PICTURE value + * @property {number} RULER=4 RULER value + * @property {number} BARCODE=5 BARCODE value + */ + Block.BlockType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "TEXT"] = 1; + values[valuesById[2] = "TABLE"] = 2; + values[valuesById[3] = "PICTURE"] = 3; + values[valuesById[4] = "RULER"] = 4; + values[valuesById[5] = "BARCODE"] = 5; + return values; + })(); + + return Block; + })(); + + v1p4beta1.Paragraph = (function() { + + /** + * Properties of a Paragraph. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IParagraph + * @property {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null} [property] Paragraph property + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingBox] Paragraph boundingBox + * @property {Array.|null} [words] Paragraph words + * @property {number|null} [confidence] Paragraph confidence + */ + + /** + * Constructs a new Paragraph. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Paragraph. + * @implements IParagraph + * @constructor + * @param {google.cloud.vision.v1p4beta1.IParagraph=} [properties] Properties to set + */ + function Paragraph(properties) { + this.words = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Paragraph property. + * @member {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @instance + */ + Paragraph.prototype.property = null; + + /** + * Paragraph boundingBox. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @instance + */ + Paragraph.prototype.boundingBox = null; + + /** + * Paragraph words. + * @member {Array.} words + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @instance + */ + Paragraph.prototype.words = $util.emptyArray; + + /** + * Paragraph confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @instance + */ + Paragraph.prototype.confidence = 0; + + /** + * Creates a new Paragraph instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p4beta1.IParagraph=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Paragraph} Paragraph instance + */ + Paragraph.create = function create(properties) { + return new Paragraph(properties); + }; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Paragraph.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p4beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.words != null && message.words.length) + for (var i = 0; i < message.words.length; ++i) + $root.google.cloud.vision.v1p4beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Paragraph.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p4beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Paragraph(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1p4beta1.Word.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Paragraph message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Paragraph.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.words != null && message.hasOwnProperty("words")) { + if (!Array.isArray(message.words)) + return "words: array expected"; + for (var i = 0; i < message.words.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Word.verify(message.words[i]); + if (error) + return "words." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Paragraph} Paragraph + */ + Paragraph.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Paragraph) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Paragraph(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Paragraph.property: object expected"); + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Paragraph.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.words) { + if (!Array.isArray(object.words)) + throw TypeError(".google.cloud.vision.v1p4beta1.Paragraph.words: array expected"); + message.words = []; + for (var i = 0; i < object.words.length; ++i) { + if (typeof object.words[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Paragraph.words: object expected"); + message.words[i] = $root.google.cloud.vision.v1p4beta1.Word.fromObject(object.words[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p4beta1.Paragraph} message Paragraph + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Paragraph.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.words = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.words && message.words.length) { + object.words = []; + for (var j = 0; j < message.words.length; ++j) + object.words[j] = $root.google.cloud.vision.v1p4beta1.Word.toObject(message.words[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Paragraph to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @instance + * @returns {Object.} JSON object + */ + Paragraph.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Paragraph; + })(); + + v1p4beta1.Word = (function() { + + /** + * Properties of a Word. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IWord + * @property {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null} [property] Word property + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingBox] Word boundingBox + * @property {Array.|null} [symbols] Word symbols + * @property {number|null} [confidence] Word confidence + */ + + /** + * Constructs a new Word. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Word. + * @implements IWord + * @constructor + * @param {google.cloud.vision.v1p4beta1.IWord=} [properties] Properties to set + */ + function Word(properties) { + this.symbols = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Word property. + * @member {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p4beta1.Word + * @instance + */ + Word.prototype.property = null; + + /** + * Word boundingBox. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p4beta1.Word + * @instance + */ + Word.prototype.boundingBox = null; + + /** + * Word symbols. + * @member {Array.} symbols + * @memberof google.cloud.vision.v1p4beta1.Word + * @instance + */ + Word.prototype.symbols = $util.emptyArray; + + /** + * Word confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.Word + * @instance + */ + Word.prototype.confidence = 0; + + /** + * Creates a new Word instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Word + * @static + * @param {google.cloud.vision.v1p4beta1.IWord=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Word} Word instance + */ + Word.create = function create(properties) { + return new Word(properties); + }; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Word.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Word + * @static + * @param {google.cloud.vision.v1p4beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.symbols != null && message.symbols.length) + for (var i = 0; i < message.symbols.length; ++i) + $root.google.cloud.vision.v1p4beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Word.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Word + * @static + * @param {google.cloud.vision.v1p4beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Word message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Word(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1p4beta1.Symbol.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Word message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Word + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Word.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.symbols != null && message.hasOwnProperty("symbols")) { + if (!Array.isArray(message.symbols)) + return "symbols: array expected"; + for (var i = 0; i < message.symbols.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Symbol.verify(message.symbols[i]); + if (error) + return "symbols." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Word + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Word} Word + */ + Word.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Word) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Word(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Word.property: object expected"); + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Word.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.symbols) { + if (!Array.isArray(object.symbols)) + throw TypeError(".google.cloud.vision.v1p4beta1.Word.symbols: array expected"); + message.symbols = []; + for (var i = 0; i < object.symbols.length; ++i) { + if (typeof object.symbols[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Word.symbols: object expected"); + message.symbols[i] = $root.google.cloud.vision.v1p4beta1.Symbol.fromObject(object.symbols[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Word + * @static + * @param {google.cloud.vision.v1p4beta1.Word} message Word + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Word.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.symbols = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.symbols && message.symbols.length) { + object.symbols = []; + for (var j = 0; j < message.symbols.length; ++j) + object.symbols[j] = $root.google.cloud.vision.v1p4beta1.Symbol.toObject(message.symbols[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Word to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Word + * @instance + * @returns {Object.} JSON object + */ + Word.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Word; + })(); + + v1p4beta1.Symbol = (function() { + + /** + * Properties of a Symbol. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ISymbol + * @property {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null} [property] Symbol property + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingBox] Symbol boundingBox + * @property {string|null} [text] Symbol text + * @property {number|null} [confidence] Symbol confidence + */ + + /** + * Constructs a new Symbol. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Symbol. + * @implements ISymbol + * @constructor + * @param {google.cloud.vision.v1p4beta1.ISymbol=} [properties] Properties to set + */ + function Symbol(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]]; + } + + /** + * Symbol property. + * @member {google.cloud.vision.v1p4beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @instance + */ + Symbol.prototype.property = null; + + /** + * Symbol boundingBox. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @instance + */ + Symbol.prototype.boundingBox = null; + + /** + * Symbol text. + * @member {string} text + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @instance + */ + Symbol.prototype.text = ""; + + /** + * Symbol confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @instance + */ + Symbol.prototype.confidence = 0; + + /** + * Creates a new Symbol instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @static + * @param {google.cloud.vision.v1p4beta1.ISymbol=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Symbol} Symbol instance + */ + Symbol.create = function create(properties) { + return new Symbol(properties); + }; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Symbol.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @static + * @param {google.cloud.vision.v1p4beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Symbol.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @static + * @param {google.cloud.vision.v1p4beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Symbol(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + message.text = reader.string(); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Symbol message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Symbol.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Symbol} Symbol + */ + Symbol.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Symbol) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Symbol(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Symbol.property: object expected"); + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Symbol.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.text != null) + message.text = String(object.text); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @static + * @param {google.cloud.vision.v1p4beta1.Symbol} message Symbol + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Symbol.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.text = ""; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Symbol to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @instance + * @returns {Object.} JSON object + */ + Symbol.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Symbol; + })(); + + v1p4beta1.WebDetection = (function() { + + /** + * Properties of a WebDetection. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IWebDetection + * @property {Array.|null} [webEntities] WebDetection webEntities + * @property {Array.|null} [fullMatchingImages] WebDetection fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebDetection partialMatchingImages + * @property {Array.|null} [pagesWithMatchingImages] WebDetection pagesWithMatchingImages + * @property {Array.|null} [visuallySimilarImages] WebDetection visuallySimilarImages + * @property {Array.|null} [bestGuessLabels] WebDetection bestGuessLabels + */ + + /** + * Constructs a new WebDetection. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a WebDetection. + * @implements IWebDetection + * @constructor + * @param {google.cloud.vision.v1p4beta1.IWebDetection=} [properties] Properties to set + */ + function WebDetection(properties) { + this.webEntities = []; + this.fullMatchingImages = []; + this.partialMatchingImages = []; + this.pagesWithMatchingImages = []; + this.visuallySimilarImages = []; + this.bestGuessLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebDetection webEntities. + * @member {Array.} webEntities + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @instance + */ + WebDetection.prototype.webEntities = $util.emptyArray; + + /** + * WebDetection fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @instance + */ + WebDetection.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebDetection partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @instance + */ + WebDetection.prototype.partialMatchingImages = $util.emptyArray; + + /** + * WebDetection pagesWithMatchingImages. + * @member {Array.} pagesWithMatchingImages + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @instance + */ + WebDetection.prototype.pagesWithMatchingImages = $util.emptyArray; + + /** + * WebDetection visuallySimilarImages. + * @member {Array.} visuallySimilarImages + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @instance + */ + WebDetection.prototype.visuallySimilarImages = $util.emptyArray; + + /** + * WebDetection bestGuessLabels. + * @member {Array.} bestGuessLabels + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @instance + */ + WebDetection.prototype.bestGuessLabels = $util.emptyArray; + + /** + * Creates a new WebDetection instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p4beta1.IWebDetection=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.WebDetection} WebDetection instance + */ + WebDetection.create = function create(properties) { + return new WebDetection(properties); + }; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p4beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.webEntities != null && message.webEntities.length) + for (var i = 0; i < message.webEntities.length; ++i) + $root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity.encode(message.webEntities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.pagesWithMatchingImages != null && message.pagesWithMatchingImages.length) + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.WebDetection.WebPage.encode(message.pagesWithMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.visuallySimilarImages != null && message.visuallySimilarImages.length) + for (var i = 0; i < message.visuallySimilarImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.encode(message.visuallySimilarImages[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.bestGuessLabels != null && message.bestGuessLabels.length) + for (var i = 0; i < message.bestGuessLabels.length; ++i) + $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel.encode(message.bestGuessLabels[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p4beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetection(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 8: + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetection message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetection.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.webEntities != null && message.hasOwnProperty("webEntities")) { + if (!Array.isArray(message.webEntities)) + return "webEntities: array expected"; + for (var i = 0; i < message.webEntities.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity.verify(message.webEntities[i]); + if (error) + return "webEntities." + error; + } + } + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + if (message.pagesWithMatchingImages != null && message.hasOwnProperty("pagesWithMatchingImages")) { + if (!Array.isArray(message.pagesWithMatchingImages)) + return "pagesWithMatchingImages: array expected"; + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.WebPage.verify(message.pagesWithMatchingImages[i]); + if (error) + return "pagesWithMatchingImages." + error; + } + } + if (message.visuallySimilarImages != null && message.hasOwnProperty("visuallySimilarImages")) { + if (!Array.isArray(message.visuallySimilarImages)) + return "visuallySimilarImages: array expected"; + for (var i = 0; i < message.visuallySimilarImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.verify(message.visuallySimilarImages[i]); + if (error) + return "visuallySimilarImages." + error; + } + } + if (message.bestGuessLabels != null && message.hasOwnProperty("bestGuessLabels")) { + if (!Array.isArray(message.bestGuessLabels)) + return "bestGuessLabels: array expected"; + for (var i = 0; i < message.bestGuessLabels.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify(message.bestGuessLabels[i]); + if (error) + return "bestGuessLabels." + error; + } + } + return null; + }; + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.WebDetection} WebDetection + */ + WebDetection.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetection) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.WebDetection(); + if (object.webEntities) { + if (!Array.isArray(object.webEntities)) + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.webEntities: array expected"); + message.webEntities = []; + for (var i = 0; i < object.webEntities.length; ++i) { + if (typeof object.webEntities[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.webEntities: object expected"); + message.webEntities[i] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity.fromObject(object.webEntities[i]); + } + } + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + if (object.pagesWithMatchingImages) { + if (!Array.isArray(object.pagesWithMatchingImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.pagesWithMatchingImages: array expected"); + message.pagesWithMatchingImages = []; + for (var i = 0; i < object.pagesWithMatchingImages.length; ++i) { + if (typeof object.pagesWithMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.pagesWithMatchingImages: object expected"); + message.pagesWithMatchingImages[i] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebPage.fromObject(object.pagesWithMatchingImages[i]); + } + } + if (object.visuallySimilarImages) { + if (!Array.isArray(object.visuallySimilarImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.visuallySimilarImages: array expected"); + message.visuallySimilarImages = []; + for (var i = 0; i < object.visuallySimilarImages.length; ++i) { + if (typeof object.visuallySimilarImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.visuallySimilarImages: object expected"); + message.visuallySimilarImages[i] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.fromObject(object.visuallySimilarImages[i]); + } + } + if (object.bestGuessLabels) { + if (!Array.isArray(object.bestGuessLabels)) + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.bestGuessLabels: array expected"); + message.bestGuessLabels = []; + for (var i = 0; i < object.bestGuessLabels.length; ++i) { + if (typeof object.bestGuessLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.bestGuessLabels: object expected"); + message.bestGuessLabels[i] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel.fromObject(object.bestGuessLabels[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection} message WebDetection + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetection.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.webEntities = []; + object.fullMatchingImages = []; + object.partialMatchingImages = []; + object.pagesWithMatchingImages = []; + object.visuallySimilarImages = []; + object.bestGuessLabels = []; + } + if (message.webEntities && message.webEntities.length) { + object.webEntities = []; + for (var j = 0; j < message.webEntities.length; ++j) + object.webEntities[j] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity.toObject(message.webEntities[j], options); + } + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + if (message.pagesWithMatchingImages && message.pagesWithMatchingImages.length) { + object.pagesWithMatchingImages = []; + for (var j = 0; j < message.pagesWithMatchingImages.length; ++j) + object.pagesWithMatchingImages[j] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebPage.toObject(message.pagesWithMatchingImages[j], options); + } + if (message.visuallySimilarImages && message.visuallySimilarImages.length) { + object.visuallySimilarImages = []; + for (var j = 0; j < message.visuallySimilarImages.length; ++j) + object.visuallySimilarImages[j] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.toObject(message.visuallySimilarImages[j], options); + } + if (message.bestGuessLabels && message.bestGuessLabels.length) { + object.bestGuessLabels = []; + for (var j = 0; j < message.bestGuessLabels.length; ++j) + object.bestGuessLabels[j] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel.toObject(message.bestGuessLabels[j], options); + } + return object; + }; + + /** + * Converts this WebDetection to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @instance + * @returns {Object.} JSON object + */ + WebDetection.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + WebDetection.WebEntity = (function() { + + /** + * Properties of a WebEntity. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @interface IWebEntity + * @property {string|null} [entityId] WebEntity entityId + * @property {number|null} [score] WebEntity score + * @property {string|null} [description] WebEntity description + */ + + /** + * Constructs a new WebEntity. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @classdesc Represents a WebEntity. + * @implements IWebEntity + * @constructor + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebEntity=} [properties] Properties to set + */ + function WebEntity(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]]; + } + + /** + * WebEntity entityId. + * @member {string} entityId + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.entityId = ""; + + /** + * WebEntity score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.score = 0; + + /** + * WebEntity description. + * @member {string} description + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.description = ""; + + /** + * Creates a new WebEntity instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebEntity=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebEntity} WebEntity instance + */ + WebEntity.create = function create(properties) { + return new WebEntity(properties); + }; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebEntity.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entityId != null && message.hasOwnProperty("entityId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + return writer; + }; + + /** + * Encodes the specified WebEntity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebEntity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.entityId = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.description = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebEntity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebEntity} WebEntity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebEntity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebEntity message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebEntity.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.entityId != null && message.hasOwnProperty("entityId")) + if (!$util.isString(message.entityId)) + return "entityId: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + return null; + }; + + /** + * Creates a WebEntity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebEntity} WebEntity + */ + WebEntity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity(); + if (object.entityId != null) + message.entityId = String(object.entityId); + if (object.score != null) + message.score = Number(object.score); + if (object.description != null) + message.description = String(object.description); + return message; + }; + + /** + * Creates a plain object from a WebEntity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.WebEntity} message WebEntity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebEntity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.entityId = ""; + object.score = 0; + object.description = ""; + } + if (message.entityId != null && message.hasOwnProperty("entityId")) + object.entityId = message.entityId; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + return object; + }; + + /** + * Converts this WebEntity to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @instance + * @returns {Object.} JSON object + */ + WebEntity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebEntity; + })(); + + WebDetection.WebImage = (function() { + + /** + * Properties of a WebImage. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @interface IWebImage + * @property {string|null} [url] WebImage url + * @property {number|null} [score] WebImage score + */ + + /** + * Constructs a new WebImage. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @classdesc Represents a WebImage. + * @implements IWebImage + * @constructor + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebImage=} [properties] Properties to set + */ + function WebImage(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]]; + } + + /** + * WebImage url. + * @member {string} url + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.url = ""; + + /** + * WebImage score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @instance + */ + WebImage.prototype.score = 0; + + /** + * Creates a new WebImage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebImage} WebImage instance + */ + WebImage.create = function create(properties) { + return new WebImage(properties); + }; + + /** + * Encodes the specified WebImage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebImage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + return writer; + }; + + /** + * Encodes the specified WebImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebImage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebImage} message WebImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebImage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebImage} WebImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebImage message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebImage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + return null; + }; + + /** + * Creates a WebImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebImage} WebImage + */ + WebImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + return message; + }; + + /** + * Creates a plain object from a WebImage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.WebImage} message WebImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.url = ""; + object.score = 0; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + return object; + }; + + /** + * Converts this WebImage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @instance + * @returns {Object.} JSON object + */ + WebImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebImage; + })(); + + WebDetection.WebLabel = (function() { + + /** + * Properties of a WebLabel. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @interface IWebLabel + * @property {string|null} [label] WebLabel label + * @property {string|null} [languageCode] WebLabel languageCode + */ + + /** + * Constructs a new WebLabel. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @classdesc Represents a WebLabel. + * @implements IWebLabel + * @constructor + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel=} [properties] Properties to set + */ + function WebLabel(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]]; + } + + /** + * WebLabel label. + * @member {string} label + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.label = ""; + + /** + * WebLabel languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.languageCode = ""; + + /** + * Creates a new WebLabel instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel instance + */ + WebLabel.create = function create(properties) { + return new WebLabel(properties); + }; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.label != null && message.hasOwnProperty("label")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.label = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebLabel message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebLabel.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.label != null && message.hasOwnProperty("label")) + if (!$util.isString(message.label)) + return "label: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel + */ + WebLabel.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel(); + if (object.label != null) + message.label = String(object.label); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} message WebLabel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebLabel.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.label = ""; + object.languageCode = ""; + } + if (message.label != null && message.hasOwnProperty("label")) + object.label = message.label; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this WebLabel to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @instance + * @returns {Object.} JSON object + */ + WebLabel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebLabel; + })(); + + WebDetection.WebPage = (function() { + + /** + * Properties of a WebPage. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @interface IWebPage + * @property {string|null} [url] WebPage url + * @property {number|null} [score] WebPage score + * @property {string|null} [pageTitle] WebPage pageTitle + * @property {Array.|null} [fullMatchingImages] WebPage fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebPage partialMatchingImages + */ + + /** + * Constructs a new WebPage. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @classdesc Represents a WebPage. + * @implements IWebPage + * @constructor + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebPage=} [properties] Properties to set + */ + function WebPage(properties) { + this.fullMatchingImages = []; + this.partialMatchingImages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebPage url. + * @member {string} url + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.url = ""; + + /** + * WebPage score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.score = 0; + + /** + * WebPage pageTitle. + * @member {string} pageTitle + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.pageTitle = ""; + + /** + * WebPage fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebPage partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @instance + */ + WebPage.prototype.partialMatchingImages = $util.emptyArray; + + /** + * Creates a new WebPage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebPage} WebPage instance + */ + WebPage.create = function create(properties) { + return new WebPage(properties); + }; + + /** + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebPage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.url != null && message.hasOwnProperty("url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebPage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebPage} message WebPage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebPage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebPage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebPage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.url = reader.string(); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pageTitle = reader.string(); + break; + case 4: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebPage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebPage} WebPage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebPage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebPage message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebPage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.url != null && message.hasOwnProperty("url")) + if (!$util.isString(message.url)) + return "url: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (!$util.isString(message.pageTitle)) + return "pageTitle: string expected"; + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + return null; + }; + + /** + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebPage} WebPage + */ + WebPage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetection.WebPage) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebPage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); + if (object.pageTitle != null) + message.pageTitle = String(object.pageTitle); + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.WebPage.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.WebPage.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.WebPage.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.WebDetection.WebPage.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.WebPage} message WebPage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebPage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.fullMatchingImages = []; + object.partialMatchingImages = []; + } + if (options.defaults) { + object.url = ""; + object.score = 0; + object.pageTitle = ""; + } + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + object.pageTitle = message.pageTitle; + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + return object; + }; + + /** + * Converts this WebPage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @instance + * @returns {Object.} JSON object + */ + WebPage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebPage; + })(); + + return WebDetection; + })(); + + return v1p4beta1; + })(); + + return vision; + })(); + + return cloud; + })(); + + 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 && message.hasOwnProperty("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); + }; + + 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} get + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.get = ""; + + /** + * HttpRule put. + * @member {string} put + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.put = ""; + + /** + * HttpRule post. + * @member {string} post + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.post = ""; + + /** + * HttpRule delete. + * @member {string} delete + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype["delete"] = ""; + + /** + * HttpRule patch. + * @member {string} patch + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.patch = ""; + + /** + * 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 && message.hasOwnProperty("selector")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); + if (message.get != null && message.hasOwnProperty("get")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.get); + if (message.put != null && message.hasOwnProperty("put")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.put); + if (message.post != null && message.hasOwnProperty("post")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.post); + if (message["delete"] != null && message.hasOwnProperty("delete")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]); + if (message.patch != null && message.hasOwnProperty("patch")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch); + if (message.body != null && message.hasOwnProperty("body")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.body); + if (message.custom != null && message.hasOwnProperty("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 && message.hasOwnProperty("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); + }; + + 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 && message.hasOwnProperty("kind")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind); + if (message.path != null && message.hasOwnProperty("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); + }; + + return CustomHttpPattern; + })(); + + /** + * FieldBehavior enum. + * @name google.api.FieldBehavior + * @enum {string} + * @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 + */ + 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; + 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 + */ + + /** + * 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 = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ResourceDescriptor type. + * @member {string} type + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.type = ""; + + /** + * ResourceDescriptor pattern. + * @member {Array.} pattern + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.pattern = $util.emptyArray; + + /** + * ResourceDescriptor nameField. + * @member {string} nameField + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.nameField = ""; + + /** + * ResourceDescriptor history. + * @member {google.api.ResourceDescriptor.History} history + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.history = 0; + + /** + * Creates a new ResourceDescriptor instance using the specified properties. + * @function create + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor=} [properties] Properties to set + * @returns {google.api.ResourceDescriptor} ResourceDescriptor instance + */ + ResourceDescriptor.create = function create(properties) { + return new ResourceDescriptor(properties); + }; + + /** + * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @function encode + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceDescriptor.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.pattern != null && message.pattern.length) + for (var i = 0; i < message.pattern.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.pattern[i]); + if (message.nameField != null && message.hasOwnProperty("nameField")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField); + if (message.history != null && message.hasOwnProperty("history")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history); + return writer; + }; + + /** + * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceDescriptor.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer. + * @function decode + * @memberof google.api.ResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceDescriptor.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.string(); + break; + case 2: + if (!(message.pattern && message.pattern.length)) + message.pattern = []; + message.pattern.push(reader.string()); + break; + case 3: + message.nameField = reader.string(); + break; + case 4: + message.history = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.ResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceDescriptor.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResourceDescriptor message. + * @function verify + * @memberof google.api.ResourceDescriptor + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResourceDescriptor.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.pattern != null && message.hasOwnProperty("pattern")) { + if (!Array.isArray(message.pattern)) + return "pattern: array expected"; + for (var i = 0; i < message.pattern.length; ++i) + if (!$util.isString(message.pattern[i])) + return "pattern: string[] expected"; + } + if (message.nameField != null && message.hasOwnProperty("nameField")) + if (!$util.isString(message.nameField)) + return "nameField: string expected"; + if (message.history != null && message.hasOwnProperty("history")) + switch (message.history) { + default: + return "history: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.ResourceDescriptor + * @static + * @param {Object.} object Plain object + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + */ + ResourceDescriptor.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.ResourceDescriptor) + return object; + var message = new $root.google.api.ResourceDescriptor(); + if (object.type != null) + message.type = String(object.type); + if (object.pattern) { + if (!Array.isArray(object.pattern)) + throw TypeError(".google.api.ResourceDescriptor.pattern: array expected"); + message.pattern = []; + for (var i = 0; i < object.pattern.length; ++i) + message.pattern[i] = String(object.pattern[i]); + } + if (object.nameField != null) + message.nameField = String(object.nameField); + switch (object.history) { + case "HISTORY_UNSPECIFIED": + case 0: + message.history = 0; + break; + case "ORIGINALLY_SINGLE_PATTERN": + case 1: + message.history = 1; + break; + case "FUTURE_MULTI_PATTERN": + case 2: + message.history = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.ResourceDescriptor} message ResourceDescriptor + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResourceDescriptor.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pattern = []; + if (options.defaults) { + object.type = ""; + object.nameField = ""; + object.history = options.enums === String ? "HISTORY_UNSPECIFIED" : 0; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.pattern && message.pattern.length) { + object.pattern = []; + for (var j = 0; j < message.pattern.length; ++j) + object.pattern[j] = message.pattern[j]; + } + if (message.nameField != null && message.hasOwnProperty("nameField")) + object.nameField = message.nameField; + if (message.history != null && message.hasOwnProperty("history")) + object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] : message.history; + return object; + }; + + /** + * Converts this ResourceDescriptor to JSON. + * @function toJSON + * @memberof google.api.ResourceDescriptor + * @instance + * @returns {Object.} JSON object + */ + ResourceDescriptor.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * History enum. + * @name google.api.ResourceDescriptor.History + * @enum {string} + * @property {number} HISTORY_UNSPECIFIED=0 HISTORY_UNSPECIFIED value + * @property {number} ORIGINALLY_SINGLE_PATTERN=1 ORIGINALLY_SINGLE_PATTERN value + * @property {number} FUTURE_MULTI_PATTERN=2 FUTURE_MULTI_PATTERN value + */ + ResourceDescriptor.History = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "HISTORY_UNSPECIFIED"] = 0; + values[valuesById[1] = "ORIGINALLY_SINGLE_PATTERN"] = 1; + values[valuesById[2] = "FUTURE_MULTI_PATTERN"] = 2; + return values; + })(); + + return ResourceDescriptor; + })(); + + api.ResourceReference = (function() { + + /** + * Properties of a ResourceReference. + * @memberof google.api + * @interface IResourceReference + * @property {string|null} [type] ResourceReference type + * @property {string|null} [childType] ResourceReference childType + */ + + /** + * Constructs a new ResourceReference. + * @memberof google.api + * @classdesc Represents a ResourceReference. + * @implements IResourceReference + * @constructor + * @param {google.api.IResourceReference=} [properties] Properties to set + */ + function ResourceReference(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ResourceReference type. + * @member {string} type + * @memberof google.api.ResourceReference + * @instance + */ + ResourceReference.prototype.type = ""; + + /** + * ResourceReference childType. + * @member {string} childType + * @memberof google.api.ResourceReference + * @instance + */ + ResourceReference.prototype.childType = ""; + + /** + * Creates a new ResourceReference instance using the specified properties. + * @function create + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference=} [properties] Properties to set + * @returns {google.api.ResourceReference} ResourceReference instance + */ + ResourceReference.create = function create(properties) { + return new ResourceReference(properties); + }; + + /** + * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @function encode + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceReference.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.childType != null && message.hasOwnProperty("childType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.childType); + return writer; + }; + + /** + * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceReference.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResourceReference message from the specified reader or buffer. + * @function decode + * @memberof google.api.ResourceReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.ResourceReference} ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceReference.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.string(); + break; + case 2: + message.childType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResourceReference message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.ResourceReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.ResourceReference} ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceReference.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResourceReference message. + * @function verify + * @memberof google.api.ResourceReference + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResourceReference.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.childType != null && message.hasOwnProperty("childType")) + if (!$util.isString(message.childType)) + return "childType: string expected"; + return null; + }; + + /** + * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.ResourceReference + * @static + * @param {Object.} object Plain object + * @returns {google.api.ResourceReference} ResourceReference + */ + ResourceReference.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.ResourceReference) + return object; + var message = new $root.google.api.ResourceReference(); + if (object.type != null) + message.type = String(object.type); + if (object.childType != null) + message.childType = String(object.childType); + return message; + }; + + /** + * Creates a plain object from a ResourceReference message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.ResourceReference + * @static + * @param {google.api.ResourceReference} message ResourceReference + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResourceReference.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = ""; + object.childType = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.childType != null && message.hasOwnProperty("childType")) + object.childType = message.childType; + return object; + }; + + /** + * Converts this ResourceReference to JSON. + * @function toJSON + * @memberof google.api.ResourceReference + * @instance + * @returns {Object.} JSON object + */ + ResourceReference.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ResourceReference; + })(); + + return api; + })(); + + google.protobuf = (function() { + + /** + * Namespace protobuf. + * @memberof google + * @namespace + */ + var protobuf = {}; + + protobuf.FileDescriptorSet = (function() { + + /** + * Properties of a FileDescriptorSet. + * @memberof google.protobuf + * @interface IFileDescriptorSet + * @property {Array.|null} [file] FileDescriptorSet file + */ + + /** + * Constructs a new FileDescriptorSet. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorSet. + * @implements IFileDescriptorSet + * @constructor + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + */ + function FileDescriptorSet(properties) { + this.file = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorSet file. + * @member {Array.} file + * @memberof google.protobuf.FileDescriptorSet + * @instance + */ + FileDescriptorSet.prototype.file = $util.emptyArray; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance + */ + FileDescriptorSet.create = function create(properties) { + return new FileDescriptorSet(properties); + }; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.file != null && message.file.length) + for (var i = 0; i < message.file.length; ++i) + $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.file && message.file.length)) + message.file = []; + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorSet message. + * @function verify + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorSet.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.file != null && message.hasOwnProperty("file")) { + if (!Array.isArray(message.file)) + return "file: array expected"; + for (var i = 0; i < message.file.length; ++i) { + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + if (error) + return "file." + error; + } + } + return null; + }; + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + */ + FileDescriptorSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorSet) + return object; + var message = new $root.google.protobuf.FileDescriptorSet(); + if (object.file) { + if (!Array.isArray(object.file)) + throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected"); + message.file = []; + for (var i = 0; i < object.file.length; ++i) { + if (typeof object.file[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.file = []; + if (message.file && message.file.length) { + object.file = []; + for (var j = 0; j < message.file.length; ++j) + object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options); + } + return object; + }; + + /** + * Converts this FileDescriptorSet to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorSet + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FileDescriptorSet; + })(); + + protobuf.FileDescriptorProto = (function() { + + /** + * Properties of a FileDescriptorProto. + * @memberof google.protobuf + * @interface IFileDescriptorProto + * @property {string|null} [name] FileDescriptorProto name + * @property {string|null} ["package"] FileDescriptorProto package + * @property {Array.|null} [dependency] FileDescriptorProto dependency + * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency + * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency + * @property {Array.|null} [messageType] FileDescriptorProto messageType + * @property {Array.|null} [enumType] FileDescriptorProto enumType + * @property {Array.|null} [service] FileDescriptorProto service + * @property {Array.|null} [extension] FileDescriptorProto extension + * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options + * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo + * @property {string|null} [syntax] FileDescriptorProto syntax + */ + + /** + * Constructs a new FileDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorProto. + * @implements IFileDescriptorProto + * @constructor + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + */ + function FileDescriptorProto(properties) { + this.dependency = []; + this.publicDependency = []; + this.weakDependency = []; + this.messageType = []; + this.enumType = []; + this.service = []; + this.extension = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.name = ""; + + /** + * FileDescriptorProto package. + * @member {string} package + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype["package"] = ""; + + /** + * FileDescriptorProto dependency. + * @member {Array.} dependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.dependency = $util.emptyArray; + + /** + * FileDescriptorProto publicDependency. + * @member {Array.} publicDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.publicDependency = $util.emptyArray; + + /** + * FileDescriptorProto weakDependency. + * @member {Array.} weakDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + + /** + * FileDescriptorProto messageType. + * @member {Array.} messageType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.messageType = $util.emptyArray; + + /** + * FileDescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * FileDescriptorProto service. + * @member {Array.} service + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.service = $util.emptyArray; + + /** + * FileDescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.extension = $util.emptyArray; + + /** + * FileDescriptorProto options. + * @member {google.protobuf.IFileOptions|null|undefined} options + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.options = null; + + /** + * FileDescriptorProto sourceCodeInfo. + * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.sourceCodeInfo = null; + + /** + * FileDescriptorProto syntax. + * @member {string} syntax + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.syntax = ""; + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance + */ + FileDescriptorProto.create = function create(properties) { + return new FileDescriptorProto(properties); + }; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message["package"] != null && message.hasOwnProperty("package")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); + if (message.dependency != null && message.dependency.length) + for (var i = 0; i < message.dependency.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]); + if (message.messageType != null && message.messageType.length) + for (var i = 0; i < message.messageType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.service != null && message.service.length) + for (var i = 0; i < message.service.length; ++i) + $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.options != null && message.hasOwnProperty("options")) + $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) + $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.publicDependency != null && message.publicDependency.length) + for (var i = 0; i < message.publicDependency.length; ++i) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]); + if (message.weakDependency != null && message.weakDependency.length) + for (var i = 0; i < message.weakDependency.length; ++i) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); + if (message.syntax != null && message.hasOwnProperty("syntax")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); + return writer; + }; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message["package"] = reader.string(); + break; + case 3: + if (!(message.dependency && message.dependency.length)) + message.dependency = []; + message.dependency.push(reader.string()); + break; + case 10: + if (!(message.publicDependency && message.publicDependency.length)) + message.publicDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.publicDependency.push(reader.int32()); + } else + message.publicDependency.push(reader.int32()); + break; + case 11: + if (!(message.weakDependency && message.weakDependency.length)) + message.weakDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.weakDependency.push(reader.int32()); + } else + message.weakDependency.push(reader.int32()); + break; + case 4: + if (!(message.messageType && message.messageType.length)) + message.messageType = []; + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.service && message.service.length)) + message.service = []; + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + break; + case 7: + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + case 8: + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + break; + case 9: + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + break; + case 12: + message.syntax = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorProto message. + * @function verify + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message["package"] != null && message.hasOwnProperty("package")) + if (!$util.isString(message["package"])) + return "package: string expected"; + if (message.dependency != null && message.hasOwnProperty("dependency")) { + if (!Array.isArray(message.dependency)) + return "dependency: array expected"; + for (var i = 0; i < message.dependency.length; ++i) + if (!$util.isString(message.dependency[i])) + return "dependency: string[] expected"; + } + if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) { + if (!Array.isArray(message.publicDependency)) + return "publicDependency: array expected"; + for (var i = 0; i < message.publicDependency.length; ++i) + if (!$util.isInteger(message.publicDependency[i])) + return "publicDependency: integer[] expected"; + } + if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) { + if (!Array.isArray(message.weakDependency)) + return "weakDependency: array expected"; + for (var i = 0; i < message.weakDependency.length; ++i) + if (!$util.isInteger(message.weakDependency[i])) + return "weakDependency: integer[] expected"; + } + if (message.messageType != null && message.hasOwnProperty("messageType")) { + if (!Array.isArray(message.messageType)) + return "messageType: array expected"; + for (var i = 0; i < message.messageType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + if (error) + return "messageType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.service != null && message.hasOwnProperty("service")) { + if (!Array.isArray(message.service)) + return "service: array expected"; + for (var i = 0; i < message.service.length; ++i) { + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + if (error) + return "service." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FileOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + if (error) + return "sourceCodeInfo." + error; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + if (!$util.isString(message.syntax)) + return "syntax: string expected"; + return null; + }; + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + */ + FileDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorProto) + return object; + var message = new $root.google.protobuf.FileDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object["package"] != null) + message["package"] = String(object["package"]); + if (object.dependency) { + if (!Array.isArray(object.dependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected"); + message.dependency = []; + for (var i = 0; i < object.dependency.length; ++i) + message.dependency[i] = String(object.dependency[i]); + } + if (object.publicDependency) { + if (!Array.isArray(object.publicDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected"); + message.publicDependency = []; + for (var i = 0; i < object.publicDependency.length; ++i) + message.publicDependency[i] = object.publicDependency[i] | 0; + } + if (object.weakDependency) { + if (!Array.isArray(object.weakDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected"); + message.weakDependency = []; + for (var i = 0; i < object.weakDependency.length; ++i) + message.weakDependency[i] = object.weakDependency[i] | 0; + } + if (object.messageType) { + if (!Array.isArray(object.messageType)) + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); + message.messageType = []; + for (var i = 0; i < object.messageType.length; ++i) { + if (typeof object.messageType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.service) { + if (!Array.isArray(object.service)) + throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected"); + message.service = []; + for (var i = 0; i < object.service.length; ++i) { + if (typeof object.service[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + } + if (object.sourceCodeInfo != null) { + if (typeof object.sourceCodeInfo !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + } + if (object.syntax != null) + message.syntax = String(object.syntax); + return message; + }; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.dependency = []; + object.messageType = []; + object.enumType = []; + object.service = []; + object.extension = []; + object.publicDependency = []; + object.weakDependency = []; + } + if (options.defaults) { + object.name = ""; + object["package"] = ""; + object.options = null; + object.sourceCodeInfo = null; + object.syntax = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message["package"] != null && message.hasOwnProperty("package")) + object["package"] = message["package"]; + if (message.dependency && message.dependency.length) { + object.dependency = []; + for (var j = 0; j < message.dependency.length; ++j) + object.dependency[j] = message.dependency[j]; + } + if (message.messageType && message.messageType.length) { + object.messageType = []; + for (var j = 0; j < message.messageType.length; ++j) + object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.service && message.service.length) { + object.service = []; + for (var j = 0; j < message.service.length; ++j) + object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FileOptions.toObject(message.options, options); + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) + object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options); + if (message.publicDependency && message.publicDependency.length) { + object.publicDependency = []; + for (var j = 0; j < message.publicDependency.length; ++j) + object.publicDependency[j] = message.publicDependency[j]; + } + if (message.weakDependency && message.weakDependency.length) { + object.weakDependency = []; + for (var j = 0; j < message.weakDependency.length; ++j) + object.weakDependency[j] = message.weakDependency[j]; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + object.syntax = message.syntax; + return object; + }; + + /** + * Converts this FileDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FileDescriptorProto; + })(); + + protobuf.DescriptorProto = (function() { + + /** + * Properties of a DescriptorProto. + * @memberof google.protobuf + * @interface IDescriptorProto + * @property {string|null} [name] DescriptorProto name + * @property {Array.|null} [field] DescriptorProto field + * @property {Array.|null} [extension] DescriptorProto extension + * @property {Array.|null} [nestedType] DescriptorProto nestedType + * @property {Array.|null} [enumType] DescriptorProto enumType + * @property {Array.|null} [extensionRange] DescriptorProto extensionRange + * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl + * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options + * @property {Array.|null} [reservedRange] DescriptorProto reservedRange + * @property {Array.|null} [reservedName] DescriptorProto reservedName + */ + + /** + * Constructs a new DescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a DescriptorProto. + * @implements IDescriptorProto + * @constructor + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + */ + function DescriptorProto(properties) { + this.field = []; + this.extension = []; + this.nestedType = []; + this.enumType = []; + this.extensionRange = []; + this.oneofDecl = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DescriptorProto name. + * @member {string} name + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.name = ""; + + /** + * DescriptorProto field. + * @member {Array.} field + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.field = $util.emptyArray; + + /** + * DescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extension = $util.emptyArray; + + /** + * DescriptorProto nestedType. + * @member {Array.} nestedType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.nestedType = $util.emptyArray; + + /** + * DescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * DescriptorProto extensionRange. + * @member {Array.} extensionRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extensionRange = $util.emptyArray; + + /** + * DescriptorProto oneofDecl. + * @member {Array.} oneofDecl + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.oneofDecl = $util.emptyArray; + + /** + * DescriptorProto options. + * @member {google.protobuf.IMessageOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.options = null; + + /** + * DescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * DescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto} DescriptorProto instance + */ + DescriptorProto.create = function create(properties) { + return new DescriptorProto(properties); + }; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.field != null && message.field.length) + for (var i = 0; i < message.field.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.nestedType != null && message.nestedType.length) + for (var i = 0; i < message.nestedType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.extensionRange != null && message.extensionRange.length) + for (var i = 0; i < message.extensionRange.length; ++i) + $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.options != null && message.hasOwnProperty("options")) + $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.oneofDecl != null && message.oneofDecl.length) + for (var i = 0; i < message.oneofDecl.length; ++i) + $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + if (!(message.field && message.field.length)) + message.field = []; + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.nestedType && message.nestedType.length)) + message.nestedType = []; + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.extensionRange && message.extensionRange.length)) + message.extensionRange = []; + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + break; + case 8: + if (!(message.oneofDecl && message.oneofDecl.length)) + message.oneofDecl = []; + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + break; + case 7: + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + break; + case 9: + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + break; + case 10: + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DescriptorProto message. + * @function verify + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.field != null && message.hasOwnProperty("field")) { + if (!Array.isArray(message.field)) + return "field: array expected"; + for (var i = 0; i < message.field.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + if (error) + return "field." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.nestedType != null && message.hasOwnProperty("nestedType")) { + if (!Array.isArray(message.nestedType)) + return "nestedType: array expected"; + for (var i = 0; i < message.nestedType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + if (error) + return "nestedType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) { + if (!Array.isArray(message.extensionRange)) + return "extensionRange: array expected"; + for (var i = 0; i < message.extensionRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + if (error) + return "extensionRange." + error; + } + } + if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) { + if (!Array.isArray(message.oneofDecl)) + return "oneofDecl: array expected"; + for (var i = 0; i < message.oneofDecl.length; ++i) { + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + if (error) + return "oneofDecl." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MessageOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto} DescriptorProto + */ + DescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto) + return object; + var message = new $root.google.protobuf.DescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.field) { + if (!Array.isArray(object.field)) + throw TypeError(".google.protobuf.DescriptorProto.field: array expected"); + message.field = []; + for (var i = 0; i < object.field.length; ++i) { + if (typeof object.field[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.DescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.nestedType) { + if (!Array.isArray(object.nestedType)) + throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected"); + message.nestedType = []; + for (var i = 0; i < object.nestedType.length; ++i) { + if (typeof object.nestedType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.extensionRange) { + if (!Array.isArray(object.extensionRange)) + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected"); + message.extensionRange = []; + for (var i = 0; i < object.extensionRange.length; ++i) { + if (typeof object.extensionRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + } + } + if (object.oneofDecl) { + if (!Array.isArray(object.oneofDecl)) + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected"); + message.oneofDecl = []; + for (var i = 0; i < object.oneofDecl.length; ++i) { + if (typeof object.oneofDecl[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.DescriptorProto} message DescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.field = []; + object.nestedType = []; + object.enumType = []; + object.extensionRange = []; + object.extension = []; + object.oneofDecl = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.field && message.field.length) { + object.field = []; + for (var j = 0; j < message.field.length; ++j) + object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options); + } + if (message.nestedType && message.nestedType.length) { + object.nestedType = []; + for (var j = 0; j < message.nestedType.length; ++j) + object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.extensionRange && message.extensionRange.length) { + object.extensionRange = []; + for (var j = 0; j < message.extensionRange.length; ++j) + object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options); + if (message.oneofDecl && message.oneofDecl.length) { + object.oneofDecl = []; + for (var j = 0; j < message.oneofDecl.length; ++j) + object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options); + } + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this DescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto + * @instance + * @returns {Object.} JSON object + */ + DescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + DescriptorProto.ExtensionRange = (function() { + + /** + * Properties of an ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @interface IExtensionRange + * @property {number|null} [start] ExtensionRange start + * @property {number|null} [end] ExtensionRange end + * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options + */ + + /** + * Constructs a new ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents an ExtensionRange. + * @implements IExtensionRange + * @constructor + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + */ + function ExtensionRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.start = 0; + + /** + * ExtensionRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.end = 0; + + /** + * ExtensionRange options. + * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.options = null; + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance + */ + ExtensionRange.create = function create(properties) { + return new ExtensionRange(properties); + }; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && message.hasOwnProperty("start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && message.hasOwnProperty("end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + if (message.options != null && message.hasOwnProperty("options")) + $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start = reader.int32(); + break; + case 2: + message.end = reader.int32(); + break; + case 3: + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + */ + ExtensionRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + object.options = null; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ExtensionRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + * @returns {Object.} JSON object + */ + ExtensionRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExtensionRange; + })(); + + DescriptorProto.ReservedRange = (function() { + + /** + * Properties of a ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @interface IReservedRange + * @property {number|null} [start] ReservedRange start + * @property {number|null} [end] ReservedRange end + */ + + /** + * Constructs a new ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents a ReservedRange. + * @implements IReservedRange + * @constructor + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + */ + function ReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ReservedRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.start = 0; + + /** + * ReservedRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.end = 0; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance + */ + ReservedRange.create = function create(properties) { + return new ReservedRange(properties); + }; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && message.hasOwnProperty("start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && message.hasOwnProperty("end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start = reader.int32(); + break; + case 2: + message.end = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReservedRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + */ + ReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this ReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + * @returns {Object.} JSON object + */ + ReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ReservedRange; + })(); + + return DescriptorProto; + })(); + + protobuf.ExtensionRangeOptions = (function() { + + /** + * Properties of an ExtensionRangeOptions. + * @memberof google.protobuf + * @interface IExtensionRangeOptions + * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption + */ + + /** + * Constructs a new ExtensionRangeOptions. + * @memberof google.protobuf + * @classdesc Represents an ExtensionRangeOptions. + * @implements IExtensionRangeOptions + * @constructor + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + */ + function ExtensionRangeOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRangeOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + */ + ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance + */ + ExtensionRangeOptions.create = function create(properties) { + return new ExtensionRangeOptions(properties); + }; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRangeOptions message. + * @function verify + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRangeOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + */ + ExtensionRangeOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ExtensionRangeOptions) + return object; + var message = new $root.google.protobuf.ExtensionRangeOptions(); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRangeOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + * @returns {Object.} JSON object + */ + ExtensionRangeOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ExtensionRangeOptions; + })(); + + protobuf.FieldDescriptorProto = (function() { + + /** + * Properties of a FieldDescriptorProto. + * @memberof google.protobuf + * @interface IFieldDescriptorProto + * @property {string|null} [name] FieldDescriptorProto name + * @property {number|null} [number] FieldDescriptorProto number + * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label + * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type + * @property {string|null} [typeName] FieldDescriptorProto typeName + * @property {string|null} [extendee] FieldDescriptorProto extendee + * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue + * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex + * @property {string|null} [jsonName] FieldDescriptorProto jsonName + * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options + */ + + /** + * Constructs a new FieldDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FieldDescriptorProto. + * @implements IFieldDescriptorProto + * @constructor + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + */ + function FieldDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.name = ""; + + /** + * FieldDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.number = 0; + + /** + * FieldDescriptorProto label. + * @member {google.protobuf.FieldDescriptorProto.Label} label + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.label = 1; + + /** + * FieldDescriptorProto type. + * @member {google.protobuf.FieldDescriptorProto.Type} type + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.type = 1; + + /** + * FieldDescriptorProto typeName. + * @member {string} typeName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.typeName = ""; + + /** + * FieldDescriptorProto extendee. + * @member {string} extendee + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.extendee = ""; + + /** + * FieldDescriptorProto defaultValue. + * @member {string} defaultValue + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.defaultValue = ""; + + /** + * FieldDescriptorProto oneofIndex. + * @member {number} oneofIndex + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.oneofIndex = 0; + + /** + * FieldDescriptorProto jsonName. + * @member {string} jsonName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.jsonName = ""; + + /** + * FieldDescriptorProto options. + * @member {google.protobuf.IFieldOptions|null|undefined} options + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.options = null; + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance + */ + FieldDescriptorProto.create = function create(properties) { + return new FieldDescriptorProto(properties); + }; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.extendee != null && message.hasOwnProperty("extendee")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); + if (message.number != null && message.hasOwnProperty("number")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); + if (message.label != null && message.hasOwnProperty("label")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); + if (message.typeName != null && message.hasOwnProperty("typeName")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); + if (message.options != null && message.hasOwnProperty("options")) + $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); + return writer; + }; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 3: + message.number = reader.int32(); + break; + case 4: + message.label = reader.int32(); + break; + case 5: + message.type = reader.int32(); + break; + case 6: + message.typeName = reader.string(); + break; + case 2: + message.extendee = reader.string(); + break; + case 7: + message.defaultValue = reader.string(); + break; + case 9: + message.oneofIndex = reader.int32(); + break; + case 10: + message.jsonName = reader.string(); + break; + case 8: + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldDescriptorProto message. + * @function verify + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.label != null && message.hasOwnProperty("label")) + switch (message.label) { + default: + return "label: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + break; + } + if (message.typeName != null && message.hasOwnProperty("typeName")) + if (!$util.isString(message.typeName)) + return "typeName: string expected"; + if (message.extendee != null && message.hasOwnProperty("extendee")) + if (!$util.isString(message.extendee)) + return "extendee: string expected"; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + if (!$util.isString(message.defaultValue)) + return "defaultValue: string expected"; + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + if (!$util.isInteger(message.oneofIndex)) + return "oneofIndex: integer expected"; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + if (!$util.isString(message.jsonName)) + return "jsonName: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FieldOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + */ + FieldDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldDescriptorProto) + return object; + var message = new $root.google.protobuf.FieldDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + switch (object.label) { + case "LABEL_OPTIONAL": + case 1: + message.label = 1; + break; + case "LABEL_REQUIRED": + case 2: + message.label = 2; + break; + case "LABEL_REPEATED": + case 3: + message.label = 3; + break; + } + switch (object.type) { + case "TYPE_DOUBLE": + case 1: + message.type = 1; + break; + case "TYPE_FLOAT": + case 2: + message.type = 2; + break; + case "TYPE_INT64": + case 3: + message.type = 3; + break; + case "TYPE_UINT64": + case 4: + message.type = 4; + break; + case "TYPE_INT32": + case 5: + message.type = 5; + break; + case "TYPE_FIXED64": + case 6: + message.type = 6; + break; + case "TYPE_FIXED32": + case 7: + message.type = 7; + break; + case "TYPE_BOOL": + case 8: + message.type = 8; + break; + case "TYPE_STRING": + case 9: + message.type = 9; + break; + case "TYPE_GROUP": + case 10: + message.type = 10; + break; + case "TYPE_MESSAGE": + case 11: + message.type = 11; + break; + case "TYPE_BYTES": + case 12: + message.type = 12; + break; + case "TYPE_UINT32": + case 13: + message.type = 13; + break; + case "TYPE_ENUM": + case 14: + message.type = 14; + break; + case "TYPE_SFIXED32": + case 15: + message.type = 15; + break; + case "TYPE_SFIXED64": + case 16: + message.type = 16; + break; + case "TYPE_SINT32": + case 17: + message.type = 17; + break; + case "TYPE_SINT64": + case 18: + message.type = 18; + break; + } + if (object.typeName != null) + message.typeName = String(object.typeName); + if (object.extendee != null) + message.extendee = String(object.extendee); + if (object.defaultValue != null) + message.defaultValue = String(object.defaultValue); + if (object.oneofIndex != null) + message.oneofIndex = object.oneofIndex | 0; + if (object.jsonName != null) + message.jsonName = String(object.jsonName); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.extendee = ""; + object.number = 0; + object.label = options.enums === String ? "LABEL_OPTIONAL" : 1; + object.type = options.enums === String ? "TYPE_DOUBLE" : 1; + object.typeName = ""; + object.defaultValue = ""; + object.options = null; + object.oneofIndex = 0; + object.jsonName = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.extendee != null && message.hasOwnProperty("extendee")) + object.extendee = message.extendee; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.label != null && message.hasOwnProperty("label")) + object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; + if (message.typeName != null && message.hasOwnProperty("typeName")) + object.typeName = message.typeName; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + object.defaultValue = message.defaultValue; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options); + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + object.oneofIndex = message.oneofIndex; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + object.jsonName = message.jsonName; + return object; + }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FieldDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FieldDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.protobuf.FieldDescriptorProto.Type + * @enum {string} + * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value + * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value + * @property {number} TYPE_INT64=3 TYPE_INT64 value + * @property {number} TYPE_UINT64=4 TYPE_UINT64 value + * @property {number} TYPE_INT32=5 TYPE_INT32 value + * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value + * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value + * @property {number} TYPE_BOOL=8 TYPE_BOOL value + * @property {number} TYPE_STRING=9 TYPE_STRING value + * @property {number} TYPE_GROUP=10 TYPE_GROUP value + * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value + * @property {number} TYPE_BYTES=12 TYPE_BYTES value + * @property {number} TYPE_UINT32=13 TYPE_UINT32 value + * @property {number} TYPE_ENUM=14 TYPE_ENUM value + * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value + * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value + * @property {number} TYPE_SINT32=17 TYPE_SINT32 value + * @property {number} TYPE_SINT64=18 TYPE_SINT64 value + */ + FieldDescriptorProto.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "TYPE_DOUBLE"] = 1; + values[valuesById[2] = "TYPE_FLOAT"] = 2; + values[valuesById[3] = "TYPE_INT64"] = 3; + values[valuesById[4] = "TYPE_UINT64"] = 4; + values[valuesById[5] = "TYPE_INT32"] = 5; + values[valuesById[6] = "TYPE_FIXED64"] = 6; + values[valuesById[7] = "TYPE_FIXED32"] = 7; + values[valuesById[8] = "TYPE_BOOL"] = 8; + values[valuesById[9] = "TYPE_STRING"] = 9; + values[valuesById[10] = "TYPE_GROUP"] = 10; + values[valuesById[11] = "TYPE_MESSAGE"] = 11; + values[valuesById[12] = "TYPE_BYTES"] = 12; + values[valuesById[13] = "TYPE_UINT32"] = 13; + values[valuesById[14] = "TYPE_ENUM"] = 14; + values[valuesById[15] = "TYPE_SFIXED32"] = 15; + values[valuesById[16] = "TYPE_SFIXED64"] = 16; + values[valuesById[17] = "TYPE_SINT32"] = 17; + values[valuesById[18] = "TYPE_SINT64"] = 18; + return values; + })(); + + /** + * Label enum. + * @name google.protobuf.FieldDescriptorProto.Label + * @enum {string} + * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value + * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value + * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value + */ + FieldDescriptorProto.Label = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "LABEL_OPTIONAL"] = 1; + values[valuesById[2] = "LABEL_REQUIRED"] = 2; + values[valuesById[3] = "LABEL_REPEATED"] = 3; + return values; + })(); + + return FieldDescriptorProto; + })(); + + protobuf.OneofDescriptorProto = (function() { + + /** + * Properties of an OneofDescriptorProto. + * @memberof google.protobuf + * @interface IOneofDescriptorProto + * @property {string|null} [name] OneofDescriptorProto name + * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options + */ + + /** + * Constructs a new OneofDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an OneofDescriptorProto. + * @implements IOneofDescriptorProto + * @constructor + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + */ + function OneofDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.name = ""; + + /** + * OneofDescriptorProto options. + * @member {google.protobuf.IOneofOptions|null|undefined} options + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.options = null; + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance + */ + OneofDescriptorProto.create = function create(properties) { + return new OneofDescriptorProto(properties); + }; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.options != null && message.hasOwnProperty("options")) + $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofDescriptorProto message. + * @function verify + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.OneofOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + */ + OneofDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofDescriptorProto) + return object; + var message = new $root.google.protobuf.OneofDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.OneofDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + OneofDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OneofDescriptorProto; + })(); + + protobuf.EnumDescriptorProto = (function() { + + /** + * Properties of an EnumDescriptorProto. + * @memberof google.protobuf + * @interface IEnumDescriptorProto + * @property {string|null} [name] EnumDescriptorProto name + * @property {Array.|null} [value] EnumDescriptorProto value + * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options + * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange + * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + */ + + /** + * Constructs a new EnumDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumDescriptorProto. + * @implements IEnumDescriptorProto + * @constructor + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + */ + function EnumDescriptorProto(properties) { + this.value = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.name = ""; + + /** + * EnumDescriptorProto value. + * @member {Array.} value + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.value = $util.emptyArray; + + /** + * EnumDescriptorProto options. + * @member {google.protobuf.IEnumOptions|null|undefined} options + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.options = null; + + /** + * EnumDescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * EnumDescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance + */ + EnumDescriptorProto.create = function create(properties) { + return new EnumDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.value.length) + for (var i = 0; i < message.value.length; ++i) + $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && message.hasOwnProperty("options")) + $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + if (!(message.value && message.value.length)) + message.value = []; + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + break; + case 3: + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) { + if (!Array.isArray(message.value)) + return "value: array expected"; + for (var i = 0; i < message.value.length; ++i) { + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + if (error) + return "value." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + */ + EnumDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.value) { + if (!Array.isArray(object.value)) + throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected"); + message.value = []; + for (var i = 0; i < object.value.length; ++i) { + if (typeof object.value[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.EnumDescriptorProto} message EnumDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.value = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value && message.value.length) { + object.value = []; + for (var j = 0; j < message.value.length; ++j) + object.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumOptions.toObject(message.options, options); + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + EnumDescriptorProto.EnumReservedRange = (function() { + + /** + * Properties of an EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @interface IEnumReservedRange + * @property {number|null} [start] EnumReservedRange start + * @property {number|null} [end] EnumReservedRange end + */ + + /** + * Constructs a new EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @classdesc Represents an EnumReservedRange. + * @implements IEnumReservedRange + * @constructor + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + */ + function EnumReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumReservedRange start. + * @member {number} start + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.start = 0; + + /** + * EnumReservedRange end. + * @member {number} end + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.end = 0; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange instance + */ + EnumReservedRange.create = function create(properties) { + return new EnumReservedRange(properties); + }; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && message.hasOwnProperty("start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && message.hasOwnProperty("end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.start = reader.int32(); + break; + case 2: + message.end = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumReservedRange message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + */ + EnumReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.EnumReservedRange} message EnumReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this EnumReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + * @returns {Object.} JSON object + */ + EnumReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumReservedRange; + })(); + + return EnumDescriptorProto; + })(); + + protobuf.EnumValueDescriptorProto = (function() { + + /** + * Properties of an EnumValueDescriptorProto. + * @memberof google.protobuf + * @interface IEnumValueDescriptorProto + * @property {string|null} [name] EnumValueDescriptorProto name + * @property {number|null} [number] EnumValueDescriptorProto number + * @property {google.protobuf.IEnumValueOptions|null} [options] EnumValueDescriptorProto options + */ + + /** + * Constructs a new EnumValueDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumValueDescriptorProto. + * @implements IEnumValueDescriptorProto + * @constructor + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + */ + function EnumValueDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValueDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.name = ""; + + /** + * EnumValueDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.number = 0; + + /** + * EnumValueDescriptorProto options. + * @member {google.protobuf.IEnumValueOptions|null|undefined} options + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.options = null; + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance + */ + EnumValueDescriptorProto.create = function create(properties) { + return new EnumValueDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.number != null && message.hasOwnProperty("number")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); + if (message.options != null && message.hasOwnProperty("options")) + $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.number = reader.int32(); + break; + case 3: + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValueDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValueDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + */ + EnumValueDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumValueDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.EnumValueDescriptorProto} message EnumValueDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValueDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.number = 0; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumValueDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumValueDescriptorProto; + })(); + + protobuf.ServiceDescriptorProto = (function() { + + /** + * Properties of a ServiceDescriptorProto. + * @memberof google.protobuf + * @interface IServiceDescriptorProto + * @property {string|null} [name] ServiceDescriptorProto name + * @property {Array.|null} [method] ServiceDescriptorProto method + * @property {google.protobuf.IServiceOptions|null} [options] ServiceDescriptorProto options + */ + + /** + * Constructs a new ServiceDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a ServiceDescriptorProto. + * @implements IServiceDescriptorProto + * @constructor + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + */ + function ServiceDescriptorProto(properties) { + this.method = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.name = ""; + + /** + * ServiceDescriptorProto method. + * @member {Array.} method + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.method = $util.emptyArray; + + /** + * ServiceDescriptorProto options. + * @member {google.protobuf.IServiceOptions|null|undefined} options + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.options = null; + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance + */ + ServiceDescriptorProto.create = function create(properties) { + return new ServiceDescriptorProto(properties); + }; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.method != null && message.method.length) + for (var i = 0; i < message.method.length; ++i) + $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && message.hasOwnProperty("options")) + $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + if (!(message.method && message.method.length)) + message.method = []; + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + break; + case 3: + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceDescriptorProto message. + * @function verify + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.method != null && message.hasOwnProperty("method")) { + if (!Array.isArray(message.method)) + return "method: array expected"; + for (var i = 0; i < message.method.length; ++i) { + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + if (error) + return "method." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ServiceOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + */ + ServiceDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceDescriptorProto) + return object; + var message = new $root.google.protobuf.ServiceDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.method) { + if (!Array.isArray(object.method)) + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected"); + message.method = []; + for (var i = 0; i < object.method.length; ++i) { + if (typeof object.method[i] !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.ServiceDescriptorProto} message ServiceDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.method = []; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.method && message.method.length) { + object.method = []; + for (var j = 0; j < message.method.length; ++j) + object.method[j] = $root.google.protobuf.MethodDescriptorProto.toObject(message.method[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ServiceOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + ServiceDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ServiceDescriptorProto; + })(); + + protobuf.MethodDescriptorProto = (function() { + + /** + * Properties of a MethodDescriptorProto. + * @memberof google.protobuf + * @interface IMethodDescriptorProto + * @property {string|null} [name] MethodDescriptorProto name + * @property {string|null} [inputType] MethodDescriptorProto inputType + * @property {string|null} [outputType] MethodDescriptorProto outputType + * @property {google.protobuf.IMethodOptions|null} [options] MethodDescriptorProto options + * @property {boolean|null} [clientStreaming] MethodDescriptorProto clientStreaming + * @property {boolean|null} [serverStreaming] MethodDescriptorProto serverStreaming + */ + + /** + * Constructs a new MethodDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a MethodDescriptorProto. + * @implements IMethodDescriptorProto + * @constructor + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + */ + function MethodDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.name = ""; + + /** + * MethodDescriptorProto inputType. + * @member {string} inputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.inputType = ""; + + /** + * MethodDescriptorProto outputType. + * @member {string} outputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.outputType = ""; + + /** + * MethodDescriptorProto options. + * @member {google.protobuf.IMethodOptions|null|undefined} options + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.options = null; + + /** + * MethodDescriptorProto clientStreaming. + * @member {boolean} clientStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.clientStreaming = false; + + /** + * MethodDescriptorProto serverStreaming. + * @member {boolean} serverStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.serverStreaming = false; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto instance + */ + MethodDescriptorProto.create = function create(properties) { + return new MethodDescriptorProto(properties); + }; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.inputType != null && message.hasOwnProperty("inputType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); + if (message.outputType != null && message.hasOwnProperty("outputType")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); + if (message.options != null && message.hasOwnProperty("options")) + $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); + return writer; + }; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.inputType = reader.string(); + break; + case 3: + message.outputType = reader.string(); + break; + case 4: + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + break; + case 5: + message.clientStreaming = reader.bool(); + break; + case 6: + message.serverStreaming = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodDescriptorProto message. + * @function verify + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.inputType != null && message.hasOwnProperty("inputType")) + if (!$util.isString(message.inputType)) + return "inputType: string expected"; + if (message.outputType != null && message.hasOwnProperty("outputType")) + if (!$util.isString(message.outputType)) + return "outputType: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MethodOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + if (typeof message.clientStreaming !== "boolean") + return "clientStreaming: boolean expected"; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + if (typeof message.serverStreaming !== "boolean") + return "serverStreaming: boolean expected"; + return null; + }; + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + */ + MethodDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodDescriptorProto) + return object; + var message = new $root.google.protobuf.MethodDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.inputType != null) + message.inputType = String(object.inputType); + if (object.outputType != null) + message.outputType = String(object.outputType); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + } + if (object.clientStreaming != null) + message.clientStreaming = Boolean(object.clientStreaming); + if (object.serverStreaming != null) + message.serverStreaming = Boolean(object.serverStreaming); + return message; + }; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.MethodDescriptorProto} message MethodDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.inputType = ""; + object.outputType = ""; + object.options = null; + object.clientStreaming = false; + object.serverStreaming = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.inputType != null && message.hasOwnProperty("inputType")) + object.inputType = message.inputType; + if (message.outputType != null && message.hasOwnProperty("outputType")) + object.outputType = message.outputType; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MethodOptions.toObject(message.options, options); + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + object.clientStreaming = message.clientStreaming; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + object.serverStreaming = message.serverStreaming; + return object; + }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.MethodDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + MethodDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MethodDescriptorProto; + })(); + + protobuf.FileOptions = (function() { + + /** + * Properties of a FileOptions. + * @memberof google.protobuf + * @interface IFileOptions + * @property {string|null} [javaPackage] FileOptions javaPackage + * @property {string|null} [javaOuterClassname] FileOptions javaOuterClassname + * @property {boolean|null} [javaMultipleFiles] FileOptions javaMultipleFiles + * @property {boolean|null} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash + * @property {boolean|null} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8 + * @property {google.protobuf.FileOptions.OptimizeMode|null} [optimizeFor] FileOptions optimizeFor + * @property {string|null} [goPackage] FileOptions goPackage + * @property {boolean|null} [ccGenericServices] FileOptions ccGenericServices + * @property {boolean|null} [javaGenericServices] FileOptions javaGenericServices + * @property {boolean|null} [pyGenericServices] FileOptions pyGenericServices + * @property {boolean|null} [phpGenericServices] FileOptions phpGenericServices + * @property {boolean|null} [deprecated] FileOptions deprecated + * @property {boolean|null} [ccEnableArenas] FileOptions ccEnableArenas + * @property {string|null} [objcClassPrefix] FileOptions objcClassPrefix + * @property {string|null} [csharpNamespace] FileOptions csharpNamespace + * @property {string|null} [swiftPrefix] FileOptions swiftPrefix + * @property {string|null} [phpClassPrefix] FileOptions phpClassPrefix + * @property {string|null} [phpNamespace] FileOptions phpNamespace + * @property {string|null} [phpMetadataNamespace] FileOptions phpMetadataNamespace + * @property {string|null} [rubyPackage] FileOptions rubyPackage + * @property {Array.|null} [uninterpretedOption] FileOptions uninterpretedOption + */ + + /** + * Constructs a new FileOptions. + * @memberof google.protobuf + * @classdesc Represents a FileOptions. + * @implements IFileOptions + * @constructor + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + */ + function FileOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileOptions javaPackage. + * @member {string} javaPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaPackage = ""; + + /** + * FileOptions javaOuterClassname. + * @member {string} javaOuterClassname + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaOuterClassname = ""; + + /** + * FileOptions javaMultipleFiles. + * @member {boolean} javaMultipleFiles + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaMultipleFiles = false; + + /** + * FileOptions javaGenerateEqualsAndHash. + * @member {boolean} javaGenerateEqualsAndHash + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenerateEqualsAndHash = false; + + /** + * FileOptions javaStringCheckUtf8. + * @member {boolean} javaStringCheckUtf8 + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaStringCheckUtf8 = false; + + /** + * FileOptions optimizeFor. + * @member {google.protobuf.FileOptions.OptimizeMode} optimizeFor + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.optimizeFor = 1; + + /** + * FileOptions goPackage. + * @member {string} goPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.goPackage = ""; + + /** + * FileOptions ccGenericServices. + * @member {boolean} ccGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccGenericServices = false; + + /** + * FileOptions javaGenericServices. + * @member {boolean} javaGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenericServices = false; + + /** + * FileOptions pyGenericServices. + * @member {boolean} pyGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.pyGenericServices = false; + + /** + * FileOptions phpGenericServices. + * @member {boolean} phpGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpGenericServices = false; + + /** + * FileOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.deprecated = false; + + /** + * FileOptions ccEnableArenas. + * @member {boolean} ccEnableArenas + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccEnableArenas = false; + + /** + * FileOptions objcClassPrefix. + * @member {string} objcClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.objcClassPrefix = ""; + + /** + * FileOptions csharpNamespace. + * @member {string} csharpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.csharpNamespace = ""; + + /** + * FileOptions swiftPrefix. + * @member {string} swiftPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.swiftPrefix = ""; + + /** + * FileOptions phpClassPrefix. + * @member {string} phpClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpClassPrefix = ""; + + /** + * FileOptions phpNamespace. + * @member {string} phpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpNamespace = ""; + + /** + * FileOptions phpMetadataNamespace. + * @member {string} phpMetadataNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpMetadataNamespace = ""; + + /** + * FileOptions rubyPackage. + * @member {string} rubyPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.rubyPackage = ""; + + /** + * FileOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new FileOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + * @returns {google.protobuf.FileOptions} FileOptions instance + */ + FileOptions.create = function create(properties) { + return new FileOptions(properties); + }; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices); + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace); + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.javaPackage = reader.string(); + break; + case 8: + message.javaOuterClassname = reader.string(); + break; + case 10: + message.javaMultipleFiles = reader.bool(); + break; + case 20: + message.javaGenerateEqualsAndHash = reader.bool(); + break; + case 27: + message.javaStringCheckUtf8 = reader.bool(); + break; + case 9: + message.optimizeFor = reader.int32(); + break; + case 11: + message.goPackage = reader.string(); + break; + case 16: + message.ccGenericServices = reader.bool(); + break; + case 17: + message.javaGenericServices = reader.bool(); + break; + case 18: + message.pyGenericServices = reader.bool(); + break; + case 42: + message.phpGenericServices = reader.bool(); + break; + case 23: + message.deprecated = reader.bool(); + break; + case 31: + message.ccEnableArenas = reader.bool(); + break; + case 36: + message.objcClassPrefix = reader.string(); + break; + case 37: + message.csharpNamespace = reader.string(); + break; + case 39: + message.swiftPrefix = reader.string(); + break; + case 40: + message.phpClassPrefix = reader.string(); + break; + case 41: + message.phpNamespace = reader.string(); + break; + case 44: + message.phpMetadataNamespace = reader.string(); + break; + case 45: + message.rubyPackage = reader.string(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileOptions message. + * @function verify + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + if (!$util.isString(message.javaPackage)) + return "javaPackage: string expected"; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + if (!$util.isString(message.javaOuterClassname)) + return "javaOuterClassname: string expected"; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + if (typeof message.javaMultipleFiles !== "boolean") + return "javaMultipleFiles: boolean expected"; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + if (typeof message.javaGenerateEqualsAndHash !== "boolean") + return "javaGenerateEqualsAndHash: boolean expected"; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + if (typeof message.javaStringCheckUtf8 !== "boolean") + return "javaStringCheckUtf8: boolean expected"; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + switch (message.optimizeFor) { + default: + return "optimizeFor: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + if (!$util.isString(message.goPackage)) + return "goPackage: string expected"; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + if (typeof message.ccGenericServices !== "boolean") + return "ccGenericServices: boolean expected"; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + if (typeof message.javaGenericServices !== "boolean") + return "javaGenericServices: boolean expected"; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + if (typeof message.pyGenericServices !== "boolean") + return "pyGenericServices: boolean expected"; + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + if (typeof message.phpGenericServices !== "boolean") + return "phpGenericServices: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + if (typeof message.ccEnableArenas !== "boolean") + return "ccEnableArenas: boolean expected"; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + if (!$util.isString(message.objcClassPrefix)) + return "objcClassPrefix: string expected"; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + if (!$util.isString(message.csharpNamespace)) + return "csharpNamespace: string expected"; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + if (!$util.isString(message.swiftPrefix)) + return "swiftPrefix: string expected"; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + if (!$util.isString(message.phpClassPrefix)) + return "phpClassPrefix: string expected"; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + if (!$util.isString(message.phpNamespace)) + return "phpNamespace: string expected"; + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + if (!$util.isString(message.phpMetadataNamespace)) + return "phpMetadataNamespace: string expected"; + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + if (!$util.isString(message.rubyPackage)) + return "rubyPackage: string expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileOptions} FileOptions + */ + FileOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileOptions) + return object; + var message = new $root.google.protobuf.FileOptions(); + if (object.javaPackage != null) + message.javaPackage = String(object.javaPackage); + if (object.javaOuterClassname != null) + message.javaOuterClassname = String(object.javaOuterClassname); + if (object.javaMultipleFiles != null) + message.javaMultipleFiles = Boolean(object.javaMultipleFiles); + if (object.javaGenerateEqualsAndHash != null) + message.javaGenerateEqualsAndHash = Boolean(object.javaGenerateEqualsAndHash); + if (object.javaStringCheckUtf8 != null) + message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); + switch (object.optimizeFor) { + case "SPEED": + case 1: + message.optimizeFor = 1; + break; + case "CODE_SIZE": + case 2: + message.optimizeFor = 2; + break; + case "LITE_RUNTIME": + case 3: + message.optimizeFor = 3; + break; + } + if (object.goPackage != null) + message.goPackage = String(object.goPackage); + if (object.ccGenericServices != null) + message.ccGenericServices = Boolean(object.ccGenericServices); + if (object.javaGenericServices != null) + message.javaGenericServices = Boolean(object.javaGenericServices); + if (object.pyGenericServices != null) + message.pyGenericServices = Boolean(object.pyGenericServices); + if (object.phpGenericServices != null) + message.phpGenericServices = Boolean(object.phpGenericServices); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.ccEnableArenas != null) + message.ccEnableArenas = Boolean(object.ccEnableArenas); + if (object.objcClassPrefix != null) + message.objcClassPrefix = String(object.objcClassPrefix); + if (object.csharpNamespace != null) + message.csharpNamespace = String(object.csharpNamespace); + if (object.swiftPrefix != null) + message.swiftPrefix = String(object.swiftPrefix); + if (object.phpClassPrefix != null) + message.phpClassPrefix = String(object.phpClassPrefix); + if (object.phpNamespace != null) + message.phpNamespace = String(object.phpNamespace); + if (object.phpMetadataNamespace != null) + message.phpMetadataNamespace = String(object.phpMetadataNamespace); + if (object.rubyPackage != null) + message.rubyPackage = String(object.rubyPackage); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.FileOptions} message FileOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.javaPackage = ""; + object.javaOuterClassname = ""; + object.optimizeFor = options.enums === String ? "SPEED" : 1; + object.javaMultipleFiles = false; + object.goPackage = ""; + object.ccGenericServices = false; + object.javaGenericServices = false; + object.pyGenericServices = false; + object.javaGenerateEqualsAndHash = false; + object.deprecated = false; + object.javaStringCheckUtf8 = false; + object.ccEnableArenas = false; + object.objcClassPrefix = ""; + object.csharpNamespace = ""; + object.swiftPrefix = ""; + object.phpClassPrefix = ""; + object.phpNamespace = ""; + object.phpGenericServices = false; + object.phpMetadataNamespace = ""; + object.rubyPackage = ""; + } + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + object.javaPackage = message.javaPackage; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + object.javaOuterClassname = message.javaOuterClassname; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + object.javaMultipleFiles = message.javaMultipleFiles; + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + object.goPackage = message.goPackage; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + object.ccGenericServices = message.ccGenericServices; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + object.javaGenericServices = message.javaGenericServices; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + object.pyGenericServices = message.pyGenericServices; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + object.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + object.javaStringCheckUtf8 = message.javaStringCheckUtf8; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + object.ccEnableArenas = message.ccEnableArenas; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + object.objcClassPrefix = message.objcClassPrefix; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + object.csharpNamespace = message.csharpNamespace; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + object.swiftPrefix = message.swiftPrefix; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + object.phpClassPrefix = message.phpClassPrefix; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + object.phpNamespace = message.phpNamespace; + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + object.phpGenericServices = message.phpGenericServices; + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + object.phpMetadataNamespace = message.phpMetadataNamespace; + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + object.rubyPackage = message.rubyPackage; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this FileOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FileOptions + * @instance + * @returns {Object.} JSON object + */ + FileOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * OptimizeMode enum. + * @name google.protobuf.FileOptions.OptimizeMode + * @enum {string} + * @property {number} SPEED=1 SPEED value + * @property {number} CODE_SIZE=2 CODE_SIZE value + * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value + */ + FileOptions.OptimizeMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "SPEED"] = 1; + values[valuesById[2] = "CODE_SIZE"] = 2; + values[valuesById[3] = "LITE_RUNTIME"] = 3; + return values; + })(); + + return FileOptions; + })(); + + protobuf.MessageOptions = (function() { + + /** + * Properties of a MessageOptions. + * @memberof google.protobuf + * @interface IMessageOptions + * @property {boolean|null} [messageSetWireFormat] MessageOptions messageSetWireFormat + * @property {boolean|null} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor + * @property {boolean|null} [deprecated] MessageOptions deprecated + * @property {boolean|null} [mapEntry] MessageOptions mapEntry + * @property {Array.|null} [uninterpretedOption] MessageOptions uninterpretedOption + * @property {google.api.IResourceDescriptor|null} [".google.api.resource"] MessageOptions .google.api.resource + */ + + /** + * Constructs a new MessageOptions. + * @memberof google.protobuf + * @classdesc Represents a MessageOptions. + * @implements IMessageOptions + * @constructor + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + */ + function MessageOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MessageOptions messageSetWireFormat. + * @member {boolean} messageSetWireFormat + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.messageSetWireFormat = false; + + /** + * MessageOptions noStandardDescriptorAccessor. + * @member {boolean} noStandardDescriptorAccessor + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.noStandardDescriptorAccessor = false; + + /** + * MessageOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.deprecated = false; + + /** + * MessageOptions mapEntry. + * @member {boolean} mapEntry + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.mapEntry = false; + + /** + * MessageOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * MessageOptions .google.api.resource. + * @member {google.api.IResourceDescriptor|null|undefined} .google.api.resource + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".google.api.resource"] = null; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + * @returns {google.protobuf.MessageOptions} MessageOptions instance + */ + MessageOptions.create = function create(properties) { + return new MessageOptions(properties); + }; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) + $root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messageSetWireFormat = reader.bool(); + break; + case 2: + message.noStandardDescriptorAccessor = reader.bool(); + break; + case 3: + message.deprecated = reader.bool(); + break; + case 7: + message.mapEntry = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 1053: + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MessageOptions message. + * @function verify + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MessageOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + if (typeof message.messageSetWireFormat !== "boolean") + return "messageSetWireFormat: boolean expected"; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + if (typeof message.noStandardDescriptorAccessor !== "boolean") + return "noStandardDescriptorAccessor: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + if (typeof message.mapEntry !== "boolean") + return "mapEntry: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + if (error) + return ".google.api.resource." + error; + } + return null; + }; + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MessageOptions} MessageOptions + */ + MessageOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MessageOptions) + return object; + var message = new $root.google.protobuf.MessageOptions(); + if (object.messageSetWireFormat != null) + message.messageSetWireFormat = Boolean(object.messageSetWireFormat); + if (object.noStandardDescriptorAccessor != null) + message.noStandardDescriptorAccessor = Boolean(object.noStandardDescriptorAccessor); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.mapEntry != null) + message.mapEntry = Boolean(object.mapEntry); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.resource"] != null) { + if (typeof object[".google.api.resource"] !== "object") + throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + } + return message; + }; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.MessageOptions} message MessageOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MessageOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.messageSetWireFormat = false; + object.noStandardDescriptorAccessor = false; + object.deprecated = false; + object.mapEntry = false; + object[".google.api.resource"] = null; + } + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + object.messageSetWireFormat = message.messageSetWireFormat; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + object.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + object.mapEntry = message.mapEntry; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) + object[".google.api.resource"] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resource"], options); + return object; + }; + + /** + * Converts this MessageOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MessageOptions + * @instance + * @returns {Object.} JSON object + */ + MessageOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return MessageOptions; + })(); + + protobuf.FieldOptions = (function() { + + /** + * Properties of a FieldOptions. + * @memberof google.protobuf + * @interface IFieldOptions + * @property {google.protobuf.FieldOptions.CType|null} [ctype] FieldOptions ctype + * @property {boolean|null} [packed] FieldOptions packed + * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype + * @property {boolean|null} [lazy] FieldOptions lazy + * @property {boolean|null} [deprecated] FieldOptions deprecated + * @property {boolean|null} [weak] FieldOptions weak + * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption + * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior + * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference + */ + + /** + * Constructs a new FieldOptions. + * @memberof google.protobuf + * @classdesc Represents a FieldOptions. + * @implements IFieldOptions + * @constructor + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + */ + function FieldOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.fieldBehavior"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldOptions ctype. + * @member {google.protobuf.FieldOptions.CType} ctype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.ctype = 0; + + /** + * FieldOptions packed. + * @member {boolean} packed + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.packed = false; + + /** + * FieldOptions jstype. + * @member {google.protobuf.FieldOptions.JSType} jstype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.jstype = 0; + + /** + * FieldOptions lazy. + * @member {boolean} lazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.lazy = false; + + /** + * FieldOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.deprecated = false; + + /** + * FieldOptions weak. + * @member {boolean} weak + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.weak = false; + + /** + * FieldOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * FieldOptions .google.api.fieldBehavior. + * @member {Array.} .google.api.fieldBehavior + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".google.api.fieldBehavior"] = $util.emptyArray; + + /** + * FieldOptions .google.api.resourceReference. + * @member {google.api.IResourceReference|null|undefined} .google.api.resourceReference + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".google.api.resourceReference"] = null; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions} FieldOptions instance + */ + FieldOptions.create = function create(properties) { + return new FieldOptions(properties); + }; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ctype != null && message.hasOwnProperty("ctype")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); + if (message.packed != null && message.hasOwnProperty("packed")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.lazy != null && message.hasOwnProperty("lazy")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); + if (message.jstype != null && message.hasOwnProperty("jstype")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); + if (message.weak != null && message.hasOwnProperty("weak")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.fieldBehavior"] != null && message[".google.api.fieldBehavior"].length) { + writer.uint32(/* id 1052, wireType 2 =*/8418).fork(); + for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) + writer.int32(message[".google.api.fieldBehavior"][i]); + writer.ldelim(); + } + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) + $root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(/* id 1055, wireType 2 =*/8442).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ctype = reader.int32(); + break; + case 2: + message.packed = reader.bool(); + break; + case 6: + message.jstype = reader.int32(); + break; + case 5: + message.lazy = reader.bool(); + break; + case 3: + message.deprecated = reader.bool(); + break; + case 10: + message.weak = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 1052: + if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length)) + message[".google.api.fieldBehavior"] = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message[".google.api.fieldBehavior"].push(reader.int32()); + } else + message[".google.api.fieldBehavior"].push(reader.int32()); + break; + case 1055: + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldOptions message. + * @function verify + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ctype != null && message.hasOwnProperty("ctype")) + switch (message.ctype) { + default: + return "ctype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.packed != null && message.hasOwnProperty("packed")) + if (typeof message.packed !== "boolean") + return "packed: boolean expected"; + if (message.jstype != null && message.hasOwnProperty("jstype")) + switch (message.jstype) { + default: + return "jstype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.lazy != null && message.hasOwnProperty("lazy")) + if (typeof message.lazy !== "boolean") + return "lazy: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.weak != null && message.hasOwnProperty("weak")) + if (typeof message.weak !== "boolean") + return "weak: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.fieldBehavior"] != null && message.hasOwnProperty(".google.api.fieldBehavior")) { + if (!Array.isArray(message[".google.api.fieldBehavior"])) + return ".google.api.fieldBehavior: array expected"; + for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) + switch (message[".google.api.fieldBehavior"][i]) { + default: + return ".google.api.fieldBehavior: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + } + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + if (error) + return ".google.api.resourceReference." + error; + } + return null; + }; + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions} FieldOptions + */ + FieldOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldOptions) + return object; + var message = new $root.google.protobuf.FieldOptions(); + switch (object.ctype) { + case "STRING": + case 0: + message.ctype = 0; + break; + case "CORD": + case 1: + message.ctype = 1; + break; + case "STRING_PIECE": + case 2: + message.ctype = 2; + break; + } + if (object.packed != null) + message.packed = Boolean(object.packed); + switch (object.jstype) { + case "JS_NORMAL": + case 0: + message.jstype = 0; + break; + case "JS_STRING": + case 1: + message.jstype = 1; + break; + case "JS_NUMBER": + case 2: + message.jstype = 2; + break; + } + if (object.lazy != null) + message.lazy = Boolean(object.lazy); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.weak != null) + message.weak = Boolean(object.weak); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.fieldBehavior"]) { + if (!Array.isArray(object[".google.api.fieldBehavior"])) + throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected"); + message[".google.api.fieldBehavior"] = []; + for (var i = 0; i < object[".google.api.fieldBehavior"].length; ++i) + switch (object[".google.api.fieldBehavior"][i]) { + default: + case "FIELD_BEHAVIOR_UNSPECIFIED": + case 0: + message[".google.api.fieldBehavior"][i] = 0; + break; + case "OPTIONAL": + case 1: + message[".google.api.fieldBehavior"][i] = 1; + break; + case "REQUIRED": + case 2: + message[".google.api.fieldBehavior"][i] = 2; + break; + case "OUTPUT_ONLY": + case 3: + message[".google.api.fieldBehavior"][i] = 3; + break; + case "INPUT_ONLY": + case 4: + message[".google.api.fieldBehavior"][i] = 4; + break; + case "IMMUTABLE": + case 5: + message[".google.api.fieldBehavior"][i] = 5; + break; + } + } + if (object[".google.api.resourceReference"] != null) { + if (typeof object[".google.api.resourceReference"] !== "object") + throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + } + return message; + }; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.FieldOptions} message FieldOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.fieldBehavior"] = []; + } + if (options.defaults) { + object.ctype = options.enums === String ? "STRING" : 0; + object.packed = false; + object.deprecated = false; + object.lazy = false; + object.jstype = options.enums === String ? "JS_NORMAL" : 0; + object.weak = false; + object[".google.api.resourceReference"] = null; + } + if (message.ctype != null && message.hasOwnProperty("ctype")) + object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; + if (message.packed != null && message.hasOwnProperty("packed")) + object.packed = message.packed; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.lazy != null && message.hasOwnProperty("lazy")) + object.lazy = message.lazy; + if (message.jstype != null && message.hasOwnProperty("jstype")) + object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; + if (message.weak != null && message.hasOwnProperty("weak")) + object.weak = message.weak; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length) { + object[".google.api.fieldBehavior"] = []; + for (var j = 0; j < message[".google.api.fieldBehavior"].length; ++j) + object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j]; + } + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) + object[".google.api.resourceReference"] = $root.google.api.ResourceReference.toObject(message[".google.api.resourceReference"], options); + return object; + }; + + /** + * Converts this FieldOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions + * @instance + * @returns {Object.} JSON object + */ + FieldOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * CType enum. + * @name google.protobuf.FieldOptions.CType + * @enum {string} + * @property {number} STRING=0 STRING value + * @property {number} CORD=1 CORD value + * @property {number} STRING_PIECE=2 STRING_PIECE value + */ + FieldOptions.CType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STRING"] = 0; + values[valuesById[1] = "CORD"] = 1; + values[valuesById[2] = "STRING_PIECE"] = 2; + return values; + })(); + + /** + * JSType enum. + * @name google.protobuf.FieldOptions.JSType + * @enum {string} + * @property {number} JS_NORMAL=0 JS_NORMAL value + * @property {number} JS_STRING=1 JS_STRING value + * @property {number} JS_NUMBER=2 JS_NUMBER value + */ + FieldOptions.JSType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "JS_NORMAL"] = 0; + values[valuesById[1] = "JS_STRING"] = 1; + values[valuesById[2] = "JS_NUMBER"] = 2; + return values; + })(); + + return FieldOptions; + })(); + + protobuf.OneofOptions = (function() { + + /** + * Properties of an OneofOptions. + * @memberof google.protobuf + * @interface IOneofOptions + * @property {Array.|null} [uninterpretedOption] OneofOptions uninterpretedOption + */ + + /** + * Constructs a new OneofOptions. + * @memberof google.protobuf + * @classdesc Represents an OneofOptions. + * @implements IOneofOptions + * @constructor + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + */ + function OneofOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.OneofOptions + * @instance + */ + OneofOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new OneofOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + * @returns {google.protobuf.OneofOptions} OneofOptions instance + */ + OneofOptions.create = function create(properties) { + return new OneofOptions(properties); + }; + + /** + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofOptions message. + * @function verify + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofOptions} OneofOptions + */ + OneofOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofOptions) + return object; + var message = new $root.google.protobuf.OneofOptions(); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.OneofOptions} message OneofOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this OneofOptions to JSON. + * @function toJSON + * @memberof google.protobuf.OneofOptions + * @instance + * @returns {Object.} JSON object + */ + OneofOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OneofOptions; + })(); + + protobuf.EnumOptions = (function() { + + /** + * Properties of an EnumOptions. + * @memberof google.protobuf + * @interface IEnumOptions + * @property {boolean|null} [allowAlias] EnumOptions allowAlias + * @property {boolean|null} [deprecated] EnumOptions deprecated + * @property {Array.|null} [uninterpretedOption] EnumOptions uninterpretedOption + */ + + /** + * Constructs a new EnumOptions. + * @memberof google.protobuf + * @classdesc Represents an EnumOptions. + * @implements IEnumOptions + * @constructor + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + */ + function EnumOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumOptions allowAlias. + * @member {boolean} allowAlias + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.allowAlias = false; + + /** + * EnumOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.deprecated = false; + + /** + * EnumOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new EnumOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumOptions} EnumOptions instance + */ + EnumOptions.create = function create(properties) { + return new EnumOptions(properties); + }; + + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.allowAlias = reader.bool(); + break; + case 3: + message.deprecated = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumOptions message. + * @function verify + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + if (typeof message.allowAlias !== "boolean") + return "allowAlias: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumOptions} EnumOptions + */ + EnumOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumOptions) + return object; + var message = new $root.google.protobuf.EnumOptions(); + if (object.allowAlias != null) + message.allowAlias = Boolean(object.allowAlias); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.EnumOptions} message EnumOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.allowAlias = false; + object.deprecated = false; + } + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + object.allowAlias = message.allowAlias; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this EnumOptions to JSON. + * @function toJSON + * @memberof google.protobuf.EnumOptions + * @instance + * @returns {Object.} JSON object + */ + EnumOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumOptions; + })(); + + protobuf.EnumValueOptions = (function() { + + /** + * Properties of an EnumValueOptions. + * @memberof google.protobuf + * @interface IEnumValueOptions + * @property {boolean|null} [deprecated] EnumValueOptions deprecated + * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption + */ + + /** + * Constructs a new EnumValueOptions. + * @memberof google.protobuf + * @classdesc Represents an EnumValueOptions. + * @implements IEnumValueOptions + * @constructor + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + */ + function EnumValueOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValueOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.deprecated = false; + + /** + * EnumValueOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new EnumValueOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions instance + */ + EnumValueOptions.create = function create(properties) { + return new EnumValueOptions(properties); + }; + + /** + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.deprecated = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValueOptions message. + * @function verify + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValueOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + */ + EnumValueOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueOptions) + return object; + var message = new $root.google.protobuf.EnumValueOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.EnumValueOptions} message EnumValueOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValueOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) + object.deprecated = false; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this EnumValueOptions to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValueOptions + * @instance + * @returns {Object.} JSON object + */ + EnumValueOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return EnumValueOptions; + })(); + + protobuf.ServiceOptions = (function() { + + /** + * Properties of a ServiceOptions. + * @memberof google.protobuf + * @interface IServiceOptions + * @property {boolean|null} [deprecated] ServiceOptions deprecated + * @property {Array.|null} [uninterpretedOption] ServiceOptions uninterpretedOption + * @property {string|null} [".google.api.defaultHost"] ServiceOptions .google.api.defaultHost + * @property {string|null} [".google.api.oauthScopes"] ServiceOptions .google.api.oauthScopes + */ + + /** + * Constructs a new ServiceOptions. + * @memberof google.protobuf + * @classdesc Represents a ServiceOptions. + * @implements IServiceOptions + * @constructor + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + */ + function ServiceOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.deprecated = false; + + /** + * ServiceOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * ServiceOptions .google.api.defaultHost. + * @member {string} .google.api.defaultHost + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype[".google.api.defaultHost"] = ""; + + /** + * ServiceOptions .google.api.oauthScopes. + * @member {string} .google.api.oauthScopes + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype[".google.api.oauthScopes"] = ""; + + /** + * Creates a new ServiceOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + * @returns {google.protobuf.ServiceOptions} ServiceOptions instance + */ + ServiceOptions.create = function create(properties) { + return new ServiceOptions(properties); + }; + + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + writer.uint32(/* id 1049, wireType 2 =*/8394).string(message[".google.api.defaultHost"]); + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + writer.uint32(/* id 1050, wireType 2 =*/8402).string(message[".google.api.oauthScopes"]); + return writer; + }; + + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 33: + message.deprecated = reader.bool(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 1049: + message[".google.api.defaultHost"] = reader.string(); + break; + case 1050: + message[".google.api.oauthScopes"] = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceOptions message. + * @function verify + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + if (!$util.isString(message[".google.api.defaultHost"])) + return ".google.api.defaultHost: string expected"; + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + if (!$util.isString(message[".google.api.oauthScopes"])) + return ".google.api.oauthScopes: string expected"; + return null; + }; + + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceOptions} ServiceOptions + */ + ServiceOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceOptions) + return object; + var message = new $root.google.protobuf.ServiceOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.defaultHost"] != null) + message[".google.api.defaultHost"] = String(object[".google.api.defaultHost"]); + if (object[".google.api.oauthScopes"] != null) + message[".google.api.oauthScopes"] = String(object[".google.api.oauthScopes"]); + return message; + }; + + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.ServiceOptions} message ServiceOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.deprecated = false; + object[".google.api.defaultHost"] = ""; + object[".google.api.oauthScopes"] = ""; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + object[".google.api.defaultHost"] = message[".google.api.defaultHost"]; + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + object[".google.api.oauthScopes"] = message[".google.api.oauthScopes"]; + return object; + }; + + /** + * Converts this ServiceOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceOptions + * @instance + * @returns {Object.} JSON object + */ + ServiceOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ServiceOptions; + })(); + + protobuf.MethodOptions = (function() { + + /** + * Properties of a MethodOptions. + * @memberof google.protobuf + * @interface IMethodOptions + * @property {boolean|null} [deprecated] MethodOptions deprecated + * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel + * @property {Array.|null} [uninterpretedOption] MethodOptions uninterpretedOption + * @property {google.api.IHttpRule|null} [".google.api.http"] MethodOptions .google.api.http + * @property {Array.|null} [".google.api.methodSignature"] MethodOptions .google.api.methodSignature + * @property {google.longrunning.IOperationInfo|null} [".google.longrunning.operationInfo"] MethodOptions .google.longrunning.operationInfo + */ + + /** + * Constructs a new MethodOptions. + * @memberof google.protobuf + * @classdesc Represents a MethodOptions. + * @implements IMethodOptions + * @constructor + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + */ + function MethodOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.methodSignature"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.deprecated = false; + + /** + * MethodOptions idempotencyLevel. + * @member {google.protobuf.MethodOptions.IdempotencyLevel} idempotencyLevel + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.idempotencyLevel = 0; + + /** + * MethodOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * MethodOptions .google.api.http. + * @member {google.api.IHttpRule|null|undefined} .google.api.http + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.api.http"] = null; + + /** + * MethodOptions .google.api.methodSignature. + * @member {Array.} .google.api.methodSignature + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.api.methodSignature"] = $util.emptyArray; + + /** + * MethodOptions .google.longrunning.operationInfo. + * @member {google.longrunning.IOperationInfo|null|undefined} .google.longrunning.operationInfo + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.longrunning.operationInfo"] = null; + + /** + * Creates a new MethodOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + * @returns {google.protobuf.MethodOptions} MethodOptions instance + */ + MethodOptions.create = function create(properties) { + return new MethodOptions(properties); + }; + + /** + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) + $root.google.longrunning.OperationInfo.encode(message[".google.longrunning.operationInfo"], writer.uint32(/* id 1049, wireType 2 =*/8394).fork()).ldelim(); + if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length) + for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) + writer.uint32(/* id 1051, wireType 2 =*/8410).string(message[".google.api.methodSignature"][i]); + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) + $root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(/* id 72295728, wireType 2 =*/578365826).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MethodOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MethodOptions} MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 33: + message.deprecated = reader.bool(); + break; + case 34: + message.idempotencyLevel = reader.int32(); + break; + case 999: + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + case 72295728: + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + break; + case 1051: + if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length)) + message[".google.api.methodSignature"] = []; + message[".google.api.methodSignature"].push(reader.string()); + break; + case 1049: + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MethodOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MethodOptions} MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodOptions message. + * @function verify + * @memberof google.protobuf.MethodOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + switch (message.idempotencyLevel) { + default: + return "idempotencyLevel: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { + var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + if (error) + return ".google.api.http." + error; + } + if (message[".google.api.methodSignature"] != null && message.hasOwnProperty(".google.api.methodSignature")) { + if (!Array.isArray(message[".google.api.methodSignature"])) + return ".google.api.methodSignature: array expected"; + for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) + if (!$util.isString(message[".google.api.methodSignature"][i])) + return ".google.api.methodSignature: string[] expected"; + } + if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) { + var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"]); + if (error) + return ".google.longrunning.operationInfo." + error; + } + return null; + }; + + /** + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MethodOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MethodOptions} MethodOptions + */ + MethodOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodOptions) + return object; + var message = new $root.google.protobuf.MethodOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + switch (object.idempotencyLevel) { + case "IDEMPOTENCY_UNKNOWN": + case 0: + message.idempotencyLevel = 0; + break; + case "NO_SIDE_EFFECTS": + case 1: + message.idempotencyLevel = 1; + break; + case "IDEMPOTENT": + case 2: + message.idempotencyLevel = 2; + break; + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.http"] != null) { + if (typeof object[".google.api.http"] !== "object") + throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + } + if (object[".google.api.methodSignature"]) { + if (!Array.isArray(object[".google.api.methodSignature"])) + throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected"); + message[".google.api.methodSignature"] = []; + for (var i = 0; i < object[".google.api.methodSignature"].length; ++i) + message[".google.api.methodSignature"][i] = String(object[".google.api.methodSignature"][i]); + } + if (object[".google.longrunning.operationInfo"] != null) { + if (typeof object[".google.longrunning.operationInfo"] !== "object") + throw TypeError(".google.protobuf.MethodOptions..google.longrunning.operationInfo: object expected"); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"]); + } + return message; + }; + + /** + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.MethodOptions} message MethodOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.methodSignature"] = []; + } + if (options.defaults) { + object.deprecated = false; + object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0; + object[".google.longrunning.operationInfo"] = null; + object[".google.api.http"] = null; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) + object[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.toObject(message[".google.longrunning.operationInfo"], options); + if (message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length) { + object[".google.api.methodSignature"] = []; + for (var j = 0; j < message[".google.api.methodSignature"].length; ++j) + object[".google.api.methodSignature"][j] = message[".google.api.methodSignature"][j]; + } + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) + object[".google.api.http"] = $root.google.api.HttpRule.toObject(message[".google.api.http"], options); + return object; + }; + + /** + * Converts this MethodOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MethodOptions + * @instance + * @returns {Object.} JSON object + */ + MethodOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * IdempotencyLevel enum. + * @name google.protobuf.MethodOptions.IdempotencyLevel + * @enum {string} + * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value + * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value + * @property {number} IDEMPOTENT=2 IDEMPOTENT value + */ + MethodOptions.IdempotencyLevel = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "IDEMPOTENCY_UNKNOWN"] = 0; + values[valuesById[1] = "NO_SIDE_EFFECTS"] = 1; + values[valuesById[2] = "IDEMPOTENT"] = 2; + return values; + })(); + + return MethodOptions; + })(); + + protobuf.UninterpretedOption = (function() { + + /** + * Properties of an UninterpretedOption. + * @memberof google.protobuf + * @interface IUninterpretedOption + * @property {Array.|null} [name] UninterpretedOption name + * @property {string|null} [identifierValue] UninterpretedOption identifierValue + * @property {number|Long|null} [positiveIntValue] UninterpretedOption positiveIntValue + * @property {number|Long|null} [negativeIntValue] UninterpretedOption negativeIntValue + * @property {number|null} [doubleValue] UninterpretedOption doubleValue + * @property {Uint8Array|null} [stringValue] UninterpretedOption stringValue + * @property {string|null} [aggregateValue] UninterpretedOption aggregateValue + */ + + /** + * Constructs a new UninterpretedOption. + * @memberof google.protobuf + * @classdesc Represents an UninterpretedOption. + * @implements IUninterpretedOption + * @constructor + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + */ + function UninterpretedOption(properties) { + this.name = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UninterpretedOption name. + * @member {Array.} name + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.name = $util.emptyArray; + + /** + * UninterpretedOption identifierValue. + * @member {string} identifierValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.identifierValue = ""; + + /** + * UninterpretedOption positiveIntValue. + * @member {number|Long} positiveIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * UninterpretedOption negativeIntValue. + * @member {number|Long} negativeIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * UninterpretedOption doubleValue. + * @member {number} doubleValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.doubleValue = 0; + + /** + * UninterpretedOption stringValue. + * @member {Uint8Array} stringValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.stringValue = $util.newBuffer([]); + + /** + * UninterpretedOption aggregateValue. + * @member {string} aggregateValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.aggregateValue = ""; + + /** + * Creates a new UninterpretedOption instance using the specified properties. + * @function create + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption instance + */ + UninterpretedOption.create = function create(properties) { + return new UninterpretedOption(properties); + }; + + /** + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UninterpretedOption.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.name.length) + for (var i = 0; i < message.name.length; ++i) + $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); + return writer; + }; + + /** + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UninterpretedOption.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UninterpretedOption.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (!(message.name && message.name.length)) + message.name = []; + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + break; + case 3: + message.identifierValue = reader.string(); + break; + case 4: + message.positiveIntValue = reader.uint64(); + break; + case 5: + message.negativeIntValue = reader.int64(); + break; + case 6: + message.doubleValue = reader.double(); + break; + case 7: + message.stringValue = reader.bytes(); + break; + case 8: + message.aggregateValue = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UninterpretedOption.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UninterpretedOption message. + * @function verify + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UninterpretedOption.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) { + if (!Array.isArray(message.name)) + return "name: array expected"; + for (var i = 0; i < message.name.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + if (error) + return "name." + error; + } + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + if (!$util.isString(message.identifierValue)) + return "identifierValue: string expected"; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (!$util.isInteger(message.positiveIntValue) && !(message.positiveIntValue && $util.isInteger(message.positiveIntValue.low) && $util.isInteger(message.positiveIntValue.high))) + return "positiveIntValue: integer|Long expected"; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (!$util.isInteger(message.negativeIntValue) && !(message.negativeIntValue && $util.isInteger(message.negativeIntValue.low) && $util.isInteger(message.negativeIntValue.high))) + return "negativeIntValue: integer|Long expected"; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + if (typeof message.doubleValue !== "number") + return "doubleValue: number expected"; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + if (!(message.stringValue && typeof message.stringValue.length === "number" || $util.isString(message.stringValue))) + return "stringValue: buffer expected"; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + if (!$util.isString(message.aggregateValue)) + return "aggregateValue: string expected"; + return null; + }; + + /** + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + */ + UninterpretedOption.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption) + return object; + var message = new $root.google.protobuf.UninterpretedOption(); + if (object.name) { + if (!Array.isArray(object.name)) + throw TypeError(".google.protobuf.UninterpretedOption.name: array expected"); + message.name = []; + for (var i = 0; i < object.name.length; ++i) { + if (typeof object.name[i] !== "object") + throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + } + } + if (object.identifierValue != null) + message.identifierValue = String(object.identifierValue); + if (object.positiveIntValue != null) + if ($util.Long) + (message.positiveIntValue = $util.Long.fromValue(object.positiveIntValue)).unsigned = true; + else if (typeof object.positiveIntValue === "string") + message.positiveIntValue = parseInt(object.positiveIntValue, 10); + else if (typeof object.positiveIntValue === "number") + message.positiveIntValue = object.positiveIntValue; + else if (typeof object.positiveIntValue === "object") + message.positiveIntValue = new $util.LongBits(object.positiveIntValue.low >>> 0, object.positiveIntValue.high >>> 0).toNumber(true); + if (object.negativeIntValue != null) + if ($util.Long) + (message.negativeIntValue = $util.Long.fromValue(object.negativeIntValue)).unsigned = false; + else if (typeof object.negativeIntValue === "string") + message.negativeIntValue = parseInt(object.negativeIntValue, 10); + else if (typeof object.negativeIntValue === "number") + message.negativeIntValue = object.negativeIntValue; + else if (typeof object.negativeIntValue === "object") + message.negativeIntValue = new $util.LongBits(object.negativeIntValue.low >>> 0, object.negativeIntValue.high >>> 0).toNumber(); + if (object.doubleValue != null) + message.doubleValue = Number(object.doubleValue); + if (object.stringValue != null) + if (typeof object.stringValue === "string") + $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0); + else if (object.stringValue.length) + message.stringValue = object.stringValue; + if (object.aggregateValue != null) + message.aggregateValue = String(object.aggregateValue); + return message; + }; + + /** + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.UninterpretedOption} message UninterpretedOption + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UninterpretedOption.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.name = []; + if (options.defaults) { + object.identifierValue = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.positiveIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.positiveIntValue = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.negativeIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.negativeIntValue = options.longs === String ? "0" : 0; + object.doubleValue = 0; + if (options.bytes === String) + object.stringValue = ""; + else { + object.stringValue = []; + if (options.bytes !== Array) + object.stringValue = $util.newBuffer(object.stringValue); + } + object.aggregateValue = ""; + } + if (message.name && message.name.length) { + object.name = []; + for (var j = 0; j < message.name.length; ++j) + object.name[j] = $root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j], options); + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + object.identifierValue = message.identifierValue; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (typeof message.positiveIntValue === "number") + object.positiveIntValue = options.longs === String ? String(message.positiveIntValue) : message.positiveIntValue; + else + object.positiveIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.positiveIntValue) : options.longs === Number ? new $util.LongBits(message.positiveIntValue.low >>> 0, message.positiveIntValue.high >>> 0).toNumber(true) : message.positiveIntValue; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (typeof message.negativeIntValue === "number") + object.negativeIntValue = options.longs === String ? String(message.negativeIntValue) : message.negativeIntValue; + else + object.negativeIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.negativeIntValue) : options.longs === Number ? new $util.LongBits(message.negativeIntValue.low >>> 0, message.negativeIntValue.high >>> 0).toNumber() : message.negativeIntValue; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + object.stringValue = options.bytes === String ? $util.base64.encode(message.stringValue, 0, message.stringValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.stringValue) : message.stringValue; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + object.aggregateValue = message.aggregateValue; + return object; + }; + + /** + * Converts this UninterpretedOption to JSON. + * @function toJSON + * @memberof google.protobuf.UninterpretedOption + * @instance + * @returns {Object.} JSON object + */ + UninterpretedOption.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + UninterpretedOption.NamePart = (function() { + + /** + * Properties of a NamePart. + * @memberof google.protobuf.UninterpretedOption + * @interface INamePart + * @property {string} namePart NamePart namePart + * @property {boolean} isExtension NamePart isExtension + */ + + /** + * Constructs a new NamePart. + * @memberof google.protobuf.UninterpretedOption + * @classdesc Represents a NamePart. + * @implements INamePart + * @constructor + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set + */ + function NamePart(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NamePart namePart. + * @member {string} namePart + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + */ + NamePart.prototype.namePart = ""; + + /** + * NamePart isExtension. + * @member {boolean} isExtension + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + */ + NamePart.prototype.isExtension = false; + + /** + * Creates a new NamePart instance using the specified properties. + * @function create + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart instance + */ + NamePart.create = function create(properties) { + return new NamePart(properties); + }; + + /** + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamePart.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePart); + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isExtension); + return writer; + }; + + /** + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamePart.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NamePart message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamePart.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.namePart = reader.string(); + break; + case 2: + message.isExtension = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + if (!message.hasOwnProperty("namePart")) + throw $util.ProtocolError("missing required 'namePart'", { instance: message }); + if (!message.hasOwnProperty("isExtension")) + throw $util.ProtocolError("missing required 'isExtension'", { instance: message }); + return message; + }; + + /** + * Decodes a NamePart message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamePart.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NamePart message. + * @function verify + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NamePart.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (!$util.isString(message.namePart)) + return "namePart: string expected"; + if (typeof message.isExtension !== "boolean") + return "isExtension: boolean expected"; + return null; + }; + + /** + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + */ + NamePart.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) + return object; + var message = new $root.google.protobuf.UninterpretedOption.NamePart(); + if (object.namePart != null) + message.namePart = String(object.namePart); + if (object.isExtension != null) + message.isExtension = Boolean(object.isExtension); + return message; + }; + + /** + * Creates a plain object from a NamePart message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.NamePart} message NamePart + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NamePart.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.namePart = ""; + object.isExtension = false; + } + if (message.namePart != null && message.hasOwnProperty("namePart")) + object.namePart = message.namePart; + if (message.isExtension != null && message.hasOwnProperty("isExtension")) + object.isExtension = message.isExtension; + return object; + }; + + /** + * Converts this NamePart to JSON. + * @function toJSON + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + * @returns {Object.} JSON object + */ + NamePart.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return NamePart; + })(); + + return UninterpretedOption; + })(); + + protobuf.SourceCodeInfo = (function() { + + /** + * Properties of a SourceCodeInfo. + * @memberof google.protobuf + * @interface ISourceCodeInfo + * @property {Array.|null} [location] SourceCodeInfo location + */ + + /** + * Constructs a new SourceCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a SourceCodeInfo. + * @implements ISourceCodeInfo + * @constructor + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + */ + function SourceCodeInfo(properties) { + this.location = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SourceCodeInfo location. + * @member {Array.} location + * @memberof google.protobuf.SourceCodeInfo + * @instance + */ + SourceCodeInfo.prototype.location = $util.emptyArray; + + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo instance + */ + SourceCodeInfo.create = function create(properties) { + return new SourceCodeInfo(properties); + }; + + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.location != null && message.location.length) + for (var i = 0; i < message.location.length; ++i) + $root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.location && message.location.length)) + message.location = []; + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SourceCodeInfo message. + * @function verify + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SourceCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.location != null && message.hasOwnProperty("location")) { + if (!Array.isArray(message.location)) + return "location: array expected"; + for (var i = 0; i < message.location.length; ++i) { + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + if (error) + return "location." + error; + } + } + return null; + }; + + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + */ + SourceCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo) + return object; + var message = new $root.google.protobuf.SourceCodeInfo(); + if (object.location) { + if (!Array.isArray(object.location)) + throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected"); + message.location = []; + for (var i = 0; i < object.location.length; ++i) { + if (typeof object.location[i] !== "object") + throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.SourceCodeInfo} message SourceCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SourceCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.location = []; + if (message.location && message.location.length) { + object.location = []; + for (var j = 0; j < message.location.length; ++j) + object.location[j] = $root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j], options); + } + return object; + }; + + /** + * Converts this SourceCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.SourceCodeInfo + * @instance + * @returns {Object.} JSON object + */ + SourceCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + SourceCodeInfo.Location = (function() { + + /** + * Properties of a Location. + * @memberof google.protobuf.SourceCodeInfo + * @interface ILocation + * @property {Array.|null} [path] Location path + * @property {Array.|null} [span] Location span + * @property {string|null} [leadingComments] Location leadingComments + * @property {string|null} [trailingComments] Location trailingComments + * @property {Array.|null} [leadingDetachedComments] Location leadingDetachedComments + */ + + /** + * Constructs a new Location. + * @memberof google.protobuf.SourceCodeInfo + * @classdesc Represents a Location. + * @implements ILocation + * @constructor + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set + */ + function Location(properties) { + this.path = []; + this.span = []; + this.leadingDetachedComments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Location path. + * @member {Array.} path + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.path = $util.emptyArray; + + /** + * Location span. + * @member {Array.} span + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.span = $util.emptyArray; + + /** + * Location leadingComments. + * @member {string} leadingComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.leadingComments = ""; + + /** + * Location trailingComments. + * @member {string} trailingComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.trailingComments = ""; + + /** + * Location leadingDetachedComments. + * @member {Array.} leadingDetachedComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.leadingDetachedComments = $util.emptyArray; + + /** + * Creates a new Location instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo.Location} Location instance + */ + Location.create = function create(properties) { + return new Location(properties); + }; + + /** + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.span != null && message.span.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.span.length; ++i) + writer.int32(message.span[i]); + writer.ldelim(); + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); + if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.leadingDetachedComments[i]); + return writer; + }; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Location message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceCodeInfo.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); + break; + case 2: + if (!(message.span && message.span.length)) + message.span = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.span.push(reader.int32()); + } else + message.span.push(reader.int32()); + break; + case 3: + message.leadingComments = reader.string(); + break; + case 4: + message.trailingComments = reader.string(); + break; + case 6: + if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) + message.leadingDetachedComments = []; + message.leadingDetachedComments.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceCodeInfo.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Location message. + * @function verify + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Location.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.span != null && message.hasOwnProperty("span")) { + if (!Array.isArray(message.span)) + return "span: array expected"; + for (var i = 0; i < message.span.length; ++i) + if (!$util.isInteger(message.span[i])) + return "span: integer[] expected"; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + if (!$util.isString(message.leadingComments)) + return "leadingComments: string expected"; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + if (!$util.isString(message.trailingComments)) + return "trailingComments: string expected"; + if (message.leadingDetachedComments != null && message.hasOwnProperty("leadingDetachedComments")) { + if (!Array.isArray(message.leadingDetachedComments)) + return "leadingDetachedComments: array expected"; + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + if (!$util.isString(message.leadingDetachedComments[i])) + return "leadingDetachedComments: string[] expected"; + } + return null; + }; + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceCodeInfo.Location} Location + */ + Location.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) + return object; + var message = new $root.google.protobuf.SourceCodeInfo.Location(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.span) { + if (!Array.isArray(object.span)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected"); + message.span = []; + for (var i = 0; i < object.span.length; ++i) + message.span[i] = object.span[i] | 0; + } + if (object.leadingComments != null) + message.leadingComments = String(object.leadingComments); + if (object.trailingComments != null) + message.trailingComments = String(object.trailingComments); + if (object.leadingDetachedComments) { + if (!Array.isArray(object.leadingDetachedComments)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected"); + message.leadingDetachedComments = []; + for (var i = 0; i < object.leadingDetachedComments.length; ++i) + message.leadingDetachedComments[i] = String(object.leadingDetachedComments[i]); + } + return message; + }; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.Location} message Location + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Location.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.path = []; + object.span = []; + object.leadingDetachedComments = []; + } + if (options.defaults) { + object.leadingComments = ""; + object.trailingComments = ""; + } + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.span && message.span.length) { + object.span = []; + for (var j = 0; j < message.span.length; ++j) + object.span[j] = message.span[j]; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + object.leadingComments = message.leadingComments; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + object.trailingComments = message.trailingComments; + if (message.leadingDetachedComments && message.leadingDetachedComments.length) { + object.leadingDetachedComments = []; + for (var j = 0; j < message.leadingDetachedComments.length; ++j) + object.leadingDetachedComments[j] = message.leadingDetachedComments[j]; + } + return object; + }; + + /** + * Converts this Location to JSON. + * @function toJSON + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + * @returns {Object.} JSON object + */ + Location.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Location; + })(); + + return SourceCodeInfo; + })(); + + protobuf.GeneratedCodeInfo = (function() { + + /** + * Properties of a GeneratedCodeInfo. + * @memberof google.protobuf + * @interface IGeneratedCodeInfo + * @property {Array.|null} [annotation] GeneratedCodeInfo annotation + */ + + /** + * Constructs a new GeneratedCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a GeneratedCodeInfo. + * @implements IGeneratedCodeInfo + * @constructor + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + */ + function GeneratedCodeInfo(properties) { + this.annotation = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GeneratedCodeInfo annotation. + * @member {Array.} annotation + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + */ + GeneratedCodeInfo.prototype.annotation = $util.emptyArray; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo instance + */ + GeneratedCodeInfo.create = function create(properties) { + return new GeneratedCodeInfo(properties); + }; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotation != null && message.annotation.length) + for (var i = 0; i < message.annotation.length; ++i) + $root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.annotation && message.annotation.length)) + message.annotation = []; + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GeneratedCodeInfo message. + * @function verify + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GeneratedCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotation != null && message.hasOwnProperty("annotation")) { + if (!Array.isArray(message.annotation)) + return "annotation: array expected"; + for (var i = 0; i < message.annotation.length; ++i) { + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + if (error) + return "annotation." + error; + } + } + return null; + }; + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + */ + GeneratedCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo) + return object; + var message = new $root.google.protobuf.GeneratedCodeInfo(); + if (object.annotation) { + if (!Array.isArray(object.annotation)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected"); + message.annotation = []; + for (var i = 0; i < object.annotation.length; ++i) { + if (typeof object.annotation[i] !== "object") + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.GeneratedCodeInfo} message GeneratedCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GeneratedCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotation = []; + if (message.annotation && message.annotation.length) { + object.annotation = []; + for (var j = 0; j < message.annotation.length; ++j) + object.annotation[j] = $root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j], options); + } + return object; + }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + * @returns {Object.} JSON object + */ + GeneratedCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GeneratedCodeInfo.Annotation = (function() { + + /** + * Properties of an Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @interface IAnnotation + * @property {Array.|null} [path] Annotation path + * @property {string|null} [sourceFile] Annotation sourceFile + * @property {number|null} [begin] Annotation begin + * @property {number|null} [end] Annotation end + */ + + /** + * Constructs a new Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @classdesc Represents an Annotation. + * @implements IAnnotation + * @constructor + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set + */ + function Annotation(properties) { + this.path = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Annotation path. + * @member {Array.} path + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.path = $util.emptyArray; + + /** + * Annotation sourceFile. + * @member {string} sourceFile + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.sourceFile = ""; + + /** + * Annotation begin. + * @member {number} begin + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.begin = 0; + + /** + * Annotation end. + * @member {number} end + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.end = 0; + + /** + * Creates a new Annotation instance using the specified properties. + * @function create + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation instance + */ + Annotation.create = function create(properties) { + return new Annotation(properties); + }; + + /** + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @function encode + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Annotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); + if (message.begin != null && message.hasOwnProperty("begin")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); + if (message.end != null && message.hasOwnProperty("end")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); + return writer; + }; + + /** + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Annotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Annotation message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Annotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); + break; + case 2: + message.sourceFile = reader.string(); + break; + case 3: + message.begin = reader.int32(); + break; + case 4: + message.end = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Annotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Annotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Annotation message. + * @function verify + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Annotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + if (!$util.isString(message.sourceFile)) + return "sourceFile: string expected"; + if (message.begin != null && message.hasOwnProperty("begin")) + if (!$util.isInteger(message.begin)) + return "begin: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + */ + Annotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) + return object; + var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.sourceFile != null) + message.sourceFile = String(object.sourceFile); + if (object.begin != null) + message.begin = object.begin | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from an Annotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.Annotation} message Annotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Annotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.path = []; + if (options.defaults) { + object.sourceFile = ""; + object.begin = 0; + object.end = 0; + } + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + object.sourceFile = message.sourceFile; + if (message.begin != null && message.hasOwnProperty("begin")) + object.begin = message.begin; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this Annotation to JSON. + * @function toJSON + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + * @returns {Object.} JSON object + */ + Annotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Annotation; + })(); + + return GeneratedCodeInfo; + })(); + + protobuf.Any = (function() { + + /** + * Properties of an Any. + * @memberof google.protobuf + * @interface IAny + * @property {string|null} [type_url] Any type_url + * @property {Uint8Array|null} [value] Any value + */ + + /** + * Constructs a new Any. + * @memberof google.protobuf + * @classdesc Represents an Any. + * @implements IAny + * @constructor + * @param {google.protobuf.IAny=} [properties] Properties to set + */ + function Any(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]]; + } + + /** + * Any type_url. + * @member {string} type_url + * @memberof google.protobuf.Any + * @instance + */ + Any.prototype.type_url = ""; + + /** + * Any value. + * @member {Uint8Array} value + * @memberof google.protobuf.Any + * @instance + */ + Any.prototype.value = $util.newBuffer([]); + + /** + * Creates a new Any instance using the specified properties. + * @function create + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.IAny=} [properties] Properties to set + * @returns {google.protobuf.Any} Any instance + */ + Any.create = function create(properties) { + return new Any(properties); + }; + + /** + * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.IAny} message Any message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Any.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type_url != null && message.hasOwnProperty("type_url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type_url); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + return writer; + }; + + /** + * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.IAny} message Any message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Any.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Any message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Any + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Any} Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Any.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type_url = reader.string(); + break; + case 2: + message.value = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Any message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Any + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Any} Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Any.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Any message. + * @function verify + * @memberof google.protobuf.Any + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Any.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type_url != null && message.hasOwnProperty("type_url")) + if (!$util.isString(message.type_url)) + return "type_url: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + return null; + }; + + /** + * Creates an Any message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Any + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Any} Any + */ + Any.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Any) + return object; + var message = new $root.google.protobuf.Any(); + if (object.type_url != null) + message.type_url = String(object.type_url); + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length) + message.value = object.value; + return message; + }; + + /** + * Creates a plain object from an Any message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.Any} message Any + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Any.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type_url = ""; + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + } + if (message.type_url != null && message.hasOwnProperty("type_url")) + object.type_url = message.type_url; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + return object; + }; + + /** + * Converts this Any to JSON. + * @function toJSON + * @memberof google.protobuf.Any + * @instance + * @returns {Object.} JSON object + */ + Any.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Any; + })(); + + protobuf.Duration = (function() { + + /** + * Properties of a Duration. + * @memberof google.protobuf + * @interface IDuration + * @property {number|Long|null} [seconds] Duration seconds + * @property {number|null} [nanos] Duration nanos + */ + + /** + * Constructs a new Duration. + * @memberof google.protobuf + * @classdesc Represents a Duration. + * @implements IDuration + * @constructor + * @param {google.protobuf.IDuration=} [properties] Properties to set + */ + function Duration(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Duration seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Duration nanos. + * @member {number} nanos + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.nanos = 0; + + /** + * Creates a new Duration instance using the specified properties. + * @function create + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration=} [properties] Properties to set + * @returns {google.protobuf.Duration} Duration instance + */ + Duration.create = function create(properties) { + return new Duration(properties); + }; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && message.hasOwnProperty("seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && message.hasOwnProperty("nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.seconds = reader.int64(); + break; + case 2: + message.nanos = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Duration message. + * @function verify + * @memberof google.protobuf.Duration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Duration.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Duration + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Duration} Duration + */ + Duration.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Duration) + return object; + var message = new $root.google.protobuf.Duration(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.Duration} message Duration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Duration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Duration to JSON. + * @function toJSON + * @memberof google.protobuf.Duration + * @instance + * @returns {Object.} JSON object + */ + Duration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Duration; + })(); + + protobuf.Empty = (function() { + + /** + * Properties of an Empty. + * @memberof google.protobuf + * @interface IEmpty + */ + + /** + * Constructs a new Empty. + * @memberof google.protobuf + * @classdesc Represents an Empty. + * @implements IEmpty + * @constructor + * @param {google.protobuf.IEmpty=} [properties] Properties to set + */ + function Empty(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new Empty instance using the specified properties. + * @function create + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty=} [properties] Properties to set + * @returns {google.protobuf.Empty} Empty instance + */ + Empty.create = function create(properties) { + return new Empty(properties); + }; + + /** + * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty} message Empty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Empty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty} message Empty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Empty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Empty message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Empty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Empty} Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Empty.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Empty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Empty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Empty} Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Empty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Empty message. + * @function verify + * @memberof google.protobuf.Empty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Empty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an Empty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Empty + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Empty} Empty + */ + Empty.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Empty) + return object; + return new $root.google.protobuf.Empty(); + }; + + /** + * Creates a plain object from an Empty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.Empty} message Empty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Empty.toObject = function toObject() { + return {}; + }; + + /** + * Converts this Empty to JSON. + * @function toJSON + * @memberof google.protobuf.Empty + * @instance + * @returns {Object.} JSON object + */ + Empty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Empty; + })(); + + protobuf.FieldMask = (function() { + + /** + * Properties of a FieldMask. + * @memberof google.protobuf + * @interface IFieldMask + * @property {Array.|null} [paths] FieldMask paths + */ + + /** + * Constructs a new FieldMask. + * @memberof google.protobuf + * @classdesc Represents a FieldMask. + * @implements IFieldMask + * @constructor + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + */ + function FieldMask(properties) { + this.paths = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldMask paths. + * @member {Array.} paths + * @memberof google.protobuf.FieldMask + * @instance + */ + FieldMask.prototype.paths = $util.emptyArray; + + /** + * Creates a new FieldMask instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + * @returns {google.protobuf.FieldMask} FieldMask instance + */ + FieldMask.create = function create(properties) { + return new FieldMask(properties); + }; + + /** + * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.paths != null && message.paths.length) + for (var i = 0; i < message.paths.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.paths[i]); + return writer; + }; + + /** + * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.paths && message.paths.length)) + message.paths = []; + message.paths.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldMask message. + * @function verify + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldMask.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.paths != null && message.hasOwnProperty("paths")) { + if (!Array.isArray(message.paths)) + return "paths: array expected"; + for (var i = 0; i < message.paths.length; ++i) + if (!$util.isString(message.paths[i])) + return "paths: string[] expected"; + } + return null; + }; + + /** + * Creates a FieldMask message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldMask} FieldMask + */ + FieldMask.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldMask) + return object; + var message = new $root.google.protobuf.FieldMask(); + if (object.paths) { + if (!Array.isArray(object.paths)) + throw TypeError(".google.protobuf.FieldMask.paths: array expected"); + message.paths = []; + for (var i = 0; i < object.paths.length; ++i) + message.paths[i] = String(object.paths[i]); + } + return message; + }; + + /** + * Creates a plain object from a FieldMask message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.FieldMask} message FieldMask + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldMask.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paths = []; + if (message.paths && message.paths.length) { + object.paths = []; + for (var j = 0; j < message.paths.length; ++j) + object.paths[j] = message.paths[j]; + } + return object; + }; + + /** + * Converts this FieldMask to JSON. + * @function toJSON + * @memberof google.protobuf.FieldMask + * @instance + * @returns {Object.} JSON object + */ + FieldMask.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FieldMask; + })(); + + protobuf.Timestamp = (function() { + + /** + * Properties of a Timestamp. + * @memberof google.protobuf + * @interface ITimestamp + * @property {number|Long|null} [seconds] Timestamp seconds + * @property {number|null} [nanos] Timestamp nanos + */ + + /** + * Constructs a new Timestamp. + * @memberof google.protobuf + * @classdesc Represents a Timestamp. + * @implements ITimestamp + * @constructor + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + */ + function Timestamp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Timestamp seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Timestamp nanos. + * @member {number} nanos + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.nanos = 0; + + /** + * Creates a new Timestamp instance using the specified properties. + * @function create + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + * @returns {google.protobuf.Timestamp} Timestamp instance + */ + Timestamp.create = function create(properties) { + return new Timestamp(properties); + }; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && message.hasOwnProperty("seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && message.hasOwnProperty("nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.seconds = reader.int64(); + break; + case 2: + message.nanos = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Timestamp message. + * @function verify + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Timestamp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Timestamp} Timestamp + */ + Timestamp.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Timestamp) + return object; + var message = new $root.google.protobuf.Timestamp(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.Timestamp} message Timestamp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Timestamp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Timestamp to JSON. + * @function toJSON + * @memberof google.protobuf.Timestamp + * @instance + * @returns {Object.} JSON object + */ + Timestamp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Timestamp; + })(); + + protobuf.DoubleValue = (function() { + + /** + * Properties of a DoubleValue. + * @memberof google.protobuf + * @interface IDoubleValue + * @property {number|null} [value] DoubleValue value + */ + + /** + * Constructs a new DoubleValue. + * @memberof google.protobuf + * @classdesc Represents a DoubleValue. + * @implements IDoubleValue + * @constructor + * @param {google.protobuf.IDoubleValue=} [properties] Properties to set + */ + function DoubleValue(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]]; + } + + /** + * DoubleValue value. + * @member {number} value + * @memberof google.protobuf.DoubleValue + * @instance + */ + DoubleValue.prototype.value = 0; + + /** + * Creates a new DoubleValue instance using the specified properties. + * @function create + * @memberof google.protobuf.DoubleValue + * @static + * @param {google.protobuf.IDoubleValue=} [properties] Properties to set + * @returns {google.protobuf.DoubleValue} DoubleValue instance + */ + DoubleValue.create = function create(properties) { + return new DoubleValue(properties); + }; + + /** + * Encodes the specified DoubleValue message. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DoubleValue + * @static + * @param {google.protobuf.IDoubleValue} message DoubleValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DoubleValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); + return writer; + }; + + /** + * Encodes the specified DoubleValue message, length delimited. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DoubleValue + * @static + * @param {google.protobuf.IDoubleValue} message DoubleValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DoubleValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DoubleValue message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DoubleValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DoubleValue} DoubleValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DoubleValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DoubleValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.double(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DoubleValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DoubleValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DoubleValue} DoubleValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DoubleValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DoubleValue message. + * @function verify + * @memberof google.protobuf.DoubleValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DoubleValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value !== "number") + return "value: number expected"; + return null; + }; + + /** + * Creates a DoubleValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DoubleValue + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DoubleValue} DoubleValue + */ + DoubleValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DoubleValue) + return object; + var message = new $root.google.protobuf.DoubleValue(); + if (object.value != null) + message.value = Number(object.value); + return message; + }; + + /** + * Creates a plain object from a DoubleValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DoubleValue + * @static + * @param {google.protobuf.DoubleValue} message DoubleValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DoubleValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.value = 0; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; + return object; + }; + + /** + * Converts this DoubleValue to JSON. + * @function toJSON + * @memberof google.protobuf.DoubleValue + * @instance + * @returns {Object.} JSON object + */ + DoubleValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DoubleValue; + })(); + + protobuf.FloatValue = (function() { + + /** + * Properties of a FloatValue. + * @memberof google.protobuf + * @interface IFloatValue + * @property {number|null} [value] FloatValue value + */ + + /** + * Constructs a new FloatValue. + * @memberof google.protobuf + * @classdesc Represents a FloatValue. + * @implements IFloatValue + * @constructor + * @param {google.protobuf.IFloatValue=} [properties] Properties to set + */ + function FloatValue(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]]; + } + + /** + * FloatValue value. + * @member {number} value + * @memberof google.protobuf.FloatValue + * @instance + */ + FloatValue.prototype.value = 0; + + /** + * Creates a new FloatValue instance using the specified properties. + * @function create + * @memberof google.protobuf.FloatValue + * @static + * @param {google.protobuf.IFloatValue=} [properties] Properties to set + * @returns {google.protobuf.FloatValue} FloatValue instance + */ + FloatValue.create = function create(properties) { + return new FloatValue(properties); + }; + + /** + * Encodes the specified FloatValue message. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FloatValue + * @static + * @param {google.protobuf.IFloatValue} message FloatValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FloatValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.value); + return writer; + }; + + /** + * Encodes the specified FloatValue message, length delimited. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FloatValue + * @static + * @param {google.protobuf.IFloatValue} message FloatValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FloatValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FloatValue message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FloatValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FloatValue} FloatValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FloatValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FloatValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FloatValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FloatValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FloatValue} FloatValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FloatValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FloatValue message. + * @function verify + * @memberof google.protobuf.FloatValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FloatValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value !== "number") + return "value: number expected"; + return null; + }; + + /** + * Creates a FloatValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FloatValue + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FloatValue} FloatValue + */ + FloatValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FloatValue) + return object; + var message = new $root.google.protobuf.FloatValue(); + if (object.value != null) + message.value = Number(object.value); + return message; + }; + + /** + * Creates a plain object from a FloatValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FloatValue + * @static + * @param {google.protobuf.FloatValue} message FloatValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FloatValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.value = 0; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.json && !isFinite(message.value) ? String(message.value) : message.value; + return object; + }; + + /** + * Converts this FloatValue to JSON. + * @function toJSON + * @memberof google.protobuf.FloatValue + * @instance + * @returns {Object.} JSON object + */ + FloatValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return FloatValue; + })(); + + protobuf.Int64Value = (function() { + + /** + * Properties of an Int64Value. + * @memberof google.protobuf + * @interface IInt64Value + * @property {number|Long|null} [value] Int64Value value + */ + + /** + * Constructs a new Int64Value. + * @memberof google.protobuf + * @classdesc Represents an Int64Value. + * @implements IInt64Value + * @constructor + * @param {google.protobuf.IInt64Value=} [properties] Properties to set + */ + function Int64Value(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]]; + } + + /** + * Int64Value value. + * @member {number|Long} value + * @memberof google.protobuf.Int64Value + * @instance + */ + Int64Value.prototype.value = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new Int64Value instance using the specified properties. + * @function create + * @memberof google.protobuf.Int64Value + * @static + * @param {google.protobuf.IInt64Value=} [properties] Properties to set + * @returns {google.protobuf.Int64Value} Int64Value instance + */ + Int64Value.create = function create(properties) { + return new Int64Value(properties); + }; + + /** + * Encodes the specified Int64Value message. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Int64Value + * @static + * @param {google.protobuf.IInt64Value} message Int64Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Int64Value.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.value); + return writer; + }; + + /** + * Encodes the specified Int64Value message, length delimited. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Int64Value + * @static + * @param {google.protobuf.IInt64Value} message Int64Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Int64Value.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Int64Value message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Int64Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Int64Value} Int64Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Int64Value.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Int64Value(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Int64Value message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Int64Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Int64Value} Int64Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Int64Value.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Int64Value message. + * @function verify + * @memberof google.protobuf.Int64Value + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Int64Value.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isInteger(message.value) && !(message.value && $util.isInteger(message.value.low) && $util.isInteger(message.value.high))) + return "value: integer|Long expected"; + return null; + }; + + /** + * Creates an Int64Value message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Int64Value + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Int64Value} Int64Value + */ + Int64Value.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Int64Value) + return object; + var message = new $root.google.protobuf.Int64Value(); + if (object.value != null) + if ($util.Long) + (message.value = $util.Long.fromValue(object.value)).unsigned = false; + else if (typeof object.value === "string") + message.value = parseInt(object.value, 10); + else if (typeof object.value === "number") + message.value = object.value; + else if (typeof object.value === "object") + message.value = new $util.LongBits(object.value.low >>> 0, object.value.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from an Int64Value message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Int64Value + * @static + * @param {google.protobuf.Int64Value} message Int64Value + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Int64Value.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.value = options.longs === String ? "0" : 0; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value === "number") + object.value = options.longs === String ? String(message.value) : message.value; + else + object.value = options.longs === String ? $util.Long.prototype.toString.call(message.value) : options.longs === Number ? new $util.LongBits(message.value.low >>> 0, message.value.high >>> 0).toNumber() : message.value; + return object; + }; + + /** + * Converts this Int64Value to JSON. + * @function toJSON + * @memberof google.protobuf.Int64Value + * @instance + * @returns {Object.} JSON object + */ + Int64Value.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Int64Value; + })(); + + protobuf.UInt64Value = (function() { + + /** + * Properties of a UInt64Value. + * @memberof google.protobuf + * @interface IUInt64Value + * @property {number|Long|null} [value] UInt64Value value + */ + + /** + * Constructs a new UInt64Value. + * @memberof google.protobuf + * @classdesc Represents a UInt64Value. + * @implements IUInt64Value + * @constructor + * @param {google.protobuf.IUInt64Value=} [properties] Properties to set + */ + function UInt64Value(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]]; + } + + /** + * UInt64Value value. + * @member {number|Long} value + * @memberof google.protobuf.UInt64Value + * @instance + */ + UInt64Value.prototype.value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new UInt64Value instance using the specified properties. + * @function create + * @memberof google.protobuf.UInt64Value + * @static + * @param {google.protobuf.IUInt64Value=} [properties] Properties to set + * @returns {google.protobuf.UInt64Value} UInt64Value instance + */ + UInt64Value.create = function create(properties) { + return new UInt64Value(properties); + }; + + /** + * Encodes the specified UInt64Value message. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UInt64Value + * @static + * @param {google.protobuf.IUInt64Value} message UInt64Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UInt64Value.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.value); + return writer; + }; + + /** + * Encodes the specified UInt64Value message, length delimited. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UInt64Value + * @static + * @param {google.protobuf.IUInt64Value} message UInt64Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UInt64Value.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a UInt64Value message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UInt64Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UInt64Value} UInt64Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UInt64Value.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UInt64Value(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a UInt64Value message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UInt64Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UInt64Value} UInt64Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UInt64Value.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a UInt64Value message. + * @function verify + * @memberof google.protobuf.UInt64Value + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UInt64Value.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isInteger(message.value) && !(message.value && $util.isInteger(message.value.low) && $util.isInteger(message.value.high))) + return "value: integer|Long expected"; + return null; + }; + + /** + * Creates a UInt64Value message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UInt64Value + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UInt64Value} UInt64Value + */ + UInt64Value.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UInt64Value) + return object; + var message = new $root.google.protobuf.UInt64Value(); + if (object.value != null) + if ($util.Long) + (message.value = $util.Long.fromValue(object.value)).unsigned = true; + else if (typeof object.value === "string") + message.value = parseInt(object.value, 10); + else if (typeof object.value === "number") + message.value = object.value; + else if (typeof object.value === "object") + message.value = new $util.LongBits(object.value.low >>> 0, object.value.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a UInt64Value message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UInt64Value + * @static + * @param {google.protobuf.UInt64Value} message UInt64Value + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UInt64Value.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.value = options.longs === String ? "0" : 0; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value === "number") + object.value = options.longs === String ? String(message.value) : message.value; + else + object.value = options.longs === String ? $util.Long.prototype.toString.call(message.value) : options.longs === Number ? new $util.LongBits(message.value.low >>> 0, message.value.high >>> 0).toNumber(true) : message.value; + return object; + }; + + /** + * Converts this UInt64Value to JSON. + * @function toJSON + * @memberof google.protobuf.UInt64Value + * @instance + * @returns {Object.} JSON object + */ + UInt64Value.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UInt64Value; + })(); + + protobuf.Int32Value = (function() { + + /** + * Properties of an Int32Value. + * @memberof google.protobuf + * @interface IInt32Value + * @property {number|null} [value] Int32Value value + */ + + /** + * Constructs a new Int32Value. + * @memberof google.protobuf + * @classdesc Represents an Int32Value. + * @implements IInt32Value + * @constructor + * @param {google.protobuf.IInt32Value=} [properties] Properties to set + */ + function Int32Value(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]]; + } + + /** + * Int32Value value. + * @member {number} value + * @memberof google.protobuf.Int32Value + * @instance + */ + Int32Value.prototype.value = 0; + + /** + * Creates a new Int32Value instance using the specified properties. + * @function create + * @memberof google.protobuf.Int32Value + * @static + * @param {google.protobuf.IInt32Value=} [properties] Properties to set + * @returns {google.protobuf.Int32Value} Int32Value instance + */ + Int32Value.create = function create(properties) { + return new Int32Value(properties); + }; + + /** + * Encodes the specified Int32Value message. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Int32Value + * @static + * @param {google.protobuf.IInt32Value} message Int32Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Int32Value.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.value); + return writer; + }; + + /** + * Encodes the specified Int32Value message, length delimited. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Int32Value + * @static + * @param {google.protobuf.IInt32Value} message Int32Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Int32Value.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Int32Value message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Int32Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Int32Value} Int32Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Int32Value.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Int32Value(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Int32Value message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Int32Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Int32Value} Int32Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Int32Value.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Int32Value message. + * @function verify + * @memberof google.protobuf.Int32Value + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Int32Value.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isInteger(message.value)) + return "value: integer expected"; + return null; + }; + + /** + * Creates an Int32Value message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Int32Value + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Int32Value} Int32Value + */ + Int32Value.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Int32Value) + return object; + var message = new $root.google.protobuf.Int32Value(); + if (object.value != null) + message.value = object.value | 0; + return message; + }; + + /** + * Creates a plain object from an Int32Value message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Int32Value + * @static + * @param {google.protobuf.Int32Value} message Int32Value + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Int32Value.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.value = 0; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this Int32Value to JSON. + * @function toJSON + * @memberof google.protobuf.Int32Value + * @instance + * @returns {Object.} JSON object + */ + Int32Value.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Int32Value; + })(); + + protobuf.UInt32Value = (function() { + + /** + * Properties of a UInt32Value. + * @memberof google.protobuf + * @interface IUInt32Value + * @property {number|null} [value] UInt32Value value + */ + + /** + * Constructs a new UInt32Value. + * @memberof google.protobuf + * @classdesc Represents a UInt32Value. + * @implements IUInt32Value + * @constructor + * @param {google.protobuf.IUInt32Value=} [properties] Properties to set + */ + function UInt32Value(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]]; + } + + /** + * UInt32Value value. + * @member {number} value + * @memberof google.protobuf.UInt32Value + * @instance + */ + UInt32Value.prototype.value = 0; + + /** + * Creates a new UInt32Value instance using the specified properties. + * @function create + * @memberof google.protobuf.UInt32Value + * @static + * @param {google.protobuf.IUInt32Value=} [properties] Properties to set + * @returns {google.protobuf.UInt32Value} UInt32Value instance + */ + UInt32Value.create = function create(properties) { + return new UInt32Value(properties); + }; + + /** + * Encodes the specified UInt32Value message. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UInt32Value + * @static + * @param {google.protobuf.IUInt32Value} message UInt32Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UInt32Value.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.value); + return writer; + }; + + /** + * Encodes the specified UInt32Value message, length delimited. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UInt32Value + * @static + * @param {google.protobuf.IUInt32Value} message UInt32Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UInt32Value.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a UInt32Value message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UInt32Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UInt32Value} UInt32Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UInt32Value.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UInt32Value(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a UInt32Value message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UInt32Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UInt32Value} UInt32Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UInt32Value.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a UInt32Value message. + * @function verify + * @memberof google.protobuf.UInt32Value + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UInt32Value.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isInteger(message.value)) + return "value: integer expected"; + return null; + }; + + /** + * Creates a UInt32Value message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UInt32Value + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UInt32Value} UInt32Value + */ + UInt32Value.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UInt32Value) + return object; + var message = new $root.google.protobuf.UInt32Value(); + if (object.value != null) + message.value = object.value >>> 0; + return message; + }; + + /** + * Creates a plain object from a UInt32Value message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UInt32Value + * @static + * @param {google.protobuf.UInt32Value} message UInt32Value + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UInt32Value.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.value = 0; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this UInt32Value to JSON. + * @function toJSON + * @memberof google.protobuf.UInt32Value + * @instance + * @returns {Object.} JSON object + */ + UInt32Value.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return UInt32Value; + })(); + + protobuf.BoolValue = (function() { + + /** + * Properties of a BoolValue. + * @memberof google.protobuf + * @interface IBoolValue + * @property {boolean|null} [value] BoolValue value + */ + + /** + * Constructs a new BoolValue. + * @memberof google.protobuf + * @classdesc Represents a BoolValue. + * @implements IBoolValue + * @constructor + * @param {google.protobuf.IBoolValue=} [properties] Properties to set + */ + function BoolValue(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]]; + } + + /** + * BoolValue value. + * @member {boolean} value + * @memberof google.protobuf.BoolValue + * @instance + */ + BoolValue.prototype.value = false; + + /** + * Creates a new BoolValue instance using the specified properties. + * @function create + * @memberof google.protobuf.BoolValue + * @static + * @param {google.protobuf.IBoolValue=} [properties] Properties to set + * @returns {google.protobuf.BoolValue} BoolValue instance + */ + BoolValue.create = function create(properties) { + return new BoolValue(properties); + }; + + /** + * Encodes the specified BoolValue message. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages. + * @function encode + * @memberof google.protobuf.BoolValue + * @static + * @param {google.protobuf.IBoolValue} message BoolValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoolValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.value); + return writer; + }; + + /** + * Encodes the specified BoolValue message, length delimited. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.BoolValue + * @static + * @param {google.protobuf.IBoolValue} message BoolValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BoolValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BoolValue message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.BoolValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.BoolValue} BoolValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoolValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.BoolValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BoolValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.BoolValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.BoolValue} BoolValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BoolValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BoolValue message. + * @function verify + * @memberof google.protobuf.BoolValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BoolValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (typeof message.value !== "boolean") + return "value: boolean expected"; + return null; + }; + + /** + * Creates a BoolValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.BoolValue + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.BoolValue} BoolValue + */ + BoolValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.BoolValue) + return object; + var message = new $root.google.protobuf.BoolValue(); + if (object.value != null) + message.value = Boolean(object.value); + return message; + }; + + /** + * Creates a plain object from a BoolValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.BoolValue + * @static + * @param {google.protobuf.BoolValue} message BoolValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BoolValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.value = false; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this BoolValue to JSON. + * @function toJSON + * @memberof google.protobuf.BoolValue + * @instance + * @returns {Object.} JSON object + */ + BoolValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BoolValue; + })(); + + protobuf.StringValue = (function() { + + /** + * Properties of a StringValue. + * @memberof google.protobuf + * @interface IStringValue + * @property {string|null} [value] StringValue value + */ + + /** + * Constructs a new StringValue. + * @memberof google.protobuf + * @classdesc Represents a StringValue. + * @implements IStringValue + * @constructor + * @param {google.protobuf.IStringValue=} [properties] Properties to set + */ + function StringValue(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]]; + } + + /** + * StringValue value. + * @member {string} value + * @memberof google.protobuf.StringValue + * @instance + */ + StringValue.prototype.value = ""; + + /** + * Creates a new StringValue instance using the specified properties. + * @function create + * @memberof google.protobuf.StringValue + * @static + * @param {google.protobuf.IStringValue=} [properties] Properties to set + * @returns {google.protobuf.StringValue} StringValue instance + */ + StringValue.create = function create(properties) { + return new StringValue(properties); + }; + + /** + * Encodes the specified StringValue message. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages. + * @function encode + * @memberof google.protobuf.StringValue + * @static + * @param {google.protobuf.IStringValue} message StringValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StringValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.value); + return writer; + }; + + /** + * Encodes the specified StringValue message, length delimited. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.StringValue + * @static + * @param {google.protobuf.IStringValue} message StringValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StringValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StringValue message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.StringValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.StringValue} StringValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StringValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.StringValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StringValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.StringValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.StringValue} StringValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StringValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StringValue message. + * @function verify + * @memberof google.protobuf.StringValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StringValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; + + /** + * Creates a StringValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.StringValue + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.StringValue} StringValue + */ + StringValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.StringValue) + return object; + var message = new $root.google.protobuf.StringValue(); + if (object.value != null) + message.value = String(object.value); + return message; + }; + + /** + * Creates a plain object from a StringValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.StringValue + * @static + * @param {google.protobuf.StringValue} message StringValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StringValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.value = ""; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; + + /** + * Converts this StringValue to JSON. + * @function toJSON + * @memberof google.protobuf.StringValue + * @instance + * @returns {Object.} JSON object + */ + StringValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StringValue; + })(); + + protobuf.BytesValue = (function() { + + /** + * Properties of a BytesValue. + * @memberof google.protobuf + * @interface IBytesValue + * @property {Uint8Array|null} [value] BytesValue value + */ + + /** + * Constructs a new BytesValue. + * @memberof google.protobuf + * @classdesc Represents a BytesValue. + * @implements IBytesValue + * @constructor + * @param {google.protobuf.IBytesValue=} [properties] Properties to set + */ + function BytesValue(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]]; + } + + /** + * BytesValue value. + * @member {Uint8Array} value + * @memberof google.protobuf.BytesValue + * @instance + */ + BytesValue.prototype.value = $util.newBuffer([]); + + /** + * Creates a new BytesValue instance using the specified properties. + * @function create + * @memberof google.protobuf.BytesValue + * @static + * @param {google.protobuf.IBytesValue=} [properties] Properties to set + * @returns {google.protobuf.BytesValue} BytesValue instance + */ + BytesValue.create = function create(properties) { + return new BytesValue(properties); + }; + + /** + * Encodes the specified BytesValue message. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages. + * @function encode + * @memberof google.protobuf.BytesValue + * @static + * @param {google.protobuf.IBytesValue} message BytesValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BytesValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.value); + return writer; + }; + + /** + * Encodes the specified BytesValue message, length delimited. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.BytesValue + * @static + * @param {google.protobuf.IBytesValue} message BytesValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BytesValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BytesValue message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.BytesValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.BytesValue} BytesValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BytesValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.BytesValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BytesValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.BytesValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.BytesValue} BytesValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BytesValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BytesValue message. + * @function verify + * @memberof google.protobuf.BytesValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BytesValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + return null; + }; + + /** + * Creates a BytesValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.BytesValue + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.BytesValue} BytesValue + */ + BytesValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.BytesValue) + return object; + var message = new $root.google.protobuf.BytesValue(); + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length) + message.value = object.value; + return message; + }; + + /** + * Creates a plain object from a BytesValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.BytesValue + * @static + * @param {google.protobuf.BytesValue} message BytesValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BytesValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + return object; + }; + + /** + * Converts this BytesValue to JSON. + * @function toJSON + * @memberof google.protobuf.BytesValue + * @instance + * @returns {Object.} JSON object + */ + BytesValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BytesValue; + })(); + + return protobuf; + })(); + + google.longrunning = (function() { + + /** + * Namespace longrunning. + * @memberof google + * @namespace + */ + var longrunning = {}; + + longrunning.Operations = (function() { + + /** + * Constructs a new Operations service. + * @memberof google.longrunning + * @classdesc Represents an Operations + * @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 Operations(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (Operations.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Operations; + + /** + * Creates new Operations service using the specified rpc implementation. + * @function create + * @memberof google.longrunning.Operations + * @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 {Operations} RPC service. Useful where requests and/or responses are streamed. + */ + Operations.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.longrunning.Operations#listOperations}. + * @memberof google.longrunning.Operations + * @typedef ListOperationsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.ListOperationsResponse} [response] ListOperationsResponse + */ + + /** + * Calls ListOperations. + * @function listOperations + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IListOperationsRequest} request ListOperationsRequest message or plain object + * @param {google.longrunning.Operations.ListOperationsCallback} callback Node-style callback called with the error, if any, and ListOperationsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.listOperations = function listOperations(request, callback) { + return this.rpcCall(listOperations, $root.google.longrunning.ListOperationsRequest, $root.google.longrunning.ListOperationsResponse, request, callback); + }, "name", { value: "ListOperations" }); + + /** + * Calls ListOperations. + * @function listOperations + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IListOperationsRequest} request ListOperationsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations#getOperation}. + * @memberof google.longrunning.Operations + * @typedef GetOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls GetOperation. + * @function getOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IGetOperationRequest} request GetOperationRequest message or plain object + * @param {google.longrunning.Operations.GetOperationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.getOperation = function getOperation(request, callback) { + return this.rpcCall(getOperation, $root.google.longrunning.GetOperationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "GetOperation" }); + + /** + * Calls GetOperation. + * @function getOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IGetOperationRequest} request GetOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations#deleteOperation}. + * @memberof google.longrunning.Operations + * @typedef DeleteOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteOperation. + * @function deleteOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IDeleteOperationRequest} request DeleteOperationRequest message or plain object + * @param {google.longrunning.Operations.DeleteOperationCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.deleteOperation = function deleteOperation(request, callback) { + return this.rpcCall(deleteOperation, $root.google.longrunning.DeleteOperationRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteOperation" }); + + /** + * Calls DeleteOperation. + * @function deleteOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IDeleteOperationRequest} request DeleteOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations#cancelOperation}. + * @memberof google.longrunning.Operations + * @typedef CancelOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls CancelOperation. + * @function cancelOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.ICancelOperationRequest} request CancelOperationRequest message or plain object + * @param {google.longrunning.Operations.CancelOperationCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.cancelOperation = function cancelOperation(request, callback) { + return this.rpcCall(cancelOperation, $root.google.longrunning.CancelOperationRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "CancelOperation" }); + + /** + * Calls CancelOperation. + * @function cancelOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.ICancelOperationRequest} request CancelOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations#waitOperation}. + * @memberof google.longrunning.Operations + * @typedef WaitOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls WaitOperation. + * @function waitOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IWaitOperationRequest} request WaitOperationRequest message or plain object + * @param {google.longrunning.Operations.WaitOperationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.waitOperation = function waitOperation(request, callback) { + return this.rpcCall(waitOperation, $root.google.longrunning.WaitOperationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "WaitOperation" }); + + /** + * Calls WaitOperation. + * @function waitOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IWaitOperationRequest} request WaitOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return Operations; + })(); + + longrunning.Operation = (function() { + + /** + * Properties of an Operation. + * @memberof google.longrunning + * @interface IOperation + * @property {string|null} [name] Operation name + * @property {google.protobuf.IAny|null} [metadata] Operation metadata + * @property {boolean|null} [done] Operation done + * @property {google.rpc.IStatus|null} [error] Operation error + * @property {google.protobuf.IAny|null} [response] Operation response + */ + + /** + * Constructs a new Operation. + * @memberof google.longrunning + * @classdesc Represents an Operation. + * @implements IOperation + * @constructor + * @param {google.longrunning.IOperation=} [properties] Properties to set + */ + function Operation(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]]; + } + + /** + * Operation name. + * @member {string} name + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.name = ""; + + /** + * Operation metadata. + * @member {google.protobuf.IAny|null|undefined} metadata + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.metadata = null; + + /** + * Operation done. + * @member {boolean} done + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.done = false; + + /** + * Operation error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.error = null; + + /** + * Operation response. + * @member {google.protobuf.IAny|null|undefined} response + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.response = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Operation result. + * @member {"error"|"response"|undefined} result + * @memberof google.longrunning.Operation + * @instance + */ + Object.defineProperty(Operation.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["error", "response"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Operation instance using the specified properties. + * @function create + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation=} [properties] Properties to set + * @returns {google.longrunning.Operation} Operation instance + */ + Operation.create = function create(properties) { + return new Operation(properties); + }; + + /** + * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @function encode + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation} message Operation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Operation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.metadata != null && message.hasOwnProperty("metadata")) + $root.google.protobuf.Any.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.done != null && message.hasOwnProperty("done")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.done); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.response != null && message.hasOwnProperty("response")) + $root.google.protobuf.Any.encode(message.response, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation} message Operation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Operation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Operation message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.Operation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.Operation} Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Operation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.Operation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + case 3: + message.done = reader.bool(); + break; + case 4: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 5: + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Operation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.Operation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.Operation} Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Operation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Operation message. + * @function verify + * @memberof google.longrunning.Operation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Operation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.google.protobuf.Any.verify(message.metadata); + if (error) + return "metadata." + error; + } + if (message.done != null && message.hasOwnProperty("done")) + if (typeof message.done !== "boolean") + return "done: boolean expected"; + if (message.error != null && message.hasOwnProperty("error")) { + properties.result = 1; + { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + } + if (message.response != null && message.hasOwnProperty("response")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.google.protobuf.Any.verify(message.response); + if (error) + return "response." + error; + } + } + return null; + }; + + /** + * Creates an Operation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.Operation + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.Operation} Operation + */ + Operation.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.Operation) + return object; + var message = new $root.google.longrunning.Operation(); + if (object.name != null) + message.name = String(object.name); + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".google.longrunning.Operation.metadata: object expected"); + message.metadata = $root.google.protobuf.Any.fromObject(object.metadata); + } + if (object.done != null) + message.done = Boolean(object.done); + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.longrunning.Operation.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.response != null) { + if (typeof object.response !== "object") + throw TypeError(".google.longrunning.Operation.response: object expected"); + message.response = $root.google.protobuf.Any.fromObject(object.response); + } + return message; + }; + + /** + * Creates a plain object from an Operation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.Operation} message Operation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Operation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.metadata = null; + object.done = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.google.protobuf.Any.toObject(message.metadata, options); + if (message.done != null && message.hasOwnProperty("done")) + object.done = message.done; + if (message.error != null && message.hasOwnProperty("error")) { + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (options.oneofs) + object.result = "error"; + } + if (message.response != null && message.hasOwnProperty("response")) { + object.response = $root.google.protobuf.Any.toObject(message.response, options); + if (options.oneofs) + object.result = "response"; + } + return object; + }; + + /** + * Converts this Operation to JSON. + * @function toJSON + * @memberof google.longrunning.Operation + * @instance + * @returns {Object.} JSON object + */ + Operation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Operation; + })(); + + longrunning.GetOperationRequest = (function() { + + /** + * Properties of a GetOperationRequest. + * @memberof google.longrunning + * @interface IGetOperationRequest + * @property {string|null} [name] GetOperationRequest name + */ + + /** + * Constructs a new GetOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a GetOperationRequest. + * @implements IGetOperationRequest + * @constructor + * @param {google.longrunning.IGetOperationRequest=} [properties] Properties to set + */ + function GetOperationRequest(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]]; + } + + /** + * GetOperationRequest name. + * @member {string} name + * @memberof google.longrunning.GetOperationRequest + * @instance + */ + GetOperationRequest.prototype.name = ""; + + /** + * Creates a new GetOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.IGetOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest instance + */ + GetOperationRequest.create = function create(properties) { + return new GetOperationRequest(properties); + }; + + /** + * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.IGetOperationRequest} message GetOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOperationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.IGetOperationRequest} message GetOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOperationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.GetOperationRequest(); + 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 GetOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetOperationRequest message. + * @function verify + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetOperationRequest.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 GetOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest + */ + GetOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.GetOperationRequest) + return object; + var message = new $root.google.longrunning.GetOperationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.GetOperationRequest} message GetOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetOperationRequest.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 GetOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.GetOperationRequest + * @instance + * @returns {Object.} JSON object + */ + GetOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetOperationRequest; + })(); + + longrunning.ListOperationsRequest = (function() { + + /** + * Properties of a ListOperationsRequest. + * @memberof google.longrunning + * @interface IListOperationsRequest + * @property {string|null} [name] ListOperationsRequest name + * @property {string|null} [filter] ListOperationsRequest filter + * @property {number|null} [pageSize] ListOperationsRequest pageSize + * @property {string|null} [pageToken] ListOperationsRequest pageToken + */ + + /** + * Constructs a new ListOperationsRequest. + * @memberof google.longrunning + * @classdesc Represents a ListOperationsRequest. + * @implements IListOperationsRequest + * @constructor + * @param {google.longrunning.IListOperationsRequest=} [properties] Properties to set + */ + function ListOperationsRequest(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]]; + } + + /** + * ListOperationsRequest name. + * @member {string} name + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.name = ""; + + /** + * ListOperationsRequest filter. + * @member {string} filter + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.filter = ""; + + /** + * ListOperationsRequest pageSize. + * @member {number} pageSize + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.pageSize = 0; + + /** + * ListOperationsRequest pageToken. + * @member {string} pageToken + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListOperationsRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.IListOperationsRequest=} [properties] Properties to set + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest instance + */ + ListOperationsRequest.create = function create(properties) { + return new ListOperationsRequest(properties); + }; + + /** + * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.IListOperationsRequest} message ListOperationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.filter != null && message.hasOwnProperty("filter")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.filter); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.name); + return writer; + }; + + /** + * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.IListOperationsRequest} message ListOperationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListOperationsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 4: + message.name = reader.string(); + break; + case 1: + message.filter = 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 ListOperationsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListOperationsRequest message. + * @function verify + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListOperationsRequest.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.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: 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 ListOperationsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest + */ + ListOperationsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.ListOperationsRequest) + return object; + var message = new $root.google.longrunning.ListOperationsRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.filter != null) + message.filter = String(object.filter); + 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 ListOperationsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.ListOperationsRequest} message ListOperationsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListOperationsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.filter = ""; + object.pageSize = 0; + object.pageToken = ""; + object.name = ""; + } + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this ListOperationsRequest to JSON. + * @function toJSON + * @memberof google.longrunning.ListOperationsRequest + * @instance + * @returns {Object.} JSON object + */ + ListOperationsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListOperationsRequest; + })(); + + longrunning.ListOperationsResponse = (function() { + + /** + * Properties of a ListOperationsResponse. + * @memberof google.longrunning + * @interface IListOperationsResponse + * @property {Array.|null} [operations] ListOperationsResponse operations + * @property {string|null} [nextPageToken] ListOperationsResponse nextPageToken + */ + + /** + * Constructs a new ListOperationsResponse. + * @memberof google.longrunning + * @classdesc Represents a ListOperationsResponse. + * @implements IListOperationsResponse + * @constructor + * @param {google.longrunning.IListOperationsResponse=} [properties] Properties to set + */ + function ListOperationsResponse(properties) { + this.operations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListOperationsResponse operations. + * @member {Array.} operations + * @memberof google.longrunning.ListOperationsResponse + * @instance + */ + ListOperationsResponse.prototype.operations = $util.emptyArray; + + /** + * ListOperationsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.longrunning.ListOperationsResponse + * @instance + */ + ListOperationsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListOperationsResponse instance using the specified properties. + * @function create + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.IListOperationsResponse=} [properties] Properties to set + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse instance + */ + ListOperationsResponse.create = function create(properties) { + return new ListOperationsResponse(properties); + }; + + /** + * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @function encode + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.IListOperationsResponse} message ListOperationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.operations != null && message.operations.length) + for (var i = 0; i < message.operations.length; ++i) + $root.google.longrunning.Operation.encode(message.operations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.IListOperationsResponse} message ListOperationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.operations && message.operations.length)) + message.operations = []; + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + break; + case 2: + message.nextPageToken = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListOperationsResponse message. + * @function verify + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListOperationsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.operations != null && message.hasOwnProperty("operations")) { + if (!Array.isArray(message.operations)) + return "operations: array expected"; + for (var i = 0; i < message.operations.length; ++i) { + var error = $root.google.longrunning.Operation.verify(message.operations[i]); + if (error) + return "operations." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse + */ + ListOperationsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.ListOperationsResponse) + return object; + var message = new $root.google.longrunning.ListOperationsResponse(); + if (object.operations) { + if (!Array.isArray(object.operations)) + throw TypeError(".google.longrunning.ListOperationsResponse.operations: array expected"); + message.operations = []; + for (var i = 0; i < object.operations.length; ++i) { + if (typeof object.operations[i] !== "object") + throw TypeError(".google.longrunning.ListOperationsResponse.operations: object expected"); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.ListOperationsResponse} message ListOperationsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListOperationsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.operations = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.operations && message.operations.length) { + object.operations = []; + for (var j = 0; j < message.operations.length; ++j) + object.operations[j] = $root.google.longrunning.Operation.toObject(message.operations[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListOperationsResponse to JSON. + * @function toJSON + * @memberof google.longrunning.ListOperationsResponse + * @instance + * @returns {Object.} JSON object + */ + ListOperationsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ListOperationsResponse; + })(); + + longrunning.CancelOperationRequest = (function() { + + /** + * Properties of a CancelOperationRequest. + * @memberof google.longrunning + * @interface ICancelOperationRequest + * @property {string|null} [name] CancelOperationRequest name + */ + + /** + * Constructs a new CancelOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a CancelOperationRequest. + * @implements ICancelOperationRequest + * @constructor + * @param {google.longrunning.ICancelOperationRequest=} [properties] Properties to set + */ + function CancelOperationRequest(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]]; + } + + /** + * CancelOperationRequest name. + * @member {string} name + * @memberof google.longrunning.CancelOperationRequest + * @instance + */ + CancelOperationRequest.prototype.name = ""; + + /** + * Creates a new CancelOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.ICancelOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest instance + */ + CancelOperationRequest.create = function create(properties) { + return new CancelOperationRequest(properties); + }; + + /** + * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.ICancelOperationRequest} message CancelOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CancelOperationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.ICancelOperationRequest} message CancelOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CancelOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CancelOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CancelOperationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.CancelOperationRequest(); + 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 CancelOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CancelOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CancelOperationRequest message. + * @function verify + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CancelOperationRequest.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 CancelOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest + */ + CancelOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.CancelOperationRequest) + return object; + var message = new $root.google.longrunning.CancelOperationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.CancelOperationRequest} message CancelOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CancelOperationRequest.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 CancelOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.CancelOperationRequest + * @instance + * @returns {Object.} JSON object + */ + CancelOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CancelOperationRequest; + })(); + + longrunning.DeleteOperationRequest = (function() { + + /** + * Properties of a DeleteOperationRequest. + * @memberof google.longrunning + * @interface IDeleteOperationRequest + * @property {string|null} [name] DeleteOperationRequest name + */ + + /** + * Constructs a new DeleteOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a DeleteOperationRequest. + * @implements IDeleteOperationRequest + * @constructor + * @param {google.longrunning.IDeleteOperationRequest=} [properties] Properties to set + */ + function DeleteOperationRequest(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]]; + } + + /** + * DeleteOperationRequest name. + * @member {string} name + * @memberof google.longrunning.DeleteOperationRequest + * @instance + */ + DeleteOperationRequest.prototype.name = ""; + + /** + * Creates a new DeleteOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.IDeleteOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest instance + */ + DeleteOperationRequest.create = function create(properties) { + return new DeleteOperationRequest(properties); + }; + + /** + * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.IDeleteOperationRequest} message DeleteOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteOperationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.IDeleteOperationRequest} message DeleteOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteOperationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.DeleteOperationRequest(); + 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 DeleteOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteOperationRequest message. + * @function verify + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteOperationRequest.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 DeleteOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest + */ + DeleteOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.DeleteOperationRequest) + return object; + var message = new $root.google.longrunning.DeleteOperationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.DeleteOperationRequest} message DeleteOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteOperationRequest.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 DeleteOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.DeleteOperationRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return DeleteOperationRequest; + })(); + + longrunning.WaitOperationRequest = (function() { + + /** + * Properties of a WaitOperationRequest. + * @memberof google.longrunning + * @interface IWaitOperationRequest + * @property {string|null} [name] WaitOperationRequest name + * @property {google.protobuf.IDuration|null} [timeout] WaitOperationRequest timeout + */ + + /** + * Constructs a new WaitOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a WaitOperationRequest. + * @implements IWaitOperationRequest + * @constructor + * @param {google.longrunning.IWaitOperationRequest=} [properties] Properties to set + */ + function WaitOperationRequest(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]]; + } + + /** + * WaitOperationRequest name. + * @member {string} name + * @memberof google.longrunning.WaitOperationRequest + * @instance + */ + WaitOperationRequest.prototype.name = ""; + + /** + * WaitOperationRequest timeout. + * @member {google.protobuf.IDuration|null|undefined} timeout + * @memberof google.longrunning.WaitOperationRequest + * @instance + */ + WaitOperationRequest.prototype.timeout = null; + + /** + * Creates a new WaitOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.IWaitOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest instance + */ + WaitOperationRequest.create = function create(properties) { + return new WaitOperationRequest(properties); + }; + + /** + * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.IWaitOperationRequest} message WaitOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitOperationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.timeout != null && message.hasOwnProperty("timeout")) + $root.google.protobuf.Duration.encode(message.timeout, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.IWaitOperationRequest} message WaitOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitOperationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.WaitOperationRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WaitOperationRequest message. + * @function verify + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WaitOperationRequest.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.timeout != null && message.hasOwnProperty("timeout")) { + var error = $root.google.protobuf.Duration.verify(message.timeout); + if (error) + return "timeout." + error; + } + return null; + }; + + /** + * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest + */ + WaitOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.WaitOperationRequest) + return object; + var message = new $root.google.longrunning.WaitOperationRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.timeout != null) { + if (typeof object.timeout !== "object") + throw TypeError(".google.longrunning.WaitOperationRequest.timeout: object expected"); + message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout); + } + return message; + }; + + /** + * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.WaitOperationRequest} message WaitOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WaitOperationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.timeout = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.timeout != null && message.hasOwnProperty("timeout")) + object.timeout = $root.google.protobuf.Duration.toObject(message.timeout, options); + return object; + }; + + /** + * Converts this WaitOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.WaitOperationRequest + * @instance + * @returns {Object.} JSON object + */ + WaitOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WaitOperationRequest; + })(); + + longrunning.OperationInfo = (function() { + + /** + * Properties of an OperationInfo. + * @memberof google.longrunning + * @interface IOperationInfo + * @property {string|null} [responseType] OperationInfo responseType + * @property {string|null} [metadataType] OperationInfo metadataType + */ + + /** + * Constructs a new OperationInfo. + * @memberof google.longrunning + * @classdesc Represents an OperationInfo. + * @implements IOperationInfo + * @constructor + * @param {google.longrunning.IOperationInfo=} [properties] Properties to set + */ + function OperationInfo(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]]; + } + + /** + * OperationInfo responseType. + * @member {string} responseType + * @memberof google.longrunning.OperationInfo + * @instance + */ + OperationInfo.prototype.responseType = ""; + + /** + * OperationInfo metadataType. + * @member {string} metadataType + * @memberof google.longrunning.OperationInfo + * @instance + */ + OperationInfo.prototype.metadataType = ""; + + /** + * Creates a new OperationInfo instance using the specified properties. + * @function create + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.IOperationInfo=} [properties] Properties to set + * @returns {google.longrunning.OperationInfo} OperationInfo instance + */ + OperationInfo.create = function create(properties) { + return new OperationInfo(properties); + }; + + /** + * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @function encode + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.IOperationInfo} message OperationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responseType != null && message.hasOwnProperty("responseType")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.responseType); + if (message.metadataType != null && message.hasOwnProperty("metadataType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.metadataType); + return writer; + }; + + /** + * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.IOperationInfo} message OperationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationInfo message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.OperationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.OperationInfo} OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.OperationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.responseType = reader.string(); + break; + case 2: + message.metadataType = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.OperationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.OperationInfo} OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationInfo message. + * @function verify + * @memberof google.longrunning.OperationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responseType != null && message.hasOwnProperty("responseType")) + if (!$util.isString(message.responseType)) + return "responseType: string expected"; + if (message.metadataType != null && message.hasOwnProperty("metadataType")) + if (!$util.isString(message.metadataType)) + return "metadataType: string expected"; + return null; + }; + + /** + * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.OperationInfo + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.OperationInfo} OperationInfo + */ + OperationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.OperationInfo) + return object; + var message = new $root.google.longrunning.OperationInfo(); + if (object.responseType != null) + message.responseType = String(object.responseType); + if (object.metadataType != null) + message.metadataType = String(object.metadataType); + return message; + }; + + /** + * Creates a plain object from an OperationInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.OperationInfo} message OperationInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.responseType = ""; + object.metadataType = ""; + } + if (message.responseType != null && message.hasOwnProperty("responseType")) + object.responseType = message.responseType; + if (message.metadataType != null && message.hasOwnProperty("metadataType")) + object.metadataType = message.metadataType; + return object; + }; + + /** + * Converts this OperationInfo to JSON. + * @function toJSON + * @memberof google.longrunning.OperationInfo + * @instance + * @returns {Object.} JSON object + */ + OperationInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return OperationInfo; + })(); + + return longrunning; + })(); + + google.rpc = (function() { + + /** + * Namespace rpc. + * @memberof google + * @namespace + */ + var rpc = {}; + + rpc.Status = (function() { + + /** + * Properties of a Status. + * @memberof google.rpc + * @interface IStatus + * @property {number|null} [code] Status code + * @property {string|null} [message] Status message + * @property {Array.|null} [details] Status details + */ + + /** + * Constructs a new Status. + * @memberof google.rpc + * @classdesc Represents a Status. + * @implements IStatus + * @constructor + * @param {google.rpc.IStatus=} [properties] Properties to set + */ + function Status(properties) { + this.details = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Status code. + * @member {number} code + * @memberof google.rpc.Status + * @instance + */ + Status.prototype.code = 0; + + /** + * Status message. + * @member {string} message + * @memberof google.rpc.Status + * @instance + */ + Status.prototype.message = ""; + + /** + * Status details. + * @member {Array.} details + * @memberof google.rpc.Status + * @instance + */ + Status.prototype.details = $util.emptyArray; + + /** + * Creates a new Status instance using the specified properties. + * @function create + * @memberof google.rpc.Status + * @static + * @param {google.rpc.IStatus=} [properties] Properties to set + * @returns {google.rpc.Status} Status instance + */ + Status.create = function create(properties) { + return new Status(properties); + }; + + /** + * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @function encode + * @memberof google.rpc.Status + * @static + * @param {google.rpc.IStatus} message Status message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Status.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && message.hasOwnProperty("code")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.code); + if (message.message != null && message.hasOwnProperty("message")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.message); + if (message.details != null && message.details.length) + for (var i = 0; i < message.details.length; ++i) + $root.google.protobuf.Any.encode(message.details[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @function encodeDelimited + * @memberof google.rpc.Status + * @static + * @param {google.rpc.IStatus} message Status message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Status.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Status message from the specified reader or buffer. + * @function decode + * @memberof google.rpc.Status + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.rpc.Status} Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Status.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Status(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.code = reader.int32(); + break; + case 2: + message.message = reader.string(); + break; + case 3: + if (!(message.details && message.details.length)) + message.details = []; + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Status message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.rpc.Status + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.rpc.Status} Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Status.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Status message. + * @function verify + * @memberof google.rpc.Status + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Status.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isInteger(message.code)) + return "code: integer expected"; + if (message.message != null && message.hasOwnProperty("message")) + if (!$util.isString(message.message)) + return "message: string expected"; + if (message.details != null && message.hasOwnProperty("details")) { + if (!Array.isArray(message.details)) + return "details: array expected"; + for (var i = 0; i < message.details.length; ++i) { + var error = $root.google.protobuf.Any.verify(message.details[i]); + if (error) + return "details." + error; + } + } + return null; + }; + + /** + * Creates a Status message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.rpc.Status + * @static + * @param {Object.} object Plain object + * @returns {google.rpc.Status} Status + */ + Status.fromObject = function fromObject(object) { + if (object instanceof $root.google.rpc.Status) + return object; + var message = new $root.google.rpc.Status(); + if (object.code != null) + message.code = object.code | 0; + if (object.message != null) + message.message = String(object.message); + if (object.details) { + if (!Array.isArray(object.details)) + throw TypeError(".google.rpc.Status.details: array expected"); + message.details = []; + for (var i = 0; i < object.details.length; ++i) { + if (typeof object.details[i] !== "object") + throw TypeError(".google.rpc.Status.details: object expected"); + message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Status message. Also converts values to other types if specified. + * @function toObject + * @memberof google.rpc.Status + * @static + * @param {google.rpc.Status} message Status + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Status.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.details = []; + if (options.defaults) { + object.code = 0; + object.message = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.message != null && message.hasOwnProperty("message")) + object.message = message.message; + if (message.details && message.details.length) { + object.details = []; + for (var j = 0; j < message.details.length; ++j) + object.details[j] = $root.google.protobuf.Any.toObject(message.details[j], options); + } + return object; + }; + + /** + * Converts this Status to JSON. + * @function toJSON + * @memberof google.rpc.Status + * @instance + * @returns {Object.} JSON object + */ + Status.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Status; + })(); + + return rpc; + })(); + + google.type = (function() { + + /** + * Namespace type. + * @memberof google + * @namespace + */ + var type = {}; + + type.Color = (function() { + + /** + * Properties of a Color. + * @memberof google.type + * @interface IColor + * @property {number|null} [red] Color red + * @property {number|null} [green] Color green + * @property {number|null} [blue] Color blue + * @property {google.protobuf.IFloatValue|null} [alpha] Color alpha + */ + + /** + * Constructs a new Color. + * @memberof google.type + * @classdesc Represents a Color. + * @implements IColor + * @constructor + * @param {google.type.IColor=} [properties] Properties to set + */ + function Color(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]]; + } + + /** + * Color red. + * @member {number} red + * @memberof google.type.Color + * @instance + */ + Color.prototype.red = 0; + + /** + * Color green. + * @member {number} green + * @memberof google.type.Color + * @instance + */ + Color.prototype.green = 0; + + /** + * Color blue. + * @member {number} blue + * @memberof google.type.Color + * @instance + */ + Color.prototype.blue = 0; + + /** + * Color alpha. + * @member {google.protobuf.IFloatValue|null|undefined} alpha + * @memberof google.type.Color + * @instance + */ + Color.prototype.alpha = null; + + /** + * Creates a new Color instance using the specified properties. + * @function create + * @memberof google.type.Color + * @static + * @param {google.type.IColor=} [properties] Properties to set + * @returns {google.type.Color} Color instance + */ + Color.create = function create(properties) { + return new Color(properties); + }; + + /** + * Encodes the specified Color message. Does not implicitly {@link google.type.Color.verify|verify} messages. + * @function encode + * @memberof google.type.Color + * @static + * @param {google.type.IColor} message Color message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Color.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.red != null && message.hasOwnProperty("red")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.red); + if (message.green != null && message.hasOwnProperty("green")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.green); + if (message.blue != null && message.hasOwnProperty("blue")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.blue); + if (message.alpha != null && message.hasOwnProperty("alpha")) + $root.google.protobuf.FloatValue.encode(message.alpha, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Color message, length delimited. Does not implicitly {@link google.type.Color.verify|verify} messages. + * @function encodeDelimited + * @memberof google.type.Color + * @static + * @param {google.type.IColor} message Color message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Color.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Color message from the specified reader or buffer. + * @function decode + * @memberof google.type.Color + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.type.Color} Color + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Color.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.Color(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.red = reader.float(); + break; + case 2: + message.green = reader.float(); + break; + case 3: + message.blue = reader.float(); + break; + case 4: + message.alpha = $root.google.protobuf.FloatValue.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Color message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.type.Color + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.type.Color} Color + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Color.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Color message. + * @function verify + * @memberof google.type.Color + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Color.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.red != null && message.hasOwnProperty("red")) + if (typeof message.red !== "number") + return "red: number expected"; + if (message.green != null && message.hasOwnProperty("green")) + if (typeof message.green !== "number") + return "green: number expected"; + if (message.blue != null && message.hasOwnProperty("blue")) + if (typeof message.blue !== "number") + return "blue: number expected"; + if (message.alpha != null && message.hasOwnProperty("alpha")) { + var error = $root.google.protobuf.FloatValue.verify(message.alpha); + if (error) + return "alpha." + error; + } + return null; + }; + + /** + * Creates a Color message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.type.Color + * @static + * @param {Object.} object Plain object + * @returns {google.type.Color} Color + */ + Color.fromObject = function fromObject(object) { + if (object instanceof $root.google.type.Color) + return object; + var message = new $root.google.type.Color(); + if (object.red != null) + message.red = Number(object.red); + if (object.green != null) + message.green = Number(object.green); + if (object.blue != null) + message.blue = Number(object.blue); + if (object.alpha != null) { + if (typeof object.alpha !== "object") + throw TypeError(".google.type.Color.alpha: object expected"); + message.alpha = $root.google.protobuf.FloatValue.fromObject(object.alpha); + } + return message; + }; + + /** + * Creates a plain object from a Color message. Also converts values to other types if specified. + * @function toObject + * @memberof google.type.Color + * @static + * @param {google.type.Color} message Color + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Color.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.red = 0; + object.green = 0; + object.blue = 0; + object.alpha = null; + } + if (message.red != null && message.hasOwnProperty("red")) + object.red = options.json && !isFinite(message.red) ? String(message.red) : message.red; + if (message.green != null && message.hasOwnProperty("green")) + object.green = options.json && !isFinite(message.green) ? String(message.green) : message.green; + if (message.blue != null && message.hasOwnProperty("blue")) + object.blue = options.json && !isFinite(message.blue) ? String(message.blue) : message.blue; + if (message.alpha != null && message.hasOwnProperty("alpha")) + object.alpha = $root.google.protobuf.FloatValue.toObject(message.alpha, options); + return object; + }; + + /** + * Converts this Color to JSON. + * @function toJSON + * @memberof google.type.Color + * @instance + * @returns {Object.} JSON object + */ + Color.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Color; + })(); + + type.LatLng = (function() { + + /** + * Properties of a LatLng. + * @memberof google.type + * @interface ILatLng + * @property {number|null} [latitude] LatLng latitude + * @property {number|null} [longitude] LatLng longitude + */ + + /** + * Constructs a new LatLng. + * @memberof google.type + * @classdesc Represents a LatLng. + * @implements ILatLng + * @constructor + * @param {google.type.ILatLng=} [properties] Properties to set + */ + function LatLng(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]]; + } + + /** + * LatLng latitude. + * @member {number} latitude + * @memberof google.type.LatLng + * @instance + */ + LatLng.prototype.latitude = 0; + + /** + * LatLng longitude. + * @member {number} longitude + * @memberof google.type.LatLng + * @instance + */ + LatLng.prototype.longitude = 0; + + /** + * Creates a new LatLng instance using the specified properties. + * @function create + * @memberof google.type.LatLng + * @static + * @param {google.type.ILatLng=} [properties] Properties to set + * @returns {google.type.LatLng} LatLng instance + */ + LatLng.create = function create(properties) { + return new LatLng(properties); + }; + + /** + * Encodes the specified LatLng message. Does not implicitly {@link google.type.LatLng.verify|verify} messages. + * @function encode + * @memberof google.type.LatLng + * @static + * @param {google.type.ILatLng} message LatLng message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLng.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latitude != null && message.hasOwnProperty("latitude")) + writer.uint32(/* id 1, wireType 1 =*/9).double(message.latitude); + if (message.longitude != null && message.hasOwnProperty("longitude")) + writer.uint32(/* id 2, wireType 1 =*/17).double(message.longitude); + return writer; + }; + + /** + * Encodes the specified LatLng message, length delimited. Does not implicitly {@link google.type.LatLng.verify|verify} messages. + * @function encodeDelimited + * @memberof google.type.LatLng + * @static + * @param {google.type.ILatLng} message LatLng message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LatLng.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LatLng message from the specified reader or buffer. + * @function decode + * @memberof google.type.LatLng + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.type.LatLng} LatLng + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLng.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.LatLng(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latitude = reader.double(); + break; + case 2: + message.longitude = reader.double(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LatLng message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.type.LatLng + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.type.LatLng} LatLng + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LatLng.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LatLng message. + * @function verify + * @memberof google.type.LatLng + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LatLng.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latitude != null && message.hasOwnProperty("latitude")) + if (typeof message.latitude !== "number") + return "latitude: number expected"; + if (message.longitude != null && message.hasOwnProperty("longitude")) + if (typeof message.longitude !== "number") + return "longitude: number expected"; + return null; + }; + + /** + * Creates a LatLng message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.type.LatLng + * @static + * @param {Object.} object Plain object + * @returns {google.type.LatLng} LatLng + */ + LatLng.fromObject = function fromObject(object) { + if (object instanceof $root.google.type.LatLng) + return object; + var message = new $root.google.type.LatLng(); + if (object.latitude != null) + message.latitude = Number(object.latitude); + if (object.longitude != null) + message.longitude = Number(object.longitude); + return message; + }; + + /** + * Creates a plain object from a LatLng message. Also converts values to other types if specified. + * @function toObject + * @memberof google.type.LatLng + * @static + * @param {google.type.LatLng} message LatLng + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LatLng.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.latitude = 0; + object.longitude = 0; + } + if (message.latitude != null && message.hasOwnProperty("latitude")) + object.latitude = options.json && !isFinite(message.latitude) ? String(message.latitude) : message.latitude; + if (message.longitude != null && message.hasOwnProperty("longitude")) + object.longitude = options.json && !isFinite(message.longitude) ? String(message.longitude) : message.longitude; + return object; + }; + + /** + * Converts this LatLng to JSON. + * @function toJSON + * @memberof google.type.LatLng + * @instance + * @returns {Object.} JSON object + */ + LatLng.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return LatLng; + })(); + + return type; + })(); + + return google; + })(); + + return $root; +}); diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 984250d9fc6..23cb6ba5418 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-09-14T11:29:38.380853Z", + "updateTime": "2019-09-20T11:30:18.499019Z", "sources": [ { "generator": { "name": "artman", - "version": "0.36.2", - "dockerImage": "googleapis/artman@sha256:0e6f3a668cd68afc768ecbe08817cf6e56a0e64fcbdb1c58c3b97492d12418a1" + "version": "0.36.3", + "dockerImage": "googleapis/artman@sha256:66ca01f27ef7dc50fbfb7743b67028115a6a8acf43b2d82f9fc826de008adac4" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "6b2ba2ae3124c22ecb56af7102c78110b8576671", - "internalRef": "268974829" + "sha": "44e588d97e7497dff01107d39b6a19062f9a4ffa", + "internalRef": "270200097" } }, { From 7d642960f8e8ebd9ea80165e1072178dfd10b0db Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 2 Oct 2019 01:09:50 -0700 Subject: [PATCH 334/588] fix: use compatible version of google-gax * fix: use compatible version of google-gax * fix: use gax v1.6.3 --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2bb8a7bc394..246605c763f 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,7 +41,7 @@ }, "dependencies": { "@google-cloud/promisify": "^1.0.0", - "google-gax": "^1.5.2", + "google-gax": "^1.6.3", "is": "^3.2.1" }, "devDependencies": { From 1ff8d0b4b1e6efb40c119d55635228b690b58793 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 8 Oct 2019 17:26:46 -0700 Subject: [PATCH 335/588] chore: update CONTRIBUTING.md and make releaseType node (#460) --- packages/google-cloud-vision/CONTRIBUTING.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/google-cloud-vision/CONTRIBUTING.md b/packages/google-cloud-vision/CONTRIBUTING.md index 78aaa61b269..f6c4cf010e3 100644 --- a/packages/google-cloud-vision/CONTRIBUTING.md +++ b/packages/google-cloud-vision/CONTRIBUTING.md @@ -34,6 +34,7 @@ accept your pull requests. 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. ## Running the tests @@ -46,8 +47,17 @@ accept your pull requests. 1. Run the tests: + # Run unit tests. npm test + # Run sample integration tests. + gcloud auth application-default login + npm run samples-test + + # Run all system tests. + gcloud auth application-default login + npm run system-test + 1. Lint (and maybe fix) any changes: npm run fix From ff55c62c7e61a3f18966fe5f21cfc72d5a6d57d9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 8 Oct 2019 18:38:17 -0700 Subject: [PATCH 336/588] chore: update pull request template (#455) --- .../cloud/vision/v1/image_annotator.proto | 44 +++++++++---------- .../vision/v1/product_search_service.proto | 6 +-- .../google-cloud-vision/protos/protos.d.ts | 20 ++++----- packages/google-cloud-vision/protos/protos.js | 44 +++++++++---------- .../google-cloud-vision/protos/protos.json | 20 ++++----- .../vision/v1/doc_product_search_service.js | 6 +-- packages/google-cloud-vision/synth.metadata | 10 ++--- 7 files changed, 75 insertions(+), 75 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index 6cff8dde4d5..d2588604605 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -207,28 +207,6 @@ message Feature { string model = 3; } -// A bucketized representation of likelihood, which is intended to give clients -// highly stable results across model upgrades. -enum Likelihood { - // Unknown likelihood. - UNKNOWN = 0; - - // It is very unlikely. - VERY_UNLIKELY = 1; - - // It is unlikely. - UNLIKELY = 2; - - // It is possible. - POSSIBLE = 3; - - // It is likely. - LIKELY = 4; - - // It is very likely. - VERY_LIKELY = 5; -} - // External image source (Google Cloud Storage or web URL image location). message ImageSource { // **Use `image_uri` instead.** @@ -272,6 +250,28 @@ message Image { ImageSource source = 2; } +// A bucketized representation of likelihood, which is intended to give clients +// highly stable results across model upgrades. +enum Likelihood { + // Unknown likelihood. + UNKNOWN = 0; + + // It is very unlikely. + VERY_UNLIKELY = 1; + + // It is unlikely. + UNLIKELY = 2; + + // It is possible. + POSSIBLE = 3; + + // It is likely. + LIKELY = 4; + + // It is very likely. + VERY_LIKELY = 5; +} + // A face annotation object contains the results of face detection. message FaceAnnotation { // A face-specific landmark (for example, a face feature). diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index 72657399ace..e5b5c5b533b 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -396,9 +396,9 @@ message Product { string description = 3; // Immutable. The category for the product identified by the reference image. This should - // be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or - // "general-v1" The legacy categories "homegoods", "apparel", and "toys" are - // still supported, but these should not be used for new products. + // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories + // "homegoods", "apparel", and "toys" are still supported, but these should + // not be used for new products. string product_category = 4 [(google.api.field_behavior) = IMMUTABLE]; // Key-value pairs that can be attached to a product. At query time, diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 0885d8d392f..5a10188d299 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -241,16 +241,6 @@ export namespace google { } } - /** Likelihood enum. */ - enum Likelihood { - UNKNOWN = 0, - VERY_UNLIKELY = 1, - UNLIKELY = 2, - POSSIBLE = 3, - LIKELY = 4, - VERY_LIKELY = 5 - } - /** Properties of an ImageSource. */ interface IImageSource { @@ -443,6 +433,16 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Likelihood enum. */ + enum Likelihood { + UNKNOWN = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + /** Properties of a FaceAnnotation. */ interface IFaceAnnotation { diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index a335014204e..90c80bb2297 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -555,28 +555,6 @@ return Feature; })(); - /** - * Likelihood enum. - * @name google.cloud.vision.v1.Likelihood - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value - * @property {number} UNLIKELY=2 UNLIKELY value - * @property {number} POSSIBLE=3 POSSIBLE value - * @property {number} LIKELY=4 LIKELY value - * @property {number} VERY_LIKELY=5 VERY_LIKELY value - */ - v1.Likelihood = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "VERY_UNLIKELY"] = 1; - values[valuesById[2] = "UNLIKELY"] = 2; - values[valuesById[3] = "POSSIBLE"] = 3; - values[valuesById[4] = "LIKELY"] = 4; - values[valuesById[5] = "VERY_LIKELY"] = 5; - return values; - })(); - v1.ImageSource = (function() { /** @@ -1011,6 +989,28 @@ return Image; })(); + /** + * Likelihood enum. + * @name google.cloud.vision.v1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + v1.FaceAnnotation = (function() { /** diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 8266f2a98fc..29fcad7cc52 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -107,16 +107,6 @@ } } }, - "Likelihood": { - "values": { - "UNKNOWN": 0, - "VERY_UNLIKELY": 1, - "UNLIKELY": 2, - "POSSIBLE": 3, - "LIKELY": 4, - "VERY_LIKELY": 5 - } - }, "ImageSource": { "fields": { "gcsImageUri": { @@ -141,6 +131,16 @@ } } }, + "Likelihood": { + "values": { + "UNKNOWN": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, "FaceAnnotation": { "fields": { "boundingPoly": { diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index d469fc6def8..da0c0c2d361 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -36,9 +36,9 @@ * * @property {string} productCategory * Immutable. The category for the product identified by the reference image. This should - * be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or - * "general-v1" The legacy categories "homegoods", "apparel", and "toys" are - * still supported, but these should not be used for new products. + * be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories + * "homegoods", "apparel", and "toys" are still supported, but these should + * not be used for new products. * * @property {Object[]} productLabels * Key-value pairs that can be attached to a product. At query time, diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 23cb6ba5418..afb63a6d18c 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-09-20T11:30:18.499019Z", + "updateTime": "2019-10-01T11:38:30.509743Z", "sources": [ { "generator": { "name": "artman", - "version": "0.36.3", - "dockerImage": "googleapis/artman@sha256:66ca01f27ef7dc50fbfb7743b67028115a6a8acf43b2d82f9fc826de008adac4" + "version": "0.37.1", + "dockerImage": "googleapis/artman@sha256:6068f67900a3f0bdece596b97bda8fc70406ca0e137a941f4c81d3217c994a80" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "44e588d97e7497dff01107d39b6a19062f9a4ffa", - "internalRef": "270200097" + "sha": "ce3c574d1266026cebea3a893247790bd68191c2", + "internalRef": "272147209" } }, { From 08e84a06b7e18fb23354995d956c989a148991f8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 10 Oct 2019 08:30:02 -0700 Subject: [PATCH 337/588] fix: update protobuf options for product sets (#462) --- .../protos/google/cloud/vision/v1/product_search.proto | 5 ++++- .../cloud/vision/v1/product_search_service.proto | 1 + packages/google-cloud-vision/protos/protos.json | 8 ++++++-- packages/google-cloud-vision/synth.metadata | 10 +++++----- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index bede95be468..6df694b8b76 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -21,6 +21,7 @@ import "google/cloud/vision/v1/geometry.proto"; import "google/cloud/vision/v1/product_search_service.proto"; import "google/protobuf/timestamp.proto"; import "google/api/annotations.proto"; +import "google/api/resource.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; @@ -39,7 +40,9 @@ message ProductSearchParams { // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. - string product_set = 6; + string product_set = 6 [(google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + }]; // The list of product categories to search in. Currently, we only consider // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index e5b5c5b533b..ecfcdf6c7bf 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -260,6 +260,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" }; + option (google.api.method_signature) = "name"; } // Adds a Product to the specified ProductSet. If the Product is already diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 29fcad7cc52..28b91718117 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -920,7 +920,10 @@ }, "productSet": { "type": "string", - "id": 6 + "id": 6, + "options": { + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "productCategories": { "rule": "repeated", @@ -1126,7 +1129,8 @@ "requestType": "GetReferenceImageRequest", "responseType": "ReferenceImage", "options": { - "(google.api.http).get": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" + "(google.api.http).get": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}", + "(google.api.method_signature)": "name" } }, "AddProductToProductSet": { diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index afb63a6d18c..f9e94574226 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-10-01T11:38:30.509743Z", + "updateTime": "2019-10-10T11:36:24.226193Z", "sources": [ { "generator": { "name": "artman", - "version": "0.37.1", - "dockerImage": "googleapis/artman@sha256:6068f67900a3f0bdece596b97bda8fc70406ca0e137a941f4c81d3217c994a80" + "version": "0.38.0", + "dockerImage": "googleapis/artman@sha256:0d2f8d429110aeb8d82df6550ef4ede59d40df9062d260a1580fce688b0512bf" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "ce3c574d1266026cebea3a893247790bd68191c2", - "internalRef": "272147209" + "sha": "10f91fa12f70e8e0209a45fc10807ed1f77c7e4e", + "internalRef": "273826591" } }, { From d4d3dfe5eb366add078d84f2e893da61fac5f0f6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 10 Oct 2019 10:22:42 -0700 Subject: [PATCH 338/588] chore: release 1.5.0 (#445) --- packages/google-cloud-vision/CHANGELOG.md | 14 ++++++++++++++ packages/google-cloud-vision/package.json | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index e4ea5c341fb..f38ca0f041c 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,20 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.5.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.4.0...v1.5.0) (2019-10-10) + + +### Bug Fixes + +* update protobuf options for product sets ([#462](https://www.github.com/googleapis/nodejs-vision/issues/462)) ([32b3fa9](https://www.github.com/googleapis/nodejs-vision/commit/32b3fa9)) +* use compatible version of google-gax ([a4f2863](https://www.github.com/googleapis/nodejs-vision/commit/a4f2863)) + + +### Features + +* .d.ts for protos ([#451](https://www.github.com/googleapis/nodejs-vision/issues/451)) ([15f4329](https://www.github.com/googleapis/nodejs-vision/commit/15f4329)) +* additional safe search confidence fields ([#444](https://www.github.com/googleapis/nodejs-vision/issues/444)) ([31735a7](https://www.github.com/googleapis/nodejs-vision/commit/31735a7)) + ## [1.4.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.3.0...v1.4.0) (2019-09-14) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 246605c763f..fb1e43e6e90 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.4.0", + "version": "1.5.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { From ad89eb9e024c890069d174d99e1949412b986944 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 19 Oct 2019 01:41:47 +0300 Subject: [PATCH 339/588] chore(deps): update dependency @google-cloud/storage to v4 (#463) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index fb1e43e6e90..ddc90c44746 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -45,7 +45,7 @@ "is": "^3.2.1" }, "devDependencies": { - "@google-cloud/storage": "^3.0.0", + "@google-cloud/storage": "^4.0.0", "codecov": "^3.0.2", "eslint": "^6.0.0", "eslint-config-prettier": "^6.0.0", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 5eb21a4c576..d8fc33843ea 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -21,7 +21,7 @@ "yargs": "^14.0.0" }, "devDependencies": { - "@google-cloud/storage": "^2.0.0", + "@google-cloud/storage": "^4.0.0", "chai": "^4.2.0", "mocha": "^6.0.0", "uuid": "^3.2.1" From 1dbc30f7f4400fc3784e5c9124651125c8a6acc3 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 21 Oct 2019 20:25:42 -0700 Subject: [PATCH 340/588] fix(deps): bump google-gax to 1.7.5 (#464) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ddc90c44746..ed92fc7e1f2 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,7 +41,7 @@ }, "dependencies": { "@google-cloud/promisify": "^1.0.0", - "google-gax": "^1.6.3", + "google-gax": "^1.7.5", "is": "^3.2.1" }, "devDependencies": { From 8d5b55d80677a044db7c1cecdd4cbdbab4447315 Mon Sep 17 00:00:00 2001 From: Brad Miro Date: Mon, 28 Oct 2019 21:35:29 -0400 Subject: [PATCH 341/588] feat: added endpoint samples for vision api (#467) --- packages/google-cloud-vision/README.md | 1 + .../google-cloud-vision/linkinator.config.json | 3 ++- packages/google-cloud-vision/samples/README.md | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index a67d392dedf..27b41e31e5c 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -85,6 +85,7 @@ has instructions for running the samples. | Detect.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) | | Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | +| Set Endpoint | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) | | Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | diff --git a/packages/google-cloud-vision/linkinator.config.json b/packages/google-cloud-vision/linkinator.config.json index d780d6bfff5..cad97afdc56 100644 --- a/packages/google-cloud-vision/linkinator.config.json +++ b/packages/google-cloud-vision/linkinator.config.json @@ -2,6 +2,7 @@ "recurse": true, "skip": [ "https://codecov.io/gh/googleapis/", - "www.googleapis.com" + "www.googleapis.com", + "setEndpoint.js" ] } diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 67a854b8bdb..8c8cdf5a04c 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -17,6 +17,7 @@ * [Detect.v1p3beta1](#detect.v1p3beta1) * [Face Detection](#face-detection) * [Quickstart](#quickstart) + * [Set Endpoint](#set-endpoint) * [Text Detection](#text-detection) ## Before you begin @@ -113,6 +114,22 @@ __Usage:__ +### Set Endpoint + +View the [source code]https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) + +[![Open in Cloud shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) + +__Usage:__ + +`node setEndpoint.js` + +----- + + + + + ### Text Detection View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js). From 6c453b816b0c2149372618b29fff3dea05058c92 Mon Sep 17 00:00:00 2001 From: Brad Miro Date: Tue, 29 Oct 2019 16:20:05 -0400 Subject: [PATCH 342/588] revert: added endpoint samples for vision api Revert: 4c569b4ace83be63a12f85676c174a663796fa47 --- packages/google-cloud-vision/README.md | 1 - .../google-cloud-vision/linkinator.config.json | 3 +-- packages/google-cloud-vision/samples/README.md | 17 ----------------- 3 files changed, 1 insertion(+), 20 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 27b41e31e5c..a67d392dedf 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -85,7 +85,6 @@ has instructions for running the samples. | Detect.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) | | Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | -| Set Endpoint | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) | | Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | diff --git a/packages/google-cloud-vision/linkinator.config.json b/packages/google-cloud-vision/linkinator.config.json index cad97afdc56..d780d6bfff5 100644 --- a/packages/google-cloud-vision/linkinator.config.json +++ b/packages/google-cloud-vision/linkinator.config.json @@ -2,7 +2,6 @@ "recurse": true, "skip": [ "https://codecov.io/gh/googleapis/", - "www.googleapis.com", - "setEndpoint.js" + "www.googleapis.com" ] } diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 8c8cdf5a04c..67a854b8bdb 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -17,7 +17,6 @@ * [Detect.v1p3beta1](#detect.v1p3beta1) * [Face Detection](#face-detection) * [Quickstart](#quickstart) - * [Set Endpoint](#set-endpoint) * [Text Detection](#text-detection) ## Before you begin @@ -114,22 +113,6 @@ __Usage:__ -### Set Endpoint - -View the [source code]https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) - -[![Open in Cloud shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) - -__Usage:__ - -`node setEndpoint.js` - ------ - - - - - ### Text Detection View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js). From 48c0f2b2a0bc3df40e12851d8325a5a3525044e4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 4 Nov 2019 10:10:50 -0800 Subject: [PATCH 343/588] chore: exclude gapic files from test coverage (#475) --- packages/google-cloud-vision/.nycrc | 1 - packages/google-cloud-vision/synth.metadata | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/.nycrc b/packages/google-cloud-vision/.nycrc index 23e322204ec..367688844eb 100644 --- a/packages/google-cloud-vision/.nycrc +++ b/packages/google-cloud-vision/.nycrc @@ -10,7 +10,6 @@ "**/docs", "**/samples", "**/scripts", - "**/src/**/v*/**/*.js", "**/protos", "**/test", ".jsdoc.js", diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index f9e94574226..218200a5116 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,26 +1,26 @@ { - "updateTime": "2019-10-10T11:36:24.226193Z", + "updateTime": "2019-11-02T11:22:06.431825Z", "sources": [ { "generator": { "name": "artman", - "version": "0.38.0", - "dockerImage": "googleapis/artman@sha256:0d2f8d429110aeb8d82df6550ef4ede59d40df9062d260a1580fce688b0512bf" + "version": "0.41.0", + "dockerImage": "googleapis/artman@sha256:75b38a3b073a7b243545f2332463096624c802bb1e56b8cb6f22ba1ecd325fa9" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "10f91fa12f70e8e0209a45fc10807ed1f77c7e4e", - "internalRef": "273826591" + "sha": "aac770126e2def40dcc387f50e8007b21c869e58", + "internalRef": "278016738" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.5.2" + "version": "2019.10.17" } } ], From c810082b741f52fdfbdc4344a04ae26044924b65 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 5 Nov 2019 05:45:25 -0800 Subject: [PATCH 344/588] tests: update sample image (#476) --- .../smoke-test/image_annotator_smoke_test.js | 3 ++- packages/google-cloud-vision/synth.metadata | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index 81c4762d560..925483dd3d5 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -22,7 +22,8 @@ describe('ImageAnnotatorSmokeTest', () => { // optional auth parameters. }); - const gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + const gcsImageUri = + 'gs://cloud-samples-data/vision/face_detection/celebrity_recognition/sergey.jpg'; const source = { gcsImageUri: gcsImageUri, }; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 218200a5116..59aad1d6a88 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-02T11:22:06.431825Z", + "updateTime": "2019-11-05T12:29:26.912070Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "aac770126e2def40dcc387f50e8007b21c869e58", - "internalRef": "278016738" + "sha": "8c6569ced063c08a48272de2e887860d0c40d388", + "internalRef": "278552094" } }, { From 4f7cec6d41d84342d7493067d8614e11597d5b1b Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2019 12:46:57 -0800 Subject: [PATCH 345/588] chore: release 1.6.0 (#470) --- packages/google-cloud-vision/CHANGELOG.md | 17 +++++++++++++++++ packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index f38ca0f041c..52fdc622ad7 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,23 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.6.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.5.0...v1.6.0) (2019-11-05) + + +### Features + +* added endpoint samples for vision api ([#467](https://www.github.com/googleapis/nodejs-vision/issues/467)) ([4c569b4](https://www.github.com/googleapis/nodejs-vision/commit/4c569b4ace83be63a12f85676c174a663796fa47)) + + +### Bug Fixes + +* **deps:** bump google-gax to 1.7.5 ([#464](https://www.github.com/googleapis/nodejs-vision/issues/464)) ([dcc4d62](https://www.github.com/googleapis/nodejs-vision/commit/dcc4d622f46922975d028af20aefc27446fdcad5)) + + +### Reverts + +* added endpoint samples for vision api ([ea5d421](https://www.github.com/googleapis/nodejs-vision/commit/ea5d4218816571556a2059fc977e2223678c979e)) + ## [1.5.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.4.0...v1.5.0) (2019-10-10) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ed92fc7e1f2..bdef4e1f151 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.5.0", + "version": "1.6.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index d8fc33843ea..a18f8c9551a 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.4.0", + "@google-cloud/vision": "^1.6.0", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From 49349f628f0665dbf7f2a1654272316f5f44455f Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 8 Nov 2019 10:06:52 -0800 Subject: [PATCH 346/588] feat: add celebrity face detection (#477) --- .../google/cloud/vision/v1p4beta1/face.proto | 61 + .../cloud/vision/v1p4beta1/geometry.proto | 2 +- .../vision/v1p4beta1/image_annotator.proto | 117 +- .../vision/v1p4beta1/product_search.proto | 40 +- .../v1p4beta1/product_search_service.proto | 351 +- .../vision/v1p4beta1/text_annotation.proto | 6 +- .../vision/v1p4beta1/web_detection.proto | 24 +- .../google-cloud-vision/protos/protos.d.ts | 1250 +- packages/google-cloud-vision/protos/protos.js | 11663 +++++++++------- .../google-cloud-vision/protos/protos.json | 464 +- .../google/cloud/vision/v1p4beta1/doc_face.js | 75 + .../vision/v1p4beta1/doc_image_annotator.js | 114 +- .../vision/v1p4beta1/doc_product_search.js | 43 +- .../v1p4beta1/doc_product_search_service.js | 119 +- .../vision/v1p4beta1/doc_text_annotation.js | 4 +- .../vision/v1p4beta1/doc_web_detection.js | 38 +- .../src/v1p4beta1/image_annotator_client.js | 8 +- .../src/v1p4beta1/product_search_client.js | 164 +- .../product_search_client_config.json | 5 + packages/google-cloud-vision/synth.metadata | 6 +- .../test/gapic-v1p4beta1.js | 56 + 21 files changed, 8867 insertions(+), 5743 deletions(-) create mode 100644 packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/face.proto create mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/face.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/face.proto new file mode 100644 index 00000000000..1786f26f065 --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/face.proto @@ -0,0 +1,61 @@ +// Copyright 2019 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.cloud.vision.v1p4beta1; + +import "google/api/annotations.proto"; +import "google/cloud/vision/v1p4beta1/geometry.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision"; +option java_multiple_files = true; +option java_outer_classname = "CelebrityProto"; +option java_package = "com.google.cloud.vision.v1p4beta1"; +option objc_class_prefix = "GCVN"; + +// Parameters for a celebrity recognition request. +message FaceRecognitionParams { + // The resource names for one or more + // [CelebritySet][google.cloud.vision.v1p4beta1.CelebritySet]s. A celebrity + // set is preloaded and can be specified as "builtin/default". If this is + // specified, the algorithm will try to match the faces detected in the input + // image to the Celebrities in the CelebritySets. + repeated string celebrity_set = 1; +} + +// A Celebrity is a group of Faces with an identity. +message Celebrity { + // The resource name of the preloaded Celebrity. Has the format + // `builtin/{mid}`. + string name = 1; + + // The Celebrity's display name. + string display_name = 2; + + // The Celebrity's description. + string description = 3; +} + +// Information about a face's identity. +message FaceRecognitionResult { + // The [Celebrity][google.cloud.vision.v1p4beta1.Celebrity] that this face was + // matched to. + Celebrity celebrity = 1; + + // Recognition confidence. Range [0, 1]. + float confidence = 2; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto index b0abd329c02..18877188fae 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index 30318044a67..e3553b0de02 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,9 @@ syntax = "proto3"; package google.cloud.vision.v1p4beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/cloud/vision/v1p4beta1/face.proto"; import "google/cloud/vision/v1p4beta1/geometry.proto"; import "google/cloud/vision/v1p4beta1/product_search.proto"; import "google/cloud/vision/v1p4beta1/text_annotation.proto"; @@ -40,6 +43,11 @@ option objc_class_prefix = "GCVN"; // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. service ImageAnnotator { + option (google.api.default_host) = "vision.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-vision"; + // Run image detection and annotation for a batch of images. rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { @@ -47,6 +55,7 @@ service ImageAnnotator { post: "/v1p4beta1/images:annotate" body: "*" }; + option (google.api.method_signature) = "requests"; } // Service that performs image detection and annotation for a batch of files. @@ -62,6 +71,7 @@ service ImageAnnotator { post: "/v1p4beta1/files:annotate" body: "*" }; + option (google.api.method_signature) = "requests"; } // Run asynchronous image detection and annotation for a list of images. @@ -79,6 +89,11 @@ service ImageAnnotator { post: "/v1p4beta1/images:asyncBatchAnnotate" body: "*" }; + option (google.api.method_signature) = "requests,output_config"; + option (google.longrunning.operation_info) = { + response_type: "AsyncBatchAnnotateImagesResponse" + metadata_type: "OperationMetadata" + }; } // Run asynchronous image detection and annotation for a list of generic @@ -93,6 +108,11 @@ service ImageAnnotator { post: "/v1p4beta1/files:asyncBatchAnnotate" body: "*" }; + option (google.api.method_signature) = "requests"; + option (google.longrunning.operation_info) = { + response_type: "AsyncBatchAnnotateFilesResponse" + metadata_type: "OperationMetadata" + }; } } @@ -209,19 +229,19 @@ enum Likelihood { // Unknown likelihood. UNKNOWN = 0; - // It is very unlikely that the image belongs to the specified vertical. + // It is very unlikely. VERY_UNLIKELY = 1; - // It is unlikely that the image belongs to the specified vertical. + // It is unlikely. UNLIKELY = 2; - // It is possible that the image belongs to the specified vertical. + // It is possible. POSSIBLE = 3; - // It is likely that the image belongs to the specified vertical. + // It is likely. LIKELY = 4; - // It is very likely that the image belongs to the specified vertical. + // It is very likely. VERY_LIKELY = 5; } @@ -407,6 +427,13 @@ message FaceAnnotation { // Headwear likelihood. Likelihood headwear_likelihood = 15; + + // Additional recognition information. Only computed if + // image_context.face_recognition_params is provided, **and** a match is found + // to a [Celebrity][google.cloud.vision.v1p4beta1.Celebrity] in the input + // [CelebritySet][google.cloud.vision.v1p4beta1.CelebritySet]. This field is + // sorted in order of decreasing confidence values. + repeated FaceRecognitionResult recognition_result = 16; } // Detected entity location information. @@ -611,6 +638,9 @@ message ImageContext { // Parameters for crop hints annotation request. CropHintsParams crop_hints_params = 4; + // Parameters for face recognition. + FaceRecognitionParams face_recognition_params = 10; + // Parameters for product search. ProductSearchParams product_search_params = 5; @@ -694,19 +724,6 @@ message AnnotateImageResponse { ImageAnnotationContext context = 21; } -// Response to a single file annotation request. A file may contain one or more -// images, which individually have their own responses. -message AnnotateFileResponse { - // Information about the file for which this response is generated. - InputConfig input_config = 1; - - // Individual responses to images found within the file. - repeated AnnotateImageResponse responses = 2; - - // This field gives the total number of pages in the file. - int32 total_pages = 3; -} - // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { // Individual image annotation requests for this batch. @@ -747,11 +764,30 @@ message AnnotateFileRequest { repeated int32 pages = 4; } +// Response to a single file annotation request. A file may contain one or more +// images, which individually have their own responses. +message AnnotateFileResponse { + // Information about the file for which this response is generated. + InputConfig input_config = 1; + + // Individual responses to images found within the file. This field will be + // empty if the `error` field is set. + repeated AnnotateImageResponse responses = 2; + + // This field gives the total number of pages in the file. + int32 total_pages = 3; + + // If set, represents the error message for the failed request. The + // `responses` field will not be set in this case. + google.rpc.Status error = 4; +} + // A list of requests to annotate files using the BatchAnnotateFiles API. message BatchAnnotateFilesRequest { - // The list of file annotation requests. Right now we support only one - // AnnotateFileRequest in BatchAnnotateFilesRequest. - repeated AnnotateFileRequest requests = 1; + // Required. The list of file annotation requests. Right now we support only + // one AnnotateFileRequest in BatchAnnotateFilesRequest. + repeated AnnotateFileRequest requests = 1 + [(google.api.field_behavior) = REQUIRED]; } // A list of file annotation responses. @@ -784,11 +820,12 @@ message AsyncAnnotateFileResponse { // Request for async image annotation for a list of images. message AsyncBatchAnnotateImagesRequest { - // Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1; + // Required. Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1 + [(google.api.field_behavior) = REQUIRED]; // Required. The desired output location and metadata (e.g. format). - OutputConfig output_config = 2; + OutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED]; } // Response to an async batch image annotation request. @@ -800,8 +837,9 @@ message AsyncBatchAnnotateImagesResponse { // Multiple async file annotation requests are batched into a single service // call. message AsyncBatchAnnotateFilesRequest { - // Individual async file annotation requests for this batch. - repeated AsyncAnnotateFileRequest requests = 1; + // Required. Individual async file annotation requests for this batch. + repeated AsyncAnnotateFileRequest requests = 1 + [(google.api.field_behavior) = REQUIRED]; } // Response to an async batch file annotation request. @@ -824,8 +862,8 @@ message InputConfig { // not work for AsyncBatchAnnotateFiles requests. bytes content = 3; - // The type of the file. Currently only "application/pdf" and "image/tiff" - // are supported. Wildcards are not supported. + // The type of the file. Currently only "application/pdf", "image/tiff" and + // "image/gif" are supported. Wildcards are not supported. string mime_type = 2; } @@ -857,16 +895,23 @@ message GcsSource { // The Google Cloud Storage location where the output will be written to. message GcsDestination { - // Google Cloud Storage URI where the results will be stored. Results will - // be in JSON format and preceded by its corresponding input URI. This field - // can either represent a single file, or a prefix for multiple outputs. - // Prefixes must end in a `/`. + // Google Cloud Storage URI prefix where the results will be stored. Results + // will be in JSON format and preceded by its corresponding input URI prefix. + // This field can either represent a gcs file prefix or gcs directory. In + // either case, the uri should be unique because in order to get all of the + // output files, you will need to do a wildcard gcs search on the uri prefix + // you provide. // // Examples: // - // * File: gs://bucket-name/filename.json - // * Prefix: gs://bucket-name/prefix/here/ - // * File: gs://bucket-name/prefix/here + // * File Prefix: gs://bucket-name/here/filenameprefix The output files + // will be created in gs://bucket-name/here/ and the names of the + // output files will begin with "filenameprefix". + // + // * Directory Prefix: gs://bucket-name/some/location/ The output files + // will be created in gs://bucket-name/some/location/ and the names of the + // output files could be anything because there was no filename prefix + // specified. // // If multiple outputs, each response is still AnnotateFileResponse, each of // which contains some subset of the full list of AnnotateImageResponse. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto index e0982facdcc..15baed1fd27 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ syntax = "proto3"; package google.cloud.vision.v1p4beta1; import "google/api/annotations.proto"; +import "google/api/resource.proto"; import "google/cloud/vision/v1p4beta1/geometry.proto"; import "google/cloud/vision/v1p4beta1/product_search_service.proto"; import "google/protobuf/timestamp.proto"; @@ -32,7 +33,7 @@ option objc_class_prefix = "GCVN"; // Parameters for a product search request. message ProductSearchParams { // The bounding polygon around the area of interest in the image. - // Optional. If it is not specified, system discretion will be applied. + // If it is not specified, system discretion will be applied. BoundingPoly bounding_poly = 9; // The resource name of a @@ -41,7 +42,9 @@ message ProductSearchParams { // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. - string product_set = 6; + string product_set = 6 [(google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + }]; // The list of product categories to search in. Currently, we only consider // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", @@ -54,10 +57,12 @@ message ProductSearchParams { // The filtering expression. This can be used to restrict search results based // on Product labels. We currently support an AND of OR of key-value - // expressions, where each expression within an OR must have the same key. + // expressions, where each expression within an OR must have the same key. An + // '=' should be used to connect the key and value. // // For example, "(color = red OR color = blue) AND brand = Google" is - // acceptable, but not "(color = red OR brand = Google)" or "color: red". + // acceptable, but "(color = red OR brand = Google)" is not acceptable. + // "color: red" is not acceptable because it uses a ':' instead of an '='. string filter = 8; } @@ -77,6 +82,23 @@ message ProductSearchResults { string image = 3; } + // Prediction for what the object in the bounding box is. + message ObjectAnnotation { + // Object ID that should align with EntityAnnotation mid. + string mid = 1; + + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + + // Object name, expressed in its `language_code` language. + string name = 3; + + // Score of the result. Range [0, 1]. + float score = 4; + } + // Information about the products similar to a single product in a query // image. message GroupedResult { @@ -85,10 +107,14 @@ message ProductSearchResults { // List of results, one for each product match. repeated Result results = 2; + + // List of generic predictions for the object in the bounding box. + repeated ObjectAnnotation object_annotations = 3; } - // Timestamp of the index which provided these results. Changes made after - // this time are not reflected in the current results. + // Timestamp of the index which provided these results. Products added to the + // product set and products removed from the product set after this time are + // not reflected in the current results. google.protobuf.Timestamp index_time = 2; // List of results, one for each product match. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto index 28d7378b249..1a165c70883 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,9 @@ syntax = "proto3"; package google.cloud.vision.v1p4beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/cloud/vision/v1p4beta1/geometry.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/empty.proto"; @@ -51,6 +54,11 @@ option objc_class_prefix = "GCVN"; // named // `projects/*/locations/*/products/*/referenceImages/*` service ProductSearch { + option (google.api.default_host) = "vision.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-vision"; + // Creates and returns a new ProductSet resource. // // Possible errors: @@ -62,6 +70,7 @@ service ProductSearch { post: "/v1p4beta1/{parent=projects/*/locations/*}/productSets" body: "product_set" }; + option (google.api.method_signature) = "parent,product_set,product_set_id"; } // Lists ProductSets in an unspecified order. @@ -75,6 +84,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p4beta1/{parent=projects/*/locations/*}/productSets" }; + option (google.api.method_signature) = "parent"; } // Gets information associated with a ProductSet. @@ -86,6 +96,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" }; + option (google.api.method_signature) = "name"; } // Makes changes to a ProductSet resource. @@ -101,21 +112,19 @@ service ProductSearch { patch: "/v1p4beta1/{product_set.name=projects/*/locations/*/productSets/*}" body: "product_set" }; + option (google.api.method_signature) = "product_set,update_mask"; } // Permanently deletes a ProductSet. Products and ReferenceImages in the // ProductSet are not deleted. // // The actual image files are not deleted from Google Cloud Storage. - // - // Possible errors: - // - // * Returns NOT_FOUND if the ProductSet does not exist. rpc DeleteProductSet(DeleteProductSetRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" }; + option (google.api.method_signature) = "name"; } // Creates and returns a new product resource. @@ -131,6 +140,7 @@ service ProductSearch { post: "/v1p4beta1/{parent=projects/*/locations/*}/products" body: "product" }; + option (google.api.method_signature) = "parent,product,product_id"; } // Lists products in an unspecified order. @@ -142,6 +152,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p4beta1/{parent=projects/*/locations/*}/products" }; + option (google.api.method_signature) = "parent"; } // Gets information associated with a Product. @@ -153,6 +164,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p4beta1/{name=projects/*/locations/*/products/*}" }; + option (google.api.method_signature) = "name"; } // Makes changes to a Product resource. @@ -175,6 +187,7 @@ service ProductSearch { patch: "/v1p4beta1/{product.name=projects/*/locations/*/products/*}" body: "product" }; + option (google.api.method_signature) = "product,update_mask"; } // Permanently deletes a product and its reference images. @@ -182,14 +195,11 @@ service ProductSearch { // Metadata of the product and all its images will be deleted right away, but // search queries against ProductSets containing the product may still work // until all related caches are refreshed. - // - // Possible errors: - // - // * Returns NOT_FOUND if the product does not exist. rpc DeleteProduct(DeleteProductRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1p4beta1/{name=projects/*/locations/*/products/*}" }; + option (google.api.method_signature) = "name"; } // Creates and returns a new ReferenceImage resource. @@ -217,6 +227,8 @@ service ProductSearch { post: "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" body: "reference_image" }; + option (google.api.method_signature) = + "parent,reference_image,reference_image_id"; } // Permanently deletes a reference image. @@ -226,15 +238,12 @@ service ProductSearch { // caches are refreshed. // // The actual image files are not deleted from Google Cloud Storage. - // - // Possible errors: - // - // * Returns NOT_FOUND if the reference image does not exist. rpc DeleteReferenceImage(DeleteReferenceImageRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" }; + option (google.api.method_signature) = "name"; } // Lists reference images. @@ -249,6 +258,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" }; + option (google.api.method_signature) = "parent"; } // Gets information associated with a ReferenceImage. @@ -260,6 +270,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" }; + option (google.api.method_signature) = "name"; } // Adds a Product to the specified ProductSet. If the Product is already @@ -276,19 +287,17 @@ service ProductSearch { post: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:addProduct" body: "*" }; + option (google.api.method_signature) = "name,product"; } // Removes a Product from the specified ProductSet. - // - // Possible errors: - // - // * Returns NOT_FOUND If the Product is not found under the ProductSet. rpc RemoveProductFromProductSet(RemoveProductFromProductSetRequest) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:removeProduct" body: "*" }; + option (google.api.method_signature) = "name,product"; } // Lists the Products in a ProductSet, in an unspecified order. If the @@ -303,6 +312,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products" }; + option (google.api.method_signature) = "name"; } // Asynchronous API that imports a list of reference images to specified @@ -322,11 +332,58 @@ service ProductSearch { post: "/v1p4beta1/{parent=projects/*/locations/*}/productSets:import" body: "*" }; + option (google.api.method_signature) = "parent,input_config"; + option (google.longrunning.operation_info) = { + response_type: "ImportProductSetsResponse" + metadata_type: "BatchOperationMetadata" + }; + } + + // Asynchronous API to delete all Products in a ProductSet or all Products + // that are in no ProductSet. + // + // If a Product is a member of the specified ProductSet in addition to other + // ProductSets, the Product will still be deleted. + // + // It is recommended to not delete the specified ProductSet until after this + // operation has completed. It is also recommended to not add any of the + // Products involved in the batch delete to a new ProductSet while this + // operation is running because those Products may still end up deleted. + // + // It's not possible to undo the PurgeProducts operation. Therefore, it is + // recommended to keep the csv files used in ImportProductSets (if that was + // how you originally built the Product Set) before starting PurgeProducts, in + // case you need to re-import the data after deletion. + // + // If the plan is to purge all of the Products from a ProductSet and then + // re-use the empty ProductSet to re-import new Products into the empty + // ProductSet, you must wait until the PurgeProducts operation has finished + // for that ProductSet. + // + // The [google.longrunning.Operation][google.longrunning.Operation] API can be + // used to keep track of the progress and results of the request. + // `Operation.metadata` contains `BatchOperationMetadata`. (progress) + rpc PurgeProducts(PurgeProductsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1p4beta1/{parent=projects/*/locations/*}/products:purge" + body: "*" + }; + option (google.api.method_signature) = "parent"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "BatchOperationMetadata" + }; } } // A Product contains ReferenceImages. message Product { + option (google.api.resource) = { + type: "vision.googleapis.com/Product" + pattern: "projects/{project}/locations/{location}/products/{product}" + }; + // A product label represented as a key-value pair. message KeyValue { // The key of the label attached to the product. Cannot be empty and cannot @@ -354,13 +411,11 @@ message Product { // characters long. string description = 3; - // The category for the product identified by the reference image. This should - // be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or - // "general-v1" The legacy categories "homegoods", "apparel", and "toys" are - // still supported, but these should not be used for new products. - // - // This field is immutable. - string product_category = 4; + // Immutable. The category for the product identified by the reference image. + // This should be either "homegoods-v2", "apparel-v2", or "toys-v2". The + // legacy categories "homegoods", "apparel", and "toys" are still supported, + // but these should not be used for new products. + string product_category = 4 [(google.api.field_behavior) = IMMUTABLE]; // Key-value pairs that can be attached to a product. At query time, // constraints can be specified based on the product_labels. @@ -370,7 +425,11 @@ message Product { // to be supported soon. // // Multiple values can be assigned to the same key. One product may have up to - // 100 product_labels. + // 500 product_labels. + // + // Notice that the total number of distinct product_labels over all products + // in one ProductSet cannot exceed 1M, otherwise the product search pipeline + // will refuse to work for that ProductSet. repeated KeyValue product_labels = 5; } @@ -378,6 +437,11 @@ message Product { // million reference images. If the limit is exceeded, periodic indexing will // fail. message ProductSet { + option (google.api.resource) = { + type: "vision.googleapis.com/ProductSet" + pattern: "projects/{project}/locations/{location}/productSets/{product_set}" + }; + // The resource name of the ProductSet. // // Format is: @@ -396,18 +460,24 @@ message ProductSet { // "1970-01-01T00:00:00Z". // // This field is ignored when creating a ProductSet. - google.protobuf.Timestamp index_time = 3; + google.protobuf.Timestamp index_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. If there was an error with indexing the product set, the field // is populated. // // This field is ignored when creating a ProductSet. - google.rpc.Status index_error = 4; + google.rpc.Status index_error = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A `ReferenceImage` represents a product image and its associated metadata, // such as bounding boxes. message ReferenceImage { + option (google.api.resource) = { + type: "vision.googleapis.com/ReferenceImage" + pattern: "projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}" + }; + // The resource name of the reference image. // // Format is: @@ -417,34 +487,38 @@ message ReferenceImage { // This field is ignored when creating a reference image. string name = 1; - // The Google Cloud Storage URI of the reference image. + // Required. The Google Cloud Storage URI of the reference image. // // The URI must start with `gs://`. - // - // Required. - string uri = 2; + string uri = 2 [(google.api.field_behavior) = REQUIRED]; - // Bounding polygons around the areas of interest in the reference image. - // Optional. If this field is empty, the system will try to detect regions of + // Optional. Bounding polygons around the areas of interest in the reference + // image. If this field is empty, the system will try to detect regions of // interest. At most 10 bounding polygons will be used. // // The provided shape is converted into a non-rotated rectangle. Once // converted, the small edge of the rectangle must be greater than or equal // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 // is not). - repeated BoundingPoly bounding_polys = 3; + repeated BoundingPoly bounding_polys = 3 + [(google.api.field_behavior) = OPTIONAL]; } // Request message for the `CreateProduct` method. message CreateProductRequest { - // The project in which the Product should be created. + // Required. The project in which the Product should be created. // // Format is // `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; - // The product to create. - Product product = 2; + // Required. The product to create. + Product product = 2 [(google.api.field_behavior) = REQUIRED]; // A user-supplied resource id for this Product. If set, the server will // attempt to use this value as the resource id. If it is already in use, an @@ -455,11 +529,16 @@ message CreateProductRequest { // Request message for the `ListProducts` method. message ListProductsRequest { - // The project OR ProductSet from which Products should be listed. + // Required. The project OR ProductSet from which Products should be listed. // // Format: // `projects/PROJECT_ID/locations/LOC_ID` - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -480,18 +559,21 @@ message ListProductsResponse { // Request message for the `GetProduct` method. message GetProductRequest { - // Resource name of the Product to get. + // Required. Resource name of the Product to get. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "vision.googleapis.com/Product" } + ]; } // Request message for the `UpdateProduct` method. message UpdateProductRequest { - // The Product resource which replaces the one on the server. + // Required. The Product resource which replaces the one on the server. // product.name is immutable. - Product product = 1; + Product product = 1 [(google.api.field_behavior) = REQUIRED]; // The [FieldMask][google.protobuf.FieldMask] that specifies which fields // to update. @@ -503,22 +585,30 @@ message UpdateProductRequest { // Request message for the `DeleteProduct` method. message DeleteProductRequest { - // Resource name of product to delete. + // Required. Resource name of product to delete. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "vision.googleapis.com/Product" } + ]; } // Request message for the `CreateProductSet` method. message CreateProductSetRequest { - // The project in which the ProductSet should be created. + // Required. The project in which the ProductSet should be created. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; - // The ProductSet to create. - ProductSet product_set = 2; + // Required. The ProductSet to create. + ProductSet product_set = 2 [(google.api.field_behavior) = REQUIRED]; // A user-supplied resource id for this ProductSet. If set, the server will // attempt to use this value as the resource id. If it is already in use, an @@ -529,10 +619,15 @@ message CreateProductSetRequest { // Request message for the `ListProductSets` method. message ListProductSetsRequest { - // The project from which ProductSets should be listed. + // Required. The project from which ProductSets should be listed. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -553,17 +648,22 @@ message ListProductSetsResponse { // Request message for the `GetProductSet` method. message GetProductSetRequest { - // Resource name of the ProductSet to get. + // Required. Resource name of the ProductSet to get. // // Format is: // `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; } // Request message for the `UpdateProductSet` method. message UpdateProductSetRequest { - // The ProductSet resource which replaces the one on the server. - ProductSet product_set = 1; + // Required. The ProductSet resource which replaces the one on the server. + ProductSet product_set = 1 [(google.api.field_behavior) = REQUIRED]; // The [FieldMask][google.protobuf.FieldMask] that specifies which fields to // update. @@ -574,24 +674,33 @@ message UpdateProductSetRequest { // Request message for the `DeleteProductSet` method. message DeleteProductSetRequest { - // Resource name of the ProductSet to delete. + // Required. Resource name of the ProductSet to delete. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; } // Request message for the `CreateReferenceImage` method. message CreateReferenceImageRequest { - // Resource name of the product in which to create the reference image. + // Required. Resource name of the product in which to create the reference + // image. // // Format is // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "vision.googleapis.com/Product" } + ]; - // The reference image to create. + // Required. The reference image to create. // If an image ID is specified, it is ignored. - ReferenceImage reference_image = 2; + ReferenceImage reference_image = 2 [(google.api.field_behavior) = REQUIRED]; // A user-supplied resource id for the ReferenceImage to be added. If set, // the server will attempt to use this value as the resource id. If it is @@ -602,11 +711,14 @@ message CreateReferenceImageRequest { // Request message for the `ListReferenceImages` method. message ListReferenceImagesRequest { - // Resource name of the product containing the reference images. + // Required. Resource name of the product containing the reference images. // // Format is // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "vision.googleapis.com/Product" } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -632,61 +744,93 @@ message ListReferenceImagesResponse { // Request message for the `GetReferenceImage` method. message GetReferenceImageRequest { - // The resource name of the ReferenceImage to get. + // Required. The resource name of the ReferenceImage to get. // // Format is: // // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ReferenceImage" + } + ]; } // Request message for the `DeleteReferenceImage` method. message DeleteReferenceImageRequest { - // The resource name of the reference image to delete. + // Required. The resource name of the reference image to delete. // // Format is: // // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ReferenceImage" + } + ]; } // Request message for the `AddProductToProductSet` method. message AddProductToProductSetRequest { - // The resource name for the ProductSet to modify. + // Required. The resource name for the ProductSet to modify. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; - // The resource name for the Product to be added to this ProductSet. + // Required. The resource name for the Product to be added to this ProductSet. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string product = 2; + string product = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "vision.googleapis.com/Product" } + ]; } // Request message for the `RemoveProductFromProductSet` method. message RemoveProductFromProductSetRequest { - // The resource name for the ProductSet to modify. + // Required. The resource name for the ProductSet to modify. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; - // The resource name for the Product to be removed from this ProductSet. + // Required. The resource name for the Product to be removed from this + // ProductSet. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string product = 2; + string product = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "vision.googleapis.com/Product" } + ]; } // Request message for the `ListProductsInProductSet` method. message ListProductsInProductSetRequest { - // The ProductSet resource for which to retrieve Products. + // Required. The ProductSet resource for which to retrieve Products. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -786,13 +930,19 @@ message ImportProductSetsInputConfig { // Request message for the `ImportProductSets` method. message ImportProductSetsRequest { - // The project in which the ProductSets should be imported. + // Required. The project in which the ProductSets should be imported. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; - - // The input content for the list of requests. - ImportProductSetsInputConfig input_config = 2; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The input content for the list of requests. + ImportProductSetsInputConfig input_config = 2 + [(google.api.field_behavior) = REQUIRED]; } // Response message for the `ImportProductSets` method. @@ -852,3 +1002,38 @@ message BatchOperationMetadata { // set to true. google.protobuf.Timestamp end_time = 3; } + +// Config to control which ProductSet contains the Products to be deleted. +message ProductSetPurgeConfig { + // The ProductSet that contains the Products to delete. If a Product is a + // member of product_set_id in addition to other ProductSets, the Product will + // still be deleted. + string product_set_id = 1; +} + +// Request message for the `PurgeProducts` method. +message PurgeProductsRequest { + // The Products to delete. + oneof target { + // Specify which ProductSet contains the Products to be deleted. + ProductSetPurgeConfig product_set_purge_config = 2; + + // If delete_orphan_products is true, all Products that are not in any + // ProductSet will be deleted. + bool delete_orphan_products = 3; + } + + // Required. The project and location in which the Products should be deleted. + // + // Format is `projects/PROJECT_ID/locations/LOC_ID`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // The default value is false. Override this value to true to actually perform + // the purge. + bool force = 4; +} diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto index 542677f271e..fbc35bb5458 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -194,7 +194,7 @@ message Paragraph { // and the vertex order will still be (0, 1, 2, 3). BoundingPoly bounding_box = 2; - // List of words in this paragraph. + // List of all words in this paragraph. repeated Word words = 3; // Confidence of the OCR results for the paragraph. Range [0, 1]. @@ -250,7 +250,7 @@ message Symbol { // 2----3 // | | // 1----0 - // and the vertice order will still be (0, 1, 2, 3). + // and the vertex order will still be (0, 1, 2, 3). BoundingPoly bounding_box = 2; // The actual UTF-8 representation of the symbol. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto index 15822563b84..446a937f1c8 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google LLC. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -50,17 +50,6 @@ message WebDetection { float score = 2; } - // Label to provide extra metadata for the web detection. - message WebLabel { - // Label for extra metadata. - string label = 1; - - // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - // For more information, see - // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - string language_code = 2; - } - // Metadata for web pages. message WebPage { // The result web page URL. @@ -83,6 +72,17 @@ message WebDetection { repeated WebImage partial_matching_images = 5; } + // Label to provide extra metadata for the web detection. + message WebLabel { + // Label for extra metadata. + string label = 1; + + // The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; + } + // Deduced entities from similar images on the Internet. repeated WebEntity web_entities = 1; diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 5a10188d299..8918fafa4f6 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -29716,6 +29716,9 @@ export namespace google { /** FaceAnnotation headwearLikelihood */ headwearLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation recognitionResult */ + recognitionResult?: (google.cloud.vision.v1p4beta1.IFaceRecognitionResult[]|null); } /** Represents a FaceAnnotation. */ @@ -29772,6 +29775,9 @@ export namespace google { /** FaceAnnotation headwearLikelihood. */ public headwearLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + /** FaceAnnotation recognitionResult. */ + public recognitionResult: google.cloud.vision.v1p4beta1.IFaceRecognitionResult[]; + /** * Creates a new FaceAnnotation instance using the specified properties. * @param [properties] Properties to set @@ -31304,6 +31310,9 @@ export namespace google { /** ImageContext cropHintsParams */ cropHintsParams?: (google.cloud.vision.v1p4beta1.ICropHintsParams|null); + /** ImageContext faceRecognitionParams */ + faceRecognitionParams?: (google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null); + /** ImageContext productSearchParams */ productSearchParams?: (google.cloud.vision.v1p4beta1.IProductSearchParams|null); @@ -31329,6 +31338,9 @@ export namespace google { /** ImageContext cropHintsParams. */ public cropHintsParams?: (google.cloud.vision.v1p4beta1.ICropHintsParams|null); + /** ImageContext faceRecognitionParams. */ + public faceRecognitionParams?: (google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null); + /** ImageContext productSearchParams. */ public productSearchParams?: (google.cloud.vision.v1p4beta1.IProductSearchParams|null); @@ -31772,108 +31784,6 @@ export namespace google { public toJSON(): { [k: string]: any }; } - /** Properties of an AnnotateFileResponse. */ - interface IAnnotateFileResponse { - - /** AnnotateFileResponse inputConfig */ - inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); - - /** AnnotateFileResponse responses */ - responses?: (google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]|null); - - /** AnnotateFileResponse totalPages */ - totalPages?: (number|null); - } - - /** Represents an AnnotateFileResponse. */ - class AnnotateFileResponse implements IAnnotateFileResponse { - - /** - * Constructs a new AnnotateFileResponse. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse); - - /** AnnotateFileResponse inputConfig. */ - public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); - - /** AnnotateFileResponse responses. */ - public responses: google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]; - - /** AnnotateFileResponse totalPages. */ - public totalPages: number; - - /** - * Creates a new AnnotateFileResponse instance using the specified properties. - * @param [properties] Properties to set - * @returns AnnotateFileResponse instance - */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse): google.cloud.vision.v1p4beta1.AnnotateFileResponse; - - /** - * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. - * @param message AnnotateFileResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. - * @param message AnnotateFileResponse message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns AnnotateFileResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateFileResponse; - - /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns AnnotateFileResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateFileResponse; - - /** - * Verifies an AnnotateFileResponse message. - * @param message Plain 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 AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns AnnotateFileResponse - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateFileResponse; - - /** - * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. - * @param message AnnotateFileResponse - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this AnnotateFileResponse to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - /** Properties of a BatchAnnotateImagesRequest. */ interface IBatchAnnotateImagesRequest { @@ -32162,6 +32072,114 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of an AnnotateFileResponse. */ + interface IAnnotateFileResponse { + + /** AnnotateFileResponse inputConfig */ + inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileResponse responses */ + responses?: (google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]|null); + + /** AnnotateFileResponse totalPages */ + totalPages?: (number|null); + + /** AnnotateFileResponse error */ + error?: (google.rpc.IStatus|null); + } + + /** Represents an AnnotateFileResponse. */ + class AnnotateFileResponse implements IAnnotateFileResponse { + + /** + * Constructs a new AnnotateFileResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse); + + /** AnnotateFileResponse inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileResponse responses. */ + public responses: google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]; + + /** AnnotateFileResponse totalPages. */ + public totalPages: number; + + /** AnnotateFileResponse error. */ + public error?: (google.rpc.IStatus|null); + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns AnnotateFileResponse instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + + /** + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AnnotateFileResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + + /** + * Verifies an AnnotateFileResponse message. + * @param message Plain 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 AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AnnotateFileResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + + /** + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @param message AnnotateFileResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AnnotateFileResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of a BatchAnnotateFilesRequest. */ interface IBatchAnnotateFilesRequest { @@ -33398,106 +33416,394 @@ export namespace google { } } - /** Properties of a Vertex. */ - interface IVertex { - - /** Vertex x */ - x?: (number|null); + /** Properties of a FaceRecognitionParams. */ + interface IFaceRecognitionParams { - /** Vertex y */ - y?: (number|null); + /** FaceRecognitionParams celebritySet */ + celebritySet?: (string[]|null); } - /** Represents a Vertex. */ - class Vertex implements IVertex { + /** Represents a FaceRecognitionParams. */ + class FaceRecognitionParams implements IFaceRecognitionParams { /** - * Constructs a new Vertex. + * Constructs a new FaceRecognitionParams. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IVertex); - - /** Vertex x. */ - public x: number; + constructor(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionParams); - /** Vertex y. */ - public y: number; + /** FaceRecognitionParams celebritySet. */ + public celebritySet: string[]; /** - * Creates a new Vertex instance using the specified properties. + * Creates a new FaceRecognitionParams instance using the specified properties. * @param [properties] Properties to set - * @returns Vertex instance + * @returns FaceRecognitionParams instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IVertex): google.cloud.vision.v1p4beta1.Vertex; + public static create(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionParams): google.cloud.vision.v1p4beta1.FaceRecognitionParams; /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode + * Encodes the specified FaceRecognitionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. + * @param message FaceRecognitionParams message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IFaceRecognitionParams, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode + * Encodes the specified FaceRecognitionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. + * @param message FaceRecognitionParams message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFaceRecognitionParams, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Vertex message from the specified reader or buffer. + * Decodes a FaceRecognitionParams message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Vertex + * @returns FaceRecognitionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Vertex; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceRecognitionParams; /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. + * Decodes a FaceRecognitionParams message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Vertex + * @returns FaceRecognitionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Vertex; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceRecognitionParams; /** - * Verifies a Vertex message. + * Verifies a FaceRecognitionParams message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * Creates a FaceRecognitionParams message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Vertex + * @returns FaceRecognitionParams */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Vertex; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceRecognitionParams; /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. - * @param message Vertex + * Creates a plain object from a FaceRecognitionParams message. Also converts values to other types if specified. + * @param message FaceRecognitionParams * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.FaceRecognitionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Vertex to JSON. + * Converts this FaceRecognitionParams to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a NormalizedVertex. */ - interface INormalizedVertex { + /** Properties of a Celebrity. */ + interface ICelebrity { - /** NormalizedVertex x */ + /** Celebrity name */ + name?: (string|null); + + /** Celebrity displayName */ + displayName?: (string|null); + + /** Celebrity description */ + description?: (string|null); + } + + /** Represents a Celebrity. */ + class Celebrity implements ICelebrity { + + /** + * Constructs a new Celebrity. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ICelebrity); + + /** Celebrity name. */ + public name: string; + + /** Celebrity displayName. */ + public displayName: string; + + /** Celebrity description. */ + public description: string; + + /** + * Creates a new Celebrity instance using the specified properties. + * @param [properties] Properties to set + * @returns Celebrity instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ICelebrity): google.cloud.vision.v1p4beta1.Celebrity; + + /** + * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. + * @param message Celebrity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ICelebrity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. + * @param message Celebrity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICelebrity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Celebrity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Celebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Celebrity; + + /** + * Decodes a Celebrity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Celebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Celebrity; + + /** + * Verifies a Celebrity message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Celebrity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Celebrity + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Celebrity; + + /** + * Creates a plain object from a Celebrity message. Also converts values to other types if specified. + * @param message Celebrity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Celebrity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Celebrity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a FaceRecognitionResult. */ + interface IFaceRecognitionResult { + + /** FaceRecognitionResult celebrity */ + celebrity?: (google.cloud.vision.v1p4beta1.ICelebrity|null); + + /** FaceRecognitionResult confidence */ + confidence?: (number|null); + } + + /** Represents a FaceRecognitionResult. */ + class FaceRecognitionResult implements IFaceRecognitionResult { + + /** + * Constructs a new FaceRecognitionResult. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionResult); + + /** FaceRecognitionResult celebrity. */ + public celebrity?: (google.cloud.vision.v1p4beta1.ICelebrity|null); + + /** FaceRecognitionResult confidence. */ + public confidence: number; + + /** + * Creates a new FaceRecognitionResult instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceRecognitionResult instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionResult): google.cloud.vision.v1p4beta1.FaceRecognitionResult; + + /** + * Encodes the specified FaceRecognitionResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. + * @param message FaceRecognitionResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IFaceRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FaceRecognitionResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. + * @param message FaceRecognitionResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFaceRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FaceRecognitionResult message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceRecognitionResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceRecognitionResult; + + /** + * Decodes a FaceRecognitionResult message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceRecognitionResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceRecognitionResult; + + /** + * Verifies a FaceRecognitionResult message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FaceRecognitionResult message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceRecognitionResult + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceRecognitionResult; + + /** + * Creates a plain object from a FaceRecognitionResult message. Also converts values to other types if specified. + * @param message FaceRecognitionResult + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.FaceRecognitionResult, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FaceRecognitionResult to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IVertex): google.cloud.vision.v1p4beta1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedVertex. */ + interface INormalizedVertex { + + /** NormalizedVertex x */ x?: (number|null); /** NormalizedVertex y */ @@ -34028,75 +34334,183 @@ export namespace google { /** Result score. */ public score: number; - /** Result image. */ - public image: string; + /** Result image. */ + public image: string; + + /** + * Creates a new Result instance using the specified properties. + * @param [properties] Properties to set + * @returns Result instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + + /** + * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Result message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + + /** + * Decodes a Result message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + + /** + * Verifies a Result message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Result message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Result + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + + /** + * Creates a plain object from a Result message. Also converts values to other types if specified. + * @param message Result + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ProductSearchResults.Result, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Result to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of an ObjectAnnotation. */ + interface IObjectAnnotation { + + /** ObjectAnnotation mid */ + mid?: (string|null); + + /** ObjectAnnotation languageCode */ + languageCode?: (string|null); + + /** ObjectAnnotation name */ + name?: (string|null); + + /** ObjectAnnotation score */ + score?: (number|null); + } + + /** Represents an ObjectAnnotation. */ + class ObjectAnnotation implements IObjectAnnotation { + + /** + * Constructs a new ObjectAnnotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation); + + /** ObjectAnnotation mid. */ + public mid: string; + + /** ObjectAnnotation languageCode. */ + public languageCode: string; + + /** ObjectAnnotation name. */ + public name: string; + + /** ObjectAnnotation score. */ + public score: number; /** - * Creates a new Result instance using the specified properties. + * Creates a new ObjectAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns Result instance + * @returns ObjectAnnotation instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + public static create(properties?: google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation): google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation; /** - * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. - * @param message Result message or plain object to encode + * Encodes the specified ObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @param message ObjectAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. - * @param message Result message or plain object to encode + * Encodes the specified ObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @param message ObjectAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Result message from the specified reader or buffer. + * Decodes an ObjectAnnotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Result + * @returns ObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation; /** - * Decodes a Result message from the specified reader or buffer, length delimited. + * Decodes an ObjectAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Result + * @returns ObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation; /** - * Verifies a Result message. + * Verifies an ObjectAnnotation message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Result message from a plain object. Also converts values to their respective internal types. + * Creates an ObjectAnnotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Result + * @returns ObjectAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ProductSearchResults.Result; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation; /** - * Creates a plain object from a Result message. Also converts values to other types if specified. - * @param message Result + * Creates a plain object from an ObjectAnnotation message. Also converts values to other types if specified. + * @param message ObjectAnnotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.ProductSearchResults.Result, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Result to JSON. + * Converts this ObjectAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; @@ -34110,6 +34524,9 @@ export namespace google { /** GroupedResult results */ results?: (google.cloud.vision.v1p4beta1.ProductSearchResults.IResult[]|null); + + /** GroupedResult objectAnnotations */ + objectAnnotations?: (google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation[]|null); } /** Represents a GroupedResult. */ @@ -34127,6 +34544,9 @@ export namespace google { /** GroupedResult results. */ public results: google.cloud.vision.v1p4beta1.ProductSearchResults.IResult[]; + /** GroupedResult objectAnnotations. */ + public objectAnnotations: google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation[]; + /** * Creates a new GroupedResult instance using the specified properties. * @param [properties] Properties to set @@ -34470,6 +34890,20 @@ export namespace google { * @returns Promise */ public importProductSets(request: google.cloud.vision.v1p4beta1.IImportProductSetsRequest): Promise; + + /** + * Calls PurgeProducts. + * @param request PurgeProductsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public purgeProducts(request: google.cloud.vision.v1p4beta1.IPurgeProductsRequest, callback: google.cloud.vision.v1p4beta1.ProductSearch.PurgeProductsCallback): void; + + /** + * Calls PurgeProducts. + * @param request PurgeProductsRequest message or plain object + * @returns Promise + */ + public purgeProducts(request: google.cloud.vision.v1p4beta1.IPurgeProductsRequest): Promise; } namespace ProductSearch { @@ -34599,6 +35033,13 @@ export namespace google { * @param [response] Operation */ type ImportProductSetsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#purgeProducts}. + * @param error Error, if any + * @param [response] Operation + */ + type PurgeProductsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; } /** Properties of a Product. */ @@ -37444,103 +37885,304 @@ export namespace google { class BatchOperationMetadata implements IBatchOperationMetadata { /** - * Constructs a new BatchOperationMetadata. + * Constructs a new BatchOperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchOperationMetadata); + + /** BatchOperationMetadata state. */ + public state: google.cloud.vision.v1p4beta1.BatchOperationMetadata.State; + + /** BatchOperationMetadata submitTime. */ + public submitTime?: (google.protobuf.ITimestamp|null); + + /** BatchOperationMetadata endTime. */ + public endTime?: (google.protobuf.ITimestamp|null); + + /** + * Creates a new BatchOperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchOperationMetadata instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchOperationMetadata): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + + /** + * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. + * @param message BatchOperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. + * @param message BatchOperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + + /** + * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchOperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + + /** + * Verifies a BatchOperationMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchOperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + + /** + * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. + * @param message BatchOperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.BatchOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchOperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace BatchOperationMetadata { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + PROCESSING = 1, + SUCCESSFUL = 2, + FAILED = 3, + CANCELLED = 4 + } + } + + /** Properties of a ProductSetPurgeConfig. */ + interface IProductSetPurgeConfig { + + /** ProductSetPurgeConfig productSetId */ + productSetId?: (string|null); + } + + /** Represents a ProductSetPurgeConfig. */ + class ProductSetPurgeConfig implements IProductSetPurgeConfig { + + /** + * Constructs a new ProductSetPurgeConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.IProductSetPurgeConfig); + + /** ProductSetPurgeConfig productSetId. */ + public productSetId: string; + + /** + * Creates a new ProductSetPurgeConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ProductSetPurgeConfig instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.IProductSetPurgeConfig): google.cloud.vision.v1p4beta1.ProductSetPurgeConfig; + + /** + * Encodes the specified ProductSetPurgeConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.verify|verify} messages. + * @param message ProductSetPurgeConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.IProductSetPurgeConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ProductSetPurgeConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.verify|verify} messages. + * @param message ProductSetPurgeConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IProductSetPurgeConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ProductSetPurgeConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ProductSetPurgeConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ProductSetPurgeConfig; + + /** + * Decodes a ProductSetPurgeConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ProductSetPurgeConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ProductSetPurgeConfig; + + /** + * Verifies a ProductSetPurgeConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ProductSetPurgeConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ProductSetPurgeConfig + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ProductSetPurgeConfig; + + /** + * Creates a plain object from a ProductSetPurgeConfig message. Also converts values to other types if specified. + * @param message ProductSetPurgeConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ProductSetPurgeConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ProductSetPurgeConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a PurgeProductsRequest. */ + interface IPurgeProductsRequest { + + /** PurgeProductsRequest productSetPurgeConfig */ + productSetPurgeConfig?: (google.cloud.vision.v1p4beta1.IProductSetPurgeConfig|null); + + /** PurgeProductsRequest deleteOrphanProducts */ + deleteOrphanProducts?: (boolean|null); + + /** PurgeProductsRequest parent */ + parent?: (string|null); + + /** PurgeProductsRequest force */ + force?: (boolean|null); + } + + /** Represents a PurgeProductsRequest. */ + class PurgeProductsRequest implements IPurgeProductsRequest { + + /** + * Constructs a new PurgeProductsRequest. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IBatchOperationMetadata); + constructor(properties?: google.cloud.vision.v1p4beta1.IPurgeProductsRequest); - /** BatchOperationMetadata state. */ - public state: google.cloud.vision.v1p4beta1.BatchOperationMetadata.State; + /** PurgeProductsRequest productSetPurgeConfig. */ + public productSetPurgeConfig?: (google.cloud.vision.v1p4beta1.IProductSetPurgeConfig|null); - /** BatchOperationMetadata submitTime. */ - public submitTime?: (google.protobuf.ITimestamp|null); + /** PurgeProductsRequest deleteOrphanProducts. */ + public deleteOrphanProducts: boolean; - /** BatchOperationMetadata endTime. */ - public endTime?: (google.protobuf.ITimestamp|null); + /** PurgeProductsRequest parent. */ + public parent: string; + + /** PurgeProductsRequest force. */ + public force: boolean; + + /** PurgeProductsRequest target. */ + public target?: ("productSetPurgeConfig"|"deleteOrphanProducts"); /** - * Creates a new BatchOperationMetadata instance using the specified properties. + * Creates a new PurgeProductsRequest instance using the specified properties. * @param [properties] Properties to set - * @returns BatchOperationMetadata instance + * @returns PurgeProductsRequest instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IBatchOperationMetadata): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + public static create(properties?: google.cloud.vision.v1p4beta1.IPurgeProductsRequest): google.cloud.vision.v1p4beta1.PurgeProductsRequest; /** - * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. - * @param message BatchOperationMetadata message or plain object to encode + * Encodes the specified PurgeProductsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.PurgeProductsRequest.verify|verify} messages. + * @param message PurgeProductsRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IPurgeProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. - * @param message BatchOperationMetadata message or plain object to encode + * Encodes the specified PurgeProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.PurgeProductsRequest.verify|verify} messages. + * @param message PurgeProductsRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IPurgeProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a BatchOperationMetadata message from the specified reader or buffer. + * Decodes a PurgeProductsRequest message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns BatchOperationMetadata + * @returns PurgeProductsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.PurgeProductsRequest; /** - * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. + * Decodes a PurgeProductsRequest message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns BatchOperationMetadata + * @returns PurgeProductsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.PurgeProductsRequest; /** - * Verifies a BatchOperationMetadata message. + * Verifies a PurgeProductsRequest message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. + * Creates a PurgeProductsRequest message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns BatchOperationMetadata + * @returns PurgeProductsRequest */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchOperationMetadata; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.PurgeProductsRequest; /** - * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. - * @param message BatchOperationMetadata + * Creates a plain object from a PurgeProductsRequest message. Also converts values to other types if specified. + * @param message PurgeProductsRequest * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.BatchOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.PurgeProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this BatchOperationMetadata to JSON. + * Converts this PurgeProductsRequest to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace BatchOperationMetadata { - - /** State enum. */ - enum State { - STATE_UNSPECIFIED = 0, - PROCESSING = 1, - SUCCESSFUL = 2, - FAILED = 3, - CANCELLED = 4 - } - } - /** Properties of a TextAnnotation. */ interface ITextAnnotation { @@ -38826,211 +39468,211 @@ export namespace google { public toJSON(): { [k: string]: any }; } - /** Properties of a WebLabel. */ - interface IWebLabel { + /** Properties of a WebPage. */ + interface IWebPage { - /** WebLabel label */ - label?: (string|null); + /** WebPage url */ + url?: (string|null); - /** WebLabel languageCode */ - languageCode?: (string|null); + /** WebPage score */ + score?: (number|null); + + /** WebPage pageTitle */ + pageTitle?: (string|null); + + /** WebPage fullMatchingImages */ + fullMatchingImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]|null); + + /** WebPage partialMatchingImages */ + partialMatchingImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]|null); } - /** Represents a WebLabel. */ - class WebLabel implements IWebLabel { + /** Represents a WebPage. */ + class WebPage implements IWebPage { /** - * Constructs a new WebLabel. + * Constructs a new WebPage. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel); + constructor(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebPage); - /** WebLabel label. */ - public label: string; + /** WebPage url. */ + public url: string; - /** WebLabel languageCode. */ - public languageCode: string; + /** WebPage score. */ + public score: number; + + /** WebPage pageTitle. */ + public pageTitle: string; + + /** WebPage fullMatchingImages. */ + public fullMatchingImages: google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]; + + /** WebPage partialMatchingImages. */ + public partialMatchingImages: google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]; /** - * Creates a new WebLabel instance using the specified properties. + * Creates a new WebPage instance using the specified properties. * @param [properties] Properties to set - * @returns WebLabel instance + * @returns WebPage instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; + public static create(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebPage): google.cloud.vision.v1p4beta1.WebDetection.WebPage; /** - * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. - * @param message WebLabel message or plain object to encode + * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. - * @param message WebLabel message or plain object to encode + * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebPage.verify|verify} messages. + * @param message WebPage message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a WebLabel message from the specified reader or buffer. + * Decodes a WebPage message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns WebLabel + * @returns WebPage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetection.WebPage; /** - * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * Decodes a WebPage message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns WebLabel + * @returns WebPage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetection.WebPage; /** - * Verifies a WebLabel message. + * Verifies a WebPage message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * Creates a WebPage message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns WebLabel + * @returns WebPage */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetection.WebPage; /** - * Creates a plain object from a WebLabel message. Also converts values to other types if specified. - * @param message WebLabel + * Creates a plain object from a WebPage message. Also converts values to other types if specified. + * @param message WebPage * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.WebDetection.WebLabel, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.WebDetection.WebPage, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this WebLabel to JSON. + * Converts this WebPage to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a WebPage. */ - interface IWebPage { - - /** WebPage url */ - url?: (string|null); - - /** WebPage score */ - score?: (number|null); - - /** WebPage pageTitle */ - pageTitle?: (string|null); + /** Properties of a WebLabel. */ + interface IWebLabel { - /** WebPage fullMatchingImages */ - fullMatchingImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]|null); + /** WebLabel label */ + label?: (string|null); - /** WebPage partialMatchingImages */ - partialMatchingImages?: (google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]|null); + /** WebLabel languageCode */ + languageCode?: (string|null); } - /** Represents a WebPage. */ - class WebPage implements IWebPage { + /** Represents a WebLabel. */ + class WebLabel implements IWebLabel { /** - * Constructs a new WebPage. + * Constructs a new WebLabel. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebPage); - - /** WebPage url. */ - public url: string; - - /** WebPage score. */ - public score: number; - - /** WebPage pageTitle. */ - public pageTitle: string; + constructor(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel); - /** WebPage fullMatchingImages. */ - public fullMatchingImages: google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]; + /** WebLabel label. */ + public label: string; - /** WebPage partialMatchingImages. */ - public partialMatchingImages: google.cloud.vision.v1p4beta1.WebDetection.IWebImage[]; + /** WebLabel languageCode. */ + public languageCode: string; /** - * Creates a new WebPage instance using the specified properties. + * Creates a new WebLabel instance using the specified properties. * @param [properties] Properties to set - * @returns WebPage instance + * @returns WebLabel instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebPage): google.cloud.vision.v1p4beta1.WebDetection.WebPage; + public static create(properties?: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; /** - * Encodes the specified WebPage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebPage.verify|verify} messages. - * @param message WebPage message or plain object to encode + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified WebPage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebPage.verify|verify} messages. - * @param message WebPage message or plain object to encode + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. + * @param message WebLabel message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.WebDetection.IWebPage, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.WebDetection.IWebLabel, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a WebPage message from the specified reader or buffer. + * Decodes a WebLabel message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns WebPage + * @returns WebLabel * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetection.WebPage; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; /** - * Decodes a WebPage message from the specified reader or buffer, length delimited. + * Decodes a WebLabel message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns WebPage + * @returns WebLabel * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetection.WebPage; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; /** - * Verifies a WebPage message. + * Verifies a WebLabel message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a WebPage message from a plain object. Also converts values to their respective internal types. + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns WebPage + * @returns WebLabel */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetection.WebPage; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetection.WebLabel; /** - * Creates a plain object from a WebPage message. Also converts values to other types if specified. - * @param message WebPage + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @param message WebLabel * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.WebDetection.WebPage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.WebDetection.WebLabel, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this WebPage to JSON. + * Converts this WebLabel to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 90c80bb2297..78ecc04c977 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -73993,6 +73993,7 @@ * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + * @property {Array.|null} [recognitionResult] FaceAnnotation recognitionResult */ /** @@ -74005,6 +74006,7 @@ */ function FaceAnnotation(properties) { this.landmarks = []; + this.recognitionResult = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -74131,6 +74133,14 @@ */ FaceAnnotation.prototype.headwearLikelihood = 0; + /** + * FaceAnnotation recognitionResult. + * @member {Array.} recognitionResult + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.recognitionResult = $util.emptyArray; + /** * Creates a new FaceAnnotation instance using the specified properties. * @function create @@ -74186,6 +74196,9 @@ writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + if (message.recognitionResult != null && message.recognitionResult.length) + for (var i = 0; i < message.recognitionResult.length; ++i) + $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.encode(message.recognitionResult[i], writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); return writer; }; @@ -74267,6 +74280,11 @@ case 15: message.headwearLikelihood = reader.int32(); break; + case 16: + if (!(message.recognitionResult && message.recognitionResult.length)) + message.recognitionResult = []; + message.recognitionResult.push($root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.decode(reader, reader.uint32())); + break; default: reader.skipType(tag & 7); break; @@ -74420,6 +74438,15 @@ case 5: break; } + if (message.recognitionResult != null && message.hasOwnProperty("recognitionResult")) { + if (!Array.isArray(message.recognitionResult)) + return "recognitionResult: array expected"; + for (var i = 0; i < message.recognitionResult.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify(message.recognitionResult[i]); + if (error) + return "recognitionResult." + error; + } + } return null; }; @@ -74647,6 +74674,16 @@ message.headwearLikelihood = 5; break; } + if (object.recognitionResult) { + if (!Array.isArray(object.recognitionResult)) + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.recognitionResult: array expected"); + message.recognitionResult = []; + for (var i = 0; i < object.recognitionResult.length; ++i) { + if (typeof object.recognitionResult[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.recognitionResult: object expected"); + message.recognitionResult[i] = $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.fromObject(object.recognitionResult[i]); + } + } return message; }; @@ -74663,8 +74700,10 @@ if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) + if (options.arrays || options.defaults) { object.landmarks = []; + object.recognitionResult = []; + } if (options.defaults) { object.boundingPoly = null; object.fdBoundingPoly = null; @@ -74714,6 +74753,11 @@ object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + if (message.recognitionResult && message.recognitionResult.length) { + object.recognitionResult = []; + for (var j = 0; j < message.recognitionResult.length; ++j) + object.recognitionResult[j] = $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.toObject(message.recognitionResult[j], options); + } return object; }; @@ -78486,6 +78530,7 @@ * @property {google.cloud.vision.v1p4beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect * @property {Array.|null} [languageHints] ImageContext languageHints * @property {google.cloud.vision.v1p4beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null} [faceRecognitionParams] ImageContext faceRecognitionParams * @property {google.cloud.vision.v1p4beta1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams * @property {google.cloud.vision.v1p4beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams */ @@ -78530,6 +78575,14 @@ */ ImageContext.prototype.cropHintsParams = null; + /** + * ImageContext faceRecognitionParams. + * @member {google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null|undefined} faceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + */ + ImageContext.prototype.faceRecognitionParams = null; + /** * ImageContext productSearchParams. * @member {google.cloud.vision.v1p4beta1.IProductSearchParams|null|undefined} productSearchParams @@ -78581,6 +78634,8 @@ $root.google.cloud.vision.v1p4beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) $root.google.cloud.vision.v1p4beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) + $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.encode(message.faceRecognitionParams, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); return writer; }; @@ -78626,6 +78681,9 @@ case 4: message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.decode(reader, reader.uint32()); break; + case 10: + message.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.decode(reader, reader.uint32()); + break; case 5: message.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.decode(reader, reader.uint32()); break; @@ -78684,6 +78742,11 @@ if (error) return "cropHintsParams." + error; } + if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) { + var error = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify(message.faceRecognitionParams); + if (error) + return "faceRecognitionParams." + error; + } if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { var error = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.verify(message.productSearchParams); if (error) @@ -78726,6 +78789,11 @@ throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.cropHintsParams: object expected"); message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.fromObject(object.cropHintsParams); } + if (object.faceRecognitionParams != null) { + if (typeof object.faceRecognitionParams !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.faceRecognitionParams: object expected"); + message.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.fromObject(object.faceRecognitionParams); + } if (object.productSearchParams != null) { if (typeof object.productSearchParams !== "object") throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.productSearchParams: object expected"); @@ -78759,6 +78827,7 @@ object.cropHintsParams = null; object.productSearchParams = null; object.webDetectionParams = null; + object.faceRecognitionParams = null; } if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) object.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.toObject(message.latLongRect, options); @@ -78773,6 +78842,8 @@ object.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.toObject(message.productSearchParams, options); if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) object.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) + object.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.toObject(message.faceRecognitionParams, options); return object; }; @@ -79906,27 +79977,25 @@ return AnnotateImageResponse; })(); - v1p4beta1.AnnotateFileResponse = (function() { + v1p4beta1.BatchAnnotateImagesRequest = (function() { /** - * Properties of an AnnotateFileResponse. + * Properties of a BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAnnotateFileResponse - * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig - * @property {Array.|null} [responses] AnnotateFileResponse responses - * @property {number|null} [totalPages] AnnotateFileResponse totalPages + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests */ /** - * Constructs a new AnnotateFileResponse. + * Constructs a new BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AnnotateFileResponse. - * @implements IAnnotateFileResponse + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set */ - function AnnotateFileResponse(properties) { - this.responses = []; + function BatchAnnotateImagesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -79934,104 +80003,78 @@ } /** - * AnnotateFileResponse inputConfig. - * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse - * @instance - */ - AnnotateFileResponse.prototype.inputConfig = null; - - /** - * AnnotateFileResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse - * @instance - */ - AnnotateFileResponse.prototype.responses = $util.emptyArray; - - /** - * AnnotateFileResponse totalPages. - * @member {number} totalPages - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @instance */ - AnnotateFileResponse.prototype.totalPages = 0; + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new AnnotateFileResponse instance using the specified properties. + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance */ - AnnotateFileResponse.create = function create(properties) { - return new AnnotateFileResponse(properties); + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); }; /** - * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encode = function encode(message, writer) { + BatchAnnotateImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalPages != null && message.hasOwnProperty("totalPages")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decode = function decode(reader, length) { + BatchAnnotateImagesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; - case 3: - message.totalPages = reader.int32(); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -80042,356 +80085,125 @@ }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateFileResponse message. + * Verifies a BatchAnnotateImagesRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateFileResponse.verify = function verify(message) { + BatchAnnotateImagesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); - if (error) - return "inputConfig." + error; - } - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify(message.responses[i]); + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify(message.requests[i]); if (error) - return "responses." + error; + return "requests." + error; } } - if (message.totalPages != null && message.hasOwnProperty("totalPages")) - if (!$util.isInteger(message.totalPages)) - return "totalPages: integer expected"; return null; }; /** - * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest */ - AnnotateFileResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse) + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); - } - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.fromObject(object.responses[i]); + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.fromObject(object.requests[i]); } } - if (object.totalPages != null) - message.totalPages = object.totalPages | 0; return message; }; /** - * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.AnnotateFileResponse} message AnnotateFileResponse + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateFileResponse.toObject = function toObject(message, options) { + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.responses = []; - if (options.defaults) { - object.inputConfig = null; - object.totalPages = 0; - } - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.toObject(message.responses[j], options); + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.toObject(message.requests[j], options); } - if (message.totalPages != null && message.hasOwnProperty("totalPages")) - object.totalPages = message.totalPages; return object; }; /** - * Converts this AnnotateFileResponse to JSON. + * Converts this BatchAnnotateImagesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @instance * @returns {Object.} JSON object */ - AnnotateFileResponse.prototype.toJSON = function toJSON() { + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateFileResponse; + return BatchAnnotateImagesRequest; })(); - v1p4beta1.BatchAnnotateImagesRequest = (function() { + v1p4beta1.BatchAnnotateImagesResponse = (function() { /** - * Properties of a BatchAnnotateImagesRequest. + * Properties of a BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBatchAnnotateImagesRequest - * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses */ /** - * Constructs a new BatchAnnotateImagesRequest. + * Constructs a new BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BatchAnnotateImagesRequest. - * @implements IBatchAnnotateImagesRequest + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set */ - function BatchAnnotateImagesRequest(properties) { - this.requests = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BatchAnnotateImagesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @instance - */ - BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; - - /** - * Creates a new BatchAnnotateImagesRequest instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance - */ - BatchAnnotateImagesRequest.create = function create(properties) { - return new BatchAnnotateImagesRequest(properties); - }; - - /** - * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchAnnotateImagesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchAnnotateImagesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BatchAnnotateImagesRequest message. - * @function verify - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BatchAnnotateImagesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify(message.requests[i]); - if (error) - return "requests." + error; - } - } - return null; - }; - - /** - * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest - */ - BatchAnnotateImagesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.fromObject(object.requests[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @static - * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BatchAnnotateImagesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.requests = []; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.toObject(message.requests[j], options); - } - return object; - }; - - /** - * Converts this BatchAnnotateImagesRequest to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest - * @instance - * @returns {Object.} JSON object - */ - BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BatchAnnotateImagesRequest; - })(); - - v1p4beta1.BatchAnnotateImagesResponse = (function() { - - /** - * Properties of a BatchAnnotateImagesResponse. - * @memberof google.cloud.vision.v1p4beta1 - * @interface IBatchAnnotateImagesResponse - * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses - */ - - /** - * Constructs a new BatchAnnotateImagesResponse. - * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BatchAnnotateImagesResponse. - * @implements IBatchAnnotateImagesResponse - * @constructor - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set - */ - function BatchAnnotateImagesResponse(properties) { - this.responses = []; + function BatchAnnotateImagesResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -80892,25 +80704,28 @@ return AnnotateFileRequest; })(); - v1p4beta1.BatchAnnotateFilesRequest = (function() { + v1p4beta1.AnnotateFileResponse = (function() { /** - * Properties of a BatchAnnotateFilesRequest. + * Properties of an AnnotateFileResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBatchAnnotateFilesRequest - * @property {Array.|null} [requests] BatchAnnotateFilesRequest requests + * @interface IAnnotateFileResponse + * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig + * @property {Array.|null} [responses] AnnotateFileResponse responses + * @property {number|null} [totalPages] AnnotateFileResponse totalPages + * @property {google.rpc.IStatus|null} [error] AnnotateFileResponse error */ /** - * Constructs a new BatchAnnotateFilesRequest. + * Constructs a new AnnotateFileResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BatchAnnotateFilesRequest. - * @implements IBatchAnnotateFilesRequest + * @classdesc Represents an AnnotateFileResponse. + * @implements IAnnotateFileResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set */ - function BatchAnnotateFilesRequest(properties) { - this.requests = []; + function AnnotateFileResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -80918,78 +80733,117 @@ } /** - * BatchAnnotateFilesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * AnnotateFileResponse inputConfig. + * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @instance */ - BatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + AnnotateFileResponse.prototype.inputConfig = null; /** - * Creates a new BatchAnnotateFilesRequest instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest - * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest instance + * AnnotateFileResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance */ - BatchAnnotateFilesRequest.create = function create(properties) { - return new BatchAnnotateFilesRequest(properties); - }; + AnnotateFileResponse.prototype.responses = $util.emptyArray; /** - * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest - * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * AnnotateFileResponse totalPages. + * @member {number} totalPages + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.totalPages = 0; + + /** + * AnnotateFileResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.error = null; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse instance + */ + AnnotateFileResponse.create = function create(properties) { + return new AnnotateFileResponse(properties); + }; + + /** + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesRequest.encode = function encode(message, writer) { + AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. + * Decodes an AnnotateFileResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesRequest.decode = function decode(reader, length) { + AnnotateFileResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.decode(reader, reader.uint32())); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + case 3: + message.totalPages = reader.int32(); + break; + case 4: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -81000,125 +80854,161 @@ }; /** - * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateFilesRequest message. + * Verifies an AnnotateFileResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateFilesRequest.verify = function verify(message) { + AnnotateFileResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify(message.requests[i]); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify(message.responses[i]); if (error) - return "requests." + error; + return "responses." + error; } } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + if (!$util.isInteger(message.totalPages)) + return "totalPages: integer expected"; + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } return null; }; /** - * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse */ - BatchAnnotateFilesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest) + AnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.fromObject(object.requests[i]); + var message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.fromObject(object.responses[i]); } } + if (object.totalPages != null) + message.totalPages = object.totalPages | 0; + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } return message; }; /** - * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} message BatchAnnotateFilesRequest + * @param {google.cloud.vision.v1p4beta1.AnnotateFileResponse} message AnnotateFileResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateFilesRequest.toObject = function toObject(message, options) { + AnnotateFileResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.requests = []; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.toObject(message.requests[j], options); + object.responses = []; + if (options.defaults) { + object.inputConfig = null; + object.totalPages = 0; + object.error = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.toObject(message.responses[j], options); } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + object.totalPages = message.totalPages; + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); return object; }; /** - * Converts this BatchAnnotateFilesRequest to JSON. + * Converts this AnnotateFileResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @instance * @returns {Object.} JSON object */ - BatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + AnnotateFileResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateFilesRequest; + return AnnotateFileResponse; })(); - v1p4beta1.BatchAnnotateFilesResponse = (function() { + v1p4beta1.BatchAnnotateFilesRequest = (function() { /** - * Properties of a BatchAnnotateFilesResponse. + * Properties of a BatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBatchAnnotateFilesResponse - * @property {Array.|null} [responses] BatchAnnotateFilesResponse responses + * @interface IBatchAnnotateFilesRequest + * @property {Array.|null} [requests] BatchAnnotateFilesRequest requests */ /** - * Constructs a new BatchAnnotateFilesResponse. + * Constructs a new BatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BatchAnnotateFilesResponse. - * @implements IBatchAnnotateFilesResponse + * @classdesc Represents a BatchAnnotateFilesRequest. + * @implements IBatchAnnotateFilesRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set */ - function BatchAnnotateFilesResponse(properties) { - this.responses = []; + function BatchAnnotateFilesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -81126,49 +81016,257 @@ } /** - * BatchAnnotateFilesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * BatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @instance */ - BatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + BatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new BatchAnnotateFilesResponse instance using the specified properties. + * Creates a new BatchAnnotateFilesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest instance */ - BatchAnnotateFilesResponse.create = function create(properties) { - return new BatchAnnotateFilesResponse(properties); + BatchAnnotateFilesRequest.create = function create(properties) { + return new BatchAnnotateFilesRequest(properties); }; /** - * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesResponse.encode = function encode(message, writer) { + BatchAnnotateFilesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateFilesRequest message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateFilesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + */ + BatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.fromObject(object.requests[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} message BatchAnnotateFilesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateFilesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.toObject(message.requests[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateFilesRequest to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateFilesRequest; + })(); + + v1p4beta1.BatchAnnotateFilesResponse = (function() { + + /** + * Properties of a BatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IBatchAnnotateFilesResponse + * @property {Array.|null} [responses] BatchAnnotateFilesResponse responses + */ + + /** + * Constructs a new BatchAnnotateFilesResponse. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a BatchAnnotateFilesResponse. + * @implements IBatchAnnotateFilesResponse + * @constructor + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set + */ + function BatchAnnotateFilesResponse(properties) { + this.responses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @instance + */ + BatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new BatchAnnotateFilesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse instance + */ + BatchAnnotateFilesResponse.create = function create(properties) { + return new BatchAnnotateFilesResponse(properties); + }; + + /** + * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateFilesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -83760,25 +83858,25 @@ return OperationMetadata; })(); - v1p4beta1.Vertex = (function() { + v1p4beta1.FaceRecognitionParams = (function() { /** - * Properties of a Vertex. + * Properties of a FaceRecognitionParams. * @memberof google.cloud.vision.v1p4beta1 - * @interface IVertex - * @property {number|null} [x] Vertex x - * @property {number|null} [y] Vertex y + * @interface IFaceRecognitionParams + * @property {Array.|null} [celebritySet] FaceRecognitionParams celebritySet */ /** - * Constructs a new Vertex. + * Constructs a new FaceRecognitionParams. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a Vertex. - * @implements IVertex + * @classdesc Represents a FaceRecognitionParams. + * @implements IFaceRecognitionParams * @constructor - * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams=} [properties] Properties to set */ - function Vertex(properties) { + function FaceRecognitionParams(properties) { + this.celebritySet = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -83786,88 +83884,78 @@ } /** - * Vertex x. - * @member {number} x - * @memberof google.cloud.vision.v1p4beta1.Vertex - * @instance - */ - Vertex.prototype.x = 0; - - /** - * Vertex y. - * @member {number} y - * @memberof google.cloud.vision.v1p4beta1.Vertex + * FaceRecognitionParams celebritySet. + * @member {Array.} celebritySet + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @instance */ - Vertex.prototype.y = 0; + FaceRecognitionParams.prototype.celebritySet = $util.emptyArray; /** - * Creates a new Vertex instance using the specified properties. + * Creates a new FaceRecognitionParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @static - * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex instance + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams instance */ - Vertex.create = function create(properties) { - return new Vertex(properties); + FaceRecognitionParams.create = function create(properties) { + return new FaceRecognitionParams(properties); }; /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * Encodes the specified FaceRecognitionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @static - * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams} message FaceRecognitionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encode = function encode(message, writer) { + FaceRecognitionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + if (message.celebritySet != null && message.celebritySet.length) + for (var i = 0; i < message.celebritySet.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.celebritySet[i]); return writer; }; /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * Encodes the specified FaceRecognitionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @static - * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams} message FaceRecognitionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encodeDelimited = function encodeDelimited(message, writer) { + FaceRecognitionParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Vertex message from the specified reader or buffer. + * Decodes a FaceRecognitionParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decode = function decode(reader, length) { + FaceRecognitionParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Vertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.int32(); - break; - case 2: - message.y = reader.int32(); + if (!(message.celebritySet && message.celebritySet.length)) + message.celebritySet = []; + message.celebritySet.push(reader.string()); break; default: reader.skipType(tag & 7); @@ -83878,117 +83966,121 @@ }; /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. + * Decodes a FaceRecognitionParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decodeDelimited = function decodeDelimited(reader) { + FaceRecognitionParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Vertex message. + * Verifies a FaceRecognitionParams message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Vertex.verify = function verify(message) { + FaceRecognitionParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (!$util.isInteger(message.x)) - return "x: integer expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (!$util.isInteger(message.y)) - return "y: integer expected"; + if (message.celebritySet != null && message.hasOwnProperty("celebritySet")) { + if (!Array.isArray(message.celebritySet)) + return "celebritySet: array expected"; + for (var i = 0; i < message.celebritySet.length; ++i) + if (!$util.isString(message.celebritySet[i])) + return "celebritySet: string[] expected"; + } return null; }; /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * Creates a FaceRecognitionParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams */ - Vertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Vertex) + FaceRecognitionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams) return object; - var message = new $root.google.cloud.vision.v1p4beta1.Vertex(); - if (object.x != null) - message.x = object.x | 0; - if (object.y != null) - message.y = object.y | 0; + var message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams(); + if (object.celebritySet) { + if (!Array.isArray(object.celebritySet)) + throw TypeError(".google.cloud.vision.v1p4beta1.FaceRecognitionParams.celebritySet: array expected"); + message.celebritySet = []; + for (var i = 0; i < object.celebritySet.length; ++i) + message.celebritySet[i] = String(object.celebritySet[i]); + } return message; }; /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * Creates a plain object from a FaceRecognitionParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @static - * @param {google.cloud.vision.v1p4beta1.Vertex} message Vertex + * @param {google.cloud.vision.v1p4beta1.FaceRecognitionParams} message FaceRecognitionParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Vertex.toObject = function toObject(message, options) { + FaceRecognitionParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.x = 0; - object.y = 0; + if (options.arrays || options.defaults) + object.celebritySet = []; + if (message.celebritySet && message.celebritySet.length) { + object.celebritySet = []; + for (var j = 0; j < message.celebritySet.length; ++j) + object.celebritySet[j] = message.celebritySet[j]; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = message.y; return object; }; /** - * Converts this Vertex to JSON. + * Converts this FaceRecognitionParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams * @instance * @returns {Object.} JSON object */ - Vertex.prototype.toJSON = function toJSON() { + FaceRecognitionParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Vertex; + return FaceRecognitionParams; })(); - v1p4beta1.NormalizedVertex = (function() { + v1p4beta1.Celebrity = (function() { /** - * Properties of a NormalizedVertex. + * Properties of a Celebrity. * @memberof google.cloud.vision.v1p4beta1 - * @interface INormalizedVertex - * @property {number|null} [x] NormalizedVertex x - * @property {number|null} [y] NormalizedVertex y + * @interface ICelebrity + * @property {string|null} [name] Celebrity name + * @property {string|null} [displayName] Celebrity displayName + * @property {string|null} [description] Celebrity description */ /** - * Constructs a new NormalizedVertex. + * Constructs a new Celebrity. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a NormalizedVertex. - * @implements INormalizedVertex + * @classdesc Represents a Celebrity. + * @implements ICelebrity * @constructor - * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ICelebrity=} [properties] Properties to set */ - function NormalizedVertex(properties) { + function Celebrity(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -83996,88 +84088,101 @@ } /** - * NormalizedVertex x. - * @member {number} x - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * Celebrity name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @instance */ - NormalizedVertex.prototype.x = 0; + Celebrity.prototype.name = ""; /** - * NormalizedVertex y. - * @member {number} y - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * Celebrity displayName. + * @member {string} displayName + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @instance */ - NormalizedVertex.prototype.y = 0; + Celebrity.prototype.displayName = ""; /** - * Creates a new NormalizedVertex instance using the specified properties. + * Celebrity description. + * @member {string} description + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @instance + */ + Celebrity.prototype.description = ""; + + /** + * Creates a new Celebrity instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @static - * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex instance + * @param {google.cloud.vision.v1p4beta1.ICelebrity=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity instance */ - NormalizedVertex.create = function create(properties) { - return new NormalizedVertex(properties); + Celebrity.create = function create(properties) { + return new Celebrity(properties); }; /** - * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @static - * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICelebrity} message Celebrity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encode = function encode(message, writer) { + Celebrity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && message.hasOwnProperty("displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; /** - * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @static - * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICelebrity} message Celebrity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { + Celebrity.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer. + * Decodes a Celebrity message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decode = function decode(reader, length) { + Celebrity.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Celebrity(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); + message.name = reader.string(); break; case 2: - message.y = reader.float(); + message.displayName = reader.string(); + break; + case 3: + message.description = reader.string(); break; default: reader.skipType(tag & 7); @@ -84088,119 +84193,125 @@ }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * Decodes a Celebrity message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { + Celebrity.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a NormalizedVertex message. + * Verifies a Celebrity message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NormalizedVertex.verify = function verify(message) { + Celebrity.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; return null; }; /** - * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * Creates a Celebrity message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity */ - NormalizedVertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.NormalizedVertex) + Celebrity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Celebrity) return object; - var message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); + var message = new $root.google.cloud.vision.v1p4beta1.Celebrity(); + if (object.name != null) + message.name = String(object.name); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.description != null) + message.description = String(object.description); return message; }; /** - * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * Creates a plain object from a Celebrity message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @static - * @param {google.cloud.vision.v1p4beta1.NormalizedVertex} message NormalizedVertex + * @param {google.cloud.vision.v1p4beta1.Celebrity} message Celebrity * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - NormalizedVertex.toObject = function toObject(message, options) { + Celebrity.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.x = 0; - object.y = 0; + object.name = ""; + object.displayName = ""; + object.description = ""; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; return object; }; /** - * Converts this NormalizedVertex to JSON. + * Converts this Celebrity to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @instance * @returns {Object.} JSON object */ - NormalizedVertex.prototype.toJSON = function toJSON() { + Celebrity.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return NormalizedVertex; + return Celebrity; })(); - v1p4beta1.BoundingPoly = (function() { + v1p4beta1.FaceRecognitionResult = (function() { /** - * Properties of a BoundingPoly. + * Properties of a FaceRecognitionResult. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBoundingPoly - * @property {Array.|null} [vertices] BoundingPoly vertices - * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices + * @interface IFaceRecognitionResult + * @property {google.cloud.vision.v1p4beta1.ICelebrity|null} [celebrity] FaceRecognitionResult celebrity + * @property {number|null} [confidence] FaceRecognitionResult confidence */ /** - * Constructs a new BoundingPoly. + * Constructs a new FaceRecognitionResult. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BoundingPoly. - * @implements IBoundingPoly + * @classdesc Represents a FaceRecognitionResult. + * @implements IFaceRecognitionResult * @constructor - * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult=} [properties] Properties to set */ - function BoundingPoly(properties) { - this.vertices = []; - this.normalizedVertices = []; + function FaceRecognitionResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -84208,94 +84319,88 @@ } /** - * BoundingPoly vertices. - * @member {Array.} vertices - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * FaceRecognitionResult celebrity. + * @member {google.cloud.vision.v1p4beta1.ICelebrity|null|undefined} celebrity + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @instance */ - BoundingPoly.prototype.vertices = $util.emptyArray; + FaceRecognitionResult.prototype.celebrity = null; /** - * BoundingPoly normalizedVertices. - * @member {Array.} normalizedVertices - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * FaceRecognitionResult confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @instance */ - BoundingPoly.prototype.normalizedVertices = $util.emptyArray; + FaceRecognitionResult.prototype.confidence = 0; /** - * Creates a new BoundingPoly instance using the specified properties. + * Creates a new FaceRecognitionResult instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static - * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly instance + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult instance */ - BoundingPoly.create = function create(properties) { - return new BoundingPoly(properties); + FaceRecognitionResult.create = function create(properties) { + return new FaceRecognitionResult(properties); }; /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified FaceRecognitionResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static - * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult} message FaceRecognitionResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encode = function encode(message, writer) { + FaceRecognitionResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.vertices != null && message.vertices.length) - for (var i = 0; i < message.vertices.length; ++i) - $root.google.cloud.vision.v1p4beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.normalizedVertices != null && message.normalizedVertices.length) - for (var i = 0; i < message.normalizedVertices.length; ++i) - $root.google.cloud.vision.v1p4beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.celebrity != null && message.hasOwnProperty("celebrity")) + $root.google.cloud.vision.v1p4beta1.Celebrity.encode(message.celebrity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified FaceRecognitionResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static - * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult} message FaceRecognitionResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + FaceRecognitionResult.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BoundingPoly message from the specified reader or buffer. + * Decodes a FaceRecognitionResult message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decode = function decode(reader, length) { + FaceRecognitionResult.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p4beta1.Vertex.decode(reader, reader.uint32())); + message.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.decode(reader, reader.uint32()); break; case 2: - if (!(message.normalizedVertices && message.normalizedVertices.length)) - message.normalizedVertices = []; - message.normalizedVertices.push($root.google.cloud.vision.v1p4beta1.NormalizedVertex.decode(reader, reader.uint32())); + message.confidence = reader.float(); break; default: reader.skipType(tag & 7); @@ -84306,152 +84411,122 @@ }; /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * Decodes a FaceRecognitionResult message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + FaceRecognitionResult.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BoundingPoly message. + * Verifies a FaceRecognitionResult message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BoundingPoly.verify = function verify(message) { + FaceRecognitionResult.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.vertices != null && message.hasOwnProperty("vertices")) { - if (!Array.isArray(message.vertices)) - return "vertices: array expected"; - for (var i = 0; i < message.vertices.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.Vertex.verify(message.vertices[i]); - if (error) - return "vertices." + error; - } - } - if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { - if (!Array.isArray(message.normalizedVertices)) - return "normalizedVertices: array expected"; - for (var i = 0; i < message.normalizedVertices.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.verify(message.normalizedVertices[i]); - if (error) - return "normalizedVertices." + error; - } + if (message.celebrity != null && message.hasOwnProperty("celebrity")) { + var error = $root.google.cloud.vision.v1p4beta1.Celebrity.verify(message.celebrity); + if (error) + return "celebrity." + error; } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; return null; }; /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * Creates a FaceRecognitionResult message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult */ - BoundingPoly.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.BoundingPoly) + FaceRecognitionResult.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult) return object; - var message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); - if (object.vertices) { - if (!Array.isArray(object.vertices)) - throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: array expected"); - message.vertices = []; - for (var i = 0; i < object.vertices.length; ++i) { - if (typeof object.vertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: object expected"); - message.vertices[i] = $root.google.cloud.vision.v1p4beta1.Vertex.fromObject(object.vertices[i]); - } - } - if (object.normalizedVertices) { - if (!Array.isArray(object.normalizedVertices)) - throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: array expected"); - message.normalizedVertices = []; - for (var i = 0; i < object.normalizedVertices.length; ++i) { - if (typeof object.normalizedVertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: object expected"); - message.normalizedVertices[i] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); - } + var message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult(); + if (object.celebrity != null) { + if (typeof object.celebrity !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceRecognitionResult.celebrity: object expected"); + message.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.fromObject(object.celebrity); } + if (object.confidence != null) + message.confidence = Number(object.confidence); return message; }; /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * Creates a plain object from a FaceRecognitionResult message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static - * @param {google.cloud.vision.v1p4beta1.BoundingPoly} message BoundingPoly + * @param {google.cloud.vision.v1p4beta1.FaceRecognitionResult} message FaceRecognitionResult * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BoundingPoly.toObject = function toObject(message, options) { + FaceRecognitionResult.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.vertices = []; - object.normalizedVertices = []; - } - if (message.vertices && message.vertices.length) { - object.vertices = []; - for (var j = 0; j < message.vertices.length; ++j) - object.vertices[j] = $root.google.cloud.vision.v1p4beta1.Vertex.toObject(message.vertices[j], options); - } - if (message.normalizedVertices && message.normalizedVertices.length) { - object.normalizedVertices = []; - for (var j = 0; j < message.normalizedVertices.length; ++j) - object.normalizedVertices[j] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); + if (options.defaults) { + object.celebrity = null; + object.confidence = 0; } + if (message.celebrity != null && message.hasOwnProperty("celebrity")) + object.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.toObject(message.celebrity, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; }; /** - * Converts this BoundingPoly to JSON. + * Converts this FaceRecognitionResult to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @instance * @returns {Object.} JSON object */ - BoundingPoly.prototype.toJSON = function toJSON() { + FaceRecognitionResult.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BoundingPoly; + return FaceRecognitionResult; })(); - v1p4beta1.Position = (function() { + v1p4beta1.Vertex = (function() { /** - * Properties of a Position. + * Properties of a Vertex. * @memberof google.cloud.vision.v1p4beta1 - * @interface IPosition - * @property {number|null} [x] Position x - * @property {number|null} [y] Position y - * @property {number|null} [z] Position z + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y */ /** - * Constructs a new Position. + * Constructs a new Vertex. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a Position. - * @implements IPosition + * @classdesc Represents a Vertex. + * @implements IVertex * @constructor - * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set */ - function Position(properties) { + function Vertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -84459,101 +84534,88 @@ } /** - * Position x. + * Vertex x. * @member {number} x - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @instance */ - Position.prototype.x = 0; + Vertex.prototype.x = 0; /** - * Position y. + * Vertex y. * @member {number} y - * @memberof google.cloud.vision.v1p4beta1.Position - * @instance - */ - Position.prototype.y = 0; - - /** - * Position z. - * @member {number} z - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @instance */ - Position.prototype.z = 0; + Vertex.prototype.y = 0; /** - * Creates a new Position instance using the specified properties. + * Creates a new Vertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static - * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Position} Position instance + * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex instance */ - Position.create = function create(properties) { - return new Position(properties); + Vertex.create = function create(properties) { + return new Vertex(properties); }; /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static - * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encode = function encode(message, writer) { + Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static - * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encodeDelimited = function encodeDelimited(message, writer) { + Vertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Position message from the specified reader or buffer. + * Decodes a Vertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decode = function decode(reader, length) { + Vertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Position(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Vertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); + message.x = reader.int32(); break; case 2: - message.y = reader.float(); - break; - case 3: - message.z = reader.float(); + message.y = reader.int32(); break; default: reader.skipType(tag & 7); @@ -84564,128 +84626,117 @@ }; /** - * Decodes a Position message from the specified reader or buffer, length delimited. + * Decodes a Vertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decodeDelimited = function decodeDelimited(reader) { + Vertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Position message. + * Verifies a Vertex message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Position.verify = function verify(message) { + Vertex.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; + if (!$util.isInteger(message.x)) + return "x: integer expected"; if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; - if (message.z != null && message.hasOwnProperty("z")) - if (typeof message.z !== "number") - return "z: number expected"; + if (!$util.isInteger(message.y)) + return "y: integer expected"; return null; }; /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex */ - Position.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Position) + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Vertex) return object; - var message = new $root.google.cloud.vision.v1p4beta1.Position(); + var message = new $root.google.cloud.vision.v1p4beta1.Vertex(); if (object.x != null) - message.x = Number(object.x); + message.x = object.x | 0; if (object.y != null) - message.y = Number(object.y); - if (object.z != null) - message.z = Number(object.z); + message.y = object.y | 0; return message; }; /** - * Creates a plain object from a Position message. Also converts values to other types if specified. + * Creates a plain object from a Vertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static - * @param {google.cloud.vision.v1p4beta1.Position} message Position + * @param {google.cloud.vision.v1p4beta1.Vertex} message Vertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Position.toObject = function toObject(message, options) { + Vertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.x = 0; object.y = 0; - object.z = 0; } if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + object.x = message.x; if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; - if (message.z != null && message.hasOwnProperty("z")) - object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + object.y = message.y; return object; }; /** - * Converts this Position to JSON. + * Converts this Vertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.Vertex * @instance * @returns {Object.} JSON object */ - Position.prototype.toJSON = function toJSON() { + Vertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Position; + return Vertex; })(); - v1p4beta1.ProductSearchParams = (function() { + v1p4beta1.NormalizedVertex = (function() { /** - * Properties of a ProductSearchParams. + * Properties of a NormalizedVertex. * @memberof google.cloud.vision.v1p4beta1 - * @interface IProductSearchParams - * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] ProductSearchParams boundingPoly - * @property {string|null} [productSet] ProductSearchParams productSet - * @property {Array.|null} [productCategories] ProductSearchParams productCategories - * @property {string|null} [filter] ProductSearchParams filter + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y */ /** - * Constructs a new ProductSearchParams. + * Constructs a new NormalizedVertex. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ProductSearchParams. - * @implements IProductSearchParams + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex * @constructor - * @param {google.cloud.vision.v1p4beta1.IProductSearchParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set */ - function ProductSearchParams(properties) { - this.productCategories = []; + function NormalizedVertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -84693,117 +84744,88 @@ } /** - * ProductSearchParams boundingPoly. - * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * NormalizedVertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @instance */ - ProductSearchParams.prototype.boundingPoly = null; + NormalizedVertex.prototype.x = 0; /** - * ProductSearchParams productSet. - * @member {string} productSet - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @instance */ - ProductSearchParams.prototype.productSet = ""; + NormalizedVertex.prototype.y = 0; /** - * ProductSearchParams productCategories. - * @member {Array.} productCategories - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams - * @instance + * Creates a new NormalizedVertex instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex instance */ - ProductSearchParams.prototype.productCategories = $util.emptyArray; + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); + }; /** - * ProductSearchParams filter. - * @member {string} filter - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams - * @instance - */ - ProductSearchParams.prototype.filter = ""; - - /** - * Creates a new ProductSearchParams instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams - * @static - * @param {google.cloud.vision.v1p4beta1.IProductSearchParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams instance - */ - ProductSearchParams.create = function create(properties) { - return new ProductSearchParams(properties); - }; - - /** - * Encodes the specified ProductSearchParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchParams.verify|verify} messages. + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p4beta1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ProductSearchParams.encode = function encode(message, writer) { + NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); - if (message.productCategories != null && message.productCategories.length) - for (var i = 0; i < message.productCategories.length; ++i) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && message.hasOwnProperty("filter")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; /** - * Encodes the specified ProductSearchParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchParams.verify|verify} messages. + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p4beta1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ProductSearchParams.encodeDelimited = function encodeDelimited(message, writer) { + NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ProductSearchParams message from the specified reader or buffer. + * Decodes a NormalizedVertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductSearchParams.decode = function decode(reader, length) { + NormalizedVertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 9: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 6: - message.productSet = reader.string(); - break; - case 7: - if (!(message.productCategories && message.productCategories.length)) - message.productCategories = []; - message.productCategories.push(reader.string()); + case 1: + message.x = reader.float(); break; - case 8: - message.filter = reader.string(); + case 2: + message.y = reader.float(); break; default: reader.skipType(tag & 7); @@ -84814,154 +84836,119 @@ }; /** - * Decodes a ProductSearchParams message from the specified reader or buffer, length delimited. + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductSearchParams.decodeDelimited = function decodeDelimited(reader) { + NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ProductSearchParams message. + * Verifies a NormalizedVertex message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ProductSearchParams.verify = function verify(message) { + NormalizedVertex.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.productSet != null && message.hasOwnProperty("productSet")) - if (!$util.isString(message.productSet)) - return "productSet: string expected"; - if (message.productCategories != null && message.hasOwnProperty("productCategories")) { - if (!Array.isArray(message.productCategories)) - return "productCategories: array expected"; - for (var i = 0; i < message.productCategories.length; ++i) - if (!$util.isString(message.productCategories[i])) - return "productCategories: string[] expected"; - } - if (message.filter != null && message.hasOwnProperty("filter")) - if (!$util.isString(message.filter)) - return "filter: string expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; return null; }; /** - * Creates a ProductSearchParams message from a plain object. Also converts values to their respective internal types. + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex */ - ProductSearchParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchParams) + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.NormalizedVertex) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchParams(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchParams.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.productSet != null) - message.productSet = String(object.productSet); - if (object.productCategories) { - if (!Array.isArray(object.productCategories)) - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchParams.productCategories: array expected"); - message.productCategories = []; - for (var i = 0; i < object.productCategories.length; ++i) - message.productCategories[i] = String(object.productCategories[i]); - } - if (object.filter != null) - message.filter = String(object.filter); + var message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); return message; }; /** - * Creates a plain object from a ProductSearchParams message. Also converts values to other types if specified. + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchParams} message ProductSearchParams + * @param {google.cloud.vision.v1p4beta1.NormalizedVertex} message NormalizedVertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ProductSearchParams.toObject = function toObject(message, options) { + NormalizedVertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.productCategories = []; if (options.defaults) { - object.productSet = ""; - object.filter = ""; - object.boundingPoly = null; - } - if (message.productSet != null && message.hasOwnProperty("productSet")) - object.productSet = message.productSet; - if (message.productCategories && message.productCategories.length) { - object.productCategories = []; - for (var j = 0; j < message.productCategories.length; ++j) - object.productCategories[j] = message.productCategories[j]; + object.x = 0; + object.y = 0; } - if (message.filter != null && message.hasOwnProperty("filter")) - object.filter = message.filter; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; return object; }; /** - * Converts this ProductSearchParams to JSON. + * Converts this NormalizedVertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @instance * @returns {Object.} JSON object */ - ProductSearchParams.prototype.toJSON = function toJSON() { + NormalizedVertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ProductSearchParams; + return NormalizedVertex; })(); - v1p4beta1.ProductSearchResults = (function() { + v1p4beta1.BoundingPoly = (function() { /** - * Properties of a ProductSearchResults. + * Properties of a BoundingPoly. * @memberof google.cloud.vision.v1p4beta1 - * @interface IProductSearchResults - * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSearchResults indexTime - * @property {Array.|null} [results] ProductSearchResults results - * @property {Array.|null} [productGroupedResults] ProductSearchResults productGroupedResults + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices */ /** - * Constructs a new ProductSearchResults. + * Constructs a new BoundingPoly. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ProductSearchResults. - * @implements IProductSearchResults + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly * @constructor - * @param {google.cloud.vision.v1p4beta1.IProductSearchResults=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set */ - function ProductSearchResults(properties) { - this.results = []; - this.productGroupedResults = []; + function BoundingPoly(properties) { + this.vertices = []; + this.normalizedVertices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -84969,107 +84956,94 @@ } /** - * ProductSearchResults indexTime. - * @member {google.protobuf.ITimestamp|null|undefined} indexTime - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults - * @instance - */ - ProductSearchResults.prototype.indexTime = null; - - /** - * ProductSearchResults results. - * @member {Array.} results - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @instance */ - ProductSearchResults.prototype.results = $util.emptyArray; + BoundingPoly.prototype.vertices = $util.emptyArray; /** - * ProductSearchResults productGroupedResults. - * @member {Array.} productGroupedResults - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * BoundingPoly normalizedVertices. + * @member {Array.} normalizedVertices + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @instance */ - ProductSearchResults.prototype.productGroupedResults = $util.emptyArray; + BoundingPoly.prototype.normalizedVertices = $util.emptyArray; /** - * Creates a new ProductSearchResults instance using the specified properties. + * Creates a new BoundingPoly instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p4beta1.IProductSearchResults=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults instance + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly instance */ - ProductSearchResults.create = function create(properties) { - return new ProductSearchResults(properties); + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); }; /** - * Encodes the specified ProductSearchResults message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.verify|verify} messages. + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p4beta1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ProductSearchResults.encode = function encode(message, writer) { + BoundingPoly.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) - $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.results != null && message.results.length) - for (var i = 0; i < message.results.length; ++i) - $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.productGroupedResults != null && message.productGroupedResults.length) - for (var i = 0; i < message.productGroupedResults.length; ++i) - $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.encode(message.productGroupedResults[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p4beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.normalizedVertices != null && message.normalizedVertices.length) + for (var i = 0; i < message.normalizedVertices.length; ++i) + $root.google.cloud.vision.v1p4beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified ProductSearchResults message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.verify|verify} messages. + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p4beta1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ProductSearchResults.encodeDelimited = function encodeDelimited(message, writer) { + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ProductSearchResults message from the specified reader or buffer. + * Decodes a BoundingPoly message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductSearchResults.decode = function decode(reader, length) { + BoundingPoly.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - if (!(message.results && message.results.length)) - message.results = []; - message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + case 1: + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p4beta1.Vertex.decode(reader, reader.uint32())); break; - case 6: - if (!(message.productGroupedResults && message.productGroupedResults.length)) - message.productGroupedResults = []; - message.productGroupedResults.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); + case 2: + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p4beta1.NormalizedVertex.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -85080,265 +85054,1538 @@ }; /** - * Decodes a ProductSearchResults message from the specified reader or buffer, length delimited. + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductSearchResults.decodeDelimited = function decodeDelimited(reader) { + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ProductSearchResults message. + * Verifies a BoundingPoly message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ProductSearchResults.verify = function verify(message) { + BoundingPoly.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.indexTime != null && message.hasOwnProperty("indexTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.indexTime); - if (error) - return "indexTime." + error; - } - if (message.results != null && message.hasOwnProperty("results")) { - if (!Array.isArray(message.results)) - return "results: array expected"; - for (var i = 0; i < message.results.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify(message.results[i]); + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Vertex.verify(message.vertices[i]); if (error) - return "results." + error; + return "vertices." + error; } } - if (message.productGroupedResults != null && message.hasOwnProperty("productGroupedResults")) { - if (!Array.isArray(message.productGroupedResults)) - return "productGroupedResults: array expected"; - for (var i = 0; i < message.productGroupedResults.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify(message.productGroupedResults[i]); + if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { + if (!Array.isArray(message.normalizedVertices)) + return "normalizedVertices: array expected"; + for (var i = 0; i < message.normalizedVertices.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.verify(message.normalizedVertices[i]); if (error) - return "productGroupedResults." + error; + return "normalizedVertices." + error; } } return null; }; /** - * Creates a ProductSearchResults message from a plain object. Also converts values to their respective internal types. + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly */ - ProductSearchResults.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults) + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BoundingPoly) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults(); - if (object.indexTime != null) { - if (typeof object.indexTime !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.indexTime: object expected"); - message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); - } - if (object.results) { - if (!Array.isArray(object.results)) - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.results: array expected"); - message.results = []; - for (var i = 0; i < object.results.length; ++i) { - if (typeof object.results[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.results: object expected"); - message.results[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.fromObject(object.results[i]); + var message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p4beta1.Vertex.fromObject(object.vertices[i]); } } - if (object.productGroupedResults) { - if (!Array.isArray(object.productGroupedResults)) - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.productGroupedResults: array expected"); - message.productGroupedResults = []; - for (var i = 0; i < object.productGroupedResults.length; ++i) { - if (typeof object.productGroupedResults[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.productGroupedResults: object expected"); - message.productGroupedResults[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.fromObject(object.productGroupedResults[i]); + if (object.normalizedVertices) { + if (!Array.isArray(object.normalizedVertices)) + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: array expected"); + message.normalizedVertices = []; + for (var i = 0; i < object.normalizedVertices.length; ++i) { + if (typeof object.normalizedVertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: object expected"); + message.normalizedVertices[i] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); } } return message; }; /** - * Creates a plain object from a ProductSearchResults message. Also converts values to other types if specified. + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults} message ProductSearchResults + * @param {google.cloud.vision.v1p4beta1.BoundingPoly} message BoundingPoly * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ProductSearchResults.toObject = function toObject(message, options) { + BoundingPoly.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { - object.results = []; - object.productGroupedResults = []; + object.vertices = []; + object.normalizedVertices = []; } - if (options.defaults) - object.indexTime = null; - if (message.indexTime != null && message.hasOwnProperty("indexTime")) - object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); - if (message.results && message.results.length) { - object.results = []; - for (var j = 0; j < message.results.length; ++j) - object.results[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.toObject(message.results[j], options); + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p4beta1.Vertex.toObject(message.vertices[j], options); } - if (message.productGroupedResults && message.productGroupedResults.length) { - object.productGroupedResults = []; - for (var j = 0; j < message.productGroupedResults.length; ++j) - object.productGroupedResults[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.toObject(message.productGroupedResults[j], options); + if (message.normalizedVertices && message.normalizedVertices.length) { + object.normalizedVertices = []; + for (var j = 0; j < message.normalizedVertices.length; ++j) + object.normalizedVertices[j] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); } return object; }; /** - * Converts this ProductSearchResults to JSON. + * Converts this BoundingPoly to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @instance * @returns {Object.} JSON object */ - ProductSearchResults.prototype.toJSON = function toJSON() { + BoundingPoly.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - ProductSearchResults.Result = (function() { - - /** - * Properties of a Result. - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults - * @interface IResult - * @property {google.cloud.vision.v1p4beta1.IProduct|null} [product] Result product - * @property {number|null} [score] Result score - * @property {string|null} [image] Result image - */ + return BoundingPoly; + })(); - /** - * Constructs a new Result. - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults - * @classdesc Represents a Result. - * @implements IResult - * @constructor - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult=} [properties] Properties to set - */ - function Result(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]]; - } + v1p4beta1.Position = (function() { - /** - * Result product. - * @member {google.cloud.vision.v1p4beta1.IProduct|null|undefined} product - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result - * @instance - */ - Result.prototype.product = null; + /** + * Properties of a Position. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z + */ - /** - * Result score. - * @member {number} score - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result - * @instance - */ - Result.prototype.score = 0; + /** + * Constructs a new Position. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Position. + * @implements IPosition + * @constructor + * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set + */ + function Position(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]]; + } - /** - * Result image. - * @member {string} image - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result - * @instance - */ - Result.prototype.image = ""; + /** + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + */ + Position.prototype.x = 0; - /** - * Creates a new Result instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + /** + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + */ + Position.prototype.y = 0; + + /** + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + */ + Position.prototype.z = 0; + + /** + * Creates a new Position instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Position} Position instance + */ + Position.create = function create(properties) { + return new Position(properties); + }; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + return writer; + }; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Position message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Position(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + case 3: + message.z = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Position message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Position.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; + return null; + }; + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Position} Position + */ + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Position) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); + return message; + }; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.Position} message Position + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Position.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + object.z = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + return object; + }; + + /** + * Converts this Position to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + * @returns {Object.} JSON object + */ + Position.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Position; + })(); + + v1p4beta1.ProductSearchParams = (function() { + + /** + * Properties of a ProductSearchParams. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IProductSearchParams + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] ProductSearchParams boundingPoly + * @property {string|null} [productSet] ProductSearchParams productSet + * @property {Array.|null} [productCategories] ProductSearchParams productCategories + * @property {string|null} [filter] ProductSearchParams filter + */ + + /** + * Constructs a new ProductSearchParams. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ProductSearchParams. + * @implements IProductSearchParams + * @constructor + * @param {google.cloud.vision.v1p4beta1.IProductSearchParams=} [properties] Properties to set + */ + function ProductSearchParams(properties) { + this.productCategories = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductSearchParams boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.boundingPoly = null; + + /** + * ProductSearchParams productSet. + * @member {string} productSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.productSet = ""; + + /** + * ProductSearchParams productCategories. + * @member {Array.} productCategories + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.productCategories = $util.emptyArray; + + /** + * ProductSearchParams filter. + * @member {string} filter + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + */ + ProductSearchParams.prototype.filter = ""; + + /** + * Creates a new ProductSearchParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams instance + */ + ProductSearchParams.create = function create(properties) { + return new ProductSearchParams(properties); + }; + + /** + * Encodes the specified ProductSearchParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.productSet != null && message.hasOwnProperty("productSet")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); + if (message.productCategories != null && message.productCategories.length) + for (var i = 0; i < message.productCategories.length; ++i) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); + if (message.filter != null && message.hasOwnProperty("filter")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSearchParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchParams} message ProductSearchParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 9: + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 6: + message.productSet = reader.string(); + break; + case 7: + if (!(message.productCategories && message.productCategories.length)) + message.productCategories = []; + message.productCategories.push(reader.string()); + break; + case 8: + message.filter = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSearchParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSearchParams message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSearchParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + if (!$util.isString(message.productSet)) + return "productSet: string expected"; + if (message.productCategories != null && message.hasOwnProperty("productCategories")) { + if (!Array.isArray(message.productCategories)) + return "productCategories: array expected"; + for (var i = 0; i < message.productCategories.length; ++i) + if (!$util.isString(message.productCategories[i])) + return "productCategories: string[] expected"; + } + if (message.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: string expected"; + return null; + }; + + /** + * Creates a ProductSearchParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSearchParams} ProductSearchParams + */ + ProductSearchParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchParams) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchParams(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchParams.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.productSet != null) + message.productSet = String(object.productSet); + if (object.productCategories) { + if (!Array.isArray(object.productCategories)) + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchParams.productCategories: array expected"); + message.productCategories = []; + for (var i = 0; i < object.productCategories.length; ++i) + message.productCategories[i] = String(object.productCategories[i]); + } + if (object.filter != null) + message.filter = String(object.filter); + return message; + }; + + /** + * Creates a plain object from a ProductSearchParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchParams} message ProductSearchParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSearchParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productCategories = []; + if (options.defaults) { + object.productSet = ""; + object.filter = ""; + object.boundingPoly = null; + } + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = message.productSet; + if (message.productCategories && message.productCategories.length) { + object.productCategories = []; + for (var j = 0; j < message.productCategories.length; ++j) + object.productCategories[j] = message.productCategories[j]; + } + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + return object; + }; + + /** + * Converts this ProductSearchParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @instance + * @returns {Object.} JSON object + */ + ProductSearchParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ProductSearchParams; + })(); + + v1p4beta1.ProductSearchResults = (function() { + + /** + * Properties of a ProductSearchResults. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IProductSearchResults + * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSearchResults indexTime + * @property {Array.|null} [results] ProductSearchResults results + * @property {Array.|null} [productGroupedResults] ProductSearchResults productGroupedResults + */ + + /** + * Constructs a new ProductSearchResults. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ProductSearchResults. + * @implements IProductSearchResults + * @constructor + * @param {google.cloud.vision.v1p4beta1.IProductSearchResults=} [properties] Properties to set + */ + function ProductSearchResults(properties) { + this.results = []; + this.productGroupedResults = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ProductSearchResults indexTime. + * @member {google.protobuf.ITimestamp|null|undefined} indexTime + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.indexTime = null; + + /** + * ProductSearchResults results. + * @member {Array.} results + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.results = $util.emptyArray; + + /** + * ProductSearchResults productGroupedResults. + * @member {Array.} productGroupedResults + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @instance + */ + ProductSearchResults.prototype.productGroupedResults = $util.emptyArray; + + /** + * Creates a new ProductSearchResults instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchResults=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults instance + */ + ProductSearchResults.create = function create(properties) { + return new ProductSearchResults(properties); + }; + + /** + * Encodes the specified ProductSearchResults message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchResults.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.results != null && message.results.length) + for (var i = 0; i < message.results.length; ++i) + $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.productGroupedResults != null && message.productGroupedResults.length) + for (var i = 0; i < message.productGroupedResults.length; ++i) + $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.encode(message.productGroupedResults[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ProductSearchResults message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p4beta1.IProductSearchResults} message ProductSearchResults message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ProductSearchResults.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchResults.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 5: + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.productGroupedResults && message.productGroupedResults.length)) + message.productGroupedResults = []; + message.productGroupedResults.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ProductSearchResults message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ProductSearchResults.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ProductSearchResults message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ProductSearchResults.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.indexTime); + if (error) + return "indexTime." + error; + } + if (message.results != null && message.hasOwnProperty("results")) { + if (!Array.isArray(message.results)) + return "results: array expected"; + for (var i = 0; i < message.results.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify(message.results[i]); + if (error) + return "results." + error; + } + } + if (message.productGroupedResults != null && message.hasOwnProperty("productGroupedResults")) { + if (!Array.isArray(message.productGroupedResults)) + return "productGroupedResults: array expected"; + for (var i = 0; i < message.productGroupedResults.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify(message.productGroupedResults[i]); + if (error) + return "productGroupedResults." + error; + } + } + return null; + }; + + /** + * Creates a ProductSearchResults message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults} ProductSearchResults + */ + ProductSearchResults.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults(); + if (object.indexTime != null) { + if (typeof object.indexTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.indexTime: object expected"); + message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); + } + if (object.results) { + if (!Array.isArray(object.results)) + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.results: array expected"); + message.results = []; + for (var i = 0; i < object.results.length; ++i) { + if (typeof object.results[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.results: object expected"); + message.results[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.fromObject(object.results[i]); + } + } + if (object.productGroupedResults) { + if (!Array.isArray(object.productGroupedResults)) + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.productGroupedResults: array expected"); + message.productGroupedResults = []; + for (var i = 0; i < object.productGroupedResults.length; ++i) { + if (typeof object.productGroupedResults[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.productGroupedResults: object expected"); + message.productGroupedResults[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.fromObject(object.productGroupedResults[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ProductSearchResults message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults} message ProductSearchResults + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ProductSearchResults.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.results = []; + object.productGroupedResults = []; + } + if (options.defaults) + object.indexTime = null; + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); + if (message.results && message.results.length) { + object.results = []; + for (var j = 0; j < message.results.length; ++j) + object.results[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.toObject(message.results[j], options); + } + if (message.productGroupedResults && message.productGroupedResults.length) { + object.productGroupedResults = []; + for (var j = 0; j < message.productGroupedResults.length; ++j) + object.productGroupedResults[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.toObject(message.productGroupedResults[j], options); + } + return object; + }; + + /** + * Converts this ProductSearchResults to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @instance + * @returns {Object.} JSON object + */ + ProductSearchResults.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + ProductSearchResults.Result = (function() { + + /** + * Properties of a Result. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @interface IResult + * @property {google.cloud.vision.v1p4beta1.IProduct|null} [product] Result product + * @property {number|null} [score] Result score + * @property {string|null} [image] Result image + */ + + /** + * Constructs a new Result. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @classdesc Represents a Result. + * @implements IResult + * @constructor + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult=} [properties] Properties to set + */ + function Result(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]]; + } + + /** + * Result product. + * @member {google.cloud.vision.v1p4beta1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @instance + */ + Result.prototype.product = null; + + /** + * Result score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @instance + */ + Result.prototype.score = 0; + + /** + * Result image. + * @member {string} image + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @instance + */ + Result.prototype.image = ""; + + /** + * Creates a new Result instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result instance + */ + Result.create = function create(properties) { + return new Result(properties); + }; + + /** + * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Result.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.image != null && message.hasOwnProperty("image")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); + return writer; + }; + + /** + * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Result.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Result message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Result.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.image = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Result message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Result.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Result message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Result.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.image != null && message.hasOwnProperty("image")) + if (!$util.isString(message.image)) + return "image: string expected"; + return null; + }; + + /** + * Creates a Result message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result + */ + Result.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result(); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.Result.product: object expected"); + message.product = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.product); + } + if (object.score != null) + message.score = Number(object.score); + if (object.image != null) + message.image = String(object.image); + return message; + }; + + /** + * Creates a plain object from a Result message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} message Result + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Result.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.product = null; + object.score = 0; + object.image = ""; + } + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.product, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.image != null && message.hasOwnProperty("image")) + object.image = message.image; + return object; + }; + + /** + * Converts this Result to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @instance + * @returns {Object.} JSON object + */ + Result.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Result; + })(); + + ProductSearchResults.ObjectAnnotation = (function() { + + /** + * Properties of an ObjectAnnotation. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @interface IObjectAnnotation + * @property {string|null} [mid] ObjectAnnotation mid + * @property {string|null} [languageCode] ObjectAnnotation languageCode + * @property {string|null} [name] ObjectAnnotation name + * @property {number|null} [score] ObjectAnnotation score + */ + + /** + * Constructs a new ObjectAnnotation. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @classdesc Represents an ObjectAnnotation. + * @implements IObjectAnnotation + * @constructor + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation=} [properties] Properties to set + */ + function ObjectAnnotation(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]]; + } + + /** + * ObjectAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.mid = ""; + + /** + * ObjectAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.languageCode = ""; + + /** + * ObjectAnnotation name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.name = ""; + + /** + * ObjectAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.score = 0; + + /** + * Creates a new ObjectAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation instance + */ + ObjectAnnotation.create = function create(properties) { + return new ObjectAnnotation(properties); + }; + + /** + * Encodes the specified ObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation} message ObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + return writer; + }; + + /** + * Encodes the specified ObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result instance + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IObjectAnnotation} message ObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - Result.create = function create(properties) { - return new Result(properties); + ObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); }; /** - * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * Decodes an ObjectAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + case 3: + message.name = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + return null; + }; + + /** + * Creates an ObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation + */ + ObjectAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.name != null) + message.name = String(object.name); + if (object.score != null) + message.score = Number(object.score); + return message; + }; + + /** + * Creates a plain object from an ObjectAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation} message ObjectAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.mid = ""; + object.languageCode = ""; + object.name = ""; + object.score = 0; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + return object; + }; + + /** + * Converts this ObjectAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @instance + * @returns {Object.} JSON object + */ + ObjectAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectAnnotation; + })(); + + ProductSearchResults.GroupedResult = (function() { + + /** + * Properties of a GroupedResult. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @interface IGroupedResult + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] GroupedResult boundingPoly + * @property {Array.|null} [results] GroupedResult results + * @property {Array.|null} [objectAnnotations] GroupedResult objectAnnotations + */ + + /** + * Constructs a new GroupedResult. + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @classdesc Represents a GroupedResult. + * @implements IGroupedResult + * @constructor + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult=} [properties] Properties to set + */ + function GroupedResult(properties) { + this.results = []; + this.objectAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GroupedResult boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.boundingPoly = null; + + /** + * GroupedResult results. + * @member {Array.} results + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.results = $util.emptyArray; + + /** + * GroupedResult objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.objectAnnotations = $util.emptyArray; + + /** + * Creates a new GroupedResult instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult instance + */ + GroupedResult.create = function create(properties) { + return new GroupedResult(properties); + }; + + /** + * Encodes the specified GroupedResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Result.encode = function encode(message, writer) { + GroupedResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) - $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && message.hasOwnProperty("image")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.results != null && message.results.length) + for (var i = 0; i < message.results.length; ++i) + $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify|verify} messages. + * Encodes the specified GroupedResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IResult} message Result message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Result.encodeDelimited = function encodeDelimited(message, writer) { + GroupedResult.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Result message from the specified reader or buffer. + * Decodes a GroupedResult message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Result.decode = function decode(reader, length) { + GroupedResult.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); break; case 2: - message.score = reader.float(); + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); break; case 3: - message.image = reader.string(); + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -85349,1002 +86596,1340 @@ }; /** - * Decodes a Result message from the specified reader or buffer, length delimited. + * Decodes a GroupedResult message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Result.decodeDelimited = function decodeDelimited(reader) { + GroupedResult.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Result message. + * Verifies a GroupedResult message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Result.verify = function verify(message) { + GroupedResult.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.product != null && message.hasOwnProperty("product")) { - var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.product); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); if (error) - return "product." + error; + return "boundingPoly." + error; + } + if (message.results != null && message.hasOwnProperty("results")) { + if (!Array.isArray(message.results)) + return "results: array expected"; + for (var i = 0; i < message.results.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify(message.results[i]); + if (error) + return "results." + error; + } + } + if (message.objectAnnotations != null && message.hasOwnProperty("objectAnnotations")) { + if (!Array.isArray(message.objectAnnotations)) + return "objectAnnotations: array expected"; + for (var i = 0; i < message.objectAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.verify(message.objectAnnotations[i]); + if (error) + return "objectAnnotations." + error; + } } - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.image != null && message.hasOwnProperty("image")) - if (!$util.isString(message.image)) - return "image: string expected"; return null; }; /** - * Creates a Result message from a plain object. Also converts values to their respective internal types. + * Creates a GroupedResult message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} Result + * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult */ - Result.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result) + GroupedResult.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result(); - if (object.product != null) { - if (typeof object.product !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.Result.product: object expected"); - message.product = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.product); + var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.results) { + if (!Array.isArray(object.results)) + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.results: array expected"); + message.results = []; + for (var i = 0; i < object.results.length; ++i) { + if (typeof object.results[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.results: object expected"); + message.results[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.fromObject(object.results[i]); + } + } + if (object.objectAnnotations) { + if (!Array.isArray(object.objectAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.objectAnnotations: array expected"); + message.objectAnnotations = []; + for (var i = 0; i < object.objectAnnotations.length; ++i) { + if (typeof object.objectAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.objectAnnotations: object expected"); + message.objectAnnotations[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.fromObject(object.objectAnnotations[i]); + } } - if (object.score != null) - message.score = Number(object.score); - if (object.image != null) - message.image = String(object.image); return message; }; /** - * Creates a plain object from a Result message. Also converts values to other types if specified. + * Creates a plain object from a GroupedResult message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.Result} message Result + * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} message GroupedResult * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Result.toObject = function toObject(message, options) { + GroupedResult.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.product = null; - object.score = 0; - object.image = ""; + if (options.arrays || options.defaults) { + object.results = []; + object.objectAnnotations = []; + } + if (options.defaults) + object.boundingPoly = null; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.results && message.results.length) { + object.results = []; + for (var j = 0; j < message.results.length; ++j) + object.results[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.toObject(message.results[j], options); + } + if (message.objectAnnotations && message.objectAnnotations.length) { + object.objectAnnotations = []; + for (var j = 0; j < message.objectAnnotations.length; ++j) + object.objectAnnotations[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.toObject(message.objectAnnotations[j], options); } - if (message.product != null && message.hasOwnProperty("product")) - object.product = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.product, options); - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.image != null && message.hasOwnProperty("image")) - object.image = message.image; return object; }; - /** - * Converts this Result to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result - * @instance - * @returns {Object.} JSON object - */ - Result.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this GroupedResult to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @instance + * @returns {Object.} JSON object + */ + GroupedResult.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GroupedResult; + })(); + + return ProductSearchResults; + })(); + + v1p4beta1.ProductSearch = (function() { + + /** + * Constructs a new ProductSearch service. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ProductSearch + * @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 ProductSearch(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ProductSearch.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductSearch; + + /** + * Creates new ProductSearch service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @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 {ProductSearch} RPC service. Useful where requests and/or responses are streamed. + */ + ProductSearch.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef CreateProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ProductSet} [response] ProductSet + */ + + /** + * Calls CreateProductSet. + * @function createProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createProductSet = function createProductSet(request, callback) { + return this.rpcCall(createProductSet, $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest, $root.google.cloud.vision.v1p4beta1.ProductSet, request, callback); + }, "name", { value: "CreateProductSet" }); + + /** + * Calls CreateProductSet. + * @function createProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductSets}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef ListProductSetsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ListProductSetsResponse} [response] ListProductSetsResponse + */ + + /** + * Calls ListProductSets. + * @function listProductSets + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} request ListProductSetsRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListProductSetsCallback} callback Node-style callback called with the error, if any, and ListProductSetsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProductSets = function listProductSets(request, callback) { + return this.rpcCall(listProductSets, $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest, $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse, request, callback); + }, "name", { value: "ListProductSets" }); + + /** + * Calls ListProductSets. + * @function listProductSets + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} request ListProductSetsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef GetProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ProductSet} [response] ProductSet + */ + + /** + * Calls GetProductSet. + * @function getProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} request GetProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.GetProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getProductSet = function getProductSet(request, callback) { + return this.rpcCall(getProductSet, $root.google.cloud.vision.v1p4beta1.GetProductSetRequest, $root.google.cloud.vision.v1p4beta1.ProductSet, request, callback); + }, "name", { value: "GetProductSet" }); + + /** + * Calls GetProductSet. + * @function getProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} request GetProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - return Result; - })(); + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef UpdateProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ProductSet} [response] ProductSet + */ - ProductSearchResults.GroupedResult = (function() { + /** + * Calls UpdateProductSet. + * @function updateProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.updateProductSet = function updateProductSet(request, callback) { + return this.rpcCall(updateProductSet, $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest, $root.google.cloud.vision.v1p4beta1.ProductSet, request, callback); + }, "name", { value: "UpdateProductSet" }); - /** - * Properties of a GroupedResult. - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults - * @interface IGroupedResult - * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] GroupedResult boundingPoly - * @property {Array.|null} [results] GroupedResult results - */ + /** + * Calls UpdateProductSet. + * @function updateProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Constructs a new GroupedResult. - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults - * @classdesc Represents a GroupedResult. - * @implements IGroupedResult - * @constructor - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult=} [properties] Properties to set - */ - function GroupedResult(properties) { - this.results = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProductSet}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef DeleteProductSetCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ - /** - * GroupedResult boundingPoly. - * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @instance - */ - GroupedResult.prototype.boundingPoly = null; + /** + * Calls DeleteProductSet. + * @function deleteProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteProductSet = function deleteProductSet(request, callback) { + return this.rpcCall(deleteProductSet, $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteProductSet" }); - /** - * GroupedResult results. - * @member {Array.} results - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @instance - */ - GroupedResult.prototype.results = $util.emptyArray; + /** + * Calls DeleteProductSet. + * @function deleteProductSet + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Creates a new GroupedResult instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult instance - */ - GroupedResult.create = function create(properties) { - return new GroupedResult(properties); - }; + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProduct}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef CreateProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.Product} [response] Product + */ - /** - * Encodes the specified GroupedResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GroupedResult.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.results != null && message.results.length) - for (var i = 0; i < message.results.length; ++i) - $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + /** + * Calls CreateProduct. + * @function createProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} request CreateProductRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.CreateProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.createProduct = function createProduct(request, callback) { + return this.rpcCall(createProduct, $root.google.cloud.vision.v1p4beta1.CreateProductRequest, $root.google.cloud.vision.v1p4beta1.Product, request, callback); + }, "name", { value: "CreateProduct" }); - /** - * Encodes the specified GroupedResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GroupedResult.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Calls CreateProduct. + * @function createProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} request CreateProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Decodes a GroupedResult message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GroupedResult.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.results && message.results.length)) - message.results = []; - message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProducts}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef ListProductsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ListProductsResponse} [response] ListProductsResponse + */ + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} request ListProductsRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListProductsCallback} callback Node-style callback called with the error, if any, and ListProductsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.listProducts = function listProducts(request, callback) { + return this.rpcCall(listProducts, $root.google.cloud.vision.v1p4beta1.ListProductsRequest, $root.google.cloud.vision.v1p4beta1.ListProductsResponse, request, callback); + }, "name", { value: "ListProducts" }); + + /** + * Calls ListProducts. + * @function listProducts + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} request ListProductsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Decodes a GroupedResult message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GroupedResult.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProduct}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef GetProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.Product} [response] Product + */ - /** - * Verifies a GroupedResult message. - * @function verify - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GroupedResult.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.results != null && message.hasOwnProperty("results")) { - if (!Array.isArray(message.results)) - return "results: array expected"; - for (var i = 0; i < message.results.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.verify(message.results[i]); - if (error) - return "results." + error; - } - } - return null; - }; + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} request GetProductRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.GetProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.getProduct = function getProduct(request, callback) { + return this.rpcCall(getProduct, $root.google.cloud.vision.v1p4beta1.GetProductRequest, $root.google.cloud.vision.v1p4beta1.Product, request, callback); + }, "name", { value: "GetProduct" }); - /** - * Creates a GroupedResult message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} GroupedResult - */ - GroupedResult.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.results) { - if (!Array.isArray(object.results)) - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.results: array expected"); - message.results = []; - for (var i = 0; i < object.results.length; ++i) { - if (typeof object.results[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.results: object expected"); - message.results[i] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.fromObject(object.results[i]); - } - } - return message; - }; + /** + * Calls GetProduct. + * @function getProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} request GetProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Creates a plain object from a GroupedResult message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @static - * @param {google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult} message GroupedResult - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GroupedResult.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.results = []; - if (options.defaults) - object.boundingPoly = null; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.results && message.results.length) { - object.results = []; - for (var j = 0; j < message.results.length; ++j) - object.results[j] = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.toObject(message.results[j], options); - } - return object; - }; + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProduct}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef UpdateProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.Product} [response] Product + */ - /** - * Converts this GroupedResult to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult - * @instance - * @returns {Object.} JSON object - */ - GroupedResult.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Calls UpdateProduct. + * @function updateProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} request UpdateProductRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductCallback} callback Node-style callback called with the error, if any, and Product + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.updateProduct = function updateProduct(request, callback) { + return this.rpcCall(updateProduct, $root.google.cloud.vision.v1p4beta1.UpdateProductRequest, $root.google.cloud.vision.v1p4beta1.Product, request, callback); + }, "name", { value: "UpdateProduct" }); - return GroupedResult; - })(); + /** + * Calls UpdateProduct. + * @function updateProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} request UpdateProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - return ProductSearchResults; - })(); + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProduct}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef DeleteProductCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ - v1p4beta1.ProductSearch = (function() { + /** + * Calls DeleteProduct. + * @function deleteProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} request DeleteProductRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ProductSearch.prototype.deleteProduct = function deleteProduct(request, callback) { + return this.rpcCall(deleteProduct, $root.google.cloud.vision.v1p4beta1.DeleteProductRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteProduct" }); /** - * Constructs a new ProductSearch service. - * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ProductSearch - * @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 + * Calls DeleteProduct. + * @function deleteProduct + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} request DeleteProductRequest message or plain object + * @returns {Promise} Promise + * @variation 2 */ - function ProductSearch(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - (ProductSearch.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ProductSearch; + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createReferenceImage}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef CreateReferenceImageCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.ReferenceImage} [response] ReferenceImage + */ /** - * Creates new ProductSearch service using the specified rpc implementation. - * @function create + * Calls CreateReferenceImage. + * @function createReferenceImage * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @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 {ProductSearch} RPC service. Useful where requests and/or responses are streamed. + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage + * @returns {undefined} + * @variation 1 */ - ProductSearch.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; + Object.defineProperty(ProductSearch.prototype.createReferenceImage = function createReferenceImage(request, callback) { + return this.rpcCall(createReferenceImage, $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest, $root.google.cloud.vision.v1p4beta1.ReferenceImage, request, callback); + }, "name", { value: "CreateReferenceImage" }); /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProductSet}. + * Calls CreateReferenceImage. + * @function createReferenceImage * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef CreateProductSetCallback + * @instance + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteReferenceImage}. + * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * @typedef DeleteReferenceImageCallback * @type {function} * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.ProductSet} [response] ProductSet + * @param {google.protobuf.Empty} [response] Empty */ /** - * Calls CreateProductSet. - * @function createProductSet + * Calls DeleteReferenceImage. + * @function deleteReferenceImage * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImageCallback} callback Node-style callback called with the error, if any, and Empty * @returns {undefined} * @variation 1 */ - Object.defineProperty(ProductSearch.prototype.createProductSet = function createProductSet(request, callback) { - return this.rpcCall(createProductSet, $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest, $root.google.cloud.vision.v1p4beta1.ProductSet, request, callback); - }, "name", { value: "CreateProductSet" }); + Object.defineProperty(ProductSearch.prototype.deleteReferenceImage = function deleteReferenceImage(request, callback) { + return this.rpcCall(deleteReferenceImage, $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteReferenceImage" }); /** - * Calls CreateProductSet. - * @function createProductSet + * Calls DeleteReferenceImage. + * @function deleteReferenceImage * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} request CreateProductSetRequest message or plain object - * @returns {Promise} Promise + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object + * @returns {Promise} Promise * @variation 2 */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductSets}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listReferenceImages}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef ListProductSetsCallback + * @typedef ListReferenceImagesCallback * @type {function} * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.ListProductSetsResponse} [response] ListProductSetsResponse + * @param {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} [response] ListReferenceImagesResponse */ /** - * Calls ListProductSets. - * @function listProductSets + * Calls ListReferenceImages. + * @function listReferenceImages * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} request ListProductSetsRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListProductSetsCallback} callback Node-style callback called with the error, if any, and ListProductSetsResponse + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImagesCallback} callback Node-style callback called with the error, if any, and ListReferenceImagesResponse * @returns {undefined} * @variation 1 */ - Object.defineProperty(ProductSearch.prototype.listProductSets = function listProductSets(request, callback) { - return this.rpcCall(listProductSets, $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest, $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse, request, callback); - }, "name", { value: "ListProductSets" }); + Object.defineProperty(ProductSearch.prototype.listReferenceImages = function listReferenceImages(request, callback) { + return this.rpcCall(listReferenceImages, $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest, $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse, request, callback); + }, "name", { value: "ListReferenceImages" }); /** - * Calls ListProductSets. - * @function listProductSets + * Calls ListReferenceImages. + * @function listReferenceImages * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} request ListProductSetsRequest message or plain object - * @returns {Promise} Promise + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object + * @returns {Promise} Promise * @variation 2 */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getReferenceImage}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef GetProductSetCallback + * @typedef GetReferenceImageCallback * @type {function} * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.ProductSet} [response] ProductSet + * @param {google.cloud.vision.v1p4beta1.ReferenceImage} [response] ReferenceImage */ /** - * Calls GetProductSet. - * @function getProductSet + * Calls GetReferenceImage. + * @function getReferenceImage * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} request GetProductSetRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.GetProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage * @returns {undefined} * @variation 1 */ - Object.defineProperty(ProductSearch.prototype.getProductSet = function getProductSet(request, callback) { - return this.rpcCall(getProductSet, $root.google.cloud.vision.v1p4beta1.GetProductSetRequest, $root.google.cloud.vision.v1p4beta1.ProductSet, request, callback); - }, "name", { value: "GetProductSet" }); + Object.defineProperty(ProductSearch.prototype.getReferenceImage = function getReferenceImage(request, callback) { + return this.rpcCall(getReferenceImage, $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest, $root.google.cloud.vision.v1p4beta1.ReferenceImage, request, callback); + }, "name", { value: "GetReferenceImage" }); /** - * Calls GetProductSet. - * @function getProductSet + * Calls GetReferenceImage. + * @function getReferenceImage * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} request GetProductSetRequest message or plain object - * @returns {Promise} Promise + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object + * @returns {Promise} Promise * @variation 2 */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#addProductToProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef UpdateProductSetCallback + * @typedef AddProductToProductSetCallback * @type {function} * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.ProductSet} [response] ProductSet + * @param {google.protobuf.Empty} [response] Empty */ /** - * Calls UpdateProductSet. - * @function updateProductSet + * Calls AddProductToProductSet. + * @function addProductToProductSet * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSetCallback} callback Node-style callback called with the error, if any, and ProductSet + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSetCallback} callback Node-style callback called with the error, if any, and Empty * @returns {undefined} * @variation 1 */ - Object.defineProperty(ProductSearch.prototype.updateProductSet = function updateProductSet(request, callback) { - return this.rpcCall(updateProductSet, $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest, $root.google.cloud.vision.v1p4beta1.ProductSet, request, callback); - }, "name", { value: "UpdateProductSet" }); + Object.defineProperty(ProductSearch.prototype.addProductToProductSet = function addProductToProductSet(request, callback) { + return this.rpcCall(addProductToProductSet, $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "AddProductToProductSet" }); /** - * Calls UpdateProductSet. - * @function updateProductSet + * Calls AddProductToProductSet. + * @function addProductToProductSet * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} request UpdateProductSetRequest message or plain object - * @returns {Promise} Promise + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object + * @returns {Promise} Promise * @variation 2 */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#removeProductFromProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef DeleteProductSetCallback + * @typedef RemoveProductFromProductSetCallback * @type {function} * @param {Error|null} error Error, if any * @param {google.protobuf.Empty} [response] Empty */ /** - * Calls DeleteProductSet. - * @function deleteProductSet + * Calls RemoveProductFromProductSet. + * @function removeProductFromProductSet * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSetCallback} callback Node-style callback called with the error, if any, and Empty + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSetCallback} callback Node-style callback called with the error, if any, and Empty * @returns {undefined} * @variation 1 */ - Object.defineProperty(ProductSearch.prototype.deleteProductSet = function deleteProductSet(request, callback) { - return this.rpcCall(deleteProductSet, $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest, $root.google.protobuf.Empty, request, callback); - }, "name", { value: "DeleteProductSet" }); + Object.defineProperty(ProductSearch.prototype.removeProductFromProductSet = function removeProductFromProductSet(request, callback) { + return this.rpcCall(removeProductFromProductSet, $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "RemoveProductFromProductSet" }); /** - * Calls DeleteProductSet. - * @function deleteProductSet + * Calls RemoveProductFromProductSet. + * @function removeProductFromProductSet * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} request DeleteProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object * @returns {Promise} Promise * @variation 2 */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductsInProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef CreateProductCallback + * @typedef ListProductsInProductSetCallback * @type {function} * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.Product} [response] Product + * @param {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} [response] ListProductsInProductSetResponse */ /** - * Calls CreateProduct. - * @function createProduct + * Calls ListProductsInProductSet. + * @function listProductsInProductSet * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} request CreateProductRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.CreateProductCallback} callback Node-style callback called with the error, if any, and Product + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSetCallback} callback Node-style callback called with the error, if any, and ListProductsInProductSetResponse * @returns {undefined} * @variation 1 */ - Object.defineProperty(ProductSearch.prototype.createProduct = function createProduct(request, callback) { - return this.rpcCall(createProduct, $root.google.cloud.vision.v1p4beta1.CreateProductRequest, $root.google.cloud.vision.v1p4beta1.Product, request, callback); - }, "name", { value: "CreateProduct" }); + Object.defineProperty(ProductSearch.prototype.listProductsInProductSet = function listProductsInProductSet(request, callback) { + return this.rpcCall(listProductsInProductSet, $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest, $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse, request, callback); + }, "name", { value: "ListProductsInProductSet" }); /** - * Calls CreateProduct. - * @function createProduct + * Calls ListProductsInProductSet. + * @function listProductsInProductSet * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} request CreateProductRequest message or plain object - * @returns {Promise} Promise + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object + * @returns {Promise} Promise * @variation 2 */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProducts}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#importProductSets}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef ListProductsCallback + * @typedef ImportProductSetsCallback * @type {function} * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.ListProductsResponse} [response] ListProductsResponse + * @param {google.longrunning.Operation} [response] Operation */ /** - * Calls ListProducts. - * @function listProducts + * Calls ImportProductSets. + * @function importProductSets * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} request ListProductsRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListProductsCallback} callback Node-style callback called with the error, if any, and ListProductsResponse + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSetsCallback} callback Node-style callback called with the error, if any, and Operation * @returns {undefined} * @variation 1 */ - Object.defineProperty(ProductSearch.prototype.listProducts = function listProducts(request, callback) { - return this.rpcCall(listProducts, $root.google.cloud.vision.v1p4beta1.ListProductsRequest, $root.google.cloud.vision.v1p4beta1.ListProductsResponse, request, callback); - }, "name", { value: "ListProducts" }); + Object.defineProperty(ProductSearch.prototype.importProductSets = function importProductSets(request, callback) { + return this.rpcCall(importProductSets, $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ImportProductSets" }); /** - * Calls ListProducts. - * @function listProducts + * Calls ImportProductSets. + * @function importProductSets * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} request ListProductsRequest message or plain object - * @returns {Promise} Promise + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object + * @returns {Promise} Promise * @variation 2 */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#purgeProducts}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef GetProductCallback + * @typedef PurgeProductsCallback * @type {function} * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.Product} [response] Product + * @param {google.longrunning.Operation} [response] Operation */ /** - * Calls GetProduct. - * @function getProduct + * Calls PurgeProducts. + * @function purgeProducts * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} request GetProductRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.GetProductCallback} callback Node-style callback called with the error, if any, and Product + * @param {google.cloud.vision.v1p4beta1.IPurgeProductsRequest} request PurgeProductsRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ProductSearch.PurgeProductsCallback} callback Node-style callback called with the error, if any, and Operation * @returns {undefined} * @variation 1 */ - Object.defineProperty(ProductSearch.prototype.getProduct = function getProduct(request, callback) { - return this.rpcCall(getProduct, $root.google.cloud.vision.v1p4beta1.GetProductRequest, $root.google.cloud.vision.v1p4beta1.Product, request, callback); - }, "name", { value: "GetProduct" }); + Object.defineProperty(ProductSearch.prototype.purgeProducts = function purgeProducts(request, callback) { + return this.rpcCall(purgeProducts, $root.google.cloud.vision.v1p4beta1.PurgeProductsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "PurgeProducts" }); /** - * Calls GetProduct. - * @function getProduct + * Calls PurgeProducts. + * @function purgeProducts * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @instance - * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} request GetProductRequest message or plain object - * @returns {Promise} Promise + * @param {google.cloud.vision.v1p4beta1.IPurgeProductsRequest} request PurgeProductsRequest message or plain object + * @returns {Promise} Promise * @variation 2 */ + return ProductSearch; + })(); + + v1p4beta1.Product = (function() { + /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProduct}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef UpdateProductCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.Product} [response] Product + * Properties of a Product. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IProduct + * @property {string|null} [name] Product name + * @property {string|null} [displayName] Product displayName + * @property {string|null} [description] Product description + * @property {string|null} [productCategory] Product productCategory + * @property {Array.|null} [productLabels] Product productLabels */ /** - * Calls UpdateProduct. - * @function updateProduct - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} request UpdateProductRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductCallback} callback Node-style callback called with the error, if any, and Product - * @returns {undefined} - * @variation 1 + * Constructs a new Product. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Product. + * @implements IProduct + * @constructor + * @param {google.cloud.vision.v1p4beta1.IProduct=} [properties] Properties to set + */ + function Product(properties) { + this.productLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Product name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.Product + * @instance */ - Object.defineProperty(ProductSearch.prototype.updateProduct = function updateProduct(request, callback) { - return this.rpcCall(updateProduct, $root.google.cloud.vision.v1p4beta1.UpdateProductRequest, $root.google.cloud.vision.v1p4beta1.Product, request, callback); - }, "name", { value: "UpdateProduct" }); + Product.prototype.name = ""; /** - * Calls UpdateProduct. - * @function updateProduct - * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * Product displayName. + * @member {string} displayName + * @memberof google.cloud.vision.v1p4beta1.Product * @instance - * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} request UpdateProductRequest message or plain object - * @returns {Promise} Promise - * @variation 2 */ + Product.prototype.displayName = ""; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProduct}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef DeleteProductCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.protobuf.Empty} [response] Empty + * Product description. + * @member {string} description + * @memberof google.cloud.vision.v1p4beta1.Product + * @instance */ + Product.prototype.description = ""; /** - * Calls DeleteProduct. - * @function deleteProduct - * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * Product productCategory. + * @member {string} productCategory + * @memberof google.cloud.vision.v1p4beta1.Product * @instance - * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} request DeleteProductRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductCallback} callback Node-style callback called with the error, if any, and Empty - * @returns {undefined} - * @variation 1 */ - Object.defineProperty(ProductSearch.prototype.deleteProduct = function deleteProduct(request, callback) { - return this.rpcCall(deleteProduct, $root.google.cloud.vision.v1p4beta1.DeleteProductRequest, $root.google.protobuf.Empty, request, callback); - }, "name", { value: "DeleteProduct" }); + Product.prototype.productCategory = ""; /** - * Calls DeleteProduct. - * @function deleteProduct - * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * Product productLabels. + * @member {Array.} productLabels + * @memberof google.cloud.vision.v1p4beta1.Product * @instance - * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} request DeleteProductRequest message or plain object - * @returns {Promise} Promise - * @variation 2 */ + Product.prototype.productLabels = $util.emptyArray; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createReferenceImage}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef CreateReferenceImageCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.ReferenceImage} [response] ReferenceImage + * Creates a new Product instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {google.cloud.vision.v1p4beta1.IProduct=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Product} Product instance */ + Product.create = function create(properties) { + return new Product(properties); + }; /** - * Calls CreateReferenceImage. - * @function createReferenceImage - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage - * @returns {undefined} - * @variation 1 + * Encodes the specified Product message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {google.cloud.vision.v1p4beta1.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - Object.defineProperty(ProductSearch.prototype.createReferenceImage = function createReferenceImage(request, callback) { - return this.rpcCall(createReferenceImage, $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest, $root.google.cloud.vision.v1p4beta1.ReferenceImage, request, callback); - }, "name", { value: "CreateReferenceImage" }); + Product.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && message.hasOwnProperty("displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); + if (message.productLabels != null && message.productLabels.length) + for (var i = 0; i < message.productLabels.length; ++i) + $root.google.cloud.vision.v1p4beta1.Product.KeyValue.encode(message.productLabels[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; /** - * Calls CreateReferenceImage. - * @function createReferenceImage - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} request CreateReferenceImageRequest message or plain object - * @returns {Promise} Promise - * @variation 2 + * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {google.cloud.vision.v1p4beta1.IProduct} message Product message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ + Product.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteReferenceImage}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef DeleteReferenceImageCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.protobuf.Empty} [response] Empty + * Decodes a Product message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ + Product.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Product(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.displayName = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.productCategory = reader.string(); + break; + case 5: + if (!(message.productLabels && message.productLabels.length)) + message.productLabels = []; + message.productLabels.push($root.google.cloud.vision.v1p4beta1.Product.KeyValue.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * Calls DeleteReferenceImage. - * @function deleteReferenceImage - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImageCallback} callback Node-style callback called with the error, if any, and Empty - * @returns {undefined} - * @variation 1 + * Decodes a Product message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Product} Product + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Object.defineProperty(ProductSearch.prototype.deleteReferenceImage = function deleteReferenceImage(request, callback) { - return this.rpcCall(deleteReferenceImage, $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest, $root.google.protobuf.Empty, request, callback); - }, "name", { value: "DeleteReferenceImage" }); + Product.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * Calls DeleteReferenceImage. - * @function deleteReferenceImage - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} request DeleteReferenceImageRequest message or plain object - * @returns {Promise} Promise - * @variation 2 + * Verifies a Product message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ + Product.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (!$util.isString(message.productCategory)) + return "productCategory: string expected"; + if (message.productLabels != null && message.hasOwnProperty("productLabels")) { + if (!Array.isArray(message.productLabels)) + return "productLabels: array expected"; + for (var i = 0; i < message.productLabels.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Product.KeyValue.verify(message.productLabels[i]); + if (error) + return "productLabels." + error; + } + } + return null; + }; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listReferenceImages}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef ListReferenceImagesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} [response] ListReferenceImagesResponse + * Creates a Product message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Product} Product */ + Product.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Product) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Product(); + if (object.name != null) + message.name = String(object.name); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.description != null) + message.description = String(object.description); + if (object.productCategory != null) + message.productCategory = String(object.productCategory); + if (object.productLabels) { + if (!Array.isArray(object.productLabels)) + throw TypeError(".google.cloud.vision.v1p4beta1.Product.productLabels: array expected"); + message.productLabels = []; + for (var i = 0; i < object.productLabels.length; ++i) { + if (typeof object.productLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Product.productLabels: object expected"); + message.productLabels[i] = $root.google.cloud.vision.v1p4beta1.Product.KeyValue.fromObject(object.productLabels[i]); + } + } + return message; + }; /** - * Calls ListReferenceImages. - * @function listReferenceImages - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImagesCallback} callback Node-style callback called with the error, if any, and ListReferenceImagesResponse - * @returns {undefined} - * @variation 1 + * Creates a plain object from a Product message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {google.cloud.vision.v1p4beta1.Product} message Product + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object */ - Object.defineProperty(ProductSearch.prototype.listReferenceImages = function listReferenceImages(request, callback) { - return this.rpcCall(listReferenceImages, $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest, $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse, request, callback); - }, "name", { value: "ListReferenceImages" }); + Product.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.productLabels = []; + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.description = ""; + object.productCategory = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.productCategory != null && message.hasOwnProperty("productCategory")) + object.productCategory = message.productCategory; + if (message.productLabels && message.productLabels.length) { + object.productLabels = []; + for (var j = 0; j < message.productLabels.length; ++j) + object.productLabels[j] = $root.google.cloud.vision.v1p4beta1.Product.KeyValue.toObject(message.productLabels[j], options); + } + return object; + }; /** - * Calls ListReferenceImages. - * @function listReferenceImages - * @memberof google.cloud.vision.v1p4beta1.ProductSearch + * Converts this Product to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Product * @instance - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} request ListReferenceImagesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 + * @returns {Object.} JSON object */ + Product.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getReferenceImage}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef GetReferenceImageCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.ReferenceImage} [response] ReferenceImage - */ + Product.KeyValue = (function() { - /** - * Calls GetReferenceImage. - * @function getReferenceImage - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImageCallback} callback Node-style callback called with the error, if any, and ReferenceImage - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ProductSearch.prototype.getReferenceImage = function getReferenceImage(request, callback) { - return this.rpcCall(getReferenceImage, $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest, $root.google.cloud.vision.v1p4beta1.ReferenceImage, request, callback); - }, "name", { value: "GetReferenceImage" }); + /** + * Properties of a KeyValue. + * @memberof google.cloud.vision.v1p4beta1.Product + * @interface IKeyValue + * @property {string|null} [key] KeyValue key + * @property {string|null} [value] KeyValue value + */ - /** - * Calls GetReferenceImage. - * @function getReferenceImage - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} request GetReferenceImageRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ + /** + * Constructs a new KeyValue. + * @memberof google.cloud.vision.v1p4beta1.Product + * @classdesc Represents a KeyValue. + * @implements IKeyValue + * @constructor + * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue=} [properties] Properties to set + */ + function KeyValue(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]]; + } - /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#addProductToProductSet}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef AddProductToProductSetCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.protobuf.Empty} [response] Empty - */ + /** + * KeyValue key. + * @member {string} key + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @instance + */ + KeyValue.prototype.key = ""; - /** - * Calls AddProductToProductSet. - * @function addProductToProductSet - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSetCallback} callback Node-style callback called with the error, if any, and Empty - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ProductSearch.prototype.addProductToProductSet = function addProductToProductSet(request, callback) { - return this.rpcCall(addProductToProductSet, $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest, $root.google.protobuf.Empty, request, callback); - }, "name", { value: "AddProductToProductSet" }); + /** + * KeyValue value. + * @member {string} value + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @instance + */ + KeyValue.prototype.value = ""; - /** - * Calls AddProductToProductSet. - * @function addProductToProductSet - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} request AddProductToProductSetRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ + /** + * Creates a new KeyValue instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue instance + */ + KeyValue.create = function create(properties) { + return new KeyValue(properties); + }; - /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#removeProductFromProductSet}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef RemoveProductFromProductSetCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.protobuf.Empty} [response] Empty - */ + /** + * Encodes the specified KeyValue message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.KeyValue.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue} message KeyValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && message.hasOwnProperty("key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + return writer; + }; - /** - * Calls RemoveProductFromProductSet. - * @function removeProductFromProductSet - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSetCallback} callback Node-style callback called with the error, if any, and Empty - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ProductSearch.prototype.removeProductFromProductSet = function removeProductFromProductSet(request, callback) { - return this.rpcCall(removeProductFromProductSet, $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest, $root.google.protobuf.Empty, request, callback); - }, "name", { value: "RemoveProductFromProductSet" }); + /** + * Encodes the specified KeyValue message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.KeyValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue} message KeyValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + KeyValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Calls RemoveProductFromProductSet. - * @function removeProductFromProductSet - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} request RemoveProductFromProductSetRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ + /** + * Decodes a KeyValue message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Product.KeyValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductsInProductSet}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef ListProductsInProductSetCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} [response] ListProductsInProductSetResponse - */ + /** + * Decodes a KeyValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + KeyValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Calls ListProductsInProductSet. - * @function listProductsInProductSet - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSetCallback} callback Node-style callback called with the error, if any, and ListProductsInProductSetResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ProductSearch.prototype.listProductsInProductSet = function listProductsInProductSet(request, callback) { - return this.rpcCall(listProductsInProductSet, $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest, $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse, request, callback); - }, "name", { value: "ListProductsInProductSet" }); + /** + * Verifies a KeyValue message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + KeyValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!$util.isString(message.key)) + return "key: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + return null; + }; - /** - * Calls ListProductsInProductSet. - * @function listProductsInProductSet - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} request ListProductsInProductSetRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ + /** + * Creates a KeyValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue + */ + KeyValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Product.KeyValue) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Product.KeyValue(); + if (object.key != null) + message.key = String(object.key); + if (object.value != null) + message.value = String(object.value); + return message; + }; - /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#importProductSets}. - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @typedef ImportProductSetsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.longrunning.Operation} [response] Operation - */ + /** + * Creates a plain object from a KeyValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {google.cloud.vision.v1p4beta1.Product.KeyValue} message KeyValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + KeyValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.key = ""; + object.value = ""; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = message.key; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + return object; + }; - /** - * Calls ImportProductSets. - * @function importProductSets - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSetsCallback} callback Node-style callback called with the error, if any, and Operation - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ProductSearch.prototype.importProductSets = function importProductSets(request, callback) { - return this.rpcCall(importProductSets, $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest, $root.google.longrunning.Operation, request, callback); - }, "name", { value: "ImportProductSets" }); + /** + * Converts this KeyValue to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @instance + * @returns {Object.} JSON object + */ + KeyValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Calls ImportProductSets. - * @function importProductSets - * @memberof google.cloud.vision.v1p4beta1.ProductSearch - * @instance - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} request ImportProductSetsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ + return KeyValue; + })(); - return ProductSearch; + return Product; })(); - v1p4beta1.Product = (function() { + v1p4beta1.ProductSet = (function() { /** - * Properties of a Product. + * Properties of a ProductSet. * @memberof google.cloud.vision.v1p4beta1 - * @interface IProduct - * @property {string|null} [name] Product name - * @property {string|null} [displayName] Product displayName - * @property {string|null} [description] Product description - * @property {string|null} [productCategory] Product productCategory - * @property {Array.|null} [productLabels] Product productLabels + * @interface IProductSet + * @property {string|null} [name] ProductSet name + * @property {string|null} [displayName] ProductSet displayName + * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSet indexTime + * @property {google.rpc.IStatus|null} [indexError] ProductSet indexError */ /** - * Constructs a new Product. + * Constructs a new ProductSet. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a Product. - * @implements IProduct + * @classdesc Represents a ProductSet. + * @implements IProductSet * @constructor - * @param {google.cloud.vision.v1p4beta1.IProduct=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IProductSet=} [properties] Properties to set */ - function Product(properties) { - this.productLabels = []; + function ProductSet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -86352,111 +87937,100 @@ } /** - * Product name. + * ProductSet name. * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @instance */ - Product.prototype.name = ""; + ProductSet.prototype.name = ""; /** - * Product displayName. + * ProductSet displayName. * @member {string} displayName - * @memberof google.cloud.vision.v1p4beta1.Product - * @instance - */ - Product.prototype.displayName = ""; - - /** - * Product description. - * @member {string} description - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @instance */ - Product.prototype.description = ""; + ProductSet.prototype.displayName = ""; /** - * Product productCategory. - * @member {string} productCategory - * @memberof google.cloud.vision.v1p4beta1.Product + * ProductSet indexTime. + * @member {google.protobuf.ITimestamp|null|undefined} indexTime + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @instance */ - Product.prototype.productCategory = ""; + ProductSet.prototype.indexTime = null; /** - * Product productLabels. - * @member {Array.} productLabels - * @memberof google.cloud.vision.v1p4beta1.Product + * ProductSet indexError. + * @member {google.rpc.IStatus|null|undefined} indexError + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @instance */ - Product.prototype.productLabels = $util.emptyArray; + ProductSet.prototype.indexError = null; /** - * Creates a new Product instance using the specified properties. + * Creates a new ProductSet instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @static - * @param {google.cloud.vision.v1p4beta1.IProduct=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Product} Product instance + * @param {google.cloud.vision.v1p4beta1.IProductSet=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet instance */ - Product.create = function create(properties) { - return new Product(properties); + ProductSet.create = function create(properties) { + return new ProductSet(properties); }; /** - * Encodes the specified Product message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.verify|verify} messages. + * Encodes the specified ProductSet message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSet.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @static - * @param {google.cloud.vision.v1p4beta1.IProduct} message Product message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IProductSet} message ProductSet message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Product.encode = function encode(message, writer) { + ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.displayName != null && message.hasOwnProperty("displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); - if (message.productLabels != null && message.productLabels.length) - for (var i = 0; i < message.productLabels.length; ++i) - $root.google.cloud.vision.v1p4beta1.Product.KeyValue.encode(message.productLabels[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.indexError != null && message.hasOwnProperty("indexError")) + $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.verify|verify} messages. + * Encodes the specified ProductSet message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSet.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @static - * @param {google.cloud.vision.v1p4beta1.IProduct} message Product message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IProductSet} message ProductSet message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Product.encodeDelimited = function encodeDelimited(message, writer) { + ProductSet.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Product message from the specified reader or buffer. + * Decodes a ProductSet message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Product} Product + * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Product.decode = function decode(reader, length) { + ProductSet.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Product(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSet(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -86467,15 +88041,10 @@ message.displayName = reader.string(); break; case 3: - message.description = reader.string(); + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; case 4: - message.productCategory = reader.string(); - break; - case 5: - if (!(message.productLabels && message.productLabels.length)) - message.productLabels = []; - message.productLabels.push($root.google.cloud.vision.v1p4beta1.Product.KeyValue.decode(reader, reader.uint32())); + message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -86486,30 +88055,30 @@ }; /** - * Decodes a Product message from the specified reader or buffer, length delimited. + * Decodes a ProductSet message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Product} Product + * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Product.decodeDelimited = function decodeDelimited(reader) { + ProductSet.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Product message. + * Verifies a ProductSet message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Product.verify = function verify(message) { + ProductSet.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) @@ -86518,339 +88087,366 @@ if (message.displayName != null && message.hasOwnProperty("displayName")) if (!$util.isString(message.displayName)) return "displayName: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.productCategory != null && message.hasOwnProperty("productCategory")) - if (!$util.isString(message.productCategory)) - return "productCategory: string expected"; - if (message.productLabels != null && message.hasOwnProperty("productLabels")) { - if (!Array.isArray(message.productLabels)) - return "productLabels: array expected"; - for (var i = 0; i < message.productLabels.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.Product.KeyValue.verify(message.productLabels[i]); - if (error) - return "productLabels." + error; - } + if (message.indexTime != null && message.hasOwnProperty("indexTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.indexTime); + if (error) + return "indexTime." + error; + } + if (message.indexError != null && message.hasOwnProperty("indexError")) { + var error = $root.google.rpc.Status.verify(message.indexError); + if (error) + return "indexError." + error; } return null; }; /** - * Creates a Product message from a plain object. Also converts values to their respective internal types. + * Creates a ProductSet message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Product} Product + * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet */ - Product.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Product) + ProductSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSet) return object; - var message = new $root.google.cloud.vision.v1p4beta1.Product(); + var message = new $root.google.cloud.vision.v1p4beta1.ProductSet(); if (object.name != null) message.name = String(object.name); if (object.displayName != null) message.displayName = String(object.displayName); - if (object.description != null) - message.description = String(object.description); - if (object.productCategory != null) - message.productCategory = String(object.productCategory); - if (object.productLabels) { - if (!Array.isArray(object.productLabels)) - throw TypeError(".google.cloud.vision.v1p4beta1.Product.productLabels: array expected"); - message.productLabels = []; - for (var i = 0; i < object.productLabels.length; ++i) { - if (typeof object.productLabels[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.Product.productLabels: object expected"); - message.productLabels[i] = $root.google.cloud.vision.v1p4beta1.Product.KeyValue.fromObject(object.productLabels[i]); - } + if (object.indexTime != null) { + if (typeof object.indexTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSet.indexTime: object expected"); + message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); + } + if (object.indexError != null) { + if (typeof object.indexError !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ProductSet.indexError: object expected"); + message.indexError = $root.google.rpc.Status.fromObject(object.indexError); } return message; }; /** - * Creates a plain object from a Product message. Also converts values to other types if specified. + * Creates a plain object from a ProductSet message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @static - * @param {google.cloud.vision.v1p4beta1.Product} message Product + * @param {google.cloud.vision.v1p4beta1.ProductSet} message ProductSet * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Product.toObject = function toObject(message, options) { + ProductSet.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.productLabels = []; if (options.defaults) { object.name = ""; object.displayName = ""; - object.description = ""; - object.productCategory = ""; + object.indexTime = null; + object.indexError = null; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.displayName != null && message.hasOwnProperty("displayName")) object.displayName = message.displayName; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.productCategory != null && message.hasOwnProperty("productCategory")) - object.productCategory = message.productCategory; - if (message.productLabels && message.productLabels.length) { - object.productLabels = []; - for (var j = 0; j < message.productLabels.length; ++j) - object.productLabels[j] = $root.google.cloud.vision.v1p4beta1.Product.KeyValue.toObject(message.productLabels[j], options); - } + if (message.indexTime != null && message.hasOwnProperty("indexTime")) + object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); + if (message.indexError != null && message.hasOwnProperty("indexError")) + object.indexError = $root.google.rpc.Status.toObject(message.indexError, options); return object; }; /** - * Converts this Product to JSON. + * Converts this ProductSet to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Product + * @memberof google.cloud.vision.v1p4beta1.ProductSet * @instance * @returns {Object.} JSON object */ - Product.prototype.toJSON = function toJSON() { + ProductSet.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - Product.KeyValue = (function() { + return ProductSet; + })(); - /** - * Properties of a KeyValue. - * @memberof google.cloud.vision.v1p4beta1.Product - * @interface IKeyValue - * @property {string|null} [key] KeyValue key - * @property {string|null} [value] KeyValue value - */ + v1p4beta1.ReferenceImage = (function() { - /** - * Constructs a new KeyValue. - * @memberof google.cloud.vision.v1p4beta1.Product - * @classdesc Represents a KeyValue. - * @implements IKeyValue - * @constructor - * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue=} [properties] Properties to set - */ - function KeyValue(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]]; - } + /** + * Properties of a ReferenceImage. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IReferenceImage + * @property {string|null} [name] ReferenceImage name + * @property {string|null} [uri] ReferenceImage uri + * @property {Array.|null} [boundingPolys] ReferenceImage boundingPolys + */ - /** - * KeyValue key. - * @member {string} key - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @instance - */ - KeyValue.prototype.key = ""; + /** + * Constructs a new ReferenceImage. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a ReferenceImage. + * @implements IReferenceImage + * @constructor + * @param {google.cloud.vision.v1p4beta1.IReferenceImage=} [properties] Properties to set + */ + function ReferenceImage(properties) { + this.boundingPolys = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * KeyValue value. - * @member {string} value - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @instance - */ - KeyValue.prototype.value = ""; + /** + * ReferenceImage name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.name = ""; - /** - * Creates a new KeyValue instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @static - * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue instance - */ - KeyValue.create = function create(properties) { - return new KeyValue(properties); - }; + /** + * ReferenceImage uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.uri = ""; - /** - * Encodes the specified KeyValue message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.KeyValue.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @static - * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue} message KeyValue message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - KeyValue.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - return writer; - }; + /** + * ReferenceImage boundingPolys. + * @member {Array.} boundingPolys + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @instance + */ + ReferenceImage.prototype.boundingPolys = $util.emptyArray; - /** - * Encodes the specified KeyValue message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Product.KeyValue.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @static - * @param {google.cloud.vision.v1p4beta1.Product.IKeyValue} message KeyValue message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - KeyValue.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a new ReferenceImage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p4beta1.IReferenceImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage instance + */ + ReferenceImage.create = function create(properties) { + return new ReferenceImage(properties); + }; - /** - * Decodes a KeyValue message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - KeyValue.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Product.KeyValue(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Encodes the specified ReferenceImage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ReferenceImage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p4beta1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReferenceImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); + if (message.boundingPolys != null && message.boundingPolys.length) + for (var i = 0; i < message.boundingPolys.length; ++i) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPolys[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; - /** - * Decodes a KeyValue message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - KeyValue.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Encodes the specified ReferenceImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ReferenceImage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p4beta1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReferenceImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Verifies a KeyValue message. - * @function verify - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - KeyValue.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!$util.isString(message.key)) - return "key: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - return null; - }; + /** + * Decodes a ReferenceImage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReferenceImage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ReferenceImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.uri = reader.string(); + break; + case 3: + if (!(message.boundingPolys && message.boundingPolys.length)) + message.boundingPolys = []; + message.boundingPolys.push($root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Creates a KeyValue message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Product.KeyValue} KeyValue - */ - KeyValue.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Product.KeyValue) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.Product.KeyValue(); - if (object.key != null) - message.key = String(object.key); - if (object.value != null) - message.value = String(object.value); - return message; - }; + /** + * Decodes a ReferenceImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReferenceImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates a plain object from a KeyValue message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @static - * @param {google.cloud.vision.v1p4beta1.Product.KeyValue} message KeyValue - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - KeyValue.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.key = ""; - object.value = ""; + /** + * Verifies a ReferenceImage message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReferenceImage.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.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.boundingPolys != null && message.hasOwnProperty("boundingPolys")) { + if (!Array.isArray(message.boundingPolys)) + return "boundingPolys: array expected"; + for (var i = 0; i < message.boundingPolys.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPolys[i]); + if (error) + return "boundingPolys." + error; } - if (message.key != null && message.hasOwnProperty("key")) - object.key = message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; + } + return null; + }; + + /** + * Creates a ReferenceImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage + */ + ReferenceImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ReferenceImage) return object; - }; + var message = new $root.google.cloud.vision.v1p4beta1.ReferenceImage(); + if (object.name != null) + message.name = String(object.name); + if (object.uri != null) + message.uri = String(object.uri); + if (object.boundingPolys) { + if (!Array.isArray(object.boundingPolys)) + throw TypeError(".google.cloud.vision.v1p4beta1.ReferenceImage.boundingPolys: array expected"); + message.boundingPolys = []; + for (var i = 0; i < object.boundingPolys.length; ++i) { + if (typeof object.boundingPolys[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ReferenceImage.boundingPolys: object expected"); + message.boundingPolys[i] = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPolys[i]); + } + } + return message; + }; - /** - * Converts this KeyValue to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue - * @instance - * @returns {Object.} JSON object - */ - KeyValue.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a ReferenceImage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {google.cloud.vision.v1p4beta1.ReferenceImage} message ReferenceImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReferenceImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.boundingPolys = []; + if (options.defaults) { + object.name = ""; + object.uri = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.boundingPolys && message.boundingPolys.length) { + object.boundingPolys = []; + for (var j = 0; j < message.boundingPolys.length; ++j) + object.boundingPolys[j] = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPolys[j], options); + } + return object; + }; - return KeyValue; - })(); + /** + * Converts this ReferenceImage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @instance + * @returns {Object.} JSON object + */ + ReferenceImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return Product; + return ReferenceImage; })(); - v1p4beta1.ProductSet = (function() { + v1p4beta1.CreateProductRequest = (function() { /** - * Properties of a ProductSet. + * Properties of a CreateProductRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IProductSet - * @property {string|null} [name] ProductSet name - * @property {string|null} [displayName] ProductSet displayName - * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSet indexTime - * @property {google.rpc.IStatus|null} [indexError] ProductSet indexError + * @interface ICreateProductRequest + * @property {string|null} [parent] CreateProductRequest parent + * @property {google.cloud.vision.v1p4beta1.IProduct|null} [product] CreateProductRequest product + * @property {string|null} [productId] CreateProductRequest productId */ /** - * Constructs a new ProductSet. + * Constructs a new CreateProductRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ProductSet. - * @implements IProductSet + * @classdesc Represents a CreateProductRequest. + * @implements ICreateProductRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IProductSet=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest=} [properties] Properties to set */ - function ProductSet(properties) { + function CreateProductRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -86858,114 +88454,101 @@ } /** - * ProductSet name. - * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.ProductSet - * @instance - */ - ProductSet.prototype.name = ""; - - /** - * ProductSet displayName. - * @member {string} displayName - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * CreateProductRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @instance */ - ProductSet.prototype.displayName = ""; + CreateProductRequest.prototype.parent = ""; /** - * ProductSet indexTime. - * @member {google.protobuf.ITimestamp|null|undefined} indexTime - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * CreateProductRequest product. + * @member {google.cloud.vision.v1p4beta1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @instance */ - ProductSet.prototype.indexTime = null; + CreateProductRequest.prototype.product = null; /** - * ProductSet indexError. - * @member {google.rpc.IStatus|null|undefined} indexError - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * CreateProductRequest productId. + * @member {string} productId + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @instance */ - ProductSet.prototype.indexError = null; + CreateProductRequest.prototype.productId = ""; /** - * Creates a new ProductSet instance using the specified properties. + * Creates a new CreateProductRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IProductSet=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest instance */ - ProductSet.create = function create(properties) { - return new ProductSet(properties); + CreateProductRequest.create = function create(properties) { + return new CreateProductRequest(properties); }; /** - * Encodes the specified ProductSet message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSet.verify|verify} messages. + * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IProductSet} message ProductSet message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} message CreateProductRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ProductSet.encode = function encode(message, writer) { + CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) - $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && message.hasOwnProperty("indexError")) - $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.productId != null && message.hasOwnProperty("productId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; /** - * Encodes the specified ProductSet message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSet.verify|verify} messages. + * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IProductSet} message ProductSet message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} message CreateProductRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ProductSet.encodeDelimited = function encodeDelimited(message, writer) { + CreateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ProductSet message from the specified reader or buffer. + * Decodes a CreateProductRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet + * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductSet.decode = function decode(reader, length) { + CreateProductRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSet(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CreateProductRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.parent = reader.string(); break; case 2: - message.displayName = reader.string(); + message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); break; case 3: - message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.productId = reader.string(); break; default: reader.skipType(tag & 7); @@ -86976,145 +88559,131 @@ }; /** - * Decodes a ProductSet message from the specified reader or buffer, length delimited. + * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet + * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ProductSet.decodeDelimited = function decodeDelimited(reader) { + CreateProductRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ProductSet message. + * Verifies a CreateProductRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ProductSet.verify = function verify(message) { + CreateProductRequest.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.displayName != null && message.hasOwnProperty("displayName")) - if (!$util.isString(message.displayName)) - return "displayName: string expected"; - if (message.indexTime != null && message.hasOwnProperty("indexTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.indexTime); - if (error) - return "indexTime." + error; - } - if (message.indexError != null && message.hasOwnProperty("indexError")) { - var error = $root.google.rpc.Status.verify(message.indexError); + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.product); if (error) - return "indexError." + error; + return "product." + error; } + if (message.productId != null && message.hasOwnProperty("productId")) + if (!$util.isString(message.productId)) + return "productId: string expected"; return null; }; /** - * Creates a ProductSet message from a plain object. Also converts values to their respective internal types. + * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ProductSet} ProductSet + * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest */ - ProductSet.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSet) + CreateProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CreateProductRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ProductSet(); - if (object.name != null) - message.name = String(object.name); - if (object.displayName != null) - message.displayName = String(object.displayName); - if (object.indexTime != null) { - if (typeof object.indexTime !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSet.indexTime: object expected"); - message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); - } - if (object.indexError != null) { - if (typeof object.indexError !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ProductSet.indexError: object expected"); - message.indexError = $root.google.rpc.Status.fromObject(object.indexError); + var message = new $root.google.cloud.vision.v1p4beta1.CreateProductRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CreateProductRequest.product: object expected"); + message.product = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.product); } + if (object.productId != null) + message.productId = String(object.productId); return message; }; /** - * Creates a plain object from a ProductSet message. Also converts values to other types if specified. + * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.ProductSet} message ProductSet + * @param {google.cloud.vision.v1p4beta1.CreateProductRequest} message CreateProductRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ProductSet.toObject = function toObject(message, options) { + CreateProductRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.name = ""; - object.displayName = ""; - object.indexTime = null; - object.indexError = null; + object.parent = ""; + object.product = null; + object.productId = ""; } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.displayName != null && message.hasOwnProperty("displayName")) - object.displayName = message.displayName; - if (message.indexTime != null && message.hasOwnProperty("indexTime")) - object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); - if (message.indexError != null && message.hasOwnProperty("indexError")) - object.indexError = $root.google.rpc.Status.toObject(message.indexError, options); + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.product, options); + if (message.productId != null && message.hasOwnProperty("productId")) + object.productId = message.productId; return object; }; /** - * Converts this ProductSet to JSON. + * Converts this CreateProductRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest * @instance * @returns {Object.} JSON object */ - ProductSet.prototype.toJSON = function toJSON() { + CreateProductRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ProductSet; + return CreateProductRequest; })(); - v1p4beta1.ReferenceImage = (function() { + v1p4beta1.ListProductsRequest = (function() { /** - * Properties of a ReferenceImage. + * Properties of a ListProductsRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IReferenceImage - * @property {string|null} [name] ReferenceImage name - * @property {string|null} [uri] ReferenceImage uri - * @property {Array.|null} [boundingPolys] ReferenceImage boundingPolys + * @interface IListProductsRequest + * @property {string|null} [parent] ListProductsRequest parent + * @property {number|null} [pageSize] ListProductsRequest pageSize + * @property {string|null} [pageToken] ListProductsRequest pageToken */ /** - * Constructs a new ReferenceImage. + * Constructs a new ListProductsRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ReferenceImage. - * @implements IReferenceImage + * @classdesc Represents a ListProductsRequest. + * @implements IListProductsRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IReferenceImage=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest=} [properties] Properties to set */ - function ReferenceImage(properties) { - this.boundingPolys = []; + function ListProductsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -87122,104 +88691,101 @@ } /** - * ReferenceImage name. - * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * ListProductsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @instance */ - ReferenceImage.prototype.name = ""; + ListProductsRequest.prototype.parent = ""; /** - * ReferenceImage uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * ListProductsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @instance */ - ReferenceImage.prototype.uri = ""; + ListProductsRequest.prototype.pageSize = 0; /** - * ReferenceImage boundingPolys. - * @member {Array.} boundingPolys - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * ListProductsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @instance */ - ReferenceImage.prototype.boundingPolys = $util.emptyArray; + ListProductsRequest.prototype.pageToken = ""; /** - * Creates a new ReferenceImage instance using the specified properties. + * Creates a new ListProductsRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IReferenceImage=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage instance + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest instance */ - ReferenceImage.create = function create(properties) { - return new ReferenceImage(properties); + ListProductsRequest.create = function create(properties) { + return new ListProductsRequest(properties); }; /** - * Encodes the specified ReferenceImage message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ReferenceImage.verify|verify} messages. + * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} message ListProductsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ReferenceImage.encode = function encode(message, writer) { + ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); - if (message.boundingPolys != null && message.boundingPolys.length) - for (var i = 0; i < message.boundingPolys.length; ++i) - $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPolys[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; /** - * Encodes the specified ReferenceImage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ReferenceImage.verify|verify} messages. + * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IReferenceImage} message ReferenceImage message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} message ListProductsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ReferenceImage.encodeDelimited = function encodeDelimited(message, writer) { + ListProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ReferenceImage message from the specified reader or buffer. + * Decodes a ListProductsRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage + * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReferenceImage.decode = function decode(reader, length) { + ListProductsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ReferenceImage(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.parent = reader.string(); break; case 2: - message.uri = reader.string(); + message.pageSize = reader.int32(); break; case 3: - if (!(message.boundingPolys && message.boundingPolys.length)) - message.boundingPolys = []; - message.boundingPolys.push($root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32())); + message.pageToken = reader.string(); break; default: reader.skipType(tag & 7); @@ -87230,246 +88796,218 @@ }; /** - * Decodes a ReferenceImage message from the specified reader or buffer, length delimited. + * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage + * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReferenceImage.decodeDelimited = function decodeDelimited(reader) { + ListProductsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ReferenceImage message. + * Verifies a ListProductsRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReferenceImage.verify = function verify(message) { + ListProductsRequest.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.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; - if (message.boundingPolys != null && message.hasOwnProperty("boundingPolys")) { - if (!Array.isArray(message.boundingPolys)) - return "boundingPolys: array expected"; - for (var i = 0; i < message.boundingPolys.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPolys[i]); - if (error) - return "boundingPolys." + error; - } - } + 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 ReferenceImage message from a plain object. Also converts values to their respective internal types. + * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ReferenceImage} ReferenceImage + * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest */ - ReferenceImage.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ReferenceImage) + ListProductsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ReferenceImage(); - if (object.name != null) - message.name = String(object.name); - if (object.uri != null) - message.uri = String(object.uri); - if (object.boundingPolys) { - if (!Array.isArray(object.boundingPolys)) - throw TypeError(".google.cloud.vision.v1p4beta1.ReferenceImage.boundingPolys: array expected"); - message.boundingPolys = []; - for (var i = 0; i < object.boundingPolys.length; ++i) { - if (typeof object.boundingPolys[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ReferenceImage.boundingPolys: object expected"); - message.boundingPolys[i] = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPolys[i]); - } - } + var message = new $root.google.cloud.vision.v1p4beta1.ListProductsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); return message; }; /** - * Creates a plain object from a ReferenceImage message. Also converts values to other types if specified. + * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @static - * @param {google.cloud.vision.v1p4beta1.ReferenceImage} message ReferenceImage + * @param {google.cloud.vision.v1p4beta1.ListProductsRequest} message ListProductsRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ReferenceImage.toObject = function toObject(message, options) { + ListProductsRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.boundingPolys = []; if (options.defaults) { - object.name = ""; - object.uri = ""; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; - if (message.boundingPolys && message.boundingPolys.length) { - object.boundingPolys = []; - for (var j = 0; j < message.boundingPolys.length; ++j) - object.boundingPolys[j] = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPolys[j], options); + 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 ReferenceImage to JSON. + * Converts this ListProductsRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest * @instance * @returns {Object.} JSON object */ - ReferenceImage.prototype.toJSON = function toJSON() { + ListProductsRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ReferenceImage; + return ListProductsRequest; })(); - v1p4beta1.CreateProductRequest = (function() { + v1p4beta1.ListProductsResponse = (function() { /** - * Properties of a CreateProductRequest. + * Properties of a ListProductsResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface ICreateProductRequest - * @property {string|null} [parent] CreateProductRequest parent - * @property {google.cloud.vision.v1p4beta1.IProduct|null} [product] CreateProductRequest product - * @property {string|null} [productId] CreateProductRequest productId + * @interface IListProductsResponse + * @property {Array.|null} [products] ListProductsResponse products + * @property {string|null} [nextPageToken] ListProductsResponse nextPageToken */ /** - * Constructs a new CreateProductRequest. + * Constructs a new ListProductsResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a CreateProductRequest. - * @implements ICreateProductRequest + * @classdesc Represents a ListProductsResponse. + * @implements IListProductsResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IListProductsResponse=} [properties] Properties to set */ - function CreateProductRequest(properties) { + function ListProductsResponse(properties) { + this.products = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; - } - - /** - * CreateProductRequest parent. - * @member {string} parent - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest - * @instance - */ - CreateProductRequest.prototype.parent = ""; + } /** - * CreateProductRequest product. - * @member {google.cloud.vision.v1p4beta1.IProduct|null|undefined} product - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * ListProductsResponse products. + * @member {Array.} products + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @instance */ - CreateProductRequest.prototype.product = null; + ListProductsResponse.prototype.products = $util.emptyArray; /** - * CreateProductRequest productId. - * @member {string} productId - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * ListProductsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @instance */ - CreateProductRequest.prototype.productId = ""; + ListProductsResponse.prototype.nextPageToken = ""; /** - * Creates a new CreateProductRequest instance using the specified properties. + * Creates a new ListProductsResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest instance + * @param {google.cloud.vision.v1p4beta1.IListProductsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse instance */ - CreateProductRequest.create = function create(properties) { - return new CreateProductRequest(properties); + ListProductsResponse.create = function create(properties) { + return new ListProductsResponse(properties); }; /** - * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductRequest.verify|verify} messages. + * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} message CreateProductRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductsResponse} message ListProductsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CreateProductRequest.encode = function encode(message, writer) { + ListProductsResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && message.hasOwnProperty("product")) - $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && message.hasOwnProperty("productId")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; /** - * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductRequest.verify|verify} messages. + * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICreateProductRequest} message CreateProductRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductsResponse} message ListProductsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CreateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + ListProductsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CreateProductRequest message from the specified reader or buffer. + * Decodes a ListProductsResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProductRequest.decode = function decode(reader, length) { + ListProductsResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CreateProductRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.parent = reader.string(); + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); break; case 2: - message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); - break; - case 3: - message.productId = reader.string(); + message.nextPageToken = reader.string(); break; default: reader.skipType(tag & 7); @@ -87480,131 +89018,133 @@ }; /** - * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited. + * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProductRequest.decodeDelimited = function decodeDelimited(reader) { + ListProductsResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CreateProductRequest message. + * Verifies a ListProductsResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateProductRequest.verify = function verify(message) { + ListProductsResponse.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.product != null && message.hasOwnProperty("product")) { - var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.product); - if (error) - return "product." + error; + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.products[i]); + if (error) + return "products." + error; + } } - if (message.productId != null && message.hasOwnProperty("productId")) - if (!$util.isString(message.productId)) - return "productId: string expected"; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; return null; }; /** - * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types. + * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.CreateProductRequest} CreateProductRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse */ - CreateProductRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.CreateProductRequest) + ListProductsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.CreateProductRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.product != null) { - if (typeof object.product !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.CreateProductRequest.product: object expected"); - message.product = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.product); + var message = new $root.google.cloud.vision.v1p4beta1.ListProductsResponse(); + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsResponse.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsResponse.products: object expected"); + message.products[i] = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.products[i]); + } } - if (object.productId != null) - message.productId = String(object.productId); + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); return message; }; /** - * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified. + * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @static - * @param {google.cloud.vision.v1p4beta1.CreateProductRequest} message CreateProductRequest + * @param {google.cloud.vision.v1p4beta1.ListProductsResponse} message ListProductsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CreateProductRequest.toObject = function toObject(message, options) { + ListProductsResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.parent = ""; - object.product = null; - object.productId = ""; + if (options.arrays || options.defaults) + object.products = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.products[j], options); } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; - if (message.product != null && message.hasOwnProperty("product")) - object.product = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.product, options); - if (message.productId != null && message.hasOwnProperty("productId")) - object.productId = message.productId; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; return object; }; /** - * Converts this CreateProductRequest to JSON. + * Converts this ListProductsResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse * @instance * @returns {Object.} JSON object */ - CreateProductRequest.prototype.toJSON = function toJSON() { + ListProductsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CreateProductRequest; + return ListProductsResponse; })(); - v1p4beta1.ListProductsRequest = (function() { + v1p4beta1.GetProductRequest = (function() { /** - * Properties of a ListProductsRequest. + * Properties of a GetProductRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IListProductsRequest - * @property {string|null} [parent] ListProductsRequest parent - * @property {number|null} [pageSize] ListProductsRequest pageSize - * @property {string|null} [pageToken] ListProductsRequest pageToken + * @interface IGetProductRequest + * @property {string|null} [name] GetProductRequest name */ /** - * Constructs a new ListProductsRequest. + * Constructs a new GetProductRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ListProductsRequest. - * @implements IListProductsRequest + * @classdesc Represents a GetProductRequest. + * @implements IGetProductRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IListProductsRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest=} [properties] Properties to set */ - function ListProductsRequest(properties) { + function GetProductRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -87612,101 +89152,75 @@ } /** - * ListProductsRequest parent. - * @member {string} parent - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest - * @instance - */ - ListProductsRequest.prototype.parent = ""; - - /** - * ListProductsRequest pageSize. - * @member {number} pageSize - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest - * @instance - */ - ListProductsRequest.prototype.pageSize = 0; - - /** - * ListProductsRequest pageToken. - * @member {string} pageToken - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * GetProductRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @instance */ - ListProductsRequest.prototype.pageToken = ""; + GetProductRequest.prototype.name = ""; /** - * Creates a new ListProductsRequest instance using the specified properties. + * Creates a new GetProductRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest instance + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest instance */ - ListProductsRequest.create = function create(properties) { - return new ListProductsRequest(properties); + GetProductRequest.create = function create(properties) { + return new GetProductRequest(properties); }; /** - * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsRequest.verify|verify} messages. + * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} message GetProductRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductsRequest.encode = function encode(message, writer) { + GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; /** - * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsRequest.verify|verify} messages. + * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsRequest} message ListProductsRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} message GetProductRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetProductRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ListProductsRequest message from the specified reader or buffer. + * Decodes a GetProductRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest + * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductsRequest.decode = function decode(reader, length) { + GetProductRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GetProductRequest(); 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(); + message.name = reader.string(); break; default: reader.skipType(tag & 7); @@ -87717,126 +89231,108 @@ }; /** - * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited. + * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest + * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductsRequest.decodeDelimited = function decodeDelimited(reader) { + GetProductRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ListProductsRequest message. + * Verifies a GetProductRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProductsRequest.verify = function verify(message) { + GetProductRequest.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"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; return null; }; /** - * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ListProductsRequest} ListProductsRequest + * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest */ - ListProductsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsRequest) + GetProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GetProductRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ListProductsRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.pageSize != null) - message.pageSize = object.pageSize | 0; - if (object.pageToken != null) - message.pageToken = String(object.pageToken); + var message = new $root.google.cloud.vision.v1p4beta1.GetProductRequest(); + if (object.name != null) + message.name = String(object.name); return message; }; /** - * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.ListProductsRequest} message ListProductsRequest + * @param {google.cloud.vision.v1p4beta1.GetProductRequest} message GetProductRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ListProductsRequest.toObject = function toObject(message, options) { + GetProductRequest.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; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; return object; }; /** - * Converts this ListProductsRequest to JSON. + * Converts this GetProductRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest * @instance * @returns {Object.} JSON object */ - ListProductsRequest.prototype.toJSON = function toJSON() { + GetProductRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ListProductsRequest; + return GetProductRequest; })(); - v1p4beta1.ListProductsResponse = (function() { + v1p4beta1.UpdateProductRequest = (function() { /** - * Properties of a ListProductsResponse. + * Properties of an UpdateProductRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IListProductsResponse - * @property {Array.|null} [products] ListProductsResponse products - * @property {string|null} [nextPageToken] ListProductsResponse nextPageToken + * @interface IUpdateProductRequest + * @property {google.cloud.vision.v1p4beta1.IProduct|null} [product] UpdateProductRequest product + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductRequest updateMask */ /** - * Constructs a new ListProductsResponse. + * Constructs a new UpdateProductRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ListProductsResponse. - * @implements IListProductsResponse + * @classdesc Represents an UpdateProductRequest. + * @implements IUpdateProductRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IListProductsResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest=} [properties] Properties to set */ - function ListProductsResponse(properties) { - this.products = []; + function UpdateProductRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -87844,91 +89340,88 @@ } /** - * ListProductsResponse products. - * @member {Array.} products - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * UpdateProductRequest product. + * @member {google.cloud.vision.v1p4beta1.IProduct|null|undefined} product + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @instance */ - ListProductsResponse.prototype.products = $util.emptyArray; + UpdateProductRequest.prototype.product = null; /** - * ListProductsResponse nextPageToken. - * @member {string} nextPageToken - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * UpdateProductRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @instance */ - ListProductsResponse.prototype.nextPageToken = ""; + UpdateProductRequest.prototype.updateMask = null; /** - * Creates a new ListProductsResponse instance using the specified properties. + * Creates a new UpdateProductRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest instance */ - ListProductsResponse.create = function create(properties) { - return new ListProductsResponse(properties); + UpdateProductRequest.create = function create(properties) { + return new UpdateProductRequest(properties); }; /** - * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsResponse.verify|verify} messages. + * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductsResponse.encode = function encode(message, writer) { + UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.products != null && message.products.length) - for (var i = 0; i < message.products.length; ++i) - $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + if (message.product != null && message.hasOwnProperty("product")) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsResponse.verify|verify} messages. + * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsResponse} message ListProductsResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductsResponse.encodeDelimited = function encodeDelimited(message, writer) { + UpdateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ListProductsResponse message from the specified reader or buffer. + * Decodes an UpdateProductRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse + * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductsResponse.decode = function decode(reader, length) { + UpdateProductRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.UpdateProductRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); + message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); break; case 2: - message.nextPageToken = reader.string(); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -87939,133 +89432,126 @@ }; /** - * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited. + * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse + * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductsResponse.decodeDelimited = function decodeDelimited(reader) { + UpdateProductRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ListProductsResponse message. + * Verifies an UpdateProductRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProductsResponse.verify = function verify(message) { + UpdateProductRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.products != null && message.hasOwnProperty("products")) { - if (!Array.isArray(message.products)) - return "products: array expected"; - for (var i = 0; i < message.products.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.products[i]); - if (error) - return "products." + error; - } + if (message.product != null && message.hasOwnProperty("product")) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.product); + if (error) + return "product." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - if (!$util.isString(message.nextPageToken)) - return "nextPageToken: string expected"; return null; }; /** - * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types. + * Creates an UpdateProductRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ListProductsResponse} ListProductsResponse + * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest */ - ListProductsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsResponse) + UpdateProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.UpdateProductRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ListProductsResponse(); - if (object.products) { - if (!Array.isArray(object.products)) - throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsResponse.products: array expected"); - message.products = []; - for (var i = 0; i < object.products.length; ++i) { - if (typeof object.products[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsResponse.products: object expected"); - message.products[i] = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.products[i]); - } + var message = new $root.google.cloud.vision.v1p4beta1.UpdateProductRequest(); + if (object.product != null) { + if (typeof object.product !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductRequest.product: object expected"); + message.product = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.product); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); } - if (object.nextPageToken != null) - message.nextPageToken = String(object.nextPageToken); return message; }; /** - * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified. + * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.ListProductsResponse} message ListProductsResponse + * @param {google.cloud.vision.v1p4beta1.UpdateProductRequest} message UpdateProductRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ListProductsResponse.toObject = function toObject(message, options) { + UpdateProductRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.products = []; - if (options.defaults) - object.nextPageToken = ""; - if (message.products && message.products.length) { - object.products = []; - for (var j = 0; j < message.products.length; ++j) - object.products[j] = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.products[j], options); + if (options.defaults) { + object.product = null; + object.updateMask = null; } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - object.nextPageToken = message.nextPageToken; + if (message.product != null && message.hasOwnProperty("product")) + object.product = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.product, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); return object; }; /** - * Converts this ListProductsResponse to JSON. + * Converts this UpdateProductRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest * @instance * @returns {Object.} JSON object */ - ListProductsResponse.prototype.toJSON = function toJSON() { + UpdateProductRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ListProductsResponse; + return UpdateProductRequest; })(); - v1p4beta1.GetProductRequest = (function() { + v1p4beta1.DeleteProductRequest = (function() { /** - * Properties of a GetProductRequest. + * Properties of a DeleteProductRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IGetProductRequest - * @property {string|null} [name] GetProductRequest name + * @interface IDeleteProductRequest + * @property {string|null} [name] DeleteProductRequest name */ /** - * Constructs a new GetProductRequest. + * Constructs a new DeleteProductRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a GetProductRequest. - * @implements IGetProductRequest + * @classdesc Represents a DeleteProductRequest. + * @implements IDeleteProductRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IGetProductRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest=} [properties] Properties to set */ - function GetProductRequest(properties) { + function DeleteProductRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -88073,35 +89559,35 @@ } /** - * GetProductRequest name. + * DeleteProductRequest name. * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @instance */ - GetProductRequest.prototype.name = ""; + DeleteProductRequest.prototype.name = ""; /** - * Creates a new GetProductRequest instance using the specified properties. + * Creates a new DeleteProductRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGetProductRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest instance */ - GetProductRequest.create = function create(properties) { - return new GetProductRequest(properties); + DeleteProductRequest.create = function create(properties) { + return new DeleteProductRequest(properties); }; /** - * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductRequest.verify|verify} messages. + * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProductRequest.encode = function encode(message, writer) { + DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && message.hasOwnProperty("name")) @@ -88110,33 +89596,33 @@ }; /** - * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductRequest.verify|verify} messages. + * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGetProductRequest} message GetProductRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + DeleteProductRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProductRequest message from the specified reader or buffer. + * Decodes a DeleteProductRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest + * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProductRequest.decode = function decode(reader, length) { + DeleteProductRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GetProductRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DeleteProductRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -88152,30 +89638,30 @@ }; /** - * Decodes a GetProductRequest message from the specified reader or buffer, length delimited. + * Decodes a DeleteProductRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest + * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProductRequest.decodeDelimited = function decodeDelimited(reader) { + DeleteProductRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProductRequest message. + * Verifies a DeleteProductRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProductRequest.verify = function verify(message) { + DeleteProductRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) @@ -88185,32 +89671,32 @@ }; /** - * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types. + * Creates a DeleteProductRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.GetProductRequest} GetProductRequest + * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest */ - GetProductRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.GetProductRequest) + DeleteProductRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.DeleteProductRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.GetProductRequest(); + var message = new $root.google.cloud.vision.v1p4beta1.DeleteProductRequest(); if (object.name != null) message.name = String(object.name); return message; }; /** - * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified. + * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @static - * @param {google.cloud.vision.v1p4beta1.GetProductRequest} message GetProductRequest + * @param {google.cloud.vision.v1p4beta1.DeleteProductRequest} message DeleteProductRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProductRequest.toObject = function toObject(message, options) { + DeleteProductRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -88222,38 +89708,39 @@ }; /** - * Converts this GetProductRequest to JSON. + * Converts this DeleteProductRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest * @instance * @returns {Object.} JSON object */ - GetProductRequest.prototype.toJSON = function toJSON() { + DeleteProductRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetProductRequest; + return DeleteProductRequest; })(); - v1p4beta1.UpdateProductRequest = (function() { + v1p4beta1.CreateProductSetRequest = (function() { /** - * Properties of an UpdateProductRequest. + * Properties of a CreateProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IUpdateProductRequest - * @property {google.cloud.vision.v1p4beta1.IProduct|null} [product] UpdateProductRequest product - * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductRequest updateMask + * @interface ICreateProductSetRequest + * @property {string|null} [parent] CreateProductSetRequest parent + * @property {google.cloud.vision.v1p4beta1.IProductSet|null} [productSet] CreateProductSetRequest productSet + * @property {string|null} [productSetId] CreateProductSetRequest productSetId */ /** - * Constructs a new UpdateProductRequest. + * Constructs a new CreateProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an UpdateProductRequest. - * @implements IUpdateProductRequest + * @classdesc Represents a CreateProductSetRequest. + * @implements ICreateProductSetRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest=} [properties] Properties to set */ - function UpdateProductRequest(properties) { + function CreateProductSetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -88261,88 +89748,101 @@ } /** - * UpdateProductRequest product. - * @member {google.cloud.vision.v1p4beta1.IProduct|null|undefined} product - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * CreateProductSetRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @instance */ - UpdateProductRequest.prototype.product = null; + CreateProductSetRequest.prototype.parent = ""; /** - * UpdateProductRequest updateMask. - * @member {google.protobuf.IFieldMask|null|undefined} updateMask - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * CreateProductSetRequest productSet. + * @member {google.cloud.vision.v1p4beta1.IProductSet|null|undefined} productSet + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @instance */ - UpdateProductRequest.prototype.updateMask = null; + CreateProductSetRequest.prototype.productSet = null; /** - * Creates a new UpdateProductRequest instance using the specified properties. + * CreateProductSetRequest productSetId. + * @member {string} productSetId + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @instance + */ + CreateProductSetRequest.prototype.productSetId = ""; + + /** + * Creates a new CreateProductSetRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest instance + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest instance */ - UpdateProductRequest.create = function create(properties) { - return new UpdateProductRequest(properties); + CreateProductSetRequest.create = function create(properties) { + return new CreateProductSetRequest(properties); }; /** - * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductRequest.verify|verify} messages. + * Encodes the specified CreateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductSetRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - UpdateProductRequest.encode = function encode(message, writer) { + CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) - $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) - $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.productSet != null && message.hasOwnProperty("productSet")) + $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; /** - * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductRequest.verify|verify} messages. + * Encodes the specified CreateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductSetRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IUpdateProductRequest} message UpdateProductRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - UpdateProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + CreateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an UpdateProductRequest message from the specified reader or buffer. + * Decodes a CreateProductSetRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest + * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateProductRequest.decode = function decode(reader, length) { + CreateProductSetRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.UpdateProductRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); + message.parent = reader.string(); break; case 2: - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); + break; + case 3: + message.productSetId = reader.string(); break; default: reader.skipType(tag & 7); @@ -88353,126 +89853,131 @@ }; /** - * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited. + * Decodes a CreateProductSetRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest + * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateProductRequest.decodeDelimited = function decodeDelimited(reader) { + CreateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an UpdateProductRequest message. + * Verifies a CreateProductSetRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateProductRequest.verify = function verify(message) { + CreateProductSetRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.product != null && message.hasOwnProperty("product")) { - var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.product); - if (error) - return "product." + error; - } - if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.productSet != null && message.hasOwnProperty("productSet")) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSet.verify(message.productSet); if (error) - return "updateMask." + error; + return "productSet." + error; } + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (!$util.isString(message.productSetId)) + return "productSetId: string expected"; return null; }; /** - * Creates an UpdateProductRequest message from a plain object. Also converts values to their respective internal types. + * Creates a CreateProductSetRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.UpdateProductRequest} UpdateProductRequest + * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest */ - UpdateProductRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.UpdateProductRequest) + CreateProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.UpdateProductRequest(); - if (object.product != null) { - if (typeof object.product !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductRequest.product: object expected"); - message.product = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.product); - } - if (object.updateMask != null) { - if (typeof object.updateMask !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + var message = new $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.productSet != null) { + if (typeof object.productSet !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CreateProductSetRequest.productSet: object expected"); + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.fromObject(object.productSet); } + if (object.productSetId != null) + message.productSetId = String(object.productSetId); return message; }; /** - * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified. + * Creates a plain object from a CreateProductSetRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.UpdateProductRequest} message UpdateProductRequest + * @param {google.cloud.vision.v1p4beta1.CreateProductSetRequest} message CreateProductSetRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - UpdateProductRequest.toObject = function toObject(message, options) { + CreateProductSetRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.product = null; - object.updateMask = null; + object.parent = ""; + object.productSet = null; + object.productSetId = ""; } - if (message.product != null && message.hasOwnProperty("product")) - object.product = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.product, options); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) - object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.toObject(message.productSet, options); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + object.productSetId = message.productSetId; return object; }; /** - * Converts this UpdateProductRequest to JSON. + * Converts this CreateProductSetRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest * @instance * @returns {Object.} JSON object */ - UpdateProductRequest.prototype.toJSON = function toJSON() { + CreateProductSetRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return UpdateProductRequest; + return CreateProductSetRequest; })(); - v1p4beta1.DeleteProductRequest = (function() { + v1p4beta1.ListProductSetsRequest = (function() { /** - * Properties of a DeleteProductRequest. + * Properties of a ListProductSetsRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IDeleteProductRequest - * @property {string|null} [name] DeleteProductRequest name + * @interface IListProductSetsRequest + * @property {string|null} [parent] ListProductSetsRequest parent + * @property {number|null} [pageSize] ListProductSetsRequest pageSize + * @property {string|null} [pageToken] ListProductSetsRequest pageToken */ /** - * Constructs a new DeleteProductRequest. + * Constructs a new ListProductSetsRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a DeleteProductRequest. - * @implements IDeleteProductRequest + * @classdesc Represents a ListProductSetsRequest. + * @implements IListProductSetsRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest=} [properties] Properties to set */ - function DeleteProductRequest(properties) { + function ListProductSetsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -88480,75 +89985,101 @@ } /** - * DeleteProductRequest name. - * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * ListProductSetsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @instance */ - DeleteProductRequest.prototype.name = ""; + ListProductSetsRequest.prototype.parent = ""; /** - * Creates a new DeleteProductRequest instance using the specified properties. + * ListProductSetsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.pageSize = 0; + + /** + * ListProductSetsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @instance + */ + ListProductSetsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductSetsRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest instance + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest instance */ - DeleteProductRequest.create = function create(properties) { - return new DeleteProductRequest(properties); + ListProductSetsRequest.create = function create(properties) { + return new ListProductSetsRequest(properties); }; /** - * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductRequest.verify|verify} messages. + * Encodes the specified ListProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DeleteProductRequest.encode = function encode(message, writer) { + ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; /** - * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductRequest.verify|verify} messages. + * Encodes the specified ListProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IDeleteProductRequest} message DeleteProductRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DeleteProductRequest.encodeDelimited = function encodeDelimited(message, writer) { + ListProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DeleteProductRequest message from the specified reader or buffer. + * Decodes a ListProductSetsRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteProductRequest.decode = function decode(reader, length) { + ListProductSetsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DeleteProductRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.parent = reader.string(); + break; + case 2: + message.pageSize = reader.int32(); + break; + case 3: + message.pageToken = reader.string(); break; default: reader.skipType(tag & 7); @@ -88559,109 +90090,126 @@ }; /** - * Decodes a DeleteProductRequest message from the specified reader or buffer, length delimited. + * Decodes a ListProductSetsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteProductRequest.decodeDelimited = function decodeDelimited(reader) { + ListProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DeleteProductRequest message. + * Verifies a ListProductSetsRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteProductRequest.verify = function verify(message) { + ListProductSetsRequest.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.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 DeleteProductRequest message from a plain object. Also converts values to their respective internal types. + * Creates a ListProductSetsRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.DeleteProductRequest} DeleteProductRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest */ - DeleteProductRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.DeleteProductRequest) + ListProductSetsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.DeleteProductRequest(); - if (object.name != null) - message.name = String(object.name); + var message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest(); + 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 DeleteProductRequest message. Also converts values to other types if specified. + * Creates a plain object from a ListProductSetsRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @static - * @param {google.cloud.vision.v1p4beta1.DeleteProductRequest} message DeleteProductRequest + * @param {google.cloud.vision.v1p4beta1.ListProductSetsRequest} message ListProductSetsRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DeleteProductRequest.toObject = function toObject(message, options) { + ListProductSetsRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.name = ""; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; + if (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 DeleteProductRequest to JSON. + * Converts this ListProductSetsRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest * @instance * @returns {Object.} JSON object */ - DeleteProductRequest.prototype.toJSON = function toJSON() { + ListProductSetsRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DeleteProductRequest; + return ListProductSetsRequest; })(); - v1p4beta1.CreateProductSetRequest = (function() { + v1p4beta1.ListProductSetsResponse = (function() { /** - * Properties of a CreateProductSetRequest. + * Properties of a ListProductSetsResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface ICreateProductSetRequest - * @property {string|null} [parent] CreateProductSetRequest parent - * @property {google.cloud.vision.v1p4beta1.IProductSet|null} [productSet] CreateProductSetRequest productSet - * @property {string|null} [productSetId] CreateProductSetRequest productSetId + * @interface IListProductSetsResponse + * @property {Array.|null} [productSets] ListProductSetsResponse productSets + * @property {string|null} [nextPageToken] ListProductSetsResponse nextPageToken */ /** - * Constructs a new CreateProductSetRequest. + * Constructs a new ListProductSetsResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a CreateProductSetRequest. - * @implements ICreateProductSetRequest + * @classdesc Represents a ListProductSetsResponse. + * @implements IListProductSetsResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse=} [properties] Properties to set */ - function CreateProductSetRequest(properties) { + function ListProductSetsResponse(properties) { + this.productSets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -88669,101 +90217,91 @@ } /** - * CreateProductSetRequest parent. - * @member {string} parent - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest - * @instance - */ - CreateProductSetRequest.prototype.parent = ""; - - /** - * CreateProductSetRequest productSet. - * @member {google.cloud.vision.v1p4beta1.IProductSet|null|undefined} productSet - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * ListProductSetsResponse productSets. + * @member {Array.} productSets + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @instance */ - CreateProductSetRequest.prototype.productSet = null; + ListProductSetsResponse.prototype.productSets = $util.emptyArray; /** - * CreateProductSetRequest productSetId. - * @member {string} productSetId - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * ListProductSetsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @instance */ - CreateProductSetRequest.prototype.productSetId = ""; + ListProductSetsResponse.prototype.nextPageToken = ""; /** - * Creates a new CreateProductSetRequest instance using the specified properties. + * Creates a new ListProductSetsResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest instance + * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse instance */ - CreateProductSetRequest.create = function create(properties) { - return new CreateProductSetRequest(properties); + ListProductSetsResponse.create = function create(properties) { + return new ListProductSetsResponse(properties); }; /** - * Encodes the specified CreateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductSetRequest.verify|verify} messages. + * Encodes the specified ListProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CreateProductSetRequest.encode = function encode(message, writer) { + ListProductSetsResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && message.hasOwnProperty("productSet")) - $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); + if (message.productSets != null && message.productSets.length) + for (var i = 0; i < message.productSets.length; ++i) + $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; /** - * Encodes the specified CreateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateProductSetRequest.verify|verify} messages. + * Encodes the specified ListProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICreateProductSetRequest} message CreateProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CreateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + ListProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CreateProductSetRequest message from the specified reader or buffer. + * Decodes a ListProductSetsResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProductSetRequest.decode = function decode(reader, length) { + ListProductSetsResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.parent = reader.string(); + if (!(message.productSets && message.productSets.length)) + message.productSets = []; + message.productSets.push($root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32())); break; case 2: - message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); - break; - case 3: - message.productSetId = reader.string(); + message.nextPageToken = reader.string(); break; default: reader.skipType(tag & 7); @@ -88774,131 +90312,133 @@ }; /** - * Decodes a CreateProductSetRequest message from the specified reader or buffer, length delimited. + * Decodes a ListProductSetsResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + ListProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CreateProductSetRequest message. + * Verifies a ListProductSetsResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateProductSetRequest.verify = function verify(message) { + ListProductSetsResponse.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.productSet != null && message.hasOwnProperty("productSet")) { - var error = $root.google.cloud.vision.v1p4beta1.ProductSet.verify(message.productSet); - if (error) - return "productSet." + error; + if (message.productSets != null && message.hasOwnProperty("productSets")) { + if (!Array.isArray(message.productSets)) + return "productSets: array expected"; + for (var i = 0; i < message.productSets.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSet.verify(message.productSets[i]); + if (error) + return "productSets." + error; + } } - if (message.productSetId != null && message.hasOwnProperty("productSetId")) - if (!$util.isString(message.productSetId)) - return "productSetId: string expected"; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; return null; }; /** - * Creates a CreateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * Creates a ListProductSetsResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.CreateProductSetRequest} CreateProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse */ - CreateProductSetRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest) + ListProductSetsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.CreateProductSetRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.productSet != null) { - if (typeof object.productSet !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.CreateProductSetRequest.productSet: object expected"); - message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.fromObject(object.productSet); + var message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse(); + if (object.productSets) { + if (!Array.isArray(object.productSets)) + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductSetsResponse.productSets: array expected"); + message.productSets = []; + for (var i = 0; i < object.productSets.length; ++i) { + if (typeof object.productSets[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductSetsResponse.productSets: object expected"); + message.productSets[i] = $root.google.cloud.vision.v1p4beta1.ProductSet.fromObject(object.productSets[i]); + } } - if (object.productSetId != null) - message.productSetId = String(object.productSetId); + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); return message; }; /** - * Creates a plain object from a CreateProductSetRequest message. Also converts values to other types if specified. + * Creates a plain object from a ListProductSetsResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @static - * @param {google.cloud.vision.v1p4beta1.CreateProductSetRequest} message CreateProductSetRequest + * @param {google.cloud.vision.v1p4beta1.ListProductSetsResponse} message ListProductSetsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CreateProductSetRequest.toObject = function toObject(message, options) { + ListProductSetsResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.parent = ""; - object.productSet = null; - object.productSetId = ""; + if (options.arrays || options.defaults) + object.productSets = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.productSets && message.productSets.length) { + object.productSets = []; + for (var j = 0; j < message.productSets.length; ++j) + object.productSets[j] = $root.google.cloud.vision.v1p4beta1.ProductSet.toObject(message.productSets[j], options); } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; - if (message.productSet != null && message.hasOwnProperty("productSet")) - object.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.toObject(message.productSet, options); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) - object.productSetId = message.productSetId; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; return object; }; /** - * Converts this CreateProductSetRequest to JSON. + * Converts this ListProductSetsResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse * @instance * @returns {Object.} JSON object */ - CreateProductSetRequest.prototype.toJSON = function toJSON() { + ListProductSetsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CreateProductSetRequest; + return ListProductSetsResponse; })(); - v1p4beta1.ListProductSetsRequest = (function() { + v1p4beta1.GetProductSetRequest = (function() { /** - * Properties of a ListProductSetsRequest. + * Properties of a GetProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IListProductSetsRequest - * @property {string|null} [parent] ListProductSetsRequest parent - * @property {number|null} [pageSize] ListProductSetsRequest pageSize - * @property {string|null} [pageToken] ListProductSetsRequest pageToken + * @interface IGetProductSetRequest + * @property {string|null} [name] GetProductSetRequest name */ /** - * Constructs a new ListProductSetsRequest. + * Constructs a new GetProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ListProductSetsRequest. - * @implements IListProductSetsRequest + * @classdesc Represents a GetProductSetRequest. + * @implements IGetProductSetRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest=} [properties] Properties to set */ - function ListProductSetsRequest(properties) { + function GetProductSetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -88906,101 +90446,75 @@ } /** - * ListProductSetsRequest parent. - * @member {string} parent - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest - * @instance - */ - ListProductSetsRequest.prototype.parent = ""; - - /** - * ListProductSetsRequest pageSize. - * @member {number} pageSize - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest - * @instance - */ - ListProductSetsRequest.prototype.pageSize = 0; - - /** - * ListProductSetsRequest pageToken. - * @member {string} pageToken - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * GetProductSetRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @instance */ - ListProductSetsRequest.prototype.pageToken = ""; + GetProductSetRequest.prototype.name = ""; /** - * Creates a new ListProductSetsRequest instance using the specified properties. + * Creates a new GetProductSetRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest instance + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest instance */ - ListProductSetsRequest.create = function create(properties) { - return new ListProductSetsRequest(properties); + GetProductSetRequest.create = function create(properties) { + return new GetProductSetRequest(properties); }; /** - * Encodes the specified ListProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsRequest.verify|verify} messages. + * Encodes the specified GetProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductSetRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductSetsRequest.encode = function encode(message, writer) { + GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; /** - * Encodes the specified ListProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsRequest.verify|verify} messages. + * Encodes the specified GetProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductSetRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductSetsRequest} message ListProductSetsRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ListProductSetsRequest message from the specified reader or buffer. + * Decodes a GetProductSetRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest + * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductSetsRequest.decode = function decode(reader, length) { + GetProductSetRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GetProductSetRequest(); 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(); + message.name = reader.string(); break; default: reader.skipType(tag & 7); @@ -89011,126 +90525,108 @@ }; /** - * Decodes a ListProductSetsRequest message from the specified reader or buffer, length delimited. + * Decodes a GetProductSetRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest + * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { + GetProductSetRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ListProductSetsRequest message. + * Verifies a GetProductSetRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProductSetsRequest.verify = function verify(message) { + GetProductSetRequest.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"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; return null; }; /** - * Creates a ListProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetProductSetRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ListProductSetsRequest} ListProductSetsRequest + * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest */ - ListProductSetsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest) + GetProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GetProductSetRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsRequest(); - 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); + var message = new $root.google.cloud.vision.v1p4beta1.GetProductSetRequest(); + if (object.name != null) + message.name = String(object.name); return message; }; /** - * Creates a plain object from a ListProductSetsRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetProductSetRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.ListProductSetsRequest} message ListProductSetsRequest + * @param {google.cloud.vision.v1p4beta1.GetProductSetRequest} message GetProductSetRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ListProductSetsRequest.toObject = function toObject(message, options) { + GetProductSetRequest.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; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; return object; }; /** - * Converts this ListProductSetsRequest to JSON. + * Converts this GetProductSetRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest * @instance * @returns {Object.} JSON object */ - ListProductSetsRequest.prototype.toJSON = function toJSON() { + GetProductSetRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ListProductSetsRequest; + return GetProductSetRequest; })(); - v1p4beta1.ListProductSetsResponse = (function() { + v1p4beta1.UpdateProductSetRequest = (function() { /** - * Properties of a ListProductSetsResponse. + * Properties of an UpdateProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IListProductSetsResponse - * @property {Array.|null} [productSets] ListProductSetsResponse productSets - * @property {string|null} [nextPageToken] ListProductSetsResponse nextPageToken + * @interface IUpdateProductSetRequest + * @property {google.cloud.vision.v1p4beta1.IProductSet|null} [productSet] UpdateProductSetRequest productSet + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductSetRequest updateMask */ /** - * Constructs a new ListProductSetsResponse. + * Constructs a new UpdateProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ListProductSetsResponse. - * @implements IListProductSetsResponse + * @classdesc Represents an UpdateProductSetRequest. + * @implements IUpdateProductSetRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest=} [properties] Properties to set */ - function ListProductSetsResponse(properties) { - this.productSets = []; + function UpdateProductSetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -89138,91 +90634,88 @@ } /** - * ListProductSetsResponse productSets. - * @member {Array.} productSets - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * UpdateProductSetRequest productSet. + * @member {google.cloud.vision.v1p4beta1.IProductSet|null|undefined} productSet + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @instance */ - ListProductSetsResponse.prototype.productSets = $util.emptyArray; + UpdateProductSetRequest.prototype.productSet = null; /** - * ListProductSetsResponse nextPageToken. - * @member {string} nextPageToken - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * UpdateProductSetRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @instance */ - ListProductSetsResponse.prototype.nextPageToken = ""; + UpdateProductSetRequest.prototype.updateMask = null; /** - * Creates a new ListProductSetsResponse instance using the specified properties. + * Creates a new UpdateProductSetRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse instance + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest instance */ - ListProductSetsResponse.create = function create(properties) { - return new ListProductSetsResponse(properties); + UpdateProductSetRequest.create = function create(properties) { + return new UpdateProductSetRequest(properties); }; /** - * Encodes the specified ListProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsResponse.verify|verify} messages. + * Encodes the specified UpdateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductSetRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductSetsResponse.encode = function encode(message, writer) { + UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSets != null && message.productSets.length) - for (var i = 0; i < message.productSets.length; ++i) - $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + if (message.productSet != null && message.hasOwnProperty("productSet")) + $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified ListProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductSetsResponse.verify|verify} messages. + * Encodes the specified UpdateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductSetRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListProductSetsResponse} message ListProductSetsResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { + UpdateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ListProductSetsResponse message from the specified reader or buffer. + * Decodes an UpdateProductSetRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse + * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductSetsResponse.decode = function decode(reader, length) { + UpdateProductSetRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.productSets && message.productSets.length)) - message.productSets = []; - message.productSets.push($root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32())); + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); break; case 2: - message.nextPageToken = reader.string(); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -89233,133 +90726,126 @@ }; /** - * Decodes a ListProductSetsResponse message from the specified reader or buffer, length delimited. + * Decodes an UpdateProductSetRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse + * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { + UpdateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ListProductSetsResponse message. + * Verifies an UpdateProductSetRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProductSetsResponse.verify = function verify(message) { + UpdateProductSetRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.productSets != null && message.hasOwnProperty("productSets")) { - if (!Array.isArray(message.productSets)) - return "productSets: array expected"; - for (var i = 0; i < message.productSets.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.ProductSet.verify(message.productSets[i]); - if (error) - return "productSets." + error; - } + if (message.productSet != null && message.hasOwnProperty("productSet")) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSet.verify(message.productSet); + if (error) + return "productSet." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - if (!$util.isString(message.nextPageToken)) - return "nextPageToken: string expected"; return null; }; /** - * Creates a ListProductSetsResponse message from a plain object. Also converts values to their respective internal types. + * Creates an UpdateProductSetRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ListProductSetsResponse} ListProductSetsResponse + * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest */ - ListProductSetsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse) + UpdateProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ListProductSetsResponse(); - if (object.productSets) { - if (!Array.isArray(object.productSets)) - throw TypeError(".google.cloud.vision.v1p4beta1.ListProductSetsResponse.productSets: array expected"); - message.productSets = []; - for (var i = 0; i < object.productSets.length; ++i) { - if (typeof object.productSets[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ListProductSetsResponse.productSets: object expected"); - message.productSets[i] = $root.google.cloud.vision.v1p4beta1.ProductSet.fromObject(object.productSets[i]); - } + var message = new $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest(); + if (object.productSet != null) { + if (typeof object.productSet !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductSetRequest.productSet: object expected"); + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.fromObject(object.productSet); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductSetRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); } - if (object.nextPageToken != null) - message.nextPageToken = String(object.nextPageToken); return message; }; /** - * Creates a plain object from a ListProductSetsResponse message. Also converts values to other types if specified. + * Creates a plain object from an UpdateProductSetRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.ListProductSetsResponse} message ListProductSetsResponse + * @param {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} message UpdateProductSetRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ListProductSetsResponse.toObject = function toObject(message, options) { + UpdateProductSetRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.productSets = []; - if (options.defaults) - object.nextPageToken = ""; - if (message.productSets && message.productSets.length) { - object.productSets = []; - for (var j = 0; j < message.productSets.length; ++j) - object.productSets[j] = $root.google.cloud.vision.v1p4beta1.ProductSet.toObject(message.productSets[j], options); + if (options.defaults) { + object.productSet = null; + object.updateMask = null; } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - object.nextPageToken = message.nextPageToken; + if (message.productSet != null && message.hasOwnProperty("productSet")) + object.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.toObject(message.productSet, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); return object; }; /** - * Converts this ListProductSetsResponse to JSON. + * Converts this UpdateProductSetRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest * @instance * @returns {Object.} JSON object */ - ListProductSetsResponse.prototype.toJSON = function toJSON() { + UpdateProductSetRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ListProductSetsResponse; + return UpdateProductSetRequest; })(); - v1p4beta1.GetProductSetRequest = (function() { + v1p4beta1.DeleteProductSetRequest = (function() { /** - * Properties of a GetProductSetRequest. + * Properties of a DeleteProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IGetProductSetRequest - * @property {string|null} [name] GetProductSetRequest name + * @interface IDeleteProductSetRequest + * @property {string|null} [name] DeleteProductSetRequest name */ /** - * Constructs a new GetProductSetRequest. + * Constructs a new DeleteProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a GetProductSetRequest. - * @implements IGetProductSetRequest + * @classdesc Represents a DeleteProductSetRequest. + * @implements IDeleteProductSetRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest=} [properties] Properties to set */ - function GetProductSetRequest(properties) { + function DeleteProductSetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -89367,35 +90853,35 @@ } /** - * GetProductSetRequest name. + * DeleteProductSetRequest name. * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @instance */ - GetProductSetRequest.prototype.name = ""; + DeleteProductSetRequest.prototype.name = ""; /** - * Creates a new GetProductSetRequest instance using the specified properties. + * Creates a new DeleteProductSetRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest instance + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest instance */ - GetProductSetRequest.create = function create(properties) { - return new GetProductSetRequest(properties); + DeleteProductSetRequest.create = function create(properties) { + return new DeleteProductSetRequest(properties); }; /** - * Encodes the specified GetProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductSetRequest.verify|verify} messages. + * Encodes the specified DeleteProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductSetRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProductSetRequest.encode = function encode(message, writer) { + DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && message.hasOwnProperty("name")) @@ -89404,33 +90890,33 @@ }; /** - * Encodes the specified GetProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetProductSetRequest.verify|verify} messages. + * Encodes the specified DeleteProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductSetRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGetProductSetRequest} message GetProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + DeleteProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProductSetRequest message from the specified reader or buffer. + * Decodes a DeleteProductSetRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProductSetRequest.decode = function decode(reader, length) { + DeleteProductSetRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GetProductSetRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -89446,30 +90932,30 @@ }; /** - * Decodes a GetProductSetRequest message from the specified reader or buffer, length delimited. + * Decodes a DeleteProductSetRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + DeleteProductSetRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProductSetRequest message. + * Verifies a DeleteProductSetRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProductSetRequest.verify = function verify(message) { + DeleteProductSetRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) @@ -89479,32 +90965,32 @@ }; /** - * Creates a GetProductSetRequest message from a plain object. Also converts values to their respective internal types. + * Creates a DeleteProductSetRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.GetProductSetRequest} GetProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest */ - GetProductSetRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.GetProductSetRequest) + DeleteProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.GetProductSetRequest(); + var message = new $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest(); if (object.name != null) message.name = String(object.name); return message; }; /** - * Creates a plain object from a GetProductSetRequest message. Also converts values to other types if specified. + * Creates a plain object from a DeleteProductSetRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.GetProductSetRequest} message GetProductSetRequest + * @param {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} message DeleteProductSetRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProductSetRequest.toObject = function toObject(message, options) { + DeleteProductSetRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -89516,38 +91002,39 @@ }; /** - * Converts this GetProductSetRequest to JSON. + * Converts this DeleteProductSetRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest * @instance * @returns {Object.} JSON object */ - GetProductSetRequest.prototype.toJSON = function toJSON() { + DeleteProductSetRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetProductSetRequest; + return DeleteProductSetRequest; })(); - v1p4beta1.UpdateProductSetRequest = (function() { + v1p4beta1.CreateReferenceImageRequest = (function() { /** - * Properties of an UpdateProductSetRequest. + * Properties of a CreateReferenceImageRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IUpdateProductSetRequest - * @property {google.cloud.vision.v1p4beta1.IProductSet|null} [productSet] UpdateProductSetRequest productSet - * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateProductSetRequest updateMask + * @interface ICreateReferenceImageRequest + * @property {string|null} [parent] CreateReferenceImageRequest parent + * @property {google.cloud.vision.v1p4beta1.IReferenceImage|null} [referenceImage] CreateReferenceImageRequest referenceImage + * @property {string|null} [referenceImageId] CreateReferenceImageRequest referenceImageId */ /** - * Constructs a new UpdateProductSetRequest. + * Constructs a new CreateReferenceImageRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an UpdateProductSetRequest. - * @implements IUpdateProductSetRequest + * @classdesc Represents a CreateReferenceImageRequest. + * @implements ICreateReferenceImageRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest=} [properties] Properties to set */ - function UpdateProductSetRequest(properties) { + function CreateReferenceImageRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -89555,88 +91042,101 @@ } /** - * UpdateProductSetRequest productSet. - * @member {google.cloud.vision.v1p4beta1.IProductSet|null|undefined} productSet - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * CreateReferenceImageRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @instance */ - UpdateProductSetRequest.prototype.productSet = null; + CreateReferenceImageRequest.prototype.parent = ""; /** - * UpdateProductSetRequest updateMask. - * @member {google.protobuf.IFieldMask|null|undefined} updateMask - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * CreateReferenceImageRequest referenceImage. + * @member {google.cloud.vision.v1p4beta1.IReferenceImage|null|undefined} referenceImage + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @instance */ - UpdateProductSetRequest.prototype.updateMask = null; + CreateReferenceImageRequest.prototype.referenceImage = null; /** - * Creates a new UpdateProductSetRequest instance using the specified properties. + * CreateReferenceImageRequest referenceImageId. + * @member {string} referenceImageId + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @instance + */ + CreateReferenceImageRequest.prototype.referenceImageId = ""; + + /** + * Creates a new CreateReferenceImageRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest instance + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest instance */ - UpdateProductSetRequest.create = function create(properties) { - return new UpdateProductSetRequest(properties); + CreateReferenceImageRequest.create = function create(properties) { + return new CreateReferenceImageRequest(properties); }; /** - * Encodes the specified UpdateProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductSetRequest.verify|verify} messages. + * Encodes the specified CreateReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - UpdateProductSetRequest.encode = function encode(message, writer) { + CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) - $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) - $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; /** - * Encodes the specified UpdateProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.UpdateProductSetRequest.verify|verify} messages. + * Encodes the specified CreateReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IUpdateProductSetRequest} message UpdateProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - UpdateProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + CreateReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an UpdateProductSetRequest message from the specified reader or buffer. + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateProductSetRequest.decode = function decode(reader, length) { + CreateReferenceImageRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); + message.parent = reader.string(); break; case 2: - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32()); + break; + case 3: + message.referenceImageId = reader.string(); break; default: reader.skipType(tag & 7); @@ -89647,126 +91147,131 @@ }; /** - * Decodes an UpdateProductSetRequest message from the specified reader or buffer, length delimited. + * Decodes a CreateReferenceImageRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + CreateReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an UpdateProductSetRequest message. + * Verifies a CreateReferenceImageRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateProductSetRequest.verify = function verify(message) { + CreateReferenceImageRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.productSet != null && message.hasOwnProperty("productSet")) { - var error = $root.google.cloud.vision.v1p4beta1.ProductSet.verify(message.productSet); - if (error) - return "productSet." + error; - } - if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) { + var error = $root.google.cloud.vision.v1p4beta1.ReferenceImage.verify(message.referenceImage); if (error) - return "updateMask." + error; + return "referenceImage." + error; } + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (!$util.isString(message.referenceImageId)) + return "referenceImageId: string expected"; return null; }; /** - * Creates an UpdateProductSetRequest message from a plain object. Also converts values to their respective internal types. + * Creates a CreateReferenceImageRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} UpdateProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest */ - UpdateProductSetRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest) + CreateReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.UpdateProductSetRequest(); - if (object.productSet != null) { - if (typeof object.productSet !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductSetRequest.productSet: object expected"); - message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.fromObject(object.productSet); - } - if (object.updateMask != null) { - if (typeof object.updateMask !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.UpdateProductSetRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + var message = new $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.referenceImage != null) { + if (typeof object.referenceImage !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.referenceImage: object expected"); + message.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.fromObject(object.referenceImage); } + if (object.referenceImageId != null) + message.referenceImageId = String(object.referenceImageId); return message; }; /** - * Creates a plain object from an UpdateProductSetRequest message. Also converts values to other types if specified. + * Creates a plain object from a CreateReferenceImageRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.UpdateProductSetRequest} message UpdateProductSetRequest + * @param {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} message CreateReferenceImageRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - UpdateProductSetRequest.toObject = function toObject(message, options) { + CreateReferenceImageRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.productSet = null; - object.updateMask = null; + object.parent = ""; + object.referenceImage = null; + object.referenceImageId = ""; } - if (message.productSet != null && message.hasOwnProperty("productSet")) - object.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.toObject(message.productSet, options); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) - object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + object.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.toObject(message.referenceImage, options); + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + object.referenceImageId = message.referenceImageId; return object; }; /** - * Converts this UpdateProductSetRequest to JSON. + * Converts this CreateReferenceImageRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest * @instance * @returns {Object.} JSON object */ - UpdateProductSetRequest.prototype.toJSON = function toJSON() { + CreateReferenceImageRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return UpdateProductSetRequest; + return CreateReferenceImageRequest; })(); - v1p4beta1.DeleteProductSetRequest = (function() { + v1p4beta1.ListReferenceImagesRequest = (function() { /** - * Properties of a DeleteProductSetRequest. + * Properties of a ListReferenceImagesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IDeleteProductSetRequest - * @property {string|null} [name] DeleteProductSetRequest name + * @interface IListReferenceImagesRequest + * @property {string|null} [parent] ListReferenceImagesRequest parent + * @property {number|null} [pageSize] ListReferenceImagesRequest pageSize + * @property {string|null} [pageToken] ListReferenceImagesRequest pageToken */ /** - * Constructs a new DeleteProductSetRequest. + * Constructs a new ListReferenceImagesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a DeleteProductSetRequest. - * @implements IDeleteProductSetRequest + * @classdesc Represents a ListReferenceImagesRequest. + * @implements IListReferenceImagesRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest=} [properties] Properties to set */ - function DeleteProductSetRequest(properties) { + function ListReferenceImagesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -89774,75 +91279,101 @@ } /** - * DeleteProductSetRequest name. - * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * ListReferenceImagesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @instance */ - DeleteProductSetRequest.prototype.name = ""; + ListReferenceImagesRequest.prototype.parent = ""; /** - * Creates a new DeleteProductSetRequest instance using the specified properties. + * ListReferenceImagesRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.pageSize = 0; + + /** + * ListReferenceImagesRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @instance + */ + ListReferenceImagesRequest.prototype.pageToken = ""; + + /** + * Creates a new ListReferenceImagesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest instance + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest instance */ - DeleteProductSetRequest.create = function create(properties) { - return new DeleteProductSetRequest(properties); + ListReferenceImagesRequest.create = function create(properties) { + return new ListReferenceImagesRequest(properties); }; /** - * Encodes the specified DeleteProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductSetRequest.verify|verify} messages. + * Encodes the specified ListReferenceImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DeleteProductSetRequest.encode = function encode(message, writer) { + ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; /** - * Encodes the specified DeleteProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteProductSetRequest.verify|verify} messages. + * Encodes the specified ListReferenceImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IDeleteProductSetRequest} message DeleteProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DeleteProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + ListReferenceImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DeleteProductSetRequest message from the specified reader or buffer. + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteProductSetRequest.decode = function decode(reader, length) { + ListReferenceImagesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.parent = reader.string(); + break; + case 2: + message.pageSize = reader.int32(); + break; + case 3: + message.pageToken = reader.string(); break; default: reader.skipType(tag & 7); @@ -89853,109 +91384,127 @@ }; /** - * Decodes a DeleteProductSetRequest message from the specified reader or buffer, length delimited. + * Decodes a ListReferenceImagesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + ListReferenceImagesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DeleteProductSetRequest message. + * Verifies a ListReferenceImagesRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteProductSetRequest.verify = function verify(message) { + ListReferenceImagesRequest.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.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 DeleteProductSetRequest message from a plain object. Also converts values to their respective internal types. + * Creates a ListReferenceImagesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} DeleteProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest */ - DeleteProductSetRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest) + ListReferenceImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.DeleteProductSetRequest(); - if (object.name != null) - message.name = String(object.name); + var message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest(); + 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 DeleteProductSetRequest message. Also converts values to other types if specified. + * Creates a plain object from a ListReferenceImagesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.DeleteProductSetRequest} message DeleteProductSetRequest + * @param {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} message ListReferenceImagesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DeleteProductSetRequest.toObject = function toObject(message, options) { + ListReferenceImagesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.name = ""; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; + if (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 DeleteProductSetRequest to JSON. + * Converts this ListReferenceImagesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest * @instance * @returns {Object.} JSON object */ - DeleteProductSetRequest.prototype.toJSON = function toJSON() { + ListReferenceImagesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DeleteProductSetRequest; + return ListReferenceImagesRequest; })(); - v1p4beta1.CreateReferenceImageRequest = (function() { + v1p4beta1.ListReferenceImagesResponse = (function() { /** - * Properties of a CreateReferenceImageRequest. + * Properties of a ListReferenceImagesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface ICreateReferenceImageRequest - * @property {string|null} [parent] CreateReferenceImageRequest parent - * @property {google.cloud.vision.v1p4beta1.IReferenceImage|null} [referenceImage] CreateReferenceImageRequest referenceImage - * @property {string|null} [referenceImageId] CreateReferenceImageRequest referenceImageId + * @interface IListReferenceImagesResponse + * @property {Array.|null} [referenceImages] ListReferenceImagesResponse referenceImages + * @property {number|null} [pageSize] ListReferenceImagesResponse pageSize + * @property {string|null} [nextPageToken] ListReferenceImagesResponse nextPageToken */ /** - * Constructs a new CreateReferenceImageRequest. + * Constructs a new ListReferenceImagesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a CreateReferenceImageRequest. - * @implements ICreateReferenceImageRequest + * @classdesc Represents a ListReferenceImagesResponse. + * @implements IListReferenceImagesResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse=} [properties] Properties to set */ - function CreateReferenceImageRequest(properties) { + function ListReferenceImagesResponse(properties) { + this.referenceImages = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -89963,101 +91512,104 @@ } /** - * CreateReferenceImageRequest parent. - * @member {string} parent - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * ListReferenceImagesResponse referenceImages. + * @member {Array.} referenceImages + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @instance */ - CreateReferenceImageRequest.prototype.parent = ""; + ListReferenceImagesResponse.prototype.referenceImages = $util.emptyArray; /** - * CreateReferenceImageRequest referenceImage. - * @member {google.cloud.vision.v1p4beta1.IReferenceImage|null|undefined} referenceImage - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * ListReferenceImagesResponse pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @instance */ - CreateReferenceImageRequest.prototype.referenceImage = null; + ListReferenceImagesResponse.prototype.pageSize = 0; /** - * CreateReferenceImageRequest referenceImageId. - * @member {string} referenceImageId - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * ListReferenceImagesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @instance */ - CreateReferenceImageRequest.prototype.referenceImageId = ""; + ListReferenceImagesResponse.prototype.nextPageToken = ""; /** - * Creates a new CreateReferenceImageRequest instance using the specified properties. + * Creates a new ListReferenceImagesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest instance + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse instance */ - CreateReferenceImageRequest.create = function create(properties) { - return new CreateReferenceImageRequest(properties); + ListReferenceImagesResponse.create = function create(properties) { + return new ListReferenceImagesResponse(properties); }; /** - * Encodes the specified CreateReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.verify|verify} messages. + * Encodes the specified ListReferenceImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CreateReferenceImageRequest.encode = function encode(message, writer) { + ListReferenceImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) - $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); + if (message.referenceImages != null && message.referenceImages.length) + for (var i = 0; i < message.referenceImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; /** - * Encodes the specified CreateReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.verify|verify} messages. + * Encodes the specified ListReferenceImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest} message CreateReferenceImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CreateReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + ListReferenceImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CreateReferenceImageRequest message from the specified reader or buffer. + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateReferenceImageRequest.decode = function decode(reader, length) { + ListReferenceImagesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.parent = reader.string(); + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); break; case 2: - message.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32()); + message.pageSize = reader.int32(); break; case 3: - message.referenceImageId = reader.string(); + message.nextPageToken = reader.string(); break; default: reader.skipType(tag & 7); @@ -90068,233 +91620,218 @@ }; /** - * Decodes a CreateReferenceImageRequest message from the specified reader or buffer, length delimited. + * Decodes a ListReferenceImagesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + ListReferenceImagesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CreateReferenceImageRequest message. + * Verifies a ListReferenceImagesResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateReferenceImageRequest.verify = function verify(message) { + ListReferenceImagesResponse.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.referenceImage != null && message.hasOwnProperty("referenceImage")) { - var error = $root.google.cloud.vision.v1p4beta1.ReferenceImage.verify(message.referenceImage); - if (error) - return "referenceImage." + error; + if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { + if (!Array.isArray(message.referenceImages)) + return "referenceImages: array expected"; + for (var i = 0; i < message.referenceImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ReferenceImage.verify(message.referenceImages[i]); + if (error) + return "referenceImages." + error; + } } - if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) - if (!$util.isString(message.referenceImageId)) - return "referenceImageId: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; return null; }; /** - * Creates a CreateReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * Creates a ListReferenceImagesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} CreateReferenceImageRequest + * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse */ - CreateReferenceImageRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest) + ListReferenceImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.referenceImage != null) { - if (typeof object.referenceImage !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.CreateReferenceImageRequest.referenceImage: object expected"); - message.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.fromObject(object.referenceImage); + var message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse(); + if (object.referenceImages) { + if (!Array.isArray(object.referenceImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.referenceImages: array expected"); + message.referenceImages = []; + for (var i = 0; i < object.referenceImages.length; ++i) { + if (typeof object.referenceImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.referenceImages: object expected"); + message.referenceImages[i] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.fromObject(object.referenceImages[i]); + } } - if (object.referenceImageId != null) - message.referenceImageId = String(object.referenceImageId); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); return message; }; /** - * Creates a plain object from a CreateReferenceImageRequest message. Also converts values to other types if specified. + * Creates a plain object from a ListReferenceImagesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.CreateReferenceImageRequest} message CreateReferenceImageRequest + * @param {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} message ListReferenceImagesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CreateReferenceImageRequest.toObject = function toObject(message, options) { + ListReferenceImagesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.referenceImages = []; if (options.defaults) { - object.parent = ""; - object.referenceImage = null; - object.referenceImageId = ""; + object.pageSize = 0; + object.nextPageToken = ""; } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; - if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) - object.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.toObject(message.referenceImage, options); - if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) - object.referenceImageId = message.referenceImageId; + if (message.referenceImages && message.referenceImages.length) { + object.referenceImages = []; + for (var j = 0; j < message.referenceImages.length; ++j) + object.referenceImages[j] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.toObject(message.referenceImages[j], options); + } + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; return object; }; /** - * Converts this CreateReferenceImageRequest to JSON. + * Converts this ListReferenceImagesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse * @instance * @returns {Object.} JSON object */ - CreateReferenceImageRequest.prototype.toJSON = function toJSON() { + ListReferenceImagesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CreateReferenceImageRequest; + return ListReferenceImagesResponse; })(); - v1p4beta1.ListReferenceImagesRequest = (function() { - - /** - * Properties of a ListReferenceImagesRequest. - * @memberof google.cloud.vision.v1p4beta1 - * @interface IListReferenceImagesRequest - * @property {string|null} [parent] ListReferenceImagesRequest parent - * @property {number|null} [pageSize] ListReferenceImagesRequest pageSize - * @property {string|null} [pageToken] ListReferenceImagesRequest pageToken - */ + v1p4beta1.GetReferenceImageRequest = (function() { /** - * Constructs a new ListReferenceImagesRequest. + * Properties of a GetReferenceImageRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ListReferenceImagesRequest. - * @implements IListReferenceImagesRequest - * @constructor - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest=} [properties] Properties to set - */ - function ListReferenceImagesRequest(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]]; - } - - /** - * ListReferenceImagesRequest parent. - * @member {string} parent - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest - * @instance + * @interface IGetReferenceImageRequest + * @property {string|null} [name] GetReferenceImageRequest name */ - ListReferenceImagesRequest.prototype.parent = ""; - /** - * ListReferenceImagesRequest pageSize. - * @member {number} pageSize - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest - * @instance + /** + * Constructs a new GetReferenceImageRequest. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a GetReferenceImageRequest. + * @implements IGetReferenceImageRequest + * @constructor + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest=} [properties] Properties to set */ - ListReferenceImagesRequest.prototype.pageSize = 0; + function GetReferenceImageRequest(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]]; + } /** - * ListReferenceImagesRequest pageToken. - * @member {string} pageToken - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * GetReferenceImageRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @instance */ - ListReferenceImagesRequest.prototype.pageToken = ""; + GetReferenceImageRequest.prototype.name = ""; /** - * Creates a new ListReferenceImagesRequest instance using the specified properties. + * Creates a new GetReferenceImageRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest instance + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest instance */ - ListReferenceImagesRequest.create = function create(properties) { - return new ListReferenceImagesRequest(properties); + GetReferenceImageRequest.create = function create(properties) { + return new GetReferenceImageRequest(properties); }; /** - * Encodes the specified ListReferenceImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest.verify|verify} messages. + * Encodes the specified GetReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetReferenceImageRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListReferenceImagesRequest.encode = function encode(message, writer) { + GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; /** - * Encodes the specified ListReferenceImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest.verify|verify} messages. + * Encodes the specified GetReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetReferenceImageRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesRequest} message ListReferenceImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListReferenceImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ListReferenceImagesRequest message from the specified reader or buffer. + * Decodes a GetReferenceImageRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest + * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListReferenceImagesRequest.decode = function decode(reader, length) { + GetReferenceImageRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest(); 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(); + message.name = reader.string(); break; default: reader.skipType(tag & 7); @@ -90305,127 +91842,107 @@ }; /** - * Decodes a ListReferenceImagesRequest message from the specified reader or buffer, length delimited. + * Decodes a GetReferenceImageRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest + * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListReferenceImagesRequest.decodeDelimited = function decodeDelimited(reader) { + GetReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ListReferenceImagesRequest message. + * Verifies a GetReferenceImageRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListReferenceImagesRequest.verify = function verify(message) { + GetReferenceImageRequest.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"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; return null; }; /** - * Creates a ListReferenceImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetReferenceImageRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} ListReferenceImagesRequest + * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest */ - ListReferenceImagesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest) + GetReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest(); - 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); + var message = new $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest(); + if (object.name != null) + message.name = String(object.name); return message; }; /** - * Creates a plain object from a ListReferenceImagesRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetReferenceImageRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} message ListReferenceImagesRequest + * @param {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} message GetReferenceImageRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ListReferenceImagesRequest.toObject = function toObject(message, options) { + GetReferenceImageRequest.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; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; return object; }; /** - * Converts this ListReferenceImagesRequest to JSON. + * Converts this GetReferenceImageRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest * @instance * @returns {Object.} JSON object */ - ListReferenceImagesRequest.prototype.toJSON = function toJSON() { + GetReferenceImageRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ListReferenceImagesRequest; + return GetReferenceImageRequest; })(); - v1p4beta1.ListReferenceImagesResponse = (function() { + v1p4beta1.DeleteReferenceImageRequest = (function() { /** - * Properties of a ListReferenceImagesResponse. + * Properties of a DeleteReferenceImageRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IListReferenceImagesResponse - * @property {Array.|null} [referenceImages] ListReferenceImagesResponse referenceImages - * @property {number|null} [pageSize] ListReferenceImagesResponse pageSize - * @property {string|null} [nextPageToken] ListReferenceImagesResponse nextPageToken + * @interface IDeleteReferenceImageRequest + * @property {string|null} [name] DeleteReferenceImageRequest name */ /** - * Constructs a new ListReferenceImagesResponse. + * Constructs a new DeleteReferenceImageRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ListReferenceImagesResponse. - * @implements IListReferenceImagesResponse + * @classdesc Represents a DeleteReferenceImageRequest. + * @implements IDeleteReferenceImageRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest=} [properties] Properties to set */ - function ListReferenceImagesResponse(properties) { - this.referenceImages = []; + function DeleteReferenceImageRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -90433,104 +91950,75 @@ } /** - * ListReferenceImagesResponse referenceImages. - * @member {Array.} referenceImages - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse - * @instance - */ - ListReferenceImagesResponse.prototype.referenceImages = $util.emptyArray; - - /** - * ListReferenceImagesResponse pageSize. - * @member {number} pageSize - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse - * @instance - */ - ListReferenceImagesResponse.prototype.pageSize = 0; - - /** - * ListReferenceImagesResponse nextPageToken. - * @member {string} nextPageToken - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * DeleteReferenceImageRequest name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @instance */ - ListReferenceImagesResponse.prototype.nextPageToken = ""; + DeleteReferenceImageRequest.prototype.name = ""; /** - * Creates a new ListReferenceImagesResponse instance using the specified properties. + * Creates a new DeleteReferenceImageRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse instance + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest instance */ - ListReferenceImagesResponse.create = function create(properties) { - return new ListReferenceImagesResponse(properties); + DeleteReferenceImageRequest.create = function create(properties) { + return new DeleteReferenceImageRequest(properties); }; /** - * Encodes the specified ListReferenceImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.verify|verify} messages. + * Encodes the specified DeleteReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListReferenceImagesResponse.encode = function encode(message, writer) { + DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.referenceImages != null && message.referenceImages.length) - for (var i = 0; i < message.referenceImages.length; ++i) - $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; /** - * Encodes the specified ListReferenceImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.verify|verify} messages. + * Encodes the specified DeleteReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IListReferenceImagesResponse} message ListReferenceImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListReferenceImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + DeleteReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ListReferenceImagesResponse message from the specified reader or buffer. + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse + * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListReferenceImagesResponse.decode = function decode(reader, length) { + DeleteReferenceImageRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest(); while (reader.pos < end) { var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.referenceImages && message.referenceImages.length)) - message.referenceImages = []; - message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.nextPageToken = reader.string(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); break; default: reader.skipType(tag & 7); @@ -90541,142 +92029,108 @@ }; /** - * Decodes a ListReferenceImagesResponse message from the specified reader or buffer, length delimited. + * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse + * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListReferenceImagesResponse.decodeDelimited = function decodeDelimited(reader) { + DeleteReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ListReferenceImagesResponse message. + * Verifies a DeleteReferenceImageRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListReferenceImagesResponse.verify = function verify(message) { + DeleteReferenceImageRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { - if (!Array.isArray(message.referenceImages)) - return "referenceImages: array expected"; - for (var i = 0; i < message.referenceImages.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.ReferenceImage.verify(message.referenceImages[i]); - if (error) - return "referenceImages." + error; - } - } - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - if (!$util.isInteger(message.pageSize)) - return "pageSize: integer expected"; - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - if (!$util.isString(message.nextPageToken)) - return "nextPageToken: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; return null; }; /** - * Creates a ListReferenceImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a DeleteReferenceImageRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} ListReferenceImagesResponse + * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest */ - ListReferenceImagesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse) + DeleteReferenceImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse(); - if (object.referenceImages) { - if (!Array.isArray(object.referenceImages)) - throw TypeError(".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.referenceImages: array expected"); - message.referenceImages = []; - for (var i = 0; i < object.referenceImages.length; ++i) { - if (typeof object.referenceImages[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse.referenceImages: object expected"); - message.referenceImages[i] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.fromObject(object.referenceImages[i]); - } - } - if (object.pageSize != null) - message.pageSize = object.pageSize | 0; - if (object.nextPageToken != null) - message.nextPageToken = String(object.nextPageToken); + var message = new $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest(); + if (object.name != null) + message.name = String(object.name); return message; }; /** - * Creates a plain object from a ListReferenceImagesResponse message. Also converts values to other types if specified. + * Creates a plain object from a DeleteReferenceImageRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.ListReferenceImagesResponse} message ListReferenceImagesResponse + * @param {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} message DeleteReferenceImageRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ListReferenceImagesResponse.toObject = function toObject(message, options) { + DeleteReferenceImageRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.referenceImages = []; - if (options.defaults) { - object.pageSize = 0; - object.nextPageToken = ""; - } - if (message.referenceImages && message.referenceImages.length) { - object.referenceImages = []; - for (var j = 0; j < message.referenceImages.length; ++j) - object.referenceImages[j] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.toObject(message.referenceImages[j], options); - } - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - object.pageSize = message.pageSize; - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - object.nextPageToken = message.nextPageToken; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; return object; }; /** - * Converts this ListReferenceImagesResponse to JSON. + * Converts this DeleteReferenceImageRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest * @instance * @returns {Object.} JSON object */ - ListReferenceImagesResponse.prototype.toJSON = function toJSON() { + DeleteReferenceImageRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ListReferenceImagesResponse; + return DeleteReferenceImageRequest; })(); - v1p4beta1.GetReferenceImageRequest = (function() { + v1p4beta1.AddProductToProductSetRequest = (function() { /** - * Properties of a GetReferenceImageRequest. + * Properties of an AddProductToProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IGetReferenceImageRequest - * @property {string|null} [name] GetReferenceImageRequest name + * @interface IAddProductToProductSetRequest + * @property {string|null} [name] AddProductToProductSetRequest name + * @property {string|null} [product] AddProductToProductSetRequest product */ /** - * Constructs a new GetReferenceImageRequest. + * Constructs a new AddProductToProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a GetReferenceImageRequest. - * @implements IGetReferenceImageRequest + * @classdesc Represents an AddProductToProductSetRequest. + * @implements IAddProductToProductSetRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest=} [properties] Properties to set */ - function GetReferenceImageRequest(properties) { + function AddProductToProductSetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -90684,76 +92138,89 @@ } /** - * GetReferenceImageRequest name. + * AddProductToProductSetRequest name. * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @instance */ - GetReferenceImageRequest.prototype.name = ""; + AddProductToProductSetRequest.prototype.name = ""; /** - * Creates a new GetReferenceImageRequest instance using the specified properties. + * AddProductToProductSetRequest product. + * @member {string} product + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @instance + */ + AddProductToProductSetRequest.prototype.product = ""; + + /** + * Creates a new AddProductToProductSetRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest instance + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest instance */ - GetReferenceImageRequest.create = function create(properties) { - return new GetReferenceImageRequest(properties); + AddProductToProductSetRequest.create = function create(properties) { + return new AddProductToProductSetRequest(properties); }; /** - * Encodes the specified GetReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetReferenceImageRequest.verify|verify} messages. + * Encodes the specified AddProductToProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AddProductToProductSetRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetReferenceImageRequest.encode = function encode(message, writer) { + AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.product != null && message.hasOwnProperty("product")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; /** - * Encodes the specified GetReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GetReferenceImageRequest.verify|verify} messages. + * Encodes the specified AddProductToProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AddProductToProductSetRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGetReferenceImageRequest} message GetReferenceImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + AddProductToProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetReferenceImageRequest message from the specified reader or buffer. + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest + * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetReferenceImageRequest.decode = function decode(reader, length) { + AddProductToProductSetRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; + case 2: + message.product = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -90763,107 +92230,117 @@ }; /** - * Decodes a GetReferenceImageRequest message from the specified reader or buffer, length delimited. + * Decodes an AddProductToProductSetRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest + * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + AddProductToProductSetRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetReferenceImageRequest message. + * Verifies an AddProductToProductSetRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetReferenceImageRequest.verify = function verify(message) { + AddProductToProductSetRequest.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.product != null && message.hasOwnProperty("product")) + if (!$util.isString(message.product)) + return "product: string expected"; return null; }; /** - * Creates a GetReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AddProductToProductSetRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} GetReferenceImageRequest + * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest */ - GetReferenceImageRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest) + AddProductToProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.GetReferenceImageRequest(); + var message = new $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest(); if (object.name != null) message.name = String(object.name); + if (object.product != null) + message.product = String(object.product); return message; }; /** - * Creates a plain object from a GetReferenceImageRequest message. Also converts values to other types if specified. + * Creates a plain object from an AddProductToProductSetRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.GetReferenceImageRequest} message GetReferenceImageRequest + * @param {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} message AddProductToProductSetRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetReferenceImageRequest.toObject = function toObject(message, options) { + AddProductToProductSetRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.name = ""; + object.product = ""; + } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; + if (message.product != null && message.hasOwnProperty("product")) + object.product = message.product; return object; }; /** - * Converts this GetReferenceImageRequest to JSON. + * Converts this AddProductToProductSetRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest * @instance * @returns {Object.} JSON object */ - GetReferenceImageRequest.prototype.toJSON = function toJSON() { + AddProductToProductSetRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetReferenceImageRequest; + return AddProductToProductSetRequest; })(); - v1p4beta1.DeleteReferenceImageRequest = (function() { + v1p4beta1.RemoveProductFromProductSetRequest = (function() { /** - * Properties of a DeleteReferenceImageRequest. + * Properties of a RemoveProductFromProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IDeleteReferenceImageRequest - * @property {string|null} [name] DeleteReferenceImageRequest name + * @interface IRemoveProductFromProductSetRequest + * @property {string|null} [name] RemoveProductFromProductSetRequest name + * @property {string|null} [product] RemoveProductFromProductSetRequest product */ /** - * Constructs a new DeleteReferenceImageRequest. + * Constructs a new RemoveProductFromProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a DeleteReferenceImageRequest. - * @implements IDeleteReferenceImageRequest + * @classdesc Represents a RemoveProductFromProductSetRequest. + * @implements IRemoveProductFromProductSetRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest=} [properties] Properties to set */ - function DeleteReferenceImageRequest(properties) { + function RemoveProductFromProductSetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -90871,76 +92348,89 @@ } /** - * DeleteReferenceImageRequest name. + * RemoveProductFromProductSetRequest name. * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @instance + */ + RemoveProductFromProductSetRequest.prototype.name = ""; + + /** + * RemoveProductFromProductSetRequest product. + * @member {string} product + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @instance */ - DeleteReferenceImageRequest.prototype.name = ""; + RemoveProductFromProductSetRequest.prototype.product = ""; /** - * Creates a new DeleteReferenceImageRequest instance using the specified properties. + * Creates a new RemoveProductFromProductSetRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest instance + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest instance */ - DeleteReferenceImageRequest.create = function create(properties) { - return new DeleteReferenceImageRequest(properties); + RemoveProductFromProductSetRequest.create = function create(properties) { + return new RemoveProductFromProductSetRequest(properties); }; /** - * Encodes the specified DeleteReferenceImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest.verify|verify} messages. + * Encodes the specified RemoveProductFromProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DeleteReferenceImageRequest.encode = function encode(message, writer) { + RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.product != null && message.hasOwnProperty("product")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; /** - * Encodes the specified DeleteReferenceImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest.verify|verify} messages. + * Encodes the specified RemoveProductFromProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest} message DeleteReferenceImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DeleteReferenceImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + RemoveProductFromProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer. + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteReferenceImageRequest.decode = function decode(reader, length) { + RemoveProductFromProductSetRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; + case 2: + message.product = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -90950,108 +92440,118 @@ }; /** - * Decodes a DeleteReferenceImageRequest message from the specified reader or buffer, length delimited. + * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteReferenceImageRequest.decodeDelimited = function decodeDelimited(reader) { + RemoveProductFromProductSetRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DeleteReferenceImageRequest message. + * Verifies a RemoveProductFromProductSetRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteReferenceImageRequest.verify = function verify(message) { + RemoveProductFromProductSetRequest.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.product != null && message.hasOwnProperty("product")) + if (!$util.isString(message.product)) + return "product: string expected"; return null; }; /** - * Creates a DeleteReferenceImageRequest message from a plain object. Also converts values to their respective internal types. + * Creates a RemoveProductFromProductSetRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} DeleteReferenceImageRequest + * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest */ - DeleteReferenceImageRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest) + RemoveProductFromProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest(); + var message = new $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest(); if (object.name != null) message.name = String(object.name); + if (object.product != null) + message.product = String(object.product); return message; }; /** - * Creates a plain object from a DeleteReferenceImageRequest message. Also converts values to other types if specified. + * Creates a plain object from a RemoveProductFromProductSetRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest} message DeleteReferenceImageRequest + * @param {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DeleteReferenceImageRequest.toObject = function toObject(message, options) { + RemoveProductFromProductSetRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.name = ""; + object.product = ""; + } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; + if (message.product != null && message.hasOwnProperty("product")) + object.product = message.product; return object; }; /** - * Converts this DeleteReferenceImageRequest to JSON. + * Converts this RemoveProductFromProductSetRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest * @instance * @returns {Object.} JSON object */ - DeleteReferenceImageRequest.prototype.toJSON = function toJSON() { + RemoveProductFromProductSetRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DeleteReferenceImageRequest; + return RemoveProductFromProductSetRequest; })(); - v1p4beta1.AddProductToProductSetRequest = (function() { + v1p4beta1.ListProductsInProductSetRequest = (function() { /** - * Properties of an AddProductToProductSetRequest. + * Properties of a ListProductsInProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAddProductToProductSetRequest - * @property {string|null} [name] AddProductToProductSetRequest name - * @property {string|null} [product] AddProductToProductSetRequest product + * @interface IListProductsInProductSetRequest + * @property {string|null} [name] ListProductsInProductSetRequest name + * @property {number|null} [pageSize] ListProductsInProductSetRequest pageSize + * @property {string|null} [pageToken] ListProductsInProductSetRequest pageToken */ /** - * Constructs a new AddProductToProductSetRequest. + * Constructs a new ListProductsInProductSetRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AddProductToProductSetRequest. - * @implements IAddProductToProductSetRequest + * @classdesc Represents a ListProductsInProductSetRequest. + * @implements IListProductsInProductSetRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest=} [properties] Properties to set */ - function AddProductToProductSetRequest(properties) { + function ListProductsInProductSetRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -91059,80 +92559,90 @@ } /** - * AddProductToProductSetRequest name. + * ListProductsInProductSetRequest name. * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @instance */ - AddProductToProductSetRequest.prototype.name = ""; + ListProductsInProductSetRequest.prototype.name = ""; /** - * AddProductToProductSetRequest product. - * @member {string} product - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * ListProductsInProductSetRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @instance */ - AddProductToProductSetRequest.prototype.product = ""; + ListProductsInProductSetRequest.prototype.pageSize = 0; /** - * Creates a new AddProductToProductSetRequest instance using the specified properties. + * ListProductsInProductSetRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @instance + */ + ListProductsInProductSetRequest.prototype.pageToken = ""; + + /** + * Creates a new ListProductsInProductSetRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest instance + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest instance */ - AddProductToProductSetRequest.create = function create(properties) { - return new AddProductToProductSetRequest(properties); + ListProductsInProductSetRequest.create = function create(properties) { + return new ListProductsInProductSetRequest(properties); }; /** - * Encodes the specified AddProductToProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AddProductToProductSetRequest.verify|verify} messages. + * Encodes the specified ListProductsInProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AddProductToProductSetRequest.encode = function encode(message, writer) { + ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; /** - * Encodes the specified AddProductToProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AddProductToProductSetRequest.verify|verify} messages. + * Encodes the specified ListProductsInProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest} message AddProductToProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AddProductToProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + ListProductsInProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AddProductToProductSetRequest message from the specified reader or buffer. + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddProductToProductSetRequest.decode = function decode(reader, length) { + ListProductsInProductSetRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -91140,7 +92650,10 @@ message.name = reader.string(); break; case 2: - message.product = reader.string(); + message.pageSize = reader.int32(); + break; + case 3: + message.pageToken = reader.string(); break; default: reader.skipType(tag & 7); @@ -91151,117 +92664,126 @@ }; /** - * Decodes an AddProductToProductSetRequest message from the specified reader or buffer, length delimited. + * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddProductToProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + ListProductsInProductSetRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AddProductToProductSetRequest message. + * Verifies a ListProductsInProductSetRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AddProductToProductSetRequest.verify = function verify(message) { + ListProductsInProductSetRequest.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.product != null && message.hasOwnProperty("product")) - if (!$util.isString(message.product)) - return "product: 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 an AddProductToProductSetRequest message from a plain object. Also converts values to their respective internal types. + * Creates a ListProductsInProductSetRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} AddProductToProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest */ - AddProductToProductSetRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest) + ListProductsInProductSetRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest(); + var message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest(); if (object.name != null) message.name = String(object.name); - if (object.product != null) - message.product = String(object.product); + 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 an AddProductToProductSetRequest message. Also converts values to other types if specified. + * Creates a plain object from a ListProductsInProductSetRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @static - * @param {google.cloud.vision.v1p4beta1.AddProductToProductSetRequest} message AddProductToProductSetRequest + * @param {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} message ListProductsInProductSetRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AddProductToProductSetRequest.toObject = function toObject(message, options) { + ListProductsInProductSetRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.name = ""; - object.product = ""; + object.pageSize = 0; + object.pageToken = ""; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; - if (message.product != null && message.hasOwnProperty("product")) - object.product = message.product; + 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 AddProductToProductSetRequest to JSON. + * Converts this ListProductsInProductSetRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest * @instance * @returns {Object.} JSON object */ - AddProductToProductSetRequest.prototype.toJSON = function toJSON() { + ListProductsInProductSetRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AddProductToProductSetRequest; + return ListProductsInProductSetRequest; })(); - v1p4beta1.RemoveProductFromProductSetRequest = (function() { + v1p4beta1.ListProductsInProductSetResponse = (function() { /** - * Properties of a RemoveProductFromProductSetRequest. + * Properties of a ListProductsInProductSetResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IRemoveProductFromProductSetRequest - * @property {string|null} [name] RemoveProductFromProductSetRequest name - * @property {string|null} [product] RemoveProductFromProductSetRequest product + * @interface IListProductsInProductSetResponse + * @property {Array.|null} [products] ListProductsInProductSetResponse products + * @property {string|null} [nextPageToken] ListProductsInProductSetResponse nextPageToken */ /** - * Constructs a new RemoveProductFromProductSetRequest. + * Constructs a new ListProductsInProductSetResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a RemoveProductFromProductSetRequest. - * @implements IRemoveProductFromProductSetRequest + * @classdesc Represents a ListProductsInProductSetResponse. + * @implements IListProductsInProductSetResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse=} [properties] Properties to set */ - function RemoveProductFromProductSetRequest(properties) { + function ListProductsInProductSetResponse(properties) { + this.products = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -91269,88 +92791,91 @@ } /** - * RemoveProductFromProductSetRequest name. - * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * ListProductsInProductSetResponse products. + * @member {Array.} products + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @instance */ - RemoveProductFromProductSetRequest.prototype.name = ""; + ListProductsInProductSetResponse.prototype.products = $util.emptyArray; /** - * RemoveProductFromProductSetRequest product. - * @member {string} product - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * ListProductsInProductSetResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @instance */ - RemoveProductFromProductSetRequest.prototype.product = ""; + ListProductsInProductSetResponse.prototype.nextPageToken = ""; /** - * Creates a new RemoveProductFromProductSetRequest instance using the specified properties. + * Creates a new ListProductsInProductSetResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @static - * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest instance + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse instance */ - RemoveProductFromProductSetRequest.create = function create(properties) { - return new RemoveProductFromProductSetRequest(properties); + ListProductsInProductSetResponse.create = function create(properties) { + return new ListProductsInProductSetResponse(properties); }; /** - * Encodes the specified RemoveProductFromProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * Encodes the specified ListProductsInProductSetResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @static - * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - RemoveProductFromProductSetRequest.encode = function encode(message, writer) { + ListProductsInProductSetResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); + if (message.products != null && message.products.length) + for (var i = 0; i < message.products.length; ++i) + $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; /** - * Encodes the specified RemoveProductFromProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest.verify|verify} messages. + * Encodes the specified ListProductsInProductSetResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @static - * @param {google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - RemoveProductFromProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + ListProductsInProductSetResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer. + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemoveProductFromProductSetRequest.decode = function decode(reader, length) { + ListProductsInProductSetResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); break; case 2: - message.product = reader.string(); + message.nextPageToken = reader.string(); break; default: reader.skipType(tag & 7); @@ -91361,118 +92886,133 @@ }; /** - * Decodes a RemoveProductFromProductSetRequest message from the specified reader or buffer, length delimited. + * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RemoveProductFromProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + ListProductsInProductSetResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a RemoveProductFromProductSetRequest message. + * Verifies a ListProductsInProductSetResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RemoveProductFromProductSetRequest.verify = function verify(message) { + ListProductsInProductSetResponse.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.product != null && message.hasOwnProperty("product")) - if (!$util.isString(message.product)) - return "product: string expected"; + if (message.products != null && message.hasOwnProperty("products")) { + if (!Array.isArray(message.products)) + return "products: array expected"; + for (var i = 0; i < message.products.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.products[i]); + if (error) + return "products." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; return null; }; /** - * Creates a RemoveProductFromProductSetRequest message from a plain object. Also converts values to their respective internal types. + * Creates a ListProductsInProductSetResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} RemoveProductFromProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse */ - RemoveProductFromProductSetRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest) + ListProductsInProductSetResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest(); - if (object.name != null) - message.name = String(object.name); - if (object.product != null) - message.product = String(object.product); + var message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse(); + if (object.products) { + if (!Array.isArray(object.products)) + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.products: array expected"); + message.products = []; + for (var i = 0; i < object.products.length; ++i) { + if (typeof object.products[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.products: object expected"); + message.products[i] = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.products[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); return message; }; /** - * Creates a plain object from a RemoveProductFromProductSetRequest message. Also converts values to other types if specified. + * Creates a plain object from a ListProductsInProductSetResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @static - * @param {google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest} message RemoveProductFromProductSetRequest + * @param {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} message ListProductsInProductSetResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - RemoveProductFromProductSetRequest.toObject = function toObject(message, options) { + ListProductsInProductSetResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.name = ""; - object.product = ""; + if (options.arrays || options.defaults) + object.products = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.products && message.products.length) { + object.products = []; + for (var j = 0; j < message.products.length; ++j) + object.products[j] = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.products[j], options); } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.product != null && message.hasOwnProperty("product")) - object.product = message.product; + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; return object; }; /** - * Converts this RemoveProductFromProductSetRequest to JSON. + * Converts this ListProductsInProductSetResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse * @instance * @returns {Object.} JSON object */ - RemoveProductFromProductSetRequest.prototype.toJSON = function toJSON() { + ListProductsInProductSetResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return RemoveProductFromProductSetRequest; + return ListProductsInProductSetResponse; })(); - v1p4beta1.ListProductsInProductSetRequest = (function() { + v1p4beta1.ImportProductSetsGcsSource = (function() { /** - * Properties of a ListProductsInProductSetRequest. + * Properties of an ImportProductSetsGcsSource. * @memberof google.cloud.vision.v1p4beta1 - * @interface IListProductsInProductSetRequest - * @property {string|null} [name] ListProductsInProductSetRequest name - * @property {number|null} [pageSize] ListProductsInProductSetRequest pageSize - * @property {string|null} [pageToken] ListProductsInProductSetRequest pageToken + * @interface IImportProductSetsGcsSource + * @property {string|null} [csvFileUri] ImportProductSetsGcsSource csvFileUri */ /** - * Constructs a new ListProductsInProductSetRequest. + * Constructs a new ImportProductSetsGcsSource. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ListProductsInProductSetRequest. - * @implements IListProductsInProductSetRequest + * @classdesc Represents an ImportProductSetsGcsSource. + * @implements IImportProductSetsGcsSource * @constructor - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource=} [properties] Properties to set */ - function ListProductsInProductSetRequest(properties) { + function ImportProductSetsGcsSource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -91480,101 +93020,75 @@ } /** - * ListProductsInProductSetRequest name. - * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest - * @instance - */ - ListProductsInProductSetRequest.prototype.name = ""; - - /** - * ListProductsInProductSetRequest pageSize. - * @member {number} pageSize - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest - * @instance - */ - ListProductsInProductSetRequest.prototype.pageSize = 0; - - /** - * ListProductsInProductSetRequest pageToken. - * @member {string} pageToken - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * ImportProductSetsGcsSource csvFileUri. + * @member {string} csvFileUri + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @instance */ - ListProductsInProductSetRequest.prototype.pageToken = ""; + ImportProductSetsGcsSource.prototype.csvFileUri = ""; /** - * Creates a new ListProductsInProductSetRequest instance using the specified properties. + * Creates a new ImportProductSetsGcsSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest instance + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource instance */ - ListProductsInProductSetRequest.create = function create(properties) { - return new ListProductsInProductSetRequest(properties); + ImportProductSetsGcsSource.create = function create(properties) { + return new ImportProductSetsGcsSource(properties); }; /** - * Encodes the specified ListProductsInProductSetRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest.verify|verify} messages. + * Encodes the specified ImportProductSetsGcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductsInProductSetRequest.encode = function encode(message, writer) { + ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) - writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + writer = $Writer.create(); + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; /** - * Encodes the specified ListProductsInProductSetRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest.verify|verify} messages. + * Encodes the specified ImportProductSetsGcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest} message ListProductsInProductSetRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductsInProductSetRequest.encodeDelimited = function encodeDelimited(message, writer) { + ImportProductSetsGcsSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer. + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductsInProductSetRequest.decode = function decode(reader, length) { + ImportProductSetsGcsSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.pageToken = reader.string(); + message.csvFileUri = reader.string(); break; default: reader.skipType(tag & 7); @@ -91585,126 +93099,107 @@ }; /** - * Decodes a ListProductsInProductSetRequest message from the specified reader or buffer, length delimited. + * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductsInProductSetRequest.decodeDelimited = function decodeDelimited(reader) { + ImportProductSetsGcsSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ListProductsInProductSetRequest message. + * Verifies an ImportProductSetsGcsSource message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProductsInProductSetRequest.verify = function verify(message) { + ImportProductSetsGcsSource.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.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"; + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (!$util.isString(message.csvFileUri)) + return "csvFileUri: string expected"; return null; }; /** - * Creates a ListProductsInProductSetRequest message from a plain object. Also converts values to their respective internal types. + * Creates an ImportProductSetsGcsSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} ListProductsInProductSetRequest + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource */ - ListProductsInProductSetRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest) + ImportProductSetsGcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest(); - if (object.name != null) - message.name = String(object.name); - if (object.pageSize != null) - message.pageSize = object.pageSize | 0; - if (object.pageToken != null) - message.pageToken = String(object.pageToken); + var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource(); + if (object.csvFileUri != null) + message.csvFileUri = String(object.csvFileUri); return message; }; /** - * Creates a plain object from a ListProductsInProductSetRequest message. Also converts values to other types if specified. + * Creates a plain object from an ImportProductSetsGcsSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @static - * @param {google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} message ListProductsInProductSetRequest + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} message ImportProductSetsGcsSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ListProductsInProductSetRequest.toObject = function toObject(message, options) { + ImportProductSetsGcsSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.name = ""; - object.pageSize = 0; - object.pageToken = ""; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.pageSize != null && message.hasOwnProperty("pageSize")) - object.pageSize = message.pageSize; - if (message.pageToken != null && message.hasOwnProperty("pageToken")) - object.pageToken = message.pageToken; + if (options.defaults) + object.csvFileUri = ""; + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + object.csvFileUri = message.csvFileUri; return object; }; /** - * Converts this ListProductsInProductSetRequest to JSON. + * Converts this ImportProductSetsGcsSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource * @instance * @returns {Object.} JSON object */ - ListProductsInProductSetRequest.prototype.toJSON = function toJSON() { + ImportProductSetsGcsSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ListProductsInProductSetRequest; + return ImportProductSetsGcsSource; })(); - v1p4beta1.ListProductsInProductSetResponse = (function() { + v1p4beta1.ImportProductSetsInputConfig = (function() { /** - * Properties of a ListProductsInProductSetResponse. + * Properties of an ImportProductSetsInputConfig. * @memberof google.cloud.vision.v1p4beta1 - * @interface IListProductsInProductSetResponse - * @property {Array.|null} [products] ListProductsInProductSetResponse products - * @property {string|null} [nextPageToken] ListProductsInProductSetResponse nextPageToken + * @interface IImportProductSetsInputConfig + * @property {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource|null} [gcsSource] ImportProductSetsInputConfig gcsSource */ /** - * Constructs a new ListProductsInProductSetResponse. + * Constructs a new ImportProductSetsInputConfig. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ListProductsInProductSetResponse. - * @implements IListProductsInProductSetResponse + * @classdesc Represents an ImportProductSetsInputConfig. + * @implements IImportProductSetsInputConfig * @constructor - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig=} [properties] Properties to set */ - function ListProductsInProductSetResponse(properties) { - this.products = []; + function ImportProductSetsInputConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -91712,91 +93207,89 @@ } /** - * ListProductsInProductSetResponse products. - * @member {Array.} products - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * ImportProductSetsInputConfig gcsSource. + * @member {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @instance */ - ListProductsInProductSetResponse.prototype.products = $util.emptyArray; + ImportProductSetsInputConfig.prototype.gcsSource = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * ListProductsInProductSetResponse nextPageToken. - * @member {string} nextPageToken - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * ImportProductSetsInputConfig source. + * @member {"gcsSource"|undefined} source + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @instance */ - ListProductsInProductSetResponse.prototype.nextPageToken = ""; + Object.defineProperty(ImportProductSetsInputConfig.prototype, "source", { + get: $util.oneOfGetter($oneOfFields = ["gcsSource"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new ListProductsInProductSetResponse instance using the specified properties. + * Creates a new ImportProductSetsInputConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse instance + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig instance */ - ListProductsInProductSetResponse.create = function create(properties) { - return new ListProductsInProductSetResponse(properties); + ImportProductSetsInputConfig.create = function create(properties) { + return new ImportProductSetsInputConfig(properties); }; /** - * Encodes the specified ListProductsInProductSetResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.verify|verify} messages. + * Encodes the specified ImportProductSetsInputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductsInProductSetResponse.encode = function encode(message, writer) { + ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.products != null && message.products.length) - for (var i = 0; i < message.products.length; ++i) - $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ListProductsInProductSetResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.verify|verify} messages. + * Encodes the specified ImportProductSetsInputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @static - * @param {google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse} message ListProductsInProductSetResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListProductsInProductSetResponse.encodeDelimited = function encodeDelimited(message, writer) { + ImportProductSetsInputConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer. + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductsInProductSetResponse.decode = function decode(reader, length) { + ImportProductSetsInputConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); + message.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -91807,133 +93300,118 @@ }; /** - * Decodes a ListProductsInProductSetResponse message from the specified reader or buffer, length delimited. + * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListProductsInProductSetResponse.decodeDelimited = function decodeDelimited(reader) { + ImportProductSetsInputConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ListProductsInProductSetResponse message. + * Verifies an ImportProductSetsInputConfig message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListProductsInProductSetResponse.verify = function verify(message) { + ImportProductSetsInputConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.products != null && message.hasOwnProperty("products")) { - if (!Array.isArray(message.products)) - return "products: array expected"; - for (var i = 0; i < message.products.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.Product.verify(message.products[i]); + var properties = {}; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + properties.source = 1; + { + var error = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify(message.gcsSource); if (error) - return "products." + error; + return "gcsSource." + error; } } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - if (!$util.isString(message.nextPageToken)) - return "nextPageToken: string expected"; return null; }; /** - * Creates a ListProductsInProductSetResponse message from a plain object. Also converts values to their respective internal types. + * Creates an ImportProductSetsInputConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} ListProductsInProductSetResponse + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig */ - ListProductsInProductSetResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse) + ImportProductSetsInputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse(); - if (object.products) { - if (!Array.isArray(object.products)) - throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.products: array expected"); - message.products = []; - for (var i = 0; i < object.products.length; ++i) { - if (typeof object.products[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse.products: object expected"); - message.products[i] = $root.google.cloud.vision.v1p4beta1.Product.fromObject(object.products[i]); - } + var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.fromObject(object.gcsSource); } - if (object.nextPageToken != null) - message.nextPageToken = String(object.nextPageToken); return message; }; /** - * Creates a plain object from a ListProductsInProductSetResponse message. Also converts values to other types if specified. + * Creates a plain object from an ImportProductSetsInputConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @static - * @param {google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse} message ListProductsInProductSetResponse + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} message ImportProductSetsInputConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ListProductsInProductSetResponse.toObject = function toObject(message, options) { + ImportProductSetsInputConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.products = []; - if (options.defaults) - object.nextPageToken = ""; - if (message.products && message.products.length) { - object.products = []; - for (var j = 0; j < message.products.length; ++j) - object.products[j] = $root.google.cloud.vision.v1p4beta1.Product.toObject(message.products[j], options); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + object.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.toObject(message.gcsSource, options); + if (options.oneofs) + object.source = "gcsSource"; } - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) - object.nextPageToken = message.nextPageToken; return object; }; /** - * Converts this ListProductsInProductSetResponse to JSON. + * Converts this ImportProductSetsInputConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig * @instance * @returns {Object.} JSON object */ - ListProductsInProductSetResponse.prototype.toJSON = function toJSON() { + ImportProductSetsInputConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ListProductsInProductSetResponse; + return ImportProductSetsInputConfig; })(); - v1p4beta1.ImportProductSetsGcsSource = (function() { + v1p4beta1.ImportProductSetsRequest = (function() { /** - * Properties of an ImportProductSetsGcsSource. + * Properties of an ImportProductSetsRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IImportProductSetsGcsSource - * @property {string|null} [csvFileUri] ImportProductSetsGcsSource csvFileUri + * @interface IImportProductSetsRequest + * @property {string|null} [parent] ImportProductSetsRequest parent + * @property {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig|null} [inputConfig] ImportProductSetsRequest inputConfig */ /** - * Constructs a new ImportProductSetsGcsSource. + * Constructs a new ImportProductSetsRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an ImportProductSetsGcsSource. - * @implements IImportProductSetsGcsSource + * @classdesc Represents an ImportProductSetsRequest. + * @implements IImportProductSetsRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest=} [properties] Properties to set */ - function ImportProductSetsGcsSource(properties) { + function ImportProductSetsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -91941,75 +93419,88 @@ } /** - * ImportProductSetsGcsSource csvFileUri. - * @member {string} csvFileUri - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * ImportProductSetsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @instance */ - ImportProductSetsGcsSource.prototype.csvFileUri = ""; + ImportProductSetsRequest.prototype.parent = ""; /** - * Creates a new ImportProductSetsGcsSource instance using the specified properties. + * ImportProductSetsRequest inputConfig. + * @member {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @instance + */ + ImportProductSetsRequest.prototype.inputConfig = null; + + /** + * Creates a new ImportProductSetsRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource instance + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest instance */ - ImportProductSetsGcsSource.create = function create(properties) { - return new ImportProductSetsGcsSource(properties); + ImportProductSetsRequest.create = function create(properties) { + return new ImportProductSetsRequest(properties); }; /** - * Encodes the specified ImportProductSetsGcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify|verify} messages. + * Encodes the specified ImportProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImportProductSetsGcsSource.encode = function encode(message, writer) { + ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImportProductSetsGcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify|verify} messages. + * Encodes the specified ImportProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource} message ImportProductSetsGcsSource message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImportProductSetsGcsSource.encodeDelimited = function encodeDelimited(message, writer) { + ImportProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer. + * Decodes an ImportProductSetsRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImportProductSetsGcsSource.decode = function decode(reader, length) { + ImportProductSetsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.csvFileUri = reader.string(); + message.parent = reader.string(); + break; + case 2: + message.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -92020,107 +93511,124 @@ }; /** - * Decodes an ImportProductSetsGcsSource message from the specified reader or buffer, length delimited. + * Decodes an ImportProductSetsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImportProductSetsGcsSource.decodeDelimited = function decodeDelimited(reader) { + ImportProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImportProductSetsGcsSource message. + * Verifies an ImportProductSetsRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImportProductSetsGcsSource.verify = function verify(message) { + ImportProductSetsRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) - if (!$util.isString(message.csvFileUri)) - return "csvFileUri: string expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } return null; }; /** - * Creates an ImportProductSetsGcsSource message from a plain object. Also converts values to their respective internal types. + * Creates an ImportProductSetsRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} ImportProductSetsGcsSource + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest */ - ImportProductSetsGcsSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource) + ImportProductSetsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource(); - if (object.csvFileUri != null) - message.csvFileUri = String(object.csvFileUri); + var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.fromObject(object.inputConfig); + } return message; }; /** - * Creates a plain object from an ImportProductSetsGcsSource message. Also converts values to other types if specified. + * Creates a plain object from an ImportProductSetsRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @static - * @param {google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} message ImportProductSetsGcsSource + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} message ImportProductSetsRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImportProductSetsGcsSource.toObject = function toObject(message, options) { + ImportProductSetsRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.csvFileUri = ""; - if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) - object.csvFileUri = message.csvFileUri; + if (options.defaults) { + object.parent = ""; + object.inputConfig = null; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.toObject(message.inputConfig, options); return object; }; /** - * Converts this ImportProductSetsGcsSource to JSON. + * Converts this ImportProductSetsRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest * @instance * @returns {Object.} JSON object */ - ImportProductSetsGcsSource.prototype.toJSON = function toJSON() { + ImportProductSetsRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImportProductSetsGcsSource; + return ImportProductSetsRequest; })(); - v1p4beta1.ImportProductSetsInputConfig = (function() { + v1p4beta1.ImportProductSetsResponse = (function() { /** - * Properties of an ImportProductSetsInputConfig. + * Properties of an ImportProductSetsResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IImportProductSetsInputConfig - * @property {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource|null} [gcsSource] ImportProductSetsInputConfig gcsSource + * @interface IImportProductSetsResponse + * @property {Array.|null} [referenceImages] ImportProductSetsResponse referenceImages + * @property {Array.|null} [statuses] ImportProductSetsResponse statuses */ /** - * Constructs a new ImportProductSetsInputConfig. + * Constructs a new ImportProductSetsResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an ImportProductSetsInputConfig. - * @implements IImportProductSetsInputConfig + * @classdesc Represents an ImportProductSetsResponse. + * @implements IImportProductSetsResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse=} [properties] Properties to set */ - function ImportProductSetsInputConfig(properties) { + function ImportProductSetsResponse(properties) { + this.referenceImages = []; + this.statuses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -92128,89 +93636,94 @@ } /** - * ImportProductSetsInputConfig gcsSource. - * @member {google.cloud.vision.v1p4beta1.IImportProductSetsGcsSource|null|undefined} gcsSource - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * ImportProductSetsResponse referenceImages. + * @member {Array.} referenceImages + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @instance */ - ImportProductSetsInputConfig.prototype.gcsSource = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + ImportProductSetsResponse.prototype.referenceImages = $util.emptyArray; /** - * ImportProductSetsInputConfig source. - * @member {"gcsSource"|undefined} source - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * ImportProductSetsResponse statuses. + * @member {Array.} statuses + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @instance */ - Object.defineProperty(ImportProductSetsInputConfig.prototype, "source", { - get: $util.oneOfGetter($oneOfFields = ["gcsSource"]), - set: $util.oneOfSetter($oneOfFields) - }); + ImportProductSetsResponse.prototype.statuses = $util.emptyArray; /** - * Creates a new ImportProductSetsInputConfig instance using the specified properties. + * Creates a new ImportProductSetsResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig instance + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse instance */ - ImportProductSetsInputConfig.create = function create(properties) { - return new ImportProductSetsInputConfig(properties); + ImportProductSetsResponse.create = function create(properties) { + return new ImportProductSetsResponse(properties); }; /** - * Encodes the specified ImportProductSetsInputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify|verify} messages. + * Encodes the specified ImportProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImportProductSetsInputConfig.encode = function encode(message, writer) { + ImportProductSetsResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) - $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.referenceImages != null && message.referenceImages.length) + for (var i = 0; i < message.referenceImages.length; ++i) + $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.statuses != null && message.statuses.length) + for (var i = 0; i < message.statuses.length; ++i) + $root.google.rpc.Status.encode(message.statuses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImportProductSetsInputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify|verify} messages. + * Encodes the specified ImportProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig} message ImportProductSetsInputConfig message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImportProductSetsInputConfig.encodeDelimited = function encodeDelimited(message, writer) { + ImportProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer. + * Decodes an ImportProductSetsResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImportProductSetsInputConfig.decode = function decode(reader, length) { + ImportProductSetsResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.statuses && message.statuses.length)) + message.statuses = []; + message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -92221,118 +93734,152 @@ }; /** - * Decodes an ImportProductSetsInputConfig message from the specified reader or buffer, length delimited. + * Decodes an ImportProductSetsResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImportProductSetsInputConfig.decodeDelimited = function decodeDelimited(reader) { + ImportProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImportProductSetsInputConfig message. + * Verifies an ImportProductSetsResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImportProductSetsInputConfig.verify = function verify(message) { + ImportProductSetsResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { - properties.source = 1; - { - var error = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.verify(message.gcsSource); + if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { + if (!Array.isArray(message.referenceImages)) + return "referenceImages: array expected"; + for (var i = 0; i < message.referenceImages.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ReferenceImage.verify(message.referenceImages[i]); if (error) - return "gcsSource." + error; + return "referenceImages." + error; + } + } + if (message.statuses != null && message.hasOwnProperty("statuses")) { + if (!Array.isArray(message.statuses)) + return "statuses: array expected"; + for (var i = 0; i < message.statuses.length; ++i) { + var error = $root.google.rpc.Status.verify(message.statuses[i]); + if (error) + return "statuses." + error; } } return null; }; /** - * Creates an ImportProductSetsInputConfig message from a plain object. Also converts values to their respective internal types. + * Creates an ImportProductSetsResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} ImportProductSetsInputConfig + * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse */ - ImportProductSetsInputConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig) + ImportProductSetsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig(); - if (object.gcsSource != null) { - if (typeof object.gcsSource !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.gcsSource: object expected"); - message.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.fromObject(object.gcsSource); + var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsResponse(); + if (object.referenceImages) { + if (!Array.isArray(object.referenceImages)) + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.referenceImages: array expected"); + message.referenceImages = []; + for (var i = 0; i < object.referenceImages.length; ++i) { + if (typeof object.referenceImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.referenceImages: object expected"); + message.referenceImages[i] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.fromObject(object.referenceImages[i]); + } + } + if (object.statuses) { + if (!Array.isArray(object.statuses)) + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.statuses: array expected"); + message.statuses = []; + for (var i = 0; i < object.statuses.length; ++i) { + if (typeof object.statuses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.statuses: object expected"); + message.statuses[i] = $root.google.rpc.Status.fromObject(object.statuses[i]); + } } return message; }; /** - * Creates a plain object from an ImportProductSetsInputConfig message. Also converts values to other types if specified. + * Creates a plain object from an ImportProductSetsResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @static - * @param {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} message ImportProductSetsInputConfig + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} message ImportProductSetsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImportProductSetsInputConfig.toObject = function toObject(message, options) { + ImportProductSetsResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { - object.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.toObject(message.gcsSource, options); - if (options.oneofs) - object.source = "gcsSource"; + if (options.arrays || options.defaults) { + object.referenceImages = []; + object.statuses = []; + } + if (message.referenceImages && message.referenceImages.length) { + object.referenceImages = []; + for (var j = 0; j < message.referenceImages.length; ++j) + object.referenceImages[j] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.toObject(message.referenceImages[j], options); + } + if (message.statuses && message.statuses.length) { + object.statuses = []; + for (var j = 0; j < message.statuses.length; ++j) + object.statuses[j] = $root.google.rpc.Status.toObject(message.statuses[j], options); } return object; }; /** - * Converts this ImportProductSetsInputConfig to JSON. + * Converts this ImportProductSetsResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse * @instance * @returns {Object.} JSON object */ - ImportProductSetsInputConfig.prototype.toJSON = function toJSON() { + ImportProductSetsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImportProductSetsInputConfig; + return ImportProductSetsResponse; })(); - v1p4beta1.ImportProductSetsRequest = (function() { + v1p4beta1.BatchOperationMetadata = (function() { /** - * Properties of an ImportProductSetsRequest. + * Properties of a BatchOperationMetadata. * @memberof google.cloud.vision.v1p4beta1 - * @interface IImportProductSetsRequest - * @property {string|null} [parent] ImportProductSetsRequest parent - * @property {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig|null} [inputConfig] ImportProductSetsRequest inputConfig + * @interface IBatchOperationMetadata + * @property {google.cloud.vision.v1p4beta1.BatchOperationMetadata.State|null} [state] BatchOperationMetadata state + * @property {google.protobuf.ITimestamp|null} [submitTime] BatchOperationMetadata submitTime + * @property {google.protobuf.ITimestamp|null} [endTime] BatchOperationMetadata endTime */ /** - * Constructs a new ImportProductSetsRequest. + * Constructs a new BatchOperationMetadata. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an ImportProductSetsRequest. - * @implements IImportProductSetsRequest + * @classdesc Represents a BatchOperationMetadata. + * @implements IBatchOperationMetadata * @constructor - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata=} [properties] Properties to set */ - function ImportProductSetsRequest(properties) { + function BatchOperationMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -92340,88 +93887,101 @@ } /** - * ImportProductSetsRequest parent. - * @member {string} parent - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * BatchOperationMetadata state. + * @member {google.cloud.vision.v1p4beta1.BatchOperationMetadata.State} state + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @instance */ - ImportProductSetsRequest.prototype.parent = ""; + BatchOperationMetadata.prototype.state = 0; /** - * ImportProductSetsRequest inputConfig. - * @member {google.cloud.vision.v1p4beta1.IImportProductSetsInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * BatchOperationMetadata submitTime. + * @member {google.protobuf.ITimestamp|null|undefined} submitTime + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @instance */ - ImportProductSetsRequest.prototype.inputConfig = null; + BatchOperationMetadata.prototype.submitTime = null; /** - * Creates a new ImportProductSetsRequest instance using the specified properties. + * BatchOperationMetadata endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @instance + */ + BatchOperationMetadata.prototype.endTime = null; + + /** + * Creates a new BatchOperationMetadata instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest instance + * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata instance */ - ImportProductSetsRequest.create = function create(properties) { - return new ImportProductSetsRequest(properties); + BatchOperationMetadata.create = function create(properties) { + return new BatchOperationMetadata(properties); }; /** - * Encodes the specified ImportProductSetsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsRequest.verify|verify} messages. + * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImportProductSetsRequest.encode = function encode(message, writer) { + BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.submitTime != null && message.hasOwnProperty("submitTime")) + $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.endTime != null && message.hasOwnProperty("endTime")) + $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImportProductSetsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsRequest.verify|verify} messages. + * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsRequest} message ImportProductSetsRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImportProductSetsRequest.encodeDelimited = function encodeDelimited(message, writer) { + BatchOperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImportProductSetsRequest message from the specified reader or buffer. + * Decodes a BatchOperationMetadata message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest + * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImportProductSetsRequest.decode = function decode(reader, length) { + BatchOperationMetadata.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.parent = reader.string(); + message.state = reader.int32(); break; case 2: - message.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); + message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 3: + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -92432,124 +93992,182 @@ }; /** - * Decodes an ImportProductSetsRequest message from the specified reader or buffer, length delimited. + * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest + * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImportProductSetsRequest.decodeDelimited = function decodeDelimited(reader) { + BatchOperationMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImportProductSetsRequest message. + * Verifies a BatchOperationMetadata message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImportProductSetsRequest.verify = function verify(message) { + BatchOperationMetadata.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.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.verify(message.inputConfig); + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.submitTime != null && message.hasOwnProperty("submitTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.submitTime); if (error) - return "inputConfig." + error; + return "submitTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.endTime); + if (error) + return "endTime." + error; } return null; }; /** - * Creates an ImportProductSetsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} ImportProductSetsRequest + * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata */ - ImportProductSetsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest) + BatchOperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsRequest(); - if (object.parent != null) - message.parent = String(object.parent); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsRequest.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.fromObject(object.inputConfig); + var message = new $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "PROCESSING": + case 1: + message.state = 1; + break; + case "SUCCESSFUL": + case 2: + message.state = 2; + break; + case "FAILED": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.submitTime != null) { + if (typeof object.submitTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchOperationMetadata.submitTime: object expected"); + message.submitTime = $root.google.protobuf.Timestamp.fromObject(object.submitTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchOperationMetadata.endTime: object expected"); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); } return message; }; /** - * Creates a plain object from an ImportProductSetsRequest message. Also converts values to other types if specified. + * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @static - * @param {google.cloud.vision.v1p4beta1.ImportProductSetsRequest} message ImportProductSetsRequest + * @param {google.cloud.vision.v1p4beta1.BatchOperationMetadata} message BatchOperationMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImportProductSetsRequest.toObject = function toObject(message, options) { + BatchOperationMetadata.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.parent = ""; - object.inputConfig = null; + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.submitTime = null; + object.endTime = null; } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.toObject(message.inputConfig, options); + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata.State[message.state] : message.state; + if (message.submitTime != null && message.hasOwnProperty("submitTime")) + object.submitTime = $root.google.protobuf.Timestamp.toObject(message.submitTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); return object; }; /** - * Converts this ImportProductSetsRequest to JSON. + * Converts this BatchOperationMetadata to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata * @instance * @returns {Object.} JSON object */ - ImportProductSetsRequest.prototype.toJSON = function toJSON() { + BatchOperationMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImportProductSetsRequest; + /** + * State enum. + * @name google.cloud.vision.v1p4beta1.BatchOperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} PROCESSING=1 PROCESSING value + * @property {number} SUCCESSFUL=2 SUCCESSFUL value + * @property {number} FAILED=3 FAILED value + * @property {number} CANCELLED=4 CANCELLED value + */ + BatchOperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "PROCESSING"] = 1; + values[valuesById[2] = "SUCCESSFUL"] = 2; + values[valuesById[3] = "FAILED"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return BatchOperationMetadata; })(); - v1p4beta1.ImportProductSetsResponse = (function() { + v1p4beta1.ProductSetPurgeConfig = (function() { /** - * Properties of an ImportProductSetsResponse. + * Properties of a ProductSetPurgeConfig. * @memberof google.cloud.vision.v1p4beta1 - * @interface IImportProductSetsResponse - * @property {Array.|null} [referenceImages] ImportProductSetsResponse referenceImages - * @property {Array.|null} [statuses] ImportProductSetsResponse statuses + * @interface IProductSetPurgeConfig + * @property {string|null} [productSetId] ProductSetPurgeConfig productSetId */ /** - * Constructs a new ImportProductSetsResponse. + * Constructs a new ProductSetPurgeConfig. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an ImportProductSetsResponse. - * @implements IImportProductSetsResponse + * @classdesc Represents a ProductSetPurgeConfig. + * @implements IProductSetPurgeConfig * @constructor - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IProductSetPurgeConfig=} [properties] Properties to set */ - function ImportProductSetsResponse(properties) { - this.referenceImages = []; - this.statuses = []; + function ProductSetPurgeConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -92557,94 +94175,75 @@ } /** - * ImportProductSetsResponse referenceImages. - * @member {Array.} referenceImages - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse - * @instance - */ - ImportProductSetsResponse.prototype.referenceImages = $util.emptyArray; - - /** - * ImportProductSetsResponse statuses. - * @member {Array.} statuses - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * ProductSetPurgeConfig productSetId. + * @member {string} productSetId + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig * @instance */ - ImportProductSetsResponse.prototype.statuses = $util.emptyArray; + ProductSetPurgeConfig.prototype.productSetId = ""; /** - * Creates a new ImportProductSetsResponse instance using the specified properties. + * Creates a new ProductSetPurgeConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse instance + * @param {google.cloud.vision.v1p4beta1.IProductSetPurgeConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} ProductSetPurgeConfig instance */ - ImportProductSetsResponse.create = function create(properties) { - return new ImportProductSetsResponse(properties); + ProductSetPurgeConfig.create = function create(properties) { + return new ProductSetPurgeConfig(properties); }; /** - * Encodes the specified ImportProductSetsResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsResponse.verify|verify} messages. + * Encodes the specified ProductSetPurgeConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IProductSetPurgeConfig} message ProductSetPurgeConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImportProductSetsResponse.encode = function encode(message, writer) { + ProductSetPurgeConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.referenceImages != null && message.referenceImages.length) - for (var i = 0; i < message.referenceImages.length; ++i) - $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.statuses != null && message.statuses.length) - for (var i = 0; i < message.statuses.length; ++i) - $root.google.rpc.Status.encode(message.statuses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.productSetId); return writer; }; /** - * Encodes the specified ImportProductSetsResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImportProductSetsResponse.verify|verify} messages. + * Encodes the specified ProductSetPurgeConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig * @static - * @param {google.cloud.vision.v1p4beta1.IImportProductSetsResponse} message ImportProductSetsResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IProductSetPurgeConfig} message ProductSetPurgeConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImportProductSetsResponse.encodeDelimited = function encodeDelimited(message, writer) { + ProductSetPurgeConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImportProductSetsResponse message from the specified reader or buffer. + * Decodes a ProductSetPurgeConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse + * @returns {google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} ProductSetPurgeConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImportProductSetsResponse.decode = function decode(reader, length) { + ProductSetPurgeConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.referenceImages && message.referenceImages.length)) - message.referenceImages = []; - message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.statuses && message.statuses.length)) - message.statuses = []; - message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); + message.productSetId = reader.string(); break; default: reader.skipType(tag & 7); @@ -92655,152 +94254,110 @@ }; /** - * Decodes an ImportProductSetsResponse message from the specified reader or buffer, length delimited. + * Decodes a ProductSetPurgeConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse + * @returns {google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} ProductSetPurgeConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImportProductSetsResponse.decodeDelimited = function decodeDelimited(reader) { + ProductSetPurgeConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImportProductSetsResponse message. + * Verifies a ProductSetPurgeConfig message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImportProductSetsResponse.verify = function verify(message) { + ProductSetPurgeConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.referenceImages != null && message.hasOwnProperty("referenceImages")) { - if (!Array.isArray(message.referenceImages)) - return "referenceImages: array expected"; - for (var i = 0; i < message.referenceImages.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.ReferenceImage.verify(message.referenceImages[i]); - if (error) - return "referenceImages." + error; - } - } - if (message.statuses != null && message.hasOwnProperty("statuses")) { - if (!Array.isArray(message.statuses)) - return "statuses: array expected"; - for (var i = 0; i < message.statuses.length; ++i) { - var error = $root.google.rpc.Status.verify(message.statuses[i]); - if (error) - return "statuses." + error; - } - } + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (!$util.isString(message.productSetId)) + return "productSetId: string expected"; return null; }; /** - * Creates an ImportProductSetsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} ImportProductSetsResponse - */ - ImportProductSetsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ImportProductSetsResponse) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.ImportProductSetsResponse(); - if (object.referenceImages) { - if (!Array.isArray(object.referenceImages)) - throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.referenceImages: array expected"); - message.referenceImages = []; - for (var i = 0; i < object.referenceImages.length; ++i) { - if (typeof object.referenceImages[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.referenceImages: object expected"); - message.referenceImages[i] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.fromObject(object.referenceImages[i]); - } - } - if (object.statuses) { - if (!Array.isArray(object.statuses)) - throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.statuses: array expected"); - message.statuses = []; - for (var i = 0; i < object.statuses.length; ++i) { - if (typeof object.statuses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImportProductSetsResponse.statuses: object expected"); - message.statuses[i] = $root.google.rpc.Status.fromObject(object.statuses[i]); - } - } + * Creates a ProductSetPurgeConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} ProductSetPurgeConfig + */ + ProductSetPurgeConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig(); + if (object.productSetId != null) + message.productSetId = String(object.productSetId); return message; }; /** - * Creates a plain object from an ImportProductSetsResponse message. Also converts values to other types if specified. + * Creates a plain object from a ProductSetPurgeConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig * @static - * @param {google.cloud.vision.v1p4beta1.ImportProductSetsResponse} message ImportProductSetsResponse + * @param {google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} message ProductSetPurgeConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImportProductSetsResponse.toObject = function toObject(message, options) { + ProductSetPurgeConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.referenceImages = []; - object.statuses = []; - } - if (message.referenceImages && message.referenceImages.length) { - object.referenceImages = []; - for (var j = 0; j < message.referenceImages.length; ++j) - object.referenceImages[j] = $root.google.cloud.vision.v1p4beta1.ReferenceImage.toObject(message.referenceImages[j], options); - } - if (message.statuses && message.statuses.length) { - object.statuses = []; - for (var j = 0; j < message.statuses.length; ++j) - object.statuses[j] = $root.google.rpc.Status.toObject(message.statuses[j], options); - } + if (options.defaults) + object.productSetId = ""; + if (message.productSetId != null && message.hasOwnProperty("productSetId")) + object.productSetId = message.productSetId; return object; }; /** - * Converts this ImportProductSetsResponse to JSON. + * Converts this ProductSetPurgeConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig * @instance * @returns {Object.} JSON object */ - ImportProductSetsResponse.prototype.toJSON = function toJSON() { + ProductSetPurgeConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImportProductSetsResponse; + return ProductSetPurgeConfig; })(); - v1p4beta1.BatchOperationMetadata = (function() { + v1p4beta1.PurgeProductsRequest = (function() { /** - * Properties of a BatchOperationMetadata. + * Properties of a PurgeProductsRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBatchOperationMetadata - * @property {google.cloud.vision.v1p4beta1.BatchOperationMetadata.State|null} [state] BatchOperationMetadata state - * @property {google.protobuf.ITimestamp|null} [submitTime] BatchOperationMetadata submitTime - * @property {google.protobuf.ITimestamp|null} [endTime] BatchOperationMetadata endTime + * @interface IPurgeProductsRequest + * @property {google.cloud.vision.v1p4beta1.IProductSetPurgeConfig|null} [productSetPurgeConfig] PurgeProductsRequest productSetPurgeConfig + * @property {boolean|null} [deleteOrphanProducts] PurgeProductsRequest deleteOrphanProducts + * @property {string|null} [parent] PurgeProductsRequest parent + * @property {boolean|null} [force] PurgeProductsRequest force */ /** - * Constructs a new BatchOperationMetadata. + * Constructs a new PurgeProductsRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BatchOperationMetadata. - * @implements IBatchOperationMetadata + * @classdesc Represents a PurgeProductsRequest. + * @implements IPurgeProductsRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IPurgeProductsRequest=} [properties] Properties to set */ - function BatchOperationMetadata(properties) { + function PurgeProductsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -92808,101 +94365,128 @@ } /** - * BatchOperationMetadata state. - * @member {google.cloud.vision.v1p4beta1.BatchOperationMetadata.State} state - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * PurgeProductsRequest productSetPurgeConfig. + * @member {google.cloud.vision.v1p4beta1.IProductSetPurgeConfig|null|undefined} productSetPurgeConfig + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @instance */ - BatchOperationMetadata.prototype.state = 0; + PurgeProductsRequest.prototype.productSetPurgeConfig = null; /** - * BatchOperationMetadata submitTime. - * @member {google.protobuf.ITimestamp|null|undefined} submitTime - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * PurgeProductsRequest deleteOrphanProducts. + * @member {boolean} deleteOrphanProducts + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @instance */ - BatchOperationMetadata.prototype.submitTime = null; + PurgeProductsRequest.prototype.deleteOrphanProducts = false; /** - * BatchOperationMetadata endTime. - * @member {google.protobuf.ITimestamp|null|undefined} endTime - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * PurgeProductsRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @instance */ - BatchOperationMetadata.prototype.endTime = null; + PurgeProductsRequest.prototype.parent = ""; /** - * Creates a new BatchOperationMetadata instance using the specified properties. + * PurgeProductsRequest force. + * @member {boolean} force + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest + * @instance + */ + PurgeProductsRequest.prototype.force = false; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * PurgeProductsRequest target. + * @member {"productSetPurgeConfig"|"deleteOrphanProducts"|undefined} target + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest + * @instance + */ + Object.defineProperty(PurgeProductsRequest.prototype, "target", { + get: $util.oneOfGetter($oneOfFields = ["productSetPurgeConfig", "deleteOrphanProducts"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new PurgeProductsRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata instance + * @param {google.cloud.vision.v1p4beta1.IPurgeProductsRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.PurgeProductsRequest} PurgeProductsRequest instance */ - BatchOperationMetadata.create = function create(properties) { - return new BatchOperationMetadata(properties); + PurgeProductsRequest.create = function create(properties) { + return new PurgeProductsRequest(properties); }; /** - * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. + * Encodes the specified PurgeProductsRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.PurgeProductsRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IPurgeProductsRequest} message PurgeProductsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchOperationMetadata.encode = function encode(message, writer) { + PurgeProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && message.hasOwnProperty("submitTime")) - $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) - $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) + $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.encode(message.productSetPurgeConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deleteOrphanProducts); + if (message.force != null && message.hasOwnProperty("force")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.force); return writer; }; /** - * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchOperationMetadata.verify|verify} messages. + * Encodes the specified PurgeProductsRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.PurgeProductsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @static - * @param {google.cloud.vision.v1p4beta1.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IPurgeProductsRequest} message PurgeProductsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchOperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + PurgeProductsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchOperationMetadata message from the specified reader or buffer. + * Decodes a PurgeProductsRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata + * @returns {google.cloud.vision.v1p4beta1.PurgeProductsRequest} PurgeProductsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchOperationMetadata.decode = function decode(reader, length) { + PurgeProductsRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.PurgeProductsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; case 2: - message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.productSetPurgeConfig = $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.decode(reader, reader.uint32()); break; case 3: - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.deleteOrphanProducts = reader.bool(); + break; + case 1: + message.parent = reader.string(); + break; + case 4: + message.force = reader.bool(); break; default: reader.skipType(tag & 7); @@ -92913,162 +94497,129 @@ }; /** - * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited. + * Decodes a PurgeProductsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata + * @returns {google.cloud.vision.v1p4beta1.PurgeProductsRequest} PurgeProductsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchOperationMetadata.decodeDelimited = function decodeDelimited(reader) { + PurgeProductsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchOperationMetadata message. + * Verifies a PurgeProductsRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchOperationMetadata.verify = function verify(message) { + PurgeProductsRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; + var properties = {}; + if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) { + properties.target = 1; + { + var error = $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.verify(message.productSetPurgeConfig); + if (error) + return "productSetPurgeConfig." + error; } - if (message.submitTime != null && message.hasOwnProperty("submitTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.submitTime); - if (error) - return "submitTime." + error; } - if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); - if (error) - return "endTime." + error; + if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) { + if (properties.target === 1) + return "target: multiple values"; + properties.target = 1; + if (typeof message.deleteOrphanProducts !== "boolean") + return "deleteOrphanProducts: boolean expected"; } + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; return null; }; /** - * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types. + * Creates a PurgeProductsRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.BatchOperationMetadata} BatchOperationMetadata + * @returns {google.cloud.vision.v1p4beta1.PurgeProductsRequest} PurgeProductsRequest */ - BatchOperationMetadata.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata) + PurgeProductsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.PurgeProductsRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata(); - switch (object.state) { - case "STATE_UNSPECIFIED": - case 0: - message.state = 0; - break; - case "PROCESSING": - case 1: - message.state = 1; - break; - case "SUCCESSFUL": - case 2: - message.state = 2; - break; - case "FAILED": - case 3: - message.state = 3; - break; - case "CANCELLED": - case 4: - message.state = 4; - break; - } - if (object.submitTime != null) { - if (typeof object.submitTime !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BatchOperationMetadata.submitTime: object expected"); - message.submitTime = $root.google.protobuf.Timestamp.fromObject(object.submitTime); - } - if (object.endTime != null) { - if (typeof object.endTime !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BatchOperationMetadata.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + var message = new $root.google.cloud.vision.v1p4beta1.PurgeProductsRequest(); + if (object.productSetPurgeConfig != null) { + if (typeof object.productSetPurgeConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.PurgeProductsRequest.productSetPurgeConfig: object expected"); + message.productSetPurgeConfig = $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.fromObject(object.productSetPurgeConfig); } + if (object.deleteOrphanProducts != null) + message.deleteOrphanProducts = Boolean(object.deleteOrphanProducts); + if (object.parent != null) + message.parent = String(object.parent); + if (object.force != null) + message.force = Boolean(object.force); return message; }; /** - * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified. + * Creates a plain object from a PurgeProductsRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @static - * @param {google.cloud.vision.v1p4beta1.BatchOperationMetadata} message BatchOperationMetadata + * @param {google.cloud.vision.v1p4beta1.PurgeProductsRequest} message PurgeProductsRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchOperationMetadata.toObject = function toObject(message, options) { + PurgeProductsRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; - object.submitTime = null; - object.endTime = null; + object.parent = ""; + object.force = false; } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata.State[message.state] : message.state; - if (message.submitTime != null && message.hasOwnProperty("submitTime")) - object.submitTime = $root.google.protobuf.Timestamp.toObject(message.submitTime, options); - if (message.endTime != null && message.hasOwnProperty("endTime")) - object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) { + object.productSetPurgeConfig = $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.toObject(message.productSetPurgeConfig, options); + if (options.oneofs) + object.target = "productSetPurgeConfig"; + } + if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) { + object.deleteOrphanProducts = message.deleteOrphanProducts; + if (options.oneofs) + object.target = "deleteOrphanProducts"; + } + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; return object; }; /** - * Converts this BatchOperationMetadata to JSON. + * Converts this PurgeProductsRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @instance * @returns {Object.} JSON object */ - BatchOperationMetadata.prototype.toJSON = function toJSON() { + PurgeProductsRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * State enum. - * @name google.cloud.vision.v1p4beta1.BatchOperationMetadata.State - * @enum {string} - * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value - * @property {number} PROCESSING=1 PROCESSING value - * @property {number} SUCCESSFUL=2 SUCCESSFUL value - * @property {number} FAILED=3 FAILED value - * @property {number} CANCELLED=4 CANCELLED value - */ - BatchOperationMetadata.State = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; - values[valuesById[1] = "PROCESSING"] = 1; - values[valuesById[2] = "SUCCESSFUL"] = 2; - values[valuesById[3] = "FAILED"] = 3; - values[valuesById[4] = "CANCELLED"] = 4; - return values; - })(); - - return BatchOperationMetadata; + return PurgeProductsRequest; })(); v1p4beta1.TextAnnotation = (function() { @@ -96324,268 +97875,58 @@ /** * Creates a WebImage message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebImage} WebImage - */ - WebImage.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage(); - if (object.url != null) - message.url = String(object.url); - if (object.score != null) - message.score = Number(object.score); - return message; - }; - - /** - * Creates a plain object from a WebImage message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage - * @static - * @param {google.cloud.vision.v1p4beta1.WebDetection.WebImage} message WebImage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - WebImage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.url = ""; - object.score = 0; - } - if (message.url != null && message.hasOwnProperty("url")) - object.url = message.url; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - return object; - }; - - /** - * Converts this WebImage to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage - * @instance - * @returns {Object.} JSON object - */ - WebImage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return WebImage; - })(); - - WebDetection.WebLabel = (function() { - - /** - * Properties of a WebLabel. - * @memberof google.cloud.vision.v1p4beta1.WebDetection - * @interface IWebLabel - * @property {string|null} [label] WebLabel label - * @property {string|null} [languageCode] WebLabel languageCode - */ - - /** - * Constructs a new WebLabel. - * @memberof google.cloud.vision.v1p4beta1.WebDetection - * @classdesc Represents a WebLabel. - * @implements IWebLabel - * @constructor - * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel=} [properties] Properties to set - */ - function WebLabel(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]]; - } - - /** - * WebLabel label. - * @member {string} label - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel - * @instance - */ - WebLabel.prototype.label = ""; - - /** - * WebLabel languageCode. - * @member {string} languageCode - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel - * @instance - */ - WebLabel.prototype.languageCode = ""; - - /** - * Creates a new WebLabel instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel - * @static - * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel instance - */ - WebLabel.create = function create(properties) { - return new WebLabel(properties); - }; - - /** - * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel - * @static - * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - WebLabel.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - return writer; - }; - - /** - * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel - * @static - * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - WebLabel.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a WebLabel message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - WebLabel.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.label = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a WebLabel message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - WebLabel.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a WebLabel message. - * @function verify - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - WebLabel.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.label != null && message.hasOwnProperty("label")) - if (!$util.isString(message.label)) - return "label: string expected"; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - if (!$util.isString(message.languageCode)) - return "languageCode: string expected"; - return null; - }; - - /** - * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebImage} WebImage */ - WebLabel.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel) + WebImage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage) return object; - var message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel(); - if (object.label != null) - message.label = String(object.label); - if (object.languageCode != null) - message.languageCode = String(object.languageCode); + var message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebImage(); + if (object.url != null) + message.url = String(object.url); + if (object.score != null) + message.score = Number(object.score); return message; }; /** - * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * Creates a plain object from a WebImage message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage * @static - * @param {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} message WebLabel + * @param {google.cloud.vision.v1p4beta1.WebDetection.WebImage} message WebImage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WebLabel.toObject = function toObject(message, options) { + WebImage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.label = ""; - object.languageCode = ""; + object.url = ""; + object.score = 0; } - if (message.label != null && message.hasOwnProperty("label")) - object.label = message.label; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - object.languageCode = message.languageCode; + if (message.url != null && message.hasOwnProperty("url")) + object.url = message.url; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; return object; }; /** - * Converts this WebLabel to JSON. + * Converts this WebImage to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage * @instance * @returns {Object.} JSON object */ - WebLabel.prototype.toJSON = function toJSON() { + WebImage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return WebLabel; + return WebImage; })(); WebDetection.WebPage = (function() { @@ -96908,6 +98249,216 @@ return WebPage; })(); + WebDetection.WebLabel = (function() { + + /** + * Properties of a WebLabel. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @interface IWebLabel + * @property {string|null} [label] WebLabel label + * @property {string|null} [languageCode] WebLabel languageCode + */ + + /** + * Constructs a new WebLabel. + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @classdesc Represents a WebLabel. + * @implements IWebLabel + * @constructor + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel=} [properties] Properties to set + */ + function WebLabel(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]]; + } + + /** + * WebLabel label. + * @member {string} label + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.label = ""; + + /** + * WebLabel languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @instance + */ + WebLabel.prototype.languageCode = ""; + + /** + * Creates a new WebLabel instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel instance + */ + WebLabel.create = function create(properties) { + return new WebLabel(properties); + }; + + /** + * Encodes the specified WebLabel message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.label != null && message.hasOwnProperty("label")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + return writer; + }; + + /** + * Encodes the specified WebLabel message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetection.WebLabel.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.IWebLabel} message WebLabel message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebLabel.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.label = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebLabel message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebLabel.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebLabel message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebLabel.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.label != null && message.hasOwnProperty("label")) + if (!$util.isString(message.label)) + return "label: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + return null; + }; + + /** + * Creates a WebLabel message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} WebLabel + */ + WebLabel.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel(); + if (object.label != null) + message.label = String(object.label); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + return message; + }; + + /** + * Creates a plain object from a WebLabel message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {google.cloud.vision.v1p4beta1.WebDetection.WebLabel} message WebLabel + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebLabel.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.label = ""; + object.languageCode = ""; + } + if (message.label != null && message.hasOwnProperty("label")) + object.label = message.label; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this WebLabel to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @instance + * @returns {Object.} JSON object + */ + WebLabel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebLabel; + })(); + return WebDetection; })(); diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 28b91718117..c9fb89e7d0a 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -5580,13 +5580,18 @@ }, "nested": { "ImageAnnotator": { + "options": { + "(google.api.default_host)": "vision.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-vision" + }, "methods": { "BatchAnnotateImages": { "requestType": "BatchAnnotateImagesRequest", "responseType": "BatchAnnotateImagesResponse", "options": { "(google.api.http).post": "/v1p4beta1/images:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "requests" } }, "BatchAnnotateFiles": { @@ -5594,7 +5599,8 @@ "responseType": "BatchAnnotateFilesResponse", "options": { "(google.api.http).post": "/v1p4beta1/files:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "requests" } }, "AsyncBatchAnnotateImages": { @@ -5602,7 +5608,10 @@ "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1p4beta1/images:asyncBatchAnnotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "requests,output_config", + "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateImagesResponse", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" } }, "AsyncBatchAnnotateFiles": { @@ -5610,7 +5619,10 @@ "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1p4beta1/files:asyncBatchAnnotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "requests", + "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateFilesResponse", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" } } } @@ -5746,6 +5758,11 @@ "headwearLikelihood": { "type": "Likelihood", "id": 15 + }, + "recognitionResult": { + "rule": "repeated", + "type": "FaceRecognitionResult", + "id": 16 } }, "nested": { @@ -6023,6 +6040,10 @@ "type": "CropHintsParams", "id": 4 }, + "faceRecognitionParams": { + "type": "FaceRecognitionParams", + "id": 10 + }, "productSearchParams": { "type": "ProductSearchParams", "id": 5 @@ -6128,23 +6149,6 @@ } } }, - "AnnotateFileResponse": { - "fields": { - "inputConfig": { - "type": "InputConfig", - "id": 1 - }, - "responses": { - "rule": "repeated", - "type": "AnnotateImageResponse", - "id": 2 - }, - "totalPages": { - "type": "int32", - "id": 3 - } - } - }, "BatchAnnotateImagesRequest": { "fields": { "requests": { @@ -6185,12 +6189,36 @@ } } }, + "AnnotateFileResponse": { + "fields": { + "inputConfig": { + "type": "InputConfig", + "id": 1 + }, + "responses": { + "rule": "repeated", + "type": "AnnotateImageResponse", + "id": 2 + }, + "totalPages": { + "type": "int32", + "id": 3 + }, + "error": { + "type": "google.rpc.Status", + "id": 4 + } + } + }, "BatchAnnotateFilesRequest": { "fields": { "requests": { "rule": "repeated", "type": "AnnotateFileRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -6237,11 +6265,17 @@ "requests": { "rule": "repeated", "type": "AnnotateImageRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "outputConfig": { "type": "OutputConfig", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -6258,7 +6292,10 @@ "requests": { "rule": "repeated", "type": "AsyncAnnotateFileRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -6342,6 +6379,43 @@ } } }, + "FaceRecognitionParams": { + "fields": { + "celebritySet": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "Celebrity": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + } + }, + "FaceRecognitionResult": { + "fields": { + "celebrity": { + "type": "Celebrity", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, "Vertex": { "fields": { "x": { @@ -6404,7 +6478,10 @@ }, "productSet": { "type": "string", - "id": 6 + "id": 6, + "options": { + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "productCategories": { "rule": "repeated", @@ -6451,6 +6528,26 @@ } } }, + "ObjectAnnotation": { + "fields": { + "mid": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + }, + "name": { + "type": "string", + "id": 3 + }, + "score": { + "type": "float", + "id": 4 + } + } + }, "GroupedResult": { "fields": { "boundingPoly": { @@ -6461,33 +6558,45 @@ "rule": "repeated", "type": "Result", "id": 2 + }, + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectAnnotation", + "id": 3 } } } } }, "ProductSearch": { + "options": { + "(google.api.default_host)": "vision.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-vision" + }, "methods": { "CreateProductSet": { "requestType": "CreateProductSetRequest", "responseType": "ProductSet", "options": { "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets", - "(google.api.http).body": "product_set" + "(google.api.http).body": "product_set", + "(google.api.method_signature)": "parent,product_set,product_set_id" } }, "ListProductSets": { "requestType": "ListProductSetsRequest", "responseType": "ListProductSetsResponse", "options": { - "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/productSets" + "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/productSets", + "(google.api.method_signature)": "parent" } }, "GetProductSet": { "requestType": "GetProductSetRequest", "responseType": "ProductSet", "options": { - "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}", + "(google.api.method_signature)": "name" } }, "UpdateProductSet": { @@ -6495,14 +6604,16 @@ "responseType": "ProductSet", "options": { "(google.api.http).patch": "/v1p4beta1/{product_set.name=projects/*/locations/*/productSets/*}", - "(google.api.http).body": "product_set" + "(google.api.http).body": "product_set", + "(google.api.method_signature)": "product_set,update_mask" } }, "DeleteProductSet": { "requestType": "DeleteProductSetRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}", + "(google.api.method_signature)": "name" } }, "CreateProduct": { @@ -6510,21 +6621,24 @@ "responseType": "Product", "options": { "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/products", - "(google.api.http).body": "product" + "(google.api.http).body": "product", + "(google.api.method_signature)": "parent,product,product_id" } }, "ListProducts": { "requestType": "ListProductsRequest", "responseType": "ListProductsResponse", "options": { - "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/products" + "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/products", + "(google.api.method_signature)": "parent" } }, "GetProduct": { "requestType": "GetProductRequest", "responseType": "Product", "options": { - "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*}" + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*}", + "(google.api.method_signature)": "name" } }, "UpdateProduct": { @@ -6532,14 +6646,16 @@ "responseType": "Product", "options": { "(google.api.http).patch": "/v1p4beta1/{product.name=projects/*/locations/*/products/*}", - "(google.api.http).body": "product" + "(google.api.http).body": "product", + "(google.api.method_signature)": "product,update_mask" } }, "DeleteProduct": { "requestType": "DeleteProductRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*}" + "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*}", + "(google.api.method_signature)": "name" } }, "CreateReferenceImage": { @@ -6547,28 +6663,32 @@ "responseType": "ReferenceImage", "options": { "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages", - "(google.api.http).body": "reference_image" + "(google.api.http).body": "reference_image", + "(google.api.method_signature)": "parent,reference_image,reference_image_id" } }, "DeleteReferenceImage": { "requestType": "DeleteReferenceImageRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}", + "(google.api.method_signature)": "name" } }, "ListReferenceImages": { "requestType": "ListReferenceImagesRequest", "responseType": "ListReferenceImagesResponse", "options": { - "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages", + "(google.api.method_signature)": "parent" } }, "GetReferenceImage": { "requestType": "GetReferenceImageRequest", "responseType": "ReferenceImage", "options": { - "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}", + "(google.api.method_signature)": "name" } }, "AddProductToProductSet": { @@ -6576,7 +6696,8 @@ "responseType": "google.protobuf.Empty", "options": { "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:addProduct", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "name,product" } }, "RemoveProductFromProductSet": { @@ -6584,14 +6705,16 @@ "responseType": "google.protobuf.Empty", "options": { "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "name,product" } }, "ListProductsInProductSet": { "requestType": "ListProductsInProductSetRequest", "responseType": "ListProductsInProductSetResponse", "options": { - "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products" + "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products", + "(google.api.method_signature)": "name" } }, "ImportProductSets": { @@ -6599,12 +6722,30 @@ "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets:import", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent,input_config", + "(google.longrunning.operation_info).response_type": "ImportProductSetsResponse", + "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" + } + }, + "PurgeProducts": { + "requestType": "PurgeProductsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/products:purge", + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" } } } }, "Product": { + "options": { + "(google.api.resource).type": "vision.googleapis.com/Product", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/products/{product}" + }, "fields": { "name": { "type": "string", @@ -6620,7 +6761,10 @@ }, "productCategory": { "type": "string", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } }, "productLabels": { "rule": "repeated", @@ -6644,6 +6788,10 @@ } }, "ProductSet": { + "options": { + "(google.api.resource).type": "vision.googleapis.com/ProductSet", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/productSets/{product_set}" + }, "fields": { "name": { "type": "string", @@ -6655,15 +6803,25 @@ }, "indexTime": { "type": "google.protobuf.Timestamp", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } }, "indexError": { "type": "google.rpc.Status", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, "ReferenceImage": { + "options": { + "(google.api.resource).type": "vision.googleapis.com/ReferenceImage", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}" + }, "fields": { "name": { "type": "string", @@ -6671,12 +6829,18 @@ }, "uri": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "boundingPolys": { "rule": "repeated", "type": "BoundingPoly", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -6684,11 +6848,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "product": { "type": "Product", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "productId": { "type": "string", @@ -6700,7 +6871,11 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "pageSize": { "type": "int32", @@ -6729,7 +6904,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -6737,7 +6916,10 @@ "fields": { "product": { "type": "Product", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "updateMask": { "type": "google.protobuf.FieldMask", @@ -6749,7 +6931,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -6757,11 +6943,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "productSet": { "type": "ProductSet", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "productSetId": { "type": "string", @@ -6773,7 +6966,11 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "pageSize": { "type": "int32", @@ -6802,7 +6999,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } } } }, @@ -6810,7 +7011,10 @@ "fields": { "productSet": { "type": "ProductSet", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "updateMask": { "type": "google.protobuf.FieldMask", @@ -6822,7 +7026,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } } } }, @@ -6830,11 +7038,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } }, "referenceImage": { "type": "ReferenceImage", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "referenceImageId": { "type": "string", @@ -6846,7 +7061,11 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } }, "pageSize": { "type": "int32", @@ -6879,7 +7098,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ReferenceImage" + } } } }, @@ -6887,7 +7110,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ReferenceImage" + } } } }, @@ -6895,11 +7122,19 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "product": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -6907,11 +7142,19 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "product": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -6919,7 +7162,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "pageSize": { "type": "int32", @@ -6971,11 +7218,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "inputConfig": { "type": "ImportProductSetsInputConfig", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -7020,6 +7274,46 @@ } } }, + "ProductSetPurgeConfig": { + "fields": { + "productSetId": { + "type": "string", + "id": 1 + } + } + }, + "PurgeProductsRequest": { + "oneofs": { + "target": { + "oneof": [ + "productSetPurgeConfig", + "deleteOrphanProducts" + ] + } + }, + "fields": { + "productSetPurgeConfig": { + "type": "ProductSetPurgeConfig", + "id": 2 + }, + "deleteOrphanProducts": { + "type": "bool", + "id": 3 + }, + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "force": { + "type": "bool", + "id": 4 + } + } + }, "TextAnnotation": { "fields": { "pages": { @@ -7270,18 +7564,6 @@ } } }, - "WebLabel": { - "fields": { - "label": { - "type": "string", - "id": 1 - }, - "languageCode": { - "type": "string", - "id": 2 - } - } - }, "WebPage": { "fields": { "url": { @@ -7307,6 +7589,18 @@ "id": 5 } } + }, + "WebLabel": { + "fields": { + "label": { + "type": "string", + "id": 1 + }, + "languageCode": { + "type": "string", + "id": 2 + } + } } } } diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js new file mode 100644 index 00000000000..e0361208982 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js @@ -0,0 +1,75 @@ +// Copyright 2019 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. + +// Note: this file is purely for documentation. Any contents are not expected +// to be loaded as the JS file. + +/** + * Parameters for a celebrity recognition request. + * + * @property {string[]} celebritySet + * The resource names for one or more + * CelebritySets. A celebrity + * set is preloaded and can be specified as "builtin/default". If this is + * specified, the algorithm will try to match the faces detected in the input + * image to the Celebrities in the CelebritySets. + * + * @typedef FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.FaceRecognitionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/face.proto} + */ +const FaceRecognitionParams = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * A Celebrity is a group of Faces with an identity. + * + * @property {string} name + * The resource name of the preloaded Celebrity. Has the format + * `builtin/{mid}`. + * + * @property {string} displayName + * The Celebrity's display name. + * + * @property {string} description + * The Celebrity's description. + * + * @typedef Celebrity + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.Celebrity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/face.proto} + */ +const Celebrity = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Information about a face's identity. + * + * @property {Object} celebrity + * The Celebrity that this face was + * matched to. + * + * This object should have the same structure as [Celebrity]{@link google.cloud.vision.v1p4beta1.Celebrity} + * + * @property {number} confidence + * Recognition confidence. Range [0, 1]. + * + * @typedef FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.FaceRecognitionResult definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/face.proto} + */ +const FaceRecognitionResult = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js index 7eae508b417..16a1ca911cf 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js @@ -266,6 +266,15 @@ const Image = { * * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} * + * @property {Object[]} recognitionResult + * Additional recognition information. Only computed if + * image_context.face_recognition_params is provided, **and** a match is found + * to a Celebrity in the input + * CelebritySet. This field is + * sorted in order of decreasing confidence values. + * + * This object should have the same structure as [FaceRecognitionResult]{@link google.cloud.vision.v1p4beta1.FaceRecognitionResult} + * * @typedef FaceAnnotation * @memberof google.cloud.vision.v1p4beta1 * @see [google.cloud.vision.v1p4beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} @@ -827,6 +836,11 @@ const WebDetectionParams = { * * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1p4beta1.CropHintsParams} * + * @property {Object} faceRecognitionParams + * Parameters for face recognition. + * + * This object should have the same structure as [FaceRecognitionParams]{@link google.cloud.vision.v1p4beta1.FaceRecognitionParams} + * * @property {Object} productSearchParams * Parameters for product search. * @@ -979,31 +993,6 @@ const AnnotateImageResponse = { // This is for documentation. Actual contents will be loaded by gRPC. }; -/** - * Response to a single file annotation request. A file may contain one or more - * images, which individually have their own responses. - * - * @property {Object} inputConfig - * Information about the file for which this response is generated. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p4beta1.InputConfig} - * - * @property {Object[]} responses - * Individual responses to images found within the file. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p4beta1.AnnotateImageResponse} - * - * @property {number} totalPages - * This field gives the total number of pages in the file. - * - * @typedef AnnotateFileResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - /** * Multiple image annotation requests are batched into a single service call. * @@ -1078,12 +1067,44 @@ const AnnotateFileRequest = { // This is for documentation. Actual contents will be loaded by gRPC. }; +/** + * Response to a single file annotation request. A file may contain one or more + * images, which individually have their own responses. + * + * @property {Object} inputConfig + * Information about the file for which this response is generated. + * + * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p4beta1.InputConfig} + * + * @property {Object[]} responses + * Individual responses to images found within the file. This field will be + * empty if the `error` field is set. + * + * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p4beta1.AnnotateImageResponse} + * + * @property {number} totalPages + * This field gives the total number of pages in the file. + * + * @property {Object} error + * If set, represents the error message for the failed request. The + * `responses` field will not be set in this case. + * + * This object should have the same structure as [Status]{@link google.rpc.Status} + * + * @typedef AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} + */ +const AnnotateFileResponse = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + /** * A list of requests to annotate files using the BatchAnnotateFiles API. * * @property {Object[]} requests - * The list of file annotation requests. Right now we support only one - * AnnotateFileRequest in BatchAnnotateFilesRequest. + * Required. The list of file annotation requests. Right now we support only + * one AnnotateFileRequest in BatchAnnotateFilesRequest. * * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AnnotateFileRequest} * @@ -1163,7 +1184,7 @@ const AsyncAnnotateFileResponse = { * Request for async image annotation for a list of images. * * @property {Object[]} requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} * @@ -1201,7 +1222,7 @@ const AsyncBatchAnnotateImagesResponse = { * call. * * @property {Object[]} requests - * Individual async file annotation requests for this batch. + * Required. Individual async file annotation requests for this batch. * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} * @@ -1247,8 +1268,8 @@ const AsyncBatchAnnotateFilesResponse = { * not work for AsyncBatchAnnotateFiles requests. * * @property {string} mimeType - * The type of the file. Currently only "application/pdf" and "image/tiff" - * are supported. Wildcards are not supported. + * The type of the file. Currently only "application/pdf", "image/tiff" and + * "image/gif" are supported. Wildcards are not supported. * * @typedef InputConfig * @memberof google.cloud.vision.v1p4beta1 @@ -1306,16 +1327,23 @@ const GcsSource = { * The Google Cloud Storage location where the output will be written to. * * @property {string} uri - * Google Cloud Storage URI where the results will be stored. Results will - * be in JSON format and preceded by its corresponding input URI. This field - * can either represent a single file, or a prefix for multiple outputs. - * Prefixes must end in a `/`. + * Google Cloud Storage URI prefix where the results will be stored. Results + * will be in JSON format and preceded by its corresponding input URI prefix. + * This field can either represent a gcs file prefix or gcs directory. In + * either case, the uri should be unique because in order to get all of the + * output files, you will need to do a wildcard gcs search on the uri prefix + * you provide. * * Examples: * - * * File: gs://bucket-name/filename.json - * * Prefix: gs://bucket-name/prefix/here/ - * * File: gs://bucket-name/prefix/here + * * File Prefix: gs://bucket-name/here/filenameprefix The output files + * will be created in gs://bucket-name/here/ and the names of the + * output files will begin with "filenameprefix". + * + * * Directory Prefix: gs://bucket-name/some/location/ The output files + * will be created in gs://bucket-name/some/location/ and the names of the + * output files could be anything because there was no filename prefix + * specified. * * If multiple outputs, each response is still AnnotateFileResponse, each of * which contains some subset of the full list of AnnotateImageResponse. @@ -1405,27 +1433,27 @@ const Likelihood = { UNKNOWN: 0, /** - * It is very unlikely that the image belongs to the specified vertical. + * It is very unlikely. */ VERY_UNLIKELY: 1, /** - * It is unlikely that the image belongs to the specified vertical. + * It is unlikely. */ UNLIKELY: 2, /** - * It is possible that the image belongs to the specified vertical. + * It is possible. */ POSSIBLE: 3, /** - * It is likely that the image belongs to the specified vertical. + * It is likely. */ LIKELY: 4, /** - * It is very likely that the image belongs to the specified vertical. + * It is very likely. */ VERY_LIKELY: 5 }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js index c3000e086b3..4bca709bc54 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js @@ -20,7 +20,7 @@ * * @property {Object} boundingPoly * The bounding polygon around the area of interest in the image. - * Optional. If it is not specified, system discretion will be applied. + * If it is not specified, system discretion will be applied. * * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} * @@ -44,10 +44,12 @@ * @property {string} filter * The filtering expression. This can be used to restrict search results based * on Product labels. We currently support an AND of OR of key-value - * expressions, where each expression within an OR must have the same key. + * expressions, where each expression within an OR must have the same key. An + * '=' should be used to connect the key and value. * * For example, "(color = red OR color = blue) AND brand = Google" is - * acceptable, but not "(color = red OR brand = Google)" or "color: red". + * acceptable, but "(color = red OR brand = Google)" is not acceptable. + * "color: red" is not acceptable because it uses a ':' instead of an '='. * * @typedef ProductSearchParams * @memberof google.cloud.vision.v1p4beta1 @@ -61,8 +63,9 @@ const ProductSearchParams = { * Results for a product search request. * * @property {Object} indexTime - * Timestamp of the index which provided these results. Changes made after - * this time are not reflected in the current results. + * Timestamp of the index which provided these results. Products added to the + * product set and products removed from the product set after this time are + * not reflected in the current results. * * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} * @@ -110,6 +113,31 @@ const ProductSearchResults = { // This is for documentation. Actual contents will be loaded by gRPC. }, + /** + * Prediction for what the object in the bounding box is. + * + * @property {string} mid + * Object ID that should align with EntityAnnotation mid. + * + * @property {string} languageCode + * The BCP-47 language code, such as "en-US" or "sr-Latn". For more + * information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @property {string} name + * Object name, expressed in its `language_code` language. + * + * @property {number} score + * Score of the result. Range [0, 1]. + * + * @typedef ObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} + */ + ObjectAnnotation: { + // This is for documentation. Actual contents will be loaded by gRPC. + }, + /** * Information about the products similar to a single product in a query * image. @@ -124,6 +152,11 @@ const ProductSearchResults = { * * This object should have the same structure as [Result]{@link google.cloud.vision.v1p4beta1.Result} * + * @property {Object[]} objectAnnotations + * List of generic predictions for the object in the bounding box. + * + * This object should have the same structure as [ObjectAnnotation]{@link google.cloud.vision.v1p4beta1.ObjectAnnotation} + * * @typedef GroupedResult * @memberof google.cloud.vision.v1p4beta1 * @see [google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js index 77b496dba6b..d9a80f80334 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js @@ -35,12 +35,10 @@ * characters long. * * @property {string} productCategory - * The category for the product identified by the reference image. This should - * be either "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or - * "general-v1" The legacy categories "homegoods", "apparel", and "toys" are - * still supported, but these should not be used for new products. - * - * This field is immutable. + * Immutable. The category for the product identified by the reference image. + * This should be either "homegoods-v2", "apparel-v2", or "toys-v2". The + * legacy categories "homegoods", "apparel", and "toys" are still supported, + * but these should not be used for new products. * * @property {Object[]} productLabels * Key-value pairs that can be attached to a product. At query time, @@ -51,7 +49,11 @@ * to be supported soon. * * Multiple values can be assigned to the same key. One product may have up to - * 100 product_labels. + * 500 product_labels. + * + * Notice that the total number of distinct product_labels over all products + * in one ProductSet cannot exceed 1M, otherwise the product search pipeline + * will refuse to work for that ProductSet. * * This object should have the same structure as [KeyValue]{@link google.cloud.vision.v1p4beta1.KeyValue} * @@ -139,15 +141,13 @@ const ProductSet = { * This field is ignored when creating a reference image. * * @property {string} uri - * The Google Cloud Storage URI of the reference image. + * Required. The Google Cloud Storage URI of the reference image. * * The URI must start with `gs://`. * - * Required. - * * @property {Object[]} boundingPolys - * Bounding polygons around the areas of interest in the reference image. - * Optional. If this field is empty, the system will try to detect regions of + * Optional. Bounding polygons around the areas of interest in the reference + * image. If this field is empty, the system will try to detect regions of * interest. At most 10 bounding polygons will be used. * * The provided shape is converted into a non-rotated rectangle. Once @@ -169,13 +169,13 @@ const ReferenceImage = { * Request message for the `CreateProduct` method. * * @property {string} parent - * The project in which the Product should be created. + * Required. The project in which the Product should be created. * * Format is * `projects/PROJECT_ID/locations/LOC_ID`. * * @property {Object} product - * The product to create. + * Required. The product to create. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} * @@ -197,7 +197,7 @@ const CreateProductRequest = { * Request message for the `ListProducts` method. * * @property {string} parent - * The project OR ProductSet from which Products should be listed. + * Required. The project OR ProductSet from which Products should be listed. * * Format: * `projects/PROJECT_ID/locations/LOC_ID` @@ -240,7 +240,7 @@ const ListProductsResponse = { * Request message for the `GetProduct` method. * * @property {string} name - * Resource name of the Product to get. + * Required. Resource name of the Product to get. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -257,7 +257,7 @@ const GetProductRequest = { * Request message for the `UpdateProduct` method. * * @property {Object} product - * The Product resource which replaces the one on the server. + * Required. The Product resource which replaces the one on the server. * product.name is immutable. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} @@ -283,7 +283,7 @@ const UpdateProductRequest = { * Request message for the `DeleteProduct` method. * * @property {string} name - * Resource name of product to delete. + * Required. Resource name of product to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -300,12 +300,12 @@ const DeleteProductRequest = { * Request message for the `CreateProductSet` method. * * @property {string} parent - * The project in which the ProductSet should be created. + * Required. The project in which the ProductSet should be created. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * * @property {Object} productSet - * The ProductSet to create. + * Required. The ProductSet to create. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} * @@ -327,7 +327,7 @@ const CreateProductSetRequest = { * Request message for the `ListProductSets` method. * * @property {string} parent - * The project from which ProductSets should be listed. + * Required. The project from which ProductSets should be listed. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @@ -369,7 +369,7 @@ const ListProductSetsResponse = { * Request message for the `GetProductSet` method. * * @property {string} name - * Resource name of the ProductSet to get. + * Required. Resource name of the ProductSet to get. * * Format is: * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` @@ -386,7 +386,7 @@ const GetProductSetRequest = { * Request message for the `UpdateProductSet` method. * * @property {Object} productSet - * The ProductSet resource which replaces the one on the server. + * Required. The ProductSet resource which replaces the one on the server. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} * @@ -410,7 +410,7 @@ const UpdateProductSetRequest = { * Request message for the `DeleteProductSet` method. * * @property {string} name - * Resource name of the ProductSet to delete. + * Required. Resource name of the ProductSet to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -427,13 +427,14 @@ const DeleteProductSetRequest = { * Request message for the `CreateReferenceImage` method. * * @property {string} parent - * Resource name of the product in which to create the reference image. + * Required. Resource name of the product in which to create the reference + * image. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. * * @property {Object} referenceImage - * The reference image to create. + * Required. The reference image to create. * If an image ID is specified, it is ignored. * * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} @@ -456,7 +457,7 @@ const CreateReferenceImageRequest = { * Request message for the `ListReferenceImages` method. * * @property {string} parent - * Resource name of the product containing the reference images. + * Required. Resource name of the product containing the reference images. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. @@ -504,7 +505,7 @@ const ListReferenceImagesResponse = { * Request message for the `GetReferenceImage` method. * * @property {string} name - * The resource name of the ReferenceImage to get. + * Required. The resource name of the ReferenceImage to get. * * Format is: * @@ -522,7 +523,7 @@ const GetReferenceImageRequest = { * Request message for the `DeleteReferenceImage` method. * * @property {string} name - * The resource name of the reference image to delete. + * Required. The resource name of the reference image to delete. * * Format is: * @@ -540,13 +541,13 @@ const DeleteReferenceImageRequest = { * Request message for the `AddProductToProductSet` method. * * @property {string} name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * * @property {string} product - * The resource name for the Product to be added to this ProductSet. + * Required. The resource name for the Product to be added to this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -563,13 +564,14 @@ const AddProductToProductSetRequest = { * Request message for the `RemoveProductFromProductSet` method. * * @property {string} name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * * @property {string} product - * The resource name for the Product to be removed from this ProductSet. + * Required. The resource name for the Product to be removed from this + * ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -586,7 +588,7 @@ const RemoveProductFromProductSetRequest = { * Request message for the `ListProductsInProductSet` method. * * @property {string} name - * The ProductSet resource for which to retrieve Products. + * Required. The ProductSet resource for which to retrieve Products. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -723,12 +725,12 @@ const ImportProductSetsInputConfig = { * Request message for the `ImportProductSets` method. * * @property {string} parent - * The project in which the ProductSets should be imported. + * Required. The project in which the ProductSets should be imported. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * * @property {Object} inputConfig - * The input content for the list of requests. + * Required. The input content for the list of requests. * * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} * @@ -838,4 +840,49 @@ const BatchOperationMetadata = { */ CANCELLED: 4 } +}; + +/** + * Config to control which ProductSet contains the Products to be deleted. + * + * @property {string} productSetId + * The ProductSet that contains the Products to delete. If a Product is a + * member of product_set_id in addition to other ProductSets, the Product will + * still be deleted. + * + * @typedef ProductSetPurgeConfig + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.ProductSetPurgeConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const ProductSetPurgeConfig = { + // This is for documentation. Actual contents will be loaded by gRPC. +}; + +/** + * Request message for the `PurgeProducts` method. + * + * @property {Object} productSetPurgeConfig + * Specify which ProductSet contains the Products to be deleted. + * + * This object should have the same structure as [ProductSetPurgeConfig]{@link google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} + * + * @property {boolean} deleteOrphanProducts + * If delete_orphan_products is true, all Products that are not in any + * ProductSet will be deleted. + * + * @property {string} parent + * Required. The project and location in which the Products should be deleted. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * + * @property {boolean} force + * The default value is false. Override this value to true to actually perform + * the purge. + * + * @typedef PurgeProductsRequest + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.PurgeProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} + */ +const PurgeProductsRequest = { + // This is for documentation. Actual contents will be loaded by gRPC. }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js index 3011393d045..ac2f0f7f213 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js @@ -292,7 +292,7 @@ const Block = { * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} * * @property {Object[]} words - * List of words in this paragraph. + * List of all words in this paragraph. * * This object should have the same structure as [Word]{@link google.cloud.vision.v1p4beta1.Word} * @@ -374,7 +374,7 @@ const Word = { * 2----3 * | | * 1----0 - * and the vertice order will still be (0, 1, 2, 3). + * and the vertex order will still be (0, 1, 2, 3). * * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} * diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js index 4678c875fe6..a3e9e28a88e 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js @@ -97,25 +97,6 @@ const WebDetection = { // This is for documentation. Actual contents will be loaded by gRPC. }, - /** - * Label to provide extra metadata for the web detection. - * - * @property {string} label - * Label for extra metadata. - * - * @property {string} languageCode - * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - * For more information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @typedef WebLabel - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} - */ - WebLabel: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - /** * Metadata for web pages. * @@ -148,5 +129,24 @@ const WebDetection = { */ WebPage: { // This is for documentation. Actual contents will be loaded by gRPC. + }, + + /** + * Label to provide extra metadata for the web detection. + * + * @property {string} label + * Label for extra metadata. + * + * @property {string} languageCode + * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + * + * @typedef WebLabel + * @memberof google.cloud.vision.v1p4beta1 + * @see [google.cloud.vision.v1p4beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} + */ + WebLabel: { + // This is for documentation. Actual contents will be loaded by gRPC. } }; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index 0399c1a221f..0457d96c6e0 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -323,8 +323,8 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * The list of file annotation requests. Right now we support only one - * AnnotateFileRequest in BatchAnnotateFilesRequest. + * Required. The list of file annotation requests. Right now we support only + * one AnnotateFileRequest in BatchAnnotateFilesRequest. * * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AnnotateFileRequest} * @param {Object} [options] @@ -381,7 +381,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} * @param {Object} request.outputConfig @@ -502,7 +502,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual async file annotation requests for this batch. + * Required. Individual async file annotation requests for this batch. * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} * @param {Object} [options] diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index 41957da8dc8..adede1e4f15 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -252,6 +252,7 @@ class ProductSearchClient { 'removeProductFromProductSet', 'listProductsInProductSet', 'importProductSets', + 'purgeProducts', ]; for (const methodName of productSearchStubMethods) { const innerCallPromise = productSearchStub.then( @@ -328,11 +329,11 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the ProductSet should be created. + * Required. The project in which the ProductSet should be created. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} request.productSet - * The ProductSet to create. + * Required. The ProductSet to create. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} * @param {string} request.productSetId @@ -405,7 +406,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project from which ProductSets should be listed. + * Required. The project from which ProductSets should be listed. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {number} [request.pageSize] @@ -519,7 +520,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project from which ProductSets should be listed. + * Required. The project from which ProductSets should be listed. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {number} [request.pageSize] @@ -570,7 +571,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the ProductSet to get. + * Required. Resource name of the ProductSet to get. * * Format is: * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` @@ -634,7 +635,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {Object} request.productSet - * The ProductSet resource which replaces the one on the server. + * Required. The ProductSet resource which replaces the one on the server. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} * @param {Object} request.updateMask @@ -702,14 +703,10 @@ class ProductSearchClient { * * The actual image files are not deleted from Google Cloud Storage. * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the ProductSet to delete. + * Required. Resource name of the ProductSet to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -765,12 +762,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the Product should be created. + * Required. The project in which the Product should be created. * * Format is * `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} request.product - * The product to create. + * Required. The product to create. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} * @param {string} request.productId @@ -842,7 +839,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project OR ProductSet from which Products should be listed. + * Required. The project OR ProductSet from which Products should be listed. * * Format: * `projects/PROJECT_ID/locations/LOC_ID` @@ -957,7 +954,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project OR ProductSet from which Products should be listed. + * Required. The project OR ProductSet from which Products should be listed. * * Format: * `projects/PROJECT_ID/locations/LOC_ID` @@ -1009,7 +1006,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the Product to get. + * Required. Resource name of the Product to get. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1080,7 +1077,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {Object} request.product - * The Product resource which replaces the one on the server. + * Required. The Product resource which replaces the one on the server. * product.name is immutable. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} @@ -1151,14 +1148,10 @@ class ProductSearchClient { * search queries against ProductSets containing the product may still work * until all related caches are refreshed. * - * Possible errors: - * - * * Returns NOT_FOUND if the product does not exist. - * * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of product to delete. + * Required. Resource name of product to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1225,12 +1218,13 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product in which to create the reference image. + * Required. Resource name of the product in which to create the reference + * image. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. * @param {Object} request.referenceImage - * The reference image to create. + * Required. The reference image to create. * If an image ID is specified, it is ignored. * * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} @@ -1302,14 +1296,10 @@ class ProductSearchClient { * * The actual image files are not deleted from Google Cloud Storage. * - * Possible errors: - * - * * Returns NOT_FOUND if the reference image does not exist. - * * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name of the reference image to delete. + * Required. The resource name of the reference image to delete. * * Format is: * @@ -1365,7 +1355,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product containing the reference images. + * Required. Resource name of the product containing the reference images. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. @@ -1480,7 +1470,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product containing the reference images. + * Required. Resource name of the product containing the reference images. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. @@ -1532,7 +1522,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name of the ReferenceImage to get. + * Required. The resource name of the ReferenceImage to get. * * Format is: * @@ -1597,12 +1587,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {string} request.product - * The resource name for the Product to be added to this ProductSet. + * Required. The resource name for the Product to be added to this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1657,19 +1647,16 @@ class ProductSearchClient { /** * Removes a Product from the specified ProductSet. * - * Possible errors: - * - * * Returns NOT_FOUND If the Product is not found under the ProductSet. - * * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {string} request.product - * The resource name for the Product to be removed from this ProductSet. + * Required. The resource name for the Product to be removed from this + * ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1733,7 +1720,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The ProductSet resource for which to retrieve Products. + * Required. The ProductSet resource for which to retrieve Products. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -1852,7 +1839,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The ProductSet resource for which to retrieve Products. + * Required. The ProductSet resource for which to retrieve Products. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -1910,11 +1897,11 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the ProductSets should be imported. + * Required. The project in which the ProductSets should be imported. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} request.inputConfig - * The input content for the list of requests. + * Required. The input content for the list of requests. * * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} * @param {Object} [options] @@ -2023,6 +2010,95 @@ class ProductSearchClient { return this._innerApiCalls.importProductSets(request, options, callback); } + /** + * Asynchronous API to delete all Products in a ProductSet or all Products + * that are in no ProductSet. + * + * If a Product is a member of the specified ProductSet in addition to other + * ProductSets, the Product will still be deleted. + * + * It is recommended to not delete the specified ProductSet until after this + * operation has completed. It is also recommended to not add any of the + * Products involved in the batch delete to a new ProductSet while this + * operation is running because those Products may still end up deleted. + * + * It's not possible to undo the PurgeProducts operation. Therefore, it is + * recommended to keep the csv files used in ImportProductSets (if that was + * how you originally built the Product Set) before starting PurgeProducts, in + * case you need to re-import the data after deletion. + * + * If the plan is to purge all of the Products from a ProductSet and then + * re-use the empty ProductSet to re-import new Products into the empty + * ProductSet, you must wait until the PurgeProducts operation has finished + * for that ProductSet. + * + * The google.longrunning.Operation API can be + * used to keep track of the progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * + * @param {Object} request + * The request object that will be sent. + * @param {Object} [request.productSetPurgeConfig] + * Specify which ProductSet contains the Products to be deleted. + * + * This object should have the same structure as [ProductSetPurgeConfig]{@link google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} + * @param {boolean} [request.deleteOrphanProducts] + * If delete_orphan_products is true, all Products that are not in any + * ProductSet will be deleted. + * @param {string} [request.parent] + * Required. The project and location in which the Products should be deleted. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {boolean} [request.force] + * The default value is false. Override this value to true to actually perform + * the purge. + * @param {Object} [options] + * Optional parameters. You can override the default settings for this call, e.g, timeout, + * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. + * @param {function(?Error, ?Object)} [callback] + * The function which will be called with the result of the API call. + * + * The second parameter to the callback is an object representing [Operation]{@link google.longrunning.Operation}. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + * + * @example + * + * const vision = require('vision.v1p4beta1'); + * + * const client = new vision.v1p4beta1.ProductSearchClient({ + * // optional auth parameters. + * }); + * + * + * client.purgeProducts({}) + * .then(responses => { + * const response = responses[0]; + * // doThingsWith(response) + * }) + * .catch(err => { + * console.error(err); + * }); + */ + purgeProducts(request, options, callback) { + if (options instanceof Function && callback === undefined) { + callback = options; + options = {}; + } + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent, + }); + + return this._innerApiCalls.purgeProducts(request, options, callback); + } + // -------------------- // -- Path templates -- // -------------------- diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json index 37cb6d2a79a..2c4fc8c0828 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json @@ -109,6 +109,11 @@ "timeout_millis": 60000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" + }, + "PurgeProducts": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" } } } diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 59aad1d6a88..7769831483e 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-05T12:29:26.912070Z", + "updateTime": "2019-11-06T12:28:11.866907Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "8c6569ced063c08a48272de2e887860d0c40d388", - "internalRef": "278552094" + "sha": "5691fcb7c1a926b52577aa1834f31d9c50efda54", + "internalRef": "278731899" } }, { diff --git a/packages/google-cloud-vision/test/gapic-v1p4beta1.js b/packages/google-cloud-vision/test/gapic-v1p4beta1.js index a5b7c7792dc..cf898903789 100644 --- a/packages/google-cloud-vision/test/gapic-v1p4beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p4beta1.js @@ -1303,6 +1303,62 @@ describe('ProductSearchClient', () => { ); }); }); + + describe('purgeProducts', () => { + it('invokes purgeProducts without error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const request = {}; + + // Mock response + const name = 'name3373707'; + const done_ = true; + const expectedResponse = { + name: name, + done: done_, + }; + + // Mock Grpc layer + client._innerApiCalls.purgeProducts = mockSimpleGrpcMethod( + request, + expectedResponse + ); + + client.purgeProducts(request, (err, response) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes purgeProducts with error', done => { + const client = new visionModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + + // Mock request + const request = {}; + + // Mock Grpc layer + client._innerApiCalls.purgeProducts = mockSimpleGrpcMethod( + request, + null, + error + ); + + client.purgeProducts(request, (err, response) => { + assert(err instanceof Error); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); }); describe('ImageAnnotatorClient', () => { it('has servicePath', () => { From 3a1750e65f35c91653167dc051002a0f9f1627a3 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 8 Nov 2019 11:24:49 -0800 Subject: [PATCH 347/588] chore: release 1.7.0 (#478) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 52fdc622ad7..1c346fef2d8 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.7.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.6.0...v1.7.0) (2019-11-08) + + +### Features + +* add celebrity face detection ([#477](https://www.github.com/googleapis/nodejs-vision/issues/477)) ([cdfa59e](https://www.github.com/googleapis/nodejs-vision/commit/cdfa59e4156c5b557651c3bf50cfc46487149a7d)) + ## [1.6.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.5.0...v1.6.0) (2019-11-05) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index bdef4e1f151..56ba12386b0 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.6.0", + "version": "1.7.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a18f8c9551a..427748cfac6 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.6.0", + "@google-cloud/vision": "^1.7.0", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From 0a0be7a751b840ef7eae0ea73c4bad24a3fb7fdc Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sat, 9 Nov 2019 15:48:10 -0800 Subject: [PATCH 348/588] refactor: run prettier (#479) --- packages/google-cloud-vision/synth.metadata | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 7769831483e..956d981652b 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-11-06T12:28:11.866907Z", + "updateTime": "2019-11-09T12:29:53.659380Z", "sources": [ { "generator": { "name": "artman", - "version": "0.41.0", - "dockerImage": "googleapis/artman@sha256:75b38a3b073a7b243545f2332463096624c802bb1e56b8cb6f22ba1ecd325fa9" + "version": "0.41.1", + "dockerImage": "googleapis/artman@sha256:545c758c76c3f779037aa259023ec3d1ef2d57d2c8cd00a222cb187d63ceac5e" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "5691fcb7c1a926b52577aa1834f31d9c50efda54", - "internalRef": "278731899" + "sha": "34e661f58d58fa57da8ed113a3d8bb3de26b307d", + "internalRef": "279417429" } }, { From 0c1259af3e759a0eb857d290fe5fa044eefe27bb Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 13 Nov 2019 11:45:38 -0800 Subject: [PATCH 349/588] fix: import long in proto ts declaration file (#482) --- packages/google-cloud-vision/protos/protos.d.ts | 1 + packages/google-cloud-vision/synth.metadata | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 8918fafa4f6..5178df0710d 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -1,3 +1,4 @@ +import * as Long from "long"; import * as $protobuf from "protobufjs"; /** Namespace google. */ export namespace google { diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 956d981652b..34c28cbf365 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-09T12:29:53.659380Z", + "updateTime": "2019-11-12T12:31:06.192834Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "34e661f58d58fa57da8ed113a3d8bb3de26b307d", - "internalRef": "279417429" + "sha": "f69562be0608904932bdcfbc5ad8b9a22d9dceb8", + "internalRef": "279774957" } }, { From da9721ea2329f368b4444729224e30f1f3cb08b1 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 13 Nov 2019 12:20:24 -0800 Subject: [PATCH 350/588] fix(docs): snippets are now replaced in jsdoc comments (#481) --- packages/google-cloud-vision/.jsdoc.js | 3 ++- packages/google-cloud-vision/package.json | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index 42e7fac504e..689ce0b93c1 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -26,7 +26,8 @@ module.exports = { destination: './docs/' }, plugins: [ - 'plugins/markdown' + 'plugins/markdown', + 'jsdoc-region-tag' ], source: { excludePattern: '(^|\\/|\\\\)[._]', diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 56ba12386b0..0c1541ce5cb 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -51,15 +51,16 @@ "eslint-config-prettier": "^6.0.0", "eslint-plugin-node": "^10.0.0", "eslint-plugin-prettier": "^3.0.0", - "jsdoc-fresh": "^1.0.1", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", + "jsdoc-fresh": "^1.0.1", + "jsdoc-region-tag": "^1.0.2", + "linkinator": "^1.5.0", "mocha": "^6.0.0", "nyc": "^14.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.6", "sinon": "^7.0.0", - "uuid": "^3.3.0", - "linkinator": "^1.5.0" + "uuid": "^3.3.0" } } From dd4b72501b62ec8d9a8db799c1fc5969f6843238 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 13 Nov 2019 13:36:43 -0800 Subject: [PATCH 351/588] chore: release 1.7.1 (#483) --- packages/google-cloud-vision/CHANGELOG.md | 8 ++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 1c346fef2d8..68faecdffbb 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [1.7.1](https://www.github.com/googleapis/nodejs-vision/compare/v1.7.0...v1.7.1) (2019-11-13) + + +### Bug Fixes + +* import long in proto ts declaration file ([#482](https://www.github.com/googleapis/nodejs-vision/issues/482)) ([1f5258b](https://www.github.com/googleapis/nodejs-vision/commit/1f5258b65665c4813463592af32720d07e5c8de4)) +* **docs:** snippets are now replaced in jsdoc comments ([#481](https://www.github.com/googleapis/nodejs-vision/issues/481)) ([07281d6](https://www.github.com/googleapis/nodejs-vision/commit/07281d6d0acbd59a9c308308cb090b598cda53a2)) + ## [1.7.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.6.0...v1.7.0) (2019-11-08) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 0c1541ce5cb..6a646300285 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.7.0", + "version": "1.7.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 427748cfac6..a88c74667c5 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.7.0", + "@google-cloud/vision": "^1.7.1", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From 1fb3937db2e92d30962976732da9377c28e536d6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 14 Nov 2019 19:32:12 -0800 Subject: [PATCH 352/588] docs: add license header to typescript definition (#484) --- packages/google-cloud-vision/protos/protos.d.ts | 14 ++++++++++++++ packages/google-cloud-vision/synth.metadata | 6 +++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 5178df0710d..72396237bb3 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -1,3 +1,17 @@ +// Copyright 2019 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 * as Long from "long"; import * as $protobuf from "protobufjs"; /** Namespace google. */ diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 34c28cbf365..97e3f7d645a 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-12T12:31:06.192834Z", + "updateTime": "2019-11-14T12:30:31.829101Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "f69562be0608904932bdcfbc5ad8b9a22d9dceb8", - "internalRef": "279774957" + "sha": "4f747bda9b099b4426f495985680d16d0227fa5f", + "internalRef": "280394936" } }, { From 90432554d385d5cfeddf5af8f437153ac241127f Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 15 Nov 2019 12:04:25 -0800 Subject: [PATCH 353/588] docs: add license header --- packages/google-cloud-vision/protos/protos.js | 14 ++++++++++++++ packages/google-cloud-vision/synth.metadata | 6 +++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 78ecc04c977..b1d124aef87 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -1,3 +1,17 @@ +// Copyright 2019 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 */ diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 97e3f7d645a..0d21bbeafc9 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-14T12:30:31.829101Z", + "updateTime": "2019-11-15T12:23:56.040358Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4f747bda9b099b4426f495985680d16d0227fa5f", - "internalRef": "280394936" + "sha": "f6808ff4e8b966cd571e99279d4a2780ed97dff2", + "internalRef": "280581337" } }, { From 41ad4ea273c76817a8d14da7711aa568014cee33 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 18 Nov 2019 21:59:51 +0100 Subject: [PATCH 354/588] fix(deps): update dependency yargs to v15 (#488) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a88c74667c5..0345446ca6d 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -18,7 +18,7 @@ "mathjs": "^6.0.0", "natural": "^0.6.1", "redis": "^2.8.0", - "yargs": "^14.0.0" + "yargs": "^15.0.0" }, "devDependencies": { "@google-cloud/storage": "^4.0.0", From a51df112bfa544150f575b2c04197b526fee6d38 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2019 13:43:40 -0800 Subject: [PATCH 355/588] chore: release 1.7.2 (#490) --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 68faecdffbb..676815e9726 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [1.7.2](https://www.github.com/googleapis/nodejs-vision/compare/v1.7.1...v1.7.2) (2019-11-18) + + +### Bug Fixes + +* **deps:** update dependency yargs to v15 ([#488](https://www.github.com/googleapis/nodejs-vision/issues/488)) ([21c889e](https://www.github.com/googleapis/nodejs-vision/commit/21c889ee3157e38cc8eefec5da8f1d103fd41f17)) + ### [1.7.1](https://www.github.com/googleapis/nodejs-vision/compare/v1.7.0...v1.7.1) (2019-11-13) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6a646300285..4dbe197f6be 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.7.1", + "version": "1.7.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 0345446ca6d..c8a01ff7c14 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.7.1", + "@google-cloud/vision": "^1.7.2", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From e7bf724d32c2d9f67af6052b597c3333a5e4b2ab Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 20 Nov 2019 13:19:35 -0800 Subject: [PATCH 356/588] feat: add new resource descriptors (#491) --- .../google-cloud-vision/protos/protos.d.ts | 15 ++++ packages/google-cloud-vision/protos/protos.js | 90 ++++++++++++++++++- .../google-cloud-vision/protos/protos.json | 14 +++ packages/google-cloud-vision/synth.metadata | 10 +-- 4 files changed, 123 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 72396237bb3..b486d54a7f7 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -40063,6 +40063,12 @@ export namespace google { /** ResourceDescriptor history */ history?: (google.api.ResourceDescriptor.History|null); + + /** ResourceDescriptor plural */ + plural?: (string|null); + + /** ResourceDescriptor singular */ + singular?: (string|null); } /** Represents a ResourceDescriptor. */ @@ -40086,6 +40092,12 @@ export namespace google { /** ResourceDescriptor history. */ public history: google.api.ResourceDescriptor.History; + /** ResourceDescriptor plural. */ + public plural: string; + + /** ResourceDescriptor singular. */ + public singular: string; + /** * Creates a new ResourceDescriptor instance using the specified properties. * @param [properties] Properties to set @@ -41822,6 +41834,9 @@ export namespace google { /** FileOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** FileOptions .google.api.resourceDefinition */ + ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null); } /** Represents a FileOptions. */ diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index b1d124aef87..fc940631fdd 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -99430,6 +99430,8 @@ * @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 */ /** @@ -99480,6 +99482,22 @@ */ ResourceDescriptor.prototype.history = 0; + /** + * ResourceDescriptor plural. + * @member {string} plural + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.plural = ""; + + /** + * ResourceDescriptor singular. + * @member {string} singular + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.singular = ""; + /** * Creates a new ResourceDescriptor instance using the specified properties. * @function create @@ -99513,6 +99531,10 @@ writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField); if (message.history != null && message.hasOwnProperty("history")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history); + if (message.plural != null && message.hasOwnProperty("plural")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural); + if (message.singular != null && message.hasOwnProperty("singular")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular); return writer; }; @@ -99561,6 +99583,12 @@ case 4: message.history = reader.int32(); break; + case 5: + message.plural = reader.string(); + break; + case 6: + message.singular = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -99618,6 +99646,12 @@ case 2: break; } + if (message.plural != null && message.hasOwnProperty("plural")) + if (!$util.isString(message.plural)) + return "plural: string expected"; + if (message.singular != null && message.hasOwnProperty("singular")) + if (!$util.isString(message.singular)) + return "singular: string expected"; return null; }; @@ -99658,6 +99692,10 @@ message.history = 2; break; } + if (object.plural != null) + message.plural = String(object.plural); + if (object.singular != null) + message.singular = String(object.singular); return message; }; @@ -99680,6 +99718,8 @@ object.type = ""; object.nameField = ""; object.history = options.enums === String ? "HISTORY_UNSPECIFIED" : 0; + object.plural = ""; + object.singular = ""; } if (message.type != null && message.hasOwnProperty("type")) object.type = message.type; @@ -99692,6 +99732,10 @@ object.nameField = message.nameField; if (message.history != null && message.hasOwnProperty("history")) object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] : message.history; + if (message.plural != null && message.hasOwnProperty("plural")) + object.plural = message.plural; + if (message.singular != null && message.hasOwnProperty("singular")) + object.singular = message.singular; return object; }; @@ -104106,6 +104150,7 @@ * @property {string|null} [phpMetadataNamespace] FileOptions phpMetadataNamespace * @property {string|null} [rubyPackage] FileOptions rubyPackage * @property {Array.|null} [uninterpretedOption] FileOptions uninterpretedOption + * @property {Array.|null} [".google.api.resourceDefinition"] FileOptions .google.api.resourceDefinition */ /** @@ -104118,6 +104163,7 @@ */ function FileOptions(properties) { this.uninterpretedOption = []; + this[".google.api.resourceDefinition"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -104292,6 +104338,14 @@ */ FileOptions.prototype.uninterpretedOption = $util.emptyArray; + /** + * FileOptions .google.api.resourceDefinition. + * @member {Array.} .google.api.resourceDefinition + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".google.api.resourceDefinition"] = $util.emptyArray; + /** * Creates a new FileOptions instance using the specified properties. * @function create @@ -104359,6 +104413,9 @@ if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.resourceDefinition"] != null && message[".google.api.resourceDefinition"].length) + for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) + $root.google.api.ResourceDescriptor.encode(message[".google.api.resourceDefinition"][i], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); return writer; }; @@ -104458,6 +104515,11 @@ message.uninterpretedOption = []; message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); break; + case 1053: + if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) + message[".google.api.resourceDefinition"] = []; + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + break; default: reader.skipType(tag & 7); break; @@ -104568,6 +104630,15 @@ return "uninterpretedOption." + error; } } + if (message[".google.api.resourceDefinition"] != null && message.hasOwnProperty(".google.api.resourceDefinition")) { + if (!Array.isArray(message[".google.api.resourceDefinition"])) + return ".google.api.resourceDefinition: array expected"; + for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + if (error) + return ".google.api.resourceDefinition." + error; + } + } return null; }; @@ -104645,6 +104716,16 @@ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); } } + if (object[".google.api.resourceDefinition"]) { + if (!Array.isArray(object[".google.api.resourceDefinition"])) + throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: array expected"); + message[".google.api.resourceDefinition"] = []; + for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { + if (typeof object[".google.api.resourceDefinition"][i] !== "object") + throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + } + } return message; }; @@ -104661,8 +104742,10 @@ if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) + if (options.arrays || options.defaults) { object.uninterpretedOption = []; + object[".google.api.resourceDefinition"] = []; + } if (options.defaults) { object.javaPackage = ""; object.javaOuterClassname = ""; @@ -104730,6 +104813,11 @@ for (var j = 0; j < message.uninterpretedOption.length; ++j) object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); } + if (message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length) { + object[".google.api.resourceDefinition"] = []; + for (var j = 0; j < message[".google.api.resourceDefinition"].length; ++j) + object[".google.api.resourceDefinition"][j] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resourceDefinition"][j], options); + } return object; }; diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index c9fb89e7d0a..78e0d9a5154 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -7744,6 +7744,12 @@ "id": 1055, "extend": "google.protobuf.FieldOptions" }, + "resourceDefinition": { + "rule": "repeated", + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.FileOptions" + }, "resource": { "type": "google.api.ResourceDescriptor", "id": 1053, @@ -7767,6 +7773,14 @@ "history": { "type": "History", "id": 4 + }, + "plural": { + "type": "string", + "id": 5 + }, + "singular": { + "type": "string", + "id": 6 } }, "nested": { diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 0d21bbeafc9..a31a0cae36a 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-11-15T12:23:56.040358Z", + "updateTime": "2019-11-19T12:32:59.818311Z", "sources": [ { "generator": { "name": "artman", - "version": "0.41.1", - "dockerImage": "googleapis/artman@sha256:545c758c76c3f779037aa259023ec3d1ef2d57d2c8cd00a222cb187d63ceac5e" + "version": "0.42.1", + "dockerImage": "googleapis/artman@sha256:c773192618c608a7a0415dd95282f841f8e6bcdef7dd760a988c93b77a64bd57" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "f6808ff4e8b966cd571e99279d4a2780ed97dff2", - "internalRef": "280581337" + "sha": "d8dd7fe8d5304f7bd1c52207703d7f27d5328c5a", + "internalRef": "281088257" } }, { From 92f59edb75808fd913d24842f2007c755a01079d Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 25 Nov 2019 08:56:13 -0800 Subject: [PATCH 357/588] chore: update license headers (#493) --- .../google-cloud-vision/samples/quickstart.js | 27 +++++++++--------- .../google-cloud-vision/test/index.test.js | 28 +++++++++---------- 2 files changed, 26 insertions(+), 29 deletions(-) diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index a07be3481d8..46043131a97 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -1,17 +1,16 @@ -/** - * Copyright 2017, Google, Inc. - * 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. - */ +// Copyright 2017 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. 'use strict'; diff --git a/packages/google-cloud-vision/test/index.test.js b/packages/google-cloud-vision/test/index.test.js index b319e3423ad..37077ce7df4 100644 --- a/packages/google-cloud-vision/test/index.test.js +++ b/packages/google-cloud-vision/test/index.test.js @@ -1,18 +1,16 @@ -/** - * Copyright 2017 Google Inc. All Rights Reserved. - * - * 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. - */ +// Copyright 2017 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. 'use strict'; From eb7d16709d333a22a45656f092f62105177f4e34 Mon Sep 17 00:00:00 2001 From: Brad Miro Date: Tue, 26 Nov 2019 14:16:28 -0500 Subject: [PATCH 358/588] feat(samples): add sample of configuring alternate apiEndpoint (#473) --- packages/google-cloud-vision/README.md | 1 + .../google-cloud-vision/linkinator.config.json | 3 ++- packages/google-cloud-vision/samples/README.md | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index a67d392dedf..27b41e31e5c 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -85,6 +85,7 @@ has instructions for running the samples. | Detect.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) | | Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | +| Set Endpoint | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) | | Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | diff --git a/packages/google-cloud-vision/linkinator.config.json b/packages/google-cloud-vision/linkinator.config.json index d780d6bfff5..cad97afdc56 100644 --- a/packages/google-cloud-vision/linkinator.config.json +++ b/packages/google-cloud-vision/linkinator.config.json @@ -2,6 +2,7 @@ "recurse": true, "skip": [ "https://codecov.io/gh/googleapis/", - "www.googleapis.com" + "www.googleapis.com", + "setEndpoint.js" ] } diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 67a854b8bdb..8c8cdf5a04c 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -17,6 +17,7 @@ * [Detect.v1p3beta1](#detect.v1p3beta1) * [Face Detection](#face-detection) * [Quickstart](#quickstart) + * [Set Endpoint](#set-endpoint) * [Text Detection](#text-detection) ## Before you begin @@ -113,6 +114,22 @@ __Usage:__ +### Set Endpoint + +View the [source code]https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) + +[![Open in Cloud shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) + +__Usage:__ + +`node setEndpoint.js` + +----- + + + + + ### Text Detection View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js). From ad637cc95abdb9c2173ad3175f566695c27bb4dc Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 27 Nov 2019 15:41:24 -0800 Subject: [PATCH 359/588] docs: slight formatting changes to README --- packages/google-cloud-vision/samples/README.md | 7 ++++--- packages/google-cloud-vision/synth.metadata | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 8c8cdf5a04c..fe79e860b58 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -116,16 +116,17 @@ __Usage:__ ### Set Endpoint -View the [source code]https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js). -[![Open in Cloud shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) __Usage:__ + `node setEndpoint.js` ------ +----- diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index a31a0cae36a..3e7aea1fb02 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-19T12:32:59.818311Z", + "updateTime": "2019-11-27T12:31:12.179114Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "d8dd7fe8d5304f7bd1c52207703d7f27d5328c5a", - "internalRef": "281088257" + "sha": "d8896a3d8a191702a9e39f29cf4c2e16fa05f76d", + "internalRef": "282674885" } }, { From c6dcd003290a589871a583d363bc41ff44de2a15 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 5 Dec 2019 12:49:34 -0800 Subject: [PATCH 360/588] docs: add batch samples to README files (#496) --- packages/google-cloud-vision/README.md | 3 ++ .../google-cloud-vision/samples/README.md | 54 +++++++++++++++++++ packages/google-cloud-vision/synth.metadata | 6 +-- 3 files changed, 60 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 27b41e31e5c..5bcae042a2b 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -80,6 +80,9 @@ has instructions for running the samples. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | +| Async-batch-annotate-images | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/async-batch-annotate-images.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/async-batch-annotate-images.js,samples/README.md) | +| Batch-annotate-files-gcs | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/batch-annotate-files-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files-gcs.js,samples/README.md) | +| Batch-annotate-files | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/batch-annotate-files.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files.js,samples/README.md) | | Detect | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) | | Detect.v1p1beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p1beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) | | Detect.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) | diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index fe79e860b58..aaefafa5f87 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -12,6 +12,9 @@ * [Before you begin](#before-you-begin) * [Samples](#samples) + * [Async-batch-annotate-images](#async-batch-annotate-images) + * [Batch-annotate-files-gcs](#batch-annotate-files-gcs) + * [Batch-annotate-files](#batch-annotate-files) * [Detect](#detect) * [Detect.v1p1beta1](#detect.v1p1beta1) * [Detect.v1p3beta1](#detect.v1p3beta1) @@ -29,6 +32,57 @@ Before running the samples, make sure you've followed the steps outlined in +### Async-batch-annotate-images + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/async-batch-annotate-images.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/async-batch-annotate-images.js,samples/README.md) + +__Usage:__ + + +`node async-batch-annotate-images.js` + + +----- + + + + +### Batch-annotate-files-gcs + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/batch-annotate-files-gcs.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files-gcs.js,samples/README.md) + +__Usage:__ + + +`node batch-annotate-files-gcs.js` + + +----- + + + + +### Batch-annotate-files + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/batch-annotate-files.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files.js,samples/README.md) + +__Usage:__ + + +`node batch-annotate-files.js` + + +----- + + + + ### Detect View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js). diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 3e7aea1fb02..317d22029a2 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-11-27T12:31:12.179114Z", + "updateTime": "2019-12-03T12:28:28.228891Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "d8896a3d8a191702a9e39f29cf4c2e16fa05f76d", - "internalRef": "282674885" + "sha": "38dc36a2a43cbab4a2a9183a43dd0441670098a9", + "internalRef": "283384331" } }, { From b1f89800a76aec6ab87ac4ff5d865e75d8d3973d Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 30 Dec 2019 15:44:18 -0800 Subject: [PATCH 361/588] refactor: use explicit mocha imports (#505) --- packages/google-cloud-vision/samples/.eslintrc.yml | 1 - packages/google-cloud-vision/smoke-test/.eslintrc.yml | 2 -- .../smoke-test/image_annotator_smoke_test.js | 2 ++ packages/google-cloud-vision/system-test/.eslintrc.yml | 2 -- .../system-test/image_annotator_smoke_test.js | 2 ++ packages/google-cloud-vision/system-test/vision-v1p2beta1.js | 2 ++ packages/google-cloud-vision/system-test/vision.js | 1 + packages/google-cloud-vision/test/.eslintrc.yml | 3 --- packages/google-cloud-vision/test/gapic-v1.js | 1 + packages/google-cloud-vision/test/gapic-v1p1beta1.js | 1 + packages/google-cloud-vision/test/gapic-v1p2beta1.js | 1 + packages/google-cloud-vision/test/gapic-v1p3beta1.js | 1 + packages/google-cloud-vision/test/gapic-v1p4beta1.js | 1 + packages/google-cloud-vision/test/helpers.test.js | 1 + packages/google-cloud-vision/test/index.test.js | 1 + 15 files changed, 14 insertions(+), 8 deletions(-) delete mode 100644 packages/google-cloud-vision/test/.eslintrc.yml diff --git a/packages/google-cloud-vision/samples/.eslintrc.yml b/packages/google-cloud-vision/samples/.eslintrc.yml index 0aa37ac630e..282535f55f6 100644 --- a/packages/google-cloud-vision/samples/.eslintrc.yml +++ b/packages/google-cloud-vision/samples/.eslintrc.yml @@ -1,4 +1,3 @@ --- rules: no-console: off - node/no-missing-require: off diff --git a/packages/google-cloud-vision/smoke-test/.eslintrc.yml b/packages/google-cloud-vision/smoke-test/.eslintrc.yml index f9605165c0f..282535f55f6 100644 --- a/packages/google-cloud-vision/smoke-test/.eslintrc.yml +++ b/packages/google-cloud-vision/smoke-test/.eslintrc.yml @@ -1,5 +1,3 @@ --- -env: - mocha: true rules: no-console: off diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index 925483dd3d5..f916c869401 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -14,6 +14,8 @@ 'use strict'; +const {describe, it} = require('mocha'); + describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); diff --git a/packages/google-cloud-vision/system-test/.eslintrc.yml b/packages/google-cloud-vision/system-test/.eslintrc.yml index 3bbc66b8785..4721890f9ad 100644 --- a/packages/google-cloud-vision/system-test/.eslintrc.yml +++ b/packages/google-cloud-vision/system-test/.eslintrc.yml @@ -1,6 +1,4 @@ --- -env: - mocha: true rules: no-console: off node/no-unsupported-features/es-syntax: off diff --git a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js index 131d2f65a8c..7907d507a61 100644 --- a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js @@ -14,6 +14,8 @@ 'use strict'; +const {describe, it} = require('mocha'); + describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); diff --git a/packages/google-cloud-vision/system-test/vision-v1p2beta1.js b/packages/google-cloud-vision/system-test/vision-v1p2beta1.js index 5701d5615ff..8c2ce8a591b 100644 --- a/packages/google-cloud-vision/system-test/vision-v1p2beta1.js +++ b/packages/google-cloud-vision/system-test/vision-v1p2beta1.js @@ -14,6 +14,8 @@ 'use strict'; +const {describe, it} = require('mocha'); + describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index d4003618f16..d3cd8db9521 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -17,6 +17,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it, before, after} = require('mocha'); const fs = require('fs'); const path = require('path'); const {Storage} = require('@google-cloud/storage'); diff --git a/packages/google-cloud-vision/test/.eslintrc.yml b/packages/google-cloud-vision/test/.eslintrc.yml deleted file mode 100644 index 6db2a46c535..00000000000 --- a/packages/google-cloud-vision/test/.eslintrc.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -env: - mocha: true diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 7ab0e0c41a2..4bf1c4fcf56 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const visionModule = require('../src'); diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js index 3a9438f0fdd..38a6fe7e212 100644 --- a/packages/google-cloud-vision/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p1beta1.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const visionModule = require('../src'); diff --git a/packages/google-cloud-vision/test/gapic-v1p2beta1.js b/packages/google-cloud-vision/test/gapic-v1p2beta1.js index c1549b98733..572fc4d8e9c 100644 --- a/packages/google-cloud-vision/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p2beta1.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const visionModule = require('../src'); diff --git a/packages/google-cloud-vision/test/gapic-v1p3beta1.js b/packages/google-cloud-vision/test/gapic-v1p3beta1.js index 94cd12fbd8f..cd008feeb15 100644 --- a/packages/google-cloud-vision/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p3beta1.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const visionModule = require('../src'); diff --git a/packages/google-cloud-vision/test/gapic-v1p4beta1.js b/packages/google-cloud-vision/test/gapic-v1p4beta1.js index cf898903789..b865af2fa28 100644 --- a/packages/google-cloud-vision/test/gapic-v1p4beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p4beta1.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const visionModule = require('../src'); diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.js index 05c05f2ffe0..2d5cfdb9d00 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.js @@ -17,6 +17,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it, afterEach} = require('mocha'); const fs = require('fs'); const is = require('is'); const sinon = require('sinon'); diff --git a/packages/google-cloud-vision/test/index.test.js b/packages/google-cloud-vision/test/index.test.js index 37077ce7df4..7b3a1513d41 100644 --- a/packages/google-cloud-vision/test/index.test.js +++ b/packages/google-cloud-vision/test/index.test.js @@ -15,6 +15,7 @@ 'use strict'; const assert = require('assert'); +const {describe, it} = require('mocha'); const vision = require('../'); From c23905de75bbf8d451bac2c496ec6b7c10470ccf Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 31 Dec 2019 02:55:52 +0200 Subject: [PATCH 362/588] chore(deps): update dependency eslint-plugin-node to v11 (#504) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 4dbe197f6be..303dc3d5e62 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -49,7 +49,7 @@ "codecov": "^3.0.2", "eslint": "^6.0.0", "eslint-config-prettier": "^6.0.0", - "eslint-plugin-node": "^10.0.0", + "eslint-plugin-node": "^11.0.0", "eslint-plugin-prettier": "^3.0.0", "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", From e53dfa620c7e225c39502e5ea4c2258bdd4ac516 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 31 Dec 2019 03:05:34 +0200 Subject: [PATCH 363/588] chore(deps): update dependency sinon to v8 (#503) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 303dc3d5e62..5e01f3d1984 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -60,7 +60,7 @@ "nyc": "^14.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.6", - "sinon": "^7.0.0", + "sinon": "^8.0.0", "uuid": "^3.3.0" } } From 86d0593e2c74d692e5de3865b7c02fb736054af5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 2 Jan 2020 12:21:04 -0800 Subject: [PATCH 364/588] docs: new license format; new sample instructions Co-authored-by: Benjamin E. Coe --- packages/google-cloud-vision/.jsdoc.js | 29 +- .../google-cloud-vision/samples/README.md | 28 +- packages/google-cloud-vision/synth.metadata | 2931 ++++++++++++++++- 3 files changed, 2957 insertions(+), 31 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index 689ce0b93c1..897ab5f68b3 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -1,18 +1,17 @@ -/*! - * Copyright 2018 Google LLC. All Rights Reserved. - * - * 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. - */ +// Copyright 2019 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. +// 'use strict'; diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index aaefafa5f87..9a1ceff8c28 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -28,6 +28,12 @@ Before running the samples, make sure you've followed the steps outlined in [Using the client library](https://github.com/googleapis/nodejs-vision#using-the-client-library). +`cd samples` + +`npm install` + +`cd ..` + ## Samples @@ -41,7 +47,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node async-batch-annotate-images.js` +`node samples/async-batch-annotate-images.js` ----- @@ -58,7 +64,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node batch-annotate-files-gcs.js` +`node samples/batch-annotate-files-gcs.js` ----- @@ -75,7 +81,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node batch-annotate-files.js` +`node samples/batch-annotate-files.js` ----- @@ -92,7 +98,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node detect.js` +`node samples/detect.js` ----- @@ -109,7 +115,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node detect.v1p1beta1.js` +`node samples/detect.v1p1beta1.js` ----- @@ -126,7 +132,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node detect.v1p3beta1.js` +`node samples/detect.v1p3beta1.js` ----- @@ -143,7 +149,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node faceDetection.js` +`node samples/faceDetection.js` ----- @@ -160,7 +166,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node quickstart.js` +`node samples/quickstart.js` ----- @@ -177,7 +183,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node setEndpoint.js` +`node samples/setEndpoint.js` ----- @@ -194,7 +200,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node textDetection.js` +`node samples/textDetection.js` @@ -203,4 +209,4 @@ __Usage:__ [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/README.md -[product-docs]: https://cloud.google.com/vision \ No newline at end of file +[product-docs]: https://cloud.google.com/vision diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 317d22029a2..afeef77a791 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-12-03T12:28:28.228891Z", + "updateTime": "2019-12-21T12:33:16.396423Z", "sources": [ { "generator": { "name": "artman", - "version": "0.42.1", - "dockerImage": "googleapis/artman@sha256:c773192618c608a7a0415dd95282f841f8e6bcdef7dd760a988c93b77a64bd57" + "version": "0.42.3", + "dockerImage": "googleapis/artman@sha256:feed210b5723c6f524b52ef6d7740a030f2d1a8f7c29a71c5e5b4481ceaad7f5" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "38dc36a2a43cbab4a2a9183a43dd0441670098a9", - "internalRef": "283384331" + "sha": "1a380ea21dea9b6ac6ad28c60ad96d9d73574e19", + "internalRef": "286616241" } }, { @@ -75,5 +75,2926 @@ "config": "google/cloud/vision/artman_vision_v1p4beta1.yaml" } } + ], + "newFiles": [ + { + "path": ".repo-metadata.json" + }, + { + "path": "README.md" + }, + { + "path": "package.json" + }, + { + "path": "CHANGELOG.md" + }, + { + "path": ".gitignore" + }, + { + "path": "CODE_OF_CONDUCT.md" + }, + { + "path": "webpack.config.js" + }, + { + "path": "CONTRIBUTING.md" + }, + { + "path": ".prettierrc" + }, + { + "path": "package-lock.json" + }, + { + "path": ".eslintignore" + }, + { + "path": "linkinator.config.json" + }, + { + "path": ".eslintrc.yml" + }, + { + "path": "renovate.json" + }, + { + "path": "synth.metadata" + }, + { + "path": ".prettierignore" + }, + { + "path": "synth.py" + }, + { + "path": "codecov.yaml" + }, + { + "path": ".jsdoc.js" + }, + { + "path": "LICENSE" + }, + { + "path": ".nycrc" + }, + { + "path": "src/browser.js" + }, + { + "path": "src/index.js" + }, + { + "path": "src/helpers.js" + }, + { + "path": "src/v1/product_search_proto_list.json" + }, + { + "path": "src/v1/product_search_client_config.json" + }, + { + "path": "src/v1/image_annotator_proto_list.json" + }, + { + "path": "src/v1/index.js" + }, + { + "path": "src/v1/product_search_client.js" + }, + { + "path": "src/v1/image_annotator_client_config.json" + }, + { + "path": "src/v1/image_annotator_client.js" + }, + { + "path": "src/v1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_geometry.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_web_detection.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_field_mask.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_timestamp.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_empty.js" + }, + { + "path": "src/v1p2beta1/image_annotator_proto_list.json" + }, + { + "path": "src/v1p2beta1/index.js" + }, + { + "path": "src/v1p2beta1/image_annotator_client_config.json" + }, + { + "path": "src/v1p2beta1/image_annotator_client.js" + }, + { + "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p2beta1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1p2beta1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js" + }, + { + "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p2beta1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "src/v1p3beta1/product_search_proto_list.json" + }, + { + "path": "src/v1p3beta1/product_search_client_config.json" + }, + { + "path": "src/v1p3beta1/image_annotator_proto_list.json" + }, + { + "path": "src/v1p3beta1/index.js" + }, + { + "path": "src/v1p3beta1/product_search_client.js" + }, + { + "path": "src/v1p3beta1/image_annotator_client_config.json" + }, + { + "path": "src/v1p3beta1/image_annotator_client.js" + }, + { + "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p3beta1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1p3beta1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_field_mask.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_timestamp.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_empty.js" + }, + { + "path": "src/v1p4beta1/product_search_proto_list.json" + }, + { + "path": "src/v1p4beta1/product_search_client_config.json" + }, + { + "path": "src/v1p4beta1/image_annotator_proto_list.json" + }, + { + "path": "src/v1p4beta1/index.js" + }, + { + "path": "src/v1p4beta1/product_search_client.js" + }, + { + "path": "src/v1p4beta1/image_annotator_client_config.json" + }, + { + "path": "src/v1p4beta1/image_annotator_client.js" + }, + { + "path": "src/v1p4beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p4beta1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1p4beta1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1p4beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_field_mask.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_timestamp.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_empty.js" + }, + { + "path": "src/v1p1beta1/image_annotator_proto_list.json" + }, + { + "path": "src/v1p1beta1/index.js" + }, + { + "path": "src/v1p1beta1/image_annotator_client_config.json" + }, + { + "path": "src/v1p1beta1/image_annotator_client.js" + }, + { + "path": "src/v1p1beta1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1p1beta1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js" + }, + { + "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p1beta1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "__pycache__/synth.cpython-36.pyc" + }, + { + "path": "samples/README.md" + }, + { + "path": "samples/package.json" + }, + { + "path": "samples/setEndpoint.js" + }, + { + "path": "samples/detect.v1p1beta1.js" + }, + { + "path": "samples/detect.v1p3beta1.js" + }, + { + "path": "samples/textDetection.js" + }, + { + "path": "samples/.eslintrc.yml" + }, + { + "path": "samples/async-batch-annotate-images.js" + }, + { + "path": "samples/quickstart.js" + }, + { + "path": "samples/batch-annotate-files-gcs.js" + }, + { + "path": "samples/faceDetection.js" + }, + { + "path": "samples/detect.js" + }, + { + "path": "samples/batch-annotate-files.js" + }, + { + "path": "samples/productSearch/referenceImages.js" + }, + { + "path": "samples/productSearch/importProductSets.js" + }, + { + "path": "samples/productSearch/products.js" + }, + { + "path": "samples/productSearch/productSearch.js" + }, + { + "path": "samples/productSearch/productSets.js" + }, + { + "path": "samples/productSearch/similarProducts.js" + }, + { + "path": "samples/system-test/products.test.js" + }, + { + "path": "samples/system-test/setEndpoint.test.js" + }, + { + "path": "samples/system-test/quickstart.test.js" + }, + { + "path": "samples/system-test/batch-annotate-files-gcs.test.js" + }, + { + "path": "samples/system-test/async-batch-annotate-images.test.js" + }, + { + "path": "samples/system-test/detect.test.js" + }, + { + "path": "samples/system-test/referenceImages.test.js" + }, + { + "path": "samples/system-test/productSets.test.js" + }, + { + "path": "samples/system-test/textDetection.test.js" + }, + { + "path": "samples/system-test/similarProducts.test.js" + }, + { + "path": "samples/system-test/batch-annotate-files.test.js" + }, + { + "path": "samples/system-test/.eslintrc.yml" + }, + { + "path": "samples/system-test/detect.v1p3beta1.test.js" + }, + { + "path": "samples/system-test/importProductSets.test.js" + }, + { + "path": "samples/system-test/faceDetection.test.js" + }, + { + "path": "samples/system-test/detect.v1p1beta1.test.js" + }, + { + "path": "samples/system-test/productSearch.test.js" + }, + { + "path": "samples/resources/no-text.jpg" + }, + { + "path": "samples/resources/shoes_1.jpg" + }, + { + "path": "samples/resources/logos.png" + }, + { + "path": "samples/resources/water.jpg" + }, + { + "path": "samples/resources/face.png" + }, + { + "path": "samples/resources/bicycle.jpg" + }, + { + "path": "samples/resources/sabertooth.gif" + }, + { + "path": "samples/resources/text.jpg" + }, + { + "path": "samples/resources/landmark.jpg" + }, + { + "path": "samples/resources/city.jpg" + }, + { + "path": "samples/resources/google.png" + }, + { + "path": "samples/resources/sunbeamkitties.jpg" + }, + { + "path": "samples/resources/faulkner.jpg" + }, + { + "path": "samples/resources/succulents.jpg" + }, + { + "path": "samples/resources/face_no_surprise.jpg" + }, + { + "path": "samples/resources/wakeupcat.jpg" + }, + { + "path": "samples/resources/duck_and_truck.jpg" + }, + { + "path": "samples/resources/mountain.jpg" + }, + { + "path": "samples/resources/cat.jpg" + }, + { + "path": "samples/resources/handwritten.jpg" + }, + { + "path": "samples/resources/pdf-ocr.pdf" + }, + { + "path": "samples/resources/bonito.gif" + }, + { + "path": ".github/PULL_REQUEST_TEMPLATE.md" + }, + { + "path": ".github/release-please.yml" + }, + { + "path": ".github/ISSUE_TEMPLATE/support_request.md" + }, + { + "path": ".github/ISSUE_TEMPLATE/feature_request.md" + }, + { + "path": ".github/ISSUE_TEMPLATE/bug_report.md" + }, + { + "path": ".kokoro/test.sh" + }, + { + "path": ".kokoro/docs.sh" + }, + { + "path": ".kokoro/samples-test.sh" + }, + { + "path": ".kokoro/.gitattributes" + }, + { + "path": ".kokoro/trampoline.sh" + }, + { + "path": ".kokoro/lint.sh" + }, + { + "path": ".kokoro/publish.sh" + }, + { + "path": ".kokoro/test.bat" + }, + { + "path": ".kokoro/common.cfg" + }, + { + "path": ".kokoro/system-test.sh" + }, + { + "path": ".kokoro/release/docs.cfg" + }, + { + "path": ".kokoro/release/docs.sh" + }, + { + "path": ".kokoro/release/publish.cfg" + }, + { + "path": ".kokoro/continuous/node10/lint.cfg" + }, + { + "path": ".kokoro/continuous/node10/docs.cfg" + }, + { + "path": ".kokoro/continuous/node10/test.cfg" + }, + { + "path": ".kokoro/continuous/node10/system-test.cfg" + }, + { + "path": ".kokoro/continuous/node10/samples-test.cfg" + }, + { + "path": ".kokoro/continuous/node10/common.cfg" + }, + { + "path": ".kokoro/continuous/node8/test.cfg" + }, + { + "path": ".kokoro/continuous/node8/common.cfg" + }, + { + "path": ".kokoro/continuous/node12/test.cfg" + }, + { + "path": ".kokoro/continuous/node12/common.cfg" + }, + { + "path": ".kokoro/presubmit/node10/lint.cfg" + }, + { + "path": ".kokoro/presubmit/node10/docs.cfg" + }, + { + "path": ".kokoro/presubmit/node10/test.cfg" + }, + { + "path": ".kokoro/presubmit/node10/system-test.cfg" + }, + { + "path": ".kokoro/presubmit/node10/samples-test.cfg" + }, + { + "path": ".kokoro/presubmit/node10/common.cfg" + }, + { + "path": ".kokoro/presubmit/node8/test.cfg" + }, + { + "path": ".kokoro/presubmit/node8/common.cfg" + }, + { + "path": ".kokoro/presubmit/node12/test.cfg" + }, + { + "path": ".kokoro/presubmit/node12/common.cfg" + }, + { + "path": ".kokoro/presubmit/windows/test.cfg" + }, + { + "path": ".kokoro/presubmit/windows/common.cfg" + }, + { + "path": "protos/protos.json" + }, + { + "path": "protos/protos.js" + }, + { + "path": "protos/protos.d.ts" + }, + { + "path": "protos/google/cloud/vision/v1/product_search_service.proto" + }, + { + "path": "protos/google/cloud/vision/v1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1/product_search.proto" + }, + { + "path": "protos/google/cloud/vision/v1/web_detection.proto" + }, + { + "path": "protos/google/cloud/vision/v1/geometry.proto" + }, + { + "path": "protos/google/cloud/vision/v1p2beta1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1p2beta1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1p2beta1/web_detection.proto" + }, + { + "path": "protos/google/cloud/vision/v1p2beta1/geometry.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/product_search_service.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/product_search.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/web_detection.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/geometry.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/product_search_service.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/face.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/product_search.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/web_detection.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/geometry.proto" + }, + { + "path": "protos/google/cloud/vision/v1p1beta1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1p1beta1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1p1beta1/web_detection.proto" + }, + { + "path": "protos/google/cloud/vision/v1p1beta1/geometry.proto" + }, + { + "path": ".git/packed-refs" + }, + { + "path": ".git/HEAD" + }, + { + "path": ".git/config" + }, + { + "path": ".git/index" + }, + { + "path": ".git/logs/HEAD" + }, + { + "path": ".git/logs/refs/remotes/origin/HEAD" + }, + { + "path": ".git/logs/refs/heads/autosynth" + }, + { + "path": ".git/logs/refs/heads/master" + }, + { + "path": ".git/refs/remotes/origin/HEAD" + }, + { + "path": ".git/refs/heads/autosynth" + }, + { + "path": ".git/refs/heads/master" + }, + { + "path": ".git/objects/pack/pack-03b22cb9eaead35a9d3c0bfd3b42f6648253a3bf.pack" + }, + { + "path": ".git/objects/pack/pack-03b22cb9eaead35a9d3c0bfd3b42f6648253a3bf.idx" + }, + { + "path": "test/gapic-v1p2beta1.js" + }, + { + "path": "test/helpers.test.js" + }, + { + "path": "test/gapic-v1p3beta1.js" + }, + { + "path": "test/.eslintrc.yml" + }, + { + "path": "test/gapic-v1.js" + }, + { + "path": "test/gapic-v1p1beta1.js" + }, + { + "path": "test/index.test.js" + }, + { + "path": "test/gapic-v1p4beta1.js" + }, + { + "path": "test/mocha.opts" + }, + { + "path": "system-test/vision.js" + }, + { + "path": "system-test/image_annotator_smoke_test.js" + }, + { + "path": "system-test/.eslintrc.yml" + }, + { + "path": "system-test/vision-v1p2beta1.js" + }, + { + "path": "system-test/data/rushmore.jpg" + }, + { + "path": "system-test/data/text.png" + }, + { + "path": "system-test/data/document.jpg" + }, + { + "path": "system-test/data/logo.jpg" + }, + { + "path": "node_modules/strip-bom/package.json" + }, + { + "path": "node_modules/string-width/package.json" + }, + { + "path": "node_modules/string-width/node_modules/strip-ansi/package.json" + }, + { + "path": "node_modules/is-callable/package.json" + }, + { + "path": "node_modules/util-deprecate/package.json" + }, + { + "path": "node_modules/require-directory/package.json" + }, + { + "path": "node_modules/update-notifier/package.json" + }, + { + "path": "node_modules/update-notifier/node_modules/configstore/package.json" + }, + { + "path": "node_modules/update-notifier/node_modules/dot-prop/package.json" + }, + { + "path": "node_modules/update-notifier/node_modules/is-obj/package.json" + }, + { + "path": "node_modules/update-notifier/node_modules/write-file-atomic/package.json" + }, + { + "path": "node_modules/update-notifier/node_modules/xdg-basedir/package.json" + }, + { + "path": "node_modules/update-notifier/node_modules/crypto-random-string/package.json" + }, + { + "path": "node_modules/update-notifier/node_modules/unique-string/package.json" + }, + { + "path": "node_modules/update-notifier/node_modules/make-dir/package.json" + }, + { + "path": "node_modules/esprima/package.json" + }, + { + "path": "node_modules/string_decoder/package.json" + }, + { + "path": "node_modules/mocha/package.json" + }, + { + "path": "node_modules/mocha/node_modules/locate-path/package.json" + }, + { + "path": "node_modules/mocha/node_modules/find-up/package.json" + }, + { + "path": "node_modules/mocha/node_modules/yargs-parser/package.json" + }, + { + "path": "node_modules/mocha/node_modules/supports-color/package.json" + }, + { + "path": "node_modules/mocha/node_modules/camelcase/package.json" + }, + { + "path": "node_modules/mocha/node_modules/p-locate/package.json" + }, + { + "path": "node_modules/mocha/node_modules/glob/package.json" + }, + { + "path": "node_modules/mocha/node_modules/ms/package.json" + }, + { + "path": "node_modules/mocha/node_modules/strip-json-comments/package.json" + }, + { + "path": "node_modules/is-arguments/package.json" + }, + { + "path": "node_modules/istanbul-lib-source-maps/package.json" + }, + { + "path": "node_modules/istanbul-lib-source-maps/node_modules/semver/package.json" + }, + { + "path": "node_modules/istanbul-lib-source-maps/node_modules/pify/package.json" + }, + { + "path": "node_modules/istanbul-lib-source-maps/node_modules/make-dir/package.json" + }, + { + "path": "node_modules/istanbul-lib-source-maps/node_modules/debug/package.json" + }, + { + "path": "node_modules/snakeize/package.json" + }, + { + "path": "node_modules/core-util-is/package.json" + }, + { + "path": "node_modules/wrap-ansi/package.json" + }, + { + "path": "node_modules/wrap-ansi/node_modules/string-width/package.json" + }, + { + "path": "node_modules/wrap-ansi/node_modules/emoji-regex/package.json" + }, + { + "path": "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/minimist-options/package.json" + }, + { + "path": "node_modules/minimist-options/node_modules/arrify/package.json" + }, + { + "path": "node_modules/underscore/package.json" + }, + { + "path": "node_modules/type-detect/package.json" + }, + { + "path": "node_modules/lodash.flattendeep/package.json" + }, + { + "path": "node_modules/keyv/package.json" + }, + { + "path": "node_modules/glob-parent/package.json" + }, + { + "path": "node_modules/walkdir/package.json" + }, + { + "path": "node_modules/@protobufjs/codegen/package.json" + }, + { + "path": "node_modules/@protobufjs/inquire/package.json" + }, + { + "path": "node_modules/@protobufjs/float/package.json" + }, + { + "path": "node_modules/@protobufjs/base64/package.json" + }, + { + "path": "node_modules/@protobufjs/aspromise/package.json" + }, + { + "path": "node_modules/@protobufjs/eventemitter/package.json" + }, + { + "path": "node_modules/@protobufjs/fetch/package.json" + }, + { + "path": "node_modules/@protobufjs/utf8/package.json" + }, + { + "path": "node_modules/@protobufjs/path/package.json" + }, + { + "path": "node_modules/@protobufjs/pool/package.json" + }, + { + "path": "node_modules/global-dirs/package.json" + }, + { + "path": "node_modules/has-flag/package.json" + }, + { + "path": "node_modules/locate-path/package.json" + }, + { + "path": "node_modules/compressible/package.json" + }, + { + "path": "node_modules/empower-assert/package.json" + }, + { + "path": "node_modules/convert-source-map/package.json" + }, + { + "path": "node_modules/require-main-filename/package.json" + }, + { + "path": "node_modules/bluebird/package.json" + }, + { + "path": "node_modules/string.prototype.trimleft/package.json" + }, + { + "path": "node_modules/range-parser/package.json" + }, + { + "path": "node_modules/espower-loader/package.json" + }, + { + "path": "node_modules/defer-to-connect/package.json" + }, + { + "path": "node_modules/duplexer3/package.json" + }, + { + "path": "node_modules/indent-string/package.json" + }, + { + "path": "node_modules/eslint/package.json" + }, + { + "path": "node_modules/eslint/node_modules/debug/package.json" + }, + { + "path": "node_modules/append-transform/package.json" + }, + { + "path": "node_modules/got/package.json" + }, + { + "path": "node_modules/got/node_modules/get-stream/package.json" + }, + { + "path": "node_modules/estraverse/package.json" + }, + { + "path": "node_modules/mdurl/package.json" + }, + { + "path": "node_modules/eslint-plugin-node/package.json" + }, + { + "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" + }, + { + "path": "node_modules/resolve-from/package.json" + }, + { + "path": "node_modules/type-name/package.json" + }, + { + "path": "node_modules/lodash/package.json" + }, + { + "path": "node_modules/strip-ansi/package.json" + }, + { + "path": "node_modules/strip-ansi/node_modules/ansi-regex/package.json" + }, + { + "path": "node_modules/safe-buffer/package.json" + }, + { + "path": "node_modules/@szmarczak/http-timer/package.json" + }, + { + "path": "node_modules/parent-module/package.json" + }, + { + "path": "node_modules/object-keys/package.json" + }, + { + "path": "node_modules/write/package.json" + }, + { + "path": "node_modules/configstore/package.json" + }, + { + "path": "node_modules/dot-prop/package.json" + }, + { + "path": "node_modules/import-fresh/package.json" + }, + { + "path": "node_modules/mute-stream/package.json" + }, + { + "path": "node_modules/wide-align/package.json" + }, + { + "path": "node_modules/wide-align/node_modules/string-width/package.json" + }, + { + "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" + }, + { + "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" + }, + { + "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/eslint-scope/package.json" + }, + { + "path": "node_modules/is-promise/package.json" + }, + { + "path": "node_modules/es6-map/package.json" + }, + { + "path": "node_modules/p-finally/package.json" + }, + { + "path": "node_modules/es6-set/package.json" + }, + { + "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" + }, + { + "path": "node_modules/array-find/package.json" + }, + { + "path": "node_modules/js2xmlparser/package.json" + }, + { + "path": "node_modules/istanbul-reports/package.json" + }, + { + "path": "node_modules/indexof/package.json" + }, + { + "path": "node_modules/progress/package.json" + }, + { + "path": "node_modules/registry-url/package.json" + }, + { + "path": "node_modules/google-gax/package.json" + }, + { + "path": "node_modules/mimic-response/package.json" + }, + { + "path": "node_modules/figures/package.json" + }, + { + "path": "node_modules/eslint-config-prettier/package.json" + }, + { + "path": "node_modules/argparse/package.json" + }, + { + "path": "node_modules/type/package.json" + }, + { + "path": "node_modules/domhandler/package.json" + }, + { + "path": "node_modules/error-ex/package.json" + }, + { + "path": "node_modules/ansi-colors/package.json" + }, + { + "path": "node_modules/safer-buffer/package.json" + }, + { + "path": "node_modules/type-fest/package.json" + }, + { + "path": "node_modules/strip-indent/package.json" + }, + { + "path": "node_modules/boxen/package.json" + }, + { + "path": "node_modules/boxen/node_modules/string-width/package.json" + }, + { + "path": "node_modules/boxen/node_modules/type-fest/package.json" + }, + { + "path": "node_modules/boxen/node_modules/camelcase/package.json" + }, + { + "path": "node_modules/boxen/node_modules/emoji-regex/package.json" + }, + { + "path": "node_modules/boxen/node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/flat-cache/package.json" + }, + { + "path": "node_modules/release-zalgo/package.json" + }, + { + "path": "node_modules/has-symbols/package.json" + }, + { + "path": "node_modules/gcp-metadata/package.json" + }, + { + "path": "node_modules/ansi-align/package.json" + }, + { + "path": "node_modules/ansi-align/node_modules/string-width/package.json" + }, + { + "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" + }, + { + "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/find-up/package.json" + }, + { + "path": "node_modules/log-symbols/package.json" + }, + { + "path": "node_modules/merge-estraverse-visitors/package.json" + }, + { + "path": "node_modules/hash-stream-validation/package.json" + }, + { + "path": "node_modules/hash-stream-validation/node_modules/through2/package.json" + }, + { + "path": "node_modules/is-extglob/package.json" + }, + { + "path": "node_modules/json-stable-stringify-without-jsonify/package.json" + }, + { + "path": "node_modules/prettier/package.json" + }, + { + "path": "node_modules/jsonexport/package.json" + }, + { + "path": "node_modules/wrappy/package.json" + }, + { + "path": "node_modules/npm-run-path/package.json" + }, + { + "path": "node_modules/istanbul-lib-instrument/package.json" + }, + { + "path": "node_modules/map-obj/package.json" + }, + { + "path": "node_modules/term-size/package.json" + }, + { + "path": "node_modules/destroy/package.json" + }, + { + "path": "node_modules/growl/package.json" + }, + { + "path": "node_modules/http-proxy-agent/package.json" + }, + { + "path": "node_modules/http-proxy-agent/node_modules/agent-base/package.json" + }, + { + "path": "node_modules/http-proxy-agent/node_modules/debug/package.json" + }, + { + "path": "node_modules/json-schema-traverse/package.json" + }, + { + "path": "node_modules/taffydb/package.json" + }, + { + "path": "node_modules/cross-spawn/README.md" + }, + { + "path": "node_modules/cross-spawn/package.json" + }, + { + "path": "node_modules/cross-spawn/CHANGELOG.md" + }, + { + "path": "node_modules/cross-spawn/index.js" + }, + { + "path": "node_modules/cross-spawn/LICENSE" + }, + { + "path": "node_modules/cross-spawn/lib/parse.js" + }, + { + "path": "node_modules/cross-spawn/lib/enoent.js" + }, + { + "path": "node_modules/cross-spawn/lib/util/escape.js" + }, + { + "path": "node_modules/cross-spawn/lib/util/resolveCommand.js" + }, + { + "path": "node_modules/cross-spawn/lib/util/readShebang.js" + }, + { + "path": "node_modules/cross-spawn/node_modules/semver/package.json" + }, + { + "path": "node_modules/loud-rejection/package.json" + }, + { + "path": "node_modules/is-glob/package.json" + }, + { + "path": "node_modules/get-stream/package.json" + }, + { + "path": "node_modules/@sinonjs/formatio/package.json" + }, + { + "path": "node_modules/@sinonjs/text-encoding/package.json" + }, + { + "path": "node_modules/@sinonjs/commons/package.json" + }, + { + "path": "node_modules/@sinonjs/samsam/package.json" + }, + { + "path": "node_modules/uglify-js/package.json" + }, + { + "path": "node_modules/nyc/package.json" + }, + { + "path": "node_modules/nyc/node_modules/locate-path/package.json" + }, + { + "path": "node_modules/nyc/node_modules/find-up/package.json" + }, + { + "path": "node_modules/nyc/node_modules/yargs-parser/package.json" + }, + { + "path": "node_modules/nyc/node_modules/semver/package.json" + }, + { + "path": "node_modules/nyc/node_modules/pify/package.json" + }, + { + "path": "node_modules/nyc/node_modules/camelcase/package.json" + }, + { + "path": "node_modules/nyc/node_modules/p-locate/package.json" + }, + { + "path": "node_modules/nyc/node_modules/make-dir/package.json" + }, + { + "path": "node_modules/optimist/package.json" + }, + { + "path": "node_modules/merge-source-map/package.json" + }, + { + "path": "node_modules/empower/package.json" + }, + { + "path": "node_modules/cacheable-request/package.json" + }, + { + "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" + }, + { + "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" + }, + { + "path": "node_modules/is-ci/package.json" + }, + { + "path": "node_modules/server-destroy/package.json" + }, + { + "path": "node_modules/json-parse-better-errors/package.json" + }, + { + "path": "node_modules/core-js/package.json" + }, + { + "path": "node_modules/set-blocking/package.json" + }, + { + "path": "node_modules/next-tick/package.json" + }, + { + "path": "node_modules/catharsis/package.json" + }, + { + "path": "node_modules/rimraf/package.json" + }, + { + "path": "node_modules/agent-base/package.json" + }, + { + "path": "node_modules/json-bigint/package.json" + }, + { + "path": "node_modules/spdx-exceptions/package.json" + }, + { + "path": "node_modules/color-name/package.json" + }, + { + "path": "node_modules/through/package.json" + }, + { + "path": "node_modules/ent/package.json" + }, + { + "path": "node_modules/jws/package.json" + }, + { + "path": "node_modules/path-to-regexp/package.json" + }, + { + "path": "node_modules/path-to-regexp/node_modules/isarray/package.json" + }, + { + "path": "node_modules/inquirer/package.json" + }, + { + "path": "node_modules/etag/package.json" + }, + { + "path": "node_modules/power-assert-formatter/package.json" + }, + { + "path": "node_modules/text-table/package.json" + }, + { + "path": "node_modules/color-convert/package.json" + }, + { + "path": "node_modules/escope/package.json" + }, + { + "path": "node_modules/ansi-regex/package.json" + }, + { + "path": "node_modules/istanbul-lib-hook/package.json" + }, + { + "path": "node_modules/is-installed-globally/package.json" + }, + { + "path": "node_modules/redent/package.json" + }, + { + "path": "node_modules/is-buffer/package.json" + }, + { + "path": "node_modules/esrecurse/package.json" + }, + { + "path": "node_modules/decamelize/package.json" + }, + { + "path": "node_modules/parse-json/package.json" + }, + { + "path": "node_modules/mime/package.json" + }, + { + "path": "node_modules/google-auth-library/package.json" + }, + { + "path": "node_modules/ignore/package.json" + }, + { + "path": "node_modules/just-extend/package.json" + }, + { + "path": "node_modules/depd/package.json" + }, + { + "path": "node_modules/camelcase-keys/package.json" + }, + { + "path": "node_modules/ansi-escapes/package.json" + }, + { + "path": "node_modules/concat-stream/package.json" + }, + { + "path": "node_modules/concat-stream/node_modules/readable-stream/package.json" + }, + { + "path": "node_modules/decompress-response/package.json" + }, + { + "path": "node_modules/end-of-stream/package.json" + }, + { + "path": "node_modules/diff-match-patch/package.json" + }, + { + "path": "node_modules/amdefine/package.json" + }, + { + "path": "node_modules/event-emitter/package.json" + }, + { + "path": "node_modules/diff/package.json" + }, + { + "path": "node_modules/tmp/package.json" + }, + { + "path": "node_modules/source-map/package.json" + }, + { + "path": "node_modules/is-obj/package.json" + }, + { + "path": "node_modules/cp-file/package.json" + }, + { + "path": "node_modules/cp-file/node_modules/semver/package.json" + }, + { + "path": "node_modules/cp-file/node_modules/pify/package.json" + }, + { + "path": "node_modules/cp-file/node_modules/make-dir/package.json" + }, + { + "path": "node_modules/yargs-parser/package.json" + }, + { + "path": "node_modules/teeny-request/package.json" + }, + { + "path": "node_modules/teeny-request/node_modules/agent-base/package.json" + }, + { + "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" + }, + { + "path": "node_modules/teeny-request/node_modules/debug/package.json" + }, + { + "path": "node_modules/escape-string-regexp/package.json" + }, + { + "path": "node_modules/es-abstract/package.json" + }, + { + "path": "node_modules/linkinator/package.json" + }, + { + "path": "node_modules/linkinator/node_modules/has-flag/package.json" + }, + { + "path": "node_modules/linkinator/node_modules/color-name/package.json" + }, + { + "path": "node_modules/linkinator/node_modules/color-convert/package.json" + }, + { + "path": "node_modules/linkinator/node_modules/supports-color/package.json" + }, + { + "path": "node_modules/linkinator/node_modules/ansi-styles/package.json" + }, + { + "path": "node_modules/linkinator/node_modules/chalk/package.json" + }, + { + "path": "node_modules/import-lazy/package.json" + }, + { + "path": "node_modules/inflight/package.json" + }, + { + "path": "node_modules/concat-map/package.json" + }, + { + "path": "node_modules/object.assign/package.json" + }, + { + "path": "node_modules/es6-symbol/package.json" + }, + { + "path": "node_modules/semver/package.json" + }, + { + "path": "node_modules/jsdoc-fresh/package.json" + }, + { + "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" + }, + { + "path": "node_modules/is-typedarray/package.json" + }, + { + "path": "node_modules/htmlparser2/package.json" + }, + { + "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" + }, + { + "path": "node_modules/cli-boxes/package.json" + }, + { + "path": "node_modules/stubs/package.json" + }, + { + "path": "node_modules/supports-color/package.json" + }, + { + "path": "node_modules/path-key/package.json" + }, + { + "path": "node_modules/lru-cache/package.json" + }, + { + "path": "node_modules/rc/package.json" + }, + { + "path": "node_modules/rc/node_modules/minimist/package.json" + }, + { + "path": "node_modules/rc/node_modules/strip-json-comments/package.json" + }, + { + "path": "node_modules/yargs-unparser/package.json" + }, + { + "path": "node_modules/abort-controller/package.json" + }, + { + "path": "node_modules/http-errors/package.json" + }, + { + "path": "node_modules/marked/package.json" + }, + { + "path": "node_modules/is-plain-obj/package.json" + }, + { + "path": "node_modules/minimatch/package.json" + }, + { + "path": "node_modules/send/package.json" + }, + { + "path": "node_modules/send/node_modules/mime/package.json" + }, + { + "path": "node_modules/send/node_modules/ms/package.json" + }, + { + "path": "node_modules/send/node_modules/debug/package.json" + }, + { + "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" + }, + { + "path": "node_modules/css-select/package.json" + }, + { + "path": "node_modules/uri-js/package.json" + }, + { + "path": "node_modules/google-p12-pem/package.json" + }, + { + "path": "node_modules/spdx-license-ids/package.json" + }, + { + "path": "node_modules/yallist/package.json" + }, + { + "path": "node_modules/setprototypeof/package.json" + }, + { + "path": "node_modules/hosted-git-info/package.json" + }, + { + "path": "node_modules/argv/package.json" + }, + { + "path": "node_modules/package-json/package.json" + }, + { + "path": "node_modules/write-file-atomic/package.json" + }, + { + "path": "node_modules/external-editor/package.json" + }, + { + "path": "node_modules/@sindresorhus/is/package.json" + }, + { + "path": "node_modules/lodash.camelcase/package.json" + }, + { + "path": "node_modules/arrify/package.json" + }, + { + "path": "node_modules/gcs-resumable-upload/package.json" + }, + { + "path": "node_modules/default-require-extensions/package.json" + }, + { + "path": "node_modules/ansi-styles/package.json" + }, + { + "path": "node_modules/parseurl/package.json" + }, + { + "path": "node_modules/boolbase/package.json" + }, + { + "path": "node_modules/is/package.json" + }, + { + "path": "node_modules/cliui/package.json" + }, + { + "path": "node_modules/cliui/node_modules/string-width/package.json" + }, + { + "path": "node_modules/cliui/node_modules/emoji-regex/package.json" + }, + { + "path": "node_modules/cliui/node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/balanced-match/package.json" + }, + { + "path": "node_modules/acorn/package.json" + }, + { + "path": "node_modules/load-json-file/package.json" + }, + { + "path": "node_modules/widest-line/package.json" + }, + { + "path": "node_modules/widest-line/node_modules/string-width/package.json" + }, + { + "path": "node_modules/widest-line/node_modules/strip-ansi/package.json" + }, + { + "path": "node_modules/widest-line/node_modules/ansi-regex/package.json" + }, + { + "path": "node_modules/widest-line/node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/which/package.json" + }, + { + "path": "node_modules/prettier-linter-helpers/package.json" + }, + { + "path": "node_modules/object-inspect/package.json" + }, + { + "path": "node_modules/retry-request/package.json" + }, + { + "path": "node_modules/retry-request/node_modules/debug/package.json" + }, + { + "path": "node_modules/is-arrayish/package.json" + }, + { + "path": "node_modules/shebang-regex/package.json" + }, + { + "path": "node_modules/clone-response/package.json" + }, + { + "path": "node_modules/deep-is/package.json" + }, + { + "path": "node_modules/regexpp/package.json" + }, + { + "path": "node_modules/hasha/package.json" + }, + { + "path": "node_modules/hasha/node_modules/is-stream/package.json" + }, + { + "path": "node_modules/node-forge/package.json" + }, + { + "path": "node_modules/power-assert/package.json" + }, + { + "path": "node_modules/path-is-absolute/package.json" + }, + { + "path": "node_modules/ignore-walk/package.json" + }, + { + "path": "node_modules/finalhandler/package.json" + }, + { + "path": "node_modules/finalhandler/node_modules/ms/package.json" + }, + { + "path": "node_modules/finalhandler/node_modules/debug/package.json" + }, + { + "path": "node_modules/source-map-support/package.json" + }, + { + "path": "node_modules/source-map-support/node_modules/source-map/package.json" + }, + { + "path": "node_modules/stream-events/package.json" + }, + { + "path": "node_modules/buffer-equal-constant-time/package.json" + }, + { + "path": "node_modules/path-parse/package.json" + }, + { + "path": "node_modules/decamelize-keys/package.json" + }, + { + "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" + }, + { + "path": "node_modules/os-tmpdir/package.json" + }, + { + "path": "node_modules/power-assert-util-string-width/package.json" + }, + { + "path": "node_modules/url-parse-lax/package.json" + }, + { + "path": "node_modules/linkify-it/package.json" + }, + { + "path": "node_modules/minimist/package.json" + }, + { + "path": "node_modules/fresh/package.json" + }, + { + "path": "node_modules/power-assert-context-formatter/package.json" + }, + { + "path": "node_modules/is-stream/package.json" + }, + { + "path": "node_modules/call-matcher/package.json" + }, + { + "path": "node_modules/os-homedir/package.json" + }, + { + "path": "node_modules/is-stream-ended/package.json" + }, + { + "path": "node_modules/slice-ansi/package.json" + }, + { + "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/onetime/package.json" + }, + { + "path": "node_modules/spdx-correct/package.json" + }, + { + "path": "node_modules/fast-deep-equal/package.json" + }, + { + "path": "node_modules/readable-stream/package.json" + }, + { + "path": "node_modules/xdg-basedir/package.json" + }, + { + "path": "node_modules/v8-compile-cache/package.json" + }, + { + "path": "node_modules/callsites/package.json" + }, + { + "path": "node_modules/power-assert-renderer-assertion/package.json" + }, + { + "path": "node_modules/pify/package.json" + }, + { + "path": "node_modules/stream-shift/package.json" + }, + { + "path": "node_modules/crypto-random-string/package.json" + }, + { + "path": "node_modules/escodegen/package.json" + }, + { + "path": "node_modules/escodegen/node_modules/esprima/package.json" + }, + { + "path": "node_modules/entities/package.json" + }, + { + "path": "node_modules/object.getownpropertydescriptors/package.json" + }, + { + "path": "node_modules/power-assert-renderer-file/package.json" + }, + { + "path": "node_modules/unpipe/package.json" + }, + { + "path": "node_modules/array-filter/package.json" + }, + { + "path": "node_modules/archy/package.json" + }, + { + "path": "node_modules/es6-error/package.json" + }, + { + "path": "node_modules/strip-eof/package.json" + }, + { + "path": "node_modules/is-path-inside/package.json" + }, + { + "path": "node_modules/ini/package.json" + }, + { + "path": "node_modules/currently-unhandled/package.json" + }, + { + "path": "node_modules/package-hash/package.json" + }, + { + "path": "node_modules/validate-npm-package-license/package.json" + }, + { + "path": "node_modules/bignumber.js/package.json" + }, + { + "path": "node_modules/is-yarn-global/package.json" + }, + { + "path": "node_modules/lodash.has/package.json" + }, + { + "path": "node_modules/camelcase/package.json" + }, + { + "path": "node_modules/prelude-ls/package.json" + }, + { + "path": "node_modules/codecov/package.json" + }, + { + "path": "node_modules/codecov/node_modules/teeny-request/package.json" + }, + { + "path": "node_modules/codecov/node_modules/https-proxy-agent/package.json" + }, + { + "path": "node_modules/es6-promise/package.json" + }, + { + "path": "node_modules/doctrine/package.json" + }, + { + "path": "node_modules/path-exists/package.json" + }, + { + "path": "node_modules/deep-extend/package.json" + }, + { + "path": "node_modules/nth-check/package.json" + }, + { + "path": "node_modules/isarray/package.json" + }, + { + "path": "node_modules/es-to-primitive/package.json" + }, + { + "path": "node_modules/https-proxy-agent/package.json" + }, + { + "path": "node_modules/eslint-plugin-es/package.json" + }, + { + "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" + }, + { + "path": "node_modules/path-type/package.json" + }, + { + "path": "node_modules/pumpify/package.json" + }, + { + "path": "node_modules/pumpify/node_modules/readable-stream/package.json" + }, + { + "path": "node_modules/pumpify/node_modules/duplexify/package.json" + }, + { + "path": "node_modules/fast-json-stable-stringify/package.json" + }, + { + "path": "node_modules/p-locate/package.json" + }, + { + "path": "node_modules/p-locate/node_modules/p-limit/package.json" + }, + { + "path": "node_modules/p-locate/node_modules/p-try/package.json" + }, + { + "path": "node_modules/intelli-espower-loader/package.json" + }, + { + "path": "node_modules/node-fetch/package.json" + }, + { + "path": "node_modules/registry-auth-token/package.json" + }, + { + "path": "node_modules/esutils/package.json" + }, + { + "path": "node_modules/which-module/package.json" + }, + { + "path": "node_modules/jsesc/package.json" + }, + { + "path": "node_modules/function-bind/package.json" + }, + { + "path": "node_modules/trim-newlines/package.json" + }, + { + "path": "node_modules/event-target-shim/package.json" + }, + { + "path": "node_modules/commondir/package.json" + }, + { + "path": "node_modules/on-finished/package.json" + }, + { + "path": "node_modules/y18n/package.json" + }, + { + "path": "node_modules/quick-lru/package.json" + }, + { + "path": "node_modules/js-yaml/package.json" + }, + { + "path": "node_modules/flat/package.json" + }, + { + "path": "node_modules/normalize-package-data/package.json" + }, + { + "path": "node_modules/normalize-package-data/node_modules/semver/package.json" + }, + { + "path": "node_modules/es6-iterator/package.json" + }, + { + "path": "node_modules/mkdirp/package.json" + }, + { + "path": "node_modules/fast-text-encoding/package.json" + }, + { + "path": "node_modules/acorn-es7-plugin/package.json" + }, + { + "path": "node_modules/through2/package.json" + }, + { + "path": "node_modules/eslint-visitor-keys/package.json" + }, + { + "path": "node_modules/glob/package.json" + }, + { + "path": "node_modules/inherits/package.json" + }, + { + "path": "node_modules/string.prototype.trimright/package.json" + }, + { + "path": "node_modules/punycode/package.json" + }, + { + "path": "node_modules/es5-ext/package.json" + }, + { + "path": "node_modules/is-date-object/package.json" + }, + { + "path": "node_modules/sprintf-js/package.json" + }, + { + "path": "node_modules/is-npm/package.json" + }, + { + "path": "node_modules/has-yarn/package.json" + }, + { + "path": "node_modules/get-stdin/package.json" + }, + { + "path": "node_modules/shebang-command/package.json" + }, + { + "path": "node_modules/empower-core/package.json" + }, + { + "path": "node_modules/imurmurhash/package.json" + }, + { + "path": "node_modules/globals/package.json" + }, + { + "path": "node_modules/latest-version/package.json" + }, + { + "path": "node_modules/natural-compare/package.json" + }, + { + "path": "node_modules/commander/package.json" + }, + { + "path": "node_modules/path-is-inside/package.json" + }, + { + "path": "node_modules/rxjs/package.json" + }, + { + "path": "node_modules/node-environment-flags/package.json" + }, + { + "path": "node_modules/node-environment-flags/node_modules/semver/package.json" + }, + { + "path": "node_modules/p-limit/package.json" + }, + { + "path": "node_modules/call-signature/package.json" + }, + { + "path": "node_modules/istanbul-lib-coverage/package.json" + }, + { + "path": "node_modules/neo-async/package.json" + }, + { + "path": "node_modules/foreground-child/package.json" + }, + { + "path": "node_modules/foreground-child/node_modules/cross-spawn/package.json" + }, + { + "path": "node_modules/foreground-child/node_modules/lru-cache/package.json" + }, + { + "path": "node_modules/foreground-child/node_modules/yallist/package.json" + }, + { + "path": "node_modules/he/package.json" + }, + { + "path": "node_modules/mime-types/package.json" + }, + { + "path": "node_modules/meow/package.json" + }, + { + "path": "node_modules/toidentifier/package.json" + }, + { + "path": "node_modules/execa/package.json" + }, + { + "path": "node_modules/execa/node_modules/cross-spawn/package.json" + }, + { + "path": "node_modules/execa/node_modules/lru-cache/package.json" + }, + { + "path": "node_modules/execa/node_modules/yallist/package.json" + }, + { + "path": "node_modules/execa/node_modules/is-stream/package.json" + }, + { + "path": "node_modules/levn/package.json" + }, + { + "path": "node_modules/sinon/package.json" + }, + { + "path": "node_modules/unique-string/package.json" + }, + { + "path": "node_modules/gaxios/package.json" + }, + { + "path": "node_modules/power-assert-renderer-base/package.json" + }, + { + "path": "node_modules/browser-stdout/package.json" + }, + { + "path": "node_modules/regexp.prototype.flags/package.json" + }, + { + "path": "node_modules/run-async/package.json" + }, + { + "path": "node_modules/cheerio/package.json" + }, + { + "path": "node_modules/eslint-utils/package.json" + }, + { + "path": "node_modules/prepend-http/package.json" + }, + { + "path": "node_modules/urlgrey/package.json" + }, + { + "path": "node_modules/define-properties/package.json" + }, + { + "path": "node_modules/p-timeout/package.json" + }, + { + "path": "node_modules/cli-cursor/package.json" + }, + { + "path": "node_modules/pump/package.json" + }, + { + "path": "node_modules/stringifier/package.json" + }, + { + "path": "node_modules/espower-location-detector/package.json" + }, + { + "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" + }, + { + "path": "node_modules/escape-html/package.json" + }, + { + "path": "node_modules/http-cache-semantics/package.json" + }, + { + "path": "node_modules/to-readable-stream/package.json" + }, + { + "path": "node_modules/eastasianwidth/package.json" + }, + { + "path": "node_modules/chardet/package.json" + }, + { + "path": "node_modules/js-tokens/package.json" + }, + { + "path": "node_modules/chalk/package.json" + }, + { + "path": "node_modules/is-regex/package.json" + }, + { + "path": "node_modules/ajv/package.json" + }, + { + "path": "node_modules/spdx-expression-parse/package.json" + }, + { + "path": "node_modules/cli-width/package.json" + }, + { + "path": "node_modules/ms/package.json" + }, + { + "path": "node_modules/istanbul-lib-report/package.json" + }, + { + "path": "node_modules/istanbul-lib-report/node_modules/semver/package.json" + }, + { + "path": "node_modules/istanbul-lib-report/node_modules/supports-color/package.json" + }, + { + "path": "node_modules/istanbul-lib-report/node_modules/pify/package.json" + }, + { + "path": "node_modules/istanbul-lib-report/node_modules/make-dir/package.json" + }, + { + "path": "node_modules/base64-js/package.json" + }, + { + "path": "node_modules/encodeurl/package.json" + }, + { + "path": "node_modules/json-buffer/package.json" + }, + { + "path": "node_modules/file-entry-cache/package.json" + }, + { + "path": "node_modules/gtoken/package.json" + }, + { + "path": "node_modules/klaw/package.json" + }, + { + "path": "node_modules/functional-red-black-tree/package.json" + }, + { + "path": "node_modules/dom-serializer/package.json" + }, + { + "path": "node_modules/is-symbol/package.json" + }, + { + "path": "node_modules/@babel/generator/package.json" + }, + { + "path": "node_modules/@babel/generator/node_modules/source-map/package.json" + }, + { + "path": "node_modules/@babel/helper-function-name/package.json" + }, + { + "path": "node_modules/@babel/template/package.json" + }, + { + "path": "node_modules/@babel/helper-split-export-declaration/package.json" + }, + { + "path": "node_modules/@babel/parser/package.json" + }, + { + "path": "node_modules/@babel/helper-get-function-arity/package.json" + }, + { + "path": "node_modules/@babel/types/package.json" + }, + { + "path": "node_modules/@babel/highlight/package.json" + }, + { + "path": "node_modules/@babel/traverse/package.json" + }, + { + "path": "node_modules/@babel/traverse/node_modules/globals/package.json" + }, + { + "path": "node_modules/@babel/traverse/node_modules/debug/package.json" + }, + { + "path": "node_modules/@babel/code-frame/package.json" + }, + { + "path": "node_modules/type-check/package.json" + }, + { + "path": "node_modules/lolex/package.json" + }, + { + "path": "node_modules/iconv-lite/package.json" + }, + { + "path": "node_modules/is-url/package.json" + }, + { + "path": "node_modules/domutils/package.json" + }, + { + "path": "node_modules/nise/package.json" + }, + { + "path": "node_modules/nise/node_modules/lolex/package.json" + }, + { + "path": "node_modules/p-queue/package.json" + }, + { + "path": "node_modules/eventemitter3/package.json" + }, + { + "path": "node_modules/ext/package.json" + }, + { + "path": "node_modules/ext/node_modules/type/package.json" + }, + { + "path": "node_modules/pkg-dir/package.json" + }, + { + "path": "node_modules/pkg-dir/node_modules/locate-path/package.json" + }, + { + "path": "node_modules/pkg-dir/node_modules/find-up/package.json" + }, + { + "path": "node_modules/pkg-dir/node_modules/p-locate/package.json" + }, + { + "path": "node_modules/deep-equal/package.json" + }, + { + "path": "node_modules/mime-db/package.json" + }, + { + "path": "node_modules/parse5/package.json" + }, + { + "path": "node_modules/flatted/package.json" + }, + { + "path": "node_modules/once/package.json" + }, + { + "path": "node_modules/universal-deep-strict-equal/package.json" + }, + { + "path": "node_modules/brace-expansion/package.json" + }, + { + "path": "node_modules/jsdoc-region-tag/package.json" + }, + { + "path": "node_modules/markdown-it-anchor/package.json" + }, + { + "path": "node_modules/traverse/package.json" + }, + { + "path": "node_modules/restore-cursor/package.json" + }, + { + "path": "node_modules/lodash.at/package.json" + }, + { + "path": "node_modules/graceful-fs/package.json" + }, + { + "path": "node_modules/responselike/package.json" + }, + { + "path": "node_modules/pseudomap/package.json" + }, + { + "path": "node_modules/espurify/package.json" + }, + { + "path": "node_modules/espree/package.json" + }, + { + "path": "node_modules/power-assert-renderer-diagram/package.json" + }, + { + "path": "node_modules/word-wrap/package.json" + }, + { + "path": "node_modules/espower-source/package.json" + }, + { + "path": "node_modules/espower-source/node_modules/acorn/package.json" + }, + { + "path": "node_modules/normalize-url/package.json" + }, + { + "path": "node_modules/wordwrap/package.json" + }, + { + "path": "node_modules/ee-first/package.json" + }, + { + "path": "node_modules/table/package.json" + }, + { + "path": "node_modules/table/node_modules/string-width/package.json" + }, + { + "path": "node_modules/table/node_modules/emoji-regex/package.json" + }, + { + "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/handlebars/package.json" + }, + { + "path": "node_modules/es6-weak-map/package.json" + }, + { + "path": "node_modules/to-fast-properties/package.json" + }, + { + "path": "node_modules/protobufjs/package.json" + }, + { + "path": "node_modules/protobufjs/cli/package.json" + }, + { + "path": "node_modules/protobufjs/cli/package-lock.json" + }, + { + "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" + }, + { + "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" + }, + { + "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" + }, + { + "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" + }, + { + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" + }, + { + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" + }, + { + "path": "node_modules/espower/package.json" + }, + { + "path": "node_modules/espower/node_modules/source-map/package.json" + }, + { + "path": "node_modules/date-and-time/package.json" + }, + { + "path": "node_modules/strip-json-comments/package.json" + }, + { + "path": "node_modules/process-nextick-args/package.json" + }, + { + "path": "node_modules/uuid/package.json" + }, + { + "path": "node_modules/array-find-index/package.json" + }, + { + "path": "node_modules/astral-regex/package.json" + }, + { + "path": "node_modules/@grpc/proto-loader/package.json" + }, + { + "path": "node_modules/@grpc/grpc-js/package.json" + }, + { + "path": "node_modules/test-exclude/package.json" + }, + { + "path": "node_modules/test-exclude/node_modules/locate-path/package.json" + }, + { + "path": "node_modules/test-exclude/node_modules/find-up/package.json" + }, + { + "path": "node_modules/test-exclude/node_modules/p-locate/package.json" + }, + { + "path": "node_modules/test-exclude/node_modules/read-pkg-up/package.json" + }, + { + "path": "node_modules/es6-promisify/package.json" + }, + { + "path": "node_modules/p-try/package.json" + }, + { + "path": "node_modules/optionator/package.json" + }, + { + "path": "node_modules/requizzle/package.json" + }, + { + "path": "node_modules/fast-levenshtein/package.json" + }, + { + "path": "node_modules/statuses/package.json" + }, + { + "path": "node_modules/semver-diff/package.json" + }, + { + "path": "node_modules/semver-diff/node_modules/semver/package.json" + }, + { + "path": "node_modules/signal-exit/package.json" + }, + { + "path": "node_modules/jsdoc/package.json" + }, + { + "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" + }, + { + "path": "node_modules/duplexify/package.json" + }, + { + "path": "node_modules/array-from/package.json" + }, + { + "path": "node_modules/object-is/package.json" + }, + { + "path": "node_modules/tslib/package.json" + }, + { + "path": "node_modules/extend/package.json" + }, + { + "path": "node_modules/nested-error-stacks/package.json" + }, + { + "path": "node_modules/power-assert-context-reducer-ast/package.json" + }, + { + "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" + }, + { + "path": "node_modules/css-what/package.json" + }, + { + "path": "node_modules/power-assert-renderer-comparison/package.json" + }, + { + "path": "node_modules/ecdsa-sig-formatter/package.json" + }, + { + "path": "node_modules/typedarray-to-buffer/README.md" + }, + { + "path": "node_modules/typedarray-to-buffer/package.json" + }, + { + "path": "node_modules/typedarray-to-buffer/.travis.yml" + }, + { + "path": "node_modules/typedarray-to-buffer/index.js" + }, + { + "path": "node_modules/typedarray-to-buffer/.airtap.yml" + }, + { + "path": "node_modules/typedarray-to-buffer/LICENSE" + }, + { + "path": "node_modules/typedarray-to-buffer/test/basic.js" + }, + { + "path": "node_modules/spawn-wrap/package.json" + }, + { + "path": "node_modules/markdown-it/package.json" + }, + { + "path": "node_modules/buffer-from/package.json" + }, + { + "path": "node_modules/domelementtype/package.json" + }, + { + "path": "node_modules/ci-info/package.json" + }, + { + "path": "node_modules/@types/color-name/package.json" + }, + { + "path": "node_modules/@types/node/package.json" + }, + { + "path": "node_modules/@types/long/package.json" + }, + { + "path": "node_modules/serve-static/package.json" + }, + { + "path": "node_modules/make-dir/package.json" + }, + { + "path": "node_modules/esquery/package.json" + }, + { + "path": "node_modules/caching-transform/package.json" + }, + { + "path": "node_modules/caching-transform/node_modules/semver/package.json" + }, + { + "path": "node_modules/caching-transform/node_modules/write-file-atomic/package.json" + }, + { + "path": "node_modules/caching-transform/node_modules/pify/package.json" + }, + { + "path": "node_modules/caching-transform/node_modules/make-dir/package.json" + }, + { + "path": "node_modules/emoji-regex/package.json" + }, + { + "path": "node_modules/read-pkg/package.json" + }, + { + "path": "node_modules/fast-diff/package.json" + }, + { + "path": "node_modules/xtend/package.json" + }, + { + "path": "node_modules/resolve/package.json" + }, + { + "path": "node_modules/lowercase-keys/package.json" + }, + { + "path": "node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/read-pkg-up/package.json" + }, + { + "path": "node_modules/@google-cloud/paginator/package.json" + }, + { + "path": "node_modules/@google-cloud/projectify/package.json" + }, + { + "path": "node_modules/@google-cloud/common/package.json" + }, + { + "path": "node_modules/@google-cloud/promisify/package.json" + }, + { + "path": "node_modules/@google-cloud/storage/package.json" + }, + { + "path": "node_modules/@google-cloud/storage/node_modules/readable-stream/package.json" + }, + { + "path": "node_modules/p-cancelable/package.json" + }, + { + "path": "node_modules/acorn-jsx/package.json" + }, + { + "path": "node_modules/power-assert-context-traversal/package.json" + }, + { + "path": "node_modules/long/package.json" + }, + { + "path": "node_modules/d/package.json" + }, + { + "path": "node_modules/debug/package.json" + }, + { + "path": "node_modules/mimic-fn/package.json" + }, + { + "path": "node_modules/typedarray/package.json" + }, + { + "path": "node_modules/isexe/package.json" + }, + { + "path": "node_modules/multi-stage-sourcemap/package.json" + }, + { + "path": "node_modules/multi-stage-sourcemap/node_modules/source-map/package.json" + }, + { + "path": "node_modules/find-cache-dir/package.json" + }, + { + "path": "node_modules/find-cache-dir/node_modules/semver/package.json" + }, + { + "path": "node_modules/find-cache-dir/node_modules/pify/package.json" + }, + { + "path": "node_modules/find-cache-dir/node_modules/make-dir/package.json" + }, + { + "path": "node_modules/uc.micro/package.json" + }, + { + "path": "node_modules/fs.realpath/package.json" + }, + { + "path": "node_modules/eslint-plugin-prettier/package.json" + }, + { + "path": "node_modules/yargs/package.json" + }, + { + "path": "node_modules/yargs/node_modules/string-width/package.json" + }, + { + "path": "node_modules/yargs/node_modules/locate-path/package.json" + }, + { + "path": "node_modules/yargs/node_modules/find-up/package.json" + }, + { + "path": "node_modules/yargs/node_modules/yargs-parser/package.json" + }, + { + "path": "node_modules/yargs/node_modules/camelcase/package.json" + }, + { + "path": "node_modules/yargs/node_modules/p-locate/package.json" + }, + { + "path": "node_modules/yargs/node_modules/emoji-regex/package.json" + }, + { + "path": "node_modules/yargs/node_modules/is-fullwidth-code-point/package.json" + }, + { + "path": "node_modules/nice-try/package.json" + }, + { + "path": "node_modules/has/package.json" + }, + { + "path": "node_modules/xmlcreate/package.json" + }, + { + "path": "node_modules/escallmatch/package.json" + }, + { + "path": "node_modules/escallmatch/node_modules/esprima/package.json" + }, + { + "path": "node_modules/get-caller-file/package.json" + }, + { + "path": "node_modules/jwa/package.json" + }, + { + "path": "smoke-test/image_annotator_smoke_test.js" + }, + { + "path": "smoke-test/.eslintrc.yml" + } ] } \ No newline at end of file From 244fde76b7fd3fe68848dc078e98b7c776883fe7 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 2 Jan 2020 12:38:44 -0800 Subject: [PATCH 365/588] chore: release 1.8.0 (#492) --- packages/google-cloud-vision/CHANGELOG.md | 13 +++++++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 676815e9726..4a93864ec4a 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,19 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.8.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.7.2...v1.8.0) (2020-01-02) + + +### Features + +* add new resource descriptors ([#491](https://www.github.com/googleapis/nodejs-vision/issues/491)) ([95037bf](https://www.github.com/googleapis/nodejs-vision/commit/95037bf3c9236902ab31c23fd51a236e23100e91)) +* **samples:** add sample of configuring alternate apiEndpoint ([#473](https://www.github.com/googleapis/nodejs-vision/issues/473)) ([fa01482](https://www.github.com/googleapis/nodejs-vision/commit/fa01482648c93d7a57b5f7159a995a6b13e4f941)) + + +### Bug Fixes + +* **deps:** TypeScript 3.7.0 causes breaking change in typings ([#497](https://www.github.com/googleapis/nodejs-vision/issues/497)) ([30aa9ff](https://www.github.com/googleapis/nodejs-vision/commit/30aa9ffbdd3cdb8e28c300f7b9223f60fdb61d7e)) + ### [1.7.2](https://www.github.com/googleapis/nodejs-vision/compare/v1.7.1...v1.7.2) (2019-11-18) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 5e01f3d1984..6addbad8f6d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.7.2", + "version": "1.8.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index c8a01ff7c14..d21189729ac 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.7.2", + "@google-cloud/vision": "^1.8.0", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From 6857eb123a941b6f8d4afd942fa7b33ad2b1bbc2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 3 Jan 2020 21:46:36 -0800 Subject: [PATCH 366/588] chore: update .nycrc --- packages/google-cloud-vision/.nycrc | 1 + .../google-cloud-vision/protos/protos.d.ts | 2 +- packages/google-cloud-vision/protos/protos.js | 2 +- packages/google-cloud-vision/synth.metadata | 1953 ++++++++--------- 4 files changed, 975 insertions(+), 983 deletions(-) diff --git a/packages/google-cloud-vision/.nycrc b/packages/google-cloud-vision/.nycrc index 367688844eb..b18d5472b62 100644 --- a/packages/google-cloud-vision/.nycrc +++ b/packages/google-cloud-vision/.nycrc @@ -12,6 +12,7 @@ "**/scripts", "**/protos", "**/test", + "**/*.d.ts", ".jsdoc.js", "**/.jsdoc.js", "karma.conf.js", diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index b486d54a7f7..305f5206ed9 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index fc940631fdd..2f9b3fb1ef2 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index afeef77a791..e49d9272763 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2019-12-21T12:33:16.396423Z", + "updateTime": "2020-01-03T12:26:56.571941Z", "sources": [ { "generator": { "name": "artman", - "version": "0.42.3", - "dockerImage": "googleapis/artman@sha256:feed210b5723c6f524b52ef6d7740a030f2d1a8f7c29a71c5e5b4481ceaad7f5" + "version": "0.43.0", + "dockerImage": "googleapis/artman@sha256:264654a37596a44b0668b8ce6ac41082d713f6ee150b3fc6425fa78cc64e4f20" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "1a380ea21dea9b6ac6ad28c60ad96d9d73574e19", - "internalRef": "286616241" + "sha": "4d45a6399e9444fbddaeb1c86aabfde210723714", + "internalRef": "287908369" } }, { @@ -78,1456 +78,1444 @@ ], "newFiles": [ { - "path": ".repo-metadata.json" - }, - { - "path": "README.md" + "path": "synth.metadata" }, { - "path": "package.json" + "path": ".repo-metadata.json" }, { - "path": "CHANGELOG.md" + "path": "CONTRIBUTING.md" }, { - "path": ".gitignore" + "path": "linkinator.config.json" }, { - "path": "CODE_OF_CONDUCT.md" + "path": ".prettierignore" }, { - "path": "webpack.config.js" + "path": ".jsdoc.js" }, { - "path": "CONTRIBUTING.md" + "path": ".gitignore" }, { - "path": ".prettierrc" + "path": "synth.py" }, { - "path": "package-lock.json" + "path": "CODE_OF_CONDUCT.md" }, { - "path": ".eslintignore" + "path": "README.md" }, { - "path": "linkinator.config.json" + "path": "package-lock.json" }, { - "path": ".eslintrc.yml" + "path": ".prettierrc" }, { - "path": "renovate.json" + "path": "codecov.yaml" }, { - "path": "synth.metadata" + "path": ".nycrc" }, { - "path": ".prettierignore" + "path": "package.json" }, { - "path": "synth.py" + "path": "webpack.config.js" }, { - "path": "codecov.yaml" + "path": ".eslintrc.yml" }, { - "path": ".jsdoc.js" + "path": "renovate.json" }, { "path": "LICENSE" }, { - "path": ".nycrc" - }, - { - "path": "src/browser.js" - }, - { - "path": "src/index.js" + "path": "CHANGELOG.md" }, { - "path": "src/helpers.js" + "path": ".eslintignore" }, { - "path": "src/v1/product_search_proto_list.json" + "path": ".github/PULL_REQUEST_TEMPLATE.md" }, { - "path": "src/v1/product_search_client_config.json" + "path": ".github/release-please.yml" }, { - "path": "src/v1/image_annotator_proto_list.json" + "path": ".github/ISSUE_TEMPLATE/support_request.md" }, { - "path": "src/v1/index.js" + "path": ".github/ISSUE_TEMPLATE/bug_report.md" }, { - "path": "src/v1/product_search_client.js" + "path": ".github/ISSUE_TEMPLATE/feature_request.md" }, { - "path": "src/v1/image_annotator_client_config.json" + "path": ".kokoro/samples-test.sh" }, { - "path": "src/v1/image_annotator_client.js" + "path": ".kokoro/system-test.sh" }, { - "path": "src/v1/doc/google/longrunning/doc_operations.js" + "path": ".kokoro/docs.sh" }, { - "path": "src/v1/doc/google/type/doc_color.js" + "path": ".kokoro/lint.sh" }, { - "path": "src/v1/doc/google/type/doc_latlng.js" + "path": ".kokoro/.gitattributes" }, { - "path": "src/v1/doc/google/rpc/doc_status.js" + "path": ".kokoro/publish.sh" }, { - "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search.js" + "path": ".kokoro/trampoline.sh" }, { - "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js" + "path": ".kokoro/common.cfg" }, { - "path": "src/v1/doc/google/cloud/vision/v1/doc_geometry.js" + "path": ".kokoro/test.bat" }, { - "path": "src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js" + "path": ".kokoro/test.sh" }, { - "path": "src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js" + "path": ".kokoro/release/docs.sh" }, { - "path": "src/v1/doc/google/cloud/vision/v1/doc_web_detection.js" + "path": ".kokoro/release/docs.cfg" }, { - "path": "src/v1/doc/google/protobuf/doc_any.js" + "path": ".kokoro/release/publish.cfg" }, { - "path": "src/v1/doc/google/protobuf/doc_field_mask.js" + "path": ".kokoro/presubmit/node12/test.cfg" }, { - "path": "src/v1/doc/google/protobuf/doc_wrappers.js" + "path": ".kokoro/presubmit/node12/common.cfg" }, { - "path": "src/v1/doc/google/protobuf/doc_timestamp.js" + "path": ".kokoro/presubmit/node8/test.cfg" }, { - "path": "src/v1/doc/google/protobuf/doc_empty.js" + "path": ".kokoro/presubmit/node8/common.cfg" }, { - "path": "src/v1p2beta1/image_annotator_proto_list.json" + "path": ".kokoro/presubmit/windows/test.cfg" }, { - "path": "src/v1p2beta1/index.js" + "path": ".kokoro/presubmit/windows/common.cfg" }, { - "path": "src/v1p2beta1/image_annotator_client_config.json" + "path": ".kokoro/presubmit/node10/lint.cfg" }, { - "path": "src/v1p2beta1/image_annotator_client.js" + "path": ".kokoro/presubmit/node10/system-test.cfg" }, { - "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" + "path": ".kokoro/presubmit/node10/test.cfg" }, { - "path": "src/v1p2beta1/doc/google/type/doc_color.js" + "path": ".kokoro/presubmit/node10/docs.cfg" }, { - "path": "src/v1p2beta1/doc/google/type/doc_latlng.js" + "path": ".kokoro/presubmit/node10/common.cfg" }, { - "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" + "path": ".kokoro/presubmit/node10/samples-test.cfg" }, { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js" + "path": ".kokoro/continuous/node12/test.cfg" }, { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js" + "path": ".kokoro/continuous/node12/common.cfg" }, { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js" + "path": ".kokoro/continuous/node8/test.cfg" }, { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js" + "path": ".kokoro/continuous/node8/common.cfg" }, { - "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" + "path": ".kokoro/continuous/node10/lint.cfg" }, { - "path": "src/v1p2beta1/doc/google/protobuf/doc_wrappers.js" + "path": ".kokoro/continuous/node10/system-test.cfg" }, { - "path": "src/v1p3beta1/product_search_proto_list.json" + "path": ".kokoro/continuous/node10/test.cfg" }, { - "path": "src/v1p3beta1/product_search_client_config.json" + "path": ".kokoro/continuous/node10/docs.cfg" }, { - "path": "src/v1p3beta1/image_annotator_proto_list.json" + "path": ".kokoro/continuous/node10/common.cfg" }, { - "path": "src/v1p3beta1/index.js" + "path": ".kokoro/continuous/node10/samples-test.cfg" }, { - "path": "src/v1p3beta1/product_search_client.js" + "path": "test/gapic-v1p1beta1.js" }, { - "path": "src/v1p3beta1/image_annotator_client_config.json" + "path": "test/gapic-v1p3beta1.js" }, { - "path": "src/v1p3beta1/image_annotator_client.js" + "path": "test/index.test.js" }, { - "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" + "path": "test/gapic-v1.js" }, { - "path": "src/v1p3beta1/doc/google/type/doc_color.js" + "path": "test/gapic-v1p4beta1.js" }, { - "path": "src/v1p3beta1/doc/google/type/doc_latlng.js" + "path": "test/mocha.opts" }, { - "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" + "path": "test/helpers.test.js" }, { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js" + "path": "test/gapic-v1p2beta1.js" }, { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js" + "path": "system-test/vision-v1p2beta1.js" }, { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js" + "path": "system-test/image_annotator_smoke_test.js" }, { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js" + "path": "system-test/vision.js" }, { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js" + "path": "system-test/.eslintrc.yml" }, { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js" + "path": "system-test/data/text.png" }, { - "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" + "path": "system-test/data/document.jpg" }, { - "path": "src/v1p3beta1/doc/google/protobuf/doc_field_mask.js" + "path": "system-test/data/logo.jpg" }, { - "path": "src/v1p3beta1/doc/google/protobuf/doc_wrappers.js" + "path": "system-test/data/rushmore.jpg" }, { - "path": "src/v1p3beta1/doc/google/protobuf/doc_timestamp.js" + "path": "protos/protos.d.ts" }, { - "path": "src/v1p3beta1/doc/google/protobuf/doc_empty.js" + "path": "protos/protos.js" }, { - "path": "src/v1p4beta1/product_search_proto_list.json" + "path": "protos/protos.json" }, { - "path": "src/v1p4beta1/product_search_client_config.json" + "path": "protos/google/cloud/vision/v1p2beta1/web_detection.proto" }, { - "path": "src/v1p4beta1/image_annotator_proto_list.json" + "path": "protos/google/cloud/vision/v1p2beta1/text_annotation.proto" }, { - "path": "src/v1p4beta1/index.js" + "path": "protos/google/cloud/vision/v1p2beta1/image_annotator.proto" }, { - "path": "src/v1p4beta1/product_search_client.js" + "path": "protos/google/cloud/vision/v1p2beta1/geometry.proto" }, { - "path": "src/v1p4beta1/image_annotator_client_config.json" + "path": "protos/google/cloud/vision/v1p3beta1/product_search_service.proto" }, { - "path": "src/v1p4beta1/image_annotator_client.js" + "path": "protos/google/cloud/vision/v1p3beta1/web_detection.proto" }, { - "path": "src/v1p4beta1/doc/google/longrunning/doc_operations.js" + "path": "protos/google/cloud/vision/v1p3beta1/product_search.proto" }, { - "path": "src/v1p4beta1/doc/google/type/doc_color.js" + "path": "protos/google/cloud/vision/v1p3beta1/text_annotation.proto" }, { - "path": "src/v1p4beta1/doc/google/type/doc_latlng.js" + "path": "protos/google/cloud/vision/v1p3beta1/image_annotator.proto" }, { - "path": "src/v1p4beta1/doc/google/rpc/doc_status.js" + "path": "protos/google/cloud/vision/v1p3beta1/geometry.proto" }, { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js" + "path": "protos/google/cloud/vision/v1p1beta1/web_detection.proto" }, { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js" + "path": "protos/google/cloud/vision/v1p1beta1/text_annotation.proto" }, { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js" + "path": "protos/google/cloud/vision/v1p1beta1/image_annotator.proto" }, { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js" + "path": "protos/google/cloud/vision/v1p1beta1/geometry.proto" }, { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js" + "path": "protos/google/cloud/vision/v1/product_search_service.proto" }, { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js" + "path": "protos/google/cloud/vision/v1/web_detection.proto" }, { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js" + "path": "protos/google/cloud/vision/v1/product_search.proto" }, { - "path": "src/v1p4beta1/doc/google/protobuf/doc_any.js" + "path": "protos/google/cloud/vision/v1/text_annotation.proto" }, { - "path": "src/v1p4beta1/doc/google/protobuf/doc_field_mask.js" + "path": "protos/google/cloud/vision/v1/image_annotator.proto" }, { - "path": "src/v1p4beta1/doc/google/protobuf/doc_wrappers.js" + "path": "protos/google/cloud/vision/v1/geometry.proto" }, { - "path": "src/v1p4beta1/doc/google/protobuf/doc_timestamp.js" + "path": "protos/google/cloud/vision/v1p4beta1/face.proto" }, { - "path": "src/v1p4beta1/doc/google/protobuf/doc_empty.js" + "path": "protos/google/cloud/vision/v1p4beta1/product_search_service.proto" }, { - "path": "src/v1p1beta1/image_annotator_proto_list.json" + "path": "protos/google/cloud/vision/v1p4beta1/web_detection.proto" }, { - "path": "src/v1p1beta1/index.js" + "path": "protos/google/cloud/vision/v1p4beta1/product_search.proto" }, { - "path": "src/v1p1beta1/image_annotator_client_config.json" + "path": "protos/google/cloud/vision/v1p4beta1/text_annotation.proto" }, { - "path": "src/v1p1beta1/image_annotator_client.js" + "path": "protos/google/cloud/vision/v1p4beta1/image_annotator.proto" }, { - "path": "src/v1p1beta1/doc/google/type/doc_color.js" + "path": "protos/google/cloud/vision/v1p4beta1/geometry.proto" }, { - "path": "src/v1p1beta1/doc/google/type/doc_latlng.js" + "path": ".git/HEAD" }, { - "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" + "path": ".git/config" }, { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js" + "path": ".git/packed-refs" }, { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js" + "path": ".git/index" }, { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js" + "path": ".git/objects/pack/pack-efec2391af41b1155c13762092d15772d23b5d93.idx" }, { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js" + "path": ".git/objects/pack/pack-efec2391af41b1155c13762092d15772d23b5d93.pack" }, { - "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" + "path": ".git/logs/HEAD" }, { - "path": "src/v1p1beta1/doc/google/protobuf/doc_wrappers.js" + "path": ".git/logs/refs/heads/master" }, { - "path": "__pycache__/synth.cpython-36.pyc" + "path": ".git/logs/refs/heads/autosynth" }, { - "path": "samples/README.md" + "path": ".git/logs/refs/remotes/origin/HEAD" }, { - "path": "samples/package.json" + "path": ".git/refs/heads/master" }, { - "path": "samples/setEndpoint.js" + "path": ".git/refs/heads/autosynth" }, { - "path": "samples/detect.v1p1beta1.js" + "path": ".git/refs/remotes/origin/HEAD" }, { - "path": "samples/detect.v1p3beta1.js" + "path": ".git/refs/tags/v1.8.0" }, { - "path": "samples/textDetection.js" + "path": "src/index.js" }, { - "path": "samples/.eslintrc.yml" + "path": "src/browser.js" }, { - "path": "samples/async-batch-annotate-images.js" + "path": "src/helpers.js" }, { - "path": "samples/quickstart.js" + "path": "src/v1p2beta1/index.js" }, { - "path": "samples/batch-annotate-files-gcs.js" + "path": "src/v1p2beta1/image_annotator_client.js" }, { - "path": "samples/faceDetection.js" + "path": "src/v1p2beta1/image_annotator_client_config.json" }, { - "path": "samples/detect.js" + "path": "src/v1p2beta1/image_annotator_proto_list.json" }, { - "path": "samples/batch-annotate-files.js" + "path": "src/v1p2beta1/doc/google/type/doc_latlng.js" }, { - "path": "samples/productSearch/referenceImages.js" + "path": "src/v1p2beta1/doc/google/type/doc_color.js" }, { - "path": "samples/productSearch/importProductSets.js" + "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" }, { - "path": "samples/productSearch/products.js" + "path": "src/v1p2beta1/doc/google/protobuf/doc_wrappers.js" }, { - "path": "samples/productSearch/productSearch.js" + "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" }, { - "path": "samples/productSearch/productSets.js" + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js" }, { - "path": "samples/productSearch/similarProducts.js" + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js" }, { - "path": "samples/system-test/products.test.js" + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js" }, { - "path": "samples/system-test/setEndpoint.test.js" + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js" }, { - "path": "samples/system-test/quickstart.test.js" + "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" }, { - "path": "samples/system-test/batch-annotate-files-gcs.test.js" + "path": "src/v1p3beta1/product_search_client.js" }, { - "path": "samples/system-test/async-batch-annotate-images.test.js" + "path": "src/v1p3beta1/index.js" }, { - "path": "samples/system-test/detect.test.js" + "path": "src/v1p3beta1/product_search_client_config.json" }, { - "path": "samples/system-test/referenceImages.test.js" + "path": "src/v1p3beta1/image_annotator_client.js" }, { - "path": "samples/system-test/productSets.test.js" + "path": "src/v1p3beta1/product_search_proto_list.json" }, { - "path": "samples/system-test/textDetection.test.js" + "path": "src/v1p3beta1/image_annotator_client_config.json" }, { - "path": "samples/system-test/similarProducts.test.js" + "path": "src/v1p3beta1/image_annotator_proto_list.json" }, { - "path": "samples/system-test/batch-annotate-files.test.js" + "path": "src/v1p3beta1/doc/google/type/doc_latlng.js" }, { - "path": "samples/system-test/.eslintrc.yml" + "path": "src/v1p3beta1/doc/google/type/doc_color.js" }, { - "path": "samples/system-test/detect.v1p3beta1.test.js" + "path": "src/v1p3beta1/doc/google/protobuf/doc_timestamp.js" }, { - "path": "samples/system-test/importProductSets.test.js" + "path": "src/v1p3beta1/doc/google/protobuf/doc_field_mask.js" }, { - "path": "samples/system-test/faceDetection.test.js" + "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" }, { - "path": "samples/system-test/detect.v1p1beta1.test.js" + "path": "src/v1p3beta1/doc/google/protobuf/doc_wrappers.js" }, { - "path": "samples/system-test/productSearch.test.js" + "path": "src/v1p3beta1/doc/google/protobuf/doc_empty.js" }, { - "path": "samples/resources/no-text.jpg" + "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" }, { - "path": "samples/resources/shoes_1.jpg" + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js" }, { - "path": "samples/resources/logos.png" + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js" }, { - "path": "samples/resources/water.jpg" + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js" }, { - "path": "samples/resources/face.png" + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js" }, { - "path": "samples/resources/bicycle.jpg" + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js" }, { - "path": "samples/resources/sabertooth.gif" + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js" }, { - "path": "samples/resources/text.jpg" + "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" }, { - "path": "samples/resources/landmark.jpg" + "path": "src/v1p1beta1/index.js" }, { - "path": "samples/resources/city.jpg" + "path": "src/v1p1beta1/image_annotator_client.js" }, { - "path": "samples/resources/google.png" + "path": "src/v1p1beta1/image_annotator_client_config.json" }, { - "path": "samples/resources/sunbeamkitties.jpg" + "path": "src/v1p1beta1/image_annotator_proto_list.json" }, { - "path": "samples/resources/faulkner.jpg" + "path": "src/v1p1beta1/doc/google/type/doc_latlng.js" }, { - "path": "samples/resources/succulents.jpg" + "path": "src/v1p1beta1/doc/google/type/doc_color.js" }, { - "path": "samples/resources/face_no_surprise.jpg" + "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" }, { - "path": "samples/resources/wakeupcat.jpg" + "path": "src/v1p1beta1/doc/google/protobuf/doc_wrappers.js" }, { - "path": "samples/resources/duck_and_truck.jpg" + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js" }, { - "path": "samples/resources/mountain.jpg" + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js" }, { - "path": "samples/resources/cat.jpg" + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js" }, { - "path": "samples/resources/handwritten.jpg" + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js" }, { - "path": "samples/resources/pdf-ocr.pdf" + "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" }, { - "path": "samples/resources/bonito.gif" + "path": "src/v1/product_search_client.js" }, { - "path": ".github/PULL_REQUEST_TEMPLATE.md" + "path": "src/v1/index.js" }, { - "path": ".github/release-please.yml" + "path": "src/v1/product_search_client_config.json" }, { - "path": ".github/ISSUE_TEMPLATE/support_request.md" + "path": "src/v1/image_annotator_client.js" }, { - "path": ".github/ISSUE_TEMPLATE/feature_request.md" + "path": "src/v1/product_search_proto_list.json" }, { - "path": ".github/ISSUE_TEMPLATE/bug_report.md" + "path": "src/v1/image_annotator_client_config.json" }, { - "path": ".kokoro/test.sh" + "path": "src/v1/image_annotator_proto_list.json" }, { - "path": ".kokoro/docs.sh" + "path": "src/v1/doc/google/type/doc_latlng.js" }, { - "path": ".kokoro/samples-test.sh" + "path": "src/v1/doc/google/type/doc_color.js" }, { - "path": ".kokoro/.gitattributes" + "path": "src/v1/doc/google/protobuf/doc_timestamp.js" }, { - "path": ".kokoro/trampoline.sh" + "path": "src/v1/doc/google/protobuf/doc_field_mask.js" }, { - "path": ".kokoro/lint.sh" + "path": "src/v1/doc/google/protobuf/doc_any.js" }, { - "path": ".kokoro/publish.sh" + "path": "src/v1/doc/google/protobuf/doc_wrappers.js" }, { - "path": ".kokoro/test.bat" + "path": "src/v1/doc/google/protobuf/doc_empty.js" }, { - "path": ".kokoro/common.cfg" + "path": "src/v1/doc/google/longrunning/doc_operations.js" }, { - "path": ".kokoro/system-test.sh" + "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js" }, { - "path": ".kokoro/release/docs.cfg" + "path": "src/v1/doc/google/cloud/vision/v1/doc_web_detection.js" }, { - "path": ".kokoro/release/docs.sh" + "path": "src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js" }, { - "path": ".kokoro/release/publish.cfg" + "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search.js" }, { - "path": ".kokoro/continuous/node10/lint.cfg" + "path": "src/v1/doc/google/cloud/vision/v1/doc_geometry.js" }, { - "path": ".kokoro/continuous/node10/docs.cfg" + "path": "src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js" }, { - "path": ".kokoro/continuous/node10/test.cfg" + "path": "src/v1/doc/google/rpc/doc_status.js" }, { - "path": ".kokoro/continuous/node10/system-test.cfg" + "path": "src/v1p4beta1/product_search_client.js" }, { - "path": ".kokoro/continuous/node10/samples-test.cfg" + "path": "src/v1p4beta1/index.js" }, { - "path": ".kokoro/continuous/node10/common.cfg" + "path": "src/v1p4beta1/product_search_client_config.json" }, { - "path": ".kokoro/continuous/node8/test.cfg" + "path": "src/v1p4beta1/image_annotator_client.js" }, { - "path": ".kokoro/continuous/node8/common.cfg" + "path": "src/v1p4beta1/product_search_proto_list.json" }, { - "path": ".kokoro/continuous/node12/test.cfg" + "path": "src/v1p4beta1/image_annotator_client_config.json" }, { - "path": ".kokoro/continuous/node12/common.cfg" + "path": "src/v1p4beta1/image_annotator_proto_list.json" }, { - "path": ".kokoro/presubmit/node10/lint.cfg" + "path": "src/v1p4beta1/doc/google/type/doc_latlng.js" }, { - "path": ".kokoro/presubmit/node10/docs.cfg" + "path": "src/v1p4beta1/doc/google/type/doc_color.js" }, { - "path": ".kokoro/presubmit/node10/test.cfg" + "path": "src/v1p4beta1/doc/google/protobuf/doc_timestamp.js" }, { - "path": ".kokoro/presubmit/node10/system-test.cfg" + "path": "src/v1p4beta1/doc/google/protobuf/doc_field_mask.js" }, { - "path": ".kokoro/presubmit/node10/samples-test.cfg" + "path": "src/v1p4beta1/doc/google/protobuf/doc_any.js" }, { - "path": ".kokoro/presubmit/node10/common.cfg" + "path": "src/v1p4beta1/doc/google/protobuf/doc_wrappers.js" }, { - "path": ".kokoro/presubmit/node8/test.cfg" + "path": "src/v1p4beta1/doc/google/protobuf/doc_empty.js" }, { - "path": ".kokoro/presubmit/node8/common.cfg" + "path": "src/v1p4beta1/doc/google/longrunning/doc_operations.js" }, { - "path": ".kokoro/presubmit/node12/test.cfg" + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js" }, { - "path": ".kokoro/presubmit/node12/common.cfg" + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js" }, { - "path": ".kokoro/presubmit/windows/test.cfg" + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js" }, { - "path": ".kokoro/presubmit/windows/common.cfg" + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js" }, { - "path": "protos/protos.json" + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js" }, { - "path": "protos/protos.js" + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js" }, { - "path": "protos/protos.d.ts" + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js" }, { - "path": "protos/google/cloud/vision/v1/product_search_service.proto" + "path": "src/v1p4beta1/doc/google/rpc/doc_status.js" }, { - "path": "protos/google/cloud/vision/v1/image_annotator.proto" + "path": "node_modules/progress/package.json" }, { - "path": "protos/google/cloud/vision/v1/text_annotation.proto" + "path": "node_modules/is-ci/package.json" }, { - "path": "protos/google/cloud/vision/v1/product_search.proto" + "path": "node_modules/lolex/package.json" }, { - "path": "protos/google/cloud/vision/v1/web_detection.proto" + "path": "node_modules/lru-cache/package.json" }, { - "path": "protos/google/cloud/vision/v1/geometry.proto" + "path": "node_modules/uglify-js/package.json" }, { - "path": "protos/google/cloud/vision/v1p2beta1/image_annotator.proto" + "path": "node_modules/destroy/package.json" }, { - "path": "protos/google/cloud/vision/v1p2beta1/text_annotation.proto" + "path": "node_modules/power-assert-context-formatter/package.json" }, { - "path": "protos/google/cloud/vision/v1p2beta1/web_detection.proto" + "path": "node_modules/fast-json-stable-stringify/package.json" }, { - "path": "protos/google/cloud/vision/v1p2beta1/geometry.proto" + "path": "node_modules/nice-try/package.json" }, { - "path": "protos/google/cloud/vision/v1p3beta1/product_search_service.proto" + "path": "node_modules/handlebars/package.json" }, { - "path": "protos/google/cloud/vision/v1p3beta1/image_annotator.proto" + "path": "node_modules/which-module/package.json" }, { - "path": "protos/google/cloud/vision/v1p3beta1/text_annotation.proto" + "path": "node_modules/array-find/package.json" }, { - "path": "protos/google/cloud/vision/v1p3beta1/product_search.proto" + "path": "node_modules/catharsis/package.json" }, { - "path": "protos/google/cloud/vision/v1p3beta1/web_detection.proto" + "path": "node_modules/is-promise/package.json" }, { - "path": "protos/google/cloud/vision/v1p3beta1/geometry.proto" + "path": "node_modules/v8-compile-cache/package.json" }, { - "path": "protos/google/cloud/vision/v1p4beta1/product_search_service.proto" + "path": "node_modules/doctrine/package.json" }, { - "path": "protos/google/cloud/vision/v1p4beta1/image_annotator.proto" + "path": "node_modules/callsites/package.json" }, { - "path": "protos/google/cloud/vision/v1p4beta1/text_annotation.proto" + "path": "node_modules/diff/package.json" }, { - "path": "protos/google/cloud/vision/v1p4beta1/face.proto" + "path": "node_modules/lodash.flattendeep/package.json" }, { - "path": "protos/google/cloud/vision/v1p4beta1/product_search.proto" + "path": "node_modules/hosted-git-info/package.json" }, { - "path": "protos/google/cloud/vision/v1p4beta1/web_detection.proto" + "path": "node_modules/color-name/package.json" }, { - "path": "protos/google/cloud/vision/v1p4beta1/geometry.proto" + "path": "node_modules/defer-to-connect/package.json" }, { - "path": "protos/google/cloud/vision/v1p1beta1/image_annotator.proto" + "path": "node_modules/unpipe/package.json" }, { - "path": "protos/google/cloud/vision/v1p1beta1/text_annotation.proto" + "path": "node_modules/emoji-regex/package.json" }, { - "path": "protos/google/cloud/vision/v1p1beta1/web_detection.proto" + "path": "node_modules/spawn-wrap/package.json" }, { - "path": "protos/google/cloud/vision/v1p1beta1/geometry.proto" + "path": "node_modules/http-errors/package.json" }, { - "path": ".git/packed-refs" + "path": "node_modules/eventemitter3/package.json" }, { - "path": ".git/HEAD" + "path": "node_modules/esutils/package.json" }, { - "path": ".git/config" + "path": "node_modules/he/package.json" }, { - "path": ".git/index" + "path": "node_modules/on-finished/package.json" }, { - "path": ".git/logs/HEAD" + "path": "node_modules/linkinator/package.json" }, { - "path": ".git/logs/refs/remotes/origin/HEAD" + "path": "node_modules/linkinator/node_modules/color-name/package.json" }, { - "path": ".git/logs/refs/heads/autosynth" + "path": "node_modules/linkinator/node_modules/chalk/package.json" }, { - "path": ".git/logs/refs/heads/master" + "path": "node_modules/linkinator/node_modules/has-flag/package.json" }, { - "path": ".git/refs/remotes/origin/HEAD" + "path": "node_modules/linkinator/node_modules/ansi-styles/package.json" }, { - "path": ".git/refs/heads/autosynth" + "path": "node_modules/linkinator/node_modules/supports-color/package.json" }, { - "path": ".git/refs/heads/master" + "path": "node_modules/linkinator/node_modules/color-convert/package.json" }, { - "path": ".git/objects/pack/pack-03b22cb9eaead35a9d3c0bfd3b42f6648253a3bf.pack" + "path": "node_modules/update-notifier/package.json" }, { - "path": ".git/objects/pack/pack-03b22cb9eaead35a9d3c0bfd3b42f6648253a3bf.idx" + "path": "node_modules/update-notifier/node_modules/color-name/package.json" }, { - "path": "test/gapic-v1p2beta1.js" + "path": "node_modules/update-notifier/node_modules/chalk/package.json" }, { - "path": "test/helpers.test.js" + "path": "node_modules/update-notifier/node_modules/has-flag/package.json" }, { - "path": "test/gapic-v1p3beta1.js" + "path": "node_modules/update-notifier/node_modules/ansi-styles/package.json" }, { - "path": "test/.eslintrc.yml" + "path": "node_modules/update-notifier/node_modules/supports-color/package.json" }, { - "path": "test/gapic-v1.js" + "path": "node_modules/update-notifier/node_modules/color-convert/package.json" }, { - "path": "test/gapic-v1p1beta1.js" + "path": "node_modules/p-cancelable/package.json" }, { - "path": "test/index.test.js" + "path": "node_modules/markdown-it/package.json" }, { - "path": "test/gapic-v1p4beta1.js" + "path": "node_modules/dot-prop/package.json" }, { - "path": "test/mocha.opts" + "path": "node_modules/require-main-filename/package.json" }, { - "path": "system-test/vision.js" + "path": "node_modules/fast-diff/package.json" }, { - "path": "system-test/image_annotator_smoke_test.js" + "path": "node_modules/lodash.camelcase/package.json" }, { - "path": "system-test/.eslintrc.yml" + "path": "node_modules/redent/package.json" }, { - "path": "system-test/vision-v1p2beta1.js" + "path": "node_modules/resolve/package.json" }, { - "path": "system-test/data/rushmore.jpg" + "path": "node_modules/globals/package.json" }, { - "path": "system-test/data/text.png" + "path": "node_modules/range-parser/package.json" }, { - "path": "system-test/data/document.jpg" + "path": "node_modules/string.prototype.trimright/package.json" }, { - "path": "system-test/data/logo.jpg" + "path": "node_modules/inflight/package.json" }, { - "path": "node_modules/strip-bom/package.json" + "path": "node_modules/debug/package.json" }, { - "path": "node_modules/string-width/package.json" + "path": "node_modules/htmlparser2/package.json" }, { - "path": "node_modules/string-width/node_modules/strip-ansi/package.json" + "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" }, { - "path": "node_modules/is-callable/package.json" + "path": "node_modules/semver-diff/package.json" }, { - "path": "node_modules/util-deprecate/package.json" + "path": "node_modules/semver-diff/node_modules/semver/package.json" }, { - "path": "node_modules/require-directory/package.json" + "path": "node_modules/multi-stage-sourcemap/package.json" }, { - "path": "node_modules/update-notifier/package.json" + "path": "node_modules/multi-stage-sourcemap/node_modules/source-map/package.json" }, { - "path": "node_modules/update-notifier/node_modules/configstore/package.json" + "path": "node_modules/ms/package.json" }, { - "path": "node_modules/update-notifier/node_modules/dot-prop/package.json" + "path": "node_modules/linkify-it/package.json" }, { - "path": "node_modules/update-notifier/node_modules/is-obj/package.json" + "path": "node_modules/through/package.json" }, { - "path": "node_modules/update-notifier/node_modules/write-file-atomic/package.json" + "path": "node_modules/power-assert-renderer-file/package.json" }, { - "path": "node_modules/update-notifier/node_modules/xdg-basedir/package.json" + "path": "node_modules/string-width/package.json" }, { - "path": "node_modules/update-notifier/node_modules/crypto-random-string/package.json" + "path": "node_modules/string-width/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/update-notifier/node_modules/unique-string/package.json" + "path": "node_modules/type/package.json" }, { - "path": "node_modules/update-notifier/node_modules/make-dir/package.json" + "path": "node_modules/type-fest/package.json" }, { - "path": "node_modules/esprima/package.json" + "path": "node_modules/is/package.json" }, { - "path": "node_modules/string_decoder/package.json" + "path": "node_modules/intelli-espower-loader/package.json" }, { - "path": "node_modules/mocha/package.json" + "path": "node_modules/parseurl/package.json" }, { - "path": "node_modules/mocha/node_modules/locate-path/package.json" + "path": "node_modules/buffer-from/package.json" }, { - "path": "node_modules/mocha/node_modules/find-up/package.json" + "path": "node_modules/google-p12-pem/package.json" }, { - "path": "node_modules/mocha/node_modules/yargs-parser/package.json" + "path": "node_modules/get-caller-file/package.json" }, { - "path": "node_modules/mocha/node_modules/supports-color/package.json" + "path": "node_modules/klaw/package.json" }, { - "path": "node_modules/mocha/node_modules/camelcase/package.json" + "path": "node_modules/http-proxy-agent/package.json" }, { - "path": "node_modules/mocha/node_modules/p-locate/package.json" + "path": "node_modules/http-proxy-agent/node_modules/debug/package.json" }, { - "path": "node_modules/mocha/node_modules/glob/package.json" + "path": "node_modules/http-proxy-agent/node_modules/agent-base/package.json" }, { - "path": "node_modules/mocha/node_modules/ms/package.json" + "path": "node_modules/map-obj/package.json" }, { - "path": "node_modules/mocha/node_modules/strip-json-comments/package.json" + "path": "node_modules/node-fetch/package.json" }, { - "path": "node_modules/is-arguments/package.json" + "path": "node_modules/jsonexport/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/package.json" + "path": "node_modules/isexe/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/node_modules/semver/package.json" + "path": "node_modules/escallmatch/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/node_modules/pify/package.json" + "path": "node_modules/escallmatch/node_modules/esprima/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/node_modules/make-dir/package.json" + "path": "node_modules/espower/package.json" }, { - "path": "node_modules/istanbul-lib-source-maps/node_modules/debug/package.json" + "path": "node_modules/espower/node_modules/source-map/package.json" }, { - "path": "node_modules/snakeize/package.json" + "path": "node_modules/run-async/package.json" }, { - "path": "node_modules/core-util-is/package.json" + "path": "node_modules/validate-npm-package-license/package.json" }, { - "path": "node_modules/wrap-ansi/package.json" + "path": "node_modules/file-entry-cache/package.json" }, { - "path": "node_modules/wrap-ansi/node_modules/string-width/package.json" + "path": "node_modules/meow/package.json" }, { - "path": "node_modules/wrap-ansi/node_modules/emoji-regex/package.json" + "path": "node_modules/concat-map/package.json" }, { - "path": "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/term-size/package.json" }, { - "path": "node_modules/minimist-options/package.json" + "path": "node_modules/xmlcreate/package.json" }, { - "path": "node_modules/minimist-options/node_modules/arrify/package.json" + "path": "node_modules/ansi-regex/package.json" }, { - "path": "node_modules/underscore/package.json" + "path": "node_modules/yallist/package.json" }, { - "path": "node_modules/type-detect/package.json" + "path": "node_modules/json-bigint/package.json" }, { - "path": "node_modules/lodash.flattendeep/package.json" + "path": "node_modules/stream-events/package.json" }, { - "path": "node_modules/keyv/package.json" + "path": "node_modules/resolve-from/package.json" }, { - "path": "node_modules/glob-parent/package.json" + "path": "node_modules/is-buffer/package.json" }, { - "path": "node_modules/walkdir/package.json" + "path": "node_modules/cliui/package.json" }, { - "path": "node_modules/@protobufjs/codegen/package.json" + "path": "node_modules/cliui/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/@protobufjs/inquire/package.json" + "path": "node_modules/cliui/node_modules/string-width/package.json" }, { - "path": "node_modules/@protobufjs/float/package.json" + "path": "node_modules/cliui/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/@protobufjs/base64/package.json" + "path": "node_modules/toidentifier/package.json" }, { - "path": "node_modules/@protobufjs/aspromise/package.json" + "path": "node_modules/caching-transform/package.json" }, { - "path": "node_modules/@protobufjs/eventemitter/package.json" + "path": "node_modules/caching-transform/node_modules/make-dir/package.json" }, { - "path": "node_modules/@protobufjs/fetch/package.json" + "path": "node_modules/caching-transform/node_modules/semver/package.json" }, { - "path": "node_modules/@protobufjs/utf8/package.json" + "path": "node_modules/caching-transform/node_modules/write-file-atomic/package.json" }, { - "path": "node_modules/@protobufjs/path/package.json" + "path": "node_modules/balanced-match/package.json" }, { - "path": "node_modules/@protobufjs/pool/package.json" + "path": "node_modules/marked/package.json" }, { - "path": "node_modules/global-dirs/package.json" + "path": "node_modules/wrappy/package.json" }, { - "path": "node_modules/has-flag/package.json" + "path": "node_modules/jsdoc-region-tag/package.json" }, { - "path": "node_modules/locate-path/package.json" + "path": "node_modules/json-stable-stringify-without-jsonify/package.json" }, { - "path": "node_modules/compressible/package.json" + "path": "node_modules/glob-parent/package.json" }, { - "path": "node_modules/empower-assert/package.json" + "path": "node_modules/xtend/package.json" }, { - "path": "node_modules/convert-source-map/package.json" + "path": "node_modules/is-arguments/package.json" }, { - "path": "node_modules/require-main-filename/package.json" + "path": "node_modules/set-blocking/package.json" }, { - "path": "node_modules/bluebird/package.json" + "path": "node_modules/optimist/package.json" }, { - "path": "node_modules/string.prototype.trimleft/package.json" + "path": "node_modules/istanbul-lib-report/package.json" }, { - "path": "node_modules/range-parser/package.json" + "path": "node_modules/istanbul-lib-report/node_modules/make-dir/package.json" }, { - "path": "node_modules/espower-loader/package.json" + "path": "node_modules/istanbul-lib-report/node_modules/semver/package.json" }, { - "path": "node_modules/defer-to-connect/package.json" + "path": "node_modules/istanbul-lib-report/node_modules/supports-color/package.json" }, { - "path": "node_modules/duplexer3/package.json" + "path": "node_modules/load-json-file/package.json" }, { - "path": "node_modules/indent-string/package.json" + "path": "node_modules/load-json-file/node_modules/parse-json/package.json" }, { - "path": "node_modules/eslint/package.json" + "path": "node_modules/load-json-file/node_modules/pify/package.json" }, { - "path": "node_modules/eslint/node_modules/debug/package.json" + "path": "node_modules/ansi-align/package.json" }, { - "path": "node_modules/append-transform/package.json" + "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/got/package.json" + "path": "node_modules/ansi-align/node_modules/string-width/package.json" }, { - "path": "node_modules/got/node_modules/get-stream/package.json" + "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/estraverse/package.json" + "path": "node_modules/duplexer3/package.json" }, { - "path": "node_modules/mdurl/package.json" + "path": "node_modules/esprima/package.json" }, { - "path": "node_modules/eslint-plugin-node/package.json" + "path": "node_modules/is-stream-ended/package.json" }, { - "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" + "path": "node_modules/minimatch/package.json" }, { - "path": "node_modules/resolve-from/package.json" + "path": "node_modules/crypto-random-string/package.json" }, { - "path": "node_modules/type-name/package.json" + "path": "node_modules/growl/package.json" }, { - "path": "node_modules/lodash/package.json" + "path": "node_modules/string.prototype.trimleft/package.json" }, { - "path": "node_modules/strip-ansi/package.json" + "path": "node_modules/istanbul-lib-coverage/package.json" }, { - "path": "node_modules/strip-ansi/node_modules/ansi-regex/package.json" + "path": "node_modules/normalize-package-data/package.json" }, { - "path": "node_modules/safe-buffer/package.json" + "path": "node_modules/normalize-package-data/node_modules/semver/package.json" }, { - "path": "node_modules/@szmarczak/http-timer/package.json" + "path": "node_modules/fast-text-encoding/package.json" }, { - "path": "node_modules/parent-module/package.json" + "path": "node_modules/server-destroy/package.json" }, { - "path": "node_modules/object-keys/package.json" + "path": "node_modules/prelude-ls/package.json" }, { - "path": "node_modules/write/package.json" + "path": "node_modules/d/package.json" }, { - "path": "node_modules/configstore/package.json" + "path": "node_modules/protobufjs/package.json" }, { - "path": "node_modules/dot-prop/package.json" + "path": "node_modules/protobufjs/cli/package-lock.json" }, { - "path": "node_modules/import-fresh/package.json" + "path": "node_modules/protobufjs/cli/package.json" }, { - "path": "node_modules/mute-stream/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" }, { - "path": "node_modules/wide-align/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" }, { - "path": "node_modules/wide-align/node_modules/string-width/package.json" + "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" }, { - "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" + "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" }, { - "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" + "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" }, { - "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" }, { - "path": "node_modules/eslint-scope/package.json" + "path": "node_modules/domhandler/package.json" }, { - "path": "node_modules/is-promise/package.json" + "path": "node_modules/pkg-dir/package.json" }, { - "path": "node_modules/es6-map/package.json" + "path": "node_modules/pkg-dir/node_modules/p-locate/package.json" }, { - "path": "node_modules/p-finally/package.json" + "path": "node_modules/pkg-dir/node_modules/locate-path/package.json" }, { - "path": "node_modules/es6-set/package.json" + "path": "node_modules/pkg-dir/node_modules/find-up/package.json" }, { - "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" + "path": "node_modules/pkg-dir/node_modules/path-exists/package.json" }, { - "path": "node_modules/array-find/package.json" + "path": "node_modules/ansi-escapes/package.json" }, { - "path": "node_modules/js2xmlparser/package.json" + "path": "node_modules/power-assert-renderer-base/package.json" }, { - "path": "node_modules/istanbul-reports/package.json" + "path": "node_modules/boolbase/package.json" }, { - "path": "node_modules/indexof/package.json" + "path": "node_modules/indent-string/package.json" }, { - "path": "node_modules/progress/package.json" + "path": "node_modules/lodash/package.json" }, { - "path": "node_modules/registry-url/package.json" + "path": "node_modules/taffydb/package.json" }, { - "path": "node_modules/google-gax/package.json" + "path": "node_modules/extend/package.json" }, { - "path": "node_modules/mimic-response/package.json" + "path": "node_modules/is-yarn-global/package.json" }, { - "path": "node_modules/figures/package.json" + "path": "node_modules/dom-serializer/package.json" }, { - "path": "node_modules/eslint-config-prettier/package.json" + "path": "node_modules/end-of-stream/package.json" }, { - "path": "node_modules/argparse/package.json" + "path": "node_modules/wordwrap/package.json" }, { - "path": "node_modules/type/package.json" + "path": "node_modules/log-symbols/package.json" }, { - "path": "node_modules/domhandler/package.json" + "path": "node_modules/is-callable/package.json" }, { - "path": "node_modules/error-ex/package.json" + "path": "node_modules/es5-ext/package.json" }, { - "path": "node_modules/ansi-colors/package.json" + "path": "node_modules/stringifier/package.json" }, { - "path": "node_modules/safer-buffer/package.json" + "path": "node_modules/es6-weak-map/package.json" }, { - "path": "node_modules/type-fest/package.json" + "path": "node_modules/camelcase-keys/package.json" }, { - "path": "node_modules/strip-indent/package.json" + "path": "node_modules/decompress-response/package.json" }, { - "path": "node_modules/boxen/package.json" + "path": "node_modules/js-yaml/package.json" }, { - "path": "node_modules/boxen/node_modules/string-width/package.json" + "path": "node_modules/cli-boxes/package.json" }, { - "path": "node_modules/boxen/node_modules/type-fest/package.json" + "path": "node_modules/is-obj/package.json" }, { - "path": "node_modules/boxen/node_modules/camelcase/package.json" + "path": "node_modules/is-typedarray/package.json" }, { - "path": "node_modules/boxen/node_modules/emoji-regex/package.json" + "path": "node_modules/registry-auth-token/package.json" }, { - "path": "node_modules/boxen/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/hash-stream-validation/package.json" }, { - "path": "node_modules/flat-cache/package.json" + "path": "node_modules/hash-stream-validation/node_modules/through2/package.json" }, { - "path": "node_modules/release-zalgo/package.json" + "path": "node_modules/read-pkg-up/package.json" }, { - "path": "node_modules/has-symbols/package.json" + "path": "node_modules/append-transform/package.json" }, { - "path": "node_modules/gcp-metadata/package.json" + "path": "node_modules/buffer-equal-constant-time/package.json" }, { - "path": "node_modules/ansi-align/package.json" + "path": "node_modules/eslint-scope/package.json" }, { - "path": "node_modules/ansi-align/node_modules/string-width/package.json" + "path": "node_modules/stream-shift/package.json" }, { - "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" + "path": "node_modules/is-extglob/package.json" }, { - "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/typedarray-to-buffer/index.js" }, { - "path": "node_modules/find-up/package.json" + "path": "node_modules/typedarray-to-buffer/README.md" }, { - "path": "node_modules/log-symbols/package.json" + "path": "node_modules/typedarray-to-buffer/.airtap.yml" }, { - "path": "node_modules/merge-estraverse-visitors/package.json" + "path": "node_modules/typedarray-to-buffer/.travis.yml" }, { - "path": "node_modules/hash-stream-validation/package.json" + "path": "node_modules/typedarray-to-buffer/package.json" }, { - "path": "node_modules/hash-stream-validation/node_modules/through2/package.json" + "path": "node_modules/typedarray-to-buffer/LICENSE" }, { - "path": "node_modules/is-extglob/package.json" + "path": "node_modules/typedarray-to-buffer/test/basic.js" }, { - "path": "node_modules/json-stable-stringify-without-jsonify/package.json" + "path": "node_modules/restore-cursor/package.json" }, { - "path": "node_modules/prettier/package.json" + "path": "node_modules/release-zalgo/package.json" }, { - "path": "node_modules/jsonexport/package.json" + "path": "node_modules/mimic-response/package.json" }, { - "path": "node_modules/wrappy/package.json" + "path": "node_modules/normalize-url/package.json" }, { - "path": "node_modules/npm-run-path/package.json" + "path": "node_modules/fresh/package.json" }, { "path": "node_modules/istanbul-lib-instrument/package.json" }, { - "path": "node_modules/map-obj/package.json" - }, - { - "path": "node_modules/term-size/package.json" + "path": "node_modules/istanbul-lib-instrument/node_modules/semver/package.json" }, { - "path": "node_modules/destroy/package.json" + "path": "node_modules/imurmurhash/package.json" }, { - "path": "node_modules/growl/package.json" + "path": "node_modules/indexof/package.json" }, { - "path": "node_modules/http-proxy-agent/package.json" + "path": "node_modules/codecov/package.json" }, { - "path": "node_modules/http-proxy-agent/node_modules/agent-base/package.json" + "path": "node_modules/codecov/node_modules/https-proxy-agent/package.json" }, { - "path": "node_modules/http-proxy-agent/node_modules/debug/package.json" + "path": "node_modules/codecov/node_modules/teeny-request/package.json" }, { - "path": "node_modules/json-schema-traverse/package.json" + "path": "node_modules/ajv/package.json" }, { - "path": "node_modules/taffydb/package.json" + "path": "node_modules/is-path-inside/package.json" }, { - "path": "node_modules/cross-spawn/README.md" + "path": "node_modules/import-lazy/package.json" }, { - "path": "node_modules/cross-spawn/package.json" + "path": "node_modules/json-schema-traverse/package.json" }, { - "path": "node_modules/cross-spawn/CHANGELOG.md" + "path": "node_modules/rxjs/package.json" }, { - "path": "node_modules/cross-spawn/index.js" + "path": "node_modules/p-locate/package.json" }, { - "path": "node_modules/cross-spawn/LICENSE" + "path": "node_modules/figures/package.json" }, { - "path": "node_modules/cross-spawn/lib/parse.js" + "path": "node_modules/underscore/package.json" }, { - "path": "node_modules/cross-spawn/lib/enoent.js" + "path": "node_modules/finalhandler/package.json" }, { - "path": "node_modules/cross-spawn/lib/util/escape.js" + "path": "node_modules/finalhandler/node_modules/debug/package.json" }, { - "path": "node_modules/cross-spawn/lib/util/resolveCommand.js" + "path": "node_modules/finalhandler/node_modules/ms/package.json" }, { - "path": "node_modules/cross-spawn/lib/util/readShebang.js" + "path": "node_modules/ignore/package.json" }, { - "path": "node_modules/cross-spawn/node_modules/semver/package.json" + "path": "node_modules/argv/package.json" }, { - "path": "node_modules/loud-rejection/package.json" + "path": "node_modules/path-is-absolute/package.json" }, { - "path": "node_modules/is-glob/package.json" + "path": "node_modules/istanbul-lib-hook/package.json" }, { - "path": "node_modules/get-stream/package.json" + "path": "node_modules/graceful-fs/package.json" }, { - "path": "node_modules/@sinonjs/formatio/package.json" + "path": "node_modules/merge-source-map/package.json" }, { - "path": "node_modules/@sinonjs/text-encoding/package.json" + "path": "node_modules/gcs-resumable-upload/package.json" }, { - "path": "node_modules/@sinonjs/commons/package.json" + "path": "node_modules/google-gax/package.json" }, { - "path": "node_modules/@sinonjs/samsam/package.json" + "path": "node_modules/commondir/package.json" }, { - "path": "node_modules/uglify-js/package.json" + "path": "node_modules/onetime/package.json" }, { - "path": "node_modules/nyc/package.json" + "path": "node_modules/path-key/package.json" }, { - "path": "node_modules/nyc/node_modules/locate-path/package.json" + "path": "node_modules/core-util-is/package.json" }, { - "path": "node_modules/nyc/node_modules/find-up/package.json" + "path": "node_modules/array-filter/package.json" }, { - "path": "node_modules/nyc/node_modules/yargs-parser/package.json" + "path": "node_modules/prepend-http/package.json" }, { - "path": "node_modules/nyc/node_modules/semver/package.json" + "path": "node_modules/write/package.json" }, { - "path": "node_modules/nyc/node_modules/pify/package.json" + "path": "node_modules/duplexify/package.json" }, { - "path": "node_modules/nyc/node_modules/camelcase/package.json" + "path": "node_modules/camelcase/package.json" }, { - "path": "node_modules/nyc/node_modules/p-locate/package.json" + "path": "node_modules/error-ex/package.json" }, { - "path": "node_modules/nyc/node_modules/make-dir/package.json" + "path": "node_modules/empower-assert/package.json" }, { - "path": "node_modules/optimist/package.json" + "path": "node_modules/boxen/package.json" }, { - "path": "node_modules/merge-source-map/package.json" + "path": "node_modules/boxen/node_modules/color-name/package.json" }, { - "path": "node_modules/empower/package.json" + "path": "node_modules/boxen/node_modules/chalk/package.json" }, { - "path": "node_modules/cacheable-request/package.json" + "path": "node_modules/boxen/node_modules/has-flag/package.json" }, { - "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" + "path": "node_modules/boxen/node_modules/ansi-styles/package.json" }, { - "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" + "path": "node_modules/boxen/node_modules/supports-color/package.json" }, { - "path": "node_modules/is-ci/package.json" + "path": "node_modules/boxen/node_modules/color-convert/package.json" }, { - "path": "node_modules/server-destroy/package.json" + "path": "node_modules/node-environment-flags/package.json" }, { - "path": "node_modules/json-parse-better-errors/package.json" + "path": "node_modules/node-environment-flags/node_modules/semver/package.json" }, { - "path": "node_modules/core-js/package.json" + "path": "node_modules/gcp-metadata/package.json" }, { - "path": "node_modules/set-blocking/package.json" + "path": "node_modules/json-buffer/package.json" }, { - "path": "node_modules/next-tick/package.json" + "path": "node_modules/mkdirp/package.json" }, { - "path": "node_modules/catharsis/package.json" + "path": "node_modules/bluebird/package.json" }, { - "path": "node_modules/rimraf/package.json" + "path": "node_modules/shebang-command/package.json" }, { - "path": "node_modules/agent-base/package.json" + "path": "node_modules/serve-static/package.json" }, { - "path": "node_modules/json-bigint/package.json" + "path": "node_modules/path-parse/package.json" }, { - "path": "node_modules/spdx-exceptions/package.json" + "path": "node_modules/mime/package.json" }, { - "path": "node_modules/color-name/package.json" + "path": "node_modules/yargs-unparser/package.json" }, { - "path": "node_modules/through/package.json" + "path": "node_modules/lines-and-columns/package.json" }, { - "path": "node_modules/ent/package.json" + "path": "node_modules/is-url/package.json" }, { - "path": "node_modules/jws/package.json" + "path": "node_modules/chalk/package.json" }, { "path": "node_modules/path-to-regexp/package.json" @@ -1536,1459 +1524,1462 @@ "path": "node_modules/path-to-regexp/node_modules/isarray/package.json" }, { - "path": "node_modules/inquirer/package.json" + "path": "node_modules/locate-path/package.json" }, { - "path": "node_modules/etag/package.json" + "path": "node_modules/spdx-expression-parse/package.json" }, { - "path": "node_modules/power-assert-formatter/package.json" + "path": "node_modules/power-assert-util-string-width/package.json" }, { - "path": "node_modules/text-table/package.json" + "path": "node_modules/esquery/package.json" }, { - "path": "node_modules/color-convert/package.json" + "path": "node_modules/to-readable-stream/package.json" }, { - "path": "node_modules/escope/package.json" + "path": "node_modules/hasha/package.json" }, { - "path": "node_modules/ansi-regex/package.json" + "path": "node_modules/hasha/node_modules/is-stream/package.json" }, { - "path": "node_modules/istanbul-lib-hook/package.json" + "path": "node_modules/jsdoc-fresh/package.json" }, { - "path": "node_modules/is-installed-globally/package.json" + "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" }, { - "path": "node_modules/redent/package.json" + "path": "node_modules/espower-location-detector/package.json" }, { - "path": "node_modules/is-buffer/package.json" + "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" }, { - "path": "node_modules/esrecurse/package.json" + "path": "node_modules/strip-ansi/package.json" }, { - "path": "node_modules/decamelize/package.json" + "path": "node_modules/strip-ansi/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/parse-json/package.json" + "path": "node_modules/is-arrayish/package.json" }, { - "path": "node_modules/mime/package.json" + "path": "node_modules/prettier-linter-helpers/package.json" }, { - "path": "node_modules/google-auth-library/package.json" + "path": "node_modules/chardet/package.json" }, { - "path": "node_modules/ignore/package.json" + "path": "node_modules/amdefine/package.json" }, { - "path": "node_modules/just-extend/package.json" + "path": "node_modules/http-cache-semantics/package.json" }, { - "path": "node_modules/depd/package.json" + "path": "node_modules/concat-stream/package.json" }, { - "path": "node_modules/camelcase-keys/package.json" + "path": "node_modules/concat-stream/node_modules/readable-stream/package.json" }, { - "path": "node_modules/ansi-escapes/package.json" + "path": "node_modules/has-flag/package.json" }, { - "path": "node_modules/concat-stream/package.json" + "path": "node_modules/cheerio/package.json" }, { - "path": "node_modules/concat-stream/node_modules/readable-stream/package.json" + "path": "node_modules/domelementtype/package.json" }, { - "path": "node_modules/decompress-response/package.json" + "path": "node_modules/@szmarczak/http-timer/package.json" }, { - "path": "node_modules/end-of-stream/package.json" + "path": "node_modules/tmp/package.json" }, { - "path": "node_modules/diff-match-patch/package.json" + "path": "node_modules/entities/package.json" }, { - "path": "node_modules/amdefine/package.json" + "path": "node_modules/strip-bom/package.json" }, { - "path": "node_modules/event-emitter/package.json" + "path": "node_modules/argparse/package.json" }, { - "path": "node_modules/diff/package.json" + "path": "node_modules/has/package.json" }, { - "path": "node_modules/tmp/package.json" + "path": "node_modules/ee-first/package.json" }, { - "path": "node_modules/source-map/package.json" + "path": "node_modules/object-inspect/package.json" }, { - "path": "node_modules/is-obj/package.json" + "path": "node_modules/deep-equal/package.json" }, { - "path": "node_modules/cp-file/package.json" + "path": "node_modules/table/package.json" }, { - "path": "node_modules/cp-file/node_modules/semver/package.json" + "path": "node_modules/table/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/cp-file/node_modules/pify/package.json" + "path": "node_modules/table/node_modules/string-width/package.json" }, { - "path": "node_modules/cp-file/node_modules/make-dir/package.json" + "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/yargs-parser/package.json" + "path": "node_modules/spdx-correct/package.json" }, { - "path": "node_modules/teeny-request/package.json" + "path": "node_modules/get-stream/package.json" }, { - "path": "node_modules/teeny-request/node_modules/agent-base/package.json" + "path": "node_modules/sinon/package.json" }, { - "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" + "path": "node_modules/sinon/node_modules/diff/package.json" }, { - "path": "node_modules/teeny-request/node_modules/debug/package.json" + "path": "node_modules/sinon/node_modules/has-flag/package.json" }, { - "path": "node_modules/escape-string-regexp/package.json" + "path": "node_modules/sinon/node_modules/supports-color/package.json" }, { - "path": "node_modules/es-abstract/package.json" + "path": "node_modules/power-assert/package.json" }, { - "path": "node_modules/linkinator/package.json" + "path": "node_modules/statuses/package.json" }, { - "path": "node_modules/linkinator/node_modules/has-flag/package.json" + "path": "node_modules/es6-set/package.json" }, { - "path": "node_modules/linkinator/node_modules/color-name/package.json" + "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" }, { - "path": "node_modules/linkinator/node_modules/color-convert/package.json" + "path": "node_modules/istanbul-reports/package.json" }, { - "path": "node_modules/linkinator/node_modules/supports-color/package.json" + "path": "node_modules/@grpc/grpc-js/package.json" }, { - "path": "node_modules/linkinator/node_modules/ansi-styles/package.json" + "path": "node_modules/@grpc/grpc-js/node_modules/semver/package.json" }, { - "path": "node_modules/linkinator/node_modules/chalk/package.json" + "path": "node_modules/@grpc/proto-loader/package.json" }, { - "path": "node_modules/import-lazy/package.json" + "path": "node_modules/lowercase-keys/package.json" }, { - "path": "node_modules/inflight/package.json" + "path": "node_modules/etag/package.json" }, { - "path": "node_modules/concat-map/package.json" + "path": "node_modules/y18n/package.json" }, { - "path": "node_modules/object.assign/package.json" + "path": "node_modules/diff-match-patch/package.json" }, { - "path": "node_modules/es6-symbol/package.json" + "path": "node_modules/es6-iterator/package.json" }, { - "path": "node_modules/semver/package.json" + "path": "node_modules/eslint-plugin-node/package.json" }, { - "path": "node_modules/jsdoc-fresh/package.json" + "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" }, { - "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" + "path": "node_modules/eslint-plugin-node/node_modules/semver/package.json" }, { - "path": "node_modules/is-typedarray/package.json" + "path": "node_modules/eslint-plugin-node/node_modules/eslint-utils/package.json" }, { - "path": "node_modules/htmlparser2/package.json" + "path": "node_modules/natural-compare/package.json" }, { - "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" + "path": "node_modules/uuid/package.json" }, { - "path": "node_modules/cli-boxes/package.json" + "path": "node_modules/event-target-shim/package.json" }, { - "path": "node_modules/stubs/package.json" + "path": "node_modules/arrify/package.json" }, { - "path": "node_modules/supports-color/package.json" + "path": "node_modules/widest-line/package.json" }, { - "path": "node_modules/path-key/package.json" + "path": "node_modules/ignore-walk/package.json" }, { - "path": "node_modules/lru-cache/package.json" + "path": "node_modules/util-deprecate/package.json" }, { - "path": "node_modules/rc/package.json" + "path": "node_modules/function-bind/package.json" }, { - "path": "node_modules/rc/node_modules/minimist/package.json" + "path": "node_modules/object-is/package.json" }, { - "path": "node_modules/rc/node_modules/strip-json-comments/package.json" + "path": "node_modules/@types/color-name/package.json" }, { - "path": "node_modules/yargs-unparser/package.json" + "path": "node_modules/@types/node/package.json" }, { - "path": "node_modules/abort-controller/package.json" + "path": "node_modules/@types/normalize-package-data/package.json" }, { - "path": "node_modules/http-errors/package.json" + "path": "node_modules/@types/minimist/package.json" }, { - "path": "node_modules/marked/package.json" + "path": "node_modules/@types/fs-extra/package.json" }, { - "path": "node_modules/is-plain-obj/package.json" + "path": "node_modules/@types/long/package.json" }, { - "path": "node_modules/minimatch/package.json" + "path": "node_modules/levn/package.json" }, { - "path": "node_modules/send/package.json" + "path": "node_modules/pseudomap/package.json" }, { - "path": "node_modules/send/node_modules/mime/package.json" + "path": "node_modules/global-dirs/package.json" }, { - "path": "node_modules/send/node_modules/ms/package.json" + "path": "node_modules/power-assert-renderer-diagram/package.json" }, { - "path": "node_modules/send/node_modules/debug/package.json" + "path": "node_modules/is-stream/package.json" }, { - "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" + "path": "node_modules/es6-symbol/package.json" }, { - "path": "node_modules/css-select/package.json" + "path": "node_modules/compressible/package.json" }, { - "path": "node_modules/uri-js/package.json" + "path": "node_modules/parse-json/package.json" }, { - "path": "node_modules/google-p12-pem/package.json" + "path": "node_modules/xdg-basedir/package.json" + }, + { + "path": "node_modules/spdx-license-ids/package.json" + }, + { + "path": "node_modules/google-auth-library/package.json" }, { - "path": "node_modules/spdx-license-ids/package.json" + "path": "node_modules/brace-expansion/package.json" }, { - "path": "node_modules/yallist/package.json" + "path": "node_modules/type-name/package.json" }, { - "path": "node_modules/setprototypeof/package.json" + "path": "node_modules/define-properties/package.json" }, { - "path": "node_modules/hosted-git-info/package.json" + "path": "node_modules/universal-deep-strict-equal/package.json" }, { - "path": "node_modules/argv/package.json" + "path": "node_modules/jws/package.json" }, { - "path": "node_modules/package-json/package.json" + "path": "node_modules/nth-check/package.json" }, { - "path": "node_modules/write-file-atomic/package.json" + "path": "node_modules/empower/package.json" }, { - "path": "node_modules/external-editor/package.json" + "path": "node_modules/send/package.json" }, { - "path": "node_modules/@sindresorhus/is/package.json" + "path": "node_modules/send/node_modules/debug/package.json" }, { - "path": "node_modules/lodash.camelcase/package.json" + "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" }, { - "path": "node_modules/arrify/package.json" + "path": "node_modules/send/node_modules/ms/package.json" }, { - "path": "node_modules/gcs-resumable-upload/package.json" + "path": "node_modules/send/node_modules/mime/package.json" }, { - "path": "node_modules/default-require-extensions/package.json" + "path": "node_modules/require-directory/package.json" }, { - "path": "node_modules/ansi-styles/package.json" + "path": "node_modules/object.assign/package.json" }, { - "path": "node_modules/parseurl/package.json" + "path": "node_modules/is-npm/package.json" }, { - "path": "node_modules/boolbase/package.json" + "path": "node_modules/min-indent/package.json" }, { - "path": "node_modules/is/package.json" + "path": "node_modules/functional-red-black-tree/package.json" }, { - "path": "node_modules/cliui/package.json" + "path": "node_modules/read-pkg/package.json" }, { - "path": "node_modules/cliui/node_modules/string-width/package.json" + "path": "node_modules/read-pkg/node_modules/type-fest/package.json" }, { - "path": "node_modules/cliui/node_modules/emoji-regex/package.json" + "path": "node_modules/registry-url/package.json" }, { - "path": "node_modules/cliui/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/is-regex/package.json" }, { - "path": "node_modules/balanced-match/package.json" + "path": "node_modules/es-abstract/package.json" }, { - "path": "node_modules/acorn/package.json" + "path": "node_modules/parent-module/package.json" }, { - "path": "node_modules/load-json-file/package.json" + "path": "node_modules/type-detect/package.json" }, { - "path": "node_modules/widest-line/package.json" + "path": "node_modules/signal-exit/package.json" }, { - "path": "node_modules/widest-line/node_modules/string-width/package.json" + "path": "node_modules/import-fresh/package.json" }, { - "path": "node_modules/widest-line/node_modules/strip-ansi/package.json" + "path": "node_modules/default-require-extensions/package.json" }, { - "path": "node_modules/widest-line/node_modules/ansi-regex/package.json" + "path": "node_modules/keyv/package.json" }, { - "path": "node_modules/widest-line/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/estraverse/package.json" }, { - "path": "node_modules/which/package.json" + "path": "node_modules/fast-deep-equal/package.json" }, { - "path": "node_modules/prettier-linter-helpers/package.json" + "path": "node_modules/mute-stream/package.json" }, { - "path": "node_modules/object-inspect/package.json" + "path": "node_modules/power-assert-context-traversal/package.json" }, { - "path": "node_modules/retry-request/package.json" + "path": "node_modules/rimraf/package.json" }, { - "path": "node_modules/retry-request/node_modules/debug/package.json" + "path": "node_modules/is-installed-globally/package.json" }, { - "path": "node_modules/is-arrayish/package.json" + "path": "node_modules/get-stdin/package.json" }, { - "path": "node_modules/shebang-regex/package.json" + "path": "node_modules/make-dir/package.json" }, { - "path": "node_modules/clone-response/package.json" + "path": "node_modules/make-dir/node_modules/semver/package.json" }, { - "path": "node_modules/deep-is/package.json" + "path": "node_modules/es6-promise/package.json" }, { - "path": "node_modules/regexpp/package.json" + "path": "node_modules/os-tmpdir/package.json" }, { - "path": "node_modules/hasha/package.json" + "path": "node_modules/retry-request/package.json" }, { - "path": "node_modules/hasha/node_modules/is-stream/package.json" + "path": "node_modules/retry-request/node_modules/debug/package.json" }, { - "path": "node_modules/node-forge/package.json" + "path": "node_modules/cli-cursor/package.json" }, { - "path": "node_modules/power-assert/package.json" + "path": "node_modules/ext/package.json" }, { - "path": "node_modules/path-is-absolute/package.json" + "path": "node_modules/ext/node_modules/type/package.json" }, { - "path": "node_modules/ignore-walk/package.json" + "path": "node_modules/is-symbol/package.json" }, { - "path": "node_modules/finalhandler/package.json" + "path": "node_modules/css-what/package.json" }, { - "path": "node_modules/finalhandler/node_modules/ms/package.json" + "path": "node_modules/ent/package.json" }, { - "path": "node_modules/finalhandler/node_modules/debug/package.json" + "path": "node_modules/punycode/package.json" }, { - "path": "node_modules/source-map-support/package.json" + "path": "node_modules/setprototypeof/package.json" }, { - "path": "node_modules/source-map-support/node_modules/source-map/package.json" + "path": "node_modules/word-wrap/package.json" }, { - "path": "node_modules/stream-events/package.json" + "path": "node_modules/foreground-child/package.json" }, { - "path": "node_modules/buffer-equal-constant-time/package.json" + "path": "node_modules/foreground-child/node_modules/lru-cache/package.json" }, { - "path": "node_modules/path-parse/package.json" + "path": "node_modules/foreground-child/node_modules/yallist/package.json" }, { - "path": "node_modules/decamelize-keys/package.json" + "path": "node_modules/foreground-child/node_modules/cross-spawn/package.json" }, { - "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" + "path": "node_modules/@sinonjs/text-encoding/package.json" }, { - "path": "node_modules/os-tmpdir/package.json" + "path": "node_modules/@sinonjs/samsam/package.json" }, { - "path": "node_modules/power-assert-util-string-width/package.json" + "path": "node_modules/@sinonjs/commons/package.json" }, { - "path": "node_modules/url-parse-lax/package.json" + "path": "node_modules/@sinonjs/formatio/package.json" }, { - "path": "node_modules/linkify-it/package.json" + "path": "node_modules/pumpify/package.json" }, { - "path": "node_modules/minimist/package.json" + "path": "node_modules/pumpify/node_modules/duplexify/package.json" }, { - "path": "node_modules/fresh/package.json" + "path": "node_modules/pumpify/node_modules/readable-stream/package.json" }, { - "path": "node_modules/power-assert-context-formatter/package.json" + "path": "node_modules/es6-map/package.json" }, { - "path": "node_modules/is-stream/package.json" + "path": "node_modules/call-signature/package.json" }, { - "path": "node_modules/call-matcher/package.json" + "path": "node_modules/package-json/package.json" }, { - "path": "node_modules/os-homedir/package.json" + "path": "node_modules/package-json/node_modules/semver/package.json" }, { - "path": "node_modules/is-stream-ended/package.json" + "path": "node_modules/css-select/package.json" }, { - "path": "node_modules/slice-ansi/package.json" + "path": "node_modules/eslint-plugin-prettier/package.json" }, { - "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/p-finally/package.json" }, { - "path": "node_modules/onetime/package.json" + "path": "node_modules/inquirer/package.json" }, { - "path": "node_modules/spdx-correct/package.json" + "path": "node_modules/acorn-jsx/package.json" }, { - "path": "node_modules/fast-deep-equal/package.json" + "path": "node_modules/glob/package.json" }, { - "path": "node_modules/readable-stream/package.json" + "path": "node_modules/mocha/package.json" }, { - "path": "node_modules/xdg-basedir/package.json" + "path": "node_modules/mocha/node_modules/ms/package.json" }, { - "path": "node_modules/v8-compile-cache/package.json" + "path": "node_modules/mocha/node_modules/p-locate/package.json" }, { - "path": "node_modules/callsites/package.json" + "path": "node_modules/mocha/node_modules/locate-path/package.json" }, { - "path": "node_modules/power-assert-renderer-assertion/package.json" + "path": "node_modules/mocha/node_modules/glob/package.json" }, { - "path": "node_modules/pify/package.json" + "path": "node_modules/mocha/node_modules/supports-color/package.json" }, { - "path": "node_modules/stream-shift/package.json" + "path": "node_modules/mocha/node_modules/find-up/package.json" }, { - "path": "node_modules/crypto-random-string/package.json" + "path": "node_modules/mocha/node_modules/path-exists/package.json" }, { - "path": "node_modules/escodegen/package.json" + "path": "node_modules/mocha/node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/escodegen/node_modules/esprima/package.json" + "path": "node_modules/mocha/node_modules/yargs-parser/package.json" }, { - "path": "node_modules/entities/package.json" + "path": "node_modules/mime-db/package.json" }, { - "path": "node_modules/object.getownpropertydescriptors/package.json" + "path": "node_modules/nyc/package.json" }, { - "path": "node_modules/power-assert-renderer-file/package.json" + "path": "node_modules/nyc/node_modules/p-locate/package.json" }, { - "path": "node_modules/unpipe/package.json" + "path": "node_modules/nyc/node_modules/locate-path/package.json" }, { - "path": "node_modules/array-filter/package.json" + "path": "node_modules/nyc/node_modules/make-dir/package.json" }, { - "path": "node_modules/archy/package.json" + "path": "node_modules/nyc/node_modules/semver/package.json" }, { - "path": "node_modules/es6-error/package.json" + "path": "node_modules/nyc/node_modules/find-up/package.json" }, { - "path": "node_modules/strip-eof/package.json" + "path": "node_modules/nyc/node_modules/path-exists/package.json" }, { - "path": "node_modules/is-path-inside/package.json" + "path": "node_modules/nyc/node_modules/yargs-parser/package.json" }, { - "path": "node_modules/ini/package.json" + "path": "node_modules/event-emitter/package.json" }, { - "path": "node_modules/currently-unhandled/package.json" + "path": "node_modules/@protobufjs/codegen/package.json" }, { - "path": "node_modules/package-hash/package.json" + "path": "node_modules/@protobufjs/base64/package.json" }, { - "path": "node_modules/validate-npm-package-license/package.json" + "path": "node_modules/@protobufjs/utf8/package.json" }, { - "path": "node_modules/bignumber.js/package.json" + "path": "node_modules/@protobufjs/pool/package.json" }, { - "path": "node_modules/is-yarn-global/package.json" + "path": "node_modules/@protobufjs/float/package.json" }, { - "path": "node_modules/lodash.has/package.json" + "path": "node_modules/@protobufjs/fetch/package.json" }, { - "path": "node_modules/camelcase/package.json" + "path": "node_modules/@protobufjs/path/package.json" }, { - "path": "node_modules/prelude-ls/package.json" + "path": "node_modules/@protobufjs/aspromise/package.json" }, { - "path": "node_modules/codecov/package.json" + "path": "node_modules/@protobufjs/inquire/package.json" }, { - "path": "node_modules/codecov/node_modules/teeny-request/package.json" + "path": "node_modules/@protobufjs/eventemitter/package.json" }, { - "path": "node_modules/codecov/node_modules/https-proxy-agent/package.json" + "path": "node_modules/node-forge/package.json" }, { - "path": "node_modules/es6-promise/package.json" + "path": "node_modules/lodash.has/package.json" }, { - "path": "node_modules/doctrine/package.json" + "path": "node_modules/to-fast-properties/package.json" }, { - "path": "node_modules/path-exists/package.json" + "path": "node_modules/source-map-support/package.json" }, { - "path": "node_modules/deep-extend/package.json" + "path": "node_modules/source-map-support/node_modules/source-map/package.json" }, { - "path": "node_modules/nth-check/package.json" + "path": "node_modules/has-symbols/package.json" }, { - "path": "node_modules/isarray/package.json" + "path": "node_modules/just-extend/package.json" }, { - "path": "node_modules/es-to-primitive/package.json" + "path": "node_modules/stubs/package.json" }, { - "path": "node_modules/https-proxy-agent/package.json" + "path": "node_modules/find-cache-dir/package.json" }, { - "path": "node_modules/eslint-plugin-es/package.json" + "path": "node_modules/find-cache-dir/node_modules/make-dir/package.json" }, { - "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" + "path": "node_modules/find-cache-dir/node_modules/semver/package.json" }, { - "path": "node_modules/path-type/package.json" + "path": "node_modules/espurify/package.json" }, { - "path": "node_modules/pumpify/package.json" + "path": "node_modules/lodash.at/package.json" }, { - "path": "node_modules/pumpify/node_modules/readable-stream/package.json" + "path": "node_modules/ansi-styles/package.json" }, { - "path": "node_modules/pumpify/node_modules/duplexify/package.json" + "path": "node_modules/merge-estraverse-visitors/package.json" }, { - "path": "node_modules/fast-json-stable-stringify/package.json" + "path": "node_modules/cp-file/package.json" }, { - "path": "node_modules/p-locate/package.json" + "path": "node_modules/cp-file/node_modules/make-dir/package.json" }, { - "path": "node_modules/p-locate/node_modules/p-limit/package.json" + "path": "node_modules/cp-file/node_modules/semver/package.json" }, { - "path": "node_modules/p-locate/node_modules/p-try/package.json" + "path": "node_modules/ansi-colors/package.json" }, { - "path": "node_modules/intelli-espower-loader/package.json" + "path": "node_modules/date-and-time/package.json" }, { - "path": "node_modules/node-fetch/package.json" + "path": "node_modules/p-try/package.json" }, { - "path": "node_modules/registry-auth-token/package.json" + "path": "node_modules/escope/package.json" }, { - "path": "node_modules/esutils/package.json" + "path": "node_modules/json-parse-better-errors/package.json" }, { - "path": "node_modules/which-module/package.json" + "path": "node_modules/readable-stream/package.json" }, { - "path": "node_modules/jsesc/package.json" + "path": "node_modules/abort-controller/package.json" }, { - "path": "node_modules/function-bind/package.json" + "path": "node_modules/which/package.json" }, { - "path": "node_modules/trim-newlines/package.json" + "path": "node_modules/astral-regex/package.json" }, { - "path": "node_modules/event-target-shim/package.json" + "path": "node_modules/escodegen/package.json" }, { - "path": "node_modules/commondir/package.json" + "path": "node_modules/escodegen/node_modules/esprima/package.json" }, { - "path": "node_modules/on-finished/package.json" + "path": "node_modules/minimist/package.json" }, { - "path": "node_modules/y18n/package.json" + "path": "node_modules/clone-response/package.json" }, { - "path": "node_modules/quick-lru/package.json" + "path": "node_modules/ecdsa-sig-formatter/package.json" }, { - "path": "node_modules/js-yaml/package.json" + "path": "node_modules/requizzle/package.json" }, { - "path": "node_modules/flat/package.json" + "path": "node_modules/base64-js/package.json" }, { - "path": "node_modules/normalize-package-data/package.json" + "path": "node_modules/pify/package.json" }, { - "path": "node_modules/normalize-package-data/node_modules/semver/package.json" + "path": "node_modules/object-keys/package.json" }, { - "path": "node_modules/es6-iterator/package.json" + "path": "node_modules/trim-newlines/package.json" }, { - "path": "node_modules/mkdirp/package.json" + "path": "node_modules/deep-is/package.json" }, { - "path": "node_modules/fast-text-encoding/package.json" + "path": "node_modules/fast-levenshtein/package.json" }, { - "path": "node_modules/acorn-es7-plugin/package.json" + "path": "node_modules/shebang-regex/package.json" }, { - "path": "node_modules/through2/package.json" + "path": "node_modules/eslint-plugin-es/package.json" }, { - "path": "node_modules/eslint-visitor-keys/package.json" + "path": "node_modules/eslint-plugin-es/node_modules/eslint-utils/package.json" }, { - "path": "node_modules/glob/package.json" + "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" }, { - "path": "node_modules/inherits/package.json" + "path": "node_modules/semver/package.json" }, { - "path": "node_modules/string.prototype.trimright/package.json" + "path": "node_modules/unique-string/package.json" }, { - "path": "node_modules/punycode/package.json" + "path": "node_modules/decamelize/package.json" }, { - "path": "node_modules/es5-ext/package.json" + "path": "node_modules/acorn/package.json" }, { - "path": "node_modules/is-date-object/package.json" + "path": "node_modules/wide-align/package.json" }, { - "path": "node_modules/sprintf-js/package.json" + "path": "node_modules/wide-align/node_modules/string-width/package.json" }, { - "path": "node_modules/is-npm/package.json" + "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" }, { - "path": "node_modules/has-yarn/package.json" + "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" }, { - "path": "node_modules/get-stdin/package.json" + "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/shebang-command/package.json" + "path": "node_modules/got/package.json" }, { - "path": "node_modules/empower-core/package.json" + "path": "node_modules/sprintf-js/package.json" }, { - "path": "node_modules/imurmurhash/package.json" + "path": "node_modules/@google-cloud/storage/package.json" }, { - "path": "node_modules/globals/package.json" + "path": "node_modules/@google-cloud/storage/node_modules/readable-stream/package.json" }, { - "path": "node_modules/latest-version/package.json" + "path": "node_modules/@google-cloud/projectify/package.json" }, { - "path": "node_modules/natural-compare/package.json" + "path": "node_modules/@google-cloud/common/package.json" }, { - "path": "node_modules/commander/package.json" + "path": "node_modules/@google-cloud/paginator/package.json" }, { - "path": "node_modules/path-is-inside/package.json" + "path": "node_modules/@google-cloud/promisify/package.json" }, { - "path": "node_modules/rxjs/package.json" + "path": "node_modules/archy/package.json" }, { - "path": "node_modules/node-environment-flags/package.json" + "path": "node_modules/isarray/package.json" }, { - "path": "node_modules/node-environment-flags/node_modules/semver/package.json" + "path": "node_modules/string_decoder/package.json" }, { "path": "node_modules/p-limit/package.json" }, { - "path": "node_modules/call-signature/package.json" - }, - { - "path": "node_modules/istanbul-lib-coverage/package.json" + "path": "node_modules/url-parse-lax/package.json" }, { - "path": "node_modules/neo-async/package.json" + "path": "node_modules/commander/package.json" }, { - "path": "node_modules/foreground-child/package.json" + "path": "node_modules/mimic-fn/package.json" }, { - "path": "node_modules/foreground-child/node_modules/cross-spawn/package.json" + "path": "node_modules/https-proxy-agent/package.json" }, { - "path": "node_modules/foreground-child/node_modules/lru-cache/package.json" + "path": "node_modules/ini/package.json" }, { - "path": "node_modules/foreground-child/node_modules/yallist/package.json" + "path": "node_modules/js2xmlparser/package.json" }, { - "path": "node_modules/he/package.json" + "path": "node_modules/spdx-exceptions/package.json" }, { - "path": "node_modules/mime-types/package.json" + "path": "node_modules/external-editor/package.json" }, { - "path": "node_modules/meow/package.json" + "path": "node_modules/power-assert-formatter/package.json" }, { - "path": "node_modules/toidentifier/package.json" + "path": "node_modules/eslint-utils/package.json" }, { - "path": "node_modules/execa/package.json" + "path": "node_modules/text-table/package.json" }, { - "path": "node_modules/execa/node_modules/cross-spawn/package.json" + "path": "node_modules/domutils/package.json" }, { - "path": "node_modules/execa/node_modules/lru-cache/package.json" + "path": "node_modules/supports-color/package.json" }, { - "path": "node_modules/execa/node_modules/yallist/package.json" + "path": "node_modules/strip-indent/package.json" }, { - "path": "node_modules/execa/node_modules/is-stream/package.json" + "path": "node_modules/fs.realpath/package.json" }, { - "path": "node_modules/levn/package.json" + "path": "node_modules/parse5/package.json" }, { - "path": "node_modules/sinon/package.json" + "path": "node_modules/decamelize-keys/package.json" }, { - "path": "node_modules/unique-string/package.json" + "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" }, { - "path": "node_modules/gaxios/package.json" + "path": "node_modules/empower-core/package.json" }, { - "path": "node_modules/power-assert-renderer-base/package.json" + "path": "node_modules/acorn-es7-plugin/package.json" }, { - "path": "node_modules/browser-stdout/package.json" + "path": "node_modules/p-timeout/package.json" }, { - "path": "node_modules/regexp.prototype.flags/package.json" + "path": "node_modules/neo-async/package.json" }, { - "path": "node_modules/run-async/package.json" + "path": "node_modules/espree/package.json" }, { - "path": "node_modules/cheerio/package.json" + "path": "node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/eslint-utils/package.json" + "path": "node_modules/responselike/package.json" }, { - "path": "node_modules/prepend-http/package.json" + "path": "node_modules/next-tick/package.json" }, { - "path": "node_modules/urlgrey/package.json" + "path": "node_modules/esrecurse/package.json" }, { - "path": "node_modules/define-properties/package.json" + "path": "node_modules/bignumber.js/package.json" }, { - "path": "node_modules/p-timeout/package.json" + "path": "node_modules/source-map/package.json" }, { - "path": "node_modules/cli-cursor/package.json" + "path": "node_modules/find-up/package.json" }, { - "path": "node_modules/pump/package.json" + "path": "node_modules/traverse/package.json" }, { - "path": "node_modules/stringifier/package.json" + "path": "node_modules/es-to-primitive/package.json" }, { - "path": "node_modules/espower-location-detector/package.json" + "path": "node_modules/rc/package.json" }, { - "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" + "path": "node_modules/rc/node_modules/minimist/package.json" }, { - "path": "node_modules/escape-html/package.json" + "path": "node_modules/rc/node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/http-cache-semantics/package.json" + "path": "node_modules/safe-buffer/package.json" }, { - "path": "node_modules/to-readable-stream/package.json" + "path": "node_modules/uc.micro/package.json" }, { - "path": "node_modules/eastasianwidth/package.json" + "path": "node_modules/flat-cache/package.json" }, { - "path": "node_modules/chardet/package.json" + "path": "node_modules/once/package.json" }, { - "path": "node_modules/js-tokens/package.json" + "path": "node_modules/gtoken/package.json" }, { - "path": "node_modules/chalk/package.json" + "path": "node_modules/urlgrey/package.json" }, { - "path": "node_modules/is-regex/package.json" + "path": "node_modules/convert-source-map/package.json" }, { - "path": "node_modules/ajv/package.json" + "path": "node_modules/is-date-object/package.json" }, { - "path": "node_modules/spdx-expression-parse/package.json" + "path": "node_modules/escape-string-regexp/package.json" }, { - "path": "node_modules/cli-width/package.json" + "path": "node_modules/iconv-lite/package.json" }, { - "path": "node_modules/ms/package.json" + "path": "node_modules/is-glob/package.json" }, { - "path": "node_modules/istanbul-lib-report/package.json" + "path": "node_modules/tslib/package.json" }, { - "path": "node_modules/istanbul-lib-report/node_modules/semver/package.json" + "path": "node_modules/jsesc/package.json" }, { - "path": "node_modules/istanbul-lib-report/node_modules/supports-color/package.json" + "path": "node_modules/markdown-it-anchor/package.json" }, { - "path": "node_modules/istanbul-lib-report/node_modules/pify/package.json" + "path": "node_modules/browser-stdout/package.json" }, { - "path": "node_modules/istanbul-lib-report/node_modules/make-dir/package.json" + "path": "node_modules/path-type/package.json" }, { - "path": "node_modules/base64-js/package.json" + "path": "node_modules/path-type/node_modules/pify/package.json" }, { - "path": "node_modules/encodeurl/package.json" + "path": "node_modules/snakeize/package.json" }, { - "path": "node_modules/json-buffer/package.json" + "path": "node_modules/istanbul-lib-source-maps/package.json" }, { - "path": "node_modules/file-entry-cache/package.json" + "path": "node_modules/istanbul-lib-source-maps/node_modules/debug/package.json" }, { - "path": "node_modules/gtoken/package.json" + "path": "node_modules/istanbul-lib-source-maps/node_modules/make-dir/package.json" }, { - "path": "node_modules/klaw/package.json" + "path": "node_modules/istanbul-lib-source-maps/node_modules/semver/package.json" }, { - "path": "node_modules/functional-red-black-tree/package.json" + "path": "node_modules/pump/package.json" }, { - "path": "node_modules/dom-serializer/package.json" + "path": "node_modules/process-nextick-args/package.json" }, { - "path": "node_modules/is-symbol/package.json" + "path": "node_modules/deep-extend/package.json" }, { - "path": "node_modules/@babel/generator/package.json" + "path": "node_modules/power-assert-context-reducer-ast/package.json" }, { - "path": "node_modules/@babel/generator/node_modules/source-map/package.json" + "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" }, { - "path": "node_modules/@babel/helper-function-name/package.json" + "path": "node_modules/type-check/package.json" }, { - "path": "node_modules/@babel/template/package.json" + "path": "node_modules/teeny-request/package.json" }, { - "path": "node_modules/@babel/helper-split-export-declaration/package.json" + "path": "node_modules/teeny-request/node_modules/debug/package.json" }, { - "path": "node_modules/@babel/parser/package.json" + "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" }, { - "path": "node_modules/@babel/helper-get-function-arity/package.json" + "path": "node_modules/teeny-request/node_modules/agent-base/package.json" }, { - "path": "node_modules/@babel/types/package.json" + "path": "node_modules/jwa/package.json" }, { - "path": "node_modules/@babel/highlight/package.json" + "path": "node_modules/walkdir/package.json" }, { - "path": "node_modules/@babel/traverse/package.json" + "path": "node_modules/hard-rejection/package.json" }, { - "path": "node_modules/@babel/traverse/node_modules/globals/package.json" + "path": "node_modules/espower-source/package.json" }, { - "path": "node_modules/@babel/traverse/node_modules/debug/package.json" + "path": "node_modules/espower-source/node_modules/acorn/package.json" }, { - "path": "node_modules/@babel/code-frame/package.json" + "path": "node_modules/mime-types/package.json" }, { - "path": "node_modules/type-check/package.json" + "path": "node_modules/cross-spawn/index.js" }, { - "path": "node_modules/lolex/package.json" + "path": "node_modules/cross-spawn/README.md" }, { - "path": "node_modules/iconv-lite/package.json" + "path": "node_modules/cross-spawn/package.json" }, { - "path": "node_modules/is-url/package.json" + "path": "node_modules/cross-spawn/LICENSE" }, { - "path": "node_modules/domutils/package.json" + "path": "node_modules/cross-spawn/CHANGELOG.md" }, { - "path": "node_modules/nise/package.json" + "path": "node_modules/cross-spawn/lib/parse.js" }, { - "path": "node_modules/nise/node_modules/lolex/package.json" + "path": "node_modules/cross-spawn/lib/enoent.js" }, { - "path": "node_modules/p-queue/package.json" + "path": "node_modules/cross-spawn/lib/util/escape.js" }, { - "path": "node_modules/eventemitter3/package.json" + "path": "node_modules/cross-spawn/lib/util/resolveCommand.js" }, { - "path": "node_modules/ext/package.json" + "path": "node_modules/cross-spawn/lib/util/readShebang.js" }, { - "path": "node_modules/ext/node_modules/type/package.json" + "path": "node_modules/cross-spawn/node_modules/semver/package.json" }, { - "path": "node_modules/pkg-dir/package.json" + "path": "node_modules/@sindresorhus/is/package.json" }, { - "path": "node_modules/pkg-dir/node_modules/locate-path/package.json" + "path": "node_modules/wrap-ansi/package.json" }, { - "path": "node_modules/pkg-dir/node_modules/find-up/package.json" + "path": "node_modules/wrap-ansi/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/pkg-dir/node_modules/p-locate/package.json" + "path": "node_modules/wrap-ansi/node_modules/string-width/package.json" }, { - "path": "node_modules/deep-equal/package.json" + "path": "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/mime-db/package.json" + "path": "node_modules/nested-error-stacks/package.json" }, { - "path": "node_modules/parse5/package.json" + "path": "node_modules/quick-lru/package.json" }, { - "path": "node_modules/flatted/package.json" + "path": "node_modules/path-exists/package.json" }, { - "path": "node_modules/once/package.json" + "path": "node_modules/jsdoc/package.json" }, { - "path": "node_modules/universal-deep-strict-equal/package.json" + "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" }, { - "path": "node_modules/brace-expansion/package.json" + "path": "node_modules/cacheable-request/package.json" }, { - "path": "node_modules/jsdoc-region-tag/package.json" + "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" }, { - "path": "node_modules/markdown-it-anchor/package.json" + "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" }, { - "path": "node_modules/traverse/package.json" + "path": "node_modules/escape-html/package.json" }, { - "path": "node_modules/restore-cursor/package.json" + "path": "node_modules/power-assert-renderer-assertion/package.json" }, { - "path": "node_modules/lodash.at/package.json" + "path": "node_modules/minimist-options/package.json" }, { - "path": "node_modules/graceful-fs/package.json" + "path": "node_modules/minimist-options/node_modules/arrify/package.json" }, { - "path": "node_modules/responselike/package.json" + "path": "node_modules/latest-version/package.json" }, { - "path": "node_modules/pseudomap/package.json" + "path": "node_modules/nise/package.json" }, { - "path": "node_modules/espurify/package.json" + "path": "node_modules/optionator/package.json" }, { - "path": "node_modules/espree/package.json" + "path": "node_modules/slice-ansi/package.json" }, { - "path": "node_modules/power-assert-renderer-diagram/package.json" + "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/word-wrap/package.json" + "path": "node_modules/power-assert-renderer-comparison/package.json" }, { - "path": "node_modules/espower-source/package.json" + "path": "node_modules/os-homedir/package.json" }, { - "path": "node_modules/espower-source/node_modules/acorn/package.json" + "path": "node_modules/flatted/package.json" }, { - "path": "node_modules/normalize-url/package.json" + "path": "node_modules/inherits/package.json" }, { - "path": "node_modules/wordwrap/package.json" + "path": "node_modules/depd/package.json" }, { - "path": "node_modules/ee-first/package.json" + "path": "node_modules/es6-promisify/package.json" }, { - "path": "node_modules/table/package.json" + "path": "node_modules/long/package.json" }, { - "path": "node_modules/table/node_modules/string-width/package.json" + "path": "node_modules/regexpp/package.json" }, { - "path": "node_modules/table/node_modules/emoji-regex/package.json" + "path": "node_modules/cli-width/package.json" }, { - "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" + "path": "node_modules/call-matcher/package.json" }, { - "path": "node_modules/handlebars/package.json" + "path": "node_modules/eslint/package.json" }, { - "path": "node_modules/es6-weak-map/package.json" + "path": "node_modules/eslint/node_modules/debug/package.json" }, { - "path": "node_modules/to-fast-properties/package.json" + "path": "node_modules/eslint/node_modules/semver/package.json" }, { - "path": "node_modules/protobufjs/package.json" + "path": "node_modules/mdurl/package.json" }, { - "path": "node_modules/protobufjs/cli/package.json" + "path": "node_modules/typedarray/package.json" }, { - "path": "node_modules/protobufjs/cli/package-lock.json" + "path": "node_modules/espower-loader/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" + "path": "node_modules/object.getownpropertydescriptors/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" + "path": "node_modules/yargs/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" + "path": "node_modules/yargs/node_modules/emoji-regex/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" + "path": "node_modules/yargs/node_modules/string-width/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" + "path": "node_modules/yargs/node_modules/p-locate/package.json" }, { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" + "path": "node_modules/yargs/node_modules/locate-path/package.json" }, { - "path": "node_modules/espower/package.json" + "path": "node_modules/yargs/node_modules/is-fullwidth-code-point/package.json" }, { - "path": "node_modules/espower/node_modules/source-map/package.json" + "path": "node_modules/yargs/node_modules/find-up/package.json" }, { - "path": "node_modules/date-and-time/package.json" + "path": "node_modules/yargs/node_modules/path-exists/package.json" }, { - "path": "node_modules/strip-json-comments/package.json" + "path": "node_modules/yargs/node_modules/yargs-parser/package.json" }, { - "path": "node_modules/process-nextick-args/package.json" + "path": "node_modules/ci-info/package.json" }, { - "path": "node_modules/uuid/package.json" + "path": "node_modules/color-convert/package.json" }, { - "path": "node_modules/array-find-index/package.json" + "path": "node_modules/write-file-atomic/package.json" }, { - "path": "node_modules/astral-regex/package.json" + "path": "node_modules/eslint-visitor-keys/package.json" }, { - "path": "node_modules/@grpc/proto-loader/package.json" + "path": "node_modules/agent-base/package.json" }, { - "path": "node_modules/@grpc/grpc-js/package.json" + "path": "node_modules/flat/package.json" }, { - "path": "node_modules/test-exclude/package.json" + "path": "node_modules/through2/package.json" }, { - "path": "node_modules/test-exclude/node_modules/locate-path/package.json" + "path": "node_modules/gaxios/package.json" }, { - "path": "node_modules/test-exclude/node_modules/find-up/package.json" + "path": "node_modules/p-queue/package.json" }, { - "path": "node_modules/test-exclude/node_modules/p-locate/package.json" + "path": "node_modules/encodeurl/package.json" }, { - "path": "node_modules/test-exclude/node_modules/read-pkg-up/package.json" + "path": "node_modules/js-tokens/package.json" }, { - "path": "node_modules/es6-promisify/package.json" + "path": "node_modules/strip-json-comments/package.json" }, { - "path": "node_modules/p-try/package.json" + "path": "node_modules/eslint-config-prettier/package.json" }, { - "path": "node_modules/optionator/package.json" + "path": "node_modules/uri-js/package.json" }, { - "path": "node_modules/requizzle/package.json" + "path": "node_modules/test-exclude/package.json" }, { - "path": "node_modules/fast-levenshtein/package.json" + "path": "node_modules/test-exclude/node_modules/read-pkg-up/package.json" }, { - "path": "node_modules/statuses/package.json" + "path": "node_modules/test-exclude/node_modules/p-locate/package.json" }, { - "path": "node_modules/semver-diff/package.json" + "path": "node_modules/test-exclude/node_modules/locate-path/package.json" }, { - "path": "node_modules/semver-diff/node_modules/semver/package.json" + "path": "node_modules/test-exclude/node_modules/read-pkg/package.json" }, { - "path": "node_modules/signal-exit/package.json" + "path": "node_modules/test-exclude/node_modules/find-up/package.json" }, { - "path": "node_modules/jsdoc/package.json" + "path": "node_modules/test-exclude/node_modules/path-exists/package.json" }, { - "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" + "path": "node_modules/safer-buffer/package.json" }, { - "path": "node_modules/duplexify/package.json" + "path": "node_modules/es6-error/package.json" }, { - "path": "node_modules/array-from/package.json" + "path": "node_modules/prettier/package.json" }, { - "path": "node_modules/object-is/package.json" + "path": "node_modules/regexp.prototype.flags/package.json" }, { - "path": "node_modules/tslib/package.json" + "path": "node_modules/yargs-parser/package.json" }, { - "path": "node_modules/extend/package.json" + "path": "node_modules/lodash.get/package.json" }, { - "path": "node_modules/nested-error-stacks/package.json" + "path": "node_modules/@babel/helper-get-function-arity/package.json" }, { - "path": "node_modules/power-assert-context-reducer-ast/package.json" + "path": "node_modules/@babel/generator/package.json" }, { - "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" + "path": "node_modules/@babel/generator/node_modules/source-map/package.json" }, { - "path": "node_modules/css-what/package.json" + "path": "node_modules/@babel/code-frame/package.json" }, { - "path": "node_modules/power-assert-renderer-comparison/package.json" + "path": "node_modules/@babel/helper-split-export-declaration/package.json" }, { - "path": "node_modules/ecdsa-sig-formatter/package.json" + "path": "node_modules/@babel/highlight/package.json" }, { - "path": "node_modules/typedarray-to-buffer/README.md" + "path": "node_modules/@babel/helper-function-name/package.json" }, { - "path": "node_modules/typedarray-to-buffer/package.json" + "path": "node_modules/@babel/traverse/package.json" }, { - "path": "node_modules/typedarray-to-buffer/.travis.yml" + "path": "node_modules/@babel/traverse/node_modules/globals/package.json" }, { - "path": "node_modules/typedarray-to-buffer/index.js" + "path": "node_modules/@babel/traverse/node_modules/debug/package.json" }, { - "path": "node_modules/typedarray-to-buffer/.airtap.yml" + "path": "node_modules/@babel/types/package.json" }, { - "path": "node_modules/typedarray-to-buffer/LICENSE" + "path": "node_modules/@babel/parser/package.json" }, { - "path": "node_modules/typedarray-to-buffer/test/basic.js" + "path": "node_modules/@babel/template/package.json" }, { - "path": "node_modules/spawn-wrap/package.json" + "path": "node_modules/configstore/package.json" }, { - "path": "node_modules/markdown-it/package.json" + "path": "node_modules/is-plain-obj/package.json" }, { - "path": "node_modules/buffer-from/package.json" + "path": "node_modules/eastasianwidth/package.json" }, { - "path": "node_modules/domelementtype/package.json" + "path": "node_modules/package-hash/package.json" }, { - "path": "node_modules/ci-info/package.json" + "path": "node_modules/has-yarn/package.json" }, { - "path": "node_modules/@types/color-name/package.json" + "path": "node_modules/core-js/package.json" }, { - "path": "node_modules/@types/node/package.json" + "path": "samples/setEndpoint.js" }, { - "path": "node_modules/@types/long/package.json" + "path": "samples/detect.js" }, { - "path": "node_modules/serve-static/package.json" + "path": "samples/textDetection.js" }, { - "path": "node_modules/make-dir/package.json" + "path": "samples/README.md" }, { - "path": "node_modules/esquery/package.json" + "path": "samples/batch-annotate-files-gcs.js" }, { - "path": "node_modules/caching-transform/package.json" + "path": "samples/package.json" }, { - "path": "node_modules/caching-transform/node_modules/semver/package.json" + "path": "samples/quickstart.js" }, { - "path": "node_modules/caching-transform/node_modules/write-file-atomic/package.json" + "path": "samples/.eslintrc.yml" }, { - "path": "node_modules/caching-transform/node_modules/pify/package.json" + "path": "samples/detect.v1p3beta1.js" }, { - "path": "node_modules/caching-transform/node_modules/make-dir/package.json" + "path": "samples/detect.v1p1beta1.js" }, { - "path": "node_modules/emoji-regex/package.json" + "path": "samples/batch-annotate-files.js" }, { - "path": "node_modules/read-pkg/package.json" + "path": "samples/async-batch-annotate-images.js" }, { - "path": "node_modules/fast-diff/package.json" + "path": "samples/faceDetection.js" }, { - "path": "node_modules/xtend/package.json" + "path": "samples/system-test/detect.v1p3beta1.test.js" }, { - "path": "node_modules/resolve/package.json" + "path": "samples/system-test/products.test.js" }, { - "path": "node_modules/lowercase-keys/package.json" + "path": "samples/system-test/similarProducts.test.js" }, { - "path": "node_modules/is-fullwidth-code-point/package.json" + "path": "samples/system-test/textDetection.test.js" }, { - "path": "node_modules/read-pkg-up/package.json" + "path": "samples/system-test/batch-annotate-files.test.js" }, { - "path": "node_modules/@google-cloud/paginator/package.json" + "path": "samples/system-test/faceDetection.test.js" }, { - "path": "node_modules/@google-cloud/projectify/package.json" + "path": "samples/system-test/quickstart.test.js" }, { - "path": "node_modules/@google-cloud/common/package.json" + "path": "samples/system-test/detect.test.js" }, { - "path": "node_modules/@google-cloud/promisify/package.json" + "path": "samples/system-test/productSets.test.js" }, { - "path": "node_modules/@google-cloud/storage/package.json" + "path": "samples/system-test/setEndpoint.test.js" }, { - "path": "node_modules/@google-cloud/storage/node_modules/readable-stream/package.json" + "path": "samples/system-test/async-batch-annotate-images.test.js" }, { - "path": "node_modules/p-cancelable/package.json" + "path": "samples/system-test/referenceImages.test.js" }, { - "path": "node_modules/acorn-jsx/package.json" + "path": "samples/system-test/importProductSets.test.js" }, { - "path": "node_modules/power-assert-context-traversal/package.json" + "path": "samples/system-test/batch-annotate-files-gcs.test.js" }, { - "path": "node_modules/long/package.json" + "path": "samples/system-test/detect.v1p1beta1.test.js" }, { - "path": "node_modules/d/package.json" + "path": "samples/system-test/productSearch.test.js" }, { - "path": "node_modules/debug/package.json" + "path": "samples/productSearch/productSearch.js" }, { - "path": "node_modules/mimic-fn/package.json" + "path": "samples/productSearch/importProductSets.js" }, { - "path": "node_modules/typedarray/package.json" + "path": "samples/productSearch/referenceImages.js" }, { - "path": "node_modules/isexe/package.json" + "path": "samples/productSearch/products.js" }, { - "path": "node_modules/multi-stage-sourcemap/package.json" + "path": "samples/productSearch/productSets.js" }, { - "path": "node_modules/multi-stage-sourcemap/node_modules/source-map/package.json" + "path": "samples/productSearch/similarProducts.js" }, { - "path": "node_modules/find-cache-dir/package.json" + "path": "samples/resources/landmark.jpg" }, { - "path": "node_modules/find-cache-dir/node_modules/semver/package.json" + "path": "samples/resources/face_no_surprise.jpg" }, { - "path": "node_modules/find-cache-dir/node_modules/pify/package.json" + "path": "samples/resources/text.jpg" }, { - "path": "node_modules/find-cache-dir/node_modules/make-dir/package.json" + "path": "samples/resources/shoes_1.jpg" }, { - "path": "node_modules/uc.micro/package.json" + "path": "samples/resources/sabertooth.gif" }, { - "path": "node_modules/fs.realpath/package.json" + "path": "samples/resources/logos.png" }, { - "path": "node_modules/eslint-plugin-prettier/package.json" + "path": "samples/resources/bicycle.jpg" }, { - "path": "node_modules/yargs/package.json" + "path": "samples/resources/wakeupcat.jpg" }, { - "path": "node_modules/yargs/node_modules/string-width/package.json" + "path": "samples/resources/duck_and_truck.jpg" }, { - "path": "node_modules/yargs/node_modules/locate-path/package.json" + "path": "samples/resources/face.png" }, { - "path": "node_modules/yargs/node_modules/find-up/package.json" + "path": "samples/resources/handwritten.jpg" }, { - "path": "node_modules/yargs/node_modules/yargs-parser/package.json" + "path": "samples/resources/mountain.jpg" }, { - "path": "node_modules/yargs/node_modules/camelcase/package.json" + "path": "samples/resources/no-text.jpg" }, { - "path": "node_modules/yargs/node_modules/p-locate/package.json" + "path": "samples/resources/sunbeamkitties.jpg" }, { - "path": "node_modules/yargs/node_modules/emoji-regex/package.json" + "path": "samples/resources/cat.jpg" }, { - "path": "node_modules/yargs/node_modules/is-fullwidth-code-point/package.json" + "path": "samples/resources/google.png" }, { - "path": "node_modules/nice-try/package.json" + "path": "samples/resources/city.jpg" }, { - "path": "node_modules/has/package.json" + "path": "samples/resources/bonito.gif" }, { - "path": "node_modules/xmlcreate/package.json" + "path": "samples/resources/pdf-ocr.pdf" }, { - "path": "node_modules/escallmatch/package.json" + "path": "samples/resources/water.jpg" }, { - "path": "node_modules/escallmatch/node_modules/esprima/package.json" + "path": "samples/resources/succulents.jpg" }, { - "path": "node_modules/get-caller-file/package.json" + "path": "samples/resources/faulkner.jpg" }, { - "path": "node_modules/jwa/package.json" + "path": "__pycache__/synth.cpython-36.pyc" }, { "path": "smoke-test/image_annotator_smoke_test.js" From 2dcf101439677b54e6c6e9ab935ced62f6abe215 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 7 Jan 2020 01:16:54 +0200 Subject: [PATCH 367/588] chore(deps): update dependency mocha to v7 --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6addbad8f6d..6e87d7a4d1e 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -56,7 +56,7 @@ "jsdoc-fresh": "^1.0.1", "jsdoc-region-tag": "^1.0.2", "linkinator": "^1.5.0", - "mocha": "^6.0.0", + "mocha": "^7.0.0", "nyc": "^14.0.0", "power-assert": "^1.6.0", "prettier": "^1.13.6", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index d21189729ac..0ebbd4ae196 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -23,7 +23,7 @@ "devDependencies": { "@google-cloud/storage": "^4.0.0", "chai": "^4.2.0", - "mocha": "^6.0.0", + "mocha": "^7.0.0", "uuid": "^3.2.1" } } From 933ffd8e41a16b1383878e8d95a632dbd3e195a2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 16 Jan 2020 16:49:10 -0800 Subject: [PATCH 368/588] docs: update license headers --- .../smoke-test/image_annotator_smoke_test.js | 2 +- packages/google-cloud-vision/src/browser.js | 2 +- .../google/cloud/vision/v1/doc_geometry.js | 2 +- .../cloud/vision/v1/doc_image_annotator.js | 2 +- .../cloud/vision/v1/doc_product_search.js | 2 +- .../vision/v1/doc_product_search_service.js | 2 +- .../cloud/vision/v1/doc_text_annotation.js | 2 +- .../cloud/vision/v1/doc_web_detection.js | 2 +- .../doc/google/longrunning/doc_operations.js | 4 +- .../src/v1/doc/google/protobuf/doc_any.js | 2 +- .../src/v1/doc/google/protobuf/doc_empty.js | 2 +- .../v1/doc/google/protobuf/doc_field_mask.js | 2 +- .../v1/doc/google/protobuf/doc_timestamp.js | 2 +- .../v1/doc/google/protobuf/doc_wrappers.js | 2 +- .../src/v1/doc/google/rpc/doc_status.js | 2 +- .../src/v1/doc/google/type/doc_color.js | 2 +- .../src/v1/doc/google/type/doc_latlng.js | 2 +- .../src/v1/image_annotator_client.js | 2 +- packages/google-cloud-vision/src/v1/index.js | 2 +- .../src/v1/product_search_client.js | 2 +- .../cloud/vision/v1p1beta1/doc_geometry.js | 2 +- .../vision/v1p1beta1/doc_image_annotator.js | 2 +- .../vision/v1p1beta1/doc_text_annotation.js | 2 +- .../vision/v1p1beta1/doc_web_detection.js | 2 +- .../v1p1beta1/doc/google/protobuf/doc_any.js | 2 +- .../doc/google/protobuf/doc_wrappers.js | 2 +- .../v1p1beta1/doc/google/rpc/doc_status.js | 2 +- .../v1p1beta1/doc/google/type/doc_color.js | 2 +- .../v1p1beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p1beta1/image_annotator_client.js | 2 +- .../src/v1p1beta1/index.js | 2 +- .../cloud/vision/v1p2beta1/doc_geometry.js | 2 +- .../vision/v1p2beta1/doc_image_annotator.js | 2 +- .../vision/v1p2beta1/doc_text_annotation.js | 2 +- .../vision/v1p2beta1/doc_web_detection.js | 2 +- .../doc/google/longrunning/doc_operations.js | 4 +- .../v1p2beta1/doc/google/protobuf/doc_any.js | 2 +- .../doc/google/protobuf/doc_wrappers.js | 2 +- .../v1p2beta1/doc/google/rpc/doc_status.js | 2 +- .../v1p2beta1/doc/google/type/doc_color.js | 2 +- .../v1p2beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p2beta1/image_annotator_client.js | 2 +- .../src/v1p2beta1/index.js | 2 +- .../cloud/vision/v1p3beta1/doc_geometry.js | 2 +- .../vision/v1p3beta1/doc_image_annotator.js | 2 +- .../vision/v1p3beta1/doc_product_search.js | 2 +- .../v1p3beta1/doc_product_search_service.js | 2 +- .../vision/v1p3beta1/doc_text_annotation.js | 2 +- .../vision/v1p3beta1/doc_web_detection.js | 2 +- .../doc/google/longrunning/doc_operations.js | 4 +- .../v1p3beta1/doc/google/protobuf/doc_any.js | 2 +- .../doc/google/protobuf/doc_empty.js | 2 +- .../doc/google/protobuf/doc_field_mask.js | 2 +- .../doc/google/protobuf/doc_timestamp.js | 2 +- .../doc/google/protobuf/doc_wrappers.js | 2 +- .../v1p3beta1/doc/google/rpc/doc_status.js | 2 +- .../v1p3beta1/doc/google/type/doc_color.js | 2 +- .../v1p3beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p3beta1/image_annotator_client.js | 2 +- .../src/v1p3beta1/index.js | 2 +- .../src/v1p3beta1/product_search_client.js | 2 +- .../google/cloud/vision/v1p4beta1/doc_face.js | 2 +- .../cloud/vision/v1p4beta1/doc_geometry.js | 2 +- .../vision/v1p4beta1/doc_image_annotator.js | 2 +- .../vision/v1p4beta1/doc_product_search.js | 2 +- .../v1p4beta1/doc_product_search_service.js | 2 +- .../vision/v1p4beta1/doc_text_annotation.js | 2 +- .../vision/v1p4beta1/doc_web_detection.js | 2 +- .../doc/google/longrunning/doc_operations.js | 4 +- .../v1p4beta1/doc/google/protobuf/doc_any.js | 2 +- .../doc/google/protobuf/doc_empty.js | 2 +- .../doc/google/protobuf/doc_field_mask.js | 2 +- .../doc/google/protobuf/doc_timestamp.js | 2 +- .../doc/google/protobuf/doc_wrappers.js | 2 +- .../v1p4beta1/doc/google/rpc/doc_status.js | 2 +- .../v1p4beta1/doc/google/type/doc_color.js | 2 +- .../v1p4beta1/doc/google/type/doc_latlng.js | 2 +- .../src/v1p4beta1/image_annotator_client.js | 2 +- .../src/v1p4beta1/index.js | 2 +- .../src/v1p4beta1/product_search_client.js | 2 +- packages/google-cloud-vision/synth.metadata | 2922 +---------------- packages/google-cloud-vision/test/gapic-v1.js | 2 +- .../test/gapic-v1p1beta1.js | 2 +- .../test/gapic-v1p2beta1.js | 2 +- .../test/gapic-v1p3beta1.js | 2 +- .../test/gapic-v1p4beta1.js | 2 +- .../google-cloud-vision/webpack.config.js | 2 +- 87 files changed, 95 insertions(+), 3007 deletions(-) diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index f916c869401..a1e5ba1a760 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/browser.js b/packages/google-cloud-vision/src/browser.js index ddbcd7ecb9a..68dc62d25d6 100644 --- a/packages/google-cloud-vision/src/browser.js +++ b/packages/google-cloud-vision/src/browser.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js index 34ad1dc3f27..406b714642f 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js index a5a3ea5ac05..57de73951a8 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js index fb828555203..384a356d7a7 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js index da0c0c2d361..48558d59f03 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js index e60d857e591..68af8e26c17 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js index 883ee78f57d..751fa14db4d 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js index 4719aebdc91..099e418d620 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -22,7 +22,7 @@ * @property {string} name * The server-assigned name, which is only unique within the same service that * originally returns it. If you use the default HTTP mapping, the - * `name` should have the format of `operations/some/unique/name`. + * `name` should be a resource name ending with `operations/{unique_id}`. * * @property {Object} metadata * Service-specific metadata associated with the operation. It typically diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js index 0b446dd9ce4..1e3961d6609 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js index 011207b8626..59e745f36c2 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js index c457acc0c7d..ad801cc9a10 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js index 71de58e0d6e..90e2ff4ab5a 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js index 5b21e4c31bc..9570187d502 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js index d6b19d7f2ff..bacbf0e1f48 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js index 296d7066041..b8d83399de5 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1/index.js index c361ba2863d..801c3946aa2 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1/index.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js index 20f9915ccea..f69a0780515 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1/product_search_client.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js index bab9dbcdb4b..2932f5eefa7 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js index 7d166cc0eaf..fbd33f24fcc 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js index 5f8839de4a3..257b4a7cccd 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js index d6a5fdade6c..83736d544eb 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js index 71de58e0d6e..90e2ff4ab5a 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js index 5b21e4c31bc..9570187d502 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js index d6b19d7f2ff..bacbf0e1f48 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 97ecfb9c586..2b10999130b 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/index.js b/packages/google-cloud-vision/src/v1p1beta1/index.js index 06788998f34..0ab93eefeb8 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/index.js +++ b/packages/google-cloud-vision/src/v1p1beta1/index.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js index a5bf050494e..a0df9692a84 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js index e476175036f..9e85efc6be1 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js index 6d183cb4146..1851c768b28 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js index aa5f2c5b64a..8792b8ca5c0 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js index 4719aebdc91..099e418d620 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -22,7 +22,7 @@ * @property {string} name * The server-assigned name, which is only unique within the same service that * originally returns it. If you use the default HTTP mapping, the - * `name` should have the format of `operations/some/unique/name`. + * `name` should be a resource name ending with `operations/{unique_id}`. * * @property {Object} metadata * Service-specific metadata associated with the operation. It typically diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js index 71de58e0d6e..90e2ff4ab5a 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js index 5b21e4c31bc..9570187d502 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js index d6b19d7f2ff..bacbf0e1f48 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 7096820dc46..1d4a8ed6a9a 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/index.js b/packages/google-cloud-vision/src/v1p2beta1/index.js index 06788998f34..0ab93eefeb8 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/index.js +++ b/packages/google-cloud-vision/src/v1p2beta1/index.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js index 344a5c68442..c5bb831526f 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js index f12526409cc..1af46d18451 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js index cee98f46a1d..4acc3b302c7 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js index 6f5ff534056..45e5c4cf85c 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js index a0ff01f9194..dc9fcb2e02e 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js index 79e75f2bc29..57e01b97ea7 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js index 4719aebdc91..099e418d620 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -22,7 +22,7 @@ * @property {string} name * The server-assigned name, which is only unique within the same service that * originally returns it. If you use the default HTTP mapping, the - * `name` should have the format of `operations/some/unique/name`. + * `name` should be a resource name ending with `operations/{unique_id}`. * * @property {Object} metadata * Service-specific metadata associated with the operation. It typically diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js index 0b446dd9ce4..1e3961d6609 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js index 011207b8626..59e745f36c2 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js index c457acc0c7d..ad801cc9a10 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js index 71de58e0d6e..90e2ff4ab5a 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js index 5b21e4c31bc..9570187d502 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js index d6b19d7f2ff..bacbf0e1f48 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 758891281ce..2d96765216d 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/index.js b/packages/google-cloud-vision/src/v1p3beta1/index.js index 8a46227b562..d35c3834272 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/index.js +++ b/packages/google-cloud-vision/src/v1p3beta1/index.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index 8d27cd3181a..d09e9ca9d89 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js index e0361208982..d3442409587 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js index eebf862e9cf..164e0945fa0 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js index 16a1ca911cf..161ef86c009 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js index 4bca709bc54..07b90589cf8 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js index d9a80f80334..c2faebe1928 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js index ac2f0f7f213..37e9eddea9b 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js index a3e9e28a88e..99d6f54b913 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js index 4719aebdc91..099e418d620 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -22,7 +22,7 @@ * @property {string} name * The server-assigned name, which is only unique within the same service that * originally returns it. If you use the default HTTP mapping, the - * `name` should have the format of `operations/some/unique/name`. + * `name` should be a resource name ending with `operations/{unique_id}`. * * @property {Object} metadata * Service-specific metadata associated with the operation. It typically diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js index cdd2fc80e49..813682aa336 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js index 0b446dd9ce4..1e3961d6609 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js index 011207b8626..59e745f36c2 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js index c457acc0c7d..ad801cc9a10 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js index 71de58e0d6e..90e2ff4ab5a 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js index 432ab6bb928..80ec5037662 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js index 5b21e4c31bc..9570187d502 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js index d6b19d7f2ff..bacbf0e1f48 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index 0457d96c6e0..eeed1b8ac6d 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/index.js b/packages/google-cloud-vision/src/v1p4beta1/index.js index 8a46227b562..d35c3834272 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/index.js +++ b/packages/google-cloud-vision/src/v1p4beta1/index.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index adede1e4f15..363947c8e38 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index e49d9272763..ca5999d1604 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,19 @@ { - "updateTime": "2020-01-03T12:26:56.571941Z", + "updateTime": "2020-01-15T12:40:56.764950Z", "sources": [ { "generator": { "name": "artman", - "version": "0.43.0", - "dockerImage": "googleapis/artman@sha256:264654a37596a44b0668b8ce6ac41082d713f6ee150b3fc6425fa78cc64e4f20" + "version": "0.44.0", + "dockerImage": "googleapis/artman@sha256:10a6d0342b8d62544810ac5ad86c3b21049ec0696608ac60175da8e513234344" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4d45a6399e9444fbddaeb1c86aabfde210723714", - "internalRef": "287908369" + "sha": "d99df0d67057a233c711187e0689baa4f8e6333d", + "internalRef": "289709813" } }, { @@ -75,2917 +75,5 @@ "config": "google/cloud/vision/artman_vision_v1p4beta1.yaml" } } - ], - "newFiles": [ - { - "path": "synth.metadata" - }, - { - "path": ".repo-metadata.json" - }, - { - "path": "CONTRIBUTING.md" - }, - { - "path": "linkinator.config.json" - }, - { - "path": ".prettierignore" - }, - { - "path": ".jsdoc.js" - }, - { - "path": ".gitignore" - }, - { - "path": "synth.py" - }, - { - "path": "CODE_OF_CONDUCT.md" - }, - { - "path": "README.md" - }, - { - "path": "package-lock.json" - }, - { - "path": ".prettierrc" - }, - { - "path": "codecov.yaml" - }, - { - "path": ".nycrc" - }, - { - "path": "package.json" - }, - { - "path": "webpack.config.js" - }, - { - "path": ".eslintrc.yml" - }, - { - "path": "renovate.json" - }, - { - "path": "LICENSE" - }, - { - "path": "CHANGELOG.md" - }, - { - "path": ".eslintignore" - }, - { - "path": ".github/PULL_REQUEST_TEMPLATE.md" - }, - { - "path": ".github/release-please.yml" - }, - { - "path": ".github/ISSUE_TEMPLATE/support_request.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/bug_report.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/feature_request.md" - }, - { - "path": ".kokoro/samples-test.sh" - }, - { - "path": ".kokoro/system-test.sh" - }, - { - "path": ".kokoro/docs.sh" - }, - { - "path": ".kokoro/lint.sh" - }, - { - "path": ".kokoro/.gitattributes" - }, - { - "path": ".kokoro/publish.sh" - }, - { - "path": ".kokoro/trampoline.sh" - }, - { - "path": ".kokoro/common.cfg" - }, - { - "path": ".kokoro/test.bat" - }, - { - "path": ".kokoro/test.sh" - }, - { - "path": ".kokoro/release/docs.sh" - }, - { - "path": ".kokoro/release/docs.cfg" - }, - { - "path": ".kokoro/release/publish.cfg" - }, - { - "path": ".kokoro/presubmit/node12/test.cfg" - }, - { - "path": ".kokoro/presubmit/node12/common.cfg" - }, - { - "path": ".kokoro/presubmit/node8/test.cfg" - }, - { - "path": ".kokoro/presubmit/node8/common.cfg" - }, - { - "path": ".kokoro/presubmit/windows/test.cfg" - }, - { - "path": ".kokoro/presubmit/windows/common.cfg" - }, - { - "path": ".kokoro/presubmit/node10/lint.cfg" - }, - { - "path": ".kokoro/presubmit/node10/system-test.cfg" - }, - { - "path": ".kokoro/presubmit/node10/test.cfg" - }, - { - "path": ".kokoro/presubmit/node10/docs.cfg" - }, - { - "path": ".kokoro/presubmit/node10/common.cfg" - }, - { - "path": ".kokoro/presubmit/node10/samples-test.cfg" - }, - { - "path": ".kokoro/continuous/node12/test.cfg" - }, - { - "path": ".kokoro/continuous/node12/common.cfg" - }, - { - "path": ".kokoro/continuous/node8/test.cfg" - }, - { - "path": ".kokoro/continuous/node8/common.cfg" - }, - { - "path": ".kokoro/continuous/node10/lint.cfg" - }, - { - "path": ".kokoro/continuous/node10/system-test.cfg" - }, - { - "path": ".kokoro/continuous/node10/test.cfg" - }, - { - "path": ".kokoro/continuous/node10/docs.cfg" - }, - { - "path": ".kokoro/continuous/node10/common.cfg" - }, - { - "path": ".kokoro/continuous/node10/samples-test.cfg" - }, - { - "path": "test/gapic-v1p1beta1.js" - }, - { - "path": "test/gapic-v1p3beta1.js" - }, - { - "path": "test/index.test.js" - }, - { - "path": "test/gapic-v1.js" - }, - { - "path": "test/gapic-v1p4beta1.js" - }, - { - "path": "test/mocha.opts" - }, - { - "path": "test/helpers.test.js" - }, - { - "path": "test/gapic-v1p2beta1.js" - }, - { - "path": "system-test/vision-v1p2beta1.js" - }, - { - "path": "system-test/image_annotator_smoke_test.js" - }, - { - "path": "system-test/vision.js" - }, - { - "path": "system-test/.eslintrc.yml" - }, - { - "path": "system-test/data/text.png" - }, - { - "path": "system-test/data/document.jpg" - }, - { - "path": "system-test/data/logo.jpg" - }, - { - "path": "system-test/data/rushmore.jpg" - }, - { - "path": "protos/protos.d.ts" - }, - { - "path": "protos/protos.js" - }, - { - "path": "protos/protos.json" - }, - { - "path": "protos/google/cloud/vision/v1p2beta1/web_detection.proto" - }, - { - "path": "protos/google/cloud/vision/v1p2beta1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1p2beta1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1p2beta1/geometry.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/product_search_service.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/web_detection.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/product_search.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/geometry.proto" - }, - { - "path": "protos/google/cloud/vision/v1p1beta1/web_detection.proto" - }, - { - "path": "protos/google/cloud/vision/v1p1beta1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1p1beta1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1p1beta1/geometry.proto" - }, - { - "path": "protos/google/cloud/vision/v1/product_search_service.proto" - }, - { - "path": "protos/google/cloud/vision/v1/web_detection.proto" - }, - { - "path": "protos/google/cloud/vision/v1/product_search.proto" - }, - { - "path": "protos/google/cloud/vision/v1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1/geometry.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/face.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/product_search_service.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/web_detection.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/product_search.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/geometry.proto" - }, - { - "path": ".git/HEAD" - }, - { - "path": ".git/config" - }, - { - "path": ".git/packed-refs" - }, - { - "path": ".git/index" - }, - { - "path": ".git/objects/pack/pack-efec2391af41b1155c13762092d15772d23b5d93.idx" - }, - { - "path": ".git/objects/pack/pack-efec2391af41b1155c13762092d15772d23b5d93.pack" - }, - { - "path": ".git/logs/HEAD" - }, - { - "path": ".git/logs/refs/heads/master" - }, - { - "path": ".git/logs/refs/heads/autosynth" - }, - { - "path": ".git/logs/refs/remotes/origin/HEAD" - }, - { - "path": ".git/refs/heads/master" - }, - { - "path": ".git/refs/heads/autosynth" - }, - { - "path": ".git/refs/remotes/origin/HEAD" - }, - { - "path": ".git/refs/tags/v1.8.0" - }, - { - "path": "src/index.js" - }, - { - "path": "src/browser.js" - }, - { - "path": "src/helpers.js" - }, - { - "path": "src/v1p2beta1/index.js" - }, - { - "path": "src/v1p2beta1/image_annotator_client.js" - }, - { - "path": "src/v1p2beta1/image_annotator_client_config.json" - }, - { - "path": "src/v1p2beta1/image_annotator_proto_list.json" - }, - { - "path": "src/v1p2beta1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1p2beta1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p2beta1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js" - }, - { - "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p3beta1/product_search_client.js" - }, - { - "path": "src/v1p3beta1/index.js" - }, - { - "path": "src/v1p3beta1/product_search_client_config.json" - }, - { - "path": "src/v1p3beta1/image_annotator_client.js" - }, - { - "path": "src/v1p3beta1/product_search_proto_list.json" - }, - { - "path": "src/v1p3beta1/image_annotator_client_config.json" - }, - { - "path": "src/v1p3beta1/image_annotator_proto_list.json" - }, - { - "path": "src/v1p3beta1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1p3beta1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_timestamp.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_field_mask.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_empty.js" - }, - { - "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js" - }, - { - "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p1beta1/index.js" - }, - { - "path": "src/v1p1beta1/image_annotator_client.js" - }, - { - "path": "src/v1p1beta1/image_annotator_client_config.json" - }, - { - "path": "src/v1p1beta1/image_annotator_proto_list.json" - }, - { - "path": "src/v1p1beta1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1p1beta1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p1beta1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js" - }, - { - "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1/product_search_client.js" - }, - { - "path": "src/v1/index.js" - }, - { - "path": "src/v1/product_search_client_config.json" - }, - { - "path": "src/v1/image_annotator_client.js" - }, - { - "path": "src/v1/product_search_proto_list.json" - }, - { - "path": "src/v1/image_annotator_client_config.json" - }, - { - "path": "src/v1/image_annotator_proto_list.json" - }, - { - "path": "src/v1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_timestamp.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_field_mask.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_empty.js" - }, - { - "path": "src/v1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_web_detection.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_geometry.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js" - }, - { - "path": "src/v1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p4beta1/product_search_client.js" - }, - { - "path": "src/v1p4beta1/index.js" - }, - { - "path": "src/v1p4beta1/product_search_client_config.json" - }, - { - "path": "src/v1p4beta1/image_annotator_client.js" - }, - { - "path": "src/v1p4beta1/product_search_proto_list.json" - }, - { - "path": "src/v1p4beta1/image_annotator_client_config.json" - }, - { - "path": "src/v1p4beta1/image_annotator_proto_list.json" - }, - { - "path": "src/v1p4beta1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1p4beta1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_timestamp.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_field_mask.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_empty.js" - }, - { - "path": "src/v1p4beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js" - }, - { - "path": "src/v1p4beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "node_modules/progress/package.json" - }, - { - "path": "node_modules/is-ci/package.json" - }, - { - "path": "node_modules/lolex/package.json" - }, - { - "path": "node_modules/lru-cache/package.json" - }, - { - "path": "node_modules/uglify-js/package.json" - }, - { - "path": "node_modules/destroy/package.json" - }, - { - "path": "node_modules/power-assert-context-formatter/package.json" - }, - { - "path": "node_modules/fast-json-stable-stringify/package.json" - }, - { - "path": "node_modules/nice-try/package.json" - }, - { - "path": "node_modules/handlebars/package.json" - }, - { - "path": "node_modules/which-module/package.json" - }, - { - "path": "node_modules/array-find/package.json" - }, - { - "path": "node_modules/catharsis/package.json" - }, - { - "path": "node_modules/is-promise/package.json" - }, - { - "path": "node_modules/v8-compile-cache/package.json" - }, - { - "path": "node_modules/doctrine/package.json" - }, - { - "path": "node_modules/callsites/package.json" - }, - { - "path": "node_modules/diff/package.json" - }, - { - "path": "node_modules/lodash.flattendeep/package.json" - }, - { - "path": "node_modules/hosted-git-info/package.json" - }, - { - "path": "node_modules/color-name/package.json" - }, - { - "path": "node_modules/defer-to-connect/package.json" - }, - { - "path": "node_modules/unpipe/package.json" - }, - { - "path": "node_modules/emoji-regex/package.json" - }, - { - "path": "node_modules/spawn-wrap/package.json" - }, - { - "path": "node_modules/http-errors/package.json" - }, - { - "path": "node_modules/eventemitter3/package.json" - }, - { - "path": "node_modules/esutils/package.json" - }, - { - "path": "node_modules/he/package.json" - }, - { - "path": "node_modules/on-finished/package.json" - }, - { - "path": "node_modules/linkinator/package.json" - }, - { - "path": "node_modules/linkinator/node_modules/color-name/package.json" - }, - { - "path": "node_modules/linkinator/node_modules/chalk/package.json" - }, - { - "path": "node_modules/linkinator/node_modules/has-flag/package.json" - }, - { - "path": "node_modules/linkinator/node_modules/ansi-styles/package.json" - }, - { - "path": "node_modules/linkinator/node_modules/supports-color/package.json" - }, - { - "path": "node_modules/linkinator/node_modules/color-convert/package.json" - }, - { - "path": "node_modules/update-notifier/package.json" - }, - { - "path": "node_modules/update-notifier/node_modules/color-name/package.json" - }, - { - "path": "node_modules/update-notifier/node_modules/chalk/package.json" - }, - { - "path": "node_modules/update-notifier/node_modules/has-flag/package.json" - }, - { - "path": "node_modules/update-notifier/node_modules/ansi-styles/package.json" - }, - { - "path": "node_modules/update-notifier/node_modules/supports-color/package.json" - }, - { - "path": "node_modules/update-notifier/node_modules/color-convert/package.json" - }, - { - "path": "node_modules/p-cancelable/package.json" - }, - { - "path": "node_modules/markdown-it/package.json" - }, - { - "path": "node_modules/dot-prop/package.json" - }, - { - "path": "node_modules/require-main-filename/package.json" - }, - { - "path": "node_modules/fast-diff/package.json" - }, - { - "path": "node_modules/lodash.camelcase/package.json" - }, - { - "path": "node_modules/redent/package.json" - }, - { - "path": "node_modules/resolve/package.json" - }, - { - "path": "node_modules/globals/package.json" - }, - { - "path": "node_modules/range-parser/package.json" - }, - { - "path": "node_modules/string.prototype.trimright/package.json" - }, - { - "path": "node_modules/inflight/package.json" - }, - { - "path": "node_modules/debug/package.json" - }, - { - "path": "node_modules/htmlparser2/package.json" - }, - { - "path": "node_modules/htmlparser2/node_modules/readable-stream/package.json" - }, - { - "path": "node_modules/semver-diff/package.json" - }, - { - "path": "node_modules/semver-diff/node_modules/semver/package.json" - }, - { - "path": "node_modules/multi-stage-sourcemap/package.json" - }, - { - "path": "node_modules/multi-stage-sourcemap/node_modules/source-map/package.json" - }, - { - "path": "node_modules/ms/package.json" - }, - { - "path": "node_modules/linkify-it/package.json" - }, - { - "path": "node_modules/through/package.json" - }, - { - "path": "node_modules/power-assert-renderer-file/package.json" - }, - { - "path": "node_modules/string-width/package.json" - }, - { - "path": "node_modules/string-width/node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/type/package.json" - }, - { - "path": "node_modules/type-fest/package.json" - }, - { - "path": "node_modules/is/package.json" - }, - { - "path": "node_modules/intelli-espower-loader/package.json" - }, - { - "path": "node_modules/parseurl/package.json" - }, - { - "path": "node_modules/buffer-from/package.json" - }, - { - "path": "node_modules/google-p12-pem/package.json" - }, - { - "path": "node_modules/get-caller-file/package.json" - }, - { - "path": "node_modules/klaw/package.json" - }, - { - "path": "node_modules/http-proxy-agent/package.json" - }, - { - "path": "node_modules/http-proxy-agent/node_modules/debug/package.json" - }, - { - "path": "node_modules/http-proxy-agent/node_modules/agent-base/package.json" - }, - { - "path": "node_modules/map-obj/package.json" - }, - { - "path": "node_modules/node-fetch/package.json" - }, - { - "path": "node_modules/jsonexport/package.json" - }, - { - "path": "node_modules/isexe/package.json" - }, - { - "path": "node_modules/escallmatch/package.json" - }, - { - "path": "node_modules/escallmatch/node_modules/esprima/package.json" - }, - { - "path": "node_modules/espower/package.json" - }, - { - "path": "node_modules/espower/node_modules/source-map/package.json" - }, - { - "path": "node_modules/run-async/package.json" - }, - { - "path": "node_modules/validate-npm-package-license/package.json" - }, - { - "path": "node_modules/file-entry-cache/package.json" - }, - { - "path": "node_modules/meow/package.json" - }, - { - "path": "node_modules/concat-map/package.json" - }, - { - "path": "node_modules/term-size/package.json" - }, - { - "path": "node_modules/xmlcreate/package.json" - }, - { - "path": "node_modules/ansi-regex/package.json" - }, - { - "path": "node_modules/yallist/package.json" - }, - { - "path": "node_modules/json-bigint/package.json" - }, - { - "path": "node_modules/stream-events/package.json" - }, - { - "path": "node_modules/resolve-from/package.json" - }, - { - "path": "node_modules/is-buffer/package.json" - }, - { - "path": "node_modules/cliui/package.json" - }, - { - "path": "node_modules/cliui/node_modules/emoji-regex/package.json" - }, - { - "path": "node_modules/cliui/node_modules/string-width/package.json" - }, - { - "path": "node_modules/cliui/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/toidentifier/package.json" - }, - { - "path": "node_modules/caching-transform/package.json" - }, - { - "path": "node_modules/caching-transform/node_modules/make-dir/package.json" - }, - { - "path": "node_modules/caching-transform/node_modules/semver/package.json" - }, - { - "path": "node_modules/caching-transform/node_modules/write-file-atomic/package.json" - }, - { - "path": "node_modules/balanced-match/package.json" - }, - { - "path": "node_modules/marked/package.json" - }, - { - "path": "node_modules/wrappy/package.json" - }, - { - "path": "node_modules/jsdoc-region-tag/package.json" - }, - { - "path": "node_modules/json-stable-stringify-without-jsonify/package.json" - }, - { - "path": "node_modules/glob-parent/package.json" - }, - { - "path": "node_modules/xtend/package.json" - }, - { - "path": "node_modules/is-arguments/package.json" - }, - { - "path": "node_modules/set-blocking/package.json" - }, - { - "path": "node_modules/optimist/package.json" - }, - { - "path": "node_modules/istanbul-lib-report/package.json" - }, - { - "path": "node_modules/istanbul-lib-report/node_modules/make-dir/package.json" - }, - { - "path": "node_modules/istanbul-lib-report/node_modules/semver/package.json" - }, - { - "path": "node_modules/istanbul-lib-report/node_modules/supports-color/package.json" - }, - { - "path": "node_modules/load-json-file/package.json" - }, - { - "path": "node_modules/load-json-file/node_modules/parse-json/package.json" - }, - { - "path": "node_modules/load-json-file/node_modules/pify/package.json" - }, - { - "path": "node_modules/ansi-align/package.json" - }, - { - "path": "node_modules/ansi-align/node_modules/emoji-regex/package.json" - }, - { - "path": "node_modules/ansi-align/node_modules/string-width/package.json" - }, - { - "path": "node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/duplexer3/package.json" - }, - { - "path": "node_modules/esprima/package.json" - }, - { - "path": "node_modules/is-stream-ended/package.json" - }, - { - "path": "node_modules/minimatch/package.json" - }, - { - "path": "node_modules/crypto-random-string/package.json" - }, - { - "path": "node_modules/growl/package.json" - }, - { - "path": "node_modules/string.prototype.trimleft/package.json" - }, - { - "path": "node_modules/istanbul-lib-coverage/package.json" - }, - { - "path": "node_modules/normalize-package-data/package.json" - }, - { - "path": "node_modules/normalize-package-data/node_modules/semver/package.json" - }, - { - "path": "node_modules/fast-text-encoding/package.json" - }, - { - "path": "node_modules/server-destroy/package.json" - }, - { - "path": "node_modules/prelude-ls/package.json" - }, - { - "path": "node_modules/d/package.json" - }, - { - "path": "node_modules/protobufjs/package.json" - }, - { - "path": "node_modules/protobufjs/cli/package-lock.json" - }, - { - "path": "node_modules/protobufjs/cli/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/acorn-jsx/node_modules/acorn/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/minimist/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/semver/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/acorn/package.json" - }, - { - "path": "node_modules/protobufjs/cli/node_modules/espree/package.json" - }, - { - "path": "node_modules/domhandler/package.json" - }, - { - "path": "node_modules/pkg-dir/package.json" - }, - { - "path": "node_modules/pkg-dir/node_modules/p-locate/package.json" - }, - { - "path": "node_modules/pkg-dir/node_modules/locate-path/package.json" - }, - { - "path": "node_modules/pkg-dir/node_modules/find-up/package.json" - }, - { - "path": "node_modules/pkg-dir/node_modules/path-exists/package.json" - }, - { - "path": "node_modules/ansi-escapes/package.json" - }, - { - "path": "node_modules/power-assert-renderer-base/package.json" - }, - { - "path": "node_modules/boolbase/package.json" - }, - { - "path": "node_modules/indent-string/package.json" - }, - { - "path": "node_modules/lodash/package.json" - }, - { - "path": "node_modules/taffydb/package.json" - }, - { - "path": "node_modules/extend/package.json" - }, - { - "path": "node_modules/is-yarn-global/package.json" - }, - { - "path": "node_modules/dom-serializer/package.json" - }, - { - "path": "node_modules/end-of-stream/package.json" - }, - { - "path": "node_modules/wordwrap/package.json" - }, - { - "path": "node_modules/log-symbols/package.json" - }, - { - "path": "node_modules/is-callable/package.json" - }, - { - "path": "node_modules/es5-ext/package.json" - }, - { - "path": "node_modules/stringifier/package.json" - }, - { - "path": "node_modules/es6-weak-map/package.json" - }, - { - "path": "node_modules/camelcase-keys/package.json" - }, - { - "path": "node_modules/decompress-response/package.json" - }, - { - "path": "node_modules/js-yaml/package.json" - }, - { - "path": "node_modules/cli-boxes/package.json" - }, - { - "path": "node_modules/is-obj/package.json" - }, - { - "path": "node_modules/is-typedarray/package.json" - }, - { - "path": "node_modules/registry-auth-token/package.json" - }, - { - "path": "node_modules/hash-stream-validation/package.json" - }, - { - "path": "node_modules/hash-stream-validation/node_modules/through2/package.json" - }, - { - "path": "node_modules/read-pkg-up/package.json" - }, - { - "path": "node_modules/append-transform/package.json" - }, - { - "path": "node_modules/buffer-equal-constant-time/package.json" - }, - { - "path": "node_modules/eslint-scope/package.json" - }, - { - "path": "node_modules/stream-shift/package.json" - }, - { - "path": "node_modules/is-extglob/package.json" - }, - { - "path": "node_modules/typedarray-to-buffer/index.js" - }, - { - "path": "node_modules/typedarray-to-buffer/README.md" - }, - { - "path": "node_modules/typedarray-to-buffer/.airtap.yml" - }, - { - "path": "node_modules/typedarray-to-buffer/.travis.yml" - }, - { - "path": "node_modules/typedarray-to-buffer/package.json" - }, - { - "path": "node_modules/typedarray-to-buffer/LICENSE" - }, - { - "path": "node_modules/typedarray-to-buffer/test/basic.js" - }, - { - "path": "node_modules/restore-cursor/package.json" - }, - { - "path": "node_modules/release-zalgo/package.json" - }, - { - "path": "node_modules/mimic-response/package.json" - }, - { - "path": "node_modules/normalize-url/package.json" - }, - { - "path": "node_modules/fresh/package.json" - }, - { - "path": "node_modules/istanbul-lib-instrument/package.json" - }, - { - "path": "node_modules/istanbul-lib-instrument/node_modules/semver/package.json" - }, - { - "path": "node_modules/imurmurhash/package.json" - }, - { - "path": "node_modules/indexof/package.json" - }, - { - "path": "node_modules/codecov/package.json" - }, - { - "path": "node_modules/codecov/node_modules/https-proxy-agent/package.json" - }, - { - "path": "node_modules/codecov/node_modules/teeny-request/package.json" - }, - { - "path": "node_modules/ajv/package.json" - }, - { - "path": "node_modules/is-path-inside/package.json" - }, - { - "path": "node_modules/import-lazy/package.json" - }, - { - "path": "node_modules/json-schema-traverse/package.json" - }, - { - "path": "node_modules/rxjs/package.json" - }, - { - "path": "node_modules/p-locate/package.json" - }, - { - "path": "node_modules/figures/package.json" - }, - { - "path": "node_modules/underscore/package.json" - }, - { - "path": "node_modules/finalhandler/package.json" - }, - { - "path": "node_modules/finalhandler/node_modules/debug/package.json" - }, - { - "path": "node_modules/finalhandler/node_modules/ms/package.json" - }, - { - "path": "node_modules/ignore/package.json" - }, - { - "path": "node_modules/argv/package.json" - }, - { - "path": "node_modules/path-is-absolute/package.json" - }, - { - "path": "node_modules/istanbul-lib-hook/package.json" - }, - { - "path": "node_modules/graceful-fs/package.json" - }, - { - "path": "node_modules/merge-source-map/package.json" - }, - { - "path": "node_modules/gcs-resumable-upload/package.json" - }, - { - "path": "node_modules/google-gax/package.json" - }, - { - "path": "node_modules/commondir/package.json" - }, - { - "path": "node_modules/onetime/package.json" - }, - { - "path": "node_modules/path-key/package.json" - }, - { - "path": "node_modules/core-util-is/package.json" - }, - { - "path": "node_modules/array-filter/package.json" - }, - { - "path": "node_modules/prepend-http/package.json" - }, - { - "path": "node_modules/write/package.json" - }, - { - "path": "node_modules/duplexify/package.json" - }, - { - "path": "node_modules/camelcase/package.json" - }, - { - "path": "node_modules/error-ex/package.json" - }, - { - "path": "node_modules/empower-assert/package.json" - }, - { - "path": "node_modules/boxen/package.json" - }, - { - "path": "node_modules/boxen/node_modules/color-name/package.json" - }, - { - "path": "node_modules/boxen/node_modules/chalk/package.json" - }, - { - "path": "node_modules/boxen/node_modules/has-flag/package.json" - }, - { - "path": "node_modules/boxen/node_modules/ansi-styles/package.json" - }, - { - "path": "node_modules/boxen/node_modules/supports-color/package.json" - }, - { - "path": "node_modules/boxen/node_modules/color-convert/package.json" - }, - { - "path": "node_modules/node-environment-flags/package.json" - }, - { - "path": "node_modules/node-environment-flags/node_modules/semver/package.json" - }, - { - "path": "node_modules/gcp-metadata/package.json" - }, - { - "path": "node_modules/json-buffer/package.json" - }, - { - "path": "node_modules/mkdirp/package.json" - }, - { - "path": "node_modules/bluebird/package.json" - }, - { - "path": "node_modules/shebang-command/package.json" - }, - { - "path": "node_modules/serve-static/package.json" - }, - { - "path": "node_modules/path-parse/package.json" - }, - { - "path": "node_modules/mime/package.json" - }, - { - "path": "node_modules/yargs-unparser/package.json" - }, - { - "path": "node_modules/lines-and-columns/package.json" - }, - { - "path": "node_modules/is-url/package.json" - }, - { - "path": "node_modules/chalk/package.json" - }, - { - "path": "node_modules/path-to-regexp/package.json" - }, - { - "path": "node_modules/path-to-regexp/node_modules/isarray/package.json" - }, - { - "path": "node_modules/locate-path/package.json" - }, - { - "path": "node_modules/spdx-expression-parse/package.json" - }, - { - "path": "node_modules/power-assert-util-string-width/package.json" - }, - { - "path": "node_modules/esquery/package.json" - }, - { - "path": "node_modules/to-readable-stream/package.json" - }, - { - "path": "node_modules/hasha/package.json" - }, - { - "path": "node_modules/hasha/node_modules/is-stream/package.json" - }, - { - "path": "node_modules/jsdoc-fresh/package.json" - }, - { - "path": "node_modules/jsdoc-fresh/node_modules/taffydb/package.json" - }, - { - "path": "node_modules/espower-location-detector/package.json" - }, - { - "path": "node_modules/espower-location-detector/node_modules/source-map/package.json" - }, - { - "path": "node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/strip-ansi/node_modules/ansi-regex/package.json" - }, - { - "path": "node_modules/is-arrayish/package.json" - }, - { - "path": "node_modules/prettier-linter-helpers/package.json" - }, - { - "path": "node_modules/chardet/package.json" - }, - { - "path": "node_modules/amdefine/package.json" - }, - { - "path": "node_modules/http-cache-semantics/package.json" - }, - { - "path": "node_modules/concat-stream/package.json" - }, - { - "path": "node_modules/concat-stream/node_modules/readable-stream/package.json" - }, - { - "path": "node_modules/has-flag/package.json" - }, - { - "path": "node_modules/cheerio/package.json" - }, - { - "path": "node_modules/domelementtype/package.json" - }, - { - "path": "node_modules/@szmarczak/http-timer/package.json" - }, - { - "path": "node_modules/tmp/package.json" - }, - { - "path": "node_modules/entities/package.json" - }, - { - "path": "node_modules/strip-bom/package.json" - }, - { - "path": "node_modules/argparse/package.json" - }, - { - "path": "node_modules/has/package.json" - }, - { - "path": "node_modules/ee-first/package.json" - }, - { - "path": "node_modules/object-inspect/package.json" - }, - { - "path": "node_modules/deep-equal/package.json" - }, - { - "path": "node_modules/table/package.json" - }, - { - "path": "node_modules/table/node_modules/emoji-regex/package.json" - }, - { - "path": "node_modules/table/node_modules/string-width/package.json" - }, - { - "path": "node_modules/table/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/spdx-correct/package.json" - }, - { - "path": "node_modules/get-stream/package.json" - }, - { - "path": "node_modules/sinon/package.json" - }, - { - "path": "node_modules/sinon/node_modules/diff/package.json" - }, - { - "path": "node_modules/sinon/node_modules/has-flag/package.json" - }, - { - "path": "node_modules/sinon/node_modules/supports-color/package.json" - }, - { - "path": "node_modules/power-assert/package.json" - }, - { - "path": "node_modules/statuses/package.json" - }, - { - "path": "node_modules/es6-set/package.json" - }, - { - "path": "node_modules/es6-set/node_modules/es6-symbol/package.json" - }, - { - "path": "node_modules/istanbul-reports/package.json" - }, - { - "path": "node_modules/@grpc/grpc-js/package.json" - }, - { - "path": "node_modules/@grpc/grpc-js/node_modules/semver/package.json" - }, - { - "path": "node_modules/@grpc/proto-loader/package.json" - }, - { - "path": "node_modules/lowercase-keys/package.json" - }, - { - "path": "node_modules/etag/package.json" - }, - { - "path": "node_modules/y18n/package.json" - }, - { - "path": "node_modules/diff-match-patch/package.json" - }, - { - "path": "node_modules/es6-iterator/package.json" - }, - { - "path": "node_modules/eslint-plugin-node/package.json" - }, - { - "path": "node_modules/eslint-plugin-node/node_modules/ignore/package.json" - }, - { - "path": "node_modules/eslint-plugin-node/node_modules/semver/package.json" - }, - { - "path": "node_modules/eslint-plugin-node/node_modules/eslint-utils/package.json" - }, - { - "path": "node_modules/natural-compare/package.json" - }, - { - "path": "node_modules/uuid/package.json" - }, - { - "path": "node_modules/event-target-shim/package.json" - }, - { - "path": "node_modules/arrify/package.json" - }, - { - "path": "node_modules/widest-line/package.json" - }, - { - "path": "node_modules/ignore-walk/package.json" - }, - { - "path": "node_modules/util-deprecate/package.json" - }, - { - "path": "node_modules/function-bind/package.json" - }, - { - "path": "node_modules/object-is/package.json" - }, - { - "path": "node_modules/@types/color-name/package.json" - }, - { - "path": "node_modules/@types/node/package.json" - }, - { - "path": "node_modules/@types/normalize-package-data/package.json" - }, - { - "path": "node_modules/@types/minimist/package.json" - }, - { - "path": "node_modules/@types/fs-extra/package.json" - }, - { - "path": "node_modules/@types/long/package.json" - }, - { - "path": "node_modules/levn/package.json" - }, - { - "path": "node_modules/pseudomap/package.json" - }, - { - "path": "node_modules/global-dirs/package.json" - }, - { - "path": "node_modules/power-assert-renderer-diagram/package.json" - }, - { - "path": "node_modules/is-stream/package.json" - }, - { - "path": "node_modules/es6-symbol/package.json" - }, - { - "path": "node_modules/compressible/package.json" - }, - { - "path": "node_modules/parse-json/package.json" - }, - { - "path": "node_modules/xdg-basedir/package.json" - }, - { - "path": "node_modules/spdx-license-ids/package.json" - }, - { - "path": "node_modules/google-auth-library/package.json" - }, - { - "path": "node_modules/brace-expansion/package.json" - }, - { - "path": "node_modules/type-name/package.json" - }, - { - "path": "node_modules/define-properties/package.json" - }, - { - "path": "node_modules/universal-deep-strict-equal/package.json" - }, - { - "path": "node_modules/jws/package.json" - }, - { - "path": "node_modules/nth-check/package.json" - }, - { - "path": "node_modules/empower/package.json" - }, - { - "path": "node_modules/send/package.json" - }, - { - "path": "node_modules/send/node_modules/debug/package.json" - }, - { - "path": "node_modules/send/node_modules/debug/node_modules/ms/package.json" - }, - { - "path": "node_modules/send/node_modules/ms/package.json" - }, - { - "path": "node_modules/send/node_modules/mime/package.json" - }, - { - "path": "node_modules/require-directory/package.json" - }, - { - "path": "node_modules/object.assign/package.json" - }, - { - "path": "node_modules/is-npm/package.json" - }, - { - "path": "node_modules/min-indent/package.json" - }, - { - "path": "node_modules/functional-red-black-tree/package.json" - }, - { - "path": "node_modules/read-pkg/package.json" - }, - { - "path": "node_modules/read-pkg/node_modules/type-fest/package.json" - }, - { - "path": "node_modules/registry-url/package.json" - }, - { - "path": "node_modules/is-regex/package.json" - }, - { - "path": "node_modules/es-abstract/package.json" - }, - { - "path": "node_modules/parent-module/package.json" - }, - { - "path": "node_modules/type-detect/package.json" - }, - { - "path": "node_modules/signal-exit/package.json" - }, - { - "path": "node_modules/import-fresh/package.json" - }, - { - "path": "node_modules/default-require-extensions/package.json" - }, - { - "path": "node_modules/keyv/package.json" - }, - { - "path": "node_modules/estraverse/package.json" - }, - { - "path": "node_modules/fast-deep-equal/package.json" - }, - { - "path": "node_modules/mute-stream/package.json" - }, - { - "path": "node_modules/power-assert-context-traversal/package.json" - }, - { - "path": "node_modules/rimraf/package.json" - }, - { - "path": "node_modules/is-installed-globally/package.json" - }, - { - "path": "node_modules/get-stdin/package.json" - }, - { - "path": "node_modules/make-dir/package.json" - }, - { - "path": "node_modules/make-dir/node_modules/semver/package.json" - }, - { - "path": "node_modules/es6-promise/package.json" - }, - { - "path": "node_modules/os-tmpdir/package.json" - }, - { - "path": "node_modules/retry-request/package.json" - }, - { - "path": "node_modules/retry-request/node_modules/debug/package.json" - }, - { - "path": "node_modules/cli-cursor/package.json" - }, - { - "path": "node_modules/ext/package.json" - }, - { - "path": "node_modules/ext/node_modules/type/package.json" - }, - { - "path": "node_modules/is-symbol/package.json" - }, - { - "path": "node_modules/css-what/package.json" - }, - { - "path": "node_modules/ent/package.json" - }, - { - "path": "node_modules/punycode/package.json" - }, - { - "path": "node_modules/setprototypeof/package.json" - }, - { - "path": "node_modules/word-wrap/package.json" - }, - { - "path": "node_modules/foreground-child/package.json" - }, - { - "path": "node_modules/foreground-child/node_modules/lru-cache/package.json" - }, - { - "path": "node_modules/foreground-child/node_modules/yallist/package.json" - }, - { - "path": "node_modules/foreground-child/node_modules/cross-spawn/package.json" - }, - { - "path": "node_modules/@sinonjs/text-encoding/package.json" - }, - { - "path": "node_modules/@sinonjs/samsam/package.json" - }, - { - "path": "node_modules/@sinonjs/commons/package.json" - }, - { - "path": "node_modules/@sinonjs/formatio/package.json" - }, - { - "path": "node_modules/pumpify/package.json" - }, - { - "path": "node_modules/pumpify/node_modules/duplexify/package.json" - }, - { - "path": "node_modules/pumpify/node_modules/readable-stream/package.json" - }, - { - "path": "node_modules/es6-map/package.json" - }, - { - "path": "node_modules/call-signature/package.json" - }, - { - "path": "node_modules/package-json/package.json" - }, - { - "path": "node_modules/package-json/node_modules/semver/package.json" - }, - { - "path": "node_modules/css-select/package.json" - }, - { - "path": "node_modules/eslint-plugin-prettier/package.json" - }, - { - "path": "node_modules/p-finally/package.json" - }, - { - "path": "node_modules/inquirer/package.json" - }, - { - "path": "node_modules/acorn-jsx/package.json" - }, - { - "path": "node_modules/glob/package.json" - }, - { - "path": "node_modules/mocha/package.json" - }, - { - "path": "node_modules/mocha/node_modules/ms/package.json" - }, - { - "path": "node_modules/mocha/node_modules/p-locate/package.json" - }, - { - "path": "node_modules/mocha/node_modules/locate-path/package.json" - }, - { - "path": "node_modules/mocha/node_modules/glob/package.json" - }, - { - "path": "node_modules/mocha/node_modules/supports-color/package.json" - }, - { - "path": "node_modules/mocha/node_modules/find-up/package.json" - }, - { - "path": "node_modules/mocha/node_modules/path-exists/package.json" - }, - { - "path": "node_modules/mocha/node_modules/strip-json-comments/package.json" - }, - { - "path": "node_modules/mocha/node_modules/yargs-parser/package.json" - }, - { - "path": "node_modules/mime-db/package.json" - }, - { - "path": "node_modules/nyc/package.json" - }, - { - "path": "node_modules/nyc/node_modules/p-locate/package.json" - }, - { - "path": "node_modules/nyc/node_modules/locate-path/package.json" - }, - { - "path": "node_modules/nyc/node_modules/make-dir/package.json" - }, - { - "path": "node_modules/nyc/node_modules/semver/package.json" - }, - { - "path": "node_modules/nyc/node_modules/find-up/package.json" - }, - { - "path": "node_modules/nyc/node_modules/path-exists/package.json" - }, - { - "path": "node_modules/nyc/node_modules/yargs-parser/package.json" - }, - { - "path": "node_modules/event-emitter/package.json" - }, - { - "path": "node_modules/@protobufjs/codegen/package.json" - }, - { - "path": "node_modules/@protobufjs/base64/package.json" - }, - { - "path": "node_modules/@protobufjs/utf8/package.json" - }, - { - "path": "node_modules/@protobufjs/pool/package.json" - }, - { - "path": "node_modules/@protobufjs/float/package.json" - }, - { - "path": "node_modules/@protobufjs/fetch/package.json" - }, - { - "path": "node_modules/@protobufjs/path/package.json" - }, - { - "path": "node_modules/@protobufjs/aspromise/package.json" - }, - { - "path": "node_modules/@protobufjs/inquire/package.json" - }, - { - "path": "node_modules/@protobufjs/eventemitter/package.json" - }, - { - "path": "node_modules/node-forge/package.json" - }, - { - "path": "node_modules/lodash.has/package.json" - }, - { - "path": "node_modules/to-fast-properties/package.json" - }, - { - "path": "node_modules/source-map-support/package.json" - }, - { - "path": "node_modules/source-map-support/node_modules/source-map/package.json" - }, - { - "path": "node_modules/has-symbols/package.json" - }, - { - "path": "node_modules/just-extend/package.json" - }, - { - "path": "node_modules/stubs/package.json" - }, - { - "path": "node_modules/find-cache-dir/package.json" - }, - { - "path": "node_modules/find-cache-dir/node_modules/make-dir/package.json" - }, - { - "path": "node_modules/find-cache-dir/node_modules/semver/package.json" - }, - { - "path": "node_modules/espurify/package.json" - }, - { - "path": "node_modules/lodash.at/package.json" - }, - { - "path": "node_modules/ansi-styles/package.json" - }, - { - "path": "node_modules/merge-estraverse-visitors/package.json" - }, - { - "path": "node_modules/cp-file/package.json" - }, - { - "path": "node_modules/cp-file/node_modules/make-dir/package.json" - }, - { - "path": "node_modules/cp-file/node_modules/semver/package.json" - }, - { - "path": "node_modules/ansi-colors/package.json" - }, - { - "path": "node_modules/date-and-time/package.json" - }, - { - "path": "node_modules/p-try/package.json" - }, - { - "path": "node_modules/escope/package.json" - }, - { - "path": "node_modules/json-parse-better-errors/package.json" - }, - { - "path": "node_modules/readable-stream/package.json" - }, - { - "path": "node_modules/abort-controller/package.json" - }, - { - "path": "node_modules/which/package.json" - }, - { - "path": "node_modules/astral-regex/package.json" - }, - { - "path": "node_modules/escodegen/package.json" - }, - { - "path": "node_modules/escodegen/node_modules/esprima/package.json" - }, - { - "path": "node_modules/minimist/package.json" - }, - { - "path": "node_modules/clone-response/package.json" - }, - { - "path": "node_modules/ecdsa-sig-formatter/package.json" - }, - { - "path": "node_modules/requizzle/package.json" - }, - { - "path": "node_modules/base64-js/package.json" - }, - { - "path": "node_modules/pify/package.json" - }, - { - "path": "node_modules/object-keys/package.json" - }, - { - "path": "node_modules/trim-newlines/package.json" - }, - { - "path": "node_modules/deep-is/package.json" - }, - { - "path": "node_modules/fast-levenshtein/package.json" - }, - { - "path": "node_modules/shebang-regex/package.json" - }, - { - "path": "node_modules/eslint-plugin-es/package.json" - }, - { - "path": "node_modules/eslint-plugin-es/node_modules/eslint-utils/package.json" - }, - { - "path": "node_modules/eslint-plugin-es/node_modules/regexpp/package.json" - }, - { - "path": "node_modules/semver/package.json" - }, - { - "path": "node_modules/unique-string/package.json" - }, - { - "path": "node_modules/decamelize/package.json" - }, - { - "path": "node_modules/acorn/package.json" - }, - { - "path": "node_modules/wide-align/package.json" - }, - { - "path": "node_modules/wide-align/node_modules/string-width/package.json" - }, - { - "path": "node_modules/wide-align/node_modules/ansi-regex/package.json" - }, - { - "path": "node_modules/wide-align/node_modules/strip-ansi/package.json" - }, - { - "path": "node_modules/wide-align/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/got/package.json" - }, - { - "path": "node_modules/sprintf-js/package.json" - }, - { - "path": "node_modules/@google-cloud/storage/package.json" - }, - { - "path": "node_modules/@google-cloud/storage/node_modules/readable-stream/package.json" - }, - { - "path": "node_modules/@google-cloud/projectify/package.json" - }, - { - "path": "node_modules/@google-cloud/common/package.json" - }, - { - "path": "node_modules/@google-cloud/paginator/package.json" - }, - { - "path": "node_modules/@google-cloud/promisify/package.json" - }, - { - "path": "node_modules/archy/package.json" - }, - { - "path": "node_modules/isarray/package.json" - }, - { - "path": "node_modules/string_decoder/package.json" - }, - { - "path": "node_modules/p-limit/package.json" - }, - { - "path": "node_modules/url-parse-lax/package.json" - }, - { - "path": "node_modules/commander/package.json" - }, - { - "path": "node_modules/mimic-fn/package.json" - }, - { - "path": "node_modules/https-proxy-agent/package.json" - }, - { - "path": "node_modules/ini/package.json" - }, - { - "path": "node_modules/js2xmlparser/package.json" - }, - { - "path": "node_modules/spdx-exceptions/package.json" - }, - { - "path": "node_modules/external-editor/package.json" - }, - { - "path": "node_modules/power-assert-formatter/package.json" - }, - { - "path": "node_modules/eslint-utils/package.json" - }, - { - "path": "node_modules/text-table/package.json" - }, - { - "path": "node_modules/domutils/package.json" - }, - { - "path": "node_modules/supports-color/package.json" - }, - { - "path": "node_modules/strip-indent/package.json" - }, - { - "path": "node_modules/fs.realpath/package.json" - }, - { - "path": "node_modules/parse5/package.json" - }, - { - "path": "node_modules/decamelize-keys/package.json" - }, - { - "path": "node_modules/decamelize-keys/node_modules/map-obj/package.json" - }, - { - "path": "node_modules/empower-core/package.json" - }, - { - "path": "node_modules/acorn-es7-plugin/package.json" - }, - { - "path": "node_modules/p-timeout/package.json" - }, - { - "path": "node_modules/neo-async/package.json" - }, - { - "path": "node_modules/espree/package.json" - }, - { - "path": "node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/responselike/package.json" - }, - { - "path": "node_modules/next-tick/package.json" - }, - { - "path": "node_modules/esrecurse/package.json" - }, - { - "path": "node_modules/bignumber.js/package.json" - }, - { - "path": "node_modules/source-map/package.json" - }, - { - "path": "node_modules/find-up/package.json" - }, - { - "path": "node_modules/traverse/package.json" - }, - { - "path": "node_modules/es-to-primitive/package.json" - }, - { - "path": "node_modules/rc/package.json" - }, - { - "path": "node_modules/rc/node_modules/minimist/package.json" - }, - { - "path": "node_modules/rc/node_modules/strip-json-comments/package.json" - }, - { - "path": "node_modules/safe-buffer/package.json" - }, - { - "path": "node_modules/uc.micro/package.json" - }, - { - "path": "node_modules/flat-cache/package.json" - }, - { - "path": "node_modules/once/package.json" - }, - { - "path": "node_modules/gtoken/package.json" - }, - { - "path": "node_modules/urlgrey/package.json" - }, - { - "path": "node_modules/convert-source-map/package.json" - }, - { - "path": "node_modules/is-date-object/package.json" - }, - { - "path": "node_modules/escape-string-regexp/package.json" - }, - { - "path": "node_modules/iconv-lite/package.json" - }, - { - "path": "node_modules/is-glob/package.json" - }, - { - "path": "node_modules/tslib/package.json" - }, - { - "path": "node_modules/jsesc/package.json" - }, - { - "path": "node_modules/markdown-it-anchor/package.json" - }, - { - "path": "node_modules/browser-stdout/package.json" - }, - { - "path": "node_modules/path-type/package.json" - }, - { - "path": "node_modules/path-type/node_modules/pify/package.json" - }, - { - "path": "node_modules/snakeize/package.json" - }, - { - "path": "node_modules/istanbul-lib-source-maps/package.json" - }, - { - "path": "node_modules/istanbul-lib-source-maps/node_modules/debug/package.json" - }, - { - "path": "node_modules/istanbul-lib-source-maps/node_modules/make-dir/package.json" - }, - { - "path": "node_modules/istanbul-lib-source-maps/node_modules/semver/package.json" - }, - { - "path": "node_modules/pump/package.json" - }, - { - "path": "node_modules/process-nextick-args/package.json" - }, - { - "path": "node_modules/deep-extend/package.json" - }, - { - "path": "node_modules/power-assert-context-reducer-ast/package.json" - }, - { - "path": "node_modules/power-assert-context-reducer-ast/node_modules/acorn/package.json" - }, - { - "path": "node_modules/type-check/package.json" - }, - { - "path": "node_modules/teeny-request/package.json" - }, - { - "path": "node_modules/teeny-request/node_modules/debug/package.json" - }, - { - "path": "node_modules/teeny-request/node_modules/https-proxy-agent/package.json" - }, - { - "path": "node_modules/teeny-request/node_modules/agent-base/package.json" - }, - { - "path": "node_modules/jwa/package.json" - }, - { - "path": "node_modules/walkdir/package.json" - }, - { - "path": "node_modules/hard-rejection/package.json" - }, - { - "path": "node_modules/espower-source/package.json" - }, - { - "path": "node_modules/espower-source/node_modules/acorn/package.json" - }, - { - "path": "node_modules/mime-types/package.json" - }, - { - "path": "node_modules/cross-spawn/index.js" - }, - { - "path": "node_modules/cross-spawn/README.md" - }, - { - "path": "node_modules/cross-spawn/package.json" - }, - { - "path": "node_modules/cross-spawn/LICENSE" - }, - { - "path": "node_modules/cross-spawn/CHANGELOG.md" - }, - { - "path": "node_modules/cross-spawn/lib/parse.js" - }, - { - "path": "node_modules/cross-spawn/lib/enoent.js" - }, - { - "path": "node_modules/cross-spawn/lib/util/escape.js" - }, - { - "path": "node_modules/cross-spawn/lib/util/resolveCommand.js" - }, - { - "path": "node_modules/cross-spawn/lib/util/readShebang.js" - }, - { - "path": "node_modules/cross-spawn/node_modules/semver/package.json" - }, - { - "path": "node_modules/@sindresorhus/is/package.json" - }, - { - "path": "node_modules/wrap-ansi/package.json" - }, - { - "path": "node_modules/wrap-ansi/node_modules/emoji-regex/package.json" - }, - { - "path": "node_modules/wrap-ansi/node_modules/string-width/package.json" - }, - { - "path": "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/nested-error-stacks/package.json" - }, - { - "path": "node_modules/quick-lru/package.json" - }, - { - "path": "node_modules/path-exists/package.json" - }, - { - "path": "node_modules/jsdoc/package.json" - }, - { - "path": "node_modules/jsdoc/node_modules/escape-string-regexp/package.json" - }, - { - "path": "node_modules/cacheable-request/package.json" - }, - { - "path": "node_modules/cacheable-request/node_modules/get-stream/package.json" - }, - { - "path": "node_modules/cacheable-request/node_modules/lowercase-keys/package.json" - }, - { - "path": "node_modules/escape-html/package.json" - }, - { - "path": "node_modules/power-assert-renderer-assertion/package.json" - }, - { - "path": "node_modules/minimist-options/package.json" - }, - { - "path": "node_modules/minimist-options/node_modules/arrify/package.json" - }, - { - "path": "node_modules/latest-version/package.json" - }, - { - "path": "node_modules/nise/package.json" - }, - { - "path": "node_modules/optionator/package.json" - }, - { - "path": "node_modules/slice-ansi/package.json" - }, - { - "path": "node_modules/slice-ansi/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/power-assert-renderer-comparison/package.json" - }, - { - "path": "node_modules/os-homedir/package.json" - }, - { - "path": "node_modules/flatted/package.json" - }, - { - "path": "node_modules/inherits/package.json" - }, - { - "path": "node_modules/depd/package.json" - }, - { - "path": "node_modules/es6-promisify/package.json" - }, - { - "path": "node_modules/long/package.json" - }, - { - "path": "node_modules/regexpp/package.json" - }, - { - "path": "node_modules/cli-width/package.json" - }, - { - "path": "node_modules/call-matcher/package.json" - }, - { - "path": "node_modules/eslint/package.json" - }, - { - "path": "node_modules/eslint/node_modules/debug/package.json" - }, - { - "path": "node_modules/eslint/node_modules/semver/package.json" - }, - { - "path": "node_modules/mdurl/package.json" - }, - { - "path": "node_modules/typedarray/package.json" - }, - { - "path": "node_modules/espower-loader/package.json" - }, - { - "path": "node_modules/object.getownpropertydescriptors/package.json" - }, - { - "path": "node_modules/yargs/package.json" - }, - { - "path": "node_modules/yargs/node_modules/emoji-regex/package.json" - }, - { - "path": "node_modules/yargs/node_modules/string-width/package.json" - }, - { - "path": "node_modules/yargs/node_modules/p-locate/package.json" - }, - { - "path": "node_modules/yargs/node_modules/locate-path/package.json" - }, - { - "path": "node_modules/yargs/node_modules/is-fullwidth-code-point/package.json" - }, - { - "path": "node_modules/yargs/node_modules/find-up/package.json" - }, - { - "path": "node_modules/yargs/node_modules/path-exists/package.json" - }, - { - "path": "node_modules/yargs/node_modules/yargs-parser/package.json" - }, - { - "path": "node_modules/ci-info/package.json" - }, - { - "path": "node_modules/color-convert/package.json" - }, - { - "path": "node_modules/write-file-atomic/package.json" - }, - { - "path": "node_modules/eslint-visitor-keys/package.json" - }, - { - "path": "node_modules/agent-base/package.json" - }, - { - "path": "node_modules/flat/package.json" - }, - { - "path": "node_modules/through2/package.json" - }, - { - "path": "node_modules/gaxios/package.json" - }, - { - "path": "node_modules/p-queue/package.json" - }, - { - "path": "node_modules/encodeurl/package.json" - }, - { - "path": "node_modules/js-tokens/package.json" - }, - { - "path": "node_modules/strip-json-comments/package.json" - }, - { - "path": "node_modules/eslint-config-prettier/package.json" - }, - { - "path": "node_modules/uri-js/package.json" - }, - { - "path": "node_modules/test-exclude/package.json" - }, - { - "path": "node_modules/test-exclude/node_modules/read-pkg-up/package.json" - }, - { - "path": "node_modules/test-exclude/node_modules/p-locate/package.json" - }, - { - "path": "node_modules/test-exclude/node_modules/locate-path/package.json" - }, - { - "path": "node_modules/test-exclude/node_modules/read-pkg/package.json" - }, - { - "path": "node_modules/test-exclude/node_modules/find-up/package.json" - }, - { - "path": "node_modules/test-exclude/node_modules/path-exists/package.json" - }, - { - "path": "node_modules/safer-buffer/package.json" - }, - { - "path": "node_modules/es6-error/package.json" - }, - { - "path": "node_modules/prettier/package.json" - }, - { - "path": "node_modules/regexp.prototype.flags/package.json" - }, - { - "path": "node_modules/yargs-parser/package.json" - }, - { - "path": "node_modules/lodash.get/package.json" - }, - { - "path": "node_modules/@babel/helper-get-function-arity/package.json" - }, - { - "path": "node_modules/@babel/generator/package.json" - }, - { - "path": "node_modules/@babel/generator/node_modules/source-map/package.json" - }, - { - "path": "node_modules/@babel/code-frame/package.json" - }, - { - "path": "node_modules/@babel/helper-split-export-declaration/package.json" - }, - { - "path": "node_modules/@babel/highlight/package.json" - }, - { - "path": "node_modules/@babel/helper-function-name/package.json" - }, - { - "path": "node_modules/@babel/traverse/package.json" - }, - { - "path": "node_modules/@babel/traverse/node_modules/globals/package.json" - }, - { - "path": "node_modules/@babel/traverse/node_modules/debug/package.json" - }, - { - "path": "node_modules/@babel/types/package.json" - }, - { - "path": "node_modules/@babel/parser/package.json" - }, - { - "path": "node_modules/@babel/template/package.json" - }, - { - "path": "node_modules/configstore/package.json" - }, - { - "path": "node_modules/is-plain-obj/package.json" - }, - { - "path": "node_modules/eastasianwidth/package.json" - }, - { - "path": "node_modules/package-hash/package.json" - }, - { - "path": "node_modules/has-yarn/package.json" - }, - { - "path": "node_modules/core-js/package.json" - }, - { - "path": "samples/setEndpoint.js" - }, - { - "path": "samples/detect.js" - }, - { - "path": "samples/textDetection.js" - }, - { - "path": "samples/README.md" - }, - { - "path": "samples/batch-annotate-files-gcs.js" - }, - { - "path": "samples/package.json" - }, - { - "path": "samples/quickstart.js" - }, - { - "path": "samples/.eslintrc.yml" - }, - { - "path": "samples/detect.v1p3beta1.js" - }, - { - "path": "samples/detect.v1p1beta1.js" - }, - { - "path": "samples/batch-annotate-files.js" - }, - { - "path": "samples/async-batch-annotate-images.js" - }, - { - "path": "samples/faceDetection.js" - }, - { - "path": "samples/system-test/detect.v1p3beta1.test.js" - }, - { - "path": "samples/system-test/products.test.js" - }, - { - "path": "samples/system-test/similarProducts.test.js" - }, - { - "path": "samples/system-test/textDetection.test.js" - }, - { - "path": "samples/system-test/batch-annotate-files.test.js" - }, - { - "path": "samples/system-test/faceDetection.test.js" - }, - { - "path": "samples/system-test/quickstart.test.js" - }, - { - "path": "samples/system-test/detect.test.js" - }, - { - "path": "samples/system-test/productSets.test.js" - }, - { - "path": "samples/system-test/setEndpoint.test.js" - }, - { - "path": "samples/system-test/async-batch-annotate-images.test.js" - }, - { - "path": "samples/system-test/referenceImages.test.js" - }, - { - "path": "samples/system-test/importProductSets.test.js" - }, - { - "path": "samples/system-test/batch-annotate-files-gcs.test.js" - }, - { - "path": "samples/system-test/detect.v1p1beta1.test.js" - }, - { - "path": "samples/system-test/productSearch.test.js" - }, - { - "path": "samples/productSearch/productSearch.js" - }, - { - "path": "samples/productSearch/importProductSets.js" - }, - { - "path": "samples/productSearch/referenceImages.js" - }, - { - "path": "samples/productSearch/products.js" - }, - { - "path": "samples/productSearch/productSets.js" - }, - { - "path": "samples/productSearch/similarProducts.js" - }, - { - "path": "samples/resources/landmark.jpg" - }, - { - "path": "samples/resources/face_no_surprise.jpg" - }, - { - "path": "samples/resources/text.jpg" - }, - { - "path": "samples/resources/shoes_1.jpg" - }, - { - "path": "samples/resources/sabertooth.gif" - }, - { - "path": "samples/resources/logos.png" - }, - { - "path": "samples/resources/bicycle.jpg" - }, - { - "path": "samples/resources/wakeupcat.jpg" - }, - { - "path": "samples/resources/duck_and_truck.jpg" - }, - { - "path": "samples/resources/face.png" - }, - { - "path": "samples/resources/handwritten.jpg" - }, - { - "path": "samples/resources/mountain.jpg" - }, - { - "path": "samples/resources/no-text.jpg" - }, - { - "path": "samples/resources/sunbeamkitties.jpg" - }, - { - "path": "samples/resources/cat.jpg" - }, - { - "path": "samples/resources/google.png" - }, - { - "path": "samples/resources/city.jpg" - }, - { - "path": "samples/resources/bonito.gif" - }, - { - "path": "samples/resources/pdf-ocr.pdf" - }, - { - "path": "samples/resources/water.jpg" - }, - { - "path": "samples/resources/succulents.jpg" - }, - { - "path": "samples/resources/faulkner.jpg" - }, - { - "path": "__pycache__/synth.cpython-36.pyc" - }, - { - "path": "smoke-test/image_annotator_smoke_test.js" - }, - { - "path": "smoke-test/.eslintrc.yml" - } ] } \ No newline at end of file diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js index 4bf1c4fcf56..fde10ef1d15 100644 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ b/packages/google-cloud-vision/test/gapic-v1.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js index 38a6fe7e212..2f9d4ab4840 100644 --- a/packages/google-cloud-vision/test/gapic-v1p1beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p1beta1.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-v1p2beta1.js b/packages/google-cloud-vision/test/gapic-v1p2beta1.js index 572fc4d8e9c..3dafe924715 100644 --- a/packages/google-cloud-vision/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p2beta1.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-v1p3beta1.js b/packages/google-cloud-vision/test/gapic-v1p3beta1.js index cd008feeb15..928a4f23ef6 100644 --- a/packages/google-cloud-vision/test/gapic-v1p3beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p3beta1.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-v1p4beta1.js b/packages/google-cloud-vision/test/gapic-v1p4beta1.js index b865af2fa28..f8de1d2cec2 100644 --- a/packages/google-cloud-vision/test/gapic-v1p4beta1.js +++ b/packages/google-cloud-vision/test/gapic-v1p4beta1.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/webpack.config.js b/packages/google-cloud-vision/webpack.config.js index 68570f9fe88..ba61eb01d6e 100644 --- a/packages/google-cloud-vision/webpack.config.js +++ b/packages/google-cloud-vision/webpack.config.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From f7c90a53273754c4bd26caa965520a34eec55151 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 23 Jan 2020 16:27:07 -0800 Subject: [PATCH 369/588] chore: clear synth.metadata --- packages/google-cloud-vision/synth.metadata | 79 --------------------- 1 file changed, 79 deletions(-) delete mode 100644 packages/google-cloud-vision/synth.metadata diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata deleted file mode 100644 index ca5999d1604..00000000000 --- a/packages/google-cloud-vision/synth.metadata +++ /dev/null @@ -1,79 +0,0 @@ -{ - "updateTime": "2020-01-15T12:40:56.764950Z", - "sources": [ - { - "generator": { - "name": "artman", - "version": "0.44.0", - "dockerImage": "googleapis/artman@sha256:10a6d0342b8d62544810ac5ad86c3b21049ec0696608ac60175da8e513234344" - } - }, - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "d99df0d67057a233c711187e0689baa4f8e6333d", - "internalRef": "289709813" - } - }, - { - "template": { - "name": "node_library", - "origin": "synthtool.gcp", - "version": "2019.10.17" - } - } - ], - "destinations": [ - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p1beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p1beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p2beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p2beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p3beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p3beta1.yaml" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p4beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p4beta1.yaml" - } - } - ] -} \ No newline at end of file From 96633d7b7241bf342a249e696366c10075c365c1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 27 Jan 2020 16:14:15 -0800 Subject: [PATCH 370/588] chore: regenerate synth.metadata (#520) --- .../src/v1/doc/google/rpc/doc_status.js | 60 +- .../v1p1beta1/doc/google/rpc/doc_status.js | 60 +- .../v1p2beta1/doc/google/rpc/doc_status.js | 60 +- .../v1p3beta1/doc/google/rpc/doc_status.js | 60 +- .../v1p4beta1/doc/google/rpc/doc_status.js | 60 +- packages/google-cloud-vision/synth.metadata | 864 ++++++++++++++++++ 6 files changed, 894 insertions(+), 270 deletions(-) create mode 100644 packages/google-cloud-vision/synth.metadata diff --git a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js @@ -18,67 +18,19 @@ /** * The `Status` type defines a logical error model that is suitable for * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). The error model is designed to be: + * used by [gRPC](https://github.com/grpc). Each `Status` message contains + * three pieces of data: error code, error message, and error details. * - * - Simple to use and understand for most users - * - Flexible enough to meet unexpected needs - * - * # Overview - * - * The `Status` message contains three pieces of data: error code, error - * message, and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes - * if needed. The error message should be a developer-facing English message - * that helps developers *understand* and *resolve* the error. If a localized - * user-facing error message is needed, put the localized message in the error - * details or localize it in the client. The optional error details may contain - * arbitrary information about the error. There is a predefined set of error - * detail types in the package `google.rpc` that can be used for common error - * conditions. - * - * # Language mapping - * - * The `Status` message is the logical representation of the error model, but it - * is not necessarily the actual wire format. When the `Status` message is - * exposed in different client libraries and different wire protocols, it can be - * mapped differently. For example, it will likely be mapped to some exceptions - * in Java, but more likely mapped to some error codes in C. - * - * # Other uses - * - * The error model and the `Status` message can be used in a variety of - * environments, either with or without APIs, to provide a - * consistent developer experience across different environments. - * - * Example uses of this error model include: - * - * - Partial errors. If a service needs to return partial errors to the client, - * it may embed the `Status` in the normal response to indicate the partial - * errors. - * - * - Workflow errors. A typical workflow has multiple steps. Each step may - * have a `Status` message for error reporting. - * - * - Batch operations. If a client uses batch request and batch response, the - * `Status` message should be used directly inside batch response, one for - * each error sub-response. - * - * - Asynchronous operations. If an API call embeds asynchronous operation - * results in its response, the status of those operations should be - * represented directly using the `Status` message. - * - * - Logging. If some API errors are stored in logs, the message `Status` could - * be used directly after any stripping needed for security/privacy reasons. + * You can find out more about this error model and how to work with it in the + * [API Design Guide](https://cloud.google.com/apis/design/errors). * * @property {number} code - * The status code, which should be an enum value of - * google.rpc.Code. + * The status code, which should be an enum value of google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized - * by the client. + * google.rpc.Status.details field, or localized by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js @@ -18,67 +18,19 @@ /** * The `Status` type defines a logical error model that is suitable for * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). The error model is designed to be: + * used by [gRPC](https://github.com/grpc). Each `Status` message contains + * three pieces of data: error code, error message, and error details. * - * - Simple to use and understand for most users - * - Flexible enough to meet unexpected needs - * - * # Overview - * - * The `Status` message contains three pieces of data: error code, error - * message, and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes - * if needed. The error message should be a developer-facing English message - * that helps developers *understand* and *resolve* the error. If a localized - * user-facing error message is needed, put the localized message in the error - * details or localize it in the client. The optional error details may contain - * arbitrary information about the error. There is a predefined set of error - * detail types in the package `google.rpc` that can be used for common error - * conditions. - * - * # Language mapping - * - * The `Status` message is the logical representation of the error model, but it - * is not necessarily the actual wire format. When the `Status` message is - * exposed in different client libraries and different wire protocols, it can be - * mapped differently. For example, it will likely be mapped to some exceptions - * in Java, but more likely mapped to some error codes in C. - * - * # Other uses - * - * The error model and the `Status` message can be used in a variety of - * environments, either with or without APIs, to provide a - * consistent developer experience across different environments. - * - * Example uses of this error model include: - * - * - Partial errors. If a service needs to return partial errors to the client, - * it may embed the `Status` in the normal response to indicate the partial - * errors. - * - * - Workflow errors. A typical workflow has multiple steps. Each step may - * have a `Status` message for error reporting. - * - * - Batch operations. If a client uses batch request and batch response, the - * `Status` message should be used directly inside batch response, one for - * each error sub-response. - * - * - Asynchronous operations. If an API call embeds asynchronous operation - * results in its response, the status of those operations should be - * represented directly using the `Status` message. - * - * - Logging. If some API errors are stored in logs, the message `Status` could - * be used directly after any stripping needed for security/privacy reasons. + * You can find out more about this error model and how to work with it in the + * [API Design Guide](https://cloud.google.com/apis/design/errors). * * @property {number} code - * The status code, which should be an enum value of - * google.rpc.Code. + * The status code, which should be an enum value of google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized - * by the client. + * google.rpc.Status.details field, or localized by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js @@ -18,67 +18,19 @@ /** * The `Status` type defines a logical error model that is suitable for * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). The error model is designed to be: + * used by [gRPC](https://github.com/grpc). Each `Status` message contains + * three pieces of data: error code, error message, and error details. * - * - Simple to use and understand for most users - * - Flexible enough to meet unexpected needs - * - * # Overview - * - * The `Status` message contains three pieces of data: error code, error - * message, and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes - * if needed. The error message should be a developer-facing English message - * that helps developers *understand* and *resolve* the error. If a localized - * user-facing error message is needed, put the localized message in the error - * details or localize it in the client. The optional error details may contain - * arbitrary information about the error. There is a predefined set of error - * detail types in the package `google.rpc` that can be used for common error - * conditions. - * - * # Language mapping - * - * The `Status` message is the logical representation of the error model, but it - * is not necessarily the actual wire format. When the `Status` message is - * exposed in different client libraries and different wire protocols, it can be - * mapped differently. For example, it will likely be mapped to some exceptions - * in Java, but more likely mapped to some error codes in C. - * - * # Other uses - * - * The error model and the `Status` message can be used in a variety of - * environments, either with or without APIs, to provide a - * consistent developer experience across different environments. - * - * Example uses of this error model include: - * - * - Partial errors. If a service needs to return partial errors to the client, - * it may embed the `Status` in the normal response to indicate the partial - * errors. - * - * - Workflow errors. A typical workflow has multiple steps. Each step may - * have a `Status` message for error reporting. - * - * - Batch operations. If a client uses batch request and batch response, the - * `Status` message should be used directly inside batch response, one for - * each error sub-response. - * - * - Asynchronous operations. If an API call embeds asynchronous operation - * results in its response, the status of those operations should be - * represented directly using the `Status` message. - * - * - Logging. If some API errors are stored in logs, the message `Status` could - * be used directly after any stripping needed for security/privacy reasons. + * You can find out more about this error model and how to work with it in the + * [API Design Guide](https://cloud.google.com/apis/design/errors). * * @property {number} code - * The status code, which should be an enum value of - * google.rpc.Code. + * The status code, which should be an enum value of google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized - * by the client. + * google.rpc.Status.details field, or localized by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js @@ -18,67 +18,19 @@ /** * The `Status` type defines a logical error model that is suitable for * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). The error model is designed to be: + * used by [gRPC](https://github.com/grpc). Each `Status` message contains + * three pieces of data: error code, error message, and error details. * - * - Simple to use and understand for most users - * - Flexible enough to meet unexpected needs - * - * # Overview - * - * The `Status` message contains three pieces of data: error code, error - * message, and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes - * if needed. The error message should be a developer-facing English message - * that helps developers *understand* and *resolve* the error. If a localized - * user-facing error message is needed, put the localized message in the error - * details or localize it in the client. The optional error details may contain - * arbitrary information about the error. There is a predefined set of error - * detail types in the package `google.rpc` that can be used for common error - * conditions. - * - * # Language mapping - * - * The `Status` message is the logical representation of the error model, but it - * is not necessarily the actual wire format. When the `Status` message is - * exposed in different client libraries and different wire protocols, it can be - * mapped differently. For example, it will likely be mapped to some exceptions - * in Java, but more likely mapped to some error codes in C. - * - * # Other uses - * - * The error model and the `Status` message can be used in a variety of - * environments, either with or without APIs, to provide a - * consistent developer experience across different environments. - * - * Example uses of this error model include: - * - * - Partial errors. If a service needs to return partial errors to the client, - * it may embed the `Status` in the normal response to indicate the partial - * errors. - * - * - Workflow errors. A typical workflow has multiple steps. Each step may - * have a `Status` message for error reporting. - * - * - Batch operations. If a client uses batch request and batch response, the - * `Status` message should be used directly inside batch response, one for - * each error sub-response. - * - * - Asynchronous operations. If an API call embeds asynchronous operation - * results in its response, the status of those operations should be - * represented directly using the `Status` message. - * - * - Logging. If some API errors are stored in logs, the message `Status` could - * be used directly after any stripping needed for security/privacy reasons. + * You can find out more about this error model and how to work with it in the + * [API Design Guide](https://cloud.google.com/apis/design/errors). * * @property {number} code - * The status code, which should be an enum value of - * google.rpc.Code. + * The status code, which should be an enum value of google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized - * by the client. + * google.rpc.Status.details field, or localized by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js index 80ec5037662..750e0af7689 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js @@ -18,67 +18,19 @@ /** * The `Status` type defines a logical error model that is suitable for * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). The error model is designed to be: + * used by [gRPC](https://github.com/grpc). Each `Status` message contains + * three pieces of data: error code, error message, and error details. * - * - Simple to use and understand for most users - * - Flexible enough to meet unexpected needs - * - * # Overview - * - * The `Status` message contains three pieces of data: error code, error - * message, and error details. The error code should be an enum value of - * google.rpc.Code, but it may accept additional error codes - * if needed. The error message should be a developer-facing English message - * that helps developers *understand* and *resolve* the error. If a localized - * user-facing error message is needed, put the localized message in the error - * details or localize it in the client. The optional error details may contain - * arbitrary information about the error. There is a predefined set of error - * detail types in the package `google.rpc` that can be used for common error - * conditions. - * - * # Language mapping - * - * The `Status` message is the logical representation of the error model, but it - * is not necessarily the actual wire format. When the `Status` message is - * exposed in different client libraries and different wire protocols, it can be - * mapped differently. For example, it will likely be mapped to some exceptions - * in Java, but more likely mapped to some error codes in C. - * - * # Other uses - * - * The error model and the `Status` message can be used in a variety of - * environments, either with or without APIs, to provide a - * consistent developer experience across different environments. - * - * Example uses of this error model include: - * - * - Partial errors. If a service needs to return partial errors to the client, - * it may embed the `Status` in the normal response to indicate the partial - * errors. - * - * - Workflow errors. A typical workflow has multiple steps. Each step may - * have a `Status` message for error reporting. - * - * - Batch operations. If a client uses batch request and batch response, the - * `Status` message should be used directly inside batch response, one for - * each error sub-response. - * - * - Asynchronous operations. If an API call embeds asynchronous operation - * results in its response, the status of those operations should be - * represented directly using the `Status` message. - * - * - Logging. If some API errors are stored in logs, the message `Status` could - * be used directly after any stripping needed for security/privacy reasons. + * You can find out more about this error model and how to work with it in the + * [API Design Guide](https://cloud.google.com/apis/design/errors). * * @property {number} code - * The status code, which should be an enum value of - * google.rpc.Code. + * The status code, which should be an enum value of google.rpc.Code. * * @property {string} message * A developer-facing error message, which should be in English. Any * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized - * by the client. + * google.rpc.Status.details field, or localized by the client. * * @property {Object[]} details * A list of messages that carry the error details. There is a common set of diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata new file mode 100644 index 00000000000..236834262a9 --- /dev/null +++ b/packages/google-cloud-vision/synth.metadata @@ -0,0 +1,864 @@ +{ + "updateTime": "2020-01-24T12:42:56.812120Z", + "sources": [ + { + "generator": { + "name": "artman", + "version": "0.44.1", + "dockerImage": "googleapis/artman@sha256:5599b61e56a372d21b671969ee915fbca0f6c3a0daaeb898d01f8f685f1bbc8b" + } + }, + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "e26cab8afd19d396b929039dac5d874cf0b5336c", + "internalRef": "291240093" + } + }, + { + "template": { + "name": "node_library", + "origin": "synthtool.gcp", + "version": "2019.10.17" + } + } + ], + "destinations": [ + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p1beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p1beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p2beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p2beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p3beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p3beta1.yaml" + } + }, + { + "client": { + "source": "googleapis", + "apiName": "vision", + "apiVersion": "v1p4beta1", + "language": "nodejs", + "generator": "gapic", + "config": "google/cloud/vision/artman_vision_v1p4beta1.yaml" + } + } + ], + "newFiles": [ + { + "path": ".eslintignore" + }, + { + "path": ".eslintrc.yml" + }, + { + "path": ".github/ISSUE_TEMPLATE/bug_report.md" + }, + { + "path": ".github/ISSUE_TEMPLATE/feature_request.md" + }, + { + "path": ".github/ISSUE_TEMPLATE/support_request.md" + }, + { + "path": ".github/PULL_REQUEST_TEMPLATE.md" + }, + { + "path": ".github/release-please.yml" + }, + { + "path": ".gitignore" + }, + { + "path": ".jsdoc.js" + }, + { + "path": ".kokoro/.gitattributes" + }, + { + "path": ".kokoro/common.cfg" + }, + { + "path": ".kokoro/continuous/node10/common.cfg" + }, + { + "path": ".kokoro/continuous/node10/docs.cfg" + }, + { + "path": ".kokoro/continuous/node10/lint.cfg" + }, + { + "path": ".kokoro/continuous/node10/samples-test.cfg" + }, + { + "path": ".kokoro/continuous/node10/system-test.cfg" + }, + { + "path": ".kokoro/continuous/node10/test.cfg" + }, + { + "path": ".kokoro/continuous/node12/common.cfg" + }, + { + "path": ".kokoro/continuous/node12/test.cfg" + }, + { + "path": ".kokoro/continuous/node8/common.cfg" + }, + { + "path": ".kokoro/continuous/node8/test.cfg" + }, + { + "path": ".kokoro/docs.sh" + }, + { + "path": ".kokoro/lint.sh" + }, + { + "path": ".kokoro/presubmit/node10/common.cfg" + }, + { + "path": ".kokoro/presubmit/node10/docs.cfg" + }, + { + "path": ".kokoro/presubmit/node10/lint.cfg" + }, + { + "path": ".kokoro/presubmit/node10/samples-test.cfg" + }, + { + "path": ".kokoro/presubmit/node10/system-test.cfg" + }, + { + "path": ".kokoro/presubmit/node10/test.cfg" + }, + { + "path": ".kokoro/presubmit/node12/common.cfg" + }, + { + "path": ".kokoro/presubmit/node12/test.cfg" + }, + { + "path": ".kokoro/presubmit/node8/common.cfg" + }, + { + "path": ".kokoro/presubmit/node8/test.cfg" + }, + { + "path": ".kokoro/presubmit/windows/common.cfg" + }, + { + "path": ".kokoro/presubmit/windows/test.cfg" + }, + { + "path": ".kokoro/publish.sh" + }, + { + "path": ".kokoro/release/docs.cfg" + }, + { + "path": ".kokoro/release/docs.sh" + }, + { + "path": ".kokoro/release/publish.cfg" + }, + { + "path": ".kokoro/samples-test.sh" + }, + { + "path": ".kokoro/system-test.sh" + }, + { + "path": ".kokoro/test.bat" + }, + { + "path": ".kokoro/test.sh" + }, + { + "path": ".kokoro/trampoline.sh" + }, + { + "path": ".nycrc" + }, + { + "path": ".prettierignore" + }, + { + "path": ".prettierrc" + }, + { + "path": ".repo-metadata.json" + }, + { + "path": "CHANGELOG.md" + }, + { + "path": "CODE_OF_CONDUCT.md" + }, + { + "path": "CONTRIBUTING.md" + }, + { + "path": "LICENSE" + }, + { + "path": "README.md" + }, + { + "path": "codecov.yaml" + }, + { + "path": "linkinator.config.json" + }, + { + "path": "package.json" + }, + { + "path": "protos/google/cloud/vision/v1/geometry.proto" + }, + { + "path": "protos/google/cloud/vision/v1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1/product_search.proto" + }, + { + "path": "protos/google/cloud/vision/v1/product_search_service.proto" + }, + { + "path": "protos/google/cloud/vision/v1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1/web_detection.proto" + }, + { + "path": "protos/google/cloud/vision/v1p1beta1/geometry.proto" + }, + { + "path": "protos/google/cloud/vision/v1p1beta1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1p1beta1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1p1beta1/web_detection.proto" + }, + { + "path": "protos/google/cloud/vision/v1p2beta1/geometry.proto" + }, + { + "path": "protos/google/cloud/vision/v1p2beta1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1p2beta1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1p2beta1/web_detection.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/geometry.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/product_search.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/product_search_service.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1p3beta1/web_detection.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/face.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/geometry.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/image_annotator.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/product_search.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/product_search_service.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/text_annotation.proto" + }, + { + "path": "protos/google/cloud/vision/v1p4beta1/web_detection.proto" + }, + { + "path": "protos/protos.d.ts" + }, + { + "path": "protos/protos.js" + }, + { + "path": "protos/protos.json" + }, + { + "path": "renovate.json" + }, + { + "path": "samples/.eslintrc.yml" + }, + { + "path": "samples/README.md" + }, + { + "path": "samples/async-batch-annotate-images.js" + }, + { + "path": "samples/batch-annotate-files-gcs.js" + }, + { + "path": "samples/batch-annotate-files.js" + }, + { + "path": "samples/detect.js" + }, + { + "path": "samples/detect.v1p1beta1.js" + }, + { + "path": "samples/detect.v1p3beta1.js" + }, + { + "path": "samples/faceDetection.js" + }, + { + "path": "samples/package.json" + }, + { + "path": "samples/productSearch/importProductSets.js" + }, + { + "path": "samples/productSearch/productSearch.js" + }, + { + "path": "samples/productSearch/productSets.js" + }, + { + "path": "samples/productSearch/products.js" + }, + { + "path": "samples/productSearch/referenceImages.js" + }, + { + "path": "samples/productSearch/similarProducts.js" + }, + { + "path": "samples/quickstart.js" + }, + { + "path": "samples/resources/bicycle.jpg" + }, + { + "path": "samples/resources/bonito.gif" + }, + { + "path": "samples/resources/cat.jpg" + }, + { + "path": "samples/resources/city.jpg" + }, + { + "path": "samples/resources/duck_and_truck.jpg" + }, + { + "path": "samples/resources/face.png" + }, + { + "path": "samples/resources/face_no_surprise.jpg" + }, + { + "path": "samples/resources/faulkner.jpg" + }, + { + "path": "samples/resources/google.png" + }, + { + "path": "samples/resources/handwritten.jpg" + }, + { + "path": "samples/resources/landmark.jpg" + }, + { + "path": "samples/resources/logos.png" + }, + { + "path": "samples/resources/mountain.jpg" + }, + { + "path": "samples/resources/no-text.jpg" + }, + { + "path": "samples/resources/pdf-ocr.pdf" + }, + { + "path": "samples/resources/sabertooth.gif" + }, + { + "path": "samples/resources/shoes_1.jpg" + }, + { + "path": "samples/resources/succulents.jpg" + }, + { + "path": "samples/resources/sunbeamkitties.jpg" + }, + { + "path": "samples/resources/text.jpg" + }, + { + "path": "samples/resources/wakeupcat.jpg" + }, + { + "path": "samples/resources/water.jpg" + }, + { + "path": "samples/setEndpoint.js" + }, + { + "path": "samples/system-test/async-batch-annotate-images.test.js" + }, + { + "path": "samples/system-test/batch-annotate-files-gcs.test.js" + }, + { + "path": "samples/system-test/batch-annotate-files.test.js" + }, + { + "path": "samples/system-test/detect.test.js" + }, + { + "path": "samples/system-test/detect.v1p1beta1.test.js" + }, + { + "path": "samples/system-test/detect.v1p3beta1.test.js" + }, + { + "path": "samples/system-test/faceDetection.test.js" + }, + { + "path": "samples/system-test/importProductSets.test.js" + }, + { + "path": "samples/system-test/productSearch.test.js" + }, + { + "path": "samples/system-test/productSets.test.js" + }, + { + "path": "samples/system-test/products.test.js" + }, + { + "path": "samples/system-test/quickstart.test.js" + }, + { + "path": "samples/system-test/referenceImages.test.js" + }, + { + "path": "samples/system-test/setEndpoint.test.js" + }, + { + "path": "samples/system-test/similarProducts.test.js" + }, + { + "path": "samples/system-test/textDetection.test.js" + }, + { + "path": "samples/textDetection.js" + }, + { + "path": "smoke-test/.eslintrc.yml" + }, + { + "path": "smoke-test/image_annotator_smoke_test.js" + }, + { + "path": "src/browser.js" + }, + { + "path": "src/helpers.js" + }, + { + "path": "src/index.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_geometry.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js" + }, + { + "path": "src/v1/doc/google/cloud/vision/v1/doc_web_detection.js" + }, + { + "path": "src/v1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_empty.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_field_mask.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_timestamp.js" + }, + { + "path": "src/v1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "src/v1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1/image_annotator_client.js" + }, + { + "path": "src/v1/image_annotator_client_config.json" + }, + { + "path": "src/v1/image_annotator_proto_list.json" + }, + { + "path": "src/v1/index.js" + }, + { + "path": "src/v1/product_search_client.js" + }, + { + "path": "src/v1/product_search_client_config.json" + }, + { + "path": "src/v1/product_search_proto_list.json" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js" + }, + { + "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js" + }, + { + "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p1beta1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p1beta1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1p1beta1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1p1beta1/image_annotator_client.js" + }, + { + "path": "src/v1p1beta1/image_annotator_client_config.json" + }, + { + "path": "src/v1p1beta1/image_annotator_proto_list.json" + }, + { + "path": "src/v1p1beta1/index.js" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js" + }, + { + "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js" + }, + { + "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p2beta1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p2beta1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1p2beta1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1p2beta1/image_annotator_client.js" + }, + { + "path": "src/v1p2beta1/image_annotator_client_config.json" + }, + { + "path": "src/v1p2beta1/image_annotator_proto_list.json" + }, + { + "path": "src/v1p2beta1/index.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js" + }, + { + "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js" + }, + { + "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_empty.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_field_mask.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_timestamp.js" + }, + { + "path": "src/v1p3beta1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p3beta1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1p3beta1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1p3beta1/image_annotator_client.js" + }, + { + "path": "src/v1p3beta1/image_annotator_client_config.json" + }, + { + "path": "src/v1p3beta1/image_annotator_proto_list.json" + }, + { + "path": "src/v1p3beta1/index.js" + }, + { + "path": "src/v1p3beta1/product_search_client.js" + }, + { + "path": "src/v1p3beta1/product_search_client_config.json" + }, + { + "path": "src/v1p3beta1/product_search_proto_list.json" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js" + }, + { + "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js" + }, + { + "path": "src/v1p4beta1/doc/google/longrunning/doc_operations.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_any.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_empty.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_field_mask.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_timestamp.js" + }, + { + "path": "src/v1p4beta1/doc/google/protobuf/doc_wrappers.js" + }, + { + "path": "src/v1p4beta1/doc/google/rpc/doc_status.js" + }, + { + "path": "src/v1p4beta1/doc/google/type/doc_color.js" + }, + { + "path": "src/v1p4beta1/doc/google/type/doc_latlng.js" + }, + { + "path": "src/v1p4beta1/image_annotator_client.js" + }, + { + "path": "src/v1p4beta1/image_annotator_client_config.json" + }, + { + "path": "src/v1p4beta1/image_annotator_proto_list.json" + }, + { + "path": "src/v1p4beta1/index.js" + }, + { + "path": "src/v1p4beta1/product_search_client.js" + }, + { + "path": "src/v1p4beta1/product_search_client_config.json" + }, + { + "path": "src/v1p4beta1/product_search_proto_list.json" + }, + { + "path": "synth.py" + }, + { + "path": "system-test/.eslintrc.yml" + }, + { + "path": "system-test/data/document.jpg" + }, + { + "path": "system-test/data/logo.jpg" + }, + { + "path": "system-test/data/rushmore.jpg" + }, + { + "path": "system-test/data/text.png" + }, + { + "path": "system-test/image_annotator_smoke_test.js" + }, + { + "path": "system-test/vision-v1p2beta1.js" + }, + { + "path": "system-test/vision.js" + }, + { + "path": "test/gapic-v1.js" + }, + { + "path": "test/gapic-v1p1beta1.js" + }, + { + "path": "test/gapic-v1p2beta1.js" + }, + { + "path": "test/gapic-v1p3beta1.js" + }, + { + "path": "test/gapic-v1p4beta1.js" + }, + { + "path": "test/helpers.test.js" + }, + { + "path": "test/index.test.js" + }, + { + "path": "test/mocha.opts" + }, + { + "path": "webpack.config.js" + } + ] +} \ No newline at end of file From 8f1ec03cd719c09358a449d040de07ed516cd12d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 28 Jan 2020 19:18:20 -0800 Subject: [PATCH 371/588] fix: enum, bytes, and Long types now accept strings --- .../google-cloud-vision/protos/protos.d.ts | 472 +++++++++--------- packages/google-cloud-vision/synth.metadata | 14 +- 2 files changed, 245 insertions(+), 241 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 305f5206ed9..62b66ddbf70 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -138,7 +138,7 @@ export namespace google { interface IFeature { /** Feature type */ - type?: (google.cloud.vision.v1.Feature.Type|null); + type?: (google.cloud.vision.v1.Feature.Type|keyof typeof google.cloud.vision.v1.Feature.Type|null); /** Feature maxResults */ maxResults?: (number|null); @@ -157,7 +157,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1.IFeature); /** Feature type. */ - public type: google.cloud.vision.v1.Feature.Type; + public type: (google.cloud.vision.v1.Feature.Type|keyof typeof google.cloud.vision.v1.Feature.Type); /** Feature maxResults. */ public maxResults: number; @@ -356,7 +356,7 @@ export namespace google { interface IImage { /** Image content */ - content?: (Uint8Array|null); + content?: (Uint8Array|string|null); /** Image source */ source?: (google.cloud.vision.v1.IImageSource|null); @@ -372,7 +372,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1.IImage); /** Image content. */ - public content: Uint8Array; + public content: (Uint8Array|string); /** Image source. */ public source?: (google.cloud.vision.v1.IImageSource|null); @@ -486,25 +486,25 @@ export namespace google { landmarkingConfidence?: (number|null); /** FaceAnnotation joyLikelihood */ - joyLikelihood?: (google.cloud.vision.v1.Likelihood|null); + joyLikelihood?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** FaceAnnotation sorrowLikelihood */ - sorrowLikelihood?: (google.cloud.vision.v1.Likelihood|null); + sorrowLikelihood?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** FaceAnnotation angerLikelihood */ - angerLikelihood?: (google.cloud.vision.v1.Likelihood|null); + angerLikelihood?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** FaceAnnotation surpriseLikelihood */ - surpriseLikelihood?: (google.cloud.vision.v1.Likelihood|null); + surpriseLikelihood?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** FaceAnnotation underExposedLikelihood */ - underExposedLikelihood?: (google.cloud.vision.v1.Likelihood|null); + underExposedLikelihood?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** FaceAnnotation blurredLikelihood */ - blurredLikelihood?: (google.cloud.vision.v1.Likelihood|null); + blurredLikelihood?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** FaceAnnotation headwearLikelihood */ - headwearLikelihood?: (google.cloud.vision.v1.Likelihood|null); + headwearLikelihood?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); } /** Represents a FaceAnnotation. */ @@ -541,25 +541,25 @@ export namespace google { public landmarkingConfidence: number; /** FaceAnnotation joyLikelihood. */ - public joyLikelihood: google.cloud.vision.v1.Likelihood; + public joyLikelihood: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** FaceAnnotation sorrowLikelihood. */ - public sorrowLikelihood: google.cloud.vision.v1.Likelihood; + public sorrowLikelihood: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** FaceAnnotation angerLikelihood. */ - public angerLikelihood: google.cloud.vision.v1.Likelihood; + public angerLikelihood: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** FaceAnnotation surpriseLikelihood. */ - public surpriseLikelihood: google.cloud.vision.v1.Likelihood; + public surpriseLikelihood: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** FaceAnnotation underExposedLikelihood. */ - public underExposedLikelihood: google.cloud.vision.v1.Likelihood; + public underExposedLikelihood: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** FaceAnnotation blurredLikelihood. */ - public blurredLikelihood: google.cloud.vision.v1.Likelihood; + public blurredLikelihood: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** FaceAnnotation headwearLikelihood. */ - public headwearLikelihood: google.cloud.vision.v1.Likelihood; + public headwearLikelihood: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** * Creates a new FaceAnnotation instance using the specified properties. @@ -638,7 +638,7 @@ export namespace google { interface ILandmark { /** Landmark type */ - type?: (google.cloud.vision.v1.FaceAnnotation.Landmark.Type|null); + type?: (google.cloud.vision.v1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1.FaceAnnotation.Landmark.Type|null); /** Landmark position */ position?: (google.cloud.vision.v1.IPosition|null); @@ -654,7 +654,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1.FaceAnnotation.ILandmark); /** Landmark type. */ - public type: google.cloud.vision.v1.FaceAnnotation.Landmark.Type; + public type: (google.cloud.vision.v1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1.FaceAnnotation.Landmark.Type); /** Landmark position. */ public position?: (google.cloud.vision.v1.IPosition|null); @@ -873,7 +873,7 @@ export namespace google { value?: (string|null); /** Property uint64Value */ - uint64Value?: (number|Long|null); + uint64Value?: (number|Long|string|null); } /** Represents a Property. */ @@ -892,7 +892,7 @@ export namespace google { public value: string; /** Property uint64Value. */ - public uint64Value: (number|Long); + public uint64Value: (number|Long|string); /** * Creates a new Property instance using the specified properties. @@ -1221,19 +1221,19 @@ export namespace google { interface ISafeSearchAnnotation { /** SafeSearchAnnotation adult */ - adult?: (google.cloud.vision.v1.Likelihood|null); + adult?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** SafeSearchAnnotation spoof */ - spoof?: (google.cloud.vision.v1.Likelihood|null); + spoof?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** SafeSearchAnnotation medical */ - medical?: (google.cloud.vision.v1.Likelihood|null); + medical?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** SafeSearchAnnotation violence */ - violence?: (google.cloud.vision.v1.Likelihood|null); + violence?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** SafeSearchAnnotation racy */ - racy?: (google.cloud.vision.v1.Likelihood|null); + racy?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); /** SafeSearchAnnotation adultConfidence */ adultConfidence?: (number|null); @@ -1264,19 +1264,19 @@ export namespace google { constructor(properties?: google.cloud.vision.v1.ISafeSearchAnnotation); /** SafeSearchAnnotation adult. */ - public adult: google.cloud.vision.v1.Likelihood; + public adult: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** SafeSearchAnnotation spoof. */ - public spoof: google.cloud.vision.v1.Likelihood; + public spoof: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** SafeSearchAnnotation medical. */ - public medical: google.cloud.vision.v1.Likelihood; + public medical: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** SafeSearchAnnotation violence. */ - public violence: google.cloud.vision.v1.Likelihood; + public violence: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** SafeSearchAnnotation racy. */ - public racy: google.cloud.vision.v1.Likelihood; + public racy: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); /** SafeSearchAnnotation adultConfidence. */ public adultConfidence: number; @@ -3768,7 +3768,7 @@ export namespace google { gcsSource?: (google.cloud.vision.v1.IGcsSource|null); /** InputConfig content */ - content?: (Uint8Array|null); + content?: (Uint8Array|string|null); /** InputConfig mimeType */ mimeType?: (string|null); @@ -3787,7 +3787,7 @@ export namespace google { public gcsSource?: (google.cloud.vision.v1.IGcsSource|null); /** InputConfig content. */ - public content: Uint8Array; + public content: (Uint8Array|string); /** InputConfig mimeType. */ public mimeType: string; @@ -4143,7 +4143,7 @@ export namespace google { interface IOperationMetadata { /** OperationMetadata state */ - state?: (google.cloud.vision.v1.OperationMetadata.State|null); + state?: (google.cloud.vision.v1.OperationMetadata.State|keyof typeof google.cloud.vision.v1.OperationMetadata.State|null); /** OperationMetadata createTime */ createTime?: (google.protobuf.ITimestamp|null); @@ -4162,7 +4162,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1.IOperationMetadata); /** OperationMetadata state. */ - public state: google.cloud.vision.v1.OperationMetadata.State; + public state: (google.cloud.vision.v1.OperationMetadata.State|keyof typeof google.cloud.vision.v1.OperationMetadata.State); /** OperationMetadata createTime. */ public createTime?: (google.protobuf.ITimestamp|null); @@ -8421,7 +8421,7 @@ export namespace google { interface IBatchOperationMetadata { /** BatchOperationMetadata state */ - state?: (google.cloud.vision.v1.BatchOperationMetadata.State|null); + state?: (google.cloud.vision.v1.BatchOperationMetadata.State|keyof typeof google.cloud.vision.v1.BatchOperationMetadata.State|null); /** BatchOperationMetadata submitTime */ submitTime?: (google.protobuf.ITimestamp|null); @@ -8440,7 +8440,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1.IBatchOperationMetadata); /** BatchOperationMetadata state. */ - public state: google.cloud.vision.v1.BatchOperationMetadata.State; + public state: (google.cloud.vision.v1.BatchOperationMetadata.State|keyof typeof google.cloud.vision.v1.BatchOperationMetadata.State); /** BatchOperationMetadata submitTime. */ public submitTime?: (google.protobuf.ITimestamp|null); @@ -8930,7 +8930,7 @@ export namespace google { interface IDetectedBreak { /** DetectedBreak type */ - type?: (google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType|null); + type?: (google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType|null); /** DetectedBreak isPrefix */ isPrefix?: (boolean|null); @@ -8946,7 +8946,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1.TextAnnotation.IDetectedBreak); /** DetectedBreak type. */ - public type: google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType; + public type: (google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType); /** DetectedBreak isPrefix. */ public isPrefix: boolean; @@ -9259,7 +9259,7 @@ export namespace google { paragraphs?: (google.cloud.vision.v1.IParagraph[]|null); /** Block blockType */ - blockType?: (google.cloud.vision.v1.Block.BlockType|null); + blockType?: (google.cloud.vision.v1.Block.BlockType|keyof typeof google.cloud.vision.v1.Block.BlockType|null); /** Block confidence */ confidence?: (number|null); @@ -9284,7 +9284,7 @@ export namespace google { public paragraphs: google.cloud.vision.v1.IParagraph[]; /** Block blockType. */ - public blockType: google.cloud.vision.v1.Block.BlockType; + public blockType: (google.cloud.vision.v1.Block.BlockType|keyof typeof google.cloud.vision.v1.Block.BlockType); /** Block confidence. */ public confidence: number; @@ -10281,7 +10281,7 @@ export namespace google { interface IFeature { /** Feature type */ - type?: (google.cloud.vision.v1p1beta1.Feature.Type|null); + type?: (google.cloud.vision.v1p1beta1.Feature.Type|keyof typeof google.cloud.vision.v1p1beta1.Feature.Type|null); /** Feature maxResults */ maxResults?: (number|null); @@ -10300,7 +10300,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p1beta1.IFeature); /** Feature type. */ - public type: google.cloud.vision.v1p1beta1.Feature.Type; + public type: (google.cloud.vision.v1p1beta1.Feature.Type|keyof typeof google.cloud.vision.v1p1beta1.Feature.Type); /** Feature maxResults. */ public maxResults: number; @@ -10497,7 +10497,7 @@ export namespace google { interface IImage { /** Image content */ - content?: (Uint8Array|null); + content?: (Uint8Array|string|null); /** Image source */ source?: (google.cloud.vision.v1p1beta1.IImageSource|null); @@ -10513,7 +10513,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p1beta1.IImage); /** Image content. */ - public content: Uint8Array; + public content: (Uint8Array|string); /** Image source. */ public source?: (google.cloud.vision.v1p1beta1.IImageSource|null); @@ -10617,25 +10617,25 @@ export namespace google { landmarkingConfidence?: (number|null); /** FaceAnnotation joyLikelihood */ - joyLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + joyLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** FaceAnnotation sorrowLikelihood */ - sorrowLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + sorrowLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** FaceAnnotation angerLikelihood */ - angerLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + angerLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** FaceAnnotation surpriseLikelihood */ - surpriseLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + surpriseLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** FaceAnnotation underExposedLikelihood */ - underExposedLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + underExposedLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** FaceAnnotation blurredLikelihood */ - blurredLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + blurredLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** FaceAnnotation headwearLikelihood */ - headwearLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|null); + headwearLikelihood?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); } /** Represents a FaceAnnotation. */ @@ -10672,25 +10672,25 @@ export namespace google { public landmarkingConfidence: number; /** FaceAnnotation joyLikelihood. */ - public joyLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + public joyLikelihood: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** FaceAnnotation sorrowLikelihood. */ - public sorrowLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + public sorrowLikelihood: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** FaceAnnotation angerLikelihood. */ - public angerLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + public angerLikelihood: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** FaceAnnotation surpriseLikelihood. */ - public surpriseLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + public surpriseLikelihood: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** FaceAnnotation underExposedLikelihood. */ - public underExposedLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + public underExposedLikelihood: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** FaceAnnotation blurredLikelihood. */ - public blurredLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + public blurredLikelihood: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** FaceAnnotation headwearLikelihood. */ - public headwearLikelihood: google.cloud.vision.v1p1beta1.Likelihood; + public headwearLikelihood: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** * Creates a new FaceAnnotation instance using the specified properties. @@ -10769,7 +10769,7 @@ export namespace google { interface ILandmark { /** Landmark type */ - type?: (google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type|null); + type?: (google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type|null); /** Landmark position */ position?: (google.cloud.vision.v1p1beta1.IPosition|null); @@ -10785,7 +10785,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark); /** Landmark type. */ - public type: google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type; + public type: (google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type); /** Landmark position. */ public position?: (google.cloud.vision.v1p1beta1.IPosition|null); @@ -11004,7 +11004,7 @@ export namespace google { value?: (string|null); /** Property uint64Value */ - uint64Value?: (number|Long|null); + uint64Value?: (number|Long|string|null); } /** Represents a Property. */ @@ -11023,7 +11023,7 @@ export namespace google { public value: string; /** Property uint64Value. */ - public uint64Value: (number|Long); + public uint64Value: (number|Long|string); /** * Creates a new Property instance using the specified properties. @@ -11238,19 +11238,19 @@ export namespace google { interface ISafeSearchAnnotation { /** SafeSearchAnnotation adult */ - adult?: (google.cloud.vision.v1p1beta1.Likelihood|null); + adult?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** SafeSearchAnnotation spoof */ - spoof?: (google.cloud.vision.v1p1beta1.Likelihood|null); + spoof?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** SafeSearchAnnotation medical */ - medical?: (google.cloud.vision.v1p1beta1.Likelihood|null); + medical?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** SafeSearchAnnotation violence */ - violence?: (google.cloud.vision.v1p1beta1.Likelihood|null); + violence?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); /** SafeSearchAnnotation racy */ - racy?: (google.cloud.vision.v1p1beta1.Likelihood|null); + racy?: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood|null); } /** Represents a SafeSearchAnnotation. */ @@ -11263,19 +11263,19 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p1beta1.ISafeSearchAnnotation); /** SafeSearchAnnotation adult. */ - public adult: google.cloud.vision.v1p1beta1.Likelihood; + public adult: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** SafeSearchAnnotation spoof. */ - public spoof: google.cloud.vision.v1p1beta1.Likelihood; + public spoof: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** SafeSearchAnnotation medical. */ - public medical: google.cloud.vision.v1p1beta1.Likelihood; + public medical: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** SafeSearchAnnotation violence. */ - public violence: google.cloud.vision.v1p1beta1.Likelihood; + public violence: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** SafeSearchAnnotation racy. */ - public racy: google.cloud.vision.v1p1beta1.Likelihood; + public racy: (google.cloud.vision.v1p1beta1.Likelihood|keyof typeof google.cloud.vision.v1p1beta1.Likelihood); /** * Creates a new SafeSearchAnnotation instance using the specified properties. @@ -13134,7 +13134,7 @@ export namespace google { interface IDetectedBreak { /** DetectedBreak type */ - type?: (google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType|null); + type?: (google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType|null); /** DetectedBreak isPrefix */ isPrefix?: (boolean|null); @@ -13150,7 +13150,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedBreak); /** DetectedBreak type. */ - public type: google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType; + public type: (google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType); /** DetectedBreak isPrefix. */ public isPrefix: boolean; @@ -13463,7 +13463,7 @@ export namespace google { paragraphs?: (google.cloud.vision.v1p1beta1.IParagraph[]|null); /** Block blockType */ - blockType?: (google.cloud.vision.v1p1beta1.Block.BlockType|null); + blockType?: (google.cloud.vision.v1p1beta1.Block.BlockType|keyof typeof google.cloud.vision.v1p1beta1.Block.BlockType|null); /** Block confidence */ confidence?: (number|null); @@ -13488,7 +13488,7 @@ export namespace google { public paragraphs: google.cloud.vision.v1p1beta1.IParagraph[]; /** Block blockType. */ - public blockType: google.cloud.vision.v1p1beta1.Block.BlockType; + public blockType: (google.cloud.vision.v1p1beta1.Block.BlockType|keyof typeof google.cloud.vision.v1p1beta1.Block.BlockType); /** Block confidence. */ public confidence: number; @@ -14506,7 +14506,7 @@ export namespace google { interface IFeature { /** Feature type */ - type?: (google.cloud.vision.v1p2beta1.Feature.Type|null); + type?: (google.cloud.vision.v1p2beta1.Feature.Type|keyof typeof google.cloud.vision.v1p2beta1.Feature.Type|null); /** Feature maxResults */ maxResults?: (number|null); @@ -14525,7 +14525,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p2beta1.IFeature); /** Feature type. */ - public type: google.cloud.vision.v1p2beta1.Feature.Type; + public type: (google.cloud.vision.v1p2beta1.Feature.Type|keyof typeof google.cloud.vision.v1p2beta1.Feature.Type); /** Feature maxResults. */ public maxResults: number; @@ -14722,7 +14722,7 @@ export namespace google { interface IImage { /** Image content */ - content?: (Uint8Array|null); + content?: (Uint8Array|string|null); /** Image source */ source?: (google.cloud.vision.v1p2beta1.IImageSource|null); @@ -14738,7 +14738,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p2beta1.IImage); /** Image content. */ - public content: Uint8Array; + public content: (Uint8Array|string); /** Image source. */ public source?: (google.cloud.vision.v1p2beta1.IImageSource|null); @@ -14842,25 +14842,25 @@ export namespace google { landmarkingConfidence?: (number|null); /** FaceAnnotation joyLikelihood */ - joyLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + joyLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** FaceAnnotation sorrowLikelihood */ - sorrowLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + sorrowLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** FaceAnnotation angerLikelihood */ - angerLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + angerLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** FaceAnnotation surpriseLikelihood */ - surpriseLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + surpriseLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** FaceAnnotation underExposedLikelihood */ - underExposedLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + underExposedLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** FaceAnnotation blurredLikelihood */ - blurredLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + blurredLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** FaceAnnotation headwearLikelihood */ - headwearLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|null); + headwearLikelihood?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); } /** Represents a FaceAnnotation. */ @@ -14897,25 +14897,25 @@ export namespace google { public landmarkingConfidence: number; /** FaceAnnotation joyLikelihood. */ - public joyLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + public joyLikelihood: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** FaceAnnotation sorrowLikelihood. */ - public sorrowLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + public sorrowLikelihood: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** FaceAnnotation angerLikelihood. */ - public angerLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + public angerLikelihood: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** FaceAnnotation surpriseLikelihood. */ - public surpriseLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + public surpriseLikelihood: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** FaceAnnotation underExposedLikelihood. */ - public underExposedLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + public underExposedLikelihood: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** FaceAnnotation blurredLikelihood. */ - public blurredLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + public blurredLikelihood: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** FaceAnnotation headwearLikelihood. */ - public headwearLikelihood: google.cloud.vision.v1p2beta1.Likelihood; + public headwearLikelihood: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** * Creates a new FaceAnnotation instance using the specified properties. @@ -14994,7 +14994,7 @@ export namespace google { interface ILandmark { /** Landmark type */ - type?: (google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type|null); + type?: (google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type|null); /** Landmark position */ position?: (google.cloud.vision.v1p2beta1.IPosition|null); @@ -15010,7 +15010,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark); /** Landmark type. */ - public type: google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type; + public type: (google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type); /** Landmark position. */ public position?: (google.cloud.vision.v1p2beta1.IPosition|null); @@ -15229,7 +15229,7 @@ export namespace google { value?: (string|null); /** Property uint64Value */ - uint64Value?: (number|Long|null); + uint64Value?: (number|Long|string|null); } /** Represents a Property. */ @@ -15248,7 +15248,7 @@ export namespace google { public value: string; /** Property uint64Value. */ - public uint64Value: (number|Long); + public uint64Value: (number|Long|string); /** * Creates a new Property instance using the specified properties. @@ -15463,19 +15463,19 @@ export namespace google { interface ISafeSearchAnnotation { /** SafeSearchAnnotation adult */ - adult?: (google.cloud.vision.v1p2beta1.Likelihood|null); + adult?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** SafeSearchAnnotation spoof */ - spoof?: (google.cloud.vision.v1p2beta1.Likelihood|null); + spoof?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** SafeSearchAnnotation medical */ - medical?: (google.cloud.vision.v1p2beta1.Likelihood|null); + medical?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** SafeSearchAnnotation violence */ - violence?: (google.cloud.vision.v1p2beta1.Likelihood|null); + violence?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); /** SafeSearchAnnotation racy */ - racy?: (google.cloud.vision.v1p2beta1.Likelihood|null); + racy?: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood|null); } /** Represents a SafeSearchAnnotation. */ @@ -15488,19 +15488,19 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p2beta1.ISafeSearchAnnotation); /** SafeSearchAnnotation adult. */ - public adult: google.cloud.vision.v1p2beta1.Likelihood; + public adult: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** SafeSearchAnnotation spoof. */ - public spoof: google.cloud.vision.v1p2beta1.Likelihood; + public spoof: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** SafeSearchAnnotation medical. */ - public medical: google.cloud.vision.v1p2beta1.Likelihood; + public medical: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** SafeSearchAnnotation violence. */ - public violence: google.cloud.vision.v1p2beta1.Likelihood; + public violence: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** SafeSearchAnnotation racy. */ - public racy: google.cloud.vision.v1p2beta1.Likelihood; + public racy: (google.cloud.vision.v1p2beta1.Likelihood|keyof typeof google.cloud.vision.v1p2beta1.Likelihood); /** * Creates a new SafeSearchAnnotation instance using the specified properties. @@ -17815,7 +17815,7 @@ export namespace google { interface IOperationMetadata { /** OperationMetadata state */ - state?: (google.cloud.vision.v1p2beta1.OperationMetadata.State|null); + state?: (google.cloud.vision.v1p2beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p2beta1.OperationMetadata.State|null); /** OperationMetadata createTime */ createTime?: (google.protobuf.ITimestamp|null); @@ -17834,7 +17834,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p2beta1.IOperationMetadata); /** OperationMetadata state. */ - public state: google.cloud.vision.v1p2beta1.OperationMetadata.State; + public state: (google.cloud.vision.v1p2beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p2beta1.OperationMetadata.State); /** OperationMetadata createTime. */ public createTime?: (google.protobuf.ITimestamp|null); @@ -18523,7 +18523,7 @@ export namespace google { interface IDetectedBreak { /** DetectedBreak type */ - type?: (google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType|null); + type?: (google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType|null); /** DetectedBreak isPrefix */ isPrefix?: (boolean|null); @@ -18539,7 +18539,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak); /** DetectedBreak type. */ - public type: google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType; + public type: (google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType); /** DetectedBreak isPrefix. */ public isPrefix: boolean; @@ -18852,7 +18852,7 @@ export namespace google { paragraphs?: (google.cloud.vision.v1p2beta1.IParagraph[]|null); /** Block blockType */ - blockType?: (google.cloud.vision.v1p2beta1.Block.BlockType|null); + blockType?: (google.cloud.vision.v1p2beta1.Block.BlockType|keyof typeof google.cloud.vision.v1p2beta1.Block.BlockType|null); /** Block confidence */ confidence?: (number|null); @@ -18877,7 +18877,7 @@ export namespace google { public paragraphs: google.cloud.vision.v1p2beta1.IParagraph[]; /** Block blockType. */ - public blockType: google.cloud.vision.v1p2beta1.Block.BlockType; + public blockType: (google.cloud.vision.v1p2beta1.Block.BlockType|keyof typeof google.cloud.vision.v1p2beta1.Block.BlockType); /** Block confidence. */ public confidence: number; @@ -19895,7 +19895,7 @@ export namespace google { interface IFeature { /** Feature type */ - type?: (google.cloud.vision.v1p3beta1.Feature.Type|null); + type?: (google.cloud.vision.v1p3beta1.Feature.Type|keyof typeof google.cloud.vision.v1p3beta1.Feature.Type|null); /** Feature maxResults */ maxResults?: (number|null); @@ -19914,7 +19914,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p3beta1.IFeature); /** Feature type. */ - public type: google.cloud.vision.v1p3beta1.Feature.Type; + public type: (google.cloud.vision.v1p3beta1.Feature.Type|keyof typeof google.cloud.vision.v1p3beta1.Feature.Type); /** Feature maxResults. */ public maxResults: number; @@ -20113,7 +20113,7 @@ export namespace google { interface IImage { /** Image content */ - content?: (Uint8Array|null); + content?: (Uint8Array|string|null); /** Image source */ source?: (google.cloud.vision.v1p3beta1.IImageSource|null); @@ -20129,7 +20129,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p3beta1.IImage); /** Image content. */ - public content: Uint8Array; + public content: (Uint8Array|string); /** Image source. */ public source?: (google.cloud.vision.v1p3beta1.IImageSource|null); @@ -20233,25 +20233,25 @@ export namespace google { landmarkingConfidence?: (number|null); /** FaceAnnotation joyLikelihood */ - joyLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + joyLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** FaceAnnotation sorrowLikelihood */ - sorrowLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + sorrowLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** FaceAnnotation angerLikelihood */ - angerLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + angerLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** FaceAnnotation surpriseLikelihood */ - surpriseLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + surpriseLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** FaceAnnotation underExposedLikelihood */ - underExposedLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + underExposedLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** FaceAnnotation blurredLikelihood */ - blurredLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + blurredLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** FaceAnnotation headwearLikelihood */ - headwearLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|null); + headwearLikelihood?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); } /** Represents a FaceAnnotation. */ @@ -20288,25 +20288,25 @@ export namespace google { public landmarkingConfidence: number; /** FaceAnnotation joyLikelihood. */ - public joyLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + public joyLikelihood: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** FaceAnnotation sorrowLikelihood. */ - public sorrowLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + public sorrowLikelihood: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** FaceAnnotation angerLikelihood. */ - public angerLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + public angerLikelihood: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** FaceAnnotation surpriseLikelihood. */ - public surpriseLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + public surpriseLikelihood: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** FaceAnnotation underExposedLikelihood. */ - public underExposedLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + public underExposedLikelihood: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** FaceAnnotation blurredLikelihood. */ - public blurredLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + public blurredLikelihood: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** FaceAnnotation headwearLikelihood. */ - public headwearLikelihood: google.cloud.vision.v1p3beta1.Likelihood; + public headwearLikelihood: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** * Creates a new FaceAnnotation instance using the specified properties. @@ -20385,7 +20385,7 @@ export namespace google { interface ILandmark { /** Landmark type */ - type?: (google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type|null); + type?: (google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type|null); /** Landmark position */ position?: (google.cloud.vision.v1p3beta1.IPosition|null); @@ -20401,7 +20401,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark); /** Landmark type. */ - public type: google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type; + public type: (google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type); /** Landmark position. */ public position?: (google.cloud.vision.v1p3beta1.IPosition|null); @@ -20620,7 +20620,7 @@ export namespace google { value?: (string|null); /** Property uint64Value */ - uint64Value?: (number|Long|null); + uint64Value?: (number|Long|string|null); } /** Represents a Property. */ @@ -20639,7 +20639,7 @@ export namespace google { public value: string; /** Property uint64Value. */ - public uint64Value: (number|Long); + public uint64Value: (number|Long|string); /** * Creates a new Property instance using the specified properties. @@ -20968,19 +20968,19 @@ export namespace google { interface ISafeSearchAnnotation { /** SafeSearchAnnotation adult */ - adult?: (google.cloud.vision.v1p3beta1.Likelihood|null); + adult?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** SafeSearchAnnotation spoof */ - spoof?: (google.cloud.vision.v1p3beta1.Likelihood|null); + spoof?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** SafeSearchAnnotation medical */ - medical?: (google.cloud.vision.v1p3beta1.Likelihood|null); + medical?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** SafeSearchAnnotation violence */ - violence?: (google.cloud.vision.v1p3beta1.Likelihood|null); + violence?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); /** SafeSearchAnnotation racy */ - racy?: (google.cloud.vision.v1p3beta1.Likelihood|null); + racy?: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood|null); } /** Represents a SafeSearchAnnotation. */ @@ -20993,19 +20993,19 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p3beta1.ISafeSearchAnnotation); /** SafeSearchAnnotation adult. */ - public adult: google.cloud.vision.v1p3beta1.Likelihood; + public adult: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** SafeSearchAnnotation spoof. */ - public spoof: google.cloud.vision.v1p3beta1.Likelihood; + public spoof: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** SafeSearchAnnotation medical. */ - public medical: google.cloud.vision.v1p3beta1.Likelihood; + public medical: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** SafeSearchAnnotation violence. */ - public violence: google.cloud.vision.v1p3beta1.Likelihood; + public violence: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** SafeSearchAnnotation racy. */ - public racy: google.cloud.vision.v1p3beta1.Likelihood; + public racy: (google.cloud.vision.v1p3beta1.Likelihood|keyof typeof google.cloud.vision.v1p3beta1.Likelihood); /** * Creates a new SafeSearchAnnotation instance using the specified properties. @@ -23348,7 +23348,7 @@ export namespace google { interface IOperationMetadata { /** OperationMetadata state */ - state?: (google.cloud.vision.v1p3beta1.OperationMetadata.State|null); + state?: (google.cloud.vision.v1p3beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p3beta1.OperationMetadata.State|null); /** OperationMetadata createTime */ createTime?: (google.protobuf.ITimestamp|null); @@ -23367,7 +23367,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p3beta1.IOperationMetadata); /** OperationMetadata state. */ - public state: google.cloud.vision.v1p3beta1.OperationMetadata.State; + public state: (google.cloud.vision.v1p3beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p3beta1.OperationMetadata.State); /** OperationMetadata createTime. */ public createTime?: (google.protobuf.ITimestamp|null); @@ -23945,7 +23945,7 @@ export namespace google { catalogName?: (string|null); /** ProductSearchParams category */ - category?: (google.cloud.vision.v1p3beta1.ProductSearchCategory|null); + category?: (google.cloud.vision.v1p3beta1.ProductSearchCategory|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchCategory|null); /** ProductSearchParams productCategory */ productCategory?: (string|null); @@ -23957,7 +23957,7 @@ export namespace google { boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); /** ProductSearchParams view */ - view?: (google.cloud.vision.v1p3beta1.ProductSearchResultsView|null); + view?: (google.cloud.vision.v1p3beta1.ProductSearchResultsView|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchResultsView|null); /** ProductSearchParams productSet */ productSet?: (string|null); @@ -23982,7 +23982,7 @@ export namespace google { public catalogName: string; /** ProductSearchParams category. */ - public category: google.cloud.vision.v1p3beta1.ProductSearchCategory; + public category: (google.cloud.vision.v1p3beta1.ProductSearchCategory|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchCategory); /** ProductSearchParams productCategory. */ public productCategory: string; @@ -23994,7 +23994,7 @@ export namespace google { public boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); /** ProductSearchParams view. */ - public view: google.cloud.vision.v1p3beta1.ProductSearchResultsView; + public view: (google.cloud.vision.v1p3beta1.ProductSearchResultsView|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchResultsView); /** ProductSearchParams productSet. */ public productSet: string; @@ -24080,7 +24080,7 @@ export namespace google { interface IProductSearchResults { /** ProductSearchResults category */ - category?: (google.cloud.vision.v1p3beta1.ProductSearchCategory|null); + category?: (google.cloud.vision.v1p3beta1.ProductSearchCategory|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchCategory|null); /** ProductSearchResults productCategory */ productCategory?: (string|null); @@ -24105,7 +24105,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p3beta1.IProductSearchResults); /** ProductSearchResults category. */ - public category: google.cloud.vision.v1p3beta1.ProductSearchCategory; + public category: (google.cloud.vision.v1p3beta1.ProductSearchCategory|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchCategory); /** ProductSearchResults productCategory. */ public productCategory: string; @@ -27642,7 +27642,7 @@ export namespace google { interface IBatchOperationMetadata { /** BatchOperationMetadata state */ - state?: (google.cloud.vision.v1p3beta1.BatchOperationMetadata.State|null); + state?: (google.cloud.vision.v1p3beta1.BatchOperationMetadata.State|keyof typeof google.cloud.vision.v1p3beta1.BatchOperationMetadata.State|null); /** BatchOperationMetadata submitTime */ submitTime?: (google.protobuf.ITimestamp|null); @@ -27661,7 +27661,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p3beta1.IBatchOperationMetadata); /** BatchOperationMetadata state. */ - public state: google.cloud.vision.v1p3beta1.BatchOperationMetadata.State; + public state: (google.cloud.vision.v1p3beta1.BatchOperationMetadata.State|keyof typeof google.cloud.vision.v1p3beta1.BatchOperationMetadata.State); /** BatchOperationMetadata submitTime. */ public submitTime?: (google.protobuf.ITimestamp|null); @@ -27950,7 +27950,7 @@ export namespace google { interface IDetectedBreak { /** DetectedBreak type */ - type?: (google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType|null); + type?: (google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType|null); /** DetectedBreak isPrefix */ isPrefix?: (boolean|null); @@ -27966,7 +27966,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p3beta1.TextAnnotation.IDetectedBreak); /** DetectedBreak type. */ - public type: google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType; + public type: (google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType); /** DetectedBreak isPrefix. */ public isPrefix: boolean; @@ -28279,7 +28279,7 @@ export namespace google { paragraphs?: (google.cloud.vision.v1p3beta1.IParagraph[]|null); /** Block blockType */ - blockType?: (google.cloud.vision.v1p3beta1.Block.BlockType|null); + blockType?: (google.cloud.vision.v1p3beta1.Block.BlockType|keyof typeof google.cloud.vision.v1p3beta1.Block.BlockType|null); /** Block confidence */ confidence?: (number|null); @@ -28304,7 +28304,7 @@ export namespace google { public paragraphs: google.cloud.vision.v1p3beta1.IParagraph[]; /** Block blockType. */ - public blockType: google.cloud.vision.v1p3beta1.Block.BlockType; + public blockType: (google.cloud.vision.v1p3beta1.Block.BlockType|keyof typeof google.cloud.vision.v1p3beta1.Block.BlockType); /** Block confidence. */ public confidence: number; @@ -29364,7 +29364,7 @@ export namespace google { interface IFeature { /** Feature type */ - type?: (google.cloud.vision.v1p4beta1.Feature.Type|null); + type?: (google.cloud.vision.v1p4beta1.Feature.Type|keyof typeof google.cloud.vision.v1p4beta1.Feature.Type|null); /** Feature maxResults */ maxResults?: (number|null); @@ -29383,7 +29383,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p4beta1.IFeature); /** Feature type. */ - public type: google.cloud.vision.v1p4beta1.Feature.Type; + public type: (google.cloud.vision.v1p4beta1.Feature.Type|keyof typeof google.cloud.vision.v1p4beta1.Feature.Type); /** Feature maxResults. */ public maxResults: number; @@ -29582,7 +29582,7 @@ export namespace google { interface IImage { /** Image content */ - content?: (Uint8Array|null); + content?: (Uint8Array|string|null); /** Image source */ source?: (google.cloud.vision.v1p4beta1.IImageSource|null); @@ -29598,7 +29598,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p4beta1.IImage); /** Image content. */ - public content: Uint8Array; + public content: (Uint8Array|string); /** Image source. */ public source?: (google.cloud.vision.v1p4beta1.IImageSource|null); @@ -29712,25 +29712,25 @@ export namespace google { landmarkingConfidence?: (number|null); /** FaceAnnotation joyLikelihood */ - joyLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + joyLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** FaceAnnotation sorrowLikelihood */ - sorrowLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + sorrowLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** FaceAnnotation angerLikelihood */ - angerLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + angerLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** FaceAnnotation surpriseLikelihood */ - surpriseLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + surpriseLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** FaceAnnotation underExposedLikelihood */ - underExposedLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + underExposedLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** FaceAnnotation blurredLikelihood */ - blurredLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + blurredLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** FaceAnnotation headwearLikelihood */ - headwearLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|null); + headwearLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** FaceAnnotation recognitionResult */ recognitionResult?: (google.cloud.vision.v1p4beta1.IFaceRecognitionResult[]|null); @@ -29770,25 +29770,25 @@ export namespace google { public landmarkingConfidence: number; /** FaceAnnotation joyLikelihood. */ - public joyLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + public joyLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** FaceAnnotation sorrowLikelihood. */ - public sorrowLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + public sorrowLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** FaceAnnotation angerLikelihood. */ - public angerLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + public angerLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** FaceAnnotation surpriseLikelihood. */ - public surpriseLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + public surpriseLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** FaceAnnotation underExposedLikelihood. */ - public underExposedLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + public underExposedLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** FaceAnnotation blurredLikelihood. */ - public blurredLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + public blurredLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** FaceAnnotation headwearLikelihood. */ - public headwearLikelihood: google.cloud.vision.v1p4beta1.Likelihood; + public headwearLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** FaceAnnotation recognitionResult. */ public recognitionResult: google.cloud.vision.v1p4beta1.IFaceRecognitionResult[]; @@ -29870,7 +29870,7 @@ export namespace google { interface ILandmark { /** Landmark type */ - type?: (google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|null); + type?: (google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|null); /** Landmark position */ position?: (google.cloud.vision.v1p4beta1.IPosition|null); @@ -29886,7 +29886,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark); /** Landmark type. */ - public type: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type; + public type: (google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type); /** Landmark position. */ public position?: (google.cloud.vision.v1p4beta1.IPosition|null); @@ -30105,7 +30105,7 @@ export namespace google { value?: (string|null); /** Property uint64Value */ - uint64Value?: (number|Long|null); + uint64Value?: (number|Long|string|null); } /** Represents a Property. */ @@ -30124,7 +30124,7 @@ export namespace google { public value: string; /** Property uint64Value. */ - public uint64Value: (number|Long); + public uint64Value: (number|Long|string); /** * Creates a new Property instance using the specified properties. @@ -30453,19 +30453,19 @@ export namespace google { interface ISafeSearchAnnotation { /** SafeSearchAnnotation adult */ - adult?: (google.cloud.vision.v1p4beta1.Likelihood|null); + adult?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** SafeSearchAnnotation spoof */ - spoof?: (google.cloud.vision.v1p4beta1.Likelihood|null); + spoof?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** SafeSearchAnnotation medical */ - medical?: (google.cloud.vision.v1p4beta1.Likelihood|null); + medical?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** SafeSearchAnnotation violence */ - violence?: (google.cloud.vision.v1p4beta1.Likelihood|null); + violence?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); /** SafeSearchAnnotation racy */ - racy?: (google.cloud.vision.v1p4beta1.Likelihood|null); + racy?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); } /** Represents a SafeSearchAnnotation. */ @@ -30478,19 +30478,19 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation); /** SafeSearchAnnotation adult. */ - public adult: google.cloud.vision.v1p4beta1.Likelihood; + public adult: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** SafeSearchAnnotation spoof. */ - public spoof: google.cloud.vision.v1p4beta1.Likelihood; + public spoof: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** SafeSearchAnnotation medical. */ - public medical: google.cloud.vision.v1p4beta1.Likelihood; + public medical: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** SafeSearchAnnotation violence. */ - public violence: google.cloud.vision.v1p4beta1.Likelihood; + public violence: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** SafeSearchAnnotation racy. */ - public racy: google.cloud.vision.v1p4beta1.Likelihood; + public racy: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** * Creates a new SafeSearchAnnotation instance using the specified properties. @@ -32946,7 +32946,7 @@ export namespace google { gcsSource?: (google.cloud.vision.v1p4beta1.IGcsSource|null); /** InputConfig content */ - content?: (Uint8Array|null); + content?: (Uint8Array|string|null); /** InputConfig mimeType */ mimeType?: (string|null); @@ -32965,7 +32965,7 @@ export namespace google { public gcsSource?: (google.cloud.vision.v1p4beta1.IGcsSource|null); /** InputConfig content. */ - public content: Uint8Array; + public content: (Uint8Array|string); /** InputConfig mimeType. */ public mimeType: string; @@ -33321,7 +33321,7 @@ export namespace google { interface IOperationMetadata { /** OperationMetadata state */ - state?: (google.cloud.vision.v1p4beta1.OperationMetadata.State|null); + state?: (google.cloud.vision.v1p4beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p4beta1.OperationMetadata.State|null); /** OperationMetadata createTime */ createTime?: (google.protobuf.ITimestamp|null); @@ -33340,7 +33340,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p4beta1.IOperationMetadata); /** OperationMetadata state. */ - public state: google.cloud.vision.v1p4beta1.OperationMetadata.State; + public state: (google.cloud.vision.v1p4beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p4beta1.OperationMetadata.State); /** OperationMetadata createTime. */ public createTime?: (google.protobuf.ITimestamp|null); @@ -37887,7 +37887,7 @@ export namespace google { interface IBatchOperationMetadata { /** BatchOperationMetadata state */ - state?: (google.cloud.vision.v1p4beta1.BatchOperationMetadata.State|null); + state?: (google.cloud.vision.v1p4beta1.BatchOperationMetadata.State|keyof typeof google.cloud.vision.v1p4beta1.BatchOperationMetadata.State|null); /** BatchOperationMetadata submitTime */ submitTime?: (google.protobuf.ITimestamp|null); @@ -37906,7 +37906,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p4beta1.IBatchOperationMetadata); /** BatchOperationMetadata state. */ - public state: google.cloud.vision.v1p4beta1.BatchOperationMetadata.State; + public state: (google.cloud.vision.v1p4beta1.BatchOperationMetadata.State|keyof typeof google.cloud.vision.v1p4beta1.BatchOperationMetadata.State); /** BatchOperationMetadata submitTime. */ public submitTime?: (google.protobuf.ITimestamp|null); @@ -38396,7 +38396,7 @@ export namespace google { interface IDetectedBreak { /** DetectedBreak type */ - type?: (google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType|null); + type?: (google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType|null); /** DetectedBreak isPrefix */ isPrefix?: (boolean|null); @@ -38412,7 +38412,7 @@ export namespace google { constructor(properties?: google.cloud.vision.v1p4beta1.TextAnnotation.IDetectedBreak); /** DetectedBreak type. */ - public type: google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType; + public type: (google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType|keyof typeof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType); /** DetectedBreak isPrefix. */ public isPrefix: boolean; @@ -38725,7 +38725,7 @@ export namespace google { paragraphs?: (google.cloud.vision.v1p4beta1.IParagraph[]|null); /** Block blockType */ - blockType?: (google.cloud.vision.v1p4beta1.Block.BlockType|null); + blockType?: (google.cloud.vision.v1p4beta1.Block.BlockType|keyof typeof google.cloud.vision.v1p4beta1.Block.BlockType|null); /** Block confidence */ confidence?: (number|null); @@ -38750,7 +38750,7 @@ export namespace google { public paragraphs: google.cloud.vision.v1p4beta1.IParagraph[]; /** Block blockType. */ - public blockType: google.cloud.vision.v1p4beta1.Block.BlockType; + public blockType: (google.cloud.vision.v1p4beta1.Block.BlockType|keyof typeof google.cloud.vision.v1p4beta1.Block.BlockType); /** Block confidence. */ public confidence: number; @@ -40062,7 +40062,7 @@ export namespace google { nameField?: (string|null); /** ResourceDescriptor history */ - history?: (google.api.ResourceDescriptor.History|null); + history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null); /** ResourceDescriptor plural */ plural?: (string|null); @@ -40090,7 +40090,7 @@ export namespace google { public nameField: string; /** ResourceDescriptor history. */ - public history: google.api.ResourceDescriptor.History; + public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History); /** ResourceDescriptor plural. */ public plural: string; @@ -40970,10 +40970,10 @@ export namespace google { number?: (number|null); /** FieldDescriptorProto label */ - label?: (google.protobuf.FieldDescriptorProto.Label|null); + label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null); /** FieldDescriptorProto type */ - type?: (google.protobuf.FieldDescriptorProto.Type|null); + type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null); /** FieldDescriptorProto typeName */ typeName?: (string|null); @@ -41010,10 +41010,10 @@ export namespace google { public number: number; /** FieldDescriptorProto label. */ - public label: google.protobuf.FieldDescriptorProto.Label; + public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label); /** FieldDescriptorProto type. */ - public type: google.protobuf.FieldDescriptorProto.Type; + public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type); /** FieldDescriptorProto typeName. */ public typeName: string; @@ -41788,7 +41788,7 @@ export namespace google { javaStringCheckUtf8?: (boolean|null); /** FileOptions optimizeFor */ - optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|null); + optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null); /** FileOptions goPackage */ goPackage?: (string|null); @@ -41864,7 +41864,7 @@ export namespace google { public javaStringCheckUtf8: boolean; /** FileOptions optimizeFor. */ - public optimizeFor: google.protobuf.FileOptions.OptimizeMode; + public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode); /** FileOptions goPackage. */ public goPackage: string; @@ -42113,13 +42113,13 @@ export namespace google { interface IFieldOptions { /** FieldOptions ctype */ - ctype?: (google.protobuf.FieldOptions.CType|null); + ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null); /** FieldOptions packed */ packed?: (boolean|null); /** FieldOptions jstype */ - jstype?: (google.protobuf.FieldOptions.JSType|null); + jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null); /** FieldOptions lazy */ lazy?: (boolean|null); @@ -42150,13 +42150,13 @@ export namespace google { constructor(properties?: google.protobuf.IFieldOptions); /** FieldOptions ctype. */ - public ctype: google.protobuf.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; + public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType); /** FieldOptions lazy. */ public lazy: boolean; @@ -42655,7 +42655,7 @@ export namespace google { deprecated?: (boolean|null); /** MethodOptions idempotencyLevel */ - idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|null); + idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null); /** MethodOptions uninterpretedOption */ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); @@ -42683,7 +42683,7 @@ export namespace google { public deprecated: boolean; /** MethodOptions idempotencyLevel. */ - public idempotencyLevel: google.protobuf.MethodOptions.IdempotencyLevel; + public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel); /** MethodOptions uninterpretedOption. */ public uninterpretedOption: google.protobuf.IUninterpretedOption[]; @@ -42779,16 +42779,16 @@ export namespace google { identifierValue?: (string|null); /** UninterpretedOption positiveIntValue */ - positiveIntValue?: (number|Long|null); + positiveIntValue?: (number|Long|string|null); /** UninterpretedOption negativeIntValue */ - negativeIntValue?: (number|Long|null); + negativeIntValue?: (number|Long|string|null); /** UninterpretedOption doubleValue */ doubleValue?: (number|null); /** UninterpretedOption stringValue */ - stringValue?: (Uint8Array|null); + stringValue?: (Uint8Array|string|null); /** UninterpretedOption aggregateValue */ aggregateValue?: (string|null); @@ -42810,16 +42810,16 @@ export namespace google { public identifierValue: string; /** UninterpretedOption positiveIntValue. */ - public positiveIntValue: (number|Long); + public positiveIntValue: (number|Long|string); /** UninterpretedOption negativeIntValue. */ - public negativeIntValue: (number|Long); + public negativeIntValue: (number|Long|string); /** UninterpretedOption doubleValue. */ public doubleValue: number; /** UninterpretedOption stringValue. */ - public stringValue: Uint8Array; + public stringValue: (Uint8Array|string); /** UninterpretedOption aggregateValue. */ public aggregateValue: string; @@ -43409,7 +43409,7 @@ export namespace google { type_url?: (string|null); /** Any value */ - value?: (Uint8Array|null); + value?: (Uint8Array|string|null); } /** Represents an Any. */ @@ -43425,7 +43425,7 @@ export namespace google { public type_url: string; /** Any value. */ - public value: Uint8Array; + public value: (Uint8Array|string); /** * Creates a new Any instance using the specified properties. @@ -43502,7 +43502,7 @@ export namespace google { interface IDuration { /** Duration seconds */ - seconds?: (number|Long|null); + seconds?: (number|Long|string|null); /** Duration nanos */ nanos?: (number|null); @@ -43518,7 +43518,7 @@ export namespace google { constructor(properties?: google.protobuf.IDuration); /** Duration seconds. */ - public seconds: (number|Long); + public seconds: (number|Long|string); /** Duration nanos. */ public nanos: number; @@ -43772,7 +43772,7 @@ export namespace google { interface ITimestamp { /** Timestamp seconds */ - seconds?: (number|Long|null); + seconds?: (number|Long|string|null); /** Timestamp nanos */ nanos?: (number|null); @@ -43788,7 +43788,7 @@ export namespace google { constructor(properties?: google.protobuf.ITimestamp); /** Timestamp seconds. */ - public seconds: (number|Long); + public seconds: (number|Long|string); /** Timestamp nanos. */ public nanos: number; @@ -44048,7 +44048,7 @@ export namespace google { interface IInt64Value { /** Int64Value value */ - value?: (number|Long|null); + value?: (number|Long|string|null); } /** Represents an Int64Value. */ @@ -44061,7 +44061,7 @@ export namespace google { constructor(properties?: google.protobuf.IInt64Value); /** Int64Value value. */ - public value: (number|Long); + public value: (number|Long|string); /** * Creates a new Int64Value instance using the specified properties. @@ -44138,7 +44138,7 @@ export namespace google { interface IUInt64Value { /** UInt64Value value */ - value?: (number|Long|null); + value?: (number|Long|string|null); } /** Represents a UInt64Value. */ @@ -44151,7 +44151,7 @@ export namespace google { constructor(properties?: google.protobuf.IUInt64Value); /** UInt64Value value. */ - public value: (number|Long); + public value: (number|Long|string); /** * Creates a new UInt64Value instance using the specified properties. @@ -44588,7 +44588,7 @@ export namespace google { interface IBytesValue { /** BytesValue value */ - value?: (Uint8Array|null); + value?: (Uint8Array|string|null); } /** Represents a BytesValue. */ @@ -44601,7 +44601,7 @@ export namespace google { constructor(properties?: google.protobuf.IBytesValue); /** BytesValue value. */ - public value: Uint8Array; + public value: (Uint8Array|string); /** * Creates a new BytesValue instance using the specified properties. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 236834262a9..642e82dffa8 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,20 @@ { - "updateTime": "2020-01-24T12:42:56.812120Z", + "updateTime": "2020-01-28T12:42:19.618670Z", "sources": [ { "generator": { "name": "artman", - "version": "0.44.1", - "dockerImage": "googleapis/artman@sha256:5599b61e56a372d21b671969ee915fbca0f6c3a0daaeb898d01f8f685f1bbc8b" + "version": "0.44.3", + "dockerImage": "googleapis/artman@sha256:62b8b29acaae54b06a4183aa772e65b106e92d4bc466eb4db07953ab78bdb90c" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "e26cab8afd19d396b929039dac5d874cf0b5336c", - "internalRef": "291240093" + "sha": "8e981acfd9b97ea2f312f11bbaa7b6c16e412dea", + "internalRef": "291821782", + "log": "8e981acfd9b97ea2f312f11bbaa7b6c16e412dea\nBeta launch for PersonDetection and FaceDetection features.\n\nPiperOrigin-RevId: 291821782\n\n994e067fae3b21e195f7da932b08fff806d70b5d\nasset: add annotations to v1p2beta1\n\nPiperOrigin-RevId: 291815259\n\n244e1d2c89346ca2e0701b39e65552330d68545a\nAdd Playable Locations service\n\nPiperOrigin-RevId: 291806349\n\n909f8f67963daf45dd88d020877fb9029b76788d\nasset: add annotations to v1beta2\n\nPiperOrigin-RevId: 291805301\n\n3c39a1d6e23c1ef63c7fba4019c25e76c40dfe19\nKMS: add file-level message for CryptoKeyPath, it is defined in gapic yaml but not\nin proto files.\n\nPiperOrigin-RevId: 291420695\n\nc6f3f350b8387f8d1b85ed4506f30187ebaaddc3\ncontaineranalysis: update v1beta1 and bazel build with annotations\n\nPiperOrigin-RevId: 291401900\n\n92887d74b44e4e636252b7b8477d0d2570cd82db\nfix: fix the location of grpc config file.\n\nPiperOrigin-RevId: 291396015\n\n" } }, { @@ -806,6 +807,9 @@ { "path": "src/v1p4beta1/product_search_proto_list.json" }, + { + "path": "synth.metadata" + }, { "path": "synth.py" }, From 2c646b8c699dfb2cdd1f2b3da65098e0cd2412b1 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 31 Jan 2020 17:22:54 -0800 Subject: [PATCH 372/588] chore: skip img.shields.io in docs test --- packages/google-cloud-vision/linkinator.config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/linkinator.config.json b/packages/google-cloud-vision/linkinator.config.json index cad97afdc56..df783331349 100644 --- a/packages/google-cloud-vision/linkinator.config.json +++ b/packages/google-cloud-vision/linkinator.config.json @@ -3,6 +3,7 @@ "skip": [ "https://codecov.io/gh/googleapis/", "www.googleapis.com", - "setEndpoint.js" + "setEndpoint.js", + "img.shields.io" ] } From 62b6ae343cc69cac5179d85686ffccba19ba7828 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 4 Feb 2020 18:43:33 -0800 Subject: [PATCH 373/588] test: modernize mocha config (#522) --- packages/google-cloud-vision/.mocharc.json | 5 +++++ packages/google-cloud-vision/package.json | 6 +----- packages/google-cloud-vision/test/mocha.opts | 3 --- 3 files changed, 6 insertions(+), 8 deletions(-) create mode 100644 packages/google-cloud-vision/.mocharc.json delete mode 100644 packages/google-cloud-vision/test/mocha.opts diff --git a/packages/google-cloud-vision/.mocharc.json b/packages/google-cloud-vision/.mocharc.json new file mode 100644 index 00000000000..670c5e2c24b --- /dev/null +++ b/packages/google-cloud-vision/.mocharc.json @@ -0,0 +1,5 @@ +{ + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000 +} diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6e87d7a4d1e..f0f47b59bbd 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -11,9 +11,7 @@ "main": "src/index.js", "files": [ "protos", - "src", - "AUTHORS", - "LICENSE" + "src" ], "keywords": [ "google apis client", @@ -51,14 +49,12 @@ "eslint-config-prettier": "^6.0.0", "eslint-plugin-node": "^11.0.0", "eslint-plugin-prettier": "^3.0.0", - "intelli-espower-loader": "^1.0.1", "jsdoc": "^3.6.2", "jsdoc-fresh": "^1.0.1", "jsdoc-region-tag": "^1.0.2", "linkinator": "^1.5.0", "mocha": "^7.0.0", "nyc": "^14.0.0", - "power-assert": "^1.6.0", "prettier": "^1.13.6", "sinon": "^8.0.0", "uuid": "^3.3.0" diff --git a/packages/google-cloud-vision/test/mocha.opts b/packages/google-cloud-vision/test/mocha.opts deleted file mode 100644 index 8751e7bae37..00000000000 --- a/packages/google-cloud-vision/test/mocha.opts +++ /dev/null @@ -1,3 +0,0 @@ ---require intelli-espower-loader ---timeout 10000 ---throw-deprecation From 76542f3d9163018ad176568d6c8f2ef8ed0a07fb Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 7 Feb 2020 10:32:26 -0800 Subject: [PATCH 374/588] docs: updated auto-generated docs; proto annotations added --- packages/google-cloud-vision/README.md | 1 + .../vision/v1p1beta1/image_annotator.proto | 15 +- .../vision/v1p2beta1/image_annotator.proto | 30 +- .../vision/v1p3beta1/image_annotator.proto | 23 +- .../vision/v1p3beta1/product_search.proto | 8 +- .../v1p3beta1/product_search_service.proto | 283 ++++-- .../vision/v1p4beta1/image_annotator.proto | 4 +- .../v1p4beta1/product_search_service.proto | 2 +- .../google-cloud-vision/protos/protos.json | 296 +++++-- .../google-cloud-vision/samples/README.md | 18 + .../vision/v1p1beta1/doc_image_annotator.js | 2 +- .../src/v1p1beta1/image_annotator_client.js | 2 +- .../vision/v1p2beta1/doc_image_annotator.js | 4 +- .../src/v1p2beta1/image_annotator_client.js | 4 +- .../vision/v1p3beta1/doc_image_annotator.js | 2 +- .../v1p3beta1/doc_product_search_service.js | 70 +- .../src/v1p3beta1/image_annotator_client.js | 2 +- .../src/v1p3beta1/product_search_client.js | 70 +- .../vision/v1p4beta1/doc_image_annotator.js | 2 +- .../v1p4beta1/doc_product_search_service.js | 2 +- .../src/v1p4beta1/image_annotator_client.js | 2 +- .../src/v1p4beta1/product_search_client.js | 2 +- packages/google-cloud-vision/synth.metadata | 802 +----------------- 23 files changed, 609 insertions(+), 1037 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 5bcae042a2b..f269e9f1a4e 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -90,6 +90,7 @@ has instructions for running the samples. | Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | | Set Endpoint | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) | | Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | +| Vision-face-detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/vision-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/vision-face-detection.js,samples/README.md) | diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto index 4869a331173..e9665c20cb4 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,12 +11,15 @@ // 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.cloud.vision.v1p1beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/cloud/vision/v1p1beta1/geometry.proto"; import "google/cloud/vision/v1p1beta1/text_annotation.proto"; import "google/cloud/vision/v1p1beta1/web_detection.proto"; @@ -34,6 +37,11 @@ option java_package = "com.google.cloud.vision.v1p1beta1"; // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. service ImageAnnotator { + option (google.api.default_host) = "vision.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-vision"; + // Run image detection and annotation for a batch of images. rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { @@ -41,6 +49,7 @@ service ImageAnnotator { post: "/v1p1beta1/images:annotate" body: "*" }; + option (google.api.method_signature) = "requests"; } } @@ -559,8 +568,8 @@ message AnnotateImageResponse { // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { - // Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1; + // Required. Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; } // Response to a batch image annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index c5fce50f9ba..8b0756d2af3 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,12 +11,15 @@ // 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.cloud.vision.v1p2beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/cloud/vision/v1p2beta1/geometry.proto"; import "google/cloud/vision/v1p2beta1/text_annotation.proto"; import "google/cloud/vision/v1p2beta1/web_detection.proto"; @@ -36,13 +39,18 @@ option java_package = "com.google.cloud.vision.v1p2beta1"; // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. service ImageAnnotator { + option (google.api.default_host) = "vision.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-vision"; + // Run image detection and annotation for a batch of images. - rpc BatchAnnotateImages(BatchAnnotateImagesRequest) - returns (BatchAnnotateImagesResponse) { + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1p2beta1/images:annotate" body: "*" }; + option (google.api.method_signature) = "requests"; } // Run async image detection and annotation for a list of generic files (e.g. @@ -51,12 +59,16 @@ service ImageAnnotator { // `google.longrunning.Operations` interface. // `Operation.metadata` contains `OperationMetadata` (metadata). // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) - returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1p2beta1/files:asyncBatchAnnotate" body: "*" }; + option (google.api.method_signature) = "requests"; + option (google.longrunning.operation_info) = { + response_type: "AsyncBatchAnnotateFilesResponse" + metadata_type: "OperationMetadata" + }; } } @@ -612,8 +624,8 @@ message AnnotateFileResponse { // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { - // Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1; + // Required. Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; } // Response to a batch image annotation request. @@ -646,8 +658,8 @@ message AsyncAnnotateFileResponse { // Multiple async file annotation requests are batched into a single service // call. message AsyncBatchAnnotateFilesRequest { - // Individual async file annotation requests for this batch. - repeated AsyncAnnotateFileRequest requests = 1; + // Required. Individual async file annotation requests for this batch. + repeated AsyncAnnotateFileRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; } // Response to an async batch file annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto index 2ac3ddb8b21..b1c5ee41e96 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,12 +11,15 @@ // 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.cloud.vision.v1p3beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/cloud/vision/v1p3beta1/geometry.proto"; import "google/cloud/vision/v1p3beta1/product_search.proto"; import "google/cloud/vision/v1p3beta1/text_annotation.proto"; @@ -37,13 +40,18 @@ option java_package = "com.google.cloud.vision.v1p3beta1"; // images, such as face, landmark, logo, label, and text detection. The // ImageAnnotator service returns detected entities from the images. service ImageAnnotator { + option (google.api.default_host) = "vision.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-vision"; + // Run image detection and annotation for a batch of images. - rpc BatchAnnotateImages(BatchAnnotateImagesRequest) - returns (BatchAnnotateImagesResponse) { + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1p3beta1/images:annotate" body: "*" }; + option (google.api.method_signature) = "requests"; } // Run asynchronous image detection and annotation for a list of generic @@ -58,6 +66,11 @@ service ImageAnnotator { post: "/v1p3beta1/files:asyncBatchAnnotate" body: "*" }; + option (google.api.method_signature) = "requests"; + option (google.longrunning.operation_info) = { + response_type: "AsyncBatchAnnotateFilesResponse" + metadata_type: "OperationMetadata" + }; } } @@ -684,8 +697,8 @@ message AsyncAnnotateFileResponse { // Multiple async file annotation requests are batched into a single service // call. message AsyncBatchAnnotateFilesRequest { - // Individual async file annotation requests for this batch. - repeated AsyncAnnotateFileRequest requests = 1; + // Required. Individual async file annotation requests for this batch. + repeated AsyncAnnotateFileRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; } // Response to an async batch file annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto index 6a30c08759d..6dde477c313 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,12 +11,14 @@ // 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.cloud.vision.v1p3beta1; import "google/api/annotations.proto"; +import "google/api/resource.proto"; import "google/cloud/vision/v1p3beta1/geometry.proto"; import "google/cloud/vision/v1p3beta1/product_search_service.proto"; import "google/protobuf/timestamp.proto"; @@ -64,7 +66,9 @@ message ProductSearchParams { // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. - string product_set = 6; + string product_set = 6 [(google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + }]; // The list of product categories to search in. Currently, we only consider // the first category, and either "homegoods" or "apparel" should be diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto index 23919ee7e84..daf1d0ddc5e 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search_service.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// Copyright 2019 Google LLC. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,12 +11,16 @@ // 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.cloud.vision.v1p3beta1; import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/cloud/vision/v1p3beta1/geometry.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/empty.proto"; @@ -33,22 +37,23 @@ option java_package = "com.google.cloud.vision.v1p3beta1"; // Manages Products and ProductSets of reference images for use in product // search. It uses the following resource model: // -// - The API has a collection of -// [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] resources, named +// - The API has a collection of [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] resources, named // `projects/*/locations/*/productSets/*`, which acts as a way to put different // products into groups to limit identification. // // In parallel, // -// - The API has a collection of -// [Product][google.cloud.vision.v1p3beta1.Product] resources, named +// - The API has a collection of [Product][google.cloud.vision.v1p3beta1.Product] resources, named // `projects/*/locations/*/products/*` // -// - Each [Product][google.cloud.vision.v1p3beta1.Product] has a collection of -// [ReferenceImage][google.cloud.vision.v1p3beta1.ReferenceImage] resources, -// named +// - Each [Product][google.cloud.vision.v1p3beta1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1p3beta1.ReferenceImage] resources, named // `projects/*/locations/*/products/*/referenceImages/*` service ProductSearch { + option (google.api.default_host) = "vision.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-vision"; + // Creates and returns a new ProductSet resource. // // Possible errors: @@ -60,6 +65,7 @@ service ProductSearch { post: "/v1p3beta1/{parent=projects/*/locations/*}/productSets" body: "product_set" }; + option (google.api.method_signature) = "parent,product_set,product_set_id"; } // Lists ProductSets in an unspecified order. @@ -68,11 +74,11 @@ service ProductSearch { // // * Returns INVALID_ARGUMENT if page_size is greater than 100, or less // than 1. - rpc ListProductSets(ListProductSetsRequest) - returns (ListProductSetsResponse) { + rpc ListProductSets(ListProductSetsRequest) returns (ListProductSetsResponse) { option (google.api.http) = { get: "/v1p3beta1/{parent=projects/*/locations/*}/productSets" }; + option (google.api.method_signature) = "parent"; } // Gets information associated with a ProductSet. @@ -84,6 +90,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" }; + option (google.api.method_signature) = "name"; } // Makes changes to a ProductSet resource. @@ -99,6 +106,7 @@ service ProductSearch { patch: "/v1p3beta1/{product_set.name=projects/*/locations/*/productSets/*}" body: "product_set" }; + option (google.api.method_signature) = "product_set,update_mask"; } // Permanently deletes a ProductSet. All Products and ReferenceImages in the @@ -114,6 +122,7 @@ service ProductSearch { option (google.api.http) = { delete: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" }; + option (google.api.method_signature) = "name"; } // Creates and returns a new product resource. @@ -129,6 +138,7 @@ service ProductSearch { post: "/v1p3beta1/{parent=projects/*/locations/*}/products" body: "product" }; + option (google.api.method_signature) = "parent,product,product_id"; } // Lists products in an unspecified order. @@ -140,6 +150,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p3beta1/{parent=projects/*/locations/*}/products" }; + option (google.api.method_signature) = "parent"; } // Gets information associated with a Product. @@ -151,6 +162,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p3beta1/{name=projects/*/locations/*/products/*}" }; + option (google.api.method_signature) = "name"; } // Makes changes to a Product resource. @@ -172,6 +184,7 @@ service ProductSearch { patch: "/v1p3beta1/{product.name=projects/*/locations/*/products/*}" body: "product" }; + option (google.api.method_signature) = "product,update_mask"; } // Permanently deletes a product and its reference images. @@ -187,6 +200,7 @@ service ProductSearch { option (google.api.http) = { delete: "/v1p3beta1/{name=projects/*/locations/*/products/*}" }; + option (google.api.method_signature) = "name"; } // Creates and returns a new ReferenceImage resource. @@ -214,6 +228,7 @@ service ProductSearch { post: "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages" body: "reference_image" }; + option (google.api.method_signature) = "parent,reference_image,reference_image_id"; } // Permanently deletes a reference image. @@ -232,6 +247,7 @@ service ProductSearch { option (google.api.http) = { delete: "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" }; + option (google.api.method_signature) = "name"; } // Lists reference images. @@ -246,6 +262,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages" }; + option (google.api.method_signature) = "parent"; } // Gets information associated with a ReferenceImage. @@ -257,6 +274,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" }; + option (google.api.method_signature) = "name"; } // Adds a Product to the specified ProductSet. If the Product is already @@ -273,6 +291,7 @@ service ProductSearch { post: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:addProduct" body: "*" }; + option (google.api.method_signature) = "name,product"; } // Removes a Product from the specified ProductSet. @@ -286,6 +305,7 @@ service ProductSearch { post: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:removeProduct" body: "*" }; + option (google.api.method_signature) = "name,product"; } // Lists the Products in a ProductSet, in an unspecified order. If the @@ -300,6 +320,7 @@ service ProductSearch { option (google.api.http) = { get: "/v1p3beta1/{name=projects/*/locations/*/productSets/*}/products" }; + option (google.api.method_signature) = "name"; } // Asynchronous API that imports a list of reference images to specified @@ -319,11 +340,21 @@ service ProductSearch { post: "/v1p3beta1/{parent=projects/*/locations/*}/productSets:import" body: "*" }; + option (google.api.method_signature) = "parent,input_config"; + option (google.longrunning.operation_info) = { + response_type: "ImportProductSetsResponse" + metadata_type: "BatchOperationMetadata" + }; } } // A Product contains ReferenceImages. message Product { + option (google.api.resource) = { + type: "vision.googleapis.com/Product" + pattern: "projects/{project}/locations/{location}/products/{product}" + }; + // A product label represented as a key-value pair. message KeyValue { // The key of the label attached to the product. Cannot be empty and cannot @@ -351,11 +382,11 @@ message Product { // characters long. string description = 3; - // The category for the product identified by the reference image. This should - // be either "homegoods" or "apparel". - // - // This field is immutable. - string product_category = 4; + // Immutable. The category for the product identified by the reference image. This should + // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories + // "homegoods", "apparel", and "toys" are still supported, but these should + // not be used for new products. + string product_category = 4 [(google.api.field_behavior) = IMMUTABLE]; // Key-value pairs that can be attached to a product. At query time, // constraints can be specified based on the product_labels. @@ -373,6 +404,11 @@ message Product { // million reference images. If the limit is exceeded, periodic indexing will // fail. message ProductSet { + option (google.api.resource) = { + type: "vision.googleapis.com/ProductSet" + pattern: "projects/{project}/locations/{location}/productSets/{product_set}" + }; + // The resource name of the ProductSet. // // Format is: @@ -390,18 +426,23 @@ message ProductSet { // never been indexed, this field is 0. // // This field is ignored when creating a ProductSet. - google.protobuf.Timestamp index_time = 3; + google.protobuf.Timestamp index_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. If there was an error with indexing the product set, the field // is populated. // // This field is ignored when creating a ProductSet. - google.rpc.Status index_error = 4; + google.rpc.Status index_error = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A `ReferenceImage` represents a product image and its associated metadata, // such as bounding boxes. message ReferenceImage { + option (google.api.resource) = { + type: "vision.googleapis.com/ReferenceImage" + pattern: "projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}" + }; + // The resource name of the reference image. // // Format is: @@ -411,34 +452,37 @@ message ReferenceImage { // This field is ignored when creating a reference image. string name = 1; - // The Google Cloud Storage URI of the reference image. + // Required. The Google Cloud Storage URI of the reference image. // // The URI must start with `gs://`. - // - // Required. - string uri = 2; + string uri = 2 [(google.api.field_behavior) = REQUIRED]; - // Bounding polygons around the areas of interest in the reference image. - // Optional. If this field is empty, the system will try to detect regions of + // Optional. Bounding polygons around the areas of interest in the reference image. + // If this field is empty, the system will try to detect regions of // interest. At most 10 bounding polygons will be used. // // The provided shape is converted into a non-rotated rectangle. Once // converted, the small edge of the rectangle must be greater than or equal // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 // is not). - repeated BoundingPoly bounding_polys = 3; + repeated BoundingPoly bounding_polys = 3 [(google.api.field_behavior) = OPTIONAL]; } // Request message for the `CreateProduct` method. message CreateProductRequest { - // The project in which the Product should be created. + // Required. The project in which the Product should be created. // // Format is // `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; - // The product to create. - Product product = 2; + // Required. The product to create. + Product product = 2 [(google.api.field_behavior) = REQUIRED]; // A user-supplied resource id for this Product. If set, the server will // attempt to use this value as the resource id. If it is already in use, an @@ -449,11 +493,16 @@ message CreateProductRequest { // Request message for the `ListProducts` method. message ListProductsRequest { - // The project OR ProductSet from which Products should be listed. + // Required. The project OR ProductSet from which Products should be listed. // // Format: // `projects/PROJECT_ID/locations/LOC_ID` - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -474,45 +523,60 @@ message ListProductsResponse { // Request message for the `GetProduct` method. message GetProductRequest { - // Resource name of the Product to get. + // Required. Resource name of the Product to get. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; } // Request message for the `UpdateProduct` method. message UpdateProductRequest { - // The Product resource which replaces the one on the server. + // Required. The Product resource which replaces the one on the server. // product.name is immutable. - Product product = 1; + Product product = 1 [(google.api.field_behavior) = REQUIRED]; // The [FieldMask][google.protobuf.FieldMask] that specifies which fields // to update. // If update_mask isn't specified, all mutable fields are to be updated. - // Valid mask paths include `product_labels`, `display_name` and + // Valid mask paths include `product_labels`, `display_name`, and // `description`. google.protobuf.FieldMask update_mask = 2; } // Request message for the `DeleteProduct` method. message DeleteProductRequest { - // Resource name of product to delete. + // Required. Resource name of product to delete. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; } // Request message for the `CreateProductSet` method. message CreateProductSetRequest { - // The project in which the ProductSet should be created. + // Required. The project in which the ProductSet should be created. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; - // The ProductSet to create. - ProductSet product_set = 2; + // Required. The ProductSet to create. + ProductSet product_set = 2 [(google.api.field_behavior) = REQUIRED]; // A user-supplied resource id for this ProductSet. If set, the server will // attempt to use this value as the resource id. If it is already in use, an @@ -523,10 +587,15 @@ message CreateProductSetRequest { // Request message for the `ListProductSets` method. message ListProductSetsRequest { - // The project from which ProductSets should be listed. + // Required. The project from which ProductSets should be listed. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -547,17 +616,22 @@ message ListProductSetsResponse { // Request message for the `GetProductSet` method. message GetProductSetRequest { - // Resource name of the ProductSet to get. + // Required. Resource name of the ProductSet to get. // // Format is: - // `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` - string name = 1; + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; } // Request message for the `UpdateProductSet` method. message UpdateProductSetRequest { - // The ProductSet resource which replaces the one on the server. - ProductSet product_set = 1; + // Required. The ProductSet resource which replaces the one on the server. + ProductSet product_set = 1 [(google.api.field_behavior) = REQUIRED]; // The [FieldMask][google.protobuf.FieldMask] that specifies which fields to // update. @@ -568,24 +642,34 @@ message UpdateProductSetRequest { // Request message for the `DeleteProductSet` method. message DeleteProductSetRequest { - // Resource name of the ProductSet to delete. + // Required. Resource name of the ProductSet to delete. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; } // Request message for the `CreateReferenceImage` method. message CreateReferenceImageRequest { - // Resource name of the product in which to create the reference image. + // Required. Resource name of the product in which to create the reference image. // // Format is // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - string parent = 1; - - // The reference image to create. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; + + // Required. The reference image to create. // If an image ID is specified, it is ignored. - ReferenceImage reference_image = 2; + ReferenceImage reference_image = 2 [(google.api.field_behavior) = REQUIRED]; // A user-supplied resource id for the ReferenceImage to be added. If set, // the server will attempt to use this value as the resource id. If it is @@ -596,11 +680,16 @@ message CreateReferenceImageRequest { // Request message for the `ListReferenceImages` method. message ListReferenceImagesRequest { - // Resource name of the product containing the reference images. + // Required. Resource name of the product containing the reference images. // // Format is // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - string parent = 1; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -626,61 +715,96 @@ message ListReferenceImagesResponse { // Request message for the `GetReferenceImage` method. message GetReferenceImageRequest { - // The resource name of the ReferenceImage to get. + // Required. The resource name of the ReferenceImage to get. // // Format is: // // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ReferenceImage" + } + ]; } // Request message for the `DeleteReferenceImage` method. message DeleteReferenceImageRequest { - // The resource name of the reference image to delete. + // Required. The resource name of the reference image to delete. // // Format is: // // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ReferenceImage" + } + ]; } // Request message for the `AddProductToProductSet` method. message AddProductToProductSetRequest { - // The resource name for the ProductSet to modify. + // Required. The resource name for the ProductSet to modify. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; - // The resource name for the Product to be added to this ProductSet. + // Required. The resource name for the Product to be added to this ProductSet. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string product = 2; + string product = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; } // Request message for the `RemoveProductFromProductSet` method. message RemoveProductFromProductSetRequest { - // The resource name for the ProductSet to modify. + // Required. The resource name for the ProductSet to modify. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; - // The resource name for the Product to be removed from this ProductSet. + // Required. The resource name for the Product to be removed from this ProductSet. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - string product = 2; + string product = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/Product" + } + ]; } // Request message for the `ListProductsInProductSet` method. message ListProductsInProductSetRequest { - // The ProductSet resource for which to retrieve Products. + // Required. The ProductSet resource for which to retrieve Products. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - string name = 1; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "vision.googleapis.com/ProductSet" + } + ]; // The maximum number of items to return. Default 10, maximum 100. int32 page_size = 2; @@ -704,7 +828,7 @@ message ListProductsInProductSetResponse { message ImportProductSetsGcsSource { // The Google Cloud Storage URI of the input csv file. // - // The URI must start with gs:// + // The URI must start with `gs://`. // // The format of the input csv file should be one image per line. // In each line, there are 6 columns. @@ -774,13 +898,18 @@ message ImportProductSetsInputConfig { // Request message for the `ImportProductSets` method. message ImportProductSetsRequest { - // The project in which the ProductSets should be imported. + // Required. The project in which the ProductSets should be imported. // // Format is `projects/PROJECT_ID/locations/LOC_ID`. - string parent = 1; - - // The input content for the list of requests. - ImportProductSetsInputConfig input_config = 2; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The input content for the list of requests. + ImportProductSetsInputConfig input_config = 2 [(google.api.field_behavior) = REQUIRED]; } // Response message for the `ImportProductSets` method. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index e3553b0de02..623dfe0abd9 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -726,8 +726,8 @@ message AnnotateImageResponse { // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { - // Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1; + // Required. Individual image annotation requests for this batch. + repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; } // Response to a batch image annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto index 1a165c70883..df7bc7a38a4 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search_service.proto @@ -651,7 +651,7 @@ message GetProductSetRequest { // Required. Resource name of the ProductSet to get. // // Format is: - // `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 78e0d9a5154..964f3e656aa 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -2058,13 +2058,18 @@ }, "nested": { "ImageAnnotator": { + "options": { + "(google.api.default_host)": "vision.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-vision" + }, "methods": { "BatchAnnotateImages": { "requestType": "BatchAnnotateImagesRequest", "responseType": "BatchAnnotateImagesResponse", "options": { "(google.api.http).post": "/v1p1beta1/images:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "requests" } } } @@ -2519,7 +2524,10 @@ "requests": { "rule": "repeated", "type": "AnnotateImageRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -2881,13 +2889,18 @@ }, "nested": { "ImageAnnotator": { + "options": { + "(google.api.default_host)": "vision.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-vision" + }, "methods": { "BatchAnnotateImages": { "requestType": "BatchAnnotateImagesRequest", "responseType": "BatchAnnotateImagesResponse", "options": { "(google.api.http).post": "/v1p2beta1/images:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "requests" } }, "AsyncBatchAnnotateFiles": { @@ -2895,7 +2908,10 @@ "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1p2beta1/files:asyncBatchAnnotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "requests", + "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateFilesResponse", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" } } } @@ -3379,7 +3395,10 @@ "requests": { "rule": "repeated", "type": "AnnotateImageRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -3426,7 +3445,10 @@ "requests": { "rule": "repeated", "type": "AsyncAnnotateFileRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -3872,13 +3894,18 @@ }, "nested": { "ImageAnnotator": { + "options": { + "(google.api.default_host)": "vision.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-vision" + }, "methods": { "BatchAnnotateImages": { "requestType": "BatchAnnotateImagesRequest", "responseType": "BatchAnnotateImagesResponse", "options": { "(google.api.http).post": "/v1p3beta1/images:annotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "requests" } }, "AsyncBatchAnnotateFiles": { @@ -3886,7 +3913,10 @@ "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1p3beta1/files:asyncBatchAnnotate", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "requests", + "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateFilesResponse", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" } } } @@ -4456,7 +4486,10 @@ "requests": { "rule": "repeated", "type": "AsyncAnnotateFileRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -4637,7 +4670,10 @@ }, "productSet": { "type": "string", - "id": 6 + "id": 6, + "options": { + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "productCategories": { "rule": "repeated", @@ -4724,27 +4760,34 @@ } }, "ProductSearch": { + "options": { + "(google.api.default_host)": "vision.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-vision" + }, "methods": { "CreateProductSet": { "requestType": "CreateProductSetRequest", "responseType": "ProductSet", "options": { "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*}/productSets", - "(google.api.http).body": "product_set" + "(google.api.http).body": "product_set", + "(google.api.method_signature)": "parent,product_set,product_set_id" } }, "ListProductSets": { "requestType": "ListProductSetsRequest", "responseType": "ListProductSetsResponse", "options": { - "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*}/productSets" + "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*}/productSets", + "(google.api.method_signature)": "parent" } }, "GetProductSet": { "requestType": "GetProductSetRequest", "responseType": "ProductSet", "options": { - "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" + "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}", + "(google.api.method_signature)": "name" } }, "UpdateProductSet": { @@ -4752,14 +4795,16 @@ "responseType": "ProductSet", "options": { "(google.api.http).patch": "/v1p3beta1/{product_set.name=projects/*/locations/*/productSets/*}", - "(google.api.http).body": "product_set" + "(google.api.http).body": "product_set", + "(google.api.method_signature)": "product_set,update_mask" } }, "DeleteProductSet": { "requestType": "DeleteProductSetRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" + "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}", + "(google.api.method_signature)": "name" } }, "CreateProduct": { @@ -4767,21 +4812,24 @@ "responseType": "Product", "options": { "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*}/products", - "(google.api.http).body": "product" + "(google.api.http).body": "product", + "(google.api.method_signature)": "parent,product,product_id" } }, "ListProducts": { "requestType": "ListProductsRequest", "responseType": "ListProductsResponse", "options": { - "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*}/products" + "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*}/products", + "(google.api.method_signature)": "parent" } }, "GetProduct": { "requestType": "GetProductRequest", "responseType": "Product", "options": { - "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/products/*}" + "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/products/*}", + "(google.api.method_signature)": "name" } }, "UpdateProduct": { @@ -4789,14 +4837,16 @@ "responseType": "Product", "options": { "(google.api.http).patch": "/v1p3beta1/{product.name=projects/*/locations/*/products/*}", - "(google.api.http).body": "product" + "(google.api.http).body": "product", + "(google.api.method_signature)": "product,update_mask" } }, "DeleteProduct": { "requestType": "DeleteProductRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/products/*}" + "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/products/*}", + "(google.api.method_signature)": "name" } }, "CreateReferenceImage": { @@ -4804,28 +4854,32 @@ "responseType": "ReferenceImage", "options": { "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages", - "(google.api.http).body": "reference_image" + "(google.api.http).body": "reference_image", + "(google.api.method_signature)": "parent,reference_image,reference_image_id" } }, "DeleteReferenceImage": { "requestType": "DeleteReferenceImageRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}", + "(google.api.method_signature)": "name" } }, "ListReferenceImages": { "requestType": "ListReferenceImagesRequest", "responseType": "ListReferenceImagesResponse", "options": { - "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages", + "(google.api.method_signature)": "parent" } }, "GetReferenceImage": { "requestType": "GetReferenceImageRequest", "responseType": "ReferenceImage", "options": { - "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}", + "(google.api.method_signature)": "name" } }, "AddProductToProductSet": { @@ -4833,7 +4887,8 @@ "responseType": "google.protobuf.Empty", "options": { "(google.api.http).post": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:addProduct", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "name,product" } }, "RemoveProductFromProductSet": { @@ -4841,14 +4896,16 @@ "responseType": "google.protobuf.Empty", "options": { "(google.api.http).post": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "name,product" } }, "ListProductsInProductSet": { "requestType": "ListProductsInProductSetRequest", "responseType": "ListProductsInProductSetResponse", "options": { - "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}/products" + "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}/products", + "(google.api.method_signature)": "name" } }, "ImportProductSets": { @@ -4856,12 +4913,19 @@ "responseType": "google.longrunning.Operation", "options": { "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*}/productSets:import", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent,input_config", + "(google.longrunning.operation_info).response_type": "ImportProductSetsResponse", + "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" } } } }, "Product": { + "options": { + "(google.api.resource).type": "vision.googleapis.com/Product", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/products/{product}" + }, "fields": { "name": { "type": "string", @@ -4877,7 +4941,10 @@ }, "productCategory": { "type": "string", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } }, "productLabels": { "rule": "repeated", @@ -4901,6 +4968,10 @@ } }, "ProductSet": { + "options": { + "(google.api.resource).type": "vision.googleapis.com/ProductSet", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/productSets/{product_set}" + }, "fields": { "name": { "type": "string", @@ -4912,15 +4983,25 @@ }, "indexTime": { "type": "google.protobuf.Timestamp", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } }, "indexError": { "type": "google.rpc.Status", - "id": 4 + "id": 4, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } } } }, "ReferenceImage": { + "options": { + "(google.api.resource).type": "vision.googleapis.com/ReferenceImage", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}" + }, "fields": { "name": { "type": "string", @@ -4928,12 +5009,18 @@ }, "uri": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "boundingPolys": { "rule": "repeated", "type": "BoundingPoly", - "id": 3 + "id": 3, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } } } }, @@ -4941,11 +5028,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "product": { "type": "Product", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "productId": { "type": "string", @@ -4957,7 +5051,11 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "pageSize": { "type": "int32", @@ -4986,7 +5084,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -4994,7 +5096,10 @@ "fields": { "product": { "type": "Product", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "updateMask": { "type": "google.protobuf.FieldMask", @@ -5006,7 +5111,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -5014,11 +5123,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "productSet": { "type": "ProductSet", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "productSetId": { "type": "string", @@ -5030,7 +5146,11 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "pageSize": { "type": "int32", @@ -5059,7 +5179,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } } } }, @@ -5067,7 +5191,10 @@ "fields": { "productSet": { "type": "ProductSet", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "updateMask": { "type": "google.protobuf.FieldMask", @@ -5079,7 +5206,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } } } }, @@ -5087,11 +5218,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } }, "referenceImage": { "type": "ReferenceImage", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } }, "referenceImageId": { "type": "string", @@ -5103,7 +5241,11 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } }, "pageSize": { "type": "int32", @@ -5136,7 +5278,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ReferenceImage" + } } } }, @@ -5144,7 +5290,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ReferenceImage" + } } } }, @@ -5152,11 +5302,19 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "product": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -5164,11 +5322,19 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "product": { "type": "string", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/Product" + } } } }, @@ -5176,7 +5342,11 @@ "fields": { "name": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "vision.googleapis.com/ProductSet" + } }, "pageSize": { "type": "int32", @@ -5228,11 +5398,18 @@ "fields": { "parent": { "type": "string", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } }, "inputConfig": { "type": "ImportProductSetsInputConfig", - "id": 2 + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -6154,7 +6331,10 @@ "requests": { "rule": "repeated", "type": "AnnotateImageRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 9a1ceff8c28..987f0fb8309 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -22,6 +22,7 @@ * [Quickstart](#quickstart) * [Set Endpoint](#set-endpoint) * [Text Detection](#text-detection) + * [Vision-face-detection](#vision-face-detection) ## Before you begin @@ -203,6 +204,23 @@ __Usage:__ `node samples/textDetection.js` +----- + + + + +### Vision-face-detection + +View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/vision-face-detection.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/vision-face-detection.js,samples/README.md) + +__Usage:__ + + +`node samples/vision-face-detection.js` + + diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js index fbd33f24fcc..f5c42944278 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js @@ -890,7 +890,7 @@ const AnnotateImageResponse = { * Multiple image annotation requests are batched into a single service call. * * @property {Object[]} requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p1beta1.AnnotateImageRequest} * diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js index 2b10999130b..c9e8076f00f 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js @@ -217,7 +217,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p1beta1.AnnotateImageRequest} * @param {Object} [options] diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js index 9e85efc6be1..77d0a4d5506 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js @@ -949,7 +949,7 @@ const AnnotateFileResponse = { * Multiple image annotation requests are batched into a single service call. * * @property {Object[]} requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p2beta1.AnnotateImageRequest} * @@ -1029,7 +1029,7 @@ const AsyncAnnotateFileResponse = { * call. * * @property {Object[]} requests - * Individual async file annotation requests for this batch. + * Required. Individual async file annotation requests for this batch. * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} * diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js index 1d4a8ed6a9a..ea8ae60e713 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js @@ -251,7 +251,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p2beta1.AnnotateImageRequest} * @param {Object} [options] @@ -305,7 +305,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual async file annotation requests for this batch. + * Required. Individual async file annotation requests for this batch. * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} * @param {Object} [options] diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js index 1af46d18451..08573fcf34a 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js @@ -1085,7 +1085,7 @@ const AsyncAnnotateFileResponse = { * call. * * @property {Object[]} requests - * Individual async file annotation requests for this batch. + * Required. Individual async file annotation requests for this batch. * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} * diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js index 45e5c4cf85c..ed5f0fad601 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js @@ -35,10 +35,10 @@ * characters long. * * @property {string} productCategory - * The category for the product identified by the reference image. This should - * be either "homegoods" or "apparel". - * - * This field is immutable. + * Immutable. The category for the product identified by the reference image. This should + * be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories + * "homegoods", "apparel", and "toys" are still supported, but these should + * not be used for new products. * * @property {Object[]} productLabels * Key-value pairs that can be attached to a product. At query time, @@ -136,15 +136,13 @@ const ProductSet = { * This field is ignored when creating a reference image. * * @property {string} uri - * The Google Cloud Storage URI of the reference image. + * Required. The Google Cloud Storage URI of the reference image. * * The URI must start with `gs://`. * - * Required. - * * @property {Object[]} boundingPolys - * Bounding polygons around the areas of interest in the reference image. - * Optional. If this field is empty, the system will try to detect regions of + * Optional. Bounding polygons around the areas of interest in the reference image. + * If this field is empty, the system will try to detect regions of * interest. At most 10 bounding polygons will be used. * * The provided shape is converted into a non-rotated rectangle. Once @@ -166,13 +164,13 @@ const ReferenceImage = { * Request message for the `CreateProduct` method. * * @property {string} parent - * The project in which the Product should be created. + * Required. The project in which the Product should be created. * * Format is * `projects/PROJECT_ID/locations/LOC_ID`. * * @property {Object} product - * The product to create. + * Required. The product to create. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} * @@ -194,7 +192,7 @@ const CreateProductRequest = { * Request message for the `ListProducts` method. * * @property {string} parent - * The project OR ProductSet from which Products should be listed. + * Required. The project OR ProductSet from which Products should be listed. * * Format: * `projects/PROJECT_ID/locations/LOC_ID` @@ -237,7 +235,7 @@ const ListProductsResponse = { * Request message for the `GetProduct` method. * * @property {string} name - * Resource name of the Product to get. + * Required. Resource name of the Product to get. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -254,7 +252,7 @@ const GetProductRequest = { * Request message for the `UpdateProduct` method. * * @property {Object} product - * The Product resource which replaces the one on the server. + * Required. The Product resource which replaces the one on the server. * product.name is immutable. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} @@ -263,7 +261,7 @@ const GetProductRequest = { * The FieldMask that specifies which fields * to update. * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask paths include `product_labels`, `display_name` and + * Valid mask paths include `product_labels`, `display_name`, and * `description`. * * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} @@ -280,7 +278,7 @@ const UpdateProductRequest = { * Request message for the `DeleteProduct` method. * * @property {string} name - * Resource name of product to delete. + * Required. Resource name of product to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -297,12 +295,12 @@ const DeleteProductRequest = { * Request message for the `CreateProductSet` method. * * @property {string} parent - * The project in which the ProductSet should be created. + * Required. The project in which the ProductSet should be created. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * * @property {Object} productSet - * The ProductSet to create. + * Required. The ProductSet to create. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} * @@ -324,7 +322,7 @@ const CreateProductSetRequest = { * Request message for the `ListProductSets` method. * * @property {string} parent - * The project from which ProductSets should be listed. + * Required. The project from which ProductSets should be listed. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @@ -366,10 +364,10 @@ const ListProductSetsResponse = { * Request message for the `GetProductSet` method. * * @property {string} name - * Resource name of the ProductSet to get. + * Required. Resource name of the ProductSet to get. * * Format is: - * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * * @typedef GetProductSetRequest * @memberof google.cloud.vision.v1p3beta1 @@ -383,7 +381,7 @@ const GetProductSetRequest = { * Request message for the `UpdateProductSet` method. * * @property {Object} productSet - * The ProductSet resource which replaces the one on the server. + * Required. The ProductSet resource which replaces the one on the server. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} * @@ -407,7 +405,7 @@ const UpdateProductSetRequest = { * Request message for the `DeleteProductSet` method. * * @property {string} name - * Resource name of the ProductSet to delete. + * Required. Resource name of the ProductSet to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -424,13 +422,13 @@ const DeleteProductSetRequest = { * Request message for the `CreateReferenceImage` method. * * @property {string} parent - * Resource name of the product in which to create the reference image. + * Required. Resource name of the product in which to create the reference image. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. * * @property {Object} referenceImage - * The reference image to create. + * Required. The reference image to create. * If an image ID is specified, it is ignored. * * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} @@ -453,7 +451,7 @@ const CreateReferenceImageRequest = { * Request message for the `ListReferenceImages` method. * * @property {string} parent - * Resource name of the product containing the reference images. + * Required. Resource name of the product containing the reference images. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. @@ -501,7 +499,7 @@ const ListReferenceImagesResponse = { * Request message for the `GetReferenceImage` method. * * @property {string} name - * The resource name of the ReferenceImage to get. + * Required. The resource name of the ReferenceImage to get. * * Format is: * @@ -519,7 +517,7 @@ const GetReferenceImageRequest = { * Request message for the `DeleteReferenceImage` method. * * @property {string} name - * The resource name of the reference image to delete. + * Required. The resource name of the reference image to delete. * * Format is: * @@ -537,13 +535,13 @@ const DeleteReferenceImageRequest = { * Request message for the `AddProductToProductSet` method. * * @property {string} name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * * @property {string} product - * The resource name for the Product to be added to this ProductSet. + * Required. The resource name for the Product to be added to this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -560,13 +558,13 @@ const AddProductToProductSetRequest = { * Request message for the `RemoveProductFromProductSet` method. * * @property {string} name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * * @property {string} product - * The resource name for the Product to be removed from this ProductSet. + * Required. The resource name for the Product to be removed from this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -583,7 +581,7 @@ const RemoveProductFromProductSetRequest = { * Request message for the `ListProductsInProductSet` method. * * @property {string} name - * The ProductSet resource for which to retrieve Products. + * Required. The ProductSet resource for which to retrieve Products. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -629,7 +627,7 @@ const ListProductsInProductSetResponse = { * @property {string} csvFileUri * The Google Cloud Storage URI of the input csv file. * - * The URI must start with gs:// + * The URI must start with `gs://`. * * The format of the input csv file should be one image per line. * In each line, there are 6 columns. @@ -714,12 +712,12 @@ const ImportProductSetsInputConfig = { * Request message for the `ImportProductSets` method. * * @property {string} parent - * The project in which the ProductSets should be imported. + * Required. The project in which the ProductSets should be imported. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * * @property {Object} inputConfig - * The input content for the list of requests. + * Required. The input content for the list of requests. * * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} * diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js index 2d96765216d..598c93f3c86 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js @@ -305,7 +305,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual async file annotation requests for this batch. + * Required. Individual async file annotation requests for this batch. * * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} * @param {Object} [options] diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js index d09e9ca9d89..48d126cb9ef 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js @@ -24,20 +24,16 @@ const VERSION = require('../../package.json').version; * Manages Products and ProductSets of reference images for use in product * search. It uses the following resource model: * - * - The API has a collection of - * ProductSet resources, named + * - The API has a collection of ProductSet resources, named * `projects/* /locations/* /productSets/*`, which acts as a way to put different * products into groups to limit identification. * * In parallel, * - * - The API has a collection of - * Product resources, named + * - The API has a collection of Product resources, named * `projects/* /locations/* /products/*` * - * - Each Product has a collection of - * ReferenceImage resources, - * named + * - Each Product has a collection of ReferenceImage resources, named * `projects/* /locations/* /products/* /referenceImages/*` * * @class @@ -328,11 +324,11 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the ProductSet should be created. + * Required. The project in which the ProductSet should be created. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} request.productSet - * The ProductSet to create. + * Required. The ProductSet to create. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} * @param {string} request.productSetId @@ -405,7 +401,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project from which ProductSets should be listed. + * Required. The project from which ProductSets should be listed. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {number} [request.pageSize] @@ -519,7 +515,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project from which ProductSets should be listed. + * Required. The project from which ProductSets should be listed. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {number} [request.pageSize] @@ -570,10 +566,10 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the ProductSet to get. + * Required. Resource name of the ProductSet to get. * * Format is: - * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. @@ -634,7 +630,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {Object} request.productSet - * The ProductSet resource which replaces the one on the server. + * Required. The ProductSet resource which replaces the one on the server. * * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} * @param {Object} request.updateMask @@ -709,7 +705,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the ProductSet to delete. + * Required. Resource name of the ProductSet to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -765,12 +761,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the Product should be created. + * Required. The project in which the Product should be created. * * Format is * `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} request.product - * The product to create. + * Required. The product to create. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} * @param {string} request.productId @@ -842,7 +838,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project OR ProductSet from which Products should be listed. + * Required. The project OR ProductSet from which Products should be listed. * * Format: * `projects/PROJECT_ID/locations/LOC_ID` @@ -957,7 +953,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project OR ProductSet from which Products should be listed. + * Required. The project OR ProductSet from which Products should be listed. * * Format: * `projects/PROJECT_ID/locations/LOC_ID` @@ -1009,7 +1005,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of the Product to get. + * Required. Resource name of the Product to get. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1079,7 +1075,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {Object} request.product - * The Product resource which replaces the one on the server. + * Required. The Product resource which replaces the one on the server. * product.name is immutable. * * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} @@ -1087,7 +1083,7 @@ class ProductSearchClient { * The FieldMask that specifies which fields * to update. * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask paths include `product_labels`, `display_name` and + * Valid mask paths include `product_labels`, `display_name`, and * `description`. * * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} @@ -1157,7 +1153,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * Resource name of product to delete. + * Required. Resource name of product to delete. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1224,12 +1220,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product in which to create the reference image. + * Required. Resource name of the product in which to create the reference image. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. * @param {Object} request.referenceImage - * The reference image to create. + * Required. The reference image to create. * If an image ID is specified, it is ignored. * * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} @@ -1308,7 +1304,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name of the reference image to delete. + * Required. The resource name of the reference image to delete. * * Format is: * @@ -1364,7 +1360,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product containing the reference images. + * Required. Resource name of the product containing the reference images. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. @@ -1479,7 +1475,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Resource name of the product containing the reference images. + * Required. Resource name of the product containing the reference images. * * Format is * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. @@ -1531,7 +1527,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name of the ReferenceImage to get. + * Required. The resource name of the ReferenceImage to get. * * Format is: * @@ -1596,12 +1592,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {string} request.product - * The resource name for the Product to be added to this ProductSet. + * Required. The resource name for the Product to be added to this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1663,12 +1659,12 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The resource name for the ProductSet to modify. + * Required. The resource name for the ProductSet to modify. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {string} request.product - * The resource name for the Product to be removed from this ProductSet. + * Required. The resource name for the Product to be removed from this ProductSet. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` @@ -1732,7 +1728,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The ProductSet resource for which to retrieve Products. + * Required. The ProductSet resource for which to retrieve Products. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -1851,7 +1847,7 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.name - * The ProductSet resource for which to retrieve Products. + * Required. The ProductSet resource for which to retrieve Products. * * Format is: * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` @@ -1909,11 +1905,11 @@ class ProductSearchClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * The project in which the ProductSets should be imported. + * Required. The project in which the ProductSets should be imported. * * Format is `projects/PROJECT_ID/locations/LOC_ID`. * @param {Object} request.inputConfig - * The input content for the list of requests. + * Required. The input content for the list of requests. * * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} * @param {Object} [options] diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js index 161ef86c009..204b82c7bcf 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js @@ -997,7 +997,7 @@ const AnnotateImageResponse = { * Multiple image annotation requests are batched into a single service call. * * @property {Object[]} requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} * diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js index c2faebe1928..0f4e9f933e5 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js +++ b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js @@ -372,7 +372,7 @@ const ListProductSetsResponse = { * Required. Resource name of the ProductSet to get. * * Format is: - * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * * @typedef GetProductSetRequest * @memberof google.cloud.vision.v1p4beta1 diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js index eeed1b8ac6d..bbede6ae7a8 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js @@ -268,7 +268,7 @@ class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {Object[]} request.requests - * Individual image annotation requests for this batch. + * Required. Individual image annotation requests for this batch. * * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} * @param {Object} [options] diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js index 363947c8e38..c41535db1ae 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js @@ -574,7 +574,7 @@ class ProductSearchClient { * Required. Resource name of the ProductSet to get. * * Format is: - * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {Object} [options] * Optional parameters. You can override the default settings for this call, e.g, timeout, * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 642e82dffa8..8c41429bbb9 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,27 +1,27 @@ { - "updateTime": "2020-01-28T12:42:19.618670Z", + "updateTime": "2020-02-07T12:46:02.997456Z", "sources": [ { "generator": { "name": "artman", - "version": "0.44.3", - "dockerImage": "googleapis/artman@sha256:62b8b29acaae54b06a4183aa772e65b106e92d4bc466eb4db07953ab78bdb90c" + "version": "0.44.4", + "dockerImage": "googleapis/artman@sha256:19e945954fc960a4bdfee6cb34695898ab21a8cf0bac063ee39b91f00a1faec8" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "8e981acfd9b97ea2f312f11bbaa7b6c16e412dea", - "internalRef": "291821782", - "log": "8e981acfd9b97ea2f312f11bbaa7b6c16e412dea\nBeta launch for PersonDetection and FaceDetection features.\n\nPiperOrigin-RevId: 291821782\n\n994e067fae3b21e195f7da932b08fff806d70b5d\nasset: add annotations to v1p2beta1\n\nPiperOrigin-RevId: 291815259\n\n244e1d2c89346ca2e0701b39e65552330d68545a\nAdd Playable Locations service\n\nPiperOrigin-RevId: 291806349\n\n909f8f67963daf45dd88d020877fb9029b76788d\nasset: add annotations to v1beta2\n\nPiperOrigin-RevId: 291805301\n\n3c39a1d6e23c1ef63c7fba4019c25e76c40dfe19\nKMS: add file-level message for CryptoKeyPath, it is defined in gapic yaml but not\nin proto files.\n\nPiperOrigin-RevId: 291420695\n\nc6f3f350b8387f8d1b85ed4506f30187ebaaddc3\ncontaineranalysis: update v1beta1 and bazel build with annotations\n\nPiperOrigin-RevId: 291401900\n\n92887d74b44e4e636252b7b8477d0d2570cd82db\nfix: fix the location of grpc config file.\n\nPiperOrigin-RevId: 291396015\n\n" + "sha": "e46f761cd6ec15a9e3d5ed4ff321a4bcba8e8585", + "internalRef": "293710856", + "log": "e46f761cd6ec15a9e3d5ed4ff321a4bcba8e8585\nGenerate the Bazel build file for recommendengine public api\n\nPiperOrigin-RevId: 293710856\n\n68477017c4173c98addac0373950c6aa9d7b375f\nMake `language_code` optional for UpdateIntentRequest and BatchUpdateIntentsRequest.\n\nThe comments and proto annotations describe this parameter as optional.\n\nPiperOrigin-RevId: 293703548\n\n16f823f578bca4e845a19b88bb9bc5870ea71ab2\nAdd BUILD.bazel files for managedidentities API\n\nPiperOrigin-RevId: 293698246\n\n2f53fd8178c9a9de4ad10fae8dd17a7ba36133f2\nAdd v1p1beta1 config file\n\nPiperOrigin-RevId: 293696729\n\n052b274138fce2be80f97b6dcb83ab343c7c8812\nAdd source field for user event and add field behavior annotations\n\nPiperOrigin-RevId: 293693115\n\n1e89732b2d69151b1b3418fff3d4cc0434f0dded\ndatacatalog: v1beta1 add three new RPCs to gapic v1beta1 config\n\nPiperOrigin-RevId: 293692823\n\n9c8bd09bbdc7c4160a44f1fbab279b73cd7a2337\nchange the name of AccessApproval service to AccessApprovalAdmin\n\nPiperOrigin-RevId: 293690934\n\n2e23b8fbc45f5d9e200572ca662fe1271bcd6760\nAdd ListEntryGroups method, add http bindings to support entry group tagging, and update some comments.\n\nPiperOrigin-RevId: 293666452\n\n0275e38a4ca03a13d3f47a9613aac8c8b0d3f1f2\nAdd proto_package field to managedidentities API. It is needed for APIs that still depend on artman generation.\n\nPiperOrigin-RevId: 293643323\n\n4cdfe8278cb6f308106580d70648001c9146e759\nRegenerating public protos for Data Catalog to add new Custom Type Entry feature.\n\nPiperOrigin-RevId: 293614782\n\n45d2a569ab526a1fad3720f95eefb1c7330eaada\nEnable client generation for v1 ManagedIdentities API.\n\nPiperOrigin-RevId: 293515675\n\n2c17086b77e6f3bcf04a1f65758dfb0c3da1568f\nAdd the Actions on Google common types (//google/actions/type/*).\n\nPiperOrigin-RevId: 293478245\n\n781aadb932e64a12fb6ead7cd842698d99588433\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293443396\n\ne2602608c9138c2fca24162720e67f9307c30b95\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293442964\n\nc8aef82028d06b7992278fa9294c18570dc86c3d\nAdd cc_proto_library and cc_grpc_library targets for Bigtable protos.\n\nAlso fix indentation of cc_grpc_library targets in Spanner and IAM protos.\n\nPiperOrigin-RevId: 293440538\n\ne2faab04f4cb7f9755072330866689b1943a16e9\ncloudtasks: v2 replace non-standard retry params in gapic config v2\n\nPiperOrigin-RevId: 293424055\n\ndfb4097ea628a8470292c6590a4313aee0c675bd\nerrorreporting: v1beta1 add legacy artman config for php\n\nPiperOrigin-RevId: 293423790\n\nb18aed55b45bfe5b62476292c72759e6c3e573c6\nasset: v1p1beta1 updated comment for `page_size` limit.\n\nPiperOrigin-RevId: 293421386\n\nc9ef36b7956d9859a2fc86ad35fcaa16958ab44f\nbazel: Refactor CI build scripts\n\nPiperOrigin-RevId: 293387911\n\na8ed9d921fdddc61d8467bfd7c1668f0ad90435c\nfix: set Ruby module name for OrgPolicy\n\nPiperOrigin-RevId: 293257997\n\n6c7d28509bd8315de8af0889688ee20099594269\nredis: v1beta1 add UpgradeInstance and connect_mode field to Instance\n\nPiperOrigin-RevId: 293242878\n\nae0abed4fcb4c21f5cb67a82349a049524c4ef68\nredis: v1 add connect_mode field to Instance\n\nPiperOrigin-RevId: 293241914\n\n3f7a0d29b28ee9365771da2b66edf7fa2b4e9c56\nAdds service config definition for bigqueryreservation v1beta1\n\nPiperOrigin-RevId: 293234418\n\n0c88168d5ed6fe353a8cf8cbdc6bf084f6bb66a5\naddition of BUILD & configuration for accessapproval v1\n\nPiperOrigin-RevId: 293219198\n\n39bedc2e30f4778ce81193f6ba1fec56107bcfc4\naccessapproval: v1 publish protos\n\nPiperOrigin-RevId: 293167048\n\n69d9945330a5721cd679f17331a78850e2618226\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080182\n\nf6a1a6b417f39694275ca286110bc3c1ca4db0dc\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080178\n\n29d40b78e3dc1579b0b209463fbcb76e5767f72a\nExpose managedidentities/v1beta1/ API for client library usage.\n\nPiperOrigin-RevId: 292979741\n\na22129a1fb6e18056d576dfb7717aef74b63734a\nExpose managedidentities/v1/ API for client library usage.\n\nPiperOrigin-RevId: 292968186\n\nb5cbe4a4ba64ab19e6627573ff52057a1657773d\nSecurityCenter v1p1beta1: move file-level option on top to workaround protobuf.js bug.\n\nPiperOrigin-RevId: 292647187\n\nb224b317bf20c6a4fbc5030b4a969c3147f27ad3\nAdds API definitions for bigqueryreservation v1beta1.\n\nPiperOrigin-RevId: 292634722\n\nc1468702f9b17e20dd59007c0804a089b83197d2\nSynchronize new proto/yaml changes.\n\nPiperOrigin-RevId: 292626173\n\nffdfa4f55ab2f0afc11d0eb68f125ccbd5e404bd\nvision: v1p3beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605599\n\n78f61482cd028fc1d9892aa5d89d768666a954cd\nvision: v1p1beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605125\n\n60bb5a294a604fd1778c7ec87b265d13a7106171\nvision: v1p2beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604980\n\n3bcf7aa79d45eb9ec29ab9036e9359ea325a7fc3\nvision: v1p4beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604656\n\n2717b8a1c762b26911b45ecc2e4ee01d98401b28\nFix dataproc artman client library generation.\n\nPiperOrigin-RevId: 292555664\n\n7ac66d9be8a7d7de4f13566d8663978c9ee9dcd7\nAdd Dataproc Autoscaling API to V1.\n\nPiperOrigin-RevId: 292450564\n\n5d932b2c1be3a6ef487d094e3cf5c0673d0241dd\n- Improve documentation\n- Add a client_id field to StreamingPullRequest\n\nPiperOrigin-RevId: 292434036\n\neaff9fa8edec3e914995ce832b087039c5417ea7\nmonitoring: v3 publish annotations and client retry config\n\nPiperOrigin-RevId: 292425288\n\n70958bab8c5353870d31a23fb2c40305b050d3fe\nBigQuery Storage Read API v1 clients.\n\nPiperOrigin-RevId: 292407644\n\n7a15e7fe78ff4b6d5c9606a3264559e5bde341d1\nUpdate backend proto for Google Cloud Endpoints\n\nPiperOrigin-RevId: 292391607\n\n3ca2c014e24eb5111c8e7248b1e1eb833977c83d\nbazel: Add --flaky_test_attempts=3 argument to prevent CI failures caused by flaky tests\n\nPiperOrigin-RevId: 292382559\n\n9933347c1f677e81e19a844c2ef95bfceaf694fe\nbazel:Integrate latest protoc-java-resource-names-plugin changes (fix for PyYAML dependency in bazel rules)\n\nPiperOrigin-RevId: 292376626\n\nb835ab9d2f62c88561392aa26074c0b849fb0bd3\nasset: v1p2beta1 add client config annotations\n\n* remove unintentionally exposed RPCs\n* remove messages relevant to removed RPCs\n\nPiperOrigin-RevId: 292369593\n\nc1246a29e22b0f98e800a536b5b0da2d933a55f2\nUpdating v1 protos with the latest inline documentation (in comments) and config options. Also adding a per-service .yaml file.\n\nPiperOrigin-RevId: 292310790\n\nb491d07cadaae7cde5608321f913e5ca1459b32d\nRevert accidental local_repository change\n\nPiperOrigin-RevId: 292245373\n\naf3400a8cb6110025198b59a0f7d018ae3cda700\nUpdate gapic-generator dependency (prebuilt PHP binary support).\n\nPiperOrigin-RevId: 292243997\n\n341fd5690fae36f36cf626ef048fbcf4bbe7cee6\ngrafeas: v1 add resource_definition for the grafeas.io/Project and change references for Project.\n\nPiperOrigin-RevId: 292221998\n\n42e915ec2ece1cd37a590fbcd10aa2c0fb0e5b06\nUpdate the gapic-generator, protoc-java-resource-name-plugin and protoc-docs-plugin to the latest commit.\n\nPiperOrigin-RevId: 292182368\n\nf035f47250675d31492a09f4a7586cfa395520a7\nFix grafeas build and update build.sh script to include gerafeas.\n\nPiperOrigin-RevId: 292168753\n\n26ccb214b7bc4a716032a6266bcb0a9ca55d6dbb\nasset: v1p1beta1 add client config annotations and retry config\n\nPiperOrigin-RevId: 292154210\n\n974ee5c0b5d03e81a50dafcedf41e0efebb5b749\nasset: v1beta1 add client config annotations\n\nPiperOrigin-RevId: 292152573\n\ncf3b61102ed5f36b827bc82ec39be09525f018c8\n Fix to protos for v1p1beta1 release of Cloud Security Command Center\n\nPiperOrigin-RevId: 292034635\n\n4e1cfaa7c0fede9e65d64213ca3da1b1255816c0\nUpdate the public proto to support UTF-8 encoded id for CatalogService API, increase the ListCatalogItems deadline to 300s and some minor documentation change\n\nPiperOrigin-RevId: 292030970\n\n9c483584f8fd5a1b862ae07973f4cc7bb3e46648\nasset: add annotations to v1p1beta1\n\nPiperOrigin-RevId: 292009868\n\ne19209fac29731d0baf6d9ac23da1164f7bdca24\nAdd the google.rpc.context.AttributeContext message to the open source\ndirectories.\n\nPiperOrigin-RevId: 291999930\n\nae5662960573f279502bf98a108a35ba1175e782\noslogin API: move file level option on top of the file to avoid protobuf.js bug.\n\nPiperOrigin-RevId: 291990506\n\neba3897fff7c49ed85d3c47fc96fe96e47f6f684\nAdd cc_proto_library and cc_grpc_library targets for Spanner and IAM protos.\n\nPiperOrigin-RevId: 291988651\n\n" } }, { "template": { "name": "node_library", "origin": "synthtool.gcp", - "version": "2019.10.17" + "version": "2020.2.4" } } ], @@ -76,793 +76,5 @@ "config": "google/cloud/vision/artman_vision_v1p4beta1.yaml" } } - ], - "newFiles": [ - { - "path": ".eslintignore" - }, - { - "path": ".eslintrc.yml" - }, - { - "path": ".github/ISSUE_TEMPLATE/bug_report.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/feature_request.md" - }, - { - "path": ".github/ISSUE_TEMPLATE/support_request.md" - }, - { - "path": ".github/PULL_REQUEST_TEMPLATE.md" - }, - { - "path": ".github/release-please.yml" - }, - { - "path": ".gitignore" - }, - { - "path": ".jsdoc.js" - }, - { - "path": ".kokoro/.gitattributes" - }, - { - "path": ".kokoro/common.cfg" - }, - { - "path": ".kokoro/continuous/node10/common.cfg" - }, - { - "path": ".kokoro/continuous/node10/docs.cfg" - }, - { - "path": ".kokoro/continuous/node10/lint.cfg" - }, - { - "path": ".kokoro/continuous/node10/samples-test.cfg" - }, - { - "path": ".kokoro/continuous/node10/system-test.cfg" - }, - { - "path": ".kokoro/continuous/node10/test.cfg" - }, - { - "path": ".kokoro/continuous/node12/common.cfg" - }, - { - "path": ".kokoro/continuous/node12/test.cfg" - }, - { - "path": ".kokoro/continuous/node8/common.cfg" - }, - { - "path": ".kokoro/continuous/node8/test.cfg" - }, - { - "path": ".kokoro/docs.sh" - }, - { - "path": ".kokoro/lint.sh" - }, - { - "path": ".kokoro/presubmit/node10/common.cfg" - }, - { - "path": ".kokoro/presubmit/node10/docs.cfg" - }, - { - "path": ".kokoro/presubmit/node10/lint.cfg" - }, - { - "path": ".kokoro/presubmit/node10/samples-test.cfg" - }, - { - "path": ".kokoro/presubmit/node10/system-test.cfg" - }, - { - "path": ".kokoro/presubmit/node10/test.cfg" - }, - { - "path": ".kokoro/presubmit/node12/common.cfg" - }, - { - "path": ".kokoro/presubmit/node12/test.cfg" - }, - { - "path": ".kokoro/presubmit/node8/common.cfg" - }, - { - "path": ".kokoro/presubmit/node8/test.cfg" - }, - { - "path": ".kokoro/presubmit/windows/common.cfg" - }, - { - "path": ".kokoro/presubmit/windows/test.cfg" - }, - { - "path": ".kokoro/publish.sh" - }, - { - "path": ".kokoro/release/docs.cfg" - }, - { - "path": ".kokoro/release/docs.sh" - }, - { - "path": ".kokoro/release/publish.cfg" - }, - { - "path": ".kokoro/samples-test.sh" - }, - { - "path": ".kokoro/system-test.sh" - }, - { - "path": ".kokoro/test.bat" - }, - { - "path": ".kokoro/test.sh" - }, - { - "path": ".kokoro/trampoline.sh" - }, - { - "path": ".nycrc" - }, - { - "path": ".prettierignore" - }, - { - "path": ".prettierrc" - }, - { - "path": ".repo-metadata.json" - }, - { - "path": "CHANGELOG.md" - }, - { - "path": "CODE_OF_CONDUCT.md" - }, - { - "path": "CONTRIBUTING.md" - }, - { - "path": "LICENSE" - }, - { - "path": "README.md" - }, - { - "path": "codecov.yaml" - }, - { - "path": "linkinator.config.json" - }, - { - "path": "package.json" - }, - { - "path": "protos/google/cloud/vision/v1/geometry.proto" - }, - { - "path": "protos/google/cloud/vision/v1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1/product_search.proto" - }, - { - "path": "protos/google/cloud/vision/v1/product_search_service.proto" - }, - { - "path": "protos/google/cloud/vision/v1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1/web_detection.proto" - }, - { - "path": "protos/google/cloud/vision/v1p1beta1/geometry.proto" - }, - { - "path": "protos/google/cloud/vision/v1p1beta1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1p1beta1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1p1beta1/web_detection.proto" - }, - { - "path": "protos/google/cloud/vision/v1p2beta1/geometry.proto" - }, - { - "path": "protos/google/cloud/vision/v1p2beta1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1p2beta1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1p2beta1/web_detection.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/geometry.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/product_search.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/product_search_service.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1p3beta1/web_detection.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/face.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/geometry.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/image_annotator.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/product_search.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/product_search_service.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/text_annotation.proto" - }, - { - "path": "protos/google/cloud/vision/v1p4beta1/web_detection.proto" - }, - { - "path": "protos/protos.d.ts" - }, - { - "path": "protos/protos.js" - }, - { - "path": "protos/protos.json" - }, - { - "path": "renovate.json" - }, - { - "path": "samples/.eslintrc.yml" - }, - { - "path": "samples/README.md" - }, - { - "path": "samples/async-batch-annotate-images.js" - }, - { - "path": "samples/batch-annotate-files-gcs.js" - }, - { - "path": "samples/batch-annotate-files.js" - }, - { - "path": "samples/detect.js" - }, - { - "path": "samples/detect.v1p1beta1.js" - }, - { - "path": "samples/detect.v1p3beta1.js" - }, - { - "path": "samples/faceDetection.js" - }, - { - "path": "samples/package.json" - }, - { - "path": "samples/productSearch/importProductSets.js" - }, - { - "path": "samples/productSearch/productSearch.js" - }, - { - "path": "samples/productSearch/productSets.js" - }, - { - "path": "samples/productSearch/products.js" - }, - { - "path": "samples/productSearch/referenceImages.js" - }, - { - "path": "samples/productSearch/similarProducts.js" - }, - { - "path": "samples/quickstart.js" - }, - { - "path": "samples/resources/bicycle.jpg" - }, - { - "path": "samples/resources/bonito.gif" - }, - { - "path": "samples/resources/cat.jpg" - }, - { - "path": "samples/resources/city.jpg" - }, - { - "path": "samples/resources/duck_and_truck.jpg" - }, - { - "path": "samples/resources/face.png" - }, - { - "path": "samples/resources/face_no_surprise.jpg" - }, - { - "path": "samples/resources/faulkner.jpg" - }, - { - "path": "samples/resources/google.png" - }, - { - "path": "samples/resources/handwritten.jpg" - }, - { - "path": "samples/resources/landmark.jpg" - }, - { - "path": "samples/resources/logos.png" - }, - { - "path": "samples/resources/mountain.jpg" - }, - { - "path": "samples/resources/no-text.jpg" - }, - { - "path": "samples/resources/pdf-ocr.pdf" - }, - { - "path": "samples/resources/sabertooth.gif" - }, - { - "path": "samples/resources/shoes_1.jpg" - }, - { - "path": "samples/resources/succulents.jpg" - }, - { - "path": "samples/resources/sunbeamkitties.jpg" - }, - { - "path": "samples/resources/text.jpg" - }, - { - "path": "samples/resources/wakeupcat.jpg" - }, - { - "path": "samples/resources/water.jpg" - }, - { - "path": "samples/setEndpoint.js" - }, - { - "path": "samples/system-test/async-batch-annotate-images.test.js" - }, - { - "path": "samples/system-test/batch-annotate-files-gcs.test.js" - }, - { - "path": "samples/system-test/batch-annotate-files.test.js" - }, - { - "path": "samples/system-test/detect.test.js" - }, - { - "path": "samples/system-test/detect.v1p1beta1.test.js" - }, - { - "path": "samples/system-test/detect.v1p3beta1.test.js" - }, - { - "path": "samples/system-test/faceDetection.test.js" - }, - { - "path": "samples/system-test/importProductSets.test.js" - }, - { - "path": "samples/system-test/productSearch.test.js" - }, - { - "path": "samples/system-test/productSets.test.js" - }, - { - "path": "samples/system-test/products.test.js" - }, - { - "path": "samples/system-test/quickstart.test.js" - }, - { - "path": "samples/system-test/referenceImages.test.js" - }, - { - "path": "samples/system-test/setEndpoint.test.js" - }, - { - "path": "samples/system-test/similarProducts.test.js" - }, - { - "path": "samples/system-test/textDetection.test.js" - }, - { - "path": "samples/textDetection.js" - }, - { - "path": "smoke-test/.eslintrc.yml" - }, - { - "path": "smoke-test/image_annotator_smoke_test.js" - }, - { - "path": "src/browser.js" - }, - { - "path": "src/helpers.js" - }, - { - "path": "src/index.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_geometry.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js" - }, - { - "path": "src/v1/doc/google/cloud/vision/v1/doc_web_detection.js" - }, - { - "path": "src/v1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_empty.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_field_mask.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_timestamp.js" - }, - { - "path": "src/v1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1/image_annotator_client.js" - }, - { - "path": "src/v1/image_annotator_client_config.json" - }, - { - "path": "src/v1/image_annotator_proto_list.json" - }, - { - "path": "src/v1/index.js" - }, - { - "path": "src/v1/product_search_client.js" - }, - { - "path": "src/v1/product_search_client_config.json" - }, - { - "path": "src/v1/product_search_proto_list.json" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js" - }, - { - "path": "src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js" - }, - { - "path": "src/v1p1beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p1beta1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1p1beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p1beta1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1p1beta1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1p1beta1/image_annotator_client.js" - }, - { - "path": "src/v1p1beta1/image_annotator_client_config.json" - }, - { - "path": "src/v1p1beta1/image_annotator_proto_list.json" - }, - { - "path": "src/v1p1beta1/index.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js" - }, - { - "path": "src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js" - }, - { - "path": "src/v1p2beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p2beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p2beta1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1p2beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p2beta1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1p2beta1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1p2beta1/image_annotator_client.js" - }, - { - "path": "src/v1p2beta1/image_annotator_client_config.json" - }, - { - "path": "src/v1p2beta1/image_annotator_proto_list.json" - }, - { - "path": "src/v1p2beta1/index.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js" - }, - { - "path": "src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js" - }, - { - "path": "src/v1p3beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_empty.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_field_mask.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_timestamp.js" - }, - { - "path": "src/v1p3beta1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1p3beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p3beta1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1p3beta1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1p3beta1/image_annotator_client.js" - }, - { - "path": "src/v1p3beta1/image_annotator_client_config.json" - }, - { - "path": "src/v1p3beta1/image_annotator_proto_list.json" - }, - { - "path": "src/v1p3beta1/index.js" - }, - { - "path": "src/v1p3beta1/product_search_client.js" - }, - { - "path": "src/v1p3beta1/product_search_client_config.json" - }, - { - "path": "src/v1p3beta1/product_search_proto_list.json" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js" - }, - { - "path": "src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js" - }, - { - "path": "src/v1p4beta1/doc/google/longrunning/doc_operations.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_any.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_empty.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_field_mask.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_timestamp.js" - }, - { - "path": "src/v1p4beta1/doc/google/protobuf/doc_wrappers.js" - }, - { - "path": "src/v1p4beta1/doc/google/rpc/doc_status.js" - }, - { - "path": "src/v1p4beta1/doc/google/type/doc_color.js" - }, - { - "path": "src/v1p4beta1/doc/google/type/doc_latlng.js" - }, - { - "path": "src/v1p4beta1/image_annotator_client.js" - }, - { - "path": "src/v1p4beta1/image_annotator_client_config.json" - }, - { - "path": "src/v1p4beta1/image_annotator_proto_list.json" - }, - { - "path": "src/v1p4beta1/index.js" - }, - { - "path": "src/v1p4beta1/product_search_client.js" - }, - { - "path": "src/v1p4beta1/product_search_client_config.json" - }, - { - "path": "src/v1p4beta1/product_search_proto_list.json" - }, - { - "path": "synth.metadata" - }, - { - "path": "synth.py" - }, - { - "path": "system-test/.eslintrc.yml" - }, - { - "path": "system-test/data/document.jpg" - }, - { - "path": "system-test/data/logo.jpg" - }, - { - "path": "system-test/data/rushmore.jpg" - }, - { - "path": "system-test/data/text.png" - }, - { - "path": "system-test/image_annotator_smoke_test.js" - }, - { - "path": "system-test/vision-v1p2beta1.js" - }, - { - "path": "system-test/vision.js" - }, - { - "path": "test/gapic-v1.js" - }, - { - "path": "test/gapic-v1p1beta1.js" - }, - { - "path": "test/gapic-v1p2beta1.js" - }, - { - "path": "test/gapic-v1p3beta1.js" - }, - { - "path": "test/gapic-v1p4beta1.js" - }, - { - "path": "test/helpers.test.js" - }, - { - "path": "test/index.test.js" - }, - { - "path": "test/mocha.opts" - }, - { - "path": "webpack.config.js" - } ] } \ No newline at end of file From abe82d056cc19c0dd339bb9bbe5412a10d8216a1 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Fri, 7 Feb 2020 14:04:02 -0800 Subject: [PATCH 375/588] feat: bump release level to GA (#530) --- packages/google-cloud-vision/.repo-metadata.json | 4 ++-- packages/google-cloud-vision/README.md | 11 ++++++----- packages/google-cloud-vision/synth.metadata | 5 ++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/google-cloud-vision/.repo-metadata.json b/packages/google-cloud-vision/.repo-metadata.json index 54642195d75..403b0720883 100644 --- a/packages/google-cloud-vision/.repo-metadata.json +++ b/packages/google-cloud-vision/.repo-metadata.json @@ -4,10 +4,10 @@ "product_documentation": "https://cloud.google.com/vision", "client_documentation": "https://googleapis.dev/nodejs/vision/latest", "issue_tracker": "https://issuetracker.google.com/savedsearches/559765", - "release_level": "beta", + "release_level": "ga", "language": "nodejs", "repo": "googleapis/nodejs-vision", "distribution_name": "@google-cloud/vision", "api_id": "vision.googleapis.com", "requires_billing": true -} \ No newline at end of file +} diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index f269e9f1a4e..8a60cd6de57 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -4,7 +4,7 @@ # [Google Cloud Vision API: Node.js Client](https://github.com/googleapis/nodejs-vision) -[![release level](https://img.shields.io/badge/release%20level-beta-yellow.svg?style=flat)](https://cloud.google.com/terms/launch-stages) +[![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages) [![npm version](https://img.shields.io/npm/v/@google-cloud/vision.svg)](https://www.npmjs.org/package/@google-cloud/vision) [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-vision/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-vision) @@ -102,11 +102,12 @@ also contains samples. This library follows [Semantic Versioning](http://semver.org/). +This library is considered to be **General Availability (GA)**. This means it +is stable; the code surface will not change in backwards-incompatible ways +unless absolutely necessary (e.g. because of critical security issues) or with +an extensive deprecation period. Issues and requests against **GA** libraries +are addressed with the highest priority. -This library is considered to be in **beta**. This means it is expected to be -mostly stable while we work toward a general availability release; however, -complete stability is not guaranteed. We will address issues and requests -against beta libraries with a high priority. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 8c41429bbb9..cc4795b68f3 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2020-02-07T12:46:02.997456Z", + "updateTime": "2020-02-07T20:29:26.289603Z", "sources": [ { "generator": { @@ -13,8 +13,7 @@ "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", "sha": "e46f761cd6ec15a9e3d5ed4ff321a4bcba8e8585", - "internalRef": "293710856", - "log": "e46f761cd6ec15a9e3d5ed4ff321a4bcba8e8585\nGenerate the Bazel build file for recommendengine public api\n\nPiperOrigin-RevId: 293710856\n\n68477017c4173c98addac0373950c6aa9d7b375f\nMake `language_code` optional for UpdateIntentRequest and BatchUpdateIntentsRequest.\n\nThe comments and proto annotations describe this parameter as optional.\n\nPiperOrigin-RevId: 293703548\n\n16f823f578bca4e845a19b88bb9bc5870ea71ab2\nAdd BUILD.bazel files for managedidentities API\n\nPiperOrigin-RevId: 293698246\n\n2f53fd8178c9a9de4ad10fae8dd17a7ba36133f2\nAdd v1p1beta1 config file\n\nPiperOrigin-RevId: 293696729\n\n052b274138fce2be80f97b6dcb83ab343c7c8812\nAdd source field for user event and add field behavior annotations\n\nPiperOrigin-RevId: 293693115\n\n1e89732b2d69151b1b3418fff3d4cc0434f0dded\ndatacatalog: v1beta1 add three new RPCs to gapic v1beta1 config\n\nPiperOrigin-RevId: 293692823\n\n9c8bd09bbdc7c4160a44f1fbab279b73cd7a2337\nchange the name of AccessApproval service to AccessApprovalAdmin\n\nPiperOrigin-RevId: 293690934\n\n2e23b8fbc45f5d9e200572ca662fe1271bcd6760\nAdd ListEntryGroups method, add http bindings to support entry group tagging, and update some comments.\n\nPiperOrigin-RevId: 293666452\n\n0275e38a4ca03a13d3f47a9613aac8c8b0d3f1f2\nAdd proto_package field to managedidentities API. It is needed for APIs that still depend on artman generation.\n\nPiperOrigin-RevId: 293643323\n\n4cdfe8278cb6f308106580d70648001c9146e759\nRegenerating public protos for Data Catalog to add new Custom Type Entry feature.\n\nPiperOrigin-RevId: 293614782\n\n45d2a569ab526a1fad3720f95eefb1c7330eaada\nEnable client generation for v1 ManagedIdentities API.\n\nPiperOrigin-RevId: 293515675\n\n2c17086b77e6f3bcf04a1f65758dfb0c3da1568f\nAdd the Actions on Google common types (//google/actions/type/*).\n\nPiperOrigin-RevId: 293478245\n\n781aadb932e64a12fb6ead7cd842698d99588433\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293443396\n\ne2602608c9138c2fca24162720e67f9307c30b95\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293442964\n\nc8aef82028d06b7992278fa9294c18570dc86c3d\nAdd cc_proto_library and cc_grpc_library targets for Bigtable protos.\n\nAlso fix indentation of cc_grpc_library targets in Spanner and IAM protos.\n\nPiperOrigin-RevId: 293440538\n\ne2faab04f4cb7f9755072330866689b1943a16e9\ncloudtasks: v2 replace non-standard retry params in gapic config v2\n\nPiperOrigin-RevId: 293424055\n\ndfb4097ea628a8470292c6590a4313aee0c675bd\nerrorreporting: v1beta1 add legacy artman config for php\n\nPiperOrigin-RevId: 293423790\n\nb18aed55b45bfe5b62476292c72759e6c3e573c6\nasset: v1p1beta1 updated comment for `page_size` limit.\n\nPiperOrigin-RevId: 293421386\n\nc9ef36b7956d9859a2fc86ad35fcaa16958ab44f\nbazel: Refactor CI build scripts\n\nPiperOrigin-RevId: 293387911\n\na8ed9d921fdddc61d8467bfd7c1668f0ad90435c\nfix: set Ruby module name for OrgPolicy\n\nPiperOrigin-RevId: 293257997\n\n6c7d28509bd8315de8af0889688ee20099594269\nredis: v1beta1 add UpgradeInstance and connect_mode field to Instance\n\nPiperOrigin-RevId: 293242878\n\nae0abed4fcb4c21f5cb67a82349a049524c4ef68\nredis: v1 add connect_mode field to Instance\n\nPiperOrigin-RevId: 293241914\n\n3f7a0d29b28ee9365771da2b66edf7fa2b4e9c56\nAdds service config definition for bigqueryreservation v1beta1\n\nPiperOrigin-RevId: 293234418\n\n0c88168d5ed6fe353a8cf8cbdc6bf084f6bb66a5\naddition of BUILD & configuration for accessapproval v1\n\nPiperOrigin-RevId: 293219198\n\n39bedc2e30f4778ce81193f6ba1fec56107bcfc4\naccessapproval: v1 publish protos\n\nPiperOrigin-RevId: 293167048\n\n69d9945330a5721cd679f17331a78850e2618226\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080182\n\nf6a1a6b417f39694275ca286110bc3c1ca4db0dc\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080178\n\n29d40b78e3dc1579b0b209463fbcb76e5767f72a\nExpose managedidentities/v1beta1/ API for client library usage.\n\nPiperOrigin-RevId: 292979741\n\na22129a1fb6e18056d576dfb7717aef74b63734a\nExpose managedidentities/v1/ API for client library usage.\n\nPiperOrigin-RevId: 292968186\n\nb5cbe4a4ba64ab19e6627573ff52057a1657773d\nSecurityCenter v1p1beta1: move file-level option on top to workaround protobuf.js bug.\n\nPiperOrigin-RevId: 292647187\n\nb224b317bf20c6a4fbc5030b4a969c3147f27ad3\nAdds API definitions for bigqueryreservation v1beta1.\n\nPiperOrigin-RevId: 292634722\n\nc1468702f9b17e20dd59007c0804a089b83197d2\nSynchronize new proto/yaml changes.\n\nPiperOrigin-RevId: 292626173\n\nffdfa4f55ab2f0afc11d0eb68f125ccbd5e404bd\nvision: v1p3beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605599\n\n78f61482cd028fc1d9892aa5d89d768666a954cd\nvision: v1p1beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605125\n\n60bb5a294a604fd1778c7ec87b265d13a7106171\nvision: v1p2beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604980\n\n3bcf7aa79d45eb9ec29ab9036e9359ea325a7fc3\nvision: v1p4beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604656\n\n2717b8a1c762b26911b45ecc2e4ee01d98401b28\nFix dataproc artman client library generation.\n\nPiperOrigin-RevId: 292555664\n\n7ac66d9be8a7d7de4f13566d8663978c9ee9dcd7\nAdd Dataproc Autoscaling API to V1.\n\nPiperOrigin-RevId: 292450564\n\n5d932b2c1be3a6ef487d094e3cf5c0673d0241dd\n- Improve documentation\n- Add a client_id field to StreamingPullRequest\n\nPiperOrigin-RevId: 292434036\n\neaff9fa8edec3e914995ce832b087039c5417ea7\nmonitoring: v3 publish annotations and client retry config\n\nPiperOrigin-RevId: 292425288\n\n70958bab8c5353870d31a23fb2c40305b050d3fe\nBigQuery Storage Read API v1 clients.\n\nPiperOrigin-RevId: 292407644\n\n7a15e7fe78ff4b6d5c9606a3264559e5bde341d1\nUpdate backend proto for Google Cloud Endpoints\n\nPiperOrigin-RevId: 292391607\n\n3ca2c014e24eb5111c8e7248b1e1eb833977c83d\nbazel: Add --flaky_test_attempts=3 argument to prevent CI failures caused by flaky tests\n\nPiperOrigin-RevId: 292382559\n\n9933347c1f677e81e19a844c2ef95bfceaf694fe\nbazel:Integrate latest protoc-java-resource-names-plugin changes (fix for PyYAML dependency in bazel rules)\n\nPiperOrigin-RevId: 292376626\n\nb835ab9d2f62c88561392aa26074c0b849fb0bd3\nasset: v1p2beta1 add client config annotations\n\n* remove unintentionally exposed RPCs\n* remove messages relevant to removed RPCs\n\nPiperOrigin-RevId: 292369593\n\nc1246a29e22b0f98e800a536b5b0da2d933a55f2\nUpdating v1 protos with the latest inline documentation (in comments) and config options. Also adding a per-service .yaml file.\n\nPiperOrigin-RevId: 292310790\n\nb491d07cadaae7cde5608321f913e5ca1459b32d\nRevert accidental local_repository change\n\nPiperOrigin-RevId: 292245373\n\naf3400a8cb6110025198b59a0f7d018ae3cda700\nUpdate gapic-generator dependency (prebuilt PHP binary support).\n\nPiperOrigin-RevId: 292243997\n\n341fd5690fae36f36cf626ef048fbcf4bbe7cee6\ngrafeas: v1 add resource_definition for the grafeas.io/Project and change references for Project.\n\nPiperOrigin-RevId: 292221998\n\n42e915ec2ece1cd37a590fbcd10aa2c0fb0e5b06\nUpdate the gapic-generator, protoc-java-resource-name-plugin and protoc-docs-plugin to the latest commit.\n\nPiperOrigin-RevId: 292182368\n\nf035f47250675d31492a09f4a7586cfa395520a7\nFix grafeas build and update build.sh script to include gerafeas.\n\nPiperOrigin-RevId: 292168753\n\n26ccb214b7bc4a716032a6266bcb0a9ca55d6dbb\nasset: v1p1beta1 add client config annotations and retry config\n\nPiperOrigin-RevId: 292154210\n\n974ee5c0b5d03e81a50dafcedf41e0efebb5b749\nasset: v1beta1 add client config annotations\n\nPiperOrigin-RevId: 292152573\n\ncf3b61102ed5f36b827bc82ec39be09525f018c8\n Fix to protos for v1p1beta1 release of Cloud Security Command Center\n\nPiperOrigin-RevId: 292034635\n\n4e1cfaa7c0fede9e65d64213ca3da1b1255816c0\nUpdate the public proto to support UTF-8 encoded id for CatalogService API, increase the ListCatalogItems deadline to 300s and some minor documentation change\n\nPiperOrigin-RevId: 292030970\n\n9c483584f8fd5a1b862ae07973f4cc7bb3e46648\nasset: add annotations to v1p1beta1\n\nPiperOrigin-RevId: 292009868\n\ne19209fac29731d0baf6d9ac23da1164f7bdca24\nAdd the google.rpc.context.AttributeContext message to the open source\ndirectories.\n\nPiperOrigin-RevId: 291999930\n\nae5662960573f279502bf98a108a35ba1175e782\noslogin API: move file level option on top of the file to avoid protobuf.js bug.\n\nPiperOrigin-RevId: 291990506\n\neba3897fff7c49ed85d3c47fc96fe96e47f6f684\nAdd cc_proto_library and cc_grpc_library targets for Spanner and IAM protos.\n\nPiperOrigin-RevId: 291988651\n\n" + "internalRef": "293710856" } }, { From 2bfd937e0b1fcd640421696870386b8548a02ac5 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 10 Feb 2020 18:05:04 +0100 Subject: [PATCH 376/588] chore(deps): update dependency linkinator to v2 --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index f0f47b59bbd..1befca4ca3a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -52,7 +52,7 @@ "jsdoc": "^3.6.2", "jsdoc-fresh": "^1.0.1", "jsdoc-region-tag": "^1.0.2", - "linkinator": "^1.5.0", + "linkinator": "^2.0.0", "mocha": "^7.0.0", "nyc": "^14.0.0", "prettier": "^1.13.6", From cc053b2981382519ca8ac309d8fbab6ddce27eeb Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 10 Feb 2020 20:49:09 +0100 Subject: [PATCH 377/588] fix(deps): update dependency redis to v3 (#533) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 0ebbd4ae196..eef42e17d8c 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -17,7 +17,7 @@ "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", - "redis": "^2.8.0", + "redis": "^3.0.0", "yargs": "^15.0.0" }, "devDependencies": { From 107952bca08df652e51a2eba1424b4f37519158b Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2020 13:00:22 -0800 Subject: [PATCH 378/588] chore: release 1.9.0 (#531) --- packages/google-cloud-vision/CHANGELOG.md | 12 ++++++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 4a93864ec4a..f65f955ebe0 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,18 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.9.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.8.0...v1.9.0) (2020-02-10) + + +### Features + +* bump release level to GA ([#530](https://www.github.com/googleapis/nodejs-vision/issues/530)) ([3b091ba](https://www.github.com/googleapis/nodejs-vision/commit/3b091ba7c67864e845d1f399b8052684a2d6030e)) + + +### Bug Fixes + +* **deps:** update dependency redis to v3 ([#533](https://www.github.com/googleapis/nodejs-vision/issues/533)) ([d9b50cb](https://www.github.com/googleapis/nodejs-vision/commit/d9b50cb2ac56a5eadab72efed59f12189418993c)) + ## [1.8.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.7.2...v1.8.0) (2020-01-02) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1befca4ca3a..d82cf75f92a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.8.0", + "version": "1.9.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index eef42e17d8c..8bd6eb3c228 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.8.0", + "@google-cloud/vision": "^1.9.0", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From d2c153c241b9af2c5d401067d4f1c601a3dddeaf Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 11 Feb 2020 22:36:28 -0800 Subject: [PATCH 379/588] build: add GitHub actions config for unit tests * build: add GitHub actions config for unit tests * chore: link root directory before linting * chore: also need to npm i --- packages/google-cloud-vision/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index d82cf75f92a..447d0a07ff4 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -35,7 +35,8 @@ "test": "nyc mocha", "fix": "eslint --fix '**/*.js'", "docs-test": "linkinator docs", - "predocs-test": "npm run docs" + "predocs-test": "npm run docs", + "prelint": "cd samples; npm link ../; npm i" }, "dependencies": { "@google-cloud/promisify": "^1.0.0", From a34ab795352d95c1d5c5127dc5ac8ed1fe683afa Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 20 Feb 2020 02:30:23 +0100 Subject: [PATCH 380/588] chore(deps): update dependency sinon to v9 --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 447d0a07ff4..b63a1e1ed0c 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -57,7 +57,7 @@ "mocha": "^7.0.0", "nyc": "^14.0.0", "prettier": "^1.13.6", - "sinon": "^8.0.0", + "sinon": "^9.0.0", "uuid": "^3.3.0" } } From 327cd98bbc746e0a318d234ca59f91aa27d28349 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 26 Feb 2020 21:35:20 +0100 Subject: [PATCH 381/588] chore(deps): update dependency uuid to v7 --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index b63a1e1ed0c..fb715ea44d9 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -58,6 +58,6 @@ "nyc": "^14.0.0", "prettier": "^1.13.6", "sinon": "^9.0.0", - "uuid": "^3.3.0" + "uuid": "^7.0.0" } } diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 8bd6eb3c228..c0f70603f11 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -24,6 +24,6 @@ "@google-cloud/storage": "^4.0.0", "chai": "^4.2.0", "mocha": "^7.0.0", - "uuid": "^3.2.1" + "uuid": "^7.0.0" } } From d5a477e68b0afb5a21e3c548e12e89b15da0b16c Mon Sep 17 00:00:00 2001 From: Stephen Date: Thu, 27 Feb 2020 16:25:26 -0500 Subject: [PATCH 382/588] test: remove outdated test (#539) * test: remove outdated test * lint fix * fix again --- packages/google-cloud-vision/system-test/vision.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js index d3cd8db9521..2479af73422 100644 --- a/packages/google-cloud-vision/system-test/vision.js +++ b/packages/google-cloud-vision/system-test/vision.js @@ -94,11 +94,7 @@ describe('Vision', function() { }); describe('single image', () => { - const TYPES = [ - {type: 'FACE_DETECTION'}, - {type: 'LABEL_DETECTION'}, - {type: 'SAFE_SEARCH_DETECTION'}, - ]; + const TYPES = [{type: 'LABEL_DETECTION'}, {type: 'SAFE_SEARCH_DETECTION'}]; it('should perform multiple detections', () => { return client .annotateImage({ @@ -107,7 +103,6 @@ describe('Vision', function() { }) .then(responses => { const response = responses[0]; - assert(response.faceAnnotations.length >= 1); assert(response.labelAnnotations.length >= 1); assert(response.safeSearchAnnotation !== null); }); From 3998b3c09be9586213b871be9e090e3d149ad4d4 Mon Sep 17 00:00:00 2001 From: Summer Ji Date: Thu, 27 Feb 2020 16:54:06 -0800 Subject: [PATCH 383/588] chore: update jsdoc.js (#541) --- packages/google-cloud-vision/.jsdoc.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index 897ab5f68b3..e58ecb5354b 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -36,11 +36,14 @@ module.exports = { includePattern: '\\.js$' }, templates: { - copyright: 'Copyright 2018 Google, LLC.', + copyright: 'Copyright 2019 Google, LLC.', includeDate: false, sourceFiles: false, systemName: '@google-cloud/vision', - theme: 'lumen' + theme: 'lumen', + default: { + "outputSourceFiles": false + } }, markdown: { idInHeadings: true From 67ea36ad33cc2d14453f3b5d84bccff58c5974ee Mon Sep 17 00:00:00 2001 From: Summer Ji Date: Fri, 28 Feb 2020 11:50:04 -0800 Subject: [PATCH 384/588] chore: update jsdoc - protos and double quote (#543) Co-authored-by: Alexander Fenster Co-authored-by: Justin Beckwith --- packages/google-cloud-vision/.jsdoc.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index e58ecb5354b..052146efd45 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -31,7 +31,8 @@ module.exports = { source: { excludePattern: '(^|\\/|\\\\)[._]', include: [ - 'src' + 'src', + 'protos' ], includePattern: '\\.js$' }, From 5d00684bb6e02bda4b19c8f263744981a2885f97 Mon Sep 17 00:00:00 2001 From: Xiaozhen Liu Date: Tue, 3 Mar 2020 10:17:19 -0800 Subject: [PATCH 385/588] feat: move API to typescript code generation (#532) * remove docs * update src/ * update system-test * update test/ * update json & jsdoc * update synth.py * convert system-test/ test/ test.js to test.ts * fix types in test * test * lint * unit test pass * unit test work * npm-upgrade * update helper.ts license * keep useful system-test * install in samples/ for lint test * rerun synthtool * cleanup * comments for helper methods * jsdoc * feedback * test * not exclude tslint, README * this as any not working here * fix: types for helpers * remove chai dependency * lint * all green * update dependency * silent * use linkinator 2.0.3 * feedback * format * feedback * feedback * get rid of gapic object.freeze * update synth.py * update synth.py * export extra layer feature methods Co-authored-by: Alexander Fenster Co-authored-by: Justin Beckwith --- packages/google-cloud-vision/.gitignore | 4 +- packages/google-cloud-vision/.jsdoc.js | 7 +- .../linkinator.config.json | 1 - packages/google-cloud-vision/package.json | 66 +- .../google/cloud/common_resources.proto | 52 + .../google-cloud-vision/protos/protos.d.ts | 7568 +- packages/google-cloud-vision/protos/protos.js | 62302 ++++++++-------- .../google-cloud-vision/protos/protos.json | 610 +- .../src/{helpers.js => helpers.ts} | 374 +- packages/google-cloud-vision/src/index.js | 126 - packages/google-cloud-vision/src/index.ts | 63 + .../google/cloud/vision/v1/doc_geometry.js | 96 - .../cloud/vision/v1/doc_image_annotator.js | 1525 - .../cloud/vision/v1/doc_product_search.js | 165 - .../vision/v1/doc_product_search_service.js | 881 - .../cloud/vision/v1/doc_text_annotation.js | 392 - .../cloud/vision/v1/doc_web_detection.js | 152 - .../doc/google/longrunning/doc_operations.js | 63 - .../src/v1/doc/google/protobuf/doc_any.js | 137 - .../src/v1/doc/google/protobuf/doc_empty.js | 34 - .../v1/doc/google/protobuf/doc_field_mask.js | 228 - .../v1/doc/google/protobuf/doc_timestamp.js | 117 - .../v1/doc/google/protobuf/doc_wrappers.js | 32 - .../src/v1/doc/google/rpc/doc_status.js | 47 - .../src/v1/doc/google/type/doc_color.js | 169 - .../src/v1/doc/google/type/doc_latlng.js | 37 - .../src/v1/image_annotator_client.js | 677 - .../src/v1/image_annotator_client.ts | 925 + .../src/v1/image_annotator_client_config.json | 14 +- .../src/v1/image_annotator_proto_list.json | 7 +- .../src/{v1p2beta1/index.js => v1/index.ts} | 13 +- .../src/v1/product_search_client.js | 2348 - .../src/v1/product_search_client.ts | 2544 + .../src/v1/product_search_client_config.json | 44 +- .../src/v1/product_search_proto_list.json | 7 +- .../cloud/vision/v1p1beta1/doc_geometry.js | 72 - .../vision/v1p1beta1/doc_image_annotator.js | 959 - .../vision/v1p1beta1/doc_text_annotation.js | 386 - .../vision/v1p1beta1/doc_web_detection.js | 151 - .../v1p1beta1/doc/google/protobuf/doc_any.js | 137 - .../doc/google/protobuf/doc_wrappers.js | 32 - .../v1p1beta1/doc/google/rpc/doc_status.js | 47 - .../v1p1beta1/doc/google/type/doc_color.js | 169 - .../v1p1beta1/doc/google/type/doc_latlng.js | 37 - ...or_client.js => image_annotator_client.ts} | 258 +- .../image_annotator_client_config.json | 8 +- .../v1p1beta1/image_annotator_proto_list.json | 5 +- .../src/{browser.js => v1p1beta1/index.ts} | 14 +- .../cloud/vision/v1p2beta1/doc_geometry.js | 96 - .../vision/v1p2beta1/doc_image_annotator.js | 1250 - .../vision/v1p2beta1/doc_text_annotation.js | 393 - .../vision/v1p2beta1/doc_web_detection.js | 151 - .../doc/google/longrunning/doc_operations.js | 63 - .../v1p2beta1/doc/google/protobuf/doc_any.js | 137 - .../doc/google/protobuf/doc_wrappers.js | 32 - .../v1p2beta1/doc/google/rpc/doc_status.js | 47 - .../v1p2beta1/doc/google/type/doc_color.js | 169 - .../v1p2beta1/doc/google/type/doc_latlng.js | 37 - .../src/v1p2beta1/image_annotator_client.js | 400 - .../src/v1p2beta1/image_annotator_client.ts | 468 + .../image_annotator_client_config.json | 10 +- .../v1p2beta1/image_annotator_proto_list.json | 5 +- .../index.js => v1p2beta1/index.ts} | 12 +- .../cloud/vision/v1p3beta1/doc_geometry.js | 112 - .../vision/v1p3beta1/doc_image_annotator.js | 1307 - .../vision/v1p3beta1/doc_product_search.js | 222 - .../v1p3beta1/doc_product_search_service.js | 830 - .../vision/v1p3beta1/doc_text_annotation.js | 393 - .../vision/v1p3beta1/doc_web_detection.js | 151 - .../doc/google/longrunning/doc_operations.js | 63 - .../v1p3beta1/doc/google/protobuf/doc_any.js | 137 - .../doc/google/protobuf/doc_empty.js | 34 - .../doc/google/protobuf/doc_field_mask.js | 228 - .../doc/google/protobuf/doc_timestamp.js | 117 - .../doc/google/protobuf/doc_wrappers.js | 32 - .../v1p3beta1/doc/google/rpc/doc_status.js | 47 - .../v1p3beta1/doc/google/type/doc_color.js | 169 - .../v1p3beta1/doc/google/type/doc_latlng.js | 37 - .../src/v1p3beta1/image_annotator_client.js | 400 - .../src/v1p3beta1/image_annotator_client.ts | 663 + .../image_annotator_client_config.json | 10 +- .../v1p3beta1/image_annotator_proto_list.json | 7 +- .../src/{v1/index.js => v1p3beta1/index.ts} | 15 +- .../src/v1p3beta1/product_search_client.js | 2234 - .../src/v1p3beta1/product_search_client.ts | 2497 + .../product_search_client_config.json | 46 +- .../v1p3beta1/product_search_proto_list.json | 7 +- .../google/cloud/vision/v1p4beta1/doc_face.js | 75 - .../cloud/vision/v1p4beta1/doc_geometry.js | 96 - .../vision/v1p4beta1/doc_image_annotator.js | 1459 - .../vision/v1p4beta1/doc_product_search.js | 167 - .../v1p4beta1/doc_product_search_service.js | 888 - .../vision/v1p4beta1/doc_text_annotation.js | 393 - .../vision/v1p4beta1/doc_web_detection.js | 152 - .../doc/google/longrunning/doc_operations.js | 63 - .../v1p4beta1/doc/google/protobuf/doc_any.js | 137 - .../doc/google/protobuf/doc_empty.js | 34 - .../doc/google/protobuf/doc_field_mask.js | 228 - .../doc/google/protobuf/doc_timestamp.js | 117 - .../doc/google/protobuf/doc_wrappers.js | 32 - .../v1p4beta1/doc/google/rpc/doc_status.js | 47 - .../v1p4beta1/doc/google/type/doc_color.js | 169 - .../v1p4beta1/doc/google/type/doc_latlng.js | 37 - .../src/v1p4beta1/image_annotator_client.js | 597 - .../src/v1p4beta1/image_annotator_client.ts | 853 + .../image_annotator_client_config.json | 14 +- .../v1p4beta1/image_annotator_proto_list.json | 8 +- .../src/v1p4beta1/index.js | 21 - .../src/v1p4beta1/index.ts | 20 + .../src/v1p4beta1/product_search_client.js | 2315 - .../src/v1p4beta1/product_search_client.ts | 2619 + .../product_search_client_config.json | 47 +- .../v1p4beta1/product_search_proto_list.json | 8 +- packages/google-cloud-vision/synth.metadata | 38 +- packages/google-cloud-vision/synth.py | 32 +- .../fixtures/sample/src}/index.js | 19 +- .../system-test/fixtures/sample/src/index.ts | 26 + ..._test.js => image_annotator_smoke_test.ts} | 18 +- .../system-test/install.ts | 51 + ...ision-v1p2beta1.js => vision-v1p2beta1.ts} | 18 +- .../google-cloud-vision/system-test/vision.js | 115 - .../google-cloud-vision/system-test/vision.ts | 154 + .../test/fixtures/image.jpg | 0 .../test/gapic-image_annotator-v1.ts | 329 + .../test/gapic-image_annotator-v1p1beta1.ts | 132 + ....js => gapic-image_annotator-v1p2beta1.ts} | 222 +- .../test/gapic-image_annotator-v1p3beta1.ts | 214 + .../test/gapic-image_annotator-v1p4beta1.ts | 321 + .../test/gapic-product_search-v1.ts | 1101 + .../test/gapic-product_search-v1p3beta1.ts | 1040 + .../test/gapic-product_search-v1p4beta1.ts | 1103 + packages/google-cloud-vision/test/gapic-v1.js | 1741 - .../test/gapic-v1p1beta1.js | 124 - .../test/gapic-v1p3beta1.js | 1512 - .../test/gapic-v1p4beta1.js | 1717 - .../test/{helpers.test.js => helpers.test.ts} | 436 +- .../test/{index.test.js => index.test.ts} | 12 +- packages/google-cloud-vision/tsconfig.json | 19 + packages/google-cloud-vision/tslint.json | 3 + .../google-cloud-vision/webpack.config.js | 36 +- 140 files changed, 51480 insertions(+), 66779 deletions(-) create mode 100644 packages/google-cloud-vision/protos/google/cloud/common_resources.proto rename packages/google-cloud-vision/src/{helpers.js => helpers.ts} (80%) delete mode 100644 packages/google-cloud-vision/src/index.js create mode 100644 packages/google-cloud-vision/src/index.ts delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js delete mode 100644 packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js delete mode 100644 packages/google-cloud-vision/src/v1/image_annotator_client.js create mode 100644 packages/google-cloud-vision/src/v1/image_annotator_client.ts rename packages/google-cloud-vision/src/{v1p2beta1/index.js => v1/index.ts} (61%) delete mode 100644 packages/google-cloud-vision/src/v1/product_search_client.js create mode 100644 packages/google-cloud-vision/src/v1/product_search_client.ts delete mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js delete mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js delete mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js delete mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js delete mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js delete mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js delete mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js delete mode 100644 packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js rename packages/google-cloud-vision/src/v1p1beta1/{image_annotator_client.js => image_annotator_client.ts} (50%) rename packages/google-cloud-vision/src/{browser.js => v1p1beta1/index.ts} (65%) delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js delete mode 100644 packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js create mode 100644 packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts rename packages/google-cloud-vision/src/{v1p1beta1/index.js => v1p2beta1/index.ts} (65%) delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts rename packages/google-cloud-vision/src/{v1/index.js => v1p3beta1/index.ts} (61%) delete mode 100644 packages/google-cloud-vision/src/v1p3beta1/product_search_client.js create mode 100644 packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/index.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/index.ts delete mode 100644 packages/google-cloud-vision/src/v1p4beta1/product_search_client.js create mode 100644 packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts rename packages/google-cloud-vision/{src/v1p3beta1 => system-test/fixtures/sample/src}/index.js (53%) create mode 100644 packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts rename packages/google-cloud-vision/system-test/{image_annotator_smoke_test.js => image_annotator_smoke_test.ts} (83%) create mode 100644 packages/google-cloud-vision/system-test/install.ts rename packages/google-cloud-vision/system-test/{vision-v1p2beta1.js => vision-v1p2beta1.ts} (83%) delete mode 100644 packages/google-cloud-vision/system-test/vision.js create mode 100644 packages/google-cloud-vision/system-test/vision.ts create mode 100644 packages/google-cloud-vision/test/fixtures/image.jpg create mode 100644 packages/google-cloud-vision/test/gapic-image_annotator-v1.ts create mode 100644 packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts rename packages/google-cloud-vision/test/{gapic-v1p2beta1.js => gapic-image_annotator-v1p2beta1.ts} (53%) create mode 100644 packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts create mode 100644 packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts create mode 100644 packages/google-cloud-vision/test/gapic-product_search-v1.ts create mode 100644 packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts create mode 100644 packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts delete mode 100644 packages/google-cloud-vision/test/gapic-v1.js delete mode 100644 packages/google-cloud-vision/test/gapic-v1p1beta1.js delete mode 100644 packages/google-cloud-vision/test/gapic-v1p3beta1.js delete mode 100644 packages/google-cloud-vision/test/gapic-v1p4beta1.js rename packages/google-cloud-vision/test/{helpers.test.js => helpers.test.ts} (57%) rename packages/google-cloud-vision/test/{index.test.js => index.test.ts} (91%) create mode 100644 packages/google-cloud-vision/tsconfig.json create mode 100644 packages/google-cloud-vision/tslint.json diff --git a/packages/google-cloud-vision/.gitignore b/packages/google-cloud-vision/.gitignore index 23cb08fcba9..5d32b23782f 100644 --- a/packages/google-cloud-vision/.gitignore +++ b/packages/google-cloud-vision/.gitignore @@ -1,6 +1,7 @@ **/*.log **/node_modules .coverage +coverage .nyc_output docs/ out/ @@ -9,6 +10,5 @@ system-test/secrets.js system-test/*key.json *.lock .DS_Store -__pycache__ package-lock.json -.vscode +__pycache__ diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index 052146efd45..cdb45108733 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -12,6 +12,9 @@ // 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'; @@ -31,7 +34,7 @@ module.exports = { source: { excludePattern: '(^|\\/|\\\\)[._]', include: [ - 'src', + 'build/src', 'protos' ], includePattern: '\\.js$' @@ -43,7 +46,7 @@ module.exports = { systemName: '@google-cloud/vision', theme: 'lumen', default: { - "outputSourceFiles": false + outputSourceFiles: false } }, markdown: { diff --git a/packages/google-cloud-vision/linkinator.config.json b/packages/google-cloud-vision/linkinator.config.json index df783331349..b555215ca02 100644 --- a/packages/google-cloud-vision/linkinator.config.json +++ b/packages/google-cloud-vision/linkinator.config.json @@ -3,7 +3,6 @@ "skip": [ "https://codecov.io/gh/googleapis/", "www.googleapis.com", - "setEndpoint.js", "img.shields.io" ] } diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index fb715ea44d9..a4c537dd5f7 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -8,10 +8,10 @@ "node": ">=8.10.0" }, "repository": "googleapis/nodejs-vision", - "main": "src/index.js", + "main": "build/src/index.js", "files": [ - "protos", - "src" + "build/protos", + "build/src" ], "keywords": [ "google apis client", @@ -27,37 +27,53 @@ "Google Cloud Vision API" ], "scripts": { + "test": "c8 mocha build/test", + "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../", + "lint": "gts fix && eslint --fix samples/*.js", "docs": "jsdoc -c .jsdoc.js", - "lint": "eslint '**/*.js'", - "samples-test": "cd samples/ && npm link ../ && npm test && cd ../", - "system-test": "mocha system-test/*.js smoke-test/*.js --timeout 600000", + "system-test": "mocha build/system-test", + "fix": "gts fix", "test-no-cover": "mocha test/*.js", - "test": "nyc mocha", - "fix": "eslint --fix '**/*.js'", "docs-test": "linkinator docs", "predocs-test": "npm run docs", - "prelint": "cd samples; npm link ../; npm i" + "prelint": "cd samples; npm link ../; npm i", + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/", + "compile-protos": "compileProtos src", + "prepare": "npm run compile" }, "dependencies": { - "@google-cloud/promisify": "^1.0.0", - "google-gax": "^1.7.5", - "is": "^3.2.1" + "@google-cloud/promisify": "^1.0.4", + "google-gax": "^1.14.1", + "is": "^3.3.0" }, "devDependencies": { - "@google-cloud/storage": "^4.0.0", - "codecov": "^3.0.2", - "eslint": "^6.0.0", - "eslint-config-prettier": "^6.0.0", + "@types/mocha": "^7.0.1", + "@types/node": "^13.7.4", + "@types/is": "0.0.21", + "@types/sinon": "^7.5.1", + "@types/uuid": "^3.4.7", + "c8": "^7.1.0", + "@google-cloud/storage": "^4.3.1", + "codecov": "^3.6.5", + "eslint": "^6.8.0", + "eslint-config-prettier": "^6.10.0", "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.0.0", - "jsdoc": "^3.6.2", - "jsdoc-fresh": "^1.0.1", - "jsdoc-region-tag": "^1.0.2", - "linkinator": "^2.0.0", - "mocha": "^7.0.0", - "nyc": "^14.0.0", - "prettier": "^1.13.6", + "eslint-plugin-prettier": "^3.1.2", + "gts": "^1.1.2", + "jsdoc": "^3.6.3", + "jsdoc-fresh": "^1.0.2", + "jsdoc-region-tag": "^1.0.4", + "linkinator": "^2.0.3", + "mocha": "^7.0.1", + "prettier": "^1.19.1", "sinon": "^9.0.0", - "uuid": "^7.0.0" + "uuid": "^3.4.0", + "null-loader": "^3.0.0", + "pack-n-play": "^1.0.0-2", + "ts-loader": "^6.2.1", + "typescript": "^3.7.0", + "webpack": "^4.41.6", + "webpack-cli": "^3.3.11" } } diff --git a/packages/google-cloud-vision/protos/google/cloud/common_resources.proto b/packages/google-cloud-vision/protos/google/cloud/common_resources.proto new file mode 100644 index 00000000000..56c9f800d5e --- /dev/null +++ b/packages/google-cloud-vision/protos/google/cloud/common_resources.proto @@ -0,0 +1,52 @@ +// Copyright 2019 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. + +// This file contains stub messages for common resources in GCP. +// It is not intended to be directly generated, and is instead used by +// other tooling to be able to match common resource patterns. +syntax = "proto3"; + +package google.cloud; + +import "google/api/resource.proto"; + + +option (google.api.resource_definition) = { + type: "cloudresourcemanager.googleapis.com/Project" + pattern: "projects/{project}" +}; + + +option (google.api.resource_definition) = { + type: "cloudresourcemanager.googleapis.com/Organization" + pattern: "organizations/{organization}" +}; + + +option (google.api.resource_definition) = { + type: "cloudresourcemanager.googleapis.com/Folder" + pattern: "folders/{folder}" +}; + + +option (google.api.resource_definition) = { + type: "cloudbilling.googleapis.com/BillingAccount" + pattern: "billingAccounts/{billing_account}" +}; + +option (google.api.resource_definition) = { + type: "locations.googleapis.com/Location" + pattern: "projects/{project}/locations/{location}" +}; + diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 62b66ddbf70..6a3a711abee 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -26,6 +26,396 @@ export namespace google { /** Namespace v1. */ namespace v1 { + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1.IVertex): google.cloud.vision.v1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedVertex. */ + interface INormalizedVertex { + + /** NormalizedVertex x */ + x?: (number|null); + + /** NormalizedVertex y */ + y?: (number|null); + } + + /** Represents a NormalizedVertex. */ + class NormalizedVertex implements INormalizedVertex { + + /** + * Constructs a new NormalizedVertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.INormalizedVertex); + + /** NormalizedVertex x. */ + public x: number; + + /** NormalizedVertex y. */ + public y: number; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedVertex instance + */ + public static create(properties?: google.cloud.vision.v1.INormalizedVertex): google.cloud.vision.v1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.NormalizedVertex; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.NormalizedVertex; + + /** + * Verifies a NormalizedVertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedVertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.NormalizedVertex; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @param message NormalizedVertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { + + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1.IVertex[]|null); + + /** BoundingPoly normalizedVertices */ + normalizedVertices?: (google.cloud.vision.v1.INormalizedVertex[]|null); + } + + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { + + /** + * Constructs a new BoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IBoundingPoly); + + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1.IVertex[]; + + /** BoundingPoly normalizedVertices. */ + public normalizedVertices: google.cloud.vision.v1.INormalizedVertex[]; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1.IBoundingPoly): google.cloud.vision.v1.BoundingPoly; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.BoundingPoly; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.BoundingPoly; + + /** + * Verifies a BoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.BoundingPoly; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Position. */ + interface IPosition { + + /** Position x */ + x?: (number|null); + + /** Position y */ + y?: (number|null); + + /** Position z */ + z?: (number|null); + } + + /** Represents a Position. */ + class Position implements IPosition { + + /** + * Constructs a new Position. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.IPosition); + + /** Position x. */ + public x: number; + + /** Position y. */ + public y: number; + + /** Position z. */ + public z: number; + + /** + * Creates a new Position instance using the specified properties. + * @param [properties] Properties to set + * @returns Position instance + */ + public static create(properties?: google.cloud.vision.v1.IPosition): google.cloud.vision.v1.Position; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Position message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Position; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Position; + + /** + * Verifies a Position message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Position + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Position; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Position to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Represents an ImageAnnotator */ class ImageAnnotator extends $protobuf.rpc.Service { @@ -4253,396 +4643,6 @@ export namespace google { } } - /** Properties of a Vertex. */ - interface IVertex { - - /** Vertex x */ - x?: (number|null); - - /** Vertex y */ - y?: (number|null); - } - - /** Represents a Vertex. */ - class Vertex implements IVertex { - - /** - * Constructs a new Vertex. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1.IVertex); - - /** Vertex x. */ - public x: number; - - /** Vertex y. */ - public y: number; - - /** - * Creates a new Vertex instance using the specified properties. - * @param [properties] Properties to set - * @returns Vertex instance - */ - public static create(properties?: google.cloud.vision.v1.IVertex): google.cloud.vision.v1.Vertex; - - /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Vertex message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Vertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Vertex; - - /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Vertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Vertex; - - /** - * Verifies a Vertex message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Vertex - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Vertex; - - /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. - * @param message Vertex - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Vertex to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a NormalizedVertex. */ - interface INormalizedVertex { - - /** NormalizedVertex x */ - x?: (number|null); - - /** NormalizedVertex y */ - y?: (number|null); - } - - /** Represents a NormalizedVertex. */ - class NormalizedVertex implements INormalizedVertex { - - /** - * Constructs a new NormalizedVertex. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1.INormalizedVertex); - - /** NormalizedVertex x. */ - public x: number; - - /** NormalizedVertex y. */ - public y: number; - - /** - * Creates a new NormalizedVertex instance using the specified properties. - * @param [properties] Properties to set - * @returns NormalizedVertex instance - */ - public static create(properties?: google.cloud.vision.v1.INormalizedVertex): google.cloud.vision.v1.NormalizedVertex; - - /** - * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. - * @param message NormalizedVertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. - * @param message NormalizedVertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a NormalizedVertex message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns NormalizedVertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.NormalizedVertex; - - /** - * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns NormalizedVertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.NormalizedVertex; - - /** - * Verifies a NormalizedVertex message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns NormalizedVertex - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.NormalizedVertex; - - /** - * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. - * @param message NormalizedVertex - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this NormalizedVertex to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BoundingPoly. */ - interface IBoundingPoly { - - /** BoundingPoly vertices */ - vertices?: (google.cloud.vision.v1.IVertex[]|null); - - /** BoundingPoly normalizedVertices */ - normalizedVertices?: (google.cloud.vision.v1.INormalizedVertex[]|null); - } - - /** Represents a BoundingPoly. */ - class BoundingPoly implements IBoundingPoly { - - /** - * Constructs a new BoundingPoly. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1.IBoundingPoly); - - /** BoundingPoly vertices. */ - public vertices: google.cloud.vision.v1.IVertex[]; - - /** BoundingPoly normalizedVertices. */ - public normalizedVertices: google.cloud.vision.v1.INormalizedVertex[]; - - /** - * Creates a new BoundingPoly instance using the specified properties. - * @param [properties] Properties to set - * @returns BoundingPoly instance - */ - public static create(properties?: google.cloud.vision.v1.IBoundingPoly): google.cloud.vision.v1.BoundingPoly; - - /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BoundingPoly message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.BoundingPoly; - - /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.BoundingPoly; - - /** - * Verifies a BoundingPoly message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BoundingPoly - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.BoundingPoly; - - /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. - * @param message BoundingPoly - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BoundingPoly to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Position. */ - interface IPosition { - - /** Position x */ - x?: (number|null); - - /** Position y */ - y?: (number|null); - - /** Position z */ - z?: (number|null); - } - - /** Represents a Position. */ - class Position implements IPosition { - - /** - * Constructs a new Position. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1.IPosition); - - /** Position x. */ - public x: number; - - /** Position y. */ - public y: number; - - /** Position z. */ - public z: number; - - /** - * Creates a new Position instance using the specified properties. - * @param [properties] Properties to set - * @returns Position instance - */ - public static create(properties?: google.cloud.vision.v1.IPosition): google.cloud.vision.v1.Position; - - /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. - * @param message Position message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. - * @param message Position message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Position message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Position - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.Position; - - /** - * Decodes a Position message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Position - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.Position; - - /** - * Verifies a Position message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Position - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.Position; - - /** - * Creates a plain object from a Position message. Also converts values to other types if specified. - * @param message Position - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Position to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - /** Properties of a ProductSearchParams. */ interface IProductSearchParams { @@ -10232,6 +10232,294 @@ export namespace google { /** Namespace v1p1beta1. */ namespace v1p1beta1 { + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IVertex): google.cloud.vision.v1p1beta1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { + + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p1beta1.IVertex[]|null); + } + + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { + + /** + * Constructs a new BoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IBoundingPoly); + + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p1beta1.IVertex[]; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IBoundingPoly): google.cloud.vision.v1p1beta1.BoundingPoly; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.BoundingPoly; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.BoundingPoly; + + /** + * Verifies a BoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.BoundingPoly; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Position. */ + interface IPosition { + + /** Position x */ + x?: (number|null); + + /** Position y */ + y?: (number|null); + + /** Position z */ + z?: (number|null); + } + + /** Represents a Position. */ + class Position implements IPosition { + + /** + * Constructs a new Position. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.IPosition); + + /** Position x. */ + public x: number; + + /** Position y. */ + public y: number; + + /** Position z. */ + public z: number; + + /** + * Creates a new Position instance using the specified properties. + * @param [properties] Properties to set + * @returns Position instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.IPosition): google.cloud.vision.v1p1beta1.Position; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Position message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Position; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Position; + + /** + * Verifies a Position message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Position + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Position; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Position to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Represents an ImageAnnotator */ class ImageAnnotator extends $protobuf.rpc.Service { @@ -12648,294 +12936,6 @@ export namespace google { VERY_LIKELY = 5 } - /** Properties of a Vertex. */ - interface IVertex { - - /** Vertex x */ - x?: (number|null); - - /** Vertex y */ - y?: (number|null); - } - - /** Represents a Vertex. */ - class Vertex implements IVertex { - - /** - * Constructs a new Vertex. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p1beta1.IVertex); - - /** Vertex x. */ - public x: number; - - /** Vertex y. */ - public y: number; - - /** - * Creates a new Vertex instance using the specified properties. - * @param [properties] Properties to set - * @returns Vertex instance - */ - public static create(properties?: google.cloud.vision.v1p1beta1.IVertex): google.cloud.vision.v1p1beta1.Vertex; - - /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p1beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Vertex message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Vertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Vertex; - - /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Vertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Vertex; - - /** - * Verifies a Vertex message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Vertex - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Vertex; - - /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. - * @param message Vertex - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p1beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Vertex to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BoundingPoly. */ - interface IBoundingPoly { - - /** BoundingPoly vertices */ - vertices?: (google.cloud.vision.v1p1beta1.IVertex[]|null); - } - - /** Represents a BoundingPoly. */ - class BoundingPoly implements IBoundingPoly { - - /** - * Constructs a new BoundingPoly. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p1beta1.IBoundingPoly); - - /** BoundingPoly vertices. */ - public vertices: google.cloud.vision.v1p1beta1.IVertex[]; - - /** - * Creates a new BoundingPoly instance using the specified properties. - * @param [properties] Properties to set - * @returns BoundingPoly instance - */ - public static create(properties?: google.cloud.vision.v1p1beta1.IBoundingPoly): google.cloud.vision.v1p1beta1.BoundingPoly; - - /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p1beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BoundingPoly message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.BoundingPoly; - - /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.BoundingPoly; - - /** - * Verifies a BoundingPoly message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BoundingPoly - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.BoundingPoly; - - /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. - * @param message BoundingPoly - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p1beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BoundingPoly to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Position. */ - interface IPosition { - - /** Position x */ - x?: (number|null); - - /** Position y */ - y?: (number|null); - - /** Position z */ - z?: (number|null); - } - - /** Represents a Position. */ - class Position implements IPosition { - - /** - * Constructs a new Position. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p1beta1.IPosition); - - /** Position x. */ - public x: number; - - /** Position y. */ - public y: number; - - /** Position z. */ - public z: number; - - /** - * Creates a new Position instance using the specified properties. - * @param [properties] Properties to set - * @returns Position instance - */ - public static create(properties?: google.cloud.vision.v1p1beta1.IPosition): google.cloud.vision.v1p1beta1.Position; - - /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. - * @param message Position message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p1beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. - * @param message Position message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p1beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Position message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Position - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.Position; - - /** - * Decodes a Position message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Position - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.Position; - - /** - * Verifies a Position message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Position - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.Position; - - /** - * Creates a plain object from a Position message. Also converts values to other types if specified. - * @param message Position - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p1beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Position to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - /** Properties of a TextAnnotation. */ interface ITextAnnotation { @@ -14436,6 +14436,396 @@ export namespace google { /** Namespace v1p2beta1. */ namespace v1p2beta1 { + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IVertex): google.cloud.vision.v1p2beta1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedVertex. */ + interface INormalizedVertex { + + /** NormalizedVertex x */ + x?: (number|null); + + /** NormalizedVertex y */ + y?: (number|null); + } + + /** Represents a NormalizedVertex. */ + class NormalizedVertex implements INormalizedVertex { + + /** + * Constructs a new NormalizedVertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.INormalizedVertex); + + /** NormalizedVertex x. */ + public x: number; + + /** NormalizedVertex y. */ + public y: number; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedVertex instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.INormalizedVertex): google.cloud.vision.v1p2beta1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.NormalizedVertex; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.NormalizedVertex; + + /** + * Verifies a NormalizedVertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedVertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.NormalizedVertex; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @param message NormalizedVertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { + + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p2beta1.IVertex[]|null); + + /** BoundingPoly normalizedVertices */ + normalizedVertices?: (google.cloud.vision.v1p2beta1.INormalizedVertex[]|null); + } + + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { + + /** + * Constructs a new BoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IBoundingPoly); + + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p2beta1.IVertex[]; + + /** BoundingPoly normalizedVertices. */ + public normalizedVertices: google.cloud.vision.v1p2beta1.INormalizedVertex[]; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IBoundingPoly): google.cloud.vision.v1p2beta1.BoundingPoly; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.BoundingPoly; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.BoundingPoly; + + /** + * Verifies a BoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.BoundingPoly; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Position. */ + interface IPosition { + + /** Position x */ + x?: (number|null); + + /** Position y */ + y?: (number|null); + + /** Position z */ + z?: (number|null); + } + + /** Represents a Position. */ + class Position implements IPosition { + + /** + * Constructs a new Position. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.IPosition); + + /** Position x. */ + public x: number; + + /** Position y. */ + public y: number; + + /** Position z. */ + public z: number; + + /** + * Creates a new Position instance using the specified properties. + * @param [properties] Properties to set + * @returns Position instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.IPosition): google.cloud.vision.v1p2beta1.Position; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Position message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Position; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Position; + + /** + * Verifies a Position message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Position + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Position; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Position to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Represents an ImageAnnotator */ class ImageAnnotator extends $protobuf.rpc.Service { @@ -17935,396 +18325,6 @@ export namespace google { VERY_LIKELY = 5 } - /** Properties of a Vertex. */ - interface IVertex { - - /** Vertex x */ - x?: (number|null); - - /** Vertex y */ - y?: (number|null); - } - - /** Represents a Vertex. */ - class Vertex implements IVertex { - - /** - * Constructs a new Vertex. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p2beta1.IVertex); - - /** Vertex x. */ - public x: number; - - /** Vertex y. */ - public y: number; - - /** - * Creates a new Vertex instance using the specified properties. - * @param [properties] Properties to set - * @returns Vertex instance - */ - public static create(properties?: google.cloud.vision.v1p2beta1.IVertex): google.cloud.vision.v1p2beta1.Vertex; - - /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p2beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Vertex message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Vertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Vertex; - - /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Vertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Vertex; - - /** - * Verifies a Vertex message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Vertex - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Vertex; - - /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. - * @param message Vertex - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p2beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Vertex to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a NormalizedVertex. */ - interface INormalizedVertex { - - /** NormalizedVertex x */ - x?: (number|null); - - /** NormalizedVertex y */ - y?: (number|null); - } - - /** Represents a NormalizedVertex. */ - class NormalizedVertex implements INormalizedVertex { - - /** - * Constructs a new NormalizedVertex. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p2beta1.INormalizedVertex); - - /** NormalizedVertex x. */ - public x: number; - - /** NormalizedVertex y. */ - public y: number; - - /** - * Creates a new NormalizedVertex instance using the specified properties. - * @param [properties] Properties to set - * @returns NormalizedVertex instance - */ - public static create(properties?: google.cloud.vision.v1p2beta1.INormalizedVertex): google.cloud.vision.v1p2beta1.NormalizedVertex; - - /** - * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. - * @param message NormalizedVertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p2beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. - * @param message NormalizedVertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p2beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a NormalizedVertex message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns NormalizedVertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.NormalizedVertex; - - /** - * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns NormalizedVertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.NormalizedVertex; - - /** - * Verifies a NormalizedVertex message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns NormalizedVertex - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.NormalizedVertex; - - /** - * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. - * @param message NormalizedVertex - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p2beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this NormalizedVertex to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BoundingPoly. */ - interface IBoundingPoly { - - /** BoundingPoly vertices */ - vertices?: (google.cloud.vision.v1p2beta1.IVertex[]|null); - - /** BoundingPoly normalizedVertices */ - normalizedVertices?: (google.cloud.vision.v1p2beta1.INormalizedVertex[]|null); - } - - /** Represents a BoundingPoly. */ - class BoundingPoly implements IBoundingPoly { - - /** - * Constructs a new BoundingPoly. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p2beta1.IBoundingPoly); - - /** BoundingPoly vertices. */ - public vertices: google.cloud.vision.v1p2beta1.IVertex[]; - - /** BoundingPoly normalizedVertices. */ - public normalizedVertices: google.cloud.vision.v1p2beta1.INormalizedVertex[]; - - /** - * Creates a new BoundingPoly instance using the specified properties. - * @param [properties] Properties to set - * @returns BoundingPoly instance - */ - public static create(properties?: google.cloud.vision.v1p2beta1.IBoundingPoly): google.cloud.vision.v1p2beta1.BoundingPoly; - - /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p2beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BoundingPoly message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.BoundingPoly; - - /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.BoundingPoly; - - /** - * Verifies a BoundingPoly message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BoundingPoly - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.BoundingPoly; - - /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. - * @param message BoundingPoly - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p2beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BoundingPoly to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Position. */ - interface IPosition { - - /** Position x */ - x?: (number|null); - - /** Position y */ - y?: (number|null); - - /** Position z */ - z?: (number|null); - } - - /** Represents a Position. */ - class Position implements IPosition { - - /** - * Constructs a new Position. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p2beta1.IPosition); - - /** Position x. */ - public x: number; - - /** Position y. */ - public y: number; - - /** Position z. */ - public z: number; - - /** - * Creates a new Position instance using the specified properties. - * @param [properties] Properties to set - * @returns Position instance - */ - public static create(properties?: google.cloud.vision.v1p2beta1.IPosition): google.cloud.vision.v1p2beta1.Position; - - /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. - * @param message Position message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p2beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. - * @param message Position message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p2beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Position message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Position - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.Position; - - /** - * Decodes a Position message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Position - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.Position; - - /** - * Verifies a Position message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Position - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.Position; - - /** - * Creates a plain object from a Position message. Also converts values to other types if specified. - * @param message Position - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p2beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Position to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - /** Properties of a TextAnnotation. */ interface ITextAnnotation { @@ -19825,6 +19825,486 @@ export namespace google { /** Namespace v1p3beta1. */ namespace v1p3beta1 { + /** Properties of a Vertex. */ + interface IVertex { + + /** Vertex x */ + x?: (number|null); + + /** Vertex y */ + y?: (number|null); + } + + /** Represents a Vertex. */ + class Vertex implements IVertex { + + /** + * Constructs a new Vertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IVertex); + + /** Vertex x. */ + public x: number; + + /** Vertex y. */ + public y: number; + + /** + * Creates a new Vertex instance using the specified properties. + * @param [properties] Properties to set + * @returns Vertex instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IVertex): google.cloud.vision.v1p3beta1.Vertex; + + /** + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Vertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Vertex; + + /** + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Vertex; + + /** + * Verifies a Vertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Vertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Vertex; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Vertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedVertex. */ + interface INormalizedVertex { + + /** NormalizedVertex x */ + x?: (number|null); + + /** NormalizedVertex y */ + y?: (number|null); + } + + /** Represents a NormalizedVertex. */ + class NormalizedVertex implements INormalizedVertex { + + /** + * Constructs a new NormalizedVertex. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.INormalizedVertex); + + /** NormalizedVertex x. */ + public x: number; + + /** NormalizedVertex y. */ + public y: number; + + /** + * Creates a new NormalizedVertex instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedVertex instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.INormalizedVertex): google.cloud.vision.v1p3beta1.NormalizedVertex; + + /** + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.NormalizedVertex; + + /** + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedVertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.NormalizedVertex; + + /** + * Verifies a NormalizedVertex message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedVertex + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.NormalizedVertex; + + /** + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @param message NormalizedVertex + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedVertex to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { + + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p3beta1.IVertex[]|null); + + /** BoundingPoly normalizedVertices */ + normalizedVertices?: (google.cloud.vision.v1p3beta1.INormalizedVertex[]|null); + } + + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { + + /** + * Constructs a new BoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IBoundingPoly); + + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p3beta1.IVertex[]; + + /** BoundingPoly normalizedVertices. */ + public normalizedVertices: google.cloud.vision.v1p3beta1.INormalizedVertex[]; + + /** + * Creates a new BoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns BoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IBoundingPoly): google.cloud.vision.v1p3beta1.BoundingPoly; + + /** + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.BoundingPoly; + + /** + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.BoundingPoly; + + /** + * Verifies a BoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.BoundingPoly; + + /** + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a NormalizedBoundingPoly. */ + interface INormalizedBoundingPoly { + + /** NormalizedBoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p3beta1.INormalizedVertex[]|null); + } + + /** Represents a NormalizedBoundingPoly. */ + class NormalizedBoundingPoly implements INormalizedBoundingPoly { + + /** + * Constructs a new NormalizedBoundingPoly. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly); + + /** NormalizedBoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p3beta1.INormalizedVertex[]; + + /** + * Creates a new NormalizedBoundingPoly instance using the specified properties. + * @param [properties] Properties to set + * @returns NormalizedBoundingPoly instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; + + /** + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * @param message NormalizedBoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * @param message NormalizedBoundingPoly message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NormalizedBoundingPoly message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NormalizedBoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; + + /** + * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NormalizedBoundingPoly + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; + + /** + * Verifies a NormalizedBoundingPoly message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NormalizedBoundingPoly + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; + + /** + * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified. + * @param message NormalizedBoundingPoly + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NormalizedBoundingPoly to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + /** Properties of a Position. */ + interface IPosition { + + /** Position x */ + x?: (number|null); + + /** Position y */ + y?: (number|null); + + /** Position z */ + z?: (number|null); + } + + /** Represents a Position. */ + class Position implements IPosition { + + /** + * Constructs a new Position. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.IPosition); + + /** Position x. */ + public x: number; + + /** Position y. */ + public y: number; + + /** Position z. */ + public z: number; + + /** + * Creates a new Position instance using the specified properties. + * @param [properties] Properties to set + * @returns Position instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.IPosition): google.cloud.vision.v1p3beta1.Position; + + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Position message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Position; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Position; + + /** + * Verifies a Position message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Position + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Position; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Position to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Represents an ImageAnnotator */ class ImageAnnotator extends $protobuf.rpc.Service { @@ -23458,486 +23938,6 @@ export namespace google { } } - /** Properties of a Vertex. */ - interface IVertex { - - /** Vertex x */ - x?: (number|null); - - /** Vertex y */ - y?: (number|null); - } - - /** Represents a Vertex. */ - class Vertex implements IVertex { - - /** - * Constructs a new Vertex. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p3beta1.IVertex); - - /** Vertex x. */ - public x: number; - - /** Vertex y. */ - public y: number; - - /** - * Creates a new Vertex instance using the specified properties. - * @param [properties] Properties to set - * @returns Vertex instance - */ - public static create(properties?: google.cloud.vision.v1p3beta1.IVertex): google.cloud.vision.v1p3beta1.Vertex; - - /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p3beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Vertex message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Vertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Vertex; - - /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Vertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Vertex; - - /** - * Verifies a Vertex message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Vertex - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Vertex; - - /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. - * @param message Vertex - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p3beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Vertex to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a NormalizedVertex. */ - interface INormalizedVertex { - - /** NormalizedVertex x */ - x?: (number|null); - - /** NormalizedVertex y */ - y?: (number|null); - } - - /** Represents a NormalizedVertex. */ - class NormalizedVertex implements INormalizedVertex { - - /** - * Constructs a new NormalizedVertex. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p3beta1.INormalizedVertex); - - /** NormalizedVertex x. */ - public x: number; - - /** NormalizedVertex y. */ - public y: number; - - /** - * Creates a new NormalizedVertex instance using the specified properties. - * @param [properties] Properties to set - * @returns NormalizedVertex instance - */ - public static create(properties?: google.cloud.vision.v1p3beta1.INormalizedVertex): google.cloud.vision.v1p3beta1.NormalizedVertex; - - /** - * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. - * @param message NormalizedVertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p3beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. - * @param message NormalizedVertex message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p3beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a NormalizedVertex message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns NormalizedVertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.NormalizedVertex; - - /** - * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns NormalizedVertex - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.NormalizedVertex; - - /** - * Verifies a NormalizedVertex message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns NormalizedVertex - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.NormalizedVertex; - - /** - * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. - * @param message NormalizedVertex - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p3beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this NormalizedVertex to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a BoundingPoly. */ - interface IBoundingPoly { - - /** BoundingPoly vertices */ - vertices?: (google.cloud.vision.v1p3beta1.IVertex[]|null); - - /** BoundingPoly normalizedVertices */ - normalizedVertices?: (google.cloud.vision.v1p3beta1.INormalizedVertex[]|null); - } - - /** Represents a BoundingPoly. */ - class BoundingPoly implements IBoundingPoly { - - /** - * Constructs a new BoundingPoly. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p3beta1.IBoundingPoly); - - /** BoundingPoly vertices. */ - public vertices: google.cloud.vision.v1p3beta1.IVertex[]; - - /** BoundingPoly normalizedVertices. */ - public normalizedVertices: google.cloud.vision.v1p3beta1.INormalizedVertex[]; - - /** - * Creates a new BoundingPoly instance using the specified properties. - * @param [properties] Properties to set - * @returns BoundingPoly instance - */ - public static create(properties?: google.cloud.vision.v1p3beta1.IBoundingPoly): google.cloud.vision.v1p3beta1.BoundingPoly; - - /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p3beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a BoundingPoly message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns BoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.BoundingPoly; - - /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns BoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.BoundingPoly; - - /** - * Verifies a BoundingPoly message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns BoundingPoly - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.BoundingPoly; - - /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. - * @param message BoundingPoly - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p3beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this BoundingPoly to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a NormalizedBoundingPoly. */ - interface INormalizedBoundingPoly { - - /** NormalizedBoundingPoly vertices */ - vertices?: (google.cloud.vision.v1p3beta1.INormalizedVertex[]|null); - } - - /** Represents a NormalizedBoundingPoly. */ - class NormalizedBoundingPoly implements INormalizedBoundingPoly { - - /** - * Constructs a new NormalizedBoundingPoly. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly); - - /** NormalizedBoundingPoly vertices. */ - public vertices: google.cloud.vision.v1p3beta1.INormalizedVertex[]; - - /** - * Creates a new NormalizedBoundingPoly instance using the specified properties. - * @param [properties] Properties to set - * @returns NormalizedBoundingPoly instance - */ - public static create(properties?: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; - - /** - * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. - * @param message NormalizedBoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. - * @param message NormalizedBoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a NormalizedBoundingPoly message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns NormalizedBoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; - - /** - * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns NormalizedBoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; - - /** - * Verifies a NormalizedBoundingPoly message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns NormalizedBoundingPoly - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; - - /** - * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified. - * @param message NormalizedBoundingPoly - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p3beta1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this NormalizedBoundingPoly to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of a Position. */ - interface IPosition { - - /** Position x */ - x?: (number|null); - - /** Position y */ - y?: (number|null); - - /** Position z */ - z?: (number|null); - } - - /** Represents a Position. */ - class Position implements IPosition { - - /** - * Constructs a new Position. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p3beta1.IPosition); - - /** Position x. */ - public x: number; - - /** Position y. */ - public y: number; - - /** Position z. */ - public z: number; - - /** - * Creates a new Position instance using the specified properties. - * @param [properties] Properties to set - * @returns Position instance - */ - public static create(properties?: google.cloud.vision.v1p3beta1.IPosition): google.cloud.vision.v1p3beta1.Position; - - /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. - * @param message Position message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p3beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. - * @param message Position message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p3beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Position message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Position - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.Position; - - /** - * Decodes a Position message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Position - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.Position; - - /** - * Verifies a Position message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Position - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.Position; - - /** - * Creates a plain object from a Position message. Also converts values to other types if specified. - * @param message Position - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p3beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Position to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - /** Properties of a ProductSearchParams. */ interface IProductSearchParams { @@ -29252,4863 +29252,4863 @@ export namespace google { /** Namespace v1p4beta1. */ namespace v1p4beta1 { - /** Represents an ImageAnnotator */ - class ImageAnnotator extends $protobuf.rpc.Service { - - /** - * Constructs a new ImageAnnotator 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); + /** Properties of a FaceRecognitionParams. */ + interface IFaceRecognitionParams { - /** - * Creates new ImageAnnotator 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): ImageAnnotator; + /** FaceRecognitionParams celebritySet */ + celebritySet?: (string[]|null); + } - /** - * Calls BatchAnnotateImages. - * @param request BatchAnnotateImagesRequest message or plain object - * @param callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse - */ - public batchAnnotateImages(request: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImagesCallback): void; + /** Represents a FaceRecognitionParams. */ + class FaceRecognitionParams implements IFaceRecognitionParams { /** - * Calls BatchAnnotateImages. - * @param request BatchAnnotateImagesRequest message or plain object - * @returns Promise + * Constructs a new FaceRecognitionParams. + * @param [properties] Properties to set */ - public batchAnnotateImages(request: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest): Promise; + constructor(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionParams); - /** - * Calls BatchAnnotateFiles. - * @param request BatchAnnotateFilesRequest message or plain object - * @param callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse - */ - public batchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFilesCallback): void; + /** FaceRecognitionParams celebritySet. */ + public celebritySet: string[]; /** - * Calls BatchAnnotateFiles. - * @param request BatchAnnotateFilesRequest message or plain object - * @returns Promise + * Creates a new FaceRecognitionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns FaceRecognitionParams instance */ - public batchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest): Promise; + public static create(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionParams): google.cloud.vision.v1p4beta1.FaceRecognitionParams; /** - * Calls AsyncBatchAnnotateImages. - * @param request AsyncBatchAnnotateImagesRequest message or plain object - * @param callback Node-style callback called with the error, if any, and Operation + * Encodes the specified FaceRecognitionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. + * @param message FaceRecognitionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer */ - public asyncBatchAnnotateImages(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImagesCallback): void; + public static encode(message: google.cloud.vision.v1p4beta1.IFaceRecognitionParams, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Calls AsyncBatchAnnotateImages. - * @param request AsyncBatchAnnotateImagesRequest message or plain object - * @returns Promise + * Encodes the specified FaceRecognitionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. + * @param message FaceRecognitionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer */ - public asyncBatchAnnotateImages(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest): Promise; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFaceRecognitionParams, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Calls AsyncBatchAnnotateFiles. - * @param request AsyncBatchAnnotateFilesRequest message or plain object - * @param callback Node-style callback called with the error, if any, and Operation + * Decodes a FaceRecognitionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FaceRecognitionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback): void; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceRecognitionParams; /** - * Calls AsyncBatchAnnotateFiles. - * @param request AsyncBatchAnnotateFilesRequest message or plain object - * @returns Promise + * Decodes a FaceRecognitionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FaceRecognitionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest): Promise; - } - - namespace ImageAnnotator { + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceRecognitionParams; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateImages}. - * @param error Error, if any - * @param [response] BatchAnnotateImagesResponse + * Verifies a FaceRecognitionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not */ - type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse) => void; + public static verify(message: { [k: string]: any }): (string|null); /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateFiles}. - * @param error Error, if any - * @param [response] BatchAnnotateFilesResponse + * Creates a FaceRecognitionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FaceRecognitionParams */ - type BatchAnnotateFilesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse) => void; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceRecognitionParams; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateImages}. - * @param error Error, if any - * @param [response] Operation + * Creates a plain object from a FaceRecognitionParams message. Also converts values to other types if specified. + * @param message FaceRecognitionParams + * @param [options] Conversion options + * @returns Plain object */ - type AsyncBatchAnnotateImagesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + public static toObject(message: google.cloud.vision.v1p4beta1.FaceRecognitionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateFiles}. - * @param error Error, if any - * @param [response] Operation + * Converts this FaceRecognitionParams to JSON. + * @returns JSON object */ - type AsyncBatchAnnotateFilesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + public toJSON(): { [k: string]: any }; } - /** Properties of a Feature. */ - interface IFeature { + /** Properties of a Celebrity. */ + interface ICelebrity { - /** Feature type */ - type?: (google.cloud.vision.v1p4beta1.Feature.Type|keyof typeof google.cloud.vision.v1p4beta1.Feature.Type|null); + /** Celebrity name */ + name?: (string|null); - /** Feature maxResults */ - maxResults?: (number|null); + /** Celebrity displayName */ + displayName?: (string|null); - /** Feature model */ - model?: (string|null); + /** Celebrity description */ + description?: (string|null); } - /** Represents a Feature. */ - class Feature implements IFeature { + /** Represents a Celebrity. */ + class Celebrity implements ICelebrity { /** - * Constructs a new Feature. + * Constructs a new Celebrity. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IFeature); + constructor(properties?: google.cloud.vision.v1p4beta1.ICelebrity); - /** Feature type. */ - public type: (google.cloud.vision.v1p4beta1.Feature.Type|keyof typeof google.cloud.vision.v1p4beta1.Feature.Type); + /** Celebrity name. */ + public name: string; - /** Feature maxResults. */ - public maxResults: number; + /** Celebrity displayName. */ + public displayName: string; - /** Feature model. */ - public model: string; + /** Celebrity description. */ + public description: string; /** - * Creates a new Feature instance using the specified properties. + * Creates a new Celebrity instance using the specified properties. * @param [properties] Properties to set - * @returns Feature instance + * @returns Celebrity instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IFeature): google.cloud.vision.v1p4beta1.Feature; + public static create(properties?: google.cloud.vision.v1p4beta1.ICelebrity): google.cloud.vision.v1p4beta1.Celebrity; /** - * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. - * @param message Feature message or plain object to encode + * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. + * @param message Celebrity message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.ICelebrity, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. - * @param message Feature message or plain object to encode + * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. + * @param message Celebrity message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICelebrity, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Feature message from the specified reader or buffer. + * Decodes a Celebrity message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Feature + * @returns Celebrity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Feature; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Celebrity; /** - * Decodes a Feature message from the specified reader or buffer, length delimited. + * Decodes a Celebrity message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Feature + * @returns Celebrity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Feature; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Celebrity; /** - * Verifies a Feature message. + * Verifies a Celebrity message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * Creates a Celebrity message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Feature + * @returns Celebrity */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Feature; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Celebrity; /** - * Creates a plain object from a Feature message. Also converts values to other types if specified. - * @param message Feature + * Creates a plain object from a Celebrity message. Also converts values to other types if specified. + * @param message Celebrity * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.Feature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.Celebrity, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Feature to JSON. + * Converts this Celebrity to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace Feature { - - /** Type enum. */ - enum Type { - TYPE_UNSPECIFIED = 0, - FACE_DETECTION = 1, - LANDMARK_DETECTION = 2, - LOGO_DETECTION = 3, - LABEL_DETECTION = 4, - TEXT_DETECTION = 5, - DOCUMENT_TEXT_DETECTION = 11, - SAFE_SEARCH_DETECTION = 6, - IMAGE_PROPERTIES = 7, - CROP_HINTS = 9, - WEB_DETECTION = 10, - PRODUCT_SEARCH = 12, - OBJECT_LOCALIZATION = 19 - } - } - - /** Properties of an ImageSource. */ - interface IImageSource { + /** Properties of a FaceRecognitionResult. */ + interface IFaceRecognitionResult { - /** ImageSource gcsImageUri */ - gcsImageUri?: (string|null); + /** FaceRecognitionResult celebrity */ + celebrity?: (google.cloud.vision.v1p4beta1.ICelebrity|null); - /** ImageSource imageUri */ - imageUri?: (string|null); + /** FaceRecognitionResult confidence */ + confidence?: (number|null); } - /** Represents an ImageSource. */ - class ImageSource implements IImageSource { + /** Represents a FaceRecognitionResult. */ + class FaceRecognitionResult implements IFaceRecognitionResult { /** - * Constructs a new ImageSource. + * Constructs a new FaceRecognitionResult. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IImageSource); + constructor(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionResult); - /** ImageSource gcsImageUri. */ - public gcsImageUri: string; + /** FaceRecognitionResult celebrity. */ + public celebrity?: (google.cloud.vision.v1p4beta1.ICelebrity|null); - /** ImageSource imageUri. */ - public imageUri: string; + /** FaceRecognitionResult confidence. */ + public confidence: number; /** - * Creates a new ImageSource instance using the specified properties. + * Creates a new FaceRecognitionResult instance using the specified properties. * @param [properties] Properties to set - * @returns ImageSource instance + * @returns FaceRecognitionResult instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IImageSource): google.cloud.vision.v1p4beta1.ImageSource; + public static create(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionResult): google.cloud.vision.v1p4beta1.FaceRecognitionResult; /** - * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. - * @param message ImageSource message or plain object to encode + * Encodes the specified FaceRecognitionResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. + * @param message FaceRecognitionResult message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IFaceRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. - * @param message ImageSource message or plain object to encode + * Encodes the specified FaceRecognitionResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. + * @param message FaceRecognitionResult message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFaceRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an ImageSource message from the specified reader or buffer. + * Decodes a FaceRecognitionResult message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ImageSource + * @returns FaceRecognitionResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageSource; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceRecognitionResult; /** - * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * Decodes a FaceRecognitionResult message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ImageSource + * @returns FaceRecognitionResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageSource; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceRecognitionResult; /** - * Verifies an ImageSource message. + * Verifies a FaceRecognitionResult message. * @param message Plain 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 ImageSource message from a plain object. Also converts values to their respective internal types. + * Creates a FaceRecognitionResult message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ImageSource + * @returns FaceRecognitionResult */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageSource; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceRecognitionResult; /** - * Creates a plain object from an ImageSource message. Also converts values to other types if specified. - * @param message ImageSource + * Creates a plain object from a FaceRecognitionResult message. Also converts values to other types if specified. + * @param message FaceRecognitionResult * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.ImageSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.FaceRecognitionResult, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ImageSource to JSON. + * Converts this FaceRecognitionResult to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an Image. */ - interface IImage { + /** Properties of a Vertex. */ + interface IVertex { - /** Image content */ - content?: (Uint8Array|string|null); + /** Vertex x */ + x?: (number|null); - /** Image source */ - source?: (google.cloud.vision.v1p4beta1.IImageSource|null); + /** Vertex y */ + y?: (number|null); } - /** Represents an Image. */ - class Image implements IImage { + /** Represents a Vertex. */ + class Vertex implements IVertex { /** - * Constructs a new Image. + * Constructs a new Vertex. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IImage); + constructor(properties?: google.cloud.vision.v1p4beta1.IVertex); - /** Image content. */ - public content: (Uint8Array|string); + /** Vertex x. */ + public x: number; - /** Image source. */ - public source?: (google.cloud.vision.v1p4beta1.IImageSource|null); + /** Vertex y. */ + public y: number; /** - * Creates a new Image instance using the specified properties. + * Creates a new Vertex instance using the specified properties. * @param [properties] Properties to set - * @returns Image instance + * @returns Vertex instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IImage): google.cloud.vision.v1p4beta1.Image; + public static create(properties?: google.cloud.vision.v1p4beta1.IVertex): google.cloud.vision.v1p4beta1.Vertex; /** - * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. - * @param message Image message or plain object to encode + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. - * @param message Image message or plain object to encode + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * @param message Vertex message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an Image message from the specified reader or buffer. + * Decodes a Vertex message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Image + * @returns Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Image; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Vertex; /** - * Decodes an Image message from the specified reader or buffer, length delimited. + * Decodes a Vertex message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Image + * @returns Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Image; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Vertex; /** - * Verifies an Image message. + * Verifies a Vertex message. * @param message Plain 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 Image message from a plain object. Also converts values to their respective internal types. + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Image + * @returns Vertex */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Image; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Vertex; /** - * Creates a plain object from an Image message. Also converts values to other types if specified. - * @param message Image + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @param message Vertex * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.Image, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Image to JSON. + * Converts this Vertex to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Likelihood enum. */ - enum Likelihood { - UNKNOWN = 0, - VERY_UNLIKELY = 1, - UNLIKELY = 2, - POSSIBLE = 3, - LIKELY = 4, - VERY_LIKELY = 5 - } - - /** Properties of a FaceAnnotation. */ - interface IFaceAnnotation { - - /** FaceAnnotation boundingPoly */ - boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); - - /** FaceAnnotation fdBoundingPoly */ - fdBoundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); - - /** FaceAnnotation landmarks */ - landmarks?: (google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark[]|null); - - /** FaceAnnotation rollAngle */ - rollAngle?: (number|null); - - /** FaceAnnotation panAngle */ - panAngle?: (number|null); - - /** FaceAnnotation tiltAngle */ - tiltAngle?: (number|null); - - /** FaceAnnotation detectionConfidence */ - detectionConfidence?: (number|null); - - /** FaceAnnotation landmarkingConfidence */ - landmarkingConfidence?: (number|null); - - /** FaceAnnotation joyLikelihood */ - joyLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); - - /** FaceAnnotation sorrowLikelihood */ - sorrowLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); - - /** FaceAnnotation angerLikelihood */ - angerLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); - - /** FaceAnnotation surpriseLikelihood */ - surpriseLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); - - /** FaceAnnotation underExposedLikelihood */ - underExposedLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); - - /** FaceAnnotation blurredLikelihood */ - blurredLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + /** Properties of a NormalizedVertex. */ + interface INormalizedVertex { - /** FaceAnnotation headwearLikelihood */ - headwearLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + /** NormalizedVertex x */ + x?: (number|null); - /** FaceAnnotation recognitionResult */ - recognitionResult?: (google.cloud.vision.v1p4beta1.IFaceRecognitionResult[]|null); + /** NormalizedVertex y */ + y?: (number|null); } - /** Represents a FaceAnnotation. */ - class FaceAnnotation implements IFaceAnnotation { + /** Represents a NormalizedVertex. */ + class NormalizedVertex implements INormalizedVertex { /** - * Constructs a new FaceAnnotation. + * Constructs a new NormalizedVertex. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IFaceAnnotation); - - /** FaceAnnotation boundingPoly. */ - public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); - - /** FaceAnnotation fdBoundingPoly. */ - public fdBoundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); - - /** FaceAnnotation landmarks. */ - public landmarks: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark[]; - - /** FaceAnnotation rollAngle. */ - public rollAngle: number; - - /** FaceAnnotation panAngle. */ - public panAngle: number; - - /** FaceAnnotation tiltAngle. */ - public tiltAngle: number; - - /** FaceAnnotation detectionConfidence. */ - public detectionConfidence: number; - - /** FaceAnnotation landmarkingConfidence. */ - public landmarkingConfidence: number; - - /** FaceAnnotation joyLikelihood. */ - public joyLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - - /** FaceAnnotation sorrowLikelihood. */ - public sorrowLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - - /** FaceAnnotation angerLikelihood. */ - public angerLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - - /** FaceAnnotation surpriseLikelihood. */ - public surpriseLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - - /** FaceAnnotation underExposedLikelihood. */ - public underExposedLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - - /** FaceAnnotation blurredLikelihood. */ - public blurredLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + constructor(properties?: google.cloud.vision.v1p4beta1.INormalizedVertex); - /** FaceAnnotation headwearLikelihood. */ - public headwearLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + /** NormalizedVertex x. */ + public x: number; - /** FaceAnnotation recognitionResult. */ - public recognitionResult: google.cloud.vision.v1p4beta1.IFaceRecognitionResult[]; + /** NormalizedVertex y. */ + public y: number; /** - * Creates a new FaceAnnotation instance using the specified properties. + * Creates a new NormalizedVertex instance using the specified properties. * @param [properties] Properties to set - * @returns FaceAnnotation instance + * @returns NormalizedVertex instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IFaceAnnotation): google.cloud.vision.v1p4beta1.FaceAnnotation; + public static create(properties?: google.cloud.vision.v1p4beta1.INormalizedVertex): google.cloud.vision.v1p4beta1.NormalizedVertex; /** - * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. - * @param message FaceAnnotation message or plain object to encode + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. - * @param message FaceAnnotation message or plain object to encode + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * @param message NormalizedVertex message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a FaceAnnotation message from the specified reader or buffer. + * Decodes a NormalizedVertex message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns FaceAnnotation + * @returns NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceAnnotation; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.NormalizedVertex; /** - * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns FaceAnnotation + * @returns NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceAnnotation; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.NormalizedVertex; /** - * Verifies a FaceAnnotation message. + * Verifies a NormalizedVertex message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns FaceAnnotation + * @returns NormalizedVertex */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceAnnotation; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.NormalizedVertex; /** - * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. - * @param message FaceAnnotation + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * @param message NormalizedVertex * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this FaceAnnotation to JSON. + * Converts this NormalizedVertex to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace FaceAnnotation { - - /** Properties of a Landmark. */ - interface ILandmark { - - /** Landmark type */ - type?: (google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|null); - - /** Landmark position */ - position?: (google.cloud.vision.v1p4beta1.IPosition|null); - } - - /** Represents a Landmark. */ - class Landmark implements ILandmark { - - /** - * Constructs a new Landmark. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark); - - /** Landmark type. */ - public type: (google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type); - - /** Landmark position. */ - public position?: (google.cloud.vision.v1p4beta1.IPosition|null); - - /** - * Creates a new Landmark instance using the specified properties. - * @param [properties] Properties to set - * @returns Landmark instance - */ - public static create(properties?: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; - - /** - * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @param message Landmark message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @param message Landmark message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Landmark message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; - - /** - * Decodes a Landmark message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; - - /** - * Verifies a Landmark message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Landmark message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Landmark - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; - - /** - * Creates a plain object from a Landmark message. Also converts values to other types if specified. - * @param message Landmark - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Landmark to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - namespace Landmark { - - /** Type enum. */ - enum Type { - UNKNOWN_LANDMARK = 0, - LEFT_EYE = 1, - RIGHT_EYE = 2, - LEFT_OF_LEFT_EYEBROW = 3, - RIGHT_OF_LEFT_EYEBROW = 4, - LEFT_OF_RIGHT_EYEBROW = 5, - RIGHT_OF_RIGHT_EYEBROW = 6, - MIDPOINT_BETWEEN_EYES = 7, - NOSE_TIP = 8, - UPPER_LIP = 9, - LOWER_LIP = 10, - MOUTH_LEFT = 11, - MOUTH_RIGHT = 12, - MOUTH_CENTER = 13, - NOSE_BOTTOM_RIGHT = 14, - NOSE_BOTTOM_LEFT = 15, - NOSE_BOTTOM_CENTER = 16, - LEFT_EYE_TOP_BOUNDARY = 17, - LEFT_EYE_RIGHT_CORNER = 18, - LEFT_EYE_BOTTOM_BOUNDARY = 19, - LEFT_EYE_LEFT_CORNER = 20, - RIGHT_EYE_TOP_BOUNDARY = 21, - RIGHT_EYE_RIGHT_CORNER = 22, - RIGHT_EYE_BOTTOM_BOUNDARY = 23, - RIGHT_EYE_LEFT_CORNER = 24, - LEFT_EYEBROW_UPPER_MIDPOINT = 25, - RIGHT_EYEBROW_UPPER_MIDPOINT = 26, - LEFT_EAR_TRAGION = 27, - RIGHT_EAR_TRAGION = 28, - LEFT_EYE_PUPIL = 29, - RIGHT_EYE_PUPIL = 30, - FOREHEAD_GLABELLA = 31, - CHIN_GNATHION = 32, - CHIN_LEFT_GONION = 33, - CHIN_RIGHT_GONION = 34 - } - } - } + /** Properties of a BoundingPoly. */ + interface IBoundingPoly { - /** Properties of a LocationInfo. */ - interface ILocationInfo { + /** BoundingPoly vertices */ + vertices?: (google.cloud.vision.v1p4beta1.IVertex[]|null); - /** LocationInfo latLng */ - latLng?: (google.type.ILatLng|null); + /** BoundingPoly normalizedVertices */ + normalizedVertices?: (google.cloud.vision.v1p4beta1.INormalizedVertex[]|null); } - /** Represents a LocationInfo. */ - class LocationInfo implements ILocationInfo { + /** Represents a BoundingPoly. */ + class BoundingPoly implements IBoundingPoly { /** - * Constructs a new LocationInfo. + * Constructs a new BoundingPoly. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.ILocationInfo); + constructor(properties?: google.cloud.vision.v1p4beta1.IBoundingPoly); - /** LocationInfo latLng. */ - public latLng?: (google.type.ILatLng|null); + /** BoundingPoly vertices. */ + public vertices: google.cloud.vision.v1p4beta1.IVertex[]; + + /** BoundingPoly normalizedVertices. */ + public normalizedVertices: google.cloud.vision.v1p4beta1.INormalizedVertex[]; /** - * Creates a new LocationInfo instance using the specified properties. + * Creates a new BoundingPoly instance using the specified properties. * @param [properties] Properties to set - * @returns LocationInfo instance + * @returns BoundingPoly instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.ILocationInfo): google.cloud.vision.v1p4beta1.LocationInfo; + public static create(properties?: google.cloud.vision.v1p4beta1.IBoundingPoly): google.cloud.vision.v1p4beta1.BoundingPoly; /** - * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. - * @param message LocationInfo message or plain object to encode + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. - * @param message LocationInfo message or plain object to encode + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * @param message BoundingPoly message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a LocationInfo message from the specified reader or buffer. + * Decodes a BoundingPoly message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns LocationInfo + * @returns BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.LocationInfo; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BoundingPoly; /** - * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns LocationInfo + * @returns BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.LocationInfo; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BoundingPoly; /** - * Verifies a LocationInfo message. + * Verifies a BoundingPoly message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns LocationInfo + * @returns BoundingPoly */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.LocationInfo; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BoundingPoly; /** - * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. - * @param message LocationInfo + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * @param message BoundingPoly * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.LocationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this LocationInfo to JSON. + * Converts this BoundingPoly to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a Property. */ - interface IProperty { + /** Properties of a Position. */ + interface IPosition { - /** Property name */ - name?: (string|null); + /** Position x */ + x?: (number|null); - /** Property value */ - value?: (string|null); + /** Position y */ + y?: (number|null); - /** Property uint64Value */ - uint64Value?: (number|Long|string|null); + /** Position z */ + z?: (number|null); } - /** Represents a Property. */ - class Property implements IProperty { + /** Represents a Position. */ + class Position implements IPosition { /** - * Constructs a new Property. + * Constructs a new Position. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IProperty); + constructor(properties?: google.cloud.vision.v1p4beta1.IPosition); - /** Property name. */ - public name: string; + /** Position x. */ + public x: number; - /** Property value. */ - public value: string; + /** Position y. */ + public y: number; - /** Property uint64Value. */ - public uint64Value: (number|Long|string); + /** Position z. */ + public z: number; /** - * Creates a new Property instance using the specified properties. + * Creates a new Position instance using the specified properties. * @param [properties] Properties to set - * @returns Property instance + * @returns Position instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IProperty): google.cloud.vision.v1p4beta1.Property; + public static create(properties?: google.cloud.vision.v1p4beta1.IPosition): google.cloud.vision.v1p4beta1.Position; /** - * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. - * @param message Property message or plain object to encode + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. - * @param message Property message or plain object to encode + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @param message Position message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Property message from the specified reader or buffer. + * Decodes a Position message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Property + * @returns Position * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Property; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Position; /** - * Decodes a Property message from the specified reader or buffer, length delimited. + * Decodes a Position message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Property + * @returns Position * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Property; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Position; /** - * Verifies a Property message. + * Verifies a Position message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Property message from a plain object. Also converts values to their respective internal types. + * Creates a Position message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Property + * @returns Position */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Property; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Position; /** - * Creates a plain object from a Property message. Also converts values to other types if specified. - * @param message Property + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @param message Position * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.Property, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Property to JSON. + * Converts this Position to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an EntityAnnotation. */ - interface IEntityAnnotation { - - /** EntityAnnotation mid */ - mid?: (string|null); - - /** EntityAnnotation locale */ - locale?: (string|null); - - /** EntityAnnotation description */ - description?: (string|null); - - /** EntityAnnotation score */ - score?: (number|null); - - /** EntityAnnotation confidence */ - confidence?: (number|null); - - /** EntityAnnotation topicality */ - topicality?: (number|null); - - /** EntityAnnotation boundingPoly */ - boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); - - /** EntityAnnotation locations */ - locations?: (google.cloud.vision.v1p4beta1.ILocationInfo[]|null); - - /** EntityAnnotation properties */ - properties?: (google.cloud.vision.v1p4beta1.IProperty[]|null); - } - - /** Represents an EntityAnnotation. */ - class EntityAnnotation implements IEntityAnnotation { + /** Represents an ImageAnnotator */ + class ImageAnnotator extends $protobuf.rpc.Service { /** - * Constructs a new EntityAnnotation. - * @param [properties] Properties to set + * Constructs a new ImageAnnotator service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited */ - constructor(properties?: google.cloud.vision.v1p4beta1.IEntityAnnotation); - - /** EntityAnnotation mid. */ - public mid: string; - - /** EntityAnnotation locale. */ - public locale: string; - - /** EntityAnnotation description. */ - public description: string; - - /** EntityAnnotation score. */ - public score: number; - - /** EntityAnnotation confidence. */ - public confidence: number; + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); - /** EntityAnnotation topicality. */ - public topicality: number; + /** + * Creates new ImageAnnotator 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): ImageAnnotator; - /** EntityAnnotation boundingPoly. */ - public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + */ + public batchAnnotateImages(request: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImagesCallback): void; - /** EntityAnnotation locations. */ - public locations: google.cloud.vision.v1p4beta1.ILocationInfo[]; + /** + * Calls BatchAnnotateImages. + * @param request BatchAnnotateImagesRequest message or plain object + * @returns Promise + */ + public batchAnnotateImages(request: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest): Promise; - /** EntityAnnotation properties. */ - public properties: google.cloud.vision.v1p4beta1.IProperty[]; + /** + * Calls BatchAnnotateFiles. + * @param request BatchAnnotateFilesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse + */ + public batchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFilesCallback): void; /** - * Creates a new EntityAnnotation instance using the specified properties. - * @param [properties] Properties to set - * @returns EntityAnnotation instance + * Calls BatchAnnotateFiles. + * @param request BatchAnnotateFilesRequest message or plain object + * @returns Promise */ - public static create(properties?: google.cloud.vision.v1p4beta1.IEntityAnnotation): google.cloud.vision.v1p4beta1.EntityAnnotation; + public batchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest): Promise; /** - * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. - * @param message EntityAnnotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer + * Calls AsyncBatchAnnotateImages. + * @param request AsyncBatchAnnotateImagesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation */ - public static encode(message: google.cloud.vision.v1p4beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public asyncBatchAnnotateImages(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImagesCallback): void; /** - * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. - * @param message EntityAnnotation message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer + * Calls AsyncBatchAnnotateImages. + * @param request AsyncBatchAnnotateImagesRequest message or plain object + * @returns Promise */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public asyncBatchAnnotateImages(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest): Promise; /** - * Decodes an EntityAnnotation message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns EntityAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.EntityAnnotation; + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, callback: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback): void; /** - * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns EntityAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + * Calls AsyncBatchAnnotateFiles. + * @param request AsyncBatchAnnotateFilesRequest message or plain object + * @returns Promise */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.EntityAnnotation; + public asyncBatchAnnotateFiles(request: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest): Promise; + } + + namespace ImageAnnotator { /** - * Verifies an EntityAnnotation message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateImages}. + * @param error Error, if any + * @param [response] BatchAnnotateImagesResponse */ - public static verify(message: { [k: string]: any }): (string|null); + type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse) => void; /** - * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns EntityAnnotation + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateFiles}. + * @param error Error, if any + * @param [response] BatchAnnotateFilesResponse */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.EntityAnnotation; + type BatchAnnotateFilesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse) => void; /** - * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. - * @param message EntityAnnotation - * @param [options] Conversion options - * @returns Plain object + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateImages}. + * @param error Error, if any + * @param [response] Operation */ - public static toObject(message: google.cloud.vision.v1p4beta1.EntityAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + type AsyncBatchAnnotateImagesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; /** - * Converts this EntityAnnotation to JSON. - * @returns JSON object + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @param error Error, if any + * @param [response] Operation */ - public toJSON(): { [k: string]: any }; + type AsyncBatchAnnotateFilesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; } - /** Properties of a LocalizedObjectAnnotation. */ - interface ILocalizedObjectAnnotation { - - /** LocalizedObjectAnnotation mid */ - mid?: (string|null); - - /** LocalizedObjectAnnotation languageCode */ - languageCode?: (string|null); + /** Properties of a Feature. */ + interface IFeature { - /** LocalizedObjectAnnotation name */ - name?: (string|null); + /** Feature type */ + type?: (google.cloud.vision.v1p4beta1.Feature.Type|keyof typeof google.cloud.vision.v1p4beta1.Feature.Type|null); - /** LocalizedObjectAnnotation score */ - score?: (number|null); + /** Feature maxResults */ + maxResults?: (number|null); - /** LocalizedObjectAnnotation boundingPoly */ - boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + /** Feature model */ + model?: (string|null); } - /** Represents a LocalizedObjectAnnotation. */ - class LocalizedObjectAnnotation implements ILocalizedObjectAnnotation { + /** Represents a Feature. */ + class Feature implements IFeature { /** - * Constructs a new LocalizedObjectAnnotation. + * Constructs a new Feature. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation); - - /** LocalizedObjectAnnotation mid. */ - public mid: string; - - /** LocalizedObjectAnnotation languageCode. */ - public languageCode: string; + constructor(properties?: google.cloud.vision.v1p4beta1.IFeature); - /** LocalizedObjectAnnotation name. */ - public name: string; + /** Feature type. */ + public type: (google.cloud.vision.v1p4beta1.Feature.Type|keyof typeof google.cloud.vision.v1p4beta1.Feature.Type); - /** LocalizedObjectAnnotation score. */ - public score: number; + /** Feature maxResults. */ + public maxResults: number; - /** LocalizedObjectAnnotation boundingPoly. */ - public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + /** Feature model. */ + public model: string; /** - * Creates a new LocalizedObjectAnnotation instance using the specified properties. + * Creates a new Feature instance using the specified properties. * @param [properties] Properties to set - * @returns LocalizedObjectAnnotation instance + * @returns Feature instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; + public static create(properties?: google.cloud.vision.v1p4beta1.IFeature): google.cloud.vision.v1p4beta1.Feature; /** - * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. - * @param message LocalizedObjectAnnotation message or plain object to encode + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. - * @param message LocalizedObjectAnnotation message or plain object to encode + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. + * @param message Feature message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFeature, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. + * Decodes a Feature message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns LocalizedObjectAnnotation + * @returns Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Feature; /** - * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. + * Decodes a Feature message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns LocalizedObjectAnnotation + * @returns Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Feature; /** - * Verifies a LocalizedObjectAnnotation message. + * Verifies a Feature message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a Feature message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns LocalizedObjectAnnotation + * @returns Feature */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Feature; /** - * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. - * @param message LocalizedObjectAnnotation + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @param message Feature * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.Feature, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this LocalizedObjectAnnotation to JSON. + * Converts this Feature to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a SafeSearchAnnotation. */ - interface ISafeSearchAnnotation { - - /** SafeSearchAnnotation adult */ - adult?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + namespace Feature { - /** SafeSearchAnnotation spoof */ - spoof?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + /** Type enum. */ + enum Type { + TYPE_UNSPECIFIED = 0, + FACE_DETECTION = 1, + LANDMARK_DETECTION = 2, + LOGO_DETECTION = 3, + LABEL_DETECTION = 4, + TEXT_DETECTION = 5, + DOCUMENT_TEXT_DETECTION = 11, + SAFE_SEARCH_DETECTION = 6, + IMAGE_PROPERTIES = 7, + CROP_HINTS = 9, + WEB_DETECTION = 10, + PRODUCT_SEARCH = 12, + OBJECT_LOCALIZATION = 19 + } + } - /** SafeSearchAnnotation medical */ - medical?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + /** Properties of an ImageSource. */ + interface IImageSource { - /** SafeSearchAnnotation violence */ - violence?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + /** ImageSource gcsImageUri */ + gcsImageUri?: (string|null); - /** SafeSearchAnnotation racy */ - racy?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + /** ImageSource imageUri */ + imageUri?: (string|null); } - /** Represents a SafeSearchAnnotation. */ - class SafeSearchAnnotation implements ISafeSearchAnnotation { + /** Represents an ImageSource. */ + class ImageSource implements IImageSource { /** - * Constructs a new SafeSearchAnnotation. + * Constructs a new ImageSource. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation); - - /** SafeSearchAnnotation adult. */ - public adult: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - - /** SafeSearchAnnotation spoof. */ - public spoof: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - - /** SafeSearchAnnotation medical. */ - public medical: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + constructor(properties?: google.cloud.vision.v1p4beta1.IImageSource); - /** SafeSearchAnnotation violence. */ - public violence: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + /** ImageSource gcsImageUri. */ + public gcsImageUri: string; - /** SafeSearchAnnotation racy. */ - public racy: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + /** ImageSource imageUri. */ + public imageUri: string; /** - * Creates a new SafeSearchAnnotation instance using the specified properties. + * Creates a new ImageSource instance using the specified properties. * @param [properties] Properties to set - * @returns SafeSearchAnnotation instance + * @returns ImageSource instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; + public static create(properties?: google.cloud.vision.v1p4beta1.IImageSource): google.cloud.vision.v1p4beta1.ImageSource; /** - * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. - * @param message SafeSearchAnnotation message or plain object to encode + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. - * @param message SafeSearchAnnotation message or plain object to encode + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. + * @param message ImageSource message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageSource, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * Decodes an ImageSource message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns SafeSearchAnnotation + * @returns ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageSource; /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * Decodes an ImageSource message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns SafeSearchAnnotation + * @returns ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageSource; /** - * Verifies a SafeSearchAnnotation message. + * Verifies an ImageSource message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns SafeSearchAnnotation + * @returns ImageSource */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageSource; /** - * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. - * @param message SafeSearchAnnotation + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * @param message ImageSource * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.SafeSearchAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.ImageSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this SafeSearchAnnotation to JSON. + * Converts this ImageSource to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a LatLongRect. */ - interface ILatLongRect { + /** Properties of an Image. */ + interface IImage { - /** LatLongRect minLatLng */ - minLatLng?: (google.type.ILatLng|null); + /** Image content */ + content?: (Uint8Array|string|null); - /** LatLongRect maxLatLng */ - maxLatLng?: (google.type.ILatLng|null); + /** Image source */ + source?: (google.cloud.vision.v1p4beta1.IImageSource|null); } - /** Represents a LatLongRect. */ - class LatLongRect implements ILatLongRect { + /** Represents an Image. */ + class Image implements IImage { /** - * Constructs a new LatLongRect. + * Constructs a new Image. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.ILatLongRect); + constructor(properties?: google.cloud.vision.v1p4beta1.IImage); - /** LatLongRect minLatLng. */ - public minLatLng?: (google.type.ILatLng|null); + /** Image content. */ + public content: (Uint8Array|string); - /** LatLongRect maxLatLng. */ - public maxLatLng?: (google.type.ILatLng|null); + /** Image source. */ + public source?: (google.cloud.vision.v1p4beta1.IImageSource|null); /** - * Creates a new LatLongRect instance using the specified properties. + * Creates a new Image instance using the specified properties. * @param [properties] Properties to set - * @returns LatLongRect instance + * @returns Image instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.ILatLongRect): google.cloud.vision.v1p4beta1.LatLongRect; + public static create(properties?: google.cloud.vision.v1p4beta1.IImage): google.cloud.vision.v1p4beta1.Image; /** - * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. - * @param message LatLongRect message or plain object to encode + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. - * @param message LatLongRect message or plain object to encode + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. + * @param message Image message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImage, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a LatLongRect message from the specified reader or buffer. + * Decodes an Image message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns LatLongRect + * @returns Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.LatLongRect; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Image; /** - * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * Decodes an Image message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns LatLongRect + * @returns Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.LatLongRect; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Image; /** - * Verifies a LatLongRect message. + * Verifies an Image message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * Creates an Image message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns LatLongRect + * @returns Image */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.LatLongRect; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Image; /** - * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. - * @param message LatLongRect + * Creates a plain object from an Image message. Also converts values to other types if specified. + * @param message Image * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.LatLongRect, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.Image, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this LatLongRect to JSON. + * Converts this Image to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a ColorInfo. */ - interface IColorInfo { + /** Likelihood enum. */ + enum Likelihood { + UNKNOWN = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } - /** ColorInfo color */ - color?: (google.type.IColor|null); + /** Properties of a FaceAnnotation. */ + interface IFaceAnnotation { - /** ColorInfo score */ - score?: (number|null); + /** FaceAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); - /** ColorInfo pixelFraction */ - pixelFraction?: (number|null); + /** FaceAnnotation fdBoundingPoly */ + fdBoundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks */ + landmarks?: (google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark[]|null); + + /** FaceAnnotation rollAngle */ + rollAngle?: (number|null); + + /** FaceAnnotation panAngle */ + panAngle?: (number|null); + + /** FaceAnnotation tiltAngle */ + tiltAngle?: (number|null); + + /** FaceAnnotation detectionConfidence */ + detectionConfidence?: (number|null); + + /** FaceAnnotation landmarkingConfidence */ + landmarkingConfidence?: (number|null); + + /** FaceAnnotation joyLikelihood */ + joyLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation sorrowLikelihood */ + sorrowLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation angerLikelihood */ + angerLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation surpriseLikelihood */ + surpriseLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation underExposedLikelihood */ + underExposedLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation blurredLikelihood */ + blurredLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation headwearLikelihood */ + headwearLikelihood?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** FaceAnnotation recognitionResult */ + recognitionResult?: (google.cloud.vision.v1p4beta1.IFaceRecognitionResult[]|null); } - /** Represents a ColorInfo. */ - class ColorInfo implements IColorInfo { + /** Represents a FaceAnnotation. */ + class FaceAnnotation implements IFaceAnnotation { /** - * Constructs a new ColorInfo. + * Constructs a new FaceAnnotation. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IColorInfo); + constructor(properties?: google.cloud.vision.v1p4beta1.IFaceAnnotation); + + /** FaceAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** FaceAnnotation fdBoundingPoly. */ + public fdBoundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** FaceAnnotation landmarks. */ + public landmarks: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark[]; + + /** FaceAnnotation rollAngle. */ + public rollAngle: number; + + /** FaceAnnotation panAngle. */ + public panAngle: number; + + /** FaceAnnotation tiltAngle. */ + public tiltAngle: number; + + /** FaceAnnotation detectionConfidence. */ + public detectionConfidence: number; + + /** FaceAnnotation landmarkingConfidence. */ + public landmarkingConfidence: number; + + /** FaceAnnotation joyLikelihood. */ + public joyLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + + /** FaceAnnotation sorrowLikelihood. */ + public sorrowLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + + /** FaceAnnotation angerLikelihood. */ + public angerLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + + /** FaceAnnotation surpriseLikelihood. */ + public surpriseLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + + /** FaceAnnotation underExposedLikelihood. */ + public underExposedLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - /** ColorInfo color. */ - public color?: (google.type.IColor|null); + /** FaceAnnotation blurredLikelihood. */ + public blurredLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - /** ColorInfo score. */ - public score: number; + /** FaceAnnotation headwearLikelihood. */ + public headwearLikelihood: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); - /** ColorInfo pixelFraction. */ - public pixelFraction: number; + /** FaceAnnotation recognitionResult. */ + public recognitionResult: google.cloud.vision.v1p4beta1.IFaceRecognitionResult[]; /** - * Creates a new ColorInfo instance using the specified properties. + * Creates a new FaceAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns ColorInfo instance + * @returns FaceAnnotation instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IColorInfo): google.cloud.vision.v1p4beta1.ColorInfo; + public static create(properties?: google.cloud.vision.v1p4beta1.IFaceAnnotation): google.cloud.vision.v1p4beta1.FaceAnnotation; /** - * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. - * @param message ColorInfo message or plain object to encode + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. - * @param message ColorInfo message or plain object to encode + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. + * @param message FaceAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a ColorInfo message from the specified reader or buffer. + * Decodes a FaceAnnotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ColorInfo + * @returns FaceAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ColorInfo; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceAnnotation; /** - * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ColorInfo + * @returns FaceAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ColorInfo; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceAnnotation; /** - * Verifies a ColorInfo message. + * Verifies a FaceAnnotation message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ColorInfo + * @returns FaceAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ColorInfo; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceAnnotation; /** - * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. - * @param message ColorInfo + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * @param message FaceAnnotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ColorInfo to JSON. + * Converts this FaceAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a DominantColorsAnnotation. */ - interface IDominantColorsAnnotation { + namespace FaceAnnotation { - /** DominantColorsAnnotation colors */ - colors?: (google.cloud.vision.v1p4beta1.IColorInfo[]|null); + /** Properties of a Landmark. */ + interface ILandmark { + + /** Landmark type */ + type?: (google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|null); + + /** Landmark position */ + position?: (google.cloud.vision.v1p4beta1.IPosition|null); + } + + /** Represents a Landmark. */ + class Landmark implements ILandmark { + + /** + * Constructs a new Landmark. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark); + + /** Landmark type. */ + public type: (google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|keyof typeof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type); + + /** Landmark position. */ + public position?: (google.cloud.vision.v1p4beta1.IPosition|null); + + /** + * Creates a new Landmark instance using the specified properties. + * @param [properties] Properties to set + * @returns Landmark instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; + + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @param message Landmark message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; + + /** + * Verifies a Landmark message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Landmark + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @param message Landmark + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Landmark to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace Landmark { + + /** Type enum. */ + enum Type { + UNKNOWN_LANDMARK = 0, + LEFT_EYE = 1, + RIGHT_EYE = 2, + LEFT_OF_LEFT_EYEBROW = 3, + RIGHT_OF_LEFT_EYEBROW = 4, + LEFT_OF_RIGHT_EYEBROW = 5, + RIGHT_OF_RIGHT_EYEBROW = 6, + MIDPOINT_BETWEEN_EYES = 7, + NOSE_TIP = 8, + UPPER_LIP = 9, + LOWER_LIP = 10, + MOUTH_LEFT = 11, + MOUTH_RIGHT = 12, + MOUTH_CENTER = 13, + NOSE_BOTTOM_RIGHT = 14, + NOSE_BOTTOM_LEFT = 15, + NOSE_BOTTOM_CENTER = 16, + LEFT_EYE_TOP_BOUNDARY = 17, + LEFT_EYE_RIGHT_CORNER = 18, + LEFT_EYE_BOTTOM_BOUNDARY = 19, + LEFT_EYE_LEFT_CORNER = 20, + RIGHT_EYE_TOP_BOUNDARY = 21, + RIGHT_EYE_RIGHT_CORNER = 22, + RIGHT_EYE_BOTTOM_BOUNDARY = 23, + RIGHT_EYE_LEFT_CORNER = 24, + LEFT_EYEBROW_UPPER_MIDPOINT = 25, + RIGHT_EYEBROW_UPPER_MIDPOINT = 26, + LEFT_EAR_TRAGION = 27, + RIGHT_EAR_TRAGION = 28, + LEFT_EYE_PUPIL = 29, + RIGHT_EYE_PUPIL = 30, + FOREHEAD_GLABELLA = 31, + CHIN_GNATHION = 32, + CHIN_LEFT_GONION = 33, + CHIN_RIGHT_GONION = 34 + } + } } - /** Represents a DominantColorsAnnotation. */ - class DominantColorsAnnotation implements IDominantColorsAnnotation { + /** Properties of a LocationInfo. */ + interface ILocationInfo { + + /** LocationInfo latLng */ + latLng?: (google.type.ILatLng|null); + } + + /** Represents a LocationInfo. */ + class LocationInfo implements ILocationInfo { /** - * Constructs a new DominantColorsAnnotation. + * Constructs a new LocationInfo. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation); + constructor(properties?: google.cloud.vision.v1p4beta1.ILocationInfo); - /** DominantColorsAnnotation colors. */ - public colors: google.cloud.vision.v1p4beta1.IColorInfo[]; + /** LocationInfo latLng. */ + public latLng?: (google.type.ILatLng|null); /** - * Creates a new DominantColorsAnnotation instance using the specified properties. + * Creates a new LocationInfo instance using the specified properties. * @param [properties] Properties to set - * @returns DominantColorsAnnotation instance + * @returns LocationInfo instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; + public static create(properties?: google.cloud.vision.v1p4beta1.ILocationInfo): google.cloud.vision.v1p4beta1.LocationInfo; /** - * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. - * @param message DominantColorsAnnotation message or plain object to encode + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. - * @param message DominantColorsAnnotation message or plain object to encode + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. + * @param message LocationInfo message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ILocationInfo, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * Decodes a LocationInfo message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns DominantColorsAnnotation + * @returns LocationInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.LocationInfo; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns DominantColorsAnnotation + * @returns LocationInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.LocationInfo; /** - * Verifies a DominantColorsAnnotation message. + * Verifies a LocationInfo message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns DominantColorsAnnotation + * @returns LocationInfo */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.LocationInfo; /** - * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. - * @param message DominantColorsAnnotation + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * @param message LocationInfo * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.DominantColorsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.LocationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this DominantColorsAnnotation to JSON. + * Converts this LocationInfo to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an ImageProperties. */ - interface IImageProperties { + /** Properties of a Property. */ + interface IProperty { - /** ImageProperties dominantColors */ - dominantColors?: (google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null); + /** Property name */ + name?: (string|null); + + /** Property value */ + value?: (string|null); + + /** Property uint64Value */ + uint64Value?: (number|Long|string|null); } - /** Represents an ImageProperties. */ - class ImageProperties implements IImageProperties { + /** Represents a Property. */ + class Property implements IProperty { /** - * Constructs a new ImageProperties. + * Constructs a new Property. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IImageProperties); + constructor(properties?: google.cloud.vision.v1p4beta1.IProperty); - /** ImageProperties dominantColors. */ - public dominantColors?: (google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null); + /** Property name. */ + public name: string; + + /** Property value. */ + public value: string; + + /** Property uint64Value. */ + public uint64Value: (number|Long|string); /** - * Creates a new ImageProperties instance using the specified properties. + * Creates a new Property instance using the specified properties. * @param [properties] Properties to set - * @returns ImageProperties instance + * @returns Property instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IImageProperties): google.cloud.vision.v1p4beta1.ImageProperties; + public static create(properties?: google.cloud.vision.v1p4beta1.IProperty): google.cloud.vision.v1p4beta1.Property; /** - * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. - * @param message ImageProperties message or plain object to encode + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. - * @param message ImageProperties message or plain object to encode + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. + * @param message Property message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IProperty, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an ImageProperties message from the specified reader or buffer. + * Decodes a Property message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ImageProperties + * @returns Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageProperties; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Property; /** - * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * Decodes a Property message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ImageProperties + * @returns Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageProperties; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Property; /** - * Verifies an ImageProperties message. + * Verifies a Property message. * @param message Plain 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 ImageProperties message from a plain object. Also converts values to their respective internal types. + * Creates a Property message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ImageProperties + * @returns Property */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageProperties; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Property; /** - * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. - * @param message ImageProperties + * Creates a plain object from a Property message. Also converts values to other types if specified. + * @param message Property * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.ImageProperties, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.Property, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ImageProperties to JSON. + * Converts this Property to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a CropHint. */ - interface ICropHint { + /** Properties of an EntityAnnotation. */ + interface IEntityAnnotation { - /** CropHint boundingPoly */ - boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + /** EntityAnnotation mid */ + mid?: (string|null); - /** CropHint confidence */ + /** EntityAnnotation locale */ + locale?: (string|null); + + /** EntityAnnotation description */ + description?: (string|null); + + /** EntityAnnotation score */ + score?: (number|null); + + /** EntityAnnotation confidence */ confidence?: (number|null); - /** CropHint importanceFraction */ - importanceFraction?: (number|null); + /** EntityAnnotation topicality */ + topicality?: (number|null); + + /** EntityAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** EntityAnnotation locations */ + locations?: (google.cloud.vision.v1p4beta1.ILocationInfo[]|null); + + /** EntityAnnotation properties */ + properties?: (google.cloud.vision.v1p4beta1.IProperty[]|null); } - /** Represents a CropHint. */ - class CropHint implements ICropHint { + /** Represents an EntityAnnotation. */ + class EntityAnnotation implements IEntityAnnotation { /** - * Constructs a new CropHint. + * Constructs a new EntityAnnotation. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.ICropHint); + constructor(properties?: google.cloud.vision.v1p4beta1.IEntityAnnotation); - /** CropHint boundingPoly. */ - public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + /** EntityAnnotation mid. */ + public mid: string; - /** CropHint confidence. */ + /** EntityAnnotation locale. */ + public locale: string; + + /** EntityAnnotation description. */ + public description: string; + + /** EntityAnnotation score. */ + public score: number; + + /** EntityAnnotation confidence. */ public confidence: number; - /** CropHint importanceFraction. */ - public importanceFraction: number; + /** EntityAnnotation topicality. */ + public topicality: number; + + /** EntityAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); + + /** EntityAnnotation locations. */ + public locations: google.cloud.vision.v1p4beta1.ILocationInfo[]; + + /** EntityAnnotation properties. */ + public properties: google.cloud.vision.v1p4beta1.IProperty[]; /** - * Creates a new CropHint instance using the specified properties. + * Creates a new EntityAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns CropHint instance + * @returns EntityAnnotation instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.ICropHint): google.cloud.vision.v1p4beta1.CropHint; + public static create(properties?: google.cloud.vision.v1p4beta1.IEntityAnnotation): google.cloud.vision.v1p4beta1.EntityAnnotation; /** - * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. - * @param message CropHint message or plain object to encode + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. - * @param message CropHint message or plain object to encode + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. + * @param message EntityAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IEntityAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a CropHint message from the specified reader or buffer. + * Decodes an EntityAnnotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns CropHint + * @returns EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CropHint; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.EntityAnnotation; /** - * Decodes a CropHint message from the specified reader or buffer, length delimited. + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns CropHint + * @returns EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CropHint; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.EntityAnnotation; /** - * Verifies a CropHint message. + * Verifies an EntityAnnotation message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns CropHint + * @returns EntityAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CropHint; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.EntityAnnotation; /** - * Creates a plain object from a CropHint message. Also converts values to other types if specified. - * @param message CropHint + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * @param message EntityAnnotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.CropHint, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.EntityAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this CropHint to JSON. + * Converts this EntityAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a CropHintsAnnotation. */ - interface ICropHintsAnnotation { + /** Properties of a LocalizedObjectAnnotation. */ + interface ILocalizedObjectAnnotation { - /** CropHintsAnnotation cropHints */ - cropHints?: (google.cloud.vision.v1p4beta1.ICropHint[]|null); + /** LocalizedObjectAnnotation mid */ + mid?: (string|null); + + /** LocalizedObjectAnnotation languageCode */ + languageCode?: (string|null); + + /** LocalizedObjectAnnotation name */ + name?: (string|null); + + /** LocalizedObjectAnnotation score */ + score?: (number|null); + + /** LocalizedObjectAnnotation boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); } - /** Represents a CropHintsAnnotation. */ - class CropHintsAnnotation implements ICropHintsAnnotation { + /** Represents a LocalizedObjectAnnotation. */ + class LocalizedObjectAnnotation implements ILocalizedObjectAnnotation { /** - * Constructs a new CropHintsAnnotation. + * Constructs a new LocalizedObjectAnnotation. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.ICropHintsAnnotation); + constructor(properties?: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation); - /** CropHintsAnnotation cropHints. */ - public cropHints: google.cloud.vision.v1p4beta1.ICropHint[]; + /** LocalizedObjectAnnotation mid. */ + public mid: string; + + /** LocalizedObjectAnnotation languageCode. */ + public languageCode: string; + + /** LocalizedObjectAnnotation name. */ + public name: string; + + /** LocalizedObjectAnnotation score. */ + public score: number; + + /** LocalizedObjectAnnotation boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); /** - * Creates a new CropHintsAnnotation instance using the specified properties. + * Creates a new LocalizedObjectAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns CropHintsAnnotation instance + * @returns LocalizedObjectAnnotation instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.ICropHintsAnnotation): google.cloud.vision.v1p4beta1.CropHintsAnnotation; + public static create(properties?: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; /** - * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. - * @param message CropHintsAnnotation message or plain object to encode + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @param message LocalizedObjectAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. - * @param message CropHintsAnnotation message or plain object to encode + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. + * @param message LocalizedObjectAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns CropHintsAnnotation + * @returns LocalizedObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CropHintsAnnotation; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns CropHintsAnnotation + * @returns LocalizedObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CropHintsAnnotation; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; /** - * Verifies a CropHintsAnnotation message. + * Verifies a LocalizedObjectAnnotation message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns CropHintsAnnotation + * @returns LocalizedObjectAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CropHintsAnnotation; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation; /** - * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. - * @param message CropHintsAnnotation + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. + * @param message LocalizedObjectAnnotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.CropHintsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this CropHintsAnnotation to JSON. + * Converts this LocalizedObjectAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a CropHintsParams. */ - interface ICropHintsParams { + /** Properties of a SafeSearchAnnotation. */ + interface ISafeSearchAnnotation { - /** CropHintsParams aspectRatios */ - aspectRatios?: (number[]|null); + /** SafeSearchAnnotation adult */ + adult?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** SafeSearchAnnotation spoof */ + spoof?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** SafeSearchAnnotation medical */ + medical?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** SafeSearchAnnotation violence */ + violence?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); + + /** SafeSearchAnnotation racy */ + racy?: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood|null); } - /** Represents a CropHintsParams. */ - class CropHintsParams implements ICropHintsParams { + /** Represents a SafeSearchAnnotation. */ + class SafeSearchAnnotation implements ISafeSearchAnnotation { /** - * Constructs a new CropHintsParams. + * Constructs a new SafeSearchAnnotation. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.ICropHintsParams); + constructor(properties?: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation); - /** CropHintsParams aspectRatios. */ - public aspectRatios: number[]; + /** SafeSearchAnnotation adult. */ + public adult: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + + /** SafeSearchAnnotation spoof. */ + public spoof: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + + /** SafeSearchAnnotation medical. */ + public medical: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + + /** SafeSearchAnnotation violence. */ + public violence: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); + + /** SafeSearchAnnotation racy. */ + public racy: (google.cloud.vision.v1p4beta1.Likelihood|keyof typeof google.cloud.vision.v1p4beta1.Likelihood); /** - * Creates a new CropHintsParams instance using the specified properties. + * Creates a new SafeSearchAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns CropHintsParams instance + * @returns SafeSearchAnnotation instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.ICropHintsParams): google.cloud.vision.v1p4beta1.CropHintsParams; + public static create(properties?: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; /** - * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. - * @param message CropHintsParams message or plain object to encode + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. - * @param message CropHintsParams message or plain object to encode + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. + * @param message SafeSearchAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ISafeSearchAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a CropHintsParams message from the specified reader or buffer. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns CropHintsParams + * @returns SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CropHintsParams; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; /** - * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns CropHintsParams + * @returns SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CropHintsParams; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; /** - * Verifies a CropHintsParams message. + * Verifies a SafeSearchAnnotation message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns CropHintsParams + * @returns SafeSearchAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CropHintsParams; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.SafeSearchAnnotation; /** - * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. - * @param message CropHintsParams + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * @param message SafeSearchAnnotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.CropHintsParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.SafeSearchAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this CropHintsParams to JSON. + * Converts this SafeSearchAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a WebDetectionParams. */ - interface IWebDetectionParams { + /** Properties of a LatLongRect. */ + interface ILatLongRect { - /** WebDetectionParams includeGeoResults */ - includeGeoResults?: (boolean|null); + /** LatLongRect minLatLng */ + minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng */ + maxLatLng?: (google.type.ILatLng|null); } - /** Represents a WebDetectionParams. */ - class WebDetectionParams implements IWebDetectionParams { + /** Represents a LatLongRect. */ + class LatLongRect implements ILatLongRect { /** - * Constructs a new WebDetectionParams. + * Constructs a new LatLongRect. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IWebDetectionParams); + constructor(properties?: google.cloud.vision.v1p4beta1.ILatLongRect); - /** WebDetectionParams includeGeoResults. */ - public includeGeoResults: boolean; + /** LatLongRect minLatLng. */ + public minLatLng?: (google.type.ILatLng|null); + + /** LatLongRect maxLatLng. */ + public maxLatLng?: (google.type.ILatLng|null); /** - * Creates a new WebDetectionParams instance using the specified properties. + * Creates a new LatLongRect instance using the specified properties. * @param [properties] Properties to set - * @returns WebDetectionParams instance + * @returns LatLongRect instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IWebDetectionParams): google.cloud.vision.v1p4beta1.WebDetectionParams; + public static create(properties?: google.cloud.vision.v1p4beta1.ILatLongRect): google.cloud.vision.v1p4beta1.LatLongRect; /** - * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. - * @param message WebDetectionParams message or plain object to encode + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. - * @param message WebDetectionParams message or plain object to encode + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. + * @param message LatLongRect message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ILatLongRect, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a WebDetectionParams message from the specified reader or buffer. + * Decodes a LatLongRect message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns WebDetectionParams + * @returns LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetectionParams; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.LatLongRect; /** - * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns WebDetectionParams + * @returns LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetectionParams; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.LatLongRect; /** - * Verifies a WebDetectionParams message. + * Verifies a LatLongRect message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns WebDetectionParams + * @returns LatLongRect */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetectionParams; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.LatLongRect; /** - * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. - * @param message WebDetectionParams + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * @param message LatLongRect * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.WebDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.LatLongRect, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this WebDetectionParams to JSON. + * Converts this LatLongRect to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an ImageContext. */ - interface IImageContext { - - /** ImageContext latLongRect */ - latLongRect?: (google.cloud.vision.v1p4beta1.ILatLongRect|null); - - /** ImageContext languageHints */ - languageHints?: (string[]|null); - - /** ImageContext cropHintsParams */ - cropHintsParams?: (google.cloud.vision.v1p4beta1.ICropHintsParams|null); + /** Properties of a ColorInfo. */ + interface IColorInfo { - /** ImageContext faceRecognitionParams */ - faceRecognitionParams?: (google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null); + /** ColorInfo color */ + color?: (google.type.IColor|null); - /** ImageContext productSearchParams */ - productSearchParams?: (google.cloud.vision.v1p4beta1.IProductSearchParams|null); + /** ColorInfo score */ + score?: (number|null); - /** ImageContext webDetectionParams */ - webDetectionParams?: (google.cloud.vision.v1p4beta1.IWebDetectionParams|null); + /** ColorInfo pixelFraction */ + pixelFraction?: (number|null); } - /** Represents an ImageContext. */ - class ImageContext implements IImageContext { + /** Represents a ColorInfo. */ + class ColorInfo implements IColorInfo { /** - * Constructs a new ImageContext. + * Constructs a new ColorInfo. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IImageContext); - - /** ImageContext latLongRect. */ - public latLongRect?: (google.cloud.vision.v1p4beta1.ILatLongRect|null); - - /** ImageContext languageHints. */ - public languageHints: string[]; - - /** ImageContext cropHintsParams. */ - public cropHintsParams?: (google.cloud.vision.v1p4beta1.ICropHintsParams|null); + constructor(properties?: google.cloud.vision.v1p4beta1.IColorInfo); - /** ImageContext faceRecognitionParams. */ - public faceRecognitionParams?: (google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null); + /** ColorInfo color. */ + public color?: (google.type.IColor|null); - /** ImageContext productSearchParams. */ - public productSearchParams?: (google.cloud.vision.v1p4beta1.IProductSearchParams|null); + /** ColorInfo score. */ + public score: number; - /** ImageContext webDetectionParams. */ - public webDetectionParams?: (google.cloud.vision.v1p4beta1.IWebDetectionParams|null); + /** ColorInfo pixelFraction. */ + public pixelFraction: number; /** - * Creates a new ImageContext instance using the specified properties. + * Creates a new ColorInfo instance using the specified properties. * @param [properties] Properties to set - * @returns ImageContext instance + * @returns ColorInfo instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IImageContext): google.cloud.vision.v1p4beta1.ImageContext; + public static create(properties?: google.cloud.vision.v1p4beta1.IColorInfo): google.cloud.vision.v1p4beta1.ColorInfo; /** - * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. - * @param message ImageContext message or plain object to encode + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. - * @param message ImageContext message or plain object to encode + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. + * @param message ColorInfo message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an ImageContext message from the specified reader or buffer. + * Decodes a ColorInfo message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ImageContext + * @returns ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageContext; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ColorInfo; /** - * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ImageContext + * @returns ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageContext; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ColorInfo; /** - * Verifies an ImageContext message. + * Verifies a ColorInfo message. * @param message Plain 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 ImageContext message from a plain object. Also converts values to their respective internal types. + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ImageContext + * @returns ColorInfo */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageContext; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ColorInfo; /** - * Creates a plain object from an ImageContext message. Also converts values to other types if specified. - * @param message ImageContext + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * @param message ColorInfo * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.ImageContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ImageContext to JSON. + * Converts this ColorInfo to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AnnotateImageRequest. */ - interface IAnnotateImageRequest { - - /** AnnotateImageRequest image */ - image?: (google.cloud.vision.v1p4beta1.IImage|null); - - /** AnnotateImageRequest features */ - features?: (google.cloud.vision.v1p4beta1.IFeature[]|null); + /** Properties of a DominantColorsAnnotation. */ + interface IDominantColorsAnnotation { - /** AnnotateImageRequest imageContext */ - imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + /** DominantColorsAnnotation colors */ + colors?: (google.cloud.vision.v1p4beta1.IColorInfo[]|null); } - /** Represents an AnnotateImageRequest. */ - class AnnotateImageRequest implements IAnnotateImageRequest { + /** Represents a DominantColorsAnnotation. */ + class DominantColorsAnnotation implements IDominantColorsAnnotation { /** - * Constructs a new AnnotateImageRequest. + * Constructs a new DominantColorsAnnotation. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageRequest); - - /** AnnotateImageRequest image. */ - public image?: (google.cloud.vision.v1p4beta1.IImage|null); - - /** AnnotateImageRequest features. */ - public features: google.cloud.vision.v1p4beta1.IFeature[]; + constructor(properties?: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation); - /** AnnotateImageRequest imageContext. */ - public imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + /** DominantColorsAnnotation colors. */ + public colors: google.cloud.vision.v1p4beta1.IColorInfo[]; /** - * Creates a new AnnotateImageRequest instance using the specified properties. + * Creates a new DominantColorsAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns AnnotateImageRequest instance + * @returns DominantColorsAnnotation instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageRequest): google.cloud.vision.v1p4beta1.AnnotateImageRequest; + public static create(properties?: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; /** - * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. - * @param message AnnotateImageRequest message or plain object to encode + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. - * @param message AnnotateImageRequest message or plain object to encode + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. + * @param message DominantColorsAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IDominantColorsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AnnotateImageRequest + * @returns DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateImageRequest; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AnnotateImageRequest + * @returns DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateImageRequest; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; /** - * Verifies an AnnotateImageRequest message. + * Verifies a DominantColorsAnnotation message. * @param message Plain 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 AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AnnotateImageRequest + * @returns DominantColorsAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateImageRequest; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.DominantColorsAnnotation; /** - * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. - * @param message AnnotateImageRequest + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * @param message DominantColorsAnnotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.DominantColorsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AnnotateImageRequest to JSON. + * Converts this DominantColorsAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an ImageAnnotationContext. */ - interface IImageAnnotationContext { - - /** ImageAnnotationContext uri */ - uri?: (string|null); + /** Properties of an ImageProperties. */ + interface IImageProperties { - /** ImageAnnotationContext pageNumber */ - pageNumber?: (number|null); + /** ImageProperties dominantColors */ + dominantColors?: (google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null); } - /** Represents an ImageAnnotationContext. */ - class ImageAnnotationContext implements IImageAnnotationContext { + /** Represents an ImageProperties. */ + class ImageProperties implements IImageProperties { /** - * Constructs a new ImageAnnotationContext. + * Constructs a new ImageProperties. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IImageAnnotationContext); - - /** ImageAnnotationContext uri. */ - public uri: string; + constructor(properties?: google.cloud.vision.v1p4beta1.IImageProperties); - /** ImageAnnotationContext pageNumber. */ - public pageNumber: number; + /** ImageProperties dominantColors. */ + public dominantColors?: (google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null); /** - * Creates a new ImageAnnotationContext instance using the specified properties. + * Creates a new ImageProperties instance using the specified properties. * @param [properties] Properties to set - * @returns ImageAnnotationContext instance + * @returns ImageProperties instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IImageAnnotationContext): google.cloud.vision.v1p4beta1.ImageAnnotationContext; + public static create(properties?: google.cloud.vision.v1p4beta1.IImageProperties): google.cloud.vision.v1p4beta1.ImageProperties; /** - * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. - * @param message ImageAnnotationContext message or plain object to encode + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. - * @param message ImageAnnotationContext message or plain object to encode + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. + * @param message ImageProperties message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageProperties, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * Decodes an ImageProperties message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ImageAnnotationContext - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageAnnotationContext; - - /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns ImageAnnotationContext + * @returns ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageAnnotationContext; - - /** - * Verifies an ImageAnnotationContext message. - * @param message Plain 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 ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns ImageAnnotationContext - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageAnnotationContext; - - /** - * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. - * @param message ImageAnnotationContext - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p4beta1.ImageAnnotationContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageProperties; /** - * Converts this ImageAnnotationContext to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - - /** Properties of an AnnotateImageResponse. */ - interface IAnnotateImageResponse { - - /** AnnotateImageResponse faceAnnotations */ - faceAnnotations?: (google.cloud.vision.v1p4beta1.IFaceAnnotation[]|null); - - /** AnnotateImageResponse landmarkAnnotations */ - landmarkAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); - - /** AnnotateImageResponse logoAnnotations */ - logoAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); - - /** AnnotateImageResponse labelAnnotations */ - labelAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); - - /** AnnotateImageResponse localizedObjectAnnotations */ - localizedObjectAnnotations?: (google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation[]|null); - - /** AnnotateImageResponse textAnnotations */ - textAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); - - /** AnnotateImageResponse fullTextAnnotation */ - fullTextAnnotation?: (google.cloud.vision.v1p4beta1.ITextAnnotation|null); - - /** AnnotateImageResponse safeSearchAnnotation */ - safeSearchAnnotation?: (google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null); - - /** AnnotateImageResponse imagePropertiesAnnotation */ - imagePropertiesAnnotation?: (google.cloud.vision.v1p4beta1.IImageProperties|null); - - /** AnnotateImageResponse cropHintsAnnotation */ - cropHintsAnnotation?: (google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null); - - /** AnnotateImageResponse webDetection */ - webDetection?: (google.cloud.vision.v1p4beta1.IWebDetection|null); - - /** AnnotateImageResponse productSearchResults */ - productSearchResults?: (google.cloud.vision.v1p4beta1.IProductSearchResults|null); - - /** AnnotateImageResponse error */ - error?: (google.rpc.IStatus|null); - - /** AnnotateImageResponse context */ - context?: (google.cloud.vision.v1p4beta1.IImageAnnotationContext|null); - } - - /** Represents an AnnotateImageResponse. */ - class AnnotateImageResponse implements IAnnotateImageResponse { + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImageProperties + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageProperties; /** - * Constructs a new AnnotateImageResponse. - * @param [properties] Properties to set + * Verifies an ImageProperties message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageResponse); - - /** AnnotateImageResponse faceAnnotations. */ - public faceAnnotations: google.cloud.vision.v1p4beta1.IFaceAnnotation[]; - - /** AnnotateImageResponse landmarkAnnotations. */ - public landmarkAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + public static verify(message: { [k: string]: any }): (string|null); - /** AnnotateImageResponse logoAnnotations. */ - public logoAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + /** + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImageProperties + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageProperties; - /** AnnotateImageResponse labelAnnotations. */ - public labelAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + /** + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * @param message ImageProperties + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.ImageProperties, options?: $protobuf.IConversionOptions): { [k: string]: any }; - /** AnnotateImageResponse localizedObjectAnnotations. */ - public localizedObjectAnnotations: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation[]; + /** + * Converts this ImageProperties to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } - /** AnnotateImageResponse textAnnotations. */ - public textAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + /** Properties of a CropHint. */ + interface ICropHint { - /** AnnotateImageResponse fullTextAnnotation. */ - public fullTextAnnotation?: (google.cloud.vision.v1p4beta1.ITextAnnotation|null); + /** CropHint boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); - /** AnnotateImageResponse safeSearchAnnotation. */ - public safeSearchAnnotation?: (google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null); + /** CropHint confidence */ + confidence?: (number|null); - /** AnnotateImageResponse imagePropertiesAnnotation. */ - public imagePropertiesAnnotation?: (google.cloud.vision.v1p4beta1.IImageProperties|null); + /** CropHint importanceFraction */ + importanceFraction?: (number|null); + } - /** AnnotateImageResponse cropHintsAnnotation. */ - public cropHintsAnnotation?: (google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null); + /** Represents a CropHint. */ + class CropHint implements ICropHint { - /** AnnotateImageResponse webDetection. */ - public webDetection?: (google.cloud.vision.v1p4beta1.IWebDetection|null); + /** + * Constructs a new CropHint. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ICropHint); - /** AnnotateImageResponse productSearchResults. */ - public productSearchResults?: (google.cloud.vision.v1p4beta1.IProductSearchResults|null); + /** CropHint boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p4beta1.IBoundingPoly|null); - /** AnnotateImageResponse error. */ - public error?: (google.rpc.IStatus|null); + /** CropHint confidence. */ + public confidence: number; - /** AnnotateImageResponse context. */ - public context?: (google.cloud.vision.v1p4beta1.IImageAnnotationContext|null); + /** CropHint importanceFraction. */ + public importanceFraction: number; /** - * Creates a new AnnotateImageResponse instance using the specified properties. + * Creates a new CropHint instance using the specified properties. * @param [properties] Properties to set - * @returns AnnotateImageResponse instance + * @returns CropHint instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageResponse): google.cloud.vision.v1p4beta1.AnnotateImageResponse; + public static create(properties?: google.cloud.vision.v1p4beta1.ICropHint): google.cloud.vision.v1p4beta1.CropHint; /** - * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. - * @param message AnnotateImageResponse message or plain object to encode + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. - * @param message AnnotateImageResponse message or plain object to encode + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. + * @param message CropHint message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICropHint, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * Decodes a CropHint message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AnnotateImageResponse + * @returns CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateImageResponse; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CropHint; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * Decodes a CropHint message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AnnotateImageResponse + * @returns CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateImageResponse; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CropHint; /** - * Verifies an AnnotateImageResponse message. + * Verifies a CropHint message. * @param message Plain 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 AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AnnotateImageResponse + * @returns CropHint */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateImageResponse; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CropHint; /** - * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. - * @param message AnnotateImageResponse + * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * @param message CropHint * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateImageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.CropHint, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AnnotateImageResponse to JSON. + * Converts this CropHint to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a BatchAnnotateImagesRequest. */ - interface IBatchAnnotateImagesRequest { + /** Properties of a CropHintsAnnotation. */ + interface ICropHintsAnnotation { - /** BatchAnnotateImagesRequest requests */ - requests?: (google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]|null); + /** CropHintsAnnotation cropHints */ + cropHints?: (google.cloud.vision.v1p4beta1.ICropHint[]|null); } - /** Represents a BatchAnnotateImagesRequest. */ - class BatchAnnotateImagesRequest implements IBatchAnnotateImagesRequest { + /** Represents a CropHintsAnnotation. */ + class CropHintsAnnotation implements ICropHintsAnnotation { /** - * Constructs a new BatchAnnotateImagesRequest. + * Constructs a new CropHintsAnnotation. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest); + constructor(properties?: google.cloud.vision.v1p4beta1.ICropHintsAnnotation); - /** BatchAnnotateImagesRequest requests. */ - public requests: google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]; + /** CropHintsAnnotation cropHints. */ + public cropHints: google.cloud.vision.v1p4beta1.ICropHint[]; /** - * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * Creates a new CropHintsAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns BatchAnnotateImagesRequest instance + * @returns CropHintsAnnotation instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; + public static create(properties?: google.cloud.vision.v1p4beta1.ICropHintsAnnotation): google.cloud.vision.v1p4beta1.CropHintsAnnotation; /** - * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. - * @param message BatchAnnotateImagesRequest message or plain object to encode + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. - * @param message BatchAnnotateImagesRequest message or plain object to encode + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. + * @param message CropHintsAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICropHintsAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * Decodes a CropHintsAnnotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns BatchAnnotateImagesRequest + * @returns CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CropHintsAnnotation; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns BatchAnnotateImagesRequest + * @returns CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CropHintsAnnotation; /** - * Verifies a BatchAnnotateImagesRequest message. + * Verifies a CropHintsAnnotation message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns BatchAnnotateImagesRequest + * @returns CropHintsAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CropHintsAnnotation; /** - * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. - * @param message BatchAnnotateImagesRequest + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * @param message CropHintsAnnotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.CropHintsAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this BatchAnnotateImagesRequest to JSON. + * Converts this CropHintsAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a BatchAnnotateImagesResponse. */ - interface IBatchAnnotateImagesResponse { + /** Properties of a CropHintsParams. */ + interface ICropHintsParams { - /** BatchAnnotateImagesResponse responses */ - responses?: (google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]|null); + /** CropHintsParams aspectRatios */ + aspectRatios?: (number[]|null); } - /** Represents a BatchAnnotateImagesResponse. */ - class BatchAnnotateImagesResponse implements IBatchAnnotateImagesResponse { + /** Represents a CropHintsParams. */ + class CropHintsParams implements ICropHintsParams { /** - * Constructs a new BatchAnnotateImagesResponse. + * Constructs a new CropHintsParams. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse); + constructor(properties?: google.cloud.vision.v1p4beta1.ICropHintsParams); - /** BatchAnnotateImagesResponse responses. */ - public responses: google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]; + /** CropHintsParams aspectRatios. */ + public aspectRatios: number[]; /** - * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * Creates a new CropHintsParams instance using the specified properties. * @param [properties] Properties to set - * @returns BatchAnnotateImagesResponse instance + * @returns CropHintsParams instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; + public static create(properties?: google.cloud.vision.v1p4beta1.ICropHintsParams): google.cloud.vision.v1p4beta1.CropHintsParams; /** - * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. - * @param message BatchAnnotateImagesResponse message or plain object to encode + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. - * @param message BatchAnnotateImagesResponse message or plain object to encode + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. + * @param message CropHintsParams message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICropHintsParams, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * Decodes a CropHintsParams message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns BatchAnnotateImagesResponse + * @returns CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.CropHintsParams; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns BatchAnnotateImagesResponse + * @returns CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.CropHintsParams; /** - * Verifies a BatchAnnotateImagesResponse message. + * Verifies a CropHintsParams message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns BatchAnnotateImagesResponse + * @returns CropHintsParams */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.CropHintsParams; /** - * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. - * @param message BatchAnnotateImagesResponse + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * @param message CropHintsParams * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.CropHintsParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this BatchAnnotateImagesResponse to JSON. + * Converts this CropHintsParams to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AnnotateFileRequest. */ - interface IAnnotateFileRequest { - - /** AnnotateFileRequest inputConfig */ - inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); - - /** AnnotateFileRequest features */ - features?: (google.cloud.vision.v1p4beta1.IFeature[]|null); - - /** AnnotateFileRequest imageContext */ - imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + /** Properties of a WebDetectionParams. */ + interface IWebDetectionParams { - /** AnnotateFileRequest pages */ - pages?: (number[]|null); + /** WebDetectionParams includeGeoResults */ + includeGeoResults?: (boolean|null); } - /** Represents an AnnotateFileRequest. */ - class AnnotateFileRequest implements IAnnotateFileRequest { + /** Represents a WebDetectionParams. */ + class WebDetectionParams implements IWebDetectionParams { /** - * Constructs a new AnnotateFileRequest. + * Constructs a new WebDetectionParams. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileRequest); - - /** AnnotateFileRequest inputConfig. */ - public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); - - /** AnnotateFileRequest features. */ - public features: google.cloud.vision.v1p4beta1.IFeature[]; - - /** AnnotateFileRequest imageContext. */ - public imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + constructor(properties?: google.cloud.vision.v1p4beta1.IWebDetectionParams); - /** AnnotateFileRequest pages. */ - public pages: number[]; + /** WebDetectionParams includeGeoResults. */ + public includeGeoResults: boolean; /** - * Creates a new AnnotateFileRequest instance using the specified properties. + * Creates a new WebDetectionParams instance using the specified properties. * @param [properties] Properties to set - * @returns AnnotateFileRequest instance + * @returns WebDetectionParams instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileRequest): google.cloud.vision.v1p4beta1.AnnotateFileRequest; + public static create(properties?: google.cloud.vision.v1p4beta1.IWebDetectionParams): google.cloud.vision.v1p4beta1.WebDetectionParams; /** - * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. - * @param message AnnotateFileRequest message or plain object to encode + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. - * @param message AnnotateFileRequest message or plain object to encode + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. + * @param message WebDetectionParams message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IWebDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AnnotateFileRequest message from the specified reader or buffer. + * Decodes a WebDetectionParams message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AnnotateFileRequest + * @returns WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateFileRequest; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.WebDetectionParams; /** - * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AnnotateFileRequest + * @returns WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateFileRequest; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.WebDetectionParams; /** - * Verifies an AnnotateFileRequest message. + * Verifies a WebDetectionParams message. * @param message Plain 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 AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AnnotateFileRequest + * @returns WebDetectionParams */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateFileRequest; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.WebDetectionParams; /** - * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. - * @param message AnnotateFileRequest + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * @param message WebDetectionParams * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.WebDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AnnotateFileRequest to JSON. + * Converts this WebDetectionParams to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AnnotateFileResponse. */ - interface IAnnotateFileResponse { + /** Properties of an ImageContext. */ + interface IImageContext { - /** AnnotateFileResponse inputConfig */ - inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + /** ImageContext latLongRect */ + latLongRect?: (google.cloud.vision.v1p4beta1.ILatLongRect|null); - /** AnnotateFileResponse responses */ - responses?: (google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]|null); + /** ImageContext languageHints */ + languageHints?: (string[]|null); - /** AnnotateFileResponse totalPages */ - totalPages?: (number|null); + /** ImageContext cropHintsParams */ + cropHintsParams?: (google.cloud.vision.v1p4beta1.ICropHintsParams|null); - /** AnnotateFileResponse error */ - error?: (google.rpc.IStatus|null); + /** ImageContext faceRecognitionParams */ + faceRecognitionParams?: (google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null); + + /** ImageContext productSearchParams */ + productSearchParams?: (google.cloud.vision.v1p4beta1.IProductSearchParams|null); + + /** ImageContext webDetectionParams */ + webDetectionParams?: (google.cloud.vision.v1p4beta1.IWebDetectionParams|null); } - /** Represents an AnnotateFileResponse. */ - class AnnotateFileResponse implements IAnnotateFileResponse { + /** Represents an ImageContext. */ + class ImageContext implements IImageContext { /** - * Constructs a new AnnotateFileResponse. + * Constructs a new ImageContext. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse); + constructor(properties?: google.cloud.vision.v1p4beta1.IImageContext); - /** AnnotateFileResponse inputConfig. */ - public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + /** ImageContext latLongRect. */ + public latLongRect?: (google.cloud.vision.v1p4beta1.ILatLongRect|null); - /** AnnotateFileResponse responses. */ - public responses: google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]; + /** ImageContext languageHints. */ + public languageHints: string[]; - /** AnnotateFileResponse totalPages. */ - public totalPages: number; + /** ImageContext cropHintsParams. */ + public cropHintsParams?: (google.cloud.vision.v1p4beta1.ICropHintsParams|null); - /** AnnotateFileResponse error. */ - public error?: (google.rpc.IStatus|null); + /** ImageContext faceRecognitionParams. */ + public faceRecognitionParams?: (google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null); + + /** ImageContext productSearchParams. */ + public productSearchParams?: (google.cloud.vision.v1p4beta1.IProductSearchParams|null); + + /** ImageContext webDetectionParams. */ + public webDetectionParams?: (google.cloud.vision.v1p4beta1.IWebDetectionParams|null); /** - * Creates a new AnnotateFileResponse instance using the specified properties. + * Creates a new ImageContext instance using the specified properties. * @param [properties] Properties to set - * @returns AnnotateFileResponse instance + * @returns ImageContext instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + public static create(properties?: google.cloud.vision.v1p4beta1.IImageContext): google.cloud.vision.v1p4beta1.ImageContext; /** - * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. - * @param message AnnotateFileResponse message or plain object to encode + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. - * @param message AnnotateFileResponse message or plain object to encode + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. + * @param message ImageContext message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageContext, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * Decodes an ImageContext message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AnnotateFileResponse + * @returns ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageContext; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes an ImageContext message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AnnotateFileResponse + * @returns ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageContext; /** - * Verifies an AnnotateFileResponse message. + * Verifies an ImageContext message. * @param message Plain 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 AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AnnotateFileResponse + * @returns ImageContext */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateFileResponse; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageContext; /** - * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. - * @param message AnnotateFileResponse + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @param message ImageContext * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.ImageContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AnnotateFileResponse to JSON. + * Converts this ImageContext to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a BatchAnnotateFilesRequest. */ - interface IBatchAnnotateFilesRequest { + /** Properties of an AnnotateImageRequest. */ + interface IAnnotateImageRequest { - /** BatchAnnotateFilesRequest requests */ - requests?: (google.cloud.vision.v1p4beta1.IAnnotateFileRequest[]|null); + /** AnnotateImageRequest image */ + image?: (google.cloud.vision.v1p4beta1.IImage|null); + + /** AnnotateImageRequest features */ + features?: (google.cloud.vision.v1p4beta1.IFeature[]|null); + + /** AnnotateImageRequest imageContext */ + imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); } - /** Represents a BatchAnnotateFilesRequest. */ - class BatchAnnotateFilesRequest implements IBatchAnnotateFilesRequest { + /** Represents an AnnotateImageRequest. */ + class AnnotateImageRequest implements IAnnotateImageRequest { /** - * Constructs a new BatchAnnotateFilesRequest. + * Constructs a new AnnotateImageRequest. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest); + constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageRequest); - /** BatchAnnotateFilesRequest requests. */ - public requests: google.cloud.vision.v1p4beta1.IAnnotateFileRequest[]; + /** AnnotateImageRequest image. */ + public image?: (google.cloud.vision.v1p4beta1.IImage|null); + + /** AnnotateImageRequest features. */ + public features: google.cloud.vision.v1p4beta1.IFeature[]; + + /** AnnotateImageRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); /** - * Creates a new BatchAnnotateFilesRequest instance using the specified properties. + * Creates a new AnnotateImageRequest instance using the specified properties. * @param [properties] Properties to set - * @returns BatchAnnotateFilesRequest instance + * @returns AnnotateImageRequest instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; + public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageRequest): google.cloud.vision.v1p4beta1.AnnotateImageRequest; /** - * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. - * @param message BatchAnnotateFilesRequest message or plain object to encode + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. - * @param message BatchAnnotateFilesRequest message or plain object to encode + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. + * @param message AnnotateImageRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateImageRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. + * Decodes an AnnotateImageRequest message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns BatchAnnotateFilesRequest + * @returns AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateImageRequest; /** - * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns BatchAnnotateFilesRequest + * @returns AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateImageRequest; /** - * Verifies a BatchAnnotateFilesRequest message. + * Verifies an AnnotateImageRequest message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns BatchAnnotateFilesRequest + * @returns AnnotateImageRequest */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateImageRequest; /** - * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. - * @param message BatchAnnotateFilesRequest + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * @param message AnnotateImageRequest * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this BatchAnnotateFilesRequest to JSON. + * Converts this AnnotateImageRequest to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a BatchAnnotateFilesResponse. */ - interface IBatchAnnotateFilesResponse { + /** Properties of an ImageAnnotationContext. */ + interface IImageAnnotationContext { - /** BatchAnnotateFilesResponse responses */ - responses?: (google.cloud.vision.v1p4beta1.IAnnotateFileResponse[]|null); + /** ImageAnnotationContext uri */ + uri?: (string|null); + + /** ImageAnnotationContext pageNumber */ + pageNumber?: (number|null); } - /** Represents a BatchAnnotateFilesResponse. */ - class BatchAnnotateFilesResponse implements IBatchAnnotateFilesResponse { + /** Represents an ImageAnnotationContext. */ + class ImageAnnotationContext implements IImageAnnotationContext { /** - * Constructs a new BatchAnnotateFilesResponse. + * Constructs a new ImageAnnotationContext. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse); + constructor(properties?: google.cloud.vision.v1p4beta1.IImageAnnotationContext); - /** BatchAnnotateFilesResponse responses. */ - public responses: google.cloud.vision.v1p4beta1.IAnnotateFileResponse[]; + /** ImageAnnotationContext uri. */ + public uri: string; + + /** ImageAnnotationContext pageNumber. */ + public pageNumber: number; /** - * Creates a new BatchAnnotateFilesResponse instance using the specified properties. + * Creates a new ImageAnnotationContext instance using the specified properties. * @param [properties] Properties to set - * @returns BatchAnnotateFilesResponse instance + * @returns ImageAnnotationContext instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; + public static create(properties?: google.cloud.vision.v1p4beta1.IImageAnnotationContext): google.cloud.vision.v1p4beta1.ImageAnnotationContext; /** - * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. - * @param message BatchAnnotateFilesResponse message or plain object to encode + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. - * @param message BatchAnnotateFilesResponse message or plain object to encode + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. + * @param message ImageAnnotationContext message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IImageAnnotationContext, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. + * Decodes an ImageAnnotationContext message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns BatchAnnotateFilesResponse + * @returns ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.ImageAnnotationContext; /** - * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns BatchAnnotateFilesResponse + * @returns ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.ImageAnnotationContext; /** - * Verifies a BatchAnnotateFilesResponse message. + * Verifies an ImageAnnotationContext message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns BatchAnnotateFilesResponse + * @returns ImageAnnotationContext */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.ImageAnnotationContext; /** - * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. - * @param message BatchAnnotateFilesResponse + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * @param message ImageAnnotationContext * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.ImageAnnotationContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this BatchAnnotateFilesResponse to JSON. + * Converts this ImageAnnotationContext to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AsyncAnnotateFileRequest. */ - interface IAsyncAnnotateFileRequest { + /** Properties of an AnnotateImageResponse. */ + interface IAnnotateImageResponse { - /** AsyncAnnotateFileRequest inputConfig */ - inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + /** AnnotateImageResponse faceAnnotations */ + faceAnnotations?: (google.cloud.vision.v1p4beta1.IFaceAnnotation[]|null); - /** AsyncAnnotateFileRequest features */ - features?: (google.cloud.vision.v1p4beta1.IFeature[]|null); + /** AnnotateImageResponse landmarkAnnotations */ + landmarkAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); - /** AsyncAnnotateFileRequest imageContext */ - imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + /** AnnotateImageResponse logoAnnotations */ + logoAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); - /** AsyncAnnotateFileRequest outputConfig */ - outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + /** AnnotateImageResponse labelAnnotations */ + labelAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse localizedObjectAnnotations */ + localizedObjectAnnotations?: (google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation[]|null); + + /** AnnotateImageResponse textAnnotations */ + textAnnotations?: (google.cloud.vision.v1p4beta1.IEntityAnnotation[]|null); + + /** AnnotateImageResponse fullTextAnnotation */ + fullTextAnnotation?: (google.cloud.vision.v1p4beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation */ + safeSearchAnnotation?: (google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation */ + imagePropertiesAnnotation?: (google.cloud.vision.v1p4beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation */ + cropHintsAnnotation?: (google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection */ + webDetection?: (google.cloud.vision.v1p4beta1.IWebDetection|null); + + /** AnnotateImageResponse productSearchResults */ + productSearchResults?: (google.cloud.vision.v1p4beta1.IProductSearchResults|null); + + /** AnnotateImageResponse error */ + error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context */ + context?: (google.cloud.vision.v1p4beta1.IImageAnnotationContext|null); } - /** Represents an AsyncAnnotateFileRequest. */ - class AsyncAnnotateFileRequest implements IAsyncAnnotateFileRequest { + /** Represents an AnnotateImageResponse. */ + class AnnotateImageResponse implements IAnnotateImageResponse { /** - * Constructs a new AsyncAnnotateFileRequest. + * Constructs a new AnnotateImageResponse. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest); + constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageResponse); - /** AsyncAnnotateFileRequest inputConfig. */ - public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + /** AnnotateImageResponse faceAnnotations. */ + public faceAnnotations: google.cloud.vision.v1p4beta1.IFaceAnnotation[]; - /** AsyncAnnotateFileRequest features. */ - public features: google.cloud.vision.v1p4beta1.IFeature[]; + /** AnnotateImageResponse landmarkAnnotations. */ + public landmarkAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; - /** AsyncAnnotateFileRequest imageContext. */ - public imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + /** AnnotateImageResponse logoAnnotations. */ + public logoAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; - /** AsyncAnnotateFileRequest outputConfig. */ - public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + /** AnnotateImageResponse labelAnnotations. */ + public labelAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse localizedObjectAnnotations. */ + public localizedObjectAnnotations: google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation[]; + + /** AnnotateImageResponse textAnnotations. */ + public textAnnotations: google.cloud.vision.v1p4beta1.IEntityAnnotation[]; + + /** AnnotateImageResponse fullTextAnnotation. */ + public fullTextAnnotation?: (google.cloud.vision.v1p4beta1.ITextAnnotation|null); + + /** AnnotateImageResponse safeSearchAnnotation. */ + public safeSearchAnnotation?: (google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null); + + /** AnnotateImageResponse imagePropertiesAnnotation. */ + public imagePropertiesAnnotation?: (google.cloud.vision.v1p4beta1.IImageProperties|null); + + /** AnnotateImageResponse cropHintsAnnotation. */ + public cropHintsAnnotation?: (google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null); + + /** AnnotateImageResponse webDetection. */ + public webDetection?: (google.cloud.vision.v1p4beta1.IWebDetection|null); + + /** AnnotateImageResponse productSearchResults. */ + public productSearchResults?: (google.cloud.vision.v1p4beta1.IProductSearchResults|null); + + /** AnnotateImageResponse error. */ + public error?: (google.rpc.IStatus|null); + + /** AnnotateImageResponse context. */ + public context?: (google.cloud.vision.v1p4beta1.IImageAnnotationContext|null); /** - * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * Creates a new AnnotateImageResponse instance using the specified properties. * @param [properties] Properties to set - * @returns AsyncAnnotateFileRequest instance + * @returns AnnotateImageResponse instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; + public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateImageResponse): google.cloud.vision.v1p4beta1.AnnotateImageResponse; /** - * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. - * @param message AsyncAnnotateFileRequest message or plain object to encode + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. - * @param message AsyncAnnotateFileRequest message or plain object to encode + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. + * @param message AnnotateImageResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateImageResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * Decodes an AnnotateImageResponse message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AsyncAnnotateFileRequest + * @returns AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateImageResponse; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AsyncAnnotateFileRequest + * @returns AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateImageResponse; /** - * Verifies an AsyncAnnotateFileRequest message. + * Verifies an AnnotateImageResponse message. * @param message Plain 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 AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AsyncAnnotateFileRequest + * @returns AnnotateImageResponse */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateImageResponse; /** - * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. - * @param message AsyncAnnotateFileRequest + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * @param message AnnotateImageResponse * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateImageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AsyncAnnotateFileRequest to JSON. + * Converts this AnnotateImageResponse to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AsyncAnnotateFileResponse. */ - interface IAsyncAnnotateFileResponse { + /** Properties of a BatchAnnotateImagesRequest. */ + interface IBatchAnnotateImagesRequest { - /** AsyncAnnotateFileResponse outputConfig */ - outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + /** BatchAnnotateImagesRequest requests */ + requests?: (google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]|null); } - /** Represents an AsyncAnnotateFileResponse. */ - class AsyncAnnotateFileResponse implements IAsyncAnnotateFileResponse { + /** Represents a BatchAnnotateImagesRequest. */ + class BatchAnnotateImagesRequest implements IBatchAnnotateImagesRequest { /** - * Constructs a new AsyncAnnotateFileResponse. + * Constructs a new BatchAnnotateImagesRequest. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse); + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest); - /** AsyncAnnotateFileResponse outputConfig. */ - public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + /** BatchAnnotateImagesRequest requests. */ + public requests: google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]; /** - * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. * @param [properties] Properties to set - * @returns AsyncAnnotateFileResponse instance + * @returns BatchAnnotateImagesRequest instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; /** - * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. - * @param message AsyncAnnotateFileResponse message or plain object to encode + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. - * @param message AsyncAnnotateFileResponse message or plain object to encode + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * @param message BatchAnnotateImagesRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AsyncAnnotateFileResponse + * @returns BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AsyncAnnotateFileResponse + * @returns BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; /** - * Verifies an AsyncAnnotateFileResponse message. + * Verifies a BatchAnnotateImagesRequest message. * @param message Plain 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 AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AsyncAnnotateFileResponse + * @returns BatchAnnotateImagesRequest */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest; /** - * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. - * @param message AsyncAnnotateFileResponse + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesRequest * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AsyncAnnotateFileResponse to JSON. + * Converts this BatchAnnotateImagesRequest to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AsyncBatchAnnotateImagesRequest. */ - interface IAsyncBatchAnnotateImagesRequest { - - /** AsyncBatchAnnotateImagesRequest requests */ - requests?: (google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]|null); + /** Properties of a BatchAnnotateImagesResponse. */ + interface IBatchAnnotateImagesResponse { - /** AsyncBatchAnnotateImagesRequest outputConfig */ - outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + /** BatchAnnotateImagesResponse responses */ + responses?: (google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]|null); } - /** Represents an AsyncBatchAnnotateImagesRequest. */ - class AsyncBatchAnnotateImagesRequest implements IAsyncBatchAnnotateImagesRequest { + /** Represents a BatchAnnotateImagesResponse. */ + class BatchAnnotateImagesResponse implements IBatchAnnotateImagesResponse { /** - * Constructs a new AsyncBatchAnnotateImagesRequest. + * Constructs a new BatchAnnotateImagesResponse. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest); - - /** AsyncBatchAnnotateImagesRequest requests. */ - public requests: google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]; + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse); - /** AsyncBatchAnnotateImagesRequest outputConfig. */ - public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + /** BatchAnnotateImagesResponse responses. */ + public responses: google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]; /** - * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. * @param [properties] Properties to set - * @returns AsyncBatchAnnotateImagesRequest instance + * @returns BatchAnnotateImagesResponse instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; /** - * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. - * @param message AsyncBatchAnnotateImagesRequest message or plain object to encode + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. - * @param message AsyncBatchAnnotateImagesRequest message or plain object to encode + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @param message BatchAnnotateImagesResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AsyncBatchAnnotateImagesRequest + * @returns BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; /** - * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AsyncBatchAnnotateImagesRequest + * @returns BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; /** - * Verifies an AsyncBatchAnnotateImagesRequest message. + * Verifies a BatchAnnotateImagesResponse message. * @param message Plain 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 AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AsyncBatchAnnotateImagesRequest + * @returns BatchAnnotateImagesResponse */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse; /** - * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. - * @param message AsyncBatchAnnotateImagesRequest + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @param message BatchAnnotateImagesResponse * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AsyncBatchAnnotateImagesRequest to JSON. + * Converts this BatchAnnotateImagesResponse to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AsyncBatchAnnotateImagesResponse. */ - interface IAsyncBatchAnnotateImagesResponse { + /** Properties of an AnnotateFileRequest. */ + interface IAnnotateFileRequest { - /** AsyncBatchAnnotateImagesResponse outputConfig */ - outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + /** AnnotateFileRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileRequest features */ + features?: (google.cloud.vision.v1p4beta1.IFeature[]|null); + + /** AnnotateFileRequest imageContext */ + imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + + /** AnnotateFileRequest pages */ + pages?: (number[]|null); } - /** Represents an AsyncBatchAnnotateImagesResponse. */ - class AsyncBatchAnnotateImagesResponse implements IAsyncBatchAnnotateImagesResponse { + /** Represents an AnnotateFileRequest. */ + class AnnotateFileRequest implements IAnnotateFileRequest { /** - * Constructs a new AsyncBatchAnnotateImagesResponse. + * Constructs a new AnnotateFileRequest. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse); + constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileRequest); - /** AsyncBatchAnnotateImagesResponse outputConfig. */ - public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); + /** AnnotateFileRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileRequest features. */ + public features: google.cloud.vision.v1p4beta1.IFeature[]; + + /** AnnotateFileRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + + /** AnnotateFileRequest pages. */ + public pages: number[]; /** - * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. + * Creates a new AnnotateFileRequest instance using the specified properties. * @param [properties] Properties to set - * @returns AsyncBatchAnnotateImagesResponse instance + * @returns AnnotateFileRequest instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; + public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileRequest): google.cloud.vision.v1p4beta1.AnnotateFileRequest; /** - * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. - * @param message AsyncBatchAnnotateImagesResponse message or plain object to encode + * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. + * @param message AnnotateFileRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. - * @param message AsyncBatchAnnotateImagesResponse message or plain object to encode + * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. + * @param message AnnotateFileRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. + * Decodes an AnnotateFileRequest message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AsyncBatchAnnotateImagesResponse + * @returns AnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateFileRequest; /** - * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AsyncBatchAnnotateImagesResponse + * @returns AnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateFileRequest; /** - * Verifies an AsyncBatchAnnotateImagesResponse message. + * Verifies an AnnotateFileRequest message. * @param message Plain 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 AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AsyncBatchAnnotateImagesResponse + * @returns AnnotateFileRequest */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateFileRequest; /** - * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. - * @param message AsyncBatchAnnotateImagesResponse + * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. + * @param message AnnotateFileRequest * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AsyncBatchAnnotateImagesResponse to JSON. + * Converts this AnnotateFileRequest to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AsyncBatchAnnotateFilesRequest. */ - interface IAsyncBatchAnnotateFilesRequest { + /** Properties of an AnnotateFileResponse. */ + interface IAnnotateFileResponse { - /** AsyncBatchAnnotateFilesRequest requests */ - requests?: (google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest[]|null); + /** AnnotateFileResponse inputConfig */ + inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileResponse responses */ + responses?: (google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]|null); + + /** AnnotateFileResponse totalPages */ + totalPages?: (number|null); + + /** AnnotateFileResponse error */ + error?: (google.rpc.IStatus|null); } - /** Represents an AsyncBatchAnnotateFilesRequest. */ - class AsyncBatchAnnotateFilesRequest implements IAsyncBatchAnnotateFilesRequest { + /** Represents an AnnotateFileResponse. */ + class AnnotateFileResponse implements IAnnotateFileResponse { /** - * Constructs a new AsyncBatchAnnotateFilesRequest. + * Constructs a new AnnotateFileResponse. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest); + constructor(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse); - /** AsyncBatchAnnotateFilesRequest requests. */ - public requests: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest[]; + /** AnnotateFileResponse inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); + + /** AnnotateFileResponse responses. */ + public responses: google.cloud.vision.v1p4beta1.IAnnotateImageResponse[]; + + /** AnnotateFileResponse totalPages. */ + public totalPages: number; + + /** AnnotateFileResponse error. */ + public error?: (google.rpc.IStatus|null); /** - * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * Creates a new AnnotateFileResponse instance using the specified properties. * @param [properties] Properties to set - * @returns AsyncBatchAnnotateFilesRequest instance + * @returns AnnotateFileResponse instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; + public static create(properties?: google.cloud.vision.v1p4beta1.IAnnotateFileResponse): google.cloud.vision.v1p4beta1.AnnotateFileResponse; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. - * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. - * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * @param message AnnotateFileResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * Decodes an AnnotateFileResponse message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AsyncBatchAnnotateFilesRequest + * @returns AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AnnotateFileResponse; /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AsyncBatchAnnotateFilesRequest + * @returns AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AnnotateFileResponse; /** - * Verifies an AsyncBatchAnnotateFilesRequest message. + * Verifies an AnnotateFileResponse message. * @param message Plain 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 AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AsyncBatchAnnotateFilesRequest + * @returns AnnotateFileResponse */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AnnotateFileResponse; /** - * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. - * @param message AsyncBatchAnnotateFilesRequest + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * @param message AnnotateFileResponse * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * Converts this AnnotateFileResponse to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an AsyncBatchAnnotateFilesResponse. */ - interface IAsyncBatchAnnotateFilesResponse { + /** Properties of a BatchAnnotateFilesRequest. */ + interface IBatchAnnotateFilesRequest { - /** AsyncBatchAnnotateFilesResponse responses */ - responses?: (google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse[]|null); + /** BatchAnnotateFilesRequest requests */ + requests?: (google.cloud.vision.v1p4beta1.IAnnotateFileRequest[]|null); } - /** Represents an AsyncBatchAnnotateFilesResponse. */ - class AsyncBatchAnnotateFilesResponse implements IAsyncBatchAnnotateFilesResponse { + /** Represents a BatchAnnotateFilesRequest. */ + class BatchAnnotateFilesRequest implements IBatchAnnotateFilesRequest { /** - * Constructs a new AsyncBatchAnnotateFilesResponse. + * Constructs a new BatchAnnotateFilesRequest. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse); + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest); - /** AsyncBatchAnnotateFilesResponse responses. */ - public responses: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse[]; + /** BatchAnnotateFilesRequest requests. */ + public requests: google.cloud.vision.v1p4beta1.IAnnotateFileRequest[]; /** - * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * Creates a new BatchAnnotateFilesRequest instance using the specified properties. * @param [properties] Properties to set - * @returns AsyncBatchAnnotateFilesResponse instance + * @returns BatchAnnotateFilesRequest instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. - * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. + * @param message BatchAnnotateFilesRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. - * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode + * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. + * @param message BatchAnnotateFilesRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns AsyncBatchAnnotateFilesResponse + * @returns BatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns AsyncBatchAnnotateFilesResponse + * @returns BatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; /** - * Verifies an AsyncBatchAnnotateFilesResponse message. + * Verifies a BatchAnnotateFilesRequest message. * @param message Plain 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 AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns AsyncBatchAnnotateFilesResponse + * @returns BatchAnnotateFilesRequest */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest; /** - * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. - * @param message AsyncBatchAnnotateFilesResponse + * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @param message BatchAnnotateFilesRequest * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * Converts this BatchAnnotateFilesRequest to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an InputConfig. */ - interface IInputConfig { - - /** InputConfig gcsSource */ - gcsSource?: (google.cloud.vision.v1p4beta1.IGcsSource|null); - - /** InputConfig content */ - content?: (Uint8Array|string|null); + /** Properties of a BatchAnnotateFilesResponse. */ + interface IBatchAnnotateFilesResponse { - /** InputConfig mimeType */ - mimeType?: (string|null); + /** BatchAnnotateFilesResponse responses */ + responses?: (google.cloud.vision.v1p4beta1.IAnnotateFileResponse[]|null); } - /** Represents an InputConfig. */ - class InputConfig implements IInputConfig { + /** Represents a BatchAnnotateFilesResponse. */ + class BatchAnnotateFilesResponse implements IBatchAnnotateFilesResponse { /** - * Constructs a new InputConfig. + * Constructs a new BatchAnnotateFilesResponse. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IInputConfig); - - /** InputConfig gcsSource. */ - public gcsSource?: (google.cloud.vision.v1p4beta1.IGcsSource|null); - - /** InputConfig content. */ - public content: (Uint8Array|string); + constructor(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse); - /** InputConfig mimeType. */ - public mimeType: string; + /** BatchAnnotateFilesResponse responses. */ + public responses: google.cloud.vision.v1p4beta1.IAnnotateFileResponse[]; /** - * Creates a new InputConfig instance using the specified properties. + * Creates a new BatchAnnotateFilesResponse instance using the specified properties. * @param [properties] Properties to set - * @returns InputConfig instance + * @returns BatchAnnotateFilesResponse instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IInputConfig): google.cloud.vision.v1p4beta1.InputConfig; + public static create(properties?: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; /** - * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. - * @param message InputConfig message or plain object to encode + * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * @param message BatchAnnotateFilesResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. - * @param message InputConfig message or plain object to encode + * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * @param message BatchAnnotateFilesResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an InputConfig message from the specified reader or buffer. + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns InputConfig + * @returns BatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.InputConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; /** - * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns InputConfig + * @returns BatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.InputConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; /** - * Verifies an InputConfig message. + * Verifies a BatchAnnotateFilesResponse message. * @param message Plain 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 InputConfig message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns InputConfig + * @returns BatchAnnotateFilesResponse */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.InputConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse; /** - * Creates a plain object from an InputConfig message. Also converts values to other types if specified. - * @param message InputConfig + * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @param message BatchAnnotateFilesResponse * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.InputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this InputConfig to JSON. + * Converts this BatchAnnotateFilesResponse to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an OutputConfig. */ - interface IOutputConfig { + /** Properties of an AsyncAnnotateFileRequest. */ + interface IAsyncAnnotateFileRequest { - /** OutputConfig gcsDestination */ - gcsDestination?: (google.cloud.vision.v1p4beta1.IGcsDestination|null); + /** AsyncAnnotateFileRequest inputConfig */ + inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); - /** OutputConfig batchSize */ - batchSize?: (number|null); + /** AsyncAnnotateFileRequest features */ + features?: (google.cloud.vision.v1p4beta1.IFeature[]|null); + + /** AsyncAnnotateFileRequest imageContext */ + imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig */ + outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); } - /** Represents an OutputConfig. */ - class OutputConfig implements IOutputConfig { + /** Represents an AsyncAnnotateFileRequest. */ + class AsyncAnnotateFileRequest implements IAsyncAnnotateFileRequest { /** - * Constructs a new OutputConfig. + * Constructs a new AsyncAnnotateFileRequest. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IOutputConfig); + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest); - /** OutputConfig gcsDestination. */ - public gcsDestination?: (google.cloud.vision.v1p4beta1.IGcsDestination|null); + /** AsyncAnnotateFileRequest inputConfig. */ + public inputConfig?: (google.cloud.vision.v1p4beta1.IInputConfig|null); - /** OutputConfig batchSize. */ - public batchSize: number; + /** AsyncAnnotateFileRequest features. */ + public features: google.cloud.vision.v1p4beta1.IFeature[]; + + /** AsyncAnnotateFileRequest imageContext. */ + public imageContext?: (google.cloud.vision.v1p4beta1.IImageContext|null); + + /** AsyncAnnotateFileRequest outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); /** - * Creates a new OutputConfig instance using the specified properties. + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. * @param [properties] Properties to set - * @returns OutputConfig instance + * @returns AsyncAnnotateFileRequest instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IOutputConfig): google.cloud.vision.v1p4beta1.OutputConfig; + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; /** - * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. - * @param message OutputConfig message or plain object to encode + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. - * @param message OutputConfig message or plain object to encode + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * @param message AsyncAnnotateFileRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an OutputConfig message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns OutputConfig + * @returns AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.OutputConfig; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; /** - * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns OutputConfig + * @returns AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.OutputConfig; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; /** - * Verifies an OutputConfig message. + * Verifies an AsyncAnnotateFileRequest message. * @param message Plain 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 OutputConfig message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns OutputConfig + * @returns AsyncAnnotateFileRequest */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.OutputConfig; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest; /** - * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. - * @param message OutputConfig + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileRequest * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this OutputConfig to JSON. + * Converts this AsyncAnnotateFileRequest to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a GcsSource. */ - interface IGcsSource { + /** Properties of an AsyncAnnotateFileResponse. */ + interface IAsyncAnnotateFileResponse { - /** GcsSource uri */ - uri?: (string|null); + /** AsyncAnnotateFileResponse outputConfig */ + outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); } - /** Represents a GcsSource. */ - class GcsSource implements IGcsSource { + /** Represents an AsyncAnnotateFileResponse. */ + class AsyncAnnotateFileResponse implements IAsyncAnnotateFileResponse { /** - * Constructs a new GcsSource. + * Constructs a new AsyncAnnotateFileResponse. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IGcsSource); + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse); - /** GcsSource uri. */ - public uri: string; + /** AsyncAnnotateFileResponse outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); /** - * Creates a new GcsSource instance using the specified properties. + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. * @param [properties] Properties to set - * @returns GcsSource instance + * @returns AsyncAnnotateFileResponse instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IGcsSource): google.cloud.vision.v1p4beta1.GcsSource; + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; /** - * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. - * @param message GcsSource message or plain object to encode + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. - * @param message GcsSource message or plain object to encode + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * @param message AsyncAnnotateFileResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a GcsSource message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns GcsSource + * @returns AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.GcsSource; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; /** - * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns GcsSource + * @returns AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.GcsSource; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; /** - * Verifies a GcsSource message. + * Verifies an AsyncAnnotateFileResponse message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns GcsSource + * @returns AsyncAnnotateFileResponse */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.GcsSource; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse; /** - * Creates a plain object from a GcsSource message. Also converts values to other types if specified. - * @param message GcsSource + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * @param message AsyncAnnotateFileResponse * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this GcsSource to JSON. + * Converts this AsyncAnnotateFileResponse to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a GcsDestination. */ - interface IGcsDestination { + /** Properties of an AsyncBatchAnnotateImagesRequest. */ + interface IAsyncBatchAnnotateImagesRequest { - /** GcsDestination uri */ - uri?: (string|null); + /** AsyncBatchAnnotateImagesRequest requests */ + requests?: (google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]|null); + + /** AsyncBatchAnnotateImagesRequest outputConfig */ + outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); } - /** Represents a GcsDestination. */ - class GcsDestination implements IGcsDestination { + /** Represents an AsyncBatchAnnotateImagesRequest. */ + class AsyncBatchAnnotateImagesRequest implements IAsyncBatchAnnotateImagesRequest { /** - * Constructs a new GcsDestination. + * Constructs a new AsyncBatchAnnotateImagesRequest. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IGcsDestination); + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest); - /** GcsDestination uri. */ - public uri: string; + /** AsyncBatchAnnotateImagesRequest requests. */ + public requests: google.cloud.vision.v1p4beta1.IAnnotateImageRequest[]; + + /** AsyncBatchAnnotateImagesRequest outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); /** - * Creates a new GcsDestination instance using the specified properties. + * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. * @param [properties] Properties to set - * @returns GcsDestination instance + * @returns AsyncBatchAnnotateImagesRequest instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IGcsDestination): google.cloud.vision.v1p4beta1.GcsDestination; + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; /** - * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. - * @param message GcsDestination message or plain object to encode + * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. - * @param message GcsDestination message or plain object to encode + * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a GcsDestination message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns GcsDestination + * @returns AsyncBatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.GcsDestination; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; /** - * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns GcsDestination + * @returns AsyncBatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.GcsDestination; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; /** - * Verifies a GcsDestination message. + * Verifies an AsyncBatchAnnotateImagesRequest message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns GcsDestination + * @returns AsyncBatchAnnotateImagesRequest */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.GcsDestination; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest; /** - * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. - * @param message GcsDestination + * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateImagesRequest * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this GcsDestination to JSON. + * Converts this AsyncBatchAnnotateImagesRequest to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of an OperationMetadata. */ - interface IOperationMetadata { - - /** OperationMetadata state */ - state?: (google.cloud.vision.v1p4beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p4beta1.OperationMetadata.State|null); - - /** OperationMetadata createTime */ - createTime?: (google.protobuf.ITimestamp|null); + /** Properties of an AsyncBatchAnnotateImagesResponse. */ + interface IAsyncBatchAnnotateImagesResponse { - /** OperationMetadata updateTime */ - updateTime?: (google.protobuf.ITimestamp|null); + /** AsyncBatchAnnotateImagesResponse outputConfig */ + outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); } - /** Represents an OperationMetadata. */ - class OperationMetadata implements IOperationMetadata { + /** Represents an AsyncBatchAnnotateImagesResponse. */ + class AsyncBatchAnnotateImagesResponse implements IAsyncBatchAnnotateImagesResponse { /** - * Constructs a new OperationMetadata. + * Constructs a new AsyncBatchAnnotateImagesResponse. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IOperationMetadata); - - /** OperationMetadata state. */ - public state: (google.cloud.vision.v1p4beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p4beta1.OperationMetadata.State); - - /** OperationMetadata createTime. */ - public createTime?: (google.protobuf.ITimestamp|null); + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse); - /** OperationMetadata updateTime. */ - public updateTime?: (google.protobuf.ITimestamp|null); + /** AsyncBatchAnnotateImagesResponse outputConfig. */ + public outputConfig?: (google.cloud.vision.v1p4beta1.IOutputConfig|null); /** - * Creates a new OperationMetadata instance using the specified properties. + * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. * @param [properties] Properties to set - * @returns OperationMetadata instance + * @returns AsyncBatchAnnotateImagesResponse instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IOperationMetadata): google.cloud.vision.v1p4beta1.OperationMetadata; + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; /** - * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. - * @param message OperationMetadata message or plain object to encode + * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. - * @param message OperationMetadata message or plain object to encode + * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateImagesResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes an OperationMetadata message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns OperationMetadata + * @returns AsyncBatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.OperationMetadata; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; /** - * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns OperationMetadata + * @returns AsyncBatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.OperationMetadata; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; /** - * Verifies an OperationMetadata message. + * Verifies an AsyncBatchAnnotateImagesResponse message. * @param message Plain 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 OperationMetadata message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns OperationMetadata + * @returns AsyncBatchAnnotateImagesResponse */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.OperationMetadata; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse; /** - * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. - * @param message OperationMetadata + * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateImagesResponse * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this OperationMetadata to JSON. + * Converts this AsyncBatchAnnotateImagesResponse to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - namespace OperationMetadata { - - /** State enum. */ - enum State { - STATE_UNSPECIFIED = 0, - CREATED = 1, - RUNNING = 2, - DONE = 3, - CANCELLED = 4 - } - } - - /** Properties of a FaceRecognitionParams. */ - interface IFaceRecognitionParams { + /** Properties of an AsyncBatchAnnotateFilesRequest. */ + interface IAsyncBatchAnnotateFilesRequest { - /** FaceRecognitionParams celebritySet */ - celebritySet?: (string[]|null); + /** AsyncBatchAnnotateFilesRequest requests */ + requests?: (google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest[]|null); } - /** Represents a FaceRecognitionParams. */ - class FaceRecognitionParams implements IFaceRecognitionParams { + /** Represents an AsyncBatchAnnotateFilesRequest. */ + class AsyncBatchAnnotateFilesRequest implements IAsyncBatchAnnotateFilesRequest { /** - * Constructs a new FaceRecognitionParams. + * Constructs a new AsyncBatchAnnotateFilesRequest. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionParams); + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest); - /** FaceRecognitionParams celebritySet. */ - public celebritySet: string[]; + /** AsyncBatchAnnotateFilesRequest requests. */ + public requests: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest[]; /** - * Creates a new FaceRecognitionParams instance using the specified properties. + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. * @param [properties] Properties to set - * @returns FaceRecognitionParams instance + * @returns AsyncBatchAnnotateFilesRequest instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionParams): google.cloud.vision.v1p4beta1.FaceRecognitionParams; + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; /** - * Encodes the specified FaceRecognitionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. - * @param message FaceRecognitionParams message or plain object to encode + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IFaceRecognitionParams, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified FaceRecognitionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. - * @param message FaceRecognitionParams message or plain object to encode + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFaceRecognitionParams, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a FaceRecognitionParams message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns FaceRecognitionParams + * @returns AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceRecognitionParams; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; /** - * Decodes a FaceRecognitionParams message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns FaceRecognitionParams + * @returns AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceRecognitionParams; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; /** - * Verifies a FaceRecognitionParams message. + * Verifies an AsyncBatchAnnotateFilesRequest message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a FaceRecognitionParams message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns FaceRecognitionParams + * @returns AsyncBatchAnnotateFilesRequest */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceRecognitionParams; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest; /** - * Creates a plain object from a FaceRecognitionParams message. Also converts values to other types if specified. - * @param message FaceRecognitionParams + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesRequest * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.FaceRecognitionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this FaceRecognitionParams to JSON. + * Converts this AsyncBatchAnnotateFilesRequest to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a Celebrity. */ - interface ICelebrity { - - /** Celebrity name */ - name?: (string|null); - - /** Celebrity displayName */ - displayName?: (string|null); + /** Properties of an AsyncBatchAnnotateFilesResponse. */ + interface IAsyncBatchAnnotateFilesResponse { - /** Celebrity description */ - description?: (string|null); + /** AsyncBatchAnnotateFilesResponse responses */ + responses?: (google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse[]|null); } - /** Represents a Celebrity. */ - class Celebrity implements ICelebrity { + /** Represents an AsyncBatchAnnotateFilesResponse. */ + class AsyncBatchAnnotateFilesResponse implements IAsyncBatchAnnotateFilesResponse { /** - * Constructs a new Celebrity. + * Constructs a new AsyncBatchAnnotateFilesResponse. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.ICelebrity); - - /** Celebrity name. */ - public name: string; - - /** Celebrity displayName. */ - public displayName: string; + constructor(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse); - /** Celebrity description. */ - public description: string; + /** AsyncBatchAnnotateFilesResponse responses. */ + public responses: google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse[]; /** - * Creates a new Celebrity instance using the specified properties. + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. * @param [properties] Properties to set - * @returns Celebrity instance + * @returns AsyncBatchAnnotateFilesResponse instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.ICelebrity): google.cloud.vision.v1p4beta1.Celebrity; + public static create(properties?: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; /** - * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. - * @param message Celebrity message or plain object to encode + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.ICelebrity, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. - * @param message Celebrity message or plain object to encode + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * @param message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ICelebrity, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Celebrity message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Celebrity + * @returns AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Celebrity; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; /** - * Decodes a Celebrity message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Celebrity + * @returns AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Celebrity; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; /** - * Verifies a Celebrity message. + * Verifies an AsyncBatchAnnotateFilesResponse message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Celebrity message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Celebrity + * @returns AsyncBatchAnnotateFilesResponse */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Celebrity; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse; /** - * Creates a plain object from a Celebrity message. Also converts values to other types if specified. - * @param message Celebrity + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * @param message AsyncBatchAnnotateFilesResponse * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.Celebrity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Celebrity to JSON. + * Converts this AsyncBatchAnnotateFilesResponse to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a FaceRecognitionResult. */ - interface IFaceRecognitionResult { + /** Properties of an InputConfig. */ + interface IInputConfig { - /** FaceRecognitionResult celebrity */ - celebrity?: (google.cloud.vision.v1p4beta1.ICelebrity|null); + /** InputConfig gcsSource */ + gcsSource?: (google.cloud.vision.v1p4beta1.IGcsSource|null); - /** FaceRecognitionResult confidence */ - confidence?: (number|null); + /** InputConfig content */ + content?: (Uint8Array|string|null); + + /** InputConfig mimeType */ + mimeType?: (string|null); } - /** Represents a FaceRecognitionResult. */ - class FaceRecognitionResult implements IFaceRecognitionResult { + /** Represents an InputConfig. */ + class InputConfig implements IInputConfig { /** - * Constructs a new FaceRecognitionResult. + * Constructs a new InputConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionResult); + constructor(properties?: google.cloud.vision.v1p4beta1.IInputConfig); - /** FaceRecognitionResult celebrity. */ - public celebrity?: (google.cloud.vision.v1p4beta1.ICelebrity|null); + /** InputConfig gcsSource. */ + public gcsSource?: (google.cloud.vision.v1p4beta1.IGcsSource|null); - /** FaceRecognitionResult confidence. */ - public confidence: number; + /** InputConfig content. */ + public content: (Uint8Array|string); + + /** InputConfig mimeType. */ + public mimeType: string; /** - * Creates a new FaceRecognitionResult instance using the specified properties. + * Creates a new InputConfig instance using the specified properties. * @param [properties] Properties to set - * @returns FaceRecognitionResult instance + * @returns InputConfig instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IFaceRecognitionResult): google.cloud.vision.v1p4beta1.FaceRecognitionResult; + public static create(properties?: google.cloud.vision.v1p4beta1.IInputConfig): google.cloud.vision.v1p4beta1.InputConfig; /** - * Encodes the specified FaceRecognitionResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. - * @param message FaceRecognitionResult message or plain object to encode + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IFaceRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified FaceRecognitionResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. - * @param message FaceRecognitionResult message or plain object to encode + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. + * @param message InputConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IFaceRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a FaceRecognitionResult message from the specified reader or buffer. + * Decodes an InputConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns FaceRecognitionResult + * @returns InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.FaceRecognitionResult; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.InputConfig; /** - * Decodes a FaceRecognitionResult message from the specified reader or buffer, length delimited. + * Decodes an InputConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns FaceRecognitionResult + * @returns InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.FaceRecognitionResult; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.InputConfig; /** - * Verifies a FaceRecognitionResult message. + * Verifies an InputConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a FaceRecognitionResult message from a plain object. Also converts values to their respective internal types. + * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns FaceRecognitionResult + * @returns InputConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.FaceRecognitionResult; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.InputConfig; /** - * Creates a plain object from a FaceRecognitionResult message. Also converts values to other types if specified. - * @param message FaceRecognitionResult + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * @param message InputConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.FaceRecognitionResult, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.InputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this FaceRecognitionResult to JSON. + * Converts this InputConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a Vertex. */ - interface IVertex { + /** Properties of an OutputConfig. */ + interface IOutputConfig { - /** Vertex x */ - x?: (number|null); + /** OutputConfig gcsDestination */ + gcsDestination?: (google.cloud.vision.v1p4beta1.IGcsDestination|null); - /** Vertex y */ - y?: (number|null); + /** OutputConfig batchSize */ + batchSize?: (number|null); } - /** Represents a Vertex. */ - class Vertex implements IVertex { + /** Represents an OutputConfig. */ + class OutputConfig implements IOutputConfig { /** - * Constructs a new Vertex. + * Constructs a new OutputConfig. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IVertex); + constructor(properties?: google.cloud.vision.v1p4beta1.IOutputConfig); - /** Vertex x. */ - public x: number; + /** OutputConfig gcsDestination. */ + public gcsDestination?: (google.cloud.vision.v1p4beta1.IGcsDestination|null); - /** Vertex y. */ - public y: number; + /** OutputConfig batchSize. */ + public batchSize: number; /** - * Creates a new Vertex instance using the specified properties. + * Creates a new OutputConfig instance using the specified properties. * @param [properties] Properties to set - * @returns Vertex instance + * @returns OutputConfig instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IVertex): google.cloud.vision.v1p4beta1.Vertex; + public static create(properties?: google.cloud.vision.v1p4beta1.IOutputConfig): google.cloud.vision.v1p4beta1.OutputConfig; /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. - * @param message Vertex message or plain object to encode + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. + * @param message OutputConfig message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IVertex, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Vertex message from the specified reader or buffer. + * Decodes an OutputConfig message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Vertex + * @returns OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Vertex; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.OutputConfig; /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Vertex + * @returns OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Vertex; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.OutputConfig; /** - * Verifies a Vertex message. + * Verifies an OutputConfig message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Vertex + * @returns OutputConfig */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Vertex; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.OutputConfig; /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. - * @param message Vertex + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * @param message OutputConfig * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.Vertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Vertex to JSON. + * Converts this OutputConfig to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a NormalizedVertex. */ - interface INormalizedVertex { - - /** NormalizedVertex x */ - x?: (number|null); + /** Properties of a GcsSource. */ + interface IGcsSource { - /** NormalizedVertex y */ - y?: (number|null); + /** GcsSource uri */ + uri?: (string|null); } - /** Represents a NormalizedVertex. */ - class NormalizedVertex implements INormalizedVertex { + /** Represents a GcsSource. */ + class GcsSource implements IGcsSource { /** - * Constructs a new NormalizedVertex. + * Constructs a new GcsSource. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.INormalizedVertex); - - /** NormalizedVertex x. */ - public x: number; + constructor(properties?: google.cloud.vision.v1p4beta1.IGcsSource); - /** NormalizedVertex y. */ - public y: number; + /** GcsSource uri. */ + public uri: string; /** - * Creates a new NormalizedVertex instance using the specified properties. + * Creates a new GcsSource instance using the specified properties. * @param [properties] Properties to set - * @returns NormalizedVertex instance + * @returns GcsSource instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.INormalizedVertex): google.cloud.vision.v1p4beta1.NormalizedVertex; + public static create(properties?: google.cloud.vision.v1p4beta1.IGcsSource): google.cloud.vision.v1p4beta1.GcsSource; /** - * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. - * @param message NormalizedVertex message or plain object to encode + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. - * @param message NormalizedVertex message or plain object to encode + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. + * @param message GcsSource message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a NormalizedVertex message from the specified reader or buffer. + * Decodes a GcsSource message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns NormalizedVertex + * @returns GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.NormalizedVertex; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.GcsSource; /** - * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * Decodes a GcsSource message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns NormalizedVertex + * @returns GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.NormalizedVertex; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.GcsSource; /** - * Verifies a NormalizedVertex message. + * Verifies a GcsSource message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns NormalizedVertex + * @returns GcsSource */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.NormalizedVertex; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.GcsSource; /** - * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. - * @param message NormalizedVertex + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * @param message GcsSource * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this NormalizedVertex to JSON. + * Converts this GcsSource to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a BoundingPoly. */ - interface IBoundingPoly { - - /** BoundingPoly vertices */ - vertices?: (google.cloud.vision.v1p4beta1.IVertex[]|null); + /** Properties of a GcsDestination. */ + interface IGcsDestination { - /** BoundingPoly normalizedVertices */ - normalizedVertices?: (google.cloud.vision.v1p4beta1.INormalizedVertex[]|null); + /** GcsDestination uri */ + uri?: (string|null); } - /** Represents a BoundingPoly. */ - class BoundingPoly implements IBoundingPoly { + /** Represents a GcsDestination. */ + class GcsDestination implements IGcsDestination { /** - * Constructs a new BoundingPoly. + * Constructs a new GcsDestination. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IBoundingPoly); - - /** BoundingPoly vertices. */ - public vertices: google.cloud.vision.v1p4beta1.IVertex[]; + constructor(properties?: google.cloud.vision.v1p4beta1.IGcsDestination); - /** BoundingPoly normalizedVertices. */ - public normalizedVertices: google.cloud.vision.v1p4beta1.INormalizedVertex[]; + /** GcsDestination uri. */ + public uri: string; /** - * Creates a new BoundingPoly instance using the specified properties. + * Creates a new GcsDestination instance using the specified properties. * @param [properties] Properties to set - * @returns BoundingPoly instance + * @returns GcsDestination instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IBoundingPoly): google.cloud.vision.v1p4beta1.BoundingPoly; + public static create(properties?: google.cloud.vision.v1p4beta1.IGcsDestination): google.cloud.vision.v1p4beta1.GcsDestination; /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. - * @param message BoundingPoly message or plain object to encode + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. + * @param message GcsDestination message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a BoundingPoly message from the specified reader or buffer. + * Decodes a GcsDestination message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns BoundingPoly + * @returns GcsDestination * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.BoundingPoly; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.GcsDestination; /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns BoundingPoly + * @returns GcsDestination * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.BoundingPoly; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.GcsDestination; /** - * Verifies a BoundingPoly message. + * Verifies a GcsDestination message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns BoundingPoly + * @returns GcsDestination */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.BoundingPoly; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.GcsDestination; /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. - * @param message BoundingPoly + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @param message GcsDestination * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.BoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this BoundingPoly to JSON. + * Converts this GcsDestination to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a Position. */ - interface IPosition { + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { - /** Position x */ - x?: (number|null); + /** OperationMetadata state */ + state?: (google.cloud.vision.v1p4beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p4beta1.OperationMetadata.State|null); - /** Position y */ - y?: (number|null); + /** OperationMetadata createTime */ + createTime?: (google.protobuf.ITimestamp|null); - /** Position z */ - z?: (number|null); + /** OperationMetadata updateTime */ + updateTime?: (google.protobuf.ITimestamp|null); } - /** Represents a Position. */ - class Position implements IPosition { + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { /** - * Constructs a new Position. + * Constructs a new OperationMetadata. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p4beta1.IPosition); + constructor(properties?: google.cloud.vision.v1p4beta1.IOperationMetadata); - /** Position x. */ - public x: number; + /** OperationMetadata state. */ + public state: (google.cloud.vision.v1p4beta1.OperationMetadata.State|keyof typeof google.cloud.vision.v1p4beta1.OperationMetadata.State); - /** Position y. */ - public y: number; + /** OperationMetadata createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); - /** Position z. */ - public z: number; + /** OperationMetadata updateTime. */ + public updateTime?: (google.protobuf.ITimestamp|null); /** - * Creates a new Position instance using the specified properties. + * Creates a new OperationMetadata instance using the specified properties. * @param [properties] Properties to set - * @returns Position instance + * @returns OperationMetadata instance */ - public static create(properties?: google.cloud.vision.v1p4beta1.IPosition): google.cloud.vision.v1p4beta1.Position; + public static create(properties?: google.cloud.vision.v1p4beta1.IOperationMetadata): google.cloud.vision.v1p4beta1.OperationMetadata; /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. - * @param message Position message or plain object to encode + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p4beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p4beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. - * @param message Position message or plain object to encode + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IPosition, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Position message from the specified reader or buffer. + * Decodes an OperationMetadata message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Position + * @returns OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.Position; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.OperationMetadata; /** - * Decodes a Position message from the specified reader or buffer, length delimited. + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Position + * @returns OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.Position; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.OperationMetadata; /** - * Verifies a Position message. + * Verifies an OperationMetadata message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Position + * @returns OperationMetadata */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.Position; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.OperationMetadata; /** - * Creates a plain object from a Position message. Also converts values to other types if specified. - * @param message Position + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @param message OperationMetadata * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p4beta1.Position, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p4beta1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Position to JSON. + * Converts this OperationMetadata to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } + namespace OperationMetadata { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + CREATED = 1, + RUNNING = 2, + DONE = 3, + CANCELLED = 4 + } + } + /** Properties of a ProductSearchParams. */ interface IProductSearchParams { diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 2f9b3fb1ef2..b963f78c69a 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -66,193 +66,25 @@ */ var v1 = {}; - v1.ImageAnnotator = (function() { - - /** - * Constructs a new ImageAnnotator service. - * @memberof google.cloud.vision.v1 - * @classdesc Represents an ImageAnnotator - * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; - - /** - * Creates new ImageAnnotator service using the specified rpc implementation. - * @function create - * @memberof google.cloud.vision.v1.ImageAnnotator - * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. - */ - ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateImages}. - * @memberof google.cloud.vision.v1.ImageAnnotator - * @typedef BatchAnnotateImagesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse - */ - - /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @param {google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { - return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1.BatchAnnotateImagesResponse, request, callback); - }, "name", { value: "BatchAnnotateImages" }); - - /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateFiles}. - * @memberof google.cloud.vision.v1.ImageAnnotator - * @typedef BatchAnnotateFilesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1.BatchAnnotateFilesResponse} [response] BatchAnnotateFilesResponse - */ - - /** - * Calls BatchAnnotateFiles. - * @function batchAnnotateFiles - * @memberof google.cloud.vision.v1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object - * @param {google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ImageAnnotator.prototype.batchAnnotateFiles = function batchAnnotateFiles(request, callback) { - return this.rpcCall(batchAnnotateFiles, $root.google.cloud.vision.v1.BatchAnnotateFilesRequest, $root.google.cloud.vision.v1.BatchAnnotateFilesResponse, request, callback); - }, "name", { value: "BatchAnnotateFiles" }); - - /** - * Calls BatchAnnotateFiles. - * @function batchAnnotateFiles - * @memberof google.cloud.vision.v1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateImages}. - * @memberof google.cloud.vision.v1.ImageAnnotator - * @typedef AsyncBatchAnnotateImagesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.longrunning.Operation} [response] Operation - */ - - /** - * Calls AsyncBatchAnnotateImages. - * @function asyncBatchAnnotateImages - * @memberof google.cloud.vision.v1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object - * @param {google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and Operation - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateImages = function asyncBatchAnnotateImages(request, callback) { - return this.rpcCall(asyncBatchAnnotateImages, $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest, $root.google.longrunning.Operation, request, callback); - }, "name", { value: "AsyncBatchAnnotateImages" }); - - /** - * Calls AsyncBatchAnnotateImages. - * @function asyncBatchAnnotateImages - * @memberof google.cloud.vision.v1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateFiles}. - * @memberof google.cloud.vision.v1.ImageAnnotator - * @typedef AsyncBatchAnnotateFilesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.longrunning.Operation} [response] Operation - */ - - /** - * Calls AsyncBatchAnnotateFiles. - * @function asyncBatchAnnotateFiles - * @memberof google.cloud.vision.v1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object - * @param {google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { - return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); - }, "name", { value: "AsyncBatchAnnotateFiles" }); - - /** - * Calls AsyncBatchAnnotateFiles. - * @function asyncBatchAnnotateFiles - * @memberof google.cloud.vision.v1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return ImageAnnotator; - })(); - - v1.Feature = (function() { + v1.Vertex = (function() { /** - * Properties of a Feature. + * Properties of a Vertex. * @memberof google.cloud.vision.v1 - * @interface IFeature - * @property {google.cloud.vision.v1.Feature.Type|null} [type] Feature type - * @property {number|null} [maxResults] Feature maxResults - * @property {string|null} [model] Feature model + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y */ /** - * Constructs a new Feature. + * Constructs a new Vertex. * @memberof google.cloud.vision.v1 - * @classdesc Represents a Feature. - * @implements IFeature + * @classdesc Represents a Vertex. + * @implements IVertex * @constructor - * @param {google.cloud.vision.v1.IFeature=} [properties] Properties to set + * @param {google.cloud.vision.v1.IVertex=} [properties] Properties to set */ - function Feature(properties) { + function Vertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -260,101 +92,88 @@ } /** - * Feature type. - * @member {google.cloud.vision.v1.Feature.Type} type - * @memberof google.cloud.vision.v1.Feature - * @instance - */ - Feature.prototype.type = 0; - - /** - * Feature maxResults. - * @member {number} maxResults - * @memberof google.cloud.vision.v1.Feature + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1.Vertex * @instance */ - Feature.prototype.maxResults = 0; + Vertex.prototype.x = 0; /** - * Feature model. - * @member {string} model - * @memberof google.cloud.vision.v1.Feature + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1.Vertex * @instance */ - Feature.prototype.model = ""; + Vertex.prototype.y = 0; /** - * Creates a new Feature instance using the specified properties. + * Creates a new Vertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.Feature + * @memberof google.cloud.vision.v1.Vertex * @static - * @param {google.cloud.vision.v1.IFeature=} [properties] Properties to set - * @returns {google.cloud.vision.v1.Feature} Feature instance + * @param {google.cloud.vision.v1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Vertex} Vertex instance */ - Feature.create = function create(properties) { - return new Feature(properties); + Vertex.create = function create(properties) { + return new Vertex(properties); }; /** - * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1.Feature.verify|verify} messages. + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.Feature + * @memberof google.cloud.vision.v1.Vertex * @static - * @param {google.cloud.vision.v1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encode = function encode(message, writer) { + Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; /** - * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Feature.verify|verify} messages. + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.Feature + * @memberof google.cloud.vision.v1.Vertex * @static - * @param {google.cloud.vision.v1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encodeDelimited = function encodeDelimited(message, writer) { + Vertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Feature message from the specified reader or buffer. + * Decodes a Vertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.Feature + * @memberof google.cloud.vision.v1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.Feature} Feature + * @returns {google.cloud.vision.v1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decode = function decode(reader, length) { + Vertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Feature(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Vertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.type = reader.int32(); + message.x = reader.int32(); break; case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); + message.y = reader.int32(); break; default: reader.skipType(tag & 7); @@ -365,229 +184,117 @@ }; /** - * Decodes a Feature message from the specified reader or buffer, length delimited. + * Decodes a Vertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.Feature + * @memberof google.cloud.vision.v1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.Feature} Feature + * @returns {google.cloud.vision.v1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decodeDelimited = function decodeDelimited(reader) { + Vertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Feature message. + * Verifies a Vertex message. * @function verify - * @memberof google.cloud.vision.v1.Feature + * @memberof google.cloud.vision.v1.Vertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Feature.verify = function verify(message) { + Vertex.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: - case 3: - case 4: - case 5: - case 11: - case 6: - case 7: - case 9: - case 10: - case 12: - case 19: - break; - } - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - if (!$util.isInteger(message.maxResults)) - return "maxResults: integer expected"; - if (message.model != null && message.hasOwnProperty("model")) - if (!$util.isString(message.model)) - return "model: string expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; return null; }; /** - * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.Feature + * @memberof google.cloud.vision.v1.Vertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.Feature} Feature + * @returns {google.cloud.vision.v1.Vertex} Vertex */ - Feature.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.Feature) + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Vertex) return object; - var message = new $root.google.cloud.vision.v1.Feature(); - switch (object.type) { - case "TYPE_UNSPECIFIED": - case 0: - message.type = 0; - break; - case "FACE_DETECTION": - case 1: - message.type = 1; - break; - case "LANDMARK_DETECTION": - case 2: - message.type = 2; - break; - case "LOGO_DETECTION": - case 3: - message.type = 3; - break; - case "LABEL_DETECTION": - case 4: - message.type = 4; - break; - case "TEXT_DETECTION": - case 5: - message.type = 5; - break; - case "DOCUMENT_TEXT_DETECTION": - case 11: - message.type = 11; - break; - case "SAFE_SEARCH_DETECTION": - case 6: - message.type = 6; - break; - case "IMAGE_PROPERTIES": - case 7: - message.type = 7; - break; - case "CROP_HINTS": - case 9: - message.type = 9; - break; - case "WEB_DETECTION": - case 10: - message.type = 10; - break; - case "PRODUCT_SEARCH": - case 12: - message.type = 12; - break; - case "OBJECT_LOCALIZATION": - case 19: - message.type = 19; - break; - } - if (object.maxResults != null) - message.maxResults = object.maxResults | 0; - if (object.model != null) - message.model = String(object.model); + var message = new $root.google.cloud.vision.v1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; return message; }; /** - * Creates a plain object from a Feature message. Also converts values to other types if specified. + * Creates a plain object from a Vertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.Feature + * @memberof google.cloud.vision.v1.Vertex * @static - * @param {google.cloud.vision.v1.Feature} message Feature + * @param {google.cloud.vision.v1.Vertex} message Vertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Feature.toObject = function toObject(message, options) { + Vertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; - object.maxResults = 0; - object.model = ""; + object.x = 0; + object.y = 0; } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1.Feature.Type[message.type] : message.type; - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - object.maxResults = message.maxResults; - if (message.model != null && message.hasOwnProperty("model")) - object.model = message.model; + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; return object; }; /** - * Converts this Feature to JSON. + * Converts this Vertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.Feature + * @memberof google.cloud.vision.v1.Vertex * @instance * @returns {Object.} JSON object */ - Feature.prototype.toJSON = function toJSON() { + Vertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * Type enum. - * @name google.cloud.vision.v1.Feature.Type - * @enum {string} - * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value - * @property {number} FACE_DETECTION=1 FACE_DETECTION value - * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value - * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value - * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value - * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value - * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value - * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value - * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value - * @property {number} CROP_HINTS=9 CROP_HINTS value - * @property {number} WEB_DETECTION=10 WEB_DETECTION value - * @property {number} PRODUCT_SEARCH=12 PRODUCT_SEARCH value - * @property {number} OBJECT_LOCALIZATION=19 OBJECT_LOCALIZATION value - */ - Feature.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; - values[valuesById[1] = "FACE_DETECTION"] = 1; - values[valuesById[2] = "LANDMARK_DETECTION"] = 2; - values[valuesById[3] = "LOGO_DETECTION"] = 3; - values[valuesById[4] = "LABEL_DETECTION"] = 4; - values[valuesById[5] = "TEXT_DETECTION"] = 5; - values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; - values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; - values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; - values[valuesById[9] = "CROP_HINTS"] = 9; - values[valuesById[10] = "WEB_DETECTION"] = 10; - values[valuesById[12] = "PRODUCT_SEARCH"] = 12; - values[valuesById[19] = "OBJECT_LOCALIZATION"] = 19; - return values; - })(); - - return Feature; + return Vertex; })(); - v1.ImageSource = (function() { + v1.NormalizedVertex = (function() { /** - * Properties of an ImageSource. + * Properties of a NormalizedVertex. * @memberof google.cloud.vision.v1 - * @interface IImageSource - * @property {string|null} [gcsImageUri] ImageSource gcsImageUri - * @property {string|null} [imageUri] ImageSource imageUri + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y */ /** - * Constructs a new ImageSource. + * Constructs a new NormalizedVertex. * @memberof google.cloud.vision.v1 - * @classdesc Represents an ImageSource. - * @implements IImageSource + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex * @constructor - * @param {google.cloud.vision.v1.IImageSource=} [properties] Properties to set + * @param {google.cloud.vision.v1.INormalizedVertex=} [properties] Properties to set */ - function ImageSource(properties) { + function NormalizedVertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -595,88 +302,88 @@ } /** - * ImageSource gcsImageUri. - * @member {string} gcsImageUri - * @memberof google.cloud.vision.v1.ImageSource + * NormalizedVertex x. + * @member {number} x + * @memberof google.cloud.vision.v1.NormalizedVertex * @instance */ - ImageSource.prototype.gcsImageUri = ""; + NormalizedVertex.prototype.x = 0; /** - * ImageSource imageUri. - * @member {string} imageUri - * @memberof google.cloud.vision.v1.ImageSource + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.vision.v1.NormalizedVertex * @instance */ - ImageSource.prototype.imageUri = ""; + NormalizedVertex.prototype.y = 0; /** - * Creates a new ImageSource instance using the specified properties. + * Creates a new NormalizedVertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.ImageSource + * @memberof google.cloud.vision.v1.NormalizedVertex * @static - * @param {google.cloud.vision.v1.IImageSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1.ImageSource} ImageSource instance + * @param {google.cloud.vision.v1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex instance */ - ImageSource.create = function create(properties) { - return new ImageSource(properties); + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); }; /** - * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1.ImageSource.verify|verify} messages. + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.ImageSource + * @memberof google.cloud.vision.v1.NormalizedVertex * @static - * @param {google.cloud.vision.v1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encode = function encode(message, writer) { + NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; /** - * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageSource.verify|verify} messages. + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.ImageSource + * @memberof google.cloud.vision.v1.NormalizedVertex * @static - * @param {google.cloud.vision.v1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageSource message from the specified reader or buffer. + * Decodes a NormalizedVertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.ImageSource + * @memberof google.cloud.vision.v1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decode = function decode(reader, length) { + NormalizedVertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.NormalizedVertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsImageUri = reader.string(); + message.x = reader.float(); break; case 2: - message.imageUri = reader.string(); + message.y = reader.float(); break; default: reader.skipType(tag & 7); @@ -687,117 +394,119 @@ }; /** - * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.ImageSource + * @memberof google.cloud.vision.v1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decodeDelimited = function decodeDelimited(reader) { + NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageSource message. + * Verifies a NormalizedVertex message. * @function verify - * @memberof google.cloud.vision.v1.ImageSource + * @memberof google.cloud.vision.v1.NormalizedVertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageSource.verify = function verify(message) { + NormalizedVertex.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - if (!$util.isString(message.gcsImageUri)) - return "gcsImageUri: string expected"; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - if (!$util.isString(message.imageUri)) - return "imageUri: string expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; return null; }; /** - * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.ImageSource + * @memberof google.cloud.vision.v1.NormalizedVertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex */ - ImageSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.ImageSource) + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.NormalizedVertex) return object; - var message = new $root.google.cloud.vision.v1.ImageSource(); - if (object.gcsImageUri != null) - message.gcsImageUri = String(object.gcsImageUri); - if (object.imageUri != null) - message.imageUri = String(object.imageUri); + var message = new $root.google.cloud.vision.v1.NormalizedVertex(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); return message; }; /** - * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.ImageSource + * @memberof google.cloud.vision.v1.NormalizedVertex * @static - * @param {google.cloud.vision.v1.ImageSource} message ImageSource + * @param {google.cloud.vision.v1.NormalizedVertex} message NormalizedVertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageSource.toObject = function toObject(message, options) { + NormalizedVertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.gcsImageUri = ""; - object.imageUri = ""; + object.x = 0; + object.y = 0; } - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - object.gcsImageUri = message.gcsImageUri; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - object.imageUri = message.imageUri; + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; return object; }; /** - * Converts this ImageSource to JSON. + * Converts this NormalizedVertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.ImageSource + * @memberof google.cloud.vision.v1.NormalizedVertex * @instance * @returns {Object.} JSON object */ - ImageSource.prototype.toJSON = function toJSON() { + NormalizedVertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageSource; + return NormalizedVertex; })(); - v1.Image = (function() { + v1.BoundingPoly = (function() { /** - * Properties of an Image. + * Properties of a BoundingPoly. * @memberof google.cloud.vision.v1 - * @interface IImage - * @property {Uint8Array|null} [content] Image content - * @property {google.cloud.vision.v1.IImageSource|null} [source] Image source + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices */ /** - * Constructs a new Image. + * Constructs a new BoundingPoly. * @memberof google.cloud.vision.v1 - * @classdesc Represents an Image. - * @implements IImage + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly * @constructor - * @param {google.cloud.vision.v1.IImage=} [properties] Properties to set + * @param {google.cloud.vision.v1.IBoundingPoly=} [properties] Properties to set */ - function Image(properties) { + function BoundingPoly(properties) { + this.vertices = []; + this.normalizedVertices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -805,88 +514,94 @@ } /** - * Image content. - * @member {Uint8Array} content - * @memberof google.cloud.vision.v1.Image + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1.BoundingPoly * @instance */ - Image.prototype.content = $util.newBuffer([]); + BoundingPoly.prototype.vertices = $util.emptyArray; /** - * Image source. - * @member {google.cloud.vision.v1.IImageSource|null|undefined} source - * @memberof google.cloud.vision.v1.Image + * BoundingPoly normalizedVertices. + * @member {Array.} normalizedVertices + * @memberof google.cloud.vision.v1.BoundingPoly * @instance */ - Image.prototype.source = null; + BoundingPoly.prototype.normalizedVertices = $util.emptyArray; /** - * Creates a new Image instance using the specified properties. + * Creates a new BoundingPoly instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.Image + * @memberof google.cloud.vision.v1.BoundingPoly * @static - * @param {google.cloud.vision.v1.IImage=} [properties] Properties to set - * @returns {google.cloud.vision.v1.Image} Image instance + * @param {google.cloud.vision.v1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly instance */ - Image.create = function create(properties) { - return new Image(properties); + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); }; /** - * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1.Image.verify|verify} messages. + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.Image + * @memberof google.cloud.vision.v1.BoundingPoly * @static - * @param {google.cloud.vision.v1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encode = function encode(message, writer) { + BoundingPoly.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) - $root.google.cloud.vision.v1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.normalizedVertices != null && message.normalizedVertices.length) + for (var i = 0; i < message.normalizedVertices.length; ++i) + $root.google.cloud.vision.v1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Image.verify|verify} messages. + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.Image + * @memberof google.cloud.vision.v1.BoundingPoly * @static - * @param {google.cloud.vision.v1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encodeDelimited = function encodeDelimited(message, writer) { + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an Image message from the specified reader or buffer. + * Decodes a BoundingPoly message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.Image + * @memberof google.cloud.vision.v1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.Image} Image + * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decode = function decode(reader, length) { + BoundingPoly.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Image(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BoundingPoly(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.content = reader.bytes(); + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1.Vertex.decode(reader, reader.uint32())); break; case 2: - message.source = $root.google.cloud.vision.v1.ImageSource.decode(reader, reader.uint32()); + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1.NormalizedVertex.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -897,167 +612,152 @@ }; /** - * Decodes an Image message from the specified reader or buffer, length delimited. + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.Image + * @memberof google.cloud.vision.v1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.Image} Image + * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decodeDelimited = function decodeDelimited(reader) { + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an Image message. + * Verifies a BoundingPoly message. * @function verify - * @memberof google.cloud.vision.v1.Image + * @memberof google.cloud.vision.v1.BoundingPoly * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Image.verify = function verify(message) { + BoundingPoly.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.content != null && message.hasOwnProperty("content")) - if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) - return "content: buffer expected"; - if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.vision.v1.ImageSource.verify(message.source); - if (error) - return "source." + error; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1.Vertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } + if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { + if (!Array.isArray(message.normalizedVertices)) + return "normalizedVertices: array expected"; + for (var i = 0; i < message.normalizedVertices.length; ++i) { + var error = $root.google.cloud.vision.v1.NormalizedVertex.verify(message.normalizedVertices[i]); + if (error) + return "normalizedVertices." + error; + } } return null; }; /** - * Creates an Image message from a plain object. Also converts values to their respective internal types. + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.Image + * @memberof google.cloud.vision.v1.BoundingPoly * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.Image} Image + * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly */ - Image.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.Image) + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BoundingPoly) return object; - var message = new $root.google.cloud.vision.v1.Image(); - if (object.content != null) - if (typeof object.content === "string") - $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) - message.content = object.content; - if (object.source != null) { - if (typeof object.source !== "object") - throw TypeError(".google.cloud.vision.v1.Image.source: object expected"); - message.source = $root.google.cloud.vision.v1.ImageSource.fromObject(object.source); + var message = new $root.google.cloud.vision.v1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1.Vertex.fromObject(object.vertices[i]); + } + } + if (object.normalizedVertices) { + if (!Array.isArray(object.normalizedVertices)) + throw TypeError(".google.cloud.vision.v1.BoundingPoly.normalizedVertices: array expected"); + message.normalizedVertices = []; + for (var i = 0; i < object.normalizedVertices.length; ++i) { + if (typeof object.normalizedVertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1.BoundingPoly.normalizedVertices: object expected"); + message.normalizedVertices[i] = $root.google.cloud.vision.v1.NormalizedVertex.fromObject(object.normalizedVertices[i]); + } } return message; }; /** - * Creates a plain object from an Image message. Also converts values to other types if specified. + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.Image + * @memberof google.cloud.vision.v1.BoundingPoly * @static - * @param {google.cloud.vision.v1.Image} message Image + * @param {google.cloud.vision.v1.BoundingPoly} message BoundingPoly * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Image.toObject = function toObject(message, options) { + BoundingPoly.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.content = ""; - else { - object.content = []; - if (options.bytes !== Array) - object.content = $util.newBuffer(object.content); - } - object.source = null; + if (options.arrays || options.defaults) { + object.vertices = []; + object.normalizedVertices = []; + } + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1.Vertex.toObject(message.vertices[j], options); + } + if (message.normalizedVertices && message.normalizedVertices.length) { + object.normalizedVertices = []; + for (var j = 0; j < message.normalizedVertices.length; ++j) + object.normalizedVertices[j] = $root.google.cloud.vision.v1.NormalizedVertex.toObject(message.normalizedVertices[j], options); } - if (message.content != null && message.hasOwnProperty("content")) - object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; - if (message.source != null && message.hasOwnProperty("source")) - object.source = $root.google.cloud.vision.v1.ImageSource.toObject(message.source, options); return object; }; /** - * Converts this Image to JSON. + * Converts this BoundingPoly to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.Image + * @memberof google.cloud.vision.v1.BoundingPoly * @instance * @returns {Object.} JSON object */ - Image.prototype.toJSON = function toJSON() { + BoundingPoly.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Image; - })(); - - /** - * Likelihood enum. - * @name google.cloud.vision.v1.Likelihood - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value - * @property {number} UNLIKELY=2 UNLIKELY value - * @property {number} POSSIBLE=3 POSSIBLE value - * @property {number} LIKELY=4 LIKELY value - * @property {number} VERY_LIKELY=5 VERY_LIKELY value - */ - v1.Likelihood = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "VERY_UNLIKELY"] = 1; - values[valuesById[2] = "UNLIKELY"] = 2; - values[valuesById[3] = "POSSIBLE"] = 3; - values[valuesById[4] = "LIKELY"] = 4; - values[valuesById[5] = "VERY_LIKELY"] = 5; - return values; + return BoundingPoly; })(); - v1.FaceAnnotation = (function() { + v1.Position = (function() { /** - * Properties of a FaceAnnotation. + * Properties of a Position. * @memberof google.cloud.vision.v1 - * @interface IFaceAnnotation - * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly - * @property {google.cloud.vision.v1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly - * @property {Array.|null} [landmarks] FaceAnnotation landmarks - * @property {number|null} [rollAngle] FaceAnnotation rollAngle - * @property {number|null} [panAngle] FaceAnnotation panAngle - * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle - * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence - * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence - * @property {google.cloud.vision.v1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood - * @property {google.cloud.vision.v1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood - * @property {google.cloud.vision.v1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood - * @property {google.cloud.vision.v1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood - * @property {google.cloud.vision.v1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood - * @property {google.cloud.vision.v1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood - * @property {google.cloud.vision.v1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z */ /** - * Constructs a new FaceAnnotation. + * Constructs a new Position. * @memberof google.cloud.vision.v1 - * @classdesc Represents a FaceAnnotation. - * @implements IFaceAnnotation + * @classdesc Represents a Position. + * @implements IPosition * @constructor - * @param {google.cloud.vision.v1.IFaceAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1.IPosition=} [properties] Properties to set */ - function FaceAnnotation(properties) { - this.landmarks = []; + function Position(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -1065,260 +765,500 @@ } /** - * FaceAnnotation boundingPoly. - * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.boundingPoly = null; - - /** - * FaceAnnotation fdBoundingPoly. - * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} fdBoundingPoly - * @memberof google.cloud.vision.v1.FaceAnnotation + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1.Position * @instance */ - FaceAnnotation.prototype.fdBoundingPoly = null; + Position.prototype.x = 0; /** - * FaceAnnotation landmarks. - * @member {Array.} landmarks - * @memberof google.cloud.vision.v1.FaceAnnotation + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1.Position * @instance */ - FaceAnnotation.prototype.landmarks = $util.emptyArray; + Position.prototype.y = 0; /** - * FaceAnnotation rollAngle. - * @member {number} rollAngle - * @memberof google.cloud.vision.v1.FaceAnnotation + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1.Position * @instance */ - FaceAnnotation.prototype.rollAngle = 0; + Position.prototype.z = 0; /** - * FaceAnnotation panAngle. - * @member {number} panAngle - * @memberof google.cloud.vision.v1.FaceAnnotation - * @instance + * Creates a new Position instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.Position + * @static + * @param {google.cloud.vision.v1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Position} Position instance */ - FaceAnnotation.prototype.panAngle = 0; + Position.create = function create(properties) { + return new Position(properties); + }; /** - * FaceAnnotation tiltAngle. - * @member {number} tiltAngle - * @memberof google.cloud.vision.v1.FaceAnnotation - * @instance + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.Position + * @static + * @param {google.cloud.vision.v1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.prototype.tiltAngle = 0; + Position.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + return writer; + }; /** - * FaceAnnotation detectionConfidence. - * @member {number} detectionConfidence - * @memberof google.cloud.vision.v1.FaceAnnotation - * @instance + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.Position + * @static + * @param {google.cloud.vision.v1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.prototype.detectionConfidence = 0; + Position.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * FaceAnnotation landmarkingConfidence. - * @member {number} landmarkingConfidence - * @memberof google.cloud.vision.v1.FaceAnnotation - * @instance + * Decodes a Position message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.prototype.landmarkingConfidence = 0; + Position.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Position(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.float(); + break; + case 2: + message.y = reader.float(); + break; + case 3: + message.z = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * FaceAnnotation joyLikelihood. - * @member {google.cloud.vision.v1.Likelihood} joyLikelihood - * @memberof google.cloud.vision.v1.FaceAnnotation - * @instance + * Decodes a Position message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.prototype.joyLikelihood = 0; + Position.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * FaceAnnotation sorrowLikelihood. - * @member {google.cloud.vision.v1.Likelihood} sorrowLikelihood - * @memberof google.cloud.vision.v1.FaceAnnotation + * Verifies a Position message. + * @function verify + * @memberof google.cloud.vision.v1.Position + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Position.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; + return null; + }; + + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.Position + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.Position} Position + */ + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Position) + return object; + var message = new $root.google.cloud.vision.v1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); + return message; + }; + + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.Position + * @static + * @param {google.cloud.vision.v1.Position} message Position + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Position.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + object.z = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + return object; + }; + + /** + * Converts this Position to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.Position * @instance + * @returns {Object.} JSON object */ - FaceAnnotation.prototype.sorrowLikelihood = 0; + Position.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Position; + })(); + + v1.ImageAnnotator = (function() { /** - * FaceAnnotation angerLikelihood. - * @member {google.cloud.vision.v1.Likelihood} angerLikelihood - * @memberof google.cloud.vision.v1.FaceAnnotation + * Constructs a new ImageAnnotator service. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImageAnnotator + * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; + + /** + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + */ + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + */ + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1.ImageAnnotator * @instance + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 */ - FaceAnnotation.prototype.angerLikelihood = 0; + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); /** - * FaceAnnotation surpriseLikelihood. - * @member {google.cloud.vision.v1.Likelihood} surpriseLikelihood - * @memberof google.cloud.vision.v1.FaceAnnotation + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1.ImageAnnotator * @instance + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 */ - FaceAnnotation.prototype.surpriseLikelihood = 0; /** - * FaceAnnotation underExposedLikelihood. - * @member {google.cloud.vision.v1.Likelihood} underExposedLikelihood - * @memberof google.cloud.vision.v1.FaceAnnotation + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateFiles}. + * @memberof google.cloud.vision.v1.ImageAnnotator + * @typedef BatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1.BatchAnnotateFilesResponse} [response] BatchAnnotateFilesResponse + */ + + /** + * Calls BatchAnnotateFiles. + * @function batchAnnotateFiles + * @memberof google.cloud.vision.v1.ImageAnnotator * @instance + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse + * @returns {undefined} + * @variation 1 */ - FaceAnnotation.prototype.underExposedLikelihood = 0; + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateFiles = function batchAnnotateFiles(request, callback) { + return this.rpcCall(batchAnnotateFiles, $root.google.cloud.vision.v1.BatchAnnotateFilesRequest, $root.google.cloud.vision.v1.BatchAnnotateFilesResponse, request, callback); + }, "name", { value: "BatchAnnotateFiles" }); /** - * FaceAnnotation blurredLikelihood. - * @member {google.cloud.vision.v1.Likelihood} blurredLikelihood - * @memberof google.cloud.vision.v1.FaceAnnotation + * Calls BatchAnnotateFiles. + * @function batchAnnotateFiles + * @memberof google.cloud.vision.v1.ImageAnnotator * @instance + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 */ - FaceAnnotation.prototype.blurredLikelihood = 0; /** - * FaceAnnotation headwearLikelihood. - * @member {google.cloud.vision.v1.Likelihood} headwearLikelihood - * @memberof google.cloud.vision.v1.FaceAnnotation + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateImages}. + * @memberof google.cloud.vision.v1.ImageAnnotator + * @typedef AsyncBatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AsyncBatchAnnotateImages. + * @function asyncBatchAnnotateImages + * @memberof google.cloud.vision.v1.ImageAnnotator * @instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 */ - FaceAnnotation.prototype.headwearLikelihood = 0; + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateImages = function asyncBatchAnnotateImages(request, callback) { + return this.rpcCall(asyncBatchAnnotateImages, $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateImages" }); /** - * Creates a new FaceAnnotation instance using the specified properties. + * Calls AsyncBatchAnnotateImages. + * @function asyncBatchAnnotateImages + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @memberof google.cloud.vision.v1.ImageAnnotator + * @typedef AsyncBatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { + return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateFiles" }); + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ImageAnnotator; + })(); + + v1.Feature = (function() { + + /** + * Properties of a Feature. + * @memberof google.cloud.vision.v1 + * @interface IFeature + * @property {google.cloud.vision.v1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model + */ + + /** + * Constructs a new Feature. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a Feature. + * @implements IFeature + * @constructor + * @param {google.cloud.vision.v1.IFeature=} [properties] Properties to set + */ + function Feature(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]]; + } + + /** + * Feature type. + * @member {google.cloud.vision.v1.Feature.Type} type + * @memberof google.cloud.vision.v1.Feature + * @instance + */ + Feature.prototype.type = 0; + + /** + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1.Feature + * @instance + */ + Feature.prototype.maxResults = 0; + + /** + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1.Feature + * @instance + */ + Feature.prototype.model = ""; + + /** + * Creates a new Feature instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.FaceAnnotation + * @memberof google.cloud.vision.v1.Feature * @static - * @param {google.cloud.vision.v1.IFaceAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation instance + * @param {google.cloud.vision.v1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Feature} Feature instance */ - FaceAnnotation.create = function create(properties) { - return new FaceAnnotation(properties); + Feature.create = function create(properties) { + return new Feature(properties); }; /** - * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.verify|verify} messages. + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1.Feature.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.FaceAnnotation + * @memberof google.cloud.vision.v1.Feature * @static - * @param {google.cloud.vision.v1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {google.cloud.vision.v1.IFeature} message Feature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.encode = function encode(message, writer) { + Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - $root.google.cloud.vision.v1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.landmarks != null && message.landmarks.length) - for (var i = 0; i < message.landmarks.length; ++i) - $root.google.cloud.vision.v1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; /** - * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.verify|verify} messages. + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Feature.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.FaceAnnotation + * @memberof google.cloud.vision.v1.Feature * @static - * @param {google.cloud.vision.v1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {google.cloud.vision.v1.IFeature} message Feature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + Feature.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FaceAnnotation message from the specified reader or buffer. + * Decodes a Feature message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.FaceAnnotation + * @memberof google.cloud.vision.v1.Feature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1.Feature} Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.decode = function decode(reader, length) { + Feature.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.FaceAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Feature(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + message.type = reader.int32(); break; case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + message.maxResults = reader.int32(); break; case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); + message.model = reader.string(); break; default: reader.skipType(tag & 7); @@ -1329,1028 +1269,318 @@ }; /** - * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * Decodes a Feature message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.FaceAnnotation + * @memberof google.cloud.vision.v1.Feature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1.Feature} Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + Feature.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FaceAnnotation message. + * Verifies a Feature message. * @function verify - * @memberof google.cloud.vision.v1.FaceAnnotation + * @memberof google.cloud.vision.v1.Feature * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FaceAnnotation.verify = function verify(message) { + Feature.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { - var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.fdBoundingPoly); - if (error) - return "fdBoundingPoly." + error; - } - if (message.landmarks != null && message.hasOwnProperty("landmarks")) { - if (!Array.isArray(message.landmarks)) - return "landmarks: array expected"; - for (var i = 0; i < message.landmarks.length; ++i) { - var error = $root.google.cloud.vision.v1.FaceAnnotation.Landmark.verify(message.landmarks[i]); - if (error) - return "landmarks." + error; - } - } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - if (typeof message.rollAngle !== "number") - return "rollAngle: number expected"; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - if (typeof message.panAngle !== "number") - return "panAngle: number expected"; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - if (typeof message.tiltAngle !== "number") - return "tiltAngle: number expected"; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - if (typeof message.detectionConfidence !== "number") - return "detectionConfidence: number expected"; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - if (typeof message.landmarkingConfidence !== "number") - return "landmarkingConfidence: number expected"; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - switch (message.joyLikelihood) { - default: - return "joyLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - switch (message.sorrowLikelihood) { - default: - return "sorrowLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - switch (message.angerLikelihood) { + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { default: - return "angerLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - switch (message.surpriseLikelihood) { - default: - return "surpriseLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - switch (message.underExposedLikelihood) { - default: - return "underExposedLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - switch (message.blurredLikelihood) { - default: - return "blurredLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - switch (message.headwearLikelihood) { - default: - return "headwearLikelihood: enum value expected"; + return "type: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: + case 11: + case 6: + case 7: + case 9: + case 10: + case 12: + case 19: break; } + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; return null; }; /** - * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a Feature message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.FaceAnnotation + * @memberof google.cloud.vision.v1.Feature * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1.Feature} Feature */ - FaceAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.FaceAnnotation) + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Feature) return object; - var message = new $root.google.cloud.vision.v1.FaceAnnotation(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1.FaceAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.fdBoundingPoly != null) { - if (typeof object.fdBoundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1.FaceAnnotation.fdBoundingPoly: object expected"); - message.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.fdBoundingPoly); - } - if (object.landmarks) { - if (!Array.isArray(object.landmarks)) - throw TypeError(".google.cloud.vision.v1.FaceAnnotation.landmarks: array expected"); - message.landmarks = []; - for (var i = 0; i < object.landmarks.length; ++i) { - if (typeof object.landmarks[i] !== "object") - throw TypeError(".google.cloud.vision.v1.FaceAnnotation.landmarks: object expected"); - message.landmarks[i] = $root.google.cloud.vision.v1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); - } - } - if (object.rollAngle != null) - message.rollAngle = Number(object.rollAngle); - if (object.panAngle != null) - message.panAngle = Number(object.panAngle); - if (object.tiltAngle != null) - message.tiltAngle = Number(object.tiltAngle); - if (object.detectionConfidence != null) - message.detectionConfidence = Number(object.detectionConfidence); - if (object.landmarkingConfidence != null) - message.landmarkingConfidence = Number(object.landmarkingConfidence); - switch (object.joyLikelihood) { - case "UNKNOWN": - case 0: - message.joyLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.joyLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.joyLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.joyLikelihood = 3; - break; - case "LIKELY": - case 4: - message.joyLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.joyLikelihood = 5; - break; - } - switch (object.sorrowLikelihood) { - case "UNKNOWN": - case 0: - message.sorrowLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.sorrowLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.sorrowLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.sorrowLikelihood = 3; - break; - case "LIKELY": - case 4: - message.sorrowLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.sorrowLikelihood = 5; - break; - } - switch (object.angerLikelihood) { - case "UNKNOWN": - case 0: - message.angerLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.angerLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.angerLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.angerLikelihood = 3; - break; - case "LIKELY": - case 4: - message.angerLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.angerLikelihood = 5; - break; - } - switch (object.surpriseLikelihood) { - case "UNKNOWN": - case 0: - message.surpriseLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.surpriseLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.surpriseLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.surpriseLikelihood = 3; - break; - case "LIKELY": - case 4: - message.surpriseLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.surpriseLikelihood = 5; - break; - } - switch (object.underExposedLikelihood) { - case "UNKNOWN": + var message = new $root.google.cloud.vision.v1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": case 0: - message.underExposedLikelihood = 0; + message.type = 0; break; - case "VERY_UNLIKELY": + case "FACE_DETECTION": case 1: - message.underExposedLikelihood = 1; + message.type = 1; break; - case "UNLIKELY": + case "LANDMARK_DETECTION": case 2: - message.underExposedLikelihood = 2; + message.type = 2; break; - case "POSSIBLE": + case "LOGO_DETECTION": case 3: - message.underExposedLikelihood = 3; + message.type = 3; break; - case "LIKELY": + case "LABEL_DETECTION": case 4: - message.underExposedLikelihood = 4; + message.type = 4; break; - case "VERY_LIKELY": + case "TEXT_DETECTION": case 5: - message.underExposedLikelihood = 5; - break; - } - switch (object.blurredLikelihood) { - case "UNKNOWN": - case 0: - message.blurredLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.blurredLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.blurredLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.blurredLikelihood = 3; - break; - case "LIKELY": - case 4: - message.blurredLikelihood = 4; + message.type = 5; break; - case "VERY_LIKELY": - case 5: - message.blurredLikelihood = 5; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; break; - } - switch (object.headwearLikelihood) { - case "UNKNOWN": - case 0: - message.headwearLikelihood = 0; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; break; - case "VERY_UNLIKELY": - case 1: - message.headwearLikelihood = 1; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; break; - case "UNLIKELY": - case 2: - message.headwearLikelihood = 2; + case "CROP_HINTS": + case 9: + message.type = 9; break; - case "POSSIBLE": - case 3: - message.headwearLikelihood = 3; + case "WEB_DETECTION": + case 10: + message.type = 10; break; - case "LIKELY": - case 4: - message.headwearLikelihood = 4; + case "PRODUCT_SEARCH": + case 12: + message.type = 12; break; - case "VERY_LIKELY": - case 5: - message.headwearLikelihood = 5; + case "OBJECT_LOCALIZATION": + case 19: + message.type = 19; break; } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); return message; }; /** - * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a Feature message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.FaceAnnotation + * @memberof google.cloud.vision.v1.Feature * @static - * @param {google.cloud.vision.v1.FaceAnnotation} message FaceAnnotation + * @param {google.cloud.vision.v1.Feature} message Feature * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FaceAnnotation.toObject = function toObject(message, options) { + Feature.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.landmarks = []; if (options.defaults) { - object.boundingPoly = null; - object.fdBoundingPoly = null; - object.rollAngle = 0; - object.panAngle = 0; - object.tiltAngle = 0; - object.detectionConfidence = 0; - object.landmarkingConfidence = 0; - object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; - } - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - object.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.fdBoundingPoly, options); - if (message.landmarks && message.landmarks.length) { - object.landmarks = []; - for (var j = 0; j < message.landmarks.length; ++j) - object.landmarks[j] = $root.google.cloud.vision.v1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.joyLikelihood] : message.joyLikelihood; - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.angerLikelihood] : message.angerLikelihood; - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; return object; }; /** - * Converts this FaceAnnotation to JSON. + * Converts this Feature to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.FaceAnnotation + * @memberof google.cloud.vision.v1.Feature * @instance * @returns {Object.} JSON object */ - FaceAnnotation.prototype.toJSON = function toJSON() { + Feature.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - FaceAnnotation.Landmark = (function() { - - /** - * Properties of a Landmark. - * @memberof google.cloud.vision.v1.FaceAnnotation - * @interface ILandmark - * @property {google.cloud.vision.v1.FaceAnnotation.Landmark.Type|null} [type] Landmark type - * @property {google.cloud.vision.v1.IPosition|null} [position] Landmark position - */ + /** + * Type enum. + * @name google.cloud.vision.v1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + * @property {number} PRODUCT_SEARCH=12 PRODUCT_SEARCH value + * @property {number} OBJECT_LOCALIZATION=19 OBJECT_LOCALIZATION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + values[valuesById[12] = "PRODUCT_SEARCH"] = 12; + values[valuesById[19] = "OBJECT_LOCALIZATION"] = 19; + return values; + })(); - /** - * Constructs a new Landmark. - * @memberof google.cloud.vision.v1.FaceAnnotation - * @classdesc Represents a Landmark. - * @implements ILandmark - * @constructor - * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark=} [properties] Properties to set - */ - function Landmark(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]]; - } + return Feature; + })(); - /** - * Landmark type. - * @member {google.cloud.vision.v1.FaceAnnotation.Landmark.Type} type - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.type = 0; + v1.ImageSource = (function() { - /** - * Landmark position. - * @member {google.cloud.vision.v1.IPosition|null|undefined} position - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.position = null; + /** + * Properties of an ImageSource. + * @memberof google.cloud.vision.v1 + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri + */ - /** - * Creates a new Landmark instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark=} [properties] Properties to set - * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark instance - */ - Landmark.create = function create(properties) { - return new Landmark(properties); - }; + /** + * Constructs a new ImageSource. + * @memberof google.cloud.vision.v1 + * @classdesc Represents an ImageSource. + * @implements IImageSource + * @constructor + * @param {google.cloud.vision.v1.IImageSource=} [properties] Properties to set + */ + function ImageSource(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]]; + } - /** - * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) - $root.google.cloud.vision.v1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; + /** + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1.ImageSource + * @instance + */ + ImageSource.prototype.gcsImageUri = ""; - /** - * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Landmark message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.FaceAnnotation.Landmark(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1.Position.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Landmark message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Landmark message. - * @function verify - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Landmark.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: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - break; - } - if (message.position != null && message.hasOwnProperty("position")) { - var error = $root.google.cloud.vision.v1.Position.verify(message.position); - if (error) - return "position." + error; - } - return null; - }; - - /** - * Creates a Landmark message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark - */ - Landmark.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.FaceAnnotation.Landmark) - return object; - var message = new $root.google.cloud.vision.v1.FaceAnnotation.Landmark(); - switch (object.type) { - case "UNKNOWN_LANDMARK": - case 0: - message.type = 0; - break; - case "LEFT_EYE": - case 1: - message.type = 1; - break; - case "RIGHT_EYE": - case 2: - message.type = 2; - break; - case "LEFT_OF_LEFT_EYEBROW": - case 3: - message.type = 3; - break; - case "RIGHT_OF_LEFT_EYEBROW": - case 4: - message.type = 4; - break; - case "LEFT_OF_RIGHT_EYEBROW": - case 5: - message.type = 5; - break; - case "RIGHT_OF_RIGHT_EYEBROW": - case 6: - message.type = 6; - break; - case "MIDPOINT_BETWEEN_EYES": - case 7: - message.type = 7; - break; - case "NOSE_TIP": - case 8: - message.type = 8; - break; - case "UPPER_LIP": - case 9: - message.type = 9; - break; - case "LOWER_LIP": - case 10: - message.type = 10; - break; - case "MOUTH_LEFT": - case 11: - message.type = 11; - break; - case "MOUTH_RIGHT": - case 12: - message.type = 12; - break; - case "MOUTH_CENTER": - case 13: - message.type = 13; - break; - case "NOSE_BOTTOM_RIGHT": - case 14: - message.type = 14; - break; - case "NOSE_BOTTOM_LEFT": - case 15: - message.type = 15; - break; - case "NOSE_BOTTOM_CENTER": - case 16: - message.type = 16; - break; - case "LEFT_EYE_TOP_BOUNDARY": - case 17: - message.type = 17; - break; - case "LEFT_EYE_RIGHT_CORNER": - case 18: - message.type = 18; - break; - case "LEFT_EYE_BOTTOM_BOUNDARY": - case 19: - message.type = 19; - break; - case "LEFT_EYE_LEFT_CORNER": - case 20: - message.type = 20; - break; - case "RIGHT_EYE_TOP_BOUNDARY": - case 21: - message.type = 21; - break; - case "RIGHT_EYE_RIGHT_CORNER": - case 22: - message.type = 22; - break; - case "RIGHT_EYE_BOTTOM_BOUNDARY": - case 23: - message.type = 23; - break; - case "RIGHT_EYE_LEFT_CORNER": - case 24: - message.type = 24; - break; - case "LEFT_EYEBROW_UPPER_MIDPOINT": - case 25: - message.type = 25; - break; - case "RIGHT_EYEBROW_UPPER_MIDPOINT": - case 26: - message.type = 26; - break; - case "LEFT_EAR_TRAGION": - case 27: - message.type = 27; - break; - case "RIGHT_EAR_TRAGION": - case 28: - message.type = 28; - break; - case "LEFT_EYE_PUPIL": - case 29: - message.type = 29; - break; - case "RIGHT_EYE_PUPIL": - case 30: - message.type = 30; - break; - case "FOREHEAD_GLABELLA": - case 31: - message.type = 31; - break; - case "CHIN_GNATHION": - case 32: - message.type = 32; - break; - case "CHIN_LEFT_GONION": - case 33: - message.type = 33; - break; - case "CHIN_RIGHT_GONION": - case 34: - message.type = 34; - break; - } - if (object.position != null) { - if (typeof object.position !== "object") - throw TypeError(".google.cloud.vision.v1.FaceAnnotation.Landmark.position: object expected"); - message.position = $root.google.cloud.vision.v1.Position.fromObject(object.position); - } - return message; - }; - - /** - * Creates a plain object from a Landmark message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1.FaceAnnotation.Landmark} message Landmark - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Landmark.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; - object.position = null; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1.FaceAnnotation.Landmark.Type[message.type] : message.type; - if (message.position != null && message.hasOwnProperty("position")) - object.position = $root.google.cloud.vision.v1.Position.toObject(message.position, options); - return object; - }; - - /** - * Converts this Landmark to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark - * @instance - * @returns {Object.} JSON object - */ - Landmark.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Type enum. - * @name google.cloud.vision.v1.FaceAnnotation.Landmark.Type - * @enum {string} - * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value - * @property {number} LEFT_EYE=1 LEFT_EYE value - * @property {number} RIGHT_EYE=2 RIGHT_EYE value - * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value - * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value - * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value - * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value - * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value - * @property {number} NOSE_TIP=8 NOSE_TIP value - * @property {number} UPPER_LIP=9 UPPER_LIP value - * @property {number} LOWER_LIP=10 LOWER_LIP value - * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value - * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value - * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value - * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value - * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value - * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value - * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value - * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value - * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value - * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value - * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value - * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value - * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value - * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value - * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value - * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value - * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value - * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value - * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value - * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value - * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value - * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value - * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value - * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value - */ - Landmark.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; - values[valuesById[1] = "LEFT_EYE"] = 1; - values[valuesById[2] = "RIGHT_EYE"] = 2; - values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; - values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; - values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; - values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; - values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; - values[valuesById[8] = "NOSE_TIP"] = 8; - values[valuesById[9] = "UPPER_LIP"] = 9; - values[valuesById[10] = "LOWER_LIP"] = 10; - values[valuesById[11] = "MOUTH_LEFT"] = 11; - values[valuesById[12] = "MOUTH_RIGHT"] = 12; - values[valuesById[13] = "MOUTH_CENTER"] = 13; - values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; - values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; - values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; - values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; - values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; - values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; - values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; - values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; - values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; - values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; - values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; - values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; - values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; - values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; - values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; - values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; - values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; - values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; - values[valuesById[32] = "CHIN_GNATHION"] = 32; - values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; - values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; - return values; - })(); - - return Landmark; - })(); - - return FaceAnnotation; - })(); - - v1.LocationInfo = (function() { - - /** - * Properties of a LocationInfo. - * @memberof google.cloud.vision.v1 - * @interface ILocationInfo - * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng - */ - - /** - * Constructs a new LocationInfo. - * @memberof google.cloud.vision.v1 - * @classdesc Represents a LocationInfo. - * @implements ILocationInfo - * @constructor - * @param {google.cloud.vision.v1.ILocationInfo=} [properties] Properties to set - */ - function LocationInfo(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]]; - } - - /** - * LocationInfo latLng. - * @member {google.type.ILatLng|null|undefined} latLng - * @memberof google.cloud.vision.v1.LocationInfo - * @instance - */ - LocationInfo.prototype.latLng = null; + /** + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1.ImageSource + * @instance + */ + ImageSource.prototype.imageUri = ""; /** - * Creates a new LocationInfo instance using the specified properties. + * Creates a new ImageSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.LocationInfo + * @memberof google.cloud.vision.v1.ImageSource * @static - * @param {google.cloud.vision.v1.ILocationInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo instance + * @param {google.cloud.vision.v1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImageSource} ImageSource instance */ - LocationInfo.create = function create(properties) { - return new LocationInfo(properties); + ImageSource.create = function create(properties) { + return new ImageSource(properties); }; /** - * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1.LocationInfo.verify|verify} messages. + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1.ImageSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.LocationInfo + * @memberof google.cloud.vision.v1.ImageSource * @static - * @param {google.cloud.vision.v1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {google.cloud.vision.v1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocationInfo.encode = function encode(message, writer) { + ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) - $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; /** - * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LocationInfo.verify|verify} messages. + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.LocationInfo + * @memberof google.cloud.vision.v1.ImageSource * @static - * @param {google.cloud.vision.v1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {google.cloud.vision.v1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LocationInfo message from the specified reader or buffer. + * Decodes an ImageSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.LocationInfo + * @memberof google.cloud.vision.v1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationInfo.decode = function decode(reader, length) { + ImageSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.LocationInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.gcsImageUri = reader.string(); + break; + case 2: + message.imageUri = reader.string(); break; default: reader.skipType(tag & 7); @@ -2361,114 +1591,117 @@ }; /** - * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * Decodes an ImageSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.LocationInfo + * @memberof google.cloud.vision.v1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationInfo.decodeDelimited = function decodeDelimited(reader) { + ImageSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LocationInfo message. + * Verifies an ImageSource message. * @function verify - * @memberof google.cloud.vision.v1.LocationInfo + * @memberof google.cloud.vision.v1.ImageSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LocationInfo.verify = function verify(message) { + ImageSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.latLng != null && message.hasOwnProperty("latLng")) { - var error = $root.google.type.LatLng.verify(message.latLng); - if (error) - return "latLng." + error; - } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; return null; }; /** - * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.LocationInfo + * @memberof google.cloud.vision.v1.ImageSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1.ImageSource} ImageSource */ - LocationInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.LocationInfo) + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImageSource) return object; - var message = new $root.google.cloud.vision.v1.LocationInfo(); - if (object.latLng != null) { - if (typeof object.latLng !== "object") - throw TypeError(".google.cloud.vision.v1.LocationInfo.latLng: object expected"); - message.latLng = $root.google.type.LatLng.fromObject(object.latLng); - } + var message = new $root.google.cloud.vision.v1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); return message; }; /** - * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.LocationInfo + * @memberof google.cloud.vision.v1.ImageSource * @static - * @param {google.cloud.vision.v1.LocationInfo} message LocationInfo + * @param {google.cloud.vision.v1.ImageSource} message ImageSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LocationInfo.toObject = function toObject(message, options) { + ImageSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.latLng = null; - if (message.latLng != null && message.hasOwnProperty("latLng")) - object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); + if (options.defaults) { + object.gcsImageUri = ""; + object.imageUri = ""; + } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; return object; }; /** - * Converts this LocationInfo to JSON. + * Converts this ImageSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.LocationInfo + * @memberof google.cloud.vision.v1.ImageSource * @instance * @returns {Object.} JSON object */ - LocationInfo.prototype.toJSON = function toJSON() { + ImageSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LocationInfo; + return ImageSource; })(); - v1.Property = (function() { + v1.Image = (function() { /** - * Properties of a Property. + * Properties of an Image. * @memberof google.cloud.vision.v1 - * @interface IProperty - * @property {string|null} [name] Property name - * @property {string|null} [value] Property value - * @property {number|Long|null} [uint64Value] Property uint64Value + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1.IImageSource|null} [source] Image source */ /** - * Constructs a new Property. + * Constructs a new Image. * @memberof google.cloud.vision.v1 - * @classdesc Represents a Property. - * @implements IProperty + * @classdesc Represents an Image. + * @implements IImage * @constructor - * @param {google.cloud.vision.v1.IProperty=} [properties] Properties to set + * @param {google.cloud.vision.v1.IImage=} [properties] Properties to set */ - function Property(properties) { + function Image(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -2476,101 +1709,88 @@ } /** - * Property name. - * @member {string} name - * @memberof google.cloud.vision.v1.Property - * @instance - */ - Property.prototype.name = ""; - - /** - * Property value. - * @member {string} value - * @memberof google.cloud.vision.v1.Property + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1.Image * @instance */ - Property.prototype.value = ""; + Image.prototype.content = $util.newBuffer([]); /** - * Property uint64Value. - * @member {number|Long} uint64Value - * @memberof google.cloud.vision.v1.Property + * Image source. + * @member {google.cloud.vision.v1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1.Image * @instance */ - Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + Image.prototype.source = null; /** - * Creates a new Property instance using the specified properties. + * Creates a new Image instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.Property + * @memberof google.cloud.vision.v1.Image * @static - * @param {google.cloud.vision.v1.IProperty=} [properties] Properties to set - * @returns {google.cloud.vision.v1.Property} Property instance + * @param {google.cloud.vision.v1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Image} Image instance */ - Property.create = function create(properties) { - return new Property(properties); + Image.create = function create(properties) { + return new Image(properties); }; /** - * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1.Property.verify|verify} messages. + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1.Image.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.Property + * @memberof google.cloud.vision.v1.Image * @static - * @param {google.cloud.vision.v1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1.IImage} message Image message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encode = function encode(message, writer) { + Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Property.verify|verify} messages. + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Image.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.Property + * @memberof google.cloud.vision.v1.Image * @static - * @param {google.cloud.vision.v1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1.IImage} message Image message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encodeDelimited = function encodeDelimited(message, writer) { + Image.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Property message from the specified reader or buffer. + * Decodes an Image message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.Property + * @memberof google.cloud.vision.v1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.Property} Property + * @returns {google.cloud.vision.v1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decode = function decode(reader, length) { + Image.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Property(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Image(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.content = reader.bytes(); break; case 2: - message.value = reader.string(); - break; - case 3: - message.uint64Value = reader.uint64(); + message.source = $root.google.cloud.vision.v1.ImageSource.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -2581,148 +1801,167 @@ }; /** - * Decodes a Property message from the specified reader or buffer, length delimited. + * Decodes an Image message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.Property + * @memberof google.cloud.vision.v1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.Property} Property + * @returns {google.cloud.vision.v1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decodeDelimited = function decodeDelimited(reader) { + Image.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Property message. + * Verifies an Image message. * @function verify - * @memberof google.cloud.vision.v1.Property + * @memberof google.cloud.vision.v1.Image * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Property.verify = function verify(message) { + Image.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) - return "uint64Value: integer|Long expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1.ImageSource.verify(message.source); + if (error) + return "source." + error; + } return null; }; /** - * Creates a Property message from a plain object. Also converts values to their respective internal types. + * Creates an Image message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.Property + * @memberof google.cloud.vision.v1.Image * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.Property} Property + * @returns {google.cloud.vision.v1.Image} Image */ - Property.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.Property) + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Image) return object; - var message = new $root.google.cloud.vision.v1.Property(); - if (object.name != null) - message.name = String(object.name); - if (object.value != null) - message.value = String(object.value); - if (object.uint64Value != null) - if ($util.Long) - (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; - else if (typeof object.uint64Value === "string") - message.uint64Value = parseInt(object.uint64Value, 10); - else if (typeof object.uint64Value === "number") - message.uint64Value = object.uint64Value; - else if (typeof object.uint64Value === "object") - message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + var message = new $root.google.cloud.vision.v1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1.ImageSource.fromObject(object.source); + } return message; }; /** - * Creates a plain object from a Property message. Also converts values to other types if specified. + * Creates a plain object from an Image message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.Property + * @memberof google.cloud.vision.v1.Image * @static - * @param {google.cloud.vision.v1.Property} message Property + * @param {google.cloud.vision.v1.Image} message Image * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Property.toObject = function toObject(message, options) { + Image.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.name = ""; - object.value = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.uint64Value = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (typeof message.uint64Value === "number") - object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; - else - object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1.ImageSource.toObject(message.source, options); return object; }; /** - * Converts this Property to JSON. + * Converts this Image to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.Property + * @memberof google.cloud.vision.v1.Image * @instance * @returns {Object.} JSON object */ - Property.prototype.toJSON = function toJSON() { + Image.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Property; + return Image; })(); - v1.EntityAnnotation = (function() { + /** + * Likelihood enum. + * @name google.cloud.vision.v1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1.FaceAnnotation = (function() { /** - * Properties of an EntityAnnotation. + * Properties of a FaceAnnotation. * @memberof google.cloud.vision.v1 - * @interface IEntityAnnotation - * @property {string|null} [mid] EntityAnnotation mid - * @property {string|null} [locale] EntityAnnotation locale - * @property {string|null} [description] EntityAnnotation description - * @property {number|null} [score] EntityAnnotation score - * @property {number|null} [confidence] EntityAnnotation confidence - * @property {number|null} [topicality] EntityAnnotation topicality - * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly - * @property {Array.|null} [locations] EntityAnnotation locations - * @property {Array.|null} [properties] EntityAnnotation properties + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood */ /** - * Constructs a new EntityAnnotation. + * Constructs a new FaceAnnotation. * @memberof google.cloud.vision.v1 - * @classdesc Represents an EntityAnnotation. - * @implements IEntityAnnotation + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation * @constructor - * @param {google.cloud.vision.v1.IEntityAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1.IFaceAnnotation=} [properties] Properties to set */ - function EntityAnnotation(properties) { - this.locations = []; - this.properties = []; + function FaceAnnotation(properties) { + this.landmarks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -2730,185 +1969,260 @@ } /** - * EntityAnnotation mid. - * @member {string} mid - * @memberof google.cloud.vision.v1.EntityAnnotation + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.mid = ""; + FaceAnnotation.prototype.boundingPoly = null; /** - * EntityAnnotation locale. - * @member {string} locale - * @memberof google.cloud.vision.v1.EntityAnnotation + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.locale = ""; + FaceAnnotation.prototype.fdBoundingPoly = null; /** - * EntityAnnotation description. - * @member {string} description - * @memberof google.cloud.vision.v1.EntityAnnotation + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.description = ""; + FaceAnnotation.prototype.landmarks = $util.emptyArray; /** - * EntityAnnotation score. - * @member {number} score - * @memberof google.cloud.vision.v1.EntityAnnotation + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.score = 0; + FaceAnnotation.prototype.rollAngle = 0; /** - * EntityAnnotation confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1.EntityAnnotation + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.confidence = 0; + FaceAnnotation.prototype.panAngle = 0; /** - * EntityAnnotation topicality. - * @member {number} topicality - * @memberof google.cloud.vision.v1.EntityAnnotation + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.topicality = 0; + FaceAnnotation.prototype.tiltAngle = 0; /** - * EntityAnnotation boundingPoly. - * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1.EntityAnnotation + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.boundingPoly = null; + FaceAnnotation.prototype.detectionConfidence = 0; /** - * EntityAnnotation locations. - * @member {Array.} locations - * @memberof google.cloud.vision.v1.EntityAnnotation + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.locations = $util.emptyArray; + FaceAnnotation.prototype.landmarkingConfidence = 0; /** - * EntityAnnotation properties. - * @member {Array.} properties - * @memberof google.cloud.vision.v1.EntityAnnotation + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.properties = $util.emptyArray; + FaceAnnotation.prototype.joyLikelihood = 0; /** - * Creates a new EntityAnnotation instance using the specified properties. + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.sorrowLikelihood = 0; + + /** + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * Creates a new FaceAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.EntityAnnotation + * @memberof google.cloud.vision.v1.FaceAnnotation * @static - * @param {google.cloud.vision.v1.IEntityAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation instance + * @param {google.cloud.vision.v1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation instance */ - EntityAnnotation.create = function create(properties) { - return new EntityAnnotation(properties); + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); }; /** - * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1.EntityAnnotation.verify|verify} messages. + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.EntityAnnotation + * @memberof google.cloud.vision.v1.FaceAnnotation * @static - * @param {google.cloud.vision.v1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {google.cloud.vision.v1.IFaceAnnotation} message FaceAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EntityAnnotation.encode = function encode(message, writer) { + FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.locations != null && message.locations.length) - for (var i = 0; i < message.locations.length; ++i) - $root.google.cloud.vision.v1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.properties != null && message.properties.length) - for (var i = 0; i < message.properties.length; ++i) - $root.google.cloud.vision.v1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; /** - * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.EntityAnnotation.verify|verify} messages. + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.EntityAnnotation + * @memberof google.cloud.vision.v1.FaceAnnotation * @static - * @param {google.cloud.vision.v1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {google.cloud.vision.v1.IFaceAnnotation} message FaceAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EntityAnnotation message from the specified reader or buffer. + * Decodes a FaceAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.EntityAnnotation + * @memberof google.cloud.vision.v1.FaceAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EntityAnnotation.decode = function decode(reader, length) { + FaceAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.EntityAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.FaceAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.mid = reader.string(); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); break; case 2: - message.locale = reader.string(); + message.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); break; case 3: - message.description = reader.string(); + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); break; case 4: - message.score = reader.float(); + message.rollAngle = reader.float(); break; case 5: - message.confidence = reader.float(); + message.panAngle = reader.float(); break; case 6: - message.topicality = reader.float(); + message.tiltAngle = reader.float(); break; case 7: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + message.detectionConfidence = reader.float(); break; case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1.LocationInfo.decode(reader, reader.uint32())); + message.landmarkingConfidence = reader.float(); break; case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1.Property.decode(reader, reader.uint32())); + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); break; default: reader.skipType(tag & 7); @@ -2919,504 +2233,1146 @@ }; /** - * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.EntityAnnotation + * @memberof google.cloud.vision.v1.FaceAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EntityAnnotation message. + * Verifies a FaceAnnotation message. * @function verify - * @memberof google.cloud.vision.v1.EntityAnnotation + * @memberof google.cloud.vision.v1.FaceAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EntityAnnotation.verify = function verify(message) { + FaceAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.mid != null && message.hasOwnProperty("mid")) - if (!$util.isString(message.mid)) - return "mid: string expected"; - if (message.locale != null && message.hasOwnProperty("locale")) - if (!$util.isString(message.locale)) - return "locale: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.topicality != null && message.hasOwnProperty("topicality")) - if (typeof message.topicality !== "number") - return "topicality: number expected"; if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); if (error) return "boundingPoly." + error; } - if (message.locations != null && message.hasOwnProperty("locations")) { - if (!Array.isArray(message.locations)) - return "locations: array expected"; - for (var i = 0; i < message.locations.length; ++i) { - var error = $root.google.cloud.vision.v1.LocationInfo.verify(message.locations[i]); - if (error) - return "locations." + error; - } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; } - if (message.properties != null && message.hasOwnProperty("properties")) { - if (!Array.isArray(message.properties)) - return "properties: array expected"; - for (var i = 0; i < message.properties.length; ++i) { - var error = $root.google.cloud.vision.v1.Property.verify(message.properties[i]); + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1.FaceAnnotation.Landmark.verify(message.landmarks[i]); if (error) - return "properties." + error; + return "landmarks." + error; } } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { + default: + return "joyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { + default: + return "sorrowLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { + default: + return "angerLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { + default: + return "surpriseLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { + default: + return "underExposedLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { + default: + return "blurredLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { + default: + return "headwearLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } return null; }; /** - * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.EntityAnnotation + * @memberof google.cloud.vision.v1.FaceAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1.FaceAnnotation} FaceAnnotation */ - EntityAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.EntityAnnotation) + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.FaceAnnotation) return object; - var message = new $root.google.cloud.vision.v1.EntityAnnotation(); - if (object.mid != null) - message.mid = String(object.mid); - if (object.locale != null) - message.locale = String(object.locale); - if (object.description != null) - message.description = String(object.description); - if (object.score != null) - message.score = Number(object.score); - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.topicality != null) - message.topicality = Number(object.topicality); + var message = new $root.google.cloud.vision.v1.FaceAnnotation(); if (object.boundingPoly != null) { if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1.EntityAnnotation.boundingPoly: object expected"); + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.boundingPoly: object expected"); message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); } - if (object.locations) { - if (!Array.isArray(object.locations)) - throw TypeError(".google.cloud.vision.v1.EntityAnnotation.locations: array expected"); - message.locations = []; - for (var i = 0; i < object.locations.length; ++i) { - if (typeof object.locations[i] !== "object") - throw TypeError(".google.cloud.vision.v1.EntityAnnotation.locations: object expected"); - message.locations[i] = $root.google.cloud.vision.v1.LocationInfo.fromObject(object.locations[i]); - } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.fdBoundingPoly); } - if (object.properties) { - if (!Array.isArray(object.properties)) - throw TypeError(".google.cloud.vision.v1.EntityAnnotation.properties: array expected"); - message.properties = []; - for (var i = 0; i < object.properties.length; ++i) { - if (typeof object.properties[i] !== "object") - throw TypeError(".google.cloud.vision.v1.EntityAnnotation.properties: object expected"); - message.properties[i] = $root.google.cloud.vision.v1.Property.fromObject(object.properties[i]); + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); } } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { + case "UNKNOWN": + case 0: + message.joyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.joyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.joyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.joyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.joyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.joyLikelihood = 5; + break; + } + switch (object.sorrowLikelihood) { + case "UNKNOWN": + case 0: + message.sorrowLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.sorrowLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.sorrowLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.sorrowLikelihood = 3; + break; + case "LIKELY": + case 4: + message.sorrowLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.sorrowLikelihood = 5; + break; + } + switch (object.angerLikelihood) { + case "UNKNOWN": + case 0: + message.angerLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.angerLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.angerLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.angerLikelihood = 3; + break; + case "LIKELY": + case 4: + message.angerLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.angerLikelihood = 5; + break; + } + switch (object.surpriseLikelihood) { + case "UNKNOWN": + case 0: + message.surpriseLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.surpriseLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.surpriseLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.surpriseLikelihood = 3; + break; + case "LIKELY": + case 4: + message.surpriseLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.surpriseLikelihood = 5; + break; + } + switch (object.underExposedLikelihood) { + case "UNKNOWN": + case 0: + message.underExposedLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.underExposedLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.underExposedLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.underExposedLikelihood = 3; + break; + case "LIKELY": + case 4: + message.underExposedLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; + break; + } return message; }; /** - * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.EntityAnnotation + * @memberof google.cloud.vision.v1.FaceAnnotation * @static - * @param {google.cloud.vision.v1.EntityAnnotation} message EntityAnnotation + * @param {google.cloud.vision.v1.FaceAnnotation} message FaceAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EntityAnnotation.toObject = function toObject(message, options) { + FaceAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.locations = []; - object.properties = []; - } + if (options.arrays || options.defaults) + object.landmarks = []; if (options.defaults) { - object.mid = ""; - object.locale = ""; - object.description = ""; - object.score = 0; - object.confidence = 0; - object.topicality = 0; object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; } - if (message.mid != null && message.hasOwnProperty("mid")) - object.mid = message.mid; - if (message.locale != null && message.hasOwnProperty("locale")) - object.locale = message.locale; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.topicality != null && message.hasOwnProperty("topicality")) - object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.locations && message.locations.length) { - object.locations = []; - for (var j = 0; j < message.locations.length; ++j) - object.locations[j] = $root.google.cloud.vision.v1.LocationInfo.toObject(message.locations[j], options); - } - if (message.properties && message.properties.length) { - object.properties = []; - for (var j = 0; j < message.properties.length; ++j) - object.properties[j] = $root.google.cloud.vision.v1.Property.toObject(message.properties[j], options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); } - return object; - }; - - /** - * Converts this EntityAnnotation to JSON. + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + return object; + }; + + /** + * Converts this FaceAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.EntityAnnotation + * @memberof google.cloud.vision.v1.FaceAnnotation * @instance * @returns {Object.} JSON object */ - EntityAnnotation.prototype.toJSON = function toJSON() { + FaceAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EntityAnnotation; - })(); - - v1.LocalizedObjectAnnotation = (function() { + FaceAnnotation.Landmark = (function() { - /** - * Properties of a LocalizedObjectAnnotation. - * @memberof google.cloud.vision.v1 - * @interface ILocalizedObjectAnnotation - * @property {string|null} [mid] LocalizedObjectAnnotation mid - * @property {string|null} [languageCode] LocalizedObjectAnnotation languageCode - * @property {string|null} [name] LocalizedObjectAnnotation name - * @property {number|null} [score] LocalizedObjectAnnotation score - * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] LocalizedObjectAnnotation boundingPoly - */ + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1.IPosition|null} [position] Landmark position + */ - /** - * Constructs a new LocalizedObjectAnnotation. - * @memberof google.cloud.vision.v1 - * @classdesc Represents a LocalizedObjectAnnotation. - * @implements ILocalizedObjectAnnotation - * @constructor - * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation=} [properties] Properties to set - */ - function LocalizedObjectAnnotation(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]]; - } + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } - /** - * LocalizedObjectAnnotation mid. - * @member {string} mid - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.mid = ""; + /** + * Landmark type. + * @member {google.cloud.vision.v1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; - /** - * LocalizedObjectAnnotation languageCode. - * @member {string} languageCode - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.languageCode = ""; + /** + * Landmark position. + * @member {google.cloud.vision.v1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; - /** - * LocalizedObjectAnnotation name. - * @member {string} name - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.name = ""; + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; - /** - * LocalizedObjectAnnotation score. - * @member {number} score - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.score = 0; + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; - /** - * LocalizedObjectAnnotation boundingPoly. - * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.boundingPoly = null; + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a new LocalizedObjectAnnotation instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @static - * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation instance - */ - LocalizedObjectAnnotation.create = function create(properties) { - return new LocalizedObjectAnnotation(properties); - }; + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1.LocalizedObjectAnnotation.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @static - * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LocalizedObjectAnnotation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - return writer; - }; + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LocalizedObjectAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @static - * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LocalizedObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; - /** - * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LocalizedObjectAnnotation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.LocalizedObjectAnnotation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": case 1: - message.mid = reader.string(); + message.type = 1; break; + case "RIGHT_EYE": case 2: - message.languageCode = reader.string(); + message.type = 2; break; + case "LEFT_OF_LEFT_EYEBROW": case 3: - message.name = reader.string(); + message.type = 3; break; + case "RIGHT_OF_LEFT_EYEBROW": case 4: - message.score = reader.float(); + message.type = 4; break; + case "LEFT_OF_RIGHT_EYEBROW": case 5: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + message.type = 5; break; - default: - reader.skipType(tag & 7); + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; break; } - } - return message; - }; + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1.Position.fromObject(object.position); + } + return message; + }; - /** - * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1.Position.toObject(message.position, options); + return object; + }; + + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); + + return Landmark; + })(); + + return FaceAnnotation; + })(); + + v1.LocationInfo = (function() { + + /** + * Properties of a LocationInfo. + * @memberof google.cloud.vision.v1 + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng */ - LocalizedObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { + + /** + * Constructs a new LocationInfo. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo + * @constructor + * @param {google.cloud.vision.v1.ILocationInfo=} [properties] Properties to set + */ + function LocationInfo(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]]; + } + + /** + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1.LocationInfo + * @instance + */ + LocationInfo.prototype.latLng = null; + + /** + * Creates a new LocationInfo instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {google.cloud.vision.v1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo instance + */ + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); + }; + + /** + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1.LocationInfo.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {google.cloud.vision.v1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LocationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {google.cloud.vision.v1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.LocationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LocalizedObjectAnnotation message. + * Verifies a LocationInfo message. * @function verify - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1.LocationInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LocalizedObjectAnnotation.verify = function verify(message) { + LocationInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.mid != null && message.hasOwnProperty("mid")) - if (!$util.isString(message.mid)) - return "mid: string expected"; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - if (!$util.isString(message.languageCode)) - return "languageCode: string expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); if (error) - return "boundingPoly." + error; + return "latLng." + error; } return null; }; /** - * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1.LocationInfo * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @returns {google.cloud.vision.v1.LocationInfo} LocationInfo */ - LocalizedObjectAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.LocalizedObjectAnnotation) + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.LocationInfo) return object; - var message = new $root.google.cloud.vision.v1.LocalizedObjectAnnotation(); - if (object.mid != null) - message.mid = String(object.mid); - if (object.languageCode != null) - message.languageCode = String(object.languageCode); - if (object.name != null) - message.name = String(object.name); - if (object.score != null) - message.score = Number(object.score); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1.LocalizedObjectAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + var message = new $root.google.cloud.vision.v1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); } return message; }; /** - * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1.LocationInfo * @static - * @param {google.cloud.vision.v1.LocalizedObjectAnnotation} message LocalizedObjectAnnotation + * @param {google.cloud.vision.v1.LocationInfo} message LocationInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LocalizedObjectAnnotation.toObject = function toObject(message, options) { + LocationInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.mid = ""; - object.languageCode = ""; - object.name = ""; - object.score = 0; - object.boundingPoly = null; - } - if (message.mid != null && message.hasOwnProperty("mid")) - object.mid = message.mid; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - object.languageCode = message.languageCode; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); return object; }; /** - * Converts this LocalizedObjectAnnotation to JSON. + * Converts this LocationInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1.LocationInfo * @instance * @returns {Object.} JSON object */ - LocalizedObjectAnnotation.prototype.toJSON = function toJSON() { + LocationInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LocalizedObjectAnnotation; + return LocationInfo; })(); - v1.SafeSearchAnnotation = (function() { + v1.Property = (function() { /** - * Properties of a SafeSearchAnnotation. + * Properties of a Property. * @memberof google.cloud.vision.v1 - * @interface ISafeSearchAnnotation - * @property {google.cloud.vision.v1.Likelihood|null} [adult] SafeSearchAnnotation adult - * @property {google.cloud.vision.v1.Likelihood|null} [spoof] SafeSearchAnnotation spoof - * @property {google.cloud.vision.v1.Likelihood|null} [medical] SafeSearchAnnotation medical - * @property {google.cloud.vision.v1.Likelihood|null} [violence] SafeSearchAnnotation violence - * @property {google.cloud.vision.v1.Likelihood|null} [racy] SafeSearchAnnotation racy - * @property {number|null} [adultConfidence] SafeSearchAnnotation adultConfidence - * @property {number|null} [spoofConfidence] SafeSearchAnnotation spoofConfidence - * @property {number|null} [medicalConfidence] SafeSearchAnnotation medicalConfidence - * @property {number|null} [violenceConfidence] SafeSearchAnnotation violenceConfidence - * @property {number|null} [racyConfidence] SafeSearchAnnotation racyConfidence - * @property {number|null} [nsfwConfidence] SafeSearchAnnotation nsfwConfidence + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value */ /** - * Constructs a new SafeSearchAnnotation. + * Constructs a new Property. * @memberof google.cloud.vision.v1 - * @classdesc Represents a SafeSearchAnnotation. - * @implements ISafeSearchAnnotation + * @classdesc Represents a Property. + * @implements IProperty * @constructor - * @param {google.cloud.vision.v1.ISafeSearchAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1.IProperty=} [properties] Properties to set */ - function SafeSearchAnnotation(properties) { + function Property(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -3424,205 +3380,101 @@ } /** - * SafeSearchAnnotation adult. - * @member {google.cloud.vision.v1.Likelihood} adult - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.adult = 0; - - /** - * SafeSearchAnnotation spoof. - * @member {google.cloud.vision.v1.Likelihood} spoof - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.spoof = 0; - - /** - * SafeSearchAnnotation medical. - * @member {google.cloud.vision.v1.Likelihood} medical - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.medical = 0; - - /** - * SafeSearchAnnotation violence. - * @member {google.cloud.vision.v1.Likelihood} violence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.violence = 0; - - /** - * SafeSearchAnnotation racy. - * @member {google.cloud.vision.v1.Likelihood} racy - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.racy = 0; - - /** - * SafeSearchAnnotation adultConfidence. - * @member {number} adultConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.adultConfidence = 0; - - /** - * SafeSearchAnnotation spoofConfidence. - * @member {number} spoofConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.spoofConfidence = 0; - - /** - * SafeSearchAnnotation medicalConfidence. - * @member {number} medicalConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.medicalConfidence = 0; - - /** - * SafeSearchAnnotation violenceConfidence. - * @member {number} violenceConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1.Property * @instance */ - SafeSearchAnnotation.prototype.violenceConfidence = 0; + Property.prototype.name = ""; /** - * SafeSearchAnnotation racyConfidence. - * @member {number} racyConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1.Property * @instance */ - SafeSearchAnnotation.prototype.racyConfidence = 0; + Property.prototype.value = ""; /** - * SafeSearchAnnotation nsfwConfidence. - * @member {number} nsfwConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1.Property * @instance */ - SafeSearchAnnotation.prototype.nsfwConfidence = 0; + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * Creates a new SafeSearchAnnotation instance using the specified properties. + * Creates a new Property instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1.Property * @static - * @param {google.cloud.vision.v1.ISafeSearchAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation instance + * @param {google.cloud.vision.v1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1.Property} Property instance */ - SafeSearchAnnotation.create = function create(properties) { - return new SafeSearchAnnotation(properties); + Property.create = function create(properties) { + return new Property(properties); }; /** - * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1.SafeSearchAnnotation.verify|verify} messages. + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1.Property.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1.Property * @static - * @param {google.cloud.vision.v1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {google.cloud.vision.v1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SafeSearchAnnotation.encode = function encode(message, writer) { + Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); - if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) - writer.uint32(/* id 16, wireType 5 =*/133).float(message.adultConfidence); - if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) - writer.uint32(/* id 18, wireType 5 =*/149).float(message.spoofConfidence); - if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) - writer.uint32(/* id 20, wireType 5 =*/165).float(message.medicalConfidence); - if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) - writer.uint32(/* id 22, wireType 5 =*/181).float(message.violenceConfidence); - if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) - writer.uint32(/* id 24, wireType 5 =*/197).float(message.racyConfidence); - if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) - writer.uint32(/* id 26, wireType 5 =*/213).float(message.nsfwConfidence); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; /** - * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.SafeSearchAnnotation.verify|verify} messages. + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Property.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1.Property * @static - * @param {google.cloud.vision.v1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {google.cloud.vision.v1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + Property.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * Decodes a Property message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation + * @returns {google.cloud.vision.v1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SafeSearchAnnotation.decode = function decode(reader, length) { + Property.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.SafeSearchAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Property(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.adult = reader.int32(); + message.name = reader.string(); break; case 2: - message.spoof = reader.int32(); + message.value = reader.string(); break; case 3: - message.medical = reader.int32(); - break; - case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); - break; - case 16: - message.adultConfidence = reader.float(); - break; - case 18: - message.spoofConfidence = reader.float(); - break; - case 20: - message.medicalConfidence = reader.float(); - break; - case 22: - message.violenceConfidence = reader.float(); - break; - case 24: - message.racyConfidence = reader.float(); - break; - case 26: - message.nsfwConfidence = reader.float(); + message.uint64Value = reader.uint64(); break; default: reader.skipType(tag & 7); @@ -3633,354 +3485,148 @@ }; /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. + * Decodes a Property message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation + * @returns {google.cloud.vision.v1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { + Property.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SafeSearchAnnotation message. + * Verifies a Property message. * @function verify - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1.Property * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SafeSearchAnnotation.verify = function verify(message) { + Property.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.adult != null && message.hasOwnProperty("adult")) - switch (message.adult) { - default: - return "adult: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.spoof != null && message.hasOwnProperty("spoof")) - switch (message.spoof) { - default: - return "spoof: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.medical != null && message.hasOwnProperty("medical")) - switch (message.medical) { - default: - return "medical: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.violence != null && message.hasOwnProperty("violence")) - switch (message.violence) { - default: - return "violence: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.racy != null && message.hasOwnProperty("racy")) - switch (message.racy) { - default: - return "racy: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) - if (typeof message.adultConfidence !== "number") - return "adultConfidence: number expected"; - if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) - if (typeof message.spoofConfidence !== "number") - return "spoofConfidence: number expected"; - if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) - if (typeof message.medicalConfidence !== "number") - return "medicalConfidence: number expected"; - if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) - if (typeof message.violenceConfidence !== "number") - return "violenceConfidence: number expected"; - if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) - if (typeof message.racyConfidence !== "number") - return "racyConfidence: number expected"; - if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) - if (typeof message.nsfwConfidence !== "number") - return "nsfwConfidence: number expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; return null; }; /** - * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a Property message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1.Property * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation + * @returns {google.cloud.vision.v1.Property} Property */ - SafeSearchAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.SafeSearchAnnotation) + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.Property) return object; - var message = new $root.google.cloud.vision.v1.SafeSearchAnnotation(); - switch (object.adult) { - case "UNKNOWN": - case 0: - message.adult = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.adult = 1; - break; - case "UNLIKELY": - case 2: - message.adult = 2; - break; - case "POSSIBLE": - case 3: - message.adult = 3; - break; - case "LIKELY": - case 4: - message.adult = 4; - break; - case "VERY_LIKELY": - case 5: - message.adult = 5; - break; - } - switch (object.spoof) { - case "UNKNOWN": - case 0: - message.spoof = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.spoof = 1; - break; - case "UNLIKELY": - case 2: - message.spoof = 2; - break; - case "POSSIBLE": - case 3: - message.spoof = 3; - break; - case "LIKELY": - case 4: - message.spoof = 4; - break; - case "VERY_LIKELY": - case 5: - message.spoof = 5; - break; - } - switch (object.medical) { - case "UNKNOWN": - case 0: - message.medical = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.medical = 1; - break; - case "UNLIKELY": - case 2: - message.medical = 2; - break; - case "POSSIBLE": - case 3: - message.medical = 3; - break; - case "LIKELY": - case 4: - message.medical = 4; - break; - case "VERY_LIKELY": - case 5: - message.medical = 5; - break; - } - switch (object.violence) { - case "UNKNOWN": - case 0: - message.violence = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.violence = 1; - break; - case "UNLIKELY": - case 2: - message.violence = 2; - break; - case "POSSIBLE": - case 3: - message.violence = 3; - break; - case "LIKELY": - case 4: - message.violence = 4; - break; - case "VERY_LIKELY": - case 5: - message.violence = 5; - break; - } - switch (object.racy) { - case "UNKNOWN": - case 0: - message.racy = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.racy = 1; - break; - case "UNLIKELY": - case 2: - message.racy = 2; - break; - case "POSSIBLE": - case 3: - message.racy = 3; - break; - case "LIKELY": - case 4: - message.racy = 4; - break; - case "VERY_LIKELY": - case 5: - message.racy = 5; - break; - } - if (object.adultConfidence != null) - message.adultConfidence = Number(object.adultConfidence); - if (object.spoofConfidence != null) - message.spoofConfidence = Number(object.spoofConfidence); - if (object.medicalConfidence != null) - message.medicalConfidence = Number(object.medicalConfidence); - if (object.violenceConfidence != null) - message.violenceConfidence = Number(object.violenceConfidence); - if (object.racyConfidence != null) - message.racyConfidence = Number(object.racyConfidence); - if (object.nsfwConfidence != null) - message.nsfwConfidence = Number(object.nsfwConfidence); + var message = new $root.google.cloud.vision.v1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); return message; }; /** - * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a Property message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1.Property * @static - * @param {google.cloud.vision.v1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {google.cloud.vision.v1.Property} message Property * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SafeSearchAnnotation.toObject = function toObject(message, options) { + Property.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.adult = options.enums === String ? "UNKNOWN" : 0; - object.spoof = options.enums === String ? "UNKNOWN" : 0; - object.medical = options.enums === String ? "UNKNOWN" : 0; - object.violence = options.enums === String ? "UNKNOWN" : 0; - object.racy = options.enums === String ? "UNKNOWN" : 0; - object.adultConfidence = 0; - object.spoofConfidence = 0; - object.medicalConfidence = 0; - object.violenceConfidence = 0; - object.racyConfidence = 0; - object.nsfwConfidence = 0; + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; } - if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.adult] : message.adult; - if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.spoof] : message.spoof; - if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.medical] : message.medical; - if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.violence] : message.violence; - if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.racy] : message.racy; - if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) - object.adultConfidence = options.json && !isFinite(message.adultConfidence) ? String(message.adultConfidence) : message.adultConfidence; - if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) - object.spoofConfidence = options.json && !isFinite(message.spoofConfidence) ? String(message.spoofConfidence) : message.spoofConfidence; - if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) - object.medicalConfidence = options.json && !isFinite(message.medicalConfidence) ? String(message.medicalConfidence) : message.medicalConfidence; - if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) - object.violenceConfidence = options.json && !isFinite(message.violenceConfidence) ? String(message.violenceConfidence) : message.violenceConfidence; - if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) - object.racyConfidence = options.json && !isFinite(message.racyConfidence) ? String(message.racyConfidence) : message.racyConfidence; - if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) - object.nsfwConfidence = options.json && !isFinite(message.nsfwConfidence) ? String(message.nsfwConfidence) : message.nsfwConfidence; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; return object; }; /** - * Converts this SafeSearchAnnotation to JSON. + * Converts this Property to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1.Property * @instance * @returns {Object.} JSON object */ - SafeSearchAnnotation.prototype.toJSON = function toJSON() { + Property.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SafeSearchAnnotation; + return Property; })(); - v1.LatLongRect = (function() { + v1.EntityAnnotation = (function() { /** - * Properties of a LatLongRect. + * Properties of an EntityAnnotation. * @memberof google.cloud.vision.v1 - * @interface ILatLongRect - * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng - * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties */ /** - * Constructs a new LatLongRect. + * Constructs a new EntityAnnotation. * @memberof google.cloud.vision.v1 - * @classdesc Represents a LatLongRect. - * @implements ILatLongRect + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation * @constructor - * @param {google.cloud.vision.v1.ILatLongRect=} [properties] Properties to set + * @param {google.cloud.vision.v1.IEntityAnnotation=} [properties] Properties to set */ - function LatLongRect(properties) { + function EntityAnnotation(properties) { + this.locations = []; + this.properties = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -3988,88 +3634,185 @@ } /** - * LatLongRect minLatLng. - * @member {google.type.ILatLng|null|undefined} minLatLng - * @memberof google.cloud.vision.v1.LatLongRect + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1.EntityAnnotation * @instance */ - LatLongRect.prototype.minLatLng = null; + EntityAnnotation.prototype.mid = ""; /** - * LatLongRect maxLatLng. - * @member {google.type.ILatLng|null|undefined} maxLatLng - * @memberof google.cloud.vision.v1.LatLongRect + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1.EntityAnnotation * @instance */ - LatLongRect.prototype.maxLatLng = null; + EntityAnnotation.prototype.locale = ""; /** - * Creates a new LatLongRect instance using the specified properties. + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.score = 0; + + /** + * EntityAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.confidence = 0; + + /** + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.topicality = 0; + + /** + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.LatLongRect + * @memberof google.cloud.vision.v1.EntityAnnotation * @static - * @param {google.cloud.vision.v1.ILatLongRect=} [properties] Properties to set - * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect instance + * @param {google.cloud.vision.v1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation instance */ - LatLongRect.create = function create(properties) { - return new LatLongRect(properties); + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); }; /** - * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1.LatLongRect.verify|verify} messages. + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1.EntityAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.LatLongRect + * @memberof google.cloud.vision.v1.EntityAnnotation * @static - * @param {google.cloud.vision.v1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {google.cloud.vision.v1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LatLongRect.encode = function encode(message, writer) { + EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; /** - * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LatLongRect.verify|verify} messages. + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.EntityAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.LatLongRect + * @memberof google.cloud.vision.v1.EntityAnnotation * @static - * @param {google.cloud.vision.v1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {google.cloud.vision.v1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LatLongRect message from the specified reader or buffer. + * Decodes an EntityAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.LatLongRect + * @memberof google.cloud.vision.v1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect + * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LatLongRect.decode = function decode(reader, length) { + EntityAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.LatLongRect(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.EntityAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.mid = reader.string(); break; case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.locale = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1.Property.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -4080,128 +3823,217 @@ }; /** - * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.LatLongRect + * @memberof google.cloud.vision.v1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect + * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LatLongRect.decodeDelimited = function decodeDelimited(reader) { + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LatLongRect message. + * Verifies an EntityAnnotation message. * @function verify - * @memberof google.cloud.vision.v1.LatLongRect + * @memberof google.cloud.vision.v1.EntityAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LatLongRect.verify = function verify(message) { + EntityAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { - var error = $root.google.type.LatLng.verify(message.minLatLng); + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); if (error) - return "minLatLng." + error; + return "boundingPoly." + error; } - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { - var error = $root.google.type.LatLng.verify(message.maxLatLng); - if (error) - return "maxLatLng." + error; + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } } return null; }; /** - * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.LatLongRect + * @memberof google.cloud.vision.v1.EntityAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect + * @returns {google.cloud.vision.v1.EntityAnnotation} EntityAnnotation */ - LatLongRect.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.LatLongRect) + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.EntityAnnotation) return object; - var message = new $root.google.cloud.vision.v1.LatLongRect(); - if (object.minLatLng != null) { - if (typeof object.minLatLng !== "object") - throw TypeError(".google.cloud.vision.v1.LatLongRect.minLatLng: object expected"); - message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + var message = new $root.google.cloud.vision.v1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); + if (object.score != null) + message.score = Number(object.score); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); } - if (object.maxLatLng != null) { - if (typeof object.maxLatLng !== "object") - throw TypeError(".google.cloud.vision.v1.LatLongRect.maxLatLng: object expected"); - message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1.Property.fromObject(object.properties[i]); + } } return message; }; /** - * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.LatLongRect + * @memberof google.cloud.vision.v1.EntityAnnotation * @static - * @param {google.cloud.vision.v1.LatLongRect} message LatLongRect + * @param {google.cloud.vision.v1.EntityAnnotation} message EntityAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LatLongRect.toObject = function toObject(message, options) { + EntityAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } if (options.defaults) { - object.minLatLng = null; - object.maxLatLng = null; + object.mid = ""; + object.locale = ""; + object.description = ""; + object.score = 0; + object.confidence = 0; + object.topicality = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1.Property.toObject(message.properties[j], options); } - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); return object; }; /** - * Converts this LatLongRect to JSON. + * Converts this EntityAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.LatLongRect + * @memberof google.cloud.vision.v1.EntityAnnotation * @instance * @returns {Object.} JSON object */ - LatLongRect.prototype.toJSON = function toJSON() { + EntityAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LatLongRect; + return EntityAnnotation; })(); - v1.ColorInfo = (function() { + v1.LocalizedObjectAnnotation = (function() { /** - * Properties of a ColorInfo. + * Properties of a LocalizedObjectAnnotation. * @memberof google.cloud.vision.v1 - * @interface IColorInfo - * @property {google.type.IColor|null} [color] ColorInfo color - * @property {number|null} [score] ColorInfo score - * @property {number|null} [pixelFraction] ColorInfo pixelFraction + * @interface ILocalizedObjectAnnotation + * @property {string|null} [mid] LocalizedObjectAnnotation mid + * @property {string|null} [languageCode] LocalizedObjectAnnotation languageCode + * @property {string|null} [name] LocalizedObjectAnnotation name + * @property {number|null} [score] LocalizedObjectAnnotation score + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] LocalizedObjectAnnotation boundingPoly */ /** - * Constructs a new ColorInfo. + * Constructs a new LocalizedObjectAnnotation. * @memberof google.cloud.vision.v1 - * @classdesc Represents a ColorInfo. - * @implements IColorInfo + * @classdesc Represents a LocalizedObjectAnnotation. + * @implements ILocalizedObjectAnnotation * @constructor - * @param {google.cloud.vision.v1.IColorInfo=} [properties] Properties to set + * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation=} [properties] Properties to set */ - function ColorInfo(properties) { + function LocalizedObjectAnnotation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4209,101 +4041,127 @@ } /** - * ColorInfo color. - * @member {google.type.IColor|null|undefined} color - * @memberof google.cloud.vision.v1.ColorInfo + * LocalizedObjectAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @instance */ - ColorInfo.prototype.color = null; + LocalizedObjectAnnotation.prototype.mid = ""; /** - * ColorInfo score. + * LocalizedObjectAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.languageCode = ""; + + /** + * LocalizedObjectAnnotation name. + * @member {string} name + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.name = ""; + + /** + * LocalizedObjectAnnotation score. * @member {number} score - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @instance */ - ColorInfo.prototype.score = 0; + LocalizedObjectAnnotation.prototype.score = 0; /** - * ColorInfo pixelFraction. - * @member {number} pixelFraction - * @memberof google.cloud.vision.v1.ColorInfo + * LocalizedObjectAnnotation boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @instance */ - ColorInfo.prototype.pixelFraction = 0; + LocalizedObjectAnnotation.prototype.boundingPoly = null; /** - * Creates a new ColorInfo instance using the specified properties. + * Creates a new LocalizedObjectAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1.IColorInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo instance + * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation instance */ - ColorInfo.create = function create(properties) { - return new ColorInfo(properties); + LocalizedObjectAnnotation.create = function create(properties) { + return new LocalizedObjectAnnotation(properties); }; /** - * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1.ColorInfo.verify|verify} messages. + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1.LocalizedObjectAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1.IColorInfo} message ColorInfo message or plain object to encode + * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ColorInfo.encode = function encode(message, writer) { + LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) - $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; /** - * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ColorInfo.verify|verify} messages. + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LocalizedObjectAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1.IColorInfo} message ColorInfo message or plain object to encode + * @param {google.cloud.vision.v1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { + LocalizedObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ColorInfo message from the specified reader or buffer. + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColorInfo.decode = function decode(reader, length) { + LocalizedObjectAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ColorInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.LocalizedObjectAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); + message.mid = reader.string(); break; case 2: - message.score = reader.float(); + message.languageCode = reader.string(); break; case 3: - message.pixelFraction = reader.float(); + message.name = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -4314,130 +4172,155 @@ }; /** - * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColorInfo.decodeDelimited = function decodeDelimited(reader) { + LocalizedObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ColorInfo message. + * Verifies a LocalizedObjectAnnotation message. * @function verify - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ColorInfo.verify = function verify(message) { + LocalizedObjectAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.color != null && message.hasOwnProperty("color")) { - var error = $root.google.type.Color.verify(message.color); - if (error) - return "color." + error; - } + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; if (message.score != null && message.hasOwnProperty("score")) if (typeof message.score !== "number") return "score: number expected"; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - if (typeof message.pixelFraction !== "number") - return "pixelFraction: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } return null; }; /** - * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1.LocalizedObjectAnnotation} LocalizedObjectAnnotation */ - ColorInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.ColorInfo) + LocalizedObjectAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.LocalizedObjectAnnotation) return object; - var message = new $root.google.cloud.vision.v1.ColorInfo(); - if (object.color != null) { - if (typeof object.color !== "object") - throw TypeError(".google.cloud.vision.v1.ColorInfo.color: object expected"); - message.color = $root.google.type.Color.fromObject(object.color); - } + var message = new $root.google.cloud.vision.v1.LocalizedObjectAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.name != null) + message.name = String(object.name); if (object.score != null) message.score = Number(object.score); - if (object.pixelFraction != null) - message.pixelFraction = Number(object.pixelFraction); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.LocalizedObjectAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + } return message; }; /** - * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1.ColorInfo} message ColorInfo + * @param {google.cloud.vision.v1.LocalizedObjectAnnotation} message LocalizedObjectAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ColorInfo.toObject = function toObject(message, options) { + LocalizedObjectAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.color = null; + object.mid = ""; + object.languageCode = ""; + object.name = ""; object.score = 0; - object.pixelFraction = 0; + object.boundingPoly = null; } - if (message.color != null && message.hasOwnProperty("color")) - object.color = $root.google.type.Color.toObject(message.color, options); + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; if (message.score != null && message.hasOwnProperty("score")) object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); return object; }; /** - * Converts this ColorInfo to JSON. + * Converts this LocalizedObjectAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.ColorInfo + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation * @instance * @returns {Object.} JSON object */ - ColorInfo.prototype.toJSON = function toJSON() { + LocalizedObjectAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ColorInfo; + return LocalizedObjectAnnotation; })(); - v1.DominantColorsAnnotation = (function() { + v1.SafeSearchAnnotation = (function() { /** - * Properties of a DominantColorsAnnotation. + * Properties of a SafeSearchAnnotation. * @memberof google.cloud.vision.v1 - * @interface IDominantColorsAnnotation - * @property {Array.|null} [colors] DominantColorsAnnotation colors + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1.Likelihood|null} [racy] SafeSearchAnnotation racy + * @property {number|null} [adultConfidence] SafeSearchAnnotation adultConfidence + * @property {number|null} [spoofConfidence] SafeSearchAnnotation spoofConfidence + * @property {number|null} [medicalConfidence] SafeSearchAnnotation medicalConfidence + * @property {number|null} [violenceConfidence] SafeSearchAnnotation violenceConfidence + * @property {number|null} [racyConfidence] SafeSearchAnnotation racyConfidence + * @property {number|null} [nsfwConfidence] SafeSearchAnnotation nsfwConfidence */ /** - * Constructs a new DominantColorsAnnotation. + * Constructs a new SafeSearchAnnotation. * @memberof google.cloud.vision.v1 - * @classdesc Represents a DominantColorsAnnotation. - * @implements IDominantColorsAnnotation + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation * @constructor - * @param {google.cloud.vision.v1.IDominantColorsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1.ISafeSearchAnnotation=} [properties] Properties to set */ - function DominantColorsAnnotation(properties) { - this.colors = []; + function SafeSearchAnnotation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4445,78 +4328,205 @@ } /** - * DominantColorsAnnotation colors. - * @member {Array.} colors - * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1.Likelihood} adult + * @memberof google.cloud.vision.v1.SafeSearchAnnotation * @instance */ - DominantColorsAnnotation.prototype.colors = $util.emptyArray; + SafeSearchAnnotation.prototype.adult = 0; /** - * Creates a new DominantColorsAnnotation instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1.DominantColorsAnnotation - * @static - * @param {google.cloud.vision.v1.IDominantColorsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation instance + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1.Likelihood} spoof + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance */ - DominantColorsAnnotation.create = function create(properties) { - return new DominantColorsAnnotation(properties); - }; + SafeSearchAnnotation.prototype.spoof = 0; /** - * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1.DominantColorsAnnotation.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1.DominantColorsAnnotation - * @static - * @param {google.cloud.vision.v1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1.Likelihood} medical + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance */ - DominantColorsAnnotation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.colors != null && message.colors.length) - for (var i = 0; i < message.colors.length; ++i) - $root.google.cloud.vision.v1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; + SafeSearchAnnotation.prototype.medical = 0; /** - * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DominantColorsAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1.DominantColorsAnnotation - * @static - * @param {google.cloud.vision.v1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1.Likelihood} violence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1.Likelihood} racy + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * SafeSearchAnnotation adultConfidence. + * @member {number} adultConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.adultConfidence = 0; + + /** + * SafeSearchAnnotation spoofConfidence. + * @member {number} spoofConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoofConfidence = 0; + + /** + * SafeSearchAnnotation medicalConfidence. + * @member {number} medicalConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medicalConfidence = 0; + + /** + * SafeSearchAnnotation violenceConfidence. + * @member {number} violenceConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violenceConfidence = 0; + + /** + * SafeSearchAnnotation racyConfidence. + * @member {number} racyConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racyConfidence = 0; + + /** + * SafeSearchAnnotation nsfwConfidence. + * @member {number} nsfwConfidence + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.nsfwConfidence = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation instance + */ + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); + }; + + /** + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1.SafeSearchAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + SafeSearchAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); + if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) + writer.uint32(/* id 16, wireType 5 =*/133).float(message.adultConfidence); + if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) + writer.uint32(/* id 18, wireType 5 =*/149).float(message.spoofConfidence); + if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) + writer.uint32(/* id 20, wireType 5 =*/165).float(message.medicalConfidence); + if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) + writer.uint32(/* id 22, wireType 5 =*/181).float(message.violenceConfidence); + if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) + writer.uint32(/* id 24, wireType 5 =*/197).float(message.racyConfidence); + if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) + writer.uint32(/* id 26, wireType 5 =*/213).float(message.nsfwConfidence); + return writer; + }; + + /** + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.SafeSearchAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {google.cloud.vision.v1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decode = function decode(reader, length) { + SafeSearchAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.DominantColorsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.SafeSearchAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1.ColorInfo.decode(reader, reader.uint32())); + message.adult = reader.int32(); + break; + case 2: + message.spoof = reader.int32(); + break; + case 3: + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); + break; + case 16: + message.adultConfidence = reader.float(); + break; + case 18: + message.spoofConfidence = reader.float(); + break; + case 20: + message.medicalConfidence = reader.float(); + break; + case 22: + message.violenceConfidence = reader.float(); + break; + case 24: + message.racyConfidence = reader.float(); + break; + case 26: + message.nsfwConfidence = reader.float(); break; default: reader.skipType(tag & 7); @@ -4527,124 +4537,354 @@ }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DominantColorsAnnotation message. + * Verifies a SafeSearchAnnotation message. * @function verify - * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1.SafeSearchAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DominantColorsAnnotation.verify = function verify(message) { + SafeSearchAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.colors != null && message.hasOwnProperty("colors")) { - if (!Array.isArray(message.colors)) - return "colors: array expected"; - for (var i = 0; i < message.colors.length; ++i) { - var error = $root.google.cloud.vision.v1.ColorInfo.verify(message.colors[i]); - if (error) - return "colors." + error; + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; } - } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) + if (typeof message.adultConfidence !== "number") + return "adultConfidence: number expected"; + if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) + if (typeof message.spoofConfidence !== "number") + return "spoofConfidence: number expected"; + if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) + if (typeof message.medicalConfidence !== "number") + return "medicalConfidence: number expected"; + if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) + if (typeof message.violenceConfidence !== "number") + return "violenceConfidence: number expected"; + if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) + if (typeof message.racyConfidence !== "number") + return "racyConfidence: number expected"; + if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) + if (typeof message.nsfwConfidence !== "number") + return "nsfwConfidence: number expected"; return null; }; /** - * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1.SafeSearchAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1.SafeSearchAnnotation} SafeSearchAnnotation */ - DominantColorsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.DominantColorsAnnotation) + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.SafeSearchAnnotation) return object; - var message = new $root.google.cloud.vision.v1.DominantColorsAnnotation(); - if (object.colors) { - if (!Array.isArray(object.colors)) - throw TypeError(".google.cloud.vision.v1.DominantColorsAnnotation.colors: array expected"); - message.colors = []; - for (var i = 0; i < object.colors.length; ++i) { - if (typeof object.colors[i] !== "object") - throw TypeError(".google.cloud.vision.v1.DominantColorsAnnotation.colors: object expected"); - message.colors[i] = $root.google.cloud.vision.v1.ColorInfo.fromObject(object.colors[i]); - } + var message = new $root.google.cloud.vision.v1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; } + if (object.adultConfidence != null) + message.adultConfidence = Number(object.adultConfidence); + if (object.spoofConfidence != null) + message.spoofConfidence = Number(object.spoofConfidence); + if (object.medicalConfidence != null) + message.medicalConfidence = Number(object.medicalConfidence); + if (object.violenceConfidence != null) + message.violenceConfidence = Number(object.violenceConfidence); + if (object.racyConfidence != null) + message.racyConfidence = Number(object.racyConfidence); + if (object.nsfwConfidence != null) + message.nsfwConfidence = Number(object.nsfwConfidence); return message; }; /** - * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {google.cloud.vision.v1.SafeSearchAnnotation} message SafeSearchAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DominantColorsAnnotation.toObject = function toObject(message, options) { + SafeSearchAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.colors = []; - if (message.colors && message.colors.length) { - object.colors = []; - for (var j = 0; j < message.colors.length; ++j) - object.colors[j] = $root.google.cloud.vision.v1.ColorInfo.toObject(message.colors[j], options); + if (options.defaults) { + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; + object.adultConfidence = 0; + object.spoofConfidence = 0; + object.medicalConfidence = 0; + object.violenceConfidence = 0; + object.racyConfidence = 0; + object.nsfwConfidence = 0; } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.racy] : message.racy; + if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) + object.adultConfidence = options.json && !isFinite(message.adultConfidence) ? String(message.adultConfidence) : message.adultConfidence; + if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) + object.spoofConfidence = options.json && !isFinite(message.spoofConfidence) ? String(message.spoofConfidence) : message.spoofConfidence; + if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) + object.medicalConfidence = options.json && !isFinite(message.medicalConfidence) ? String(message.medicalConfidence) : message.medicalConfidence; + if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) + object.violenceConfidence = options.json && !isFinite(message.violenceConfidence) ? String(message.violenceConfidence) : message.violenceConfidence; + if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) + object.racyConfidence = options.json && !isFinite(message.racyConfidence) ? String(message.racyConfidence) : message.racyConfidence; + if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) + object.nsfwConfidence = options.json && !isFinite(message.nsfwConfidence) ? String(message.nsfwConfidence) : message.nsfwConfidence; return object; }; /** - * Converts this DominantColorsAnnotation to JSON. + * Converts this SafeSearchAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1.SafeSearchAnnotation * @instance * @returns {Object.} JSON object */ - DominantColorsAnnotation.prototype.toJSON = function toJSON() { + SafeSearchAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DominantColorsAnnotation; + return SafeSearchAnnotation; })(); - v1.ImageProperties = (function() { + v1.LatLongRect = (function() { /** - * Properties of an ImageProperties. + * Properties of a LatLongRect. * @memberof google.cloud.vision.v1 - * @interface IImageProperties - * @property {google.cloud.vision.v1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng */ /** - * Constructs a new ImageProperties. + * Constructs a new LatLongRect. * @memberof google.cloud.vision.v1 - * @classdesc Represents an ImageProperties. - * @implements IImageProperties + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect * @constructor - * @param {google.cloud.vision.v1.IImageProperties=} [properties] Properties to set + * @param {google.cloud.vision.v1.ILatLongRect=} [properties] Properties to set */ - function ImageProperties(properties) { + function LatLongRect(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4652,75 +4892,88 @@ } /** - * ImageProperties dominantColors. - * @member {google.cloud.vision.v1.IDominantColorsAnnotation|null|undefined} dominantColors - * @memberof google.cloud.vision.v1.ImageProperties + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1.LatLongRect * @instance */ - ImageProperties.prototype.dominantColors = null; + LatLongRect.prototype.minLatLng = null; /** - * Creates a new ImageProperties instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1.ImageProperties - * @static - * @param {google.cloud.vision.v1.IImageProperties=} [properties] Properties to set - * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties instance + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1.LatLongRect + * @instance */ - ImageProperties.create = function create(properties) { - return new ImageProperties(properties); + LatLongRect.prototype.maxLatLng = null; + + /** + * Creates a new LatLongRect instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {google.cloud.vision.v1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect instance + */ + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); }; /** - * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1.ImageProperties.verify|verify} messages. + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1.LatLongRect.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.ImageProperties + * @memberof google.cloud.vision.v1.LatLongRect * @static - * @param {google.cloud.vision.v1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encode = function encode(message, writer) { + LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - $root.google.cloud.vision.v1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageProperties.verify|verify} messages. + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1.LatLongRect.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.ImageProperties + * @memberof google.cloud.vision.v1.LatLongRect * @static - * @param {google.cloud.vision.v1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageProperties message from the specified reader or buffer. + * Decodes a LatLongRect message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.ImageProperties + * @memberof google.cloud.vision.v1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decode = function decode(reader, length) { + LatLongRect.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageProperties(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.LatLongRect(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.decode(reader, reader.uint32()); + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + case 2: + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -4731,114 +4984,128 @@ }; /** - * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.ImageProperties + * @memberof google.cloud.vision.v1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decodeDelimited = function decodeDelimited(reader) { + LatLongRect.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageProperties message. + * Verifies a LatLongRect message. * @function verify - * @memberof google.cloud.vision.v1.ImageProperties + * @memberof google.cloud.vision.v1.LatLongRect * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageProperties.verify = function verify(message) { + LatLongRect.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { - var error = $root.google.cloud.vision.v1.DominantColorsAnnotation.verify(message.dominantColors); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); if (error) - return "dominantColors." + error; + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; } return null; }; /** - * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.ImageProperties + * @memberof google.cloud.vision.v1.LatLongRect * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1.LatLongRect} LatLongRect */ - ImageProperties.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.ImageProperties) + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.LatLongRect) return object; - var message = new $root.google.cloud.vision.v1.ImageProperties(); - if (object.dominantColors != null) { - if (typeof object.dominantColors !== "object") - throw TypeError(".google.cloud.vision.v1.ImageProperties.dominantColors: object expected"); - message.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.fromObject(object.dominantColors); + var message = new $root.google.cloud.vision.v1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); } return message; }; /** - * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.ImageProperties + * @memberof google.cloud.vision.v1.LatLongRect * @static - * @param {google.cloud.vision.v1.ImageProperties} message ImageProperties + * @param {google.cloud.vision.v1.LatLongRect} message LatLongRect * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageProperties.toObject = function toObject(message, options) { + LatLongRect.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.dominantColors = null; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - object.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.toObject(message.dominantColors, options); + if (options.defaults) { + object.minLatLng = null; + object.maxLatLng = null; + } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); return object; }; /** - * Converts this ImageProperties to JSON. + * Converts this LatLongRect to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.ImageProperties + * @memberof google.cloud.vision.v1.LatLongRect * @instance * @returns {Object.} JSON object */ - ImageProperties.prototype.toJSON = function toJSON() { + LatLongRect.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageProperties; + return LatLongRect; })(); - v1.CropHint = (function() { + v1.ColorInfo = (function() { /** - * Properties of a CropHint. + * Properties of a ColorInfo. * @memberof google.cloud.vision.v1 - * @interface ICropHint - * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly - * @property {number|null} [confidence] CropHint confidence - * @property {number|null} [importanceFraction] CropHint importanceFraction + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction */ /** - * Constructs a new CropHint. + * Constructs a new ColorInfo. * @memberof google.cloud.vision.v1 - * @classdesc Represents a CropHint. - * @implements ICropHint + * @classdesc Represents a ColorInfo. + * @implements IColorInfo * @constructor - * @param {google.cloud.vision.v1.ICropHint=} [properties] Properties to set + * @param {google.cloud.vision.v1.IColorInfo=} [properties] Properties to set */ - function CropHint(properties) { + function ColorInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -4846,101 +5113,101 @@ } /** - * CropHint boundingPoly. - * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1.CropHint + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1.ColorInfo * @instance */ - CropHint.prototype.boundingPoly = null; + ColorInfo.prototype.color = null; /** - * CropHint confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1.CropHint + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1.ColorInfo * @instance */ - CropHint.prototype.confidence = 0; + ColorInfo.prototype.score = 0; /** - * CropHint importanceFraction. - * @member {number} importanceFraction - * @memberof google.cloud.vision.v1.CropHint + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1.ColorInfo * @instance */ - CropHint.prototype.importanceFraction = 0; + ColorInfo.prototype.pixelFraction = 0; /** - * Creates a new CropHint instance using the specified properties. + * Creates a new ColorInfo instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.CropHint + * @memberof google.cloud.vision.v1.ColorInfo * @static - * @param {google.cloud.vision.v1.ICropHint=} [properties] Properties to set - * @returns {google.cloud.vision.v1.CropHint} CropHint instance + * @param {google.cloud.vision.v1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo instance */ - CropHint.create = function create(properties) { - return new CropHint(properties); + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); }; /** - * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1.CropHint.verify|verify} messages. + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1.ColorInfo.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.CropHint + * @memberof google.cloud.vision.v1.ColorInfo * @static - * @param {google.cloud.vision.v1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encode = function encode(message, writer) { + ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; /** - * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHint.verify|verify} messages. + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ColorInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.CropHint + * @memberof google.cloud.vision.v1.ColorInfo * @static - * @param {google.cloud.vision.v1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encodeDelimited = function encodeDelimited(message, writer) { + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHint message from the specified reader or buffer. + * Decodes a ColorInfo message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.CropHint + * @memberof google.cloud.vision.v1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.CropHint} CropHint + * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decode = function decode(reader, length) { + ColorInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CropHint(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ColorInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + message.color = $root.google.type.Color.decode(reader, reader.uint32()); break; case 2: - message.confidence = reader.float(); + message.score = reader.float(); break; case 3: - message.importanceFraction = reader.float(); + message.pixelFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -4951,130 +5218,130 @@ }; /** - * Decodes a CropHint message from the specified reader or buffer, length delimited. + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.CropHint + * @memberof google.cloud.vision.v1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.CropHint} CropHint + * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decodeDelimited = function decodeDelimited(reader) { + ColorInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHint message. + * Verifies a ColorInfo message. * @function verify - * @memberof google.cloud.vision.v1.CropHint + * @memberof google.cloud.vision.v1.ColorInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHint.verify = function verify(message) { + ColorInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); if (error) - return "boundingPoly." + error; + return "color." + error; } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - if (typeof message.importanceFraction !== "number") - return "importanceFraction: number expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; return null; }; /** - * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.CropHint + * @memberof google.cloud.vision.v1.ColorInfo * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.CropHint} CropHint + * @returns {google.cloud.vision.v1.ColorInfo} ColorInfo */ - CropHint.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.CropHint) + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ColorInfo) return object; - var message = new $root.google.cloud.vision.v1.CropHint(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1.CropHint.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + var message = new $root.google.cloud.vision.v1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); } - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.importanceFraction != null) - message.importanceFraction = Number(object.importanceFraction); + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); return message; }; /** - * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.CropHint + * @memberof google.cloud.vision.v1.ColorInfo * @static - * @param {google.cloud.vision.v1.CropHint} message CropHint + * @param {google.cloud.vision.v1.ColorInfo} message ColorInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHint.toObject = function toObject(message, options) { + ColorInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.boundingPoly = null; - object.confidence = 0; - object.importanceFraction = 0; + object.color = null; + object.score = 0; + object.pixelFraction = 0; } - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; return object; }; /** - * Converts this CropHint to JSON. + * Converts this ColorInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.CropHint + * @memberof google.cloud.vision.v1.ColorInfo * @instance * @returns {Object.} JSON object */ - CropHint.prototype.toJSON = function toJSON() { + ColorInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHint; + return ColorInfo; })(); - v1.CropHintsAnnotation = (function() { + v1.DominantColorsAnnotation = (function() { /** - * Properties of a CropHintsAnnotation. + * Properties of a DominantColorsAnnotation. * @memberof google.cloud.vision.v1 - * @interface ICropHintsAnnotation - * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors */ /** - * Constructs a new CropHintsAnnotation. + * Constructs a new DominantColorsAnnotation. * @memberof google.cloud.vision.v1 - * @classdesc Represents a CropHintsAnnotation. - * @implements ICropHintsAnnotation + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation * @constructor - * @param {google.cloud.vision.v1.ICropHintsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1.IDominantColorsAnnotation=} [properties] Properties to set */ - function CropHintsAnnotation(properties) { - this.cropHints = []; + function DominantColorsAnnotation(properties) { + this.colors = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5082,78 +5349,78 @@ } /** - * CropHintsAnnotation cropHints. - * @member {Array.} cropHints - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @instance */ - CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + DominantColorsAnnotation.prototype.colors = $util.emptyArray; /** - * Creates a new CropHintsAnnotation instance using the specified properties. + * Creates a new DominantColorsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1.ICropHintsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation instance + * @param {google.cloud.vision.v1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation instance */ - CropHintsAnnotation.create = function create(properties) { - return new CropHintsAnnotation(properties); + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); }; /** - * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1.DominantColorsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encode = function encode(message, writer) { + DominantColorsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.cropHints != null && message.cropHints.length) - for (var i = 0; i < message.cropHints.length; ++i) - $root.google.cloud.vision.v1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.DominantColorsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decode = function decode(reader, length) { + DominantColorsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CropHintsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.DominantColorsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1.CropHint.decode(reader, reader.uint32())); + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1.ColorInfo.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -5164,125 +5431,124 @@ }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsAnnotation message. + * Verifies a DominantColorsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsAnnotation.verify = function verify(message) { + DominantColorsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.cropHints != null && message.hasOwnProperty("cropHints")) { - if (!Array.isArray(message.cropHints)) - return "cropHints: array expected"; - for (var i = 0; i < message.cropHints.length; ++i) { - var error = $root.google.cloud.vision.v1.CropHint.verify(message.cropHints[i]); + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1.ColorInfo.verify(message.colors[i]); if (error) - return "cropHints." + error; + return "colors." + error; } } return null; }; /** - * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1.DominantColorsAnnotation} DominantColorsAnnotation */ - CropHintsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.CropHintsAnnotation) + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.DominantColorsAnnotation) return object; - var message = new $root.google.cloud.vision.v1.CropHintsAnnotation(); - if (object.cropHints) { - if (!Array.isArray(object.cropHints)) - throw TypeError(".google.cloud.vision.v1.CropHintsAnnotation.cropHints: array expected"); - message.cropHints = []; - for (var i = 0; i < object.cropHints.length; ++i) { - if (typeof object.cropHints[i] !== "object") - throw TypeError(".google.cloud.vision.v1.CropHintsAnnotation.cropHints: object expected"); - message.cropHints[i] = $root.google.cloud.vision.v1.CropHint.fromObject(object.cropHints[i]); + var message = new $root.google.cloud.vision.v1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1.ColorInfo.fromObject(object.colors[i]); } } return message; }; /** - * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1.CropHintsAnnotation} message CropHintsAnnotation + * @param {google.cloud.vision.v1.DominantColorsAnnotation} message DominantColorsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsAnnotation.toObject = function toObject(message, options) { + DominantColorsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.cropHints = []; - if (message.cropHints && message.cropHints.length) { - object.cropHints = []; - for (var j = 0; j < message.cropHints.length; ++j) - object.cropHints[j] = $root.google.cloud.vision.v1.CropHint.toObject(message.cropHints[j], options); + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1.ColorInfo.toObject(message.colors[j], options); } return object; }; /** - * Converts this CropHintsAnnotation to JSON. + * Converts this DominantColorsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @memberof google.cloud.vision.v1.DominantColorsAnnotation * @instance * @returns {Object.} JSON object */ - CropHintsAnnotation.prototype.toJSON = function toJSON() { + DominantColorsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsAnnotation; + return DominantColorsAnnotation; })(); - v1.CropHintsParams = (function() { + v1.ImageProperties = (function() { /** - * Properties of a CropHintsParams. + * Properties of an ImageProperties. * @memberof google.cloud.vision.v1 - * @interface ICropHintsParams - * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + * @interface IImageProperties + * @property {google.cloud.vision.v1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors */ /** - * Constructs a new CropHintsParams. + * Constructs a new ImageProperties. * @memberof google.cloud.vision.v1 - * @classdesc Represents a CropHintsParams. - * @implements ICropHintsParams + * @classdesc Represents an ImageProperties. + * @implements IImageProperties * @constructor - * @param {google.cloud.vision.v1.ICropHintsParams=} [properties] Properties to set + * @param {google.cloud.vision.v1.IImageProperties=} [properties] Properties to set */ - function CropHintsParams(properties) { - this.aspectRatios = []; + function ImageProperties(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5290,86 +5556,75 @@ } /** - * CropHintsParams aspectRatios. - * @member {Array.} aspectRatios - * @memberof google.cloud.vision.v1.CropHintsParams - * @instance + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1.ImageProperties + * @instance */ - CropHintsParams.prototype.aspectRatios = $util.emptyArray; + ImageProperties.prototype.dominantColors = null; /** - * Creates a new CropHintsParams instance using the specified properties. + * Creates a new ImageProperties instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.CropHintsParams + * @memberof google.cloud.vision.v1.ImageProperties * @static - * @param {google.cloud.vision.v1.ICropHintsParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams instance + * @param {google.cloud.vision.v1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties instance */ - CropHintsParams.create = function create(properties) { - return new CropHintsParams(properties); + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); }; /** - * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1.CropHintsParams.verify|verify} messages. + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1.ImageProperties.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.CropHintsParams + * @memberof google.cloud.vision.v1.ImageProperties * @static - * @param {google.cloud.vision.v1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encode = function encode(message, writer) { + ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.aspectRatios != null && message.aspectRatios.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.aspectRatios.length; ++i) - writer.float(message.aspectRatios[i]); - writer.ldelim(); - } + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHintsParams.verify|verify} messages. + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageProperties.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.CropHintsParams + * @memberof google.cloud.vision.v1.ImageProperties * @static - * @param {google.cloud.vision.v1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsParams message from the specified reader or buffer. + * Decodes an ImageProperties message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.CropHintsParams + * @memberof google.cloud.vision.v1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decode = function decode(reader, length) { + ImageProperties.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CropHintsParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageProperties(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); + message.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -5380,119 +5635,114 @@ }; /** - * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.CropHintsParams + * @memberof google.cloud.vision.v1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + ImageProperties.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsParams message. + * Verifies an ImageProperties message. * @function verify - * @memberof google.cloud.vision.v1.CropHintsParams + * @memberof google.cloud.vision.v1.ImageProperties * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsParams.verify = function verify(message) { + ImageProperties.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { - if (!Array.isArray(message.aspectRatios)) - return "aspectRatios: array expected"; - for (var i = 0; i < message.aspectRatios.length; ++i) - if (typeof message.aspectRatios[i] !== "number") - return "aspectRatios: number[] expected"; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1.DominantColorsAnnotation.verify(message.dominantColors); + if (error) + return "dominantColors." + error; } return null; }; /** - * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.CropHintsParams + * @memberof google.cloud.vision.v1.ImageProperties * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1.ImageProperties} ImageProperties */ - CropHintsParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.CropHintsParams) + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImageProperties) return object; - var message = new $root.google.cloud.vision.v1.CropHintsParams(); - if (object.aspectRatios) { - if (!Array.isArray(object.aspectRatios)) - throw TypeError(".google.cloud.vision.v1.CropHintsParams.aspectRatios: array expected"); - message.aspectRatios = []; - for (var i = 0; i < object.aspectRatios.length; ++i) - message.aspectRatios[i] = Number(object.aspectRatios[i]); + var message = new $root.google.cloud.vision.v1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.fromObject(object.dominantColors); } return message; }; /** - * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.CropHintsParams + * @memberof google.cloud.vision.v1.ImageProperties * @static - * @param {google.cloud.vision.v1.CropHintsParams} message CropHintsParams + * @param {google.cloud.vision.v1.ImageProperties} message ImageProperties * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsParams.toObject = function toObject(message, options) { + ImageProperties.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.aspectRatios = []; - if (message.aspectRatios && message.aspectRatios.length) { - object.aspectRatios = []; - for (var j = 0; j < message.aspectRatios.length; ++j) - object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; - } + if (options.defaults) + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.toObject(message.dominantColors, options); return object; }; /** - * Converts this CropHintsParams to JSON. + * Converts this ImageProperties to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.CropHintsParams + * @memberof google.cloud.vision.v1.ImageProperties * @instance * @returns {Object.} JSON object */ - CropHintsParams.prototype.toJSON = function toJSON() { + ImageProperties.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsParams; + return ImageProperties; })(); - v1.WebDetectionParams = (function() { + v1.CropHint = (function() { /** - * Properties of a WebDetectionParams. + * Properties of a CropHint. * @memberof google.cloud.vision.v1 - * @interface IWebDetectionParams - * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + * @interface ICropHint + * @property {google.cloud.vision.v1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction */ /** - * Constructs a new WebDetectionParams. + * Constructs a new CropHint. * @memberof google.cloud.vision.v1 - * @classdesc Represents a WebDetectionParams. - * @implements IWebDetectionParams + * @classdesc Represents a CropHint. + * @implements ICropHint * @constructor - * @param {google.cloud.vision.v1.IWebDetectionParams=} [properties] Properties to set + * @param {google.cloud.vision.v1.ICropHint=} [properties] Properties to set */ - function WebDetectionParams(properties) { + function CropHint(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5500,75 +5750,101 @@ } /** - * WebDetectionParams includeGeoResults. - * @member {boolean} includeGeoResults - * @memberof google.cloud.vision.v1.WebDetectionParams + * CropHint boundingPoly. + * @member {google.cloud.vision.v1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1.CropHint * @instance */ - WebDetectionParams.prototype.includeGeoResults = false; + CropHint.prototype.boundingPoly = null; /** - * Creates a new WebDetectionParams instance using the specified properties. + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1.CropHint + * @instance + */ + CropHint.prototype.confidence = 0; + + /** + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1.CropHint + * @instance + */ + CropHint.prototype.importanceFraction = 0; + + /** + * Creates a new CropHint instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.WebDetectionParams + * @memberof google.cloud.vision.v1.CropHint * @static - * @param {google.cloud.vision.v1.IWebDetectionParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams instance + * @param {google.cloud.vision.v1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1.CropHint} CropHint instance */ - WebDetectionParams.create = function create(properties) { - return new WebDetectionParams(properties); + CropHint.create = function create(properties) { + return new CropHint(properties); }; /** - * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1.WebDetectionParams.verify|verify} messages. + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1.CropHint.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.WebDetectionParams + * @memberof google.cloud.vision.v1.CropHint * @static - * @param {google.cloud.vision.v1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encode = function encode(message, writer) { + CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; /** - * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetectionParams.verify|verify} messages. + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHint.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.WebDetectionParams + * @memberof google.cloud.vision.v1.CropHint * @static - * @param {google.cloud.vision.v1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + CropHint.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer. + * Decodes a CropHint message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.WebDetectionParams + * @memberof google.cloud.vision.v1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decode = function decode(reader, length) { + CropHint.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.WebDetectionParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CropHint(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; case 2: - message.includeGeoResults = reader.bool(); + message.confidence = reader.float(); + break; + case 3: + message.importanceFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -5579,112 +5855,130 @@ }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * Decodes a CropHint message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.WebDetectionParams + * @memberof google.cloud.vision.v1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + CropHint.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WebDetectionParams message. + * Verifies a CropHint message. * @function verify - * @memberof google.cloud.vision.v1.WebDetectionParams + * @memberof google.cloud.vision.v1.CropHint * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WebDetectionParams.verify = function verify(message) { + CropHint.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - if (typeof message.includeGeoResults !== "boolean") - return "includeGeoResults: boolean expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; return null; }; /** - * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.WebDetectionParams + * @memberof google.cloud.vision.v1.CropHint * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1.CropHint} CropHint */ - WebDetectionParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.WebDetectionParams) + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.CropHint) return object; - var message = new $root.google.cloud.vision.v1.WebDetectionParams(); - if (object.includeGeoResults != null) - message.includeGeoResults = Boolean(object.includeGeoResults); + var message = new $root.google.cloud.vision.v1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); return message; }; /** - * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * Creates a plain object from a CropHint message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.WebDetectionParams + * @memberof google.cloud.vision.v1.CropHint * @static - * @param {google.cloud.vision.v1.WebDetectionParams} message WebDetectionParams + * @param {google.cloud.vision.v1.CropHint} message CropHint * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WebDetectionParams.toObject = function toObject(message, options) { + CropHint.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.includeGeoResults = false; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - object.includeGeoResults = message.includeGeoResults; + if (options.defaults) { + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; return object; }; /** - * Converts this WebDetectionParams to JSON. + * Converts this CropHint to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.WebDetectionParams + * @memberof google.cloud.vision.v1.CropHint * @instance * @returns {Object.} JSON object */ - WebDetectionParams.prototype.toJSON = function toJSON() { + CropHint.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return WebDetectionParams; + return CropHint; })(); - v1.ImageContext = (function() { + v1.CropHintsAnnotation = (function() { /** - * Properties of an ImageContext. + * Properties of a CropHintsAnnotation. * @memberof google.cloud.vision.v1 - * @interface IImageContext - * @property {google.cloud.vision.v1.ILatLongRect|null} [latLongRect] ImageContext latLongRect - * @property {Array.|null} [languageHints] ImageContext languageHints - * @property {google.cloud.vision.v1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams - * @property {google.cloud.vision.v1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams - * @property {google.cloud.vision.v1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints */ /** - * Constructs a new ImageContext. + * Constructs a new CropHintsAnnotation. * @memberof google.cloud.vision.v1 - * @classdesc Represents an ImageContext. - * @implements IImageContext + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation * @constructor - * @param {google.cloud.vision.v1.IImageContext=} [properties] Properties to set + * @param {google.cloud.vision.v1.ICropHintsAnnotation=} [properties] Properties to set */ - function ImageContext(properties) { - this.languageHints = []; + function CropHintsAnnotation(properties) { + this.cropHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -5692,130 +5986,78 @@ } /** - * ImageContext latLongRect. - * @member {google.cloud.vision.v1.ILatLongRect|null|undefined} latLongRect - * @memberof google.cloud.vision.v1.ImageContext - * @instance - */ - ImageContext.prototype.latLongRect = null; - - /** - * ImageContext languageHints. - * @member {Array.} languageHints - * @memberof google.cloud.vision.v1.ImageContext - * @instance - */ - ImageContext.prototype.languageHints = $util.emptyArray; - - /** - * ImageContext cropHintsParams. - * @member {google.cloud.vision.v1.ICropHintsParams|null|undefined} cropHintsParams - * @memberof google.cloud.vision.v1.ImageContext - * @instance - */ - ImageContext.prototype.cropHintsParams = null; - - /** - * ImageContext productSearchParams. - * @member {google.cloud.vision.v1.IProductSearchParams|null|undefined} productSearchParams - * @memberof google.cloud.vision.v1.ImageContext - * @instance - */ - ImageContext.prototype.productSearchParams = null; - - /** - * ImageContext webDetectionParams. - * @member {google.cloud.vision.v1.IWebDetectionParams|null|undefined} webDetectionParams - * @memberof google.cloud.vision.v1.ImageContext + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @instance */ - ImageContext.prototype.webDetectionParams = null; + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; /** - * Creates a new ImageContext instance using the specified properties. + * Creates a new CropHintsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.ImageContext + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1.IImageContext=} [properties] Properties to set - * @returns {google.cloud.vision.v1.ImageContext} ImageContext instance + * @param {google.cloud.vision.v1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation instance */ - ImageContext.create = function create(properties) { - return new ImageContext(properties); + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); }; /** - * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1.ImageContext.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1.CropHintsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.ImageContext + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encode = function encode(message, writer) { + CropHintsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - $root.google.cloud.vision.v1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.languageHints != null && message.languageHints.length) - for (var i = 0; i < message.languageHints.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - $root.google.cloud.vision.v1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) - $root.google.cloud.vision.v1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - $root.google.cloud.vision.v1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageContext.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHintsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.ImageContext + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageContext message from the specified reader or buffer. + * Decodes a CropHintsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.ImageContext + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decode = function decode(reader, length) { + CropHintsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageContext(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CropHintsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.latLongRect = $root.google.cloud.vision.v1.LatLongRect.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 5: - message.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.decode(reader, reader.uint32()); - break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.decode(reader, reader.uint32()); + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1.CropHint.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -5826,176 +6068,125 @@ }; /** - * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.ImageContext + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decodeDelimited = function decodeDelimited(reader) { + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageContext message. + * Verifies a CropHintsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1.ImageContext + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageContext.verify = function verify(message) { + CropHintsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { - var error = $root.google.cloud.vision.v1.LatLongRect.verify(message.latLongRect); - if (error) - return "latLongRect." + error; - } - if (message.languageHints != null && message.hasOwnProperty("languageHints")) { - if (!Array.isArray(message.languageHints)) - return "languageHints: array expected"; - for (var i = 0; i < message.languageHints.length; ++i) - if (!$util.isString(message.languageHints[i])) - return "languageHints: string[] expected"; - } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { - var error = $root.google.cloud.vision.v1.CropHintsParams.verify(message.cropHintsParams); - if (error) - return "cropHintsParams." + error; - } - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { - var error = $root.google.cloud.vision.v1.ProductSearchParams.verify(message.productSearchParams); - if (error) - return "productSearchParams." + error; - } - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { - var error = $root.google.cloud.vision.v1.WebDetectionParams.verify(message.webDetectionParams); - if (error) - return "webDetectionParams." + error; + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1.CropHint.verify(message.cropHints[i]); + if (error) + return "cropHints." + error; + } } return null; }; /** - * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.ImageContext + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1.CropHintsAnnotation} CropHintsAnnotation */ - ImageContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.ImageContext) + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.CropHintsAnnotation) return object; - var message = new $root.google.cloud.vision.v1.ImageContext(); - if (object.latLongRect != null) { - if (typeof object.latLongRect !== "object") - throw TypeError(".google.cloud.vision.v1.ImageContext.latLongRect: object expected"); - message.latLongRect = $root.google.cloud.vision.v1.LatLongRect.fromObject(object.latLongRect); - } - if (object.languageHints) { - if (!Array.isArray(object.languageHints)) - throw TypeError(".google.cloud.vision.v1.ImageContext.languageHints: array expected"); - message.languageHints = []; - for (var i = 0; i < object.languageHints.length; ++i) - message.languageHints[i] = String(object.languageHints[i]); - } - if (object.cropHintsParams != null) { - if (typeof object.cropHintsParams !== "object") - throw TypeError(".google.cloud.vision.v1.ImageContext.cropHintsParams: object expected"); - message.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.fromObject(object.cropHintsParams); - } - if (object.productSearchParams != null) { - if (typeof object.productSearchParams !== "object") - throw TypeError(".google.cloud.vision.v1.ImageContext.productSearchParams: object expected"); - message.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.fromObject(object.productSearchParams); - } - if (object.webDetectionParams != null) { - if (typeof object.webDetectionParams !== "object") - throw TypeError(".google.cloud.vision.v1.ImageContext.webDetectionParams: object expected"); - message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.fromObject(object.webDetectionParams); + var message = new $root.google.cloud.vision.v1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1.CropHint.fromObject(object.cropHints[i]); + } } return message; }; /** - * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.ImageContext + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1.ImageContext} message ImageContext + * @param {google.cloud.vision.v1.CropHintsAnnotation} message CropHintsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageContext.toObject = function toObject(message, options) { + CropHintsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.languageHints = []; - if (options.defaults) { - object.latLongRect = null; - object.cropHintsParams = null; - object.productSearchParams = null; - object.webDetectionParams = null; - } - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - object.latLongRect = $root.google.cloud.vision.v1.LatLongRect.toObject(message.latLongRect, options); - if (message.languageHints && message.languageHints.length) { - object.languageHints = []; - for (var j = 0; j < message.languageHints.length; ++j) - object.languageHints[j] = message.languageHints[j]; + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1.CropHint.toObject(message.cropHints[j], options); } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - object.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.toObject(message.cropHintsParams, options); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) - object.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.toObject(message.productSearchParams, options); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - object.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.toObject(message.webDetectionParams, options); return object; }; /** - * Converts this ImageContext to JSON. + * Converts this CropHintsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.ImageContext + * @memberof google.cloud.vision.v1.CropHintsAnnotation * @instance * @returns {Object.} JSON object */ - ImageContext.prototype.toJSON = function toJSON() { + CropHintsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageContext; + return CropHintsAnnotation; })(); - v1.AnnotateImageRequest = (function() { + v1.CropHintsParams = (function() { /** - * Properties of an AnnotateImageRequest. + * Properties of a CropHintsParams. * @memberof google.cloud.vision.v1 - * @interface IAnnotateImageRequest - * @property {google.cloud.vision.v1.IImage|null} [image] AnnotateImageRequest image - * @property {Array.|null} [features] AnnotateImageRequest features - * @property {google.cloud.vision.v1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios */ /** - * Constructs a new AnnotateImageRequest. + * Constructs a new CropHintsParams. * @memberof google.cloud.vision.v1 - * @classdesc Represents an AnnotateImageRequest. - * @implements IAnnotateImageRequest + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams * @constructor - * @param {google.cloud.vision.v1.IAnnotateImageRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1.ICropHintsParams=} [properties] Properties to set */ - function AnnotateImageRequest(properties) { - this.features = []; + function CropHintsParams(properties) { + this.aspectRatios = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6003,104 +6194,86 @@ } /** - * AnnotateImageRequest image. - * @member {google.cloud.vision.v1.IImage|null|undefined} image - * @memberof google.cloud.vision.v1.AnnotateImageRequest - * @instance - */ - AnnotateImageRequest.prototype.image = null; - - /** - * AnnotateImageRequest features. - * @member {Array.} features - * @memberof google.cloud.vision.v1.AnnotateImageRequest - * @instance - */ - AnnotateImageRequest.prototype.features = $util.emptyArray; - - /** - * AnnotateImageRequest imageContext. - * @member {google.cloud.vision.v1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1.CropHintsParams * @instance */ - AnnotateImageRequest.prototype.imageContext = null; + CropHintsParams.prototype.aspectRatios = $util.emptyArray; /** - * Creates a new AnnotateImageRequest instance using the specified properties. + * Creates a new CropHintsParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @memberof google.cloud.vision.v1.CropHintsParams * @static - * @param {google.cloud.vision.v1.IAnnotateImageRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest instance + * @param {google.cloud.vision.v1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams instance */ - AnnotateImageRequest.create = function create(properties) { - return new AnnotateImageRequest(properties); + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); }; /** - * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1.CropHintsParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @memberof google.cloud.vision.v1.CropHintsParams * @static - * @param {google.cloud.vision.v1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encode = function encode(message, writer) { + CropHintsParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) - $root.google.cloud.vision.v1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.features != null && message.features.length) - for (var i = 0; i < message.features.length; ++i) - $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } return writer; }; /** - * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.CropHintsParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @memberof google.cloud.vision.v1.CropHintsParams * @static - * @param {google.cloud.vision.v1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * Decodes a CropHintsParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @memberof google.cloud.vision.v1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decode = function decode(reader, length) { + CropHintsParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateImageRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.CropHintsParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.image = $root.google.cloud.vision.v1.Image.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); break; default: reader.skipType(tag & 7); @@ -6111,153 +6284,119 @@ }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @memberof google.cloud.vision.v1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateImageRequest message. + * Verifies a CropHintsParams message. * @function verify - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @memberof google.cloud.vision.v1.CropHintsParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateImageRequest.verify = function verify(message) { + CropHintsParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.image != null && message.hasOwnProperty("image")) { - var error = $root.google.cloud.vision.v1.Image.verify(message.image); - if (error) - return "image." + error; - } - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (var i = 0; i < message.features.length; ++i) { - var error = $root.google.cloud.vision.v1.Feature.verify(message.features[i]); - if (error) - return "features." + error; - } - } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) { - var error = $root.google.cloud.vision.v1.ImageContext.verify(message.imageContext); - if (error) - return "imageContext." + error; + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; } return null; }; /** - * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @memberof google.cloud.vision.v1.CropHintsParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1.CropHintsParams} CropHintsParams */ - AnnotateImageRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AnnotateImageRequest) + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.CropHintsParams) return object; - var message = new $root.google.cloud.vision.v1.AnnotateImageRequest(); - if (object.image != null) { - if (typeof object.image !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.image: object expected"); - message.image = $root.google.cloud.vision.v1.Image.fromObject(object.image); - } - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) { - if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.features: object expected"); - message.features[i] = $root.google.cloud.vision.v1.Feature.fromObject(object.features[i]); - } - } - if (object.imageContext != null) { - if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.imageContext: object expected"); - message.imageContext = $root.google.cloud.vision.v1.ImageContext.fromObject(object.imageContext); + var message = new $root.google.cloud.vision.v1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); } return message; }; /** - * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @memberof google.cloud.vision.v1.CropHintsParams * @static - * @param {google.cloud.vision.v1.AnnotateImageRequest} message AnnotateImageRequest + * @param {google.cloud.vision.v1.CropHintsParams} message CropHintsParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageRequest.toObject = function toObject(message, options) { + CropHintsParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.features = []; - if (options.defaults) { - object.image = null; - object.imageContext = null; - } - if (message.image != null && message.hasOwnProperty("image")) - object.image = $root.google.cloud.vision.v1.Image.toObject(message.image, options); - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = $root.google.cloud.vision.v1.Feature.toObject(message.features[j], options); + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - object.imageContext = $root.google.cloud.vision.v1.ImageContext.toObject(message.imageContext, options); return object; }; /** - * Converts this AnnotateImageRequest to JSON. + * Converts this CropHintsParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @memberof google.cloud.vision.v1.CropHintsParams * @instance * @returns {Object.} JSON object */ - AnnotateImageRequest.prototype.toJSON = function toJSON() { + CropHintsParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageRequest; + return CropHintsParams; })(); - v1.ImageAnnotationContext = (function() { + v1.WebDetectionParams = (function() { /** - * Properties of an ImageAnnotationContext. + * Properties of a WebDetectionParams. * @memberof google.cloud.vision.v1 - * @interface IImageAnnotationContext - * @property {string|null} [uri] ImageAnnotationContext uri - * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults */ /** - * Constructs a new ImageAnnotationContext. + * Constructs a new WebDetectionParams. * @memberof google.cloud.vision.v1 - * @classdesc Represents an ImageAnnotationContext. - * @implements IImageAnnotationContext + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams * @constructor - * @param {google.cloud.vision.v1.IImageAnnotationContext=} [properties] Properties to set + * @param {google.cloud.vision.v1.IWebDetectionParams=} [properties] Properties to set */ - function ImageAnnotationContext(properties) { + function WebDetectionParams(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6265,88 +6404,75 @@ } /** - * ImageAnnotationContext uri. - * @member {string} uri - * @memberof google.cloud.vision.v1.ImageAnnotationContext - * @instance - */ - ImageAnnotationContext.prototype.uri = ""; - - /** - * ImageAnnotationContext pageNumber. - * @member {number} pageNumber - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1.WebDetectionParams * @instance */ - ImageAnnotationContext.prototype.pageNumber = 0; + WebDetectionParams.prototype.includeGeoResults = false; /** - * Creates a new ImageAnnotationContext instance using the specified properties. + * Creates a new WebDetectionParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @memberof google.cloud.vision.v1.WebDetectionParams * @static - * @param {google.cloud.vision.v1.IImageAnnotationContext=} [properties] Properties to set - * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext instance + * @param {google.cloud.vision.v1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams instance */ - ImageAnnotationContext.create = function create(properties) { - return new ImageAnnotationContext(properties); + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); }; /** - * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1.ImageAnnotationContext.verify|verify} messages. + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1.WebDetectionParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @memberof google.cloud.vision.v1.WebDetectionParams * @static - * @param {google.cloud.vision.v1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {google.cloud.vision.v1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageAnnotationContext.encode = function encode(message, writer) { + WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; /** - * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageAnnotationContext.verify|verify} messages. + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.WebDetectionParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @memberof google.cloud.vision.v1.WebDetectionParams * @static - * @param {google.cloud.vision.v1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {google.cloud.vision.v1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * Decodes a WebDetectionParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @memberof google.cloud.vision.v1.WebDetectionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAnnotationContext.decode = function decode(reader, length) { + WebDetectionParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageAnnotationContext(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.WebDetectionParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; case 2: - message.pageNumber = reader.int32(); + message.includeGeoResults = reader.bool(); break; default: reader.skipType(tag & 7); @@ -6357,135 +6483,112 @@ }; /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @memberof google.cloud.vision.v1.WebDetectionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageAnnotationContext message. + * Verifies a WebDetectionParams message. * @function verify - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @memberof google.cloud.vision.v1.WebDetectionParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageAnnotationContext.verify = function verify(message) { + WebDetectionParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - if (!$util.isInteger(message.pageNumber)) - return "pageNumber: integer expected"; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; return null; }; /** - * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @memberof google.cloud.vision.v1.WebDetectionParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1.WebDetectionParams} WebDetectionParams */ - ImageAnnotationContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.ImageAnnotationContext) + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.WebDetectionParams) return object; - var message = new $root.google.cloud.vision.v1.ImageAnnotationContext(); - if (object.uri != null) - message.uri = String(object.uri); - if (object.pageNumber != null) - message.pageNumber = object.pageNumber | 0; + var message = new $root.google.cloud.vision.v1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); return message; }; /** - * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @memberof google.cloud.vision.v1.WebDetectionParams * @static - * @param {google.cloud.vision.v1.ImageAnnotationContext} message ImageAnnotationContext + * @param {google.cloud.vision.v1.WebDetectionParams} message WebDetectionParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageAnnotationContext.toObject = function toObject(message, options) { + WebDetectionParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.uri = ""; - object.pageNumber = 0; - } - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - object.pageNumber = message.pageNumber; + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; return object; }; /** - * Converts this ImageAnnotationContext to JSON. + * Converts this WebDetectionParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @memberof google.cloud.vision.v1.WebDetectionParams * @instance * @returns {Object.} JSON object */ - ImageAnnotationContext.prototype.toJSON = function toJSON() { + WebDetectionParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageAnnotationContext; + return WebDetectionParams; })(); - v1.AnnotateImageResponse = (function() { + v1.ImageContext = (function() { /** - * Properties of an AnnotateImageResponse. + * Properties of an ImageContext. * @memberof google.cloud.vision.v1 - * @interface IAnnotateImageResponse - * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations - * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations - * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations - * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations - * @property {Array.|null} [localizedObjectAnnotations] AnnotateImageResponse localizedObjectAnnotations - * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations - * @property {google.cloud.vision.v1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation - * @property {google.cloud.vision.v1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation - * @property {google.cloud.vision.v1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation - * @property {google.cloud.vision.v1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation - * @property {google.cloud.vision.v1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection - * @property {google.cloud.vision.v1.IProductSearchResults|null} [productSearchResults] AnnotateImageResponse productSearchResults - * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error - * @property {google.cloud.vision.v1.IImageAnnotationContext|null} [context] AnnotateImageResponse context + * @interface IImageContext + * @property {google.cloud.vision.v1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams + * @property {google.cloud.vision.v1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams */ /** - * Constructs a new AnnotateImageResponse. + * Constructs a new ImageContext. * @memberof google.cloud.vision.v1 - * @classdesc Represents an AnnotateImageResponse. - * @implements IAnnotateImageResponse + * @classdesc Represents an ImageContext. + * @implements IImageContext * @constructor - * @param {google.cloud.vision.v1.IAnnotateImageResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1.IImageContext=} [properties] Properties to set */ - function AnnotateImageResponse(properties) { - this.faceAnnotations = []; - this.landmarkAnnotations = []; - this.logoAnnotations = []; - this.labelAnnotations = []; - this.localizedObjectAnnotations = []; - this.textAnnotations = []; + function ImageContext(properties) { + this.languageHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6493,262 +6596,130 @@ } /** - * AnnotateImageResponse faceAnnotations. - * @member {Array.} faceAnnotations - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * ImageContext latLongRect. + * @member {google.cloud.vision.v1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1.ImageContext * @instance */ - AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; + ImageContext.prototype.latLongRect = null; /** - * AnnotateImageResponse landmarkAnnotations. - * @member {Array.} landmarkAnnotations - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1.ImageContext * @instance */ - AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; + ImageContext.prototype.languageHints = $util.emptyArray; /** - * AnnotateImageResponse logoAnnotations. - * @member {Array.} logoAnnotations - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1.ImageContext * @instance */ - AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse labelAnnotations. - * @member {Array.} labelAnnotations - * @memberof google.cloud.vision.v1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse localizedObjectAnnotations. - * @member {Array.} localizedObjectAnnotations - * @memberof google.cloud.vision.v1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.localizedObjectAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse textAnnotations. - * @member {Array.} textAnnotations - * @memberof google.cloud.vision.v1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse fullTextAnnotation. - * @member {google.cloud.vision.v1.ITextAnnotation|null|undefined} fullTextAnnotation - * @memberof google.cloud.vision.v1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.fullTextAnnotation = null; - - /** - * AnnotateImageResponse safeSearchAnnotation. - * @member {google.cloud.vision.v1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation - * @memberof google.cloud.vision.v1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.safeSearchAnnotation = null; - - /** - * AnnotateImageResponse imagePropertiesAnnotation. - * @member {google.cloud.vision.v1.IImageProperties|null|undefined} imagePropertiesAnnotation - * @memberof google.cloud.vision.v1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; - - /** - * AnnotateImageResponse cropHintsAnnotation. - * @member {google.cloud.vision.v1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation - * @memberof google.cloud.vision.v1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.cropHintsAnnotation = null; - - /** - * AnnotateImageResponse webDetection. - * @member {google.cloud.vision.v1.IWebDetection|null|undefined} webDetection - * @memberof google.cloud.vision.v1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.webDetection = null; - - /** - * AnnotateImageResponse productSearchResults. - * @member {google.cloud.vision.v1.IProductSearchResults|null|undefined} productSearchResults - * @memberof google.cloud.vision.v1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.productSearchResults = null; + ImageContext.prototype.cropHintsParams = null; /** - * AnnotateImageResponse error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * ImageContext productSearchParams. + * @member {google.cloud.vision.v1.IProductSearchParams|null|undefined} productSearchParams + * @memberof google.cloud.vision.v1.ImageContext * @instance */ - AnnotateImageResponse.prototype.error = null; + ImageContext.prototype.productSearchParams = null; /** - * AnnotateImageResponse context. - * @member {google.cloud.vision.v1.IImageAnnotationContext|null|undefined} context - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1.ImageContext * @instance */ - AnnotateImageResponse.prototype.context = null; + ImageContext.prototype.webDetectionParams = null; /** - * Creates a new AnnotateImageResponse instance using the specified properties. + * Creates a new ImageContext instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @memberof google.cloud.vision.v1.ImageContext * @static - * @param {google.cloud.vision.v1.IAnnotateImageResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse instance + * @param {google.cloud.vision.v1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImageContext} ImageContext instance */ - AnnotateImageResponse.create = function create(properties) { - return new AnnotateImageResponse(properties); + ImageContext.create = function create(properties) { + return new ImageContext(properties); }; /** - * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1.ImageContext.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @memberof google.cloud.vision.v1.ImageContext * @static - * @param {google.cloud.vision.v1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encode = function encode(message, writer) { + ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.faceAnnotations != null && message.faceAnnotations.length) - for (var i = 0; i < message.faceAnnotations.length; ++i) - $root.google.cloud.vision.v1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) - for (var i = 0; i < message.landmarkAnnotations.length; ++i) - $root.google.cloud.vision.v1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.logoAnnotations != null && message.logoAnnotations.length) - for (var i = 0; i < message.logoAnnotations.length; ++i) - $root.google.cloud.vision.v1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.labelAnnotations != null && message.labelAnnotations.length) - for (var i = 0; i < message.labelAnnotations.length; ++i) - $root.google.cloud.vision.v1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.textAnnotations != null && message.textAnnotations.length) - for (var i = 0; i < message.textAnnotations.length; ++i) - $root.google.cloud.vision.v1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - $root.google.cloud.vision.v1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - $root.google.cloud.vision.v1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) - $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - $root.google.cloud.vision.v1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - $root.google.cloud.vision.v1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - $root.google.cloud.vision.v1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) - $root.google.cloud.vision.v1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) - $root.google.cloud.vision.v1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); - if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) - for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) - $root.google.cloud.vision.v1.LocalizedObjectAnnotation.encode(message.localizedObjectAnnotations[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + $root.google.cloud.vision.v1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageContext.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @memberof google.cloud.vision.v1.ImageContext * @static - * @param {google.cloud.vision.v1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * Decodes an ImageContext message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @memberof google.cloud.vision.v1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageResponse.decode = function decode(reader, length) { + ImageContext.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateImageResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageContext(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1.FaceAnnotation.decode(reader, reader.uint32())); + message.latLongRect = $root.google.cloud.vision.v1.LatLongRect.decode(reader, reader.uint32()); break; case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); break; case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 22: - if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) - message.localizedObjectAnnotations = []; - message.localizedObjectAnnotations.push($root.google.cloud.vision.v1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + message.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.decode(reader, reader.uint32()); break; case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.decode(reader, reader.uint32()); + message.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.decode(reader, reader.uint32()); break; case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1.WebDetection.decode(reader, reader.uint32()); - break; - case 14: - message.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 21: - message.context = $root.google.cloud.vision.v1.ImageAnnotationContext.decode(reader, reader.uint32()); + message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -6759,358 +6730,176 @@ }; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * Decodes an ImageContext message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @memberof google.cloud.vision.v1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { + ImageContext.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateImageResponse message. + * Verifies an ImageContext message. * @function verify - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @memberof google.cloud.vision.v1.ImageContext * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateImageResponse.verify = function verify(message) { + ImageContext.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { - if (!Array.isArray(message.faceAnnotations)) - return "faceAnnotations: array expected"; - for (var i = 0; i < message.faceAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1.FaceAnnotation.verify(message.faceAnnotations[i]); - if (error) - return "faceAnnotations." + error; - } - } - if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { - if (!Array.isArray(message.landmarkAnnotations)) - return "landmarkAnnotations: array expected"; - for (var i = 0; i < message.landmarkAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.landmarkAnnotations[i]); - if (error) - return "landmarkAnnotations." + error; - } - } - if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { - if (!Array.isArray(message.logoAnnotations)) - return "logoAnnotations: array expected"; - for (var i = 0; i < message.logoAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.logoAnnotations[i]); - if (error) - return "logoAnnotations." + error; - } - } - if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { - if (!Array.isArray(message.labelAnnotations)) - return "labelAnnotations: array expected"; - for (var i = 0; i < message.labelAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.labelAnnotations[i]); - if (error) - return "labelAnnotations." + error; - } - } - if (message.localizedObjectAnnotations != null && message.hasOwnProperty("localizedObjectAnnotations")) { - if (!Array.isArray(message.localizedObjectAnnotations)) - return "localizedObjectAnnotations: array expected"; - for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1.LocalizedObjectAnnotation.verify(message.localizedObjectAnnotations[i]); - if (error) - return "localizedObjectAnnotations." + error; - } - } - if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { - if (!Array.isArray(message.textAnnotations)) - return "textAnnotations: array expected"; - for (var i = 0; i < message.textAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.textAnnotations[i]); - if (error) - return "textAnnotations." + error; - } - } - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { - var error = $root.google.cloud.vision.v1.TextAnnotation.verify(message.fullTextAnnotation); - if (error) - return "fullTextAnnotation." + error; - } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { - var error = $root.google.cloud.vision.v1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); - if (error) - return "safeSearchAnnotation." + error; - } - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { - var error = $root.google.cloud.vision.v1.ImageProperties.verify(message.imagePropertiesAnnotation); - if (error) - return "imagePropertiesAnnotation." + error; - } - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { - var error = $root.google.cloud.vision.v1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1.LatLongRect.verify(message.latLongRect); if (error) - return "cropHintsAnnotation." + error; + return "latLongRect." + error; } - if (message.webDetection != null && message.hasOwnProperty("webDetection")) { - var error = $root.google.cloud.vision.v1.WebDetection.verify(message.webDetection); - if (error) - return "webDetection." + error; + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; } - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) { - var error = $root.google.cloud.vision.v1.ProductSearchResults.verify(message.productSearchResults); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1.CropHintsParams.verify(message.cropHintsParams); if (error) - return "productSearchResults." + error; + return "cropHintsParams." + error; } - if (message.error != null && message.hasOwnProperty("error")) { - var error = $root.google.rpc.Status.verify(message.error); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { + var error = $root.google.cloud.vision.v1.ProductSearchParams.verify(message.productSearchParams); if (error) - return "error." + error; + return "productSearchParams." + error; } - if (message.context != null && message.hasOwnProperty("context")) { - var error = $root.google.cloud.vision.v1.ImageAnnotationContext.verify(message.context); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1.WebDetectionParams.verify(message.webDetectionParams); if (error) - return "context." + error; + return "webDetectionParams." + error; } return null; }; /** - * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @memberof google.cloud.vision.v1.ImageContext * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1.ImageContext} ImageContext */ - AnnotateImageResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AnnotateImageResponse) + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImageContext) return object; - var message = new $root.google.cloud.vision.v1.AnnotateImageResponse(); - if (object.faceAnnotations) { - if (!Array.isArray(object.faceAnnotations)) - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.faceAnnotations: array expected"); - message.faceAnnotations = []; - for (var i = 0; i < object.faceAnnotations.length; ++i) { - if (typeof object.faceAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.faceAnnotations: object expected"); - message.faceAnnotations[i] = $root.google.cloud.vision.v1.FaceAnnotation.fromObject(object.faceAnnotations[i]); - } - } - if (object.landmarkAnnotations) { - if (!Array.isArray(object.landmarkAnnotations)) - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.landmarkAnnotations: array expected"); - message.landmarkAnnotations = []; - for (var i = 0; i < object.landmarkAnnotations.length; ++i) { - if (typeof object.landmarkAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.landmarkAnnotations: object expected"); - message.landmarkAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); - } - } - if (object.logoAnnotations) { - if (!Array.isArray(object.logoAnnotations)) - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.logoAnnotations: array expected"); - message.logoAnnotations = []; - for (var i = 0; i < object.logoAnnotations.length; ++i) { - if (typeof object.logoAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.logoAnnotations: object expected"); - message.logoAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.logoAnnotations[i]); - } - } - if (object.labelAnnotations) { - if (!Array.isArray(object.labelAnnotations)) - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.labelAnnotations: array expected"); - message.labelAnnotations = []; - for (var i = 0; i < object.labelAnnotations.length; ++i) { - if (typeof object.labelAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.labelAnnotations: object expected"); - message.labelAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.labelAnnotations[i]); - } - } - if (object.localizedObjectAnnotations) { - if (!Array.isArray(object.localizedObjectAnnotations)) - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.localizedObjectAnnotations: array expected"); - message.localizedObjectAnnotations = []; - for (var i = 0; i < object.localizedObjectAnnotations.length; ++i) { - if (typeof object.localizedObjectAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.localizedObjectAnnotations: object expected"); - message.localizedObjectAnnotations[i] = $root.google.cloud.vision.v1.LocalizedObjectAnnotation.fromObject(object.localizedObjectAnnotations[i]); - } - } - if (object.textAnnotations) { - if (!Array.isArray(object.textAnnotations)) - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.textAnnotations: array expected"); - message.textAnnotations = []; - for (var i = 0; i < object.textAnnotations.length; ++i) { - if (typeof object.textAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.textAnnotations: object expected"); - message.textAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.textAnnotations[i]); - } - } - if (object.fullTextAnnotation != null) { - if (typeof object.fullTextAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.fullTextAnnotation: object expected"); - message.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.fromObject(object.fullTextAnnotation); - } - if (object.safeSearchAnnotation != null) { - if (typeof object.safeSearchAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.safeSearchAnnotation: object expected"); - message.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); - } - if (object.imagePropertiesAnnotation != null) { - if (typeof object.imagePropertiesAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.fromObject(object.imagePropertiesAnnotation); - } - if (object.cropHintsAnnotation != null) { - if (typeof object.cropHintsAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.cropHintsAnnotation: object expected"); - message.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + var message = new $root.google.cloud.vision.v1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1.LatLongRect.fromObject(object.latLongRect); } - if (object.webDetection != null) { - if (typeof object.webDetection !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.webDetection: object expected"); - message.webDetection = $root.google.cloud.vision.v1.WebDetection.fromObject(object.webDetection); + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); } - if (object.productSearchResults != null) { - if (typeof object.productSearchResults !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.productSearchResults: object expected"); - message.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.fromObject(object.productSearchResults); + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.fromObject(object.cropHintsParams); } - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); + if (object.productSearchParams != null) { + if (typeof object.productSearchParams !== "object") + throw TypeError(".google.cloud.vision.v1.ImageContext.productSearchParams: object expected"); + message.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.fromObject(object.productSearchParams); } - if (object.context != null) { - if (typeof object.context !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.context: object expected"); - message.context = $root.google.cloud.vision.v1.ImageAnnotationContext.fromObject(object.context); + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.fromObject(object.webDetectionParams); } return message; }; /** - * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @memberof google.cloud.vision.v1.ImageContext * @static - * @param {google.cloud.vision.v1.AnnotateImageResponse} message AnnotateImageResponse + * @param {google.cloud.vision.v1.ImageContext} message ImageContext * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageResponse.toObject = function toObject(message, options) { + ImageContext.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.faceAnnotations = []; - object.landmarkAnnotations = []; - object.logoAnnotations = []; - object.labelAnnotations = []; - object.textAnnotations = []; - object.localizedObjectAnnotations = []; - } + if (options.arrays || options.defaults) + object.languageHints = []; if (options.defaults) { - object.safeSearchAnnotation = null; - object.imagePropertiesAnnotation = null; - object.error = null; - object.cropHintsAnnotation = null; - object.fullTextAnnotation = null; - object.webDetection = null; - object.productSearchResults = null; - object.context = null; + object.latLongRect = null; + object.cropHintsParams = null; + object.productSearchParams = null; + object.webDetectionParams = null; } - if (message.faceAnnotations && message.faceAnnotations.length) { - object.faceAnnotations = []; - for (var j = 0; j < message.faceAnnotations.length; ++j) - object.faceAnnotations[j] = $root.google.cloud.vision.v1.FaceAnnotation.toObject(message.faceAnnotations[j], options); - } - if (message.landmarkAnnotations && message.landmarkAnnotations.length) { - object.landmarkAnnotations = []; - for (var j = 0; j < message.landmarkAnnotations.length; ++j) - object.landmarkAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); - } - if (message.logoAnnotations && message.logoAnnotations.length) { - object.logoAnnotations = []; - for (var j = 0; j < message.logoAnnotations.length; ++j) - object.logoAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.logoAnnotations[j], options); - } - if (message.labelAnnotations && message.labelAnnotations.length) { - object.labelAnnotations = []; - for (var j = 0; j < message.labelAnnotations.length; ++j) - object.labelAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.labelAnnotations[j], options); - } - if (message.textAnnotations && message.textAnnotations.length) { - object.textAnnotations = []; - for (var j = 0; j < message.textAnnotations.length; ++j) - object.textAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.textAnnotations[j], options); - } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - object.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - object.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); - if (message.error != null && message.hasOwnProperty("error")) - object.error = $root.google.rpc.Status.toObject(message.error, options); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - object.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - object.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.toObject(message.fullTextAnnotation, options); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - object.webDetection = $root.google.cloud.vision.v1.WebDetection.toObject(message.webDetection, options); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) - object.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.toObject(message.productSearchResults, options); - if (message.context != null && message.hasOwnProperty("context")) - object.context = $root.google.cloud.vision.v1.ImageAnnotationContext.toObject(message.context, options); - if (message.localizedObjectAnnotations && message.localizedObjectAnnotations.length) { - object.localizedObjectAnnotations = []; - for (var j = 0; j < message.localizedObjectAnnotations.length; ++j) - object.localizedObjectAnnotations[j] = $root.google.cloud.vision.v1.LocalizedObjectAnnotation.toObject(message.localizedObjectAnnotations[j], options); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + object.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.toObject(message.productSearchParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.toObject(message.webDetectionParams, options); return object; }; /** - * Converts this AnnotateImageResponse to JSON. + * Converts this ImageContext to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @memberof google.cloud.vision.v1.ImageContext * @instance * @returns {Object.} JSON object */ - AnnotateImageResponse.prototype.toJSON = function toJSON() { + ImageContext.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageResponse; + return ImageContext; })(); - v1.BatchAnnotateImagesRequest = (function() { + v1.AnnotateImageRequest = (function() { /** - * Properties of a BatchAnnotateImagesRequest. + * Properties of an AnnotateImageRequest. * @memberof google.cloud.vision.v1 - * @interface IBatchAnnotateImagesRequest - * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests - * @property {string|null} [parent] BatchAnnotateImagesRequest parent + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext */ /** - * Constructs a new BatchAnnotateImagesRequest. + * Constructs a new AnnotateImageRequest. * @memberof google.cloud.vision.v1 - * @classdesc Represents a BatchAnnotateImagesRequest. - * @implements IBatchAnnotateImagesRequest + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest * @constructor - * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAnnotateImageRequest=} [properties] Properties to set */ - function BatchAnnotateImagesRequest(properties) { - this.requests = []; + function AnnotateImageRequest(properties) { + this.features = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -7118,91 +6907,104 @@ } /** - * BatchAnnotateImagesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @instance */ - BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + AnnotateImageRequest.prototype.image = null; /** - * BatchAnnotateImagesRequest parent. - * @member {string} parent - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * AnnotateImageRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @instance */ - BatchAnnotateImagesRequest.prototype.parent = ""; + AnnotateImageRequest.prototype.features = $util.emptyArray; /** - * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * AnnotateImageRequest imageContext. + * @member {google.cloud.vision.v1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.imageContext = null; + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + * @param {google.cloud.vision.v1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest instance */ - BatchAnnotateImagesRequest.create = function create(properties) { - return new BatchAnnotateImagesRequest(properties); + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); }; /** - * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encode = function encode(message, writer) { + AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * Decodes an AnnotateImageRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decode = function decode(reader, length) { + AnnotateImageRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateImagesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateImageRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); + message.image = $root.google.cloud.vision.v1.Image.decode(reader, reader.uint32()); break; - case 4: - message.parent = reader.string(); + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -7213,134 +7015,153 @@ }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesRequest message. + * Verifies an AnnotateImageRequest message. * @function verify - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesRequest.verify = function verify(message) { + AnnotateImageRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1.AnnotateImageRequest.verify(message.requests[i]); + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1.Image.verify(message.image); + if (error) + return "image." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1.Feature.verify(message.features[i]); if (error) - return "requests." + error; + return "features." + error; } } - if (message.parent != null && message.hasOwnProperty("parent")) - if (!$util.isString(message.parent)) - return "parent: string expected"; + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } return null; }; /** - * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1.AnnotateImageRequest} AnnotateImageRequest */ - BatchAnnotateImagesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateImagesRequest) + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AnnotateImageRequest) return object; - var message = new $root.google.cloud.vision.v1.BatchAnnotateImagesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1.AnnotateImageRequest.fromObject(object.requests[i]); + var message = new $root.google.cloud.vision.v1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1.Image.fromObject(object.image); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1.Feature.fromObject(object.features[i]); } } - if (object.parent != null) - message.parent = String(object.parent); + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1.ImageContext.fromObject(object.imageContext); + } return message; }; /** - * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {google.cloud.vision.v1.AnnotateImageRequest} message AnnotateImageRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + AnnotateImageRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.requests = []; - if (options.defaults) - object.parent = ""; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1.AnnotateImageRequest.toObject(message.requests[j], options); + object.features = []; + if (options.defaults) { + object.image = null; + object.imageContext = null; } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1.Image.toObject(message.image, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1.ImageContext.toObject(message.imageContext, options); return object; }; /** - * Converts this BatchAnnotateImagesRequest to JSON. + * Converts this AnnotateImageRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.AnnotateImageRequest * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + AnnotateImageRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesRequest; + return AnnotateImageRequest; })(); - v1.BatchAnnotateImagesResponse = (function() { + v1.ImageAnnotationContext = (function() { /** - * Properties of a BatchAnnotateImagesResponse. + * Properties of an ImageAnnotationContext. * @memberof google.cloud.vision.v1 - * @interface IBatchAnnotateImagesResponse - * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + * @interface IImageAnnotationContext + * @property {string|null} [uri] ImageAnnotationContext uri + * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber */ /** - * Constructs a new BatchAnnotateImagesResponse. + * Constructs a new ImageAnnotationContext. * @memberof google.cloud.vision.v1 - * @classdesc Represents a BatchAnnotateImagesResponse. - * @implements IBatchAnnotateImagesResponse + * @classdesc Represents an ImageAnnotationContext. + * @implements IImageAnnotationContext * @constructor - * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1.IImageAnnotationContext=} [properties] Properties to set */ - function BatchAnnotateImagesResponse(properties) { - this.responses = []; + function ImageAnnotationContext(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -7348,78 +7169,88 @@ } /** - * BatchAnnotateImagesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * ImageAnnotationContext uri. + * @member {string} uri + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @instance */ - BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + ImageAnnotationContext.prototype.uri = ""; /** - * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * ImageAnnotationContext pageNumber. + * @member {number} pageNumber + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.pageNumber = 0; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + * @param {google.cloud.vision.v1.IImageAnnotationContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext instance */ - BatchAnnotateImagesResponse.create = function create(properties) { - return new BatchAnnotateImagesResponse(properties); + ImageAnnotationContext.create = function create(properties) { + return new ImageAnnotationContext(properties); }; /** - * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1.ImageAnnotationContext.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encode = function encode(message, writer) { + ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; /** - * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1.ImageAnnotationContext.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * Decodes an ImageAnnotationContext message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decode = function decode(reader, length) { + ImageAnnotationContext.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateImagesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.ImageAnnotationContext(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); + message.uri = reader.string(); + break; + case 2: + message.pageNumber = reader.int32(); break; default: reader.skipType(tag & 7); @@ -7430,129 +7261,135 @@ }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesResponse message. + * Verifies an ImageAnnotationContext message. * @function verify - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesResponse.verify = function verify(message) { + ImageAnnotationContext.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1.AnnotateImageResponse.verify(message.responses[i]); - if (error) - return "responses." + error; - } - } + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (!$util.isInteger(message.pageNumber)) + return "pageNumber: integer expected"; return null; }; /** - * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1.ImageAnnotationContext} ImageAnnotationContext */ - BatchAnnotateImagesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateImagesResponse) + ImageAnnotationContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.ImageAnnotationContext) return object; - var message = new $root.google.cloud.vision.v1.BatchAnnotateImagesResponse(); - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1.AnnotateImageResponse.fromObject(object.responses[i]); - } - } + var message = new $root.google.cloud.vision.v1.ImageAnnotationContext(); + if (object.uri != null) + message.uri = String(object.uri); + if (object.pageNumber != null) + message.pageNumber = object.pageNumber | 0; return message; }; /** - * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {google.cloud.vision.v1.ImageAnnotationContext} message ImageAnnotationContext * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + ImageAnnotationContext.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.responses = []; - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1.AnnotateImageResponse.toObject(message.responses[j], options); + if (options.defaults) { + object.uri = ""; + object.pageNumber = 0; } + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + object.pageNumber = message.pageNumber; return object; }; /** - * Converts this BatchAnnotateImagesResponse to JSON. + * Converts this ImageAnnotationContext to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.ImageAnnotationContext * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + ImageAnnotationContext.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesResponse; + return ImageAnnotationContext; })(); - v1.AnnotateFileRequest = (function() { + v1.AnnotateImageResponse = (function() { /** - * Properties of an AnnotateFileRequest. + * Properties of an AnnotateImageResponse. * @memberof google.cloud.vision.v1 - * @interface IAnnotateFileRequest - * @property {google.cloud.vision.v1.IInputConfig|null} [inputConfig] AnnotateFileRequest inputConfig - * @property {Array.|null} [features] AnnotateFileRequest features - * @property {google.cloud.vision.v1.IImageContext|null} [imageContext] AnnotateFileRequest imageContext - * @property {Array.|null} [pages] AnnotateFileRequest pages + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [localizedObjectAnnotations] AnnotateImageResponse localizedObjectAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.cloud.vision.v1.IProductSearchResults|null} [productSearchResults] AnnotateImageResponse productSearchResults + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + * @property {google.cloud.vision.v1.IImageAnnotationContext|null} [context] AnnotateImageResponse context */ /** - * Constructs a new AnnotateFileRequest. + * Constructs a new AnnotateImageResponse. * @memberof google.cloud.vision.v1 - * @classdesc Represents an AnnotateFileRequest. - * @implements IAnnotateFileRequest + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse * @constructor - * @param {google.cloud.vision.v1.IAnnotateFileRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAnnotateImageResponse=} [properties] Properties to set */ - function AnnotateFileRequest(properties) { - this.features = []; - this.pages = []; + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.localizedObjectAnnotations = []; + this.textAnnotations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -7560,428 +7397,263 @@ } /** - * AnnotateFileRequest inputConfig. - * @member {google.cloud.vision.v1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1.AnnotateFileRequest + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance */ - AnnotateFileRequest.prototype.inputConfig = null; + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; /** - * AnnotateFileRequest features. - * @member {Array.} features - * @memberof google.cloud.vision.v1.AnnotateFileRequest + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance */ - AnnotateFileRequest.prototype.features = $util.emptyArray; + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; /** - * AnnotateFileRequest imageContext. - * @member {google.cloud.vision.v1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1.AnnotateFileRequest + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance */ - AnnotateFileRequest.prototype.imageContext = null; + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; /** - * AnnotateFileRequest pages. - * @member {Array.} pages - * @memberof google.cloud.vision.v1.AnnotateFileRequest + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance */ - AnnotateFileRequest.prototype.pages = $util.emptyArray; - - /** - * Creates a new AnnotateFileRequest instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1.AnnotateFileRequest - * @static - * @param {google.cloud.vision.v1.IAnnotateFileRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest instance - */ - AnnotateFileRequest.create = function create(properties) { - return new AnnotateFileRequest(properties); - }; - - /** - * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileRequest.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1.AnnotateFileRequest - * @static - * @param {google.cloud.vision.v1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AnnotateFileRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.features != null && message.features.length) - for (var i = 0; i < message.features.length; ++i) - $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.pages != null && message.pages.length) { - writer.uint32(/* id 4, wireType 2 =*/34).fork(); - for (var i = 0; i < message.pages.length; ++i) - writer.int32(message.pages[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1.AnnotateFileRequest - * @static - * @param {google.cloud.vision.v1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an AnnotateFileRequest message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1.AnnotateFileRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateFileRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateFileRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.pages && message.pages.length)) - message.pages = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.pages.push(reader.int32()); - } else - message.pages.push(reader.int32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1.AnnotateFileRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; /** - * Verifies an AnnotateFileRequest message. - * @function verify - * @memberof google.cloud.vision.v1.AnnotateFileRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not + * AnnotateImageResponse localizedObjectAnnotations. + * @member {Array.} localizedObjectAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance */ - AnnotateFileRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1.InputConfig.verify(message.inputConfig); - if (error) - return "inputConfig." + error; - } - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (var i = 0; i < message.features.length; ++i) { - var error = $root.google.cloud.vision.v1.Feature.verify(message.features[i]); - if (error) - return "features." + error; - } - } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) { - var error = $root.google.cloud.vision.v1.ImageContext.verify(message.imageContext); - if (error) - return "imageContext." + error; - } - if (message.pages != null && message.hasOwnProperty("pages")) { - if (!Array.isArray(message.pages)) - return "pages: array expected"; - for (var i = 0; i < message.pages.length; ++i) - if (!$util.isInteger(message.pages[i])) - return "pages: integer[] expected"; - } - return null; - }; + AnnotateImageResponse.prototype.localizedObjectAnnotations = $util.emptyArray; /** - * Creates an AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1.AnnotateFileRequest - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance */ - AnnotateFileRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AnnotateFileRequest) - return object; - var message = new $root.google.cloud.vision.v1.AnnotateFileRequest(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1.InputConfig.fromObject(object.inputConfig); - } - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) { - if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.features: object expected"); - message.features[i] = $root.google.cloud.vision.v1.Feature.fromObject(object.features[i]); - } - } - if (object.imageContext != null) { - if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.imageContext: object expected"); - message.imageContext = $root.google.cloud.vision.v1.ImageContext.fromObject(object.imageContext); - } - if (object.pages) { - if (!Array.isArray(object.pages)) - throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.pages: array expected"); - message.pages = []; - for (var i = 0; i < object.pages.length; ++i) - message.pages[i] = object.pages[i] | 0; - } - return message; - }; + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; /** - * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1.AnnotateFileRequest - * @static - * @param {google.cloud.vision.v1.AnnotateFileRequest} message AnnotateFileRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance */ - AnnotateFileRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.features = []; - object.pages = []; - } - if (options.defaults) { - object.inputConfig = null; - object.imageContext = null; - } - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1.InputConfig.toObject(message.inputConfig, options); - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = $root.google.cloud.vision.v1.Feature.toObject(message.features[j], options); - } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - object.imageContext = $root.google.cloud.vision.v1.ImageContext.toObject(message.imageContext, options); - if (message.pages && message.pages.length) { - object.pages = []; - for (var j = 0; j < message.pages.length; ++j) - object.pages[j] = message.pages[j]; - } - return object; - }; + AnnotateImageResponse.prototype.fullTextAnnotation = null; /** - * Converts this AnnotateFileRequest to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1.AnnotateFileRequest + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance - * @returns {Object.} JSON object */ - AnnotateFileRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return AnnotateFileRequest; - })(); - - v1.AnnotateFileResponse = (function() { + AnnotateImageResponse.prototype.safeSearchAnnotation = null; /** - * Properties of an AnnotateFileResponse. - * @memberof google.cloud.vision.v1 - * @interface IAnnotateFileResponse - * @property {google.cloud.vision.v1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig - * @property {Array.|null} [responses] AnnotateFileResponse responses - * @property {number|null} [totalPages] AnnotateFileResponse totalPages - * @property {google.rpc.IStatus|null} [error] AnnotateFileResponse error + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance */ + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; /** - * Constructs a new AnnotateFileResponse. - * @memberof google.cloud.vision.v1 - * @classdesc Represents an AnnotateFileResponse. - * @implements IAnnotateFileResponse - * @constructor - * @param {google.cloud.vision.v1.IAnnotateFileResponse=} [properties] Properties to set + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @instance */ - function AnnotateFileResponse(properties) { - this.responses = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + AnnotateImageResponse.prototype.cropHintsAnnotation = null; /** - * AnnotateFileResponse inputConfig. - * @member {google.cloud.vision.v1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance */ - AnnotateFileResponse.prototype.inputConfig = null; + AnnotateImageResponse.prototype.webDetection = null; /** - * AnnotateFileResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * AnnotateImageResponse productSearchResults. + * @member {google.cloud.vision.v1.IProductSearchResults|null|undefined} productSearchResults + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance */ - AnnotateFileResponse.prototype.responses = $util.emptyArray; + AnnotateImageResponse.prototype.productSearchResults = null; /** - * AnnotateFileResponse totalPages. - * @member {number} totalPages - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance */ - AnnotateFileResponse.prototype.totalPages = 0; + AnnotateImageResponse.prototype.error = null; /** - * AnnotateFileResponse error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * AnnotateImageResponse context. + * @member {google.cloud.vision.v1.IImageAnnotationContext|null|undefined} context + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance */ - AnnotateFileResponse.prototype.error = null; + AnnotateImageResponse.prototype.context = null; /** - * Creates a new AnnotateFileResponse instance using the specified properties. + * Creates a new AnnotateImageResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1.IAnnotateFileResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse instance + * @param {google.cloud.vision.v1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse instance */ - AnnotateFileResponse.create = function create(properties) { - return new AnnotateFileResponse(properties); + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); }; /** - * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encode = function encode(message, writer) { + AnnotateImageResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalPages != null && message.hasOwnProperty("totalPages")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.error != null && message.hasOwnProperty("error")) - $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + $root.google.cloud.vision.v1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.context != null && message.hasOwnProperty("context")) + $root.google.cloud.vision.v1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) + $root.google.cloud.vision.v1.LocalizedObjectAnnotation.encode(message.localizedObjectAnnotations[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateImageResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * Decodes an AnnotateImageResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decode = function decode(reader, length) { + AnnotateImageResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateFileResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateImageResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1.FaceAnnotation.decode(reader, reader.uint32())); break; case 2: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); break; case 3: - message.totalPages = reader.int32(); + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); break; case 4: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 22: + if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) + message.localizedObjectAnnotations = []; + message.localizedObjectAnnotations.push($root.google.cloud.vision.v1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1.WebDetection.decode(reader, reader.uint32()); + break; + case 14: + message.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.decode(reader, reader.uint32()); + break; + case 9: message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); break; + case 21: + message.context = $root.google.cloud.vision.v1.ImageAnnotationContext.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -7991,161 +7663,357 @@ }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateFileResponse message. + * Verifies an AnnotateImageResponse message. * @function verify - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateFileResponse.verify = function verify(message) { + AnnotateImageResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1.InputConfig.verify(message.inputConfig); - if (error) - return "inputConfig." + error; - } - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1.AnnotateImageResponse.verify(message.responses[i]); + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.FaceAnnotation.verify(message.faceAnnotations[i]); if (error) - return "responses." + error; + return "faceAnnotations." + error; } } - if (message.totalPages != null && message.hasOwnProperty("totalPages")) - if (!$util.isInteger(message.totalPages)) - return "totalPages: integer expected"; - if (message.error != null && message.hasOwnProperty("error")) { - var error = $root.google.rpc.Status.verify(message.error); - if (error) - return "error." + error; + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.landmarkAnnotations[i]); + if (error) + return "landmarkAnnotations." + error; + } } - return null; - }; - - /** - * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.localizedObjectAnnotations != null && message.hasOwnProperty("localizedObjectAnnotations")) { + if (!Array.isArray(message.localizedObjectAnnotations)) + return "localizedObjectAnnotations: array expected"; + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.LocalizedObjectAnnotation.verify(message.localizedObjectAnnotations[i]); + if (error) + return "localizedObjectAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; + } + } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1.TextAnnotation.verify(message.fullTextAnnotation); + if (error) + return "fullTextAnnotation." + error; + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); + if (error) + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) { + var error = $root.google.cloud.vision.v1.ProductSearchResults.verify(message.productSearchResults); + if (error) + return "productSearchResults." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.context != null && message.hasOwnProperty("context")) { + var error = $root.google.cloud.vision.v1.ImageAnnotationContext.verify(message.context); + if (error) + return "context." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1.AnnotateImageResponse} AnnotateImageResponse */ - AnnotateFileResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AnnotateFileResponse) + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AnnotateImageResponse) return object; - var message = new $root.google.cloud.vision.v1.AnnotateFileResponse(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1.InputConfig.fromObject(object.inputConfig); + var message = new $root.google.cloud.vision.v1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } } - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1.AnnotateImageResponse.fromObject(object.responses[i]); + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); } } - if (object.totalPages != null) - message.totalPages = object.totalPages | 0; + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.logoAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.localizedObjectAnnotations) { + if (!Array.isArray(object.localizedObjectAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.localizedObjectAnnotations: array expected"); + message.localizedObjectAnnotations = []; + for (var i = 0; i < object.localizedObjectAnnotations.length; ++i) { + if (typeof object.localizedObjectAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.localizedObjectAnnotations: object expected"); + message.localizedObjectAnnotations[i] = $root.google.cloud.vision.v1.LocalizedObjectAnnotation.fromObject(object.localizedObjectAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1.EntityAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1.WebDetection.fromObject(object.webDetection); + } + if (object.productSearchResults != null) { + if (typeof object.productSearchResults !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.productSearchResults: object expected"); + message.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.fromObject(object.productSearchResults); + } if (object.error != null) { if (typeof object.error !== "object") - throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.error: object expected"); + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.error: object expected"); message.error = $root.google.rpc.Status.fromObject(object.error); } + if (object.context != null) { + if (typeof object.context !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateImageResponse.context: object expected"); + message.context = $root.google.cloud.vision.v1.ImageAnnotationContext.fromObject(object.context); + } return message; }; /** - * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1.AnnotateFileResponse} message AnnotateFileResponse + * @param {google.cloud.vision.v1.AnnotateImageResponse} message AnnotateImageResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateFileResponse.toObject = function toObject(message, options) { + AnnotateImageResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.responses = []; + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; + object.localizedObjectAnnotations = []; + } if (options.defaults) { - object.inputConfig = null; - object.totalPages = 0; + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; + object.productSearchResults = null; + object.context = null; } - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1.InputConfig.toObject(message.inputConfig, options); - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1.AnnotateImageResponse.toObject(message.responses[j], options); + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1.FaceAnnotation.toObject(message.faceAnnotations[j], options); } - if (message.totalPages != null && message.hasOwnProperty("totalPages")) - object.totalPages = message.totalPages; + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); if (message.error != null && message.hasOwnProperty("error")) object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1.WebDetection.toObject(message.webDetection, options); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + object.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.toObject(message.productSearchResults, options); + if (message.context != null && message.hasOwnProperty("context")) + object.context = $root.google.cloud.vision.v1.ImageAnnotationContext.toObject(message.context, options); + if (message.localizedObjectAnnotations && message.localizedObjectAnnotations.length) { + object.localizedObjectAnnotations = []; + for (var j = 0; j < message.localizedObjectAnnotations.length; ++j) + object.localizedObjectAnnotations[j] = $root.google.cloud.vision.v1.LocalizedObjectAnnotation.toObject(message.localizedObjectAnnotations[j], options); + } return object; }; /** - * Converts this AnnotateFileResponse to JSON. + * Converts this AnnotateImageResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateImageResponse * @instance * @returns {Object.} JSON object */ - AnnotateFileResponse.prototype.toJSON = function toJSON() { + AnnotateImageResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateFileResponse; + return AnnotateImageResponse; })(); - v1.BatchAnnotateFilesRequest = (function() { + v1.BatchAnnotateImagesRequest = (function() { /** - * Properties of a BatchAnnotateFilesRequest. + * Properties of a BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1 - * @interface IBatchAnnotateFilesRequest - * @property {Array.|null} [requests] BatchAnnotateFilesRequest requests - * @property {string|null} [parent] BatchAnnotateFilesRequest parent + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + * @property {string|null} [parent] BatchAnnotateImagesRequest parent */ /** - * Constructs a new BatchAnnotateFilesRequest. + * Constructs a new BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1 - * @classdesc Represents a BatchAnnotateFilesRequest. - * @implements IBatchAnnotateFilesRequest + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest * @constructor - * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest=} [properties] Properties to set */ - function BatchAnnotateFilesRequest(properties) { + function BatchAnnotateImagesRequest(properties) { this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -8154,90 +8022,90 @@ } /** - * BatchAnnotateFilesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @instance */ - BatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; /** - * BatchAnnotateFilesRequest parent. + * BatchAnnotateImagesRequest parent. * @member {string} parent - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @instance */ - BatchAnnotateFilesRequest.prototype.parent = ""; + BatchAnnotateImagesRequest.prototype.parent = ""; /** - * Creates a new BatchAnnotateFilesRequest instance using the specified properties. + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest instance + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance */ - BatchAnnotateFilesRequest.create = function create(properties) { - return new BatchAnnotateFilesRequest(properties); + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); }; /** - * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesRequest.encode = function encode(message, writer) { + BatchAnnotateImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.parent); + writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; /** - * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesRequest.decode = function decode(reader, length) { + BatchAnnotateImagesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateFilesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateImagesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.requests && message.requests.length)) message.requests = []; - message.requests.push($root.google.cloud.vision.v1.AnnotateFileRequest.decode(reader, reader.uint32())); + message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); break; - case 3: + case 4: message.parent = reader.string(); break; default: @@ -8249,37 +8117,37 @@ }; /** - * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateFilesRequest message. + * Verifies a BatchAnnotateImagesRequest message. * @function verify - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateFilesRequest.verify = function verify(message) { + BatchAnnotateImagesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.requests != null && message.hasOwnProperty("requests")) { if (!Array.isArray(message.requests)) return "requests: array expected"; for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1.AnnotateFileRequest.verify(message.requests[i]); + var error = $root.google.cloud.vision.v1.AnnotateImageRequest.verify(message.requests[i]); if (error) return "requests." + error; } @@ -8291,25 +8159,25 @@ }; /** - * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest */ - BatchAnnotateFilesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateFilesRequest) + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateImagesRequest) return object; - var message = new $root.google.cloud.vision.v1.BatchAnnotateFilesRequest(); + var message = new $root.google.cloud.vision.v1.BatchAnnotateImagesRequest(); if (object.requests) { if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesRequest.requests: array expected"); + throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesRequest.requests: array expected"); message.requests = []; for (var i = 0; i < object.requests.length; ++i) { if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1.AnnotateFileRequest.fromObject(object.requests[i]); + throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1.AnnotateImageRequest.fromObject(object.requests[i]); } } if (object.parent != null) @@ -8318,15 +8186,15 @@ }; /** - * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1.BatchAnnotateFilesRequest} message BatchAnnotateFilesRequest + * @param {google.cloud.vision.v1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateFilesRequest.toObject = function toObject(message, options) { + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -8337,7 +8205,7 @@ if (message.requests && message.requests.length) { object.requests = []; for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1.AnnotateFileRequest.toObject(message.requests[j], options); + object.requests[j] = $root.google.cloud.vision.v1.AnnotateImageRequest.toObject(message.requests[j], options); } if (message.parent != null && message.hasOwnProperty("parent")) object.parent = message.parent; @@ -8345,37 +8213,37 @@ }; /** - * Converts this BatchAnnotateFilesRequest to JSON. + * Converts this BatchAnnotateImagesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest * @instance * @returns {Object.} JSON object */ - BatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateFilesRequest; + return BatchAnnotateImagesRequest; })(); - v1.BatchAnnotateFilesResponse = (function() { + v1.BatchAnnotateImagesResponse = (function() { /** - * Properties of a BatchAnnotateFilesResponse. + * Properties of a BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1 - * @interface IBatchAnnotateFilesResponse - * @property {Array.|null} [responses] BatchAnnotateFilesResponse responses + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses */ /** - * Constructs a new BatchAnnotateFilesResponse. + * Constructs a new BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1 - * @classdesc Represents a BatchAnnotateFilesResponse. - * @implements IBatchAnnotateFilesResponse + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse * @constructor - * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse=} [properties] Properties to set */ - function BatchAnnotateFilesResponse(properties) { + function BatchAnnotateImagesResponse(properties) { this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -8384,78 +8252,78 @@ } /** - * BatchAnnotateFilesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @instance */ - BatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new BatchAnnotateFilesResponse instance using the specified properties. + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse instance + * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance */ - BatchAnnotateFilesResponse.create = function create(properties) { - return new BatchAnnotateFilesResponse(properties); + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); }; /** - * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesResponse.encode = function encode(message, writer) { + BatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1.AnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.google.cloud.vision.v1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateImagesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesResponse.decode = function decode(reader, length) { + BatchAnnotateImagesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateFilesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateImagesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.responses && message.responses.length)) message.responses = []; - message.responses.push($root.google.cloud.vision.v1.AnnotateFileResponse.decode(reader, reader.uint32())); + message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -8466,37 +8334,37 @@ }; /** - * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateFilesResponse message. + * Verifies a BatchAnnotateImagesResponse message. * @function verify - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateFilesResponse.verify = function verify(message) { + BatchAnnotateImagesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.responses != null && message.hasOwnProperty("responses")) { if (!Array.isArray(message.responses)) return "responses: array expected"; for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1.AnnotateFileResponse.verify(message.responses[i]); + var error = $root.google.cloud.vision.v1.AnnotateImageResponse.verify(message.responses[i]); if (error) return "responses." + error; } @@ -8505,40 +8373,40 @@ }; /** - * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse */ - BatchAnnotateFilesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateFilesResponse) + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateImagesResponse) return object; - var message = new $root.google.cloud.vision.v1.BatchAnnotateFilesResponse(); + var message = new $root.google.cloud.vision.v1.BatchAnnotateImagesResponse(); if (object.responses) { if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesResponse.responses: array expected"); + throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesResponse.responses: array expected"); message.responses = []; for (var i = 0; i < object.responses.length; ++i) { if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1.AnnotateFileResponse.fromObject(object.responses[i]); + throw TypeError(".google.cloud.vision.v1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1.AnnotateImageResponse.fromObject(object.responses[i]); } } return message; }; /** - * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1.BatchAnnotateFilesResponse} message BatchAnnotateFilesResponse + * @param {google.cloud.vision.v1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateFilesResponse.toObject = function toObject(message, options) { + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -8547,47 +8415,48 @@ if (message.responses && message.responses.length) { object.responses = []; for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1.AnnotateFileResponse.toObject(message.responses[j], options); + object.responses[j] = $root.google.cloud.vision.v1.AnnotateImageResponse.toObject(message.responses[j], options); } return object; }; /** - * Converts this BatchAnnotateFilesResponse to JSON. + * Converts this BatchAnnotateImagesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse * @instance * @returns {Object.} JSON object */ - BatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateFilesResponse; + return BatchAnnotateImagesResponse; })(); - v1.AsyncAnnotateFileRequest = (function() { + v1.AnnotateFileRequest = (function() { /** - * Properties of an AsyncAnnotateFileRequest. + * Properties of an AnnotateFileRequest. * @memberof google.cloud.vision.v1 - * @interface IAsyncAnnotateFileRequest - * @property {google.cloud.vision.v1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig - * @property {Array.|null} [features] AsyncAnnotateFileRequest features - * @property {google.cloud.vision.v1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext - * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig + * @interface IAnnotateFileRequest + * @property {google.cloud.vision.v1.IInputConfig|null} [inputConfig] AnnotateFileRequest inputConfig + * @property {Array.|null} [features] AnnotateFileRequest features + * @property {google.cloud.vision.v1.IImageContext|null} [imageContext] AnnotateFileRequest imageContext + * @property {Array.|null} [pages] AnnotateFileRequest pages */ /** - * Constructs a new AsyncAnnotateFileRequest. + * Constructs a new AnnotateFileRequest. * @memberof google.cloud.vision.v1 - * @classdesc Represents an AsyncAnnotateFileRequest. - * @implements IAsyncAnnotateFileRequest + * @classdesc Represents an AnnotateFileRequest. + * @implements IAnnotateFileRequest * @constructor - * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAnnotateFileRequest=} [properties] Properties to set */ - function AsyncAnnotateFileRequest(properties) { + function AnnotateFileRequest(properties) { this.features = []; + this.pages = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -8595,59 +8464,59 @@ } /** - * AsyncAnnotateFileRequest inputConfig. + * AnnotateFileRequest inputConfig. * @member {google.cloud.vision.v1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @instance */ - AsyncAnnotateFileRequest.prototype.inputConfig = null; + AnnotateFileRequest.prototype.inputConfig = null; /** - * AsyncAnnotateFileRequest features. + * AnnotateFileRequest features. * @member {Array.} features - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @instance */ - AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; + AnnotateFileRequest.prototype.features = $util.emptyArray; /** - * AsyncAnnotateFileRequest imageContext. + * AnnotateFileRequest imageContext. * @member {google.cloud.vision.v1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @instance */ - AsyncAnnotateFileRequest.prototype.imageContext = null; + AnnotateFileRequest.prototype.imageContext = null; /** - * AsyncAnnotateFileRequest outputConfig. - * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * AnnotateFileRequest pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @instance */ - AsyncAnnotateFileRequest.prototype.outputConfig = null; + AnnotateFileRequest.prototype.pages = $util.emptyArray; /** - * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * Creates a new AnnotateFileRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @static - * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance + * @param {google.cloud.vision.v1.IAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest instance */ - AsyncAnnotateFileRequest.create = function create(properties) { - return new AsyncAnnotateFileRequest(properties); + AnnotateFileRequest.create = function create(properties) { + return new AnnotateFileRequest(properties); }; /** - * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileRequest.verify|verify} messages. + * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @static - * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileRequest.encode = function encode(message, writer) { + AnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) @@ -8657,39 +8526,43 @@ $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.pages != null && message.pages.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.pages.length; ++i) + writer.int32(message.pages[i]); + writer.ldelim(); + } return writer; }; /** - * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileRequest.verify|verify} messages. + * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @static - * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * Decodes an AnnotateFileRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileRequest.decode = function decode(reader, length) { + AnnotateFileRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncAnnotateFileRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateFileRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -8705,7 +8578,14 @@ message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); break; case 4: - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + if (!(message.pages && message.pages.length)) + message.pages = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.pages.push(reader.int32()); + } else + message.pages.push(reader.int32()); break; default: reader.skipType(tag & 7); @@ -8716,30 +8596,30 @@ }; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + AnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncAnnotateFileRequest message. + * Verifies an AnnotateFileRequest message. * @function verify - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncAnnotateFileRequest.verify = function verify(message) { + AnnotateFileRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { @@ -8761,73 +8641,78 @@ if (error) return "imageContext." + error; } - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); - if (error) - return "outputConfig." + error; + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) + if (!$util.isInteger(message.pages[i])) + return "pages: integer[] expected"; } return null; }; /** - * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1.AnnotateFileRequest} AnnotateFileRequest */ - AsyncAnnotateFileRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AsyncAnnotateFileRequest) + AnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AnnotateFileRequest) return object; - var message = new $root.google.cloud.vision.v1.AsyncAnnotateFileRequest(); + var message = new $root.google.cloud.vision.v1.AnnotateFileRequest(); if (object.inputConfig != null) { if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.inputConfig: object expected"); + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.inputConfig: object expected"); message.inputConfig = $root.google.cloud.vision.v1.InputConfig.fromObject(object.inputConfig); } if (object.features) { if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.features: array expected"); + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.features: array expected"); message.features = []; for (var i = 0; i < object.features.length; ++i) { if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.features: object expected"); + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.features: object expected"); message.features[i] = $root.google.cloud.vision.v1.Feature.fromObject(object.features[i]); } } if (object.imageContext != null) { if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.imageContext: object expected"); + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.imageContext: object expected"); message.imageContext = $root.google.cloud.vision.v1.ImageContext.fromObject(object.imageContext); } - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1.AnnotateFileRequest.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) + message.pages[i] = object.pages[i] | 0; } return message; }; /** - * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @static - * @param {google.cloud.vision.v1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest + * @param {google.cloud.vision.v1.AnnotateFileRequest} message AnnotateFileRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncAnnotateFileRequest.toObject = function toObject(message, options) { + AnnotateFileRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) + if (options.arrays || options.defaults) { object.features = []; + object.pages = []; + } if (options.defaults) { object.inputConfig = null; object.imageContext = null; - object.outputConfig = null; } if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) object.inputConfig = $root.google.cloud.vision.v1.InputConfig.toObject(message.inputConfig, options); @@ -8838,43 +8723,50 @@ } if (message.imageContext != null && message.hasOwnProperty("imageContext")) object.imageContext = $root.google.cloud.vision.v1.ImageContext.toObject(message.imageContext, options); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = message.pages[j]; + } return object; }; /** - * Converts this AsyncAnnotateFileRequest to JSON. + * Converts this AnnotateFileRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1.AnnotateFileRequest * @instance * @returns {Object.} JSON object */ - AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { + AnnotateFileRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncAnnotateFileRequest; + return AnnotateFileRequest; })(); - v1.AsyncAnnotateFileResponse = (function() { + v1.AnnotateFileResponse = (function() { /** - * Properties of an AsyncAnnotateFileResponse. + * Properties of an AnnotateFileResponse. * @memberof google.cloud.vision.v1 - * @interface IAsyncAnnotateFileResponse - * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig + * @interface IAnnotateFileResponse + * @property {google.cloud.vision.v1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig + * @property {Array.|null} [responses] AnnotateFileResponse responses + * @property {number|null} [totalPages] AnnotateFileResponse totalPages + * @property {google.rpc.IStatus|null} [error] AnnotateFileResponse error */ /** - * Constructs a new AsyncAnnotateFileResponse. + * Constructs a new AnnotateFileResponse. * @memberof google.cloud.vision.v1 - * @classdesc Represents an AsyncAnnotateFileResponse. - * @implements IAsyncAnnotateFileResponse + * @classdesc Represents an AnnotateFileResponse. + * @implements IAnnotateFileResponse * @constructor - * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAnnotateFileResponse=} [properties] Properties to set */ - function AsyncAnnotateFileResponse(properties) { + function AnnotateFileResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -8882,75 +8774,117 @@ } /** - * AsyncAnnotateFileResponse outputConfig. - * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * AnnotateFileResponse inputConfig. + * @member {google.cloud.vision.v1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @instance */ - AsyncAnnotateFileResponse.prototype.outputConfig = null; + AnnotateFileResponse.prototype.inputConfig = null; /** - * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * AnnotateFileResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.responses = $util.emptyArray; + + /** + * AnnotateFileResponse totalPages. + * @member {number} totalPages + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.totalPages = 0; + + /** + * AnnotateFileResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.error = null; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance + * @param {google.cloud.vision.v1.IAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse instance */ - AsyncAnnotateFileResponse.create = function create(properties) { - return new AsyncAnnotateFileResponse(properties); + AnnotateFileResponse.create = function create(properties) { + return new AnnotateFileResponse(properties); }; /** - * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileResponse.verify|verify} messages. + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileResponse.encode = function encode(message, writer) { + AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileResponse.verify|verify} messages. + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AnnotateFileResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * Decodes an AnnotateFileResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileResponse.decode = function decode(reader, length) { + AnnotateFileResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncAnnotateFileResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AnnotateFileResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + case 3: + message.totalPages = reader.int32(); + break; + case 4: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -8961,114 +8895,161 @@ }; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncAnnotateFileResponse message. + * Verifies an AnnotateFileResponse message. * @function verify - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncAnnotateFileResponse.verify = function verify(message) { + AnnotateFileResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1.InputConfig.verify(message.inputConfig); if (error) - return "outputConfig." + error; + return "inputConfig." + error; + } + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + if (!$util.isInteger(message.totalPages)) + return "totalPages: integer expected"; + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; } return null; }; /** - * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1.AnnotateFileResponse} AnnotateFileResponse */ - AsyncAnnotateFileResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AsyncAnnotateFileResponse) + AnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AnnotateFileResponse) return object; - var message = new $root.google.cloud.vision.v1.AsyncAnnotateFileResponse(); - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileResponse.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); + var message = new $root.google.cloud.vision.v1.AnnotateFileResponse(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.fromObject(object.inputConfig); + } + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + if (object.totalPages != null) + message.totalPages = object.totalPages | 0; + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1.AnnotateFileResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); } return message; }; /** - * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse + * @param {google.cloud.vision.v1.AnnotateFileResponse} message AnnotateFileResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncAnnotateFileResponse.toObject = function toObject(message, options) { + AnnotateFileResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.outputConfig = null; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); + if (options.arrays || options.defaults) + object.responses = []; + if (options.defaults) { + object.inputConfig = null; + object.totalPages = 0; + object.error = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1.InputConfig.toObject(message.inputConfig, options); + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1.AnnotateImageResponse.toObject(message.responses[j], options); + } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + object.totalPages = message.totalPages; + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); return object; }; /** - * Converts this AsyncAnnotateFileResponse to JSON. + * Converts this AnnotateFileResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1.AnnotateFileResponse * @instance * @returns {Object.} JSON object */ - AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { + AnnotateFileResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncAnnotateFileResponse; + return AnnotateFileResponse; })(); - v1.AsyncBatchAnnotateImagesRequest = (function() { + v1.BatchAnnotateFilesRequest = (function() { /** - * Properties of an AsyncBatchAnnotateImagesRequest. + * Properties of a BatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1 - * @interface IAsyncBatchAnnotateImagesRequest - * @property {Array.|null} [requests] AsyncBatchAnnotateImagesRequest requests - * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesRequest outputConfig - * @property {string|null} [parent] AsyncBatchAnnotateImagesRequest parent + * @interface IBatchAnnotateFilesRequest + * @property {Array.|null} [requests] BatchAnnotateFilesRequest requests + * @property {string|null} [parent] BatchAnnotateFilesRequest parent */ /** - * Constructs a new AsyncBatchAnnotateImagesRequest. + * Constructs a new BatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1 - * @classdesc Represents an AsyncBatchAnnotateImagesRequest. - * @implements IAsyncBatchAnnotateImagesRequest + * @classdesc Represents a BatchAnnotateFilesRequest. + * @implements IBatchAnnotateFilesRequest * @constructor - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest=} [properties] Properties to set */ - function AsyncBatchAnnotateImagesRequest(properties) { + function BatchAnnotateFilesRequest(properties) { this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -9077,103 +9058,90 @@ } /** - * AsyncBatchAnnotateImagesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest - * @instance - */ - AsyncBatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; - - /** - * AsyncBatchAnnotateImagesRequest outputConfig. - * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * BatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @instance */ - AsyncBatchAnnotateImagesRequest.prototype.outputConfig = null; + BatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; /** - * AsyncBatchAnnotateImagesRequest parent. + * BatchAnnotateFilesRequest parent. * @member {string} parent - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @instance */ - AsyncBatchAnnotateImagesRequest.prototype.parent = ""; + BatchAnnotateFilesRequest.prototype.parent = ""; /** - * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. + * Creates a new BatchAnnotateFilesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest instance + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest instance */ - AsyncBatchAnnotateImagesRequest.create = function create(properties) { - return new AsyncBatchAnnotateImagesRequest(properties); + BatchAnnotateFilesRequest.create = function create(properties) { + return new BatchAnnotateFilesRequest(properties); }; /** - * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateImagesRequest.encode = function encode(message, writer) { + BatchAnnotateFilesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + $root.google.cloud.vision.v1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); + writer.uint32(/* id 3, wireType 2 =*/26).string(message.parent); return writer; }; /** - * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateImagesRequest.decode = function decode(reader, length) { + BatchAnnotateFilesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateFilesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.requests && message.requests.length)) message.requests = []; - message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); - break; - case 2: - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + message.requests.push($root.google.cloud.vision.v1.AnnotateFileRequest.decode(reader, reader.uint32())); break; - case 4: + case 3: message.parent = reader.string(); break; default: @@ -9185,46 +9153,41 @@ }; /** - * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateImagesRequest message. + * Verifies a BatchAnnotateFilesRequest message. * @function verify - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateImagesRequest.verify = function verify(message) { + BatchAnnotateFilesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.requests != null && message.hasOwnProperty("requests")) { if (!Array.isArray(message.requests)) return "requests: array expected"; for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1.AnnotateImageRequest.verify(message.requests[i]); + var error = $root.google.cloud.vision.v1.AnnotateFileRequest.verify(message.requests[i]); if (error) return "requests." + error; } } - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); - if (error) - return "outputConfig." + error; - } if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -9232,100 +9195,92 @@ }; /** - * Creates an AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest */ - AsyncBatchAnnotateImagesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest) + BatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateFilesRequest) return object; - var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest(); + var message = new $root.google.cloud.vision.v1.BatchAnnotateFilesRequest(); if (object.requests) { if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.requests: array expected"); + throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesRequest.requests: array expected"); message.requests = []; for (var i = 0; i < object.requests.length; ++i) { if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1.AnnotateImageRequest.fromObject(object.requests[i]); + throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1.AnnotateFileRequest.fromObject(object.requests[i]); } } - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); - } if (object.parent != null) message.parent = String(object.parent); return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest + * @param {google.cloud.vision.v1.BatchAnnotateFilesRequest} message BatchAnnotateFilesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateImagesRequest.toObject = function toObject(message, options) { + BatchAnnotateFilesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.requests = []; - if (options.defaults) { - object.outputConfig = null; + if (options.defaults) object.parent = ""; - } if (message.requests && message.requests.length) { object.requests = []; for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1.AnnotateImageRequest.toObject(message.requests[j], options); + object.requests[j] = $root.google.cloud.vision.v1.AnnotateFileRequest.toObject(message.requests[j], options); } - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); if (message.parent != null && message.hasOwnProperty("parent")) object.parent = message.parent; return object; }; /** - * Converts this AsyncBatchAnnotateImagesRequest to JSON. + * Converts this BatchAnnotateFilesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest * @instance * @returns {Object.} JSON object */ - AsyncBatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + BatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncBatchAnnotateImagesRequest; + return BatchAnnotateFilesRequest; })(); - v1.AsyncBatchAnnotateImagesResponse = (function() { + v1.BatchAnnotateFilesResponse = (function() { /** - * Properties of an AsyncBatchAnnotateImagesResponse. + * Properties of a BatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1 - * @interface IAsyncBatchAnnotateImagesResponse - * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesResponse outputConfig + * @interface IBatchAnnotateFilesResponse + * @property {Array.|null} [responses] BatchAnnotateFilesResponse responses */ /** - * Constructs a new AsyncBatchAnnotateImagesResponse. + * Constructs a new BatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1 - * @classdesc Represents an AsyncBatchAnnotateImagesResponse. - * @implements IAsyncBatchAnnotateImagesResponse + * @classdesc Represents a BatchAnnotateFilesResponse. + * @implements IBatchAnnotateFilesResponse * @constructor - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse=} [properties] Properties to set */ - function AsyncBatchAnnotateImagesResponse(properties) { + function BatchAnnotateFilesResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -9333,75 +9288,78 @@ } /** - * AsyncBatchAnnotateImagesResponse outputConfig. - * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * BatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @instance */ - AsyncBatchAnnotateImagesResponse.prototype.outputConfig = null; + BatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. + * Creates a new BatchAnnotateFilesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse instance + * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse instance */ - AsyncBatchAnnotateImagesResponse.create = function create(properties) { - return new AsyncBatchAnnotateImagesResponse(properties); + BatchAnnotateFilesResponse.create = function create(properties) { + return new BatchAnnotateFilesResponse(properties); }; /** - * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { + BatchAnnotateFilesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1.AnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BatchAnnotateFilesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateImagesResponse.decode = function decode(reader, length) { + BatchAnnotateFilesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BatchAnnotateFilesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AnnotateFileResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -9412,114 +9370,128 @@ }; /** - * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateImagesResponse message. + * Verifies a BatchAnnotateFilesResponse message. * @function verify - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateImagesResponse.verify = function verify(message) { + BatchAnnotateFilesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); - if (error) - return "outputConfig." + error; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1.AnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } } return null; }; /** - * Creates an AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse */ - AsyncBatchAnnotateImagesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse) + BatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.BatchAnnotateFilesResponse) return object; - var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse(); - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); + var message = new $root.google.cloud.vision.v1.BatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1.BatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1.AnnotateFileResponse.fromObject(object.responses[i]); + } } return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse + * @param {google.cloud.vision.v1.BatchAnnotateFilesResponse} message BatchAnnotateFilesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateImagesResponse.toObject = function toObject(message, options) { + BatchAnnotateFilesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.outputConfig = null; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1.AnnotateFileResponse.toObject(message.responses[j], options); + } return object; }; /** - * Converts this AsyncBatchAnnotateImagesResponse to JSON. + * Converts this BatchAnnotateFilesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse * @instance * @returns {Object.} JSON object */ - AsyncBatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + BatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncBatchAnnotateImagesResponse; + return BatchAnnotateFilesResponse; })(); - v1.AsyncBatchAnnotateFilesRequest = (function() { + v1.AsyncAnnotateFileRequest = (function() { /** - * Properties of an AsyncBatchAnnotateFilesRequest. + * Properties of an AsyncAnnotateFileRequest. * @memberof google.cloud.vision.v1 - * @interface IAsyncBatchAnnotateFilesRequest - * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests - * @property {string|null} [parent] AsyncBatchAnnotateFilesRequest parent + * @interface IAsyncAnnotateFileRequest + * @property {google.cloud.vision.v1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig + * @property {Array.|null} [features] AsyncAnnotateFileRequest features + * @property {google.cloud.vision.v1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext + * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig */ /** - * Constructs a new AsyncBatchAnnotateFilesRequest. + * Constructs a new AsyncAnnotateFileRequest. * @memberof google.cloud.vision.v1 - * @classdesc Represents an AsyncBatchAnnotateFilesRequest. - * @implements IAsyncBatchAnnotateFilesRequest + * @classdesc Represents an AsyncAnnotateFileRequest. + * @implements IAsyncAnnotateFileRequest * @constructor - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest=} [properties] Properties to set */ - function AsyncBatchAnnotateFilesRequest(properties) { - this.requests = []; + function AsyncAnnotateFileRequest(properties) { + this.features = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -9527,91 +9499,117 @@ } /** - * AsyncBatchAnnotateFilesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * AsyncAnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @instance */ - AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + AsyncAnnotateFileRequest.prototype.inputConfig = null; /** - * AsyncBatchAnnotateFilesRequest parent. - * @member {string} parent - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * AsyncAnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @instance */ - AsyncBatchAnnotateFilesRequest.prototype.parent = ""; + AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; /** - * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * AsyncAnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.imageContext = null; + + /** + * AsyncAnnotateFileRequest outputConfig. + * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance + * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance */ - AsyncBatchAnnotateFilesRequest.create = function create(properties) { - return new AsyncBatchAnnotateFilesRequest(properties); + AsyncAnnotateFileRequest.create = function create(properties) { + return new AsyncAnnotateFileRequest(properties); }; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { + AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { + AsyncAnnotateFileRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncAnnotateFileRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); break; case 4: - message.parent = reader.string(); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -9622,134 +9620,165 @@ }; /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateFilesRequest message. + * Verifies an AsyncAnnotateFileRequest message. * @function verify - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateFilesRequest.verify = function verify(message) { + AsyncAnnotateFileRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.verify(message.requests[i]); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1.Feature.verify(message.features[i]); if (error) - return "requests." + error; + return "features." + error; } } - if (message.parent != null && message.hasOwnProperty("parent")) - if (!$util.isString(message.parent)) - return "parent: string expected"; + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } return null; }; /** - * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest */ - AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest) + AsyncAnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncAnnotateFileRequest) return object; - var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + var message = new $root.google.cloud.vision.v1.AsyncAnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1.Feature.fromObject(object.features[i]); } } - if (object.parent != null) - message.parent = String(object.parent); + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1.ImageContext.fromObject(object.imageContext); + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); + } return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest + * @param {google.cloud.vision.v1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { + AsyncAnnotateFileRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.requests = []; - if (options.defaults) - object.parent = ""; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); + object.features = []; + if (options.defaults) { + object.inputConfig = null; + object.imageContext = null; + object.outputConfig = null; } - if (message.parent != null && message.hasOwnProperty("parent")) - object.parent = message.parent; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1.ImageContext.toObject(message.imageContext, options); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * Converts this AsyncAnnotateFileRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest * @instance * @returns {Object.} JSON object */ - AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncBatchAnnotateFilesRequest; + return AsyncAnnotateFileRequest; })(); - v1.AsyncBatchAnnotateFilesResponse = (function() { + v1.AsyncAnnotateFileResponse = (function() { /** - * Properties of an AsyncBatchAnnotateFilesResponse. + * Properties of an AsyncAnnotateFileResponse. * @memberof google.cloud.vision.v1 - * @interface IAsyncBatchAnnotateFilesResponse - * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses + * @interface IAsyncAnnotateFileResponse + * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig */ /** - * Constructs a new AsyncBatchAnnotateFilesResponse. + * Constructs a new AsyncAnnotateFileResponse. * @memberof google.cloud.vision.v1 - * @classdesc Represents an AsyncBatchAnnotateFilesResponse. - * @implements IAsyncBatchAnnotateFilesResponse + * @classdesc Represents an AsyncAnnotateFileResponse. + * @implements IAsyncAnnotateFileResponse * @constructor - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse=} [properties] Properties to set */ - function AsyncBatchAnnotateFilesResponse(properties) { - this.responses = []; + function AsyncAnnotateFileResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -9757,78 +9786,75 @@ } /** - * AsyncBatchAnnotateFilesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * AsyncAnnotateFileResponse outputConfig. + * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @instance */ - AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + AsyncAnnotateFileResponse.prototype.outputConfig = null; /** - * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance + * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance */ - AsyncBatchAnnotateFilesResponse.create = function create(properties) { - return new AsyncBatchAnnotateFilesResponse(properties); + AsyncAnnotateFileResponse.create = function create(properties) { + return new AsyncAnnotateFileResponse(properties); }; /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { + AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncAnnotateFileResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { + AsyncAnnotateFileResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncAnnotateFileResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -9839,126 +9865,115 @@ }; /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateFilesResponse message. + * Verifies an AsyncAnnotateFileResponse message. * @function verify - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateFilesResponse.verify = function verify(message) { + AsyncAnnotateFileResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.verify(message.responses[i]); - if (error) - return "responses." + error; - } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; } return null; }; /** - * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse */ - AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse) + AsyncAnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncAnnotateFileResponse) return object; - var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse(); - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); - } + var message = new $root.google.cloud.vision.v1.AsyncAnnotateFileResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncAnnotateFileResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); } return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse + * @param {google.cloud.vision.v1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { + AsyncAnnotateFileResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.responses = []; - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); - } + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * Converts this AsyncAnnotateFileResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse * @instance * @returns {Object.} JSON object */ - AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncBatchAnnotateFilesResponse; + return AsyncAnnotateFileResponse; })(); - v1.InputConfig = (function() { + v1.AsyncBatchAnnotateImagesRequest = (function() { /** - * Properties of an InputConfig. + * Properties of an AsyncBatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1 - * @interface IInputConfig - * @property {google.cloud.vision.v1.IGcsSource|null} [gcsSource] InputConfig gcsSource - * @property {Uint8Array|null} [content] InputConfig content - * @property {string|null} [mimeType] InputConfig mimeType + * @interface IAsyncBatchAnnotateImagesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateImagesRequest requests + * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesRequest outputConfig + * @property {string|null} [parent] AsyncBatchAnnotateImagesRequest parent */ /** - * Constructs a new InputConfig. + * Constructs a new AsyncBatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1 - * @classdesc Represents an InputConfig. - * @implements IInputConfig + * @classdesc Represents an AsyncBatchAnnotateImagesRequest. + * @implements IAsyncBatchAnnotateImagesRequest * @constructor - * @param {google.cloud.vision.v1.IInputConfig=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set */ - function InputConfig(properties) { + function AsyncBatchAnnotateImagesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -9966,101 +9981,104 @@ } /** - * InputConfig gcsSource. - * @member {google.cloud.vision.v1.IGcsSource|null|undefined} gcsSource - * @memberof google.cloud.vision.v1.InputConfig + * AsyncBatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @instance */ - InputConfig.prototype.gcsSource = null; + AsyncBatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; /** - * InputConfig content. - * @member {Uint8Array} content - * @memberof google.cloud.vision.v1.InputConfig + * AsyncBatchAnnotateImagesRequest outputConfig. + * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @instance */ - InputConfig.prototype.content = $util.newBuffer([]); + AsyncBatchAnnotateImagesRequest.prototype.outputConfig = null; /** - * InputConfig mimeType. - * @member {string} mimeType - * @memberof google.cloud.vision.v1.InputConfig + * AsyncBatchAnnotateImagesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @instance */ - InputConfig.prototype.mimeType = ""; + AsyncBatchAnnotateImagesRequest.prototype.parent = ""; /** - * Creates a new InputConfig instance using the specified properties. + * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.InputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1.IInputConfig=} [properties] Properties to set - * @returns {google.cloud.vision.v1.InputConfig} InputConfig instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest instance */ - InputConfig.create = function create(properties) { - return new InputConfig(properties); + AsyncBatchAnnotateImagesRequest.create = function create(properties) { + return new AsyncBatchAnnotateImagesRequest(properties); }; /** - * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1.InputConfig.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.InputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1.IInputConfig} message InputConfig message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - InputConfig.encode = function encode(message, writer) { + AsyncBatchAnnotateImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) - $root.google.cloud.vision.v1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); - if (message.content != null && message.hasOwnProperty("content")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; /** - * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.InputConfig.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.InputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1.IInputConfig} message InputConfig message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - InputConfig.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an InputConfig message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.InputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.InputConfig} InputConfig + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InputConfig.decode = function decode(reader, length) { + AsyncBatchAnnotateImagesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.InputConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsSource = $root.google.cloud.vision.v1.GcsSource.decode(reader, reader.uint32()); - break; - case 3: - message.content = reader.bytes(); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); break; case 2: - message.mimeType = reader.string(); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + break; + case 4: + message.parent = reader.string(); break; default: reader.skipType(tag & 7); @@ -10071,139 +10089,147 @@ }; /** - * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.InputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.InputConfig} InputConfig + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InputConfig.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an InputConfig message. + * Verifies an AsyncBatchAnnotateImagesRequest message. * @function verify - * @memberof google.cloud.vision.v1.InputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InputConfig.verify = function verify(message) { + AsyncBatchAnnotateImagesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { - var error = $root.google.cloud.vision.v1.GcsSource.verify(message.gcsSource); + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); if (error) - return "gcsSource." + error; + return "outputConfig." + error; } - if (message.content != null && message.hasOwnProperty("content")) - if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) - return "content: buffer expected"; - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - if (!$util.isString(message.mimeType)) - return "mimeType: string expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; return null; }; /** - * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.InputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.InputConfig} InputConfig + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest */ - InputConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.InputConfig) + AsyncBatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest) return object; - var message = new $root.google.cloud.vision.v1.InputConfig(); - if (object.gcsSource != null) { - if (typeof object.gcsSource !== "object") - throw TypeError(".google.cloud.vision.v1.InputConfig.gcsSource: object expected"); - message.gcsSource = $root.google.cloud.vision.v1.GcsSource.fromObject(object.gcsSource); + var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1.AnnotateImageRequest.fromObject(object.requests[i]); + } } - if (object.content != null) - if (typeof object.content === "string") - $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) - message.content = object.content; - if (object.mimeType != null) - message.mimeType = String(object.mimeType); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); + } + if (object.parent != null) + message.parent = String(object.parent); return message; }; /** - * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.InputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1.InputConfig} message InputConfig + * @param {google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - InputConfig.toObject = function toObject(message, options) { + AsyncBatchAnnotateImagesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.requests = []; if (options.defaults) { - object.gcsSource = null; - object.mimeType = ""; - if (options.bytes === String) - object.content = ""; - else { - object.content = []; - if (options.bytes !== Array) - object.content = $util.newBuffer(object.content); - } + object.outputConfig = null; + object.parent = ""; } - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) - object.gcsSource = $root.google.cloud.vision.v1.GcsSource.toObject(message.gcsSource, options); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - object.mimeType = message.mimeType; - if (message.content != null && message.hasOwnProperty("content")) - object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1.AnnotateImageRequest.toObject(message.requests[j], options); + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; return object; }; /** - * Converts this InputConfig to JSON. + * Converts this AsyncBatchAnnotateImagesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.InputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest * @instance * @returns {Object.} JSON object */ - InputConfig.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return InputConfig; + return AsyncBatchAnnotateImagesRequest; })(); - v1.OutputConfig = (function() { + v1.AsyncBatchAnnotateImagesResponse = (function() { /** - * Properties of an OutputConfig. + * Properties of an AsyncBatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1 - * @interface IOutputConfig - * @property {google.cloud.vision.v1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination - * @property {number|null} [batchSize] OutputConfig batchSize + * @interface IAsyncBatchAnnotateImagesResponse + * @property {google.cloud.vision.v1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesResponse outputConfig */ /** - * Constructs a new OutputConfig. + * Constructs a new AsyncBatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1 - * @classdesc Represents an OutputConfig. - * @implements IOutputConfig + * @classdesc Represents an AsyncBatchAnnotateImagesResponse. + * @implements IAsyncBatchAnnotateImagesResponse * @constructor - * @param {google.cloud.vision.v1.IOutputConfig=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set */ - function OutputConfig(properties) { + function AsyncBatchAnnotateImagesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -10211,88 +10237,75 @@ } /** - * OutputConfig gcsDestination. - * @member {google.cloud.vision.v1.IGcsDestination|null|undefined} gcsDestination - * @memberof google.cloud.vision.v1.OutputConfig - * @instance - */ - OutputConfig.prototype.gcsDestination = null; - - /** - * OutputConfig batchSize. - * @member {number} batchSize - * @memberof google.cloud.vision.v1.OutputConfig + * AsyncBatchAnnotateImagesResponse outputConfig. + * @member {google.cloud.vision.v1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @instance */ - OutputConfig.prototype.batchSize = 0; + AsyncBatchAnnotateImagesResponse.prototype.outputConfig = null; /** - * Creates a new OutputConfig instance using the specified properties. + * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.OutputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1.IOutputConfig=} [properties] Properties to set - * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse instance */ - OutputConfig.create = function create(properties) { - return new OutputConfig(properties); + AsyncBatchAnnotateImagesResponse.create = function create(properties) { + return new AsyncBatchAnnotateImagesResponse(properties); }; /** - * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1.OutputConfig.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.OutputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OutputConfig.encode = function encode(message, writer) { + AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) - $root.google.cloud.vision.v1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.OutputConfig.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.OutputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OutputConfig message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.OutputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OutputConfig.decode = function decode(reader, length) { + AsyncBatchAnnotateImagesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.OutputConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.decode(reader, reader.uint32()); - break; - case 2: - message.batchSize = reader.int32(); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -10303,121 +10316,114 @@ }; /** - * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.OutputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OutputConfig.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OutputConfig message. + * Verifies an AsyncBatchAnnotateImagesResponse message. * @function verify - * @memberof google.cloud.vision.v1.OutputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OutputConfig.verify = function verify(message) { + AsyncBatchAnnotateImagesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { - var error = $root.google.cloud.vision.v1.GcsDestination.verify(message.gcsDestination); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1.OutputConfig.verify(message.outputConfig); if (error) - return "gcsDestination." + error; + return "outputConfig." + error; } - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - if (!$util.isInteger(message.batchSize)) - return "batchSize: integer expected"; return null; }; /** - * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.OutputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse */ - OutputConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.OutputConfig) + AsyncBatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse) return object; - var message = new $root.google.cloud.vision.v1.OutputConfig(); - if (object.gcsDestination != null) { - if (typeof object.gcsDestination !== "object") - throw TypeError(".google.cloud.vision.v1.OutputConfig.gcsDestination: object expected"); - message.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.fromObject(object.gcsDestination); + var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.fromObject(object.outputConfig); } - if (object.batchSize != null) - message.batchSize = object.batchSize | 0; return message; }; /** - * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.OutputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1.OutputConfig} message OutputConfig + * @param {google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OutputConfig.toObject = function toObject(message, options) { + AsyncBatchAnnotateImagesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.gcsDestination = null; - object.batchSize = 0; - } - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) - object.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.toObject(message.gcsDestination, options); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - object.batchSize = message.batchSize; + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this OutputConfig to JSON. + * Converts this AsyncBatchAnnotateImagesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.OutputConfig + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse * @instance * @returns {Object.} JSON object */ - OutputConfig.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return OutputConfig; + return AsyncBatchAnnotateImagesResponse; })(); - v1.GcsSource = (function() { + v1.AsyncBatchAnnotateFilesRequest = (function() { /** - * Properties of a GcsSource. + * Properties of an AsyncBatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1 - * @interface IGcsSource - * @property {string|null} [uri] GcsSource uri + * @interface IAsyncBatchAnnotateFilesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests + * @property {string|null} [parent] AsyncBatchAnnotateFilesRequest parent */ /** - * Constructs a new GcsSource. + * Constructs a new AsyncBatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1 - * @classdesc Represents a GcsSource. - * @implements IGcsSource + * @classdesc Represents an AsyncBatchAnnotateFilesRequest. + * @implements IAsyncBatchAnnotateFilesRequest * @constructor - * @param {google.cloud.vision.v1.IGcsSource=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set */ - function GcsSource(properties) { + function AsyncBatchAnnotateFilesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -10425,75 +10431,91 @@ } /** - * GcsSource uri. - * @member {string} uri - * @memberof google.cloud.vision.v1.GcsSource + * AsyncBatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @instance */ - GcsSource.prototype.uri = ""; + AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new GcsSource instance using the specified properties. + * AsyncBatchAnnotateFilesRequest parent. + * @member {string} parent + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @instance + */ + AsyncBatchAnnotateFilesRequest.prototype.parent = ""; + + /** + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.GcsSource + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1.IGcsSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1.GcsSource} GcsSource instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance */ - GcsSource.create = function create(properties) { - return new GcsSource(properties); + AsyncBatchAnnotateFilesRequest.create = function create(properties) { + return new AsyncBatchAnnotateFilesRequest(properties); }; /** - * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1.GcsSource.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.GcsSource + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1.IGcsSource} message GcsSource message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsSource.encode = function encode(message, writer) { + AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.parent != null && message.hasOwnProperty("parent")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; /** - * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GcsSource.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.GcsSource + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1.IGcsSource} message GcsSource message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsSource.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GcsSource message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.GcsSource + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsSource.decode = function decode(reader, length) { + AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.GcsSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + break; + case 4: + message.parent = reader.string(); break; default: reader.skipType(tag & 7); @@ -10504,107 +10526,134 @@ }; /** - * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.GcsSource + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsSource.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GcsSource message. + * Verifies an AsyncBatchAnnotateFilesRequest message. * @function verify - * @memberof google.cloud.vision.v1.GcsSource + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsSource.verify = function verify(message) { + AsyncBatchAnnotateFilesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; return null; }; /** - * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.GcsSource + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest */ - GcsSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.GcsSource) + AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest) return object; - var message = new $root.google.cloud.vision.v1.GcsSource(); - if (object.uri != null) - message.uri = String(object.uri); + var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + } + } + if (object.parent != null) + message.parent = String(object.parent); return message; }; /** - * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.GcsSource + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1.GcsSource} message GcsSource + * @param {google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GcsSource.toObject = function toObject(message, options) { + AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.requests = []; if (options.defaults) - object.uri = ""; - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; + object.parent = ""; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; return object; }; /** - * Converts this GcsSource to JSON. + * Converts this AsyncBatchAnnotateFilesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.GcsSource + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest * @instance * @returns {Object.} JSON object */ - GcsSource.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GcsSource; + return AsyncBatchAnnotateFilesRequest; })(); - v1.GcsDestination = (function() { + v1.AsyncBatchAnnotateFilesResponse = (function() { /** - * Properties of a GcsDestination. + * Properties of an AsyncBatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1 - * @interface IGcsDestination - * @property {string|null} [uri] GcsDestination uri + * @interface IAsyncBatchAnnotateFilesResponse + * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses */ /** - * Constructs a new GcsDestination. + * Constructs a new AsyncBatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1 - * @classdesc Represents a GcsDestination. - * @implements IGcsDestination + * @classdesc Represents an AsyncBatchAnnotateFilesResponse. + * @implements IAsyncBatchAnnotateFilesResponse * @constructor - * @param {google.cloud.vision.v1.IGcsDestination=} [properties] Properties to set + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set */ - function GcsDestination(properties) { + function AsyncBatchAnnotateFilesResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -10612,75 +10661,78 @@ } /** - * GcsDestination uri. - * @member {string} uri - * @memberof google.cloud.vision.v1.GcsDestination + * AsyncBatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @instance */ - GcsDestination.prototype.uri = ""; + AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new GcsDestination instance using the specified properties. + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.GcsDestination + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1.IGcsDestination=} [properties] Properties to set - * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination instance + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance */ - GcsDestination.create = function create(properties) { - return new GcsDestination(properties); + AsyncBatchAnnotateFilesResponse.create = function create(properties) { + return new AsyncBatchAnnotateFilesResponse(properties); }; /** - * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1.GcsDestination.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.GcsDestination + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsDestination.encode = function encode(message, writer) { + AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GcsDestination.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.GcsDestination + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GcsDestination message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.GcsDestination + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsDestination.decode = function decode(reader, length) { + AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.GcsDestination(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -10691,109 +10743,126 @@ }; /** - * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.GcsDestination + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsDestination.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GcsDestination message. + * Verifies an AsyncBatchAnnotateFilesResponse message. * @function verify - * @memberof google.cloud.vision.v1.GcsDestination + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsDestination.verify = function verify(message) { + AsyncBatchAnnotateFilesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } return null; }; /** - * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.GcsDestination + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse */ - GcsDestination.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.GcsDestination) + AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse) return object; - var message = new $root.google.cloud.vision.v1.GcsDestination(); - if (object.uri != null) - message.uri = String(object.uri); + var message = new $root.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + } + } return message; }; /** - * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.GcsDestination + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1.GcsDestination} message GcsDestination + * @param {google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GcsDestination.toObject = function toObject(message, options) { + AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.uri = ""; - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); + } return object; }; /** - * Converts this GcsDestination to JSON. + * Converts this AsyncBatchAnnotateFilesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.GcsDestination + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse * @instance * @returns {Object.} JSON object */ - GcsDestination.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GcsDestination; + return AsyncBatchAnnotateFilesResponse; })(); - v1.OperationMetadata = (function() { + v1.InputConfig = (function() { /** - * Properties of an OperationMetadata. + * Properties of an InputConfig. * @memberof google.cloud.vision.v1 - * @interface IOperationMetadata - * @property {google.cloud.vision.v1.OperationMetadata.State|null} [state] OperationMetadata state - * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime - * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime + * @interface IInputConfig + * @property {google.cloud.vision.v1.IGcsSource|null} [gcsSource] InputConfig gcsSource + * @property {Uint8Array|null} [content] InputConfig content + * @property {string|null} [mimeType] InputConfig mimeType */ /** - * Constructs a new OperationMetadata. + * Constructs a new InputConfig. * @memberof google.cloud.vision.v1 - * @classdesc Represents an OperationMetadata. - * @implements IOperationMetadata + * @classdesc Represents an InputConfig. + * @implements IInputConfig * @constructor - * @param {google.cloud.vision.v1.IOperationMetadata=} [properties] Properties to set + * @param {google.cloud.vision.v1.IInputConfig=} [properties] Properties to set */ - function OperationMetadata(properties) { + function InputConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -10801,101 +10870,101 @@ } /** - * OperationMetadata state. - * @member {google.cloud.vision.v1.OperationMetadata.State} state - * @memberof google.cloud.vision.v1.OperationMetadata + * InputConfig gcsSource. + * @member {google.cloud.vision.v1.IGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1.InputConfig * @instance */ - OperationMetadata.prototype.state = 0; + InputConfig.prototype.gcsSource = null; /** - * OperationMetadata createTime. - * @member {google.protobuf.ITimestamp|null|undefined} createTime - * @memberof google.cloud.vision.v1.OperationMetadata + * InputConfig content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1.InputConfig * @instance */ - OperationMetadata.prototype.createTime = null; + InputConfig.prototype.content = $util.newBuffer([]); /** - * OperationMetadata updateTime. - * @member {google.protobuf.ITimestamp|null|undefined} updateTime - * @memberof google.cloud.vision.v1.OperationMetadata + * InputConfig mimeType. + * @member {string} mimeType + * @memberof google.cloud.vision.v1.InputConfig * @instance */ - OperationMetadata.prototype.updateTime = null; + InputConfig.prototype.mimeType = ""; /** - * Creates a new OperationMetadata instance using the specified properties. + * Creates a new InputConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.OperationMetadata + * @memberof google.cloud.vision.v1.InputConfig * @static - * @param {google.cloud.vision.v1.IOperationMetadata=} [properties] Properties to set - * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata instance + * @param {google.cloud.vision.v1.IInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1.InputConfig} InputConfig instance */ - OperationMetadata.create = function create(properties) { - return new OperationMetadata(properties); + InputConfig.create = function create(properties) { + return new InputConfig(properties); }; /** - * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1.OperationMetadata.verify|verify} messages. + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1.InputConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.OperationMetadata + * @memberof google.cloud.vision.v1.InputConfig * @static - * @param {google.cloud.vision.v1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1.IInputConfig} message InputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OperationMetadata.encode = function encode(message, writer) { + InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) - $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); return writer; }; /** - * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1.OperationMetadata.verify|verify} messages. + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.InputConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.OperationMetadata + * @memberof google.cloud.vision.v1.InputConfig * @static - * @param {google.cloud.vision.v1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1.IInputConfig} message InputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + InputConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OperationMetadata message from the specified reader or buffer. + * Decodes an InputConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.OperationMetadata + * @memberof google.cloud.vision.v1.InputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1.InputConfig} InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationMetadata.decode = function decode(reader, length) { + InputConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.OperationMetadata(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.InputConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.state = reader.int32(); + message.gcsSource = $root.google.cloud.vision.v1.GcsSource.decode(reader, reader.uint32()); break; - case 5: - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + case 3: + message.content = reader.bytes(); break; - case 6: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + case 2: + message.mimeType = reader.string(); break; default: reader.skipType(tag & 7); @@ -10906,183 +10975,139 @@ }; /** - * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * Decodes an InputConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.OperationMetadata + * @memberof google.cloud.vision.v1.InputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1.InputConfig} InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + InputConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OperationMetadata message. + * Verifies an InputConfig message. * @function verify - * @memberof google.cloud.vision.v1.OperationMetadata + * @memberof google.cloud.vision.v1.InputConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationMetadata.verify = function verify(message) { + InputConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; - } - if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); - if (error) - return "createTime." + error; - } - if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + var error = $root.google.cloud.vision.v1.GcsSource.verify(message.gcsSource); if (error) - return "updateTime." + error; + return "gcsSource." + error; } + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (!$util.isString(message.mimeType)) + return "mimeType: string expected"; return null; }; /** - * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.OperationMetadata + * @memberof google.cloud.vision.v1.InputConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1.InputConfig} InputConfig */ - OperationMetadata.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.OperationMetadata) + InputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.InputConfig) return object; - var message = new $root.google.cloud.vision.v1.OperationMetadata(); - switch (object.state) { - case "STATE_UNSPECIFIED": - case 0: - message.state = 0; - break; - case "CREATED": - case 1: - message.state = 1; - break; - case "RUNNING": - case 2: - message.state = 2; - break; - case "DONE": - case 3: - message.state = 3; - break; - case "CANCELLED": - case 4: - message.state = 4; - break; - } - if (object.createTime != null) { - if (typeof object.createTime !== "object") - throw TypeError(".google.cloud.vision.v1.OperationMetadata.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); - } - if (object.updateTime != null) { - if (typeof object.updateTime !== "object") - throw TypeError(".google.cloud.vision.v1.OperationMetadata.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + var message = new $root.google.cloud.vision.v1.InputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1.InputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1.GcsSource.fromObject(object.gcsSource); } + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.mimeType != null) + message.mimeType = String(object.mimeType); return message; }; /** - * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.OperationMetadata + * @memberof google.cloud.vision.v1.InputConfig * @static - * @param {google.cloud.vision.v1.OperationMetadata} message OperationMetadata + * @param {google.cloud.vision.v1.InputConfig} message InputConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OperationMetadata.toObject = function toObject(message, options) { + InputConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; - object.createTime = null; - object.updateTime = null; + object.gcsSource = null; + object.mimeType = ""; + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1.OperationMetadata.State[message.state] : message.state; - if (message.createTime != null && message.hasOwnProperty("createTime")) - object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + object.gcsSource = $root.google.cloud.vision.v1.GcsSource.toObject(message.gcsSource, options); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + object.mimeType = message.mimeType; + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; return object; }; /** - * Converts this OperationMetadata to JSON. + * Converts this InputConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.OperationMetadata + * @memberof google.cloud.vision.v1.InputConfig * @instance * @returns {Object.} JSON object */ - OperationMetadata.prototype.toJSON = function toJSON() { + InputConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * State enum. - * @name google.cloud.vision.v1.OperationMetadata.State - * @enum {string} - * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value - * @property {number} CREATED=1 CREATED value - * @property {number} RUNNING=2 RUNNING value - * @property {number} DONE=3 DONE value - * @property {number} CANCELLED=4 CANCELLED value - */ - OperationMetadata.State = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; - values[valuesById[1] = "CREATED"] = 1; - values[valuesById[2] = "RUNNING"] = 2; - values[valuesById[3] = "DONE"] = 3; - values[valuesById[4] = "CANCELLED"] = 4; - return values; - })(); - - return OperationMetadata; + return InputConfig; })(); - v1.Vertex = (function() { + v1.OutputConfig = (function() { /** - * Properties of a Vertex. + * Properties of an OutputConfig. * @memberof google.cloud.vision.v1 - * @interface IVertex - * @property {number|null} [x] Vertex x - * @property {number|null} [y] Vertex y + * @interface IOutputConfig + * @property {google.cloud.vision.v1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination + * @property {number|null} [batchSize] OutputConfig batchSize */ /** - * Constructs a new Vertex. + * Constructs a new OutputConfig. * @memberof google.cloud.vision.v1 - * @classdesc Represents a Vertex. - * @implements IVertex + * @classdesc Represents an OutputConfig. + * @implements IOutputConfig * @constructor - * @param {google.cloud.vision.v1.IVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1.IOutputConfig=} [properties] Properties to set */ - function Vertex(properties) { + function OutputConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11090,88 +11115,88 @@ } /** - * Vertex x. - * @member {number} x - * @memberof google.cloud.vision.v1.Vertex + * OutputConfig gcsDestination. + * @member {google.cloud.vision.v1.IGcsDestination|null|undefined} gcsDestination + * @memberof google.cloud.vision.v1.OutputConfig * @instance */ - Vertex.prototype.x = 0; + OutputConfig.prototype.gcsDestination = null; /** - * Vertex y. - * @member {number} y - * @memberof google.cloud.vision.v1.Vertex + * OutputConfig batchSize. + * @member {number} batchSize + * @memberof google.cloud.vision.v1.OutputConfig * @instance */ - Vertex.prototype.y = 0; + OutputConfig.prototype.batchSize = 0; /** - * Creates a new Vertex instance using the specified properties. + * Creates a new OutputConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.Vertex + * @memberof google.cloud.vision.v1.OutputConfig * @static - * @param {google.cloud.vision.v1.IVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1.Vertex} Vertex instance + * @param {google.cloud.vision.v1.IOutputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig instance */ - Vertex.create = function create(properties) { - return new Vertex(properties); + OutputConfig.create = function create(properties) { + return new OutputConfig(properties); }; /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1.OutputConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.Vertex + * @memberof google.cloud.vision.v1.OutputConfig * @static - * @param {google.cloud.vision.v1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1.IOutputConfig} message OutputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encode = function encode(message, writer) { + OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + $root.google.cloud.vision.v1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Vertex.verify|verify} messages. + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1.OutputConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.Vertex + * @memberof google.cloud.vision.v1.OutputConfig * @static - * @param {google.cloud.vision.v1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1.IOutputConfig} message OutputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encodeDelimited = function encodeDelimited(message, writer) { + OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Vertex message from the specified reader or buffer. + * Decodes an OutputConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.Vertex + * @memberof google.cloud.vision.v1.OutputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.Vertex} Vertex + * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decode = function decode(reader, length) { + OutputConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Vertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.OutputConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.int32(); + message.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.decode(reader, reader.uint32()); break; case 2: - message.y = reader.int32(); + message.batchSize = reader.int32(); break; default: reader.skipType(tag & 7); @@ -11182,117 +11207,121 @@ }; /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.Vertex + * @memberof google.cloud.vision.v1.OutputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.Vertex} Vertex + * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decodeDelimited = function decodeDelimited(reader) { + OutputConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Vertex message. + * Verifies an OutputConfig message. * @function verify - * @memberof google.cloud.vision.v1.Vertex + * @memberof google.cloud.vision.v1.OutputConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Vertex.verify = function verify(message) { + OutputConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (!$util.isInteger(message.x)) - return "x: integer expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (!$util.isInteger(message.y)) - return "y: integer expected"; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { + var error = $root.google.cloud.vision.v1.GcsDestination.verify(message.gcsDestination); + if (error) + return "gcsDestination." + error; + } + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (!$util.isInteger(message.batchSize)) + return "batchSize: integer expected"; return null; }; /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.Vertex + * @memberof google.cloud.vision.v1.OutputConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.Vertex} Vertex + * @returns {google.cloud.vision.v1.OutputConfig} OutputConfig */ - Vertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.Vertex) + OutputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.OutputConfig) return object; - var message = new $root.google.cloud.vision.v1.Vertex(); - if (object.x != null) - message.x = object.x | 0; - if (object.y != null) - message.y = object.y | 0; + var message = new $root.google.cloud.vision.v1.OutputConfig(); + if (object.gcsDestination != null) { + if (typeof object.gcsDestination !== "object") + throw TypeError(".google.cloud.vision.v1.OutputConfig.gcsDestination: object expected"); + message.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.fromObject(object.gcsDestination); + } + if (object.batchSize != null) + message.batchSize = object.batchSize | 0; return message; }; /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.Vertex + * @memberof google.cloud.vision.v1.OutputConfig * @static - * @param {google.cloud.vision.v1.Vertex} message Vertex + * @param {google.cloud.vision.v1.OutputConfig} message OutputConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Vertex.toObject = function toObject(message, options) { + OutputConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.x = 0; - object.y = 0; + object.gcsDestination = null; + object.batchSize = 0; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = message.y; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + object.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.toObject(message.gcsDestination, options); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + object.batchSize = message.batchSize; return object; }; /** - * Converts this Vertex to JSON. + * Converts this OutputConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.Vertex + * @memberof google.cloud.vision.v1.OutputConfig * @instance * @returns {Object.} JSON object */ - Vertex.prototype.toJSON = function toJSON() { + OutputConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Vertex; + return OutputConfig; })(); - v1.NormalizedVertex = (function() { + v1.GcsSource = (function() { /** - * Properties of a NormalizedVertex. + * Properties of a GcsSource. * @memberof google.cloud.vision.v1 - * @interface INormalizedVertex - * @property {number|null} [x] NormalizedVertex x - * @property {number|null} [y] NormalizedVertex y + * @interface IGcsSource + * @property {string|null} [uri] GcsSource uri */ /** - * Constructs a new NormalizedVertex. + * Constructs a new GcsSource. * @memberof google.cloud.vision.v1 - * @classdesc Represents a NormalizedVertex. - * @implements INormalizedVertex + * @classdesc Represents a GcsSource. + * @implements IGcsSource * @constructor - * @param {google.cloud.vision.v1.INormalizedVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1.IGcsSource=} [properties] Properties to set */ - function NormalizedVertex(properties) { + function GcsSource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11300,88 +11329,75 @@ } /** - * NormalizedVertex x. - * @member {number} x - * @memberof google.cloud.vision.v1.NormalizedVertex - * @instance - */ - NormalizedVertex.prototype.x = 0; - - /** - * NormalizedVertex y. - * @member {number} y - * @memberof google.cloud.vision.v1.NormalizedVertex + * GcsSource uri. + * @member {string} uri + * @memberof google.cloud.vision.v1.GcsSource * @instance */ - NormalizedVertex.prototype.y = 0; + GcsSource.prototype.uri = ""; /** - * Creates a new NormalizedVertex instance using the specified properties. + * Creates a new GcsSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.NormalizedVertex + * @memberof google.cloud.vision.v1.GcsSource * @static - * @param {google.cloud.vision.v1.INormalizedVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex instance + * @param {google.cloud.vision.v1.IGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1.GcsSource} GcsSource instance */ - NormalizedVertex.create = function create(properties) { - return new NormalizedVertex(properties); + GcsSource.create = function create(properties) { + return new GcsSource(properties); }; /** - * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1.GcsSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.NormalizedVertex + * @memberof google.cloud.vision.v1.GcsSource * @static - * @param {google.cloud.vision.v1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1.IGcsSource} message GcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encode = function encode(message, writer) { + GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; /** - * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1.NormalizedVertex.verify|verify} messages. + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GcsSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.NormalizedVertex + * @memberof google.cloud.vision.v1.GcsSource * @static - * @param {google.cloud.vision.v1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1.IGcsSource} message GcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { + GcsSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer. + * Decodes a GcsSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.NormalizedVertex + * @memberof google.cloud.vision.v1.GcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1.GcsSource} GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decode = function decode(reader, length) { + GcsSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.NormalizedVertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.GcsSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); + message.uri = reader.string(); break; default: reader.skipType(tag & 7); @@ -11392,119 +11408,107 @@ }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * Decodes a GcsSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.NormalizedVertex + * @memberof google.cloud.vision.v1.GcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1.GcsSource} GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { + GcsSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a NormalizedVertex message. + * Verifies a GcsSource message. * @function verify - * @memberof google.cloud.vision.v1.NormalizedVertex + * @memberof google.cloud.vision.v1.GcsSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NormalizedVertex.verify = function verify(message) { + GcsSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; return null; }; /** - * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.NormalizedVertex + * @memberof google.cloud.vision.v1.GcsSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1.GcsSource} GcsSource */ - NormalizedVertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.NormalizedVertex) + GcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.GcsSource) return object; - var message = new $root.google.cloud.vision.v1.NormalizedVertex(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); + var message = new $root.google.cloud.vision.v1.GcsSource(); + if (object.uri != null) + message.uri = String(object.uri); return message; }; /** - * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.NormalizedVertex + * @memberof google.cloud.vision.v1.GcsSource * @static - * @param {google.cloud.vision.v1.NormalizedVertex} message NormalizedVertex + * @param {google.cloud.vision.v1.GcsSource} message GcsSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - NormalizedVertex.toObject = function toObject(message, options) { + GcsSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.x = 0; - object.y = 0; - } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; return object; }; /** - * Converts this NormalizedVertex to JSON. + * Converts this GcsSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.NormalizedVertex + * @memberof google.cloud.vision.v1.GcsSource * @instance * @returns {Object.} JSON object */ - NormalizedVertex.prototype.toJSON = function toJSON() { + GcsSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return NormalizedVertex; + return GcsSource; })(); - v1.BoundingPoly = (function() { + v1.GcsDestination = (function() { /** - * Properties of a BoundingPoly. + * Properties of a GcsDestination. * @memberof google.cloud.vision.v1 - * @interface IBoundingPoly - * @property {Array.|null} [vertices] BoundingPoly vertices - * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices + * @interface IGcsDestination + * @property {string|null} [uri] GcsDestination uri */ /** - * Constructs a new BoundingPoly. + * Constructs a new GcsDestination. * @memberof google.cloud.vision.v1 - * @classdesc Represents a BoundingPoly. - * @implements IBoundingPoly + * @classdesc Represents a GcsDestination. + * @implements IGcsDestination * @constructor - * @param {google.cloud.vision.v1.IBoundingPoly=} [properties] Properties to set + * @param {google.cloud.vision.v1.IGcsDestination=} [properties] Properties to set */ - function BoundingPoly(properties) { - this.vertices = []; - this.normalizedVertices = []; + function GcsDestination(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11512,94 +11516,75 @@ } /** - * BoundingPoly vertices. - * @member {Array.} vertices - * @memberof google.cloud.vision.v1.BoundingPoly - * @instance - */ - BoundingPoly.prototype.vertices = $util.emptyArray; - - /** - * BoundingPoly normalizedVertices. - * @member {Array.} normalizedVertices - * @memberof google.cloud.vision.v1.BoundingPoly + * GcsDestination uri. + * @member {string} uri + * @memberof google.cloud.vision.v1.GcsDestination * @instance */ - BoundingPoly.prototype.normalizedVertices = $util.emptyArray; + GcsDestination.prototype.uri = ""; /** - * Creates a new BoundingPoly instance using the specified properties. + * Creates a new GcsDestination instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.BoundingPoly + * @memberof google.cloud.vision.v1.GcsDestination * @static - * @param {google.cloud.vision.v1.IBoundingPoly=} [properties] Properties to set - * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly instance + * @param {google.cloud.vision.v1.IGcsDestination=} [properties] Properties to set + * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination instance */ - BoundingPoly.create = function create(properties) { - return new BoundingPoly(properties); + GcsDestination.create = function create(properties) { + return new GcsDestination(properties); }; /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1.GcsDestination.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.BoundingPoly + * @memberof google.cloud.vision.v1.GcsDestination * @static - * @param {google.cloud.vision.v1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1.IGcsDestination} message GcsDestination message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encode = function encode(message, writer) { + GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.vertices != null && message.vertices.length) - for (var i = 0; i < message.vertices.length; ++i) - $root.google.cloud.vision.v1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.normalizedVertices != null && message.normalizedVertices.length) - for (var i = 0; i < message.normalizedVertices.length; ++i) - $root.google.cloud.vision.v1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1.BoundingPoly.verify|verify} messages. + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1.GcsDestination.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.BoundingPoly + * @memberof google.cloud.vision.v1.GcsDestination * @static - * @param {google.cloud.vision.v1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1.IGcsDestination} message GcsDestination message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BoundingPoly message from the specified reader or buffer. + * Decodes a GcsDestination message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.BoundingPoly + * @memberof google.cloud.vision.v1.GcsDestination * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decode = function decode(reader, length) { + GcsDestination.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.BoundingPoly(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.GcsDestination(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1.Vertex.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.normalizedVertices && message.normalizedVertices.length)) - message.normalizedVertices = []; - message.normalizedVertices.push($root.google.cloud.vision.v1.NormalizedVertex.decode(reader, reader.uint32())); + message.uri = reader.string(); break; default: reader.skipType(tag & 7); @@ -11610,152 +11595,109 @@ }; /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.BoundingPoly + * @memberof google.cloud.vision.v1.GcsDestination * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + GcsDestination.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BoundingPoly message. + * Verifies a GcsDestination message. * @function verify - * @memberof google.cloud.vision.v1.BoundingPoly + * @memberof google.cloud.vision.v1.GcsDestination * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BoundingPoly.verify = function verify(message) { + GcsDestination.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.vertices != null && message.hasOwnProperty("vertices")) { - if (!Array.isArray(message.vertices)) - return "vertices: array expected"; - for (var i = 0; i < message.vertices.length; ++i) { - var error = $root.google.cloud.vision.v1.Vertex.verify(message.vertices[i]); - if (error) - return "vertices." + error; - } - } - if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { - if (!Array.isArray(message.normalizedVertices)) - return "normalizedVertices: array expected"; - for (var i = 0; i < message.normalizedVertices.length; ++i) { - var error = $root.google.cloud.vision.v1.NormalizedVertex.verify(message.normalizedVertices[i]); - if (error) - return "normalizedVertices." + error; - } - } + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; return null; }; /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.BoundingPoly + * @memberof google.cloud.vision.v1.GcsDestination * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1.GcsDestination} GcsDestination */ - BoundingPoly.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.BoundingPoly) + GcsDestination.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.GcsDestination) return object; - var message = new $root.google.cloud.vision.v1.BoundingPoly(); - if (object.vertices) { - if (!Array.isArray(object.vertices)) - throw TypeError(".google.cloud.vision.v1.BoundingPoly.vertices: array expected"); - message.vertices = []; - for (var i = 0; i < object.vertices.length; ++i) { - if (typeof object.vertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1.BoundingPoly.vertices: object expected"); - message.vertices[i] = $root.google.cloud.vision.v1.Vertex.fromObject(object.vertices[i]); - } - } - if (object.normalizedVertices) { - if (!Array.isArray(object.normalizedVertices)) - throw TypeError(".google.cloud.vision.v1.BoundingPoly.normalizedVertices: array expected"); - message.normalizedVertices = []; - for (var i = 0; i < object.normalizedVertices.length; ++i) { - if (typeof object.normalizedVertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1.BoundingPoly.normalizedVertices: object expected"); - message.normalizedVertices[i] = $root.google.cloud.vision.v1.NormalizedVertex.fromObject(object.normalizedVertices[i]); - } - } + var message = new $root.google.cloud.vision.v1.GcsDestination(); + if (object.uri != null) + message.uri = String(object.uri); return message; }; /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.BoundingPoly + * @memberof google.cloud.vision.v1.GcsDestination * @static - * @param {google.cloud.vision.v1.BoundingPoly} message BoundingPoly + * @param {google.cloud.vision.v1.GcsDestination} message GcsDestination * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BoundingPoly.toObject = function toObject(message, options) { + GcsDestination.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.vertices = []; - object.normalizedVertices = []; - } - if (message.vertices && message.vertices.length) { - object.vertices = []; - for (var j = 0; j < message.vertices.length; ++j) - object.vertices[j] = $root.google.cloud.vision.v1.Vertex.toObject(message.vertices[j], options); - } - if (message.normalizedVertices && message.normalizedVertices.length) { - object.normalizedVertices = []; - for (var j = 0; j < message.normalizedVertices.length; ++j) - object.normalizedVertices[j] = $root.google.cloud.vision.v1.NormalizedVertex.toObject(message.normalizedVertices[j], options); - } + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; return object; }; /** - * Converts this BoundingPoly to JSON. + * Converts this GcsDestination to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.BoundingPoly + * @memberof google.cloud.vision.v1.GcsDestination * @instance * @returns {Object.} JSON object */ - BoundingPoly.prototype.toJSON = function toJSON() { + GcsDestination.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BoundingPoly; + return GcsDestination; })(); - v1.Position = (function() { + v1.OperationMetadata = (function() { /** - * Properties of a Position. + * Properties of an OperationMetadata. * @memberof google.cloud.vision.v1 - * @interface IPosition - * @property {number|null} [x] Position x - * @property {number|null} [y] Position y - * @property {number|null} [z] Position z + * @interface IOperationMetadata + * @property {google.cloud.vision.v1.OperationMetadata.State|null} [state] OperationMetadata state + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime */ /** - * Constructs a new Position. + * Constructs a new OperationMetadata. * @memberof google.cloud.vision.v1 - * @classdesc Represents a Position. - * @implements IPosition + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata * @constructor - * @param {google.cloud.vision.v1.IPosition=} [properties] Properties to set + * @param {google.cloud.vision.v1.IOperationMetadata=} [properties] Properties to set */ - function Position(properties) { + function OperationMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -11763,101 +11705,101 @@ } /** - * Position x. - * @member {number} x - * @memberof google.cloud.vision.v1.Position + * OperationMetadata state. + * @member {google.cloud.vision.v1.OperationMetadata.State} state + * @memberof google.cloud.vision.v1.OperationMetadata * @instance */ - Position.prototype.x = 0; + OperationMetadata.prototype.state = 0; /** - * Position y. - * @member {number} y - * @memberof google.cloud.vision.v1.Position + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.vision.v1.OperationMetadata * @instance */ - Position.prototype.y = 0; + OperationMetadata.prototype.createTime = null; /** - * Position z. - * @member {number} z - * @memberof google.cloud.vision.v1.Position + * OperationMetadata updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.vision.v1.OperationMetadata * @instance */ - Position.prototype.z = 0; + OperationMetadata.prototype.updateTime = null; /** - * Creates a new Position instance using the specified properties. + * Creates a new OperationMetadata instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1.Position + * @memberof google.cloud.vision.v1.OperationMetadata * @static - * @param {google.cloud.vision.v1.IPosition=} [properties] Properties to set - * @returns {google.cloud.vision.v1.Position} Position instance + * @param {google.cloud.vision.v1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata instance */ - Position.create = function create(properties) { - return new Position(properties); + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); }; /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1.OperationMetadata.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1.Position + * @memberof google.cloud.vision.v1.OperationMetadata * @static - * @param {google.cloud.vision.v1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1.IOperationMetadata} message OperationMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encode = function encode(message, writer) { + OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.createTime != null && message.hasOwnProperty("createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1.Position.verify|verify} messages. + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1.OperationMetadata.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1.Position + * @memberof google.cloud.vision.v1.OperationMetadata * @static - * @param {google.cloud.vision.v1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1.IOperationMetadata} message OperationMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encodeDelimited = function encodeDelimited(message, writer) { + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Position message from the specified reader or buffer. + * Decodes an OperationMetadata message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1.Position + * @memberof google.cloud.vision.v1.OperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1.Position} Position + * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decode = function decode(reader, length) { + OperationMetadata.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.Position(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.OperationMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); + message.state = reader.int32(); break; - case 2: - message.y = reader.float(); + case 5: + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; - case 3: - message.z = reader.float(); + case 6: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -11868,104 +11810,162 @@ }; /** - * Decodes a Position message from the specified reader or buffer, length delimited. + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1.Position + * @memberof google.cloud.vision.v1.OperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1.Position} Position + * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decodeDelimited = function decodeDelimited(reader) { + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Position message. + * Verifies an OperationMetadata message. * @function verify - * @memberof google.cloud.vision.v1.Position + * @memberof google.cloud.vision.v1.OperationMetadata * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Position.verify = function verify(message) { + OperationMetadata.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; - if (message.z != null && message.hasOwnProperty("z")) - if (typeof message.z !== "number") - return "z: number expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.updateTime != null && message.hasOwnProperty("updateTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (error) + return "updateTime." + error; + } return null; }; /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1.Position + * @memberof google.cloud.vision.v1.OperationMetadata * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1.Position} Position + * @returns {google.cloud.vision.v1.OperationMetadata} OperationMetadata */ - Position.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1.Position) + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.OperationMetadata) return object; - var message = new $root.google.cloud.vision.v1.Position(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); - if (object.z != null) - message.z = Number(object.z); + var message = new $root.google.cloud.vision.v1.OperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "CREATED": + case 1: + message.state = 1; + break; + case "RUNNING": + case 2: + message.state = 2; + break; + case "DONE": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.vision.v1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.vision.v1.OperationMetadata.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } return message; }; /** - * Creates a plain object from a Position message. Also converts values to other types if specified. + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1.Position + * @memberof google.cloud.vision.v1.OperationMetadata * @static - * @param {google.cloud.vision.v1.Position} message Position + * @param {google.cloud.vision.v1.OperationMetadata} message OperationMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Position.toObject = function toObject(message, options) { + OperationMetadata.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.x = 0; - object.y = 0; - object.z = 0; + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.createTime = null; + object.updateTime = null; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; - if (message.z != null && message.hasOwnProperty("z")) - object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1.OperationMetadata.State[message.state] : message.state; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); return object; }; /** - * Converts this Position to JSON. + * Converts this OperationMetadata to JSON. * @function toJSON - * @memberof google.cloud.vision.v1.Position + * @memberof google.cloud.vision.v1.OperationMetadata * @instance * @returns {Object.} JSON object */ - Position.prototype.toJSON = function toJSON() { + OperationMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Position; + /** + * State enum. + * @name google.cloud.vision.v1.OperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} CREATED=1 CREATED value + * @property {number} RUNNING=2 RUNNING value + * @property {number} DONE=3 DONE value + * @property {number} CANCELLED=4 CANCELLED value + */ + OperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CREATED"] = 1; + values[valuesById[2] = "RUNNING"] = 2; + values[valuesById[3] = "DONE"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return OperationMetadata; })(); v1.ProductSearchParams = (function() { @@ -25030,94 +25030,25 @@ */ var v1p1beta1 = {}; - v1p1beta1.ImageAnnotator = (function() { - - /** - * Constructs a new ImageAnnotator service. - * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents an ImageAnnotator - * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; - - /** - * Creates new ImageAnnotator service using the specified rpc implementation. - * @function create - * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator - * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. - */ - ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.cloud.vision.v1p1beta1.ImageAnnotator#batchAnnotateImages}. - * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator - * @typedef BatchAnnotateImagesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse - */ - - /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @param {google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { - return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse, request, callback); - }, "name", { value: "BatchAnnotateImages" }); - - /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return ImageAnnotator; - })(); - - v1p1beta1.Feature = (function() { + v1p1beta1.Vertex = (function() { /** - * Properties of a Feature. + * Properties of a Vertex. * @memberof google.cloud.vision.v1p1beta1 - * @interface IFeature - * @property {google.cloud.vision.v1p1beta1.Feature.Type|null} [type] Feature type - * @property {number|null} [maxResults] Feature maxResults - * @property {string|null} [model] Feature model + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y */ /** - * Constructs a new Feature. + * Constructs a new Vertex. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a Feature. - * @implements IFeature + * @classdesc Represents a Vertex. + * @implements IVertex * @constructor - * @param {google.cloud.vision.v1p1beta1.IFeature=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IVertex=} [properties] Properties to set */ - function Feature(properties) { + function Vertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25125,101 +25056,88 @@ } /** - * Feature type. - * @member {google.cloud.vision.v1p1beta1.Feature.Type} type - * @memberof google.cloud.vision.v1p1beta1.Feature - * @instance - */ - Feature.prototype.type = 0; - - /** - * Feature maxResults. - * @member {number} maxResults - * @memberof google.cloud.vision.v1p1beta1.Feature + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p1beta1.Vertex * @instance */ - Feature.prototype.maxResults = 0; + Vertex.prototype.x = 0; /** - * Feature model. - * @member {string} model - * @memberof google.cloud.vision.v1p1beta1.Feature + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p1beta1.Vertex * @instance */ - Feature.prototype.model = ""; + Vertex.prototype.y = 0; /** - * Creates a new Feature instance using the specified properties. + * Creates a new Vertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.Feature + * @memberof google.cloud.vision.v1p1beta1.Vertex * @static - * @param {google.cloud.vision.v1p1beta1.IFeature=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.Feature} Feature instance + * @param {google.cloud.vision.v1p1beta1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex instance */ - Feature.create = function create(properties) { - return new Feature(properties); + Vertex.create = function create(properties) { + return new Vertex(properties); }; /** - * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Feature.verify|verify} messages. + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.Feature + * @memberof google.cloud.vision.v1p1beta1.Vertex * @static - * @param {google.cloud.vision.v1p1beta1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encode = function encode(message, writer) { + Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; /** - * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Feature.verify|verify} messages. + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Feature + * @memberof google.cloud.vision.v1p1beta1.Vertex * @static - * @param {google.cloud.vision.v1p1beta1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encodeDelimited = function encodeDelimited(message, writer) { + Vertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Feature message from the specified reader or buffer. + * Decodes a Vertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.Feature + * @memberof google.cloud.vision.v1p1beta1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.Feature} Feature + * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decode = function decode(reader, length) { + Vertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Feature(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Vertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.type = reader.int32(); + message.x = reader.int32(); break; case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); + message.y = reader.int32(); break; default: reader.skipType(tag & 7); @@ -25230,215 +25148,117 @@ }; /** - * Decodes a Feature message from the specified reader or buffer, length delimited. + * Decodes a Vertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Feature + * @memberof google.cloud.vision.v1p1beta1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.Feature} Feature + * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decodeDelimited = function decodeDelimited(reader) { + Vertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Feature message. + * Verifies a Vertex message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.Feature + * @memberof google.cloud.vision.v1p1beta1.Vertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Feature.verify = function verify(message) { + Vertex.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: - case 3: - case 4: - case 5: - case 11: - case 6: - case 7: - case 9: - case 10: - break; - } - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - if (!$util.isInteger(message.maxResults)) - return "maxResults: integer expected"; - if (message.model != null && message.hasOwnProperty("model")) - if (!$util.isString(message.model)) - return "model: string expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; return null; }; /** - * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.Feature + * @memberof google.cloud.vision.v1p1beta1.Vertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.Feature} Feature + * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex */ - Feature.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.Feature) + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Vertex) return object; - var message = new $root.google.cloud.vision.v1p1beta1.Feature(); - switch (object.type) { - case "TYPE_UNSPECIFIED": - case 0: - message.type = 0; - break; - case "FACE_DETECTION": - case 1: - message.type = 1; - break; - case "LANDMARK_DETECTION": - case 2: - message.type = 2; - break; - case "LOGO_DETECTION": - case 3: - message.type = 3; - break; - case "LABEL_DETECTION": - case 4: - message.type = 4; - break; - case "TEXT_DETECTION": - case 5: - message.type = 5; - break; - case "DOCUMENT_TEXT_DETECTION": - case 11: - message.type = 11; - break; - case "SAFE_SEARCH_DETECTION": - case 6: - message.type = 6; - break; - case "IMAGE_PROPERTIES": - case 7: - message.type = 7; - break; - case "CROP_HINTS": - case 9: - message.type = 9; - break; - case "WEB_DETECTION": - case 10: - message.type = 10; - break; - } - if (object.maxResults != null) - message.maxResults = object.maxResults | 0; - if (object.model != null) - message.model = String(object.model); + var message = new $root.google.cloud.vision.v1p1beta1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; return message; }; /** - * Creates a plain object from a Feature message. Also converts values to other types if specified. + * Creates a plain object from a Vertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.Feature + * @memberof google.cloud.vision.v1p1beta1.Vertex * @static - * @param {google.cloud.vision.v1p1beta1.Feature} message Feature + * @param {google.cloud.vision.v1p1beta1.Vertex} message Vertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Feature.toObject = function toObject(message, options) { + Vertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; - object.maxResults = 0; - object.model = ""; + object.x = 0; + object.y = 0; } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Feature.Type[message.type] : message.type; - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - object.maxResults = message.maxResults; - if (message.model != null && message.hasOwnProperty("model")) - object.model = message.model; + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; return object; }; /** - * Converts this Feature to JSON. + * Converts this Vertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.Feature + * @memberof google.cloud.vision.v1p1beta1.Vertex * @instance * @returns {Object.} JSON object */ - Feature.prototype.toJSON = function toJSON() { + Vertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * Type enum. - * @name google.cloud.vision.v1p1beta1.Feature.Type - * @enum {string} - * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value - * @property {number} FACE_DETECTION=1 FACE_DETECTION value - * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value - * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value - * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value - * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value - * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value - * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value - * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value - * @property {number} CROP_HINTS=9 CROP_HINTS value - * @property {number} WEB_DETECTION=10 WEB_DETECTION value - */ - Feature.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; - values[valuesById[1] = "FACE_DETECTION"] = 1; - values[valuesById[2] = "LANDMARK_DETECTION"] = 2; - values[valuesById[3] = "LOGO_DETECTION"] = 3; - values[valuesById[4] = "LABEL_DETECTION"] = 4; - values[valuesById[5] = "TEXT_DETECTION"] = 5; - values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; - values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; - values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; - values[valuesById[9] = "CROP_HINTS"] = 9; - values[valuesById[10] = "WEB_DETECTION"] = 10; - return values; - })(); - - return Feature; + return Vertex; })(); - v1p1beta1.ImageSource = (function() { + v1p1beta1.BoundingPoly = (function() { /** - * Properties of an ImageSource. + * Properties of a BoundingPoly. * @memberof google.cloud.vision.v1p1beta1 - * @interface IImageSource - * @property {string|null} [gcsImageUri] ImageSource gcsImageUri - * @property {string|null} [imageUri] ImageSource imageUri + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices */ /** - * Constructs a new ImageSource. + * Constructs a new BoundingPoly. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents an ImageSource. - * @implements IImageSource + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly * @constructor - * @param {google.cloud.vision.v1p1beta1.IImageSource=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IBoundingPoly=} [properties] Properties to set */ - function ImageSource(properties) { + function BoundingPoly(properties) { + this.vertices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25446,88 +25266,78 @@ } /** - * ImageSource gcsImageUri. - * @member {string} gcsImageUri - * @memberof google.cloud.vision.v1p1beta1.ImageSource - * @instance - */ - ImageSource.prototype.gcsImageUri = ""; - - /** - * ImageSource imageUri. - * @member {string} imageUri - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @instance */ - ImageSource.prototype.imageUri = ""; + BoundingPoly.prototype.vertices = $util.emptyArray; /** - * Creates a new ImageSource instance using the specified properties. + * Creates a new BoundingPoly instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p1beta1.IImageSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource instance + * @param {google.cloud.vision.v1p1beta1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly instance */ - ImageSource.create = function create(properties) { - return new ImageSource(properties); + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); }; /** - * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageSource.verify|verify} messages. + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p1beta1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encode = function encode(message, writer) { + BoundingPoly.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p1beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageSource.verify|verify} messages. + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p1beta1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageSource message from the specified reader or buffer. + * Decodes a BoundingPoly message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decode = function decode(reader, length) { + BoundingPoly.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ImageSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.BoundingPoly(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsImageUri = reader.string(); - break; - case 2: - message.imageUri = reader.string(); + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p1beta1.Vertex.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -25538,117 +25348,126 @@ }; /** - * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decodeDelimited = function decodeDelimited(reader) { + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageSource message. + * Verifies a BoundingPoly message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageSource.verify = function verify(message) { + BoundingPoly.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - if (!$util.isString(message.gcsImageUri)) - return "gcsImageUri: string expected"; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - if (!$util.isString(message.imageUri)) - return "imageUri: string expected"; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Vertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } return null; }; /** - * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly */ - ImageSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.ImageSource) + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.BoundingPoly) return object; - var message = new $root.google.cloud.vision.v1p1beta1.ImageSource(); - if (object.gcsImageUri != null) - message.gcsImageUri = String(object.gcsImageUri); - if (object.imageUri != null) - message.imageUri = String(object.imageUri); + var message = new $root.google.cloud.vision.v1p1beta1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p1beta1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p1beta1.Vertex.fromObject(object.vertices[i]); + } + } return message; }; /** - * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p1beta1.ImageSource} message ImageSource + * @param {google.cloud.vision.v1p1beta1.BoundingPoly} message BoundingPoly * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageSource.toObject = function toObject(message, options) { + BoundingPoly.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.gcsImageUri = ""; - object.imageUri = ""; + if (options.arrays || options.defaults) + object.vertices = []; + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p1beta1.Vertex.toObject(message.vertices[j], options); } - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - object.gcsImageUri = message.gcsImageUri; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - object.imageUri = message.imageUri; return object; }; /** - * Converts this ImageSource to JSON. + * Converts this BoundingPoly to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly * @instance * @returns {Object.} JSON object */ - ImageSource.prototype.toJSON = function toJSON() { + BoundingPoly.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageSource; + return BoundingPoly; })(); - v1p1beta1.Image = (function() { + v1p1beta1.Position = (function() { /** - * Properties of an Image. + * Properties of a Position. * @memberof google.cloud.vision.v1p1beta1 - * @interface IImage - * @property {Uint8Array|null} [content] Image content - * @property {google.cloud.vision.v1p1beta1.IImageSource|null} [source] Image source + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z */ /** - * Constructs a new Image. + * Constructs a new Position. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents an Image. - * @implements IImage + * @classdesc Represents a Position. + * @implements IPosition * @constructor - * @param {google.cloud.vision.v1p1beta1.IImage=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IPosition=} [properties] Properties to set */ - function Image(properties) { + function Position(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25656,88 +25475,101 @@ } /** - * Image content. - * @member {Uint8Array} content - * @memberof google.cloud.vision.v1p1beta1.Image + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1p1beta1.Position * @instance */ - Image.prototype.content = $util.newBuffer([]); + Position.prototype.x = 0; /** - * Image source. - * @member {google.cloud.vision.v1p1beta1.IImageSource|null|undefined} source - * @memberof google.cloud.vision.v1p1beta1.Image + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1p1beta1.Position * @instance */ - Image.prototype.source = null; + Position.prototype.y = 0; /** - * Creates a new Image instance using the specified properties. + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1p1beta1.Position + * @instance + */ + Position.prototype.z = 0; + + /** + * Creates a new Position instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.Image + * @memberof google.cloud.vision.v1p1beta1.Position * @static - * @param {google.cloud.vision.v1p1beta1.IImage=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.Image} Image instance + * @param {google.cloud.vision.v1p1beta1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Position} Position instance */ - Image.create = function create(properties) { - return new Image(properties); + Position.create = function create(properties) { + return new Position(properties); }; /** - * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Image.verify|verify} messages. + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.Image + * @memberof google.cloud.vision.v1p1beta1.Position * @static - * @param {google.cloud.vision.v1p1beta1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IPosition} message Position message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encode = function encode(message, writer) { + Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) - $root.google.cloud.vision.v1p1beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; /** - * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Image.verify|verify} messages. + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Image + * @memberof google.cloud.vision.v1p1beta1.Position * @static - * @param {google.cloud.vision.v1p1beta1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IPosition} message Position message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encodeDelimited = function encodeDelimited(message, writer) { + Position.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an Image message from the specified reader or buffer. + * Decodes a Position message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.Image + * @memberof google.cloud.vision.v1p1beta1.Position * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.Image} Image + * @returns {google.cloud.vision.v1p1beta1.Position} Position * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decode = function decode(reader, length) { + Position.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Image(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Position(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.content = reader.bytes(); + message.x = reader.float(); break; case 2: - message.source = $root.google.cloud.vision.v1p1beta1.ImageSource.decode(reader, reader.uint32()); + message.y = reader.float(); + break; + case 3: + message.z = reader.float(); break; default: reader.skipType(tag & 7); @@ -25748,406 +25580,296 @@ }; /** - * Decodes an Image message from the specified reader or buffer, length delimited. + * Decodes a Position message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Image + * @memberof google.cloud.vision.v1p1beta1.Position * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.Image} Image + * @returns {google.cloud.vision.v1p1beta1.Position} Position * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decodeDelimited = function decodeDelimited(reader) { + Position.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an Image message. + * Verifies a Position message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.Image + * @memberof google.cloud.vision.v1p1beta1.Position * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Image.verify = function verify(message) { + Position.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.content != null && message.hasOwnProperty("content")) - if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) - return "content: buffer expected"; - if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.vision.v1p1beta1.ImageSource.verify(message.source); - if (error) - return "source." + error; - } + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; return null; }; /** - * Creates an Image message from a plain object. Also converts values to their respective internal types. + * Creates a Position message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.Image + * @memberof google.cloud.vision.v1p1beta1.Position * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.Image} Image + * @returns {google.cloud.vision.v1p1beta1.Position} Position */ - Image.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.Image) + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Position) return object; - var message = new $root.google.cloud.vision.v1p1beta1.Image(); - if (object.content != null) - if (typeof object.content === "string") - $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) - message.content = object.content; - if (object.source != null) { - if (typeof object.source !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.Image.source: object expected"); - message.source = $root.google.cloud.vision.v1p1beta1.ImageSource.fromObject(object.source); - } + var message = new $root.google.cloud.vision.v1p1beta1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); return message; }; /** - * Creates a plain object from an Image message. Also converts values to other types if specified. + * Creates a plain object from a Position message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.Image + * @memberof google.cloud.vision.v1p1beta1.Position * @static - * @param {google.cloud.vision.v1p1beta1.Image} message Image + * @param {google.cloud.vision.v1p1beta1.Position} message Position * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Image.toObject = function toObject(message, options) { + Position.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - if (options.bytes === String) - object.content = ""; - else { - object.content = []; - if (options.bytes !== Array) - object.content = $util.newBuffer(object.content); - } - object.source = null; + object.x = 0; + object.y = 0; + object.z = 0; } - if (message.content != null && message.hasOwnProperty("content")) - object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; - if (message.source != null && message.hasOwnProperty("source")) - object.source = $root.google.cloud.vision.v1p1beta1.ImageSource.toObject(message.source, options); + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; return object; }; /** - * Converts this Image to JSON. + * Converts this Position to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.Image + * @memberof google.cloud.vision.v1p1beta1.Position * @instance * @returns {Object.} JSON object */ - Image.prototype.toJSON = function toJSON() { + Position.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Image; + return Position; })(); - v1p1beta1.FaceAnnotation = (function() { - - /** - * Properties of a FaceAnnotation. - * @memberof google.cloud.vision.v1p1beta1 - * @interface IFaceAnnotation - * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly - * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly - * @property {Array.|null} [landmarks] FaceAnnotation landmarks - * @property {number|null} [rollAngle] FaceAnnotation rollAngle - * @property {number|null} [panAngle] FaceAnnotation panAngle - * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle - * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence - * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood - */ + v1p1beta1.ImageAnnotator = (function() { /** - * Constructs a new FaceAnnotation. + * Constructs a new ImageAnnotator service. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a FaceAnnotation. - * @implements IFaceAnnotation + * @classdesc Represents an ImageAnnotator + * @extends $protobuf.rpc.Service * @constructor - * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation=} [properties] Properties to set + * @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 FaceAnnotation(properties) { - this.landmarks = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; + function ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); } - /** - * FaceAnnotation boundingPoly. - * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.boundingPoly = null; - - /** - * FaceAnnotation fdBoundingPoly. - * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} fdBoundingPoly - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.fdBoundingPoly = null; - - /** - * FaceAnnotation landmarks. - * @member {Array.} landmarks - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.landmarks = $util.emptyArray; - - /** - * FaceAnnotation rollAngle. - * @member {number} rollAngle - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.rollAngle = 0; + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; /** - * FaceAnnotation panAngle. - * @member {number} panAngle - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. */ - FaceAnnotation.prototype.panAngle = 0; + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; /** - * FaceAnnotation tiltAngle. - * @member {number} tiltAngle - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance + * Callback as used by {@link google.cloud.vision.v1p1beta1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse */ - FaceAnnotation.prototype.tiltAngle = 0; /** - * FaceAnnotation detectionConfidence. - * @member {number} detectionConfidence - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator * @instance + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 */ - FaceAnnotation.prototype.detectionConfidence = 0; + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); /** - * FaceAnnotation landmarkingConfidence. - * @member {number} landmarkingConfidence - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator * @instance + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 */ - FaceAnnotation.prototype.landmarkingConfidence = 0; - /** - * FaceAnnotation joyLikelihood. - * @member {google.cloud.vision.v1p1beta1.Likelihood} joyLikelihood - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.joyLikelihood = 0; + return ImageAnnotator; + })(); - /** - * FaceAnnotation sorrowLikelihood. - * @member {google.cloud.vision.v1p1beta1.Likelihood} sorrowLikelihood - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.sorrowLikelihood = 0; + v1p1beta1.Feature = (function() { /** - * FaceAnnotation angerLikelihood. - * @member {google.cloud.vision.v1p1beta1.Likelihood} angerLikelihood - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance + * Properties of a Feature. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IFeature + * @property {google.cloud.vision.v1p1beta1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model */ - FaceAnnotation.prototype.angerLikelihood = 0; /** - * FaceAnnotation surpriseLikelihood. - * @member {google.cloud.vision.v1p1beta1.Likelihood} surpriseLikelihood - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @instance + * Constructs a new Feature. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a Feature. + * @implements IFeature + * @constructor + * @param {google.cloud.vision.v1p1beta1.IFeature=} [properties] Properties to set */ - FaceAnnotation.prototype.surpriseLikelihood = 0; + function Feature(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]]; + } /** - * FaceAnnotation underExposedLikelihood. - * @member {google.cloud.vision.v1p1beta1.Likelihood} underExposedLikelihood - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * Feature type. + * @member {google.cloud.vision.v1p1beta1.Feature.Type} type + * @memberof google.cloud.vision.v1p1beta1.Feature * @instance */ - FaceAnnotation.prototype.underExposedLikelihood = 0; + Feature.prototype.type = 0; /** - * FaceAnnotation blurredLikelihood. - * @member {google.cloud.vision.v1p1beta1.Likelihood} blurredLikelihood - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1p1beta1.Feature * @instance */ - FaceAnnotation.prototype.blurredLikelihood = 0; + Feature.prototype.maxResults = 0; /** - * FaceAnnotation headwearLikelihood. - * @member {google.cloud.vision.v1p1beta1.Likelihood} headwearLikelihood - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1p1beta1.Feature * @instance */ - FaceAnnotation.prototype.headwearLikelihood = 0; + Feature.prototype.model = ""; /** - * Creates a new FaceAnnotation instance using the specified properties. + * Creates a new Feature instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1.Feature * @static - * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation instance + * @param {google.cloud.vision.v1p1beta1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Feature} Feature instance */ - FaceAnnotation.create = function create(properties) { - return new FaceAnnotation(properties); + Feature.create = function create(properties) { + return new Feature(properties); }; /** - * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.verify|verify} messages. + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Feature.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1.Feature * @static - * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IFeature} message Feature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.encode = function encode(message, writer) { + Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.landmarks != null && message.landmarks.length) - for (var i = 0; i < message.landmarks.length; ++i) - $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; /** - * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.verify|verify} messages. + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Feature.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1.Feature * @static - * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IFeature} message Feature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + Feature.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FaceAnnotation message from the specified reader or buffer. + * Decodes a Feature message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1.Feature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p1beta1.Feature} Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.decode = function decode(reader, length) { + Feature.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Feature(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + message.type = reader.int32(); break; case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + message.maxResults = reader.int32(); break; case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); + message.model = reader.string(); break; default: reader.skipType(tag & 7); @@ -26158,952 +25880,215 @@ }; /** - * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * Decodes a Feature message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1.Feature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p1beta1.Feature} Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + Feature.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FaceAnnotation message. + * Verifies a Feature message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1.Feature * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FaceAnnotation.verify = function verify(message) { + Feature.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { - var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.fdBoundingPoly); - if (error) - return "fdBoundingPoly." + error; - } - if (message.landmarks != null && message.hasOwnProperty("landmarks")) { - if (!Array.isArray(message.landmarks)) - return "landmarks: array expected"; - for (var i = 0; i < message.landmarks.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); - if (error) - return "landmarks." + error; - } - } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - if (typeof message.rollAngle !== "number") - return "rollAngle: number expected"; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - if (typeof message.panAngle !== "number") - return "panAngle: number expected"; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - if (typeof message.tiltAngle !== "number") - return "tiltAngle: number expected"; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - if (typeof message.detectionConfidence !== "number") - return "detectionConfidence: number expected"; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - if (typeof message.landmarkingConfidence !== "number") - return "landmarkingConfidence: number expected"; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - switch (message.joyLikelihood) { - default: - return "joyLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - switch (message.sorrowLikelihood) { - default: - return "sorrowLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - switch (message.angerLikelihood) { - default: - return "angerLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - switch (message.surpriseLikelihood) { - default: - return "surpriseLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - switch (message.underExposedLikelihood) { - default: - return "underExposedLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - switch (message.blurredLikelihood) { - default: - return "blurredLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - switch (message.headwearLikelihood) { + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { default: - return "headwearLikelihood: enum value expected"; + return "type: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: + case 11: + case 6: + case 7: + case 9: + case 10: break; } + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; return null; }; /** - * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a Feature message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1.Feature * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p1beta1.Feature} Feature */ - FaceAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.FaceAnnotation) + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Feature) return object; - var message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.fdBoundingPoly != null) { - if (typeof object.fdBoundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.fdBoundingPoly: object expected"); - message.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.fdBoundingPoly); - } - if (object.landmarks) { - if (!Array.isArray(object.landmarks)) - throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.landmarks: array expected"); - message.landmarks = []; - for (var i = 0; i < object.landmarks.length; ++i) { - if (typeof object.landmarks[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.landmarks: object expected"); - message.landmarks[i] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); - } - } - if (object.rollAngle != null) - message.rollAngle = Number(object.rollAngle); - if (object.panAngle != null) - message.panAngle = Number(object.panAngle); - if (object.tiltAngle != null) - message.tiltAngle = Number(object.tiltAngle); - if (object.detectionConfidence != null) - message.detectionConfidence = Number(object.detectionConfidence); - if (object.landmarkingConfidence != null) - message.landmarkingConfidence = Number(object.landmarkingConfidence); - switch (object.joyLikelihood) { - case "UNKNOWN": - case 0: - message.joyLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.joyLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.joyLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.joyLikelihood = 3; - break; - case "LIKELY": - case 4: - message.joyLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.joyLikelihood = 5; - break; - } - switch (object.sorrowLikelihood) { - case "UNKNOWN": - case 0: - message.sorrowLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.sorrowLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.sorrowLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.sorrowLikelihood = 3; - break; - case "LIKELY": - case 4: - message.sorrowLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.sorrowLikelihood = 5; - break; - } - switch (object.angerLikelihood) { - case "UNKNOWN": - case 0: - message.angerLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.angerLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.angerLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.angerLikelihood = 3; - break; - case "LIKELY": - case 4: - message.angerLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.angerLikelihood = 5; - break; - } - switch (object.surpriseLikelihood) { - case "UNKNOWN": - case 0: - message.surpriseLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.surpriseLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.surpriseLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.surpriseLikelihood = 3; - break; - case "LIKELY": - case 4: - message.surpriseLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.surpriseLikelihood = 5; - break; - } - switch (object.underExposedLikelihood) { - case "UNKNOWN": - case 0: - message.underExposedLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.underExposedLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.underExposedLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.underExposedLikelihood = 3; - break; - case "LIKELY": - case 4: - message.underExposedLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.underExposedLikelihood = 5; - break; - } - switch (object.blurredLikelihood) { - case "UNKNOWN": + var message = new $root.google.cloud.vision.v1p1beta1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": case 0: - message.blurredLikelihood = 0; + message.type = 0; break; - case "VERY_UNLIKELY": + case "FACE_DETECTION": case 1: - message.blurredLikelihood = 1; + message.type = 1; break; - case "UNLIKELY": + case "LANDMARK_DETECTION": case 2: - message.blurredLikelihood = 2; + message.type = 2; break; - case "POSSIBLE": + case "LOGO_DETECTION": case 3: - message.blurredLikelihood = 3; + message.type = 3; break; - case "LIKELY": + case "LABEL_DETECTION": case 4: - message.blurredLikelihood = 4; + message.type = 4; break; - case "VERY_LIKELY": + case "TEXT_DETECTION": case 5: - message.blurredLikelihood = 5; - break; - } - switch (object.headwearLikelihood) { - case "UNKNOWN": - case 0: - message.headwearLikelihood = 0; + message.type = 5; break; - case "VERY_UNLIKELY": - case 1: - message.headwearLikelihood = 1; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; break; - case "UNLIKELY": - case 2: - message.headwearLikelihood = 2; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; break; - case "POSSIBLE": - case 3: - message.headwearLikelihood = 3; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; break; - case "LIKELY": - case 4: - message.headwearLikelihood = 4; + case "CROP_HINTS": + case 9: + message.type = 9; break; - case "VERY_LIKELY": - case 5: - message.headwearLikelihood = 5; + case "WEB_DETECTION": + case 10: + message.type = 10; break; } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); return message; }; /** - * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a Feature message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1.Feature * @static - * @param {google.cloud.vision.v1p1beta1.FaceAnnotation} message FaceAnnotation + * @param {google.cloud.vision.v1p1beta1.Feature} message Feature * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FaceAnnotation.toObject = function toObject(message, options) { + Feature.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.landmarks = []; if (options.defaults) { - object.boundingPoly = null; - object.fdBoundingPoly = null; - object.rollAngle = 0; - object.panAngle = 0; - object.tiltAngle = 0; - object.detectionConfidence = 0; - object.landmarkingConfidence = 0; - object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; - } - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - object.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); - if (message.landmarks && message.landmarks.length) { - object.landmarks = []; - for (var j = 0; j < message.landmarks.length; ++j) - object.landmarks[j] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; return object; }; /** - * Converts this FaceAnnotation to JSON. + * Converts this Feature to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p1beta1.Feature * @instance * @returns {Object.} JSON object */ - FaceAnnotation.prototype.toJSON = function toJSON() { + Feature.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - FaceAnnotation.Landmark = (function() { - - /** - * Properties of a Landmark. - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @interface ILandmark - * @property {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type - * @property {google.cloud.vision.v1p1beta1.IPosition|null} [position] Landmark position - */ + /** + * Type enum. + * @name google.cloud.vision.v1p1beta1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + return values; + })(); - /** - * Constructs a new Landmark. - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation - * @classdesc Represents a Landmark. - * @implements ILandmark - * @constructor - * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark=} [properties] Properties to set - */ - function Landmark(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]]; - } + return Feature; + })(); - /** - * Landmark type. - * @member {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type} type - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.type = 0; - - /** - * Landmark position. - * @member {google.cloud.vision.v1p1beta1.IPosition|null|undefined} position - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.position = null; - - /** - * Creates a new Landmark instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark instance - */ - Landmark.create = function create(properties) { - return new Landmark(properties); - }; - - /** - * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) - $root.google.cloud.vision.v1p1beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Landmark message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1p1beta1.Position.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Landmark message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Landmark message. - * @function verify - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Landmark.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: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - break; - } - if (message.position != null && message.hasOwnProperty("position")) { - var error = $root.google.cloud.vision.v1p1beta1.Position.verify(message.position); - if (error) - return "position." + error; - } - return null; - }; - - /** - * Creates a Landmark message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark - */ - Landmark.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark) - return object; - var message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark(); - switch (object.type) { - case "UNKNOWN_LANDMARK": - case 0: - message.type = 0; - break; - case "LEFT_EYE": - case 1: - message.type = 1; - break; - case "RIGHT_EYE": - case 2: - message.type = 2; - break; - case "LEFT_OF_LEFT_EYEBROW": - case 3: - message.type = 3; - break; - case "RIGHT_OF_LEFT_EYEBROW": - case 4: - message.type = 4; - break; - case "LEFT_OF_RIGHT_EYEBROW": - case 5: - message.type = 5; - break; - case "RIGHT_OF_RIGHT_EYEBROW": - case 6: - message.type = 6; - break; - case "MIDPOINT_BETWEEN_EYES": - case 7: - message.type = 7; - break; - case "NOSE_TIP": - case 8: - message.type = 8; - break; - case "UPPER_LIP": - case 9: - message.type = 9; - break; - case "LOWER_LIP": - case 10: - message.type = 10; - break; - case "MOUTH_LEFT": - case 11: - message.type = 11; - break; - case "MOUTH_RIGHT": - case 12: - message.type = 12; - break; - case "MOUTH_CENTER": - case 13: - message.type = 13; - break; - case "NOSE_BOTTOM_RIGHT": - case 14: - message.type = 14; - break; - case "NOSE_BOTTOM_LEFT": - case 15: - message.type = 15; - break; - case "NOSE_BOTTOM_CENTER": - case 16: - message.type = 16; - break; - case "LEFT_EYE_TOP_BOUNDARY": - case 17: - message.type = 17; - break; - case "LEFT_EYE_RIGHT_CORNER": - case 18: - message.type = 18; - break; - case "LEFT_EYE_BOTTOM_BOUNDARY": - case 19: - message.type = 19; - break; - case "LEFT_EYE_LEFT_CORNER": - case 20: - message.type = 20; - break; - case "RIGHT_EYE_TOP_BOUNDARY": - case 21: - message.type = 21; - break; - case "RIGHT_EYE_RIGHT_CORNER": - case 22: - message.type = 22; - break; - case "RIGHT_EYE_BOTTOM_BOUNDARY": - case 23: - message.type = 23; - break; - case "RIGHT_EYE_LEFT_CORNER": - case 24: - message.type = 24; - break; - case "LEFT_EYEBROW_UPPER_MIDPOINT": - case 25: - message.type = 25; - break; - case "RIGHT_EYEBROW_UPPER_MIDPOINT": - case 26: - message.type = 26; - break; - case "LEFT_EAR_TRAGION": - case 27: - message.type = 27; - break; - case "RIGHT_EAR_TRAGION": - case 28: - message.type = 28; - break; - case "LEFT_EYE_PUPIL": - case 29: - message.type = 29; - break; - case "RIGHT_EYE_PUPIL": - case 30: - message.type = 30; - break; - case "FOREHEAD_GLABELLA": - case 31: - message.type = 31; - break; - case "CHIN_GNATHION": - case 32: - message.type = 32; - break; - case "CHIN_LEFT_GONION": - case 33: - message.type = 33; - break; - case "CHIN_RIGHT_GONION": - case 34: - message.type = 34; - break; - } - if (object.position != null) { - if (typeof object.position !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.position: object expected"); - message.position = $root.google.cloud.vision.v1p1beta1.Position.fromObject(object.position); - } - return message; - }; - - /** - * Creates a plain object from a Landmark message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} message Landmark - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Landmark.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; - object.position = null; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; - if (message.position != null && message.hasOwnProperty("position")) - object.position = $root.google.cloud.vision.v1p1beta1.Position.toObject(message.position, options); - return object; - }; - - /** - * Converts this Landmark to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark - * @instance - * @returns {Object.} JSON object - */ - Landmark.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Type enum. - * @name google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type - * @enum {string} - * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value - * @property {number} LEFT_EYE=1 LEFT_EYE value - * @property {number} RIGHT_EYE=2 RIGHT_EYE value - * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value - * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value - * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value - * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value - * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value - * @property {number} NOSE_TIP=8 NOSE_TIP value - * @property {number} UPPER_LIP=9 UPPER_LIP value - * @property {number} LOWER_LIP=10 LOWER_LIP value - * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value - * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value - * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value - * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value - * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value - * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value - * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value - * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value - * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value - * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value - * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value - * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value - * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value - * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value - * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value - * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value - * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value - * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value - * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value - * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value - * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value - * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value - * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value - * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value - */ - Landmark.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; - values[valuesById[1] = "LEFT_EYE"] = 1; - values[valuesById[2] = "RIGHT_EYE"] = 2; - values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; - values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; - values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; - values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; - values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; - values[valuesById[8] = "NOSE_TIP"] = 8; - values[valuesById[9] = "UPPER_LIP"] = 9; - values[valuesById[10] = "LOWER_LIP"] = 10; - values[valuesById[11] = "MOUTH_LEFT"] = 11; - values[valuesById[12] = "MOUTH_RIGHT"] = 12; - values[valuesById[13] = "MOUTH_CENTER"] = 13; - values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; - values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; - values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; - values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; - values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; - values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; - values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; - values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; - values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; - values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; - values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; - values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; - values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; - values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; - values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; - values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; - values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; - values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; - values[valuesById[32] = "CHIN_GNATHION"] = 32; - values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; - values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; - return values; - })(); - - return Landmark; - })(); - - return FaceAnnotation; - })(); - - v1p1beta1.LocationInfo = (function() { + v1p1beta1.ImageSource = (function() { /** - * Properties of a LocationInfo. + * Properties of an ImageSource. * @memberof google.cloud.vision.v1p1beta1 - * @interface ILocationInfo - * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri */ /** - * Constructs a new LocationInfo. + * Constructs a new ImageSource. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a LocationInfo. - * @implements ILocationInfo + * @classdesc Represents an ImageSource. + * @implements IImageSource * @constructor - * @param {google.cloud.vision.v1p1beta1.ILocationInfo=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IImageSource=} [properties] Properties to set */ - function LocationInfo(properties) { + function ImageSource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27111,75 +26096,88 @@ } /** - * LocationInfo latLng. - * @member {google.type.ILatLng|null|undefined} latLng - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @instance */ - LocationInfo.prototype.latLng = null; + ImageSource.prototype.gcsImageUri = ""; /** - * Creates a new LocationInfo instance using the specified properties. + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @instance + */ + ImageSource.prototype.imageUri = ""; + + /** + * Creates a new ImageSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @static - * @param {google.cloud.vision.v1p1beta1.ILocationInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo instance + * @param {google.cloud.vision.v1p1beta1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource instance */ - LocationInfo.create = function create(properties) { - return new LocationInfo(properties); + ImageSource.create = function create(properties) { + return new ImageSource(properties); }; /** - * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p1beta1.LocationInfo.verify|verify} messages. + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @static - * @param {google.cloud.vision.v1p1beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocationInfo.encode = function encode(message, writer) { + ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) - $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; /** - * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.LocationInfo.verify|verify} messages. + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @static - * @param {google.cloud.vision.v1p1beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LocationInfo message from the specified reader or buffer. + * Decodes an ImageSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationInfo.decode = function decode(reader, length) { + ImageSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.LocationInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ImageSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.gcsImageUri = reader.string(); + break; + case 2: + message.imageUri = reader.string(); break; default: reader.skipType(tag & 7); @@ -27190,114 +26188,117 @@ }; /** - * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * Decodes an ImageSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationInfo.decodeDelimited = function decodeDelimited(reader) { + ImageSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LocationInfo message. + * Verifies an ImageSource message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LocationInfo.verify = function verify(message) { + ImageSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.latLng != null && message.hasOwnProperty("latLng")) { - var error = $root.google.type.LatLng.verify(message.latLng); - if (error) - return "latLng." + error; - } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; return null; }; /** - * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1p1beta1.ImageSource} ImageSource */ - LocationInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.LocationInfo) + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.ImageSource) return object; - var message = new $root.google.cloud.vision.v1p1beta1.LocationInfo(); - if (object.latLng != null) { - if (typeof object.latLng !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.LocationInfo.latLng: object expected"); - message.latLng = $root.google.type.LatLng.fromObject(object.latLng); - } + var message = new $root.google.cloud.vision.v1p1beta1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); return message; }; /** - * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @static - * @param {google.cloud.vision.v1p1beta1.LocationInfo} message LocationInfo + * @param {google.cloud.vision.v1p1beta1.ImageSource} message ImageSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LocationInfo.toObject = function toObject(message, options) { + ImageSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.latLng = null; - if (message.latLng != null && message.hasOwnProperty("latLng")) - object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); + if (options.defaults) { + object.gcsImageUri = ""; + object.imageUri = ""; + } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; return object; }; /** - * Converts this LocationInfo to JSON. + * Converts this ImageSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @memberof google.cloud.vision.v1p1beta1.ImageSource * @instance * @returns {Object.} JSON object */ - LocationInfo.prototype.toJSON = function toJSON() { + ImageSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LocationInfo; + return ImageSource; })(); - v1p1beta1.Property = (function() { + v1p1beta1.Image = (function() { /** - * Properties of a Property. + * Properties of an Image. * @memberof google.cloud.vision.v1p1beta1 - * @interface IProperty - * @property {string|null} [name] Property name - * @property {string|null} [value] Property value - * @property {number|Long|null} [uint64Value] Property uint64Value + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1p1beta1.IImageSource|null} [source] Image source */ /** - * Constructs a new Property. + * Constructs a new Image. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a Property. - * @implements IProperty + * @classdesc Represents an Image. + * @implements IImage * @constructor - * @param {google.cloud.vision.v1p1beta1.IProperty=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IImage=} [properties] Properties to set */ - function Property(properties) { + function Image(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27305,101 +26306,88 @@ } /** - * Property name. - * @member {string} name - * @memberof google.cloud.vision.v1p1beta1.Property - * @instance - */ - Property.prototype.name = ""; - - /** - * Property value. - * @member {string} value - * @memberof google.cloud.vision.v1p1beta1.Property + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p1beta1.Image * @instance */ - Property.prototype.value = ""; + Image.prototype.content = $util.newBuffer([]); /** - * Property uint64Value. - * @member {number|Long} uint64Value - * @memberof google.cloud.vision.v1p1beta1.Property + * Image source. + * @member {google.cloud.vision.v1p1beta1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1p1beta1.Image * @instance */ - Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + Image.prototype.source = null; /** - * Creates a new Property instance using the specified properties. + * Creates a new Image instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.Property + * @memberof google.cloud.vision.v1p1beta1.Image * @static - * @param {google.cloud.vision.v1p1beta1.IProperty=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.Property} Property instance + * @param {google.cloud.vision.v1p1beta1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Image} Image instance */ - Property.create = function create(properties) { - return new Property(properties); + Image.create = function create(properties) { + return new Image(properties); }; /** - * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Property.verify|verify} messages. + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Image.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.Property + * @memberof google.cloud.vision.v1p1beta1.Image * @static - * @param {google.cloud.vision.v1p1beta1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IImage} message Image message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encode = function encode(message, writer) { + Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1p1beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Property.verify|verify} messages. + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Image.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Property + * @memberof google.cloud.vision.v1p1beta1.Image * @static - * @param {google.cloud.vision.v1p1beta1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IImage} message Image message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encodeDelimited = function encodeDelimited(message, writer) { + Image.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Property message from the specified reader or buffer. + * Decodes an Image message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.Property + * @memberof google.cloud.vision.v1p1beta1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.Property} Property + * @returns {google.cloud.vision.v1p1beta1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decode = function decode(reader, length) { + Image.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Property(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Image(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.content = reader.bytes(); break; case 2: - message.value = reader.string(); - break; - case 3: - message.uint64Value = reader.uint64(); + message.source = $root.google.cloud.vision.v1p1beta1.ImageSource.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -27410,148 +26398,145 @@ }; /** - * Decodes a Property message from the specified reader or buffer, length delimited. + * Decodes an Image message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Property + * @memberof google.cloud.vision.v1p1beta1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.Property} Property + * @returns {google.cloud.vision.v1p1beta1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decodeDelimited = function decodeDelimited(reader) { + Image.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Property message. + * Verifies an Image message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.Property + * @memberof google.cloud.vision.v1p1beta1.Image * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Property.verify = function verify(message) { + Image.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) - return "uint64Value: integer|Long expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1p1beta1.ImageSource.verify(message.source); + if (error) + return "source." + error; + } return null; }; /** - * Creates a Property message from a plain object. Also converts values to their respective internal types. + * Creates an Image message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.Property + * @memberof google.cloud.vision.v1p1beta1.Image * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.Property} Property + * @returns {google.cloud.vision.v1p1beta1.Image} Image */ - Property.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.Property) + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Image) return object; - var message = new $root.google.cloud.vision.v1p1beta1.Property(); - if (object.name != null) - message.name = String(object.name); - if (object.value != null) - message.value = String(object.value); - if (object.uint64Value != null) - if ($util.Long) - (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; - else if (typeof object.uint64Value === "string") - message.uint64Value = parseInt(object.uint64Value, 10); - else if (typeof object.uint64Value === "number") - message.uint64Value = object.uint64Value; - else if (typeof object.uint64Value === "object") - message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + var message = new $root.google.cloud.vision.v1p1beta1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1p1beta1.ImageSource.fromObject(object.source); + } return message; }; /** - * Creates a plain object from a Property message. Also converts values to other types if specified. + * Creates a plain object from an Image message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.Property + * @memberof google.cloud.vision.v1p1beta1.Image * @static - * @param {google.cloud.vision.v1p1beta1.Property} message Property + * @param {google.cloud.vision.v1p1beta1.Image} message Image * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Property.toObject = function toObject(message, options) { + Image.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.name = ""; - object.value = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.uint64Value = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (typeof message.uint64Value === "number") - object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; - else - object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1p1beta1.ImageSource.toObject(message.source, options); return object; }; /** - * Converts this Property to JSON. + * Converts this Image to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.Property + * @memberof google.cloud.vision.v1p1beta1.Image * @instance * @returns {Object.} JSON object */ - Property.prototype.toJSON = function toJSON() { + Image.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Property; + return Image; })(); - v1p1beta1.EntityAnnotation = (function() { + v1p1beta1.FaceAnnotation = (function() { /** - * Properties of an EntityAnnotation. + * Properties of a FaceAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @interface IEntityAnnotation - * @property {string|null} [mid] EntityAnnotation mid - * @property {string|null} [locale] EntityAnnotation locale - * @property {string|null} [description] EntityAnnotation description - * @property {number|null} [score] EntityAnnotation score - * @property {number|null} [confidence] EntityAnnotation confidence - * @property {number|null} [topicality] EntityAnnotation topicality - * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly - * @property {Array.|null} [locations] EntityAnnotation locations - * @property {Array.|null} [properties] EntityAnnotation properties + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood */ /** - * Constructs a new EntityAnnotation. + * Constructs a new FaceAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents an EntityAnnotation. - * @implements IEntityAnnotation + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation * @constructor - * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation=} [properties] Properties to set */ - function EntityAnnotation(properties) { - this.locations = []; - this.properties = []; + function FaceAnnotation(properties) { + this.landmarks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27559,185 +26544,260 @@ } /** - * EntityAnnotation mid. - * @member {string} mid - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.mid = ""; + FaceAnnotation.prototype.boundingPoly = null; /** - * EntityAnnotation locale. - * @member {string} locale - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.locale = ""; + FaceAnnotation.prototype.fdBoundingPoly = null; /** - * EntityAnnotation description. - * @member {string} description - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.description = ""; + FaceAnnotation.prototype.landmarks = $util.emptyArray; /** - * EntityAnnotation score. - * @member {number} score - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.score = 0; + FaceAnnotation.prototype.rollAngle = 0; /** - * EntityAnnotation confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.confidence = 0; + FaceAnnotation.prototype.panAngle = 0; /** - * EntityAnnotation topicality. - * @member {number} topicality - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.topicality = 0; + FaceAnnotation.prototype.tiltAngle = 0; /** - * EntityAnnotation boundingPoly. - * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.boundingPoly = null; + FaceAnnotation.prototype.detectionConfidence = 0; /** - * EntityAnnotation locations. - * @member {Array.} locations - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.locations = $util.emptyArray; + FaceAnnotation.prototype.landmarkingConfidence = 0; /** - * EntityAnnotation properties. - * @member {Array.} properties - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.properties = $util.emptyArray; + FaceAnnotation.prototype.joyLikelihood = 0; /** - * Creates a new EntityAnnotation instance using the specified properties. + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.sorrowLikelihood = 0; + + /** + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1p1beta1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * Creates a new FaceAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation instance + * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation instance */ - EntityAnnotation.create = function create(properties) { - return new EntityAnnotation(properties); + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); }; /** - * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.EntityAnnotation.verify|verify} messages. + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EntityAnnotation.encode = function encode(message, writer) { + FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.locations != null && message.locations.length) - for (var i = 0; i < message.locations.length; ++i) - $root.google.cloud.vision.v1p1beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.properties != null && message.properties.length) - for (var i = 0; i < message.properties.length; ++i) - $root.google.cloud.vision.v1p1beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.EntityAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation - * @static - * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + return writer; + }; + /** - * Decodes an EntityAnnotation message from the specified reader or buffer. + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EntityAnnotation.decode = function decode(reader, length) { + FaceAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.EntityAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.mid = reader.string(); + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); break; case 2: - message.locale = reader.string(); + message.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); break; case 3: - message.description = reader.string(); + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); break; case 4: - message.score = reader.float(); + message.rollAngle = reader.float(); break; case 5: - message.confidence = reader.float(); + message.panAngle = reader.float(); break; case 6: - message.topicality = reader.float(); + message.tiltAngle = reader.float(); break; case 7: - message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + message.detectionConfidence = reader.float(); break; case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1p1beta1.LocationInfo.decode(reader, reader.uint32())); + message.landmarkingConfidence = reader.float(); break; case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1p1beta1.Property.decode(reader, reader.uint32())); + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); break; default: reader.skipType(tag & 7); @@ -27748,385 +26808,82 @@ }; /** - * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EntityAnnotation message. + * Verifies a FaceAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EntityAnnotation.verify = function verify(message) { + FaceAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.mid != null && message.hasOwnProperty("mid")) - if (!$util.isString(message.mid)) - return "mid: string expected"; - if (message.locale != null && message.hasOwnProperty("locale")) - if (!$util.isString(message.locale)) - return "locale: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.topicality != null && message.hasOwnProperty("topicality")) - if (typeof message.topicality !== "number") - return "topicality: number expected"; if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingPoly); if (error) return "boundingPoly." + error; } - if (message.locations != null && message.hasOwnProperty("locations")) { - if (!Array.isArray(message.locations)) - return "locations: array expected"; - for (var i = 0; i < message.locations.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.LocationInfo.verify(message.locations[i]); - if (error) - return "locations." + error; - } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; } - if (message.properties != null && message.hasOwnProperty("properties")) { - if (!Array.isArray(message.properties)) - return "properties: array expected"; - for (var i = 0; i < message.properties.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.Property.verify(message.properties[i]); + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); if (error) - return "properties." + error; - } - } - return null; - }; - - /** - * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation - */ - EntityAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.EntityAnnotation) - return object; - var message = new $root.google.cloud.vision.v1p1beta1.EntityAnnotation(); - if (object.mid != null) - message.mid = String(object.mid); - if (object.locale != null) - message.locale = String(object.locale); - if (object.description != null) - message.description = String(object.description); - if (object.score != null) - message.score = Number(object.score); - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.topicality != null) - message.topicality = Number(object.topicality); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.locations) { - if (!Array.isArray(object.locations)) - throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.locations: array expected"); - message.locations = []; - for (var i = 0; i < object.locations.length; ++i) { - if (typeof object.locations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.locations: object expected"); - message.locations[i] = $root.google.cloud.vision.v1p1beta1.LocationInfo.fromObject(object.locations[i]); - } - } - if (object.properties) { - if (!Array.isArray(object.properties)) - throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.properties: array expected"); - message.properties = []; - for (var i = 0; i < object.properties.length; ++i) { - if (typeof object.properties[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.properties: object expected"); - message.properties[i] = $root.google.cloud.vision.v1p1beta1.Property.fromObject(object.properties[i]); + return "landmarks." + error; } } - return message; - }; - - /** - * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation - * @static - * @param {google.cloud.vision.v1p1beta1.EntityAnnotation} message EntityAnnotation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EntityAnnotation.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.locations = []; - object.properties = []; - } - if (options.defaults) { - object.mid = ""; - object.locale = ""; - object.description = ""; - object.score = 0; - object.confidence = 0; - object.topicality = 0; - object.boundingPoly = null; - } - if (message.mid != null && message.hasOwnProperty("mid")) - object.mid = message.mid; - if (message.locale != null && message.hasOwnProperty("locale")) - object.locale = message.locale; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.topicality != null && message.hasOwnProperty("topicality")) - object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.locations && message.locations.length) { - object.locations = []; - for (var j = 0; j < message.locations.length; ++j) - object.locations[j] = $root.google.cloud.vision.v1p1beta1.LocationInfo.toObject(message.locations[j], options); - } - if (message.properties && message.properties.length) { - object.properties = []; - for (var j = 0; j < message.properties.length; ++j) - object.properties[j] = $root.google.cloud.vision.v1p1beta1.Property.toObject(message.properties[j], options); - } - return object; - }; - - /** - * Converts this EntityAnnotation to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation - * @instance - * @returns {Object.} JSON object - */ - EntityAnnotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return EntityAnnotation; - })(); - - v1p1beta1.SafeSearchAnnotation = (function() { - - /** - * Properties of a SafeSearchAnnotation. - * @memberof google.cloud.vision.v1p1beta1 - * @interface ISafeSearchAnnotation - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [adult] SafeSearchAnnotation adult - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [medical] SafeSearchAnnotation medical - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [violence] SafeSearchAnnotation violence - * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [racy] SafeSearchAnnotation racy - */ - - /** - * Constructs a new SafeSearchAnnotation. - * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a SafeSearchAnnotation. - * @implements ISafeSearchAnnotation - * @constructor - * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation=} [properties] Properties to set - */ - function SafeSearchAnnotation(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]]; - } - - /** - * SafeSearchAnnotation adult. - * @member {google.cloud.vision.v1p1beta1.Likelihood} adult - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.adult = 0; - - /** - * SafeSearchAnnotation spoof. - * @member {google.cloud.vision.v1p1beta1.Likelihood} spoof - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.spoof = 0; - - /** - * SafeSearchAnnotation medical. - * @member {google.cloud.vision.v1p1beta1.Likelihood} medical - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.medical = 0; - - /** - * SafeSearchAnnotation violence. - * @member {google.cloud.vision.v1p1beta1.Likelihood} violence - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.violence = 0; - - /** - * SafeSearchAnnotation racy. - * @member {google.cloud.vision.v1p1beta1.Likelihood} racy - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.racy = 0; - - /** - * Creates a new SafeSearchAnnotation instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation instance - */ - SafeSearchAnnotation.create = function create(properties) { - return new SafeSearchAnnotation(properties); - }; - - /** - * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SafeSearchAnnotation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); - return writer; - }; - - /** - * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SafeSearchAnnotation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { + default: + return "joyLikelihood: enum value expected"; + case 0: case 1: - message.adult = reader.int32(); - break; case 2: - message.spoof = reader.int32(); - break; case 3: - message.medical = reader.int32(); - break; case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); - break; - default: - reader.skipType(tag & 7); + case 5: break; } - } - return message; - }; - - /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SafeSearchAnnotation message. - * @function verify - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SafeSearchAnnotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.adult != null && message.hasOwnProperty("adult")) - switch (message.adult) { + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { default: - return "adult: enum value expected"; + return "sorrowLikelihood: enum value expected"; case 0: case 1: case 2: @@ -28135,10 +26892,10 @@ case 5: break; } - if (message.spoof != null && message.hasOwnProperty("spoof")) - switch (message.spoof) { + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { default: - return "spoof: enum value expected"; + return "angerLikelihood: enum value expected"; case 0: case 1: case 2: @@ -28147,10 +26904,10 @@ case 5: break; } - if (message.medical != null && message.hasOwnProperty("medical")) - switch (message.medical) { + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { default: - return "medical: enum value expected"; + return "surpriseLikelihood: enum value expected"; case 0: case 1: case 2: @@ -28159,10 +26916,10 @@ case 5: break; } - if (message.violence != null && message.hasOwnProperty("violence")) - switch (message.violence) { + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { default: - return "violence: enum value expected"; + return "underExposedLikelihood: enum value expected"; case 0: case 1: case 2: @@ -28171,10 +26928,10 @@ case 5: break; } - if (message.racy != null && message.hasOwnProperty("racy")) - switch (message.racy) { + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { default: - return "racy: enum value expected"; + return "blurredLikelihood: enum value expected"; case 0: case 1: case 2: @@ -28183,441 +26940,820 @@ case 5: break; } - return null; - }; - - /** - * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { + default: + return "headwearLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation} FaceAnnotation */ - SafeSearchAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation) + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.FaceAnnotation) return object; - var message = new $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation(); - switch (object.adult) { + var message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.fdBoundingPoly); + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); + } + } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { case "UNKNOWN": case 0: - message.adult = 0; + message.joyLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.adult = 1; + message.joyLikelihood = 1; break; case "UNLIKELY": case 2: - message.adult = 2; + message.joyLikelihood = 2; break; case "POSSIBLE": case 3: - message.adult = 3; + message.joyLikelihood = 3; break; case "LIKELY": case 4: - message.adult = 4; + message.joyLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.adult = 5; + message.joyLikelihood = 5; break; } - switch (object.spoof) { + switch (object.sorrowLikelihood) { case "UNKNOWN": case 0: - message.spoof = 0; + message.sorrowLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.spoof = 1; + message.sorrowLikelihood = 1; break; case "UNLIKELY": case 2: - message.spoof = 2; + message.sorrowLikelihood = 2; break; case "POSSIBLE": case 3: - message.spoof = 3; + message.sorrowLikelihood = 3; break; case "LIKELY": case 4: - message.spoof = 4; + message.sorrowLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.spoof = 5; + message.sorrowLikelihood = 5; break; } - switch (object.medical) { + switch (object.angerLikelihood) { case "UNKNOWN": case 0: - message.medical = 0; + message.angerLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.medical = 1; + message.angerLikelihood = 1; break; case "UNLIKELY": case 2: - message.medical = 2; + message.angerLikelihood = 2; break; case "POSSIBLE": case 3: - message.medical = 3; + message.angerLikelihood = 3; break; case "LIKELY": case 4: - message.medical = 4; + message.angerLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.medical = 5; + message.angerLikelihood = 5; break; } - switch (object.violence) { + switch (object.surpriseLikelihood) { case "UNKNOWN": case 0: - message.violence = 0; + message.surpriseLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.violence = 1; + message.surpriseLikelihood = 1; break; case "UNLIKELY": case 2: - message.violence = 2; + message.surpriseLikelihood = 2; break; case "POSSIBLE": case 3: - message.violence = 3; + message.surpriseLikelihood = 3; break; case "LIKELY": case 4: - message.violence = 4; + message.surpriseLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.violence = 5; + message.surpriseLikelihood = 5; break; } - switch (object.racy) { + switch (object.underExposedLikelihood) { case "UNKNOWN": case 0: - message.racy = 0; + message.underExposedLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.racy = 1; + message.underExposedLikelihood = 1; break; case "UNLIKELY": case 2: - message.racy = 2; + message.underExposedLikelihood = 2; break; case "POSSIBLE": case 3: - message.racy = 3; + message.underExposedLikelihood = 3; break; case "LIKELY": case 4: - message.racy = 4; + message.underExposedLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.racy = 5; + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; break; } return message; }; /** - * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation} message FaceAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SafeSearchAnnotation.toObject = function toObject(message, options) { + FaceAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.landmarks = []; if (options.defaults) { - object.adult = options.enums === String ? "UNKNOWN" : 0; - object.spoof = options.enums === String ? "UNKNOWN" : 0; - object.medical = options.enums === String ? "UNKNOWN" : 0; - object.violence = options.enums === String ? "UNKNOWN" : 0; - object.racy = options.enums === String ? "UNKNOWN" : 0; + object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; } - if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.adult] : message.adult; - if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.spoof] : message.spoof; - if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.medical] : message.medical; - if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.violence] : message.violence; - if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.racy] : message.racy; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; return object; }; /** - * Converts this SafeSearchAnnotation to JSON. + * Converts this FaceAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation * @instance * @returns {Object.} JSON object */ - SafeSearchAnnotation.prototype.toJSON = function toJSON() { + FaceAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SafeSearchAnnotation; - })(); - - v1p1beta1.LatLongRect = (function() { + FaceAnnotation.Landmark = (function() { - /** - * Properties of a LatLongRect. - * @memberof google.cloud.vision.v1p1beta1 - * @interface ILatLongRect - * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng - * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng - */ + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1p1beta1.IPosition|null} [position] Landmark position + */ - /** - * Constructs a new LatLongRect. - * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a LatLongRect. - * @implements ILatLongRect - * @constructor - * @param {google.cloud.vision.v1p1beta1.ILatLongRect=} [properties] Properties to set - */ - function LatLongRect(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]]; - } + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } - /** - * LatLongRect minLatLng. - * @member {google.type.ILatLng|null|undefined} minLatLng - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @instance - */ - LatLongRect.prototype.minLatLng = null; + /** + * Landmark type. + * @member {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; - /** - * LatLongRect maxLatLng. - * @member {google.type.ILatLng|null|undefined} maxLatLng - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @instance - */ - LatLongRect.prototype.maxLatLng = null; + /** + * Landmark position. + * @member {google.cloud.vision.v1p1beta1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; - /** - * Creates a new LatLongRect instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p1beta1.ILatLongRect=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect instance - */ - LatLongRect.create = function create(properties) { - return new LatLongRect(properties); - }; + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; - /** - * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p1beta1.LatLongRect.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p1beta1.ILatLongRect} message LatLongRect message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LatLongRect.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1p1beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; - /** - * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.LatLongRect.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p1beta1.ILatLongRect} message LatLongRect message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a LatLongRect message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LatLongRect.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.LatLongRect(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1p1beta1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a LatLongRect message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LatLongRect.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a LatLongRect message. - * @function verify - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LatLongRect.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { - var error = $root.google.type.LatLng.verify(message.minLatLng); - if (error) - return "minLatLng." + error; - } - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { - var error = $root.google.type.LatLng.verify(message.maxLatLng); - if (error) - return "maxLatLng." + error; - } - return null; - }; + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1p1beta1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; - /** - * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect - */ - LatLongRect.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.LatLongRect) + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": + case 1: + message.type = 1; + break; + case "RIGHT_EYE": + case 2: + message.type = 2; + break; + case "LEFT_OF_LEFT_EYEBROW": + case 3: + message.type = 3; + break; + case "RIGHT_OF_LEFT_EYEBROW": + case 4: + message.type = 4; + break; + case "LEFT_OF_RIGHT_EYEBROW": + case 5: + message.type = 5; + break; + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; + break; + } + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1p1beta1.Position.fromObject(object.position); + } + return message; + }; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1p1beta1.Position.toObject(message.position, options); return object; - var message = new $root.google.cloud.vision.v1p1beta1.LatLongRect(); - if (object.minLatLng != null) { - if (typeof object.minLatLng !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.LatLongRect.minLatLng: object expected"); - message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); - } - if (object.maxLatLng != null) { - if (typeof object.maxLatLng !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.LatLongRect.maxLatLng: object expected"); - message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); - } - return message; - }; + }; - /** - * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p1beta1.LatLongRect} message LatLongRect - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LatLongRect.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.minLatLng = null; - object.maxLatLng = null; - } - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); - return object; - }; + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this LatLongRect to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.LatLongRect - * @instance - * @returns {Object.} JSON object - */ - LatLongRect.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Type enum. + * @name google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); - return LatLongRect; + return Landmark; + })(); + + return FaceAnnotation; })(); - v1p1beta1.ColorInfo = (function() { + v1p1beta1.LocationInfo = (function() { /** - * Properties of a ColorInfo. + * Properties of a LocationInfo. * @memberof google.cloud.vision.v1p1beta1 - * @interface IColorInfo - * @property {google.type.IColor|null} [color] ColorInfo color - * @property {number|null} [score] ColorInfo score - * @property {number|null} [pixelFraction] ColorInfo pixelFraction + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng */ /** - * Constructs a new ColorInfo. + * Constructs a new LocationInfo. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a ColorInfo. - * @implements IColorInfo + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo * @constructor - * @param {google.cloud.vision.v1p1beta1.IColorInfo=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.ILocationInfo=} [properties] Properties to set */ - function ColorInfo(properties) { + function LocationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28625,101 +27761,75 @@ } /** - * ColorInfo color. - * @member {google.type.IColor|null|undefined} color - * @memberof google.cloud.vision.v1p1beta1.ColorInfo - * @instance - */ - ColorInfo.prototype.color = null; - - /** - * ColorInfo score. - * @member {number} score - * @memberof google.cloud.vision.v1p1beta1.ColorInfo - * @instance - */ - ColorInfo.prototype.score = 0; - - /** - * ColorInfo pixelFraction. - * @member {number} pixelFraction - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @instance */ - ColorInfo.prototype.pixelFraction = 0; + LocationInfo.prototype.latLng = null; /** - * Creates a new ColorInfo instance using the specified properties. + * Creates a new LocationInfo instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p1beta1.IColorInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo instance + * @param {google.cloud.vision.v1p1beta1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo instance */ - ColorInfo.create = function create(properties) { - return new ColorInfo(properties); + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); }; /** - * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ColorInfo.verify|verify} messages. + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p1beta1.LocationInfo.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p1beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ILocationInfo} message LocationInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ColorInfo.encode = function encode(message, writer) { + LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) - $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ColorInfo.verify|verify} messages. + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.LocationInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p1beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ILocationInfo} message LocationInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ColorInfo message from the specified reader or buffer. + * Decodes a LocationInfo message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColorInfo.decode = function decode(reader, length) { + LocationInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ColorInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.LocationInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pixelFraction = reader.float(); + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -28730,130 +27840,114 @@ }; /** - * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColorInfo.decodeDelimited = function decodeDelimited(reader) { + LocationInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ColorInfo message. + * Verifies a LocationInfo message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ColorInfo.verify = function verify(message) { + LocationInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.color != null && message.hasOwnProperty("color")) { - var error = $root.google.type.Color.verify(message.color); + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); if (error) - return "color." + error; + return "latLng." + error; } - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - if (typeof message.pixelFraction !== "number") - return "pixelFraction: number expected"; return null; }; /** - * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1p1beta1.LocationInfo} LocationInfo */ - ColorInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.ColorInfo) + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.LocationInfo) return object; - var message = new $root.google.cloud.vision.v1p1beta1.ColorInfo(); - if (object.color != null) { - if (typeof object.color !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.ColorInfo.color: object expected"); - message.color = $root.google.type.Color.fromObject(object.color); + var message = new $root.google.cloud.vision.v1p1beta1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); } - if (object.score != null) - message.score = Number(object.score); - if (object.pixelFraction != null) - message.pixelFraction = Number(object.pixelFraction); return message; }; /** - * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p1beta1.ColorInfo} message ColorInfo + * @param {google.cloud.vision.v1p1beta1.LocationInfo} message LocationInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ColorInfo.toObject = function toObject(message, options) { + LocationInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.color = null; - object.score = 0; - object.pixelFraction = 0; - } - if (message.color != null && message.hasOwnProperty("color")) - object.color = $root.google.type.Color.toObject(message.color, options); - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); return object; }; /** - * Converts this ColorInfo to JSON. + * Converts this LocationInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @memberof google.cloud.vision.v1p1beta1.LocationInfo * @instance * @returns {Object.} JSON object */ - ColorInfo.prototype.toJSON = function toJSON() { + LocationInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ColorInfo; + return LocationInfo; })(); - v1p1beta1.DominantColorsAnnotation = (function() { + v1p1beta1.Property = (function() { /** - * Properties of a DominantColorsAnnotation. + * Properties of a Property. * @memberof google.cloud.vision.v1p1beta1 - * @interface IDominantColorsAnnotation - * @property {Array.|null} [colors] DominantColorsAnnotation colors + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value */ /** - * Constructs a new DominantColorsAnnotation. + * Constructs a new Property. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a DominantColorsAnnotation. - * @implements IDominantColorsAnnotation + * @classdesc Represents a Property. + * @implements IProperty * @constructor - * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IProperty=} [properties] Properties to set */ - function DominantColorsAnnotation(properties) { - this.colors = []; + function Property(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28861,78 +27955,101 @@ } /** - * DominantColorsAnnotation colors. - * @member {Array.} colors - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1p1beta1.Property * @instance */ - DominantColorsAnnotation.prototype.colors = $util.emptyArray; + Property.prototype.name = ""; /** - * Creates a new DominantColorsAnnotation instance using the specified properties. + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1p1beta1.Property + * @instance + */ + Property.prototype.value = ""; + + /** + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1p1beta1.Property + * @instance + */ + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Property instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1.Property * @static - * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation instance + * @param {google.cloud.vision.v1p1beta1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.Property} Property instance */ - DominantColorsAnnotation.create = function create(properties) { - return new DominantColorsAnnotation(properties); + Property.create = function create(properties) { + return new Property(properties); }; /** - * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify|verify} messages. + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Property.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1.Property * @static - * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DominantColorsAnnotation.encode = function encode(message, writer) { + Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.colors != null && message.colors.length) - for (var i = 0; i < message.colors.length; ++i) - $root.google.cloud.vision.v1p1beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; /** - * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify|verify} messages. + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Property.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1.Property * @static - * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + Property.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * Decodes a Property message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p1beta1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decode = function decode(reader, length) { + Property.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Property(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1p1beta1.ColorInfo.decode(reader, reader.uint32())); + message.name = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + case 3: + message.uint64Value = reader.uint64(); break; default: reader.skipType(tag & 7); @@ -28943,124 +28060,148 @@ }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a Property message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p1beta1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + Property.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DominantColorsAnnotation message. + * Verifies a Property message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1.Property * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DominantColorsAnnotation.verify = function verify(message) { + Property.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.colors != null && message.hasOwnProperty("colors")) { - if (!Array.isArray(message.colors)) - return "colors: array expected"; - for (var i = 0; i < message.colors.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.ColorInfo.verify(message.colors[i]); - if (error) - return "colors." + error; - } - } + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; return null; }; /** - * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a Property message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1.Property * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p1beta1.Property} Property */ - DominantColorsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation) + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.Property) return object; - var message = new $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation(); - if (object.colors) { - if (!Array.isArray(object.colors)) - throw TypeError(".google.cloud.vision.v1p1beta1.DominantColorsAnnotation.colors: array expected"); - message.colors = []; - for (var i = 0; i < object.colors.length; ++i) { - if (typeof object.colors[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.DominantColorsAnnotation.colors: object expected"); - message.colors[i] = $root.google.cloud.vision.v1p1beta1.ColorInfo.fromObject(object.colors[i]); - } - } + var message = new $root.google.cloud.vision.v1p1beta1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); return message; }; /** - * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a Property message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1.Property * @static - * @param {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {google.cloud.vision.v1p1beta1.Property} message Property * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DominantColorsAnnotation.toObject = function toObject(message, options) { + Property.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.colors = []; - if (message.colors && message.colors.length) { - object.colors = []; - for (var j = 0; j < message.colors.length; ++j) - object.colors[j] = $root.google.cloud.vision.v1p1beta1.ColorInfo.toObject(message.colors[j], options); + if (options.defaults) { + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; return object; }; /** - * Converts this DominantColorsAnnotation to JSON. + * Converts this Property to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p1beta1.Property * @instance * @returns {Object.} JSON object */ - DominantColorsAnnotation.prototype.toJSON = function toJSON() { + Property.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DominantColorsAnnotation; + return Property; })(); - v1p1beta1.ImageProperties = (function() { + v1p1beta1.EntityAnnotation = (function() { /** - * Properties of an ImageProperties. + * Properties of an EntityAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @interface IImageProperties - * @property {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties */ /** - * Constructs a new ImageProperties. + * Constructs a new EntityAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents an ImageProperties. - * @implements IImageProperties + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation * @constructor - * @param {google.cloud.vision.v1p1beta1.IImageProperties=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation=} [properties] Properties to set */ - function ImageProperties(properties) { + function EntityAnnotation(properties) { + this.locations = []; + this.properties = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29068,75 +28209,185 @@ } /** - * ImageProperties dominantColors. - * @member {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation|null|undefined} dominantColors - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @instance */ - ImageProperties.prototype.dominantColors = null; + EntityAnnotation.prototype.mid = ""; /** - * Creates a new ImageProperties instance using the specified properties. + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locale = ""; + + /** + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.score = 0; + + /** + * EntityAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.confidence = 0; + + /** + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.topicality = 0; + + /** + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IImageProperties=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties instance + * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation instance */ - ImageProperties.create = function create(properties) { - return new ImageProperties(properties); + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); }; /** - * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageProperties.verify|verify} messages. + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.EntityAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encode = function encode(message, writer) { + EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1p1beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1p1beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageProperties.verify|verify} messages. + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.EntityAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageProperties message from the specified reader or buffer. + * Decodes an EntityAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decode = function decode(reader, length) { + EntityAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ImageProperties(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.EntityAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + message.mid = reader.string(); + break; + case 2: + message.locale = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p1beta1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p1beta1.Property.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -29147,114 +28398,217 @@ }; /** - * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decodeDelimited = function decodeDelimited(reader) { + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageProperties message. + * Verifies an EntityAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageProperties.verify = function verify(message) { + EntityAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { - var error = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify(message.dominantColors); + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingPoly); if (error) - return "dominantColors." + error; + return "boundingPoly." + error; } - return null; + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } + } + return null; }; /** - * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p1beta1.EntityAnnotation} EntityAnnotation */ - ImageProperties.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.ImageProperties) + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.EntityAnnotation) return object; - var message = new $root.google.cloud.vision.v1p1beta1.ImageProperties(); - if (object.dominantColors != null) { - if (typeof object.dominantColors !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.ImageProperties.dominantColors: object expected"); - message.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.fromObject(object.dominantColors); + var message = new $root.google.cloud.vision.v1p1beta1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); + if (object.score != null) + message.score = Number(object.score); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1p1beta1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1p1beta1.Property.fromObject(object.properties[i]); + } } return message; }; /** - * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.ImageProperties} message ImageProperties + * @param {google.cloud.vision.v1p1beta1.EntityAnnotation} message EntityAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageProperties.toObject = function toObject(message, options) { + EntityAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.dominantColors = null; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - object.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } + if (options.defaults) { + object.mid = ""; + object.locale = ""; + object.description = ""; + object.score = 0; + object.confidence = 0; + object.topicality = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1p1beta1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1p1beta1.Property.toObject(message.properties[j], options); + } return object; }; /** - * Converts this ImageProperties to JSON. + * Converts this EntityAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation * @instance * @returns {Object.} JSON object */ - ImageProperties.prototype.toJSON = function toJSON() { + EntityAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageProperties; + return EntityAnnotation; })(); - v1p1beta1.CropHint = (function() { + v1p1beta1.SafeSearchAnnotation = (function() { /** - * Properties of a CropHint. + * Properties of a SafeSearchAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @interface ICropHint - * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly - * @property {number|null} [confidence] CropHint confidence - * @property {number|null} [importanceFraction] CropHint importanceFraction + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1p1beta1.Likelihood|null} [racy] SafeSearchAnnotation racy */ /** - * Constructs a new CropHint. + * Constructs a new SafeSearchAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a CropHint. - * @implements ICropHint + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation * @constructor - * @param {google.cloud.vision.v1p1beta1.ICropHint=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation=} [properties] Properties to set */ - function CropHint(properties) { + function SafeSearchAnnotation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29262,101 +28616,127 @@ } /** - * CropHint boundingPoly. - * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p1beta1.CropHint + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1p1beta1.Likelihood} adult + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @instance */ - CropHint.prototype.boundingPoly = null; + SafeSearchAnnotation.prototype.adult = 0; /** - * CropHint confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p1beta1.CropHint + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1p1beta1.Likelihood} spoof + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @instance */ - CropHint.prototype.confidence = 0; + SafeSearchAnnotation.prototype.spoof = 0; /** - * CropHint importanceFraction. - * @member {number} importanceFraction - * @memberof google.cloud.vision.v1p1beta1.CropHint + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1p1beta1.Likelihood} medical + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @instance */ - CropHint.prototype.importanceFraction = 0; + SafeSearchAnnotation.prototype.medical = 0; /** - * Creates a new CropHint instance using the specified properties. + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1p1beta1.Likelihood} violence + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1p1beta1.Likelihood} racy + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.CropHint + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.ICropHint=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint instance + * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation instance */ - CropHint.create = function create(properties) { - return new CropHint(properties); + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); }; /** - * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHint.verify|verify} messages. + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.CropHint + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encode = function encode(message, writer) { + SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; /** - * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHint.verify|verify} messages. + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.CropHint + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encodeDelimited = function encodeDelimited(message, writer) { + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHint message from the specified reader or buffer. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.CropHint + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decode = function decode(reader, length) { + SafeSearchAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.CropHint(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + message.adult = reader.int32(); break; case 2: - message.confidence = reader.float(); + message.spoof = reader.int32(); break; case 3: - message.importanceFraction = reader.float(); + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); break; default: reader.skipType(tag & 7); @@ -29367,130 +28747,306 @@ }; /** - * Decodes a CropHint message from the specified reader or buffer, length delimited. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.CropHint + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decodeDelimited = function decodeDelimited(reader) { + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHint message. + * Verifies a SafeSearchAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.CropHint + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHint.verify = function verify(message) { + SafeSearchAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - if (typeof message.importanceFraction !== "number") - return "importanceFraction: number expected"; + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } return null; }; /** - * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.CropHint + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} SafeSearchAnnotation */ - CropHint.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.CropHint) + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation) return object; - var message = new $root.google.cloud.vision.v1p1beta1.CropHint(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.CropHint.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingPoly); + var message = new $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; } - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.importanceFraction != null) - message.importanceFraction = Number(object.importanceFraction); return message; }; /** - * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.CropHint + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.CropHint} message CropHint + * @param {google.cloud.vision.v1p1beta1.SafeSearchAnnotation} message SafeSearchAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHint.toObject = function toObject(message, options) { + SafeSearchAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.boundingPoly = null; - object.confidence = 0; - object.importanceFraction = 0; + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; } - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.racy] : message.racy; return object; }; /** - * Converts this CropHint to JSON. + * Converts this SafeSearchAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.CropHint + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation * @instance * @returns {Object.} JSON object */ - CropHint.prototype.toJSON = function toJSON() { + SafeSearchAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHint; + return SafeSearchAnnotation; })(); - v1p1beta1.CropHintsAnnotation = (function() { + v1p1beta1.LatLongRect = (function() { /** - * Properties of a CropHintsAnnotation. + * Properties of a LatLongRect. * @memberof google.cloud.vision.v1p1beta1 - * @interface ICropHintsAnnotation - * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng */ /** - * Constructs a new CropHintsAnnotation. + * Constructs a new LatLongRect. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a CropHintsAnnotation. - * @implements ICropHintsAnnotation + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect * @constructor - * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.ILatLongRect=} [properties] Properties to set */ - function CropHintsAnnotation(properties) { - this.cropHints = []; + function LatLongRect(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29498,78 +29054,88 @@ } /** - * CropHintsAnnotation cropHints. - * @member {Array.} cropHints - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @instance */ - CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + LatLongRect.prototype.minLatLng = null; /** - * Creates a new CropHintsAnnotation instance using the specified properties. + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.maxLatLng = null; + + /** + * Creates a new LatLongRect instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation instance + * @param {google.cloud.vision.v1p1beta1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect instance */ - CropHintsAnnotation.create = function create(properties) { - return new CropHintsAnnotation(properties); + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); }; /** - * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p1beta1.LatLongRect.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encode = function encode(message, writer) { + LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.cropHints != null && message.cropHints.length) - for (var i = 0; i < message.cropHints.length; ++i) - $root.google.cloud.vision.v1p1beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.LatLongRect.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * Decodes a LatLongRect message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decode = function decode(reader, length) { + LatLongRect.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.LatLongRect(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1p1beta1.CropHint.decode(reader, reader.uint32())); + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + case 2: + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -29580,125 +29146,128 @@ }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + LatLongRect.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsAnnotation message. + * Verifies a LatLongRect message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsAnnotation.verify = function verify(message) { + LatLongRect.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.cropHints != null && message.hasOwnProperty("cropHints")) { - if (!Array.isArray(message.cropHints)) - return "cropHints: array expected"; - for (var i = 0; i < message.cropHints.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.CropHint.verify(message.cropHints[i]); - if (error) - return "cropHints." + error; - } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); + if (error) + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; } return null; }; /** - * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p1beta1.LatLongRect} LatLongRect */ - CropHintsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation) + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.LatLongRect) return object; - var message = new $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation(); - if (object.cropHints) { - if (!Array.isArray(object.cropHints)) - throw TypeError(".google.cloud.vision.v1p1beta1.CropHintsAnnotation.cropHints: array expected"); - message.cropHints = []; - for (var i = 0; i < object.cropHints.length; ++i) { - if (typeof object.cropHints[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.CropHintsAnnotation.cropHints: object expected"); - message.cropHints[i] = $root.google.cloud.vision.v1p1beta1.CropHint.fromObject(object.cropHints[i]); - } + var message = new $root.google.cloud.vision.v1p1beta1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); } return message; }; /** - * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p1beta1.CropHintsAnnotation} message CropHintsAnnotation + * @param {google.cloud.vision.v1p1beta1.LatLongRect} message LatLongRect * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsAnnotation.toObject = function toObject(message, options) { + LatLongRect.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.cropHints = []; - if (message.cropHints && message.cropHints.length) { - object.cropHints = []; - for (var j = 0; j < message.cropHints.length; ++j) - object.cropHints[j] = $root.google.cloud.vision.v1p1beta1.CropHint.toObject(message.cropHints[j], options); + if (options.defaults) { + object.minLatLng = null; + object.maxLatLng = null; } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); return object; }; /** - * Converts this CropHintsAnnotation to JSON. + * Converts this LatLongRect to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.LatLongRect * @instance * @returns {Object.} JSON object */ - CropHintsAnnotation.prototype.toJSON = function toJSON() { + LatLongRect.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsAnnotation; + return LatLongRect; })(); - v1p1beta1.CropHintsParams = (function() { + v1p1beta1.ColorInfo = (function() { /** - * Properties of a CropHintsParams. + * Properties of a ColorInfo. * @memberof google.cloud.vision.v1p1beta1 - * @interface ICropHintsParams - * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction */ /** - * Constructs a new CropHintsParams. + * Constructs a new ColorInfo. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a CropHintsParams. - * @implements ICropHintsParams + * @classdesc Represents a ColorInfo. + * @implements IColorInfo * @constructor - * @param {google.cloud.vision.v1p1beta1.ICropHintsParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IColorInfo=} [properties] Properties to set */ - function CropHintsParams(properties) { - this.aspectRatios = []; + function ColorInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29706,86 +29275,101 @@ } /** - * CropHintsParams aspectRatios. - * @member {Array.} aspectRatios - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @instance */ - CropHintsParams.prototype.aspectRatios = $util.emptyArray; + ColorInfo.prototype.color = null; /** - * Creates a new CropHintsParams instance using the specified properties. + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.score = 0; + + /** + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.pixelFraction = 0; + + /** + * Creates a new ColorInfo instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p1beta1.ICropHintsParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams instance + * @param {google.cloud.vision.v1p1beta1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo instance */ - CropHintsParams.create = function create(properties) { - return new CropHintsParams(properties); + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); }; /** - * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsParams.verify|verify} messages. + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ColorInfo.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p1beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encode = function encode(message, writer) { + ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.aspectRatios != null && message.aspectRatios.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.aspectRatios.length; ++i) - writer.float(message.aspectRatios[i]); - writer.ldelim(); - } + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; /** - * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsParams.verify|verify} messages. + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ColorInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p1beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsParams message from the specified reader or buffer. + * Decodes a ColorInfo message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decode = function decode(reader, length) { + ColorInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.CropHintsParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ColorInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pixelFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -29796,119 +29380,130 @@ }; /** - * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + ColorInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsParams message. + * Verifies a ColorInfo message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsParams.verify = function verify(message) { + ColorInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { - if (!Array.isArray(message.aspectRatios)) - return "aspectRatios: array expected"; - for (var i = 0; i < message.aspectRatios.length; ++i) - if (typeof message.aspectRatios[i] !== "number") - return "aspectRatios: number[] expected"; + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); + if (error) + return "color." + error; } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; return null; }; /** - * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p1beta1.ColorInfo} ColorInfo */ - CropHintsParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.CropHintsParams) + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.ColorInfo) return object; - var message = new $root.google.cloud.vision.v1p1beta1.CropHintsParams(); - if (object.aspectRatios) { - if (!Array.isArray(object.aspectRatios)) - throw TypeError(".google.cloud.vision.v1p1beta1.CropHintsParams.aspectRatios: array expected"); - message.aspectRatios = []; - for (var i = 0; i < object.aspectRatios.length; ++i) - message.aspectRatios[i] = Number(object.aspectRatios[i]); + var message = new $root.google.cloud.vision.v1p1beta1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); } + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); return message; }; /** - * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p1beta1.CropHintsParams} message CropHintsParams + * @param {google.cloud.vision.v1p1beta1.ColorInfo} message ColorInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsParams.toObject = function toObject(message, options) { + ColorInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.aspectRatios = []; - if (message.aspectRatios && message.aspectRatios.length) { - object.aspectRatios = []; - for (var j = 0; j < message.aspectRatios.length; ++j) - object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; + if (options.defaults) { + object.color = null; + object.score = 0; + object.pixelFraction = 0; } + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; return object; }; /** - * Converts this CropHintsParams to JSON. + * Converts this ColorInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ColorInfo * @instance * @returns {Object.} JSON object */ - CropHintsParams.prototype.toJSON = function toJSON() { + ColorInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsParams; + return ColorInfo; })(); - v1p1beta1.WebDetectionParams = (function() { + v1p1beta1.DominantColorsAnnotation = (function() { /** - * Properties of a WebDetectionParams. + * Properties of a DominantColorsAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @interface IWebDetectionParams - * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors */ /** - * Constructs a new WebDetectionParams. + * Constructs a new DominantColorsAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a WebDetectionParams. - * @implements IWebDetectionParams + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation * @constructor - * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation=} [properties] Properties to set */ - function WebDetectionParams(properties) { + function DominantColorsAnnotation(properties) { + this.colors = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29916,75 +29511,78 @@ } /** - * WebDetectionParams includeGeoResults. - * @member {boolean} includeGeoResults - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @instance */ - WebDetectionParams.prototype.includeGeoResults = false; + DominantColorsAnnotation.prototype.colors = $util.emptyArray; /** - * Creates a new WebDetectionParams instance using the specified properties. + * Creates a new DominantColorsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams instance + * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation instance */ - WebDetectionParams.create = function create(properties) { - return new WebDetectionParams(properties); + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); }; /** - * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetectionParams.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encode = function encode(message, writer) { + DominantColorsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1p1beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetectionParams.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decode = function decode(reader, length) { + DominantColorsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.WebDetectionParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.includeGeoResults = reader.bool(); + case 1: + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p1beta1.ColorInfo.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -29995,111 +29593,124 @@ }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WebDetectionParams message. + * Verifies a DominantColorsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WebDetectionParams.verify = function verify(message) { + DominantColorsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - if (typeof message.includeGeoResults !== "boolean") - return "includeGeoResults: boolean expected"; + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.ColorInfo.verify(message.colors[i]); + if (error) + return "colors." + error; + } + } return null; }; /** - * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} DominantColorsAnnotation */ - WebDetectionParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.WebDetectionParams) + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation) return object; - var message = new $root.google.cloud.vision.v1p1beta1.WebDetectionParams(); - if (object.includeGeoResults != null) - message.includeGeoResults = Boolean(object.includeGeoResults); - return message; + var message = new $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1p1beta1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1p1beta1.ColorInfo.fromObject(object.colors[i]); + } + } + return message; }; /** - * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.WebDetectionParams} message WebDetectionParams + * @param {google.cloud.vision.v1p1beta1.DominantColorsAnnotation} message DominantColorsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WebDetectionParams.toObject = function toObject(message, options) { + DominantColorsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.includeGeoResults = false; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - object.includeGeoResults = message.includeGeoResults; + if (options.arrays || options.defaults) + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1p1beta1.ColorInfo.toObject(message.colors[j], options); + } return object; }; /** - * Converts this WebDetectionParams to JSON. + * Converts this DominantColorsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation * @instance * @returns {Object.} JSON object */ - WebDetectionParams.prototype.toJSON = function toJSON() { + DominantColorsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return WebDetectionParams; + return DominantColorsAnnotation; })(); - v1p1beta1.ImageContext = (function() { + v1p1beta1.ImageProperties = (function() { /** - * Properties of an ImageContext. + * Properties of an ImageProperties. * @memberof google.cloud.vision.v1p1beta1 - * @interface IImageContext - * @property {google.cloud.vision.v1p1beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect - * @property {Array.|null} [languageHints] ImageContext languageHints - * @property {google.cloud.vision.v1p1beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams - * @property {google.cloud.vision.v1p1beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @interface IImageProperties + * @property {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors */ /** - * Constructs a new ImageContext. + * Constructs a new ImageProperties. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents an ImageContext. - * @implements IImageContext + * @classdesc Represents an ImageProperties. + * @implements IImageProperties * @constructor - * @param {google.cloud.vision.v1p1beta1.IImageContext=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IImageProperties=} [properties] Properties to set */ - function ImageContext(properties) { - this.languageHints = []; + function ImageProperties(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30107,117 +29718,75 @@ } /** - * ImageContext latLongRect. - * @member {google.cloud.vision.v1p1beta1.ILatLongRect|null|undefined} latLongRect - * @memberof google.cloud.vision.v1p1beta1.ImageContext - * @instance - */ - ImageContext.prototype.latLongRect = null; - - /** - * ImageContext languageHints. - * @member {Array.} languageHints - * @memberof google.cloud.vision.v1p1beta1.ImageContext - * @instance - */ - ImageContext.prototype.languageHints = $util.emptyArray; - - /** - * ImageContext cropHintsParams. - * @member {google.cloud.vision.v1p1beta1.ICropHintsParams|null|undefined} cropHintsParams - * @memberof google.cloud.vision.v1p1beta1.ImageContext - * @instance - */ - ImageContext.prototype.cropHintsParams = null; - - /** - * ImageContext webDetectionParams. - * @member {google.cloud.vision.v1p1beta1.IWebDetectionParams|null|undefined} webDetectionParams - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1p1beta1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @instance */ - ImageContext.prototype.webDetectionParams = null; + ImageProperties.prototype.dominantColors = null; /** - * Creates a new ImageContext instance using the specified properties. + * Creates a new ImageProperties instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p1beta1.IImageContext=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext instance + * @param {google.cloud.vision.v1p1beta1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties instance */ - ImageContext.create = function create(properties) { - return new ImageContext(properties); + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); }; /** - * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageContext.verify|verify} messages. + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageProperties.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p1beta1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encode = function encode(message, writer) { + ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - $root.google.cloud.vision.v1p1beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.languageHints != null && message.languageHints.length) - for (var i = 0; i < message.languageHints.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - $root.google.cloud.vision.v1p1beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - $root.google.cloud.vision.v1p1beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageContext.verify|verify} messages. + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageProperties.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p1beta1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageContext message from the specified reader or buffer. + * Decodes an ImageProperties message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decode = function decode(reader, length) { + ImageProperties.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ImageContext(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ImageProperties(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.decode(reader, reader.uint32()); + message.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -30228,163 +29797,114 @@ }; /** - * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decodeDelimited = function decodeDelimited(reader) { + ImageProperties.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageContext message. + * Verifies an ImageProperties message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageContext.verify = function verify(message) { + ImageProperties.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { - var error = $root.google.cloud.vision.v1p1beta1.LatLongRect.verify(message.latLongRect); - if (error) - return "latLongRect." + error; - } - if (message.languageHints != null && message.hasOwnProperty("languageHints")) { - if (!Array.isArray(message.languageHints)) - return "languageHints: array expected"; - for (var i = 0; i < message.languageHints.length; ++i) - if (!$util.isString(message.languageHints[i])) - return "languageHints: string[] expected"; - } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { - var error = $root.google.cloud.vision.v1p1beta1.CropHintsParams.verify(message.cropHintsParams); - if (error) - return "cropHintsParams." + error; - } - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { - var error = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.verify(message.webDetectionParams); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.verify(message.dominantColors); if (error) - return "webDetectionParams." + error; + return "dominantColors." + error; } return null; }; /** - * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p1beta1.ImageProperties} ImageProperties */ - ImageContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.ImageContext) + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.ImageProperties) return object; - var message = new $root.google.cloud.vision.v1p1beta1.ImageContext(); - if (object.latLongRect != null) { - if (typeof object.latLongRect !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.latLongRect: object expected"); - message.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.fromObject(object.latLongRect); - } - if (object.languageHints) { - if (!Array.isArray(object.languageHints)) - throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.languageHints: array expected"); - message.languageHints = []; - for (var i = 0; i < object.languageHints.length; ++i) - message.languageHints[i] = String(object.languageHints[i]); - } - if (object.cropHintsParams != null) { - if (typeof object.cropHintsParams !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.cropHintsParams: object expected"); - message.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.fromObject(object.cropHintsParams); - } - if (object.webDetectionParams != null) { - if (typeof object.webDetectionParams !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.webDetectionParams: object expected"); - message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.fromObject(object.webDetectionParams); + var message = new $root.google.cloud.vision.v1p1beta1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.fromObject(object.dominantColors); } return message; }; /** - * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p1beta1.ImageContext} message ImageContext + * @param {google.cloud.vision.v1p1beta1.ImageProperties} message ImageProperties * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageContext.toObject = function toObject(message, options) { + ImageProperties.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.languageHints = []; - if (options.defaults) { - object.latLongRect = null; - object.cropHintsParams = null; - object.webDetectionParams = null; - } - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - object.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.toObject(message.latLongRect, options); - if (message.languageHints && message.languageHints.length) { - object.languageHints = []; - for (var j = 0; j < message.languageHints.length; ++j) - object.languageHints[j] = message.languageHints[j]; - } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - object.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.toObject(message.cropHintsParams, options); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - object.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + if (options.defaults) + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); return object; }; /** - * Converts this ImageContext to JSON. + * Converts this ImageProperties to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @memberof google.cloud.vision.v1p1beta1.ImageProperties * @instance * @returns {Object.} JSON object */ - ImageContext.prototype.toJSON = function toJSON() { + ImageProperties.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageContext; + return ImageProperties; })(); - v1p1beta1.AnnotateImageRequest = (function() { + v1p1beta1.CropHint = (function() { /** - * Properties of an AnnotateImageRequest. + * Properties of a CropHint. * @memberof google.cloud.vision.v1p1beta1 - * @interface IAnnotateImageRequest - * @property {google.cloud.vision.v1p1beta1.IImage|null} [image] AnnotateImageRequest image - * @property {Array.|null} [features] AnnotateImageRequest features - * @property {google.cloud.vision.v1p1beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + * @interface ICropHint + * @property {google.cloud.vision.v1p1beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction */ /** - * Constructs a new AnnotateImageRequest. + * Constructs a new CropHint. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents an AnnotateImageRequest. - * @implements IAnnotateImageRequest + * @classdesc Represents a CropHint. + * @implements ICropHint * @constructor - * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.ICropHint=} [properties] Properties to set */ - function AnnotateImageRequest(properties) { - this.features = []; + function CropHint(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30392,104 +29912,101 @@ } /** - * AnnotateImageRequest image. - * @member {google.cloud.vision.v1p1beta1.IImage|null|undefined} image - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * CropHint boundingPoly. + * @member {google.cloud.vision.v1p1beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p1beta1.CropHint * @instance */ - AnnotateImageRequest.prototype.image = null; + CropHint.prototype.boundingPoly = null; /** - * AnnotateImageRequest features. - * @member {Array.} features - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.CropHint * @instance */ - AnnotateImageRequest.prototype.features = $util.emptyArray; + CropHint.prototype.confidence = 0; /** - * AnnotateImageRequest imageContext. - * @member {google.cloud.vision.v1p1beta1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1p1beta1.CropHint * @instance */ - AnnotateImageRequest.prototype.imageContext = null; + CropHint.prototype.importanceFraction = 0; /** - * Creates a new AnnotateImageRequest instance using the specified properties. + * Creates a new CropHint instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1.CropHint * @static - * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest instance + * @param {google.cloud.vision.v1p1beta1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint instance */ - AnnotateImageRequest.create = function create(properties) { - return new AnnotateImageRequest(properties); + CropHint.create = function create(properties) { + return new CropHint(properties); }; /** - * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHint.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1.CropHint * @static - * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encode = function encode(message, writer) { + CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) - $root.google.cloud.vision.v1p1beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.features != null && message.features.length) - for (var i = 0; i < message.features.length; ++i) - $root.google.cloud.vision.v1p1beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - $root.google.cloud.vision.v1p1beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; /** - * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHint.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1.CropHint * @static - * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + CropHint.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * Decodes a CropHint message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decode = function decode(reader, length) { + CropHint.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.CropHint(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.image = $root.google.cloud.vision.v1p1beta1.Image.decode(reader, reader.uint32()); + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); break; case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p1beta1.Feature.decode(reader, reader.uint32())); + message.confidence = reader.float(); break; case 3: - message.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.decode(reader, reader.uint32()); + message.importanceFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -30500,167 +30017,130 @@ }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * Decodes a CropHint message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + CropHint.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateImageRequest message. + * Verifies a CropHint message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1.CropHint * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateImageRequest.verify = function verify(message) { + CropHint.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.image != null && message.hasOwnProperty("image")) { - var error = $root.google.cloud.vision.v1p1beta1.Image.verify(message.image); - if (error) - return "image." + error; - } - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (var i = 0; i < message.features.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.Feature.verify(message.features[i]); - if (error) - return "features." + error; - } - } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) { - var error = $root.google.cloud.vision.v1p1beta1.ImageContext.verify(message.imageContext); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p1beta1.BoundingPoly.verify(message.boundingPoly); if (error) - return "imageContext." + error; + return "boundingPoly." + error; } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; return null; }; /** - * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1.CropHint * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p1beta1.CropHint} CropHint */ - AnnotateImageRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest) + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.CropHint) return object; - var message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest(); - if (object.image != null) { - if (typeof object.image !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.image: object expected"); - message.image = $root.google.cloud.vision.v1p1beta1.Image.fromObject(object.image); - } - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) { - if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.features: object expected"); - message.features[i] = $root.google.cloud.vision.v1p1beta1.Feature.fromObject(object.features[i]); - } - } - if (object.imageContext != null) { - if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.imageContext: object expected"); - message.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.fromObject(object.imageContext); + var message = new $root.google.cloud.vision.v1p1beta1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.fromObject(object.boundingPoly); } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); return message; }; /** - * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * Creates a plain object from a CropHint message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1.CropHint * @static - * @param {google.cloud.vision.v1p1beta1.AnnotateImageRequest} message AnnotateImageRequest + * @param {google.cloud.vision.v1p1beta1.CropHint} message CropHint * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageRequest.toObject = function toObject(message, options) { + CropHint.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.features = []; if (options.defaults) { - object.image = null; - object.imageContext = null; - } - if (message.image != null && message.hasOwnProperty("image")) - object.image = $root.google.cloud.vision.v1p1beta1.Image.toObject(message.image, options); - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = $root.google.cloud.vision.v1p1beta1.Feature.toObject(message.features[j], options); + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - object.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.toObject(message.imageContext, options); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; return object; }; /** - * Converts this AnnotateImageRequest to JSON. + * Converts this CropHint to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p1beta1.CropHint * @instance * @returns {Object.} JSON object */ - AnnotateImageRequest.prototype.toJSON = function toJSON() { + CropHint.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageRequest; + return CropHint; })(); - v1p1beta1.AnnotateImageResponse = (function() { + v1p1beta1.CropHintsAnnotation = (function() { /** - * Properties of an AnnotateImageResponse. + * Properties of a CropHintsAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @interface IAnnotateImageResponse - * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations - * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations - * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations - * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations - * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations - * @property {google.cloud.vision.v1p1beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation - * @property {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation - * @property {google.cloud.vision.v1p1beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation - * @property {google.cloud.vision.v1p1beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation - * @property {google.cloud.vision.v1p1beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection - * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints */ /** - * Constructs a new AnnotateImageResponse. + * Constructs a new CropHintsAnnotation. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents an AnnotateImageResponse. - * @implements IAnnotateImageResponse + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation * @constructor - * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation=} [properties] Properties to set */ - function AnnotateImageResponse(properties) { - this.faceAnnotations = []; - this.landmarkAnnotations = []; - this.logoAnnotations = []; - this.labelAnnotations = []; - this.textAnnotations = []; + function CropHintsAnnotation(properties) { + this.cropHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30668,220 +30148,78 @@ } /** - * AnnotateImageResponse faceAnnotations. - * @member {Array.} faceAnnotations - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse landmarkAnnotations. - * @member {Array.} landmarkAnnotations - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse logoAnnotations. - * @member {Array.} logoAnnotations - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse labelAnnotations. - * @member {Array.} labelAnnotations - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse textAnnotations. - * @member {Array.} textAnnotations - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse fullTextAnnotation. - * @member {google.cloud.vision.v1p1beta1.ITextAnnotation|null|undefined} fullTextAnnotation - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.fullTextAnnotation = null; - - /** - * AnnotateImageResponse safeSearchAnnotation. - * @member {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.safeSearchAnnotation = null; - - /** - * AnnotateImageResponse imagePropertiesAnnotation. - * @member {google.cloud.vision.v1p1beta1.IImageProperties|null|undefined} imagePropertiesAnnotation - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; - - /** - * AnnotateImageResponse cropHintsAnnotation. - * @member {google.cloud.vision.v1p1beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.cropHintsAnnotation = null; - - /** - * AnnotateImageResponse webDetection. - * @member {google.cloud.vision.v1p1beta1.IWebDetection|null|undefined} webDetection - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.webDetection = null; - - /** - * AnnotateImageResponse error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @instance */ - AnnotateImageResponse.prototype.error = null; + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; /** - * Creates a new AnnotateImageResponse instance using the specified properties. + * Creates a new CropHintsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse instance + * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation instance */ - AnnotateImageResponse.create = function create(properties) { - return new AnnotateImageResponse(properties); + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); }; /** - * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encode = function encode(message, writer) { + CropHintsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.faceAnnotations != null && message.faceAnnotations.length) - for (var i = 0; i < message.faceAnnotations.length; ++i) - $root.google.cloud.vision.v1p1beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) - for (var i = 0; i < message.landmarkAnnotations.length; ++i) - $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.logoAnnotations != null && message.logoAnnotations.length) - for (var i = 0; i < message.logoAnnotations.length; ++i) - $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.labelAnnotations != null && message.labelAnnotations.length) - for (var i = 0; i < message.labelAnnotations.length; ++i) - $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.textAnnotations != null && message.textAnnotations.length) - for (var i = 0; i < message.textAnnotations.length; ++i) - $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - $root.google.cloud.vision.v1p1beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) - $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - $root.google.cloud.vision.v1p1beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - $root.google.cloud.vision.v1p1beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1p1beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * Decodes a CropHintsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageResponse.decode = function decode(reader, length) { + CropHintsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.decode(reader, reader.uint32()); - break; - case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p1beta1.CropHint.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -30892,306 +30230,125 @@ }; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateImageResponse message. + * Verifies a CropHintsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateImageResponse.verify = function verify(message) { + CropHintsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { - if (!Array.isArray(message.faceAnnotations)) - return "faceAnnotations: array expected"; - for (var i = 0; i < message.faceAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.verify(message.faceAnnotations[i]); - if (error) - return "faceAnnotations." + error; - } - } - if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { - if (!Array.isArray(message.landmarkAnnotations)) - return "landmarkAnnotations: array expected"; - for (var i = 0; i < message.landmarkAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); - if (error) - return "landmarkAnnotations." + error; - } - } - if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { - if (!Array.isArray(message.logoAnnotations)) - return "logoAnnotations: array expected"; - for (var i = 0; i < message.logoAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.logoAnnotations[i]); - if (error) - return "logoAnnotations." + error; - } - } - if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { - if (!Array.isArray(message.labelAnnotations)) - return "labelAnnotations: array expected"; - for (var i = 0; i < message.labelAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.labelAnnotations[i]); - if (error) - return "labelAnnotations." + error; - } - } - if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { - if (!Array.isArray(message.textAnnotations)) - return "textAnnotations: array expected"; - for (var i = 0; i < message.textAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.CropHint.verify(message.cropHints[i]); if (error) - return "textAnnotations." + error; + return "cropHints." + error; } } - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { - var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.verify(message.fullTextAnnotation); - if (error) - return "fullTextAnnotation." + error; - } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { - var error = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); - if (error) - return "safeSearchAnnotation." + error; - } - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { - var error = $root.google.cloud.vision.v1p1beta1.ImageProperties.verify(message.imagePropertiesAnnotation); - if (error) - return "imagePropertiesAnnotation." + error; - } - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { - var error = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); - if (error) - return "cropHintsAnnotation." + error; - } - if (message.webDetection != null && message.hasOwnProperty("webDetection")) { - var error = $root.google.cloud.vision.v1p1beta1.WebDetection.verify(message.webDetection); - if (error) - return "webDetection." + error; - } - if (message.error != null && message.hasOwnProperty("error")) { - var error = $root.google.rpc.Status.verify(message.error); - if (error) - return "error." + error; - } return null; }; /** - * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p1beta1.CropHintsAnnotation} CropHintsAnnotation */ - AnnotateImageResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse) + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation) return object; - var message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse(); - if (object.faceAnnotations) { - if (!Array.isArray(object.faceAnnotations)) - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.faceAnnotations: array expected"); - message.faceAnnotations = []; - for (var i = 0; i < object.faceAnnotations.length; ++i) { - if (typeof object.faceAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.faceAnnotations: object expected"); - message.faceAnnotations[i] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); - } - } - if (object.landmarkAnnotations) { - if (!Array.isArray(object.landmarkAnnotations)) - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); - message.landmarkAnnotations = []; - for (var i = 0; i < object.landmarkAnnotations.length; ++i) { - if (typeof object.landmarkAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); - message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); - } - } - if (object.logoAnnotations) { - if (!Array.isArray(object.logoAnnotations)) - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.logoAnnotations: array expected"); - message.logoAnnotations = []; - for (var i = 0; i < object.logoAnnotations.length; ++i) { - if (typeof object.logoAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.logoAnnotations: object expected"); - message.logoAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); - } - } - if (object.labelAnnotations) { - if (!Array.isArray(object.labelAnnotations)) - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.labelAnnotations: array expected"); - message.labelAnnotations = []; - for (var i = 0; i < object.labelAnnotations.length; ++i) { - if (typeof object.labelAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.labelAnnotations: object expected"); - message.labelAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); - } - } - if (object.textAnnotations) { - if (!Array.isArray(object.textAnnotations)) - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.textAnnotations: array expected"); - message.textAnnotations = []; - for (var i = 0; i < object.textAnnotations.length; ++i) { - if (typeof object.textAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.textAnnotations: object expected"); - message.textAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + var message = new $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1p1beta1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1p1beta1.CropHint.fromObject(object.cropHints[i]); } } - if (object.fullTextAnnotation != null) { - if (typeof object.fullTextAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); - message.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.fromObject(object.fullTextAnnotation); - } - if (object.safeSearchAnnotation != null) { - if (typeof object.safeSearchAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); - message.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); - } - if (object.imagePropertiesAnnotation != null) { - if (typeof object.imagePropertiesAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); - } - if (object.cropHintsAnnotation != null) { - if (typeof object.cropHintsAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); - message.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); - } - if (object.webDetection != null) { - if (typeof object.webDetection !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.webDetection: object expected"); - message.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.fromObject(object.webDetection); - } - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); - } return message; }; /** - * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p1beta1.AnnotateImageResponse} message AnnotateImageResponse + * @param {google.cloud.vision.v1p1beta1.CropHintsAnnotation} message CropHintsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageResponse.toObject = function toObject(message, options) { + CropHintsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.faceAnnotations = []; - object.landmarkAnnotations = []; - object.logoAnnotations = []; - object.labelAnnotations = []; - object.textAnnotations = []; - } - if (options.defaults) { - object.safeSearchAnnotation = null; - object.imagePropertiesAnnotation = null; - object.error = null; - object.cropHintsAnnotation = null; - object.fullTextAnnotation = null; - object.webDetection = null; - } - if (message.faceAnnotations && message.faceAnnotations.length) { - object.faceAnnotations = []; - for (var j = 0; j < message.faceAnnotations.length; ++j) - object.faceAnnotations[j] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); - } - if (message.landmarkAnnotations && message.landmarkAnnotations.length) { - object.landmarkAnnotations = []; - for (var j = 0; j < message.landmarkAnnotations.length; ++j) - object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); - } - if (message.logoAnnotations && message.logoAnnotations.length) { - object.logoAnnotations = []; - for (var j = 0; j < message.logoAnnotations.length; ++j) - object.logoAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); - } - if (message.labelAnnotations && message.labelAnnotations.length) { - object.labelAnnotations = []; - for (var j = 0; j < message.labelAnnotations.length; ++j) - object.labelAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); - } - if (message.textAnnotations && message.textAnnotations.length) { - object.textAnnotations = []; - for (var j = 0; j < message.textAnnotations.length; ++j) - object.textAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + if (options.arrays || options.defaults) + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1p1beta1.CropHint.toObject(message.cropHints[j], options); } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - object.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); - if (message.error != null && message.hasOwnProperty("error")) - object.error = $root.google.rpc.Status.toObject(message.error, options); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - object.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - object.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - object.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.toObject(message.webDetection, options); return object; }; /** - * Converts this AnnotateImageResponse to JSON. + * Converts this CropHintsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation * @instance * @returns {Object.} JSON object */ - AnnotateImageResponse.prototype.toJSON = function toJSON() { + CropHintsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageResponse; + return CropHintsAnnotation; })(); - v1p1beta1.BatchAnnotateImagesRequest = (function() { + v1p1beta1.CropHintsParams = (function() { /** - * Properties of a BatchAnnotateImagesRequest. + * Properties of a CropHintsParams. * @memberof google.cloud.vision.v1p1beta1 - * @interface IBatchAnnotateImagesRequest - * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios */ /** - * Constructs a new BatchAnnotateImagesRequest. + * Constructs a new CropHintsParams. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a BatchAnnotateImagesRequest. - * @implements IBatchAnnotateImagesRequest + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams * @constructor - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.ICropHintsParams=} [properties] Properties to set */ - function BatchAnnotateImagesRequest(properties) { - this.requests = []; + function CropHintsParams(properties) { + this.aspectRatios = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31199,78 +30356,86 @@ } /** - * BatchAnnotateImagesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @instance */ - BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + CropHintsParams.prototype.aspectRatios = $util.emptyArray; /** - * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * Creates a new CropHintsParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + * @param {google.cloud.vision.v1p1beta1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams instance */ - BatchAnnotateImagesRequest.create = function create(properties) { - return new BatchAnnotateImagesRequest(properties); + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); }; /** - * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encode = function encode(message, writer) { + CropHintsParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } return writer; }; /** - * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.CropHintsParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * Decodes a CropHintsParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decode = function decode(reader, length) { + CropHintsParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.CropHintsParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); break; default: reader.skipType(tag & 7); @@ -31281,125 +30446,119 @@ }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesRequest message. + * Verifies a CropHintsParams message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesRequest.verify = function verify(message) { + CropHintsParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify(message.requests[i]); - if (error) - return "requests." + error; - } + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; } return null; }; /** - * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p1beta1.CropHintsParams} CropHintsParams */ - BatchAnnotateImagesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest) + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.CropHintsParams) return object; - var message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.fromObject(object.requests[i]); - } + var message = new $root.google.cloud.vision.v1p1beta1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1p1beta1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); } return message; }; /** - * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {google.cloud.vision.v1p1beta1.CropHintsParams} message CropHintsParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + CropHintsParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.requests = []; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.toObject(message.requests[j], options); + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; } return object; }; /** - * Converts this BatchAnnotateImagesRequest to JSON. + * Converts this CropHintsParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + CropHintsParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesRequest; + return CropHintsParams; })(); - v1p1beta1.BatchAnnotateImagesResponse = (function() { + v1p1beta1.WebDetectionParams = (function() { /** - * Properties of a BatchAnnotateImagesResponse. + * Properties of a WebDetectionParams. * @memberof google.cloud.vision.v1p1beta1 - * @interface IBatchAnnotateImagesResponse - * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults */ /** - * Constructs a new BatchAnnotateImagesResponse. + * Constructs a new WebDetectionParams. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a BatchAnnotateImagesResponse. - * @implements IBatchAnnotateImagesResponse + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams * @constructor - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams=} [properties] Properties to set */ - function BatchAnnotateImagesResponse(properties) { - this.responses = []; + function WebDetectionParams(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31407,78 +30566,75 @@ } /** - * BatchAnnotateImagesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @instance */ - BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + WebDetectionParams.prototype.includeGeoResults = false; /** - * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * Creates a new WebDetectionParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams instance */ - BatchAnnotateImagesResponse.create = function create(properties) { - return new BatchAnnotateImagesResponse(properties); + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); }; /** - * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetectionParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encode = function encode(message, writer) { + WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; /** - * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.WebDetectionParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * Decodes a WebDetectionParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decode = function decode(reader, length) { + WebDetectionParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.WebDetectionParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + case 2: + message.includeGeoResults = reader.bool(); break; default: reader.skipType(tag & 7); @@ -31489,147 +30645,111 @@ }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesResponse message. + * Verifies a WebDetectionParams message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesResponse.verify = function verify(message) { + WebDetectionParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify(message.responses[i]); - if (error) - return "responses." + error; - } - } + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; return null; }; /** - * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p1beta1.WebDetectionParams} WebDetectionParams */ - BatchAnnotateImagesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse) + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.WebDetectionParams) return object; - var message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse(); - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.fromObject(object.responses[i]); - } - } + var message = new $root.google.cloud.vision.v1p1beta1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); return message; }; /** - * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {google.cloud.vision.v1p1beta1.WebDetectionParams} message WebDetectionParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + WebDetectionParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.responses = []; - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.toObject(message.responses[j], options); - } + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; return object; }; /** - * Converts this BatchAnnotateImagesResponse to JSON. + * Converts this WebDetectionParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + WebDetectionParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesResponse; - })(); - - /** - * Likelihood enum. - * @name google.cloud.vision.v1p1beta1.Likelihood - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value - * @property {number} UNLIKELY=2 UNLIKELY value - * @property {number} POSSIBLE=3 POSSIBLE value - * @property {number} LIKELY=4 LIKELY value - * @property {number} VERY_LIKELY=5 VERY_LIKELY value - */ - v1p1beta1.Likelihood = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "VERY_UNLIKELY"] = 1; - values[valuesById[2] = "UNLIKELY"] = 2; - values[valuesById[3] = "POSSIBLE"] = 3; - values[valuesById[4] = "LIKELY"] = 4; - values[valuesById[5] = "VERY_LIKELY"] = 5; - return values; + return WebDetectionParams; })(); - v1p1beta1.Vertex = (function() { + v1p1beta1.ImageContext = (function() { /** - * Properties of a Vertex. + * Properties of an ImageContext. * @memberof google.cloud.vision.v1p1beta1 - * @interface IVertex - * @property {number|null} [x] Vertex x - * @property {number|null} [y] Vertex y + * @interface IImageContext + * @property {google.cloud.vision.v1p1beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1p1beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1p1beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams */ /** - * Constructs a new Vertex. + * Constructs a new ImageContext. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a Vertex. - * @implements IVertex + * @classdesc Represents an ImageContext. + * @implements IImageContext * @constructor - * @param {google.cloud.vision.v1p1beta1.IVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IImageContext=} [properties] Properties to set */ - function Vertex(properties) { + function ImageContext(properties) { + this.languageHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31637,88 +30757,117 @@ } /** - * Vertex x. - * @member {number} x - * @memberof google.cloud.vision.v1p1beta1.Vertex + * ImageContext latLongRect. + * @member {google.cloud.vision.v1p1beta1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @instance */ - Vertex.prototype.x = 0; + ImageContext.prototype.latLongRect = null; /** - * Vertex y. - * @member {number} y - * @memberof google.cloud.vision.v1p1beta1.Vertex + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @instance */ - Vertex.prototype.y = 0; + ImageContext.prototype.languageHints = $util.emptyArray; /** - * Creates a new Vertex instance using the specified properties. + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1p1beta1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @instance + */ + ImageContext.prototype.cropHintsParams = null; + + /** + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1p1beta1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @instance + */ + ImageContext.prototype.webDetectionParams = null; + + /** + * Creates a new ImageContext instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.Vertex + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @static - * @param {google.cloud.vision.v1p1beta1.IVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex instance + * @param {google.cloud.vision.v1p1beta1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext instance */ - Vertex.create = function create(properties) { - return new Vertex(properties); + ImageContext.create = function create(properties) { + return new ImageContext(properties); }; /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageContext.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.Vertex + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @static - * @param {google.cloud.vision.v1p1beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encode = function encode(message, writer) { + ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1p1beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1p1beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1p1beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Vertex.verify|verify} messages. + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.ImageContext.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Vertex + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @static - * @param {google.cloud.vision.v1p1beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encodeDelimited = function encodeDelimited(message, writer) { + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Vertex message from the specified reader or buffer. + * Decodes an ImageContext message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.Vertex + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decode = function decode(reader, length) { + ImageContext.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Vertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.ImageContext(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.int32(); + message.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.decode(reader, reader.uint32()); break; case 2: - message.y = reader.int32(); + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 4: + message.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + case 6: + message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -31729,117 +30878,163 @@ }; /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. + * Decodes an ImageContext message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Vertex + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decodeDelimited = function decodeDelimited(reader) { + ImageContext.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Vertex message. + * Verifies an ImageContext message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.Vertex + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Vertex.verify = function verify(message) { + ImageContext.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (!$util.isInteger(message.x)) - return "x: integer expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (!$util.isInteger(message.y)) - return "y: integer expected"; + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1p1beta1.LatLongRect.verify(message.latLongRect); + if (error) + return "latLongRect." + error; + } + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1p1beta1.CropHintsParams.verify(message.cropHintsParams); + if (error) + return "cropHintsParams." + error; + } + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.verify(message.webDetectionParams); + if (error) + return "webDetectionParams." + error; + } return null; }; /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.Vertex + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p1beta1.ImageContext} ImageContext */ - Vertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.Vertex) + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.ImageContext) return object; - var message = new $root.google.cloud.vision.v1p1beta1.Vertex(); - if (object.x != null) - message.x = object.x | 0; - if (object.y != null) - message.y = object.y | 0; + var message = new $root.google.cloud.vision.v1p1beta1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.fromObject(object.latLongRect); + } + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.fromObject(object.cropHintsParams); + } + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.fromObject(object.webDetectionParams); + } return message; }; /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.Vertex + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @static - * @param {google.cloud.vision.v1p1beta1.Vertex} message Vertex + * @param {google.cloud.vision.v1p1beta1.ImageContext} message ImageContext * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Vertex.toObject = function toObject(message, options) { + ImageContext.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.x = 0; - object.y = 0; + if (options.arrays || options.defaults) + object.languageHints = []; + if (options.defaults) { + object.latLongRect = null; + object.cropHintsParams = null; + object.webDetectionParams = null; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = message.y; + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.toObject(message.webDetectionParams, options); return object; }; /** - * Converts this Vertex to JSON. + * Converts this ImageContext to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.Vertex + * @memberof google.cloud.vision.v1p1beta1.ImageContext * @instance * @returns {Object.} JSON object */ - Vertex.prototype.toJSON = function toJSON() { + ImageContext.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Vertex; + return ImageContext; })(); - v1p1beta1.BoundingPoly = (function() { + v1p1beta1.AnnotateImageRequest = (function() { /** - * Properties of a BoundingPoly. + * Properties of an AnnotateImageRequest. * @memberof google.cloud.vision.v1p1beta1 - * @interface IBoundingPoly - * @property {Array.|null} [vertices] BoundingPoly vertices + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1p1beta1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1p1beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext */ /** - * Constructs a new BoundingPoly. + * Constructs a new AnnotateImageRequest. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a BoundingPoly. - * @implements IBoundingPoly + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest * @constructor - * @param {google.cloud.vision.v1p1beta1.IBoundingPoly=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest=} [properties] Properties to set */ - function BoundingPoly(properties) { - this.vertices = []; + function AnnotateImageRequest(properties) { + this.features = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31847,78 +31042,104 @@ } /** - * BoundingPoly vertices. - * @member {Array.} vertices - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1p1beta1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @instance */ - BoundingPoly.prototype.vertices = $util.emptyArray; + AnnotateImageRequest.prototype.image = null; /** - * Creates a new BoundingPoly instance using the specified properties. + * AnnotateImageRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateImageRequest imageContext. + * @member {google.cloud.vision.v1p1beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.imageContext = null; + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p1beta1.IBoundingPoly=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly instance + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest instance */ - BoundingPoly.create = function create(properties) { - return new BoundingPoly(properties); + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); }; /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p1beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encode = function encode(message, writer) { + AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.vertices != null && message.vertices.length) - for (var i = 0; i < message.vertices.length; ++i) - $root.google.cloud.vision.v1p1beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1p1beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p1beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p1beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p1beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BoundingPoly message from the specified reader or buffer. + * Decodes an AnnotateImageRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decode = function decode(reader, length) { + AnnotateImageRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.BoundingPoly(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p1beta1.Vertex.decode(reader, reader.uint32())); + message.image = $root.google.cloud.vision.v1p1beta1.Image.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p1beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -31929,126 +31150,167 @@ }; /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BoundingPoly message. + * Verifies an AnnotateImageRequest message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BoundingPoly.verify = function verify(message) { + AnnotateImageRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.vertices != null && message.hasOwnProperty("vertices")) { - if (!Array.isArray(message.vertices)) - return "vertices: array expected"; - for (var i = 0; i < message.vertices.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.Vertex.verify(message.vertices[i]); + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1p1beta1.Image.verify(message.image); + if (error) + return "image." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Feature.verify(message.features[i]); if (error) - return "vertices." + error; + return "features." + error; } } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p1beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } return null; }; /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageRequest} AnnotateImageRequest */ - BoundingPoly.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.BoundingPoly) + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest) return object; - var message = new $root.google.cloud.vision.v1p1beta1.BoundingPoly(); - if (object.vertices) { - if (!Array.isArray(object.vertices)) - throw TypeError(".google.cloud.vision.v1p1beta1.BoundingPoly.vertices: array expected"); - message.vertices = []; - for (var i = 0; i < object.vertices.length; ++i) { - if (typeof object.vertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.BoundingPoly.vertices: object expected"); - message.vertices[i] = $root.google.cloud.vision.v1p1beta1.Vertex.fromObject(object.vertices[i]); + var message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1p1beta1.Image.fromObject(object.image); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p1beta1.Feature.fromObject(object.features[i]); } } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.fromObject(object.imageContext); + } return message; }; /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p1beta1.BoundingPoly} message BoundingPoly + * @param {google.cloud.vision.v1p1beta1.AnnotateImageRequest} message AnnotateImageRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BoundingPoly.toObject = function toObject(message, options) { + AnnotateImageRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.vertices = []; - if (message.vertices && message.vertices.length) { - object.vertices = []; - for (var j = 0; j < message.vertices.length; ++j) - object.vertices[j] = $root.google.cloud.vision.v1p1beta1.Vertex.toObject(message.vertices[j], options); + object.features = []; + if (options.defaults) { + object.image = null; + object.imageContext = null; + } + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1p1beta1.Image.toObject(message.image, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p1beta1.Feature.toObject(message.features[j], options); } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.toObject(message.imageContext, options); return object; }; /** - * Converts this BoundingPoly to JSON. + * Converts this AnnotateImageRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest * @instance * @returns {Object.} JSON object */ - BoundingPoly.prototype.toJSON = function toJSON() { + AnnotateImageRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BoundingPoly; + return AnnotateImageRequest; })(); - v1p1beta1.Position = (function() { + v1p1beta1.AnnotateImageResponse = (function() { /** - * Properties of a Position. + * Properties of an AnnotateImageResponse. * @memberof google.cloud.vision.v1p1beta1 - * @interface IPosition - * @property {number|null} [x] Position x - * @property {number|null} [y] Position y - * @property {number|null} [z] Position z + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1p1beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1p1beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1p1beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1p1beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error */ /** - * Constructs a new Position. + * Constructs a new AnnotateImageResponse. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a Position. - * @implements IPosition + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse * @constructor - * @param {google.cloud.vision.v1p1beta1.IPosition=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse=} [properties] Properties to set */ - function Position(properties) { + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.textAnnotations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -32056,101 +31318,220 @@ } /** - * Position x. - * @member {number} x - * @memberof google.cloud.vision.v1p1beta1.Position + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @instance */ - Position.prototype.x = 0; + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; /** - * Position y. - * @member {number} y - * @memberof google.cloud.vision.v1p1beta1.Position + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @instance */ - Position.prototype.y = 0; + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; /** - * Position z. - * @member {number} z - * @memberof google.cloud.vision.v1p1beta1.Position + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @instance */ - Position.prototype.z = 0; + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; /** - * Creates a new Position instance using the specified properties. + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1p1beta1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.fullTextAnnotation = null; + + /** + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1p1beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.safeSearchAnnotation = null; + + /** + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1p1beta1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; + + /** + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1p1beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.cropHintsAnnotation = null; + + /** + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1p1beta1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.webDetection = null; + + /** + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.error = null; + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.Position + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p1beta1.IPosition=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.Position} Position instance + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse instance */ - Position.create = function create(properties) { - return new Position(properties); + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); }; /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.Position + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p1beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encode = function encode(message, writer) { + AnnotateImageResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1p1beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1p1beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1p1beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; }; /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.Position.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Position + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p1beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Position message from the specified reader or buffer. + * Decodes an AnnotateImageResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.Position + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.Position} Position + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decode = function decode(reader, length) { + AnnotateImageResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.Position(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.decode(reader, reader.uint32())); break; case 2: - message.y = reader.float(); + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); break; case 3: - message.z = reader.float(); + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.decode(reader, reader.uint32()); + break; + case 9: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -32161,126 +31542,306 @@ }; /** - * Decodes a Position message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.Position + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.Position} Position + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Position message. + * Verifies an AnnotateImageResponse message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.Position + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Position.verify = function verify(message) { + AnnotateImageResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; - if (message.z != null && message.hasOwnProperty("z")) - if (typeof message.z !== "number") - return "z: number expected"; - return null; - }; - - /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.Position - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.Position} Position + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } + } + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); + if (error) + return "landmarkAnnotations." + error; + } + } + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; + } + } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1p1beta1.TextAnnotation.verify(message.fullTextAnnotation); + if (error) + return "fullTextAnnotation." + error; + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); + if (error) + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1p1beta1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1p1beta1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.AnnotateImageResponse} AnnotateImageResponse */ - Position.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.Position) + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse) return object; - var message = new $root.google.cloud.vision.v1p1beta1.Position(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); - if (object.z != null) - message.z = Number(object.z); + var message = new $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); + } + } + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.fromObject(object.webDetection); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.AnnotateImageResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } return message; }; /** - * Creates a plain object from a Position message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.Position + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p1beta1.Position} message Position + * @param {google.cloud.vision.v1p1beta1.AnnotateImageResponse} message AnnotateImageResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Position.toObject = function toObject(message, options) { + AnnotateImageResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; + } if (options.defaults) { - object.x = 0; - object.y = 0; - object.z = 0; + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; + object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; - if (message.z != null && message.hasOwnProperty("z")) - object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1p1beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1p1beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.toObject(message.webDetection, options); return object; }; /** - * Converts this Position to JSON. + * Converts this AnnotateImageResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.Position + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse * @instance * @returns {Object.} JSON object */ - Position.prototype.toJSON = function toJSON() { + AnnotateImageResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Position; + return AnnotateImageResponse; })(); - v1p1beta1.TextAnnotation = (function() { + v1p1beta1.BatchAnnotateImagesRequest = (function() { /** - * Properties of a TextAnnotation. + * Properties of a BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p1beta1 - * @interface ITextAnnotation - * @property {Array.|null} [pages] TextAnnotation pages - * @property {string|null} [text] TextAnnotation text + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests */ /** - * Constructs a new TextAnnotation. + * Constructs a new BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p1beta1 - * @classdesc Represents a TextAnnotation. - * @implements ITextAnnotation + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest * @constructor - * @param {google.cloud.vision.v1p1beta1.ITextAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set */ - function TextAnnotation(properties) { - this.pages = []; + function BatchAnnotateImagesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -32288,91 +31849,78 @@ } /** - * TextAnnotation pages. - * @member {Array.} pages - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation - * @instance - */ - TextAnnotation.prototype.pages = $util.emptyArray; - - /** - * TextAnnotation text. - * @member {string} text - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @instance */ - TextAnnotation.prototype.text = ""; + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new TextAnnotation instance using the specified properties. + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p1beta1.ITextAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation instance + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance */ - TextAnnotation.create = function create(properties) { - return new TextAnnotation(properties); + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); }; /** - * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p1beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TextAnnotation.encode = function encode(message, writer) { + BatchAnnotateImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.pages != null && message.pages.length) - for (var i = 0; i < message.pages.length; ++i) - $root.google.cloud.vision.v1p1beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p1beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TextAnnotation message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextAnnotation.decode = function decode(reader, length) { + BatchAnnotateImagesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.pages && message.pages.length)) - message.pages = []; - message.pages.push($root.google.cloud.vision.v1p1beta1.Page.decode(reader, reader.uint32())); - break; - case 2: - message.text = reader.string(); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -32383,167 +31931,619 @@ }; /** - * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextAnnotation.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TextAnnotation message. + * Verifies a BatchAnnotateImagesRequest message. * @function verify - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TextAnnotation.verify = function verify(message) { + BatchAnnotateImagesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.pages != null && message.hasOwnProperty("pages")) { - if (!Array.isArray(message.pages)) - return "pages: array expected"; - for (var i = 0; i < message.pages.length; ++i) { - var error = $root.google.cloud.vision.v1p1beta1.Page.verify(message.pages[i]); + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.verify(message.requests[i]); if (error) - return "pages." + error; + return "requests." + error; } } - if (message.text != null && message.hasOwnProperty("text")) - if (!$util.isString(message.text)) - return "text: string expected"; return null; }; /** - * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest */ - TextAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p1beta1.TextAnnotation) + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest) return object; - var message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation(); - if (object.pages) { - if (!Array.isArray(object.pages)) - throw TypeError(".google.cloud.vision.v1p1beta1.TextAnnotation.pages: array expected"); - message.pages = []; - for (var i = 0; i < object.pages.length; ++i) { - if (typeof object.pages[i] !== "object") - throw TypeError(".google.cloud.vision.v1p1beta1.TextAnnotation.pages: object expected"); - message.pages[i] = $root.google.cloud.vision.v1p1beta1.Page.fromObject(object.pages[i]); + var message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.fromObject(object.requests[i]); } } - if (object.text != null) - message.text = String(object.text); return message; }; /** - * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p1beta1.TextAnnotation} message TextAnnotation + * @param {google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TextAnnotation.toObject = function toObject(message, options) { + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.pages = []; - if (options.defaults) - object.text = ""; - if (message.pages && message.pages.length) { - object.pages = []; - for (var j = 0; j < message.pages.length; ++j) - object.pages[j] = $root.google.cloud.vision.v1p1beta1.Page.toObject(message.pages[j], options); + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.toObject(message.requests[j], options); } - if (message.text != null && message.hasOwnProperty("text")) - object.text = message.text; return object; }; /** - * Converts this TextAnnotation to JSON. + * Converts this BatchAnnotateImagesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest * @instance * @returns {Object.} JSON object */ - TextAnnotation.prototype.toJSON = function toJSON() { + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - TextAnnotation.DetectedLanguage = (function() { - - /** - * Properties of a DetectedLanguage. - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation - * @interface IDetectedLanguage - * @property {string|null} [languageCode] DetectedLanguage languageCode - * @property {number|null} [confidence] DetectedLanguage confidence - */ + return BatchAnnotateImagesRequest; + })(); - /** - * Constructs a new DetectedLanguage. - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation - * @classdesc Represents a DetectedLanguage. - * @implements IDetectedLanguage - * @constructor - * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set - */ - function DetectedLanguage(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]]; - } + v1p1beta1.BatchAnnotateImagesResponse = (function() { - /** - * DetectedLanguage languageCode. - * @member {string} languageCode - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage - * @instance - */ - DetectedLanguage.prototype.languageCode = ""; + /** + * Properties of a BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p1beta1 + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + */ - /** - * DetectedLanguage confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage - * @instance - */ - DetectedLanguage.prototype.confidence = 0; + /** + * Constructs a new BatchAnnotateImagesResponse. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse + * @constructor + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + */ + function BatchAnnotateImagesResponse(properties) { + this.responses = []; + if (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 DetectedLanguage instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage - * @static - * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set - * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage} DetectedLanguage instance - */ - DetectedLanguage.create = function create(properties) { - return new DetectedLanguage(properties); - }; + /** + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @instance + */ + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; - /** - * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + /** + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + */ + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchAnnotateImagesResponse message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchAnnotateImagesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + return null; + }; + + /** + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + */ + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } + return object; + }; + + /** + * Converts this BatchAnnotateImagesResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BatchAnnotateImagesResponse; + })(); + + /** + * Likelihood enum. + * @name google.cloud.vision.v1p1beta1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1p1beta1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1p1beta1.TextAnnotation = (function() { + + /** + * Properties of a TextAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ITextAnnotation + * @property {Array.|null} [pages] TextAnnotation pages + * @property {string|null} [text] TextAnnotation text + */ + + /** + * Constructs a new TextAnnotation. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation + * @constructor + * @param {google.cloud.vision.v1p1beta1.ITextAnnotation=} [properties] Properties to set + */ + function TextAnnotation(properties) { + this.pages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TextAnnotation pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.pages = $util.emptyArray; + + /** + * TextAnnotation text. + * @member {string} text + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @instance + */ + TextAnnotation.prototype.text = ""; + + /** + * Creates a new TextAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation instance + */ + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); + }; + + /** + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.pages != null && message.pages.length) + for (var i = 0; i < message.pages.length; ++i) + $root.google.cloud.vision.v1p1beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); + return writer; + }; + + /** + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p1beta1.Page.decode(reader, reader.uint32())); + break; + case 2: + message.text = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) { + var error = $root.google.cloud.vision.v1p1beta1.Page.verify(message.pages[i]); + if (error) + return "pages." + error; + } + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + return null; + }; + + /** + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation} TextAnnotation + */ + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.TextAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation(); + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1p1beta1.TextAnnotation.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) { + if (typeof object.pages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.TextAnnotation.pages: object expected"); + message.pages[i] = $root.google.cloud.vision.v1p1beta1.Page.fromObject(object.pages[i]); + } + } + if (object.text != null) + message.text = String(object.text); + return message; + }; + + /** + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation} message TextAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.pages = []; + if (options.defaults) + object.text = ""; + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = $root.google.cloud.vision.v1p1beta1.Page.toObject(message.pages[j], options); + } + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + return object; + }; + + /** + * Converts this TextAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @instance + * @returns {Object.} JSON object + */ + TextAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + TextAnnotation.DetectedLanguage = (function() { + + /** + * Properties of a DetectedLanguage. + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @interface IDetectedLanguage + * @property {string|null} [languageCode] DetectedLanguage languageCode + * @property {number|null} [confidence] DetectedLanguage confidence + */ + + /** + * Constructs a new DetectedLanguage. + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @classdesc Represents a DetectedLanguage. + * @implements IDetectedLanguage + * @constructor + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + */ + function DetectedLanguage(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]]; + } + + /** + * DetectedLanguage languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.languageCode = ""; + + /** + * DetectedLanguage confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.confidence = 0; + + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p1beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage} DetectedLanguage instance + */ + DetectedLanguage.create = function create(properties) { + return new DetectedLanguage(properties); + }; + + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. * @function encode * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage * @static @@ -36113,127 +36113,25 @@ */ var v1p2beta1 = {}; - v1p2beta1.ImageAnnotator = (function() { - - /** - * Constructs a new ImageAnnotator service. - * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an ImageAnnotator - * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; - - /** - * Creates new ImageAnnotator service using the specified rpc implementation. - * @function create - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator - * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. - */ - ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#batchAnnotateImages}. - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator - * @typedef BatchAnnotateImagesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse - */ - - /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @param {google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { - return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse, request, callback); - }, "name", { value: "BatchAnnotateImages" }); - - /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#asyncBatchAnnotateFiles}. - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator - * @typedef AsyncBatchAnnotateFilesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.longrunning.Operation} [response] Operation - */ - - /** - * Calls AsyncBatchAnnotateFiles. - * @function asyncBatchAnnotateFiles - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object - * @param {google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { - return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); - }, "name", { value: "AsyncBatchAnnotateFiles" }); - - /** - * Calls AsyncBatchAnnotateFiles. - * @function asyncBatchAnnotateFiles - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return ImageAnnotator; - })(); - - v1p2beta1.Feature = (function() { + v1p2beta1.Vertex = (function() { /** - * Properties of a Feature. + * Properties of a Vertex. * @memberof google.cloud.vision.v1p2beta1 - * @interface IFeature - * @property {google.cloud.vision.v1p2beta1.Feature.Type|null} [type] Feature type - * @property {number|null} [maxResults] Feature maxResults - * @property {string|null} [model] Feature model + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y */ /** - * Constructs a new Feature. + * Constructs a new Vertex. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a Feature. - * @implements IFeature + * @classdesc Represents a Vertex. + * @implements IVertex * @constructor - * @param {google.cloud.vision.v1p2beta1.IFeature=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IVertex=} [properties] Properties to set */ - function Feature(properties) { + function Vertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -36241,101 +36139,88 @@ } /** - * Feature type. - * @member {google.cloud.vision.v1p2beta1.Feature.Type} type - * @memberof google.cloud.vision.v1p2beta1.Feature - * @instance - */ - Feature.prototype.type = 0; - - /** - * Feature maxResults. - * @member {number} maxResults - * @memberof google.cloud.vision.v1p2beta1.Feature + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p2beta1.Vertex * @instance */ - Feature.prototype.maxResults = 0; + Vertex.prototype.x = 0; /** - * Feature model. - * @member {string} model - * @memberof google.cloud.vision.v1p2beta1.Feature + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p2beta1.Vertex * @instance */ - Feature.prototype.model = ""; + Vertex.prototype.y = 0; /** - * Creates a new Feature instance using the specified properties. + * Creates a new Vertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.Feature + * @memberof google.cloud.vision.v1p2beta1.Vertex * @static - * @param {google.cloud.vision.v1p2beta1.IFeature=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Feature} Feature instance + * @param {google.cloud.vision.v1p2beta1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex instance */ - Feature.create = function create(properties) { - return new Feature(properties); + Vertex.create = function create(properties) { + return new Vertex(properties); }; /** - * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Feature.verify|verify} messages. + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.Feature + * @memberof google.cloud.vision.v1p2beta1.Vertex * @static - * @param {google.cloud.vision.v1p2beta1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encode = function encode(message, writer) { + Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; /** - * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Feature.verify|verify} messages. + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Feature + * @memberof google.cloud.vision.v1p2beta1.Vertex * @static - * @param {google.cloud.vision.v1p2beta1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encodeDelimited = function encodeDelimited(message, writer) { + Vertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Feature message from the specified reader or buffer. + * Decodes a Vertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.Feature + * @memberof google.cloud.vision.v1p2beta1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Feature} Feature + * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decode = function decode(reader, length) { + Vertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Feature(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Vertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.type = reader.int32(); + message.x = reader.int32(); break; case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); + message.y = reader.int32(); break; default: reader.skipType(tag & 7); @@ -36346,215 +36231,117 @@ }; /** - * Decodes a Feature message from the specified reader or buffer, length delimited. + * Decodes a Vertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Feature + * @memberof google.cloud.vision.v1p2beta1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Feature} Feature + * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decodeDelimited = function decodeDelimited(reader) { + Vertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Feature message. + * Verifies a Vertex message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.Feature + * @memberof google.cloud.vision.v1p2beta1.Vertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Feature.verify = function verify(message) { + Vertex.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: - case 3: - case 4: - case 5: - case 11: - case 6: - case 7: - case 9: - case 10: - break; - } - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - if (!$util.isInteger(message.maxResults)) - return "maxResults: integer expected"; - if (message.model != null && message.hasOwnProperty("model")) - if (!$util.isString(message.model)) - return "model: string expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; return null; }; /** - * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Feature + * @memberof google.cloud.vision.v1p2beta1.Vertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Feature} Feature + * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex */ - Feature.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Feature) + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Vertex) return object; - var message = new $root.google.cloud.vision.v1p2beta1.Feature(); - switch (object.type) { - case "TYPE_UNSPECIFIED": - case 0: - message.type = 0; - break; - case "FACE_DETECTION": - case 1: - message.type = 1; - break; - case "LANDMARK_DETECTION": - case 2: - message.type = 2; - break; - case "LOGO_DETECTION": - case 3: - message.type = 3; - break; - case "LABEL_DETECTION": - case 4: - message.type = 4; - break; - case "TEXT_DETECTION": - case 5: - message.type = 5; - break; - case "DOCUMENT_TEXT_DETECTION": - case 11: - message.type = 11; - break; - case "SAFE_SEARCH_DETECTION": - case 6: - message.type = 6; - break; - case "IMAGE_PROPERTIES": - case 7: - message.type = 7; - break; - case "CROP_HINTS": - case 9: - message.type = 9; - break; - case "WEB_DETECTION": - case 10: - message.type = 10; - break; - } - if (object.maxResults != null) - message.maxResults = object.maxResults | 0; - if (object.model != null) - message.model = String(object.model); + var message = new $root.google.cloud.vision.v1p2beta1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; return message; }; /** - * Creates a plain object from a Feature message. Also converts values to other types if specified. + * Creates a plain object from a Vertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Feature + * @memberof google.cloud.vision.v1p2beta1.Vertex * @static - * @param {google.cloud.vision.v1p2beta1.Feature} message Feature + * @param {google.cloud.vision.v1p2beta1.Vertex} message Vertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Feature.toObject = function toObject(message, options) { + Vertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; - object.maxResults = 0; - object.model = ""; + object.x = 0; + object.y = 0; } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Feature.Type[message.type] : message.type; - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - object.maxResults = message.maxResults; - if (message.model != null && message.hasOwnProperty("model")) - object.model = message.model; + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; return object; }; /** - * Converts this Feature to JSON. + * Converts this Vertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Feature + * @memberof google.cloud.vision.v1p2beta1.Vertex * @instance * @returns {Object.} JSON object */ - Feature.prototype.toJSON = function toJSON() { + Vertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * Type enum. - * @name google.cloud.vision.v1p2beta1.Feature.Type - * @enum {string} - * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value - * @property {number} FACE_DETECTION=1 FACE_DETECTION value - * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value - * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value - * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value - * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value - * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value - * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value - * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value - * @property {number} CROP_HINTS=9 CROP_HINTS value - * @property {number} WEB_DETECTION=10 WEB_DETECTION value - */ - Feature.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; - values[valuesById[1] = "FACE_DETECTION"] = 1; - values[valuesById[2] = "LANDMARK_DETECTION"] = 2; - values[valuesById[3] = "LOGO_DETECTION"] = 3; - values[valuesById[4] = "LABEL_DETECTION"] = 4; - values[valuesById[5] = "TEXT_DETECTION"] = 5; - values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; - values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; - values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; - values[valuesById[9] = "CROP_HINTS"] = 9; - values[valuesById[10] = "WEB_DETECTION"] = 10; - return values; - })(); - - return Feature; + return Vertex; })(); - v1p2beta1.ImageSource = (function() { + v1p2beta1.NormalizedVertex = (function() { /** - * Properties of an ImageSource. + * Properties of a NormalizedVertex. * @memberof google.cloud.vision.v1p2beta1 - * @interface IImageSource - * @property {string|null} [gcsImageUri] ImageSource gcsImageUri - * @property {string|null} [imageUri] ImageSource imageUri + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y */ /** - * Constructs a new ImageSource. + * Constructs a new NormalizedVertex. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an ImageSource. - * @implements IImageSource + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex * @constructor - * @param {google.cloud.vision.v1p2beta1.IImageSource=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.INormalizedVertex=} [properties] Properties to set */ - function ImageSource(properties) { + function NormalizedVertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -36562,88 +36349,88 @@ } /** - * ImageSource gcsImageUri. - * @member {string} gcsImageUri - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * NormalizedVertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @instance */ - ImageSource.prototype.gcsImageUri = ""; + NormalizedVertex.prototype.x = 0; /** - * ImageSource imageUri. - * @member {string} imageUri - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @instance */ - ImageSource.prototype.imageUri = ""; + NormalizedVertex.prototype.y = 0; /** - * Creates a new ImageSource instance using the specified properties. + * Creates a new NormalizedVertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p2beta1.IImageSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource instance + * @param {google.cloud.vision.v1p2beta1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex instance */ - ImageSource.create = function create(properties) { - return new ImageSource(properties); + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); }; /** - * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageSource.verify|verify} messages. + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p2beta1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encode = function encode(message, writer) { + NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; /** - * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageSource.verify|verify} messages. + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p2beta1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageSource message from the specified reader or buffer. + * Decodes a NormalizedVertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decode = function decode(reader, length) { + NormalizedVertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.NormalizedVertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsImageUri = reader.string(); + message.x = reader.float(); break; case 2: - message.imageUri = reader.string(); + message.y = reader.float(); break; default: reader.skipType(tag & 7); @@ -36654,117 +36441,119 @@ }; /** - * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decodeDelimited = function decodeDelimited(reader) { + NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageSource message. + * Verifies a NormalizedVertex message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageSource.verify = function verify(message) { + NormalizedVertex.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - if (!$util.isString(message.gcsImageUri)) - return "gcsImageUri: string expected"; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - if (!$util.isString(message.imageUri)) - return "imageUri: string expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; return null; }; /** - * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex */ - ImageSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageSource) + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.NormalizedVertex) return object; - var message = new $root.google.cloud.vision.v1p2beta1.ImageSource(); - if (object.gcsImageUri != null) - message.gcsImageUri = String(object.gcsImageUri); - if (object.imageUri != null) - message.imageUri = String(object.imageUri); + var message = new $root.google.cloud.vision.v1p2beta1.NormalizedVertex(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); return message; }; /** - * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p2beta1.ImageSource} message ImageSource + * @param {google.cloud.vision.v1p2beta1.NormalizedVertex} message NormalizedVertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageSource.toObject = function toObject(message, options) { + NormalizedVertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.gcsImageUri = ""; - object.imageUri = ""; + object.x = 0; + object.y = 0; } - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - object.gcsImageUri = message.gcsImageUri; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - object.imageUri = message.imageUri; + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; return object; }; /** - * Converts this ImageSource to JSON. + * Converts this NormalizedVertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex * @instance * @returns {Object.} JSON object */ - ImageSource.prototype.toJSON = function toJSON() { + NormalizedVertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageSource; + return NormalizedVertex; })(); - v1p2beta1.Image = (function() { + v1p2beta1.BoundingPoly = (function() { /** - * Properties of an Image. + * Properties of a BoundingPoly. * @memberof google.cloud.vision.v1p2beta1 - * @interface IImage - * @property {Uint8Array|null} [content] Image content - * @property {google.cloud.vision.v1p2beta1.IImageSource|null} [source] Image source + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices */ /** - * Constructs a new Image. + * Constructs a new BoundingPoly. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an Image. - * @implements IImage + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly * @constructor - * @param {google.cloud.vision.v1p2beta1.IImage=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IBoundingPoly=} [properties] Properties to set */ - function Image(properties) { + function BoundingPoly(properties) { + this.vertices = []; + this.normalizedVertices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -36772,88 +36561,94 @@ } /** - * Image content. - * @member {Uint8Array} content - * @memberof google.cloud.vision.v1p2beta1.Image + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @instance */ - Image.prototype.content = $util.newBuffer([]); + BoundingPoly.prototype.vertices = $util.emptyArray; /** - * Image source. - * @member {google.cloud.vision.v1p2beta1.IImageSource|null|undefined} source - * @memberof google.cloud.vision.v1p2beta1.Image + * BoundingPoly normalizedVertices. + * @member {Array.} normalizedVertices + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @instance */ - Image.prototype.source = null; + BoundingPoly.prototype.normalizedVertices = $util.emptyArray; /** - * Creates a new Image instance using the specified properties. + * Creates a new BoundingPoly instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.Image + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p2beta1.IImage=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Image} Image instance + * @param {google.cloud.vision.v1p2beta1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly instance */ - Image.create = function create(properties) { - return new Image(properties); + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); }; /** - * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Image.verify|verify} messages. + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.Image + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p2beta1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encode = function encode(message, writer) { + BoundingPoly.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) - $root.google.cloud.vision.v1p2beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p2beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.normalizedVertices != null && message.normalizedVertices.length) + for (var i = 0; i < message.normalizedVertices.length; ++i) + $root.google.cloud.vision.v1p2beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Image.verify|verify} messages. + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Image + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p2beta1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encodeDelimited = function encodeDelimited(message, writer) { + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an Image message from the specified reader or buffer. + * Decodes a BoundingPoly message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.Image + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Image} Image + * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decode = function decode(reader, length) { + BoundingPoly.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Image(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.BoundingPoly(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.content = reader.bytes(); + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p2beta1.Vertex.decode(reader, reader.uint32())); break; case 2: - message.source = $root.google.cloud.vision.v1p2beta1.ImageSource.decode(reader, reader.uint32()); + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p2beta1.NormalizedVertex.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -36864,145 +36659,152 @@ }; /** - * Decodes an Image message from the specified reader or buffer, length delimited. + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Image + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Image} Image + * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decodeDelimited = function decodeDelimited(reader) { + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an Image message. + * Verifies a BoundingPoly message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.Image + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Image.verify = function verify(message) { + BoundingPoly.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.content != null && message.hasOwnProperty("content")) - if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) - return "content: buffer expected"; - if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.vision.v1p2beta1.ImageSource.verify(message.source); - if (error) - return "source." + error; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Vertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } + if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { + if (!Array.isArray(message.normalizedVertices)) + return "normalizedVertices: array expected"; + for (var i = 0; i < message.normalizedVertices.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.NormalizedVertex.verify(message.normalizedVertices[i]); + if (error) + return "normalizedVertices." + error; + } } return null; }; /** - * Creates an Image message from a plain object. Also converts values to their respective internal types. + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Image + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Image} Image + * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly */ - Image.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Image) + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.BoundingPoly) return object; - var message = new $root.google.cloud.vision.v1p2beta1.Image(); - if (object.content != null) - if (typeof object.content === "string") - $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) - message.content = object.content; - if (object.source != null) { - if (typeof object.source !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Image.source: object expected"); - message.source = $root.google.cloud.vision.v1p2beta1.ImageSource.fromObject(object.source); + var message = new $root.google.cloud.vision.v1p2beta1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p2beta1.Vertex.fromObject(object.vertices[i]); + } + } + if (object.normalizedVertices) { + if (!Array.isArray(object.normalizedVertices)) + throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.normalizedVertices: array expected"); + message.normalizedVertices = []; + for (var i = 0; i < object.normalizedVertices.length; ++i) { + if (typeof object.normalizedVertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.normalizedVertices: object expected"); + message.normalizedVertices[i] = $root.google.cloud.vision.v1p2beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); + } } return message; }; /** - * Creates a plain object from an Image message. Also converts values to other types if specified. + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Image + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p2beta1.Image} message Image + * @param {google.cloud.vision.v1p2beta1.BoundingPoly} message BoundingPoly * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Image.toObject = function toObject(message, options) { + BoundingPoly.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.content = ""; - else { - object.content = []; - if (options.bytes !== Array) - object.content = $util.newBuffer(object.content); - } - object.source = null; + if (options.arrays || options.defaults) { + object.vertices = []; + object.normalizedVertices = []; + } + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p2beta1.Vertex.toObject(message.vertices[j], options); + } + if (message.normalizedVertices && message.normalizedVertices.length) { + object.normalizedVertices = []; + for (var j = 0; j < message.normalizedVertices.length; ++j) + object.normalizedVertices[j] = $root.google.cloud.vision.v1p2beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); } - if (message.content != null && message.hasOwnProperty("content")) - object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; - if (message.source != null && message.hasOwnProperty("source")) - object.source = $root.google.cloud.vision.v1p2beta1.ImageSource.toObject(message.source, options); return object; }; /** - * Converts this Image to JSON. + * Converts this BoundingPoly to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Image + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly * @instance * @returns {Object.} JSON object */ - Image.prototype.toJSON = function toJSON() { + BoundingPoly.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Image; + return BoundingPoly; })(); - v1p2beta1.FaceAnnotation = (function() { + v1p2beta1.Position = (function() { /** - * Properties of a FaceAnnotation. + * Properties of a Position. * @memberof google.cloud.vision.v1p2beta1 - * @interface IFaceAnnotation - * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly - * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly - * @property {Array.|null} [landmarks] FaceAnnotation landmarks - * @property {number|null} [rollAngle] FaceAnnotation rollAngle - * @property {number|null} [panAngle] FaceAnnotation panAngle - * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle - * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence - * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z */ /** - * Constructs a new FaceAnnotation. + * Constructs a new Position. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a FaceAnnotation. - * @implements IFaceAnnotation + * @classdesc Represents a Position. + * @implements IPosition * @constructor - * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IPosition=} [properties] Properties to set */ - function FaceAnnotation(properties) { - this.landmarks = []; + function Position(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -37010,260 +36812,101 @@ } /** - * FaceAnnotation boundingPoly. - * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.boundingPoly = null; - - /** - * FaceAnnotation fdBoundingPoly. - * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} fdBoundingPoly - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.fdBoundingPoly = null; - - /** - * FaceAnnotation landmarks. - * @member {Array.} landmarks - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.landmarks = $util.emptyArray; - - /** - * FaceAnnotation rollAngle. - * @member {number} rollAngle - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.rollAngle = 0; - - /** - * FaceAnnotation panAngle. - * @member {number} panAngle - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.panAngle = 0; - - /** - * FaceAnnotation tiltAngle. - * @member {number} tiltAngle - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.tiltAngle = 0; - - /** - * FaceAnnotation detectionConfidence. - * @member {number} detectionConfidence - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.detectionConfidence = 0; - - /** - * FaceAnnotation landmarkingConfidence. - * @member {number} landmarkingConfidence - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.landmarkingConfidence = 0; - - /** - * FaceAnnotation joyLikelihood. - * @member {google.cloud.vision.v1p2beta1.Likelihood} joyLikelihood - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.joyLikelihood = 0; - - /** - * FaceAnnotation sorrowLikelihood. - * @member {google.cloud.vision.v1p2beta1.Likelihood} sorrowLikelihood - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.sorrowLikelihood = 0; - - /** - * FaceAnnotation angerLikelihood. - * @member {google.cloud.vision.v1p2beta1.Likelihood} angerLikelihood - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.angerLikelihood = 0; - - /** - * FaceAnnotation surpriseLikelihood. - * @member {google.cloud.vision.v1p2beta1.Likelihood} surpriseLikelihood - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.surpriseLikelihood = 0; - - /** - * FaceAnnotation underExposedLikelihood. - * @member {google.cloud.vision.v1p2beta1.Likelihood} underExposedLikelihood - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1p2beta1.Position * @instance */ - FaceAnnotation.prototype.underExposedLikelihood = 0; + Position.prototype.x = 0; /** - * FaceAnnotation blurredLikelihood. - * @member {google.cloud.vision.v1p2beta1.Likelihood} blurredLikelihood - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1p2beta1.Position * @instance */ - FaceAnnotation.prototype.blurredLikelihood = 0; + Position.prototype.y = 0; /** - * FaceAnnotation headwearLikelihood. - * @member {google.cloud.vision.v1p2beta1.Likelihood} headwearLikelihood - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1p2beta1.Position * @instance */ - FaceAnnotation.prototype.headwearLikelihood = 0; + Position.prototype.z = 0; /** - * Creates a new FaceAnnotation instance using the specified properties. + * Creates a new Position instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1.Position * @static - * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation instance + * @param {google.cloud.vision.v1p2beta1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Position} Position instance */ - FaceAnnotation.create = function create(properties) { - return new FaceAnnotation(properties); + Position.create = function create(properties) { + return new Position(properties); }; /** - * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.verify|verify} messages. + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1.Position * @static - * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IPosition} message Position message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.encode = function encode(message, writer) { + Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.landmarks != null && message.landmarks.length) - for (var i = 0; i < message.landmarks.length; ++i) - $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; /** - * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.verify|verify} messages. + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1.Position * @static - * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IPosition} message Position message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + Position.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FaceAnnotation message from the specified reader or buffer. + * Decodes a Position message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1.Position * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p2beta1.Position} Position * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.decode = function decode(reader, length) { + Position.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Position(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + message.x = reader.float(); break; case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + message.y = reader.float(); break; case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); + message.z = reader.float(); break; default: reader.skipType(tag & 7); @@ -37274,952 +36917,227 @@ }; /** - * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * Decodes a Position message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1.Position * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p2beta1.Position} Position * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + Position.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FaceAnnotation message. + * Verifies a Position message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1.Position * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FaceAnnotation.verify = function verify(message) { + Position.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { - var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.fdBoundingPoly); - if (error) - return "fdBoundingPoly." + error; - } - if (message.landmarks != null && message.hasOwnProperty("landmarks")) { - if (!Array.isArray(message.landmarks)) - return "landmarks: array expected"; - for (var i = 0; i < message.landmarks.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); - if (error) - return "landmarks." + error; - } - } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - if (typeof message.rollAngle !== "number") - return "rollAngle: number expected"; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - if (typeof message.panAngle !== "number") - return "panAngle: number expected"; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - if (typeof message.tiltAngle !== "number") - return "tiltAngle: number expected"; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - if (typeof message.detectionConfidence !== "number") - return "detectionConfidence: number expected"; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - if (typeof message.landmarkingConfidence !== "number") - return "landmarkingConfidence: number expected"; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - switch (message.joyLikelihood) { - default: - return "joyLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - switch (message.sorrowLikelihood) { - default: - return "sorrowLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - switch (message.angerLikelihood) { - default: - return "angerLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - switch (message.surpriseLikelihood) { - default: - return "surpriseLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - switch (message.underExposedLikelihood) { - default: - return "underExposedLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - switch (message.blurredLikelihood) { - default: - return "blurredLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - switch (message.headwearLikelihood) { - default: - return "headwearLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; return null; }; /** - * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a Position message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1.Position * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p2beta1.Position} Position */ - FaceAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.FaceAnnotation) + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Position) return object; - var message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.fdBoundingPoly != null) { - if (typeof object.fdBoundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.fdBoundingPoly: object expected"); - message.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.fdBoundingPoly); - } - if (object.landmarks) { - if (!Array.isArray(object.landmarks)) - throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.landmarks: array expected"); - message.landmarks = []; - for (var i = 0; i < object.landmarks.length; ++i) { - if (typeof object.landmarks[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.landmarks: object expected"); - message.landmarks[i] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); - } - } - if (object.rollAngle != null) - message.rollAngle = Number(object.rollAngle); - if (object.panAngle != null) - message.panAngle = Number(object.panAngle); - if (object.tiltAngle != null) - message.tiltAngle = Number(object.tiltAngle); - if (object.detectionConfidence != null) - message.detectionConfidence = Number(object.detectionConfidence); - if (object.landmarkingConfidence != null) - message.landmarkingConfidence = Number(object.landmarkingConfidence); - switch (object.joyLikelihood) { - case "UNKNOWN": - case 0: - message.joyLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.joyLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.joyLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.joyLikelihood = 3; - break; - case "LIKELY": - case 4: - message.joyLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.joyLikelihood = 5; - break; - } - switch (object.sorrowLikelihood) { - case "UNKNOWN": - case 0: - message.sorrowLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.sorrowLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.sorrowLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.sorrowLikelihood = 3; - break; - case "LIKELY": - case 4: - message.sorrowLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.sorrowLikelihood = 5; - break; - } - switch (object.angerLikelihood) { - case "UNKNOWN": - case 0: - message.angerLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.angerLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.angerLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.angerLikelihood = 3; - break; - case "LIKELY": - case 4: - message.angerLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.angerLikelihood = 5; - break; - } - switch (object.surpriseLikelihood) { - case "UNKNOWN": - case 0: - message.surpriseLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.surpriseLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.surpriseLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.surpriseLikelihood = 3; - break; - case "LIKELY": - case 4: - message.surpriseLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.surpriseLikelihood = 5; - break; - } - switch (object.underExposedLikelihood) { - case "UNKNOWN": - case 0: - message.underExposedLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.underExposedLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.underExposedLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.underExposedLikelihood = 3; - break; - case "LIKELY": - case 4: - message.underExposedLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.underExposedLikelihood = 5; - break; - } - switch (object.blurredLikelihood) { - case "UNKNOWN": - case 0: - message.blurredLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.blurredLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.blurredLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.blurredLikelihood = 3; - break; - case "LIKELY": - case 4: - message.blurredLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.blurredLikelihood = 5; - break; - } - switch (object.headwearLikelihood) { - case "UNKNOWN": - case 0: - message.headwearLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.headwearLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.headwearLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.headwearLikelihood = 3; - break; - case "LIKELY": - case 4: - message.headwearLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.headwearLikelihood = 5; - break; - } + var message = new $root.google.cloud.vision.v1p2beta1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); return message; }; /** - * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a Position message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1.Position * @static - * @param {google.cloud.vision.v1p2beta1.FaceAnnotation} message FaceAnnotation + * @param {google.cloud.vision.v1p2beta1.Position} message Position * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FaceAnnotation.toObject = function toObject(message, options) { + Position.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.landmarks = []; if (options.defaults) { - object.boundingPoly = null; - object.fdBoundingPoly = null; - object.rollAngle = 0; - object.panAngle = 0; - object.tiltAngle = 0; - object.detectionConfidence = 0; - object.landmarkingConfidence = 0; - object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; - } - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - object.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); - if (message.landmarks && message.landmarks.length) { - object.landmarks = []; - for (var j = 0; j < message.landmarks.length; ++j) - object.landmarks[j] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + object.x = 0; + object.y = 0; + object.z = 0; } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; return object; }; /** - * Converts this FaceAnnotation to JSON. + * Converts this Position to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p2beta1.Position * @instance * @returns {Object.} JSON object */ - FaceAnnotation.prototype.toJSON = function toJSON() { + Position.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - FaceAnnotation.Landmark = (function() { + return Position; + })(); - /** - * Properties of a Landmark. - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @interface ILandmark - * @property {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type - * @property {google.cloud.vision.v1p2beta1.IPosition|null} [position] Landmark position - */ + v1p2beta1.ImageAnnotator = (function() { - /** - * Constructs a new Landmark. - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation - * @classdesc Represents a Landmark. - * @implements ILandmark - * @constructor - * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark=} [properties] Properties to set - */ - function Landmark(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]]; - } + /** + * Constructs a new ImageAnnotator service. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an ImageAnnotator + * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } - /** - * Landmark type. - * @member {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type} type - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.type = 0; + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; - /** - * Landmark position. - * @member {google.cloud.vision.v1p2beta1.IPosition|null|undefined} position - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.position = null; + /** + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + */ + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; - /** - * Creates a new Landmark instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark instance - */ - Landmark.create = function create(properties) { - return new Landmark(properties); - }; - - /** - * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) - $root.google.cloud.vision.v1p2beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Landmark message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1p2beta1.Position.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Landmark message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Landmark message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Landmark.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: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - break; - } - if (message.position != null && message.hasOwnProperty("position")) { - var error = $root.google.cloud.vision.v1p2beta1.Position.verify(message.position); - if (error) - return "position." + error; - } - return null; - }; + /** + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + */ - /** - * Creates a Landmark message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark - */ - Landmark.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark) - return object; - var message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark(); - switch (object.type) { - case "UNKNOWN_LANDMARK": - case 0: - message.type = 0; - break; - case "LEFT_EYE": - case 1: - message.type = 1; - break; - case "RIGHT_EYE": - case 2: - message.type = 2; - break; - case "LEFT_OF_LEFT_EYEBROW": - case 3: - message.type = 3; - break; - case "RIGHT_OF_LEFT_EYEBROW": - case 4: - message.type = 4; - break; - case "LEFT_OF_RIGHT_EYEBROW": - case 5: - message.type = 5; - break; - case "RIGHT_OF_RIGHT_EYEBROW": - case 6: - message.type = 6; - break; - case "MIDPOINT_BETWEEN_EYES": - case 7: - message.type = 7; - break; - case "NOSE_TIP": - case 8: - message.type = 8; - break; - case "UPPER_LIP": - case 9: - message.type = 9; - break; - case "LOWER_LIP": - case 10: - message.type = 10; - break; - case "MOUTH_LEFT": - case 11: - message.type = 11; - break; - case "MOUTH_RIGHT": - case 12: - message.type = 12; - break; - case "MOUTH_CENTER": - case 13: - message.type = 13; - break; - case "NOSE_BOTTOM_RIGHT": - case 14: - message.type = 14; - break; - case "NOSE_BOTTOM_LEFT": - case 15: - message.type = 15; - break; - case "NOSE_BOTTOM_CENTER": - case 16: - message.type = 16; - break; - case "LEFT_EYE_TOP_BOUNDARY": - case 17: - message.type = 17; - break; - case "LEFT_EYE_RIGHT_CORNER": - case 18: - message.type = 18; - break; - case "LEFT_EYE_BOTTOM_BOUNDARY": - case 19: - message.type = 19; - break; - case "LEFT_EYE_LEFT_CORNER": - case 20: - message.type = 20; - break; - case "RIGHT_EYE_TOP_BOUNDARY": - case 21: - message.type = 21; - break; - case "RIGHT_EYE_RIGHT_CORNER": - case 22: - message.type = 22; - break; - case "RIGHT_EYE_BOTTOM_BOUNDARY": - case 23: - message.type = 23; - break; - case "RIGHT_EYE_LEFT_CORNER": - case 24: - message.type = 24; - break; - case "LEFT_EYEBROW_UPPER_MIDPOINT": - case 25: - message.type = 25; - break; - case "RIGHT_EYEBROW_UPPER_MIDPOINT": - case 26: - message.type = 26; - break; - case "LEFT_EAR_TRAGION": - case 27: - message.type = 27; - break; - case "RIGHT_EAR_TRAGION": - case 28: - message.type = 28; - break; - case "LEFT_EYE_PUPIL": - case 29: - message.type = 29; - break; - case "RIGHT_EYE_PUPIL": - case 30: - message.type = 30; - break; - case "FOREHEAD_GLABELLA": - case 31: - message.type = 31; - break; - case "CHIN_GNATHION": - case 32: - message.type = 32; - break; - case "CHIN_LEFT_GONION": - case 33: - message.type = 33; - break; - case "CHIN_RIGHT_GONION": - case 34: - message.type = 34; - break; - } - if (object.position != null) { - if (typeof object.position !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.position: object expected"); - message.position = $root.google.cloud.vision.v1p2beta1.Position.fromObject(object.position); - } - return message; - }; + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); - /** - * Creates a plain object from a Landmark message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} message Landmark - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Landmark.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; - object.position = null; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; - if (message.position != null && message.hasOwnProperty("position")) - object.position = $root.google.cloud.vision.v1p2beta1.Position.toObject(message.position, options); - return object; - }; + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - /** - * Converts this Landmark to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark - * @instance - * @returns {Object.} JSON object - */ - Landmark.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @typedef AsyncBatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ - /** - * Type enum. - * @name google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type - * @enum {string} - * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value - * @property {number} LEFT_EYE=1 LEFT_EYE value - * @property {number} RIGHT_EYE=2 RIGHT_EYE value - * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value - * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value - * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value - * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value - * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value - * @property {number} NOSE_TIP=8 NOSE_TIP value - * @property {number} UPPER_LIP=9 UPPER_LIP value - * @property {number} LOWER_LIP=10 LOWER_LIP value - * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value - * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value - * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value - * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value - * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value - * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value - * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value - * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value - * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value - * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value - * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value - * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value - * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value - * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value - * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value - * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value - * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value - * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value - * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value - * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value - * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value - * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value - * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value - * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value - */ - Landmark.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; - values[valuesById[1] = "LEFT_EYE"] = 1; - values[valuesById[2] = "RIGHT_EYE"] = 2; - values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; - values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; - values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; - values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; - values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; - values[valuesById[8] = "NOSE_TIP"] = 8; - values[valuesById[9] = "UPPER_LIP"] = 9; - values[valuesById[10] = "LOWER_LIP"] = 10; - values[valuesById[11] = "MOUTH_LEFT"] = 11; - values[valuesById[12] = "MOUTH_RIGHT"] = 12; - values[valuesById[13] = "MOUTH_CENTER"] = 13; - values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; - values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; - values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; - values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; - values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; - values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; - values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; - values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; - values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; - values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; - values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; - values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; - values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; - values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; - values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; - values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; - values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; - values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; - values[valuesById[32] = "CHIN_GNATHION"] = 32; - values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; - values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; - return values; - })(); + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { + return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateFiles" }); - return Landmark; - })(); + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ - return FaceAnnotation; + return ImageAnnotator; })(); - v1p2beta1.LocationInfo = (function() { + v1p2beta1.Feature = (function() { /** - * Properties of a LocationInfo. + * Properties of a Feature. * @memberof google.cloud.vision.v1p2beta1 - * @interface ILocationInfo - * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng + * @interface IFeature + * @property {google.cloud.vision.v1p2beta1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model */ /** - * Constructs a new LocationInfo. + * Constructs a new Feature. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a LocationInfo. - * @implements ILocationInfo + * @classdesc Represents a Feature. + * @implements IFeature * @constructor - * @param {google.cloud.vision.v1p2beta1.ILocationInfo=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IFeature=} [properties] Properties to set */ - function LocationInfo(properties) { + function Feature(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -38227,75 +37145,101 @@ } /** - * LocationInfo latLng. - * @member {google.type.ILatLng|null|undefined} latLng - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * Feature type. + * @member {google.cloud.vision.v1p2beta1.Feature.Type} type + * @memberof google.cloud.vision.v1p2beta1.Feature * @instance */ - LocationInfo.prototype.latLng = null; + Feature.prototype.type = 0; /** - * Creates a new LocationInfo instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1p2beta1.Feature + * @instance + */ + Feature.prototype.maxResults = 0; + + /** + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1p2beta1.Feature + * @instance + */ + Feature.prototype.model = ""; + + /** + * Creates a new Feature instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Feature * @static - * @param {google.cloud.vision.v1p2beta1.ILocationInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo instance + * @param {google.cloud.vision.v1p2beta1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Feature} Feature instance */ - LocationInfo.create = function create(properties) { - return new LocationInfo(properties); + Feature.create = function create(properties) { + return new Feature(properties); }; /** - * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p2beta1.LocationInfo.verify|verify} messages. + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Feature.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @memberof google.cloud.vision.v1p2beta1.Feature * @static - * @param {google.cloud.vision.v1p2beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IFeature} message Feature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocationInfo.encode = function encode(message, writer) { + Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) - $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; /** - * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.LocationInfo.verify|verify} messages. + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Feature.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @memberof google.cloud.vision.v1p2beta1.Feature * @static - * @param {google.cloud.vision.v1p2beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IFeature} message Feature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + Feature.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LocationInfo message from the specified reader or buffer. + * Decodes a Feature message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @memberof google.cloud.vision.v1p2beta1.Feature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1p2beta1.Feature} Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationInfo.decode = function decode(reader, length) { + Feature.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.LocationInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Feature(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.type = reader.int32(); + break; + case 2: + message.maxResults = reader.int32(); + break; + case 3: + message.model = reader.string(); break; default: reader.skipType(tag & 7); @@ -38306,114 +37250,215 @@ }; /** - * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * Decodes a Feature message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @memberof google.cloud.vision.v1p2beta1.Feature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1p2beta1.Feature} Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationInfo.decodeDelimited = function decodeDelimited(reader) { + Feature.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LocationInfo message. + * Verifies a Feature message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @memberof google.cloud.vision.v1p2beta1.Feature * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LocationInfo.verify = function verify(message) { + Feature.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.latLng != null && message.hasOwnProperty("latLng")) { - var error = $root.google.type.LatLng.verify(message.latLng); - if (error) - return "latLng." + error; - } + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 11: + case 6: + case 7: + case 9: + case 10: + break; + } + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; return null; }; /** - * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * Creates a Feature message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @memberof google.cloud.vision.v1p2beta1.Feature * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1p2beta1.Feature} Feature */ - LocationInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.LocationInfo) + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Feature) return object; - var message = new $root.google.cloud.vision.v1p2beta1.LocationInfo(); - if (object.latLng != null) { - if (typeof object.latLng !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.LocationInfo.latLng: object expected"); - message.latLng = $root.google.type.LatLng.fromObject(object.latLng); + var message = new $root.google.cloud.vision.v1p2beta1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": + case 0: + message.type = 0; + break; + case "FACE_DETECTION": + case 1: + message.type = 1; + break; + case "LANDMARK_DETECTION": + case 2: + message.type = 2; + break; + case "LOGO_DETECTION": + case 3: + message.type = 3; + break; + case "LABEL_DETECTION": + case 4: + message.type = 4; + break; + case "TEXT_DETECTION": + case 5: + message.type = 5; + break; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; + break; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; + break; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; + break; + case "CROP_HINTS": + case 9: + message.type = 9; + break; + case "WEB_DETECTION": + case 10: + message.type = 10; + break; } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); return message; }; /** - * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * Creates a plain object from a Feature message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @memberof google.cloud.vision.v1p2beta1.Feature * @static - * @param {google.cloud.vision.v1p2beta1.LocationInfo} message LocationInfo + * @param {google.cloud.vision.v1p2beta1.Feature} message Feature * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LocationInfo.toObject = function toObject(message, options) { + Feature.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.latLng = null; - if (message.latLng != null && message.hasOwnProperty("latLng")) - object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); + if (options.defaults) { + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; return object; }; /** - * Converts this LocationInfo to JSON. + * Converts this Feature to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @memberof google.cloud.vision.v1p2beta1.Feature * @instance * @returns {Object.} JSON object */ - LocationInfo.prototype.toJSON = function toJSON() { + Feature.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LocationInfo; + /** + * Type enum. + * @name google.cloud.vision.v1p2beta1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + return values; + })(); + + return Feature; })(); - v1p2beta1.Property = (function() { + v1p2beta1.ImageSource = (function() { /** - * Properties of a Property. + * Properties of an ImageSource. * @memberof google.cloud.vision.v1p2beta1 - * @interface IProperty - * @property {string|null} [name] Property name - * @property {string|null} [value] Property value - * @property {number|Long|null} [uint64Value] Property uint64Value + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri */ /** - * Constructs a new Property. + * Constructs a new ImageSource. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a Property. - * @implements IProperty + * @classdesc Represents an ImageSource. + * @implements IImageSource * @constructor - * @param {google.cloud.vision.v1p2beta1.IProperty=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IImageSource=} [properties] Properties to set */ - function Property(properties) { + function ImageSource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -38421,101 +37466,88 @@ } /** - * Property name. - * @member {string} name - * @memberof google.cloud.vision.v1p2beta1.Property - * @instance - */ - Property.prototype.name = ""; - - /** - * Property value. - * @member {string} value - * @memberof google.cloud.vision.v1p2beta1.Property + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @instance */ - Property.prototype.value = ""; + ImageSource.prototype.gcsImageUri = ""; /** - * Property uint64Value. - * @member {number|Long} uint64Value - * @memberof google.cloud.vision.v1p2beta1.Property + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @instance */ - Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + ImageSource.prototype.imageUri = ""; /** - * Creates a new Property instance using the specified properties. + * Creates a new ImageSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.Property + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @static - * @param {google.cloud.vision.v1p2beta1.IProperty=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Property} Property instance + * @param {google.cloud.vision.v1p2beta1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource instance */ - Property.create = function create(properties) { - return new Property(properties); + ImageSource.create = function create(properties) { + return new ImageSource(properties); }; /** - * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Property.verify|verify} messages. + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.Property + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @static - * @param {google.cloud.vision.v1p2beta1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encode = function encode(message, writer) { + ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; /** - * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Property.verify|verify} messages. + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Property + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @static - * @param {google.cloud.vision.v1p2beta1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encodeDelimited = function encodeDelimited(message, writer) { + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Property message from the specified reader or buffer. + * Decodes an ImageSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.Property + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Property} Property + * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decode = function decode(reader, length) { + ImageSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Property(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.gcsImageUri = reader.string(); break; case 2: - message.value = reader.string(); - break; - case 3: - message.uint64Value = reader.uint64(); + message.imageUri = reader.string(); break; default: reader.skipType(tag & 7); @@ -38526,148 +37558,117 @@ }; /** - * Decodes a Property message from the specified reader or buffer, length delimited. + * Decodes an ImageSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Property + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Property} Property + * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decodeDelimited = function decodeDelimited(reader) { + ImageSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Property message. + * Verifies an ImageSource message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.Property + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Property.verify = function verify(message) { + ImageSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) - return "uint64Value: integer|Long expected"; + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; return null; }; /** - * Creates a Property message from a plain object. Also converts values to their respective internal types. + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Property + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Property} Property + * @returns {google.cloud.vision.v1p2beta1.ImageSource} ImageSource */ - Property.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Property) + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageSource) return object; - var message = new $root.google.cloud.vision.v1p2beta1.Property(); - if (object.name != null) - message.name = String(object.name); - if (object.value != null) - message.value = String(object.value); - if (object.uint64Value != null) - if ($util.Long) - (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; - else if (typeof object.uint64Value === "string") - message.uint64Value = parseInt(object.uint64Value, 10); - else if (typeof object.uint64Value === "number") - message.uint64Value = object.uint64Value; - else if (typeof object.uint64Value === "object") - message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + var message = new $root.google.cloud.vision.v1p2beta1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); return message; }; /** - * Creates a plain object from a Property message. Also converts values to other types if specified. + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Property + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @static - * @param {google.cloud.vision.v1p2beta1.Property} message Property + * @param {google.cloud.vision.v1p2beta1.ImageSource} message ImageSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Property.toObject = function toObject(message, options) { + ImageSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.name = ""; - object.value = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.uint64Value = options.longs === String ? "0" : 0; + object.gcsImageUri = ""; + object.imageUri = ""; } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (typeof message.uint64Value === "number") - object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; - else - object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; return object; }; /** - * Converts this Property to JSON. + * Converts this ImageSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Property + * @memberof google.cloud.vision.v1p2beta1.ImageSource * @instance * @returns {Object.} JSON object */ - Property.prototype.toJSON = function toJSON() { + ImageSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Property; + return ImageSource; })(); - v1p2beta1.EntityAnnotation = (function() { + v1p2beta1.Image = (function() { /** - * Properties of an EntityAnnotation. + * Properties of an Image. * @memberof google.cloud.vision.v1p2beta1 - * @interface IEntityAnnotation - * @property {string|null} [mid] EntityAnnotation mid - * @property {string|null} [locale] EntityAnnotation locale - * @property {string|null} [description] EntityAnnotation description - * @property {number|null} [score] EntityAnnotation score - * @property {number|null} [confidence] EntityAnnotation confidence - * @property {number|null} [topicality] EntityAnnotation topicality - * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly - * @property {Array.|null} [locations] EntityAnnotation locations - * @property {Array.|null} [properties] EntityAnnotation properties + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1p2beta1.IImageSource|null} [source] Image source */ /** - * Constructs a new EntityAnnotation. + * Constructs a new Image. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an EntityAnnotation. - * @implements IEntityAnnotation + * @classdesc Represents an Image. + * @implements IImage * @constructor - * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IImage=} [properties] Properties to set */ - function EntityAnnotation(properties) { - this.locations = []; - this.properties = []; + function Image(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -38675,185 +37676,88 @@ } /** - * EntityAnnotation mid. - * @member {string} mid - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p2beta1.Image * @instance */ - EntityAnnotation.prototype.mid = ""; + Image.prototype.content = $util.newBuffer([]); /** - * EntityAnnotation locale. - * @member {string} locale - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * Image source. + * @member {google.cloud.vision.v1p2beta1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1p2beta1.Image * @instance */ - EntityAnnotation.prototype.locale = ""; + Image.prototype.source = null; /** - * EntityAnnotation description. - * @member {string} description - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation - * @instance + * Creates a new Image instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {google.cloud.vision.v1p2beta1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Image} Image instance */ - EntityAnnotation.prototype.description = ""; + Image.create = function create(properties) { + return new Image(properties); + }; /** - * EntityAnnotation score. - * @member {number} score - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation - * @instance + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Image.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {google.cloud.vision.v1p2beta1.IImage} message Image message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - EntityAnnotation.prototype.score = 0; - - /** - * EntityAnnotation confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.confidence = 0; - - /** - * EntityAnnotation topicality. - * @member {number} topicality - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.topicality = 0; - - /** - * EntityAnnotation boundingPoly. - * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.boundingPoly = null; - - /** - * EntityAnnotation locations. - * @member {Array.} locations - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.locations = $util.emptyArray; - - /** - * EntityAnnotation properties. - * @member {Array.} properties - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.properties = $util.emptyArray; - - /** - * Creates a new EntityAnnotation instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation - * @static - * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation instance - */ - EntityAnnotation.create = function create(properties) { - return new EntityAnnotation(properties); - }; - - /** - * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.EntityAnnotation.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation - * @static - * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EntityAnnotation.encode = function encode(message, writer) { + Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.locations != null && message.locations.length) - for (var i = 0; i < message.locations.length; ++i) - $root.google.cloud.vision.v1p2beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.properties != null && message.properties.length) - for (var i = 0; i < message.properties.length; ++i) - $root.google.cloud.vision.v1p2beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1p2beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.EntityAnnotation.verify|verify} messages. + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Image.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p2beta1.Image * @static - * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IImage} message Image message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + Image.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EntityAnnotation message from the specified reader or buffer. + * Decodes an Image message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p2beta1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p2beta1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EntityAnnotation.decode = function decode(reader, length) { + Image.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.EntityAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Image(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.mid = reader.string(); + message.content = reader.bytes(); break; case 2: - message.locale = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.confidence = reader.float(); - break; - case 6: - message.topicality = reader.float(); - break; - case 7: - message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1p2beta1.LocationInfo.decode(reader, reader.uint32())); - break; - case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1p2beta1.Property.decode(reader, reader.uint32())); + message.source = $root.google.cloud.vision.v1p2beta1.ImageSource.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -38864,217 +37768,145 @@ }; /** - * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * Decodes an Image message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p2beta1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p2beta1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { + Image.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EntityAnnotation message. + * Verifies an Image message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p2beta1.Image * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EntityAnnotation.verify = function verify(message) { + Image.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.mid != null && message.hasOwnProperty("mid")) - if (!$util.isString(message.mid)) - return "mid: string expected"; - if (message.locale != null && message.hasOwnProperty("locale")) - if (!$util.isString(message.locale)) - return "locale: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.topicality != null && message.hasOwnProperty("topicality")) - if (typeof message.topicality !== "number") - return "topicality: number expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingPoly); + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1p2beta1.ImageSource.verify(message.source); if (error) - return "boundingPoly." + error; - } - if (message.locations != null && message.hasOwnProperty("locations")) { - if (!Array.isArray(message.locations)) - return "locations: array expected"; - for (var i = 0; i < message.locations.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.LocationInfo.verify(message.locations[i]); - if (error) - return "locations." + error; - } - } - if (message.properties != null && message.hasOwnProperty("properties")) { - if (!Array.isArray(message.properties)) - return "properties: array expected"; - for (var i = 0; i < message.properties.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.Property.verify(message.properties[i]); - if (error) - return "properties." + error; - } + return "source." + error; } return null; }; /** - * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates an Image message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p2beta1.Image * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p2beta1.Image} Image */ - EntityAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.EntityAnnotation) + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Image) return object; - var message = new $root.google.cloud.vision.v1p2beta1.EntityAnnotation(); - if (object.mid != null) - message.mid = String(object.mid); - if (object.locale != null) - message.locale = String(object.locale); - if (object.description != null) - message.description = String(object.description); - if (object.score != null) - message.score = Number(object.score); - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.topicality != null) - message.topicality = Number(object.topicality); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.locations) { - if (!Array.isArray(object.locations)) - throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.locations: array expected"); - message.locations = []; - for (var i = 0; i < object.locations.length; ++i) { - if (typeof object.locations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.locations: object expected"); - message.locations[i] = $root.google.cloud.vision.v1p2beta1.LocationInfo.fromObject(object.locations[i]); - } - } - if (object.properties) { - if (!Array.isArray(object.properties)) - throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.properties: array expected"); - message.properties = []; - for (var i = 0; i < object.properties.length; ++i) { - if (typeof object.properties[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.properties: object expected"); - message.properties[i] = $root.google.cloud.vision.v1p2beta1.Property.fromObject(object.properties[i]); - } + var message = new $root.google.cloud.vision.v1p2beta1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1p2beta1.ImageSource.fromObject(object.source); } return message; }; /** - * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * Creates a plain object from an Image message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p2beta1.Image * @static - * @param {google.cloud.vision.v1p2beta1.EntityAnnotation} message EntityAnnotation + * @param {google.cloud.vision.v1p2beta1.Image} message Image * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EntityAnnotation.toObject = function toObject(message, options) { + Image.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.locations = []; - object.properties = []; - } if (options.defaults) { - object.mid = ""; - object.locale = ""; - object.description = ""; - object.score = 0; - object.confidence = 0; - object.topicality = 0; - object.boundingPoly = null; - } - if (message.mid != null && message.hasOwnProperty("mid")) - object.mid = message.mid; - if (message.locale != null && message.hasOwnProperty("locale")) - object.locale = message.locale; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.topicality != null && message.hasOwnProperty("topicality")) - object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.locations && message.locations.length) { - object.locations = []; - for (var j = 0; j < message.locations.length; ++j) - object.locations[j] = $root.google.cloud.vision.v1p2beta1.LocationInfo.toObject(message.locations[j], options); - } - if (message.properties && message.properties.length) { - object.properties = []; - for (var j = 0; j < message.properties.length; ++j) - object.properties[j] = $root.google.cloud.vision.v1p2beta1.Property.toObject(message.properties[j], options); + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; } + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1p2beta1.ImageSource.toObject(message.source, options); return object; }; /** - * Converts this EntityAnnotation to JSON. + * Converts this Image to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p2beta1.Image * @instance * @returns {Object.} JSON object */ - EntityAnnotation.prototype.toJSON = function toJSON() { + Image.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EntityAnnotation; + return Image; })(); - v1p2beta1.SafeSearchAnnotation = (function() { + v1p2beta1.FaceAnnotation = (function() { /** - * Properties of a SafeSearchAnnotation. + * Properties of a FaceAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @interface ISafeSearchAnnotation - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [adult] SafeSearchAnnotation adult - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [medical] SafeSearchAnnotation medical - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [violence] SafeSearchAnnotation violence - * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [racy] SafeSearchAnnotation racy + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood */ /** - * Constructs a new SafeSearchAnnotation. + * Constructs a new FaceAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a SafeSearchAnnotation. - * @implements ISafeSearchAnnotation + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation * @constructor - * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation=} [properties] Properties to set */ - function SafeSearchAnnotation(properties) { + function FaceAnnotation(properties) { + this.landmarks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -39082,167 +37914,334 @@ } /** - * SafeSearchAnnotation adult. - * @member {google.cloud.vision.v1p2beta1.Likelihood} adult - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.adult = 0; + FaceAnnotation.prototype.boundingPoly = null; /** - * SafeSearchAnnotation spoof. - * @member {google.cloud.vision.v1p2beta1.Likelihood} spoof - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.spoof = 0; + FaceAnnotation.prototype.fdBoundingPoly = null; /** - * SafeSearchAnnotation medical. - * @member {google.cloud.vision.v1p2beta1.Likelihood} medical - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.medical = 0; + FaceAnnotation.prototype.landmarks = $util.emptyArray; /** - * SafeSearchAnnotation violence. - * @member {google.cloud.vision.v1p2beta1.Likelihood} violence - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.violence = 0; + FaceAnnotation.prototype.rollAngle = 0; /** - * SafeSearchAnnotation racy. - * @member {google.cloud.vision.v1p2beta1.Likelihood} racy - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.racy = 0; + FaceAnnotation.prototype.panAngle = 0; /** - * Creates a new SafeSearchAnnotation instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation instance + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance */ - SafeSearchAnnotation.create = function create(properties) { - return new SafeSearchAnnotation(properties); - }; + FaceAnnotation.prototype.tiltAngle = 0; /** - * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance */ - SafeSearchAnnotation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); - return writer; - }; + FaceAnnotation.prototype.detectionConfidence = 0; /** - * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation - * @static - * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance */ - SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + FaceAnnotation.prototype.landmarkingConfidence = 0; /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance */ - SafeSearchAnnotation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.adult = reader.int32(); - break; - case 2: - message.spoof = reader.int32(); - break; - case 3: - message.medical = reader.int32(); - break; - case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + FaceAnnotation.prototype.joyLikelihood = 0; /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance */ - SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + FaceAnnotation.prototype.sorrowLikelihood = 0; /** - * Verifies a SafeSearchAnnotation message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SafeSearchAnnotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1p2beta1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * Creates a new FaceAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation instance + */ + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); + }; + + /** + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + return writer; + }; + + /** + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {google.cloud.vision.v1p2beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + case 4: + message.rollAngle = reader.float(); + break; + case 5: + message.panAngle = reader.float(); + break; + case 6: + message.tiltAngle = reader.float(); + break; + case 7: + message.detectionConfidence = reader.float(); + break; + case 8: + message.landmarkingConfidence = reader.float(); + break; + case 9: + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) return "object expected"; - if (message.adult != null && message.hasOwnProperty("adult")) - switch (message.adult) { + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; + } + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { default: - return "adult: enum value expected"; + return "joyLikelihood: enum value expected"; case 0: case 1: case 2: @@ -39251,10 +38250,10 @@ case 5: break; } - if (message.spoof != null && message.hasOwnProperty("spoof")) - switch (message.spoof) { + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { default: - return "spoof: enum value expected"; + return "sorrowLikelihood: enum value expected"; case 0: case 1: case 2: @@ -39263,10 +38262,10 @@ case 5: break; } - if (message.medical != null && message.hasOwnProperty("medical")) - switch (message.medical) { + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { default: - return "medical: enum value expected"; + return "angerLikelihood: enum value expected"; case 0: case 1: case 2: @@ -39275,10 +38274,10 @@ case 5: break; } - if (message.violence != null && message.hasOwnProperty("violence")) - switch (message.violence) { + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { default: - return "violence: enum value expected"; + return "surpriseLikelihood: enum value expected"; case 0: case 1: case 2: @@ -39287,10 +38286,34 @@ case 5: break; } - if (message.racy != null && message.hasOwnProperty("racy")) - switch (message.racy) { + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { default: - return "racy: enum value expected"; + return "underExposedLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { + default: + return "blurredLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { + default: + return "headwearLikelihood: enum value expected"; case 0: case 1: case 2: @@ -39303,673 +38326,804 @@ }; /** - * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation} FaceAnnotation */ - SafeSearchAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation) + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.FaceAnnotation) return object; - var message = new $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation(); - switch (object.adult) { + var message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.fdBoundingPoly); + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); + } + } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { case "UNKNOWN": case 0: - message.adult = 0; + message.joyLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.adult = 1; + message.joyLikelihood = 1; break; case "UNLIKELY": case 2: - message.adult = 2; + message.joyLikelihood = 2; break; case "POSSIBLE": case 3: - message.adult = 3; + message.joyLikelihood = 3; break; case "LIKELY": case 4: - message.adult = 4; + message.joyLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.adult = 5; + message.joyLikelihood = 5; break; } - switch (object.spoof) { + switch (object.sorrowLikelihood) { case "UNKNOWN": case 0: - message.spoof = 0; + message.sorrowLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.spoof = 1; + message.sorrowLikelihood = 1; break; case "UNLIKELY": case 2: - message.spoof = 2; + message.sorrowLikelihood = 2; break; case "POSSIBLE": case 3: - message.spoof = 3; + message.sorrowLikelihood = 3; break; case "LIKELY": case 4: - message.spoof = 4; + message.sorrowLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.spoof = 5; + message.sorrowLikelihood = 5; break; } - switch (object.medical) { + switch (object.angerLikelihood) { case "UNKNOWN": case 0: - message.medical = 0; + message.angerLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.medical = 1; + message.angerLikelihood = 1; break; case "UNLIKELY": case 2: - message.medical = 2; + message.angerLikelihood = 2; break; case "POSSIBLE": case 3: - message.medical = 3; + message.angerLikelihood = 3; break; case "LIKELY": case 4: - message.medical = 4; + message.angerLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.medical = 5; + message.angerLikelihood = 5; break; } - switch (object.violence) { + switch (object.surpriseLikelihood) { case "UNKNOWN": case 0: - message.violence = 0; + message.surpriseLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.violence = 1; + message.surpriseLikelihood = 1; break; case "UNLIKELY": case 2: - message.violence = 2; + message.surpriseLikelihood = 2; break; case "POSSIBLE": case 3: - message.violence = 3; + message.surpriseLikelihood = 3; break; case "LIKELY": case 4: - message.violence = 4; + message.surpriseLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.violence = 5; + message.surpriseLikelihood = 5; break; } - switch (object.racy) { + switch (object.underExposedLikelihood) { case "UNKNOWN": case 0: - message.racy = 0; + message.underExposedLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.racy = 1; + message.underExposedLikelihood = 1; break; case "UNLIKELY": case 2: - message.racy = 2; + message.underExposedLikelihood = 2; break; case "POSSIBLE": case 3: - message.racy = 3; + message.underExposedLikelihood = 3; break; case "LIKELY": case 4: - message.racy = 4; + message.underExposedLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.racy = 5; + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; break; } return message; }; /** - * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation} message FaceAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SafeSearchAnnotation.toObject = function toObject(message, options) { + FaceAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.landmarks = []; if (options.defaults) { - object.adult = options.enums === String ? "UNKNOWN" : 0; - object.spoof = options.enums === String ? "UNKNOWN" : 0; - object.medical = options.enums === String ? "UNKNOWN" : 0; - object.violence = options.enums === String ? "UNKNOWN" : 0; - object.racy = options.enums === String ? "UNKNOWN" : 0; + object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; } - if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.adult] : message.adult; - if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.spoof] : message.spoof; - if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.medical] : message.medical; - if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.violence] : message.violence; - if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.racy] : message.racy; - return object; - }; - - /** - * Converts this SafeSearchAnnotation to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation - * @instance - * @returns {Object.} JSON object - */ - SafeSearchAnnotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SafeSearchAnnotation; - })(); - - v1p2beta1.LatLongRect = (function() { - - /** - * Properties of a LatLongRect. - * @memberof google.cloud.vision.v1p2beta1 - * @interface ILatLongRect - * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng - * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng - */ - - /** - * Constructs a new LatLongRect. - * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a LatLongRect. - * @implements ILatLongRect - * @constructor - * @param {google.cloud.vision.v1p2beta1.ILatLongRect=} [properties] Properties to set - */ - function LatLongRect(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]]; - } - - /** - * LatLongRect minLatLng. - * @member {google.type.ILatLng|null|undefined} minLatLng - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @instance - */ - LatLongRect.prototype.minLatLng = null; - - /** - * LatLongRect maxLatLng. - * @member {google.type.ILatLng|null|undefined} maxLatLng - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @instance - */ - LatLongRect.prototype.maxLatLng = null; - - /** - * Creates a new LatLongRect instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p2beta1.ILatLongRect=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect instance - */ - LatLongRect.create = function create(properties) { - return new LatLongRect(properties); - }; - - /** - * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p2beta1.LatLongRect.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p2beta1.ILatLongRect} message LatLongRect message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LatLongRect.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.LatLongRect.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p2beta1.ILatLongRect} message LatLongRect message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LatLongRect message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LatLongRect.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.LatLongRect(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LatLongRect message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LatLongRect.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LatLongRect message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LatLongRect.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { - var error = $root.google.type.LatLng.verify(message.minLatLng); - if (error) - return "minLatLng." + error; - } - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { - var error = $root.google.type.LatLng.verify(message.maxLatLng); - if (error) - return "maxLatLng." + error; - } - return null; - }; - - /** - * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect - */ - LatLongRect.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.LatLongRect) - return object; - var message = new $root.google.cloud.vision.v1p2beta1.LatLongRect(); - if (object.minLatLng != null) { - if (typeof object.minLatLng !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.LatLongRect.minLatLng: object expected"); - message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); - } - if (object.maxLatLng != null) { - if (typeof object.maxLatLng !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.LatLongRect.maxLatLng: object expected"); - message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); - } - return message; - }; - - /** - * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p2beta1.LatLongRect} message LatLongRect - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LatLongRect.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.minLatLng = null; - object.maxLatLng = null; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); } - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; return object; }; /** - * Converts this LatLongRect to JSON. + * Converts this FaceAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation * @instance * @returns {Object.} JSON object */ - LatLongRect.prototype.toJSON = function toJSON() { + FaceAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LatLongRect; - })(); - - v1p2beta1.ColorInfo = (function() { - - /** - * Properties of a ColorInfo. - * @memberof google.cloud.vision.v1p2beta1 - * @interface IColorInfo - * @property {google.type.IColor|null} [color] ColorInfo color - * @property {number|null} [score] ColorInfo score - * @property {number|null} [pixelFraction] ColorInfo pixelFraction - */ + FaceAnnotation.Landmark = (function() { - /** - * Constructs a new ColorInfo. - * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a ColorInfo. - * @implements IColorInfo - * @constructor - * @param {google.cloud.vision.v1p2beta1.IColorInfo=} [properties] Properties to set - */ - function ColorInfo(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]]; - } + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1p2beta1.IPosition|null} [position] Landmark position + */ - /** - * ColorInfo color. - * @member {google.type.IColor|null|undefined} color - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @instance - */ - ColorInfo.prototype.color = null; + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } - /** - * ColorInfo score. - * @member {number} score - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @instance - */ - ColorInfo.prototype.score = 0; + /** + * Landmark type. + * @member {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; - /** - * ColorInfo pixelFraction. - * @member {number} pixelFraction - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @instance - */ - ColorInfo.prototype.pixelFraction = 0; + /** + * Landmark position. + * @member {google.cloud.vision.v1p2beta1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; - /** - * Creates a new ColorInfo instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @static - * @param {google.cloud.vision.v1p2beta1.IColorInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo instance - */ - ColorInfo.create = function create(properties) { - return new ColorInfo(properties); - }; + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; - /** - * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ColorInfo.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @static - * @param {google.cloud.vision.v1p2beta1.IColorInfo} message ColorInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ColorInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) - $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); - return writer; - }; + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1p2beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; - /** - * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ColorInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @static - * @param {google.cloud.vision.v1p2beta1.IColorInfo} message ColorInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a ColorInfo message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ColorInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ColorInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pixelFraction = reader.float(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1p2beta1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } } - } - return message; - }; + return message; + }; - /** - * Decodes a ColorInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ColorInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Verifies a ColorInfo message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ColorInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.color != null && message.hasOwnProperty("color")) { - var error = $root.google.type.Color.verify(message.color); - if (error) - return "color." + error; - } - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - if (typeof message.pixelFraction !== "number") - return "pixelFraction: number expected"; - return null; - }; + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1p2beta1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; - /** - * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo - */ - ColorInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.ColorInfo) + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": + case 1: + message.type = 1; + break; + case "RIGHT_EYE": + case 2: + message.type = 2; + break; + case "LEFT_OF_LEFT_EYEBROW": + case 3: + message.type = 3; + break; + case "RIGHT_OF_LEFT_EYEBROW": + case 4: + message.type = 4; + break; + case "LEFT_OF_RIGHT_EYEBROW": + case 5: + message.type = 5; + break; + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; + break; + } + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1p2beta1.Position.fromObject(object.position); + } + return message; + }; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1p2beta1.Position.toObject(message.position, options); return object; - var message = new $root.google.cloud.vision.v1p2beta1.ColorInfo(); - if (object.color != null) { - if (typeof object.color !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.ColorInfo.color: object expected"); - message.color = $root.google.type.Color.fromObject(object.color); - } - if (object.score != null) - message.score = Number(object.score); - if (object.pixelFraction != null) - message.pixelFraction = Number(object.pixelFraction); - return message; - }; + }; - /** - * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @static - * @param {google.cloud.vision.v1p2beta1.ColorInfo} message ColorInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ColorInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.color = null; - object.score = 0; - object.pixelFraction = 0; - } - if (message.color != null && message.hasOwnProperty("color")) - object.color = $root.google.type.Color.toObject(message.color, options); - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; - return object; - }; + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this ColorInfo to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.ColorInfo - * @instance - * @returns {Object.} JSON object - */ - ColorInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Type enum. + * @name google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); - return ColorInfo; + return Landmark; + })(); + + return FaceAnnotation; })(); - v1p2beta1.DominantColorsAnnotation = (function() { + v1p2beta1.LocationInfo = (function() { /** - * Properties of a DominantColorsAnnotation. + * Properties of a LocationInfo. * @memberof google.cloud.vision.v1p2beta1 - * @interface IDominantColorsAnnotation - * @property {Array.|null} [colors] DominantColorsAnnotation colors + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng */ /** - * Constructs a new DominantColorsAnnotation. + * Constructs a new LocationInfo. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a DominantColorsAnnotation. - * @implements IDominantColorsAnnotation + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo * @constructor - * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.ILocationInfo=} [properties] Properties to set */ - function DominantColorsAnnotation(properties) { - this.colors = []; + function LocationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -39977,78 +39131,75 @@ } /** - * DominantColorsAnnotation colors. - * @member {Array.} colors - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @instance */ - DominantColorsAnnotation.prototype.colors = $util.emptyArray; + LocationInfo.prototype.latLng = null; /** - * Creates a new DominantColorsAnnotation instance using the specified properties. + * Creates a new LocationInfo instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation instance + * @param {google.cloud.vision.v1p2beta1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo instance */ - DominantColorsAnnotation.create = function create(properties) { - return new DominantColorsAnnotation(properties); + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); }; /** - * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify|verify} messages. + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p2beta1.LocationInfo.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ILocationInfo} message LocationInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DominantColorsAnnotation.encode = function encode(message, writer) { + LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.colors != null && message.colors.length) - for (var i = 0; i < message.colors.length; ++i) - $root.google.cloud.vision.v1p2beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify|verify} messages. + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.LocationInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ILocationInfo} message LocationInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * Decodes a LocationInfo message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decode = function decode(reader, length) { + LocationInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.LocationInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1p2beta1.ColorInfo.decode(reader, reader.uint32())); + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -40059,124 +39210,114 @@ }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + LocationInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DominantColorsAnnotation message. + * Verifies a LocationInfo message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DominantColorsAnnotation.verify = function verify(message) { + LocationInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.colors != null && message.hasOwnProperty("colors")) { - if (!Array.isArray(message.colors)) - return "colors: array expected"; - for (var i = 0; i < message.colors.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.ColorInfo.verify(message.colors[i]); - if (error) - return "colors." + error; - } - } - return null; - }; + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); + if (error) + return "latLng." + error; + } + return null; + }; /** - * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p2beta1.LocationInfo} LocationInfo */ - DominantColorsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation) + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.LocationInfo) return object; - var message = new $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation(); - if (object.colors) { - if (!Array.isArray(object.colors)) - throw TypeError(".google.cloud.vision.v1p2beta1.DominantColorsAnnotation.colors: array expected"); - message.colors = []; - for (var i = 0; i < object.colors.length; ++i) { - if (typeof object.colors[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.DominantColorsAnnotation.colors: object expected"); - message.colors[i] = $root.google.cloud.vision.v1p2beta1.ColorInfo.fromObject(object.colors[i]); - } + var message = new $root.google.cloud.vision.v1p2beta1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); } return message; }; /** - * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {google.cloud.vision.v1p2beta1.LocationInfo} message LocationInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DominantColorsAnnotation.toObject = function toObject(message, options) { + LocationInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.colors = []; - if (message.colors && message.colors.length) { - object.colors = []; - for (var j = 0; j < message.colors.length; ++j) - object.colors[j] = $root.google.cloud.vision.v1p2beta1.ColorInfo.toObject(message.colors[j], options); - } + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); return object; }; /** - * Converts this DominantColorsAnnotation to JSON. + * Converts this LocationInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p2beta1.LocationInfo * @instance * @returns {Object.} JSON object */ - DominantColorsAnnotation.prototype.toJSON = function toJSON() { + LocationInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DominantColorsAnnotation; + return LocationInfo; })(); - v1p2beta1.ImageProperties = (function() { + v1p2beta1.Property = (function() { /** - * Properties of an ImageProperties. + * Properties of a Property. * @memberof google.cloud.vision.v1p2beta1 - * @interface IImageProperties - * @property {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value */ /** - * Constructs a new ImageProperties. + * Constructs a new Property. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an ImageProperties. - * @implements IImageProperties + * @classdesc Represents a Property. + * @implements IProperty * @constructor - * @param {google.cloud.vision.v1p2beta1.IImageProperties=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IProperty=} [properties] Properties to set */ - function ImageProperties(properties) { + function Property(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40184,75 +39325,101 @@ } /** - * ImageProperties dominantColors. - * @member {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation|null|undefined} dominantColors - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1p2beta1.Property * @instance */ - ImageProperties.prototype.dominantColors = null; + Property.prototype.name = ""; /** - * Creates a new ImageProperties instance using the specified properties. + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1p2beta1.Property + * @instance + */ + Property.prototype.value = ""; + + /** + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1p2beta1.Property + * @instance + */ + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Property instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @memberof google.cloud.vision.v1p2beta1.Property * @static - * @param {google.cloud.vision.v1p2beta1.IImageProperties=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties instance + * @param {google.cloud.vision.v1p2beta1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Property} Property instance */ - ImageProperties.create = function create(properties) { - return new ImageProperties(properties); + Property.create = function create(properties) { + return new Property(properties); }; /** - * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageProperties.verify|verify} messages. + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Property.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @memberof google.cloud.vision.v1p2beta1.Property * @static - * @param {google.cloud.vision.v1p2beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encode = function encode(message, writer) { + Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; /** - * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageProperties.verify|verify} messages. + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Property.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @memberof google.cloud.vision.v1p2beta1.Property * @static - * @param {google.cloud.vision.v1p2beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + Property.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageProperties message from the specified reader or buffer. + * Decodes a Property message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @memberof google.cloud.vision.v1p2beta1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p2beta1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decode = function decode(reader, length) { + Property.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageProperties(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Property(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + message.name = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + case 3: + message.uint64Value = reader.uint64(); break; default: reader.skipType(tag & 7); @@ -40263,114 +39430,148 @@ }; /** - * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * Decodes a Property message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @memberof google.cloud.vision.v1p2beta1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p2beta1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decodeDelimited = function decodeDelimited(reader) { + Property.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageProperties message. + * Verifies a Property message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @memberof google.cloud.vision.v1p2beta1.Property * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageProperties.verify = function verify(message) { + Property.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { - var error = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify(message.dominantColors); - if (error) - return "dominantColors." + error; - } + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; return null; }; /** - * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * Creates a Property message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @memberof google.cloud.vision.v1p2beta1.Property * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p2beta1.Property} Property */ - ImageProperties.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageProperties) + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Property) return object; - var message = new $root.google.cloud.vision.v1p2beta1.ImageProperties(); - if (object.dominantColors != null) { - if (typeof object.dominantColors !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.ImageProperties.dominantColors: object expected"); - message.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.fromObject(object.dominantColors); - } + var message = new $root.google.cloud.vision.v1p2beta1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); return message; }; /** - * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * Creates a plain object from a Property message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @memberof google.cloud.vision.v1p2beta1.Property * @static - * @param {google.cloud.vision.v1p2beta1.ImageProperties} message ImageProperties + * @param {google.cloud.vision.v1p2beta1.Property} message Property * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageProperties.toObject = function toObject(message, options) { + Property.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.dominantColors = null; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - object.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); + if (options.defaults) { + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; return object; }; /** - * Converts this ImageProperties to JSON. + * Converts this Property to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @memberof google.cloud.vision.v1p2beta1.Property * @instance * @returns {Object.} JSON object */ - ImageProperties.prototype.toJSON = function toJSON() { + Property.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageProperties; + return Property; })(); - v1p2beta1.CropHint = (function() { + v1p2beta1.EntityAnnotation = (function() { /** - * Properties of a CropHint. + * Properties of an EntityAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @interface ICropHint - * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly - * @property {number|null} [confidence] CropHint confidence - * @property {number|null} [importanceFraction] CropHint importanceFraction + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties */ /** - * Constructs a new CropHint. + * Constructs a new EntityAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a CropHint. - * @implements ICropHint + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation * @constructor - * @param {google.cloud.vision.v1p2beta1.ICropHint=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation=} [properties] Properties to set */ - function CropHint(properties) { + function EntityAnnotation(properties) { + this.locations = []; + this.properties = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40378,101 +39579,185 @@ } /** - * CropHint boundingPoly. - * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p2beta1.CropHint + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @instance */ - CropHint.prototype.boundingPoly = null; + EntityAnnotation.prototype.mid = ""; /** - * CropHint confidence. + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locale = ""; + + /** + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.score = 0; + + /** + * EntityAnnotation confidence. * @member {number} confidence - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @instance */ - CropHint.prototype.confidence = 0; + EntityAnnotation.prototype.confidence = 0; /** - * CropHint importanceFraction. - * @member {number} importanceFraction - * @memberof google.cloud.vision.v1p2beta1.CropHint + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @instance */ - CropHint.prototype.importanceFraction = 0; + EntityAnnotation.prototype.topicality = 0; /** - * Creates a new CropHint instance using the specified properties. + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.ICropHint=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint instance + * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation instance */ - CropHint.create = function create(properties) { - return new CropHint(properties); + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); }; /** - * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHint.verify|verify} messages. + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.EntityAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encode = function encode(message, writer) { + EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1p2beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1p2beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; /** - * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHint.verify|verify} messages. + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.EntityAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encodeDelimited = function encodeDelimited(message, writer) { + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHint message from the specified reader or buffer. + * Decodes an EntityAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decode = function decode(reader, length) { + EntityAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.CropHint(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.EntityAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + message.mid = reader.string(); break; case 2: - message.confidence = reader.float(); + message.locale = reader.string(); break; case 3: - message.importanceFraction = reader.float(); + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p2beta1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p2beta1.Property.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -40483,130 +39768,217 @@ }; /** - * Decodes a CropHint message from the specified reader or buffer, length delimited. + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decodeDelimited = function decodeDelimited(reader) { + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHint message. + * Verifies an EntityAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHint.verify = function verify(message) { + EntityAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingPoly); if (error) return "boundingPoly." + error; } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - if (typeof message.importanceFraction !== "number") - return "importanceFraction: number expected"; + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } + } return null; }; /** - * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p2beta1.EntityAnnotation} EntityAnnotation */ - CropHint.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.CropHint) + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.EntityAnnotation) return object; - var message = new $root.google.cloud.vision.v1p2beta1.CropHint(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.CropHint.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingPoly); - } + var message = new $root.google.cloud.vision.v1p2beta1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); + if (object.score != null) + message.score = Number(object.score); if (object.confidence != null) message.confidence = Number(object.confidence); - if (object.importanceFraction != null) - message.importanceFraction = Number(object.importanceFraction); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1p2beta1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1p2beta1.Property.fromObject(object.properties[i]); + } + } return message; }; /** - * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.CropHint} message CropHint + * @param {google.cloud.vision.v1p2beta1.EntityAnnotation} message EntityAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHint.toObject = function toObject(message, options) { + EntityAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } if (options.defaults) { - object.boundingPoly = null; + object.mid = ""; + object.locale = ""; + object.description = ""; + object.score = 0; object.confidence = 0; - object.importanceFraction = 0; + object.topicality = 0; + object.boundingPoly = null; } - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; if (message.confidence != null && message.hasOwnProperty("confidence")) object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1p2beta1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1p2beta1.Property.toObject(message.properties[j], options); + } return object; }; /** - * Converts this CropHint to JSON. + * Converts this EntityAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.CropHint + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation * @instance * @returns {Object.} JSON object */ - CropHint.prototype.toJSON = function toJSON() { + EntityAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHint; + return EntityAnnotation; })(); - v1p2beta1.CropHintsAnnotation = (function() { + v1p2beta1.SafeSearchAnnotation = (function() { /** - * Properties of a CropHintsAnnotation. + * Properties of a SafeSearchAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @interface ICropHintsAnnotation - * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1p2beta1.Likelihood|null} [racy] SafeSearchAnnotation racy */ /** - * Constructs a new CropHintsAnnotation. + * Constructs a new SafeSearchAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a CropHintsAnnotation. - * @implements ICropHintsAnnotation + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation * @constructor - * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation=} [properties] Properties to set */ - function CropHintsAnnotation(properties) { - this.cropHints = []; + function SafeSearchAnnotation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40614,78 +39986,127 @@ } /** - * CropHintsAnnotation cropHints. - * @member {Array.} cropHints - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1p2beta1.Likelihood} adult + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @instance */ - CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + SafeSearchAnnotation.prototype.adult = 0; /** - * Creates a new CropHintsAnnotation instance using the specified properties. + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1p2beta1.Likelihood} spoof + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoof = 0; + + /** + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1p2beta1.Likelihood} medical + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medical = 0; + + /** + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1p2beta1.Likelihood} violence + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1p2beta1.Likelihood} racy + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation instance + * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation instance */ - CropHintsAnnotation.create = function create(properties) { - return new CropHintsAnnotation(properties); + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); }; /** - * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encode = function encode(message, writer) { + SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.cropHints != null && message.cropHints.length) - for (var i = 0; i < message.cropHints.length; ++i) - $root.google.cloud.vision.v1p2beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; /** - * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decode = function decode(reader, length) { + SafeSearchAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1p2beta1.CropHint.decode(reader, reader.uint32())); + message.adult = reader.int32(); + break; + case 2: + message.spoof = reader.int32(); + break; + case 3: + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); break; default: reader.skipType(tag & 7); @@ -40696,125 +40117,306 @@ }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsAnnotation message. + * Verifies a SafeSearchAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsAnnotation.verify = function verify(message) { + SafeSearchAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.cropHints != null && message.hasOwnProperty("cropHints")) { - if (!Array.isArray(message.cropHints)) - return "cropHints: array expected"; - for (var i = 0; i < message.cropHints.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.CropHint.verify(message.cropHints[i]); - if (error) - return "cropHints." + error; + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; } - } return null; }; /** - * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} SafeSearchAnnotation */ - CropHintsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation) + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation) return object; - var message = new $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation(); - if (object.cropHints) { - if (!Array.isArray(object.cropHints)) - throw TypeError(".google.cloud.vision.v1p2beta1.CropHintsAnnotation.cropHints: array expected"); - message.cropHints = []; - for (var i = 0; i < object.cropHints.length; ++i) { - if (typeof object.cropHints[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.CropHintsAnnotation.cropHints: object expected"); - message.cropHints[i] = $root.google.cloud.vision.v1p2beta1.CropHint.fromObject(object.cropHints[i]); - } + var message = new $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; } return message; }; /** - * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.CropHintsAnnotation} message CropHintsAnnotation + * @param {google.cloud.vision.v1p2beta1.SafeSearchAnnotation} message SafeSearchAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsAnnotation.toObject = function toObject(message, options) { + SafeSearchAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.cropHints = []; - if (message.cropHints && message.cropHints.length) { - object.cropHints = []; - for (var j = 0; j < message.cropHints.length; ++j) - object.cropHints[j] = $root.google.cloud.vision.v1p2beta1.CropHint.toObject(message.cropHints[j], options); + if (options.defaults) { + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.racy] : message.racy; return object; }; /** - * Converts this CropHintsAnnotation to JSON. + * Converts this SafeSearchAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation * @instance * @returns {Object.} JSON object */ - CropHintsAnnotation.prototype.toJSON = function toJSON() { + SafeSearchAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsAnnotation; + return SafeSearchAnnotation; })(); - v1p2beta1.CropHintsParams = (function() { + v1p2beta1.LatLongRect = (function() { /** - * Properties of a CropHintsParams. + * Properties of a LatLongRect. * @memberof google.cloud.vision.v1p2beta1 - * @interface ICropHintsParams - * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng */ /** - * Constructs a new CropHintsParams. + * Constructs a new LatLongRect. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a CropHintsParams. - * @implements ICropHintsParams + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect * @constructor - * @param {google.cloud.vision.v1p2beta1.ICropHintsParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.ILatLongRect=} [properties] Properties to set */ - function CropHintsParams(properties) { - this.aspectRatios = []; + function LatLongRect(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40822,86 +40424,88 @@ } /** - * CropHintsParams aspectRatios. - * @member {Array.} aspectRatios - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @instance */ - CropHintsParams.prototype.aspectRatios = $util.emptyArray; + LatLongRect.prototype.minLatLng = null; /** - * Creates a new CropHintsParams instance using the specified properties. + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.maxLatLng = null; + + /** + * Creates a new LatLongRect instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p2beta1.ICropHintsParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams instance + * @param {google.cloud.vision.v1p2beta1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect instance */ - CropHintsParams.create = function create(properties) { - return new CropHintsParams(properties); + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); }; /** - * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsParams.verify|verify} messages. + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p2beta1.LatLongRect.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p2beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encode = function encode(message, writer) { + LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.aspectRatios != null && message.aspectRatios.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.aspectRatios.length; ++i) - writer.float(message.aspectRatios[i]); - writer.ldelim(); - } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsParams.verify|verify} messages. + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.LatLongRect.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p2beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsParams message from the specified reader or buffer. + * Decodes a LatLongRect message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decode = function decode(reader, length) { + LatLongRect.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.CropHintsParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.LatLongRect(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + case 2: + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -40912,119 +40516,128 @@ }; /** - * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + LatLongRect.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsParams message. + * Verifies a LatLongRect message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsParams.verify = function verify(message) { + LatLongRect.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { - if (!Array.isArray(message.aspectRatios)) - return "aspectRatios: array expected"; - for (var i = 0; i < message.aspectRatios.length; ++i) - if (typeof message.aspectRatios[i] !== "number") - return "aspectRatios: number[] expected"; + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); + if (error) + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; } return null; }; /** - * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p2beta1.LatLongRect} LatLongRect */ - CropHintsParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.CropHintsParams) + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.LatLongRect) return object; - var message = new $root.google.cloud.vision.v1p2beta1.CropHintsParams(); - if (object.aspectRatios) { - if (!Array.isArray(object.aspectRatios)) - throw TypeError(".google.cloud.vision.v1p2beta1.CropHintsParams.aspectRatios: array expected"); - message.aspectRatios = []; - for (var i = 0; i < object.aspectRatios.length; ++i) - message.aspectRatios[i] = Number(object.aspectRatios[i]); + var message = new $root.google.cloud.vision.v1p2beta1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); } return message; }; /** - * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p2beta1.CropHintsParams} message CropHintsParams + * @param {google.cloud.vision.v1p2beta1.LatLongRect} message LatLongRect * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsParams.toObject = function toObject(message, options) { + LatLongRect.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.aspectRatios = []; - if (message.aspectRatios && message.aspectRatios.length) { - object.aspectRatios = []; - for (var j = 0; j < message.aspectRatios.length; ++j) - object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; + if (options.defaults) { + object.minLatLng = null; + object.maxLatLng = null; } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); return object; }; /** - * Converts this CropHintsParams to JSON. + * Converts this LatLongRect to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @memberof google.cloud.vision.v1p2beta1.LatLongRect * @instance * @returns {Object.} JSON object */ - CropHintsParams.prototype.toJSON = function toJSON() { + LatLongRect.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsParams; + return LatLongRect; })(); - v1p2beta1.WebDetectionParams = (function() { + v1p2beta1.ColorInfo = (function() { /** - * Properties of a WebDetectionParams. + * Properties of a ColorInfo. * @memberof google.cloud.vision.v1p2beta1 - * @interface IWebDetectionParams - * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction */ /** - * Constructs a new WebDetectionParams. + * Constructs a new ColorInfo. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a WebDetectionParams. - * @implements IWebDetectionParams + * @classdesc Represents a ColorInfo. + * @implements IColorInfo * @constructor - * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IColorInfo=} [properties] Properties to set */ - function WebDetectionParams(properties) { + function ColorInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -41032,75 +40645,101 @@ } /** - * WebDetectionParams includeGeoResults. - * @member {boolean} includeGeoResults - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @instance */ - WebDetectionParams.prototype.includeGeoResults = false; + ColorInfo.prototype.color = null; /** - * Creates a new WebDetectionParams instance using the specified properties. + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.score = 0; + + /** + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.pixelFraction = 0; + + /** + * Creates a new ColorInfo instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams instance + * @param {google.cloud.vision.v1p2beta1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo instance */ - WebDetectionParams.create = function create(properties) { - return new WebDetectionParams(properties); + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); }; /** - * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetectionParams.verify|verify} messages. + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ColorInfo.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encode = function encode(message, writer) { + ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; /** - * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetectionParams.verify|verify} messages. + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ColorInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer. + * Decodes a ColorInfo message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decode = function decode(reader, length) { + ColorInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetectionParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ColorInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 1: + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; case 2: - message.includeGeoResults = reader.bool(); + message.score = reader.float(); + break; + case 3: + message.pixelFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -41111,111 +40750,130 @@ }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + ColorInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WebDetectionParams message. + * Verifies a ColorInfo message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WebDetectionParams.verify = function verify(message) { + ColorInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - if (typeof message.includeGeoResults !== "boolean") - return "includeGeoResults: boolean expected"; + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); + if (error) + return "color." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; return null; }; /** - * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p2beta1.ColorInfo} ColorInfo */ - WebDetectionParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetectionParams) + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ColorInfo) return object; - var message = new $root.google.cloud.vision.v1p2beta1.WebDetectionParams(); - if (object.includeGeoResults != null) - message.includeGeoResults = Boolean(object.includeGeoResults); + var message = new $root.google.cloud.vision.v1p2beta1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); + } + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); return message; }; /** - * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p2beta1.WebDetectionParams} message WebDetectionParams + * @param {google.cloud.vision.v1p2beta1.ColorInfo} message ColorInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WebDetectionParams.toObject = function toObject(message, options) { + ColorInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.includeGeoResults = false; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - object.includeGeoResults = message.includeGeoResults; + if (options.defaults) { + object.color = null; + object.score = 0; + object.pixelFraction = 0; + } + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; return object; }; /** - * Converts this WebDetectionParams to JSON. + * Converts this ColorInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ColorInfo * @instance * @returns {Object.} JSON object */ - WebDetectionParams.prototype.toJSON = function toJSON() { + ColorInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return WebDetectionParams; + return ColorInfo; })(); - v1p2beta1.ImageContext = (function() { + v1p2beta1.DominantColorsAnnotation = (function() { /** - * Properties of an ImageContext. + * Properties of a DominantColorsAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @interface IImageContext - * @property {google.cloud.vision.v1p2beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect - * @property {Array.|null} [languageHints] ImageContext languageHints - * @property {google.cloud.vision.v1p2beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams - * @property {google.cloud.vision.v1p2beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors */ /** - * Constructs a new ImageContext. + * Constructs a new DominantColorsAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an ImageContext. - * @implements IImageContext + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation * @constructor - * @param {google.cloud.vision.v1p2beta1.IImageContext=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation=} [properties] Properties to set */ - function ImageContext(properties) { - this.languageHints = []; + function DominantColorsAnnotation(properties) { + this.colors = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -41223,117 +40881,78 @@ } /** - * ImageContext latLongRect. - * @member {google.cloud.vision.v1p2beta1.ILatLongRect|null|undefined} latLongRect - * @memberof google.cloud.vision.v1p2beta1.ImageContext - * @instance - */ - ImageContext.prototype.latLongRect = null; - - /** - * ImageContext languageHints. - * @member {Array.} languageHints - * @memberof google.cloud.vision.v1p2beta1.ImageContext - * @instance - */ - ImageContext.prototype.languageHints = $util.emptyArray; - - /** - * ImageContext cropHintsParams. - * @member {google.cloud.vision.v1p2beta1.ICropHintsParams|null|undefined} cropHintsParams - * @memberof google.cloud.vision.v1p2beta1.ImageContext - * @instance - */ - ImageContext.prototype.cropHintsParams = null; - - /** - * ImageContext webDetectionParams. - * @member {google.cloud.vision.v1p2beta1.IWebDetectionParams|null|undefined} webDetectionParams - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @instance */ - ImageContext.prototype.webDetectionParams = null; + DominantColorsAnnotation.prototype.colors = $util.emptyArray; /** - * Creates a new ImageContext instance using the specified properties. + * Creates a new DominantColorsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.IImageContext=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext instance + * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation instance */ - ImageContext.create = function create(properties) { - return new ImageContext(properties); + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); }; /** - * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageContext.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encode = function encode(message, writer) { + DominantColorsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - $root.google.cloud.vision.v1p2beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.languageHints != null && message.languageHints.length) - for (var i = 0; i < message.languageHints.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - $root.google.cloud.vision.v1p2beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - $root.google.cloud.vision.v1p2beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1p2beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageContext.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageContext message from the specified reader or buffer. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decode = function decode(reader, length) { + DominantColorsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageContext(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.decode(reader, reader.uint32()); + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p2beta1.ColorInfo.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -41344,163 +40963,124 @@ }; /** - * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decodeDelimited = function decodeDelimited(reader) { + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageContext message. + * Verifies a DominantColorsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageContext.verify = function verify(message) { + DominantColorsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { - var error = $root.google.cloud.vision.v1p2beta1.LatLongRect.verify(message.latLongRect); - if (error) - return "latLongRect." + error; - } - if (message.languageHints != null && message.hasOwnProperty("languageHints")) { - if (!Array.isArray(message.languageHints)) - return "languageHints: array expected"; - for (var i = 0; i < message.languageHints.length; ++i) - if (!$util.isString(message.languageHints[i])) - return "languageHints: string[] expected"; - } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { - var error = $root.google.cloud.vision.v1p2beta1.CropHintsParams.verify(message.cropHintsParams); - if (error) - return "cropHintsParams." + error; - } - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { - var error = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.verify(message.webDetectionParams); - if (error) - return "webDetectionParams." + error; + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.ColorInfo.verify(message.colors[i]); + if (error) + return "colors." + error; + } } return null; }; /** - * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} DominantColorsAnnotation */ - ImageContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageContext) + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation) return object; - var message = new $root.google.cloud.vision.v1p2beta1.ImageContext(); - if (object.latLongRect != null) { - if (typeof object.latLongRect !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.latLongRect: object expected"); - message.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.fromObject(object.latLongRect); - } - if (object.languageHints) { - if (!Array.isArray(object.languageHints)) - throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.languageHints: array expected"); - message.languageHints = []; - for (var i = 0; i < object.languageHints.length; ++i) - message.languageHints[i] = String(object.languageHints[i]); - } - if (object.cropHintsParams != null) { - if (typeof object.cropHintsParams !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.cropHintsParams: object expected"); - message.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.fromObject(object.cropHintsParams); - } - if (object.webDetectionParams != null) { - if (typeof object.webDetectionParams !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.webDetectionParams: object expected"); - message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.fromObject(object.webDetectionParams); + var message = new $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1p2beta1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1p2beta1.ColorInfo.fromObject(object.colors[i]); + } } return message; }; /** - * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.ImageContext} message ImageContext + * @param {google.cloud.vision.v1p2beta1.DominantColorsAnnotation} message DominantColorsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageContext.toObject = function toObject(message, options) { + DominantColorsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.languageHints = []; - if (options.defaults) { - object.latLongRect = null; - object.cropHintsParams = null; - object.webDetectionParams = null; - } - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - object.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.toObject(message.latLongRect, options); - if (message.languageHints && message.languageHints.length) { - object.languageHints = []; - for (var j = 0; j < message.languageHints.length; ++j) - object.languageHints[j] = message.languageHints[j]; + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1p2beta1.ColorInfo.toObject(message.colors[j], options); } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - object.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.toObject(message.cropHintsParams, options); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - object.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.toObject(message.webDetectionParams, options); return object; }; /** - * Converts this ImageContext to JSON. + * Converts this DominantColorsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation * @instance * @returns {Object.} JSON object */ - ImageContext.prototype.toJSON = function toJSON() { + DominantColorsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageContext; + return DominantColorsAnnotation; })(); - v1p2beta1.AnnotateImageRequest = (function() { + v1p2beta1.ImageProperties = (function() { /** - * Properties of an AnnotateImageRequest. + * Properties of an ImageProperties. * @memberof google.cloud.vision.v1p2beta1 - * @interface IAnnotateImageRequest - * @property {google.cloud.vision.v1p2beta1.IImage|null} [image] AnnotateImageRequest image - * @property {Array.|null} [features] AnnotateImageRequest features - * @property {google.cloud.vision.v1p2beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + * @interface IImageProperties + * @property {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors */ /** - * Constructs a new AnnotateImageRequest. + * Constructs a new ImageProperties. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an AnnotateImageRequest. - * @implements IAnnotateImageRequest + * @classdesc Represents an ImageProperties. + * @implements IImageProperties * @constructor - * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IImageProperties=} [properties] Properties to set */ - function AnnotateImageRequest(properties) { - this.features = []; + function ImageProperties(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -41508,104 +41088,75 @@ } /** - * AnnotateImageRequest image. - * @member {google.cloud.vision.v1p2beta1.IImage|null|undefined} image - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest - * @instance - */ - AnnotateImageRequest.prototype.image = null; - - /** - * AnnotateImageRequest features. - * @member {Array.} features - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest - * @instance - */ - AnnotateImageRequest.prototype.features = $util.emptyArray; - - /** - * AnnotateImageRequest imageContext. - * @member {google.cloud.vision.v1p2beta1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1p2beta1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @instance */ - AnnotateImageRequest.prototype.imageContext = null; + ImageProperties.prototype.dominantColors = null; /** - * Creates a new AnnotateImageRequest instance using the specified properties. + * Creates a new ImageProperties instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest instance + * @param {google.cloud.vision.v1p2beta1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties instance */ - AnnotateImageRequest.create = function create(properties) { - return new AnnotateImageRequest(properties); + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); }; /** - * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageProperties.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encode = function encode(message, writer) { + ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) - $root.google.cloud.vision.v1p2beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.features != null && message.features.length) - for (var i = 0; i < message.features.length; ++i) - $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageProperties.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * Decodes an ImageProperties message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decode = function decode(reader, length) { + ImageProperties.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageProperties(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.image = $root.google.cloud.vision.v1p2beta1.Image.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p2beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.decode(reader, reader.uint32()); + message.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -41616,153 +41167,114 @@ }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + ImageProperties.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateImageRequest message. + * Verifies an ImageProperties message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateImageRequest.verify = function verify(message) { + ImageProperties.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.image != null && message.hasOwnProperty("image")) { - var error = $root.google.cloud.vision.v1p2beta1.Image.verify(message.image); - if (error) - return "image." + error; - } - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (var i = 0; i < message.features.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.Feature.verify(message.features[i]); - if (error) - return "features." + error; - } - } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) { - var error = $root.google.cloud.vision.v1p2beta1.ImageContext.verify(message.imageContext); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.verify(message.dominantColors); if (error) - return "imageContext." + error; + return "dominantColors." + error; } return null; }; /** - * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p2beta1.ImageProperties} ImageProperties */ - AnnotateImageRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest) + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageProperties) return object; - var message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest(); - if (object.image != null) { - if (typeof object.image !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.image: object expected"); - message.image = $root.google.cloud.vision.v1p2beta1.Image.fromObject(object.image); - } - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) { - if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.features: object expected"); - message.features[i] = $root.google.cloud.vision.v1p2beta1.Feature.fromObject(object.features[i]); - } - } - if (object.imageContext != null) { - if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.imageContext: object expected"); - message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.fromObject(object.imageContext); + var message = new $root.google.cloud.vision.v1p2beta1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.fromObject(object.dominantColors); } return message; }; /** - * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p2beta1.AnnotateImageRequest} message AnnotateImageRequest + * @param {google.cloud.vision.v1p2beta1.ImageProperties} message ImageProperties * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageRequest.toObject = function toObject(message, options) { + ImageProperties.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.features = []; - if (options.defaults) { - object.image = null; - object.imageContext = null; - } - if (message.image != null && message.hasOwnProperty("image")) - object.image = $root.google.cloud.vision.v1p2beta1.Image.toObject(message.image, options); - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = $root.google.cloud.vision.v1p2beta1.Feature.toObject(message.features[j], options); - } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - object.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.toObject(message.imageContext, options); + if (options.defaults) + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); return object; }; /** - * Converts this AnnotateImageRequest to JSON. + * Converts this ImageProperties to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p2beta1.ImageProperties * @instance * @returns {Object.} JSON object */ - AnnotateImageRequest.prototype.toJSON = function toJSON() { + ImageProperties.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageRequest; + return ImageProperties; })(); - v1p2beta1.ImageAnnotationContext = (function() { + v1p2beta1.CropHint = (function() { /** - * Properties of an ImageAnnotationContext. + * Properties of a CropHint. * @memberof google.cloud.vision.v1p2beta1 - * @interface IImageAnnotationContext - * @property {string|null} [uri] ImageAnnotationContext uri - * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber + * @interface ICropHint + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction */ /** - * Constructs a new ImageAnnotationContext. + * Constructs a new CropHint. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an ImageAnnotationContext. - * @implements IImageAnnotationContext + * @classdesc Represents a CropHint. + * @implements ICropHint * @constructor - * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.ICropHint=} [properties] Properties to set */ - function ImageAnnotationContext(properties) { + function CropHint(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -41770,88 +41282,101 @@ } /** - * ImageAnnotationContext uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * CropHint boundingPoly. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p2beta1.CropHint * @instance */ - ImageAnnotationContext.prototype.uri = ""; + CropHint.prototype.boundingPoly = null; /** - * ImageAnnotationContext pageNumber. - * @member {number} pageNumber - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.CropHint * @instance */ - ImageAnnotationContext.prototype.pageNumber = 0; + CropHint.prototype.confidence = 0; /** - * Creates a new ImageAnnotationContext instance using the specified properties. + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @instance + */ + CropHint.prototype.importanceFraction = 0; + + /** + * Creates a new CropHint instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1.CropHint * @static - * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext instance + * @param {google.cloud.vision.v1p2beta1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint instance */ - ImageAnnotationContext.create = function create(properties) { - return new ImageAnnotationContext(properties); + CropHint.create = function create(properties) { + return new CropHint(properties); }; /** - * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify|verify} messages. + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHint.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1.CropHint * @static - * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageAnnotationContext.encode = function encode(message, writer) { + CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; /** - * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify|verify} messages. + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHint.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1.CropHint * @static - * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { + CropHint.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * Decodes a CropHint message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAnnotationContext.decode = function decode(reader, length) { + CropHint.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.CropHint(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); break; case 2: - message.pageNumber = reader.int32(); + message.confidence = reader.float(); + break; + case 3: + message.importanceFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -41862,132 +41387,130 @@ }; /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * Decodes a CropHint message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { + CropHint.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageAnnotationContext message. + * Verifies a CropHint message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1.CropHint * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageAnnotationContext.verify = function verify(message) { + CropHint.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - if (!$util.isInteger(message.pageNumber)) - return "pageNumber: integer expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; return null; }; /** - * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1.CropHint * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1p2beta1.CropHint} CropHint */ - ImageAnnotationContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext) + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.CropHint) return object; - var message = new $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext(); - if (object.uri != null) - message.uri = String(object.uri); - if (object.pageNumber != null) - message.pageNumber = object.pageNumber | 0; + var message = new $root.google.cloud.vision.v1p2beta1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); return message; }; /** - * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * Creates a plain object from a CropHint message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1.CropHint * @static - * @param {google.cloud.vision.v1p2beta1.ImageAnnotationContext} message ImageAnnotationContext + * @param {google.cloud.vision.v1p2beta1.CropHint} message CropHint * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageAnnotationContext.toObject = function toObject(message, options) { + CropHint.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.uri = ""; - object.pageNumber = 0; + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; } - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - object.pageNumber = message.pageNumber; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; return object; }; /** - * Converts this ImageAnnotationContext to JSON. + * Converts this CropHint to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p2beta1.CropHint * @instance * @returns {Object.} JSON object */ - ImageAnnotationContext.prototype.toJSON = function toJSON() { + CropHint.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageAnnotationContext; + return CropHint; })(); - v1p2beta1.AnnotateImageResponse = (function() { + v1p2beta1.CropHintsAnnotation = (function() { /** - * Properties of an AnnotateImageResponse. + * Properties of a CropHintsAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @interface IAnnotateImageResponse - * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations - * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations - * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations - * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations - * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations - * @property {google.cloud.vision.v1p2beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation - * @property {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation - * @property {google.cloud.vision.v1p2beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation - * @property {google.cloud.vision.v1p2beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation - * @property {google.cloud.vision.v1p2beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection - * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error - * @property {google.cloud.vision.v1p2beta1.IImageAnnotationContext|null} [context] AnnotateImageResponse context + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints */ /** - * Constructs a new AnnotateImageResponse. + * Constructs a new CropHintsAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an AnnotateImageResponse. - * @implements IAnnotateImageResponse + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation * @constructor - * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation=} [properties] Properties to set */ - function AnnotateImageResponse(properties) { - this.faceAnnotations = []; - this.landmarkAnnotations = []; - this.logoAnnotations = []; - this.labelAnnotations = []; - this.textAnnotations = []; + function CropHintsAnnotation(properties) { + this.cropHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -41995,233 +41518,78 @@ } /** - * AnnotateImageResponse faceAnnotations. - * @member {Array.} faceAnnotations - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @instance */ - AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; /** - * AnnotateImageResponse landmarkAnnotations. - * @member {Array.} landmarkAnnotations - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse logoAnnotations. - * @member {Array.} logoAnnotations - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse labelAnnotations. - * @member {Array.} labelAnnotations - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse textAnnotations. - * @member {Array.} textAnnotations - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse fullTextAnnotation. - * @member {google.cloud.vision.v1p2beta1.ITextAnnotation|null|undefined} fullTextAnnotation - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.fullTextAnnotation = null; - - /** - * AnnotateImageResponse safeSearchAnnotation. - * @member {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.safeSearchAnnotation = null; - - /** - * AnnotateImageResponse imagePropertiesAnnotation. - * @member {google.cloud.vision.v1p2beta1.IImageProperties|null|undefined} imagePropertiesAnnotation - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; - - /** - * AnnotateImageResponse cropHintsAnnotation. - * @member {google.cloud.vision.v1p2beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.cropHintsAnnotation = null; - - /** - * AnnotateImageResponse webDetection. - * @member {google.cloud.vision.v1p2beta1.IWebDetection|null|undefined} webDetection - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.webDetection = null; - - /** - * AnnotateImageResponse error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.error = null; - - /** - * AnnotateImageResponse context. - * @member {google.cloud.vision.v1p2beta1.IImageAnnotationContext|null|undefined} context - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.context = null; - - /** - * Creates a new AnnotateImageResponse instance using the specified properties. + * Creates a new CropHintsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse instance + * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation instance */ - AnnotateImageResponse.create = function create(properties) { - return new AnnotateImageResponse(properties); + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); }; /** - * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encode = function encode(message, writer) { + CropHintsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.faceAnnotations != null && message.faceAnnotations.length) - for (var i = 0; i < message.faceAnnotations.length; ++i) - $root.google.cloud.vision.v1p2beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) - for (var i = 0; i < message.landmarkAnnotations.length; ++i) - $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.logoAnnotations != null && message.logoAnnotations.length) - for (var i = 0; i < message.logoAnnotations.length; ++i) - $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.labelAnnotations != null && message.labelAnnotations.length) - for (var i = 0; i < message.labelAnnotations.length; ++i) - $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.textAnnotations != null && message.textAnnotations.length) - for (var i = 0; i < message.textAnnotations.length; ++i) - $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - $root.google.cloud.vision.v1p2beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) - $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - $root.google.cloud.vision.v1p2beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - $root.google.cloud.vision.v1p2beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) - $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1p2beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * Decodes a CropHintsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageResponse.decode = function decode(reader, length) { + CropHintsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.decode(reader, reader.uint32()); - break; - case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 21: - message.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.decode(reader, reader.uint32()); + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p2beta1.CropHint.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -42232,320 +41600,125 @@ }; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateImageResponse message. + * Verifies a CropHintsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateImageResponse.verify = function verify(message) { + CropHintsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { - if (!Array.isArray(message.faceAnnotations)) - return "faceAnnotations: array expected"; - for (var i = 0; i < message.faceAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.verify(message.faceAnnotations[i]); - if (error) - return "faceAnnotations." + error; - } - } - if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { - if (!Array.isArray(message.landmarkAnnotations)) - return "landmarkAnnotations: array expected"; - for (var i = 0; i < message.landmarkAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); - if (error) - return "landmarkAnnotations." + error; - } - } - if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { - if (!Array.isArray(message.logoAnnotations)) - return "logoAnnotations: array expected"; - for (var i = 0; i < message.logoAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.logoAnnotations[i]); - if (error) - return "logoAnnotations." + error; - } - } - if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { - if (!Array.isArray(message.labelAnnotations)) - return "labelAnnotations: array expected"; - for (var i = 0; i < message.labelAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.labelAnnotations[i]); - if (error) - return "labelAnnotations." + error; - } - } - if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { - if (!Array.isArray(message.textAnnotations)) - return "textAnnotations: array expected"; - for (var i = 0; i < message.textAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.CropHint.verify(message.cropHints[i]); if (error) - return "textAnnotations." + error; + return "cropHints." + error; } } - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { - var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.verify(message.fullTextAnnotation); - if (error) - return "fullTextAnnotation." + error; - } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { - var error = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); - if (error) - return "safeSearchAnnotation." + error; - } - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { - var error = $root.google.cloud.vision.v1p2beta1.ImageProperties.verify(message.imagePropertiesAnnotation); - if (error) - return "imagePropertiesAnnotation." + error; - } - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { - var error = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); - if (error) - return "cropHintsAnnotation." + error; - } - if (message.webDetection != null && message.hasOwnProperty("webDetection")) { - var error = $root.google.cloud.vision.v1p2beta1.WebDetection.verify(message.webDetection); - if (error) - return "webDetection." + error; - } - if (message.error != null && message.hasOwnProperty("error")) { - var error = $root.google.rpc.Status.verify(message.error); - if (error) - return "error." + error; - } - if (message.context != null && message.hasOwnProperty("context")) { - var error = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify(message.context); - if (error) - return "context." + error; - } return null; }; /** - * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p2beta1.CropHintsAnnotation} CropHintsAnnotation */ - AnnotateImageResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse) + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation) return object; - var message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse(); - if (object.faceAnnotations) { - if (!Array.isArray(object.faceAnnotations)) - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.faceAnnotations: array expected"); - message.faceAnnotations = []; - for (var i = 0; i < object.faceAnnotations.length; ++i) { - if (typeof object.faceAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.faceAnnotations: object expected"); - message.faceAnnotations[i] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); - } - } - if (object.landmarkAnnotations) { - if (!Array.isArray(object.landmarkAnnotations)) - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); - message.landmarkAnnotations = []; - for (var i = 0; i < object.landmarkAnnotations.length; ++i) { - if (typeof object.landmarkAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); - message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); - } - } - if (object.logoAnnotations) { - if (!Array.isArray(object.logoAnnotations)) - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.logoAnnotations: array expected"); - message.logoAnnotations = []; - for (var i = 0; i < object.logoAnnotations.length; ++i) { - if (typeof object.logoAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.logoAnnotations: object expected"); - message.logoAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); - } - } - if (object.labelAnnotations) { - if (!Array.isArray(object.labelAnnotations)) - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.labelAnnotations: array expected"); - message.labelAnnotations = []; - for (var i = 0; i < object.labelAnnotations.length; ++i) { - if (typeof object.labelAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.labelAnnotations: object expected"); - message.labelAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); - } - } - if (object.textAnnotations) { - if (!Array.isArray(object.textAnnotations)) - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.textAnnotations: array expected"); - message.textAnnotations = []; - for (var i = 0; i < object.textAnnotations.length; ++i) { - if (typeof object.textAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.textAnnotations: object expected"); - message.textAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + var message = new $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1p2beta1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1p2beta1.CropHint.fromObject(object.cropHints[i]); } } - if (object.fullTextAnnotation != null) { - if (typeof object.fullTextAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); - message.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.fromObject(object.fullTextAnnotation); - } - if (object.safeSearchAnnotation != null) { - if (typeof object.safeSearchAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); - message.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); - } - if (object.imagePropertiesAnnotation != null) { - if (typeof object.imagePropertiesAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); - } - if (object.cropHintsAnnotation != null) { - if (typeof object.cropHintsAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); - message.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); - } - if (object.webDetection != null) { - if (typeof object.webDetection !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.webDetection: object expected"); - message.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.fromObject(object.webDetection); - } - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); - } - if (object.context != null) { - if (typeof object.context !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.context: object expected"); - message.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.fromObject(object.context); - } return message; }; /** - * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.AnnotateImageResponse} message AnnotateImageResponse + * @param {google.cloud.vision.v1p2beta1.CropHintsAnnotation} message CropHintsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageResponse.toObject = function toObject(message, options) { + CropHintsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.faceAnnotations = []; - object.landmarkAnnotations = []; - object.logoAnnotations = []; - object.labelAnnotations = []; - object.textAnnotations = []; - } - if (options.defaults) { - object.safeSearchAnnotation = null; - object.imagePropertiesAnnotation = null; - object.error = null; - object.cropHintsAnnotation = null; - object.fullTextAnnotation = null; - object.webDetection = null; - object.context = null; - } - if (message.faceAnnotations && message.faceAnnotations.length) { - object.faceAnnotations = []; - for (var j = 0; j < message.faceAnnotations.length; ++j) - object.faceAnnotations[j] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); - } - if (message.landmarkAnnotations && message.landmarkAnnotations.length) { - object.landmarkAnnotations = []; - for (var j = 0; j < message.landmarkAnnotations.length; ++j) - object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); - } - if (message.logoAnnotations && message.logoAnnotations.length) { - object.logoAnnotations = []; - for (var j = 0; j < message.logoAnnotations.length; ++j) - object.logoAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); - } - if (message.labelAnnotations && message.labelAnnotations.length) { - object.labelAnnotations = []; - for (var j = 0; j < message.labelAnnotations.length; ++j) - object.labelAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); - } - if (message.textAnnotations && message.textAnnotations.length) { - object.textAnnotations = []; - for (var j = 0; j < message.textAnnotations.length; ++j) - object.textAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + if (options.arrays || options.defaults) + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1p2beta1.CropHint.toObject(message.cropHints[j], options); } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - object.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); - if (message.error != null && message.hasOwnProperty("error")) - object.error = $root.google.rpc.Status.toObject(message.error, options); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - object.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - object.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - object.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.toObject(message.webDetection, options); - if (message.context != null && message.hasOwnProperty("context")) - object.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.toObject(message.context, options); return object; }; /** - * Converts this AnnotateImageResponse to JSON. + * Converts this CropHintsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation * @instance * @returns {Object.} JSON object */ - AnnotateImageResponse.prototype.toJSON = function toJSON() { + CropHintsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageResponse; + return CropHintsAnnotation; })(); - v1p2beta1.AnnotateFileResponse = (function() { + v1p2beta1.CropHintsParams = (function() { /** - * Properties of an AnnotateFileResponse. + * Properties of a CropHintsParams. * @memberof google.cloud.vision.v1p2beta1 - * @interface IAnnotateFileResponse - * @property {google.cloud.vision.v1p2beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig - * @property {Array.|null} [responses] AnnotateFileResponse responses + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios */ /** - * Constructs a new AnnotateFileResponse. + * Constructs a new CropHintsParams. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an AnnotateFileResponse. - * @implements IAnnotateFileResponse + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams * @constructor - * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.ICropHintsParams=} [properties] Properties to set */ - function AnnotateFileResponse(properties) { - this.responses = []; + function CropHintsParams(properties) { + this.aspectRatios = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -42553,91 +41726,86 @@ } /** - * AnnotateFileResponse inputConfig. - * @member {google.cloud.vision.v1p2beta1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @instance */ - AnnotateFileResponse.prototype.inputConfig = null; + CropHintsParams.prototype.aspectRatios = $util.emptyArray; /** - * AnnotateFileResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse - * @instance - */ - AnnotateFileResponse.prototype.responses = $util.emptyArray; - - /** - * Creates a new AnnotateFileResponse instance using the specified properties. + * Creates a new CropHintsParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse instance + * @param {google.cloud.vision.v1p2beta1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams instance */ - AnnotateFileResponse.create = function create(properties) { - return new AnnotateFileResponse(properties); + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); }; /** - * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encode = function encode(message, writer) { + CropHintsParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } return writer; }; /** - * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.CropHintsParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * Decodes a CropHintsParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decode = function decode(reader, length) { + CropHintsParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AnnotateFileResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.CropHintsParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); break; default: reader.skipType(tag & 7); @@ -42648,139 +41816,119 @@ }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateFileResponse message. + * Verifies a CropHintsParams message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateFileResponse.verify = function verify(message) { + CropHintsParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1p2beta1.InputConfig.verify(message.inputConfig); - if (error) - return "inputConfig." + error; - } - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify(message.responses[i]); - if (error) - return "responses." + error; - } + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; } return null; }; /** - * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p2beta1.CropHintsParams} CropHintsParams */ - AnnotateFileResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.AnnotateFileResponse) + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.CropHintsParams) return object; - var message = new $root.google.cloud.vision.v1p2beta1.AnnotateFileResponse(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateFileResponse.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.fromObject(object.inputConfig); - } - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateFileResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateFileResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.fromObject(object.responses[i]); - } + var message = new $root.google.cloud.vision.v1p2beta1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1p2beta1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); } return message; }; /** - * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p2beta1.AnnotateFileResponse} message AnnotateFileResponse + * @param {google.cloud.vision.v1p2beta1.CropHintsParams} message CropHintsParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateFileResponse.toObject = function toObject(message, options) { + CropHintsParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.responses = []; - if (options.defaults) - object.inputConfig = null; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.toObject(message.inputConfig, options); - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.toObject(message.responses[j], options); + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; } return object; }; /** - * Converts this AnnotateFileResponse to JSON. + * Converts this CropHintsParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams * @instance * @returns {Object.} JSON object */ - AnnotateFileResponse.prototype.toJSON = function toJSON() { + CropHintsParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateFileResponse; + return CropHintsParams; })(); - v1p2beta1.BatchAnnotateImagesRequest = (function() { + v1p2beta1.WebDetectionParams = (function() { /** - * Properties of a BatchAnnotateImagesRequest. + * Properties of a WebDetectionParams. * @memberof google.cloud.vision.v1p2beta1 - * @interface IBatchAnnotateImagesRequest - * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults */ /** - * Constructs a new BatchAnnotateImagesRequest. + * Constructs a new WebDetectionParams. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a BatchAnnotateImagesRequest. - * @implements IBatchAnnotateImagesRequest + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams * @constructor - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams=} [properties] Properties to set */ - function BatchAnnotateImagesRequest(properties) { - this.requests = []; + function WebDetectionParams(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -42788,78 +41936,75 @@ } /** - * BatchAnnotateImagesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @instance */ - BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + WebDetectionParams.prototype.includeGeoResults = false; /** - * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * Creates a new WebDetectionParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams instance */ - BatchAnnotateImagesRequest.create = function create(properties) { - return new BatchAnnotateImagesRequest(properties); + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); }; /** - * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetectionParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encode = function encode(message, writer) { + WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; /** - * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetectionParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * Decodes a WebDetectionParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decode = function decode(reader, length) { + WebDetectionParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetectionParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + case 2: + message.includeGeoResults = reader.bool(); break; default: reader.skipType(tag & 7); @@ -42870,125 +42015,111 @@ }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesRequest message. + * Verifies a WebDetectionParams message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesRequest.verify = function verify(message) { + WebDetectionParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify(message.requests[i]); - if (error) - return "requests." + error; - } - } + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; return null; }; /** - * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p2beta1.WebDetectionParams} WebDetectionParams */ - BatchAnnotateImagesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest) + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetectionParams) return object; - var message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.fromObject(object.requests[i]); - } - } + var message = new $root.google.cloud.vision.v1p2beta1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); return message; }; /** - * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {google.cloud.vision.v1p2beta1.WebDetectionParams} message WebDetectionParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + WebDetectionParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.requests = []; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.toObject(message.requests[j], options); - } + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; return object; }; /** - * Converts this BatchAnnotateImagesRequest to JSON. + * Converts this WebDetectionParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + WebDetectionParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesRequest; + return WebDetectionParams; })(); - v1p2beta1.BatchAnnotateImagesResponse = (function() { + v1p2beta1.ImageContext = (function() { /** - * Properties of a BatchAnnotateImagesResponse. + * Properties of an ImageContext. * @memberof google.cloud.vision.v1p2beta1 - * @interface IBatchAnnotateImagesResponse - * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + * @interface IImageContext + * @property {google.cloud.vision.v1p2beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1p2beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1p2beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams */ /** - * Constructs a new BatchAnnotateImagesResponse. + * Constructs a new ImageContext. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a BatchAnnotateImagesResponse. - * @implements IBatchAnnotateImagesResponse + * @classdesc Represents an ImageContext. + * @implements IImageContext * @constructor - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IImageContext=} [properties] Properties to set */ - function BatchAnnotateImagesResponse(properties) { - this.responses = []; + function ImageContext(properties) { + this.languageHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -42996,78 +42127,117 @@ } /** - * BatchAnnotateImagesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * ImageContext latLongRect. + * @member {google.cloud.vision.v1p2beta1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1p2beta1.ImageContext * @instance */ - BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + ImageContext.prototype.latLongRect = null; /** - * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @instance + */ + ImageContext.prototype.languageHints = $util.emptyArray; + + /** + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1p2beta1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @instance + */ + ImageContext.prototype.cropHintsParams = null; + + /** + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1p2beta1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @instance + */ + ImageContext.prototype.webDetectionParams = null; + + /** + * Creates a new ImageContext instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p2beta1.ImageContext * @static - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + * @param {google.cloud.vision.v1p2beta1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext instance */ - BatchAnnotateImagesResponse.create = function create(properties) { - return new BatchAnnotateImagesResponse(properties); + ImageContext.create = function create(properties) { + return new ImageContext(properties); }; /** - * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageContext.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p2beta1.ImageContext * @static - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encode = function encode(message, writer) { + ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1p2beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1p2beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1p2beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; /** - * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageContext.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p2beta1.ImageContext * @static - * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * Decodes an ImageContext message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p2beta1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decode = function decode(reader, length) { + ImageContext.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageContext(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + message.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 4: + message.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + case 6: + message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -43078,127 +42248,162 @@ }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * Decodes an ImageContext message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p2beta1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + ImageContext.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesResponse message. + * Verifies an ImageContext message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p2beta1.ImageContext * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesResponse.verify = function verify(message) { + ImageContext.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify(message.responses[i]); - if (error) - return "responses." + error; - } + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1p2beta1.LatLongRect.verify(message.latLongRect); + if (error) + return "latLongRect." + error; + } + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1p2beta1.CropHintsParams.verify(message.cropHintsParams); + if (error) + return "cropHintsParams." + error; + } + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.verify(message.webDetectionParams); + if (error) + return "webDetectionParams." + error; } return null; }; /** - * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p2beta1.ImageContext * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p2beta1.ImageContext} ImageContext */ - BatchAnnotateImagesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse) + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageContext) return object; - var message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse(); - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.fromObject(object.responses[i]); - } + var message = new $root.google.cloud.vision.v1p2beta1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.fromObject(object.latLongRect); } - return message; - }; - - /** - * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse - * @static - * @param {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.fromObject(object.cropHintsParams); + } + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.fromObject(object.webDetectionParams); + } + return message; + }; + + /** + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {google.cloud.vision.v1p2beta1.ImageContext} message ImageContext + * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + ImageContext.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.responses = []; - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.toObject(message.responses[j], options); + object.languageHints = []; + if (options.defaults) { + object.latLongRect = null; + object.cropHintsParams = null; + object.webDetectionParams = null; + } + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.toObject(message.webDetectionParams, options); return object; }; /** - * Converts this BatchAnnotateImagesResponse to JSON. + * Converts this ImageContext to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p2beta1.ImageContext * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + ImageContext.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesResponse; + return ImageContext; })(); - v1p2beta1.AsyncAnnotateFileRequest = (function() { + v1p2beta1.AnnotateImageRequest = (function() { /** - * Properties of an AsyncAnnotateFileRequest. + * Properties of an AnnotateImageRequest. * @memberof google.cloud.vision.v1p2beta1 - * @interface IAsyncAnnotateFileRequest - * @property {google.cloud.vision.v1p2beta1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig - * @property {Array.|null} [features] AsyncAnnotateFileRequest features - * @property {google.cloud.vision.v1p2beta1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext - * @property {google.cloud.vision.v1p2beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1p2beta1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1p2beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext */ /** - * Constructs a new AsyncAnnotateFileRequest. + * Constructs a new AnnotateImageRequest. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an AsyncAnnotateFileRequest. - * @implements IAsyncAnnotateFileRequest + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest * @constructor - * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest=} [properties] Properties to set */ - function AsyncAnnotateFileRequest(properties) { + function AnnotateImageRequest(properties) { this.features = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -43207,106 +42412,96 @@ } /** - * AsyncAnnotateFileRequest inputConfig. - * @member {google.cloud.vision.v1p2beta1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1p2beta1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @instance */ - AsyncAnnotateFileRequest.prototype.inputConfig = null; + AnnotateImageRequest.prototype.image = null; /** - * AsyncAnnotateFileRequest features. + * AnnotateImageRequest features. * @member {Array.} features - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @instance */ - AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; + AnnotateImageRequest.prototype.features = $util.emptyArray; /** - * AsyncAnnotateFileRequest imageContext. + * AnnotateImageRequest imageContext. * @member {google.cloud.vision.v1p2beta1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest - * @instance - */ - AsyncAnnotateFileRequest.prototype.imageContext = null; - - /** - * AsyncAnnotateFileRequest outputConfig. - * @member {google.cloud.vision.v1p2beta1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @instance */ - AsyncAnnotateFileRequest.prototype.outputConfig = null; + AnnotateImageRequest.prototype.imageContext = null; /** - * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * Creates a new AnnotateImageRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest instance */ - AsyncAnnotateFileRequest.create = function create(properties) { - return new AsyncAnnotateFileRequest(properties); + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); }; /** - * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileRequest.encode = function encode(message, writer) { + AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1p2beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * Decodes an AnnotateImageRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileRequest.decode = function decode(reader, length) { + AnnotateImageRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); + message.image = $root.google.cloud.vision.v1p2beta1.Image.decode(reader, reader.uint32()); break; case 2: if (!(message.features && message.features.length)) @@ -43316,9 +42511,6 @@ case 3: message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.decode(reader, reader.uint32()); break; - case 4: - message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); - break; default: reader.skipType(tag & 7); break; @@ -43328,36 +42520,36 @@ }; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncAnnotateFileRequest message. + * Verifies an AnnotateImageRequest message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncAnnotateFileRequest.verify = function verify(message) { + AnnotateImageRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1p2beta1.InputConfig.verify(message.inputConfig); + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1p2beta1.Image.verify(message.image); if (error) - return "inputConfig." + error; + return "image." + error; } if (message.features != null && message.hasOwnProperty("features")) { if (!Array.isArray(message.features)) @@ -43373,76 +42565,65 @@ if (error) return "imageContext." + error; } - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1p2beta1.OutputConfig.verify(message.outputConfig); - if (error) - return "outputConfig." + error; - } return null; }; /** - * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageRequest} AnnotateImageRequest */ - AsyncAnnotateFileRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest) + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest) return object; - var message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.fromObject(object.inputConfig); + var message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1p2beta1.Image.fromObject(object.image); } if (object.features) { if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.features: array expected"); + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.features: array expected"); message.features = []; for (var i = 0; i < object.features.length; ++i) { if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.features: object expected"); + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.features: object expected"); message.features[i] = $root.google.cloud.vision.v1p2beta1.Feature.fromObject(object.features[i]); } } if (object.imageContext != null) { if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.imageContext: object expected"); + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageRequest.imageContext: object expected"); message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.fromObject(object.imageContext); } - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.fromObject(object.outputConfig); - } return message; }; /** - * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest + * @param {google.cloud.vision.v1p2beta1.AnnotateImageRequest} message AnnotateImageRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncAnnotateFileRequest.toObject = function toObject(message, options) { + AnnotateImageRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.features = []; if (options.defaults) { - object.inputConfig = null; + object.image = null; object.imageContext = null; - object.outputConfig = null; } - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.toObject(message.inputConfig, options); + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1p2beta1.Image.toObject(message.image, options); if (message.features && message.features.length) { object.features = []; for (var j = 0; j < message.features.length; ++j) @@ -43450,43 +42631,42 @@ } if (message.imageContext != null && message.hasOwnProperty("imageContext")) object.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.toObject(message.imageContext, options); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this AsyncAnnotateFileRequest to JSON. + * Converts this AnnotateImageRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest * @instance * @returns {Object.} JSON object */ - AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { + AnnotateImageRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncAnnotateFileRequest; + return AnnotateImageRequest; })(); - v1p2beta1.AsyncAnnotateFileResponse = (function() { + v1p2beta1.ImageAnnotationContext = (function() { /** - * Properties of an AsyncAnnotateFileResponse. + * Properties of an ImageAnnotationContext. * @memberof google.cloud.vision.v1p2beta1 - * @interface IAsyncAnnotateFileResponse - * @property {google.cloud.vision.v1p2beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig + * @interface IImageAnnotationContext + * @property {string|null} [uri] ImageAnnotationContext uri + * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber */ /** - * Constructs a new AsyncAnnotateFileResponse. + * Constructs a new ImageAnnotationContext. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an AsyncAnnotateFileResponse. - * @implements IAsyncAnnotateFileResponse + * @classdesc Represents an ImageAnnotationContext. + * @implements IImageAnnotationContext * @constructor - * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext=} [properties] Properties to set */ - function AsyncAnnotateFileResponse(properties) { + function ImageAnnotationContext(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -43494,75 +42674,88 @@ } /** - * AsyncAnnotateFileResponse outputConfig. - * @member {google.cloud.vision.v1p2beta1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * ImageAnnotationContext uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @instance */ - AsyncAnnotateFileResponse.prototype.outputConfig = null; + ImageAnnotationContext.prototype.uri = ""; /** - * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * ImageAnnotationContext pageNumber. + * @member {number} pageNumber + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.pageNumber = 0; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance + * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext instance */ - AsyncAnnotateFileResponse.create = function create(properties) { - return new AsyncAnnotateFileResponse(properties); + ImageAnnotationContext.create = function create(properties) { + return new ImageAnnotationContext(properties); }; /** - * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileResponse.encode = function encode(message, writer) { + ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; /** - * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * Decodes an ImageAnnotationContext message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileResponse.decode = function decode(reader, length) { + ImageAnnotationContext.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); + message.uri = reader.string(); + break; + case 2: + message.pageNumber = reader.int32(); break; default: reader.skipType(tag & 7); @@ -43573,113 +42766,132 @@ }; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncAnnotateFileResponse message. + * Verifies an ImageAnnotationContext message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncAnnotateFileResponse.verify = function verify(message) { + ImageAnnotationContext.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1p2beta1.OutputConfig.verify(message.outputConfig); - if (error) - return "outputConfig." + error; - } + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (!$util.isInteger(message.pageNumber)) + return "pageNumber: integer expected"; return null; }; /** - * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1p2beta1.ImageAnnotationContext} ImageAnnotationContext */ - AsyncAnnotateFileResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse) + ImageAnnotationContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext) return object; - var message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse(); - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.fromObject(object.outputConfig); - } + var message = new $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext(); + if (object.uri != null) + message.uri = String(object.uri); + if (object.pageNumber != null) + message.pageNumber = object.pageNumber | 0; return message; }; /** - * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse + * @param {google.cloud.vision.v1p2beta1.ImageAnnotationContext} message ImageAnnotationContext * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncAnnotateFileResponse.toObject = function toObject(message, options) { + ImageAnnotationContext.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.outputConfig = null; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.toObject(message.outputConfig, options); + if (options.defaults) { + object.uri = ""; + object.pageNumber = 0; + } + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + object.pageNumber = message.pageNumber; return object; }; /** - * Converts this AsyncAnnotateFileResponse to JSON. + * Converts this ImageAnnotationContext to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext * @instance * @returns {Object.} JSON object */ - AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { + ImageAnnotationContext.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncAnnotateFileResponse; + return ImageAnnotationContext; })(); - v1p2beta1.AsyncBatchAnnotateFilesRequest = (function() { + v1p2beta1.AnnotateImageResponse = (function() { /** - * Properties of an AsyncBatchAnnotateFilesRequest. + * Properties of an AnnotateImageResponse. * @memberof google.cloud.vision.v1p2beta1 - * @interface IAsyncBatchAnnotateFilesRequest - * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1p2beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1p2beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1p2beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1p2beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + * @property {google.cloud.vision.v1p2beta1.IImageAnnotationContext|null} [context] AnnotateImageResponse context */ /** - * Constructs a new AsyncBatchAnnotateFilesRequest. + * Constructs a new AnnotateImageResponse. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an AsyncBatchAnnotateFilesRequest. - * @implements IAsyncBatchAnnotateFilesRequest + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse * @constructor - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse=} [properties] Properties to set */ - function AsyncBatchAnnotateFilesRequest(properties) { - this.requests = []; + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.textAnnotations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -43687,286 +42899,233 @@ } /** - * AsyncBatchAnnotateFilesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @instance */ - AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; /** - * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest - * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance */ - AsyncBatchAnnotateFilesRequest.create = function create(properties) { - return new AsyncBatchAnnotateFilesRequest(properties); - }; + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest - * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance */ - AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest - * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance */ - AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance */ - AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; /** - * Verifies an AsyncBatchAnnotateFilesRequest message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1p2beta1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance */ - AsyncBatchAnnotateFilesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify(message.requests[i]); - if (error) - return "requests." + error; - } - } - return null; - }; + AnnotateImageResponse.prototype.fullTextAnnotation = null; /** - * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1p2beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance */ - AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest) - return object; - var message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); - } - } - return message; - }; + AnnotateImageResponse.prototype.safeSearchAnnotation = null; /** - * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest - * @static - * @param {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1p2beta1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance */ - AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.requests = []; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); - } - return object; - }; + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; /** - * Converts this AsyncBatchAnnotateFilesRequest to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1p2beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @instance - * @returns {Object.} JSON object */ - AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return AsyncBatchAnnotateFilesRequest; - })(); - - v1p2beta1.AsyncBatchAnnotateFilesResponse = (function() { + AnnotateImageResponse.prototype.cropHintsAnnotation = null; /** - * Properties of an AsyncBatchAnnotateFilesResponse. - * @memberof google.cloud.vision.v1p2beta1 - * @interface IAsyncBatchAnnotateFilesResponse - * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1p2beta1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance */ + AnnotateImageResponse.prototype.webDetection = null; /** - * Constructs a new AsyncBatchAnnotateFilesResponse. - * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an AsyncBatchAnnotateFilesResponse. - * @implements IAsyncBatchAnnotateFilesResponse - * @constructor - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance */ - function AsyncBatchAnnotateFilesResponse(properties) { - this.responses = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + AnnotateImageResponse.prototype.error = null; /** - * AsyncBatchAnnotateFilesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * AnnotateImageResponse context. + * @member {google.cloud.vision.v1p2beta1.IImageAnnotationContext|null|undefined} context + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @instance */ - AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + AnnotateImageResponse.prototype.context = null; /** - * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * Creates a new AnnotateImageResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse instance */ - AsyncBatchAnnotateFilesResponse.create = function create(properties) { - return new AsyncBatchAnnotateFilesResponse(properties); + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); }; /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { + AnnotateImageResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1p2beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1p2beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.context != null && message.hasOwnProperty("context")) + $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * Decodes an AnnotateImageResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { + AnnotateImageResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.decode(reader, reader.uint32()); + break; + case 9: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 21: + message.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -43977,125 +43136,320 @@ }; /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateFilesResponse message. + * Verifies an AnnotateImageResponse message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateFilesResponse.verify = function verify(message) { + AnnotateImageResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify(message.responses[i]); + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.verify(message.faceAnnotations[i]); if (error) - return "responses." + error; + return "faceAnnotations." + error; + } + } + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); + if (error) + return "landmarkAnnotations." + error; + } + } + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; } } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.verify(message.fullTextAnnotation); + if (error) + return "fullTextAnnotation." + error; + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); + if (error) + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1p2beta1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.context != null && message.hasOwnProperty("context")) { + var error = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.verify(message.context); + if (error) + return "context." + error; + } return null; }; /** - * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1p2beta1.AnnotateImageResponse} AnnotateImageResponse */ - AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse) + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse) return object; - var message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse(); - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + var message = new $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); + } + } + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); } } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.fromObject(object.webDetection); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.context != null) { + if (typeof object.context !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateImageResponse.context: object expected"); + message.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.fromObject(object.context); + } return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse + * @param {google.cloud.vision.v1p2beta1.AnnotateImageResponse} message AnnotateImageResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { + AnnotateImageResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.responses = []; - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; } - return object; - }; - - /** - * Converts this AsyncBatchAnnotateFilesResponse to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse - * @instance - * @returns {Object.} JSON object - */ - AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return AsyncBatchAnnotateFilesResponse; - })(); - - v1p2beta1.InputConfig = (function() { - - /** - * Properties of an InputConfig. + if (options.defaults) { + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; + object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; + object.context = null; + } + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1p2beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1p2beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.toObject(message.webDetection, options); + if (message.context != null && message.hasOwnProperty("context")) + object.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.toObject(message.context, options); + return object; + }; + + /** + * Converts this AnnotateImageResponse to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @instance + * @returns {Object.} JSON object + */ + AnnotateImageResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return AnnotateImageResponse; + })(); + + v1p2beta1.AnnotateFileResponse = (function() { + + /** + * Properties of an AnnotateFileResponse. * @memberof google.cloud.vision.v1p2beta1 - * @interface IInputConfig - * @property {google.cloud.vision.v1p2beta1.IGcsSource|null} [gcsSource] InputConfig gcsSource - * @property {string|null} [mimeType] InputConfig mimeType + * @interface IAnnotateFileResponse + * @property {google.cloud.vision.v1p2beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig + * @property {Array.|null} [responses] AnnotateFileResponse responses */ /** - * Constructs a new InputConfig. + * Constructs a new AnnotateFileResponse. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an InputConfig. - * @implements IInputConfig + * @classdesc Represents an AnnotateFileResponse. + * @implements IAnnotateFileResponse * @constructor - * @param {google.cloud.vision.v1p2beta1.IInputConfig=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse=} [properties] Properties to set */ - function InputConfig(properties) { + function AnnotateFileResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -44103,88 +43457,91 @@ } /** - * InputConfig gcsSource. - * @member {google.cloud.vision.v1p2beta1.IGcsSource|null|undefined} gcsSource - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * AnnotateFileResponse inputConfig. + * @member {google.cloud.vision.v1p2beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @instance */ - InputConfig.prototype.gcsSource = null; + AnnotateFileResponse.prototype.inputConfig = null; /** - * InputConfig mimeType. - * @member {string} mimeType - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * AnnotateFileResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @instance */ - InputConfig.prototype.mimeType = ""; + AnnotateFileResponse.prototype.responses = $util.emptyArray; /** - * Creates a new InputConfig instance using the specified properties. + * Creates a new AnnotateFileResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p2beta1.IInputConfig=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig instance + * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse instance */ - InputConfig.create = function create(properties) { - return new InputConfig(properties); + AnnotateFileResponse.create = function create(properties) { + return new AnnotateFileResponse(properties); }; /** - * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p2beta1.InputConfig.verify|verify} messages. + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateFileResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p2beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - InputConfig.encode = function encode(message, writer) { + AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) - $root.google.cloud.vision.v1p2beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.InputConfig.verify|verify} messages. + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AnnotateFileResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p2beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - InputConfig.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an InputConfig message from the specified reader or buffer. + * Decodes an AnnotateFileResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig + * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InputConfig.decode = function decode(reader, length) { + AnnotateFileResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.InputConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AnnotateFileResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.decode(reader, reader.uint32()); + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); break; case 2: - message.mimeType = reader.string(); + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -44195,122 +43552,139 @@ }; /** - * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig + * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InputConfig.decodeDelimited = function decodeDelimited(reader) { + AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an InputConfig message. + * Verifies an AnnotateFileResponse message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InputConfig.verify = function verify(message) { + AnnotateFileResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { - var error = $root.google.cloud.vision.v1p2beta1.GcsSource.verify(message.gcsSource); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p2beta1.InputConfig.verify(message.inputConfig); if (error) - return "gcsSource." + error; + return "inputConfig." + error; + } + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } } - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - if (!$util.isString(message.mimeType)) - return "mimeType: string expected"; return null; }; /** - * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig + * @returns {google.cloud.vision.v1p2beta1.AnnotateFileResponse} AnnotateFileResponse */ - InputConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.InputConfig) + AnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AnnotateFileResponse) return object; - var message = new $root.google.cloud.vision.v1p2beta1.InputConfig(); - if (object.gcsSource != null) { - if (typeof object.gcsSource !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.InputConfig.gcsSource: object expected"); - message.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.fromObject(object.gcsSource); + var message = new $root.google.cloud.vision.v1p2beta1.AnnotateFileResponse(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateFileResponse.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateFileResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AnnotateFileResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } } - if (object.mimeType != null) - message.mimeType = String(object.mimeType); return message; }; /** - * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p2beta1.InputConfig} message InputConfig + * @param {google.cloud.vision.v1p2beta1.AnnotateFileResponse} message AnnotateFileResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - InputConfig.toObject = function toObject(message, options) { + AnnotateFileResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.gcsSource = null; - object.mimeType = ""; + if (options.arrays || options.defaults) + object.responses = []; + if (options.defaults) + object.inputConfig = null; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.toObject(message.inputConfig, options); + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.toObject(message.responses[j], options); } - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) - object.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.toObject(message.gcsSource, options); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - object.mimeType = message.mimeType; return object; }; /** - * Converts this InputConfig to JSON. + * Converts this AnnotateFileResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse * @instance * @returns {Object.} JSON object */ - InputConfig.prototype.toJSON = function toJSON() { + AnnotateFileResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return InputConfig; + return AnnotateFileResponse; })(); - v1p2beta1.OutputConfig = (function() { + v1p2beta1.BatchAnnotateImagesRequest = (function() { /** - * Properties of an OutputConfig. + * Properties of a BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p2beta1 - * @interface IOutputConfig - * @property {google.cloud.vision.v1p2beta1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination - * @property {number|null} [batchSize] OutputConfig batchSize + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests */ /** - * Constructs a new OutputConfig. + * Constructs a new BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an OutputConfig. - * @implements IOutputConfig + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest * @constructor - * @param {google.cloud.vision.v1p2beta1.IOutputConfig=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set */ - function OutputConfig(properties) { + function BatchAnnotateImagesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -44318,88 +43692,78 @@ } /** - * OutputConfig gcsDestination. - * @member {google.cloud.vision.v1p2beta1.IGcsDestination|null|undefined} gcsDestination - * @memberof google.cloud.vision.v1p2beta1.OutputConfig - * @instance - */ - OutputConfig.prototype.gcsDestination = null; - - /** - * OutputConfig batchSize. - * @member {number} batchSize - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @instance */ - OutputConfig.prototype.batchSize = 0; + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new OutputConfig instance using the specified properties. + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p2beta1.IOutputConfig=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig instance + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance */ - OutputConfig.create = function create(properties) { - return new OutputConfig(properties); + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); }; /** - * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p2beta1.OutputConfig.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p2beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OutputConfig.encode = function encode(message, writer) { + BatchAnnotateImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) - $root.google.cloud.vision.v1p2beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.OutputConfig.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p2beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OutputConfig message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OutputConfig.decode = function decode(reader, length) { + BatchAnnotateImagesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.OutputConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.decode(reader, reader.uint32()); - break; - case 2: - message.batchSize = reader.int32(); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -44410,121 +43774,125 @@ }; /** - * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OutputConfig.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OutputConfig message. + * Verifies a BatchAnnotateImagesRequest message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OutputConfig.verify = function verify(message) { + BatchAnnotateImagesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { - var error = $root.google.cloud.vision.v1p2beta1.GcsDestination.verify(message.gcsDestination); - if (error) - return "gcsDestination." + error; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } } - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - if (!$util.isInteger(message.batchSize)) - return "batchSize: integer expected"; return null; }; /** - * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest */ - OutputConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.OutputConfig) + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest) return object; - var message = new $root.google.cloud.vision.v1p2beta1.OutputConfig(); - if (object.gcsDestination != null) { - if (typeof object.gcsDestination !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.OutputConfig.gcsDestination: object expected"); - message.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.fromObject(object.gcsDestination); + var message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.fromObject(object.requests[i]); + } } - if (object.batchSize != null) - message.batchSize = object.batchSize | 0; return message; }; /** - * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p2beta1.OutputConfig} message OutputConfig + * @param {google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OutputConfig.toObject = function toObject(message, options) { + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.gcsDestination = null; - object.batchSize = 0; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.toObject(message.requests[j], options); } - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) - object.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.toObject(message.gcsDestination, options); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - object.batchSize = message.batchSize; return object; }; /** - * Converts this OutputConfig to JSON. + * Converts this BatchAnnotateImagesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest * @instance * @returns {Object.} JSON object */ - OutputConfig.prototype.toJSON = function toJSON() { + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return OutputConfig; + return BatchAnnotateImagesRequest; })(); - v1p2beta1.GcsSource = (function() { + v1p2beta1.BatchAnnotateImagesResponse = (function() { /** - * Properties of a GcsSource. + * Properties of a BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p2beta1 - * @interface IGcsSource - * @property {string|null} [uri] GcsSource uri + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses */ /** - * Constructs a new GcsSource. + * Constructs a new BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a GcsSource. - * @implements IGcsSource + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse * @constructor - * @param {google.cloud.vision.v1p2beta1.IGcsSource=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set */ - function GcsSource(properties) { + function BatchAnnotateImagesResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -44532,75 +43900,78 @@ } /** - * GcsSource uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @instance */ - GcsSource.prototype.uri = ""; + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new GcsSource instance using the specified properties. + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p2beta1.IGcsSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource instance + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance */ - GcsSource.create = function create(properties) { - return new GcsSource(properties); + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); }; /** - * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsSource.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p2beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsSource.encode = function encode(message, writer) { + BatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsSource.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p2beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsSource.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GcsSource message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsSource.decode = function decode(reader, length) { + BatchAnnotateImagesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.GcsSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -44611,107 +43982,128 @@ }; /** - * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsSource.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GcsSource message. + * Verifies a BatchAnnotateImagesResponse message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsSource.verify = function verify(message) { + BatchAnnotateImagesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } return null; }; /** - * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse */ - GcsSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.GcsSource) + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse) return object; - var message = new $root.google.cloud.vision.v1p2beta1.GcsSource(); - if (object.uri != null) - message.uri = String(object.uri); + var message = new $root.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } return message; }; /** - * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p2beta1.GcsSource} message GcsSource + * @param {google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GcsSource.toObject = function toObject(message, options) { + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.uri = ""; - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } return object; }; /** - * Converts this GcsSource to JSON. + * Converts this BatchAnnotateImagesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse * @instance * @returns {Object.} JSON object */ - GcsSource.prototype.toJSON = function toJSON() { + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GcsSource; + return BatchAnnotateImagesResponse; })(); - v1p2beta1.GcsDestination = (function() { + v1p2beta1.AsyncAnnotateFileRequest = (function() { /** - * Properties of a GcsDestination. + * Properties of an AsyncAnnotateFileRequest. * @memberof google.cloud.vision.v1p2beta1 - * @interface IGcsDestination - * @property {string|null} [uri] GcsDestination uri + * @interface IAsyncAnnotateFileRequest + * @property {google.cloud.vision.v1p2beta1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig + * @property {Array.|null} [features] AsyncAnnotateFileRequest features + * @property {google.cloud.vision.v1p2beta1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext + * @property {google.cloud.vision.v1p2beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig */ /** - * Constructs a new GcsDestination. + * Constructs a new AsyncAnnotateFileRequest. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a GcsDestination. - * @implements IGcsDestination + * @classdesc Represents an AsyncAnnotateFileRequest. + * @implements IAsyncAnnotateFileRequest * @constructor - * @param {google.cloud.vision.v1p2beta1.IGcsDestination=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set */ - function GcsDestination(properties) { + function AsyncAnnotateFileRequest(properties) { + this.features = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -44719,75 +44111,117 @@ } /** - * GcsDestination uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * AsyncAnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1p2beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @instance */ - GcsDestination.prototype.uri = ""; + AsyncAnnotateFileRequest.prototype.inputConfig = null; /** - * Creates a new GcsDestination instance using the specified properties. + * AsyncAnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; + + /** + * AsyncAnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1p2beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.imageContext = null; + + /** + * AsyncAnnotateFileRequest outputConfig. + * @member {google.cloud.vision.v1p2beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p2beta1.IGcsDestination=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination instance + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance */ - GcsDestination.create = function create(properties) { - return new GcsDestination(properties); + AsyncAnnotateFileRequest.create = function create(properties) { + return new AsyncAnnotateFileRequest(properties); }; /** - * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsDestination.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p2beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsDestination.encode = function encode(message, writer) { + AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsDestination.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p2beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { + AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GcsDestination message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsDestination.decode = function decode(reader, length) { + AsyncAnnotateFileRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.GcsDestination(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p2beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -44798,109 +44232,165 @@ }; /** - * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsDestination.decodeDelimited = function decodeDelimited(reader) { + AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GcsDestination message. + * Verifies an AsyncAnnotateFileRequest message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsDestination.verify = function verify(message) { + AsyncAnnotateFileRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p2beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p2beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p2beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } return null; }; /** - * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest */ - GcsDestination.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.GcsDestination) + AsyncAnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest) return object; - var message = new $root.google.cloud.vision.v1p2beta1.GcsDestination(); - if (object.uri != null) - message.uri = String(object.uri); + var message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p2beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.fromObject(object.imageContext); + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.fromObject(object.outputConfig); + } return message; }; /** - * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p2beta1.GcsDestination} message GcsDestination + * @param {google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GcsDestination.toObject = function toObject(message, options) { + AsyncAnnotateFileRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.uri = ""; - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; + if (options.arrays || options.defaults) + object.features = []; + if (options.defaults) { + object.inputConfig = null; + object.imageContext = null; + object.outputConfig = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p2beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.toObject(message.imageContext, options); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this GcsDestination to JSON. + * Converts this AsyncAnnotateFileRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest * @instance * @returns {Object.} JSON object */ - GcsDestination.prototype.toJSON = function toJSON() { + AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GcsDestination; + return AsyncAnnotateFileRequest; })(); - v1p2beta1.OperationMetadata = (function() { + v1p2beta1.AsyncAnnotateFileResponse = (function() { /** - * Properties of an OperationMetadata. + * Properties of an AsyncAnnotateFileResponse. * @memberof google.cloud.vision.v1p2beta1 - * @interface IOperationMetadata - * @property {google.cloud.vision.v1p2beta1.OperationMetadata.State|null} [state] OperationMetadata state - * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime - * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime + * @interface IAsyncAnnotateFileResponse + * @property {google.cloud.vision.v1p2beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig */ /** - * Constructs a new OperationMetadata. + * Constructs a new AsyncAnnotateFileResponse. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents an OperationMetadata. - * @implements IOperationMetadata + * @classdesc Represents an AsyncAnnotateFileResponse. + * @implements IAsyncAnnotateFileResponse * @constructor - * @param {google.cloud.vision.v1p2beta1.IOperationMetadata=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set */ - function OperationMetadata(properties) { + function AsyncAnnotateFileResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -44908,101 +44398,75 @@ } /** - * OperationMetadata state. - * @member {google.cloud.vision.v1p2beta1.OperationMetadata.State} state - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata - * @instance - */ - OperationMetadata.prototype.state = 0; - - /** - * OperationMetadata createTime. - * @member {google.protobuf.ITimestamp|null|undefined} createTime - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata - * @instance - */ - OperationMetadata.prototype.createTime = null; - - /** - * OperationMetadata updateTime. - * @member {google.protobuf.ITimestamp|null|undefined} updateTime - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * AsyncAnnotateFileResponse outputConfig. + * @member {google.cloud.vision.v1p2beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @instance */ - OperationMetadata.prototype.updateTime = null; + AsyncAnnotateFileResponse.prototype.outputConfig = null; /** - * Creates a new OperationMetadata instance using the specified properties. + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p2beta1.IOperationMetadata=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata instance + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance */ - OperationMetadata.create = function create(properties) { - return new OperationMetadata(properties); + AsyncAnnotateFileResponse.create = function create(properties) { + return new AsyncAnnotateFileResponse(properties); }; /** - * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p2beta1.OperationMetadata.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p2beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OperationMetadata.encode = function encode(message, writer) { + AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) - $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.OperationMetadata.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p2beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OperationMetadata message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationMetadata.decode = function decode(reader, length) { + AsyncAnnotateFileResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.OperationMetadata(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.state = reader.int32(); - break; - case 5: - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 6: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -45013,205 +44477,113 @@ }; /** - * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OperationMetadata message. + * Verifies an AsyncAnnotateFileResponse message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationMetadata.verify = function verify(message) { + AsyncAnnotateFileResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; - } - if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); - if (error) - return "createTime." + error; - } - if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p2beta1.OutputConfig.verify(message.outputConfig); if (error) - return "updateTime." + error; + return "outputConfig." + error; } return null; }; /** - * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse */ - OperationMetadata.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.OperationMetadata) + AsyncAnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse) return object; - var message = new $root.google.cloud.vision.v1p2beta1.OperationMetadata(); - switch (object.state) { - case "STATE_UNSPECIFIED": - case 0: - message.state = 0; - break; - case "CREATED": - case 1: - message.state = 1; - break; - case "RUNNING": - case 2: - message.state = 2; - break; - case "DONE": - case 3: - message.state = 3; - break; - case "CANCELLED": - case 4: - message.state = 4; - break; - } - if (object.createTime != null) { - if (typeof object.createTime !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.OperationMetadata.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); - } - if (object.updateTime != null) { - if (typeof object.updateTime !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.OperationMetadata.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + var message = new $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.fromObject(object.outputConfig); } return message; }; /** - * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p2beta1.OperationMetadata} message OperationMetadata + * @param {google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OperationMetadata.toObject = function toObject(message, options) { + AsyncAnnotateFileResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; - object.createTime = null; - object.updateTime = null; - } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1p2beta1.OperationMetadata.State[message.state] : message.state; - if (message.createTime != null && message.hasOwnProperty("createTime")) - object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this OperationMetadata to JSON. + * Converts this AsyncAnnotateFileResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse * @instance * @returns {Object.} JSON object */ - OperationMetadata.prototype.toJSON = function toJSON() { + AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * State enum. - * @name google.cloud.vision.v1p2beta1.OperationMetadata.State - * @enum {string} - * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value - * @property {number} CREATED=1 CREATED value - * @property {number} RUNNING=2 RUNNING value - * @property {number} DONE=3 DONE value - * @property {number} CANCELLED=4 CANCELLED value - */ - OperationMetadata.State = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; - values[valuesById[1] = "CREATED"] = 1; - values[valuesById[2] = "RUNNING"] = 2; - values[valuesById[3] = "DONE"] = 3; - values[valuesById[4] = "CANCELLED"] = 4; - return values; - })(); - - return OperationMetadata; - })(); - - /** - * Likelihood enum. - * @name google.cloud.vision.v1p2beta1.Likelihood - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value - * @property {number} UNLIKELY=2 UNLIKELY value - * @property {number} POSSIBLE=3 POSSIBLE value - * @property {number} LIKELY=4 LIKELY value - * @property {number} VERY_LIKELY=5 VERY_LIKELY value - */ - v1p2beta1.Likelihood = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "VERY_UNLIKELY"] = 1; - values[valuesById[2] = "UNLIKELY"] = 2; - values[valuesById[3] = "POSSIBLE"] = 3; - values[valuesById[4] = "LIKELY"] = 4; - values[valuesById[5] = "VERY_LIKELY"] = 5; - return values; + return AsyncAnnotateFileResponse; })(); - v1p2beta1.Vertex = (function() { + v1p2beta1.AsyncBatchAnnotateFilesRequest = (function() { /** - * Properties of a Vertex. + * Properties of an AsyncBatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p2beta1 - * @interface IVertex - * @property {number|null} [x] Vertex x - * @property {number|null} [y] Vertex y + * @interface IAsyncBatchAnnotateFilesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests */ /** - * Constructs a new Vertex. + * Constructs a new AsyncBatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a Vertex. - * @implements IVertex + * @classdesc Represents an AsyncBatchAnnotateFilesRequest. + * @implements IAsyncBatchAnnotateFilesRequest * @constructor - * @param {google.cloud.vision.v1p2beta1.IVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set */ - function Vertex(properties) { + function AsyncBatchAnnotateFilesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -45219,88 +44591,78 @@ } /** - * Vertex x. - * @member {number} x - * @memberof google.cloud.vision.v1p2beta1.Vertex - * @instance - */ - Vertex.prototype.x = 0; - - /** - * Vertex y. - * @member {number} y - * @memberof google.cloud.vision.v1p2beta1.Vertex + * AsyncBatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @instance */ - Vertex.prototype.y = 0; + AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new Vertex instance using the specified properties. + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.Vertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p2beta1.IVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex instance + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance */ - Vertex.create = function create(properties) { - return new Vertex(properties); + AsyncBatchAnnotateFilesRequest.create = function create(properties) { + return new AsyncBatchAnnotateFilesRequest(properties); }; /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.Vertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p2beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encode = function encode(message, writer) { + AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Vertex.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Vertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p2beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Vertex message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.Vertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decode = function decode(reader, length) { + AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Vertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.int32(); - break; - case 2: - message.y = reader.int32(); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -45311,117 +44673,125 @@ }; /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Vertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Vertex message. + * Verifies an AsyncBatchAnnotateFilesRequest message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.Vertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Vertex.verify = function verify(message) { + AsyncBatchAnnotateFilesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (!$util.isInteger(message.x)) - return "x: integer expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (!$util.isInteger(message.y)) - return "y: integer expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } return null; }; /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Vertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest */ - Vertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Vertex) + AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest) return object; - var message = new $root.google.cloud.vision.v1p2beta1.Vertex(); - if (object.x != null) - message.x = object.x | 0; - if (object.y != null) - message.y = object.y | 0; + var message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + } + } return message; }; /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Vertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p2beta1.Vertex} message Vertex + * @param {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Vertex.toObject = function toObject(message, options) { + AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.x = 0; - object.y = 0; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); } - if (message.x != null && message.hasOwnProperty("x")) - object.x = message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = message.y; return object; }; /** - * Converts this Vertex to JSON. + * Converts this AsyncBatchAnnotateFilesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Vertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest * @instance * @returns {Object.} JSON object */ - Vertex.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Vertex; + return AsyncBatchAnnotateFilesRequest; })(); - v1p2beta1.NormalizedVertex = (function() { + v1p2beta1.AsyncBatchAnnotateFilesResponse = (function() { /** - * Properties of a NormalizedVertex. + * Properties of an AsyncBatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1p2beta1 - * @interface INormalizedVertex - * @property {number|null} [x] NormalizedVertex x - * @property {number|null} [y] NormalizedVertex y + * @interface IAsyncBatchAnnotateFilesResponse + * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses */ /** - * Constructs a new NormalizedVertex. + * Constructs a new AsyncBatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a NormalizedVertex. - * @implements INormalizedVertex + * @classdesc Represents an AsyncBatchAnnotateFilesResponse. + * @implements IAsyncBatchAnnotateFilesResponse * @constructor - * @param {google.cloud.vision.v1p2beta1.INormalizedVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set */ - function NormalizedVertex(properties) { + function AsyncBatchAnnotateFilesResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -45429,88 +44799,78 @@ } /** - * NormalizedVertex x. - * @member {number} x - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex - * @instance - */ - NormalizedVertex.prototype.x = 0; - - /** - * NormalizedVertex y. - * @member {number} y - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * AsyncBatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @instance */ - NormalizedVertex.prototype.y = 0; + AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new NormalizedVertex instance using the specified properties. + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p2beta1.INormalizedVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex instance + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance */ - NormalizedVertex.create = function create(properties) { - return new NormalizedVertex(properties); + AsyncBatchAnnotateFilesResponse.create = function create(properties) { + return new AsyncBatchAnnotateFilesResponse(properties); }; /** - * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p2beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encode = function encode(message, writer) { + AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.NormalizedVertex.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p2beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decode = function decode(reader, length) { + AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.NormalizedVertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -45521,119 +44881,125 @@ }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a NormalizedVertex message. + * Verifies an AsyncBatchAnnotateFilesResponse message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NormalizedVertex.verify = function verify(message) { + AsyncBatchAnnotateFilesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } return null; }; /** - * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse */ - NormalizedVertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.NormalizedVertex) + AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse) return object; - var message = new $root.google.cloud.vision.v1p2beta1.NormalizedVertex(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); + var message = new $root.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + } + } return message; }; /** - * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p2beta1.NormalizedVertex} message NormalizedVertex + * @param {google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - NormalizedVertex.toObject = function toObject(message, options) { + AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.x = 0; - object.y = 0; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; return object; }; /** - * Converts this NormalizedVertex to JSON. + * Converts this AsyncBatchAnnotateFilesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse * @instance * @returns {Object.} JSON object */ - NormalizedVertex.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return NormalizedVertex; + return AsyncBatchAnnotateFilesResponse; })(); - v1p2beta1.BoundingPoly = (function() { + v1p2beta1.InputConfig = (function() { /** - * Properties of a BoundingPoly. + * Properties of an InputConfig. * @memberof google.cloud.vision.v1p2beta1 - * @interface IBoundingPoly - * @property {Array.|null} [vertices] BoundingPoly vertices - * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices + * @interface IInputConfig + * @property {google.cloud.vision.v1p2beta1.IGcsSource|null} [gcsSource] InputConfig gcsSource + * @property {string|null} [mimeType] InputConfig mimeType */ /** - * Constructs a new BoundingPoly. + * Constructs a new InputConfig. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a BoundingPoly. - * @implements IBoundingPoly + * @classdesc Represents an InputConfig. + * @implements IInputConfig * @constructor - * @param {google.cloud.vision.v1p2beta1.IBoundingPoly=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IInputConfig=} [properties] Properties to set */ - function BoundingPoly(properties) { - this.vertices = []; - this.normalizedVertices = []; + function InputConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -45641,94 +45007,88 @@ } /** - * BoundingPoly vertices. - * @member {Array.} vertices - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * InputConfig gcsSource. + * @member {google.cloud.vision.v1p2beta1.IGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @instance */ - BoundingPoly.prototype.vertices = $util.emptyArray; + InputConfig.prototype.gcsSource = null; /** - * BoundingPoly normalizedVertices. - * @member {Array.} normalizedVertices - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * InputConfig mimeType. + * @member {string} mimeType + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @instance */ - BoundingPoly.prototype.normalizedVertices = $util.emptyArray; + InputConfig.prototype.mimeType = ""; /** - * Creates a new BoundingPoly instance using the specified properties. + * Creates a new InputConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @static - * @param {google.cloud.vision.v1p2beta1.IBoundingPoly=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly instance + * @param {google.cloud.vision.v1p2beta1.IInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig instance */ - BoundingPoly.create = function create(properties) { - return new BoundingPoly(properties); + InputConfig.create = function create(properties) { + return new InputConfig(properties); }; /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p2beta1.InputConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @static - * @param {google.cloud.vision.v1p2beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IInputConfig} message InputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encode = function encode(message, writer) { + InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.vertices != null && message.vertices.length) - for (var i = 0; i < message.vertices.length; ++i) - $root.google.cloud.vision.v1p2beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.normalizedVertices != null && message.normalizedVertices.length) - for (var i = 0; i < message.normalizedVertices.length; ++i) - $root.google.cloud.vision.v1p2beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1p2beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); return writer; }; /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.InputConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @static - * @param {google.cloud.vision.v1p2beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IInputConfig} message InputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + InputConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BoundingPoly message from the specified reader or buffer. + * Decodes an InputConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decode = function decode(reader, length) { + InputConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.BoundingPoly(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.InputConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p2beta1.Vertex.decode(reader, reader.uint32())); + message.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.decode(reader, reader.uint32()); break; case 2: - if (!(message.normalizedVertices && message.normalizedVertices.length)) - message.normalizedVertices = []; - message.normalizedVertices.push($root.google.cloud.vision.v1p2beta1.NormalizedVertex.decode(reader, reader.uint32())); + message.mimeType = reader.string(); break; default: reader.skipType(tag & 7); @@ -45739,152 +45099,122 @@ }; /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * Decodes an InputConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + InputConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BoundingPoly message. + * Verifies an InputConfig message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BoundingPoly.verify = function verify(message) { + InputConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.vertices != null && message.hasOwnProperty("vertices")) { - if (!Array.isArray(message.vertices)) - return "vertices: array expected"; - for (var i = 0; i < message.vertices.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.Vertex.verify(message.vertices[i]); - if (error) - return "vertices." + error; - } - } - if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { - if (!Array.isArray(message.normalizedVertices)) - return "normalizedVertices: array expected"; - for (var i = 0; i < message.normalizedVertices.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.NormalizedVertex.verify(message.normalizedVertices[i]); - if (error) - return "normalizedVertices." + error; - } + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + var error = $root.google.cloud.vision.v1p2beta1.GcsSource.verify(message.gcsSource); + if (error) + return "gcsSource." + error; } + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (!$util.isString(message.mimeType)) + return "mimeType: string expected"; return null; }; /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p2beta1.InputConfig} InputConfig */ - BoundingPoly.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.BoundingPoly) + InputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.InputConfig) return object; - var message = new $root.google.cloud.vision.v1p2beta1.BoundingPoly(); - if (object.vertices) { - if (!Array.isArray(object.vertices)) - throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.vertices: array expected"); - message.vertices = []; - for (var i = 0; i < object.vertices.length; ++i) { - if (typeof object.vertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.vertices: object expected"); - message.vertices[i] = $root.google.cloud.vision.v1p2beta1.Vertex.fromObject(object.vertices[i]); - } - } - if (object.normalizedVertices) { - if (!Array.isArray(object.normalizedVertices)) - throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.normalizedVertices: array expected"); - message.normalizedVertices = []; - for (var i = 0; i < object.normalizedVertices.length; ++i) { - if (typeof object.normalizedVertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.BoundingPoly.normalizedVertices: object expected"); - message.normalizedVertices[i] = $root.google.cloud.vision.v1p2beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); - } + var message = new $root.google.cloud.vision.v1p2beta1.InputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.InputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.fromObject(object.gcsSource); } + if (object.mimeType != null) + message.mimeType = String(object.mimeType); return message; }; /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @static - * @param {google.cloud.vision.v1p2beta1.BoundingPoly} message BoundingPoly + * @param {google.cloud.vision.v1p2beta1.InputConfig} message InputConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BoundingPoly.toObject = function toObject(message, options) { + InputConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.vertices = []; - object.normalizedVertices = []; - } - if (message.vertices && message.vertices.length) { - object.vertices = []; - for (var j = 0; j < message.vertices.length; ++j) - object.vertices[j] = $root.google.cloud.vision.v1p2beta1.Vertex.toObject(message.vertices[j], options); - } - if (message.normalizedVertices && message.normalizedVertices.length) { - object.normalizedVertices = []; - for (var j = 0; j < message.normalizedVertices.length; ++j) - object.normalizedVertices[j] = $root.google.cloud.vision.v1p2beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); + if (options.defaults) { + object.gcsSource = null; + object.mimeType = ""; } + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + object.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.toObject(message.gcsSource, options); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + object.mimeType = message.mimeType; return object; }; /** - * Converts this BoundingPoly to JSON. + * Converts this InputConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @memberof google.cloud.vision.v1p2beta1.InputConfig * @instance * @returns {Object.} JSON object */ - BoundingPoly.prototype.toJSON = function toJSON() { + InputConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BoundingPoly; + return InputConfig; })(); - v1p2beta1.Position = (function() { + v1p2beta1.OutputConfig = (function() { /** - * Properties of a Position. + * Properties of an OutputConfig. * @memberof google.cloud.vision.v1p2beta1 - * @interface IPosition - * @property {number|null} [x] Position x - * @property {number|null} [y] Position y - * @property {number|null} [z] Position z + * @interface IOutputConfig + * @property {google.cloud.vision.v1p2beta1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination + * @property {number|null} [batchSize] OutputConfig batchSize */ /** - * Constructs a new Position. + * Constructs a new OutputConfig. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a Position. - * @implements IPosition + * @classdesc Represents an OutputConfig. + * @implements IOutputConfig * @constructor - * @param {google.cloud.vision.v1p2beta1.IPosition=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IOutputConfig=} [properties] Properties to set */ - function Position(properties) { + function OutputConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -45892,101 +45222,88 @@ } /** - * Position x. - * @member {number} x - * @memberof google.cloud.vision.v1p2beta1.Position - * @instance - */ - Position.prototype.x = 0; - - /** - * Position y. - * @member {number} y - * @memberof google.cloud.vision.v1p2beta1.Position + * OutputConfig gcsDestination. + * @member {google.cloud.vision.v1p2beta1.IGcsDestination|null|undefined} gcsDestination + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @instance */ - Position.prototype.y = 0; + OutputConfig.prototype.gcsDestination = null; /** - * Position z. - * @member {number} z - * @memberof google.cloud.vision.v1p2beta1.Position + * OutputConfig batchSize. + * @member {number} batchSize + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @instance */ - Position.prototype.z = 0; + OutputConfig.prototype.batchSize = 0; /** - * Creates a new Position instance using the specified properties. + * Creates a new OutputConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.Position + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p2beta1.IPosition=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Position} Position instance + * @param {google.cloud.vision.v1p2beta1.IOutputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig instance */ - Position.create = function create(properties) { - return new Position(properties); + OutputConfig.create = function create(properties) { + return new OutputConfig(properties); }; /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p2beta1.OutputConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.Position + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p2beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IOutputConfig} message OutputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encode = function encode(message, writer) { + OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + $root.google.cloud.vision.v1p2beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Position.verify|verify} messages. + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.OutputConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Position + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p2beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IOutputConfig} message OutputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encodeDelimited = function encodeDelimited(message, writer) { + OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Position message from the specified reader or buffer. + * Decodes an OutputConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.Position + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Position} Position + * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decode = function decode(reader, length) { + OutputConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Position(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.OutputConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); + message.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.decode(reader, reader.uint32()); break; case 2: - message.y = reader.float(); - break; - case 3: - message.z = reader.float(); + message.batchSize = reader.int32(); break; default: reader.skipType(tag & 7); @@ -45997,126 +45314,121 @@ }; /** - * Decodes a Position message from the specified reader or buffer, length delimited. + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Position + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Position} Position + * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decodeDelimited = function decodeDelimited(reader) { + OutputConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Position message. + * Verifies an OutputConfig message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.Position + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Position.verify = function verify(message) { + OutputConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; - if (message.z != null && message.hasOwnProperty("z")) - if (typeof message.z !== "number") - return "z: number expected"; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { + var error = $root.google.cloud.vision.v1p2beta1.GcsDestination.verify(message.gcsDestination); + if (error) + return "gcsDestination." + error; + } + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (!$util.isInteger(message.batchSize)) + return "batchSize: integer expected"; return null; }; /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. + * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Position + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Position} Position + * @returns {google.cloud.vision.v1p2beta1.OutputConfig} OutputConfig */ - Position.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Position) + OutputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.OutputConfig) return object; - var message = new $root.google.cloud.vision.v1p2beta1.Position(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); - if (object.z != null) - message.z = Number(object.z); + var message = new $root.google.cloud.vision.v1p2beta1.OutputConfig(); + if (object.gcsDestination != null) { + if (typeof object.gcsDestination !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.OutputConfig.gcsDestination: object expected"); + message.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.fromObject(object.gcsDestination); + } + if (object.batchSize != null) + message.batchSize = object.batchSize | 0; return message; }; /** - * Creates a plain object from a Position message. Also converts values to other types if specified. + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Position + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p2beta1.Position} message Position + * @param {google.cloud.vision.v1p2beta1.OutputConfig} message OutputConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Position.toObject = function toObject(message, options) { + OutputConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.x = 0; - object.y = 0; - object.z = 0; + object.gcsDestination = null; + object.batchSize = 0; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; - if (message.z != null && message.hasOwnProperty("z")) - object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + object.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.toObject(message.gcsDestination, options); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + object.batchSize = message.batchSize; return object; }; /** - * Converts this Position to JSON. + * Converts this OutputConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Position + * @memberof google.cloud.vision.v1p2beta1.OutputConfig * @instance * @returns {Object.} JSON object */ - Position.prototype.toJSON = function toJSON() { + OutputConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Position; + return OutputConfig; })(); - v1p2beta1.TextAnnotation = (function() { + v1p2beta1.GcsSource = (function() { /** - * Properties of a TextAnnotation. + * Properties of a GcsSource. * @memberof google.cloud.vision.v1p2beta1 - * @interface ITextAnnotation - * @property {Array.|null} [pages] TextAnnotation pages - * @property {string|null} [text] TextAnnotation text + * @interface IGcsSource + * @property {string|null} [uri] GcsSource uri */ /** - * Constructs a new TextAnnotation. + * Constructs a new GcsSource. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a TextAnnotation. - * @implements ITextAnnotation + * @classdesc Represents a GcsSource. + * @implements IGcsSource * @constructor - * @param {google.cloud.vision.v1p2beta1.ITextAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IGcsSource=} [properties] Properties to set */ - function TextAnnotation(properties) { - this.pages = []; + function GcsSource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -46124,91 +45436,75 @@ } /** - * TextAnnotation pages. - * @member {Array.} pages - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation - * @instance - */ - TextAnnotation.prototype.pages = $util.emptyArray; - - /** - * TextAnnotation text. - * @member {string} text - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * GcsSource uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @instance */ - TextAnnotation.prototype.text = ""; + GcsSource.prototype.uri = ""; /** - * Creates a new TextAnnotation instance using the specified properties. + * Creates a new GcsSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @static - * @param {google.cloud.vision.v1p2beta1.ITextAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation instance + * @param {google.cloud.vision.v1p2beta1.IGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource instance */ - TextAnnotation.create = function create(properties) { - return new TextAnnotation(properties); + GcsSource.create = function create(properties) { + return new GcsSource(properties); }; /** - * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.verify|verify} messages. + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @static - * @param {google.cloud.vision.v1p2beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IGcsSource} message GcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TextAnnotation.encode = function encode(message, writer) { + GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.pages != null && message.pages.length) - for (var i = 0; i < message.pages.length; ++i) - $root.google.cloud.vision.v1p2beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; /** - * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.verify|verify} messages. + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @static - * @param {google.cloud.vision.v1p2beta1.ITextAnnotation} message TextAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IGcsSource} message GcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + GcsSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TextAnnotation message from the specified reader or buffer. + * Decodes a GcsSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation + * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextAnnotation.decode = function decode(reader, length) { + GcsSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.GcsSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.pages && message.pages.length)) - message.pages = []; - message.pages.push($root.google.cloud.vision.v1p2beta1.Page.decode(reader, reader.uint32())); - break; - case 2: - message.text = reader.string(); + message.uri = reader.string(); break; default: reader.skipType(tag & 7); @@ -46219,980 +45515,398 @@ }; /** - * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. + * Decodes a GcsSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation + * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TextAnnotation.decodeDelimited = function decodeDelimited(reader) { + GcsSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TextAnnotation message. + * Verifies a GcsSource message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TextAnnotation.verify = function verify(message) { + GcsSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.pages != null && message.hasOwnProperty("pages")) { - if (!Array.isArray(message.pages)) - return "pages: array expected"; - for (var i = 0; i < message.pages.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.Page.verify(message.pages[i]); - if (error) - return "pages." + error; - } - } - if (message.text != null && message.hasOwnProperty("text")) - if (!$util.isString(message.text)) - return "text: string expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; return null; }; /** - * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation + * @returns {google.cloud.vision.v1p2beta1.GcsSource} GcsSource */ - TextAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation) + GcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.GcsSource) return object; - var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation(); - if (object.pages) { - if (!Array.isArray(object.pages)) - throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.pages: array expected"); - message.pages = []; - for (var i = 0; i < object.pages.length; ++i) { - if (typeof object.pages[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.pages: object expected"); - message.pages[i] = $root.google.cloud.vision.v1p2beta1.Page.fromObject(object.pages[i]); - } - } - if (object.text != null) - message.text = String(object.text); + var message = new $root.google.cloud.vision.v1p2beta1.GcsSource(); + if (object.uri != null) + message.uri = String(object.uri); return message; }; /** - * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation} message TextAnnotation + * @param {google.cloud.vision.v1p2beta1.GcsSource} message GcsSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TextAnnotation.toObject = function toObject(message, options) { + GcsSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.pages = []; if (options.defaults) - object.text = ""; - if (message.pages && message.pages.length) { - object.pages = []; - for (var j = 0; j < message.pages.length; ++j) - object.pages[j] = $root.google.cloud.vision.v1p2beta1.Page.toObject(message.pages[j], options); - } - if (message.text != null && message.hasOwnProperty("text")) - object.text = message.text; + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; return object; }; /** - * Converts this TextAnnotation to JSON. + * Converts this GcsSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @memberof google.cloud.vision.v1p2beta1.GcsSource * @instance * @returns {Object.} JSON object */ - TextAnnotation.prototype.toJSON = function toJSON() { + GcsSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - TextAnnotation.DetectedLanguage = (function() { - - /** - * Properties of a DetectedLanguage. - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation - * @interface IDetectedLanguage - * @property {string|null} [languageCode] DetectedLanguage languageCode - * @property {number|null} [confidence] DetectedLanguage confidence - */ + return GcsSource; + })(); - /** - * Constructs a new DetectedLanguage. - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation - * @classdesc Represents a DetectedLanguage. - * @implements IDetectedLanguage - * @constructor - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set - */ - function DetectedLanguage(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]]; - } + v1p2beta1.GcsDestination = (function() { - /** - * DetectedLanguage languageCode. - * @member {string} languageCode - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @instance - */ - DetectedLanguage.prototype.languageCode = ""; + /** + * Properties of a GcsDestination. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IGcsDestination + * @property {string|null} [uri] GcsDestination uri + */ - /** - * DetectedLanguage confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @instance - */ - DetectedLanguage.prototype.confidence = 0; + /** + * Constructs a new GcsDestination. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a GcsDestination. + * @implements IGcsDestination + * @constructor + * @param {google.cloud.vision.v1p2beta1.IGcsDestination=} [properties] Properties to set + */ + function GcsDestination(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 DetectedLanguage instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage instance - */ - DetectedLanguage.create = function create(properties) { - return new DetectedLanguage(properties); - }; + /** + * GcsDestination uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @instance + */ + GcsDestination.prototype.uri = ""; - /** - * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DetectedLanguage.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - return writer; - }; + /** + * Creates a new GcsDestination instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p2beta1.IGcsDestination=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination instance + */ + GcsDestination.create = function create(properties) { + return new GcsDestination(properties); + }; - /** - * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DetectedLanguage.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsDestination.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p2beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + return writer; + }; - /** - * Decodes a DetectedLanguage message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DetectedLanguage.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.languageCode = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.GcsDestination.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p2beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DetectedLanguage.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Decodes a GcsDestination message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.GcsDestination(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uri = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Verifies a DetectedLanguage message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DetectedLanguage.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - if (!$util.isString(message.languageCode)) - return "languageCode: string expected"; - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - return null; - }; + /** + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GcsDestination.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage - */ - DetectedLanguage.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage) - return object; - var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage(); - if (object.languageCode != null) - message.languageCode = String(object.languageCode); - if (object.confidence != null) - message.confidence = Number(object.confidence); - return message; - }; + /** + * Verifies a GcsDestination message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GcsDestination.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + return null; + }; - /** - * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} message DetectedLanguage - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DetectedLanguage.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.languageCode = ""; - object.confidence = 0; - } - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - object.languageCode = message.languageCode; - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + /** + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.GcsDestination} GcsDestination + */ + GcsDestination.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.GcsDestination) return object; - }; + var message = new $root.google.cloud.vision.v1p2beta1.GcsDestination(); + if (object.uri != null) + message.uri = String(object.uri); + return message; + }; - /** - * Converts this DetectedLanguage to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage - * @instance - * @returns {Object.} JSON object - */ - DetectedLanguage.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {google.cloud.vision.v1p2beta1.GcsDestination} message GcsDestination + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GcsDestination.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + return object; + }; - return DetectedLanguage; - })(); + /** + * Converts this GcsDestination to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @instance + * @returns {Object.} JSON object + */ + GcsDestination.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - TextAnnotation.DetectedBreak = (function() { + return GcsDestination; + })(); - /** - * Properties of a DetectedBreak. - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation - * @interface IDetectedBreak - * @property {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType|null} [type] DetectedBreak type - * @property {boolean|null} [isPrefix] DetectedBreak isPrefix - */ + v1p2beta1.OperationMetadata = (function() { - /** - * Constructs a new DetectedBreak. - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation - * @classdesc Represents a DetectedBreak. - * @implements IDetectedBreak - * @constructor - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set - */ - function DetectedBreak(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]]; - } + /** + * Properties of an OperationMetadata. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IOperationMetadata + * @property {google.cloud.vision.v1p2beta1.OperationMetadata.State|null} [state] OperationMetadata state + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime + */ - /** - * DetectedBreak type. - * @member {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType} type - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @instance - */ - DetectedBreak.prototype.type = 0; + /** + * Constructs a new OperationMetadata. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.cloud.vision.v1p2beta1.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(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]]; + } - /** - * DetectedBreak isPrefix. - * @member {boolean} isPrefix - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @instance - */ - DetectedBreak.prototype.isPrefix = false; + /** + * OperationMetadata state. + * @member {google.cloud.vision.v1p2beta1.OperationMetadata.State} state + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.state = 0; - /** - * Creates a new DetectedBreak instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak instance - */ - DetectedBreak.create = function create(properties) { - return new DetectedBreak(properties); - }; + /** + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.createTime = null; - /** - * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DetectedBreak.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); - return writer; - }; + /** + * OperationMetadata updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.updateTime = null; - /** - * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DetectedBreak.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p2beta1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; - /** - * Decodes a DetectedBreak message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DetectedBreak.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.isPrefix = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p2beta1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p2beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.createTime != null && message.hasOwnProperty("createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; - /** - * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DetectedBreak.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DetectedBreak message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DetectedBreak.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: - case 3: - case 4: - case 5: - break; - } - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) - if (typeof message.isPrefix !== "boolean") - return "isPrefix: boolean expected"; - return null; - }; - - /** - * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak - */ - DetectedBreak.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak) - return object; - var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak(); - switch (object.type) { - case "UNKNOWN": - case 0: - message.type = 0; - break; - case "SPACE": - case 1: - message.type = 1; - break; - case "SURE_SPACE": - case 2: - message.type = 2; - break; - case "EOL_SURE_SPACE": - case 3: - message.type = 3; - break; - case "HYPHEN": - case 4: - message.type = 4; - break; - case "LINE_BREAK": - case 5: - message.type = 5; - break; - } - if (object.isPrefix != null) - message.isPrefix = Boolean(object.isPrefix); - return message; - }; - - /** - * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} message DetectedBreak - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DetectedBreak.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = options.enums === String ? "UNKNOWN" : 0; - object.isPrefix = false; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) - object.isPrefix = message.isPrefix; - return object; - }; - - /** - * Converts this DetectedBreak to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak - * @instance - * @returns {Object.} JSON object - */ - DetectedBreak.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * BreakType enum. - * @name google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} SPACE=1 SPACE value - * @property {number} SURE_SPACE=2 SURE_SPACE value - * @property {number} EOL_SURE_SPACE=3 EOL_SURE_SPACE value - * @property {number} HYPHEN=4 HYPHEN value - * @property {number} LINE_BREAK=5 LINE_BREAK value - */ - DetectedBreak.BreakType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "SPACE"] = 1; - values[valuesById[2] = "SURE_SPACE"] = 2; - values[valuesById[3] = "EOL_SURE_SPACE"] = 3; - values[valuesById[4] = "HYPHEN"] = 4; - values[valuesById[5] = "LINE_BREAK"] = 5; - return values; - })(); - - return DetectedBreak; - })(); - - TextAnnotation.TextProperty = (function() { - - /** - * Properties of a TextProperty. - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation - * @interface ITextProperty - * @property {Array.|null} [detectedLanguages] TextProperty detectedLanguages - * @property {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak|null} [detectedBreak] TextProperty detectedBreak - */ - - /** - * Constructs a new TextProperty. - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation - * @classdesc Represents a TextProperty. - * @implements ITextProperty - * @constructor - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty=} [properties] Properties to set - */ - function TextProperty(properties) { - this.detectedLanguages = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TextProperty detectedLanguages. - * @member {Array.} detectedLanguages - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @instance - */ - TextProperty.prototype.detectedLanguages = $util.emptyArray; - - /** - * TextProperty detectedBreak. - * @member {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak|null|undefined} detectedBreak - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @instance - */ - TextProperty.prototype.detectedBreak = null; - - /** - * Creates a new TextProperty instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty instance - */ - TextProperty.create = function create(properties) { - return new TextProperty(properties); - }; - - /** - * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TextProperty.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.detectedLanguages != null && message.detectedLanguages.length) - for (var i = 0; i < message.detectedLanguages.length; ++i) - $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) - $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TextProperty.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TextProperty message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TextProperty.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.detectedLanguages && message.detectedLanguages.length)) - message.detectedLanguages = []; - message.detectedLanguages.push($root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); - break; - case 2: - message.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TextProperty message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TextProperty.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TextProperty message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TextProperty.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.detectedLanguages != null && message.hasOwnProperty("detectedLanguages")) { - if (!Array.isArray(message.detectedLanguages)) - return "detectedLanguages: array expected"; - for (var i = 0; i < message.detectedLanguages.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify(message.detectedLanguages[i]); - if (error) - return "detectedLanguages." + error; - } - } - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) { - var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify(message.detectedBreak); - if (error) - return "detectedBreak." + error; - } - return null; - }; - - /** - * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty - */ - TextProperty.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty) - return object; - var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty(); - if (object.detectedLanguages) { - if (!Array.isArray(object.detectedLanguages)) - throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.detectedLanguages: array expected"); - message.detectedLanguages = []; - for (var i = 0; i < object.detectedLanguages.length; ++i) { - if (typeof object.detectedLanguages[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.detectedLanguages: object expected"); - message.detectedLanguages[i] = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.fromObject(object.detectedLanguages[i]); - } - } - if (object.detectedBreak != null) { - if (typeof object.detectedBreak !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.detectedBreak: object expected"); - message.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.fromObject(object.detectedBreak); - } - return message; - }; - - /** - * Creates a plain object from a TextProperty message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @static - * @param {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} message TextProperty - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TextProperty.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.detectedLanguages = []; - if (options.defaults) - object.detectedBreak = null; - if (message.detectedLanguages && message.detectedLanguages.length) { - object.detectedLanguages = []; - for (var j = 0; j < message.detectedLanguages.length; ++j) - object.detectedLanguages[j] = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.toObject(message.detectedLanguages[j], options); - } - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) - object.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.toObject(message.detectedBreak, options); - return object; - }; - - /** - * Converts this TextProperty to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty - * @instance - * @returns {Object.} JSON object - */ - TextProperty.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TextProperty; - })(); - - return TextAnnotation; - })(); - - v1p2beta1.Page = (function() { - - /** - * Properties of a Page. - * @memberof google.cloud.vision.v1p2beta1 - * @interface IPage - * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Page property - * @property {number|null} [width] Page width - * @property {number|null} [height] Page height - * @property {Array.|null} [blocks] Page blocks - * @property {number|null} [confidence] Page confidence - */ - - /** - * Constructs a new Page. - * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a Page. - * @implements IPage - * @constructor - * @param {google.cloud.vision.v1p2beta1.IPage=} [properties] Properties to set - */ - function Page(properties) { - this.blocks = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Page property. - * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property - * @memberof google.cloud.vision.v1p2beta1.Page - * @instance - */ - Page.prototype.property = null; - - /** - * Page width. - * @member {number} width - * @memberof google.cloud.vision.v1p2beta1.Page - * @instance - */ - Page.prototype.width = 0; - - /** - * Page height. - * @member {number} height - * @memberof google.cloud.vision.v1p2beta1.Page - * @instance - */ - Page.prototype.height = 0; - - /** - * Page blocks. - * @member {Array.} blocks - * @memberof google.cloud.vision.v1p2beta1.Page - * @instance - */ - Page.prototype.blocks = $util.emptyArray; - - /** - * Page confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p2beta1.Page - * @instance - */ - Page.prototype.confidence = 0; - - /** - * Creates a new Page instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.Page - * @static - * @param {google.cloud.vision.v1p2beta1.IPage=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Page} Page instance - */ - Page.create = function create(properties) { - return new Page(properties); - }; - - /** - * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Page.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.Page - * @static - * @param {google.cloud.vision.v1p2beta1.IPage} message Page message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Page.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) - $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); - if (message.blocks != null && message.blocks.length) - for (var i = 0; i < message.blocks.length; ++i) - $root.google.cloud.vision.v1p2beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - return writer; - }; - - /** - * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Page.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Page - * @static - * @param {google.cloud.vision.v1p2beta1.IPage} message Page message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Page.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {google.cloud.vision.v1p2beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * Decodes a Page message from the specified reader or buffer. + * Decodes an OperationMetadata message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.Page + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Page} Page + * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Page.decode = function decode(reader, length) { + OperationMetadata.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Page(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.OperationMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.width = reader.int32(); - break; - case 3: - message.height = reader.int32(); - break; - case 4: - if (!(message.blocks && message.blocks.length)) - message.blocks = []; - message.blocks.push($root.google.cloud.vision.v1p2beta1.Block.decode(reader, reader.uint32())); + message.state = reader.int32(); break; case 5: - message.confidence = reader.float(); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -47203,168 +45917,206 @@ }; /** - * Decodes a Page message from the specified reader or buffer, length delimited. + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Page + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Page} Page + * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Page.decodeDelimited = function decodeDelimited(reader) { + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Page message. + * Verifies an OperationMetadata message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.Page + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Page.verify = function verify(message) { + OperationMetadata.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.property != null && message.hasOwnProperty("property")) { - var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); if (error) - return "property." + error; + return "createTime." + error; } - if (message.width != null && message.hasOwnProperty("width")) - if (!$util.isInteger(message.width)) - return "width: integer expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height)) - return "height: integer expected"; - if (message.blocks != null && message.hasOwnProperty("blocks")) { - if (!Array.isArray(message.blocks)) - return "blocks: array expected"; - for (var i = 0; i < message.blocks.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.Block.verify(message.blocks[i]); - if (error) - return "blocks." + error; - } + if (message.updateTime != null && message.hasOwnProperty("updateTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (error) + return "updateTime." + error; } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; return null; }; /** - * Creates a Page message from a plain object. Also converts values to their respective internal types. + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Page + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Page} Page + * @returns {google.cloud.vision.v1p2beta1.OperationMetadata} OperationMetadata */ - Page.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Page) + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.OperationMetadata) return object; - var message = new $root.google.cloud.vision.v1p2beta1.Page(); - if (object.property != null) { - if (typeof object.property !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Page.property: object expected"); - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); + var message = new $root.google.cloud.vision.v1p2beta1.OperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "CREATED": + case 1: + message.state = 1; + break; + case "RUNNING": + case 2: + message.state = 2; + break; + case "DONE": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; } - if (object.width != null) - message.width = object.width | 0; - if (object.height != null) - message.height = object.height | 0; - if (object.blocks) { - if (!Array.isArray(object.blocks)) - throw TypeError(".google.cloud.vision.v1p2beta1.Page.blocks: array expected"); - message.blocks = []; - for (var i = 0; i < object.blocks.length; ++i) { - if (typeof object.blocks[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Page.blocks: object expected"); - message.blocks[i] = $root.google.cloud.vision.v1p2beta1.Block.fromObject(object.blocks[i]); - } + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.OperationMetadata.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); } - if (object.confidence != null) - message.confidence = Number(object.confidence); return message; }; /** - * Creates a plain object from a Page message. Also converts values to other types if specified. + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Page + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata * @static - * @param {google.cloud.vision.v1p2beta1.Page} message Page + * @param {google.cloud.vision.v1p2beta1.OperationMetadata} message OperationMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Page.toObject = function toObject(message, options) { + OperationMetadata.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.blocks = []; if (options.defaults) { - object.property = null; - object.width = 0; - object.height = 0; - object.confidence = 0; - } - if (message.property != null && message.hasOwnProperty("property")) - object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); - if (message.width != null && message.hasOwnProperty("width")) - object.width = message.width; - if (message.height != null && message.hasOwnProperty("height")) - object.height = message.height; - if (message.blocks && message.blocks.length) { - object.blocks = []; - for (var j = 0; j < message.blocks.length; ++j) - object.blocks[j] = $root.google.cloud.vision.v1p2beta1.Block.toObject(message.blocks[j], options); + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.createTime = null; + object.updateTime = null; } - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1p2beta1.OperationMetadata.State[message.state] : message.state; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); return object; }; /** - * Converts this Page to JSON. + * Converts this OperationMetadata to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Page + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata * @instance * @returns {Object.} JSON object */ - Page.prototype.toJSON = function toJSON() { + OperationMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Page; + /** + * State enum. + * @name google.cloud.vision.v1p2beta1.OperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} CREATED=1 CREATED value + * @property {number} RUNNING=2 RUNNING value + * @property {number} DONE=3 DONE value + * @property {number} CANCELLED=4 CANCELLED value + */ + OperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CREATED"] = 1; + values[valuesById[2] = "RUNNING"] = 2; + values[valuesById[3] = "DONE"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return OperationMetadata; })(); - v1p2beta1.Block = (function() { + /** + * Likelihood enum. + * @name google.cloud.vision.v1p2beta1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1p2beta1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1p2beta1.TextAnnotation = (function() { /** - * Properties of a Block. + * Properties of a TextAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @interface IBlock - * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Block property - * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Block boundingBox - * @property {Array.|null} [paragraphs] Block paragraphs - * @property {google.cloud.vision.v1p2beta1.Block.BlockType|null} [blockType] Block blockType - * @property {number|null} [confidence] Block confidence + * @interface ITextAnnotation + * @property {Array.|null} [pages] TextAnnotation pages + * @property {string|null} [text] TextAnnotation text */ /** - * Constructs a new Block. + * Constructs a new TextAnnotation. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a Block. - * @implements IBlock + * @classdesc Represents a TextAnnotation. + * @implements ITextAnnotation * @constructor - * @param {google.cloud.vision.v1p2beta1.IBlock=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.ITextAnnotation=} [properties] Properties to set */ - function Block(properties) { - this.paragraphs = []; + function TextAnnotation(properties) { + this.pages = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47372,130 +46124,91 @@ } /** - * Block property. - * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property - * @memberof google.cloud.vision.v1p2beta1.Block - * @instance - */ - Block.prototype.property = null; - - /** - * Block boundingBox. - * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox - * @memberof google.cloud.vision.v1p2beta1.Block - * @instance - */ - Block.prototype.boundingBox = null; - - /** - * Block paragraphs. - * @member {Array.} paragraphs - * @memberof google.cloud.vision.v1p2beta1.Block - * @instance - */ - Block.prototype.paragraphs = $util.emptyArray; - - /** - * Block blockType. - * @member {google.cloud.vision.v1p2beta1.Block.BlockType} blockType - * @memberof google.cloud.vision.v1p2beta1.Block + * TextAnnotation pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @instance */ - Block.prototype.blockType = 0; + TextAnnotation.prototype.pages = $util.emptyArray; /** - * Block confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p2beta1.Block + * TextAnnotation text. + * @member {string} text + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @instance */ - Block.prototype.confidence = 0; + TextAnnotation.prototype.text = ""; /** - * Creates a new Block instance using the specified properties. + * Creates a new TextAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.Block + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.IBlock=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Block} Block instance + * @param {google.cloud.vision.v1p2beta1.ITextAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation instance */ - Block.create = function create(properties) { - return new Block(properties); + TextAnnotation.create = function create(properties) { + return new TextAnnotation(properties); }; /** - * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Block.verify|verify} messages. + * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.Block + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.IBlock} message Block message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ITextAnnotation} message TextAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Block.encode = function encode(message, writer) { + TextAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) - $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.paragraphs != null && message.paragraphs.length) - for (var i = 0; i < message.paragraphs.length; ++i) - $root.google.cloud.vision.v1p2beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.pages != null && message.pages.length) + for (var i = 0; i < message.pages.length; ++i) + $root.google.cloud.vision.v1p2beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; /** - * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Block.verify|verify} messages. + * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Block + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.IBlock} message Block message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.ITextAnnotation} message TextAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Block.encodeDelimited = function encodeDelimited(message, writer) { + TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Block message from the specified reader or buffer. + * Decodes a TextAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.Block + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Block} Block + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Block.decode = function decode(reader, length) { + TextAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Block(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p2beta1.Page.decode(reader, reader.uint32())); break; case 2: - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.paragraphs && message.paragraphs.length)) - message.paragraphs = []; - message.paragraphs.push($root.google.cloud.vision.v1p2beta1.Paragraph.decode(reader, reader.uint32())); - break; - case 4: - message.blockType = reader.int32(); - break; - case 5: - message.confidence = reader.float(); + message.text = reader.string(); break; default: reader.skipType(tag & 7); @@ -47506,899 +46219,961 @@ }; /** - * Decodes a Block message from the specified reader or buffer, length delimited. + * Decodes a TextAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Block + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Block} Block + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Block.decodeDelimited = function decodeDelimited(reader) { + TextAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Block message. + * Verifies a TextAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.Block + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Block.verify = function verify(message) { + TextAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.property != null && message.hasOwnProperty("property")) { - var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); - if (error) - return "property." + error; - } - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { - var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); - if (error) - return "boundingBox." + error; - } - if (message.paragraphs != null && message.hasOwnProperty("paragraphs")) { - if (!Array.isArray(message.paragraphs)) - return "paragraphs: array expected"; - for (var i = 0; i < message.paragraphs.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.Paragraph.verify(message.paragraphs[i]); + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Page.verify(message.pages[i]); if (error) - return "paragraphs." + error; + return "pages." + error; } } - if (message.blockType != null && message.hasOwnProperty("blockType")) - switch (message.blockType) { - default: - return "blockType: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; return null; }; /** - * Creates a Block message from a plain object. Also converts values to their respective internal types. + * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Block + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Block} Block + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation} TextAnnotation */ - Block.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Block) + TextAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation) return object; - var message = new $root.google.cloud.vision.v1p2beta1.Block(); - if (object.property != null) { - if (typeof object.property !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Block.property: object expected"); - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); - } - if (object.boundingBox != null) { - if (typeof object.boundingBox !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Block.boundingBox: object expected"); - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); - } - if (object.paragraphs) { - if (!Array.isArray(object.paragraphs)) - throw TypeError(".google.cloud.vision.v1p2beta1.Block.paragraphs: array expected"); - message.paragraphs = []; - for (var i = 0; i < object.paragraphs.length; ++i) { - if (typeof object.paragraphs[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Block.paragraphs: object expected"); - message.paragraphs[i] = $root.google.cloud.vision.v1p2beta1.Paragraph.fromObject(object.paragraphs[i]); + var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation(); + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) { + if (typeof object.pages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.pages: object expected"); + message.pages[i] = $root.google.cloud.vision.v1p2beta1.Page.fromObject(object.pages[i]); } } - switch (object.blockType) { - case "UNKNOWN": - case 0: - message.blockType = 0; - break; - case "TEXT": - case 1: - message.blockType = 1; - break; - case "TABLE": - case 2: - message.blockType = 2; - break; - case "PICTURE": - case 3: - message.blockType = 3; - break; - case "RULER": - case 4: - message.blockType = 4; - break; - case "BARCODE": - case 5: - message.blockType = 5; - break; - } - if (object.confidence != null) - message.confidence = Number(object.confidence); + if (object.text != null) + message.text = String(object.text); return message; }; /** - * Creates a plain object from a Block message. Also converts values to other types if specified. + * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Block + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @static - * @param {google.cloud.vision.v1p2beta1.Block} message Block + * @param {google.cloud.vision.v1p2beta1.TextAnnotation} message TextAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Block.toObject = function toObject(message, options) { + TextAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.paragraphs = []; - if (options.defaults) { - object.property = null; - object.boundingBox = null; - object.blockType = options.enums === String ? "UNKNOWN" : 0; - object.confidence = 0; - } - if (message.property != null && message.hasOwnProperty("property")) - object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); - if (message.paragraphs && message.paragraphs.length) { - object.paragraphs = []; - for (var j = 0; j < message.paragraphs.length; ++j) - object.paragraphs[j] = $root.google.cloud.vision.v1p2beta1.Paragraph.toObject(message.paragraphs[j], options); + object.pages = []; + if (options.defaults) + object.text = ""; + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = $root.google.cloud.vision.v1p2beta1.Page.toObject(message.pages[j], options); } - if (message.blockType != null && message.hasOwnProperty("blockType")) - object.blockType = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Block.BlockType[message.blockType] : message.blockType; - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; return object; }; /** - * Converts this Block to JSON. + * Converts this TextAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Block + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation * @instance * @returns {Object.} JSON object */ - Block.prototype.toJSON = function toJSON() { + TextAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * BlockType enum. - * @name google.cloud.vision.v1p2beta1.Block.BlockType - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} TEXT=1 TEXT value - * @property {number} TABLE=2 TABLE value - * @property {number} PICTURE=3 PICTURE value - * @property {number} RULER=4 RULER value - * @property {number} BARCODE=5 BARCODE value - */ - Block.BlockType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "TEXT"] = 1; - values[valuesById[2] = "TABLE"] = 2; - values[valuesById[3] = "PICTURE"] = 3; - values[valuesById[4] = "RULER"] = 4; - values[valuesById[5] = "BARCODE"] = 5; - return values; - })(); + TextAnnotation.DetectedLanguage = (function() { - return Block; - })(); + /** + * Properties of a DetectedLanguage. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @interface IDetectedLanguage + * @property {string|null} [languageCode] DetectedLanguage languageCode + * @property {number|null} [confidence] DetectedLanguage confidence + */ - v1p2beta1.Paragraph = (function() { + /** + * Constructs a new DetectedLanguage. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @classdesc Represents a DetectedLanguage. + * @implements IDetectedLanguage + * @constructor + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + */ + function DetectedLanguage(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]]; + } - /** - * Properties of a Paragraph. - * @memberof google.cloud.vision.v1p2beta1 - * @interface IParagraph - * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Paragraph property - * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Paragraph boundingBox - * @property {Array.|null} [words] Paragraph words - * @property {number|null} [confidence] Paragraph confidence - */ + /** + * DetectedLanguage languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.languageCode = ""; - /** - * Constructs a new Paragraph. - * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a Paragraph. - * @implements IParagraph - * @constructor - * @param {google.cloud.vision.v1p2beta1.IParagraph=} [properties] Properties to set - */ - function Paragraph(properties) { - this.words = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + /** + * DetectedLanguage confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @instance + */ + DetectedLanguage.prototype.confidence = 0; - /** - * Paragraph property. - * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @instance - */ - Paragraph.prototype.property = null; + /** + * Creates a new DetectedLanguage instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage instance + */ + DetectedLanguage.create = function create(properties) { + return new DetectedLanguage(properties); + }; - /** - * Paragraph boundingBox. - * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @instance - */ - Paragraph.prototype.boundingBox = null; + /** + * Encodes the specified DetectedLanguage message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + return writer; + }; - /** - * Paragraph words. - * @member {Array.} words - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @instance - */ - Paragraph.prototype.words = $util.emptyArray; + /** + * Encodes the specified DetectedLanguage message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedLanguage} message DetectedLanguage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedLanguage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Paragraph confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @instance - */ - Paragraph.prototype.confidence = 0; + /** + * Decodes a DetectedLanguage message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.languageCode = reader.string(); + break; + case 2: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Creates a new Paragraph instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @static - * @param {google.cloud.vision.v1p2beta1.IParagraph=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph instance - */ - Paragraph.create = function create(properties) { - return new Paragraph(properties); - }; + /** + * Decodes a DetectedLanguage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedLanguage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Paragraph.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @static - * @param {google.cloud.vision.v1p2beta1.IParagraph} message Paragraph message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Paragraph.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) - $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.words != null && message.words.length) - for (var i = 0; i < message.words.length; ++i) - $root.google.cloud.vision.v1p2beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); - return writer; - }; + /** + * Verifies a DetectedLanguage message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedLanguage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; - /** - * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Paragraph.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @static - * @param {google.cloud.vision.v1p2beta1.IParagraph} message Paragraph message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Paragraph.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a DetectedLanguage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} DetectedLanguage + */ + DetectedLanguage.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage(); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; - /** - * Decodes a Paragraph message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Paragraph.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Paragraph(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.words && message.words.length)) - message.words = []; - message.words.push($root.google.cloud.vision.v1p2beta1.Word.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; - default: - reader.skipType(tag & 7); - break; + /** + * Creates a plain object from a DetectedLanguage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage} message DetectedLanguage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedLanguage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.languageCode = ""; + object.confidence = 0; } - } - return message; - }; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; - /** - * Decodes a Paragraph message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Paragraph.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Converts this DetectedLanguage to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @instance + * @returns {Object.} JSON object + */ + DetectedLanguage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Verifies a Paragraph message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Paragraph.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.property != null && message.hasOwnProperty("property")) { - var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); - if (error) - return "property." + error; - } - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { - var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); - if (error) - return "boundingBox." + error; - } - if (message.words != null && message.hasOwnProperty("words")) { - if (!Array.isArray(message.words)) - return "words: array expected"; - for (var i = 0; i < message.words.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.Word.verify(message.words[i]); - if (error) - return "words." + error; - } - } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - return null; - }; + return DetectedLanguage; + })(); - /** - * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph - */ - Paragraph.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Paragraph) - return object; - var message = new $root.google.cloud.vision.v1p2beta1.Paragraph(); - if (object.property != null) { - if (typeof object.property !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.property: object expected"); - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); - } - if (object.boundingBox != null) { - if (typeof object.boundingBox !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.boundingBox: object expected"); - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); - } - if (object.words) { - if (!Array.isArray(object.words)) - throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.words: array expected"); - message.words = []; - for (var i = 0; i < object.words.length; ++i) { - if (typeof object.words[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.words: object expected"); - message.words[i] = $root.google.cloud.vision.v1p2beta1.Word.fromObject(object.words[i]); - } - } - if (object.confidence != null) - message.confidence = Number(object.confidence); - return message; - }; + TextAnnotation.DetectedBreak = (function() { - /** - * Creates a plain object from a Paragraph message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @static - * @param {google.cloud.vision.v1p2beta1.Paragraph} message Paragraph - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Paragraph.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.words = []; - if (options.defaults) { - object.property = null; - object.boundingBox = null; - object.confidence = 0; - } - if (message.property != null && message.hasOwnProperty("property")) - object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); - if (message.words && message.words.length) { - object.words = []; - for (var j = 0; j < message.words.length; ++j) - object.words[j] = $root.google.cloud.vision.v1p2beta1.Word.toObject(message.words[j], options); - } - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - return object; - }; + /** + * Properties of a DetectedBreak. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @interface IDetectedBreak + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType|null} [type] DetectedBreak type + * @property {boolean|null} [isPrefix] DetectedBreak isPrefix + */ - /** - * Converts this Paragraph to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Paragraph - * @instance - * @returns {Object.} JSON object - */ - Paragraph.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Constructs a new DetectedBreak. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @classdesc Represents a DetectedBreak. + * @implements IDetectedBreak + * @constructor + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + */ + function DetectedBreak(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]]; + } - return Paragraph; - })(); + /** + * DetectedBreak type. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType} type + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.type = 0; - v1p2beta1.Word = (function() { + /** + * DetectedBreak isPrefix. + * @member {boolean} isPrefix + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @instance + */ + DetectedBreak.prototype.isPrefix = false; - /** - * Properties of a Word. - * @memberof google.cloud.vision.v1p2beta1 - * @interface IWord - * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Word property - * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Word boundingBox - * @property {Array.|null} [symbols] Word symbols - * @property {number|null} [confidence] Word confidence - */ - - /** - * Constructs a new Word. - * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a Word. - * @implements IWord - * @constructor - * @param {google.cloud.vision.v1p2beta1.IWord=} [properties] Properties to set - */ - function Word(properties) { - this.symbols = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Word property. - * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property - * @memberof google.cloud.vision.v1p2beta1.Word - * @instance - */ - Word.prototype.property = null; - - /** - * Word boundingBox. - * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox - * @memberof google.cloud.vision.v1p2beta1.Word - * @instance - */ - Word.prototype.boundingBox = null; + /** + * Creates a new DetectedBreak instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak instance + */ + DetectedBreak.create = function create(properties) { + return new DetectedBreak(properties); + }; - /** - * Word symbols. - * @member {Array.} symbols - * @memberof google.cloud.vision.v1p2beta1.Word - * @instance - */ - Word.prototype.symbols = $util.emptyArray; + /** + * Encodes the specified DetectedBreak message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); + return writer; + }; - /** - * Word confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p2beta1.Word - * @instance - */ - Word.prototype.confidence = 0; + /** + * Encodes the specified DetectedBreak message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak} message DetectedBreak message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DetectedBreak.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a new Word instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.Word - * @static - * @param {google.cloud.vision.v1p2beta1.IWord=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Word} Word instance - */ - Word.create = function create(properties) { - return new Word(properties); - }; + /** + * Decodes a DetectedBreak message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32(); + break; + case 2: + message.isPrefix = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Word.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.Word - * @static - * @param {google.cloud.vision.v1p2beta1.IWord} message Word message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Word.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) - $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.symbols != null && message.symbols.length) - for (var i = 0; i < message.symbols.length; ++i) - $root.google.cloud.vision.v1p2beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); - return writer; - }; + /** + * Decodes a DetectedBreak message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DetectedBreak.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Word.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Word - * @static - * @param {google.cloud.vision.v1p2beta1.IWord} message Word message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Word.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Verifies a DetectedBreak message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DetectedBreak.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: + case 3: + case 4: + case 5: + break; + } + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (typeof message.isPrefix !== "boolean") + return "isPrefix: boolean expected"; + return null; + }; - /** - * Decodes a Word message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p2beta1.Word - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Word} Word - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Word.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Word(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { + /** + * Creates a DetectedBreak message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} DetectedBreak + */ + DetectedBreak.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak(); + switch (object.type) { + case "UNKNOWN": + case 0: + message.type = 0; + break; + case "SPACE": case 1: - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + message.type = 1; break; + case "SURE_SPACE": case 2: - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + message.type = 2; break; + case "EOL_SURE_SPACE": case 3: - if (!(message.symbols && message.symbols.length)) - message.symbols = []; - message.symbols.push($root.google.cloud.vision.v1p2beta1.Symbol.decode(reader, reader.uint32())); + message.type = 3; break; + case "HYPHEN": case 4: - message.confidence = reader.float(); + message.type = 4; break; - default: - reader.skipType(tag & 7); + case "LINE_BREAK": + case 5: + message.type = 5; break; } - } - return message; - }; - - /** - * Decodes a Word message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Word - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Word} Word - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Word.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + if (object.isPrefix != null) + message.isPrefix = Boolean(object.isPrefix); + return message; + }; - /** - * Verifies a Word message. - * @function verify - * @memberof google.cloud.vision.v1p2beta1.Word - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Word.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.property != null && message.hasOwnProperty("property")) { - var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); - if (error) - return "property." + error; - } - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { - var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); - if (error) - return "boundingBox." + error; - } - if (message.symbols != null && message.hasOwnProperty("symbols")) { - if (!Array.isArray(message.symbols)) - return "symbols: array expected"; - for (var i = 0; i < message.symbols.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.Symbol.verify(message.symbols[i]); - if (error) - return "symbols." + error; + /** + * Creates a plain object from a DetectedBreak message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak} message DetectedBreak + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DetectedBreak.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN" : 0; + object.isPrefix = false; } - } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - return null; - }; - - /** - * Creates a Word message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Word - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Word} Word - */ - Word.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Word) + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + object.isPrefix = message.isPrefix; return object; - var message = new $root.google.cloud.vision.v1p2beta1.Word(); - if (object.property != null) { - if (typeof object.property !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Word.property: object expected"); - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); - } - if (object.boundingBox != null) { - if (typeof object.boundingBox !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Word.boundingBox: object expected"); - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); - } - if (object.symbols) { - if (!Array.isArray(object.symbols)) - throw TypeError(".google.cloud.vision.v1p2beta1.Word.symbols: array expected"); - message.symbols = []; - for (var i = 0; i < object.symbols.length; ++i) { - if (typeof object.symbols[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Word.symbols: object expected"); - message.symbols[i] = $root.google.cloud.vision.v1p2beta1.Symbol.fromObject(object.symbols[i]); - } - } - if (object.confidence != null) - message.confidence = Number(object.confidence); - return message; - }; - - /** - * Creates a plain object from a Word message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Word - * @static - * @param {google.cloud.vision.v1p2beta1.Word} message Word - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Word.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.symbols = []; - if (options.defaults) { - object.property = null; - object.boundingBox = null; - object.confidence = 0; - } - if (message.property != null && message.hasOwnProperty("property")) - object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); - if (message.symbols && message.symbols.length) { - object.symbols = []; - for (var j = 0; j < message.symbols.length; ++j) - object.symbols[j] = $root.google.cloud.vision.v1p2beta1.Symbol.toObject(message.symbols[j], options); - } - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - return object; - }; + }; - /** - * Converts this Word to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Word - * @instance - * @returns {Object.} JSON object - */ - Word.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this DetectedBreak to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @instance + * @returns {Object.} JSON object + */ + DetectedBreak.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return Word; - })(); + /** + * BreakType enum. + * @name google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} SPACE=1 SPACE value + * @property {number} SURE_SPACE=2 SURE_SPACE value + * @property {number} EOL_SURE_SPACE=3 EOL_SURE_SPACE value + * @property {number} HYPHEN=4 HYPHEN value + * @property {number} LINE_BREAK=5 LINE_BREAK value + */ + DetectedBreak.BreakType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "SPACE"] = 1; + values[valuesById[2] = "SURE_SPACE"] = 2; + values[valuesById[3] = "EOL_SURE_SPACE"] = 3; + values[valuesById[4] = "HYPHEN"] = 4; + values[valuesById[5] = "LINE_BREAK"] = 5; + return values; + })(); - v1p2beta1.Symbol = (function() { + return DetectedBreak; + })(); - /** - * Properties of a Symbol. - * @memberof google.cloud.vision.v1p2beta1 - * @interface ISymbol - * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Symbol property - * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Symbol boundingBox - * @property {string|null} [text] Symbol text - * @property {number|null} [confidence] Symbol confidence - */ + TextAnnotation.TextProperty = (function() { - /** - * Constructs a new Symbol. - * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a Symbol. - * @implements ISymbol - * @constructor - * @param {google.cloud.vision.v1p2beta1.ISymbol=} [properties] Properties to set - */ - function Symbol(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]]; - } + /** + * Properties of a TextProperty. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @interface ITextProperty + * @property {Array.|null} [detectedLanguages] TextProperty detectedLanguages + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak|null} [detectedBreak] TextProperty detectedBreak + */ - /** - * Symbol property. - * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property - * @memberof google.cloud.vision.v1p2beta1.Symbol - * @instance - */ - Symbol.prototype.property = null; + /** + * Constructs a new TextProperty. + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @classdesc Represents a TextProperty. + * @implements ITextProperty + * @constructor + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + */ + function TextProperty(properties) { + this.detectedLanguages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * Symbol boundingBox. - * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox - * @memberof google.cloud.vision.v1p2beta1.Symbol + /** + * TextProperty detectedLanguages. + * @member {Array.} detectedLanguages + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedLanguages = $util.emptyArray; + + /** + * TextProperty detectedBreak. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.IDetectedBreak|null|undefined} detectedBreak + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @instance + */ + TextProperty.prototype.detectedBreak = null; + + /** + * Creates a new TextProperty instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty instance + */ + TextProperty.create = function create(properties) { + return new TextProperty(properties); + }; + + /** + * Encodes the specified TextProperty message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.detectedLanguages != null && message.detectedLanguages.length) + for (var i = 0; i < message.detectedLanguages.length; ++i) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TextProperty message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty} message TextProperty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextProperty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + case 2: + message.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextProperty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextProperty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextProperty message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextProperty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.detectedLanguages != null && message.hasOwnProperty("detectedLanguages")) { + if (!Array.isArray(message.detectedLanguages)) + return "detectedLanguages: array expected"; + for (var i = 0; i < message.detectedLanguages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.verify(message.detectedLanguages[i]); + if (error) + return "detectedLanguages." + error; + } + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.verify(message.detectedBreak); + if (error) + return "detectedBreak." + error; + } + return null; + }; + + /** + * Creates a TextProperty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} TextProperty + */ + TextProperty.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty(); + if (object.detectedLanguages) { + if (!Array.isArray(object.detectedLanguages)) + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.detectedLanguages: array expected"); + message.detectedLanguages = []; + for (var i = 0; i < object.detectedLanguages.length; ++i) { + if (typeof object.detectedLanguages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.detectedLanguages: object expected"); + message.detectedLanguages[i] = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.fromObject(object.detectedLanguages[i]); + } + } + if (object.detectedBreak != null) { + if (typeof object.detectedBreak !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.detectedBreak: object expected"); + message.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.fromObject(object.detectedBreak); + } + return message; + }; + + /** + * Creates a plain object from a TextProperty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty} message TextProperty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextProperty.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.detectedLanguages = []; + if (options.defaults) + object.detectedBreak = null; + if (message.detectedLanguages && message.detectedLanguages.length) { + object.detectedLanguages = []; + for (var j = 0; j < message.detectedLanguages.length; ++j) + object.detectedLanguages[j] = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.toObject(message.detectedLanguages[j], options); + } + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + object.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.toObject(message.detectedBreak, options); + return object; + }; + + /** + * Converts this TextProperty to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @instance + * @returns {Object.} JSON object + */ + TextProperty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextProperty; + })(); + + return TextAnnotation; + })(); + + v1p2beta1.Page = (function() { + + /** + * Properties of a Page. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IPage + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Page property + * @property {number|null} [width] Page width + * @property {number|null} [height] Page height + * @property {Array.|null} [blocks] Page blocks + * @property {number|null} [confidence] Page confidence + */ + + /** + * Constructs a new Page. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Page. + * @implements IPage + * @constructor + * @param {google.cloud.vision.v1p2beta1.IPage=} [properties] Properties to set + */ + function Page(properties) { + this.blocks = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Page property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Page * @instance */ - Symbol.prototype.boundingBox = null; + Page.prototype.property = null; /** - * Symbol text. - * @member {string} text - * @memberof google.cloud.vision.v1p2beta1.Symbol + * Page width. + * @member {number} width + * @memberof google.cloud.vision.v1p2beta1.Page * @instance */ - Symbol.prototype.text = ""; + Page.prototype.width = 0; /** - * Symbol confidence. + * Page height. + * @member {number} height + * @memberof google.cloud.vision.v1p2beta1.Page + * @instance + */ + Page.prototype.height = 0; + + /** + * Page blocks. + * @member {Array.} blocks + * @memberof google.cloud.vision.v1p2beta1.Page + * @instance + */ + Page.prototype.blocks = $util.emptyArray; + + /** + * Page confidence. * @member {number} confidence - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @instance */ - Symbol.prototype.confidence = 0; + Page.prototype.confidence = 0; /** - * Creates a new Symbol instance using the specified properties. + * Creates a new Page instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @static - * @param {google.cloud.vision.v1p2beta1.ISymbol=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol instance + * @param {google.cloud.vision.v1p2beta1.IPage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Page} Page instance */ - Symbol.create = function create(properties) { - return new Symbol(properties); + Page.create = function create(properties) { + return new Page(properties); }; /** - * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Symbol.verify|verify} messages. + * Encodes the specified Page message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Page.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @static - * @param {google.cloud.vision.v1p2beta1.ISymbol} message Symbol message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IPage} message Page message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Symbol.encode = function encode(message, writer) { + Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); + if (message.width != null && message.hasOwnProperty("width")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); + if (message.height != null && message.hasOwnProperty("height")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); + if (message.blocks != null && message.blocks.length) + for (var i = 0; i < message.blocks.length; ++i) + $root.google.cloud.vision.v1p2beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; /** - * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Symbol.verify|verify} messages. + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Page.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @static - * @param {google.cloud.vision.v1p2beta1.ISymbol} message Symbol message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IPage} message Page message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Symbol.encodeDelimited = function encodeDelimited(message, writer) { + Page.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Symbol message from the specified reader or buffer. + * Decodes a Page message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol + * @returns {google.cloud.vision.v1p2beta1.Page} Page * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Symbol.decode = function decode(reader, length) { + Page.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Symbol(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Page(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -48406,12 +47181,17 @@ message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); break; case 2: - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + message.width = reader.int32(); break; case 3: - message.text = reader.string(); + message.height = reader.int32(); break; case 4: + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1p2beta1.Block.decode(reader, reader.uint32())); + break; + case 5: message.confidence = reader.float(); break; default: @@ -48423,30 +47203,30 @@ }; /** - * Decodes a Symbol message from the specified reader or buffer, length delimited. + * Decodes a Page message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol + * @returns {google.cloud.vision.v1p2beta1.Page} Page * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Symbol.decodeDelimited = function decodeDelimited(reader) { + Page.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Symbol message. + * Verifies a Page message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Symbol.verify = function verify(message) { + Page.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.property != null && message.hasOwnProperty("property")) { @@ -48454,14 +47234,21 @@ if (error) return "property." + error; } - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { - var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); - if (error) - return "boundingBox." + error; + if (message.width != null && message.hasOwnProperty("width")) + if (!$util.isInteger(message.width)) + return "width: integer expected"; + if (message.height != null && message.hasOwnProperty("height")) + if (!$util.isInteger(message.height)) + return "height: integer expected"; + if (message.blocks != null && message.hasOwnProperty("blocks")) { + if (!Array.isArray(message.blocks)) + return "blocks: array expected"; + for (var i = 0; i < message.blocks.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Block.verify(message.blocks[i]); + if (error) + return "blocks." + error; + } } - if (message.text != null && message.hasOwnProperty("text")) - if (!$util.isString(message.text)) - return "text: string expected"; if (message.confidence != null && message.hasOwnProperty("confidence")) if (typeof message.confidence !== "number") return "confidence: number expected"; @@ -48469,107 +47256,115 @@ }; /** - * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * Creates a Page message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol + * @returns {google.cloud.vision.v1p2beta1.Page} Page */ - Symbol.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.Symbol) + Page.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Page) return object; - var message = new $root.google.cloud.vision.v1p2beta1.Symbol(); + var message = new $root.google.cloud.vision.v1p2beta1.Page(); if (object.property != null) { if (typeof object.property !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Symbol.property: object expected"); + throw TypeError(".google.cloud.vision.v1p2beta1.Page.property: object expected"); message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); } - if (object.boundingBox != null) { - if (typeof object.boundingBox !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.Symbol.boundingBox: object expected"); - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); + if (object.width != null) + message.width = object.width | 0; + if (object.height != null) + message.height = object.height | 0; + if (object.blocks) { + if (!Array.isArray(object.blocks)) + throw TypeError(".google.cloud.vision.v1p2beta1.Page.blocks: array expected"); + message.blocks = []; + for (var i = 0; i < object.blocks.length; ++i) { + if (typeof object.blocks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Page.blocks: object expected"); + message.blocks[i] = $root.google.cloud.vision.v1p2beta1.Block.fromObject(object.blocks[i]); + } } - if (object.text != null) - message.text = String(object.text); if (object.confidence != null) message.confidence = Number(object.confidence); return message; }; /** - * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * Creates a plain object from a Page message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @static - * @param {google.cloud.vision.v1p2beta1.Symbol} message Symbol + * @param {google.cloud.vision.v1p2beta1.Page} message Page * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Symbol.toObject = function toObject(message, options) { + Page.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.blocks = []; if (options.defaults) { object.property = null; - object.boundingBox = null; - object.text = ""; + object.width = 0; + object.height = 0; object.confidence = 0; } if (message.property != null && message.hasOwnProperty("property")) object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) - object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); - if (message.text != null && message.hasOwnProperty("text")) - object.text = message.text; + if (message.width != null && message.hasOwnProperty("width")) + object.width = message.width; + if (message.height != null && message.hasOwnProperty("height")) + object.height = message.height; + if (message.blocks && message.blocks.length) { + object.blocks = []; + for (var j = 0; j < message.blocks.length; ++j) + object.blocks[j] = $root.google.cloud.vision.v1p2beta1.Block.toObject(message.blocks[j], options); + } if (message.confidence != null && message.hasOwnProperty("confidence")) object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; }; /** - * Converts this Symbol to JSON. + * Converts this Page to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.Symbol + * @memberof google.cloud.vision.v1p2beta1.Page * @instance * @returns {Object.} JSON object */ - Symbol.prototype.toJSON = function toJSON() { + Page.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Symbol; + return Page; })(); - v1p2beta1.WebDetection = (function() { + v1p2beta1.Block = (function() { /** - * Properties of a WebDetection. + * Properties of a Block. * @memberof google.cloud.vision.v1p2beta1 - * @interface IWebDetection - * @property {Array.|null} [webEntities] WebDetection webEntities - * @property {Array.|null} [fullMatchingImages] WebDetection fullMatchingImages - * @property {Array.|null} [partialMatchingImages] WebDetection partialMatchingImages - * @property {Array.|null} [pagesWithMatchingImages] WebDetection pagesWithMatchingImages - * @property {Array.|null} [visuallySimilarImages] WebDetection visuallySimilarImages - * @property {Array.|null} [bestGuessLabels] WebDetection bestGuessLabels + * @interface IBlock + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Block property + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Block boundingBox + * @property {Array.|null} [paragraphs] Block paragraphs + * @property {google.cloud.vision.v1p2beta1.Block.BlockType|null} [blockType] Block blockType + * @property {number|null} [confidence] Block confidence */ /** - * Constructs a new WebDetection. + * Constructs a new Block. * @memberof google.cloud.vision.v1p2beta1 - * @classdesc Represents a WebDetection. - * @implements IWebDetection + * @classdesc Represents a Block. + * @implements IBlock * @constructor - * @param {google.cloud.vision.v1p2beta1.IWebDetection=} [properties] Properties to set + * @param {google.cloud.vision.v1p2beta1.IBlock=} [properties] Properties to set */ - function WebDetection(properties) { - this.webEntities = []; - this.fullMatchingImages = []; - this.partialMatchingImages = []; - this.pagesWithMatchingImages = []; - this.visuallySimilarImages = []; - this.bestGuessLabels = []; + function Block(properties) { + this.paragraphs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -48577,158 +47372,130 @@ } /** - * WebDetection webEntities. - * @member {Array.} webEntities - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * Block property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Block * @instance */ - WebDetection.prototype.webEntities = $util.emptyArray; + Block.prototype.property = null; /** - * WebDetection fullMatchingImages. - * @member {Array.} fullMatchingImages - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * Block boundingBox. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p2beta1.Block * @instance */ - WebDetection.prototype.fullMatchingImages = $util.emptyArray; + Block.prototype.boundingBox = null; /** - * WebDetection partialMatchingImages. - * @member {Array.} partialMatchingImages - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * Block paragraphs. + * @member {Array.} paragraphs + * @memberof google.cloud.vision.v1p2beta1.Block * @instance */ - WebDetection.prototype.partialMatchingImages = $util.emptyArray; + Block.prototype.paragraphs = $util.emptyArray; /** - * WebDetection pagesWithMatchingImages. - * @member {Array.} pagesWithMatchingImages - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * Block blockType. + * @member {google.cloud.vision.v1p2beta1.Block.BlockType} blockType + * @memberof google.cloud.vision.v1p2beta1.Block * @instance */ - WebDetection.prototype.pagesWithMatchingImages = $util.emptyArray; + Block.prototype.blockType = 0; /** - * WebDetection visuallySimilarImages. - * @member {Array.} visuallySimilarImages - * @memberof google.cloud.vision.v1p2beta1.WebDetection - * @instance - */ - WebDetection.prototype.visuallySimilarImages = $util.emptyArray; - - /** - * WebDetection bestGuessLabels. - * @member {Array.} bestGuessLabels - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * Block confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.Block * @instance */ - WebDetection.prototype.bestGuessLabels = $util.emptyArray; + Block.prototype.confidence = 0; /** - * Creates a new WebDetection instance using the specified properties. + * Creates a new Block instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @memberof google.cloud.vision.v1p2beta1.Block * @static - * @param {google.cloud.vision.v1p2beta1.IWebDetection=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection instance + * @param {google.cloud.vision.v1p2beta1.IBlock=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Block} Block instance */ - WebDetection.create = function create(properties) { - return new WebDetection(properties); + Block.create = function create(properties) { + return new Block(properties); }; /** - * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.verify|verify} messages. + * Encodes the specified Block message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Block.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @memberof google.cloud.vision.v1p2beta1.Block * @static - * @param {google.cloud.vision.v1p2beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IBlock} message Block message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetection.encode = function encode(message, writer) { + Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.webEntities != null && message.webEntities.length) - for (var i = 0; i < message.webEntities.length; ++i) - $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.encode(message.webEntities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fullMatchingImages != null && message.fullMatchingImages.length) - for (var i = 0; i < message.fullMatchingImages.length; ++i) - $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.partialMatchingImages != null && message.partialMatchingImages.length) - for (var i = 0; i < message.partialMatchingImages.length; ++i) - $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.pagesWithMatchingImages != null && message.pagesWithMatchingImages.length) - for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) - $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.encode(message.pagesWithMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.visuallySimilarImages != null && message.visuallySimilarImages.length) - for (var i = 0; i < message.visuallySimilarImages.length; ++i) - $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.visuallySimilarImages[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.bestGuessLabels != null && message.bestGuessLabels.length) - for (var i = 0; i < message.bestGuessLabels.length; ++i) - $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.encode(message.bestGuessLabels[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.paragraphs != null && message.paragraphs.length) + for (var i = 0; i < message.paragraphs.length; ++i) + $root.google.cloud.vision.v1p2beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.blockType != null && message.hasOwnProperty("blockType")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; /** - * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.verify|verify} messages. + * Encodes the specified Block message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Block.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @memberof google.cloud.vision.v1p2beta1.Block * @static - * @param {google.cloud.vision.v1p2beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {google.cloud.vision.v1p2beta1.IBlock} message Block message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetection.encodeDelimited = function encodeDelimited(message, writer) { + Block.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WebDetection message from the specified reader or buffer. + * Decodes a Block message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @memberof google.cloud.vision.v1p2beta1.Block * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection + * @returns {google.cloud.vision.v1p2beta1.Block} Block * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetection.decode = function decode(reader, length) { + Block.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetection(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Block(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.webEntities && message.webEntities.length)) - message.webEntities = []; - message.webEntities.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); break; case 2: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); break; case 3: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1p2beta1.Paragraph.decode(reader, reader.uint32())); break; case 4: - if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) - message.pagesWithMatchingImages = []; - message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) - message.visuallySimilarImages = []; - message.visuallySimilarImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + message.blockType = reader.int32(); break; - case 8: - if (!(message.bestGuessLabels && message.bestGuessLabels.length)) - message.bestGuessLabels = []; - message.bestGuessLabels.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + case 5: + message.confidence = reader.float(); break; default: reader.skipType(tag & 7); @@ -48739,308 +47506,1541 @@ }; /** - * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * Decodes a Block message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @memberof google.cloud.vision.v1p2beta1.Block * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection + * @returns {google.cloud.vision.v1p2beta1.Block} Block * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetection.decodeDelimited = function decodeDelimited(reader) { + Block.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WebDetection message. + * Verifies a Block message. * @function verify - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @memberof google.cloud.vision.v1p2beta1.Block * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WebDetection.verify = function verify(message) { + Block.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.webEntities != null && message.hasOwnProperty("webEntities")) { - if (!Array.isArray(message.webEntities)) - return "webEntities: array expected"; - for (var i = 0; i < message.webEntities.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.verify(message.webEntities[i]); - if (error) - return "webEntities." + error; - } - } - if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { - if (!Array.isArray(message.fullMatchingImages)) - return "fullMatchingImages: array expected"; - for (var i = 0; i < message.fullMatchingImages.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); - if (error) - return "fullMatchingImages." + error; - } - } - if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { - if (!Array.isArray(message.partialMatchingImages)) - return "partialMatchingImages: array expected"; - for (var i = 0; i < message.partialMatchingImages.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); - if (error) - return "partialMatchingImages." + error; - } + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; } - if (message.pagesWithMatchingImages != null && message.hasOwnProperty("pagesWithMatchingImages")) { - if (!Array.isArray(message.pagesWithMatchingImages)) - return "pagesWithMatchingImages: array expected"; - for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.verify(message.pagesWithMatchingImages[i]); - if (error) - return "pagesWithMatchingImages." + error; - } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; } - if (message.visuallySimilarImages != null && message.hasOwnProperty("visuallySimilarImages")) { - if (!Array.isArray(message.visuallySimilarImages)) - return "visuallySimilarImages: array expected"; - for (var i = 0; i < message.visuallySimilarImages.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.visuallySimilarImages[i]); + if (message.paragraphs != null && message.hasOwnProperty("paragraphs")) { + if (!Array.isArray(message.paragraphs)) + return "paragraphs: array expected"; + for (var i = 0; i < message.paragraphs.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Paragraph.verify(message.paragraphs[i]); if (error) - return "visuallySimilarImages." + error; + return "paragraphs." + error; } } - if (message.bestGuessLabels != null && message.hasOwnProperty("bestGuessLabels")) { - if (!Array.isArray(message.bestGuessLabels)) - return "bestGuessLabels: array expected"; - for (var i = 0; i < message.bestGuessLabels.length; ++i) { - var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.verify(message.bestGuessLabels[i]); - if (error) - return "bestGuessLabels." + error; + if (message.blockType != null && message.hasOwnProperty("blockType")) + switch (message.blockType) { + default: + return "blockType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; } - } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; return null; }; /** - * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * Creates a Block message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @memberof google.cloud.vision.v1p2beta1.Block * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection + * @returns {google.cloud.vision.v1p2beta1.Block} Block */ - WebDetection.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetection) + Block.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Block) return object; - var message = new $root.google.cloud.vision.v1p2beta1.WebDetection(); - if (object.webEntities) { - if (!Array.isArray(object.webEntities)) - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.webEntities: array expected"); - message.webEntities = []; - for (var i = 0; i < object.webEntities.length; ++i) { - if (typeof object.webEntities[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.webEntities: object expected"); - message.webEntities[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.fromObject(object.webEntities[i]); - } - } - if (object.fullMatchingImages) { - if (!Array.isArray(object.fullMatchingImages)) - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.fullMatchingImages: array expected"); - message.fullMatchingImages = []; - for (var i = 0; i < object.fullMatchingImages.length; ++i) { - if (typeof object.fullMatchingImages[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.fullMatchingImages: object expected"); - message.fullMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); - } - } - if (object.partialMatchingImages) { - if (!Array.isArray(object.partialMatchingImages)) - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.partialMatchingImages: array expected"); - message.partialMatchingImages = []; - for (var i = 0; i < object.partialMatchingImages.length; ++i) { - if (typeof object.partialMatchingImages[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.partialMatchingImages: object expected"); - message.partialMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); - } + var message = new $root.google.cloud.vision.v1p2beta1.Block(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Block.property: object expected"); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); } - if (object.pagesWithMatchingImages) { - if (!Array.isArray(object.pagesWithMatchingImages)) - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.pagesWithMatchingImages: array expected"); - message.pagesWithMatchingImages = []; - for (var i = 0; i < object.pagesWithMatchingImages.length; ++i) { - if (typeof object.pagesWithMatchingImages[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.pagesWithMatchingImages: object expected"); - message.pagesWithMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.fromObject(object.pagesWithMatchingImages[i]); - } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Block.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); } - if (object.visuallySimilarImages) { - if (!Array.isArray(object.visuallySimilarImages)) - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.visuallySimilarImages: array expected"); - message.visuallySimilarImages = []; - for (var i = 0; i < object.visuallySimilarImages.length; ++i) { - if (typeof object.visuallySimilarImages[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.visuallySimilarImages: object expected"); - message.visuallySimilarImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.visuallySimilarImages[i]); + if (object.paragraphs) { + if (!Array.isArray(object.paragraphs)) + throw TypeError(".google.cloud.vision.v1p2beta1.Block.paragraphs: array expected"); + message.paragraphs = []; + for (var i = 0; i < object.paragraphs.length; ++i) { + if (typeof object.paragraphs[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Block.paragraphs: object expected"); + message.paragraphs[i] = $root.google.cloud.vision.v1p2beta1.Paragraph.fromObject(object.paragraphs[i]); } } - if (object.bestGuessLabels) { - if (!Array.isArray(object.bestGuessLabels)) - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.bestGuessLabels: array expected"); - message.bestGuessLabels = []; - for (var i = 0; i < object.bestGuessLabels.length; ++i) { - if (typeof object.bestGuessLabels[i] !== "object") - throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.bestGuessLabels: object expected"); - message.bestGuessLabels[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.fromObject(object.bestGuessLabels[i]); - } + switch (object.blockType) { + case "UNKNOWN": + case 0: + message.blockType = 0; + break; + case "TEXT": + case 1: + message.blockType = 1; + break; + case "TABLE": + case 2: + message.blockType = 2; + break; + case "PICTURE": + case 3: + message.blockType = 3; + break; + case "RULER": + case 4: + message.blockType = 4; + break; + case "BARCODE": + case 5: + message.blockType = 5; + break; } + if (object.confidence != null) + message.confidence = Number(object.confidence); return message; }; /** - * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * Creates a plain object from a Block message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @memberof google.cloud.vision.v1p2beta1.Block * @static - * @param {google.cloud.vision.v1p2beta1.WebDetection} message WebDetection + * @param {google.cloud.vision.v1p2beta1.Block} message Block * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WebDetection.toObject = function toObject(message, options) { + Block.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.webEntities = []; - object.fullMatchingImages = []; - object.partialMatchingImages = []; - object.pagesWithMatchingImages = []; - object.visuallySimilarImages = []; - object.bestGuessLabels = []; - } - if (message.webEntities && message.webEntities.length) { - object.webEntities = []; - for (var j = 0; j < message.webEntities.length; ++j) - object.webEntities[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.toObject(message.webEntities[j], options); - } - if (message.fullMatchingImages && message.fullMatchingImages.length) { - object.fullMatchingImages = []; - for (var j = 0; j < message.fullMatchingImages.length; ++j) - object.fullMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); - } - if (message.partialMatchingImages && message.partialMatchingImages.length) { - object.partialMatchingImages = []; - for (var j = 0; j < message.partialMatchingImages.length; ++j) - object.partialMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); - } - if (message.pagesWithMatchingImages && message.pagesWithMatchingImages.length) { - object.pagesWithMatchingImages = []; - for (var j = 0; j < message.pagesWithMatchingImages.length; ++j) - object.pagesWithMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.toObject(message.pagesWithMatchingImages[j], options); - } - if (message.visuallySimilarImages && message.visuallySimilarImages.length) { - object.visuallySimilarImages = []; - for (var j = 0; j < message.visuallySimilarImages.length; ++j) - object.visuallySimilarImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.visuallySimilarImages[j], options); + if (options.arrays || options.defaults) + object.paragraphs = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.blockType = options.enums === String ? "UNKNOWN" : 0; + object.confidence = 0; } - if (message.bestGuessLabels && message.bestGuessLabels.length) { - object.bestGuessLabels = []; - for (var j = 0; j < message.bestGuessLabels.length; ++j) - object.bestGuessLabels[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.toObject(message.bestGuessLabels[j], options); + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.paragraphs && message.paragraphs.length) { + object.paragraphs = []; + for (var j = 0; j < message.paragraphs.length; ++j) + object.paragraphs[j] = $root.google.cloud.vision.v1p2beta1.Paragraph.toObject(message.paragraphs[j], options); } + if (message.blockType != null && message.hasOwnProperty("blockType")) + object.blockType = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Block.BlockType[message.blockType] : message.blockType; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; }; /** - * Converts this WebDetection to JSON. + * Converts this Block to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @memberof google.cloud.vision.v1p2beta1.Block * @instance * @returns {Object.} JSON object */ - WebDetection.prototype.toJSON = function toJSON() { + Block.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - WebDetection.WebEntity = (function() { + /** + * BlockType enum. + * @name google.cloud.vision.v1p2beta1.Block.BlockType + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} TEXT=1 TEXT value + * @property {number} TABLE=2 TABLE value + * @property {number} PICTURE=3 PICTURE value + * @property {number} RULER=4 RULER value + * @property {number} BARCODE=5 BARCODE value + */ + Block.BlockType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "TEXT"] = 1; + values[valuesById[2] = "TABLE"] = 2; + values[valuesById[3] = "PICTURE"] = 3; + values[valuesById[4] = "RULER"] = 4; + values[valuesById[5] = "BARCODE"] = 5; + return values; + })(); - /** - * Properties of a WebEntity. - * @memberof google.cloud.vision.v1p2beta1.WebDetection - * @interface IWebEntity - * @property {string|null} [entityId] WebEntity entityId - * @property {number|null} [score] WebEntity score - * @property {string|null} [description] WebEntity description - */ + return Block; + })(); - /** - * Constructs a new WebEntity. - * @memberof google.cloud.vision.v1p2beta1.WebDetection - * @classdesc Represents a WebEntity. - * @implements IWebEntity - * @constructor - * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity=} [properties] Properties to set - */ - function WebEntity(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]]; - } + v1p2beta1.Paragraph = (function() { - /** - * WebEntity entityId. - * @member {string} entityId - * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity - * @instance - */ - WebEntity.prototype.entityId = ""; + /** + * Properties of a Paragraph. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IParagraph + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Paragraph property + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Paragraph boundingBox + * @property {Array.|null} [words] Paragraph words + * @property {number|null} [confidence] Paragraph confidence + */ - /** - * WebEntity score. - * @member {number} score - * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity - * @instance - */ - WebEntity.prototype.score = 0; + /** + * Constructs a new Paragraph. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Paragraph. + * @implements IParagraph + * @constructor + * @param {google.cloud.vision.v1p2beta1.IParagraph=} [properties] Properties to set + */ + function Paragraph(properties) { + this.words = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } - /** - * WebEntity description. - * @member {string} description - * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity - * @instance - */ - WebEntity.prototype.description = ""; + /** + * Paragraph property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + */ + Paragraph.prototype.property = null; - /** - * Creates a new WebEntity instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity - * @static - * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity=} [properties] Properties to set - * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebEntity} WebEntity instance - */ - WebEntity.create = function create(properties) { - return new WebEntity(properties); - }; + /** + * Paragraph boundingBox. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + */ + Paragraph.prototype.boundingBox = null; - /** - * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebEntity.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity - * @static - * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - WebEntity.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + /** + * Paragraph words. + * @member {Array.} words + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + */ + Paragraph.prototype.words = $util.emptyArray; + + /** + * Paragraph confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + */ + Paragraph.prototype.confidence = 0; + + /** + * Creates a new Paragraph instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p2beta1.IParagraph=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph instance + */ + Paragraph.create = function create(properties) { + return new Paragraph(properties); + }; + + /** + * Encodes the specified Paragraph message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Paragraph.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p2beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.words != null && message.words.length) + for (var i = 0; i < message.words.length; ++i) + $root.google.cloud.vision.v1p2beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Paragraph message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Paragraph.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p2beta1.IParagraph} message Paragraph message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Paragraph.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Paragraph(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1p2beta1.Word.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Paragraph message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Paragraph.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Paragraph message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Paragraph.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.words != null && message.hasOwnProperty("words")) { + if (!Array.isArray(message.words)) + return "words: array expected"; + for (var i = 0; i < message.words.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Word.verify(message.words[i]); + if (error) + return "words." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Paragraph message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Paragraph} Paragraph + */ + Paragraph.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Paragraph) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Paragraph(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.property: object expected"); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.words) { + if (!Array.isArray(object.words)) + throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.words: array expected"); + message.words = []; + for (var i = 0; i < object.words.length; ++i) { + if (typeof object.words[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Paragraph.words: object expected"); + message.words[i] = $root.google.cloud.vision.v1p2beta1.Word.fromObject(object.words[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Paragraph message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {google.cloud.vision.v1p2beta1.Paragraph} message Paragraph + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Paragraph.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.words = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.words && message.words.length) { + object.words = []; + for (var j = 0; j < message.words.length; ++j) + object.words[j] = $root.google.cloud.vision.v1p2beta1.Word.toObject(message.words[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Paragraph to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @instance + * @returns {Object.} JSON object + */ + Paragraph.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Paragraph; + })(); + + v1p2beta1.Word = (function() { + + /** + * Properties of a Word. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IWord + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Word property + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Word boundingBox + * @property {Array.|null} [symbols] Word symbols + * @property {number|null} [confidence] Word confidence + */ + + /** + * Constructs a new Word. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Word. + * @implements IWord + * @constructor + * @param {google.cloud.vision.v1p2beta1.IWord=} [properties] Properties to set + */ + function Word(properties) { + this.symbols = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Word property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + */ + Word.prototype.property = null; + + /** + * Word boundingBox. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + */ + Word.prototype.boundingBox = null; + + /** + * Word symbols. + * @member {Array.} symbols + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + */ + Word.prototype.symbols = $util.emptyArray; + + /** + * Word confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + */ + Word.prototype.confidence = 0; + + /** + * Creates a new Word instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {google.cloud.vision.v1p2beta1.IWord=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Word} Word instance + */ + Word.create = function create(properties) { + return new Word(properties); + }; + + /** + * Encodes the specified Word message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Word.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {google.cloud.vision.v1p2beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.symbols != null && message.symbols.length) + for (var i = 0; i < message.symbols.length; ++i) + $root.google.cloud.vision.v1p2beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Word message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Word.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {google.cloud.vision.v1p2beta1.IWord} message Word message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Word.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Word message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Word(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1p2beta1.Symbol.decode(reader, reader.uint32())); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Word message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Word} Word + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Word.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Word message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Word.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.symbols != null && message.hasOwnProperty("symbols")) { + if (!Array.isArray(message.symbols)) + return "symbols: array expected"; + for (var i = 0; i < message.symbols.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.Symbol.verify(message.symbols[i]); + if (error) + return "symbols." + error; + } + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Word message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Word} Word + */ + Word.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Word) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Word(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Word.property: object expected"); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Word.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.symbols) { + if (!Array.isArray(object.symbols)) + throw TypeError(".google.cloud.vision.v1p2beta1.Word.symbols: array expected"); + message.symbols = []; + for (var i = 0; i < object.symbols.length; ++i) { + if (typeof object.symbols[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Word.symbols: object expected"); + message.symbols[i] = $root.google.cloud.vision.v1p2beta1.Symbol.fromObject(object.symbols[i]); + } + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Word message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {google.cloud.vision.v1p2beta1.Word} message Word + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Word.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.symbols = []; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.symbols && message.symbols.length) { + object.symbols = []; + for (var j = 0; j < message.symbols.length; ++j) + object.symbols[j] = $root.google.cloud.vision.v1p2beta1.Symbol.toObject(message.symbols[j], options); + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Word to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Word + * @instance + * @returns {Object.} JSON object + */ + Word.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Word; + })(); + + v1p2beta1.Symbol = (function() { + + /** + * Properties of a Symbol. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ISymbol + * @property {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null} [property] Symbol property + * @property {google.cloud.vision.v1p2beta1.IBoundingPoly|null} [boundingBox] Symbol boundingBox + * @property {string|null} [text] Symbol text + * @property {number|null} [confidence] Symbol confidence + */ + + /** + * Constructs a new Symbol. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a Symbol. + * @implements ISymbol + * @constructor + * @param {google.cloud.vision.v1p2beta1.ISymbol=} [properties] Properties to set + */ + function Symbol(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]]; + } + + /** + * Symbol property. + * @member {google.cloud.vision.v1p2beta1.TextAnnotation.ITextProperty|null|undefined} property + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + */ + Symbol.prototype.property = null; + + /** + * Symbol boundingBox. + * @member {google.cloud.vision.v1p2beta1.IBoundingPoly|null|undefined} boundingBox + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + */ + Symbol.prototype.boundingBox = null; + + /** + * Symbol text. + * @member {string} text + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + */ + Symbol.prototype.text = ""; + + /** + * Symbol confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + */ + Symbol.prototype.confidence = 0; + + /** + * Creates a new Symbol instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {google.cloud.vision.v1p2beta1.ISymbol=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol instance + */ + Symbol.create = function create(properties) { + return new Symbol(properties); + }; + + /** + * Encodes the specified Symbol message. Does not implicitly {@link google.cloud.vision.v1p2beta1.Symbol.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {google.cloud.vision.v1p2beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.property != null && message.hasOwnProperty("property")) + $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.text != null && message.hasOwnProperty("text")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); + return writer; + }; + + /** + * Encodes the specified Symbol message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.Symbol.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {google.cloud.vision.v1p2beta1.ISymbol} message Symbol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Symbol.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Symbol message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.Symbol(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + case 2: + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + message.text = reader.string(); + break; + case 4: + message.confidence = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Symbol message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Symbol.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Symbol message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Symbol.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.property != null && message.hasOwnProperty("property")) { + var error = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.verify(message.property); + if (error) + return "property." + error; + } + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) { + var error = $root.google.cloud.vision.v1p2beta1.BoundingPoly.verify(message.boundingBox); + if (error) + return "boundingBox." + error; + } + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + return null; + }; + + /** + * Creates a Symbol message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.Symbol} Symbol + */ + Symbol.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.Symbol) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.Symbol(); + if (object.property != null) { + if (typeof object.property !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Symbol.property: object expected"); + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.fromObject(object.property); + } + if (object.boundingBox != null) { + if (typeof object.boundingBox !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.Symbol.boundingBox: object expected"); + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.fromObject(object.boundingBox); + } + if (object.text != null) + message.text = String(object.text); + if (object.confidence != null) + message.confidence = Number(object.confidence); + return message; + }; + + /** + * Creates a plain object from a Symbol message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {google.cloud.vision.v1p2beta1.Symbol} message Symbol + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Symbol.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.property = null; + object.boundingBox = null; + object.text = ""; + object.confidence = 0; + } + if (message.property != null && message.hasOwnProperty("property")) + object.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.toObject(message.property, options); + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + object.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.toObject(message.boundingBox, options); + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + return object; + }; + + /** + * Converts this Symbol to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @instance + * @returns {Object.} JSON object + */ + Symbol.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Symbol; + })(); + + v1p2beta1.WebDetection = (function() { + + /** + * Properties of a WebDetection. + * @memberof google.cloud.vision.v1p2beta1 + * @interface IWebDetection + * @property {Array.|null} [webEntities] WebDetection webEntities + * @property {Array.|null} [fullMatchingImages] WebDetection fullMatchingImages + * @property {Array.|null} [partialMatchingImages] WebDetection partialMatchingImages + * @property {Array.|null} [pagesWithMatchingImages] WebDetection pagesWithMatchingImages + * @property {Array.|null} [visuallySimilarImages] WebDetection visuallySimilarImages + * @property {Array.|null} [bestGuessLabels] WebDetection bestGuessLabels + */ + + /** + * Constructs a new WebDetection. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a WebDetection. + * @implements IWebDetection + * @constructor + * @param {google.cloud.vision.v1p2beta1.IWebDetection=} [properties] Properties to set + */ + function WebDetection(properties) { + this.webEntities = []; + this.fullMatchingImages = []; + this.partialMatchingImages = []; + this.pagesWithMatchingImages = []; + this.visuallySimilarImages = []; + this.bestGuessLabels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WebDetection webEntities. + * @member {Array.} webEntities + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.webEntities = $util.emptyArray; + + /** + * WebDetection fullMatchingImages. + * @member {Array.} fullMatchingImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.fullMatchingImages = $util.emptyArray; + + /** + * WebDetection partialMatchingImages. + * @member {Array.} partialMatchingImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.partialMatchingImages = $util.emptyArray; + + /** + * WebDetection pagesWithMatchingImages. + * @member {Array.} pagesWithMatchingImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.pagesWithMatchingImages = $util.emptyArray; + + /** + * WebDetection visuallySimilarImages. + * @member {Array.} visuallySimilarImages + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.visuallySimilarImages = $util.emptyArray; + + /** + * WebDetection bestGuessLabels. + * @member {Array.} bestGuessLabels + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + */ + WebDetection.prototype.bestGuessLabels = $util.emptyArray; + + /** + * Creates a new WebDetection instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p2beta1.IWebDetection=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection instance + */ + WebDetection.create = function create(properties) { + return new WebDetection(properties); + }; + + /** + * Encodes the specified WebDetection message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p2beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.webEntities != null && message.webEntities.length) + for (var i = 0; i < message.webEntities.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.encode(message.webEntities[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullMatchingImages != null && message.fullMatchingImages.length) + for (var i = 0; i < message.fullMatchingImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.fullMatchingImages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.partialMatchingImages != null && message.partialMatchingImages.length) + for (var i = 0; i < message.partialMatchingImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.partialMatchingImages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.pagesWithMatchingImages != null && message.pagesWithMatchingImages.length) + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.encode(message.pagesWithMatchingImages[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.visuallySimilarImages != null && message.visuallySimilarImages.length) + for (var i = 0; i < message.visuallySimilarImages.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.encode(message.visuallySimilarImages[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.bestGuessLabels != null && message.bestGuessLabels.length) + for (var i = 0; i < message.bestGuessLabels.length; ++i) + $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.encode(message.bestGuessLabels[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WebDetection message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p2beta1.IWebDetection} message WebDetection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebDetection.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.WebDetection(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + case 6: + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + case 8: + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WebDetection message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetection.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetection message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetection.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.webEntities != null && message.hasOwnProperty("webEntities")) { + if (!Array.isArray(message.webEntities)) + return "webEntities: array expected"; + for (var i = 0; i < message.webEntities.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.verify(message.webEntities[i]); + if (error) + return "webEntities." + error; + } + } + if (message.fullMatchingImages != null && message.hasOwnProperty("fullMatchingImages")) { + if (!Array.isArray(message.fullMatchingImages)) + return "fullMatchingImages: array expected"; + for (var i = 0; i < message.fullMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.fullMatchingImages[i]); + if (error) + return "fullMatchingImages." + error; + } + } + if (message.partialMatchingImages != null && message.hasOwnProperty("partialMatchingImages")) { + if (!Array.isArray(message.partialMatchingImages)) + return "partialMatchingImages: array expected"; + for (var i = 0; i < message.partialMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.partialMatchingImages[i]); + if (error) + return "partialMatchingImages." + error; + } + } + if (message.pagesWithMatchingImages != null && message.hasOwnProperty("pagesWithMatchingImages")) { + if (!Array.isArray(message.pagesWithMatchingImages)) + return "pagesWithMatchingImages: array expected"; + for (var i = 0; i < message.pagesWithMatchingImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.verify(message.pagesWithMatchingImages[i]); + if (error) + return "pagesWithMatchingImages." + error; + } + } + if (message.visuallySimilarImages != null && message.hasOwnProperty("visuallySimilarImages")) { + if (!Array.isArray(message.visuallySimilarImages)) + return "visuallySimilarImages: array expected"; + for (var i = 0; i < message.visuallySimilarImages.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.verify(message.visuallySimilarImages[i]); + if (error) + return "visuallySimilarImages." + error; + } + } + if (message.bestGuessLabels != null && message.hasOwnProperty("bestGuessLabels")) { + if (!Array.isArray(message.bestGuessLabels)) + return "bestGuessLabels: array expected"; + for (var i = 0; i < message.bestGuessLabels.length; ++i) { + var error = $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.verify(message.bestGuessLabels[i]); + if (error) + return "bestGuessLabels." + error; + } + } + return null; + }; + + /** + * Creates a WebDetection message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.WebDetection} WebDetection + */ + WebDetection.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.WebDetection) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.WebDetection(); + if (object.webEntities) { + if (!Array.isArray(object.webEntities)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.webEntities: array expected"); + message.webEntities = []; + for (var i = 0; i < object.webEntities.length; ++i) { + if (typeof object.webEntities[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.webEntities: object expected"); + message.webEntities[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.fromObject(object.webEntities[i]); + } + } + if (object.fullMatchingImages) { + if (!Array.isArray(object.fullMatchingImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.fullMatchingImages: array expected"); + message.fullMatchingImages = []; + for (var i = 0; i < object.fullMatchingImages.length; ++i) { + if (typeof object.fullMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.fullMatchingImages: object expected"); + message.fullMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.fullMatchingImages[i]); + } + } + if (object.partialMatchingImages) { + if (!Array.isArray(object.partialMatchingImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.partialMatchingImages: array expected"); + message.partialMatchingImages = []; + for (var i = 0; i < object.partialMatchingImages.length; ++i) { + if (typeof object.partialMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.partialMatchingImages: object expected"); + message.partialMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.partialMatchingImages[i]); + } + } + if (object.pagesWithMatchingImages) { + if (!Array.isArray(object.pagesWithMatchingImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.pagesWithMatchingImages: array expected"); + message.pagesWithMatchingImages = []; + for (var i = 0; i < object.pagesWithMatchingImages.length; ++i) { + if (typeof object.pagesWithMatchingImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.pagesWithMatchingImages: object expected"); + message.pagesWithMatchingImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.fromObject(object.pagesWithMatchingImages[i]); + } + } + if (object.visuallySimilarImages) { + if (!Array.isArray(object.visuallySimilarImages)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.visuallySimilarImages: array expected"); + message.visuallySimilarImages = []; + for (var i = 0; i < object.visuallySimilarImages.length; ++i) { + if (typeof object.visuallySimilarImages[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.visuallySimilarImages: object expected"); + message.visuallySimilarImages[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.fromObject(object.visuallySimilarImages[i]); + } + } + if (object.bestGuessLabels) { + if (!Array.isArray(object.bestGuessLabels)) + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.bestGuessLabels: array expected"); + message.bestGuessLabels = []; + for (var i = 0; i < object.bestGuessLabels.length; ++i) { + if (typeof object.bestGuessLabels[i] !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.WebDetection.bestGuessLabels: object expected"); + message.bestGuessLabels[i] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.fromObject(object.bestGuessLabels[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a WebDetection message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection} message WebDetection + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WebDetection.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.webEntities = []; + object.fullMatchingImages = []; + object.partialMatchingImages = []; + object.pagesWithMatchingImages = []; + object.visuallySimilarImages = []; + object.bestGuessLabels = []; + } + if (message.webEntities && message.webEntities.length) { + object.webEntities = []; + for (var j = 0; j < message.webEntities.length; ++j) + object.webEntities[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.toObject(message.webEntities[j], options); + } + if (message.fullMatchingImages && message.fullMatchingImages.length) { + object.fullMatchingImages = []; + for (var j = 0; j < message.fullMatchingImages.length; ++j) + object.fullMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.fullMatchingImages[j], options); + } + if (message.partialMatchingImages && message.partialMatchingImages.length) { + object.partialMatchingImages = []; + for (var j = 0; j < message.partialMatchingImages.length; ++j) + object.partialMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.partialMatchingImages[j], options); + } + if (message.pagesWithMatchingImages && message.pagesWithMatchingImages.length) { + object.pagesWithMatchingImages = []; + for (var j = 0; j < message.pagesWithMatchingImages.length; ++j) + object.pagesWithMatchingImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.toObject(message.pagesWithMatchingImages[j], options); + } + if (message.visuallySimilarImages && message.visuallySimilarImages.length) { + object.visuallySimilarImages = []; + for (var j = 0; j < message.visuallySimilarImages.length; ++j) + object.visuallySimilarImages[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.toObject(message.visuallySimilarImages[j], options); + } + if (message.bestGuessLabels && message.bestGuessLabels.length) { + object.bestGuessLabels = []; + for (var j = 0; j < message.bestGuessLabels.length; ++j) + object.bestGuessLabels[j] = $root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.toObject(message.bestGuessLabels[j], options); + } + return object; + }; + + /** + * Converts this WebDetection to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @instance + * @returns {Object.} JSON object + */ + WebDetection.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + WebDetection.WebEntity = (function() { + + /** + * Properties of a WebEntity. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @interface IWebEntity + * @property {string|null} [entityId] WebEntity entityId + * @property {number|null} [score] WebEntity score + * @property {string|null} [description] WebEntity description + */ + + /** + * Constructs a new WebEntity. + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @classdesc Represents a WebEntity. + * @implements IWebEntity + * @constructor + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity=} [properties] Properties to set + */ + function WebEntity(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]]; + } + + /** + * WebEntity entityId. + * @member {string} entityId + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.entityId = ""; + + /** + * WebEntity score. + * @member {number} score + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.score = 0; + + /** + * WebEntity description. + * @member {string} description + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @instance + */ + WebEntity.prototype.description = ""; + + /** + * Creates a new WebEntity instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.WebDetection.WebEntity} WebEntity instance + */ + WebEntity.create = function create(properties) { + return new WebEntity(properties); + }; + + /** + * Encodes the specified WebEntity message. Does not implicitly {@link google.cloud.vision.v1p2beta1.WebDetection.WebEntity.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {google.cloud.vision.v1p2beta1.WebDetection.IWebEntity} message WebEntity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WebEntity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.entityId != null && message.hasOwnProperty("entityId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -49949,127 +49949,235 @@ */ var v1p3beta1 = {}; - v1p3beta1.ImageAnnotator = (function() { + v1p3beta1.Vertex = (function() { /** - * Constructs a new ImageAnnotator service. + * Properties of a Vertex. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an ImageAnnotator - * @extends $protobuf.rpc.Service + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y + */ + + /** + * Constructs a new Vertex. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Vertex. + * @implements IVertex * @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 + * @param {google.cloud.vision.v1p3beta1.IVertex=} [properties] Properties to set */ - function ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + function Vertex(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]]; } - (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; + /** + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @instance + */ + Vertex.prototype.x = 0; /** - * Creates new ImageAnnotator service using the specified rpc implementation. + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @instance + */ + Vertex.prototype.y = 0; + + /** + * Creates a new Vertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @memberof google.cloud.vision.v1p3beta1.Vertex * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + * @param {google.cloud.vision.v1p3beta1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex instance */ - ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); + Vertex.create = function create(properties) { + return new Vertex(properties); }; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#batchAnnotateImages}. - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator - * @typedef BatchAnnotateImagesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {google.cloud.vision.v1p3beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ + Vertex.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + return writer; + }; /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @param {google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse - * @returns {undefined} - * @variation 1 + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {google.cloud.vision.v1p3beta1.IVertex} message Vertex message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { - return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse, request, callback); - }, "name", { value: "BatchAnnotateImages" }); + Vertex.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 + * Decodes a Vertex message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ + Vertex.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Vertex(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.x = reader.int32(); + break; + case 2: + message.y = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#asyncBatchAnnotateFiles}. - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator - * @typedef AsyncBatchAnnotateFilesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.longrunning.Operation} [response] Operation + * Decodes a Vertex message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ + Vertex.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * Calls AsyncBatchAnnotateFiles. - * @function asyncBatchAnnotateFiles - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object - * @param {google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation - * @returns {undefined} - * @variation 1 + * Verifies a Vertex message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { - return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); - }, "name", { value: "AsyncBatchAnnotateFiles" }); + Vertex.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; + return null; + }; /** - * Calls AsyncBatchAnnotateFiles. - * @function asyncBatchAnnotateFiles - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex + */ + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Vertex) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; + return message; + }; + + /** + * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {google.cloud.vision.v1p3beta1.Vertex} message Vertex + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Vertex.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; + return object; + }; + + /** + * Converts this Vertex to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Vertex * @instance - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 + * @returns {Object.} JSON object */ + Vertex.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return ImageAnnotator; + return Vertex; })(); - v1p3beta1.Feature = (function() { + v1p3beta1.NormalizedVertex = (function() { /** - * Properties of a Feature. + * Properties of a NormalizedVertex. * @memberof google.cloud.vision.v1p3beta1 - * @interface IFeature - * @property {google.cloud.vision.v1p3beta1.Feature.Type|null} [type] Feature type - * @property {number|null} [maxResults] Feature maxResults - * @property {string|null} [model] Feature model + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y */ /** - * Constructs a new Feature. + * Constructs a new NormalizedVertex. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a Feature. - * @implements IFeature + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex * @constructor - * @param {google.cloud.vision.v1p3beta1.IFeature=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.INormalizedVertex=} [properties] Properties to set */ - function Feature(properties) { + function NormalizedVertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50077,101 +50185,88 @@ } /** - * Feature type. - * @member {google.cloud.vision.v1p3beta1.Feature.Type} type - * @memberof google.cloud.vision.v1p3beta1.Feature - * @instance - */ - Feature.prototype.type = 0; - - /** - * Feature maxResults. - * @member {number} maxResults - * @memberof google.cloud.vision.v1p3beta1.Feature + * NormalizedVertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @instance */ - Feature.prototype.maxResults = 0; + NormalizedVertex.prototype.x = 0; /** - * Feature model. - * @member {string} model - * @memberof google.cloud.vision.v1p3beta1.Feature + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @instance */ - Feature.prototype.model = ""; + NormalizedVertex.prototype.y = 0; /** - * Creates a new Feature instance using the specified properties. + * Creates a new NormalizedVertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.Feature + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p3beta1.IFeature=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.Feature} Feature instance + * @param {google.cloud.vision.v1p3beta1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex instance */ - Feature.create = function create(properties) { - return new Feature(properties); + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); }; /** - * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Feature.verify|verify} messages. + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.Feature + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p3beta1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encode = function encode(message, writer) { + NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; /** - * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Feature.verify|verify} messages. + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Feature + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p3beta1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encodeDelimited = function encodeDelimited(message, writer) { + NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Feature message from the specified reader or buffer. + * Decodes a NormalizedVertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.Feature + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.Feature} Feature + * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decode = function decode(reader, length) { + NormalizedVertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Feature(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.NormalizedVertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.type = reader.int32(); + message.x = reader.float(); break; case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); + message.y = reader.float(); break; default: reader.skipType(tag & 7); @@ -50182,229 +50277,119 @@ }; /** - * Decodes a Feature message from the specified reader or buffer, length delimited. + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Feature + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.Feature} Feature + * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decodeDelimited = function decodeDelimited(reader) { + NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Feature message. + * Verifies a NormalizedVertex message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.Feature + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Feature.verify = function verify(message) { + NormalizedVertex.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: - case 3: - case 4: - case 5: - case 11: - case 6: - case 7: - case 9: - case 10: - case 12: - case 19: - break; - } - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - if (!$util.isInteger(message.maxResults)) - return "maxResults: integer expected"; - if (message.model != null && message.hasOwnProperty("model")) - if (!$util.isString(message.model)) - return "model: string expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; return null; }; /** - * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.Feature + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.Feature} Feature + * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex */ - Feature.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.Feature) + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.NormalizedVertex) return object; - var message = new $root.google.cloud.vision.v1p3beta1.Feature(); - switch (object.type) { - case "TYPE_UNSPECIFIED": - case 0: - message.type = 0; - break; - case "FACE_DETECTION": - case 1: - message.type = 1; - break; - case "LANDMARK_DETECTION": - case 2: - message.type = 2; - break; - case "LOGO_DETECTION": - case 3: - message.type = 3; - break; - case "LABEL_DETECTION": - case 4: - message.type = 4; - break; - case "TEXT_DETECTION": - case 5: - message.type = 5; - break; - case "DOCUMENT_TEXT_DETECTION": - case 11: - message.type = 11; - break; - case "SAFE_SEARCH_DETECTION": - case 6: - message.type = 6; - break; - case "IMAGE_PROPERTIES": - case 7: - message.type = 7; - break; - case "CROP_HINTS": - case 9: - message.type = 9; - break; - case "WEB_DETECTION": - case 10: - message.type = 10; - break; - case "PRODUCT_SEARCH": - case 12: - message.type = 12; - break; - case "OBJECT_LOCALIZATION": - case 19: - message.type = 19; - break; - } - if (object.maxResults != null) - message.maxResults = object.maxResults | 0; - if (object.model != null) - message.model = String(object.model); + var message = new $root.google.cloud.vision.v1p3beta1.NormalizedVertex(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); return message; }; /** - * Creates a plain object from a Feature message. Also converts values to other types if specified. + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.Feature + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p3beta1.Feature} message Feature + * @param {google.cloud.vision.v1p3beta1.NormalizedVertex} message NormalizedVertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Feature.toObject = function toObject(message, options) { + NormalizedVertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; - object.maxResults = 0; - object.model = ""; + object.x = 0; + object.y = 0; } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Feature.Type[message.type] : message.type; - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - object.maxResults = message.maxResults; - if (message.model != null && message.hasOwnProperty("model")) - object.model = message.model; + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; return object; }; /** - * Converts this Feature to JSON. + * Converts this NormalizedVertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.Feature + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex * @instance * @returns {Object.} JSON object */ - Feature.prototype.toJSON = function toJSON() { + NormalizedVertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * Type enum. - * @name google.cloud.vision.v1p3beta1.Feature.Type - * @enum {string} - * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value - * @property {number} FACE_DETECTION=1 FACE_DETECTION value - * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value - * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value - * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value - * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value - * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value - * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value - * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value - * @property {number} CROP_HINTS=9 CROP_HINTS value - * @property {number} WEB_DETECTION=10 WEB_DETECTION value - * @property {number} PRODUCT_SEARCH=12 PRODUCT_SEARCH value - * @property {number} OBJECT_LOCALIZATION=19 OBJECT_LOCALIZATION value - */ - Feature.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; - values[valuesById[1] = "FACE_DETECTION"] = 1; - values[valuesById[2] = "LANDMARK_DETECTION"] = 2; - values[valuesById[3] = "LOGO_DETECTION"] = 3; - values[valuesById[4] = "LABEL_DETECTION"] = 4; - values[valuesById[5] = "TEXT_DETECTION"] = 5; - values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; - values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; - values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; - values[valuesById[9] = "CROP_HINTS"] = 9; - values[valuesById[10] = "WEB_DETECTION"] = 10; - values[valuesById[12] = "PRODUCT_SEARCH"] = 12; - values[valuesById[19] = "OBJECT_LOCALIZATION"] = 19; - return values; - })(); - - return Feature; + return NormalizedVertex; })(); - v1p3beta1.ImageSource = (function() { + v1p3beta1.BoundingPoly = (function() { /** - * Properties of an ImageSource. + * Properties of a BoundingPoly. * @memberof google.cloud.vision.v1p3beta1 - * @interface IImageSource - * @property {string|null} [gcsImageUri] ImageSource gcsImageUri - * @property {string|null} [imageUri] ImageSource imageUri + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices */ /** - * Constructs a new ImageSource. + * Constructs a new BoundingPoly. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an ImageSource. - * @implements IImageSource + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly * @constructor - * @param {google.cloud.vision.v1p3beta1.IImageSource=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IBoundingPoly=} [properties] Properties to set */ - function ImageSource(properties) { + function BoundingPoly(properties) { + this.vertices = []; + this.normalizedVertices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50412,88 +50397,94 @@ } /** - * ImageSource gcsImageUri. - * @member {string} gcsImageUri - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @instance */ - ImageSource.prototype.gcsImageUri = ""; + BoundingPoly.prototype.vertices = $util.emptyArray; /** - * ImageSource imageUri. - * @member {string} imageUri - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * BoundingPoly normalizedVertices. + * @member {Array.} normalizedVertices + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @instance */ - ImageSource.prototype.imageUri = ""; + BoundingPoly.prototype.normalizedVertices = $util.emptyArray; /** - * Creates a new ImageSource instance using the specified properties. + * Creates a new BoundingPoly instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p3beta1.IImageSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource instance + * @param {google.cloud.vision.v1p3beta1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly instance */ - ImageSource.create = function create(properties) { - return new ImageSource(properties); + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); }; /** - * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageSource.verify|verify} messages. + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p3beta1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encode = function encode(message, writer) { + BoundingPoly.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p3beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.normalizedVertices != null && message.normalizedVertices.length) + for (var i = 0; i < message.normalizedVertices.length; ++i) + $root.google.cloud.vision.v1p3beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageSource.verify|verify} messages. + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p3beta1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageSource message from the specified reader or buffer. + * Decodes a BoundingPoly message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decode = function decode(reader, length) { + BoundingPoly.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BoundingPoly(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsImageUri = reader.string(); + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p3beta1.Vertex.decode(reader, reader.uint32())); break; case 2: - message.imageUri = reader.string(); + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -50504,117 +50495,151 @@ }; /** - * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decodeDelimited = function decodeDelimited(reader) { + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageSource message. + * Verifies a BoundingPoly message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageSource.verify = function verify(message) { + BoundingPoly.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - if (!$util.isString(message.gcsImageUri)) - return "gcsImageUri: string expected"; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - if (!$util.isString(message.imageUri)) - return "imageUri: string expected"; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Vertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } + } + if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { + if (!Array.isArray(message.normalizedVertices)) + return "normalizedVertices: array expected"; + for (var i = 0; i < message.normalizedVertices.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.verify(message.normalizedVertices[i]); + if (error) + return "normalizedVertices." + error; + } + } return null; }; /** - * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly */ - ImageSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageSource) + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.BoundingPoly) return object; - var message = new $root.google.cloud.vision.v1p3beta1.ImageSource(); - if (object.gcsImageUri != null) - message.gcsImageUri = String(object.gcsImageUri); - if (object.imageUri != null) - message.imageUri = String(object.imageUri); + var message = new $root.google.cloud.vision.v1p3beta1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p3beta1.Vertex.fromObject(object.vertices[i]); + } + } + if (object.normalizedVertices) { + if (!Array.isArray(object.normalizedVertices)) + throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.normalizedVertices: array expected"); + message.normalizedVertices = []; + for (var i = 0; i < object.normalizedVertices.length; ++i) { + if (typeof object.normalizedVertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.normalizedVertices: object expected"); + message.normalizedVertices[i] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); + } + } return message; }; /** - * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p3beta1.ImageSource} message ImageSource + * @param {google.cloud.vision.v1p3beta1.BoundingPoly} message BoundingPoly * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageSource.toObject = function toObject(message, options) { + BoundingPoly.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.gcsImageUri = ""; - object.imageUri = ""; + if (options.arrays || options.defaults) { + object.vertices = []; + object.normalizedVertices = []; + } + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p3beta1.Vertex.toObject(message.vertices[j], options); + } + if (message.normalizedVertices && message.normalizedVertices.length) { + object.normalizedVertices = []; + for (var j = 0; j < message.normalizedVertices.length; ++j) + object.normalizedVertices[j] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); } - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - object.gcsImageUri = message.gcsImageUri; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - object.imageUri = message.imageUri; return object; }; /** - * Converts this ImageSource to JSON. + * Converts this BoundingPoly to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly * @instance * @returns {Object.} JSON object */ - ImageSource.prototype.toJSON = function toJSON() { + BoundingPoly.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageSource; + return BoundingPoly; })(); - v1p3beta1.Image = (function() { + v1p3beta1.NormalizedBoundingPoly = (function() { /** - * Properties of an Image. + * Properties of a NormalizedBoundingPoly. * @memberof google.cloud.vision.v1p3beta1 - * @interface IImage - * @property {Uint8Array|null} [content] Image content - * @property {google.cloud.vision.v1p3beta1.IImageSource|null} [source] Image source + * @interface INormalizedBoundingPoly + * @property {Array.|null} [vertices] NormalizedBoundingPoly vertices */ /** - * Constructs a new Image. + * Constructs a new NormalizedBoundingPoly. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an Image. - * @implements IImage + * @classdesc Represents a NormalizedBoundingPoly. + * @implements INormalizedBoundingPoly * @constructor - * @param {google.cloud.vision.v1p3beta1.IImage=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly=} [properties] Properties to set */ - function Image(properties) { + function NormalizedBoundingPoly(properties) { + this.vertices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50622,88 +50647,78 @@ } /** - * Image content. - * @member {Uint8Array} content - * @memberof google.cloud.vision.v1p3beta1.Image - * @instance - */ - Image.prototype.content = $util.newBuffer([]); - - /** - * Image source. - * @member {google.cloud.vision.v1p3beta1.IImageSource|null|undefined} source - * @memberof google.cloud.vision.v1p3beta1.Image + * NormalizedBoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @instance */ - Image.prototype.source = null; + NormalizedBoundingPoly.prototype.vertices = $util.emptyArray; /** - * Creates a new Image instance using the specified properties. + * Creates a new NormalizedBoundingPoly instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.Image + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @static - * @param {google.cloud.vision.v1p3beta1.IImage=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.Image} Image instance + * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly instance */ - Image.create = function create(properties) { - return new Image(properties); + NormalizedBoundingPoly.create = function create(properties) { + return new NormalizedBoundingPoly(properties); }; /** - * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Image.verify|verify} messages. + * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.Image + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @static - * @param {google.cloud.vision.v1p3beta1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encode = function encode(message, writer) { + NormalizedBoundingPoly.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) - $root.google.cloud.vision.v1p3beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p3beta1.NormalizedVertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Image.verify|verify} messages. + * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Image + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @static - * @param {google.cloud.vision.v1p3beta1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encodeDelimited = function encodeDelimited(message, writer) { + NormalizedBoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an Image message from the specified reader or buffer. + * Decodes a NormalizedBoundingPoly message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.Image + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.Image} Image + * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decode = function decode(reader, length) { + NormalizedBoundingPoly.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Image(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.content = reader.bytes(); - break; - case 2: - message.source = $root.google.cloud.vision.v1p3beta1.ImageSource.decode(reader, reader.uint32()); + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -50714,145 +50729,126 @@ }; /** - * Decodes an Image message from the specified reader or buffer, length delimited. + * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Image + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.Image} Image + * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decodeDelimited = function decodeDelimited(reader) { + NormalizedBoundingPoly.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an Image message. + * Verifies a NormalizedBoundingPoly message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.Image + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Image.verify = function verify(message) { + NormalizedBoundingPoly.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.content != null && message.hasOwnProperty("content")) - if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) - return "content: buffer expected"; - if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.vision.v1p3beta1.ImageSource.verify(message.source); - if (error) - return "source." + error; + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.verify(message.vertices[i]); + if (error) + return "vertices." + error; + } } return null; }; /** - * Creates an Image message from a plain object. Also converts values to their respective internal types. + * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.Image + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.Image} Image + * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly */ - Image.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.Image) + NormalizedBoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly) return object; - var message = new $root.google.cloud.vision.v1p3beta1.Image(); - if (object.content != null) - if (typeof object.content === "string") - $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) - message.content = object.content; - if (object.source != null) { - if (typeof object.source !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.Image.source: object expected"); - message.source = $root.google.cloud.vision.v1p3beta1.ImageSource.fromObject(object.source); + var message = new $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.fromObject(object.vertices[i]); + } } return message; }; /** - * Creates a plain object from an Image message. Also converts values to other types if specified. + * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.Image + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @static - * @param {google.cloud.vision.v1p3beta1.Image} message Image + * @param {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} message NormalizedBoundingPoly * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Image.toObject = function toObject(message, options) { + NormalizedBoundingPoly.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.content = ""; - else { - object.content = []; - if (options.bytes !== Array) - object.content = $util.newBuffer(object.content); - } - object.source = null; + if (options.arrays || options.defaults) + object.vertices = []; + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.toObject(message.vertices[j], options); } - if (message.content != null && message.hasOwnProperty("content")) - object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; - if (message.source != null && message.hasOwnProperty("source")) - object.source = $root.google.cloud.vision.v1p3beta1.ImageSource.toObject(message.source, options); return object; }; /** - * Converts this Image to JSON. + * Converts this NormalizedBoundingPoly to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.Image + * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly * @instance * @returns {Object.} JSON object */ - Image.prototype.toJSON = function toJSON() { + NormalizedBoundingPoly.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Image; + return NormalizedBoundingPoly; })(); - v1p3beta1.FaceAnnotation = (function() { + v1p3beta1.Position = (function() { /** - * Properties of a FaceAnnotation. + * Properties of a Position. * @memberof google.cloud.vision.v1p3beta1 - * @interface IFaceAnnotation - * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly - * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly - * @property {Array.|null} [landmarks] FaceAnnotation landmarks - * @property {number|null} [rollAngle] FaceAnnotation rollAngle - * @property {number|null} [panAngle] FaceAnnotation panAngle - * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle - * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence - * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z */ /** - * Constructs a new FaceAnnotation. + * Constructs a new Position. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a FaceAnnotation. - * @implements IFaceAnnotation + * @classdesc Represents a Position. + * @implements IPosition * @constructor - * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IPosition=} [properties] Properties to set */ - function FaceAnnotation(properties) { - this.landmarks = []; + function Position(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50860,1216 +50856,667 @@ } /** - * FaceAnnotation boundingPoly. - * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.boundingPoly = null; - - /** - * FaceAnnotation fdBoundingPoly. - * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} fdBoundingPoly - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.fdBoundingPoly = null; - - /** - * FaceAnnotation landmarks. - * @member {Array.} landmarks - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.landmarks = $util.emptyArray; - - /** - * FaceAnnotation rollAngle. - * @member {number} rollAngle - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.rollAngle = 0; - - /** - * FaceAnnotation panAngle. - * @member {number} panAngle - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.panAngle = 0; - - /** - * FaceAnnotation tiltAngle. - * @member {number} tiltAngle - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.tiltAngle = 0; - - /** - * FaceAnnotation detectionConfidence. - * @member {number} detectionConfidence - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.detectionConfidence = 0; - - /** - * FaceAnnotation landmarkingConfidence. - * @member {number} landmarkingConfidence - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.landmarkingConfidence = 0; - - /** - * FaceAnnotation joyLikelihood. - * @member {google.cloud.vision.v1p3beta1.Likelihood} joyLikelihood - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.joyLikelihood = 0; - - /** - * FaceAnnotation sorrowLikelihood. - * @member {google.cloud.vision.v1p3beta1.Likelihood} sorrowLikelihood - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.sorrowLikelihood = 0; - - /** - * FaceAnnotation angerLikelihood. - * @member {google.cloud.vision.v1p3beta1.Likelihood} angerLikelihood - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.angerLikelihood = 0; - - /** - * FaceAnnotation surpriseLikelihood. - * @member {google.cloud.vision.v1p3beta1.Likelihood} surpriseLikelihood - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.surpriseLikelihood = 0; - - /** - * FaceAnnotation underExposedLikelihood. - * @member {google.cloud.vision.v1p3beta1.Likelihood} underExposedLikelihood - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1p3beta1.Position * @instance */ - FaceAnnotation.prototype.underExposedLikelihood = 0; + Position.prototype.x = 0; /** - * FaceAnnotation blurredLikelihood. - * @member {google.cloud.vision.v1p3beta1.Likelihood} blurredLikelihood - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1p3beta1.Position * @instance */ - FaceAnnotation.prototype.blurredLikelihood = 0; + Position.prototype.y = 0; /** - * FaceAnnotation headwearLikelihood. - * @member {google.cloud.vision.v1p3beta1.Likelihood} headwearLikelihood - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1p3beta1.Position * @instance */ - FaceAnnotation.prototype.headwearLikelihood = 0; + Position.prototype.z = 0; /** - * Creates a new FaceAnnotation instance using the specified properties. + * Creates a new Position instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p3beta1.Position * @static - * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation instance + * @param {google.cloud.vision.v1p3beta1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Position} Position instance */ - FaceAnnotation.create = function create(properties) { - return new FaceAnnotation(properties); + Position.create = function create(properties) { + return new Position(properties); }; /** - * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.verify|verify} messages. + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p3beta1.Position * @static - * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IPosition} message Position message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.encode = function encode(message, writer) { + Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.landmarks != null && message.landmarks.length) - for (var i = 0; i < message.landmarks.length; ++i) - $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); - return writer; - }; - - /** - * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @static - * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FaceAnnotation message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FaceAnnotation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FaceAnnotation message. - * @function verify - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FaceAnnotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { - var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.fdBoundingPoly); - if (error) - return "fdBoundingPoly." + error; - } - if (message.landmarks != null && message.hasOwnProperty("landmarks")) { - if (!Array.isArray(message.landmarks)) - return "landmarks: array expected"; - for (var i = 0; i < message.landmarks.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); - if (error) - return "landmarks." + error; - } - } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - if (typeof message.rollAngle !== "number") - return "rollAngle: number expected"; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - if (typeof message.panAngle !== "number") - return "panAngle: number expected"; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - if (typeof message.tiltAngle !== "number") - return "tiltAngle: number expected"; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - if (typeof message.detectionConfidence !== "number") - return "detectionConfidence: number expected"; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - if (typeof message.landmarkingConfidence !== "number") - return "landmarkingConfidence: number expected"; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - switch (message.joyLikelihood) { - default: - return "joyLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - switch (message.sorrowLikelihood) { - default: - return "sorrowLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - switch (message.angerLikelihood) { - default: - return "angerLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - switch (message.surpriseLikelihood) { - default: - return "surpriseLikelihood: enum value expected"; - case 0: + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + return writer; + }; + + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {google.cloud.vision.v1p3beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Position message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Position(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { case 1: - case 2: - case 3: - case 4: - case 5: + message.x = reader.float(); break; - } - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - switch (message.underExposedLikelihood) { - default: - return "underExposedLikelihood: enum value expected"; - case 0: - case 1: case 2: - case 3: - case 4: - case 5: + message.y = reader.float(); break; - } - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - switch (message.blurredLikelihood) { - default: - return "blurredLikelihood: enum value expected"; - case 0: - case 1: - case 2: case 3: - case 4: - case 5: + message.z = reader.float(); break; - } - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - switch (message.headwearLikelihood) { default: - return "headwearLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: + reader.skipType(tag & 7); break; } + } + return message; + }; + + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Position message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Position.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; return null; }; /** - * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a Position message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p3beta1.Position * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p3beta1.Position} Position */ - FaceAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.FaceAnnotation) + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Position) return object; - var message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.fdBoundingPoly != null) { - if (typeof object.fdBoundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.fdBoundingPoly: object expected"); - message.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.fdBoundingPoly); - } - if (object.landmarks) { - if (!Array.isArray(object.landmarks)) - throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.landmarks: array expected"); - message.landmarks = []; - for (var i = 0; i < object.landmarks.length; ++i) { - if (typeof object.landmarks[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.landmarks: object expected"); - message.landmarks[i] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); - } - } - if (object.rollAngle != null) - message.rollAngle = Number(object.rollAngle); - if (object.panAngle != null) - message.panAngle = Number(object.panAngle); - if (object.tiltAngle != null) - message.tiltAngle = Number(object.tiltAngle); - if (object.detectionConfidence != null) - message.detectionConfidence = Number(object.detectionConfidence); - if (object.landmarkingConfidence != null) - message.landmarkingConfidence = Number(object.landmarkingConfidence); - switch (object.joyLikelihood) { - case "UNKNOWN": - case 0: - message.joyLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.joyLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.joyLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.joyLikelihood = 3; - break; - case "LIKELY": - case 4: - message.joyLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.joyLikelihood = 5; - break; - } - switch (object.sorrowLikelihood) { - case "UNKNOWN": - case 0: - message.sorrowLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.sorrowLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.sorrowLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.sorrowLikelihood = 3; - break; - case "LIKELY": - case 4: - message.sorrowLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.sorrowLikelihood = 5; - break; - } - switch (object.angerLikelihood) { - case "UNKNOWN": - case 0: - message.angerLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.angerLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.angerLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.angerLikelihood = 3; - break; - case "LIKELY": - case 4: - message.angerLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.angerLikelihood = 5; - break; - } - switch (object.surpriseLikelihood) { - case "UNKNOWN": - case 0: - message.surpriseLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.surpriseLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.surpriseLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.surpriseLikelihood = 3; - break; - case "LIKELY": - case 4: - message.surpriseLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.surpriseLikelihood = 5; - break; - } - switch (object.underExposedLikelihood) { - case "UNKNOWN": - case 0: - message.underExposedLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.underExposedLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.underExposedLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.underExposedLikelihood = 3; - break; - case "LIKELY": - case 4: - message.underExposedLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.underExposedLikelihood = 5; - break; - } - switch (object.blurredLikelihood) { - case "UNKNOWN": - case 0: - message.blurredLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.blurredLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.blurredLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.blurredLikelihood = 3; - break; - case "LIKELY": - case 4: - message.blurredLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.blurredLikelihood = 5; - break; - } - switch (object.headwearLikelihood) { - case "UNKNOWN": - case 0: - message.headwearLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.headwearLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.headwearLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.headwearLikelihood = 3; - break; - case "LIKELY": - case 4: - message.headwearLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.headwearLikelihood = 5; - break; - } + var message = new $root.google.cloud.vision.v1p3beta1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); return message; }; /** - * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a Position message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p3beta1.Position * @static - * @param {google.cloud.vision.v1p3beta1.FaceAnnotation} message FaceAnnotation + * @param {google.cloud.vision.v1p3beta1.Position} message Position * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FaceAnnotation.toObject = function toObject(message, options) { + Position.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.landmarks = []; if (options.defaults) { - object.boundingPoly = null; - object.fdBoundingPoly = null; - object.rollAngle = 0; - object.panAngle = 0; - object.tiltAngle = 0; - object.detectionConfidence = 0; - object.landmarkingConfidence = 0; - object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; - } - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - object.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); - if (message.landmarks && message.landmarks.length) { - object.landmarks = []; - for (var j = 0; j < message.landmarks.length; ++j) - object.landmarks[j] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + object.x = 0; + object.y = 0; + object.z = 0; } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; return object; }; /** - * Converts this FaceAnnotation to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * Converts this Position to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Position + * @instance + * @returns {Object.} JSON object + */ + Position.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Position; + })(); + + v1p3beta1.ImageAnnotator = (function() { + + /** + * Constructs a new ImageAnnotator service. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an ImageAnnotator + * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; + + /** + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + */ + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + */ + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); + + /** + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @typedef AsyncBatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { + return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateFiles" }); + + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator * @instance - * @returns {Object.} JSON object + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 */ - FaceAnnotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - FaceAnnotation.Landmark = (function() { - /** - * Properties of a Landmark. - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @interface ILandmark - * @property {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type - * @property {google.cloud.vision.v1p3beta1.IPosition|null} [position] Landmark position - */ + return ImageAnnotator; + })(); - /** - * Constructs a new Landmark. - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation - * @classdesc Represents a Landmark. - * @implements ILandmark - * @constructor - * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark=} [properties] Properties to set - */ - function Landmark(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]]; - } + v1p3beta1.Feature = (function() { - /** - * Landmark type. - * @member {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type} type - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.type = 0; + /** + * Properties of a Feature. + * @memberof google.cloud.vision.v1p3beta1 + * @interface IFeature + * @property {google.cloud.vision.v1p3beta1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model + */ - /** - * Landmark position. - * @member {google.cloud.vision.v1p3beta1.IPosition|null|undefined} position - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.position = null; + /** + * Constructs a new Feature. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a Feature. + * @implements IFeature + * @constructor + * @param {google.cloud.vision.v1p3beta1.IFeature=} [properties] Properties to set + */ + function Feature(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 Landmark instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark instance - */ - Landmark.create = function create(properties) { - return new Landmark(properties); - }; + /** + * Feature type. + * @member {google.cloud.vision.v1p3beta1.Feature.Type} type + * @memberof google.cloud.vision.v1p3beta1.Feature + * @instance + */ + Feature.prototype.type = 0; - /** - * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) - $root.google.cloud.vision.v1p3beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; + /** + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1p3beta1.Feature + * @instance + */ + Feature.prototype.maxResults = 0; - /** - * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1p3beta1.Feature + * @instance + */ + Feature.prototype.model = ""; - /** - * Decodes a Landmark message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1p3beta1.Position.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Creates a new Feature instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {google.cloud.vision.v1p3beta1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Feature} Feature instance + */ + Feature.create = function create(properties) { + return new Feature(properties); + }; - /** - * Decodes a Landmark message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Feature.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {google.cloud.vision.v1p3beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + return writer; + }; - /** - * Verifies a Landmark message. - * @function verify - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Landmark.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: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - break; - } - if (message.position != null && message.hasOwnProperty("position")) { - var error = $root.google.cloud.vision.v1p3beta1.Position.verify(message.position); - if (error) - return "position." + error; - } - return null; - }; + /** + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Feature.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {google.cloud.vision.v1p3beta1.IFeature} message Feature message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Feature.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a Landmark message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark - */ - Landmark.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark) - return object; - var message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark(); - switch (object.type) { - case "UNKNOWN_LANDMARK": - case 0: - message.type = 0; - break; - case "LEFT_EYE": + /** + * Decodes a Feature message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Feature(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { case 1: - message.type = 1; + message.type = reader.int32(); break; - case "RIGHT_EYE": case 2: - message.type = 2; + message.maxResults = reader.int32(); break; - case "LEFT_OF_LEFT_EYEBROW": case 3: - message.type = 3; - break; - case "RIGHT_OF_LEFT_EYEBROW": - case 4: - message.type = 4; - break; - case "LEFT_OF_RIGHT_EYEBROW": - case 5: - message.type = 5; - break; - case "RIGHT_OF_RIGHT_EYEBROW": - case 6: - message.type = 6; - break; - case "MIDPOINT_BETWEEN_EYES": - case 7: - message.type = 7; - break; - case "NOSE_TIP": - case 8: - message.type = 8; - break; - case "UPPER_LIP": - case 9: - message.type = 9; - break; - case "LOWER_LIP": - case 10: - message.type = 10; - break; - case "MOUTH_LEFT": - case 11: - message.type = 11; - break; - case "MOUTH_RIGHT": - case 12: - message.type = 12; - break; - case "MOUTH_CENTER": - case 13: - message.type = 13; - break; - case "NOSE_BOTTOM_RIGHT": - case 14: - message.type = 14; - break; - case "NOSE_BOTTOM_LEFT": - case 15: - message.type = 15; - break; - case "NOSE_BOTTOM_CENTER": - case 16: - message.type = 16; - break; - case "LEFT_EYE_TOP_BOUNDARY": - case 17: - message.type = 17; - break; - case "LEFT_EYE_RIGHT_CORNER": - case 18: - message.type = 18; - break; - case "LEFT_EYE_BOTTOM_BOUNDARY": - case 19: - message.type = 19; - break; - case "LEFT_EYE_LEFT_CORNER": - case 20: - message.type = 20; - break; - case "RIGHT_EYE_TOP_BOUNDARY": - case 21: - message.type = 21; - break; - case "RIGHT_EYE_RIGHT_CORNER": - case 22: - message.type = 22; - break; - case "RIGHT_EYE_BOTTOM_BOUNDARY": - case 23: - message.type = 23; - break; - case "RIGHT_EYE_LEFT_CORNER": - case 24: - message.type = 24; - break; - case "LEFT_EYEBROW_UPPER_MIDPOINT": - case 25: - message.type = 25; - break; - case "RIGHT_EYEBROW_UPPER_MIDPOINT": - case 26: - message.type = 26; - break; - case "LEFT_EAR_TRAGION": - case 27: - message.type = 27; - break; - case "RIGHT_EAR_TRAGION": - case 28: - message.type = 28; - break; - case "LEFT_EYE_PUPIL": - case 29: - message.type = 29; - break; - case "RIGHT_EYE_PUPIL": - case 30: - message.type = 30; - break; - case "FOREHEAD_GLABELLA": - case 31: - message.type = 31; - break; - case "CHIN_GNATHION": - case 32: - message.type = 32; - break; - case "CHIN_LEFT_GONION": - case 33: - message.type = 33; + message.model = reader.string(); break; - case "CHIN_RIGHT_GONION": - case 34: - message.type = 34; + default: + reader.skipType(tag & 7); break; } - if (object.position != null) { - if (typeof object.position !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.position: object expected"); - message.position = $root.google.cloud.vision.v1p3beta1.Position.fromObject(object.position); - } - return message; - }; + } + return message; + }; - /** - * Creates a plain object from a Landmark message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} message Landmark - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Landmark.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; - object.position = null; + /** + * Decodes a Feature message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.Feature} Feature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Feature.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Feature message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Feature.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: + case 3: + case 4: + case 5: + case 11: + case 6: + case 7: + case 9: + case 10: + case 12: + case 19: + break; } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; - if (message.position != null && message.hasOwnProperty("position")) - object.position = $root.google.cloud.vision.v1p3beta1.Position.toObject(message.position, options); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; + return null; + }; + + /** + * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.Feature} Feature + */ + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Feature) return object; - }; + var message = new $root.google.cloud.vision.v1p3beta1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": + case 0: + message.type = 0; + break; + case "FACE_DETECTION": + case 1: + message.type = 1; + break; + case "LANDMARK_DETECTION": + case 2: + message.type = 2; + break; + case "LOGO_DETECTION": + case 3: + message.type = 3; + break; + case "LABEL_DETECTION": + case 4: + message.type = 4; + break; + case "TEXT_DETECTION": + case 5: + message.type = 5; + break; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; + break; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; + break; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; + break; + case "CROP_HINTS": + case 9: + message.type = 9; + break; + case "WEB_DETECTION": + case 10: + message.type = 10; + break; + case "PRODUCT_SEARCH": + case 12: + message.type = 12; + break; + case "OBJECT_LOCALIZATION": + case 19: + message.type = 19; + break; + } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); + return message; + }; - /** - * Converts this Landmark to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark - * @instance - * @returns {Object.} JSON object - */ - Landmark.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a Feature message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {google.cloud.vision.v1p3beta1.Feature} message Feature + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Feature.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; + return object; + }; - /** - * Type enum. - * @name google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type - * @enum {string} - * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value - * @property {number} LEFT_EYE=1 LEFT_EYE value - * @property {number} RIGHT_EYE=2 RIGHT_EYE value - * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value - * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value - * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value - * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value - * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value - * @property {number} NOSE_TIP=8 NOSE_TIP value - * @property {number} UPPER_LIP=9 UPPER_LIP value - * @property {number} LOWER_LIP=10 LOWER_LIP value - * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value - * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value - * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value - * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value - * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value - * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value - * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value - * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value - * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value - * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value - * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value - * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value - * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value - * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value - * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value - * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value - * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value - * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value - * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value - * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value - * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value - * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value - * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value - * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value - */ - Landmark.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; - values[valuesById[1] = "LEFT_EYE"] = 1; - values[valuesById[2] = "RIGHT_EYE"] = 2; - values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; - values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; - values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; - values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; - values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; - values[valuesById[8] = "NOSE_TIP"] = 8; - values[valuesById[9] = "UPPER_LIP"] = 9; - values[valuesById[10] = "LOWER_LIP"] = 10; - values[valuesById[11] = "MOUTH_LEFT"] = 11; - values[valuesById[12] = "MOUTH_RIGHT"] = 12; - values[valuesById[13] = "MOUTH_CENTER"] = 13; - values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; - values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; - values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; - values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; - values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; - values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; - values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; - values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; - values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; - values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; - values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; - values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; - values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; - values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; - values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; - values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; - values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; - values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; - values[valuesById[32] = "CHIN_GNATHION"] = 32; - values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; - values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; - return values; - })(); + /** + * Converts this Feature to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.Feature + * @instance + * @returns {Object.} JSON object + */ + Feature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return Landmark; + /** + * Type enum. + * @name google.cloud.vision.v1p3beta1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + * @property {number} PRODUCT_SEARCH=12 PRODUCT_SEARCH value + * @property {number} OBJECT_LOCALIZATION=19 OBJECT_LOCALIZATION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + values[valuesById[12] = "PRODUCT_SEARCH"] = 12; + values[valuesById[19] = "OBJECT_LOCALIZATION"] = 19; + return values; })(); - return FaceAnnotation; + return Feature; })(); - v1p3beta1.LocationInfo = (function() { + v1p3beta1.ImageSource = (function() { /** - * Properties of a LocationInfo. + * Properties of an ImageSource. * @memberof google.cloud.vision.v1p3beta1 - * @interface ILocationInfo - * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri */ /** - * Constructs a new LocationInfo. + * Constructs a new ImageSource. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a LocationInfo. - * @implements ILocationInfo + * @classdesc Represents an ImageSource. + * @implements IImageSource * @constructor - * @param {google.cloud.vision.v1p3beta1.ILocationInfo=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IImageSource=} [properties] Properties to set */ - function LocationInfo(properties) { + function ImageSource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -52077,75 +51524,88 @@ } /** - * LocationInfo latLng. - * @member {google.type.ILatLng|null|undefined} latLng - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @instance */ - LocationInfo.prototype.latLng = null; + ImageSource.prototype.gcsImageUri = ""; /** - * Creates a new LocationInfo instance using the specified properties. + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @instance + */ + ImageSource.prototype.imageUri = ""; + + /** + * Creates a new ImageSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @static - * @param {google.cloud.vision.v1p3beta1.ILocationInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo instance + * @param {google.cloud.vision.v1p3beta1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource instance */ - LocationInfo.create = function create(properties) { - return new LocationInfo(properties); + ImageSource.create = function create(properties) { + return new ImageSource(properties); }; /** - * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocationInfo.verify|verify} messages. + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @static - * @param {google.cloud.vision.v1p3beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocationInfo.encode = function encode(message, writer) { + ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) - $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; /** - * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocationInfo.verify|verify} messages. + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @static - * @param {google.cloud.vision.v1p3beta1.ILocationInfo} message LocationInfo message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LocationInfo message from the specified reader or buffer. + * Decodes an ImageSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationInfo.decode = function decode(reader, length) { + ImageSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.LocationInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.gcsImageUri = reader.string(); + break; + case 2: + message.imageUri = reader.string(); break; default: reader.skipType(tag & 7); @@ -52156,114 +51616,117 @@ }; /** - * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * Decodes an ImageSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocationInfo.decodeDelimited = function decodeDelimited(reader) { + ImageSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LocationInfo message. + * Verifies an ImageSource message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LocationInfo.verify = function verify(message) { + ImageSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.latLng != null && message.hasOwnProperty("latLng")) { - var error = $root.google.type.LatLng.verify(message.latLng); - if (error) - return "latLng." + error; - } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; return null; }; /** - * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo + * @returns {google.cloud.vision.v1p3beta1.ImageSource} ImageSource */ - LocationInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.LocationInfo) + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageSource) return object; - var message = new $root.google.cloud.vision.v1p3beta1.LocationInfo(); - if (object.latLng != null) { - if (typeof object.latLng !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.LocationInfo.latLng: object expected"); - message.latLng = $root.google.type.LatLng.fromObject(object.latLng); - } + var message = new $root.google.cloud.vision.v1p3beta1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); return message; }; /** - * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @static - * @param {google.cloud.vision.v1p3beta1.LocationInfo} message LocationInfo + * @param {google.cloud.vision.v1p3beta1.ImageSource} message ImageSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LocationInfo.toObject = function toObject(message, options) { + ImageSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.latLng = null; - if (message.latLng != null && message.hasOwnProperty("latLng")) - object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); + if (options.defaults) { + object.gcsImageUri = ""; + object.imageUri = ""; + } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; return object; }; /** - * Converts this LocationInfo to JSON. + * Converts this ImageSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @memberof google.cloud.vision.v1p3beta1.ImageSource * @instance * @returns {Object.} JSON object */ - LocationInfo.prototype.toJSON = function toJSON() { + ImageSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LocationInfo; + return ImageSource; })(); - v1p3beta1.Property = (function() { + v1p3beta1.Image = (function() { /** - * Properties of a Property. + * Properties of an Image. * @memberof google.cloud.vision.v1p3beta1 - * @interface IProperty - * @property {string|null} [name] Property name - * @property {string|null} [value] Property value - * @property {number|Long|null} [uint64Value] Property uint64Value + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1p3beta1.IImageSource|null} [source] Image source */ /** - * Constructs a new Property. + * Constructs a new Image. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a Property. - * @implements IProperty + * @classdesc Represents an Image. + * @implements IImage * @constructor - * @param {google.cloud.vision.v1p3beta1.IProperty=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IImage=} [properties] Properties to set */ - function Property(properties) { + function Image(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -52271,101 +51734,88 @@ } /** - * Property name. - * @member {string} name - * @memberof google.cloud.vision.v1p3beta1.Property - * @instance - */ - Property.prototype.name = ""; - - /** - * Property value. - * @member {string} value - * @memberof google.cloud.vision.v1p3beta1.Property + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p3beta1.Image * @instance */ - Property.prototype.value = ""; + Image.prototype.content = $util.newBuffer([]); /** - * Property uint64Value. - * @member {number|Long} uint64Value - * @memberof google.cloud.vision.v1p3beta1.Property + * Image source. + * @member {google.cloud.vision.v1p3beta1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1p3beta1.Image * @instance */ - Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + Image.prototype.source = null; /** - * Creates a new Property instance using the specified properties. + * Creates a new Image instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.Property + * @memberof google.cloud.vision.v1p3beta1.Image * @static - * @param {google.cloud.vision.v1p3beta1.IProperty=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.Property} Property instance + * @param {google.cloud.vision.v1p3beta1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Image} Image instance */ - Property.create = function create(properties) { - return new Property(properties); + Image.create = function create(properties) { + return new Image(properties); }; /** - * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Property.verify|verify} messages. + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Image.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.Property + * @memberof google.cloud.vision.v1p3beta1.Image * @static - * @param {google.cloud.vision.v1p3beta1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImage} message Image message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encode = function encode(message, writer) { + Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1p3beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Property.verify|verify} messages. + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Image.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Property + * @memberof google.cloud.vision.v1p3beta1.Image * @static - * @param {google.cloud.vision.v1p3beta1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImage} message Image message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encodeDelimited = function encodeDelimited(message, writer) { + Image.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Property message from the specified reader or buffer. + * Decodes an Image message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.Property + * @memberof google.cloud.vision.v1p3beta1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.Property} Property + * @returns {google.cloud.vision.v1p3beta1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decode = function decode(reader, length) { + Image.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Property(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Image(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.content = reader.bytes(); break; case 2: - message.value = reader.string(); - break; - case 3: - message.uint64Value = reader.uint64(); + message.source = $root.google.cloud.vision.v1p3beta1.ImageSource.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -52376,148 +51826,145 @@ }; /** - * Decodes a Property message from the specified reader or buffer, length delimited. + * Decodes an Image message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Property + * @memberof google.cloud.vision.v1p3beta1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.Property} Property + * @returns {google.cloud.vision.v1p3beta1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decodeDelimited = function decodeDelimited(reader) { + Image.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Property message. + * Verifies an Image message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.Property + * @memberof google.cloud.vision.v1p3beta1.Image * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Property.verify = function verify(message) { + Image.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) - return "uint64Value: integer|Long expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageSource.verify(message.source); + if (error) + return "source." + error; + } return null; }; /** - * Creates a Property message from a plain object. Also converts values to their respective internal types. + * Creates an Image message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.Property + * @memberof google.cloud.vision.v1p3beta1.Image * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.Property} Property + * @returns {google.cloud.vision.v1p3beta1.Image} Image */ - Property.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.Property) + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Image) return object; - var message = new $root.google.cloud.vision.v1p3beta1.Property(); - if (object.name != null) - message.name = String(object.name); - if (object.value != null) - message.value = String(object.value); - if (object.uint64Value != null) - if ($util.Long) - (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; - else if (typeof object.uint64Value === "string") - message.uint64Value = parseInt(object.uint64Value, 10); - else if (typeof object.uint64Value === "number") - message.uint64Value = object.uint64Value; - else if (typeof object.uint64Value === "object") - message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + var message = new $root.google.cloud.vision.v1p3beta1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1p3beta1.ImageSource.fromObject(object.source); + } return message; }; /** - * Creates a plain object from a Property message. Also converts values to other types if specified. + * Creates a plain object from an Image message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.Property + * @memberof google.cloud.vision.v1p3beta1.Image * @static - * @param {google.cloud.vision.v1p3beta1.Property} message Property + * @param {google.cloud.vision.v1p3beta1.Image} message Image * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Property.toObject = function toObject(message, options) { + Image.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.name = ""; - object.value = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.uint64Value = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (typeof message.uint64Value === "number") - object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; - else - object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1p3beta1.ImageSource.toObject(message.source, options); return object; }; /** - * Converts this Property to JSON. + * Converts this Image to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.Property + * @memberof google.cloud.vision.v1p3beta1.Image * @instance * @returns {Object.} JSON object */ - Property.prototype.toJSON = function toJSON() { + Image.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Property; + return Image; })(); - v1p3beta1.EntityAnnotation = (function() { + v1p3beta1.FaceAnnotation = (function() { /** - * Properties of an EntityAnnotation. + * Properties of a FaceAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @interface IEntityAnnotation - * @property {string|null} [mid] EntityAnnotation mid - * @property {string|null} [locale] EntityAnnotation locale - * @property {string|null} [description] EntityAnnotation description - * @property {number|null} [score] EntityAnnotation score - * @property {number|null} [confidence] EntityAnnotation confidence - * @property {number|null} [topicality] EntityAnnotation topicality - * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly - * @property {Array.|null} [locations] EntityAnnotation locations - * @property {Array.|null} [properties] EntityAnnotation properties + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood */ /** - * Constructs a new EntityAnnotation. + * Constructs a new FaceAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an EntityAnnotation. - * @implements IEntityAnnotation + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation * @constructor - * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation=} [properties] Properties to set */ - function EntityAnnotation(properties) { - this.locations = []; - this.properties = []; + function FaceAnnotation(properties) { + this.landmarks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -52525,687 +51972,1216 @@ } /** - * EntityAnnotation mid. - * @member {string} mid - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.mid = ""; + FaceAnnotation.prototype.boundingPoly = null; /** - * EntityAnnotation locale. - * @member {string} locale - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.locale = ""; + FaceAnnotation.prototype.fdBoundingPoly = null; /** - * EntityAnnotation description. - * @member {string} description - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.description = ""; + FaceAnnotation.prototype.landmarks = $util.emptyArray; /** - * EntityAnnotation score. - * @member {number} score - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.score = 0; + FaceAnnotation.prototype.rollAngle = 0; /** - * EntityAnnotation confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.confidence = 0; + FaceAnnotation.prototype.panAngle = 0; /** - * EntityAnnotation topicality. - * @member {number} topicality - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.topicality = 0; + FaceAnnotation.prototype.tiltAngle = 0; /** - * EntityAnnotation boundingPoly. - * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.boundingPoly = null; + FaceAnnotation.prototype.detectionConfidence = 0; /** - * EntityAnnotation locations. - * @member {Array.} locations - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.locations = $util.emptyArray; + FaceAnnotation.prototype.landmarkingConfidence = 0; /** - * EntityAnnotation properties. - * @member {Array.} properties - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance */ - EntityAnnotation.prototype.properties = $util.emptyArray; + FaceAnnotation.prototype.joyLikelihood = 0; /** - * Creates a new EntityAnnotation instance using the specified properties. + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.sorrowLikelihood = 0; + + /** + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1p3beta1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * Creates a new FaceAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation instance + * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation instance */ - EntityAnnotation.create = function create(properties) { - return new EntityAnnotation(properties); + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); }; /** - * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.EntityAnnotation.verify|verify} messages. + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EntityAnnotation.encode = function encode(message, writer) { + FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.locations != null && message.locations.length) - for (var i = 0; i < message.locations.length; ++i) - $root.google.cloud.vision.v1p3beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.properties != null && message.properties.length) - for (var i = 0; i < message.properties.length; ++i) - $root.google.cloud.vision.v1p3beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; /** - * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.EntityAnnotation.verify|verify} messages. + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EntityAnnotation message from the specified reader or buffer. + * Decodes a FaceAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EntityAnnotation.decode = function decode(reader, length) { + FaceAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.EntityAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.mid = reader.string(); - break; + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + case 4: + message.rollAngle = reader.float(); + break; + case 5: + message.panAngle = reader.float(); + break; + case 6: + message.tiltAngle = reader.float(); + break; + case 7: + message.detectionConfidence = reader.float(); + break; + case 8: + message.landmarkingConfidence = reader.float(); + break; + case 9: + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; + } + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { + default: + return "joyLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { + default: + return "sorrowLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { + default: + return "angerLikelihood: enum value expected"; + case 0: + case 1: case 2: - message.locale = reader.string(); - break; case 3: - message.description = reader.string(); - break; case 4: - message.score = reader.float(); - break; case 5: - message.confidence = reader.float(); - break; - case 6: - message.topicality = reader.float(); - break; - case 7: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1p3beta1.LocationInfo.decode(reader, reader.uint32())); break; - case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1p3beta1.Property.decode(reader, reader.uint32())); + } + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { + default: + return "surpriseLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: break; + } + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { default: - reader.skipType(tag & 7); + return "underExposedLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: break; } - } - return message; - }; - - /** - * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EntityAnnotation message. - * @function verify - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EntityAnnotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.mid != null && message.hasOwnProperty("mid")) - if (!$util.isString(message.mid)) - return "mid: string expected"; - if (message.locale != null && message.hasOwnProperty("locale")) - if (!$util.isString(message.locale)) - return "locale: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.topicality != null && message.hasOwnProperty("topicality")) - if (typeof message.topicality !== "number") - return "topicality: number expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.locations != null && message.hasOwnProperty("locations")) { - if (!Array.isArray(message.locations)) - return "locations: array expected"; - for (var i = 0; i < message.locations.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.LocationInfo.verify(message.locations[i]); - if (error) - return "locations." + error; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { + default: + return "blurredLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; } - } - if (message.properties != null && message.hasOwnProperty("properties")) { - if (!Array.isArray(message.properties)) - return "properties: array expected"; - for (var i = 0; i < message.properties.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.Property.verify(message.properties[i]); - if (error) - return "properties." + error; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { + default: + return "headwearLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; } - } return null; }; /** - * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation} FaceAnnotation */ - EntityAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.EntityAnnotation) + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.FaceAnnotation) return object; - var message = new $root.google.cloud.vision.v1p3beta1.EntityAnnotation(); - if (object.mid != null) - message.mid = String(object.mid); - if (object.locale != null) - message.locale = String(object.locale); - if (object.description != null) - message.description = String(object.description); - if (object.score != null) - message.score = Number(object.score); - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.topicality != null) - message.topicality = Number(object.topicality); + var message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation(); if (object.boundingPoly != null) { if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.boundingPoly: object expected"); + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.boundingPoly: object expected"); message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); } - if (object.locations) { - if (!Array.isArray(object.locations)) - throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.locations: array expected"); - message.locations = []; - for (var i = 0; i < object.locations.length; ++i) { - if (typeof object.locations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.locations: object expected"); - message.locations[i] = $root.google.cloud.vision.v1p3beta1.LocationInfo.fromObject(object.locations[i]); - } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.fdBoundingPoly); } - if (object.properties) { - if (!Array.isArray(object.properties)) - throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.properties: array expected"); - message.properties = []; - for (var i = 0; i < object.properties.length; ++i) { - if (typeof object.properties[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.properties: object expected"); - message.properties[i] = $root.google.cloud.vision.v1p3beta1.Property.fromObject(object.properties[i]); + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); } } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { + case "UNKNOWN": + case 0: + message.joyLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.joyLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.joyLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.joyLikelihood = 3; + break; + case "LIKELY": + case 4: + message.joyLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.joyLikelihood = 5; + break; + } + switch (object.sorrowLikelihood) { + case "UNKNOWN": + case 0: + message.sorrowLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.sorrowLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.sorrowLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.sorrowLikelihood = 3; + break; + case "LIKELY": + case 4: + message.sorrowLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.sorrowLikelihood = 5; + break; + } + switch (object.angerLikelihood) { + case "UNKNOWN": + case 0: + message.angerLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.angerLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.angerLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.angerLikelihood = 3; + break; + case "LIKELY": + case 4: + message.angerLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.angerLikelihood = 5; + break; + } + switch (object.surpriseLikelihood) { + case "UNKNOWN": + case 0: + message.surpriseLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.surpriseLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.surpriseLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.surpriseLikelihood = 3; + break; + case "LIKELY": + case 4: + message.surpriseLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.surpriseLikelihood = 5; + break; + } + switch (object.underExposedLikelihood) { + case "UNKNOWN": + case 0: + message.underExposedLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.underExposedLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.underExposedLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.underExposedLikelihood = 3; + break; + case "LIKELY": + case 4: + message.underExposedLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; + break; + } return message; }; /** - * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.EntityAnnotation} message EntityAnnotation + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation} message FaceAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EntityAnnotation.toObject = function toObject(message, options) { + FaceAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.locations = []; - object.properties = []; - } + if (options.arrays || options.defaults) + object.landmarks = []; if (options.defaults) { - object.mid = ""; - object.locale = ""; - object.description = ""; - object.score = 0; - object.confidence = 0; - object.topicality = 0; object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; } - if (message.mid != null && message.hasOwnProperty("mid")) - object.mid = message.mid; - if (message.locale != null && message.hasOwnProperty("locale")) - object.locale = message.locale; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.topicality != null && message.hasOwnProperty("topicality")) - object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.locations && message.locations.length) { - object.locations = []; - for (var j = 0; j < message.locations.length; ++j) - object.locations[j] = $root.google.cloud.vision.v1p3beta1.LocationInfo.toObject(message.locations[j], options); - } - if (message.properties && message.properties.length) { - object.properties = []; - for (var j = 0; j < message.properties.length; ++j) - object.properties[j] = $root.google.cloud.vision.v1p3beta1.Property.toObject(message.properties[j], options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); } - return object; - }; - - /** - * Converts this EntityAnnotation to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation - * @instance - * @returns {Object.} JSON object - */ - EntityAnnotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return EntityAnnotation; - })(); - - v1p3beta1.LocalizedObjectAnnotation = (function() { - - /** - * Properties of a LocalizedObjectAnnotation. - * @memberof google.cloud.vision.v1p3beta1 - * @interface ILocalizedObjectAnnotation - * @property {string|null} [mid] LocalizedObjectAnnotation mid - * @property {string|null} [languageCode] LocalizedObjectAnnotation languageCode - * @property {string|null} [name] LocalizedObjectAnnotation name - * @property {number|null} [score] LocalizedObjectAnnotation score - * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] LocalizedObjectAnnotation boundingPoly - */ - - /** - * Constructs a new LocalizedObjectAnnotation. - * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a LocalizedObjectAnnotation. - * @implements ILocalizedObjectAnnotation - * @constructor - * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation=} [properties] Properties to set - */ - function LocalizedObjectAnnotation(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]]; - } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + return object; + }; /** - * LocalizedObjectAnnotation mid. - * @member {string} mid - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * Converts this FaceAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation * @instance + * @returns {Object.} JSON object */ - LocalizedObjectAnnotation.prototype.mid = ""; + FaceAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * LocalizedObjectAnnotation languageCode. - * @member {string} languageCode - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.languageCode = ""; + FaceAnnotation.Landmark = (function() { - /** - * LocalizedObjectAnnotation name. - * @member {string} name - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.name = ""; + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1p3beta1.IPosition|null} [position] Landmark position + */ - /** - * LocalizedObjectAnnotation score. - * @member {number} score - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.score = 0; + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } - /** - * LocalizedObjectAnnotation boundingPoly. - * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.boundingPoly = null; + /** + * Landmark type. + * @member {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; - /** - * Creates a new LocalizedObjectAnnotation instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @static - * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation instance - */ - LocalizedObjectAnnotation.create = function create(properties) { - return new LocalizedObjectAnnotation(properties); - }; + /** + * Landmark position. + * @member {google.cloud.vision.v1p3beta1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; - /** - * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @static - * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LocalizedObjectAnnotation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - return writer; - }; + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; - /** - * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @static - * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LocalizedObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1p3beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; - /** - * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LocalizedObjectAnnotation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1p3beta1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1p3beta1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; + + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": case 1: - message.mid = reader.string(); + message.type = 1; break; + case "RIGHT_EYE": case 2: - message.languageCode = reader.string(); + message.type = 2; break; + case "LEFT_OF_LEFT_EYEBROW": case 3: - message.name = reader.string(); + message.type = 3; break; + case "RIGHT_OF_LEFT_EYEBROW": case 4: - message.score = reader.float(); + message.type = 4; break; + case "LEFT_OF_RIGHT_EYEBROW": case 5: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + message.type = 5; break; - default: - reader.skipType(tag & 7); + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; break; } - } - return message; - }; - - /** - * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LocalizedObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LocalizedObjectAnnotation message. - * @function verify - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LocalizedObjectAnnotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.mid != null && message.hasOwnProperty("mid")) - if (!$util.isString(message.mid)) - return "mid: string expected"; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - if (!$util.isString(message.languageCode)) - return "languageCode: string expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - return null; - }; - - /** - * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation - */ - LocalizedObjectAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation) + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1p3beta1.Position.fromObject(object.position); + } + return message; + }; + + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1p3beta1.Position.toObject(message.position, options); return object; - var message = new $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation(); - if (object.mid != null) - message.mid = String(object.mid); - if (object.languageCode != null) - message.languageCode = String(object.languageCode); - if (object.name != null) - message.name = String(object.name); - if (object.score != null) - message.score = Number(object.score); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); - } - return message; - }; + }; - /** - * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @static - * @param {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} message LocalizedObjectAnnotation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LocalizedObjectAnnotation.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.mid = ""; - object.languageCode = ""; - object.name = ""; - object.score = 0; - object.boundingPoly = null; - } - if (message.mid != null && message.hasOwnProperty("mid")) - object.mid = message.mid; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - object.languageCode = message.languageCode; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); - return object; - }; + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this LocalizedObjectAnnotation to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation - * @instance - * @returns {Object.} JSON object - */ - LocalizedObjectAnnotation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Type enum. + * @name google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); - return LocalizedObjectAnnotation; + return Landmark; + })(); + + return FaceAnnotation; })(); - v1p3beta1.SafeSearchAnnotation = (function() { + v1p3beta1.LocationInfo = (function() { /** - * Properties of a SafeSearchAnnotation. + * Properties of a LocationInfo. * @memberof google.cloud.vision.v1p3beta1 - * @interface ISafeSearchAnnotation - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [adult] SafeSearchAnnotation adult - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [medical] SafeSearchAnnotation medical - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [violence] SafeSearchAnnotation violence - * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [racy] SafeSearchAnnotation racy + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng */ /** - * Constructs a new SafeSearchAnnotation. + * Constructs a new LocationInfo. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a SafeSearchAnnotation. - * @implements ISafeSearchAnnotation + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo * @constructor - * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.ILocationInfo=} [properties] Properties to set */ - function SafeSearchAnnotation(properties) { + function LocationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -53213,437 +53189,193 @@ } /** - * SafeSearchAnnotation adult. - * @member {google.cloud.vision.v1p3beta1.Likelihood} adult - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.adult = 0; - - /** - * SafeSearchAnnotation spoof. - * @member {google.cloud.vision.v1p3beta1.Likelihood} spoof - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.spoof = 0; - - /** - * SafeSearchAnnotation medical. - * @member {google.cloud.vision.v1p3beta1.Likelihood} medical - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.medical = 0; - - /** - * SafeSearchAnnotation violence. - * @member {google.cloud.vision.v1p3beta1.Likelihood} violence - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.violence = 0; - - /** - * SafeSearchAnnotation racy. - * @member {google.cloud.vision.v1p3beta1.Likelihood} racy - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1p3beta1.LocationInfo * @instance */ - SafeSearchAnnotation.prototype.racy = 0; + LocationInfo.prototype.latLng = null; /** - * Creates a new SafeSearchAnnotation instance using the specified properties. + * Creates a new LocationInfo instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation instance + * @param {google.cloud.vision.v1p3beta1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo instance */ - SafeSearchAnnotation.create = function create(properties) { - return new SafeSearchAnnotation(properties); + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); }; /** - * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify|verify} messages. + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocationInfo.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ILocationInfo} message LocationInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SafeSearchAnnotation.encode = function encode(message, writer) { + LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify|verify} messages. + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocationInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ILocationInfo} message LocationInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * Decodes a LocationInfo message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocationInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SafeSearchAnnotation.decode = function decode(reader, length) { + LocationInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.LocationInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.adult = reader.int32(); - break; - case 2: - message.spoof = reader.int32(); - break; - case 3: - message.medical = reader.int32(); - break; - case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; - } - } - return message; - }; - - /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SafeSearchAnnotation message. - * @function verify - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SafeSearchAnnotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.adult != null && message.hasOwnProperty("adult")) - switch (message.adult) { - default: - return "adult: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.spoof != null && message.hasOwnProperty("spoof")) - switch (message.spoof) { - default: - return "spoof: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.medical != null && message.hasOwnProperty("medical")) - switch (message.medical) { - default: - return "medical: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.violence != null && message.hasOwnProperty("violence")) - switch (message.violence) { - default: - return "violence: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.racy != null && message.hasOwnProperty("racy")) - switch (message.racy) { - default: - return "racy: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - return null; - }; - - /** - * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation - */ - SafeSearchAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation) - return object; - var message = new $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation(); - switch (object.adult) { - case "UNKNOWN": - case 0: - message.adult = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.adult = 1; - break; - case "UNLIKELY": - case 2: - message.adult = 2; - break; - case "POSSIBLE": - case 3: - message.adult = 3; - break; - case "LIKELY": - case 4: - message.adult = 4; - break; - case "VERY_LIKELY": - case 5: - message.adult = 5; - break; - } - switch (object.spoof) { - case "UNKNOWN": - case 0: - message.spoof = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.spoof = 1; - break; - case "UNLIKELY": - case 2: - message.spoof = 2; - break; - case "POSSIBLE": - case 3: - message.spoof = 3; - break; - case "LIKELY": - case 4: - message.spoof = 4; - break; - case "VERY_LIKELY": - case 5: - message.spoof = 5; - break; - } - switch (object.medical) { - case "UNKNOWN": - case 0: - message.medical = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.medical = 1; - break; - case "UNLIKELY": - case 2: - message.medical = 2; - break; - case "POSSIBLE": - case 3: - message.medical = 3; - break; - case "LIKELY": - case 4: - message.medical = 4; - break; - case "VERY_LIKELY": - case 5: - message.medical = 5; - break; - } - switch (object.violence) { - case "UNKNOWN": - case 0: - message.violence = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.violence = 1; - break; - case "UNLIKELY": - case 2: - message.violence = 2; - break; - case "POSSIBLE": - case 3: - message.violence = 3; - break; - case "LIKELY": - case 4: - message.violence = 4; - break; - case "VERY_LIKELY": - case 5: - message.violence = 5; - break; + } } - switch (object.racy) { - case "UNKNOWN": - case 0: - message.racy = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.racy = 1; - break; - case "UNLIKELY": - case 2: - message.racy = 2; - break; - case "POSSIBLE": - case 3: - message.racy = 3; - break; - case "LIKELY": - case 4: - message.racy = 4; - break; - case "VERY_LIKELY": - case 5: - message.racy = 5; - break; + return message; + }; + + /** + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LocationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LocationInfo message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LocationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); + if (error) + return "latLng." + error; + } + return null; + }; + + /** + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.LocationInfo} LocationInfo + */ + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.LocationInfo) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); } return message; }; /** - * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {google.cloud.vision.v1p3beta1.LocationInfo} message LocationInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SafeSearchAnnotation.toObject = function toObject(message, options) { + LocationInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.adult = options.enums === String ? "UNKNOWN" : 0; - object.spoof = options.enums === String ? "UNKNOWN" : 0; - object.medical = options.enums === String ? "UNKNOWN" : 0; - object.violence = options.enums === String ? "UNKNOWN" : 0; - object.racy = options.enums === String ? "UNKNOWN" : 0; - } - if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.adult] : message.adult; - if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.spoof] : message.spoof; - if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.medical] : message.medical; - if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.violence] : message.violence; - if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.racy] : message.racy; + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); return object; }; /** - * Converts this SafeSearchAnnotation to JSON. + * Converts this LocationInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocationInfo * @instance * @returns {Object.} JSON object */ - SafeSearchAnnotation.prototype.toJSON = function toJSON() { + LocationInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SafeSearchAnnotation; + return LocationInfo; })(); - v1p3beta1.LatLongRect = (function() { + v1p3beta1.Property = (function() { /** - * Properties of a LatLongRect. + * Properties of a Property. * @memberof google.cloud.vision.v1p3beta1 - * @interface ILatLongRect - * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng - * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value */ /** - * Constructs a new LatLongRect. + * Constructs a new Property. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a LatLongRect. - * @implements ILatLongRect + * @classdesc Represents a Property. + * @implements IProperty * @constructor - * @param {google.cloud.vision.v1p3beta1.ILatLongRect=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IProperty=} [properties] Properties to set */ - function LatLongRect(properties) { + function Property(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -53651,88 +53383,101 @@ } /** - * LatLongRect minLatLng. - * @member {google.type.ILatLng|null|undefined} minLatLng - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.Property * @instance */ - LatLongRect.prototype.minLatLng = null; + Property.prototype.name = ""; /** - * LatLongRect maxLatLng. - * @member {google.type.ILatLng|null|undefined} maxLatLng - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1p3beta1.Property * @instance */ - LatLongRect.prototype.maxLatLng = null; + Property.prototype.value = ""; /** - * Creates a new LatLongRect instance using the specified properties. + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1p3beta1.Property + * @instance + */ + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Property instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @memberof google.cloud.vision.v1p3beta1.Property * @static - * @param {google.cloud.vision.v1p3beta1.ILatLongRect=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect instance + * @param {google.cloud.vision.v1p3beta1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.Property} Property instance */ - LatLongRect.create = function create(properties) { - return new LatLongRect(properties); + Property.create = function create(properties) { + return new Property(properties); }; /** - * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LatLongRect.verify|verify} messages. + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Property.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @memberof google.cloud.vision.v1p3beta1.Property * @static - * @param {google.cloud.vision.v1p3beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LatLongRect.encode = function encode(message, writer) { + Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; /** - * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LatLongRect.verify|verify} messages. + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Property.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @memberof google.cloud.vision.v1p3beta1.Property * @static - * @param {google.cloud.vision.v1p3beta1.ILatLongRect} message LatLongRect message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { + Property.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LatLongRect message from the specified reader or buffer. + * Decodes a Property message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @memberof google.cloud.vision.v1p3beta1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect + * @returns {google.cloud.vision.v1p3beta1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LatLongRect.decode = function decode(reader, length) { + Property.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.LatLongRect(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Property(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.name = reader.string(); break; case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.value = reader.string(); + break; + case 3: + message.uint64Value = reader.uint64(); break; default: reader.skipType(tag & 7); @@ -53743,128 +53488,148 @@ }; /** - * Decodes a LatLongRect message from the specified reader or buffer, length delimited. + * Decodes a Property message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @memberof google.cloud.vision.v1p3beta1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect + * @returns {google.cloud.vision.v1p3beta1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LatLongRect.decodeDelimited = function decodeDelimited(reader) { + Property.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LatLongRect message. + * Verifies a Property message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @memberof google.cloud.vision.v1p3beta1.Property * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LatLongRect.verify = function verify(message) { + Property.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { - var error = $root.google.type.LatLng.verify(message.minLatLng); - if (error) - return "minLatLng." + error; - } - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { - var error = $root.google.type.LatLng.verify(message.maxLatLng); - if (error) - return "maxLatLng." + error; - } + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; return null; }; /** - * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. + * Creates a Property message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @memberof google.cloud.vision.v1p3beta1.Property * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect + * @returns {google.cloud.vision.v1p3beta1.Property} Property */ - LatLongRect.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.LatLongRect) + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.Property) return object; - var message = new $root.google.cloud.vision.v1p3beta1.LatLongRect(); - if (object.minLatLng != null) { - if (typeof object.minLatLng !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.LatLongRect.minLatLng: object expected"); - message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); - } - if (object.maxLatLng != null) { - if (typeof object.maxLatLng !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.LatLongRect.maxLatLng: object expected"); - message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); - } + var message = new $root.google.cloud.vision.v1p3beta1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); return message; }; /** - * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. + * Creates a plain object from a Property message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @memberof google.cloud.vision.v1p3beta1.Property * @static - * @param {google.cloud.vision.v1p3beta1.LatLongRect} message LatLongRect + * @param {google.cloud.vision.v1p3beta1.Property} message Property * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LatLongRect.toObject = function toObject(message, options) { + Property.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.minLatLng = null; - object.maxLatLng = null; + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; } - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; return object; }; /** - * Converts this LatLongRect to JSON. + * Converts this Property to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @memberof google.cloud.vision.v1p3beta1.Property * @instance * @returns {Object.} JSON object */ - LatLongRect.prototype.toJSON = function toJSON() { + Property.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LatLongRect; + return Property; })(); - v1p3beta1.ColorInfo = (function() { + v1p3beta1.EntityAnnotation = (function() { /** - * Properties of a ColorInfo. + * Properties of an EntityAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @interface IColorInfo - * @property {google.type.IColor|null} [color] ColorInfo color - * @property {number|null} [score] ColorInfo score - * @property {number|null} [pixelFraction] ColorInfo pixelFraction + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties */ /** - * Constructs a new ColorInfo. + * Constructs a new EntityAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a ColorInfo. - * @implements IColorInfo + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation * @constructor - * @param {google.cloud.vision.v1p3beta1.IColorInfo=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation=} [properties] Properties to set */ - function ColorInfo(properties) { + function EntityAnnotation(properties) { + this.locations = []; + this.properties = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -53872,101 +53637,185 @@ } /** - * ColorInfo color. - * @member {google.type.IColor|null|undefined} color - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @instance */ - ColorInfo.prototype.color = null; + EntityAnnotation.prototype.mid = ""; /** - * ColorInfo score. + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locale = ""; + + /** + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. * @member {number} score - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @instance */ - ColorInfo.prototype.score = 0; + EntityAnnotation.prototype.score = 0; /** - * ColorInfo pixelFraction. - * @member {number} pixelFraction - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * EntityAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @instance */ - ColorInfo.prototype.pixelFraction = 0; + EntityAnnotation.prototype.confidence = 0; /** - * Creates a new ColorInfo instance using the specified properties. + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.topicality = 0; + + /** + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IColorInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo instance + * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation instance */ - ColorInfo.create = function create(properties) { - return new ColorInfo(properties); + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); }; /** - * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ColorInfo.verify|verify} messages. + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.EntityAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ColorInfo.encode = function encode(message, writer) { + EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) - $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1p3beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1p3beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; /** - * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ColorInfo.verify|verify} messages. + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.EntityAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ColorInfo message from the specified reader or buffer. + * Decodes an EntityAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColorInfo.decode = function decode(reader, length) { + EntityAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ColorInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.EntityAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); + message.mid = reader.string(); break; case 2: - message.score = reader.float(); + message.locale = reader.string(); break; case 3: - message.pixelFraction = reader.float(); + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p3beta1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p3beta1.Property.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -53977,130 +53826,217 @@ }; /** - * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColorInfo.decodeDelimited = function decodeDelimited(reader) { + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ColorInfo message. + * Verifies an EntityAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ColorInfo.verify = function verify(message) { + EntityAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.color != null && message.hasOwnProperty("color")) { - var error = $root.google.type.Color.verify(message.color); - if (error) - return "color." + error; - } + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; if (message.score != null && message.hasOwnProperty("score")) if (typeof message.score !== "number") return "score: number expected"; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - if (typeof message.pixelFraction !== "number") - return "pixelFraction: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } + } return null; }; /** - * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1p3beta1.EntityAnnotation} EntityAnnotation */ - ColorInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.ColorInfo) + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.EntityAnnotation) return object; - var message = new $root.google.cloud.vision.v1p3beta1.ColorInfo(); - if (object.color != null) { - if (typeof object.color !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.ColorInfo.color: object expected"); - message.color = $root.google.type.Color.fromObject(object.color); - } + var message = new $root.google.cloud.vision.v1p3beta1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); if (object.score != null) message.score = Number(object.score); - if (object.pixelFraction != null) - message.pixelFraction = Number(object.pixelFraction); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1p3beta1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1p3beta1.Property.fromObject(object.properties[i]); + } + } return message; }; /** - * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.ColorInfo} message ColorInfo + * @param {google.cloud.vision.v1p3beta1.EntityAnnotation} message EntityAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ColorInfo.toObject = function toObject(message, options) { + EntityAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } if (options.defaults) { - object.color = null; + object.mid = ""; + object.locale = ""; + object.description = ""; object.score = 0; - object.pixelFraction = 0; + object.confidence = 0; + object.topicality = 0; + object.boundingPoly = null; } - if (message.color != null && message.hasOwnProperty("color")) - object.color = $root.google.type.Color.toObject(message.color, options); + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; if (message.score != null && message.hasOwnProperty("score")) object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1p3beta1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1p3beta1.Property.toObject(message.properties[j], options); + } return object; }; /** - * Converts this ColorInfo to JSON. + * Converts this EntityAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation * @instance * @returns {Object.} JSON object */ - ColorInfo.prototype.toJSON = function toJSON() { + EntityAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ColorInfo; + return EntityAnnotation; })(); - v1p3beta1.DominantColorsAnnotation = (function() { + v1p3beta1.LocalizedObjectAnnotation = (function() { /** - * Properties of a DominantColorsAnnotation. + * Properties of a LocalizedObjectAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @interface IDominantColorsAnnotation - * @property {Array.|null} [colors] DominantColorsAnnotation colors + * @interface ILocalizedObjectAnnotation + * @property {string|null} [mid] LocalizedObjectAnnotation mid + * @property {string|null} [languageCode] LocalizedObjectAnnotation languageCode + * @property {string|null} [name] LocalizedObjectAnnotation name + * @property {number|null} [score] LocalizedObjectAnnotation score + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] LocalizedObjectAnnotation boundingPoly */ /** - * Constructs a new DominantColorsAnnotation. + * Constructs a new LocalizedObjectAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a DominantColorsAnnotation. - * @implements IDominantColorsAnnotation + * @classdesc Represents a LocalizedObjectAnnotation. + * @implements ILocalizedObjectAnnotation * @constructor - * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation=} [properties] Properties to set */ - function DominantColorsAnnotation(properties) { - this.colors = []; + function LocalizedObjectAnnotation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -54108,78 +54044,127 @@ } /** - * DominantColorsAnnotation colors. - * @member {Array.} colors - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * LocalizedObjectAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @instance */ - DominantColorsAnnotation.prototype.colors = $util.emptyArray; + LocalizedObjectAnnotation.prototype.mid = ""; /** - * Creates a new DominantColorsAnnotation instance using the specified properties. + * LocalizedObjectAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.languageCode = ""; + + /** + * LocalizedObjectAnnotation name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.name = ""; + + /** + * LocalizedObjectAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.score = 0; + + /** + * LocalizedObjectAnnotation boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.boundingPoly = null; + + /** + * Creates a new LocalizedObjectAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation instance + * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation instance */ - DominantColorsAnnotation.create = function create(properties) { - return new DominantColorsAnnotation(properties); + LocalizedObjectAnnotation.create = function create(properties) { + return new LocalizedObjectAnnotation(properties); }; /** - * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify|verify} messages. + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DominantColorsAnnotation.encode = function encode(message, writer) { + LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.colors != null && message.colors.length) - for (var i = 0; i < message.colors.length; ++i) - $root.google.cloud.vision.v1p3beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; /** - * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify|verify} messages. + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + LocalizedObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decode = function decode(reader, length) { + LocalizedObjectAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1p3beta1.ColorInfo.decode(reader, reader.uint32())); + message.mid = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + case 3: + message.name = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -54190,124 +54175,149 @@ }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + LocalizedObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DominantColorsAnnotation message. + * Verifies a LocalizedObjectAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DominantColorsAnnotation.verify = function verify(message) { + LocalizedObjectAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.colors != null && message.hasOwnProperty("colors")) { - if (!Array.isArray(message.colors)) - return "colors: array expected"; - for (var i = 0; i < message.colors.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.ColorInfo.verify(message.colors[i]); - if (error) - return "colors." + error; - } + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; } return null; }; /** - * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation */ - DominantColorsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation) + LocalizedObjectAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation) return object; - var message = new $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation(); - if (object.colors) { - if (!Array.isArray(object.colors)) - throw TypeError(".google.cloud.vision.v1p3beta1.DominantColorsAnnotation.colors: array expected"); - message.colors = []; - for (var i = 0; i < object.colors.length; ++i) { - if (typeof object.colors[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.DominantColorsAnnotation.colors: object expected"); - message.colors[i] = $root.google.cloud.vision.v1p3beta1.ColorInfo.fromObject(object.colors[i]); - } + var message = new $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.name != null) + message.name = String(object.name); + if (object.score != null) + message.score = Number(object.score); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); } return message; }; /** - * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} message LocalizedObjectAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DominantColorsAnnotation.toObject = function toObject(message, options) { + LocalizedObjectAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.colors = []; - if (message.colors && message.colors.length) { - object.colors = []; - for (var j = 0; j < message.colors.length; ++j) - object.colors[j] = $root.google.cloud.vision.v1p3beta1.ColorInfo.toObject(message.colors[j], options); + if (options.defaults) { + object.mid = ""; + object.languageCode = ""; + object.name = ""; + object.score = 0; + object.boundingPoly = null; } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); return object; }; /** - * Converts this DominantColorsAnnotation to JSON. + * Converts this LocalizedObjectAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation * @instance * @returns {Object.} JSON object */ - DominantColorsAnnotation.prototype.toJSON = function toJSON() { + LocalizedObjectAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DominantColorsAnnotation; + return LocalizedObjectAnnotation; })(); - v1p3beta1.ImageProperties = (function() { + v1p3beta1.SafeSearchAnnotation = (function() { /** - * Properties of an ImageProperties. + * Properties of a SafeSearchAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @interface IImageProperties - * @property {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1p3beta1.Likelihood|null} [racy] SafeSearchAnnotation racy */ /** - * Constructs a new ImageProperties. + * Constructs a new SafeSearchAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an ImageProperties. - * @implements IImageProperties + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation * @constructor - * @param {google.cloud.vision.v1p3beta1.IImageProperties=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation=} [properties] Properties to set */ - function ImageProperties(properties) { + function SafeSearchAnnotation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -54315,75 +54325,127 @@ } /** - * ImageProperties dominantColors. - * @member {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation|null|undefined} dominantColors - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1p3beta1.Likelihood} adult + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @instance */ - ImageProperties.prototype.dominantColors = null; + SafeSearchAnnotation.prototype.adult = 0; /** - * Creates a new ImageProperties instance using the specified properties. + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1p3beta1.Likelihood} spoof + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoof = 0; + + /** + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1p3beta1.Likelihood} medical + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medical = 0; + + /** + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1p3beta1.Likelihood} violence + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1p3beta1.Likelihood} racy + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IImageProperties=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties instance + * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation instance */ - ImageProperties.create = function create(properties) { - return new ImageProperties(properties); + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); }; /** - * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageProperties.verify|verify} messages. + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encode = function encode(message, writer) { + SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; /** - * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageProperties.verify|verify} messages. + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageProperties message from the specified reader or buffer. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decode = function decode(reader, length) { + SafeSearchAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageProperties(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + message.adult = reader.int32(); + break; + case 2: + message.spoof = reader.int32(); + break; + case 3: + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); break; default: reader.skipType(tag & 7); @@ -54394,114 +54456,306 @@ }; /** - * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decodeDelimited = function decodeDelimited(reader) { + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageProperties message. + * Verifies a SafeSearchAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageProperties.verify = function verify(message) { + SafeSearchAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { - var error = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify(message.dominantColors); - if (error) - return "dominantColors." + error; - } + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } return null; }; /** - * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} SafeSearchAnnotation */ - ImageProperties.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageProperties) + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation) return object; - var message = new $root.google.cloud.vision.v1p3beta1.ImageProperties(); - if (object.dominantColors != null) { - if (typeof object.dominantColors !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.ImageProperties.dominantColors: object expected"); - message.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.fromObject(object.dominantColors); + var message = new $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; } return message; }; /** - * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.ImageProperties} message ImageProperties + * @param {google.cloud.vision.v1p3beta1.SafeSearchAnnotation} message SafeSearchAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageProperties.toObject = function toObject(message, options) { + SafeSearchAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.dominantColors = null; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - object.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); + if (options.defaults) { + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; + } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.racy] : message.racy; return object; }; /** - * Converts this ImageProperties to JSON. + * Converts this SafeSearchAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation * @instance * @returns {Object.} JSON object */ - ImageProperties.prototype.toJSON = function toJSON() { + SafeSearchAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageProperties; + return SafeSearchAnnotation; })(); - v1p3beta1.CropHint = (function() { + v1p3beta1.LatLongRect = (function() { /** - * Properties of a CropHint. + * Properties of a LatLongRect. * @memberof google.cloud.vision.v1p3beta1 - * @interface ICropHint - * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly - * @property {number|null} [confidence] CropHint confidence - * @property {number|null} [importanceFraction] CropHint importanceFraction + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng */ /** - * Constructs a new CropHint. + * Constructs a new LatLongRect. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a CropHint. - * @implements ICropHint + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect * @constructor - * @param {google.cloud.vision.v1p3beta1.ICropHint=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.ILatLongRect=} [properties] Properties to set */ - function CropHint(properties) { + function LatLongRect(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -54509,101 +54763,88 @@ } /** - * CropHint boundingPoly. - * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p3beta1.CropHint - * @instance - */ - CropHint.prototype.boundingPoly = null; - - /** - * CropHint confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p3beta1.CropHint + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @instance */ - CropHint.prototype.confidence = 0; + LatLongRect.prototype.minLatLng = null; /** - * CropHint importanceFraction. - * @member {number} importanceFraction - * @memberof google.cloud.vision.v1p3beta1.CropHint + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @instance */ - CropHint.prototype.importanceFraction = 0; + LatLongRect.prototype.maxLatLng = null; /** - * Creates a new CropHint instance using the specified properties. + * Creates a new LatLongRect instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.CropHint + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p3beta1.ICropHint=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint instance + * @param {google.cloud.vision.v1p3beta1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect instance */ - CropHint.create = function create(properties) { - return new CropHint(properties); + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); }; /** - * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHint.verify|verify} messages. + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p3beta1.LatLongRect.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.CropHint + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p3beta1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encode = function encode(message, writer) { + LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHint.verify|verify} messages. + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.LatLongRect.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.CropHint + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p3beta1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encodeDelimited = function encodeDelimited(message, writer) { + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHint message from the specified reader or buffer. + * Decodes a LatLongRect message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.CropHint + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decode = function decode(reader, length) { + LatLongRect.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CropHint(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.LatLongRect(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; case 2: - message.confidence = reader.float(); - break; - case 3: - message.importanceFraction = reader.float(); + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -54614,130 +54855,128 @@ }; /** - * Decodes a CropHint message from the specified reader or buffer, length delimited. + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.CropHint + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decodeDelimited = function decodeDelimited(reader) { + LatLongRect.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHint message. + * Verifies a LatLongRect message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.CropHint + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHint.verify = function verify(message) { + LatLongRect.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); if (error) - return "boundingPoly." + error; + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - if (typeof message.importanceFraction !== "number") - return "importanceFraction: number expected"; return null; }; /** - * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.CropHint + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p3beta1.LatLongRect} LatLongRect */ - CropHint.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.CropHint) + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.LatLongRect) return object; - var message = new $root.google.cloud.vision.v1p3beta1.CropHint(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.CropHint.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); + var message = new $root.google.cloud.vision.v1p3beta1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); } - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.importanceFraction != null) - message.importanceFraction = Number(object.importanceFraction); return message; }; /** - * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.CropHint + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p3beta1.CropHint} message CropHint + * @param {google.cloud.vision.v1p3beta1.LatLongRect} message LatLongRect * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHint.toObject = function toObject(message, options) { + LatLongRect.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.boundingPoly = null; - object.confidence = 0; - object.importanceFraction = 0; + object.minLatLng = null; + object.maxLatLng = null; } - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); return object; }; /** - * Converts this CropHint to JSON. + * Converts this LatLongRect to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.CropHint + * @memberof google.cloud.vision.v1p3beta1.LatLongRect * @instance * @returns {Object.} JSON object */ - CropHint.prototype.toJSON = function toJSON() { + LatLongRect.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHint; + return LatLongRect; })(); - v1p3beta1.CropHintsAnnotation = (function() { + v1p3beta1.ColorInfo = (function() { /** - * Properties of a CropHintsAnnotation. + * Properties of a ColorInfo. * @memberof google.cloud.vision.v1p3beta1 - * @interface ICropHintsAnnotation - * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction */ /** - * Constructs a new CropHintsAnnotation. + * Constructs a new ColorInfo. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a CropHintsAnnotation. - * @implements ICropHintsAnnotation + * @classdesc Represents a ColorInfo. + * @implements IColorInfo * @constructor - * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IColorInfo=} [properties] Properties to set */ - function CropHintsAnnotation(properties) { - this.cropHints = []; + function ColorInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -54745,78 +54984,101 @@ } /** - * CropHintsAnnotation cropHints. - * @member {Array.} cropHints - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.color = null; + + /** + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.score = 0; + + /** + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @instance */ - CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + ColorInfo.prototype.pixelFraction = 0; /** - * Creates a new CropHintsAnnotation instance using the specified properties. + * Creates a new ColorInfo instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation instance + * @param {google.cloud.vision.v1p3beta1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo instance */ - CropHintsAnnotation.create = function create(properties) { - return new CropHintsAnnotation(properties); + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); }; /** - * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ColorInfo.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encode = function encode(message, writer) { + ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.cropHints != null && message.cropHints.length) - for (var i = 0; i < message.cropHints.length; ++i) - $root.google.cloud.vision.v1p3beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; /** - * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ColorInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * Decodes a ColorInfo message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decode = function decode(reader, length) { + ColorInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ColorInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1p3beta1.CropHint.decode(reader, reader.uint32())); + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + case 2: + message.score = reader.float(); + break; + case 3: + message.pixelFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -54827,125 +55089,130 @@ }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + ColorInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsAnnotation message. + * Verifies a ColorInfo message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsAnnotation.verify = function verify(message) { + ColorInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.cropHints != null && message.hasOwnProperty("cropHints")) { - if (!Array.isArray(message.cropHints)) - return "cropHints: array expected"; - for (var i = 0; i < message.cropHints.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.CropHint.verify(message.cropHints[i]); - if (error) - return "cropHints." + error; - } + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); + if (error) + return "color." + error; } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; return null; }; /** - * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p3beta1.ColorInfo} ColorInfo */ - CropHintsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation) + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ColorInfo) return object; - var message = new $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation(); - if (object.cropHints) { - if (!Array.isArray(object.cropHints)) - throw TypeError(".google.cloud.vision.v1p3beta1.CropHintsAnnotation.cropHints: array expected"); - message.cropHints = []; - for (var i = 0; i < object.cropHints.length; ++i) { - if (typeof object.cropHints[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.CropHintsAnnotation.cropHints: object expected"); - message.cropHints[i] = $root.google.cloud.vision.v1p3beta1.CropHint.fromObject(object.cropHints[i]); - } + var message = new $root.google.cloud.vision.v1p3beta1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); } + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); return message; }; /** - * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p3beta1.CropHintsAnnotation} message CropHintsAnnotation + * @param {google.cloud.vision.v1p3beta1.ColorInfo} message ColorInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsAnnotation.toObject = function toObject(message, options) { + ColorInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.cropHints = []; - if (message.cropHints && message.cropHints.length) { - object.cropHints = []; - for (var j = 0; j < message.cropHints.length; ++j) - object.cropHints[j] = $root.google.cloud.vision.v1p3beta1.CropHint.toObject(message.cropHints[j], options); + if (options.defaults) { + object.color = null; + object.score = 0; + object.pixelFraction = 0; } + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; return object; }; /** - * Converts this CropHintsAnnotation to JSON. + * Converts this ColorInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.ColorInfo * @instance * @returns {Object.} JSON object */ - CropHintsAnnotation.prototype.toJSON = function toJSON() { + ColorInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsAnnotation; + return ColorInfo; })(); - v1p3beta1.CropHintsParams = (function() { + v1p3beta1.DominantColorsAnnotation = (function() { /** - * Properties of a CropHintsParams. + * Properties of a DominantColorsAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @interface ICropHintsParams - * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors */ /** - * Constructs a new CropHintsParams. + * Constructs a new DominantColorsAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a CropHintsParams. - * @implements ICropHintsParams + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation * @constructor - * @param {google.cloud.vision.v1p3beta1.ICropHintsParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation=} [properties] Properties to set */ - function CropHintsParams(properties) { - this.aspectRatios = []; + function DominantColorsAnnotation(properties) { + this.colors = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -54953,86 +55220,78 @@ } /** - * CropHintsParams aspectRatios. - * @member {Array.} aspectRatios - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @instance */ - CropHintsParams.prototype.aspectRatios = $util.emptyArray; + DominantColorsAnnotation.prototype.colors = $util.emptyArray; /** - * Creates a new CropHintsParams instance using the specified properties. + * Creates a new DominantColorsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.ICropHintsParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams instance + * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation instance */ - CropHintsParams.create = function create(properties) { - return new CropHintsParams(properties); + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); }; /** - * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsParams.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encode = function encode(message, writer) { + DominantColorsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.aspectRatios != null && message.aspectRatios.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.aspectRatios.length; ++i) - writer.float(message.aspectRatios[i]); - writer.ldelim(); - } + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1p3beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsParams.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsParams message from the specified reader or buffer. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decode = function decode(reader, length) { + DominantColorsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CropHintsParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p3beta1.ColorInfo.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -55043,119 +55302,124 @@ }; /** - * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsParams message. + * Verifies a DominantColorsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsParams.verify = function verify(message) { + DominantColorsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { - if (!Array.isArray(message.aspectRatios)) - return "aspectRatios: array expected"; - for (var i = 0; i < message.aspectRatios.length; ++i) - if (typeof message.aspectRatios[i] !== "number") - return "aspectRatios: number[] expected"; + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ColorInfo.verify(message.colors[i]); + if (error) + return "colors." + error; + } } return null; }; /** - * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} DominantColorsAnnotation */ - CropHintsParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.CropHintsParams) + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation) return object; - var message = new $root.google.cloud.vision.v1p3beta1.CropHintsParams(); - if (object.aspectRatios) { - if (!Array.isArray(object.aspectRatios)) - throw TypeError(".google.cloud.vision.v1p3beta1.CropHintsParams.aspectRatios: array expected"); - message.aspectRatios = []; - for (var i = 0; i < object.aspectRatios.length; ++i) - message.aspectRatios[i] = Number(object.aspectRatios[i]); + var message = new $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1p3beta1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1p3beta1.ColorInfo.fromObject(object.colors[i]); + } } return message; }; /** - * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.CropHintsParams} message CropHintsParams + * @param {google.cloud.vision.v1p3beta1.DominantColorsAnnotation} message DominantColorsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsParams.toObject = function toObject(message, options) { + DominantColorsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.aspectRatios = []; - if (message.aspectRatios && message.aspectRatios.length) { - object.aspectRatios = []; - for (var j = 0; j < message.aspectRatios.length; ++j) - object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1p3beta1.ColorInfo.toObject(message.colors[j], options); } return object; }; /** - * Converts this CropHintsParams to JSON. + * Converts this DominantColorsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation * @instance * @returns {Object.} JSON object */ - CropHintsParams.prototype.toJSON = function toJSON() { + DominantColorsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsParams; + return DominantColorsAnnotation; })(); - v1p3beta1.WebDetectionParams = (function() { + v1p3beta1.ImageProperties = (function() { /** - * Properties of a WebDetectionParams. + * Properties of an ImageProperties. * @memberof google.cloud.vision.v1p3beta1 - * @interface IWebDetectionParams - * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + * @interface IImageProperties + * @property {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors */ /** - * Constructs a new WebDetectionParams. + * Constructs a new ImageProperties. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a WebDetectionParams. - * @implements IWebDetectionParams + * @classdesc Represents an ImageProperties. + * @implements IImageProperties * @constructor - * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IImageProperties=} [properties] Properties to set */ - function WebDetectionParams(properties) { + function ImageProperties(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -55163,75 +55427,75 @@ } /** - * WebDetectionParams includeGeoResults. - * @member {boolean} includeGeoResults - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1p3beta1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @instance */ - WebDetectionParams.prototype.includeGeoResults = false; + ImageProperties.prototype.dominantColors = null; /** - * Creates a new WebDetectionParams instance using the specified properties. + * Creates a new ImageProperties instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams instance + * @param {google.cloud.vision.v1p3beta1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties instance */ - WebDetectionParams.create = function create(properties) { - return new WebDetectionParams(properties); + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); }; /** - * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetectionParams.verify|verify} messages. + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageProperties.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encode = function encode(message, writer) { + ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetectionParams.verify|verify} messages. + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageProperties.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer. + * Decodes an ImageProperties message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decode = function decode(reader, length) { + ImageProperties.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.WebDetectionParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageProperties(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.includeGeoResults = reader.bool(); + case 1: + message.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -55242,112 +55506,114 @@ }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + ImageProperties.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WebDetectionParams message. + * Verifies an ImageProperties message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WebDetectionParams.verify = function verify(message) { + ImageProperties.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - if (typeof message.includeGeoResults !== "boolean") - return "includeGeoResults: boolean expected"; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.verify(message.dominantColors); + if (error) + return "dominantColors." + error; + } return null; }; /** - * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p3beta1.ImageProperties} ImageProperties */ - WebDetectionParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.WebDetectionParams) + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageProperties) return object; - var message = new $root.google.cloud.vision.v1p3beta1.WebDetectionParams(); - if (object.includeGeoResults != null) - message.includeGeoResults = Boolean(object.includeGeoResults); + var message = new $root.google.cloud.vision.v1p3beta1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.fromObject(object.dominantColors); + } return message; }; /** - * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p3beta1.WebDetectionParams} message WebDetectionParams + * @param {google.cloud.vision.v1p3beta1.ImageProperties} message ImageProperties * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WebDetectionParams.toObject = function toObject(message, options) { + ImageProperties.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) - object.includeGeoResults = false; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - object.includeGeoResults = message.includeGeoResults; + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); return object; }; /** - * Converts this WebDetectionParams to JSON. + * Converts this ImageProperties to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageProperties * @instance * @returns {Object.} JSON object */ - WebDetectionParams.prototype.toJSON = function toJSON() { + ImageProperties.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return WebDetectionParams; + return ImageProperties; })(); - v1p3beta1.ImageContext = (function() { + v1p3beta1.CropHint = (function() { /** - * Properties of an ImageContext. + * Properties of a CropHint. * @memberof google.cloud.vision.v1p3beta1 - * @interface IImageContext - * @property {google.cloud.vision.v1p3beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect - * @property {Array.|null} [languageHints] ImageContext languageHints - * @property {google.cloud.vision.v1p3beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams - * @property {google.cloud.vision.v1p3beta1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams - * @property {google.cloud.vision.v1p3beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @interface ICropHint + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction */ /** - * Constructs a new ImageContext. + * Constructs a new CropHint. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an ImageContext. - * @implements IImageContext + * @classdesc Represents a CropHint. + * @implements ICropHint * @constructor - * @param {google.cloud.vision.v1p3beta1.IImageContext=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.ICropHint=} [properties] Properties to set */ - function ImageContext(properties) { - this.languageHints = []; + function CropHint(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -55355,130 +55621,101 @@ } /** - * ImageContext latLongRect. - * @member {google.cloud.vision.v1p3beta1.ILatLongRect|null|undefined} latLongRect - * @memberof google.cloud.vision.v1p3beta1.ImageContext - * @instance - */ - ImageContext.prototype.latLongRect = null; - - /** - * ImageContext languageHints. - * @member {Array.} languageHints - * @memberof google.cloud.vision.v1p3beta1.ImageContext - * @instance - */ - ImageContext.prototype.languageHints = $util.emptyArray; - - /** - * ImageContext cropHintsParams. - * @member {google.cloud.vision.v1p3beta1.ICropHintsParams|null|undefined} cropHintsParams - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * CropHint boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.CropHint * @instance */ - ImageContext.prototype.cropHintsParams = null; + CropHint.prototype.boundingPoly = null; - /** - * ImageContext productSearchParams. - * @member {google.cloud.vision.v1p3beta1.IProductSearchParams|null|undefined} productSearchParams - * @memberof google.cloud.vision.v1p3beta1.ImageContext + /** + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p3beta1.CropHint * @instance */ - ImageContext.prototype.productSearchParams = null; + CropHint.prototype.confidence = 0; /** - * ImageContext webDetectionParams. - * @member {google.cloud.vision.v1p3beta1.IWebDetectionParams|null|undefined} webDetectionParams - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1p3beta1.CropHint * @instance */ - ImageContext.prototype.webDetectionParams = null; + CropHint.prototype.importanceFraction = 0; /** - * Creates a new ImageContext instance using the specified properties. + * Creates a new CropHint instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @memberof google.cloud.vision.v1p3beta1.CropHint * @static - * @param {google.cloud.vision.v1p3beta1.IImageContext=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext instance + * @param {google.cloud.vision.v1p3beta1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint instance */ - ImageContext.create = function create(properties) { - return new ImageContext(properties); + CropHint.create = function create(properties) { + return new CropHint(properties); }; /** - * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageContext.verify|verify} messages. + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHint.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @memberof google.cloud.vision.v1p3beta1.CropHint * @static - * @param {google.cloud.vision.v1p3beta1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encode = function encode(message, writer) { + CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - $root.google.cloud.vision.v1p3beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.languageHints != null && message.languageHints.length) - for (var i = 0; i < message.languageHints.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - $root.google.cloud.vision.v1p3beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) - $root.google.cloud.vision.v1p3beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - $root.google.cloud.vision.v1p3beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; /** - * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageContext.verify|verify} messages. + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHint.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @memberof google.cloud.vision.v1p3beta1.CropHint * @static - * @param {google.cloud.vision.v1p3beta1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + CropHint.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageContext message from the specified reader or buffer. + * Decodes a CropHint message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @memberof google.cloud.vision.v1p3beta1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decode = function decode(reader, length) { + CropHint.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageContext(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CropHint(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.decode(reader, reader.uint32()); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); break; case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 5: - message.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.decode(reader, reader.uint32()); + message.confidence = reader.float(); break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.decode(reader, reader.uint32()); + case 3: + message.importanceFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -55489,176 +55726,130 @@ }; /** - * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * Decodes a CropHint message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @memberof google.cloud.vision.v1p3beta1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decodeDelimited = function decodeDelimited(reader) { + CropHint.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageContext message. + * Verifies a CropHint message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @memberof google.cloud.vision.v1p3beta1.CropHint * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageContext.verify = function verify(message) { + CropHint.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { - var error = $root.google.cloud.vision.v1p3beta1.LatLongRect.verify(message.latLongRect); - if (error) - return "latLongRect." + error; - } - if (message.languageHints != null && message.hasOwnProperty("languageHints")) { - if (!Array.isArray(message.languageHints)) - return "languageHints: array expected"; - for (var i = 0; i < message.languageHints.length; ++i) - if (!$util.isString(message.languageHints[i])) - return "languageHints: string[] expected"; - } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { - var error = $root.google.cloud.vision.v1p3beta1.CropHintsParams.verify(message.cropHintsParams); - if (error) - return "cropHintsParams." + error; - } - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { - var error = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.verify(message.productSearchParams); - if (error) - return "productSearchParams." + error; - } - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { - var error = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.verify(message.webDetectionParams); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); if (error) - return "webDetectionParams." + error; + return "boundingPoly." + error; } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; return null; }; /** - * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @memberof google.cloud.vision.v1p3beta1.CropHint * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p3beta1.CropHint} CropHint */ - ImageContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageContext) + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.CropHint) return object; - var message = new $root.google.cloud.vision.v1p3beta1.ImageContext(); - if (object.latLongRect != null) { - if (typeof object.latLongRect !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.latLongRect: object expected"); - message.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.fromObject(object.latLongRect); - } - if (object.languageHints) { - if (!Array.isArray(object.languageHints)) - throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.languageHints: array expected"); - message.languageHints = []; - for (var i = 0; i < object.languageHints.length; ++i) - message.languageHints[i] = String(object.languageHints[i]); - } - if (object.cropHintsParams != null) { - if (typeof object.cropHintsParams !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.cropHintsParams: object expected"); - message.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.fromObject(object.cropHintsParams); - } - if (object.productSearchParams != null) { - if (typeof object.productSearchParams !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.productSearchParams: object expected"); - message.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.fromObject(object.productSearchParams); - } - if (object.webDetectionParams != null) { - if (typeof object.webDetectionParams !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.webDetectionParams: object expected"); - message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.fromObject(object.webDetectionParams); + var message = new $root.google.cloud.vision.v1p3beta1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); return message; }; /** - * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * Creates a plain object from a CropHint message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @memberof google.cloud.vision.v1p3beta1.CropHint * @static - * @param {google.cloud.vision.v1p3beta1.ImageContext} message ImageContext + * @param {google.cloud.vision.v1p3beta1.CropHint} message CropHint * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageContext.toObject = function toObject(message, options) { + CropHint.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.languageHints = []; if (options.defaults) { - object.latLongRect = null; - object.cropHintsParams = null; - object.productSearchParams = null; - object.webDetectionParams = null; - } - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - object.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.toObject(message.latLongRect, options); - if (message.languageHints && message.languageHints.length) { - object.languageHints = []; - for (var j = 0; j < message.languageHints.length; ++j) - object.languageHints[j] = message.languageHints[j]; + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - object.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.toObject(message.cropHintsParams, options); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) - object.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.toObject(message.productSearchParams, options); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - object.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; return object; }; /** - * Converts this ImageContext to JSON. + * Converts this CropHint to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @memberof google.cloud.vision.v1p3beta1.CropHint * @instance * @returns {Object.} JSON object */ - ImageContext.prototype.toJSON = function toJSON() { + CropHint.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageContext; + return CropHint; })(); - v1p3beta1.AnnotateImageRequest = (function() { + v1p3beta1.CropHintsAnnotation = (function() { /** - * Properties of an AnnotateImageRequest. + * Properties of a CropHintsAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @interface IAnnotateImageRequest - * @property {google.cloud.vision.v1p3beta1.IImage|null} [image] AnnotateImageRequest image - * @property {Array.|null} [features] AnnotateImageRequest features - * @property {google.cloud.vision.v1p3beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints */ /** - * Constructs a new AnnotateImageRequest. + * Constructs a new CropHintsAnnotation. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an AnnotateImageRequest. - * @implements IAnnotateImageRequest + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation * @constructor - * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation=} [properties] Properties to set */ - function AnnotateImageRequest(properties) { - this.features = []; + function CropHintsAnnotation(properties) { + this.cropHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -55666,104 +55857,78 @@ } /** - * AnnotateImageRequest image. - * @member {google.cloud.vision.v1p3beta1.IImage|null|undefined} image - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest - * @instance - */ - AnnotateImageRequest.prototype.image = null; - - /** - * AnnotateImageRequest features. - * @member {Array.} features - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest - * @instance - */ - AnnotateImageRequest.prototype.features = $util.emptyArray; - - /** - * AnnotateImageRequest imageContext. - * @member {google.cloud.vision.v1p3beta1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @instance */ - AnnotateImageRequest.prototype.imageContext = null; + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; /** - * Creates a new AnnotateImageRequest instance using the specified properties. + * Creates a new CropHintsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest instance + * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation instance */ - AnnotateImageRequest.create = function create(properties) { - return new AnnotateImageRequest(properties); + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); }; /** - * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encode = function encode(message, writer) { + CropHintsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) - $root.google.cloud.vision.v1p3beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.features != null && message.features.length) - for (var i = 0; i < message.features.length; ++i) - $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1p3beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * Decodes a CropHintsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decode = function decode(reader, length) { + CropHintsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.image = $root.google.cloud.vision.v1p3beta1.Image.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p3beta1.CropHint.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -55774,153 +55939,125 @@ }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateImageRequest message. + * Verifies a CropHintsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateImageRequest.verify = function verify(message) { + CropHintsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.image != null && message.hasOwnProperty("image")) { - var error = $root.google.cloud.vision.v1p3beta1.Image.verify(message.image); - if (error) - return "image." + error; - } - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (var i = 0; i < message.features.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.Feature.verify(message.features[i]); + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.CropHint.verify(message.cropHints[i]); if (error) - return "features." + error; + return "cropHints." + error; } } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) { - var error = $root.google.cloud.vision.v1p3beta1.ImageContext.verify(message.imageContext); - if (error) - return "imageContext." + error; - } return null; }; /** - * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p3beta1.CropHintsAnnotation} CropHintsAnnotation */ - AnnotateImageRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest) + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation) return object; - var message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest(); - if (object.image != null) { - if (typeof object.image !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.image: object expected"); - message.image = $root.google.cloud.vision.v1p3beta1.Image.fromObject(object.image); - } - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) { - if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.features: object expected"); - message.features[i] = $root.google.cloud.vision.v1p3beta1.Feature.fromObject(object.features[i]); + var message = new $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1p3beta1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1p3beta1.CropHint.fromObject(object.cropHints[i]); } } - if (object.imageContext != null) { - if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.imageContext: object expected"); - message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.fromObject(object.imageContext); - } return message; }; /** - * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p3beta1.AnnotateImageRequest} message AnnotateImageRequest + * @param {google.cloud.vision.v1p3beta1.CropHintsAnnotation} message CropHintsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageRequest.toObject = function toObject(message, options) { + CropHintsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.features = []; - if (options.defaults) { - object.image = null; - object.imageContext = null; - } - if (message.image != null && message.hasOwnProperty("image")) - object.image = $root.google.cloud.vision.v1p3beta1.Image.toObject(message.image, options); - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = $root.google.cloud.vision.v1p3beta1.Feature.toObject(message.features[j], options); + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1p3beta1.CropHint.toObject(message.cropHints[j], options); } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - object.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.toObject(message.imageContext, options); return object; }; /** - * Converts this AnnotateImageRequest to JSON. + * Converts this CropHintsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation * @instance * @returns {Object.} JSON object */ - AnnotateImageRequest.prototype.toJSON = function toJSON() { + CropHintsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageRequest; + return CropHintsAnnotation; })(); - v1p3beta1.ImageAnnotationContext = (function() { + v1p3beta1.CropHintsParams = (function() { /** - * Properties of an ImageAnnotationContext. + * Properties of a CropHintsParams. * @memberof google.cloud.vision.v1p3beta1 - * @interface IImageAnnotationContext - * @property {string|null} [uri] ImageAnnotationContext uri - * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios */ /** - * Constructs a new ImageAnnotationContext. + * Constructs a new CropHintsParams. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an ImageAnnotationContext. - * @implements IImageAnnotationContext + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams * @constructor - * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.ICropHintsParams=} [properties] Properties to set */ - function ImageAnnotationContext(properties) { + function CropHintsParams(properties) { + this.aspectRatios = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -55928,88 +56065,86 @@ } /** - * ImageAnnotationContext uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext - * @instance - */ - ImageAnnotationContext.prototype.uri = ""; - - /** - * ImageAnnotationContext pageNumber. - * @member {number} pageNumber - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @instance */ - ImageAnnotationContext.prototype.pageNumber = 0; + CropHintsParams.prototype.aspectRatios = $util.emptyArray; /** - * Creates a new ImageAnnotationContext instance using the specified properties. + * Creates a new CropHintsParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext instance + * @param {google.cloud.vision.v1p3beta1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams instance */ - ImageAnnotationContext.create = function create(properties) { - return new ImageAnnotationContext(properties); + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); }; /** - * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify|verify} messages. + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageAnnotationContext.encode = function encode(message, writer) { + CropHintsParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } return writer; }; /** - * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify|verify} messages. + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.CropHintsParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * Decodes a CropHintsParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAnnotationContext.decode = function decode(reader, length) { + CropHintsParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.CropHintsParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); - break; - case 2: - message.pageNumber = reader.int32(); + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); break; default: reader.skipType(tag & 7); @@ -56020,135 +56155,119 @@ }; /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageAnnotationContext message. + * Verifies a CropHintsParams message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageAnnotationContext.verify = function verify(message) { + CropHintsParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - if (!$util.isInteger(message.pageNumber)) - return "pageNumber: integer expected"; + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; + } return null; }; /** - * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1p3beta1.CropHintsParams} CropHintsParams */ - ImageAnnotationContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext) + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.CropHintsParams) return object; - var message = new $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext(); - if (object.uri != null) - message.uri = String(object.uri); - if (object.pageNumber != null) - message.pageNumber = object.pageNumber | 0; + var message = new $root.google.cloud.vision.v1p3beta1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1p3beta1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); + } return message; }; /** - * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p3beta1.ImageAnnotationContext} message ImageAnnotationContext + * @param {google.cloud.vision.v1p3beta1.CropHintsParams} message CropHintsParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageAnnotationContext.toObject = function toObject(message, options) { + CropHintsParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.uri = ""; - object.pageNumber = 0; + if (options.arrays || options.defaults) + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; } - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - object.pageNumber = message.pageNumber; return object; }; /** - * Converts this ImageAnnotationContext to JSON. + * Converts this CropHintsParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams * @instance * @returns {Object.} JSON object */ - ImageAnnotationContext.prototype.toJSON = function toJSON() { + CropHintsParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageAnnotationContext; + return CropHintsParams; })(); - v1p3beta1.AnnotateImageResponse = (function() { + v1p3beta1.WebDetectionParams = (function() { /** - * Properties of an AnnotateImageResponse. + * Properties of a WebDetectionParams. * @memberof google.cloud.vision.v1p3beta1 - * @interface IAnnotateImageResponse - * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations - * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations - * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations - * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations - * @property {Array.|null} [localizedObjectAnnotations] AnnotateImageResponse localizedObjectAnnotations - * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations - * @property {google.cloud.vision.v1p3beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation - * @property {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation - * @property {google.cloud.vision.v1p3beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation - * @property {google.cloud.vision.v1p3beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation - * @property {google.cloud.vision.v1p3beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection - * @property {google.cloud.vision.v1p3beta1.IProductSearchResults|null} [productSearchResults] AnnotateImageResponse productSearchResults - * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error - * @property {google.cloud.vision.v1p3beta1.IImageAnnotationContext|null} [context] AnnotateImageResponse context + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults */ /** - * Constructs a new AnnotateImageResponse. + * Constructs a new WebDetectionParams. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an AnnotateImageResponse. - * @implements IAnnotateImageResponse + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams * @constructor - * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams=} [properties] Properties to set */ - function AnnotateImageResponse(properties) { - this.faceAnnotations = []; - this.landmarkAnnotations = []; - this.logoAnnotations = []; - this.labelAnnotations = []; - this.localizedObjectAnnotations = []; - this.textAnnotations = []; + function WebDetectionParams(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -56156,624 +56275,191 @@ } /** - * AnnotateImageResponse faceAnnotations. - * @member {Array.} faceAnnotations - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse landmarkAnnotations. - * @member {Array.} landmarkAnnotations - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse logoAnnotations. - * @member {Array.} logoAnnotations - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse labelAnnotations. - * @member {Array.} labelAnnotations - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse localizedObjectAnnotations. - * @member {Array.} localizedObjectAnnotations - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.localizedObjectAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse textAnnotations. - * @member {Array.} textAnnotations - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse fullTextAnnotation. - * @member {google.cloud.vision.v1p3beta1.ITextAnnotation|null|undefined} fullTextAnnotation - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.fullTextAnnotation = null; - - /** - * AnnotateImageResponse safeSearchAnnotation. - * @member {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.safeSearchAnnotation = null; - - /** - * AnnotateImageResponse imagePropertiesAnnotation. - * @member {google.cloud.vision.v1p3beta1.IImageProperties|null|undefined} imagePropertiesAnnotation - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; - - /** - * AnnotateImageResponse cropHintsAnnotation. - * @member {google.cloud.vision.v1p3beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.cropHintsAnnotation = null; - - /** - * AnnotateImageResponse webDetection. - * @member {google.cloud.vision.v1p3beta1.IWebDetection|null|undefined} webDetection - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.webDetection = null; - - /** - * AnnotateImageResponse productSearchResults. - * @member {google.cloud.vision.v1p3beta1.IProductSearchResults|null|undefined} productSearchResults - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.productSearchResults = null; - - /** - * AnnotateImageResponse error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.error = null; - - /** - * AnnotateImageResponse context. - * @member {google.cloud.vision.v1p3beta1.IImageAnnotationContext|null|undefined} context - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams * @instance */ - AnnotateImageResponse.prototype.context = null; + WebDetectionParams.prototype.includeGeoResults = false; /** - * Creates a new AnnotateImageResponse instance using the specified properties. + * Creates a new WebDetectionParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse instance + * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams instance */ - AnnotateImageResponse.create = function create(properties) { - return new AnnotateImageResponse(properties); + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); }; /** - * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetectionParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encode = function encode(message, writer) { + WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.faceAnnotations != null && message.faceAnnotations.length) - for (var i = 0; i < message.faceAnnotations.length; ++i) - $root.google.cloud.vision.v1p3beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) - for (var i = 0; i < message.landmarkAnnotations.length; ++i) - $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.logoAnnotations != null && message.logoAnnotations.length) - for (var i = 0; i < message.logoAnnotations.length; ++i) - $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.labelAnnotations != null && message.labelAnnotations.length) - for (var i = 0; i < message.labelAnnotations.length; ++i) - $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.textAnnotations != null && message.textAnnotations.length) - for (var i = 0; i < message.textAnnotations.length; ++i) - $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - $root.google.cloud.vision.v1p3beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) - $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - $root.google.cloud.vision.v1p3beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - $root.google.cloud.vision.v1p3beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) - $root.google.cloud.vision.v1p3beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) - $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); - if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) - for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) - $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.encode(message.localizedObjectAnnotations[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; /** - * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.WebDetectionParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * Decodes a WebDetectionParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateImageResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 22: - if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) - message.localizedObjectAnnotations = []; - message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.decode(reader, reader.uint32()); - break; - case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.decode(reader, reader.uint32()); - break; - case 14: - message.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 21: - message.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an AnnotateImageResponse message. - * @function verify - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - AnnotateImageResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { - if (!Array.isArray(message.faceAnnotations)) - return "faceAnnotations: array expected"; - for (var i = 0; i < message.faceAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.verify(message.faceAnnotations[i]); - if (error) - return "faceAnnotations." + error; - } - } - if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { - if (!Array.isArray(message.landmarkAnnotations)) - return "landmarkAnnotations: array expected"; - for (var i = 0; i < message.landmarkAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); - if (error) - return "landmarkAnnotations." + error; - } - } - if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { - if (!Array.isArray(message.logoAnnotations)) - return "logoAnnotations: array expected"; - for (var i = 0; i < message.logoAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.logoAnnotations[i]); - if (error) - return "logoAnnotations." + error; - } - } - if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { - if (!Array.isArray(message.labelAnnotations)) - return "labelAnnotations: array expected"; - for (var i = 0; i < message.labelAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.labelAnnotations[i]); - if (error) - return "labelAnnotations." + error; - } - } - if (message.localizedObjectAnnotations != null && message.hasOwnProperty("localizedObjectAnnotations")) { - if (!Array.isArray(message.localizedObjectAnnotations)) - return "localizedObjectAnnotations: array expected"; - for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify(message.localizedObjectAnnotations[i]); - if (error) - return "localizedObjectAnnotations." + error; - } - } - if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { - if (!Array.isArray(message.textAnnotations)) - return "textAnnotations: array expected"; - for (var i = 0; i < message.textAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.textAnnotations[i]); - if (error) - return "textAnnotations." + error; - } - } - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { - var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.verify(message.fullTextAnnotation); - if (error) - return "fullTextAnnotation." + error; - } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { - var error = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); - if (error) - return "safeSearchAnnotation." + error; - } - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { - var error = $root.google.cloud.vision.v1p3beta1.ImageProperties.verify(message.imagePropertiesAnnotation); - if (error) - return "imagePropertiesAnnotation." + error; - } - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { - var error = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); - if (error) - return "cropHintsAnnotation." + error; - } - if (message.webDetection != null && message.hasOwnProperty("webDetection")) { - var error = $root.google.cloud.vision.v1p3beta1.WebDetection.verify(message.webDetection); - if (error) - return "webDetection." + error; - } - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) { - var error = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.verify(message.productSearchResults); - if (error) - return "productSearchResults." + error; - } - if (message.error != null && message.hasOwnProperty("error")) { - var error = $root.google.rpc.Status.verify(message.error); - if (error) - return "error." + error; - } - if (message.context != null && message.hasOwnProperty("context")) { - var error = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify(message.context); - if (error) - return "context." + error; + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.WebDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + message.includeGeoResults = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } } + return message; + }; + + /** + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WebDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WebDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; return null; }; /** - * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p3beta1.WebDetectionParams} WebDetectionParams */ - AnnotateImageResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse) + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.WebDetectionParams) return object; - var message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse(); - if (object.faceAnnotations) { - if (!Array.isArray(object.faceAnnotations)) - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.faceAnnotations: array expected"); - message.faceAnnotations = []; - for (var i = 0; i < object.faceAnnotations.length; ++i) { - if (typeof object.faceAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.faceAnnotations: object expected"); - message.faceAnnotations[i] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); - } - } - if (object.landmarkAnnotations) { - if (!Array.isArray(object.landmarkAnnotations)) - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); - message.landmarkAnnotations = []; - for (var i = 0; i < object.landmarkAnnotations.length; ++i) { - if (typeof object.landmarkAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); - message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); - } - } - if (object.logoAnnotations) { - if (!Array.isArray(object.logoAnnotations)) - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.logoAnnotations: array expected"); - message.logoAnnotations = []; - for (var i = 0; i < object.logoAnnotations.length; ++i) { - if (typeof object.logoAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.logoAnnotations: object expected"); - message.logoAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); - } - } - if (object.labelAnnotations) { - if (!Array.isArray(object.labelAnnotations)) - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.labelAnnotations: array expected"); - message.labelAnnotations = []; - for (var i = 0; i < object.labelAnnotations.length; ++i) { - if (typeof object.labelAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.labelAnnotations: object expected"); - message.labelAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); - } - } - if (object.localizedObjectAnnotations) { - if (!Array.isArray(object.localizedObjectAnnotations)) - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.localizedObjectAnnotations: array expected"); - message.localizedObjectAnnotations = []; - for (var i = 0; i < object.localizedObjectAnnotations.length; ++i) { - if (typeof object.localizedObjectAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.localizedObjectAnnotations: object expected"); - message.localizedObjectAnnotations[i] = $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.fromObject(object.localizedObjectAnnotations[i]); - } - } - if (object.textAnnotations) { - if (!Array.isArray(object.textAnnotations)) - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.textAnnotations: array expected"); - message.textAnnotations = []; - for (var i = 0; i < object.textAnnotations.length; ++i) { - if (typeof object.textAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.textAnnotations: object expected"); - message.textAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); - } - } - if (object.fullTextAnnotation != null) { - if (typeof object.fullTextAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); - message.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.fromObject(object.fullTextAnnotation); - } - if (object.safeSearchAnnotation != null) { - if (typeof object.safeSearchAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); - message.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); - } - if (object.imagePropertiesAnnotation != null) { - if (typeof object.imagePropertiesAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); - } - if (object.cropHintsAnnotation != null) { - if (typeof object.cropHintsAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); - message.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); - } - if (object.webDetection != null) { - if (typeof object.webDetection !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.webDetection: object expected"); - message.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.fromObject(object.webDetection); - } - if (object.productSearchResults != null) { - if (typeof object.productSearchResults !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.productSearchResults: object expected"); - message.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.fromObject(object.productSearchResults); - } - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); - } - if (object.context != null) { - if (typeof object.context !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.context: object expected"); - message.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.fromObject(object.context); - } + var message = new $root.google.cloud.vision.v1p3beta1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); return message; }; /** - * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p3beta1.AnnotateImageResponse} message AnnotateImageResponse + * @param {google.cloud.vision.v1p3beta1.WebDetectionParams} message WebDetectionParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageResponse.toObject = function toObject(message, options) { + WebDetectionParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.faceAnnotations = []; - object.landmarkAnnotations = []; - object.logoAnnotations = []; - object.labelAnnotations = []; - object.textAnnotations = []; - object.localizedObjectAnnotations = []; - } - if (options.defaults) { - object.safeSearchAnnotation = null; - object.imagePropertiesAnnotation = null; - object.error = null; - object.cropHintsAnnotation = null; - object.fullTextAnnotation = null; - object.webDetection = null; - object.productSearchResults = null; - object.context = null; - } - if (message.faceAnnotations && message.faceAnnotations.length) { - object.faceAnnotations = []; - for (var j = 0; j < message.faceAnnotations.length; ++j) - object.faceAnnotations[j] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); - } - if (message.landmarkAnnotations && message.landmarkAnnotations.length) { - object.landmarkAnnotations = []; - for (var j = 0; j < message.landmarkAnnotations.length; ++j) - object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); - } - if (message.logoAnnotations && message.logoAnnotations.length) { - object.logoAnnotations = []; - for (var j = 0; j < message.logoAnnotations.length; ++j) - object.logoAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); - } - if (message.labelAnnotations && message.labelAnnotations.length) { - object.labelAnnotations = []; - for (var j = 0; j < message.labelAnnotations.length; ++j) - object.labelAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); - } - if (message.textAnnotations && message.textAnnotations.length) { - object.textAnnotations = []; - for (var j = 0; j < message.textAnnotations.length; ++j) - object.textAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); - } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - object.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); - if (message.error != null && message.hasOwnProperty("error")) - object.error = $root.google.rpc.Status.toObject(message.error, options); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - object.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - object.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - object.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.toObject(message.webDetection, options); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) - object.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.toObject(message.productSearchResults, options); - if (message.context != null && message.hasOwnProperty("context")) - object.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.toObject(message.context, options); - if (message.localizedObjectAnnotations && message.localizedObjectAnnotations.length) { - object.localizedObjectAnnotations = []; - for (var j = 0; j < message.localizedObjectAnnotations.length; ++j) - object.localizedObjectAnnotations[j] = $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.toObject(message.localizedObjectAnnotations[j], options); - } + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; return object; }; /** - * Converts this AnnotateImageResponse to JSON. + * Converts this WebDetectionParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams * @instance * @returns {Object.} JSON object */ - AnnotateImageResponse.prototype.toJSON = function toJSON() { + WebDetectionParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageResponse; + return WebDetectionParams; })(); - v1p3beta1.AnnotateFileResponse = (function() { + v1p3beta1.ImageContext = (function() { /** - * Properties of an AnnotateFileResponse. + * Properties of an ImageContext. * @memberof google.cloud.vision.v1p3beta1 - * @interface IAnnotateFileResponse - * @property {google.cloud.vision.v1p3beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig - * @property {Array.|null} [responses] AnnotateFileResponse responses + * @interface IImageContext + * @property {google.cloud.vision.v1p3beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1p3beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1p3beta1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams + * @property {google.cloud.vision.v1p3beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams */ /** - * Constructs a new AnnotateFileResponse. + * Constructs a new ImageContext. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an AnnotateFileResponse. - * @implements IAnnotateFileResponse + * @classdesc Represents an ImageContext. + * @implements IImageContext * @constructor - * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IImageContext=} [properties] Properties to set */ - function AnnotateFileResponse(properties) { - this.responses = []; + function ImageContext(properties) { + this.languageHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -56781,91 +56467,130 @@ } /** - * AnnotateFileResponse inputConfig. - * @member {google.cloud.vision.v1p3beta1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * ImageContext latLongRect. + * @member {google.cloud.vision.v1p3beta1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @instance */ - AnnotateFileResponse.prototype.inputConfig = null; + ImageContext.prototype.latLongRect = null; /** - * AnnotateFileResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @instance */ - AnnotateFileResponse.prototype.responses = $util.emptyArray; + ImageContext.prototype.languageHints = $util.emptyArray; /** - * Creates a new AnnotateFileResponse instance using the specified properties. + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1p3beta1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + */ + ImageContext.prototype.cropHintsParams = null; + + /** + * ImageContext productSearchParams. + * @member {google.cloud.vision.v1p3beta1.IProductSearchParams|null|undefined} productSearchParams + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + */ + ImageContext.prototype.productSearchParams = null; + + /** + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1p3beta1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + */ + ImageContext.prototype.webDetectionParams = null; + + /** + * Creates a new ImageContext instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @static - * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse instance + * @param {google.cloud.vision.v1p3beta1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext instance */ - AnnotateFileResponse.create = function create(properties) { - return new AnnotateFileResponse(properties); + ImageContext.create = function create(properties) { + return new ImageContext(properties); }; /** - * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageContext.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @static - * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encode = function encode(message, writer) { + ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1p3beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1p3beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + $root.google.cloud.vision.v1p3beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1p3beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageContext.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @static - * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * Decodes an ImageContext message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decode = function decode(reader, length) { + ImageContext.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AnnotateFileResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageContext(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); + message.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.decode(reader, reader.uint32()); break; case 2: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + case 4: + message.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + case 5: + message.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.decode(reader, reader.uint32()); + break; + case 6: + message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -56876,139 +56601,176 @@ }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes an ImageContext message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + ImageContext.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateFileResponse message. + * Verifies an ImageContext message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateFileResponse.verify = function verify(message) { + ImageContext.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1p3beta1.InputConfig.verify(message.inputConfig); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1p3beta1.LatLongRect.verify(message.latLongRect); if (error) - return "inputConfig." + error; + return "latLongRect." + error; } - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify(message.responses[i]); - if (error) - return "responses." + error; - } + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; + } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1p3beta1.CropHintsParams.verify(message.cropHintsParams); + if (error) + return "cropHintsParams." + error; + } + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.verify(message.productSearchParams); + if (error) + return "productSearchParams." + error; + } + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.verify(message.webDetectionParams); + if (error) + return "webDetectionParams." + error; } return null; }; /** - * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p3beta1.ImageContext} ImageContext */ - AnnotateFileResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.AnnotateFileResponse) + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageContext) return object; - var message = new $root.google.cloud.vision.v1p3beta1.AnnotateFileResponse(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateFileResponse.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.fromObject(object.inputConfig); + var message = new $root.google.cloud.vision.v1p3beta1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.fromObject(object.latLongRect); } - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateFileResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateFileResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.fromObject(object.responses[i]); - } + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); + } + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.fromObject(object.cropHintsParams); + } + if (object.productSearchParams != null) { + if (typeof object.productSearchParams !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.productSearchParams: object expected"); + message.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.fromObject(object.productSearchParams); + } + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.fromObject(object.webDetectionParams); } return message; }; /** - * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @static - * @param {google.cloud.vision.v1p3beta1.AnnotateFileResponse} message AnnotateFileResponse + * @param {google.cloud.vision.v1p3beta1.ImageContext} message ImageContext * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateFileResponse.toObject = function toObject(message, options) { + ImageContext.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.responses = []; - if (options.defaults) - object.inputConfig = null; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.toObject(message.inputConfig, options); - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.toObject(message.responses[j], options); + object.languageHints = []; + if (options.defaults) { + object.latLongRect = null; + object.cropHintsParams = null; + object.productSearchParams = null; + object.webDetectionParams = null; + } + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + object.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.toObject(message.productSearchParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.toObject(message.webDetectionParams, options); return object; }; /** - * Converts this AnnotateFileResponse to JSON. + * Converts this ImageContext to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.ImageContext * @instance * @returns {Object.} JSON object */ - AnnotateFileResponse.prototype.toJSON = function toJSON() { + ImageContext.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateFileResponse; + return ImageContext; })(); - v1p3beta1.BatchAnnotateImagesRequest = (function() { + v1p3beta1.AnnotateImageRequest = (function() { /** - * Properties of a BatchAnnotateImagesRequest. + * Properties of an AnnotateImageRequest. * @memberof google.cloud.vision.v1p3beta1 - * @interface IBatchAnnotateImagesRequest - * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1p3beta1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1p3beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext */ /** - * Constructs a new BatchAnnotateImagesRequest. + * Constructs a new AnnotateImageRequest. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a BatchAnnotateImagesRequest. - * @implements IBatchAnnotateImagesRequest + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest * @constructor - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest=} [properties] Properties to set */ - function BatchAnnotateImagesRequest(properties) { - this.requests = []; + function AnnotateImageRequest(properties) { + this.features = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -57016,78 +56778,104 @@ } /** - * BatchAnnotateImagesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1p3beta1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @instance */ - BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + AnnotateImageRequest.prototype.image = null; /** - * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * AnnotateImageRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.features = $util.emptyArray; + + /** + * AnnotateImageRequest imageContext. + * @member {google.cloud.vision.v1p3beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @instance + */ + AnnotateImageRequest.prototype.imageContext = null; + + /** + * Creates a new AnnotateImageRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest instance */ - BatchAnnotateImagesRequest.create = function create(properties) { - return new BatchAnnotateImagesRequest(properties); + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); }; /** - * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encode = function encode(message, writer) { + AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1p3beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * Decodes an AnnotateImageRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decode = function decode(reader, length) { + AnnotateImageRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + message.image = $root.google.cloud.vision.v1p3beta1.Image.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -57098,125 +56886,153 @@ }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesRequest message. + * Verifies an AnnotateImageRequest message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesRequest.verify = function verify(message) { + AnnotateImageRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify(message.requests[i]); + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1p3beta1.Image.verify(message.image); + if (error) + return "image." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Feature.verify(message.features[i]); if (error) - return "requests." + error; + return "features." + error; } } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } return null; }; /** - * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageRequest} AnnotateImageRequest */ - BatchAnnotateImagesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest) + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest) return object; - var message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.fromObject(object.requests[i]); + var message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1p3beta1.Image.fromObject(object.image); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p3beta1.Feature.fromObject(object.features[i]); } } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.fromObject(object.imageContext); + } return message; }; /** - * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {google.cloud.vision.v1p3beta1.AnnotateImageRequest} message AnnotateImageRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + AnnotateImageRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.requests = []; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.toObject(message.requests[j], options); + object.features = []; + if (options.defaults) { + object.image = null; + object.imageContext = null; + } + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1p3beta1.Image.toObject(message.image, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p3beta1.Feature.toObject(message.features[j], options); } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.toObject(message.imageContext, options); return object; }; /** - * Converts this BatchAnnotateImagesRequest to JSON. + * Converts this AnnotateImageRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + AnnotateImageRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesRequest; + return AnnotateImageRequest; })(); - v1p3beta1.BatchAnnotateImagesResponse = (function() { + v1p3beta1.ImageAnnotationContext = (function() { /** - * Properties of a BatchAnnotateImagesResponse. + * Properties of an ImageAnnotationContext. * @memberof google.cloud.vision.v1p3beta1 - * @interface IBatchAnnotateImagesResponse - * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + * @interface IImageAnnotationContext + * @property {string|null} [uri] ImageAnnotationContext uri + * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber */ /** - * Constructs a new BatchAnnotateImagesResponse. + * Constructs a new ImageAnnotationContext. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a BatchAnnotateImagesResponse. - * @implements IBatchAnnotateImagesResponse + * @classdesc Represents an ImageAnnotationContext. + * @implements IImageAnnotationContext * @constructor - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext=} [properties] Properties to set */ - function BatchAnnotateImagesResponse(properties) { - this.responses = []; + function ImageAnnotationContext(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -57224,78 +57040,88 @@ } /** - * BatchAnnotateImagesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * ImageAnnotationContext uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @instance */ - BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + ImageAnnotationContext.prototype.uri = ""; /** - * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * ImageAnnotationContext pageNumber. + * @member {number} pageNumber + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.pageNumber = 0; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext instance */ - BatchAnnotateImagesResponse.create = function create(properties) { - return new BatchAnnotateImagesResponse(properties); + ImageAnnotationContext.create = function create(properties) { + return new ImageAnnotationContext(properties); }; /** - * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encode = function encode(message, writer) { + ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; /** - * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * Decodes an ImageAnnotationContext message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decode = function decode(reader, length) { + ImageAnnotationContext.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + message.uri = reader.string(); + break; + case 2: + message.pageNumber = reader.int32(); break; default: reader.skipType(tag & 7); @@ -57306,246 +57132,398 @@ }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesResponse message. + * Verifies an ImageAnnotationContext message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesResponse.verify = function verify(message) { + ImageAnnotationContext.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify(message.responses[i]); - if (error) - return "responses." + error; - } - } + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (!$util.isInteger(message.pageNumber)) + return "pageNumber: integer expected"; return null; }; /** - * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p3beta1.ImageAnnotationContext} ImageAnnotationContext */ - BatchAnnotateImagesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse) + ImageAnnotationContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext) return object; - var message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse(); - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.fromObject(object.responses[i]); - } - } + var message = new $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext(); + if (object.uri != null) + message.uri = String(object.uri); + if (object.pageNumber != null) + message.pageNumber = object.pageNumber | 0; return message; }; /** - * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {google.cloud.vision.v1p3beta1.ImageAnnotationContext} message ImageAnnotationContext * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + ImageAnnotationContext.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.responses = []; - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.toObject(message.responses[j], options); + if (options.defaults) { + object.uri = ""; + object.pageNumber = 0; } + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + object.pageNumber = message.pageNumber; return object; }; /** - * Converts this BatchAnnotateImagesResponse to JSON. + * Converts this ImageAnnotationContext to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + ImageAnnotationContext.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesResponse; + return ImageAnnotationContext; })(); - v1p3beta1.AsyncAnnotateFileRequest = (function() { + v1p3beta1.AnnotateImageResponse = (function() { /** - * Properties of an AsyncAnnotateFileRequest. + * Properties of an AnnotateImageResponse. * @memberof google.cloud.vision.v1p3beta1 - * @interface IAsyncAnnotateFileRequest - * @property {google.cloud.vision.v1p3beta1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig - * @property {Array.|null} [features] AsyncAnnotateFileRequest features - * @property {google.cloud.vision.v1p3beta1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext - * @property {google.cloud.vision.v1p3beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [localizedObjectAnnotations] AnnotateImageResponse localizedObjectAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1p3beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1p3beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1p3beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1p3beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.cloud.vision.v1p3beta1.IProductSearchResults|null} [productSearchResults] AnnotateImageResponse productSearchResults + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + * @property {google.cloud.vision.v1p3beta1.IImageAnnotationContext|null} [context] AnnotateImageResponse context + */ + + /** + * Constructs a new AnnotateImageResponse. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse + * @constructor + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse=} [properties] Properties to set + */ + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.localizedObjectAnnotations = []; + this.textAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse localizedObjectAnnotations. + * @member {Array.} localizedObjectAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.localizedObjectAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1p3beta1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.fullTextAnnotation = null; + + /** + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1p3beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance */ + AnnotateImageResponse.prototype.safeSearchAnnotation = null; /** - * Constructs a new AsyncAnnotateFileRequest. - * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an AsyncAnnotateFileRequest. - * @implements IAsyncAnnotateFileRequest - * @constructor - * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1p3beta1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance */ - function AsyncAnnotateFileRequest(properties) { - this.features = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; /** - * AsyncAnnotateFileRequest inputConfig. - * @member {google.cloud.vision.v1p3beta1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1p3beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @instance */ - AsyncAnnotateFileRequest.prototype.inputConfig = null; + AnnotateImageResponse.prototype.cropHintsAnnotation = null; /** - * AsyncAnnotateFileRequest features. - * @member {Array.} features - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1p3beta1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @instance */ - AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; + AnnotateImageResponse.prototype.webDetection = null; /** - * AsyncAnnotateFileRequest imageContext. - * @member {google.cloud.vision.v1p3beta1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * AnnotateImageResponse productSearchResults. + * @member {google.cloud.vision.v1p3beta1.IProductSearchResults|null|undefined} productSearchResults + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @instance */ - AsyncAnnotateFileRequest.prototype.imageContext = null; + AnnotateImageResponse.prototype.productSearchResults = null; /** - * AsyncAnnotateFileRequest outputConfig. - * @member {google.cloud.vision.v1p3beta1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @instance */ - AsyncAnnotateFileRequest.prototype.outputConfig = null; + AnnotateImageResponse.prototype.error = null; /** - * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * AnnotateImageResponse context. + * @member {google.cloud.vision.v1p3beta1.IImageAnnotationContext|null|undefined} context + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.context = null; + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse instance */ - AsyncAnnotateFileRequest.create = function create(properties) { - return new AsyncAnnotateFileRequest(properties); + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); }; /** - * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileRequest.encode = function encode(message, writer) { + AnnotateImageResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.features != null && message.features.length) - for (var i = 0; i < message.features.length; ++i) - $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1p3beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1p3beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1p3beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + $root.google.cloud.vision.v1p3beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.context != null && message.hasOwnProperty("context")) + $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.encode(message.localizedObjectAnnotations[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * Decodes an AnnotateImageResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileRequest.decode = function decode(reader, length) { + AnnotateImageResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.decode(reader, reader.uint32())); break; case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); break; case 3: - message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); break; case 4: - message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 22: + if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) + message.localizedObjectAnnotations = []; + message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.decode(reader, reader.uint32()); + break; + case 14: + message.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.decode(reader, reader.uint32()); + break; + case 9: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 21: + message.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -57556,165 +57534,358 @@ }; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncAnnotateFileRequest message. + * Verifies an AnnotateImageResponse message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncAnnotateFileRequest.verify = function verify(message) { + AnnotateImageResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1p3beta1.InputConfig.verify(message.inputConfig); - if (error) - return "inputConfig." + error; + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.verify(message.faceAnnotations[i]); + if (error) + return "faceAnnotations." + error; + } } - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (var i = 0; i < message.features.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.Feature.verify(message.features[i]); + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); if (error) - return "features." + error; + return "landmarkAnnotations." + error; } } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) { - var error = $root.google.cloud.vision.v1p3beta1.ImageContext.verify(message.imageContext); + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.localizedObjectAnnotations != null && message.hasOwnProperty("localizedObjectAnnotations")) { + if (!Array.isArray(message.localizedObjectAnnotations)) + return "localizedObjectAnnotations: array expected"; + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.verify(message.localizedObjectAnnotations[i]); + if (error) + return "localizedObjectAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; + } + } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1p3beta1.TextAnnotation.verify(message.fullTextAnnotation); if (error) - return "imageContext." + error; + return "fullTextAnnotation." + error; } - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1p3beta1.OutputConfig.verify(message.outputConfig); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); if (error) - return "outputConfig." + error; + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1p3beta1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.verify(message.productSearchResults); + if (error) + return "productSearchResults." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.context != null && message.hasOwnProperty("context")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.verify(message.context); + if (error) + return "context." + error; } return null; }; /** - * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1p3beta1.AnnotateImageResponse} AnnotateImageResponse */ - AsyncAnnotateFileRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest) + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse) return object; - var message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.fromObject(object.inputConfig); + var message = new $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } } - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) { - if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.features: object expected"); - message.features[i] = $root.google.cloud.vision.v1p3beta1.Feature.fromObject(object.features[i]); + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); } } - if (object.imageContext != null) { - if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.imageContext: object expected"); - message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.fromObject(object.imageContext); + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); + } } - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.fromObject(object.outputConfig); + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.localizedObjectAnnotations) { + if (!Array.isArray(object.localizedObjectAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.localizedObjectAnnotations: array expected"); + message.localizedObjectAnnotations = []; + for (var i = 0; i < object.localizedObjectAnnotations.length; ++i) { + if (typeof object.localizedObjectAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.localizedObjectAnnotations: object expected"); + message.localizedObjectAnnotations[i] = $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.fromObject(object.localizedObjectAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + } + } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.fromObject(object.webDetection); + } + if (object.productSearchResults != null) { + if (typeof object.productSearchResults !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.productSearchResults: object expected"); + message.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.fromObject(object.productSearchResults); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.context != null) { + if (typeof object.context !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateImageResponse.context: object expected"); + message.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.fromObject(object.context); } return message; }; /** - * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest + * @param {google.cloud.vision.v1p3beta1.AnnotateImageResponse} message AnnotateImageResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncAnnotateFileRequest.toObject = function toObject(message, options) { + AnnotateImageResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.features = []; + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; + object.localizedObjectAnnotations = []; + } if (options.defaults) { - object.inputConfig = null; - object.imageContext = null; - object.outputConfig = null; + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; + object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; + object.productSearchResults = null; + object.context = null; } - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.toObject(message.inputConfig, options); - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = $root.google.cloud.vision.v1p3beta1.Feature.toObject(message.features[j], options); + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1p3beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1p3beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.toObject(message.webDetection, options); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + object.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.toObject(message.productSearchResults, options); + if (message.context != null && message.hasOwnProperty("context")) + object.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.toObject(message.context, options); + if (message.localizedObjectAnnotations && message.localizedObjectAnnotations.length) { + object.localizedObjectAnnotations = []; + for (var j = 0; j < message.localizedObjectAnnotations.length; ++j) + object.localizedObjectAnnotations[j] = $root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.toObject(message.localizedObjectAnnotations[j], options); } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - object.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.toObject(message.imageContext, options); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this AsyncAnnotateFileRequest to JSON. + * Converts this AnnotateImageResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse * @instance * @returns {Object.} JSON object */ - AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { + AnnotateImageResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncAnnotateFileRequest; + return AnnotateImageResponse; })(); - v1p3beta1.AsyncAnnotateFileResponse = (function() { + v1p3beta1.AnnotateFileResponse = (function() { /** - * Properties of an AsyncAnnotateFileResponse. + * Properties of an AnnotateFileResponse. * @memberof google.cloud.vision.v1p3beta1 - * @interface IAsyncAnnotateFileResponse - * @property {google.cloud.vision.v1p3beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig + * @interface IAnnotateFileResponse + * @property {google.cloud.vision.v1p3beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig + * @property {Array.|null} [responses] AnnotateFileResponse responses */ /** - * Constructs a new AsyncAnnotateFileResponse. + * Constructs a new AnnotateFileResponse. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an AsyncAnnotateFileResponse. - * @implements IAsyncAnnotateFileResponse + * @classdesc Represents an AnnotateFileResponse. + * @implements IAnnotateFileResponse * @constructor - * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse=} [properties] Properties to set */ - function AsyncAnnotateFileResponse(properties) { + function AnnotateFileResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -57722,75 +57893,91 @@ } /** - * AsyncAnnotateFileResponse outputConfig. - * @member {google.cloud.vision.v1p3beta1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * AnnotateFileResponse inputConfig. + * @member {google.cloud.vision.v1p3beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @instance */ - AsyncAnnotateFileResponse.prototype.outputConfig = null; + AnnotateFileResponse.prototype.inputConfig = null; /** - * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * AnnotateFileResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.responses = $util.emptyArray; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance + * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse instance */ - AsyncAnnotateFileResponse.create = function create(properties) { - return new AsyncAnnotateFileResponse(properties); + AnnotateFileResponse.create = function create(properties) { + return new AnnotateFileResponse(properties); }; /** - * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateFileResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileResponse.encode = function encode(message, writer) { + AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AnnotateFileResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * Decodes an AnnotateFileResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileResponse.decode = function decode(reader, length) { + AnnotateFileResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AnnotateFileResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -57801,112 +57988,138 @@ }; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncAnnotateFileResponse message. + * Verifies an AnnotateFileResponse message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncAnnotateFileResponse.verify = function verify(message) { + AnnotateFileResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1p3beta1.OutputConfig.verify(message.outputConfig); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p3beta1.InputConfig.verify(message.inputConfig); if (error) - return "outputConfig." + error; + return "inputConfig." + error; + } + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } } return null; }; /** - * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1p3beta1.AnnotateFileResponse} AnnotateFileResponse */ - AsyncAnnotateFileResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse) + AnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AnnotateFileResponse) return object; - var message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse(); - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.fromObject(object.outputConfig); + var message = new $root.google.cloud.vision.v1p3beta1.AnnotateFileResponse(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateFileResponse.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateFileResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AnnotateFileResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } } return message; }; /** - * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse + * @param {google.cloud.vision.v1p3beta1.AnnotateFileResponse} message AnnotateFileResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncAnnotateFileResponse.toObject = function toObject(message, options) { + AnnotateFileResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.responses = []; if (options.defaults) - object.outputConfig = null; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.toObject(message.outputConfig, options); + object.inputConfig = null; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.toObject(message.inputConfig, options); + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } return object; }; /** - * Converts this AsyncAnnotateFileResponse to JSON. + * Converts this AnnotateFileResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse * @instance * @returns {Object.} JSON object */ - AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { + AnnotateFileResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncAnnotateFileResponse; + return AnnotateFileResponse; })(); - v1p3beta1.AsyncBatchAnnotateFilesRequest = (function() { + v1p3beta1.BatchAnnotateImagesRequest = (function() { /** - * Properties of an AsyncBatchAnnotateFilesRequest. + * Properties of a BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p3beta1 - * @interface IAsyncBatchAnnotateFilesRequest - * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests */ /** - * Constructs a new AsyncBatchAnnotateFilesRequest. + * Constructs a new BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an AsyncBatchAnnotateFilesRequest. - * @implements IAsyncBatchAnnotateFilesRequest + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest * @constructor - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set */ - function AsyncBatchAnnotateFilesRequest(properties) { + function BatchAnnotateImagesRequest(properties) { this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -57915,78 +58128,78 @@ } /** - * AsyncBatchAnnotateFilesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @instance */ - AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance */ - AsyncBatchAnnotateFilesRequest.create = function create(properties) { - return new AsyncBatchAnnotateFilesRequest(properties); + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); }; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { + BatchAnnotateImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { + BatchAnnotateImagesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.requests && message.requests.length)) message.requests = []; - message.requests.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + message.requests.push($root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -57997,37 +58210,37 @@ }; /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateFilesRequest message. + * Verifies a BatchAnnotateImagesRequest message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateFilesRequest.verify = function verify(message) { + BatchAnnotateImagesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.requests != null && message.hasOwnProperty("requests")) { if (!Array.isArray(message.requests)) return "requests: array expected"; for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify(message.requests[i]); + var error = $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.verify(message.requests[i]); if (error) return "requests." + error; } @@ -58036,40 +58249,40 @@ }; /** - * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest */ - AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest) + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest) return object; - var message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest(); + var message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest(); if (object.requests) { if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.requests: array expected"); message.requests = []; for (var i = 0; i < object.requests.length; ++i) { if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.fromObject(object.requests[i]); } } return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest + * @param {google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -58078,252 +58291,44 @@ if (message.requests && message.requests.length) { object.requests = []; for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); - } - return object; - }; - - /** - * Converts this AsyncBatchAnnotateFilesRequest to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest - * @instance - * @returns {Object.} JSON object - */ - AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return AsyncBatchAnnotateFilesRequest; - })(); - - v1p3beta1.AsyncBatchAnnotateFilesResponse = (function() { - - /** - * Properties of an AsyncBatchAnnotateFilesResponse. - * @memberof google.cloud.vision.v1p3beta1 - * @interface IAsyncBatchAnnotateFilesResponse - * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses - */ - - /** - * Constructs a new AsyncBatchAnnotateFilesResponse. - * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an AsyncBatchAnnotateFilesResponse. - * @implements IAsyncBatchAnnotateFilesResponse - * @constructor - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set - */ - function AsyncBatchAnnotateFilesResponse(properties) { - this.responses = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * AsyncBatchAnnotateFilesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse - * @instance - */ - AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; - - /** - * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse - * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance - */ - AsyncBatchAnnotateFilesResponse.create = function create(properties) { - return new AsyncBatchAnnotateFilesResponse(properties); - }; - - /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse - * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse - * @static - * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an AsyncBatchAnnotateFilesResponse message. - * @function verify - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - AsyncBatchAnnotateFilesResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify(message.responses[i]); - if (error) - return "responses." + error; - } - } - return null; - }; - - /** - * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse - */ - AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse) - return object; - var message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse(); - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse - * @static - * @param {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.responses = []; - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); + object.requests[j] = $root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.toObject(message.requests[j], options); } return object; }; /** - * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * Converts this BatchAnnotateImagesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest * @instance * @returns {Object.} JSON object */ - AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncBatchAnnotateFilesResponse; + return BatchAnnotateImagesRequest; })(); - v1p3beta1.InputConfig = (function() { + v1p3beta1.BatchAnnotateImagesResponse = (function() { /** - * Properties of an InputConfig. + * Properties of a BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p3beta1 - * @interface IInputConfig - * @property {google.cloud.vision.v1p3beta1.IGcsSource|null} [gcsSource] InputConfig gcsSource - * @property {string|null} [mimeType] InputConfig mimeType + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses */ /** - * Constructs a new InputConfig. + * Constructs a new BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an InputConfig. - * @implements IInputConfig + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse * @constructor - * @param {google.cloud.vision.v1p3beta1.IInputConfig=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set */ - function InputConfig(properties) { + function BatchAnnotateImagesResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -58331,88 +58336,78 @@ } /** - * InputConfig gcsSource. - * @member {google.cloud.vision.v1p3beta1.IGcsSource|null|undefined} gcsSource - * @memberof google.cloud.vision.v1p3beta1.InputConfig - * @instance - */ - InputConfig.prototype.gcsSource = null; - - /** - * InputConfig mimeType. - * @member {string} mimeType - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @instance */ - InputConfig.prototype.mimeType = ""; + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new InputConfig instance using the specified properties. + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p3beta1.IInputConfig=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig instance + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance */ - InputConfig.create = function create(properties) { - return new InputConfig(properties); + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); }; /** - * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.InputConfig.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p3beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - InputConfig.encode = function encode(message, writer) { + BatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) - $root.google.cloud.vision.v1p3beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.InputConfig.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p3beta1.IInputConfig} message InputConfig message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - InputConfig.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an InputConfig message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InputConfig.decode = function decode(reader, length) { + BatchAnnotateImagesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.InputConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.decode(reader, reader.uint32()); - break; - case 2: - message.mimeType = reader.string(); + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -58423,122 +58418,128 @@ }; /** - * Decodes an InputConfig message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InputConfig.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an InputConfig message. + * Verifies a BatchAnnotateImagesResponse message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InputConfig.verify = function verify(message) { + BatchAnnotateImagesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { - var error = $root.google.cloud.vision.v1p3beta1.GcsSource.verify(message.gcsSource); - if (error) - return "gcsSource." + error; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } } - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - if (!$util.isString(message.mimeType)) - return "mimeType: string expected"; return null; }; /** - * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig + * @returns {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse */ - InputConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.InputConfig) + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse) return object; - var message = new $root.google.cloud.vision.v1p3beta1.InputConfig(); - if (object.gcsSource != null) { - if (typeof object.gcsSource !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.InputConfig.gcsSource: object expected"); - message.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.fromObject(object.gcsSource); + var message = new $root.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } } - if (object.mimeType != null) - message.mimeType = String(object.mimeType); return message; }; /** - * Creates a plain object from an InputConfig message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p3beta1.InputConfig} message InputConfig + * @param {google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - InputConfig.toObject = function toObject(message, options) { + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.gcsSource = null; - object.mimeType = ""; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.toObject(message.responses[j], options); } - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) - object.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.toObject(message.gcsSource, options); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - object.mimeType = message.mimeType; return object; }; /** - * Converts this InputConfig to JSON. + * Converts this BatchAnnotateImagesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse * @instance * @returns {Object.} JSON object */ - InputConfig.prototype.toJSON = function toJSON() { + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return InputConfig; + return BatchAnnotateImagesResponse; })(); - v1p3beta1.OutputConfig = (function() { + v1p3beta1.AsyncAnnotateFileRequest = (function() { /** - * Properties of an OutputConfig. + * Properties of an AsyncAnnotateFileRequest. * @memberof google.cloud.vision.v1p3beta1 - * @interface IOutputConfig - * @property {google.cloud.vision.v1p3beta1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination - * @property {number|null} [batchSize] OutputConfig batchSize + * @interface IAsyncAnnotateFileRequest + * @property {google.cloud.vision.v1p3beta1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig + * @property {Array.|null} [features] AsyncAnnotateFileRequest features + * @property {google.cloud.vision.v1p3beta1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext + * @property {google.cloud.vision.v1p3beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig */ /** - * Constructs a new OutputConfig. + * Constructs a new AsyncAnnotateFileRequest. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an OutputConfig. - * @implements IOutputConfig + * @classdesc Represents an AsyncAnnotateFileRequest. + * @implements IAsyncAnnotateFileRequest * @constructor - * @param {google.cloud.vision.v1p3beta1.IOutputConfig=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set */ - function OutputConfig(properties) { + function AsyncAnnotateFileRequest(properties) { + this.features = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -58546,88 +58547,117 @@ } /** - * OutputConfig gcsDestination. - * @member {google.cloud.vision.v1p3beta1.IGcsDestination|null|undefined} gcsDestination - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * AsyncAnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1p3beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @instance */ - OutputConfig.prototype.gcsDestination = null; + AsyncAnnotateFileRequest.prototype.inputConfig = null; /** - * OutputConfig batchSize. - * @member {number} batchSize - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * AsyncAnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @instance */ - OutputConfig.prototype.batchSize = 0; + AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; /** - * Creates a new OutputConfig instance using the specified properties. + * AsyncAnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1p3beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.imageContext = null; + + /** + * AsyncAnnotateFileRequest outputConfig. + * @member {google.cloud.vision.v1p3beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @instance + */ + AsyncAnnotateFileRequest.prototype.outputConfig = null; + + /** + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p3beta1.IOutputConfig=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig instance + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance */ - OutputConfig.create = function create(properties) { - return new OutputConfig(properties); + AsyncAnnotateFileRequest.create = function create(properties) { + return new AsyncAnnotateFileRequest(properties); }; /** - * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.OutputConfig.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p3beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OutputConfig.encode = function encode(message, writer) { + AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) - $root.google.cloud.vision.v1p3beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.OutputConfig.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p3beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { + AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OutputConfig message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OutputConfig.decode = function decode(reader, length) { + AsyncAnnotateFileRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.OutputConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.decode(reader, reader.uint32()); + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); break; case 2: - message.batchSize = reader.int32(); + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -58638,121 +58668,165 @@ }; /** - * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OutputConfig.decodeDelimited = function decodeDelimited(reader) { + AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OutputConfig message. + * Verifies an AsyncAnnotateFileRequest message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OutputConfig.verify = function verify(message) { + AsyncAnnotateFileRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { - var error = $root.google.cloud.vision.v1p3beta1.GcsDestination.verify(message.gcsDestination); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p3beta1.InputConfig.verify(message.inputConfig); if (error) - return "gcsDestination." + error; + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p3beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p3beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; } - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - if (!$util.isInteger(message.batchSize)) - return "batchSize: integer expected"; return null; }; /** - * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest */ - OutputConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.OutputConfig) + AsyncAnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest) return object; - var message = new $root.google.cloud.vision.v1p3beta1.OutputConfig(); - if (object.gcsDestination != null) { - if (typeof object.gcsDestination !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.OutputConfig.gcsDestination: object expected"); - message.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.fromObject(object.gcsDestination); + var message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p3beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.fromObject(object.imageContext); + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.fromObject(object.outputConfig); } - if (object.batchSize != null) - message.batchSize = object.batchSize | 0; return message; }; /** - * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p3beta1.OutputConfig} message OutputConfig + * @param {google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OutputConfig.toObject = function toObject(message, options) { + AsyncAnnotateFileRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.features = []; if (options.defaults) { - object.gcsDestination = null; - object.batchSize = 0; + object.inputConfig = null; + object.imageContext = null; + object.outputConfig = null; } - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) - object.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.toObject(message.gcsDestination, options); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - object.batchSize = message.batchSize; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p3beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.toObject(message.imageContext, options); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this OutputConfig to JSON. + * Converts this AsyncAnnotateFileRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest * @instance * @returns {Object.} JSON object */ - OutputConfig.prototype.toJSON = function toJSON() { + AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return OutputConfig; + return AsyncAnnotateFileRequest; })(); - v1p3beta1.GcsSource = (function() { + v1p3beta1.AsyncAnnotateFileResponse = (function() { /** - * Properties of a GcsSource. + * Properties of an AsyncAnnotateFileResponse. * @memberof google.cloud.vision.v1p3beta1 - * @interface IGcsSource - * @property {string|null} [uri] GcsSource uri + * @interface IAsyncAnnotateFileResponse + * @property {google.cloud.vision.v1p3beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig */ /** - * Constructs a new GcsSource. + * Constructs a new AsyncAnnotateFileResponse. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a GcsSource. - * @implements IGcsSource + * @classdesc Represents an AsyncAnnotateFileResponse. + * @implements IAsyncAnnotateFileResponse * @constructor - * @param {google.cloud.vision.v1p3beta1.IGcsSource=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set */ - function GcsSource(properties) { + function AsyncAnnotateFileResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -58760,75 +58834,75 @@ } /** - * GcsSource uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * AsyncAnnotateFileResponse outputConfig. + * @member {google.cloud.vision.v1p3beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @instance */ - GcsSource.prototype.uri = ""; + AsyncAnnotateFileResponse.prototype.outputConfig = null; /** - * Creates a new GcsSource instance using the specified properties. + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p3beta1.IGcsSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource instance + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance */ - GcsSource.create = function create(properties) { - return new GcsSource(properties); + AsyncAnnotateFileResponse.create = function create(properties) { + return new AsyncAnnotateFileResponse(properties); }; /** - * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsSource.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p3beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsSource.encode = function encode(message, writer) { + AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsSource.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p3beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsSource.encodeDelimited = function encodeDelimited(message, writer) { + AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GcsSource message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsSource.decode = function decode(reader, length) { + AsyncAnnotateFileResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.GcsSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -58839,107 +58913,113 @@ }; /** - * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsSource.decodeDelimited = function decodeDelimited(reader) { + AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GcsSource message. + * Verifies an AsyncAnnotateFileResponse message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsSource.verify = function verify(message) { + AsyncAnnotateFileResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p3beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } return null; }; /** - * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse */ - GcsSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.GcsSource) + AsyncAnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse) return object; - var message = new $root.google.cloud.vision.v1p3beta1.GcsSource(); - if (object.uri != null) - message.uri = String(object.uri); + var message = new $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.fromObject(object.outputConfig); + } return message; }; /** - * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p3beta1.GcsSource} message GcsSource + * @param {google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GcsSource.toObject = function toObject(message, options) { + AsyncAnnotateFileResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) - object.uri = ""; - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this GcsSource to JSON. + * Converts this AsyncAnnotateFileResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse * @instance * @returns {Object.} JSON object */ - GcsSource.prototype.toJSON = function toJSON() { + AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GcsSource; + return AsyncAnnotateFileResponse; })(); - v1p3beta1.GcsDestination = (function() { + v1p3beta1.AsyncBatchAnnotateFilesRequest = (function() { /** - * Properties of a GcsDestination. + * Properties of an AsyncBatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p3beta1 - * @interface IGcsDestination - * @property {string|null} [uri] GcsDestination uri + * @interface IAsyncBatchAnnotateFilesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests */ /** - * Constructs a new GcsDestination. + * Constructs a new AsyncBatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a GcsDestination. - * @implements IGcsDestination + * @classdesc Represents an AsyncBatchAnnotateFilesRequest. + * @implements IAsyncBatchAnnotateFilesRequest * @constructor - * @param {google.cloud.vision.v1p3beta1.IGcsDestination=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set */ - function GcsDestination(properties) { + function AsyncBatchAnnotateFilesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -58947,75 +59027,78 @@ } /** - * GcsDestination uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * AsyncBatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @instance */ - GcsDestination.prototype.uri = ""; + AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new GcsDestination instance using the specified properties. + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p3beta1.IGcsDestination=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination instance + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance */ - GcsDestination.create = function create(properties) { - return new GcsDestination(properties); + AsyncBatchAnnotateFilesRequest.create = function create(properties) { + return new AsyncBatchAnnotateFilesRequest(properties); }; /** - * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsDestination.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p3beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsDestination.encode = function encode(message, writer) { + AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsDestination.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p3beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GcsDestination message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsDestination.decode = function decode(reader, length) { + AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.GcsDestination(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -59026,131 +59109,125 @@ }; /** - * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsDestination.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GcsDestination message. + * Verifies an AsyncBatchAnnotateFilesRequest message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsDestination.verify = function verify(message) { + AsyncBatchAnnotateFilesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } return null; }; /** - * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest */ - GcsDestination.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.GcsDestination) + AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest) return object; - var message = new $root.google.cloud.vision.v1p3beta1.GcsDestination(); - if (object.uri != null) - message.uri = String(object.uri); + var message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + } + } return message; }; /** - * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p3beta1.GcsDestination} message GcsDestination + * @param {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GcsDestination.toObject = function toObject(message, options) { + AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.uri = ""; - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; + if (options.arrays || options.defaults) + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); + } return object; }; /** - * Converts this GcsDestination to JSON. + * Converts this AsyncBatchAnnotateFilesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest * @instance * @returns {Object.} JSON object */ - GcsDestination.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GcsDestination; - })(); - - /** - * Likelihood enum. - * @name google.cloud.vision.v1p3beta1.Likelihood - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value - * @property {number} UNLIKELY=2 UNLIKELY value - * @property {number} POSSIBLE=3 POSSIBLE value - * @property {number} LIKELY=4 LIKELY value - * @property {number} VERY_LIKELY=5 VERY_LIKELY value - */ - v1p3beta1.Likelihood = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "VERY_UNLIKELY"] = 1; - values[valuesById[2] = "UNLIKELY"] = 2; - values[valuesById[3] = "POSSIBLE"] = 3; - values[valuesById[4] = "LIKELY"] = 4; - values[valuesById[5] = "VERY_LIKELY"] = 5; - return values; + return AsyncBatchAnnotateFilesRequest; })(); - v1p3beta1.OperationMetadata = (function() { + v1p3beta1.AsyncBatchAnnotateFilesResponse = (function() { /** - * Properties of an OperationMetadata. + * Properties of an AsyncBatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1p3beta1 - * @interface IOperationMetadata - * @property {google.cloud.vision.v1p3beta1.OperationMetadata.State|null} [state] OperationMetadata state - * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime - * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime + * @interface IAsyncBatchAnnotateFilesResponse + * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses */ /** - * Constructs a new OperationMetadata. + * Constructs a new AsyncBatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents an OperationMetadata. - * @implements IOperationMetadata + * @classdesc Represents an AsyncBatchAnnotateFilesResponse. + * @implements IAsyncBatchAnnotateFilesResponse * @constructor - * @param {google.cloud.vision.v1p3beta1.IOperationMetadata=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set */ - function OperationMetadata(properties) { + function AsyncBatchAnnotateFilesResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -59158,101 +59235,78 @@ } /** - * OperationMetadata state. - * @member {google.cloud.vision.v1p3beta1.OperationMetadata.State} state - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata - * @instance - */ - OperationMetadata.prototype.state = 0; - - /** - * OperationMetadata createTime. - * @member {google.protobuf.ITimestamp|null|undefined} createTime - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata - * @instance - */ - OperationMetadata.prototype.createTime = null; - - /** - * OperationMetadata updateTime. - * @member {google.protobuf.ITimestamp|null|undefined} updateTime - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * AsyncBatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @instance */ - OperationMetadata.prototype.updateTime = null; + AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new OperationMetadata instance using the specified properties. + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p3beta1.IOperationMetadata=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata instance + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance */ - OperationMetadata.create = function create(properties) { - return new OperationMetadata(properties); + AsyncBatchAnnotateFilesResponse.create = function create(properties) { + return new AsyncBatchAnnotateFilesResponse(properties); }; /** - * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p3beta1.OperationMetadata.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p3beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OperationMetadata.encode = function encode(message, writer) { + AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) - $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.OperationMetadata.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p3beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OperationMetadata message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationMetadata.decode = function decode(reader, length) { + AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.OperationMetadata(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.state = reader.int32(); - break; - case 5: - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 6: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -59263,183 +59317,125 @@ }; /** - * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OperationMetadata message. + * Verifies an AsyncBatchAnnotateFilesResponse message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationMetadata.verify = function verify(message) { + AsyncBatchAnnotateFilesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; } - if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); - if (error) - return "createTime." + error; - } - if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); - if (error) - return "updateTime." + error; } return null; }; /** - * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse */ - OperationMetadata.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.OperationMetadata) + AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse) return object; - var message = new $root.google.cloud.vision.v1p3beta1.OperationMetadata(); - switch (object.state) { - case "STATE_UNSPECIFIED": - case 0: - message.state = 0; - break; - case "CREATED": - case 1: - message.state = 1; - break; - case "RUNNING": - case 2: - message.state = 2; - break; - case "DONE": - case 3: - message.state = 3; - break; - case "CANCELLED": - case 4: - message.state = 4; - break; - } - if (object.createTime != null) { - if (typeof object.createTime !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.OperationMetadata.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); - } - if (object.updateTime != null) { - if (typeof object.updateTime !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.OperationMetadata.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + var message = new $root.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + } } return message; }; /** - * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p3beta1.OperationMetadata} message OperationMetadata + * @param {google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OperationMetadata.toObject = function toObject(message, options) { + AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; - object.createTime = null; - object.updateTime = null; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1p3beta1.OperationMetadata.State[message.state] : message.state; - if (message.createTime != null && message.hasOwnProperty("createTime")) - object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); return object; }; /** - * Converts this OperationMetadata to JSON. + * Converts this AsyncBatchAnnotateFilesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse * @instance * @returns {Object.} JSON object */ - OperationMetadata.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * State enum. - * @name google.cloud.vision.v1p3beta1.OperationMetadata.State - * @enum {string} - * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value - * @property {number} CREATED=1 CREATED value - * @property {number} RUNNING=2 RUNNING value - * @property {number} DONE=3 DONE value - * @property {number} CANCELLED=4 CANCELLED value - */ - OperationMetadata.State = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; - values[valuesById[1] = "CREATED"] = 1; - values[valuesById[2] = "RUNNING"] = 2; - values[valuesById[3] = "DONE"] = 3; - values[valuesById[4] = "CANCELLED"] = 4; - return values; - })(); - - return OperationMetadata; + return AsyncBatchAnnotateFilesResponse; })(); - v1p3beta1.Vertex = (function() { + v1p3beta1.InputConfig = (function() { /** - * Properties of a Vertex. + * Properties of an InputConfig. * @memberof google.cloud.vision.v1p3beta1 - * @interface IVertex - * @property {number|null} [x] Vertex x - * @property {number|null} [y] Vertex y + * @interface IInputConfig + * @property {google.cloud.vision.v1p3beta1.IGcsSource|null} [gcsSource] InputConfig gcsSource + * @property {string|null} [mimeType] InputConfig mimeType */ /** - * Constructs a new Vertex. + * Constructs a new InputConfig. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a Vertex. - * @implements IVertex + * @classdesc Represents an InputConfig. + * @implements IInputConfig * @constructor - * @param {google.cloud.vision.v1p3beta1.IVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IInputConfig=} [properties] Properties to set */ - function Vertex(properties) { + function InputConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -59447,88 +59443,88 @@ } /** - * Vertex x. - * @member {number} x - * @memberof google.cloud.vision.v1p3beta1.Vertex + * InputConfig gcsSource. + * @member {google.cloud.vision.v1p3beta1.IGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @instance */ - Vertex.prototype.x = 0; + InputConfig.prototype.gcsSource = null; /** - * Vertex y. - * @member {number} y - * @memberof google.cloud.vision.v1p3beta1.Vertex + * InputConfig mimeType. + * @member {string} mimeType + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @instance */ - Vertex.prototype.y = 0; + InputConfig.prototype.mimeType = ""; /** - * Creates a new Vertex instance using the specified properties. + * Creates a new InputConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.Vertex + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @static - * @param {google.cloud.vision.v1p3beta1.IVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex instance + * @param {google.cloud.vision.v1p3beta1.IInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig instance */ - Vertex.create = function create(properties) { - return new Vertex(properties); + InputConfig.create = function create(properties) { + return new InputConfig(properties); }; /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.InputConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.Vertex + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @static - * @param {google.cloud.vision.v1p3beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IInputConfig} message InputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encode = function encode(message, writer) { + InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1p3beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); return writer; }; /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Vertex.verify|verify} messages. + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.InputConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Vertex + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @static - * @param {google.cloud.vision.v1p3beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IInputConfig} message InputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encodeDelimited = function encodeDelimited(message, writer) { + InputConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Vertex message from the specified reader or buffer. + * Decodes an InputConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.Vertex + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decode = function decode(reader, length) { + InputConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Vertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.InputConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.int32(); + message.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.decode(reader, reader.uint32()); break; case 2: - message.y = reader.int32(); + message.mimeType = reader.string(); break; default: reader.skipType(tag & 7); @@ -59539,117 +59535,122 @@ }; /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. + * Decodes an InputConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Vertex + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decodeDelimited = function decodeDelimited(reader) { + InputConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Vertex message. + * Verifies an InputConfig message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.Vertex + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Vertex.verify = function verify(message) { + InputConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (!$util.isInteger(message.x)) - return "x: integer expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (!$util.isInteger(message.y)) - return "y: integer expected"; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + var error = $root.google.cloud.vision.v1p3beta1.GcsSource.verify(message.gcsSource); + if (error) + return "gcsSource." + error; + } + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (!$util.isString(message.mimeType)) + return "mimeType: string expected"; return null; }; /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.Vertex + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p3beta1.InputConfig} InputConfig */ - Vertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.Vertex) + InputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.InputConfig) return object; - var message = new $root.google.cloud.vision.v1p3beta1.Vertex(); - if (object.x != null) - message.x = object.x | 0; - if (object.y != null) - message.y = object.y | 0; + var message = new $root.google.cloud.vision.v1p3beta1.InputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.InputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.fromObject(object.gcsSource); + } + if (object.mimeType != null) + message.mimeType = String(object.mimeType); return message; }; /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.Vertex + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @static - * @param {google.cloud.vision.v1p3beta1.Vertex} message Vertex + * @param {google.cloud.vision.v1p3beta1.InputConfig} message InputConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Vertex.toObject = function toObject(message, options) { + InputConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.x = 0; - object.y = 0; + object.gcsSource = null; + object.mimeType = ""; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = message.y; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + object.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.toObject(message.gcsSource, options); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + object.mimeType = message.mimeType; return object; }; /** - * Converts this Vertex to JSON. + * Converts this InputConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.Vertex + * @memberof google.cloud.vision.v1p3beta1.InputConfig * @instance * @returns {Object.} JSON object */ - Vertex.prototype.toJSON = function toJSON() { + InputConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Vertex; + return InputConfig; })(); - v1p3beta1.NormalizedVertex = (function() { + v1p3beta1.OutputConfig = (function() { /** - * Properties of a NormalizedVertex. + * Properties of an OutputConfig. * @memberof google.cloud.vision.v1p3beta1 - * @interface INormalizedVertex - * @property {number|null} [x] NormalizedVertex x - * @property {number|null} [y] NormalizedVertex y + * @interface IOutputConfig + * @property {google.cloud.vision.v1p3beta1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination + * @property {number|null} [batchSize] OutputConfig batchSize */ /** - * Constructs a new NormalizedVertex. + * Constructs a new OutputConfig. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a NormalizedVertex. - * @implements INormalizedVertex + * @classdesc Represents an OutputConfig. + * @implements IOutputConfig * @constructor - * @param {google.cloud.vision.v1p3beta1.INormalizedVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IOutputConfig=} [properties] Properties to set */ - function NormalizedVertex(properties) { + function OutputConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -59657,88 +59658,88 @@ } /** - * NormalizedVertex x. - * @member {number} x - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * OutputConfig gcsDestination. + * @member {google.cloud.vision.v1p3beta1.IGcsDestination|null|undefined} gcsDestination + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @instance */ - NormalizedVertex.prototype.x = 0; + OutputConfig.prototype.gcsDestination = null; /** - * NormalizedVertex y. - * @member {number} y - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * OutputConfig batchSize. + * @member {number} batchSize + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @instance */ - NormalizedVertex.prototype.y = 0; + OutputConfig.prototype.batchSize = 0; /** - * Creates a new NormalizedVertex instance using the specified properties. + * Creates a new OutputConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p3beta1.INormalizedVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex instance + * @param {google.cloud.vision.v1p3beta1.IOutputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig instance */ - NormalizedVertex.create = function create(properties) { - return new NormalizedVertex(properties); + OutputConfig.create = function create(properties) { + return new OutputConfig(properties); }; /** - * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p3beta1.OutputConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p3beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IOutputConfig} message OutputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encode = function encode(message, writer) { + OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + $root.google.cloud.vision.v1p3beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; /** - * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedVertex.verify|verify} messages. + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.OutputConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p3beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IOutputConfig} message OutputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { + OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer. + * Decodes an OutputConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decode = function decode(reader, length) { + OutputConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.NormalizedVertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.OutputConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); + message.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.decode(reader, reader.uint32()); break; case 2: - message.y = reader.float(); + message.batchSize = reader.int32(); break; default: reader.skipType(tag & 7); @@ -59749,119 +59750,121 @@ }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { + OutputConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a NormalizedVertex message. + * Verifies an OutputConfig message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NormalizedVertex.verify = function verify(message) { + OutputConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { + var error = $root.google.cloud.vision.v1p3beta1.GcsDestination.verify(message.gcsDestination); + if (error) + return "gcsDestination." + error; + } + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (!$util.isInteger(message.batchSize)) + return "batchSize: integer expected"; return null; }; /** - * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p3beta1.OutputConfig} OutputConfig */ - NormalizedVertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.NormalizedVertex) + OutputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.OutputConfig) return object; - var message = new $root.google.cloud.vision.v1p3beta1.NormalizedVertex(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); + var message = new $root.google.cloud.vision.v1p3beta1.OutputConfig(); + if (object.gcsDestination != null) { + if (typeof object.gcsDestination !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.OutputConfig.gcsDestination: object expected"); + message.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.fromObject(object.gcsDestination); + } + if (object.batchSize != null) + message.batchSize = object.batchSize | 0; return message; }; /** - * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p3beta1.NormalizedVertex} message NormalizedVertex + * @param {google.cloud.vision.v1p3beta1.OutputConfig} message OutputConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - NormalizedVertex.toObject = function toObject(message, options) { + OutputConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.x = 0; - object.y = 0; + object.gcsDestination = null; + object.batchSize = 0; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + object.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.toObject(message.gcsDestination, options); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + object.batchSize = message.batchSize; return object; }; /** - * Converts this NormalizedVertex to JSON. + * Converts this OutputConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p3beta1.OutputConfig * @instance * @returns {Object.} JSON object */ - NormalizedVertex.prototype.toJSON = function toJSON() { + OutputConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return NormalizedVertex; + return OutputConfig; })(); - v1p3beta1.BoundingPoly = (function() { + v1p3beta1.GcsSource = (function() { /** - * Properties of a BoundingPoly. + * Properties of a GcsSource. * @memberof google.cloud.vision.v1p3beta1 - * @interface IBoundingPoly - * @property {Array.|null} [vertices] BoundingPoly vertices - * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices + * @interface IGcsSource + * @property {string|null} [uri] GcsSource uri */ /** - * Constructs a new BoundingPoly. + * Constructs a new GcsSource. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a BoundingPoly. - * @implements IBoundingPoly + * @classdesc Represents a GcsSource. + * @implements IGcsSource * @constructor - * @param {google.cloud.vision.v1p3beta1.IBoundingPoly=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IGcsSource=} [properties] Properties to set */ - function BoundingPoly(properties) { - this.vertices = []; - this.normalizedVertices = []; + function GcsSource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -59869,94 +59872,75 @@ } /** - * BoundingPoly vertices. - * @member {Array.} vertices - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly - * @instance - */ - BoundingPoly.prototype.vertices = $util.emptyArray; - - /** - * BoundingPoly normalizedVertices. - * @member {Array.} normalizedVertices - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * GcsSource uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @instance */ - BoundingPoly.prototype.normalizedVertices = $util.emptyArray; + GcsSource.prototype.uri = ""; /** - * Creates a new BoundingPoly instance using the specified properties. + * Creates a new GcsSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @static - * @param {google.cloud.vision.v1p3beta1.IBoundingPoly=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly instance + * @param {google.cloud.vision.v1p3beta1.IGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource instance */ - BoundingPoly.create = function create(properties) { - return new BoundingPoly(properties); + GcsSource.create = function create(properties) { + return new GcsSource(properties); }; /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @static - * @param {google.cloud.vision.v1p3beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IGcsSource} message GcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encode = function encode(message, writer) { + GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.vertices != null && message.vertices.length) - for (var i = 0; i < message.vertices.length; ++i) - $root.google.cloud.vision.v1p3beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.normalizedVertices != null && message.normalizedVertices.length) - for (var i = 0; i < message.normalizedVertices.length; ++i) - $root.google.cloud.vision.v1p3beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @static - * @param {google.cloud.vision.v1p3beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IGcsSource} message GcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + GcsSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BoundingPoly message from the specified reader or buffer. + * Decodes a GcsSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decode = function decode(reader, length) { + GcsSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.BoundingPoly(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.GcsSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p3beta1.Vertex.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.normalizedVertices && message.normalizedVertices.length)) - message.normalizedVertices = []; - message.normalizedVertices.push($root.google.cloud.vision.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); + message.uri = reader.string(); break; default: reader.skipType(tag & 7); @@ -59967,151 +59951,107 @@ }; /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * Decodes a GcsSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + GcsSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BoundingPoly message. + * Verifies a GcsSource message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BoundingPoly.verify = function verify(message) { + GcsSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.vertices != null && message.hasOwnProperty("vertices")) { - if (!Array.isArray(message.vertices)) - return "vertices: array expected"; - for (var i = 0; i < message.vertices.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.Vertex.verify(message.vertices[i]); - if (error) - return "vertices." + error; - } - } - if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { - if (!Array.isArray(message.normalizedVertices)) - return "normalizedVertices: array expected"; - for (var i = 0; i < message.normalizedVertices.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.verify(message.normalizedVertices[i]); - if (error) - return "normalizedVertices." + error; - } - } + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; return null; }; /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p3beta1.GcsSource} GcsSource */ - BoundingPoly.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.BoundingPoly) + GcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.GcsSource) return object; - var message = new $root.google.cloud.vision.v1p3beta1.BoundingPoly(); - if (object.vertices) { - if (!Array.isArray(object.vertices)) - throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.vertices: array expected"); - message.vertices = []; - for (var i = 0; i < object.vertices.length; ++i) { - if (typeof object.vertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.vertices: object expected"); - message.vertices[i] = $root.google.cloud.vision.v1p3beta1.Vertex.fromObject(object.vertices[i]); - } - } - if (object.normalizedVertices) { - if (!Array.isArray(object.normalizedVertices)) - throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.normalizedVertices: array expected"); - message.normalizedVertices = []; - for (var i = 0; i < object.normalizedVertices.length; ++i) { - if (typeof object.normalizedVertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.BoundingPoly.normalizedVertices: object expected"); - message.normalizedVertices[i] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); - } - } + var message = new $root.google.cloud.vision.v1p3beta1.GcsSource(); + if (object.uri != null) + message.uri = String(object.uri); return message; }; /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @static - * @param {google.cloud.vision.v1p3beta1.BoundingPoly} message BoundingPoly + * @param {google.cloud.vision.v1p3beta1.GcsSource} message GcsSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BoundingPoly.toObject = function toObject(message, options) { + GcsSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.vertices = []; - object.normalizedVertices = []; - } - if (message.vertices && message.vertices.length) { - object.vertices = []; - for (var j = 0; j < message.vertices.length; ++j) - object.vertices[j] = $root.google.cloud.vision.v1p3beta1.Vertex.toObject(message.vertices[j], options); - } - if (message.normalizedVertices && message.normalizedVertices.length) { - object.normalizedVertices = []; - for (var j = 0; j < message.normalizedVertices.length; ++j) - object.normalizedVertices[j] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); - } + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; return object; }; /** - * Converts this BoundingPoly to JSON. + * Converts this GcsSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsSource * @instance * @returns {Object.} JSON object */ - BoundingPoly.prototype.toJSON = function toJSON() { + GcsSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BoundingPoly; + return GcsSource; })(); - v1p3beta1.NormalizedBoundingPoly = (function() { + v1p3beta1.GcsDestination = (function() { /** - * Properties of a NormalizedBoundingPoly. + * Properties of a GcsDestination. * @memberof google.cloud.vision.v1p3beta1 - * @interface INormalizedBoundingPoly - * @property {Array.|null} [vertices] NormalizedBoundingPoly vertices + * @interface IGcsDestination + * @property {string|null} [uri] GcsDestination uri */ /** - * Constructs a new NormalizedBoundingPoly. + * Constructs a new GcsDestination. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a NormalizedBoundingPoly. - * @implements INormalizedBoundingPoly + * @classdesc Represents a GcsDestination. + * @implements IGcsDestination * @constructor - * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IGcsDestination=} [properties] Properties to set */ - function NormalizedBoundingPoly(properties) { - this.vertices = []; + function GcsDestination(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -60119,78 +60059,75 @@ } /** - * NormalizedBoundingPoly vertices. - * @member {Array.} vertices - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * GcsDestination uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @instance */ - NormalizedBoundingPoly.prototype.vertices = $util.emptyArray; + GcsDestination.prototype.uri = ""; /** - * Creates a new NormalizedBoundingPoly instance using the specified properties. + * Creates a new GcsDestination instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @static - * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly instance + * @param {google.cloud.vision.v1p3beta1.IGcsDestination=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination instance */ - NormalizedBoundingPoly.create = function create(properties) { - return new NormalizedBoundingPoly(properties); + GcsDestination.create = function create(properties) { + return new GcsDestination(properties); }; /** - * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsDestination.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @static - * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IGcsDestination} message GcsDestination message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedBoundingPoly.encode = function encode(message, writer) { + GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.vertices != null && message.vertices.length) - for (var i = 0; i < message.vertices.length; ++i) - $root.google.cloud.vision.v1p3beta1.NormalizedVertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; /** - * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.GcsDestination.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @static - * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IGcsDestination} message GcsDestination message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedBoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a NormalizedBoundingPoly message from the specified reader or buffer. + * Decodes a GcsDestination message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly + * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedBoundingPoly.decode = function decode(reader, length) { + GcsDestination.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.GcsDestination(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); + message.uri = reader.string(); break; default: reader.skipType(tag & 7); @@ -60201,126 +60138,131 @@ }; /** - * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited. + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly + * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedBoundingPoly.decodeDelimited = function decodeDelimited(reader) { + GcsDestination.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a NormalizedBoundingPoly message. + * Verifies a GcsDestination message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NormalizedBoundingPoly.verify = function verify(message) { + GcsDestination.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.vertices != null && message.hasOwnProperty("vertices")) { - if (!Array.isArray(message.vertices)) - return "vertices: array expected"; - for (var i = 0; i < message.vertices.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.verify(message.vertices[i]); - if (error) - return "vertices." + error; - } - } + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; return null; }; /** - * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types. + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly + * @returns {google.cloud.vision.v1p3beta1.GcsDestination} GcsDestination */ - NormalizedBoundingPoly.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly) + GcsDestination.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.GcsDestination) return object; - var message = new $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly(); - if (object.vertices) { - if (!Array.isArray(object.vertices)) - throw TypeError(".google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.vertices: array expected"); - message.vertices = []; - for (var i = 0; i < object.vertices.length; ++i) { - if (typeof object.vertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.vertices: object expected"); - message.vertices[i] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.fromObject(object.vertices[i]); - } - } + var message = new $root.google.cloud.vision.v1p3beta1.GcsDestination(); + if (object.uri != null) + message.uri = String(object.uri); return message; }; /** - * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified. + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @static - * @param {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} message NormalizedBoundingPoly + * @param {google.cloud.vision.v1p3beta1.GcsDestination} message GcsDestination * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - NormalizedBoundingPoly.toObject = function toObject(message, options) { + GcsDestination.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.vertices = []; - if (message.vertices && message.vertices.length) { - object.vertices = []; - for (var j = 0; j < message.vertices.length; ++j) - object.vertices[j] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.toObject(message.vertices[j], options); - } + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; return object; }; /** - * Converts this NormalizedBoundingPoly to JSON. + * Converts this GcsDestination to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly + * @memberof google.cloud.vision.v1p3beta1.GcsDestination * @instance * @returns {Object.} JSON object */ - NormalizedBoundingPoly.prototype.toJSON = function toJSON() { + GcsDestination.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return NormalizedBoundingPoly; + return GcsDestination; })(); - v1p3beta1.Position = (function() { + /** + * Likelihood enum. + * @name google.cloud.vision.v1p3beta1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1p3beta1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1p3beta1.OperationMetadata = (function() { /** - * Properties of a Position. + * Properties of an OperationMetadata. * @memberof google.cloud.vision.v1p3beta1 - * @interface IPosition - * @property {number|null} [x] Position x - * @property {number|null} [y] Position y - * @property {number|null} [z] Position z + * @interface IOperationMetadata + * @property {google.cloud.vision.v1p3beta1.OperationMetadata.State|null} [state] OperationMetadata state + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime */ /** - * Constructs a new Position. + * Constructs a new OperationMetadata. * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a Position. - * @implements IPosition + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata * @constructor - * @param {google.cloud.vision.v1p3beta1.IPosition=} [properties] Properties to set + * @param {google.cloud.vision.v1p3beta1.IOperationMetadata=} [properties] Properties to set */ - function Position(properties) { + function OperationMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -60328,101 +60270,101 @@ } /** - * Position x. - * @member {number} x - * @memberof google.cloud.vision.v1p3beta1.Position + * OperationMetadata state. + * @member {google.cloud.vision.v1p3beta1.OperationMetadata.State} state + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @instance */ - Position.prototype.x = 0; + OperationMetadata.prototype.state = 0; /** - * Position y. - * @member {number} y - * @memberof google.cloud.vision.v1p3beta1.Position + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @instance */ - Position.prototype.y = 0; + OperationMetadata.prototype.createTime = null; /** - * Position z. - * @member {number} z - * @memberof google.cloud.vision.v1p3beta1.Position + * OperationMetadata updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @instance */ - Position.prototype.z = 0; + OperationMetadata.prototype.updateTime = null; /** - * Creates a new Position instance using the specified properties. + * Creates a new OperationMetadata instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p3beta1.Position + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @static - * @param {google.cloud.vision.v1p3beta1.IPosition=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.Position} Position instance + * @param {google.cloud.vision.v1p3beta1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata instance */ - Position.create = function create(properties) { - return new Position(properties); + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); }; /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p3beta1.OperationMetadata.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p3beta1.Position + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @static - * @param {google.cloud.vision.v1p3beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IOperationMetadata} message OperationMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encode = function encode(message, writer) { + OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.createTime != null && message.hasOwnProperty("createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.Position.verify|verify} messages. + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.OperationMetadata.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Position + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @static - * @param {google.cloud.vision.v1p3beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p3beta1.IOperationMetadata} message OperationMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encodeDelimited = function encodeDelimited(message, writer) { + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Position message from the specified reader or buffer. + * Decodes an OperationMetadata message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p3beta1.Position + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.Position} Position + * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decode = function decode(reader, length) { + OperationMetadata.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.Position(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.OperationMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); + message.state = reader.int32(); break; - case 2: - message.y = reader.float(); + case 5: + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; - case 3: - message.z = reader.float(); + case 6: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -60433,104 +60375,162 @@ }; /** - * Decodes a Position message from the specified reader or buffer, length delimited. + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.Position + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.Position} Position + * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decodeDelimited = function decodeDelimited(reader) { + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Position message. + * Verifies an OperationMetadata message. * @function verify - * @memberof google.cloud.vision.v1p3beta1.Position + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Position.verify = function verify(message) { + OperationMetadata.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; - if (message.z != null && message.hasOwnProperty("z")) - if (typeof message.z !== "number") - return "z: number expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.updateTime != null && message.hasOwnProperty("updateTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (error) + return "updateTime." + error; + } return null; }; /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.Position + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.Position} Position + * @returns {google.cloud.vision.v1p3beta1.OperationMetadata} OperationMetadata */ - Position.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.Position) + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.OperationMetadata) return object; - var message = new $root.google.cloud.vision.v1p3beta1.Position(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); - if (object.z != null) - message.z = Number(object.z); + var message = new $root.google.cloud.vision.v1p3beta1.OperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "CREATED": + case 1: + message.state = 1; + break; + case "RUNNING": + case 2: + message.state = 2; + break; + case "DONE": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.OperationMetadata.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } return message; }; /** - * Creates a plain object from a Position message. Also converts values to other types if specified. + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p3beta1.Position + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @static - * @param {google.cloud.vision.v1p3beta1.Position} message Position + * @param {google.cloud.vision.v1p3beta1.OperationMetadata} message OperationMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Position.toObject = function toObject(message, options) { + OperationMetadata.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.x = 0; - object.y = 0; - object.z = 0; + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.createTime = null; + object.updateTime = null; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; - if (message.z != null && message.hasOwnProperty("z")) - object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1p3beta1.OperationMetadata.State[message.state] : message.state; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); return object; }; /** - * Converts this Position to JSON. + * Converts this OperationMetadata to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.Position + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata * @instance * @returns {Object.} JSON object */ - Position.prototype.toJSON = function toJSON() { + OperationMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Position; + /** + * State enum. + * @name google.cloud.vision.v1p3beta1.OperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} CREATED=1 CREATED value + * @property {number} RUNNING=2 RUNNING value + * @property {number} DONE=3 DONE value + * @property {number} CANCELLED=4 CANCELLED value + */ + OperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CREATED"] = 1; + values[valuesById[2] = "RUNNING"] = 2; + values[valuesById[3] = "DONE"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return OperationMetadata; })(); v1p3beta1.ProductSearchParams = (function() { @@ -72991,229 +72991,496 @@ object.label = ""; object.languageCode = ""; } - if (message.label != null && message.hasOwnProperty("label")) - object.label = message.label; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - object.languageCode = message.languageCode; - return object; - }; + if (message.label != null && message.hasOwnProperty("label")) + object.label = message.label; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + return object; + }; + + /** + * Converts this WebLabel to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @instance + * @returns {Object.} JSON object + */ + WebLabel.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return WebLabel; + })(); + + return WebDetection; + })(); + + return v1p3beta1; + })(); + + vision.v1p4beta1 = (function() { + + /** + * Namespace v1p4beta1. + * @memberof google.cloud.vision + * @namespace + */ + var v1p4beta1 = {}; + + v1p4beta1.FaceRecognitionParams = (function() { + + /** + * Properties of a FaceRecognitionParams. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IFaceRecognitionParams + * @property {Array.|null} [celebritySet] FaceRecognitionParams celebritySet + */ + + /** + * Constructs a new FaceRecognitionParams. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a FaceRecognitionParams. + * @implements IFaceRecognitionParams + * @constructor + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams=} [properties] Properties to set + */ + function FaceRecognitionParams(properties) { + this.celebritySet = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FaceRecognitionParams celebritySet. + * @member {Array.} celebritySet + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @instance + */ + FaceRecognitionParams.prototype.celebritySet = $util.emptyArray; + + /** + * Creates a new FaceRecognitionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @static + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams instance + */ + FaceRecognitionParams.create = function create(properties) { + return new FaceRecognitionParams(properties); + }; + + /** + * Encodes the specified FaceRecognitionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @static + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams} message FaceRecognitionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceRecognitionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.celebritySet != null && message.celebritySet.length) + for (var i = 0; i < message.celebritySet.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.celebritySet[i]); + return writer; + }; + + /** + * Encodes the specified FaceRecognitionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @static + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams} message FaceRecognitionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FaceRecognitionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FaceRecognitionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceRecognitionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.celebritySet && message.celebritySet.length)) + message.celebritySet = []; + message.celebritySet.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Converts this WebLabel to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel - * @instance - * @returns {Object.} JSON object - */ - WebLabel.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Decodes a FaceRecognitionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceRecognitionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - return WebLabel; - })(); + /** + * Verifies a FaceRecognitionParams message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceRecognitionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.celebritySet != null && message.hasOwnProperty("celebritySet")) { + if (!Array.isArray(message.celebritySet)) + return "celebritySet: array expected"; + for (var i = 0; i < message.celebritySet.length; ++i) + if (!$util.isString(message.celebritySet[i])) + return "celebritySet: string[] expected"; + } + return null; + }; - return WebDetection; - })(); + /** + * Creates a FaceRecognitionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams + */ + FaceRecognitionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams(); + if (object.celebritySet) { + if (!Array.isArray(object.celebritySet)) + throw TypeError(".google.cloud.vision.v1p4beta1.FaceRecognitionParams.celebritySet: array expected"); + message.celebritySet = []; + for (var i = 0; i < object.celebritySet.length; ++i) + message.celebritySet[i] = String(object.celebritySet[i]); + } + return message; + }; - return v1p3beta1; - })(); + /** + * Creates a plain object from a FaceRecognitionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @static + * @param {google.cloud.vision.v1p4beta1.FaceRecognitionParams} message FaceRecognitionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FaceRecognitionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.celebritySet = []; + if (message.celebritySet && message.celebritySet.length) { + object.celebritySet = []; + for (var j = 0; j < message.celebritySet.length; ++j) + object.celebritySet[j] = message.celebritySet[j]; + } + return object; + }; - vision.v1p4beta1 = (function() { + /** + * Converts this FaceRecognitionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @instance + * @returns {Object.} JSON object + */ + FaceRecognitionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Namespace v1p4beta1. - * @memberof google.cloud.vision - * @namespace - */ - var v1p4beta1 = {}; + return FaceRecognitionParams; + })(); - v1p4beta1.ImageAnnotator = (function() { + v1p4beta1.Celebrity = (function() { /** - * Constructs a new ImageAnnotator service. + * Properties of a Celebrity. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an ImageAnnotator - * @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 + * @interface ICelebrity + * @property {string|null} [name] Celebrity name + * @property {string|null} [displayName] Celebrity displayName + * @property {string|null} [description] Celebrity description */ - function ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; /** - * Creates new ImageAnnotator service using the specified rpc implementation. - * @function create - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + * Constructs a new Celebrity. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Celebrity. + * @implements ICelebrity + * @constructor + * @param {google.cloud.vision.v1p4beta1.ICelebrity=} [properties] Properties to set */ - ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; + function Celebrity(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]]; + } /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateImages}. - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @typedef BatchAnnotateImagesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse + * Celebrity name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @instance */ + Celebrity.prototype.name = ""; /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * Celebrity displayName. + * @member {string} displayName + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @instance - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse - * @returns {undefined} - * @variation 1 */ - Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { - return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse, request, callback); - }, "name", { value: "BatchAnnotateImages" }); + Celebrity.prototype.displayName = ""; /** - * Calls BatchAnnotateImages. - * @function batchAnnotateImages - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * Celebrity description. + * @member {string} description + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @instance - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 */ + Celebrity.prototype.description = ""; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateFiles}. - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @typedef BatchAnnotateFilesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} [response] BatchAnnotateFilesResponse + * Creates a new Celebrity instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @static + * @param {google.cloud.vision.v1p4beta1.ICelebrity=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity instance */ + Celebrity.create = function create(properties) { + return new Celebrity(properties); + }; /** - * Calls BatchAnnotateFiles. - * @function batchAnnotateFiles - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse - * @returns {undefined} - * @variation 1 + * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @static + * @param {google.cloud.vision.v1p4beta1.ICelebrity} message Celebrity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - Object.defineProperty(ImageAnnotator.prototype.batchAnnotateFiles = function batchAnnotateFiles(request, callback) { - return this.rpcCall(batchAnnotateFiles, $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest, $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse, request, callback); - }, "name", { value: "BatchAnnotateFiles" }); + Celebrity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && message.hasOwnProperty("displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + return writer; + }; /** - * Calls BatchAnnotateFiles. - * @function batchAnnotateFiles - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 + * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @static + * @param {google.cloud.vision.v1p4beta1.ICelebrity} message Celebrity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ + Celebrity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateImages}. - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @typedef AsyncBatchAnnotateImagesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.longrunning.Operation} [response] Operation + * Decodes a Celebrity message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ + Celebrity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Celebrity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.displayName = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; /** - * Calls AsyncBatchAnnotateImages. - * @function asyncBatchAnnotateImages - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and Operation - * @returns {undefined} - * @variation 1 + * Decodes a Celebrity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateImages = function asyncBatchAnnotateImages(request, callback) { - return this.rpcCall(asyncBatchAnnotateImages, $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest, $root.google.longrunning.Operation, request, callback); - }, "name", { value: "AsyncBatchAnnotateImages" }); + Celebrity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; /** - * Calls AsyncBatchAnnotateImages. - * @function asyncBatchAnnotateImages - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 + * Verifies a Celebrity message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not */ + Celebrity.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.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + return null; + }; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateFiles}. - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @typedef AsyncBatchAnnotateFilesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {google.longrunning.Operation} [response] Operation + * Creates a Celebrity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity */ + Celebrity.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Celebrity) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Celebrity(); + if (object.name != null) + message.name = String(object.name); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.description != null) + message.description = String(object.description); + return message; + }; /** - * Calls AsyncBatchAnnotateFiles. - * @function asyncBatchAnnotateFiles - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator - * @instance - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object - * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation - * @returns {undefined} - * @variation 1 + * Creates a plain object from a Celebrity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @static + * @param {google.cloud.vision.v1p4beta1.Celebrity} message Celebrity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object */ - Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { - return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); - }, "name", { value: "AsyncBatchAnnotateFiles" }); + Celebrity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.description = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + return object; + }; /** - * Calls AsyncBatchAnnotateFiles. - * @function asyncBatchAnnotateFiles - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * Converts this Celebrity to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Celebrity * @instance - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 + * @returns {Object.} JSON object */ + Celebrity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return ImageAnnotator; + return Celebrity; })(); - v1p4beta1.Feature = (function() { + v1p4beta1.FaceRecognitionResult = (function() { /** - * Properties of a Feature. + * Properties of a FaceRecognitionResult. * @memberof google.cloud.vision.v1p4beta1 - * @interface IFeature - * @property {google.cloud.vision.v1p4beta1.Feature.Type|null} [type] Feature type - * @property {number|null} [maxResults] Feature maxResults - * @property {string|null} [model] Feature model + * @interface IFaceRecognitionResult + * @property {google.cloud.vision.v1p4beta1.ICelebrity|null} [celebrity] FaceRecognitionResult celebrity + * @property {number|null} [confidence] FaceRecognitionResult confidence */ /** - * Constructs a new Feature. + * Constructs a new FaceRecognitionResult. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a Feature. - * @implements IFeature + * @classdesc Represents a FaceRecognitionResult. + * @implements IFaceRecognitionResult * @constructor - * @param {google.cloud.vision.v1p4beta1.IFeature=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult=} [properties] Properties to set */ - function Feature(properties) { + function FaceRecognitionResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -73221,101 +73488,88 @@ } /** - * Feature type. - * @member {google.cloud.vision.v1p4beta1.Feature.Type} type - * @memberof google.cloud.vision.v1p4beta1.Feature - * @instance - */ - Feature.prototype.type = 0; - - /** - * Feature maxResults. - * @member {number} maxResults - * @memberof google.cloud.vision.v1p4beta1.Feature + * FaceRecognitionResult celebrity. + * @member {google.cloud.vision.v1p4beta1.ICelebrity|null|undefined} celebrity + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @instance */ - Feature.prototype.maxResults = 0; + FaceRecognitionResult.prototype.celebrity = null; /** - * Feature model. - * @member {string} model - * @memberof google.cloud.vision.v1p4beta1.Feature + * FaceRecognitionResult confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @instance */ - Feature.prototype.model = ""; + FaceRecognitionResult.prototype.confidence = 0; /** - * Creates a new Feature instance using the specified properties. + * Creates a new FaceRecognitionResult instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.Feature + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static - * @param {google.cloud.vision.v1p4beta1.IFeature=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Feature} Feature instance + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult instance */ - Feature.create = function create(properties) { - return new Feature(properties); + FaceRecognitionResult.create = function create(properties) { + return new FaceRecognitionResult(properties); }; /** - * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. + * Encodes the specified FaceRecognitionResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.Feature + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static - * @param {google.cloud.vision.v1p4beta1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult} message FaceRecognitionResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encode = function encode(message, writer) { + FaceRecognitionResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); + if (message.celebrity != null && message.hasOwnProperty("celebrity")) + $root.google.cloud.vision.v1p4beta1.Celebrity.encode(message.celebrity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; /** - * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. + * Encodes the specified FaceRecognitionResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Feature + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static - * @param {google.cloud.vision.v1p4beta1.IFeature} message Feature message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult} message FaceRecognitionResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Feature.encodeDelimited = function encodeDelimited(message, writer) { + FaceRecognitionResult.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Feature message from the specified reader or buffer. + * Decodes a FaceRecognitionResult message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.Feature + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Feature} Feature + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decode = function decode(reader, length) { + FaceRecognitionResult.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Feature(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.type = reader.int32(); + message.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.decode(reader, reader.uint32()); break; case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); + message.confidence = reader.float(); break; default: reader.skipType(tag & 7); @@ -73326,229 +73580,122 @@ }; /** - * Decodes a Feature message from the specified reader or buffer, length delimited. + * Decodes a FaceRecognitionResult message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Feature + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Feature} Feature + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Feature.decodeDelimited = function decodeDelimited(reader) { + FaceRecognitionResult.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Feature message. + * Verifies a FaceRecognitionResult message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.Feature + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Feature.verify = function verify(message) { + FaceRecognitionResult.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: - case 3: - case 4: - case 5: - case 11: - case 6: - case 7: - case 9: - case 10: - case 12: - case 19: - break; - } - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - if (!$util.isInteger(message.maxResults)) - return "maxResults: integer expected"; - if (message.model != null && message.hasOwnProperty("model")) - if (!$util.isString(message.model)) - return "model: string expected"; + if (message.celebrity != null && message.hasOwnProperty("celebrity")) { + var error = $root.google.cloud.vision.v1p4beta1.Celebrity.verify(message.celebrity); + if (error) + return "celebrity." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; return null; }; /** - * Creates a Feature message from a plain object. Also converts values to their respective internal types. + * Creates a FaceRecognitionResult message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Feature + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Feature} Feature + * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult */ - Feature.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Feature) + FaceRecognitionResult.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult) return object; - var message = new $root.google.cloud.vision.v1p4beta1.Feature(); - switch (object.type) { - case "TYPE_UNSPECIFIED": - case 0: - message.type = 0; - break; - case "FACE_DETECTION": - case 1: - message.type = 1; - break; - case "LANDMARK_DETECTION": - case 2: - message.type = 2; - break; - case "LOGO_DETECTION": - case 3: - message.type = 3; - break; - case "LABEL_DETECTION": - case 4: - message.type = 4; - break; - case "TEXT_DETECTION": - case 5: - message.type = 5; - break; - case "DOCUMENT_TEXT_DETECTION": - case 11: - message.type = 11; - break; - case "SAFE_SEARCH_DETECTION": - case 6: - message.type = 6; - break; - case "IMAGE_PROPERTIES": - case 7: - message.type = 7; - break; - case "CROP_HINTS": - case 9: - message.type = 9; - break; - case "WEB_DETECTION": - case 10: - message.type = 10; - break; - case "PRODUCT_SEARCH": - case 12: - message.type = 12; - break; - case "OBJECT_LOCALIZATION": - case 19: - message.type = 19; - break; + var message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult(); + if (object.celebrity != null) { + if (typeof object.celebrity !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceRecognitionResult.celebrity: object expected"); + message.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.fromObject(object.celebrity); } - if (object.maxResults != null) - message.maxResults = object.maxResults | 0; - if (object.model != null) - message.model = String(object.model); + if (object.confidence != null) + message.confidence = Number(object.confidence); return message; }; /** - * Creates a plain object from a Feature message. Also converts values to other types if specified. + * Creates a plain object from a FaceRecognitionResult message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Feature + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @static - * @param {google.cloud.vision.v1p4beta1.Feature} message Feature + * @param {google.cloud.vision.v1p4beta1.FaceRecognitionResult} message FaceRecognitionResult * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Feature.toObject = function toObject(message, options) { + FaceRecognitionResult.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; - object.maxResults = 0; - object.model = ""; + object.celebrity = null; + object.confidence = 0; } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Feature.Type[message.type] : message.type; - if (message.maxResults != null && message.hasOwnProperty("maxResults")) - object.maxResults = message.maxResults; - if (message.model != null && message.hasOwnProperty("model")) - object.model = message.model; + if (message.celebrity != null && message.hasOwnProperty("celebrity")) + object.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.toObject(message.celebrity, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; }; /** - * Converts this Feature to JSON. + * Converts this FaceRecognitionResult to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Feature + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult * @instance * @returns {Object.} JSON object */ - Feature.prototype.toJSON = function toJSON() { + FaceRecognitionResult.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * Type enum. - * @name google.cloud.vision.v1p4beta1.Feature.Type - * @enum {string} - * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value - * @property {number} FACE_DETECTION=1 FACE_DETECTION value - * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value - * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value - * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value - * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value - * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value - * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value - * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value - * @property {number} CROP_HINTS=9 CROP_HINTS value - * @property {number} WEB_DETECTION=10 WEB_DETECTION value - * @property {number} PRODUCT_SEARCH=12 PRODUCT_SEARCH value - * @property {number} OBJECT_LOCALIZATION=19 OBJECT_LOCALIZATION value - */ - Feature.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; - values[valuesById[1] = "FACE_DETECTION"] = 1; - values[valuesById[2] = "LANDMARK_DETECTION"] = 2; - values[valuesById[3] = "LOGO_DETECTION"] = 3; - values[valuesById[4] = "LABEL_DETECTION"] = 4; - values[valuesById[5] = "TEXT_DETECTION"] = 5; - values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; - values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; - values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; - values[valuesById[9] = "CROP_HINTS"] = 9; - values[valuesById[10] = "WEB_DETECTION"] = 10; - values[valuesById[12] = "PRODUCT_SEARCH"] = 12; - values[valuesById[19] = "OBJECT_LOCALIZATION"] = 19; - return values; - })(); - - return Feature; + return FaceRecognitionResult; })(); - v1p4beta1.ImageSource = (function() { + v1p4beta1.Vertex = (function() { /** - * Properties of an ImageSource. + * Properties of a Vertex. * @memberof google.cloud.vision.v1p4beta1 - * @interface IImageSource - * @property {string|null} [gcsImageUri] ImageSource gcsImageUri - * @property {string|null} [imageUri] ImageSource imageUri + * @interface IVertex + * @property {number|null} [x] Vertex x + * @property {number|null} [y] Vertex y */ /** - * Constructs a new ImageSource. + * Constructs a new Vertex. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an ImageSource. - * @implements IImageSource + * @classdesc Represents a Vertex. + * @implements IVertex * @constructor - * @param {google.cloud.vision.v1p4beta1.IImageSource=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set */ - function ImageSource(properties) { + function Vertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -73556,88 +73703,88 @@ } /** - * ImageSource gcsImageUri. - * @member {string} gcsImageUri - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * Vertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p4beta1.Vertex * @instance */ - ImageSource.prototype.gcsImageUri = ""; + Vertex.prototype.x = 0; /** - * ImageSource imageUri. - * @member {string} imageUri - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * Vertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p4beta1.Vertex * @instance */ - ImageSource.prototype.imageUri = ""; + Vertex.prototype.y = 0; /** - * Creates a new ImageSource instance using the specified properties. + * Creates a new Vertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static - * @param {google.cloud.vision.v1p4beta1.IImageSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource instance + * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex instance */ - ImageSource.create = function create(properties) { - return new ImageSource(properties); + Vertex.create = function create(properties) { + return new Vertex(properties); }; /** - * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. + * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static - * @param {google.cloud.vision.v1p4beta1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encode = function encode(message, writer) { + Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; /** - * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. + * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static - * @param {google.cloud.vision.v1p4beta1.IImageSource} message ImageSource message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageSource.encodeDelimited = function encodeDelimited(message, writer) { + Vertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageSource message from the specified reader or buffer. + * Decodes a Vertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decode = function decode(reader, length) { + Vertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Vertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsImageUri = reader.string(); + message.x = reader.int32(); break; case 2: - message.imageUri = reader.string(); + message.y = reader.int32(); break; default: reader.skipType(tag & 7); @@ -73648,117 +73795,117 @@ }; /** - * Decodes an ImageSource message from the specified reader or buffer, length delimited. + * Decodes a Vertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageSource.decodeDelimited = function decodeDelimited(reader) { + Vertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageSource message. + * Verifies a Vertex message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageSource.verify = function verify(message) { + Vertex.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - if (!$util.isString(message.gcsImageUri)) - return "gcsImageUri: string expected"; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - if (!$util.isString(message.imageUri)) - return "imageUri: string expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (!$util.isInteger(message.x)) + return "x: integer expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (!$util.isInteger(message.y)) + return "y: integer expected"; return null; }; /** - * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. + * Creates a Vertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource + * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex */ - ImageSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageSource) + Vertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Vertex) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ImageSource(); - if (object.gcsImageUri != null) - message.gcsImageUri = String(object.gcsImageUri); - if (object.imageUri != null) - message.imageUri = String(object.imageUri); + var message = new $root.google.cloud.vision.v1p4beta1.Vertex(); + if (object.x != null) + message.x = object.x | 0; + if (object.y != null) + message.y = object.y | 0; return message; }; /** - * Creates a plain object from an ImageSource message. Also converts values to other types if specified. + * Creates a plain object from a Vertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @memberof google.cloud.vision.v1p4beta1.Vertex * @static - * @param {google.cloud.vision.v1p4beta1.ImageSource} message ImageSource + * @param {google.cloud.vision.v1p4beta1.Vertex} message Vertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageSource.toObject = function toObject(message, options) { + Vertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.gcsImageUri = ""; - object.imageUri = ""; + object.x = 0; + object.y = 0; } - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) - object.gcsImageUri = message.gcsImageUri; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - object.imageUri = message.imageUri; + if (message.x != null && message.hasOwnProperty("x")) + object.x = message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = message.y; return object; }; /** - * Converts this ImageSource to JSON. + * Converts this Vertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @memberof google.cloud.vision.v1p4beta1.Vertex * @instance * @returns {Object.} JSON object */ - ImageSource.prototype.toJSON = function toJSON() { + Vertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageSource; + return Vertex; })(); - v1p4beta1.Image = (function() { + v1p4beta1.NormalizedVertex = (function() { /** - * Properties of an Image. + * Properties of a NormalizedVertex. * @memberof google.cloud.vision.v1p4beta1 - * @interface IImage - * @property {Uint8Array|null} [content] Image content - * @property {google.cloud.vision.v1p4beta1.IImageSource|null} [source] Image source + * @interface INormalizedVertex + * @property {number|null} [x] NormalizedVertex x + * @property {number|null} [y] NormalizedVertex y */ /** - * Constructs a new Image. + * Constructs a new NormalizedVertex. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an Image. - * @implements IImage + * @classdesc Represents a NormalizedVertex. + * @implements INormalizedVertex * @constructor - * @param {google.cloud.vision.v1p4beta1.IImage=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set */ - function Image(properties) { + function NormalizedVertex(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -73766,88 +73913,88 @@ } /** - * Image content. - * @member {Uint8Array} content - * @memberof google.cloud.vision.v1p4beta1.Image + * NormalizedVertex x. + * @member {number} x + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @instance */ - Image.prototype.content = $util.newBuffer([]); + NormalizedVertex.prototype.x = 0; /** - * Image source. - * @member {google.cloud.vision.v1p4beta1.IImageSource|null|undefined} source - * @memberof google.cloud.vision.v1p4beta1.Image + * NormalizedVertex y. + * @member {number} y + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @instance */ - Image.prototype.source = null; + NormalizedVertex.prototype.y = 0; /** - * Creates a new Image instance using the specified properties. + * Creates a new NormalizedVertex instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.Image + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p4beta1.IImage=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Image} Image instance + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex instance */ - Image.create = function create(properties) { - return new Image(properties); + NormalizedVertex.create = function create(properties) { + return new NormalizedVertex(properties); }; /** - * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. + * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.Image + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p4beta1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encode = function encode(message, writer) { + NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) - $root.google.cloud.vision.v1p4beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; /** - * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. + * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Image + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p4beta1.IImage} message Image message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Image.encodeDelimited = function encodeDelimited(message, writer) { + NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an Image message from the specified reader or buffer. + * Decodes a NormalizedVertex message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.Image + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Image} Image + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decode = function decode(reader, length) { + NormalizedVertex.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Image(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.content = reader.bytes(); + message.x = reader.float(); break; case 2: - message.source = $root.google.cloud.vision.v1p4beta1.ImageSource.decode(reader, reader.uint32()); + message.y = reader.float(); break; default: reader.skipType(tag & 7); @@ -73858,169 +74005,119 @@ }; /** - * Decodes an Image message from the specified reader or buffer, length delimited. + * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Image + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Image} Image + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Image.decodeDelimited = function decodeDelimited(reader) { + NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an Image message. + * Verifies a NormalizedVertex message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.Image + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Image.verify = function verify(message) { + NormalizedVertex.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.content != null && message.hasOwnProperty("content")) - if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) - return "content: buffer expected"; - if (message.source != null && message.hasOwnProperty("source")) { - var error = $root.google.cloud.vision.v1p4beta1.ImageSource.verify(message.source); - if (error) - return "source." + error; - } + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; return null; }; /** - * Creates an Image message from a plain object. Also converts values to their respective internal types. + * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Image + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Image} Image + * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex */ - Image.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Image) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.Image(); - if (object.content != null) - if (typeof object.content === "string") - $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) - message.content = object.content; - if (object.source != null) { - if (typeof object.source !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.Image.source: object expected"); - message.source = $root.google.cloud.vision.v1p4beta1.ImageSource.fromObject(object.source); - } + NormalizedVertex.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.NormalizedVertex) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); return message; }; /** - * Creates a plain object from an Image message. Also converts values to other types if specified. + * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Image + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @static - * @param {google.cloud.vision.v1p4beta1.Image} message Image + * @param {google.cloud.vision.v1p4beta1.NormalizedVertex} message NormalizedVertex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Image.toObject = function toObject(message, options) { + NormalizedVertex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - if (options.bytes === String) - object.content = ""; - else { - object.content = []; - if (options.bytes !== Array) - object.content = $util.newBuffer(object.content); - } - object.source = null; + object.x = 0; + object.y = 0; } - if (message.content != null && message.hasOwnProperty("content")) - object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; - if (message.source != null && message.hasOwnProperty("source")) - object.source = $root.google.cloud.vision.v1p4beta1.ImageSource.toObject(message.source, options); + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; return object; }; /** - * Converts this Image to JSON. + * Converts this NormalizedVertex to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Image + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex * @instance * @returns {Object.} JSON object */ - Image.prototype.toJSON = function toJSON() { + NormalizedVertex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Image; - })(); - - /** - * Likelihood enum. - * @name google.cloud.vision.v1p4beta1.Likelihood - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value - * @property {number} UNLIKELY=2 UNLIKELY value - * @property {number} POSSIBLE=3 POSSIBLE value - * @property {number} LIKELY=4 LIKELY value - * @property {number} VERY_LIKELY=5 VERY_LIKELY value - */ - v1p4beta1.Likelihood = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "VERY_UNLIKELY"] = 1; - values[valuesById[2] = "UNLIKELY"] = 2; - values[valuesById[3] = "POSSIBLE"] = 3; - values[valuesById[4] = "LIKELY"] = 4; - values[valuesById[5] = "VERY_LIKELY"] = 5; - return values; + return NormalizedVertex; })(); - v1p4beta1.FaceAnnotation = (function() { + v1p4beta1.BoundingPoly = (function() { /** - * Properties of a FaceAnnotation. + * Properties of a BoundingPoly. * @memberof google.cloud.vision.v1p4beta1 - * @interface IFaceAnnotation - * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly - * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly - * @property {Array.|null} [landmarks] FaceAnnotation landmarks - * @property {number|null} [rollAngle] FaceAnnotation rollAngle - * @property {number|null} [panAngle] FaceAnnotation panAngle - * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle - * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence - * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood - * @property {Array.|null} [recognitionResult] FaceAnnotation recognitionResult + * @interface IBoundingPoly + * @property {Array.|null} [vertices] BoundingPoly vertices + * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices */ /** - * Constructs a new FaceAnnotation. + * Constructs a new BoundingPoly. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a FaceAnnotation. - * @implements IFaceAnnotation + * @classdesc Represents a BoundingPoly. + * @implements IBoundingPoly * @constructor - * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set */ - function FaceAnnotation(properties) { - this.landmarks = []; - this.recognitionResult = []; + function BoundingPoly(properties) { + this.vertices = []; + this.normalizedVertices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -74028,276 +74125,94 @@ } /** - * FaceAnnotation boundingPoly. - * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.boundingPoly = null; - - /** - * FaceAnnotation fdBoundingPoly. - * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} fdBoundingPoly - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.fdBoundingPoly = null; - - /** - * FaceAnnotation landmarks. - * @member {Array.} landmarks - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.landmarks = $util.emptyArray; - - /** - * FaceAnnotation rollAngle. - * @member {number} rollAngle - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.rollAngle = 0; - - /** - * FaceAnnotation panAngle. - * @member {number} panAngle - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.panAngle = 0; - - /** - * FaceAnnotation tiltAngle. - * @member {number} tiltAngle - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.tiltAngle = 0; - - /** - * FaceAnnotation detectionConfidence. - * @member {number} detectionConfidence - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.detectionConfidence = 0; - - /** - * FaceAnnotation landmarkingConfidence. - * @member {number} landmarkingConfidence - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.landmarkingConfidence = 0; - - /** - * FaceAnnotation joyLikelihood. - * @member {google.cloud.vision.v1p4beta1.Likelihood} joyLikelihood - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.joyLikelihood = 0; - - /** - * FaceAnnotation sorrowLikelihood. - * @member {google.cloud.vision.v1p4beta1.Likelihood} sorrowLikelihood - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.sorrowLikelihood = 0; - - /** - * FaceAnnotation angerLikelihood. - * @member {google.cloud.vision.v1p4beta1.Likelihood} angerLikelihood - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.angerLikelihood = 0; - - /** - * FaceAnnotation surpriseLikelihood. - * @member {google.cloud.vision.v1p4beta1.Likelihood} surpriseLikelihood - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.surpriseLikelihood = 0; - - /** - * FaceAnnotation underExposedLikelihood. - * @member {google.cloud.vision.v1p4beta1.Likelihood} underExposedLikelihood - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.underExposedLikelihood = 0; - - /** - * FaceAnnotation blurredLikelihood. - * @member {google.cloud.vision.v1p4beta1.Likelihood} blurredLikelihood - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @instance - */ - FaceAnnotation.prototype.blurredLikelihood = 0; - - /** - * FaceAnnotation headwearLikelihood. - * @member {google.cloud.vision.v1p4beta1.Likelihood} headwearLikelihood - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * BoundingPoly vertices. + * @member {Array.} vertices + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @instance */ - FaceAnnotation.prototype.headwearLikelihood = 0; + BoundingPoly.prototype.vertices = $util.emptyArray; /** - * FaceAnnotation recognitionResult. - * @member {Array.} recognitionResult - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * BoundingPoly normalizedVertices. + * @member {Array.} normalizedVertices + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @instance */ - FaceAnnotation.prototype.recognitionResult = $util.emptyArray; + BoundingPoly.prototype.normalizedVertices = $util.emptyArray; /** - * Creates a new FaceAnnotation instance using the specified properties. + * Creates a new BoundingPoly instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation instance + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly instance */ - FaceAnnotation.create = function create(properties) { - return new FaceAnnotation(properties); + BoundingPoly.create = function create(properties) { + return new BoundingPoly(properties); }; /** - * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. + * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.encode = function encode(message, writer) { + BoundingPoly.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.landmarks != null && message.landmarks.length) - for (var i = 0; i < message.landmarks.length; ++i) - $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); - if (message.recognitionResult != null && message.recognitionResult.length) - for (var i = 0; i < message.recognitionResult.length; ++i) - $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.encode(message.recognitionResult[i], writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); + if (message.vertices != null && message.vertices.length) + for (var i = 0; i < message.vertices.length; ++i) + $root.google.cloud.vision.v1p4beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.normalizedVertices != null && message.normalizedVertices.length) + for (var i = 0; i < message.normalizedVertices.length; ++i) + $root.google.cloud.vision.v1p4beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. + * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FaceAnnotation message from the specified reader or buffer. + * Decodes a BoundingPoly message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.decode = function decode(reader, length) { + BoundingPoly.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p4beta1.Vertex.decode(reader, reader.uint32())); break; case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); - break; - case 16: - if (!(message.recognitionResult && message.recognitionResult.length)) - message.recognitionResult = []; - message.recognitionResult.push($root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.decode(reader, reader.uint32())); + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p4beta1.NormalizedVertex.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -74308,1172 +74223,551 @@ }; /** - * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + BoundingPoly.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FaceAnnotation message. + * Verifies a BoundingPoly message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FaceAnnotation.verify = function verify(message) { + BoundingPoly.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { - var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.fdBoundingPoly); - if (error) - return "fdBoundingPoly." + error; - } - if (message.landmarks != null && message.hasOwnProperty("landmarks")) { - if (!Array.isArray(message.landmarks)) - return "landmarks: array expected"; - for (var i = 0; i < message.landmarks.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); + if (message.vertices != null && message.hasOwnProperty("vertices")) { + if (!Array.isArray(message.vertices)) + return "vertices: array expected"; + for (var i = 0; i < message.vertices.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Vertex.verify(message.vertices[i]); if (error) - return "landmarks." + error; + return "vertices." + error; } } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - if (typeof message.rollAngle !== "number") - return "rollAngle: number expected"; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - if (typeof message.panAngle !== "number") - return "panAngle: number expected"; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - if (typeof message.tiltAngle !== "number") - return "tiltAngle: number expected"; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - if (typeof message.detectionConfidence !== "number") - return "detectionConfidence: number expected"; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - if (typeof message.landmarkingConfidence !== "number") - return "landmarkingConfidence: number expected"; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - switch (message.joyLikelihood) { - default: - return "joyLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - switch (message.sorrowLikelihood) { - default: - return "sorrowLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - switch (message.angerLikelihood) { - default: - return "angerLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - switch (message.surpriseLikelihood) { - default: - return "surpriseLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - switch (message.underExposedLikelihood) { - default: - return "underExposedLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - switch (message.blurredLikelihood) { - default: - return "blurredLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - switch (message.headwearLikelihood) { - default: - return "headwearLikelihood: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.recognitionResult != null && message.hasOwnProperty("recognitionResult")) { - if (!Array.isArray(message.recognitionResult)) - return "recognitionResult: array expected"; - for (var i = 0; i < message.recognitionResult.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify(message.recognitionResult[i]); + if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { + if (!Array.isArray(message.normalizedVertices)) + return "normalizedVertices: array expected"; + for (var i = 0; i < message.normalizedVertices.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.verify(message.normalizedVertices[i]); if (error) - return "recognitionResult." + error; + return "normalizedVertices." + error; } } return null; }; /** - * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation + * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly */ - FaceAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceAnnotation) + BoundingPoly.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BoundingPoly) return object; - var message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation(); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.fdBoundingPoly != null) { - if (typeof object.fdBoundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.fdBoundingPoly: object expected"); - message.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.fdBoundingPoly); - } - if (object.landmarks) { - if (!Array.isArray(object.landmarks)) - throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.landmarks: array expected"); - message.landmarks = []; - for (var i = 0; i < object.landmarks.length; ++i) { - if (typeof object.landmarks[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.landmarks: object expected"); - message.landmarks[i] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); + var message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); + if (object.vertices) { + if (!Array.isArray(object.vertices)) + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: array expected"); + message.vertices = []; + for (var i = 0; i < object.vertices.length; ++i) { + if (typeof object.vertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: object expected"); + message.vertices[i] = $root.google.cloud.vision.v1p4beta1.Vertex.fromObject(object.vertices[i]); } } - if (object.rollAngle != null) - message.rollAngle = Number(object.rollAngle); - if (object.panAngle != null) - message.panAngle = Number(object.panAngle); - if (object.tiltAngle != null) - message.tiltAngle = Number(object.tiltAngle); - if (object.detectionConfidence != null) - message.detectionConfidence = Number(object.detectionConfidence); - if (object.landmarkingConfidence != null) - message.landmarkingConfidence = Number(object.landmarkingConfidence); - switch (object.joyLikelihood) { - case "UNKNOWN": - case 0: - message.joyLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.joyLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.joyLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.joyLikelihood = 3; - break; - case "LIKELY": - case 4: - message.joyLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.joyLikelihood = 5; - break; - } - switch (object.sorrowLikelihood) { - case "UNKNOWN": - case 0: - message.sorrowLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.sorrowLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.sorrowLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.sorrowLikelihood = 3; - break; - case "LIKELY": - case 4: - message.sorrowLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.sorrowLikelihood = 5; - break; - } - switch (object.angerLikelihood) { - case "UNKNOWN": - case 0: - message.angerLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.angerLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.angerLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.angerLikelihood = 3; - break; - case "LIKELY": - case 4: - message.angerLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.angerLikelihood = 5; - break; - } - switch (object.surpriseLikelihood) { - case "UNKNOWN": - case 0: - message.surpriseLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.surpriseLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.surpriseLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.surpriseLikelihood = 3; - break; - case "LIKELY": - case 4: - message.surpriseLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.surpriseLikelihood = 5; - break; - } - switch (object.underExposedLikelihood) { - case "UNKNOWN": - case 0: - message.underExposedLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.underExposedLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.underExposedLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.underExposedLikelihood = 3; - break; - case "LIKELY": - case 4: - message.underExposedLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.underExposedLikelihood = 5; - break; - } - switch (object.blurredLikelihood) { - case "UNKNOWN": - case 0: - message.blurredLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.blurredLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.blurredLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.blurredLikelihood = 3; - break; - case "LIKELY": - case 4: - message.blurredLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.blurredLikelihood = 5; - break; - } - switch (object.headwearLikelihood) { - case "UNKNOWN": - case 0: - message.headwearLikelihood = 0; - break; - case "VERY_UNLIKELY": - case 1: - message.headwearLikelihood = 1; - break; - case "UNLIKELY": - case 2: - message.headwearLikelihood = 2; - break; - case "POSSIBLE": - case 3: - message.headwearLikelihood = 3; - break; - case "LIKELY": - case 4: - message.headwearLikelihood = 4; - break; - case "VERY_LIKELY": - case 5: - message.headwearLikelihood = 5; - break; - } - if (object.recognitionResult) { - if (!Array.isArray(object.recognitionResult)) - throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.recognitionResult: array expected"); - message.recognitionResult = []; - for (var i = 0; i < object.recognitionResult.length; ++i) { - if (typeof object.recognitionResult[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.recognitionResult: object expected"); - message.recognitionResult[i] = $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.fromObject(object.recognitionResult[i]); + if (object.normalizedVertices) { + if (!Array.isArray(object.normalizedVertices)) + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: array expected"); + message.normalizedVertices = []; + for (var i = 0; i < object.normalizedVertices.length; ++i) { + if (typeof object.normalizedVertices[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: object expected"); + message.normalizedVertices[i] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); } } return message; }; /** - * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @static - * @param {google.cloud.vision.v1p4beta1.FaceAnnotation} message FaceAnnotation + * @param {google.cloud.vision.v1p4beta1.BoundingPoly} message BoundingPoly * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FaceAnnotation.toObject = function toObject(message, options) { + BoundingPoly.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { - object.landmarks = []; - object.recognitionResult = []; - } - if (options.defaults) { - object.boundingPoly = null; - object.fdBoundingPoly = null; - object.rollAngle = 0; - object.panAngle = 0; - object.tiltAngle = 0; - object.detectionConfidence = 0; - object.landmarkingConfidence = 0; - object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; - object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.vertices = []; + object.normalizedVertices = []; } - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) - object.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); - if (message.landmarks && message.landmarks.length) { - object.landmarks = []; - for (var j = 0; j < message.landmarks.length; ++j) - object.landmarks[j] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + if (message.vertices && message.vertices.length) { + object.vertices = []; + for (var j = 0; j < message.vertices.length; ++j) + object.vertices[j] = $root.google.cloud.vision.v1p4beta1.Vertex.toObject(message.vertices[j], options); } - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) - object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; - if (message.panAngle != null && message.hasOwnProperty("panAngle")) - object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) - object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) - object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) - object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; - if (message.recognitionResult && message.recognitionResult.length) { - object.recognitionResult = []; - for (var j = 0; j < message.recognitionResult.length; ++j) - object.recognitionResult[j] = $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.toObject(message.recognitionResult[j], options); + if (message.normalizedVertices && message.normalizedVertices.length) { + object.normalizedVertices = []; + for (var j = 0; j < message.normalizedVertices.length; ++j) + object.normalizedVertices[j] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); } return object; }; /** - * Converts this FaceAnnotation to JSON. + * Converts this BoundingPoly to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly * @instance * @returns {Object.} JSON object */ - FaceAnnotation.prototype.toJSON = function toJSON() { + BoundingPoly.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - FaceAnnotation.Landmark = (function() { - - /** - * Properties of a Landmark. - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @interface ILandmark - * @property {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type - * @property {google.cloud.vision.v1p4beta1.IPosition|null} [position] Landmark position - */ + return BoundingPoly; + })(); - /** - * Constructs a new Landmark. - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation - * @classdesc Represents a Landmark. - * @implements ILandmark - * @constructor - * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark=} [properties] Properties to set - */ - function Landmark(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]]; - } + v1p4beta1.Position = (function() { - /** - * Landmark type. - * @member {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type} type - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.type = 0; + /** + * Properties of a Position. + * @memberof google.cloud.vision.v1p4beta1 + * @interface IPosition + * @property {number|null} [x] Position x + * @property {number|null} [y] Position y + * @property {number|null} [z] Position z + */ - /** - * Landmark position. - * @member {google.cloud.vision.v1p4beta1.IPosition|null|undefined} position - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @instance - */ - Landmark.prototype.position = null; + /** + * Constructs a new Position. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a Position. + * @implements IPosition + * @constructor + * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set + */ + function Position(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 Landmark instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark instance - */ - Landmark.create = function create(properties) { - return new Landmark(properties); - }; + /** + * Position x. + * @member {number} x + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + */ + Position.prototype.x = 0; - /** - * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) - $root.google.cloud.vision.v1p4beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; + /** + * Position y. + * @member {number} y + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + */ + Position.prototype.y = 0; - /** - * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Landmark.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Position z. + * @member {number} z + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + */ + Position.prototype.z = 0; - /** - * Decodes a Landmark message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1p4beta1.Position.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Creates a new Position instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Position} Position instance + */ + Position.create = function create(properties) { + return new Position(properties); + }; - /** - * Decodes a Landmark message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Landmark.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.x != null && message.hasOwnProperty("x")) + writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); + if (message.y != null && message.hasOwnProperty("y")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.z != null && message.hasOwnProperty("z")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + return writer; + }; - /** - * Verifies a Landmark message. - * @function verify - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Landmark.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: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - case 16: - case 17: - case 18: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - break; - } - if (message.position != null && message.hasOwnProperty("position")) { - var error = $root.google.cloud.vision.v1p4beta1.Position.verify(message.position); - if (error) - return "position." + error; - } - return null; - }; + /** + * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Position.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a Landmark message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark - */ - Landmark.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark(); - switch (object.type) { - case "UNKNOWN_LANDMARK": - case 0: - message.type = 0; - break; - case "LEFT_EYE": + /** + * Decodes a Position message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Position(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { case 1: - message.type = 1; + message.x = reader.float(); break; - case "RIGHT_EYE": case 2: - message.type = 2; + message.y = reader.float(); break; - case "LEFT_OF_LEFT_EYEBROW": case 3: - message.type = 3; - break; - case "RIGHT_OF_LEFT_EYEBROW": - case 4: - message.type = 4; - break; - case "LEFT_OF_RIGHT_EYEBROW": - case 5: - message.type = 5; - break; - case "RIGHT_OF_RIGHT_EYEBROW": - case 6: - message.type = 6; - break; - case "MIDPOINT_BETWEEN_EYES": - case 7: - message.type = 7; - break; - case "NOSE_TIP": - case 8: - message.type = 8; - break; - case "UPPER_LIP": - case 9: - message.type = 9; - break; - case "LOWER_LIP": - case 10: - message.type = 10; - break; - case "MOUTH_LEFT": - case 11: - message.type = 11; - break; - case "MOUTH_RIGHT": - case 12: - message.type = 12; - break; - case "MOUTH_CENTER": - case 13: - message.type = 13; - break; - case "NOSE_BOTTOM_RIGHT": - case 14: - message.type = 14; - break; - case "NOSE_BOTTOM_LEFT": - case 15: - message.type = 15; - break; - case "NOSE_BOTTOM_CENTER": - case 16: - message.type = 16; - break; - case "LEFT_EYE_TOP_BOUNDARY": - case 17: - message.type = 17; - break; - case "LEFT_EYE_RIGHT_CORNER": - case 18: - message.type = 18; - break; - case "LEFT_EYE_BOTTOM_BOUNDARY": - case 19: - message.type = 19; - break; - case "LEFT_EYE_LEFT_CORNER": - case 20: - message.type = 20; - break; - case "RIGHT_EYE_TOP_BOUNDARY": - case 21: - message.type = 21; - break; - case "RIGHT_EYE_RIGHT_CORNER": - case 22: - message.type = 22; - break; - case "RIGHT_EYE_BOTTOM_BOUNDARY": - case 23: - message.type = 23; - break; - case "RIGHT_EYE_LEFT_CORNER": - case 24: - message.type = 24; - break; - case "LEFT_EYEBROW_UPPER_MIDPOINT": - case 25: - message.type = 25; - break; - case "RIGHT_EYEBROW_UPPER_MIDPOINT": - case 26: - message.type = 26; - break; - case "LEFT_EAR_TRAGION": - case 27: - message.type = 27; - break; - case "RIGHT_EAR_TRAGION": - case 28: - message.type = 28; - break; - case "LEFT_EYE_PUPIL": - case 29: - message.type = 29; - break; - case "RIGHT_EYE_PUPIL": - case 30: - message.type = 30; - break; - case "FOREHEAD_GLABELLA": - case 31: - message.type = 31; - break; - case "CHIN_GNATHION": - case 32: - message.type = 32; - break; - case "CHIN_LEFT_GONION": - case 33: - message.type = 33; + message.z = reader.float(); break; - case "CHIN_RIGHT_GONION": - case 34: - message.type = 34; + default: + reader.skipType(tag & 7); break; } - if (object.position != null) { - if (typeof object.position !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.position: object expected"); - message.position = $root.google.cloud.vision.v1p4beta1.Position.fromObject(object.position); - } - return message; - }; + } + return message; + }; - /** - * Creates a plain object from a Landmark message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @static - * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} message Landmark - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Landmark.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; - object.position = null; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; - if (message.position != null && message.hasOwnProperty("position")) - object.position = $root.google.cloud.vision.v1p4beta1.Position.toObject(message.position, options); - return object; - }; + /** + * Decodes a Position message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Position.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Converts this Landmark to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark - * @instance - * @returns {Object.} JSON object - */ - Landmark.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Verifies a Position message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Position.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.x != null && message.hasOwnProperty("x")) + if (typeof message.x !== "number") + return "x: number expected"; + if (message.y != null && message.hasOwnProperty("y")) + if (typeof message.y !== "number") + return "y: number expected"; + if (message.z != null && message.hasOwnProperty("z")) + if (typeof message.z !== "number") + return "z: number expected"; + return null; + }; - /** - * Type enum. - * @name google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type - * @enum {string} - * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value - * @property {number} LEFT_EYE=1 LEFT_EYE value - * @property {number} RIGHT_EYE=2 RIGHT_EYE value - * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value - * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value - * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value - * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value - * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value - * @property {number} NOSE_TIP=8 NOSE_TIP value - * @property {number} UPPER_LIP=9 UPPER_LIP value - * @property {number} LOWER_LIP=10 LOWER_LIP value - * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value - * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value - * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value - * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value - * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value - * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value - * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value - * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value - * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value - * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value - * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value - * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value - * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value - * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value - * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value - * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value - * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value - * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value - * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value - * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value - * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value - * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value - * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value - * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value - */ - Landmark.Type = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; - values[valuesById[1] = "LEFT_EYE"] = 1; - values[valuesById[2] = "RIGHT_EYE"] = 2; - values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; - values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; - values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; - values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; - values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; - values[valuesById[8] = "NOSE_TIP"] = 8; - values[valuesById[9] = "UPPER_LIP"] = 9; - values[valuesById[10] = "LOWER_LIP"] = 10; - values[valuesById[11] = "MOUTH_LEFT"] = 11; - values[valuesById[12] = "MOUTH_RIGHT"] = 12; - values[valuesById[13] = "MOUTH_CENTER"] = 13; - values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; - values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; - values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; - values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; - values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; - values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; - values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; - values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; - values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; - values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; - values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; - values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; - values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; - values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; - values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; - values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; - values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; - values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; - values[valuesById[32] = "CHIN_GNATHION"] = 32; - values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; - values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; - return values; - })(); + /** + * Creates a Position message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.Position} Position + */ + Position.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Position) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.Position(); + if (object.x != null) + message.x = Number(object.x); + if (object.y != null) + message.y = Number(object.y); + if (object.z != null) + message.z = Number(object.z); + return message; + }; - return Landmark; - })(); + /** + * Creates a plain object from a Position message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {google.cloud.vision.v1p4beta1.Position} message Position + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Position.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.x = 0; + object.y = 0; + object.z = 0; + } + if (message.x != null && message.hasOwnProperty("x")) + object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; + if (message.y != null && message.hasOwnProperty("y")) + object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (message.z != null && message.hasOwnProperty("z")) + object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + return object; + }; - return FaceAnnotation; + /** + * Converts this Position to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.Position + * @instance + * @returns {Object.} JSON object + */ + Position.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Position; })(); - v1p4beta1.LocationInfo = (function() { + v1p4beta1.ImageAnnotator = (function() { /** - * Properties of a LocationInfo. + * Constructs a new ImageAnnotator service. * @memberof google.cloud.vision.v1p4beta1 - * @interface ILocationInfo - * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng + * @classdesc Represents an ImageAnnotator + * @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 ImageAnnotator(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ImageAnnotator.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ImageAnnotator; /** - * Constructs a new LocationInfo. - * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a LocationInfo. - * @implements ILocationInfo - * @constructor - * @param {google.cloud.vision.v1p4beta1.ILocationInfo=} [properties] Properties to set + * Creates new ImageAnnotator service using the specified rpc implementation. + * @function create + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @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 {ImageAnnotator} RPC service. Useful where requests and/or responses are streamed. + */ + ImageAnnotator.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateImages}. + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @typedef BatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} [response] BatchAnnotateImagesResponse */ - function LocationInfo(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]]; - } /** - * LocationInfo latLng. - * @member {google.type.ILatLng|null|undefined} latLng - * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator * @instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateImagesResponse + * @returns {undefined} + * @variation 1 */ - LocationInfo.prototype.latLng = null; + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateImages = function batchAnnotateImages(request, callback) { + return this.rpcCall(batchAnnotateImages, $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest, $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse, request, callback); + }, "name", { value: "BatchAnnotateImages" }); /** - * Creates a new LocationInfo instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.LocationInfo - * @static - * @param {google.cloud.vision.v1p4beta1.ILocationInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo instance + * Calls BatchAnnotateImages. + * @function batchAnnotateImages + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} request BatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 */ - LocationInfo.create = function create(properties) { - return new LocationInfo(properties); - }; /** - * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p4beta1.LocationInfo - * @static - * @param {google.cloud.vision.v1p4beta1.ILocationInfo} message LocationInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateFiles}. + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @typedef BatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} [response] BatchAnnotateFilesResponse */ - LocationInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) - $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; /** - * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.LocationInfo - * @static - * @param {google.cloud.vision.v1p4beta1.ILocationInfo} message LocationInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * Calls BatchAnnotateFiles. + * @function batchAnnotateFiles + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and BatchAnnotateFilesResponse + * @returns {undefined} + * @variation 1 */ - LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + Object.defineProperty(ImageAnnotator.prototype.batchAnnotateFiles = function batchAnnotateFiles(request, callback) { + return this.rpcCall(batchAnnotateFiles, $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest, $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse, request, callback); + }, "name", { value: "BatchAnnotateFiles" }); /** - * Decodes a LocationInfo message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p4beta1.LocationInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + * Calls BatchAnnotateFiles. + * @function batchAnnotateFiles + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} request BatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 */ - LocationInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.LocationInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; /** - * Decodes a LocationInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.LocationInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateImages}. + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @typedef AsyncBatchAnnotateImagesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation */ - LocationInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; /** - * Verifies a LocationInfo message. - * @function verify - * @memberof google.cloud.vision.v1p4beta1.LocationInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not + * Calls AsyncBatchAnnotateImages. + * @function asyncBatchAnnotateImages + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImagesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 */ - LocationInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.latLng != null && message.hasOwnProperty("latLng")) { - var error = $root.google.type.LatLng.verify(message.latLng); - if (error) - return "latLng." + error; - } - return null; - }; + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateImages = function asyncBatchAnnotateImages(request, callback) { + return this.rpcCall(asyncBatchAnnotateImages, $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateImages" }); /** - * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.LocationInfo - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo + * Calls AsyncBatchAnnotateImages. + * @function asyncBatchAnnotateImages + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} request AsyncBatchAnnotateImagesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 */ - LocationInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.LocationInfo) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.LocationInfo(); - if (object.latLng != null) { - if (typeof object.latLng !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.LocationInfo.latLng: object expected"); - message.latLng = $root.google.type.LatLng.fromObject(object.latLng); - } - return message; - }; /** - * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p4beta1.LocationInfo - * @static - * @param {google.cloud.vision.v1p4beta1.LocationInfo} message LocationInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @typedef AsyncBatchAnnotateFilesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation */ - LocationInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.latLng = null; - if (message.latLng != null && message.hasOwnProperty("latLng")) - object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); - return object; - }; /** - * Converts this LocationInfo to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator * @instance - * @returns {Object.} JSON object + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @param {google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFilesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 */ - LocationInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + Object.defineProperty(ImageAnnotator.prototype.asyncBatchAnnotateFiles = function asyncBatchAnnotateFiles(request, callback) { + return this.rpcCall(asyncBatchAnnotateFiles, $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "AsyncBatchAnnotateFiles" }); - return LocationInfo; + /** + * Calls AsyncBatchAnnotateFiles. + * @function asyncBatchAnnotateFiles + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator + * @instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} request AsyncBatchAnnotateFilesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ImageAnnotator; })(); - v1p4beta1.Property = (function() { + v1p4beta1.Feature = (function() { /** - * Properties of a Property. + * Properties of a Feature. * @memberof google.cloud.vision.v1p4beta1 - * @interface IProperty - * @property {string|null} [name] Property name - * @property {string|null} [value] Property value - * @property {number|Long|null} [uint64Value] Property uint64Value + * @interface IFeature + * @property {google.cloud.vision.v1p4beta1.Feature.Type|null} [type] Feature type + * @property {number|null} [maxResults] Feature maxResults + * @property {string|null} [model] Feature model */ /** - * Constructs a new Property. + * Constructs a new Feature. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a Property. - * @implements IProperty + * @classdesc Represents a Feature. + * @implements IFeature * @constructor - * @param {google.cloud.vision.v1p4beta1.IProperty=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IFeature=} [properties] Properties to set */ - function Property(properties) { + function Feature(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -75481,101 +74775,101 @@ } /** - * Property name. - * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.Property + * Feature type. + * @member {google.cloud.vision.v1p4beta1.Feature.Type} type + * @memberof google.cloud.vision.v1p4beta1.Feature * @instance */ - Property.prototype.name = ""; + Feature.prototype.type = 0; /** - * Property value. - * @member {string} value - * @memberof google.cloud.vision.v1p4beta1.Property + * Feature maxResults. + * @member {number} maxResults + * @memberof google.cloud.vision.v1p4beta1.Feature * @instance */ - Property.prototype.value = ""; + Feature.prototype.maxResults = 0; /** - * Property uint64Value. - * @member {number|Long} uint64Value - * @memberof google.cloud.vision.v1p4beta1.Property + * Feature model. + * @member {string} model + * @memberof google.cloud.vision.v1p4beta1.Feature * @instance */ - Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + Feature.prototype.model = ""; /** - * Creates a new Property instance using the specified properties. + * Creates a new Feature instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.Property + * @memberof google.cloud.vision.v1p4beta1.Feature * @static - * @param {google.cloud.vision.v1p4beta1.IProperty=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Property} Property instance + * @param {google.cloud.vision.v1p4beta1.IFeature=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Feature} Feature instance */ - Property.create = function create(properties) { - return new Property(properties); + Feature.create = function create(properties) { + return new Feature(properties); }; /** - * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. + * Encodes the specified Feature message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.Property + * @memberof google.cloud.vision.v1p4beta1.Feature * @static - * @param {google.cloud.vision.v1p4beta1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFeature} message Feature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encode = function encode(message, writer) { + Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); + if (message.model != null && message.hasOwnProperty("model")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; /** - * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. + * Encodes the specified Feature message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Feature.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Property + * @memberof google.cloud.vision.v1p4beta1.Feature * @static - * @param {google.cloud.vision.v1p4beta1.IProperty} message Property message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFeature} message Feature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Property.encodeDelimited = function encodeDelimited(message, writer) { + Feature.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Property message from the specified reader or buffer. + * Decodes a Feature message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.Property + * @memberof google.cloud.vision.v1p4beta1.Feature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Property} Property + * @returns {google.cloud.vision.v1p4beta1.Feature} Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decode = function decode(reader, length) { + Feature.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Property(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Feature(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); + message.type = reader.int32(); break; case 2: - message.value = reader.string(); + message.maxResults = reader.int32(); break; case 3: - message.uint64Value = reader.uint64(); + message.model = reader.string(); break; default: reader.skipType(tag & 7); @@ -75586,148 +74880,229 @@ }; /** - * Decodes a Property message from the specified reader or buffer, length delimited. + * Decodes a Feature message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Property + * @memberof google.cloud.vision.v1p4beta1.Feature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Property} Property + * @returns {google.cloud.vision.v1p4beta1.Feature} Feature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Property.decodeDelimited = function decodeDelimited(reader) { + Feature.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Property message. + * Verifies a Feature message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.Property + * @memberof google.cloud.vision.v1p4beta1.Feature * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Property.verify = function verify(message) { + Feature.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) - return "uint64Value: integer|Long expected"; + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 11: + case 6: + case 7: + case 9: + case 10: + case 12: + case 19: + break; + } + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (!$util.isInteger(message.maxResults)) + return "maxResults: integer expected"; + if (message.model != null && message.hasOwnProperty("model")) + if (!$util.isString(message.model)) + return "model: string expected"; return null; }; /** - * Creates a Property message from a plain object. Also converts values to their respective internal types. + * Creates a Feature message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Property + * @memberof google.cloud.vision.v1p4beta1.Feature * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Property} Property + * @returns {google.cloud.vision.v1p4beta1.Feature} Feature */ - Property.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Property) + Feature.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Feature) return object; - var message = new $root.google.cloud.vision.v1p4beta1.Property(); - if (object.name != null) - message.name = String(object.name); - if (object.value != null) - message.value = String(object.value); - if (object.uint64Value != null) - if ($util.Long) - (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; - else if (typeof object.uint64Value === "string") - message.uint64Value = parseInt(object.uint64Value, 10); - else if (typeof object.uint64Value === "number") - message.uint64Value = object.uint64Value; - else if (typeof object.uint64Value === "object") - message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); + var message = new $root.google.cloud.vision.v1p4beta1.Feature(); + switch (object.type) { + case "TYPE_UNSPECIFIED": + case 0: + message.type = 0; + break; + case "FACE_DETECTION": + case 1: + message.type = 1; + break; + case "LANDMARK_DETECTION": + case 2: + message.type = 2; + break; + case "LOGO_DETECTION": + case 3: + message.type = 3; + break; + case "LABEL_DETECTION": + case 4: + message.type = 4; + break; + case "TEXT_DETECTION": + case 5: + message.type = 5; + break; + case "DOCUMENT_TEXT_DETECTION": + case 11: + message.type = 11; + break; + case "SAFE_SEARCH_DETECTION": + case 6: + message.type = 6; + break; + case "IMAGE_PROPERTIES": + case 7: + message.type = 7; + break; + case "CROP_HINTS": + case 9: + message.type = 9; + break; + case "WEB_DETECTION": + case 10: + message.type = 10; + break; + case "PRODUCT_SEARCH": + case 12: + message.type = 12; + break; + case "OBJECT_LOCALIZATION": + case 19: + message.type = 19; + break; + } + if (object.maxResults != null) + message.maxResults = object.maxResults | 0; + if (object.model != null) + message.model = String(object.model); return message; }; /** - * Creates a plain object from a Property message. Also converts values to other types if specified. + * Creates a plain object from a Feature message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Property + * @memberof google.cloud.vision.v1p4beta1.Feature * @static - * @param {google.cloud.vision.v1p4beta1.Property} message Property + * @param {google.cloud.vision.v1p4beta1.Feature} message Feature * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Property.toObject = function toObject(message, options) { + Feature.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.name = ""; - object.value = ""; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.uint64Value = options.longs === String ? "0" : 0; + object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0; + object.maxResults = 0; + object.model = ""; } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) - if (typeof message.uint64Value === "number") - object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; - else - object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Feature.Type[message.type] : message.type; + if (message.maxResults != null && message.hasOwnProperty("maxResults")) + object.maxResults = message.maxResults; + if (message.model != null && message.hasOwnProperty("model")) + object.model = message.model; return object; }; /** - * Converts this Property to JSON. + * Converts this Feature to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Property + * @memberof google.cloud.vision.v1p4beta1.Feature * @instance * @returns {Object.} JSON object */ - Property.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + Feature.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Type enum. + * @name google.cloud.vision.v1p4beta1.Feature.Type + * @enum {string} + * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value + * @property {number} FACE_DETECTION=1 FACE_DETECTION value + * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value + * @property {number} LOGO_DETECTION=3 LOGO_DETECTION value + * @property {number} LABEL_DETECTION=4 LABEL_DETECTION value + * @property {number} TEXT_DETECTION=5 TEXT_DETECTION value + * @property {number} DOCUMENT_TEXT_DETECTION=11 DOCUMENT_TEXT_DETECTION value + * @property {number} SAFE_SEARCH_DETECTION=6 SAFE_SEARCH_DETECTION value + * @property {number} IMAGE_PROPERTIES=7 IMAGE_PROPERTIES value + * @property {number} CROP_HINTS=9 CROP_HINTS value + * @property {number} WEB_DETECTION=10 WEB_DETECTION value + * @property {number} PRODUCT_SEARCH=12 PRODUCT_SEARCH value + * @property {number} OBJECT_LOCALIZATION=19 OBJECT_LOCALIZATION value + */ + Feature.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "FACE_DETECTION"] = 1; + values[valuesById[2] = "LANDMARK_DETECTION"] = 2; + values[valuesById[3] = "LOGO_DETECTION"] = 3; + values[valuesById[4] = "LABEL_DETECTION"] = 4; + values[valuesById[5] = "TEXT_DETECTION"] = 5; + values[valuesById[11] = "DOCUMENT_TEXT_DETECTION"] = 11; + values[valuesById[6] = "SAFE_SEARCH_DETECTION"] = 6; + values[valuesById[7] = "IMAGE_PROPERTIES"] = 7; + values[valuesById[9] = "CROP_HINTS"] = 9; + values[valuesById[10] = "WEB_DETECTION"] = 10; + values[valuesById[12] = "PRODUCT_SEARCH"] = 12; + values[valuesById[19] = "OBJECT_LOCALIZATION"] = 19; + return values; + })(); - return Property; + return Feature; })(); - v1p4beta1.EntityAnnotation = (function() { + v1p4beta1.ImageSource = (function() { /** - * Properties of an EntityAnnotation. + * Properties of an ImageSource. * @memberof google.cloud.vision.v1p4beta1 - * @interface IEntityAnnotation - * @property {string|null} [mid] EntityAnnotation mid - * @property {string|null} [locale] EntityAnnotation locale - * @property {string|null} [description] EntityAnnotation description - * @property {number|null} [score] EntityAnnotation score - * @property {number|null} [confidence] EntityAnnotation confidence - * @property {number|null} [topicality] EntityAnnotation topicality - * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly - * @property {Array.|null} [locations] EntityAnnotation locations - * @property {Array.|null} [properties] EntityAnnotation properties + * @interface IImageSource + * @property {string|null} [gcsImageUri] ImageSource gcsImageUri + * @property {string|null} [imageUri] ImageSource imageUri */ /** - * Constructs a new EntityAnnotation. + * Constructs a new ImageSource. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an EntityAnnotation. - * @implements IEntityAnnotation + * @classdesc Represents an ImageSource. + * @implements IImageSource * @constructor - * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IImageSource=} [properties] Properties to set */ - function EntityAnnotation(properties) { - this.locations = []; - this.properties = []; + function ImageSource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -75735,185 +75110,88 @@ } /** - * EntityAnnotation mid. - * @member {string} mid - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.mid = ""; - - /** - * EntityAnnotation locale. - * @member {string} locale - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.locale = ""; - - /** - * EntityAnnotation description. - * @member {string} description - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.description = ""; - - /** - * EntityAnnotation score. - * @member {number} score - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.score = 0; - - /** - * EntityAnnotation confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.confidence = 0; - - /** - * EntityAnnotation topicality. - * @member {number} topicality - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.topicality = 0; - - /** - * EntityAnnotation boundingPoly. - * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation - * @instance - */ - EntityAnnotation.prototype.boundingPoly = null; - - /** - * EntityAnnotation locations. - * @member {Array.} locations - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * ImageSource gcsImageUri. + * @member {string} gcsImageUri + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @instance */ - EntityAnnotation.prototype.locations = $util.emptyArray; + ImageSource.prototype.gcsImageUri = ""; /** - * EntityAnnotation properties. - * @member {Array.} properties - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * ImageSource imageUri. + * @member {string} imageUri + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @instance */ - EntityAnnotation.prototype.properties = $util.emptyArray; + ImageSource.prototype.imageUri = ""; /** - * Creates a new EntityAnnotation instance using the specified properties. + * Creates a new ImageSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @static - * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation instance + * @param {google.cloud.vision.v1p4beta1.IImageSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource instance */ - EntityAnnotation.create = function create(properties) { - return new EntityAnnotation(properties); + ImageSource.create = function create(properties) { + return new ImageSource(properties); }; /** - * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. + * Encodes the specified ImageSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @static - * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EntityAnnotation.encode = function encode(message, writer) { + ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) - writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.locations != null && message.locations.length) - for (var i = 0; i < message.locations.length; ++i) - $root.google.cloud.vision.v1p4beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.properties != null && message.properties.length) - for (var i = 0; i < message.properties.length; ++i) - $root.google.cloud.vision.v1p4beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; /** - * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. + * Encodes the specified ImageSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @static - * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImageSource} message ImageSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + ImageSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EntityAnnotation message from the specified reader or buffer. + * Decodes an ImageSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EntityAnnotation.decode = function decode(reader, length) { + ImageSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.EntityAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.mid = reader.string(); + message.gcsImageUri = reader.string(); break; case 2: - message.locale = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.confidence = reader.float(); - break; - case 6: - message.topicality = reader.float(); - break; - case 7: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1p4beta1.LocationInfo.decode(reader, reader.uint32())); - break; - case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1p4beta1.Property.decode(reader, reader.uint32())); + message.imageUri = reader.string(); break; default: reader.skipType(tag & 7); @@ -75924,217 +75202,117 @@ }; /** - * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. + * Decodes an ImageSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { + ImageSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EntityAnnotation message. + * Verifies an ImageSource message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EntityAnnotation.verify = function verify(message) { + ImageSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.mid != null && message.hasOwnProperty("mid")) - if (!$util.isString(message.mid)) - return "mid: string expected"; - if (message.locale != null && message.hasOwnProperty("locale")) - if (!$util.isString(message.locale)) - return "locale: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.topicality != null && message.hasOwnProperty("topicality")) - if (typeof message.topicality !== "number") - return "topicality: number expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); - if (error) - return "boundingPoly." + error; - } - if (message.locations != null && message.hasOwnProperty("locations")) { - if (!Array.isArray(message.locations)) - return "locations: array expected"; - for (var i = 0; i < message.locations.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.LocationInfo.verify(message.locations[i]); - if (error) - return "locations." + error; - } - } - if (message.properties != null && message.hasOwnProperty("properties")) { - if (!Array.isArray(message.properties)) - return "properties: array expected"; - for (var i = 0; i < message.properties.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.Property.verify(message.properties[i]); - if (error) - return "properties." + error; - } - } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (!$util.isString(message.gcsImageUri)) + return "gcsImageUri: string expected"; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (!$util.isString(message.imageUri)) + return "imageUri: string expected"; return null; }; /** - * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates an ImageSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation + * @returns {google.cloud.vision.v1p4beta1.ImageSource} ImageSource */ - EntityAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.EntityAnnotation) + ImageSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageSource) return object; - var message = new $root.google.cloud.vision.v1p4beta1.EntityAnnotation(); - if (object.mid != null) - message.mid = String(object.mid); - if (object.locale != null) - message.locale = String(object.locale); - if (object.description != null) - message.description = String(object.description); - if (object.score != null) - message.score = Number(object.score); - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.topicality != null) - message.topicality = Number(object.topicality); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); - } - if (object.locations) { - if (!Array.isArray(object.locations)) - throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.locations: array expected"); - message.locations = []; - for (var i = 0; i < object.locations.length; ++i) { - if (typeof object.locations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.locations: object expected"); - message.locations[i] = $root.google.cloud.vision.v1p4beta1.LocationInfo.fromObject(object.locations[i]); - } - } - if (object.properties) { - if (!Array.isArray(object.properties)) - throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.properties: array expected"); - message.properties = []; - for (var i = 0; i < object.properties.length; ++i) { - if (typeof object.properties[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.properties: object expected"); - message.properties[i] = $root.google.cloud.vision.v1p4beta1.Property.fromObject(object.properties[i]); - } - } + var message = new $root.google.cloud.vision.v1p4beta1.ImageSource(); + if (object.gcsImageUri != null) + message.gcsImageUri = String(object.gcsImageUri); + if (object.imageUri != null) + message.imageUri = String(object.imageUri); return message; }; /** - * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. + * Creates a plain object from an ImageSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @static - * @param {google.cloud.vision.v1p4beta1.EntityAnnotation} message EntityAnnotation + * @param {google.cloud.vision.v1p4beta1.ImageSource} message ImageSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EntityAnnotation.toObject = function toObject(message, options) { + ImageSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.locations = []; - object.properties = []; - } if (options.defaults) { - object.mid = ""; - object.locale = ""; - object.description = ""; - object.score = 0; - object.confidence = 0; - object.topicality = 0; - object.boundingPoly = null; - } - if (message.mid != null && message.hasOwnProperty("mid")) - object.mid = message.mid; - if (message.locale != null && message.hasOwnProperty("locale")) - object.locale = message.locale; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.topicality != null && message.hasOwnProperty("topicality")) - object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.locations && message.locations.length) { - object.locations = []; - for (var j = 0; j < message.locations.length; ++j) - object.locations[j] = $root.google.cloud.vision.v1p4beta1.LocationInfo.toObject(message.locations[j], options); - } - if (message.properties && message.properties.length) { - object.properties = []; - for (var j = 0; j < message.properties.length; ++j) - object.properties[j] = $root.google.cloud.vision.v1p4beta1.Property.toObject(message.properties[j], options); + object.gcsImageUri = ""; + object.imageUri = ""; } + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + object.gcsImageUri = message.gcsImageUri; + if (message.imageUri != null && message.hasOwnProperty("imageUri")) + object.imageUri = message.imageUri; return object; }; /** - * Converts this EntityAnnotation to JSON. + * Converts this ImageSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @memberof google.cloud.vision.v1p4beta1.ImageSource * @instance * @returns {Object.} JSON object */ - EntityAnnotation.prototype.toJSON = function toJSON() { + ImageSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EntityAnnotation; + return ImageSource; })(); - v1p4beta1.LocalizedObjectAnnotation = (function() { + v1p4beta1.Image = (function() { /** - * Properties of a LocalizedObjectAnnotation. + * Properties of an Image. * @memberof google.cloud.vision.v1p4beta1 - * @interface ILocalizedObjectAnnotation - * @property {string|null} [mid] LocalizedObjectAnnotation mid - * @property {string|null} [languageCode] LocalizedObjectAnnotation languageCode - * @property {string|null} [name] LocalizedObjectAnnotation name - * @property {number|null} [score] LocalizedObjectAnnotation score - * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] LocalizedObjectAnnotation boundingPoly + * @interface IImage + * @property {Uint8Array|null} [content] Image content + * @property {google.cloud.vision.v1p4beta1.IImageSource|null} [source] Image source */ /** - * Constructs a new LocalizedObjectAnnotation. + * Constructs a new Image. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a LocalizedObjectAnnotation. - * @implements ILocalizedObjectAnnotation + * @classdesc Represents an Image. + * @implements IImage * @constructor - * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IImage=} [properties] Properties to set */ - function LocalizedObjectAnnotation(properties) { + function Image(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -76142,127 +75320,88 @@ } /** - * LocalizedObjectAnnotation mid. - * @member {string} mid - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.mid = ""; - - /** - * LocalizedObjectAnnotation languageCode. - * @member {string} languageCode - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.languageCode = ""; - - /** - * LocalizedObjectAnnotation name. - * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation - * @instance - */ - LocalizedObjectAnnotation.prototype.name = ""; - - /** - * LocalizedObjectAnnotation score. - * @member {number} score - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * Image content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p4beta1.Image * @instance */ - LocalizedObjectAnnotation.prototype.score = 0; + Image.prototype.content = $util.newBuffer([]); /** - * LocalizedObjectAnnotation boundingPoly. - * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * Image source. + * @member {google.cloud.vision.v1p4beta1.IImageSource|null|undefined} source + * @memberof google.cloud.vision.v1p4beta1.Image * @instance */ - LocalizedObjectAnnotation.prototype.boundingPoly = null; + Image.prototype.source = null; /** - * Creates a new LocalizedObjectAnnotation instance using the specified properties. + * Creates a new Image instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1.Image * @static - * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation instance + * @param {google.cloud.vision.v1p4beta1.IImage=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Image} Image instance */ - LocalizedObjectAnnotation.create = function create(properties) { - return new LocalizedObjectAnnotation(properties); + Image.create = function create(properties) { + return new Image(properties); }; /** - * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. + * Encodes the specified Image message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1.Image * @static - * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImage} message Image message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocalizedObjectAnnotation.encode = function encode(message, writer) { + Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); + if (message.source != null && message.hasOwnProperty("source")) + $root.google.cloud.vision.v1p4beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. + * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Image.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1.Image * @static - * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImage} message Image message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - LocalizedObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + Image.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. + * Decodes an Image message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @returns {google.cloud.vision.v1p4beta1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalizedObjectAnnotation.decode = function decode(reader, length) { + Image.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Image(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.mid = reader.string(); + message.content = reader.bytes(); break; case 2: - message.languageCode = reader.string(); - break; - case 3: - message.name = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + message.source = $root.google.cloud.vision.v1p4beta1.ImageSource.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -76273,149 +75412,169 @@ }; /** - * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. + * Decodes an Image message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1.Image * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @returns {google.cloud.vision.v1p4beta1.Image} Image * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalizedObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { + Image.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a LocalizedObjectAnnotation message. + * Verifies an Image message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1.Image * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LocalizedObjectAnnotation.verify = function verify(message) { + Image.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.mid != null && message.hasOwnProperty("mid")) - if (!$util.isString(message.mid)) - return "mid: string expected"; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - if (!$util.isString(message.languageCode)) - return "languageCode: string expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { - var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.source != null && message.hasOwnProperty("source")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageSource.verify(message.source); if (error) - return "boundingPoly." + error; + return "source." + error; } return null; }; /** - * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates an Image message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1.Image * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation + * @returns {google.cloud.vision.v1p4beta1.Image} Image */ - LocalizedObjectAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation) + Image.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Image) return object; - var message = new $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation(); - if (object.mid != null) - message.mid = String(object.mid); - if (object.languageCode != null) - message.languageCode = String(object.languageCode); - if (object.name != null) - message.name = String(object.name); - if (object.score != null) - message.score = Number(object.score); - if (object.boundingPoly != null) { - if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.boundingPoly: object expected"); - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + var message = new $root.google.cloud.vision.v1p4beta1.Image(); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.source != null) { + if (typeof object.source !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.Image.source: object expected"); + message.source = $root.google.cloud.vision.v1p4beta1.ImageSource.fromObject(object.source); } return message; }; /** - * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. + * Creates a plain object from an Image message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1.Image * @static - * @param {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} message LocalizedObjectAnnotation + * @param {google.cloud.vision.v1p4beta1.Image} message Image * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - LocalizedObjectAnnotation.toObject = function toObject(message, options) { + Image.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.mid = ""; - object.languageCode = ""; - object.name = ""; - object.score = 0; - object.boundingPoly = null; + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } + object.source = null; } - if (message.mid != null && message.hasOwnProperty("mid")) - object.mid = message.mid; - if (message.languageCode != null && message.hasOwnProperty("languageCode")) - object.languageCode = message.languageCode; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; + if (message.source != null && message.hasOwnProperty("source")) + object.source = $root.google.cloud.vision.v1p4beta1.ImageSource.toObject(message.source, options); return object; }; /** - * Converts this LocalizedObjectAnnotation to JSON. + * Converts this Image to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @memberof google.cloud.vision.v1p4beta1.Image * @instance * @returns {Object.} JSON object */ - LocalizedObjectAnnotation.prototype.toJSON = function toJSON() { + Image.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return LocalizedObjectAnnotation; + return Image; })(); - v1p4beta1.SafeSearchAnnotation = (function() { + /** + * Likelihood enum. + * @name google.cloud.vision.v1p4beta1.Likelihood + * @enum {string} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1p4beta1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + + v1p4beta1.FaceAnnotation = (function() { /** - * Properties of a SafeSearchAnnotation. + * Properties of a FaceAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @interface ISafeSearchAnnotation - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [adult] SafeSearchAnnotation adult - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [medical] SafeSearchAnnotation medical - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [violence] SafeSearchAnnotation violence - * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [racy] SafeSearchAnnotation racy + * @interface IFaceAnnotation + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] FaceAnnotation boundingPoly + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [fdBoundingPoly] FaceAnnotation fdBoundingPoly + * @property {Array.|null} [landmarks] FaceAnnotation landmarks + * @property {number|null} [rollAngle] FaceAnnotation rollAngle + * @property {number|null} [panAngle] FaceAnnotation panAngle + * @property {number|null} [tiltAngle] FaceAnnotation tiltAngle + * @property {number|null} [detectionConfidence] FaceAnnotation detectionConfidence + * @property {number|null} [landmarkingConfidence] FaceAnnotation landmarkingConfidence + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [joyLikelihood] FaceAnnotation joyLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [sorrowLikelihood] FaceAnnotation sorrowLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [angerLikelihood] FaceAnnotation angerLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [surpriseLikelihood] FaceAnnotation surpriseLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [underExposedLikelihood] FaceAnnotation underExposedLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [blurredLikelihood] FaceAnnotation blurredLikelihood + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [headwearLikelihood] FaceAnnotation headwearLikelihood + * @property {Array.|null} [recognitionResult] FaceAnnotation recognitionResult */ /** - * Constructs a new SafeSearchAnnotation. + * Constructs a new FaceAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a SafeSearchAnnotation. - * @implements ISafeSearchAnnotation + * @classdesc Represents a FaceAnnotation. + * @implements IFaceAnnotation * @constructor - * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation=} [properties] Properties to set */ - function SafeSearchAnnotation(properties) { + function FaceAnnotation(properties) { + this.landmarks = []; + this.recognitionResult = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -76423,167 +75582,374 @@ } /** - * SafeSearchAnnotation adult. - * @member {google.cloud.vision.v1p4beta1.Likelihood} adult - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * FaceAnnotation boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.adult = 0; + FaceAnnotation.prototype.boundingPoly = null; /** - * SafeSearchAnnotation spoof. - * @member {google.cloud.vision.v1p4beta1.Likelihood} spoof - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * FaceAnnotation fdBoundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} fdBoundingPoly + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.spoof = 0; + FaceAnnotation.prototype.fdBoundingPoly = null; /** - * SafeSearchAnnotation medical. - * @member {google.cloud.vision.v1p4beta1.Likelihood} medical - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * FaceAnnotation landmarks. + * @member {Array.} landmarks + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.medical = 0; + FaceAnnotation.prototype.landmarks = $util.emptyArray; /** - * SafeSearchAnnotation violence. - * @member {google.cloud.vision.v1p4beta1.Likelihood} violence - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * FaceAnnotation rollAngle. + * @member {number} rollAngle + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.violence = 0; + FaceAnnotation.prototype.rollAngle = 0; /** - * SafeSearchAnnotation racy. - * @member {google.cloud.vision.v1p4beta1.Likelihood} racy - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * FaceAnnotation panAngle. + * @member {number} panAngle + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @instance */ - SafeSearchAnnotation.prototype.racy = 0; + FaceAnnotation.prototype.panAngle = 0; /** - * Creates a new SafeSearchAnnotation instance using the specified properties. + * FaceAnnotation tiltAngle. + * @member {number} tiltAngle + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.tiltAngle = 0; + + /** + * FaceAnnotation detectionConfidence. + * @member {number} detectionConfidence + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.detectionConfidence = 0; + + /** + * FaceAnnotation landmarkingConfidence. + * @member {number} landmarkingConfidence + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.landmarkingConfidence = 0; + + /** + * FaceAnnotation joyLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} joyLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.joyLikelihood = 0; + + /** + * FaceAnnotation sorrowLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} sorrowLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.sorrowLikelihood = 0; + + /** + * FaceAnnotation angerLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} angerLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.angerLikelihood = 0; + + /** + * FaceAnnotation surpriseLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} surpriseLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.surpriseLikelihood = 0; + + /** + * FaceAnnotation underExposedLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} underExposedLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.underExposedLikelihood = 0; + + /** + * FaceAnnotation blurredLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} blurredLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.blurredLikelihood = 0; + + /** + * FaceAnnotation headwearLikelihood. + * @member {google.cloud.vision.v1p4beta1.Likelihood} headwearLikelihood + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.headwearLikelihood = 0; + + /** + * FaceAnnotation recognitionResult. + * @member {Array.} recognitionResult + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @instance + */ + FaceAnnotation.prototype.recognitionResult = $util.emptyArray; + + /** + * Creates a new FaceAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation instance + * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation instance */ - SafeSearchAnnotation.create = function create(properties) { - return new SafeSearchAnnotation(properties); + FaceAnnotation.create = function create(properties) { + return new FaceAnnotation(properties); }; /** - * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. + * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SafeSearchAnnotation.encode = function encode(message, writer) { + FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) - writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.landmarks != null && message.landmarks.length) + for (var i = 0; i < message.landmarks.length; ++i) + $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); + if (message.recognitionResult != null && message.recognitionResult.length) + for (var i = 0; i < message.recognitionResult.length; ++i) + $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.encode(message.recognitionResult[i], writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); return writer; }; /** - * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. + * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IFaceAnnotation} message FaceAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer. + * Decodes a FaceAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SafeSearchAnnotation.decode = function decode(reader, length) { + FaceAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.adult = reader.int32(); - break; + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + message.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 3: + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + case 4: + message.rollAngle = reader.float(); + break; + case 5: + message.panAngle = reader.float(); + break; + case 6: + message.tiltAngle = reader.float(); + break; + case 7: + message.detectionConfidence = reader.float(); + break; + case 8: + message.landmarkingConfidence = reader.float(); + break; + case 9: + message.joyLikelihood = reader.int32(); + break; + case 10: + message.sorrowLikelihood = reader.int32(); + break; + case 11: + message.angerLikelihood = reader.int32(); + break; + case 12: + message.surpriseLikelihood = reader.int32(); + break; + case 13: + message.underExposedLikelihood = reader.int32(); + break; + case 14: + message.blurredLikelihood = reader.int32(); + break; + case 15: + message.headwearLikelihood = reader.int32(); + break; + case 16: + if (!(message.recognitionResult && message.recognitionResult.length)) + message.recognitionResult = []; + message.recognitionResult.push($root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FaceAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FaceAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FaceAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.fdBoundingPoly); + if (error) + return "fdBoundingPoly." + error; + } + if (message.landmarks != null && message.hasOwnProperty("landmarks")) { + if (!Array.isArray(message.landmarks)) + return "landmarks: array expected"; + for (var i = 0; i < message.landmarks.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify(message.landmarks[i]); + if (error) + return "landmarks." + error; + } + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (typeof message.rollAngle !== "number") + return "rollAngle: number expected"; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (typeof message.panAngle !== "number") + return "panAngle: number expected"; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (typeof message.tiltAngle !== "number") + return "tiltAngle: number expected"; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (typeof message.detectionConfidence !== "number") + return "detectionConfidence: number expected"; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (typeof message.landmarkingConfidence !== "number") + return "landmarkingConfidence: number expected"; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + switch (message.joyLikelihood) { + default: + return "joyLikelihood: enum value expected"; + case 0: + case 1: case 2: - message.spoof = reader.int32(); - break; case 3: - message.medical = reader.int32(); - break; case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); + case 5: break; + } + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + switch (message.sorrowLikelihood) { default: - reader.skipType(tag & 7); + return "sorrowLikelihood: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: break; } - } - return message; - }; - - /** - * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SafeSearchAnnotation message. - * @function verify - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SafeSearchAnnotation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.adult != null && message.hasOwnProperty("adult")) - switch (message.adult) { + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + switch (message.angerLikelihood) { default: - return "adult: enum value expected"; + return "angerLikelihood: enum value expected"; case 0: case 1: case 2: @@ -76592,10 +75958,10 @@ case 5: break; } - if (message.spoof != null && message.hasOwnProperty("spoof")) - switch (message.spoof) { + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + switch (message.surpriseLikelihood) { default: - return "spoof: enum value expected"; + return "surpriseLikelihood: enum value expected"; case 0: case 1: case 2: @@ -76604,10 +75970,10 @@ case 5: break; } - if (message.medical != null && message.hasOwnProperty("medical")) - switch (message.medical) { + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + switch (message.underExposedLikelihood) { default: - return "medical: enum value expected"; + return "underExposedLikelihood: enum value expected"; case 0: case 1: case 2: @@ -76616,10 +75982,10 @@ case 5: break; } - if (message.violence != null && message.hasOwnProperty("violence")) - switch (message.violence) { + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + switch (message.blurredLikelihood) { default: - return "violence: enum value expected"; + return "blurredLikelihood: enum value expected"; case 0: case 1: case 2: @@ -76628,10 +75994,10 @@ case 5: break; } - if (message.racy != null && message.hasOwnProperty("racy")) - switch (message.racy) { + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + switch (message.headwearLikelihood) { default: - return "racy: enum value expected"; + return "headwearLikelihood: enum value expected"; case 0: case 1: case 2: @@ -76640,441 +76006,834 @@ case 5: break; } + if (message.recognitionResult != null && message.hasOwnProperty("recognitionResult")) { + if (!Array.isArray(message.recognitionResult)) + return "recognitionResult: array expected"; + for (var i = 0; i < message.recognitionResult.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify(message.recognitionResult[i]); + if (error) + return "recognitionResult." + error; + } + } return null; }; /** - * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation} FaceAnnotation */ - SafeSearchAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation) + FaceAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceAnnotation) return object; - var message = new $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation(); - switch (object.adult) { + var message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.fdBoundingPoly != null) { + if (typeof object.fdBoundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.fdBoundingPoly: object expected"); + message.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.fdBoundingPoly); + } + if (object.landmarks) { + if (!Array.isArray(object.landmarks)) + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.landmarks: array expected"); + message.landmarks = []; + for (var i = 0; i < object.landmarks.length; ++i) { + if (typeof object.landmarks[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.landmarks: object expected"); + message.landmarks[i] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.fromObject(object.landmarks[i]); + } + } + if (object.rollAngle != null) + message.rollAngle = Number(object.rollAngle); + if (object.panAngle != null) + message.panAngle = Number(object.panAngle); + if (object.tiltAngle != null) + message.tiltAngle = Number(object.tiltAngle); + if (object.detectionConfidence != null) + message.detectionConfidence = Number(object.detectionConfidence); + if (object.landmarkingConfidence != null) + message.landmarkingConfidence = Number(object.landmarkingConfidence); + switch (object.joyLikelihood) { case "UNKNOWN": case 0: - message.adult = 0; + message.joyLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.adult = 1; + message.joyLikelihood = 1; break; case "UNLIKELY": case 2: - message.adult = 2; + message.joyLikelihood = 2; break; case "POSSIBLE": case 3: - message.adult = 3; + message.joyLikelihood = 3; break; case "LIKELY": case 4: - message.adult = 4; + message.joyLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.adult = 5; + message.joyLikelihood = 5; break; } - switch (object.spoof) { + switch (object.sorrowLikelihood) { case "UNKNOWN": case 0: - message.spoof = 0; + message.sorrowLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.spoof = 1; + message.sorrowLikelihood = 1; break; case "UNLIKELY": case 2: - message.spoof = 2; + message.sorrowLikelihood = 2; break; case "POSSIBLE": case 3: - message.spoof = 3; + message.sorrowLikelihood = 3; break; case "LIKELY": case 4: - message.spoof = 4; + message.sorrowLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.spoof = 5; + message.sorrowLikelihood = 5; break; } - switch (object.medical) { + switch (object.angerLikelihood) { case "UNKNOWN": case 0: - message.medical = 0; + message.angerLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.medical = 1; + message.angerLikelihood = 1; break; case "UNLIKELY": case 2: - message.medical = 2; + message.angerLikelihood = 2; break; case "POSSIBLE": case 3: - message.medical = 3; + message.angerLikelihood = 3; break; case "LIKELY": case 4: - message.medical = 4; + message.angerLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.medical = 5; + message.angerLikelihood = 5; break; } - switch (object.violence) { + switch (object.surpriseLikelihood) { case "UNKNOWN": case 0: - message.violence = 0; + message.surpriseLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.violence = 1; + message.surpriseLikelihood = 1; break; case "UNLIKELY": case 2: - message.violence = 2; + message.surpriseLikelihood = 2; break; case "POSSIBLE": case 3: - message.violence = 3; + message.surpriseLikelihood = 3; break; case "LIKELY": case 4: - message.violence = 4; + message.surpriseLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.violence = 5; + message.surpriseLikelihood = 5; break; } - switch (object.racy) { + switch (object.underExposedLikelihood) { case "UNKNOWN": case 0: - message.racy = 0; + message.underExposedLikelihood = 0; break; case "VERY_UNLIKELY": case 1: - message.racy = 1; + message.underExposedLikelihood = 1; break; case "UNLIKELY": case 2: - message.racy = 2; + message.underExposedLikelihood = 2; break; case "POSSIBLE": case 3: - message.racy = 3; + message.underExposedLikelihood = 3; break; case "LIKELY": case 4: - message.racy = 4; + message.underExposedLikelihood = 4; break; case "VERY_LIKELY": case 5: - message.racy = 5; + message.underExposedLikelihood = 5; + break; + } + switch (object.blurredLikelihood) { + case "UNKNOWN": + case 0: + message.blurredLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.blurredLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.blurredLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.blurredLikelihood = 3; + break; + case "LIKELY": + case 4: + message.blurredLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.blurredLikelihood = 5; + break; + } + switch (object.headwearLikelihood) { + case "UNKNOWN": + case 0: + message.headwearLikelihood = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.headwearLikelihood = 1; + break; + case "UNLIKELY": + case 2: + message.headwearLikelihood = 2; + break; + case "POSSIBLE": + case 3: + message.headwearLikelihood = 3; + break; + case "LIKELY": + case 4: + message.headwearLikelihood = 4; + break; + case "VERY_LIKELY": + case 5: + message.headwearLikelihood = 5; break; } + if (object.recognitionResult) { + if (!Array.isArray(object.recognitionResult)) + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.recognitionResult: array expected"); + message.recognitionResult = []; + for (var i = 0; i < object.recognitionResult.length; ++i) { + if (typeof object.recognitionResult[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.recognitionResult: object expected"); + message.recognitionResult[i] = $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.fromObject(object.recognitionResult[i]); + } + } return message; }; /** - * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} message SafeSearchAnnotation + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation} message FaceAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SafeSearchAnnotation.toObject = function toObject(message, options) { + FaceAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) { + object.landmarks = []; + object.recognitionResult = []; + } if (options.defaults) { - object.adult = options.enums === String ? "UNKNOWN" : 0; - object.spoof = options.enums === String ? "UNKNOWN" : 0; - object.medical = options.enums === String ? "UNKNOWN" : 0; - object.violence = options.enums === String ? "UNKNOWN" : 0; - object.racy = options.enums === String ? "UNKNOWN" : 0; + object.boundingPoly = null; + object.fdBoundingPoly = null; + object.rollAngle = 0; + object.panAngle = 0; + object.tiltAngle = 0; + object.detectionConfidence = 0; + object.landmarkingConfidence = 0; + object.joyLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.sorrowLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.angerLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.surpriseLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.underExposedLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.blurredLikelihood = options.enums === String ? "UNKNOWN" : 0; + object.headwearLikelihood = options.enums === String ? "UNKNOWN" : 0; + } + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + object.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.fdBoundingPoly, options); + if (message.landmarks && message.landmarks.length) { + object.landmarks = []; + for (var j = 0; j < message.landmarks.length; ++j) + object.landmarks[j] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.toObject(message.landmarks[j], options); + } + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + object.rollAngle = options.json && !isFinite(message.rollAngle) ? String(message.rollAngle) : message.rollAngle; + if (message.panAngle != null && message.hasOwnProperty("panAngle")) + object.panAngle = options.json && !isFinite(message.panAngle) ? String(message.panAngle) : message.panAngle; + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + object.tiltAngle = options.json && !isFinite(message.tiltAngle) ? String(message.tiltAngle) : message.tiltAngle; + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + object.detectionConfidence = options.json && !isFinite(message.detectionConfidence) ? String(message.detectionConfidence) : message.detectionConfidence; + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + if (message.recognitionResult && message.recognitionResult.length) { + object.recognitionResult = []; + for (var j = 0; j < message.recognitionResult.length; ++j) + object.recognitionResult[j] = $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.toObject(message.recognitionResult[j], options); } - if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.adult] : message.adult; - if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.spoof] : message.spoof; - if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.medical] : message.medical; - if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.violence] : message.violence; - if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.racy] : message.racy; return object; }; /** - * Converts this SafeSearchAnnotation to JSON. + * Converts this FaceAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation * @instance * @returns {Object.} JSON object */ - SafeSearchAnnotation.prototype.toJSON = function toJSON() { + FaceAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SafeSearchAnnotation; - })(); + FaceAnnotation.Landmark = (function() { - v1p4beta1.LatLongRect = (function() { + /** + * Properties of a Landmark. + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @interface ILandmark + * @property {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type|null} [type] Landmark type + * @property {google.cloud.vision.v1p4beta1.IPosition|null} [position] Landmark position + */ - /** - * Properties of a LatLongRect. - * @memberof google.cloud.vision.v1p4beta1 - * @interface ILatLongRect - * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng - * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng - */ + /** + * Constructs a new Landmark. + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @classdesc Represents a Landmark. + * @implements ILandmark + * @constructor + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + */ + function Landmark(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]]; + } - /** - * Constructs a new LatLongRect. - * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a LatLongRect. - * @implements ILatLongRect - * @constructor - * @param {google.cloud.vision.v1p4beta1.ILatLongRect=} [properties] Properties to set - */ - function LatLongRect(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]]; - } + /** + * Landmark type. + * @member {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type} type + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.type = 0; - /** - * LatLongRect minLatLng. - * @member {google.type.ILatLng|null|undefined} minLatLng - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @instance - */ - LatLongRect.prototype.minLatLng = null; + /** + * Landmark position. + * @member {google.cloud.vision.v1p4beta1.IPosition|null|undefined} position + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @instance + */ + Landmark.prototype.position = null; - /** - * LatLongRect maxLatLng. - * @member {google.type.ILatLng|null|undefined} maxLatLng - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @instance - */ - LatLongRect.prototype.maxLatLng = null; + /** + * Creates a new Landmark instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark instance + */ + Landmark.create = function create(properties) { + return new Landmark(properties); + }; - /** - * Creates a new LatLongRect instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p4beta1.ILatLongRect=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect instance - */ - LatLongRect.create = function create(properties) { - return new LatLongRect(properties); - }; + /** + * Encodes the specified Landmark message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && message.hasOwnProperty("type")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); + if (message.position != null && message.hasOwnProperty("position")) + $root.google.cloud.vision.v1p4beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Landmark message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.ILandmark} message Landmark message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Landmark.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Landmark message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.type = reader.int32(); + break; + case 4: + message.position = $root.google.cloud.vision.v1p4beta1.Position.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p4beta1.ILatLongRect} message LatLongRect message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LatLongRect.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + /** + * Decodes a Landmark message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Landmark.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p4beta1.ILatLongRect} message LatLongRect message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Verifies a Landmark message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Landmark.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: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + break; + } + if (message.position != null && message.hasOwnProperty("position")) { + var error = $root.google.cloud.vision.v1p4beta1.Position.verify(message.position); + if (error) + return "position." + error; + } + return null; + }; - /** - * Decodes a LatLongRect message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LatLongRect.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.LatLongRect(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { + /** + * Creates a Landmark message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} Landmark + */ + Landmark.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark(); + switch (object.type) { + case "UNKNOWN_LANDMARK": + case 0: + message.type = 0; + break; + case "LEFT_EYE": case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.type = 1; break; + case "RIGHT_EYE": case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + message.type = 2; break; - default: - reader.skipType(tag & 7); + case "LEFT_OF_LEFT_EYEBROW": + case 3: + message.type = 3; + break; + case "RIGHT_OF_LEFT_EYEBROW": + case 4: + message.type = 4; + break; + case "LEFT_OF_RIGHT_EYEBROW": + case 5: + message.type = 5; + break; + case "RIGHT_OF_RIGHT_EYEBROW": + case 6: + message.type = 6; + break; + case "MIDPOINT_BETWEEN_EYES": + case 7: + message.type = 7; + break; + case "NOSE_TIP": + case 8: + message.type = 8; + break; + case "UPPER_LIP": + case 9: + message.type = 9; + break; + case "LOWER_LIP": + case 10: + message.type = 10; + break; + case "MOUTH_LEFT": + case 11: + message.type = 11; + break; + case "MOUTH_RIGHT": + case 12: + message.type = 12; + break; + case "MOUTH_CENTER": + case 13: + message.type = 13; + break; + case "NOSE_BOTTOM_RIGHT": + case 14: + message.type = 14; + break; + case "NOSE_BOTTOM_LEFT": + case 15: + message.type = 15; + break; + case "NOSE_BOTTOM_CENTER": + case 16: + message.type = 16; + break; + case "LEFT_EYE_TOP_BOUNDARY": + case 17: + message.type = 17; + break; + case "LEFT_EYE_RIGHT_CORNER": + case 18: + message.type = 18; + break; + case "LEFT_EYE_BOTTOM_BOUNDARY": + case 19: + message.type = 19; + break; + case "LEFT_EYE_LEFT_CORNER": + case 20: + message.type = 20; + break; + case "RIGHT_EYE_TOP_BOUNDARY": + case 21: + message.type = 21; + break; + case "RIGHT_EYE_RIGHT_CORNER": + case 22: + message.type = 22; + break; + case "RIGHT_EYE_BOTTOM_BOUNDARY": + case 23: + message.type = 23; + break; + case "RIGHT_EYE_LEFT_CORNER": + case 24: + message.type = 24; + break; + case "LEFT_EYEBROW_UPPER_MIDPOINT": + case 25: + message.type = 25; + break; + case "RIGHT_EYEBROW_UPPER_MIDPOINT": + case 26: + message.type = 26; + break; + case "LEFT_EAR_TRAGION": + case 27: + message.type = 27; + break; + case "RIGHT_EAR_TRAGION": + case 28: + message.type = 28; + break; + case "LEFT_EYE_PUPIL": + case 29: + message.type = 29; + break; + case "RIGHT_EYE_PUPIL": + case 30: + message.type = 30; + break; + case "FOREHEAD_GLABELLA": + case 31: + message.type = 31; + break; + case "CHIN_GNATHION": + case 32: + message.type = 32; + break; + case "CHIN_LEFT_GONION": + case 33: + message.type = 33; + break; + case "CHIN_RIGHT_GONION": + case 34: + message.type = 34; break; } - } - return message; - }; - - /** - * Decodes a LatLongRect message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LatLongRect.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LatLongRect message. - * @function verify - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LatLongRect.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { - var error = $root.google.type.LatLng.verify(message.minLatLng); - if (error) - return "minLatLng." + error; - } - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { - var error = $root.google.type.LatLng.verify(message.maxLatLng); - if (error) - return "maxLatLng." + error; - } - return null; - }; + if (object.position != null) { + if (typeof object.position !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.position: object expected"); + message.position = $root.google.cloud.vision.v1p4beta1.Position.fromObject(object.position); + } + return message; + }; - /** - * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect - */ - LatLongRect.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.LatLongRect) + /** + * Creates a plain object from a Landmark message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark} message Landmark + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Landmark.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = options.enums === String ? "UNKNOWN_LANDMARK" : 0; + object.position = null; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + if (message.position != null && message.hasOwnProperty("position")) + object.position = $root.google.cloud.vision.v1p4beta1.Position.toObject(message.position, options); return object; - var message = new $root.google.cloud.vision.v1p4beta1.LatLongRect(); - if (object.minLatLng != null) { - if (typeof object.minLatLng !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.LatLongRect.minLatLng: object expected"); - message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); - } - if (object.maxLatLng != null) { - if (typeof object.maxLatLng !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.LatLongRect.maxLatLng: object expected"); - message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); - } - return message; - }; + }; - /** - * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @static - * @param {google.cloud.vision.v1p4beta1.LatLongRect} message LatLongRect - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LatLongRect.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.minLatLng = null; - object.maxLatLng = null; - } - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) - object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) - object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); - return object; - }; + /** + * Converts this Landmark to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @instance + * @returns {Object.} JSON object + */ + Landmark.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this LatLongRect to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.LatLongRect - * @instance - * @returns {Object.} JSON object - */ - LatLongRect.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Type enum. + * @name google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type + * @enum {string} + * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value + * @property {number} LEFT_EYE=1 LEFT_EYE value + * @property {number} RIGHT_EYE=2 RIGHT_EYE value + * @property {number} LEFT_OF_LEFT_EYEBROW=3 LEFT_OF_LEFT_EYEBROW value + * @property {number} RIGHT_OF_LEFT_EYEBROW=4 RIGHT_OF_LEFT_EYEBROW value + * @property {number} LEFT_OF_RIGHT_EYEBROW=5 LEFT_OF_RIGHT_EYEBROW value + * @property {number} RIGHT_OF_RIGHT_EYEBROW=6 RIGHT_OF_RIGHT_EYEBROW value + * @property {number} MIDPOINT_BETWEEN_EYES=7 MIDPOINT_BETWEEN_EYES value + * @property {number} NOSE_TIP=8 NOSE_TIP value + * @property {number} UPPER_LIP=9 UPPER_LIP value + * @property {number} LOWER_LIP=10 LOWER_LIP value + * @property {number} MOUTH_LEFT=11 MOUTH_LEFT value + * @property {number} MOUTH_RIGHT=12 MOUTH_RIGHT value + * @property {number} MOUTH_CENTER=13 MOUTH_CENTER value + * @property {number} NOSE_BOTTOM_RIGHT=14 NOSE_BOTTOM_RIGHT value + * @property {number} NOSE_BOTTOM_LEFT=15 NOSE_BOTTOM_LEFT value + * @property {number} NOSE_BOTTOM_CENTER=16 NOSE_BOTTOM_CENTER value + * @property {number} LEFT_EYE_TOP_BOUNDARY=17 LEFT_EYE_TOP_BOUNDARY value + * @property {number} LEFT_EYE_RIGHT_CORNER=18 LEFT_EYE_RIGHT_CORNER value + * @property {number} LEFT_EYE_BOTTOM_BOUNDARY=19 LEFT_EYE_BOTTOM_BOUNDARY value + * @property {number} LEFT_EYE_LEFT_CORNER=20 LEFT_EYE_LEFT_CORNER value + * @property {number} RIGHT_EYE_TOP_BOUNDARY=21 RIGHT_EYE_TOP_BOUNDARY value + * @property {number} RIGHT_EYE_RIGHT_CORNER=22 RIGHT_EYE_RIGHT_CORNER value + * @property {number} RIGHT_EYE_BOTTOM_BOUNDARY=23 RIGHT_EYE_BOTTOM_BOUNDARY value + * @property {number} RIGHT_EYE_LEFT_CORNER=24 RIGHT_EYE_LEFT_CORNER value + * @property {number} LEFT_EYEBROW_UPPER_MIDPOINT=25 LEFT_EYEBROW_UPPER_MIDPOINT value + * @property {number} RIGHT_EYEBROW_UPPER_MIDPOINT=26 RIGHT_EYEBROW_UPPER_MIDPOINT value + * @property {number} LEFT_EAR_TRAGION=27 LEFT_EAR_TRAGION value + * @property {number} RIGHT_EAR_TRAGION=28 RIGHT_EAR_TRAGION value + * @property {number} LEFT_EYE_PUPIL=29 LEFT_EYE_PUPIL value + * @property {number} RIGHT_EYE_PUPIL=30 RIGHT_EYE_PUPIL value + * @property {number} FOREHEAD_GLABELLA=31 FOREHEAD_GLABELLA value + * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value + * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value + * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + */ + Landmark.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN_LANDMARK"] = 0; + values[valuesById[1] = "LEFT_EYE"] = 1; + values[valuesById[2] = "RIGHT_EYE"] = 2; + values[valuesById[3] = "LEFT_OF_LEFT_EYEBROW"] = 3; + values[valuesById[4] = "RIGHT_OF_LEFT_EYEBROW"] = 4; + values[valuesById[5] = "LEFT_OF_RIGHT_EYEBROW"] = 5; + values[valuesById[6] = "RIGHT_OF_RIGHT_EYEBROW"] = 6; + values[valuesById[7] = "MIDPOINT_BETWEEN_EYES"] = 7; + values[valuesById[8] = "NOSE_TIP"] = 8; + values[valuesById[9] = "UPPER_LIP"] = 9; + values[valuesById[10] = "LOWER_LIP"] = 10; + values[valuesById[11] = "MOUTH_LEFT"] = 11; + values[valuesById[12] = "MOUTH_RIGHT"] = 12; + values[valuesById[13] = "MOUTH_CENTER"] = 13; + values[valuesById[14] = "NOSE_BOTTOM_RIGHT"] = 14; + values[valuesById[15] = "NOSE_BOTTOM_LEFT"] = 15; + values[valuesById[16] = "NOSE_BOTTOM_CENTER"] = 16; + values[valuesById[17] = "LEFT_EYE_TOP_BOUNDARY"] = 17; + values[valuesById[18] = "LEFT_EYE_RIGHT_CORNER"] = 18; + values[valuesById[19] = "LEFT_EYE_BOTTOM_BOUNDARY"] = 19; + values[valuesById[20] = "LEFT_EYE_LEFT_CORNER"] = 20; + values[valuesById[21] = "RIGHT_EYE_TOP_BOUNDARY"] = 21; + values[valuesById[22] = "RIGHT_EYE_RIGHT_CORNER"] = 22; + values[valuesById[23] = "RIGHT_EYE_BOTTOM_BOUNDARY"] = 23; + values[valuesById[24] = "RIGHT_EYE_LEFT_CORNER"] = 24; + values[valuesById[25] = "LEFT_EYEBROW_UPPER_MIDPOINT"] = 25; + values[valuesById[26] = "RIGHT_EYEBROW_UPPER_MIDPOINT"] = 26; + values[valuesById[27] = "LEFT_EAR_TRAGION"] = 27; + values[valuesById[28] = "RIGHT_EAR_TRAGION"] = 28; + values[valuesById[29] = "LEFT_EYE_PUPIL"] = 29; + values[valuesById[30] = "RIGHT_EYE_PUPIL"] = 30; + values[valuesById[31] = "FOREHEAD_GLABELLA"] = 31; + values[valuesById[32] = "CHIN_GNATHION"] = 32; + values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; + values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + return values; + })(); - return LatLongRect; + return Landmark; + })(); + + return FaceAnnotation; })(); - v1p4beta1.ColorInfo = (function() { + v1p4beta1.LocationInfo = (function() { /** - * Properties of a ColorInfo. + * Properties of a LocationInfo. * @memberof google.cloud.vision.v1p4beta1 - * @interface IColorInfo - * @property {google.type.IColor|null} [color] ColorInfo color - * @property {number|null} [score] ColorInfo score - * @property {number|null} [pixelFraction] ColorInfo pixelFraction + * @interface ILocationInfo + * @property {google.type.ILatLng|null} [latLng] LocationInfo latLng */ /** - * Constructs a new ColorInfo. + * Constructs a new LocationInfo. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a ColorInfo. - * @implements IColorInfo + * @classdesc Represents a LocationInfo. + * @implements ILocationInfo * @constructor - * @param {google.cloud.vision.v1p4beta1.IColorInfo=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ILocationInfo=} [properties] Properties to set */ - function ColorInfo(properties) { + function LocationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -77082,101 +76841,75 @@ } /** - * ColorInfo color. - * @member {google.type.IColor|null|undefined} color - * @memberof google.cloud.vision.v1p4beta1.ColorInfo - * @instance - */ - ColorInfo.prototype.color = null; - - /** - * ColorInfo score. - * @member {number} score - * @memberof google.cloud.vision.v1p4beta1.ColorInfo - * @instance - */ - ColorInfo.prototype.score = 0; - - /** - * ColorInfo pixelFraction. - * @member {number} pixelFraction - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * LocationInfo latLng. + * @member {google.type.ILatLng|null|undefined} latLng + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @instance */ - ColorInfo.prototype.pixelFraction = 0; + LocationInfo.prototype.latLng = null; /** - * Creates a new ColorInfo instance using the specified properties. + * Creates a new LocationInfo instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p4beta1.IColorInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo instance + * @param {google.cloud.vision.v1p4beta1.ILocationInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo instance */ - ColorInfo.create = function create(properties) { - return new ColorInfo(properties); + LocationInfo.create = function create(properties) { + return new LocationInfo(properties); }; /** - * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. + * Encodes the specified LocationInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p4beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ILocationInfo} message LocationInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ColorInfo.encode = function encode(message, writer) { + LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) - $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); + if (message.latLng != null && message.hasOwnProperty("latLng")) + $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. + * Encodes the specified LocationInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocationInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p4beta1.IColorInfo} message ColorInfo message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ILocationInfo} message LocationInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { + LocationInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ColorInfo message from the specified reader or buffer. + * Decodes a LocationInfo message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColorInfo.decode = function decode(reader, length) { + LocationInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ColorInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.LocationInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pixelFraction = reader.float(); + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -77187,130 +76920,114 @@ }; /** - * Decodes a ColorInfo message from the specified reader or buffer, length delimited. + * Decodes a LocationInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColorInfo.decodeDelimited = function decodeDelimited(reader) { + LocationInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ColorInfo message. + * Verifies a LocationInfo message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ColorInfo.verify = function verify(message) { + LocationInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.color != null && message.hasOwnProperty("color")) { - var error = $root.google.type.Color.verify(message.color); + if (message.latLng != null && message.hasOwnProperty("latLng")) { + var error = $root.google.type.LatLng.verify(message.latLng); if (error) - return "color." + error; + return "latLng." + error; } - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - if (typeof message.pixelFraction !== "number") - return "pixelFraction: number expected"; return null; }; /** - * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. + * Creates a LocationInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo + * @returns {google.cloud.vision.v1p4beta1.LocationInfo} LocationInfo */ - ColorInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ColorInfo) + LocationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.LocationInfo) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ColorInfo(); - if (object.color != null) { - if (typeof object.color !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ColorInfo.color: object expected"); - message.color = $root.google.type.Color.fromObject(object.color); + var message = new $root.google.cloud.vision.v1p4beta1.LocationInfo(); + if (object.latLng != null) { + if (typeof object.latLng !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.LocationInfo.latLng: object expected"); + message.latLng = $root.google.type.LatLng.fromObject(object.latLng); } - if (object.score != null) - message.score = Number(object.score); - if (object.pixelFraction != null) - message.pixelFraction = Number(object.pixelFraction); return message; }; /** - * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. + * Creates a plain object from a LocationInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @static - * @param {google.cloud.vision.v1p4beta1.ColorInfo} message ColorInfo + * @param {google.cloud.vision.v1p4beta1.LocationInfo} message LocationInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ColorInfo.toObject = function toObject(message, options) { + LocationInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.color = null; - object.score = 0; - object.pixelFraction = 0; - } - if (message.color != null && message.hasOwnProperty("color")) - object.color = $root.google.type.Color.toObject(message.color, options); - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) - object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; + if (options.defaults) + object.latLng = null; + if (message.latLng != null && message.hasOwnProperty("latLng")) + object.latLng = $root.google.type.LatLng.toObject(message.latLng, options); return object; }; /** - * Converts this ColorInfo to JSON. + * Converts this LocationInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @memberof google.cloud.vision.v1p4beta1.LocationInfo * @instance * @returns {Object.} JSON object */ - ColorInfo.prototype.toJSON = function toJSON() { + LocationInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ColorInfo; + return LocationInfo; })(); - v1p4beta1.DominantColorsAnnotation = (function() { + v1p4beta1.Property = (function() { /** - * Properties of a DominantColorsAnnotation. + * Properties of a Property. * @memberof google.cloud.vision.v1p4beta1 - * @interface IDominantColorsAnnotation - * @property {Array.|null} [colors] DominantColorsAnnotation colors + * @interface IProperty + * @property {string|null} [name] Property name + * @property {string|null} [value] Property value + * @property {number|Long|null} [uint64Value] Property uint64Value */ /** - * Constructs a new DominantColorsAnnotation. + * Constructs a new Property. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a DominantColorsAnnotation. - * @implements IDominantColorsAnnotation + * @classdesc Represents a Property. + * @implements IProperty * @constructor - * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IProperty=} [properties] Properties to set */ - function DominantColorsAnnotation(properties) { - this.colors = []; + function Property(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -77318,78 +77035,101 @@ } /** - * DominantColorsAnnotation colors. - * @member {Array.} colors - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * Property name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.Property * @instance */ - DominantColorsAnnotation.prototype.colors = $util.emptyArray; + Property.prototype.name = ""; /** - * Creates a new DominantColorsAnnotation instance using the specified properties. + * Property value. + * @member {string} value + * @memberof google.cloud.vision.v1p4beta1.Property + * @instance + */ + Property.prototype.value = ""; + + /** + * Property uint64Value. + * @member {number|Long} uint64Value + * @memberof google.cloud.vision.v1p4beta1.Property + * @instance + */ + Property.prototype.uint64Value = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new Property instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1.Property * @static - * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation instance + * @param {google.cloud.vision.v1p4beta1.IProperty=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.Property} Property instance */ - DominantColorsAnnotation.create = function create(properties) { - return new DominantColorsAnnotation(properties); + Property.create = function create(properties) { + return new Property(properties); }; /** - * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. + * Encodes the specified Property message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1.Property * @static - * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DominantColorsAnnotation.encode = function encode(message, writer) { + Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.colors != null && message.colors.length) - for (var i = 0; i < message.colors.length; ++i) - $root.google.cloud.vision.v1p4beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.hasOwnProperty("value")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; /** - * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. + * Encodes the specified Property message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Property.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1.Property * @static - * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IProperty} message Property message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + Property.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer. + * Decodes a Property message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p4beta1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decode = function decode(reader, length) { + Property.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Property(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1p4beta1.ColorInfo.decode(reader, reader.uint32())); + message.name = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + case 3: + message.uint64Value = reader.uint64(); break; default: reader.skipType(tag & 7); @@ -77400,124 +77140,148 @@ }; /** - * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a Property message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1.Property * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p4beta1.Property} Property * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { + Property.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a DominantColorsAnnotation message. + * Verifies a Property message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1.Property * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DominantColorsAnnotation.verify = function verify(message) { + Property.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.colors != null && message.hasOwnProperty("colors")) { - if (!Array.isArray(message.colors)) - return "colors: array expected"; - for (var i = 0; i < message.colors.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.ColorInfo.verify(message.colors[i]); - if (error) - return "colors." + error; - } - } + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!$util.isString(message.value)) + return "value: string expected"; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (!$util.isInteger(message.uint64Value) && !(message.uint64Value && $util.isInteger(message.uint64Value.low) && $util.isInteger(message.uint64Value.high))) + return "uint64Value: integer|Long expected"; return null; }; /** - * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a Property message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1.Property * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation + * @returns {google.cloud.vision.v1p4beta1.Property} Property */ - DominantColorsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation) + Property.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.Property) return object; - var message = new $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation(); - if (object.colors) { - if (!Array.isArray(object.colors)) - throw TypeError(".google.cloud.vision.v1p4beta1.DominantColorsAnnotation.colors: array expected"); - message.colors = []; - for (var i = 0; i < object.colors.length; ++i) { - if (typeof object.colors[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.DominantColorsAnnotation.colors: object expected"); - message.colors[i] = $root.google.cloud.vision.v1p4beta1.ColorInfo.fromObject(object.colors[i]); - } - } + var message = new $root.google.cloud.vision.v1p4beta1.Property(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) + message.value = String(object.value); + if (object.uint64Value != null) + if ($util.Long) + (message.uint64Value = $util.Long.fromValue(object.uint64Value)).unsigned = true; + else if (typeof object.uint64Value === "string") + message.uint64Value = parseInt(object.uint64Value, 10); + else if (typeof object.uint64Value === "number") + message.uint64Value = object.uint64Value; + else if (typeof object.uint64Value === "object") + message.uint64Value = new $util.LongBits(object.uint64Value.low >>> 0, object.uint64Value.high >>> 0).toNumber(true); return message; }; /** - * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a Property message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1.Property * @static - * @param {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} message DominantColorsAnnotation + * @param {google.cloud.vision.v1p4beta1.Property} message Property * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - DominantColorsAnnotation.toObject = function toObject(message, options) { + Property.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.colors = []; - if (message.colors && message.colors.length) { - object.colors = []; - for (var j = 0; j < message.colors.length; ++j) - object.colors[j] = $root.google.cloud.vision.v1p4beta1.ColorInfo.toObject(message.colors[j], options); + if (options.defaults) { + object.name = ""; + object.value = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.uint64Value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.uint64Value = options.longs === String ? "0" : 0; } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = message.value; + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (typeof message.uint64Value === "number") + object.uint64Value = options.longs === String ? String(message.uint64Value) : message.uint64Value; + else + object.uint64Value = options.longs === String ? $util.Long.prototype.toString.call(message.uint64Value) : options.longs === Number ? new $util.LongBits(message.uint64Value.low >>> 0, message.uint64Value.high >>> 0).toNumber(true) : message.uint64Value; return object; }; /** - * Converts this DominantColorsAnnotation to JSON. + * Converts this Property to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @memberof google.cloud.vision.v1p4beta1.Property * @instance * @returns {Object.} JSON object */ - DominantColorsAnnotation.prototype.toJSON = function toJSON() { + Property.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return DominantColorsAnnotation; + return Property; })(); - v1p4beta1.ImageProperties = (function() { + v1p4beta1.EntityAnnotation = (function() { /** - * Properties of an ImageProperties. + * Properties of an EntityAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @interface IImageProperties - * @property {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors + * @interface IEntityAnnotation + * @property {string|null} [mid] EntityAnnotation mid + * @property {string|null} [locale] EntityAnnotation locale + * @property {string|null} [description] EntityAnnotation description + * @property {number|null} [score] EntityAnnotation score + * @property {number|null} [confidence] EntityAnnotation confidence + * @property {number|null} [topicality] EntityAnnotation topicality + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] EntityAnnotation boundingPoly + * @property {Array.|null} [locations] EntityAnnotation locations + * @property {Array.|null} [properties] EntityAnnotation properties */ /** - * Constructs a new ImageProperties. + * Constructs a new EntityAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an ImageProperties. - * @implements IImageProperties + * @classdesc Represents an EntityAnnotation. + * @implements IEntityAnnotation * @constructor - * @param {google.cloud.vision.v1p4beta1.IImageProperties=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation=} [properties] Properties to set */ - function ImageProperties(properties) { + function EntityAnnotation(properties) { + this.locations = []; + this.properties = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -77525,75 +77289,185 @@ } /** - * ImageProperties dominantColors. - * @member {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null|undefined} dominantColors - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * EntityAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @instance */ - ImageProperties.prototype.dominantColors = null; + EntityAnnotation.prototype.mid = ""; /** - * Creates a new ImageProperties instance using the specified properties. + * EntityAnnotation locale. + * @member {string} locale + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locale = ""; + + /** + * EntityAnnotation description. + * @member {string} description + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.description = ""; + + /** + * EntityAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.score = 0; + + /** + * EntityAnnotation confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.confidence = 0; + + /** + * EntityAnnotation topicality. + * @member {number} topicality + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.topicality = 0; + + /** + * EntityAnnotation boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.boundingPoly = null; + + /** + * EntityAnnotation locations. + * @member {Array.} locations + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.locations = $util.emptyArray; + + /** + * EntityAnnotation properties. + * @member {Array.} properties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @instance + */ + EntityAnnotation.prototype.properties = $util.emptyArray; + + /** + * Creates a new EntityAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.IImageProperties=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties instance + * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation instance */ - ImageProperties.create = function create(properties) { - return new ImageProperties(properties); + EntityAnnotation.create = function create(properties) { + return new EntityAnnotation(properties); }; /** - * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. + * Encodes the specified EntityAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encode = function encode(message, writer) { + EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.locale != null && message.hasOwnProperty("locale")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); + if (message.description != null && message.hasOwnProperty("description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); + if (message.topicality != null && message.hasOwnProperty("topicality")) + writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.locations != null && message.locations.length) + for (var i = 0; i < message.locations.length; ++i) + $root.google.cloud.vision.v1p4beta1.LocationInfo.encode(message.locations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.properties != null && message.properties.length) + for (var i = 0; i < message.properties.length; ++i) + $root.google.cloud.vision.v1p4beta1.Property.encode(message.properties[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. + * Encodes the specified EntityAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.EntityAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.IImageProperties} message ImageProperties message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IEntityAnnotation} message EntityAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { + EntityAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageProperties message from the specified reader or buffer. + * Decodes an EntityAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decode = function decode(reader, length) { + EntityAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageProperties(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.EntityAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + message.mid = reader.string(); + break; + case 2: + message.locale = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.confidence = reader.float(); + break; + case 6: + message.topicality = reader.float(); + break; + case 7: + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 8: + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p4beta1.LocationInfo.decode(reader, reader.uint32())); + break; + case 9: + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p4beta1.Property.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -77604,114 +77478,217 @@ }; /** - * Decodes an ImageProperties message from the specified reader or buffer, length delimited. + * Decodes an EntityAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageProperties.decodeDelimited = function decodeDelimited(reader) { + EntityAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageProperties message. + * Verifies an EntityAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageProperties.verify = function verify(message) { + EntityAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { - var error = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify(message.dominantColors); + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.locale != null && message.hasOwnProperty("locale")) + if (!$util.isString(message.locale)) + return "locale: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.topicality != null && message.hasOwnProperty("topicality")) + if (typeof message.topicality !== "number") + return "topicality: number expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); if (error) - return "dominantColors." + error; + return "boundingPoly." + error; + } + if (message.locations != null && message.hasOwnProperty("locations")) { + if (!Array.isArray(message.locations)) + return "locations: array expected"; + for (var i = 0; i < message.locations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.LocationInfo.verify(message.locations[i]); + if (error) + return "locations." + error; + } + } + if (message.properties != null && message.hasOwnProperty("properties")) { + if (!Array.isArray(message.properties)) + return "properties: array expected"; + for (var i = 0; i < message.properties.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Property.verify(message.properties[i]); + if (error) + return "properties." + error; + } } return null; }; /** - * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. + * Creates an EntityAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties + * @returns {google.cloud.vision.v1p4beta1.EntityAnnotation} EntityAnnotation */ - ImageProperties.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageProperties) + EntityAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.EntityAnnotation) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ImageProperties(); - if (object.dominantColors != null) { - if (typeof object.dominantColors !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImageProperties.dominantColors: object expected"); - message.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.fromObject(object.dominantColors); + var message = new $root.google.cloud.vision.v1p4beta1.EntityAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.locale != null) + message.locale = String(object.locale); + if (object.description != null) + message.description = String(object.description); + if (object.score != null) + message.score = Number(object.score); + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.topicality != null) + message.topicality = Number(object.topicality); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.locations) { + if (!Array.isArray(object.locations)) + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.locations: array expected"); + message.locations = []; + for (var i = 0; i < object.locations.length; ++i) { + if (typeof object.locations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.locations: object expected"); + message.locations[i] = $root.google.cloud.vision.v1p4beta1.LocationInfo.fromObject(object.locations[i]); + } + } + if (object.properties) { + if (!Array.isArray(object.properties)) + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.properties: array expected"); + message.properties = []; + for (var i = 0; i < object.properties.length; ++i) { + if (typeof object.properties[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.EntityAnnotation.properties: object expected"); + message.properties[i] = $root.google.cloud.vision.v1p4beta1.Property.fromObject(object.properties[i]); + } } return message; }; /** - * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. + * Creates a plain object from an EntityAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ImageProperties} message ImageProperties + * @param {google.cloud.vision.v1p4beta1.EntityAnnotation} message EntityAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageProperties.toObject = function toObject(message, options) { + EntityAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.dominantColors = null; - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) - object.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); + if (options.arrays || options.defaults) { + object.locations = []; + object.properties = []; + } + if (options.defaults) { + object.mid = ""; + object.locale = ""; + object.description = ""; + object.score = 0; + object.confidence = 0; + object.topicality = 0; + object.boundingPoly = null; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.locale != null && message.hasOwnProperty("locale")) + object.locale = message.locale; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.topicality != null && message.hasOwnProperty("topicality")) + object.topicality = options.json && !isFinite(message.topicality) ? String(message.topicality) : message.topicality; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.locations && message.locations.length) { + object.locations = []; + for (var j = 0; j < message.locations.length; ++j) + object.locations[j] = $root.google.cloud.vision.v1p4beta1.LocationInfo.toObject(message.locations[j], options); + } + if (message.properties && message.properties.length) { + object.properties = []; + for (var j = 0; j < message.properties.length; ++j) + object.properties[j] = $root.google.cloud.vision.v1p4beta1.Property.toObject(message.properties[j], options); + } return object; }; /** - * Converts this ImageProperties to JSON. + * Converts this EntityAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation * @instance * @returns {Object.} JSON object */ - ImageProperties.prototype.toJSON = function toJSON() { + EntityAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageProperties; + return EntityAnnotation; })(); - v1p4beta1.CropHint = (function() { + v1p4beta1.LocalizedObjectAnnotation = (function() { /** - * Properties of a CropHint. + * Properties of a LocalizedObjectAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @interface ICropHint - * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly - * @property {number|null} [confidence] CropHint confidence - * @property {number|null} [importanceFraction] CropHint importanceFraction + * @interface ILocalizedObjectAnnotation + * @property {string|null} [mid] LocalizedObjectAnnotation mid + * @property {string|null} [languageCode] LocalizedObjectAnnotation languageCode + * @property {string|null} [name] LocalizedObjectAnnotation name + * @property {number|null} [score] LocalizedObjectAnnotation score + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] LocalizedObjectAnnotation boundingPoly */ /** - * Constructs a new CropHint. + * Constructs a new LocalizedObjectAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a CropHint. - * @implements ICropHint + * @classdesc Represents a LocalizedObjectAnnotation. + * @implements ILocalizedObjectAnnotation * @constructor - * @param {google.cloud.vision.v1p4beta1.ICropHint=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation=} [properties] Properties to set */ - function CropHint(properties) { + function LocalizedObjectAnnotation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -77719,101 +77696,127 @@ } /** - * CropHint boundingPoly. - * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly - * @memberof google.cloud.vision.v1p4beta1.CropHint + * LocalizedObjectAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @instance */ - CropHint.prototype.boundingPoly = null; + LocalizedObjectAnnotation.prototype.mid = ""; /** - * CropHint confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p4beta1.CropHint + * LocalizedObjectAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @instance */ - CropHint.prototype.confidence = 0; + LocalizedObjectAnnotation.prototype.languageCode = ""; /** - * CropHint importanceFraction. - * @member {number} importanceFraction - * @memberof google.cloud.vision.v1p4beta1.CropHint + * LocalizedObjectAnnotation name. + * @member {string} name + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @instance */ - CropHint.prototype.importanceFraction = 0; + LocalizedObjectAnnotation.prototype.name = ""; /** - * Creates a new CropHint instance using the specified properties. + * LocalizedObjectAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.score = 0; + + /** + * LocalizedObjectAnnotation boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @instance + */ + LocalizedObjectAnnotation.prototype.boundingPoly = null; + + /** + * Creates a new LocalizedObjectAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.CropHint + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ICropHint=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint instance + * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation instance */ - CropHint.create = function create(properties) { - return new CropHint(properties); + LocalizedObjectAnnotation.create = function create(properties) { + return new LocalizedObjectAnnotation(properties); }; /** - * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. + * Encodes the specified LocalizedObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.CropHint + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encode = function encode(message, writer) { + LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); + if (message.mid != null && message.hasOwnProperty("mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.name != null && message.hasOwnProperty("name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) - $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; /** - * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. + * Encodes the specified LocalizedObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CropHint + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ICropHint} message CropHint message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ILocalizedObjectAnnotation} message LocalizedObjectAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHint.encodeDelimited = function encodeDelimited(message, writer) { + LocalizedObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHint message from the specified reader or buffer. + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.CropHint + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decode = function decode(reader, length) { + LocalizedObjectAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CropHint(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + message.mid = reader.string(); break; case 2: - message.confidence = reader.float(); + message.languageCode = reader.string(); break; case 3: - message.importanceFraction = reader.float(); + message.name = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + case 5: + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -77824,130 +77827,149 @@ }; /** - * Decodes a CropHint message from the specified reader or buffer, length delimited. + * Decodes a LocalizedObjectAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CropHint + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHint.decodeDelimited = function decodeDelimited(reader) { + LocalizedObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHint message. + * Verifies a LocalizedObjectAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.CropHint + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHint.verify = function verify(message) { + LocalizedObjectAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); if (error) return "boundingPoly." + error; } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - if (typeof message.importanceFraction !== "number") - return "importanceFraction: number expected"; return null; }; /** - * Creates a CropHint message from a plain object. Also converts values to their respective internal types. + * Creates a LocalizedObjectAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.CropHint + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint + * @returns {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} LocalizedObjectAnnotation */ - CropHint.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.CropHint) + LocalizedObjectAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation) return object; - var message = new $root.google.cloud.vision.v1p4beta1.CropHint(); + var message = new $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.name != null) + message.name = String(object.name); + if (object.score != null) + message.score = Number(object.score); if (object.boundingPoly != null) { if (typeof object.boundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.CropHint.boundingPoly: object expected"); + throw TypeError(".google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.boundingPoly: object expected"); message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); } - if (object.confidence != null) - message.confidence = Number(object.confidence); - if (object.importanceFraction != null) - message.importanceFraction = Number(object.importanceFraction); return message; }; /** - * Creates a plain object from a CropHint message. Also converts values to other types if specified. + * Creates a plain object from a LocalizedObjectAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.CropHint + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.CropHint} message CropHint + * @param {google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} message LocalizedObjectAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHint.toObject = function toObject(message, options) { + LocalizedObjectAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { + object.mid = ""; + object.languageCode = ""; + object.name = ""; + object.score = 0; object.boundingPoly = null; - object.confidence = 0; - object.importanceFraction = 0; } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) - object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; return object; }; /** - * Converts this CropHint to JSON. + * Converts this LocalizedObjectAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.CropHint + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation * @instance * @returns {Object.} JSON object */ - CropHint.prototype.toJSON = function toJSON() { + LocalizedObjectAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHint; + return LocalizedObjectAnnotation; })(); - v1p4beta1.CropHintsAnnotation = (function() { + v1p4beta1.SafeSearchAnnotation = (function() { /** - * Properties of a CropHintsAnnotation. + * Properties of a SafeSearchAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @interface ICropHintsAnnotation - * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints + * @interface ISafeSearchAnnotation + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [adult] SafeSearchAnnotation adult + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [spoof] SafeSearchAnnotation spoof + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [medical] SafeSearchAnnotation medical + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [violence] SafeSearchAnnotation violence + * @property {google.cloud.vision.v1p4beta1.Likelihood|null} [racy] SafeSearchAnnotation racy */ /** - * Constructs a new CropHintsAnnotation. + * Constructs a new SafeSearchAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a CropHintsAnnotation. - * @implements ICropHintsAnnotation + * @classdesc Represents a SafeSearchAnnotation. + * @implements ISafeSearchAnnotation * @constructor - * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation=} [properties] Properties to set */ - function CropHintsAnnotation(properties) { - this.cropHints = []; + function SafeSearchAnnotation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -77955,78 +77977,127 @@ } /** - * CropHintsAnnotation cropHints. - * @member {Array.} cropHints - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * SafeSearchAnnotation adult. + * @member {google.cloud.vision.v1p4beta1.Likelihood} adult + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @instance */ - CropHintsAnnotation.prototype.cropHints = $util.emptyArray; + SafeSearchAnnotation.prototype.adult = 0; /** - * Creates a new CropHintsAnnotation instance using the specified properties. + * SafeSearchAnnotation spoof. + * @member {google.cloud.vision.v1p4beta1.Likelihood} spoof + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.spoof = 0; + + /** + * SafeSearchAnnotation medical. + * @member {google.cloud.vision.v1p4beta1.Likelihood} medical + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.medical = 0; + + /** + * SafeSearchAnnotation violence. + * @member {google.cloud.vision.v1p4beta1.Likelihood} violence + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.violence = 0; + + /** + * SafeSearchAnnotation racy. + * @member {google.cloud.vision.v1p4beta1.Likelihood} racy + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @instance + */ + SafeSearchAnnotation.prototype.racy = 0; + + /** + * Creates a new SafeSearchAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation instance + * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation instance */ - CropHintsAnnotation.create = function create(properties) { - return new CropHintsAnnotation(properties); + SafeSearchAnnotation.create = function create(properties) { + return new SafeSearchAnnotation(properties); }; /** - * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified SafeSearchAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encode = function encode(message, writer) { + SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.cropHints != null && message.cropHints.length) - for (var i = 0; i < message.cropHints.length; ++i) - $root.google.cloud.vision.v1p4beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.adult != null && message.hasOwnProperty("adult")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); + if (message.spoof != null && message.hasOwnProperty("spoof")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); + if (message.medical != null && message.hasOwnProperty("medical")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); + if (message.violence != null && message.hasOwnProperty("violence")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); + if (message.racy != null && message.hasOwnProperty("racy")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; /** - * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. + * Encodes the specified SafeSearchAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation} message SafeSearchAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + SafeSearchAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decode = function decode(reader, length) { + SafeSearchAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1p4beta1.CropHint.decode(reader, reader.uint32())); + message.adult = reader.int32(); + break; + case 2: + message.spoof = reader.int32(); + break; + case 3: + message.medical = reader.int32(); + break; + case 4: + message.violence = reader.int32(); + break; + case 9: + message.racy = reader.int32(); break; default: reader.skipType(tag & 7); @@ -78037,125 +78108,306 @@ }; /** - * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. + * Decodes a SafeSearchAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { + SafeSearchAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsAnnotation message. + * Verifies a SafeSearchAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsAnnotation.verify = function verify(message) { + SafeSearchAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.cropHints != null && message.hasOwnProperty("cropHints")) { - if (!Array.isArray(message.cropHints)) - return "cropHints: array expected"; - for (var i = 0; i < message.cropHints.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.CropHint.verify(message.cropHints[i]); - if (error) - return "cropHints." + error; + if (message.adult != null && message.hasOwnProperty("adult")) + switch (message.adult) { + default: + return "adult: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.spoof != null && message.hasOwnProperty("spoof")) + switch (message.spoof) { + default: + return "spoof: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.medical != null && message.hasOwnProperty("medical")) + switch (message.medical) { + default: + return "medical: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.violence != null && message.hasOwnProperty("violence")) + switch (message.violence) { + default: + return "violence: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + if (message.racy != null && message.hasOwnProperty("racy")) + switch (message.racy) { + default: + return "racy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + break; } - } return null; }; /** - * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. + * Creates a SafeSearchAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation + * @returns {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} SafeSearchAnnotation */ - CropHintsAnnotation.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation) + SafeSearchAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation) return object; - var message = new $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation(); - if (object.cropHints) { - if (!Array.isArray(object.cropHints)) - throw TypeError(".google.cloud.vision.v1p4beta1.CropHintsAnnotation.cropHints: array expected"); - message.cropHints = []; - for (var i = 0; i < object.cropHints.length; ++i) { - if (typeof object.cropHints[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.CropHintsAnnotation.cropHints: object expected"); - message.cropHints[i] = $root.google.cloud.vision.v1p4beta1.CropHint.fromObject(object.cropHints[i]); - } + var message = new $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation(); + switch (object.adult) { + case "UNKNOWN": + case 0: + message.adult = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.adult = 1; + break; + case "UNLIKELY": + case 2: + message.adult = 2; + break; + case "POSSIBLE": + case 3: + message.adult = 3; + break; + case "LIKELY": + case 4: + message.adult = 4; + break; + case "VERY_LIKELY": + case 5: + message.adult = 5; + break; + } + switch (object.spoof) { + case "UNKNOWN": + case 0: + message.spoof = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.spoof = 1; + break; + case "UNLIKELY": + case 2: + message.spoof = 2; + break; + case "POSSIBLE": + case 3: + message.spoof = 3; + break; + case "LIKELY": + case 4: + message.spoof = 4; + break; + case "VERY_LIKELY": + case 5: + message.spoof = 5; + break; + } + switch (object.medical) { + case "UNKNOWN": + case 0: + message.medical = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.medical = 1; + break; + case "UNLIKELY": + case 2: + message.medical = 2; + break; + case "POSSIBLE": + case 3: + message.medical = 3; + break; + case "LIKELY": + case 4: + message.medical = 4; + break; + case "VERY_LIKELY": + case 5: + message.medical = 5; + break; + } + switch (object.violence) { + case "UNKNOWN": + case 0: + message.violence = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.violence = 1; + break; + case "UNLIKELY": + case 2: + message.violence = 2; + break; + case "POSSIBLE": + case 3: + message.violence = 3; + break; + case "LIKELY": + case 4: + message.violence = 4; + break; + case "VERY_LIKELY": + case 5: + message.violence = 5; + break; + } + switch (object.racy) { + case "UNKNOWN": + case 0: + message.racy = 0; + break; + case "VERY_UNLIKELY": + case 1: + message.racy = 1; + break; + case "UNLIKELY": + case 2: + message.racy = 2; + break; + case "POSSIBLE": + case 3: + message.racy = 3; + break; + case "LIKELY": + case 4: + message.racy = 4; + break; + case "VERY_LIKELY": + case 5: + message.racy = 5; + break; } return message; }; /** - * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. + * Creates a plain object from a SafeSearchAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.CropHintsAnnotation} message CropHintsAnnotation + * @param {google.cloud.vision.v1p4beta1.SafeSearchAnnotation} message SafeSearchAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsAnnotation.toObject = function toObject(message, options) { + SafeSearchAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.cropHints = []; - if (message.cropHints && message.cropHints.length) { - object.cropHints = []; - for (var j = 0; j < message.cropHints.length; ++j) - object.cropHints[j] = $root.google.cloud.vision.v1p4beta1.CropHint.toObject(message.cropHints[j], options); + if (options.defaults) { + object.adult = options.enums === String ? "UNKNOWN" : 0; + object.spoof = options.enums === String ? "UNKNOWN" : 0; + object.medical = options.enums === String ? "UNKNOWN" : 0; + object.violence = options.enums === String ? "UNKNOWN" : 0; + object.racy = options.enums === String ? "UNKNOWN" : 0; } + if (message.adult != null && message.hasOwnProperty("adult")) + object.adult = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.adult] : message.adult; + if (message.spoof != null && message.hasOwnProperty("spoof")) + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.spoof] : message.spoof; + if (message.medical != null && message.hasOwnProperty("medical")) + object.medical = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.medical] : message.medical; + if (message.violence != null && message.hasOwnProperty("violence")) + object.violence = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.violence] : message.violence; + if (message.racy != null && message.hasOwnProperty("racy")) + object.racy = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.racy] : message.racy; return object; }; /** - * Converts this CropHintsAnnotation to JSON. + * Converts this SafeSearchAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation * @instance * @returns {Object.} JSON object */ - CropHintsAnnotation.prototype.toJSON = function toJSON() { + SafeSearchAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsAnnotation; + return SafeSearchAnnotation; })(); - v1p4beta1.CropHintsParams = (function() { + v1p4beta1.LatLongRect = (function() { /** - * Properties of a CropHintsParams. + * Properties of a LatLongRect. * @memberof google.cloud.vision.v1p4beta1 - * @interface ICropHintsParams - * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios + * @interface ILatLongRect + * @property {google.type.ILatLng|null} [minLatLng] LatLongRect minLatLng + * @property {google.type.ILatLng|null} [maxLatLng] LatLongRect maxLatLng */ /** - * Constructs a new CropHintsParams. + * Constructs a new LatLongRect. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a CropHintsParams. - * @implements ICropHintsParams + * @classdesc Represents a LatLongRect. + * @implements ILatLongRect * @constructor - * @param {google.cloud.vision.v1p4beta1.ICropHintsParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ILatLongRect=} [properties] Properties to set */ - function CropHintsParams(properties) { - this.aspectRatios = []; + function LatLongRect(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -78163,86 +78415,88 @@ } /** - * CropHintsParams aspectRatios. - * @member {Array.} aspectRatios - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * LatLongRect minLatLng. + * @member {google.type.ILatLng|null|undefined} minLatLng + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @instance */ - CropHintsParams.prototype.aspectRatios = $util.emptyArray; + LatLongRect.prototype.minLatLng = null; /** - * Creates a new CropHintsParams instance using the specified properties. + * LatLongRect maxLatLng. + * @member {google.type.ILatLng|null|undefined} maxLatLng + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @instance + */ + LatLongRect.prototype.maxLatLng = null; + + /** + * Creates a new LatLongRect instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p4beta1.ICropHintsParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams instance + * @param {google.cloud.vision.v1p4beta1.ILatLongRect=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect instance */ - CropHintsParams.create = function create(properties) { - return new CropHintsParams(properties); + LatLongRect.create = function create(properties) { + return new LatLongRect(properties); }; /** - * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. + * Encodes the specified LatLongRect message. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p4beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encode = function encode(message, writer) { + LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.aspectRatios != null && message.aspectRatios.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (var i = 0; i < message.aspectRatios.length; ++i) - writer.float(message.aspectRatios[i]); - writer.ldelim(); - } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. + * Encodes the specified LatLongRect message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.LatLongRect.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p4beta1.ICropHintsParams} message CropHintsParams message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ILatLongRect} message LatLongRect message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { + LatLongRect.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a CropHintsParams message from the specified reader or buffer. + * Decodes a LatLongRect message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decode = function decode(reader, length) { + LatLongRect.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CropHintsParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.LatLongRect(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + case 2: + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -78253,119 +78507,128 @@ }; /** - * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. + * Decodes a LatLongRect message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CropHintsParams.decodeDelimited = function decodeDelimited(reader) { + LatLongRect.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a CropHintsParams message. + * Verifies a LatLongRect message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CropHintsParams.verify = function verify(message) { + LatLongRect.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { - if (!Array.isArray(message.aspectRatios)) - return "aspectRatios: array expected"; - for (var i = 0; i < message.aspectRatios.length; ++i) - if (typeof message.aspectRatios[i] !== "number") - return "aspectRatios: number[] expected"; + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) { + var error = $root.google.type.LatLng.verify(message.minLatLng); + if (error) + return "minLatLng." + error; + } + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) { + var error = $root.google.type.LatLng.verify(message.maxLatLng); + if (error) + return "maxLatLng." + error; } return null; }; /** - * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. + * Creates a LatLongRect message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams + * @returns {google.cloud.vision.v1p4beta1.LatLongRect} LatLongRect */ - CropHintsParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.CropHintsParams) + LatLongRect.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.LatLongRect) return object; - var message = new $root.google.cloud.vision.v1p4beta1.CropHintsParams(); - if (object.aspectRatios) { - if (!Array.isArray(object.aspectRatios)) - throw TypeError(".google.cloud.vision.v1p4beta1.CropHintsParams.aspectRatios: array expected"); - message.aspectRatios = []; - for (var i = 0; i < object.aspectRatios.length; ++i) - message.aspectRatios[i] = Number(object.aspectRatios[i]); + var message = new $root.google.cloud.vision.v1p4beta1.LatLongRect(); + if (object.minLatLng != null) { + if (typeof object.minLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.LatLongRect.minLatLng: object expected"); + message.minLatLng = $root.google.type.LatLng.fromObject(object.minLatLng); + } + if (object.maxLatLng != null) { + if (typeof object.maxLatLng !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.LatLongRect.maxLatLng: object expected"); + message.maxLatLng = $root.google.type.LatLng.fromObject(object.maxLatLng); } return message; }; /** - * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. + * Creates a plain object from a LatLongRect message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @static - * @param {google.cloud.vision.v1p4beta1.CropHintsParams} message CropHintsParams + * @param {google.cloud.vision.v1p4beta1.LatLongRect} message LatLongRect * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - CropHintsParams.toObject = function toObject(message, options) { + LatLongRect.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.aspectRatios = []; - if (message.aspectRatios && message.aspectRatios.length) { - object.aspectRatios = []; - for (var j = 0; j < message.aspectRatios.length; ++j) - object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; + if (options.defaults) { + object.minLatLng = null; + object.maxLatLng = null; } + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + object.minLatLng = $root.google.type.LatLng.toObject(message.minLatLng, options); + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + object.maxLatLng = $root.google.type.LatLng.toObject(message.maxLatLng, options); return object; }; /** - * Converts this CropHintsParams to JSON. + * Converts this LatLongRect to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @memberof google.cloud.vision.v1p4beta1.LatLongRect * @instance * @returns {Object.} JSON object */ - CropHintsParams.prototype.toJSON = function toJSON() { + LatLongRect.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return CropHintsParams; + return LatLongRect; })(); - v1p4beta1.WebDetectionParams = (function() { + v1p4beta1.ColorInfo = (function() { /** - * Properties of a WebDetectionParams. + * Properties of a ColorInfo. * @memberof google.cloud.vision.v1p4beta1 - * @interface IWebDetectionParams - * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults + * @interface IColorInfo + * @property {google.type.IColor|null} [color] ColorInfo color + * @property {number|null} [score] ColorInfo score + * @property {number|null} [pixelFraction] ColorInfo pixelFraction */ /** - * Constructs a new WebDetectionParams. + * Constructs a new ColorInfo. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a WebDetectionParams. - * @implements IWebDetectionParams + * @classdesc Represents a ColorInfo. + * @implements IColorInfo * @constructor - * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IColorInfo=} [properties] Properties to set */ - function WebDetectionParams(properties) { + function ColorInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -78373,75 +78636,101 @@ } /** - * WebDetectionParams includeGeoResults. - * @member {boolean} includeGeoResults - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * ColorInfo color. + * @member {google.type.IColor|null|undefined} color + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @instance */ - WebDetectionParams.prototype.includeGeoResults = false; + ColorInfo.prototype.color = null; /** - * Creates a new WebDetectionParams instance using the specified properties. + * ColorInfo score. + * @member {number} score + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.score = 0; + + /** + * ColorInfo pixelFraction. + * @member {number} pixelFraction + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @instance + */ + ColorInfo.prototype.pixelFraction = 0; + + /** + * Creates a new ColorInfo instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams instance + * @param {google.cloud.vision.v1p4beta1.IColorInfo=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo instance */ - WebDetectionParams.create = function create(properties) { - return new WebDetectionParams(properties); + ColorInfo.create = function create(properties) { + return new ColorInfo(properties); }; /** - * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. + * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encode = function encode(message, writer) { + ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); + if (message.color != null && message.hasOwnProperty("color")) + $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.score != null && message.hasOwnProperty("score")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; /** - * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. + * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ColorInfo.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IColorInfo} message ColorInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + ColorInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer. + * Decodes a ColorInfo message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decode = function decode(reader, length) { + ColorInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetectionParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ColorInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 1: + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; case 2: - message.includeGeoResults = reader.bool(); + message.score = reader.float(); + break; + case 3: + message.pixelFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -78452,113 +78741,130 @@ }; /** - * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. + * Decodes a ColorInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { + ColorInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WebDetectionParams message. + * Verifies a ColorInfo message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WebDetectionParams.verify = function verify(message) { + ColorInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - if (typeof message.includeGeoResults !== "boolean") - return "includeGeoResults: boolean expected"; + if (message.color != null && message.hasOwnProperty("color")) { + var error = $root.google.type.Color.verify(message.color); + if (error) + return "color." + error; + } + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (typeof message.pixelFraction !== "number") + return "pixelFraction: number expected"; return null; }; /** - * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. + * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams + * @returns {google.cloud.vision.v1p4beta1.ColorInfo} ColorInfo */ - WebDetectionParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetectionParams) + ColorInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ColorInfo) return object; - var message = new $root.google.cloud.vision.v1p4beta1.WebDetectionParams(); - if (object.includeGeoResults != null) - message.includeGeoResults = Boolean(object.includeGeoResults); + var message = new $root.google.cloud.vision.v1p4beta1.ColorInfo(); + if (object.color != null) { + if (typeof object.color !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ColorInfo.color: object expected"); + message.color = $root.google.type.Color.fromObject(object.color); + } + if (object.score != null) + message.score = Number(object.score); + if (object.pixelFraction != null) + message.pixelFraction = Number(object.pixelFraction); return message; }; /** - * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. + * Creates a plain object from a ColorInfo message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @static - * @param {google.cloud.vision.v1p4beta1.WebDetectionParams} message WebDetectionParams + * @param {google.cloud.vision.v1p4beta1.ColorInfo} message ColorInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WebDetectionParams.toObject = function toObject(message, options) { + ColorInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.includeGeoResults = false; - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) - object.includeGeoResults = message.includeGeoResults; + if (options.defaults) { + object.color = null; + object.score = 0; + object.pixelFraction = 0; + } + if (message.color != null && message.hasOwnProperty("color")) + object.color = $root.google.type.Color.toObject(message.color, options); + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + object.pixelFraction = options.json && !isFinite(message.pixelFraction) ? String(message.pixelFraction) : message.pixelFraction; return object; }; /** - * Converts this WebDetectionParams to JSON. + * Converts this ColorInfo to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ColorInfo * @instance * @returns {Object.} JSON object */ - WebDetectionParams.prototype.toJSON = function toJSON() { + ColorInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return WebDetectionParams; + return ColorInfo; })(); - v1p4beta1.ImageContext = (function() { + v1p4beta1.DominantColorsAnnotation = (function() { /** - * Properties of an ImageContext. + * Properties of a DominantColorsAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @interface IImageContext - * @property {google.cloud.vision.v1p4beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect - * @property {Array.|null} [languageHints] ImageContext languageHints - * @property {google.cloud.vision.v1p4beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams - * @property {google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null} [faceRecognitionParams] ImageContext faceRecognitionParams - * @property {google.cloud.vision.v1p4beta1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams - * @property {google.cloud.vision.v1p4beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @interface IDominantColorsAnnotation + * @property {Array.|null} [colors] DominantColorsAnnotation colors */ /** - * Constructs a new ImageContext. + * Constructs a new DominantColorsAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an ImageContext. - * @implements IImageContext + * @classdesc Represents a DominantColorsAnnotation. + * @implements IDominantColorsAnnotation * @constructor - * @param {google.cloud.vision.v1p4beta1.IImageContext=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation=} [properties] Properties to set */ - function ImageContext(properties) { - this.languageHints = []; + function DominantColorsAnnotation(properties) { + this.colors = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -78566,143 +78872,78 @@ } /** - * ImageContext latLongRect. - * @member {google.cloud.vision.v1p4beta1.ILatLongRect|null|undefined} latLongRect - * @memberof google.cloud.vision.v1p4beta1.ImageContext - * @instance - */ - ImageContext.prototype.latLongRect = null; - - /** - * ImageContext languageHints. - * @member {Array.} languageHints - * @memberof google.cloud.vision.v1p4beta1.ImageContext - * @instance - */ - ImageContext.prototype.languageHints = $util.emptyArray; - - /** - * ImageContext cropHintsParams. - * @member {google.cloud.vision.v1p4beta1.ICropHintsParams|null|undefined} cropHintsParams - * @memberof google.cloud.vision.v1p4beta1.ImageContext - * @instance - */ - ImageContext.prototype.cropHintsParams = null; - - /** - * ImageContext faceRecognitionParams. - * @member {google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null|undefined} faceRecognitionParams - * @memberof google.cloud.vision.v1p4beta1.ImageContext - * @instance - */ - ImageContext.prototype.faceRecognitionParams = null; - - /** - * ImageContext productSearchParams. - * @member {google.cloud.vision.v1p4beta1.IProductSearchParams|null|undefined} productSearchParams - * @memberof google.cloud.vision.v1p4beta1.ImageContext - * @instance - */ - ImageContext.prototype.productSearchParams = null; - - /** - * ImageContext webDetectionParams. - * @member {google.cloud.vision.v1p4beta1.IWebDetectionParams|null|undefined} webDetectionParams - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * DominantColorsAnnotation colors. + * @member {Array.} colors + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @instance */ - ImageContext.prototype.webDetectionParams = null; + DominantColorsAnnotation.prototype.colors = $util.emptyArray; /** - * Creates a new ImageContext instance using the specified properties. + * Creates a new DominantColorsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.IImageContext=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext instance + * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation instance */ - ImageContext.create = function create(properties) { - return new ImageContext(properties); + DominantColorsAnnotation.create = function create(properties) { + return new DominantColorsAnnotation(properties); }; /** - * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encode = function encode(message, writer) { + DominantColorsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - $root.google.cloud.vision.v1p4beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.languageHints != null && message.languageHints.length) - for (var i = 0; i < message.languageHints.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - $root.google.cloud.vision.v1p4beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) - $root.google.cloud.vision.v1p4beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - $root.google.cloud.vision.v1p4beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) - $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.encode(message.faceRecognitionParams, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.colors != null && message.colors.length) + for (var i = 0; i < message.colors.length; ++i) + $root.google.cloud.vision.v1p4beta1.ColorInfo.encode(message.colors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. + * Encodes the specified DominantColorsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.IImageContext} message ImageContext message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation} message DominantColorsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageContext.encodeDelimited = function encodeDelimited(message, writer) { + DominantColorsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageContext message from the specified reader or buffer. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decode = function decode(reader, length) { + DominantColorsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageContext(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 10: - message.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.decode(reader, reader.uint32()); - break; - case 5: - message.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.decode(reader, reader.uint32()); - break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.decode(reader, reader.uint32()); + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p4beta1.ColorInfo.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -78713,294 +78954,200 @@ }; /** - * Decodes an ImageContext message from the specified reader or buffer, length delimited. + * Decodes a DominantColorsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageContext.decodeDelimited = function decodeDelimited(reader) { + DominantColorsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageContext message. + * Verifies a DominantColorsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageContext.verify = function verify(message) { + DominantColorsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { - var error = $root.google.cloud.vision.v1p4beta1.LatLongRect.verify(message.latLongRect); - if (error) - return "latLongRect." + error; - } - if (message.languageHints != null && message.hasOwnProperty("languageHints")) { - if (!Array.isArray(message.languageHints)) - return "languageHints: array expected"; - for (var i = 0; i < message.languageHints.length; ++i) - if (!$util.isString(message.languageHints[i])) - return "languageHints: string[] expected"; - } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { - var error = $root.google.cloud.vision.v1p4beta1.CropHintsParams.verify(message.cropHintsParams); - if (error) - return "cropHintsParams." + error; - } - if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) { - var error = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify(message.faceRecognitionParams); - if (error) - return "faceRecognitionParams." + error; - } - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { - var error = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.verify(message.productSearchParams); - if (error) - return "productSearchParams." + error; - } - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { - var error = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.verify(message.webDetectionParams); - if (error) - return "webDetectionParams." + error; + if (message.colors != null && message.hasOwnProperty("colors")) { + if (!Array.isArray(message.colors)) + return "colors: array expected"; + for (var i = 0; i < message.colors.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.ColorInfo.verify(message.colors[i]); + if (error) + return "colors." + error; + } } return null; }; /** - * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. + * Creates a DominantColorsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext + * @returns {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} DominantColorsAnnotation */ - ImageContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageContext) + DominantColorsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ImageContext(); - if (object.latLongRect != null) { - if (typeof object.latLongRect !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.latLongRect: object expected"); - message.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.fromObject(object.latLongRect); - } - if (object.languageHints) { - if (!Array.isArray(object.languageHints)) - throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.languageHints: array expected"); - message.languageHints = []; - for (var i = 0; i < object.languageHints.length; ++i) - message.languageHints[i] = String(object.languageHints[i]); - } - if (object.cropHintsParams != null) { - if (typeof object.cropHintsParams !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.cropHintsParams: object expected"); - message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.fromObject(object.cropHintsParams); - } - if (object.faceRecognitionParams != null) { - if (typeof object.faceRecognitionParams !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.faceRecognitionParams: object expected"); - message.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.fromObject(object.faceRecognitionParams); - } - if (object.productSearchParams != null) { - if (typeof object.productSearchParams !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.productSearchParams: object expected"); - message.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.fromObject(object.productSearchParams); - } - if (object.webDetectionParams != null) { - if (typeof object.webDetectionParams !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.webDetectionParams: object expected"); - message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.fromObject(object.webDetectionParams); + var message = new $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation(); + if (object.colors) { + if (!Array.isArray(object.colors)) + throw TypeError(".google.cloud.vision.v1p4beta1.DominantColorsAnnotation.colors: array expected"); + message.colors = []; + for (var i = 0; i < object.colors.length; ++i) { + if (typeof object.colors[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.DominantColorsAnnotation.colors: object expected"); + message.colors[i] = $root.google.cloud.vision.v1p4beta1.ColorInfo.fromObject(object.colors[i]); + } } return message; }; /** - * Creates a plain object from an ImageContext message. Also converts values to other types if specified. + * Creates a plain object from a DominantColorsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.ImageContext} message ImageContext + * @param {google.cloud.vision.v1p4beta1.DominantColorsAnnotation} message DominantColorsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageContext.toObject = function toObject(message, options) { + DominantColorsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.languageHints = []; - if (options.defaults) { - object.latLongRect = null; - object.cropHintsParams = null; - object.productSearchParams = null; - object.webDetectionParams = null; - object.faceRecognitionParams = null; - } - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) - object.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.toObject(message.latLongRect, options); - if (message.languageHints && message.languageHints.length) { - object.languageHints = []; - for (var j = 0; j < message.languageHints.length; ++j) - object.languageHints[j] = message.languageHints[j]; + object.colors = []; + if (message.colors && message.colors.length) { + object.colors = []; + for (var j = 0; j < message.colors.length; ++j) + object.colors[j] = $root.google.cloud.vision.v1p4beta1.ColorInfo.toObject(message.colors[j], options); } - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) - object.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.toObject(message.cropHintsParams, options); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) - object.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.toObject(message.productSearchParams, options); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) - object.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.toObject(message.webDetectionParams, options); - if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) - object.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.toObject(message.faceRecognitionParams, options); return object; }; /** - * Converts this ImageContext to JSON. + * Converts this DominantColorsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation * @instance * @returns {Object.} JSON object */ - ImageContext.prototype.toJSON = function toJSON() { + DominantColorsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageContext; + return DominantColorsAnnotation; })(); - v1p4beta1.AnnotateImageRequest = (function() { + v1p4beta1.ImageProperties = (function() { /** - * Properties of an AnnotateImageRequest. + * Properties of an ImageProperties. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAnnotateImageRequest - * @property {google.cloud.vision.v1p4beta1.IImage|null} [image] AnnotateImageRequest image - * @property {Array.|null} [features] AnnotateImageRequest features - * @property {google.cloud.vision.v1p4beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext + * @interface IImageProperties + * @property {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null} [dominantColors] ImageProperties dominantColors */ /** - * Constructs a new AnnotateImageRequest. + * Constructs a new ImageProperties. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AnnotateImageRequest. - * @implements IAnnotateImageRequest - * @constructor - * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest=} [properties] Properties to set - */ - function AnnotateImageRequest(properties) { - this.features = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * AnnotateImageRequest image. - * @member {google.cloud.vision.v1p4beta1.IImage|null|undefined} image - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest - * @instance - */ - AnnotateImageRequest.prototype.image = null; - - /** - * AnnotateImageRequest features. - * @member {Array.} features - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest - * @instance + * @classdesc Represents an ImageProperties. + * @implements IImageProperties + * @constructor + * @param {google.cloud.vision.v1p4beta1.IImageProperties=} [properties] Properties to set */ - AnnotateImageRequest.prototype.features = $util.emptyArray; + function ImageProperties(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]]; + } /** - * AnnotateImageRequest imageContext. - * @member {google.cloud.vision.v1p4beta1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * ImageProperties dominantColors. + * @member {google.cloud.vision.v1p4beta1.IDominantColorsAnnotation|null|undefined} dominantColors + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @instance */ - AnnotateImageRequest.prototype.imageContext = null; + ImageProperties.prototype.dominantColors = null; /** - * Creates a new AnnotateImageRequest instance using the specified properties. + * Creates a new ImageProperties instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest instance + * @param {google.cloud.vision.v1p4beta1.IImageProperties=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties instance */ - AnnotateImageRequest.create = function create(properties) { - return new AnnotateImageRequest(properties); + ImageProperties.create = function create(properties) { + return new ImageProperties(properties); }; /** - * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified ImageProperties message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encode = function encode(message, writer) { + ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) - $root.google.cloud.vision.v1p4beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.features != null && message.features.length) - for (var i = 0; i < message.features.length; ++i) - $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. + * Encodes the specified ImageProperties message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageProperties.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImageProperties} message ImageProperties message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { + ImageProperties.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer. + * Decodes an ImageProperties message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decode = function decode(reader, length) { + ImageProperties.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageProperties(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.image = $root.google.cloud.vision.v1p4beta1.Image.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + message.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -79011,153 +79158,114 @@ }; /** - * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. + * Decodes an ImageProperties message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { + ImageProperties.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateImageRequest message. + * Verifies an ImageProperties message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateImageRequest.verify = function verify(message) { + ImageProperties.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.image != null && message.hasOwnProperty("image")) { - var error = $root.google.cloud.vision.v1p4beta1.Image.verify(message.image); - if (error) - return "image." + error; - } - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (var i = 0; i < message.features.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.Feature.verify(message.features[i]); - if (error) - return "features." + error; - } - } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) { - var error = $root.google.cloud.vision.v1p4beta1.ImageContext.verify(message.imageContext); + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) { + var error = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.verify(message.dominantColors); if (error) - return "imageContext." + error; + return "dominantColors." + error; } return null; }; /** - * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. + * Creates an ImageProperties message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest + * @returns {google.cloud.vision.v1p4beta1.ImageProperties} ImageProperties */ - AnnotateImageRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest) + ImageProperties.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageProperties) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest(); - if (object.image != null) { - if (typeof object.image !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.image: object expected"); - message.image = $root.google.cloud.vision.v1p4beta1.Image.fromObject(object.image); - } - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) { - if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.features: object expected"); - message.features[i] = $root.google.cloud.vision.v1p4beta1.Feature.fromObject(object.features[i]); - } - } - if (object.imageContext != null) { - if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.imageContext: object expected"); - message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.fromObject(object.imageContext); + var message = new $root.google.cloud.vision.v1p4beta1.ImageProperties(); + if (object.dominantColors != null) { + if (typeof object.dominantColors !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageProperties.dominantColors: object expected"); + message.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.fromObject(object.dominantColors); } return message; }; /** - * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. + * Creates a plain object from an ImageProperties message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @static - * @param {google.cloud.vision.v1p4beta1.AnnotateImageRequest} message AnnotateImageRequest + * @param {google.cloud.vision.v1p4beta1.ImageProperties} message ImageProperties * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageRequest.toObject = function toObject(message, options) { + ImageProperties.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.features = []; - if (options.defaults) { - object.image = null; - object.imageContext = null; - } - if (message.image != null && message.hasOwnProperty("image")) - object.image = $root.google.cloud.vision.v1p4beta1.Image.toObject(message.image, options); - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = $root.google.cloud.vision.v1p4beta1.Feature.toObject(message.features[j], options); - } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - object.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.toObject(message.imageContext, options); + if (options.defaults) + object.dominantColors = null; + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + object.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.toObject(message.dominantColors, options); return object; }; /** - * Converts this AnnotateImageRequest to JSON. + * Converts this ImageProperties to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @memberof google.cloud.vision.v1p4beta1.ImageProperties * @instance * @returns {Object.} JSON object */ - AnnotateImageRequest.prototype.toJSON = function toJSON() { + ImageProperties.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageRequest; + return ImageProperties; })(); - v1p4beta1.ImageAnnotationContext = (function() { + v1p4beta1.CropHint = (function() { /** - * Properties of an ImageAnnotationContext. + * Properties of a CropHint. * @memberof google.cloud.vision.v1p4beta1 - * @interface IImageAnnotationContext - * @property {string|null} [uri] ImageAnnotationContext uri - * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber + * @interface ICropHint + * @property {google.cloud.vision.v1p4beta1.IBoundingPoly|null} [boundingPoly] CropHint boundingPoly + * @property {number|null} [confidence] CropHint confidence + * @property {number|null} [importanceFraction] CropHint importanceFraction */ /** - * Constructs a new ImageAnnotationContext. + * Constructs a new CropHint. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an ImageAnnotationContext. - * @implements IImageAnnotationContext + * @classdesc Represents a CropHint. + * @implements ICropHint * @constructor - * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ICropHint=} [properties] Properties to set */ - function ImageAnnotationContext(properties) { + function CropHint(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -79165,88 +79273,101 @@ } /** - * ImageAnnotationContext uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * CropHint boundingPoly. + * @member {google.cloud.vision.v1p4beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p4beta1.CropHint * @instance */ - ImageAnnotationContext.prototype.uri = ""; + CropHint.prototype.boundingPoly = null; /** - * ImageAnnotationContext pageNumber. - * @member {number} pageNumber - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * CropHint confidence. + * @member {number} confidence + * @memberof google.cloud.vision.v1p4beta1.CropHint * @instance */ - ImageAnnotationContext.prototype.pageNumber = 0; + CropHint.prototype.confidence = 0; /** - * Creates a new ImageAnnotationContext instance using the specified properties. + * CropHint importanceFraction. + * @member {number} importanceFraction + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @instance + */ + CropHint.prototype.importanceFraction = 0; + + /** + * Creates a new CropHint instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1.CropHint * @static - * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext instance + * @param {google.cloud.vision.v1p4beta1.ICropHint=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint instance */ - ImageAnnotationContext.create = function create(properties) { - return new ImageAnnotationContext(properties); + CropHint.create = function create(properties) { + return new CropHint(properties); }; /** - * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. + * Encodes the specified CropHint message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1.CropHint * @static - * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageAnnotationContext.encode = function encode(message, writer) { + CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.confidence != null && message.hasOwnProperty("confidence")) + writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; /** - * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. + * Encodes the specified CropHint message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHint.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1.CropHint * @static - * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICropHint} message CropHint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { + CropHint.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer. + * Decodes a CropHint message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAnnotationContext.decode = function decode(reader, length) { + CropHint.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CropHint(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); break; case 2: - message.pageNumber = reader.int32(); + message.confidence = reader.float(); + break; + case 3: + message.importanceFraction = reader.float(); break; default: reader.skipType(tag & 7); @@ -79257,398 +79378,209 @@ }; /** - * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. + * Decodes a CropHint message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1.CropHint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { + CropHint.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an ImageAnnotationContext message. + * Verifies a CropHint message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1.CropHint * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ImageAnnotationContext.verify = function verify(message) { + CropHint.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - if (!$util.isInteger(message.pageNumber)) - return "pageNumber: integer expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p4beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.confidence != null && message.hasOwnProperty("confidence")) + if (typeof message.confidence !== "number") + return "confidence: number expected"; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (typeof message.importanceFraction !== "number") + return "importanceFraction: number expected"; return null; }; /** - * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. + * Creates a CropHint message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1.CropHint * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext + * @returns {google.cloud.vision.v1p4beta1.CropHint} CropHint */ - ImageAnnotationContext.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext) + CropHint.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CropHint) return object; - var message = new $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext(); - if (object.uri != null) - message.uri = String(object.uri); - if (object.pageNumber != null) - message.pageNumber = object.pageNumber | 0; + var message = new $root.google.cloud.vision.v1p4beta1.CropHint(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CropHint.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.confidence != null) + message.confidence = Number(object.confidence); + if (object.importanceFraction != null) + message.importanceFraction = Number(object.importanceFraction); return message; }; /** - * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. + * Creates a plain object from a CropHint message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1.CropHint * @static - * @param {google.cloud.vision.v1p4beta1.ImageAnnotationContext} message ImageAnnotationContext + * @param {google.cloud.vision.v1p4beta1.CropHint} message CropHint * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ImageAnnotationContext.toObject = function toObject(message, options) { + CropHint.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.uri = ""; - object.pageNumber = 0; + object.boundingPoly = null; + object.confidence = 0; + object.importanceFraction = 0; } - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - object.pageNumber = message.pageNumber; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.confidence != null && message.hasOwnProperty("confidence")) + object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + object.importanceFraction = options.json && !isFinite(message.importanceFraction) ? String(message.importanceFraction) : message.importanceFraction; return object; }; /** - * Converts this ImageAnnotationContext to JSON. + * Converts this CropHint to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @memberof google.cloud.vision.v1p4beta1.CropHint * @instance * @returns {Object.} JSON object */ - ImageAnnotationContext.prototype.toJSON = function toJSON() { + CropHint.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ImageAnnotationContext; + return CropHint; })(); - v1p4beta1.AnnotateImageResponse = (function() { + v1p4beta1.CropHintsAnnotation = (function() { /** - * Properties of an AnnotateImageResponse. + * Properties of a CropHintsAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAnnotateImageResponse - * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations - * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations - * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations - * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations - * @property {Array.|null} [localizedObjectAnnotations] AnnotateImageResponse localizedObjectAnnotations - * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations - * @property {google.cloud.vision.v1p4beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation - * @property {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation - * @property {google.cloud.vision.v1p4beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation - * @property {google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation - * @property {google.cloud.vision.v1p4beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection - * @property {google.cloud.vision.v1p4beta1.IProductSearchResults|null} [productSearchResults] AnnotateImageResponse productSearchResults - * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error - * @property {google.cloud.vision.v1p4beta1.IImageAnnotationContext|null} [context] AnnotateImageResponse context + * @interface ICropHintsAnnotation + * @property {Array.|null} [cropHints] CropHintsAnnotation cropHints */ /** - * Constructs a new AnnotateImageResponse. + * Constructs a new CropHintsAnnotation. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AnnotateImageResponse. - * @implements IAnnotateImageResponse + * @classdesc Represents a CropHintsAnnotation. + * @implements ICropHintsAnnotation * @constructor - * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation=} [properties] Properties to set */ - function AnnotateImageResponse(properties) { - this.faceAnnotations = []; - this.landmarkAnnotations = []; - this.logoAnnotations = []; - this.labelAnnotations = []; - this.localizedObjectAnnotations = []; - this.textAnnotations = []; + function CropHintsAnnotation(properties) { + this.cropHints = []; if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * AnnotateImageResponse faceAnnotations. - * @member {Array.} faceAnnotations - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse landmarkAnnotations. - * @member {Array.} landmarkAnnotations - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse logoAnnotations. - * @member {Array.} logoAnnotations - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse labelAnnotations. - * @member {Array.} labelAnnotations - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse localizedObjectAnnotations. - * @member {Array.} localizedObjectAnnotations - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.localizedObjectAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse textAnnotations. - * @member {Array.} textAnnotations - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; - - /** - * AnnotateImageResponse fullTextAnnotation. - * @member {google.cloud.vision.v1p4beta1.ITextAnnotation|null|undefined} fullTextAnnotation - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.fullTextAnnotation = null; - - /** - * AnnotateImageResponse safeSearchAnnotation. - * @member {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.safeSearchAnnotation = null; - - /** - * AnnotateImageResponse imagePropertiesAnnotation. - * @member {google.cloud.vision.v1p4beta1.IImageProperties|null|undefined} imagePropertiesAnnotation - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; - - /** - * AnnotateImageResponse cropHintsAnnotation. - * @member {google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.cropHintsAnnotation = null; - - /** - * AnnotateImageResponse webDetection. - * @member {google.cloud.vision.v1p4beta1.IWebDetection|null|undefined} webDetection - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.webDetection = null; - - /** - * AnnotateImageResponse productSearchResults. - * @member {google.cloud.vision.v1p4beta1.IProductSearchResults|null|undefined} productSearchResults - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.productSearchResults = null; - - /** - * AnnotateImageResponse error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse - * @instance - */ - AnnotateImageResponse.prototype.error = null; + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } /** - * AnnotateImageResponse context. - * @member {google.cloud.vision.v1p4beta1.IImageAnnotationContext|null|undefined} context - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * CropHintsAnnotation cropHints. + * @member {Array.} cropHints + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @instance */ - AnnotateImageResponse.prototype.context = null; + CropHintsAnnotation.prototype.cropHints = $util.emptyArray; /** - * Creates a new AnnotateImageResponse instance using the specified properties. + * Creates a new CropHintsAnnotation instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse instance + * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation instance */ - AnnotateImageResponse.create = function create(properties) { - return new AnnotateImageResponse(properties); + CropHintsAnnotation.create = function create(properties) { + return new CropHintsAnnotation(properties); }; /** - * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encode = function encode(message, writer) { + CropHintsAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.faceAnnotations != null && message.faceAnnotations.length) - for (var i = 0; i < message.faceAnnotations.length; ++i) - $root.google.cloud.vision.v1p4beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) - for (var i = 0; i < message.landmarkAnnotations.length; ++i) - $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.logoAnnotations != null && message.logoAnnotations.length) - for (var i = 0; i < message.logoAnnotations.length; ++i) - $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.labelAnnotations != null && message.labelAnnotations.length) - for (var i = 0; i < message.labelAnnotations.length; ++i) - $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.textAnnotations != null && message.textAnnotations.length) - for (var i = 0; i < message.textAnnotations.length; ++i) - $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - $root.google.cloud.vision.v1p4beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) - $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - $root.google.cloud.vision.v1p4beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - $root.google.cloud.vision.v1p4beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) - $root.google.cloud.vision.v1p4beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) - $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); - if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) - for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) - $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.encode(message.localizedObjectAnnotations[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); + if (message.cropHints != null && message.cropHints.length) + for (var i = 0; i < message.cropHints.length; ++i) + $root.google.cloud.vision.v1p4beta1.CropHint.encode(message.cropHints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. + * Encodes the specified CropHintsAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICropHintsAnnotation} message CropHintsAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer. + * Decodes a CropHintsAnnotation message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageResponse.decode = function decode(reader, length) { + CropHintsAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 22: - if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) - message.localizedObjectAnnotations = []; - message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.decode(reader, reader.uint32()); - break; - case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.decode(reader, reader.uint32()); - break; - case 14: - message.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 21: - message.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.decode(reader, reader.uint32()); + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p4beta1.CropHint.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -79659,357 +79591,125 @@ }; /** - * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. + * Decodes a CropHintsAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { + CropHintsAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateImageResponse message. + * Verifies a CropHintsAnnotation message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateImageResponse.verify = function verify(message) { + CropHintsAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { - if (!Array.isArray(message.faceAnnotations)) - return "faceAnnotations: array expected"; - for (var i = 0; i < message.faceAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.verify(message.faceAnnotations[i]); - if (error) - return "faceAnnotations." + error; - } - } - if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { - if (!Array.isArray(message.landmarkAnnotations)) - return "landmarkAnnotations: array expected"; - for (var i = 0; i < message.landmarkAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); - if (error) - return "landmarkAnnotations." + error; - } - } - if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { - if (!Array.isArray(message.logoAnnotations)) - return "logoAnnotations: array expected"; - for (var i = 0; i < message.logoAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.logoAnnotations[i]); - if (error) - return "logoAnnotations." + error; - } - } - if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { - if (!Array.isArray(message.labelAnnotations)) - return "labelAnnotations: array expected"; - for (var i = 0; i < message.labelAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.labelAnnotations[i]); - if (error) - return "labelAnnotations." + error; - } - } - if (message.localizedObjectAnnotations != null && message.hasOwnProperty("localizedObjectAnnotations")) { - if (!Array.isArray(message.localizedObjectAnnotations)) - return "localizedObjectAnnotations: array expected"; - for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify(message.localizedObjectAnnotations[i]); - if (error) - return "localizedObjectAnnotations." + error; - } - } - if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { - if (!Array.isArray(message.textAnnotations)) - return "textAnnotations: array expected"; - for (var i = 0; i < message.textAnnotations.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (message.cropHints != null && message.hasOwnProperty("cropHints")) { + if (!Array.isArray(message.cropHints)) + return "cropHints: array expected"; + for (var i = 0; i < message.cropHints.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.CropHint.verify(message.cropHints[i]); if (error) - return "textAnnotations." + error; + return "cropHints." + error; } } - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { - var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.verify(message.fullTextAnnotation); - if (error) - return "fullTextAnnotation." + error; - } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { - var error = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); - if (error) - return "safeSearchAnnotation." + error; - } - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { - var error = $root.google.cloud.vision.v1p4beta1.ImageProperties.verify(message.imagePropertiesAnnotation); - if (error) - return "imagePropertiesAnnotation." + error; - } - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { - var error = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); - if (error) - return "cropHintsAnnotation." + error; - } - if (message.webDetection != null && message.hasOwnProperty("webDetection")) { - var error = $root.google.cloud.vision.v1p4beta1.WebDetection.verify(message.webDetection); - if (error) - return "webDetection." + error; - } - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) { - var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.verify(message.productSearchResults); - if (error) - return "productSearchResults." + error; - } - if (message.error != null && message.hasOwnProperty("error")) { - var error = $root.google.rpc.Status.verify(message.error); - if (error) - return "error." + error; - } - if (message.context != null && message.hasOwnProperty("context")) { - var error = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify(message.context); - if (error) - return "context." + error; - } return null; }; /** - * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse + * @returns {google.cloud.vision.v1p4beta1.CropHintsAnnotation} CropHintsAnnotation */ - AnnotateImageResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse) + CropHintsAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse(); - if (object.faceAnnotations) { - if (!Array.isArray(object.faceAnnotations)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.faceAnnotations: array expected"); - message.faceAnnotations = []; - for (var i = 0; i < object.faceAnnotations.length; ++i) { - if (typeof object.faceAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.faceAnnotations: object expected"); - message.faceAnnotations[i] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); - } - } - if (object.landmarkAnnotations) { - if (!Array.isArray(object.landmarkAnnotations)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); - message.landmarkAnnotations = []; - for (var i = 0; i < object.landmarkAnnotations.length; ++i) { - if (typeof object.landmarkAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); - message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); - } - } - if (object.logoAnnotations) { - if (!Array.isArray(object.logoAnnotations)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.logoAnnotations: array expected"); - message.logoAnnotations = []; - for (var i = 0; i < object.logoAnnotations.length; ++i) { - if (typeof object.logoAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.logoAnnotations: object expected"); - message.logoAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); - } - } - if (object.labelAnnotations) { - if (!Array.isArray(object.labelAnnotations)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.labelAnnotations: array expected"); - message.labelAnnotations = []; - for (var i = 0; i < object.labelAnnotations.length; ++i) { - if (typeof object.labelAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.labelAnnotations: object expected"); - message.labelAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); - } - } - if (object.localizedObjectAnnotations) { - if (!Array.isArray(object.localizedObjectAnnotations)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.localizedObjectAnnotations: array expected"); - message.localizedObjectAnnotations = []; - for (var i = 0; i < object.localizedObjectAnnotations.length; ++i) { - if (typeof object.localizedObjectAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.localizedObjectAnnotations: object expected"); - message.localizedObjectAnnotations[i] = $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.fromObject(object.localizedObjectAnnotations[i]); - } - } - if (object.textAnnotations) { - if (!Array.isArray(object.textAnnotations)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.textAnnotations: array expected"); - message.textAnnotations = []; - for (var i = 0; i < object.textAnnotations.length; ++i) { - if (typeof object.textAnnotations[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.textAnnotations: object expected"); - message.textAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); + var message = new $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation(); + if (object.cropHints) { + if (!Array.isArray(object.cropHints)) + throw TypeError(".google.cloud.vision.v1p4beta1.CropHintsAnnotation.cropHints: array expected"); + message.cropHints = []; + for (var i = 0; i < object.cropHints.length; ++i) { + if (typeof object.cropHints[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.CropHintsAnnotation.cropHints: object expected"); + message.cropHints[i] = $root.google.cloud.vision.v1p4beta1.CropHint.fromObject(object.cropHints[i]); } } - if (object.fullTextAnnotation != null) { - if (typeof object.fullTextAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); - message.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.fromObject(object.fullTextAnnotation); - } - if (object.safeSearchAnnotation != null) { - if (typeof object.safeSearchAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); - message.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); - } - if (object.imagePropertiesAnnotation != null) { - if (typeof object.imagePropertiesAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); - } - if (object.cropHintsAnnotation != null) { - if (typeof object.cropHintsAnnotation !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); - message.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); - } - if (object.webDetection != null) { - if (typeof object.webDetection !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.webDetection: object expected"); - message.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.fromObject(object.webDetection); - } - if (object.productSearchResults != null) { - if (typeof object.productSearchResults !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.productSearchResults: object expected"); - message.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.fromObject(object.productSearchResults); - } - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); - } - if (object.context != null) { - if (typeof object.context !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.context: object expected"); - message.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.fromObject(object.context); - } return message; }; /** - * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsAnnotation message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @static - * @param {google.cloud.vision.v1p4beta1.AnnotateImageResponse} message AnnotateImageResponse + * @param {google.cloud.vision.v1p4beta1.CropHintsAnnotation} message CropHintsAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateImageResponse.toObject = function toObject(message, options) { + CropHintsAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.faceAnnotations = []; - object.landmarkAnnotations = []; - object.logoAnnotations = []; - object.labelAnnotations = []; - object.textAnnotations = []; - object.localizedObjectAnnotations = []; - } - if (options.defaults) { - object.safeSearchAnnotation = null; - object.imagePropertiesAnnotation = null; - object.error = null; - object.cropHintsAnnotation = null; - object.fullTextAnnotation = null; - object.webDetection = null; - object.productSearchResults = null; - object.context = null; - } - if (message.faceAnnotations && message.faceAnnotations.length) { - object.faceAnnotations = []; - for (var j = 0; j < message.faceAnnotations.length; ++j) - object.faceAnnotations[j] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); - } - if (message.landmarkAnnotations && message.landmarkAnnotations.length) { - object.landmarkAnnotations = []; - for (var j = 0; j < message.landmarkAnnotations.length; ++j) - object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); - } - if (message.logoAnnotations && message.logoAnnotations.length) { - object.logoAnnotations = []; - for (var j = 0; j < message.logoAnnotations.length; ++j) - object.logoAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); - } - if (message.labelAnnotations && message.labelAnnotations.length) { - object.labelAnnotations = []; - for (var j = 0; j < message.labelAnnotations.length; ++j) - object.labelAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); - } - if (message.textAnnotations && message.textAnnotations.length) { - object.textAnnotations = []; - for (var j = 0; j < message.textAnnotations.length; ++j) - object.textAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); - } - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) - object.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) - object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); - if (message.error != null && message.hasOwnProperty("error")) - object.error = $root.google.rpc.Status.toObject(message.error, options); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) - object.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) - object.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) - object.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.toObject(message.webDetection, options); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) - object.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.toObject(message.productSearchResults, options); - if (message.context != null && message.hasOwnProperty("context")) - object.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.toObject(message.context, options); - if (message.localizedObjectAnnotations && message.localizedObjectAnnotations.length) { - object.localizedObjectAnnotations = []; - for (var j = 0; j < message.localizedObjectAnnotations.length; ++j) - object.localizedObjectAnnotations[j] = $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.toObject(message.localizedObjectAnnotations[j], options); + if (options.arrays || options.defaults) + object.cropHints = []; + if (message.cropHints && message.cropHints.length) { + object.cropHints = []; + for (var j = 0; j < message.cropHints.length; ++j) + object.cropHints[j] = $root.google.cloud.vision.v1p4beta1.CropHint.toObject(message.cropHints[j], options); } return object; }; /** - * Converts this AnnotateImageResponse to JSON. + * Converts this CropHintsAnnotation to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation * @instance * @returns {Object.} JSON object */ - AnnotateImageResponse.prototype.toJSON = function toJSON() { + CropHintsAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateImageResponse; + return CropHintsAnnotation; })(); - v1p4beta1.BatchAnnotateImagesRequest = (function() { + v1p4beta1.CropHintsParams = (function() { /** - * Properties of a BatchAnnotateImagesRequest. + * Properties of a CropHintsParams. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBatchAnnotateImagesRequest - * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests + * @interface ICropHintsParams + * @property {Array.|null} [aspectRatios] CropHintsParams aspectRatios */ /** - * Constructs a new BatchAnnotateImagesRequest. + * Constructs a new CropHintsParams. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BatchAnnotateImagesRequest. - * @implements IBatchAnnotateImagesRequest + * @classdesc Represents a CropHintsParams. + * @implements ICropHintsParams * @constructor - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.ICropHintsParams=} [properties] Properties to set */ - function BatchAnnotateImagesRequest(properties) { - this.requests = []; + function CropHintsParams(properties) { + this.aspectRatios = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -80017,78 +79717,86 @@ } /** - * BatchAnnotateImagesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * CropHintsParams aspectRatios. + * @member {Array.} aspectRatios + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @instance */ - BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + CropHintsParams.prototype.aspectRatios = $util.emptyArray; /** - * Creates a new BatchAnnotateImagesRequest instance using the specified properties. + * Creates a new CropHintsParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance + * @param {google.cloud.vision.v1p4beta1.ICropHintsParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams instance */ - BatchAnnotateImagesRequest.create = function create(properties) { - return new BatchAnnotateImagesRequest(properties); + CropHintsParams.create = function create(properties) { + return new CropHintsParams(properties); }; /** - * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified CropHintsParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encode = function encode(message, writer) { + CropHintsParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.aspectRatios != null && message.aspectRatios.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.aspectRatios.length; ++i) + writer.float(message.aspectRatios[i]); + writer.ldelim(); + } return writer; }; /** - * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified CropHintsParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.CropHintsParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.ICropHintsParams} message CropHintsParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + CropHintsParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. + * Decodes a CropHintsParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decode = function decode(reader, length) { + CropHintsParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.CropHintsParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else + message.aspectRatios.push(reader.float()); break; default: reader.skipType(tag & 7); @@ -80099,125 +79807,119 @@ }; /** - * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * Decodes a CropHintsParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + CropHintsParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesRequest message. + * Verifies a CropHintsParams message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesRequest.verify = function verify(message) { + CropHintsParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify(message.requests[i]); - if (error) - return "requests." + error; - } + if (message.aspectRatios != null && message.hasOwnProperty("aspectRatios")) { + if (!Array.isArray(message.aspectRatios)) + return "aspectRatios: array expected"; + for (var i = 0; i < message.aspectRatios.length; ++i) + if (typeof message.aspectRatios[i] !== "number") + return "aspectRatios: number[] expected"; } return null; }; /** - * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a CropHintsParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p4beta1.CropHintsParams} CropHintsParams */ - BatchAnnotateImagesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest) + CropHintsParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.CropHintsParams) return object; - var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.fromObject(object.requests[i]); - } + var message = new $root.google.cloud.vision.v1p4beta1.CropHintsParams(); + if (object.aspectRatios) { + if (!Array.isArray(object.aspectRatios)) + throw TypeError(".google.cloud.vision.v1p4beta1.CropHintsParams.aspectRatios: array expected"); + message.aspectRatios = []; + for (var i = 0; i < object.aspectRatios.length; ++i) + message.aspectRatios[i] = Number(object.aspectRatios[i]); } return message; }; /** - * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. + * Creates a plain object from a CropHintsParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @static - * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest + * @param {google.cloud.vision.v1p4beta1.CropHintsParams} message CropHintsParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesRequest.toObject = function toObject(message, options) { + CropHintsParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.requests = []; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.toObject(message.requests[j], options); + object.aspectRatios = []; + if (message.aspectRatios && message.aspectRatios.length) { + object.aspectRatios = []; + for (var j = 0; j < message.aspectRatios.length; ++j) + object.aspectRatios[j] = options.json && !isFinite(message.aspectRatios[j]) ? String(message.aspectRatios[j]) : message.aspectRatios[j]; } return object; }; /** - * Converts this BatchAnnotateImagesRequest to JSON. + * Converts this CropHintsParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + CropHintsParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesRequest; + return CropHintsParams; })(); - v1p4beta1.BatchAnnotateImagesResponse = (function() { + v1p4beta1.WebDetectionParams = (function() { /** - * Properties of a BatchAnnotateImagesResponse. + * Properties of a WebDetectionParams. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBatchAnnotateImagesResponse - * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses + * @interface IWebDetectionParams + * @property {boolean|null} [includeGeoResults] WebDetectionParams includeGeoResults */ /** - * Constructs a new BatchAnnotateImagesResponse. + * Constructs a new WebDetectionParams. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BatchAnnotateImagesResponse. - * @implements IBatchAnnotateImagesResponse + * @classdesc Represents a WebDetectionParams. + * @implements IWebDetectionParams * @constructor - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams=} [properties] Properties to set */ - function BatchAnnotateImagesResponse(properties) { - this.responses = []; + function WebDetectionParams(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -80225,78 +79927,75 @@ } /** - * BatchAnnotateImagesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * WebDetectionParams includeGeoResults. + * @member {boolean} includeGeoResults + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @instance */ - BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; + WebDetectionParams.prototype.includeGeoResults = false; /** - * Creates a new BatchAnnotateImagesResponse instance using the specified properties. + * Creates a new WebDetectionParams instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance + * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams instance */ - BatchAnnotateImagesResponse.create = function create(properties) { - return new BatchAnnotateImagesResponse(properties); + WebDetectionParams.create = function create(properties) { + return new WebDetectionParams(properties); }; /** - * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified WebDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encode = function encode(message, writer) { + WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; /** - * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified WebDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.WebDetectionParams.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IWebDetectionParams} message WebDetectionParams message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + WebDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. + * Decodes a WebDetectionParams message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decode = function decode(reader, length) { + WebDetectionParams.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.WebDetectionParams(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + case 2: + message.includeGeoResults = reader.bool(); break; default: reader.skipType(tag & 7); @@ -80307,129 +80006,113 @@ }; /** - * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * Decodes a WebDetectionParams message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + WebDetectionParams.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateImagesResponse message. + * Verifies a WebDetectionParams message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateImagesResponse.verify = function verify(message) { + WebDetectionParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify(message.responses[i]); - if (error) - return "responses." + error; - } - } + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (typeof message.includeGeoResults !== "boolean") + return "includeGeoResults: boolean expected"; return null; }; /** - * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a WebDetectionParams message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p4beta1.WebDetectionParams} WebDetectionParams */ - BatchAnnotateImagesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse) + WebDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.WebDetectionParams) return object; - var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse(); - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.fromObject(object.responses[i]); - } - } + var message = new $root.google.cloud.vision.v1p4beta1.WebDetectionParams(); + if (object.includeGeoResults != null) + message.includeGeoResults = Boolean(object.includeGeoResults); return message; }; /** - * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. + * Creates a plain object from a WebDetectionParams message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @static - * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse + * @param {google.cloud.vision.v1p4beta1.WebDetectionParams} message WebDetectionParams * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateImagesResponse.toObject = function toObject(message, options) { + WebDetectionParams.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.responses = []; - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.toObject(message.responses[j], options); - } + if (options.defaults) + object.includeGeoResults = false; + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + object.includeGeoResults = message.includeGeoResults; return object; }; /** - * Converts this BatchAnnotateImagesResponse to JSON. + * Converts this WebDetectionParams to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams * @instance * @returns {Object.} JSON object */ - BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + WebDetectionParams.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateImagesResponse; + return WebDetectionParams; })(); - v1p4beta1.AnnotateFileRequest = (function() { + v1p4beta1.ImageContext = (function() { /** - * Properties of an AnnotateFileRequest. + * Properties of an ImageContext. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAnnotateFileRequest - * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AnnotateFileRequest inputConfig - * @property {Array.|null} [features] AnnotateFileRequest features - * @property {google.cloud.vision.v1p4beta1.IImageContext|null} [imageContext] AnnotateFileRequest imageContext - * @property {Array.|null} [pages] AnnotateFileRequest pages + * @interface IImageContext + * @property {google.cloud.vision.v1p4beta1.ILatLongRect|null} [latLongRect] ImageContext latLongRect + * @property {Array.|null} [languageHints] ImageContext languageHints + * @property {google.cloud.vision.v1p4beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams + * @property {google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null} [faceRecognitionParams] ImageContext faceRecognitionParams + * @property {google.cloud.vision.v1p4beta1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams + * @property {google.cloud.vision.v1p4beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams */ /** - * Constructs a new AnnotateFileRequest. + * Constructs a new ImageContext. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AnnotateFileRequest. - * @implements IAnnotateFileRequest + * @classdesc Represents an ImageContext. + * @implements IImageContext * @constructor - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IImageContext=} [properties] Properties to set */ - function AnnotateFileRequest(properties) { - this.features = []; - this.pages = []; + function ImageContext(properties) { + this.languageHints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -80437,128 +80120,143 @@ } /** - * AnnotateFileRequest inputConfig. - * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * ImageContext latLongRect. + * @member {google.cloud.vision.v1p4beta1.ILatLongRect|null|undefined} latLongRect + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @instance */ - AnnotateFileRequest.prototype.inputConfig = null; + ImageContext.prototype.latLongRect = null; /** - * AnnotateFileRequest features. - * @member {Array.} features - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * ImageContext languageHints. + * @member {Array.} languageHints + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @instance */ - AnnotateFileRequest.prototype.features = $util.emptyArray; + ImageContext.prototype.languageHints = $util.emptyArray; /** - * AnnotateFileRequest imageContext. - * @member {google.cloud.vision.v1p4beta1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * ImageContext cropHintsParams. + * @member {google.cloud.vision.v1p4beta1.ICropHintsParams|null|undefined} cropHintsParams + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @instance */ - AnnotateFileRequest.prototype.imageContext = null; + ImageContext.prototype.cropHintsParams = null; /** - * AnnotateFileRequest pages. - * @member {Array.} pages - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * ImageContext faceRecognitionParams. + * @member {google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null|undefined} faceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @instance */ - AnnotateFileRequest.prototype.pages = $util.emptyArray; + ImageContext.prototype.faceRecognitionParams = null; /** - * Creates a new AnnotateFileRequest instance using the specified properties. + * ImageContext productSearchParams. + * @member {google.cloud.vision.v1p4beta1.IProductSearchParams|null|undefined} productSearchParams + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + */ + ImageContext.prototype.productSearchParams = null; + + /** + * ImageContext webDetectionParams. + * @member {google.cloud.vision.v1p4beta1.IWebDetectionParams|null|undefined} webDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + */ + ImageContext.prototype.webDetectionParams = null; + + /** + * Creates a new ImageContext instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest instance + * @param {google.cloud.vision.v1p4beta1.IImageContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext instance */ - AnnotateFileRequest.create = function create(properties) { - return new AnnotateFileRequest(properties); + ImageContext.create = function create(properties) { + return new ImageContext(properties); }; /** - * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. + * Encodes the specified ImageContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileRequest.encode = function encode(message, writer) { + ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.features != null && message.features.length) - for (var i = 0; i < message.features.length; ++i) - $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.pages != null && message.pages.length) { - writer.uint32(/* id 4, wireType 2 =*/34).fork(); - for (var i = 0; i < message.pages.length; ++i) - writer.int32(message.pages[i]); - writer.ldelim(); - } + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + $root.google.cloud.vision.v1p4beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.languageHints != null && message.languageHints.length) + for (var i = 0; i < message.languageHints.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + $root.google.cloud.vision.v1p4beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + $root.google.cloud.vision.v1p4beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + $root.google.cloud.vision.v1p4beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) + $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.encode(message.faceRecognitionParams, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. + * Encodes the specified ImageContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageContext.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImageContext} message ImageContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + ImageContext.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateFileRequest message from the specified reader or buffer. + * Decodes an ImageContext message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest + * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileRequest.decode = function decode(reader, length) { + ImageContext.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageContext(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + message.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.decode(reader, reader.uint32()); break; case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); break; case 4: - if (!(message.pages && message.pages.length)) - message.pages = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.pages.push(reader.int32()); - } else - message.pages.push(reader.int32()); + message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + case 10: + message.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.decode(reader, reader.uint32()); + break; + case 5: + message.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.decode(reader, reader.uint32()); + break; + case 6: + message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -80569,177 +80267,189 @@ }; /** - * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. + * Decodes an ImageContext message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest + * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + ImageContext.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateFileRequest message. + * Verifies an ImageContext message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateFileRequest.verify = function verify(message) { + ImageContext.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) { + var error = $root.google.cloud.vision.v1p4beta1.LatLongRect.verify(message.latLongRect); if (error) - return "inputConfig." + error; + return "latLongRect." + error; } - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (var i = 0; i < message.features.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.Feature.verify(message.features[i]); - if (error) - return "features." + error; - } + if (message.languageHints != null && message.hasOwnProperty("languageHints")) { + if (!Array.isArray(message.languageHints)) + return "languageHints: array expected"; + for (var i = 0; i < message.languageHints.length; ++i) + if (!$util.isString(message.languageHints[i])) + return "languageHints: string[] expected"; } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) { - var error = $root.google.cloud.vision.v1p4beta1.ImageContext.verify(message.imageContext); + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) { + var error = $root.google.cloud.vision.v1p4beta1.CropHintsParams.verify(message.cropHintsParams); if (error) - return "imageContext." + error; + return "cropHintsParams." + error; } - if (message.pages != null && message.hasOwnProperty("pages")) { - if (!Array.isArray(message.pages)) - return "pages: array expected"; - for (var i = 0; i < message.pages.length; ++i) - if (!$util.isInteger(message.pages[i])) - return "pages: integer[] expected"; + if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) { + var error = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify(message.faceRecognitionParams); + if (error) + return "faceRecognitionParams." + error; + } + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.verify(message.productSearchParams); + if (error) + return "productSearchParams." + error; + } + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.verify(message.webDetectionParams); + if (error) + return "webDetectionParams." + error; } return null; }; /** - * Creates an AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * Creates an ImageContext message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest + * @returns {google.cloud.vision.v1p4beta1.ImageContext} ImageContext */ - AnnotateFileRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest) + ImageContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageContext) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); + var message = new $root.google.cloud.vision.v1p4beta1.ImageContext(); + if (object.latLongRect != null) { + if (typeof object.latLongRect !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.latLongRect: object expected"); + message.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.fromObject(object.latLongRect); } - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) { - if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.features: object expected"); - message.features[i] = $root.google.cloud.vision.v1p4beta1.Feature.fromObject(object.features[i]); - } + if (object.languageHints) { + if (!Array.isArray(object.languageHints)) + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.languageHints: array expected"); + message.languageHints = []; + for (var i = 0; i < object.languageHints.length; ++i) + message.languageHints[i] = String(object.languageHints[i]); } - if (object.imageContext != null) { - if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.imageContext: object expected"); - message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.fromObject(object.imageContext); + if (object.cropHintsParams != null) { + if (typeof object.cropHintsParams !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.cropHintsParams: object expected"); + message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.fromObject(object.cropHintsParams); } - if (object.pages) { - if (!Array.isArray(object.pages)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.pages: array expected"); - message.pages = []; - for (var i = 0; i < object.pages.length; ++i) - message.pages[i] = object.pages[i] | 0; + if (object.faceRecognitionParams != null) { + if (typeof object.faceRecognitionParams !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.faceRecognitionParams: object expected"); + message.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.fromObject(object.faceRecognitionParams); + } + if (object.productSearchParams != null) { + if (typeof object.productSearchParams !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.productSearchParams: object expected"); + message.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.fromObject(object.productSearchParams); + } + if (object.webDetectionParams != null) { + if (typeof object.webDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.webDetectionParams: object expected"); + message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.fromObject(object.webDetectionParams); } return message; }; /** - * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. + * Creates a plain object from an ImageContext message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @static - * @param {google.cloud.vision.v1p4beta1.AnnotateFileRequest} message AnnotateFileRequest + * @param {google.cloud.vision.v1p4beta1.ImageContext} message ImageContext * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateFileRequest.toObject = function toObject(message, options) { + ImageContext.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.features = []; - object.pages = []; - } + if (options.arrays || options.defaults) + object.languageHints = []; if (options.defaults) { - object.inputConfig = null; - object.imageContext = null; - } - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = $root.google.cloud.vision.v1p4beta1.Feature.toObject(message.features[j], options); + object.latLongRect = null; + object.cropHintsParams = null; + object.productSearchParams = null; + object.webDetectionParams = null; + object.faceRecognitionParams = null; } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - object.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.toObject(message.imageContext, options); - if (message.pages && message.pages.length) { - object.pages = []; - for (var j = 0; j < message.pages.length; ++j) - object.pages[j] = message.pages[j]; + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + object.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.toObject(message.latLongRect, options); + if (message.languageHints && message.languageHints.length) { + object.languageHints = []; + for (var j = 0; j < message.languageHints.length; ++j) + object.languageHints[j] = message.languageHints[j]; } + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + object.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.toObject(message.cropHintsParams, options); + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + object.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.toObject(message.productSearchParams, options); + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + object.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) + object.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.toObject(message.faceRecognitionParams, options); return object; }; /** - * Converts this AnnotateFileRequest to JSON. + * Converts this ImageContext to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.ImageContext * @instance * @returns {Object.} JSON object */ - AnnotateFileRequest.prototype.toJSON = function toJSON() { + ImageContext.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateFileRequest; + return ImageContext; })(); - v1p4beta1.AnnotateFileResponse = (function() { + v1p4beta1.AnnotateImageRequest = (function() { /** - * Properties of an AnnotateFileResponse. + * Properties of an AnnotateImageRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAnnotateFileResponse - * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig - * @property {Array.|null} [responses] AnnotateFileResponse responses - * @property {number|null} [totalPages] AnnotateFileResponse totalPages - * @property {google.rpc.IStatus|null} [error] AnnotateFileResponse error + * @interface IAnnotateImageRequest + * @property {google.cloud.vision.v1p4beta1.IImage|null} [image] AnnotateImageRequest image + * @property {Array.|null} [features] AnnotateImageRequest features + * @property {google.cloud.vision.v1p4beta1.IImageContext|null} [imageContext] AnnotateImageRequest imageContext */ /** - * Constructs a new AnnotateFileResponse. + * Constructs a new AnnotateImageRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AnnotateFileResponse. - * @implements IAnnotateFileResponse + * @classdesc Represents an AnnotateImageRequest. + * @implements IAnnotateImageRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest=} [properties] Properties to set */ - function AnnotateFileResponse(properties) { - this.responses = []; + function AnnotateImageRequest(properties) { + this.features = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -80747,117 +80457,104 @@ } /** - * AnnotateFileResponse inputConfig. - * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse - * @instance - */ - AnnotateFileResponse.prototype.inputConfig = null; - - /** - * AnnotateFileResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * AnnotateImageRequest image. + * @member {google.cloud.vision.v1p4beta1.IImage|null|undefined} image + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @instance */ - AnnotateFileResponse.prototype.responses = $util.emptyArray; + AnnotateImageRequest.prototype.image = null; /** - * AnnotateFileResponse totalPages. - * @member {number} totalPages - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * AnnotateImageRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @instance */ - AnnotateFileResponse.prototype.totalPages = 0; + AnnotateImageRequest.prototype.features = $util.emptyArray; /** - * AnnotateFileResponse error. - * @member {google.rpc.IStatus|null|undefined} error - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * AnnotateImageRequest imageContext. + * @member {google.cloud.vision.v1p4beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @instance */ - AnnotateFileResponse.prototype.error = null; + AnnotateImageRequest.prototype.imageContext = null; /** - * Creates a new AnnotateFileResponse instance using the specified properties. + * Creates a new AnnotateImageRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse instance + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest instance */ - AnnotateFileResponse.create = function create(properties) { - return new AnnotateFileResponse(properties); + AnnotateImageRequest.create = function create(properties) { + return new AnnotateImageRequest(properties); }; /** - * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encode = function encode(message, writer) { + AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalPages != null && message.hasOwnProperty("totalPages")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); - if (message.error != null && message.hasOwnProperty("error")) - $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.image != null && message.hasOwnProperty("image")) + $root.google.cloud.vision.v1p4beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. + * Encodes the specified AnnotateImageRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageRequest} message AnnotateImageRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer. + * Decodes an AnnotateImageRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decode = function decode(reader, length) { + AnnotateImageRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + message.image = $root.google.cloud.vision.v1p4beta1.Image.decode(reader, reader.uint32()); break; case 2: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); break; case 3: - message.totalPages = reader.int32(); - break; - case 4: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -80868,161 +80565,153 @@ }; /** - * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AnnotateFileResponse message. + * Verifies an AnnotateImageRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AnnotateFileResponse.verify = function verify(message) { + AnnotateImageRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); + if (message.image != null && message.hasOwnProperty("image")) { + var error = $root.google.cloud.vision.v1p4beta1.Image.verify(message.image); if (error) - return "inputConfig." + error; + return "image." + error; } - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify(message.responses[i]); + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Feature.verify(message.features[i]); if (error) - return "responses." + error; + return "features." + error; } } - if (message.totalPages != null && message.hasOwnProperty("totalPages")) - if (!$util.isInteger(message.totalPages)) - return "totalPages: integer expected"; - if (message.error != null && message.hasOwnProperty("error")) { - var error = $root.google.rpc.Status.verify(message.error); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageContext.verify(message.imageContext); if (error) - return "error." + error; + return "imageContext." + error; } return null; }; /** - * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateImageRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageRequest} AnnotateImageRequest */ - AnnotateFileResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse) + AnnotateImageRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); + var message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest(); + if (object.image != null) { + if (typeof object.image !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.image: object expected"); + message.image = $root.google.cloud.vision.v1p4beta1.Image.fromObject(object.image); } - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.fromObject(object.responses[i]); + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p4beta1.Feature.fromObject(object.features[i]); } } - if (object.totalPages != null) - message.totalPages = object.totalPages | 0; - if (object.error != null) { - if (typeof object.error !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.fromObject(object.imageContext); } return message; }; /** - * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @static - * @param {google.cloud.vision.v1p4beta1.AnnotateFileResponse} message AnnotateFileResponse + * @param {google.cloud.vision.v1p4beta1.AnnotateImageRequest} message AnnotateImageRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AnnotateFileResponse.toObject = function toObject(message, options) { + AnnotateImageRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.responses = []; + object.features = []; if (options.defaults) { - object.inputConfig = null; - object.totalPages = 0; - object.error = null; + object.image = null; + object.imageContext = null; } - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.toObject(message.responses[j], options); + if (message.image != null && message.hasOwnProperty("image")) + object.image = $root.google.cloud.vision.v1p4beta1.Image.toObject(message.image, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p4beta1.Feature.toObject(message.features[j], options); } - if (message.totalPages != null && message.hasOwnProperty("totalPages")) - object.totalPages = message.totalPages; - if (message.error != null && message.hasOwnProperty("error")) - object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.toObject(message.imageContext, options); return object; }; /** - * Converts this AnnotateFileResponse to JSON. + * Converts this AnnotateImageRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest * @instance * @returns {Object.} JSON object */ - AnnotateFileResponse.prototype.toJSON = function toJSON() { + AnnotateImageRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AnnotateFileResponse; + return AnnotateImageRequest; })(); - v1p4beta1.BatchAnnotateFilesRequest = (function() { + v1p4beta1.ImageAnnotationContext = (function() { /** - * Properties of a BatchAnnotateFilesRequest. + * Properties of an ImageAnnotationContext. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBatchAnnotateFilesRequest - * @property {Array.|null} [requests] BatchAnnotateFilesRequest requests + * @interface IImageAnnotationContext + * @property {string|null} [uri] ImageAnnotationContext uri + * @property {number|null} [pageNumber] ImageAnnotationContext pageNumber */ /** - * Constructs a new BatchAnnotateFilesRequest. + * Constructs a new ImageAnnotationContext. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BatchAnnotateFilesRequest. - * @implements IBatchAnnotateFilesRequest + * @classdesc Represents an ImageAnnotationContext. + * @implements IImageAnnotationContext * @constructor - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext=} [properties] Properties to set */ - function BatchAnnotateFilesRequest(properties) { - this.requests = []; + function ImageAnnotationContext(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -81030,78 +80719,88 @@ } /** - * BatchAnnotateFilesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * ImageAnnotationContext uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @instance */ - BatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + ImageAnnotationContext.prototype.uri = ""; /** - * Creates a new BatchAnnotateFilesRequest instance using the specified properties. + * ImageAnnotationContext pageNumber. + * @member {number} pageNumber + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @instance + */ + ImageAnnotationContext.prototype.pageNumber = 0; + + /** + * Creates a new ImageAnnotationContext instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest instance + * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext instance */ - BatchAnnotateFilesRequest.create = function create(properties) { - return new BatchAnnotateFilesRequest(properties); + ImageAnnotationContext.create = function create(properties) { + return new ImageAnnotationContext(properties); }; /** - * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified ImageAnnotationContext message. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesRequest.encode = function encode(message, writer) { + ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; /** - * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified ImageAnnotationContext message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IImageAnnotationContext} message ImageAnnotationContext message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + ImageAnnotationContext.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. + * Decodes an ImageAnnotationContext message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesRequest.decode = function decode(reader, length) { + ImageAnnotationContext.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.decode(reader, reader.uint32())); + message.uri = reader.string(); + break; + case 2: + message.pageNumber = reader.int32(); break; default: reader.skipType(tag & 7); @@ -81112,125 +80811,135 @@ }; /** - * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * Decodes an ImageAnnotationContext message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + ImageAnnotationContext.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateFilesRequest message. + * Verifies an ImageAnnotationContext message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateFilesRequest.verify = function verify(message) { + ImageAnnotationContext.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify(message.requests[i]); - if (error) - return "requests." + error; - } - } + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (!$util.isInteger(message.pageNumber)) + return "pageNumber: integer expected"; return null; }; /** - * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * Creates an ImageAnnotationContext message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p4beta1.ImageAnnotationContext} ImageAnnotationContext */ - BatchAnnotateFilesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest) + ImageAnnotationContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext) return object; - var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.fromObject(object.requests[i]); - } - } + var message = new $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext(); + if (object.uri != null) + message.uri = String(object.uri); + if (object.pageNumber != null) + message.pageNumber = object.pageNumber | 0; return message; }; /** - * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. + * Creates a plain object from an ImageAnnotationContext message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @static - * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} message BatchAnnotateFilesRequest + * @param {google.cloud.vision.v1p4beta1.ImageAnnotationContext} message ImageAnnotationContext * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateFilesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.requests = []; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.toObject(message.requests[j], options); + ImageAnnotationContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.uri = ""; + object.pageNumber = 0; } + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + object.pageNumber = message.pageNumber; return object; }; /** - * Converts this BatchAnnotateFilesRequest to JSON. + * Converts this ImageAnnotationContext to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext * @instance * @returns {Object.} JSON object */ - BatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + ImageAnnotationContext.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateFilesRequest; + return ImageAnnotationContext; })(); - v1p4beta1.BatchAnnotateFilesResponse = (function() { + v1p4beta1.AnnotateImageResponse = (function() { /** - * Properties of a BatchAnnotateFilesResponse. + * Properties of an AnnotateImageResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBatchAnnotateFilesResponse - * @property {Array.|null} [responses] BatchAnnotateFilesResponse responses + * @interface IAnnotateImageResponse + * @property {Array.|null} [faceAnnotations] AnnotateImageResponse faceAnnotations + * @property {Array.|null} [landmarkAnnotations] AnnotateImageResponse landmarkAnnotations + * @property {Array.|null} [logoAnnotations] AnnotateImageResponse logoAnnotations + * @property {Array.|null} [labelAnnotations] AnnotateImageResponse labelAnnotations + * @property {Array.|null} [localizedObjectAnnotations] AnnotateImageResponse localizedObjectAnnotations + * @property {Array.|null} [textAnnotations] AnnotateImageResponse textAnnotations + * @property {google.cloud.vision.v1p4beta1.ITextAnnotation|null} [fullTextAnnotation] AnnotateImageResponse fullTextAnnotation + * @property {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null} [safeSearchAnnotation] AnnotateImageResponse safeSearchAnnotation + * @property {google.cloud.vision.v1p4beta1.IImageProperties|null} [imagePropertiesAnnotation] AnnotateImageResponse imagePropertiesAnnotation + * @property {google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null} [cropHintsAnnotation] AnnotateImageResponse cropHintsAnnotation + * @property {google.cloud.vision.v1p4beta1.IWebDetection|null} [webDetection] AnnotateImageResponse webDetection + * @property {google.cloud.vision.v1p4beta1.IProductSearchResults|null} [productSearchResults] AnnotateImageResponse productSearchResults + * @property {google.rpc.IStatus|null} [error] AnnotateImageResponse error + * @property {google.cloud.vision.v1p4beta1.IImageAnnotationContext|null} [context] AnnotateImageResponse context */ /** - * Constructs a new BatchAnnotateFilesResponse. + * Constructs a new AnnotateImageResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BatchAnnotateFilesResponse. - * @implements IBatchAnnotateFilesResponse + * @classdesc Represents an AnnotateImageResponse. + * @implements IAnnotateImageResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse=} [properties] Properties to set */ - function BatchAnnotateFilesResponse(properties) { - this.responses = []; + function AnnotateImageResponse(properties) { + this.faceAnnotations = []; + this.landmarkAnnotations = []; + this.logoAnnotations = []; + this.labelAnnotations = []; + this.localizedObjectAnnotations = []; + this.textAnnotations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -81238,78 +80947,262 @@ } /** - * BatchAnnotateFilesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * AnnotateImageResponse faceAnnotations. + * @member {Array.} faceAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse * @instance */ - BatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + AnnotateImageResponse.prototype.faceAnnotations = $util.emptyArray; /** - * Creates a new BatchAnnotateFilesResponse instance using the specified properties. + * AnnotateImageResponse landmarkAnnotations. + * @member {Array.} landmarkAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.landmarkAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse logoAnnotations. + * @member {Array.} logoAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.logoAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse labelAnnotations. + * @member {Array.} labelAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.labelAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse localizedObjectAnnotations. + * @member {Array.} localizedObjectAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.localizedObjectAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse textAnnotations. + * @member {Array.} textAnnotations + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.textAnnotations = $util.emptyArray; + + /** + * AnnotateImageResponse fullTextAnnotation. + * @member {google.cloud.vision.v1p4beta1.ITextAnnotation|null|undefined} fullTextAnnotation + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.fullTextAnnotation = null; + + /** + * AnnotateImageResponse safeSearchAnnotation. + * @member {google.cloud.vision.v1p4beta1.ISafeSearchAnnotation|null|undefined} safeSearchAnnotation + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.safeSearchAnnotation = null; + + /** + * AnnotateImageResponse imagePropertiesAnnotation. + * @member {google.cloud.vision.v1p4beta1.IImageProperties|null|undefined} imagePropertiesAnnotation + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.imagePropertiesAnnotation = null; + + /** + * AnnotateImageResponse cropHintsAnnotation. + * @member {google.cloud.vision.v1p4beta1.ICropHintsAnnotation|null|undefined} cropHintsAnnotation + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.cropHintsAnnotation = null; + + /** + * AnnotateImageResponse webDetection. + * @member {google.cloud.vision.v1p4beta1.IWebDetection|null|undefined} webDetection + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.webDetection = null; + + /** + * AnnotateImageResponse productSearchResults. + * @member {google.cloud.vision.v1p4beta1.IProductSearchResults|null|undefined} productSearchResults + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.productSearchResults = null; + + /** + * AnnotateImageResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.error = null; + + /** + * AnnotateImageResponse context. + * @member {google.cloud.vision.v1p4beta1.IImageAnnotationContext|null|undefined} context + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @instance + */ + AnnotateImageResponse.prototype.context = null; + + /** + * Creates a new AnnotateImageResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse instance + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse instance */ - BatchAnnotateFilesResponse.create = function create(properties) { - return new BatchAnnotateFilesResponse(properties); + AnnotateImageResponse.create = function create(properties) { + return new AnnotateImageResponse(properties); }; /** - * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesResponse.encode = function encode(message, writer) { + AnnotateImageResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responses != null && message.responses.length) - for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.faceAnnotations != null && message.faceAnnotations.length) + for (var i = 0; i < message.faceAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.landmarkAnnotations != null && message.landmarkAnnotations.length) + for (var i = 0; i < message.landmarkAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.landmarkAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.logoAnnotations != null && message.logoAnnotations.length) + for (var i = 0; i < message.logoAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.logoAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.labelAnnotations != null && message.labelAnnotations.length) + for (var i = 0; i < message.labelAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.labelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.textAnnotations != null && message.textAnnotations.length) + for (var i = 0; i < message.textAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + $root.google.cloud.vision.v1p4beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + $root.google.cloud.vision.v1p4beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + $root.google.cloud.vision.v1p4beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + $root.google.cloud.vision.v1p4beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); + if (message.context != null && message.hasOwnProperty("context")) + $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); + if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) + $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.encode(message.localizedObjectAnnotations[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); return writer; }; /** - * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified AnnotateImageResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAnnotateImageResponse} message AnnotateImageResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateImageResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. + * Decodes an AnnotateImageResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesResponse.decode = function decode(reader, length) { + AnnotateImageResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.decode(reader, reader.uint32())); + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + case 2: + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 4: + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 22: + if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) + message.localizedObjectAnnotations = []; + message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + break; + case 5: + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + case 12: + message.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + case 6: + message.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + case 8: + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.decode(reader, reader.uint32()); + break; + case 11: + message.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + case 13: + message.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.decode(reader, reader.uint32()); + break; + case 14: + message.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.decode(reader, reader.uint32()); + break; + case 9: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + case 21: + message.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -81320,128 +81213,357 @@ }; /** - * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * Decodes an AnnotateImageResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + AnnotateImageResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BatchAnnotateFilesResponse message. + * Verifies an AnnotateImageResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchAnnotateFilesResponse.verify = function verify(message) { + AnnotateImageResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.responses != null && message.hasOwnProperty("responses")) { - if (!Array.isArray(message.responses)) - return "responses: array expected"; - for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify(message.responses[i]); + if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) { + if (!Array.isArray(message.faceAnnotations)) + return "faceAnnotations: array expected"; + for (var i = 0; i < message.faceAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.verify(message.faceAnnotations[i]); if (error) - return "responses." + error; + return "faceAnnotations." + error; + } + } + if (message.landmarkAnnotations != null && message.hasOwnProperty("landmarkAnnotations")) { + if (!Array.isArray(message.landmarkAnnotations)) + return "landmarkAnnotations: array expected"; + for (var i = 0; i < message.landmarkAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.landmarkAnnotations[i]); + if (error) + return "landmarkAnnotations." + error; + } + } + if (message.logoAnnotations != null && message.hasOwnProperty("logoAnnotations")) { + if (!Array.isArray(message.logoAnnotations)) + return "logoAnnotations: array expected"; + for (var i = 0; i < message.logoAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.logoAnnotations[i]); + if (error) + return "logoAnnotations." + error; + } + } + if (message.labelAnnotations != null && message.hasOwnProperty("labelAnnotations")) { + if (!Array.isArray(message.labelAnnotations)) + return "labelAnnotations: array expected"; + for (var i = 0; i < message.labelAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.labelAnnotations[i]); + if (error) + return "labelAnnotations." + error; + } + } + if (message.localizedObjectAnnotations != null && message.hasOwnProperty("localizedObjectAnnotations")) { + if (!Array.isArray(message.localizedObjectAnnotations)) + return "localizedObjectAnnotations: array expected"; + for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.verify(message.localizedObjectAnnotations[i]); + if (error) + return "localizedObjectAnnotations." + error; + } + } + if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) { + if (!Array.isArray(message.textAnnotations)) + return "textAnnotations: array expected"; + for (var i = 0; i < message.textAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.verify(message.textAnnotations[i]); + if (error) + return "textAnnotations." + error; + } + } + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) { + var error = $root.google.cloud.vision.v1p4beta1.TextAnnotation.verify(message.fullTextAnnotation); + if (error) + return "fullTextAnnotation." + error; + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) { + var error = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.verify(message.safeSearchAnnotation); + if (error) + return "safeSearchAnnotation." + error; + } + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageProperties.verify(message.imagePropertiesAnnotation); + if (error) + return "imagePropertiesAnnotation." + error; + } + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) { + var error = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.verify(message.cropHintsAnnotation); + if (error) + return "cropHintsAnnotation." + error; + } + if (message.webDetection != null && message.hasOwnProperty("webDetection")) { + var error = $root.google.cloud.vision.v1p4beta1.WebDetection.verify(message.webDetection); + if (error) + return "webDetection." + error; + } + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) { + var error = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.verify(message.productSearchResults); + if (error) + return "productSearchResults." + error; + } + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + if (message.context != null && message.hasOwnProperty("context")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.verify(message.context); + if (error) + return "context." + error; + } + return null; + }; + + /** + * Creates an AnnotateImageResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.AnnotateImageResponse} AnnotateImageResponse + */ + AnnotateImageResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse(); + if (object.faceAnnotations) { + if (!Array.isArray(object.faceAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.faceAnnotations: array expected"); + message.faceAnnotations = []; + for (var i = 0; i < object.faceAnnotations.length; ++i) { + if (typeof object.faceAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.faceAnnotations: object expected"); + message.faceAnnotations[i] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.fromObject(object.faceAnnotations[i]); + } + } + if (object.landmarkAnnotations) { + if (!Array.isArray(object.landmarkAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.landmarkAnnotations: array expected"); + message.landmarkAnnotations = []; + for (var i = 0; i < object.landmarkAnnotations.length; ++i) { + if (typeof object.landmarkAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.landmarkAnnotations: object expected"); + message.landmarkAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.landmarkAnnotations[i]); + } + } + if (object.logoAnnotations) { + if (!Array.isArray(object.logoAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.logoAnnotations: array expected"); + message.logoAnnotations = []; + for (var i = 0; i < object.logoAnnotations.length; ++i) { + if (typeof object.logoAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.logoAnnotations: object expected"); + message.logoAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.logoAnnotations[i]); + } + } + if (object.labelAnnotations) { + if (!Array.isArray(object.labelAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.labelAnnotations: array expected"); + message.labelAnnotations = []; + for (var i = 0; i < object.labelAnnotations.length; ++i) { + if (typeof object.labelAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.labelAnnotations: object expected"); + message.labelAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.labelAnnotations[i]); + } + } + if (object.localizedObjectAnnotations) { + if (!Array.isArray(object.localizedObjectAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.localizedObjectAnnotations: array expected"); + message.localizedObjectAnnotations = []; + for (var i = 0; i < object.localizedObjectAnnotations.length; ++i) { + if (typeof object.localizedObjectAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.localizedObjectAnnotations: object expected"); + message.localizedObjectAnnotations[i] = $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.fromObject(object.localizedObjectAnnotations[i]); + } + } + if (object.textAnnotations) { + if (!Array.isArray(object.textAnnotations)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.textAnnotations: array expected"); + message.textAnnotations = []; + for (var i = 0; i < object.textAnnotations.length; ++i) { + if (typeof object.textAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.textAnnotations: object expected"); + message.textAnnotations[i] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.fromObject(object.textAnnotations[i]); } } - return null; - }; - - /** - * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse - */ - BatchAnnotateFilesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse(); - if (object.responses) { - if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.responses: array expected"); - message.responses = []; - for (var i = 0; i < object.responses.length; ++i) { - if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.fromObject(object.responses[i]); - } + if (object.fullTextAnnotation != null) { + if (typeof object.fullTextAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.fullTextAnnotation: object expected"); + message.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.fromObject(object.fullTextAnnotation); + } + if (object.safeSearchAnnotation != null) { + if (typeof object.safeSearchAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.safeSearchAnnotation: object expected"); + message.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.fromObject(object.safeSearchAnnotation); + } + if (object.imagePropertiesAnnotation != null) { + if (typeof object.imagePropertiesAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.imagePropertiesAnnotation: object expected"); + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.fromObject(object.imagePropertiesAnnotation); + } + if (object.cropHintsAnnotation != null) { + if (typeof object.cropHintsAnnotation !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.cropHintsAnnotation: object expected"); + message.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.fromObject(object.cropHintsAnnotation); + } + if (object.webDetection != null) { + if (typeof object.webDetection !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.webDetection: object expected"); + message.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.fromObject(object.webDetection); + } + if (object.productSearchResults != null) { + if (typeof object.productSearchResults !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.productSearchResults: object expected"); + message.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.fromObject(object.productSearchResults); + } + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.context != null) { + if (typeof object.context !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateImageResponse.context: object expected"); + message.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.fromObject(object.context); } return message; }; /** - * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateImageResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse * @static - * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} message BatchAnnotateFilesResponse + * @param {google.cloud.vision.v1p4beta1.AnnotateImageResponse} message AnnotateImageResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BatchAnnotateFilesResponse.toObject = function toObject(message, options) { + AnnotateImageResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.responses = []; - if (message.responses && message.responses.length) { - object.responses = []; - for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.toObject(message.responses[j], options); + if (options.arrays || options.defaults) { + object.faceAnnotations = []; + object.landmarkAnnotations = []; + object.logoAnnotations = []; + object.labelAnnotations = []; + object.textAnnotations = []; + object.localizedObjectAnnotations = []; + } + if (options.defaults) { + object.safeSearchAnnotation = null; + object.imagePropertiesAnnotation = null; + object.error = null; + object.cropHintsAnnotation = null; + object.fullTextAnnotation = null; + object.webDetection = null; + object.productSearchResults = null; + object.context = null; + } + if (message.faceAnnotations && message.faceAnnotations.length) { + object.faceAnnotations = []; + for (var j = 0; j < message.faceAnnotations.length; ++j) + object.faceAnnotations[j] = $root.google.cloud.vision.v1p4beta1.FaceAnnotation.toObject(message.faceAnnotations[j], options); + } + if (message.landmarkAnnotations && message.landmarkAnnotations.length) { + object.landmarkAnnotations = []; + for (var j = 0; j < message.landmarkAnnotations.length; ++j) + object.landmarkAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.landmarkAnnotations[j], options); + } + if (message.logoAnnotations && message.logoAnnotations.length) { + object.logoAnnotations = []; + for (var j = 0; j < message.logoAnnotations.length; ++j) + object.logoAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.logoAnnotations[j], options); + } + if (message.labelAnnotations && message.labelAnnotations.length) { + object.labelAnnotations = []; + for (var j = 0; j < message.labelAnnotations.length; ++j) + object.labelAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.labelAnnotations[j], options); + } + if (message.textAnnotations && message.textAnnotations.length) { + object.textAnnotations = []; + for (var j = 0; j < message.textAnnotations.length; ++j) + object.textAnnotations[j] = $root.google.cloud.vision.v1p4beta1.EntityAnnotation.toObject(message.textAnnotations[j], options); + } + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + object.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.toObject(message.safeSearchAnnotation, options); + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + object.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.toObject(message.imagePropertiesAnnotation, options); + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + object.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.toObject(message.cropHintsAnnotation, options); + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + object.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.toObject(message.fullTextAnnotation, options); + if (message.webDetection != null && message.hasOwnProperty("webDetection")) + object.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.toObject(message.webDetection, options); + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + object.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.toObject(message.productSearchResults, options); + if (message.context != null && message.hasOwnProperty("context")) + object.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.toObject(message.context, options); + if (message.localizedObjectAnnotations && message.localizedObjectAnnotations.length) { + object.localizedObjectAnnotations = []; + for (var j = 0; j < message.localizedObjectAnnotations.length; ++j) + object.localizedObjectAnnotations[j] = $root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.toObject(message.localizedObjectAnnotations[j], options); } return object; }; /** - * Converts this BatchAnnotateFilesResponse to JSON. + * Converts this AnnotateImageResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse * @instance * @returns {Object.} JSON object */ - BatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + AnnotateImageResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BatchAnnotateFilesResponse; + return AnnotateImageResponse; })(); - v1p4beta1.AsyncAnnotateFileRequest = (function() { + v1p4beta1.BatchAnnotateImagesRequest = (function() { /** - * Properties of an AsyncAnnotateFileRequest. + * Properties of a BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAsyncAnnotateFileRequest - * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig - * @property {Array.|null} [features] AsyncAnnotateFileRequest features - * @property {google.cloud.vision.v1p4beta1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext - * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig + * @interface IBatchAnnotateImagesRequest + * @property {Array.|null} [requests] BatchAnnotateImagesRequest requests */ /** - * Constructs a new AsyncAnnotateFileRequest. + * Constructs a new BatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AsyncAnnotateFileRequest. - * @implements IAsyncAnnotateFileRequest + * @classdesc Represents a BatchAnnotateImagesRequest. + * @implements IBatchAnnotateImagesRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set */ - function AsyncAnnotateFileRequest(properties) { - this.features = []; + function BatchAnnotateImagesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -81449,117 +81571,78 @@ } /** - * AsyncAnnotateFileRequest inputConfig. - * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest - * @instance - */ - AsyncAnnotateFileRequest.prototype.inputConfig = null; - - /** - * AsyncAnnotateFileRequest features. - * @member {Array.} features - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest - * @instance - */ - AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; - - /** - * AsyncAnnotateFileRequest imageContext. - * @member {google.cloud.vision.v1p4beta1.IImageContext|null|undefined} imageContext - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest - * @instance - */ - AsyncAnnotateFileRequest.prototype.imageContext = null; - - /** - * AsyncAnnotateFileRequest outputConfig. - * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * BatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @instance */ - AsyncAnnotateFileRequest.prototype.outputConfig = null; + BatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new AsyncAnnotateFileRequest instance using the specified properties. + * Creates a new BatchAnnotateImagesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest instance */ - AsyncAnnotateFileRequest.create = function create(properties) { - return new AsyncAnnotateFileRequest(properties); + BatchAnnotateImagesRequest.create = function create(properties) { + return new BatchAnnotateImagesRequest(properties); }; /** - * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileRequest.encode = function encode(message, writer) { + BatchAnnotateImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.features != null && message.features.length) - for (var i = 0; i < message.features.length; ++i) - $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest} message BatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileRequest.decode = function decode(reader, length) { + BatchAnnotateImagesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -81570,165 +81653,125 @@ }; /** - * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncAnnotateFileRequest message. + * Verifies a BatchAnnotateImagesRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncAnnotateFileRequest.verify = function verify(message) { + BatchAnnotateImagesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { - var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); - if (error) - return "inputConfig." + error; - } - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (var i = 0; i < message.features.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.Feature.verify(message.features[i]); + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify(message.requests[i]); if (error) - return "features." + error; + return "requests." + error; } } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) { - var error = $root.google.cloud.vision.v1p4beta1.ImageContext.verify(message.imageContext); - if (error) - return "imageContext." + error; - } - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); - if (error) - return "outputConfig." + error; - } return null; }; /** - * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} BatchAnnotateImagesRequest */ - AsyncAnnotateFileRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest) + BatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest(); - if (object.inputConfig != null) { - if (typeof object.inputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.inputConfig: object expected"); - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); - } - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.features: array expected"); - message.features = []; - for (var i = 0; i < object.features.length; ++i) { - if (typeof object.features[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.features: object expected"); - message.features[i] = $root.google.cloud.vision.v1p4beta1.Feature.fromObject(object.features[i]); + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.fromObject(object.requests[i]); } } - if (object.imageContext != null) { - if (typeof object.imageContext !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.imageContext: object expected"); - message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.fromObject(object.imageContext); - } - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); - } return message; }; /** - * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest} message BatchAnnotateImagesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncAnnotateFileRequest.toObject = function toObject(message, options) { + BatchAnnotateImagesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.features = []; - if (options.defaults) { - object.inputConfig = null; - object.imageContext = null; - object.outputConfig = null; - } - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) - object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); - if (message.features && message.features.length) { - object.features = []; - for (var j = 0; j < message.features.length; ++j) - object.features[j] = $root.google.cloud.vision.v1p4beta1.Feature.toObject(message.features[j], options); + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.toObject(message.requests[j], options); } - if (message.imageContext != null && message.hasOwnProperty("imageContext")) - object.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.toObject(message.imageContext, options); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this AsyncAnnotateFileRequest to JSON. + * Converts this BatchAnnotateImagesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest * @instance * @returns {Object.} JSON object */ - AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { + BatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncAnnotateFileRequest; + return BatchAnnotateImagesRequest; })(); - v1p4beta1.AsyncAnnotateFileResponse = (function() { + v1p4beta1.BatchAnnotateImagesResponse = (function() { /** - * Properties of an AsyncAnnotateFileResponse. + * Properties of a BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAsyncAnnotateFileResponse - * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig + * @interface IBatchAnnotateImagesResponse + * @property {Array.|null} [responses] BatchAnnotateImagesResponse responses */ /** - * Constructs a new AsyncAnnotateFileResponse. + * Constructs a new BatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AsyncAnnotateFileResponse. - * @implements IAsyncAnnotateFileResponse + * @classdesc Represents a BatchAnnotateImagesResponse. + * @implements IBatchAnnotateImagesResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set */ - function AsyncAnnotateFileResponse(properties) { + function BatchAnnotateImagesResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -81736,75 +81779,78 @@ } /** - * AsyncAnnotateFileResponse outputConfig. - * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * BatchAnnotateImagesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @instance */ - AsyncAnnotateFileResponse.prototype.outputConfig = null; + BatchAnnotateImagesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new AsyncAnnotateFileResponse instance using the specified properties. + * Creates a new BatchAnnotateImagesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse instance */ - AsyncAnnotateFileResponse.create = function create(properties) { - return new AsyncAnnotateFileResponse(properties); + BatchAnnotateImagesResponse.create = function create(properties) { + return new BatchAnnotateImagesResponse(properties); }; /** - * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileResponse.encode = function encode(message, writer) { + BatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse} message BatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileResponse.decode = function decode(reader, length) { + BatchAnnotateImagesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -81815,114 +81861,129 @@ }; /** - * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncAnnotateFileResponse message. + * Verifies a BatchAnnotateImagesResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncAnnotateFileResponse.verify = function verify(message) { + BatchAnnotateImagesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); - if (error) - return "outputConfig." + error; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } } return null; }; /** - * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} BatchAnnotateImagesResponse */ - AsyncAnnotateFileResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse) + BatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse(); - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } } return message; }; /** - * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateImagesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse} message BatchAnnotateImagesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncAnnotateFileResponse.toObject = function toObject(message, options) { + BatchAnnotateImagesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.outputConfig = null; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } return object; }; /** - * Converts this AsyncAnnotateFileResponse to JSON. + * Converts this BatchAnnotateImagesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse * @instance * @returns {Object.} JSON object */ - AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { + BatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncAnnotateFileResponse; + return BatchAnnotateImagesResponse; })(); - v1p4beta1.AsyncBatchAnnotateImagesRequest = (function() { + v1p4beta1.AnnotateFileRequest = (function() { /** - * Properties of an AsyncBatchAnnotateImagesRequest. + * Properties of an AnnotateFileRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAsyncBatchAnnotateImagesRequest - * @property {Array.|null} [requests] AsyncBatchAnnotateImagesRequest requests - * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesRequest outputConfig + * @interface IAnnotateFileRequest + * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AnnotateFileRequest inputConfig + * @property {Array.|null} [features] AnnotateFileRequest features + * @property {google.cloud.vision.v1p4beta1.IImageContext|null} [imageContext] AnnotateFileRequest imageContext + * @property {Array.|null} [pages] AnnotateFileRequest pages */ /** - * Constructs a new AsyncBatchAnnotateImagesRequest. + * Constructs a new AnnotateFileRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AsyncBatchAnnotateImagesRequest. - * @implements IAsyncBatchAnnotateImagesRequest + * @classdesc Represents an AnnotateFileRequest. + * @implements IAnnotateFileRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest=} [properties] Properties to set */ - function AsyncBatchAnnotateImagesRequest(properties) { - this.requests = []; + function AnnotateFileRequest(properties) { + this.features = []; + this.pages = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -81930,91 +81991,128 @@ } /** - * AsyncBatchAnnotateImagesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * AnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @instance */ - AsyncBatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; + AnnotateFileRequest.prototype.inputConfig = null; /** - * AsyncBatchAnnotateImagesRequest outputConfig. - * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * AnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @instance */ - AsyncBatchAnnotateImagesRequest.prototype.outputConfig = null; + AnnotateFileRequest.prototype.features = $util.emptyArray; /** - * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. + * AnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1p4beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.imageContext = null; + + /** + * AnnotateFileRequest pages. + * @member {Array.} pages + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @instance + */ + AnnotateFileRequest.prototype.pages = $util.emptyArray; + + /** + * Creates a new AnnotateFileRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest instance + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest instance */ - AsyncBatchAnnotateImagesRequest.create = function create(properties) { - return new AsyncBatchAnnotateImagesRequest(properties); + AnnotateFileRequest.create = function create(properties) { + return new AnnotateFileRequest(properties); }; /** - * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified AnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateImagesRequest.encode = function encode(message, writer) { + AnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.requests != null && message.requests.length) - for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.pages != null && message.pages.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.pages.length; ++i) + writer.int32(message.pages[i]); + writer.ldelim(); + } return writer; }; /** - * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. + * Encodes the specified AnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileRequest} message AnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. + * Decodes an AnnotateFileRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateImagesRequest.decode = function decode(reader, length) { + AnnotateFileRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); break; case 2: - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + if (!(message.pages && message.pages.length)) + message.pages = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.pages.push(reader.int32()); + } else + message.pages.push(reader.int32()); break; default: reader.skipType(tag & 7); @@ -82025,138 +82123,177 @@ }; /** - * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. + * Decodes an AnnotateFileRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { + AnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateImagesRequest message. + * Verifies an AnnotateFileRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateImagesRequest.verify = function verify(message) { + AnnotateFileRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.requests != null && message.hasOwnProperty("requests")) { - if (!Array.isArray(message.requests)) - return "requests: array expected"; - for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify(message.requests[i]); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); + if (error) + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Feature.verify(message.features[i]); if (error) - return "requests." + error; + return "features." + error; } } - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageContext.verify(message.imageContext); if (error) - return "outputConfig." + error; + return "imageContext." + error; + } + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) + if (!$util.isInteger(message.pages[i])) + return "pages: integer[] expected"; } return null; }; /** - * Creates an AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateFileRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileRequest} AnnotateFileRequest */ - AsyncBatchAnnotateImagesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest) + AnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest(); - if (object.requests) { - if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.requests: array expected"); - message.requests = []; - for (var i = 0; i < object.requests.length; ++i) { - if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.fromObject(object.requests[i]); + var message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p4beta1.Feature.fromObject(object.features[i]); } } - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.fromObject(object.imageContext); + } + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileRequest.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) + message.pages[i] = object.pages[i] | 0; } return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateFileRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @static - * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest + * @param {google.cloud.vision.v1p4beta1.AnnotateFileRequest} message AnnotateFileRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateImagesRequest.toObject = function toObject(message, options) { + AnnotateFileRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.requests = []; - if (options.defaults) - object.outputConfig = null; - if (message.requests && message.requests.length) { - object.requests = []; - for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.toObject(message.requests[j], options); + if (options.arrays || options.defaults) { + object.features = []; + object.pages = []; + } + if (options.defaults) { + object.inputConfig = null; + object.imageContext = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p4beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.toObject(message.imageContext, options); + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = message.pages[j]; } - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this AsyncBatchAnnotateImagesRequest to JSON. + * Converts this AnnotateFileRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest * @instance * @returns {Object.} JSON object */ - AsyncBatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { + AnnotateFileRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncBatchAnnotateImagesRequest; + return AnnotateFileRequest; })(); - v1p4beta1.AsyncBatchAnnotateImagesResponse = (function() { + v1p4beta1.AnnotateFileResponse = (function() { /** - * Properties of an AsyncBatchAnnotateImagesResponse. + * Properties of an AnnotateFileResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAsyncBatchAnnotateImagesResponse - * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesResponse outputConfig + * @interface IAnnotateFileResponse + * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AnnotateFileResponse inputConfig + * @property {Array.|null} [responses] AnnotateFileResponse responses + * @property {number|null} [totalPages] AnnotateFileResponse totalPages + * @property {google.rpc.IStatus|null} [error] AnnotateFileResponse error */ /** - * Constructs a new AsyncBatchAnnotateImagesResponse. + * Constructs a new AnnotateFileResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AsyncBatchAnnotateImagesResponse. - * @implements IAsyncBatchAnnotateImagesResponse + * @classdesc Represents an AnnotateFileResponse. + * @implements IAnnotateFileResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set */ - function AsyncBatchAnnotateImagesResponse(properties) { + function AnnotateFileResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -82164,75 +82301,117 @@ } /** - * AsyncBatchAnnotateImagesResponse outputConfig. - * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * AnnotateFileResponse inputConfig. + * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @instance */ - AsyncBatchAnnotateImagesResponse.prototype.outputConfig = null; + AnnotateFileResponse.prototype.inputConfig = null; /** - * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. + * AnnotateFileResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.responses = $util.emptyArray; + + /** + * AnnotateFileResponse totalPages. + * @member {number} totalPages + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.totalPages = 0; + + /** + * AnnotateFileResponse error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @instance + */ + AnnotateFileResponse.prototype.error = null; + + /** + * Creates a new AnnotateFileResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse instance + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse instance */ - AsyncBatchAnnotateImagesResponse.create = function create(properties) { - return new AsyncBatchAnnotateImagesResponse(properties); + AnnotateFileResponse.create = function create(properties) { + return new AnnotateFileResponse(properties); }; /** - * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified AnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { + AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); + if (message.error != null && message.hasOwnProperty("error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. + * Encodes the specified AnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAnnotateFileResponse} message AnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { + AnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. + * Decodes an AnnotateFileResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateImagesResponse.decode = function decode(reader, length) { + AnnotateFileResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + case 3: + message.totalPages = reader.int32(); + break; + case 4: + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -82243,112 +82422,160 @@ }; /** - * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. + * Decodes an AnnotateFileResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { + AnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateImagesResponse message. + * Verifies an AnnotateFileResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateImagesResponse.verify = function verify(message) { + AnnotateFileResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { - var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); if (error) - return "outputConfig." + error; + return "inputConfig." + error; + } + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + if (!$util.isInteger(message.totalPages)) + return "totalPages: integer expected"; + if (message.error != null && message.hasOwnProperty("error")) { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; } return null; }; /** - * Creates an AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. + * Creates an AnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse + * @returns {google.cloud.vision.v1p4beta1.AnnotateFileResponse} AnnotateFileResponse */ - AsyncBatchAnnotateImagesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse) + AnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse(); - if (object.outputConfig != null) { - if (typeof object.outputConfig !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.outputConfig: object expected"); - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); + var message = new $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.fromObject(object.responses[i]); + } + } + if (object.totalPages != null) + message.totalPages = object.totalPages | 0; + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AnnotateFileResponse.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); } return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. + * Creates a plain object from an AnnotateFileResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse + * @param {google.cloud.vision.v1p4beta1.AnnotateFileResponse} message AnnotateFileResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateImagesResponse.toObject = function toObject(message, options) { + AnnotateFileResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.outputConfig = null; - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) - object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); + if (options.arrays || options.defaults) + object.responses = []; + if (options.defaults) { + object.inputConfig = null; + object.totalPages = 0; + object.error = null; + } + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.toObject(message.responses[j], options); + } + if (message.totalPages != null && message.hasOwnProperty("totalPages")) + object.totalPages = message.totalPages; + if (message.error != null && message.hasOwnProperty("error")) + object.error = $root.google.rpc.Status.toObject(message.error, options); return object; }; /** - * Converts this AsyncBatchAnnotateImagesResponse to JSON. + * Converts this AnnotateFileResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse * @instance * @returns {Object.} JSON object */ - AsyncBatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { + AnnotateFileResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncBatchAnnotateImagesResponse; + return AnnotateFileResponse; })(); - v1p4beta1.AsyncBatchAnnotateFilesRequest = (function() { + v1p4beta1.BatchAnnotateFilesRequest = (function() { /** - * Properties of an AsyncBatchAnnotateFilesRequest. + * Properties of a BatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAsyncBatchAnnotateFilesRequest - * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests + * @interface IBatchAnnotateFilesRequest + * @property {Array.|null} [requests] BatchAnnotateFilesRequest requests */ /** - * Constructs a new AsyncBatchAnnotateFilesRequest. + * Constructs a new BatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AsyncBatchAnnotateFilesRequest. - * @implements IAsyncBatchAnnotateFilesRequest + * @classdesc Represents a BatchAnnotateFilesRequest. + * @implements IBatchAnnotateFilesRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set */ - function AsyncBatchAnnotateFilesRequest(properties) { + function BatchAnnotateFilesRequest(properties) { this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -82357,78 +82584,78 @@ } /** - * AsyncBatchAnnotateFilesRequest requests. - * @member {Array.} requests - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * BatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @instance */ - AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; + BatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. + * Creates a new BatchAnnotateFilesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest instance */ - AsyncBatchAnnotateFilesRequest.create = function create(properties) { - return new AsyncBatchAnnotateFilesRequest(properties); + BatchAnnotateFilesRequest.create = function create(properties) { + return new BatchAnnotateFilesRequest(properties); }; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { + BatchAnnotateFilesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) - $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest} message BatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { + BatchAnnotateFilesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.requests && message.requests.length)) message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -82439,37 +82666,37 @@ }; /** - * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateFilesRequest message. + * Verifies a BatchAnnotateFilesRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateFilesRequest.verify = function verify(message) { + BatchAnnotateFilesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.requests != null && message.hasOwnProperty("requests")) { if (!Array.isArray(message.requests)) return "requests: array expected"; for (var i = 0; i < message.requests.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify(message.requests[i]); + var error = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.verify(message.requests[i]); if (error) return "requests." + error; } @@ -82478,40 +82705,40 @@ }; /** - * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} BatchAnnotateFilesRequest */ - AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest) + BatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest(); + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest(); if (object.requests) { if (!Array.isArray(object.requests)) - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: array expected"); message.requests = []; for (var i = 0; i < object.requests.length; ++i) { if (typeof object.requests[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.requests: object expected"); - message.requests[i] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.fromObject(object.requests[i]); } } return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateFilesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest} message BatchAnnotateFilesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { + BatchAnnotateFilesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -82520,43 +82747,43 @@ if (message.requests && message.requests.length) { object.requests = []; for (var j = 0; j < message.requests.length; ++j) - object.requests[j] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.toObject(message.requests[j], options); } return object; }; /** - * Converts this AsyncBatchAnnotateFilesRequest to JSON. + * Converts this BatchAnnotateFilesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest * @instance * @returns {Object.} JSON object */ - AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { + BatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncBatchAnnotateFilesRequest; + return BatchAnnotateFilesRequest; })(); - v1p4beta1.AsyncBatchAnnotateFilesResponse = (function() { + v1p4beta1.BatchAnnotateFilesResponse = (function() { /** - * Properties of an AsyncBatchAnnotateFilesResponse. + * Properties of a BatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IAsyncBatchAnnotateFilesResponse - * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses + * @interface IBatchAnnotateFilesResponse + * @property {Array.|null} [responses] BatchAnnotateFilesResponse responses */ /** - * Constructs a new AsyncBatchAnnotateFilesResponse. + * Constructs a new BatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an AsyncBatchAnnotateFilesResponse. - * @implements IAsyncBatchAnnotateFilesResponse + * @classdesc Represents a BatchAnnotateFilesResponse. + * @implements IBatchAnnotateFilesResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set */ - function AsyncBatchAnnotateFilesResponse(properties) { + function BatchAnnotateFilesResponse(properties) { this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -82565,78 +82792,78 @@ } /** - * AsyncBatchAnnotateFilesResponse responses. - * @member {Array.} responses - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * BatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @instance */ - AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; + BatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. + * Creates a new BatchAnnotateFilesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse instance */ - AsyncBatchAnnotateFilesResponse.create = function create(properties) { - return new AsyncBatchAnnotateFilesResponse(properties); + BatchAnnotateFilesResponse.create = function create(properties) { + return new BatchAnnotateFilesResponse(properties); }; /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { + BatchAnnotateFilesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) - $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. + * Encodes the specified BatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse} message BatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { + BatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { + BatchAnnotateFilesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.responses && message.responses.length)) message.responses = []; - message.responses.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -82647,37 +82874,37 @@ }; /** - * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. + * Decodes a BatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { + BatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an AsyncBatchAnnotateFilesResponse message. + * Verifies a BatchAnnotateFilesResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsyncBatchAnnotateFilesResponse.verify = function verify(message) { + BatchAnnotateFilesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.responses != null && message.hasOwnProperty("responses")) { if (!Array.isArray(message.responses)) return "responses: array expected"; for (var i = 0; i < message.responses.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify(message.responses[i]); + var error = $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.verify(message.responses[i]); if (error) return "responses." + error; } @@ -82686,40 +82913,40 @@ }; /** - * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a BatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse + * @returns {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} BatchAnnotateFilesResponse */ - AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse) + BatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse(); + var message = new $root.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse(); if (object.responses) { if (!Array.isArray(object.responses)) - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.responses: array expected"); + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.responses: array expected"); message.responses = []; for (var i = 0; i < object.responses.length; ++i) { if (typeof object.responses[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.responses: object expected"); - message.responses[i] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + throw TypeError(".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.fromObject(object.responses[i]); } } return message; }; /** - * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. + * Creates a plain object from a BatchAnnotateFilesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse + * @param {google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse} message BatchAnnotateFilesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { + BatchAnnotateFilesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -82728,45 +82955,47 @@ if (message.responses && message.responses.length) { object.responses = []; for (var j = 0; j < message.responses.length; ++j) - object.responses[j] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); + object.responses[j] = $root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.toObject(message.responses[j], options); } return object; }; /** - * Converts this AsyncBatchAnnotateFilesResponse to JSON. + * Converts this BatchAnnotateFilesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse * @instance * @returns {Object.} JSON object */ - AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { + BatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return AsyncBatchAnnotateFilesResponse; + return BatchAnnotateFilesResponse; })(); - v1p4beta1.InputConfig = (function() { + v1p4beta1.AsyncAnnotateFileRequest = (function() { /** - * Properties of an InputConfig. + * Properties of an AsyncAnnotateFileRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IInputConfig - * @property {google.cloud.vision.v1p4beta1.IGcsSource|null} [gcsSource] InputConfig gcsSource - * @property {Uint8Array|null} [content] InputConfig content - * @property {string|null} [mimeType] InputConfig mimeType + * @interface IAsyncAnnotateFileRequest + * @property {google.cloud.vision.v1p4beta1.IInputConfig|null} [inputConfig] AsyncAnnotateFileRequest inputConfig + * @property {Array.|null} [features] AsyncAnnotateFileRequest features + * @property {google.cloud.vision.v1p4beta1.IImageContext|null} [imageContext] AsyncAnnotateFileRequest imageContext + * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileRequest outputConfig */ /** - * Constructs a new InputConfig. + * Constructs a new AsyncAnnotateFileRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an InputConfig. - * @implements IInputConfig + * @classdesc Represents an AsyncAnnotateFileRequest. + * @implements IAsyncAnnotateFileRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IInputConfig=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set */ - function InputConfig(properties) { + function AsyncAnnotateFileRequest(properties) { + this.features = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -82774,333 +83003,117 @@ } /** - * InputConfig gcsSource. - * @member {google.cloud.vision.v1p4beta1.IGcsSource|null|undefined} gcsSource - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @instance - */ - InputConfig.prototype.gcsSource = null; - - /** - * InputConfig content. - * @member {Uint8Array} content - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @instance - */ - InputConfig.prototype.content = $util.newBuffer([]); - - /** - * InputConfig mimeType. - * @member {string} mimeType - * @memberof google.cloud.vision.v1p4beta1.InputConfig + * AsyncAnnotateFileRequest inputConfig. + * @member {google.cloud.vision.v1p4beta1.IInputConfig|null|undefined} inputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @instance */ - InputConfig.prototype.mimeType = ""; - - /** - * Creates a new InputConfig instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @static - * @param {google.cloud.vision.v1p4beta1.IInputConfig=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig instance - */ - InputConfig.create = function create(properties) { - return new InputConfig(properties); - }; - - /** - * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @static - * @param {google.cloud.vision.v1p4beta1.IInputConfig} message InputConfig message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InputConfig.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) - $root.google.cloud.vision.v1p4beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); - if (message.content != null && message.hasOwnProperty("content")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); - return writer; - }; - - /** - * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @static - * @param {google.cloud.vision.v1p4beta1.IInputConfig} message InputConfig message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InputConfig.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an InputConfig message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InputConfig.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.InputConfig(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.decode(reader, reader.uint32()); - break; - case 3: - message.content = reader.bytes(); - break; - case 2: - message.mimeType = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an InputConfig message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InputConfig.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an InputConfig message. - * @function verify - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - InputConfig.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { - var error = $root.google.cloud.vision.v1p4beta1.GcsSource.verify(message.gcsSource); - if (error) - return "gcsSource." + error; - } - if (message.content != null && message.hasOwnProperty("content")) - if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) - return "content: buffer expected"; - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - if (!$util.isString(message.mimeType)) - return "mimeType: string expected"; - return null; - }; - - /** - * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig - */ - InputConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.InputConfig) - return object; - var message = new $root.google.cloud.vision.v1p4beta1.InputConfig(); - if (object.gcsSource != null) { - if (typeof object.gcsSource !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.InputConfig.gcsSource: object expected"); - message.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.fromObject(object.gcsSource); - } - if (object.content != null) - if (typeof object.content === "string") - $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) - message.content = object.content; - if (object.mimeType != null) - message.mimeType = String(object.mimeType); - return message; - }; - - /** - * Creates a plain object from an InputConfig message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p4beta1.InputConfig - * @static - * @param {google.cloud.vision.v1p4beta1.InputConfig} message InputConfig - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - InputConfig.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.gcsSource = null; - object.mimeType = ""; - if (options.bytes === String) - object.content = ""; - else { - object.content = []; - if (options.bytes !== Array) - object.content = $util.newBuffer(object.content); - } - } - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) - object.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.toObject(message.gcsSource, options); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) - object.mimeType = message.mimeType; - if (message.content != null && message.hasOwnProperty("content")) - object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; - return object; - }; + AsyncAnnotateFileRequest.prototype.inputConfig = null; /** - * Converts this InputConfig to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.InputConfig + * AsyncAnnotateFileRequest features. + * @member {Array.} features + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @instance - * @returns {Object.} JSON object - */ - InputConfig.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return InputConfig; - })(); - - v1p4beta1.OutputConfig = (function() { - - /** - * Properties of an OutputConfig. - * @memberof google.cloud.vision.v1p4beta1 - * @interface IOutputConfig - * @property {google.cloud.vision.v1p4beta1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination - * @property {number|null} [batchSize] OutputConfig batchSize - */ - - /** - * Constructs a new OutputConfig. - * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an OutputConfig. - * @implements IOutputConfig - * @constructor - * @param {google.cloud.vision.v1p4beta1.IOutputConfig=} [properties] Properties to set */ - function OutputConfig(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]]; - } + AsyncAnnotateFileRequest.prototype.features = $util.emptyArray; /** - * OutputConfig gcsDestination. - * @member {google.cloud.vision.v1p4beta1.IGcsDestination|null|undefined} gcsDestination - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * AsyncAnnotateFileRequest imageContext. + * @member {google.cloud.vision.v1p4beta1.IImageContext|null|undefined} imageContext + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @instance */ - OutputConfig.prototype.gcsDestination = null; + AsyncAnnotateFileRequest.prototype.imageContext = null; - /** - * OutputConfig batchSize. - * @member {number} batchSize - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + /** + * AsyncAnnotateFileRequest outputConfig. + * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @instance */ - OutputConfig.prototype.batchSize = 0; + AsyncAnnotateFileRequest.prototype.outputConfig = null; /** - * Creates a new OutputConfig instance using the specified properties. + * Creates a new AsyncAnnotateFileRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p4beta1.IOutputConfig=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig instance + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest instance */ - OutputConfig.create = function create(properties) { - return new OutputConfig(properties); + AsyncAnnotateFileRequest.create = function create(properties) { + return new AsyncAnnotateFileRequest(properties); }; /** - * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p4beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OutputConfig.encode = function encode(message, writer) { + AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) - $root.google.cloud.vision.v1p4beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.features != null && message.features.length) + for (var i = 0; i < message.features.length; ++i) + $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p4beta1.IOutputConfig} message OutputConfig message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileRequest} message AsyncAnnotateFileRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { + AsyncAnnotateFileRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OutputConfig message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OutputConfig.decode = function decode(reader, length) { + AsyncAnnotateFileRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.OutputConfig(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.decode(reader, reader.uint32()); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); break; case 2: - message.batchSize = reader.int32(); + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); + break; + case 3: + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + break; + case 4: + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -83111,121 +83124,165 @@ }; /** - * Decodes an OutputConfig message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OutputConfig.decodeDelimited = function decodeDelimited(reader) { + AsyncAnnotateFileRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OutputConfig message. + * Verifies an AsyncAnnotateFileRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OutputConfig.verify = function verify(message) { + AsyncAnnotateFileRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { - var error = $root.google.cloud.vision.v1p4beta1.GcsDestination.verify(message.gcsDestination); + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.InputConfig.verify(message.inputConfig); if (error) - return "gcsDestination." + error; + return "inputConfig." + error; + } + if (message.features != null && message.hasOwnProperty("features")) { + if (!Array.isArray(message.features)) + return "features: array expected"; + for (var i = 0; i < message.features.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.Feature.verify(message.features[i]); + if (error) + return "features." + error; + } + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) { + var error = $root.google.cloud.vision.v1p4beta1.ImageContext.verify(message.imageContext); + if (error) + return "imageContext." + error; + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; } - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - if (!$util.isInteger(message.batchSize)) - return "batchSize: integer expected"; return null; }; /** - * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} AsyncAnnotateFileRequest */ - OutputConfig.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.OutputConfig) + AsyncAnnotateFileRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.OutputConfig(); - if (object.gcsDestination != null) { - if (typeof object.gcsDestination !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.OutputConfig.gcsDestination: object expected"); - message.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.fromObject(object.gcsDestination); + var message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest(); + if (object.inputConfig != null) { + if (typeof object.inputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.inputConfig: object expected"); + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.fromObject(object.inputConfig); + } + if (object.features) { + if (!Array.isArray(object.features)) + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.features: array expected"); + message.features = []; + for (var i = 0; i < object.features.length; ++i) { + if (typeof object.features[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.features: object expected"); + message.features[i] = $root.google.cloud.vision.v1p4beta1.Feature.fromObject(object.features[i]); + } + } + if (object.imageContext != null) { + if (typeof object.imageContext !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.imageContext: object expected"); + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.fromObject(object.imageContext); + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); } - if (object.batchSize != null) - message.batchSize = object.batchSize | 0; return message; }; /** - * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. + * Creates a plain object from an AsyncAnnotateFileRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @static - * @param {google.cloud.vision.v1p4beta1.OutputConfig} message OutputConfig + * @param {google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} message AsyncAnnotateFileRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OutputConfig.toObject = function toObject(message, options) { + AsyncAnnotateFileRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.features = []; if (options.defaults) { - object.gcsDestination = null; - object.batchSize = 0; + object.inputConfig = null; + object.imageContext = null; + object.outputConfig = null; } - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) - object.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.toObject(message.gcsDestination, options); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) - object.batchSize = message.batchSize; + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + object.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.toObject(message.inputConfig, options); + if (message.features && message.features.length) { + object.features = []; + for (var j = 0; j < message.features.length; ++j) + object.features[j] = $root.google.cloud.vision.v1p4beta1.Feature.toObject(message.features[j], options); + } + if (message.imageContext != null && message.hasOwnProperty("imageContext")) + object.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.toObject(message.imageContext, options); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this OutputConfig to JSON. + * Converts this AsyncAnnotateFileRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest * @instance * @returns {Object.} JSON object */ - OutputConfig.prototype.toJSON = function toJSON() { + AsyncAnnotateFileRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return OutputConfig; + return AsyncAnnotateFileRequest; })(); - v1p4beta1.GcsSource = (function() { + v1p4beta1.AsyncAnnotateFileResponse = (function() { /** - * Properties of a GcsSource. + * Properties of an AsyncAnnotateFileResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IGcsSource - * @property {string|null} [uri] GcsSource uri + * @interface IAsyncAnnotateFileResponse + * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncAnnotateFileResponse outputConfig */ /** - * Constructs a new GcsSource. + * Constructs a new AsyncAnnotateFileResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a GcsSource. - * @implements IGcsSource + * @classdesc Represents an AsyncAnnotateFileResponse. + * @implements IAsyncAnnotateFileResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IGcsSource=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set */ - function GcsSource(properties) { + function AsyncAnnotateFileResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -83233,75 +83290,75 @@ } /** - * GcsSource uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * AsyncAnnotateFileResponse outputConfig. + * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @instance */ - GcsSource.prototype.uri = ""; + AsyncAnnotateFileResponse.prototype.outputConfig = null; /** - * Creates a new GcsSource instance using the specified properties. + * Creates a new AsyncAnnotateFileResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.IGcsSource=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource instance + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse instance */ - GcsSource.create = function create(properties) { - return new GcsSource(properties); + AsyncAnnotateFileResponse.create = function create(properties) { + return new AsyncAnnotateFileResponse(properties); }; /** - * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsSource.encode = function encode(message, writer) { + AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. + * Encodes the specified AsyncAnnotateFileResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.IGcsSource} message GcsSource message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncAnnotateFileResponse} message AsyncAnnotateFileResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsSource.encodeDelimited = function encodeDelimited(message, writer) { + AsyncAnnotateFileResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GcsSource message from the specified reader or buffer. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsSource.decode = function decode(reader, length) { + AsyncAnnotateFileResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GcsSource(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -83312,107 +83369,114 @@ }; /** - * Decodes a GcsSource message from the specified reader or buffer, length delimited. + * Decodes an AsyncAnnotateFileResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsSource.decodeDelimited = function decodeDelimited(reader) { + AsyncAnnotateFileResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GcsSource message. + * Verifies an AsyncAnnotateFileResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsSource.verify = function verify(message) { + AsyncAnnotateFileResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } return null; }; /** - * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncAnnotateFileResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource + * @returns {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} AsyncAnnotateFileResponse */ - GcsSource.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.GcsSource) + AsyncAnnotateFileResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.GcsSource(); - if (object.uri != null) - message.uri = String(object.uri); + var message = new $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); + } return message; }; /** - * Creates a plain object from a GcsSource message. Also converts values to other types if specified. + * Creates a plain object from an AsyncAnnotateFileResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @static - * @param {google.cloud.vision.v1p4beta1.GcsSource} message GcsSource + * @param {google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} message AsyncAnnotateFileResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GcsSource.toObject = function toObject(message, options) { + AsyncAnnotateFileResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) - object.uri = ""; - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this GcsSource to JSON. + * Converts this AsyncAnnotateFileResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse * @instance * @returns {Object.} JSON object */ - GcsSource.prototype.toJSON = function toJSON() { + AsyncAnnotateFileResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GcsSource; + return AsyncAnnotateFileResponse; })(); - v1p4beta1.GcsDestination = (function() { + v1p4beta1.AsyncBatchAnnotateImagesRequest = (function() { /** - * Properties of a GcsDestination. + * Properties of an AsyncBatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IGcsDestination - * @property {string|null} [uri] GcsDestination uri + * @interface IAsyncBatchAnnotateImagesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateImagesRequest requests + * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesRequest outputConfig */ /** - * Constructs a new GcsDestination. + * Constructs a new AsyncBatchAnnotateImagesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a GcsDestination. - * @implements IGcsDestination + * @classdesc Represents an AsyncBatchAnnotateImagesRequest. + * @implements IAsyncBatchAnnotateImagesRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IGcsDestination=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set */ - function GcsDestination(properties) { + function AsyncBatchAnnotateImagesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -83420,75 +83484,91 @@ } /** - * GcsDestination uri. - * @member {string} uri - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * AsyncBatchAnnotateImagesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @instance */ - GcsDestination.prototype.uri = ""; + AsyncBatchAnnotateImagesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new GcsDestination instance using the specified properties. + * AsyncBatchAnnotateImagesRequest outputConfig. + * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @instance + */ + AsyncBatchAnnotateImagesRequest.prototype.outputConfig = null; + + /** + * Creates a new AsyncBatchAnnotateImagesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGcsDestination=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest instance */ - GcsDestination.create = function create(properties) { - return new GcsDestination(properties); + AsyncBatchAnnotateImagesRequest.create = function create(properties) { + return new AsyncBatchAnnotateImagesRequest(properties); }; /** - * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateImagesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsDestination.encode = function encode(message, writer) { + AsyncBatchAnnotateImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateImagesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IGcsDestination} message GcsDestination message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateImagesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GcsDestination message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsDestination.decode = function decode(reader, length) { + AsyncBatchAnnotateImagesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GcsDestination(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.uri = reader.string(); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + case 2: + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -83499,109 +83579,138 @@ }; /** - * Decodes a GcsDestination message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateImagesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GcsDestination.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateImagesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GcsDestination message. + * Verifies an AsyncBatchAnnotateImagesRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GcsDestination.verify = function verify(message) { + AsyncBatchAnnotateImagesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.uri != null && message.hasOwnProperty("uri")) - if (!$util.isString(message.uri)) - return "uri: string expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); + if (error) + return "outputConfig." + error; + } return null; }; /** - * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateImagesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} AsyncBatchAnnotateImagesRequest */ - GcsDestination.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.GcsDestination) + AsyncBatchAnnotateImagesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.GcsDestination(); - if (object.uri != null) - message.uri = String(object.uri); + var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.fromObject(object.requests[i]); + } + } + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); + } return message; }; /** - * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateImagesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @static - * @param {google.cloud.vision.v1p4beta1.GcsDestination} message GcsDestination + * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest} message AsyncBatchAnnotateImagesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GcsDestination.toObject = function toObject(message, options) { + AsyncBatchAnnotateImagesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.requests = []; if (options.defaults) - object.uri = ""; - if (message.uri != null && message.hasOwnProperty("uri")) - object.uri = message.uri; + object.outputConfig = null; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.toObject(message.requests[j], options); + } + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this GcsDestination to JSON. + * Converts this AsyncBatchAnnotateImagesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest * @instance * @returns {Object.} JSON object */ - GcsDestination.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateImagesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GcsDestination; + return AsyncBatchAnnotateImagesRequest; })(); - v1p4beta1.OperationMetadata = (function() { + v1p4beta1.AsyncBatchAnnotateImagesResponse = (function() { /** - * Properties of an OperationMetadata. + * Properties of an AsyncBatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface IOperationMetadata - * @property {google.cloud.vision.v1p4beta1.OperationMetadata.State|null} [state] OperationMetadata state - * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime - * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime + * @interface IAsyncBatchAnnotateImagesResponse + * @property {google.cloud.vision.v1p4beta1.IOutputConfig|null} [outputConfig] AsyncBatchAnnotateImagesResponse outputConfig */ /** - * Constructs a new OperationMetadata. + * Constructs a new AsyncBatchAnnotateImagesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents an OperationMetadata. - * @implements IOperationMetadata + * @classdesc Represents an AsyncBatchAnnotateImagesResponse. + * @implements IAsyncBatchAnnotateImagesResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.IOperationMetadata=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set */ - function OperationMetadata(properties) { + function AsyncBatchAnnotateImagesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -83609,101 +83718,75 @@ } /** - * OperationMetadata state. - * @member {google.cloud.vision.v1p4beta1.OperationMetadata.State} state - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata - * @instance - */ - OperationMetadata.prototype.state = 0; - - /** - * OperationMetadata createTime. - * @member {google.protobuf.ITimestamp|null|undefined} createTime - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata - * @instance - */ - OperationMetadata.prototype.createTime = null; - - /** - * OperationMetadata updateTime. - * @member {google.protobuf.ITimestamp|null|undefined} updateTime - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * AsyncBatchAnnotateImagesResponse outputConfig. + * @member {google.cloud.vision.v1p4beta1.IOutputConfig|null|undefined} outputConfig + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @instance */ - OperationMetadata.prototype.updateTime = null; + AsyncBatchAnnotateImagesResponse.prototype.outputConfig = null; /** - * Creates a new OperationMetadata instance using the specified properties. + * Creates a new AsyncBatchAnnotateImagesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.IOperationMetadata=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse instance */ - OperationMetadata.create = function create(properties) { - return new OperationMetadata(properties); + AsyncBatchAnnotateImagesResponse.create = function create(properties) { + return new AsyncBatchAnnotateImagesResponse(properties); }; /** - * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateImagesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OperationMetadata.encode = function encode(message, writer) { + AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) - $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateImagesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateImagesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an OperationMetadata message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationMetadata.decode = function decode(reader, length) { + AsyncBatchAnnotateImagesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.OperationMetadata(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.state = reader.int32(); - break; - case 5: - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 6: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -83714,183 +83797,113 @@ }; /** - * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateImagesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateImagesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an OperationMetadata message. + * Verifies an AsyncBatchAnnotateImagesResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationMetadata.verify = function verify(message) { + AsyncBatchAnnotateImagesResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; - } - if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); - if (error) - return "createTime." + error; - } - if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) { + var error = $root.google.cloud.vision.v1p4beta1.OutputConfig.verify(message.outputConfig); if (error) - return "updateTime." + error; + return "outputConfig." + error; } return null; }; /** - * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateImagesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} AsyncBatchAnnotateImagesResponse */ - OperationMetadata.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.OperationMetadata) + AsyncBatchAnnotateImagesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.OperationMetadata(); - switch (object.state) { - case "STATE_UNSPECIFIED": - case 0: - message.state = 0; - break; - case "CREATED": - case 1: - message.state = 1; - break; - case "RUNNING": - case 2: - message.state = 2; - break; - case "DONE": - case 3: - message.state = 3; - break; - case "CANCELLED": - case 4: - message.state = 4; - break; - } - if (object.createTime != null) { - if (typeof object.createTime !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.OperationMetadata.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); - } - if (object.updateTime != null) { - if (typeof object.updateTime !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.OperationMetadata.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse(); + if (object.outputConfig != null) { + if (typeof object.outputConfig !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.outputConfig: object expected"); + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.fromObject(object.outputConfig); } return message; }; /** - * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateImagesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @static - * @param {google.cloud.vision.v1p4beta1.OperationMetadata} message OperationMetadata + * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse} message AsyncBatchAnnotateImagesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - OperationMetadata.toObject = function toObject(message, options) { + AsyncBatchAnnotateImagesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; - object.createTime = null; - object.updateTime = null; - } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.OperationMetadata.State[message.state] : message.state; - if (message.createTime != null && message.hasOwnProperty("createTime")) - object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); + if (options.defaults) + object.outputConfig = null; + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + object.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.toObject(message.outputConfig, options); return object; }; /** - * Converts this OperationMetadata to JSON. + * Converts this AsyncBatchAnnotateImagesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse * @instance * @returns {Object.} JSON object */ - OperationMetadata.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateImagesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * State enum. - * @name google.cloud.vision.v1p4beta1.OperationMetadata.State - * @enum {string} - * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value - * @property {number} CREATED=1 CREATED value - * @property {number} RUNNING=2 RUNNING value - * @property {number} DONE=3 DONE value - * @property {number} CANCELLED=4 CANCELLED value - */ - OperationMetadata.State = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; - values[valuesById[1] = "CREATED"] = 1; - values[valuesById[2] = "RUNNING"] = 2; - values[valuesById[3] = "DONE"] = 3; - values[valuesById[4] = "CANCELLED"] = 4; - return values; - })(); - - return OperationMetadata; + return AsyncBatchAnnotateImagesResponse; })(); - v1p4beta1.FaceRecognitionParams = (function() { + v1p4beta1.AsyncBatchAnnotateFilesRequest = (function() { /** - * Properties of a FaceRecognitionParams. + * Properties of an AsyncBatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @interface IFaceRecognitionParams - * @property {Array.|null} [celebritySet] FaceRecognitionParams celebritySet + * @interface IAsyncBatchAnnotateFilesRequest + * @property {Array.|null} [requests] AsyncBatchAnnotateFilesRequest requests */ /** - * Constructs a new FaceRecognitionParams. + * Constructs a new AsyncBatchAnnotateFilesRequest. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a FaceRecognitionParams. - * @implements IFaceRecognitionParams + * @classdesc Represents an AsyncBatchAnnotateFilesRequest. + * @implements IAsyncBatchAnnotateFilesRequest * @constructor - * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set */ - function FaceRecognitionParams(properties) { - this.celebritySet = []; + function AsyncBatchAnnotateFilesRequest(properties) { + this.requests = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -83898,78 +83911,78 @@ } /** - * FaceRecognitionParams celebritySet. - * @member {Array.} celebritySet - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * AsyncBatchAnnotateFilesRequest requests. + * @member {Array.} requests + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @instance */ - FaceRecognitionParams.prototype.celebritySet = $util.emptyArray; + AsyncBatchAnnotateFilesRequest.prototype.requests = $util.emptyArray; /** - * Creates a new FaceRecognitionParams instance using the specified properties. + * Creates a new AsyncBatchAnnotateFilesRequest instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest instance */ - FaceRecognitionParams.create = function create(properties) { - return new FaceRecognitionParams(properties); + AsyncBatchAnnotateFilesRequest.create = function create(properties) { + return new AsyncBatchAnnotateFilesRequest(properties); }; /** - * Encodes the specified FaceRecognitionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesRequest message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams} message FaceRecognitionParams message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceRecognitionParams.encode = function encode(message, writer) { + AsyncBatchAnnotateFilesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.celebritySet != null && message.celebritySet.length) - for (var i = 0; i < message.celebritySet.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.celebritySet[i]); + if (message.requests != null && message.requests.length) + for (var i = 0; i < message.requests.length; ++i) + $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified FaceRecognitionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionParams.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesRequest message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionParams} message FaceRecognitionParams message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceRecognitionParams.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateFilesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FaceRecognitionParams message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceRecognitionParams.decode = function decode(reader, length) { + AsyncBatchAnnotateFilesRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.celebritySet && message.celebritySet.length)) - message.celebritySet = []; - message.celebritySet.push(reader.string()); + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -83980,121 +83993,125 @@ }; /** - * Decodes a FaceRecognitionParams message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceRecognitionParams.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateFilesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FaceRecognitionParams message. + * Verifies an AsyncBatchAnnotateFilesRequest message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FaceRecognitionParams.verify = function verify(message) { + AsyncBatchAnnotateFilesRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.celebritySet != null && message.hasOwnProperty("celebritySet")) { - if (!Array.isArray(message.celebritySet)) - return "celebritySet: array expected"; - for (var i = 0; i < message.celebritySet.length; ++i) - if (!$util.isString(message.celebritySet[i])) - return "celebritySet: string[] expected"; + if (message.requests != null && message.hasOwnProperty("requests")) { + if (!Array.isArray(message.requests)) + return "requests: array expected"; + for (var i = 0; i < message.requests.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.verify(message.requests[i]); + if (error) + return "requests." + error; + } } return null; }; /** - * Creates a FaceRecognitionParams message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionParams} FaceRecognitionParams + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} AsyncBatchAnnotateFilesRequest */ - FaceRecognitionParams.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams) + AsyncBatchAnnotateFilesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest) return object; - var message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams(); - if (object.celebritySet) { - if (!Array.isArray(object.celebritySet)) - throw TypeError(".google.cloud.vision.v1p4beta1.FaceRecognitionParams.celebritySet: array expected"); - message.celebritySet = []; - for (var i = 0; i < object.celebritySet.length; ++i) - message.celebritySet[i] = String(object.celebritySet[i]); + var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest(); + if (object.requests) { + if (!Array.isArray(object.requests)) + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.requests: array expected"); + message.requests = []; + for (var i = 0; i < object.requests.length; ++i) { + if (typeof object.requests[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.requests: object expected"); + message.requests[i] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.fromObject(object.requests[i]); + } } return message; }; /** - * Creates a plain object from a FaceRecognitionParams message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateFilesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @static - * @param {google.cloud.vision.v1p4beta1.FaceRecognitionParams} message FaceRecognitionParams + * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest} message AsyncBatchAnnotateFilesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FaceRecognitionParams.toObject = function toObject(message, options) { + AsyncBatchAnnotateFilesRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.celebritySet = []; - if (message.celebritySet && message.celebritySet.length) { - object.celebritySet = []; - for (var j = 0; j < message.celebritySet.length; ++j) - object.celebritySet[j] = message.celebritySet[j]; + object.requests = []; + if (message.requests && message.requests.length) { + object.requests = []; + for (var j = 0; j < message.requests.length; ++j) + object.requests[j] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.toObject(message.requests[j], options); } return object; }; /** - * Converts this FaceRecognitionParams to JSON. + * Converts this AsyncBatchAnnotateFilesRequest to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest * @instance * @returns {Object.} JSON object */ - FaceRecognitionParams.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateFilesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return FaceRecognitionParams; + return AsyncBatchAnnotateFilesRequest; })(); - v1p4beta1.Celebrity = (function() { + v1p4beta1.AsyncBatchAnnotateFilesResponse = (function() { /** - * Properties of a Celebrity. + * Properties of an AsyncBatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @interface ICelebrity - * @property {string|null} [name] Celebrity name - * @property {string|null} [displayName] Celebrity displayName - * @property {string|null} [description] Celebrity description + * @interface IAsyncBatchAnnotateFilesResponse + * @property {Array.|null} [responses] AsyncBatchAnnotateFilesResponse responses */ /** - * Constructs a new Celebrity. + * Constructs a new AsyncBatchAnnotateFilesResponse. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a Celebrity. - * @implements ICelebrity + * @classdesc Represents an AsyncBatchAnnotateFilesResponse. + * @implements IAsyncBatchAnnotateFilesResponse * @constructor - * @param {google.cloud.vision.v1p4beta1.ICelebrity=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set */ - function Celebrity(properties) { + function AsyncBatchAnnotateFilesResponse(properties) { + this.responses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -84102,101 +84119,78 @@ } /** - * Celebrity name. - * @member {string} name - * @memberof google.cloud.vision.v1p4beta1.Celebrity - * @instance - */ - Celebrity.prototype.name = ""; - - /** - * Celebrity displayName. - * @member {string} displayName - * @memberof google.cloud.vision.v1p4beta1.Celebrity - * @instance - */ - Celebrity.prototype.displayName = ""; - - /** - * Celebrity description. - * @member {string} description - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * AsyncBatchAnnotateFilesResponse responses. + * @member {Array.} responses + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @instance */ - Celebrity.prototype.description = ""; + AsyncBatchAnnotateFilesResponse.prototype.responses = $util.emptyArray; /** - * Creates a new Celebrity instance using the specified properties. + * Creates a new AsyncBatchAnnotateFilesResponse instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICelebrity=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity instance + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse instance */ - Celebrity.create = function create(properties) { - return new Celebrity(properties); + AsyncBatchAnnotateFilesResponse.create = function create(properties) { + return new AsyncBatchAnnotateFilesResponse(properties); }; /** - * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesResponse message. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICelebrity} message Celebrity message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Celebrity.encode = function encode(message, writer) { + AsyncBatchAnnotateFilesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.responses != null && message.responses.length) + for (var i = 0; i < message.responses.length; ++i) + $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.encode(message.responses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Celebrity.verify|verify} messages. + * Encodes the specified AsyncBatchAnnotateFilesResponse message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p4beta1.ICelebrity} message Celebrity message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Celebrity.encodeDelimited = function encodeDelimited(message, writer) { + AsyncBatchAnnotateFilesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Celebrity message from the specified reader or buffer. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Celebrity.decode = function decode(reader, length) { + AsyncBatchAnnotateFilesResponse.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Celebrity(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.name = reader.string(); - break; - case 2: - message.displayName = reader.string(); - break; - case 3: - message.description = reader.string(); + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -84207,125 +84201,126 @@ }; /** - * Decodes a Celebrity message from the specified reader or buffer, length delimited. + * Decodes an AsyncBatchAnnotateFilesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Celebrity.decodeDelimited = function decodeDelimited(reader) { + AsyncBatchAnnotateFilesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Celebrity message. + * Verifies an AsyncBatchAnnotateFilesResponse message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Celebrity.verify = function verify(message) { + AsyncBatchAnnotateFilesResponse.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.displayName != null && message.hasOwnProperty("displayName")) - if (!$util.isString(message.displayName)) - return "displayName: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; + if (message.responses != null && message.hasOwnProperty("responses")) { + if (!Array.isArray(message.responses)) + return "responses: array expected"; + for (var i = 0; i < message.responses.length; ++i) { + var error = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.verify(message.responses[i]); + if (error) + return "responses." + error; + } + } return null; }; /** - * Creates a Celebrity message from a plain object. Also converts values to their respective internal types. + * Creates an AsyncBatchAnnotateFilesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Celebrity} Celebrity + * @returns {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} AsyncBatchAnnotateFilesResponse */ - Celebrity.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Celebrity) + AsyncBatchAnnotateFilesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse) return object; - var message = new $root.google.cloud.vision.v1p4beta1.Celebrity(); - if (object.name != null) - message.name = String(object.name); - if (object.displayName != null) - message.displayName = String(object.displayName); - if (object.description != null) - message.description = String(object.description); + var message = new $root.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse(); + if (object.responses) { + if (!Array.isArray(object.responses)) + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.responses: array expected"); + message.responses = []; + for (var i = 0; i < object.responses.length; ++i) { + if (typeof object.responses[i] !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.responses: object expected"); + message.responses[i] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.fromObject(object.responses[i]); + } + } return message; }; /** - * Creates a plain object from a Celebrity message. Also converts values to other types if specified. + * Creates a plain object from an AsyncBatchAnnotateFilesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @static - * @param {google.cloud.vision.v1p4beta1.Celebrity} message Celebrity + * @param {google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse} message AsyncBatchAnnotateFilesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Celebrity.toObject = function toObject(message, options) { + AsyncBatchAnnotateFilesResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.name = ""; - object.displayName = ""; - object.description = ""; + if (options.arrays || options.defaults) + object.responses = []; + if (message.responses && message.responses.length) { + object.responses = []; + for (var j = 0; j < message.responses.length; ++j) + object.responses[j] = $root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.toObject(message.responses[j], options); } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.displayName != null && message.hasOwnProperty("displayName")) - object.displayName = message.displayName; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; return object; }; /** - * Converts this Celebrity to JSON. + * Converts this AsyncBatchAnnotateFilesResponse to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse * @instance * @returns {Object.} JSON object */ - Celebrity.prototype.toJSON = function toJSON() { + AsyncBatchAnnotateFilesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Celebrity; + return AsyncBatchAnnotateFilesResponse; })(); - v1p4beta1.FaceRecognitionResult = (function() { + v1p4beta1.InputConfig = (function() { /** - * Properties of a FaceRecognitionResult. + * Properties of an InputConfig. * @memberof google.cloud.vision.v1p4beta1 - * @interface IFaceRecognitionResult - * @property {google.cloud.vision.v1p4beta1.ICelebrity|null} [celebrity] FaceRecognitionResult celebrity - * @property {number|null} [confidence] FaceRecognitionResult confidence + * @interface IInputConfig + * @property {google.cloud.vision.v1p4beta1.IGcsSource|null} [gcsSource] InputConfig gcsSource + * @property {Uint8Array|null} [content] InputConfig content + * @property {string|null} [mimeType] InputConfig mimeType */ /** - * Constructs a new FaceRecognitionResult. + * Constructs a new InputConfig. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a FaceRecognitionResult. - * @implements IFaceRecognitionResult + * @classdesc Represents an InputConfig. + * @implements IInputConfig * @constructor - * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IInputConfig=} [properties] Properties to set */ - function FaceRecognitionResult(properties) { + function InputConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -84333,88 +84328,101 @@ } /** - * FaceRecognitionResult celebrity. - * @member {google.cloud.vision.v1p4beta1.ICelebrity|null|undefined} celebrity - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * InputConfig gcsSource. + * @member {google.cloud.vision.v1p4beta1.IGcsSource|null|undefined} gcsSource + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @instance */ - FaceRecognitionResult.prototype.celebrity = null; + InputConfig.prototype.gcsSource = null; /** - * FaceRecognitionResult confidence. - * @member {number} confidence - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * InputConfig content. + * @member {Uint8Array} content + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @instance */ - FaceRecognitionResult.prototype.confidence = 0; + InputConfig.prototype.content = $util.newBuffer([]); /** - * Creates a new FaceRecognitionResult instance using the specified properties. + * InputConfig mimeType. + * @member {string} mimeType + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @instance + */ + InputConfig.prototype.mimeType = ""; + + /** + * Creates a new InputConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @static - * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult instance + * @param {google.cloud.vision.v1p4beta1.IInputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig instance */ - FaceRecognitionResult.create = function create(properties) { - return new FaceRecognitionResult(properties); + InputConfig.create = function create(properties) { + return new InputConfig(properties); }; /** - * Encodes the specified FaceRecognitionResult message. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. + * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @static - * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult} message FaceRecognitionResult message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IInputConfig} message InputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceRecognitionResult.encode = function encode(message, writer) { + InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.celebrity != null && message.hasOwnProperty("celebrity")) - $root.google.cloud.vision.v1p4beta1.Celebrity.encode(message.celebrity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + $root.google.cloud.vision.v1p4beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); + if (message.content != null && message.hasOwnProperty("content")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); return writer; }; /** - * Encodes the specified FaceRecognitionResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.FaceRecognitionResult.verify|verify} messages. + * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.InputConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @static - * @param {google.cloud.vision.v1p4beta1.IFaceRecognitionResult} message FaceRecognitionResult message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IInputConfig} message InputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FaceRecognitionResult.encodeDelimited = function encodeDelimited(message, writer) { + InputConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FaceRecognitionResult message from the specified reader or buffer. + * Decodes an InputConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult + * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceRecognitionResult.decode = function decode(reader, length) { + InputConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.InputConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.decode(reader, reader.uint32()); + message.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.decode(reader, reader.uint32()); + break; + case 3: + message.content = reader.bytes(); break; case 2: - message.confidence = reader.float(); + message.mimeType = reader.string(); break; default: reader.skipType(tag & 7); @@ -84425,122 +84433,139 @@ }; /** - * Decodes a FaceRecognitionResult message from the specified reader or buffer, length delimited. + * Decodes an InputConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult + * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FaceRecognitionResult.decodeDelimited = function decodeDelimited(reader) { + InputConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FaceRecognitionResult message. + * Verifies an InputConfig message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FaceRecognitionResult.verify = function verify(message) { + InputConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.celebrity != null && message.hasOwnProperty("celebrity")) { - var error = $root.google.cloud.vision.v1p4beta1.Celebrity.verify(message.celebrity); + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) { + var error = $root.google.cloud.vision.v1p4beta1.GcsSource.verify(message.gcsSource); if (error) - return "celebrity." + error; + return "gcsSource." + error; } - if (message.confidence != null && message.hasOwnProperty("confidence")) - if (typeof message.confidence !== "number") - return "confidence: number expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!(message.content && typeof message.content.length === "number" || $util.isString(message.content))) + return "content: buffer expected"; + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (!$util.isString(message.mimeType)) + return "mimeType: string expected"; return null; }; /** - * Creates a FaceRecognitionResult message from a plain object. Also converts values to their respective internal types. + * Creates an InputConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.FaceRecognitionResult} FaceRecognitionResult + * @returns {google.cloud.vision.v1p4beta1.InputConfig} InputConfig */ - FaceRecognitionResult.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult) + InputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.InputConfig) return object; - var message = new $root.google.cloud.vision.v1p4beta1.FaceRecognitionResult(); - if (object.celebrity != null) { - if (typeof object.celebrity !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.FaceRecognitionResult.celebrity: object expected"); - message.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.fromObject(object.celebrity); + var message = new $root.google.cloud.vision.v1p4beta1.InputConfig(); + if (object.gcsSource != null) { + if (typeof object.gcsSource !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.InputConfig.gcsSource: object expected"); + message.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.fromObject(object.gcsSource); } - if (object.confidence != null) - message.confidence = Number(object.confidence); + if (object.content != null) + if (typeof object.content === "string") + $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); + else if (object.content.length) + message.content = object.content; + if (object.mimeType != null) + message.mimeType = String(object.mimeType); return message; }; /** - * Creates a plain object from a FaceRecognitionResult message. Also converts values to other types if specified. + * Creates a plain object from an InputConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @static - * @param {google.cloud.vision.v1p4beta1.FaceRecognitionResult} message FaceRecognitionResult + * @param {google.cloud.vision.v1p4beta1.InputConfig} message InputConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FaceRecognitionResult.toObject = function toObject(message, options) { + InputConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.celebrity = null; - object.confidence = 0; + object.gcsSource = null; + object.mimeType = ""; + if (options.bytes === String) + object.content = ""; + else { + object.content = []; + if (options.bytes !== Array) + object.content = $util.newBuffer(object.content); + } } - if (message.celebrity != null && message.hasOwnProperty("celebrity")) - object.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.toObject(message.celebrity, options); - if (message.confidence != null && message.hasOwnProperty("confidence")) - object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + object.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.toObject(message.gcsSource, options); + if (message.mimeType != null && message.hasOwnProperty("mimeType")) + object.mimeType = message.mimeType; + if (message.content != null && message.hasOwnProperty("content")) + object.content = options.bytes === String ? $util.base64.encode(message.content, 0, message.content.length) : options.bytes === Array ? Array.prototype.slice.call(message.content) : message.content; return object; }; /** - * Converts this FaceRecognitionResult to JSON. + * Converts this InputConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @memberof google.cloud.vision.v1p4beta1.InputConfig * @instance * @returns {Object.} JSON object */ - FaceRecognitionResult.prototype.toJSON = function toJSON() { + InputConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return FaceRecognitionResult; + return InputConfig; })(); - v1p4beta1.Vertex = (function() { + v1p4beta1.OutputConfig = (function() { /** - * Properties of a Vertex. + * Properties of an OutputConfig. * @memberof google.cloud.vision.v1p4beta1 - * @interface IVertex - * @property {number|null} [x] Vertex x - * @property {number|null} [y] Vertex y + * @interface IOutputConfig + * @property {google.cloud.vision.v1p4beta1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination + * @property {number|null} [batchSize] OutputConfig batchSize */ /** - * Constructs a new Vertex. + * Constructs a new OutputConfig. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a Vertex. - * @implements IVertex + * @classdesc Represents an OutputConfig. + * @implements IOutputConfig * @constructor - * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IOutputConfig=} [properties] Properties to set */ - function Vertex(properties) { + function OutputConfig(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -84548,88 +84573,88 @@ } /** - * Vertex x. - * @member {number} x - * @memberof google.cloud.vision.v1p4beta1.Vertex + * OutputConfig gcsDestination. + * @member {google.cloud.vision.v1p4beta1.IGcsDestination|null|undefined} gcsDestination + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @instance */ - Vertex.prototype.x = 0; + OutputConfig.prototype.gcsDestination = null; /** - * Vertex y. - * @member {number} y - * @memberof google.cloud.vision.v1p4beta1.Vertex + * OutputConfig batchSize. + * @member {number} batchSize + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @instance */ - Vertex.prototype.y = 0; + OutputConfig.prototype.batchSize = 0; /** - * Creates a new Vertex instance using the specified properties. + * Creates a new OutputConfig instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p4beta1.IVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex instance + * @param {google.cloud.vision.v1p4beta1.IOutputConfig=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig instance */ - Vertex.create = function create(properties) { - return new Vertex(properties); + OutputConfig.create = function create(properties) { + return new OutputConfig(properties); }; /** - * Encodes the specified Vertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IOutputConfig} message OutputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encode = function encode(message, writer) { + OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + $root.google.cloud.vision.v1p4beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; /** - * Encodes the specified Vertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Vertex.verify|verify} messages. + * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OutputConfig.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p4beta1.IVertex} message Vertex message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IOutputConfig} message OutputConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Vertex.encodeDelimited = function encodeDelimited(message, writer) { + OutputConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Vertex message from the specified reader or buffer. + * Decodes an OutputConfig message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decode = function decode(reader, length) { + OutputConfig.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Vertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.OutputConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.int32(); + message.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.decode(reader, reader.uint32()); break; case 2: - message.y = reader.int32(); + message.batchSize = reader.int32(); break; default: reader.skipType(tag & 7); @@ -84640,117 +84665,121 @@ }; /** - * Decodes a Vertex message from the specified reader or buffer, length delimited. + * Decodes an OutputConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Vertex.decodeDelimited = function decodeDelimited(reader) { + OutputConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Vertex message. + * Verifies an OutputConfig message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Vertex.verify = function verify(message) { + OutputConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (!$util.isInteger(message.x)) - return "x: integer expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (!$util.isInteger(message.y)) - return "y: integer expected"; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) { + var error = $root.google.cloud.vision.v1p4beta1.GcsDestination.verify(message.gcsDestination); + if (error) + return "gcsDestination." + error; + } + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (!$util.isInteger(message.batchSize)) + return "batchSize: integer expected"; return null; }; /** - * Creates a Vertex message from a plain object. Also converts values to their respective internal types. + * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Vertex} Vertex + * @returns {google.cloud.vision.v1p4beta1.OutputConfig} OutputConfig */ - Vertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Vertex) + OutputConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.OutputConfig) return object; - var message = new $root.google.cloud.vision.v1p4beta1.Vertex(); - if (object.x != null) - message.x = object.x | 0; - if (object.y != null) - message.y = object.y | 0; + var message = new $root.google.cloud.vision.v1p4beta1.OutputConfig(); + if (object.gcsDestination != null) { + if (typeof object.gcsDestination !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.OutputConfig.gcsDestination: object expected"); + message.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.fromObject(object.gcsDestination); + } + if (object.batchSize != null) + message.batchSize = object.batchSize | 0; return message; }; /** - * Creates a plain object from a Vertex message. Also converts values to other types if specified. + * Creates a plain object from an OutputConfig message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @static - * @param {google.cloud.vision.v1p4beta1.Vertex} message Vertex + * @param {google.cloud.vision.v1p4beta1.OutputConfig} message OutputConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Vertex.toObject = function toObject(message, options) { + OutputConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.x = 0; - object.y = 0; + object.gcsDestination = null; + object.batchSize = 0; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = message.y; + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + object.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.toObject(message.gcsDestination, options); + if (message.batchSize != null && message.hasOwnProperty("batchSize")) + object.batchSize = message.batchSize; return object; }; /** - * Converts this Vertex to JSON. + * Converts this OutputConfig to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Vertex + * @memberof google.cloud.vision.v1p4beta1.OutputConfig * @instance * @returns {Object.} JSON object */ - Vertex.prototype.toJSON = function toJSON() { + OutputConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Vertex; + return OutputConfig; })(); - v1p4beta1.NormalizedVertex = (function() { + v1p4beta1.GcsSource = (function() { /** - * Properties of a NormalizedVertex. + * Properties of a GcsSource. * @memberof google.cloud.vision.v1p4beta1 - * @interface INormalizedVertex - * @property {number|null} [x] NormalizedVertex x - * @property {number|null} [y] NormalizedVertex y + * @interface IGcsSource + * @property {string|null} [uri] GcsSource uri */ /** - * Constructs a new NormalizedVertex. + * Constructs a new GcsSource. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a NormalizedVertex. - * @implements INormalizedVertex + * @classdesc Represents a GcsSource. + * @implements IGcsSource * @constructor - * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IGcsSource=} [properties] Properties to set */ - function NormalizedVertex(properties) { + function GcsSource(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -84758,88 +84787,75 @@ } /** - * NormalizedVertex x. - * @member {number} x - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex - * @instance - */ - NormalizedVertex.prototype.x = 0; - - /** - * NormalizedVertex y. - * @member {number} y - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * GcsSource uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @instance */ - NormalizedVertex.prototype.y = 0; + GcsSource.prototype.uri = ""; /** - * Creates a new NormalizedVertex instance using the specified properties. + * Creates a new GcsSource instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @static - * @param {google.cloud.vision.v1p4beta1.INormalizedVertex=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex instance + * @param {google.cloud.vision.v1p4beta1.IGcsSource=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource instance */ - NormalizedVertex.create = function create(properties) { - return new NormalizedVertex(properties); + GcsSource.create = function create(properties) { + return new GcsSource(properties); }; /** - * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @static - * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGcsSource} message GcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encode = function encode(message, writer) { + GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; /** - * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.NormalizedVertex.verify|verify} messages. + * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsSource.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @static - * @param {google.cloud.vision.v1p4beta1.INormalizedVertex} message NormalizedVertex message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGcsSource} message GcsSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) { + GcsSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer. + * Decodes a GcsSource message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decode = function decode(reader, length) { + GcsSource.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GcsSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); + message.uri = reader.string(); break; default: reader.skipType(tag & 7); @@ -84850,119 +84866,107 @@ }; /** - * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited. + * Decodes a GcsSource message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NormalizedVertex.decodeDelimited = function decodeDelimited(reader) { + GcsSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a NormalizedVertex message. + * Verifies a GcsSource message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NormalizedVertex.verify = function verify(message) { + GcsSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; return null; }; /** - * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types. + * Creates a GcsSource message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.NormalizedVertex} NormalizedVertex + * @returns {google.cloud.vision.v1p4beta1.GcsSource} GcsSource */ - NormalizedVertex.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.NormalizedVertex) + GcsSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GcsSource) return object; - var message = new $root.google.cloud.vision.v1p4beta1.NormalizedVertex(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); + var message = new $root.google.cloud.vision.v1p4beta1.GcsSource(); + if (object.uri != null) + message.uri = String(object.uri); return message; }; /** - * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified. + * Creates a plain object from a GcsSource message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @static - * @param {google.cloud.vision.v1p4beta1.NormalizedVertex} message NormalizedVertex + * @param {google.cloud.vision.v1p4beta1.GcsSource} message GcsSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - NormalizedVertex.toObject = function toObject(message, options) { + GcsSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.x = 0; - object.y = 0; - } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; return object; }; /** - * Converts this NormalizedVertex to JSON. + * Converts this GcsSource to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @memberof google.cloud.vision.v1p4beta1.GcsSource * @instance * @returns {Object.} JSON object */ - NormalizedVertex.prototype.toJSON = function toJSON() { + GcsSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return NormalizedVertex; + return GcsSource; })(); - v1p4beta1.BoundingPoly = (function() { + v1p4beta1.GcsDestination = (function() { /** - * Properties of a BoundingPoly. + * Properties of a GcsDestination. * @memberof google.cloud.vision.v1p4beta1 - * @interface IBoundingPoly - * @property {Array.|null} [vertices] BoundingPoly vertices - * @property {Array.|null} [normalizedVertices] BoundingPoly normalizedVertices + * @interface IGcsDestination + * @property {string|null} [uri] GcsDestination uri */ /** - * Constructs a new BoundingPoly. + * Constructs a new GcsDestination. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a BoundingPoly. - * @implements IBoundingPoly + * @classdesc Represents a GcsDestination. + * @implements IGcsDestination * @constructor - * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IGcsDestination=} [properties] Properties to set */ - function BoundingPoly(properties) { - this.vertices = []; - this.normalizedVertices = []; + function GcsDestination(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -84970,94 +84974,75 @@ } /** - * BoundingPoly vertices. - * @member {Array.} vertices - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly - * @instance - */ - BoundingPoly.prototype.vertices = $util.emptyArray; - - /** - * BoundingPoly normalizedVertices. - * @member {Array.} normalizedVertices - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * GcsDestination uri. + * @member {string} uri + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @instance */ - BoundingPoly.prototype.normalizedVertices = $util.emptyArray; + GcsDestination.prototype.uri = ""; /** - * Creates a new BoundingPoly instance using the specified properties. + * Creates a new GcsDestination instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @static - * @param {google.cloud.vision.v1p4beta1.IBoundingPoly=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly instance + * @param {google.cloud.vision.v1p4beta1.IGcsDestination=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination instance */ - BoundingPoly.create = function create(properties) { - return new BoundingPoly(properties); + GcsDestination.create = function create(properties) { + return new GcsDestination(properties); }; /** - * Encodes the specified BoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @static - * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGcsDestination} message GcsDestination message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encode = function encode(message, writer) { + GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.vertices != null && message.vertices.length) - for (var i = 0; i < message.vertices.length; ++i) - $root.google.cloud.vision.v1p4beta1.Vertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.normalizedVertices != null && message.normalizedVertices.length) - for (var i = 0; i < message.normalizedVertices.length; ++i) - $root.google.cloud.vision.v1p4beta1.NormalizedVertex.encode(message.normalizedVertices[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.uri != null && message.hasOwnProperty("uri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; /** - * Encodes the specified BoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.BoundingPoly.verify|verify} messages. + * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.GcsDestination.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @static - * @param {google.cloud.vision.v1p4beta1.IBoundingPoly} message BoundingPoly message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IGcsDestination} message GcsDestination message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - BoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { + GcsDestination.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a BoundingPoly message from the specified reader or buffer. + * Decodes a GcsDestination message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decode = function decode(reader, length) { + GcsDestination.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.GcsDestination(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p4beta1.Vertex.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.normalizedVertices && message.normalizedVertices.length)) - message.normalizedVertices = []; - message.normalizedVertices.push($root.google.cloud.vision.v1p4beta1.NormalizedVertex.decode(reader, reader.uint32())); + message.uri = reader.string(); break; default: reader.skipType(tag & 7); @@ -85068,152 +85053,109 @@ }; /** - * Decodes a BoundingPoly message from the specified reader or buffer, length delimited. + * Decodes a GcsDestination message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BoundingPoly.decodeDelimited = function decodeDelimited(reader) { + GcsDestination.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a BoundingPoly message. + * Verifies a GcsDestination message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BoundingPoly.verify = function verify(message) { + GcsDestination.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.vertices != null && message.hasOwnProperty("vertices")) { - if (!Array.isArray(message.vertices)) - return "vertices: array expected"; - for (var i = 0; i < message.vertices.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.Vertex.verify(message.vertices[i]); - if (error) - return "vertices." + error; - } - } - if (message.normalizedVertices != null && message.hasOwnProperty("normalizedVertices")) { - if (!Array.isArray(message.normalizedVertices)) - return "normalizedVertices: array expected"; - for (var i = 0; i < message.normalizedVertices.length; ++i) { - var error = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.verify(message.normalizedVertices[i]); - if (error) - return "normalizedVertices." + error; - } - } + if (message.uri != null && message.hasOwnProperty("uri")) + if (!$util.isString(message.uri)) + return "uri: string expected"; return null; }; /** - * Creates a BoundingPoly message from a plain object. Also converts values to their respective internal types. + * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.BoundingPoly} BoundingPoly + * @returns {google.cloud.vision.v1p4beta1.GcsDestination} GcsDestination */ - BoundingPoly.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.BoundingPoly) + GcsDestination.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.GcsDestination) return object; - var message = new $root.google.cloud.vision.v1p4beta1.BoundingPoly(); - if (object.vertices) { - if (!Array.isArray(object.vertices)) - throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: array expected"); - message.vertices = []; - for (var i = 0; i < object.vertices.length; ++i) { - if (typeof object.vertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.vertices: object expected"); - message.vertices[i] = $root.google.cloud.vision.v1p4beta1.Vertex.fromObject(object.vertices[i]); - } - } - if (object.normalizedVertices) { - if (!Array.isArray(object.normalizedVertices)) - throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: array expected"); - message.normalizedVertices = []; - for (var i = 0; i < object.normalizedVertices.length; ++i) { - if (typeof object.normalizedVertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p4beta1.BoundingPoly.normalizedVertices: object expected"); - message.normalizedVertices[i] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.fromObject(object.normalizedVertices[i]); - } - } + var message = new $root.google.cloud.vision.v1p4beta1.GcsDestination(); + if (object.uri != null) + message.uri = String(object.uri); return message; }; /** - * Creates a plain object from a BoundingPoly message. Also converts values to other types if specified. + * Creates a plain object from a GcsDestination message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @static - * @param {google.cloud.vision.v1p4beta1.BoundingPoly} message BoundingPoly + * @param {google.cloud.vision.v1p4beta1.GcsDestination} message GcsDestination * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - BoundingPoly.toObject = function toObject(message, options) { + GcsDestination.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.vertices = []; - object.normalizedVertices = []; - } - if (message.vertices && message.vertices.length) { - object.vertices = []; - for (var j = 0; j < message.vertices.length; ++j) - object.vertices[j] = $root.google.cloud.vision.v1p4beta1.Vertex.toObject(message.vertices[j], options); - } - if (message.normalizedVertices && message.normalizedVertices.length) { - object.normalizedVertices = []; - for (var j = 0; j < message.normalizedVertices.length; ++j) - object.normalizedVertices[j] = $root.google.cloud.vision.v1p4beta1.NormalizedVertex.toObject(message.normalizedVertices[j], options); - } + if (options.defaults) + object.uri = ""; + if (message.uri != null && message.hasOwnProperty("uri")) + object.uri = message.uri; return object; }; /** - * Converts this BoundingPoly to JSON. + * Converts this GcsDestination to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @memberof google.cloud.vision.v1p4beta1.GcsDestination * @instance * @returns {Object.} JSON object */ - BoundingPoly.prototype.toJSON = function toJSON() { + GcsDestination.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return BoundingPoly; + return GcsDestination; })(); - v1p4beta1.Position = (function() { + v1p4beta1.OperationMetadata = (function() { /** - * Properties of a Position. + * Properties of an OperationMetadata. * @memberof google.cloud.vision.v1p4beta1 - * @interface IPosition - * @property {number|null} [x] Position x - * @property {number|null} [y] Position y - * @property {number|null} [z] Position z + * @interface IOperationMetadata + * @property {google.cloud.vision.v1p4beta1.OperationMetadata.State|null} [state] OperationMetadata state + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [updateTime] OperationMetadata updateTime */ /** - * Constructs a new Position. + * Constructs a new OperationMetadata. * @memberof google.cloud.vision.v1p4beta1 - * @classdesc Represents a Position. - * @implements IPosition + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata * @constructor - * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set + * @param {google.cloud.vision.v1p4beta1.IOperationMetadata=} [properties] Properties to set */ - function Position(properties) { + function OperationMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -85221,101 +85163,101 @@ } /** - * Position x. - * @member {number} x - * @memberof google.cloud.vision.v1p4beta1.Position + * OperationMetadata state. + * @member {google.cloud.vision.v1p4beta1.OperationMetadata.State} state + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @instance */ - Position.prototype.x = 0; + OperationMetadata.prototype.state = 0; /** - * Position y. - * @member {number} y - * @memberof google.cloud.vision.v1p4beta1.Position + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @instance */ - Position.prototype.y = 0; + OperationMetadata.prototype.createTime = null; /** - * Position z. - * @member {number} z - * @memberof google.cloud.vision.v1p4beta1.Position + * OperationMetadata updateTime. + * @member {google.protobuf.ITimestamp|null|undefined} updateTime + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @instance */ - Position.prototype.z = 0; + OperationMetadata.prototype.updateTime = null; /** - * Creates a new Position instance using the specified properties. + * Creates a new OperationMetadata instance using the specified properties. * @function create - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @static - * @param {google.cloud.vision.v1p4beta1.IPosition=} [properties] Properties to set - * @returns {google.cloud.vision.v1p4beta1.Position} Position instance + * @param {google.cloud.vision.v1p4beta1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata instance */ - Position.create = function create(properties) { - return new Position(properties); + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); }; /** - * Encodes the specified Position message. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. * @function encode - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @static - * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IOperationMetadata} message OperationMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encode = function encode(message, writer) { + OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) - writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) - writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); + if (message.state != null && message.hasOwnProperty("state")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); + if (message.createTime != null && message.hasOwnProperty("createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; /** - * Encodes the specified Position message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.Position.verify|verify} messages. + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.OperationMetadata.verify|verify} messages. * @function encodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @static - * @param {google.cloud.vision.v1p4beta1.IPosition} message Position message or plain object to encode + * @param {google.cloud.vision.v1p4beta1.IOperationMetadata} message OperationMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Position.encodeDelimited = function encodeDelimited(message, writer) { + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Position message from the specified reader or buffer. + * Decodes an OperationMetadata message from the specified reader or buffer. * @function decode - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decode = function decode(reader, length) { + OperationMetadata.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.Position(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.OperationMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.x = reader.float(); + message.state = reader.int32(); break; - case 2: - message.y = reader.float(); + case 5: + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; - case 3: - message.z = reader.float(); + case 6: + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -85326,104 +85268,162 @@ }; /** - * Decodes a Position message from the specified reader or buffer, length delimited. + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Position.decodeDelimited = function decodeDelimited(reader) { + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Position message. + * Verifies an OperationMetadata message. * @function verify - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Position.verify = function verify(message) { + OperationMetadata.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.x != null && message.hasOwnProperty("x")) - if (typeof message.x !== "number") - return "x: number expected"; - if (message.y != null && message.hasOwnProperty("y")) - if (typeof message.y !== "number") - return "y: number expected"; - if (message.z != null && message.hasOwnProperty("z")) - if (typeof message.z !== "number") - return "z: number expected"; + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.updateTime != null && message.hasOwnProperty("updateTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + if (error) + return "updateTime." + error; + } return null; }; /** - * Creates a Position message from a plain object. Also converts values to their respective internal types. + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @static * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p4beta1.Position} Position + * @returns {google.cloud.vision.v1p4beta1.OperationMetadata} OperationMetadata */ - Position.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p4beta1.Position) + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.OperationMetadata) return object; - var message = new $root.google.cloud.vision.v1p4beta1.Position(); - if (object.x != null) - message.x = Number(object.x); - if (object.y != null) - message.y = Number(object.y); - if (object.z != null) - message.z = Number(object.z); + var message = new $root.google.cloud.vision.v1p4beta1.OperationMetadata(); + switch (object.state) { + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "CREATED": + case 1: + message.state = 1; + break; + case "RUNNING": + case 2: + message.state = 2; + break; + case "DONE": + case 3: + message.state = 3; + break; + case "CANCELLED": + case 4: + message.state = 4; + break; + } + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.updateTime != null) { + if (typeof object.updateTime !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.OperationMetadata.updateTime: object expected"); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + } return message; }; /** - * Creates a plain object from a Position message. Also converts values to other types if specified. + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. * @function toObject - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @static - * @param {google.cloud.vision.v1p4beta1.Position} message Position + * @param {google.cloud.vision.v1p4beta1.OperationMetadata} message OperationMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Position.toObject = function toObject(message, options) { + OperationMetadata.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.x = 0; - object.y = 0; - object.z = 0; + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.createTime = null; + object.updateTime = null; } - if (message.x != null && message.hasOwnProperty("x")) - object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; - if (message.y != null && message.hasOwnProperty("y")) - object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; - if (message.z != null && message.hasOwnProperty("z")) - object.z = options.json && !isFinite(message.z) ? String(message.z) : message.z; + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.OperationMetadata.State[message.state] : message.state; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.updateTime != null && message.hasOwnProperty("updateTime")) + object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); return object; }; /** - * Converts this Position to JSON. + * Converts this OperationMetadata to JSON. * @function toJSON - * @memberof google.cloud.vision.v1p4beta1.Position + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata * @instance * @returns {Object.} JSON object */ - Position.prototype.toJSON = function toJSON() { + OperationMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Position; + /** + * State enum. + * @name google.cloud.vision.v1p4beta1.OperationMetadata.State + * @enum {string} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} CREATED=1 CREATED value + * @property {number} RUNNING=2 RUNNING value + * @property {number} DONE=3 DONE value + * @property {number} CANCELLED=4 CANCELLED value + */ + OperationMetadata.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CREATED"] = 1; + values[valuesById[2] = "RUNNING"] = 2; + values[valuesById[3] = "DONE"] = 3; + values[valuesById[4] = "CANCELLED"] = 4; + return values; + })(); + + return OperationMetadata; })(); v1p4beta1.ProductSearchParams = (function() { diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 964f3e656aa..7c8ed705885 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -16,6 +16,60 @@ "objc_class_prefix": "GCVN" }, "nested": { + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + }, + "normalizedVertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 2 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, "ImageAnnotator": { "options": { "(google.api.default_host)": "vision.googleapis.com", @@ -858,60 +912,6 @@ } } }, - "Vertex": { - "fields": { - "x": { - "type": "int32", - "id": 1 - }, - "y": { - "type": "int32", - "id": 2 - } - } - }, - "NormalizedVertex": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - } - } - }, - "BoundingPoly": { - "fields": { - "vertices": { - "rule": "repeated", - "type": "Vertex", - "id": 1 - }, - "normalizedVertices": { - "rule": "repeated", - "type": "NormalizedVertex", - "id": 2 - } - } - }, - "Position": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - }, - "z": { - "type": "float", - "id": 3 - } - } - }, "ProductSearchParams": { "fields": { "boundingPoly": { @@ -2057,6 +2057,43 @@ "java_package": "com.google.cloud.vision.v1p1beta1" }, "nested": { + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, "ImageAnnotator": { "options": { "(google.api.default_host)": "vision.googleapis.com", @@ -2550,43 +2587,6 @@ "VERY_LIKELY": 5 } }, - "Vertex": { - "fields": { - "x": { - "type": "int32", - "id": 1 - }, - "y": { - "type": "int32", - "id": 2 - } - } - }, - "BoundingPoly": { - "fields": { - "vertices": { - "rule": "repeated", - "type": "Vertex", - "id": 1 - } - } - }, - "Position": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - }, - "z": { - "type": "float", - "id": 3 - } - } - }, "TextAnnotation": { "fields": { "pages": { @@ -2888,6 +2888,60 @@ "java_package": "com.google.cloud.vision.v1p2beta1" }, "nested": { + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + }, + "normalizedVertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 2 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, "ImageAnnotator": { "options": { "(google.api.default_host)": "vision.googleapis.com", @@ -3538,69 +3592,15 @@ "VERY_LIKELY": 5 } }, - "Vertex": { + "TextAnnotation": { "fields": { - "x": { - "type": "int32", + "pages": { + "rule": "repeated", + "type": "Page", "id": 1 }, - "y": { - "type": "int32", - "id": 2 - } - } - }, - "NormalizedVertex": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - } - } - }, - "BoundingPoly": { - "fields": { - "vertices": { - "rule": "repeated", - "type": "Vertex", - "id": 1 - }, - "normalizedVertices": { - "rule": "repeated", - "type": "NormalizedVertex", - "id": 2 - } - } - }, - "Position": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - }, - "z": { - "type": "float", - "id": 3 - } - } - }, - "TextAnnotation": { - "fields": { - "pages": { - "rule": "repeated", - "type": "Page", - "id": 1 - }, - "text": { - "type": "string", + "text": { + "type": "string", "id": 2 } }, @@ -3893,6 +3893,69 @@ "java_package": "com.google.cloud.vision.v1p3beta1" }, "nested": { + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + }, + "normalizedVertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 2 + } + } + }, + "NormalizedBoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 1 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, "ImageAnnotator": { "options": { "(google.api.default_host)": "vision.googleapis.com", @@ -4579,69 +4642,6 @@ } } }, - "Vertex": { - "fields": { - "x": { - "type": "int32", - "id": 1 - }, - "y": { - "type": "int32", - "id": 2 - } - } - }, - "NormalizedVertex": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - } - } - }, - "BoundingPoly": { - "fields": { - "vertices": { - "rule": "repeated", - "type": "Vertex", - "id": 1 - }, - "normalizedVertices": { - "rule": "repeated", - "type": "NormalizedVertex", - "id": 2 - } - } - }, - "NormalizedBoundingPoly": { - "fields": { - "vertices": { - "rule": "repeated", - "type": "NormalizedVertex", - "id": 1 - } - } - }, - "Position": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - }, - "z": { - "type": "float", - "id": 3 - } - } - }, "ProductSearchParams": { "fields": { "catalogName": { @@ -5756,6 +5756,97 @@ "objc_class_prefix": "GCVN" }, "nested": { + "FaceRecognitionParams": { + "fields": { + "celebritySet": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "Celebrity": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + } + }, + "FaceRecognitionResult": { + "fields": { + "celebrity": { + "type": "Celebrity", + "id": 1 + }, + "confidence": { + "type": "float", + "id": 2 + } + } + }, + "Vertex": { + "fields": { + "x": { + "type": "int32", + "id": 1 + }, + "y": { + "type": "int32", + "id": 2 + } + } + }, + "NormalizedVertex": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + } + } + }, + "BoundingPoly": { + "fields": { + "vertices": { + "rule": "repeated", + "type": "Vertex", + "id": 1 + }, + "normalizedVertices": { + "rule": "repeated", + "type": "NormalizedVertex", + "id": 2 + } + } + }, + "Position": { + "fields": { + "x": { + "type": "float", + "id": 1 + }, + "y": { + "type": "float", + "id": 2 + }, + "z": { + "type": "float", + "id": 3 + } + } + }, "ImageAnnotator": { "options": { "(google.api.default_host)": "vision.googleapis.com", @@ -6559,97 +6650,6 @@ } } }, - "FaceRecognitionParams": { - "fields": { - "celebritySet": { - "rule": "repeated", - "type": "string", - "id": 1 - } - } - }, - "Celebrity": { - "fields": { - "name": { - "type": "string", - "id": 1 - }, - "displayName": { - "type": "string", - "id": 2 - }, - "description": { - "type": "string", - "id": 3 - } - } - }, - "FaceRecognitionResult": { - "fields": { - "celebrity": { - "type": "Celebrity", - "id": 1 - }, - "confidence": { - "type": "float", - "id": 2 - } - } - }, - "Vertex": { - "fields": { - "x": { - "type": "int32", - "id": 1 - }, - "y": { - "type": "int32", - "id": 2 - } - } - }, - "NormalizedVertex": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - } - } - }, - "BoundingPoly": { - "fields": { - "vertices": { - "rule": "repeated", - "type": "Vertex", - "id": 1 - }, - "normalizedVertices": { - "rule": "repeated", - "type": "NormalizedVertex", - "id": 2 - } - } - }, - "Position": { - "fields": { - "x": { - "type": "float", - "id": 1 - }, - "y": { - "type": "float", - "id": 2 - }, - "z": { - "type": "float", - "id": 3 - } - } - }, "ProductSearchParams": { "fields": { "boundingPoly": { diff --git a/packages/google-cloud-vision/src/helpers.js b/packages/google-cloud-vision/src/helpers.ts similarity index 80% rename from packages/google-cloud-vision/src/helpers.js rename to packages/google-cloud-vision/src/helpers.ts index e306f62f816..bc5cfc664b9 100644 --- a/packages/google-cloud-vision/src/helpers.js +++ b/packages/google-cloud-vision/src/helpers.ts @@ -1,76 +1,123 @@ -/*! - * Copyright 2017 Google Inc. All Rights Reserved. - * - * 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. - */ +// Copyright 2017 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'; +import * as fs from 'fs'; +import * as is from 'is'; +import {promisify} from '@google-cloud/promisify'; +import * as gax from 'google-gax'; +import * as protoTypes from '../protos/protos'; +interface FeatureFunction { + (request: string | ImprovedRequest | Buffer): Promise< + [protoTypes.google.cloud.vision.v1.IAnnotateImageResponse] + >; +} +export interface FeaturesMethod { + annotateImage: FeatureFunction; + faceDetection: FeatureFunction; + landmarkDetection: FeatureFunction; + labelDetection: FeatureFunction; + safeSearchDetection: FeatureFunction; + imageProperties: FeatureFunction; + cropHints: FeatureFunction; + webDetection: FeatureFunction; + logoDetection: FeatureFunction; + textDetection: FeatureFunction; + documentTextDetection: FeatureFunction; + productSearch?: FeatureFunction; + objectLocalization?: FeatureFunction; +} +interface ImprovedRequest { + image?: {source?: {filename: string}; content?: Uint8Array | string | null}; + // tslint:disable-next-line no-any + features?: any; +} -const fs = require('fs'); -const is = require('is'); -const {promisify} = require('@google-cloud/promisify'); -const gax = require('google-gax'); +interface VisionClient { + batchAnnotateImages( + request: protoTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + protoTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + protoTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest | undefined, + {} | undefined + ] + >; + batchAnnotateImages( + request: protoTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + options?: gax.CallOptions, + callback?: gax.Callback< + protoTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + protoTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest | undefined, + {} | undefined + > + ): void; + annotateImage( + request: ImprovedRequest, + callOptions?: gax.CallOptions + ): Promise; + annotateImage( + request: ImprovedRequest, + callOptions: gax.CallOptions | undefined, + callback: gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + > + ): void; +} -// We only need to have a Feature enum from the protos, and we want -// this enum to work for both gRPC and fallback scenarios. -// It's enough to have the contents of JSON proto for this purpose. -const jsonProto = require('../protos/protos.json'); - -/*! - * Convert non-object request forms into a correctly-formatted object. - * - * @param {object|string|Buffer} request An object representing an - * AnnotateImageRequest. May also be a string representing the path - * (filename or URL) to the image, or a buffer representing the image itself. - * - * @returns An object representing an AnnotateImageRequest. - */ -const _requestToObject = request => { +// tslint:disable-next-line no-any +const _requestToObject = (request: any) => { if (is.string(request)) { // Is this a URL or a local file? // Guess based on what the string looks like, and build the full // request object in the correct format. if (request.indexOf('://') === -1 || request.indexOf('file://') === 0) { - request = {image: {source: {filename: request}}}; + request = ({ + image: {source: {filename: request}}, + } as unknown) as ImprovedRequest; } else { - request = {image: {source: {imageUri: request}}}; + request = ({ + image: {source: {imageUri: request}}, + } as unknown) as ImprovedRequest; } } else if (Buffer.isBuffer(request)) { // Drop the buffer one level lower; it will get dealt with later // in the function. This allows sending and {image: } to // both work identically. - request = {image: request}; + request = ({image: request} as unknown) as ImprovedRequest; } - return request; + return (request as unknown) as ImprovedRequest; }; -/*! - * Coerce several nicer iterations of "how to specify an image" to the - * full sturcture expected by the Vision API. - * - * @param {object} request An object representing an AnnotateImageRequest. - * It may include `image.source.filename` or a buffer passed to - * `image.content`, which are coerced into their canonical forms by this - * function. - * @param {function} callback The callback to run. - */ -const _coerceRequest = (request, callback) => { +const _coerceRequest = ( + request: ImprovedRequest, + callback: ( + err: Error | null, + request?: protoTypes.google.cloud.vision.v1.IAnnotateImageRequest + ) => void +) => { // At this point, request must be an object with an `image` key; if not, // it is an error. If there is no image, throw an exception. if (!is.object(request) || is.undefined(request.image)) { return callback(new Error('No image present.')); } - // If this is a buffer, read it and send the object // that the Vision API expects. if (Buffer.isBuffer(request.image)) { @@ -79,46 +126,65 @@ const _coerceRequest = (request, callback) => { // If the file is specified as a filename and exists on disk, read it // and coerce it into the base64 content. - if (request.image.source && request.image.source.filename) { - fs.readFile(request.image.source.filename, (err, blob) => { + if (request.image!.source && request.image!.source.filename) { + fs.readFile(request.image!.source.filename, (err, blob) => { if (err) { callback(err); return; } - request.image.content = blob.toString('base64'); - delete request.image.source; - return callback(null, request); + request.image!.content = blob.toString('base64'); + delete request.image!.source; + return callback( + null, + request as protoTypes.google.cloud.vision.v1.IAnnotateImageRequest + ); }); } else { - return callback(null, request); + return callback( + null, + request as protoTypes.google.cloud.vision.v1.IAnnotateImageRequest + ); } }; -/*! - * - * Return a method that calls annotateImage asking for a single feature. - * - * @param {number} featureValue The feature being requested. This is taken - * from the Feature.Type enum, and will be an integer. - * - * @returns {function} The function that, when called, will call annotateImage - * asking for the single feature annotation. - */ -const _createSingleFeatureMethod = featureValue => { - return function(annotateImageRequest, callOptions, callback) { +const _createSingleFeatureMethod = ( + featureValue: protoTypes.google.cloud.vision.v1.Feature.Type +) => { + return function( + this: VisionClient, + request: string, + callOptionsOrCallback?: + | gax.CallOptions + | gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + >, + callback?: gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + > + ) { // Sanity check: If we got a string or buffer, we need this to be // in object form now, so we can tack on the features list. // // Do the minimum required conversion, which can also be guaranteed to // be synchronous (e.g. no file loading yet; that is handled by // annotateImage later. - annotateImageRequest = _requestToObject(annotateImageRequest); - + const annotateImageRequest: ImprovedRequest = _requestToObject(request); // If a callback was provided and options were skipped, normalize // the argument names. - if (is.undefined(callback) && is.function(callOptions)) { - callback = callOptions; + let callOptions: gax.CallOptions | undefined; + if (is.undefined(callback) && is.function(callOptionsOrCallback)) { + callback = callOptionsOrCallback as gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + >; callOptions = undefined; + } else { + callOptions = callOptionsOrCallback as gax.CallOptions | undefined; } // Add the feature to the request. @@ -138,24 +204,13 @@ const _createSingleFeatureMethod = featureValue => { ); } } - // Call the underlying #annotateImage method. - return this.annotateImage(annotateImageRequest, callOptions, callback); + return this.annotateImage(annotateImageRequest, callOptions, callback!); }; }; -/*! - * Return a dictionary-like object with helpers to augment the Vision - * GAPIC. - * - * @param {string} apiVersion The API version (e.g. "v1") - * - * @returns {object} An object with keys and functions which are placed - * onto the pure GAPIC. - */ -module.exports = apiVersion => { - const methods = {}; - +export function call(apiVersion: string) { + const methods: FeaturesMethod = ({} as unknown) as FeaturesMethod; /** * Annotate a single image with the requested features. * @@ -213,43 +268,96 @@ module.exports = apiVersion => { * console.error(err); * }); */ - methods.annotateImage = promisify(function(request, callOptions, callback) { + + methods.annotateImage = promisify(function( + this: VisionClient, + request: ImprovedRequest, + callOptionsOrCallback: + | gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + > + | gax.CallOptions, + callback?: gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + > + ) { // If a callback was provided and options were skipped, normalize // the argument names. - if (is.undefined(callback) && is.function(callOptions)) { - callback = callOptions; + let callOptions: gax.CallOptions | undefined; + if (is.undefined(callback) && is.function(callOptionsOrCallback)) { + callback = callOptionsOrCallback as gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + >; callOptions = undefined; + } else { + callOptions = callOptionsOrCallback as gax.CallOptions | undefined; } // If we got a filename for the image, open the file and transform // it to content. - return _coerceRequest(request, (err, req) => { - if (err) { - return callback(err); - } - - // Call the GAPIC batch annotation function. - const requests = {requests: [req]}; - return this.batchAnnotateImages(requests, callOptions, (err, r) => { - // If there is an error, handle it. + return _coerceRequest( + request, + ( + err: Error | null, + req: protoTypes.google.cloud.vision.v1.IAnnotateImageRequest | undefined + ) => { if (err) { - return callback(err); + return ((callback as unknown) as gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + >)(err); } - // We are guaranteed to only have one response element, since we - // only sent one image. - const response = r.responses[0]; + // Call the GAPIC batch annotation function. + const requests = {requests: [req!]}; + return this.batchAnnotateImages( + requests, + callOptions, + ( + err: Error | null | undefined, + r: + | protoTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse + | null + | undefined + ) => { + // If there is an error, handle it. + if (err) { + return ((callback as unknown) as gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + >)(err); + } - // Fire the callback if applicable. - return callback(undefined, response); - }); - }); + // We are guaranteed to only have one response element, since we + // only sent one image. + const response = r!.responses![0]; + + // Fire the callback if applicable. + return ((callback as unknown) as gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + >)(undefined, response); + } + ); + } + ); }); - const protoFilesRoot = gax.protobuf.Root.fromJSON(jsonProto); - const features = protoFilesRoot.lookup( + const protoFilesRoot = gax.protobuf.Root.fromJSON( + require('../protos/protos.json') + ); + const features = (protoFilesRoot.lookup( `google.cloud.vision.${apiVersion}.Feature.Type` - ).values; + ) as gax.protobuf.Enum).values; /** * Annotate a single image with face detection. @@ -304,10 +412,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.faceDetection = promisify( - _createSingleFeatureMethod(features.FACE_DETECTION) + _createSingleFeatureMethod(features!.FACE_DETECTION) ); - /** * Annotate a single image with landmark detection. * @@ -361,10 +469,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.landmarkDetection = promisify( - _createSingleFeatureMethod(features.LANDMARK_DETECTION) + _createSingleFeatureMethod(features!.LANDMARK_DETECTION) ); - /** * Annotate a single image with logo detection. * @@ -418,10 +526,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.logoDetection = promisify( _createSingleFeatureMethod(features.LOGO_DETECTION) ); - /** * Annotate a single image with label detection. * @@ -475,10 +583,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.labelDetection = promisify( - _createSingleFeatureMethod(features.LABEL_DETECTION) + _createSingleFeatureMethod(features!.LABEL_DETECTION) ); - /** * Annotate a single image with text detection. * @@ -532,10 +640,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.textDetection = promisify( _createSingleFeatureMethod(features.TEXT_DETECTION) ); - /** * Annotate a single image with document text detection. * @@ -589,10 +697,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.documentTextDetection = promisify( _createSingleFeatureMethod(features.DOCUMENT_TEXT_DETECTION) ); - /** * Annotate a single image with safe search detection. * @@ -646,10 +754,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.safeSearchDetection = promisify( - _createSingleFeatureMethod(features.SAFE_SEARCH_DETECTION) + _createSingleFeatureMethod(features!.SAFE_SEARCH_DETECTION) ); - /** * Annotate a single image with image properties. * @@ -703,10 +811,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.imageProperties = promisify( - _createSingleFeatureMethod(features.IMAGE_PROPERTIES) + _createSingleFeatureMethod(features!.IMAGE_PROPERTIES) ); - /** * Annotate a single image with crop hints. * @@ -760,10 +868,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.cropHints = promisify( - _createSingleFeatureMethod(features.CROP_HINTS) + _createSingleFeatureMethod(features!.CROP_HINTS) ); - /** * Annotate a single image with web detection. * @@ -817,10 +925,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ + methods.webDetection = promisify( - _createSingleFeatureMethod(features.WEB_DETECTION) + _createSingleFeatureMethod(features!.WEB_DETECTION) ); - /** * Annotate a single image with the result from Product Search. * @@ -872,12 +980,11 @@ module.exports = apiVersion => { * console.error(err); * }); */ - if (features.PRODUCT_SEARCH !== undefined) { + if (features!.PRODUCT_SEARCH !== undefined) { methods.productSearch = promisify( - _createSingleFeatureMethod(features.PRODUCT_SEARCH) + _createSingleFeatureMethod(features!.PRODUCT_SEARCH) ); } - /** * Annotate a single image with localization vectors. * @@ -932,11 +1039,10 @@ module.exports = apiVersion => { * console.error(err); * }); */ - if (features.OBJECT_LOCALIZATION !== undefined) { + if (features!.OBJECT_LOCALIZATION !== undefined) { methods.objectLocalization = promisify( - _createSingleFeatureMethod(features.OBJECT_LOCALIZATION) + _createSingleFeatureMethod(features!.OBJECT_LOCALIZATION) ); } - return methods; -}; +} diff --git a/packages/google-cloud-vision/src/index.js b/packages/google-cloud-vision/src/index.js deleted file mode 100644 index f70be4fdca4..00000000000 --- a/packages/google-cloud-vision/src/index.js +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2017, Google LLC All rights reserved. -// -// 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. - -/** - * @namespace google.cloud.vision.v1 - */ -/** - * @namespace google.cloud.vision.v1p1beta1 - */ -/** - * @namespace google.cloud.vision.v1p2beta1 - */ -/** - * @namespace google.cloud.vision.v1p3beta1 - */ -/** - * @namespace google.cloud.vision.v1p4beta1 - */ -/** - * @namespace google.longrunning - */ -/** - * @namespace google.protobuf - */ -/** - * @namespace google.rpc - */ -/** - * @namespace google.type - */ - -'use strict'; - -const helpers = require('./helpers'); - -// Import the clients for each version supported by this package. -const gapic = Object.freeze({ - v1: require('./v1'), - v1p1beta1: require('./v1p1beta1'), - v1p2beta1: require('./v1p2beta1'), - v1p3beta1: require('./v1p3beta1'), - v1p4beta1: require('./v1p4beta1'), -}); - -// Augment the SpeechClient objects with the helpers. -for (const gapicVersion of Object.keys(gapic)) { - const clientProto = gapic[gapicVersion].ImageAnnotatorClient.prototype; - Object.assign(clientProto, helpers(gapicVersion)); -} - -/** - * The `@google-cloud/vision` package has the following named exports: - * - * - `ImageAnnotatorClient` - Reference to {@link v1.ImageAnnotatorClient}. - * - `v1` - This is used for selecting or pinning a particular backend service - * version. It exports: - * - `ImageAnnotatorClient` - Reference to {@link v1.ImageAnnotatorClient}. - * - * @module {object} @google-cloud/vision - * @alias nodejs-vision - * - * @example Install the client library with npm: - * npm install --save @google-cloud/vision - * - * @example Import the client library: - * const vision = require('@google-cloud/vision'); - * - * @example Create a client that uses Application Default Credentials (ADC): - * const client = new vision.ImageAnnotatorClient(); - * - * @example Create a client with explicit credentials: - * const client = new vision.ImageAnnotatorClient({ - * projectId: 'your-project-id', - * keyFilename: '/path/to/keyfile.json', - * }); - */ -module.exports = gapic.v1; - -/** - * @type {object} - * @property {constructor} ImageAnnotatorClient - * Reference to {@link v1.ImageAnnotatorClient} - */ -module.exports.v1 = gapic.v1; - -/** - * @type {object} - * @property {constructor} ImageAnnotatorClient - * Reference to {@link v1p1beta1.ImageAnnotatorClient} - */ -module.exports.v1p1beta1 = gapic.v1p1beta1; - -/** - * @type {object} - * @property {constructor} ImageAnnotatorClient - * Reference to {@link v1p2beta1.ImageAnnotatorClient} - */ -module.exports.v1p2beta1 = gapic.v1p2beta1; - -/** - * @type {object} - * @property {constructor} ImageAnnotatorClient - * Reference to {@link v1p3beta1.ImageAnnotatorClient} - */ -module.exports.v1p3beta1 = gapic.v1p3beta1; - -/** - * @type {object} - * @property {constructor} ImageAnnotatorClient - * Reference to {@link v1p4beta1.ImageAnnotatorClient} - */ -module.exports.v1p4beta1 = gapic.v1p4beta1; - -// Alias `module.exports` as `module.exports.default`, for future-proofing. -module.exports.default = Object.assign({}, module.exports); diff --git a/packages/google-cloud-vision/src/index.ts b/packages/google-cloud-vision/src/index.ts new file mode 100644 index 00000000000..86b09427951 --- /dev/null +++ b/packages/google-cloud-vision/src/index.ts @@ -0,0 +1,63 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as v1 from './v1'; +import * as v1p1beta1 from './v1p1beta1'; +import * as v1p2beta1 from './v1p2beta1'; +import * as v1p3beta1 from './v1p3beta1'; +import * as v1p4beta1 from './v1p4beta1'; +import * as helpers from './helpers'; +Object.assign(v1.ImageAnnotatorClient.prototype, helpers.call('v1')); +Object.assign( + v1p1beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p1beta1') +); +Object.assign( + v1p2beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p2beta1') +); +Object.assign( + v1p3beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p3beta1') +); +Object.assign( + v1p4beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p4beta1') +); +const ImageAnnotatorClient = v1.ImageAnnotatorClient; +const ProductSearchClient = v1.ProductSearchClient; +export { + v1, + v1p1beta1, + v1p2beta1, + v1p3beta1, + v1p4beta1, + ImageAnnotatorClient, + ProductSearchClient, +}; +// For compatibility with JavaScript libraries we need to provide this default export: +// tslint:disable-next-line no-default-export +export default { + v1, + v1p1beta1, + v1p2beta1, + v1p3beta1, + v1p4beta1, + ImageAnnotatorClient, + ProductSearchClient, +}; diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js deleted file mode 100644 index 406b714642f..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_geometry.js +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A vertex represents a 2D point in the image. - * NOTE: the vertex coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @typedef Vertex - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} - */ -const Vertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A vertex represents a 2D point in the image. - * NOTE: the normalized vertex coordinates are relative to the original image - * and range from 0 to 1. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @typedef NormalizedVertex - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} - */ -const NormalizedVertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A bounding polygon for the detected image annotation. - * - * @property {Object[]} vertices - * The bounding polygon vertices. - * - * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1.Vertex} - * - * @property {Object[]} normalizedVertices - * The bounding polygon normalized vertices. - * - * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1.NormalizedVertex} - * - * @typedef BoundingPoly - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} - */ -const BoundingPoly = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A 3D position in the image, used primarily for Face detection landmarks. - * A valid Position must have both x and y coordinates. - * The position coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @property {number} z - * Z coordinate (or depth). - * - * @typedef Position - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/geometry.proto} - */ -const Position = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js deleted file mode 100644 index 57de73951a8..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_image_annotator.js +++ /dev/null @@ -1,1525 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * The type of Google Cloud Vision API detection to perform, and the maximum - * number of results to return for that type. Multiple `Feature` objects can - * be specified in the `features` list. - * - * @property {number} type - * The feature type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1.Type} - * - * @property {number} maxResults - * Maximum number of results of this type. Does not apply to - * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. - * - * @property {string} model - * Model to use for the feature. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef Feature - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const Feature = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of Google Cloud Vision API feature to be extracted. - * - * @enum {number} - * @memberof google.cloud.vision.v1 - */ - Type: { - - /** - * Unspecified feature type. - */ - TYPE_UNSPECIFIED: 0, - - /** - * Run face detection. - */ - FACE_DETECTION: 1, - - /** - * Run landmark detection. - */ - LANDMARK_DETECTION: 2, - - /** - * Run logo detection. - */ - LOGO_DETECTION: 3, - - /** - * Run label detection. - */ - LABEL_DETECTION: 4, - - /** - * Run text detection / optical character recognition (OCR). Text detection - * is optimized for areas of text within a larger image; if the image is - * a document, use `DOCUMENT_TEXT_DETECTION` instead. - */ - TEXT_DETECTION: 5, - - /** - * Run dense text document OCR. Takes precedence when both - * `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. - */ - DOCUMENT_TEXT_DETECTION: 11, - - /** - * Run Safe Search to detect potentially unsafe - * or undesirable content. - */ - SAFE_SEARCH_DETECTION: 6, - - /** - * Compute a set of image properties, such as the - * image's dominant colors. - */ - IMAGE_PROPERTIES: 7, - - /** - * Run crop hints. - */ - CROP_HINTS: 9, - - /** - * Run web detection. - */ - WEB_DETECTION: 10, - - /** - * Run Product Search. - */ - PRODUCT_SEARCH: 12, - - /** - * Run localizer for object detection. - */ - OBJECT_LOCALIZATION: 19 - } -}; - -/** - * External image source (Google Cloud Storage or web URL image location). - * - * @property {string} gcsImageUri - * **Use `image_uri` instead.** - * - * The Google Cloud Storage URI of the form - * `gs://bucket_name/object_name`. Object versioning is not supported. See - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. - * - * @property {string} imageUri - * The URI of the source image. Can be either: - * - * 1. A Google Cloud Storage URI of the form - * `gs://bucket_name/object_name`. Object versioning is not supported. See - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris) for more - * info. - * - * 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from - * HTTP/HTTPS URLs, Google cannot guarantee that the request will be - * completed. Your request may fail if the specified host denies the - * request (e.g. due to request throttling or DOS prevention), or if Google - * throttles requests to the site for abuse prevention. You should not - * depend on externally-hosted images for production applications. - * - * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes - * precedence. - * - * @typedef ImageSource - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const ImageSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Client image to perform Google Cloud Vision API tasks over. - * - * @property {Buffer} content - * Image content, represented as a stream of bytes. - * Note: As with all `bytes` fields, protobuffers use a pure binary - * representation, whereas JSON representations use base64. - * - * @property {Object} source - * Google Cloud Storage image location, or publicly-accessible image - * URL. If both `content` and `source` are provided for an image, `content` - * takes precedence and is used to perform the image annotation request. - * - * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1.ImageSource} - * - * @typedef Image - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const Image = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A face annotation object contains the results of face detection. - * - * @property {Object} boundingPoly - * The bounding polygon around the face. The coordinates of the bounding box - * are in the original image's scale. - * The bounding box is computed to "frame" the face in accordance with human - * expectations. It is based on the landmarker results. - * Note that one or more x and/or y coordinates may not be generated in the - * `BoundingPoly` (the polygon will be unbounded) if only a partial face - * appears in the image to be annotated. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {Object} fdBoundingPoly - * The `fd_bounding_poly` bounding polygon is tighter than the - * `boundingPoly`, and encloses only the skin part of the face. Typically, it - * is used to eliminate the face from any image analysis that detects the - * "amount of skin" visible in an image. It is not based on the - * landmarker results, only on the initial face detection, hence - * the fd (face detection) prefix. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {Object[]} landmarks - * Detected face landmarks. - * - * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1.Landmark} - * - * @property {number} rollAngle - * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation - * of the face relative to the image vertical about the axis perpendicular to - * the face. Range [-180,180]. - * - * @property {number} panAngle - * Yaw angle, which indicates the leftward/rightward angle that the face is - * pointing relative to the vertical plane perpendicular to the image. Range - * [-180,180]. - * - * @property {number} tiltAngle - * Pitch angle, which indicates the upwards/downwards angle that the face is - * pointing relative to the image's horizontal plane. Range [-180,180]. - * - * @property {number} detectionConfidence - * Detection confidence. Range [0, 1]. - * - * @property {number} landmarkingConfidence - * Face landmarking confidence. Range [0, 1]. - * - * @property {number} joyLikelihood - * Joy likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} sorrowLikelihood - * Sorrow likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} angerLikelihood - * Anger likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} surpriseLikelihood - * Surprise likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} underExposedLikelihood - * Under-exposed likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} blurredLikelihood - * Blurred likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} headwearLikelihood - * Headwear likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @typedef FaceAnnotation - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const FaceAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * A face-specific landmark (for example, a face feature). - * - * @property {number} type - * Face landmark type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1.Type} - * - * @property {Object} position - * Face landmark position. - * - * This object should have the same structure as [Position]{@link google.cloud.vision.v1.Position} - * - * @typedef Landmark - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ - Landmark: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Face landmark (feature) type. - * Left and right are defined from the vantage of the viewer of the image - * without considering mirror projections typical of photos. So, `LEFT_EYE`, - * typically, is the person's right eye. - * - * @enum {number} - * @memberof google.cloud.vision.v1 - */ - Type: { - - /** - * Unknown face landmark detected. Should not be filled. - */ - UNKNOWN_LANDMARK: 0, - - /** - * Left eye. - */ - LEFT_EYE: 1, - - /** - * Right eye. - */ - RIGHT_EYE: 2, - - /** - * Left of left eyebrow. - */ - LEFT_OF_LEFT_EYEBROW: 3, - - /** - * Right of left eyebrow. - */ - RIGHT_OF_LEFT_EYEBROW: 4, - - /** - * Left of right eyebrow. - */ - LEFT_OF_RIGHT_EYEBROW: 5, - - /** - * Right of right eyebrow. - */ - RIGHT_OF_RIGHT_EYEBROW: 6, - - /** - * Midpoint between eyes. - */ - MIDPOINT_BETWEEN_EYES: 7, - - /** - * Nose tip. - */ - NOSE_TIP: 8, - - /** - * Upper lip. - */ - UPPER_LIP: 9, - - /** - * Lower lip. - */ - LOWER_LIP: 10, - - /** - * Mouth left. - */ - MOUTH_LEFT: 11, - - /** - * Mouth right. - */ - MOUTH_RIGHT: 12, - - /** - * Mouth center. - */ - MOUTH_CENTER: 13, - - /** - * Nose, bottom right. - */ - NOSE_BOTTOM_RIGHT: 14, - - /** - * Nose, bottom left. - */ - NOSE_BOTTOM_LEFT: 15, - - /** - * Nose, bottom center. - */ - NOSE_BOTTOM_CENTER: 16, - - /** - * Left eye, top boundary. - */ - LEFT_EYE_TOP_BOUNDARY: 17, - - /** - * Left eye, right corner. - */ - LEFT_EYE_RIGHT_CORNER: 18, - - /** - * Left eye, bottom boundary. - */ - LEFT_EYE_BOTTOM_BOUNDARY: 19, - - /** - * Left eye, left corner. - */ - LEFT_EYE_LEFT_CORNER: 20, - - /** - * Right eye, top boundary. - */ - RIGHT_EYE_TOP_BOUNDARY: 21, - - /** - * Right eye, right corner. - */ - RIGHT_EYE_RIGHT_CORNER: 22, - - /** - * Right eye, bottom boundary. - */ - RIGHT_EYE_BOTTOM_BOUNDARY: 23, - - /** - * Right eye, left corner. - */ - RIGHT_EYE_LEFT_CORNER: 24, - - /** - * Left eyebrow, upper midpoint. - */ - LEFT_EYEBROW_UPPER_MIDPOINT: 25, - - /** - * Right eyebrow, upper midpoint. - */ - RIGHT_EYEBROW_UPPER_MIDPOINT: 26, - - /** - * Left ear tragion. - */ - LEFT_EAR_TRAGION: 27, - - /** - * Right ear tragion. - */ - RIGHT_EAR_TRAGION: 28, - - /** - * Left eye pupil. - */ - LEFT_EYE_PUPIL: 29, - - /** - * Right eye pupil. - */ - RIGHT_EYE_PUPIL: 30, - - /** - * Forehead glabella. - */ - FOREHEAD_GLABELLA: 31, - - /** - * Chin gnathion. - */ - CHIN_GNATHION: 32, - - /** - * Chin left gonion. - */ - CHIN_LEFT_GONION: 33, - - /** - * Chin right gonion. - */ - CHIN_RIGHT_GONION: 34 - } - } -}; - -/** - * Detected entity location information. - * - * @property {Object} latLng - * lat/long location coordinates. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LocationInfo - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const LocationInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A `Property` consists of a user-supplied name/value pair. - * - * @property {string} name - * Name of the property. - * - * @property {string} value - * Value of the property. - * - * @property {number} uint64Value - * Value of numeric properties. - * - * @typedef Property - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const Property = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of detected entity features. - * - * @property {string} mid - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} locale - * The language code for the locale in which the entity textual - * `description` is expressed. - * - * @property {string} description - * Entity textual description, expressed in its `locale` language. - * - * @property {number} score - * Overall score of the result. Range [0, 1]. - * - * @property {number} confidence - * **Deprecated. Use `score` instead.** - * The accuracy of the entity detection in an image. - * For example, for an image in which the "Eiffel Tower" entity is detected, - * this field represents the confidence that there is a tower in the query - * image. Range [0, 1]. - * - * @property {number} topicality - * The relevancy of the ICA (Image Content Annotation) label to the - * image. For example, the relevancy of "tower" is likely higher to an image - * containing the detected "Eiffel Tower" than to an image containing a - * detected distant towering building, even though the confidence that - * there is a tower in each image may be the same. Range [0, 1]. - * - * @property {Object} boundingPoly - * Image region to which this entity belongs. Not produced - * for `LABEL_DETECTION` features. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {Object[]} locations - * The location information for the detected entity. Multiple - * `LocationInfo` elements can be present because one location may - * indicate the location of the scene in the image, and another location - * may indicate the location of the place where the image was taken. - * Location information is usually present for landmarks. - * - * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1.LocationInfo} - * - * @property {Object[]} properties - * Some entities may have optional user-supplied `Property` (name/value) - * fields, such a score or string that qualifies the entity. - * - * This object should have the same structure as [Property]{@link google.cloud.vision.v1.Property} - * - * @typedef EntityAnnotation - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const EntityAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of detected objects with bounding boxes. - * - * @property {string} mid - * Object ID that should align with EntityAnnotation mid. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {string} name - * Object name, expressed in its `language_code` language. - * - * @property {number} score - * Score of the result. Range [0, 1]. - * - * @property {Object} boundingPoly - * Image region to which this object belongs. This must be populated. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @typedef LocalizedObjectAnnotation - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.LocalizedObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const LocalizedObjectAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of features pertaining to the image, computed by computer vision - * methods over safe-search verticals (for example, adult, spoof, medical, - * violence). - * - * @property {number} adult - * Represents the adult content likelihood for the image. Adult content may - * contain elements such as nudity, pornographic images or cartoons, or - * sexual activities. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} spoof - * Spoof likelihood. The likelihood that an modification - * was made to the image's canonical version to make it appear - * funny or offensive. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} medical - * Likelihood that this is a medical image. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} violence - * Likelihood that this image contains violent content. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} racy - * Likelihood that the request image contains racy content. Racy content may - * include (but is not limited to) skimpy or sheer clothing, strategically - * covered nudity, lewd or provocative poses, or close-ups of sensitive - * body areas. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1.Likelihood} - * - * @property {number} adultConfidence - * Confidence of adult_score. Range [0, 1]. 0 means not confident, 1 means - * very confident. - * - * @property {number} spoofConfidence - * Confidence of spoof_score. Range [0, 1]. 0 means not confident, 1 means - * very confident. - * - * @property {number} medicalConfidence - * Confidence of medical_score. Range [0, 1]. 0 means not confident, 1 means - * very confident. - * - * @property {number} violenceConfidence - * Confidence of violence_score. Range [0, 1]. 0 means not confident, 1 means - * very confident. - * - * @property {number} racyConfidence - * Confidence of racy_score. Range [0, 1]. 0 means not confident, 1 means very - * confident. - * - * @property {number} nsfwConfidence - * Confidence of nsfw_score. Range [0, 1]. 0 means not confident, 1 means very - * confident. - * - * @typedef SafeSearchAnnotation - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const SafeSearchAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Rectangle determined by min and max `LatLng` pairs. - * - * @property {Object} minLatLng - * Min lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @property {Object} maxLatLng - * Max lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LatLongRect - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const LatLongRect = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Color information consists of RGB channels, score, and the fraction of - * the image that the color occupies in the image. - * - * @property {Object} color - * RGB components of the color. - * - * This object should have the same structure as [Color]{@link google.type.Color} - * - * @property {number} score - * Image-specific score for this color. Value in range [0, 1]. - * - * @property {number} pixelFraction - * The fraction of pixels the color occupies in the image. - * Value in range [0, 1]. - * - * @typedef ColorInfo - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const ColorInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of dominant colors and their corresponding scores. - * - * @property {Object[]} colors - * RGB color values with their score and pixel fraction. - * - * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1.ColorInfo} - * - * @typedef DominantColorsAnnotation - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const DominantColorsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Stores image properties, such as dominant colors. - * - * @property {Object} dominantColors - * If present, dominant colors completed successfully. - * - * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1.DominantColorsAnnotation} - * - * @typedef ImageProperties - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const ImageProperties = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Single crop hint that is used to generate a new crop when serving an image. - * - * @property {Object} boundingPoly - * The bounding polygon for the crop region. The coordinates of the bounding - * box are in the original image's scale. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {number} confidence - * Confidence of this being a salient region. Range [0, 1]. - * - * @property {number} importanceFraction - * Fraction of importance of this salient region with respect to the original - * image. - * - * @typedef CropHint - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const CropHint = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of crop hints that are used to generate new crops when serving images. - * - * @property {Object[]} cropHints - * Crop hint results. - * - * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1.CropHint} - * - * @typedef CropHintsAnnotation - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const CropHintsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for crop hints annotation request. - * - * @property {number[]} aspectRatios - * Aspect ratios in floats, representing the ratio of the width to the height - * of the image. For example, if the desired aspect ratio is 4/3, the - * corresponding float value should be 1.33333. If not specified, the - * best possible crop is returned. The number of provided aspect ratios is - * limited to a maximum of 16; any aspect ratios provided after the 16th are - * ignored. - * - * @typedef CropHintsParams - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const CropHintsParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for web detection request. - * - * @property {boolean} includeGeoResults - * Whether to include results derived from the geo information in the image. - * - * @typedef WebDetectionParams - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const WebDetectionParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Image context and/or feature-specific parameters. - * - * @property {Object} latLongRect - * Not used. - * - * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1.LatLongRect} - * - * @property {string[]} languageHints - * List of languages to use for TEXT_DETECTION. In most cases, an empty value - * yields the best results since it enables automatic language detection. For - * languages based on the Latin alphabet, setting `language_hints` is not - * needed. In rare cases, when the language of the text in the image is known, - * setting a hint will help get better results (although it will be a - * significant hindrance if the hint is wrong). Text detection returns an - * error if one or more of the specified languages is not one of the - * [supported languages](https://cloud.google.com/vision/docs/languages). - * - * @property {Object} cropHintsParams - * Parameters for crop hints annotation request. - * - * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1.CropHintsParams} - * - * @property {Object} productSearchParams - * Parameters for product search. - * - * This object should have the same structure as [ProductSearchParams]{@link google.cloud.vision.v1.ProductSearchParams} - * - * @property {Object} webDetectionParams - * Parameters for web detection. - * - * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1.WebDetectionParams} - * - * @typedef ImageContext - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const ImageContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request for performing Google Cloud Vision API tasks over a user-provided - * image, with user-requested features, and with context information. - * - * @property {Object} image - * The image to be processed. - * - * This object should have the same structure as [Image]{@link google.cloud.vision.v1.Image} - * - * @property {Object[]} features - * Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1.ImageContext} - * - * @typedef AnnotateImageRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AnnotateImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * If an image was produced from a file (e.g. a PDF), this message gives - * information about the source of that image. - * - * @property {string} uri - * The URI of the file used to produce the image. - * - * @property {number} pageNumber - * If the file was a PDF or TIFF, this field gives the page number within - * the file used to produce the image. - * - * @typedef ImageAnnotationContext - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const ImageAnnotationContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an image annotation request. - * - * @property {Object[]} faceAnnotations - * If present, face detection has completed successfully. - * - * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1.FaceAnnotation} - * - * @property {Object[]} landmarkAnnotations - * If present, landmark detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} - * - * @property {Object[]} logoAnnotations - * If present, logo detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} - * - * @property {Object[]} labelAnnotations - * If present, label detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} - * - * @property {Object[]} localizedObjectAnnotations - * If present, localized object detection has completed successfully. - * This will be sorted descending by confidence score. - * - * This object should have the same structure as [LocalizedObjectAnnotation]{@link google.cloud.vision.v1.LocalizedObjectAnnotation} - * - * @property {Object[]} textAnnotations - * If present, text (OCR) detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1.EntityAnnotation} - * - * @property {Object} fullTextAnnotation - * If present, text (OCR) detection or document (OCR) text detection has - * completed successfully. - * This annotation provides the structural hierarchy for the OCR detected - * text. - * - * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1.TextAnnotation} - * - * @property {Object} safeSearchAnnotation - * If present, safe-search annotation has completed successfully. - * - * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1.SafeSearchAnnotation} - * - * @property {Object} imagePropertiesAnnotation - * If present, image properties were extracted successfully. - * - * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1.ImageProperties} - * - * @property {Object} cropHintsAnnotation - * If present, crop hints have completed successfully. - * - * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1.CropHintsAnnotation} - * - * @property {Object} webDetection - * If present, web detection has completed successfully. - * - * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1.WebDetection} - * - * @property {Object} productSearchResults - * If present, product search has completed successfully. - * - * This object should have the same structure as [ProductSearchResults]{@link google.cloud.vision.v1.ProductSearchResults} - * - * @property {Object} error - * If set, represents the error message for the operation. - * Note that filled-in image annotations are guaranteed to be - * correct, even when `error` is set. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @property {Object} context - * If present, contextual information is needed to understand where this image - * comes from. - * - * This object should have the same structure as [ImageAnnotationContext]{@link google.cloud.vision.v1.ImageAnnotationContext} - * - * @typedef AnnotateImageResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AnnotateImageResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Multiple image annotation requests are batched into a single service call. - * - * @property {Object[]} requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} - * - * @property {string} parent - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * - * @typedef BatchAnnotateImagesRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const BatchAnnotateImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to a batch image annotation request. - * - * @property {Object[]} responses - * Individual responses to image annotation requests within the batch. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1.AnnotateImageResponse} - * - * @typedef BatchAnnotateImagesResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const BatchAnnotateImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A request to annotate one single file, e.g. a PDF, TIFF or GIF file. - * - * @property {Object} inputConfig - * Required. Information about the input file. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1.InputConfig} - * - * @property {Object[]} features - * Required. Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image(s) in the file. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1.ImageContext} - * - * @property {number[]} pages - * Pages of the file to perform image annotation. - * - * Pages starts from 1, we assume the first page of the file is page 1. - * At most 5 pages are supported per request. Pages can be negative. - * - * Page 1 means the first page. - * Page 2 means the second page. - * Page -1 means the last page. - * Page -2 means the second to the last page. - * - * If the file is GIF instead of PDF or TIFF, page refers to GIF frames. - * - * If this field is empty, by default the service performs image annotation - * for the first 5 pages of the file. - * - * @typedef AnnotateFileRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AnnotateFileRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to a single file annotation request. A file may contain one or more - * images, which individually have their own responses. - * - * @property {Object} inputConfig - * Information about the file for which this response is generated. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1.InputConfig} - * - * @property {Object[]} responses - * Individual responses to images found within the file. This field will be - * empty if the `error` field is set. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1.AnnotateImageResponse} - * - * @property {number} totalPages - * This field gives the total number of pages in the file. - * - * @property {Object} error - * If set, represents the error message for the failed request. The - * `responses` field will not be set in this case. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef AnnotateFileResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A list of requests to annotate files using the BatchAnnotateFiles API. - * - * @property {Object[]} requests - * Required. The list of file annotation requests. Right now we support only one - * AnnotateFileRequest in BatchAnnotateFilesRequest. - * - * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1.AnnotateFileRequest} - * - * @property {string} parent - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * - * @typedef BatchAnnotateFilesRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.BatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const BatchAnnotateFilesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A list of file annotation responses. - * - * @property {Object[]} responses - * The list of file annotation responses, each response corresponding to each - * AnnotateFileRequest in BatchAnnotateFilesRequest. - * - * This object should have the same structure as [AnnotateFileResponse]{@link google.cloud.vision.v1.AnnotateFileResponse} - * - * @typedef BatchAnnotateFilesResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.BatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const BatchAnnotateFilesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * An offline file annotation request. - * - * @property {Object} inputConfig - * Required. Information about the input file. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1.InputConfig} - * - * @property {Object[]} features - * Required. Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image(s) in the file. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1.ImageContext} - * - * @property {Object} outputConfig - * Required. The desired output location and metadata (e.g. format). - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} - * - * @typedef AsyncAnnotateFileRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AsyncAnnotateFileRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The response for a single offline file annotation request. - * - * @property {Object} outputConfig - * The output location and metadata from AsyncAnnotateFileRequest. - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} - * - * @typedef AsyncAnnotateFileResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AsyncAnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request for async image annotation for a list of images. - * - * @property {Object[]} requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} - * - * @property {Object} outputConfig - * Required. The desired output location and metadata (e.g. format). - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} - * - * @property {string} parent - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * - * @typedef AsyncBatchAnnotateImagesRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AsyncBatchAnnotateImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an async batch image annotation request. - * - * @property {Object} outputConfig - * The output location and metadata from AsyncBatchAnnotateImagesRequest. - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} - * - * @typedef AsyncBatchAnnotateImagesResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AsyncBatchAnnotateImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Multiple async file annotation requests are batched into a single service - * call. - * - * @property {Object[]} requests - * Required. Individual async file annotation requests for this batch. - * - * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1.AsyncAnnotateFileRequest} - * - * @property {string} parent - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * - * @typedef AsyncBatchAnnotateFilesRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AsyncBatchAnnotateFilesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an async batch file annotation request. - * - * @property {Object[]} responses - * The list of file annotation responses, one for each request in - * AsyncBatchAnnotateFilesRequest. - * - * This object should have the same structure as [AsyncAnnotateFileResponse]{@link google.cloud.vision.v1.AsyncAnnotateFileResponse} - * - * @typedef AsyncBatchAnnotateFilesResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const AsyncBatchAnnotateFilesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The desired input location and metadata. - * - * @property {Object} gcsSource - * The Google Cloud Storage location to read the input from. - * - * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1.GcsSource} - * - * @property {Buffer} content - * File content, represented as a stream of bytes. - * Note: As with all `bytes` fields, protobuffers use a pure binary - * representation, whereas JSON representations use base64. - * - * Currently, this field only works for BatchAnnotateFiles requests. It does - * not work for AsyncBatchAnnotateFiles requests. - * - * @property {string} mimeType - * The type of the file. Currently only "application/pdf", "image/tiff" and - * "image/gif" are supported. Wildcards are not supported. - * - * @typedef InputConfig - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const InputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The desired output location and metadata. - * - * @property {Object} gcsDestination - * The Google Cloud Storage location to write the output(s) to. - * - * This object should have the same structure as [GcsDestination]{@link google.cloud.vision.v1.GcsDestination} - * - * @property {number} batchSize - * The max number of response protos to put into each output JSON file on - * Google Cloud Storage. - * The valid range is [1, 100]. If not specified, the default value is 20. - * - * For example, for one pdf file with 100 pages, 100 response protos will - * be generated. If `batch_size` = 20, then 5 json files each - * containing 20 response protos will be written under the prefix - * `gcs_destination`.`uri`. - * - * Currently, batch_size only applies to GcsDestination, with potential future - * support for other output configurations. - * - * @typedef OutputConfig - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const OutputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location where the input will be read from. - * - * @property {string} uri - * Google Cloud Storage URI for the input file. This must only be a - * Google Cloud Storage object. Wildcards are not currently supported. - * - * @typedef GcsSource - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const GcsSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location where the output will be written to. - * - * @property {string} uri - * Google Cloud Storage URI prefix where the results will be stored. Results - * will be in JSON format and preceded by its corresponding input URI prefix. - * This field can either represent a gcs file prefix or gcs directory. In - * either case, the uri should be unique because in order to get all of the - * output files, you will need to do a wildcard gcs search on the uri prefix - * you provide. - * - * Examples: - * - * * File Prefix: gs://bucket-name/here/filenameprefix The output files - * will be created in gs://bucket-name/here/ and the names of the - * output files will begin with "filenameprefix". - * - * * Directory Prefix: gs://bucket-name/some/location/ The output files - * will be created in gs://bucket-name/some/location/ and the names of the - * output files could be anything because there was no filename prefix - * specified. - * - * If multiple outputs, each response is still AnnotateFileResponse, each of - * which contains some subset of the full list of AnnotateImageResponse. - * Multiple outputs can happen if, for example, the output JSON is too large - * and overflows into multiple sharded files. - * - * @typedef GcsDestination - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const GcsDestination = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Contains metadata for the BatchAnnotateImages operation. - * - * @property {number} state - * Current state of the batch operation. - * - * The number should be among the values of [State]{@link google.cloud.vision.v1.State} - * - * @property {Object} createTime - * The time when the batch request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * The time when the operation result was last updated. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef OperationMetadata - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/image_annotator.proto} - */ -const OperationMetadata = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Batch operation states. - * - * @enum {number} - * @memberof google.cloud.vision.v1 - */ - State: { - - /** - * Invalid. - */ - STATE_UNSPECIFIED: 0, - - /** - * Request is received. - */ - CREATED: 1, - - /** - * Request is actively being processed. - */ - RUNNING: 2, - - /** - * The batch processing is done. - */ - DONE: 3, - - /** - * The batch processing was cancelled. - */ - CANCELLED: 4 - } -}; - -/** - * A bucketized representation of likelihood, which is intended to give clients - * highly stable results across model upgrades. - * - * @enum {number} - * @memberof google.cloud.vision.v1 - */ -const Likelihood = { - - /** - * Unknown likelihood. - */ - UNKNOWN: 0, - - /** - * It is very unlikely. - */ - VERY_UNLIKELY: 1, - - /** - * It is unlikely. - */ - UNLIKELY: 2, - - /** - * It is possible. - */ - POSSIBLE: 3, - - /** - * It is likely. - */ - LIKELY: 4, - - /** - * It is very likely. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js deleted file mode 100644 index 384a356d7a7..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search.js +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Parameters for a product search request. - * - * @property {Object} boundingPoly - * The bounding polygon around the area of interest in the image. - * Optional. If it is not specified, system discretion will be applied. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {string} productSet - * The resource name of a ProductSet to be searched for similar images. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. - * - * @property {string[]} productCategories - * The list of product categories to search in. Currently, we only consider - * the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", - * "packagedgoods-v1", or "general-v1" should be specified. The legacy - * categories "homegoods", "apparel", and "toys" are still supported but will - * be deprecated. For new products, please use "homegoods-v2", "apparel-v2", - * or "toys-v2" for better product search accuracy. It is recommended to - * migrate existing products to these categories as well. - * - * @property {string} filter - * The filtering expression. This can be used to restrict search results based - * on Product labels. We currently support an AND of OR of key-value - * expressions, where each expression within an OR must have the same key. An - * '=' should be used to connect the key and value. - * - * For example, "(color = red OR color = blue) AND brand = Google" is - * acceptable, but "(color = red OR brand = Google)" is not acceptable. - * "color: red" is not acceptable because it uses a ':' instead of an '='. - * - * @typedef ProductSearchParams - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ProductSearchParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} - */ -const ProductSearchParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Results for a product search request. - * - * @property {Object} indexTime - * Timestamp of the index which provided these results. Products added to the - * product set and products removed from the product set after this time are - * not reflected in the current results. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object[]} results - * List of results, one for each product match. - * - * This object should have the same structure as [Result]{@link google.cloud.vision.v1.Result} - * - * @property {Object[]} productGroupedResults - * List of results grouped by products detected in the query image. Each entry - * corresponds to one bounding polygon in the query image, and contains the - * matching products specific to that region. There may be duplicate product - * matches in the union of all the per-product results. - * - * This object should have the same structure as [GroupedResult]{@link google.cloud.vision.v1.GroupedResult} - * - * @typedef ProductSearchResults - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ProductSearchResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} - */ -const ProductSearchResults = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Information about a product. - * - * @property {Object} product - * The Product. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} - * - * @property {number} score - * A confidence level on the match, ranging from 0 (no confidence) to - * 1 (full confidence). - * - * @property {string} image - * The resource name of the image from the product that is the closest match - * to the query. - * - * @typedef Result - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ProductSearchResults.Result definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} - */ - Result: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Prediction for what the object in the bounding box is. - * - * @property {string} mid - * Object ID that should align with EntityAnnotation mid. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {string} name - * Object name, expressed in its `language_code` language. - * - * @property {number} score - * Score of the result. Range [0, 1]. - * - * @typedef ObjectAnnotation - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} - */ - ObjectAnnotation: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Information about the products similar to a single product in a query - * image. - * - * @property {Object} boundingPoly - * The bounding polygon around the product detected in the query image. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {Object[]} results - * List of results, one for each product match. - * - * This object should have the same structure as [Result]{@link google.cloud.vision.v1.Result} - * - * @property {Object[]} objectAnnotations - * List of generic predictions for the object in the bounding box. - * - * This object should have the same structure as [ObjectAnnotation]{@link google.cloud.vision.v1.ObjectAnnotation} - * - * @typedef GroupedResult - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ProductSearchResults.GroupedResult definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search.proto} - */ - GroupedResult: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js deleted file mode 100644 index 48558d59f03..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_product_search_service.js +++ /dev/null @@ -1,881 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A Product contains ReferenceImages. - * - * @property {string} name - * The resource name of the product. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * - * This field is ignored when creating a product. - * - * @property {string} displayName - * The user-provided name for this Product. Must not be empty. Must be at most - * 4096 characters long. - * - * @property {string} description - * User-provided metadata to be stored with this product. Must be at most 4096 - * characters long. - * - * @property {string} productCategory - * Immutable. The category for the product identified by the reference image. This should - * be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories - * "homegoods", "apparel", and "toys" are still supported, but these should - * not be used for new products. - * - * @property {Object[]} productLabels - * Key-value pairs that can be attached to a product. At query time, - * constraints can be specified based on the product_labels. - * - * Note that integer values can be provided as strings, e.g. "1199". Only - * strings with integer values can match a range-based restriction which is - * to be supported soon. - * - * Multiple values can be assigned to the same key. One product may have up to - * 500 product_labels. - * - * Notice that the total number of distinct product_labels over all products - * in one ProductSet cannot exceed 1M, otherwise the product search pipeline - * will refuse to work for that ProductSet. - * - * This object should have the same structure as [KeyValue]{@link google.cloud.vision.v1.KeyValue} - * - * @typedef Product - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Product definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const Product = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * A product label represented as a key-value pair. - * - * @property {string} key - * The key of the label attached to the product. Cannot be empty and cannot - * exceed 128 bytes. - * - * @property {string} value - * The value of the label attached to the product. Cannot be empty and - * cannot exceed 128 bytes. - * - * @typedef KeyValue - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Product.KeyValue definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ - KeyValue: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * A ProductSet contains Products. A ProductSet can contain a maximum of 1 - * million reference images. If the limit is exceeded, periodic indexing will - * fail. - * - * @property {string} name - * The resource name of the ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. - * - * This field is ignored when creating a ProductSet. - * - * @property {string} displayName - * The user-provided name for this ProductSet. Must not be empty. Must be at - * most 4096 characters long. - * - * @property {Object} indexTime - * Output only. The time at which this ProductSet was last indexed. Query - * results will reflect all updates before this time. If this ProductSet has - * never been indexed, this timestamp is the default value - * "1970-01-01T00:00:00Z". - * - * This field is ignored when creating a ProductSet. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} indexError - * Output only. If there was an error with indexing the product set, the field - * is populated. - * - * This field is ignored when creating a ProductSet. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef ProductSet - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ProductSet definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ProductSet = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A `ReferenceImage` represents a product image and its associated metadata, - * such as bounding boxes. - * - * @property {string} name - * The resource name of the reference image. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * - * This field is ignored when creating a reference image. - * - * @property {string} uri - * Required. The Google Cloud Storage URI of the reference image. - * - * The URI must start with `gs://`. - * - * @property {Object[]} boundingPolys - * Optional. Bounding polygons around the areas of interest in the reference image. - * If this field is empty, the system will try to detect regions of - * interest. At most 10 bounding polygons will be used. - * - * The provided shape is converted into a non-rotated rectangle. Once - * converted, the small edge of the rectangle must be greater than or equal - * to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 - * is not). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @typedef ReferenceImage - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ReferenceImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ReferenceImage = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `CreateProduct` method. - * - * @property {string} parent - * Required. The project in which the Product should be created. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {Object} product - * Required. The product to create. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} - * - * @property {string} productId - * A user-supplied resource id for this Product. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * - * @typedef CreateProductRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.CreateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const CreateProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListProducts` method. - * - * @property {string} parent - * Required. The project OR ProductSet from which Products should be listed. - * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListProductsRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ListProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ListProductsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListProducts` method. - * - * @property {Object[]} products - * List of products. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} - * - * @property {string} nextPageToken - * Token to retrieve the next page of results, or empty if there are no more - * results in the list. - * - * @typedef ListProductsResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ListProductsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ListProductsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `GetProduct` method. - * - * @property {string} name - * Required. Resource name of the Product to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef GetProductRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.GetProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const GetProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `UpdateProduct` method. - * - * @property {Object} product - * Required. The Product resource which replaces the one on the server. - * product.name is immutable. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} - * - * @property {Object} updateMask - * The FieldMask that specifies which fields - * to update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask paths include `product_labels`, `display_name`, and - * `description`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * - * @typedef UpdateProductRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.UpdateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const UpdateProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `DeleteProduct` method. - * - * @property {string} name - * Required. Resource name of product to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef DeleteProductRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.DeleteProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const DeleteProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `CreateProductSet` method. - * - * @property {string} parent - * Required. The project in which the ProductSet should be created. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {Object} productSet - * Required. The ProductSet to create. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} - * - * @property {string} productSetId - * A user-supplied resource id for this ProductSet. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * - * @typedef CreateProductSetRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.CreateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const CreateProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListProductSets` method. - * - * @property {string} parent - * Required. The project from which ProductSets should be listed. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListProductSetsRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ListProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ListProductSetsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListProductSets` method. - * - * @property {Object[]} productSets - * List of ProductSets. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} - * - * @property {string} nextPageToken - * Token to retrieve the next page of results, or empty if there are no more - * results in the list. - * - * @typedef ListProductSetsResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ListProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ListProductSetsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `GetProductSet` method. - * - * @property {string} name - * Required. Resource name of the ProductSet to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` - * - * @typedef GetProductSetRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.GetProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const GetProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `UpdateProductSet` method. - * - * @property {Object} productSet - * Required. The ProductSet resource which replaces the one on the server. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} - * - * @property {Object} updateMask - * The FieldMask that specifies which fields to - * update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask path is `display_name`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * - * @typedef UpdateProductSetRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.UpdateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const UpdateProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `DeleteProductSet` method. - * - * @property {string} name - * Required. Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @typedef DeleteProductSetRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.DeleteProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const DeleteProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `CreateReferenceImage` method. - * - * @property {string} parent - * Required. Resource name of the product in which to create the reference image. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * - * @property {Object} referenceImage - * Required. The reference image to create. - * If an image ID is specified, it is ignored. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} - * - * @property {string} referenceImageId - * A user-supplied resource id for the ReferenceImage to be added. If set, - * the server will attempt to use this value as the resource id. If it is - * already in use, an error is returned with code ALREADY_EXISTS. Must be at - * most 128 characters long. It cannot contain the character `/`. - * - * @typedef CreateReferenceImageRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.CreateReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const CreateReferenceImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListReferenceImages` method. - * - * @property {string} parent - * Required. Resource name of the product containing the reference images. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * A token identifying a page of results to be returned. This is the value - * of `nextPageToken` returned in a previous reference image list request. - * - * Defaults to the first page if not specified. - * - * @typedef ListReferenceImagesRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ListReferenceImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ListReferenceImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListReferenceImages` method. - * - * @property {Object[]} referenceImages - * The list of reference images. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} nextPageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListReferenceImagesResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ListReferenceImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ListReferenceImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `GetReferenceImage` method. - * - * @property {string} name - * Required. The resource name of the ReferenceImage to get. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * - * @typedef GetReferenceImageRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.GetReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const GetReferenceImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `DeleteReferenceImage` method. - * - * @property {string} name - * Required. The resource name of the reference image to delete. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - * - * @typedef DeleteReferenceImageRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.DeleteReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const DeleteReferenceImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `AddProductToProductSet` method. - * - * @property {string} name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @property {string} product - * Required. The resource name for the Product to be added to this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef AddProductToProductSetRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.AddProductToProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const AddProductToProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `RemoveProductFromProductSet` method. - * - * @property {string} name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @property {string} product - * Required. The resource name for the Product to be removed from this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef RemoveProductFromProductSetRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.RemoveProductFromProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const RemoveProductFromProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListProductsInProductSet` method. - * - * @property {string} name - * Required. The ProductSet resource for which to retrieve Products. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListProductsInProductSetRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ListProductsInProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ListProductsInProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListProductsInProductSet` method. - * - * @property {Object[]} products - * The list of Products. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} - * - * @property {string} nextPageToken - * Token to retrieve the next page of results, or empty if there are no more - * results in the list. - * - * @typedef ListProductsInProductSetResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ListProductsInProductSetResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ListProductsInProductSetResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location for a csv file which preserves a list of - * ImportProductSetRequests in each line. - * - * @property {string} csvFileUri - * The Google Cloud Storage URI of the input csv file. - * - * The URI must start with `gs://`. - * - * The format of the input csv file should be one image per line. - * In each line, there are 8 columns. - * - * 1. image-uri - * 2. image-id - * 3. product-set-id - * 4. product-id - * 5. product-category - * 6. product-display-name - * 7. labels - * 8. bounding-poly - * - * The `image-uri`, `product-set-id`, `product-id`, and `product-category` - * columns are required. All other columns are optional. - * - * If the `ProductSet` or `Product` specified by the `product-set-id` and - * `product-id` values does not exist, then the system will create a new - * `ProductSet` or `Product` for the image. In this case, the - * `product-display-name` column refers to - * display_name, the - * `product-category` column refers to - * product_category, and the - * `labels` column refers to product_labels. - * - * The `image-id` column is optional but must be unique if provided. If it is - * empty, the system will automatically assign a unique id to the image. - * - * The `product-display-name` column is optional. If it is empty, the system - * sets the display_name field for the product to a - * space (" "). You can update the `display_name` later by using the API. - * - * If a `Product` with the specified `product-id` already exists, then the - * system ignores the `product-display-name`, `product-category`, and `labels` - * columns. - * - * The `labels` column (optional) is a line containing a list of - * comma-separated key-value pairs, in the following format: - * - * "key_1=value_1,key_2=value_2,...,key_n=value_n" - * - * The `bounding-poly` column (optional) identifies one region of - * interest from the image in the same manner as `CreateReferenceImage`. If - * you do not specify the `bounding-poly` column, then the system will try to - * detect regions of interest automatically. - * - * At most one `bounding-poly` column is allowed per line. If the image - * contains multiple regions of interest, add a line to the CSV file that - * includes the same product information, and the `bounding-poly` values for - * each region of interest. - * - * The `bounding-poly` column must contain an even number of comma-separated - * numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Use - * non-negative integers for absolute bounding polygons, and float values - * in [0, 1] for normalized bounding polygons. - * - * The system will resize the image if the image resolution is too - * large to process (larger than 20MP). - * - * @typedef ImportProductSetsGcsSource - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ImportProductSetsGcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ImportProductSetsGcsSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The input content for the `ImportProductSets` method. - * - * @property {Object} gcsSource - * The Google Cloud Storage location for a csv file which preserves a list - * of ImportProductSetRequests in each line. - * - * This object should have the same structure as [ImportProductSetsGcsSource]{@link google.cloud.vision.v1.ImportProductSetsGcsSource} - * - * @typedef ImportProductSetsInputConfig - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ImportProductSetsInputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ImportProductSetsInputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ImportProductSets` method. - * - * @property {string} parent - * Required. The project in which the ProductSets should be imported. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {Object} inputConfig - * Required. The input content for the list of requests. - * - * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1.ImportProductSetsInputConfig} - * - * @typedef ImportProductSetsRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ImportProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ImportProductSetsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ImportProductSets` method. - * - * This message is returned by the - * google.longrunning.Operations.GetOperation method in the returned - * google.longrunning.Operation.response field. - * - * @property {Object[]} referenceImages - * The list of reference_images that are imported successfully. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} - * - * @property {Object[]} statuses - * The rpc status for each ImportProductSet request, including both successes - * and errors. - * - * The number of statuses here matches the number of lines in the csv file, - * and statuses[i] stores the success or failure status of processing the i-th - * line of the csv, starting from line 0. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef ImportProductSetsResponse - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ImportProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ImportProductSetsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Metadata for the batch operations such as the current state. - * - * This is included in the `metadata` field of the `Operation` returned by the - * `GetOperation` call of the `google::longrunning::Operations` service. - * - * @property {number} state - * The current state of the batch operation. - * - * The number should be among the values of [State]{@link google.cloud.vision.v1.State} - * - * @property {Object} submitTime - * The time when the batch request was submitted to the server. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} endTime - * The time when the batch request is finished and - * google.longrunning.Operation.done is set to true. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef BatchOperationMetadata - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.BatchOperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const BatchOperationMetadata = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Enumerates the possible states that the batch request can be in. - * - * @enum {number} - * @memberof google.cloud.vision.v1 - */ - State: { - - /** - * Invalid. - */ - STATE_UNSPECIFIED: 0, - - /** - * Request is actively being processed. - */ - PROCESSING: 1, - - /** - * The request is done and at least one item has been successfully - * processed. - */ - SUCCESSFUL: 2, - - /** - * The request is done and no item has been successfully processed. - */ - FAILED: 3, - - /** - * The request is done after the longrunning.Operations.CancelOperation has - * been called by the user. Any records that were processed before the - * cancel command are output as specified in the request. - */ - CANCELLED: 4 - } -}; - -/** - * Config to control which ProductSet contains the Products to be deleted. - * - * @property {string} productSetId - * The ProductSet that contains the Products to delete. If a Product is a - * member of product_set_id in addition to other ProductSets, the Product will - * still be deleted. - * - * @typedef ProductSetPurgeConfig - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.ProductSetPurgeConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const ProductSetPurgeConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `PurgeProducts` method. - * - * @property {Object} productSetPurgeConfig - * Specify which ProductSet contains the Products to be deleted. - * - * This object should have the same structure as [ProductSetPurgeConfig]{@link google.cloud.vision.v1.ProductSetPurgeConfig} - * - * @property {boolean} deleteOrphanProducts - * If delete_orphan_products is true, all Products that are not in any - * ProductSet will be deleted. - * - * @property {string} parent - * Required. The project and location in which the Products should be deleted. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {boolean} force - * The default value is false. Override this value to true to actually perform - * the purge. - * - * @typedef PurgeProductsRequest - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.PurgeProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/product_search_service.proto} - */ -const PurgeProductsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js deleted file mode 100644 index 68af8e26c17..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_text_annotation.js +++ /dev/null @@ -1,392 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * TextAnnotation contains a structured representation of OCR extracted text. - * The hierarchy of an OCR extracted text structure is like this: - * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol - * Each structural component, starting from Page, may further have their own - * properties. Properties describe detected languages, breaks etc.. Please refer - * to the TextAnnotation.TextProperty message definition below for more - * detail. - * - * @property {Object[]} pages - * List of pages detected by OCR. - * - * This object should have the same structure as [Page]{@link google.cloud.vision.v1.Page} - * - * @property {string} text - * UTF-8 text detected on the pages. - * - * @typedef TextAnnotation - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} - */ -const TextAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Detected language for a structural component. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {number} confidence - * Confidence of detected language. Range [0, 1]. - * - * @typedef DetectedLanguage - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} - */ - DetectedLanguage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Detected start or end of a structural component. - * - * @property {number} type - * Detected break type. - * - * The number should be among the values of [BreakType]{@link google.cloud.vision.v1.BreakType} - * - * @property {boolean} isPrefix - * True if break prepends the element. - * - * @typedef DetectedBreak - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} - */ - DetectedBreak: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Enum to denote the type of break found. New line, space etc. - * - * @enum {number} - * @memberof google.cloud.vision.v1 - */ - BreakType: { - - /** - * Unknown break label type. - */ - UNKNOWN: 0, - - /** - * Regular space. - */ - SPACE: 1, - - /** - * Sure space (very wide). - */ - SURE_SPACE: 2, - - /** - * Line-wrapping break. - */ - EOL_SURE_SPACE: 3, - - /** - * End-line hyphen that is not present in text; does not co-occur with - * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. - */ - HYPHEN: 4, - - /** - * Line break that ends a paragraph. - */ - LINE_BREAK: 5 - } - }, - - /** - * Additional information detected on the structural component. - * - * @property {Object[]} detectedLanguages - * A list of detected languages together with confidence. - * - * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1.DetectedLanguage} - * - * @property {Object} detectedBreak - * Detected start or end of a text segment. - * - * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1.DetectedBreak} - * - * @typedef TextProperty - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} - */ - TextProperty: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * Detected page from OCR. - * - * @property {Object} property - * Additional information detected on the page. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} - * - * @property {number} width - * Page width. For PDFs the unit is points. For images (including - * TIFFs) the unit is pixels. - * - * @property {number} height - * Page height. For PDFs the unit is points. For images (including - * TIFFs) the unit is pixels. - * - * @property {Object[]} blocks - * List of blocks of text, images etc on this page. - * - * This object should have the same structure as [Block]{@link google.cloud.vision.v1.Block} - * - * @property {number} confidence - * Confidence of the OCR results on the page. Range [0, 1]. - * - * @typedef Page - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} - */ -const Page = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Logical element on the page. - * - * @property {Object} property - * Additional information detected for the block. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the block. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * - * * when the text is horizontal it might look like: - * - * 0----1 - * | | - * 3----2 - * - * * when it's rotated 180 degrees around the top-left corner it becomes: - * - * 2----3 - * | | - * 1----0 - * - * and the vertex order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {Object[]} paragraphs - * List of paragraphs in this block (if this blocks is of type text). - * - * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1.Paragraph} - * - * @property {number} blockType - * Detected block type (text, image etc) for this block. - * - * The number should be among the values of [BlockType]{@link google.cloud.vision.v1.BlockType} - * - * @property {number} confidence - * Confidence of the OCR results on the block. Range [0, 1]. - * - * @typedef Block - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} - */ -const Block = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of a block (text, image etc) as identified by OCR. - * - * @enum {number} - * @memberof google.cloud.vision.v1 - */ - BlockType: { - - /** - * Unknown block type. - */ - UNKNOWN: 0, - - /** - * Regular text block. - */ - TEXT: 1, - - /** - * Table block. - */ - TABLE: 2, - - /** - * Image block. - */ - PICTURE: 3, - - /** - * Horizontal/vertical line box. - */ - RULER: 4, - - /** - * Barcode block. - */ - BARCODE: 5 - } -}; - -/** - * Structural unit of text representing a number of words in certain order. - * - * @property {Object} property - * Additional information detected for the paragraph. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the paragraph. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertex order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {Object[]} words - * List of all words in this paragraph. - * - * This object should have the same structure as [Word]{@link google.cloud.vision.v1.Word} - * - * @property {number} confidence - * Confidence of the OCR results for the paragraph. Range [0, 1]. - * - * @typedef Paragraph - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} - */ -const Paragraph = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A word representation. - * - * @property {Object} property - * Additional information detected for the word. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the word. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertex order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {Object[]} symbols - * List of symbols in the word. - * The order of the symbols follows the natural reading order. - * - * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1.Symbol} - * - * @property {number} confidence - * Confidence of the OCR results for the word. Range [0, 1]. - * - * @typedef Word - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} - */ -const Word = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A single symbol representation. - * - * @property {Object} property - * Additional information detected for the symbol. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the symbol. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertex order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1.BoundingPoly} - * - * @property {string} text - * The actual UTF-8 representation of the symbol. - * - * @property {number} confidence - * Confidence of the OCR results for the symbol. Range [0, 1]. - * - * @typedef Symbol - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/text_annotation.proto} - */ -const Symbol = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js b/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js deleted file mode 100644 index 751fa14db4d..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/cloud/vision/v1/doc_web_detection.js +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Relevant information for the image from the Internet. - * - * @property {Object[]} webEntities - * Deduced entities from similar images on the Internet. - * - * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1.WebEntity} - * - * @property {Object[]} fullMatchingImages - * Fully matching images from the Internet. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images from the Internet. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} - * - * @property {Object[]} pagesWithMatchingImages - * Web pages containing the matching images from the Internet. - * - * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1.WebPage} - * - * @property {Object[]} visuallySimilarImages - * The visually similar image results. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} - * - * @property {Object[]} bestGuessLabels - * The service's best guess as to the topic of the request image. - * Inferred from similar images on the open web. - * - * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1.WebLabel} - * - * @typedef WebDetection - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} - */ -const WebDetection = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Entity deduced from similar images on the Internet. - * - * @property {string} entityId - * Opaque entity ID. - * - * @property {number} score - * Overall relevancy score for the entity. - * Not normalized and not comparable across different image queries. - * - * @property {string} description - * Canonical description of the entity, in English. - * - * @typedef WebEntity - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} - */ - WebEntity: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for online images. - * - * @property {string} url - * The result image URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the image. - * - * @typedef WebImage - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} - */ - WebImage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for web pages. - * - * @property {string} url - * The result web page URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the web page. - * - * @property {string} pageTitle - * Title for the web page, may contain HTML markups. - * - * @property {Object[]} fullMatchingImages - * Fully matching images on the page. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images on the page. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its - * crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1.WebImage} - * - * @typedef WebPage - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} - */ - WebPage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Label to provide extra metadata for the web detection. - * - * @property {string} label - * Label for extra metadata. - * - * @property {string} languageCode - * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - * For more information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @typedef WebLabel - * @memberof google.cloud.vision.v1 - * @see [google.cloud.vision.v1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1/web_detection.proto} - */ - WebLabel: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 099e418d620..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/longrunning/doc_operations.js +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * This resource represents a long-running operation that is the result of a - * network API call. - * - * @property {string} name - * The server-assigned name, which is only unique within the same service that - * originally returns it. If you use the default HTTP mapping, the - * `name` should be a resource name ending with `operations/{unique_id}`. - * - * @property {Object} metadata - * Service-specific metadata associated with the operation. It typically - * contains progress information and common metadata such as create time. - * Some services might not provide such metadata. Any method that returns a - * long-running operation should document the metadata type, if any. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @property {boolean} done - * If the value is `false`, it means the operation is still in progress. - * If `true`, the operation is completed, and either `error` or `response` is - * available. - * - * @property {Object} error - * The error result of the operation in case of failure or cancellation. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @property {Object} response - * The normal response of the operation in case of success. If the original - * method returns no data on success, such as `Delete`, the response is - * `google.protobuf.Empty`. If the original method is standard - * `Get`/`Create`/`Update`, the response should be the resource. For other - * methods, the response should have the type `XxxResponse`, where `Xxx` - * is the original method name. For example, if the original method name - * is `TakeSnapshot()`, the inferred response type is - * `TakeSnapshotResponse`. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @typedef Operation - * @memberof google.longrunning - * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const Operation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_any.js +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * `Any` contains an arbitrary serialized protocol buffer message along with a - * URL that describes the type of the serialized message. - * - * Protobuf library provides support to pack/unpack Any values in the form - * of utility functions or additional generated methods of the Any type. - * - * Example 1: Pack and unpack a message in C++. - * - * Foo foo = ...; - * Any any; - * any.PackFrom(foo); - * ... - * if (any.UnpackTo(&foo)) { - * ... - * } - * - * Example 2: Pack and unpack a message in Java. - * - * Foo foo = ...; - * Any any = Any.pack(foo); - * ... - * if (any.is(Foo.class)) { - * foo = any.unpack(Foo.class); - * } - * - * Example 3: Pack and unpack a message in Python. - * - * foo = Foo(...) - * any = Any() - * any.Pack(foo) - * ... - * if any.Is(Foo.DESCRIPTOR): - * any.Unpack(foo) - * ... - * - * Example 4: Pack and unpack a message in Go - * - * foo := &pb.Foo{...} - * any, err := ptypes.MarshalAny(foo) - * ... - * foo := &pb.Foo{} - * if err := ptypes.UnmarshalAny(any, foo); err != nil { - * ... - * } - * - * The pack methods provided by protobuf library will by default use - * 'type.googleapis.com/full.type.name' as the type URL and the unpack - * methods only use the fully qualified type name after the last '/' - * in the type URL, for example "foo.bar.com/x/y.z" will yield type - * name "y.z". - * - * - * # JSON - * - * The JSON representation of an `Any` value uses the regular - * representation of the deserialized, embedded message, with an - * additional field `@type` which contains the type URL. Example: - * - * package google.profile; - * message Person { - * string first_name = 1; - * string last_name = 2; - * } - * - * { - * "@type": "type.googleapis.com/google.profile.Person", - * "firstName": , - * "lastName": - * } - * - * If the embedded message type is well-known and has a custom JSON - * representation, that representation will be embedded adding a field - * `value` which holds the custom JSON in addition to the `@type` - * field. Example (for message google.protobuf.Duration): - * - * { - * "@type": "type.googleapis.com/google.protobuf.Duration", - * "value": "1.212s" - * } - * - * @property {string} typeUrl - * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. This string must contain at least - * one "/" character. The last segment of the URL's path must represent - * the fully qualified name of the type (as in - * `path/google.protobuf.Duration`). The name should be in a canonical form - * (e.g., leading "." is not accepted). - * - * In practice, teams usually precompile into the binary all types that they - * expect it to use in the context of Any. However, for URLs which use the - * scheme `http`, `https`, or no scheme, one can optionally set up a type - * server that maps type URLs to message definitions as follows: - * - * * If no scheme is provided, `https` is assumed. - * * An HTTP GET on the URL must yield a google.protobuf.Type - * value in binary format, or produce an error. - * * Applications are allowed to cache lookup results based on the - * URL, or have them precompiled into a binary to avoid any - * lookup. Therefore, binary compatibility needs to be preserved - * on changes to types. (Use versioned type names to manage - * breaking changes.) - * - * Note: this functionality is not currently available in the official - * protobuf release, and it is not used for type URLs beginning with - * type.googleapis.com. - * - * Schemes other than `http`, `https` (or the empty scheme) might be - * used with implementation specific semantics. - * - * @property {Buffer} value - * Must be a valid serialized protocol buffer of the above specified type. - * - * @typedef Any - * @memberof google.protobuf - * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} - */ -const Any = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js deleted file mode 100644 index 1e3961d6609..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_empty.js +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A generic empty message that you can re-use to avoid defining duplicated - * empty messages in your APIs. A typical example is to use it as the request - * or the response type of an API method. For instance: - * - * service Foo { - * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); - * } - * - * The JSON representation for `Empty` is empty JSON object `{}`. - * @typedef Empty - * @memberof google.protobuf - * @see [google.protobuf.Empty definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/empty.proto} - */ -const Empty = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js deleted file mode 100644 index 59e745f36c2..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_field_mask.js +++ /dev/null @@ -1,228 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * `FieldMask` represents a set of symbolic field paths, for example: - * - * paths: "f.a" - * paths: "f.b.d" - * - * Here `f` represents a field in some root message, `a` and `b` - * fields in the message found in `f`, and `d` a field found in the - * message in `f.b`. - * - * Field masks are used to specify a subset of fields that should be - * returned by a get operation or modified by an update operation. - * Field masks also have a custom JSON encoding (see below). - * - * # Field Masks in Projections - * - * When used in the context of a projection, a response message or - * sub-message is filtered by the API to only contain those fields as - * specified in the mask. For example, if the mask in the previous - * example is applied to a response message as follows: - * - * f { - * a : 22 - * b { - * d : 1 - * x : 2 - * } - * y : 13 - * } - * z: 8 - * - * The result will not contain specific values for fields x,y and z - * (their value will be set to the default, and omitted in proto text - * output): - * - * - * f { - * a : 22 - * b { - * d : 1 - * } - * } - * - * A repeated field is not allowed except at the last position of a - * paths string. - * - * If a FieldMask object is not present in a get operation, the - * operation applies to all fields (as if a FieldMask of all fields - * had been specified). - * - * Note that a field mask does not necessarily apply to the - * top-level response message. In case of a REST get operation, the - * field mask applies directly to the response, but in case of a REST - * list operation, the mask instead applies to each individual message - * in the returned resource list. In case of a REST custom method, - * other definitions may be used. Where the mask applies will be - * clearly documented together with its declaration in the API. In - * any case, the effect on the returned resource/resources is required - * behavior for APIs. - * - * # Field Masks in Update Operations - * - * A field mask in update operations specifies which fields of the - * targeted resource are going to be updated. The API is required - * to only change the values of the fields as specified in the mask - * and leave the others untouched. If a resource is passed in to - * describe the updated values, the API ignores the values of all - * fields not covered by the mask. - * - * If a repeated field is specified for an update operation, new values will - * be appended to the existing repeated field in the target resource. Note that - * a repeated field is only allowed in the last position of a `paths` string. - * - * If a sub-message is specified in the last position of the field mask for an - * update operation, then new value will be merged into the existing sub-message - * in the target resource. - * - * For example, given the target message: - * - * f { - * b { - * d: 1 - * x: 2 - * } - * c: [1] - * } - * - * And an update message: - * - * f { - * b { - * d: 10 - * } - * c: [2] - * } - * - * then if the field mask is: - * - * paths: ["f.b", "f.c"] - * - * then the result will be: - * - * f { - * b { - * d: 10 - * x: 2 - * } - * c: [1, 2] - * } - * - * An implementation may provide options to override this default behavior for - * repeated and message fields. - * - * In order to reset a field's value to the default, the field must - * be in the mask and set to the default value in the provided resource. - * Hence, in order to reset all fields of a resource, provide a default - * instance of the resource and set all fields in the mask, or do - * not provide a mask as described below. - * - * If a field mask is not present on update, the operation applies to - * all fields (as if a field mask of all fields has been specified). - * Note that in the presence of schema evolution, this may mean that - * fields the client does not know and has therefore not filled into - * the request will be reset to their default. If this is unwanted - * behavior, a specific service may require a client to always specify - * a field mask, producing an error if not. - * - * As with get operations, the location of the resource which - * describes the updated values in the request message depends on the - * operation kind. In any case, the effect of the field mask is - * required to be honored by the API. - * - * ## Considerations for HTTP REST - * - * The HTTP kind of an update operation which uses a field mask must - * be set to PATCH instead of PUT in order to satisfy HTTP semantics - * (PUT must only be used for full updates). - * - * # JSON Encoding of Field Masks - * - * In JSON, a field mask is encoded as a single string where paths are - * separated by a comma. Fields name in each path are converted - * to/from lower-camel naming conventions. - * - * As an example, consider the following message declarations: - * - * message Profile { - * User user = 1; - * Photo photo = 2; - * } - * message User { - * string display_name = 1; - * string address = 2; - * } - * - * In proto a field mask for `Profile` may look as such: - * - * mask { - * paths: "user.display_name" - * paths: "photo" - * } - * - * In JSON, the same mask is represented as below: - * - * { - * mask: "user.displayName,photo" - * } - * - * # Field Masks and Oneof Fields - * - * Field masks treat fields in oneofs just as regular fields. Consider the - * following message: - * - * message SampleMessage { - * oneof test_oneof { - * string name = 4; - * SubMessage sub_message = 9; - * } - * } - * - * The field mask can be: - * - * mask { - * paths: "name" - * } - * - * Or: - * - * mask { - * paths: "sub_message" - * } - * - * Note that oneof type names ("test_oneof" in this case) cannot be used in - * paths. - * - * ## Field Mask Verification - * - * The implementation of any API method which has a FieldMask type field in the - * request should verify the included field paths, and return an - * `INVALID_ARGUMENT` error if any path is duplicated or unmappable. - * - * @property {string[]} paths - * The set of field mask paths. - * - * @typedef FieldMask - * @memberof google.protobuf - * @see [google.protobuf.FieldMask definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/field_mask.proto} - */ -const FieldMask = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js deleted file mode 100644 index ad801cc9a10..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_timestamp.js +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A Timestamp represents a point in time independent of any time zone or local - * calendar, encoded as a count of seconds and fractions of seconds at - * nanosecond resolution. The count is relative to an epoch at UTC midnight on - * January 1, 1970, in the proleptic Gregorian calendar which extends the - * Gregorian calendar backwards to year one. - * - * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - * second table is needed for interpretation, using a [24-hour linear - * smear](https://developers.google.com/time/smear). - * - * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By - * restricting to that range, we ensure that we can convert to and from [RFC - * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. - * - * # Examples - * - * Example 1: Compute Timestamp from POSIX `time()`. - * - * Timestamp timestamp; - * timestamp.set_seconds(time(NULL)); - * timestamp.set_nanos(0); - * - * Example 2: Compute Timestamp from POSIX `gettimeofday()`. - * - * struct timeval tv; - * gettimeofday(&tv, NULL); - * - * Timestamp timestamp; - * timestamp.set_seconds(tv.tv_sec); - * timestamp.set_nanos(tv.tv_usec * 1000); - * - * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - * - * FILETIME ft; - * GetSystemTimeAsFileTime(&ft); - * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - * - * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z - * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. - * Timestamp timestamp; - * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); - * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); - * - * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - * - * long millis = System.currentTimeMillis(); - * - * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - * .setNanos((int) ((millis % 1000) * 1000000)).build(); - * - * - * Example 5: Compute Timestamp from current time in Python. - * - * timestamp = Timestamp() - * timestamp.GetCurrentTime() - * - * # JSON Mapping - * - * In JSON format, the Timestamp type is encoded as a string in the - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the - * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" - * where {year} is always expressed using four digits while {month}, {day}, - * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional - * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), - * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - * is required. A proto3 JSON serializer should always use UTC (as indicated by - * "Z") when printing the Timestamp type and a proto3 JSON parser should be - * able to accept both UTC and other timezones (as indicated by an offset). - * - * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past - * 01:30 UTC on January 15, 2017. - * - * In JavaScript, one can convert a Date object to this format using the - * standard - * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) - * method. In Python, a standard `datetime.datetime` object can be converted - * to this format using - * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with - * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use - * the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. - * - * @property {number} seconds - * Represents seconds of UTC time since Unix epoch - * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - * 9999-12-31T23:59:59Z inclusive. - * - * @property {number} nanos - * Non-negative fractions of a second at nanosecond resolution. Negative - * second values with fractions must still have non-negative nanos values - * that count forward in time. Must be from 0 to 999,999,999 - * inclusive. - * - * @typedef Timestamp - * @memberof google.protobuf - * @see [google.protobuf.Timestamp definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto} - */ -const Timestamp = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js deleted file mode 100644 index 90e2ff4ab5a..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/protobuf/doc_wrappers.js +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Wrapper message for `float`. - * - * The JSON representation for `FloatValue` is JSON number. - * - * @property {number} value - * The float value. - * - * @typedef FloatValue - * @memberof google.protobuf - * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const FloatValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/rpc/doc_status.js +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * The `Status` type defines a logical error model that is suitable for - * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). Each `Status` message contains - * three pieces of data: error code, error message, and error details. - * - * You can find out more about this error model and how to work with it in the - * [API Design Guide](https://cloud.google.com/apis/design/errors). - * - * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. - * - * @property {string} message - * A developer-facing error message, which should be in English. Any - * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. - * - * @property {Object[]} details - * A list of messages that carry the error details. There is a common set of - * message types for APIs to use. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @typedef Status - * @memberof google.rpc - * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} - */ -const Status = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js deleted file mode 100644 index 9570187d502..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_color.js +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Represents a color in the RGBA color space. This representation is designed - * for simplicity of conversion to/from color representations in various - * languages over compactness; for example, the fields of this representation - * can be trivially provided to the constructor of "java.awt.Color" in Java; it - * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" - * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. - * - * Note: this proto does not carry information about the absolute color space - * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, - * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color - * space. - * - * Example (Java): - * - * import com.google.type.Color; - * - * // ... - * public static java.awt.Color fromProto(Color protocolor) { - * float alpha = protocolor.hasAlpha() - * ? protocolor.getAlpha().getValue() - * : 1.0; - * - * return new java.awt.Color( - * protocolor.getRed(), - * protocolor.getGreen(), - * protocolor.getBlue(), - * alpha); - * } - * - * public static Color toProto(java.awt.Color color) { - * float red = (float) color.getRed(); - * float green = (float) color.getGreen(); - * float blue = (float) color.getBlue(); - * float denominator = 255.0; - * Color.Builder resultBuilder = - * Color - * .newBuilder() - * .setRed(red / denominator) - * .setGreen(green / denominator) - * .setBlue(blue / denominator); - * int alpha = color.getAlpha(); - * if (alpha != 255) { - * result.setAlpha( - * FloatValue - * .newBuilder() - * .setValue(((float) alpha) / denominator) - * .build()); - * } - * return resultBuilder.build(); - * } - * // ... - * - * Example (iOS / Obj-C): - * - * // ... - * static UIColor* fromProto(Color* protocolor) { - * float red = [protocolor red]; - * float green = [protocolor green]; - * float blue = [protocolor blue]; - * FloatValue* alpha_wrapper = [protocolor alpha]; - * float alpha = 1.0; - * if (alpha_wrapper != nil) { - * alpha = [alpha_wrapper value]; - * } - * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; - * } - * - * static Color* toProto(UIColor* color) { - * CGFloat red, green, blue, alpha; - * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { - * return nil; - * } - * Color* result = [[Color alloc] init]; - * [result setRed:red]; - * [result setGreen:green]; - * [result setBlue:blue]; - * if (alpha <= 0.9999) { - * [result setAlpha:floatWrapperWithValue(alpha)]; - * } - * [result autorelease]; - * return result; - * } - * // ... - * - * Example (JavaScript): - * - * // ... - * - * var protoToCssColor = function(rgb_color) { - * var redFrac = rgb_color.red || 0.0; - * var greenFrac = rgb_color.green || 0.0; - * var blueFrac = rgb_color.blue || 0.0; - * var red = Math.floor(redFrac * 255); - * var green = Math.floor(greenFrac * 255); - * var blue = Math.floor(blueFrac * 255); - * - * if (!('alpha' in rgb_color)) { - * return rgbToCssColor_(red, green, blue); - * } - * - * var alphaFrac = rgb_color.alpha.value || 0.0; - * var rgbParams = [red, green, blue].join(','); - * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); - * }; - * - * var rgbToCssColor_ = function(red, green, blue) { - * var rgbNumber = new Number((red << 16) | (green << 8) | blue); - * var hexString = rgbNumber.toString(16); - * var missingZeros = 6 - hexString.length; - * var resultBuilder = ['#']; - * for (var i = 0; i < missingZeros; i++) { - * resultBuilder.push('0'); - * } - * resultBuilder.push(hexString); - * return resultBuilder.join(''); - * }; - * - * // ... - * - * @property {number} red - * The amount of red in the color as a value in the interval [0, 1]. - * - * @property {number} green - * The amount of green in the color as a value in the interval [0, 1]. - * - * @property {number} blue - * The amount of blue in the color as a value in the interval [0, 1]. - * - * @property {Object} alpha - * The fraction of this color that should be applied to the pixel. That is, - * the final pixel color is defined by the equation: - * - * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) - * - * This means that a value of 1.0 corresponds to a solid color, whereas - * a value of 0.0 corresponds to a completely transparent color. This - * uses a wrapper message rather than a simple float scalar so that it is - * possible to distinguish between a default value and the value being unset. - * If omitted, this color object is to be rendered as a solid color - * (as if the alpha value had been explicitly given with a value of 1.0). - * - * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} - * - * @typedef Color - * @memberof google.type - * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} - */ -const Color = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js deleted file mode 100644 index bacbf0e1f48..00000000000 --- a/packages/google-cloud-vision/src/v1/doc/google/type/doc_latlng.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * An object representing a latitude/longitude pair. This is expressed as a pair - * of doubles representing degrees latitude and degrees longitude. Unless - * specified otherwise, this must conform to the - * WGS84 - * standard. Values must be within normalized ranges. - * - * @property {number} latitude - * The latitude in degrees. It must be in the range [-90.0, +90.0]. - * - * @property {number} longitude - * The longitude in degrees. It must be in the range [-180.0, +180.0]. - * - * @typedef LatLng - * @memberof google.type - * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} - */ -const LatLng = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.js b/packages/google-cloud-vision/src/v1/image_annotator_client.js deleted file mode 100644 index b8d83399de5..00000000000 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.js +++ /dev/null @@ -1,677 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const gapicConfig = require('./image_annotator_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); - -const VERSION = require('../../package.json').version; - -/** - * Service that performs Google Cloud Vision API detection tasks over client - * images, such as face, landmark, logo, label, and text detection. The - * ImageAnnotator service returns detected entities from the images. - * - * @class - * @memberof v1 - */ -class ImageAnnotatorClient { - /** - * Construct an instance of ImageAnnotatorClient. - * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - */ - constructor(opts) { - opts = opts || {}; - this._descriptors = {}; - - if (global.isBrowser) { - // If we're in browser, we use gRPC fallback. - opts.fallback = true; - } - - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; - - const servicePath = - opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; - - // Ensure that options include the service address and port. - opts = Object.assign( - { - clientConfig: {}, - port: this.constructor.port, - servicePath, - }, - opts - ); - - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = this.constructor.scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); - - // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth; - - // Determine the client header string. - const clientHeader = []; - - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } - clientHeader.push(`gax/${gaxModule.version}`); - if (opts.fallback) { - clientHeader.push(`gl-web/${gaxModule.version}`); - } else { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); - } - clientHeader.push(`gapic/${VERSION}`); - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - - // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - const protos = gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath - ); - - const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); - - // This API contains "long-running operations", which return a - // an Operation object that allows for tracking of the operation, - // rather than holding a request open. - this.operationsClient = new gaxModule.lro({ - auth: gaxGrpc.auth, - grpc: gaxGrpc.grpc, - }).operationsClient(opts); - - const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( - 'google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse' - ); - const asyncBatchAnnotateImagesMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1.OperationMetadata' - ); - const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( - 'google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse' - ); - const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1.OperationMetadata' - ); - - this._descriptors.longrunning = { - asyncBatchAnnotateImages: new gaxModule.LongrunningDescriptor( - this.operationsClient, - asyncBatchAnnotateImagesResponse.decode.bind( - asyncBatchAnnotateImagesResponse - ), - asyncBatchAnnotateImagesMetadata.decode.bind( - asyncBatchAnnotateImagesMetadata - ) - ), - asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( - this.operationsClient, - asyncBatchAnnotateFilesResponse.decode.bind( - asyncBatchAnnotateFilesResponse - ), - asyncBatchAnnotateFilesMetadata.decode.bind( - asyncBatchAnnotateFilesMetadata - ) - ), - }; - - // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.vision.v1.ImageAnnotator', - gapicConfig, - opts.clientConfig, - {'x-goog-api-client': clientHeader.join(' ')} - ); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this._innerApiCalls = {}; - - // Put together the "service stub" for - // google.cloud.vision.v1.ImageAnnotator. - const imageAnnotatorStub = gaxGrpc.createStub( - opts.fallback - ? protos.lookupService('google.cloud.vision.v1.ImageAnnotator') - : protos.google.cloud.vision.v1.ImageAnnotator, - opts - ); - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const imageAnnotatorStubMethods = [ - 'batchAnnotateImages', - 'batchAnnotateFiles', - 'asyncBatchAnnotateImages', - 'asyncBatchAnnotateFiles', - ]; - for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = imageAnnotatorStub.then( - stub => (...args) => { - return stub[methodName].apply(stub, args); - }, - err => () => { - throw err; - } - ); - this._innerApiCalls[methodName] = gaxModule.createApiCall( - innerCallPromise, - defaults[methodName], - this._descriptors.longrunning[methodName] - ); - } - } - - /** - * The DNS address for this API service. - */ - static get servicePath() { - return 'vision.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - */ - static get apiEndpoint() { - return 'vision.googleapis.com'; - } - - /** - * The port for this API service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform', - 'https://www.googleapis.com/auth/cloud-vision', - ]; - } - - /** - * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. - */ - getProjectId(callback) { - return this.auth.getProjectId(callback); - } - - // ------------------- - // -- Service calls -- - // ------------------- - - /** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} - * @param {string} [request.parent] - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1.BatchAnnotateImagesResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1.BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * client.batchAnnotateImages({requests: requests}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - batchAnnotateImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.batchAnnotateImages(request, options, callback); - } - - /** - * Service that performs image detection and annotation for a batch of files. - * Now only "application/pdf", "image/tiff" and "image/gif" are supported. - * - * This service will extract at most 5 (customers can specify which 5 in - * AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each - * file provided and perform detection and annotation for each image - * extracted. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. The list of file annotation requests. Right now we support only one - * AnnotateFileRequest in BatchAnnotateFilesRequest. - * - * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1.AnnotateFileRequest} - * @param {string} [request.parent] - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1.BatchAnnotateFilesResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1.BatchAnnotateFilesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * client.batchAnnotateFiles({requests: requests}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - batchAnnotateFiles(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.batchAnnotateFiles(request, options, callback); - } - - /** - * Run asynchronous image detection and annotation for a list of images. - * - * Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). - * - * This service will write image annotation outputs to json files in customer - * GCS bucket, each json file containing BatchAnnotateImagesResponse proto. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1.AnnotateImageRequest} - * @param {Object} request.outputConfig - * Required. The desired output location and metadata (e.g. format). - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1.OutputConfig} - * @param {string} [request.parent] - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * const outputConfig = {}; - * const request = { - * requests: requests, - * outputConfig: outputConfig, - * }; - * - * // Handle the operation using the promise pattern. - * client.asyncBatchAnnotateImages(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * const outputConfig = {}; - * const request = { - * requests: requests, - * outputConfig: outputConfig, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.asyncBatchAnnotateImages(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * const outputConfig = {}; - * const request = { - * requests: requests, - * outputConfig: outputConfig, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.asyncBatchAnnotateImages(request); - * - * const [response] = await operation.promise(); - */ - asyncBatchAnnotateImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.asyncBatchAnnotateImages( - request, - options, - callback - ); - } - - /** - * Run asynchronous image detection and annotation for a list of generic - * files, such as PDF files, which may contain multiple pages and multiple - * images per page. Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. Individual async file annotation requests for this batch. - * - * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1.AsyncAnnotateFileRequest} - * @param {string} [request.parent] - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * - * // Handle the operation using the promise pattern. - * client.asyncBatchAnnotateFiles({requests: requests}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * - * // Handle the operation using the event emitter pattern. - * client.asyncBatchAnnotateFiles({requests: requests}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.asyncBatchAnnotateFiles({requests: requests}); - * - * const [response] = await operation.promise(); - */ - asyncBatchAnnotateFiles(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.asyncBatchAnnotateFiles( - request, - options, - callback - ); - } -} - -module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts new file mode 100644 index 00000000000..9536a6b2e8f --- /dev/null +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -0,0 +1,925 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as gax from 'google-gax'; +import { + APICallback, + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, +} from 'google-gax'; +import * as path from 'path'; + +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './image_annotator_client_config.json'; + +const version = require('../../../package.json').version; + +/** + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. + * @class + * @memberof v1 + */ +export class ImageAnnotatorClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _pathTemplates: {[name: string]: gax.PathTemplate}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + imageAnnotatorStub: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ImageAnnotatorClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + */ + + constructor(opts?: ClientOptions) { + // Ensure that options include the service address and port. + const staticMembers = this.constructor as typeof ImageAnnotatorClient; + const servicePath = + opts && opts.servicePath + ? opts.servicePath + : opts && opts.apiEndpoint + ? opts.apiEndpoint + : staticMembers.servicePath; + const port = opts && opts.port ? opts.port : staticMembers.port; + + if (!opts) { + opts = {servicePath, port}; + } + opts.servicePath = opts.servicePath || servicePath; + opts.port = opts.port || port; + opts.clientConfig = opts.clientConfig || {}; + + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { + opts.fallback = true; + } + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; + const gaxGrpc = new gaxModule.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth as gax.GoogleAuth; + + // Determine the client header string. + const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + ); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this._pathTemplates = { + productPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + productSetPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), + referenceImagePathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' + ), + }; + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = gaxModule + .lro({ + auth: this.auth, + grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); + const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( + '.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse' + ) as gax.protobuf.Type; + const asyncBatchAnnotateImagesMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1.OperationMetadata' + ) as gax.protobuf.Type; + const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + '.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse' + ) as gax.protobuf.Type; + const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1.OperationMetadata' + ) as gax.protobuf.Type; + + this._descriptors.longrunning = { + asyncBatchAnnotateImages: new gaxModule.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateImagesResponse.decode.bind( + asyncBatchAnnotateImagesResponse + ), + asyncBatchAnnotateImagesMetadata.decode.bind( + asyncBatchAnnotateImagesMetadata + ) + ), + asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateFilesResponse.decode.bind( + asyncBatchAnnotateFilesResponse + ), + asyncBatchAnnotateFilesMetadata.decode.bind( + asyncBatchAnnotateFilesMetadata + ) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1.ImageAnnotator', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1.ImageAnnotator. + this.imageAnnotatorStub = gaxGrpc.createStub( + opts.fallback + ? (protos as protobuf.Root).lookupService( + 'google.cloud.vision.v1.ImageAnnotator' + ) + : // tslint:disable-next-line no-any + (protos as any).google.cloud.vision.v1.ImageAnnotator, + opts + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const imageAnnotatorStubMethods = [ + 'batchAnnotateImages', + 'batchAnnotateFiles', + 'asyncBatchAnnotateImages', + 'asyncBatchAnnotateFiles', + ]; + + for (const methodName of imageAnnotatorStubMethods) { + const innerCallPromise = this.imageAnnotatorStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + return stub[methodName].apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const apiCall = gaxModule.createApiCall( + innerCallPromise, + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] + ); + + this._innerApiCalls[methodName] = ( + argument: {}, + callOptions?: CallOptions, + callback?: APICallback + ) => { + return apiCall(argument, callOptions, callback); + }; + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + >; + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): void; + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {string} request.parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1.BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.batchAnnotateImages(request, options, callback); + } + batchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, + {} | undefined + ] + >; + batchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, + {} | undefined + > + ): void; + /** + * Service that performs image detection and annotation for a batch of files. + * Now only "application/pdf", "image/tiff" and "image/gif" are supported. + * + * This service will extract at most 5 (customers can specify which 5 in + * AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each + * file provided and perform detection and annotation for each image + * extracted. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. The list of file annotation requests. Right now we support only one + * AnnotateFileRequest in BatchAnnotateFilesRequest. + * @param {string} request.parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1.BatchAnnotateFilesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + batchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + | protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.batchAnnotateFiles(request, options, callback); + } + + asyncBatchAnnotateImages( + request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + asyncBatchAnnotateImages( + request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Run asynchronous image detection and annotation for a list of images. + * + * Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). + * + * This service will write image annotation outputs to json files in customer + * GCS bucket, each json file containing BatchAnnotateImagesResponse proto. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {google.cloud.vision.v1.OutputConfig} request.outputConfig + * Required. The desired output location and metadata (e.g. format). + * @param {string} request.parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + asyncBatchAnnotateImages( + request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.asyncBatchAnnotateImages( + request, + options, + callback + ); + } + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Run asynchronous image detection and annotation for a list of generic + * files, such as PDF files, which may contain multiple pages and multiple + * images per page. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual async file annotation requests for this batch. + * @param {string} request.parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.asyncBatchAnnotateFiles( + request, + options, + callback + ); + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified product resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @returns {string} Resource name string. + */ + productPath(project: string, location: string, product: string) { + return this._pathTemplates.productPathTemplate.render({ + project, + location, + product, + }); + } + + /** + * Parse the project from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the location from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the product from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the product. + */ + matchProductFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Return a fully-qualified productSet resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product_set + * @returns {string} Resource name string. + */ + productSetPath(project: string, location: string, productSet: string) { + return this._pathTemplates.productSetPathTemplate.render({ + project, + location, + product_set: productSet, + }); + } + + /** + * Parse the project from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .project; + } + + /** + * Parse the location from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .location; + } + + /** + * Parse the product_set from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the product_set. + */ + matchProductSetFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .product_set; + } + + /** + * Return a fully-qualified referenceImage resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @param {string} reference_image + * @returns {string} Resource name string. + */ + referenceImagePath( + project: string, + location: string, + product: string, + referenceImage: string + ) { + return this._pathTemplates.referenceImagePathTemplate.render({ + project, + location, + product, + reference_image: referenceImage, + }); + } + + /** + * Parse the project from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the project. + */ + matchProjectFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).project; + } + + /** + * Parse the location from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the location. + */ + matchLocationFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).location; + } + + /** + * Parse the product from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the product. + */ + matchProductFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).product; + } + + /** + * Parse the reference_image from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the reference_image. + */ + matchReferenceImageFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).reference_image; + } + + /** + * Terminate the GRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + */ + close(): Promise { + if (!this._terminated) { + return this.imageAnnotatorStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} +import {FeaturesMethod} from '../helpers'; +export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json index 6e7354d2169..08f87df90e0 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1/image_annotator_client_config.json @@ -2,11 +2,11 @@ "interfaces": { "google.cloud.vision.v1.ImageAnnotator": { "retry_codes": { + "non_idempotent": [], "idempotent": [ "DEADLINE_EXCEEDED", "UNAVAILABLE" - ], - "non_idempotent": [] + ] }, "retry_params": { "default": { @@ -14,29 +14,29 @@ "retry_delay_multiplier": 1.3, "max_retry_delay_millis": 60000, "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1.0, + "rpc_timeout_multiplier": 1, "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "BatchAnnotateImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "BatchAnnotateFiles": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "AsyncBatchAnnotateImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "AsyncBatchAnnotateFiles": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-vision/src/v1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1/image_annotator_proto_list.json index 8d36ebf05e2..0d468bf9c85 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_proto_list.json +++ b/packages/google-cloud-vision/src/v1/image_annotator_proto_list.json @@ -1,3 +1,8 @@ [ - "../../protos/google/cloud/vision/v1/image_annotator.proto" + "../../protos/google/cloud/vision/v1/geometry.proto", + "../../protos/google/cloud/vision/v1/image_annotator.proto", + "../../protos/google/cloud/vision/v1/product_search.proto", + "../../protos/google/cloud/vision/v1/product_search_service.proto", + "../../protos/google/cloud/vision/v1/text_annotation.proto", + "../../protos/google/cloud/vision/v1/web_detection.proto" ] diff --git a/packages/google-cloud-vision/src/v1p2beta1/index.js b/packages/google-cloud-vision/src/v1/index.ts similarity index 61% rename from packages/google-cloud-vision/src/v1p2beta1/index.js rename to packages/google-cloud-vision/src/v1/index.ts index 0ab93eefeb8..de3f335b8a0 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/index.js +++ b/packages/google-cloud-vision/src/v1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,9 +11,10 @@ // 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'; - -const ImageAnnotatorClient = require('./image_annotator_client'); - -module.exports.ImageAnnotatorClient = ImageAnnotatorClient; +export {ImageAnnotatorClient} from './image_annotator_client'; +export {ProductSearchClient} from './product_search_client'; diff --git a/packages/google-cloud-vision/src/v1/product_search_client.js b/packages/google-cloud-vision/src/v1/product_search_client.js deleted file mode 100644 index f69a0780515..00000000000 --- a/packages/google-cloud-vision/src/v1/product_search_client.js +++ /dev/null @@ -1,2348 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const gapicConfig = require('./product_search_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); - -const VERSION = require('../../package.json').version; - -/** - * Manages Products and ProductSets of reference images for use in product - * search. It uses the following resource model: - * - * - The API has a collection of ProductSet resources, named - * `projects/* /locations/* /productSets/*`, which acts as a way to put different - * products into groups to limit identification. - * - * In parallel, - * - * - The API has a collection of Product resources, named - * `projects/* /locations/* /products/*` - * - * - Each Product has a collection of ReferenceImage resources, named - * `projects/* /locations/* /products/* /referenceImages/*` - * - * @class - * @memberof v1 - */ -class ProductSearchClient { - /** - * Construct an instance of ProductSearchClient. - * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - */ - constructor(opts) { - opts = opts || {}; - this._descriptors = {}; - - if (global.isBrowser) { - // If we're in browser, we use gRPC fallback. - opts.fallback = true; - } - - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; - - const servicePath = - opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; - - // Ensure that options include the service address and port. - opts = Object.assign( - { - clientConfig: {}, - port: this.constructor.port, - servicePath, - }, - opts - ); - - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = this.constructor.scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); - - // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth; - - // Determine the client header string. - const clientHeader = []; - - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } - clientHeader.push(`gax/${gaxModule.version}`); - if (opts.fallback) { - clientHeader.push(`gl-web/${gaxModule.version}`); - } else { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); - } - clientHeader.push(`gapic/${VERSION}`); - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - - // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - const protos = gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath - ); - - // This API contains "path templates"; forward-slash-separated - // identifiers to uniquely identify resources within the API. - // Create useful helper objects for these. - this._pathTemplates = { - locationPathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' - ), - productPathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/products/{product}' - ), - productSetPathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/productSets/{product_set}' - ), - referenceImagePathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' - ), - }; - - // Some of the methods on this service return "paged" results, - // (e.g. 50 results at a time, with tokens to get subsequent - // pages). Denote the keys used for pagination and results. - this._descriptors.page = { - listProductSets: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'productSets' - ), - listProducts: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'products' - ), - listReferenceImages: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'referenceImages' - ), - listProductsInProductSet: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'products' - ), - }; - - const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); - - // This API contains "long-running operations", which return a - // an Operation object that allows for tracking of the operation, - // rather than holding a request open. - this.operationsClient = new gaxModule.lro({ - auth: gaxGrpc.auth, - grpc: gaxGrpc.grpc, - }).operationsClient(opts); - - const importProductSetsResponse = protoFilesRoot.lookup( - 'google.cloud.vision.v1.ImportProductSetsResponse' - ); - const importProductSetsMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1.BatchOperationMetadata' - ); - const purgeProductsResponse = protoFilesRoot.lookup( - 'google.protobuf.Empty' - ); - const purgeProductsMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1.BatchOperationMetadata' - ); - - this._descriptors.longrunning = { - importProductSets: new gaxModule.LongrunningDescriptor( - this.operationsClient, - importProductSetsResponse.decode.bind(importProductSetsResponse), - importProductSetsMetadata.decode.bind(importProductSetsMetadata) - ), - purgeProducts: new gaxModule.LongrunningDescriptor( - this.operationsClient, - purgeProductsResponse.decode.bind(purgeProductsResponse), - purgeProductsMetadata.decode.bind(purgeProductsMetadata) - ), - }; - - // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.vision.v1.ProductSearch', - gapicConfig, - opts.clientConfig, - {'x-goog-api-client': clientHeader.join(' ')} - ); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this._innerApiCalls = {}; - - // Put together the "service stub" for - // google.cloud.vision.v1.ProductSearch. - const productSearchStub = gaxGrpc.createStub( - opts.fallback - ? protos.lookupService('google.cloud.vision.v1.ProductSearch') - : protos.google.cloud.vision.v1.ProductSearch, - opts - ); - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const productSearchStubMethods = [ - 'createProductSet', - 'listProductSets', - 'getProductSet', - 'updateProductSet', - 'deleteProductSet', - 'createProduct', - 'listProducts', - 'getProduct', - 'updateProduct', - 'deleteProduct', - 'createReferenceImage', - 'deleteReferenceImage', - 'listReferenceImages', - 'getReferenceImage', - 'addProductToProductSet', - 'removeProductFromProductSet', - 'listProductsInProductSet', - 'importProductSets', - 'purgeProducts', - ]; - for (const methodName of productSearchStubMethods) { - const innerCallPromise = productSearchStub.then( - stub => (...args) => { - return stub[methodName].apply(stub, args); - }, - err => () => { - throw err; - } - ); - this._innerApiCalls[methodName] = gaxModule.createApiCall( - innerCallPromise, - defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.longrunning[methodName] - ); - } - } - - /** - * The DNS address for this API service. - */ - static get servicePath() { - return 'vision.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - */ - static get apiEndpoint() { - return 'vision.googleapis.com'; - } - - /** - * The port for this API service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform', - 'https://www.googleapis.com/auth/cloud-vision', - ]; - } - - /** - * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. - */ - getProjectId(callback) { - return this.auth.getProjectId(callback); - } - - // ------------------- - // -- Service calls -- - // ------------------- - - /** - * Creates and returns a new ProductSet resource. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than - * 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSet should be created. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.productSet - * Required. The ProductSet to create. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} - * @param {string} [request.productSetId] - * A user-supplied resource id for this ProductSet. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const productSet = {}; - * const request = { - * parent: formattedParent, - * productSet: productSet, - * }; - * client.createProductSet(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - createProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.createProductSet(request, options, callback); - } - - /** - * Lists ProductSets in an unspecified order. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less - * than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project from which ProductSets should be listed. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * client.listProductSets({parent: formattedParent}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listProductSets(nextRequest, options).then(callback); - * } - * } - * client.listProductSets({parent: formattedParent}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listProductSets(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.listProductSets(request, options, callback); - } - - /** - * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductSets} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project from which ProductSets should be listed. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet} on 'data' event. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * client.listProductSetsStream({parent: formattedParent}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listProductSetsStream(request, options) { - options = options || {}; - - return this._descriptors.page.listProductSets.createStream( - this._innerApiCalls.listProductSets, - request, - options - ); - } - - /** - * Gets information associated with a ProductSet. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.getProductSet({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getProductSet(request, options, callback); - } - - /** - * Makes changes to a ProductSet resource. - * Only display_name can be updated currently. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but - * missing from the request or longer than 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object} request.productSet - * Required. The ProductSet resource which replaces the one on the server. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1.ProductSet} - * @param {Object} [request.updateMask] - * The FieldMask that specifies which fields to - * update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask path is `display_name`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const productSet = {}; - * client.updateProductSet({productSet: productSet}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - updateProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product_set.name': request.productSet.name, - }); - - return this._innerApiCalls.updateProductSet(request, options, callback); - } - - /** - * Permanently deletes a ProductSet. Products and ReferenceImages in the - * ProductSet are not deleted. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.deleteProductSet({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.deleteProductSet(request, options, callback); - } - - /** - * Creates and returns a new product resource. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 - * characters. - * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. - * * Returns INVALID_ARGUMENT if product_category is missing or invalid. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the Product should be created. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.product - * Required. The product to create. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} - * @param {string} [request.productId] - * A user-supplied resource id for this Product. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const product = {}; - * const request = { - * parent: formattedParent, - * product: product, - * }; - * client.createProduct(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - createProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.createProduct(request, options, callback); - } - - /** - * Lists products in an unspecified order. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project OR ProductSet from which Products should be listed. - * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1.Product}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * client.listProducts({parent: formattedParent}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listProducts(nextRequest, options).then(callback); - * } - * } - * client.listProducts({parent: formattedParent}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listProducts(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.listProducts(request, options, callback); - } - - /** - * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProducts} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project OR ProductSet from which Products should be listed. - * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * client.listProductsStream({parent: formattedParent}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listProductsStream(request, options) { - options = options || {}; - - return this._descriptors.page.listProducts.createStream( - this._innerApiCalls.listProducts, - request, - options - ); - } - - /** - * Gets information associated with a Product. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the Product to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.getProduct({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getProduct(request, options, callback); - } - - /** - * Makes changes to a Product resource. - * Only the `display_name`, `description`, and `labels` fields can be updated - * right now. - * - * If labels are updated, the change will not be reflected in queries until - * the next index time. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is - * missing from the request or longer than 4096 characters. - * * Returns INVALID_ARGUMENT if description is present in update_mask but is - * longer than 4096 characters. - * * Returns INVALID_ARGUMENT if product_category is present in update_mask. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object} request.product - * Required. The Product resource which replaces the one on the server. - * product.name is immutable. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1.Product} - * @param {Object} [request.updateMask] - * The FieldMask that specifies which fields - * to update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask paths include `product_labels`, `display_name`, and - * `description`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const product = {}; - * client.updateProduct({product: product}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - updateProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product.name': request.product.name, - }); - - return this._innerApiCalls.updateProduct(request, options, callback); - } - - /** - * Permanently deletes a product and its reference images. - * - * Metadata of the product and all its images will be deleted right away, but - * search queries against ProductSets containing the product may still work - * until all related caches are refreshed. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of product to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.deleteProduct({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.deleteProduct(request, options, callback); - } - - /** - * Creates and returns a new ReferenceImage resource. - * - * The `bounding_poly` field is optional. If `bounding_poly` is not specified, - * the system will try to detect regions of interest in the image that are - * compatible with the product_category on the parent product. If it is - * specified, detection is ALWAYS skipped. The system converts polygons into - * non-rotated rectangles. - * - * Note that the pipeline will resize the image if the image resolution is too - * large to process (above 50MP). - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 - * characters. - * * Returns INVALID_ARGUMENT if the product does not exist. - * * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing - * compatible with the parent product's product_category is detected. - * * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the product in which to create the reference image. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {Object} request.referenceImage - * Required. The reference image to create. - * If an image ID is specified, it is ignored. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} - * @param {string} [request.referenceImageId] - * A user-supplied resource id for the ReferenceImage to be added. If set, - * the server will attempt to use this value as the resource id. If it is - * already in use, an error is returned with code ALREADY_EXISTS. Must be at - * most 128 characters long. It cannot contain the character `/`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * const referenceImage = {}; - * const request = { - * parent: formattedParent, - * referenceImage: referenceImage, - * }; - * client.createReferenceImage(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - createReferenceImage(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.createReferenceImage(request, options, callback); - } - - /** - * Permanently deletes a reference image. - * - * The image metadata will be deleted right away, but search queries - * against ProductSets containing the image may still work until all related - * caches are refreshed. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the reference image to delete. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); - * client.deleteReferenceImage({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteReferenceImage(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.deleteReferenceImage(request, options, callback); - } - - /** - * Lists reference images. - * - * Possible errors: - * - * * Returns NOT_FOUND if the parent product does not exist. - * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less - * than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the product containing the reference images. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * - * client.listReferenceImages({parent: formattedParent}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listReferenceImages(nextRequest, options).then(callback); - * } - * } - * client.listReferenceImages({parent: formattedParent}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listReferenceImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.listReferenceImages(request, options, callback); - } - - /** - * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listReferenceImages} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the product containing the reference images. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} on 'data' event. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.listReferenceImagesStream({parent: formattedParent}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listReferenceImagesStream(request, options) { - options = options || {}; - - return this._descriptors.page.listReferenceImages.createStream( - this._innerApiCalls.listReferenceImages, - request, - options - ); - } - - /** - * Gets information associated with a ReferenceImage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the specified image does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the ReferenceImage to get. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); - * client.getReferenceImage({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getReferenceImage(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getReferenceImage(request, options, callback); - } - - /** - * Adds a Product to the specified ProductSet. If the Product is already - * present, no change is made. - * - * One Product can be added to at most 100 ProductSets. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be added to this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * const formattedProduct = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * const request = { - * name: formattedName, - * product: formattedProduct, - * }; - * client.addProductToProductSet(request).catch(err => { - * console.error(err); - * }); - */ - addProductToProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.addProductToProductSet( - request, - options, - callback - ); - } - - /** - * Removes a Product from the specified ProductSet. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be removed from this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * const formattedProduct = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * const request = { - * name: formattedName, - * product: formattedProduct, - * }; - * client.removeProductFromProductSet(request).catch(err => { - * console.error(err); - * }); - */ - removeProductFromProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.removeProductFromProductSet( - request, - options, - callback - ); - } - - /** - * Lists the Products in a ProductSet, in an unspecified order. If the - * ProductSet does not exist, the products field of the response will be - * empty. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The ProductSet resource for which to retrieve Products. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1.Product}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1.ListProductsInProductSetResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1.ListProductsInProductSetResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * - * client.listProductsInProductSet({name: formattedName}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listProductsInProductSet(nextRequest, options).then(callback); - * } - * } - * client.listProductsInProductSet({name: formattedName}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listProductsInProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.listProductsInProductSet( - request, - options, - callback - ); - } - - /** - * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductsInProductSet} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The ProductSet resource for which to retrieve Products. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.listProductsInProductSetStream({name: formattedName}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listProductsInProductSetStream(request, options) { - options = options || {}; - - return this._descriptors.page.listProductsInProductSet.createStream( - this._innerApiCalls.listProductsInProductSet, - request, - options - ); - } - - /** - * Asynchronous API that imports a list of reference images to specified - * product sets based on a list of image information. - * - * The google.longrunning.Operation API can be used to keep track of the - * progress and results of the request. - * `Operation.metadata` contains `BatchOperationMetadata`. (progress) - * `Operation.response` contains `ImportProductSetsResponse`. (results) - * - * The input source of this method is a csv file on Google Cloud Storage. - * For the format of the csv file please see - * ImportProductSetsGcsSource.csv_file_uri. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSets should be imported. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.inputConfig - * Required. The input content for the list of requests. - * - * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1.ImportProductSetsInputConfig} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const inputConfig = {}; - * const request = { - * parent: formattedParent, - * inputConfig: inputConfig, - * }; - * - * // Handle the operation using the promise pattern. - * client.importProductSets(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const inputConfig = {}; - * const request = { - * parent: formattedParent, - * inputConfig: inputConfig, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.importProductSets(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const inputConfig = {}; - * const request = { - * parent: formattedParent, - * inputConfig: inputConfig, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.importProductSets(request); - * - * const [response] = await operation.promise(); - */ - importProductSets(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.importProductSets(request, options, callback); - } - - /** - * Asynchronous API to delete all Products in a ProductSet or all Products - * that are in no ProductSet. - * - * If a Product is a member of the specified ProductSet in addition to other - * ProductSets, the Product will still be deleted. - * - * It is recommended to not delete the specified ProductSet until after this - * operation has completed. It is also recommended to not add any of the - * Products involved in the batch delete to a new ProductSet while this - * operation is running because those Products may still end up deleted. - * - * It's not possible to undo the PurgeProducts operation. Therefore, it is - * recommended to keep the csv files used in ImportProductSets (if that was - * how you originally built the Product Set) before starting PurgeProducts, in - * case you need to re-import the data after deletion. - * - * If the plan is to purge all of the Products from a ProductSet and then - * re-use the empty ProductSet to re-import new Products into the empty - * ProductSet, you must wait until the PurgeProducts operation has finished - * for that ProductSet. - * - * The google.longrunning.Operation API can be used to keep track of the - * progress and results of the request. - * `Operation.metadata` contains `BatchOperationMetadata`. (progress) - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project and location in which the Products should be deleted. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} [request.productSetPurgeConfig] - * Specify which ProductSet contains the Products to be deleted. - * - * This object should have the same structure as [ProductSetPurgeConfig]{@link google.cloud.vision.v1.ProductSetPurgeConfig} - * @param {boolean} [request.deleteOrphanProducts] - * If delete_orphan_products is true, all Products that are not in any - * ProductSet will be deleted. - * @param {boolean} [request.force] - * The default value is false. Override this value to true to actually perform - * the purge. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * // Handle the operation using the promise pattern. - * client.purgeProducts({parent: formattedParent}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * // Handle the operation using the event emitter pattern. - * client.purgeProducts({parent: formattedParent}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * // Handle the operation using the await pattern. - * const [operation] = await client.purgeProducts({parent: formattedParent}); - * - * const [response] = await operation.promise(); - */ - purgeProducts(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.purgeProducts(request, options, callback); - } - - // -------------------- - // -- Path templates -- - // -------------------- - - /** - * Return a fully-qualified location resource name string. - * - * @param {String} project - * @param {String} location - * @returns {String} - */ - locationPath(project, location) { - return this._pathTemplates.locationPathTemplate.render({ - project: project, - location: location, - }); - } - - /** - * Return a fully-qualified product resource name string. - * - * @param {String} project - * @param {String} location - * @param {String} product - * @returns {String} - */ - productPath(project, location, product) { - return this._pathTemplates.productPathTemplate.render({ - project: project, - location: location, - product: product, - }); - } - - /** - * Return a fully-qualified product_set resource name string. - * - * @param {String} project - * @param {String} location - * @param {String} productSet - * @returns {String} - */ - productSetPath(project, location, productSet) { - return this._pathTemplates.productSetPathTemplate.render({ - project: project, - location: location, - product_set: productSet, - }); - } - - /** - * Return a fully-qualified reference_image resource name string. - * - * @param {String} project - * @param {String} location - * @param {String} product - * @param {String} referenceImage - * @returns {String} - */ - referenceImagePath(project, location, product, referenceImage) { - return this._pathTemplates.referenceImagePathTemplate.render({ - project: project, - location: location, - product: product, - reference_image: referenceImage, - }); - } - - /** - * Parse the locationName from a location resource. - * - * @param {String} locationName - * A fully-qualified path representing a location resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromLocationName(locationName) { - return this._pathTemplates.locationPathTemplate.match(locationName).project; - } - - /** - * Parse the locationName from a location resource. - * - * @param {String} locationName - * A fully-qualified path representing a location resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromLocationName(locationName) { - return this._pathTemplates.locationPathTemplate.match(locationName) - .location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).project; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the product. - */ - matchProductFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).product; - } - - /** - * Parse the productSetName from a product_set resource. - * - * @param {String} productSetName - * A fully-qualified path representing a product_set resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductSetName(productSetName) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) - .project; - } - - /** - * Parse the productSetName from a product_set resource. - * - * @param {String} productSetName - * A fully-qualified path representing a product_set resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductSetName(productSetName) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) - .location; - } - - /** - * Parse the productSetName from a product_set resource. - * - * @param {String} productSetName - * A fully-qualified path representing a product_set resources. - * @returns {String} - A string representing the product_set. - */ - matchProductSetFromProductSetName(productSetName) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) - .product_set; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).project; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).location; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the product. - */ - matchProductFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).product; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the reference_image. - */ - matchReferenceImageFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).reference_image; - } -} - -module.exports = ProductSearchClient; diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts new file mode 100644 index 00000000000..b2cc76da757 --- /dev/null +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -0,0 +1,2544 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as gax from 'google-gax'; +import { + APICallback, + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, + PaginationCallback, + PaginationResponse, +} from 'google-gax'; +import * as path from 'path'; + +import {Transform} from 'stream'; +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './product_search_client_config.json'; + +const version = require('../../../package.json').version; + +/** + * Manages Products and ProductSets of reference images for use in product + * search. It uses the following resource model: + * + * - The API has a collection of [ProductSet][google.cloud.vision.v1.ProductSet] resources, named + * `projects/* /locations/* /productSets/*`, which acts as a way to put different + * products into groups to limit identification. + * + * In parallel, + * + * - The API has a collection of [Product][google.cloud.vision.v1.Product] resources, named + * `projects/* /locations/* /products/*` + * + * - Each [Product][google.cloud.vision.v1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named + * `projects/* /locations/* /products/* /referenceImages/*` + * @class + * @memberof v1 + */ +export class ProductSearchClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _pathTemplates: {[name: string]: gax.PathTemplate}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + productSearchStub: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ProductSearchClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + */ + + constructor(opts?: ClientOptions) { + // Ensure that options include the service address and port. + const staticMembers = this.constructor as typeof ProductSearchClient; + const servicePath = + opts && opts.servicePath + ? opts.servicePath + : opts && opts.apiEndpoint + ? opts.apiEndpoint + : staticMembers.servicePath; + const port = opts && opts.port ? opts.port : staticMembers.port; + + if (!opts) { + opts = {servicePath, port}; + } + opts.servicePath = opts.servicePath || servicePath; + opts.port = opts.port || port; + opts.clientConfig = opts.clientConfig || {}; + + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { + opts.fallback = true; + } + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = (this.constructor as typeof ProductSearchClient).scopes; + const gaxGrpc = new gaxModule.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth as gax.GoogleAuth; + + // Determine the client header string. + const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + ); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this._pathTemplates = { + locationPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + productPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + productSetPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), + referenceImagePathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this._descriptors.page = { + listProductSets: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'productSets' + ), + listProducts: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + listReferenceImages: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'referenceImages' + ), + listProductsInProductSet: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + }; + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = gaxModule + .lro({ + auth: this.auth, + grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); + const importProductSetsResponse = protoFilesRoot.lookup( + '.google.cloud.vision.v1.ImportProductSetsResponse' + ) as gax.protobuf.Type; + const importProductSetsMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1.BatchOperationMetadata' + ) as gax.protobuf.Type; + const purgeProductsResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const purgeProductsMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1.BatchOperationMetadata' + ) as gax.protobuf.Type; + + this._descriptors.longrunning = { + importProductSets: new gaxModule.LongrunningDescriptor( + this.operationsClient, + importProductSetsResponse.decode.bind(importProductSetsResponse), + importProductSetsMetadata.decode.bind(importProductSetsMetadata) + ), + purgeProducts: new gaxModule.LongrunningDescriptor( + this.operationsClient, + purgeProductsResponse.decode.bind(purgeProductsResponse), + purgeProductsMetadata.decode.bind(purgeProductsMetadata) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1.ProductSearch', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1.ProductSearch. + this.productSearchStub = gaxGrpc.createStub( + opts.fallback + ? (protos as protobuf.Root).lookupService( + 'google.cloud.vision.v1.ProductSearch' + ) + : // tslint:disable-next-line no-any + (protos as any).google.cloud.vision.v1.ProductSearch, + opts + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const productSearchStubMethods = [ + 'createProductSet', + 'listProductSets', + 'getProductSet', + 'updateProductSet', + 'deleteProductSet', + 'createProduct', + 'listProducts', + 'getProduct', + 'updateProduct', + 'deleteProduct', + 'createReferenceImage', + 'deleteReferenceImage', + 'listReferenceImages', + 'getReferenceImage', + 'addProductToProductSet', + 'removeProductFromProductSet', + 'listProductsInProductSet', + 'importProductSets', + 'purgeProducts', + ]; + + for (const methodName of productSearchStubMethods) { + const innerCallPromise = this.productSearchStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + return stub[methodName].apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const apiCall = gaxModule.createApiCall( + innerCallPromise, + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] + ); + + this._innerApiCalls[methodName] = ( + argument: {}, + callOptions?: CallOptions, + callback?: APICallback + ) => { + return apiCall(argument, callOptions, callback); + }; + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + createProductSet( + request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.ICreateProductSetRequest | undefined, + {} | undefined + ] + >; + createProductSet( + request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.ICreateProductSetRequest | undefined, + {} | undefined + > + ): void; + /** + * Creates and returns a new ProductSet resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + * 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1.ProductSet} request.productSet + * Required. The ProductSet to create. + * @param {string} request.productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + createProductSet( + request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IProductSet, + | protosTypes.google.cloud.vision.v1.ICreateProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.ICreateProductSetRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.ICreateProductSetRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.createProductSet(request, options, callback); + } + getProductSet( + request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, + {} | undefined + ] + >; + getProductSet( + request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, + {} | undefined + > + ): void; + /** + * Gets information associated with a ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + getProductSet( + request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.getProductSet(request, options, callback); + } + updateProductSet( + request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, + {} | undefined + ] + >; + updateProductSet( + request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, + {} | undefined + > + ): void; + /** + * Makes changes to a ProductSet resource. + * Only display_name can be updated currently. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but + * missing from the request or longer than 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1.ProductSet} request.productSet + * Required. The ProductSet resource which replaces the one on the server. + * @param {google.protobuf.FieldMask} request.updateMask + * The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + updateProductSet( + request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IProductSet, + | protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProductSet, + protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product_set.name': request.productSet!.name || '', + }); + return this._innerApiCalls.updateProductSet(request, options, callback); + } + deleteProductSet( + request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, + {} | undefined + ] + >; + deleteProductSet( + request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, + {} | undefined + > + ): void; + /** + * Permanently deletes a ProductSet. Products and ReferenceImages in the + * ProductSet are not deleted. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + deleteProductSet( + request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.deleteProductSet(request, options, callback); + } + createProduct( + request: protosTypes.google.cloud.vision.v1.ICreateProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, + {} | undefined + ] + >; + createProduct( + request: protosTypes.google.cloud.vision.v1.ICreateProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, + {} | undefined + > + ): void; + /** + * Creates and returns a new product resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is missing or invalid. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the Product should be created. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1.Product} request.product + * Required. The product to create. + * @param {string} request.productId + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + createProduct( + request: protosTypes.google.cloud.vision.v1.ICreateProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.createProduct(request, options, callback); + } + getProduct( + request: protosTypes.google.cloud.vision.v1.IGetProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, + {} | undefined + ] + >; + getProduct( + request: protosTypes.google.cloud.vision.v1.IGetProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, + {} | undefined + > + ): void; + /** + * Gets information associated with a Product. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + getProduct( + request: protosTypes.google.cloud.vision.v1.IGetProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.getProduct(request, options, callback); + } + updateProduct( + request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, + {} | undefined + ] + >; + updateProduct( + request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, + {} | undefined + > + ): void; + /** + * Makes changes to a Product resource. + * Only the `display_name`, `description`, and `labels` fields can be updated + * right now. + * + * If labels are updated, the change will not be reflected in queries until + * the next index time. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + * missing from the request or longer than 4096 characters. + * * Returns INVALID_ARGUMENT if description is present in update_mask but is + * longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is present in update_mask. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1.Product} request.product + * Required. The Product resource which replaces the one on the server. + * product.name is immutable. + * @param {google.protobuf.FieldMask} request.updateMask + * The [FieldMask][google.protobuf.FieldMask] that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + updateProduct( + request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct, + protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product.name': request.product!.name || '', + }); + return this._innerApiCalls.updateProduct(request, options, callback); + } + deleteProduct( + request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, + {} | undefined + ] + >; + deleteProduct( + request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, + {} | undefined + > + ): void; + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + deleteProduct( + request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.deleteProduct(request, options, callback); + } + createReferenceImage( + request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + createReferenceImage( + request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IReferenceImage, + | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest + | undefined, + {} | undefined + > + ): void; + /** + * Creates and returns a new ReferenceImage resource. + * + * The `bounding_poly` field is optional. If `bounding_poly` is not specified, + * the system will try to detect regions of interest in the image that are + * compatible with the product_category on the parent product. If it is + * specified, detection is ALWAYS skipped. The system converts polygons into + * non-rotated rectangles. + * + * Note that the pipeline will resize the image if the image resolution is too + * large to process (above 50MP). + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if the product does not exist. + * * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + * compatible with the parent product's product_category is detected. + * * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product in which to create the reference image. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {google.cloud.vision.v1.ReferenceImage} request.referenceImage + * Required. The reference image to create. + * If an image ID is specified, it is ignored. + * @param {string} request.referenceImageId + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + createReferenceImage( + request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IReferenceImage, + | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IReferenceImage, + | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.createReferenceImage(request, options, callback); + } + deleteReferenceImage( + request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + deleteReferenceImage( + request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest + | undefined, + {} | undefined + > + ): void; + /** + * Permanently deletes a reference image. + * + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + deleteReferenceImage( + request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.deleteReferenceImage(request, options, callback); + } + getReferenceImage( + request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IReferenceImage, + protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, + {} | undefined + ] + >; + getReferenceImage( + request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IReferenceImage, + protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, + {} | undefined + > + ): void; + /** + * Gets information associated with a ReferenceImage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the specified image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + getReferenceImage( + request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IReferenceImage, + | protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IReferenceImage, + protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IReferenceImage, + protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.getReferenceImage(request, options, callback); + } + addProductToProductSet( + request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest + | undefined + ), + {} | undefined + ] + >; + addProductToProductSet( + request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Adds a Product to the specified ProductSet. If the Product is already + * present, no change is made. + * + * One Product can be added to at most 100 ProductSets. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + addProductToProductSet( + request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.addProductToProductSet( + request, + options, + callback + ); + } + removeProductFromProductSet( + request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | undefined + ), + {} | undefined + ] + >; + removeProductFromProductSet( + request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Removes a Product from the specified ProductSet. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + removeProductFromProductSet( + request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.removeProductFromProductSet( + request, + options, + callback + ); + } + + importProductSets( + request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + importProductSets( + request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Asynchronous API that imports a list of reference images to specified + * product sets based on a list of image information. + * + * The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the + * progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * `Operation.response` contains `ImportProductSetsResponse`. (results) + * + * The input source of this method is a csv file on Google Cloud Storage. + * For the format of the csv file please see + * [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri]. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1.ImportProductSetsInputConfig} request.inputConfig + * Required. The input content for the list of requests. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + importProductSets( + request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.importProductSets(request, options, callback); + } + purgeProducts( + request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + purgeProducts( + request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Asynchronous API to delete all Products in a ProductSet or all Products + * that are in no ProductSet. + * + * If a Product is a member of the specified ProductSet in addition to other + * ProductSets, the Product will still be deleted. + * + * It is recommended to not delete the specified ProductSet until after this + * operation has completed. It is also recommended to not add any of the + * Products involved in the batch delete to a new ProductSet while this + * operation is running because those Products may still end up deleted. + * + * It's not possible to undo the PurgeProducts operation. Therefore, it is + * recommended to keep the csv files used in ImportProductSets (if that was + * how you originally built the Product Set) before starting PurgeProducts, in + * case you need to re-import the data after deletion. + * + * If the plan is to purge all of the Products from a ProductSet and then + * re-use the empty ProductSet to re-import new Products into the empty + * ProductSet, you must wait until the PurgeProducts operation has finished + * for that ProductSet. + * + * The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the + * progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1.ProductSetPurgeConfig} request.productSetPurgeConfig + * Specify which ProductSet contains the Products to be deleted. + * @param {boolean} request.deleteOrphanProducts + * If delete_orphan_products is true, all Products that are not in any + * ProductSet will be deleted. + * @param {string} request.parent + * Required. The project and location in which the Products should be deleted. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {boolean} request.force + * The default value is false. Override this value to true to actually perform + * the purge. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + purgeProducts( + request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.purgeProducts(request, options, callback); + } + listProductSets( + request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProductSet[], + protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductSetsResponse + ] + >; + listProductSets( + request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IProductSet[], + protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductSetsResponse + > + ): void; + /** + * Lists ProductSets in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListProductSetsRequest]{@link google.cloud.vision.v1.ListProductSetsRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listProductSets( + request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IProductSet[], + protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductSetsResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IProductSet[], + protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductSetsResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProductSet[], + protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductSetsResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.listProductSets(request, options, callback); + } + + /** + * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductSets} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet} on 'data' event. + */ + listProductSetsStream( + request?: protosTypes.google.cloud.vision.v1.IListProductSetsRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listProductSets.createStream( + this._innerApiCalls.listProductSets as gax.GaxCall, + request, + callSettings + ); + } + listProducts( + request: protosTypes.google.cloud.vision.v1.IListProductsRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsResponse + ] + >; + listProducts( + request: protosTypes.google.cloud.vision.v1.IListProductsRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsResponse + > + ): void; + /** + * Lists products in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListProductsRequest]{@link google.cloud.vision.v1.ListProductsRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listProducts( + request: protosTypes.google.cloud.vision.v1.IListProductsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.listProducts(request, options, callback); + } + + /** + * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProducts} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. + */ + listProductsStream( + request?: protosTypes.google.cloud.vision.v1.IListProductsRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listProducts.createStream( + this._innerApiCalls.listProducts as gax.GaxCall, + request, + callSettings + ); + } + listReferenceImages( + request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IReferenceImage[], + protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + ] + >; + listReferenceImages( + request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IReferenceImage[], + protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + > + ): void; + /** + * Lists reference images. + * + * Possible errors: + * + * * Returns NOT_FOUND if the parent product does not exist. + * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListReferenceImagesRequest]{@link google.cloud.vision.v1.ListReferenceImagesRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listReferenceImages( + request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IReferenceImage[], + protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IReferenceImage[], + protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IReferenceImage[], + protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.listReferenceImages(request, options, callback); + } + + /** + * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listReferenceImages} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} on 'data' event. + */ + listReferenceImagesStream( + request?: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listReferenceImages.createStream( + this._innerApiCalls.listReferenceImages as gax.GaxCall, + request, + callSettings + ); + } + listProductsInProductSet( + request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + ] + >; + listProductsInProductSet( + request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + > + ): void; + /** + * Lists the Products in a ProductSet, in an unspecified order. If the + * ProductSet does not exist, the products field of the response will be + * empty. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListProductsInProductSetRequest]{@link google.cloud.vision.v1.ListProductsInProductSetRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListProductsInProductSetResponse]{@link google.cloud.vision.v1.ListProductsInProductSetResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listProductsInProductSet( + request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1.IProduct[], + protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.listProductsInProductSet( + request, + options, + callback + ); + } + + /** + * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductsInProductSet} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. + */ + listProductsInProductSetStream( + request?: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listProductsInProductSet.createStream( + this._innerApiCalls.listProductsInProductSet as gax.GaxCall, + request, + callSettings + ); + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project: string, location: string) { + return this._pathTemplates.locationPathTemplate.render({ + project, + location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this._pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this._pathTemplates.locationPathTemplate.match(locationName) + .location; + } + + /** + * Return a fully-qualified product resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @returns {string} Resource name string. + */ + productPath(project: string, location: string, product: string) { + return this._pathTemplates.productPathTemplate.render({ + project, + location, + product, + }); + } + + /** + * Parse the project from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the location from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the product from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the product. + */ + matchProductFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Return a fully-qualified productSet resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product_set + * @returns {string} Resource name string. + */ + productSetPath(project: string, location: string, productSet: string) { + return this._pathTemplates.productSetPathTemplate.render({ + project, + location, + product_set: productSet, + }); + } + + /** + * Parse the project from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .project; + } + + /** + * Parse the location from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .location; + } + + /** + * Parse the product_set from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the product_set. + */ + matchProductSetFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .product_set; + } + + /** + * Return a fully-qualified referenceImage resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @param {string} reference_image + * @returns {string} Resource name string. + */ + referenceImagePath( + project: string, + location: string, + product: string, + referenceImage: string + ) { + return this._pathTemplates.referenceImagePathTemplate.render({ + project, + location, + product, + reference_image: referenceImage, + }); + } + + /** + * Parse the project from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the project. + */ + matchProjectFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).project; + } + + /** + * Parse the location from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the location. + */ + matchLocationFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).location; + } + + /** + * Parse the product from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the product. + */ + matchProductFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).product; + } + + /** + * Parse the reference_image from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the reference_image. + */ + matchReferenceImageFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).reference_image; + } + + /** + * Terminate the GRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + */ + close(): Promise { + if (!this._terminated) { + return this.productSearchStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-vision/src/v1/product_search_client_config.json b/packages/google-cloud-vision/src/v1/product_search_client_config.json index c4147eca734..b7db1b901ac 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1/product_search_client_config.json @@ -2,11 +2,11 @@ "interfaces": { "google.cloud.vision.v1.ProductSearch": { "retry_codes": { + "non_idempotent": [], "idempotent": [ "DEADLINE_EXCEEDED", "UNAVAILABLE" - ], - "non_idempotent": [] + ] }, "retry_params": { "default": { @@ -14,104 +14,104 @@ "retry_delay_multiplier": 1.3, "max_retry_delay_millis": 60000, "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1.0, + "rpc_timeout_multiplier": 1, "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "CreateProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "ListProductSets": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "GetProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "UpdateProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "DeleteProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "CreateProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "ListProducts": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "GetProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "UpdateProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "DeleteProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "CreateReferenceImage": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "DeleteReferenceImage": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "ListReferenceImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "GetReferenceImage": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "AddProductToProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "RemoveProductFromProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "ListProductsInProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "ImportProductSets": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "PurgeProducts": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-vision/src/v1/product_search_proto_list.json b/packages/google-cloud-vision/src/v1/product_search_proto_list.json index fe01671f49f..0d468bf9c85 100644 --- a/packages/google-cloud-vision/src/v1/product_search_proto_list.json +++ b/packages/google-cloud-vision/src/v1/product_search_proto_list.json @@ -1,3 +1,8 @@ [ - "../../protos/google/cloud/vision/v1/product_search_service.proto" + "../../protos/google/cloud/vision/v1/geometry.proto", + "../../protos/google/cloud/vision/v1/image_annotator.proto", + "../../protos/google/cloud/vision/v1/product_search.proto", + "../../protos/google/cloud/vision/v1/product_search_service.proto", + "../../protos/google/cloud/vision/v1/text_annotation.proto", + "../../protos/google/cloud/vision/v1/web_detection.proto" ] diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js deleted file mode 100644 index 2932f5eefa7..00000000000 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_geometry.js +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A vertex represents a 2D point in the image. - * NOTE: the vertex coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @typedef Vertex - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/geometry.proto} - */ -const Vertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A bounding polygon for the detected image annotation. - * - * @property {Object[]} vertices - * The bounding polygon vertices. - * - * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1p1beta1.Vertex} - * - * @typedef BoundingPoly - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/geometry.proto} - */ -const BoundingPoly = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A 3D position in the image, used primarily for Face detection landmarks. - * A valid Position must have both x and y coordinates. - * The position coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @property {number} z - * Z coordinate (or depth). - * - * @typedef Position - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/geometry.proto} - */ -const Position = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js deleted file mode 100644 index f5c42944278..00000000000 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_image_annotator.js +++ /dev/null @@ -1,959 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Users describe the type of Google Cloud Vision API tasks to perform over - * images by using *Feature*s. Each Feature indicates a type of image - * detection task to perform. Features encode the Cloud Vision API - * vertical to operate on and the number of top-scoring results to return. - * - * @property {number} type - * The feature type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1p1beta1.Type} - * - * @property {number} maxResults - * Maximum number of results of this type. - * - * @property {string} model - * Model to use for the feature. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef Feature - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const Feature = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of image feature. - * - * @enum {number} - * @memberof google.cloud.vision.v1p1beta1 - */ - Type: { - - /** - * Unspecified feature type. - */ - TYPE_UNSPECIFIED: 0, - - /** - * Run face detection. - */ - FACE_DETECTION: 1, - - /** - * Run landmark detection. - */ - LANDMARK_DETECTION: 2, - - /** - * Run logo detection. - */ - LOGO_DETECTION: 3, - - /** - * Run label detection. - */ - LABEL_DETECTION: 4, - - /** - * Run OCR. - */ - TEXT_DETECTION: 5, - - /** - * Run dense text document OCR. Takes precedence when both - * DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present. - */ - DOCUMENT_TEXT_DETECTION: 11, - - /** - * Run computer vision models to compute image safe-search properties. - */ - SAFE_SEARCH_DETECTION: 6, - - /** - * Compute a set of image properties, such as the image's dominant colors. - */ - IMAGE_PROPERTIES: 7, - - /** - * Run crop hints. - */ - CROP_HINTS: 9, - - /** - * Run web detection. - */ - WEB_DETECTION: 10 - } -}; - -/** - * External image source (Google Cloud Storage image location). - * - * @property {string} gcsImageUri - * NOTE: For new code `image_uri` below is preferred. - * Google Cloud Storage image URI, which must be in the following form: - * `gs://bucket_name/object_name` (for details, see - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris)). - * NOTE: Cloud Storage object versioning is not supported. - * - * @property {string} imageUri - * Image URI which supports: - * 1) Google Cloud Storage image URI, which must be in the following form: - * `gs://bucket_name/object_name` (for details, see - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris)). - * NOTE: Cloud Storage object versioning is not supported. - * 2) Publicly accessible image HTTP/HTTPS URL. - * This is preferred over the legacy `gcs_image_uri` above. When both - * `gcs_image_uri` and `image_uri` are specified, `image_uri` takes - * precedence. - * - * @typedef ImageSource - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const ImageSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Client image to perform Google Cloud Vision API tasks over. - * - * @property {Buffer} content - * Image content, represented as a stream of bytes. - * Note: as with all `bytes` fields, protobuffers use a pure binary - * representation, whereas JSON representations use base64. - * - * @property {Object} source - * Google Cloud Storage image location. If both `content` and `source` - * are provided for an image, `content` takes precedence and is - * used to perform the image annotation request. - * - * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1p1beta1.ImageSource} - * - * @typedef Image - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const Image = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A face annotation object contains the results of face detection. - * - * @property {Object} boundingPoly - * The bounding polygon around the face. The coordinates of the bounding box - * are in the original image's scale, as returned in `ImageParams`. - * The bounding box is computed to "frame" the face in accordance with human - * expectations. It is based on the landmarker results. - * Note that one or more x and/or y coordinates may not be generated in the - * `BoundingPoly` (the polygon will be unbounded) if only a partial face - * appears in the image to be annotated. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} - * - * @property {Object} fdBoundingPoly - * The `fd_bounding_poly` bounding polygon is tighter than the - * `boundingPoly`, and encloses only the skin part of the face. Typically, it - * is used to eliminate the face from any image analysis that detects the - * "amount of skin" visible in an image. It is not based on the - * landmarker results, only on the initial face detection, hence - * the fd (face detection) prefix. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} - * - * @property {Object[]} landmarks - * Detected face landmarks. - * - * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1p1beta1.Landmark} - * - * @property {number} rollAngle - * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation - * of the face relative to the image vertical about the axis perpendicular to - * the face. Range [-180,180]. - * - * @property {number} panAngle - * Yaw angle, which indicates the leftward/rightward angle that the face is - * pointing relative to the vertical plane perpendicular to the image. Range - * [-180,180]. - * - * @property {number} tiltAngle - * Pitch angle, which indicates the upwards/downwards angle that the face is - * pointing relative to the image's horizontal plane. Range [-180,180]. - * - * @property {number} detectionConfidence - * Detection confidence. Range [0, 1]. - * - * @property {number} landmarkingConfidence - * Face landmarking confidence. Range [0, 1]. - * - * @property {number} joyLikelihood - * Joy likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} sorrowLikelihood - * Sorrow likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} angerLikelihood - * Anger likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} surpriseLikelihood - * Surprise likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} underExposedLikelihood - * Under-exposed likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} blurredLikelihood - * Blurred likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} headwearLikelihood - * Headwear likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @typedef FaceAnnotation - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const FaceAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * A face-specific landmark (for example, a face feature). - * - * @property {number} type - * Face landmark type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1p1beta1.Type} - * - * @property {Object} position - * Face landmark position. - * - * This object should have the same structure as [Position]{@link google.cloud.vision.v1p1beta1.Position} - * - * @typedef Landmark - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ - Landmark: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Face landmark (feature) type. - * Left and right are defined from the vantage of the viewer of the image - * without considering mirror projections typical of photos. So, `LEFT_EYE`, - * typically, is the person's right eye. - * - * @enum {number} - * @memberof google.cloud.vision.v1p1beta1 - */ - Type: { - - /** - * Unknown face landmark detected. Should not be filled. - */ - UNKNOWN_LANDMARK: 0, - - /** - * Left eye. - */ - LEFT_EYE: 1, - - /** - * Right eye. - */ - RIGHT_EYE: 2, - - /** - * Left of left eyebrow. - */ - LEFT_OF_LEFT_EYEBROW: 3, - - /** - * Right of left eyebrow. - */ - RIGHT_OF_LEFT_EYEBROW: 4, - - /** - * Left of right eyebrow. - */ - LEFT_OF_RIGHT_EYEBROW: 5, - - /** - * Right of right eyebrow. - */ - RIGHT_OF_RIGHT_EYEBROW: 6, - - /** - * Midpoint between eyes. - */ - MIDPOINT_BETWEEN_EYES: 7, - - /** - * Nose tip. - */ - NOSE_TIP: 8, - - /** - * Upper lip. - */ - UPPER_LIP: 9, - - /** - * Lower lip. - */ - LOWER_LIP: 10, - - /** - * Mouth left. - */ - MOUTH_LEFT: 11, - - /** - * Mouth right. - */ - MOUTH_RIGHT: 12, - - /** - * Mouth center. - */ - MOUTH_CENTER: 13, - - /** - * Nose, bottom right. - */ - NOSE_BOTTOM_RIGHT: 14, - - /** - * Nose, bottom left. - */ - NOSE_BOTTOM_LEFT: 15, - - /** - * Nose, bottom center. - */ - NOSE_BOTTOM_CENTER: 16, - - /** - * Left eye, top boundary. - */ - LEFT_EYE_TOP_BOUNDARY: 17, - - /** - * Left eye, right corner. - */ - LEFT_EYE_RIGHT_CORNER: 18, - - /** - * Left eye, bottom boundary. - */ - LEFT_EYE_BOTTOM_BOUNDARY: 19, - - /** - * Left eye, left corner. - */ - LEFT_EYE_LEFT_CORNER: 20, - - /** - * Right eye, top boundary. - */ - RIGHT_EYE_TOP_BOUNDARY: 21, - - /** - * Right eye, right corner. - */ - RIGHT_EYE_RIGHT_CORNER: 22, - - /** - * Right eye, bottom boundary. - */ - RIGHT_EYE_BOTTOM_BOUNDARY: 23, - - /** - * Right eye, left corner. - */ - RIGHT_EYE_LEFT_CORNER: 24, - - /** - * Left eyebrow, upper midpoint. - */ - LEFT_EYEBROW_UPPER_MIDPOINT: 25, - - /** - * Right eyebrow, upper midpoint. - */ - RIGHT_EYEBROW_UPPER_MIDPOINT: 26, - - /** - * Left ear tragion. - */ - LEFT_EAR_TRAGION: 27, - - /** - * Right ear tragion. - */ - RIGHT_EAR_TRAGION: 28, - - /** - * Left eye pupil. - */ - LEFT_EYE_PUPIL: 29, - - /** - * Right eye pupil. - */ - RIGHT_EYE_PUPIL: 30, - - /** - * Forehead glabella. - */ - FOREHEAD_GLABELLA: 31, - - /** - * Chin gnathion. - */ - CHIN_GNATHION: 32, - - /** - * Chin left gonion. - */ - CHIN_LEFT_GONION: 33, - - /** - * Chin right gonion. - */ - CHIN_RIGHT_GONION: 34 - } - } -}; - -/** - * Detected entity location information. - * - * @property {Object} latLng - * lat/long location coordinates. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LocationInfo - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const LocationInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A `Property` consists of a user-supplied name/value pair. - * - * @property {string} name - * Name of the property. - * - * @property {string} value - * Value of the property. - * - * @property {number} uint64Value - * Value of numeric properties. - * - * @typedef Property - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const Property = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of detected entity features. - * - * @property {string} mid - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} locale - * The language code for the locale in which the entity textual - * `description` is expressed. - * - * @property {string} description - * Entity textual description, expressed in its `locale` language. - * - * @property {number} score - * Overall score of the result. Range [0, 1]. - * - * @property {number} confidence - * The accuracy of the entity detection in an image. - * For example, for an image in which the "Eiffel Tower" entity is detected, - * this field represents the confidence that there is a tower in the query - * image. Range [0, 1]. - * - * @property {number} topicality - * The relevancy of the ICA (Image Content Annotation) label to the - * image. For example, the relevancy of "tower" is likely higher to an image - * containing the detected "Eiffel Tower" than to an image containing a - * detected distant towering building, even though the confidence that - * there is a tower in each image may be the same. Range [0, 1]. - * - * @property {Object} boundingPoly - * Image region to which this entity belongs. Not produced - * for `LABEL_DETECTION` features. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} - * - * @property {Object[]} locations - * The location information for the detected entity. Multiple - * `LocationInfo` elements can be present because one location may - * indicate the location of the scene in the image, and another location - * may indicate the location of the place where the image was taken. - * Location information is usually present for landmarks. - * - * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1p1beta1.LocationInfo} - * - * @property {Object[]} properties - * Some entities may have optional user-supplied `Property` (name/value) - * fields, such a score or string that qualifies the entity. - * - * This object should have the same structure as [Property]{@link google.cloud.vision.v1p1beta1.Property} - * - * @typedef EntityAnnotation - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const EntityAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of features pertaining to the image, computed by computer vision - * methods over safe-search verticals (for example, adult, spoof, medical, - * violence). - * - * @property {number} adult - * Represents the adult content likelihood for the image. Adult content may - * contain elements such as nudity, pornographic images or cartoons, or - * sexual activities. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} spoof - * Spoof likelihood. The likelihood that an modification - * was made to the image's canonical version to make it appear - * funny or offensive. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} medical - * Likelihood that this is a medical image. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} violence - * Likelihood that this image contains violent content. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @property {number} racy - * Likelihood that the request image contains racy content. Racy content may - * include (but is not limited to) skimpy or sheer clothing, strategically - * covered nudity, lewd or provocative poses, or close-ups of sensitive - * body areas. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p1beta1.Likelihood} - * - * @typedef SafeSearchAnnotation - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const SafeSearchAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Rectangle determined by min and max `LatLng` pairs. - * - * @property {Object} minLatLng - * Min lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @property {Object} maxLatLng - * Max lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LatLongRect - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const LatLongRect = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Color information consists of RGB channels, score, and the fraction of - * the image that the color occupies in the image. - * - * @property {Object} color - * RGB components of the color. - * - * This object should have the same structure as [Color]{@link google.type.Color} - * - * @property {number} score - * Image-specific score for this color. Value in range [0, 1]. - * - * @property {number} pixelFraction - * The fraction of pixels the color occupies in the image. - * Value in range [0, 1]. - * - * @typedef ColorInfo - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const ColorInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of dominant colors and their corresponding scores. - * - * @property {Object[]} colors - * RGB color values with their score and pixel fraction. - * - * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1p1beta1.ColorInfo} - * - * @typedef DominantColorsAnnotation - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const DominantColorsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Stores image properties, such as dominant colors. - * - * @property {Object} dominantColors - * If present, dominant colors completed successfully. - * - * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1p1beta1.DominantColorsAnnotation} - * - * @typedef ImageProperties - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const ImageProperties = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Single crop hint that is used to generate a new crop when serving an image. - * - * @property {Object} boundingPoly - * The bounding polygon for the crop region. The coordinates of the bounding - * box are in the original image's scale, as returned in `ImageParams`. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} - * - * @property {number} confidence - * Confidence of this being a salient region. Range [0, 1]. - * - * @property {number} importanceFraction - * Fraction of importance of this salient region with respect to the original - * image. - * - * @typedef CropHint - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const CropHint = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of crop hints that are used to generate new crops when serving images. - * - * @property {Object[]} cropHints - * Crop hint results. - * - * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1p1beta1.CropHint} - * - * @typedef CropHintsAnnotation - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const CropHintsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for crop hints annotation request. - * - * @property {number[]} aspectRatios - * Aspect ratios in floats, representing the ratio of the width to the height - * of the image. For example, if the desired aspect ratio is 4/3, the - * corresponding float value should be 1.33333. If not specified, the - * best possible crop is returned. The number of provided aspect ratios is - * limited to a maximum of 16; any aspect ratios provided after the 16th are - * ignored. - * - * @typedef CropHintsParams - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const CropHintsParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for web detection request. - * - * @property {boolean} includeGeoResults - * Whether to include results derived from the geo information in the image. - * - * @typedef WebDetectionParams - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const WebDetectionParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Image context and/or feature-specific parameters. - * - * @property {Object} latLongRect - * lat/long rectangle that specifies the location of the image. - * - * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1p1beta1.LatLongRect} - * - * @property {string[]} languageHints - * List of languages to use for TEXT_DETECTION. In most cases, an empty value - * yields the best results since it enables automatic language detection. For - * languages based on the Latin alphabet, setting `language_hints` is not - * needed. In rare cases, when the language of the text in the image is known, - * setting a hint will help get better results (although it will be a - * significant hindrance if the hint is wrong). Text detection returns an - * error if one or more of the specified languages is not one of the - * [supported languages](https://cloud.google.com/vision/docs/languages). - * - * @property {Object} cropHintsParams - * Parameters for crop hints annotation request. - * - * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1p1beta1.CropHintsParams} - * - * @property {Object} webDetectionParams - * Parameters for web detection. - * - * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1p1beta1.WebDetectionParams} - * - * @typedef ImageContext - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const ImageContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request for performing Google Cloud Vision API tasks over a user-provided - * image, with user-requested features. - * - * @property {Object} image - * The image to be processed. - * - * This object should have the same structure as [Image]{@link google.cloud.vision.v1p1beta1.Image} - * - * @property {Object[]} features - * Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p1beta1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p1beta1.ImageContext} - * - * @typedef AnnotateImageRequest - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const AnnotateImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an image annotation request. - * - * @property {Object[]} faceAnnotations - * If present, face detection has completed successfully. - * - * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1p1beta1.FaceAnnotation} - * - * @property {Object[]} landmarkAnnotations - * If present, landmark detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p1beta1.EntityAnnotation} - * - * @property {Object[]} logoAnnotations - * If present, logo detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p1beta1.EntityAnnotation} - * - * @property {Object[]} labelAnnotations - * If present, label detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p1beta1.EntityAnnotation} - * - * @property {Object[]} textAnnotations - * If present, text (OCR) detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p1beta1.EntityAnnotation} - * - * @property {Object} fullTextAnnotation - * If present, text (OCR) detection or document (OCR) text detection has - * completed successfully. - * This annotation provides the structural hierarchy for the OCR detected - * text. - * - * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1p1beta1.TextAnnotation} - * - * @property {Object} safeSearchAnnotation - * If present, safe-search annotation has completed successfully. - * - * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1p1beta1.SafeSearchAnnotation} - * - * @property {Object} imagePropertiesAnnotation - * If present, image properties were extracted successfully. - * - * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1p1beta1.ImageProperties} - * - * @property {Object} cropHintsAnnotation - * If present, crop hints have completed successfully. - * - * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1p1beta1.CropHintsAnnotation} - * - * @property {Object} webDetection - * If present, web detection has completed successfully. - * - * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1p1beta1.WebDetection} - * - * @property {Object} error - * If set, represents the error message for the operation. - * Note that filled-in image annotations are guaranteed to be - * correct, even when `error` is set. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef AnnotateImageResponse - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const AnnotateImageResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Multiple image annotation requests are batched into a single service call. - * - * @property {Object[]} requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p1beta1.AnnotateImageRequest} - * - * @typedef BatchAnnotateImagesRequest - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const BatchAnnotateImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to a batch image annotation request. - * - * @property {Object[]} responses - * Individual responses to image annotation requests within the batch. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p1beta1.AnnotateImageResponse} - * - * @typedef BatchAnnotateImagesResponse - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/image_annotator.proto} - */ -const BatchAnnotateImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A bucketized representation of likelihood, which is intended to give clients - * highly stable results across model upgrades. - * - * @enum {number} - * @memberof google.cloud.vision.v1p1beta1 - */ -const Likelihood = { - - /** - * Unknown likelihood. - */ - UNKNOWN: 0, - - /** - * It is very unlikely that the image belongs to the specified vertical. - */ - VERY_UNLIKELY: 1, - - /** - * It is unlikely that the image belongs to the specified vertical. - */ - UNLIKELY: 2, - - /** - * It is possible that the image belongs to the specified vertical. - */ - POSSIBLE: 3, - - /** - * It is likely that the image belongs to the specified vertical. - */ - LIKELY: 4, - - /** - * It is very likely that the image belongs to the specified vertical. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js deleted file mode 100644 index 257b4a7cccd..00000000000 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_text_annotation.js +++ /dev/null @@ -1,386 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * TextAnnotation contains a structured representation of OCR extracted text. - * The hierarchy of an OCR extracted text structure is like this: - * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol - * Each structural component, starting from Page, may further have their own - * properties. Properties describe detected languages, breaks etc.. Please refer - * to the - * TextAnnotation.TextProperty - * message definition below for more detail. - * - * @property {Object[]} pages - * List of pages detected by OCR. - * - * This object should have the same structure as [Page]{@link google.cloud.vision.v1p1beta1.Page} - * - * @property {string} text - * UTF-8 text detected on the pages. - * - * @typedef TextAnnotation - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} - */ -const TextAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Detected language for a structural component. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {number} confidence - * Confidence of detected language. Range [0, 1]. - * - * @typedef DetectedLanguage - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} - */ - DetectedLanguage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Detected start or end of a structural component. - * - * @property {number} type - * Detected break type. - * - * The number should be among the values of [BreakType]{@link google.cloud.vision.v1p1beta1.BreakType} - * - * @property {boolean} isPrefix - * True if break prepends the element. - * - * @typedef DetectedBreak - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} - */ - DetectedBreak: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Enum to denote the type of break found. New line, space etc. - * - * @enum {number} - * @memberof google.cloud.vision.v1p1beta1 - */ - BreakType: { - - /** - * Unknown break label type. - */ - UNKNOWN: 0, - - /** - * Regular space. - */ - SPACE: 1, - - /** - * Sure space (very wide). - */ - SURE_SPACE: 2, - - /** - * Line-wrapping break. - */ - EOL_SURE_SPACE: 3, - - /** - * End-line hyphen that is not present in text; does not co-occur with - * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. - */ - HYPHEN: 4, - - /** - * Line break that ends a paragraph. - */ - LINE_BREAK: 5 - } - }, - - /** - * Additional information detected on the structural component. - * - * @property {Object[]} detectedLanguages - * A list of detected languages together with confidence. - * - * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1p1beta1.DetectedLanguage} - * - * @property {Object} detectedBreak - * Detected start or end of a text segment. - * - * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1p1beta1.DetectedBreak} - * - * @typedef TextProperty - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} - */ - TextProperty: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * Detected page from OCR. - * - * @property {Object} property - * Additional information detected on the page. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} - * - * @property {number} width - * Page width in pixels. - * - * @property {number} height - * Page height in pixels. - * - * @property {Object[]} blocks - * List of blocks of text, images etc on this page. - * - * This object should have the same structure as [Block]{@link google.cloud.vision.v1p1beta1.Block} - * - * @property {number} confidence - * Confidence of the OCR results on the page. Range [0, 1]. - * - * @typedef Page - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} - */ -const Page = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Logical element on the page. - * - * @property {Object} property - * Additional information detected for the block. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the block. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} - * - * @property {Object[]} paragraphs - * List of paragraphs in this block (if this blocks is of type text). - * - * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1p1beta1.Paragraph} - * - * @property {number} blockType - * Detected block type (text, image etc) for this block. - * - * The number should be among the values of [BlockType]{@link google.cloud.vision.v1p1beta1.BlockType} - * - * @property {number} confidence - * Confidence of the OCR results on the block. Range [0, 1]. - * - * @typedef Block - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} - */ -const Block = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of a block (text, image etc) as identified by OCR. - * - * @enum {number} - * @memberof google.cloud.vision.v1p1beta1 - */ - BlockType: { - - /** - * Unknown block type. - */ - UNKNOWN: 0, - - /** - * Regular text block. - */ - TEXT: 1, - - /** - * Table block. - */ - TABLE: 2, - - /** - * Image block. - */ - PICTURE: 3, - - /** - * Horizontal/vertical line box. - */ - RULER: 4, - - /** - * Barcode block. - */ - BARCODE: 5 - } -}; - -/** - * Structural unit of text representing a number of words in certain order. - * - * @property {Object} property - * Additional information detected for the paragraph. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the paragraph. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} - * - * @property {Object[]} words - * List of words in this paragraph. - * - * This object should have the same structure as [Word]{@link google.cloud.vision.v1p1beta1.Word} - * - * @property {number} confidence - * Confidence of the OCR results for the paragraph. Range [0, 1]. - * - * @typedef Paragraph - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} - */ -const Paragraph = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A word representation. - * - * @property {Object} property - * Additional information detected for the word. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the word. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} - * - * @property {Object[]} symbols - * List of symbols in the word. - * The order of the symbols follows the natural reading order. - * - * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1p1beta1.Symbol} - * - * @property {number} confidence - * Confidence of the OCR results for the word. Range [0, 1]. - * - * @typedef Word - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} - */ -const Word = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A single symbol representation. - * - * @property {Object} property - * Additional information detected for the symbol. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p1beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the symbol. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p1beta1.BoundingPoly} - * - * @property {string} text - * The actual UTF-8 representation of the symbol. - * - * @property {number} confidence - * Confidence of the OCR results for the symbol. Range [0, 1]. - * - * @typedef Symbol - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/text_annotation.proto} - */ -const Symbol = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js deleted file mode 100644 index 83736d544eb..00000000000 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/cloud/vision/v1p1beta1/doc_web_detection.js +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Relevant information for the image from the Internet. - * - * @property {Object[]} webEntities - * Deduced entities from similar images on the Internet. - * - * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1p1beta1.WebEntity} - * - * @property {Object[]} fullMatchingImages - * Fully matching images from the Internet. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images from the Internet. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} - * - * @property {Object[]} pagesWithMatchingImages - * Web pages containing the matching images from the Internet. - * - * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1p1beta1.WebPage} - * - * @property {Object[]} visuallySimilarImages - * The visually similar image results. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} - * - * @property {Object[]} bestGuessLabels - * Best guess text labels for the request image. - * - * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1p1beta1.WebLabel} - * - * @typedef WebDetection - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} - */ -const WebDetection = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Entity deduced from similar images on the Internet. - * - * @property {string} entityId - * Opaque entity ID. - * - * @property {number} score - * Overall relevancy score for the entity. - * Not normalized and not comparable across different image queries. - * - * @property {string} description - * Canonical description of the entity, in English. - * - * @typedef WebEntity - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} - */ - WebEntity: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for online images. - * - * @property {string} url - * The result image URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the image. - * - * @typedef WebImage - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} - */ - WebImage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for web pages. - * - * @property {string} url - * The result web page URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the web page. - * - * @property {string} pageTitle - * Title for the web page, may contain HTML markups. - * - * @property {Object[]} fullMatchingImages - * Fully matching images on the page. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images on the page. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its - * crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p1beta1.WebImage} - * - * @typedef WebPage - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} - */ - WebPage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Label to provide extra metadata for the web detection. - * - * @property {string} label - * Label for extra metadata. - * - * @property {string} languageCode - * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - * For more information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @typedef WebLabel - * @memberof google.cloud.vision.v1p1beta1 - * @see [google.cloud.vision.v1p1beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p1beta1/web_detection.proto} - */ - WebLabel: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_any.js +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * `Any` contains an arbitrary serialized protocol buffer message along with a - * URL that describes the type of the serialized message. - * - * Protobuf library provides support to pack/unpack Any values in the form - * of utility functions or additional generated methods of the Any type. - * - * Example 1: Pack and unpack a message in C++. - * - * Foo foo = ...; - * Any any; - * any.PackFrom(foo); - * ... - * if (any.UnpackTo(&foo)) { - * ... - * } - * - * Example 2: Pack and unpack a message in Java. - * - * Foo foo = ...; - * Any any = Any.pack(foo); - * ... - * if (any.is(Foo.class)) { - * foo = any.unpack(Foo.class); - * } - * - * Example 3: Pack and unpack a message in Python. - * - * foo = Foo(...) - * any = Any() - * any.Pack(foo) - * ... - * if any.Is(Foo.DESCRIPTOR): - * any.Unpack(foo) - * ... - * - * Example 4: Pack and unpack a message in Go - * - * foo := &pb.Foo{...} - * any, err := ptypes.MarshalAny(foo) - * ... - * foo := &pb.Foo{} - * if err := ptypes.UnmarshalAny(any, foo); err != nil { - * ... - * } - * - * The pack methods provided by protobuf library will by default use - * 'type.googleapis.com/full.type.name' as the type URL and the unpack - * methods only use the fully qualified type name after the last '/' - * in the type URL, for example "foo.bar.com/x/y.z" will yield type - * name "y.z". - * - * - * # JSON - * - * The JSON representation of an `Any` value uses the regular - * representation of the deserialized, embedded message, with an - * additional field `@type` which contains the type URL. Example: - * - * package google.profile; - * message Person { - * string first_name = 1; - * string last_name = 2; - * } - * - * { - * "@type": "type.googleapis.com/google.profile.Person", - * "firstName": , - * "lastName": - * } - * - * If the embedded message type is well-known and has a custom JSON - * representation, that representation will be embedded adding a field - * `value` which holds the custom JSON in addition to the `@type` - * field. Example (for message google.protobuf.Duration): - * - * { - * "@type": "type.googleapis.com/google.protobuf.Duration", - * "value": "1.212s" - * } - * - * @property {string} typeUrl - * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. This string must contain at least - * one "/" character. The last segment of the URL's path must represent - * the fully qualified name of the type (as in - * `path/google.protobuf.Duration`). The name should be in a canonical form - * (e.g., leading "." is not accepted). - * - * In practice, teams usually precompile into the binary all types that they - * expect it to use in the context of Any. However, for URLs which use the - * scheme `http`, `https`, or no scheme, one can optionally set up a type - * server that maps type URLs to message definitions as follows: - * - * * If no scheme is provided, `https` is assumed. - * * An HTTP GET on the URL must yield a google.protobuf.Type - * value in binary format, or produce an error. - * * Applications are allowed to cache lookup results based on the - * URL, or have them precompiled into a binary to avoid any - * lookup. Therefore, binary compatibility needs to be preserved - * on changes to types. (Use versioned type names to manage - * breaking changes.) - * - * Note: this functionality is not currently available in the official - * protobuf release, and it is not used for type URLs beginning with - * type.googleapis.com. - * - * Schemes other than `http`, `https` (or the empty scheme) might be - * used with implementation specific semantics. - * - * @property {Buffer} value - * Must be a valid serialized protocol buffer of the above specified type. - * - * @typedef Any - * @memberof google.protobuf - * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} - */ -const Any = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js deleted file mode 100644 index 90e2ff4ab5a..00000000000 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/protobuf/doc_wrappers.js +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Wrapper message for `float`. - * - * The JSON representation for `FloatValue` is JSON number. - * - * @property {number} value - * The float value. - * - * @typedef FloatValue - * @memberof google.protobuf - * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const FloatValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/rpc/doc_status.js +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * The `Status` type defines a logical error model that is suitable for - * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). Each `Status` message contains - * three pieces of data: error code, error message, and error details. - * - * You can find out more about this error model and how to work with it in the - * [API Design Guide](https://cloud.google.com/apis/design/errors). - * - * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. - * - * @property {string} message - * A developer-facing error message, which should be in English. Any - * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. - * - * @property {Object[]} details - * A list of messages that carry the error details. There is a common set of - * message types for APIs to use. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @typedef Status - * @memberof google.rpc - * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} - */ -const Status = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js deleted file mode 100644 index 9570187d502..00000000000 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_color.js +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Represents a color in the RGBA color space. This representation is designed - * for simplicity of conversion to/from color representations in various - * languages over compactness; for example, the fields of this representation - * can be trivially provided to the constructor of "java.awt.Color" in Java; it - * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" - * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. - * - * Note: this proto does not carry information about the absolute color space - * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, - * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color - * space. - * - * Example (Java): - * - * import com.google.type.Color; - * - * // ... - * public static java.awt.Color fromProto(Color protocolor) { - * float alpha = protocolor.hasAlpha() - * ? protocolor.getAlpha().getValue() - * : 1.0; - * - * return new java.awt.Color( - * protocolor.getRed(), - * protocolor.getGreen(), - * protocolor.getBlue(), - * alpha); - * } - * - * public static Color toProto(java.awt.Color color) { - * float red = (float) color.getRed(); - * float green = (float) color.getGreen(); - * float blue = (float) color.getBlue(); - * float denominator = 255.0; - * Color.Builder resultBuilder = - * Color - * .newBuilder() - * .setRed(red / denominator) - * .setGreen(green / denominator) - * .setBlue(blue / denominator); - * int alpha = color.getAlpha(); - * if (alpha != 255) { - * result.setAlpha( - * FloatValue - * .newBuilder() - * .setValue(((float) alpha) / denominator) - * .build()); - * } - * return resultBuilder.build(); - * } - * // ... - * - * Example (iOS / Obj-C): - * - * // ... - * static UIColor* fromProto(Color* protocolor) { - * float red = [protocolor red]; - * float green = [protocolor green]; - * float blue = [protocolor blue]; - * FloatValue* alpha_wrapper = [protocolor alpha]; - * float alpha = 1.0; - * if (alpha_wrapper != nil) { - * alpha = [alpha_wrapper value]; - * } - * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; - * } - * - * static Color* toProto(UIColor* color) { - * CGFloat red, green, blue, alpha; - * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { - * return nil; - * } - * Color* result = [[Color alloc] init]; - * [result setRed:red]; - * [result setGreen:green]; - * [result setBlue:blue]; - * if (alpha <= 0.9999) { - * [result setAlpha:floatWrapperWithValue(alpha)]; - * } - * [result autorelease]; - * return result; - * } - * // ... - * - * Example (JavaScript): - * - * // ... - * - * var protoToCssColor = function(rgb_color) { - * var redFrac = rgb_color.red || 0.0; - * var greenFrac = rgb_color.green || 0.0; - * var blueFrac = rgb_color.blue || 0.0; - * var red = Math.floor(redFrac * 255); - * var green = Math.floor(greenFrac * 255); - * var blue = Math.floor(blueFrac * 255); - * - * if (!('alpha' in rgb_color)) { - * return rgbToCssColor_(red, green, blue); - * } - * - * var alphaFrac = rgb_color.alpha.value || 0.0; - * var rgbParams = [red, green, blue].join(','); - * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); - * }; - * - * var rgbToCssColor_ = function(red, green, blue) { - * var rgbNumber = new Number((red << 16) | (green << 8) | blue); - * var hexString = rgbNumber.toString(16); - * var missingZeros = 6 - hexString.length; - * var resultBuilder = ['#']; - * for (var i = 0; i < missingZeros; i++) { - * resultBuilder.push('0'); - * } - * resultBuilder.push(hexString); - * return resultBuilder.join(''); - * }; - * - * // ... - * - * @property {number} red - * The amount of red in the color as a value in the interval [0, 1]. - * - * @property {number} green - * The amount of green in the color as a value in the interval [0, 1]. - * - * @property {number} blue - * The amount of blue in the color as a value in the interval [0, 1]. - * - * @property {Object} alpha - * The fraction of this color that should be applied to the pixel. That is, - * the final pixel color is defined by the equation: - * - * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) - * - * This means that a value of 1.0 corresponds to a solid color, whereas - * a value of 0.0 corresponds to a completely transparent color. This - * uses a wrapper message rather than a simple float scalar so that it is - * possible to distinguish between a default value and the value being unset. - * If omitted, this color object is to be rendered as a solid color - * (as if the alpha value had been explicitly given with a value of 1.0). - * - * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} - * - * @typedef Color - * @memberof google.type - * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} - */ -const Color = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js deleted file mode 100644 index bacbf0e1f48..00000000000 --- a/packages/google-cloud-vision/src/v1p1beta1/doc/google/type/doc_latlng.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * An object representing a latitude/longitude pair. This is expressed as a pair - * of doubles representing degrees latitude and degrees longitude. Unless - * specified otherwise, this must conform to the - * WGS84 - * standard. Values must be within normalized ranges. - * - * @property {number} latitude - * The latitude in degrees. It must be in the range [-90.0, +90.0]. - * - * @property {number} longitude - * The longitude in degrees. It must be in the range [-180.0, +180.0]. - * - * @typedef LatLng - * @memberof google.type - * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} - */ -const LatLng = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts similarity index 50% rename from packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js rename to packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index c9e8076f00f..32fa019b07a 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.js +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,24 +11,40 @@ // 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'; +import * as gax from 'google-gax'; +import { + APICallback, + Callback, + CallOptions, + Descriptors, + ClientOptions, +} from 'google-gax'; +import * as path from 'path'; -const gapicConfig = require('./image_annotator_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './image_annotator_client_config.json'; -const VERSION = require('../../package.json').version; +const version = require('../../../package.json').version; /** - * Service that performs Google Cloud Vision API detection tasks over client - * images, such as face, landmark, logo, label, and text detection. The - * ImageAnnotator service returns detected entities from the images. - * + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. * @class * @memberof v1p1beta1 */ -class ImageAnnotatorClient { +export class ImageAnnotatorClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _terminated = false; + auth: gax.GoogleAuth; + imageAnnotatorStub: Promise<{[name: string]: Function}>; + /** * Construct an instance of ImageAnnotatorClient. * @@ -56,58 +72,55 @@ class ImageAnnotatorClient { * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ - constructor(opts) { - opts = opts || {}; - this._descriptors = {}; - if (global.isBrowser) { - // If we're in browser, we use gRPC fallback. - opts.fallback = true; + constructor(opts?: ClientOptions) { + // Ensure that options include the service address and port. + const staticMembers = this.constructor as typeof ImageAnnotatorClient; + const servicePath = + opts && opts.servicePath + ? opts.servicePath + : opts && opts.apiEndpoint + ? opts.apiEndpoint + : staticMembers.servicePath; + const port = opts && opts.port ? opts.port : staticMembers.port; + + if (!opts) { + opts = {servicePath, port}; } + opts.servicePath = opts.servicePath || servicePath; + opts.port = opts.port || port; + opts.clientConfig = opts.clientConfig || {}; + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { + opts.fallback = true; + } // If we are in browser, we are already using fallback because of the // "browser" field in package.json. // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; - - const servicePath = - opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; - - // Ensure that options include the service address and port. - opts = Object.assign( - { - clientConfig: {}, - port: this.constructor.port, - servicePath, - }, - opts - ); + const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. - opts.scopes = this.constructor.scopes; + opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; const gaxGrpc = new gaxModule.GrpcClient(opts); // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth; + this.auth = gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = []; - + const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); - } - clientHeader.push(`gax/${gaxModule.version}`); - if (opts.fallback) { - clientHeader.push(`gl-web/${gaxModule.version}`); } else { + clientHeader.push(`gl-web/${gaxModule.version}`); + } + if (!opts.fallback) { clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); } - clientHeader.push(`gapic/${VERSION}`); if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } - // Load the applicable protos. // For Node.js, pass the path to JSON proto file. // For browsers, pass the JSON content. @@ -126,8 +139,8 @@ class ImageAnnotatorClient { // Put together the default options sent with requests. const defaults = gaxGrpc.constructSettings( 'google.cloud.vision.v1p1beta1.ImageAnnotator', - gapicConfig, - opts.clientConfig, + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')} ); @@ -138,30 +151,48 @@ class ImageAnnotatorClient { // Put together the "service stub" for // google.cloud.vision.v1p1beta1.ImageAnnotator. - const imageAnnotatorStub = gaxGrpc.createStub( + this.imageAnnotatorStub = gaxGrpc.createStub( opts.fallback - ? protos.lookupService('google.cloud.vision.v1p1beta1.ImageAnnotator') - : protos.google.cloud.vision.v1p1beta1.ImageAnnotator, + ? (protos as protobuf.Root).lookupService( + 'google.cloud.vision.v1p1beta1.ImageAnnotator' + ) + : // tslint:disable-next-line no-any + (protos as any).google.cloud.vision.v1p1beta1.ImageAnnotator, opts - ); + ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides // and create an API call method for each. const imageAnnotatorStubMethods = ['batchAnnotateImages']; + for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = imageAnnotatorStub.then( - stub => (...args) => { + const innerCallPromise = this.imageAnnotatorStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } return stub[methodName].apply(stub, args); }, - err => () => { + (err: Error | null | undefined) => () => { throw err; } ); - this._innerApiCalls[methodName] = gaxModule.createApiCall( + + const apiCall = gaxModule.createApiCall( innerCallPromise, defaults[methodName], - null + this._descriptors.page[methodName] || + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] ); + + this._innerApiCalls[methodName] = ( + argument: {}, + callOptions?: CallOptions, + callback?: APICallback + ) => { + return apiCall(argument, callOptions, callback); + }; } } @@ -198,67 +229,114 @@ class ImageAnnotatorClient { ]; } + getProjectId(): Promise; + getProjectId(callback: Callback): void; /** * Return the project ID used by this class. * @param {function(Error, string)} callback - the callback to * be called with the current project Id. */ - getProjectId(callback) { - return this.auth.getProjectId(callback); + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); } // ------------------- // -- Service calls -- // ------------------- - + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + >; + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): void; /** * Run image detection and annotation for a batch of images. * * @param {Object} request * The request object that will be sent. - * @param {Object[]} request.requests + * @param {number[]} request.requests * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p1beta1.AnnotateImageRequest} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse}. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse}. * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p1beta1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * client.batchAnnotateImages({requests: requests}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); */ - batchAnnotateImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; } - request = request || {}; options = options || {}; - return this._innerApiCalls.batchAnnotateImages(request, options, callback); } -} -module.exports = ImageAnnotatorClient; + /** + * Terminate the GRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + */ + close(): Promise { + if (!this._terminated) { + return this.imageAnnotatorStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} +import {FeaturesMethod} from '../helpers'; +export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json index 55c365e3f80..469fb95c03d 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client_config.json @@ -2,11 +2,11 @@ "interfaces": { "google.cloud.vision.v1p1beta1.ImageAnnotator": { "retry_codes": { + "non_idempotent": [], "idempotent": [ "DEADLINE_EXCEEDED", "UNAVAILABLE" - ], - "non_idempotent": [] + ] }, "retry_params": { "default": { @@ -14,14 +14,14 @@ "retry_delay_multiplier": 1.3, "max_retry_delay_millis": 60000, "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1.0, + "rpc_timeout_multiplier": 1, "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "BatchAnnotateImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_proto_list.json index 75373115353..35609fc84f3 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_proto_list.json +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_proto_list.json @@ -1,3 +1,6 @@ [ - "../../protos/google/cloud/vision/v1p1beta1/image_annotator.proto" + "../../protos/google/cloud/vision/v1p1beta1/geometry.proto", + "../../protos/google/cloud/vision/v1p1beta1/image_annotator.proto", + "../../protos/google/cloud/vision/v1p1beta1/text_annotation.proto", + "../../protos/google/cloud/vision/v1p1beta1/web_detection.proto" ] diff --git a/packages/google-cloud-vision/src/browser.js b/packages/google-cloud-vision/src/v1p1beta1/index.ts similarity index 65% rename from packages/google-cloud-vision/src/browser.js rename to packages/google-cloud-vision/src/v1p1beta1/index.ts index 68dc62d25d6..aed82506fff 100644 --- a/packages/google-cloud-vision/src/browser.js +++ b/packages/google-cloud-vision/src/v1p1beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,11 +11,9 @@ // 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'; - -// Set a flag that we are running in a browser bundle. -global.isBrowser = true; - -// Re-export all exports from ./index.js. -module.exports = require('./index'); +export {ImageAnnotatorClient} from './image_annotator_client'; diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js deleted file mode 100644 index a0df9692a84..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_geometry.js +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A vertex represents a 2D point in the image. - * NOTE: the vertex coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @typedef Vertex - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} - */ -const Vertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A vertex represents a 2D point in the image. - * NOTE: the normalized vertex coordinates are relative to the original image - * and range from 0 to 1. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @typedef NormalizedVertex - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} - */ -const NormalizedVertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A bounding polygon for the detected image annotation. - * - * @property {Object[]} vertices - * The bounding polygon vertices. - * - * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1p2beta1.Vertex} - * - * @property {Object[]} normalizedVertices - * The bounding polygon normalized vertices. - * - * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1p2beta1.NormalizedVertex} - * - * @typedef BoundingPoly - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} - */ -const BoundingPoly = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A 3D position in the image, used primarily for Face detection landmarks. - * A valid Position must have both x and y coordinates. - * The position coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @property {number} z - * Z coordinate (or depth). - * - * @typedef Position - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/geometry.proto} - */ -const Position = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js deleted file mode 100644 index 77d0a4d5506..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_image_annotator.js +++ /dev/null @@ -1,1250 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * The type of Google Cloud Vision API detection to perform, and the maximum - * number of results to return for that type. Multiple `Feature` objects can - * be specified in the `features` list. - * - * @property {number} type - * The feature type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1p2beta1.Type} - * - * @property {number} maxResults - * Maximum number of results of this type. Does not apply to - * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. - * - * @property {string} model - * Model to use for the feature. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef Feature - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const Feature = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of Google Cloud Vision API feature to be extracted. - * - * @enum {number} - * @memberof google.cloud.vision.v1p2beta1 - */ - Type: { - - /** - * Unspecified feature type. - */ - TYPE_UNSPECIFIED: 0, - - /** - * Run face detection. - */ - FACE_DETECTION: 1, - - /** - * Run landmark detection. - */ - LANDMARK_DETECTION: 2, - - /** - * Run logo detection. - */ - LOGO_DETECTION: 3, - - /** - * Run label detection. - */ - LABEL_DETECTION: 4, - - /** - * Run text detection / optical character recognition (OCR). Text detection - * is optimized for areas of text within a larger image; if the image is - * a document, use `DOCUMENT_TEXT_DETECTION` instead. - */ - TEXT_DETECTION: 5, - - /** - * Run dense text document OCR. Takes precedence when both - * `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. - */ - DOCUMENT_TEXT_DETECTION: 11, - - /** - * Run Safe Search to detect potentially unsafe - * or undesirable content. - */ - SAFE_SEARCH_DETECTION: 6, - - /** - * Compute a set of image properties, such as the - * image's dominant colors. - */ - IMAGE_PROPERTIES: 7, - - /** - * Run crop hints. - */ - CROP_HINTS: 9, - - /** - * Run web detection. - */ - WEB_DETECTION: 10 - } -}; - -/** - * External image source (Google Cloud Storage or web URL image location). - * - * @property {string} gcsImageUri - * **Use `image_uri` instead.** - * - * The Google Cloud Storage URI of the form - * `gs://bucket_name/object_name`. Object versioning is not supported. See - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. - * - * @property {string} imageUri - * The URI of the source image. Can be either: - * - * 1. A Google Cloud Storage URI of the form - * `gs://bucket_name/object_name`. Object versioning is not supported. See - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris) for more - * info. - * - * 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from - * HTTP/HTTPS URLs, Google cannot guarantee that the request will be - * completed. Your request may fail if the specified host denies the - * request (e.g. due to request throttling or DOS prevention), or if Google - * throttles requests to the site for abuse prevention. You should not - * depend on externally-hosted images for production applications. - * - * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes - * precedence. - * - * @typedef ImageSource - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const ImageSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Client image to perform Google Cloud Vision API tasks over. - * - * @property {Buffer} content - * Image content, represented as a stream of bytes. - * Note: As with all `bytes` fields, protobuffers use a pure binary - * representation, whereas JSON representations use base64. - * - * @property {Object} source - * Google Cloud Storage image location, or publicly-accessible image - * URL. If both `content` and `source` are provided for an image, `content` - * takes precedence and is used to perform the image annotation request. - * - * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1p2beta1.ImageSource} - * - * @typedef Image - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const Image = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A face annotation object contains the results of face detection. - * - * @property {Object} boundingPoly - * The bounding polygon around the face. The coordinates of the bounding box - * are in the original image's scale, as returned in `ImageParams`. - * The bounding box is computed to "frame" the face in accordance with human - * expectations. It is based on the landmarker results. - * Note that one or more x and/or y coordinates may not be generated in the - * `BoundingPoly` (the polygon will be unbounded) if only a partial face - * appears in the image to be annotated. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} - * - * @property {Object} fdBoundingPoly - * The `fd_bounding_poly` bounding polygon is tighter than the - * `boundingPoly`, and encloses only the skin part of the face. Typically, it - * is used to eliminate the face from any image analysis that detects the - * "amount of skin" visible in an image. It is not based on the - * landmarker results, only on the initial face detection, hence - * the fd (face detection) prefix. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} - * - * @property {Object[]} landmarks - * Detected face landmarks. - * - * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1p2beta1.Landmark} - * - * @property {number} rollAngle - * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation - * of the face relative to the image vertical about the axis perpendicular to - * the face. Range [-180,180]. - * - * @property {number} panAngle - * Yaw angle, which indicates the leftward/rightward angle that the face is - * pointing relative to the vertical plane perpendicular to the image. Range - * [-180,180]. - * - * @property {number} tiltAngle - * Pitch angle, which indicates the upwards/downwards angle that the face is - * pointing relative to the image's horizontal plane. Range [-180,180]. - * - * @property {number} detectionConfidence - * Detection confidence. Range [0, 1]. - * - * @property {number} landmarkingConfidence - * Face landmarking confidence. Range [0, 1]. - * - * @property {number} joyLikelihood - * Joy likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} sorrowLikelihood - * Sorrow likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} angerLikelihood - * Anger likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} surpriseLikelihood - * Surprise likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} underExposedLikelihood - * Under-exposed likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} blurredLikelihood - * Blurred likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} headwearLikelihood - * Headwear likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @typedef FaceAnnotation - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const FaceAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * A face-specific landmark (for example, a face feature). - * - * @property {number} type - * Face landmark type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1p2beta1.Type} - * - * @property {Object} position - * Face landmark position. - * - * This object should have the same structure as [Position]{@link google.cloud.vision.v1p2beta1.Position} - * - * @typedef Landmark - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ - Landmark: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Face landmark (feature) type. - * Left and right are defined from the vantage of the viewer of the image - * without considering mirror projections typical of photos. So, `LEFT_EYE`, - * typically, is the person's right eye. - * - * @enum {number} - * @memberof google.cloud.vision.v1p2beta1 - */ - Type: { - - /** - * Unknown face landmark detected. Should not be filled. - */ - UNKNOWN_LANDMARK: 0, - - /** - * Left eye. - */ - LEFT_EYE: 1, - - /** - * Right eye. - */ - RIGHT_EYE: 2, - - /** - * Left of left eyebrow. - */ - LEFT_OF_LEFT_EYEBROW: 3, - - /** - * Right of left eyebrow. - */ - RIGHT_OF_LEFT_EYEBROW: 4, - - /** - * Left of right eyebrow. - */ - LEFT_OF_RIGHT_EYEBROW: 5, - - /** - * Right of right eyebrow. - */ - RIGHT_OF_RIGHT_EYEBROW: 6, - - /** - * Midpoint between eyes. - */ - MIDPOINT_BETWEEN_EYES: 7, - - /** - * Nose tip. - */ - NOSE_TIP: 8, - - /** - * Upper lip. - */ - UPPER_LIP: 9, - - /** - * Lower lip. - */ - LOWER_LIP: 10, - - /** - * Mouth left. - */ - MOUTH_LEFT: 11, - - /** - * Mouth right. - */ - MOUTH_RIGHT: 12, - - /** - * Mouth center. - */ - MOUTH_CENTER: 13, - - /** - * Nose, bottom right. - */ - NOSE_BOTTOM_RIGHT: 14, - - /** - * Nose, bottom left. - */ - NOSE_BOTTOM_LEFT: 15, - - /** - * Nose, bottom center. - */ - NOSE_BOTTOM_CENTER: 16, - - /** - * Left eye, top boundary. - */ - LEFT_EYE_TOP_BOUNDARY: 17, - - /** - * Left eye, right corner. - */ - LEFT_EYE_RIGHT_CORNER: 18, - - /** - * Left eye, bottom boundary. - */ - LEFT_EYE_BOTTOM_BOUNDARY: 19, - - /** - * Left eye, left corner. - */ - LEFT_EYE_LEFT_CORNER: 20, - - /** - * Right eye, top boundary. - */ - RIGHT_EYE_TOP_BOUNDARY: 21, - - /** - * Right eye, right corner. - */ - RIGHT_EYE_RIGHT_CORNER: 22, - - /** - * Right eye, bottom boundary. - */ - RIGHT_EYE_BOTTOM_BOUNDARY: 23, - - /** - * Right eye, left corner. - */ - RIGHT_EYE_LEFT_CORNER: 24, - - /** - * Left eyebrow, upper midpoint. - */ - LEFT_EYEBROW_UPPER_MIDPOINT: 25, - - /** - * Right eyebrow, upper midpoint. - */ - RIGHT_EYEBROW_UPPER_MIDPOINT: 26, - - /** - * Left ear tragion. - */ - LEFT_EAR_TRAGION: 27, - - /** - * Right ear tragion. - */ - RIGHT_EAR_TRAGION: 28, - - /** - * Left eye pupil. - */ - LEFT_EYE_PUPIL: 29, - - /** - * Right eye pupil. - */ - RIGHT_EYE_PUPIL: 30, - - /** - * Forehead glabella. - */ - FOREHEAD_GLABELLA: 31, - - /** - * Chin gnathion. - */ - CHIN_GNATHION: 32, - - /** - * Chin left gonion. - */ - CHIN_LEFT_GONION: 33, - - /** - * Chin right gonion. - */ - CHIN_RIGHT_GONION: 34 - } - } -}; - -/** - * Detected entity location information. - * - * @property {Object} latLng - * lat/long location coordinates. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LocationInfo - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const LocationInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A `Property` consists of a user-supplied name/value pair. - * - * @property {string} name - * Name of the property. - * - * @property {string} value - * Value of the property. - * - * @property {number} uint64Value - * Value of numeric properties. - * - * @typedef Property - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const Property = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of detected entity features. - * - * @property {string} mid - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} locale - * The language code for the locale in which the entity textual - * `description` is expressed. - * - * @property {string} description - * Entity textual description, expressed in its `locale` language. - * - * @property {number} score - * Overall score of the result. Range [0, 1]. - * - * @property {number} confidence - * **Deprecated. Use `score` instead.** - * The accuracy of the entity detection in an image. - * For example, for an image in which the "Eiffel Tower" entity is detected, - * this field represents the confidence that there is a tower in the query - * image. Range [0, 1]. - * - * @property {number} topicality - * The relevancy of the ICA (Image Content Annotation) label to the - * image. For example, the relevancy of "tower" is likely higher to an image - * containing the detected "Eiffel Tower" than to an image containing a - * detected distant towering building, even though the confidence that - * there is a tower in each image may be the same. Range [0, 1]. - * - * @property {Object} boundingPoly - * Image region to which this entity belongs. Not produced - * for `LABEL_DETECTION` features. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} - * - * @property {Object[]} locations - * The location information for the detected entity. Multiple - * `LocationInfo` elements can be present because one location may - * indicate the location of the scene in the image, and another location - * may indicate the location of the place where the image was taken. - * Location information is usually present for landmarks. - * - * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1p2beta1.LocationInfo} - * - * @property {Object[]} properties - * Some entities may have optional user-supplied `Property` (name/value) - * fields, such a score or string that qualifies the entity. - * - * This object should have the same structure as [Property]{@link google.cloud.vision.v1p2beta1.Property} - * - * @typedef EntityAnnotation - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const EntityAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of features pertaining to the image, computed by computer vision - * methods over safe-search verticals (for example, adult, spoof, medical, - * violence). - * - * @property {number} adult - * Represents the adult content likelihood for the image. Adult content may - * contain elements such as nudity, pornographic images or cartoons, or - * sexual activities. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} spoof - * Spoof likelihood. The likelihood that an modification - * was made to the image's canonical version to make it appear - * funny or offensive. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} medical - * Likelihood that this is a medical image. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} violence - * Likelihood that this image contains violent content. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @property {number} racy - * Likelihood that the request image contains racy content. Racy content may - * include (but is not limited to) skimpy or sheer clothing, strategically - * covered nudity, lewd or provocative poses, or close-ups of sensitive - * body areas. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p2beta1.Likelihood} - * - * @typedef SafeSearchAnnotation - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const SafeSearchAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Rectangle determined by min and max `LatLng` pairs. - * - * @property {Object} minLatLng - * Min lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @property {Object} maxLatLng - * Max lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LatLongRect - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const LatLongRect = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Color information consists of RGB channels, score, and the fraction of - * the image that the color occupies in the image. - * - * @property {Object} color - * RGB components of the color. - * - * This object should have the same structure as [Color]{@link google.type.Color} - * - * @property {number} score - * Image-specific score for this color. Value in range [0, 1]. - * - * @property {number} pixelFraction - * The fraction of pixels the color occupies in the image. - * Value in range [0, 1]. - * - * @typedef ColorInfo - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const ColorInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of dominant colors and their corresponding scores. - * - * @property {Object[]} colors - * RGB color values with their score and pixel fraction. - * - * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1p2beta1.ColorInfo} - * - * @typedef DominantColorsAnnotation - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const DominantColorsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Stores image properties, such as dominant colors. - * - * @property {Object} dominantColors - * If present, dominant colors completed successfully. - * - * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1p2beta1.DominantColorsAnnotation} - * - * @typedef ImageProperties - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const ImageProperties = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Single crop hint that is used to generate a new crop when serving an image. - * - * @property {Object} boundingPoly - * The bounding polygon for the crop region. The coordinates of the bounding - * box are in the original image's scale, as returned in `ImageParams`. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} - * - * @property {number} confidence - * Confidence of this being a salient region. Range [0, 1]. - * - * @property {number} importanceFraction - * Fraction of importance of this salient region with respect to the original - * image. - * - * @typedef CropHint - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const CropHint = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of crop hints that are used to generate new crops when serving images. - * - * @property {Object[]} cropHints - * Crop hint results. - * - * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1p2beta1.CropHint} - * - * @typedef CropHintsAnnotation - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const CropHintsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for crop hints annotation request. - * - * @property {number[]} aspectRatios - * Aspect ratios in floats, representing the ratio of the width to the height - * of the image. For example, if the desired aspect ratio is 4/3, the - * corresponding float value should be 1.33333. If not specified, the - * best possible crop is returned. The number of provided aspect ratios is - * limited to a maximum of 16; any aspect ratios provided after the 16th are - * ignored. - * - * @typedef CropHintsParams - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const CropHintsParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for web detection request. - * - * @property {boolean} includeGeoResults - * Whether to include results derived from the geo information in the image. - * - * @typedef WebDetectionParams - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const WebDetectionParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Image context and/or feature-specific parameters. - * - * @property {Object} latLongRect - * Not used. - * - * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1p2beta1.LatLongRect} - * - * @property {string[]} languageHints - * List of languages to use for TEXT_DETECTION. In most cases, an empty value - * yields the best results since it enables automatic language detection. For - * languages based on the Latin alphabet, setting `language_hints` is not - * needed. In rare cases, when the language of the text in the image is known, - * setting a hint will help get better results (although it will be a - * significant hindrance if the hint is wrong). Text detection returns an - * error if one or more of the specified languages is not one of the - * [supported languages](https://cloud.google.com/vision/docs/languages). - * - * @property {Object} cropHintsParams - * Parameters for crop hints annotation request. - * - * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1p2beta1.CropHintsParams} - * - * @property {Object} webDetectionParams - * Parameters for web detection. - * - * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1p2beta1.WebDetectionParams} - * - * @typedef ImageContext - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const ImageContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request for performing Google Cloud Vision API tasks over a user-provided - * image, with user-requested features. - * - * @property {Object} image - * The image to be processed. - * - * This object should have the same structure as [Image]{@link google.cloud.vision.v1p2beta1.Image} - * - * @property {Object[]} features - * Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p2beta1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p2beta1.ImageContext} - * - * @typedef AnnotateImageRequest - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const AnnotateImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * If an image was produced from a file (e.g. a PDF), this message gives - * information about the source of that image. - * - * @property {string} uri - * The URI of the file used to produce the image. - * - * @property {number} pageNumber - * If the file was a PDF or TIFF, this field gives the page number within - * the file used to produce the image. - * - * @typedef ImageAnnotationContext - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const ImageAnnotationContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an image annotation request. - * - * @property {Object[]} faceAnnotations - * If present, face detection has completed successfully. - * - * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1p2beta1.FaceAnnotation} - * - * @property {Object[]} landmarkAnnotations - * If present, landmark detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p2beta1.EntityAnnotation} - * - * @property {Object[]} logoAnnotations - * If present, logo detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p2beta1.EntityAnnotation} - * - * @property {Object[]} labelAnnotations - * If present, label detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p2beta1.EntityAnnotation} - * - * @property {Object[]} textAnnotations - * If present, text (OCR) detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p2beta1.EntityAnnotation} - * - * @property {Object} fullTextAnnotation - * If present, text (OCR) detection or document (OCR) text detection has - * completed successfully. - * This annotation provides the structural hierarchy for the OCR detected - * text. - * - * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1p2beta1.TextAnnotation} - * - * @property {Object} safeSearchAnnotation - * If present, safe-search annotation has completed successfully. - * - * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1p2beta1.SafeSearchAnnotation} - * - * @property {Object} imagePropertiesAnnotation - * If present, image properties were extracted successfully. - * - * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1p2beta1.ImageProperties} - * - * @property {Object} cropHintsAnnotation - * If present, crop hints have completed successfully. - * - * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1p2beta1.CropHintsAnnotation} - * - * @property {Object} webDetection - * If present, web detection has completed successfully. - * - * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1p2beta1.WebDetection} - * - * @property {Object} error - * If set, represents the error message for the operation. - * Note that filled-in image annotations are guaranteed to be - * correct, even when `error` is set. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @property {Object} context - * If present, contextual information is needed to understand where this image - * comes from. - * - * This object should have the same structure as [ImageAnnotationContext]{@link google.cloud.vision.v1p2beta1.ImageAnnotationContext} - * - * @typedef AnnotateImageResponse - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const AnnotateImageResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to a single file annotation request. A file may contain one or more - * images, which individually have their own responses. - * - * @property {Object} inputConfig - * Information about the file for which this response is generated. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p2beta1.InputConfig} - * - * @property {Object[]} responses - * Individual responses to images found within the file. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p2beta1.AnnotateImageResponse} - * - * @typedef AnnotateFileResponse - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const AnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Multiple image annotation requests are batched into a single service call. - * - * @property {Object[]} requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p2beta1.AnnotateImageRequest} - * - * @typedef BatchAnnotateImagesRequest - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const BatchAnnotateImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to a batch image annotation request. - * - * @property {Object[]} responses - * Individual responses to image annotation requests within the batch. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p2beta1.AnnotateImageResponse} - * - * @typedef BatchAnnotateImagesResponse - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const BatchAnnotateImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * An offline file annotation request. - * - * @property {Object} inputConfig - * Required. Information about the input file. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p2beta1.InputConfig} - * - * @property {Object[]} features - * Required. Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p2beta1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image(s) in the file. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p2beta1.ImageContext} - * - * @property {Object} outputConfig - * Required. The desired output location and metadata (e.g. format). - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p2beta1.OutputConfig} - * - * @typedef AsyncAnnotateFileRequest - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const AsyncAnnotateFileRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The response for a single offline file annotation request. - * - * @property {Object} outputConfig - * The output location and metadata from AsyncAnnotateFileRequest. - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p2beta1.OutputConfig} - * - * @typedef AsyncAnnotateFileResponse - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const AsyncAnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Multiple async file annotation requests are batched into a single service - * call. - * - * @property {Object[]} requests - * Required. Individual async file annotation requests for this batch. - * - * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} - * - * @typedef AsyncBatchAnnotateFilesRequest - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const AsyncBatchAnnotateFilesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an async batch file annotation request. - * - * @property {Object[]} responses - * The list of file annotation responses, one for each request in - * AsyncBatchAnnotateFilesRequest. - * - * This object should have the same structure as [AsyncAnnotateFileResponse]{@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse} - * - * @typedef AsyncBatchAnnotateFilesResponse - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const AsyncBatchAnnotateFilesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The desired input location and metadata. - * - * @property {Object} gcsSource - * The Google Cloud Storage location to read the input from. - * - * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1p2beta1.GcsSource} - * - * @property {string} mimeType - * The type of the file. Currently only "application/pdf" and "image/tiff" - * are supported. Wildcards are not supported. - * - * @typedef InputConfig - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const InputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The desired output location and metadata. - * - * @property {Object} gcsDestination - * The Google Cloud Storage location to write the output(s) to. - * - * This object should have the same structure as [GcsDestination]{@link google.cloud.vision.v1p2beta1.GcsDestination} - * - * @property {number} batchSize - * The max number of response protos to put into each output JSON file on GCS. - * The valid range is [1, 100]. If not specified, the default value is 20. - * - * For example, for one pdf file with 100 pages, 100 response protos will - * be generated. If `batch_size` = 20, then 5 json files each - * containing 20 response protos will be written under the prefix - * `gcs_destination`.`uri`. - * - * Currently, batch_size only applies to GcsDestination, with potential future - * support for other output configurations. - * - * @typedef OutputConfig - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const OutputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location where the input will be read from. - * - * @property {string} uri - * Google Cloud Storage URI for the input file. This must only be a GCS - * object. Wildcards are not currently supported. - * - * @typedef GcsSource - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const GcsSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location where the output will be written to. - * - * @property {string} uri - * Google Cloud Storage URI where the results will be stored. Results will - * be in JSON format and preceded by its corresponding input URI. This field - * can either represent a single file, or a prefix for multiple outputs. - * Prefixes must end in a `/`. - * - * Examples: - * - * * File: gs://bucket-name/filename.json - * * Prefix: gs://bucket-name/prefix/here/ - * * File: gs://bucket-name/prefix/here - * - * If multiple outputs, each response is still AnnotateFileResponse, each of - * which contains some subset of the full list of AnnotateImageResponse. - * Multiple outputs can happen if, for example, the output JSON is too large - * and overflows into multiple sharded files. - * - * @typedef GcsDestination - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const GcsDestination = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Contains metadata for the BatchAnnotateImages operation. - * - * @property {number} state - * Current state of the batch operation. - * - * The number should be among the values of [State]{@link google.cloud.vision.v1p2beta1.State} - * - * @property {Object} createTime - * The time when the batch request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * The time when the operation result was last updated. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef OperationMetadata - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/image_annotator.proto} - */ -const OperationMetadata = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Batch operation states. - * - * @enum {number} - * @memberof google.cloud.vision.v1p2beta1 - */ - State: { - - /** - * Invalid. - */ - STATE_UNSPECIFIED: 0, - - /** - * Request is received. - */ - CREATED: 1, - - /** - * Request is actively being processed. - */ - RUNNING: 2, - - /** - * The batch processing is done. - */ - DONE: 3, - - /** - * The batch processing was cancelled. - */ - CANCELLED: 4 - } -}; - -/** - * A bucketized representation of likelihood, which is intended to give clients - * highly stable results across model upgrades. - * - * @enum {number} - * @memberof google.cloud.vision.v1p2beta1 - */ -const Likelihood = { - - /** - * Unknown likelihood. - */ - UNKNOWN: 0, - - /** - * It is very unlikely that the image belongs to the specified vertical. - */ - VERY_UNLIKELY: 1, - - /** - * It is unlikely that the image belongs to the specified vertical. - */ - UNLIKELY: 2, - - /** - * It is possible that the image belongs to the specified vertical. - */ - POSSIBLE: 3, - - /** - * It is likely that the image belongs to the specified vertical. - */ - LIKELY: 4, - - /** - * It is very likely that the image belongs to the specified vertical. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js deleted file mode 100644 index 1851c768b28..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_text_annotation.js +++ /dev/null @@ -1,393 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * TextAnnotation contains a structured representation of OCR extracted text. - * The hierarchy of an OCR extracted text structure is like this: - * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol - * Each structural component, starting from Page, may further have their own - * properties. Properties describe detected languages, breaks etc.. Please refer - * to the - * TextAnnotation.TextProperty - * message definition below for more detail. - * - * @property {Object[]} pages - * List of pages detected by OCR. - * - * This object should have the same structure as [Page]{@link google.cloud.vision.v1p2beta1.Page} - * - * @property {string} text - * UTF-8 text detected on the pages. - * - * @typedef TextAnnotation - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} - */ -const TextAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Detected language for a structural component. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {number} confidence - * Confidence of detected language. Range [0, 1]. - * - * @typedef DetectedLanguage - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} - */ - DetectedLanguage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Detected start or end of a structural component. - * - * @property {number} type - * Detected break type. - * - * The number should be among the values of [BreakType]{@link google.cloud.vision.v1p2beta1.BreakType} - * - * @property {boolean} isPrefix - * True if break prepends the element. - * - * @typedef DetectedBreak - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} - */ - DetectedBreak: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Enum to denote the type of break found. New line, space etc. - * - * @enum {number} - * @memberof google.cloud.vision.v1p2beta1 - */ - BreakType: { - - /** - * Unknown break label type. - */ - UNKNOWN: 0, - - /** - * Regular space. - */ - SPACE: 1, - - /** - * Sure space (very wide). - */ - SURE_SPACE: 2, - - /** - * Line-wrapping break. - */ - EOL_SURE_SPACE: 3, - - /** - * End-line hyphen that is not present in text; does not co-occur with - * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. - */ - HYPHEN: 4, - - /** - * Line break that ends a paragraph. - */ - LINE_BREAK: 5 - } - }, - - /** - * Additional information detected on the structural component. - * - * @property {Object[]} detectedLanguages - * A list of detected languages together with confidence. - * - * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1p2beta1.DetectedLanguage} - * - * @property {Object} detectedBreak - * Detected start or end of a text segment. - * - * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1p2beta1.DetectedBreak} - * - * @typedef TextProperty - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} - */ - TextProperty: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * Detected page from OCR. - * - * @property {Object} property - * Additional information detected on the page. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} - * - * @property {number} width - * Page width. For PDFs the unit is points. For images (including - * TIFFs) the unit is pixels. - * - * @property {number} height - * Page height. For PDFs the unit is points. For images (including - * TIFFs) the unit is pixels. - * - * @property {Object[]} blocks - * List of blocks of text, images etc on this page. - * - * This object should have the same structure as [Block]{@link google.cloud.vision.v1p2beta1.Block} - * - * @property {number} confidence - * Confidence of the OCR results on the page. Range [0, 1]. - * - * @typedef Page - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} - */ -const Page = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Logical element on the page. - * - * @property {Object} property - * Additional information detected for the block. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the block. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * - * * when the text is horizontal it might look like: - * - * 0----1 - * | | - * 3----2 - * - * * when it's rotated 180 degrees around the top-left corner it becomes: - * - * 2----3 - * | | - * 1----0 - * - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} - * - * @property {Object[]} paragraphs - * List of paragraphs in this block (if this blocks is of type text). - * - * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1p2beta1.Paragraph} - * - * @property {number} blockType - * Detected block type (text, image etc) for this block. - * - * The number should be among the values of [BlockType]{@link google.cloud.vision.v1p2beta1.BlockType} - * - * @property {number} confidence - * Confidence of the OCR results on the block. Range [0, 1]. - * - * @typedef Block - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} - */ -const Block = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of a block (text, image etc) as identified by OCR. - * - * @enum {number} - * @memberof google.cloud.vision.v1p2beta1 - */ - BlockType: { - - /** - * Unknown block type. - */ - UNKNOWN: 0, - - /** - * Regular text block. - */ - TEXT: 1, - - /** - * Table block. - */ - TABLE: 2, - - /** - * Image block. - */ - PICTURE: 3, - - /** - * Horizontal/vertical line box. - */ - RULER: 4, - - /** - * Barcode block. - */ - BARCODE: 5 - } -}; - -/** - * Structural unit of text representing a number of words in certain order. - * - * @property {Object} property - * Additional information detected for the paragraph. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the paragraph. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} - * - * @property {Object[]} words - * List of words in this paragraph. - * - * This object should have the same structure as [Word]{@link google.cloud.vision.v1p2beta1.Word} - * - * @property {number} confidence - * Confidence of the OCR results for the paragraph. Range [0, 1]. - * - * @typedef Paragraph - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} - */ -const Paragraph = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A word representation. - * - * @property {Object} property - * Additional information detected for the word. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the word. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} - * - * @property {Object[]} symbols - * List of symbols in the word. - * The order of the symbols follows the natural reading order. - * - * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1p2beta1.Symbol} - * - * @property {number} confidence - * Confidence of the OCR results for the word. Range [0, 1]. - * - * @typedef Word - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} - */ -const Word = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A single symbol representation. - * - * @property {Object} property - * Additional information detected for the symbol. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p2beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the symbol. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p2beta1.BoundingPoly} - * - * @property {string} text - * The actual UTF-8 representation of the symbol. - * - * @property {number} confidence - * Confidence of the OCR results for the symbol. Range [0, 1]. - * - * @typedef Symbol - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/text_annotation.proto} - */ -const Symbol = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js deleted file mode 100644 index 8792b8ca5c0..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/cloud/vision/v1p2beta1/doc_web_detection.js +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Relevant information for the image from the Internet. - * - * @property {Object[]} webEntities - * Deduced entities from similar images on the Internet. - * - * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1p2beta1.WebEntity} - * - * @property {Object[]} fullMatchingImages - * Fully matching images from the Internet. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images from the Internet. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} - * - * @property {Object[]} pagesWithMatchingImages - * Web pages containing the matching images from the Internet. - * - * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1p2beta1.WebPage} - * - * @property {Object[]} visuallySimilarImages - * The visually similar image results. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} - * - * @property {Object[]} bestGuessLabels - * Best guess text labels for the request image. - * - * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1p2beta1.WebLabel} - * - * @typedef WebDetection - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} - */ -const WebDetection = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Entity deduced from similar images on the Internet. - * - * @property {string} entityId - * Opaque entity ID. - * - * @property {number} score - * Overall relevancy score for the entity. - * Not normalized and not comparable across different image queries. - * - * @property {string} description - * Canonical description of the entity, in English. - * - * @typedef WebEntity - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} - */ - WebEntity: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for online images. - * - * @property {string} url - * The result image URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the image. - * - * @typedef WebImage - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} - */ - WebImage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for web pages. - * - * @property {string} url - * The result web page URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the web page. - * - * @property {string} pageTitle - * Title for the web page, may contain HTML markups. - * - * @property {Object[]} fullMatchingImages - * Fully matching images on the page. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images on the page. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its - * crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p2beta1.WebImage} - * - * @typedef WebPage - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} - */ - WebPage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Label to provide extra metadata for the web detection. - * - * @property {string} label - * Label for extra metadata. - * - * @property {string} languageCode - * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - * For more information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @typedef WebLabel - * @memberof google.cloud.vision.v1p2beta1 - * @see [google.cloud.vision.v1p2beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p2beta1/web_detection.proto} - */ - WebLabel: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 099e418d620..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/longrunning/doc_operations.js +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * This resource represents a long-running operation that is the result of a - * network API call. - * - * @property {string} name - * The server-assigned name, which is only unique within the same service that - * originally returns it. If you use the default HTTP mapping, the - * `name` should be a resource name ending with `operations/{unique_id}`. - * - * @property {Object} metadata - * Service-specific metadata associated with the operation. It typically - * contains progress information and common metadata such as create time. - * Some services might not provide such metadata. Any method that returns a - * long-running operation should document the metadata type, if any. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @property {boolean} done - * If the value is `false`, it means the operation is still in progress. - * If `true`, the operation is completed, and either `error` or `response` is - * available. - * - * @property {Object} error - * The error result of the operation in case of failure or cancellation. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @property {Object} response - * The normal response of the operation in case of success. If the original - * method returns no data on success, such as `Delete`, the response is - * `google.protobuf.Empty`. If the original method is standard - * `Get`/`Create`/`Update`, the response should be the resource. For other - * methods, the response should have the type `XxxResponse`, where `Xxx` - * is the original method name. For example, if the original method name - * is `TakeSnapshot()`, the inferred response type is - * `TakeSnapshotResponse`. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @typedef Operation - * @memberof google.longrunning - * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const Operation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_any.js +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * `Any` contains an arbitrary serialized protocol buffer message along with a - * URL that describes the type of the serialized message. - * - * Protobuf library provides support to pack/unpack Any values in the form - * of utility functions or additional generated methods of the Any type. - * - * Example 1: Pack and unpack a message in C++. - * - * Foo foo = ...; - * Any any; - * any.PackFrom(foo); - * ... - * if (any.UnpackTo(&foo)) { - * ... - * } - * - * Example 2: Pack and unpack a message in Java. - * - * Foo foo = ...; - * Any any = Any.pack(foo); - * ... - * if (any.is(Foo.class)) { - * foo = any.unpack(Foo.class); - * } - * - * Example 3: Pack and unpack a message in Python. - * - * foo = Foo(...) - * any = Any() - * any.Pack(foo) - * ... - * if any.Is(Foo.DESCRIPTOR): - * any.Unpack(foo) - * ... - * - * Example 4: Pack and unpack a message in Go - * - * foo := &pb.Foo{...} - * any, err := ptypes.MarshalAny(foo) - * ... - * foo := &pb.Foo{} - * if err := ptypes.UnmarshalAny(any, foo); err != nil { - * ... - * } - * - * The pack methods provided by protobuf library will by default use - * 'type.googleapis.com/full.type.name' as the type URL and the unpack - * methods only use the fully qualified type name after the last '/' - * in the type URL, for example "foo.bar.com/x/y.z" will yield type - * name "y.z". - * - * - * # JSON - * - * The JSON representation of an `Any` value uses the regular - * representation of the deserialized, embedded message, with an - * additional field `@type` which contains the type URL. Example: - * - * package google.profile; - * message Person { - * string first_name = 1; - * string last_name = 2; - * } - * - * { - * "@type": "type.googleapis.com/google.profile.Person", - * "firstName": , - * "lastName": - * } - * - * If the embedded message type is well-known and has a custom JSON - * representation, that representation will be embedded adding a field - * `value` which holds the custom JSON in addition to the `@type` - * field. Example (for message google.protobuf.Duration): - * - * { - * "@type": "type.googleapis.com/google.protobuf.Duration", - * "value": "1.212s" - * } - * - * @property {string} typeUrl - * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. This string must contain at least - * one "/" character. The last segment of the URL's path must represent - * the fully qualified name of the type (as in - * `path/google.protobuf.Duration`). The name should be in a canonical form - * (e.g., leading "." is not accepted). - * - * In practice, teams usually precompile into the binary all types that they - * expect it to use in the context of Any. However, for URLs which use the - * scheme `http`, `https`, or no scheme, one can optionally set up a type - * server that maps type URLs to message definitions as follows: - * - * * If no scheme is provided, `https` is assumed. - * * An HTTP GET on the URL must yield a google.protobuf.Type - * value in binary format, or produce an error. - * * Applications are allowed to cache lookup results based on the - * URL, or have them precompiled into a binary to avoid any - * lookup. Therefore, binary compatibility needs to be preserved - * on changes to types. (Use versioned type names to manage - * breaking changes.) - * - * Note: this functionality is not currently available in the official - * protobuf release, and it is not used for type URLs beginning with - * type.googleapis.com. - * - * Schemes other than `http`, `https` (or the empty scheme) might be - * used with implementation specific semantics. - * - * @property {Buffer} value - * Must be a valid serialized protocol buffer of the above specified type. - * - * @typedef Any - * @memberof google.protobuf - * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} - */ -const Any = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js deleted file mode 100644 index 90e2ff4ab5a..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/protobuf/doc_wrappers.js +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Wrapper message for `float`. - * - * The JSON representation for `FloatValue` is JSON number. - * - * @property {number} value - * The float value. - * - * @typedef FloatValue - * @memberof google.protobuf - * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const FloatValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/rpc/doc_status.js +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * The `Status` type defines a logical error model that is suitable for - * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). Each `Status` message contains - * three pieces of data: error code, error message, and error details. - * - * You can find out more about this error model and how to work with it in the - * [API Design Guide](https://cloud.google.com/apis/design/errors). - * - * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. - * - * @property {string} message - * A developer-facing error message, which should be in English. Any - * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. - * - * @property {Object[]} details - * A list of messages that carry the error details. There is a common set of - * message types for APIs to use. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @typedef Status - * @memberof google.rpc - * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} - */ -const Status = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js deleted file mode 100644 index 9570187d502..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_color.js +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Represents a color in the RGBA color space. This representation is designed - * for simplicity of conversion to/from color representations in various - * languages over compactness; for example, the fields of this representation - * can be trivially provided to the constructor of "java.awt.Color" in Java; it - * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" - * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. - * - * Note: this proto does not carry information about the absolute color space - * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, - * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color - * space. - * - * Example (Java): - * - * import com.google.type.Color; - * - * // ... - * public static java.awt.Color fromProto(Color protocolor) { - * float alpha = protocolor.hasAlpha() - * ? protocolor.getAlpha().getValue() - * : 1.0; - * - * return new java.awt.Color( - * protocolor.getRed(), - * protocolor.getGreen(), - * protocolor.getBlue(), - * alpha); - * } - * - * public static Color toProto(java.awt.Color color) { - * float red = (float) color.getRed(); - * float green = (float) color.getGreen(); - * float blue = (float) color.getBlue(); - * float denominator = 255.0; - * Color.Builder resultBuilder = - * Color - * .newBuilder() - * .setRed(red / denominator) - * .setGreen(green / denominator) - * .setBlue(blue / denominator); - * int alpha = color.getAlpha(); - * if (alpha != 255) { - * result.setAlpha( - * FloatValue - * .newBuilder() - * .setValue(((float) alpha) / denominator) - * .build()); - * } - * return resultBuilder.build(); - * } - * // ... - * - * Example (iOS / Obj-C): - * - * // ... - * static UIColor* fromProto(Color* protocolor) { - * float red = [protocolor red]; - * float green = [protocolor green]; - * float blue = [protocolor blue]; - * FloatValue* alpha_wrapper = [protocolor alpha]; - * float alpha = 1.0; - * if (alpha_wrapper != nil) { - * alpha = [alpha_wrapper value]; - * } - * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; - * } - * - * static Color* toProto(UIColor* color) { - * CGFloat red, green, blue, alpha; - * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { - * return nil; - * } - * Color* result = [[Color alloc] init]; - * [result setRed:red]; - * [result setGreen:green]; - * [result setBlue:blue]; - * if (alpha <= 0.9999) { - * [result setAlpha:floatWrapperWithValue(alpha)]; - * } - * [result autorelease]; - * return result; - * } - * // ... - * - * Example (JavaScript): - * - * // ... - * - * var protoToCssColor = function(rgb_color) { - * var redFrac = rgb_color.red || 0.0; - * var greenFrac = rgb_color.green || 0.0; - * var blueFrac = rgb_color.blue || 0.0; - * var red = Math.floor(redFrac * 255); - * var green = Math.floor(greenFrac * 255); - * var blue = Math.floor(blueFrac * 255); - * - * if (!('alpha' in rgb_color)) { - * return rgbToCssColor_(red, green, blue); - * } - * - * var alphaFrac = rgb_color.alpha.value || 0.0; - * var rgbParams = [red, green, blue].join(','); - * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); - * }; - * - * var rgbToCssColor_ = function(red, green, blue) { - * var rgbNumber = new Number((red << 16) | (green << 8) | blue); - * var hexString = rgbNumber.toString(16); - * var missingZeros = 6 - hexString.length; - * var resultBuilder = ['#']; - * for (var i = 0; i < missingZeros; i++) { - * resultBuilder.push('0'); - * } - * resultBuilder.push(hexString); - * return resultBuilder.join(''); - * }; - * - * // ... - * - * @property {number} red - * The amount of red in the color as a value in the interval [0, 1]. - * - * @property {number} green - * The amount of green in the color as a value in the interval [0, 1]. - * - * @property {number} blue - * The amount of blue in the color as a value in the interval [0, 1]. - * - * @property {Object} alpha - * The fraction of this color that should be applied to the pixel. That is, - * the final pixel color is defined by the equation: - * - * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) - * - * This means that a value of 1.0 corresponds to a solid color, whereas - * a value of 0.0 corresponds to a completely transparent color. This - * uses a wrapper message rather than a simple float scalar so that it is - * possible to distinguish between a default value and the value being unset. - * If omitted, this color object is to be rendered as a solid color - * (as if the alpha value had been explicitly given with a value of 1.0). - * - * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} - * - * @typedef Color - * @memberof google.type - * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} - */ -const Color = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js deleted file mode 100644 index bacbf0e1f48..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/doc/google/type/doc_latlng.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * An object representing a latitude/longitude pair. This is expressed as a pair - * of doubles representing degrees latitude and degrees longitude. Unless - * specified otherwise, this must conform to the - * WGS84 - * standard. Values must be within normalized ranges. - * - * @property {number} latitude - * The latitude in degrees. It must be in the range [-90.0, +90.0]. - * - * @property {number} longitude - * The longitude in degrees. It must be in the range [-180.0, +180.0]. - * - * @typedef LatLng - * @memberof google.type - * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} - */ -const LatLng = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js deleted file mode 100644 index ea8ae60e713..00000000000 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.js +++ /dev/null @@ -1,400 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const gapicConfig = require('./image_annotator_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); - -const VERSION = require('../../package.json').version; - -/** - * Service that performs Google Cloud Vision API detection tasks over client - * images, such as face, landmark, logo, label, and text detection. The - * ImageAnnotator service returns detected entities from the images. - * - * @class - * @memberof v1p2beta1 - */ -class ImageAnnotatorClient { - /** - * Construct an instance of ImageAnnotatorClient. - * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - */ - constructor(opts) { - opts = opts || {}; - this._descriptors = {}; - - if (global.isBrowser) { - // If we're in browser, we use gRPC fallback. - opts.fallback = true; - } - - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; - - const servicePath = - opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; - - // Ensure that options include the service address and port. - opts = Object.assign( - { - clientConfig: {}, - port: this.constructor.port, - servicePath, - }, - opts - ); - - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = this.constructor.scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); - - // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth; - - // Determine the client header string. - const clientHeader = []; - - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } - clientHeader.push(`gax/${gaxModule.version}`); - if (opts.fallback) { - clientHeader.push(`gl-web/${gaxModule.version}`); - } else { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); - } - clientHeader.push(`gapic/${VERSION}`); - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - - // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - const protos = gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath - ); - - const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); - - // This API contains "long-running operations", which return a - // an Operation object that allows for tracking of the operation, - // rather than holding a request open. - this.operationsClient = new gaxModule.lro({ - auth: gaxGrpc.auth, - grpc: gaxGrpc.grpc, - }).operationsClient(opts); - - const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( - 'google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse' - ); - const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1p2beta1.OperationMetadata' - ); - - this._descriptors.longrunning = { - asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( - this.operationsClient, - asyncBatchAnnotateFilesResponse.decode.bind( - asyncBatchAnnotateFilesResponse - ), - asyncBatchAnnotateFilesMetadata.decode.bind( - asyncBatchAnnotateFilesMetadata - ) - ), - }; - - // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.vision.v1p2beta1.ImageAnnotator', - gapicConfig, - opts.clientConfig, - {'x-goog-api-client': clientHeader.join(' ')} - ); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this._innerApiCalls = {}; - - // Put together the "service stub" for - // google.cloud.vision.v1p2beta1.ImageAnnotator. - const imageAnnotatorStub = gaxGrpc.createStub( - opts.fallback - ? protos.lookupService('google.cloud.vision.v1p2beta1.ImageAnnotator') - : protos.google.cloud.vision.v1p2beta1.ImageAnnotator, - opts - ); - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const imageAnnotatorStubMethods = [ - 'batchAnnotateImages', - 'asyncBatchAnnotateFiles', - ]; - for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = imageAnnotatorStub.then( - stub => (...args) => { - return stub[methodName].apply(stub, args); - }, - err => () => { - throw err; - } - ); - this._innerApiCalls[methodName] = gaxModule.createApiCall( - innerCallPromise, - defaults[methodName], - this._descriptors.longrunning[methodName] - ); - } - } - - /** - * The DNS address for this API service. - */ - static get servicePath() { - return 'vision.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - */ - static get apiEndpoint() { - return 'vision.googleapis.com'; - } - - /** - * The port for this API service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform', - 'https://www.googleapis.com/auth/cloud-vision', - ]; - } - - /** - * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. - */ - getProjectId(callback) { - return this.auth.getProjectId(callback); - } - - // ------------------- - // -- Service calls -- - // ------------------- - - /** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p2beta1.AnnotateImageRequest} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p2beta1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * client.batchAnnotateImages({requests: requests}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - batchAnnotateImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - - return this._innerApiCalls.batchAnnotateImages(request, options, callback); - } - - /** - * Run async image detection and annotation for a list of generic files (e.g. - * PDF) which may contain multiple pages and multiple images per page. - * Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. Individual async file annotation requests for this batch. - * - * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p2beta1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * - * // Handle the operation using the promise pattern. - * client.asyncBatchAnnotateFiles({requests: requests}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * - * // Handle the operation using the event emitter pattern. - * client.asyncBatchAnnotateFiles({requests: requests}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.asyncBatchAnnotateFiles({requests: requests}); - * - * const [response] = await operation.promise(); - */ - asyncBatchAnnotateFiles(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - - return this._innerApiCalls.asyncBatchAnnotateFiles( - request, - options, - callback - ); - } -} - -module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts new file mode 100644 index 00000000000..52c78f6cea4 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -0,0 +1,468 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as gax from 'google-gax'; +import { + APICallback, + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, +} from 'google-gax'; +import * as path from 'path'; + +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './image_annotator_client_config.json'; + +const version = require('../../../package.json').version; + +/** + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. + * @class + * @memberof v1p2beta1 + */ +export class ImageAnnotatorClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + imageAnnotatorStub: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ImageAnnotatorClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + */ + + constructor(opts?: ClientOptions) { + // Ensure that options include the service address and port. + const staticMembers = this.constructor as typeof ImageAnnotatorClient; + const servicePath = + opts && opts.servicePath + ? opts.servicePath + : opts && opts.apiEndpoint + ? opts.apiEndpoint + : staticMembers.servicePath; + const port = opts && opts.port ? opts.port : staticMembers.port; + + if (!opts) { + opts = {servicePath, port}; + } + opts.servicePath = opts.servicePath || servicePath; + opts.port = opts.port || port; + opts.clientConfig = opts.clientConfig || {}; + + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { + opts.fallback = true; + } + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; + const gaxGrpc = new gaxModule.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth as gax.GoogleAuth; + + // Determine the client header string. + const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + ); + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = gaxModule + .lro({ + auth: this.auth, + grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); + const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + '.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse' + ) as gax.protobuf.Type; + const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1p2beta1.OperationMetadata' + ) as gax.protobuf.Type; + + this._descriptors.longrunning = { + asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateFilesResponse.decode.bind( + asyncBatchAnnotateFilesResponse + ), + asyncBatchAnnotateFilesMetadata.decode.bind( + asyncBatchAnnotateFilesMetadata + ) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p2beta1.ImageAnnotator', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p2beta1.ImageAnnotator. + this.imageAnnotatorStub = gaxGrpc.createStub( + opts.fallback + ? (protos as protobuf.Root).lookupService( + 'google.cloud.vision.v1p2beta1.ImageAnnotator' + ) + : // tslint:disable-next-line no-any + (protos as any).google.cloud.vision.v1p2beta1.ImageAnnotator, + opts + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const imageAnnotatorStubMethods = [ + 'batchAnnotateImages', + 'asyncBatchAnnotateFiles', + ]; + + for (const methodName of imageAnnotatorStubMethods) { + const innerCallPromise = this.imageAnnotatorStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + return stub[methodName].apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const apiCall = gaxModule.createApiCall( + innerCallPromise, + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] + ); + + this._innerApiCalls[methodName] = ( + argument: {}, + callOptions?: CallOptions, + callback?: APICallback + ) => { + return apiCall(argument, callOptions, callback); + }; + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + >; + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): void; + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + return this._innerApiCalls.batchAnnotateImages(request, options, callback); + } + + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Run async image detection and annotation for a list of generic files (e.g. + * PDF) which may contain multiple pages and multiple images per page. + * Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual async file annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + return this._innerApiCalls.asyncBatchAnnotateFiles( + request, + options, + callback + ); + } + + /** + * Terminate the GRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + */ + close(): Promise { + if (!this._terminated) { + return this.imageAnnotatorStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} +import {FeaturesMethod} from '../helpers'; +export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json index 72dc25aa596..367627eb782 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client_config.json @@ -2,11 +2,11 @@ "interfaces": { "google.cloud.vision.v1p2beta1.ImageAnnotator": { "retry_codes": { + "non_idempotent": [], "idempotent": [ "DEADLINE_EXCEEDED", "UNAVAILABLE" - ], - "non_idempotent": [] + ] }, "retry_params": { "default": { @@ -14,19 +14,19 @@ "retry_delay_multiplier": 1.3, "max_retry_delay_millis": 60000, "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1.0, + "rpc_timeout_multiplier": 1, "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "BatchAnnotateImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "AsyncBatchAnnotateFiles": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_proto_list.json index 63dc03daac1..2b5904f9adb 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_proto_list.json +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_proto_list.json @@ -1,3 +1,6 @@ [ - "../../protos/google/cloud/vision/v1p2beta1/image_annotator.proto" + "../../protos/google/cloud/vision/v1p2beta1/geometry.proto", + "../../protos/google/cloud/vision/v1p2beta1/image_annotator.proto", + "../../protos/google/cloud/vision/v1p2beta1/text_annotation.proto", + "../../protos/google/cloud/vision/v1p2beta1/web_detection.proto" ] diff --git a/packages/google-cloud-vision/src/v1p1beta1/index.js b/packages/google-cloud-vision/src/v1p2beta1/index.ts similarity index 65% rename from packages/google-cloud-vision/src/v1p1beta1/index.js rename to packages/google-cloud-vision/src/v1p2beta1/index.ts index 0ab93eefeb8..aed82506fff 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/index.js +++ b/packages/google-cloud-vision/src/v1p2beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,9 +11,9 @@ // 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'; - -const ImageAnnotatorClient = require('./image_annotator_client'); - -module.exports.ImageAnnotatorClient = ImageAnnotatorClient; +export {ImageAnnotatorClient} from './image_annotator_client'; diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js deleted file mode 100644 index c5bb831526f..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_geometry.js +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A vertex represents a 2D point in the image. - * NOTE: the vertex coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @typedef Vertex - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} - */ -const Vertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A vertex represents a 2D point in the image. - * NOTE: the normalized vertex coordinates are relative to the original image - * and range from 0 to 1. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @typedef NormalizedVertex - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} - */ -const NormalizedVertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A bounding polygon for the detected image annotation. - * - * @property {Object[]} vertices - * The bounding polygon vertices. - * - * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1p3beta1.Vertex} - * - * @property {Object[]} normalizedVertices - * The bounding polygon normalized vertices. - * - * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1p3beta1.NormalizedVertex} - * - * @typedef BoundingPoly - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} - */ -const BoundingPoly = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A normalized bounding polygon around a portion of an image. - * - * @property {Object[]} vertices - * Normalized vertices of the bounding polygon. - * - * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1p3beta1.NormalizedVertex} - * - * @typedef NormalizedBoundingPoly - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.NormalizedBoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} - */ -const NormalizedBoundingPoly = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A 3D position in the image, used primarily for Face detection landmarks. - * A valid Position must have both x and y coordinates. - * The position coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @property {number} z - * Z coordinate (or depth). - * - * @typedef Position - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/geometry.proto} - */ -const Position = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js deleted file mode 100644 index 08573fcf34a..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_image_annotator.js +++ /dev/null @@ -1,1307 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * The type of Google Cloud Vision API detection to perform, and the maximum - * number of results to return for that type. Multiple `Feature` objects can - * be specified in the `features` list. - * - * @property {number} type - * The feature type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1p3beta1.Type} - * - * @property {number} maxResults - * Maximum number of results of this type. Does not apply to - * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. - * - * @property {string} model - * Model to use for the feature. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef Feature - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const Feature = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of Google Cloud Vision API feature to be extracted. - * - * @enum {number} - * @memberof google.cloud.vision.v1p3beta1 - */ - Type: { - - /** - * Unspecified feature type. - */ - TYPE_UNSPECIFIED: 0, - - /** - * Run face detection. - */ - FACE_DETECTION: 1, - - /** - * Run landmark detection. - */ - LANDMARK_DETECTION: 2, - - /** - * Run logo detection. - */ - LOGO_DETECTION: 3, - - /** - * Run label detection. - */ - LABEL_DETECTION: 4, - - /** - * Run text detection / optical character recognition (OCR). Text detection - * is optimized for areas of text within a larger image; if the image is - * a document, use `DOCUMENT_TEXT_DETECTION` instead. - */ - TEXT_DETECTION: 5, - - /** - * Run dense text document OCR. Takes precedence when both - * `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. - */ - DOCUMENT_TEXT_DETECTION: 11, - - /** - * Run Safe Search to detect potentially unsafe - * or undesirable content. - */ - SAFE_SEARCH_DETECTION: 6, - - /** - * Compute a set of image properties, such as the - * image's dominant colors. - */ - IMAGE_PROPERTIES: 7, - - /** - * Run crop hints. - */ - CROP_HINTS: 9, - - /** - * Run web detection. - */ - WEB_DETECTION: 10, - - /** - * Run Product Search. - */ - PRODUCT_SEARCH: 12, - - /** - * Run localizer for object detection. - */ - OBJECT_LOCALIZATION: 19 - } -}; - -/** - * External image source (Google Cloud Storage or web URL image location). - * - * @property {string} gcsImageUri - * **Use `image_uri` instead.** - * - * The Google Cloud Storage URI of the form - * `gs://bucket_name/object_name`. Object versioning is not supported. See - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. - * - * @property {string} imageUri - * The URI of the source image. Can be either: - * - * 1. A Google Cloud Storage URI of the form - * `gs://bucket_name/object_name`. Object versioning is not supported. See - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris) for more - * info. - * - * 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from - * HTTP/HTTPS URLs, Google cannot guarantee that the request will be - * completed. Your request may fail if the specified host denies the - * request (e.g. due to request throttling or DOS prevention), or if Google - * throttles requests to the site for abuse prevention. You should not - * depend on externally-hosted images for production applications. - * - * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes - * precedence. - * - * @typedef ImageSource - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const ImageSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Client image to perform Google Cloud Vision API tasks over. - * - * @property {Buffer} content - * Image content, represented as a stream of bytes. - * Note: As with all `bytes` fields, protobuffers use a pure binary - * representation, whereas JSON representations use base64. - * - * @property {Object} source - * Google Cloud Storage image location, or publicly-accessible image - * URL. If both `content` and `source` are provided for an image, `content` - * takes precedence and is used to perform the image annotation request. - * - * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1p3beta1.ImageSource} - * - * @typedef Image - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const Image = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A face annotation object contains the results of face detection. - * - * @property {Object} boundingPoly - * The bounding polygon around the face. The coordinates of the bounding box - * are in the original image's scale, as returned in `ImageParams`. - * The bounding box is computed to "frame" the face in accordance with human - * expectations. It is based on the landmarker results. - * Note that one or more x and/or y coordinates may not be generated in the - * `BoundingPoly` (the polygon will be unbounded) if only a partial face - * appears in the image to be annotated. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @property {Object} fdBoundingPoly - * The `fd_bounding_poly` bounding polygon is tighter than the - * `boundingPoly`, and encloses only the skin part of the face. Typically, it - * is used to eliminate the face from any image analysis that detects the - * "amount of skin" visible in an image. It is not based on the - * landmarker results, only on the initial face detection, hence - * the fd (face detection) prefix. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @property {Object[]} landmarks - * Detected face landmarks. - * - * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1p3beta1.Landmark} - * - * @property {number} rollAngle - * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation - * of the face relative to the image vertical about the axis perpendicular to - * the face. Range [-180,180]. - * - * @property {number} panAngle - * Yaw angle, which indicates the leftward/rightward angle that the face is - * pointing relative to the vertical plane perpendicular to the image. Range - * [-180,180]. - * - * @property {number} tiltAngle - * Pitch angle, which indicates the upwards/downwards angle that the face is - * pointing relative to the image's horizontal plane. Range [-180,180]. - * - * @property {number} detectionConfidence - * Detection confidence. Range [0, 1]. - * - * @property {number} landmarkingConfidence - * Face landmarking confidence. Range [0, 1]. - * - * @property {number} joyLikelihood - * Joy likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} sorrowLikelihood - * Sorrow likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} angerLikelihood - * Anger likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} surpriseLikelihood - * Surprise likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} underExposedLikelihood - * Under-exposed likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} blurredLikelihood - * Blurred likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} headwearLikelihood - * Headwear likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @typedef FaceAnnotation - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const FaceAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * A face-specific landmark (for example, a face feature). - * - * @property {number} type - * Face landmark type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1p3beta1.Type} - * - * @property {Object} position - * Face landmark position. - * - * This object should have the same structure as [Position]{@link google.cloud.vision.v1p3beta1.Position} - * - * @typedef Landmark - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ - Landmark: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Face landmark (feature) type. - * Left and right are defined from the vantage of the viewer of the image - * without considering mirror projections typical of photos. So, `LEFT_EYE`, - * typically, is the person's right eye. - * - * @enum {number} - * @memberof google.cloud.vision.v1p3beta1 - */ - Type: { - - /** - * Unknown face landmark detected. Should not be filled. - */ - UNKNOWN_LANDMARK: 0, - - /** - * Left eye. - */ - LEFT_EYE: 1, - - /** - * Right eye. - */ - RIGHT_EYE: 2, - - /** - * Left of left eyebrow. - */ - LEFT_OF_LEFT_EYEBROW: 3, - - /** - * Right of left eyebrow. - */ - RIGHT_OF_LEFT_EYEBROW: 4, - - /** - * Left of right eyebrow. - */ - LEFT_OF_RIGHT_EYEBROW: 5, - - /** - * Right of right eyebrow. - */ - RIGHT_OF_RIGHT_EYEBROW: 6, - - /** - * Midpoint between eyes. - */ - MIDPOINT_BETWEEN_EYES: 7, - - /** - * Nose tip. - */ - NOSE_TIP: 8, - - /** - * Upper lip. - */ - UPPER_LIP: 9, - - /** - * Lower lip. - */ - LOWER_LIP: 10, - - /** - * Mouth left. - */ - MOUTH_LEFT: 11, - - /** - * Mouth right. - */ - MOUTH_RIGHT: 12, - - /** - * Mouth center. - */ - MOUTH_CENTER: 13, - - /** - * Nose, bottom right. - */ - NOSE_BOTTOM_RIGHT: 14, - - /** - * Nose, bottom left. - */ - NOSE_BOTTOM_LEFT: 15, - - /** - * Nose, bottom center. - */ - NOSE_BOTTOM_CENTER: 16, - - /** - * Left eye, top boundary. - */ - LEFT_EYE_TOP_BOUNDARY: 17, - - /** - * Left eye, right corner. - */ - LEFT_EYE_RIGHT_CORNER: 18, - - /** - * Left eye, bottom boundary. - */ - LEFT_EYE_BOTTOM_BOUNDARY: 19, - - /** - * Left eye, left corner. - */ - LEFT_EYE_LEFT_CORNER: 20, - - /** - * Right eye, top boundary. - */ - RIGHT_EYE_TOP_BOUNDARY: 21, - - /** - * Right eye, right corner. - */ - RIGHT_EYE_RIGHT_CORNER: 22, - - /** - * Right eye, bottom boundary. - */ - RIGHT_EYE_BOTTOM_BOUNDARY: 23, - - /** - * Right eye, left corner. - */ - RIGHT_EYE_LEFT_CORNER: 24, - - /** - * Left eyebrow, upper midpoint. - */ - LEFT_EYEBROW_UPPER_MIDPOINT: 25, - - /** - * Right eyebrow, upper midpoint. - */ - RIGHT_EYEBROW_UPPER_MIDPOINT: 26, - - /** - * Left ear tragion. - */ - LEFT_EAR_TRAGION: 27, - - /** - * Right ear tragion. - */ - RIGHT_EAR_TRAGION: 28, - - /** - * Left eye pupil. - */ - LEFT_EYE_PUPIL: 29, - - /** - * Right eye pupil. - */ - RIGHT_EYE_PUPIL: 30, - - /** - * Forehead glabella. - */ - FOREHEAD_GLABELLA: 31, - - /** - * Chin gnathion. - */ - CHIN_GNATHION: 32, - - /** - * Chin left gonion. - */ - CHIN_LEFT_GONION: 33, - - /** - * Chin right gonion. - */ - CHIN_RIGHT_GONION: 34 - } - } -}; - -/** - * Detected entity location information. - * - * @property {Object} latLng - * lat/long location coordinates. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LocationInfo - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const LocationInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A `Property` consists of a user-supplied name/value pair. - * - * @property {string} name - * Name of the property. - * - * @property {string} value - * Value of the property. - * - * @property {number} uint64Value - * Value of numeric properties. - * - * @typedef Property - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const Property = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of detected entity features. - * - * @property {string} mid - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} locale - * The language code for the locale in which the entity textual - * `description` is expressed. - * - * @property {string} description - * Entity textual description, expressed in its `locale` language. - * - * @property {number} score - * Overall score of the result. Range [0, 1]. - * - * @property {number} confidence - * **Deprecated. Use `score` instead.** - * The accuracy of the entity detection in an image. - * For example, for an image in which the "Eiffel Tower" entity is detected, - * this field represents the confidence that there is a tower in the query - * image. Range [0, 1]. - * - * @property {number} topicality - * The relevancy of the ICA (Image Content Annotation) label to the - * image. For example, the relevancy of "tower" is likely higher to an image - * containing the detected "Eiffel Tower" than to an image containing a - * detected distant towering building, even though the confidence that - * there is a tower in each image may be the same. Range [0, 1]. - * - * @property {Object} boundingPoly - * Image region to which this entity belongs. Not produced - * for `LABEL_DETECTION` features. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @property {Object[]} locations - * The location information for the detected entity. Multiple - * `LocationInfo` elements can be present because one location may - * indicate the location of the scene in the image, and another location - * may indicate the location of the place where the image was taken. - * Location information is usually present for landmarks. - * - * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1p3beta1.LocationInfo} - * - * @property {Object[]} properties - * Some entities may have optional user-supplied `Property` (name/value) - * fields, such a score or string that qualifies the entity. - * - * This object should have the same structure as [Property]{@link google.cloud.vision.v1p3beta1.Property} - * - * @typedef EntityAnnotation - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const EntityAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of detected objects with bounding boxes. - * - * @property {string} mid - * Object ID that should align with EntityAnnotation mid. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {string} name - * Object name, expressed in its `language_code` language. - * - * @property {number} score - * Score of the result. Range [0, 1]. - * - * @property {Object} boundingPoly - * Image region to which this object belongs. This must be populated. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @typedef LocalizedObjectAnnotation - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const LocalizedObjectAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of features pertaining to the image, computed by computer vision - * methods over safe-search verticals (for example, adult, spoof, medical, - * violence). - * - * @property {number} adult - * Represents the adult content likelihood for the image. Adult content may - * contain elements such as nudity, pornographic images or cartoons, or - * sexual activities. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} spoof - * Spoof likelihood. The likelihood that an modification - * was made to the image's canonical version to make it appear - * funny or offensive. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} medical - * Likelihood that this is a medical image. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} violence - * Likelihood that this image contains violent content. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @property {number} racy - * Likelihood that the request image contains racy content. Racy content may - * include (but is not limited to) skimpy or sheer clothing, strategically - * covered nudity, lewd or provocative poses, or close-ups of sensitive - * body areas. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p3beta1.Likelihood} - * - * @typedef SafeSearchAnnotation - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const SafeSearchAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Rectangle determined by min and max `LatLng` pairs. - * - * @property {Object} minLatLng - * Min lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @property {Object} maxLatLng - * Max lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LatLongRect - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const LatLongRect = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Color information consists of RGB channels, score, and the fraction of - * the image that the color occupies in the image. - * - * @property {Object} color - * RGB components of the color. - * - * This object should have the same structure as [Color]{@link google.type.Color} - * - * @property {number} score - * Image-specific score for this color. Value in range [0, 1]. - * - * @property {number} pixelFraction - * The fraction of pixels the color occupies in the image. - * Value in range [0, 1]. - * - * @typedef ColorInfo - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const ColorInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of dominant colors and their corresponding scores. - * - * @property {Object[]} colors - * RGB color values with their score and pixel fraction. - * - * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1p3beta1.ColorInfo} - * - * @typedef DominantColorsAnnotation - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const DominantColorsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Stores image properties, such as dominant colors. - * - * @property {Object} dominantColors - * If present, dominant colors completed successfully. - * - * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1p3beta1.DominantColorsAnnotation} - * - * @typedef ImageProperties - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const ImageProperties = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Single crop hint that is used to generate a new crop when serving an image. - * - * @property {Object} boundingPoly - * The bounding polygon for the crop region. The coordinates of the bounding - * box are in the original image's scale, as returned in `ImageParams`. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @property {number} confidence - * Confidence of this being a salient region. Range [0, 1]. - * - * @property {number} importanceFraction - * Fraction of importance of this salient region with respect to the original - * image. - * - * @typedef CropHint - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const CropHint = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of crop hints that are used to generate new crops when serving images. - * - * @property {Object[]} cropHints - * Crop hint results. - * - * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1p3beta1.CropHint} - * - * @typedef CropHintsAnnotation - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const CropHintsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for crop hints annotation request. - * - * @property {number[]} aspectRatios - * Aspect ratios in floats, representing the ratio of the width to the height - * of the image. For example, if the desired aspect ratio is 4/3, the - * corresponding float value should be 1.33333. If not specified, the - * best possible crop is returned. The number of provided aspect ratios is - * limited to a maximum of 16; any aspect ratios provided after the 16th are - * ignored. - * - * @typedef CropHintsParams - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const CropHintsParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for web detection request. - * - * @property {boolean} includeGeoResults - * Whether to include results derived from the geo information in the image. - * - * @typedef WebDetectionParams - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const WebDetectionParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Image context and/or feature-specific parameters. - * - * @property {Object} latLongRect - * Not used. - * - * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1p3beta1.LatLongRect} - * - * @property {string[]} languageHints - * List of languages to use for TEXT_DETECTION. In most cases, an empty value - * yields the best results since it enables automatic language detection. For - * languages based on the Latin alphabet, setting `language_hints` is not - * needed. In rare cases, when the language of the text in the image is known, - * setting a hint will help get better results (although it will be a - * significant hindrance if the hint is wrong). Text detection returns an - * error if one or more of the specified languages is not one of the - * [supported languages](https://cloud.google.com/vision/docs/languages). - * - * @property {Object} cropHintsParams - * Parameters for crop hints annotation request. - * - * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1p3beta1.CropHintsParams} - * - * @property {Object} productSearchParams - * Parameters for product search. - * - * This object should have the same structure as [ProductSearchParams]{@link google.cloud.vision.v1p3beta1.ProductSearchParams} - * - * @property {Object} webDetectionParams - * Parameters for web detection. - * - * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1p3beta1.WebDetectionParams} - * - * @typedef ImageContext - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const ImageContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request for performing Google Cloud Vision API tasks over a user-provided - * image, with user-requested features. - * - * @property {Object} image - * The image to be processed. - * - * This object should have the same structure as [Image]{@link google.cloud.vision.v1p3beta1.Image} - * - * @property {Object[]} features - * Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p3beta1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p3beta1.ImageContext} - * - * @typedef AnnotateImageRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const AnnotateImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * If an image was produced from a file (e.g. a PDF), this message gives - * information about the source of that image. - * - * @property {string} uri - * The URI of the file used to produce the image. - * - * @property {number} pageNumber - * If the file was a PDF or TIFF, this field gives the page number within - * the file used to produce the image. - * - * @typedef ImageAnnotationContext - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const ImageAnnotationContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an image annotation request. - * - * @property {Object[]} faceAnnotations - * If present, face detection has completed successfully. - * - * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1p3beta1.FaceAnnotation} - * - * @property {Object[]} landmarkAnnotations - * If present, landmark detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p3beta1.EntityAnnotation} - * - * @property {Object[]} logoAnnotations - * If present, logo detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p3beta1.EntityAnnotation} - * - * @property {Object[]} labelAnnotations - * If present, label detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p3beta1.EntityAnnotation} - * - * @property {Object[]} localizedObjectAnnotations - * If present, localized object detection has completed successfully. - * This will be sorted descending by confidence score. - * - * This object should have the same structure as [LocalizedObjectAnnotation]{@link google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation} - * - * @property {Object[]} textAnnotations - * If present, text (OCR) detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p3beta1.EntityAnnotation} - * - * @property {Object} fullTextAnnotation - * If present, text (OCR) detection or document (OCR) text detection has - * completed successfully. - * This annotation provides the structural hierarchy for the OCR detected - * text. - * - * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1p3beta1.TextAnnotation} - * - * @property {Object} safeSearchAnnotation - * If present, safe-search annotation has completed successfully. - * - * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1p3beta1.SafeSearchAnnotation} - * - * @property {Object} imagePropertiesAnnotation - * If present, image properties were extracted successfully. - * - * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1p3beta1.ImageProperties} - * - * @property {Object} cropHintsAnnotation - * If present, crop hints have completed successfully. - * - * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1p3beta1.CropHintsAnnotation} - * - * @property {Object} webDetection - * If present, web detection has completed successfully. - * - * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1p3beta1.WebDetection} - * - * @property {Object} productSearchResults - * If present, product search has completed successfully. - * - * This object should have the same structure as [ProductSearchResults]{@link google.cloud.vision.v1p3beta1.ProductSearchResults} - * - * @property {Object} error - * If set, represents the error message for the operation. - * Note that filled-in image annotations are guaranteed to be - * correct, even when `error` is set. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @property {Object} context - * If present, contextual information is needed to understand where this image - * comes from. - * - * This object should have the same structure as [ImageAnnotationContext]{@link google.cloud.vision.v1p3beta1.ImageAnnotationContext} - * - * @typedef AnnotateImageResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const AnnotateImageResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to a single file annotation request. A file may contain one or more - * images, which individually have their own responses. - * - * @property {Object} inputConfig - * Information about the file for which this response is generated. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p3beta1.InputConfig} - * - * @property {Object[]} responses - * Individual responses to images found within the file. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p3beta1.AnnotateImageResponse} - * - * @typedef AnnotateFileResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const AnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Multiple image annotation requests are batched into a single service call. - * - * @property {Object[]} requests - * Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p3beta1.AnnotateImageRequest} - * - * @typedef BatchAnnotateImagesRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const BatchAnnotateImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to a batch image annotation request. - * - * @property {Object[]} responses - * Individual responses to image annotation requests within the batch. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p3beta1.AnnotateImageResponse} - * - * @typedef BatchAnnotateImagesResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const BatchAnnotateImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * An offline file annotation request. - * - * @property {Object} inputConfig - * Required. Information about the input file. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p3beta1.InputConfig} - * - * @property {Object[]} features - * Required. Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p3beta1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image(s) in the file. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p3beta1.ImageContext} - * - * @property {Object} outputConfig - * Required. The desired output location and metadata (e.g. format). - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p3beta1.OutputConfig} - * - * @typedef AsyncAnnotateFileRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const AsyncAnnotateFileRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The response for a single offline file annotation request. - * - * @property {Object} outputConfig - * The output location and metadata from AsyncAnnotateFileRequest. - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p3beta1.OutputConfig} - * - * @typedef AsyncAnnotateFileResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const AsyncAnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Multiple async file annotation requests are batched into a single service - * call. - * - * @property {Object[]} requests - * Required. Individual async file annotation requests for this batch. - * - * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} - * - * @typedef AsyncBatchAnnotateFilesRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const AsyncBatchAnnotateFilesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an async batch file annotation request. - * - * @property {Object[]} responses - * The list of file annotation responses, one for each request in - * AsyncBatchAnnotateFilesRequest. - * - * This object should have the same structure as [AsyncAnnotateFileResponse]{@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse} - * - * @typedef AsyncBatchAnnotateFilesResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const AsyncBatchAnnotateFilesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The desired input location and metadata. - * - * @property {Object} gcsSource - * The Google Cloud Storage location to read the input from. - * - * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1p3beta1.GcsSource} - * - * @property {string} mimeType - * The type of the file. Currently only "application/pdf" and "image/tiff" - * are supported. Wildcards are not supported. - * - * @typedef InputConfig - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const InputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The desired output location and metadata. - * - * @property {Object} gcsDestination - * The Google Cloud Storage location to write the output(s) to. - * - * This object should have the same structure as [GcsDestination]{@link google.cloud.vision.v1p3beta1.GcsDestination} - * - * @property {number} batchSize - * The max number of response protos to put into each output JSON file on - * Google Cloud Storage. - * The valid range is [1, 100]. If not specified, the default value is 20. - * - * For example, for one pdf file with 100 pages, 100 response protos will - * be generated. If `batch_size` = 20, then 5 json files each - * containing 20 response protos will be written under the prefix - * `gcs_destination`.`uri`. - * - * Currently, batch_size only applies to GcsDestination, with potential future - * support for other output configurations. - * - * @typedef OutputConfig - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const OutputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location where the input will be read from. - * - * @property {string} uri - * Google Cloud Storage URI for the input file. This must only be a - * Google Cloud Storage object. Wildcards are not currently supported. - * - * @typedef GcsSource - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const GcsSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location where the output will be written to. - * - * @property {string} uri - * Google Cloud Storage URI where the results will be stored. Results will - * be in JSON format and preceded by its corresponding input URI. This field - * can either represent a single file, or a prefix for multiple outputs. - * Prefixes must end in a `/`. - * - * Examples: - * - * * File: gs://bucket-name/filename.json - * * Prefix: gs://bucket-name/prefix/here/ - * * File: gs://bucket-name/prefix/here - * - * If multiple outputs, each response is still AnnotateFileResponse, each of - * which contains some subset of the full list of AnnotateImageResponse. - * Multiple outputs can happen if, for example, the output JSON is too large - * and overflows into multiple sharded files. - * - * @typedef GcsDestination - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const GcsDestination = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Contains metadata for the BatchAnnotateImages operation. - * - * @property {number} state - * Current state of the batch operation. - * - * The number should be among the values of [State]{@link google.cloud.vision.v1p3beta1.State} - * - * @property {Object} createTime - * The time when the batch request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * The time when the operation result was last updated. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef OperationMetadata - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/image_annotator.proto} - */ -const OperationMetadata = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Batch operation states. - * - * @enum {number} - * @memberof google.cloud.vision.v1p3beta1 - */ - State: { - - /** - * Invalid. - */ - STATE_UNSPECIFIED: 0, - - /** - * Request is received. - */ - CREATED: 1, - - /** - * Request is actively being processed. - */ - RUNNING: 2, - - /** - * The batch processing is done. - */ - DONE: 3, - - /** - * The batch processing was cancelled. - */ - CANCELLED: 4 - } -}; - -/** - * A bucketized representation of likelihood, which is intended to give clients - * highly stable results across model upgrades. - * - * @enum {number} - * @memberof google.cloud.vision.v1p3beta1 - */ -const Likelihood = { - - /** - * Unknown likelihood. - */ - UNKNOWN: 0, - - /** - * It is very unlikely that the image belongs to the specified vertical. - */ - VERY_UNLIKELY: 1, - - /** - * It is unlikely that the image belongs to the specified vertical. - */ - UNLIKELY: 2, - - /** - * It is possible that the image belongs to the specified vertical. - */ - POSSIBLE: 3, - - /** - * It is likely that the image belongs to the specified vertical. - */ - LIKELY: 4, - - /** - * It is very likely that the image belongs to the specified vertical. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js deleted file mode 100644 index 4acc3b302c7..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search.js +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Parameters for a product search request. - * - * @property {string} catalogName - * The resource name of the catalog to search. - * - * Format is: `productSearch/catalogs/CATALOG_NAME`. - * - * @property {number} category - * The category to search in. - * Optional. It is inferred by the system if it is not specified. - * [Deprecated] Use `product_category`. - * - * The number should be among the values of [ProductSearchCategory]{@link google.cloud.vision.v1p3beta1.ProductSearchCategory} - * - * @property {string} productCategory - * The product category to search in. - * Optional. It is inferred by the system if it is not specified. - * Supported values are `bag`, `shoe`, `sunglasses`, `dress`, `outerwear`, - * `skirt`, `top`, `shorts`, and `pants`. - * - * @property {Object} normalizedBoundingPoly - * The bounding polygon around the area of interest in the image. - * Optional. If it is not specified, system discretion will be applied. - * [Deprecated] Use `bounding_poly`. - * - * This object should have the same structure as [NormalizedBoundingPoly]{@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} - * - * @property {Object} boundingPoly - * The bounding polygon around the area of interest in the image. - * Optional. If it is not specified, system discretion will be applied. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @property {number} view - * Specifies the verbosity of the product search results. - * Optional. Defaults to `BASIC`. - * - * The number should be among the values of [ProductSearchResultsView]{@link google.cloud.vision.v1p3beta1.ProductSearchResultsView} - * - * @property {string} productSet - * The resource name of a - * ProductSet to be searched for - * similar images. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. - * - * @property {string[]} productCategories - * The list of product categories to search in. Currently, we only consider - * the first category, and either "homegoods" or "apparel" should be - * specified. - * - * @property {string} filter - * The filtering expression. This can be used to restrict search results based - * on Product labels. We currently support an AND of OR of key-value - * expressions, where each expression within an OR must have the same key. - * - * For example, "(color = red OR color = blue) AND brand = Google" is - * acceptable, but not "(color = red OR brand = Google)" or "color: red". - * - * @typedef ProductSearchParams - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ProductSearchParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} - */ -const ProductSearchParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Results for a product search request. - * - * @property {number} category - * Product category. - * [Deprecated] Use `product_category`. - * - * The number should be among the values of [ProductSearchCategory]{@link google.cloud.vision.v1p3beta1.ProductSearchCategory} - * - * @property {string} productCategory - * Product category. - * Supported values are `bag` and `shoe`. - * [Deprecated] `product_category` is provided in each Product. - * - * @property {Object} indexTime - * Timestamp of the index which provided these results. Changes made after - * this time are not reflected in the current results. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object[]} products - * List of detected products. - * - * This object should have the same structure as [ProductInfo]{@link google.cloud.vision.v1p3beta1.ProductInfo} - * - * @property {Object[]} results - * List of results, one for each product match. - * - * This object should have the same structure as [Result]{@link google.cloud.vision.v1p3beta1.Result} - * - * @typedef ProductSearchResults - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ProductSearchResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} - */ -const ProductSearchResults = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Information about a product. - * - * @property {string} productId - * Product ID. - * - * @property {string} imageUri - * The URI of the image which matched the query image. - * - * This field is returned only if `view` is set to `FULL` in - * the request. - * - * @property {number} score - * A confidence level on the match, ranging from 0 (no confidence) to - * 1 (full confidence). - * - * This field is returned only if `view` is set to `FULL` in - * the request. - * - * @typedef ProductInfo - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} - */ - ProductInfo: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Information about a product. - * - * @property {Object} product - * The Product. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} - * - * @property {number} score - * A confidence level on the match, ranging from 0 (no confidence) to - * 1 (full confidence). - * - * This field is returned only if `view` is set to `FULL` in - * the request. - * - * @property {string} image - * The resource name of the image from the product that is the closest match - * to the query. - * - * @typedef Result - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ProductSearchResults.Result definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search.proto} - */ - Result: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * Supported product search categories. - * - * @enum {number} - * @memberof google.cloud.vision.v1p3beta1 - */ -const ProductSearchCategory = { - - /** - * Default value used when a category is not specified. - */ - PRODUCT_SEARCH_CATEGORY_UNSPECIFIED: 0, - - /** - * Shoes category. - */ - SHOES: 1, - - /** - * Bags category. - */ - BAGS: 2 -}; - -/** - * Specifies the fields to include in product search results. - * - * @enum {number} - * @memberof google.cloud.vision.v1p3beta1 - */ -const ProductSearchResultsView = { - - /** - * Product search results contain only `product_category` and `product_id`. - * Default value. - */ - BASIC: 0, - - /** - * Product search results contain `product_category`, `product_id`, - * `image_uri`, and `score`. - */ - FULL: 1 -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js deleted file mode 100644 index ed5f0fad601..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_product_search_service.js +++ /dev/null @@ -1,830 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A Product contains ReferenceImages. - * - * @property {string} name - * The resource name of the product. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * - * This field is ignored when creating a product. - * - * @property {string} displayName - * The user-provided name for this Product. Must not be empty. Must be at most - * 4096 characters long. - * - * @property {string} description - * User-provided metadata to be stored with this product. Must be at most 4096 - * characters long. - * - * @property {string} productCategory - * Immutable. The category for the product identified by the reference image. This should - * be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories - * "homegoods", "apparel", and "toys" are still supported, but these should - * not be used for new products. - * - * @property {Object[]} productLabels - * Key-value pairs that can be attached to a product. At query time, - * constraints can be specified based on the product_labels. - * - * Note that integer values can be provided as strings, e.g. "1199". Only - * strings with integer values can match a range-based restriction which is - * to be supported soon. - * - * Multiple values can be assigned to the same key. One product may have up to - * 100 product_labels. - * - * This object should have the same structure as [KeyValue]{@link google.cloud.vision.v1p3beta1.KeyValue} - * - * @typedef Product - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Product definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const Product = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * A product label represented as a key-value pair. - * - * @property {string} key - * The key of the label attached to the product. Cannot be empty and cannot - * exceed 128 bytes. - * - * @property {string} value - * The value of the label attached to the product. Cannot be empty and - * cannot exceed 128 bytes. - * - * @typedef KeyValue - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Product.KeyValue definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ - KeyValue: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * A ProductSet contains Products. A ProductSet can contain a maximum of 1 - * million reference images. If the limit is exceeded, periodic indexing will - * fail. - * - * @property {string} name - * The resource name of the ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. - * - * This field is ignored when creating a ProductSet. - * - * @property {string} displayName - * The user-provided name for this ProductSet. Must not be empty. Must be at - * most 4096 characters long. - * - * @property {Object} indexTime - * Output only. The time at which this ProductSet was last indexed. Query - * results will reflect all updates before this time. If this ProductSet has - * never been indexed, this field is 0. - * - * This field is ignored when creating a ProductSet. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} indexError - * Output only. If there was an error with indexing the product set, the field - * is populated. - * - * This field is ignored when creating a ProductSet. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef ProductSet - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ProductSet definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ProductSet = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A `ReferenceImage` represents a product image and its associated metadata, - * such as bounding boxes. - * - * @property {string} name - * The resource name of the reference image. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * - * This field is ignored when creating a reference image. - * - * @property {string} uri - * Required. The Google Cloud Storage URI of the reference image. - * - * The URI must start with `gs://`. - * - * @property {Object[]} boundingPolys - * Optional. Bounding polygons around the areas of interest in the reference image. - * If this field is empty, the system will try to detect regions of - * interest. At most 10 bounding polygons will be used. - * - * The provided shape is converted into a non-rotated rectangle. Once - * converted, the small edge of the rectangle must be greater than or equal - * to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 - * is not). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @typedef ReferenceImage - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ReferenceImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ReferenceImage = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `CreateProduct` method. - * - * @property {string} parent - * Required. The project in which the Product should be created. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {Object} product - * Required. The product to create. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} - * - * @property {string} productId - * A user-supplied resource id for this Product. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * - * @typedef CreateProductRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.CreateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const CreateProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListProducts` method. - * - * @property {string} parent - * Required. The project OR ProductSet from which Products should be listed. - * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListProductsRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ListProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ListProductsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListProducts` method. - * - * @property {Object[]} products - * List of products. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} - * - * @property {string} nextPageToken - * Token to retrieve the next page of results, or empty if there are no more - * results in the list. - * - * @typedef ListProductsResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ListProductsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ListProductsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `GetProduct` method. - * - * @property {string} name - * Required. Resource name of the Product to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef GetProductRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.GetProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const GetProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `UpdateProduct` method. - * - * @property {Object} product - * Required. The Product resource which replaces the one on the server. - * product.name is immutable. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} - * - * @property {Object} updateMask - * The FieldMask that specifies which fields - * to update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask paths include `product_labels`, `display_name`, and - * `description`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * - * @typedef UpdateProductRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.UpdateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const UpdateProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `DeleteProduct` method. - * - * @property {string} name - * Required. Resource name of product to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef DeleteProductRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.DeleteProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const DeleteProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `CreateProductSet` method. - * - * @property {string} parent - * Required. The project in which the ProductSet should be created. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {Object} productSet - * Required. The ProductSet to create. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} - * - * @property {string} productSetId - * A user-supplied resource id for this ProductSet. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * - * @typedef CreateProductSetRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.CreateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const CreateProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListProductSets` method. - * - * @property {string} parent - * Required. The project from which ProductSets should be listed. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListProductSetsRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ListProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ListProductSetsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListProductSets` method. - * - * @property {Object[]} productSets - * List of ProductSets. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} - * - * @property {string} nextPageToken - * Token to retrieve the next page of results, or empty if there are no more - * results in the list. - * - * @typedef ListProductSetsResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ListProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ListProductSetsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `GetProductSet` method. - * - * @property {string} name - * Required. Resource name of the ProductSet to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @typedef GetProductSetRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.GetProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const GetProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `UpdateProductSet` method. - * - * @property {Object} productSet - * Required. The ProductSet resource which replaces the one on the server. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} - * - * @property {Object} updateMask - * The FieldMask that specifies which fields to - * update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask path is `display_name`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * - * @typedef UpdateProductSetRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.UpdateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const UpdateProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `DeleteProductSet` method. - * - * @property {string} name - * Required. Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @typedef DeleteProductSetRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.DeleteProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const DeleteProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `CreateReferenceImage` method. - * - * @property {string} parent - * Required. Resource name of the product in which to create the reference image. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * - * @property {Object} referenceImage - * Required. The reference image to create. - * If an image ID is specified, it is ignored. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} - * - * @property {string} referenceImageId - * A user-supplied resource id for the ReferenceImage to be added. If set, - * the server will attempt to use this value as the resource id. If it is - * already in use, an error is returned with code ALREADY_EXISTS. Must be at - * most 128 characters long. It cannot contain the character `/`. - * - * @typedef CreateReferenceImageRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.CreateReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const CreateReferenceImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListReferenceImages` method. - * - * @property {string} parent - * Required. Resource name of the product containing the reference images. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * A token identifying a page of results to be returned. This is the value - * of `nextPageToken` returned in a previous reference image list request. - * - * Defaults to the first page if not specified. - * - * @typedef ListReferenceImagesRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ListReferenceImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ListReferenceImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListReferenceImages` method. - * - * @property {Object[]} referenceImages - * The list of reference images. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} nextPageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListReferenceImagesResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ListReferenceImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ListReferenceImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `GetReferenceImage` method. - * - * @property {string} name - * Required. The resource name of the ReferenceImage to get. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * - * @typedef GetReferenceImageRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.GetReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const GetReferenceImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `DeleteReferenceImage` method. - * - * @property {string} name - * Required. The resource name of the reference image to delete. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - * - * @typedef DeleteReferenceImageRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const DeleteReferenceImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `AddProductToProductSet` method. - * - * @property {string} name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @property {string} product - * Required. The resource name for the Product to be added to this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef AddProductToProductSetRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.AddProductToProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const AddProductToProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `RemoveProductFromProductSet` method. - * - * @property {string} name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @property {string} product - * Required. The resource name for the Product to be removed from this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef RemoveProductFromProductSetRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const RemoveProductFromProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListProductsInProductSet` method. - * - * @property {string} name - * Required. The ProductSet resource for which to retrieve Products. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListProductsInProductSetRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ListProductsInProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListProductsInProductSet` method. - * - * @property {Object[]} products - * The list of Products. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} - * - * @property {string} nextPageToken - * Token to retrieve the next page of results, or empty if there are no more - * results in the list. - * - * @typedef ListProductsInProductSetResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ListProductsInProductSetResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location for a csv file which preserves a list of - * ImportProductSetRequests in each line. - * - * @property {string} csvFileUri - * The Google Cloud Storage URI of the input csv file. - * - * The URI must start with `gs://`. - * - * The format of the input csv file should be one image per line. - * In each line, there are 6 columns. - * 1. image_uri - * 2, image_id - * 3. product_set_id - * 4. product_id - * 5, product_category - * 6, product_display_name - * 7, labels - * 8. bounding_poly - * - * Columns 1, 3, 4, and 5 are required, other columns are optional. A new - * ProductSet/Product with the same id will be created on the fly - * if the ProductSet/Product specified by product_set_id/product_id does not - * exist. - * - * The image_id field is optional but has to be unique if provided. If it is - * empty, we will automatically assign an unique id to the image. - * - * The product_display_name field is optional. If it is empty, a space (" ") - * is used as the place holder for the product display_name, which can - * be updated later through the realtime API. - * - * If the Product with product_id already exists, the fields - * product_display_name, product_category and labels are ignored. - * - * If a Product doesn't exist and needs to be created on the fly, the - * product_display_name field refers to - * Product.display_name, - * the product_category field refers to - * Product.product_category, - * and the labels field refers to Product.labels. - * - * Labels (optional) should be a line containing a list of comma-separated - * key-value pairs, with the format - * "key_1=value_1,key_2=value_2,...,key_n=value_n". - * - * The bounding_poly (optional) field is used to identify one region of - * interest from the image in the same manner as CreateReferenceImage. If no - * bounding_poly is specified, the system will try to detect regions of - * interest automatically. - * - * Note that the pipeline will resize the image if the image resolution is too - * large to process (above 20MP). - * - * Also note that at most one bounding_poly is allowed per line. If the image - * contains multiple regions of interest, the csv should contain one line per - * region of interest. - * - * The bounding_poly column should contain an even number of comma-separated - * numbers, with the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Nonnegative - * integers should be used for absolute bounding polygons, and float values - * in [0, 1] should be used for normalized bounding polygons. - * - * @typedef ImportProductSetsGcsSource - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ImportProductSetsGcsSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The input content for the `ImportProductSets` method. - * - * @property {Object} gcsSource - * The Google Cloud Storage location for a csv file which preserves a list - * of ImportProductSetRequests in each line. - * - * This object should have the same structure as [ImportProductSetsGcsSource]{@link google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource} - * - * @typedef ImportProductSetsInputConfig - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ImportProductSetsInputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ImportProductSets` method. - * - * @property {string} parent - * Required. The project in which the ProductSets should be imported. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {Object} inputConfig - * Required. The input content for the list of requests. - * - * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} - * - * @typedef ImportProductSetsRequest - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ImportProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ImportProductSetsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ImportProductSets` method. - * - * This message is returned by the - * google.longrunning.Operations.GetOperation - * method in the returned - * google.longrunning.Operation.response - * field. - * - * @property {Object[]} referenceImages - * The list of reference_images that are imported successfully. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} - * - * @property {Object[]} statuses - * The rpc status for each ImportProductSet request, including both successes - * and errors. - * - * The number of statuses here matches the number of lines in the csv file, - * and statuses[i] stores the success or failure status of processing the i-th - * line of the csv, starting from line 0. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef ImportProductSetsResponse - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.ImportProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const ImportProductSetsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Metadata for the batch operations such as the current state. - * - * This is included in the `metadata` field of the `Operation` returned by the - * `GetOperation` call of the `google::longrunning::Operations` service. - * - * @property {number} state - * The current state of the batch operation. - * - * The number should be among the values of [State]{@link google.cloud.vision.v1p3beta1.State} - * - * @property {Object} submitTime - * The time when the batch request was submitted to the server. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} endTime - * The time when the batch request is finished and - * google.longrunning.Operation.done is - * set to true. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef BatchOperationMetadata - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.BatchOperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/product_search_service.proto} - */ -const BatchOperationMetadata = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Enumerates the possible states that the batch request can be in. - * - * @enum {number} - * @memberof google.cloud.vision.v1p3beta1 - */ - State: { - - /** - * Invalid. - */ - STATE_UNSPECIFIED: 0, - - /** - * Request is actively being processed. - */ - PROCESSING: 1, - - /** - * The request is done and at least one item has been successfully - * processed. - */ - SUCCESSFUL: 2, - - /** - * The request is done and no item has been successfully processed. - */ - FAILED: 3, - - /** - * The request is done after the longrunning.Operations.CancelOperation has - * been called by the user. Any records that were processed before the - * cancel command are output as specified in the request. - */ - CANCELLED: 4 - } -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js deleted file mode 100644 index dc9fcb2e02e..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_text_annotation.js +++ /dev/null @@ -1,393 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * TextAnnotation contains a structured representation of OCR extracted text. - * The hierarchy of an OCR extracted text structure is like this: - * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol - * Each structural component, starting from Page, may further have their own - * properties. Properties describe detected languages, breaks etc.. Please refer - * to the - * TextAnnotation.TextProperty - * message definition below for more detail. - * - * @property {Object[]} pages - * List of pages detected by OCR. - * - * This object should have the same structure as [Page]{@link google.cloud.vision.v1p3beta1.Page} - * - * @property {string} text - * UTF-8 text detected on the pages. - * - * @typedef TextAnnotation - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} - */ -const TextAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Detected language for a structural component. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {number} confidence - * Confidence of detected language. Range [0, 1]. - * - * @typedef DetectedLanguage - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} - */ - DetectedLanguage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Detected start or end of a structural component. - * - * @property {number} type - * Detected break type. - * - * The number should be among the values of [BreakType]{@link google.cloud.vision.v1p3beta1.BreakType} - * - * @property {boolean} isPrefix - * True if break prepends the element. - * - * @typedef DetectedBreak - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} - */ - DetectedBreak: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Enum to denote the type of break found. New line, space etc. - * - * @enum {number} - * @memberof google.cloud.vision.v1p3beta1 - */ - BreakType: { - - /** - * Unknown break label type. - */ - UNKNOWN: 0, - - /** - * Regular space. - */ - SPACE: 1, - - /** - * Sure space (very wide). - */ - SURE_SPACE: 2, - - /** - * Line-wrapping break. - */ - EOL_SURE_SPACE: 3, - - /** - * End-line hyphen that is not present in text; does not co-occur with - * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. - */ - HYPHEN: 4, - - /** - * Line break that ends a paragraph. - */ - LINE_BREAK: 5 - } - }, - - /** - * Additional information detected on the structural component. - * - * @property {Object[]} detectedLanguages - * A list of detected languages together with confidence. - * - * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1p3beta1.DetectedLanguage} - * - * @property {Object} detectedBreak - * Detected start or end of a text segment. - * - * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1p3beta1.DetectedBreak} - * - * @typedef TextProperty - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} - */ - TextProperty: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * Detected page from OCR. - * - * @property {Object} property - * Additional information detected on the page. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} - * - * @property {number} width - * Page width. For PDFs the unit is points. For images (including - * TIFFs) the unit is pixels. - * - * @property {number} height - * Page height. For PDFs the unit is points. For images (including - * TIFFs) the unit is pixels. - * - * @property {Object[]} blocks - * List of blocks of text, images etc on this page. - * - * This object should have the same structure as [Block]{@link google.cloud.vision.v1p3beta1.Block} - * - * @property {number} confidence - * Confidence of the OCR results on the page. Range [0, 1]. - * - * @typedef Page - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} - */ -const Page = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Logical element on the page. - * - * @property {Object} property - * Additional information detected for the block. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the block. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * - * * when the text is horizontal it might look like: - * - * 0----1 - * | | - * 3----2 - * - * * when it's rotated 180 degrees around the top-left corner it becomes: - * - * 2----3 - * | | - * 1----0 - * - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @property {Object[]} paragraphs - * List of paragraphs in this block (if this blocks is of type text). - * - * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1p3beta1.Paragraph} - * - * @property {number} blockType - * Detected block type (text, image etc) for this block. - * - * The number should be among the values of [BlockType]{@link google.cloud.vision.v1p3beta1.BlockType} - * - * @property {number} confidence - * Confidence of the OCR results on the block. Range [0, 1]. - * - * @typedef Block - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} - */ -const Block = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of a block (text, image etc) as identified by OCR. - * - * @enum {number} - * @memberof google.cloud.vision.v1p3beta1 - */ - BlockType: { - - /** - * Unknown block type. - */ - UNKNOWN: 0, - - /** - * Regular text block. - */ - TEXT: 1, - - /** - * Table block. - */ - TABLE: 2, - - /** - * Image block. - */ - PICTURE: 3, - - /** - * Horizontal/vertical line box. - */ - RULER: 4, - - /** - * Barcode block. - */ - BARCODE: 5 - } -}; - -/** - * Structural unit of text representing a number of words in certain order. - * - * @property {Object} property - * Additional information detected for the paragraph. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the paragraph. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @property {Object[]} words - * List of words in this paragraph. - * - * This object should have the same structure as [Word]{@link google.cloud.vision.v1p3beta1.Word} - * - * @property {number} confidence - * Confidence of the OCR results for the paragraph. Range [0, 1]. - * - * @typedef Paragraph - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} - */ -const Paragraph = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A word representation. - * - * @property {Object} property - * Additional information detected for the word. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the word. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @property {Object[]} symbols - * List of symbols in the word. - * The order of the symbols follows the natural reading order. - * - * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1p3beta1.Symbol} - * - * @property {number} confidence - * Confidence of the OCR results for the word. Range [0, 1]. - * - * @typedef Word - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} - */ -const Word = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A single symbol representation. - * - * @property {Object} property - * Additional information detected for the symbol. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p3beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the symbol. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertice order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p3beta1.BoundingPoly} - * - * @property {string} text - * The actual UTF-8 representation of the symbol. - * - * @property {number} confidence - * Confidence of the OCR results for the symbol. Range [0, 1]. - * - * @typedef Symbol - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/text_annotation.proto} - */ -const Symbol = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js deleted file mode 100644 index 57e01b97ea7..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/cloud/vision/v1p3beta1/doc_web_detection.js +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Relevant information for the image from the Internet. - * - * @property {Object[]} webEntities - * Deduced entities from similar images on the Internet. - * - * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1p3beta1.WebEntity} - * - * @property {Object[]} fullMatchingImages - * Fully matching images from the Internet. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images from the Internet. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} - * - * @property {Object[]} pagesWithMatchingImages - * Web pages containing the matching images from the Internet. - * - * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1p3beta1.WebPage} - * - * @property {Object[]} visuallySimilarImages - * The visually similar image results. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} - * - * @property {Object[]} bestGuessLabels - * Best guess text labels for the request image. - * - * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1p3beta1.WebLabel} - * - * @typedef WebDetection - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} - */ -const WebDetection = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Entity deduced from similar images on the Internet. - * - * @property {string} entityId - * Opaque entity ID. - * - * @property {number} score - * Overall relevancy score for the entity. - * Not normalized and not comparable across different image queries. - * - * @property {string} description - * Canonical description of the entity, in English. - * - * @typedef WebEntity - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} - */ - WebEntity: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for online images. - * - * @property {string} url - * The result image URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the image. - * - * @typedef WebImage - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} - */ - WebImage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for web pages. - * - * @property {string} url - * The result web page URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the web page. - * - * @property {string} pageTitle - * Title for the web page, may contain HTML markups. - * - * @property {Object[]} fullMatchingImages - * Fully matching images on the page. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images on the page. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its - * crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p3beta1.WebImage} - * - * @typedef WebPage - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} - */ - WebPage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Label to provide extra metadata for the web detection. - * - * @property {string} label - * Label for extra metadata. - * - * @property {string} languageCode - * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - * For more information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @typedef WebLabel - * @memberof google.cloud.vision.v1p3beta1 - * @see [google.cloud.vision.v1p3beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p3beta1/web_detection.proto} - */ - WebLabel: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 099e418d620..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/longrunning/doc_operations.js +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * This resource represents a long-running operation that is the result of a - * network API call. - * - * @property {string} name - * The server-assigned name, which is only unique within the same service that - * originally returns it. If you use the default HTTP mapping, the - * `name` should be a resource name ending with `operations/{unique_id}`. - * - * @property {Object} metadata - * Service-specific metadata associated with the operation. It typically - * contains progress information and common metadata such as create time. - * Some services might not provide such metadata. Any method that returns a - * long-running operation should document the metadata type, if any. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @property {boolean} done - * If the value is `false`, it means the operation is still in progress. - * If `true`, the operation is completed, and either `error` or `response` is - * available. - * - * @property {Object} error - * The error result of the operation in case of failure or cancellation. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @property {Object} response - * The normal response of the operation in case of success. If the original - * method returns no data on success, such as `Delete`, the response is - * `google.protobuf.Empty`. If the original method is standard - * `Get`/`Create`/`Update`, the response should be the resource. For other - * methods, the response should have the type `XxxResponse`, where `Xxx` - * is the original method name. For example, if the original method name - * is `TakeSnapshot()`, the inferred response type is - * `TakeSnapshotResponse`. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @typedef Operation - * @memberof google.longrunning - * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const Operation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_any.js +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * `Any` contains an arbitrary serialized protocol buffer message along with a - * URL that describes the type of the serialized message. - * - * Protobuf library provides support to pack/unpack Any values in the form - * of utility functions or additional generated methods of the Any type. - * - * Example 1: Pack and unpack a message in C++. - * - * Foo foo = ...; - * Any any; - * any.PackFrom(foo); - * ... - * if (any.UnpackTo(&foo)) { - * ... - * } - * - * Example 2: Pack and unpack a message in Java. - * - * Foo foo = ...; - * Any any = Any.pack(foo); - * ... - * if (any.is(Foo.class)) { - * foo = any.unpack(Foo.class); - * } - * - * Example 3: Pack and unpack a message in Python. - * - * foo = Foo(...) - * any = Any() - * any.Pack(foo) - * ... - * if any.Is(Foo.DESCRIPTOR): - * any.Unpack(foo) - * ... - * - * Example 4: Pack and unpack a message in Go - * - * foo := &pb.Foo{...} - * any, err := ptypes.MarshalAny(foo) - * ... - * foo := &pb.Foo{} - * if err := ptypes.UnmarshalAny(any, foo); err != nil { - * ... - * } - * - * The pack methods provided by protobuf library will by default use - * 'type.googleapis.com/full.type.name' as the type URL and the unpack - * methods only use the fully qualified type name after the last '/' - * in the type URL, for example "foo.bar.com/x/y.z" will yield type - * name "y.z". - * - * - * # JSON - * - * The JSON representation of an `Any` value uses the regular - * representation of the deserialized, embedded message, with an - * additional field `@type` which contains the type URL. Example: - * - * package google.profile; - * message Person { - * string first_name = 1; - * string last_name = 2; - * } - * - * { - * "@type": "type.googleapis.com/google.profile.Person", - * "firstName": , - * "lastName": - * } - * - * If the embedded message type is well-known and has a custom JSON - * representation, that representation will be embedded adding a field - * `value` which holds the custom JSON in addition to the `@type` - * field. Example (for message google.protobuf.Duration): - * - * { - * "@type": "type.googleapis.com/google.protobuf.Duration", - * "value": "1.212s" - * } - * - * @property {string} typeUrl - * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. This string must contain at least - * one "/" character. The last segment of the URL's path must represent - * the fully qualified name of the type (as in - * `path/google.protobuf.Duration`). The name should be in a canonical form - * (e.g., leading "." is not accepted). - * - * In practice, teams usually precompile into the binary all types that they - * expect it to use in the context of Any. However, for URLs which use the - * scheme `http`, `https`, or no scheme, one can optionally set up a type - * server that maps type URLs to message definitions as follows: - * - * * If no scheme is provided, `https` is assumed. - * * An HTTP GET on the URL must yield a google.protobuf.Type - * value in binary format, or produce an error. - * * Applications are allowed to cache lookup results based on the - * URL, or have them precompiled into a binary to avoid any - * lookup. Therefore, binary compatibility needs to be preserved - * on changes to types. (Use versioned type names to manage - * breaking changes.) - * - * Note: this functionality is not currently available in the official - * protobuf release, and it is not used for type URLs beginning with - * type.googleapis.com. - * - * Schemes other than `http`, `https` (or the empty scheme) might be - * used with implementation specific semantics. - * - * @property {Buffer} value - * Must be a valid serialized protocol buffer of the above specified type. - * - * @typedef Any - * @memberof google.protobuf - * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} - */ -const Any = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js deleted file mode 100644 index 1e3961d6609..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_empty.js +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A generic empty message that you can re-use to avoid defining duplicated - * empty messages in your APIs. A typical example is to use it as the request - * or the response type of an API method. For instance: - * - * service Foo { - * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); - * } - * - * The JSON representation for `Empty` is empty JSON object `{}`. - * @typedef Empty - * @memberof google.protobuf - * @see [google.protobuf.Empty definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/empty.proto} - */ -const Empty = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js deleted file mode 100644 index 59e745f36c2..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_field_mask.js +++ /dev/null @@ -1,228 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * `FieldMask` represents a set of symbolic field paths, for example: - * - * paths: "f.a" - * paths: "f.b.d" - * - * Here `f` represents a field in some root message, `a` and `b` - * fields in the message found in `f`, and `d` a field found in the - * message in `f.b`. - * - * Field masks are used to specify a subset of fields that should be - * returned by a get operation or modified by an update operation. - * Field masks also have a custom JSON encoding (see below). - * - * # Field Masks in Projections - * - * When used in the context of a projection, a response message or - * sub-message is filtered by the API to only contain those fields as - * specified in the mask. For example, if the mask in the previous - * example is applied to a response message as follows: - * - * f { - * a : 22 - * b { - * d : 1 - * x : 2 - * } - * y : 13 - * } - * z: 8 - * - * The result will not contain specific values for fields x,y and z - * (their value will be set to the default, and omitted in proto text - * output): - * - * - * f { - * a : 22 - * b { - * d : 1 - * } - * } - * - * A repeated field is not allowed except at the last position of a - * paths string. - * - * If a FieldMask object is not present in a get operation, the - * operation applies to all fields (as if a FieldMask of all fields - * had been specified). - * - * Note that a field mask does not necessarily apply to the - * top-level response message. In case of a REST get operation, the - * field mask applies directly to the response, but in case of a REST - * list operation, the mask instead applies to each individual message - * in the returned resource list. In case of a REST custom method, - * other definitions may be used. Where the mask applies will be - * clearly documented together with its declaration in the API. In - * any case, the effect on the returned resource/resources is required - * behavior for APIs. - * - * # Field Masks in Update Operations - * - * A field mask in update operations specifies which fields of the - * targeted resource are going to be updated. The API is required - * to only change the values of the fields as specified in the mask - * and leave the others untouched. If a resource is passed in to - * describe the updated values, the API ignores the values of all - * fields not covered by the mask. - * - * If a repeated field is specified for an update operation, new values will - * be appended to the existing repeated field in the target resource. Note that - * a repeated field is only allowed in the last position of a `paths` string. - * - * If a sub-message is specified in the last position of the field mask for an - * update operation, then new value will be merged into the existing sub-message - * in the target resource. - * - * For example, given the target message: - * - * f { - * b { - * d: 1 - * x: 2 - * } - * c: [1] - * } - * - * And an update message: - * - * f { - * b { - * d: 10 - * } - * c: [2] - * } - * - * then if the field mask is: - * - * paths: ["f.b", "f.c"] - * - * then the result will be: - * - * f { - * b { - * d: 10 - * x: 2 - * } - * c: [1, 2] - * } - * - * An implementation may provide options to override this default behavior for - * repeated and message fields. - * - * In order to reset a field's value to the default, the field must - * be in the mask and set to the default value in the provided resource. - * Hence, in order to reset all fields of a resource, provide a default - * instance of the resource and set all fields in the mask, or do - * not provide a mask as described below. - * - * If a field mask is not present on update, the operation applies to - * all fields (as if a field mask of all fields has been specified). - * Note that in the presence of schema evolution, this may mean that - * fields the client does not know and has therefore not filled into - * the request will be reset to their default. If this is unwanted - * behavior, a specific service may require a client to always specify - * a field mask, producing an error if not. - * - * As with get operations, the location of the resource which - * describes the updated values in the request message depends on the - * operation kind. In any case, the effect of the field mask is - * required to be honored by the API. - * - * ## Considerations for HTTP REST - * - * The HTTP kind of an update operation which uses a field mask must - * be set to PATCH instead of PUT in order to satisfy HTTP semantics - * (PUT must only be used for full updates). - * - * # JSON Encoding of Field Masks - * - * In JSON, a field mask is encoded as a single string where paths are - * separated by a comma. Fields name in each path are converted - * to/from lower-camel naming conventions. - * - * As an example, consider the following message declarations: - * - * message Profile { - * User user = 1; - * Photo photo = 2; - * } - * message User { - * string display_name = 1; - * string address = 2; - * } - * - * In proto a field mask for `Profile` may look as such: - * - * mask { - * paths: "user.display_name" - * paths: "photo" - * } - * - * In JSON, the same mask is represented as below: - * - * { - * mask: "user.displayName,photo" - * } - * - * # Field Masks and Oneof Fields - * - * Field masks treat fields in oneofs just as regular fields. Consider the - * following message: - * - * message SampleMessage { - * oneof test_oneof { - * string name = 4; - * SubMessage sub_message = 9; - * } - * } - * - * The field mask can be: - * - * mask { - * paths: "name" - * } - * - * Or: - * - * mask { - * paths: "sub_message" - * } - * - * Note that oneof type names ("test_oneof" in this case) cannot be used in - * paths. - * - * ## Field Mask Verification - * - * The implementation of any API method which has a FieldMask type field in the - * request should verify the included field paths, and return an - * `INVALID_ARGUMENT` error if any path is duplicated or unmappable. - * - * @property {string[]} paths - * The set of field mask paths. - * - * @typedef FieldMask - * @memberof google.protobuf - * @see [google.protobuf.FieldMask definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/field_mask.proto} - */ -const FieldMask = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js deleted file mode 100644 index ad801cc9a10..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_timestamp.js +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A Timestamp represents a point in time independent of any time zone or local - * calendar, encoded as a count of seconds and fractions of seconds at - * nanosecond resolution. The count is relative to an epoch at UTC midnight on - * January 1, 1970, in the proleptic Gregorian calendar which extends the - * Gregorian calendar backwards to year one. - * - * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - * second table is needed for interpretation, using a [24-hour linear - * smear](https://developers.google.com/time/smear). - * - * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By - * restricting to that range, we ensure that we can convert to and from [RFC - * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. - * - * # Examples - * - * Example 1: Compute Timestamp from POSIX `time()`. - * - * Timestamp timestamp; - * timestamp.set_seconds(time(NULL)); - * timestamp.set_nanos(0); - * - * Example 2: Compute Timestamp from POSIX `gettimeofday()`. - * - * struct timeval tv; - * gettimeofday(&tv, NULL); - * - * Timestamp timestamp; - * timestamp.set_seconds(tv.tv_sec); - * timestamp.set_nanos(tv.tv_usec * 1000); - * - * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - * - * FILETIME ft; - * GetSystemTimeAsFileTime(&ft); - * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - * - * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z - * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. - * Timestamp timestamp; - * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); - * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); - * - * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - * - * long millis = System.currentTimeMillis(); - * - * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - * .setNanos((int) ((millis % 1000) * 1000000)).build(); - * - * - * Example 5: Compute Timestamp from current time in Python. - * - * timestamp = Timestamp() - * timestamp.GetCurrentTime() - * - * # JSON Mapping - * - * In JSON format, the Timestamp type is encoded as a string in the - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the - * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" - * where {year} is always expressed using four digits while {month}, {day}, - * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional - * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), - * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - * is required. A proto3 JSON serializer should always use UTC (as indicated by - * "Z") when printing the Timestamp type and a proto3 JSON parser should be - * able to accept both UTC and other timezones (as indicated by an offset). - * - * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past - * 01:30 UTC on January 15, 2017. - * - * In JavaScript, one can convert a Date object to this format using the - * standard - * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) - * method. In Python, a standard `datetime.datetime` object can be converted - * to this format using - * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with - * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use - * the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. - * - * @property {number} seconds - * Represents seconds of UTC time since Unix epoch - * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - * 9999-12-31T23:59:59Z inclusive. - * - * @property {number} nanos - * Non-negative fractions of a second at nanosecond resolution. Negative - * second values with fractions must still have non-negative nanos values - * that count forward in time. Must be from 0 to 999,999,999 - * inclusive. - * - * @typedef Timestamp - * @memberof google.protobuf - * @see [google.protobuf.Timestamp definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto} - */ -const Timestamp = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js deleted file mode 100644 index 90e2ff4ab5a..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/protobuf/doc_wrappers.js +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Wrapper message for `float`. - * - * The JSON representation for `FloatValue` is JSON number. - * - * @property {number} value - * The float value. - * - * @typedef FloatValue - * @memberof google.protobuf - * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const FloatValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/rpc/doc_status.js +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * The `Status` type defines a logical error model that is suitable for - * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). Each `Status` message contains - * three pieces of data: error code, error message, and error details. - * - * You can find out more about this error model and how to work with it in the - * [API Design Guide](https://cloud.google.com/apis/design/errors). - * - * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. - * - * @property {string} message - * A developer-facing error message, which should be in English. Any - * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. - * - * @property {Object[]} details - * A list of messages that carry the error details. There is a common set of - * message types for APIs to use. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @typedef Status - * @memberof google.rpc - * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} - */ -const Status = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js deleted file mode 100644 index 9570187d502..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_color.js +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Represents a color in the RGBA color space. This representation is designed - * for simplicity of conversion to/from color representations in various - * languages over compactness; for example, the fields of this representation - * can be trivially provided to the constructor of "java.awt.Color" in Java; it - * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" - * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. - * - * Note: this proto does not carry information about the absolute color space - * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, - * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color - * space. - * - * Example (Java): - * - * import com.google.type.Color; - * - * // ... - * public static java.awt.Color fromProto(Color protocolor) { - * float alpha = protocolor.hasAlpha() - * ? protocolor.getAlpha().getValue() - * : 1.0; - * - * return new java.awt.Color( - * protocolor.getRed(), - * protocolor.getGreen(), - * protocolor.getBlue(), - * alpha); - * } - * - * public static Color toProto(java.awt.Color color) { - * float red = (float) color.getRed(); - * float green = (float) color.getGreen(); - * float blue = (float) color.getBlue(); - * float denominator = 255.0; - * Color.Builder resultBuilder = - * Color - * .newBuilder() - * .setRed(red / denominator) - * .setGreen(green / denominator) - * .setBlue(blue / denominator); - * int alpha = color.getAlpha(); - * if (alpha != 255) { - * result.setAlpha( - * FloatValue - * .newBuilder() - * .setValue(((float) alpha) / denominator) - * .build()); - * } - * return resultBuilder.build(); - * } - * // ... - * - * Example (iOS / Obj-C): - * - * // ... - * static UIColor* fromProto(Color* protocolor) { - * float red = [protocolor red]; - * float green = [protocolor green]; - * float blue = [protocolor blue]; - * FloatValue* alpha_wrapper = [protocolor alpha]; - * float alpha = 1.0; - * if (alpha_wrapper != nil) { - * alpha = [alpha_wrapper value]; - * } - * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; - * } - * - * static Color* toProto(UIColor* color) { - * CGFloat red, green, blue, alpha; - * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { - * return nil; - * } - * Color* result = [[Color alloc] init]; - * [result setRed:red]; - * [result setGreen:green]; - * [result setBlue:blue]; - * if (alpha <= 0.9999) { - * [result setAlpha:floatWrapperWithValue(alpha)]; - * } - * [result autorelease]; - * return result; - * } - * // ... - * - * Example (JavaScript): - * - * // ... - * - * var protoToCssColor = function(rgb_color) { - * var redFrac = rgb_color.red || 0.0; - * var greenFrac = rgb_color.green || 0.0; - * var blueFrac = rgb_color.blue || 0.0; - * var red = Math.floor(redFrac * 255); - * var green = Math.floor(greenFrac * 255); - * var blue = Math.floor(blueFrac * 255); - * - * if (!('alpha' in rgb_color)) { - * return rgbToCssColor_(red, green, blue); - * } - * - * var alphaFrac = rgb_color.alpha.value || 0.0; - * var rgbParams = [red, green, blue].join(','); - * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); - * }; - * - * var rgbToCssColor_ = function(red, green, blue) { - * var rgbNumber = new Number((red << 16) | (green << 8) | blue); - * var hexString = rgbNumber.toString(16); - * var missingZeros = 6 - hexString.length; - * var resultBuilder = ['#']; - * for (var i = 0; i < missingZeros; i++) { - * resultBuilder.push('0'); - * } - * resultBuilder.push(hexString); - * return resultBuilder.join(''); - * }; - * - * // ... - * - * @property {number} red - * The amount of red in the color as a value in the interval [0, 1]. - * - * @property {number} green - * The amount of green in the color as a value in the interval [0, 1]. - * - * @property {number} blue - * The amount of blue in the color as a value in the interval [0, 1]. - * - * @property {Object} alpha - * The fraction of this color that should be applied to the pixel. That is, - * the final pixel color is defined by the equation: - * - * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) - * - * This means that a value of 1.0 corresponds to a solid color, whereas - * a value of 0.0 corresponds to a completely transparent color. This - * uses a wrapper message rather than a simple float scalar so that it is - * possible to distinguish between a default value and the value being unset. - * If omitted, this color object is to be rendered as a solid color - * (as if the alpha value had been explicitly given with a value of 1.0). - * - * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} - * - * @typedef Color - * @memberof google.type - * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} - */ -const Color = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js deleted file mode 100644 index bacbf0e1f48..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/doc/google/type/doc_latlng.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * An object representing a latitude/longitude pair. This is expressed as a pair - * of doubles representing degrees latitude and degrees longitude. Unless - * specified otherwise, this must conform to the - * WGS84 - * standard. Values must be within normalized ranges. - * - * @property {number} latitude - * The latitude in degrees. It must be in the range [-90.0, +90.0]. - * - * @property {number} longitude - * The longitude in degrees. It must be in the range [-180.0, +180.0]. - * - * @typedef LatLng - * @memberof google.type - * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} - */ -const LatLng = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js deleted file mode 100644 index 598c93f3c86..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.js +++ /dev/null @@ -1,400 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const gapicConfig = require('./image_annotator_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); - -const VERSION = require('../../package.json').version; - -/** - * Service that performs Google Cloud Vision API detection tasks over client - * images, such as face, landmark, logo, label, and text detection. The - * ImageAnnotator service returns detected entities from the images. - * - * @class - * @memberof v1p3beta1 - */ -class ImageAnnotatorClient { - /** - * Construct an instance of ImageAnnotatorClient. - * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - */ - constructor(opts) { - opts = opts || {}; - this._descriptors = {}; - - if (global.isBrowser) { - // If we're in browser, we use gRPC fallback. - opts.fallback = true; - } - - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; - - const servicePath = - opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; - - // Ensure that options include the service address and port. - opts = Object.assign( - { - clientConfig: {}, - port: this.constructor.port, - servicePath, - }, - opts - ); - - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = this.constructor.scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); - - // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth; - - // Determine the client header string. - const clientHeader = []; - - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } - clientHeader.push(`gax/${gaxModule.version}`); - if (opts.fallback) { - clientHeader.push(`gl-web/${gaxModule.version}`); - } else { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); - } - clientHeader.push(`gapic/${VERSION}`); - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - - // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - const protos = gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath - ); - - const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); - - // This API contains "long-running operations", which return a - // an Operation object that allows for tracking of the operation, - // rather than holding a request open. - this.operationsClient = new gaxModule.lro({ - auth: gaxGrpc.auth, - grpc: gaxGrpc.grpc, - }).operationsClient(opts); - - const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( - 'google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse' - ); - const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1p3beta1.OperationMetadata' - ); - - this._descriptors.longrunning = { - asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( - this.operationsClient, - asyncBatchAnnotateFilesResponse.decode.bind( - asyncBatchAnnotateFilesResponse - ), - asyncBatchAnnotateFilesMetadata.decode.bind( - asyncBatchAnnotateFilesMetadata - ) - ), - }; - - // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.vision.v1p3beta1.ImageAnnotator', - gapicConfig, - opts.clientConfig, - {'x-goog-api-client': clientHeader.join(' ')} - ); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this._innerApiCalls = {}; - - // Put together the "service stub" for - // google.cloud.vision.v1p3beta1.ImageAnnotator. - const imageAnnotatorStub = gaxGrpc.createStub( - opts.fallback - ? protos.lookupService('google.cloud.vision.v1p3beta1.ImageAnnotator') - : protos.google.cloud.vision.v1p3beta1.ImageAnnotator, - opts - ); - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const imageAnnotatorStubMethods = [ - 'batchAnnotateImages', - 'asyncBatchAnnotateFiles', - ]; - for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = imageAnnotatorStub.then( - stub => (...args) => { - return stub[methodName].apply(stub, args); - }, - err => () => { - throw err; - } - ); - this._innerApiCalls[methodName] = gaxModule.createApiCall( - innerCallPromise, - defaults[methodName], - this._descriptors.longrunning[methodName] - ); - } - } - - /** - * The DNS address for this API service. - */ - static get servicePath() { - return 'vision.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - */ - static get apiEndpoint() { - return 'vision.googleapis.com'; - } - - /** - * The port for this API service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform', - 'https://www.googleapis.com/auth/cloud-vision', - ]; - } - - /** - * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. - */ - getProjectId(callback) { - return this.auth.getProjectId(callback); - } - - // ------------------- - // -- Service calls -- - // ------------------- - - /** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p3beta1.AnnotateImageRequest} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * client.batchAnnotateImages({requests: requests}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - batchAnnotateImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - - return this._innerApiCalls.batchAnnotateImages(request, options, callback); - } - - /** - * Run asynchronous image detection and annotation for a list of generic - * files, such as PDF files, which may contain multiple pages and multiple - * images per page. Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. Individual async file annotation requests for this batch. - * - * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * - * // Handle the operation using the promise pattern. - * client.asyncBatchAnnotateFiles({requests: requests}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * - * // Handle the operation using the event emitter pattern. - * client.asyncBatchAnnotateFiles({requests: requests}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.asyncBatchAnnotateFiles({requests: requests}); - * - * const [response] = await operation.promise(); - */ - asyncBatchAnnotateFiles(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - - return this._innerApiCalls.asyncBatchAnnotateFiles( - request, - options, - callback - ); - } -} - -module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts new file mode 100644 index 00000000000..506cc0878df --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -0,0 +1,663 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as gax from 'google-gax'; +import { + APICallback, + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, +} from 'google-gax'; +import * as path from 'path'; + +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './image_annotator_client_config.json'; + +const version = require('../../../package.json').version; + +/** + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. + * @class + * @memberof v1p3beta1 + */ +export class ImageAnnotatorClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _pathTemplates: {[name: string]: gax.PathTemplate}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + imageAnnotatorStub: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ImageAnnotatorClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + */ + + constructor(opts?: ClientOptions) { + // Ensure that options include the service address and port. + const staticMembers = this.constructor as typeof ImageAnnotatorClient; + const servicePath = + opts && opts.servicePath + ? opts.servicePath + : opts && opts.apiEndpoint + ? opts.apiEndpoint + : staticMembers.servicePath; + const port = opts && opts.port ? opts.port : staticMembers.port; + + if (!opts) { + opts = {servicePath, port}; + } + opts.servicePath = opts.servicePath || servicePath; + opts.port = opts.port || port; + opts.clientConfig = opts.clientConfig || {}; + + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { + opts.fallback = true; + } + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; + const gaxGrpc = new gaxModule.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth as gax.GoogleAuth; + + // Determine the client header string. + const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + ); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this._pathTemplates = { + productPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + productSetPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), + referenceImagePathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' + ), + }; + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = gaxModule + .lro({ + auth: this.auth, + grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); + const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + '.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse' + ) as gax.protobuf.Type; + const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1p3beta1.OperationMetadata' + ) as gax.protobuf.Type; + + this._descriptors.longrunning = { + asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateFilesResponse.decode.bind( + asyncBatchAnnotateFilesResponse + ), + asyncBatchAnnotateFilesMetadata.decode.bind( + asyncBatchAnnotateFilesMetadata + ) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p3beta1.ImageAnnotator', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p3beta1.ImageAnnotator. + this.imageAnnotatorStub = gaxGrpc.createStub( + opts.fallback + ? (protos as protobuf.Root).lookupService( + 'google.cloud.vision.v1p3beta1.ImageAnnotator' + ) + : // tslint:disable-next-line no-any + (protos as any).google.cloud.vision.v1p3beta1.ImageAnnotator, + opts + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const imageAnnotatorStubMethods = [ + 'batchAnnotateImages', + 'asyncBatchAnnotateFiles', + ]; + + for (const methodName of imageAnnotatorStubMethods) { + const innerCallPromise = this.imageAnnotatorStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + return stub[methodName].apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const apiCall = gaxModule.createApiCall( + innerCallPromise, + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] + ); + + this._innerApiCalls[methodName] = ( + argument: {}, + callOptions?: CallOptions, + callback?: APICallback + ) => { + return apiCall(argument, callOptions, callback); + }; + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + >; + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): void; + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Individual image annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + return this._innerApiCalls.batchAnnotateImages(request, options, callback); + } + + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Run asynchronous image detection and annotation for a list of generic + * files, such as PDF files, which may contain multiple pages and multiple + * images per page. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual async file annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + return this._innerApiCalls.asyncBatchAnnotateFiles( + request, + options, + callback + ); + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified product resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @returns {string} Resource name string. + */ + productPath(project: string, location: string, product: string) { + return this._pathTemplates.productPathTemplate.render({ + project, + location, + product, + }); + } + + /** + * Parse the project from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the location from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the product from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the product. + */ + matchProductFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Return a fully-qualified productSet resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product_set + * @returns {string} Resource name string. + */ + productSetPath(project: string, location: string, productSet: string) { + return this._pathTemplates.productSetPathTemplate.render({ + project, + location, + product_set: productSet, + }); + } + + /** + * Parse the project from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .project; + } + + /** + * Parse the location from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .location; + } + + /** + * Parse the product_set from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the product_set. + */ + matchProductSetFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .product_set; + } + + /** + * Return a fully-qualified referenceImage resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @param {string} reference_image + * @returns {string} Resource name string. + */ + referenceImagePath( + project: string, + location: string, + product: string, + referenceImage: string + ) { + return this._pathTemplates.referenceImagePathTemplate.render({ + project, + location, + product, + reference_image: referenceImage, + }); + } + + /** + * Parse the project from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the project. + */ + matchProjectFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).project; + } + + /** + * Parse the location from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the location. + */ + matchLocationFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).location; + } + + /** + * Parse the product from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the product. + */ + matchProductFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).product; + } + + /** + * Parse the reference_image from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the reference_image. + */ + matchReferenceImageFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).reference_image; + } + + /** + * Terminate the GRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + */ + close(): Promise { + if (!this._terminated) { + return this.imageAnnotatorStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} +import {FeaturesMethod} from '../helpers'; +export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json index 23e23cdf3d7..75a2b706749 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client_config.json @@ -2,11 +2,11 @@ "interfaces": { "google.cloud.vision.v1p3beta1.ImageAnnotator": { "retry_codes": { + "non_idempotent": [], "idempotent": [ "DEADLINE_EXCEEDED", "UNAVAILABLE" - ], - "non_idempotent": [] + ] }, "retry_params": { "default": { @@ -14,19 +14,19 @@ "retry_delay_multiplier": 1.3, "max_retry_delay_millis": 60000, "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1.0, + "rpc_timeout_multiplier": 1, "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "BatchAnnotateImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "AsyncBatchAnnotateFiles": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_proto_list.json index afd0848ad12..f5f413b6000 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_proto_list.json +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_proto_list.json @@ -1,3 +1,8 @@ [ - "../../protos/google/cloud/vision/v1p3beta1/image_annotator.proto" + "../../protos/google/cloud/vision/v1p3beta1/geometry.proto", + "../../protos/google/cloud/vision/v1p3beta1/image_annotator.proto", + "../../protos/google/cloud/vision/v1p3beta1/product_search.proto", + "../../protos/google/cloud/vision/v1p3beta1/product_search_service.proto", + "../../protos/google/cloud/vision/v1p3beta1/text_annotation.proto", + "../../protos/google/cloud/vision/v1p3beta1/web_detection.proto" ] diff --git a/packages/google-cloud-vision/src/v1/index.js b/packages/google-cloud-vision/src/v1p3beta1/index.ts similarity index 61% rename from packages/google-cloud-vision/src/v1/index.js rename to packages/google-cloud-vision/src/v1p3beta1/index.ts index 801c3946aa2..de3f335b8a0 100644 --- a/packages/google-cloud-vision/src/v1/index.js +++ b/packages/google-cloud-vision/src/v1p3beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,11 +11,10 @@ // 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'; - -const ImageAnnotatorClient = require('./image_annotator_client'); -const ProductSearchClient = require('./product_search_client'); - -module.exports.ImageAnnotatorClient = ImageAnnotatorClient; -module.exports.ProductSearchClient = ProductSearchClient; +export {ImageAnnotatorClient} from './image_annotator_client'; +export {ProductSearchClient} from './product_search_client'; diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js deleted file mode 100644 index 48d126cb9ef..00000000000 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.js +++ /dev/null @@ -1,2234 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const gapicConfig = require('./product_search_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); - -const VERSION = require('../../package.json').version; - -/** - * Manages Products and ProductSets of reference images for use in product - * search. It uses the following resource model: - * - * - The API has a collection of ProductSet resources, named - * `projects/* /locations/* /productSets/*`, which acts as a way to put different - * products into groups to limit identification. - * - * In parallel, - * - * - The API has a collection of Product resources, named - * `projects/* /locations/* /products/*` - * - * - Each Product has a collection of ReferenceImage resources, named - * `projects/* /locations/* /products/* /referenceImages/*` - * - * @class - * @memberof v1p3beta1 - */ -class ProductSearchClient { - /** - * Construct an instance of ProductSearchClient. - * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - */ - constructor(opts) { - opts = opts || {}; - this._descriptors = {}; - - if (global.isBrowser) { - // If we're in browser, we use gRPC fallback. - opts.fallback = true; - } - - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; - - const servicePath = - opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; - - // Ensure that options include the service address and port. - opts = Object.assign( - { - clientConfig: {}, - port: this.constructor.port, - servicePath, - }, - opts - ); - - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = this.constructor.scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); - - // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth; - - // Determine the client header string. - const clientHeader = []; - - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } - clientHeader.push(`gax/${gaxModule.version}`); - if (opts.fallback) { - clientHeader.push(`gl-web/${gaxModule.version}`); - } else { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); - } - clientHeader.push(`gapic/${VERSION}`); - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - - // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - const protos = gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath - ); - - // This API contains "path templates"; forward-slash-separated - // identifiers to uniquely identify resources within the API. - // Create useful helper objects for these. - this._pathTemplates = { - locationPathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' - ), - productPathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/products/{product}' - ), - productSetPathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/productSets/{product_set}' - ), - referenceImagePathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' - ), - }; - - // Some of the methods on this service return "paged" results, - // (e.g. 50 results at a time, with tokens to get subsequent - // pages). Denote the keys used for pagination and results. - this._descriptors.page = { - listProductSets: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'productSets' - ), - listProducts: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'products' - ), - listReferenceImages: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'referenceImages' - ), - listProductsInProductSet: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'products' - ), - }; - - const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); - - // This API contains "long-running operations", which return a - // an Operation object that allows for tracking of the operation, - // rather than holding a request open. - this.operationsClient = new gaxModule.lro({ - auth: gaxGrpc.auth, - grpc: gaxGrpc.grpc, - }).operationsClient(opts); - - const importProductSetsResponse = protoFilesRoot.lookup( - 'google.cloud.vision.v1p3beta1.ImportProductSetsResponse' - ); - const importProductSetsMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1p3beta1.BatchOperationMetadata' - ); - - this._descriptors.longrunning = { - importProductSets: new gaxModule.LongrunningDescriptor( - this.operationsClient, - importProductSetsResponse.decode.bind(importProductSetsResponse), - importProductSetsMetadata.decode.bind(importProductSetsMetadata) - ), - }; - - // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.vision.v1p3beta1.ProductSearch', - gapicConfig, - opts.clientConfig, - {'x-goog-api-client': clientHeader.join(' ')} - ); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this._innerApiCalls = {}; - - // Put together the "service stub" for - // google.cloud.vision.v1p3beta1.ProductSearch. - const productSearchStub = gaxGrpc.createStub( - opts.fallback - ? protos.lookupService('google.cloud.vision.v1p3beta1.ProductSearch') - : protos.google.cloud.vision.v1p3beta1.ProductSearch, - opts - ); - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const productSearchStubMethods = [ - 'createProductSet', - 'listProductSets', - 'getProductSet', - 'updateProductSet', - 'deleteProductSet', - 'createProduct', - 'listProducts', - 'getProduct', - 'updateProduct', - 'deleteProduct', - 'createReferenceImage', - 'deleteReferenceImage', - 'listReferenceImages', - 'getReferenceImage', - 'addProductToProductSet', - 'removeProductFromProductSet', - 'listProductsInProductSet', - 'importProductSets', - ]; - for (const methodName of productSearchStubMethods) { - const innerCallPromise = productSearchStub.then( - stub => (...args) => { - return stub[methodName].apply(stub, args); - }, - err => () => { - throw err; - } - ); - this._innerApiCalls[methodName] = gaxModule.createApiCall( - innerCallPromise, - defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.longrunning[methodName] - ); - } - } - - /** - * The DNS address for this API service. - */ - static get servicePath() { - return 'vision.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - */ - static get apiEndpoint() { - return 'vision.googleapis.com'; - } - - /** - * The port for this API service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform', - 'https://www.googleapis.com/auth/cloud-vision', - ]; - } - - /** - * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. - */ - getProjectId(callback) { - return this.auth.getProjectId(callback); - } - - // ------------------- - // -- Service calls -- - // ------------------- - - /** - * Creates and returns a new ProductSet resource. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than - * 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSet should be created. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.productSet - * Required. The ProductSet to create. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} - * @param {string} request.productSetId - * A user-supplied resource id for this ProductSet. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const productSet = {}; - * const productSetId = ''; - * const request = { - * parent: formattedParent, - * productSet: productSet, - * productSetId: productSetId, - * }; - * client.createProductSet(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - createProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.createProductSet(request, options, callback); - } - - /** - * Lists ProductSets in an unspecified order. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less - * than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project from which ProductSets should be listed. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1p3beta1.ListProductSetsResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1p3beta1.ListProductSetsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * client.listProductSets({parent: formattedParent}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listProductSets(nextRequest, options).then(callback); - * } - * } - * client.listProductSets({parent: formattedParent}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listProductSets(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.listProductSets(request, options, callback); - } - - /** - * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductSets} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project from which ProductSets should be listed. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} on 'data' event. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * client.listProductSetsStream({parent: formattedParent}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listProductSetsStream(request, options) { - options = options || {}; - - return this._descriptors.page.listProductSets.createStream( - this._innerApiCalls.listProductSets, - request, - options - ); - } - - /** - * Gets information associated with a ProductSet. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.getProductSet({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getProductSet(request, options, callback); - } - - /** - * Makes changes to a ProductSet resource. - * Only display_name can be updated currently. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but - * missing from the request or longer than 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object} request.productSet - * Required. The ProductSet resource which replaces the one on the server. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} - * @param {Object} request.updateMask - * The FieldMask that specifies which fields to - * update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask path is `display_name`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const productSet = {}; - * const updateMask = {}; - * const request = { - * productSet: productSet, - * updateMask: updateMask, - * }; - * client.updateProductSet(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - updateProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product_set.name': request.productSet.name, - }); - - return this._innerApiCalls.updateProductSet(request, options, callback); - } - - /** - * Permanently deletes a ProductSet. All Products and ReferenceImages in the - * ProductSet will be deleted. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.deleteProductSet({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.deleteProductSet(request, options, callback); - } - - /** - * Creates and returns a new product resource. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 - * characters. - * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. - * * Returns INVALID_ARGUMENT if product_category is missing or invalid. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the Product should be created. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.product - * Required. The product to create. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} - * @param {string} request.productId - * A user-supplied resource id for this Product. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const product = {}; - * const productId = ''; - * const request = { - * parent: formattedParent, - * product: product, - * productId: productId, - * }; - * client.createProduct(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - createProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.createProduct(request, options, callback); - } - - /** - * Lists products in an unspecified order. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project OR ProductSet from which Products should be listed. - * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductsResponse]{@link google.cloud.vision.v1p3beta1.ListProductsResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListProductsResponse]{@link google.cloud.vision.v1p3beta1.ListProductsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * client.listProducts({parent: formattedParent}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listProducts(nextRequest, options).then(callback); - * } - * } - * client.listProducts({parent: formattedParent}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listProducts(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.listProducts(request, options, callback); - } - - /** - * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProducts} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project OR ProductSet from which Products should be listed. - * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * client.listProductsStream({parent: formattedParent}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listProductsStream(request, options) { - options = options || {}; - - return this._descriptors.page.listProducts.createStream( - this._innerApiCalls.listProducts, - request, - options - ); - } - - /** - * Gets information associated with a Product. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the Product to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.getProduct({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getProduct(request, options, callback); - } - - /** - * Makes changes to a Product resource. - * Only display_name, description and labels can be updated right now. - * - * If labels are updated, the change will not be reflected in queries until - * the next index time. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is - * missing from the request or longer than 4096 characters. - * * Returns INVALID_ARGUMENT if description is present in update_mask but is - * longer than 4096 characters. - * * Returns INVALID_ARGUMENT if product_category is present in update_mask. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object} request.product - * Required. The Product resource which replaces the one on the server. - * product.name is immutable. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p3beta1.Product} - * @param {Object} request.updateMask - * The FieldMask that specifies which fields - * to update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask paths include `product_labels`, `display_name`, and - * `description`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const product = {}; - * const updateMask = {}; - * const request = { - * product: product, - * updateMask: updateMask, - * }; - * client.updateProduct(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - updateProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product.name': request.product.name, - }); - - return this._innerApiCalls.updateProduct(request, options, callback); - } - - /** - * Permanently deletes a product and its reference images. - * - * Metadata of the product and all its images will be deleted right away, but - * search queries against ProductSets containing the product may still work - * until all related caches are refreshed. - * - * Possible errors: - * - * * Returns NOT_FOUND if the product does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of product to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.deleteProduct({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.deleteProduct(request, options, callback); - } - - /** - * Creates and returns a new ReferenceImage resource. - * - * The `bounding_poly` field is optional. If `bounding_poly` is not specified, - * the system will try to detect regions of interest in the image that are - * compatible with the product_category on the parent product. If it is - * specified, detection is ALWAYS skipped. The system converts polygons into - * non-rotated rectangles. - * - * Note that the pipeline will resize the image if the image resolution is too - * large to process (above 50MP). - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 - * characters. - * * Returns INVALID_ARGUMENT if the product does not exist. - * * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing - * compatible with the parent product's product_category is detected. - * * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the product in which to create the reference image. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {Object} request.referenceImage - * Required. The reference image to create. - * If an image ID is specified, it is ignored. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} - * @param {string} request.referenceImageId - * A user-supplied resource id for the ReferenceImage to be added. If set, - * the server will attempt to use this value as the resource id. If it is - * already in use, an error is returned with code ALREADY_EXISTS. Must be at - * most 128 characters long. It cannot contain the character `/`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * const referenceImage = {}; - * const referenceImageId = ''; - * const request = { - * parent: formattedParent, - * referenceImage: referenceImage, - * referenceImageId: referenceImageId, - * }; - * client.createReferenceImage(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - createReferenceImage(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.createReferenceImage(request, options, callback); - } - - /** - * Permanently deletes a reference image. - * - * The image metadata will be deleted right away, but search queries - * against ProductSets containing the image may still work until all related - * caches are refreshed. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the reference image does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the reference image to delete. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); - * client.deleteReferenceImage({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteReferenceImage(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.deleteReferenceImage(request, options, callback); - } - - /** - * Lists reference images. - * - * Possible errors: - * - * * Returns NOT_FOUND if the parent product does not exist. - * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less - * than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the product containing the reference images. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * - * client.listReferenceImages({parent: formattedParent}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listReferenceImages(nextRequest, options).then(callback); - * } - * } - * client.listReferenceImages({parent: formattedParent}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listReferenceImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.listReferenceImages(request, options, callback); - } - - /** - * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listReferenceImages} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the product containing the reference images. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} on 'data' event. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.listReferenceImagesStream({parent: formattedParent}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listReferenceImagesStream(request, options) { - options = options || {}; - - return this._descriptors.page.listReferenceImages.createStream( - this._innerApiCalls.listReferenceImages, - request, - options - ); - } - - /** - * Gets information associated with a ReferenceImage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the specified image does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the ReferenceImage to get. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); - * client.getReferenceImage({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getReferenceImage(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getReferenceImage(request, options, callback); - } - - /** - * Adds a Product to the specified ProductSet. If the Product is already - * present, no change is made. - * - * One Product can be added to at most 100 ProductSets. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be added to this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * const product = ''; - * const request = { - * name: formattedName, - * product: product, - * }; - * client.addProductToProductSet(request).catch(err => { - * console.error(err); - * }); - */ - addProductToProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.addProductToProductSet( - request, - options, - callback - ); - } - - /** - * Removes a Product from the specified ProductSet. - * - * Possible errors: - * - * * Returns NOT_FOUND If the Product is not found under the ProductSet. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be removed from this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * const product = ''; - * const request = { - * name: formattedName, - * product: product, - * }; - * client.removeProductFromProductSet(request).catch(err => { - * console.error(err); - * }); - */ - removeProductFromProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.removeProductFromProductSet( - request, - options, - callback - ); - } - - /** - * Lists the Products in a ProductSet, in an unspecified order. If the - * ProductSet does not exist, the products field of the response will be - * empty. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The ProductSet resource for which to retrieve Products. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * - * client.listProductsInProductSet({name: formattedName}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listProductsInProductSet(nextRequest, options).then(callback); - * } - * } - * client.listProductsInProductSet({name: formattedName}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listProductsInProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.listProductsInProductSet( - request, - options, - callback - ); - } - - /** - * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductsInProductSet} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The ProductSet resource for which to retrieve Products. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.listProductsInProductSetStream({name: formattedName}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listProductsInProductSetStream(request, options) { - options = options || {}; - - return this._descriptors.page.listProductsInProductSet.createStream( - this._innerApiCalls.listProductsInProductSet, - request, - options - ); - } - - /** - * Asynchronous API that imports a list of reference images to specified - * product sets based on a list of image information. - * - * The google.longrunning.Operation API can be - * used to keep track of the progress and results of the request. - * `Operation.metadata` contains `BatchOperationMetadata`. (progress) - * `Operation.response` contains `ImportProductSetsResponse`. (results) - * - * The input source of this method is a csv file on Google Cloud Storage. - * For the format of the csv file please see - * ImportProductSetsGcsSource.csv_file_uri. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSets should be imported. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.inputConfig - * Required. The input content for the list of requests. - * - * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('@google-cloud/vision'); - * - * const client = new vision.v1p3beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const inputConfig = {}; - * const request = { - * parent: formattedParent, - * inputConfig: inputConfig, - * }; - * - * // Handle the operation using the promise pattern. - * client.importProductSets(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const inputConfig = {}; - * const request = { - * parent: formattedParent, - * inputConfig: inputConfig, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.importProductSets(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const inputConfig = {}; - * const request = { - * parent: formattedParent, - * inputConfig: inputConfig, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.importProductSets(request); - * - * const [response] = await operation.promise(); - */ - importProductSets(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.importProductSets(request, options, callback); - } - - // -------------------- - // -- Path templates -- - // -------------------- - - /** - * Return a fully-qualified location resource name string. - * - * @param {String} project - * @param {String} location - * @returns {String} - */ - locationPath(project, location) { - return this._pathTemplates.locationPathTemplate.render({ - project: project, - location: location, - }); - } - - /** - * Return a fully-qualified product resource name string. - * - * @param {String} project - * @param {String} location - * @param {String} product - * @returns {String} - */ - productPath(project, location, product) { - return this._pathTemplates.productPathTemplate.render({ - project: project, - location: location, - product: product, - }); - } - - /** - * Return a fully-qualified product_set resource name string. - * - * @param {String} project - * @param {String} location - * @param {String} productSet - * @returns {String} - */ - productSetPath(project, location, productSet) { - return this._pathTemplates.productSetPathTemplate.render({ - project: project, - location: location, - product_set: productSet, - }); - } - - /** - * Return a fully-qualified reference_image resource name string. - * - * @param {String} project - * @param {String} location - * @param {String} product - * @param {String} referenceImage - * @returns {String} - */ - referenceImagePath(project, location, product, referenceImage) { - return this._pathTemplates.referenceImagePathTemplate.render({ - project: project, - location: location, - product: product, - reference_image: referenceImage, - }); - } - - /** - * Parse the locationName from a location resource. - * - * @param {String} locationName - * A fully-qualified path representing a location resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromLocationName(locationName) { - return this._pathTemplates.locationPathTemplate.match(locationName).project; - } - - /** - * Parse the locationName from a location resource. - * - * @param {String} locationName - * A fully-qualified path representing a location resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromLocationName(locationName) { - return this._pathTemplates.locationPathTemplate.match(locationName) - .location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).project; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the product. - */ - matchProductFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).product; - } - - /** - * Parse the productSetName from a product_set resource. - * - * @param {String} productSetName - * A fully-qualified path representing a product_set resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductSetName(productSetName) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) - .project; - } - - /** - * Parse the productSetName from a product_set resource. - * - * @param {String} productSetName - * A fully-qualified path representing a product_set resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductSetName(productSetName) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) - .location; - } - - /** - * Parse the productSetName from a product_set resource. - * - * @param {String} productSetName - * A fully-qualified path representing a product_set resources. - * @returns {String} - A string representing the product_set. - */ - matchProductSetFromProductSetName(productSetName) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) - .product_set; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).project; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).location; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the product. - */ - matchProductFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).product; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the reference_image. - */ - matchReferenceImageFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).reference_image; - } -} - -module.exports = ProductSearchClient; diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts new file mode 100644 index 00000000000..df8f12b2901 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -0,0 +1,2497 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as gax from 'google-gax'; +import { + APICallback, + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, + PaginationCallback, + PaginationResponse, +} from 'google-gax'; +import * as path from 'path'; + +import {Transform} from 'stream'; +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './product_search_client_config.json'; + +const version = require('../../../package.json').version; + +/** + * Manages Products and ProductSets of reference images for use in product + * search. It uses the following resource model: + * + * - The API has a collection of [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] resources, named + * `projects/* /locations/* /productSets/*`, which acts as a way to put different + * products into groups to limit identification. + * + * In parallel, + * + * - The API has a collection of [Product][google.cloud.vision.v1p3beta1.Product] resources, named + * `projects/* /locations/* /products/*` + * + * - Each [Product][google.cloud.vision.v1p3beta1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1p3beta1.ReferenceImage] resources, named + * `projects/* /locations/* /products/* /referenceImages/*` + * @class + * @memberof v1p3beta1 + */ +export class ProductSearchClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _pathTemplates: {[name: string]: gax.PathTemplate}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + productSearchStub: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ProductSearchClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + */ + + constructor(opts?: ClientOptions) { + // Ensure that options include the service address and port. + const staticMembers = this.constructor as typeof ProductSearchClient; + const servicePath = + opts && opts.servicePath + ? opts.servicePath + : opts && opts.apiEndpoint + ? opts.apiEndpoint + : staticMembers.servicePath; + const port = opts && opts.port ? opts.port : staticMembers.port; + + if (!opts) { + opts = {servicePath, port}; + } + opts.servicePath = opts.servicePath || servicePath; + opts.port = opts.port || port; + opts.clientConfig = opts.clientConfig || {}; + + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { + opts.fallback = true; + } + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = (this.constructor as typeof ProductSearchClient).scopes; + const gaxGrpc = new gaxModule.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth as gax.GoogleAuth; + + // Determine the client header string. + const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + ); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this._pathTemplates = { + locationPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + productPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + productSetPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), + referenceImagePathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this._descriptors.page = { + listProductSets: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'productSets' + ), + listProducts: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + listReferenceImages: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'referenceImages' + ), + listProductsInProductSet: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + }; + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = gaxModule + .lro({ + auth: this.auth, + grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); + const importProductSetsResponse = protoFilesRoot.lookup( + '.google.cloud.vision.v1p3beta1.ImportProductSetsResponse' + ) as gax.protobuf.Type; + const importProductSetsMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1p3beta1.BatchOperationMetadata' + ) as gax.protobuf.Type; + + this._descriptors.longrunning = { + importProductSets: new gaxModule.LongrunningDescriptor( + this.operationsClient, + importProductSetsResponse.decode.bind(importProductSetsResponse), + importProductSetsMetadata.decode.bind(importProductSetsMetadata) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p3beta1.ProductSearch', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p3beta1.ProductSearch. + this.productSearchStub = gaxGrpc.createStub( + opts.fallback + ? (protos as protobuf.Root).lookupService( + 'google.cloud.vision.v1p3beta1.ProductSearch' + ) + : // tslint:disable-next-line no-any + (protos as any).google.cloud.vision.v1p3beta1.ProductSearch, + opts + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const productSearchStubMethods = [ + 'createProductSet', + 'listProductSets', + 'getProductSet', + 'updateProductSet', + 'deleteProductSet', + 'createProduct', + 'listProducts', + 'getProduct', + 'updateProduct', + 'deleteProduct', + 'createReferenceImage', + 'deleteReferenceImage', + 'listReferenceImages', + 'getReferenceImage', + 'addProductToProductSet', + 'removeProductFromProductSet', + 'listProductsInProductSet', + 'importProductSets', + ]; + + for (const methodName of productSearchStubMethods) { + const innerCallPromise = this.productSearchStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + return stub[methodName].apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const apiCall = gaxModule.createApiCall( + innerCallPromise, + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] + ); + + this._innerApiCalls[methodName] = ( + argument: {}, + callOptions?: CallOptions, + callback?: APICallback + ) => { + return apiCall(argument, callOptions, callback); + }; + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + createProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + | undefined + ), + {} | undefined + ] + >; + createProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Creates and returns a new ProductSet resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + * 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p3beta1.ProductSet} request.productSet + * Required. The ProductSet to create. + * @param {string} request.productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + createProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.createProductSet(request, options, callback); + } + getProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest + | undefined + ), + {} | undefined + ] + >; + getProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Gets information associated with a ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + getProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.getProductSet(request, options, callback); + } + updateProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + | undefined + ), + {} | undefined + ] + >; + updateProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Makes changes to a ProductSet resource. + * Only display_name can be updated currently. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but + * missing from the request or longer than 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1p3beta1.ProductSet} request.productSet + * Required. The ProductSet resource which replaces the one on the server. + * @param {google.protobuf.FieldMask} request.updateMask + * The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + updateProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product_set.name': request.productSet!.name || '', + }); + return this._innerApiCalls.updateProductSet(request, options, callback); + } + deleteProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + | undefined + ), + {} | undefined + ] + >; + deleteProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Permanently deletes a ProductSet. All Products and ReferenceImages in the + * ProductSet will be deleted. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + deleteProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.deleteProductSet(request, options, callback); + } + createProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + ( + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest + | undefined + ), + {} | undefined + ] + >; + createProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest + | undefined, + {} | undefined + > + ): void; + /** + * Creates and returns a new product resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is missing or invalid. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the Product should be created. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p3beta1.Product} request.product + * Required. The product to create. + * @param {string} request.productId + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + createProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + ( + | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.createProduct(request, options, callback); + } + getProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, + {} | undefined + ] + >; + getProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, + {} | undefined + > + ): void; + /** + * Gets information associated with a Product. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + getProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + | protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.getProduct(request, options, callback); + } + updateProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | undefined + ), + {} | undefined + ] + >; + updateProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | undefined, + {} | undefined + > + ): void; + /** + * Makes changes to a Product resource. + * Only display_name, description and labels can be updated right now. + * + * If labels are updated, the change will not be reflected in queries until + * the next index time. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + * missing from the request or longer than 4096 characters. + * * Returns INVALID_ARGUMENT if description is present in update_mask but is + * longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is present in update_mask. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1p3beta1.Product} request.product + * Required. The Product resource which replaces the one on the server. + * product.name is immutable. + * @param {google.protobuf.FieldMask} request.updateMask + * The [FieldMask][google.protobuf.FieldMask] that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + updateProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product.name': request.product!.name || '', + }); + return this._innerApiCalls.updateProduct(request, options, callback); + } + deleteProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest + | undefined + ), + {} | undefined + ] + >; + deleteProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest + | undefined, + {} | undefined + > + ): void; + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. + * + * Possible errors: + * + * * Returns NOT_FOUND if the product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + deleteProduct( + request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.deleteProduct(request, options, callback); + } + createReferenceImage( + request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + createReferenceImage( + request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | undefined, + {} | undefined + > + ): void; + /** + * Creates and returns a new ReferenceImage resource. + * + * The `bounding_poly` field is optional. If `bounding_poly` is not specified, + * the system will try to detect regions of interest in the image that are + * compatible with the product_category on the parent product. If it is + * specified, detection is ALWAYS skipped. The system converts polygons into + * non-rotated rectangles. + * + * Note that the pipeline will resize the image if the image resolution is too + * large to process (above 50MP). + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if the product does not exist. + * * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + * compatible with the parent product's product_category is detected. + * * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product in which to create the reference image. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {google.cloud.vision.v1p3beta1.ReferenceImage} request.referenceImage + * Required. The reference image to create. + * If an image ID is specified, it is ignored. + * @param {string} request.referenceImageId + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + createReferenceImage( + request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.createReferenceImage(request, options, callback); + } + deleteReferenceImage( + request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + deleteReferenceImage( + request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | undefined, + {} | undefined + > + ): void; + /** + * Permanently deletes a reference image. + * + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the reference image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + deleteReferenceImage( + request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.deleteReferenceImage(request, options, callback); + } + getReferenceImage( + request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + getReferenceImage( + request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | undefined, + {} | undefined + > + ): void; + /** + * Gets information associated with a ReferenceImage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the specified image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + getReferenceImage( + request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.getReferenceImage(request, options, callback); + } + addProductToProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | undefined + ), + {} | undefined + ] + >; + addProductToProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Adds a Product to the specified ProductSet. If the Product is already + * present, no change is made. + * + * One Product can be added to at most 100 ProductSets. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + addProductToProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.addProductToProductSet( + request, + options, + callback + ); + } + removeProductFromProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | undefined + ), + {} | undefined + ] + >; + removeProductFromProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Removes a Product from the specified ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND If the Product is not found under the ProductSet. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + removeProductFromProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.removeProductFromProductSet( + request, + options, + callback + ); + } + + importProductSets( + request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + importProductSets( + request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Asynchronous API that imports a list of reference images to specified + * product sets based on a list of image information. + * + * The [google.longrunning.Operation][google.longrunning.Operation] API can be + * used to keep track of the progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * `Operation.response` contains `ImportProductSetsResponse`. (results) + * + * The input source of this method is a csv file on Google Cloud Storage. + * For the format of the csv file please see + * [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri]. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} request.inputConfig + * Required. The input content for the list of requests. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + importProductSets( + request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.importProductSets(request, options, callback); + } + listProductSets( + request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + ] + >; + listProductSets( + request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + > + ): void; + /** + * Lists ProductSets in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListProductSetsRequest]{@link google.cloud.vision.v1p3beta1.ListProductSetsRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListProductSetsResponse]{@link google.cloud.vision.v1p3beta1.ListProductSetsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listProductSets( + request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.listProductSets(request, options, callback); + } + + /** + * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductSets} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} on 'data' event. + */ + listProductSetsStream( + request?: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listProductSets.createStream( + this._innerApiCalls.listProductSets as gax.GaxCall, + request, + callSettings + ); + } + listProducts( + request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + ] + >; + listProducts( + request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + > + ): void; + /** + * Lists products in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListProductsRequest]{@link google.cloud.vision.v1p3beta1.ListProductsRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListProductsResponse]{@link google.cloud.vision.v1p3beta1.ListProductsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listProducts( + request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.listProducts(request, options, callback); + } + + /** + * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProducts} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. + */ + listProductsStream( + request?: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listProducts.createStream( + this._innerApiCalls.listProducts as gax.GaxCall, + request, + callSettings + ); + } + listReferenceImages( + request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + ] + >; + listReferenceImages( + request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + > + ): void; + /** + * Lists reference images. + * + * Possible errors: + * + * * Returns NOT_FOUND if the parent product does not exist. + * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListReferenceImagesRequest]{@link google.cloud.vision.v1p3beta1.ListReferenceImagesRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListReferenceImagesResponse]{@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listReferenceImages( + request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.listReferenceImages(request, options, callback); + } + + /** + * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listReferenceImages} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} on 'data' event. + */ + listReferenceImagesStream( + request?: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listReferenceImages.createStream( + this._innerApiCalls.listReferenceImages as gax.GaxCall, + request, + callSettings + ); + } + listProductsInProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + ] + >; + listProductsInProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + > + ): void; + /** + * Lists the Products in a ProductSet, in an unspecified order. If the + * ProductSet does not exist, the products field of the response will be + * empty. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListProductsInProductSetRequest]{@link google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listProductsInProductSet( + request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p3beta1.IProduct[], + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.listProductsInProductSet( + request, + options, + callback + ); + } + + /** + * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductsInProductSet} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. + */ + listProductsInProductSetStream( + request?: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listProductsInProductSet.createStream( + this._innerApiCalls.listProductsInProductSet as gax.GaxCall, + request, + callSettings + ); + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project: string, location: string) { + return this._pathTemplates.locationPathTemplate.render({ + project, + location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this._pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this._pathTemplates.locationPathTemplate.match(locationName) + .location; + } + + /** + * Return a fully-qualified product resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @returns {string} Resource name string. + */ + productPath(project: string, location: string, product: string) { + return this._pathTemplates.productPathTemplate.render({ + project, + location, + product, + }); + } + + /** + * Parse the project from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the location from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the product from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the product. + */ + matchProductFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Return a fully-qualified productSet resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product_set + * @returns {string} Resource name string. + */ + productSetPath(project: string, location: string, productSet: string) { + return this._pathTemplates.productSetPathTemplate.render({ + project, + location, + product_set: productSet, + }); + } + + /** + * Parse the project from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .project; + } + + /** + * Parse the location from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .location; + } + + /** + * Parse the product_set from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the product_set. + */ + matchProductSetFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .product_set; + } + + /** + * Return a fully-qualified referenceImage resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @param {string} reference_image + * @returns {string} Resource name string. + */ + referenceImagePath( + project: string, + location: string, + product: string, + referenceImage: string + ) { + return this._pathTemplates.referenceImagePathTemplate.render({ + project, + location, + product, + reference_image: referenceImage, + }); + } + + /** + * Parse the project from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the project. + */ + matchProjectFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).project; + } + + /** + * Parse the location from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the location. + */ + matchLocationFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).location; + } + + /** + * Parse the product from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the product. + */ + matchProductFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).product; + } + + /** + * Parse the reference_image from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the reference_image. + */ + matchReferenceImageFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).reference_image; + } + + /** + * Terminate the GRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + */ + close(): Promise { + if (!this._terminated) { + return this.productSearchStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json b/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json index 03793ddd14c..ddc1e9adf79 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client_config.json @@ -2,111 +2,111 @@ "interfaces": { "google.cloud.vision.v1p3beta1.ProductSearch": { "retry_codes": { + "non_idempotent": [], "idempotent": [ "DEADLINE_EXCEEDED", "UNAVAILABLE" - ], - "non_idempotent": [] + ] }, "retry_params": { "default": { "initial_retry_delay_millis": 100, "retry_delay_multiplier": 1.3, "max_retry_delay_millis": 60000, - "initial_rpc_timeout_millis": 20000, - "rpc_timeout_multiplier": 1.0, - "max_rpc_timeout_millis": 20000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "CreateProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "ListProductSets": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "GetProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "UpdateProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "DeleteProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "CreateProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "ListProducts": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "GetProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "UpdateProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "DeleteProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "CreateReferenceImage": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "DeleteReferenceImage": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "ListReferenceImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "GetReferenceImage": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "AddProductToProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "RemoveProductFromProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "ListProductsInProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "ImportProductSets": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_proto_list.json b/packages/google-cloud-vision/src/v1p3beta1/product_search_proto_list.json index ab47bf6eaf1..f5f413b6000 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_proto_list.json +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_proto_list.json @@ -1,3 +1,8 @@ [ - "../../protos/google/cloud/vision/v1p3beta1/product_search_service.proto" + "../../protos/google/cloud/vision/v1p3beta1/geometry.proto", + "../../protos/google/cloud/vision/v1p3beta1/image_annotator.proto", + "../../protos/google/cloud/vision/v1p3beta1/product_search.proto", + "../../protos/google/cloud/vision/v1p3beta1/product_search_service.proto", + "../../protos/google/cloud/vision/v1p3beta1/text_annotation.proto", + "../../protos/google/cloud/vision/v1p3beta1/web_detection.proto" ] diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js deleted file mode 100644 index d3442409587..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_face.js +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Parameters for a celebrity recognition request. - * - * @property {string[]} celebritySet - * The resource names for one or more - * CelebritySets. A celebrity - * set is preloaded and can be specified as "builtin/default". If this is - * specified, the algorithm will try to match the faces detected in the input - * image to the Celebrities in the CelebritySets. - * - * @typedef FaceRecognitionParams - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.FaceRecognitionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/face.proto} - */ -const FaceRecognitionParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A Celebrity is a group of Faces with an identity. - * - * @property {string} name - * The resource name of the preloaded Celebrity. Has the format - * `builtin/{mid}`. - * - * @property {string} displayName - * The Celebrity's display name. - * - * @property {string} description - * The Celebrity's description. - * - * @typedef Celebrity - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Celebrity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/face.proto} - */ -const Celebrity = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Information about a face's identity. - * - * @property {Object} celebrity - * The Celebrity that this face was - * matched to. - * - * This object should have the same structure as [Celebrity]{@link google.cloud.vision.v1p4beta1.Celebrity} - * - * @property {number} confidence - * Recognition confidence. Range [0, 1]. - * - * @typedef FaceRecognitionResult - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.FaceRecognitionResult definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/face.proto} - */ -const FaceRecognitionResult = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js deleted file mode 100644 index 164e0945fa0..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_geometry.js +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A vertex represents a 2D point in the image. - * NOTE: the vertex coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @typedef Vertex - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Vertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/geometry.proto} - */ -const Vertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A vertex represents a 2D point in the image. - * NOTE: the normalized vertex coordinates are relative to the original image - * and range from 0 to 1. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @typedef NormalizedVertex - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.NormalizedVertex definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/geometry.proto} - */ -const NormalizedVertex = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A bounding polygon for the detected image annotation. - * - * @property {Object[]} vertices - * The bounding polygon vertices. - * - * This object should have the same structure as [Vertex]{@link google.cloud.vision.v1p4beta1.Vertex} - * - * @property {Object[]} normalizedVertices - * The bounding polygon normalized vertices. - * - * This object should have the same structure as [NormalizedVertex]{@link google.cloud.vision.v1p4beta1.NormalizedVertex} - * - * @typedef BoundingPoly - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.BoundingPoly definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/geometry.proto} - */ -const BoundingPoly = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A 3D position in the image, used primarily for Face detection landmarks. - * A valid Position must have both x and y coordinates. - * The position coordinates are in the same scale as the original image. - * - * @property {number} x - * X coordinate. - * - * @property {number} y - * Y coordinate. - * - * @property {number} z - * Z coordinate (or depth). - * - * @typedef Position - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Position definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/geometry.proto} - */ -const Position = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js deleted file mode 100644 index 204b82c7bcf..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_image_annotator.js +++ /dev/null @@ -1,1459 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * The type of Google Cloud Vision API detection to perform, and the maximum - * number of results to return for that type. Multiple `Feature` objects can - * be specified in the `features` list. - * - * @property {number} type - * The feature type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1p4beta1.Type} - * - * @property {number} maxResults - * Maximum number of results of this type. Does not apply to - * `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. - * - * @property {string} model - * Model to use for the feature. - * Supported values: "builtin/stable" (the default if unset) and - * "builtin/latest". - * - * @typedef Feature - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Feature definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const Feature = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of Google Cloud Vision API feature to be extracted. - * - * @enum {number} - * @memberof google.cloud.vision.v1p4beta1 - */ - Type: { - - /** - * Unspecified feature type. - */ - TYPE_UNSPECIFIED: 0, - - /** - * Run face detection. - */ - FACE_DETECTION: 1, - - /** - * Run landmark detection. - */ - LANDMARK_DETECTION: 2, - - /** - * Run logo detection. - */ - LOGO_DETECTION: 3, - - /** - * Run label detection. - */ - LABEL_DETECTION: 4, - - /** - * Run text detection / optical character recognition (OCR). Text detection - * is optimized for areas of text within a larger image; if the image is - * a document, use `DOCUMENT_TEXT_DETECTION` instead. - */ - TEXT_DETECTION: 5, - - /** - * Run dense text document OCR. Takes precedence when both - * `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. - */ - DOCUMENT_TEXT_DETECTION: 11, - - /** - * Run Safe Search to detect potentially unsafe - * or undesirable content. - */ - SAFE_SEARCH_DETECTION: 6, - - /** - * Compute a set of image properties, such as the - * image's dominant colors. - */ - IMAGE_PROPERTIES: 7, - - /** - * Run crop hints. - */ - CROP_HINTS: 9, - - /** - * Run web detection. - */ - WEB_DETECTION: 10, - - /** - * Run Product Search. - */ - PRODUCT_SEARCH: 12, - - /** - * Run localizer for object detection. - */ - OBJECT_LOCALIZATION: 19 - } -}; - -/** - * External image source (Google Cloud Storage or web URL image location). - * - * @property {string} gcsImageUri - * **Use `image_uri` instead.** - * - * The Google Cloud Storage URI of the form - * `gs://bucket_name/object_name`. Object versioning is not supported. See - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris) for more info. - * - * @property {string} imageUri - * The URI of the source image. Can be either: - * - * 1. A Google Cloud Storage URI of the form - * `gs://bucket_name/object_name`. Object versioning is not supported. See - * [Google Cloud Storage Request - * URIs](https://cloud.google.com/storage/docs/reference-uris) for more - * info. - * - * 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from - * HTTP/HTTPS URLs, Google cannot guarantee that the request will be - * completed. Your request may fail if the specified host denies the - * request (e.g. due to request throttling or DOS prevention), or if Google - * throttles requests to the site for abuse prevention. You should not - * depend on externally-hosted images for production applications. - * - * When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes - * precedence. - * - * @typedef ImageSource - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ImageSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const ImageSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Client image to perform Google Cloud Vision API tasks over. - * - * @property {Buffer} content - * Image content, represented as a stream of bytes. - * Note: As with all `bytes` fields, protobuffers use a pure binary - * representation, whereas JSON representations use base64. - * - * @property {Object} source - * Google Cloud Storage image location, or publicly-accessible image - * URL. If both `content` and `source` are provided for an image, `content` - * takes precedence and is used to perform the image annotation request. - * - * This object should have the same structure as [ImageSource]{@link google.cloud.vision.v1p4beta1.ImageSource} - * - * @typedef Image - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const Image = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A face annotation object contains the results of face detection. - * - * @property {Object} boundingPoly - * The bounding polygon around the face. The coordinates of the bounding box - * are in the original image's scale. - * The bounding box is computed to "frame" the face in accordance with human - * expectations. It is based on the landmarker results. - * Note that one or more x and/or y coordinates may not be generated in the - * `BoundingPoly` (the polygon will be unbounded) if only a partial face - * appears in the image to be annotated. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {Object} fdBoundingPoly - * The `fd_bounding_poly` bounding polygon is tighter than the - * `boundingPoly`, and encloses only the skin part of the face. Typically, it - * is used to eliminate the face from any image analysis that detects the - * "amount of skin" visible in an image. It is not based on the - * landmarker results, only on the initial face detection, hence - * the fd (face detection) prefix. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {Object[]} landmarks - * Detected face landmarks. - * - * This object should have the same structure as [Landmark]{@link google.cloud.vision.v1p4beta1.Landmark} - * - * @property {number} rollAngle - * Roll angle, which indicates the amount of clockwise/anti-clockwise rotation - * of the face relative to the image vertical about the axis perpendicular to - * the face. Range [-180,180]. - * - * @property {number} panAngle - * Yaw angle, which indicates the leftward/rightward angle that the face is - * pointing relative to the vertical plane perpendicular to the image. Range - * [-180,180]. - * - * @property {number} tiltAngle - * Pitch angle, which indicates the upwards/downwards angle that the face is - * pointing relative to the image's horizontal plane. Range [-180,180]. - * - * @property {number} detectionConfidence - * Detection confidence. Range [0, 1]. - * - * @property {number} landmarkingConfidence - * Face landmarking confidence. Range [0, 1]. - * - * @property {number} joyLikelihood - * Joy likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} sorrowLikelihood - * Sorrow likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} angerLikelihood - * Anger likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} surpriseLikelihood - * Surprise likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} underExposedLikelihood - * Under-exposed likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} blurredLikelihood - * Blurred likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} headwearLikelihood - * Headwear likelihood. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {Object[]} recognitionResult - * Additional recognition information. Only computed if - * image_context.face_recognition_params is provided, **and** a match is found - * to a Celebrity in the input - * CelebritySet. This field is - * sorted in order of decreasing confidence values. - * - * This object should have the same structure as [FaceRecognitionResult]{@link google.cloud.vision.v1p4beta1.FaceRecognitionResult} - * - * @typedef FaceAnnotation - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.FaceAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const FaceAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * A face-specific landmark (for example, a face feature). - * - * @property {number} type - * Face landmark type. - * - * The number should be among the values of [Type]{@link google.cloud.vision.v1p4beta1.Type} - * - * @property {Object} position - * Face landmark position. - * - * This object should have the same structure as [Position]{@link google.cloud.vision.v1p4beta1.Position} - * - * @typedef Landmark - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ - Landmark: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Face landmark (feature) type. - * Left and right are defined from the vantage of the viewer of the image - * without considering mirror projections typical of photos. So, `LEFT_EYE`, - * typically, is the person's right eye. - * - * @enum {number} - * @memberof google.cloud.vision.v1p4beta1 - */ - Type: { - - /** - * Unknown face landmark detected. Should not be filled. - */ - UNKNOWN_LANDMARK: 0, - - /** - * Left eye. - */ - LEFT_EYE: 1, - - /** - * Right eye. - */ - RIGHT_EYE: 2, - - /** - * Left of left eyebrow. - */ - LEFT_OF_LEFT_EYEBROW: 3, - - /** - * Right of left eyebrow. - */ - RIGHT_OF_LEFT_EYEBROW: 4, - - /** - * Left of right eyebrow. - */ - LEFT_OF_RIGHT_EYEBROW: 5, - - /** - * Right of right eyebrow. - */ - RIGHT_OF_RIGHT_EYEBROW: 6, - - /** - * Midpoint between eyes. - */ - MIDPOINT_BETWEEN_EYES: 7, - - /** - * Nose tip. - */ - NOSE_TIP: 8, - - /** - * Upper lip. - */ - UPPER_LIP: 9, - - /** - * Lower lip. - */ - LOWER_LIP: 10, - - /** - * Mouth left. - */ - MOUTH_LEFT: 11, - - /** - * Mouth right. - */ - MOUTH_RIGHT: 12, - - /** - * Mouth center. - */ - MOUTH_CENTER: 13, - - /** - * Nose, bottom right. - */ - NOSE_BOTTOM_RIGHT: 14, - - /** - * Nose, bottom left. - */ - NOSE_BOTTOM_LEFT: 15, - - /** - * Nose, bottom center. - */ - NOSE_BOTTOM_CENTER: 16, - - /** - * Left eye, top boundary. - */ - LEFT_EYE_TOP_BOUNDARY: 17, - - /** - * Left eye, right corner. - */ - LEFT_EYE_RIGHT_CORNER: 18, - - /** - * Left eye, bottom boundary. - */ - LEFT_EYE_BOTTOM_BOUNDARY: 19, - - /** - * Left eye, left corner. - */ - LEFT_EYE_LEFT_CORNER: 20, - - /** - * Right eye, top boundary. - */ - RIGHT_EYE_TOP_BOUNDARY: 21, - - /** - * Right eye, right corner. - */ - RIGHT_EYE_RIGHT_CORNER: 22, - - /** - * Right eye, bottom boundary. - */ - RIGHT_EYE_BOTTOM_BOUNDARY: 23, - - /** - * Right eye, left corner. - */ - RIGHT_EYE_LEFT_CORNER: 24, - - /** - * Left eyebrow, upper midpoint. - */ - LEFT_EYEBROW_UPPER_MIDPOINT: 25, - - /** - * Right eyebrow, upper midpoint. - */ - RIGHT_EYEBROW_UPPER_MIDPOINT: 26, - - /** - * Left ear tragion. - */ - LEFT_EAR_TRAGION: 27, - - /** - * Right ear tragion. - */ - RIGHT_EAR_TRAGION: 28, - - /** - * Left eye pupil. - */ - LEFT_EYE_PUPIL: 29, - - /** - * Right eye pupil. - */ - RIGHT_EYE_PUPIL: 30, - - /** - * Forehead glabella. - */ - FOREHEAD_GLABELLA: 31, - - /** - * Chin gnathion. - */ - CHIN_GNATHION: 32, - - /** - * Chin left gonion. - */ - CHIN_LEFT_GONION: 33, - - /** - * Chin right gonion. - */ - CHIN_RIGHT_GONION: 34 - } - } -}; - -/** - * Detected entity location information. - * - * @property {Object} latLng - * lat/long location coordinates. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LocationInfo - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.LocationInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const LocationInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A `Property` consists of a user-supplied name/value pair. - * - * @property {string} name - * Name of the property. - * - * @property {string} value - * Value of the property. - * - * @property {number} uint64Value - * Value of numeric properties. - * - * @typedef Property - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Property definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const Property = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of detected entity features. - * - * @property {string} mid - * Opaque entity ID. Some IDs may be available in - * [Google Knowledge Graph Search - * API](https://developers.google.com/knowledge-graph/). - * - * @property {string} locale - * The language code for the locale in which the entity textual - * `description` is expressed. - * - * @property {string} description - * Entity textual description, expressed in its `locale` language. - * - * @property {number} score - * Overall score of the result. Range [0, 1]. - * - * @property {number} confidence - * **Deprecated. Use `score` instead.** - * The accuracy of the entity detection in an image. - * For example, for an image in which the "Eiffel Tower" entity is detected, - * this field represents the confidence that there is a tower in the query - * image. Range [0, 1]. - * - * @property {number} topicality - * The relevancy of the ICA (Image Content Annotation) label to the - * image. For example, the relevancy of "tower" is likely higher to an image - * containing the detected "Eiffel Tower" than to an image containing a - * detected distant towering building, even though the confidence that - * there is a tower in each image may be the same. Range [0, 1]. - * - * @property {Object} boundingPoly - * Image region to which this entity belongs. Not produced - * for `LABEL_DETECTION` features. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {Object[]} locations - * The location information for the detected entity. Multiple - * `LocationInfo` elements can be present because one location may - * indicate the location of the scene in the image, and another location - * may indicate the location of the place where the image was taken. - * Location information is usually present for landmarks. - * - * This object should have the same structure as [LocationInfo]{@link google.cloud.vision.v1p4beta1.LocationInfo} - * - * @property {Object[]} properties - * Some entities may have optional user-supplied `Property` (name/value) - * fields, such a score or string that qualifies the entity. - * - * This object should have the same structure as [Property]{@link google.cloud.vision.v1p4beta1.Property} - * - * @typedef EntityAnnotation - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.EntityAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const EntityAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of detected objects with bounding boxes. - * - * @property {string} mid - * Object ID that should align with EntityAnnotation mid. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {string} name - * Object name, expressed in its `language_code` language. - * - * @property {number} score - * Score of the result. Range [0, 1]. - * - * @property {Object} boundingPoly - * Image region to which this object belongs. This must be populated. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @typedef LocalizedObjectAnnotation - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const LocalizedObjectAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of features pertaining to the image, computed by computer vision - * methods over safe-search verticals (for example, adult, spoof, medical, - * violence). - * - * @property {number} adult - * Represents the adult content likelihood for the image. Adult content may - * contain elements such as nudity, pornographic images or cartoons, or - * sexual activities. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} spoof - * Spoof likelihood. The likelihood that an modification - * was made to the image's canonical version to make it appear - * funny or offensive. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} medical - * Likelihood that this is a medical image. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} violence - * Likelihood that this image contains violent content. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @property {number} racy - * Likelihood that the request image contains racy content. Racy content may - * include (but is not limited to) skimpy or sheer clothing, strategically - * covered nudity, lewd or provocative poses, or close-ups of sensitive - * body areas. - * - * The number should be among the values of [Likelihood]{@link google.cloud.vision.v1p4beta1.Likelihood} - * - * @typedef SafeSearchAnnotation - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.SafeSearchAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const SafeSearchAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Rectangle determined by min and max `LatLng` pairs. - * - * @property {Object} minLatLng - * Min lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @property {Object} maxLatLng - * Max lat/long pair. - * - * This object should have the same structure as [LatLng]{@link google.type.LatLng} - * - * @typedef LatLongRect - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.LatLongRect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const LatLongRect = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Color information consists of RGB channels, score, and the fraction of - * the image that the color occupies in the image. - * - * @property {Object} color - * RGB components of the color. - * - * This object should have the same structure as [Color]{@link google.type.Color} - * - * @property {number} score - * Image-specific score for this color. Value in range [0, 1]. - * - * @property {number} pixelFraction - * The fraction of pixels the color occupies in the image. - * Value in range [0, 1]. - * - * @typedef ColorInfo - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ColorInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const ColorInfo = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of dominant colors and their corresponding scores. - * - * @property {Object[]} colors - * RGB color values with their score and pixel fraction. - * - * This object should have the same structure as [ColorInfo]{@link google.cloud.vision.v1p4beta1.ColorInfo} - * - * @typedef DominantColorsAnnotation - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.DominantColorsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const DominantColorsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Stores image properties, such as dominant colors. - * - * @property {Object} dominantColors - * If present, dominant colors completed successfully. - * - * This object should have the same structure as [DominantColorsAnnotation]{@link google.cloud.vision.v1p4beta1.DominantColorsAnnotation} - * - * @typedef ImageProperties - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ImageProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const ImageProperties = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Single crop hint that is used to generate a new crop when serving an image. - * - * @property {Object} boundingPoly - * The bounding polygon for the crop region. The coordinates of the bounding - * box are in the original image's scale. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {number} confidence - * Confidence of this being a salient region. Range [0, 1]. - * - * @property {number} importanceFraction - * Fraction of importance of this salient region with respect to the original - * image. - * - * @typedef CropHint - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.CropHint definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const CropHint = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Set of crop hints that are used to generate new crops when serving images. - * - * @property {Object[]} cropHints - * Crop hint results. - * - * This object should have the same structure as [CropHint]{@link google.cloud.vision.v1p4beta1.CropHint} - * - * @typedef CropHintsAnnotation - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.CropHintsAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const CropHintsAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for crop hints annotation request. - * - * @property {number[]} aspectRatios - * Aspect ratios in floats, representing the ratio of the width to the height - * of the image. For example, if the desired aspect ratio is 4/3, the - * corresponding float value should be 1.33333. If not specified, the - * best possible crop is returned. The number of provided aspect ratios is - * limited to a maximum of 16; any aspect ratios provided after the 16th are - * ignored. - * - * @typedef CropHintsParams - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.CropHintsParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const CropHintsParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Parameters for web detection request. - * - * @property {boolean} includeGeoResults - * Whether to include results derived from the geo information in the image. - * - * @typedef WebDetectionParams - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.WebDetectionParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const WebDetectionParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Image context and/or feature-specific parameters. - * - * @property {Object} latLongRect - * Not used. - * - * This object should have the same structure as [LatLongRect]{@link google.cloud.vision.v1p4beta1.LatLongRect} - * - * @property {string[]} languageHints - * List of languages to use for TEXT_DETECTION. In most cases, an empty value - * yields the best results since it enables automatic language detection. For - * languages based on the Latin alphabet, setting `language_hints` is not - * needed. In rare cases, when the language of the text in the image is known, - * setting a hint will help get better results (although it will be a - * significant hindrance if the hint is wrong). Text detection returns an - * error if one or more of the specified languages is not one of the - * [supported languages](https://cloud.google.com/vision/docs/languages). - * - * @property {Object} cropHintsParams - * Parameters for crop hints annotation request. - * - * This object should have the same structure as [CropHintsParams]{@link google.cloud.vision.v1p4beta1.CropHintsParams} - * - * @property {Object} faceRecognitionParams - * Parameters for face recognition. - * - * This object should have the same structure as [FaceRecognitionParams]{@link google.cloud.vision.v1p4beta1.FaceRecognitionParams} - * - * @property {Object} productSearchParams - * Parameters for product search. - * - * This object should have the same structure as [ProductSearchParams]{@link google.cloud.vision.v1p4beta1.ProductSearchParams} - * - * @property {Object} webDetectionParams - * Parameters for web detection. - * - * This object should have the same structure as [WebDetectionParams]{@link google.cloud.vision.v1p4beta1.WebDetectionParams} - * - * @typedef ImageContext - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ImageContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const ImageContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request for performing Google Cloud Vision API tasks over a user-provided - * image, with user-requested features, and with context information. - * - * @property {Object} image - * The image to be processed. - * - * This object should have the same structure as [Image]{@link google.cloud.vision.v1p4beta1.Image} - * - * @property {Object[]} features - * Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p4beta1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p4beta1.ImageContext} - * - * @typedef AnnotateImageRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AnnotateImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AnnotateImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * If an image was produced from a file (e.g. a PDF), this message gives - * information about the source of that image. - * - * @property {string} uri - * The URI of the file used to produce the image. - * - * @property {number} pageNumber - * If the file was a PDF or TIFF, this field gives the page number within - * the file used to produce the image. - * - * @typedef ImageAnnotationContext - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ImageAnnotationContext definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const ImageAnnotationContext = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an image annotation request. - * - * @property {Object[]} faceAnnotations - * If present, face detection has completed successfully. - * - * This object should have the same structure as [FaceAnnotation]{@link google.cloud.vision.v1p4beta1.FaceAnnotation} - * - * @property {Object[]} landmarkAnnotations - * If present, landmark detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p4beta1.EntityAnnotation} - * - * @property {Object[]} logoAnnotations - * If present, logo detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p4beta1.EntityAnnotation} - * - * @property {Object[]} labelAnnotations - * If present, label detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p4beta1.EntityAnnotation} - * - * @property {Object[]} localizedObjectAnnotations - * If present, localized object detection has completed successfully. - * This will be sorted descending by confidence score. - * - * This object should have the same structure as [LocalizedObjectAnnotation]{@link google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation} - * - * @property {Object[]} textAnnotations - * If present, text (OCR) detection has completed successfully. - * - * This object should have the same structure as [EntityAnnotation]{@link google.cloud.vision.v1p4beta1.EntityAnnotation} - * - * @property {Object} fullTextAnnotation - * If present, text (OCR) detection or document (OCR) text detection has - * completed successfully. - * This annotation provides the structural hierarchy for the OCR detected - * text. - * - * This object should have the same structure as [TextAnnotation]{@link google.cloud.vision.v1p4beta1.TextAnnotation} - * - * @property {Object} safeSearchAnnotation - * If present, safe-search annotation has completed successfully. - * - * This object should have the same structure as [SafeSearchAnnotation]{@link google.cloud.vision.v1p4beta1.SafeSearchAnnotation} - * - * @property {Object} imagePropertiesAnnotation - * If present, image properties were extracted successfully. - * - * This object should have the same structure as [ImageProperties]{@link google.cloud.vision.v1p4beta1.ImageProperties} - * - * @property {Object} cropHintsAnnotation - * If present, crop hints have completed successfully. - * - * This object should have the same structure as [CropHintsAnnotation]{@link google.cloud.vision.v1p4beta1.CropHintsAnnotation} - * - * @property {Object} webDetection - * If present, web detection has completed successfully. - * - * This object should have the same structure as [WebDetection]{@link google.cloud.vision.v1p4beta1.WebDetection} - * - * @property {Object} productSearchResults - * If present, product search has completed successfully. - * - * This object should have the same structure as [ProductSearchResults]{@link google.cloud.vision.v1p4beta1.ProductSearchResults} - * - * @property {Object} error - * If set, represents the error message for the operation. - * Note that filled-in image annotations are guaranteed to be - * correct, even when `error` is set. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @property {Object} context - * If present, contextual information is needed to understand where this image - * comes from. - * - * This object should have the same structure as [ImageAnnotationContext]{@link google.cloud.vision.v1p4beta1.ImageAnnotationContext} - * - * @typedef AnnotateImageResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AnnotateImageResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AnnotateImageResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Multiple image annotation requests are batched into a single service call. - * - * @property {Object[]} requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} - * - * @typedef BatchAnnotateImagesRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const BatchAnnotateImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to a batch image annotation request. - * - * @property {Object[]} responses - * Individual responses to image annotation requests within the batch. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p4beta1.AnnotateImageResponse} - * - * @typedef BatchAnnotateImagesResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const BatchAnnotateImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A request to annotate one single file, e.g. a PDF, TIFF or GIF file. - * - * @property {Object} inputConfig - * Required. Information about the input file. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p4beta1.InputConfig} - * - * @property {Object[]} features - * Required. Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p4beta1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image(s) in the file. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p4beta1.ImageContext} - * - * @property {number[]} pages - * Pages of the file to perform image annotation. - * - * Pages starts from 1, we assume the first page of the file is page 1. - * At most 5 pages are supported per request. Pages can be negative. - * - * Page 1 means the first page. - * Page 2 means the second page. - * Page -1 means the last page. - * Page -2 means the second to the last page. - * - * If the file is GIF instead of PDF or TIFF, page refers to GIF frames. - * - * If this field is empty, by default the service performs image annotation - * for the first 5 pages of the file. - * - * @typedef AnnotateFileRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AnnotateFileRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to a single file annotation request. A file may contain one or more - * images, which individually have their own responses. - * - * @property {Object} inputConfig - * Information about the file for which this response is generated. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p4beta1.InputConfig} - * - * @property {Object[]} responses - * Individual responses to images found within the file. This field will be - * empty if the `error` field is set. - * - * This object should have the same structure as [AnnotateImageResponse]{@link google.cloud.vision.v1p4beta1.AnnotateImageResponse} - * - * @property {number} totalPages - * This field gives the total number of pages in the file. - * - * @property {Object} error - * If set, represents the error message for the failed request. The - * `responses` field will not be set in this case. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef AnnotateFileResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A list of requests to annotate files using the BatchAnnotateFiles API. - * - * @property {Object[]} requests - * Required. The list of file annotation requests. Right now we support only - * one AnnotateFileRequest in BatchAnnotateFilesRequest. - * - * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AnnotateFileRequest} - * - * @typedef BatchAnnotateFilesRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const BatchAnnotateFilesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A list of file annotation responses. - * - * @property {Object[]} responses - * The list of file annotation responses, each response corresponding to each - * AnnotateFileRequest in BatchAnnotateFilesRequest. - * - * This object should have the same structure as [AnnotateFileResponse]{@link google.cloud.vision.v1p4beta1.AnnotateFileResponse} - * - * @typedef BatchAnnotateFilesResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const BatchAnnotateFilesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * An offline file annotation request. - * - * @property {Object} inputConfig - * Required. Information about the input file. - * - * This object should have the same structure as [InputConfig]{@link google.cloud.vision.v1p4beta1.InputConfig} - * - * @property {Object[]} features - * Required. Requested features. - * - * This object should have the same structure as [Feature]{@link google.cloud.vision.v1p4beta1.Feature} - * - * @property {Object} imageContext - * Additional context that may accompany the image(s) in the file. - * - * This object should have the same structure as [ImageContext]{@link google.cloud.vision.v1p4beta1.ImageContext} - * - * @property {Object} outputConfig - * Required. The desired output location and metadata (e.g. format). - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} - * - * @typedef AsyncAnnotateFileRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AsyncAnnotateFileRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The response for a single offline file annotation request. - * - * @property {Object} outputConfig - * The output location and metadata from AsyncAnnotateFileRequest. - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} - * - * @typedef AsyncAnnotateFileResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AsyncAnnotateFileResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request for async image annotation for a list of images. - * - * @property {Object[]} requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} - * - * @property {Object} outputConfig - * Required. The desired output location and metadata (e.g. format). - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} - * - * @typedef AsyncBatchAnnotateImagesRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AsyncBatchAnnotateImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an async batch image annotation request. - * - * @property {Object} outputConfig - * The output location and metadata from AsyncBatchAnnotateImagesRequest. - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} - * - * @typedef AsyncBatchAnnotateImagesResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AsyncBatchAnnotateImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Multiple async file annotation requests are batched into a single service - * call. - * - * @property {Object[]} requests - * Required. Individual async file annotation requests for this batch. - * - * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} - * - * @typedef AsyncBatchAnnotateFilesRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AsyncBatchAnnotateFilesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response to an async batch file annotation request. - * - * @property {Object[]} responses - * The list of file annotation responses, one for each request in - * AsyncBatchAnnotateFilesRequest. - * - * This object should have the same structure as [AsyncAnnotateFileResponse]{@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse} - * - * @typedef AsyncBatchAnnotateFilesResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const AsyncBatchAnnotateFilesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The desired input location and metadata. - * - * @property {Object} gcsSource - * The Google Cloud Storage location to read the input from. - * - * This object should have the same structure as [GcsSource]{@link google.cloud.vision.v1p4beta1.GcsSource} - * - * @property {Buffer} content - * File content, represented as a stream of bytes. - * Note: As with all `bytes` fields, protobuffers use a pure binary - * representation, whereas JSON representations use base64. - * - * Currently, this field only works for BatchAnnotateFiles requests. It does - * not work for AsyncBatchAnnotateFiles requests. - * - * @property {string} mimeType - * The type of the file. Currently only "application/pdf", "image/tiff" and - * "image/gif" are supported. Wildcards are not supported. - * - * @typedef InputConfig - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.InputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const InputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The desired output location and metadata. - * - * @property {Object} gcsDestination - * The Google Cloud Storage location to write the output(s) to. - * - * This object should have the same structure as [GcsDestination]{@link google.cloud.vision.v1p4beta1.GcsDestination} - * - * @property {number} batchSize - * The max number of response protos to put into each output JSON file on - * Google Cloud Storage. - * The valid range is [1, 100]. If not specified, the default value is 20. - * - * For example, for one pdf file with 100 pages, 100 response protos will - * be generated. If `batch_size` = 20, then 5 json files each - * containing 20 response protos will be written under the prefix - * `gcs_destination`.`uri`. - * - * Currently, batch_size only applies to GcsDestination, with potential future - * support for other output configurations. - * - * @typedef OutputConfig - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.OutputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const OutputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location where the input will be read from. - * - * @property {string} uri - * Google Cloud Storage URI for the input file. This must only be a - * Google Cloud Storage object. Wildcards are not currently supported. - * - * @typedef GcsSource - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.GcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const GcsSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location where the output will be written to. - * - * @property {string} uri - * Google Cloud Storage URI prefix where the results will be stored. Results - * will be in JSON format and preceded by its corresponding input URI prefix. - * This field can either represent a gcs file prefix or gcs directory. In - * either case, the uri should be unique because in order to get all of the - * output files, you will need to do a wildcard gcs search on the uri prefix - * you provide. - * - * Examples: - * - * * File Prefix: gs://bucket-name/here/filenameprefix The output files - * will be created in gs://bucket-name/here/ and the names of the - * output files will begin with "filenameprefix". - * - * * Directory Prefix: gs://bucket-name/some/location/ The output files - * will be created in gs://bucket-name/some/location/ and the names of the - * output files could be anything because there was no filename prefix - * specified. - * - * If multiple outputs, each response is still AnnotateFileResponse, each of - * which contains some subset of the full list of AnnotateImageResponse. - * Multiple outputs can happen if, for example, the output JSON is too large - * and overflows into multiple sharded files. - * - * @typedef GcsDestination - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.GcsDestination definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const GcsDestination = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Contains metadata for the BatchAnnotateImages operation. - * - * @property {number} state - * Current state of the batch operation. - * - * The number should be among the values of [State]{@link google.cloud.vision.v1p4beta1.State} - * - * @property {Object} createTime - * The time when the batch request was received. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} updateTime - * The time when the operation result was last updated. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef OperationMetadata - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.OperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/image_annotator.proto} - */ -const OperationMetadata = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Batch operation states. - * - * @enum {number} - * @memberof google.cloud.vision.v1p4beta1 - */ - State: { - - /** - * Invalid. - */ - STATE_UNSPECIFIED: 0, - - /** - * Request is received. - */ - CREATED: 1, - - /** - * Request is actively being processed. - */ - RUNNING: 2, - - /** - * The batch processing is done. - */ - DONE: 3, - - /** - * The batch processing was cancelled. - */ - CANCELLED: 4 - } -}; - -/** - * A bucketized representation of likelihood, which is intended to give clients - * highly stable results across model upgrades. - * - * @enum {number} - * @memberof google.cloud.vision.v1p4beta1 - */ -const Likelihood = { - - /** - * Unknown likelihood. - */ - UNKNOWN: 0, - - /** - * It is very unlikely. - */ - VERY_UNLIKELY: 1, - - /** - * It is unlikely. - */ - UNLIKELY: 2, - - /** - * It is possible. - */ - POSSIBLE: 3, - - /** - * It is likely. - */ - LIKELY: 4, - - /** - * It is very likely. - */ - VERY_LIKELY: 5 -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js deleted file mode 100644 index 07b90589cf8..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search.js +++ /dev/null @@ -1,167 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Parameters for a product search request. - * - * @property {Object} boundingPoly - * The bounding polygon around the area of interest in the image. - * If it is not specified, system discretion will be applied. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {string} productSet - * The resource name of a - * ProductSet to be searched for - * similar images. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. - * - * @property {string[]} productCategories - * The list of product categories to search in. Currently, we only consider - * the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", - * "packagedgoods-v1", or "general-v1" should be specified. The legacy - * categories "homegoods", "apparel", and "toys" are still supported but will - * be deprecated. For new products, please use "homegoods-v2", "apparel-v2", - * or "toys-v2" for better product search accuracy. It is recommended to - * migrate existing products to these categories as well. - * - * @property {string} filter - * The filtering expression. This can be used to restrict search results based - * on Product labels. We currently support an AND of OR of key-value - * expressions, where each expression within an OR must have the same key. An - * '=' should be used to connect the key and value. - * - * For example, "(color = red OR color = blue) AND brand = Google" is - * acceptable, but "(color = red OR brand = Google)" is not acceptable. - * "color: red" is not acceptable because it uses a ':' instead of an '='. - * - * @typedef ProductSearchParams - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ProductSearchParams definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} - */ -const ProductSearchParams = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Results for a product search request. - * - * @property {Object} indexTime - * Timestamp of the index which provided these results. Products added to the - * product set and products removed from the product set after this time are - * not reflected in the current results. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object[]} results - * List of results, one for each product match. - * - * This object should have the same structure as [Result]{@link google.cloud.vision.v1p4beta1.Result} - * - * @property {Object[]} productGroupedResults - * List of results grouped by products detected in the query image. Each entry - * corresponds to one bounding polygon in the query image, and contains the - * matching products specific to that region. There may be duplicate product - * matches in the union of all the per-product results. - * - * This object should have the same structure as [GroupedResult]{@link google.cloud.vision.v1p4beta1.GroupedResult} - * - * @typedef ProductSearchResults - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ProductSearchResults definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} - */ -const ProductSearchResults = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Information about a product. - * - * @property {Object} product - * The Product. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} - * - * @property {number} score - * A confidence level on the match, ranging from 0 (no confidence) to - * 1 (full confidence). - * - * @property {string} image - * The resource name of the image from the product that is the closest match - * to the query. - * - * @typedef Result - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ProductSearchResults.Result definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} - */ - Result: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Prediction for what the object in the bounding box is. - * - * @property {string} mid - * Object ID that should align with EntityAnnotation mid. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {string} name - * Object name, expressed in its `language_code` language. - * - * @property {number} score - * Score of the result. Range [0, 1]. - * - * @typedef ObjectAnnotation - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} - */ - ObjectAnnotation: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Information about the products similar to a single product in a query - * image. - * - * @property {Object} boundingPoly - * The bounding polygon around the product detected in the query image. - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {Object[]} results - * List of results, one for each product match. - * - * This object should have the same structure as [Result]{@link google.cloud.vision.v1p4beta1.Result} - * - * @property {Object[]} objectAnnotations - * List of generic predictions for the object in the bounding box. - * - * This object should have the same structure as [ObjectAnnotation]{@link google.cloud.vision.v1p4beta1.ObjectAnnotation} - * - * @typedef GroupedResult - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search.proto} - */ - GroupedResult: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js deleted file mode 100644 index 0f4e9f933e5..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_product_search_service.js +++ /dev/null @@ -1,888 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A Product contains ReferenceImages. - * - * @property {string} name - * The resource name of the product. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * - * This field is ignored when creating a product. - * - * @property {string} displayName - * The user-provided name for this Product. Must not be empty. Must be at most - * 4096 characters long. - * - * @property {string} description - * User-provided metadata to be stored with this product. Must be at most 4096 - * characters long. - * - * @property {string} productCategory - * Immutable. The category for the product identified by the reference image. - * This should be either "homegoods-v2", "apparel-v2", or "toys-v2". The - * legacy categories "homegoods", "apparel", and "toys" are still supported, - * but these should not be used for new products. - * - * @property {Object[]} productLabels - * Key-value pairs that can be attached to a product. At query time, - * constraints can be specified based on the product_labels. - * - * Note that integer values can be provided as strings, e.g. "1199". Only - * strings with integer values can match a range-based restriction which is - * to be supported soon. - * - * Multiple values can be assigned to the same key. One product may have up to - * 500 product_labels. - * - * Notice that the total number of distinct product_labels over all products - * in one ProductSet cannot exceed 1M, otherwise the product search pipeline - * will refuse to work for that ProductSet. - * - * This object should have the same structure as [KeyValue]{@link google.cloud.vision.v1p4beta1.KeyValue} - * - * @typedef Product - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Product definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const Product = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * A product label represented as a key-value pair. - * - * @property {string} key - * The key of the label attached to the product. Cannot be empty and cannot - * exceed 128 bytes. - * - * @property {string} value - * The value of the label attached to the product. Cannot be empty and - * cannot exceed 128 bytes. - * - * @typedef KeyValue - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Product.KeyValue definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ - KeyValue: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * A ProductSet contains Products. A ProductSet can contain a maximum of 1 - * million reference images. If the limit is exceeded, periodic indexing will - * fail. - * - * @property {string} name - * The resource name of the ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. - * - * This field is ignored when creating a ProductSet. - * - * @property {string} displayName - * The user-provided name for this ProductSet. Must not be empty. Must be at - * most 4096 characters long. - * - * @property {Object} indexTime - * Output only. The time at which this ProductSet was last indexed. Query - * results will reflect all updates before this time. If this ProductSet has - * never been indexed, this timestamp is the default value - * "1970-01-01T00:00:00Z". - * - * This field is ignored when creating a ProductSet. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} indexError - * Output only. If there was an error with indexing the product set, the field - * is populated. - * - * This field is ignored when creating a ProductSet. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef ProductSet - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ProductSet definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ProductSet = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A `ReferenceImage` represents a product image and its associated metadata, - * such as bounding boxes. - * - * @property {string} name - * The resource name of the reference image. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * - * This field is ignored when creating a reference image. - * - * @property {string} uri - * Required. The Google Cloud Storage URI of the reference image. - * - * The URI must start with `gs://`. - * - * @property {Object[]} boundingPolys - * Optional. Bounding polygons around the areas of interest in the reference - * image. If this field is empty, the system will try to detect regions of - * interest. At most 10 bounding polygons will be used. - * - * The provided shape is converted into a non-rotated rectangle. Once - * converted, the small edge of the rectangle must be greater than or equal - * to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 - * is not). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @typedef ReferenceImage - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ReferenceImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ReferenceImage = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `CreateProduct` method. - * - * @property {string} parent - * Required. The project in which the Product should be created. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {Object} product - * Required. The product to create. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} - * - * @property {string} productId - * A user-supplied resource id for this Product. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * - * @typedef CreateProductRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.CreateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const CreateProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListProducts` method. - * - * @property {string} parent - * Required. The project OR ProductSet from which Products should be listed. - * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListProductsRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ListProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ListProductsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListProducts` method. - * - * @property {Object[]} products - * List of products. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} - * - * @property {string} nextPageToken - * Token to retrieve the next page of results, or empty if there are no more - * results in the list. - * - * @typedef ListProductsResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ListProductsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ListProductsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `GetProduct` method. - * - * @property {string} name - * Required. Resource name of the Product to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef GetProductRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.GetProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const GetProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `UpdateProduct` method. - * - * @property {Object} product - * Required. The Product resource which replaces the one on the server. - * product.name is immutable. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} - * - * @property {Object} updateMask - * The FieldMask that specifies which fields - * to update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask paths include `product_labels`, `display_name`, and - * `description`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * - * @typedef UpdateProductRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.UpdateProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const UpdateProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `DeleteProduct` method. - * - * @property {string} name - * Required. Resource name of product to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef DeleteProductRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.DeleteProductRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const DeleteProductRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `CreateProductSet` method. - * - * @property {string} parent - * Required. The project in which the ProductSet should be created. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {Object} productSet - * Required. The ProductSet to create. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} - * - * @property {string} productSetId - * A user-supplied resource id for this ProductSet. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * - * @typedef CreateProductSetRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.CreateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const CreateProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListProductSets` method. - * - * @property {string} parent - * Required. The project from which ProductSets should be listed. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListProductSetsRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ListProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ListProductSetsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListProductSets` method. - * - * @property {Object[]} productSets - * List of ProductSets. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} - * - * @property {string} nextPageToken - * Token to retrieve the next page of results, or empty if there are no more - * results in the list. - * - * @typedef ListProductSetsResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ListProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ListProductSetsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `GetProductSet` method. - * - * @property {string} name - * Required. Resource name of the ProductSet to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @typedef GetProductSetRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.GetProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const GetProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `UpdateProductSet` method. - * - * @property {Object} productSet - * Required. The ProductSet resource which replaces the one on the server. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} - * - * @property {Object} updateMask - * The FieldMask that specifies which fields to - * update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask path is `display_name`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * - * @typedef UpdateProductSetRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.UpdateProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const UpdateProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `DeleteProductSet` method. - * - * @property {string} name - * Required. Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @typedef DeleteProductSetRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.DeleteProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const DeleteProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `CreateReferenceImage` method. - * - * @property {string} parent - * Required. Resource name of the product in which to create the reference - * image. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * - * @property {Object} referenceImage - * Required. The reference image to create. - * If an image ID is specified, it is ignored. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} - * - * @property {string} referenceImageId - * A user-supplied resource id for the ReferenceImage to be added. If set, - * the server will attempt to use this value as the resource id. If it is - * already in use, an error is returned with code ALREADY_EXISTS. Must be at - * most 128 characters long. It cannot contain the character `/`. - * - * @typedef CreateReferenceImageRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.CreateReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const CreateReferenceImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListReferenceImages` method. - * - * @property {string} parent - * Required. Resource name of the product containing the reference images. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * A token identifying a page of results to be returned. This is the value - * of `nextPageToken` returned in a previous reference image list request. - * - * Defaults to the first page if not specified. - * - * @typedef ListReferenceImagesRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ListReferenceImagesRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ListReferenceImagesRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListReferenceImages` method. - * - * @property {Object[]} referenceImages - * The list of reference images. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} nextPageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListReferenceImagesResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ListReferenceImagesResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ListReferenceImagesResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `GetReferenceImage` method. - * - * @property {string} name - * Required. The resource name of the ReferenceImage to get. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * - * @typedef GetReferenceImageRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.GetReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const GetReferenceImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `DeleteReferenceImage` method. - * - * @property {string} name - * Required. The resource name of the reference image to delete. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - * - * @typedef DeleteReferenceImageRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const DeleteReferenceImageRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `AddProductToProductSet` method. - * - * @property {string} name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @property {string} product - * Required. The resource name for the Product to be added to this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef AddProductToProductSetRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.AddProductToProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const AddProductToProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `RemoveProductFromProductSet` method. - * - * @property {string} name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @property {string} product - * Required. The resource name for the Product to be removed from this - * ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * - * @typedef RemoveProductFromProductSetRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const RemoveProductFromProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ListProductsInProductSet` method. - * - * @property {string} name - * Required. The ProductSet resource for which to retrieve Products. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * - * @property {number} pageSize - * The maximum number of items to return. Default 10, maximum 100. - * - * @property {string} pageToken - * The next_page_token returned from a previous List request, if any. - * - * @typedef ListProductsInProductSetRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ListProductsInProductSetRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ListProductsInProductSet` method. - * - * @property {Object[]} products - * The list of Products. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} - * - * @property {string} nextPageToken - * Token to retrieve the next page of results, or empty if there are no more - * results in the list. - * - * @typedef ListProductsInProductSetResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ListProductsInProductSetResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The Google Cloud Storage location for a csv file which preserves a list of - * ImportProductSetRequests in each line. - * - * @property {string} csvFileUri - * The Google Cloud Storage URI of the input csv file. - * - * The URI must start with `gs://`. - * - * The format of the input csv file should be one image per line. - * In each line, there are 8 columns. - * - * 1. image-uri - * 2. image-id - * 3. product-set-id - * 4. product-id - * 5. product-category - * 6. product-display-name - * 7. labels - * 8. bounding-poly - * - * The `image-uri`, `product-set-id`, `product-id`, and `product-category` - * columns are required. All other columns are optional. - * - * If the `ProductSet` or `Product` specified by the `product-set-id` and - * `product-id` values does not exist, then the system will create a new - * `ProductSet` or `Product` for the image. In this case, the - * `product-display-name` column refers to - * display_name, the - * `product-category` column refers to - * product_category, - * and the `labels` column refers to - * product_labels. - * - * The `image-id` column is optional but must be unique if provided. If it is - * empty, the system will automatically assign a unique id to the image. - * - * The `product-display-name` column is optional. If it is empty, the system - * sets the display_name - * field for the product to a space (" "). You can update the `display_name` - * later by using the API. - * - * If a `Product` with the specified `product-id` already exists, then the - * system ignores the `product-display-name`, `product-category`, and `labels` - * columns. - * - * The `labels` column (optional) is a line containing a list of - * comma-separated key-value pairs, in the following format: - * - * "key_1=value_1,key_2=value_2,...,key_n=value_n" - * - * The `bounding-poly` column (optional) identifies one region of - * interest from the image in the same manner as `CreateReferenceImage`. If - * you do not specify the `bounding-poly` column, then the system will try to - * detect regions of interest automatically. - * - * At most one `bounding-poly` column is allowed per line. If the image - * contains multiple regions of interest, add a line to the CSV file that - * includes the same product information, and the `bounding-poly` values for - * each region of interest. - * - * The `bounding-poly` column must contain an even number of comma-separated - * numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Use - * non-negative integers for absolute bounding polygons, and float values - * in [0, 1] for normalized bounding polygons. - * - * The system will resize the image if the image resolution is too - * large to process (larger than 20MP). - * - * @typedef ImportProductSetsGcsSource - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ImportProductSetsGcsSource = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * The input content for the `ImportProductSets` method. - * - * @property {Object} gcsSource - * The Google Cloud Storage location for a csv file which preserves a list - * of ImportProductSetRequests in each line. - * - * This object should have the same structure as [ImportProductSetsGcsSource]{@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource} - * - * @typedef ImportProductSetsInputConfig - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ImportProductSetsInputConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `ImportProductSets` method. - * - * @property {string} parent - * Required. The project in which the ProductSets should be imported. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {Object} inputConfig - * Required. The input content for the list of requests. - * - * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} - * - * @typedef ImportProductSetsRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ImportProductSetsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ImportProductSetsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Response message for the `ImportProductSets` method. - * - * This message is returned by the - * google.longrunning.Operations.GetOperation - * method in the returned - * google.longrunning.Operation.response - * field. - * - * @property {Object[]} referenceImages - * The list of reference_images that are imported successfully. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} - * - * @property {Object[]} statuses - * The rpc status for each ImportProductSet request, including both successes - * and errors. - * - * The number of statuses here matches the number of lines in the csv file, - * and statuses[i] stores the success or failure status of processing the i-th - * line of the csv, starting from line 0. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @typedef ImportProductSetsResponse - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ImportProductSetsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ImportProductSetsResponse = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Metadata for the batch operations such as the current state. - * - * This is included in the `metadata` field of the `Operation` returned by the - * `GetOperation` call of the `google::longrunning::Operations` service. - * - * @property {number} state - * The current state of the batch operation. - * - * The number should be among the values of [State]{@link google.cloud.vision.v1p4beta1.State} - * - * @property {Object} submitTime - * The time when the batch request was submitted to the server. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @property {Object} endTime - * The time when the batch request is finished and - * google.longrunning.Operation.done is - * set to true. - * - * This object should have the same structure as [Timestamp]{@link google.protobuf.Timestamp} - * - * @typedef BatchOperationMetadata - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.BatchOperationMetadata definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const BatchOperationMetadata = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Enumerates the possible states that the batch request can be in. - * - * @enum {number} - * @memberof google.cloud.vision.v1p4beta1 - */ - State: { - - /** - * Invalid. - */ - STATE_UNSPECIFIED: 0, - - /** - * Request is actively being processed. - */ - PROCESSING: 1, - - /** - * The request is done and at least one item has been successfully - * processed. - */ - SUCCESSFUL: 2, - - /** - * The request is done and no item has been successfully processed. - */ - FAILED: 3, - - /** - * The request is done after the longrunning.Operations.CancelOperation has - * been called by the user. Any records that were processed before the - * cancel command are output as specified in the request. - */ - CANCELLED: 4 - } -}; - -/** - * Config to control which ProductSet contains the Products to be deleted. - * - * @property {string} productSetId - * The ProductSet that contains the Products to delete. If a Product is a - * member of product_set_id in addition to other ProductSets, the Product will - * still be deleted. - * - * @typedef ProductSetPurgeConfig - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.ProductSetPurgeConfig definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const ProductSetPurgeConfig = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Request message for the `PurgeProducts` method. - * - * @property {Object} productSetPurgeConfig - * Specify which ProductSet contains the Products to be deleted. - * - * This object should have the same structure as [ProductSetPurgeConfig]{@link google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} - * - * @property {boolean} deleteOrphanProducts - * If delete_orphan_products is true, all Products that are not in any - * ProductSet will be deleted. - * - * @property {string} parent - * Required. The project and location in which the Products should be deleted. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * - * @property {boolean} force - * The default value is false. Override this value to true to actually perform - * the purge. - * - * @typedef PurgeProductsRequest - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.PurgeProductsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/product_search_service.proto} - */ -const PurgeProductsRequest = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js deleted file mode 100644 index 37e9eddea9b..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_text_annotation.js +++ /dev/null @@ -1,393 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * TextAnnotation contains a structured representation of OCR extracted text. - * The hierarchy of an OCR extracted text structure is like this: - * TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol - * Each structural component, starting from Page, may further have their own - * properties. Properties describe detected languages, breaks etc.. Please refer - * to the - * TextAnnotation.TextProperty - * message definition below for more detail. - * - * @property {Object[]} pages - * List of pages detected by OCR. - * - * This object should have the same structure as [Page]{@link google.cloud.vision.v1p4beta1.Page} - * - * @property {string} text - * UTF-8 text detected on the pages. - * - * @typedef TextAnnotation - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.TextAnnotation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} - */ -const TextAnnotation = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Detected language for a structural component. - * - * @property {string} languageCode - * The BCP-47 language code, such as "en-US" or "sr-Latn". For more - * information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @property {number} confidence - * Confidence of detected language. Range [0, 1]. - * - * @typedef DetectedLanguage - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} - */ - DetectedLanguage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Detected start or end of a structural component. - * - * @property {number} type - * Detected break type. - * - * The number should be among the values of [BreakType]{@link google.cloud.vision.v1p4beta1.BreakType} - * - * @property {boolean} isPrefix - * True if break prepends the element. - * - * @typedef DetectedBreak - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} - */ - DetectedBreak: { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Enum to denote the type of break found. New line, space etc. - * - * @enum {number} - * @memberof google.cloud.vision.v1p4beta1 - */ - BreakType: { - - /** - * Unknown break label type. - */ - UNKNOWN: 0, - - /** - * Regular space. - */ - SPACE: 1, - - /** - * Sure space (very wide). - */ - SURE_SPACE: 2, - - /** - * Line-wrapping break. - */ - EOL_SURE_SPACE: 3, - - /** - * End-line hyphen that is not present in text; does not co-occur with - * `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. - */ - HYPHEN: 4, - - /** - * Line break that ends a paragraph. - */ - LINE_BREAK: 5 - } - }, - - /** - * Additional information detected on the structural component. - * - * @property {Object[]} detectedLanguages - * A list of detected languages together with confidence. - * - * This object should have the same structure as [DetectedLanguage]{@link google.cloud.vision.v1p4beta1.DetectedLanguage} - * - * @property {Object} detectedBreak - * Detected start or end of a text segment. - * - * This object should have the same structure as [DetectedBreak]{@link google.cloud.vision.v1p4beta1.DetectedBreak} - * - * @typedef TextProperty - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} - */ - TextProperty: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; - -/** - * Detected page from OCR. - * - * @property {Object} property - * Additional information detected on the page. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} - * - * @property {number} width - * Page width. For PDFs the unit is points. For images (including - * TIFFs) the unit is pixels. - * - * @property {number} height - * Page height. For PDFs the unit is points. For images (including - * TIFFs) the unit is pixels. - * - * @property {Object[]} blocks - * List of blocks of text, images etc on this page. - * - * This object should have the same structure as [Block]{@link google.cloud.vision.v1p4beta1.Block} - * - * @property {number} confidence - * Confidence of the OCR results on the page. Range [0, 1]. - * - * @typedef Page - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Page definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} - */ -const Page = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * Logical element on the page. - * - * @property {Object} property - * Additional information detected for the block. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the block. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * - * * when the text is horizontal it might look like: - * - * 0----1 - * | | - * 3----2 - * - * * when it's rotated 180 degrees around the top-left corner it becomes: - * - * 2----3 - * | | - * 1----0 - * - * and the vertex order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {Object[]} paragraphs - * List of paragraphs in this block (if this blocks is of type text). - * - * This object should have the same structure as [Paragraph]{@link google.cloud.vision.v1p4beta1.Paragraph} - * - * @property {number} blockType - * Detected block type (text, image etc) for this block. - * - * The number should be among the values of [BlockType]{@link google.cloud.vision.v1p4beta1.BlockType} - * - * @property {number} confidence - * Confidence of the OCR results on the block. Range [0, 1]. - * - * @typedef Block - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Block definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} - */ -const Block = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Type of a block (text, image etc) as identified by OCR. - * - * @enum {number} - * @memberof google.cloud.vision.v1p4beta1 - */ - BlockType: { - - /** - * Unknown block type. - */ - UNKNOWN: 0, - - /** - * Regular text block. - */ - TEXT: 1, - - /** - * Table block. - */ - TABLE: 2, - - /** - * Image block. - */ - PICTURE: 3, - - /** - * Horizontal/vertical line box. - */ - RULER: 4, - - /** - * Barcode block. - */ - BARCODE: 5 - } -}; - -/** - * Structural unit of text representing a number of words in certain order. - * - * @property {Object} property - * Additional information detected for the paragraph. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the paragraph. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertex order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {Object[]} words - * List of all words in this paragraph. - * - * This object should have the same structure as [Word]{@link google.cloud.vision.v1p4beta1.Word} - * - * @property {number} confidence - * Confidence of the OCR results for the paragraph. Range [0, 1]. - * - * @typedef Paragraph - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Paragraph definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} - */ -const Paragraph = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A word representation. - * - * @property {Object} property - * Additional information detected for the word. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the word. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertex order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {Object[]} symbols - * List of symbols in the word. - * The order of the symbols follows the natural reading order. - * - * This object should have the same structure as [Symbol]{@link google.cloud.vision.v1p4beta1.Symbol} - * - * @property {number} confidence - * Confidence of the OCR results for the word. Range [0, 1]. - * - * @typedef Word - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Word definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} - */ -const Word = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; - -/** - * A single symbol representation. - * - * @property {Object} property - * Additional information detected for the symbol. - * - * This object should have the same structure as [TextProperty]{@link google.cloud.vision.v1p4beta1.TextProperty} - * - * @property {Object} boundingBox - * The bounding box for the symbol. - * The vertices are in the order of top-left, top-right, bottom-right, - * bottom-left. When a rotation of the bounding box is detected the rotation - * is represented as around the top-left corner as defined when the text is - * read in the 'natural' orientation. - * For example: - * * when the text is horizontal it might look like: - * 0----1 - * | | - * 3----2 - * * when it's rotated 180 degrees around the top-left corner it becomes: - * 2----3 - * | | - * 1----0 - * and the vertex order will still be (0, 1, 2, 3). - * - * This object should have the same structure as [BoundingPoly]{@link google.cloud.vision.v1p4beta1.BoundingPoly} - * - * @property {string} text - * The actual UTF-8 representation of the symbol. - * - * @property {number} confidence - * Confidence of the OCR results for the symbol. Range [0, 1]. - * - * @typedef Symbol - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.Symbol definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/text_annotation.proto} - */ -const Symbol = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js deleted file mode 100644 index 99d6f54b913..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/cloud/vision/v1p4beta1/doc_web_detection.js +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Relevant information for the image from the Internet. - * - * @property {Object[]} webEntities - * Deduced entities from similar images on the Internet. - * - * This object should have the same structure as [WebEntity]{@link google.cloud.vision.v1p4beta1.WebEntity} - * - * @property {Object[]} fullMatchingImages - * Fully matching images from the Internet. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images from the Internet. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} - * - * @property {Object[]} pagesWithMatchingImages - * Web pages containing the matching images from the Internet. - * - * This object should have the same structure as [WebPage]{@link google.cloud.vision.v1p4beta1.WebPage} - * - * @property {Object[]} visuallySimilarImages - * The visually similar image results. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} - * - * @property {Object[]} bestGuessLabels - * The service's best guess as to the topic of the request image. - * Inferred from similar images on the open web. - * - * This object should have the same structure as [WebLabel]{@link google.cloud.vision.v1p4beta1.WebLabel} - * - * @typedef WebDetection - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.WebDetection definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} - */ -const WebDetection = { - // This is for documentation. Actual contents will be loaded by gRPC. - - /** - * Entity deduced from similar images on the Internet. - * - * @property {string} entityId - * Opaque entity ID. - * - * @property {number} score - * Overall relevancy score for the entity. - * Not normalized and not comparable across different image queries. - * - * @property {string} description - * Canonical description of the entity, in English. - * - * @typedef WebEntity - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.WebDetection.WebEntity definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} - */ - WebEntity: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for online images. - * - * @property {string} url - * The result image URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the image. - * - * @typedef WebImage - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.WebDetection.WebImage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} - */ - WebImage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Metadata for web pages. - * - * @property {string} url - * The result web page URL. - * - * @property {number} score - * (Deprecated) Overall relevancy score for the web page. - * - * @property {string} pageTitle - * Title for the web page, may contain HTML markups. - * - * @property {Object[]} fullMatchingImages - * Fully matching images on the page. - * Can include resized copies of the query image. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} - * - * @property {Object[]} partialMatchingImages - * Partial matching images on the page. - * Those images are similar enough to share some key-point features. For - * example an original image will likely have partial matching for its - * crops. - * - * This object should have the same structure as [WebImage]{@link google.cloud.vision.v1p4beta1.WebImage} - * - * @typedef WebPage - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.WebDetection.WebPage definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} - */ - WebPage: { - // This is for documentation. Actual contents will be loaded by gRPC. - }, - - /** - * Label to provide extra metadata for the web detection. - * - * @property {string} label - * Label for extra metadata. - * - * @property {string} languageCode - * The BCP-47 language code for `label`, such as "en-US" or "sr-Latn". - * For more information, see - * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. - * - * @typedef WebLabel - * @memberof google.cloud.vision.v1p4beta1 - * @see [google.cloud.vision.v1p4beta1.WebDetection.WebLabel definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/vision/v1p4beta1/web_detection.proto} - */ - WebLabel: { - // This is for documentation. Actual contents will be loaded by gRPC. - } -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js deleted file mode 100644 index 099e418d620..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/longrunning/doc_operations.js +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * This resource represents a long-running operation that is the result of a - * network API call. - * - * @property {string} name - * The server-assigned name, which is only unique within the same service that - * originally returns it. If you use the default HTTP mapping, the - * `name` should be a resource name ending with `operations/{unique_id}`. - * - * @property {Object} metadata - * Service-specific metadata associated with the operation. It typically - * contains progress information and common metadata such as create time. - * Some services might not provide such metadata. Any method that returns a - * long-running operation should document the metadata type, if any. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @property {boolean} done - * If the value is `false`, it means the operation is still in progress. - * If `true`, the operation is completed, and either `error` or `response` is - * available. - * - * @property {Object} error - * The error result of the operation in case of failure or cancellation. - * - * This object should have the same structure as [Status]{@link google.rpc.Status} - * - * @property {Object} response - * The normal response of the operation in case of success. If the original - * method returns no data on success, such as `Delete`, the response is - * `google.protobuf.Empty`. If the original method is standard - * `Get`/`Create`/`Update`, the response should be the resource. For other - * methods, the response should have the type `XxxResponse`, where `Xxx` - * is the original method name. For example, if the original method name - * is `TakeSnapshot()`, the inferred response type is - * `TakeSnapshotResponse`. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @typedef Operation - * @memberof google.longrunning - * @see [google.longrunning.Operation definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto} - */ -const Operation = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js deleted file mode 100644 index 813682aa336..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_any.js +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * `Any` contains an arbitrary serialized protocol buffer message along with a - * URL that describes the type of the serialized message. - * - * Protobuf library provides support to pack/unpack Any values in the form - * of utility functions or additional generated methods of the Any type. - * - * Example 1: Pack and unpack a message in C++. - * - * Foo foo = ...; - * Any any; - * any.PackFrom(foo); - * ... - * if (any.UnpackTo(&foo)) { - * ... - * } - * - * Example 2: Pack and unpack a message in Java. - * - * Foo foo = ...; - * Any any = Any.pack(foo); - * ... - * if (any.is(Foo.class)) { - * foo = any.unpack(Foo.class); - * } - * - * Example 3: Pack and unpack a message in Python. - * - * foo = Foo(...) - * any = Any() - * any.Pack(foo) - * ... - * if any.Is(Foo.DESCRIPTOR): - * any.Unpack(foo) - * ... - * - * Example 4: Pack and unpack a message in Go - * - * foo := &pb.Foo{...} - * any, err := ptypes.MarshalAny(foo) - * ... - * foo := &pb.Foo{} - * if err := ptypes.UnmarshalAny(any, foo); err != nil { - * ... - * } - * - * The pack methods provided by protobuf library will by default use - * 'type.googleapis.com/full.type.name' as the type URL and the unpack - * methods only use the fully qualified type name after the last '/' - * in the type URL, for example "foo.bar.com/x/y.z" will yield type - * name "y.z". - * - * - * # JSON - * - * The JSON representation of an `Any` value uses the regular - * representation of the deserialized, embedded message, with an - * additional field `@type` which contains the type URL. Example: - * - * package google.profile; - * message Person { - * string first_name = 1; - * string last_name = 2; - * } - * - * { - * "@type": "type.googleapis.com/google.profile.Person", - * "firstName": , - * "lastName": - * } - * - * If the embedded message type is well-known and has a custom JSON - * representation, that representation will be embedded adding a field - * `value` which holds the custom JSON in addition to the `@type` - * field. Example (for message google.protobuf.Duration): - * - * { - * "@type": "type.googleapis.com/google.protobuf.Duration", - * "value": "1.212s" - * } - * - * @property {string} typeUrl - * A URL/resource name that uniquely identifies the type of the serialized - * protocol buffer message. This string must contain at least - * one "/" character. The last segment of the URL's path must represent - * the fully qualified name of the type (as in - * `path/google.protobuf.Duration`). The name should be in a canonical form - * (e.g., leading "." is not accepted). - * - * In practice, teams usually precompile into the binary all types that they - * expect it to use in the context of Any. However, for URLs which use the - * scheme `http`, `https`, or no scheme, one can optionally set up a type - * server that maps type URLs to message definitions as follows: - * - * * If no scheme is provided, `https` is assumed. - * * An HTTP GET on the URL must yield a google.protobuf.Type - * value in binary format, or produce an error. - * * Applications are allowed to cache lookup results based on the - * URL, or have them precompiled into a binary to avoid any - * lookup. Therefore, binary compatibility needs to be preserved - * on changes to types. (Use versioned type names to manage - * breaking changes.) - * - * Note: this functionality is not currently available in the official - * protobuf release, and it is not used for type URLs beginning with - * type.googleapis.com. - * - * Schemes other than `http`, `https` (or the empty scheme) might be - * used with implementation specific semantics. - * - * @property {Buffer} value - * Must be a valid serialized protocol buffer of the above specified type. - * - * @typedef Any - * @memberof google.protobuf - * @see [google.protobuf.Any definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto} - */ -const Any = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js deleted file mode 100644 index 1e3961d6609..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_empty.js +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A generic empty message that you can re-use to avoid defining duplicated - * empty messages in your APIs. A typical example is to use it as the request - * or the response type of an API method. For instance: - * - * service Foo { - * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); - * } - * - * The JSON representation for `Empty` is empty JSON object `{}`. - * @typedef Empty - * @memberof google.protobuf - * @see [google.protobuf.Empty definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/empty.proto} - */ -const Empty = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js deleted file mode 100644 index 59e745f36c2..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_field_mask.js +++ /dev/null @@ -1,228 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * `FieldMask` represents a set of symbolic field paths, for example: - * - * paths: "f.a" - * paths: "f.b.d" - * - * Here `f` represents a field in some root message, `a` and `b` - * fields in the message found in `f`, and `d` a field found in the - * message in `f.b`. - * - * Field masks are used to specify a subset of fields that should be - * returned by a get operation or modified by an update operation. - * Field masks also have a custom JSON encoding (see below). - * - * # Field Masks in Projections - * - * When used in the context of a projection, a response message or - * sub-message is filtered by the API to only contain those fields as - * specified in the mask. For example, if the mask in the previous - * example is applied to a response message as follows: - * - * f { - * a : 22 - * b { - * d : 1 - * x : 2 - * } - * y : 13 - * } - * z: 8 - * - * The result will not contain specific values for fields x,y and z - * (their value will be set to the default, and omitted in proto text - * output): - * - * - * f { - * a : 22 - * b { - * d : 1 - * } - * } - * - * A repeated field is not allowed except at the last position of a - * paths string. - * - * If a FieldMask object is not present in a get operation, the - * operation applies to all fields (as if a FieldMask of all fields - * had been specified). - * - * Note that a field mask does not necessarily apply to the - * top-level response message. In case of a REST get operation, the - * field mask applies directly to the response, but in case of a REST - * list operation, the mask instead applies to each individual message - * in the returned resource list. In case of a REST custom method, - * other definitions may be used. Where the mask applies will be - * clearly documented together with its declaration in the API. In - * any case, the effect on the returned resource/resources is required - * behavior for APIs. - * - * # Field Masks in Update Operations - * - * A field mask in update operations specifies which fields of the - * targeted resource are going to be updated. The API is required - * to only change the values of the fields as specified in the mask - * and leave the others untouched. If a resource is passed in to - * describe the updated values, the API ignores the values of all - * fields not covered by the mask. - * - * If a repeated field is specified for an update operation, new values will - * be appended to the existing repeated field in the target resource. Note that - * a repeated field is only allowed in the last position of a `paths` string. - * - * If a sub-message is specified in the last position of the field mask for an - * update operation, then new value will be merged into the existing sub-message - * in the target resource. - * - * For example, given the target message: - * - * f { - * b { - * d: 1 - * x: 2 - * } - * c: [1] - * } - * - * And an update message: - * - * f { - * b { - * d: 10 - * } - * c: [2] - * } - * - * then if the field mask is: - * - * paths: ["f.b", "f.c"] - * - * then the result will be: - * - * f { - * b { - * d: 10 - * x: 2 - * } - * c: [1, 2] - * } - * - * An implementation may provide options to override this default behavior for - * repeated and message fields. - * - * In order to reset a field's value to the default, the field must - * be in the mask and set to the default value in the provided resource. - * Hence, in order to reset all fields of a resource, provide a default - * instance of the resource and set all fields in the mask, or do - * not provide a mask as described below. - * - * If a field mask is not present on update, the operation applies to - * all fields (as if a field mask of all fields has been specified). - * Note that in the presence of schema evolution, this may mean that - * fields the client does not know and has therefore not filled into - * the request will be reset to their default. If this is unwanted - * behavior, a specific service may require a client to always specify - * a field mask, producing an error if not. - * - * As with get operations, the location of the resource which - * describes the updated values in the request message depends on the - * operation kind. In any case, the effect of the field mask is - * required to be honored by the API. - * - * ## Considerations for HTTP REST - * - * The HTTP kind of an update operation which uses a field mask must - * be set to PATCH instead of PUT in order to satisfy HTTP semantics - * (PUT must only be used for full updates). - * - * # JSON Encoding of Field Masks - * - * In JSON, a field mask is encoded as a single string where paths are - * separated by a comma. Fields name in each path are converted - * to/from lower-camel naming conventions. - * - * As an example, consider the following message declarations: - * - * message Profile { - * User user = 1; - * Photo photo = 2; - * } - * message User { - * string display_name = 1; - * string address = 2; - * } - * - * In proto a field mask for `Profile` may look as such: - * - * mask { - * paths: "user.display_name" - * paths: "photo" - * } - * - * In JSON, the same mask is represented as below: - * - * { - * mask: "user.displayName,photo" - * } - * - * # Field Masks and Oneof Fields - * - * Field masks treat fields in oneofs just as regular fields. Consider the - * following message: - * - * message SampleMessage { - * oneof test_oneof { - * string name = 4; - * SubMessage sub_message = 9; - * } - * } - * - * The field mask can be: - * - * mask { - * paths: "name" - * } - * - * Or: - * - * mask { - * paths: "sub_message" - * } - * - * Note that oneof type names ("test_oneof" in this case) cannot be used in - * paths. - * - * ## Field Mask Verification - * - * The implementation of any API method which has a FieldMask type field in the - * request should verify the included field paths, and return an - * `INVALID_ARGUMENT` error if any path is duplicated or unmappable. - * - * @property {string[]} paths - * The set of field mask paths. - * - * @typedef FieldMask - * @memberof google.protobuf - * @see [google.protobuf.FieldMask definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/field_mask.proto} - */ -const FieldMask = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js deleted file mode 100644 index ad801cc9a10..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_timestamp.js +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * A Timestamp represents a point in time independent of any time zone or local - * calendar, encoded as a count of seconds and fractions of seconds at - * nanosecond resolution. The count is relative to an epoch at UTC midnight on - * January 1, 1970, in the proleptic Gregorian calendar which extends the - * Gregorian calendar backwards to year one. - * - * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - * second table is needed for interpretation, using a [24-hour linear - * smear](https://developers.google.com/time/smear). - * - * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By - * restricting to that range, we ensure that we can convert to and from [RFC - * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. - * - * # Examples - * - * Example 1: Compute Timestamp from POSIX `time()`. - * - * Timestamp timestamp; - * timestamp.set_seconds(time(NULL)); - * timestamp.set_nanos(0); - * - * Example 2: Compute Timestamp from POSIX `gettimeofday()`. - * - * struct timeval tv; - * gettimeofday(&tv, NULL); - * - * Timestamp timestamp; - * timestamp.set_seconds(tv.tv_sec); - * timestamp.set_nanos(tv.tv_usec * 1000); - * - * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - * - * FILETIME ft; - * GetSystemTimeAsFileTime(&ft); - * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - * - * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z - * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. - * Timestamp timestamp; - * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); - * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); - * - * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - * - * long millis = System.currentTimeMillis(); - * - * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - * .setNanos((int) ((millis % 1000) * 1000000)).build(); - * - * - * Example 5: Compute Timestamp from current time in Python. - * - * timestamp = Timestamp() - * timestamp.GetCurrentTime() - * - * # JSON Mapping - * - * In JSON format, the Timestamp type is encoded as a string in the - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the - * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" - * where {year} is always expressed using four digits while {month}, {day}, - * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional - * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), - * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - * is required. A proto3 JSON serializer should always use UTC (as indicated by - * "Z") when printing the Timestamp type and a proto3 JSON parser should be - * able to accept both UTC and other timezones (as indicated by an offset). - * - * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past - * 01:30 UTC on January 15, 2017. - * - * In JavaScript, one can convert a Date object to this format using the - * standard - * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) - * method. In Python, a standard `datetime.datetime` object can be converted - * to this format using - * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with - * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use - * the Joda Time's [`ISODateTimeFormat.dateTime()`](https://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D) to obtain a formatter capable of generating timestamps in this format. - * - * @property {number} seconds - * Represents seconds of UTC time since Unix epoch - * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - * 9999-12-31T23:59:59Z inclusive. - * - * @property {number} nanos - * Non-negative fractions of a second at nanosecond resolution. Negative - * second values with fractions must still have non-negative nanos values - * that count forward in time. Must be from 0 to 999,999,999 - * inclusive. - * - * @typedef Timestamp - * @memberof google.protobuf - * @see [google.protobuf.Timestamp definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto} - */ -const Timestamp = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js deleted file mode 100644 index 90e2ff4ab5a..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/protobuf/doc_wrappers.js +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Wrapper message for `float`. - * - * The JSON representation for `FloatValue` is JSON number. - * - * @property {number} value - * The float value. - * - * @typedef FloatValue - * @memberof google.protobuf - * @see [google.protobuf.FloatValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto} - */ -const FloatValue = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js deleted file mode 100644 index 750e0af7689..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/rpc/doc_status.js +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * The `Status` type defines a logical error model that is suitable for - * different programming environments, including REST APIs and RPC APIs. It is - * used by [gRPC](https://github.com/grpc). Each `Status` message contains - * three pieces of data: error code, error message, and error details. - * - * You can find out more about this error model and how to work with it in the - * [API Design Guide](https://cloud.google.com/apis/design/errors). - * - * @property {number} code - * The status code, which should be an enum value of google.rpc.Code. - * - * @property {string} message - * A developer-facing error message, which should be in English. Any - * user-facing error message should be localized and sent in the - * google.rpc.Status.details field, or localized by the client. - * - * @property {Object[]} details - * A list of messages that carry the error details. There is a common set of - * message types for APIs to use. - * - * This object should have the same structure as [Any]{@link google.protobuf.Any} - * - * @typedef Status - * @memberof google.rpc - * @see [google.rpc.Status definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto} - */ -const Status = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js deleted file mode 100644 index 9570187d502..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_color.js +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * Represents a color in the RGBA color space. This representation is designed - * for simplicity of conversion to/from color representations in various - * languages over compactness; for example, the fields of this representation - * can be trivially provided to the constructor of "java.awt.Color" in Java; it - * can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" - * method in iOS; and, with just a little work, it can be easily formatted into - * a CSS "rgba()" string in JavaScript, as well. - * - * Note: this proto does not carry information about the absolute color space - * that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, - * DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color - * space. - * - * Example (Java): - * - * import com.google.type.Color; - * - * // ... - * public static java.awt.Color fromProto(Color protocolor) { - * float alpha = protocolor.hasAlpha() - * ? protocolor.getAlpha().getValue() - * : 1.0; - * - * return new java.awt.Color( - * protocolor.getRed(), - * protocolor.getGreen(), - * protocolor.getBlue(), - * alpha); - * } - * - * public static Color toProto(java.awt.Color color) { - * float red = (float) color.getRed(); - * float green = (float) color.getGreen(); - * float blue = (float) color.getBlue(); - * float denominator = 255.0; - * Color.Builder resultBuilder = - * Color - * .newBuilder() - * .setRed(red / denominator) - * .setGreen(green / denominator) - * .setBlue(blue / denominator); - * int alpha = color.getAlpha(); - * if (alpha != 255) { - * result.setAlpha( - * FloatValue - * .newBuilder() - * .setValue(((float) alpha) / denominator) - * .build()); - * } - * return resultBuilder.build(); - * } - * // ... - * - * Example (iOS / Obj-C): - * - * // ... - * static UIColor* fromProto(Color* protocolor) { - * float red = [protocolor red]; - * float green = [protocolor green]; - * float blue = [protocolor blue]; - * FloatValue* alpha_wrapper = [protocolor alpha]; - * float alpha = 1.0; - * if (alpha_wrapper != nil) { - * alpha = [alpha_wrapper value]; - * } - * return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; - * } - * - * static Color* toProto(UIColor* color) { - * CGFloat red, green, blue, alpha; - * if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { - * return nil; - * } - * Color* result = [[Color alloc] init]; - * [result setRed:red]; - * [result setGreen:green]; - * [result setBlue:blue]; - * if (alpha <= 0.9999) { - * [result setAlpha:floatWrapperWithValue(alpha)]; - * } - * [result autorelease]; - * return result; - * } - * // ... - * - * Example (JavaScript): - * - * // ... - * - * var protoToCssColor = function(rgb_color) { - * var redFrac = rgb_color.red || 0.0; - * var greenFrac = rgb_color.green || 0.0; - * var blueFrac = rgb_color.blue || 0.0; - * var red = Math.floor(redFrac * 255); - * var green = Math.floor(greenFrac * 255); - * var blue = Math.floor(blueFrac * 255); - * - * if (!('alpha' in rgb_color)) { - * return rgbToCssColor_(red, green, blue); - * } - * - * var alphaFrac = rgb_color.alpha.value || 0.0; - * var rgbParams = [red, green, blue].join(','); - * return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); - * }; - * - * var rgbToCssColor_ = function(red, green, blue) { - * var rgbNumber = new Number((red << 16) | (green << 8) | blue); - * var hexString = rgbNumber.toString(16); - * var missingZeros = 6 - hexString.length; - * var resultBuilder = ['#']; - * for (var i = 0; i < missingZeros; i++) { - * resultBuilder.push('0'); - * } - * resultBuilder.push(hexString); - * return resultBuilder.join(''); - * }; - * - * // ... - * - * @property {number} red - * The amount of red in the color as a value in the interval [0, 1]. - * - * @property {number} green - * The amount of green in the color as a value in the interval [0, 1]. - * - * @property {number} blue - * The amount of blue in the color as a value in the interval [0, 1]. - * - * @property {Object} alpha - * The fraction of this color that should be applied to the pixel. That is, - * the final pixel color is defined by the equation: - * - * pixel color = alpha * (this color) + (1.0 - alpha) * (background color) - * - * This means that a value of 1.0 corresponds to a solid color, whereas - * a value of 0.0 corresponds to a completely transparent color. This - * uses a wrapper message rather than a simple float scalar so that it is - * possible to distinguish between a default value and the value being unset. - * If omitted, this color object is to be rendered as a solid color - * (as if the alpha value had been explicitly given with a value of 1.0). - * - * This object should have the same structure as [FloatValue]{@link google.protobuf.FloatValue} - * - * @typedef Color - * @memberof google.type - * @see [google.type.Color definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/color.proto} - */ -const Color = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js b/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js deleted file mode 100644 index bacbf0e1f48..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/doc/google/type/doc_latlng.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2020 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. - -// Note: this file is purely for documentation. Any contents are not expected -// to be loaded as the JS file. - -/** - * An object representing a latitude/longitude pair. This is expressed as a pair - * of doubles representing degrees latitude and degrees longitude. Unless - * specified otherwise, this must conform to the - * WGS84 - * standard. Values must be within normalized ranges. - * - * @property {number} latitude - * The latitude in degrees. It must be in the range [-90.0, +90.0]. - * - * @property {number} longitude - * The longitude in degrees. It must be in the range [-180.0, +180.0]. - * - * @typedef LatLng - * @memberof google.type - * @see [google.type.LatLng definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/type/latlng.proto} - */ -const LatLng = { - // This is for documentation. Actual contents will be loaded by gRPC. -}; \ No newline at end of file diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js deleted file mode 100644 index bbede6ae7a8..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.js +++ /dev/null @@ -1,597 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const gapicConfig = require('./image_annotator_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); - -const VERSION = require('../../package.json').version; - -/** - * Service that performs Google Cloud Vision API detection tasks over client - * images, such as face, landmark, logo, label, and text detection. The - * ImageAnnotator service returns detected entities from the images. - * - * @class - * @memberof v1p4beta1 - */ -class ImageAnnotatorClient { - /** - * Construct an instance of ImageAnnotatorClient. - * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - */ - constructor(opts) { - opts = opts || {}; - this._descriptors = {}; - - if (global.isBrowser) { - // If we're in browser, we use gRPC fallback. - opts.fallback = true; - } - - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; - - const servicePath = - opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; - - // Ensure that options include the service address and port. - opts = Object.assign( - { - clientConfig: {}, - port: this.constructor.port, - servicePath, - }, - opts - ); - - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = this.constructor.scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); - - // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth; - - // Determine the client header string. - const clientHeader = []; - - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } - clientHeader.push(`gax/${gaxModule.version}`); - if (opts.fallback) { - clientHeader.push(`gl-web/${gaxModule.version}`); - } else { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); - } - clientHeader.push(`gapic/${VERSION}`); - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - - // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - const protos = gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath - ); - - const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); - - // This API contains "long-running operations", which return a - // an Operation object that allows for tracking of the operation, - // rather than holding a request open. - this.operationsClient = new gaxModule.lro({ - auth: gaxGrpc.auth, - grpc: gaxGrpc.grpc, - }).operationsClient(opts); - - const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( - 'google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse' - ); - const asyncBatchAnnotateImagesMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1p4beta1.OperationMetadata' - ); - const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( - 'google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse' - ); - const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1p4beta1.OperationMetadata' - ); - - this._descriptors.longrunning = { - asyncBatchAnnotateImages: new gaxModule.LongrunningDescriptor( - this.operationsClient, - asyncBatchAnnotateImagesResponse.decode.bind( - asyncBatchAnnotateImagesResponse - ), - asyncBatchAnnotateImagesMetadata.decode.bind( - asyncBatchAnnotateImagesMetadata - ) - ), - asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( - this.operationsClient, - asyncBatchAnnotateFilesResponse.decode.bind( - asyncBatchAnnotateFilesResponse - ), - asyncBatchAnnotateFilesMetadata.decode.bind( - asyncBatchAnnotateFilesMetadata - ) - ), - }; - - // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.vision.v1p4beta1.ImageAnnotator', - gapicConfig, - opts.clientConfig, - {'x-goog-api-client': clientHeader.join(' ')} - ); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this._innerApiCalls = {}; - - // Put together the "service stub" for - // google.cloud.vision.v1p4beta1.ImageAnnotator. - const imageAnnotatorStub = gaxGrpc.createStub( - opts.fallback - ? protos.lookupService('google.cloud.vision.v1p4beta1.ImageAnnotator') - : protos.google.cloud.vision.v1p4beta1.ImageAnnotator, - opts - ); - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const imageAnnotatorStubMethods = [ - 'batchAnnotateImages', - 'batchAnnotateFiles', - 'asyncBatchAnnotateImages', - 'asyncBatchAnnotateFiles', - ]; - for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = imageAnnotatorStub.then( - stub => (...args) => { - return stub[methodName].apply(stub, args); - }, - err => () => { - throw err; - } - ); - this._innerApiCalls[methodName] = gaxModule.createApiCall( - innerCallPromise, - defaults[methodName], - this._descriptors.longrunning[methodName] - ); - } - } - - /** - * The DNS address for this API service. - */ - static get servicePath() { - return 'vision.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - */ - static get apiEndpoint() { - return 'vision.googleapis.com'; - } - - /** - * The port for this API service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform', - 'https://www.googleapis.com/auth/cloud-vision', - ]; - } - - /** - * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. - */ - getProjectId(callback) { - return this.auth.getProjectId(callback); - } - - // ------------------- - // -- Service calls -- - // ------------------- - - /** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * client.batchAnnotateImages({requests: requests}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - batchAnnotateImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - - return this._innerApiCalls.batchAnnotateImages(request, options, callback); - } - - /** - * Service that performs image detection and annotation for a batch of files. - * Now only "application/pdf", "image/tiff" and "image/gif" are supported. - * - * This service will extract at most 5 (customers can specify which 5 in - * AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each - * file provided and perform detection and annotation for each image - * extracted. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. The list of file annotation requests. Right now we support only - * one AnnotateFileRequest in BatchAnnotateFilesRequest. - * - * This object should have the same structure as [AnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AnnotateFileRequest} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * client.batchAnnotateFiles({requests: requests}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - batchAnnotateFiles(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - - return this._innerApiCalls.batchAnnotateFiles(request, options, callback); - } - - /** - * Run asynchronous image detection and annotation for a list of images. - * - * Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). - * - * This service will write image annotation outputs to json files in customer - * GCS bucket, each json file containing BatchAnnotateImagesResponse proto. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. Individual image annotation requests for this batch. - * - * This object should have the same structure as [AnnotateImageRequest]{@link google.cloud.vision.v1p4beta1.AnnotateImageRequest} - * @param {Object} request.outputConfig - * Required. The desired output location and metadata (e.g. format). - * - * This object should have the same structure as [OutputConfig]{@link google.cloud.vision.v1p4beta1.OutputConfig} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * const outputConfig = {}; - * const request = { - * requests: requests, - * outputConfig: outputConfig, - * }; - * - * // Handle the operation using the promise pattern. - * client.asyncBatchAnnotateImages(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * const outputConfig = {}; - * const request = { - * requests: requests, - * outputConfig: outputConfig, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.asyncBatchAnnotateImages(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * const outputConfig = {}; - * const request = { - * requests: requests, - * outputConfig: outputConfig, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.asyncBatchAnnotateImages(request); - * - * const [response] = await operation.promise(); - */ - asyncBatchAnnotateImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - - return this._innerApiCalls.asyncBatchAnnotateImages( - request, - options, - callback - ); - } - - /** - * Run asynchronous image detection and annotation for a list of generic - * files, such as PDF files, which may contain multiple pages and multiple - * images per page. Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {Object[]} request.requests - * Required. Individual async file annotation requests for this batch. - * - * This object should have the same structure as [AsyncAnnotateFileRequest]{@link google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ImageAnnotatorClient({ - * // optional auth parameters. - * }); - * - * const requests = []; - * - * // Handle the operation using the promise pattern. - * client.asyncBatchAnnotateFiles({requests: requests}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * - * // Handle the operation using the event emitter pattern. - * client.asyncBatchAnnotateFiles({requests: requests}) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const requests = []; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.asyncBatchAnnotateFiles({requests: requests}); - * - * const [response] = await operation.promise(); - */ - asyncBatchAnnotateFiles(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - - return this._innerApiCalls.asyncBatchAnnotateFiles( - request, - options, - callback - ); - } -} - -module.exports = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts new file mode 100644 index 00000000000..c2463925e0d --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -0,0 +1,853 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as gax from 'google-gax'; +import { + APICallback, + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, +} from 'google-gax'; +import * as path from 'path'; + +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './image_annotator_client_config.json'; + +const version = require('../../../package.json').version; + +/** + * Service that performs Google Cloud Vision API detection tasks over client + * images, such as face, landmark, logo, label, and text detection. The + * ImageAnnotator service returns detected entities from the images. + * @class + * @memberof v1p4beta1 + */ +export class ImageAnnotatorClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _pathTemplates: {[name: string]: gax.PathTemplate}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + imageAnnotatorStub: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ImageAnnotatorClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + */ + + constructor(opts?: ClientOptions) { + // Ensure that options include the service address and port. + const staticMembers = this.constructor as typeof ImageAnnotatorClient; + const servicePath = + opts && opts.servicePath + ? opts.servicePath + : opts && opts.apiEndpoint + ? opts.apiEndpoint + : staticMembers.servicePath; + const port = opts && opts.port ? opts.port : staticMembers.port; + + if (!opts) { + opts = {servicePath, port}; + } + opts.servicePath = opts.servicePath || servicePath; + opts.port = opts.port || port; + opts.clientConfig = opts.clientConfig || {}; + + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { + opts.fallback = true; + } + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; + const gaxGrpc = new gaxModule.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth as gax.GoogleAuth; + + // Determine the client header string. + const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + ); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this._pathTemplates = { + productPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + productSetPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), + referenceImagePathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' + ), + }; + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = gaxModule + .lro({ + auth: this.auth, + grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); + const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( + '.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse' + ) as gax.protobuf.Type; + const asyncBatchAnnotateImagesMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1p4beta1.OperationMetadata' + ) as gax.protobuf.Type; + const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( + '.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse' + ) as gax.protobuf.Type; + const asyncBatchAnnotateFilesMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1p4beta1.OperationMetadata' + ) as gax.protobuf.Type; + + this._descriptors.longrunning = { + asyncBatchAnnotateImages: new gaxModule.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateImagesResponse.decode.bind( + asyncBatchAnnotateImagesResponse + ), + asyncBatchAnnotateImagesMetadata.decode.bind( + asyncBatchAnnotateImagesMetadata + ) + ), + asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( + this.operationsClient, + asyncBatchAnnotateFilesResponse.decode.bind( + asyncBatchAnnotateFilesResponse + ), + asyncBatchAnnotateFilesMetadata.decode.bind( + asyncBatchAnnotateFilesMetadata + ) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p4beta1.ImageAnnotator', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p4beta1.ImageAnnotator. + this.imageAnnotatorStub = gaxGrpc.createStub( + opts.fallback + ? (protos as protobuf.Root).lookupService( + 'google.cloud.vision.v1p4beta1.ImageAnnotator' + ) + : // tslint:disable-next-line no-any + (protos as any).google.cloud.vision.v1p4beta1.ImageAnnotator, + opts + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const imageAnnotatorStubMethods = [ + 'batchAnnotateImages', + 'batchAnnotateFiles', + 'asyncBatchAnnotateImages', + 'asyncBatchAnnotateFiles', + ]; + + for (const methodName of imageAnnotatorStubMethods) { + const innerCallPromise = this.imageAnnotatorStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + return stub[methodName].apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const apiCall = gaxModule.createApiCall( + innerCallPromise, + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] + ); + + this._innerApiCalls[methodName] = ( + argument: {}, + callOptions?: CallOptions, + callback?: APICallback + ) => { + return apiCall(argument, callOptions, callback); + }; + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + >; + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): void; + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + batchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + return this._innerApiCalls.batchAnnotateImages(request, options, callback); + } + batchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | undefined + ), + {} | undefined + ] + >; + batchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | undefined, + {} | undefined + > + ): void; + /** + * Service that performs image detection and annotation for a batch of files. + * Now only "application/pdf", "image/tiff" and "image/gif" are supported. + * + * This service will extract at most 5 (customers can specify which 5 in + * AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each + * file provided and perform detection and annotation for each image + * extracted. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. The list of file annotation requests. Right now we support only + * one AnnotateFileRequest in BatchAnnotateFilesRequest. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + batchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + return this._innerApiCalls.batchAnnotateFiles(request, options, callback); + } + + asyncBatchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + asyncBatchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Run asynchronous image detection and annotation for a list of images. + * + * Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). + * + * This service will write image annotation outputs to json files in customer + * GCS bucket, each json file containing BatchAnnotateImagesResponse proto. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {google.cloud.vision.v1p4beta1.OutputConfig} request.outputConfig + * Required. The desired output location and metadata (e.g. format). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + asyncBatchAnnotateImages( + request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + return this._innerApiCalls.asyncBatchAnnotateImages( + request, + options, + callback + ); + } + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Run asynchronous image detection and annotation for a list of generic + * files, such as PDF files, which may contain multiple pages and multiple + * images per page. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual async file annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + asyncBatchAnnotateFiles( + request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + return this._innerApiCalls.asyncBatchAnnotateFiles( + request, + options, + callback + ); + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified product resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @returns {string} Resource name string. + */ + productPath(project: string, location: string, product: string) { + return this._pathTemplates.productPathTemplate.render({ + project, + location, + product, + }); + } + + /** + * Parse the project from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the location from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the product from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the product. + */ + matchProductFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Return a fully-qualified productSet resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product_set + * @returns {string} Resource name string. + */ + productSetPath(project: string, location: string, productSet: string) { + return this._pathTemplates.productSetPathTemplate.render({ + project, + location, + product_set: productSet, + }); + } + + /** + * Parse the project from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .project; + } + + /** + * Parse the location from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .location; + } + + /** + * Parse the product_set from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the product_set. + */ + matchProductSetFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .product_set; + } + + /** + * Return a fully-qualified referenceImage resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @param {string} reference_image + * @returns {string} Resource name string. + */ + referenceImagePath( + project: string, + location: string, + product: string, + referenceImage: string + ) { + return this._pathTemplates.referenceImagePathTemplate.render({ + project, + location, + product, + reference_image: referenceImage, + }); + } + + /** + * Parse the project from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the project. + */ + matchProjectFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).project; + } + + /** + * Parse the location from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the location. + */ + matchLocationFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).location; + } + + /** + * Parse the product from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the product. + */ + matchProductFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).product; + } + + /** + * Parse the reference_image from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the reference_image. + */ + matchReferenceImageFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).reference_image; + } + + /** + * Terminate the GRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + */ + close(): Promise { + if (!this._terminated) { + return this.imageAnnotatorStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} +import {FeaturesMethod} from '../helpers'; +export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json index 9666bd1f923..e068ba98e78 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client_config.json @@ -2,11 +2,11 @@ "interfaces": { "google.cloud.vision.v1p4beta1.ImageAnnotator": { "retry_codes": { + "non_idempotent": [], "idempotent": [ "DEADLINE_EXCEEDED", "UNAVAILABLE" - ], - "non_idempotent": [] + ] }, "retry_params": { "default": { @@ -14,29 +14,29 @@ "retry_delay_multiplier": 1.3, "max_retry_delay_millis": 60000, "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1.0, + "rpc_timeout_multiplier": 1, "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "BatchAnnotateImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "BatchAnnotateFiles": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "AsyncBatchAnnotateImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "AsyncBatchAnnotateFiles": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_proto_list.json b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_proto_list.json index 75141cbc769..04693e0484d 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_proto_list.json +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_proto_list.json @@ -1,3 +1,9 @@ [ - "../../protos/google/cloud/vision/v1p4beta1/image_annotator.proto" + "../../protos/google/cloud/vision/v1p4beta1/face.proto", + "../../protos/google/cloud/vision/v1p4beta1/geometry.proto", + "../../protos/google/cloud/vision/v1p4beta1/image_annotator.proto", + "../../protos/google/cloud/vision/v1p4beta1/product_search.proto", + "../../protos/google/cloud/vision/v1p4beta1/product_search_service.proto", + "../../protos/google/cloud/vision/v1p4beta1/text_annotation.proto", + "../../protos/google/cloud/vision/v1p4beta1/web_detection.proto" ] diff --git a/packages/google-cloud-vision/src/v1p4beta1/index.js b/packages/google-cloud-vision/src/v1p4beta1/index.js deleted file mode 100644 index d35c3834272..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/index.js +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const ProductSearchClient = require('./product_search_client'); -const ImageAnnotatorClient = require('./image_annotator_client'); - -module.exports.ProductSearchClient = ProductSearchClient; -module.exports.ImageAnnotatorClient = ImageAnnotatorClient; diff --git a/packages/google-cloud-vision/src/v1p4beta1/index.ts b/packages/google-cloud-vision/src/v1p4beta1/index.ts new file mode 100644 index 00000000000..de3f335b8a0 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/index.ts @@ -0,0 +1,20 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {ImageAnnotatorClient} from './image_annotator_client'; +export {ProductSearchClient} from './product_search_client'; diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js deleted file mode 100644 index c41535db1ae..00000000000 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.js +++ /dev/null @@ -1,2315 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const gapicConfig = require('./product_search_client_config.json'); -const gax = require('google-gax'); -const path = require('path'); - -const VERSION = require('../../package.json').version; - -/** - * Manages Products and ProductSets of reference images for use in product - * search. It uses the following resource model: - * - * - The API has a collection of - * ProductSet resources, named - * `projects/* /locations/* /productSets/*`, which acts as a way to put different - * products into groups to limit identification. - * - * In parallel, - * - * - The API has a collection of - * Product resources, named - * `projects/* /locations/* /products/*` - * - * - Each Product has a collection of - * ReferenceImage resources, - * named - * `projects/* /locations/* /products/* /referenceImages/*` - * - * @class - * @memberof v1p4beta1 - */ -class ProductSearchClient { - /** - * Construct an instance of ProductSearchClient. - * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - */ - constructor(opts) { - opts = opts || {}; - this._descriptors = {}; - - if (global.isBrowser) { - // If we're in browser, we use gRPC fallback. - opts.fallback = true; - } - - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !global.isBrowser && opts.fallback ? gax.fallback : gax; - - const servicePath = - opts.servicePath || opts.apiEndpoint || this.constructor.servicePath; - - // Ensure that options include the service address and port. - opts = Object.assign( - { - clientConfig: {}, - port: this.constructor.port, - servicePath, - }, - opts - ); - - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = this.constructor.scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); - - // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth; - - // Determine the client header string. - const clientHeader = []; - - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } - clientHeader.push(`gax/${gaxModule.version}`); - if (opts.fallback) { - clientHeader.push(`gl-web/${gaxModule.version}`); - } else { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); - } - clientHeader.push(`gapic/${VERSION}`); - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - - // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - const protos = gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath - ); - - // This API contains "path templates"; forward-slash-separated - // identifiers to uniquely identify resources within the API. - // Create useful helper objects for these. - this._pathTemplates = { - locationPathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' - ), - productPathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/products/{product}' - ), - productSetPathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/productSets/{product_set}' - ), - referenceImagePathTemplate: new gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' - ), - }; - - // Some of the methods on this service return "paged" results, - // (e.g. 50 results at a time, with tokens to get subsequent - // pages). Denote the keys used for pagination and results. - this._descriptors.page = { - listProductSets: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'productSets' - ), - listProducts: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'products' - ), - listReferenceImages: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'referenceImages' - ), - listProductsInProductSet: new gaxModule.PageDescriptor( - 'pageToken', - 'nextPageToken', - 'products' - ), - }; - - const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); - - // This API contains "long-running operations", which return a - // an Operation object that allows for tracking of the operation, - // rather than holding a request open. - this.operationsClient = new gaxModule.lro({ - auth: gaxGrpc.auth, - grpc: gaxGrpc.grpc, - }).operationsClient(opts); - - const importProductSetsResponse = protoFilesRoot.lookup( - 'google.cloud.vision.v1p4beta1.ImportProductSetsResponse' - ); - const importProductSetsMetadata = protoFilesRoot.lookup( - 'google.cloud.vision.v1p4beta1.BatchOperationMetadata' - ); - - this._descriptors.longrunning = { - importProductSets: new gaxModule.LongrunningDescriptor( - this.operationsClient, - importProductSetsResponse.decode.bind(importProductSetsResponse), - importProductSetsMetadata.decode.bind(importProductSetsMetadata) - ), - }; - - // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( - 'google.cloud.vision.v1p4beta1.ProductSearch', - gapicConfig, - opts.clientConfig, - {'x-goog-api-client': clientHeader.join(' ')} - ); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this._innerApiCalls = {}; - - // Put together the "service stub" for - // google.cloud.vision.v1p4beta1.ProductSearch. - const productSearchStub = gaxGrpc.createStub( - opts.fallback - ? protos.lookupService('google.cloud.vision.v1p4beta1.ProductSearch') - : protos.google.cloud.vision.v1p4beta1.ProductSearch, - opts - ); - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const productSearchStubMethods = [ - 'createProductSet', - 'listProductSets', - 'getProductSet', - 'updateProductSet', - 'deleteProductSet', - 'createProduct', - 'listProducts', - 'getProduct', - 'updateProduct', - 'deleteProduct', - 'createReferenceImage', - 'deleteReferenceImage', - 'listReferenceImages', - 'getReferenceImage', - 'addProductToProductSet', - 'removeProductFromProductSet', - 'listProductsInProductSet', - 'importProductSets', - 'purgeProducts', - ]; - for (const methodName of productSearchStubMethods) { - const innerCallPromise = productSearchStub.then( - stub => (...args) => { - return stub[methodName].apply(stub, args); - }, - err => () => { - throw err; - } - ); - this._innerApiCalls[methodName] = gaxModule.createApiCall( - innerCallPromise, - defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.longrunning[methodName] - ); - } - } - - /** - * The DNS address for this API service. - */ - static get servicePath() { - return 'vision.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - */ - static get apiEndpoint() { - return 'vision.googleapis.com'; - } - - /** - * The port for this API service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/cloud-platform', - 'https://www.googleapis.com/auth/cloud-vision', - ]; - } - - /** - * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. - */ - getProjectId(callback) { - return this.auth.getProjectId(callback); - } - - // ------------------- - // -- Service calls -- - // ------------------- - - /** - * Creates and returns a new ProductSet resource. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than - * 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSet should be created. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.productSet - * Required. The ProductSet to create. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} - * @param {string} request.productSetId - * A user-supplied resource id for this ProductSet. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const productSet = {}; - * const productSetId = ''; - * const request = { - * parent: formattedParent, - * productSet: productSet, - * productSetId: productSetId, - * }; - * client.createProductSet(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - createProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.createProductSet(request, options, callback); - } - - /** - * Lists ProductSets in an unspecified order. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less - * than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project from which ProductSets should be listed. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1p4beta1.ListProductSetsResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListProductSetsResponse]{@link google.cloud.vision.v1p4beta1.ListProductSetsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * client.listProductSets({parent: formattedParent}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listProductSets(nextRequest, options).then(callback); - * } - * } - * client.listProductSets({parent: formattedParent}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listProductSets(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.listProductSets(request, options, callback); - } - - /** - * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductSets} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project from which ProductSets should be listed. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} on 'data' event. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * client.listProductSetsStream({parent: formattedParent}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listProductSetsStream(request, options) { - options = options || {}; - - return this._descriptors.page.listProductSets.createStream( - this._innerApiCalls.listProductSets, - request, - options - ); - } - - /** - * Gets information associated with a ProductSet. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.getProductSet({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getProductSet(request, options, callback); - } - - /** - * Makes changes to a ProductSet resource. - * Only display_name can be updated currently. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but - * missing from the request or longer than 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object} request.productSet - * Required. The ProductSet resource which replaces the one on the server. - * - * This object should have the same structure as [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} - * @param {Object} request.updateMask - * The FieldMask that specifies which fields to - * update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask path is `display_name`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const productSet = {}; - * const updateMask = {}; - * const request = { - * productSet: productSet, - * updateMask: updateMask, - * }; - * client.updateProductSet(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - updateProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product_set.name': request.productSet.name, - }); - - return this._innerApiCalls.updateProductSet(request, options, callback); - } - - /** - * Permanently deletes a ProductSet. Products and ReferenceImages in the - * ProductSet are not deleted. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.deleteProductSet({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.deleteProductSet(request, options, callback); - } - - /** - * Creates and returns a new product resource. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 - * characters. - * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. - * * Returns INVALID_ARGUMENT if product_category is missing or invalid. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the Product should be created. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.product - * Required. The product to create. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} - * @param {string} request.productId - * A user-supplied resource id for this Product. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const product = {}; - * const productId = ''; - * const request = { - * parent: formattedParent, - * product: product, - * productId: productId, - * }; - * client.createProduct(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - createProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.createProduct(request, options, callback); - } - - /** - * Lists products in an unspecified order. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project OR ProductSet from which Products should be listed. - * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductsResponse]{@link google.cloud.vision.v1p4beta1.ListProductsResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListProductsResponse]{@link google.cloud.vision.v1p4beta1.ListProductsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * client.listProducts({parent: formattedParent}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listProducts(nextRequest, options).then(callback); - * } - * } - * client.listProducts({parent: formattedParent}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listProducts(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.listProducts(request, options, callback); - } - - /** - * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProducts} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project OR ProductSet from which Products should be listed. - * - * Format: - * `projects/PROJECT_ID/locations/LOC_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * client.listProductsStream({parent: formattedParent}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listProductsStream(request, options) { - options = options || {}; - - return this._descriptors.page.listProducts.createStream( - this._innerApiCalls.listProducts, - request, - options - ); - } - - /** - * Gets information associated with a Product. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the Product to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.getProduct({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getProduct(request, options, callback); - } - - /** - * Makes changes to a Product resource. - * Only the `display_name`, `description`, and `labels` fields can be updated - * right now. - * - * If labels are updated, the change will not be reflected in queries until - * the next index time. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is - * missing from the request or longer than 4096 characters. - * * Returns INVALID_ARGUMENT if description is present in update_mask but is - * longer than 4096 characters. - * * Returns INVALID_ARGUMENT if product_category is present in update_mask. - * - * @param {Object} request - * The request object that will be sent. - * @param {Object} request.product - * Required. The Product resource which replaces the one on the server. - * product.name is immutable. - * - * This object should have the same structure as [Product]{@link google.cloud.vision.v1p4beta1.Product} - * @param {Object} request.updateMask - * The FieldMask that specifies which fields - * to update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask paths include `product_labels`, `display_name`, and - * `description`. - * - * This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const product = {}; - * const updateMask = {}; - * const request = { - * product: product, - * updateMask: updateMask, - * }; - * client.updateProduct(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - updateProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product.name': request.product.name, - }); - - return this._innerApiCalls.updateProduct(request, options, callback); - } - - /** - * Permanently deletes a product and its reference images. - * - * Metadata of the product and all its images will be deleted right away, but - * search queries against ProductSets containing the product may still work - * until all related caches are refreshed. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of product to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.deleteProduct({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteProduct(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.deleteProduct(request, options, callback); - } - - /** - * Creates and returns a new ReferenceImage resource. - * - * The `bounding_poly` field is optional. If `bounding_poly` is not specified, - * the system will try to detect regions of interest in the image that are - * compatible with the product_category on the parent product. If it is - * specified, detection is ALWAYS skipped. The system converts polygons into - * non-rotated rectangles. - * - * Note that the pipeline will resize the image if the image resolution is too - * large to process (above 50MP). - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 - * characters. - * * Returns INVALID_ARGUMENT if the product does not exist. - * * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing - * compatible with the parent product's product_category is detected. - * * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the product in which to create the reference - * image. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {Object} request.referenceImage - * Required. The reference image to create. - * If an image ID is specified, it is ignored. - * - * This object should have the same structure as [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} - * @param {string} request.referenceImageId - * A user-supplied resource id for the ReferenceImage to be added. If set, - * the server will attempt to use this value as the resource id. If it is - * already in use, an error is returned with code ALREADY_EXISTS. Must be at - * most 128 characters long. It cannot contain the character `/`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * const referenceImage = {}; - * const referenceImageId = ''; - * const request = { - * parent: formattedParent, - * referenceImage: referenceImage, - * referenceImageId: referenceImageId, - * }; - * client.createReferenceImage(request) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - createReferenceImage(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.createReferenceImage(request, options, callback); - } - - /** - * Permanently deletes a reference image. - * - * The image metadata will be deleted right away, but search queries - * against ProductSets containing the image may still work until all related - * caches are refreshed. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the reference image to delete. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); - * client.deleteReferenceImage({name: formattedName}).catch(err => { - * console.error(err); - * }); - */ - deleteReferenceImage(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.deleteReferenceImage(request, options, callback); - } - - /** - * Lists reference images. - * - * Possible errors: - * - * * Returns NOT_FOUND if the parent product does not exist. - * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less - * than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the product containing the reference images. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListReferenceImagesResponse]{@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * - * client.listReferenceImages({parent: formattedParent}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listReferenceImages(nextRequest, options).then(callback); - * } - * } - * client.listReferenceImages({parent: formattedParent}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listReferenceImages(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.listReferenceImages(request, options, callback); - } - - /** - * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listReferenceImages} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the product containing the reference images. - * - * Format is - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} on 'data' event. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.productPath('[PROJECT]', '[LOCATION]', '[PRODUCT]'); - * client.listReferenceImagesStream({parent: formattedParent}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listReferenceImagesStream(request, options) { - options = options || {}; - - return this._descriptors.page.listReferenceImages.createStream( - this._innerApiCalls.listReferenceImages, - request, - options - ); - } - - /** - * Gets information associated with a ReferenceImage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the specified image does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the ReferenceImage to get. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.referenceImagePath('[PROJECT]', '[LOCATION]', '[PRODUCT]', '[REFERENCE_IMAGE]'); - * client.getReferenceImage({name: formattedName}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - getReferenceImage(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.getReferenceImage(request, options, callback); - } - - /** - * Adds a Product to the specified ProductSet. If the Product is already - * present, no change is made. - * - * One Product can be added to at most 100 ProductSets. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be added to this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * const product = ''; - * const request = { - * name: formattedName, - * product: product, - * }; - * client.addProductToProductSet(request).catch(err => { - * console.error(err); - * }); - */ - addProductToProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.addProductToProductSet( - request, - options, - callback - ); - } - - /** - * Removes a Product from the specified ProductSet. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be removed from this - * ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error)} [callback] - * The function which will be called with the result of the API call. - * @returns {Promise} - The promise which resolves when API call finishes. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * const product = ''; - * const request = { - * name: formattedName, - * product: product, - * }; - * client.removeProductFromProductSet(request).catch(err => { - * console.error(err); - * }); - */ - removeProductFromProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.removeProductFromProductSet( - request, - options, - callback - ); - } - - /** - * Lists the Products in a ProductSet, in an unspecified order. If the - * ProductSet does not exist, the products field of the response will be - * empty. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The ProductSet resource for which to retrieve Products. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Array, ?Object, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * - * When autoPaginate: false is specified through options, it contains the result - * in a single response. If the response indicates the next page exists, the third - * parameter is set to be used for the next request object. The fourth parameter keeps - * the raw response object of an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product} in a single response. - * The second element is the next request object if the response - * indicates the next page exists, or null. The third element is - * an object representing [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * // Iterate over all elements. - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * - * client.listProductsInProductSet({name: formattedName}) - * .then(responses => { - * const resources = responses[0]; - * for (const resource of resources) { - * // doThingsWith(resource) - * } - * }) - * .catch(err => { - * console.error(err); - * }); - * - * // Or obtain the paged response. - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * - * - * const options = {autoPaginate: false}; - * const callback = responses => { - * // The actual resources in a response. - * const resources = responses[0]; - * // The next request if the response shows that there are more responses. - * const nextRequest = responses[1]; - * // The actual response object, if necessary. - * // const rawResponse = responses[2]; - * for (const resource of resources) { - * // doThingsWith(resource); - * } - * if (nextRequest) { - * // Fetch the next page. - * return client.listProductsInProductSet(nextRequest, options).then(callback); - * } - * } - * client.listProductsInProductSet({name: formattedName}, options) - * .then(callback) - * .catch(err => { - * console.error(err); - * }); - */ - listProductsInProductSet(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name, - }); - - return this._innerApiCalls.listProductsInProductSet( - request, - options, - callback - ); - } - - /** - * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductsInProductSet} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The ProductSet resource for which to retrieve Products. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {number} [request.pageSize] - * The maximum number of resources contained in the underlying API - * response. If page streaming is performed per-resource, this - * parameter does not affect the return value. If page streaming is - * performed per-page, this determines the maximum number of - * resources in a page. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @returns {Stream} - * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedName = client.productSetPath('[PROJECT]', '[LOCATION]', '[PRODUCT_SET]'); - * client.listProductsInProductSetStream({name: formattedName}) - * .on('data', element => { - * // doThingsWith(element) - * }).on('error', err => { - * console.log(err); - * }); - */ - listProductsInProductSetStream(request, options) { - options = options || {}; - - return this._descriptors.page.listProductsInProductSet.createStream( - this._innerApiCalls.listProductsInProductSet, - request, - options - ); - } - - /** - * Asynchronous API that imports a list of reference images to specified - * product sets based on a list of image information. - * - * The google.longrunning.Operation API can be - * used to keep track of the progress and results of the request. - * `Operation.metadata` contains `BatchOperationMetadata`. (progress) - * `Operation.response` contains `ImportProductSetsResponse`. (results) - * - * The input source of this method is a csv file on Google Cloud Storage. - * For the format of the csv file please see - * ImportProductSetsGcsSource.csv_file_uri. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSets should be imported. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {Object} request.inputConfig - * Required. The input content for the list of requests. - * - * This object should have the same structure as [ImportProductSetsInputConfig]{@link google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is a [gax.Operation]{@link https://googleapis.github.io/gax-nodejs/classes/Operation.html} object. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const inputConfig = {}; - * const request = { - * parent: formattedParent, - * inputConfig: inputConfig, - * }; - * - * // Handle the operation using the promise pattern. - * client.importProductSets(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Operation#promise starts polling for the completion of the LRO. - * return operation.promise(); - * }) - * .then(responses => { - * const result = responses[0]; - * const metadata = responses[1]; - * const finalApiResponse = responses[2]; - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const inputConfig = {}; - * const request = { - * parent: formattedParent, - * inputConfig: inputConfig, - * }; - * - * // Handle the operation using the event emitter pattern. - * client.importProductSets(request) - * .then(responses => { - * const [operation, initialApiResponse] = responses; - * - * // Adding a listener for the "complete" event starts polling for the - * // completion of the operation. - * operation.on('complete', (result, metadata, finalApiResponse) => { - * // doSomethingWith(result); - * }); - * - * // Adding a listener for the "progress" event causes the callback to be - * // called on any change in metadata when the operation is polled. - * operation.on('progress', (metadata, apiResponse) => { - * // doSomethingWith(metadata) - * }); - * - * // Adding a listener for the "error" event handles any errors found during polling. - * operation.on('error', err => { - * // throw(err); - * }); - * }) - * .catch(err => { - * console.error(err); - * }); - * - * const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - * const inputConfig = {}; - * const request = { - * parent: formattedParent, - * inputConfig: inputConfig, - * }; - * - * // Handle the operation using the await pattern. - * const [operation] = await client.importProductSets(request); - * - * const [response] = await operation.promise(); - */ - importProductSets(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.importProductSets(request, options, callback); - } - - /** - * Asynchronous API to delete all Products in a ProductSet or all Products - * that are in no ProductSet. - * - * If a Product is a member of the specified ProductSet in addition to other - * ProductSets, the Product will still be deleted. - * - * It is recommended to not delete the specified ProductSet until after this - * operation has completed. It is also recommended to not add any of the - * Products involved in the batch delete to a new ProductSet while this - * operation is running because those Products may still end up deleted. - * - * It's not possible to undo the PurgeProducts operation. Therefore, it is - * recommended to keep the csv files used in ImportProductSets (if that was - * how you originally built the Product Set) before starting PurgeProducts, in - * case you need to re-import the data after deletion. - * - * If the plan is to purge all of the Products from a ProductSet and then - * re-use the empty ProductSet to re-import new Products into the empty - * ProductSet, you must wait until the PurgeProducts operation has finished - * for that ProductSet. - * - * The google.longrunning.Operation API can be - * used to keep track of the progress and results of the request. - * `Operation.metadata` contains `BatchOperationMetadata`. (progress) - * - * @param {Object} request - * The request object that will be sent. - * @param {Object} [request.productSetPurgeConfig] - * Specify which ProductSet contains the Products to be deleted. - * - * This object should have the same structure as [ProductSetPurgeConfig]{@link google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} - * @param {boolean} [request.deleteOrphanProducts] - * If delete_orphan_products is true, all Products that are not in any - * ProductSet will be deleted. - * @param {string} [request.parent] - * Required. The project and location in which the Products should be deleted. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {boolean} [request.force] - * The default value is false. Override this value to true to actually perform - * the purge. - * @param {Object} [options] - * Optional parameters. You can override the default settings for this call, e.g, timeout, - * retries, paginations, etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/interfaces/CallOptions.html} for the details. - * @param {function(?Error, ?Object)} [callback] - * The function which will be called with the result of the API call. - * - * The second parameter to the callback is an object representing [Operation]{@link google.longrunning.Operation}. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. - * - * @example - * - * const vision = require('vision.v1p4beta1'); - * - * const client = new vision.v1p4beta1.ProductSearchClient({ - * // optional auth parameters. - * }); - * - * - * client.purgeProducts({}) - * .then(responses => { - * const response = responses[0]; - * // doThingsWith(response) - * }) - * .catch(err => { - * console.error(err); - * }); - */ - purgeProducts(request, options, callback) { - if (options instanceof Function && callback === undefined) { - callback = options; - options = {}; - } - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent, - }); - - return this._innerApiCalls.purgeProducts(request, options, callback); - } - - // -------------------- - // -- Path templates -- - // -------------------- - - /** - * Return a fully-qualified location resource name string. - * - * @param {String} project - * @param {String} location - * @returns {String} - */ - locationPath(project, location) { - return this._pathTemplates.locationPathTemplate.render({ - project: project, - location: location, - }); - } - - /** - * Return a fully-qualified product resource name string. - * - * @param {String} project - * @param {String} location - * @param {String} product - * @returns {String} - */ - productPath(project, location, product) { - return this._pathTemplates.productPathTemplate.render({ - project: project, - location: location, - product: product, - }); - } - - /** - * Return a fully-qualified product_set resource name string. - * - * @param {String} project - * @param {String} location - * @param {String} productSet - * @returns {String} - */ - productSetPath(project, location, productSet) { - return this._pathTemplates.productSetPathTemplate.render({ - project: project, - location: location, - product_set: productSet, - }); - } - - /** - * Return a fully-qualified reference_image resource name string. - * - * @param {String} project - * @param {String} location - * @param {String} product - * @param {String} referenceImage - * @returns {String} - */ - referenceImagePath(project, location, product, referenceImage) { - return this._pathTemplates.referenceImagePathTemplate.render({ - project: project, - location: location, - product: product, - reference_image: referenceImage, - }); - } - - /** - * Parse the locationName from a location resource. - * - * @param {String} locationName - * A fully-qualified path representing a location resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromLocationName(locationName) { - return this._pathTemplates.locationPathTemplate.match(locationName).project; - } - - /** - * Parse the locationName from a location resource. - * - * @param {String} locationName - * A fully-qualified path representing a location resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromLocationName(locationName) { - return this._pathTemplates.locationPathTemplate.match(locationName) - .location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).project; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).location; - } - - /** - * Parse the productName from a product resource. - * - * @param {String} productName - * A fully-qualified path representing a product resources. - * @returns {String} - A string representing the product. - */ - matchProductFromProductName(productName) { - return this._pathTemplates.productPathTemplate.match(productName).product; - } - - /** - * Parse the productSetName from a product_set resource. - * - * @param {String} productSetName - * A fully-qualified path representing a product_set resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromProductSetName(productSetName) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) - .project; - } - - /** - * Parse the productSetName from a product_set resource. - * - * @param {String} productSetName - * A fully-qualified path representing a product_set resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromProductSetName(productSetName) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) - .location; - } - - /** - * Parse the productSetName from a product_set resource. - * - * @param {String} productSetName - * A fully-qualified path representing a product_set resources. - * @returns {String} - A string representing the product_set. - */ - matchProductSetFromProductSetName(productSetName) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) - .product_set; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the project. - */ - matchProjectFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).project; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the location. - */ - matchLocationFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).location; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the product. - */ - matchProductFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).product; - } - - /** - * Parse the referenceImageName from a reference_image resource. - * - * @param {String} referenceImageName - * A fully-qualified path representing a reference_image resources. - * @returns {String} - A string representing the reference_image. - */ - matchReferenceImageFromReferenceImageName(referenceImageName) { - return this._pathTemplates.referenceImagePathTemplate.match( - referenceImageName - ).reference_image; - } -} - -module.exports = ProductSearchClient; diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts new file mode 100644 index 00000000000..7f03a65d17f --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -0,0 +1,2619 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as gax from 'google-gax'; +import { + APICallback, + Callback, + CallOptions, + Descriptors, + ClientOptions, + LROperation, + PaginationCallback, + PaginationResponse, +} from 'google-gax'; +import * as path from 'path'; + +import {Transform} from 'stream'; +import * as protosTypes from '../../protos/protos'; +import * as gapicConfig from './product_search_client_config.json'; + +const version = require('../../../package.json').version; + +/** + * Manages Products and ProductSets of reference images for use in product + * search. It uses the following resource model: + * + * - The API has a collection of + * [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] resources, named + * `projects/* /locations/* /productSets/*`, which acts as a way to put different + * products into groups to limit identification. + * + * In parallel, + * + * - The API has a collection of + * [Product][google.cloud.vision.v1p4beta1.Product] resources, named + * `projects/* /locations/* /products/*` + * + * - Each [Product][google.cloud.vision.v1p4beta1.Product] has a collection of + * [ReferenceImage][google.cloud.vision.v1p4beta1.ReferenceImage] resources, + * named + * `projects/* /locations/* /products/* /referenceImages/*` + * @class + * @memberof v1p4beta1 + */ +export class ProductSearchClient { + private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _innerApiCalls: {[name: string]: Function}; + private _pathTemplates: {[name: string]: gax.PathTemplate}; + private _terminated = false; + auth: gax.GoogleAuth; + operationsClient: gax.OperationsClient; + productSearchStub: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ProductSearchClient. + * + * @param {object} [options] - The configuration object. See the subsequent + * parameters for more details. + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {function} [options.promise] - Custom promise module to use instead + * of native Promises. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + */ + + constructor(opts?: ClientOptions) { + // Ensure that options include the service address and port. + const staticMembers = this.constructor as typeof ProductSearchClient; + const servicePath = + opts && opts.servicePath + ? opts.servicePath + : opts && opts.apiEndpoint + ? opts.apiEndpoint + : staticMembers.servicePath; + const port = opts && opts.port ? opts.port : staticMembers.port; + + if (!opts) { + opts = {servicePath, port}; + } + opts.servicePath = opts.servicePath || servicePath; + opts.port = opts.port || port; + opts.clientConfig = opts.clientConfig || {}; + + const isBrowser = typeof window !== 'undefined'; + if (isBrowser) { + opts.fallback = true; + } + // If we are in browser, we are already using fallback because of the + // "browser" field in package.json. + // But if we were explicitly requested to use fallback, let's do it now. + const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + + // Create a `gaxGrpc` object, with any grpc-specific options + // sent to the client. + opts.scopes = (this.constructor as typeof ProductSearchClient).scopes; + const gaxGrpc = new gaxModule.GrpcClient(opts); + + // Save the auth object to the client, for use by other methods. + this.auth = gaxGrpc.auth as gax.GoogleAuth; + + // Determine the client header string. + const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + // For Node.js, pass the path to JSON proto file. + // For browsers, pass the JSON content. + + const nodejsProtoPath = path.join( + __dirname, + '..', + '..', + 'protos', + 'protos.json' + ); + const protos = gaxGrpc.loadProto( + opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + ); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this._pathTemplates = { + locationPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + productPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}' + ), + productSetPathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/productSets/{product_set}' + ), + referenceImagePathTemplate: new gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this._descriptors.page = { + listProductSets: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'productSets' + ), + listProducts: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + listReferenceImages: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'referenceImages' + ), + listProductsInProductSet: new gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'products' + ), + }; + + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const protoFilesRoot = opts.fallback + ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) + : gaxModule.protobuf.loadSync(nodejsProtoPath); + + this.operationsClient = gaxModule + .lro({ + auth: this.auth, + grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + }) + .operationsClient(opts); + const importProductSetsResponse = protoFilesRoot.lookup( + '.google.cloud.vision.v1p4beta1.ImportProductSetsResponse' + ) as gax.protobuf.Type; + const importProductSetsMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1p4beta1.BatchOperationMetadata' + ) as gax.protobuf.Type; + const purgeProductsResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const purgeProductsMetadata = protoFilesRoot.lookup( + '.google.cloud.vision.v1p4beta1.BatchOperationMetadata' + ) as gax.protobuf.Type; + + this._descriptors.longrunning = { + importProductSets: new gaxModule.LongrunningDescriptor( + this.operationsClient, + importProductSetsResponse.decode.bind(importProductSetsResponse), + importProductSetsMetadata.decode.bind(importProductSetsMetadata) + ), + purgeProducts: new gaxModule.LongrunningDescriptor( + this.operationsClient, + purgeProductsResponse.decode.bind(purgeProductsResponse), + purgeProductsMetadata.decode.bind(purgeProductsMetadata) + ), + }; + + // Put together the default options sent with requests. + const defaults = gaxGrpc.constructSettings( + 'google.cloud.vision.v1p4beta1.ProductSearch', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this._innerApiCalls = {}; + + // Put together the "service stub" for + // google.cloud.vision.v1p4beta1.ProductSearch. + this.productSearchStub = gaxGrpc.createStub( + opts.fallback + ? (protos as protobuf.Root).lookupService( + 'google.cloud.vision.v1p4beta1.ProductSearch' + ) + : // tslint:disable-next-line no-any + (protos as any).google.cloud.vision.v1p4beta1.ProductSearch, + opts + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const productSearchStubMethods = [ + 'createProductSet', + 'listProductSets', + 'getProductSet', + 'updateProductSet', + 'deleteProductSet', + 'createProduct', + 'listProducts', + 'getProduct', + 'updateProduct', + 'deleteProduct', + 'createReferenceImage', + 'deleteReferenceImage', + 'listReferenceImages', + 'getReferenceImage', + 'addProductToProductSet', + 'removeProductFromProductSet', + 'listProductsInProductSet', + 'importProductSets', + 'purgeProducts', + ]; + + for (const methodName of productSearchStubMethods) { + const innerCallPromise = this.productSearchStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + return stub[methodName].apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const apiCall = gaxModule.createApiCall( + innerCallPromise, + defaults[methodName], + this._descriptors.page[methodName] || + this._descriptors.stream[methodName] || + this._descriptors.longrunning[methodName] + ); + + this._innerApiCalls[methodName] = ( + argument: {}, + callOptions?: CallOptions, + callback?: APICallback + ) => { + return apiCall(argument, callOptions, callback); + }; + } + } + + /** + * The DNS address for this API service. + */ + static get servicePath() { + return 'vision.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + */ + static get apiEndpoint() { + return 'vision.googleapis.com'; + } + + /** + * The port for this API service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-vision', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @param {function(Error, string)} callback - the callback to + * be called with the current project Id. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + createProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + | undefined + ), + {} | undefined + ] + >; + createProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Creates and returns a new ProductSet resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + * 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p4beta1.ProductSet} request.productSet + * Required. The ProductSet to create. + * @param {string} request.productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + createProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.createProductSet(request, options, callback); + } + getProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest + | undefined + ), + {} | undefined + ] + >; + getProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Gets information associated with a ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + getProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.getProductSet(request, options, callback); + } + updateProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + | undefined + ), + {} | undefined + ] + >; + updateProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Makes changes to a ProductSet resource. + * Only display_name can be updated currently. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but + * missing from the request or longer than 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1p4beta1.ProductSet} request.productSet + * Required. The ProductSet resource which replaces the one on the server. + * @param {google.protobuf.FieldMask} request.updateMask + * The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + updateProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProductSet, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product_set.name': request.productSet!.name || '', + }); + return this._innerApiCalls.updateProductSet(request, options, callback); + } + deleteProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + | undefined + ), + {} | undefined + ] + >; + deleteProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Permanently deletes a ProductSet. Products and ReferenceImages in the + * ProductSet are not deleted. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + deleteProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.deleteProductSet(request, options, callback); + } + createProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + ( + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest + | undefined + ), + {} | undefined + ] + >; + createProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest + | undefined, + {} | undefined + > + ): void; + /** + * Creates and returns a new product resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if description is longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is missing or invalid. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the Product should be created. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p4beta1.Product} request.product + * Required. The product to create. + * @param {string} request.productId + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + createProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + ( + | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.createProduct(request, options, callback); + } + getProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, + {} | undefined + ] + >; + getProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, + {} | undefined + > + ): void; + /** + * Gets information associated with a Product. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + getProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + | protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.getProduct(request, options, callback); + } + updateProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | undefined + ), + {} | undefined + ] + >; + updateProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | undefined, + {} | undefined + > + ): void; + /** + * Makes changes to a Product resource. + * Only the `display_name`, `description`, and `labels` fields can be updated + * right now. + * + * If labels are updated, the change will not be reflected in queries until + * the next index time. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but is + * missing from the request or longer than 4096 characters. + * * Returns INVALID_ARGUMENT if description is present in update_mask but is + * longer than 4096 characters. + * * Returns INVALID_ARGUMENT if product_category is present in update_mask. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1p4beta1.Product} request.product + * Required. The Product resource which replaces the one on the server. + * product.name is immutable. + * @param {google.protobuf.FieldMask} request.updateMask + * The [FieldMask][google.protobuf.FieldMask] that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + updateProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + 'product.name': request.product!.name || '', + }); + return this._innerApiCalls.updateProduct(request, options, callback); + } + deleteProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest + | undefined + ), + {} | undefined + ] + >; + deleteProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest + | undefined, + {} | undefined + > + ): void; + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + deleteProduct( + request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.deleteProduct(request, options, callback); + } + createReferenceImage( + request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + createReferenceImage( + request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | undefined, + {} | undefined + > + ): void; + /** + * Creates and returns a new ReferenceImage resource. + * + * The `bounding_poly` field is optional. If `bounding_poly` is not specified, + * the system will try to detect regions of interest in the image that are + * compatible with the product_category on the parent product. If it is + * specified, detection is ALWAYS skipped. The system converts polygons into + * non-rotated rectangles. + * + * Note that the pipeline will resize the image if the image resolution is too + * large to process (above 50MP). + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 + * characters. + * * Returns INVALID_ARGUMENT if the product does not exist. + * * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing + * compatible with the parent product's product_category is detected. + * * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product in which to create the reference + * image. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {google.cloud.vision.v1p4beta1.ReferenceImage} request.referenceImage + * Required. The reference image to create. + * If an image ID is specified, it is ignored. + * @param {string} request.referenceImageId + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + createReferenceImage( + request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.createReferenceImage(request, options, callback); + } + deleteReferenceImage( + request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + deleteReferenceImage( + request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | undefined, + {} | undefined + > + ): void; + /** + * Permanently deletes a reference image. + * + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + deleteReferenceImage( + request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.deleteReferenceImage(request, options, callback); + } + getReferenceImage( + request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + getReferenceImage( + request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | undefined, + {} | undefined + > + ): void; + /** + * Gets information associated with a ReferenceImage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the specified image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + getReferenceImage( + request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.getReferenceImage(request, options, callback); + } + addProductToProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | undefined + ), + {} | undefined + ] + >; + addProductToProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Adds a Product to the specified ProductSet. If the Product is already + * present, no change is made. + * + * One Product can be added to at most 100 ProductSets. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + addProductToProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.addProductToProductSet( + request, + options, + callback + ); + } + removeProductFromProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | undefined + ), + {} | undefined + ] + >; + removeProductFromProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | undefined, + {} | undefined + > + ): void; + /** + * Removes a Product from the specified ProductSet. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be removed from this + * ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + removeProductFromProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | undefined, + {} | undefined + >, + callback?: Callback< + protosTypes.google.protobuf.IEmpty, + | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | undefined, + {} | undefined + > + ): Promise< + [ + protosTypes.google.protobuf.IEmpty, + ( + | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.removeProductFromProductSet( + request, + options, + callback + ); + } + + importProductSets( + request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + importProductSets( + request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Asynchronous API that imports a list of reference images to specified + * product sets based on a list of image information. + * + * The [google.longrunning.Operation][google.longrunning.Operation] API can be + * used to keep track of the progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * `Operation.response` contains `ImportProductSetsResponse`. (results) + * + * The input source of this method is a csv file on Google Cloud Storage. + * For the format of the csv file please see + * [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri]. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} request.inputConfig + * Required. The input content for the list of requests. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + importProductSets( + request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.importProductSets(request, options, callback); + } + purgeProducts( + request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + options?: gax.CallOptions + ): Promise< + [ + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + purgeProducts( + request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + options: gax.CallOptions, + callback: Callback< + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): void; + /** + * Asynchronous API to delete all Products in a ProductSet or all Products + * that are in no ProductSet. + * + * If a Product is a member of the specified ProductSet in addition to other + * ProductSets, the Product will still be deleted. + * + * It is recommended to not delete the specified ProductSet until after this + * operation has completed. It is also recommended to not add any of the + * Products involved in the batch delete to a new ProductSet while this + * operation is running because those Products may still end up deleted. + * + * It's not possible to undo the PurgeProducts operation. Therefore, it is + * recommended to keep the csv files used in ImportProductSets (if that was + * how you originally built the Product Set) before starting PurgeProducts, in + * case you need to re-import the data after deletion. + * + * If the plan is to purge all of the Products from a ProductSet and then + * re-use the empty ProductSet to re-import new Products into the empty + * ProductSet, you must wait until the PurgeProducts operation has finished + * for that ProductSet. + * + * The [google.longrunning.Operation][google.longrunning.Operation] API can be + * used to keep track of the progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1p4beta1.ProductSetPurgeConfig} request.productSetPurgeConfig + * Specify which ProductSet contains the Products to be deleted. + * @param {boolean} request.deleteOrphanProducts + * If delete_orphan_products is true, all Products that are not in any + * ProductSet will be deleted. + * @param {string} request.parent + * Required. The project and location in which the Products should be deleted. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {boolean} request.force + * The default value is false. Override this value to true to actually perform + * the purge. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + purgeProducts( + request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + >, + callback?: Callback< + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + > + ): Promise< + [ + LROperation< + protosTypes.google.protobuf.IEmpty, + protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protosTypes.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.purgeProducts(request, options, callback); + } + listProductSets( + request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + ] + >; + listProductSets( + request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + > + ): void; + /** + * Lists ProductSets in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListProductSetsRequest]{@link google.cloud.vision.v1p4beta1.ListProductSetsRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListProductSetsResponse]{@link google.cloud.vision.v1p4beta1.ListProductSetsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listProductSets( + request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.listProductSets(request, options, callback); + } + + /** + * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductSets} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} on 'data' event. + */ + listProductSetsStream( + request?: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listProductSets.createStream( + this._innerApiCalls.listProductSets as gax.GaxCall, + request, + callSettings + ); + } + listProducts( + request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + ] + >; + listProducts( + request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + > + ): void; + /** + * Lists products in an unspecified order. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListProductsRequest]{@link google.cloud.vision.v1p4beta1.ListProductsRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListProductsResponse]{@link google.cloud.vision.v1p4beta1.ListProductsResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listProducts( + request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.listProducts(request, options, callback); + } + + /** + * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProducts} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. + */ + listProductsStream( + request?: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listProducts.createStream( + this._innerApiCalls.listProducts as gax.GaxCall, + request, + callSettings + ); + } + listReferenceImages( + request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + ] + >; + listReferenceImages( + request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + > + ): void; + /** + * Lists reference images. + * + * Possible errors: + * + * * Returns NOT_FOUND if the parent product does not exist. + * * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less + * than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListReferenceImagesRequest]{@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListReferenceImagesResponse]{@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listReferenceImages( + request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + return this._innerApiCalls.listReferenceImages(request, options, callback); + } + + /** + * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listReferenceImages} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} on 'data' event. + */ + listReferenceImagesStream( + request?: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listReferenceImages.createStream( + this._innerApiCalls.listReferenceImages as gax.GaxCall, + request, + callSettings + ); + } + listProductsInProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + options?: gax.CallOptions + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + ] + >; + listProductsInProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + options: gax.CallOptions, + callback: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + > + ): void; + /** + * Lists the Products in a ProductSet, in an unspecified order. If the + * ProductSet does not exist, the products field of the response will be + * empty. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * The client library support auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * + * When autoPaginate: false is specified through options, the array has three elements. + * The first element is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product} that corresponds to + * the one page received from the API server. + * If the second element is not null it contains the request object of type [ListProductsInProductSetRequest]{@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} + * that can be used to obtain the next page of the results. + * If it is null, the next page does not exist. + * The third element contains the raw response received from the API server. Its type is + * [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse}. + * + * The promise has a method named "cancel" which cancels the ongoing API call. + */ + listProductsInProductSet( + request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + optionsOrCallback?: + | gax.CallOptions + | Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + >, + callback?: Callback< + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + > + ): Promise< + [ + protosTypes.google.cloud.vision.v1p4beta1.IProduct[], + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, + protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + ] + > | void { + request = request || {}; + let options: gax.CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as gax.CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + return this._innerApiCalls.listProductsInProductSet( + request, + options, + callback + ); + } + + /** + * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. + * + * This fetches the paged responses for {@link listProductsInProductSet} continuously + * and invokes the callback registered for 'data' event for each element in the + * responses. + * + * The returned object has 'end' method when no more elements are required. + * + * autoPaginate option will be ignored. + * + * @see {@link https://nodejs.org/api/stream.html} + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. + */ + listProductsInProductSetStream( + request?: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + options?: gax.CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + const callSettings = new gax.CallSettings(options); + return this._descriptors.page.listProductsInProductSet.createStream( + this._innerApiCalls.listProductsInProductSet as gax.GaxCall, + request, + callSettings + ); + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project: string, location: string) { + return this._pathTemplates.locationPathTemplate.render({ + project, + location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this._pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this._pathTemplates.locationPathTemplate.match(locationName) + .location; + } + + /** + * Return a fully-qualified product resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @returns {string} Resource name string. + */ + productPath(project: string, location: string, product: string) { + return this._pathTemplates.productPathTemplate.render({ + project, + location, + product, + }); + } + + /** + * Parse the project from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).project; + } + + /** + * Parse the location from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).location; + } + + /** + * Parse the product from Product resource. + * + * @param {string} productName + * A fully-qualified path representing Product resource. + * @returns {string} A string representing the product. + */ + matchProductFromProductName(productName: string) { + return this._pathTemplates.productPathTemplate.match(productName).product; + } + + /** + * Return a fully-qualified productSet resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product_set + * @returns {string} Resource name string. + */ + productSetPath(project: string, location: string, productSet: string) { + return this._pathTemplates.productSetPathTemplate.render({ + project, + location, + product_set: productSet, + }); + } + + /** + * Parse the project from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .project; + } + + /** + * Parse the location from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the location. + */ + matchLocationFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .location; + } + + /** + * Parse the product_set from ProductSet resource. + * + * @param {string} productSetName + * A fully-qualified path representing ProductSet resource. + * @returns {string} A string representing the product_set. + */ + matchProductSetFromProductSetName(productSetName: string) { + return this._pathTemplates.productSetPathTemplate.match(productSetName) + .product_set; + } + + /** + * Return a fully-qualified referenceImage resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} product + * @param {string} reference_image + * @returns {string} Resource name string. + */ + referenceImagePath( + project: string, + location: string, + product: string, + referenceImage: string + ) { + return this._pathTemplates.referenceImagePathTemplate.render({ + project, + location, + product, + reference_image: referenceImage, + }); + } + + /** + * Parse the project from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the project. + */ + matchProjectFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).project; + } + + /** + * Parse the location from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the location. + */ + matchLocationFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).location; + } + + /** + * Parse the product from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the product. + */ + matchProductFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).product; + } + + /** + * Parse the reference_image from ReferenceImage resource. + * + * @param {string} referenceImageName + * A fully-qualified path representing ReferenceImage resource. + * @returns {string} A string representing the reference_image. + */ + matchReferenceImageFromReferenceImageName(referenceImageName: string) { + return this._pathTemplates.referenceImagePathTemplate.match( + referenceImageName + ).reference_image; + } + + /** + * Terminate the GRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + */ + close(): Promise { + if (!this._terminated) { + return this.productSearchStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json index 2c4fc8c0828..518529b78b7 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client_config.json @@ -2,116 +2,115 @@ "interfaces": { "google.cloud.vision.v1p4beta1.ProductSearch": { "retry_codes": { + "non_idempotent": [], "idempotent": [ "DEADLINE_EXCEEDED", "UNAVAILABLE" - ], - "non_idempotent": [] + ] }, "retry_params": { "default": { "initial_retry_delay_millis": 100, "retry_delay_multiplier": 1.3, "max_retry_delay_millis": 60000, - "initial_rpc_timeout_millis": 20000, - "rpc_timeout_multiplier": 1.0, - "max_rpc_timeout_millis": 20000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, "total_timeout_millis": 600000 } }, "methods": { "CreateProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "ListProductSets": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "GetProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "UpdateProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "DeleteProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "CreateProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "ListProducts": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "GetProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "UpdateProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "DeleteProduct": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "CreateReferenceImage": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "DeleteReferenceImage": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "ListReferenceImages": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "GetReferenceImage": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "AddProductToProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "RemoveProductFromProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "ListProductsInProductSet": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "idempotent", "retry_params_name": "default" }, "ImportProductSets": { - "timeout_millis": 60000, + "timeout_millis": 600000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" }, "PurgeProducts": { - "timeout_millis": 60000, "retry_codes_name": "non_idempotent", "retry_params_name": "default" } diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_proto_list.json b/packages/google-cloud-vision/src/v1p4beta1/product_search_proto_list.json index f4abec5004a..04693e0484d 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_proto_list.json +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_proto_list.json @@ -1,3 +1,9 @@ [ - "../../protos/google/cloud/vision/v1p4beta1/product_search_service.proto" + "../../protos/google/cloud/vision/v1p4beta1/face.proto", + "../../protos/google/cloud/vision/v1p4beta1/geometry.proto", + "../../protos/google/cloud/vision/v1p4beta1/image_annotator.proto", + "../../protos/google/cloud/vision/v1p4beta1/product_search.proto", + "../../protos/google/cloud/vision/v1p4beta1/product_search_service.proto", + "../../protos/google/cloud/vision/v1p4beta1/text_annotation.proto", + "../../protos/google/cloud/vision/v1p4beta1/web_detection.proto" ] diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index cc4795b68f3..5afc6626e39 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,19 +1,12 @@ { - "updateTime": "2020-02-07T20:29:26.289603Z", + "updateTime": "2020-03-02T23:51:22.269713Z", "sources": [ - { - "generator": { - "name": "artman", - "version": "0.44.4", - "dockerImage": "googleapis/artman@sha256:19e945954fc960a4bdfee6cb34695898ab21a8cf0bac063ee39b91f00a1faec8" - } - }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "e46f761cd6ec15a9e3d5ed4ff321a4bcba8e8585", - "internalRef": "293710856" + "sha": "244ab2b83a82076a1fa7be63b7e0671af73f5c02", + "internalRef": "298455048" } }, { @@ -30,9 +23,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } }, { @@ -40,9 +32,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1p1beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p1beta1.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } }, { @@ -50,9 +41,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1p2beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p2beta1.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } }, { @@ -60,9 +50,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1p3beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p3beta1.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } }, { @@ -70,9 +59,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1p4beta1", - "language": "nodejs", - "generator": "gapic", - "config": "google/cloud/vision/artman_vision_v1p4beta1.yaml" + "language": "typescript", + "generator": "gapic-generator-typescript" } } ] diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 3e38d7185a8..8eeb83fb94e 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -22,27 +22,31 @@ logging.basicConfig(level=logging.DEBUG) # Run the gapic generator -gapic = gcp.GAPICGenerator() +gapic = gcp.GAPICMicrogenerator() versions = ['v1', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1', 'v1p4beta1'] for version in versions: - library = gapic.node_library('vision', version) - s.copy(library, excludes=['src/index.js', 'README.md', 'package.json']) - + library = gapic.typescript_library( + 'vision', version, + generator_args={ + "grpc-service-config": f"google/cloud/vision/{version}/vision_grpc_service_config.json", + "package-name": f"@google-cloud/vision", + "main-service": f"vision" + }, + proto_path=f'/google/cloud/vision/{version}', + extra_proto_files=['google/cloud/common_resources.proto'], + ) + s.copy(library, excludes=['src/index.ts', 'package.json']) +# extends interface for client.ts +for version in versions: + client_file = f"src/{version}/image_annotator_client.ts" + s.replace(client_file, '\Z', + 'import {FeaturesMethod} from \'../helpers\'; \n export interface ImageAnnotatorClient extends FeaturesMethod {}' + ) # Copy common templates common_templates = gcp.CommonTemplates() templates = common_templates.node_library() s.copy(templates) -# [START fix-dead-link] -s.replace('**/doc/google/protobuf/doc_timestamp.js', - 'https:\/\/cloud\.google\.com[\s\*]*http:\/\/(.*)[\s\*]*\)', - r"https://\1)") - -s.replace('**/doc/google/protobuf/doc_timestamp.js', - 'toISOString\]', - 'toISOString)') -# [END fix-dead-link] - # Node.js specific cleanup subprocess.run(['npm', 'install']) subprocess.run(['npm', 'run', 'fix']) diff --git a/packages/google-cloud-vision/src/v1p3beta1/index.js b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js similarity index 53% rename from packages/google-cloud-vision/src/v1p3beta1/index.js rename to packages/google-cloud-vision/system-test/fixtures/sample/src/index.js index d35c3834272..a9ca48b4cd9 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/index.js +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,11 +11,18 @@ // 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'; +/* eslint-disable node/no-missing-require, no-unused-vars */ +const vision = require('@google-cloud/vision'); -const ProductSearchClient = require('./product_search_client'); -const ImageAnnotatorClient = require('./image_annotator_client'); +function main() { + const imageAnnotatorClient = new vision.ImageAnnotatorClient(); + const productSearchClient = new vision.ProductSearchClient(); +} -module.exports.ProductSearchClient = ProductSearchClient; -module.exports.ImageAnnotatorClient = ImageAnnotatorClient; +main(); diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..67a0346c400 --- /dev/null +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,26 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {ImageAnnotatorClient, ProductSearchClient} from '@google-cloud/vision'; + +function main() { + const imageAnnotatorClient = new ImageAnnotatorClient(); + const productSearchClient = new ProductSearchClient(); +} + +main(); diff --git a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.ts similarity index 83% rename from packages/google-cloud-vision/system-test/image_annotator_smoke_test.js rename to packages/google-cloud-vision/system-test/image_annotator_smoke_test.ts index 7907d507a61..e0f5c1f2c13 100644 --- a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.ts @@ -12,9 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -'use strict'; - -const {describe, it} = require('mocha'); +import {describe, it} from 'mocha'; describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { @@ -26,24 +24,24 @@ describe('ImageAnnotatorSmokeTest', () => { const gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; const source = { - gcsImageUri: gcsImageUri, + gcsImageUri, }; const image = { - source: source, + source, }; const type = 'FACE_DETECTION'; const featuresElement = { - type: type, + type, }; const features = [featuresElement]; const requestsElement = { - image: image, - features: features, + image, + features, }; const requests = [requestsElement]; client - .batchAnnotateImages({requests: requests}) - .then(responses => { + .batchAnnotateImages({requests}) + .then((responses: {[index: number]: string}) => { const response = responses[0]; console.log(response); }) diff --git a/packages/google-cloud-vision/system-test/install.ts b/packages/google-cloud-vision/system-test/install.ts new file mode 100644 index 00000000000..c9aa74ec221 --- /dev/null +++ b/packages/google-cloud-vision/system-test/install.ts @@ -0,0 +1,51 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {packNTest} from 'pack-n-play'; +import {readFileSync} from 'fs'; +import {describe, it} from 'mocha'; + +describe('typescript consumer tests', () => { + it('should have correct type signature for typescript users', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), // path to your module. + sample: { + description: 'typescript based user can use the type definitions', + ts: readFileSync( + './system-test/fixtures/sample/src/index.ts' + ).toString(), + }, + }; + await packNTest(options); // will throw upon error. + }); + + it('should have correct type signature for javascript users', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), // path to your module. + sample: { + description: 'typescript based user can use the type definitions', + ts: readFileSync( + './system-test/fixtures/sample/src/index.js' + ).toString(), + }, + }; + await packNTest(options); // will throw upon error. + }); +}); diff --git a/packages/google-cloud-vision/system-test/vision-v1p2beta1.js b/packages/google-cloud-vision/system-test/vision-v1p2beta1.ts similarity index 83% rename from packages/google-cloud-vision/system-test/vision-v1p2beta1.js rename to packages/google-cloud-vision/system-test/vision-v1p2beta1.ts index 8c2ce8a591b..5b98620e090 100644 --- a/packages/google-cloud-vision/system-test/vision-v1p2beta1.js +++ b/packages/google-cloud-vision/system-test/vision-v1p2beta1.ts @@ -12,9 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -'use strict'; - -const {describe, it} = require('mocha'); +import {describe, it} from 'mocha'; describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { @@ -26,24 +24,24 @@ describe('ImageAnnotatorSmokeTest', () => { const gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; const source = { - gcsImageUri: gcsImageUri, + gcsImageUri, }; const image = { - source: source, + source, }; const type = 'FACE_DETECTION'; const featuresElement = { - type: type, + type, }; const features = [featuresElement]; const requestsElement = { - image: image, - features: features, + image, + features, }; const requests = [requestsElement]; client - .batchAnnotateImages({requests: requests}) - .then(responses => { + .batchAnnotateImages({requests}) + .then((responses: {[index: number]: string}) => { const response = responses[0]; console.log(response); }) diff --git a/packages/google-cloud-vision/system-test/vision.js b/packages/google-cloud-vision/system-test/vision.js deleted file mode 100644 index 2479af73422..00000000000 --- a/packages/google-cloud-vision/system-test/vision.js +++ /dev/null @@ -1,115 +0,0 @@ -/*! - * Copyright 2015 Google Inc. All Rights Reserved. - * - * 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. - */ - -'use strict'; - -const assert = require('assert'); -const {describe, it, before, after} = require('mocha'); -const fs = require('fs'); -const path = require('path'); -const {Storage} = require('@google-cloud/storage'); -const uuid = require('uuid'); - -const vision = require('../'); - -describe('Vision', function() { - const IMAGES = Object.freeze({ - document: path.join(__dirname, 'data/document.jpg'), - logo: path.join(__dirname, 'data/logo.jpg'), - rushmore: path.join(__dirname, 'data/rushmore.jpg'), - text: path.join(__dirname, 'data/text.png'), - malformed: __filename, - }); - - const TESTS_PREFIX = 'gcloud-vision-test'; - - const storage = new Storage(); - const client = new vision.v1.ImageAnnotatorClient(); - - const bucket = storage.bucket(generateName()); - - before(function(done) { - bucket.create(function(err) { - if (err) { - done(err); - return; - } - - bucket.upload(IMAGES.logo, done); - }); - }); - - after(async () => { - const [buckets] = await storage.getBuckets({prefix: TESTS_PREFIX}); - await Promise.all( - buckets.map(async bucket => { - await bucket.deleteFiles(); - await bucket.delete(); - }) - ); - }); - - it('should detect from a URL', () => { - const url = - 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; - return client.logoDetection(url).then(responses => { - const response = responses[0]; - assert.strictEqual( - response.logoAnnotations[0].description.toLowerCase(), - 'google' - ); - }); - }); - - it('should detect from a filename', () => { - return client.logoDetection(IMAGES.logo).then(responses => { - const response = responses[0]; - assert.ok( - /google/.test(response.logoAnnotations[0].description.toLowerCase()) - ); - }); - }); - - it('should detect from a Buffer', () => { - const buffer = fs.readFileSync(IMAGES.logo); - return client.logoDetection(buffer).then(responses => { - const response = responses[0]; - assert.ok( - /google/.test(response.logoAnnotations[0].description.toLowerCase()) - ); - }); - }); - - describe('single image', () => { - const TYPES = [{type: 'LABEL_DETECTION'}, {type: 'SAFE_SEARCH_DETECTION'}]; - it('should perform multiple detections', () => { - return client - .annotateImage({ - features: TYPES, - image: {source: {filename: IMAGES.rushmore}}, - }) - .then(responses => { - const response = responses[0]; - assert(response.labelAnnotations.length >= 1); - assert(response.safeSearchAnnotation !== null); - }); - }); - }); - - function generateName() { - return TESTS_PREFIX + uuid.v1(); - } -}); diff --git a/packages/google-cloud-vision/system-test/vision.ts b/packages/google-cloud-vision/system-test/vision.ts new file mode 100644 index 00000000000..19aaa37557a --- /dev/null +++ b/packages/google-cloud-vision/system-test/vision.ts @@ -0,0 +1,154 @@ +// Copyright 2015 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. + +import * as assert from 'assert'; +import {describe, it, before, after} from 'mocha'; +import * as fs from 'fs'; +import * as path from 'path'; +import {Storage} from '@google-cloud/storage'; +import * as uuid from 'uuid'; +import * as prototypes from '../protos/protos'; +import * as vision from '../src'; +// const vision = require('../src'); +describe('Vision', () => { + const IMAGES = Object.freeze({ + document: path.join( + __dirname, + '..', + '..', + 'system-test', + 'data/document.jpg' + ), + logo: path.join(__dirname, '..', '..', 'system-test', 'data/logo.jpg'), + rushmore: path.join( + __dirname, + '..', + '..', + 'system-test', + 'data/rushmore.jpg' + ), + text: path.join(__dirname, '..', '..', 'system-test', 'data/text.png'), + malformed: __filename, + }); + + const TESTS_PREFIX = 'gcloud-vision-test'; + + const storage = new Storage(); + const client = new vision.v1.ImageAnnotatorClient(); + const bucket = storage.bucket(generateName()); + + before(done => { + bucket.create((err: {}) => { + if (err) { + done(err); + return; + } + + bucket.upload(IMAGES.logo, done); + }); + }); + + after(async () => { + const [buckets] = await storage.getBuckets({prefix: TESTS_PREFIX}); + await Promise.all( + buckets.map(async bucket => { + await bucket.deleteFiles(); + await bucket.delete(); + }) + ); + }); + + it('should detect from a URL', () => { + const url = + 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; + return client + .logoDetection(url) + .then( + ( + responses: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse] + ) => { + const response = responses[0]; + assert.strictEqual( + response.logoAnnotations![0].description!.toLowerCase(), + 'google' + ); + } + ); + }); + + it('should detect from a filename', () => { + return client + .logoDetection(IMAGES.logo) + .then( + ( + responses: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse] + ) => { + const response = responses[0]; + assert.ok( + /google/.test( + response.logoAnnotations![0].description!.toLowerCase() + ) + ); + } + ); + }); + + it('should detect from a Buffer', () => { + const buffer = fs.readFileSync(IMAGES.logo); + return client + .logoDetection(buffer) + .then( + ( + responses: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse] + ) => { + const response = responses[0]; + assert.ok( + /google/.test( + response.logoAnnotations![0].description!.toLowerCase() + ) + ); + } + ); + }); + + describe('single image', () => { + const TYPES = [ + {type: 'FACE_DETECTION'}, + {type: 'LABEL_DETECTION'}, + {type: 'SAFE_SEARCH_DETECTION'}, + ]; + it('should perform multiple detections', () => { + return client + .annotateImage({ + features: TYPES, + image: {source: {filename: IMAGES.rushmore}}, + }) + .then( + ( + responses: [ + prototypes.google.cloud.vision.v1.IAnnotateImageResponse + ] + ) => { + const response = responses[0]; + assert(response.labelAnnotations!.length >= 1); + assert(response.safeSearchAnnotation !== null); + } + ); + }); + }); + + function generateName() { + return TESTS_PREFIX + uuid.v1(); + } +}); diff --git a/packages/google-cloud-vision/test/fixtures/image.jpg b/packages/google-cloud-vision/test/fixtures/image.jpg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts new file mode 100644 index 00000000000..c5589dad4b0 --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts @@ -0,0 +1,329 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const imageannotatorModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +class FakeError { + name: string; + message: string; + code: number; + constructor(n: number) { + this.name = 'fakeName'; + this.message = 'fake message'; + this.code = n; + } +} +const error = new FakeError(FAKE_STATUS_CODE); +export interface Callback { + (err: FakeError | null, response?: {} | null): void; +} + +export class Operation { + constructor() {} + promise() {} +} +function mockSimpleGrpcMethod( + expectedRequest: {}, + response: {} | null, + error: FakeError | null +) { + return (actualRequest: {}, options: {}, callback: Callback) => { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} +function mockLongRunningGrpcMethod( + expectedRequest: {}, + response: {} | null, + error?: {} | null +) { + return (request: {}) => { + assert.deepStrictEqual(request, expectedRequest); + const mockOperation = { + promise() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} +describe('v1.ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = imageannotatorModule.v1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.batchAnnotateImages(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); + client.batchAnnotateImages(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('batchAnnotateFiles', () => { + it('invokes batchAnnotateFiles without error', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.batchAnnotateFiles(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateFiles with error', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( + request, + null, + error + ); + client.batchAnnotateFiles(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('asyncBatchAnnotateImages', () => { + it('invokes asyncBatchAnnotateImages without error', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .asyncBatchAnnotateImages(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateImages with error', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .asyncBatchAnnotateImages(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + describe('asyncBatchAnnotateFiles', () => { + it('invokes asyncBatchAnnotateFiles without error', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .asyncBatchAnnotateFiles(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateFiles with error', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .asyncBatchAnnotateFiles(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts new file mode 100644 index 00000000000..5d183675a96 --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts @@ -0,0 +1,132 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const imageannotatorModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +class FakeError { + name: string; + message: string; + code: number; + constructor(n: number) { + this.name = 'fakeName'; + this.message = 'fake message'; + this.code = n; + } +} +const error = new FakeError(FAKE_STATUS_CODE); +export interface Callback { + (err: FakeError | null, response?: {} | null): void; +} + +export class Operation { + constructor() {} + promise() {} +} +function mockSimpleGrpcMethod( + expectedRequest: {}, + response: {} | null, + error: FakeError | null +) { + return (actualRequest: {}, options: {}, callback: Callback) => { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} +describe('v1p1beta1.ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p1beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p1beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = imageannotatorModule.v1p1beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.batchAnnotateImages(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', done => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); + client.batchAnnotateImages(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic-v1p2beta1.js b/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts similarity index 53% rename from packages/google-cloud-vision/test/gapic-v1p2beta1.js rename to packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts index 3dafe924715..00d9a51e68d 100644 --- a/packages/google-cloud-vision/test/gapic-v1p2beta1.js +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,70 +11,116 @@ // 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'; - -const assert = require('assert'); -const {describe, it} = require('mocha'); - -const visionModule = require('../src'); +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const imageannotatorModule = require('../src'); const FAKE_STATUS_CODE = 1; -const error = new Error(); -error.code = FAKE_STATUS_CODE; +class FakeError { + name: string; + message: string; + code: number; + constructor(n: number) { + this.name = 'fakeName'; + this.message = 'fake message'; + this.code = n; + } +} +const error = new FakeError(FAKE_STATUS_CODE); +export interface Callback { + (err: FakeError | null, response?: {} | null): void; +} -describe('ImageAnnotatorClient', () => { +export class Operation { + constructor() {} + promise() {} +} +function mockSimpleGrpcMethod( + expectedRequest: {}, + response: {} | null, + error: FakeError | null +) { + return (actualRequest: {}, options: {}, callback: Callback) => { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} +function mockLongRunningGrpcMethod( + expectedRequest: {}, + response: {} | null, + error?: {} | null +) { + return (request: {}) => { + assert.deepStrictEqual(request, expectedRequest); + const mockOperation = { + promise() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} +describe('v1p2beta1.ImageAnnotatorClient', () => { it('has servicePath', () => { - const servicePath = visionModule.v1p2beta1.ImageAnnotatorClient.servicePath; + const servicePath = + imageannotatorModule.v1p2beta1.ImageAnnotatorClient.servicePath; assert(servicePath); }); - it('has apiEndpoint', () => { - const apiEndpoint = visionModule.v1p2beta1.ImageAnnotatorClient.apiEndpoint; + const apiEndpoint = + imageannotatorModule.v1p2beta1.ImageAnnotatorClient.apiEndpoint; assert(apiEndpoint); }); - it('has port', () => { - const port = visionModule.v1p2beta1.ImageAnnotatorClient.port; + const port = imageannotatorModule.v1p2beta1.ImageAnnotatorClient.port; assert(port); assert(typeof port === 'number'); }); - - it('should create a client with no options', () => { - const client = new visionModule.v1p2beta1.ImageAnnotatorClient(); + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient(); assert(client); }); - it('should create a client with gRPC fallback', () => { - const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ fallback: true, }); assert(client); }); - describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { - const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - // Mock request - const requests = []; - const request = { - requests: requests, - }; - + const request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest = {}; // Mock response const expectedResponse = {}; - - // Mock Grpc layer + // Mock gRPC layer client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( request, - expectedResponse + expectedResponse, + null ); - - client.batchAnnotateImages(request, (err, response) => { + client.batchAnnotateImages(request, (err: {}, response: {}) => { assert.ifError(err); assert.deepStrictEqual(response, expectedResponse); done(); @@ -82,149 +128,87 @@ describe('ImageAnnotatorClient', () => { }); it('invokes batchAnnotateImages with error', done => { - const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer + const request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( request, null, error ); - - client.batchAnnotateImages(request, (err, response) => { - assert(err instanceof Error); + client.batchAnnotateImages(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); assert.strictEqual(err.code, FAKE_STATUS_CODE); assert(typeof response === 'undefined'); done(); }); }); }); - - describe('asyncBatchAnnotateFiles', function() { + describe('asyncBatchAnnotateFiles', () => { it('invokes asyncBatchAnnotateFiles without error', done => { - const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - // Mock request - const requests = []; - const request = { - requests: requests, - }; - + const request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest = {}; // Mock response const expectedResponse = {}; - - // Mock Grpc layer + // Mock gRPC layer client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( request, expectedResponse ); - client .asyncBatchAnnotateFiles(request) - .then(responses => { + .then((responses: [Operation]) => { const operation = responses[0]; - return operation.promise(); + return operation ? operation.promise() : {}; }) - .then(responses => { + .then((responses: [Operation]) => { assert.deepStrictEqual(responses[0], expectedResponse); done(); }) - .catch(err => { + .catch((err: {}) => { done(err); }); }); it('invokes asyncBatchAnnotateFiles with error', done => { - const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer + const request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( request, null, error ); - client .asyncBatchAnnotateFiles(request) - .then(responses => { + .then((responses: [Operation]) => { const operation = responses[0]; - return operation.promise(); + return operation ? operation.promise() : {}; }) .then(() => { assert.fail(); }) - .catch(err => { - assert(err instanceof Error); + .catch((err: FakeError) => { + assert(err instanceof FakeError); assert.strictEqual(err.code, FAKE_STATUS_CODE); done(); }); }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .metadataDecoder instanceof Function - ); - }); }); }); - -function mockSimpleGrpcMethod(expectedRequest, response, error) { - return function(actualRequest, options, callback) { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} - -function mockLongRunningGrpcMethod(expectedRequest, response, error) { - return request => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise: function() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts new file mode 100644 index 00000000000..420248bda0e --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts @@ -0,0 +1,214 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const imageannotatorModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +class FakeError { + name: string; + message: string; + code: number; + constructor(n: number) { + this.name = 'fakeName'; + this.message = 'fake message'; + this.code = n; + } +} +const error = new FakeError(FAKE_STATUS_CODE); +export interface Callback { + (err: FakeError | null, response?: {} | null): void; +} + +export class Operation { + constructor() {} + promise() {} +} +function mockSimpleGrpcMethod( + expectedRequest: {}, + response: {} | null, + error: FakeError | null +) { + return (actualRequest: {}, options: {}, callback: Callback) => { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} +function mockLongRunningGrpcMethod( + expectedRequest: {}, + response: {} | null, + error?: {} | null +) { + return (request: {}) => { + assert.deepStrictEqual(request, expectedRequest); + const mockOperation = { + promise() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} +describe('v1p3beta1.ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p3beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p3beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = imageannotatorModule.v1p3beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.batchAnnotateImages(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', done => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); + client.batchAnnotateImages(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('asyncBatchAnnotateFiles', () => { + it('invokes asyncBatchAnnotateFiles without error', done => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .asyncBatchAnnotateFiles(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateFiles with error', done => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .asyncBatchAnnotateFiles(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts new file mode 100644 index 00000000000..84a2f0cf3db --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts @@ -0,0 +1,321 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const imageannotatorModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +class FakeError { + name: string; + message: string; + code: number; + constructor(n: number) { + this.name = 'fakeName'; + this.message = 'fake message'; + this.code = n; + } +} +const error = new FakeError(FAKE_STATUS_CODE); +export interface Callback { + (err: FakeError | null, response?: {} | null): void; +} + +export class Operation { + constructor() {} + promise() {} +} +function mockSimpleGrpcMethod( + expectedRequest: {}, + response: {} | null, + error: FakeError | null +) { + return (actualRequest: {}, options: {}, callback: Callback) => { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} +function mockLongRunningGrpcMethod( + expectedRequest: {}, + response: {} | null, + error?: {} | null +) { + return (request: {}) => { + assert.deepStrictEqual(request, expectedRequest); + const mockOperation = { + promise() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} +describe('v1p4beta1.ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p4beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p4beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = imageannotatorModule.v1p4beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.batchAnnotateImages(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateImages with error', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( + request, + null, + error + ); + client.batchAnnotateImages(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('batchAnnotateFiles', () => { + it('invokes batchAnnotateFiles without error', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.batchAnnotateFiles(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes batchAnnotateFiles with error', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( + request, + null, + error + ); + client.batchAnnotateFiles(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('asyncBatchAnnotateImages', () => { + it('invokes asyncBatchAnnotateImages without error', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .asyncBatchAnnotateImages(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateImages with error', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .asyncBatchAnnotateImages(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + describe('asyncBatchAnnotateFiles', () => { + it('invokes asyncBatchAnnotateFiles without error', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .asyncBatchAnnotateFiles(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes asyncBatchAnnotateFiles with error', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest = {}; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .asyncBatchAnnotateFiles(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1.ts new file mode 100644 index 00000000000..ab940b73084 --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-product_search-v1.ts @@ -0,0 +1,1101 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const productsearchModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +class FakeError { + name: string; + message: string; + code: number; + constructor(n: number) { + this.name = 'fakeName'; + this.message = 'fake message'; + this.code = n; + } +} +const error = new FakeError(FAKE_STATUS_CODE); +export interface Callback { + (err: FakeError | null, response?: {} | null): void; +} + +export class Operation { + constructor() {} + promise() {} +} +function mockSimpleGrpcMethod( + expectedRequest: {}, + response: {} | null, + error: FakeError | null +) { + return (actualRequest: {}, options: {}, callback: Callback) => { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} +function mockLongRunningGrpcMethod( + expectedRequest: {}, + response: {} | null, + error?: {} | null +) { + return (request: {}) => { + assert.deepStrictEqual(request, expectedRequest); + const mockOperation = { + promise() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} +describe('v1.ProductSearchClient', () => { + it('has servicePath', () => { + const servicePath = productsearchModule.v1.ProductSearchClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = productsearchModule.v1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = productsearchModule.v1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new productsearchModule.v1.ProductSearchClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new productsearchModule.v1.ProductSearchClient({ + fallback: true, + }); + assert(client); + }); + describe('createProductSet', () => { + it('invokes createProductSet without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.createProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProductSet with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.createProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('getProductSet', () => { + it('invokes getProductSet without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.getProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProductSet with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.getProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('updateProductSet', () => { + it('invokes updateProductSet without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest = {}; + request.productSet = {}; + request.productSet.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.updateProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProductSet with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest = {}; + request.productSet = {}; + request.productSet.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.updateProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.deleteProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes deleteProductSet with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.deleteProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('createProduct', () => { + it('invokes createProduct without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.ICreateProductRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.createProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProduct with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.ICreateProductRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.createProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('getProduct', () => { + it('invokes getProduct without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IGetProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.getProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProduct with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IGetProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.getProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('updateProduct', () => { + it('invokes updateProduct without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest = {}; + request.product = {}; + request.product.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.updateProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProduct with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest = {}; + request.product = {}; + request.product.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.updateProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('deleteProduct', () => { + it('invokes deleteProduct without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.deleteProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes deleteProduct with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.deleteProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.createReferenceImage(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createReferenceImage with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + client.createReferenceImage(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.deleteReferenceImage(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes deleteReferenceImage with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + client.deleteReferenceImage(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.getReferenceImage(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getReferenceImage with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + client.getReferenceImage(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('addProductToProductSet', () => { + it('invokes addProductToProductSet without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.addProductToProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes addProductToProductSet with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.addProductToProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('removeProductFromProductSet', () => { + it('invokes removeProductFromProductSet without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.removeProductFromProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes removeProductFromProductSet with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.removeProductFromProductSet( + request, + (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + } + ); + }); + }); + describe('importProductSets', () => { + it('invokes importProductSets without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .importProductSets(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes importProductSets with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .importProductSets(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + describe('purgeProducts', () => { + it('invokes purgeProducts without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .purgeProducts(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes purgeProducts with error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .purgeProducts(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + describe('listProductSets', () => { + it('invokes listProductSets without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listProductSets = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listProductSets(request, (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + }); + describe('listProductSetsStream', () => { + it('invokes listProductSetsStream without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listProductSets = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listProductSetsStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); + describe('listProducts', () => { + it('invokes listProducts without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IListProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listProducts = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listProducts(request, (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + }); + describe('listProductsStream', () => { + it('invokes listProductsStream without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IListProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listProducts = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listProductsStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listReferenceImages(request, (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + }); + describe('listReferenceImagesStream', () => { + it('invokes listReferenceImagesStream without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listReferenceImagesStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); + describe('listProductsInProductSet', () => { + it('invokes listProductsInProductSet without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listProductsInProductSet( + request, + (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + } + ); + }); + }); + describe('listProductsInProductSetStream', () => { + it('invokes listProductsInProductSetStream without error', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listProductsInProductSetStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts new file mode 100644 index 00000000000..5eab211dc4a --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts @@ -0,0 +1,1040 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const productsearchModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +class FakeError { + name: string; + message: string; + code: number; + constructor(n: number) { + this.name = 'fakeName'; + this.message = 'fake message'; + this.code = n; + } +} +const error = new FakeError(FAKE_STATUS_CODE); +export interface Callback { + (err: FakeError | null, response?: {} | null): void; +} + +export class Operation { + constructor() {} + promise() {} +} +function mockSimpleGrpcMethod( + expectedRequest: {}, + response: {} | null, + error: FakeError | null +) { + return (actualRequest: {}, options: {}, callback: Callback) => { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} +function mockLongRunningGrpcMethod( + expectedRequest: {}, + response: {} | null, + error?: {} | null +) { + return (request: {}) => { + assert.deepStrictEqual(request, expectedRequest); + const mockOperation = { + promise() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} +describe('v1p3beta1.ProductSearchClient', () => { + it('has servicePath', () => { + const servicePath = + productsearchModule.v1p3beta1.ProductSearchClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = + productsearchModule.v1p3beta1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = productsearchModule.v1p3beta1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + fallback: true, + }); + assert(client); + }); + describe('createProductSet', () => { + it('invokes createProductSet without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.createProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProductSet with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.createProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('getProductSet', () => { + it('invokes getProductSet without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.getProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProductSet with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.getProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('updateProductSet', () => { + it('invokes updateProductSet without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest = {}; + request.productSet = {}; + request.productSet.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.updateProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProductSet with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest = {}; + request.productSet = {}; + request.productSet.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.updateProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.deleteProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes deleteProductSet with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.deleteProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('createProduct', () => { + it('invokes createProduct without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.createProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProduct with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.createProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('getProduct', () => { + it('invokes getProduct without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.getProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProduct with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.getProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('updateProduct', () => { + it('invokes updateProduct without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest = {}; + request.product = {}; + request.product.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.updateProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProduct with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest = {}; + request.product = {}; + request.product.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.updateProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('deleteProduct', () => { + it('invokes deleteProduct without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.deleteProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes deleteProduct with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.deleteProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.createReferenceImage(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createReferenceImage with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + client.createReferenceImage(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.deleteReferenceImage(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes deleteReferenceImage with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + client.deleteReferenceImage(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.getReferenceImage(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getReferenceImage with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + client.getReferenceImage(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('addProductToProductSet', () => { + it('invokes addProductToProductSet without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.addProductToProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes addProductToProductSet with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.addProductToProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('removeProductFromProductSet', () => { + it('invokes removeProductFromProductSet without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.removeProductFromProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes removeProductFromProductSet with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.removeProductFromProductSet( + request, + (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + } + ); + }); + }); + describe('importProductSets', () => { + it('invokes importProductSets without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .importProductSets(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes importProductSets with error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .importProductSets(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + describe('listProductSets', () => { + it('invokes listProductSets without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listProductSets = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listProductSets(request, (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + }); + describe('listProductSetsStream', () => { + it('invokes listProductSetsStream without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listProductSets = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listProductSetsStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); + describe('listProducts', () => { + it('invokes listProducts without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listProducts = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listProducts(request, (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + }); + describe('listProductsStream', () => { + it('invokes listProductsStream without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listProducts = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listProductsStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listReferenceImages(request, (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + }); + describe('listReferenceImagesStream', () => { + it('invokes listReferenceImagesStream without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listReferenceImagesStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); + describe('listProductsInProductSet', () => { + it('invokes listProductsInProductSet without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listProductsInProductSet( + request, + (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + } + ); + }); + }); + describe('listProductsInProductSetStream', () => { + it('invokes listProductsInProductSetStream without error', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listProductsInProductSetStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts new file mode 100644 index 00000000000..b83a0d25054 --- /dev/null +++ b/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts @@ -0,0 +1,1103 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protosTypes from '../protos/protos'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; +const productsearchModule = require('../src'); + +const FAKE_STATUS_CODE = 1; +class FakeError { + name: string; + message: string; + code: number; + constructor(n: number) { + this.name = 'fakeName'; + this.message = 'fake message'; + this.code = n; + } +} +const error = new FakeError(FAKE_STATUS_CODE); +export interface Callback { + (err: FakeError | null, response?: {} | null): void; +} + +export class Operation { + constructor() {} + promise() {} +} +function mockSimpleGrpcMethod( + expectedRequest: {}, + response: {} | null, + error: FakeError | null +) { + return (actualRequest: {}, options: {}, callback: Callback) => { + assert.deepStrictEqual(actualRequest, expectedRequest); + if (error) { + callback(error); + } else if (response) { + callback(null, response); + } else { + callback(null); + } + }; +} +function mockLongRunningGrpcMethod( + expectedRequest: {}, + response: {} | null, + error?: {} | null +) { + return (request: {}) => { + assert.deepStrictEqual(request, expectedRequest); + const mockOperation = { + promise() { + return new Promise((resolve, reject) => { + if (error) { + reject(error); + } else { + resolve([response]); + } + }); + }, + }; + return Promise.resolve([mockOperation]); + }; +} +describe('v1p4beta1.ProductSearchClient', () => { + it('has servicePath', () => { + const servicePath = + productsearchModule.v1p4beta1.ProductSearchClient.servicePath; + assert(servicePath); + }); + it('has apiEndpoint', () => { + const apiEndpoint = + productsearchModule.v1p4beta1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); + it('has port', () => { + const port = productsearchModule.v1p4beta1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); + }); + it('should create a client with no option', () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient(); + assert(client); + }); + it('should create a client with gRPC fallback', () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + fallback: true, + }); + assert(client); + }); + describe('createProductSet', () => { + it('invokes createProductSet without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.createProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProductSet with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.createProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('getProductSet', () => { + it('invokes getProductSet without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.getProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProductSet with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.getProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('updateProductSet', () => { + it('invokes updateProductSet without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest = {}; + request.productSet = {}; + request.productSet.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.updateProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProductSet with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest = {}; + request.productSet = {}; + request.productSet.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.updateProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.deleteProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes deleteProductSet with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.deleteProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('createProduct', () => { + it('invokes createProduct without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.createProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createProduct with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.createProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('getProduct', () => { + it('invokes getProduct without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.getProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getProduct with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.getProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('updateProduct', () => { + it('invokes updateProduct without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest = {}; + request.product = {}; + request.product.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.updateProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes updateProduct with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest = {}; + request.product = {}; + request.product.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.updateProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('deleteProduct', () => { + it('invokes deleteProduct without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.deleteProduct(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes deleteProduct with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( + request, + null, + error + ); + client.deleteProduct(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.createReferenceImage(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes createReferenceImage with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + client.createReferenceImage(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.deleteReferenceImage(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes deleteReferenceImage with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + client.deleteReferenceImage(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.getReferenceImage(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes getReferenceImage with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( + request, + null, + error + ); + client.getReferenceImage(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('addProductToProductSet', () => { + it('invokes addProductToProductSet without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.addProductToProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes addProductToProductSet with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.addProductToProductSet(request, (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + }); + }); + }); + describe('removeProductFromProductSet', () => { + it('invokes removeProductFromProductSet without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request, + expectedResponse, + null + ); + client.removeProductFromProductSet(request, (err: {}, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + + it('invokes removeProductFromProductSet with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( + request, + null, + error + ); + client.removeProductFromProductSet( + request, + (err: FakeError, response: {}) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + assert(typeof response === 'undefined'); + done(); + } + ); + }); + }); + describe('importProductSets', () => { + it('invokes importProductSets without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .importProductSets(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes importProductSets with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .importProductSets(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + describe('purgeProducts', () => { + it('invokes purgeProducts without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( + request, + expectedResponse + ); + client + .purgeProducts(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then((responses: [Operation]) => { + assert.deepStrictEqual(responses[0], expectedResponse); + done(); + }) + .catch((err: {}) => { + done(err); + }); + }); + + it('invokes purgeProducts with error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock gRPC layer + client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( + request, + null, + error + ); + client + .purgeProducts(request) + .then((responses: [Operation]) => { + const operation = responses[0]; + return operation ? operation.promise() : {}; + }) + .then(() => { + assert.fail(); + }) + .catch((err: FakeError) => { + assert(err instanceof FakeError); + assert.strictEqual(err.code, FAKE_STATUS_CODE); + done(); + }); + }); + }); + describe('listProductSets', () => { + it('invokes listProductSets without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listProductSets = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listProductSets(request, (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + }); + describe('listProductSetsStream', () => { + it('invokes listProductSetsStream without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listProductSets = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listProductSetsStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); + describe('listProducts', () => { + it('invokes listProducts without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listProducts = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listProducts(request, (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + }); + describe('listProductsStream', () => { + it('invokes listProductsStream without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listProducts = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listProductsStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listReferenceImages(request, (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + }); + }); + }); + describe('listReferenceImagesStream', () => { + it('invokes listReferenceImagesStream without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest = {}; + request.parent = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listReferenceImages = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listReferenceImagesStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); + describe('listProductsInProductSet', () => { + it('invokes listProductsInProductSet without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {}; + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + client.listProductsInProductSet( + request, + (err: FakeError, response: {}) => { + assert.ifError(err); + assert.deepStrictEqual(response, expectedResponse); + done(); + } + ); + }); + }); + describe('listProductsInProductSetStream', () => { + it('invokes listProductsInProductSetStream without error', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + // Mock request + const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest = {}; + request.name = ''; + // Mock response + const expectedResponse = {response: 'data'}; + // Mock Grpc layer + client._innerApiCalls.listProductsInProductSet = ( + actualRequest: {}, + options: {}, + callback: Callback + ) => { + assert.deepStrictEqual(actualRequest, request); + callback(null, expectedResponse); + }; + const stream = client + .listProductsInProductSetStream(request, {}) + .on('data', (response: {}) => { + assert.deepStrictEqual(response, expectedResponse); + done(); + }) + .on('error', (err: FakeError) => { + done(err); + }); + stream.write(expectedResponse); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic-v1.js b/packages/google-cloud-vision/test/gapic-v1.js deleted file mode 100644 index fde10ef1d15..00000000000 --- a/packages/google-cloud-vision/test/gapic-v1.js +++ /dev/null @@ -1,1741 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const assert = require('assert'); -const {describe, it} = require('mocha'); - -const visionModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -const error = new Error(); -error.code = FAKE_STATUS_CODE; - -describe('ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = visionModule.v1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = visionModule.v1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = visionModule.v1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new visionModule.v1.ImageAnnotatorClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new visionModule.v1.ImageAnnotatorClient({fallback: true}); - assert(client); - }); - - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.batchAnnotateImages(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.batchAnnotateImages(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('batchAnnotateFiles', () => { - it('invokes batchAnnotateFiles without error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.batchAnnotateFiles(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateFiles with error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.batchAnnotateFiles(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('asyncBatchAnnotateImages', function() { - it('invokes asyncBatchAnnotateImages without error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const outputConfig = {}; - const request = { - requests: requests, - outputConfig: outputConfig, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .asyncBatchAnnotateImages(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateImages with error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const outputConfig = {}; - const request = { - requests: requests, - outputConfig: outputConfig, - }; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .asyncBatchAnnotateImages(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.asyncBatchAnnotateImages - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.asyncBatchAnnotateImages - .metadataDecoder instanceof Function - ); - }); - }); - - describe('asyncBatchAnnotateFiles', function() { - it('invokes asyncBatchAnnotateFiles without error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .asyncBatchAnnotateFiles(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateFiles with error', done => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .asyncBatchAnnotateFiles(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .metadataDecoder instanceof Function - ); - }); - }); -}); -describe('ProductSearchClient', () => { - it('has servicePath', () => { - const servicePath = visionModule.v1.ProductSearchClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = visionModule.v1.ProductSearchClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = visionModule.v1.ProductSearchClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new visionModule.v1.ProductSearchClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new visionModule.v1.ProductSearchClient({fallback: true}); - assert(client); - }); - - describe('createProductSet', () => { - it('invokes createProductSet without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const productSet = {}; - const request = { - parent: formattedParent, - productSet: productSet, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name, - displayName: displayName, - }; - - // Mock Grpc layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.createProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProductSet with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const productSet = {}; - const request = { - parent: formattedParent, - productSet: productSet, - }; - - // Mock Grpc layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.createProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('listProductSets', () => { - it('invokes listProductSets without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock response - const nextPageToken = ''; - const productSetsElement = {}; - const productSets = [productSetsElement]; - const expectedResponse = { - nextPageToken: nextPageToken, - productSets: productSets, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.productSets); - }; - - client.listProductSets(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.productSets); - done(); - }); - }); - - it('invokes listProductSets with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductSets = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listProductSets(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('getProductSet', () => { - it('invokes getProductSet without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const name2 = 'name2-1052831874'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name2, - displayName: displayName, - }; - - // Mock Grpc layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.getProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProductSet with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.getProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('updateProductSet', () => { - it('invokes updateProductSet without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const productSet = {}; - const request = { - productSet: productSet, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name, - displayName: displayName, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.updateProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProductSet with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const productSet = {}; - const request = { - productSet: productSet, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.updateProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('deleteProductSet', () => { - it('invokes deleteProductSet without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod(request); - - client.deleteProductSet(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes deleteProductSet with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.deleteProductSet(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('createProduct', () => { - it('invokes createProduct without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const product = {}; - const request = { - parent: formattedParent, - product: product, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; - const expectedResponse = { - name: name, - displayName: displayName, - description: description, - productCategory: productCategory, - }; - - // Mock Grpc layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.createProduct(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProduct with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const product = {}; - const request = { - parent: formattedParent, - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.createProduct(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('listProducts', () => { - it('invokes listProducts without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock response - const nextPageToken = ''; - const productsElement = {}; - const products = [productsElement]; - const expectedResponse = { - nextPageToken: nextPageToken, - products: products, - }; - - // Mock Grpc layer - client._innerApiCalls.listProducts = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.products); - }; - - client.listProducts(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.products); - done(); - }); - }); - - it('invokes listProducts with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.listProducts = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listProducts(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('getProduct', () => { - it('invokes getProduct without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const name2 = 'name2-1052831874'; - const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; - const expectedResponse = { - name: name2, - displayName: displayName, - description: description, - productCategory: productCategory, - }; - - // Mock Grpc layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.getProduct(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProduct with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.getProduct(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('updateProduct', () => { - it('invokes updateProduct without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const product = {}; - const request = { - product: product, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; - const expectedResponse = { - name: name, - displayName: displayName, - description: description, - productCategory: productCategory, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.updateProduct(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProduct with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const product = {}; - const request = { - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.updateProduct(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('deleteProduct', () => { - it('invokes deleteProduct without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod(request); - - client.deleteProduct(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes deleteProduct with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.deleteProduct(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('createReferenceImage', () => { - it('invokes createReferenceImage without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const referenceImage = {}; - const request = { - parent: formattedParent, - referenceImage: referenceImage, - }; - - // Mock response - const name = 'name3373707'; - const uri = 'uri116076'; - const expectedResponse = { - name: name, - uri: uri, - }; - - // Mock Grpc layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.createReferenceImage(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createReferenceImage with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const referenceImage = {}; - const request = { - parent: formattedParent, - referenceImage: referenceImage, - }; - - // Mock Grpc layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.createReferenceImage(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('deleteReferenceImage', () => { - it('invokes deleteReferenceImage without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request - ); - - client.deleteReferenceImage(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes deleteReferenceImage with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.deleteReferenceImage(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('listReferenceImages', () => { - it('invokes listReferenceImages without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - parent: formattedParent, - }; - - // Mock response - const pageSize = 883849137; - const nextPageToken = ''; - const referenceImagesElement = {}; - const referenceImages = [referenceImagesElement]; - const expectedResponse = { - pageSize: pageSize, - nextPageToken: nextPageToken, - referenceImages: referenceImages, - }; - - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.referenceImages); - }; - - client.listReferenceImages(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.referenceImages); - done(); - }); - }); - - it('invokes listReferenceImages with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listReferenceImages(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('getReferenceImage', () => { - it('invokes getReferenceImage without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const name2 = 'name2-1052831874'; - const uri = 'uri116076'; - const expectedResponse = { - name: name2, - uri: uri, - }; - - // Mock Grpc layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.getReferenceImage(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getReferenceImage with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.getReferenceImage(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('addProductToProductSet', () => { - it('invokes addProductToProductSet without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const formattedProduct = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - product: formattedProduct, - }; - - // Mock Grpc layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request - ); - - client.addProductToProductSet(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes addProductToProductSet with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const formattedProduct = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - product: formattedProduct, - }; - - // Mock Grpc layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.addProductToProductSet(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('removeProductFromProductSet', () => { - it('invokes removeProductFromProductSet without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const formattedProduct = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - product: formattedProduct, - }; - - // Mock Grpc layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request - ); - - client.removeProductFromProductSet(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes removeProductFromProductSet with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const formattedProduct = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - product: formattedProduct, - }; - - // Mock Grpc layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.removeProductFromProductSet(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('listProductsInProductSet', () => { - it('invokes listProductsInProductSet without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const nextPageToken = ''; - const productsElement = {}; - const products = [productsElement]; - const expectedResponse = { - nextPageToken: nextPageToken, - products: products, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.products); - }; - - client.listProductsInProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.products); - done(); - }); - }); - - it('invokes listProductsInProductSet with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listProductsInProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('importProductSets', function() { - it('invokes importProductSets without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const inputConfig = {}; - const request = { - parent: formattedParent, - inputConfig: inputConfig, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .importProductSets(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes importProductSets with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const inputConfig = {}; - const request = { - parent: formattedParent, - inputConfig: inputConfig, - }; - - // Mock Grpc layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .importProductSets(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.importProductSets - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.importProductSets - .metadataDecoder instanceof Function - ); - }); - }); - - describe('purgeProducts', function() { - it('invokes purgeProducts without error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .purgeProducts(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes purgeProducts with error', done => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .purgeProducts(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.purgeProducts.responseDecoder instanceof - Function - ); - assert( - client._descriptors.longrunning.purgeProducts.metadataDecoder instanceof - Function - ); - }); - }); -}); - -function mockSimpleGrpcMethod(expectedRequest, response, error) { - return function(actualRequest, options, callback) { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} - -function mockLongRunningGrpcMethod(expectedRequest, response, error) { - return request => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise: function() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} diff --git a/packages/google-cloud-vision/test/gapic-v1p1beta1.js b/packages/google-cloud-vision/test/gapic-v1p1beta1.js deleted file mode 100644 index 2f9d4ab4840..00000000000 --- a/packages/google-cloud-vision/test/gapic-v1p1beta1.js +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const assert = require('assert'); -const {describe, it} = require('mocha'); - -const visionModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -const error = new Error(); -error.code = FAKE_STATUS_CODE; - -describe('ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = visionModule.v1p1beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = visionModule.v1p1beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = visionModule.v1p1beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new visionModule.v1p1beta1.ImageAnnotatorClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new visionModule.v1p1beta1.ImageAnnotatorClient({ - fallback: true, - }); - assert(client); - }); - - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new visionModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.batchAnnotateImages(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new visionModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.batchAnnotateImages(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); -}); - -function mockSimpleGrpcMethod(expectedRequest, response, error) { - return function(actualRequest, options, callback) { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} diff --git a/packages/google-cloud-vision/test/gapic-v1p3beta1.js b/packages/google-cloud-vision/test/gapic-v1p3beta1.js deleted file mode 100644 index 928a4f23ef6..00000000000 --- a/packages/google-cloud-vision/test/gapic-v1p3beta1.js +++ /dev/null @@ -1,1512 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const assert = require('assert'); -const {describe, it} = require('mocha'); - -const visionModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -const error = new Error(); -error.code = FAKE_STATUS_CODE; - -describe('ProductSearchClient', () => { - it('has servicePath', () => { - const servicePath = visionModule.v1p3beta1.ProductSearchClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = visionModule.v1p3beta1.ProductSearchClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = visionModule.v1p3beta1.ProductSearchClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new visionModule.v1p3beta1.ProductSearchClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - fallback: true, - }); - assert(client); - }); - - describe('createProductSet', () => { - it('invokes createProductSet without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const productSet = {}; - const productSetId = 'productSetId4216680'; - const request = { - parent: formattedParent, - productSet: productSet, - productSetId: productSetId, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name, - displayName: displayName, - }; - - // Mock Grpc layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.createProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProductSet with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const productSet = {}; - const productSetId = 'productSetId4216680'; - const request = { - parent: formattedParent, - productSet: productSet, - productSetId: productSetId, - }; - - // Mock Grpc layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.createProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('listProductSets', () => { - it('invokes listProductSets without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock response - const nextPageToken = ''; - const productSetsElement = {}; - const productSets = [productSetsElement]; - const expectedResponse = { - nextPageToken: nextPageToken, - productSets: productSets, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.productSets); - }; - - client.listProductSets(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.productSets); - done(); - }); - }); - - it('invokes listProductSets with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductSets = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listProductSets(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('getProductSet', () => { - it('invokes getProductSet without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const name2 = 'name2-1052831874'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name2, - displayName: displayName, - }; - - // Mock Grpc layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.getProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProductSet with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.getProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('updateProductSet', () => { - it('invokes updateProductSet without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const productSet = {}; - const updateMask = {}; - const request = { - productSet: productSet, - updateMask: updateMask, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name, - displayName: displayName, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.updateProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProductSet with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const productSet = {}; - const updateMask = {}; - const request = { - productSet: productSet, - updateMask: updateMask, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.updateProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('deleteProductSet', () => { - it('invokes deleteProductSet without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod(request); - - client.deleteProductSet(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes deleteProductSet with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.deleteProductSet(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('createProduct', () => { - it('invokes createProduct without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const product = {}; - const productId = 'productId1753008747'; - const request = { - parent: formattedParent, - product: product, - productId: productId, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; - const expectedResponse = { - name: name, - displayName: displayName, - description: description, - productCategory: productCategory, - }; - - // Mock Grpc layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.createProduct(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProduct with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const product = {}; - const productId = 'productId1753008747'; - const request = { - parent: formattedParent, - product: product, - productId: productId, - }; - - // Mock Grpc layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.createProduct(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('listProducts', () => { - it('invokes listProducts without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock response - const nextPageToken = ''; - const productsElement = {}; - const products = [productsElement]; - const expectedResponse = { - nextPageToken: nextPageToken, - products: products, - }; - - // Mock Grpc layer - client._innerApiCalls.listProducts = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.products); - }; - - client.listProducts(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.products); - done(); - }); - }); - - it('invokes listProducts with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.listProducts = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listProducts(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('getProduct', () => { - it('invokes getProduct without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const name2 = 'name2-1052831874'; - const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; - const expectedResponse = { - name: name2, - displayName: displayName, - description: description, - productCategory: productCategory, - }; - - // Mock Grpc layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.getProduct(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProduct with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.getProduct(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('updateProduct', () => { - it('invokes updateProduct without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const product = {}; - const updateMask = {}; - const request = { - product: product, - updateMask: updateMask, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; - const expectedResponse = { - name: name, - displayName: displayName, - description: description, - productCategory: productCategory, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.updateProduct(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProduct with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const product = {}; - const updateMask = {}; - const request = { - product: product, - updateMask: updateMask, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.updateProduct(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('deleteProduct', () => { - it('invokes deleteProduct without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod(request); - - client.deleteProduct(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes deleteProduct with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.deleteProduct(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('createReferenceImage', () => { - it('invokes createReferenceImage without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const referenceImage = {}; - const referenceImageId = 'referenceImageId1946713331'; - const request = { - parent: formattedParent, - referenceImage: referenceImage, - referenceImageId: referenceImageId, - }; - - // Mock response - const name = 'name3373707'; - const uri = 'uri116076'; - const expectedResponse = { - name: name, - uri: uri, - }; - - // Mock Grpc layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.createReferenceImage(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createReferenceImage with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const referenceImage = {}; - const referenceImageId = 'referenceImageId1946713331'; - const request = { - parent: formattedParent, - referenceImage: referenceImage, - referenceImageId: referenceImageId, - }; - - // Mock Grpc layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.createReferenceImage(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('deleteReferenceImage', () => { - it('invokes deleteReferenceImage without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request - ); - - client.deleteReferenceImage(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes deleteReferenceImage with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.deleteReferenceImage(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('listReferenceImages', () => { - it('invokes listReferenceImages without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - parent: formattedParent, - }; - - // Mock response - const pageSize = 883849137; - const nextPageToken = ''; - const referenceImagesElement = {}; - const referenceImages = [referenceImagesElement]; - const expectedResponse = { - pageSize: pageSize, - nextPageToken: nextPageToken, - referenceImages: referenceImages, - }; - - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.referenceImages); - }; - - client.listReferenceImages(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.referenceImages); - done(); - }); - }); - - it('invokes listReferenceImages with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listReferenceImages(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('getReferenceImage', () => { - it('invokes getReferenceImage without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const name2 = 'name2-1052831874'; - const uri = 'uri116076'; - const expectedResponse = { - name: name2, - uri: uri, - }; - - // Mock Grpc layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.getReferenceImage(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getReferenceImage with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.getReferenceImage(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('addProductToProductSet', () => { - it('invokes addProductToProductSet without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const product = 'product-309474065'; - const request = { - name: formattedName, - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request - ); - - client.addProductToProductSet(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes addProductToProductSet with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const product = 'product-309474065'; - const request = { - name: formattedName, - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.addProductToProductSet(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('removeProductFromProductSet', () => { - it('invokes removeProductFromProductSet without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const product = 'product-309474065'; - const request = { - name: formattedName, - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request - ); - - client.removeProductFromProductSet(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes removeProductFromProductSet with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const product = 'product-309474065'; - const request = { - name: formattedName, - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.removeProductFromProductSet(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('listProductsInProductSet', () => { - it('invokes listProductsInProductSet without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const nextPageToken = ''; - const productsElement = {}; - const products = [productsElement]; - const expectedResponse = { - nextPageToken: nextPageToken, - products: products, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.products); - }; - - client.listProductsInProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.products); - done(); - }); - }); - - it('invokes listProductsInProductSet with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listProductsInProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('importProductSets', function() { - it('invokes importProductSets without error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const inputConfig = {}; - const request = { - parent: formattedParent, - inputConfig: inputConfig, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .importProductSets(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes importProductSets with error', done => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const inputConfig = {}; - const request = { - parent: formattedParent, - inputConfig: inputConfig, - }; - - // Mock Grpc layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .importProductSets(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.importProductSets - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.importProductSets - .metadataDecoder instanceof Function - ); - }); - }); -}); -describe('ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = visionModule.v1p3beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = visionModule.v1p3beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = visionModule.v1p3beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new visionModule.v1p3beta1.ImageAnnotatorClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ - fallback: true, - }); - assert(client); - }); - - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.batchAnnotateImages(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.batchAnnotateImages(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('asyncBatchAnnotateFiles', function() { - it('invokes asyncBatchAnnotateFiles without error', done => { - const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .asyncBatchAnnotateFiles(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateFiles with error', done => { - const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .asyncBatchAnnotateFiles(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .metadataDecoder instanceof Function - ); - }); - }); -}); - -function mockSimpleGrpcMethod(expectedRequest, response, error) { - return function(actualRequest, options, callback) { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} - -function mockLongRunningGrpcMethod(expectedRequest, response, error) { - return request => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise: function() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} diff --git a/packages/google-cloud-vision/test/gapic-v1p4beta1.js b/packages/google-cloud-vision/test/gapic-v1p4beta1.js deleted file mode 100644 index f8de1d2cec2..00000000000 --- a/packages/google-cloud-vision/test/gapic-v1p4beta1.js +++ /dev/null @@ -1,1717 +0,0 @@ -// Copyright 2020 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. - -'use strict'; - -const assert = require('assert'); -const {describe, it} = require('mocha'); - -const visionModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -const error = new Error(); -error.code = FAKE_STATUS_CODE; - -describe('ProductSearchClient', () => { - it('has servicePath', () => { - const servicePath = visionModule.v1p4beta1.ProductSearchClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = visionModule.v1p4beta1.ProductSearchClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = visionModule.v1p4beta1.ProductSearchClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new visionModule.v1p4beta1.ProductSearchClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - fallback: true, - }); - assert(client); - }); - - describe('createProductSet', () => { - it('invokes createProductSet without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const productSet = {}; - const productSetId = 'productSetId4216680'; - const request = { - parent: formattedParent, - productSet: productSet, - productSetId: productSetId, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name, - displayName: displayName, - }; - - // Mock Grpc layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.createProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProductSet with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const productSet = {}; - const productSetId = 'productSetId4216680'; - const request = { - parent: formattedParent, - productSet: productSet, - productSetId: productSetId, - }; - - // Mock Grpc layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.createProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('listProductSets', () => { - it('invokes listProductSets without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock response - const nextPageToken = ''; - const productSetsElement = {}; - const productSets = [productSetsElement]; - const expectedResponse = { - nextPageToken: nextPageToken, - productSets: productSets, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.productSets); - }; - - client.listProductSets(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.productSets); - done(); - }); - }); - - it('invokes listProductSets with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductSets = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listProductSets(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('getProductSet', () => { - it('invokes getProductSet without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const name2 = 'name2-1052831874'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name2, - displayName: displayName, - }; - - // Mock Grpc layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.getProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProductSet with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.getProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('updateProductSet', () => { - it('invokes updateProductSet without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const productSet = {}; - const updateMask = {}; - const request = { - productSet: productSet, - updateMask: updateMask, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const expectedResponse = { - name: name, - displayName: displayName, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.updateProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProductSet with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const productSet = {}; - const updateMask = {}; - const request = { - productSet: productSet, - updateMask: updateMask, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.updateProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('deleteProductSet', () => { - it('invokes deleteProductSet without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod(request); - - client.deleteProductSet(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes deleteProductSet with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.deleteProductSet(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('createProduct', () => { - it('invokes createProduct without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const product = {}; - const productId = 'productId1753008747'; - const request = { - parent: formattedParent, - product: product, - productId: productId, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; - const expectedResponse = { - name: name, - displayName: displayName, - description: description, - productCategory: productCategory, - }; - - // Mock Grpc layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.createProduct(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProduct with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const product = {}; - const productId = 'productId1753008747'; - const request = { - parent: formattedParent, - product: product, - productId: productId, - }; - - // Mock Grpc layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.createProduct(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('listProducts', () => { - it('invokes listProducts without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock response - const nextPageToken = ''; - const productsElement = {}; - const products = [productsElement]; - const expectedResponse = { - nextPageToken: nextPageToken, - products: products, - }; - - // Mock Grpc layer - client._innerApiCalls.listProducts = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.products); - }; - - client.listProducts(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.products); - done(); - }); - }); - - it('invokes listProducts with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.listProducts = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listProducts(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('getProduct', () => { - it('invokes getProduct without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const name2 = 'name2-1052831874'; - const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; - const expectedResponse = { - name: name2, - displayName: displayName, - description: description, - productCategory: productCategory, - }; - - // Mock Grpc layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.getProduct(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProduct with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.getProduct(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('updateProduct', () => { - it('invokes updateProduct without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const product = {}; - const updateMask = {}; - const request = { - product: product, - updateMask: updateMask, - }; - - // Mock response - const name = 'name3373707'; - const displayName = 'displayName1615086568'; - const description = 'description-1724546052'; - const productCategory = 'productCategory-1607451058'; - const expectedResponse = { - name: name, - displayName: displayName, - description: description, - productCategory: productCategory, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.updateProduct(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProduct with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const product = {}; - const updateMask = {}; - const request = { - product: product, - updateMask: updateMask, - }; - - // Mock Grpc layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.updateProduct(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('deleteProduct', () => { - it('invokes deleteProduct without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod(request); - - client.deleteProduct(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes deleteProduct with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.deleteProduct(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('createReferenceImage', () => { - it('invokes createReferenceImage without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const referenceImage = {}; - const referenceImageId = 'referenceImageId1946713331'; - const request = { - parent: formattedParent, - referenceImage: referenceImage, - referenceImageId: referenceImageId, - }; - - // Mock response - const name = 'name3373707'; - const uri = 'uri116076'; - const expectedResponse = { - name: name, - uri: uri, - }; - - // Mock Grpc layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.createReferenceImage(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createReferenceImage with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const referenceImage = {}; - const referenceImageId = 'referenceImageId1946713331'; - const request = { - parent: formattedParent, - referenceImage: referenceImage, - referenceImageId: referenceImageId, - }; - - // Mock Grpc layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.createReferenceImage(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('deleteReferenceImage', () => { - it('invokes deleteReferenceImage without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request - ); - - client.deleteReferenceImage(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes deleteReferenceImage with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.deleteReferenceImage(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('listReferenceImages', () => { - it('invokes listReferenceImages without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - parent: formattedParent, - }; - - // Mock response - const pageSize = 883849137; - const nextPageToken = ''; - const referenceImagesElement = {}; - const referenceImages = [referenceImagesElement]; - const expectedResponse = { - pageSize: pageSize, - nextPageToken: nextPageToken, - referenceImages: referenceImages, - }; - - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.referenceImages); - }; - - client.listReferenceImages(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.referenceImages); - done(); - }); - }); - - it('invokes listReferenceImages with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.productPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]' - ); - const request = { - parent: formattedParent, - }; - - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listReferenceImages(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('getReferenceImage', () => { - it('invokes getReferenceImage without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const name2 = 'name2-1052831874'; - const uri = 'uri116076'; - const expectedResponse = { - name: name2, - uri: uri, - }; - - // Mock Grpc layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.getReferenceImage(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getReferenceImage with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.referenceImagePath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT]', - '[REFERENCE_IMAGE]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.getReferenceImage(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('addProductToProductSet', () => { - it('invokes addProductToProductSet without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const product = 'product-309474065'; - const request = { - name: formattedName, - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request - ); - - client.addProductToProductSet(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes addProductToProductSet with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const product = 'product-309474065'; - const request = { - name: formattedName, - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.addProductToProductSet(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('removeProductFromProductSet', () => { - it('invokes removeProductFromProductSet without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const product = 'product-309474065'; - const request = { - name: formattedName, - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request - ); - - client.removeProductFromProductSet(request, err => { - assert.ifError(err); - done(); - }); - }); - - it('invokes removeProductFromProductSet with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const product = 'product-309474065'; - const request = { - name: formattedName, - product: product, - }; - - // Mock Grpc layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.removeProductFromProductSet(request, err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - - describe('listProductsInProductSet', () => { - it('invokes listProductsInProductSet without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock response - const nextPageToken = ''; - const productsElement = {}; - const products = [productsElement]; - const expectedResponse = { - nextPageToken: nextPageToken, - products: products, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = ( - actualRequest, - options, - callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse.products); - }; - - client.listProductsInProductSet(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse.products); - done(); - }); - }); - - it('invokes listProductsInProductSet with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedName = client.productSetPath( - '[PROJECT]', - '[LOCATION]', - '[PRODUCT_SET]' - ); - const request = { - name: formattedName, - }; - - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.listProductsInProductSet(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('importProductSets', function() { - it('invokes importProductSets without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const inputConfig = {}; - const request = { - parent: formattedParent, - inputConfig: inputConfig, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .importProductSets(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes importProductSets with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]'); - const inputConfig = {}; - const request = { - parent: formattedParent, - inputConfig: inputConfig, - }; - - // Mock Grpc layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .importProductSets(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.importProductSets - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.importProductSets - .metadataDecoder instanceof Function - ); - }); - }); - - describe('purgeProducts', () => { - it('invokes purgeProducts without error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const request = {}; - - // Mock response - const name = 'name3373707'; - const done_ = true; - const expectedResponse = { - name: name, - done: done_, - }; - - // Mock Grpc layer - client._innerApiCalls.purgeProducts = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.purgeProducts(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes purgeProducts with error', done => { - const client = new visionModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const request = {}; - - // Mock Grpc layer - client._innerApiCalls.purgeProducts = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.purgeProducts(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); -}); -describe('ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = visionModule.v1p4beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = visionModule.v1p4beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = visionModule.v1p4beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no options', () => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - fallback: true, - }); - assert(client); - }); - - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.batchAnnotateImages(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.batchAnnotateImages(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('batchAnnotateFiles', () => { - it('invokes batchAnnotateFiles without error', done => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( - request, - expectedResponse - ); - - client.batchAnnotateFiles(request, (err, response) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateFiles with error', done => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( - request, - null, - error - ); - - client.batchAnnotateFiles(request, (err, response) => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - - describe('asyncBatchAnnotateImages', function() { - it('invokes asyncBatchAnnotateImages without error', done => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const outputConfig = {}; - const request = { - requests: requests, - outputConfig: outputConfig, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .asyncBatchAnnotateImages(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateImages with error', done => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const outputConfig = {}; - const request = { - requests: requests, - outputConfig: outputConfig, - }; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .asyncBatchAnnotateImages(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.asyncBatchAnnotateImages - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.asyncBatchAnnotateImages - .metadataDecoder instanceof Function - ); - }); - }); - - describe('asyncBatchAnnotateFiles', function() { - it('invokes asyncBatchAnnotateFiles without error', done => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock response - const expectedResponse = {}; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - - client - .asyncBatchAnnotateFiles(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(responses => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch(err => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateFiles with error', done => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - - // Mock request - const requests = []; - const request = { - requests: requests, - }; - - // Mock Grpc layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - null, - error - ); - - client - .asyncBatchAnnotateFiles(request) - .then(responses => { - const operation = responses[0]; - return operation.promise(); - }) - .then(() => { - assert.fail(); - }) - .catch(err => { - assert(err instanceof Error); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - - it('has longrunning decoder functions', () => { - const client = new visionModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .responseDecoder instanceof Function - ); - assert( - client._descriptors.longrunning.asyncBatchAnnotateFiles - .metadataDecoder instanceof Function - ); - }); - }); -}); - -function mockSimpleGrpcMethod(expectedRequest, response, error) { - return function(actualRequest, options, callback) { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} - -function mockLongRunningGrpcMethod(expectedRequest, response, error) { - return request => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise: function() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} diff --git a/packages/google-cloud-vision/test/helpers.test.js b/packages/google-cloud-vision/test/helpers.test.ts similarity index 57% rename from packages/google-cloud-vision/test/helpers.test.js rename to packages/google-cloud-vision/test/helpers.test.ts index 2d5cfdb9d00..ef806b5239e 100644 --- a/packages/google-cloud-vision/test/helpers.test.js +++ b/packages/google-cloud-vision/test/helpers.test.ts @@ -14,21 +14,19 @@ * limitations under the License. */ -'use strict'; - -const assert = require('assert'); -const {describe, it, afterEach} = require('mocha'); -const fs = require('fs'); -const is = require('is'); -const sinon = require('sinon'); - -const vision = require('../'); +import {describe, it, afterEach} from 'mocha'; +import * as path from 'path'; +import * as is from 'is'; +import * as sinon from 'sinon'; +import * as prototypes from '../protos/protos'; +import * as assert from 'assert'; +const vision = require('../src'); describe('Vision helper methods', () => { - const CREDENTIALS = Object.freeze({ + const CREDENTIALS = { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - }); + }; const sandbox = sinon.createSandbox(); @@ -54,19 +52,23 @@ describe('Vision helper methods', () => { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; - return client.annotateImage(request).then(r => { - const response = r[0]; - - // Ensure that we got the slice of the response that we expected. - assert.deepStrictEqual(response, { - logoAnnotations: [{description: 'Google'}], - }); - // Inspect the calls to batchAnnotateImages and ensure they matched - // the expected signature. - assert(batchAnnotate.callCount === 1); - assert(batchAnnotate.calledWith({requests: [request]})); - }); + return client + .annotateImage(request) + .then( + (r: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse]) => { + const response = r[0]; + // Ensure that we got the slice of the response that we expected. + assert.deepStrictEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert(batchAnnotate.calledWith({requests: [request]})); + } + ); }); it('understands buffers in a request object', () => { @@ -88,36 +90,32 @@ describe('Vision helper methods', () => { image: Buffer.from('fakeImage'), features: {type: ['LOGO_DETECTION']}, }; - return client.annotateImage(request).then(r => { - const response = r[0]; - - // Ensure that we got the slice of the response that we expected. - assert.deepStrictEqual(response, { - logoAnnotations: [{description: 'Google'}], - }); - - // Inspect the calls to batchAnnotateImages and ensure they matched - // the expected signature. - assert(batchAnnotate.callCount === 1); - assert.deepStrictEqual(request, { - image: {content: 'ZmFrZUltYWdl'}, - features: {type: ['LOGO_DETECTION']}, - }); - assert(batchAnnotate.calledWith({requests: [request]})); - }); + return client + .annotateImage(request) + .then( + (r: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse]) => { + const response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepStrictEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert.deepStrictEqual(request, { + image: {content: 'ZmFrZUltYWdl'}, + features: {type: ['LOGO_DETECTION']}, + }); + assert(batchAnnotate.calledWith({requests: [request]})); + } + ); }); it('understands filenames', () => { const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - // Stub out `fs.readFile` and return a bogus image object. - // This allows us to test filename detection. - const readFile = sandbox.stub(fs, 'readFile'); - readFile - .withArgs('image.jpg') - .callsArgWith(1, null, Buffer.from('fakeImage')); - readFile.callThrough(); - // Stub out the batch annotation method as before. const batchAnnotate = sandbox.stub(client, 'batchAnnotateImages'); batchAnnotate.callsArgWith(2, undefined, { @@ -130,55 +128,54 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. + const imagePath = path.join( + __dirname, + '..', + '..', + 'test', + 'fixtures', + 'image.jpg' + ); const request = { - image: {source: {filename: 'image.jpg'}}, + image: {source: {filename: imagePath}}, features: {type: ['LOGO_DETECTION']}, }; - return client.annotateImage(request).then(r => { - const response = r[0]; - - // Ensure that we got the slice of the response that we expected. - assert.deepStrictEqual(response, { - logoAnnotations: [{description: 'Google'}], - }); - - // Inspect the calls to `readFile` to ensure that they matched - // the expected signature. - assert(readFile.callCount === 1); - assert(readFile.calledWith('image.jpg')); - - // Inspect the calls to batchAnnotateImages and ensure they matched - // the expected signature. - assert(batchAnnotate.callCount === 1); - assert.deepStrictEqual(request, { - image: {content: 'ZmFrZUltYWdl'}, - features: {type: ['LOGO_DETECTION']}, - }); - assert(batchAnnotate.calledWith({requests: [request]})); - }); + return client + .annotateImage(request) + .then( + (r: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse]) => { + const response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepStrictEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert.deepStrictEqual(request, { + image: {content: ''}, + features: {type: ['LOGO_DETECTION']}, + }); + assert(batchAnnotate.calledWith({requests: [request]})); + } + ); }); it('propagates the error if a file is not found', () => { const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); - - // Stub out `fs.readFile` and return a bogus image object. - // This allows us to test filename detection. - const readFile = sandbox.stub(fs, 'readFile'); - readFile.withArgs('image.jpg').callsArgWith(1, {error: 404}); - readFile.callThrough(); - // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. const request = { image: {source: {filename: 'image.jpg'}}, features: {type: ['LOGO_DETECTION']}, }; - return client - .annotateImage(request) - .then(assert.fail) - .catch(err => { - assert.deepStrictEqual(err, {error: 404}); - }); + return client.annotateImage(request).catch((err: string) => { + assert( + err.toString().match(/Error: ENOENT: no such file or directory/) + ); + }); }); it('retains call options sent', () => { @@ -198,19 +195,25 @@ describe('Vision helper methods', () => { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; - return client.annotateImage(request, {foo: 'bar'}).then(r => { - const response = r[0]; - - // Ensure that we got the slice of the response that we expected. - assert.deepStrictEqual(response, { - logoAnnotations: [{description: 'Google'}], - }); - - // Inspect the calls to batchAnnotateImages and ensure they matched - // the expected signature. - assert(batchAnnotate.callCount === 1); - assert(batchAnnotate.calledWith({requests: [request]}, {foo: 'bar'})); - }); + return client + .annotateImage(request, {foo: 'bar'}) + .then( + (r: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse]) => { + const response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepStrictEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert( + batchAnnotate.calledWith({requests: [request]}, {foo: 'bar'}) + ); + } + ); }); it('fires a callback if provided', done => { @@ -230,7 +233,7 @@ describe('Vision helper methods', () => { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; - client.annotateImage(request, function(err, response) { + client.annotateImage(request, (err: {}, response: {}) => { // Establish that we got the expected response. assert(is.undefined(err)); assert.deepStrictEqual(response, { @@ -256,7 +259,7 @@ describe('Vision helper methods', () => { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, }; - return client.annotateImage(request).catch(err => { + return client.annotateImage(request).catch((err: {}) => { // Establish that we got the expected response. assert.deepStrictEqual(err, {message: 'Bad things!'}); @@ -270,12 +273,9 @@ describe('Vision helper methods', () => { it('requires an image and throws without one', () => { const client = new vision.v1.ImageAnnotatorClient(CREDENTIALS); const request = {}; - return client - .annotateImage(request) - .then(assert.fail) - .catch(err => { - assert(err.message === 'No image present.'); - }); + return client.annotateImage(request).catch((err: string) => { + assert(err.toString().match(/Error: No image present./)); + }); }); }); @@ -295,30 +295,34 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method does *not* pass the callback // on to batchAnnotateImages, but rather handles it itself. const imageRequest = {image: {content: Buffer.from('bogus==')}}; - return client.logoDetection(Object.assign({}, imageRequest)).then(r => { - const response = r[0]; - - // Ensure that we got the slice of the response that we expected. - assert.deepStrictEqual(response, { - logoAnnotations: [{description: 'Google'}], - }); - - // Inspect the calls to annotateImage and batchAnnotateImages and - // ensure they matched the expected signature. - assert(annotate.callCount === 1); - assert( - annotate.calledWith({ - features: [{type: 3}], - image: imageRequest.image, - }) - ); - assert(batchAnnotate.callCount === 1); - assert( - batchAnnotate.calledWith({ - requests: [{image: imageRequest.image, features: [{type: 3}]}], - }) + return client + .logoDetection(Object.assign({}, imageRequest)) + .then( + (r: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse]) => { + const response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepStrictEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to annotateImage and batchAnnotateImages and + // ensure they matched the expected signature. + assert(annotate.callCount === 1); + assert( + annotate.calledWith({ + features: [{type: 3}], + image: imageRequest.image, + }) + ); + assert(batchAnnotate.callCount === 1); + assert( + batchAnnotate.calledWith({ + requests: [{image: imageRequest.image, features: [{type: 3}]}], + }) + ); + } ); - }); }); it('accept a URL as a string', () => { @@ -335,28 +339,32 @@ describe('Vision helper methods', () => { }); // Call a request to a single-feature method using a URL. - return client.logoDetection('https://goo.gl/logo.png').then(r => { - const response = r[0]; - - // Ensure we got the slice of the response that we expected. - assert.deepStrictEqual(response, { - logoAnnotations: [{description: 'Google'}], - }); - - // Inspect the calls to batchAnnotateImages and ensure they matched - // the expected signature. - assert(batchAnnotate.callCount === 1); - assert( - batchAnnotate.calledWith({ - requests: [ - { - image: {source: {imageUri: 'https://goo.gl/logo.png'}}, - features: [{type: 3}], - }, - ], - }) + return client + .logoDetection('https://goo.gl/logo.png') + .then( + (r: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse]) => { + const response = r[0]; + + // Ensure we got the slice of the response that we expected. + assert.deepStrictEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert( + batchAnnotate.calledWith({ + requests: [ + { + image: {source: {imageUri: 'https://goo.gl/logo.png'}}, + features: [{type: 3}], + }, + ], + }) + ); + } ); - }); }); it('accept a filename as a string', () => { @@ -369,7 +377,7 @@ describe('Vision helper methods', () => { }); // Call a request to a single-feature method using a URL. - return client.logoDetection('/path/to/logo.png').then(response => { + return client.logoDetection('/path/to/logo.png').then((response: {}) => { // Ensure we got the slice of the response that we expected. assert.deepStrictEqual(response, [ { @@ -404,28 +412,32 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - return client.logoDetection(Buffer.from('fakeImage')).then(r => { - const response = r[0]; - - // Ensure that we got the slice of the response that we expected. - assert.deepStrictEqual(response, { - logoAnnotations: [{description: 'Google'}], - }); - - // Inspect the calls to batchAnnotateImages and ensure they matched - // the expected signature. - assert(batchAnnotate.callCount === 1); - assert( - batchAnnotate.calledWith({ - requests: [ - { - image: {content: 'ZmFrZUltYWdl'}, - features: [{type: 3}], - }, - ], - }) + return client + .logoDetection(Buffer.from('fakeImage')) + .then( + (r: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse]) => { + const response = r[0]; + + // Ensure that we got the slice of the response that we expected. + assert.deepStrictEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert( + batchAnnotate.calledWith({ + requests: [ + { + image: {content: 'ZmFrZUltYWdl'}, + features: [{type: 3}], + }, + ], + }) + ); + } ); - }); }); it('handle being sent call options', () => { @@ -444,26 +456,30 @@ describe('Vision helper methods', () => { // Perform the request. Send `opts` as an explicit second argument // to ensure that sending call options works appropriately. - return client.logoDetection(Buffer.from('fakeImage'), opts).then(r => { - const response = r[0]; - assert.deepStrictEqual(response, { - logoAnnotations: [{description: 'Google'}], - }); - - // Inspect the calls to batchAnnotateImages and ensure they matched - // the expected signature. - assert(batchAnnotate.callCount === 1); - assert( - batchAnnotate.calledWith({ - requests: [ - { - image: {content: 'ZmFrZUltYWdl'}, - features: [{type: 3}], - }, - ], - }) + return client + .logoDetection(Buffer.from('fakeImage'), opts) + .then( + (r: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse]) => { + const response = r[0]; + assert.deepStrictEqual(response, { + logoAnnotations: [{description: 'Google'}], + }); + + // Inspect the calls to batchAnnotateImages and ensure they matched + // the expected signature. + assert(batchAnnotate.callCount === 1); + assert( + batchAnnotate.calledWith({ + requests: [ + { + image: {content: 'ZmFrZUltYWdl'}, + features: [{type: 3}], + }, + ], + }) + ); + } ); - }); }); it('throw an exception if conflicting features are given', () => { @@ -472,12 +488,9 @@ describe('Vision helper methods', () => { image: {content: Buffer.from('bogus==')}, features: [{type: 0}], }; - client - .logoDetection(imageRequest) - .then(assert.fail) - .catch(ex => { - assert(ex.message.indexOf('Setting explicit') > -1); - }); + client.logoDetection(imageRequest).catch((err: string) => { + assert(err.toString().match(/Setting explicit/)); + }); }); it('creates and promisify methods that are available in certain versions', () => { @@ -500,27 +513,26 @@ describe('Vision helper methods', () => { client .productSearch(request) - .then(r => { - const response = r[0]; - - assert.deepStrictEqual(response, { - localizedObjectAnnotations: [{dummy: 'response'}], - }); - - assert(batchAnnotate.callCount === 1); - assert(batchAnnotate.calledWith({requests: [request]})); - }) + .then( + (r: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse]) => { + const response = r[0]; + + assert.deepStrictEqual(response, { + localizedObjectAnnotations: [{dummy: 'response'}], + }); + + assert(batchAnnotate.callCount === 1); + assert(batchAnnotate.calledWith({requests: [request]})); + } + ) .catch(assert.ifError); }); - it('throws an error if trying to invoke a method not available in current version', () => { // Use v1p1beta1 version of client. const client = new vision.v1p1beta1.ImageAnnotatorClient(CREDENTIALS); - - assert.throws(() => { - // Object localization is only available for v1p3beta1. - client.objectLocalization({}); - }, 'TypeError: client.objectLocalization is not a function'); + if (typeof client['objectLocalization'] === 'function') { + assert.fail('objectLocalization does not exist in v1p1beta1'); + } }); }); }); diff --git a/packages/google-cloud-vision/test/index.test.js b/packages/google-cloud-vision/test/index.test.ts similarity index 91% rename from packages/google-cloud-vision/test/index.test.js rename to packages/google-cloud-vision/test/index.test.ts index 7b3a1513d41..cedd41e4f6b 100644 --- a/packages/google-cloud-vision/test/index.test.js +++ b/packages/google-cloud-vision/test/index.test.ts @@ -12,18 +12,16 @@ // See the License for the specific language governing permissions and // limitations under the License. -'use strict'; +import * as assert from 'assert'; +import {describe, it} from 'mocha'; -const assert = require('assert'); -const {describe, it} = require('mocha'); - -const vision = require('../'); +const vision = require('../src'); describe('Vision', () => { - const CREDENTIALS = Object.freeze({ + const CREDENTIALS = { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', - }); + }; describe('v1', () => { it('returns a v1 GAPIC augmented with helpers', () => { diff --git a/packages/google-cloud-vision/tsconfig.json b/packages/google-cloud-vision/tsconfig.json new file mode 100644 index 00000000000..613d35597b5 --- /dev/null +++ b/packages/google-cloud-vision/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2016", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/packages/google-cloud-vision/tslint.json b/packages/google-cloud-vision/tslint.json new file mode 100644 index 00000000000..617dc975bae --- /dev/null +++ b/packages/google-cloud-vision/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "gts/tslint.json" +} diff --git a/packages/google-cloud-vision/webpack.config.js b/packages/google-cloud-vision/webpack.config.js index ba61eb01d6e..f89f8bf4d21 100644 --- a/packages/google-cloud-vision/webpack.config.js +++ b/packages/google-cloud-vision/webpack.config.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,8 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. +const path = require('path'); + module.exports = { - entry: './src/browser.js', + entry: './src/index.ts', output: { library: 'vision', filename: './vision.js', @@ -24,21 +26,37 @@ module.exports = { crypto: 'empty', }, resolve: { - extensions: ['.js', '.json'], + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], }, module: { rules: [ { - test: /node_modules[\\/]retry-request[\\/]/, - use: 'null-loader', + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader' }, { - test: /node_modules[\\/]https-proxy-agent[\\/]/, - use: 'null-loader', + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader' }, { - test: /node_modules[\\/]gtoken[\\/]/, - use: 'null-loader', + test: /node_modules[\\/]gtoken/, + use: 'null-loader' }, ], }, From 2a10f979e5e6c4ba5e1af3d361a683ab4b85a051 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2020 10:49:22 -0800 Subject: [PATCH 386/588] chore: release 1.10.0 (#546) --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index f65f955ebe0..057b3a1a4e0 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.10.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.9.0...v1.10.0) (2020-03-03) + + +### Features + +* move API to typescript code generation ([#532](https://www.github.com/googleapis/nodejs-vision/issues/532)) ([401e694](https://www.github.com/googleapis/nodejs-vision/commit/401e6944796fd1249639da6b767e842576345c3e)) + ## [1.9.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.8.0...v1.9.0) (2020-02-10) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a4c537dd5f7..522432b0d3c 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.9.0", + "version": "1.10.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index c0f70603f11..01c6254af1e 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.9.0", + "@google-cloud/vision": "^1.10.0", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From 14865a41a44fa3aef1cc541128de8844a4617b51 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Tue, 3 Mar 2020 17:06:02 -0800 Subject: [PATCH 387/588] feat: export protos from src/index.ts (#547) --- packages/google-cloud-vision/src/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/google-cloud-vision/src/index.ts b/packages/google-cloud-vision/src/index.ts index 86b09427951..f1c4efd09e9 100644 --- a/packages/google-cloud-vision/src/index.ts +++ b/packages/google-cloud-vision/src/index.ts @@ -61,3 +61,5 @@ export default { ImageAnnotatorClient, ProductSearchClient, }; +import * as protos from '../protos/protos'; +export {protos}; From 233c8545421c258d0889bfe3f1420e6e9ef6c93f Mon Sep 17 00:00:00 2001 From: Xiaozhen Liu Date: Thu, 5 Mar 2020 12:05:42 -0800 Subject: [PATCH 388/588] update synth.py (#550) --- packages/google-cloud-vision/synth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 8eeb83fb94e..068613e9652 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -44,7 +44,7 @@ ) # Copy common templates common_templates = gcp.CommonTemplates() -templates = common_templates.node_library() +templates = common_templates.node_library(source_location='build/src') s.copy(templates) # Node.js specific cleanup From d36320e72023b371e4ca21d69fd426fc6a12ba3c Mon Sep 17 00:00:00 2001 From: "gcf-merge-on-green[bot]" <60162190+gcf-merge-on-green[bot]@users.noreply.github.com> Date: Fri, 6 Mar 2020 00:22:41 +0000 Subject: [PATCH 389/588] feat: deferred client initialization (#551) This PR includes changes from https://github.com/googleapis/gapic-generator-typescript/pull/317 that will move the asynchronous initialization and authentication from the client constructor to an `initialize()` method. This method will be automatically called when the first RPC call is performed. The client library usage has not changed, there is no need to update any code. If you want to make sure the client is authenticated _before_ the first RPC call, you can do ```js await client.initialize(); ``` manually before calling any client method. --- .../src/v1/image_annotator_client.ts | 89 ++++++++---- .../src/v1/product_search_client.ts | 134 +++++++++++------ .../src/v1p1beta1/image_annotator_client.ts | 66 ++++++--- .../src/v1p2beta1/image_annotator_client.ts | 79 ++++++---- .../src/v1p3beta1/image_annotator_client.ts | 85 +++++++---- .../src/v1p3beta1/product_search_client.ts | 129 ++++++++++++----- .../src/v1p4beta1/image_annotator_client.ts | 89 ++++++++---- .../src/v1p4beta1/product_search_client.ts | 136 ++++++++++++------ packages/google-cloud-vision/synth.metadata | 7 +- .../test/gapic-image_annotator-v1.ts | 32 +++++ .../test/gapic-image_annotator-v1p1beta1.ts | 20 +++ .../test/gapic-image_annotator-v1p2beta1.ts | 24 ++++ .../test/gapic-image_annotator-v1p3beta1.ts | 24 ++++ .../test/gapic-image_annotator-v1p4beta1.ts | 32 +++++ .../test/gapic-product_search-v1.ts | 92 ++++++++++++ .../test/gapic-product_search-v1p3beta1.ts | 88 ++++++++++++ .../test/gapic-product_search-v1p4beta1.ts | 92 ++++++++++++ 17 files changed, 967 insertions(+), 251 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 9536a6b2e8f..992fd8c9aa6 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -44,9 +44,14 @@ export class ImageAnnotatorClient { private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; + private _opts: ClientOptions; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; operationsClient: gax.OperationsClient; - imageAnnotatorStub: Promise<{[name: string]: Function}>; + imageAnnotatorStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of ImageAnnotatorClient. @@ -70,8 +75,6 @@ export class ImageAnnotatorClient { * app is running in an environment which supports * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ @@ -101,25 +104,28 @@ export class ImageAnnotatorClient { // If we are in browser, we are already using fallback because of the // "browser" field in package.json. // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth as gax.GoogleAuth; + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { - clientHeader.push(`gl-web/${gaxModule.version}`); + clientHeader.push(`gl-web/${this._gaxModule.version}`); } if (!opts.fallback) { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); @@ -135,7 +141,7 @@ export class ImageAnnotatorClient { 'protos', 'protos.json' ); - const protos = gaxGrpc.loadProto( + this._protos = this._gaxGrpc.loadProto( opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); @@ -143,13 +149,13 @@ export class ImageAnnotatorClient { // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. this._pathTemplates = { - productPathTemplate: new gaxModule.PathTemplate( + productPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), - productSetPathTemplate: new gaxModule.PathTemplate( + productSetPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - referenceImagePathTemplate: new gaxModule.PathTemplate( + referenceImagePathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -158,13 +164,15 @@ export class ImageAnnotatorClient { // an Operation object that allows for tracking of the operation, // rather than holding a request open. const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); + ? this._gaxModule.protobuf.Root.fromJSON( + require('../../protos/protos.json') + ) + : this._gaxModule.protobuf.loadSync(nodejsProtoPath); - this.operationsClient = gaxModule + this.operationsClient = this._gaxModule .lro({ auth: this.auth, - grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }) .operationsClient(opts); const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( @@ -181,7 +189,7 @@ export class ImageAnnotatorClient { ) as gax.protobuf.Type; this._descriptors.longrunning = { - asyncBatchAnnotateImages: new gaxModule.LongrunningDescriptor( + asyncBatchAnnotateImages: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateImagesResponse.decode.bind( asyncBatchAnnotateImagesResponse @@ -190,7 +198,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateImagesMetadata ) ), - asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( + asyncBatchAnnotateFiles: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( asyncBatchAnnotateFilesResponse @@ -202,7 +210,7 @@ export class ImageAnnotatorClient { }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( + this._defaults = this._gaxGrpc.constructSettings( 'google.cloud.vision.v1.ImageAnnotator', gapicConfig as gax.ClientConfig, opts.clientConfig || {}, @@ -213,17 +221,35 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this._innerApiCalls = {}; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.imageAnnotatorStub) { + return this.imageAnnotatorStub; + } // Put together the "service stub" for // google.cloud.vision.v1.ImageAnnotator. - this.imageAnnotatorStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( + this.imageAnnotatorStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1.ImageAnnotator' ) : // tslint:disable-next-line no-any - (protos as any).google.cloud.vision.v1.ImageAnnotator, - opts + (this._protos as any).google.cloud.vision.v1.ImageAnnotator, + this._opts ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides @@ -248,9 +274,9 @@ export class ImageAnnotatorClient { } ); - const apiCall = gaxModule.createApiCall( + const apiCall = this._gaxModule.createApiCall( innerCallPromise, - defaults[methodName], + this._defaults[methodName], this._descriptors.page[methodName] || this._descriptors.stream[methodName] || this._descriptors.longrunning[methodName] @@ -264,6 +290,8 @@ export class ImageAnnotatorClient { return apiCall(argument, callOptions, callback); }; } + + return this.imageAnnotatorStub; } /** @@ -410,6 +438,7 @@ export class ImageAnnotatorClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.batchAnnotateImages(request, options, callback); } batchAnnotateFiles( @@ -502,6 +531,7 @@ export class ImageAnnotatorClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.batchAnnotateFiles(request, options, callback); } @@ -612,6 +642,7 @@ export class ImageAnnotatorClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.asyncBatchAnnotateImages( request, options, @@ -720,6 +751,7 @@ export class ImageAnnotatorClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.asyncBatchAnnotateFiles( request, options, @@ -912,8 +944,9 @@ export class ImageAnnotatorClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.imageAnnotatorStub.then(stub => { + return this.imageAnnotatorStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index b2cc76da757..68d98148320 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -39,16 +39,16 @@ const version = require('../../../package.json').version; * Manages Products and ProductSets of reference images for use in product * search. It uses the following resource model: * - * - The API has a collection of [ProductSet][google.cloud.vision.v1.ProductSet] resources, named + * - The API has a collection of {@link google.cloud.vision.v1.ProductSet|ProductSet} resources, named * `projects/* /locations/* /productSets/*`, which acts as a way to put different * products into groups to limit identification. * * In parallel, * - * - The API has a collection of [Product][google.cloud.vision.v1.Product] resources, named + * - The API has a collection of {@link google.cloud.vision.v1.Product|Product} resources, named * `projects/* /locations/* /products/*` * - * - Each [Product][google.cloud.vision.v1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1.ReferenceImage] resources, named + * - Each {@link google.cloud.vision.v1.Product|Product} has a collection of {@link google.cloud.vision.v1.ReferenceImage|ReferenceImage} resources, named * `projects/* /locations/* /products/* /referenceImages/*` * @class * @memberof v1 @@ -58,9 +58,14 @@ export class ProductSearchClient { private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; + private _opts: ClientOptions; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; operationsClient: gax.OperationsClient; - productSearchStub: Promise<{[name: string]: Function}>; + productSearchStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of ProductSearchClient. @@ -84,8 +89,6 @@ export class ProductSearchClient { * app is running in an environment which supports * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ @@ -115,25 +118,28 @@ export class ProductSearchClient { // If we are in browser, we are already using fallback because of the // "browser" field in package.json. // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = (this.constructor as typeof ProductSearchClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth as gax.GoogleAuth; + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { - clientHeader.push(`gl-web/${gaxModule.version}`); + clientHeader.push(`gl-web/${this._gaxModule.version}`); } if (!opts.fallback) { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); @@ -149,7 +155,7 @@ export class ProductSearchClient { 'protos', 'protos.json' ); - const protos = gaxGrpc.loadProto( + this._protos = this._gaxGrpc.loadProto( opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); @@ -157,16 +163,16 @@ export class ProductSearchClient { // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. this._pathTemplates = { - locationPathTemplate: new gaxModule.PathTemplate( + locationPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}' ), - productPathTemplate: new gaxModule.PathTemplate( + productPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), - productSetPathTemplate: new gaxModule.PathTemplate( + productSetPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - referenceImagePathTemplate: new gaxModule.PathTemplate( + referenceImagePathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -175,22 +181,22 @@ export class ProductSearchClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this._descriptors.page = { - listProductSets: new gaxModule.PageDescriptor( + listProductSets: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'productSets' ), - listProducts: new gaxModule.PageDescriptor( + listProducts: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' ), - listReferenceImages: new gaxModule.PageDescriptor( + listReferenceImages: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'referenceImages' ), - listProductsInProductSet: new gaxModule.PageDescriptor( + listProductsInProductSet: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' @@ -201,13 +207,15 @@ export class ProductSearchClient { // an Operation object that allows for tracking of the operation, // rather than holding a request open. const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); + ? this._gaxModule.protobuf.Root.fromJSON( + require('../../protos/protos.json') + ) + : this._gaxModule.protobuf.loadSync(nodejsProtoPath); - this.operationsClient = gaxModule + this.operationsClient = this._gaxModule .lro({ auth: this.auth, - grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }) .operationsClient(opts); const importProductSetsResponse = protoFilesRoot.lookup( @@ -224,12 +232,12 @@ export class ProductSearchClient { ) as gax.protobuf.Type; this._descriptors.longrunning = { - importProductSets: new gaxModule.LongrunningDescriptor( + importProductSets: new this._gaxModule.LongrunningDescriptor( this.operationsClient, importProductSetsResponse.decode.bind(importProductSetsResponse), importProductSetsMetadata.decode.bind(importProductSetsMetadata) ), - purgeProducts: new gaxModule.LongrunningDescriptor( + purgeProducts: new this._gaxModule.LongrunningDescriptor( this.operationsClient, purgeProductsResponse.decode.bind(purgeProductsResponse), purgeProductsMetadata.decode.bind(purgeProductsMetadata) @@ -237,7 +245,7 @@ export class ProductSearchClient { }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( + this._defaults = this._gaxGrpc.constructSettings( 'google.cloud.vision.v1.ProductSearch', gapicConfig as gax.ClientConfig, opts.clientConfig || {}, @@ -248,17 +256,35 @@ export class ProductSearchClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this._innerApiCalls = {}; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.productSearchStub) { + return this.productSearchStub; + } // Put together the "service stub" for // google.cloud.vision.v1.ProductSearch. - this.productSearchStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( + this.productSearchStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1.ProductSearch' ) : // tslint:disable-next-line no-any - (protos as any).google.cloud.vision.v1.ProductSearch, - opts + (this._protos as any).google.cloud.vision.v1.ProductSearch, + this._opts ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides @@ -298,9 +324,9 @@ export class ProductSearchClient { } ); - const apiCall = gaxModule.createApiCall( + const apiCall = this._gaxModule.createApiCall( innerCallPromise, - defaults[methodName], + this._defaults[methodName], this._descriptors.page[methodName] || this._descriptors.stream[methodName] || this._descriptors.longrunning[methodName] @@ -314,6 +340,8 @@ export class ProductSearchClient { return apiCall(argument, callOptions, callback); }; } + + return this.productSearchStub; } /** @@ -453,6 +481,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.createProductSet(request, options, callback); } getProductSet( @@ -531,6 +560,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.getProductSet(request, options, callback); } updateProductSet( @@ -567,7 +597,7 @@ export class ProductSearchClient { * @param {google.cloud.vision.v1.ProductSet} request.productSet * Required. The ProductSet resource which replaces the one on the server. * @param {google.protobuf.FieldMask} request.updateMask - * The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields to * update. * If update_mask isn't specified, all mutable fields are to be updated. * Valid mask path is `display_name`. @@ -615,6 +645,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ 'product_set.name': request.productSet!.name || '', }); + this.initialize(); return this._innerApiCalls.updateProductSet(request, options, callback); } deleteProductSet( @@ -693,6 +724,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.deleteProductSet(request, options, callback); } createProduct( @@ -781,6 +813,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.createProduct(request, options, callback); } getProduct( @@ -859,6 +892,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.getProduct(request, options, callback); } updateProduct( @@ -903,7 +937,7 @@ export class ProductSearchClient { * Required. The Product resource which replaces the one on the server. * product.name is immutable. * @param {google.protobuf.FieldMask} request.updateMask - * The [FieldMask][google.protobuf.FieldMask] that specifies which fields + * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields * to update. * If update_mask isn't specified, all mutable fields are to be updated. * Valid mask paths include `product_labels`, `display_name`, and @@ -951,6 +985,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ 'product.name': request.product!.name || '', }); + this.initialize(); return this._innerApiCalls.updateProduct(request, options, callback); } deleteProduct( @@ -1029,6 +1064,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.deleteProduct(request, options, callback); } createReferenceImage( @@ -1138,6 +1174,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.createReferenceImage(request, options, callback); } deleteReferenceImage( @@ -1228,6 +1265,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.deleteReferenceImage(request, options, callback); } getReferenceImage( @@ -1308,6 +1346,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.getReferenceImage(request, options, callback); } addProductToProductSet( @@ -1403,6 +1442,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.addProductToProductSet( request, options, @@ -1495,6 +1535,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.removeProductFromProductSet( request, options, @@ -1531,14 +1572,14 @@ export class ProductSearchClient { * Asynchronous API that imports a list of reference images to specified * product sets based on a list of image information. * - * The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the + * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be used to keep track of the * progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * `Operation.response` contains `ImportProductSetsResponse`. (results) * * The input source of this method is a csv file on Google Cloud Storage. * For the format of the csv file please see - * [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri]. + * {@link google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri|ImportProductSetsGcsSource.csv_file_uri}. * * @param {Object} request * The request object that will be sent. @@ -1600,6 +1641,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.importProductSets(request, options, callback); } purgeProducts( @@ -1649,7 +1691,7 @@ export class ProductSearchClient { * ProductSet, you must wait until the PurgeProducts operation has finished * for that ProductSet. * - * The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the + * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be used to keep track of the * progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * @@ -1719,6 +1761,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.purgeProducts(request, options, callback); } listProductSets( @@ -1813,6 +1856,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.listProductSets(request, options, callback); } @@ -1858,6 +1902,7 @@ export class ProductSearchClient { parent: request.parent || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listProductSets.createStream( this._innerApiCalls.listProductSets as gax.GaxCall, request, @@ -1956,6 +2001,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.listProducts(request, options, callback); } @@ -2002,6 +2048,7 @@ export class ProductSearchClient { parent: request.parent || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listProducts.createStream( this._innerApiCalls.listProducts as gax.GaxCall, request, @@ -2105,6 +2152,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.listReferenceImages(request, options, callback); } @@ -2154,6 +2202,7 @@ export class ProductSearchClient { parent: request.parent || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listReferenceImages.createStream( this._innerApiCalls.listReferenceImages as gax.GaxCall, request, @@ -2254,6 +2303,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.listProductsInProductSet( request, options, @@ -2304,6 +2354,7 @@ export class ProductSearchClient { name: request.name || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listProductsInProductSet.createStream( this._innerApiCalls.listProductsInProductSet as gax.GaxCall, request, @@ -2533,8 +2584,9 @@ export class ProductSearchClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.productSearchStub.then(stub => { + return this.productSearchStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 32fa019b07a..cafd8ebda5e 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -42,8 +42,13 @@ export class ImageAnnotatorClient { private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; + private _opts: ClientOptions; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; - imageAnnotatorStub: Promise<{[name: string]: Function}>; + imageAnnotatorStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of ImageAnnotatorClient. @@ -67,8 +72,6 @@ export class ImageAnnotatorClient { * app is running in an environment which supports * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ @@ -98,25 +101,28 @@ export class ImageAnnotatorClient { // If we are in browser, we are already using fallback because of the // "browser" field in package.json. // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth as gax.GoogleAuth; + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { - clientHeader.push(`gl-web/${gaxModule.version}`); + clientHeader.push(`gl-web/${this._gaxModule.version}`); } if (!opts.fallback) { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); @@ -132,12 +138,12 @@ export class ImageAnnotatorClient { 'protos', 'protos.json' ); - const protos = gaxGrpc.loadProto( + this._protos = this._gaxGrpc.loadProto( opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( + this._defaults = this._gaxGrpc.constructSettings( 'google.cloud.vision.v1p1beta1.ImageAnnotator', gapicConfig as gax.ClientConfig, opts.clientConfig || {}, @@ -148,17 +154,35 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this._innerApiCalls = {}; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.imageAnnotatorStub) { + return this.imageAnnotatorStub; + } // Put together the "service stub" for // google.cloud.vision.v1p1beta1.ImageAnnotator. - this.imageAnnotatorStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( + this.imageAnnotatorStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p1beta1.ImageAnnotator' ) : // tslint:disable-next-line no-any - (protos as any).google.cloud.vision.v1p1beta1.ImageAnnotator, - opts + (this._protos as any).google.cloud.vision.v1p1beta1.ImageAnnotator, + this._opts ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides @@ -178,9 +202,9 @@ export class ImageAnnotatorClient { } ); - const apiCall = gaxModule.createApiCall( + const apiCall = this._gaxModule.createApiCall( innerCallPromise, - defaults[methodName], + this._defaults[methodName], this._descriptors.page[methodName] || this._descriptors.stream[methodName] || this._descriptors.longrunning[methodName] @@ -194,6 +218,8 @@ export class ImageAnnotatorClient { return apiCall(argument, callOptions, callback); }; } + + return this.imageAnnotatorStub; } /** @@ -320,6 +346,7 @@ export class ImageAnnotatorClient { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.batchAnnotateImages(request, options, callback); } @@ -329,8 +356,9 @@ export class ImageAnnotatorClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.imageAnnotatorStub.then(stub => { + return this.imageAnnotatorStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 52c78f6cea4..5d349868cb1 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -43,9 +43,14 @@ export class ImageAnnotatorClient { private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; + private _opts: ClientOptions; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; operationsClient: gax.OperationsClient; - imageAnnotatorStub: Promise<{[name: string]: Function}>; + imageAnnotatorStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of ImageAnnotatorClient. @@ -69,8 +74,6 @@ export class ImageAnnotatorClient { * app is running in an environment which supports * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ @@ -100,25 +103,28 @@ export class ImageAnnotatorClient { // If we are in browser, we are already using fallback because of the // "browser" field in package.json. // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth as gax.GoogleAuth; + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { - clientHeader.push(`gl-web/${gaxModule.version}`); + clientHeader.push(`gl-web/${this._gaxModule.version}`); } if (!opts.fallback) { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); @@ -134,7 +140,7 @@ export class ImageAnnotatorClient { 'protos', 'protos.json' ); - const protos = gaxGrpc.loadProto( + this._protos = this._gaxGrpc.loadProto( opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); @@ -142,13 +148,15 @@ export class ImageAnnotatorClient { // an Operation object that allows for tracking of the operation, // rather than holding a request open. const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); + ? this._gaxModule.protobuf.Root.fromJSON( + require('../../protos/protos.json') + ) + : this._gaxModule.protobuf.loadSync(nodejsProtoPath); - this.operationsClient = gaxModule + this.operationsClient = this._gaxModule .lro({ auth: this.auth, - grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }) .operationsClient(opts); const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( @@ -159,7 +167,7 @@ export class ImageAnnotatorClient { ) as gax.protobuf.Type; this._descriptors.longrunning = { - asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( + asyncBatchAnnotateFiles: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( asyncBatchAnnotateFilesResponse @@ -171,7 +179,7 @@ export class ImageAnnotatorClient { }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( + this._defaults = this._gaxGrpc.constructSettings( 'google.cloud.vision.v1p2beta1.ImageAnnotator', gapicConfig as gax.ClientConfig, opts.clientConfig || {}, @@ -182,17 +190,35 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this._innerApiCalls = {}; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.imageAnnotatorStub) { + return this.imageAnnotatorStub; + } // Put together the "service stub" for // google.cloud.vision.v1p2beta1.ImageAnnotator. - this.imageAnnotatorStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( + this.imageAnnotatorStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p2beta1.ImageAnnotator' ) : // tslint:disable-next-line no-any - (protos as any).google.cloud.vision.v1p2beta1.ImageAnnotator, - opts + (this._protos as any).google.cloud.vision.v1p2beta1.ImageAnnotator, + this._opts ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides @@ -215,9 +241,9 @@ export class ImageAnnotatorClient { } ); - const apiCall = gaxModule.createApiCall( + const apiCall = this._gaxModule.createApiCall( innerCallPromise, - defaults[methodName], + this._defaults[methodName], this._descriptors.page[methodName] || this._descriptors.stream[methodName] || this._descriptors.longrunning[methodName] @@ -231,6 +257,8 @@ export class ImageAnnotatorClient { return apiCall(argument, callOptions, callback); }; } + + return this.imageAnnotatorStub; } /** @@ -357,6 +385,7 @@ export class ImageAnnotatorClient { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.batchAnnotateImages(request, options, callback); } @@ -442,6 +471,7 @@ export class ImageAnnotatorClient { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.asyncBatchAnnotateFiles( request, options, @@ -455,8 +485,9 @@ export class ImageAnnotatorClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.imageAnnotatorStub.then(stub => { + return this.imageAnnotatorStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 506cc0878df..3484f2a97ca 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -44,9 +44,14 @@ export class ImageAnnotatorClient { private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; + private _opts: ClientOptions; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; operationsClient: gax.OperationsClient; - imageAnnotatorStub: Promise<{[name: string]: Function}>; + imageAnnotatorStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of ImageAnnotatorClient. @@ -70,8 +75,6 @@ export class ImageAnnotatorClient { * app is running in an environment which supports * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ @@ -101,25 +104,28 @@ export class ImageAnnotatorClient { // If we are in browser, we are already using fallback because of the // "browser" field in package.json. // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth as gax.GoogleAuth; + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { - clientHeader.push(`gl-web/${gaxModule.version}`); + clientHeader.push(`gl-web/${this._gaxModule.version}`); } if (!opts.fallback) { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); @@ -135,7 +141,7 @@ export class ImageAnnotatorClient { 'protos', 'protos.json' ); - const protos = gaxGrpc.loadProto( + this._protos = this._gaxGrpc.loadProto( opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); @@ -143,13 +149,13 @@ export class ImageAnnotatorClient { // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. this._pathTemplates = { - productPathTemplate: new gaxModule.PathTemplate( + productPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), - productSetPathTemplate: new gaxModule.PathTemplate( + productSetPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - referenceImagePathTemplate: new gaxModule.PathTemplate( + referenceImagePathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -158,13 +164,15 @@ export class ImageAnnotatorClient { // an Operation object that allows for tracking of the operation, // rather than holding a request open. const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); + ? this._gaxModule.protobuf.Root.fromJSON( + require('../../protos/protos.json') + ) + : this._gaxModule.protobuf.loadSync(nodejsProtoPath); - this.operationsClient = gaxModule + this.operationsClient = this._gaxModule .lro({ auth: this.auth, - grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }) .operationsClient(opts); const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( @@ -175,7 +183,7 @@ export class ImageAnnotatorClient { ) as gax.protobuf.Type; this._descriptors.longrunning = { - asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( + asyncBatchAnnotateFiles: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( asyncBatchAnnotateFilesResponse @@ -187,7 +195,7 @@ export class ImageAnnotatorClient { }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( + this._defaults = this._gaxGrpc.constructSettings( 'google.cloud.vision.v1p3beta1.ImageAnnotator', gapicConfig as gax.ClientConfig, opts.clientConfig || {}, @@ -198,17 +206,35 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this._innerApiCalls = {}; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.imageAnnotatorStub) { + return this.imageAnnotatorStub; + } // Put together the "service stub" for // google.cloud.vision.v1p3beta1.ImageAnnotator. - this.imageAnnotatorStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( + this.imageAnnotatorStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p3beta1.ImageAnnotator' ) : // tslint:disable-next-line no-any - (protos as any).google.cloud.vision.v1p3beta1.ImageAnnotator, - opts + (this._protos as any).google.cloud.vision.v1p3beta1.ImageAnnotator, + this._opts ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides @@ -231,9 +257,9 @@ export class ImageAnnotatorClient { } ); - const apiCall = gaxModule.createApiCall( + const apiCall = this._gaxModule.createApiCall( innerCallPromise, - defaults[methodName], + this._defaults[methodName], this._descriptors.page[methodName] || this._descriptors.stream[methodName] || this._descriptors.longrunning[methodName] @@ -247,6 +273,8 @@ export class ImageAnnotatorClient { return apiCall(argument, callOptions, callback); }; } + + return this.imageAnnotatorStub; } /** @@ -373,6 +401,7 @@ export class ImageAnnotatorClient { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.batchAnnotateImages(request, options, callback); } @@ -458,6 +487,7 @@ export class ImageAnnotatorClient { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.asyncBatchAnnotateFiles( request, options, @@ -650,8 +680,9 @@ export class ImageAnnotatorClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.imageAnnotatorStub.then(stub => { + return this.imageAnnotatorStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index df8f12b2901..d5343693325 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -39,16 +39,16 @@ const version = require('../../../package.json').version; * Manages Products and ProductSets of reference images for use in product * search. It uses the following resource model: * - * - The API has a collection of [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] resources, named + * - The API has a collection of {@link google.cloud.vision.v1p3beta1.ProductSet|ProductSet} resources, named * `projects/* /locations/* /productSets/*`, which acts as a way to put different * products into groups to limit identification. * * In parallel, * - * - The API has a collection of [Product][google.cloud.vision.v1p3beta1.Product] resources, named + * - The API has a collection of {@link google.cloud.vision.v1p3beta1.Product|Product} resources, named * `projects/* /locations/* /products/*` * - * - Each [Product][google.cloud.vision.v1p3beta1.Product] has a collection of [ReferenceImage][google.cloud.vision.v1p3beta1.ReferenceImage] resources, named + * - Each {@link google.cloud.vision.v1p3beta1.Product|Product} has a collection of {@link google.cloud.vision.v1p3beta1.ReferenceImage|ReferenceImage} resources, named * `projects/* /locations/* /products/* /referenceImages/*` * @class * @memberof v1p3beta1 @@ -58,9 +58,14 @@ export class ProductSearchClient { private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; + private _opts: ClientOptions; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; operationsClient: gax.OperationsClient; - productSearchStub: Promise<{[name: string]: Function}>; + productSearchStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of ProductSearchClient. @@ -84,8 +89,6 @@ export class ProductSearchClient { * app is running in an environment which supports * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ @@ -115,25 +118,28 @@ export class ProductSearchClient { // If we are in browser, we are already using fallback because of the // "browser" field in package.json. // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = (this.constructor as typeof ProductSearchClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth as gax.GoogleAuth; + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { - clientHeader.push(`gl-web/${gaxModule.version}`); + clientHeader.push(`gl-web/${this._gaxModule.version}`); } if (!opts.fallback) { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); @@ -149,7 +155,7 @@ export class ProductSearchClient { 'protos', 'protos.json' ); - const protos = gaxGrpc.loadProto( + this._protos = this._gaxGrpc.loadProto( opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); @@ -157,16 +163,16 @@ export class ProductSearchClient { // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. this._pathTemplates = { - locationPathTemplate: new gaxModule.PathTemplate( + locationPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}' ), - productPathTemplate: new gaxModule.PathTemplate( + productPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), - productSetPathTemplate: new gaxModule.PathTemplate( + productSetPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - referenceImagePathTemplate: new gaxModule.PathTemplate( + referenceImagePathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -175,22 +181,22 @@ export class ProductSearchClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this._descriptors.page = { - listProductSets: new gaxModule.PageDescriptor( + listProductSets: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'productSets' ), - listProducts: new gaxModule.PageDescriptor( + listProducts: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' ), - listReferenceImages: new gaxModule.PageDescriptor( + listReferenceImages: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'referenceImages' ), - listProductsInProductSet: new gaxModule.PageDescriptor( + listProductsInProductSet: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' @@ -201,13 +207,15 @@ export class ProductSearchClient { // an Operation object that allows for tracking of the operation, // rather than holding a request open. const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); + ? this._gaxModule.protobuf.Root.fromJSON( + require('../../protos/protos.json') + ) + : this._gaxModule.protobuf.loadSync(nodejsProtoPath); - this.operationsClient = gaxModule + this.operationsClient = this._gaxModule .lro({ auth: this.auth, - grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }) .operationsClient(opts); const importProductSetsResponse = protoFilesRoot.lookup( @@ -218,7 +226,7 @@ export class ProductSearchClient { ) as gax.protobuf.Type; this._descriptors.longrunning = { - importProductSets: new gaxModule.LongrunningDescriptor( + importProductSets: new this._gaxModule.LongrunningDescriptor( this.operationsClient, importProductSetsResponse.decode.bind(importProductSetsResponse), importProductSetsMetadata.decode.bind(importProductSetsMetadata) @@ -226,7 +234,7 @@ export class ProductSearchClient { }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( + this._defaults = this._gaxGrpc.constructSettings( 'google.cloud.vision.v1p3beta1.ProductSearch', gapicConfig as gax.ClientConfig, opts.clientConfig || {}, @@ -237,17 +245,35 @@ export class ProductSearchClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this._innerApiCalls = {}; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.productSearchStub) { + return this.productSearchStub; + } // Put together the "service stub" for // google.cloud.vision.v1p3beta1.ProductSearch. - this.productSearchStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( + this.productSearchStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p3beta1.ProductSearch' ) : // tslint:disable-next-line no-any - (protos as any).google.cloud.vision.v1p3beta1.ProductSearch, - opts + (this._protos as any).google.cloud.vision.v1p3beta1.ProductSearch, + this._opts ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides @@ -286,9 +312,9 @@ export class ProductSearchClient { } ); - const apiCall = gaxModule.createApiCall( + const apiCall = this._gaxModule.createApiCall( innerCallPromise, - defaults[methodName], + this._defaults[methodName], this._descriptors.page[methodName] || this._descriptors.stream[methodName] || this._descriptors.longrunning[methodName] @@ -302,6 +328,8 @@ export class ProductSearchClient { return apiCall(argument, callOptions, callback); }; } + + return this.productSearchStub; } /** @@ -449,6 +477,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.createProductSet(request, options, callback); } getProductSet( @@ -536,6 +565,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.getProductSet(request, options, callback); } updateProductSet( @@ -576,7 +606,7 @@ export class ProductSearchClient { * @param {google.cloud.vision.v1p3beta1.ProductSet} request.productSet * Required. The ProductSet resource which replaces the one on the server. * @param {google.protobuf.FieldMask} request.updateMask - * The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields to * update. * If update_mask isn't specified, all mutable fields are to be updated. * Valid mask path is `display_name`. @@ -628,6 +658,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ 'product_set.name': request.productSet!.name || '', }); + this.initialize(); return this._innerApiCalls.updateProductSet(request, options, callback); } deleteProductSet( @@ -718,6 +749,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.deleteProductSet(request, options, callback); } createProduct( @@ -815,6 +847,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.createProduct(request, options, callback); } getProduct( @@ -894,6 +927,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.getProduct(request, options, callback); } updateProduct( @@ -941,7 +975,7 @@ export class ProductSearchClient { * Required. The Product resource which replaces the one on the server. * product.name is immutable. * @param {google.protobuf.FieldMask} request.updateMask - * The [FieldMask][google.protobuf.FieldMask] that specifies which fields + * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields * to update. * If update_mask isn't specified, all mutable fields are to be updated. * Valid mask paths include `product_labels`, `display_name`, and @@ -994,6 +1028,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ 'product.name': request.product!.name || '', }); + this.initialize(); return this._innerApiCalls.updateProduct(request, options, callback); } deleteProduct( @@ -1085,6 +1120,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.deleteProduct(request, options, callback); } createReferenceImage( @@ -1194,6 +1230,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.createReferenceImage(request, options, callback); } deleteReferenceImage( @@ -1288,6 +1325,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.deleteReferenceImage(request, options, callback); } getReferenceImage( @@ -1376,6 +1414,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.getReferenceImage(request, options, callback); } addProductToProductSet( @@ -1471,6 +1510,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.addProductToProductSet( request, options, @@ -1567,6 +1607,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.removeProductFromProductSet( request, options, @@ -1603,14 +1644,14 @@ export class ProductSearchClient { * Asynchronous API that imports a list of reference images to specified * product sets based on a list of image information. * - * The [google.longrunning.Operation][google.longrunning.Operation] API can be + * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be * used to keep track of the progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * `Operation.response` contains `ImportProductSetsResponse`. (results) * * The input source of this method is a csv file on Google Cloud Storage. * For the format of the csv file please see - * [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri]. + * {@link google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri|ImportProductSetsGcsSource.csv_file_uri}. * * @param {Object} request * The request object that will be sent. @@ -1672,6 +1713,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.importProductSets(request, options, callback); } listProductSets( @@ -1766,6 +1808,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.listProductSets(request, options, callback); } @@ -1811,6 +1854,7 @@ export class ProductSearchClient { parent: request.parent || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listProductSets.createStream( this._innerApiCalls.listProductSets as gax.GaxCall, request, @@ -1909,6 +1953,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.listProducts(request, options, callback); } @@ -1955,6 +2000,7 @@ export class ProductSearchClient { parent: request.parent || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listProducts.createStream( this._innerApiCalls.listProducts as gax.GaxCall, request, @@ -2058,6 +2104,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.listReferenceImages(request, options, callback); } @@ -2107,6 +2154,7 @@ export class ProductSearchClient { parent: request.parent || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listReferenceImages.createStream( this._innerApiCalls.listReferenceImages as gax.GaxCall, request, @@ -2207,6 +2255,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.listProductsInProductSet( request, options, @@ -2257,6 +2306,7 @@ export class ProductSearchClient { name: request.name || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listProductsInProductSet.createStream( this._innerApiCalls.listProductsInProductSet as gax.GaxCall, request, @@ -2486,8 +2536,9 @@ export class ProductSearchClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.productSearchStub.then(stub => { + return this.productSearchStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index c2463925e0d..6727a746518 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -44,9 +44,14 @@ export class ImageAnnotatorClient { private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; + private _opts: ClientOptions; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; operationsClient: gax.OperationsClient; - imageAnnotatorStub: Promise<{[name: string]: Function}>; + imageAnnotatorStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of ImageAnnotatorClient. @@ -70,8 +75,6 @@ export class ImageAnnotatorClient { * app is running in an environment which supports * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ @@ -101,25 +104,28 @@ export class ImageAnnotatorClient { // If we are in browser, we are already using fallback because of the // "browser" field in package.json. // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth as gax.GoogleAuth; + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { - clientHeader.push(`gl-web/${gaxModule.version}`); + clientHeader.push(`gl-web/${this._gaxModule.version}`); } if (!opts.fallback) { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); @@ -135,7 +141,7 @@ export class ImageAnnotatorClient { 'protos', 'protos.json' ); - const protos = gaxGrpc.loadProto( + this._protos = this._gaxGrpc.loadProto( opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); @@ -143,13 +149,13 @@ export class ImageAnnotatorClient { // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. this._pathTemplates = { - productPathTemplate: new gaxModule.PathTemplate( + productPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), - productSetPathTemplate: new gaxModule.PathTemplate( + productSetPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - referenceImagePathTemplate: new gaxModule.PathTemplate( + referenceImagePathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -158,13 +164,15 @@ export class ImageAnnotatorClient { // an Operation object that allows for tracking of the operation, // rather than holding a request open. const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); + ? this._gaxModule.protobuf.Root.fromJSON( + require('../../protos/protos.json') + ) + : this._gaxModule.protobuf.loadSync(nodejsProtoPath); - this.operationsClient = gaxModule + this.operationsClient = this._gaxModule .lro({ auth: this.auth, - grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }) .operationsClient(opts); const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( @@ -181,7 +189,7 @@ export class ImageAnnotatorClient { ) as gax.protobuf.Type; this._descriptors.longrunning = { - asyncBatchAnnotateImages: new gaxModule.LongrunningDescriptor( + asyncBatchAnnotateImages: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateImagesResponse.decode.bind( asyncBatchAnnotateImagesResponse @@ -190,7 +198,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateImagesMetadata ) ), - asyncBatchAnnotateFiles: new gaxModule.LongrunningDescriptor( + asyncBatchAnnotateFiles: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( asyncBatchAnnotateFilesResponse @@ -202,7 +210,7 @@ export class ImageAnnotatorClient { }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( + this._defaults = this._gaxGrpc.constructSettings( 'google.cloud.vision.v1p4beta1.ImageAnnotator', gapicConfig as gax.ClientConfig, opts.clientConfig || {}, @@ -213,17 +221,35 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this._innerApiCalls = {}; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.imageAnnotatorStub) { + return this.imageAnnotatorStub; + } // Put together the "service stub" for // google.cloud.vision.v1p4beta1.ImageAnnotator. - this.imageAnnotatorStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( + this.imageAnnotatorStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p4beta1.ImageAnnotator' ) : // tslint:disable-next-line no-any - (protos as any).google.cloud.vision.v1p4beta1.ImageAnnotator, - opts + (this._protos as any).google.cloud.vision.v1p4beta1.ImageAnnotator, + this._opts ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides @@ -248,9 +274,9 @@ export class ImageAnnotatorClient { } ); - const apiCall = gaxModule.createApiCall( + const apiCall = this._gaxModule.createApiCall( innerCallPromise, - defaults[methodName], + this._defaults[methodName], this._descriptors.page[methodName] || this._descriptors.stream[methodName] || this._descriptors.longrunning[methodName] @@ -264,6 +290,8 @@ export class ImageAnnotatorClient { return apiCall(argument, callOptions, callback); }; } + + return this.imageAnnotatorStub; } /** @@ -390,6 +418,7 @@ export class ImageAnnotatorClient { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.batchAnnotateImages(request, options, callback); } batchAnnotateFiles( @@ -470,6 +499,7 @@ export class ImageAnnotatorClient { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.batchAnnotateFiles(request, options, callback); } @@ -560,6 +590,7 @@ export class ImageAnnotatorClient { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.asyncBatchAnnotateImages( request, options, @@ -648,6 +679,7 @@ export class ImageAnnotatorClient { options = optionsOrCallback as gax.CallOptions; } options = options || {}; + this.initialize(); return this._innerApiCalls.asyncBatchAnnotateFiles( request, options, @@ -840,8 +872,9 @@ export class ImageAnnotatorClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.imageAnnotatorStub.then(stub => { + return this.imageAnnotatorStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 7f03a65d17f..a9b0932c187 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -40,18 +40,18 @@ const version = require('../../../package.json').version; * search. It uses the following resource model: * * - The API has a collection of - * [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] resources, named + * {@link google.cloud.vision.v1p4beta1.ProductSet|ProductSet} resources, named * `projects/* /locations/* /productSets/*`, which acts as a way to put different * products into groups to limit identification. * * In parallel, * * - The API has a collection of - * [Product][google.cloud.vision.v1p4beta1.Product] resources, named + * {@link google.cloud.vision.v1p4beta1.Product|Product} resources, named * `projects/* /locations/* /products/*` * - * - Each [Product][google.cloud.vision.v1p4beta1.Product] has a collection of - * [ReferenceImage][google.cloud.vision.v1p4beta1.ReferenceImage] resources, + * - Each {@link google.cloud.vision.v1p4beta1.Product|Product} has a collection of + * {@link google.cloud.vision.v1p4beta1.ReferenceImage|ReferenceImage} resources, * named * `projects/* /locations/* /products/* /referenceImages/*` * @class @@ -62,9 +62,14 @@ export class ProductSearchClient { private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; + private _opts: ClientOptions; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; operationsClient: gax.OperationsClient; - productSearchStub: Promise<{[name: string]: Function}>; + productSearchStub?: Promise<{[name: string]: Function}>; /** * Construct an instance of ProductSearchClient. @@ -88,8 +93,6 @@ export class ProductSearchClient { * app is running in an environment which supports * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. - * @param {function} [options.promise] - Custom promise module to use instead - * of native Promises. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. */ @@ -119,25 +122,28 @@ export class ProductSearchClient { // If we are in browser, we are already using fallback because of the // "browser" field in package.json. // But if we were explicitly requested to use fallback, let's do it now. - const gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. opts.scopes = (this.constructor as typeof ProductSearchClient).scopes; - const gaxGrpc = new gaxModule.GrpcClient(opts); + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; // Save the auth object to the client, for use by other methods. - this.auth = gaxGrpc.auth as gax.GoogleAuth; + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; // Determine the client header string. - const clientHeader = [`gax/${gaxModule.version}`, `gapic/${version}`]; + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { clientHeader.push(`gl-node/${process.versions.node}`); } else { - clientHeader.push(`gl-web/${gaxModule.version}`); + clientHeader.push(`gl-web/${this._gaxModule.version}`); } if (!opts.fallback) { - clientHeader.push(`grpc/${gaxGrpc.grpcVersion}`); + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); @@ -153,7 +159,7 @@ export class ProductSearchClient { 'protos', 'protos.json' ); - const protos = gaxGrpc.loadProto( + this._protos = this._gaxGrpc.loadProto( opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath ); @@ -161,16 +167,16 @@ export class ProductSearchClient { // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. this._pathTemplates = { - locationPathTemplate: new gaxModule.PathTemplate( + locationPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}' ), - productPathTemplate: new gaxModule.PathTemplate( + productPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), - productSetPathTemplate: new gaxModule.PathTemplate( + productSetPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/productSets/{product_set}' ), - referenceImagePathTemplate: new gaxModule.PathTemplate( + referenceImagePathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}/referenceImages/{reference_image}' ), }; @@ -179,22 +185,22 @@ export class ProductSearchClient { // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. this._descriptors.page = { - listProductSets: new gaxModule.PageDescriptor( + listProductSets: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'productSets' ), - listProducts: new gaxModule.PageDescriptor( + listProducts: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' ), - listReferenceImages: new gaxModule.PageDescriptor( + listReferenceImages: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'referenceImages' ), - listProductsInProductSet: new gaxModule.PageDescriptor( + listProductsInProductSet: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', 'products' @@ -205,13 +211,15 @@ export class ProductSearchClient { // an Operation object that allows for tracking of the operation, // rather than holding a request open. const protoFilesRoot = opts.fallback - ? gaxModule.protobuf.Root.fromJSON(require('../../protos/protos.json')) - : gaxModule.protobuf.loadSync(nodejsProtoPath); + ? this._gaxModule.protobuf.Root.fromJSON( + require('../../protos/protos.json') + ) + : this._gaxModule.protobuf.loadSync(nodejsProtoPath); - this.operationsClient = gaxModule + this.operationsClient = this._gaxModule .lro({ auth: this.auth, - grpc: 'grpc' in gaxGrpc ? gaxGrpc.grpc : undefined, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, }) .operationsClient(opts); const importProductSetsResponse = protoFilesRoot.lookup( @@ -228,12 +236,12 @@ export class ProductSearchClient { ) as gax.protobuf.Type; this._descriptors.longrunning = { - importProductSets: new gaxModule.LongrunningDescriptor( + importProductSets: new this._gaxModule.LongrunningDescriptor( this.operationsClient, importProductSetsResponse.decode.bind(importProductSetsResponse), importProductSetsMetadata.decode.bind(importProductSetsMetadata) ), - purgeProducts: new gaxModule.LongrunningDescriptor( + purgeProducts: new this._gaxModule.LongrunningDescriptor( this.operationsClient, purgeProductsResponse.decode.bind(purgeProductsResponse), purgeProductsMetadata.decode.bind(purgeProductsMetadata) @@ -241,7 +249,7 @@ export class ProductSearchClient { }; // Put together the default options sent with requests. - const defaults = gaxGrpc.constructSettings( + this._defaults = this._gaxGrpc.constructSettings( 'google.cloud.vision.v1p4beta1.ProductSearch', gapicConfig as gax.ClientConfig, opts.clientConfig || {}, @@ -252,17 +260,35 @@ export class ProductSearchClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this._innerApiCalls = {}; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.productSearchStub) { + return this.productSearchStub; + } // Put together the "service stub" for // google.cloud.vision.v1p4beta1.ProductSearch. - this.productSearchStub = gaxGrpc.createStub( - opts.fallback - ? (protos as protobuf.Root).lookupService( + this.productSearchStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p4beta1.ProductSearch' ) : // tslint:disable-next-line no-any - (protos as any).google.cloud.vision.v1p4beta1.ProductSearch, - opts + (this._protos as any).google.cloud.vision.v1p4beta1.ProductSearch, + this._opts ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides @@ -302,9 +328,9 @@ export class ProductSearchClient { } ); - const apiCall = gaxModule.createApiCall( + const apiCall = this._gaxModule.createApiCall( innerCallPromise, - defaults[methodName], + this._defaults[methodName], this._descriptors.page[methodName] || this._descriptors.stream[methodName] || this._descriptors.longrunning[methodName] @@ -318,6 +344,8 @@ export class ProductSearchClient { return apiCall(argument, callOptions, callback); }; } + + return this.productSearchStub; } /** @@ -465,6 +493,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.createProductSet(request, options, callback); } getProductSet( @@ -552,6 +581,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.getProductSet(request, options, callback); } updateProductSet( @@ -592,7 +622,7 @@ export class ProductSearchClient { * @param {google.cloud.vision.v1p4beta1.ProductSet} request.productSet * Required. The ProductSet resource which replaces the one on the server. * @param {google.protobuf.FieldMask} request.updateMask - * The [FieldMask][google.protobuf.FieldMask] that specifies which fields to + * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields to * update. * If update_mask isn't specified, all mutable fields are to be updated. * Valid mask path is `display_name`. @@ -644,6 +674,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ 'product_set.name': request.productSet!.name || '', }); + this.initialize(); return this._innerApiCalls.updateProductSet(request, options, callback); } deleteProductSet( @@ -730,6 +761,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.deleteProductSet(request, options, callback); } createProduct( @@ -827,6 +859,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.createProduct(request, options, callback); } getProduct( @@ -906,6 +939,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.getProduct(request, options, callback); } updateProduct( @@ -954,7 +988,7 @@ export class ProductSearchClient { * Required. The Product resource which replaces the one on the server. * product.name is immutable. * @param {google.protobuf.FieldMask} request.updateMask - * The [FieldMask][google.protobuf.FieldMask] that specifies which fields + * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields * to update. * If update_mask isn't specified, all mutable fields are to be updated. * Valid mask paths include `product_labels`, `display_name`, and @@ -1007,6 +1041,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ 'product.name': request.product!.name || '', }); + this.initialize(); return this._innerApiCalls.updateProduct(request, options, callback); } deleteProduct( @@ -1094,6 +1129,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.deleteProduct(request, options, callback); } createReferenceImage( @@ -1204,6 +1240,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.createReferenceImage(request, options, callback); } deleteReferenceImage( @@ -1294,6 +1331,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.deleteReferenceImage(request, options, callback); } getReferenceImage( @@ -1382,6 +1420,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.getReferenceImage(request, options, callback); } addProductToProductSet( @@ -1477,6 +1516,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.addProductToProductSet( request, options, @@ -1570,6 +1610,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.removeProductFromProductSet( request, options, @@ -1606,14 +1647,14 @@ export class ProductSearchClient { * Asynchronous API that imports a list of reference images to specified * product sets based on a list of image information. * - * The [google.longrunning.Operation][google.longrunning.Operation] API can be + * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be * used to keep track of the progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * `Operation.response` contains `ImportProductSetsResponse`. (results) * * The input source of this method is a csv file on Google Cloud Storage. * For the format of the csv file please see - * [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri]. + * {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri|ImportProductSetsGcsSource.csv_file_uri}. * * @param {Object} request * The request object that will be sent. @@ -1675,6 +1716,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.importProductSets(request, options, callback); } purgeProducts( @@ -1724,7 +1766,7 @@ export class ProductSearchClient { * ProductSet, you must wait until the PurgeProducts operation has finished * for that ProductSet. * - * The [google.longrunning.Operation][google.longrunning.Operation] API can be + * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be * used to keep track of the progress and results of the request. * `Operation.metadata` contains `BatchOperationMetadata`. (progress) * @@ -1794,6 +1836,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.purgeProducts(request, options, callback); } listProductSets( @@ -1888,6 +1931,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.listProductSets(request, options, callback); } @@ -1933,6 +1977,7 @@ export class ProductSearchClient { parent: request.parent || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listProductSets.createStream( this._innerApiCalls.listProductSets as gax.GaxCall, request, @@ -2031,6 +2076,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.listProducts(request, options, callback); } @@ -2077,6 +2123,7 @@ export class ProductSearchClient { parent: request.parent || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listProducts.createStream( this._innerApiCalls.listProducts as gax.GaxCall, request, @@ -2180,6 +2227,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ parent: request.parent || '', }); + this.initialize(); return this._innerApiCalls.listReferenceImages(request, options, callback); } @@ -2229,6 +2277,7 @@ export class ProductSearchClient { parent: request.parent || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listReferenceImages.createStream( this._innerApiCalls.listReferenceImages as gax.GaxCall, request, @@ -2329,6 +2378,7 @@ export class ProductSearchClient { ] = gax.routingHeader.fromParams({ name: request.name || '', }); + this.initialize(); return this._innerApiCalls.listProductsInProductSet( request, options, @@ -2379,6 +2429,7 @@ export class ProductSearchClient { name: request.name || '', }); const callSettings = new gax.CallSettings(options); + this.initialize(); return this._descriptors.page.listProductsInProductSet.createStream( this._innerApiCalls.listProductsInProductSet as gax.GaxCall, request, @@ -2608,8 +2659,9 @@ export class ProductSearchClient { * The client will no longer be usable and all future behavior is undefined. */ close(): Promise { + this.initialize(); if (!this._terminated) { - return this.productSearchStub.then(stub => { + return this.productSearchStub!.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 5afc6626e39..29d46fa5669 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,12 +1,13 @@ { - "updateTime": "2020-03-02T23:51:22.269713Z", + "updateTime": "2020-03-05T23:19:41.489100Z", "sources": [ { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "244ab2b83a82076a1fa7be63b7e0671af73f5c02", - "internalRef": "298455048" + "sha": "f0b581b5bdf803e45201ecdb3688b60e381628a8", + "internalRef": "299181282", + "log": "f0b581b5bdf803e45201ecdb3688b60e381628a8\nfix: recommendationengine/v1beta1 update some comments\n\nPiperOrigin-RevId: 299181282\n\n10e9a0a833dc85ff8f05b2c67ebe5ac785fe04ff\nbuild: add generated BUILD file for Routes Preferred API\n\nPiperOrigin-RevId: 299164808\n\n86738c956a8238d7c77f729be78b0ed887a6c913\npublish v1p1beta1: update with absolute address in comments\n\nPiperOrigin-RevId: 299152383\n\n73d9f2ad4591de45c2e1f352bc99d70cbd2a6d95\npublish v1: update with absolute address in comments\n\nPiperOrigin-RevId: 299147194\n\nd2158f24cb77b0b0ccfe68af784c6a628705e3c6\npublish v1beta2: update with absolute address in comments\n\nPiperOrigin-RevId: 299147086\n\n7fca61292c11b4cd5b352cee1a50bf88819dd63b\npublish v1p2beta1: update with absolute address in comments\n\nPiperOrigin-RevId: 299146903\n\n583b7321624736e2c490e328f4b1957335779295\npublish v1p3beta1: update with absolute address in comments\n\nPiperOrigin-RevId: 299146674\n\n638253bf86d1ce1c314108a089b7351440c2f0bf\nfix: add java_multiple_files option for automl text_sentiment.proto\n\nPiperOrigin-RevId: 298971070\n\n373d655703bf914fb8b0b1cc4071d772bac0e0d1\nUpdate Recs AI Beta public bazel file\n\nPiperOrigin-RevId: 298961623\n\ndcc5d00fc8a8d8b56f16194d7c682027b2c66a3b\nfix: add java_multiple_files option for automl classification.proto\n\nPiperOrigin-RevId: 298953301\n\na3f791827266f3496a6a5201d58adc4bb265c2a3\nchore: automl/v1 publish annotations and retry config\n\nPiperOrigin-RevId: 298942178\n\n01c681586d8d6dbd60155289b587aee678530bd9\nMark return_immediately in PullRequest deprecated.\n\nPiperOrigin-RevId: 298893281\n\nc9f5e9c4bfed54bbd09227e990e7bded5f90f31c\nRemove out of date documentation for predicate support on the Storage API\n\nPiperOrigin-RevId: 298883309\n\nfd5b3b8238d783b04692a113ffe07c0363f5de0f\ngenerate webrisk v1 proto\n\nPiperOrigin-RevId: 298847934\n\n541b1ded4abadcc38e8178680b0677f65594ea6f\nUpdate cloud asset api v1p4beta1.\n\nPiperOrigin-RevId: 298686266\n\nc0d171acecb4f5b0bfd2c4ca34fc54716574e300\n Updated to include the Notification v1 API.\n\nPiperOrigin-RevId: 298652775\n\n2346a9186c0bff2c9cc439f2459d558068637e05\nAdd Service Directory v1beta1 protos and configs\n\nPiperOrigin-RevId: 298625638\n\na78ed801b82a5c6d9c5368e24b1412212e541bb7\nPublishing v3 protos and configs.\n\nPiperOrigin-RevId: 298607357\n\n4a180bfff8a21645b3a935c2756e8d6ab18a74e0\nautoml/v1beta1 publish proto updates\n\nPiperOrigin-RevId: 298484782\n\n6de6e938b7df1cd62396563a067334abeedb9676\nchore: use the latest gapic-generator and protoc-java-resource-name-plugin in Bazel workspace.\n\nPiperOrigin-RevId: 298474513\n\n" } }, { diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts index c5589dad4b0..e9f8e07457d 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts @@ -104,12 +104,30 @@ describe('v1.ImageAnnotatorClient', () => { }); assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + it('has close method', () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new imageannotatorModule.v1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest = {}; request.parent = ''; @@ -133,6 +151,8 @@ describe('v1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest = {}; request.parent = ''; @@ -158,6 +178,8 @@ describe('v1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest = {}; request.parent = ''; @@ -181,6 +203,8 @@ describe('v1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest = {}; request.parent = ''; @@ -206,6 +230,8 @@ describe('v1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest = {}; request.parent = ''; @@ -236,6 +262,8 @@ describe('v1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest = {}; request.parent = ''; @@ -269,6 +297,8 @@ describe('v1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest = {}; request.parent = ''; @@ -299,6 +329,8 @@ describe('v1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest = {}; request.parent = ''; diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts index 5d183675a96..475c336f24e 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts @@ -83,12 +83,30 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { }); assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + it('has close method', () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest = {}; // Mock response @@ -111,6 +129,8 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest = {}; // Mock response diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts index 00d9a51e68d..5bf785d47b4 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts @@ -104,12 +104,30 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { }); assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + it('has close method', () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest = {}; // Mock response @@ -132,6 +150,8 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest = {}; // Mock response @@ -156,6 +176,8 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest = {}; // Mock response @@ -185,6 +207,8 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest = {}; // Mock response diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts index 420248bda0e..9cc8e98ce09 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts @@ -104,12 +104,30 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { }); assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + it('has close method', () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest = {}; // Mock response @@ -132,6 +150,8 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest = {}; // Mock response @@ -156,6 +176,8 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest = {}; // Mock response @@ -185,6 +207,8 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest = {}; // Mock response diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts index 84a2f0cf3db..1d80f69127f 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts @@ -104,12 +104,30 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { }); assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + it('has close method', () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); describe('batchAnnotateImages', () => { it('invokes batchAnnotateImages without error', done => { const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest = {}; // Mock response @@ -132,6 +150,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest = {}; // Mock response @@ -156,6 +176,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest = {}; // Mock response @@ -178,6 +200,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest = {}; // Mock response @@ -202,6 +226,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest = {}; // Mock response @@ -231,6 +257,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest = {}; // Mock response @@ -263,6 +291,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest = {}; // Mock response @@ -292,6 +322,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest = {}; // Mock response diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1.ts index ab940b73084..8560481060a 100644 --- a/packages/google-cloud-vision/test/gapic-product_search-v1.ts +++ b/packages/google-cloud-vision/test/gapic-product_search-v1.ts @@ -102,12 +102,30 @@ describe('v1.ProductSearchClient', () => { }); assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + await client.initialize(); + assert(client.productSearchStub); + }); + it('has close method', () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); describe('createProductSet', () => { it('invokes createProductSet without error', done => { const client = new productsearchModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest = {}; request.parent = ''; @@ -131,6 +149,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest = {}; request.parent = ''; @@ -156,6 +176,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest = {}; request.name = ''; @@ -179,6 +201,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest = {}; request.name = ''; @@ -204,6 +228,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest = {}; request.productSet = {}; @@ -228,6 +254,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest = {}; request.productSet = {}; @@ -254,6 +282,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest = {}; request.name = ''; @@ -277,6 +307,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest = {}; request.name = ''; @@ -302,6 +334,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.ICreateProductRequest = {}; request.parent = ''; @@ -325,6 +359,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.ICreateProductRequest = {}; request.parent = ''; @@ -350,6 +386,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IGetProductRequest = {}; request.name = ''; @@ -373,6 +411,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IGetProductRequest = {}; request.name = ''; @@ -398,6 +438,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest = {}; request.product = {}; @@ -422,6 +464,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest = {}; request.product = {}; @@ -448,6 +492,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest = {}; request.name = ''; @@ -471,6 +517,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest = {}; request.name = ''; @@ -496,6 +544,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest = {}; request.parent = ''; @@ -519,6 +569,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest = {}; request.parent = ''; @@ -544,6 +596,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest = {}; request.name = ''; @@ -567,6 +621,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest = {}; request.name = ''; @@ -592,6 +648,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest = {}; request.name = ''; @@ -615,6 +673,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest = {}; request.name = ''; @@ -640,6 +700,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest = {}; request.name = ''; @@ -663,6 +725,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest = {}; request.name = ''; @@ -688,6 +752,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest = {}; request.name = ''; @@ -711,6 +777,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest = {}; request.name = ''; @@ -739,6 +807,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest = {}; request.parent = ''; @@ -769,6 +839,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest = {}; request.parent = ''; @@ -802,6 +874,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest = {}; request.parent = ''; @@ -832,6 +906,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest = {}; request.parent = ''; @@ -865,6 +941,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest = {}; request.parent = ''; @@ -892,6 +970,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest = {}; request.parent = ''; @@ -924,6 +1004,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IListProductsRequest = {}; request.parent = ''; @@ -951,6 +1033,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IListProductsRequest = {}; request.parent = ''; @@ -983,6 +1067,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest = {}; request.parent = ''; @@ -1010,6 +1096,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest = {}; request.parent = ''; @@ -1042,6 +1130,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest = {}; request.name = ''; @@ -1072,6 +1162,8 @@ describe('v1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest = {}; request.name = ''; diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts index 5eab211dc4a..117258ce148 100644 --- a/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts @@ -104,12 +104,30 @@ describe('v1p3beta1.ProductSearchClient', () => { }); assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + await client.initialize(); + assert(client.productSearchStub); + }); + it('has close method', () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); describe('createProductSet', () => { it('invokes createProductSet without error', done => { const client = new productsearchModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest = {}; request.parent = ''; @@ -133,6 +151,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest = {}; request.parent = ''; @@ -158,6 +178,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest = {}; request.name = ''; @@ -181,6 +203,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest = {}; request.name = ''; @@ -206,6 +230,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest = {}; request.productSet = {}; @@ -230,6 +256,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest = {}; request.productSet = {}; @@ -256,6 +284,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest = {}; request.name = ''; @@ -279,6 +309,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest = {}; request.name = ''; @@ -304,6 +336,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest = {}; request.parent = ''; @@ -327,6 +361,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest = {}; request.parent = ''; @@ -352,6 +388,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest = {}; request.name = ''; @@ -375,6 +413,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest = {}; request.name = ''; @@ -400,6 +440,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest = {}; request.product = {}; @@ -424,6 +466,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest = {}; request.product = {}; @@ -450,6 +494,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest = {}; request.name = ''; @@ -473,6 +519,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest = {}; request.name = ''; @@ -498,6 +546,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest = {}; request.parent = ''; @@ -521,6 +571,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest = {}; request.parent = ''; @@ -546,6 +598,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest = {}; request.name = ''; @@ -569,6 +623,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest = {}; request.name = ''; @@ -594,6 +650,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest = {}; request.name = ''; @@ -617,6 +675,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest = {}; request.name = ''; @@ -642,6 +702,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest = {}; request.name = ''; @@ -665,6 +727,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest = {}; request.name = ''; @@ -690,6 +754,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest = {}; request.name = ''; @@ -713,6 +779,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest = {}; request.name = ''; @@ -741,6 +809,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest = {}; request.parent = ''; @@ -771,6 +841,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest = {}; request.parent = ''; @@ -804,6 +876,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest = {}; request.parent = ''; @@ -831,6 +905,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest = {}; request.parent = ''; @@ -863,6 +939,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest = {}; request.parent = ''; @@ -890,6 +968,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest = {}; request.parent = ''; @@ -922,6 +1002,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest = {}; request.parent = ''; @@ -949,6 +1031,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest = {}; request.parent = ''; @@ -981,6 +1065,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest = {}; request.name = ''; @@ -1011,6 +1097,8 @@ describe('v1p3beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest = {}; request.name = ''; diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts index b83a0d25054..d18c6bd6a24 100644 --- a/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts @@ -104,12 +104,30 @@ describe('v1p4beta1.ProductSearchClient', () => { }); assert(client); }); + it('has initialize method and supports deferred initialization', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + await client.initialize(); + assert(client.productSearchStub); + }); + it('has close method', () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); describe('createProductSet', () => { it('invokes createProductSet without error', done => { const client = new productsearchModule.v1p4beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest = {}; request.parent = ''; @@ -133,6 +151,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest = {}; request.parent = ''; @@ -158,6 +178,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest = {}; request.name = ''; @@ -181,6 +203,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest = {}; request.name = ''; @@ -206,6 +230,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest = {}; request.productSet = {}; @@ -230,6 +256,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest = {}; request.productSet = {}; @@ -256,6 +284,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest = {}; request.name = ''; @@ -279,6 +309,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest = {}; request.name = ''; @@ -304,6 +336,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest = {}; request.parent = ''; @@ -327,6 +361,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest = {}; request.parent = ''; @@ -352,6 +388,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest = {}; request.name = ''; @@ -375,6 +413,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest = {}; request.name = ''; @@ -400,6 +440,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest = {}; request.product = {}; @@ -424,6 +466,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest = {}; request.product = {}; @@ -450,6 +494,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest = {}; request.name = ''; @@ -473,6 +519,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest = {}; request.name = ''; @@ -498,6 +546,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest = {}; request.parent = ''; @@ -521,6 +571,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest = {}; request.parent = ''; @@ -546,6 +598,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest = {}; request.name = ''; @@ -569,6 +623,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest = {}; request.name = ''; @@ -594,6 +650,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest = {}; request.name = ''; @@ -617,6 +675,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest = {}; request.name = ''; @@ -642,6 +702,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest = {}; request.name = ''; @@ -665,6 +727,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest = {}; request.name = ''; @@ -690,6 +754,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest = {}; request.name = ''; @@ -713,6 +779,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest = {}; request.name = ''; @@ -741,6 +809,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest = {}; request.parent = ''; @@ -771,6 +841,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest = {}; request.parent = ''; @@ -804,6 +876,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest = {}; request.parent = ''; @@ -834,6 +908,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest = {}; request.parent = ''; @@ -867,6 +943,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest = {}; request.parent = ''; @@ -894,6 +972,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest = {}; request.parent = ''; @@ -926,6 +1006,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest = {}; request.parent = ''; @@ -953,6 +1035,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest = {}; request.parent = ''; @@ -985,6 +1069,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest = {}; request.parent = ''; @@ -1012,6 +1098,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest = {}; request.parent = ''; @@ -1044,6 +1132,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest = {}; request.name = ''; @@ -1074,6 +1164,8 @@ describe('v1p4beta1.ProductSearchClient', () => { credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); + // Initialize client before mocking + client.initialize(); // Mock request const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest = {}; request.name = ''; From 798cd7b1001244704d24b33295eda05374f3342a Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Thu, 5 Mar 2020 17:27:24 -0800 Subject: [PATCH 390/588] build: update linkinator config (#552) --- packages/google-cloud-vision/linkinator.config.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/linkinator.config.json b/packages/google-cloud-vision/linkinator.config.json index b555215ca02..29a223b6db6 100644 --- a/packages/google-cloud-vision/linkinator.config.json +++ b/packages/google-cloud-vision/linkinator.config.json @@ -4,5 +4,7 @@ "https://codecov.io/gh/googleapis/", "www.googleapis.com", "img.shields.io" - ] + ], + "silent": true, + "concurrency": 10 } From 14f7317ecadeba1011866d8b62bbff550f4402be Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Fri, 6 Mar 2020 15:00:26 -0800 Subject: [PATCH 391/588] build(tests): fix coveralls and enable build cop (#554) --- packages/google-cloud-vision/.mocharc.js | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 packages/google-cloud-vision/.mocharc.js diff --git a/packages/google-cloud-vision/.mocharc.js b/packages/google-cloud-vision/.mocharc.js new file mode 100644 index 00000000000..ff7b34fa5d1 --- /dev/null +++ b/packages/google-cloud-vision/.mocharc.js @@ -0,0 +1,28 @@ +// Copyright 2020 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 +} +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 From 0a53ec79c9d9f983c073ee19ff94a706534b17bd Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2020 14:41:31 -0700 Subject: [PATCH 392/588] chore: release 1.11.0 (#548) --- packages/google-cloud-vision/CHANGELOG.md | 8 ++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 057b3a1a4e0..d13499a141c 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [1.11.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.10.0...v1.11.0) (2020-03-11) + + +### Features + +* deferred client initialization ([#551](https://www.github.com/googleapis/nodejs-vision/issues/551)) ([8866d89](https://www.github.com/googleapis/nodejs-vision/commit/8866d8905750dfc0627f585c30c0b19bb205172d)) +* export protos from src/index.ts ([#547](https://www.github.com/googleapis/nodejs-vision/issues/547)) ([41c736c](https://www.github.com/googleapis/nodejs-vision/commit/41c736c8f234f6fba20120fa5c17353519f2d45d)) + ## [1.10.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.9.0...v1.10.0) (2020-03-03) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 522432b0d3c..53d089ee3b4 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.10.0", + "version": "1.11.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 01c6254af1e..8e721c48750 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.10.0", + "@google-cloud/vision": "^1.11.0", "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^0.6.1", From 656ae115703eaa7afad0c7a71f87a1ae7454e657 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 18 Mar 2020 13:03:31 -0700 Subject: [PATCH 393/588] docs: mention templates in contributing section of README (#558) --- packages/google-cloud-vision/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 8a60cd6de57..aa4651017d7 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -120,6 +120,12 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-vision/blob/master/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 template in this +[directory](https://github.com/googleapis/synthtool/tree/master/synthtool/gcp/templates/node_library). + ## License Apache Version 2.0 From bc554abc4faac5b0352aa3cedd9c54adec779209 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 23 Mar 2020 18:33:11 -0700 Subject: [PATCH 394/588] docs: document version support goals (#564) --- packages/google-cloud-vision/README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index aa4651017d7..977211df1a8 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -97,6 +97,27 @@ has instructions for running the samples. The [Google Cloud Vision 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://nodejs.org/en/about/releases/). +Libraries are compatible with all current _active_ and _maintenance_ versions of +Node.js. + +Client libraries targetting some end-of-life versions of Node.js are available, and +can be installed via npm [dist-tags](https://docs.npmjs.com/cli/dist-tag). +The dist-tags follow the naming convention `legacy-(version)`. + +_Legacy Node.js versions are supported as a best effort:_ + +* Legacy versions will not be tested in continuous integration. +* Some security patches may not be able to be backported. +* Dependencies will not be kept up-to-date, and features will not be backported. + +#### Legacy tags available + +* `legacy-8`: install client libraries from this dist-tag for versions + compatible with Node.js 8. + ## Versioning This library follows [Semantic Versioning](http://semver.org/). From dbbe43509844648424f0336117ec0beabb89c2dd Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 25 Mar 2020 01:13:43 -0700 Subject: [PATCH 395/588] chore: regenerate the code (#563) This PR was generated using Autosynth. :rainbow:
Log from Synthtool ``` 2020-03-22 04:59:03,251 synthtool > Executing /tmpfs/src/git/autosynth/working_repo/synth.py. 2020-03-22 04:59:03,303 synthtool > Ensuring dependencies. 2020-03-22 04:59:03,308 synthtool > Cloning googleapis. 2020-03-22 04:59:03,634 synthtool > Pulling Docker image: gapic-generator-typescript:latest latest: Pulling from gapic-images/gapic-generator-typescript Digest: sha256:3762b8bcba247ef4d020ffc7043e2881a20b5fab0ffd98d542f365d3f3a3829d Status: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest 2020-03-22 04:59:04,533 synthtool > Generating code for: google/cloud/vision/v1. 2020-03-22 04:59:05,811 synthtool > Generated code into /tmpfs/tmp/tmppewq415d. 2020-03-22 04:59:05,824 synthtool > Pulling Docker image: gapic-generator-typescript:latest latest: Pulling from gapic-images/gapic-generator-typescript Digest: sha256:3762b8bcba247ef4d020ffc7043e2881a20b5fab0ffd98d542f365d3f3a3829d Status: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest 2020-03-22 04:59:06,708 synthtool > Generating code for: google/cloud/vision/v1p1beta1. 2020-03-22 04:59:07,885 synthtool > Generated code into /tmpfs/tmp/tmpdqvb8s01. 2020-03-22 04:59:07,897 synthtool > Pulling Docker image: gapic-generator-typescript:latest latest: Pulling from gapic-images/gapic-generator-typescript Digest: sha256:3762b8bcba247ef4d020ffc7043e2881a20b5fab0ffd98d542f365d3f3a3829d Status: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest 2020-03-22 04:59:08,780 synthtool > Generating code for: google/cloud/vision/v1p2beta1. 2020-03-22 04:59:09,965 synthtool > Generated code into /tmpfs/tmp/tmpirbbhuba. 2020-03-22 04:59:09,977 synthtool > Pulling Docker image: gapic-generator-typescript:latest latest: Pulling from gapic-images/gapic-generator-typescript Digest: sha256:3762b8bcba247ef4d020ffc7043e2881a20b5fab0ffd98d542f365d3f3a3829d Status: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest 2020-03-22 04:59:10,868 synthtool > Generating code for: google/cloud/vision/v1p3beta1. 2020-03-22 04:59:12,093 synthtool > Generated code into /tmpfs/tmp/tmpsmovc6cy. 2020-03-22 04:59:12,108 synthtool > Pulling Docker image: gapic-generator-typescript:latest latest: Pulling from gapic-images/gapic-generator-typescript Digest: sha256:3762b8bcba247ef4d020ffc7043e2881a20b5fab0ffd98d542f365d3f3a3829d Status: Image is up to date for gcr.io/gapic-images/gapic-generator-typescript:latest 2020-03-22 04:59:17,980 synthtool > Generating code for: google/cloud/vision/v1p4beta1. 2020-03-22 04:59:19,253 synthtool > Generated code into /tmpfs/tmp/tmp6siy3cmv. 2020-03-22 04:59:19,271 synthtool > Replaced '\\Z' in src/v1/image_annotator_client.ts. 2020-03-22 04:59:19,272 synthtool > Replaced '\\Z' in src/v1p1beta1/image_annotator_client.ts. 2020-03-22 04:59:19,272 synthtool > Replaced '\\Z' in src/v1p2beta1/image_annotator_client.ts. 2020-03-22 04:59:19,273 synthtool > Replaced '\\Z' in src/v1p3beta1/image_annotator_client.ts. 2020-03-22 04:59:19,274 synthtool > Replaced '\\Z' in src/v1p4beta1/image_annotator_client.ts. .eslintignore .eslintrc.yml .github/ISSUE_TEMPLATE/bug_report.md .github/ISSUE_TEMPLATE/feature_request.md .github/ISSUE_TEMPLATE/support_request.md .github/PULL_REQUEST_TEMPLATE.md .github/publish.yml .github/release-please.yml .github/workflows/ci.yaml .kokoro/common.cfg .kokoro/continuous/node10/common.cfg .kokoro/continuous/node10/docs.cfg .kokoro/continuous/node10/lint.cfg .kokoro/continuous/node10/samples-test.cfg .kokoro/continuous/node10/system-test.cfg .kokoro/continuous/node10/test.cfg .kokoro/continuous/node12/common.cfg .kokoro/continuous/node12/test.cfg .kokoro/continuous/node8/common.cfg .kokoro/continuous/node8/test.cfg .kokoro/docs.sh .kokoro/lint.sh .kokoro/presubmit/node10/common.cfg .kokoro/presubmit/node10/docs.cfg .kokoro/presubmit/node10/lint.cfg .kokoro/presubmit/node10/samples-test.cfg .kokoro/presubmit/node10/system-test.cfg .kokoro/presubmit/node10/test.cfg .kokoro/presubmit/node12/common.cfg .kokoro/presubmit/node12/test.cfg .kokoro/presubmit/node8/common.cfg .kokoro/presubmit/node8/test.cfg .kokoro/presubmit/windows/common.cfg .kokoro/presubmit/windows/test.cfg .kokoro/publish.sh .kokoro/release/docs.cfg .kokoro/release/docs.sh .kokoro/release/publish.cfg .kokoro/samples-test.sh .kokoro/system-test.sh .kokoro/test.bat .kokoro/test.sh .kokoro/trampoline.sh .mocharc.js .nycrc .prettierignore .prettierrc CODE_OF_CONDUCT.md CONTRIBUTING.md LICENSE README.md codecov.yaml renovate.json samples/README.md npm WARN npm npm does not support Node.js v12.16.1 npm WARN npm You should probably upgrade to a newer version of node as we npm WARN npm can't make any promises that npm will work with this version. npm WARN npm Supported releases of Node.js are the latest release of 6, 8, 9, 10, 11. npm WARN npm You can find the latest version at https://nodejs.org/ > protobufjs@6.8.9 postinstall /tmpfs/src/git/autosynth/working_repo/node_modules/protobufjs > node scripts/postinstall > @google-cloud/vision@1.11.0 prepare /tmpfs/src/git/autosynth/working_repo > npm run compile npm WARN npm npm does not support Node.js v12.16.1 npm WARN npm You should probably upgrade to a newer version of node as we npm WARN npm can't make any promises that npm will work with this version. npm WARN npm Supported releases of Node.js are the latest release of 6, 8, 9, 10, 11. npm WARN npm You can find the latest version at https://nodejs.org/ > @google-cloud/vision@1.11.0 compile /tmpfs/src/git/autosynth/working_repo > tsc -p . && cp -r protos build/ npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.1 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/watchpack/node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.12: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: abbrev@1.1.1 (node_modules/watchpack/node_modules/fsevents/node_modules/abbrev): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/abbrev' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.abbrev.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ansi-regex@2.1.1 (node_modules/watchpack/node_modules/fsevents/node_modules/ansi-regex): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/ansi-regex' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.ansi-regex.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: aproba@1.2.0 (node_modules/watchpack/node_modules/fsevents/node_modules/aproba): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/aproba' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.aproba.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: balanced-match@1.0.0 (node_modules/watchpack/node_modules/fsevents/node_modules/balanced-match): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/balanced-match' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.balanced-match.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: chownr@1.1.4 (node_modules/watchpack/node_modules/fsevents/node_modules/chownr): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/chownr' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.chownr.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: code-point-at@1.1.0 (node_modules/watchpack/node_modules/fsevents/node_modules/code-point-at): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/code-point-at' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.code-point-at.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: concat-map@0.0.1 (node_modules/watchpack/node_modules/fsevents/node_modules/concat-map): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/concat-map' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.concat-map.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: console-control-strings@1.1.0 (node_modules/watchpack/node_modules/fsevents/node_modules/console-control-strings): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/console-control-strings' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.console-control-strings.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: core-util-is@1.0.2 (node_modules/watchpack/node_modules/fsevents/node_modules/core-util-is): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/core-util-is' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.core-util-is.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: deep-extend@0.6.0 (node_modules/watchpack/node_modules/fsevents/node_modules/deep-extend): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/deep-extend' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.deep-extend.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: delegates@1.0.0 (node_modules/watchpack/node_modules/fsevents/node_modules/delegates): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/delegates' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.delegates.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: detect-libc@1.0.3 (node_modules/watchpack/node_modules/fsevents/node_modules/detect-libc): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/detect-libc' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.detect-libc.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fs.realpath@1.0.0 (node_modules/watchpack/node_modules/fsevents/node_modules/fs.realpath): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/fs.realpath' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.fs.realpath.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: has-unicode@2.0.1 (node_modules/watchpack/node_modules/fsevents/node_modules/has-unicode): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/has-unicode' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.has-unicode.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: inherits@2.0.4 (node_modules/watchpack/node_modules/fsevents/node_modules/inherits): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/inherits' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.inherits.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ini@1.3.5 (node_modules/watchpack/node_modules/fsevents/node_modules/ini): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/ini' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.ini.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: isarray@1.0.0 (node_modules/watchpack/node_modules/fsevents/node_modules/isarray): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/isarray' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.isarray.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: minimist@1.2.5 (node_modules/watchpack/node_modules/fsevents/node_modules/minimist): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/minimist' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.minimist.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ms@2.1.2 (node_modules/watchpack/node_modules/fsevents/node_modules/ms): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/ms' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.ms.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: npm-normalize-package-bin@1.0.1 (node_modules/watchpack/node_modules/fsevents/node_modules/npm-normalize-package-bin): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/npm-normalize-package-bin' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.npm-normalize-package-bin.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: number-is-nan@1.0.1 (node_modules/watchpack/node_modules/fsevents/node_modules/number-is-nan): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/number-is-nan' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.number-is-nan.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: object-assign@4.1.1 (node_modules/watchpack/node_modules/fsevents/node_modules/object-assign): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/object-assign' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.object-assign.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: os-homedir@1.0.2 (node_modules/watchpack/node_modules/fsevents/node_modules/os-homedir): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/os-homedir' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.os-homedir.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: os-tmpdir@1.0.2 (node_modules/watchpack/node_modules/fsevents/node_modules/os-tmpdir): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/os-tmpdir' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.os-tmpdir.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: path-is-absolute@1.0.1 (node_modules/watchpack/node_modules/fsevents/node_modules/path-is-absolute): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/path-is-absolute' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.path-is-absolute.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: process-nextick-args@2.0.1 (node_modules/watchpack/node_modules/fsevents/node_modules/process-nextick-args): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/process-nextick-args' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.process-nextick-args.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: safe-buffer@5.1.2 (node_modules/watchpack/node_modules/fsevents/node_modules/safe-buffer): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/safe-buffer' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.safe-buffer.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: safer-buffer@2.1.2 (node_modules/watchpack/node_modules/fsevents/node_modules/safer-buffer): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/safer-buffer' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.safer-buffer.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: sax@1.2.4 (node_modules/watchpack/node_modules/fsevents/node_modules/sax): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/sax' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.sax.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: semver@5.7.1 (node_modules/watchpack/node_modules/fsevents/node_modules/semver): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/semver' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.semver.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: set-blocking@2.0.0 (node_modules/watchpack/node_modules/fsevents/node_modules/set-blocking): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/set-blocking' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.set-blocking.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: signal-exit@3.0.2 (node_modules/watchpack/node_modules/fsevents/node_modules/signal-exit): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/signal-exit' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.signal-exit.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: strip-json-comments@2.0.1 (node_modules/watchpack/node_modules/fsevents/node_modules/strip-json-comments): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/strip-json-comments' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.strip-json-comments.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: util-deprecate@1.0.2 (node_modules/watchpack/node_modules/fsevents/node_modules/util-deprecate): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/util-deprecate' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.util-deprecate.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: wrappy@1.0.2 (node_modules/watchpack/node_modules/fsevents/node_modules/wrappy): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/wrappy' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.wrappy.DELETE' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: yallist@3.1.1 (node_modules/watchpack/node_modules/fsevents/node_modules/yallist): npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/yallist' -> '/tmpfs/src/git/autosynth/working_repo/node_modules/watchpack/node_modules/fsevents/node_modules/.yallist.DELETE' added 1015 packages from 845 contributors and audited 7148 packages in 26.962s found 0 vulnerabilities npm WARN npm npm does not support Node.js v12.16.1 npm WARN npm You should probably upgrade to a newer version of node as we npm WARN npm can't make any promises that npm will work with this version. npm WARN npm Supported releases of Node.js are the latest release of 6, 8, 9, 10, 11. npm WARN npm You can find the latest version at https://nodejs.org/ > @google-cloud/vision@1.11.0 fix /tmpfs/src/git/autosynth/working_repo > gts fix installing semver@^5.5.0 installing uglify-js@^3.3.25 installing espree@^3.5.4 installing escodegen@^1.9.1 2020-03-22 05:00:35,096 synthtool > Wrote metadata to synth.metadata. ```
--- packages/google-cloud-vision/.jsdoc.js | 2 +- .../src/v1/image_annotator_client.ts | 12 +++++++++--- packages/google-cloud-vision/src/v1/index.ts | 2 +- .../src/v1/product_search_client.ts | 12 +++++++++--- .../src/v1p1beta1/image_annotator_client.ts | 12 +++++++++--- .../google-cloud-vision/src/v1p1beta1/index.ts | 2 +- .../src/v1p2beta1/image_annotator_client.ts | 12 +++++++++--- .../google-cloud-vision/src/v1p2beta1/index.ts | 2 +- .../src/v1p3beta1/image_annotator_client.ts | 12 +++++++++--- .../google-cloud-vision/src/v1p3beta1/index.ts | 2 +- .../src/v1p3beta1/product_search_client.ts | 12 +++++++++--- .../src/v1p4beta1/image_annotator_client.ts | 12 +++++++++--- .../google-cloud-vision/src/v1p4beta1/index.ts | 2 +- .../src/v1p4beta1/product_search_client.ts | 12 +++++++++--- packages/google-cloud-vision/synth.metadata | 16 ++++++++-------- .../system-test/fixtures/sample/src/index.js | 2 +- .../system-test/fixtures/sample/src/index.ts | 2 +- .../google-cloud-vision/system-test/install.ts | 2 +- .../test/gapic-image_annotator-v1.ts | 2 +- .../test/gapic-image_annotator-v1p1beta1.ts | 2 +- .../test/gapic-image_annotator-v1p2beta1.ts | 2 +- .../test/gapic-image_annotator-v1p3beta1.ts | 2 +- .../test/gapic-image_annotator-v1p4beta1.ts | 2 +- .../test/gapic-product_search-v1.ts | 2 +- .../test/gapic-product_search-v1p3beta1.ts | 2 +- .../test/gapic-product_search-v1p4beta1.ts | 2 +- packages/google-cloud-vision/webpack.config.js | 2 +- 27 files changed, 98 insertions(+), 50 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index cdb45108733..b0128b51ed7 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 992fd8c9aa6..55a79e81ee2 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,7 +40,12 @@ const version = require('../../../package.json').version; * @memberof v1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; @@ -267,7 +272,8 @@ export class ImageAnnotatorClient { if (this._terminated) { return Promise.reject('The client has already been closed.'); } - return stub[methodName].apply(stub, args); + const func = stub[methodName]; + return func.apply(stub, args); }, (err: Error | null | undefined) => () => { throw err; diff --git a/packages/google-cloud-vision/src/v1/index.ts b/packages/google-cloud-vision/src/v1/index.ts index de3f335b8a0..7d504852a5e 100644 --- a/packages/google-cloud-vision/src/v1/index.ts +++ b/packages/google-cloud-vision/src/v1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 68d98148320..c1174e40b4f 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,7 +54,12 @@ const version = require('../../../package.json').version; * @memberof v1 */ export class ProductSearchClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; @@ -317,7 +322,8 @@ export class ProductSearchClient { if (this._terminated) { return Promise.reject('The client has already been closed.'); } - return stub[methodName].apply(stub, args); + const func = stub[methodName]; + return func.apply(stub, args); }, (err: Error | null | undefined) => () => { throw err; diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index cafd8ebda5e..a3786cb4ba8 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,7 +39,12 @@ const version = require('../../../package.json').version; * @memberof v1p1beta1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; @@ -195,7 +200,8 @@ export class ImageAnnotatorClient { if (this._terminated) { return Promise.reject('The client has already been closed.'); } - return stub[methodName].apply(stub, args); + const func = stub[methodName]; + return func.apply(stub, args); }, (err: Error | null | undefined) => () => { throw err; diff --git a/packages/google-cloud-vision/src/v1p1beta1/index.ts b/packages/google-cloud-vision/src/v1p1beta1/index.ts index aed82506fff..4005dca0f63 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 5d349868cb1..a8438b164c5 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,7 +40,12 @@ const version = require('../../../package.json').version; * @memberof v1p2beta1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; @@ -234,7 +239,8 @@ export class ImageAnnotatorClient { if (this._terminated) { return Promise.reject('The client has already been closed.'); } - return stub[methodName].apply(stub, args); + const func = stub[methodName]; + return func.apply(stub, args); }, (err: Error | null | undefined) => () => { throw err; diff --git a/packages/google-cloud-vision/src/v1p2beta1/index.ts b/packages/google-cloud-vision/src/v1p2beta1/index.ts index aed82506fff..4005dca0f63 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 3484f2a97ca..700f8dadc2c 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,7 +40,12 @@ const version = require('../../../package.json').version; * @memberof v1p3beta1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; @@ -250,7 +255,8 @@ export class ImageAnnotatorClient { if (this._terminated) { return Promise.reject('The client has already been closed.'); } - return stub[methodName].apply(stub, args); + const func = stub[methodName]; + return func.apply(stub, args); }, (err: Error | null | undefined) => () => { throw err; diff --git a/packages/google-cloud-vision/src/v1p3beta1/index.ts b/packages/google-cloud-vision/src/v1p3beta1/index.ts index de3f335b8a0..7d504852a5e 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index d5343693325..332285c7910 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,7 +54,12 @@ const version = require('../../../package.json').version; * @memberof v1p3beta1 */ export class ProductSearchClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; @@ -305,7 +310,8 @@ export class ProductSearchClient { if (this._terminated) { return Promise.reject('The client has already been closed.'); } - return stub[methodName].apply(stub, args); + const func = stub[methodName]; + return func.apply(stub, args); }, (err: Error | null | undefined) => () => { throw err; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 6727a746518..523adfe9104 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,7 +40,12 @@ const version = require('../../../package.json').version; * @memberof v1p4beta1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; @@ -267,7 +272,8 @@ export class ImageAnnotatorClient { if (this._terminated) { return Promise.reject('The client has already been closed.'); } - return stub[methodName].apply(stub, args); + const func = stub[methodName]; + return func.apply(stub, args); }, (err: Error | null | undefined) => () => { throw err; diff --git a/packages/google-cloud-vision/src/v1p4beta1/index.ts b/packages/google-cloud-vision/src/v1p4beta1/index.ts index de3f335b8a0..7d504852a5e 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index a9b0932c187..fe612195fc7 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -58,7 +58,12 @@ const version = require('../../../package.json').version; * @memberof v1p4beta1 */ export class ProductSearchClient { - private _descriptors: Descriptors = {page: {}, stream: {}, longrunning: {}}; + private _descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; private _innerApiCalls: {[name: string]: Function}; private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; @@ -321,7 +326,8 @@ export class ProductSearchClient { if (this._terminated) { return Promise.reject('The client has already been closed.'); } - return stub[methodName].apply(stub, args); + const func = stub[methodName]; + return func.apply(stub, args); }, (err: Error | null | undefined) => () => { throw err; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 29d46fa5669..d21fb950c85 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,20 +1,20 @@ { - "updateTime": "2020-03-05T23:19:41.489100Z", + "updateTime": "2020-03-22T12:00:35.095134Z", "sources": [ { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "f0b581b5bdf803e45201ecdb3688b60e381628a8", - "internalRef": "299181282", - "log": "f0b581b5bdf803e45201ecdb3688b60e381628a8\nfix: recommendationengine/v1beta1 update some comments\n\nPiperOrigin-RevId: 299181282\n\n10e9a0a833dc85ff8f05b2c67ebe5ac785fe04ff\nbuild: add generated BUILD file for Routes Preferred API\n\nPiperOrigin-RevId: 299164808\n\n86738c956a8238d7c77f729be78b0ed887a6c913\npublish v1p1beta1: update with absolute address in comments\n\nPiperOrigin-RevId: 299152383\n\n73d9f2ad4591de45c2e1f352bc99d70cbd2a6d95\npublish v1: update with absolute address in comments\n\nPiperOrigin-RevId: 299147194\n\nd2158f24cb77b0b0ccfe68af784c6a628705e3c6\npublish v1beta2: update with absolute address in comments\n\nPiperOrigin-RevId: 299147086\n\n7fca61292c11b4cd5b352cee1a50bf88819dd63b\npublish v1p2beta1: update with absolute address in comments\n\nPiperOrigin-RevId: 299146903\n\n583b7321624736e2c490e328f4b1957335779295\npublish v1p3beta1: update with absolute address in comments\n\nPiperOrigin-RevId: 299146674\n\n638253bf86d1ce1c314108a089b7351440c2f0bf\nfix: add java_multiple_files option for automl text_sentiment.proto\n\nPiperOrigin-RevId: 298971070\n\n373d655703bf914fb8b0b1cc4071d772bac0e0d1\nUpdate Recs AI Beta public bazel file\n\nPiperOrigin-RevId: 298961623\n\ndcc5d00fc8a8d8b56f16194d7c682027b2c66a3b\nfix: add java_multiple_files option for automl classification.proto\n\nPiperOrigin-RevId: 298953301\n\na3f791827266f3496a6a5201d58adc4bb265c2a3\nchore: automl/v1 publish annotations and retry config\n\nPiperOrigin-RevId: 298942178\n\n01c681586d8d6dbd60155289b587aee678530bd9\nMark return_immediately in PullRequest deprecated.\n\nPiperOrigin-RevId: 298893281\n\nc9f5e9c4bfed54bbd09227e990e7bded5f90f31c\nRemove out of date documentation for predicate support on the Storage API\n\nPiperOrigin-RevId: 298883309\n\nfd5b3b8238d783b04692a113ffe07c0363f5de0f\ngenerate webrisk v1 proto\n\nPiperOrigin-RevId: 298847934\n\n541b1ded4abadcc38e8178680b0677f65594ea6f\nUpdate cloud asset api v1p4beta1.\n\nPiperOrigin-RevId: 298686266\n\nc0d171acecb4f5b0bfd2c4ca34fc54716574e300\n Updated to include the Notification v1 API.\n\nPiperOrigin-RevId: 298652775\n\n2346a9186c0bff2c9cc439f2459d558068637e05\nAdd Service Directory v1beta1 protos and configs\n\nPiperOrigin-RevId: 298625638\n\na78ed801b82a5c6d9c5368e24b1412212e541bb7\nPublishing v3 protos and configs.\n\nPiperOrigin-RevId: 298607357\n\n4a180bfff8a21645b3a935c2756e8d6ab18a74e0\nautoml/v1beta1 publish proto updates\n\nPiperOrigin-RevId: 298484782\n\n6de6e938b7df1cd62396563a067334abeedb9676\nchore: use the latest gapic-generator and protoc-java-resource-name-plugin in Bazel workspace.\n\nPiperOrigin-RevId: 298474513\n\n" + "sha": "0be7105dc52590fa9a24e784052298ae37ce53aa", + "internalRef": "302154871", + "log": "0be7105dc52590fa9a24e784052298ae37ce53aa\nAdd BUILD.bazel file to asset/v1p1beta1\n\nPiperOrigin-RevId: 302154871\n\n6c248fd13e8543f8d22cbf118d978301a9fbe2a8\nAdd missing resource annotations and additional_bindings to dialogflow v2 API.\n\nPiperOrigin-RevId: 302063117\n\n9a3a7f33be9eeacf7b3e98435816b7022d206bd7\nChange the service name from \"chromeos-moblab.googleapis.com\" to \"chromeosmoblab.googleapis.com\"\n\nPiperOrigin-RevId: 302060989\n\n98a339237577e3de26cb4921f75fb5c57cc7a19f\nfeat: devtools/build/v1 publish client library config annotations\n\n* add details field to some of the BuildEvents\n* add final_invocation_id and build_tool_exit_code fields to BuildStatus\n\nPiperOrigin-RevId: 302044087\n\ncfabc98c6bbbb22d1aeaf7612179c0be193b3a13\nfeat: home/graph/v1 publish client library config annotations & comment updates\n\nThis change includes adding the client library configuration annotations, updated proto comments, and some client library configuration files.\n\nPiperOrigin-RevId: 302042647\n\nc8c8c0bd15d082db9546253dbaad1087c7a9782c\nchore: use latest gapic-generator in bazel WORKSPACE.\nincluding the following commits from gapic-generator:\n- feat: take source protos in all sub-packages (#3144)\n\nPiperOrigin-RevId: 301843591\n\ne4daf5202ea31cb2cb6916fdbfa9d6bd771aeb4c\nAdd bazel file for v1 client lib generation\n\nPiperOrigin-RevId: 301802926\n\n275fbcce2c900278d487c33293a3c7e1fbcd3a34\nfeat: pubsub/v1 add an experimental filter field to Subscription\n\nPiperOrigin-RevId: 301661567\n\nf2b18cec51d27c999ad30011dba17f3965677e9c\nFix: UpdateBackupRequest.backup is a resource, not a resource reference - remove annotation.\n\nPiperOrigin-RevId: 301636171\n\n800384063ac93a0cac3a510d41726fa4b2cd4a83\nCloud Billing Budget API v1beta1\nModified api documentation to include warnings about the new filter field.\n\nPiperOrigin-RevId: 301634389\n\n0cc6c146b660db21f04056c3d58a4b752ee445e3\nCloud Billing Budget API v1alpha1\nModified api documentation to include warnings about the new filter field.\n\nPiperOrigin-RevId: 301630018\n\nff2ea00f69065585c3ac0993c8b582af3b6fc215\nFix: Add resource definition for a parent of InspectTemplate which was otherwise missing.\n\nPiperOrigin-RevId: 301623052\n\n55fa441c9daf03173910760191646399338f2b7c\nAdd proto definition for AccessLevel, AccessPolicy, and ServicePerimeter.\n\nPiperOrigin-RevId: 301620844\n\ne7b10591c5408a67cf14ffafa267556f3290e262\nCloud Bigtable Managed Backup service and message proto files.\n\nPiperOrigin-RevId: 301585144\n\nd8e226f702f8ddf92915128c9f4693b63fb8685d\nfeat: Add time-to-live in a queue for builds\n\nPiperOrigin-RevId: 301579876\n\n430375af011f8c7a5174884f0d0e539c6ffa7675\ndocs: add missing closing backtick\n\nPiperOrigin-RevId: 301538851\n\n0e9f1f60ded9ad1c2e725e37719112f5b487ab65\nbazel: Use latest release of gax_java\n\nPiperOrigin-RevId: 301480457\n\n5058c1c96d0ece7f5301a154cf5a07b2ad03a571\nUpdate GAPIC v2 with batching parameters for Logging API\n\nPiperOrigin-RevId: 301443847\n\n64ab9744073de81fec1b3a6a931befc8a90edf90\nFix: Introduce location-based organization/folder/billing-account resources\nChore: Update copyright years\n\nPiperOrigin-RevId: 301373760\n\n23d5f09e670ebb0c1b36214acf78704e2ecfc2ac\nUpdate field_behavior annotations in V1 and V2.\n\nPiperOrigin-RevId: 301337970\n\nb2cf37e7fd62383a811aa4d54d013ecae638851d\nData Catalog V1 API\n\nPiperOrigin-RevId: 301282503\n\n1976b9981e2900c8172b7d34b4220bdb18c5db42\nCloud DLP api update. Adds missing fields to Finding and adds support for hybrid jobs.\n\nPiperOrigin-RevId: 301205325\n\nae78682c05e864d71223ce22532219813b0245ac\nfix: several sample code blocks in comments are now properly indented for markdown\n\nPiperOrigin-RevId: 301185150\n\ndcd171d04bda5b67db13049320f97eca3ace3731\nPublish Media Translation API V1Beta1\n\nPiperOrigin-RevId: 301180096\n\nff1713453b0fbc5a7544a1ef6828c26ad21a370e\nAdd protos and BUILD rules for v1 API.\n\nPiperOrigin-RevId: 301179394\n\n8386761d09819b665b6a6e1e6d6ff884bc8ff781\nfeat: chromeos/modlab publish protos and config for Chrome OS Moblab API.\n\nPiperOrigin-RevId: 300843960\n\nb2e2bc62fab90e6829e62d3d189906d9b79899e4\nUpdates to GCS gRPC API spec:\n\n1. Changed GetIamPolicy and TestBucketIamPermissions to use wrapper messages around google.iam.v1 IAM requests messages, and added CommonRequestParams. This lets us support RequesterPays buckets.\n2. Added a metadata field to GetObjectMediaResponse, to support resuming an object media read safely (by extracting the generation of the object being read, and using it in the resumed read request).\n\nPiperOrigin-RevId: 300817706\n\n7fd916ce12335cc9e784bb9452a8602d00b2516c\nAdd deprecated_collections field for backward-compatiblity in PHP and monolith-generated Python and Ruby clients.\n\nGenerate TopicName class in Java which covers the functionality of both ProjectTopicName and DeletedTopicName. Introduce breaking changes to be fixed by synth.py.\n\nDelete default retry parameters.\n\nRetry codes defs can be deleted once # https://github.com/googleapis/gapic-generator/issues/3137 is fixed.\n\nPiperOrigin-RevId: 300813135\n\n047d3a8ac7f75383855df0166144f891d7af08d9\nfix!: google/rpc refactor ErrorInfo.type to ErrorInfo.reason and comment updates.\n\nPiperOrigin-RevId: 300773211\n\nfae4bb6d5aac52aabe5f0bb4396466c2304ea6f6\nAdding RetryPolicy to pubsub.proto\n\nPiperOrigin-RevId: 300769420\n\n7d569be2928dbd72b4e261bf9e468f23afd2b950\nAdding additional protocol buffer annotations to v3.\n\nPiperOrigin-RevId: 300718800\n\n13942d1a85a337515040a03c5108993087dc0e4f\nAdd logging protos for Recommender v1.\n\nPiperOrigin-RevId: 300689896\n\na1a573c3eecfe2c404892bfa61a32dd0c9fb22b6\nfix: change go package to use cloud.google.com/go/maps\n\nPiperOrigin-RevId: 300661825\n\nc6fbac11afa0c7ab2972d9df181493875c566f77\nfeat: publish documentai/v1beta2 protos\n\nPiperOrigin-RevId: 300656808\n\n5202a9e0d9903f49e900f20fe5c7f4e42dd6588f\nProtos for v1beta1 release of Cloud Security Center Settings API\n\nPiperOrigin-RevId: 300580858\n\n83518e18655d9d4ac044acbda063cc6ecdb63ef8\nAdds gapic.yaml file and BUILD.bazel file.\n\nPiperOrigin-RevId: 300554200\n\n836c196dc8ef8354bbfb5f30696bd3477e8db5e2\nRegenerate recommender v1beta1 gRPC ServiceConfig file for Insights methods.\n\nPiperOrigin-RevId: 300549302\n\n34a5450c591b6be3d6566f25ac31caa5211b2f3f\nIncreases the default timeout from 20s to 30s for MetricService\n\nPiperOrigin-RevId: 300474272\n\n5d8bffe87cd01ba390c32f1714230e5a95d5991d\nfeat: use the latest gapic-generator in WORKSPACE for bazel build.\n\nPiperOrigin-RevId: 300461878\n\nd631c651e3bcfac5d371e8560c27648f7b3e2364\nUpdated the GAPIC configs to include parameters for Backups APIs.\n\nPiperOrigin-RevId: 300443402\n\n678afc7055c1adea9b7b54519f3bdb228013f918\nAdding Game Servers v1beta API.\n\nPiperOrigin-RevId: 300433218\n\n80d2bd2c652a5e213302041b0620aff423132589\nEnable proto annotation and gapic v2 for talent API.\n\nPiperOrigin-RevId: 300393997\n\n85e454be7a353f7fe1bf2b0affb753305785b872\ndocs(google/maps/roads): remove mention of nonexported api\n\nPiperOrigin-RevId: 300367734\n\nbf839ae632e0f263a729569e44be4b38b1c85f9c\nAdding protocol buffer annotations and updated config info for v1 and v2.\n\nPiperOrigin-RevId: 300276913\n\n309b899ca18a4c604bce63882a161d44854da549\nPublish `Backup` APIs and protos.\n\nPiperOrigin-RevId: 300246038\n\neced64c3f122421350b4aca68a28e89121d20db8\nadd PHP client libraries\n\nPiperOrigin-RevId: 300193634\n\n7727af0e39df1ae9ad715895c8576d7b65cf6c6d\nfeat: use the latest gapic-generator and protoc-java-resource-name-plugin in googleapis/WORKSPACE.\n\nPiperOrigin-RevId: 300188410\n\n2a25aa351dd5b5fe14895266aff5824d90ce757b\nBreaking change: remove the ProjectOrTenant resource and its references.\n\nPiperOrigin-RevId: 300182152\n\na499dbb28546379415f51803505cfb6123477e71\nUpdate web risk v1 gapic config and BUILD file.\n\nPiperOrigin-RevId: 300152177\n\n52701da10fec2a5f9796e8d12518c0fe574488fe\nFix: apply appropriate namespace/package options for C#, PHP and Ruby.\n\nPiperOrigin-RevId: 300123508\n\n365c029b8cdb63f7751b92ab490f1976e616105c\nAdd CC targets to the kms protos.\n\nThese are needed by go/tink.\n\nPiperOrigin-RevId: 300038469\n\n4ba9aa8a4a1413b88dca5a8fa931824ee9c284e6\nExpose logo recognition API proto for GA.\n\nPiperOrigin-RevId: 299971671\n\n1c9fc2c9e03dadf15f16b1c4f570955bdcebe00e\nAdding ruby_package option to accessapproval.proto for the Ruby client libraries generation.\n\nPiperOrigin-RevId: 299955924\n\n1cc6f0a7bfb147e6f2ede911d9b01e7a9923b719\nbuild(google/maps/routes): generate api clients\n\nPiperOrigin-RevId: 299955905\n\n29a47c965aac79e3fe8e3314482ca0b5967680f0\nIncrease timeout to 1hr for method `dropRange` in bigtable/admin/v2, which is\nsynced with the timeout setting in gapic_yaml.\n\nPiperOrigin-RevId: 299917154\n\n8f631c4c70a60a9c7da3749511ee4ad432b62898\nbuild(google/maps/roads/v1op): move go to monorepo pattern\n\nPiperOrigin-RevId: 299885195\n\nd66816518844ebbf63504c9e8dfc7133921dd2cd\nbuild(google/maps/roads/v1op): Add bazel build files to generate clients.\n\nPiperOrigin-RevId: 299851148\n\naf7dff701fabe029672168649c62356cf1bb43d0\nAdd LogPlayerReports and LogImpressions to Playable Locations service\n\nPiperOrigin-RevId: 299724050\n\nb6927fca808f38df32a642c560082f5bf6538ced\nUpdate BigQuery Connection API v1beta1 proto: added credential to CloudSqlProperties.\n\nPiperOrigin-RevId: 299503150\n\n91e1fb5ef9829c0c7a64bfa5bde330e6ed594378\nchore: update protobuf (protoc) version to 3.11.2\n\nPiperOrigin-RevId: 299404145\n\n30e36b4bee6749c4799f4fc1a51cc8f058ba167d\nUpdate cloud asset api v1p4beta1.\n\nPiperOrigin-RevId: 299399890\n\nffbb493674099f265693872ae250711b2238090c\nfeat: cloudbuild/v1 add new fields and annotate OUTPUT_OUT fields.\n\nPiperOrigin-RevId: 299397780\n\nbc973a15818e00c19e121959832676e9b7607456\nbazel: Fix broken common dependency\n\nPiperOrigin-RevId: 299397431\n\n71094a343e3b962e744aa49eb9338219537474e4\nchore: bigtable/admin/v2 publish retry config\n\nPiperOrigin-RevId: 299391875\n\n8f488efd7bda33885cb674ddd023b3678c40bd82\nfeat: Migrate logging to GAPIC v2; release new features.\n\nIMPORTANT: This is a breaking change for client libraries\nin all languages.\n\nCommitter: @lukesneeringer, @jskeet\nPiperOrigin-RevId: 299370279\n\n007605bf9ad3a1fd775014ebefbf7f1e6b31ee71\nUpdate API for bigqueryreservation v1beta1.\n- Adds flex capacity commitment plan to CapacityCommitment.\n- Adds methods for getting and updating BiReservations.\n- Adds methods for updating/splitting/merging CapacityCommitments.\n\nPiperOrigin-RevId: 299368059\n\n" } }, { - "template": { - "name": "node_library", - "origin": "synthtool.gcp", - "version": "2020.2.4" + "git": { + "name": "synthtool", + "remote": "https://github.com/googleapis/synthtool.git", + "sha": "7e98e1609c91082f4eeb63b530c6468aefd18cfd" } } ], diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js index a9ca48b4cd9..b0c1b966eab 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts index 67a0346c400..2bd299ee3b2 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/system-test/install.ts b/packages/google-cloud-vision/system-test/install.ts index c9aa74ec221..c4d80e9c0c8 100644 --- a/packages/google-cloud-vision/system-test/install.ts +++ b/packages/google-cloud-vision/system-test/install.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts index e9f8e07457d..20b0c4c7c6c 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts index 475c336f24e..581da6fda90 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts index 5bf785d47b4..38765a09818 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts index 9cc8e98ce09..e7bd6dec31a 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts index 1d80f69127f..d759ba83979 100644 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1.ts index 8560481060a..2df4049344a 100644 --- a/packages/google-cloud-vision/test/gapic-product_search-v1.ts +++ b/packages/google-cloud-vision/test/gapic-product_search-v1.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts index 117258ce148..3c6d8b676e6 100644 --- a/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts index d18c6bd6a24..b22dd8b48ec 100644 --- a/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/webpack.config.js b/packages/google-cloud-vision/webpack.config.js index f89f8bf4d21..4d93660dc26 100644 --- a/packages/google-cloud-vision/webpack.config.js +++ b/packages/google-cloud-vision/webpack.config.js @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From aa82e80a32b701e7363629cd4715b76a8f6486c7 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 31 Mar 2020 18:40:51 -0700 Subject: [PATCH 396/588] build: set AUTOSYNTH_MULTIPLE_COMMITS=true for context aware commits (#569) --- packages/google-cloud-vision/synth.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 068613e9652..b2acf6dd637 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -21,6 +21,9 @@ logging.basicConfig(level=logging.DEBUG) +AUTOSYNTH_MULTIPLE_COMMITS = True + + # Run the gapic generator gapic = gcp.GAPICMicrogenerator() versions = ['v1', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1', 'v1p4beta1'] From 0d33062fbcff95484c151b710fd99b938a0481d5 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 1 Apr 2020 23:38:57 +0200 Subject: [PATCH 397/588] chore(deps): update dependency @types/sinon to v9 (#570) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@types/sinon](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | devDependencies | major | [`^7.5.1` -> `^9.0.0`](https://renovatebot.com/diffs/npm/@types%2fsinon/7.5.2/9.0.0) | --- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 53d089ee3b4..356cd015398 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -51,7 +51,7 @@ "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "@types/is": "0.0.21", - "@types/sinon": "^7.5.1", + "@types/sinon": "^9.0.0", "@types/uuid": "^3.4.7", "c8": "^7.1.0", "@google-cloud/storage": "^4.3.1", From dc5d1198615c8657e81f92beeaee8c83194d1935 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 1 Apr 2020 15:11:58 -0700 Subject: [PATCH 398/588] feat!: drop node8 support, support for async iterators (#568) * feat!: drop node8 support, support for async iterators BREAKING CHANGE: The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM. New feature: methods with pagination now support async iteration. * fix tests & linter Co-authored-by: Benjamin E. Coe Co-authored-by: Xiaozhen Liu --- packages/google-cloud-vision/.eslintrc.json | 3 + packages/google-cloud-vision/.eslintrc.yml | 15 - packages/google-cloud-vision/.prettierrc | 8 - packages/google-cloud-vision/.prettierrc.js | 17 + packages/google-cloud-vision/package.json | 17 +- .../smoke-test/image_annotator_smoke_test.js | 3 +- packages/google-cloud-vision/src/helpers.ts | 5 +- .../src/v1/image_annotator_client.ts | 307 +- .../src/v1/product_search_client.ts | 1252 ++++-- .../src/v1p1beta1/image_annotator_client.ts | 100 +- .../src/v1p2beta1/image_annotator_client.ts | 151 +- .../src/v1p3beta1/image_annotator_client.ts | 197 +- .../src/v1p3beta1/product_search_client.ts | 1262 ++++-- .../src/v1p4beta1/image_annotator_client.ts | 299 +- .../src/v1p4beta1/product_search_client.ts | 1317 +++--- packages/google-cloud-vision/synth.metadata | 20 +- .../system-test/fixtures/sample/src/index.js | 1 - .../system-test/fixtures/sample/src/index.ts | 4 +- .../system-test/image_annotator_smoke_test.ts | 1 + .../system-test/vision-v1p2beta1.ts | 1 + .../test/gapic-image_annotator-v1.ts | 361 -- .../test/gapic-image_annotator-v1p1beta1.ts | 152 - .../test/gapic-image_annotator-v1p2beta1.ts | 238 -- .../test/gapic-image_annotator-v1p3beta1.ts | 238 -- .../test/gapic-image_annotator-v1p4beta1.ts | 353 -- .../test/gapic-product_search-v1.ts | 1193 ------ .../test/gapic-product_search-v1p3beta1.ts | 1128 ------ .../test/gapic-product_search-v1p4beta1.ts | 1195 ------ .../test/gapic_image_annotator_v1.ts | 925 +++++ .../test/gapic_image_annotator_v1p1beta1.ts | 227 ++ .../test/gapic_image_annotator_v1p2beta1.ts | 386 ++ .../test/gapic_image_annotator_v1p3beta1.ts | 594 +++ .../test/gapic_image_annotator_v1p4beta1.ts | 813 ++++ .../test/gapic_product_search_v1.ts | 3493 ++++++++++++++++ .../test/gapic_product_search_v1p3beta1.ts | 3422 ++++++++++++++++ .../test/gapic_product_search_v1p4beta1.ts | 3581 +++++++++++++++++ .../google-cloud-vision/test/helpers.test.ts | 1 + .../google-cloud-vision/test/index.test.ts | 2 +- .../google-cloud-vision/webpack.config.js | 12 +- 39 files changed, 16566 insertions(+), 6728 deletions(-) create mode 100644 packages/google-cloud-vision/.eslintrc.json delete mode 100644 packages/google-cloud-vision/.eslintrc.yml delete mode 100644 packages/google-cloud-vision/.prettierrc create mode 100644 packages/google-cloud-vision/.prettierrc.js delete mode 100644 packages/google-cloud-vision/test/gapic-image_annotator-v1.ts delete mode 100644 packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts delete mode 100644 packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts delete mode 100644 packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts delete mode 100644 packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts delete mode 100644 packages/google-cloud-vision/test/gapic-product_search-v1.ts delete mode 100644 packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts delete mode 100644 packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts create mode 100644 packages/google-cloud-vision/test/gapic_image_annotator_v1.ts create mode 100644 packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts create mode 100644 packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts create mode 100644 packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts create mode 100644 packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts create mode 100644 packages/google-cloud-vision/test/gapic_product_search_v1.ts create mode 100644 packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts create mode 100644 packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts diff --git a/packages/google-cloud-vision/.eslintrc.json b/packages/google-cloud-vision/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/packages/google-cloud-vision/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/packages/google-cloud-vision/.eslintrc.yml b/packages/google-cloud-vision/.eslintrc.yml deleted file mode 100644 index 73eeec27612..00000000000 --- a/packages/google-cloud-vision/.eslintrc.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -extends: - - 'eslint:recommended' - - 'plugin:node/recommended' - - prettier -plugins: - - node - - prettier -rules: - prettier/prettier: error - block-scoped-var: error - eqeqeq: error - no-warning-comments: warn - no-var: error - prefer-const: error diff --git a/packages/google-cloud-vision/.prettierrc b/packages/google-cloud-vision/.prettierrc deleted file mode 100644 index df6eac07446..00000000000 --- a/packages/google-cloud-vision/.prettierrc +++ /dev/null @@ -1,8 +0,0 @@ ---- -bracketSpacing: false -printWidth: 80 -semi: true -singleQuote: true -tabWidth: 2 -trailingComma: es5 -useTabs: false diff --git a/packages/google-cloud-vision/.prettierrc.js b/packages/google-cloud-vision/.prettierrc.js new file mode 100644 index 00000000000..08cba3775be --- /dev/null +++ b/packages/google-cloud-vision/.prettierrc.js @@ -0,0 +1,17 @@ +// Copyright 2020 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. + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 356cd015398..47ebf71856b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -5,7 +5,7 @@ "license": "Apache-2.0", "author": "Google Inc", "engines": { - "node": ">=8.10.0" + "node": ">=10" }, "repository": "googleapis/nodejs-vision", "main": "build/src/index.js", @@ -44,35 +44,36 @@ }, "dependencies": { "@google-cloud/promisify": "^1.0.4", - "google-gax": "^1.14.1", + "google-gax": "^2.0.1", "is": "^3.3.0" }, "devDependencies": { + "@google-cloud/storage": "^4.3.1", + "@types/is": "0.0.21", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "@types/is": "0.0.21", "@types/sinon": "^9.0.0", "@types/uuid": "^3.4.7", "c8": "^7.1.0", - "@google-cloud/storage": "^4.3.1", "codecov": "^3.6.5", "eslint": "^6.8.0", "eslint-config-prettier": "^6.10.0", "eslint-plugin-node": "^11.0.0", "eslint-plugin-prettier": "^3.1.2", - "gts": "^1.1.2", + "gts": "2.0.0-alpha.9", "jsdoc": "^3.6.3", "jsdoc-fresh": "^1.0.2", "jsdoc-region-tag": "^1.0.4", "linkinator": "^2.0.3", "mocha": "^7.0.1", - "prettier": "^1.19.1", - "sinon": "^9.0.0", - "uuid": "^3.4.0", "null-loader": "^3.0.0", "pack-n-play": "^1.0.0-2", + "prettier": "^1.19.1", + "sinon": "^9.0.1", "ts-loader": "^6.2.1", - "typescript": "^3.7.0", + "typescript": "^3.8.3", + "uuid": "^3.4.0", "webpack": "^4.41.6", "webpack-cli": "^3.3.11" } diff --git a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js index a1e5ba1a760..d7c97223dc1 100644 --- a/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js +++ b/packages/google-cloud-vision/smoke-test/image_annotator_smoke_test.js @@ -18,7 +18,8 @@ const {describe, it} = require('mocha'); describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { - const vision = require('../src'); + // eslint-disable-next-line node/no-missing-require + const vision = require('@google-cloud/vision'); const client = new vision.v1p3beta1.ImageAnnotatorClient({ // optional auth parameters. diff --git a/packages/google-cloud-vision/src/helpers.ts b/packages/google-cloud-vision/src/helpers.ts index bc5cfc664b9..d316e463a7b 100644 --- a/packages/google-cloud-vision/src/helpers.ts +++ b/packages/google-cloud-vision/src/helpers.ts @@ -43,7 +43,7 @@ export interface FeaturesMethod { } interface ImprovedRequest { image?: {source?: {filename: string}; content?: Uint8Array | string | null}; - // tslint:disable-next-line no-any + // eslint-disable-next-line @typescript-eslint/no-explicit-any features?: any; } @@ -82,7 +82,7 @@ interface VisionClient { ): void; } -// tslint:disable-next-line no-any +// eslint-disable-next-line @typescript-eslint/no-explicit-any const _requestToObject = (request: any) => { if (is.string(request)) { // Is this a URL or a local file? @@ -353,6 +353,7 @@ export function call(apiVersion: string) { }); const protoFilesRoot = gax.protobuf.Root.fromJSON( + // eslint-disable-next-line @typescript-eslint/no-var-requires require('../protos/protos.json') ); const features = (protoFilesRoot.lookup( diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 55a79e81ee2..409cb183a41 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -18,7 +18,6 @@ import * as gax from 'google-gax'; import { - APICallback, Callback, CallOptions, Descriptors, @@ -27,7 +26,7 @@ import { } from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './image_annotator_client_config.json'; const version = require('../../../package.json').version; @@ -40,14 +39,6 @@ const version = require('../../../package.json').version; * @memberof v1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - private _innerApiCalls: {[name: string]: Function}; - private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; private _opts: ClientOptions; private _gaxModule: typeof gax | typeof gax.fallback; @@ -55,6 +46,14 @@ export class ImageAnnotatorClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; imageAnnotatorStub?: Promise<{[name: string]: Function}>; @@ -147,13 +146,16 @@ export class ImageAnnotatorClient { 'protos.json' ); this._protos = this._gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + opts.fallback + ? // eslint-disable-next-line @typescript-eslint/no-var-requires + require('../../protos/protos.json') + : nodejsProtoPath ); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. - this._pathTemplates = { + this.pathTemplates = { productPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), @@ -170,6 +172,7 @@ export class ImageAnnotatorClient { // rather than holding a request open. const protoFilesRoot = opts.fallback ? this._gaxModule.protobuf.Root.fromJSON( + // eslint-disable-next-line @typescript-eslint/no-var-requires require('../../protos/protos.json') ) : this._gaxModule.protobuf.loadSync(nodejsProtoPath); @@ -193,7 +196,7 @@ export class ImageAnnotatorClient { '.google.cloud.vision.v1.OperationMetadata' ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { asyncBatchAnnotateImages: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateImagesResponse.decode.bind( @@ -225,7 +228,7 @@ export class ImageAnnotatorClient { // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. - this._innerApiCalls = {}; + this.innerApiCalls = {}; } /** @@ -252,7 +255,7 @@ export class ImageAnnotatorClient { ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1.ImageAnnotator' ) - : // tslint:disable-next-line no-any + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1.ImageAnnotator, this._opts ) as Promise<{[method: string]: Function}>; @@ -265,9 +268,8 @@ export class ImageAnnotatorClient { 'asyncBatchAnnotateImages', 'asyncBatchAnnotateFiles', ]; - for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = this.imageAnnotatorStub.then( + const callPromise = this.imageAnnotatorStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -281,20 +283,14 @@ export class ImageAnnotatorClient { ); const apiCall = this._gaxModule.createApiCall( - innerCallPromise, + callPromise, this._defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.stream[methodName] || - this._descriptors.longrunning[methodName] + this.descriptors.page[methodName] || + this.descriptors.stream[methodName] || + this.descriptors.longrunning[methodName] ); - this._innerApiCalls[methodName] = ( - argument: {}, - callOptions?: CallOptions, - callback?: APICallback - ) => { - return apiCall(argument, callOptions, callback); - }; + this.innerApiCalls[methodName] = apiCall; } return this.imageAnnotatorStub; @@ -354,26 +350,34 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, - ( - | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest - | undefined - ), + protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest | undefined, {} | undefined ] >; batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + batchAnnotateImages( + request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + callback: Callback< + protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -403,28 +407,27 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesResponse, - ( - | protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest - | undefined - ), + protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest | undefined, {} | undefined ] > | void { @@ -445,25 +448,37 @@ export class ImageAnnotatorClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.batchAnnotateImages(request, options, callback); + return this.innerApiCalls.batchAnnotateImages(request, options, callback); } batchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, + protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, {} | undefined ] >; batchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest + | null + | undefined, + {} | null | undefined + > + ): void; + batchAnnotateFiles( + request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + callback: Callback< + protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -500,24 +515,27 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ batchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, - | protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest + protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest + | null + | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, + protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, {} | undefined ] > | void { @@ -538,32 +556,43 @@ export class ImageAnnotatorClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.batchAnnotateFiles(request, options, callback); + return this.innerApiCalls.batchAnnotateFiles(request, options, callback); } asyncBatchAnnotateImages( - request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; asyncBatchAnnotateImages( - request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + asyncBatchAnnotateImages( + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -603,32 +632,32 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ asyncBatchAnnotateImages( - request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -649,35 +678,46 @@ export class ImageAnnotatorClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.asyncBatchAnnotateImages( + return this.innerApiCalls.asyncBatchAnnotateImages( request, options, callback ); } asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + asyncBatchAnnotateFiles( + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -712,32 +752,32 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1.IOperationMetadata + protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -758,7 +798,7 @@ export class ImageAnnotatorClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.asyncBatchAnnotateFiles( + return this.innerApiCalls.asyncBatchAnnotateFiles( request, options, callback @@ -777,10 +817,10 @@ export class ImageAnnotatorClient { * @returns {string} Resource name string. */ productPath(project: string, location: string, product: string) { - return this._pathTemplates.productPathTemplate.render({ - project, - location, - product, + return this.pathTemplates.productPathTemplate.render({ + project: project, + location: location, + product: product, }); } @@ -792,7 +832,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the project. */ matchProjectFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).project; + return this.pathTemplates.productPathTemplate.match(productName).project; } /** @@ -803,7 +843,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the location. */ matchLocationFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).location; + return this.pathTemplates.productPathTemplate.match(productName).location; } /** @@ -814,7 +854,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the product. */ matchProductFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).product; + return this.pathTemplates.productPathTemplate.match(productName).product; } /** @@ -826,9 +866,9 @@ export class ImageAnnotatorClient { * @returns {string} Resource name string. */ productSetPath(project: string, location: string, productSet: string) { - return this._pathTemplates.productSetPathTemplate.render({ - project, - location, + return this.pathTemplates.productSetPathTemplate.render({ + project: project, + location: location, product_set: productSet, }); } @@ -841,7 +881,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the project. */ matchProjectFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .project; } @@ -853,7 +893,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the location. */ matchLocationFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .location; } @@ -865,7 +905,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the product_set. */ matchProductSetFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .product_set; } @@ -884,10 +924,10 @@ export class ImageAnnotatorClient { product: string, referenceImage: string ) { - return this._pathTemplates.referenceImagePathTemplate.render({ - project, - location, - product, + return this.pathTemplates.referenceImagePathTemplate.render({ + project: project, + location: location, + product: product, reference_image: referenceImage, }); } @@ -900,7 +940,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the project. */ matchProjectFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).project; } @@ -913,7 +953,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the location. */ matchLocationFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).location; } @@ -926,7 +966,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the product. */ matchProductFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).product; } @@ -939,7 +979,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the reference_image. */ matchReferenceImageFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).reference_image; } @@ -961,4 +1001,5 @@ export class ImageAnnotatorClient { } } import {FeaturesMethod} from '../helpers'; +// eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index c1174e40b4f..c4ac1909c44 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -18,19 +18,19 @@ import * as gax from 'google-gax'; import { - APICallback, Callback, CallOptions, Descriptors, ClientOptions, LROperation, PaginationCallback, - PaginationResponse, + GaxCall, } from 'google-gax'; import * as path from 'path'; import {Transform} from 'stream'; -import * as protosTypes from '../../protos/protos'; +import {RequestType} from 'google-gax/build/src/apitypes'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './product_search_client_config.json'; const version = require('../../../package.json').version; @@ -54,14 +54,6 @@ const version = require('../../../package.json').version; * @memberof v1 */ export class ProductSearchClient { - private _descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - private _innerApiCalls: {[name: string]: Function}; - private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; private _opts: ClientOptions; private _gaxModule: typeof gax | typeof gax.fallback; @@ -69,6 +61,14 @@ export class ProductSearchClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; productSearchStub?: Promise<{[name: string]: Function}>; @@ -161,13 +161,16 @@ export class ProductSearchClient { 'protos.json' ); this._protos = this._gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + opts.fallback + ? // eslint-disable-next-line @typescript-eslint/no-var-requires + require('../../protos/protos.json') + : nodejsProtoPath ); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. - this._pathTemplates = { + this.pathTemplates = { locationPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}' ), @@ -185,7 +188,7 @@ export class ProductSearchClient { // Some of the methods on this service return "paged" results, // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. - this._descriptors.page = { + this.descriptors.page = { listProductSets: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', @@ -213,6 +216,7 @@ export class ProductSearchClient { // rather than holding a request open. const protoFilesRoot = opts.fallback ? this._gaxModule.protobuf.Root.fromJSON( + // eslint-disable-next-line @typescript-eslint/no-var-requires require('../../protos/protos.json') ) : this._gaxModule.protobuf.loadSync(nodejsProtoPath); @@ -236,7 +240,7 @@ export class ProductSearchClient { '.google.cloud.vision.v1.BatchOperationMetadata' ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { importProductSets: new this._gaxModule.LongrunningDescriptor( this.operationsClient, importProductSetsResponse.decode.bind(importProductSetsResponse), @@ -260,7 +264,7 @@ export class ProductSearchClient { // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. - this._innerApiCalls = {}; + this.innerApiCalls = {}; } /** @@ -287,7 +291,7 @@ export class ProductSearchClient { ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1.ProductSearch' ) - : // tslint:disable-next-line no-any + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1.ProductSearch, this._opts ) as Promise<{[method: string]: Function}>; @@ -315,9 +319,8 @@ export class ProductSearchClient { 'importProductSets', 'purgeProducts', ]; - for (const methodName of productSearchStubMethods) { - const innerCallPromise = this.productSearchStub.then( + const callPromise = this.productSearchStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -331,20 +334,14 @@ export class ProductSearchClient { ); const apiCall = this._gaxModule.createApiCall( - innerCallPromise, + callPromise, this._defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.stream[methodName] || - this._descriptors.longrunning[methodName] + this.descriptors.page[methodName] || + this.descriptors.stream[methodName] || + this.descriptors.longrunning[methodName] ); - this._innerApiCalls[methodName] = ( - argument: {}, - callOptions?: CallOptions, - callback?: APICallback - ) => { - return apiCall(argument, callOptions, callback); - }; + this.innerApiCalls[methodName] = apiCall; } return this.productSearchStub; @@ -404,22 +401,30 @@ export class ProductSearchClient { // -- Service calls -- // ------------------- createProductSet( - request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest, + request: protos.google.cloud.vision.v1.ICreateProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.ICreateProductSetRequest | undefined, + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.ICreateProductSetRequest | undefined, {} | undefined ] >; createProductSet( - request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest, + request: protos.google.cloud.vision.v1.ICreateProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.ICreateProductSetRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.ICreateProductSetRequest | null | undefined, + {} | null | undefined + > + ): void; + createProductSet( + request: protos.google.cloud.vision.v1.ICreateProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.ICreateProductSetRequest | null | undefined, + {} | null | undefined > ): void; /** @@ -450,24 +455,25 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ createProductSet( - request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest, + request: protos.google.cloud.vision.v1.ICreateProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IProductSet, - | protosTypes.google.cloud.vision.v1.ICreateProductSetRequest + protos.google.cloud.vision.v1.IProductSet, + | protos.google.cloud.vision.v1.ICreateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.ICreateProductSetRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.ICreateProductSetRequest | null | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.ICreateProductSetRequest | undefined, + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.ICreateProductSetRequest | undefined, {} | undefined ] > | void { @@ -488,25 +494,33 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.createProductSet(request, options, callback); + return this.innerApiCalls.createProductSet(request, options, callback); } getProductSet( - request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest, + request: protos.google.cloud.vision.v1.IGetProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IGetProductSetRequest | undefined, {} | undefined ] >; getProductSet( - request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest, + request: protos.google.cloud.vision.v1.IGetProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IGetProductSetRequest | null | undefined, + {} | null | undefined + > + ): void; + getProductSet( + request: protos.google.cloud.vision.v1.IGetProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IGetProductSetRequest | null | undefined, + {} | null | undefined > ): void; /** @@ -530,23 +544,25 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ getProductSet( - request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest, + request: protos.google.cloud.vision.v1.IGetProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProductSet, + | protos.google.cloud.vision.v1.IGetProductSetRequest + | null + | undefined, + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IGetProductSetRequest | null | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.IGetProductSetRequest | undefined, + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IGetProductSetRequest | undefined, {} | undefined ] > | void { @@ -567,25 +583,33 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.getProductSet(request, options, callback); + return this.innerApiCalls.getProductSet(request, options, callback); } updateProductSet( - request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest, + request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, {} | undefined ] >; updateProductSet( - request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest, + request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IUpdateProductSetRequest | null | undefined, + {} | null | undefined + > + ): void; + updateProductSet( + request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IUpdateProductSetRequest | null | undefined, + {} | null | undefined > ): void; /** @@ -614,24 +638,25 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ updateProductSet( - request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest, + request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IProductSet, - | protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest + protos.google.cloud.vision.v1.IProductSet, + | protos.google.cloud.vision.v1.IUpdateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IUpdateProductSetRequest | null | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IProductSet, - protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, {} | undefined ] > | void { @@ -652,25 +677,33 @@ export class ProductSearchClient { 'product_set.name': request.productSet!.name || '', }); this.initialize(); - return this._innerApiCalls.updateProductSet(request, options, callback); + return this.innerApiCalls.updateProductSet(request, options, callback); } deleteProductSet( - request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest, + request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, {} | undefined ] >; deleteProductSet( - request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest, + request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, - {} | undefined + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductSetRequest | null | undefined, + {} | null | undefined + > + ): void; + deleteProductSet( + request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductSetRequest | null | undefined, + {} | null | undefined > ): void; /** @@ -693,24 +726,25 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ deleteProductSet( - request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest, + request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IDeleteProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, - {} | undefined + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductSetRequest | null | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductSetRequest | undefined, {} | undefined ] > | void { @@ -731,25 +765,33 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.deleteProductSet(request, options, callback); + return this.innerApiCalls.deleteProductSet(request, options, callback); } createProduct( - request: protosTypes.google.cloud.vision.v1.ICreateProductRequest, + request: protos.google.cloud.vision.v1.ICreateProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.ICreateProductRequest | undefined, {} | undefined ] >; createProduct( - request: protosTypes.google.cloud.vision.v1.ICreateProductRequest, + request: protos.google.cloud.vision.v1.ICreateProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.ICreateProductRequest | null | undefined, + {} | null | undefined + > + ): void; + createProduct( + request: protos.google.cloud.vision.v1.ICreateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.ICreateProductRequest | null | undefined, + {} | null | undefined > ): void; /** @@ -783,23 +825,25 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ createProduct( - request: protosTypes.google.cloud.vision.v1.ICreateProductRequest, + request: protos.google.cloud.vision.v1.ICreateProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProduct, + | protos.google.cloud.vision.v1.ICreateProductRequest + | null + | undefined, + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.ICreateProductRequest | null | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.ICreateProductRequest | undefined, + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.ICreateProductRequest | undefined, {} | undefined ] > | void { @@ -820,25 +864,33 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.createProduct(request, options, callback); + return this.innerApiCalls.createProduct(request, options, callback); } getProduct( - request: protosTypes.google.cloud.vision.v1.IGetProductRequest, + request: protos.google.cloud.vision.v1.IGetProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IGetProductRequest | undefined, {} | undefined ] >; getProduct( - request: protosTypes.google.cloud.vision.v1.IGetProductRequest, + request: protos.google.cloud.vision.v1.IGetProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IGetProductRequest | null | undefined, + {} | null | undefined + > + ): void; + getProduct( + request: protos.google.cloud.vision.v1.IGetProductRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IGetProductRequest | null | undefined, + {} | null | undefined > ): void; /** @@ -862,23 +914,23 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ getProduct( - request: protosTypes.google.cloud.vision.v1.IGetProductRequest, + request: protos.google.cloud.vision.v1.IGetProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IGetProductRequest | null | undefined, + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IGetProductRequest | null | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IGetProductRequest | undefined, + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IGetProductRequest | undefined, {} | undefined ] > | void { @@ -899,25 +951,33 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.getProduct(request, options, callback); + return this.innerApiCalls.getProduct(request, options, callback); } updateProduct( - request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest, + request: protos.google.cloud.vision.v1.IUpdateProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IUpdateProductRequest | undefined, {} | undefined ] >; updateProduct( - request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest, + request: protos.google.cloud.vision.v1.IUpdateProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IUpdateProductRequest | null | undefined, + {} | null | undefined + > + ): void; + updateProduct( + request: protos.google.cloud.vision.v1.IUpdateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IUpdateProductRequest | null | undefined, + {} | null | undefined > ): void; /** @@ -955,23 +1015,25 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ updateProduct( - request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest, + request: protos.google.cloud.vision.v1.IUpdateProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProduct, + | protos.google.cloud.vision.v1.IUpdateProductRequest + | null + | undefined, + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IUpdateProductRequest | null | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct, - protosTypes.google.cloud.vision.v1.IUpdateProductRequest | undefined, + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IUpdateProductRequest | undefined, {} | undefined ] > | void { @@ -992,25 +1054,33 @@ export class ProductSearchClient { 'product.name': request.product!.name || '', }); this.initialize(); - return this._innerApiCalls.updateProduct(request, options, callback); + return this.innerApiCalls.updateProduct(request, options, callback); } deleteProduct( - request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest, + request: protos.google.cloud.vision.v1.IDeleteProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductRequest | undefined, {} | undefined ] >; deleteProduct( - request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest, + request: protos.google.cloud.vision.v1.IDeleteProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, - {} | undefined + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductRequest | null | undefined, + {} | null | undefined + > + ): void; + deleteProduct( + request: protos.google.cloud.vision.v1.IDeleteProductRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductRequest | null | undefined, + {} | null | undefined > ): void; /** @@ -1034,23 +1104,25 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ deleteProduct( - request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest, + request: protos.google.cloud.vision.v1.IDeleteProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, - {} | undefined + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IDeleteProductRequest + | null + | undefined, + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, - {} | undefined + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductRequest | null | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IDeleteProductRequest | undefined, + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteProductRequest | undefined, {} | undefined ] > | void { @@ -1071,29 +1143,37 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.deleteProduct(request, options, callback); + return this.innerApiCalls.deleteProduct(request, options, callback); } createReferenceImage( - request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest, + request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IReferenceImage, - ( - | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest - | undefined - ), + protos.google.cloud.vision.v1.IReferenceImage, + protos.google.cloud.vision.v1.ICreateReferenceImageRequest | undefined, {} | undefined ] >; createReferenceImage( - request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest, + request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IReferenceImage, - | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.ICreateReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + createReferenceImage( + request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.ICreateReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1139,28 +1219,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ createReferenceImage( - request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest, + request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IReferenceImage, - | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.ICreateReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IReferenceImage, - | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.ICreateReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IReferenceImage, - ( - | protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest - | undefined - ), + protos.google.cloud.vision.v1.IReferenceImage, + protos.google.cloud.vision.v1.ICreateReferenceImageRequest | undefined, {} | undefined ] > | void { @@ -1181,29 +1260,37 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.createReferenceImage(request, options, callback); + return this.innerApiCalls.createReferenceImage(request, options, callback); } deleteReferenceImage( - request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest, + request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteReferenceImageRequest | undefined, {} | undefined ] >; deleteReferenceImage( - request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest, + request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IDeleteReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + deleteReferenceImage( + request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IDeleteReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1230,28 +1317,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ deleteReferenceImage( - request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest, + request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IDeleteReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IDeleteReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IDeleteReferenceImageRequest | undefined, {} | undefined ] > | void { @@ -1272,25 +1358,37 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.deleteReferenceImage(request, options, callback); + return this.innerApiCalls.deleteReferenceImage(request, options, callback); } getReferenceImage( - request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest, + request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IReferenceImage, - protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, + protos.google.cloud.vision.v1.IReferenceImage, + protos.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, {} | undefined ] >; getReferenceImage( - request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest, + request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1.IReferenceImage, - protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.IGetReferenceImageRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getReferenceImage( + request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.IGetReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1315,24 +1413,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ getReferenceImage( - request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest, + request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1.IReferenceImage, - | protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.IGetReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1.IReferenceImage, - protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.IGetReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1.IReferenceImage, - protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, + protos.google.cloud.vision.v1.IReferenceImage, + protos.google.cloud.vision.v1.IGetReferenceImageRequest | undefined, {} | undefined ] > | void { @@ -1353,29 +1454,37 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.getReferenceImage(request, options, callback); + return this.innerApiCalls.getReferenceImage(request, options, callback); } addProductToProductSet( - request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest, + request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IAddProductToProductSetRequest | undefined, {} | undefined ] >; addProductToProductSet( - request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest, + request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IAddProductToProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + addProductToProductSet( + request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IAddProductToProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1407,28 +1516,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ addProductToProductSet( - request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest, + request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IAddProductToProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IAddProductToProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IAddProductToProductSetRequest | undefined, {} | undefined ] > | void { @@ -1449,33 +1557,44 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.addProductToProductSet( + return this.innerApiCalls.addProductToProductSet( request, options, callback ); } removeProductFromProductSet( - request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, + request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest | undefined ), {} | undefined ] >; removeProductFromProductSet( - request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, + request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + removeProductFromProductSet( + request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1500,26 +1619,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ removeProductFromProductSet( - request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, + request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest + | protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest | undefined ), {} | undefined @@ -1542,7 +1663,7 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.removeProductFromProductSet( + return this.innerApiCalls.removeProductFromProductSet( request, options, callback @@ -1550,28 +1671,39 @@ export class ProductSearchClient { } importProductSets( - request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest, + request: protos.google.cloud.vision.v1.IImportProductSetsRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.cloud.vision.v1.IImportProductSetsResponse, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; importProductSets( - request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest, + request: protos.google.cloud.vision.v1.IImportProductSetsRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.cloud.vision.v1.IImportProductSetsResponse, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + importProductSets( + request: protos.google.cloud.vision.v1.IImportProductSetsRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1.IImportProductSetsResponse, + protos.google.cloud.vision.v1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -1602,32 +1734,32 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ importProductSets( - request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest, + request: protos.google.cloud.vision.v1.IImportProductSetsRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.cloud.vision.v1.IImportProductSetsResponse, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.cloud.vision.v1.IImportProductSetsResponse, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.cloud.vision.v1.IImportProductSetsResponse, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -1648,31 +1780,42 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.importProductSets(request, options, callback); + return this.innerApiCalls.importProductSets(request, options, callback); } purgeProducts( - request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest, + request: protos.google.cloud.vision.v1.IPurgeProductsRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; purgeProducts( - request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest, + request: protos.google.cloud.vision.v1.IPurgeProductsRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + purgeProducts( + request: protos.google.cloud.vision.v1.IPurgeProductsRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -1722,32 +1865,32 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ purgeProducts( - request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest, + request: protos.google.cloud.vision.v1.IPurgeProductsRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -1768,25 +1911,33 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.purgeProducts(request, options, callback); + return this.innerApiCalls.purgeProducts(request, options, callback); } listProductSets( - request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest, + request: protos.google.cloud.vision.v1.IListProductSetsRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IProductSet[], - protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductSetsResponse + protos.google.cloud.vision.v1.IProductSet[], + protos.google.cloud.vision.v1.IListProductSetsRequest | null, + protos.google.cloud.vision.v1.IListProductSetsResponse ] >; listProductSets( - request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest, + request: protos.google.cloud.vision.v1.IListProductSetsRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1.IProductSet[], - protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductSetsResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductSetsRequest, + protos.google.cloud.vision.v1.IListProductSetsResponse | null | undefined, + protos.google.cloud.vision.v1.IProductSet + > + ): void; + listProductSets( + request: protos.google.cloud.vision.v1.IListProductSetsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductSetsRequest, + protos.google.cloud.vision.v1.IListProductSetsResponse | null | undefined, + protos.google.cloud.vision.v1.IProductSet > ): void; /** @@ -1826,24 +1977,26 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listProductSets( - request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest, + request: protos.google.cloud.vision.v1.IListProductSetsRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1.IProductSet[], - protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductSetsResponse + | PaginationCallback< + protos.google.cloud.vision.v1.IListProductSetsRequest, + | protos.google.cloud.vision.v1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1.IProductSet >, - callback?: Callback< - protosTypes.google.cloud.vision.v1.IProductSet[], - protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductSetsResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1.IListProductSetsRequest, + protos.google.cloud.vision.v1.IListProductSetsResponse | null | undefined, + protos.google.cloud.vision.v1.IProductSet > ): Promise< [ - protosTypes.google.cloud.vision.v1.IProductSet[], - protosTypes.google.cloud.vision.v1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductSetsResponse + protos.google.cloud.vision.v1.IProductSet[], + protos.google.cloud.vision.v1.IListProductSetsRequest | null, + protos.google.cloud.vision.v1.IListProductSetsResponse ] > | void { request = request || {}; @@ -1863,7 +2016,7 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.listProductSets(request, options, callback); + return this.innerApiCalls.listProductSets(request, options, callback); } /** @@ -1895,7 +2048,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet} on 'data' event. */ listProductSetsStream( - request?: protosTypes.google.cloud.vision.v1.IListProductSetsRequest, + request?: protos.google.cloud.vision.v1.IListProductSetsRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -1909,29 +2062,80 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listProductSets.createStream( - this._innerApiCalls.listProductSets as gax.GaxCall, + return this.descriptors.page.listProductSets.createStream( + this.innerApiCalls.listProductSets as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listProductSets}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listProductSetsAsync( + request?: protos.google.cloud.vision.v1.IListProductSetsRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listProductSets.asyncIterate( + this.innerApiCalls['listProductSets'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } listProducts( - request: protosTypes.google.cloud.vision.v1.IListProductsRequest, + request: protos.google.cloud.vision.v1.IListProductsRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsResponse + protos.google.cloud.vision.v1.IProduct[], + protos.google.cloud.vision.v1.IListProductsRequest | null, + protos.google.cloud.vision.v1.IListProductsResponse ] >; listProducts( - request: protosTypes.google.cloud.vision.v1.IListProductsRequest, + request: protos.google.cloud.vision.v1.IListProductsRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsRequest, + protos.google.cloud.vision.v1.IListProductsResponse | null | undefined, + protos.google.cloud.vision.v1.IProduct + > + ): void; + listProducts( + request: protos.google.cloud.vision.v1.IListProductsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsRequest, + protos.google.cloud.vision.v1.IListProductsResponse | null | undefined, + protos.google.cloud.vision.v1.IProduct > ): void; /** @@ -1971,24 +2175,26 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listProducts( - request: protosTypes.google.cloud.vision.v1.IListProductsRequest, + request: protos.google.cloud.vision.v1.IListProductsRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsResponse + | PaginationCallback< + protos.google.cloud.vision.v1.IListProductsRequest, + | protos.google.cloud.vision.v1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1.IProduct >, - callback?: Callback< - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsRequest, + protos.google.cloud.vision.v1.IListProductsResponse | null | undefined, + protos.google.cloud.vision.v1.IProduct > ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsResponse + protos.google.cloud.vision.v1.IProduct[], + protos.google.cloud.vision.v1.IListProductsRequest | null, + protos.google.cloud.vision.v1.IListProductsResponse ] > | void { request = request || {}; @@ -2008,7 +2214,7 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.listProducts(request, options, callback); + return this.innerApiCalls.listProducts(request, options, callback); } /** @@ -2041,7 +2247,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. */ listProductsStream( - request?: protosTypes.google.cloud.vision.v1.IListProductsRequest, + request?: protos.google.cloud.vision.v1.IListProductsRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -2055,29 +2261,85 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listProducts.createStream( - this._innerApiCalls.listProducts as gax.GaxCall, + return this.descriptors.page.listProducts.createStream( + this.innerApiCalls.listProducts as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listProducts}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listProductsAsync( + request?: protos.google.cloud.vision.v1.IListProductsRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listProducts.asyncIterate( + this.innerApiCalls['listProducts'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } listReferenceImages( - request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest, + request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IReferenceImage[], - protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + protos.google.cloud.vision.v1.IReferenceImage[], + protos.google.cloud.vision.v1.IListReferenceImagesRequest | null, + protos.google.cloud.vision.v1.IListReferenceImagesResponse ] >; listReferenceImages( - request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest, + request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1.IReferenceImage[], - protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1.IReferenceImage + > + ): void; + listReferenceImages( + request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1.IReferenceImage > ): void; /** @@ -2122,24 +2384,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listReferenceImages( - request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest, + request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1.IReferenceImage[], - protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + | PaginationCallback< + protos.google.cloud.vision.v1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1.IReferenceImage >, - callback?: Callback< - protosTypes.google.cloud.vision.v1.IReferenceImage[], - protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1.IReferenceImage > ): Promise< [ - protosTypes.google.cloud.vision.v1.IReferenceImage[], - protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1.IListReferenceImagesResponse + protos.google.cloud.vision.v1.IReferenceImage[], + protos.google.cloud.vision.v1.IListReferenceImagesRequest | null, + protos.google.cloud.vision.v1.IListReferenceImagesResponse ] > | void { request = request || {}; @@ -2159,7 +2425,7 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.listReferenceImages(request, options, callback); + return this.innerApiCalls.listReferenceImages(request, options, callback); } /** @@ -2195,7 +2461,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} on 'data' event. */ listReferenceImagesStream( - request?: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest, + request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -2209,29 +2475,88 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listReferenceImages.createStream( - this._innerApiCalls.listReferenceImages as gax.GaxCall, + return this.descriptors.page.listReferenceImages.createStream( + this.innerApiCalls.listReferenceImages as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listReferenceImages}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listReferenceImagesAsync( + request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listReferenceImages.asyncIterate( + this.innerApiCalls['listReferenceImages'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } listProductsInProductSet( - request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest, + request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + protos.google.cloud.vision.v1.IProduct[], + protos.google.cloud.vision.v1.IListProductsInProductSetRequest | null, + protos.google.cloud.vision.v1.IListProductsInProductSetResponse ] >; listProductsInProductSet( - request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest, + request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1.IProduct + > + ): void; + listProductsInProductSet( + request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1.IProduct > ): void; /** @@ -2273,24 +2598,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listProductsInProductSet( - request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest, + request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + | PaginationCallback< + protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1.IProduct >, - callback?: Callback< - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1.IProduct > ): Promise< [ - protosTypes.google.cloud.vision.v1.IProduct[], - protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1.IListProductsInProductSetResponse + protos.google.cloud.vision.v1.IProduct[], + protos.google.cloud.vision.v1.IListProductsInProductSetRequest | null, + protos.google.cloud.vision.v1.IListProductsInProductSetResponse ] > | void { request = request || {}; @@ -2310,7 +2639,7 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.listProductsInProductSet( + return this.innerApiCalls.listProductsInProductSet( request, options, callback @@ -2347,7 +2676,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. */ listProductsInProductSetStream( - request?: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest, + request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -2361,12 +2690,56 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listProductsInProductSet.createStream( - this._innerApiCalls.listProductsInProductSet as gax.GaxCall, + return this.descriptors.page.listProductsInProductSet.createStream( + this.innerApiCalls.listProductsInProductSet as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listProductsInProductSet}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listProductsInProductSetAsync( + request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listProductsInProductSet.asyncIterate( + this.innerApiCalls['listProductsInProductSet'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } // -------------------- // -- Path templates -- // -------------------- @@ -2379,9 +2752,9 @@ export class ProductSearchClient { * @returns {string} Resource name string. */ locationPath(project: string, location: string) { - return this._pathTemplates.locationPathTemplate.render({ - project, - location, + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, }); } @@ -2393,7 +2766,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromLocationName(locationName: string) { - return this._pathTemplates.locationPathTemplate.match(locationName).project; + return this.pathTemplates.locationPathTemplate.match(locationName).project; } /** @@ -2404,8 +2777,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromLocationName(locationName: string) { - return this._pathTemplates.locationPathTemplate.match(locationName) - .location; + return this.pathTemplates.locationPathTemplate.match(locationName).location; } /** @@ -2417,10 +2789,10 @@ export class ProductSearchClient { * @returns {string} Resource name string. */ productPath(project: string, location: string, product: string) { - return this._pathTemplates.productPathTemplate.render({ - project, - location, - product, + return this.pathTemplates.productPathTemplate.render({ + project: project, + location: location, + product: product, }); } @@ -2432,7 +2804,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).project; + return this.pathTemplates.productPathTemplate.match(productName).project; } /** @@ -2443,7 +2815,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).location; + return this.pathTemplates.productPathTemplate.match(productName).location; } /** @@ -2454,7 +2826,7 @@ export class ProductSearchClient { * @returns {string} A string representing the product. */ matchProductFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).product; + return this.pathTemplates.productPathTemplate.match(productName).product; } /** @@ -2466,9 +2838,9 @@ export class ProductSearchClient { * @returns {string} Resource name string. */ productSetPath(project: string, location: string, productSet: string) { - return this._pathTemplates.productSetPathTemplate.render({ - project, - location, + return this.pathTemplates.productSetPathTemplate.render({ + project: project, + location: location, product_set: productSet, }); } @@ -2481,7 +2853,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .project; } @@ -2493,7 +2865,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .location; } @@ -2505,7 +2877,7 @@ export class ProductSearchClient { * @returns {string} A string representing the product_set. */ matchProductSetFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .product_set; } @@ -2524,10 +2896,10 @@ export class ProductSearchClient { product: string, referenceImage: string ) { - return this._pathTemplates.referenceImagePathTemplate.render({ - project, - location, - product, + return this.pathTemplates.referenceImagePathTemplate.render({ + project: project, + location: location, + product: product, reference_image: referenceImage, }); } @@ -2540,7 +2912,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).project; } @@ -2553,7 +2925,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).location; } @@ -2566,7 +2938,7 @@ export class ProductSearchClient { * @returns {string} A string representing the product. */ matchProductFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).product; } @@ -2579,7 +2951,7 @@ export class ProductSearchClient { * @returns {string} A string representing the reference_image. */ matchReferenceImageFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).reference_image; } diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index a3786cb4ba8..182823fa71a 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -17,16 +17,10 @@ // ** All changes to this file may be overwritten. ** import * as gax from 'google-gax'; -import { - APICallback, - Callback, - CallOptions, - Descriptors, - ClientOptions, -} from 'google-gax'; +import {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './image_annotator_client_config.json'; const version = require('../../../package.json').version; @@ -39,13 +33,6 @@ const version = require('../../../package.json').version; * @memberof v1p1beta1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; private _gaxModule: typeof gax | typeof gax.fallback; @@ -53,6 +40,13 @@ export class ImageAnnotatorClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; imageAnnotatorStub?: Promise<{[name: string]: Function}>; /** @@ -144,7 +138,10 @@ export class ImageAnnotatorClient { 'protos.json' ); this._protos = this._gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + opts.fallback + ? // eslint-disable-next-line @typescript-eslint/no-var-requires + require('../../protos/protos.json') + : nodejsProtoPath ); // Put together the default options sent with requests. @@ -158,7 +155,7 @@ export class ImageAnnotatorClient { // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. - this._innerApiCalls = {}; + this.innerApiCalls = {}; } /** @@ -185,7 +182,7 @@ export class ImageAnnotatorClient { ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p1beta1.ImageAnnotator' ) - : // tslint:disable-next-line no-any + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p1beta1.ImageAnnotator, this._opts ) as Promise<{[method: string]: Function}>; @@ -193,9 +190,8 @@ export class ImageAnnotatorClient { // Iterate over each of the methods that the service provides // and create an API call method for each. const imageAnnotatorStubMethods = ['batchAnnotateImages']; - for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = this.imageAnnotatorStub.then( + const callPromise = this.imageAnnotatorStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -209,20 +205,14 @@ export class ImageAnnotatorClient { ); const apiCall = this._gaxModule.createApiCall( - innerCallPromise, + callPromise, this._defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.stream[methodName] || - this._descriptors.longrunning[methodName] + this.descriptors.page[methodName] || + this.descriptors.stream[methodName] || + this.descriptors.longrunning[methodName] ); - this._innerApiCalls[methodName] = ( - argument: {}, - callOptions?: CallOptions, - callback?: APICallback - ) => { - return apiCall(argument, callOptions, callback); - }; + this.innerApiCalls[methodName] = apiCall; } return this.imageAnnotatorStub; @@ -282,26 +272,37 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, ( - | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest | undefined ), {} | undefined ] >; batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + batchAnnotateImages( + request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, + callback: Callback< + protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -318,26 +319,28 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, ( - | protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest + | protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest | undefined ), {} | undefined @@ -353,7 +356,7 @@ export class ImageAnnotatorClient { } options = options || {}; this.initialize(); - return this._innerApiCalls.batchAnnotateImages(request, options, callback); + return this.innerApiCalls.batchAnnotateImages(request, options, callback); } /** @@ -373,4 +376,5 @@ export class ImageAnnotatorClient { } } import {FeaturesMethod} from '../helpers'; +// eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index a8438b164c5..f2eef439883 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -18,7 +18,6 @@ import * as gax from 'google-gax'; import { - APICallback, Callback, CallOptions, Descriptors, @@ -27,7 +26,7 @@ import { } from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './image_annotator_client_config.json'; const version = require('../../../package.json').version; @@ -40,13 +39,6 @@ const version = require('../../../package.json').version; * @memberof v1p2beta1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - private _innerApiCalls: {[name: string]: Function}; private _terminated = false; private _opts: ClientOptions; private _gaxModule: typeof gax | typeof gax.fallback; @@ -54,6 +46,13 @@ export class ImageAnnotatorClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; imageAnnotatorStub?: Promise<{[name: string]: Function}>; @@ -146,7 +145,10 @@ export class ImageAnnotatorClient { 'protos.json' ); this._protos = this._gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + opts.fallback + ? // eslint-disable-next-line @typescript-eslint/no-var-requires + require('../../protos/protos.json') + : nodejsProtoPath ); // This API contains "long-running operations", which return a @@ -154,6 +156,7 @@ export class ImageAnnotatorClient { // rather than holding a request open. const protoFilesRoot = opts.fallback ? this._gaxModule.protobuf.Root.fromJSON( + // eslint-disable-next-line @typescript-eslint/no-var-requires require('../../protos/protos.json') ) : this._gaxModule.protobuf.loadSync(nodejsProtoPath); @@ -171,7 +174,7 @@ export class ImageAnnotatorClient { '.google.cloud.vision.v1p2beta1.OperationMetadata' ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { asyncBatchAnnotateFiles: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( @@ -194,7 +197,7 @@ export class ImageAnnotatorClient { // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. - this._innerApiCalls = {}; + this.innerApiCalls = {}; } /** @@ -221,7 +224,7 @@ export class ImageAnnotatorClient { ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p2beta1.ImageAnnotator' ) - : // tslint:disable-next-line no-any + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p2beta1.ImageAnnotator, this._opts ) as Promise<{[method: string]: Function}>; @@ -232,9 +235,8 @@ export class ImageAnnotatorClient { 'batchAnnotateImages', 'asyncBatchAnnotateFiles', ]; - for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = this.imageAnnotatorStub.then( + const callPromise = this.imageAnnotatorStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -248,20 +250,14 @@ export class ImageAnnotatorClient { ); const apiCall = this._gaxModule.createApiCall( - innerCallPromise, + callPromise, this._defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.stream[methodName] || - this._descriptors.longrunning[methodName] + this.descriptors.page[methodName] || + this.descriptors.stream[methodName] || + this.descriptors.longrunning[methodName] ); - this._innerApiCalls[methodName] = ( - argument: {}, - callOptions?: CallOptions, - callback?: APICallback - ) => { - return apiCall(argument, callOptions, callback); - }; + this.innerApiCalls[methodName] = apiCall; } return this.imageAnnotatorStub; @@ -321,26 +317,37 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, ( - | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest | undefined ), {} | undefined ] >; batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + batchAnnotateImages( + request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, + callback: Callback< + protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -357,26 +364,28 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, ( - | protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest + | protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest | undefined ), {} | undefined @@ -392,32 +401,43 @@ export class ImageAnnotatorClient { } options = options || {}; this.initialize(); - return this._innerApiCalls.batchAnnotateImages(request, options, callback); + return this.innerApiCalls.batchAnnotateImages(request, options, callback); } asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + asyncBatchAnnotateFiles( + request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -439,32 +459,32 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p2beta1.IOperationMetadata + protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -478,7 +498,7 @@ export class ImageAnnotatorClient { } options = options || {}; this.initialize(); - return this._innerApiCalls.asyncBatchAnnotateFiles( + return this.innerApiCalls.asyncBatchAnnotateFiles( request, options, callback @@ -502,4 +522,5 @@ export class ImageAnnotatorClient { } } import {FeaturesMethod} from '../helpers'; +// eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 700f8dadc2c..a23040d64c3 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -18,7 +18,6 @@ import * as gax from 'google-gax'; import { - APICallback, Callback, CallOptions, Descriptors, @@ -27,7 +26,7 @@ import { } from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './image_annotator_client_config.json'; const version = require('../../../package.json').version; @@ -40,14 +39,6 @@ const version = require('../../../package.json').version; * @memberof v1p3beta1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - private _innerApiCalls: {[name: string]: Function}; - private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; private _opts: ClientOptions; private _gaxModule: typeof gax | typeof gax.fallback; @@ -55,6 +46,14 @@ export class ImageAnnotatorClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; imageAnnotatorStub?: Promise<{[name: string]: Function}>; @@ -147,13 +146,16 @@ export class ImageAnnotatorClient { 'protos.json' ); this._protos = this._gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + opts.fallback + ? // eslint-disable-next-line @typescript-eslint/no-var-requires + require('../../protos/protos.json') + : nodejsProtoPath ); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. - this._pathTemplates = { + this.pathTemplates = { productPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), @@ -170,6 +172,7 @@ export class ImageAnnotatorClient { // rather than holding a request open. const protoFilesRoot = opts.fallback ? this._gaxModule.protobuf.Root.fromJSON( + // eslint-disable-next-line @typescript-eslint/no-var-requires require('../../protos/protos.json') ) : this._gaxModule.protobuf.loadSync(nodejsProtoPath); @@ -187,7 +190,7 @@ export class ImageAnnotatorClient { '.google.cloud.vision.v1p3beta1.OperationMetadata' ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { asyncBatchAnnotateFiles: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateFilesResponse.decode.bind( @@ -210,7 +213,7 @@ export class ImageAnnotatorClient { // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. - this._innerApiCalls = {}; + this.innerApiCalls = {}; } /** @@ -237,7 +240,7 @@ export class ImageAnnotatorClient { ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p3beta1.ImageAnnotator' ) - : // tslint:disable-next-line no-any + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p3beta1.ImageAnnotator, this._opts ) as Promise<{[method: string]: Function}>; @@ -248,9 +251,8 @@ export class ImageAnnotatorClient { 'batchAnnotateImages', 'asyncBatchAnnotateFiles', ]; - for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = this.imageAnnotatorStub.then( + const callPromise = this.imageAnnotatorStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -264,20 +266,14 @@ export class ImageAnnotatorClient { ); const apiCall = this._gaxModule.createApiCall( - innerCallPromise, + callPromise, this._defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.stream[methodName] || - this._descriptors.longrunning[methodName] + this.descriptors.page[methodName] || + this.descriptors.stream[methodName] || + this.descriptors.longrunning[methodName] ); - this._innerApiCalls[methodName] = ( - argument: {}, - callOptions?: CallOptions, - callback?: APICallback - ) => { - return apiCall(argument, callOptions, callback); - }; + this.innerApiCalls[methodName] = apiCall; } return this.imageAnnotatorStub; @@ -337,26 +333,37 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, ( - | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest | undefined ), {} | undefined ] >; batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + batchAnnotateImages( + request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -373,26 +380,28 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, ( - | protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest + | protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest | undefined ), {} | undefined @@ -408,32 +417,43 @@ export class ImageAnnotatorClient { } options = options || {}; this.initialize(); - return this._innerApiCalls.batchAnnotateImages(request, options, callback); + return this.innerApiCalls.batchAnnotateImages(request, options, callback); } asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + asyncBatchAnnotateFiles( + request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -455,32 +475,32 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p3beta1.IOperationMetadata + protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -494,7 +514,7 @@ export class ImageAnnotatorClient { } options = options || {}; this.initialize(); - return this._innerApiCalls.asyncBatchAnnotateFiles( + return this.innerApiCalls.asyncBatchAnnotateFiles( request, options, callback @@ -513,10 +533,10 @@ export class ImageAnnotatorClient { * @returns {string} Resource name string. */ productPath(project: string, location: string, product: string) { - return this._pathTemplates.productPathTemplate.render({ - project, - location, - product, + return this.pathTemplates.productPathTemplate.render({ + project: project, + location: location, + product: product, }); } @@ -528,7 +548,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the project. */ matchProjectFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).project; + return this.pathTemplates.productPathTemplate.match(productName).project; } /** @@ -539,7 +559,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the location. */ matchLocationFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).location; + return this.pathTemplates.productPathTemplate.match(productName).location; } /** @@ -550,7 +570,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the product. */ matchProductFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).product; + return this.pathTemplates.productPathTemplate.match(productName).product; } /** @@ -562,9 +582,9 @@ export class ImageAnnotatorClient { * @returns {string} Resource name string. */ productSetPath(project: string, location: string, productSet: string) { - return this._pathTemplates.productSetPathTemplate.render({ - project, - location, + return this.pathTemplates.productSetPathTemplate.render({ + project: project, + location: location, product_set: productSet, }); } @@ -577,7 +597,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the project. */ matchProjectFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .project; } @@ -589,7 +609,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the location. */ matchLocationFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .location; } @@ -601,7 +621,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the product_set. */ matchProductSetFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .product_set; } @@ -620,10 +640,10 @@ export class ImageAnnotatorClient { product: string, referenceImage: string ) { - return this._pathTemplates.referenceImagePathTemplate.render({ - project, - location, - product, + return this.pathTemplates.referenceImagePathTemplate.render({ + project: project, + location: location, + product: product, reference_image: referenceImage, }); } @@ -636,7 +656,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the project. */ matchProjectFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).project; } @@ -649,7 +669,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the location. */ matchLocationFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).location; } @@ -662,7 +682,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the product. */ matchProductFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).product; } @@ -675,7 +695,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the reference_image. */ matchReferenceImageFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).reference_image; } @@ -697,4 +717,5 @@ export class ImageAnnotatorClient { } } import {FeaturesMethod} from '../helpers'; +// eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 332285c7910..e25c2cba8c4 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -18,19 +18,19 @@ import * as gax from 'google-gax'; import { - APICallback, Callback, CallOptions, Descriptors, ClientOptions, LROperation, PaginationCallback, - PaginationResponse, + GaxCall, } from 'google-gax'; import * as path from 'path'; import {Transform} from 'stream'; -import * as protosTypes from '../../protos/protos'; +import {RequestType} from 'google-gax/build/src/apitypes'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './product_search_client_config.json'; const version = require('../../../package.json').version; @@ -54,14 +54,6 @@ const version = require('../../../package.json').version; * @memberof v1p3beta1 */ export class ProductSearchClient { - private _descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - private _innerApiCalls: {[name: string]: Function}; - private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; private _opts: ClientOptions; private _gaxModule: typeof gax | typeof gax.fallback; @@ -69,6 +61,14 @@ export class ProductSearchClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; productSearchStub?: Promise<{[name: string]: Function}>; @@ -161,13 +161,16 @@ export class ProductSearchClient { 'protos.json' ); this._protos = this._gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + opts.fallback + ? // eslint-disable-next-line @typescript-eslint/no-var-requires + require('../../protos/protos.json') + : nodejsProtoPath ); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. - this._pathTemplates = { + this.pathTemplates = { locationPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}' ), @@ -185,7 +188,7 @@ export class ProductSearchClient { // Some of the methods on this service return "paged" results, // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. - this._descriptors.page = { + this.descriptors.page = { listProductSets: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', @@ -213,6 +216,7 @@ export class ProductSearchClient { // rather than holding a request open. const protoFilesRoot = opts.fallback ? this._gaxModule.protobuf.Root.fromJSON( + // eslint-disable-next-line @typescript-eslint/no-var-requires require('../../protos/protos.json') ) : this._gaxModule.protobuf.loadSync(nodejsProtoPath); @@ -230,7 +234,7 @@ export class ProductSearchClient { '.google.cloud.vision.v1p3beta1.BatchOperationMetadata' ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { importProductSets: new this._gaxModule.LongrunningDescriptor( this.operationsClient, importProductSetsResponse.decode.bind(importProductSetsResponse), @@ -249,7 +253,7 @@ export class ProductSearchClient { // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. - this._innerApiCalls = {}; + this.innerApiCalls = {}; } /** @@ -276,7 +280,7 @@ export class ProductSearchClient { ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p3beta1.ProductSearch' ) - : // tslint:disable-next-line no-any + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p3beta1.ProductSearch, this._opts ) as Promise<{[method: string]: Function}>; @@ -303,9 +307,8 @@ export class ProductSearchClient { 'listProductsInProductSet', 'importProductSets', ]; - for (const methodName of productSearchStubMethods) { - const innerCallPromise = this.productSearchStub.then( + const callPromise = this.productSearchStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -319,20 +322,14 @@ export class ProductSearchClient { ); const apiCall = this._gaxModule.createApiCall( - innerCallPromise, + callPromise, this._defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.stream[methodName] || - this._descriptors.longrunning[methodName] + this.descriptors.page[methodName] || + this.descriptors.stream[methodName] || + this.descriptors.longrunning[methodName] ); - this._innerApiCalls[methodName] = ( - argument: {}, - callOptions?: CallOptions, - callback?: APICallback - ) => { - return apiCall(argument, callOptions, callback); - }; + this.innerApiCalls[methodName] = apiCall; } return this.productSearchStub; @@ -392,26 +389,34 @@ export class ProductSearchClient { // -- Service calls -- // ------------------- createProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProductSet, + protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest | undefined, {} | undefined ] >; createProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + createProductSet( + request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -442,28 +447,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ createProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProductSet, + protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest | undefined, {} | undefined ] > | void { @@ -484,29 +488,37 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.createProductSet(request, options, callback); + return this.innerApiCalls.createProductSet(request, options, callback); } getProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProductSet, + protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest | undefined, {} | undefined ] >; getProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + getProductSet( + request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -530,28 +542,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ getProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProductSet, + protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest | undefined, {} | undefined ] > | void { @@ -572,29 +583,37 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.getProductSet(request, options, callback); + return this.innerApiCalls.getProductSet(request, options, callback); } updateProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProductSet, + protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest | undefined, {} | undefined ] >; updateProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + updateProductSet( + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -623,28 +642,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ updateProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + protos.google.cloud.vision.v1p3beta1.IProductSet, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProductSet, + protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest | undefined, {} | undefined ] > | void { @@ -665,29 +683,37 @@ export class ProductSearchClient { 'product_set.name': request.productSet!.name || '', }); this.initialize(); - return this._innerApiCalls.updateProductSet(request, options, callback); + return this.innerApiCalls.updateProductSet(request, options, callback); } deleteProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest | undefined, {} | undefined ] >; deleteProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + deleteProductSet( + request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -714,28 +740,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ deleteProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest | undefined, {} | undefined ] > | void { @@ -756,29 +781,37 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.deleteProductSet(request, options, callback); + return this.innerApiCalls.deleteProductSet(request, options, callback); } createProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest, + request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - ( - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProduct, + protos.google.cloud.vision.v1p3beta1.ICreateProductRequest | undefined, {} | undefined ] >; createProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest, + request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + createProduct( + request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -812,28 +845,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ createProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest, + request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - ( - | protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProduct, + protos.google.cloud.vision.v1p3beta1.ICreateProductRequest | undefined, {} | undefined ] > | void { @@ -854,25 +886,37 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.createProduct(request, options, callback); + return this.innerApiCalls.createProduct(request, options, callback); } getProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest, + request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct, + protos.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, {} | undefined ] >; getProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest, + request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IGetProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getProduct( + request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IGetProductRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -896,24 +940,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ getProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest, + request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - | protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IGetProductRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IGetProductRequest + | null + | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct, + protos.google.cloud.vision.v1p3beta1.IGetProductRequest | undefined, {} | undefined ] > | void { @@ -934,29 +981,37 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.getProduct(request, options, callback); + return this.innerApiCalls.getProduct(request, options, callback); } updateProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProduct, + protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest | undefined, {} | undefined ] >; updateProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + updateProduct( + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -993,28 +1048,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ updateProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest - | undefined - ), + protos.google.cloud.vision.v1p3beta1.IProduct, + protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest | undefined, {} | undefined ] > | void { @@ -1035,29 +1089,37 @@ export class ProductSearchClient { 'product.name': request.product!.name || '', }); this.initialize(); - return this._innerApiCalls.updateProduct(request, options, callback); + return this.innerApiCalls.updateProduct(request, options, callback); } deleteProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest, + request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest | undefined, {} | undefined ] >; deleteProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest, + request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + deleteProduct( + request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1085,28 +1147,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ deleteProduct( - request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest, + request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest | undefined, {} | undefined ] > | void { @@ -1127,29 +1188,40 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.deleteProduct(request, options, callback); + return this.innerApiCalls.deleteProduct(request, options, callback); } createReferenceImage( - request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + protos.google.cloud.vision.v1p3beta1.IReferenceImage, ( - | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest | undefined ), {} | undefined ] >; createReferenceImage( - request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + createReferenceImage( + request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1195,26 +1267,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ createReferenceImage( - request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + protos.google.cloud.vision.v1p3beta1.IReferenceImage, ( - | protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest | undefined ), {} | undefined @@ -1237,29 +1311,40 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.createReferenceImage(request, options, callback); + return this.innerApiCalls.createReferenceImage(request, options, callback); } deleteReferenceImage( - request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, + request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest | undefined ), {} | undefined ] >; deleteReferenceImage( - request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, + request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + deleteReferenceImage( + request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1290,26 +1375,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ deleteReferenceImage( - request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, + request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest + | protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest | undefined ), {} | undefined @@ -1332,29 +1419,40 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.deleteReferenceImage(request, options, callback); + return this.innerApiCalls.deleteReferenceImage(request, options, callback); } getReferenceImage( - request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, + request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + protos.google.cloud.vision.v1p3beta1.IReferenceImage, ( - | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest | undefined ), {} | undefined ] >; getReferenceImage( - request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, + request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + getReferenceImage( + request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1379,26 +1477,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ getReferenceImage( - request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, + request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage, + protos.google.cloud.vision.v1p3beta1.IReferenceImage, ( - | protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest + | protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest | undefined ), {} | undefined @@ -1421,29 +1521,40 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.getReferenceImage(request, options, callback); + return this.innerApiCalls.getReferenceImage(request, options, callback); } addProductToProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest | undefined ), {} | undefined ] >; addProductToProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + addProductToProductSet( + request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1475,26 +1586,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ addProductToProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest + | protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest | undefined ), {} | undefined @@ -1517,33 +1630,44 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.addProductToProductSet( + return this.innerApiCalls.addProductToProductSet( request, options, callback ); } removeProductFromProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest | undefined ), {} | undefined ] >; removeProductFromProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + removeProductFromProductSet( + request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1572,26 +1696,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ removeProductFromProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest + | protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest | undefined ), {} | undefined @@ -1614,7 +1740,7 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.removeProductFromProductSet( + return this.innerApiCalls.removeProductFromProductSet( request, options, callback @@ -1622,28 +1748,39 @@ export class ProductSearchClient { } importProductSets( - request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, + request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; importProductSets( - request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, + request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + importProductSets( + request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -1674,32 +1811,32 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ importProductSets( - request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, + request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -1720,25 +1857,37 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.importProductSets(request, options, callback); + return this.innerApiCalls.importProductSets(request, options, callback); } listProductSets( - request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + protos.google.cloud.vision.v1p3beta1.IProductSet[], + protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, + protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse ] >; listProductSets( - request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProductSet + > + ): void; + listProductSets( + request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProductSet > ): void; /** @@ -1778,24 +1927,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listProductSets( - request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + | PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProductSet >, - callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProductSet > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsResponse + protos.google.cloud.vision.v1p3beta1.IProductSet[], + protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, + protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse ] > | void { request = request || {}; @@ -1815,7 +1968,7 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.listProductSets(request, options, callback); + return this.innerApiCalls.listProductSets(request, options, callback); } /** @@ -1847,7 +2000,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} on 'data' event. */ listProductSetsStream( - request?: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -1861,29 +2014,84 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listProductSets.createStream( - this._innerApiCalls.listProductSets as gax.GaxCall, + return this.descriptors.page.listProductSets.createStream( + this.innerApiCalls.listProductSets as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listProductSets}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listProductSetsAsync( + request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listProductSets.asyncIterate( + this.innerApiCalls['listProductSets'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } listProducts( - request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest, + request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + protos.google.cloud.vision.v1p3beta1.IProduct[], + protos.google.cloud.vision.v1p3beta1.IListProductsRequest | null, + protos.google.cloud.vision.v1p3beta1.IListProductsResponse ] >; listProducts( - request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest, + request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct + > + ): void; + listProducts( + request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct > ): void; /** @@ -1923,24 +2131,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listProducts( - request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest, + request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + | PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct >, - callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsResponse + protos.google.cloud.vision.v1p3beta1.IProduct[], + protos.google.cloud.vision.v1p3beta1.IListProductsRequest | null, + protos.google.cloud.vision.v1p3beta1.IListProductsResponse ] > | void { request = request || {}; @@ -1960,7 +2172,7 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.listProducts(request, options, callback); + return this.innerApiCalls.listProducts(request, options, callback); } /** @@ -1993,7 +2205,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. */ listProductsStream( - request?: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -2007,29 +2219,85 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listProducts.createStream( - this._innerApiCalls.listProducts as gax.GaxCall, + return this.descriptors.page.listProducts.createStream( + this.innerApiCalls.listProducts as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listProducts}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listProductsAsync( + request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listProducts.asyncIterate( + this.innerApiCalls['listProducts'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } listReferenceImages( - request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + protos.google.cloud.vision.v1p3beta1.IReferenceImage[], + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse ] >; listReferenceImages( - request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IReferenceImage + > + ): void; + listReferenceImages( + request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IReferenceImage > ): void; /** @@ -2074,24 +2342,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listReferenceImages( - request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + | PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IReferenceImage >, - callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IReferenceImage > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + protos.google.cloud.vision.v1p3beta1.IReferenceImage[], + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse ] > | void { request = request || {}; @@ -2111,7 +2383,7 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.listReferenceImages(request, options, callback); + return this.innerApiCalls.listReferenceImages(request, options, callback); } /** @@ -2147,7 +2419,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} on 'data' event. */ listReferenceImagesStream( - request?: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -2161,29 +2433,88 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listReferenceImages.createStream( - this._innerApiCalls.listReferenceImages as gax.GaxCall, + return this.descriptors.page.listReferenceImages.createStream( + this.innerApiCalls.listReferenceImages as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listReferenceImages}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listReferenceImagesAsync( + request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listReferenceImages.asyncIterate( + this.innerApiCalls['listReferenceImages'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } listProductsInProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + protos.google.cloud.vision.v1p3beta1.IProduct[], + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse ] >; listProductsInProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct + > + ): void; + listProductsInProductSet( + request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct > ): void; /** @@ -2225,24 +2556,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listProductsInProductSet( - request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + | PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct >, - callback?: Callback< - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct > ): Promise< [ - protosTypes.google.cloud.vision.v1p3beta1.IProduct[], - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + protos.google.cloud.vision.v1p3beta1.IProduct[], + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse ] > | void { request = request || {}; @@ -2262,7 +2597,7 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.listProductsInProductSet( + return this.innerApiCalls.listProductsInProductSet( request, options, callback @@ -2299,7 +2634,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. */ listProductsInProductSetStream( - request?: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -2313,12 +2648,56 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listProductsInProductSet.createStream( - this._innerApiCalls.listProductsInProductSet as gax.GaxCall, + return this.descriptors.page.listProductsInProductSet.createStream( + this.innerApiCalls.listProductsInProductSet as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listProductsInProductSet}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listProductsInProductSetAsync( + request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listProductsInProductSet.asyncIterate( + this.innerApiCalls['listProductsInProductSet'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } // -------------------- // -- Path templates -- // -------------------- @@ -2331,9 +2710,9 @@ export class ProductSearchClient { * @returns {string} Resource name string. */ locationPath(project: string, location: string) { - return this._pathTemplates.locationPathTemplate.render({ - project, - location, + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, }); } @@ -2345,7 +2724,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromLocationName(locationName: string) { - return this._pathTemplates.locationPathTemplate.match(locationName).project; + return this.pathTemplates.locationPathTemplate.match(locationName).project; } /** @@ -2356,8 +2735,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromLocationName(locationName: string) { - return this._pathTemplates.locationPathTemplate.match(locationName) - .location; + return this.pathTemplates.locationPathTemplate.match(locationName).location; } /** @@ -2369,10 +2747,10 @@ export class ProductSearchClient { * @returns {string} Resource name string. */ productPath(project: string, location: string, product: string) { - return this._pathTemplates.productPathTemplate.render({ - project, - location, - product, + return this.pathTemplates.productPathTemplate.render({ + project: project, + location: location, + product: product, }); } @@ -2384,7 +2762,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).project; + return this.pathTemplates.productPathTemplate.match(productName).project; } /** @@ -2395,7 +2773,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).location; + return this.pathTemplates.productPathTemplate.match(productName).location; } /** @@ -2406,7 +2784,7 @@ export class ProductSearchClient { * @returns {string} A string representing the product. */ matchProductFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).product; + return this.pathTemplates.productPathTemplate.match(productName).product; } /** @@ -2418,9 +2796,9 @@ export class ProductSearchClient { * @returns {string} Resource name string. */ productSetPath(project: string, location: string, productSet: string) { - return this._pathTemplates.productSetPathTemplate.render({ - project, - location, + return this.pathTemplates.productSetPathTemplate.render({ + project: project, + location: location, product_set: productSet, }); } @@ -2433,7 +2811,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .project; } @@ -2445,7 +2823,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .location; } @@ -2457,7 +2835,7 @@ export class ProductSearchClient { * @returns {string} A string representing the product_set. */ matchProductSetFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .product_set; } @@ -2476,10 +2854,10 @@ export class ProductSearchClient { product: string, referenceImage: string ) { - return this._pathTemplates.referenceImagePathTemplate.render({ - project, - location, - product, + return this.pathTemplates.referenceImagePathTemplate.render({ + project: project, + location: location, + product: product, reference_image: referenceImage, }); } @@ -2492,7 +2870,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).project; } @@ -2505,7 +2883,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).location; } @@ -2518,7 +2896,7 @@ export class ProductSearchClient { * @returns {string} A string representing the product. */ matchProductFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).product; } @@ -2531,7 +2909,7 @@ export class ProductSearchClient { * @returns {string} A string representing the reference_image. */ matchReferenceImageFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).reference_image; } diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 523adfe9104..ac649dc957c 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -18,7 +18,6 @@ import * as gax from 'google-gax'; import { - APICallback, Callback, CallOptions, Descriptors, @@ -27,7 +26,7 @@ import { } from 'google-gax'; import * as path from 'path'; -import * as protosTypes from '../../protos/protos'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './image_annotator_client_config.json'; const version = require('../../../package.json').version; @@ -40,14 +39,6 @@ const version = require('../../../package.json').version; * @memberof v1p4beta1 */ export class ImageAnnotatorClient { - private _descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - private _innerApiCalls: {[name: string]: Function}; - private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; private _opts: ClientOptions; private _gaxModule: typeof gax | typeof gax.fallback; @@ -55,6 +46,14 @@ export class ImageAnnotatorClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; imageAnnotatorStub?: Promise<{[name: string]: Function}>; @@ -147,13 +146,16 @@ export class ImageAnnotatorClient { 'protos.json' ); this._protos = this._gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + opts.fallback + ? // eslint-disable-next-line @typescript-eslint/no-var-requires + require('../../protos/protos.json') + : nodejsProtoPath ); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. - this._pathTemplates = { + this.pathTemplates = { productPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}/products/{product}' ), @@ -170,6 +172,7 @@ export class ImageAnnotatorClient { // rather than holding a request open. const protoFilesRoot = opts.fallback ? this._gaxModule.protobuf.Root.fromJSON( + // eslint-disable-next-line @typescript-eslint/no-var-requires require('../../protos/protos.json') ) : this._gaxModule.protobuf.loadSync(nodejsProtoPath); @@ -193,7 +196,7 @@ export class ImageAnnotatorClient { '.google.cloud.vision.v1p4beta1.OperationMetadata' ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { asyncBatchAnnotateImages: new this._gaxModule.LongrunningDescriptor( this.operationsClient, asyncBatchAnnotateImagesResponse.decode.bind( @@ -225,7 +228,7 @@ export class ImageAnnotatorClient { // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. - this._innerApiCalls = {}; + this.innerApiCalls = {}; } /** @@ -252,7 +255,7 @@ export class ImageAnnotatorClient { ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p4beta1.ImageAnnotator' ) - : // tslint:disable-next-line no-any + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p4beta1.ImageAnnotator, this._opts ) as Promise<{[method: string]: Function}>; @@ -265,9 +268,8 @@ export class ImageAnnotatorClient { 'asyncBatchAnnotateImages', 'asyncBatchAnnotateFiles', ]; - for (const methodName of imageAnnotatorStubMethods) { - const innerCallPromise = this.imageAnnotatorStub.then( + const callPromise = this.imageAnnotatorStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -281,20 +283,14 @@ export class ImageAnnotatorClient { ); const apiCall = this._gaxModule.createApiCall( - innerCallPromise, + callPromise, this._defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.stream[methodName] || - this._descriptors.longrunning[methodName] + this.descriptors.page[methodName] || + this.descriptors.stream[methodName] || + this.descriptors.longrunning[methodName] ); - this._innerApiCalls[methodName] = ( - argument: {}, - callOptions?: CallOptions, - callback?: APICallback - ) => { - return apiCall(argument, callOptions, callback); - }; + this.innerApiCalls[methodName] = apiCall; } return this.imageAnnotatorStub; @@ -354,26 +350,37 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, ( - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest | undefined ), {} | undefined ] >; batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + batchAnnotateImages( + request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -390,26 +397,28 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ batchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, ( - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest | undefined ), {} | undefined @@ -425,29 +434,40 @@ export class ImageAnnotatorClient { } options = options || {}; this.initialize(); - return this._innerApiCalls.batchAnnotateImages(request, options, callback); + return this.innerApiCalls.batchAnnotateImages(request, options, callback); } batchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, ( - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest | undefined ), {} | undefined ] >; batchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + batchAnnotateFiles( + request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -471,26 +491,28 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ batchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, ( - | protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest + | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest | undefined ), {} | undefined @@ -506,32 +528,43 @@ export class ImageAnnotatorClient { } options = options || {}; this.initialize(); - return this._innerApiCalls.batchAnnotateFiles(request, options, callback); + return this.innerApiCalls.batchAnnotateFiles(request, options, callback); } asyncBatchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; asyncBatchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + asyncBatchAnnotateImages( + request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -558,32 +591,32 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ asyncBatchAnnotateImages( - request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, + request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -597,35 +630,46 @@ export class ImageAnnotatorClient { } options = options || {}; this.initialize(); - return this._innerApiCalls.asyncBatchAnnotateImages( + return this.innerApiCalls.asyncBatchAnnotateImages( request, options, callback ); } asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + asyncBatchAnnotateFiles( + request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -647,32 +691,32 @@ export class ImageAnnotatorClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ asyncBatchAnnotateFiles( - request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, + request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, - protosTypes.google.cloud.vision.v1p4beta1.IOperationMetadata + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -686,7 +730,7 @@ export class ImageAnnotatorClient { } options = options || {}; this.initialize(); - return this._innerApiCalls.asyncBatchAnnotateFiles( + return this.innerApiCalls.asyncBatchAnnotateFiles( request, options, callback @@ -705,10 +749,10 @@ export class ImageAnnotatorClient { * @returns {string} Resource name string. */ productPath(project: string, location: string, product: string) { - return this._pathTemplates.productPathTemplate.render({ - project, - location, - product, + return this.pathTemplates.productPathTemplate.render({ + project: project, + location: location, + product: product, }); } @@ -720,7 +764,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the project. */ matchProjectFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).project; + return this.pathTemplates.productPathTemplate.match(productName).project; } /** @@ -731,7 +775,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the location. */ matchLocationFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).location; + return this.pathTemplates.productPathTemplate.match(productName).location; } /** @@ -742,7 +786,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the product. */ matchProductFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).product; + return this.pathTemplates.productPathTemplate.match(productName).product; } /** @@ -754,9 +798,9 @@ export class ImageAnnotatorClient { * @returns {string} Resource name string. */ productSetPath(project: string, location: string, productSet: string) { - return this._pathTemplates.productSetPathTemplate.render({ - project, - location, + return this.pathTemplates.productSetPathTemplate.render({ + project: project, + location: location, product_set: productSet, }); } @@ -769,7 +813,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the project. */ matchProjectFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .project; } @@ -781,7 +825,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the location. */ matchLocationFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .location; } @@ -793,7 +837,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the product_set. */ matchProductSetFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .product_set; } @@ -812,10 +856,10 @@ export class ImageAnnotatorClient { product: string, referenceImage: string ) { - return this._pathTemplates.referenceImagePathTemplate.render({ - project, - location, - product, + return this.pathTemplates.referenceImagePathTemplate.render({ + project: project, + location: location, + product: product, reference_image: referenceImage, }); } @@ -828,7 +872,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the project. */ matchProjectFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).project; } @@ -841,7 +885,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the location. */ matchLocationFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).location; } @@ -854,7 +898,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the product. */ matchProductFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).product; } @@ -867,7 +911,7 @@ export class ImageAnnotatorClient { * @returns {string} A string representing the reference_image. */ matchReferenceImageFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).reference_image; } @@ -889,4 +933,5 @@ export class ImageAnnotatorClient { } } import {FeaturesMethod} from '../helpers'; +// eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ImageAnnotatorClient extends FeaturesMethod {} diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index fe612195fc7..89850fbe9c3 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -18,19 +18,19 @@ import * as gax from 'google-gax'; import { - APICallback, Callback, CallOptions, Descriptors, ClientOptions, LROperation, PaginationCallback, - PaginationResponse, + GaxCall, } from 'google-gax'; import * as path from 'path'; import {Transform} from 'stream'; -import * as protosTypes from '../../protos/protos'; +import {RequestType} from 'google-gax/build/src/apitypes'; +import * as protos from '../../protos/protos'; import * as gapicConfig from './product_search_client_config.json'; const version = require('../../../package.json').version; @@ -58,14 +58,6 @@ const version = require('../../../package.json').version; * @memberof v1p4beta1 */ export class ProductSearchClient { - private _descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - private _innerApiCalls: {[name: string]: Function}; - private _pathTemplates: {[name: string]: gax.PathTemplate}; private _terminated = false; private _opts: ClientOptions; private _gaxModule: typeof gax | typeof gax.fallback; @@ -73,6 +65,14 @@ export class ProductSearchClient { private _protos: {}; private _defaults: {[method: string]: gax.CallSettings}; auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; productSearchStub?: Promise<{[name: string]: Function}>; @@ -165,13 +165,16 @@ export class ProductSearchClient { 'protos.json' ); this._protos = this._gaxGrpc.loadProto( - opts.fallback ? require('../../protos/protos.json') : nodejsProtoPath + opts.fallback + ? // eslint-disable-next-line @typescript-eslint/no-var-requires + require('../../protos/protos.json') + : nodejsProtoPath ); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. // Create useful helper objects for these. - this._pathTemplates = { + this.pathTemplates = { locationPathTemplate: new this._gaxModule.PathTemplate( 'projects/{project}/locations/{location}' ), @@ -189,7 +192,7 @@ export class ProductSearchClient { // Some of the methods on this service return "paged" results, // (e.g. 50 results at a time, with tokens to get subsequent // pages). Denote the keys used for pagination and results. - this._descriptors.page = { + this.descriptors.page = { listProductSets: new this._gaxModule.PageDescriptor( 'pageToken', 'nextPageToken', @@ -217,6 +220,7 @@ export class ProductSearchClient { // rather than holding a request open. const protoFilesRoot = opts.fallback ? this._gaxModule.protobuf.Root.fromJSON( + // eslint-disable-next-line @typescript-eslint/no-var-requires require('../../protos/protos.json') ) : this._gaxModule.protobuf.loadSync(nodejsProtoPath); @@ -240,7 +244,7 @@ export class ProductSearchClient { '.google.cloud.vision.v1p4beta1.BatchOperationMetadata' ) as gax.protobuf.Type; - this._descriptors.longrunning = { + this.descriptors.longrunning = { importProductSets: new this._gaxModule.LongrunningDescriptor( this.operationsClient, importProductSetsResponse.decode.bind(importProductSetsResponse), @@ -264,7 +268,7 @@ export class ProductSearchClient { // Set up a dictionary of "inner API calls"; the core implementation // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. - this._innerApiCalls = {}; + this.innerApiCalls = {}; } /** @@ -291,7 +295,7 @@ export class ProductSearchClient { ? (this._protos as protobuf.Root).lookupService( 'google.cloud.vision.v1p4beta1.ProductSearch' ) - : // tslint:disable-next-line no-any + : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p4beta1.ProductSearch, this._opts ) as Promise<{[method: string]: Function}>; @@ -319,9 +323,8 @@ export class ProductSearchClient { 'importProductSets', 'purgeProducts', ]; - for (const methodName of productSearchStubMethods) { - const innerCallPromise = this.productSearchStub.then( + const callPromise = this.productSearchStub.then( stub => (...args: Array<{}>) => { if (this._terminated) { return Promise.reject('The client has already been closed.'); @@ -335,20 +338,14 @@ export class ProductSearchClient { ); const apiCall = this._gaxModule.createApiCall( - innerCallPromise, + callPromise, this._defaults[methodName], - this._descriptors.page[methodName] || - this._descriptors.stream[methodName] || - this._descriptors.longrunning[methodName] + this.descriptors.page[methodName] || + this.descriptors.stream[methodName] || + this.descriptors.longrunning[methodName] ); - this._innerApiCalls[methodName] = ( - argument: {}, - callOptions?: CallOptions, - callback?: APICallback - ) => { - return apiCall(argument, callOptions, callback); - }; + this.innerApiCalls[methodName] = apiCall; } return this.productSearchStub; @@ -408,26 +405,34 @@ export class ProductSearchClient { // -- Service calls -- // ------------------- createProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProductSet, + protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest | undefined, {} | undefined ] >; createProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + createProductSet( + request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -458,28 +463,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ createProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProductSet, + protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest | undefined, {} | undefined ] > | void { @@ -500,29 +504,37 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.createProductSet(request, options, callback); + return this.innerApiCalls.createProductSet(request, options, callback); } getProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProductSet, + protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest | undefined, {} | undefined ] >; getProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + getProductSet( + request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -546,28 +558,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ getProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProductSet, + protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest | undefined, {} | undefined ] > | void { @@ -588,29 +599,37 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.getProductSet(request, options, callback); + return this.innerApiCalls.getProductSet(request, options, callback); } updateProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProductSet, + protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest | undefined, {} | undefined ] >; updateProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + updateProductSet( + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -639,28 +658,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ updateProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + protos.google.cloud.vision.v1p4beta1.IProductSet, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProductSet, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProductSet, + protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest | undefined, {} | undefined ] > | void { @@ -681,29 +699,37 @@ export class ProductSearchClient { 'product_set.name': request.productSet!.name || '', }); this.initialize(); - return this._innerApiCalls.updateProductSet(request, options, callback); + return this.innerApiCalls.updateProductSet(request, options, callback); } deleteProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest | undefined, {} | undefined ] >; deleteProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + deleteProductSet( + request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -726,28 +752,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ deleteProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest | undefined, {} | undefined ] > | void { @@ -768,29 +793,37 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.deleteProductSet(request, options, callback); + return this.innerApiCalls.deleteProductSet(request, options, callback); } createProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest, + request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - ( - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProduct, + protos.google.cloud.vision.v1p4beta1.ICreateProductRequest | undefined, {} | undefined ] >; createProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest, + request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + createProduct( + request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -824,28 +857,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ createProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest, + request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - ( - | protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProduct, + protos.google.cloud.vision.v1p4beta1.ICreateProductRequest | undefined, {} | undefined ] > | void { @@ -866,25 +898,37 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.createProduct(request, options, callback); + return this.innerApiCalls.createProduct(request, options, callback); } getProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest, + request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct, + protos.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, {} | undefined ] >; getProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest, + request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IGetProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getProduct( + request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IGetProductRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -908,24 +952,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ getProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest, + request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - | protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IGetProductRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, - {} | undefined + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IGetProductRequest + | null + | undefined, + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct, + protos.google.cloud.vision.v1p4beta1.IGetProductRequest | undefined, {} | undefined ] > | void { @@ -946,29 +993,37 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.getProduct(request, options, callback); + return this.innerApiCalls.getProduct(request, options, callback); } updateProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProduct, + protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest | undefined, {} | undefined ] >; updateProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + updateProduct( + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1006,28 +1061,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ updateProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest - | undefined - ), + protos.google.cloud.vision.v1p4beta1.IProduct, + protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest | undefined, {} | undefined ] > | void { @@ -1048,29 +1102,37 @@ export class ProductSearchClient { 'product.name': request.product!.name || '', }); this.initialize(); - return this._innerApiCalls.updateProduct(request, options, callback); + return this.innerApiCalls.updateProduct(request, options, callback); } deleteProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest, + request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest | undefined, {} | undefined ] >; deleteProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest, + request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + deleteProduct( + request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1094,28 +1156,27 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ deleteProduct( - request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest, + request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, - ( - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest - | undefined - ), + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest | undefined, {} | undefined ] > | void { @@ -1136,29 +1197,40 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.deleteProduct(request, options, callback); + return this.innerApiCalls.deleteProduct(request, options, callback); } createReferenceImage( - request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + protos.google.cloud.vision.v1p4beta1.IReferenceImage, ( - | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest | undefined ), {} | undefined ] >; createReferenceImage( - request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + createReferenceImage( + request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1205,26 +1277,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ createReferenceImage( - request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + protos.google.cloud.vision.v1p4beta1.IReferenceImage, ( - | protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest | undefined ), {} | undefined @@ -1247,29 +1321,40 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.createReferenceImage(request, options, callback); + return this.innerApiCalls.createReferenceImage(request, options, callback); } deleteReferenceImage( - request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, + request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest | undefined ), {} | undefined ] >; deleteReferenceImage( - request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, + request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + deleteReferenceImage( + request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1296,26 +1381,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ deleteReferenceImage( - request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, + request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest + | protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest | undefined ), {} | undefined @@ -1338,29 +1425,40 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.deleteReferenceImage(request, options, callback); + return this.innerApiCalls.deleteReferenceImage(request, options, callback); } getReferenceImage( - request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + protos.google.cloud.vision.v1p4beta1.IReferenceImage, ( - | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest | undefined ), {} | undefined ] >; getReferenceImage( - request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + getReferenceImage( + request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1385,26 +1483,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ getReferenceImage( - request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, - | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage, + protos.google.cloud.vision.v1p4beta1.IReferenceImage, ( - | protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest | undefined ), {} | undefined @@ -1427,29 +1527,40 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.getReferenceImage(request, options, callback); + return this.innerApiCalls.getReferenceImage(request, options, callback); } addProductToProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest | undefined ), {} | undefined ] >; addProductToProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + addProductToProductSet( + request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1481,26 +1592,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ addProductToProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest + | protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest | undefined ), {} | undefined @@ -1523,33 +1636,44 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.addProductToProductSet( + return this.innerApiCalls.addProductToProductSet( request, options, callback ); } removeProductFromProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest | undefined ), {} | undefined ] >; removeProductFromProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, options: gax.CallOptions, callback: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined + > + ): void; + removeProductFromProductSet( + request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | null + | undefined, + {} | null | undefined > ): void; /** @@ -1575,26 +1699,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ removeProductFromProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, optionsOrCallback?: | gax.CallOptions | Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined >, callback?: Callback< - protosTypes.google.protobuf.IEmpty, - | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + protos.google.protobuf.IEmpty, + | protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | null | undefined, - {} | undefined + {} | null | undefined > ): Promise< [ - protosTypes.google.protobuf.IEmpty, + protos.google.protobuf.IEmpty, ( - | protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest + | protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest | undefined ), {} | undefined @@ -1617,7 +1743,7 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.removeProductFromProductSet( + return this.innerApiCalls.removeProductFromProductSet( request, options, callback @@ -1625,28 +1751,39 @@ export class ProductSearchClient { } importProductSets( - request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, + request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; importProductSets( - request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, + request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + importProductSets( + request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -1677,32 +1814,32 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ importProductSets( - request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, + request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -1723,31 +1860,42 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.importProductSets(request, options, callback); + return this.innerApiCalls.importProductSets(request, options, callback); } purgeProducts( - request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, options?: gax.CallOptions ): Promise< [ LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] >; purgeProducts( - request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, options: gax.CallOptions, callback: Callback< LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + purgeProducts( + request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): void; /** @@ -1797,32 +1945,32 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ purgeProducts( - request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, optionsOrCallback?: | gax.CallOptions | Callback< LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined >, callback?: Callback< LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, - {} | undefined + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined > ): Promise< [ LROperation< - protosTypes.google.protobuf.IEmpty, - protosTypes.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata >, - protosTypes.google.longrunning.IOperation | undefined, + protos.google.longrunning.IOperation | undefined, {} | undefined ] > | void { @@ -1843,25 +1991,37 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.purgeProducts(request, options, callback); + return this.innerApiCalls.purgeProducts(request, options, callback); } listProductSets( - request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + protos.google.cloud.vision.v1p4beta1.IProductSet[], + protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, + protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse ] >; listProductSets( - request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProductSet + > + ): void; + listProductSets( + request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProductSet > ): void; /** @@ -1901,24 +2061,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listProductSets( - request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + | PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProductSet >, - callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProductSet > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProductSet[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsResponse + protos.google.cloud.vision.v1p4beta1.IProductSet[], + protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, + protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse ] > | void { request = request || {}; @@ -1938,7 +2102,7 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.listProductSets(request, options, callback); + return this.innerApiCalls.listProductSets(request, options, callback); } /** @@ -1970,7 +2134,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} on 'data' event. */ listProductSetsStream( - request?: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -1984,29 +2148,84 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listProductSets.createStream( - this._innerApiCalls.listProductSets as gax.GaxCall, + return this.descriptors.page.listProductSets.createStream( + this.innerApiCalls.listProductSets as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listProductSets}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project from which ProductSets should be listed. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listProductSetsAsync( + request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listProductSets.asyncIterate( + this.innerApiCalls['listProductSets'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } listProducts( - request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest, + request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + protos.google.cloud.vision.v1p4beta1.IProduct[], + protos.google.cloud.vision.v1p4beta1.IListProductsRequest | null, + protos.google.cloud.vision.v1p4beta1.IListProductsResponse ] >; listProducts( - request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest, + request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct + > + ): void; + listProducts( + request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct > ): void; /** @@ -2046,24 +2265,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listProducts( - request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest, + request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + | PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct >, - callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsResponse + protos.google.cloud.vision.v1p4beta1.IProduct[], + protos.google.cloud.vision.v1p4beta1.IListProductsRequest | null, + protos.google.cloud.vision.v1p4beta1.IListProductsResponse ] > | void { request = request || {}; @@ -2083,7 +2306,7 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.listProducts(request, options, callback); + return this.innerApiCalls.listProducts(request, options, callback); } /** @@ -2116,7 +2339,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. */ listProductsStream( - request?: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -2130,29 +2353,85 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listProducts.createStream( - this._innerApiCalls.listProducts as gax.GaxCall, + return this.descriptors.page.listProducts.createStream( + this.innerApiCalls.listProducts as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listProducts}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project OR ProductSet from which Products should be listed. + * + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listProductsAsync( + request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listProducts.asyncIterate( + this.innerApiCalls['listProducts'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } listReferenceImages( - request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + protos.google.cloud.vision.v1p4beta1.IReferenceImage[], + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse ] >; listReferenceImages( - request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IReferenceImage + > + ): void; + listReferenceImages( + request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IReferenceImage > ): void; /** @@ -2197,24 +2476,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listReferenceImages( - request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + | PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IReferenceImage >, - callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IReferenceImage > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IReferenceImage[], - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + protos.google.cloud.vision.v1p4beta1.IReferenceImage[], + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse ] > | void { request = request || {}; @@ -2234,7 +2517,7 @@ export class ProductSearchClient { parent: request.parent || '', }); this.initialize(); - return this._innerApiCalls.listReferenceImages(request, options, callback); + return this.innerApiCalls.listReferenceImages(request, options, callback); } /** @@ -2270,7 +2553,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} on 'data' event. */ listReferenceImagesStream( - request?: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -2284,29 +2567,88 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listReferenceImages.createStream( - this._innerApiCalls.listReferenceImages as gax.GaxCall, + return this.descriptors.page.listReferenceImages.createStream( + this.innerApiCalls.listReferenceImages as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listReferenceImages}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the product containing the reference images. + * + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * + * Defaults to the first page if not specified. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listReferenceImagesAsync( + request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + parent: request.parent || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listReferenceImages.asyncIterate( + this.innerApiCalls['listReferenceImages'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } listProductsInProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, options?: gax.CallOptions ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + protos.google.cloud.vision.v1p4beta1.IProduct[], + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse ] >; listProductsInProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, options: gax.CallOptions, - callback: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct + > + ): void; + listProductsInProductSet( + request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct > ): void; /** @@ -2348,24 +2690,28 @@ export class ProductSearchClient { * The promise has a method named "cancel" which cancels the ongoing API call. */ listProductsInProductSet( - request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, optionsOrCallback?: | gax.CallOptions - | Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + | PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct >, - callback?: Callback< - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + callback?: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct > ): Promise< [ - protosTypes.google.cloud.vision.v1p4beta1.IProduct[], - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, - protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + protos.google.cloud.vision.v1p4beta1.IProduct[], + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse ] > | void { request = request || {}; @@ -2385,7 +2731,7 @@ export class ProductSearchClient { name: request.name || '', }); this.initialize(); - return this._innerApiCalls.listProductsInProductSet( + return this.innerApiCalls.listProductsInProductSet( request, options, callback @@ -2422,7 +2768,7 @@ export class ProductSearchClient { * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. */ listProductsInProductSetStream( - request?: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, options?: gax.CallOptions ): Transform { request = request || {}; @@ -2436,12 +2782,56 @@ export class ProductSearchClient { }); const callSettings = new gax.CallSettings(options); this.initialize(); - return this._descriptors.page.listProductsInProductSet.createStream( - this._innerApiCalls.listProductsInProductSet as gax.GaxCall, + return this.descriptors.page.listProductsInProductSet.createStream( + this.innerApiCalls.listProductsInProductSet as gax.GaxCall, request, callSettings ); } + + /** + * Equivalent to {@link listProductsInProductSet}, but returns an iterable object. + * + * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The ProductSet resource for which to retrieve Products. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {number} request.pageSize + * The maximum number of items to return. Default 10, maximum 100. + * @param {string} request.pageToken + * The next_page_token returned from a previous List request, if any. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + */ + listProductsInProductSetAsync( + request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + options?: gax.CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = gax.routingHeader.fromParams({ + name: request.name || '', + }); + options = options || {}; + const callSettings = new gax.CallSettings(options); + this.initialize(); + return this.descriptors.page.listProductsInProductSet.asyncIterate( + this.innerApiCalls['listProductsInProductSet'] as GaxCall, + (request as unknown) as RequestType, + callSettings + ) as AsyncIterable; + } // -------------------- // -- Path templates -- // -------------------- @@ -2454,9 +2844,9 @@ export class ProductSearchClient { * @returns {string} Resource name string. */ locationPath(project: string, location: string) { - return this._pathTemplates.locationPathTemplate.render({ - project, - location, + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, }); } @@ -2468,7 +2858,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromLocationName(locationName: string) { - return this._pathTemplates.locationPathTemplate.match(locationName).project; + return this.pathTemplates.locationPathTemplate.match(locationName).project; } /** @@ -2479,8 +2869,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromLocationName(locationName: string) { - return this._pathTemplates.locationPathTemplate.match(locationName) - .location; + return this.pathTemplates.locationPathTemplate.match(locationName).location; } /** @@ -2492,10 +2881,10 @@ export class ProductSearchClient { * @returns {string} Resource name string. */ productPath(project: string, location: string, product: string) { - return this._pathTemplates.productPathTemplate.render({ - project, - location, - product, + return this.pathTemplates.productPathTemplate.render({ + project: project, + location: location, + product: product, }); } @@ -2507,7 +2896,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).project; + return this.pathTemplates.productPathTemplate.match(productName).project; } /** @@ -2518,7 +2907,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).location; + return this.pathTemplates.productPathTemplate.match(productName).location; } /** @@ -2529,7 +2918,7 @@ export class ProductSearchClient { * @returns {string} A string representing the product. */ matchProductFromProductName(productName: string) { - return this._pathTemplates.productPathTemplate.match(productName).product; + return this.pathTemplates.productPathTemplate.match(productName).product; } /** @@ -2541,9 +2930,9 @@ export class ProductSearchClient { * @returns {string} Resource name string. */ productSetPath(project: string, location: string, productSet: string) { - return this._pathTemplates.productSetPathTemplate.render({ - project, - location, + return this.pathTemplates.productSetPathTemplate.render({ + project: project, + location: location, product_set: productSet, }); } @@ -2556,7 +2945,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .project; } @@ -2568,7 +2957,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .location; } @@ -2580,7 +2969,7 @@ export class ProductSearchClient { * @returns {string} A string representing the product_set. */ matchProductSetFromProductSetName(productSetName: string) { - return this._pathTemplates.productSetPathTemplate.match(productSetName) + return this.pathTemplates.productSetPathTemplate.match(productSetName) .product_set; } @@ -2599,10 +2988,10 @@ export class ProductSearchClient { product: string, referenceImage: string ) { - return this._pathTemplates.referenceImagePathTemplate.render({ - project, - location, - product, + return this.pathTemplates.referenceImagePathTemplate.render({ + project: project, + location: location, + product: product, reference_image: referenceImage, }); } @@ -2615,7 +3004,7 @@ export class ProductSearchClient { * @returns {string} A string representing the project. */ matchProjectFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).project; } @@ -2628,7 +3017,7 @@ export class ProductSearchClient { * @returns {string} A string representing the location. */ matchLocationFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).location; } @@ -2641,7 +3030,7 @@ export class ProductSearchClient { * @returns {string} A string representing the product. */ matchProductFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).product; } @@ -2654,7 +3043,7 @@ export class ProductSearchClient { * @returns {string} A string representing the reference_image. */ matchReferenceImageFromReferenceImageName(referenceImageName: string) { - return this._pathTemplates.referenceImagePathTemplate.match( + return this.pathTemplates.referenceImagePathTemplate.match( referenceImageName ).reference_image; } diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index d21fb950c85..62d3d8ee85f 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,23 +1,5 @@ { - "updateTime": "2020-03-22T12:00:35.095134Z", - "sources": [ - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "0be7105dc52590fa9a24e784052298ae37ce53aa", - "internalRef": "302154871", - "log": "0be7105dc52590fa9a24e784052298ae37ce53aa\nAdd BUILD.bazel file to asset/v1p1beta1\n\nPiperOrigin-RevId: 302154871\n\n6c248fd13e8543f8d22cbf118d978301a9fbe2a8\nAdd missing resource annotations and additional_bindings to dialogflow v2 API.\n\nPiperOrigin-RevId: 302063117\n\n9a3a7f33be9eeacf7b3e98435816b7022d206bd7\nChange the service name from \"chromeos-moblab.googleapis.com\" to \"chromeosmoblab.googleapis.com\"\n\nPiperOrigin-RevId: 302060989\n\n98a339237577e3de26cb4921f75fb5c57cc7a19f\nfeat: devtools/build/v1 publish client library config annotations\n\n* add details field to some of the BuildEvents\n* add final_invocation_id and build_tool_exit_code fields to BuildStatus\n\nPiperOrigin-RevId: 302044087\n\ncfabc98c6bbbb22d1aeaf7612179c0be193b3a13\nfeat: home/graph/v1 publish client library config annotations & comment updates\n\nThis change includes adding the client library configuration annotations, updated proto comments, and some client library configuration files.\n\nPiperOrigin-RevId: 302042647\n\nc8c8c0bd15d082db9546253dbaad1087c7a9782c\nchore: use latest gapic-generator in bazel WORKSPACE.\nincluding the following commits from gapic-generator:\n- feat: take source protos in all sub-packages (#3144)\n\nPiperOrigin-RevId: 301843591\n\ne4daf5202ea31cb2cb6916fdbfa9d6bd771aeb4c\nAdd bazel file for v1 client lib generation\n\nPiperOrigin-RevId: 301802926\n\n275fbcce2c900278d487c33293a3c7e1fbcd3a34\nfeat: pubsub/v1 add an experimental filter field to Subscription\n\nPiperOrigin-RevId: 301661567\n\nf2b18cec51d27c999ad30011dba17f3965677e9c\nFix: UpdateBackupRequest.backup is a resource, not a resource reference - remove annotation.\n\nPiperOrigin-RevId: 301636171\n\n800384063ac93a0cac3a510d41726fa4b2cd4a83\nCloud Billing Budget API v1beta1\nModified api documentation to include warnings about the new filter field.\n\nPiperOrigin-RevId: 301634389\n\n0cc6c146b660db21f04056c3d58a4b752ee445e3\nCloud Billing Budget API v1alpha1\nModified api documentation to include warnings about the new filter field.\n\nPiperOrigin-RevId: 301630018\n\nff2ea00f69065585c3ac0993c8b582af3b6fc215\nFix: Add resource definition for a parent of InspectTemplate which was otherwise missing.\n\nPiperOrigin-RevId: 301623052\n\n55fa441c9daf03173910760191646399338f2b7c\nAdd proto definition for AccessLevel, AccessPolicy, and ServicePerimeter.\n\nPiperOrigin-RevId: 301620844\n\ne7b10591c5408a67cf14ffafa267556f3290e262\nCloud Bigtable Managed Backup service and message proto files.\n\nPiperOrigin-RevId: 301585144\n\nd8e226f702f8ddf92915128c9f4693b63fb8685d\nfeat: Add time-to-live in a queue for builds\n\nPiperOrigin-RevId: 301579876\n\n430375af011f8c7a5174884f0d0e539c6ffa7675\ndocs: add missing closing backtick\n\nPiperOrigin-RevId: 301538851\n\n0e9f1f60ded9ad1c2e725e37719112f5b487ab65\nbazel: Use latest release of gax_java\n\nPiperOrigin-RevId: 301480457\n\n5058c1c96d0ece7f5301a154cf5a07b2ad03a571\nUpdate GAPIC v2 with batching parameters for Logging API\n\nPiperOrigin-RevId: 301443847\n\n64ab9744073de81fec1b3a6a931befc8a90edf90\nFix: Introduce location-based organization/folder/billing-account resources\nChore: Update copyright years\n\nPiperOrigin-RevId: 301373760\n\n23d5f09e670ebb0c1b36214acf78704e2ecfc2ac\nUpdate field_behavior annotations in V1 and V2.\n\nPiperOrigin-RevId: 301337970\n\nb2cf37e7fd62383a811aa4d54d013ecae638851d\nData Catalog V1 API\n\nPiperOrigin-RevId: 301282503\n\n1976b9981e2900c8172b7d34b4220bdb18c5db42\nCloud DLP api update. Adds missing fields to Finding and adds support for hybrid jobs.\n\nPiperOrigin-RevId: 301205325\n\nae78682c05e864d71223ce22532219813b0245ac\nfix: several sample code blocks in comments are now properly indented for markdown\n\nPiperOrigin-RevId: 301185150\n\ndcd171d04bda5b67db13049320f97eca3ace3731\nPublish Media Translation API V1Beta1\n\nPiperOrigin-RevId: 301180096\n\nff1713453b0fbc5a7544a1ef6828c26ad21a370e\nAdd protos and BUILD rules for v1 API.\n\nPiperOrigin-RevId: 301179394\n\n8386761d09819b665b6a6e1e6d6ff884bc8ff781\nfeat: chromeos/modlab publish protos and config for Chrome OS Moblab API.\n\nPiperOrigin-RevId: 300843960\n\nb2e2bc62fab90e6829e62d3d189906d9b79899e4\nUpdates to GCS gRPC API spec:\n\n1. Changed GetIamPolicy and TestBucketIamPermissions to use wrapper messages around google.iam.v1 IAM requests messages, and added CommonRequestParams. This lets us support RequesterPays buckets.\n2. Added a metadata field to GetObjectMediaResponse, to support resuming an object media read safely (by extracting the generation of the object being read, and using it in the resumed read request).\n\nPiperOrigin-RevId: 300817706\n\n7fd916ce12335cc9e784bb9452a8602d00b2516c\nAdd deprecated_collections field for backward-compatiblity in PHP and monolith-generated Python and Ruby clients.\n\nGenerate TopicName class in Java which covers the functionality of both ProjectTopicName and DeletedTopicName. Introduce breaking changes to be fixed by synth.py.\n\nDelete default retry parameters.\n\nRetry codes defs can be deleted once # https://github.com/googleapis/gapic-generator/issues/3137 is fixed.\n\nPiperOrigin-RevId: 300813135\n\n047d3a8ac7f75383855df0166144f891d7af08d9\nfix!: google/rpc refactor ErrorInfo.type to ErrorInfo.reason and comment updates.\n\nPiperOrigin-RevId: 300773211\n\nfae4bb6d5aac52aabe5f0bb4396466c2304ea6f6\nAdding RetryPolicy to pubsub.proto\n\nPiperOrigin-RevId: 300769420\n\n7d569be2928dbd72b4e261bf9e468f23afd2b950\nAdding additional protocol buffer annotations to v3.\n\nPiperOrigin-RevId: 300718800\n\n13942d1a85a337515040a03c5108993087dc0e4f\nAdd logging protos for Recommender v1.\n\nPiperOrigin-RevId: 300689896\n\na1a573c3eecfe2c404892bfa61a32dd0c9fb22b6\nfix: change go package to use cloud.google.com/go/maps\n\nPiperOrigin-RevId: 300661825\n\nc6fbac11afa0c7ab2972d9df181493875c566f77\nfeat: publish documentai/v1beta2 protos\n\nPiperOrigin-RevId: 300656808\n\n5202a9e0d9903f49e900f20fe5c7f4e42dd6588f\nProtos for v1beta1 release of Cloud Security Center Settings API\n\nPiperOrigin-RevId: 300580858\n\n83518e18655d9d4ac044acbda063cc6ecdb63ef8\nAdds gapic.yaml file and BUILD.bazel file.\n\nPiperOrigin-RevId: 300554200\n\n836c196dc8ef8354bbfb5f30696bd3477e8db5e2\nRegenerate recommender v1beta1 gRPC ServiceConfig file for Insights methods.\n\nPiperOrigin-RevId: 300549302\n\n34a5450c591b6be3d6566f25ac31caa5211b2f3f\nIncreases the default timeout from 20s to 30s for MetricService\n\nPiperOrigin-RevId: 300474272\n\n5d8bffe87cd01ba390c32f1714230e5a95d5991d\nfeat: use the latest gapic-generator in WORKSPACE for bazel build.\n\nPiperOrigin-RevId: 300461878\n\nd631c651e3bcfac5d371e8560c27648f7b3e2364\nUpdated the GAPIC configs to include parameters for Backups APIs.\n\nPiperOrigin-RevId: 300443402\n\n678afc7055c1adea9b7b54519f3bdb228013f918\nAdding Game Servers v1beta API.\n\nPiperOrigin-RevId: 300433218\n\n80d2bd2c652a5e213302041b0620aff423132589\nEnable proto annotation and gapic v2 for talent API.\n\nPiperOrigin-RevId: 300393997\n\n85e454be7a353f7fe1bf2b0affb753305785b872\ndocs(google/maps/roads): remove mention of nonexported api\n\nPiperOrigin-RevId: 300367734\n\nbf839ae632e0f263a729569e44be4b38b1c85f9c\nAdding protocol buffer annotations and updated config info for v1 and v2.\n\nPiperOrigin-RevId: 300276913\n\n309b899ca18a4c604bce63882a161d44854da549\nPublish `Backup` APIs and protos.\n\nPiperOrigin-RevId: 300246038\n\neced64c3f122421350b4aca68a28e89121d20db8\nadd PHP client libraries\n\nPiperOrigin-RevId: 300193634\n\n7727af0e39df1ae9ad715895c8576d7b65cf6c6d\nfeat: use the latest gapic-generator and protoc-java-resource-name-plugin in googleapis/WORKSPACE.\n\nPiperOrigin-RevId: 300188410\n\n2a25aa351dd5b5fe14895266aff5824d90ce757b\nBreaking change: remove the ProjectOrTenant resource and its references.\n\nPiperOrigin-RevId: 300182152\n\na499dbb28546379415f51803505cfb6123477e71\nUpdate web risk v1 gapic config and BUILD file.\n\nPiperOrigin-RevId: 300152177\n\n52701da10fec2a5f9796e8d12518c0fe574488fe\nFix: apply appropriate namespace/package options for C#, PHP and Ruby.\n\nPiperOrigin-RevId: 300123508\n\n365c029b8cdb63f7751b92ab490f1976e616105c\nAdd CC targets to the kms protos.\n\nThese are needed by go/tink.\n\nPiperOrigin-RevId: 300038469\n\n4ba9aa8a4a1413b88dca5a8fa931824ee9c284e6\nExpose logo recognition API proto for GA.\n\nPiperOrigin-RevId: 299971671\n\n1c9fc2c9e03dadf15f16b1c4f570955bdcebe00e\nAdding ruby_package option to accessapproval.proto for the Ruby client libraries generation.\n\nPiperOrigin-RevId: 299955924\n\n1cc6f0a7bfb147e6f2ede911d9b01e7a9923b719\nbuild(google/maps/routes): generate api clients\n\nPiperOrigin-RevId: 299955905\n\n29a47c965aac79e3fe8e3314482ca0b5967680f0\nIncrease timeout to 1hr for method `dropRange` in bigtable/admin/v2, which is\nsynced with the timeout setting in gapic_yaml.\n\nPiperOrigin-RevId: 299917154\n\n8f631c4c70a60a9c7da3749511ee4ad432b62898\nbuild(google/maps/roads/v1op): move go to monorepo pattern\n\nPiperOrigin-RevId: 299885195\n\nd66816518844ebbf63504c9e8dfc7133921dd2cd\nbuild(google/maps/roads/v1op): Add bazel build files to generate clients.\n\nPiperOrigin-RevId: 299851148\n\naf7dff701fabe029672168649c62356cf1bb43d0\nAdd LogPlayerReports and LogImpressions to Playable Locations service\n\nPiperOrigin-RevId: 299724050\n\nb6927fca808f38df32a642c560082f5bf6538ced\nUpdate BigQuery Connection API v1beta1 proto: added credential to CloudSqlProperties.\n\nPiperOrigin-RevId: 299503150\n\n91e1fb5ef9829c0c7a64bfa5bde330e6ed594378\nchore: update protobuf (protoc) version to 3.11.2\n\nPiperOrigin-RevId: 299404145\n\n30e36b4bee6749c4799f4fc1a51cc8f058ba167d\nUpdate cloud asset api v1p4beta1.\n\nPiperOrigin-RevId: 299399890\n\nffbb493674099f265693872ae250711b2238090c\nfeat: cloudbuild/v1 add new fields and annotate OUTPUT_OUT fields.\n\nPiperOrigin-RevId: 299397780\n\nbc973a15818e00c19e121959832676e9b7607456\nbazel: Fix broken common dependency\n\nPiperOrigin-RevId: 299397431\n\n71094a343e3b962e744aa49eb9338219537474e4\nchore: bigtable/admin/v2 publish retry config\n\nPiperOrigin-RevId: 299391875\n\n8f488efd7bda33885cb674ddd023b3678c40bd82\nfeat: Migrate logging to GAPIC v2; release new features.\n\nIMPORTANT: This is a breaking change for client libraries\nin all languages.\n\nCommitter: @lukesneeringer, @jskeet\nPiperOrigin-RevId: 299370279\n\n007605bf9ad3a1fd775014ebefbf7f1e6b31ee71\nUpdate API for bigqueryreservation v1beta1.\n- Adds flex capacity commitment plan to CapacityCommitment.\n- Adds methods for getting and updating BiReservations.\n- Adds methods for updating/splitting/merging CapacityCommitments.\n\nPiperOrigin-RevId: 299368059\n\n" - } - }, - { - "git": { - "name": "synthtool", - "remote": "https://github.com/googleapis/synthtool.git", - "sha": "7e98e1609c91082f4eeb63b530c6468aefd18cfd" - } - } - ], + "updateTime": "2020-03-31T20:16:47.942825Z", "destinations": [ { "client": { diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js index b0c1b966eab..2e1ab78148a 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js @@ -16,7 +16,6 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** - /* eslint-disable node/no-missing-require, no-unused-vars */ const vision = require('@google-cloud/vision'); diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts index 2bd299ee3b2..b980f0dc451 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts @@ -19,8 +19,8 @@ import {ImageAnnotatorClient, ProductSearchClient} from '@google-cloud/vision'; function main() { - const imageAnnotatorClient = new ImageAnnotatorClient(); - const productSearchClient = new ProductSearchClient(); + new ImageAnnotatorClient(); + new ProductSearchClient(); } main(); diff --git a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.ts b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.ts index e0f5c1f2c13..a5aae16104d 100644 --- a/packages/google-cloud-vision/system-test/image_annotator_smoke_test.ts +++ b/packages/google-cloud-vision/system-test/image_annotator_smoke_test.ts @@ -16,6 +16,7 @@ import {describe, it} from 'mocha'; describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { + // eslint-disable-next-line @typescript-eslint/no-var-requires const vision = require('../src'); const client = new vision.v1p3beta1.ImageAnnotatorClient({ diff --git a/packages/google-cloud-vision/system-test/vision-v1p2beta1.ts b/packages/google-cloud-vision/system-test/vision-v1p2beta1.ts index 5b98620e090..dd45d21e102 100644 --- a/packages/google-cloud-vision/system-test/vision-v1p2beta1.ts +++ b/packages/google-cloud-vision/system-test/vision-v1p2beta1.ts @@ -16,6 +16,7 @@ import {describe, it} from 'mocha'; describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { + // eslint-disable-next-line @typescript-eslint/no-var-requires const vision = require('../src'); const client = new vision.v1p2beta1.ImageAnnotatorClient({ diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts deleted file mode 100644 index 20b0c4c7c6c..00000000000 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1.ts +++ /dev/null @@ -1,361 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protosTypes from '../protos/protos'; -import * as assert from 'assert'; -import {describe, it} from 'mocha'; -const imageannotatorModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -class FakeError { - name: string; - message: string; - code: number; - constructor(n: number) { - this.name = 'fakeName'; - this.message = 'fake message'; - this.code = n; - } -} -const error = new FakeError(FAKE_STATUS_CODE); -export interface Callback { - (err: FakeError | null, response?: {} | null): void; -} - -export class Operation { - constructor() {} - promise() {} -} -function mockSimpleGrpcMethod( - expectedRequest: {}, - response: {} | null, - error: FakeError | null -) { - return (actualRequest: {}, options: {}, callback: Callback) => { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} -function mockLongRunningGrpcMethod( - expectedRequest: {}, - response: {} | null, - error?: {} | null -) { - return (request: {}) => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} -describe('v1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = imageannotatorModule.v1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method', () => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.close(); - }); - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.batchAnnotateImages(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - client.batchAnnotateImages(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('batchAnnotateFiles', () => { - it('invokes batchAnnotateFiles without error', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.batchAnnotateFiles(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateFiles with error', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IBatchAnnotateFilesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( - request, - null, - error - ); - client.batchAnnotateFiles(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('asyncBatchAnnotateImages', () => { - it('invokes asyncBatchAnnotateImages without error', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .asyncBatchAnnotateImages(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateImages with error', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .asyncBatchAnnotateImages(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - describe('asyncBatchAnnotateFiles', () => { - it('invokes asyncBatchAnnotateFiles without error', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .asyncBatchAnnotateFiles(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateFiles with error', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .asyncBatchAnnotateFiles(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); -}); diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts deleted file mode 100644 index 581da6fda90..00000000000 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p1beta1.ts +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protosTypes from '../protos/protos'; -import * as assert from 'assert'; -import {describe, it} from 'mocha'; -const imageannotatorModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -class FakeError { - name: string; - message: string; - code: number; - constructor(n: number) { - this.name = 'fakeName'; - this.message = 'fake message'; - this.code = n; - } -} -const error = new FakeError(FAKE_STATUS_CODE); -export interface Callback { - (err: FakeError | null, response?: {} | null): void; -} - -export class Operation { - constructor() {} - promise() {} -} -function mockSimpleGrpcMethod( - expectedRequest: {}, - response: {} | null, - error: FakeError | null -) { - return (actualRequest: {}, options: {}, callback: Callback) => { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} -describe('v1p1beta1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1p1beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1p1beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = imageannotatorModule.v1p1beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method', () => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.close(); - }); - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.batchAnnotateImages(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - client.batchAnnotateImages(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); -}); diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts deleted file mode 100644 index 38765a09818..00000000000 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p2beta1.ts +++ /dev/null @@ -1,238 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protosTypes from '../protos/protos'; -import * as assert from 'assert'; -import {describe, it} from 'mocha'; -const imageannotatorModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -class FakeError { - name: string; - message: string; - code: number; - constructor(n: number) { - this.name = 'fakeName'; - this.message = 'fake message'; - this.code = n; - } -} -const error = new FakeError(FAKE_STATUS_CODE); -export interface Callback { - (err: FakeError | null, response?: {} | null): void; -} - -export class Operation { - constructor() {} - promise() {} -} -function mockSimpleGrpcMethod( - expectedRequest: {}, - response: {} | null, - error: FakeError | null -) { - return (actualRequest: {}, options: {}, callback: Callback) => { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} -function mockLongRunningGrpcMethod( - expectedRequest: {}, - response: {} | null, - error?: {} | null -) { - return (request: {}) => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} -describe('v1p2beta1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1p2beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1p2beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = imageannotatorModule.v1p2beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method', () => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.close(); - }); - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.batchAnnotateImages(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - client.batchAnnotateImages(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('asyncBatchAnnotateFiles', () => { - it('invokes asyncBatchAnnotateFiles without error', done => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .asyncBatchAnnotateFiles(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateFiles with error', done => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .asyncBatchAnnotateFiles(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); -}); diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts deleted file mode 100644 index e7bd6dec31a..00000000000 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p3beta1.ts +++ /dev/null @@ -1,238 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protosTypes from '../protos/protos'; -import * as assert from 'assert'; -import {describe, it} from 'mocha'; -const imageannotatorModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -class FakeError { - name: string; - message: string; - code: number; - constructor(n: number) { - this.name = 'fakeName'; - this.message = 'fake message'; - this.code = n; - } -} -const error = new FakeError(FAKE_STATUS_CODE); -export interface Callback { - (err: FakeError | null, response?: {} | null): void; -} - -export class Operation { - constructor() {} - promise() {} -} -function mockSimpleGrpcMethod( - expectedRequest: {}, - response: {} | null, - error: FakeError | null -) { - return (actualRequest: {}, options: {}, callback: Callback) => { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} -function mockLongRunningGrpcMethod( - expectedRequest: {}, - response: {} | null, - error?: {} | null -) { - return (request: {}) => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} -describe('v1p3beta1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1p3beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1p3beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = imageannotatorModule.v1p3beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method', () => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.close(); - }); - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.batchAnnotateImages(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - client.batchAnnotateImages(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('asyncBatchAnnotateFiles', () => { - it('invokes asyncBatchAnnotateFiles without error', done => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .asyncBatchAnnotateFiles(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateFiles with error', done => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .asyncBatchAnnotateFiles(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); -}); diff --git a/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts b/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts deleted file mode 100644 index d759ba83979..00000000000 --- a/packages/google-cloud-vision/test/gapic-image_annotator-v1p4beta1.ts +++ /dev/null @@ -1,353 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protosTypes from '../protos/protos'; -import * as assert from 'assert'; -import {describe, it} from 'mocha'; -const imageannotatorModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -class FakeError { - name: string; - message: string; - code: number; - constructor(n: number) { - this.name = 'fakeName'; - this.message = 'fake message'; - this.code = n; - } -} -const error = new FakeError(FAKE_STATUS_CODE); -export interface Callback { - (err: FakeError | null, response?: {} | null): void; -} - -export class Operation { - constructor() {} - promise() {} -} -function mockSimpleGrpcMethod( - expectedRequest: {}, - response: {} | null, - error: FakeError | null -) { - return (actualRequest: {}, options: {}, callback: Callback) => { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} -function mockLongRunningGrpcMethod( - expectedRequest: {}, - response: {} | null, - error?: {} | null -) { - return (request: {}) => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} -describe('v1p4beta1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1p4beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1p4beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = imageannotatorModule.v1p4beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method', () => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.close(); - }); - describe('batchAnnotateImages', () => { - it('invokes batchAnnotateImages without error', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.batchAnnotateImages(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateImages with error', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateImages = mockSimpleGrpcMethod( - request, - null, - error - ); - client.batchAnnotateImages(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('batchAnnotateFiles', () => { - it('invokes batchAnnotateFiles without error', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.batchAnnotateFiles(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes batchAnnotateFiles with error', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.batchAnnotateFiles = mockSimpleGrpcMethod( - request, - null, - error - ); - client.batchAnnotateFiles(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('asyncBatchAnnotateImages', () => { - it('invokes asyncBatchAnnotateImages without error', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .asyncBatchAnnotateImages(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateImages with error', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateImages = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .asyncBatchAnnotateImages(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - describe('asyncBatchAnnotateFiles', () => { - it('invokes asyncBatchAnnotateFiles without error', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .asyncBatchAnnotateFiles(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes asyncBatchAnnotateFiles with error', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest = {}; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.asyncBatchAnnotateFiles = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .asyncBatchAnnotateFiles(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); -}); diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1.ts deleted file mode 100644 index 2df4049344a..00000000000 --- a/packages/google-cloud-vision/test/gapic-product_search-v1.ts +++ /dev/null @@ -1,1193 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protosTypes from '../protos/protos'; -import * as assert from 'assert'; -import {describe, it} from 'mocha'; -const productsearchModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -class FakeError { - name: string; - message: string; - code: number; - constructor(n: number) { - this.name = 'fakeName'; - this.message = 'fake message'; - this.code = n; - } -} -const error = new FakeError(FAKE_STATUS_CODE); -export interface Callback { - (err: FakeError | null, response?: {} | null): void; -} - -export class Operation { - constructor() {} - promise() {} -} -function mockSimpleGrpcMethod( - expectedRequest: {}, - response: {} | null, - error: FakeError | null -) { - return (actualRequest: {}, options: {}, callback: Callback) => { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} -function mockLongRunningGrpcMethod( - expectedRequest: {}, - response: {} | null, - error?: {} | null -) { - return (request: {}) => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} -describe('v1.ProductSearchClient', () => { - it('has servicePath', () => { - const servicePath = productsearchModule.v1.ProductSearchClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = productsearchModule.v1.ProductSearchClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = productsearchModule.v1.ProductSearchClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new productsearchModule.v1.ProductSearchClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new productsearchModule.v1.ProductSearchClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.productSearchStub, undefined); - await client.initialize(); - assert(client.productSearchStub); - }); - it('has close method', () => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.close(); - }); - describe('createProductSet', () => { - it('invokes createProductSet without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.createProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProductSet with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.ICreateProductSetRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.createProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('getProductSet', () => { - it('invokes getProductSet without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.getProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProductSet with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IGetProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.getProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('updateProductSet', () => { - it('invokes updateProductSet without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest = {}; - request.productSet = {}; - request.productSet.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.updateProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProductSet with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IUpdateProductSetRequest = {}; - request.productSet = {}; - request.productSet.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.updateProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('deleteProductSet', () => { - it('invokes deleteProductSet without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.deleteProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes deleteProductSet with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IDeleteProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.deleteProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('createProduct', () => { - it('invokes createProduct without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.ICreateProductRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.createProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProduct with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.ICreateProductRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.createProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('getProduct', () => { - it('invokes getProduct without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IGetProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.getProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProduct with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IGetProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.getProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('updateProduct', () => { - it('invokes updateProduct without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest = {}; - request.product = {}; - request.product.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.updateProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProduct with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IUpdateProductRequest = {}; - request.product = {}; - request.product.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.updateProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('deleteProduct', () => { - it('invokes deleteProduct without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.deleteProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes deleteProduct with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IDeleteProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.deleteProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('createReferenceImage', () => { - it('invokes createReferenceImage without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.createReferenceImage(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createReferenceImage with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.ICreateReferenceImageRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - client.createReferenceImage(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('deleteReferenceImage', () => { - it('invokes deleteReferenceImage without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.deleteReferenceImage(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes deleteReferenceImage with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IDeleteReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - client.deleteReferenceImage(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('getReferenceImage', () => { - it('invokes getReferenceImage without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.getReferenceImage(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getReferenceImage with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IGetReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - client.getReferenceImage(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('addProductToProductSet', () => { - it('invokes addProductToProductSet without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.addProductToProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes addProductToProductSet with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IAddProductToProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.addProductToProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('removeProductFromProductSet', () => { - it('invokes removeProductFromProductSet without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.removeProductFromProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes removeProductFromProductSet with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IRemoveProductFromProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.removeProductFromProductSet( - request, - (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - } - ); - }); - }); - describe('importProductSets', () => { - it('invokes importProductSets without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .importProductSets(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes importProductSets with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IImportProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .importProductSets(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - describe('purgeProducts', () => { - it('invokes purgeProducts without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .purgeProducts(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes purgeProducts with error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IPurgeProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .purgeProducts(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - describe('listProductSets', () => { - it('invokes listProductSets without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listProductSets(request, (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - }); - describe('listProductSetsStream', () => { - it('invokes listProductSetsStream without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IListProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listProductSetsStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); - describe('listProducts', () => { - it('invokes listProducts without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IListProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listProducts = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listProducts(request, (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - }); - describe('listProductsStream', () => { - it('invokes listProductsStream without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IListProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listProducts = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listProductsStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); - describe('listReferenceImages', () => { - it('invokes listReferenceImages without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listReferenceImages(request, (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - }); - describe('listReferenceImagesStream', () => { - it('invokes listReferenceImagesStream without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IListReferenceImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listReferenceImagesStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); - describe('listProductsInProductSet', () => { - it('invokes listProductsInProductSet without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listProductsInProductSet( - request, - (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - } - ); - }); - }); - describe('listProductsInProductSetStream', () => { - it('invokes listProductsInProductSetStream without error', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1.IListProductsInProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listProductsInProductSetStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); -}); diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts deleted file mode 100644 index 3c6d8b676e6..00000000000 --- a/packages/google-cloud-vision/test/gapic-product_search-v1p3beta1.ts +++ /dev/null @@ -1,1128 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protosTypes from '../protos/protos'; -import * as assert from 'assert'; -import {describe, it} from 'mocha'; -const productsearchModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -class FakeError { - name: string; - message: string; - code: number; - constructor(n: number) { - this.name = 'fakeName'; - this.message = 'fake message'; - this.code = n; - } -} -const error = new FakeError(FAKE_STATUS_CODE); -export interface Callback { - (err: FakeError | null, response?: {} | null): void; -} - -export class Operation { - constructor() {} - promise() {} -} -function mockSimpleGrpcMethod( - expectedRequest: {}, - response: {} | null, - error: FakeError | null -) { - return (actualRequest: {}, options: {}, callback: Callback) => { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} -function mockLongRunningGrpcMethod( - expectedRequest: {}, - response: {} | null, - error?: {} | null -) { - return (request: {}) => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} -describe('v1p3beta1.ProductSearchClient', () => { - it('has servicePath', () => { - const servicePath = - productsearchModule.v1p3beta1.ProductSearchClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - productsearchModule.v1p3beta1.ProductSearchClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = productsearchModule.v1p3beta1.ProductSearchClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.productSearchStub, undefined); - await client.initialize(); - assert(client.productSearchStub); - }); - it('has close method', () => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.close(); - }); - describe('createProductSet', () => { - it('invokes createProductSet without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.createProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProductSet with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductSetRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.createProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('getProductSet', () => { - it('invokes getProductSet without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.getProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProductSet with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.getProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('updateProductSet', () => { - it('invokes updateProductSet without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest = {}; - request.productSet = {}; - request.productSet.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.updateProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProductSet with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest = {}; - request.productSet = {}; - request.productSet.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.updateProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('deleteProductSet', () => { - it('invokes deleteProductSet without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.deleteProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes deleteProductSet with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.deleteProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('createProduct', () => { - it('invokes createProduct without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.createProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProduct with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateProductRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.createProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('getProduct', () => { - it('invokes getProduct without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.getProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProduct with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IGetProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.getProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('updateProduct', () => { - it('invokes updateProduct without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest = {}; - request.product = {}; - request.product.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.updateProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProduct with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IUpdateProductRequest = {}; - request.product = {}; - request.product.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.updateProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('deleteProduct', () => { - it('invokes deleteProduct without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.deleteProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes deleteProduct with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.deleteProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('createReferenceImage', () => { - it('invokes createReferenceImage without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.createReferenceImage(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createReferenceImage with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - client.createReferenceImage(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('deleteReferenceImage', () => { - it('invokes deleteReferenceImage without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.deleteReferenceImage(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes deleteReferenceImage with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - client.deleteReferenceImage(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('getReferenceImage', () => { - it('invokes getReferenceImage without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.getReferenceImage(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getReferenceImage with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - client.getReferenceImage(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('addProductToProductSet', () => { - it('invokes addProductToProductSet without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.addProductToProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes addProductToProductSet with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.addProductToProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('removeProductFromProductSet', () => { - it('invokes removeProductFromProductSet without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.removeProductFromProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes removeProductFromProductSet with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.removeProductFromProductSet( - request, - (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - } - ); - }); - }); - describe('importProductSets', () => { - it('invokes importProductSets without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .importProductSets(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes importProductSets with error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IImportProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .importProductSets(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - describe('listProductSets', () => { - it('invokes listProductSets without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listProductSets(request, (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - }); - describe('listProductSetsStream', () => { - it('invokes listProductSetsStream without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listProductSetsStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); - describe('listProducts', () => { - it('invokes listProducts without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listProducts = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listProducts(request, (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - }); - describe('listProductsStream', () => { - it('invokes listProductsStream without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listProducts = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listProductsStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); - describe('listReferenceImages', () => { - it('invokes listReferenceImages without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listReferenceImages(request, (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - }); - describe('listReferenceImagesStream', () => { - it('invokes listReferenceImagesStream without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listReferenceImagesStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); - describe('listProductsInProductSet', () => { - it('invokes listProductsInProductSet without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listProductsInProductSet( - request, - (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - } - ); - }); - }); - describe('listProductsInProductSetStream', () => { - it('invokes listProductsInProductSetStream without error', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listProductsInProductSetStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); -}); diff --git a/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts b/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts deleted file mode 100644 index b22dd8b48ec..00000000000 --- a/packages/google-cloud-vision/test/gapic-product_search-v1p4beta1.ts +++ /dev/null @@ -1,1195 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protosTypes from '../protos/protos'; -import * as assert from 'assert'; -import {describe, it} from 'mocha'; -const productsearchModule = require('../src'); - -const FAKE_STATUS_CODE = 1; -class FakeError { - name: string; - message: string; - code: number; - constructor(n: number) { - this.name = 'fakeName'; - this.message = 'fake message'; - this.code = n; - } -} -const error = new FakeError(FAKE_STATUS_CODE); -export interface Callback { - (err: FakeError | null, response?: {} | null): void; -} - -export class Operation { - constructor() {} - promise() {} -} -function mockSimpleGrpcMethod( - expectedRequest: {}, - response: {} | null, - error: FakeError | null -) { - return (actualRequest: {}, options: {}, callback: Callback) => { - assert.deepStrictEqual(actualRequest, expectedRequest); - if (error) { - callback(error); - } else if (response) { - callback(null, response); - } else { - callback(null); - } - }; -} -function mockLongRunningGrpcMethod( - expectedRequest: {}, - response: {} | null, - error?: {} | null -) { - return (request: {}) => { - assert.deepStrictEqual(request, expectedRequest); - const mockOperation = { - promise() { - return new Promise((resolve, reject) => { - if (error) { - reject(error); - } else { - resolve([response]); - } - }); - }, - }; - return Promise.resolve([mockOperation]); - }; -} -describe('v1p4beta1.ProductSearchClient', () => { - it('has servicePath', () => { - const servicePath = - productsearchModule.v1p4beta1.ProductSearchClient.servicePath; - assert(servicePath); - }); - it('has apiEndpoint', () => { - const apiEndpoint = - productsearchModule.v1p4beta1.ProductSearchClient.apiEndpoint; - assert(apiEndpoint); - }); - it('has port', () => { - const port = productsearchModule.v1p4beta1.ProductSearchClient.port; - assert(port); - assert(typeof port === 'number'); - }); - it('should create a client with no option', () => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient(); - assert(client); - }); - it('should create a client with gRPC fallback', () => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - fallback: true, - }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.productSearchStub, undefined); - await client.initialize(); - assert(client.productSearchStub); - }); - it('has close method', () => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.close(); - }); - describe('createProductSet', () => { - it('invokes createProductSet without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.createProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProductSet with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductSetRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.createProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('getProductSet', () => { - it('invokes getProductSet without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.getProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProductSet with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.getProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('updateProductSet', () => { - it('invokes updateProductSet without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest = {}; - request.productSet = {}; - request.productSet.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.updateProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProductSet with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest = {}; - request.productSet = {}; - request.productSet.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.updateProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('deleteProductSet', () => { - it('invokes deleteProductSet without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.deleteProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes deleteProductSet with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.deleteProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('createProduct', () => { - it('invokes createProduct without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.createProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createProduct with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateProductRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.createProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('getProduct', () => { - it('invokes getProduct without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.getProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getProduct with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IGetProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.getProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('updateProduct', () => { - it('invokes updateProduct without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest = {}; - request.product = {}; - request.product.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.updateProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes updateProduct with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IUpdateProductRequest = {}; - request.product = {}; - request.product.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.updateProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.updateProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('deleteProduct', () => { - it('invokes deleteProduct without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.deleteProduct(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes deleteProduct with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteProductRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteProduct = mockSimpleGrpcMethod( - request, - null, - error - ); - client.deleteProduct(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('createReferenceImage', () => { - it('invokes createReferenceImage without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.createReferenceImage(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes createReferenceImage with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.createReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - client.createReferenceImage(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('deleteReferenceImage', () => { - it('invokes deleteReferenceImage without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.deleteReferenceImage(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes deleteReferenceImage with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.deleteReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - client.deleteReferenceImage(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('getReferenceImage', () => { - it('invokes getReferenceImage without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.getReferenceImage(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes getReferenceImage with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.getReferenceImage = mockSimpleGrpcMethod( - request, - null, - error - ); - client.getReferenceImage(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('addProductToProductSet', () => { - it('invokes addProductToProductSet without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.addProductToProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes addProductToProductSet with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.addProductToProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.addProductToProductSet(request, (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - }); - }); - }); - describe('removeProductFromProductSet', () => { - it('invokes removeProductFromProductSet without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request, - expectedResponse, - null - ); - client.removeProductFromProductSet(request, (err: {}, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - - it('invokes removeProductFromProductSet with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.removeProductFromProductSet = mockSimpleGrpcMethod( - request, - null, - error - ); - client.removeProductFromProductSet( - request, - (err: FakeError, response: {}) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - assert(typeof response === 'undefined'); - done(); - } - ); - }); - }); - describe('importProductSets', () => { - it('invokes importProductSets without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .importProductSets(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes importProductSets with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IImportProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.importProductSets = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .importProductSets(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - describe('purgeProducts', () => { - it('invokes purgeProducts without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( - request, - expectedResponse - ); - client - .purgeProducts(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then((responses: [Operation]) => { - assert.deepStrictEqual(responses[0], expectedResponse); - done(); - }) - .catch((err: {}) => { - done(err); - }); - }); - - it('invokes purgeProducts with error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IPurgeProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock gRPC layer - client._innerApiCalls.purgeProducts = mockLongRunningGrpcMethod( - request, - null, - error - ); - client - .purgeProducts(request) - .then((responses: [Operation]) => { - const operation = responses[0]; - return operation ? operation.promise() : {}; - }) - .then(() => { - assert.fail(); - }) - .catch((err: FakeError) => { - assert(err instanceof FakeError); - assert.strictEqual(err.code, FAKE_STATUS_CODE); - done(); - }); - }); - }); - describe('listProductSets', () => { - it('invokes listProductSets without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listProductSets(request, (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - }); - describe('listProductSetsStream', () => { - it('invokes listProductSetsStream without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductSetsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listProductSets = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listProductSetsStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); - describe('listProducts', () => { - it('invokes listProducts without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listProducts = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listProducts(request, (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - }); - describe('listProductsStream', () => { - it('invokes listProductsStream without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listProducts = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listProductsStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); - describe('listReferenceImages', () => { - it('invokes listReferenceImages without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listReferenceImages(request, (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - }); - }); - }); - describe('listReferenceImagesStream', () => { - it('invokes listReferenceImagesStream without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest = {}; - request.parent = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listReferenceImages = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listReferenceImagesStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); - describe('listProductsInProductSet', () => { - it('invokes listProductsInProductSet without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {}; - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - client.listProductsInProductSet( - request, - (err: FakeError, response: {}) => { - assert.ifError(err); - assert.deepStrictEqual(response, expectedResponse); - done(); - } - ); - }); - }); - describe('listProductsInProductSetStream', () => { - it('invokes listProductsInProductSetStream without error', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - // Initialize client before mocking - client.initialize(); - // Mock request - const request: protosTypes.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest = {}; - request.name = ''; - // Mock response - const expectedResponse = {response: 'data'}; - // Mock Grpc layer - client._innerApiCalls.listProductsInProductSet = ( - actualRequest: {}, - options: {}, - callback: Callback - ) => { - assert.deepStrictEqual(actualRequest, request); - callback(null, expectedResponse); - }; - const stream = client - .listProductsInProductSetStream(request, {}) - .on('data', (response: {}) => { - assert.deepStrictEqual(response, expectedResponse); - done(); - }) - .on('error', (err: FakeError) => { - done(err); - }); - stream.write(expectedResponse); - }); - }); -}); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts new file mode 100644 index 00000000000..efef61e331b --- /dev/null +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -0,0 +1,925 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as imageannotatorModule from '../src'; + +import {protobuf, LROperation} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message).toObject( + instance as protobuf.Message, + {defaults: true} + ); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +describe('v1.ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = imageannotatorModule.v1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + + it('has close method', () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + expectedResponse + ); + const [response] = await client.batchAnnotateImages(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes batchAnnotateImages without error using callback', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.batchAnnotateImages( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes batchAnnotateImages with error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.batchAnnotateImages(request); + }, expectedError); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('batchAnnotateFiles', () => { + it('invokes batchAnnotateFiles without error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateFilesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateFilesResponse() + ); + client.innerApiCalls.batchAnnotateFiles = stubSimpleCall( + expectedResponse + ); + const [response] = await client.batchAnnotateFiles(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes batchAnnotateFiles without error using callback', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateFilesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateFilesResponse() + ); + client.innerApiCalls.batchAnnotateFiles = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.batchAnnotateFiles( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes batchAnnotateFiles with error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateFilesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.batchAnnotateFiles = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.batchAnnotateFiles(request); + }, expectedError); + assert( + (client.innerApiCalls.batchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('asyncBatchAnnotateImages', () => { + it('invokes asyncBatchAnnotateImages without error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.asyncBatchAnnotateImages(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateImages without error using callback', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.asyncBatchAnnotateImages( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes asyncBatchAnnotateImages with call error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.asyncBatchAnnotateImages(request); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateImages with LRO error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.asyncBatchAnnotateImages(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('asyncBatchAnnotateFiles', () => { + it('invokes asyncBatchAnnotateFiles without error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.asyncBatchAnnotateFiles(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateFiles without error using callback', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.asyncBatchAnnotateFiles( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes asyncBatchAnnotateFiles with call error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.asyncBatchAnnotateFiles(request); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateFiles with LRO error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.asyncBatchAnnotateFiles(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('Path templates', () => { + describe('product', () => { + const fakePath = '/rendered/path/product'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + }; + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productPath', () => { + const result = client.productPath( + 'projectValue', + 'locationValue', + 'productValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductName', () => { + const result = client.matchProjectFromProductName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductName', () => { + const result = client.matchLocationFromProductName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromProductName', () => { + const result = client.matchProductFromProductName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('productSet', () => { + const fakePath = '/rendered/path/productSet'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product_set: 'productSetValue', + }; + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productSetPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productSetPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productSetPath', () => { + const result = client.productSetPath( + 'projectValue', + 'locationValue', + 'productSetValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productSetPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductSetName', () => { + const result = client.matchProjectFromProductSetName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductSetName', () => { + const result = client.matchLocationFromProductSetName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductSetFromProductSetName', () => { + const result = client.matchProductSetFromProductSetName(fakePath); + assert.strictEqual(result, 'productSetValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('referenceImage', () => { + const fakePath = '/rendered/path/referenceImage'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + reference_image: 'referenceImageValue', + }; + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.referenceImagePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.referenceImagePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('referenceImagePath', () => { + const result = client.referenceImagePath( + 'projectValue', + 'locationValue', + 'productValue', + 'referenceImageValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.referenceImagePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromReferenceImageName', () => { + const result = client.matchProjectFromReferenceImageName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromReferenceImageName', () => { + const result = client.matchLocationFromReferenceImageName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromReferenceImageName', () => { + const result = client.matchProductFromReferenceImageName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchReferenceImageFromReferenceImageName', () => { + const result = client.matchReferenceImageFromReferenceImageName( + fakePath + ); + assert.strictEqual(result, 'referenceImageValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts new file mode 100644 index 00000000000..4e771dc3cf4 --- /dev/null +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -0,0 +1,227 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as imageannotatorModule from '../src'; + +import {protobuf} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message).toObject( + instance as protobuf.Message, + {defaults: true} + ); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +describe('v1p1beta1.ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p1beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p1beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = imageannotatorModule.v1p1beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + + it('has close method', () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', async () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + expectedResponse + ); + const [response] = await client.batchAnnotateImages(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes batchAnnotateImages without error using callback', async () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.batchAnnotateImages( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes batchAnnotateImages with error', async () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.batchAnnotateImages(request); + }, expectedError); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts new file mode 100644 index 00000000000..071e165982c --- /dev/null +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -0,0 +1,386 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as imageannotatorModule from '../src'; + +import {protobuf, LROperation} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message).toObject( + instance as protobuf.Message, + {defaults: true} + ); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +describe('v1p2beta1.ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p2beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p2beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = imageannotatorModule.v1p2beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + + it('has close method', () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + expectedResponse + ); + const [response] = await client.batchAnnotateImages(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes batchAnnotateImages without error using callback', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.batchAnnotateImages( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes batchAnnotateImages with error', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.batchAnnotateImages(request); + }, expectedError); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('asyncBatchAnnotateFiles', () => { + it('invokes asyncBatchAnnotateFiles without error', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.asyncBatchAnnotateFiles(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateFiles without error using callback', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.asyncBatchAnnotateFiles( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes asyncBatchAnnotateFiles with call error', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.asyncBatchAnnotateFiles(request); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateFiles with LRO error', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.asyncBatchAnnotateFiles(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts new file mode 100644 index 00000000000..19df46dfead --- /dev/null +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -0,0 +1,594 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as imageannotatorModule from '../src'; + +import {protobuf, LROperation} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message).toObject( + instance as protobuf.Message, + {defaults: true} + ); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +describe('v1p3beta1.ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p3beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p3beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = imageannotatorModule.v1p3beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + + it('has close method', () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + expectedResponse + ); + const [response] = await client.batchAnnotateImages(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes batchAnnotateImages without error using callback', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.batchAnnotateImages( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes batchAnnotateImages with error', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.batchAnnotateImages(request); + }, expectedError); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('asyncBatchAnnotateFiles', () => { + it('invokes asyncBatchAnnotateFiles without error', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.asyncBatchAnnotateFiles(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateFiles without error using callback', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.asyncBatchAnnotateFiles( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes asyncBatchAnnotateFiles with call error', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.asyncBatchAnnotateFiles(request); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateFiles with LRO error', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.asyncBatchAnnotateFiles(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('Path templates', () => { + describe('product', () => { + const fakePath = '/rendered/path/product'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + }; + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productPath', () => { + const result = client.productPath( + 'projectValue', + 'locationValue', + 'productValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductName', () => { + const result = client.matchProjectFromProductName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductName', () => { + const result = client.matchLocationFromProductName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromProductName', () => { + const result = client.matchProductFromProductName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('productSet', () => { + const fakePath = '/rendered/path/productSet'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product_set: 'productSetValue', + }; + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productSetPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productSetPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productSetPath', () => { + const result = client.productSetPath( + 'projectValue', + 'locationValue', + 'productSetValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productSetPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductSetName', () => { + const result = client.matchProjectFromProductSetName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductSetName', () => { + const result = client.matchLocationFromProductSetName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductSetFromProductSetName', () => { + const result = client.matchProductSetFromProductSetName(fakePath); + assert.strictEqual(result, 'productSetValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('referenceImage', () => { + const fakePath = '/rendered/path/referenceImage'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + reference_image: 'referenceImageValue', + }; + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.referenceImagePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.referenceImagePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('referenceImagePath', () => { + const result = client.referenceImagePath( + 'projectValue', + 'locationValue', + 'productValue', + 'referenceImageValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.referenceImagePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromReferenceImageName', () => { + const result = client.matchProjectFromReferenceImageName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromReferenceImageName', () => { + const result = client.matchLocationFromReferenceImageName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromReferenceImageName', () => { + const result = client.matchProductFromReferenceImageName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchReferenceImageFromReferenceImageName', () => { + const result = client.matchReferenceImageFromReferenceImageName( + fakePath + ); + assert.strictEqual(result, 'referenceImageValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts new file mode 100644 index 00000000000..f581827d8aa --- /dev/null +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -0,0 +1,813 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as imageannotatorModule from '../src'; + +import {protobuf, LROperation} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message).toObject( + instance as protobuf.Message, + {defaults: true} + ); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +describe('v1p4beta1.ImageAnnotatorClient', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p4beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p4beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = imageannotatorModule.v1p4beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); + }); + + it('has close method', () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('batchAnnotateImages', () => { + it('invokes batchAnnotateImages without error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + expectedResponse + ); + const [response] = await client.batchAnnotateImages(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes batchAnnotateImages without error using callback', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse() + ); + client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.batchAnnotateImages( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes batchAnnotateImages with error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.batchAnnotateImages = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.batchAnnotateImages(request); + }, expectedError); + assert( + (client.innerApiCalls.batchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('batchAnnotateFiles', () => { + it('invokes batchAnnotateFiles without error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse() + ); + client.innerApiCalls.batchAnnotateFiles = stubSimpleCall( + expectedResponse + ); + const [response] = await client.batchAnnotateFiles(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes batchAnnotateFiles without error using callback', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse() + ); + client.innerApiCalls.batchAnnotateFiles = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.batchAnnotateFiles( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.batchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes batchAnnotateFiles with error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.batchAnnotateFiles = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.batchAnnotateFiles(request); + }, expectedError); + assert( + (client.innerApiCalls.batchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('asyncBatchAnnotateImages', () => { + it('invokes asyncBatchAnnotateImages without error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.asyncBatchAnnotateImages(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateImages without error using callback', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.asyncBatchAnnotateImages( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes asyncBatchAnnotateImages with call error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.asyncBatchAnnotateImages(request); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateImages with LRO error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.asyncBatchAnnotateImages(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('asyncBatchAnnotateFiles', () => { + it('invokes asyncBatchAnnotateFiles without error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.asyncBatchAnnotateFiles(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateFiles without error using callback', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.asyncBatchAnnotateFiles( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes asyncBatchAnnotateFiles with call error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.asyncBatchAnnotateFiles(request); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes asyncBatchAnnotateFiles with LRO error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() + ); + const expectedOptions = {}; + const expectedError = new Error('expected'); + client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.asyncBatchAnnotateFiles(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('Path templates', () => { + describe('product', () => { + const fakePath = '/rendered/path/product'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + }; + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productPath', () => { + const result = client.productPath( + 'projectValue', + 'locationValue', + 'productValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductName', () => { + const result = client.matchProjectFromProductName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductName', () => { + const result = client.matchLocationFromProductName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromProductName', () => { + const result = client.matchProductFromProductName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('productSet', () => { + const fakePath = '/rendered/path/productSet'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product_set: 'productSetValue', + }; + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productSetPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productSetPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productSetPath', () => { + const result = client.productSetPath( + 'projectValue', + 'locationValue', + 'productSetValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productSetPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductSetName', () => { + const result = client.matchProjectFromProductSetName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductSetName', () => { + const result = client.matchLocationFromProductSetName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductSetFromProductSetName', () => { + const result = client.matchProductSetFromProductSetName(fakePath); + assert.strictEqual(result, 'productSetValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('referenceImage', () => { + const fakePath = '/rendered/path/referenceImage'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + reference_image: 'referenceImageValue', + }; + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.referenceImagePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.referenceImagePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('referenceImagePath', () => { + const result = client.referenceImagePath( + 'projectValue', + 'locationValue', + 'productValue', + 'referenceImageValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.referenceImagePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromReferenceImageName', () => { + const result = client.matchProjectFromReferenceImageName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromReferenceImageName', () => { + const result = client.matchLocationFromReferenceImageName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromReferenceImageName', () => { + const result = client.matchProductFromReferenceImageName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchReferenceImageFromReferenceImageName', () => { + const result = client.matchReferenceImageFromReferenceImageName( + fakePath + ); + assert.strictEqual(result, 'referenceImageValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts new file mode 100644 index 00000000000..e431c4144c6 --- /dev/null +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -0,0 +1,3493 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as productsearchModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf, LROperation} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message).toObject( + instance as protobuf.Message, + {defaults: true} + ); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); + } + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1.ProductSearchClient', () => { + it('has servicePath', () => { + const servicePath = productsearchModule.v1.ProductSearchClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = productsearchModule.v1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = productsearchModule.v1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new productsearchModule.v1.ProductSearchClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new productsearchModule.v1.ProductSearchClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + await client.initialize(); + assert(client.productSearchStub); + }); + + it('has close method', () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('createProductSet', () => { + it('invokes createProductSet without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ProductSet() + ); + client.innerApiCalls.createProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.createProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createProductSet without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ProductSet() + ); + client.innerApiCalls.createProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.createProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IProductSet | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createProductSet with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.createProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.createProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getProductSet', () => { + it('invokes getProductSet without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ProductSet() + ); + client.innerApiCalls.getProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.getProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getProductSet without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ProductSet() + ); + client.innerApiCalls.getProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.getProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IProductSet | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getProductSet with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.getProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.getProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('updateProductSet', () => { + it('invokes updateProductSet without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ProductSet() + ); + client.innerApiCalls.updateProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.updateProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes updateProductSet without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ProductSet() + ); + client.innerApiCalls.updateProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.updateProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IProductSet | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes updateProductSet with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.updateProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.updateProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.deleteProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteProductSet without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.deleteProductSet( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteProductSet with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.deleteProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.deleteProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('createProduct', () => { + it('invokes createProduct without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.Product() + ); + client.innerApiCalls.createProduct = stubSimpleCall(expectedResponse); + const [response] = await client.createProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createProduct without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.Product() + ); + client.innerApiCalls.createProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.createProduct( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IProduct | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createProduct with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.createProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.createProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getProduct', () => { + it('invokes getProduct without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.Product() + ); + client.innerApiCalls.getProduct = stubSimpleCall(expectedResponse); + const [response] = await client.getProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getProduct without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.Product() + ); + client.innerApiCalls.getProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.getProduct( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IProduct | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getProduct with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.getProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.getProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('updateProduct', () => { + it('invokes updateProduct without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.Product() + ); + client.innerApiCalls.updateProduct = stubSimpleCall(expectedResponse); + const [response] = await client.updateProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes updateProduct without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.Product() + ); + client.innerApiCalls.updateProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.updateProduct( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IProduct | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes updateProduct with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.updateProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.updateProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('deleteProduct', () => { + it('invokes deleteProduct without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProduct = stubSimpleCall(expectedResponse); + const [response] = await client.deleteProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteProduct without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.deleteProduct( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteProduct with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.deleteProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.deleteProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ); + client.innerApiCalls.createReferenceImage = stubSimpleCall( + expectedResponse + ); + const [response] = await client.createReferenceImage(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createReferenceImage without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ); + client.innerApiCalls.createReferenceImage = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.createReferenceImage( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IReferenceImage | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createReferenceImage with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createReferenceImage = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.createReferenceImage(request); + }, expectedError); + assert( + (client.innerApiCalls.createReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteReferenceImage = stubSimpleCall( + expectedResponse + ); + const [response] = await client.deleteReferenceImage(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteReferenceImage without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteReferenceImage = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.deleteReferenceImage( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteReferenceImage with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteReferenceImage = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.deleteReferenceImage(request); + }, expectedError); + assert( + (client.innerApiCalls.deleteReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ); + client.innerApiCalls.getReferenceImage = stubSimpleCall(expectedResponse); + const [response] = await client.getReferenceImage(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getReferenceImage without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ); + client.innerApiCalls.getReferenceImage = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.getReferenceImage( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IReferenceImage | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getReferenceImage with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getReferenceImage = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.getReferenceImage(request); + }, expectedError); + assert( + (client.innerApiCalls.getReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('addProductToProductSet', () => { + it('invokes addProductToProductSet without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.addProductToProductSet = stubSimpleCall( + expectedResponse + ); + const [response] = await client.addProductToProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.addProductToProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes addProductToProductSet without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.addProductToProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.addProductToProductSet( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.addProductToProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes addProductToProductSet with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.addProductToProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.addProductToProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.addProductToProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('removeProductFromProductSet', () => { + it('invokes removeProductFromProductSet without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( + expectedResponse + ); + const [response] = await client.removeProductFromProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.removeProductFromProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes removeProductFromProductSet without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.removeProductFromProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.removeProductFromProductSet( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.removeProductFromProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes removeProductFromProductSet with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.removeProductFromProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.removeProductFromProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('importProductSets', () => { + it('invokes importProductSets without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importProductSets = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.importProductSets(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes importProductSets without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importProductSets = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.importProductSets( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.vision.v1.IImportProductSetsResponse, + protos.google.cloud.vision.v1.IBatchOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.vision.v1.IImportProductSetsResponse, + protos.google.cloud.vision.v1.IBatchOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes importProductSets with call error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.importProductSets = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.importProductSets(request); + }, expectedError); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes importProductSets with LRO error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.importProductSets = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.importProductSets(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('purgeProducts', () => { + it('invokes purgeProducts without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.PurgeProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.purgeProducts = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.purgeProducts(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.purgeProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes purgeProducts without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.PurgeProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.purgeProducts = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.purgeProducts( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.purgeProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes purgeProducts with call error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.PurgeProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.purgeProducts = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.purgeProducts(request); + }, expectedError); + assert( + (client.innerApiCalls.purgeProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes purgeProducts with LRO error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.PurgeProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.purgeProducts = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.purgeProducts(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.purgeProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('listProductSets', () => { + it('invokes listProductSets without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + ]; + client.innerApiCalls.listProductSets = stubSimpleCall(expectedResponse); + const [response] = await client.listProductSets(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductSets without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + ]; + client.innerApiCalls.listProductSets = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listProductSets( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IProductSet[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listProductSets with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listProductSets = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listProductSets(request); + }, expectedError); + assert( + (client.innerApiCalls.listProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductSetsStream without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + ]; + client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listProductSetsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1.ProductSet[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1.ProductSet) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductSets, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listProductSetsStream with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listProductSetsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1.ProductSet[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1.ProductSet) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductSets, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductSets without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), + ]; + client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1.IProductSet[] = []; + const iterable = client.listProductSetsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductSets with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listProductSetsAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1.IProductSet[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('listProducts', () => { + it('invokes listProducts without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + ]; + client.innerApiCalls.listProducts = stubSimpleCall(expectedResponse); + const [response] = await client.listProducts(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProducts without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + ]; + client.innerApiCalls.listProducts = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listProducts( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IProduct[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listProducts with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listProducts = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listProducts(request); + }, expectedError); + assert( + (client.innerApiCalls.listProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductsStream without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + ]; + client.descriptors.page.listProducts.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1.Product[] = []; + stream.on('data', (response: protos.google.cloud.vision.v1.Product) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProducts, request) + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listProductsStream with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProducts.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1.Product[] = []; + stream.on('data', (response: protos.google.cloud.vision.v1.Product) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProducts, request) + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProducts without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + ]; + client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1.IProduct[] = []; + const iterable = client.listProductsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProducts with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listProductsAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1.IProduct[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + ]; + client.innerApiCalls.listReferenceImages = stubSimpleCall( + expectedResponse + ); + const [response] = await client.listReferenceImages(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listReferenceImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listReferenceImages without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + ]; + client.innerApiCalls.listReferenceImages = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listReferenceImages( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IReferenceImage[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listReferenceImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listReferenceImages with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listReferenceImages = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listReferenceImages(request); + }, expectedError); + assert( + (client.innerApiCalls.listReferenceImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listReferenceImagesStream without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + ]; + client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listReferenceImagesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1.ReferenceImage[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1.ReferenceImage) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listReferenceImages, request) + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listReferenceImagesStream with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listReferenceImagesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1.ReferenceImage[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1.ReferenceImage) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listReferenceImages, request) + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listReferenceImages without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1.ReferenceImage() + ), + ]; + client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1.IReferenceImage[] = []; + const iterable = client.listReferenceImagesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listReferenceImages with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listReferenceImagesAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1.IReferenceImage[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('listProductsInProductSet', () => { + it('invokes listProductsInProductSet without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + ]; + client.innerApiCalls.listProductsInProductSet = stubSimpleCall( + expectedResponse + ); + const [response] = await client.listProductsInProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductsInProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductsInProductSet without error using callback', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + ]; + client.innerApiCalls.listProductsInProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listProductsInProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1.IProduct[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductsInProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listProductsInProductSet with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listProductsInProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listProductsInProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.listProductsInProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductsInProductSetStream without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + ]; + client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listProductsInProductSetStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1.Product[] = []; + stream.on('data', (response: protos.google.cloud.vision.v1.Product) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductsInProductSet, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listProductsInProductSetStream with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listProductsInProductSetStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1.Product[] = []; + stream.on('data', (response: protos.google.cloud.vision.v1.Product) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductsInProductSet, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductsInProductSet without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + generateSampleMessage(new protos.google.cloud.vision.v1.Product()), + ]; + client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1.IProduct[] = []; + const iterable = client.listProductsInProductSetAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductsInProductSet with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listProductsInProductSetAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1.IProduct[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('Path templates', () => { + describe('location', () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('product', () => { + const fakePath = '/rendered/path/product'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + }; + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productPath', () => { + const result = client.productPath( + 'projectValue', + 'locationValue', + 'productValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductName', () => { + const result = client.matchProjectFromProductName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductName', () => { + const result = client.matchLocationFromProductName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromProductName', () => { + const result = client.matchProductFromProductName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('productSet', () => { + const fakePath = '/rendered/path/productSet'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product_set: 'productSetValue', + }; + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productSetPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productSetPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productSetPath', () => { + const result = client.productSetPath( + 'projectValue', + 'locationValue', + 'productSetValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productSetPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductSetName', () => { + const result = client.matchProjectFromProductSetName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductSetName', () => { + const result = client.matchLocationFromProductSetName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductSetFromProductSetName', () => { + const result = client.matchProductSetFromProductSetName(fakePath); + assert.strictEqual(result, 'productSetValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('referenceImage', () => { + const fakePath = '/rendered/path/referenceImage'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + reference_image: 'referenceImageValue', + }; + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.referenceImagePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.referenceImagePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('referenceImagePath', () => { + const result = client.referenceImagePath( + 'projectValue', + 'locationValue', + 'productValue', + 'referenceImageValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.referenceImagePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromReferenceImageName', () => { + const result = client.matchProjectFromReferenceImageName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromReferenceImageName', () => { + const result = client.matchLocationFromReferenceImageName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromReferenceImageName', () => { + const result = client.matchProductFromReferenceImageName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchReferenceImageFromReferenceImageName', () => { + const result = client.matchReferenceImageFromReferenceImageName( + fakePath + ); + assert.strictEqual(result, 'referenceImageValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts new file mode 100644 index 00000000000..ef12b4d35bd --- /dev/null +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -0,0 +1,3422 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as productsearchModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf, LROperation} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message).toObject( + instance as protobuf.Message, + {defaults: true} + ); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); + } + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1p3beta1.ProductSearchClient', () => { + it('has servicePath', () => { + const servicePath = + productsearchModule.v1p3beta1.ProductSearchClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + productsearchModule.v1p3beta1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = productsearchModule.v1p3beta1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + await client.initialize(); + assert(client.productSearchStub); + }); + + it('has close method', () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('createProductSet', () => { + it('invokes createProductSet without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ); + client.innerApiCalls.createProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.createProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createProductSet without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ); + client.innerApiCalls.createProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.createProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IProductSet | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createProductSet with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.createProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.createProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getProductSet', () => { + it('invokes getProductSet without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ); + client.innerApiCalls.getProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.getProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getProductSet without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ); + client.innerApiCalls.getProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.getProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IProductSet | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getProductSet with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.getProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.getProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('updateProductSet', () => { + it('invokes updateProductSet without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ); + client.innerApiCalls.updateProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.updateProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes updateProductSet without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ); + client.innerApiCalls.updateProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.updateProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IProductSet | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes updateProductSet with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.updateProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.updateProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.deleteProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteProductSet without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.deleteProductSet( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteProductSet with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.deleteProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.deleteProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('createProduct', () => { + it('invokes createProduct without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ); + client.innerApiCalls.createProduct = stubSimpleCall(expectedResponse); + const [response] = await client.createProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createProduct without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ); + client.innerApiCalls.createProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.createProduct( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IProduct | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createProduct with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.createProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.createProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getProduct', () => { + it('invokes getProduct without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ); + client.innerApiCalls.getProduct = stubSimpleCall(expectedResponse); + const [response] = await client.getProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getProduct without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ); + client.innerApiCalls.getProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.getProduct( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IProduct | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getProduct with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.getProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.getProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('updateProduct', () => { + it('invokes updateProduct without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ); + client.innerApiCalls.updateProduct = stubSimpleCall(expectedResponse); + const [response] = await client.updateProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes updateProduct without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ); + client.innerApiCalls.updateProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.updateProduct( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IProduct | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes updateProduct with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.updateProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.updateProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('deleteProduct', () => { + it('invokes deleteProduct without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProduct = stubSimpleCall(expectedResponse); + const [response] = await client.deleteProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteProduct without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.deleteProduct( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteProduct with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.deleteProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.deleteProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ); + client.innerApiCalls.createReferenceImage = stubSimpleCall( + expectedResponse + ); + const [response] = await client.createReferenceImage(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createReferenceImage without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ); + client.innerApiCalls.createReferenceImage = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.createReferenceImage( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IReferenceImage | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createReferenceImage with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createReferenceImage = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.createReferenceImage(request); + }, expectedError); + assert( + (client.innerApiCalls.createReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteReferenceImage = stubSimpleCall( + expectedResponse + ); + const [response] = await client.deleteReferenceImage(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteReferenceImage without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteReferenceImage = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.deleteReferenceImage( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteReferenceImage with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteReferenceImage = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.deleteReferenceImage(request); + }, expectedError); + assert( + (client.innerApiCalls.deleteReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ); + client.innerApiCalls.getReferenceImage = stubSimpleCall(expectedResponse); + const [response] = await client.getReferenceImage(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getReferenceImage without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ); + client.innerApiCalls.getReferenceImage = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.getReferenceImage( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IReferenceImage | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getReferenceImage with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getReferenceImage = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.getReferenceImage(request); + }, expectedError); + assert( + (client.innerApiCalls.getReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('addProductToProductSet', () => { + it('invokes addProductToProductSet without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.addProductToProductSet = stubSimpleCall( + expectedResponse + ); + const [response] = await client.addProductToProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.addProductToProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes addProductToProductSet without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.addProductToProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.addProductToProductSet( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.addProductToProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes addProductToProductSet with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.addProductToProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.addProductToProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.addProductToProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('removeProductFromProductSet', () => { + it('invokes removeProductFromProductSet without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( + expectedResponse + ); + const [response] = await client.removeProductFromProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.removeProductFromProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes removeProductFromProductSet without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.removeProductFromProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.removeProductFromProductSet( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.removeProductFromProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes removeProductFromProductSet with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.removeProductFromProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.removeProductFromProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('importProductSets', () => { + it('invokes importProductSets without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importProductSets = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.importProductSets(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes importProductSets without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importProductSets = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.importProductSets( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.IBatchOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes importProductSets with call error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.importProductSets = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.importProductSets(request); + }, expectedError); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes importProductSets with LRO error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.importProductSets = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.importProductSets(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('listProductSets', () => { + it('invokes listProductSets without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + ]; + client.innerApiCalls.listProductSets = stubSimpleCall(expectedResponse); + const [response] = await client.listProductSets(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductSets without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + ]; + client.innerApiCalls.listProductSets = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listProductSets( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IProductSet[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listProductSets with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listProductSets = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listProductSets(request); + }, expectedError); + assert( + (client.innerApiCalls.listProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductSetsStream without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + ]; + client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listProductSetsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p3beta1.ProductSet[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p3beta1.ProductSet) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductSets, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listProductSetsStream with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listProductSetsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p3beta1.ProductSet[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p3beta1.ProductSet) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductSets, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductSets without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ProductSet() + ), + ]; + client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1p3beta1.IProductSet[] = []; + const iterable = client.listProductSetsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductSets with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listProductSetsAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1p3beta1.IProductSet[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('listProducts', () => { + it('invokes listProducts without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + ]; + client.innerApiCalls.listProducts = stubSimpleCall(expectedResponse); + const [response] = await client.listProducts(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProducts without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + ]; + client.innerApiCalls.listProducts = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listProducts( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IProduct[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listProducts with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listProducts = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listProducts(request); + }, expectedError); + assert( + (client.innerApiCalls.listProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductsStream without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + ]; + client.descriptors.page.listProducts.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p3beta1.Product[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p3beta1.Product) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProducts, request) + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listProductsStream with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProducts.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p3beta1.Product[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p3beta1.Product) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProducts, request) + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProducts without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + ]; + client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; + const iterable = client.listProductsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProducts with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listProductsAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + ]; + client.innerApiCalls.listReferenceImages = stubSimpleCall( + expectedResponse + ); + const [response] = await client.listReferenceImages(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listReferenceImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listReferenceImages without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + ]; + client.innerApiCalls.listReferenceImages = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listReferenceImages( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.vision.v1p3beta1.IReferenceImage[] + | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listReferenceImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listReferenceImages with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listReferenceImages = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listReferenceImages(request); + }, expectedError); + assert( + (client.innerApiCalls.listReferenceImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listReferenceImagesStream without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + ]; + client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listReferenceImagesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p3beta1.ReferenceImage[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p3beta1.ReferenceImage) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listReferenceImages, request) + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listReferenceImagesStream with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listReferenceImagesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p3beta1.ReferenceImage[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p3beta1.ReferenceImage) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listReferenceImages, request) + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listReferenceImages without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ReferenceImage() + ), + ]; + client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1p3beta1.IReferenceImage[] = []; + const iterable = client.listReferenceImagesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listReferenceImages with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listReferenceImagesAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1p3beta1.IReferenceImage[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('listProductsInProductSet', () => { + it('invokes listProductsInProductSet without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + ]; + client.innerApiCalls.listProductsInProductSet = stubSimpleCall( + expectedResponse + ); + const [response] = await client.listProductsInProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductsInProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductsInProductSet without error using callback', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + ]; + client.innerApiCalls.listProductsInProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listProductsInProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p3beta1.IProduct[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductsInProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listProductsInProductSet with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listProductsInProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listProductsInProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.listProductsInProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductsInProductSetStream without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + ]; + client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listProductsInProductSetStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p3beta1.Product[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p3beta1.Product) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductsInProductSet, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listProductsInProductSetStream with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listProductsInProductSetStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p3beta1.Product[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p3beta1.Product) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductsInProductSet, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductsInProductSet without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.Product() + ), + ]; + client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; + const iterable = client.listProductsInProductSetAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductsInProductSet with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listProductsInProductSetAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('Path templates', () => { + describe('location', () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('product', () => { + const fakePath = '/rendered/path/product'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + }; + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productPath', () => { + const result = client.productPath( + 'projectValue', + 'locationValue', + 'productValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductName', () => { + const result = client.matchProjectFromProductName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductName', () => { + const result = client.matchLocationFromProductName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromProductName', () => { + const result = client.matchProductFromProductName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('productSet', () => { + const fakePath = '/rendered/path/productSet'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product_set: 'productSetValue', + }; + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productSetPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productSetPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productSetPath', () => { + const result = client.productSetPath( + 'projectValue', + 'locationValue', + 'productSetValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productSetPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductSetName', () => { + const result = client.matchProjectFromProductSetName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductSetName', () => { + const result = client.matchLocationFromProductSetName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductSetFromProductSetName', () => { + const result = client.matchProductSetFromProductSetName(fakePath); + assert.strictEqual(result, 'productSetValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('referenceImage', () => { + const fakePath = '/rendered/path/referenceImage'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + reference_image: 'referenceImageValue', + }; + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.referenceImagePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.referenceImagePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('referenceImagePath', () => { + const result = client.referenceImagePath( + 'projectValue', + 'locationValue', + 'productValue', + 'referenceImageValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.referenceImagePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromReferenceImageName', () => { + const result = client.matchProjectFromReferenceImageName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromReferenceImageName', () => { + const result = client.matchLocationFromReferenceImageName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromReferenceImageName', () => { + const result = client.matchProductFromReferenceImageName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchReferenceImageFromReferenceImageName', () => { + const result = client.matchReferenceImageFromReferenceImageName( + fakePath + ); + assert.strictEqual(result, 'referenceImageValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts new file mode 100644 index 00000000000..f4abbafd745 --- /dev/null +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -0,0 +1,3581 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as productsearchModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf, LROperation} from 'google-gax'; + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message).toObject( + instance as protobuf.Message, + {defaults: true} + ); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); + } + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1p4beta1.ProductSearchClient', () => { + it('has servicePath', () => { + const servicePath = + productsearchModule.v1p4beta1.ProductSearchClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + productsearchModule.v1p4beta1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = productsearchModule.v1p4beta1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + await client.initialize(); + assert(client.productSearchStub); + }); + + it('has close method', () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.close(); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + + describe('createProductSet', () => { + it('invokes createProductSet without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ); + client.innerApiCalls.createProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.createProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createProductSet without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ); + client.innerApiCalls.createProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.createProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IProductSet | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createProductSet with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.createProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.createProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getProductSet', () => { + it('invokes getProductSet without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ); + client.innerApiCalls.getProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.getProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getProductSet without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ); + client.innerApiCalls.getProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.getProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IProductSet | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getProductSet with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.getProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.getProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('updateProductSet', () => { + it('invokes updateProductSet without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ); + client.innerApiCalls.updateProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.updateProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes updateProductSet without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ); + client.innerApiCalls.updateProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.updateProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IProductSet | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes updateProductSet with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.updateProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.updateProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('deleteProductSet', () => { + it('invokes deleteProductSet without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProductSet = stubSimpleCall(expectedResponse); + const [response] = await client.deleteProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteProductSet without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.deleteProductSet( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteProductSet with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.deleteProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.deleteProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('createProduct', () => { + it('invokes createProduct without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ); + client.innerApiCalls.createProduct = stubSimpleCall(expectedResponse); + const [response] = await client.createProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createProduct without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ); + client.innerApiCalls.createProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.createProduct( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IProduct | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createProduct with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.createProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.createProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getProduct', () => { + it('invokes getProduct without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ); + client.innerApiCalls.getProduct = stubSimpleCall(expectedResponse); + const [response] = await client.getProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getProduct without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ); + client.innerApiCalls.getProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.getProduct( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IProduct | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getProduct with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.getProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.getProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('updateProduct', () => { + it('invokes updateProduct without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ); + client.innerApiCalls.updateProduct = stubSimpleCall(expectedResponse); + const [response] = await client.updateProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes updateProduct without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ); + client.innerApiCalls.updateProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.updateProduct( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IProduct | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.updateProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes updateProduct with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.updateProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.updateProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.updateProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('deleteProduct', () => { + it('invokes deleteProduct without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProduct = stubSimpleCall(expectedResponse); + const [response] = await client.deleteProduct(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteProduct without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteProduct = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.deleteProduct( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteProduct with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteProduct = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.deleteProduct(request); + }, expectedError); + assert( + (client.innerApiCalls.deleteProduct as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('createReferenceImage', () => { + it('invokes createReferenceImage without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ); + client.innerApiCalls.createReferenceImage = stubSimpleCall( + expectedResponse + ); + const [response] = await client.createReferenceImage(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes createReferenceImage without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ); + client.innerApiCalls.createReferenceImage = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.createReferenceImage( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IReferenceImage | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.createReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes createReferenceImage with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.createReferenceImage = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.createReferenceImage(request); + }, expectedError); + assert( + (client.innerApiCalls.createReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('deleteReferenceImage', () => { + it('invokes deleteReferenceImage without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteReferenceImage = stubSimpleCall( + expectedResponse + ); + const [response] = await client.deleteReferenceImage(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes deleteReferenceImage without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteReferenceImage = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.deleteReferenceImage( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.deleteReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes deleteReferenceImage with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteReferenceImage = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.deleteReferenceImage(request); + }, expectedError); + assert( + (client.innerApiCalls.deleteReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('getReferenceImage', () => { + it('invokes getReferenceImage without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ); + client.innerApiCalls.getReferenceImage = stubSimpleCall(expectedResponse); + const [response] = await client.getReferenceImage(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes getReferenceImage without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ); + client.innerApiCalls.getReferenceImage = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.getReferenceImage( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IReferenceImage | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.getReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes getReferenceImage with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.getReferenceImage = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.getReferenceImage(request); + }, expectedError); + assert( + (client.innerApiCalls.getReferenceImage as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('addProductToProductSet', () => { + it('invokes addProductToProductSet without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.addProductToProductSet = stubSimpleCall( + expectedResponse + ); + const [response] = await client.addProductToProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.addProductToProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes addProductToProductSet without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.addProductToProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.addProductToProductSet( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.addProductToProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes addProductToProductSet with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.addProductToProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.addProductToProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.addProductToProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('removeProductFromProductSet', () => { + it('invokes removeProductFromProductSet without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( + expectedResponse + ); + const [response] = await client.removeProductFromProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.removeProductFromProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes removeProductFromProductSet without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.removeProductFromProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.removeProductFromProductSet( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.removeProductFromProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes removeProductFromProductSet with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.removeProductFromProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.removeProductFromProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('importProductSets', () => { + it('invokes importProductSets without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importProductSets = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.importProductSets(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes importProductSets without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importProductSets = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.importProductSets( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes importProductSets with call error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.importProductSets = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.importProductSets(request); + }, expectedError); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes importProductSets with LRO error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ImportProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.importProductSets = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.importProductSets(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.importProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('purgeProducts', () => { + it('invokes purgeProducts without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.PurgeProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.purgeProducts = stubLongRunningCall( + expectedResponse + ); + const [operation] = await client.purgeProducts(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.purgeProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes purgeProducts without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.PurgeProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.purgeProducts = stubLongRunningCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.purgeProducts( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.purgeProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes purgeProducts with call error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.PurgeProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.purgeProducts = stubLongRunningCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.purgeProducts(request); + }, expectedError); + assert( + (client.innerApiCalls.purgeProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes purgeProducts with LRO error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.PurgeProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.purgeProducts = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.purgeProducts(request); + assert.rejects(async () => { + await operation.promise(); + }, expectedError); + assert( + (client.innerApiCalls.purgeProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + }); + + describe('listProductSets', () => { + it('invokes listProductSets without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + ]; + client.innerApiCalls.listProductSets = stubSimpleCall(expectedResponse); + const [response] = await client.listProductSets(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductSets without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + ]; + client.innerApiCalls.listProductSets = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listProductSets( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IProductSet[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listProductSets with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listProductSets = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listProductSets(request); + }, expectedError); + assert( + (client.innerApiCalls.listProductSets as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductSetsStream without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + ]; + client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listProductSetsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p4beta1.ProductSet[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p4beta1.ProductSet) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductSets, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listProductSetsStream with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listProductSetsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p4beta1.ProductSet[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p4beta1.ProductSet) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductSets, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductSets without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ProductSet() + ), + ]; + client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1p4beta1.IProductSet[] = []; + const iterable = client.listProductSetsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductSets with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listProductSetsAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1p4beta1.IProductSet[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductSets + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('listProducts', () => { + it('invokes listProducts without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + ]; + client.innerApiCalls.listProducts = stubSimpleCall(expectedResponse); + const [response] = await client.listProducts(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProducts without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + ]; + client.innerApiCalls.listProducts = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listProducts( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IProduct[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listProducts with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listProducts = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listProducts(request); + }, expectedError); + assert( + (client.innerApiCalls.listProducts as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductsStream without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + ]; + client.descriptors.page.listProducts.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p4beta1.Product[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p4beta1.Product) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProducts, request) + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listProductsStream with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProducts.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listProductsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p4beta1.Product[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p4beta1.Product) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProducts, request) + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProducts without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + ]; + client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; + const iterable = client.listProductsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProducts with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listProductsAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProducts + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('listReferenceImages', () => { + it('invokes listReferenceImages without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + ]; + client.innerApiCalls.listReferenceImages = stubSimpleCall( + expectedResponse + ); + const [response] = await client.listReferenceImages(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listReferenceImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listReferenceImages without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + ]; + client.innerApiCalls.listReferenceImages = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listReferenceImages( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.vision.v1p4beta1.IReferenceImage[] + | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listReferenceImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listReferenceImages with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listReferenceImages = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listReferenceImages(request); + }, expectedError); + assert( + (client.innerApiCalls.listReferenceImages as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listReferenceImagesStream without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + ]; + client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listReferenceImagesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p4beta1.ReferenceImage[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p4beta1.ReferenceImage) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listReferenceImages, request) + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listReferenceImagesStream with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listReferenceImagesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p4beta1.ReferenceImage[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p4beta1.ReferenceImage) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listReferenceImages, request) + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listReferenceImages without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ReferenceImage() + ), + ]; + client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1p4beta1.IReferenceImage[] = []; + const iterable = client.listReferenceImagesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listReferenceImages with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('expected'); + client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listReferenceImagesAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1p4beta1.IReferenceImage[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listReferenceImages + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('listProductsInProductSet', () => { + it('invokes listProductsInProductSet without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + ]; + client.innerApiCalls.listProductsInProductSet = stubSimpleCall( + expectedResponse + ); + const [response] = await client.listProductsInProductSet(request); + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductsInProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductsInProductSet without error using callback', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + ]; + client.innerApiCalls.listProductsInProductSet = stubSimpleCallWithCallback( + expectedResponse + ); + const promise = new Promise((resolve, reject) => { + client.listProductsInProductSet( + request, + ( + err?: Error | null, + result?: protos.google.cloud.vision.v1p4beta1.IProduct[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + assert( + (client.innerApiCalls.listProductsInProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions /*, callback defined above */) + ); + }); + + it('invokes listProductsInProductSet with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedOptions = { + otherArgs: { + headers: { + 'x-goog-request-params': expectedHeaderRequestParams, + }, + }, + }; + const expectedError = new Error('expected'); + client.innerApiCalls.listProductsInProductSet = stubSimpleCall( + undefined, + expectedError + ); + assert.rejects(async () => { + await client.listProductsInProductSet(request); + }, expectedError); + assert( + (client.innerApiCalls.listProductsInProductSet as SinonStub) + .getCall(0) + .calledWith(request, expectedOptions, undefined) + ); + }); + + it('invokes listProductsInProductSetStream without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + ]; + client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( + expectedResponse + ); + const stream = client.listProductsInProductSetStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p4beta1.Product[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p4beta1.Product) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductsInProductSet, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('invokes listProductsInProductSetStream with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listProductsInProductSetStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.vision.v1p4beta1.Product[] = []; + stream.on( + 'data', + (response: protos.google.cloud.vision.v1p4beta1.Product) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + assert.rejects(async () => { + await promise; + }, expectedError); + assert( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listProductsInProductSet, request) + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductsInProductSet without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.Product() + ), + ]; + client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( + expectedResponse + ); + const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; + const iterable = client.listProductsInProductSetAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + + it('uses async iteration with listProductsInProductSet with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('expected'); + client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( + undefined, + expectedError + ); + const iterable = client.listProductsInProductSetAsync(request); + assert.rejects(async () => { + const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[1], + request + ); + assert.strictEqual( + (client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ + 'x-goog-request-params' + ], + expectedHeaderRequestParams + ); + }); + }); + + describe('Path templates', () => { + describe('location', () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('product', () => { + const fakePath = '/rendered/path/product'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + }; + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productPath', () => { + const result = client.productPath( + 'projectValue', + 'locationValue', + 'productValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductName', () => { + const result = client.matchProjectFromProductName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductName', () => { + const result = client.matchLocationFromProductName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromProductName', () => { + const result = client.matchProductFromProductName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.productPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('productSet', () => { + const fakePath = '/rendered/path/productSet'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product_set: 'productSetValue', + }; + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.productSetPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.productSetPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('productSetPath', () => { + const result = client.productSetPath( + 'projectValue', + 'locationValue', + 'productSetValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.productSetPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProductSetName', () => { + const result = client.matchProjectFromProductSetName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromProductSetName', () => { + const result = client.matchLocationFromProductSetName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductSetFromProductSetName', () => { + const result = client.matchProductSetFromProductSetName(fakePath); + assert.strictEqual(result, 'productSetValue'); + assert( + (client.pathTemplates.productSetPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('referenceImage', () => { + const fakePath = '/rendered/path/referenceImage'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + product: 'productValue', + reference_image: 'referenceImageValue', + }; + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.referenceImagePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.referenceImagePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('referenceImagePath', () => { + const result = client.referenceImagePath( + 'projectValue', + 'locationValue', + 'productValue', + 'referenceImageValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.referenceImagePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromReferenceImageName', () => { + const result = client.matchProjectFromReferenceImageName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromReferenceImageName', () => { + const result = client.matchLocationFromReferenceImageName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchProductFromReferenceImageName', () => { + const result = client.matchProductFromReferenceImageName(fakePath); + assert.strictEqual(result, 'productValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchReferenceImageFromReferenceImageName', () => { + const result = client.matchReferenceImageFromReferenceImageName( + fakePath + ); + assert.strictEqual(result, 'referenceImageValue'); + assert( + (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-vision/test/helpers.test.ts b/packages/google-cloud-vision/test/helpers.test.ts index ef806b5239e..e32e76e571c 100644 --- a/packages/google-cloud-vision/test/helpers.test.ts +++ b/packages/google-cloud-vision/test/helpers.test.ts @@ -20,6 +20,7 @@ import * as is from 'is'; import * as sinon from 'sinon'; import * as prototypes from '../protos/protos'; import * as assert from 'assert'; +// eslint-disable-next-line @typescript-eslint/no-var-requires const vision = require('../src'); describe('Vision helper methods', () => { diff --git a/packages/google-cloud-vision/test/index.test.ts b/packages/google-cloud-vision/test/index.test.ts index cedd41e4f6b..ec8dc564016 100644 --- a/packages/google-cloud-vision/test/index.test.ts +++ b/packages/google-cloud-vision/test/index.test.ts @@ -14,7 +14,7 @@ import * as assert from 'assert'; import {describe, it} from 'mocha'; - +// eslint-disable-next-line @typescript-eslint/no-var-requires const vision = require('../src'); describe('Vision', () => { diff --git a/packages/google-cloud-vision/webpack.config.js b/packages/google-cloud-vision/webpack.config.js index 4d93660dc26..ed13edf1f2d 100644 --- a/packages/google-cloud-vision/webpack.config.js +++ b/packages/google-cloud-vision/webpack.config.js @@ -36,27 +36,27 @@ module.exports = { { test: /\.tsx?$/, use: 'ts-loader', - exclude: /node_modules/ + exclude: /node_modules/, }, { test: /node_modules[\\/]@grpc[\\/]grpc-js/, - use: 'null-loader' + use: 'null-loader', }, { test: /node_modules[\\/]grpc/, - use: 'null-loader' + use: 'null-loader', }, { test: /node_modules[\\/]retry-request/, - use: 'null-loader' + use: 'null-loader', }, { test: /node_modules[\\/]https?-proxy-agent/, - use: 'null-loader' + use: 'null-loader', }, { test: /node_modules[\\/]gtoken/, - use: 'null-loader' + use: 'null-loader', }, ], }, From 5ce36a69237e214e1eca6dd120bd11394f966dd7 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sun, 5 Apr 2020 12:49:38 -0700 Subject: [PATCH 399/588] chore: remove duplicate mocha config (#574) --- packages/google-cloud-vision/.mocharc.json | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 packages/google-cloud-vision/.mocharc.json diff --git a/packages/google-cloud-vision/.mocharc.json b/packages/google-cloud-vision/.mocharc.json deleted file mode 100644 index 670c5e2c24b..00000000000 --- a/packages/google-cloud-vision/.mocharc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "enable-source-maps": true, - "throw-deprecation": true, - "timeout": 10000 -} From cdd49cffdf6af6986a1bdb6505b0e73bd265f0de Mon Sep 17 00:00:00 2001 From: Xiaozhen Liu Date: Thu, 9 Apr 2020 10:13:43 -0700 Subject: [PATCH 400/588] proper type for ImprovedRequest (#576) --- packages/google-cloud-vision/src/helpers.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/src/helpers.ts b/packages/google-cloud-vision/src/helpers.ts index d316e463a7b..517c52893ba 100644 --- a/packages/google-cloud-vision/src/helpers.ts +++ b/packages/google-cloud-vision/src/helpers.ts @@ -42,7 +42,13 @@ export interface FeaturesMethod { objectLocalization?: FeatureFunction; } interface ImprovedRequest { - image?: {source?: {filename: string}; content?: Uint8Array | string | null}; + image?: { + source?: { + filename?: string; + imageUri?: string; + }; + content?: Uint8Array | string | null; + }; // eslint-disable-next-line @typescript-eslint/no-explicit-any features?: any; } From a748a489462323bd62a6024bd5ef44eb3f2271b3 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 10 Apr 2020 20:56:57 +0200 Subject: [PATCH 401/588] chore(deps): update dependency gts to v2.0.0 (#577) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [gts](https://togithub.com/google/gts) | devDependencies | patch | [`2.0.0-alpha.9` -> `2.0.0`](https://renovatebot.com/diffs/npm/gts/2.0.0-alpha.9/2.0.0) | --- ### Release Notes
google/gts ### [`v2.0.0`](https://togithub.com/google/gts/blob/master/CHANGELOG.md#​200-httpswwwgithubcomgooglegtscomparev112v200-2020-04-02) [Compare Source](https://togithub.com/google/gts/compare/39a2705e51b4b6329a70f91f8293a2d7a363bf5d...v2.0.0) ##### ⚠ BREAKING CHANGES ⚠ This is a major rewrite of the tool. Based on community guidance, we've switched from using [tslint](https://palantir.github.io/tslint/) to [eslint](https://eslint.org/). _Please read all of the steps below to upgrade_. ##### Configuring `eslint` With the shift to `eslint`, `gts` now will format and lint JavaScript _as well_ as TypeScript. Upgrading will require a number of manual steps. To format JavaScript and TypeScript, you can run: $ npx gts fix To specify only TypeScript: $ npx gts fix '**/*.ts' ##### Delete `tslint.json` This file is no longer used, and can lead to confusion. ##### Create a `.eslintrc.json` Now that we're using eslint, you need to extend the eslint configuration baked into the module. Create a new file named `.eslintrc.json`, and paste the following: ```js { "extends": "./node_modules/gts" } ``` ##### Create a `.eslintignore` The `.eslintignore` file lets you ignore specific directories. This tool now lints and formats JavaScript, so it's _really_ important to ignore your build directory! Here is an example of a `.eslintignore` file: **/node_modules build/ ##### Rule changes The underlying linter was changed, so naturally there are going to be a variety of rule changes along the way. To see the full list, check out [.eslintrc.json](https://togithub.com/google/gts/blob/master/.eslintrc.json). ##### Require Node.js 10.x and up Node.js 8.x is now end of life - this module now requires Ndoe.js 10.x and up. ##### Features - add the eol-last rule ([#​425](https://www.github.com/google/gts/issues/425)) ([50ebd4d](https://www.github.com/google/gts/commit/50ebd4dbaf063615f4c025f567ca28076a734223)) - allow eslintrc to run over tsx files ([#​469](https://www.github.com/google/gts/issues/469)) ([a21db94](https://www.github.com/google/gts/commit/a21db94601def563952d677cb0980a12b6730f4c)) - disable global rule for checking TODO comments ([#​459](https://www.github.com/google/gts/issues/459)) ([96aa84a](https://www.github.com/google/gts/commit/96aa84a0a42181046daa248750cc8fef0c320619)) - override require-atomic-updates ([#​468](https://www.github.com/google/gts/issues/468)) ([8105c93](https://www.github.com/google/gts/commit/8105c9334ee5104b05f6b1b2f150e51419637262)) - prefer single quotes if possible ([#​475](https://www.github.com/google/gts/issues/475)) ([39a2705](https://www.github.com/google/gts/commit/39a2705e51b4b6329a70f91f8293a2d7a363bf5d)) - use eslint instead of tslint ([#​400](https://www.github.com/google/gts/issues/400)) ([b3096fb](https://www.github.com/google/gts/commit/b3096fbd5076d302d93c2307bf627e12c423e726)) ##### Bug Fixes - use .prettierrc.js ([#​437](https://www.github.com/google/gts/issues/437)) ([06efa84](https://www.github.com/google/gts/commit/06efa8444cdf1064b64f3e8d61ebd04f45d90b4c)) - **deps:** update dependency chalk to v4 ([#​477](https://www.github.com/google/gts/issues/477)) ([061d64e](https://www.github.com/google/gts/commit/061d64e29d37b93ce55228937cc100e05ddef352)) - **deps:** update dependency eslint-plugin-node to v11 ([#​426](https://www.github.com/google/gts/issues/426)) ([a394b7c](https://www.github.com/google/gts/commit/a394b7c1f80437f25017ca5c500b968ebb789ece)) - **deps:** update dependency execa to v4 ([#​427](https://www.github.com/google/gts/issues/427)) ([f42ef36](https://www.github.com/google/gts/commit/f42ef36709251553342e655e287e889df72ee3e3)) - **deps:** update dependency prettier to v2 ([#​464](https://www.github.com/google/gts/issues/464)) ([20ef43d](https://www.github.com/google/gts/commit/20ef43d566df17d3c93949ef7db3b72ee9123ca3)) - disable no-use-before-define ([#​431](https://www.github.com/google/gts/issues/431)) ([dea2c22](https://www.github.com/google/gts/commit/dea2c223d1d3a60a1786aa820eebb93be27016a7)) - **deps:** update dependency update-notifier to v4 ([#​403](https://www.github.com/google/gts/issues/403)) ([57393b7](https://www.github.com/google/gts/commit/57393b74c6cf299e8ae09311f0382226b8baa3e3)) - **deps:** upgrade to meow 6.x ([#​423](https://www.github.com/google/gts/issues/423)) ([8f93d00](https://www.github.com/google/gts/commit/8f93d0049337a832d9a22b6ae4e86fd41140ec56)) - align back to the google style guide ([#​440](https://www.github.com/google/gts/issues/440)) ([8bd78c4](https://www.github.com/google/gts/commit/8bd78c4c78526a72400f618a95a987d2a7c1a8db)) - disable empty-function check ([#​467](https://www.github.com/google/gts/issues/467)) ([6455d7a](https://www.github.com/google/gts/commit/6455d7a9d227320d3ffe1b00c9c739b846f339a8)) - drop support for node 8 ([#​422](https://www.github.com/google/gts/issues/422)) ([888c686](https://www.github.com/google/gts/commit/888c68692079065f38ce66ec84472f1f3311a050)) - emit .prettierrc.js with init ([#​462](https://www.github.com/google/gts/issues/462)) ([b114614](https://www.github.com/google/gts/commit/b114614d22ab5560d2d1dd5cb6695968cc80027b)) - enable trailing comma ([#​470](https://www.github.com/google/gts/issues/470)) ([6518f58](https://www.github.com/google/gts/commit/6518f5843d3093e3beb7d3371b56d9aecedf3924)) - include _.tsx and _.jsx in default fix command ([#​473](https://www.github.com/google/gts/issues/473)) ([0509780](https://www.github.com/google/gts/commit/050978005ad089d9b3b5d8895b25ea1175d75db2)) ##### [1.1.2](https://www.github.com/google/gts/compare/v1.1.1...v1.1.2) (2019-11-20) ##### Bug Fixes - **deps:** update to newest prettier (with support for optional chain) ([#​396](https://www.github.com/google/gts/issues/396)) ([ce8ad06](https://www.github.com/google/gts/commit/ce8ad06c8489c44a9e2ed5292382637b3ebb7601)) ##### [1.1.1](https://www.github.com/google/gts/compare/v1.1.0...v1.1.1) (2019-11-11) ##### Bug Fixes - **deps:** update dependency chalk to v3 ([#​389](https://www.github.com/google/gts/issues/389)) ([1ce0f45](https://www.github.com/google/gts/commit/1ce0f450677e143a27efc39def617d13c66503e8)) - **deps:** update dependency inquirer to v7 ([#​377](https://www.github.com/google/gts/issues/377)) ([bf2c349](https://www.github.com/google/gts/commit/bf2c349b2208ac63e551542599ac9cd27b461338)) - **deps:** update dependency rimraf to v3 ([#​374](https://www.github.com/google/gts/issues/374)) ([2058eaa](https://www.github.com/google/gts/commit/2058eaa682f4baae978b469fd708d1f866e7da74)) - **deps:** update dependency write-file-atomic to v3 ([#​353](https://www.github.com/google/gts/issues/353)) ([59e6aa8](https://www.github.com/google/gts/commit/59e6aa8580a2f8e9457d2d2b6fa9e18e86347592))
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 47ebf71856b..ff525b60b5e 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -61,7 +61,7 @@ "eslint-config-prettier": "^6.10.0", "eslint-plugin-node": "^11.0.0", "eslint-plugin-prettier": "^3.1.2", - "gts": "2.0.0-alpha.9", + "gts": "2.0.0", "jsdoc": "^3.6.3", "jsdoc-fresh": "^1.0.2", "jsdoc-region-tag": "^1.0.4", From c768b8119d492b951e7d84eab2530661c5674727 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 10 Apr 2020 13:22:43 -0700 Subject: [PATCH 402/588] chore: run the generator, fix synth script (#755) * chore: run th generator, fix synth script * test: remove comment --- packages/google-cloud-vision/.jsdoc.js | 2 +- packages/google-cloud-vision/.prettierrc.js | 2 +- packages/google-cloud-vision/package.json | 3 +- .../cloud/vision/v1/image_annotator.proto | 2 +- .../vision/v1p1beta1/image_annotator.proto | 2 +- .../vision/v1p2beta1/image_annotator.proto | 2 +- .../vision/v1p3beta1/image_annotator.proto | 2 +- .../vision/v1p4beta1/image_annotator.proto | 2 +- packages/google-cloud-vision/protos/protos.js | 2 +- .../google-cloud-vision/protos/protos.json | 16 +++-- packages/google-cloud-vision/synth.metadata | 19 +++++- packages/google-cloud-vision/synth.py | 4 +- .../google-cloud-vision/system-test/vision.ts | 2 +- .../test/gapic_image_annotator_v1.ts | 12 ++-- .../test/gapic_image_annotator_v1p1beta1.ts | 2 +- .../test/gapic_image_annotator_v1p2beta1.ts | 6 +- .../test/gapic_image_annotator_v1p3beta1.ts | 6 +- .../test/gapic_image_annotator_v1p4beta1.ts | 12 ++-- .../test/gapic_product_search_v1.ts | 58 +++++++++---------- .../test/gapic_product_search_v1p3beta1.ts | 54 ++++++++--------- .../test/gapic_product_search_v1p4beta1.ts | 58 +++++++++---------- 21 files changed, 147 insertions(+), 121 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index b0128b51ed7..e799b48d470 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -40,7 +40,7 @@ module.exports = { includePattern: '\\.js$' }, templates: { - copyright: 'Copyright 2019 Google, LLC.', + copyright: 'Copyright 2020 Google LLC', includeDate: false, sourceFiles: false, systemName: '@google-cloud/vision', diff --git a/packages/google-cloud-vision/.prettierrc.js b/packages/google-cloud-vision/.prettierrc.js index 08cba3775be..d1b95106f4c 100644 --- a/packages/google-cloud-vision/.prettierrc.js +++ b/packages/google-cloud-vision/.prettierrc.js @@ -4,7 +4,7 @@ // 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 +// 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, diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ff525b60b5e..eaf0459f56a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -29,7 +29,7 @@ "scripts": { "test": "c8 mocha build/test", "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../", - "lint": "gts fix && eslint --fix samples/*.js", + "lint": "gts fix", "docs": "jsdoc -c .jsdoc.js", "system-test": "mocha build/system-test", "fix": "gts fix", @@ -52,7 +52,6 @@ "@types/is": "0.0.21", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", - "@types/is": "0.0.21", "@types/sinon": "^9.0.0", "@types/uuid": "^3.4.7", "c8": "^7.1.0", diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index d2588604605..e75ca7660e8 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -676,7 +676,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto index e9665c20cb4..4f5ada70de2 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto @@ -502,7 +502,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index 8b0756d2af3..87ae9f2c696 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -533,7 +533,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto index b1c5ee41e96..b63aa2b252f 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -561,7 +561,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index 623dfe0abd9..9c18cccdfef 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -632,7 +632,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index b963f78c69a..50233b4d14f 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -28,7 +28,7 @@ var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; // Exported root namespace - var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); + var $root = $protobuf.roots._google_cloud_vision_1_11_0_protos || ($protobuf.roots._google_cloud_vision_1_11_0_protos = {}); $root.google = (function() { diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 7c8ed705885..9f1398687f8 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -9017,26 +9017,32 @@ "extend": "google.protobuf.MethodOptions" }, "Operations": { + "options": { + "(google.api.default_host)": "longrunning.googleapis.com" + }, "methods": { "ListOperations": { "requestType": "ListOperationsRequest", "responseType": "ListOperationsResponse", "options": { - "(google.api.http).get": "/v1/{name=operations}" + "(google.api.http).get": "/v1/{name=operations}", + "(google.api.method_signature)": "name,filter" } }, "GetOperation": { "requestType": "GetOperationRequest", "responseType": "Operation", "options": { - "(google.api.http).get": "/v1/{name=operations/**}" + "(google.api.http).get": "/v1/{name=operations/**}", + "(google.api.method_signature)": "name" } }, "DeleteOperation": { "requestType": "DeleteOperationRequest", "responseType": "google.protobuf.Empty", "options": { - "(google.api.http).delete": "/v1/{name=operations/**}" + "(google.api.http).delete": "/v1/{name=operations/**}", + "(google.api.method_signature)": "name" } }, "CancelOperation": { @@ -9044,7 +9050,8 @@ "responseType": "google.protobuf.Empty", "options": { "(google.api.http).post": "/v1/{name=operations/**}:cancel", - "(google.api.http).body": "*" + "(google.api.http).body": "*", + "(google.api.method_signature)": "name" } }, "WaitOperation": { @@ -9170,6 +9177,7 @@ }, "rpc": { "options": { + "cc_enable_arenas": true, "go_package": "google.golang.org/genproto/googleapis/rpc/status;status", "java_multiple_files": true, "java_outer_classname": "StatusProto", diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 62d3d8ee85f..1f1bc0831a1 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,5 +1,22 @@ { - "updateTime": "2020-03-31T20:16:47.942825Z", + "updateTime": "2020-04-10T20:00:59.209374Z", + "sources": [ + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "cf18ab5200e41e9d0cfef88c6c4bcdd394faf1ca", + "internalRef": "305925954" + } + }, + { + "git": { + "name": "synthtool", + "remote": "https://github.com/googleapis/synthtool.git", + "sha": "6f32150677c9784f3c3a7e1949472bd29c9d72c5" + } + } + ], "destinations": [ { "client": { diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index b2acf6dd637..f7c98186851 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -43,7 +43,9 @@ for version in versions: client_file = f"src/{version}/image_annotator_client.ts" s.replace(client_file, '\Z', - 'import {FeaturesMethod} from \'../helpers\'; \n export interface ImageAnnotatorClient extends FeaturesMethod {}' + 'import {FeaturesMethod} from \'../helpers\';\n' + + '// eslint-disable-next-line @typescript-eslint/no-empty-interface\n' + + 'export interface ImageAnnotatorClient extends FeaturesMethod {}\n' ) # Copy common templates common_templates = gcp.CommonTemplates() diff --git a/packages/google-cloud-vision/system-test/vision.ts b/packages/google-cloud-vision/system-test/vision.ts index 19aaa37557a..ce40903db2a 100644 --- a/packages/google-cloud-vision/system-test/vision.ts +++ b/packages/google-cloud-vision/system-test/vision.ts @@ -20,7 +20,7 @@ import {Storage} from '@google-cloud/storage'; import * as uuid from 'uuid'; import * as prototypes from '../protos/protos'; import * as vision from '../src'; -// const vision = require('../src'); + describe('Vision', () => { const IMAGES = Object.freeze({ document: path.join( diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index efef61e331b..7f874e7f6b9 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -270,7 +270,7 @@ describe('v1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.batchAnnotateImages(request); }, expectedError); assert( @@ -386,7 +386,7 @@ describe('v1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.batchAnnotateFiles(request); }, expectedError); assert( @@ -510,7 +510,7 @@ describe('v1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.asyncBatchAnnotateImages(request); }, expectedError); assert( @@ -545,7 +545,7 @@ describe('v1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateImages(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( @@ -669,7 +669,7 @@ describe('v1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.asyncBatchAnnotateFiles(request); }, expectedError); assert( @@ -704,7 +704,7 @@ describe('v1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateFiles(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index 4e771dc3cf4..d5ff51c5abc 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -214,7 +214,7 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.batchAnnotateImages(request); }, expectedError); assert( diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index 071e165982c..fa81324fe3d 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -246,7 +246,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.batchAnnotateImages(request); }, expectedError); assert( @@ -346,7 +346,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.asyncBatchAnnotateFiles(request); }, expectedError); assert( @@ -373,7 +373,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateFiles(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index 19df46dfead..fd46c5d0267 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -246,7 +246,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.batchAnnotateImages(request); }, expectedError); assert( @@ -346,7 +346,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.asyncBatchAnnotateFiles(request); }, expectedError); assert( @@ -373,7 +373,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateFiles(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index f581827d8aa..1c76e82e3da 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -246,7 +246,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.batchAnnotateImages(request); }, expectedError); assert( @@ -338,7 +338,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.batchAnnotateFiles(request); }, expectedError); assert( @@ -438,7 +438,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.asyncBatchAnnotateImages(request); }, expectedError); assert( @@ -465,7 +465,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateImages(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( @@ -565,7 +565,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.asyncBatchAnnotateFiles(request); }, expectedError); assert( @@ -592,7 +592,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateFiles(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index e431c4144c6..1e06032ae23 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -329,7 +329,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.createProductSet(request); }, expectedError); assert( @@ -443,7 +443,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.getProductSet(request); }, expectedError); assert( @@ -560,7 +560,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.updateProductSet(request); }, expectedError); assert( @@ -674,7 +674,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.deleteProductSet(request); }, expectedError); assert( @@ -788,7 +788,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.createProduct(request); }, expectedError); assert( @@ -902,7 +902,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.getProduct(request); }, expectedError); assert( @@ -1019,7 +1019,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.updateProduct(request); }, expectedError); assert( @@ -1133,7 +1133,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.deleteProduct(request); }, expectedError); assert( @@ -1249,7 +1249,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.createReferenceImage(request); }, expectedError); assert( @@ -1365,7 +1365,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.deleteReferenceImage(request); }, expectedError); assert( @@ -1479,7 +1479,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.getReferenceImage(request); }, expectedError); assert( @@ -1595,7 +1595,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.addProductToProductSet(request); }, expectedError); assert( @@ -1711,7 +1711,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.removeProductFromProductSet(request); }, expectedError); assert( @@ -1835,7 +1835,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.importProductSets(request); }, expectedError); assert( @@ -1870,7 +1870,7 @@ describe('v1.ProductSearchClient', () => { expectedError ); const [operation] = await client.importProductSets(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( @@ -1994,7 +1994,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.purgeProducts(request); }, expectedError); assert( @@ -2029,7 +2029,7 @@ describe('v1.ProductSearchClient', () => { expectedError ); const [operation] = await client.purgeProducts(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( @@ -2147,7 +2147,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listProductSets(request); }, expectedError); assert( @@ -2240,7 +2240,7 @@ describe('v1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -2313,7 +2313,7 @@ describe('v1.ProductSearchClient', () => { expectedError ); const iterable = client.listProductSetsAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1.IProductSet[] = []; for await (const resource of iterable) { responses.push(resource!); @@ -2441,7 +2441,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listProducts(request); }, expectedError); assert( @@ -2528,7 +2528,7 @@ describe('v1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -2601,7 +2601,7 @@ describe('v1.ProductSearchClient', () => { expectedError ); const iterable = client.listProductsAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1.IProduct[] = []; for await (const resource of iterable) { responses.push(resource!); @@ -2743,7 +2743,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listReferenceImages(request); }, expectedError); assert( @@ -2842,7 +2842,7 @@ describe('v1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -2921,7 +2921,7 @@ describe('v1.ProductSearchClient', () => { expectedError ); const iterable = client.listReferenceImagesAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1.IReferenceImage[] = []; for await (const resource of iterable) { responses.push(resource!); @@ -3051,7 +3051,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listProductsInProductSet(request); }, expectedError); assert( @@ -3139,7 +3139,7 @@ describe('v1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -3213,7 +3213,7 @@ describe('v1.ProductSearchClient', () => { expectedError ); const iterable = client.listProductsInProductSetAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1.IProduct[] = []; for await (const resource of iterable) { responses.push(resource!); diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index ef12b4d35bd..138b1105d03 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -331,7 +331,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.createProductSet(request); }, expectedError); assert( @@ -445,7 +445,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.getProductSet(request); }, expectedError); assert( @@ -562,7 +562,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.updateProductSet(request); }, expectedError); assert( @@ -676,7 +676,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.deleteProductSet(request); }, expectedError); assert( @@ -790,7 +790,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.createProduct(request); }, expectedError); assert( @@ -904,7 +904,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.getProduct(request); }, expectedError); assert( @@ -1021,7 +1021,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.updateProduct(request); }, expectedError); assert( @@ -1135,7 +1135,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.deleteProduct(request); }, expectedError); assert( @@ -1251,7 +1251,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.createReferenceImage(request); }, expectedError); assert( @@ -1367,7 +1367,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.deleteReferenceImage(request); }, expectedError); assert( @@ -1481,7 +1481,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.getReferenceImage(request); }, expectedError); assert( @@ -1597,7 +1597,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.addProductToProductSet(request); }, expectedError); assert( @@ -1713,7 +1713,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.removeProductFromProductSet(request); }, expectedError); assert( @@ -1837,7 +1837,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.importProductSets(request); }, expectedError); assert( @@ -1872,7 +1872,7 @@ describe('v1p3beta1.ProductSearchClient', () => { expectedError ); const [operation] = await client.importProductSets(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( @@ -2002,7 +2002,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listProductSets(request); }, expectedError); assert( @@ -2101,7 +2101,7 @@ describe('v1p3beta1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -2180,7 +2180,7 @@ describe('v1p3beta1.ProductSearchClient', () => { expectedError ); const iterable = client.listProductSetsAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p3beta1.IProductSet[] = []; for await (const resource of iterable) { responses.push(resource!); @@ -2320,7 +2320,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listProducts(request); }, expectedError); assert( @@ -2419,7 +2419,7 @@ describe('v1p3beta1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -2498,7 +2498,7 @@ describe('v1p3beta1.ProductSearchClient', () => { expectedError ); const iterable = client.listProductsAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; for await (const resource of iterable) { responses.push(resource!); @@ -2642,7 +2642,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listReferenceImages(request); }, expectedError); assert( @@ -2741,7 +2741,7 @@ describe('v1p3beta1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -2820,7 +2820,7 @@ describe('v1p3beta1.ProductSearchClient', () => { expectedError ); const iterable = client.listReferenceImagesAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p3beta1.IReferenceImage[] = []; for await (const resource of iterable) { responses.push(resource!); @@ -2962,7 +2962,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listProductsInProductSet(request); }, expectedError); assert( @@ -3062,7 +3062,7 @@ describe('v1p3beta1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -3142,7 +3142,7 @@ describe('v1p3beta1.ProductSearchClient', () => { expectedError ); const iterable = client.listProductsInProductSetAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; for await (const resource of iterable) { responses.push(resource!); diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index f4abbafd745..a127439a3ea 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -331,7 +331,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.createProductSet(request); }, expectedError); assert( @@ -445,7 +445,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.getProductSet(request); }, expectedError); assert( @@ -562,7 +562,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.updateProductSet(request); }, expectedError); assert( @@ -676,7 +676,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.deleteProductSet(request); }, expectedError); assert( @@ -790,7 +790,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.createProduct(request); }, expectedError); assert( @@ -904,7 +904,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.getProduct(request); }, expectedError); assert( @@ -1021,7 +1021,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.updateProduct(request); }, expectedError); assert( @@ -1135,7 +1135,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.deleteProduct(request); }, expectedError); assert( @@ -1251,7 +1251,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.createReferenceImage(request); }, expectedError); assert( @@ -1367,7 +1367,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.deleteReferenceImage(request); }, expectedError); assert( @@ -1481,7 +1481,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.getReferenceImage(request); }, expectedError); assert( @@ -1597,7 +1597,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.addProductToProductSet(request); }, expectedError); assert( @@ -1713,7 +1713,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.removeProductFromProductSet(request); }, expectedError); assert( @@ -1837,7 +1837,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.importProductSets(request); }, expectedError); assert( @@ -1872,7 +1872,7 @@ describe('v1p4beta1.ProductSearchClient', () => { expectedError ); const [operation] = await client.importProductSets(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( @@ -1996,7 +1996,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.purgeProducts(request); }, expectedError); assert( @@ -2031,7 +2031,7 @@ describe('v1p4beta1.ProductSearchClient', () => { expectedError ); const [operation] = await client.purgeProducts(request); - assert.rejects(async () => { + await assert.rejects(async () => { await operation.promise(); }, expectedError); assert( @@ -2161,7 +2161,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listProductSets(request); }, expectedError); assert( @@ -2260,7 +2260,7 @@ describe('v1p4beta1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -2339,7 +2339,7 @@ describe('v1p4beta1.ProductSearchClient', () => { expectedError ); const iterable = client.listProductSetsAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p4beta1.IProductSet[] = []; for await (const resource of iterable) { responses.push(resource!); @@ -2479,7 +2479,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listProducts(request); }, expectedError); assert( @@ -2578,7 +2578,7 @@ describe('v1p4beta1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -2657,7 +2657,7 @@ describe('v1p4beta1.ProductSearchClient', () => { expectedError ); const iterable = client.listProductsAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; for await (const resource of iterable) { responses.push(resource!); @@ -2801,7 +2801,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listReferenceImages(request); }, expectedError); assert( @@ -2900,7 +2900,7 @@ describe('v1p4beta1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -2979,7 +2979,7 @@ describe('v1p4beta1.ProductSearchClient', () => { expectedError ); const iterable = client.listReferenceImagesAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p4beta1.IReferenceImage[] = []; for await (const resource of iterable) { responses.push(resource!); @@ -3121,7 +3121,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - assert.rejects(async () => { + await assert.rejects(async () => { await client.listProductsInProductSet(request); }, expectedError); assert( @@ -3221,7 +3221,7 @@ describe('v1p4beta1.ProductSearchClient', () => { reject(err); }); }); - assert.rejects(async () => { + await assert.rejects(async () => { await promise; }, expectedError); assert( @@ -3301,7 +3301,7 @@ describe('v1p4beta1.ProductSearchClient', () => { expectedError ); const iterable = client.listProductsInProductSetAsync(request); - assert.rejects(async () => { + await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; for await (const resource of iterable) { responses.push(resource!); From 410e05bf3da897630aac24f47fb5ba711d1e06b9 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 10 Apr 2020 18:49:22 -0700 Subject: [PATCH 403/588] fix: remove eslint, update gax, fix generated protos, run the generator (#756) Run the latest version of the generator, update google-gax, update gts, and remove direct dependencies on eslint. --- packages/google-cloud-vision/package.json | 10 +++------- .../google/cloud/vision/v1/image_annotator.proto | 2 +- .../cloud/vision/v1p1beta1/image_annotator.proto | 2 +- .../cloud/vision/v1p2beta1/image_annotator.proto | 2 +- .../cloud/vision/v1p3beta1/image_annotator.proto | 2 +- .../cloud/vision/v1p4beta1/image_annotator.proto | 2 +- packages/google-cloud-vision/synth.metadata | 10 +--------- packages/google-cloud-vision/synth.py | 2 +- 8 files changed, 10 insertions(+), 22 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index eaf0459f56a..a893d63a834 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -36,7 +36,7 @@ "test-no-cover": "mocha test/*.js", "docs-test": "linkinator docs", "predocs-test": "npm run docs", - "prelint": "cd samples; npm link ../; npm i", + "prelint": "cd samples; npm link ../; npm install", "clean": "gts clean", "compile": "tsc -p . && cp -r protos build/", "compile-protos": "compileProtos src", @@ -44,7 +44,7 @@ }, "dependencies": { "@google-cloud/promisify": "^1.0.4", - "google-gax": "^2.0.1", + "google-gax": "^2.1.0", "is": "^3.3.0" }, "devDependencies": { @@ -56,11 +56,7 @@ "@types/uuid": "^3.4.7", "c8": "^7.1.0", "codecov": "^3.6.5", - "eslint": "^6.8.0", - "eslint-config-prettier": "^6.10.0", - "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.1.2", - "gts": "2.0.0", + "gts": "^2.0.0", "jsdoc": "^3.6.3", "jsdoc-fresh": "^1.0.2", "jsdoc-region-tag": "^1.0.4", diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index e75ca7660e8..d2588604605 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -676,7 +676,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](https://cloud.google.com/vision/docs/languages). + // [supported languages](/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto index 4f5ada70de2..e9665c20cb4 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto @@ -502,7 +502,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](https://cloud.google.com/vision/docs/languages). + // [supported languages](/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index 87ae9f2c696..8b0756d2af3 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -533,7 +533,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](https://cloud.google.com/vision/docs/languages). + // [supported languages](/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto index b63aa2b252f..b1c5ee41e96 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -561,7 +561,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](https://cloud.google.com/vision/docs/languages). + // [supported languages](/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index 9c18cccdfef..623dfe0abd9 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -632,7 +632,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](https://cloud.google.com/vision/docs/languages). + // [supported languages](/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 1f1bc0831a1..ad227f18fe7 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,14 +1,6 @@ { - "updateTime": "2020-04-10T20:00:59.209374Z", + "updateTime": "2020-04-11T01:08:42.418307Z", "sources": [ - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "cf18ab5200e41e9d0cfef88c6c4bcdd394faf1ca", - "internalRef": "305925954" - } - }, { "git": { "name": "synthtool", diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index f7c98186851..8ef28aa271f 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -54,5 +54,5 @@ # Node.js specific cleanup subprocess.run(['npm', 'install']) -subprocess.run(['npm', 'run', 'fix']) +subprocess.run(['npm', 'run', 'lint']) subprocess.run(['npx', 'compileProtos', 'src']) From 897a67f7ea66146fb697ac00038da10ee14f446d Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Sat, 11 Apr 2020 19:15:46 -0700 Subject: [PATCH 404/588] build: remove unused codecov config (#757) --- packages/google-cloud-vision/codecov.yaml | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 packages/google-cloud-vision/codecov.yaml diff --git a/packages/google-cloud-vision/codecov.yaml b/packages/google-cloud-vision/codecov.yaml deleted file mode 100644 index 5724ea9478d..00000000000 --- a/packages/google-cloud-vision/codecov.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -codecov: - ci: - - source.cloud.google.com From 9544b085fe19d031593b73fa5c9c379c7e803ab2 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 13 Apr 2020 09:51:00 -0700 Subject: [PATCH 405/588] docs: update urls in jsdoc (#758) --- .../google/cloud/vision/v1/image_annotator.proto | 2 +- .../cloud/vision/v1p1beta1/image_annotator.proto | 2 +- .../cloud/vision/v1p2beta1/image_annotator.proto | 2 +- .../cloud/vision/v1p3beta1/image_annotator.proto | 2 +- .../cloud/vision/v1p4beta1/image_annotator.proto | 2 +- packages/google-cloud-vision/synth.metadata | 16 +++++++++++++++- 6 files changed, 20 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index d2588604605..e75ca7660e8 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -676,7 +676,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto index e9665c20cb4..4f5ada70de2 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto @@ -502,7 +502,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index 8b0756d2af3..87ae9f2c696 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -533,7 +533,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto index b1c5ee41e96..b63aa2b252f 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -561,7 +561,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index 623dfe0abd9..9c18cccdfef 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -632,7 +632,7 @@ message ImageContext { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported languages](/vision/docs/languages). + // [supported languages](https://cloud.google.com/vision/docs/languages). repeated string language_hints = 2; // Parameters for crop hints annotation request. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index ad227f18fe7..ebc4a8b5d60 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -1,6 +1,20 @@ { - "updateTime": "2020-04-11T01:08:42.418307Z", "sources": [ + { + "git": { + "name": ".", + "remote": "https://github.com/googleapis/nodejs-vision.git", + "sha": "72f22b60e1491963ea1d22a4f96feabe07be0376" + } + }, + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "1bd77e8ce6f953ac641af7966d0c52646afc16a8", + "internalRef": "305974465" + } + }, { "git": { "name": "synthtool", From d5cee73e825d0825d2d75207d588937561b23944 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 13 Apr 2020 19:00:13 +0200 Subject: [PATCH 406/588] fix(deps): update dependency @google-cloud/promisify to v2 (#565) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@google-cloud/promisify](https://togithub.com/googleapis/nodejs-promisify) | dependencies | major | [`^1.0.4` -> `^2.0.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fpromisify/1.0.4/2.0.0) | --- ### Release Notes
googleapis/nodejs-promisify ### [`v2.0.0`](https://togithub.com/googleapis/nodejs-promisify/blob/master/CHANGELOG.md#​200-httpswwwgithubcomgoogleapisnodejs-promisifycomparev104v200-2020-03-23) [Compare Source](https://togithub.com/googleapis/nodejs-promisify/compare/v1.0.4...v2.0.0) ##### ⚠ BREAKING CHANGES - update to latest version of gts/typescript ([#​183](https://togithub.com/googleapis/nodejs-promisify/issues/183)) - drop Node 8 from engines field ([#​184](https://togithub.com/googleapis/nodejs-promisify/issues/184)) ##### Features - drop Node 8 from engines field ([#​184](https://www.github.com/googleapis/nodejs-promisify/issues/184)) ([7e6d3c5](https://www.github.com/googleapis/nodejs-promisify/commit/7e6d3c54066d89530ed25c7f9722efd252f43fb8)) ##### Build System - update to latest version of gts/typescript ([#​183](https://www.github.com/googleapis/nodejs-promisify/issues/183)) ([9c3ed12](https://www.github.com/googleapis/nodejs-promisify/commit/9c3ed12c12f4bb1e17af7440c6371c4cefddcd59)) ##### [1.0.4](https://www.github.com/googleapis/nodejs-promisify/compare/v1.0.3...v1.0.4) (2019-12-05) ##### Bug Fixes - **deps:** pin TypeScript below 3.7.0 ([e48750e](https://www.github.com/googleapis/nodejs-promisify/commit/e48750ef96aa20eb3a2b73fe2f062d04430468a7)) ##### [1.0.3](https://www.github.com/googleapis/nodejs-promisify/compare/v1.0.2...v1.0.3) (2019-11-13) ##### Bug Fixes - **docs:** add jsdoc-region-tag plugin ([#​146](https://www.github.com/googleapis/nodejs-promisify/issues/146)) ([ff0ee74](https://www.github.com/googleapis/nodejs-promisify/commit/ff0ee7408f50e8f7147b8ccf7e10337aa5920076)) ##### [1.0.2](https://www.github.com/googleapis/nodejs-promisify/compare/v1.0.1...v1.0.2) (2019-06-26) ##### Bug Fixes - **docs:** link to reference docs section on googleapis.dev ([#​128](https://www.github.com/googleapis/nodejs-promisify/issues/128)) ([5a8bd90](https://www.github.com/googleapis/nodejs-promisify/commit/5a8bd90)) ##### [1.0.1](https://www.github.com/googleapis/nodejs-promisify/compare/v1.0.0...v1.0.1) (2019-06-14) ##### Bug Fixes - **docs:** move to new client docs URL ([#​124](https://www.github.com/googleapis/nodejs-promisify/issues/124)) ([34d18cd](https://www.github.com/googleapis/nodejs-promisify/commit/34d18cd))
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a893d63a834..3bd85251c8e 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -43,7 +43,7 @@ "prepare": "npm run compile" }, "dependencies": { - "@google-cloud/promisify": "^1.0.4", + "@google-cloud/promisify": "^2.0.0", "google-gax": "^2.1.0", "is": "^3.3.0" }, From a2f72bf56b3f0dacc2c9b29bb83a57548bb70d13 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 13 Apr 2020 14:57:15 -0700 Subject: [PATCH 407/588] chore: update lint ignore files (#759) --- packages/google-cloud-vision/.eslintignore | 3 ++- packages/google-cloud-vision/.prettierignore | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/.eslintignore b/packages/google-cloud-vision/.eslintignore index 09b31fe735a..9340ad9b86d 100644 --- a/packages/google-cloud-vision/.eslintignore +++ b/packages/google-cloud-vision/.eslintignore @@ -1,5 +1,6 @@ **/node_modules -src/**/doc/* +**/coverage +test/fixtures build/ docs/ protos/ diff --git a/packages/google-cloud-vision/.prettierignore b/packages/google-cloud-vision/.prettierignore index f6fac98b0a8..9340ad9b86d 100644 --- a/packages/google-cloud-vision/.prettierignore +++ b/packages/google-cloud-vision/.prettierignore @@ -1,3 +1,6 @@ -node_modules/* -samples/node_modules/* -src/**/doc/* +**/node_modules +**/coverage +test/fixtures +build/ +docs/ +protos/ From 23f62436e814cb8b2828d369d6971128161faf9a Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 13 Apr 2020 19:32:44 -0700 Subject: [PATCH 408/588] chore: remove tslint.json (#760) --- packages/google-cloud-vision/tslint.json | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 packages/google-cloud-vision/tslint.json diff --git a/packages/google-cloud-vision/tslint.json b/packages/google-cloud-vision/tslint.json deleted file mode 100644 index 617dc975bae..00000000000 --- a/packages/google-cloud-vision/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "gts/tslint.json" -} From 9c9e6d8e91152e992d48f0edd560658177ef16ed Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 14 Apr 2020 09:55:11 -0700 Subject: [PATCH 409/588] chore: remove unused dev packages (#761) --- packages/google-cloud-vision/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 3bd85251c8e..31081b3c672 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -64,7 +64,6 @@ "mocha": "^7.0.1", "null-loader": "^3.0.0", "pack-n-play": "^1.0.0-2", - "prettier": "^1.19.1", "sinon": "^9.0.1", "ts-loader": "^6.2.1", "typescript": "^3.8.3", From ee5fecf95d164f1e7c4da8b0d265515152511dde Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 15 Apr 2020 17:34:33 +0200 Subject: [PATCH 410/588] chore(deps): update dependency null-loader to v4 (#763) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [null-loader](https://togithub.com/webpack-contrib/null-loader) | devDependencies | major | [`^3.0.0` -> `^4.0.0`](https://renovatebot.com/diffs/npm/null-loader/3.0.0/4.0.0) | --- ### Release Notes
webpack-contrib/null-loader ### [`v4.0.0`](https://togithub.com/webpack-contrib/null-loader/blob/master/CHANGELOG.md#​400-httpsgithubcomwebpack-contribnull-loadercomparev300v400-2020-04-15) [Compare Source](https://togithub.com/webpack-contrib/null-loader/compare/v3.0.0...v4.0.0) ##### Bug Fixes - support `webpack@5` ##### ⚠ BREAKING CHANGES - minimum required Nodejs version is `10.13`
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 31081b3c672..958963c839b 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -62,7 +62,7 @@ "jsdoc-region-tag": "^1.0.4", "linkinator": "^2.0.3", "mocha": "^7.0.1", - "null-loader": "^3.0.0", + "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^9.0.1", "ts-loader": "^6.2.1", From 23388da4629584cda5527b5cd798a58c4bf0f824 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 15 Apr 2020 18:40:11 +0200 Subject: [PATCH 411/588] chore(deps): update dependency ts-loader to v7 (#762) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ts-loader](https://togithub.com/TypeStrong/ts-loader) | devDependencies | major | [`^6.2.1` -> `^7.0.0`](https://renovatebot.com/diffs/npm/ts-loader/6.2.2/7.0.0) | --- ### Release Notes
TypeStrong/ts-loader ### [`v7.0.0`](https://togithub.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md#v700) [Compare Source](https://togithub.com/TypeStrong/ts-loader/compare/v6.2.2...v7.0.0) - [Project reference support enhancements](https://togithub.com/TypeStrong/ts-loader/pull/1076) - thanks [@​sheetalkamat](https://togithub.com/sheetalkamat)! - Following the end of life of Node 8, `ts-loader` no longer supports Node 8 **BREAKING CHANGE**
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 958963c839b..62e46b120d8 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -65,7 +65,7 @@ "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^9.0.1", - "ts-loader": "^6.2.1", + "ts-loader": "^7.0.0", "typescript": "^3.8.3", "uuid": "^3.4.0", "webpack": "^4.41.6", From 21da79a598530ea546864e8d714b822898a43fff Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Wed, 15 Apr 2020 10:56:07 -0700 Subject: [PATCH 412/588] chore: run fix instead of lint in synthfile (#764) --- packages/google-cloud-vision/synth.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 8ef28aa271f..f7c98186851 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -54,5 +54,5 @@ # Node.js specific cleanup subprocess.run(['npm', 'install']) -subprocess.run(['npm', 'run', 'lint']) +subprocess.run(['npm', 'run', 'fix']) subprocess.run(['npx', 'compileProtos', 'src']) From dc75827233dfc713df304acbec70eae57e8c1276 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 20 Apr 2020 14:56:16 -0700 Subject: [PATCH 413/588] chore: linting (#765) --- packages/google-cloud-vision/src/helpers.ts | 4 ++-- packages/google-cloud-vision/synth.metadata | 8 ++++---- packages/google-cloud-vision/system-test/install.ts | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/google-cloud-vision/src/helpers.ts b/packages/google-cloud-vision/src/helpers.ts index 517c52893ba..594a732303b 100644 --- a/packages/google-cloud-vision/src/helpers.ts +++ b/packages/google-cloud-vision/src/helpers.ts @@ -156,7 +156,7 @@ const _coerceRequest = ( const _createSingleFeatureMethod = ( featureValue: protoTypes.google.cloud.vision.v1.Feature.Type ) => { - return function( + return function ( this: VisionClient, request: string, callOptionsOrCallback?: @@ -275,7 +275,7 @@ export function call(apiVersion: string) { * }); */ - methods.annotateImage = promisify(function( + methods.annotateImage = promisify(function ( this: VisionClient, request: ImprovedRequest, callOptionsOrCallback: diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index ebc4a8b5d60..70907fd706d 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,22 +4,22 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "72f22b60e1491963ea1d22a4f96feabe07be0376" + "sha": "d870cbeaa9d72d58d1db27d6e55adcba882f5d2e" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "1bd77e8ce6f953ac641af7966d0c52646afc16a8", - "internalRef": "305974465" + "sha": "dea1f52034d188ca371c3a70c716ca2a6b3f2aa1", + "internalRef": "306298030" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "6f32150677c9784f3c3a7e1949472bd29c9d72c5" + "sha": "682c0c37d1054966ca662a44259e96cc7aea4413" } } ], diff --git a/packages/google-cloud-vision/system-test/install.ts b/packages/google-cloud-vision/system-test/install.ts index c4d80e9c0c8..4c1ba3eb79a 100644 --- a/packages/google-cloud-vision/system-test/install.ts +++ b/packages/google-cloud-vision/system-test/install.ts @@ -21,7 +21,7 @@ import {readFileSync} from 'fs'; import {describe, it} from 'mocha'; describe('typescript consumer tests', () => { - it('should have correct type signature for typescript users', async function() { + it('should have correct type signature for typescript users', async function () { this.timeout(300000); const options = { packageDir: process.cwd(), // path to your module. @@ -35,7 +35,7 @@ describe('typescript consumer tests', () => { await packNTest(options); // will throw upon error. }); - it('should have correct type signature for javascript users', async function() { + it('should have correct type signature for javascript users', async function () { this.timeout(300000); const options = { packageDir: process.cwd(), // path to your module. From 5ce383b05f5769b49d052f728cb18160f3dd6971 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 21 Apr 2020 20:39:08 -0700 Subject: [PATCH 414/588] build: adopt changes to generator formatting (#766) --- packages/google-cloud-vision/protos/protos.js | 2086 ++++++++--------- packages/google-cloud-vision/synth.metadata | 8 +- 2 files changed, 1047 insertions(+), 1047 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 50233b4d14f..0eed068083b 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -131,9 +131,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -341,9 +341,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -812,11 +812,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -1211,11 +1211,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -1437,7 +1437,7 @@ /** * Type enum. * @name google.cloud.vision.v1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -1538,9 +1538,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -1748,9 +1748,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -1910,7 +1910,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -2112,36 +2112,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -2750,9 +2750,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -3078,7 +3078,7 @@ /** * Type enum. * @name google.cloud.vision.v1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -3217,7 +3217,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -3427,11 +3427,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -3729,19 +3729,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -4104,15 +4104,15 @@ LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -4439,27 +4439,27 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); - if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) + if (message.adultConfidence != null && Object.hasOwnProperty.call(message, "adultConfidence")) writer.uint32(/* id 16, wireType 5 =*/133).float(message.adultConfidence); - if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) + if (message.spoofConfidence != null && Object.hasOwnProperty.call(message, "spoofConfidence")) writer.uint32(/* id 18, wireType 5 =*/149).float(message.spoofConfidence); - if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) + if (message.medicalConfidence != null && Object.hasOwnProperty.call(message, "medicalConfidence")) writer.uint32(/* id 20, wireType 5 =*/165).float(message.medicalConfidence); - if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) + if (message.violenceConfidence != null && Object.hasOwnProperty.call(message, "violenceConfidence")) writer.uint32(/* id 22, wireType 5 =*/181).float(message.violenceConfidence); - if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) + if (message.racyConfidence != null && Object.hasOwnProperty.call(message, "racyConfidence")) writer.uint32(/* id 24, wireType 5 =*/197).float(message.racyConfidence); - if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) + if (message.nsfwConfidence != null && Object.hasOwnProperty.call(message, "nsfwConfidence")) writer.uint32(/* id 26, wireType 5 =*/213).float(message.nsfwConfidence); return writer; }; @@ -4931,9 +4931,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -5160,11 +5160,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -5587,7 +5587,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -5797,11 +5797,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -6435,7 +6435,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -6659,16 +6659,16 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + if (message.productSearchParams != null && Object.hasOwnProperty.call(message, "productSearchParams")) $root.google.cloud.vision.v1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -6954,12 +6954,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -7208,9 +7208,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -7547,21 +7547,21 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + if (message.productSearchResults != null && Object.hasOwnProperty.call(message, "productSearchResults")) $root.google.cloud.vision.v1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) + if (message.context != null && Object.hasOwnProperty.call(message, "context")) $root.google.cloud.vision.v1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) @@ -8064,7 +8064,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; @@ -8519,12 +8519,12 @@ AnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.pages != null && message.pages.length) { writer.uint32(/* id 4, wireType 2 =*/34).fork(); @@ -8829,14 +8829,14 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) $root.google.cloud.vision.v1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalPages != null && message.hasOwnProperty("totalPages")) + if (message.totalPages != null && Object.hasOwnProperty.call(message, "totalPages")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -9100,7 +9100,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.parent); return writer; }; @@ -9554,14 +9554,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -9817,7 +9817,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -10031,9 +10031,9 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; @@ -10268,7 +10268,7 @@ AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -10473,7 +10473,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; @@ -10917,11 +10917,11 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); return writer; }; @@ -11154,9 +11154,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) $root.google.cloud.vision.v1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -11360,7 +11360,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -11547,7 +11547,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -11752,11 +11752,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) + 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.updateTime != null && message.hasOwnProperty("updateTime")) + if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -11948,7 +11948,7 @@ /** * State enum. * @name google.cloud.vision.v1.OperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -12052,14 +12052,14 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) for (var i = 0; i < message.productCategories.length; ++i) writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && message.hasOwnProperty("filter")) + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -12320,7 +12320,7 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -12595,11 +12595,11 @@ Result.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); return writer; }; @@ -12841,13 +12841,13 @@ ObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); return writer; }; @@ -13088,7 +13088,7 @@ GroupedResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -14050,13 +14050,13 @@ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.productLabels != null && message.productLabels.length) for (var i = 0; i < message.productLabels.length; ++i) @@ -14317,9 +14317,9 @@ KeyValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) + if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; @@ -14548,13 +14548,13 @@ ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && message.hasOwnProperty("indexError")) + if (message.indexError != null && Object.hasOwnProperty.call(message, "indexError")) $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -14804,9 +14804,9 @@ ReferenceImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); if (message.boundingPolys != null && message.boundingPolys.length) for (var i = 0; i < message.boundingPolys.length; ++i) @@ -15057,11 +15057,11 @@ CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && message.hasOwnProperty("productId")) + if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; @@ -15294,11 +15294,11 @@ ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -15521,7 +15521,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -15739,7 +15739,7 @@ GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -15935,9 +15935,9 @@ UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -16146,7 +16146,7 @@ DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -16351,11 +16351,11 @@ CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; @@ -16588,11 +16588,11 @@ ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -16815,7 +16815,7 @@ if (message.productSets != null && message.productSets.length) for (var i = 0; i < message.productSets.length; ++i) $root.google.cloud.vision.v1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -17033,7 +17033,7 @@ GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -17229,9 +17229,9 @@ UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -17440,7 +17440,7 @@ DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -17645,11 +17645,11 @@ CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + if (message.referenceImage != null && Object.hasOwnProperty.call(message, "referenceImage")) $root.google.cloud.vision.v1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (message.referenceImageId != null && Object.hasOwnProperty.call(message, "referenceImageId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; @@ -17882,11 +17882,11 @@ ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -18118,9 +18118,9 @@ if (message.referenceImages != null && message.referenceImages.length) for (var i = 0; i < message.referenceImages.length; ++i) $root.google.cloud.vision.v1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; @@ -18350,7 +18350,7 @@ GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -18537,7 +18537,7 @@ DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -18733,9 +18733,9 @@ AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -18943,9 +18943,9 @@ RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -19162,11 +19162,11 @@ ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -19389,7 +19389,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -19607,7 +19607,7 @@ ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (message.csvFileUri != null && Object.hasOwnProperty.call(message, "csvFileUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; @@ -19808,7 +19808,7 @@ ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -20014,9 +20014,9 @@ ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -20490,11 +20490,11 @@ BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && message.hasOwnProperty("submitTime")) + if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -20686,7 +20686,7 @@ /** * State enum. * @name google.cloud.vision.v1.BatchOperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SUCCESSFUL=2 SUCCESSFUL value @@ -20762,7 +20762,7 @@ ProductSetPurgeConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productSetId); return writer; }; @@ -20990,13 +20990,13 @@ PurgeProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) + if (message.productSetPurgeConfig != null && Object.hasOwnProperty.call(message, "productSetPurgeConfig")) $root.google.cloud.vision.v1.ProductSetPurgeConfig.encode(message.productSetPurgeConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) + if (message.deleteOrphanProducts != null && Object.hasOwnProperty.call(message, "deleteOrphanProducts")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deleteOrphanProducts); - if (message.force != null && message.hasOwnProperty("force")) + if (message.force != null && Object.hasOwnProperty.call(message, "force")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.force); return writer; }; @@ -21247,7 +21247,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -21471,9 +21471,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -21681,9 +21681,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -21859,7 +21859,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -21950,7 +21950,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -22213,16 +22213,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -22516,16 +22516,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -22764,7 +22764,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -22870,14 +22870,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -23156,14 +23156,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -23441,13 +23441,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -24117,11 +24117,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -24340,9 +24340,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -24579,11 +24579,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -24870,9 +24870,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -25095,9 +25095,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -25522,11 +25522,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -25822,11 +25822,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -26038,7 +26038,7 @@ /** * Type enum. * @name google.cloud.vision.v1p1beta1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -26135,9 +26135,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -26345,9 +26345,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1p1beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -26687,36 +26687,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -27325,9 +27325,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1p1beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -27653,7 +27653,7 @@ /** * Type enum. * @name google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -27792,7 +27792,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -28002,11 +28002,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -28304,19 +28304,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -28679,15 +28679,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -29093,9 +29093,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -29322,11 +29322,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -29749,7 +29749,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -29959,11 +29959,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -30597,7 +30597,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -30812,14 +30812,14 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1p1beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1p1beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p1beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -31089,12 +31089,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1p1beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p1beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p1beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -31444,17 +31444,17 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1p1beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1p1beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; }; @@ -32242,7 +32242,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p1beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -32330,7 +32330,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p1beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -32554,9 +32554,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -32764,9 +32764,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -32942,7 +32942,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -33033,7 +33033,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -33296,16 +33296,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p1beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -33599,16 +33599,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p1beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -33847,7 +33847,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p1beta1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -33953,14 +33953,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p1beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -34239,14 +34239,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p1beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -34524,13 +34524,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -35200,11 +35200,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -35423,9 +35423,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -35662,11 +35662,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -35953,9 +35953,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -36178,9 +36178,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -36388,9 +36388,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -36859,11 +36859,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -37192,11 +37192,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -37408,7 +37408,7 @@ /** * Type enum. * @name google.cloud.vision.v1p2beta1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -37505,9 +37505,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -37715,9 +37715,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1p2beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -38057,36 +38057,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -38695,9 +38695,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1p2beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -39023,7 +39023,7 @@ /** * Type enum. * @name google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -39162,7 +39162,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -39372,11 +39372,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -39674,19 +39674,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -40049,15 +40049,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -40463,9 +40463,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -40692,11 +40692,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -41119,7 +41119,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -41329,11 +41329,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -41967,7 +41967,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -42182,14 +42182,14 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1p2beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1p2beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p2beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -42459,12 +42459,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1p2beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -42713,9 +42713,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -43033,19 +43033,19 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1p2beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1p2beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) + if (message.context != null && Object.hasOwnProperty.call(message, "context")) $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); return writer; }; @@ -43496,7 +43496,7 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) @@ -44166,14 +44166,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -44429,7 +44429,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -45046,9 +45046,9 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p2beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); return writer; }; @@ -45261,9 +45261,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) $root.google.cloud.vision.v1p2beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -45467,7 +45467,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -45654,7 +45654,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -45859,11 +45859,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) + 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.updateTime != null && message.hasOwnProperty("updateTime")) + if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -46055,7 +46055,7 @@ /** * State enum. * @name google.cloud.vision.v1p2beta1.OperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -46078,7 +46078,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p2beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -46166,7 +46166,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p2beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -46390,9 +46390,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -46600,9 +46600,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -46778,7 +46778,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -46869,7 +46869,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -47132,16 +47132,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p2beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -47435,16 +47435,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p2beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -47683,7 +47683,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p2beta1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -47789,14 +47789,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p2beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -48075,14 +48075,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p2beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -48360,13 +48360,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -49036,11 +49036,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -49259,9 +49259,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -49498,11 +49498,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -49789,9 +49789,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -50014,9 +50014,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -50224,9 +50224,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -50903,11 +50903,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -51236,11 +51236,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -51462,7 +51462,7 @@ /** * Type enum. * @name google.cloud.vision.v1p3beta1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -51563,9 +51563,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -51773,9 +51773,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1p3beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -52115,36 +52115,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -52753,9 +52753,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1p3beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -53081,7 +53081,7 @@ /** * Type enum. * @name google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -53220,7 +53220,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -53430,11 +53430,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -53732,19 +53732,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -54107,15 +54107,15 @@ LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -54388,15 +54388,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -54802,9 +54802,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -55031,11 +55031,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -55458,7 +55458,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -55668,11 +55668,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -56306,7 +56306,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -56530,16 +56530,16 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1p3beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1p3beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + if (message.productSearchParams != null && Object.hasOwnProperty.call(message, "productSearchParams")) $root.google.cloud.vision.v1p3beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p3beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -56825,12 +56825,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1p3beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -57079,9 +57079,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -57418,21 +57418,21 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1p3beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1p3beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + if (message.productSearchResults != null && Object.hasOwnProperty.call(message, "productSearchResults")) $root.google.cloud.vision.v1p3beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) + if (message.context != null && Object.hasOwnProperty.call(message, "context")) $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) @@ -57932,7 +57932,7 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) @@ -58602,14 +58602,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -58865,7 +58865,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -59482,9 +59482,9 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p3beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); return writer; }; @@ -59697,9 +59697,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) $root.google.cloud.vision.v1p3beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -59903,7 +59903,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -60090,7 +60090,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -60224,7 +60224,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p3beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -60317,11 +60317,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) + 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.updateTime != null && message.hasOwnProperty("updateTime")) + if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -60513,7 +60513,7 @@ /** * State enum. * @name google.cloud.vision.v1p3beta1.OperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -60662,24 +60662,24 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.catalogName != null && message.hasOwnProperty("catalogName")) + if (message.catalogName != null && Object.hasOwnProperty.call(message, "catalogName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.catalogName); - if (message.category != null && message.hasOwnProperty("category")) + if (message.category != null && Object.hasOwnProperty.call(message, "category")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.category); - if (message.normalizedBoundingPoly != null && message.hasOwnProperty("normalizedBoundingPoly")) + if (message.normalizedBoundingPoly != null && Object.hasOwnProperty.call(message, "normalizedBoundingPoly")) $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.encode(message.normalizedBoundingPoly, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.view != null && message.hasOwnProperty("view")) + if (message.view != null && Object.hasOwnProperty.call(message, "view")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.view); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.productCategory); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) for (var i = 0; i < message.productCategories.length; ++i) writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && message.hasOwnProperty("filter")) + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -61049,14 +61049,14 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.category != null && message.hasOwnProperty("category")) + if (message.category != null && Object.hasOwnProperty.call(message, "category")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.category); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.encode(message.products[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -61369,11 +61369,11 @@ ProductInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productId != null && message.hasOwnProperty("productId")) + if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productId); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.score); return writer; }; @@ -61601,11 +61601,11 @@ Result.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); return writer; }; @@ -61770,7 +61770,7 @@ /** * ProductSearchCategory enum. * @name google.cloud.vision.v1p3beta1.ProductSearchCategory - * @enum {string} + * @enum {number} * @property {number} PRODUCT_SEARCH_CATEGORY_UNSPECIFIED=0 PRODUCT_SEARCH_CATEGORY_UNSPECIFIED value * @property {number} SHOES=1 SHOES value * @property {number} BAGS=2 BAGS value @@ -61786,7 +61786,7 @@ /** * ProductSearchResultsView enum. * @name google.cloud.vision.v1p3beta1.ProductSearchResultsView - * @enum {string} + * @enum {number} * @property {number} BASIC=0 BASIC value * @property {number} FULL=1 FULL value */ @@ -62519,13 +62519,13 @@ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.productLabels != null && message.productLabels.length) for (var i = 0; i < message.productLabels.length; ++i) @@ -62786,9 +62786,9 @@ KeyValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) + if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; @@ -63017,13 +63017,13 @@ ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && message.hasOwnProperty("indexError")) + if (message.indexError != null && Object.hasOwnProperty.call(message, "indexError")) $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -63273,9 +63273,9 @@ ReferenceImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); if (message.boundingPolys != null && message.boundingPolys.length) for (var i = 0; i < message.boundingPolys.length; ++i) @@ -63526,11 +63526,11 @@ CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && message.hasOwnProperty("productId")) + if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; @@ -63763,11 +63763,11 @@ ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -63990,7 +63990,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p3beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -64208,7 +64208,7 @@ GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -64404,9 +64404,9 @@ UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -64615,7 +64615,7 @@ DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -64820,11 +64820,11 @@ CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; @@ -65057,11 +65057,11 @@ ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -65284,7 +65284,7 @@ if (message.productSets != null && message.productSets.length) for (var i = 0; i < message.productSets.length; ++i) $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -65502,7 +65502,7 @@ GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -65698,9 +65698,9 @@ UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -65909,7 +65909,7 @@ DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -66114,11 +66114,11 @@ CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + if (message.referenceImage != null && Object.hasOwnProperty.call(message, "referenceImage")) $root.google.cloud.vision.v1p3beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (message.referenceImageId != null && Object.hasOwnProperty.call(message, "referenceImageId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; @@ -66351,11 +66351,11 @@ ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -66587,9 +66587,9 @@ if (message.referenceImages != null && message.referenceImages.length) for (var i = 0; i < message.referenceImages.length; ++i) $root.google.cloud.vision.v1p3beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; @@ -66819,7 +66819,7 @@ GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -67006,7 +67006,7 @@ DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -67202,9 +67202,9 @@ AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -67412,9 +67412,9 @@ RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -67631,11 +67631,11 @@ ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -67858,7 +67858,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p3beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -68076,7 +68076,7 @@ ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (message.csvFileUri != null && Object.hasOwnProperty.call(message, "csvFileUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; @@ -68277,7 +68277,7 @@ ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -68483,9 +68483,9 @@ ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -68959,11 +68959,11 @@ BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && message.hasOwnProperty("submitTime")) + if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -69155,7 +69155,7 @@ /** * State enum. * @name google.cloud.vision.v1p3beta1.BatchOperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SUCCESSFUL=2 SUCCESSFUL value @@ -69244,7 +69244,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p3beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -69468,9 +69468,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -69678,9 +69678,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -69856,7 +69856,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -69947,7 +69947,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -70210,16 +70210,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p3beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -70513,16 +70513,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p3beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -70761,7 +70761,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p3beta1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -70867,14 +70867,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p3beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -71153,14 +71153,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p3beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -71438,13 +71438,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -72114,11 +72114,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -72337,9 +72337,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -72576,11 +72576,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -72867,9 +72867,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -73304,11 +73304,11 @@ Celebrity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -73527,9 +73527,9 @@ FaceRecognitionResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.celebrity != null && message.hasOwnProperty("celebrity")) + if (message.celebrity != null && Object.hasOwnProperty.call(message, "celebrity")) $root.google.cloud.vision.v1p4beta1.Celebrity.encode(message.celebrity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -73742,9 +73742,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -73952,9 +73952,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -74423,11 +74423,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -74822,11 +74822,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -75048,7 +75048,7 @@ /** * Type enum. * @name google.cloud.vision.v1p4beta1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -75149,9 +75149,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -75359,9 +75359,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1p4beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -75521,7 +75521,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p4beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -75733,36 +75733,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); if (message.recognitionResult != null && message.recognitionResult.length) for (var i = 0; i < message.recognitionResult.length; ++i) @@ -76405,9 +76405,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1p4beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -76733,7 +76733,7 @@ /** * Type enum. * @name google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -76872,7 +76872,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -77082,11 +77082,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -77384,19 +77384,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -77759,15 +77759,15 @@ LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -78040,15 +78040,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -78454,9 +78454,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -78683,11 +78683,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -79110,7 +79110,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -79320,11 +79320,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -79958,7 +79958,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -80191,18 +80191,18 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1p4beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1p4beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + if (message.productSearchParams != null && Object.hasOwnProperty.call(message, "productSearchParams")) $root.google.cloud.vision.v1p4beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p4beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) + if (message.faceRecognitionParams != null && Object.hasOwnProperty.call(message, "faceRecognitionParams")) $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.encode(message.faceRecognitionParams, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); return writer; }; @@ -80504,12 +80504,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1p4beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -80758,9 +80758,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -81097,21 +81097,21 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1p4beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1p4beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + if (message.productSearchResults != null && Object.hasOwnProperty.call(message, "productSearchResults")) $root.google.cloud.vision.v1p4beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) + if (message.context != null && Object.hasOwnProperty.call(message, "context")) $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) @@ -82046,12 +82046,12 @@ AnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.pages != null && message.pages.length) { writer.uint32(/* id 4, wireType 2 =*/34).fork(); @@ -82356,14 +82356,14 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalPages != null && message.hasOwnProperty("totalPages")) + if (message.totalPages != null && Object.hasOwnProperty.call(message, "totalPages")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -83058,14 +83058,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -83321,7 +83321,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -83526,7 +83526,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -83749,7 +83749,7 @@ AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -84375,11 +84375,11 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p4beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); return writer; }; @@ -84612,9 +84612,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) $root.google.cloud.vision.v1p4beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -84818,7 +84818,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -85005,7 +85005,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -85210,11 +85210,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) + 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.updateTime != null && message.hasOwnProperty("updateTime")) + if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -85406,7 +85406,7 @@ /** * State enum. * @name google.cloud.vision.v1p4beta1.OperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -85510,14 +85510,14 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) for (var i = 0; i < message.productCategories.length; ++i) writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && message.hasOwnProperty("filter")) + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -85778,7 +85778,7 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -86053,11 +86053,11 @@ Result.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); return writer; }; @@ -86299,13 +86299,13 @@ ObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); return writer; }; @@ -86546,7 +86546,7 @@ GroupedResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -87508,13 +87508,13 @@ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.productLabels != null && message.productLabels.length) for (var i = 0; i < message.productLabels.length; ++i) @@ -87775,9 +87775,9 @@ KeyValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) + if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; @@ -88006,13 +88006,13 @@ ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && message.hasOwnProperty("indexError")) + if (message.indexError != null && Object.hasOwnProperty.call(message, "indexError")) $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -88262,9 +88262,9 @@ ReferenceImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); if (message.boundingPolys != null && message.boundingPolys.length) for (var i = 0; i < message.boundingPolys.length; ++i) @@ -88515,11 +88515,11 @@ CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && message.hasOwnProperty("productId")) + if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; @@ -88752,11 +88752,11 @@ ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -88979,7 +88979,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -89197,7 +89197,7 @@ GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -89393,9 +89393,9 @@ UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -89604,7 +89604,7 @@ DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -89809,11 +89809,11 @@ CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; @@ -90046,11 +90046,11 @@ ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -90273,7 +90273,7 @@ if (message.productSets != null && message.productSets.length) for (var i = 0; i < message.productSets.length; ++i) $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -90491,7 +90491,7 @@ GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -90687,9 +90687,9 @@ UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -90898,7 +90898,7 @@ DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -91103,11 +91103,11 @@ CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + if (message.referenceImage != null && Object.hasOwnProperty.call(message, "referenceImage")) $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (message.referenceImageId != null && Object.hasOwnProperty.call(message, "referenceImageId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; @@ -91340,11 +91340,11 @@ ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -91576,9 +91576,9 @@ if (message.referenceImages != null && message.referenceImages.length) for (var i = 0; i < message.referenceImages.length; ++i) $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; @@ -91808,7 +91808,7 @@ GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -91995,7 +91995,7 @@ DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -92191,9 +92191,9 @@ AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -92401,9 +92401,9 @@ RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -92620,11 +92620,11 @@ ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -92847,7 +92847,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -93065,7 +93065,7 @@ ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (message.csvFileUri != null && Object.hasOwnProperty.call(message, "csvFileUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; @@ -93266,7 +93266,7 @@ ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -93472,9 +93472,9 @@ ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -93948,11 +93948,11 @@ BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && message.hasOwnProperty("submitTime")) + if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -94144,7 +94144,7 @@ /** * State enum. * @name google.cloud.vision.v1p4beta1.BatchOperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SUCCESSFUL=2 SUCCESSFUL value @@ -94220,7 +94220,7 @@ ProductSetPurgeConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productSetId); return writer; }; @@ -94448,13 +94448,13 @@ PurgeProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) + if (message.productSetPurgeConfig != null && Object.hasOwnProperty.call(message, "productSetPurgeConfig")) $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.encode(message.productSetPurgeConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) + if (message.deleteOrphanProducts != null && Object.hasOwnProperty.call(message, "deleteOrphanProducts")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deleteOrphanProducts); - if (message.force != null && message.hasOwnProperty("force")) + if (message.force != null && Object.hasOwnProperty.call(message, "force")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.force); return writer; }; @@ -94705,7 +94705,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p4beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -94929,9 +94929,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -95139,9 +95139,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -95317,7 +95317,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -95408,7 +95408,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -95671,16 +95671,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p4beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -95974,16 +95974,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p4beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -96222,7 +96222,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p4beta1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -96328,14 +96328,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p4beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -96614,14 +96614,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p4beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -96899,13 +96899,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -97575,11 +97575,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -97798,9 +97798,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -98037,11 +98037,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -98328,9 +98328,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -98563,7 +98563,7 @@ 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 && message.hasOwnProperty("fullyDecodeReservedExpansion")) + if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion); return writer; }; @@ -98877,26 +98877,26 @@ HttpRule.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.selector != null && message.hasOwnProperty("selector")) + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); - if (message.get != null && message.hasOwnProperty("get")) + if (message.get != null && Object.hasOwnProperty.call(message, "get")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.get); - if (message.put != null && message.hasOwnProperty("put")) + if (message.put != null && Object.hasOwnProperty.call(message, "put")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.put); - if (message.post != null && message.hasOwnProperty("post")) + if (message.post != null && Object.hasOwnProperty.call(message, "post")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.post); - if (message["delete"] != null && message.hasOwnProperty("delete")) + if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete")) writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]); - if (message.patch != null && message.hasOwnProperty("patch")) + if (message.patch != null && Object.hasOwnProperty.call(message, "patch")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch); - if (message.body != null && message.hasOwnProperty("body")) + if (message.body != null && Object.hasOwnProperty.call(message, "body")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.body); - if (message.custom != null && message.hasOwnProperty("custom")) + 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 && message.hasOwnProperty("responseBody")) + if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody); return writer; }; @@ -99253,9 +99253,9 @@ CustomHttpPattern.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.kind != null && message.hasOwnProperty("kind")) + if (message.kind != null && Object.hasOwnProperty.call(message, "kind")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind); - if (message.path != null && message.hasOwnProperty("path")) + if (message.path != null && Object.hasOwnProperty.call(message, "path")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); return writer; }; @@ -99401,7 +99401,7 @@ /** * FieldBehavior enum. * @name google.api.FieldBehavior - * @enum {string} + * @enum {number} * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value * @property {number} OPTIONAL=1 OPTIONAL value * @property {number} REQUIRED=2 REQUIRED value @@ -99522,18 +99522,18 @@ ResourceDescriptor.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); if (message.pattern != null && message.pattern.length) for (var i = 0; i < message.pattern.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.pattern[i]); - if (message.nameField != null && message.hasOwnProperty("nameField")) + if (message.nameField != null && Object.hasOwnProperty.call(message, "nameField")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField); - if (message.history != null && message.hasOwnProperty("history")) + if (message.history != null && Object.hasOwnProperty.call(message, "history")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history); - if (message.plural != null && message.hasOwnProperty("plural")) + if (message.plural != null && Object.hasOwnProperty.call(message, "plural")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural); - if (message.singular != null && message.hasOwnProperty("singular")) + if (message.singular != null && Object.hasOwnProperty.call(message, "singular")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular); return writer; }; @@ -99753,7 +99753,7 @@ /** * History enum. * @name google.api.ResourceDescriptor.History - * @enum {string} + * @enum {number} * @property {number} HISTORY_UNSPECIFIED=0 HISTORY_UNSPECIFIED value * @property {number} ORIGINALLY_SINGLE_PATTERN=1 ORIGINALLY_SINGLE_PATTERN value * @property {number} FUTURE_MULTI_PATTERN=2 FUTURE_MULTI_PATTERN value @@ -99834,9 +99834,9 @@ ResourceReference.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.childType != null && message.hasOwnProperty("childType")) + if (message.childType != null && Object.hasOwnProperty.call(message, "childType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.childType); return writer; }; @@ -100361,9 +100361,9 @@ FileDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message["package"] != null && message.hasOwnProperty("package")) + if (message["package"] != null && Object.hasOwnProperty.call(message, "package")) writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); if (message.dependency != null && message.dependency.length) for (var i = 0; i < message.dependency.length; ++i) @@ -100380,9 +100380,9 @@ if (message.extension != null && message.extension.length) for (var i = 0; i < message.extension.length; ++i) $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) + if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo")) $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.publicDependency != null && message.publicDependency.length) for (var i = 0; i < message.publicDependency.length; ++i) @@ -100390,7 +100390,7 @@ if (message.weakDependency != null && message.weakDependency.length) for (var i = 0; i < message.weakDependency.length; ++i) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); - if (message.syntax != null && message.hasOwnProperty("syntax")) + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); return writer; }; @@ -100928,7 +100928,7 @@ DescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.field != null && message.field.length) for (var i = 0; i < message.field.length; ++i) @@ -100945,7 +100945,7 @@ if (message.extension != null && message.extension.length) for (var i = 0; i < message.extension.length; ++i) $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.oneofDecl != null && message.oneofDecl.length) for (var i = 0; i < message.oneofDecl.length; ++i) @@ -101410,11 +101410,11 @@ ExtensionRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.start != null && message.hasOwnProperty("start")) + if (message.start != null && Object.hasOwnProperty.call(message, "start")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && message.hasOwnProperty("end")) + if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -101638,9 +101638,9 @@ ReservedRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.start != null && message.hasOwnProperty("start")) + if (message.start != null && Object.hasOwnProperty.call(message, "start")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && message.hasOwnProperty("end")) + if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); return writer; }; @@ -102131,25 +102131,25 @@ FieldDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.extendee != null && message.hasOwnProperty("extendee")) + if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); - if (message.number != null && message.hasOwnProperty("number")) + if (message.number != null && Object.hasOwnProperty.call(message, "number")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); - if (message.typeName != null && message.hasOwnProperty("typeName")) + if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); - if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); - if (message.jsonName != null && message.hasOwnProperty("jsonName")) + if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); return writer; }; @@ -102496,7 +102496,7 @@ /** * Type enum. * @name google.protobuf.FieldDescriptorProto.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value * @property {number} TYPE_INT64=3 TYPE_INT64 value @@ -102542,7 +102542,7 @@ /** * Label enum. * @name google.protobuf.FieldDescriptorProto.Label - * @enum {string} + * @enum {number} * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value @@ -102623,9 +102623,9 @@ OneofDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -102868,12 +102868,12 @@ EnumDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.value != null && message.value.length) for (var i = 0; i < message.value.length; ++i) $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.reservedRange != null && message.reservedRange.length) for (var i = 0; i < message.reservedRange.length; ++i) @@ -103176,9 +103176,9 @@ EnumReservedRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.start != null && message.hasOwnProperty("start")) + if (message.start != null && Object.hasOwnProperty.call(message, "start")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && message.hasOwnProperty("end")) + if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); return writer; }; @@ -103398,11 +103398,11 @@ EnumValueDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.number != null && message.hasOwnProperty("number")) + if (message.number != null && Object.hasOwnProperty.call(message, "number")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -103636,12 +103636,12 @@ ServiceDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.method != null && message.method.length) for (var i = 0; i < message.method.length; ++i) $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -103921,17 +103921,17 @@ MethodDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.inputType != null && message.hasOwnProperty("inputType")) + if (message.inputType != null && Object.hasOwnProperty.call(message, "inputType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); - if (message.outputType != null && message.hasOwnProperty("outputType")) + if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); - if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming")) writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); return writer; }; @@ -104370,45 +104370,45 @@ FileOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); - if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); - if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); - if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); - if (message.goPackage != null && message.hasOwnProperty("goPackage")) + if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); - if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices")) writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); - if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices")) writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); - if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices")) writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); - if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash")) writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); - if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8")) writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); - if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas")) writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); - if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix")) writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); - if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace")) writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); - if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix")) writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); - if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix")) writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); - if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace")) writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); - if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + if (message.phpGenericServices != null && Object.hasOwnProperty.call(message, "phpGenericServices")) writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices); - if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace")) writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace); - if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage")) writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -104835,7 +104835,7 @@ /** * OptimizeMode enum. * @name google.protobuf.FileOptions.OptimizeMode - * @enum {string} + * @enum {number} * @property {number} SPEED=1 SPEED value * @property {number} CODE_SIZE=2 CODE_SIZE value * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value @@ -104953,18 +104953,18 @@ MessageOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); - if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry")) writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) + if (message[".google.api.resource"] != null && Object.hasOwnProperty.call(message, ".google.api.resource")) $root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); return writer; }; @@ -105306,17 +105306,17 @@ FieldOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.ctype != null && message.hasOwnProperty("ctype")) + if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); - if (message.packed != null && message.hasOwnProperty("packed")) + if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.lazy != null && message.hasOwnProperty("lazy")) + if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); - if (message.jstype != null && message.hasOwnProperty("jstype")) + if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); - if (message.weak != null && message.hasOwnProperty("weak")) + if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -105327,7 +105327,7 @@ writer.int32(message[".google.api.fieldBehavior"][i]); writer.ldelim(); } - if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) + if (message[".google.api.resourceReference"] != null && Object.hasOwnProperty.call(message, ".google.api.resourceReference")) $root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(/* id 1055, wireType 2 =*/8442).fork()).ldelim(); return writer; }; @@ -105663,7 +105663,7 @@ /** * CType enum. * @name google.protobuf.FieldOptions.CType - * @enum {string} + * @enum {number} * @property {number} STRING=0 STRING value * @property {number} CORD=1 CORD value * @property {number} STRING_PIECE=2 STRING_PIECE value @@ -105679,7 +105679,7 @@ /** * JSType enum. * @name google.protobuf.FieldOptions.JSType - * @enum {string} + * @enum {number} * @property {number} JS_NORMAL=0 JS_NORMAL value * @property {number} JS_STRING=1 JS_STRING value * @property {number} JS_NUMBER=2 JS_NUMBER value @@ -105978,9 +105978,9 @@ EnumOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -106223,7 +106223,7 @@ EnumValueOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -106472,14 +106472,14 @@ ServiceOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + if (message[".google.api.defaultHost"] != null && Object.hasOwnProperty.call(message, ".google.api.defaultHost")) writer.uint32(/* id 1049, wireType 2 =*/8394).string(message[".google.api.defaultHost"]); - if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + if (message[".google.api.oauthScopes"] != null && Object.hasOwnProperty.call(message, ".google.api.oauthScopes")) writer.uint32(/* id 1050, wireType 2 =*/8402).string(message[".google.api.oauthScopes"]); return writer; }; @@ -106767,19 +106767,19 @@ MethodOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); - if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel")) writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) + if (message[".google.longrunning.operationInfo"] != null && Object.hasOwnProperty.call(message, ".google.longrunning.operationInfo")) $root.google.longrunning.OperationInfo.encode(message[".google.longrunning.operationInfo"], writer.uint32(/* id 1049, wireType 2 =*/8394).fork()).ldelim(); if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length) for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) writer.uint32(/* id 1051, wireType 2 =*/8410).string(message[".google.api.methodSignature"][i]); - if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) + if (message[".google.api.http"] != null && Object.hasOwnProperty.call(message, ".google.api.http")) $root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(/* id 72295728, wireType 2 =*/578365826).fork()).ldelim(); return writer; }; @@ -107029,7 +107029,7 @@ /** * IdempotencyLevel enum. * @name google.protobuf.MethodOptions.IdempotencyLevel - * @enum {string} + * @enum {number} * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value * @property {number} IDEMPOTENT=2 IDEMPOTENT value @@ -107159,17 +107159,17 @@ if (message.name != null && message.name.length) for (var i = 0; i < message.name.length; ++i) $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); - if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue")) writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); - if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); - if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue")) writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); - if (message.stringValue != null && message.hasOwnProperty("stringValue")) + if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue")) writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); - if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); return writer; }; @@ -107946,9 +107946,9 @@ writer.int32(message.span[i]); writer.ldelim(); } - if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + if (message.leadingComments != null && Object.hasOwnProperty.call(message, "leadingComments")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); - if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + if (message.trailingComments != null && Object.hasOwnProperty.call(message, "trailingComments")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) for (var i = 0; i < message.leadingDetachedComments.length; ++i) @@ -108479,11 +108479,11 @@ writer.int32(message.path[i]); writer.ldelim(); } - if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + if (message.sourceFile != null && Object.hasOwnProperty.call(message, "sourceFile")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); - if (message.begin != null && message.hasOwnProperty("begin")) + if (message.begin != null && Object.hasOwnProperty.call(message, "begin")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); - if (message.end != null && message.hasOwnProperty("end")) + if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); return writer; }; @@ -108736,9 +108736,9 @@ Any.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type_url != null && message.hasOwnProperty("type_url")) + if (message.type_url != null && Object.hasOwnProperty.call(message, "type_url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.type_url); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); return writer; }; @@ -108955,9 +108955,9 @@ Duration.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.seconds != null && message.hasOwnProperty("seconds")) + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && message.hasOwnProperty("nanos")) + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); return writer; }; @@ -109542,9 +109542,9 @@ Timestamp.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.seconds != null && message.hasOwnProperty("seconds")) + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && message.hasOwnProperty("nanos")) + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); return writer; }; @@ -109757,7 +109757,7 @@ DoubleValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); return writer; }; @@ -109944,7 +109944,7 @@ FloatValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.value); return writer; }; @@ -110131,7 +110131,7 @@ Int64Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.value); return writer; }; @@ -110332,7 +110332,7 @@ UInt64Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.value); return writer; }; @@ -110533,7 +110533,7 @@ Int32Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.value); return writer; }; @@ -110720,7 +110720,7 @@ UInt32Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.value); return writer; }; @@ -110907,7 +110907,7 @@ BoolValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.value); return writer; }; @@ -111094,7 +111094,7 @@ StringValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.value); return writer; }; @@ -111281,7 +111281,7 @@ BytesValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.value); return writer; }; @@ -111739,15 +111739,15 @@ Operation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.metadata != null && message.hasOwnProperty("metadata")) + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) $root.google.protobuf.Any.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.done != null && message.hasOwnProperty("done")) + if (message.done != null && Object.hasOwnProperty.call(message, "done")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.done); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.response != null && message.hasOwnProperty("response")) + if (message.response != null && Object.hasOwnProperty.call(message, "response")) $root.google.protobuf.Any.encode(message.response, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -112007,7 +112007,7 @@ GetOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -112221,13 +112221,13 @@ ListOperationsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.filter != null && message.hasOwnProperty("filter")) + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.filter); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.name); return writer; }; @@ -112461,7 +112461,7 @@ if (message.operations != null && message.operations.length) for (var i = 0; i < message.operations.length; ++i) $root.google.longrunning.Operation.encode(message.operations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -112679,7 +112679,7 @@ CancelOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -112866,7 +112866,7 @@ DeleteOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -113062,9 +113062,9 @@ WaitOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.timeout != null && message.hasOwnProperty("timeout")) + if (message.timeout != null && Object.hasOwnProperty.call(message, "timeout")) $root.google.protobuf.Duration.encode(message.timeout, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -113277,9 +113277,9 @@ OperationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responseType != null && message.hasOwnProperty("responseType")) + if (message.responseType != null && Object.hasOwnProperty.call(message, "responseType")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.responseType); - if (message.metadataType != null && message.hasOwnProperty("metadataType")) + if (message.metadataType != null && Object.hasOwnProperty.call(message, "metadataType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.metadataType); return writer; }; @@ -113509,9 +113509,9 @@ Status.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.code != null && message.hasOwnProperty("code")) + if (message.code != null && Object.hasOwnProperty.call(message, "code")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.code); - if (message.message != null && message.hasOwnProperty("message")) + if (message.message != null && Object.hasOwnProperty.call(message, "message")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.message); if (message.details != null && message.details.length) for (var i = 0; i < message.details.length; ++i) @@ -113783,13 +113783,13 @@ Color.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.red != null && message.hasOwnProperty("red")) + if (message.red != null && Object.hasOwnProperty.call(message, "red")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.red); - if (message.green != null && message.hasOwnProperty("green")) + if (message.green != null && Object.hasOwnProperty.call(message, "green")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.green); - if (message.blue != null && message.hasOwnProperty("blue")) + if (message.blue != null && Object.hasOwnProperty.call(message, "blue")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.blue); - if (message.alpha != null && message.hasOwnProperty("alpha")) + if (message.alpha != null && Object.hasOwnProperty.call(message, "alpha")) $root.google.protobuf.FloatValue.encode(message.alpha, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -114024,9 +114024,9 @@ LatLng.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latitude != null && message.hasOwnProperty("latitude")) + if (message.latitude != null && Object.hasOwnProperty.call(message, "latitude")) writer.uint32(/* id 1, wireType 1 =*/9).double(message.latitude); - if (message.longitude != null && message.hasOwnProperty("longitude")) + if (message.longitude != null && Object.hasOwnProperty.call(message, "longitude")) writer.uint32(/* id 2, wireType 1 =*/17).double(message.longitude); return writer; }; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 70907fd706d..13fbaba73e7 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,22 +4,22 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "d870cbeaa9d72d58d1db27d6e55adcba882f5d2e" + "sha": "5dee7d0b08872829ea4821d7d7293e8b824b8330" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "dea1f52034d188ca371c3a70c716ca2a6b3f2aa1", - "internalRef": "306298030" + "sha": "42ee97c1b93a0e3759bbba3013da309f670a90ab", + "internalRef": "307114445" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "682c0c37d1054966ca662a44259e96cc7aea4413" + "sha": "19465d3ec5e5acdb01521d8f3bddd311bcbee28d" } } ], From 3162f868f33a3afb138caf2cc3b3569178b46004 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 23 Apr 2020 19:33:16 -0700 Subject: [PATCH 415/588] chore: update npm scripts and synth.py (#767) Update npm scripts: add clean, prelint, prefix; make sure that lint and fix are set properly. Use post-process feature of synthtool. --- packages/google-cloud-vision/package.json | 5 +++-- packages/google-cloud-vision/synth.py | 7 ++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 62e46b120d8..febf25d66c9 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -29,7 +29,7 @@ "scripts": { "test": "c8 mocha build/test", "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../", - "lint": "gts fix", + "lint": "gts check", "docs": "jsdoc -c .jsdoc.js", "system-test": "mocha build/system-test", "fix": "gts fix", @@ -40,7 +40,8 @@ "clean": "gts clean", "compile": "tsc -p . && cp -r protos build/", "compile-protos": "compileProtos src", - "prepare": "npm run compile" + "prepare": "npm run compile", + "precompile": "gts clean" }, "dependencies": { "@google-cloud/promisify": "^2.0.0", diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index f7c98186851..6baeac2c9d4 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -16,7 +16,7 @@ import synthtool as s import synthtool.gcp as gcp -import subprocess +import synthtool.languages.node as node import logging logging.basicConfig(level=logging.DEBUG) @@ -52,7 +52,4 @@ templates = common_templates.node_library(source_location='build/src') s.copy(templates) -# Node.js specific cleanup -subprocess.run(['npm', 'install']) -subprocess.run(['npm', 'run', 'fix']) -subprocess.run(['npx', 'compileProtos', 'src']) +node.postprocess_gapic_library() From 8d5810ac970ed616bd91cd6f5240d28970afb473 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 28 Apr 2020 19:26:34 +0200 Subject: [PATCH 416/588] fix(deps): update dependency natural to v1 (#768) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 8e721c48750..e516bf0fc3a 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -16,7 +16,7 @@ "@google-cloud/vision": "^1.11.0", "canvas": "^2.0.0", "mathjs": "^6.0.0", - "natural": "^0.6.1", + "natural": "^1.0.0", "redis": "^3.0.0", "yargs": "^15.0.0" }, From 226cdcf0d892eccaf6eaf1e0b9b76fe1482baea4 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 6 May 2020 10:27:07 -0700 Subject: [PATCH 417/588] fix(samples): use pureimage instead of canvas (#774) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index e516bf0fc3a..67a7bb20618 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,9 +14,9 @@ }, "dependencies": { "@google-cloud/vision": "^1.11.0", - "canvas": "^2.0.0", "mathjs": "^6.0.0", "natural": "^1.0.0", + "pureimage": "^0.2.1", "redis": "^3.0.0", "yargs": "^15.0.0" }, From ff95d4048b501a3462263b8ed46c0b0bebe33f9c Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 6 May 2020 10:38:09 -0700 Subject: [PATCH 418/588] feat: check status of long running operation by its name (#773) For each client method returning a long running operation, a separate method to check its status is added. Added methods: `checkAsyncBatchAnnotateFilesProgress`, `checkAsyncBatchAnnotateImagesProgress`, `checkImportProductSetsProgress`, `checkPurgeProductsProgress`. --- packages/google-cloud-vision/protos/protos.js | 2086 ++++++++--------- .../src/v1/image_annotator_client.ts | 74 +- .../src/v1/product_search_client.ts | 74 +- .../src/v1p2beta1/image_annotator_client.ts | 38 +- .../src/v1p3beta1/image_annotator_client.ts | 38 +- .../src/v1p3beta1/product_search_client.ts | 38 +- .../src/v1p4beta1/image_annotator_client.ts | 74 +- .../src/v1p4beta1/product_search_client.ts | 74 +- packages/google-cloud-vision/synth.metadata | 14 +- .../test/gapic_image_annotator_v1.ts | 114 +- .../test/gapic_image_annotator_v1p1beta1.ts | 4 +- .../test/gapic_image_annotator_v1p2beta1.ts | 58 +- .../test/gapic_image_annotator_v1p3beta1.ts | 58 +- .../test/gapic_image_annotator_v1p4beta1.ts | 114 +- .../test/gapic_product_search_v1.ts | 193 +- .../test/gapic_product_search_v1p3beta1.ts | 144 +- .../test/gapic_product_search_v1p4beta1.ts | 193 +- 17 files changed, 2044 insertions(+), 1344 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 0eed068083b..50233b4d14f 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -131,9 +131,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -341,9 +341,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -812,11 +812,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && Object.hasOwnProperty.call(message, "z")) + if (message.z != null && message.hasOwnProperty("z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -1211,11 +1211,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) + if (message.maxResults != null && message.hasOwnProperty("maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && Object.hasOwnProperty.call(message, "model")) + if (message.model != null && message.hasOwnProperty("model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -1437,7 +1437,7 @@ /** * Type enum. * @name google.cloud.vision.v1.Feature.Type - * @enum {number} + * @enum {string} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -1538,9 +1538,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) + if (message.imageUri != null && message.hasOwnProperty("imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -1748,9 +1748,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) + if (message.content != null && message.hasOwnProperty("content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && Object.hasOwnProperty.call(message, "source")) + if (message.source != null && message.hasOwnProperty("source")) $root.google.cloud.vision.v1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -1910,7 +1910,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1.Likelihood - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -2112,36 +2112,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) + if (message.panAngle != null && message.hasOwnProperty("panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -2750,9 +2750,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && Object.hasOwnProperty.call(message, "position")) + if (message.position != null && message.hasOwnProperty("position")) $root.google.cloud.vision.v1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -3078,7 +3078,7 @@ /** * Type enum. * @name google.cloud.vision.v1.FaceAnnotation.Landmark.Type - * @enum {number} + * @enum {string} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -3217,7 +3217,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) + if (message.latLng != null && message.hasOwnProperty("latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -3427,11 +3427,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -3729,19 +3729,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) + if (message.locale != null && message.hasOwnProperty("locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) + if (message.topicality != null && message.hasOwnProperty("topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -4104,15 +4104,15 @@ LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -4439,27 +4439,27 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) + if (message.adult != null && message.hasOwnProperty("adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) + if (message.spoof != null && message.hasOwnProperty("spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) + if (message.medical != null && message.hasOwnProperty("medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) + if (message.violence != null && message.hasOwnProperty("violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) + if (message.racy != null && message.hasOwnProperty("racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); - if (message.adultConfidence != null && Object.hasOwnProperty.call(message, "adultConfidence")) + if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) writer.uint32(/* id 16, wireType 5 =*/133).float(message.adultConfidence); - if (message.spoofConfidence != null && Object.hasOwnProperty.call(message, "spoofConfidence")) + if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) writer.uint32(/* id 18, wireType 5 =*/149).float(message.spoofConfidence); - if (message.medicalConfidence != null && Object.hasOwnProperty.call(message, "medicalConfidence")) + if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) writer.uint32(/* id 20, wireType 5 =*/165).float(message.medicalConfidence); - if (message.violenceConfidence != null && Object.hasOwnProperty.call(message, "violenceConfidence")) + if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) writer.uint32(/* id 22, wireType 5 =*/181).float(message.violenceConfidence); - if (message.racyConfidence != null && Object.hasOwnProperty.call(message, "racyConfidence")) + if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) writer.uint32(/* id 24, wireType 5 =*/197).float(message.racyConfidence); - if (message.nsfwConfidence != null && Object.hasOwnProperty.call(message, "nsfwConfidence")) + if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) writer.uint32(/* id 26, wireType 5 =*/213).float(message.nsfwConfidence); return writer; }; @@ -4931,9 +4931,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -5160,11 +5160,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && Object.hasOwnProperty.call(message, "color")) + if (message.color != null && message.hasOwnProperty("color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -5587,7 +5587,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) $root.google.cloud.vision.v1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -5797,11 +5797,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -6435,7 +6435,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -6659,16 +6659,16 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) $root.google.cloud.vision.v1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) $root.google.cloud.vision.v1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && Object.hasOwnProperty.call(message, "productSearchParams")) + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) $root.google.cloud.vision.v1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) $root.google.cloud.vision.v1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -6954,12 +6954,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && Object.hasOwnProperty.call(message, "image")) + if (message.image != null && message.hasOwnProperty("image")) $root.google.cloud.vision.v1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -7208,9 +7208,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -7547,21 +7547,21 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) $root.google.cloud.vision.v1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) $root.google.cloud.vision.v1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) + if (message.error != null && message.hasOwnProperty("error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) $root.google.cloud.vision.v1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) $root.google.cloud.vision.v1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) + if (message.webDetection != null && message.hasOwnProperty("webDetection")) $root.google.cloud.vision.v1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && Object.hasOwnProperty.call(message, "productSearchResults")) + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) $root.google.cloud.vision.v1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && Object.hasOwnProperty.call(message, "context")) + if (message.context != null && message.hasOwnProperty("context")) $root.google.cloud.vision.v1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) @@ -8064,7 +8064,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; @@ -8519,12 +8519,12 @@ AnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.pages != null && message.pages.length) { writer.uint32(/* id 4, wireType 2 =*/34).fork(); @@ -8829,14 +8829,14 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) $root.google.cloud.vision.v1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalPages != null && Object.hasOwnProperty.call(message, "totalPages")) + if (message.totalPages != null && message.hasOwnProperty("totalPages")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) + if (message.error != null && message.hasOwnProperty("error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -9100,7 +9100,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.parent); return writer; }; @@ -9554,14 +9554,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -9817,7 +9817,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -10031,9 +10031,9 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; @@ -10268,7 +10268,7 @@ AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -10473,7 +10473,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; @@ -10917,11 +10917,11 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) $root.google.cloud.vision.v1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) + if (message.mimeType != null && message.hasOwnProperty("mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) + if (message.content != null && message.hasOwnProperty("content")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); return writer; }; @@ -11154,9 +11154,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) $root.google.cloud.vision.v1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) + if (message.batchSize != null && message.hasOwnProperty("batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -11360,7 +11360,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -11547,7 +11547,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -11752,11 +11752,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) + if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + if (message.createTime != null && message.hasOwnProperty("createTime")) $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) + if (message.updateTime != null && message.hasOwnProperty("updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -11948,7 +11948,7 @@ /** * State enum. * @name google.cloud.vision.v1.OperationMetadata.State - * @enum {number} + * @enum {string} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -12052,14 +12052,14 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) + if (message.productSet != null && message.hasOwnProperty("productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) for (var i = 0; i < message.productCategories.length; ++i) writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) + if (message.filter != null && message.hasOwnProperty("filter")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -12320,7 +12320,7 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) + if (message.indexTime != null && message.hasOwnProperty("indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -12595,11 +12595,11 @@ Result.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && Object.hasOwnProperty.call(message, "image")) + if (message.image != null && message.hasOwnProperty("image")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); return writer; }; @@ -12841,13 +12841,13 @@ ObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); return writer; }; @@ -13088,7 +13088,7 @@ GroupedResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -14050,13 +14050,13 @@ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + if (message.displayName != null && message.hasOwnProperty("displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) + if (message.productCategory != null && message.hasOwnProperty("productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.productLabels != null && message.productLabels.length) for (var i = 0; i < message.productLabels.length; ++i) @@ -14317,9 +14317,9 @@ KeyValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) + if (message.key != null && message.hasOwnProperty("key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; @@ -14548,13 +14548,13 @@ ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + if (message.displayName != null && message.hasOwnProperty("displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) + if (message.indexTime != null && message.hasOwnProperty("indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && Object.hasOwnProperty.call(message, "indexError")) + if (message.indexError != null && message.hasOwnProperty("indexError")) $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -14804,9 +14804,9 @@ ReferenceImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); if (message.boundingPolys != null && message.boundingPolys.length) for (var i = 0; i < message.boundingPolys.length; ++i) @@ -15057,11 +15057,11 @@ CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) + if (message.productId != null && message.hasOwnProperty("productId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; @@ -15294,11 +15294,11 @@ ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -15521,7 +15521,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -15739,7 +15739,7 @@ GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -15935,9 +15935,9 @@ UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + if (message.updateMask != null && message.hasOwnProperty("updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -16146,7 +16146,7 @@ DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -16351,11 +16351,11 @@ CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) + if (message.productSet != null && message.hasOwnProperty("productSet")) $root.google.cloud.vision.v1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) + if (message.productSetId != null && message.hasOwnProperty("productSetId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; @@ -16588,11 +16588,11 @@ ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -16815,7 +16815,7 @@ if (message.productSets != null && message.productSets.length) for (var i = 0; i < message.productSets.length; ++i) $root.google.cloud.vision.v1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -17033,7 +17033,7 @@ GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -17229,9 +17229,9 @@ UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) + if (message.productSet != null && message.hasOwnProperty("productSet")) $root.google.cloud.vision.v1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + if (message.updateMask != null && message.hasOwnProperty("updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -17440,7 +17440,7 @@ DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -17645,11 +17645,11 @@ CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && Object.hasOwnProperty.call(message, "referenceImage")) + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) $root.google.cloud.vision.v1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && Object.hasOwnProperty.call(message, "referenceImageId")) + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; @@ -17882,11 +17882,11 @@ ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -18118,9 +18118,9 @@ if (message.referenceImages != null && message.referenceImages.length) for (var i = 0; i < message.referenceImages.length; ++i) $root.google.cloud.vision.v1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; @@ -18350,7 +18350,7 @@ GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -18537,7 +18537,7 @@ DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -18733,9 +18733,9 @@ AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -18943,9 +18943,9 @@ RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -19162,11 +19162,11 @@ ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -19389,7 +19389,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -19607,7 +19607,7 @@ ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && Object.hasOwnProperty.call(message, "csvFileUri")) + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; @@ -19808,7 +19808,7 @@ ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) $root.google.cloud.vision.v1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -20014,9 +20014,9 @@ ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -20490,11 +20490,11 @@ BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) + if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) + if (message.submitTime != null && message.hasOwnProperty("submitTime")) $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) + if (message.endTime != null && message.hasOwnProperty("endTime")) $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -20686,7 +20686,7 @@ /** * State enum. * @name google.cloud.vision.v1.BatchOperationMetadata.State - * @enum {number} + * @enum {string} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SUCCESSFUL=2 SUCCESSFUL value @@ -20762,7 +20762,7 @@ ProductSetPurgeConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) + if (message.productSetId != null && message.hasOwnProperty("productSetId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productSetId); return writer; }; @@ -20990,13 +20990,13 @@ PurgeProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSetPurgeConfig != null && Object.hasOwnProperty.call(message, "productSetPurgeConfig")) + if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) $root.google.cloud.vision.v1.ProductSetPurgeConfig.encode(message.productSetPurgeConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.deleteOrphanProducts != null && Object.hasOwnProperty.call(message, "deleteOrphanProducts")) + if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deleteOrphanProducts); - if (message.force != null && Object.hasOwnProperty.call(message, "force")) + if (message.force != null && message.hasOwnProperty("force")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.force); return writer; }; @@ -21247,7 +21247,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -21471,9 +21471,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -21681,9 +21681,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -21859,7 +21859,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -21950,7 +21950,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -22213,16 +22213,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && Object.hasOwnProperty.call(message, "width")) + if (message.width != null && message.hasOwnProperty("width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) + if (message.height != null && message.hasOwnProperty("height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -22516,16 +22516,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) + if (message.blockType != null && message.hasOwnProperty("blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -22764,7 +22764,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1.Block.BlockType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -22870,14 +22870,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -23156,14 +23156,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -23441,13 +23441,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -24117,11 +24117,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) + if (message.entityId != null && message.hasOwnProperty("entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -24340,9 +24340,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -24579,11 +24579,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -24870,9 +24870,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && Object.hasOwnProperty.call(message, "label")) + if (message.label != null && message.hasOwnProperty("label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -25095,9 +25095,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -25522,11 +25522,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && Object.hasOwnProperty.call(message, "z")) + if (message.z != null && message.hasOwnProperty("z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -25822,11 +25822,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) + if (message.maxResults != null && message.hasOwnProperty("maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && Object.hasOwnProperty.call(message, "model")) + if (message.model != null && message.hasOwnProperty("model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -26038,7 +26038,7 @@ /** * Type enum. * @name google.cloud.vision.v1p1beta1.Feature.Type - * @enum {number} + * @enum {string} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -26135,9 +26135,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) + if (message.imageUri != null && message.hasOwnProperty("imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -26345,9 +26345,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) + if (message.content != null && message.hasOwnProperty("content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && Object.hasOwnProperty.call(message, "source")) + if (message.source != null && message.hasOwnProperty("source")) $root.google.cloud.vision.v1p1beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -26687,36 +26687,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) + if (message.panAngle != null && message.hasOwnProperty("panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -27325,9 +27325,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && Object.hasOwnProperty.call(message, "position")) + if (message.position != null && message.hasOwnProperty("position")) $root.google.cloud.vision.v1p1beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -27653,7 +27653,7 @@ /** * Type enum. * @name google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type - * @enum {number} + * @enum {string} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -27792,7 +27792,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) + if (message.latLng != null && message.hasOwnProperty("latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -28002,11 +28002,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -28304,19 +28304,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) + if (message.locale != null && message.hasOwnProperty("locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) + if (message.topicality != null && message.hasOwnProperty("topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -28679,15 +28679,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) + if (message.adult != null && message.hasOwnProperty("adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) + if (message.spoof != null && message.hasOwnProperty("spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) + if (message.medical != null && message.hasOwnProperty("medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) + if (message.violence != null && message.hasOwnProperty("violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) + if (message.racy != null && message.hasOwnProperty("racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -29093,9 +29093,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -29322,11 +29322,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && Object.hasOwnProperty.call(message, "color")) + if (message.color != null && message.hasOwnProperty("color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -29749,7 +29749,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -29959,11 +29959,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -30597,7 +30597,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -30812,14 +30812,14 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) $root.google.cloud.vision.v1p1beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) $root.google.cloud.vision.v1p1beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) $root.google.cloud.vision.v1p1beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -31089,12 +31089,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && Object.hasOwnProperty.call(message, "image")) + if (message.image != null && message.hasOwnProperty("image")) $root.google.cloud.vision.v1p1beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p1beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1p1beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -31444,17 +31444,17 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) $root.google.cloud.vision.v1p1beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) + if (message.error != null && message.hasOwnProperty("error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) + if (message.webDetection != null && message.hasOwnProperty("webDetection")) $root.google.cloud.vision.v1p1beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; }; @@ -32242,7 +32242,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p1beta1.Likelihood - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -32330,7 +32330,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p1beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -32554,9 +32554,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -32764,9 +32764,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -32942,7 +32942,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -33033,7 +33033,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -33296,16 +33296,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && Object.hasOwnProperty.call(message, "width")) + if (message.width != null && message.hasOwnProperty("width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) + if (message.height != null && message.hasOwnProperty("height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p1beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -33599,16 +33599,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p1beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) + if (message.blockType != null && message.hasOwnProperty("blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -33847,7 +33847,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p1beta1.Block.BlockType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -33953,14 +33953,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p1beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -34239,14 +34239,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p1beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -34524,13 +34524,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -35200,11 +35200,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) + if (message.entityId != null && message.hasOwnProperty("entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -35423,9 +35423,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -35662,11 +35662,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -35953,9 +35953,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && Object.hasOwnProperty.call(message, "label")) + if (message.label != null && message.hasOwnProperty("label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -36178,9 +36178,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -36388,9 +36388,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -36859,11 +36859,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && Object.hasOwnProperty.call(message, "z")) + if (message.z != null && message.hasOwnProperty("z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -37192,11 +37192,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) + if (message.maxResults != null && message.hasOwnProperty("maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && Object.hasOwnProperty.call(message, "model")) + if (message.model != null && message.hasOwnProperty("model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -37408,7 +37408,7 @@ /** * Type enum. * @name google.cloud.vision.v1p2beta1.Feature.Type - * @enum {number} + * @enum {string} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -37505,9 +37505,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) + if (message.imageUri != null && message.hasOwnProperty("imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -37715,9 +37715,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) + if (message.content != null && message.hasOwnProperty("content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && Object.hasOwnProperty.call(message, "source")) + if (message.source != null && message.hasOwnProperty("source")) $root.google.cloud.vision.v1p2beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -38057,36 +38057,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) + if (message.panAngle != null && message.hasOwnProperty("panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -38695,9 +38695,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && Object.hasOwnProperty.call(message, "position")) + if (message.position != null && message.hasOwnProperty("position")) $root.google.cloud.vision.v1p2beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -39023,7 +39023,7 @@ /** * Type enum. * @name google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type - * @enum {number} + * @enum {string} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -39162,7 +39162,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) + if (message.latLng != null && message.hasOwnProperty("latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -39372,11 +39372,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -39674,19 +39674,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) + if (message.locale != null && message.hasOwnProperty("locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) + if (message.topicality != null && message.hasOwnProperty("topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -40049,15 +40049,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) + if (message.adult != null && message.hasOwnProperty("adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) + if (message.spoof != null && message.hasOwnProperty("spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) + if (message.medical != null && message.hasOwnProperty("medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) + if (message.violence != null && message.hasOwnProperty("violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) + if (message.racy != null && message.hasOwnProperty("racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -40463,9 +40463,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -40692,11 +40692,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && Object.hasOwnProperty.call(message, "color")) + if (message.color != null && message.hasOwnProperty("color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -41119,7 +41119,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -41329,11 +41329,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -41967,7 +41967,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -42182,14 +42182,14 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) $root.google.cloud.vision.v1p2beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) $root.google.cloud.vision.v1p2beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) $root.google.cloud.vision.v1p2beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -42459,12 +42459,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && Object.hasOwnProperty.call(message, "image")) + if (message.image != null && message.hasOwnProperty("image")) $root.google.cloud.vision.v1p2beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -42713,9 +42713,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -43033,19 +43033,19 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) $root.google.cloud.vision.v1p2beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) + if (message.error != null && message.hasOwnProperty("error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) + if (message.webDetection != null && message.hasOwnProperty("webDetection")) $root.google.cloud.vision.v1p2beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.context != null && Object.hasOwnProperty.call(message, "context")) + if (message.context != null && message.hasOwnProperty("context")) $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); return writer; }; @@ -43496,7 +43496,7 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) @@ -44166,14 +44166,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -44429,7 +44429,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -45046,9 +45046,9 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) $root.google.cloud.vision.v1p2beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) + if (message.mimeType != null && message.hasOwnProperty("mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); return writer; }; @@ -45261,9 +45261,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) $root.google.cloud.vision.v1p2beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) + if (message.batchSize != null && message.hasOwnProperty("batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -45467,7 +45467,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -45654,7 +45654,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -45859,11 +45859,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) + if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + if (message.createTime != null && message.hasOwnProperty("createTime")) $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) + if (message.updateTime != null && message.hasOwnProperty("updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -46055,7 +46055,7 @@ /** * State enum. * @name google.cloud.vision.v1p2beta1.OperationMetadata.State - * @enum {number} + * @enum {string} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -46078,7 +46078,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p2beta1.Likelihood - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -46166,7 +46166,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p2beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -46390,9 +46390,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -46600,9 +46600,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -46778,7 +46778,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -46869,7 +46869,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -47132,16 +47132,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && Object.hasOwnProperty.call(message, "width")) + if (message.width != null && message.hasOwnProperty("width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) + if (message.height != null && message.hasOwnProperty("height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p2beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -47435,16 +47435,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p2beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) + if (message.blockType != null && message.hasOwnProperty("blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -47683,7 +47683,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p2beta1.Block.BlockType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -47789,14 +47789,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p2beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -48075,14 +48075,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p2beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -48360,13 +48360,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -49036,11 +49036,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) + if (message.entityId != null && message.hasOwnProperty("entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -49259,9 +49259,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -49498,11 +49498,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -49789,9 +49789,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && Object.hasOwnProperty.call(message, "label")) + if (message.label != null && message.hasOwnProperty("label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -50014,9 +50014,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -50224,9 +50224,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -50903,11 +50903,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && Object.hasOwnProperty.call(message, "z")) + if (message.z != null && message.hasOwnProperty("z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -51236,11 +51236,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) + if (message.maxResults != null && message.hasOwnProperty("maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && Object.hasOwnProperty.call(message, "model")) + if (message.model != null && message.hasOwnProperty("model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -51462,7 +51462,7 @@ /** * Type enum. * @name google.cloud.vision.v1p3beta1.Feature.Type - * @enum {number} + * @enum {string} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -51563,9 +51563,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) + if (message.imageUri != null && message.hasOwnProperty("imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -51773,9 +51773,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) + if (message.content != null && message.hasOwnProperty("content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && Object.hasOwnProperty.call(message, "source")) + if (message.source != null && message.hasOwnProperty("source")) $root.google.cloud.vision.v1p3beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -52115,36 +52115,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) + if (message.panAngle != null && message.hasOwnProperty("panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -52753,9 +52753,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && Object.hasOwnProperty.call(message, "position")) + if (message.position != null && message.hasOwnProperty("position")) $root.google.cloud.vision.v1p3beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -53081,7 +53081,7 @@ /** * Type enum. * @name google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type - * @enum {number} + * @enum {string} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -53220,7 +53220,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) + if (message.latLng != null && message.hasOwnProperty("latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -53430,11 +53430,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -53732,19 +53732,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) + if (message.locale != null && message.hasOwnProperty("locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) + if (message.topicality != null && message.hasOwnProperty("topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -54107,15 +54107,15 @@ LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -54388,15 +54388,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) + if (message.adult != null && message.hasOwnProperty("adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) + if (message.spoof != null && message.hasOwnProperty("spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) + if (message.medical != null && message.hasOwnProperty("medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) + if (message.violence != null && message.hasOwnProperty("violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) + if (message.racy != null && message.hasOwnProperty("racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -54802,9 +54802,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -55031,11 +55031,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && Object.hasOwnProperty.call(message, "color")) + if (message.color != null && message.hasOwnProperty("color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -55458,7 +55458,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -55668,11 +55668,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -56306,7 +56306,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -56530,16 +56530,16 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) $root.google.cloud.vision.v1p3beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) $root.google.cloud.vision.v1p3beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && Object.hasOwnProperty.call(message, "productSearchParams")) + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) $root.google.cloud.vision.v1p3beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) $root.google.cloud.vision.v1p3beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -56825,12 +56825,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && Object.hasOwnProperty.call(message, "image")) + if (message.image != null && message.hasOwnProperty("image")) $root.google.cloud.vision.v1p3beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -57079,9 +57079,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -57418,21 +57418,21 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) $root.google.cloud.vision.v1p3beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) + if (message.error != null && message.hasOwnProperty("error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) + if (message.webDetection != null && message.hasOwnProperty("webDetection")) $root.google.cloud.vision.v1p3beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && Object.hasOwnProperty.call(message, "productSearchResults")) + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) $root.google.cloud.vision.v1p3beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && Object.hasOwnProperty.call(message, "context")) + if (message.context != null && message.hasOwnProperty("context")) $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) @@ -57932,7 +57932,7 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) @@ -58602,14 +58602,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -58865,7 +58865,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -59482,9 +59482,9 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) $root.google.cloud.vision.v1p3beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) + if (message.mimeType != null && message.hasOwnProperty("mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); return writer; }; @@ -59697,9 +59697,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) $root.google.cloud.vision.v1p3beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) + if (message.batchSize != null && message.hasOwnProperty("batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -59903,7 +59903,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -60090,7 +60090,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -60224,7 +60224,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p3beta1.Likelihood - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -60317,11 +60317,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) + if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + if (message.createTime != null && message.hasOwnProperty("createTime")) $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) + if (message.updateTime != null && message.hasOwnProperty("updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -60513,7 +60513,7 @@ /** * State enum. * @name google.cloud.vision.v1p3beta1.OperationMetadata.State - * @enum {number} + * @enum {string} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -60662,24 +60662,24 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.catalogName != null && Object.hasOwnProperty.call(message, "catalogName")) + if (message.catalogName != null && message.hasOwnProperty("catalogName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.catalogName); - if (message.category != null && Object.hasOwnProperty.call(message, "category")) + if (message.category != null && message.hasOwnProperty("category")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.category); - if (message.normalizedBoundingPoly != null && Object.hasOwnProperty.call(message, "normalizedBoundingPoly")) + if (message.normalizedBoundingPoly != null && message.hasOwnProperty("normalizedBoundingPoly")) $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.encode(message.normalizedBoundingPoly, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.view != null && Object.hasOwnProperty.call(message, "view")) + if (message.view != null && message.hasOwnProperty("view")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.view); - if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) + if (message.productCategory != null && message.hasOwnProperty("productCategory")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.productCategory); - if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) + if (message.productSet != null && message.hasOwnProperty("productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) for (var i = 0; i < message.productCategories.length; ++i) writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) + if (message.filter != null && message.hasOwnProperty("filter")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -61049,14 +61049,14 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.category != null && Object.hasOwnProperty.call(message, "category")) + if (message.category != null && message.hasOwnProperty("category")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.category); - if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) + if (message.indexTime != null && message.hasOwnProperty("indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.encode(message.products[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) + if (message.productCategory != null && message.hasOwnProperty("productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -61369,11 +61369,11 @@ ProductInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) + if (message.productId != null && message.hasOwnProperty("productId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productId); - if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) + if (message.imageUri != null && message.hasOwnProperty("imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.score); return writer; }; @@ -61601,11 +61601,11 @@ Result.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && Object.hasOwnProperty.call(message, "image")) + if (message.image != null && message.hasOwnProperty("image")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); return writer; }; @@ -61770,7 +61770,7 @@ /** * ProductSearchCategory enum. * @name google.cloud.vision.v1p3beta1.ProductSearchCategory - * @enum {number} + * @enum {string} * @property {number} PRODUCT_SEARCH_CATEGORY_UNSPECIFIED=0 PRODUCT_SEARCH_CATEGORY_UNSPECIFIED value * @property {number} SHOES=1 SHOES value * @property {number} BAGS=2 BAGS value @@ -61786,7 +61786,7 @@ /** * ProductSearchResultsView enum. * @name google.cloud.vision.v1p3beta1.ProductSearchResultsView - * @enum {number} + * @enum {string} * @property {number} BASIC=0 BASIC value * @property {number} FULL=1 FULL value */ @@ -62519,13 +62519,13 @@ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + if (message.displayName != null && message.hasOwnProperty("displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) + if (message.productCategory != null && message.hasOwnProperty("productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.productLabels != null && message.productLabels.length) for (var i = 0; i < message.productLabels.length; ++i) @@ -62786,9 +62786,9 @@ KeyValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) + if (message.key != null && message.hasOwnProperty("key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; @@ -63017,13 +63017,13 @@ ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + if (message.displayName != null && message.hasOwnProperty("displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) + if (message.indexTime != null && message.hasOwnProperty("indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && Object.hasOwnProperty.call(message, "indexError")) + if (message.indexError != null && message.hasOwnProperty("indexError")) $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -63273,9 +63273,9 @@ ReferenceImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); if (message.boundingPolys != null && message.boundingPolys.length) for (var i = 0; i < message.boundingPolys.length; ++i) @@ -63526,11 +63526,11 @@ CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) + if (message.productId != null && message.hasOwnProperty("productId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; @@ -63763,11 +63763,11 @@ ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -63990,7 +63990,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p3beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -64208,7 +64208,7 @@ GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -64404,9 +64404,9 @@ UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + if (message.updateMask != null && message.hasOwnProperty("updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -64615,7 +64615,7 @@ DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -64820,11 +64820,11 @@ CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) + if (message.productSet != null && message.hasOwnProperty("productSet")) $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) + if (message.productSetId != null && message.hasOwnProperty("productSetId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; @@ -65057,11 +65057,11 @@ ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -65284,7 +65284,7 @@ if (message.productSets != null && message.productSets.length) for (var i = 0; i < message.productSets.length; ++i) $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -65502,7 +65502,7 @@ GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -65698,9 +65698,9 @@ UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) + if (message.productSet != null && message.hasOwnProperty("productSet")) $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + if (message.updateMask != null && message.hasOwnProperty("updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -65909,7 +65909,7 @@ DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -66114,11 +66114,11 @@ CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && Object.hasOwnProperty.call(message, "referenceImage")) + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) $root.google.cloud.vision.v1p3beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && Object.hasOwnProperty.call(message, "referenceImageId")) + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; @@ -66351,11 +66351,11 @@ ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -66587,9 +66587,9 @@ if (message.referenceImages != null && message.referenceImages.length) for (var i = 0; i < message.referenceImages.length; ++i) $root.google.cloud.vision.v1p3beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; @@ -66819,7 +66819,7 @@ GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -67006,7 +67006,7 @@ DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -67202,9 +67202,9 @@ AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -67412,9 +67412,9 @@ RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -67631,11 +67631,11 @@ ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -67858,7 +67858,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p3beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -68076,7 +68076,7 @@ ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && Object.hasOwnProperty.call(message, "csvFileUri")) + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; @@ -68277,7 +68277,7 @@ ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -68483,9 +68483,9 @@ ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -68959,11 +68959,11 @@ BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) + if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) + if (message.submitTime != null && message.hasOwnProperty("submitTime")) $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) + if (message.endTime != null && message.hasOwnProperty("endTime")) $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -69155,7 +69155,7 @@ /** * State enum. * @name google.cloud.vision.v1p3beta1.BatchOperationMetadata.State - * @enum {number} + * @enum {string} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SUCCESSFUL=2 SUCCESSFUL value @@ -69244,7 +69244,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p3beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -69468,9 +69468,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -69678,9 +69678,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -69856,7 +69856,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -69947,7 +69947,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -70210,16 +70210,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && Object.hasOwnProperty.call(message, "width")) + if (message.width != null && message.hasOwnProperty("width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) + if (message.height != null && message.hasOwnProperty("height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p3beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -70513,16 +70513,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p3beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) + if (message.blockType != null && message.hasOwnProperty("blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -70761,7 +70761,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p3beta1.Block.BlockType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -70867,14 +70867,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p3beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -71153,14 +71153,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p3beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -71438,13 +71438,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -72114,11 +72114,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) + if (message.entityId != null && message.hasOwnProperty("entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -72337,9 +72337,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -72576,11 +72576,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -72867,9 +72867,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && Object.hasOwnProperty.call(message, "label")) + if (message.label != null && message.hasOwnProperty("label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -73304,11 +73304,11 @@ Celebrity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + if (message.displayName != null && message.hasOwnProperty("displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -73527,9 +73527,9 @@ FaceRecognitionResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.celebrity != null && Object.hasOwnProperty.call(message, "celebrity")) + if (message.celebrity != null && message.hasOwnProperty("celebrity")) $root.google.cloud.vision.v1p4beta1.Celebrity.encode(message.celebrity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -73742,9 +73742,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -73952,9 +73952,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -74423,11 +74423,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && Object.hasOwnProperty.call(message, "x")) + if (message.x != null && message.hasOwnProperty("x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && Object.hasOwnProperty.call(message, "y")) + if (message.y != null && message.hasOwnProperty("y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && Object.hasOwnProperty.call(message, "z")) + if (message.z != null && message.hasOwnProperty("z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -74822,11 +74822,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) + if (message.maxResults != null && message.hasOwnProperty("maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && Object.hasOwnProperty.call(message, "model")) + if (message.model != null && message.hasOwnProperty("model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -75048,7 +75048,7 @@ /** * Type enum. * @name google.cloud.vision.v1p4beta1.Feature.Type - * @enum {number} + * @enum {string} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -75149,9 +75149,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) + if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) + if (message.imageUri != null && message.hasOwnProperty("imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -75359,9 +75359,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) + if (message.content != null && message.hasOwnProperty("content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && Object.hasOwnProperty.call(message, "source")) + if (message.source != null && message.hasOwnProperty("source")) $root.google.cloud.vision.v1p4beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -75521,7 +75521,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p4beta1.Likelihood - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -75733,36 +75733,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) + if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) + if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) + if (message.panAngle != null && message.hasOwnProperty("panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) + if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) + if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) + if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) + if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) + if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) + if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) + if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) + if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) + if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) + if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); if (message.recognitionResult != null && message.recognitionResult.length) for (var i = 0; i < message.recognitionResult.length; ++i) @@ -76405,9 +76405,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && Object.hasOwnProperty.call(message, "position")) + if (message.position != null && message.hasOwnProperty("position")) $root.google.cloud.vision.v1p4beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -76733,7 +76733,7 @@ /** * Type enum. * @name google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type - * @enum {number} + * @enum {string} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -76872,7 +76872,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) + if (message.latLng != null && message.hasOwnProperty("latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -77082,11 +77082,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) + if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -77384,19 +77384,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) + if (message.locale != null && message.hasOwnProperty("locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) + if (message.topicality != null && message.hasOwnProperty("topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -77759,15 +77759,15 @@ LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -78040,15 +78040,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) + if (message.adult != null && message.hasOwnProperty("adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) + if (message.spoof != null && message.hasOwnProperty("spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) + if (message.medical != null && message.hasOwnProperty("medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) + if (message.violence != null && message.hasOwnProperty("violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) + if (message.racy != null && message.hasOwnProperty("racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -78454,9 +78454,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) + if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) + if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -78683,11 +78683,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && Object.hasOwnProperty.call(message, "color")) + if (message.color != null && message.hasOwnProperty("color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) + if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -79110,7 +79110,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) + if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -79320,11 +79320,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) + if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -79958,7 +79958,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) + if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -80191,18 +80191,18 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) + if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) $root.google.cloud.vision.v1p4beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) + if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) $root.google.cloud.vision.v1p4beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && Object.hasOwnProperty.call(message, "productSearchParams")) + if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) $root.google.cloud.vision.v1p4beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) + if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) $root.google.cloud.vision.v1p4beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.faceRecognitionParams != null && Object.hasOwnProperty.call(message, "faceRecognitionParams")) + if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.encode(message.faceRecognitionParams, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); return writer; }; @@ -80504,12 +80504,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && Object.hasOwnProperty.call(message, "image")) + if (message.image != null && message.hasOwnProperty("image")) $root.google.cloud.vision.v1p4beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -80758,9 +80758,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) + if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -81097,21 +81097,21 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) $root.google.cloud.vision.v1p4beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) + if (message.error != null && message.hasOwnProperty("error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) + if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) + if (message.webDetection != null && message.hasOwnProperty("webDetection")) $root.google.cloud.vision.v1p4beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && Object.hasOwnProperty.call(message, "productSearchResults")) + if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) $root.google.cloud.vision.v1p4beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && Object.hasOwnProperty.call(message, "context")) + if (message.context != null && message.hasOwnProperty("context")) $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) @@ -82046,12 +82046,12 @@ AnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.pages != null && message.pages.length) { writer.uint32(/* id 4, wireType 2 =*/34).fork(); @@ -82356,14 +82356,14 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalPages != null && Object.hasOwnProperty.call(message, "totalPages")) + if (message.totalPages != null && message.hasOwnProperty("totalPages")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) + if (message.error != null && message.hasOwnProperty("error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -83058,14 +83058,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) + if (message.imageContext != null && message.hasOwnProperty("imageContext")) $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -83321,7 +83321,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -83526,7 +83526,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -83749,7 +83749,7 @@ AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) + if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -84375,11 +84375,11 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) $root.google.cloud.vision.v1p4beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) + if (message.mimeType != null && message.hasOwnProperty("mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) + if (message.content != null && message.hasOwnProperty("content")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); return writer; }; @@ -84612,9 +84612,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) + if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) $root.google.cloud.vision.v1p4beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) + if (message.batchSize != null && message.hasOwnProperty("batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -84818,7 +84818,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -85005,7 +85005,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -85210,11 +85210,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) + if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + if (message.createTime != null && message.hasOwnProperty("createTime")) $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) + if (message.updateTime != null && message.hasOwnProperty("updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -85406,7 +85406,7 @@ /** * State enum. * @name google.cloud.vision.v1p4beta1.OperationMetadata.State - * @enum {number} + * @enum {string} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -85510,14 +85510,14 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) + if (message.productSet != null && message.hasOwnProperty("productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) for (var i = 0; i < message.productCategories.length; ++i) writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) + if (message.filter != null && message.hasOwnProperty("filter")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -85778,7 +85778,7 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) + if (message.indexTime != null && message.hasOwnProperty("indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -86053,11 +86053,11 @@ Result.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && Object.hasOwnProperty.call(message, "image")) + if (message.image != null && message.hasOwnProperty("image")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); return writer; }; @@ -86299,13 +86299,13 @@ ObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + if (message.mid != null && message.hasOwnProperty("mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); return writer; }; @@ -86546,7 +86546,7 @@ GroupedResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -87508,13 +87508,13 @@ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + if (message.displayName != null && message.hasOwnProperty("displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) + if (message.productCategory != null && message.hasOwnProperty("productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.productLabels != null && message.productLabels.length) for (var i = 0; i < message.productLabels.length; ++i) @@ -87775,9 +87775,9 @@ KeyValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) + if (message.key != null && message.hasOwnProperty("key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; @@ -88006,13 +88006,13 @@ ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + if (message.displayName != null && message.hasOwnProperty("displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) + if (message.indexTime != null && message.hasOwnProperty("indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && Object.hasOwnProperty.call(message, "indexError")) + if (message.indexError != null && message.hasOwnProperty("indexError")) $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -88262,9 +88262,9 @@ ReferenceImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) + if (message.uri != null && message.hasOwnProperty("uri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); if (message.boundingPolys != null && message.boundingPolys.length) for (var i = 0; i < message.boundingPolys.length; ++i) @@ -88515,11 +88515,11 @@ CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) + if (message.productId != null && message.hasOwnProperty("productId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; @@ -88752,11 +88752,11 @@ ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -88979,7 +88979,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -89197,7 +89197,7 @@ GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -89393,9 +89393,9 @@ UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + if (message.updateMask != null && message.hasOwnProperty("updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -89604,7 +89604,7 @@ DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -89809,11 +89809,11 @@ CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) + if (message.productSet != null && message.hasOwnProperty("productSet")) $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) + if (message.productSetId != null && message.hasOwnProperty("productSetId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; @@ -90046,11 +90046,11 @@ ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -90273,7 +90273,7 @@ if (message.productSets != null && message.productSets.length) for (var i = 0; i < message.productSets.length; ++i) $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -90491,7 +90491,7 @@ GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -90687,9 +90687,9 @@ UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) + if (message.productSet != null && message.hasOwnProperty("productSet")) $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + if (message.updateMask != null && message.hasOwnProperty("updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -90898,7 +90898,7 @@ DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -91103,11 +91103,11 @@ CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && Object.hasOwnProperty.call(message, "referenceImage")) + if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && Object.hasOwnProperty.call(message, "referenceImageId")) + if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; @@ -91340,11 +91340,11 @@ ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -91576,9 +91576,9 @@ if (message.referenceImages != null && message.referenceImages.length) for (var i = 0; i < message.referenceImages.length; ++i) $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; @@ -91808,7 +91808,7 @@ GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -91995,7 +91995,7 @@ DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -92191,9 +92191,9 @@ AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -92401,9 +92401,9 @@ RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && Object.hasOwnProperty.call(message, "product")) + if (message.product != null && message.hasOwnProperty("product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -92620,11 +92620,11 @@ ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -92847,7 +92847,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -93065,7 +93065,7 @@ ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && Object.hasOwnProperty.call(message, "csvFileUri")) + if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; @@ -93266,7 +93266,7 @@ ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) + if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -93472,9 +93472,9 @@ ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) + if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -93948,11 +93948,11 @@ BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) + if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) + if (message.submitTime != null && message.hasOwnProperty("submitTime")) $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) + if (message.endTime != null && message.hasOwnProperty("endTime")) $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -94144,7 +94144,7 @@ /** * State enum. * @name google.cloud.vision.v1p4beta1.BatchOperationMetadata.State - * @enum {number} + * @enum {string} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SUCCESSFUL=2 SUCCESSFUL value @@ -94220,7 +94220,7 @@ ProductSetPurgeConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) + if (message.productSetId != null && message.hasOwnProperty("productSetId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productSetId); return writer; }; @@ -94448,13 +94448,13 @@ PurgeProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + if (message.parent != null && message.hasOwnProperty("parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSetPurgeConfig != null && Object.hasOwnProperty.call(message, "productSetPurgeConfig")) + if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.encode(message.productSetPurgeConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.deleteOrphanProducts != null && Object.hasOwnProperty.call(message, "deleteOrphanProducts")) + if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deleteOrphanProducts); - if (message.force != null && Object.hasOwnProperty.call(message, "force")) + if (message.force != null && message.hasOwnProperty("force")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.force); return writer; }; @@ -94705,7 +94705,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p4beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -94929,9 +94929,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -95139,9 +95139,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) + if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -95317,7 +95317,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -95408,7 +95408,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) + if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -95671,16 +95671,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && Object.hasOwnProperty.call(message, "width")) + if (message.width != null && message.hasOwnProperty("width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) + if (message.height != null && message.hasOwnProperty("height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p4beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -95974,16 +95974,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p4beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) + if (message.blockType != null && message.hasOwnProperty("blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -96222,7 +96222,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p4beta1.Block.BlockType - * @enum {number} + * @enum {string} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -96328,14 +96328,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p4beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -96614,14 +96614,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p4beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -96899,13 +96899,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && Object.hasOwnProperty.call(message, "property")) + if (message.property != null && message.hasOwnProperty("property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) + if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && Object.hasOwnProperty.call(message, "text")) + if (message.text != null && message.hasOwnProperty("text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) + if (message.confidence != null && message.hasOwnProperty("confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -97575,11 +97575,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) + if (message.entityId != null && message.hasOwnProperty("entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) + if (message.description != null && message.hasOwnProperty("description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -97798,9 +97798,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -98037,11 +98037,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && Object.hasOwnProperty.call(message, "url")) + if (message.url != null && message.hasOwnProperty("url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) + if (message.score != null && message.hasOwnProperty("score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) + if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -98328,9 +98328,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && Object.hasOwnProperty.call(message, "label")) + if (message.label != null && message.hasOwnProperty("label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + if (message.languageCode != null && message.hasOwnProperty("languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -98563,7 +98563,7 @@ 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")) + if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion); return writer; }; @@ -98877,26 +98877,26 @@ HttpRule.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) + if (message.selector != null && message.hasOwnProperty("selector")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); - if (message.get != null && Object.hasOwnProperty.call(message, "get")) + if (message.get != null && message.hasOwnProperty("get")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.get); - if (message.put != null && Object.hasOwnProperty.call(message, "put")) + if (message.put != null && message.hasOwnProperty("put")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.put); - if (message.post != null && Object.hasOwnProperty.call(message, "post")) + if (message.post != null && message.hasOwnProperty("post")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.post); - if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete")) + if (message["delete"] != null && message.hasOwnProperty("delete")) writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]); - if (message.patch != null && Object.hasOwnProperty.call(message, "patch")) + if (message.patch != null && message.hasOwnProperty("patch")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch); - if (message.body != null && Object.hasOwnProperty.call(message, "body")) + if (message.body != null && message.hasOwnProperty("body")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.body); - if (message.custom != null && Object.hasOwnProperty.call(message, "custom")) + if (message.custom != null && message.hasOwnProperty("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")) + if (message.responseBody != null && message.hasOwnProperty("responseBody")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody); return writer; }; @@ -99253,9 +99253,9 @@ CustomHttpPattern.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.kind != null && Object.hasOwnProperty.call(message, "kind")) + if (message.kind != null && message.hasOwnProperty("kind")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind); - if (message.path != null && Object.hasOwnProperty.call(message, "path")) + if (message.path != null && message.hasOwnProperty("path")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); return writer; }; @@ -99401,7 +99401,7 @@ /** * FieldBehavior enum. * @name google.api.FieldBehavior - * @enum {number} + * @enum {string} * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value * @property {number} OPTIONAL=1 OPTIONAL value * @property {number} REQUIRED=2 REQUIRED value @@ -99522,18 +99522,18 @@ ResourceDescriptor.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); if (message.pattern != null && message.pattern.length) for (var i = 0; i < message.pattern.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.pattern[i]); - if (message.nameField != null && Object.hasOwnProperty.call(message, "nameField")) + if (message.nameField != null && message.hasOwnProperty("nameField")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField); - if (message.history != null && Object.hasOwnProperty.call(message, "history")) + if (message.history != null && message.hasOwnProperty("history")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history); - if (message.plural != null && Object.hasOwnProperty.call(message, "plural")) + if (message.plural != null && message.hasOwnProperty("plural")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural); - if (message.singular != null && Object.hasOwnProperty.call(message, "singular")) + if (message.singular != null && message.hasOwnProperty("singular")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular); return writer; }; @@ -99753,7 +99753,7 @@ /** * History enum. * @name google.api.ResourceDescriptor.History - * @enum {number} + * @enum {string} * @property {number} HISTORY_UNSPECIFIED=0 HISTORY_UNSPECIFIED value * @property {number} ORIGINALLY_SINGLE_PATTERN=1 ORIGINALLY_SINGLE_PATTERN value * @property {number} FUTURE_MULTI_PATTERN=2 FUTURE_MULTI_PATTERN value @@ -99834,9 +99834,9 @@ ResourceReference.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.childType != null && Object.hasOwnProperty.call(message, "childType")) + if (message.childType != null && message.hasOwnProperty("childType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.childType); return writer; }; @@ -100361,9 +100361,9 @@ FileDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message["package"] != null && Object.hasOwnProperty.call(message, "package")) + if (message["package"] != null && message.hasOwnProperty("package")) writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); if (message.dependency != null && message.dependency.length) for (var i = 0; i < message.dependency.length; ++i) @@ -100380,9 +100380,9 @@ if (message.extension != null && message.extension.length) for (var i = 0; i < message.extension.length; ++i) $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) + if (message.options != null && message.hasOwnProperty("options")) $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo")) + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.publicDependency != null && message.publicDependency.length) for (var i = 0; i < message.publicDependency.length; ++i) @@ -100390,7 +100390,7 @@ if (message.weakDependency != null && message.weakDependency.length) for (var i = 0; i < message.weakDependency.length; ++i) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); - if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) + if (message.syntax != null && message.hasOwnProperty("syntax")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); return writer; }; @@ -100928,7 +100928,7 @@ DescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.field != null && message.field.length) for (var i = 0; i < message.field.length; ++i) @@ -100945,7 +100945,7 @@ if (message.extension != null && message.extension.length) for (var i = 0; i < message.extension.length; ++i) $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) + if (message.options != null && message.hasOwnProperty("options")) $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.oneofDecl != null && message.oneofDecl.length) for (var i = 0; i < message.oneofDecl.length; ++i) @@ -101410,11 +101410,11 @@ ExtensionRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.start != null && Object.hasOwnProperty.call(message, "start")) + if (message.start != null && message.hasOwnProperty("start")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && Object.hasOwnProperty.call(message, "end")) + if (message.end != null && message.hasOwnProperty("end")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) + if (message.options != null && message.hasOwnProperty("options")) $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -101638,9 +101638,9 @@ ReservedRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.start != null && Object.hasOwnProperty.call(message, "start")) + if (message.start != null && message.hasOwnProperty("start")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && Object.hasOwnProperty.call(message, "end")) + if (message.end != null && message.hasOwnProperty("end")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); return writer; }; @@ -102131,25 +102131,25 @@ FieldDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee")) + if (message.extendee != null && message.hasOwnProperty("extendee")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); - if (message.number != null && Object.hasOwnProperty.call(message, "number")) + if (message.number != null && message.hasOwnProperty("number")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); - if (message.label != null && Object.hasOwnProperty.call(message, "label")) + if (message.label != null && message.hasOwnProperty("label")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) + if (message.type != null && message.hasOwnProperty("type")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); - if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName")) + if (message.typeName != null && message.hasOwnProperty("typeName")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); - if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue")) + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) + if (message.options != null && message.hasOwnProperty("options")) $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex")) + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); - if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) + if (message.jsonName != null && message.hasOwnProperty("jsonName")) writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); return writer; }; @@ -102496,7 +102496,7 @@ /** * Type enum. * @name google.protobuf.FieldDescriptorProto.Type - * @enum {number} + * @enum {string} * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value * @property {number} TYPE_INT64=3 TYPE_INT64 value @@ -102542,7 +102542,7 @@ /** * Label enum. * @name google.protobuf.FieldDescriptorProto.Label - * @enum {number} + * @enum {string} * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value @@ -102623,9 +102623,9 @@ OneofDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) + if (message.options != null && message.hasOwnProperty("options")) $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -102868,12 +102868,12 @@ EnumDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.value != null && message.value.length) for (var i = 0; i < message.value.length; ++i) $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) + if (message.options != null && message.hasOwnProperty("options")) $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.reservedRange != null && message.reservedRange.length) for (var i = 0; i < message.reservedRange.length; ++i) @@ -103176,9 +103176,9 @@ EnumReservedRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.start != null && Object.hasOwnProperty.call(message, "start")) + if (message.start != null && message.hasOwnProperty("start")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && Object.hasOwnProperty.call(message, "end")) + if (message.end != null && message.hasOwnProperty("end")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); return writer; }; @@ -103398,11 +103398,11 @@ EnumValueDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.number != null && Object.hasOwnProperty.call(message, "number")) + if (message.number != null && message.hasOwnProperty("number")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) + if (message.options != null && message.hasOwnProperty("options")) $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -103636,12 +103636,12 @@ ServiceDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.method != null && message.method.length) for (var i = 0; i < message.method.length; ++i) $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) + if (message.options != null && message.hasOwnProperty("options")) $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -103921,17 +103921,17 @@ MethodDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.inputType != null && Object.hasOwnProperty.call(message, "inputType")) + if (message.inputType != null && message.hasOwnProperty("inputType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); - if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType")) + if (message.outputType != null && message.hasOwnProperty("outputType")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); - if (message.options != null && Object.hasOwnProperty.call(message, "options")) + if (message.options != null && message.hasOwnProperty("options")) $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming")) + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); - if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming")) + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); return writer; }; @@ -104370,45 +104370,45 @@ FileOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage")) + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); - if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname")) + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); - if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor")) + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); - if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles")) + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); - if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage")) + if (message.goPackage != null && message.hasOwnProperty("goPackage")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); - if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices")) + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); - if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices")) + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); - if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices")) + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); - if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash")) + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + if (message.deprecated != null && message.hasOwnProperty("deprecated")) writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); - if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8")) + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); - if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas")) + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); - if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix")) + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); - if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace")) + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); - if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix")) + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); - if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix")) + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); - if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace")) + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); - if (message.phpGenericServices != null && Object.hasOwnProperty.call(message, "phpGenericServices")) + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices); - if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace")) + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace); - if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage")) + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -104835,7 +104835,7 @@ /** * OptimizeMode enum. * @name google.protobuf.FileOptions.OptimizeMode - * @enum {number} + * @enum {string} * @property {number} SPEED=1 SPEED value * @property {number} CODE_SIZE=2 CODE_SIZE value * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value @@ -104953,18 +104953,18 @@ MessageOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat")) + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); - if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor")) + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + if (message.deprecated != null && message.hasOwnProperty("deprecated")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry")) + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.resource"] != null && Object.hasOwnProperty.call(message, ".google.api.resource")) + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) $root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); return writer; }; @@ -105306,17 +105306,17 @@ FieldOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype")) + if (message.ctype != null && message.hasOwnProperty("ctype")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); - if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) + if (message.packed != null && message.hasOwnProperty("packed")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + if (message.deprecated != null && message.hasOwnProperty("deprecated")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy")) + if (message.lazy != null && message.hasOwnProperty("lazy")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); - if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype")) + if (message.jstype != null && message.hasOwnProperty("jstype")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); - if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) + if (message.weak != null && message.hasOwnProperty("weak")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -105327,7 +105327,7 @@ writer.int32(message[".google.api.fieldBehavior"][i]); writer.ldelim(); } - if (message[".google.api.resourceReference"] != null && Object.hasOwnProperty.call(message, ".google.api.resourceReference")) + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) $root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(/* id 1055, wireType 2 =*/8442).fork()).ldelim(); return writer; }; @@ -105663,7 +105663,7 @@ /** * CType enum. * @name google.protobuf.FieldOptions.CType - * @enum {number} + * @enum {string} * @property {number} STRING=0 STRING value * @property {number} CORD=1 CORD value * @property {number} STRING_PIECE=2 STRING_PIECE value @@ -105679,7 +105679,7 @@ /** * JSType enum. * @name google.protobuf.FieldOptions.JSType - * @enum {number} + * @enum {string} * @property {number} JS_NORMAL=0 JS_NORMAL value * @property {number} JS_STRING=1 JS_STRING value * @property {number} JS_NUMBER=2 JS_NUMBER value @@ -105978,9 +105978,9 @@ EnumOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias")) + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + if (message.deprecated != null && message.hasOwnProperty("deprecated")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -106223,7 +106223,7 @@ EnumValueOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + if (message.deprecated != null && message.hasOwnProperty("deprecated")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -106472,14 +106472,14 @@ ServiceOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + if (message.deprecated != null && message.hasOwnProperty("deprecated")) writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.defaultHost"] != null && Object.hasOwnProperty.call(message, ".google.api.defaultHost")) + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) writer.uint32(/* id 1049, wireType 2 =*/8394).string(message[".google.api.defaultHost"]); - if (message[".google.api.oauthScopes"] != null && Object.hasOwnProperty.call(message, ".google.api.oauthScopes")) + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) writer.uint32(/* id 1050, wireType 2 =*/8402).string(message[".google.api.oauthScopes"]); return writer; }; @@ -106767,19 +106767,19 @@ MethodOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + if (message.deprecated != null && message.hasOwnProperty("deprecated")) writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); - if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel")) + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.longrunning.operationInfo"] != null && Object.hasOwnProperty.call(message, ".google.longrunning.operationInfo")) + if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) $root.google.longrunning.OperationInfo.encode(message[".google.longrunning.operationInfo"], writer.uint32(/* id 1049, wireType 2 =*/8394).fork()).ldelim(); if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length) for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) writer.uint32(/* id 1051, wireType 2 =*/8410).string(message[".google.api.methodSignature"][i]); - if (message[".google.api.http"] != null && Object.hasOwnProperty.call(message, ".google.api.http")) + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) $root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(/* id 72295728, wireType 2 =*/578365826).fork()).ldelim(); return writer; }; @@ -107029,7 +107029,7 @@ /** * IdempotencyLevel enum. * @name google.protobuf.MethodOptions.IdempotencyLevel - * @enum {number} + * @enum {string} * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value * @property {number} IDEMPOTENT=2 IDEMPOTENT value @@ -107159,17 +107159,17 @@ if (message.name != null && message.name.length) for (var i = 0; i < message.name.length; ++i) $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue")) + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); - if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue")) + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); - if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue")) + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); - if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue")) + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); - if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue")) + if (message.stringValue != null && message.hasOwnProperty("stringValue")) writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); - if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue")) + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); return writer; }; @@ -107946,9 +107946,9 @@ writer.int32(message.span[i]); writer.ldelim(); } - if (message.leadingComments != null && Object.hasOwnProperty.call(message, "leadingComments")) + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); - if (message.trailingComments != null && Object.hasOwnProperty.call(message, "trailingComments")) + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) for (var i = 0; i < message.leadingDetachedComments.length; ++i) @@ -108479,11 +108479,11 @@ writer.int32(message.path[i]); writer.ldelim(); } - if (message.sourceFile != null && Object.hasOwnProperty.call(message, "sourceFile")) + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); - if (message.begin != null && Object.hasOwnProperty.call(message, "begin")) + if (message.begin != null && message.hasOwnProperty("begin")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); - if (message.end != null && Object.hasOwnProperty.call(message, "end")) + if (message.end != null && message.hasOwnProperty("end")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); return writer; }; @@ -108736,9 +108736,9 @@ Any.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type_url != null && Object.hasOwnProperty.call(message, "type_url")) + if (message.type_url != null && message.hasOwnProperty("type_url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.type_url); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); return writer; }; @@ -108955,9 +108955,9 @@ Duration.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + if (message.seconds != null && message.hasOwnProperty("seconds")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + if (message.nanos != null && message.hasOwnProperty("nanos")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); return writer; }; @@ -109542,9 +109542,9 @@ Timestamp.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + if (message.seconds != null && message.hasOwnProperty("seconds")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + if (message.nanos != null && message.hasOwnProperty("nanos")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); return writer; }; @@ -109757,7 +109757,7 @@ DoubleValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); return writer; }; @@ -109944,7 +109944,7 @@ FloatValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.value); return writer; }; @@ -110131,7 +110131,7 @@ Int64Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.value); return writer; }; @@ -110332,7 +110332,7 @@ UInt64Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.value); return writer; }; @@ -110533,7 +110533,7 @@ Int32Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.value); return writer; }; @@ -110720,7 +110720,7 @@ UInt32Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.value); return writer; }; @@ -110907,7 +110907,7 @@ BoolValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.value); return writer; }; @@ -111094,7 +111094,7 @@ StringValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.value); return writer; }; @@ -111281,7 +111281,7 @@ BytesValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) + if (message.value != null && message.hasOwnProperty("value")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.value); return writer; }; @@ -111739,15 +111739,15 @@ Operation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + if (message.metadata != null && message.hasOwnProperty("metadata")) $root.google.protobuf.Any.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.done != null && Object.hasOwnProperty.call(message, "done")) + if (message.done != null && message.hasOwnProperty("done")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.done); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) + if (message.error != null && message.hasOwnProperty("error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.response != null && Object.hasOwnProperty.call(message, "response")) + if (message.response != null && message.hasOwnProperty("response")) $root.google.protobuf.Any.encode(message.response, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -112007,7 +112007,7 @@ GetOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -112221,13 +112221,13 @@ ListOperationsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) + if (message.filter != null && message.hasOwnProperty("filter")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.filter); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + if (message.pageSize != null && message.hasOwnProperty("pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + if (message.pageToken != null && message.hasOwnProperty("pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.name); return writer; }; @@ -112461,7 +112461,7 @@ if (message.operations != null && message.operations.length) for (var i = 0; i < message.operations.length; ++i) $root.google.longrunning.Operation.encode(message.operations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -112679,7 +112679,7 @@ CancelOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -112866,7 +112866,7 @@ DeleteOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -113062,9 +113062,9 @@ WaitOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) + if (message.name != null && message.hasOwnProperty("name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.timeout != null && Object.hasOwnProperty.call(message, "timeout")) + if (message.timeout != null && message.hasOwnProperty("timeout")) $root.google.protobuf.Duration.encode(message.timeout, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -113277,9 +113277,9 @@ OperationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responseType != null && Object.hasOwnProperty.call(message, "responseType")) + if (message.responseType != null && message.hasOwnProperty("responseType")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.responseType); - if (message.metadataType != null && Object.hasOwnProperty.call(message, "metadataType")) + if (message.metadataType != null && message.hasOwnProperty("metadataType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.metadataType); return writer; }; @@ -113509,9 +113509,9 @@ Status.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.code != null && Object.hasOwnProperty.call(message, "code")) + if (message.code != null && message.hasOwnProperty("code")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.code); - if (message.message != null && Object.hasOwnProperty.call(message, "message")) + if (message.message != null && message.hasOwnProperty("message")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.message); if (message.details != null && message.details.length) for (var i = 0; i < message.details.length; ++i) @@ -113783,13 +113783,13 @@ Color.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.red != null && Object.hasOwnProperty.call(message, "red")) + if (message.red != null && message.hasOwnProperty("red")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.red); - if (message.green != null && Object.hasOwnProperty.call(message, "green")) + if (message.green != null && message.hasOwnProperty("green")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.green); - if (message.blue != null && Object.hasOwnProperty.call(message, "blue")) + if (message.blue != null && message.hasOwnProperty("blue")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.blue); - if (message.alpha != null && Object.hasOwnProperty.call(message, "alpha")) + if (message.alpha != null && message.hasOwnProperty("alpha")) $root.google.protobuf.FloatValue.encode(message.alpha, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -114024,9 +114024,9 @@ LatLng.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latitude != null && Object.hasOwnProperty.call(message, "latitude")) + if (message.latitude != null && message.hasOwnProperty("latitude")) writer.uint32(/* id 1, wireType 1 =*/9).double(message.latitude); - if (message.longitude != null && Object.hasOwnProperty.call(message, "longitude")) + if (message.longitude != null && message.hasOwnProperty("longitude")) writer.uint32(/* id 2, wireType 1 =*/17).double(message.longitude); return writer; }; diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 409cb183a41..f7994b4fd0d 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -28,7 +28,7 @@ import * as path from 'path'; import * as protos from '../../protos/protos'; import * as gapicConfig from './image_annotator_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -684,6 +684,42 @@ export class ImageAnnotatorClient { callback ); } + /** + * Check the status of the long running operation returned by the asyncBatchAnnotateImages() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkAsyncBatchAnnotateImagesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAsyncBatchAnnotateImagesProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.asyncBatchAnnotateImages, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.OperationMetadata + >; + } asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, options?: gax.CallOptions @@ -804,6 +840,42 @@ export class ImageAnnotatorClient { callback ); } + /** + * Check the status of the long running operation returned by the asyncBatchAnnotateFiles() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAsyncBatchAnnotateFilesProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.asyncBatchAnnotateFiles, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.OperationMetadata + >; + } // -------------------- // -- Path templates -- // -------------------- diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index c4ac1909c44..fa648619043 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -32,7 +32,7 @@ import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; import * as gapicConfig from './product_search_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -1782,6 +1782,42 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.importProductSets(request, options, callback); } + /** + * Check the status of the long running operation returned by the importProductSets() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkImportProductSetsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkImportProductSetsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.vision.v1.ImportProductSetsResponse, + protos.google.cloud.vision.v1.BatchOperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.importProductSets, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.vision.v1.ImportProductSetsResponse, + protos.google.cloud.vision.v1.BatchOperationMetadata + >; + } purgeProducts( request: protos.google.cloud.vision.v1.IPurgeProductsRequest, options?: gax.CallOptions @@ -1913,6 +1949,42 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.purgeProducts(request, options, callback); } + /** + * Check the status of the long running operation returned by the purgeProducts() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkPurgeProductsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkPurgeProductsProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.vision.v1.BatchOperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.purgeProducts, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.vision.v1.BatchOperationMetadata + >; + } listProductSets( request: protos.google.cloud.vision.v1.IListProductSetsRequest, options?: gax.CallOptions diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index f2eef439883..051703c2377 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -28,7 +28,7 @@ import * as path from 'path'; import * as protos from '../../protos/protos'; import * as gapicConfig from './image_annotator_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -504,6 +504,42 @@ export class ImageAnnotatorClient { callback ); } + /** + * Check the status of the long running operation returned by the asyncBatchAnnotateFiles() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAsyncBatchAnnotateFilesProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.asyncBatchAnnotateFiles, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p2beta1.OperationMetadata + >; + } /** * Terminate the GRPC channel and close the client. diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index a23040d64c3..a19e7342d65 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -28,7 +28,7 @@ import * as path from 'path'; import * as protos from '../../protos/protos'; import * as gapicConfig from './image_annotator_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -520,6 +520,42 @@ export class ImageAnnotatorClient { callback ); } + /** + * Check the status of the long running operation returned by the asyncBatchAnnotateFiles() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAsyncBatchAnnotateFilesProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.asyncBatchAnnotateFiles, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p3beta1.OperationMetadata + >; + } // -------------------- // -- Path templates -- // -------------------- diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index e25c2cba8c4..70b2956ec02 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -32,7 +32,7 @@ import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; import * as gapicConfig from './product_search_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -1859,6 +1859,42 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.importProductSets(request, options, callback); } + /** + * Check the status of the long running operation returned by the importProductSets() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkImportProductSetsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkImportProductSetsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.vision.v1p3beta1.ImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.BatchOperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.importProductSets, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.vision.v1p3beta1.ImportProductSetsResponse, + protos.google.cloud.vision.v1p3beta1.BatchOperationMetadata + >; + } listProductSets( request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, options?: gax.CallOptions diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index ac649dc957c..49ee850f788 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -28,7 +28,7 @@ import * as path from 'path'; import * as protos from '../../protos/protos'; import * as gapicConfig from './image_annotator_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -636,6 +636,42 @@ export class ImageAnnotatorClient { callback ); } + /** + * Check the status of the long running operation returned by the asyncBatchAnnotateImages() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkAsyncBatchAnnotateImagesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAsyncBatchAnnotateImagesProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.asyncBatchAnnotateImages, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1p4beta1.OperationMetadata + >; + } asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, options?: gax.CallOptions @@ -736,6 +772,42 @@ export class ImageAnnotatorClient { callback ); } + /** + * Check the status of the long running operation returned by the asyncBatchAnnotateFiles() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkAsyncBatchAnnotateFilesProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.OperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.asyncBatchAnnotateFiles, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1p4beta1.OperationMetadata + >; + } // -------------------- // -- Path templates -- // -------------------- diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 89850fbe9c3..e3fbe4c351d 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -32,7 +32,7 @@ import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; import * as gapicConfig from './product_search_client_config.json'; - +import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -1862,6 +1862,42 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.importProductSets(request, options, callback); } + /** + * Check the status of the long running operation returned by the importProductSets() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkImportProductSetsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkImportProductSetsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.vision.v1p4beta1.ImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.BatchOperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.importProductSets, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.vision.v1p4beta1.ImportProductSetsResponse, + protos.google.cloud.vision.v1p4beta1.BatchOperationMetadata + >; + } purgeProducts( request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, options?: gax.CallOptions @@ -1993,6 +2029,42 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.purgeProducts(request, options, callback); } + /** + * Check the status of the long running operation returned by the purgeProducts() method. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * + * @example: + * const decodedOperation = await checkPurgeProductsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); + * + */ + async checkPurgeProductsProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.vision.v1p4beta1.BatchOperationMetadata + > + > { + const request = new operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); + const [operation] = await this.operationsClient.getOperation(request); + const decodeOperation = new gax.Operation( + operation, + this.descriptors.longrunning.purgeProducts, + gax.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.vision.v1p4beta1.BatchOperationMetadata + >; + } listProductSets( request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, options?: gax.CallOptions diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 13fbaba73e7..6213285115d 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -3,23 +3,15 @@ { "git": { "name": ".", - "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "5dee7d0b08872829ea4821d7d7293e8b824b8330" - } - }, - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "42ee97c1b93a0e3759bbba3013da309f670a90ab", - "internalRef": "307114445" + "remote": "git@github.com:googleapis/nodejs-vision.git", + "sha": "44a8dcc389489829f927015a1070e516f2e786b0" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "19465d3ec5e5acdb01521d8f3bddd311bcbee28d" + "sha": "ab883569eb0257bbf16a6d825fd018b3adde3912" } } ], diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index 7f874e7f6b9..b384893461f 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -23,7 +23,7 @@ import {SinonStub} from 'sinon'; import {describe, it} from 'mocha'; import * as imageannotatorModule from '../src'; -import {protobuf, LROperation} from 'google-gax'; +import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { const filledObject = (instance.constructor as typeof protobuf.Message).toObject( @@ -270,9 +270,7 @@ describe('v1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.batchAnnotateImages(request); - }, expectedError); + await assert.rejects(client.batchAnnotateImages(request), expectedError); assert( (client.innerApiCalls.batchAnnotateImages as SinonStub) .getCall(0) @@ -386,9 +384,7 @@ describe('v1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.batchAnnotateFiles(request); - }, expectedError); + await assert.rejects(client.batchAnnotateFiles(request), expectedError); assert( (client.innerApiCalls.batchAnnotateFiles as SinonStub) .getCall(0) @@ -510,9 +506,10 @@ describe('v1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.asyncBatchAnnotateImages(request); - }, expectedError); + await assert.rejects( + client.asyncBatchAnnotateImages(request), + expectedError + ); assert( (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) .getCall(0) @@ -545,15 +542,54 @@ describe('v1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateImages(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAsyncBatchAnnotateImagesProgress without error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkAsyncBatchAnnotateImagesProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAsyncBatchAnnotateImagesProgress with error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkAsyncBatchAnnotateImagesProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('asyncBatchAnnotateFiles', () => { @@ -669,9 +705,10 @@ describe('v1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.asyncBatchAnnotateFiles(request); - }, expectedError); + await assert.rejects( + client.asyncBatchAnnotateFiles(request), + expectedError + ); assert( (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) .getCall(0) @@ -704,15 +741,54 @@ describe('v1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateFiles(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAsyncBatchAnnotateFilesProgress without error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkAsyncBatchAnnotateFilesProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAsyncBatchAnnotateFilesProgress with error', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkAsyncBatchAnnotateFilesProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('Path templates', () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index d5ff51c5abc..e52563d9e9d 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -214,9 +214,7 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.batchAnnotateImages(request); - }, expectedError); + await assert.rejects(client.batchAnnotateImages(request), expectedError); assert( (client.innerApiCalls.batchAnnotateImages as SinonStub) .getCall(0) diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index fa81324fe3d..512caa90c0e 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -23,7 +23,7 @@ import {SinonStub} from 'sinon'; import {describe, it} from 'mocha'; import * as imageannotatorModule from '../src'; -import {protobuf, LROperation} from 'google-gax'; +import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { const filledObject = (instance.constructor as typeof protobuf.Message).toObject( @@ -246,9 +246,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.batchAnnotateImages(request); - }, expectedError); + await assert.rejects(client.batchAnnotateImages(request), expectedError); assert( (client.innerApiCalls.batchAnnotateImages as SinonStub) .getCall(0) @@ -346,9 +344,10 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.asyncBatchAnnotateFiles(request); - }, expectedError); + await assert.rejects( + client.asyncBatchAnnotateFiles(request), + expectedError + ); assert( (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) .getCall(0) @@ -373,14 +372,53 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateFiles(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAsyncBatchAnnotateFilesProgress without error', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkAsyncBatchAnnotateFilesProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAsyncBatchAnnotateFilesProgress with error', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkAsyncBatchAnnotateFilesProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); }); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index fd46c5d0267..837a102555a 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -23,7 +23,7 @@ import {SinonStub} from 'sinon'; import {describe, it} from 'mocha'; import * as imageannotatorModule from '../src'; -import {protobuf, LROperation} from 'google-gax'; +import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { const filledObject = (instance.constructor as typeof protobuf.Message).toObject( @@ -246,9 +246,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.batchAnnotateImages(request); - }, expectedError); + await assert.rejects(client.batchAnnotateImages(request), expectedError); assert( (client.innerApiCalls.batchAnnotateImages as SinonStub) .getCall(0) @@ -346,9 +344,10 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.asyncBatchAnnotateFiles(request); - }, expectedError); + await assert.rejects( + client.asyncBatchAnnotateFiles(request), + expectedError + ); assert( (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) .getCall(0) @@ -373,15 +372,54 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateFiles(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAsyncBatchAnnotateFilesProgress without error', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkAsyncBatchAnnotateFilesProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAsyncBatchAnnotateFilesProgress with error', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkAsyncBatchAnnotateFilesProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('Path templates', () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index 1c76e82e3da..1b08dc53271 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -23,7 +23,7 @@ import {SinonStub} from 'sinon'; import {describe, it} from 'mocha'; import * as imageannotatorModule from '../src'; -import {protobuf, LROperation} from 'google-gax'; +import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { const filledObject = (instance.constructor as typeof protobuf.Message).toObject( @@ -246,9 +246,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.batchAnnotateImages(request); - }, expectedError); + await assert.rejects(client.batchAnnotateImages(request), expectedError); assert( (client.innerApiCalls.batchAnnotateImages as SinonStub) .getCall(0) @@ -338,9 +336,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.batchAnnotateFiles(request); - }, expectedError); + await assert.rejects(client.batchAnnotateFiles(request), expectedError); assert( (client.innerApiCalls.batchAnnotateFiles as SinonStub) .getCall(0) @@ -438,9 +434,10 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.asyncBatchAnnotateImages(request); - }, expectedError); + await assert.rejects( + client.asyncBatchAnnotateImages(request), + expectedError + ); assert( (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) .getCall(0) @@ -465,15 +462,54 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateImages(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAsyncBatchAnnotateImagesProgress without error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkAsyncBatchAnnotateImagesProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAsyncBatchAnnotateImagesProgress with error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkAsyncBatchAnnotateImagesProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('asyncBatchAnnotateFiles', () => { @@ -565,9 +601,10 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.asyncBatchAnnotateFiles(request); - }, expectedError); + await assert.rejects( + client.asyncBatchAnnotateFiles(request), + expectedError + ); assert( (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) .getCall(0) @@ -592,15 +629,54 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { expectedError ); const [operation] = await client.asyncBatchAnnotateFiles(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkAsyncBatchAnnotateFilesProgress without error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkAsyncBatchAnnotateFilesProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkAsyncBatchAnnotateFilesProgress with error', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkAsyncBatchAnnotateFilesProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('Path templates', () => { diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index 1e06032ae23..521f950fb91 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -25,7 +25,7 @@ import * as productsearchModule from '../src'; import {PassThrough} from 'stream'; -import {protobuf, LROperation} from 'google-gax'; +import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { const filledObject = (instance.constructor as typeof protobuf.Message).toObject( @@ -329,9 +329,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.createProductSet(request); - }, expectedError); + await assert.rejects(client.createProductSet(request), expectedError); assert( (client.innerApiCalls.createProductSet as SinonStub) .getCall(0) @@ -443,9 +441,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.getProductSet(request); - }, expectedError); + await assert.rejects(client.getProductSet(request), expectedError); assert( (client.innerApiCalls.getProductSet as SinonStub) .getCall(0) @@ -560,9 +556,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.updateProductSet(request); - }, expectedError); + await assert.rejects(client.updateProductSet(request), expectedError); assert( (client.innerApiCalls.updateProductSet as SinonStub) .getCall(0) @@ -674,9 +668,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.deleteProductSet(request); - }, expectedError); + await assert.rejects(client.deleteProductSet(request), expectedError); assert( (client.innerApiCalls.deleteProductSet as SinonStub) .getCall(0) @@ -788,9 +780,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.createProduct(request); - }, expectedError); + await assert.rejects(client.createProduct(request), expectedError); assert( (client.innerApiCalls.createProduct as SinonStub) .getCall(0) @@ -902,9 +892,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.getProduct(request); - }, expectedError); + await assert.rejects(client.getProduct(request), expectedError); assert( (client.innerApiCalls.getProduct as SinonStub) .getCall(0) @@ -1019,9 +1007,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.updateProduct(request); - }, expectedError); + await assert.rejects(client.updateProduct(request), expectedError); assert( (client.innerApiCalls.updateProduct as SinonStub) .getCall(0) @@ -1133,9 +1119,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.deleteProduct(request); - }, expectedError); + await assert.rejects(client.deleteProduct(request), expectedError); assert( (client.innerApiCalls.deleteProduct as SinonStub) .getCall(0) @@ -1249,9 +1233,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.createReferenceImage(request); - }, expectedError); + await assert.rejects(client.createReferenceImage(request), expectedError); assert( (client.innerApiCalls.createReferenceImage as SinonStub) .getCall(0) @@ -1365,9 +1347,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.deleteReferenceImage(request); - }, expectedError); + await assert.rejects(client.deleteReferenceImage(request), expectedError); assert( (client.innerApiCalls.deleteReferenceImage as SinonStub) .getCall(0) @@ -1479,9 +1459,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.getReferenceImage(request); - }, expectedError); + await assert.rejects(client.getReferenceImage(request), expectedError); assert( (client.innerApiCalls.getReferenceImage as SinonStub) .getCall(0) @@ -1595,9 +1573,10 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.addProductToProductSet(request); - }, expectedError); + await assert.rejects( + client.addProductToProductSet(request), + expectedError + ); assert( (client.innerApiCalls.addProductToProductSet as SinonStub) .getCall(0) @@ -1711,9 +1690,10 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.removeProductFromProductSet(request); - }, expectedError); + await assert.rejects( + client.removeProductFromProductSet(request), + expectedError + ); assert( (client.innerApiCalls.removeProductFromProductSet as SinonStub) .getCall(0) @@ -1835,9 +1815,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.importProductSets(request); - }, expectedError); + await assert.rejects(client.importProductSets(request), expectedError); assert( (client.innerApiCalls.importProductSets as SinonStub) .getCall(0) @@ -1870,15 +1848,54 @@ describe('v1.ProductSearchClient', () => { expectedError ); const [operation] = await client.importProductSets(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.importProductSets as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkImportProductSetsProgress without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkImportProductSetsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkImportProductSetsProgress with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkImportProductSetsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('purgeProducts', () => { @@ -1994,9 +2011,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.purgeProducts(request); - }, expectedError); + await assert.rejects(client.purgeProducts(request), expectedError); assert( (client.innerApiCalls.purgeProducts as SinonStub) .getCall(0) @@ -2029,15 +2044,54 @@ describe('v1.ProductSearchClient', () => { expectedError ); const [operation] = await client.purgeProducts(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.purgeProducts as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkPurgeProductsProgress without error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkPurgeProductsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkPurgeProductsProgress with error', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkPurgeProductsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('listProductSets', () => { @@ -2147,9 +2201,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listProductSets(request); - }, expectedError); + await assert.rejects(client.listProductSets(request), expectedError); assert( (client.innerApiCalls.listProductSets as SinonStub) .getCall(0) @@ -2240,9 +2292,7 @@ describe('v1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listProductSets.createStream as SinonStub) .getCall(0) @@ -2441,9 +2491,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listProducts(request); - }, expectedError); + await assert.rejects(client.listProducts(request), expectedError); assert( (client.innerApiCalls.listProducts as SinonStub) .getCall(0) @@ -2528,9 +2576,7 @@ describe('v1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listProducts.createStream as SinonStub) .getCall(0) @@ -2743,9 +2789,7 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listReferenceImages(request); - }, expectedError); + await assert.rejects(client.listReferenceImages(request), expectedError); assert( (client.innerApiCalls.listReferenceImages as SinonStub) .getCall(0) @@ -2842,9 +2886,7 @@ describe('v1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listReferenceImages.createStream as SinonStub) .getCall(0) @@ -3051,9 +3093,10 @@ describe('v1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listProductsInProductSet(request); - }, expectedError); + await assert.rejects( + client.listProductsInProductSet(request), + expectedError + ); assert( (client.innerApiCalls.listProductsInProductSet as SinonStub) .getCall(0) @@ -3139,9 +3182,7 @@ describe('v1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listProductsInProductSet .createStream as SinonStub) diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index 138b1105d03..496d37fd55b 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -25,7 +25,7 @@ import * as productsearchModule from '../src'; import {PassThrough} from 'stream'; -import {protobuf, LROperation} from 'google-gax'; +import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { const filledObject = (instance.constructor as typeof protobuf.Message).toObject( @@ -331,9 +331,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.createProductSet(request); - }, expectedError); + await assert.rejects(client.createProductSet(request), expectedError); assert( (client.innerApiCalls.createProductSet as SinonStub) .getCall(0) @@ -445,9 +443,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.getProductSet(request); - }, expectedError); + await assert.rejects(client.getProductSet(request), expectedError); assert( (client.innerApiCalls.getProductSet as SinonStub) .getCall(0) @@ -562,9 +558,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.updateProductSet(request); - }, expectedError); + await assert.rejects(client.updateProductSet(request), expectedError); assert( (client.innerApiCalls.updateProductSet as SinonStub) .getCall(0) @@ -676,9 +670,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.deleteProductSet(request); - }, expectedError); + await assert.rejects(client.deleteProductSet(request), expectedError); assert( (client.innerApiCalls.deleteProductSet as SinonStub) .getCall(0) @@ -790,9 +782,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.createProduct(request); - }, expectedError); + await assert.rejects(client.createProduct(request), expectedError); assert( (client.innerApiCalls.createProduct as SinonStub) .getCall(0) @@ -904,9 +894,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.getProduct(request); - }, expectedError); + await assert.rejects(client.getProduct(request), expectedError); assert( (client.innerApiCalls.getProduct as SinonStub) .getCall(0) @@ -1021,9 +1009,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.updateProduct(request); - }, expectedError); + await assert.rejects(client.updateProduct(request), expectedError); assert( (client.innerApiCalls.updateProduct as SinonStub) .getCall(0) @@ -1135,9 +1121,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.deleteProduct(request); - }, expectedError); + await assert.rejects(client.deleteProduct(request), expectedError); assert( (client.innerApiCalls.deleteProduct as SinonStub) .getCall(0) @@ -1251,9 +1235,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.createReferenceImage(request); - }, expectedError); + await assert.rejects(client.createReferenceImage(request), expectedError); assert( (client.innerApiCalls.createReferenceImage as SinonStub) .getCall(0) @@ -1367,9 +1349,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.deleteReferenceImage(request); - }, expectedError); + await assert.rejects(client.deleteReferenceImage(request), expectedError); assert( (client.innerApiCalls.deleteReferenceImage as SinonStub) .getCall(0) @@ -1481,9 +1461,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.getReferenceImage(request); - }, expectedError); + await assert.rejects(client.getReferenceImage(request), expectedError); assert( (client.innerApiCalls.getReferenceImage as SinonStub) .getCall(0) @@ -1597,9 +1575,10 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.addProductToProductSet(request); - }, expectedError); + await assert.rejects( + client.addProductToProductSet(request), + expectedError + ); assert( (client.innerApiCalls.addProductToProductSet as SinonStub) .getCall(0) @@ -1713,9 +1692,10 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.removeProductFromProductSet(request); - }, expectedError); + await assert.rejects( + client.removeProductFromProductSet(request), + expectedError + ); assert( (client.innerApiCalls.removeProductFromProductSet as SinonStub) .getCall(0) @@ -1837,9 +1817,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.importProductSets(request); - }, expectedError); + await assert.rejects(client.importProductSets(request), expectedError); assert( (client.innerApiCalls.importProductSets as SinonStub) .getCall(0) @@ -1872,15 +1850,54 @@ describe('v1p3beta1.ProductSearchClient', () => { expectedError ); const [operation] = await client.importProductSets(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.importProductSets as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkImportProductSetsProgress without error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkImportProductSetsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkImportProductSetsProgress with error', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkImportProductSetsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('listProductSets', () => { @@ -2002,9 +2019,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listProductSets(request); - }, expectedError); + await assert.rejects(client.listProductSets(request), expectedError); assert( (client.innerApiCalls.listProductSets as SinonStub) .getCall(0) @@ -2101,9 +2116,7 @@ describe('v1p3beta1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listProductSets.createStream as SinonStub) .getCall(0) @@ -2320,9 +2333,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listProducts(request); - }, expectedError); + await assert.rejects(client.listProducts(request), expectedError); assert( (client.innerApiCalls.listProducts as SinonStub) .getCall(0) @@ -2419,9 +2430,7 @@ describe('v1p3beta1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listProducts.createStream as SinonStub) .getCall(0) @@ -2642,9 +2651,7 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listReferenceImages(request); - }, expectedError); + await assert.rejects(client.listReferenceImages(request), expectedError); assert( (client.innerApiCalls.listReferenceImages as SinonStub) .getCall(0) @@ -2741,9 +2748,7 @@ describe('v1p3beta1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listReferenceImages.createStream as SinonStub) .getCall(0) @@ -2962,9 +2967,10 @@ describe('v1p3beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listProductsInProductSet(request); - }, expectedError); + await assert.rejects( + client.listProductsInProductSet(request), + expectedError + ); assert( (client.innerApiCalls.listProductsInProductSet as SinonStub) .getCall(0) @@ -3062,9 +3068,7 @@ describe('v1p3beta1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listProductsInProductSet .createStream as SinonStub) diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index a127439a3ea..9cd13c5f6d7 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -25,7 +25,7 @@ import * as productsearchModule from '../src'; import {PassThrough} from 'stream'; -import {protobuf, LROperation} from 'google-gax'; +import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { const filledObject = (instance.constructor as typeof protobuf.Message).toObject( @@ -331,9 +331,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.createProductSet(request); - }, expectedError); + await assert.rejects(client.createProductSet(request), expectedError); assert( (client.innerApiCalls.createProductSet as SinonStub) .getCall(0) @@ -445,9 +443,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.getProductSet(request); - }, expectedError); + await assert.rejects(client.getProductSet(request), expectedError); assert( (client.innerApiCalls.getProductSet as SinonStub) .getCall(0) @@ -562,9 +558,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.updateProductSet(request); - }, expectedError); + await assert.rejects(client.updateProductSet(request), expectedError); assert( (client.innerApiCalls.updateProductSet as SinonStub) .getCall(0) @@ -676,9 +670,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.deleteProductSet(request); - }, expectedError); + await assert.rejects(client.deleteProductSet(request), expectedError); assert( (client.innerApiCalls.deleteProductSet as SinonStub) .getCall(0) @@ -790,9 +782,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.createProduct(request); - }, expectedError); + await assert.rejects(client.createProduct(request), expectedError); assert( (client.innerApiCalls.createProduct as SinonStub) .getCall(0) @@ -904,9 +894,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.getProduct(request); - }, expectedError); + await assert.rejects(client.getProduct(request), expectedError); assert( (client.innerApiCalls.getProduct as SinonStub) .getCall(0) @@ -1021,9 +1009,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.updateProduct(request); - }, expectedError); + await assert.rejects(client.updateProduct(request), expectedError); assert( (client.innerApiCalls.updateProduct as SinonStub) .getCall(0) @@ -1135,9 +1121,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.deleteProduct(request); - }, expectedError); + await assert.rejects(client.deleteProduct(request), expectedError); assert( (client.innerApiCalls.deleteProduct as SinonStub) .getCall(0) @@ -1251,9 +1235,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.createReferenceImage(request); - }, expectedError); + await assert.rejects(client.createReferenceImage(request), expectedError); assert( (client.innerApiCalls.createReferenceImage as SinonStub) .getCall(0) @@ -1367,9 +1349,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.deleteReferenceImage(request); - }, expectedError); + await assert.rejects(client.deleteReferenceImage(request), expectedError); assert( (client.innerApiCalls.deleteReferenceImage as SinonStub) .getCall(0) @@ -1481,9 +1461,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.getReferenceImage(request); - }, expectedError); + await assert.rejects(client.getReferenceImage(request), expectedError); assert( (client.innerApiCalls.getReferenceImage as SinonStub) .getCall(0) @@ -1597,9 +1575,10 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.addProductToProductSet(request); - }, expectedError); + await assert.rejects( + client.addProductToProductSet(request), + expectedError + ); assert( (client.innerApiCalls.addProductToProductSet as SinonStub) .getCall(0) @@ -1713,9 +1692,10 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.removeProductFromProductSet(request); - }, expectedError); + await assert.rejects( + client.removeProductFromProductSet(request), + expectedError + ); assert( (client.innerApiCalls.removeProductFromProductSet as SinonStub) .getCall(0) @@ -1837,9 +1817,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.importProductSets(request); - }, expectedError); + await assert.rejects(client.importProductSets(request), expectedError); assert( (client.innerApiCalls.importProductSets as SinonStub) .getCall(0) @@ -1872,15 +1850,54 @@ describe('v1p4beta1.ProductSearchClient', () => { expectedError ); const [operation] = await client.importProductSets(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.importProductSets as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkImportProductSetsProgress without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkImportProductSetsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkImportProductSetsProgress with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkImportProductSetsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('purgeProducts', () => { @@ -1996,9 +2013,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.purgeProducts(request); - }, expectedError); + await assert.rejects(client.purgeProducts(request), expectedError); assert( (client.innerApiCalls.purgeProducts as SinonStub) .getCall(0) @@ -2031,15 +2046,54 @@ describe('v1p4beta1.ProductSearchClient', () => { expectedError ); const [operation] = await client.purgeProducts(request); - await assert.rejects(async () => { - await operation.promise(); - }, expectedError); + await assert.rejects(operation.promise(), expectedError); assert( (client.innerApiCalls.purgeProducts as SinonStub) .getCall(0) .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes checkPurgeProductsProgress without error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkPurgeProductsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkPurgeProductsProgress with error', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkPurgeProductsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); }); describe('listProductSets', () => { @@ -2161,9 +2215,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listProductSets(request); - }, expectedError); + await assert.rejects(client.listProductSets(request), expectedError); assert( (client.innerApiCalls.listProductSets as SinonStub) .getCall(0) @@ -2260,9 +2312,7 @@ describe('v1p4beta1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listProductSets.createStream as SinonStub) .getCall(0) @@ -2479,9 +2529,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listProducts(request); - }, expectedError); + await assert.rejects(client.listProducts(request), expectedError); assert( (client.innerApiCalls.listProducts as SinonStub) .getCall(0) @@ -2578,9 +2626,7 @@ describe('v1p4beta1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listProducts.createStream as SinonStub) .getCall(0) @@ -2801,9 +2847,7 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listReferenceImages(request); - }, expectedError); + await assert.rejects(client.listReferenceImages(request), expectedError); assert( (client.innerApiCalls.listReferenceImages as SinonStub) .getCall(0) @@ -2900,9 +2944,7 @@ describe('v1p4beta1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listReferenceImages.createStream as SinonStub) .getCall(0) @@ -3121,9 +3163,10 @@ describe('v1p4beta1.ProductSearchClient', () => { undefined, expectedError ); - await assert.rejects(async () => { - await client.listProductsInProductSet(request); - }, expectedError); + await assert.rejects( + client.listProductsInProductSet(request), + expectedError + ); assert( (client.innerApiCalls.listProductsInProductSet as SinonStub) .getCall(0) @@ -3221,9 +3264,7 @@ describe('v1p4beta1.ProductSearchClient', () => { reject(err); }); }); - await assert.rejects(async () => { - await promise; - }, expectedError); + await assert.rejects(promise, expectedError); assert( (client.descriptors.page.listProductsInProductSet .createStream as SinonStub) From 6c04f8982c602459aad73fb2c85f555c272a2a3c Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 6 May 2020 20:22:07 +0200 Subject: [PATCH 419/588] chore(deps): update dependency uuid to v8 (#770) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [uuid](https://togithub.com/uuidjs/uuid) | devDependencies | major | [`^7.0.0` -> `^8.0.0`](https://renovatebot.com/diffs/npm/uuid/7.0.3/8.0.0) | | [uuid](https://togithub.com/uuidjs/uuid) | devDependencies | major | [`^3.4.0` -> `^8.0.0`](https://renovatebot.com/diffs/npm/uuid/3.4.0/8.0.0) | --- ### Release Notes
uuidjs/uuid ### [`v8.0.0`](https://togithub.com/uuidjs/uuid/blob/master/CHANGELOG.md#​800-httpsgithubcomuuidjsuuidcomparev703v800-2020-04-29) [Compare Source](https://togithub.com/uuidjs/uuid/compare/v7.0.3...v8.0.0) ##### ⚠ BREAKING CHANGES - For native ECMAScript Module (ESM) usage in Node.js only named exports are exposed, there is no more default export. ```diff -import uuid from 'uuid'; -console.log(uuid.v4()); // -> 'cd6c3b08-0adc-4f4b-a6ef-36087a1c9869' +import { v4 as uuidv4 } from 'uuid'; +uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' ``` - Deep requiring specific algorithms of this library like `require('uuid/v4')`, which has been deprecated in `uuid@7`, is no longer supported. Instead use the named exports that this module exports. For ECMAScript Modules (ESM): ```diff -import uuidv4 from 'uuid/v4'; +import { v4 as uuidv4 } from 'uuid'; uuidv4(); ``` For CommonJS: ```diff -const uuidv4 = require('uuid/v4'); +const { v4: uuidv4 } = require('uuid'); uuidv4(); ``` ##### Features - native Node.js ES Modules (wrapper approach) ([#​423](https://togithub.com/uuidjs/uuid/issues/423)) ([2d9f590](https://togithub.com/uuidjs/uuid/commit/2d9f590ad9701d692625c07ed62f0a0f91227991)), closes [#​245](https://togithub.com/uuidjs/uuid/issues/245) [#​419](https://togithub.com/uuidjs/uuid/issues/419) [#​342](https://togithub.com/uuidjs/uuid/issues/342) - remove deep requires ([#​426](https://togithub.com/uuidjs/uuid/issues/426)) ([daf72b8](https://togithub.com/uuidjs/uuid/commit/daf72b84ceb20272a81bb5fbddb05dd95922cbba)) ##### Bug Fixes - add CommonJS syntax example to README quickstart section ([#​417](https://togithub.com/uuidjs/uuid/issues/417)) ([e0ec840](https://togithub.com/uuidjs/uuid/commit/e0ec8402c7ad44b7ef0453036c612f5db513fda0)) ##### [7.0.3](https://togithub.com/uuidjs/uuid/compare/v7.0.2...v7.0.3) (2020-03-31) ##### Bug Fixes - make deep require deprecation warning work in browsers ([#​409](https://togithub.com/uuidjs/uuid/issues/409)) ([4b71107](https://togithub.com/uuidjs/uuid/commit/4b71107d8c0d2ef56861ede6403fc9dc35a1e6bf)), closes [#​408](https://togithub.com/uuidjs/uuid/issues/408) ##### [7.0.2](https://togithub.com/uuidjs/uuid/compare/v7.0.1...v7.0.2) (2020-03-04) ##### Bug Fixes - make access to msCrypto consistent ([#​393](https://togithub.com/uuidjs/uuid/issues/393)) ([8bf2a20](https://togithub.com/uuidjs/uuid/commit/8bf2a20f3565df743da7215eebdbada9d2df118c)) - simplify link in deprecation warning ([#​391](https://togithub.com/uuidjs/uuid/issues/391)) ([bb2c8e4](https://togithub.com/uuidjs/uuid/commit/bb2c8e4e9f4c5f9c1eaaf3ea59710c633cd90cb7)) - update links to match content in readme ([#​386](https://togithub.com/uuidjs/uuid/issues/386)) ([44f2f86](https://togithub.com/uuidjs/uuid/commit/44f2f86e9d2bbf14ee5f0f00f72a3db1292666d4)) ##### [7.0.1](https://togithub.com/uuidjs/uuid/compare/v7.0.0...v7.0.1) (2020-02-25) ##### Bug Fixes - clean up esm builds for node and browser ([#​383](https://togithub.com/uuidjs/uuid/issues/383)) ([59e6a49](https://togithub.com/uuidjs/uuid/commit/59e6a49e7ce7b3e8fb0f3ee52b9daae72af467dc)) - provide browser versions independent from module system ([#​380](https://togithub.com/uuidjs/uuid/issues/380)) ([4344a22](https://togithub.com/uuidjs/uuid/commit/4344a22e7aed33be8627eeaaf05360f256a21753)), closes [#​378](https://togithub.com/uuidjs/uuid/issues/378)
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index febf25d66c9..2b853cabfa8 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -68,7 +68,7 @@ "sinon": "^9.0.1", "ts-loader": "^7.0.0", "typescript": "^3.8.3", - "uuid": "^3.4.0", + "uuid": "^8.0.0", "webpack": "^4.41.6", "webpack-cli": "^3.3.11" } diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 67a7bb20618..b0a00775777 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -24,6 +24,6 @@ "@google-cloud/storage": "^4.0.0", "chai": "^4.2.0", "mocha": "^7.0.0", - "uuid": "^7.0.0" + "uuid": "^8.0.0" } } From 0eb43b441c138623abb325174f1db1299fbcdf7c Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 6 May 2020 20:33:23 +0200 Subject: [PATCH 420/588] chore(deps): update dependency @types/uuid to v7 (#769) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2b853cabfa8..bb42761beaf 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -54,7 +54,7 @@ "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "@types/sinon": "^9.0.0", - "@types/uuid": "^3.4.7", + "@types/uuid": "^7.0.0", "c8": "^7.1.0", "codecov": "^3.6.5", "gts": "^2.0.0", From 33abc1b3de087003babc0876428c1eebd40cff8d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 6 May 2020 20:54:21 +0200 Subject: [PATCH 421/588] fix(deps): update dependency natural to v2 (#772) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index b0a00775777..c2d1e6e1fc4 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -15,7 +15,7 @@ "dependencies": { "@google-cloud/vision": "^1.11.0", "mathjs": "^6.0.0", - "natural": "^1.0.0", + "natural": "^2.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", "yargs": "^15.0.0" From b9ed24c6732f562401573b6731850fbf3345cb65 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 18 May 2020 09:57:19 -0700 Subject: [PATCH 422/588] chore: linting --- packages/google-cloud-vision/protos/protos.js | 2086 ++++++++--------- packages/google-cloud-vision/synth.metadata | 12 +- 2 files changed, 1053 insertions(+), 1045 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 50233b4d14f..0eed068083b 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -131,9 +131,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -341,9 +341,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -812,11 +812,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -1211,11 +1211,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -1437,7 +1437,7 @@ /** * Type enum. * @name google.cloud.vision.v1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -1538,9 +1538,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -1748,9 +1748,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -1910,7 +1910,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -2112,36 +2112,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -2750,9 +2750,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -3078,7 +3078,7 @@ /** * Type enum. * @name google.cloud.vision.v1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -3217,7 +3217,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -3427,11 +3427,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -3729,19 +3729,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -4104,15 +4104,15 @@ LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -4439,27 +4439,27 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); - if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) + if (message.adultConfidence != null && Object.hasOwnProperty.call(message, "adultConfidence")) writer.uint32(/* id 16, wireType 5 =*/133).float(message.adultConfidence); - if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) + if (message.spoofConfidence != null && Object.hasOwnProperty.call(message, "spoofConfidence")) writer.uint32(/* id 18, wireType 5 =*/149).float(message.spoofConfidence); - if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) + if (message.medicalConfidence != null && Object.hasOwnProperty.call(message, "medicalConfidence")) writer.uint32(/* id 20, wireType 5 =*/165).float(message.medicalConfidence); - if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) + if (message.violenceConfidence != null && Object.hasOwnProperty.call(message, "violenceConfidence")) writer.uint32(/* id 22, wireType 5 =*/181).float(message.violenceConfidence); - if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) + if (message.racyConfidence != null && Object.hasOwnProperty.call(message, "racyConfidence")) writer.uint32(/* id 24, wireType 5 =*/197).float(message.racyConfidence); - if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) + if (message.nsfwConfidence != null && Object.hasOwnProperty.call(message, "nsfwConfidence")) writer.uint32(/* id 26, wireType 5 =*/213).float(message.nsfwConfidence); return writer; }; @@ -4931,9 +4931,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -5160,11 +5160,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -5587,7 +5587,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -5797,11 +5797,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -6435,7 +6435,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -6659,16 +6659,16 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + if (message.productSearchParams != null && Object.hasOwnProperty.call(message, "productSearchParams")) $root.google.cloud.vision.v1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -6954,12 +6954,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -7208,9 +7208,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -7547,21 +7547,21 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + if (message.productSearchResults != null && Object.hasOwnProperty.call(message, "productSearchResults")) $root.google.cloud.vision.v1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) + if (message.context != null && Object.hasOwnProperty.call(message, "context")) $root.google.cloud.vision.v1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) @@ -8064,7 +8064,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; @@ -8519,12 +8519,12 @@ AnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.pages != null && message.pages.length) { writer.uint32(/* id 4, wireType 2 =*/34).fork(); @@ -8829,14 +8829,14 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) $root.google.cloud.vision.v1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalPages != null && message.hasOwnProperty("totalPages")) + if (message.totalPages != null && Object.hasOwnProperty.call(message, "totalPages")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -9100,7 +9100,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.parent); return writer; }; @@ -9554,14 +9554,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -9817,7 +9817,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -10031,9 +10031,9 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; @@ -10268,7 +10268,7 @@ AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -10473,7 +10473,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1.AsyncAnnotateFileRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent); return writer; }; @@ -10917,11 +10917,11 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); return writer; }; @@ -11154,9 +11154,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) $root.google.cloud.vision.v1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -11360,7 +11360,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -11547,7 +11547,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -11752,11 +11752,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) + 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.updateTime != null && message.hasOwnProperty("updateTime")) + if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -11948,7 +11948,7 @@ /** * State enum. * @name google.cloud.vision.v1.OperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -12052,14 +12052,14 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) for (var i = 0; i < message.productCategories.length; ++i) writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && message.hasOwnProperty("filter")) + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -12320,7 +12320,7 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -12595,11 +12595,11 @@ Result.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); return writer; }; @@ -12841,13 +12841,13 @@ ObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); return writer; }; @@ -13088,7 +13088,7 @@ GroupedResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -14050,13 +14050,13 @@ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.productLabels != null && message.productLabels.length) for (var i = 0; i < message.productLabels.length; ++i) @@ -14317,9 +14317,9 @@ KeyValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) + if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; @@ -14548,13 +14548,13 @@ ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && message.hasOwnProperty("indexError")) + if (message.indexError != null && Object.hasOwnProperty.call(message, "indexError")) $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -14804,9 +14804,9 @@ ReferenceImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); if (message.boundingPolys != null && message.boundingPolys.length) for (var i = 0; i < message.boundingPolys.length; ++i) @@ -15057,11 +15057,11 @@ CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && message.hasOwnProperty("productId")) + if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; @@ -15294,11 +15294,11 @@ ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -15521,7 +15521,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -15739,7 +15739,7 @@ GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -15935,9 +15935,9 @@ UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -16146,7 +16146,7 @@ DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -16351,11 +16351,11 @@ CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; @@ -16588,11 +16588,11 @@ ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -16815,7 +16815,7 @@ if (message.productSets != null && message.productSets.length) for (var i = 0; i < message.productSets.length; ++i) $root.google.cloud.vision.v1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -17033,7 +17033,7 @@ GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -17229,9 +17229,9 @@ UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -17440,7 +17440,7 @@ DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -17645,11 +17645,11 @@ CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + if (message.referenceImage != null && Object.hasOwnProperty.call(message, "referenceImage")) $root.google.cloud.vision.v1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (message.referenceImageId != null && Object.hasOwnProperty.call(message, "referenceImageId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; @@ -17882,11 +17882,11 @@ ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -18118,9 +18118,9 @@ if (message.referenceImages != null && message.referenceImages.length) for (var i = 0; i < message.referenceImages.length; ++i) $root.google.cloud.vision.v1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; @@ -18350,7 +18350,7 @@ GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -18537,7 +18537,7 @@ DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -18733,9 +18733,9 @@ AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -18943,9 +18943,9 @@ RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -19162,11 +19162,11 @@ ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -19389,7 +19389,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -19607,7 +19607,7 @@ ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (message.csvFileUri != null && Object.hasOwnProperty.call(message, "csvFileUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; @@ -19808,7 +19808,7 @@ ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -20014,9 +20014,9 @@ ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -20490,11 +20490,11 @@ BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && message.hasOwnProperty("submitTime")) + if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -20686,7 +20686,7 @@ /** * State enum. * @name google.cloud.vision.v1.BatchOperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SUCCESSFUL=2 SUCCESSFUL value @@ -20762,7 +20762,7 @@ ProductSetPurgeConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productSetId); return writer; }; @@ -20990,13 +20990,13 @@ PurgeProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) + if (message.productSetPurgeConfig != null && Object.hasOwnProperty.call(message, "productSetPurgeConfig")) $root.google.cloud.vision.v1.ProductSetPurgeConfig.encode(message.productSetPurgeConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) + if (message.deleteOrphanProducts != null && Object.hasOwnProperty.call(message, "deleteOrphanProducts")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deleteOrphanProducts); - if (message.force != null && message.hasOwnProperty("force")) + if (message.force != null && Object.hasOwnProperty.call(message, "force")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.force); return writer; }; @@ -21247,7 +21247,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -21471,9 +21471,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -21681,9 +21681,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -21859,7 +21859,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -21950,7 +21950,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -22213,16 +22213,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -22516,16 +22516,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -22764,7 +22764,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -22870,14 +22870,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -23156,14 +23156,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -23441,13 +23441,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -24117,11 +24117,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -24340,9 +24340,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -24579,11 +24579,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -24870,9 +24870,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -25095,9 +25095,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -25522,11 +25522,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -25822,11 +25822,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -26038,7 +26038,7 @@ /** * Type enum. * @name google.cloud.vision.v1p1beta1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -26135,9 +26135,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -26345,9 +26345,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1p1beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -26687,36 +26687,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -27325,9 +27325,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1p1beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -27653,7 +27653,7 @@ /** * Type enum. * @name google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -27792,7 +27792,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -28002,11 +28002,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -28304,19 +28304,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -28679,15 +28679,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -29093,9 +29093,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -29322,11 +29322,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -29749,7 +29749,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -29959,11 +29959,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -30597,7 +30597,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -30812,14 +30812,14 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1p1beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1p1beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p1beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -31089,12 +31089,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1p1beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p1beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p1beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -31444,17 +31444,17 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p1beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1p1beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1p1beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; }; @@ -32242,7 +32242,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p1beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -32330,7 +32330,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p1beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -32554,9 +32554,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -32764,9 +32764,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -32942,7 +32942,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -33033,7 +33033,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -33296,16 +33296,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p1beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -33599,16 +33599,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p1beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -33847,7 +33847,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p1beta1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -33953,14 +33953,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p1beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -34239,14 +34239,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p1beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -34524,13 +34524,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p1beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -35200,11 +35200,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -35423,9 +35423,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -35662,11 +35662,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -35953,9 +35953,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -36178,9 +36178,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -36388,9 +36388,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -36859,11 +36859,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -37192,11 +37192,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -37408,7 +37408,7 @@ /** * Type enum. * @name google.cloud.vision.v1p2beta1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -37505,9 +37505,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -37715,9 +37715,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1p2beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -38057,36 +38057,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -38695,9 +38695,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1p2beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -39023,7 +39023,7 @@ /** * Type enum. * @name google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -39162,7 +39162,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -39372,11 +39372,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -39674,19 +39674,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -40049,15 +40049,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -40463,9 +40463,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -40692,11 +40692,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -41119,7 +41119,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -41329,11 +41329,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -41967,7 +41967,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -42182,14 +42182,14 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1p2beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1p2beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p2beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -42459,12 +42459,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1p2beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -42713,9 +42713,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -43033,19 +43033,19 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p2beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1p2beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1p2beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) + if (message.context != null && Object.hasOwnProperty.call(message, "context")) $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); return writer; }; @@ -43496,7 +43496,7 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) @@ -44166,14 +44166,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p2beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p2beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p2beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -44429,7 +44429,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p2beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -45046,9 +45046,9 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p2beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); return writer; }; @@ -45261,9 +45261,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) $root.google.cloud.vision.v1p2beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -45467,7 +45467,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -45654,7 +45654,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -45859,11 +45859,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) + 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.updateTime != null && message.hasOwnProperty("updateTime")) + if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -46055,7 +46055,7 @@ /** * State enum. * @name google.cloud.vision.v1p2beta1.OperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -46078,7 +46078,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p2beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -46166,7 +46166,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p2beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -46390,9 +46390,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -46600,9 +46600,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -46778,7 +46778,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -46869,7 +46869,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -47132,16 +47132,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p2beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -47435,16 +47435,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p2beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -47683,7 +47683,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p2beta1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -47789,14 +47789,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p2beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -48075,14 +48075,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p2beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -48360,13 +48360,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p2beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -49036,11 +49036,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -49259,9 +49259,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -49498,11 +49498,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -49789,9 +49789,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -50014,9 +50014,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -50224,9 +50224,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -50903,11 +50903,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -51236,11 +51236,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -51462,7 +51462,7 @@ /** * Type enum. * @name google.cloud.vision.v1p3beta1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -51563,9 +51563,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -51773,9 +51773,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1p3beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -52115,36 +52115,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); return writer; }; @@ -52753,9 +52753,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1p3beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -53081,7 +53081,7 @@ /** * Type enum. * @name google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -53220,7 +53220,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -53430,11 +53430,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -53732,19 +53732,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -54107,15 +54107,15 @@ LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -54388,15 +54388,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -54802,9 +54802,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -55031,11 +55031,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -55458,7 +55458,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -55668,11 +55668,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -56306,7 +56306,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -56530,16 +56530,16 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1p3beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1p3beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + if (message.productSearchParams != null && Object.hasOwnProperty.call(message, "productSearchParams")) $root.google.cloud.vision.v1p3beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p3beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -56825,12 +56825,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1p3beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -57079,9 +57079,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -57418,21 +57418,21 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p3beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1p3beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1p3beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + if (message.productSearchResults != null && Object.hasOwnProperty.call(message, "productSearchResults")) $root.google.cloud.vision.v1p3beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) + if (message.context != null && Object.hasOwnProperty.call(message, "context")) $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) @@ -57932,7 +57932,7 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) @@ -58602,14 +58602,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p3beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p3beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p3beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -58865,7 +58865,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p3beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -59482,9 +59482,9 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p3beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); return writer; }; @@ -59697,9 +59697,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) $root.google.cloud.vision.v1p3beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -59903,7 +59903,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -60090,7 +60090,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -60224,7 +60224,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p3beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -60317,11 +60317,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) + 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.updateTime != null && message.hasOwnProperty("updateTime")) + if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -60513,7 +60513,7 @@ /** * State enum. * @name google.cloud.vision.v1p3beta1.OperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -60662,24 +60662,24 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.catalogName != null && message.hasOwnProperty("catalogName")) + if (message.catalogName != null && Object.hasOwnProperty.call(message, "catalogName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.catalogName); - if (message.category != null && message.hasOwnProperty("category")) + if (message.category != null && Object.hasOwnProperty.call(message, "category")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.category); - if (message.normalizedBoundingPoly != null && message.hasOwnProperty("normalizedBoundingPoly")) + if (message.normalizedBoundingPoly != null && Object.hasOwnProperty.call(message, "normalizedBoundingPoly")) $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.encode(message.normalizedBoundingPoly, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.view != null && message.hasOwnProperty("view")) + if (message.view != null && Object.hasOwnProperty.call(message, "view")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.view); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.productCategory); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) for (var i = 0; i < message.productCategories.length; ++i) writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && message.hasOwnProperty("filter")) + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -61049,14 +61049,14 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.category != null && message.hasOwnProperty("category")) + if (message.category != null && Object.hasOwnProperty.call(message, "category")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.category); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.encode(message.products[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -61369,11 +61369,11 @@ ProductInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productId != null && message.hasOwnProperty("productId")) + if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productId); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.score); return writer; }; @@ -61601,11 +61601,11 @@ Result.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); return writer; }; @@ -61770,7 +61770,7 @@ /** * ProductSearchCategory enum. * @name google.cloud.vision.v1p3beta1.ProductSearchCategory - * @enum {string} + * @enum {number} * @property {number} PRODUCT_SEARCH_CATEGORY_UNSPECIFIED=0 PRODUCT_SEARCH_CATEGORY_UNSPECIFIED value * @property {number} SHOES=1 SHOES value * @property {number} BAGS=2 BAGS value @@ -61786,7 +61786,7 @@ /** * ProductSearchResultsView enum. * @name google.cloud.vision.v1p3beta1.ProductSearchResultsView - * @enum {string} + * @enum {number} * @property {number} BASIC=0 BASIC value * @property {number} FULL=1 FULL value */ @@ -62519,13 +62519,13 @@ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.productLabels != null && message.productLabels.length) for (var i = 0; i < message.productLabels.length; ++i) @@ -62786,9 +62786,9 @@ KeyValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) + if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; @@ -63017,13 +63017,13 @@ ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && message.hasOwnProperty("indexError")) + if (message.indexError != null && Object.hasOwnProperty.call(message, "indexError")) $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -63273,9 +63273,9 @@ ReferenceImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); if (message.boundingPolys != null && message.boundingPolys.length) for (var i = 0; i < message.boundingPolys.length; ++i) @@ -63526,11 +63526,11 @@ CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && message.hasOwnProperty("productId")) + if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; @@ -63763,11 +63763,11 @@ ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -63990,7 +63990,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p3beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -64208,7 +64208,7 @@ GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -64404,9 +64404,9 @@ UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p3beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -64615,7 +64615,7 @@ DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -64820,11 +64820,11 @@ CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; @@ -65057,11 +65057,11 @@ ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -65284,7 +65284,7 @@ if (message.productSets != null && message.productSets.length) for (var i = 0; i < message.productSets.length; ++i) $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -65502,7 +65502,7 @@ GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -65698,9 +65698,9 @@ UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1p3beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -65909,7 +65909,7 @@ DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -66114,11 +66114,11 @@ CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + if (message.referenceImage != null && Object.hasOwnProperty.call(message, "referenceImage")) $root.google.cloud.vision.v1p3beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (message.referenceImageId != null && Object.hasOwnProperty.call(message, "referenceImageId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; @@ -66351,11 +66351,11 @@ ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -66587,9 +66587,9 @@ if (message.referenceImages != null && message.referenceImages.length) for (var i = 0; i < message.referenceImages.length; ++i) $root.google.cloud.vision.v1p3beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; @@ -66819,7 +66819,7 @@ GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -67006,7 +67006,7 @@ DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -67202,9 +67202,9 @@ AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -67412,9 +67412,9 @@ RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -67631,11 +67631,11 @@ ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -67858,7 +67858,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p3beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -68076,7 +68076,7 @@ ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (message.csvFileUri != null && Object.hasOwnProperty.call(message, "csvFileUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; @@ -68277,7 +68277,7 @@ ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -68483,9 +68483,9 @@ ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -68959,11 +68959,11 @@ BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && message.hasOwnProperty("submitTime")) + if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -69155,7 +69155,7 @@ /** * State enum. * @name google.cloud.vision.v1p3beta1.BatchOperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SUCCESSFUL=2 SUCCESSFUL value @@ -69244,7 +69244,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p3beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -69468,9 +69468,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -69678,9 +69678,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -69856,7 +69856,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -69947,7 +69947,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -70210,16 +70210,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p3beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -70513,16 +70513,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p3beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -70761,7 +70761,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p3beta1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -70867,14 +70867,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p3beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -71153,14 +71153,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p3beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -71438,13 +71438,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -72114,11 +72114,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -72337,9 +72337,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -72576,11 +72576,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -72867,9 +72867,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -73304,11 +73304,11 @@ Celebrity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -73527,9 +73527,9 @@ FaceRecognitionResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.celebrity != null && message.hasOwnProperty("celebrity")) + if (message.celebrity != null && Object.hasOwnProperty.call(message, "celebrity")) $root.google.cloud.vision.v1p4beta1.Celebrity.encode(message.celebrity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -73742,9 +73742,9 @@ Vertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.y); return writer; }; @@ -73952,9 +73952,9 @@ NormalizedVertex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); return writer; }; @@ -74423,11 +74423,11 @@ Position.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.x != null && message.hasOwnProperty("x")) + if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.x); - if (message.y != null && message.hasOwnProperty("y")) + if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.y); - if (message.z != null && message.hasOwnProperty("z")) + if (message.z != null && Object.hasOwnProperty.call(message, "z")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.z); return writer; }; @@ -74822,11 +74822,11 @@ Feature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.maxResults != null && message.hasOwnProperty("maxResults")) + if (message.maxResults != null && Object.hasOwnProperty.call(message, "maxResults")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxResults); - if (message.model != null && message.hasOwnProperty("model")) + if (message.model != null && Object.hasOwnProperty.call(message, "model")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.model); return writer; }; @@ -75048,7 +75048,7 @@ /** * Type enum. * @name google.cloud.vision.v1p4beta1.Feature.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value * @property {number} FACE_DETECTION=1 FACE_DETECTION value * @property {number} LANDMARK_DETECTION=2 LANDMARK_DETECTION value @@ -75149,9 +75149,9 @@ ImageSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsImageUri != null && message.hasOwnProperty("gcsImageUri")) + if (message.gcsImageUri != null && Object.hasOwnProperty.call(message, "gcsImageUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsImageUri); - if (message.imageUri != null && message.hasOwnProperty("imageUri")) + if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); return writer; }; @@ -75359,9 +75359,9 @@ Image.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.content); - if (message.source != null && message.hasOwnProperty("source")) + if (message.source != null && Object.hasOwnProperty.call(message, "source")) $root.google.cloud.vision.v1p4beta1.ImageSource.encode(message.source, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -75521,7 +75521,7 @@ /** * Likelihood enum. * @name google.cloud.vision.v1p4beta1.Likelihood - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value * @property {number} UNLIKELY=2 UNLIKELY value @@ -75733,36 +75733,36 @@ FaceAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fdBoundingPoly != null && message.hasOwnProperty("fdBoundingPoly")) + if (message.fdBoundingPoly != null && Object.hasOwnProperty.call(message, "fdBoundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.fdBoundingPoly, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.landmarks != null && message.landmarks.length) for (var i = 0; i < message.landmarks.length; ++i) $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.encode(message.landmarks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.rollAngle != null && message.hasOwnProperty("rollAngle")) + if (message.rollAngle != null && Object.hasOwnProperty.call(message, "rollAngle")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.rollAngle); - if (message.panAngle != null && message.hasOwnProperty("panAngle")) + if (message.panAngle != null && Object.hasOwnProperty.call(message, "panAngle")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.panAngle); - if (message.tiltAngle != null && message.hasOwnProperty("tiltAngle")) + if (message.tiltAngle != null && Object.hasOwnProperty.call(message, "tiltAngle")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.tiltAngle); - if (message.detectionConfidence != null && message.hasOwnProperty("detectionConfidence")) + if (message.detectionConfidence != null && Object.hasOwnProperty.call(message, "detectionConfidence")) writer.uint32(/* id 7, wireType 5 =*/61).float(message.detectionConfidence); - if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) + if (message.landmarkingConfidence != null && Object.hasOwnProperty.call(message, "landmarkingConfidence")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.landmarkingConfidence); - if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) + if (message.joyLikelihood != null && Object.hasOwnProperty.call(message, "joyLikelihood")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.joyLikelihood); - if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) + if (message.sorrowLikelihood != null && Object.hasOwnProperty.call(message, "sorrowLikelihood")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.sorrowLikelihood); - if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) + if (message.angerLikelihood != null && Object.hasOwnProperty.call(message, "angerLikelihood")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.angerLikelihood); - if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) + if (message.surpriseLikelihood != null && Object.hasOwnProperty.call(message, "surpriseLikelihood")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.surpriseLikelihood); - if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) + if (message.underExposedLikelihood != null && Object.hasOwnProperty.call(message, "underExposedLikelihood")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.underExposedLikelihood); - if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) + if (message.blurredLikelihood != null && Object.hasOwnProperty.call(message, "blurredLikelihood")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.blurredLikelihood); - if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) + if (message.headwearLikelihood != null && Object.hasOwnProperty.call(message, "headwearLikelihood")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.headwearLikelihood); if (message.recognitionResult != null && message.recognitionResult.length) for (var i = 0; i < message.recognitionResult.length; ++i) @@ -76405,9 +76405,9 @@ Landmark.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); - if (message.position != null && message.hasOwnProperty("position")) + if (message.position != null && Object.hasOwnProperty.call(message, "position")) $root.google.cloud.vision.v1p4beta1.Position.encode(message.position, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -76733,7 +76733,7 @@ /** * Type enum. * @name google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type - * @enum {string} + * @enum {number} * @property {number} UNKNOWN_LANDMARK=0 UNKNOWN_LANDMARK value * @property {number} LEFT_EYE=1 LEFT_EYE value * @property {number} RIGHT_EYE=2 RIGHT_EYE value @@ -76872,7 +76872,7 @@ LocationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLng != null && message.hasOwnProperty("latLng")) + if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng")) $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -77082,11 +77082,11 @@ Property.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - if (message.uint64Value != null && message.hasOwnProperty("uint64Value")) + if (message.uint64Value != null && Object.hasOwnProperty.call(message, "uint64Value")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.uint64Value); return writer; }; @@ -77384,19 +77384,19 @@ EntityAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.locale != null && message.hasOwnProperty("locale")) + if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.locale); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); - if (message.topicality != null && message.hasOwnProperty("topicality")) + if (message.topicality != null && Object.hasOwnProperty.call(message, "topicality")) writer.uint32(/* id 6, wireType 5 =*/53).float(message.topicality); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locations != null && message.locations.length) for (var i = 0; i < message.locations.length; ++i) @@ -77759,15 +77759,15 @@ LocalizedObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -78040,15 +78040,15 @@ SafeSearchAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.adult != null && message.hasOwnProperty("adult")) + if (message.adult != null && Object.hasOwnProperty.call(message, "adult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.adult); - if (message.spoof != null && message.hasOwnProperty("spoof")) + if (message.spoof != null && Object.hasOwnProperty.call(message, "spoof")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.spoof); - if (message.medical != null && message.hasOwnProperty("medical")) + if (message.medical != null && Object.hasOwnProperty.call(message, "medical")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.medical); - if (message.violence != null && message.hasOwnProperty("violence")) + if (message.violence != null && Object.hasOwnProperty.call(message, "violence")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); - if (message.racy != null && message.hasOwnProperty("racy")) + if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); return writer; }; @@ -78454,9 +78454,9 @@ LatLongRect.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.minLatLng != null && message.hasOwnProperty("minLatLng")) + if (message.minLatLng != null && Object.hasOwnProperty.call(message, "minLatLng")) $root.google.type.LatLng.encode(message.minLatLng, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxLatLng != null && message.hasOwnProperty("maxLatLng")) + if (message.maxLatLng != null && Object.hasOwnProperty.call(message, "maxLatLng")) $root.google.type.LatLng.encode(message.maxLatLng, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -78683,11 +78683,11 @@ ColorInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.color != null && message.hasOwnProperty("color")) + if (message.color != null && Object.hasOwnProperty.call(message, "color")) $root.google.type.Color.encode(message.color, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pixelFraction != null && message.hasOwnProperty("pixelFraction")) + if (message.pixelFraction != null && Object.hasOwnProperty.call(message, "pixelFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.pixelFraction); return writer; }; @@ -79110,7 +79110,7 @@ ImageProperties.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.dominantColors != null && message.hasOwnProperty("dominantColors")) + if (message.dominantColors != null && Object.hasOwnProperty.call(message, "dominantColors")) $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.encode(message.dominantColors, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -79320,11 +79320,11 @@ CropHint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); - if (message.importanceFraction != null && message.hasOwnProperty("importanceFraction")) + if (message.importanceFraction != null && Object.hasOwnProperty.call(message, "importanceFraction")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.importanceFraction); return writer; }; @@ -79958,7 +79958,7 @@ WebDetectionParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.includeGeoResults != null && message.hasOwnProperty("includeGeoResults")) + if (message.includeGeoResults != null && Object.hasOwnProperty.call(message, "includeGeoResults")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeGeoResults); return writer; }; @@ -80191,18 +80191,18 @@ ImageContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) + if (message.latLongRect != null && Object.hasOwnProperty.call(message, "latLongRect")) $root.google.cloud.vision.v1p4beta1.LatLongRect.encode(message.latLongRect, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.languageHints != null && message.languageHints.length) for (var i = 0; i < message.languageHints.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageHints[i]); - if (message.cropHintsParams != null && message.hasOwnProperty("cropHintsParams")) + if (message.cropHintsParams != null && Object.hasOwnProperty.call(message, "cropHintsParams")) $root.google.cloud.vision.v1p4beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.productSearchParams != null && message.hasOwnProperty("productSearchParams")) + if (message.productSearchParams != null && Object.hasOwnProperty.call(message, "productSearchParams")) $root.google.cloud.vision.v1p4beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) + if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p4beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) + if (message.faceRecognitionParams != null && Object.hasOwnProperty.call(message, "faceRecognitionParams")) $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.encode(message.faceRecognitionParams, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); return writer; }; @@ -80504,12 +80504,12 @@ AnnotateImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) $root.google.cloud.vision.v1p4beta1.Image.encode(message.image, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -80758,9 +80758,9 @@ ImageAnnotationContext.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) + if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageNumber); return writer; }; @@ -81097,21 +81097,21 @@ if (message.textAnnotations != null && message.textAnnotations.length) for (var i = 0; i < message.textAnnotations.length; ++i) $root.google.cloud.vision.v1p4beta1.EntityAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.safeSearchAnnotation != null && message.hasOwnProperty("safeSearchAnnotation")) + if (message.safeSearchAnnotation != null && Object.hasOwnProperty.call(message, "safeSearchAnnotation")) $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.encode(message.safeSearchAnnotation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.imagePropertiesAnnotation != null && message.hasOwnProperty("imagePropertiesAnnotation")) + if (message.imagePropertiesAnnotation != null && Object.hasOwnProperty.call(message, "imagePropertiesAnnotation")) $root.google.cloud.vision.v1p4beta1.ImageProperties.encode(message.imagePropertiesAnnotation, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.cropHintsAnnotation != null && message.hasOwnProperty("cropHintsAnnotation")) + if (message.cropHintsAnnotation != null && Object.hasOwnProperty.call(message, "cropHintsAnnotation")) $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.encode(message.cropHintsAnnotation, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.fullTextAnnotation != null && message.hasOwnProperty("fullTextAnnotation")) + if (message.fullTextAnnotation != null && Object.hasOwnProperty.call(message, "fullTextAnnotation")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.encode(message.fullTextAnnotation, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.webDetection != null && message.hasOwnProperty("webDetection")) + if (message.webDetection != null && Object.hasOwnProperty.call(message, "webDetection")) $root.google.cloud.vision.v1p4beta1.WebDetection.encode(message.webDetection, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.productSearchResults != null && message.hasOwnProperty("productSearchResults")) + if (message.productSearchResults != null && Object.hasOwnProperty.call(message, "productSearchResults")) $root.google.cloud.vision.v1p4beta1.ProductSearchResults.encode(message.productSearchResults, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.context != null && message.hasOwnProperty("context")) + if (message.context != null && Object.hasOwnProperty.call(message, "context")) $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.encode(message.context, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.localizedObjectAnnotations != null && message.localizedObjectAnnotations.length) for (var i = 0; i < message.localizedObjectAnnotations.length; ++i) @@ -82046,12 +82046,12 @@ AnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.pages != null && message.pages.length) { writer.uint32(/* id 4, wireType 2 =*/34).fork(); @@ -82356,14 +82356,14 @@ AnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.responses != null && message.responses.length) for (var i = 0; i < message.responses.length; ++i) $root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.encode(message.responses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalPages != null && message.hasOwnProperty("totalPages")) + if (message.totalPages != null && Object.hasOwnProperty.call(message, "totalPages")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalPages); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -83058,14 +83058,14 @@ AsyncAnnotateFileRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p4beta1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.features != null && message.features.length) for (var i = 0; i < message.features.length; ++i) $root.google.cloud.vision.v1p4beta1.Feature.encode(message.features[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.imageContext != null && message.hasOwnProperty("imageContext")) + if (message.imageContext != null && Object.hasOwnProperty.call(message, "imageContext")) $root.google.cloud.vision.v1p4beta1.ImageContext.encode(message.imageContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -83321,7 +83321,7 @@ AsyncAnnotateFileResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -83526,7 +83526,7 @@ if (message.requests != null && message.requests.length) for (var i = 0; i < message.requests.length; ++i) $root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.encode(message.requests[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -83749,7 +83749,7 @@ AsyncBatchAnnotateImagesResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) + if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig")) $root.google.cloud.vision.v1p4beta1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -84375,11 +84375,11 @@ InputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p4beta1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.mimeType != null && message.hasOwnProperty("mimeType")) + if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType); - if (message.content != null && message.hasOwnProperty("content")) + if (message.content != null && Object.hasOwnProperty.call(message, "content")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.content); return writer; }; @@ -84612,9 +84612,9 @@ OutputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) + if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination")) $root.google.cloud.vision.v1p4beta1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.batchSize != null && message.hasOwnProperty("batchSize")) + if (message.batchSize != null && Object.hasOwnProperty.call(message, "batchSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.batchSize); return writer; }; @@ -84818,7 +84818,7 @@ GcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -85005,7 +85005,7 @@ GcsDestination.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri); return writer; }; @@ -85210,11 +85210,11 @@ OperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.createTime != null && message.hasOwnProperty("createTime")) + 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.updateTime != null && message.hasOwnProperty("updateTime")) + if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -85406,7 +85406,7 @@ /** * State enum. * @name google.cloud.vision.v1p4beta1.OperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} CREATED=1 CREATED value * @property {number} RUNNING=2 RUNNING value @@ -85510,14 +85510,14 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) for (var i = 0; i < message.productCategories.length; ++i) writer.uint32(/* id 7, wireType 2 =*/58).string(message.productCategories[i]); - if (message.filter != null && message.hasOwnProperty("filter")) + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.filter); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -85778,7 +85778,7 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -86053,11 +86053,11 @@ Result.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.image != null && message.hasOwnProperty("image")) + if (message.image != null && Object.hasOwnProperty.call(message, "image")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.image); return writer; }; @@ -86299,13 +86299,13 @@ ObjectAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.mid != null && message.hasOwnProperty("mid")) + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); return writer; }; @@ -86546,7 +86546,7 @@ GroupedResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) @@ -87508,13 +87508,13 @@ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); - if (message.productCategory != null && message.hasOwnProperty("productCategory")) + if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.productLabels != null && message.productLabels.length) for (var i = 0; i < message.productLabels.length; ++i) @@ -87775,9 +87775,9 @@ KeyValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.key != null && message.hasOwnProperty("key")) + if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; @@ -88006,13 +88006,13 @@ ProductSet.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.displayName != null && message.hasOwnProperty("displayName")) + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); - if (message.indexTime != null && message.hasOwnProperty("indexTime")) + if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.indexError != null && message.hasOwnProperty("indexError")) + if (message.indexError != null && Object.hasOwnProperty.call(message, "indexError")) $root.google.rpc.Status.encode(message.indexError, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -88262,9 +88262,9 @@ ReferenceImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.uri != null && message.hasOwnProperty("uri")) + if (message.uri != null && Object.hasOwnProperty.call(message, "uri")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.uri); if (message.boundingPolys != null && message.boundingPolys.length) for (var i = 0; i < message.boundingPolys.length; ++i) @@ -88515,11 +88515,11 @@ CreateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productId != null && message.hasOwnProperty("productId")) + if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productId); return writer; }; @@ -88752,11 +88752,11 @@ ListProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -88979,7 +88979,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -89197,7 +89197,7 @@ GetProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -89393,9 +89393,9 @@ UpdateProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.google.cloud.vision.v1p4beta1.Product.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -89604,7 +89604,7 @@ DeleteProductRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -89809,11 +89809,11 @@ CreateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.productSetId); return writer; }; @@ -90046,11 +90046,11 @@ ListProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -90273,7 +90273,7 @@ if (message.productSets != null && message.productSets.length) for (var i = 0; i < message.productSets.length; ++i) $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -90491,7 +90491,7 @@ GetProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -90687,9 +90687,9 @@ UpdateProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSet != null && message.hasOwnProperty("productSet")) + if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) $root.google.cloud.vision.v1p4beta1.ProductSet.encode(message.productSet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateMask != null && message.hasOwnProperty("updateMask")) + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -90898,7 +90898,7 @@ DeleteProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -91103,11 +91103,11 @@ CreateReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.referenceImage != null && message.hasOwnProperty("referenceImage")) + if (message.referenceImage != null && Object.hasOwnProperty.call(message, "referenceImage")) $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.referenceImageId != null && message.hasOwnProperty("referenceImageId")) + if (message.referenceImageId != null && Object.hasOwnProperty.call(message, "referenceImageId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.referenceImageId); return writer; }; @@ -91340,11 +91340,11 @@ ListReferenceImagesRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -91576,9 +91576,9 @@ if (message.referenceImages != null && message.referenceImages.length) for (var i = 0; i < message.referenceImages.length; ++i) $root.google.cloud.vision.v1p4beta1.ReferenceImage.encode(message.referenceImages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken); return writer; }; @@ -91808,7 +91808,7 @@ GetReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -91995,7 +91995,7 @@ DeleteReferenceImageRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -92191,9 +92191,9 @@ AddProductToProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -92401,9 +92401,9 @@ RemoveProductFromProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.product != null && message.hasOwnProperty("product")) + if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.product); return writer; }; @@ -92620,11 +92620,11 @@ ListProductsInProductSetRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); return writer; }; @@ -92847,7 +92847,7 @@ if (message.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.google.cloud.vision.v1p4beta1.Product.encode(message.products[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -93065,7 +93065,7 @@ ImportProductSetsGcsSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.csvFileUri != null && message.hasOwnProperty("csvFileUri")) + if (message.csvFileUri != null && Object.hasOwnProperty.call(message, "csvFileUri")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.csvFileUri); return writer; }; @@ -93266,7 +93266,7 @@ ImportProductSetsInputConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) + if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource")) $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; @@ -93472,9 +93472,9 @@ ImportProductSetsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.inputConfig != null && message.hasOwnProperty("inputConfig")) + if (message.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig")) $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.encode(message.inputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -93948,11 +93948,11 @@ BatchOperationMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.state != null && message.hasOwnProperty("state")) + if (message.state != null && Object.hasOwnProperty.call(message, "state")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.submitTime != null && message.hasOwnProperty("submitTime")) + if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.endTime != null && message.hasOwnProperty("endTime")) + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -94144,7 +94144,7 @@ /** * State enum. * @name google.cloud.vision.v1p4beta1.BatchOperationMetadata.State - * @enum {string} + * @enum {number} * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SUCCESSFUL=2 SUCCESSFUL value @@ -94220,7 +94220,7 @@ ProductSetPurgeConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.productSetId != null && message.hasOwnProperty("productSetId")) + if (message.productSetId != null && Object.hasOwnProperty.call(message, "productSetId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productSetId); return writer; }; @@ -94448,13 +94448,13 @@ PurgeProductsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.parent != null && message.hasOwnProperty("parent")) + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); - if (message.productSetPurgeConfig != null && message.hasOwnProperty("productSetPurgeConfig")) + if (message.productSetPurgeConfig != null && Object.hasOwnProperty.call(message, "productSetPurgeConfig")) $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.encode(message.productSetPurgeConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.deleteOrphanProducts != null && message.hasOwnProperty("deleteOrphanProducts")) + if (message.deleteOrphanProducts != null && Object.hasOwnProperty.call(message, "deleteOrphanProducts")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deleteOrphanProducts); - if (message.force != null && message.hasOwnProperty("force")) + if (message.force != null && Object.hasOwnProperty.call(message, "force")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.force); return writer; }; @@ -94705,7 +94705,7 @@ if (message.pages != null && message.pages.length) for (var i = 0; i < message.pages.length; ++i) $root.google.cloud.vision.v1p4beta1.Page.encode(message.pages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; @@ -94929,9 +94929,9 @@ DetectedLanguage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence); return writer; }; @@ -95139,9 +95139,9 @@ DetectedBreak.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) + if (message.isPrefix != null && Object.hasOwnProperty.call(message, "isPrefix")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isPrefix); return writer; }; @@ -95317,7 +95317,7 @@ /** * BreakType enum. * @name google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SPACE=1 SPACE value * @property {number} SURE_SPACE=2 SURE_SPACE value @@ -95408,7 +95408,7 @@ if (message.detectedLanguages != null && message.detectedLanguages.length) for (var i = 0; i < message.detectedLanguages.length; ++i) $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.encode(message.detectedLanguages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.detectedBreak != null && message.hasOwnProperty("detectedBreak")) + if (message.detectedBreak != null && Object.hasOwnProperty.call(message, "detectedBreak")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.encode(message.detectedBreak, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -95671,16 +95671,16 @@ Page.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.width != null && message.hasOwnProperty("width")) + if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.width); - if (message.height != null && message.hasOwnProperty("height")) + if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.height); if (message.blocks != null && message.blocks.length) for (var i = 0; i < message.blocks.length; ++i) $root.google.cloud.vision.v1p4beta1.Block.encode(message.blocks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -95974,16 +95974,16 @@ Block.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.paragraphs != null && message.paragraphs.length) for (var i = 0; i < message.paragraphs.length; ++i) $root.google.cloud.vision.v1p4beta1.Paragraph.encode(message.paragraphs[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.blockType != null && message.hasOwnProperty("blockType")) + if (message.blockType != null && Object.hasOwnProperty.call(message, "blockType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.blockType); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 5, wireType 5 =*/45).float(message.confidence); return writer; }; @@ -96222,7 +96222,7 @@ /** * BlockType enum. * @name google.cloud.vision.v1p4beta1.Block.BlockType - * @enum {string} + * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} TEXT=1 TEXT value * @property {number} TABLE=2 TABLE value @@ -96328,14 +96328,14 @@ Paragraph.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.words != null && message.words.length) for (var i = 0; i < message.words.length; ++i) $root.google.cloud.vision.v1p4beta1.Word.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -96614,14 +96614,14 @@ Word.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.symbols != null && message.symbols.length) for (var i = 0; i < message.symbols.length; ++i) $root.google.cloud.vision.v1p4beta1.Symbol.encode(message.symbols[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -96899,13 +96899,13 @@ Symbol.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.property != null && message.hasOwnProperty("property")) + if (message.property != null && Object.hasOwnProperty.call(message, "property")) $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.encode(message.property, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.boundingBox != null && message.hasOwnProperty("boundingBox")) + if (message.boundingBox != null && Object.hasOwnProperty.call(message, "boundingBox")) $root.google.cloud.vision.v1p4beta1.BoundingPoly.encode(message.boundingBox, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.text != null && message.hasOwnProperty("text")) + if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); - if (message.confidence != null && message.hasOwnProperty("confidence")) + if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence); return writer; }; @@ -97575,11 +97575,11 @@ WebEntity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.entityId != null && message.hasOwnProperty("entityId")) + if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.description != null && message.hasOwnProperty("description")) + if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; @@ -97798,9 +97798,9 @@ WebImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); return writer; }; @@ -98037,11 +98037,11 @@ WebPage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.url != null && message.hasOwnProperty("url")) + if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); - if (message.score != null && message.hasOwnProperty("score")) + if (message.score != null && Object.hasOwnProperty.call(message, "score")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.score); - if (message.pageTitle != null && message.hasOwnProperty("pageTitle")) + if (message.pageTitle != null && Object.hasOwnProperty.call(message, "pageTitle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageTitle); if (message.fullMatchingImages != null && message.fullMatchingImages.length) for (var i = 0; i < message.fullMatchingImages.length; ++i) @@ -98328,9 +98328,9 @@ WebLabel.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.label); - if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); return writer; }; @@ -98563,7 +98563,7 @@ 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 && message.hasOwnProperty("fullyDecodeReservedExpansion")) + if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion); return writer; }; @@ -98877,26 +98877,26 @@ HttpRule.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.selector != null && message.hasOwnProperty("selector")) + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); - if (message.get != null && message.hasOwnProperty("get")) + if (message.get != null && Object.hasOwnProperty.call(message, "get")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.get); - if (message.put != null && message.hasOwnProperty("put")) + if (message.put != null && Object.hasOwnProperty.call(message, "put")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.put); - if (message.post != null && message.hasOwnProperty("post")) + if (message.post != null && Object.hasOwnProperty.call(message, "post")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.post); - if (message["delete"] != null && message.hasOwnProperty("delete")) + if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete")) writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]); - if (message.patch != null && message.hasOwnProperty("patch")) + if (message.patch != null && Object.hasOwnProperty.call(message, "patch")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch); - if (message.body != null && message.hasOwnProperty("body")) + if (message.body != null && Object.hasOwnProperty.call(message, "body")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.body); - if (message.custom != null && message.hasOwnProperty("custom")) + 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 && message.hasOwnProperty("responseBody")) + if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody); return writer; }; @@ -99253,9 +99253,9 @@ CustomHttpPattern.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.kind != null && message.hasOwnProperty("kind")) + if (message.kind != null && Object.hasOwnProperty.call(message, "kind")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind); - if (message.path != null && message.hasOwnProperty("path")) + if (message.path != null && Object.hasOwnProperty.call(message, "path")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); return writer; }; @@ -99401,7 +99401,7 @@ /** * FieldBehavior enum. * @name google.api.FieldBehavior - * @enum {string} + * @enum {number} * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value * @property {number} OPTIONAL=1 OPTIONAL value * @property {number} REQUIRED=2 REQUIRED value @@ -99522,18 +99522,18 @@ ResourceDescriptor.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); if (message.pattern != null && message.pattern.length) for (var i = 0; i < message.pattern.length; ++i) writer.uint32(/* id 2, wireType 2 =*/18).string(message.pattern[i]); - if (message.nameField != null && message.hasOwnProperty("nameField")) + if (message.nameField != null && Object.hasOwnProperty.call(message, "nameField")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField); - if (message.history != null && message.hasOwnProperty("history")) + if (message.history != null && Object.hasOwnProperty.call(message, "history")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history); - if (message.plural != null && message.hasOwnProperty("plural")) + if (message.plural != null && Object.hasOwnProperty.call(message, "plural")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural); - if (message.singular != null && message.hasOwnProperty("singular")) + if (message.singular != null && Object.hasOwnProperty.call(message, "singular")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular); return writer; }; @@ -99753,7 +99753,7 @@ /** * History enum. * @name google.api.ResourceDescriptor.History - * @enum {string} + * @enum {number} * @property {number} HISTORY_UNSPECIFIED=0 HISTORY_UNSPECIFIED value * @property {number} ORIGINALLY_SINGLE_PATTERN=1 ORIGINALLY_SINGLE_PATTERN value * @property {number} FUTURE_MULTI_PATTERN=2 FUTURE_MULTI_PATTERN value @@ -99834,9 +99834,9 @@ ResourceReference.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.childType != null && message.hasOwnProperty("childType")) + if (message.childType != null && Object.hasOwnProperty.call(message, "childType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.childType); return writer; }; @@ -100361,9 +100361,9 @@ FileDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message["package"] != null && message.hasOwnProperty("package")) + if (message["package"] != null && Object.hasOwnProperty.call(message, "package")) writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); if (message.dependency != null && message.dependency.length) for (var i = 0; i < message.dependency.length; ++i) @@ -100380,9 +100380,9 @@ if (message.extension != null && message.extension.length) for (var i = 0; i < message.extension.length; ++i) $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) + if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo")) $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.publicDependency != null && message.publicDependency.length) for (var i = 0; i < message.publicDependency.length; ++i) @@ -100390,7 +100390,7 @@ if (message.weakDependency != null && message.weakDependency.length) for (var i = 0; i < message.weakDependency.length; ++i) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); - if (message.syntax != null && message.hasOwnProperty("syntax")) + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); return writer; }; @@ -100928,7 +100928,7 @@ DescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.field != null && message.field.length) for (var i = 0; i < message.field.length; ++i) @@ -100945,7 +100945,7 @@ if (message.extension != null && message.extension.length) for (var i = 0; i < message.extension.length; ++i) $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.oneofDecl != null && message.oneofDecl.length) for (var i = 0; i < message.oneofDecl.length; ++i) @@ -101410,11 +101410,11 @@ ExtensionRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.start != null && message.hasOwnProperty("start")) + if (message.start != null && Object.hasOwnProperty.call(message, "start")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && message.hasOwnProperty("end")) + if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -101638,9 +101638,9 @@ ReservedRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.start != null && message.hasOwnProperty("start")) + if (message.start != null && Object.hasOwnProperty.call(message, "start")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && message.hasOwnProperty("end")) + if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); return writer; }; @@ -102131,25 +102131,25 @@ FieldDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.extendee != null && message.hasOwnProperty("extendee")) + if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); - if (message.number != null && message.hasOwnProperty("number")) + if (message.number != null && Object.hasOwnProperty.call(message, "number")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); - if (message.label != null && message.hasOwnProperty("label")) + if (message.label != null && Object.hasOwnProperty.call(message, "label")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); - if (message.type != null && message.hasOwnProperty("type")) + if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); - if (message.typeName != null && message.hasOwnProperty("typeName")) + if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); - if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); - if (message.jsonName != null && message.hasOwnProperty("jsonName")) + if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); return writer; }; @@ -102496,7 +102496,7 @@ /** * Type enum. * @name google.protobuf.FieldDescriptorProto.Type - * @enum {string} + * @enum {number} * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value * @property {number} TYPE_INT64=3 TYPE_INT64 value @@ -102542,7 +102542,7 @@ /** * Label enum. * @name google.protobuf.FieldDescriptorProto.Label - * @enum {string} + * @enum {number} * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value @@ -102623,9 +102623,9 @@ OneofDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -102868,12 +102868,12 @@ EnumDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.value != null && message.value.length) for (var i = 0; i < message.value.length; ++i) $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.reservedRange != null && message.reservedRange.length) for (var i = 0; i < message.reservedRange.length; ++i) @@ -103176,9 +103176,9 @@ EnumReservedRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.start != null && message.hasOwnProperty("start")) + if (message.start != null && Object.hasOwnProperty.call(message, "start")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); - if (message.end != null && message.hasOwnProperty("end")) + if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); return writer; }; @@ -103398,11 +103398,11 @@ EnumValueDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.number != null && message.hasOwnProperty("number")) + if (message.number != null && Object.hasOwnProperty.call(message, "number")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -103636,12 +103636,12 @@ ServiceDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.method != null && message.method.length) for (var i = 0; i < message.method.length; ++i) $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; @@ -103921,17 +103921,17 @@ MethodDescriptorProto.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.inputType != null && message.hasOwnProperty("inputType")) + if (message.inputType != null && Object.hasOwnProperty.call(message, "inputType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); - if (message.outputType != null && message.hasOwnProperty("outputType")) + if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); - if (message.options != null && message.hasOwnProperty("options")) + if (message.options != null && Object.hasOwnProperty.call(message, "options")) $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); - if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming")) writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); return writer; }; @@ -104370,45 +104370,45 @@ FileOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); - if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); - if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); - if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); - if (message.goPackage != null && message.hasOwnProperty("goPackage")) + if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); - if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices")) writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); - if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices")) writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); - if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices")) writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); - if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash")) writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); - if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8")) writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); - if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas")) writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); - if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix")) writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); - if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace")) writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); - if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix")) writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); - if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix")) writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); - if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace")) writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); - if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + if (message.phpGenericServices != null && Object.hasOwnProperty.call(message, "phpGenericServices")) writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices); - if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace")) writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace); - if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage")) writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -104835,7 +104835,7 @@ /** * OptimizeMode enum. * @name google.protobuf.FileOptions.OptimizeMode - * @enum {string} + * @enum {number} * @property {number} SPEED=1 SPEED value * @property {number} CODE_SIZE=2 CODE_SIZE value * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value @@ -104953,18 +104953,18 @@ MessageOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); - if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry")) writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) + if (message[".google.api.resource"] != null && Object.hasOwnProperty.call(message, ".google.api.resource")) $root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); return writer; }; @@ -105306,17 +105306,17 @@ FieldOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.ctype != null && message.hasOwnProperty("ctype")) + if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); - if (message.packed != null && message.hasOwnProperty("packed")) + if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); - if (message.lazy != null && message.hasOwnProperty("lazy")) + if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); - if (message.jstype != null && message.hasOwnProperty("jstype")) + if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); - if (message.weak != null && message.hasOwnProperty("weak")) + if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -105327,7 +105327,7 @@ writer.int32(message[".google.api.fieldBehavior"][i]); writer.ldelim(); } - if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) + if (message[".google.api.resourceReference"] != null && Object.hasOwnProperty.call(message, ".google.api.resourceReference")) $root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(/* id 1055, wireType 2 =*/8442).fork()).ldelim(); return writer; }; @@ -105663,7 +105663,7 @@ /** * CType enum. * @name google.protobuf.FieldOptions.CType - * @enum {string} + * @enum {number} * @property {number} STRING=0 STRING value * @property {number} CORD=1 CORD value * @property {number} STRING_PIECE=2 STRING_PIECE value @@ -105679,7 +105679,7 @@ /** * JSType enum. * @name google.protobuf.FieldOptions.JSType - * @enum {string} + * @enum {number} * @property {number} JS_NORMAL=0 JS_NORMAL value * @property {number} JS_STRING=1 JS_STRING value * @property {number} JS_NUMBER=2 JS_NUMBER value @@ -105978,9 +105978,9 @@ EnumOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -106223,7 +106223,7 @@ EnumValueOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) @@ -106472,14 +106472,14 @@ ServiceOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + if (message[".google.api.defaultHost"] != null && Object.hasOwnProperty.call(message, ".google.api.defaultHost")) writer.uint32(/* id 1049, wireType 2 =*/8394).string(message[".google.api.defaultHost"]); - if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + if (message[".google.api.oauthScopes"] != null && Object.hasOwnProperty.call(message, ".google.api.oauthScopes")) writer.uint32(/* id 1050, wireType 2 =*/8402).string(message[".google.api.oauthScopes"]); return writer; }; @@ -106767,19 +106767,19 @@ MethodOptions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); - if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel")) writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); - if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) + if (message[".google.longrunning.operationInfo"] != null && Object.hasOwnProperty.call(message, ".google.longrunning.operationInfo")) $root.google.longrunning.OperationInfo.encode(message[".google.longrunning.operationInfo"], writer.uint32(/* id 1049, wireType 2 =*/8394).fork()).ldelim(); if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length) for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) writer.uint32(/* id 1051, wireType 2 =*/8410).string(message[".google.api.methodSignature"][i]); - if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) + if (message[".google.api.http"] != null && Object.hasOwnProperty.call(message, ".google.api.http")) $root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(/* id 72295728, wireType 2 =*/578365826).fork()).ldelim(); return writer; }; @@ -107029,7 +107029,7 @@ /** * IdempotencyLevel enum. * @name google.protobuf.MethodOptions.IdempotencyLevel - * @enum {string} + * @enum {number} * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value * @property {number} IDEMPOTENT=2 IDEMPOTENT value @@ -107159,17 +107159,17 @@ if (message.name != null && message.name.length) for (var i = 0; i < message.name.length; ++i) $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); - if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue")) writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); - if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); - if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue")) writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); - if (message.stringValue != null && message.hasOwnProperty("stringValue")) + if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue")) writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); - if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); return writer; }; @@ -107946,9 +107946,9 @@ writer.int32(message.span[i]); writer.ldelim(); } - if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + if (message.leadingComments != null && Object.hasOwnProperty.call(message, "leadingComments")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); - if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + if (message.trailingComments != null && Object.hasOwnProperty.call(message, "trailingComments")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) for (var i = 0; i < message.leadingDetachedComments.length; ++i) @@ -108479,11 +108479,11 @@ writer.int32(message.path[i]); writer.ldelim(); } - if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + if (message.sourceFile != null && Object.hasOwnProperty.call(message, "sourceFile")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); - if (message.begin != null && message.hasOwnProperty("begin")) + if (message.begin != null && Object.hasOwnProperty.call(message, "begin")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); - if (message.end != null && message.hasOwnProperty("end")) + if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); return writer; }; @@ -108736,9 +108736,9 @@ Any.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.type_url != null && message.hasOwnProperty("type_url")) + if (message.type_url != null && Object.hasOwnProperty.call(message, "type_url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.type_url); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); return writer; }; @@ -108955,9 +108955,9 @@ Duration.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.seconds != null && message.hasOwnProperty("seconds")) + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && message.hasOwnProperty("nanos")) + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); return writer; }; @@ -109542,9 +109542,9 @@ Timestamp.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.seconds != null && message.hasOwnProperty("seconds")) + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && message.hasOwnProperty("nanos")) + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); return writer; }; @@ -109757,7 +109757,7 @@ DoubleValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 1 =*/9).double(message.value); return writer; }; @@ -109944,7 +109944,7 @@ FloatValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.value); return writer; }; @@ -110131,7 +110131,7 @@ Int64Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.value); return writer; }; @@ -110332,7 +110332,7 @@ UInt64Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.value); return writer; }; @@ -110533,7 +110533,7 @@ Int32Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.value); return writer; }; @@ -110720,7 +110720,7 @@ UInt32Value.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.value); return writer; }; @@ -110907,7 +110907,7 @@ BoolValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.value); return writer; }; @@ -111094,7 +111094,7 @@ StringValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.value); return writer; }; @@ -111281,7 +111281,7 @@ BytesValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.value != null && message.hasOwnProperty("value")) + if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.value); return writer; }; @@ -111739,15 +111739,15 @@ Operation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.metadata != null && message.hasOwnProperty("metadata")) + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) $root.google.protobuf.Any.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.done != null && message.hasOwnProperty("done")) + if (message.done != null && Object.hasOwnProperty.call(message, "done")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.done); - if (message.error != null && message.hasOwnProperty("error")) + if (message.error != null && Object.hasOwnProperty.call(message, "error")) $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.response != null && message.hasOwnProperty("response")) + if (message.response != null && Object.hasOwnProperty.call(message, "response")) $root.google.protobuf.Any.encode(message.response, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -112007,7 +112007,7 @@ GetOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -112221,13 +112221,13 @@ ListOperationsRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.filter != null && message.hasOwnProperty("filter")) + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.filter); - if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); - if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.name); return writer; }; @@ -112461,7 +112461,7 @@ if (message.operations != null && message.operations.length) for (var i = 0; i < message.operations.length; ++i) $root.google.longrunning.Operation.encode(message.operations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); return writer; }; @@ -112679,7 +112679,7 @@ CancelOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -112866,7 +112866,7 @@ DeleteOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; @@ -113062,9 +113062,9 @@ WaitOperationRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.name != null && message.hasOwnProperty("name")) + if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.timeout != null && message.hasOwnProperty("timeout")) + if (message.timeout != null && Object.hasOwnProperty.call(message, "timeout")) $root.google.protobuf.Duration.encode(message.timeout, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; @@ -113277,9 +113277,9 @@ OperationInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.responseType != null && message.hasOwnProperty("responseType")) + if (message.responseType != null && Object.hasOwnProperty.call(message, "responseType")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.responseType); - if (message.metadataType != null && message.hasOwnProperty("metadataType")) + if (message.metadataType != null && Object.hasOwnProperty.call(message, "metadataType")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.metadataType); return writer; }; @@ -113509,9 +113509,9 @@ Status.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.code != null && message.hasOwnProperty("code")) + if (message.code != null && Object.hasOwnProperty.call(message, "code")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.code); - if (message.message != null && message.hasOwnProperty("message")) + if (message.message != null && Object.hasOwnProperty.call(message, "message")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.message); if (message.details != null && message.details.length) for (var i = 0; i < message.details.length; ++i) @@ -113783,13 +113783,13 @@ Color.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.red != null && message.hasOwnProperty("red")) + if (message.red != null && Object.hasOwnProperty.call(message, "red")) writer.uint32(/* id 1, wireType 5 =*/13).float(message.red); - if (message.green != null && message.hasOwnProperty("green")) + if (message.green != null && Object.hasOwnProperty.call(message, "green")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.green); - if (message.blue != null && message.hasOwnProperty("blue")) + if (message.blue != null && Object.hasOwnProperty.call(message, "blue")) writer.uint32(/* id 3, wireType 5 =*/29).float(message.blue); - if (message.alpha != null && message.hasOwnProperty("alpha")) + if (message.alpha != null && Object.hasOwnProperty.call(message, "alpha")) $root.google.protobuf.FloatValue.encode(message.alpha, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; @@ -114024,9 +114024,9 @@ LatLng.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.latitude != null && message.hasOwnProperty("latitude")) + if (message.latitude != null && Object.hasOwnProperty.call(message, "latitude")) writer.uint32(/* id 1, wireType 1 =*/9).double(message.latitude); - if (message.longitude != null && message.hasOwnProperty("longitude")) + if (message.longitude != null && Object.hasOwnProperty.call(message, "longitude")) writer.uint32(/* id 2, wireType 1 =*/17).double(message.longitude); return writer; }; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 6213285115d..650ac70e02f 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -3,8 +3,16 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/nodejs-vision.git", - "sha": "44a8dcc389489829f927015a1070e516f2e786b0" + "remote": "https://github.com/googleapis/nodejs-vision.git", + "sha": "afdc8da5f4181b5d43c3dc0155294495d647645a" + } + }, + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "7683d068453196e0f33366f6cc492649bfa750cc", + "internalRef": "311836104" } }, { From b7d9c3de1f9e8b22b66f9a7e737c5c2226500d4e Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 18 May 2020 09:58:10 -0700 Subject: [PATCH 423/588] build: do not fail builds on codecov errors (#528) (#779) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/74eabfaf-a964-4a5b-b26c-c28d4ae22df0/targets Source-Link: https://github.com/googleapis/synthtool/commit/be74d3e532faa47eb59f1a0eaebde0860d1d8ab4 --- packages/google-cloud-vision/synth.metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 650ac70e02f..9ebbdcc4237 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "ab883569eb0257bbf16a6d825fd018b3adde3912" + "sha": "be74d3e532faa47eb59f1a0eaebde0860d1d8ab4" } } ], From 8307591d13bd0dfeb8255acfa6be515306a72058 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 18 May 2020 19:14:09 +0200 Subject: [PATCH 424/588] fix(deps): update dependency mathjs to v7 (#775) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [mathjs](https://mathjs.org) ([source](https://togithub.com/josdejong/mathjs)) | dependencies | major | [`^6.0.0` -> `^7.0.0`](https://renovatebot.com/diffs/npm/mathjs/6.6.5/7.0.0) | --- ### Release Notes
josdejong/mathjs ### [`v7.0.0`](https://togithub.com/josdejong/mathjs/blob/master/HISTORY.md#​2020-05-07-version-700) [Compare Source](https://togithub.com/josdejong/mathjs/compare/v6.6.5...v7.0.0) Breaking changes: - Improvements in calculation of the `dot` product of complex values. The first argument is now conjugated. See [#​1761](https://togithub.com/josdejong/mathjs/issues/1761). Thanks [@​m93a](https://togithub.com/m93a). - Dropped official support for Node.js v8 which has reached end of life. - Removed all deprecation warnings introduced in v6. To upgrade smoothly from v5 to v7 or higher, upgrade to v6 first and resolve all deprecation warnings.
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index c2d1e6e1fc4..637acc1ad58 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@google-cloud/vision": "^1.11.0", - "mathjs": "^6.0.0", + "mathjs": "^7.0.0", "natural": "^2.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", From 5c82678a43153c61251dff367105df0834531f85 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 18 May 2020 19:32:14 +0200 Subject: [PATCH 425/588] chore(deps): update dependency @google-cloud/storage to v5 (#776) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@google-cloud/storage](https://togithub.com/googleapis/nodejs-storage) | devDependencies | major | [`^4.0.0` -> `^5.0.0`](https://renovatebot.com/diffs/npm/@google-cloud%2fstorage/4.7.0/5.0.0) | --- ### Release Notes
googleapis/nodejs-storage ### [`v5.0.0`](https://togithub.com/googleapis/nodejs-storage/blob/master/CHANGELOG.md#​500-httpswwwgithubcomgoogleapisnodejs-storagecomparev470v500-2020-05-13) [Compare Source](https://togithub.com/googleapis/nodejs-storage/compare/v4.7.0...v5.0.0) ##### ⚠ BREAKING CHANGES - automatically detect contentType if not provided ([#​1190](https://togithub.com/googleapis/nodejs-storage/issues/1190)) - drop keepAcl parameter in file copy ([#​1166](https://togithub.com/googleapis/nodejs-storage/issues/1166)) - drop support for node.js 8.x ##### Features - automatically detect contentType if not provided ([#​1190](https://www.github.com/googleapis/nodejs-storage/issues/1190)) ([b31ba4a](https://www.github.com/googleapis/nodejs-storage/commit/b31ba4a11399b57538ddf0d6ca2e10b2aa3fbc3a)) - enable bytes read tracking ([#​1074](https://www.github.com/googleapis/nodejs-storage/issues/1074)) ([0776a04](https://www.github.com/googleapis/nodejs-storage/commit/0776a044f3b2149b485e114369e952688df75645)) ##### Bug Fixes - **bucket:** Only disable resumable uploads for bucket.upload (fixes [#​1133](https://www.github.com/googleapis/nodejs-storage/issues/1133)) ([#​1135](https://www.github.com/googleapis/nodejs-storage/issues/1135)) ([2c20148](https://www.github.com/googleapis/nodejs-storage/commit/2c201486b7b2d3146846ac96c877a904c4a674b0)), closes [/github.com/googleapis/nodejs-storage/pull/1135#issuecomment-620070038](https://www.github.com/googleapis//github.com/googleapis/nodejs-storage/pull/1135/issues/issuecomment-620070038) - add whitespace to generateV4SignedPolicy ([#​1136](https://www.github.com/googleapis/nodejs-storage/issues/1136)) ([dcee78b](https://www.github.com/googleapis/nodejs-storage/commit/dcee78b98da23b02fe7d2f13a9270546bc07bba8)) - apache license URL ([#​468](https://www.github.com/googleapis/nodejs-storage/issues/468)) ([#​1151](https://www.github.com/googleapis/nodejs-storage/issues/1151)) ([e8116d3](https://www.github.com/googleapis/nodejs-storage/commit/e8116d3c6fa7412858692e67745b514eef78850e)) - Point to team in correct org ([#​1185](https://www.github.com/googleapis/nodejs-storage/issues/1185)) ([0bb1909](https://www.github.com/googleapis/nodejs-storage/commit/0bb19098013acf71cc3842f78ff333a8e356331a)) - **deps:** update dependency [@​google-cloud/common](https://togithub.com/google-cloud/common) to v3 ([#​1134](https://www.github.com/googleapis/nodejs-storage/issues/1134)) ([774ac5c](https://www.github.com/googleapis/nodejs-storage/commit/774ac5c75f02238418cc8ed7242297ea573ca9cb)) - **deps:** update dependency [@​google-cloud/paginator](https://togithub.com/google-cloud/paginator) to v3 ([#​1131](https://www.github.com/googleapis/nodejs-storage/issues/1131)) ([c1614d9](https://www.github.com/googleapis/nodejs-storage/commit/c1614d98e3047db379e09299b1014e80d73ed52f)) - **deps:** update dependency [@​google-cloud/promisify](https://togithub.com/google-cloud/promisify) to v2 ([#​1127](https://www.github.com/googleapis/nodejs-storage/issues/1127)) ([06624a5](https://www.github.com/googleapis/nodejs-storage/commit/06624a534cd1fdbc38455eee8d89f9f60ba75758)) - **deps:** update dependency uuid to v8 ([#​1170](https://www.github.com/googleapis/nodejs-storage/issues/1170)) ([6a98d64](https://www.github.com/googleapis/nodejs-storage/commit/6a98d64831baf1ca1ec2f03ecc4914745cba1c86)) - **deps:** update gcs-resumable-upload, remove gitnpm usage ([#​1186](https://www.github.com/googleapis/nodejs-storage/issues/1186)) ([c78c9cd](https://www.github.com/googleapis/nodejs-storage/commit/c78c9cde49dccb2fcd4ce10e4e9f8299d65f6838)) - **v4-policy:** encode special characters ([#​1169](https://www.github.com/googleapis/nodejs-storage/issues/1169)) ([6e48539](https://www.github.com/googleapis/nodejs-storage/commit/6e48539d76ca27e6f4c6cf2ac0872970f7391fed)) - sync to [googleapis/conformance-tests@`fa559a1`](https://togithub.com/googleapis/conformance-tests/commit/fa559a1) ([#​1167](https://www.github.com/googleapis/nodejs-storage/issues/1167)) ([5500446](https://www.github.com/googleapis/nodejs-storage/commit/550044619d2f17a1977c83bce5df915c6dc9578c)), closes [#​1168](https://www.github.com/googleapis/nodejs-storage/issues/1168) ##### Miscellaneous Chores - drop keepAcl parameter in file copy ([#​1166](https://www.github.com/googleapis/nodejs-storage/issues/1166)) ([5a4044a](https://www.github.com/googleapis/nodejs-storage/commit/5a4044a8ba13f248fc4f791248f797eb0f1f3c16)) ##### Build System - drop support for node.js 8.x ([b80c025](https://www.github.com/googleapis/nodejs-storage/commit/b80c025f106052fd25554c64314b3b3520e829b5))
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index bb42761beaf..59ec87165cb 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -49,7 +49,7 @@ "is": "^3.3.0" }, "devDependencies": { - "@google-cloud/storage": "^4.3.1", + "@google-cloud/storage": "^5.0.0", "@types/is": "0.0.21", "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 637acc1ad58..124acbc1a1e 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -21,7 +21,7 @@ "yargs": "^15.0.0" }, "devDependencies": { - "@google-cloud/storage": "^4.0.0", + "@google-cloud/storage": "^5.0.0", "chai": "^4.2.0", "mocha": "^7.0.0", "uuid": "^8.0.0" From 23a8e8a25974e480bec3ac372e4d343525dc8351 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 20 May 2020 21:56:39 +0200 Subject: [PATCH 426/588] chore(deps): update dependency @types/uuid to v8 (#781) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@types/uuid](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | devDependencies | major | [`^7.0.0` -> `^8.0.0`](https://renovatebot.com/diffs/npm/@types%2fuuid/7.0.4/8.0.0) | --- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 59ec87165cb..2213a998023 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -54,7 +54,7 @@ "@types/mocha": "^7.0.1", "@types/node": "^13.7.4", "@types/sinon": "^9.0.0", - "@types/uuid": "^7.0.0", + "@types/uuid": "^8.0.0", "c8": "^7.1.0", "codecov": "^3.6.5", "gts": "^2.0.0", From f334bf0ef21e042975a25bea25916f60f8f91170 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Thu, 28 May 2020 13:51:03 -0700 Subject: [PATCH 427/588] fix: mocha tests (#784) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2213a998023..bd443034b0e 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -45,7 +45,7 @@ }, "dependencies": { "@google-cloud/promisify": "^2.0.0", - "google-gax": "^2.1.0", + "google-gax": "^2.3.1", "is": "^3.3.0" }, "devDependencies": { From 2d594088855ba101281c8046c343a118ee4e4078 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 3 Jun 2020 18:14:13 -0700 Subject: [PATCH 428/588] chore: update protos.js --- .../google-cloud-vision/protos/protos.d.ts | 6 +++++ packages/google-cloud-vision/protos/protos.js | 26 +++++++++++++++++-- .../google-cloud-vision/protos/protos.json | 6 ++++- packages/google-cloud-vision/synth.metadata | 2 +- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 6a3a711abee..baa6f0e7098 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -40992,6 +40992,9 @@ export namespace google { /** FieldDescriptorProto options */ options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional */ + proto3Optional?: (boolean|null); } /** Represents a FieldDescriptorProto. */ @@ -41033,6 +41036,9 @@ export namespace google { /** 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 diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 0eed068083b..4832055c3a7 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -102010,6 +102010,7 @@ * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex * @property {string|null} [jsonName] FieldDescriptorProto jsonName * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options + * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional */ /** @@ -102107,6 +102108,14 @@ */ FieldDescriptorProto.prototype.options = null; + /** + * FieldDescriptorProto proto3Optional. + * @member {boolean} proto3Optional + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.proto3Optional = false; + /** * Creates a new FieldDescriptorProto instance using the specified properties. * @function create @@ -102151,6 +102160,8 @@ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); + if (message.proto3Optional != null && Object.hasOwnProperty.call(message, "proto3Optional")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.proto3Optional); return writer; }; @@ -102215,6 +102226,9 @@ case 8: message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); break; + case 17: + message.proto3Optional = reader.bool(); + break; default: reader.skipType(tag & 7); break; @@ -102309,6 +102323,9 @@ if (error) return "options." + error; } + if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) + if (typeof message.proto3Optional !== "boolean") + return "proto3Optional: boolean expected"; return null; }; @@ -102431,6 +102448,8 @@ throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); } + if (object.proto3Optional != null) + message.proto3Optional = Boolean(object.proto3Optional); return message; }; @@ -102458,6 +102477,7 @@ object.options = null; object.oneofIndex = 0; object.jsonName = ""; + object.proto3Optional = false; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -102479,6 +102499,8 @@ object.oneofIndex = message.oneofIndex; if (message.jsonName != null && message.hasOwnProperty("jsonName")) object.jsonName = message.jsonName; + if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) + object.proto3Optional = message.proto3Optional; return object; }; @@ -104272,7 +104294,7 @@ * @memberof google.protobuf.FileOptions * @instance */ - FileOptions.prototype.ccEnableArenas = false; + FileOptions.prototype.ccEnableArenas = true; /** * FileOptions objcClassPrefix. @@ -104758,7 +104780,7 @@ object.javaGenerateEqualsAndHash = false; object.deprecated = false; object.javaStringCheckUtf8 = false; - object.ccEnableArenas = false; + object.ccEnableArenas = true; object.objcClassPrefix = ""; object.csharpNamespace = ""; object.swiftPrefix = ""; diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 9f1398687f8..263bc285fe4 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -8210,6 +8210,10 @@ "options": { "type": "FieldOptions", "id": 8 + }, + "proto3Optional": { + "type": "bool", + "id": 17 } }, "nested": { @@ -8445,7 +8449,7 @@ "type": "bool", "id": 31, "options": { - "default": false + "default": true } }, "objcClassPrefix": { diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 9ebbdcc4237..fa2ea832a03 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "afdc8da5f4181b5d43c3dc0155294495d647645a" + "sha": "319c98e284a622876e055cfd7a249750d600ce76" } }, { From 2c060681061cbdb5f79dd48878c31f4ebbf7f08c Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2020 10:51:53 -0700 Subject: [PATCH 429/588] chore: release 2.0.0 (#572) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-vision/CHANGELOG.md | 23 +++++++++++++++++++ packages/google-cloud-vision/package.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index d13499a141c..3ba19fa4e5e 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,29 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [2.0.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.11.0...v2.0.0) (2020-06-04) + + +### ⚠ BREAKING CHANGES + +* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM. + +### Features + +* check status of long running operation by its name ([#773](https://www.github.com/googleapis/nodejs-vision/issues/773)) ([2b3becf](https://www.github.com/googleapis/nodejs-vision/commit/2b3becf530294202d361d7a8f35601973332eafe)) +* drop node8 support, support for async iterators ([#568](https://www.github.com/googleapis/nodejs-vision/issues/568)) ([e2dccd0](https://www.github.com/googleapis/nodejs-vision/commit/e2dccd02d20ed82ed679fff629b5a4aab47b39b6)) + + +### Bug Fixes + +* **deps:** update dependency @google-cloud/promisify to v2 ([#565](https://www.github.com/googleapis/nodejs-vision/issues/565)) ([c71a709](https://www.github.com/googleapis/nodejs-vision/commit/c71a70926568367fa89fbbf4226e40fcb44f679e)) +* **deps:** update dependency mathjs to v7 ([#775](https://www.github.com/googleapis/nodejs-vision/issues/775)) ([d64d99f](https://www.github.com/googleapis/nodejs-vision/commit/d64d99fe615a7048a5537fbcb8fbf3364e1c53c0)) +* **deps:** update dependency natural to v1 ([#768](https://www.github.com/googleapis/nodejs-vision/issues/768)) ([44a8dcc](https://www.github.com/googleapis/nodejs-vision/commit/44a8dcc389489829f927015a1070e516f2e786b0)) +* **deps:** update dependency natural to v2 ([#772](https://www.github.com/googleapis/nodejs-vision/issues/772)) ([afdc8da](https://www.github.com/googleapis/nodejs-vision/commit/afdc8da5f4181b5d43c3dc0155294495d647645a)) +* **samples:** use pureimage instead of canvas ([#774](https://www.github.com/googleapis/nodejs-vision/issues/774)) ([a352338](https://www.github.com/googleapis/nodejs-vision/commit/a3523388bace85f19041202c74be4beb705d620d)) +* mocha tests ([#784](https://www.github.com/googleapis/nodejs-vision/issues/784)) ([319c98e](https://www.github.com/googleapis/nodejs-vision/commit/319c98e284a622876e055cfd7a249750d600ce76)) +* remove eslint, update gax, fix generated protos, run the generator ([#756](https://www.github.com/googleapis/nodejs-vision/issues/756)) ([72f22b6](https://www.github.com/googleapis/nodejs-vision/commit/72f22b60e1491963ea1d22a4f96feabe07be0376)) + ## [1.11.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.10.0...v1.11.0) (2020-03-11) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index bd443034b0e..647f60f0072 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "1.11.0", + "version": "2.0.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 124acbc1a1e..42d0c9744d3 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^1.11.0", + "@google-cloud/vision": "^2.0.0", "mathjs": "^7.0.0", "natural": "^2.0.0", "pureimage": "^0.2.1", From a368d0dc7b4c8ac11b9be4f671f00a98a40146f5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 11 Jun 2020 13:24:38 -0700 Subject: [PATCH 430/588] feat(secrets): begin migration to secret manager from keystore (#790) --- packages/google-cloud-vision/protos/protos.js | 2 +- .../google-cloud-vision/src/v1/image_annotator_client.ts | 7 +++++++ .../google-cloud-vision/src/v1/product_search_client.ts | 7 +++++++ .../src/v1p1beta1/image_annotator_client.ts | 7 +++++++ .../src/v1p2beta1/image_annotator_client.ts | 7 +++++++ .../src/v1p3beta1/image_annotator_client.ts | 7 +++++++ .../src/v1p3beta1/product_search_client.ts | 7 +++++++ .../src/v1p4beta1/image_annotator_client.ts | 7 +++++++ .../src/v1p4beta1/product_search_client.ts | 7 +++++++ packages/google-cloud-vision/synth.metadata | 4 ++-- packages/google-cloud-vision/tsconfig.json | 2 +- 11 files changed, 60 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 4832055c3a7..ae1ae869b91 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -28,7 +28,7 @@ var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; // Exported root namespace - var $root = $protobuf.roots._google_cloud_vision_1_11_0_protos || ($protobuf.roots._google_cloud_vision_1_11_0_protos = {}); + var $root = $protobuf.roots._google_cloud_vision_protos || ($protobuf.roots._google_cloud_vision_protos = {}); $root.google = (function() { diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index f7994b4fd0d..8ae09cbf27b 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -99,6 +99,13 @@ export class ImageAnnotatorClient { } opts.servicePath = opts.servicePath || servicePath; opts.port = opts.port || port; + + // users can override the config from client side, like retry codes name. + // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 + // The way to override client config for Showcase API: + // + // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} + // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; const isBrowser = typeof window !== 'undefined'; diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index fa648619043..9e89cdbc3c6 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -114,6 +114,13 @@ export class ProductSearchClient { } opts.servicePath = opts.servicePath || servicePath; opts.port = opts.port || port; + + // users can override the config from client side, like retry codes name. + // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 + // The way to override client config for Showcase API: + // + // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} + // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; const isBrowser = typeof window !== 'undefined'; diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 182823fa71a..e5d1e0eec91 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -91,6 +91,13 @@ export class ImageAnnotatorClient { } opts.servicePath = opts.servicePath || servicePath; opts.port = opts.port || port; + + // users can override the config from client side, like retry codes name. + // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 + // The way to override client config for Showcase API: + // + // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} + // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; const isBrowser = typeof window !== 'undefined'; diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 051703c2377..01b754f4b4c 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -98,6 +98,13 @@ export class ImageAnnotatorClient { } opts.servicePath = opts.servicePath || servicePath; opts.port = opts.port || port; + + // users can override the config from client side, like retry codes name. + // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 + // The way to override client config for Showcase API: + // + // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} + // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; const isBrowser = typeof window !== 'undefined'; diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index a19e7342d65..2293c6fd509 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -99,6 +99,13 @@ export class ImageAnnotatorClient { } opts.servicePath = opts.servicePath || servicePath; opts.port = opts.port || port; + + // users can override the config from client side, like retry codes name. + // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 + // The way to override client config for Showcase API: + // + // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} + // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; const isBrowser = typeof window !== 'undefined'; diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 70b2956ec02..761cd232d76 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -114,6 +114,13 @@ export class ProductSearchClient { } opts.servicePath = opts.servicePath || servicePath; opts.port = opts.port || port; + + // users can override the config from client side, like retry codes name. + // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 + // The way to override client config for Showcase API: + // + // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} + // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; const isBrowser = typeof window !== 'undefined'; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 49ee850f788..0b6e1a1251f 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -99,6 +99,13 @@ export class ImageAnnotatorClient { } opts.servicePath = opts.servicePath || servicePath; opts.port = opts.port || port; + + // users can override the config from client side, like retry codes name. + // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 + // The way to override client config for Showcase API: + // + // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} + // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; const isBrowser = typeof window !== 'undefined'; diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index e3fbe4c351d..6700577d924 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -118,6 +118,13 @@ export class ProductSearchClient { } opts.servicePath = opts.servicePath || servicePath; opts.port = opts.port || port; + + // users can override the config from client side, like retry codes name. + // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 + // The way to override client config for Showcase API: + // + // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} + // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; const isBrowser = typeof window !== 'undefined'; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index fa2ea832a03..c2de4a0c775 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "319c98e284a622876e055cfd7a249750d600ce76" + "sha": "d6b10b8e386461cdd6427b69679c89921c125435" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "be74d3e532faa47eb59f1a0eaebde0860d1d8ab4" + "sha": "1c92077459db3dc50741e878f98b08c6261181e0" } } ], diff --git a/packages/google-cloud-vision/tsconfig.json b/packages/google-cloud-vision/tsconfig.json index 613d35597b5..c78f1c884ef 100644 --- a/packages/google-cloud-vision/tsconfig.json +++ b/packages/google-cloud-vision/tsconfig.json @@ -5,7 +5,7 @@ "outDir": "build", "resolveJsonModule": true, "lib": [ - "es2016", + "es2018", "dom" ] }, From bd27d6b0bd66c428e27c52c66242acc39bfd7da8 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 12 Jun 2020 11:03:56 -0700 Subject: [PATCH 431/588] fix: handle fallback option properly (#793) * changes without context autosynth cannot find the source of changes triggered by earlier changes in this repository, or by version upgrades to tools such as linters. * chore(nodejs_templates): add script logging to node_library populate-secrets.sh Co-authored-by: Benjamin E. Coe Source-Author: BenWhitehead Source-Date: Wed Jun 10 22:24:28 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: e7034945fbdc0e79d3c57f6e299e5c90b0f11469 Source-Link: https://github.com/googleapis/synthtool/commit/e7034945fbdc0e79d3c57f6e299e5c90b0f11469 --- .../src/v1/image_annotator_client.ts | 13 +++++-------- .../src/v1/product_search_client.ts | 13 +++++-------- .../src/v1p1beta1/image_annotator_client.ts | 13 +++++-------- .../src/v1p2beta1/image_annotator_client.ts | 13 +++++-------- .../src/v1p3beta1/image_annotator_client.ts | 13 +++++-------- .../src/v1p3beta1/product_search_client.ts | 13 +++++-------- .../src/v1p4beta1/image_annotator_client.ts | 13 +++++-------- .../src/v1p4beta1/product_search_client.ts | 13 +++++-------- packages/google-cloud-vision/synth.metadata | 4 ++-- 9 files changed, 42 insertions(+), 66 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 8ae09cbf27b..c21a289ba51 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -108,14 +108,11 @@ export class ImageAnnotatorClient { // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { - opts.fallback = true; - } - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + // If we're running in browser, it's OK to omit `fallback` since + // google-gax has `browser` field in its `package.json`. + // For Electron (which does not respect `browser` field), + // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + this._gaxModule = opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 9e89cdbc3c6..406f87a2969 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -123,14 +123,11 @@ export class ProductSearchClient { // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { - opts.fallback = true; - } - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + // If we're running in browser, it's OK to omit `fallback` since + // google-gax has `browser` field in its `package.json`. + // For Electron (which does not respect `browser` field), + // pass `{fallback: true}` to the ProductSearchClient constructor. + this._gaxModule = opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index e5d1e0eec91..cb4e6567780 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -100,14 +100,11 @@ export class ImageAnnotatorClient { // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { - opts.fallback = true; - } - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + // If we're running in browser, it's OK to omit `fallback` since + // google-gax has `browser` field in its `package.json`. + // For Electron (which does not respect `browser` field), + // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + this._gaxModule = opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 01b754f4b4c..87261012173 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -107,14 +107,11 @@ export class ImageAnnotatorClient { // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { - opts.fallback = true; - } - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + // If we're running in browser, it's OK to omit `fallback` since + // google-gax has `browser` field in its `package.json`. + // For Electron (which does not respect `browser` field), + // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + this._gaxModule = opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 2293c6fd509..71841a85ec0 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -108,14 +108,11 @@ export class ImageAnnotatorClient { // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { - opts.fallback = true; - } - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + // If we're running in browser, it's OK to omit `fallback` since + // google-gax has `browser` field in its `package.json`. + // For Electron (which does not respect `browser` field), + // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + this._gaxModule = opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 761cd232d76..2fa2b1e2ff3 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -123,14 +123,11 @@ export class ProductSearchClient { // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { - opts.fallback = true; - } - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + // If we're running in browser, it's OK to omit `fallback` since + // google-gax has `browser` field in its `package.json`. + // For Electron (which does not respect `browser` field), + // pass `{fallback: true}` to the ProductSearchClient constructor. + this._gaxModule = opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 0b6e1a1251f..ecbbd2d5e1b 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -108,14 +108,11 @@ export class ImageAnnotatorClient { // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { - opts.fallback = true; - } - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + // If we're running in browser, it's OK to omit `fallback` since + // google-gax has `browser` field in its `package.json`. + // For Electron (which does not respect `browser` field), + // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + this._gaxModule = opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 6700577d924..7f2467570ef 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -127,14 +127,11 @@ export class ProductSearchClient { // const showcaseClient = new showcaseClient({ projectId, customConfig }); opts.clientConfig = opts.clientConfig || {}; - const isBrowser = typeof window !== 'undefined'; - if (isBrowser) { - opts.fallback = true; - } - // If we are in browser, we are already using fallback because of the - // "browser" field in package.json. - // But if we were explicitly requested to use fallback, let's do it now. - this._gaxModule = !isBrowser && opts.fallback ? gax.fallback : gax; + // If we're running in browser, it's OK to omit `fallback` since + // google-gax has `browser` field in its `package.json`. + // For Electron (which does not respect `browser` field), + // pass `{fallback: true}` to the ProductSearchClient constructor. + this._gaxModule = opts.fallback ? gax.fallback : gax; // Create a `gaxGrpc` object, with any grpc-specific options // sent to the client. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index c2de4a0c775..29b9478bcaf 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "d6b10b8e386461cdd6427b69679c89921c125435" + "sha": "7df91d4fc15f64aa9e462af45136ae5a361cc162" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "1c92077459db3dc50741e878f98b08c6261181e0" + "sha": "e7034945fbdc0e79d3c57f6e299e5c90b0f11469" } } ], From c9d5d913573e2d22c6493f41f735a5e428d65b61 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2020 14:36:43 -0700 Subject: [PATCH 432/588] chore: release 2.1.0 (#791) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-vision/CHANGELOG.md | 13 +++++++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 3ba19fa4e5e..b4cac13bde8 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,19 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [2.1.0](https://www.github.com/googleapis/nodejs-vision/compare/v2.0.0...v2.1.0) (2020-06-12) + + +### Features + +* **secrets:** begin migration to secret manager from keystore ([#790](https://www.github.com/googleapis/nodejs-vision/issues/790)) ([4d9e334](https://www.github.com/googleapis/nodejs-vision/commit/4d9e334bdf6bc479779541b31d26055199dcdbff)) +* switch to es2018 target for TypeScript ([#788](https://www.github.com/googleapis/nodejs-vision/issues/788)) ([7df91d4](https://www.github.com/googleapis/nodejs-vision/commit/7df91d4fc15f64aa9e462af45136ae5a361cc162)) + + +### Bug Fixes + +* handle fallback option properly ([#793](https://www.github.com/googleapis/nodejs-vision/issues/793)) ([43b45bf](https://www.github.com/googleapis/nodejs-vision/commit/43b45bf1b41976f0628cae227d7f7fab29359632)) + ## [2.0.0](https://www.github.com/googleapis/nodejs-vision/compare/v1.11.0...v2.0.0) (2020-06-04) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 647f60f0072..83a5b113260 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.0.0", + "version": "2.1.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 42d0c9744d3..4ceb2ed3348 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.0.0", + "@google-cloud/vision": "^2.1.0", "mathjs": "^7.0.0", "natural": "^2.0.0", "pureimage": "^0.2.1", From 5a587e653ae619c88da2df542cb3b944139f628e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 16 Jun 2020 18:05:03 +0200 Subject: [PATCH 433/588] chore(deps): update dependency mocha to v8 (#794) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 83a5b113260..1bc7f12d1b4 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -62,7 +62,7 @@ "jsdoc-fresh": "^1.0.2", "jsdoc-region-tag": "^1.0.4", "linkinator": "^2.0.3", - "mocha": "^7.0.1", + "mocha": "^8.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^9.0.1", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 4ceb2ed3348..2735bde63ff 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -23,7 +23,7 @@ "devDependencies": { "@google-cloud/storage": "^5.0.0", "chai": "^4.2.0", - "mocha": "^7.0.0", + "mocha": "^8.0.0", "uuid": "^8.0.0" } } From 31c371beaf2335daeb63af811d2e830601bdc91b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 19 Jun 2020 15:25:08 -0700 Subject: [PATCH 434/588] fix: update node issue template (#795) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/87b131b2-8b10-4a99-8f57-5fac42bba415/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/b10590a4a1568548dd13cfcea9aa11d40898144b --- packages/google-cloud-vision/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 29b9478bcaf..a850d550521 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "7df91d4fc15f64aa9e462af45136ae5a361cc162" + "sha": "d4b6c8f7f123c7bebb0e600dff3ab1fdcdd88bdf" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "e7034945fbdc0e79d3c57f6e299e5c90b0f11469" + "sha": "b10590a4a1568548dd13cfcea9aa11d40898144b" } } ], From 6d840b9ecab9e71cf26ecc49dd8296355e6e6be0 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 29 Jun 2020 13:25:02 -0700 Subject: [PATCH 435/588] build: add config .gitattributes (#797) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/e6ac0f7f-2fc1-4ac2-9eb5-23ba1215b6a2/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/dc9caca650c77b7039e2bbc3339ffb34ae78e5b7 --- packages/google-cloud-vision/.gitattributes | 3 +++ packages/google-cloud-vision/synth.metadata | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-vision/.gitattributes diff --git a/packages/google-cloud-vision/.gitattributes b/packages/google-cloud-vision/.gitattributes new file mode 100644 index 00000000000..2e63216ae9c --- /dev/null +++ b/packages/google-cloud-vision/.gitattributes @@ -0,0 +1,3 @@ +*.ts text eol=lf +*.js test eol=lf +protos/* linguist-generated diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index a850d550521..78c460797a1 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "d4b6c8f7f123c7bebb0e600dff3ab1fdcdd88bdf" + "sha": "e975833eb5b11d3c3834bfea9697a9611cae6a8f" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "b10590a4a1568548dd13cfcea9aa11d40898144b" + "sha": "dc9caca650c77b7039e2bbc3339ffb34ae78e5b7" } } ], From 7e1cb76c895a4cc927b5eeb138d3bf5ea7de0306 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Mon, 6 Jul 2020 10:17:45 -0700 Subject: [PATCH 436/588] build: use bazel build (#798) --- packages/google-cloud-vision/synth.metadata | 34 ++++++++------------- packages/google-cloud-vision/synth.py | 13 ++------ 2 files changed, 15 insertions(+), 32 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 78c460797a1..c999706a1da 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -3,23 +3,15 @@ { "git": { "name": ".", - "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "e975833eb5b11d3c3834bfea9697a9611cae6a8f" - } - }, - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "7683d068453196e0f33366f6cc492649bfa750cc", - "internalRef": "311836104" + "remote": "git@github.com:googleapis/nodejs-vision.git", + "sha": "c2498281a156b95e158bfdbc1e349fbaf5ff8329" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "dc9caca650c77b7039e2bbc3339ffb34ae78e5b7" + "sha": "303271797a360f8a439203413f13a160f2f5b3b4" } } ], @@ -29,8 +21,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } }, { @@ -38,8 +30,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1p1beta1", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } }, { @@ -47,8 +39,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1p2beta1", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } }, { @@ -56,8 +48,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1p3beta1", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } }, { @@ -65,8 +57,8 @@ "source": "googleapis", "apiName": "vision", "apiVersion": "v1p4beta1", - "language": "typescript", - "generator": "gapic-generator-typescript" + "language": "nodejs", + "generator": "bazel" } } ] diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py index 6baeac2c9d4..cb550992121 100644 --- a/packages/google-cloud-vision/synth.py +++ b/packages/google-cloud-vision/synth.py @@ -25,19 +25,10 @@ # Run the gapic generator -gapic = gcp.GAPICMicrogenerator() +gapic = gcp.GAPICBazel() versions = ['v1', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1', 'v1p4beta1'] for version in versions: - library = gapic.typescript_library( - 'vision', version, - generator_args={ - "grpc-service-config": f"google/cloud/vision/{version}/vision_grpc_service_config.json", - "package-name": f"@google-cloud/vision", - "main-service": f"vision" - }, - proto_path=f'/google/cloud/vision/{version}', - extra_proto_files=['google/cloud/common_resources.proto'], - ) + library = gapic.node_library('vision', version) s.copy(library, excludes=['src/index.ts', 'package.json']) # extends interface for client.ts for version in versions: From 0284302a746269a0fd9177eb64f192e05868d03c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 9 Jul 2020 23:26:47 -0700 Subject: [PATCH 437/588] build: typeo in nodejs .gitattribute (#802) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/cc99acfa-05b8-434b-9500-2f6faf2eaa02/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/799d8e6522c1ef7cb55a70d9ea0b15e045c3d00b --- packages/google-cloud-vision/.gitattributes | 2 +- packages/google-cloud-vision/synth.metadata | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/.gitattributes b/packages/google-cloud-vision/.gitattributes index 2e63216ae9c..d4f4169b28b 100644 --- a/packages/google-cloud-vision/.gitattributes +++ b/packages/google-cloud-vision/.gitattributes @@ -1,3 +1,3 @@ *.ts text eol=lf -*.js test eol=lf +*.js text eol=lf protos/* linguist-generated diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index c999706a1da..9ecd8e933ea 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -3,15 +3,23 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/nodejs-vision.git", - "sha": "c2498281a156b95e158bfdbc1e349fbaf5ff8329" + "remote": "https://github.com/googleapis/nodejs-vision.git", + "sha": "b37f5f6712cee73d8e335f18f3810c51572bc98a" + } + }, + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "4f4aa3a03e470f1390758b9d89eb1aa88837a5be", + "internalRef": "320300472" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "303271797a360f8a439203413f13a160f2f5b3b4" + "sha": "799d8e6522c1ef7cb55a70d9ea0b15e045c3d00b" } } ], From 1de86552ee701cb1eda6864141aa6954c089d13d Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 10 Jul 2020 06:40:10 +0000 Subject: [PATCH 438/588] chore: release 2.1.1 (#796) :robot: I have created a release \*beep\* \*boop\* --- ### [2.1.1](https://www.github.com/googleapis/nodejs-vision/compare/v2.1.0...v2.1.1) (2020-07-10) ### Bug Fixes * update node issue template ([#795](https://www.github.com/googleapis/nodejs-vision/issues/795)) ([e975833](https://www.github.com/googleapis/nodejs-vision/commit/e975833eb5b11d3c3834bfea9697a9611cae6a8f)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index b4cac13bde8..843bf8115be 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.1.1](https://www.github.com/googleapis/nodejs-vision/compare/v2.1.0...v2.1.1) (2020-07-10) + + +### Bug Fixes + +* update node issue template ([#795](https://www.github.com/googleapis/nodejs-vision/issues/795)) ([e975833](https://www.github.com/googleapis/nodejs-vision/commit/e975833eb5b11d3c3834bfea9697a9611cae6a8f)) + ## [2.1.0](https://www.github.com/googleapis/nodejs-vision/compare/v2.0.0...v2.1.0) (2020-06-12) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1bc7f12d1b4..ff88c9ef7ee 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.1.0", + "version": "2.1.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 2735bde63ff..b22e711c92c 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.1.0", + "@google-cloud/vision": "^2.1.1", "mathjs": "^7.0.0", "natural": "^2.0.0", "pureimage": "^0.2.1", From 2e3e9166280ba0c524890ebd8a42a3ad5b24880d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 10 Jul 2020 18:52:52 +0200 Subject: [PATCH 439/588] chore(deps): update dependency ts-loader to v8 (#801) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ts-loader](https://togithub.com/TypeStrong/ts-loader) | devDependencies | major | [`^7.0.0` -> `^8.0.0`](https://renovatebot.com/diffs/npm/ts-loader/7.0.5/8.0.0) | --- ### Release Notes
TypeStrong/ts-loader ### [`v8.0.0`](https://togithub.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md#v800) [Compare Source](https://togithub.com/TypeStrong/ts-loader/compare/v7.0.5...v8.0.0) - [Support for symlinks in project references](https://togithub.com/TypeStrong/ts-loader/pull/1136) - thanks [@​sheetalkamat](https://togithub.com/sheetalkamat)! - `ts-loader` now supports TypeScript 3.6 and greater **BREAKING CHANGE**
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ff88c9ef7ee..2807301d9b6 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -66,7 +66,7 @@ "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^9.0.1", - "ts-loader": "^7.0.0", + "ts-loader": "^8.0.0", "typescript": "^3.8.3", "uuid": "^8.0.0", "webpack": "^4.41.6", From 2f1f1e2e0f76485388f0b2f57ce05c4c38f4fbb7 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sun, 12 Jul 2020 18:47:53 +0200 Subject: [PATCH 440/588] chore(deps): update dependency @types/mocha to v8 (#804) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@types/mocha](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | devDependencies | major | [`^7.0.1` -> `^8.0.0`](https://renovatebot.com/diffs/npm/@types%2fmocha/7.0.2/8.0.0) | --- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2807301d9b6..8b8866d9338 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -51,7 +51,7 @@ "devDependencies": { "@google-cloud/storage": "^5.0.0", "@types/is": "0.0.21", - "@types/mocha": "^7.0.1", + "@types/mocha": "^8.0.0", "@types/node": "^13.7.4", "@types/sinon": "^9.0.0", "@types/uuid": "^8.0.0", From 79674027556346594e660a30983f3f8c7551ee10 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 20 Jul 2020 10:14:39 -0700 Subject: [PATCH 441/588] build: add Node 8 tests (#806) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/91408a5a-0866-4f1e-92b1-4f0e885b0e2e/targets - [ ] To automatically regenerate this PR, check this box. --- packages/google-cloud-vision/synth.metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 9ecd8e933ea..0d2100e4669 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "b37f5f6712cee73d8e335f18f3810c51572bc98a" + "sha": "cfc6c0b4870f4da6e28442bf0d406e55d2ebfa05" } }, { From 9a903e9d71d1b889c3a1e683a2b07a12b9eefc1d Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Tue, 21 Jul 2020 14:39:47 -0400 Subject: [PATCH 442/588] chore: add dev dependencies for cloud-rad ref docs (#809) --- packages/google-cloud-vision/package.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 8b8866d9338..59f97c4ffd6 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,7 +41,9 @@ "compile": "tsc -p . && cp -r protos build/", "compile-protos": "compileProtos src", "prepare": "npm run compile", - "precompile": "gts clean" + "precompile": "gts clean", + "api-extractor": "api-extractor run --local", + "api-documenter": "api-documenter yaml --input-folder=temp" }, "dependencies": { "@google-cloud/promisify": "^2.0.0", @@ -70,6 +72,8 @@ "typescript": "^3.8.3", "uuid": "^8.0.0", "webpack": "^4.41.6", - "webpack-cli": "^3.3.11" + "webpack-cli": "^3.3.11", + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10" } } From 5ae3b7346706ea6bd4bf55fda9c37db1f0fc6d7b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 28 Jul 2020 09:46:38 -0700 Subject: [PATCH 443/588] build: missing parenthesis in publish script, delete Node 8 tests, add config for cloud-rad for nodejs (#807) * build: missing closing paren in publish script Source-Author: Benjamin E. Coe Source-Date: Mon Jul 13 09:56:30 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: d82deccf657a66e31bd5da9efdb96c6fa322fc7e Source-Link: https://github.com/googleapis/synthtool/commit/d82deccf657a66e31bd5da9efdb96c6fa322fc7e * chore: delete template for Node 8 tests Source-Author: F. Hinkelmann Source-Date: Tue Jul 14 19:56:02 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: 388e10f5ae302d3e8de1fac99f3a95d1ab8f824a Source-Link: https://github.com/googleapis/synthtool/commit/388e10f5ae302d3e8de1fac99f3a95d1ab8f824a * chore: add config files for cloud-rad for node.js * chore: add config files for cloud-rad for node.js Generate and upload yaml files for ref docs * Add gitattributes for json with comments Source-Author: F. Hinkelmann Source-Date: Thu Jul 16 12:19:00 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: 21f1470ecd01424dc91c70f1a7c798e4e87d1eec Source-Link: https://github.com/googleapis/synthtool/commit/21f1470ecd01424dc91c70f1a7c798e4e87d1eec Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com> Co-authored-by: Justin Beckwith --- .../google-cloud-vision/api-extractor.json | 369 ++++++++++++++++++ packages/google-cloud-vision/synth.metadata | 2 +- 2 files changed, 370 insertions(+), 1 deletion(-) create mode 100644 packages/google-cloud-vision/api-extractor.json diff --git a/packages/google-cloud-vision/api-extractor.json b/packages/google-cloud-vision/api-extractor.json new file mode 100644 index 00000000000..de228294b23 --- /dev/null +++ b/packages/google-cloud-vision/api-extractor.json @@ -0,0 +1,369 @@ +/** + * Config file for API Extractor. For more info, please visit: https://api-extractor.com + */ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + /** + * Optionally specifies another JSON config file that this file extends from. This provides a way for + * standard settings to be shared across multiple projects. + * + * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains + * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be + * resolved using NodeJS require(). + * + * SUPPORTED TOKENS: none + * DEFAULT VALUE: "" + */ + // "extends": "./shared/api-extractor-base.json" + // "extends": "my-package/include/api-extractor-base.json" + + /** + * Determines the "" token that can be used with other config file settings. The project folder + * typically contains the tsconfig.json and package.json config files, but the path is user-defined. + * + * The path is resolved relative to the folder of the config file that contains the setting. + * + * The default value for "projectFolder" is the token "", which means the folder is determined by traversing + * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder + * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error + * will be reported. + * + * SUPPORTED TOKENS: + * DEFAULT VALUE: "" + */ + // "projectFolder": "..", + + /** + * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor + * analyzes the symbols exported by this module. + * + * The file extension must be ".d.ts" and not ".ts". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + */ + "mainEntryPointFilePath": "/protos/protos.d.ts", + + /** + * A list of NPM package names whose exports should be treated as part of this package. + * + * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1", + * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part + * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly + * imports library2. To avoid this, we can specify: + * + * "bundledPackages": [ "library2" ], + * + * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been + * local files for library1. + */ + "bundledPackages": [ ], + + /** + * Determines how the TypeScript compiler engine will be invoked by API Extractor. + */ + "compiler": { + /** + * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * Note: This setting will be ignored if "overrideTsconfig" is used. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/tsconfig.json" + */ + // "tsconfigFilePath": "/tsconfig.json", + + /** + * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk. + * The object must conform to the TypeScript tsconfig schema: + * + * http://json.schemastore.org/tsconfig + * + * If omitted, then the tsconfig.json file will be read from the "projectFolder". + * + * DEFAULT VALUE: no overrideTsconfig section + */ + // "overrideTsconfig": { + // . . . + // } + + /** + * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended + * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when + * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses + * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck. + * + * DEFAULT VALUE: false + */ + // "skipLibCheck": true, + }, + + /** + * Configures how the API report file (*.api.md) will be generated. + */ + "apiReport": { + /** + * (REQUIRED) Whether to generate an API report. + */ + "enabled": true, + + /** + * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce + * a full file path. + * + * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". + * + * SUPPORTED TOKENS: , + * DEFAULT VALUE: ".api.md" + */ + // "reportFileName": ".api.md", + + /** + * Specifies the folder where the API report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, + * e.g. for an API review. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/etc/" + */ + // "reportFolder": "/etc/", + + /** + * Specifies the folder where the temporary report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * After the temporary file is written to disk, it is compared with the file in the "reportFolder". + * If they are different, a production build will fail. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/" + */ + // "reportTempFolder": "/temp/" + }, + + /** + * Configures how the doc model file (*.api.json) will be generated. + */ + "docModel": { + /** + * (REQUIRED) Whether to generate a doc model file. + */ + "enabled": true, + + /** + * The output path for the doc model file. The file extension should be ".api.json". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/.api.json" + */ + // "apiJsonFilePath": "/temp/.api.json" + }, + + /** + * Configures how the .d.ts rollup file will be generated. + */ + "dtsRollup": { + /** + * (REQUIRED) Whether to generate the .d.ts rollup file. + */ + "enabled": true, + + /** + * Specifies the output path for a .d.ts rollup file to be generated without any trimming. + * This file will include all declarations that are exported by the main entry point. + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/dist/.d.ts" + */ + // "untrimmedFilePath": "/dist/.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. + * This file will include only declarations that are marked as "@public" or "@beta". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "betaTrimmedFilePath": "/dist/-beta.d.ts", + + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release. + * This file will include only declarations that are marked as "@public". + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "publicTrimmedFilePath": "/dist/-public.d.ts", + + /** + * When a declaration is trimmed, by default it will be replaced by a code comment such as + * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the + * declaration completely. + * + * DEFAULT VALUE: false + */ + // "omitTrimmingComments": true + }, + + /** + * Configures how the tsdoc-metadata.json file will be generated. + */ + "tsdocMetadata": { + /** + * Whether to generate the tsdoc-metadata.json file. + * + * DEFAULT VALUE: true + */ + // "enabled": true, + + /** + * Specifies where the TSDoc metadata file should be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", + * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup + * falls back to "tsdoc-metadata.json" in the package folder. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" + }, + + /** + * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files + * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead. + * To use the OS's default newline kind, specify "os". + * + * DEFAULT VALUE: "crlf" + */ + // "newlineKind": "crlf", + + /** + * Configures how API Extractor reports error and warning messages produced during analysis. + * + * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages. + */ + "messages": { + /** + * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing + * the input .d.ts files. + * + * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "compilerMessageReporting": { + /** + * Configures the default routing for messages that don't match an explicit rule in this table. + */ + "default": { + /** + * Specifies whether the message should be written to the the tool's output log. Note that + * the "addToApiReportFile" property may supersede this option. + * + * Possible values: "error", "warning", "none" + * + * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail + * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes + * the "--local" option), the warning is displayed but the build will not fail. + * + * DEFAULT VALUE: "warning" + */ + "logLevel": "warning", + + /** + * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), + * then the message will be written inside that file; otherwise, the message is instead logged according to + * the "logLevel" option. + * + * DEFAULT VALUE: false + */ + // "addToApiReportFile": false + }, + + // "TS2551": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by API Extractor during its analysis. + * + * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag" + * + * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings + */ + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + // "addToApiReportFile": false + }, + + // "ae-extra-release-tag": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by the TSDoc parser when analyzing code comments. + * + * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "tsdocMessageReporting": { + "default": { + "logLevel": "warning", + // "addToApiReportFile": false + } + + // "tsdoc-link-tag-unescaped-text": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + } + } + +} diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 0d2100e4669..f97c13d68bf 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "799d8e6522c1ef7cb55a70d9ea0b15e045c3d00b" + "sha": "21f1470ecd01424dc91c70f1a7c798e4e87d1eec" } } ], From ac00b6c8bbd7dac1bbd7fc5e12f6146cd1384f3b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 29 Jul 2020 17:34:52 -0700 Subject: [PATCH 444/588] build: rename __toc to toc, move gitattributes files to node templates (#811) * fix: rename _toc to toc Source-Author: F. Hinkelmann Source-Date: Tue Jul 21 10:53:20 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: 99c93fe09f8c1dca09dfc0301c8668e3a70dd796 Source-Link: https://github.com/googleapis/synthtool/commit/99c93fe09f8c1dca09dfc0301c8668e3a70dd796 * fix: move gitattributes files to node templates Source-Author: F. Hinkelmann Source-Date: Thu Jul 23 01:45:04 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: 3a00b7fea8c4c83eaff8eb207f530a2e3e8e1de3 Source-Link: https://github.com/googleapis/synthtool/commit/3a00b7fea8c4c83eaff8eb207f530a2e3e8e1de3 --- packages/google-cloud-vision/.gitattributes | 1 + packages/google-cloud-vision/synth.metadata | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/.gitattributes b/packages/google-cloud-vision/.gitattributes index d4f4169b28b..33739cb74e4 100644 --- a/packages/google-cloud-vision/.gitattributes +++ b/packages/google-cloud-vision/.gitattributes @@ -1,3 +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-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index f97c13d68bf..0de7c1d3a60 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "cfc6c0b4870f4da6e28442bf0d406e55d2ebfa05" + "sha": "f0294b545faac8ddd743b6c49d82a372cf98a71f" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "21f1470ecd01424dc91c70f1a7c798e4e87d1eec" + "sha": "3a00b7fea8c4c83eaff8eb207f530a2e3e8e1de3" } } ], From e772a906cfa581823047f3f26e34758f016de8d5 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 31 Jul 2020 09:29:59 -0700 Subject: [PATCH 445/588] docs: add link to CHANGELOG in README (#813) * chore(node): fix kokoro build path for cloud-rad Source-Author: F. Hinkelmann Source-Date: Wed Jul 29 00:28:42 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: 89d431fb2975fc4e0ed24995a6e6dfc8ff4c24fa Source-Link: https://github.com/googleapis/synthtool/commit/89d431fb2975fc4e0ed24995a6e6dfc8ff4c24fa * docs: add links to the CHANGELOG from the README.md for Java and Node Source-Author: Megan Potter <57276408+feywind@users.noreply.github.com> Source-Date: Thu Jul 30 13:21:57 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: 5936421202fb53ed4641bcb824017dd393a3dbcc Source-Link: https://github.com/googleapis/synthtool/commit/5936421202fb53ed4641bcb824017dd393a3dbcc --- packages/google-cloud-vision/README.md | 3 +++ packages/google-cloud-vision/protos/protos.d.ts | 2 +- packages/google-cloud-vision/protos/protos.js | 2 +- packages/google-cloud-vision/synth.metadata | 4 ++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 977211df1a8..7d706a00032 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -14,6 +14,9 @@ Google Cloud Vision API client for Node.js +A comprehensive list of changes in each version may be found in +[the CHANGELOG](https://github.com/googleapis/nodejs-vision/blob/master/CHANGELOG.md). + * [Google Cloud Vision API Node.js Client API Reference][client-docs] * [Google Cloud Vision API Documentation][product-docs] * [github.com/googleapis/nodejs-vision](https://github.com/googleapis/nodejs-vision) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index baa6f0e7098..5cea30f67e5 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -13,7 +13,7 @@ // limitations under the License. import * as Long from "long"; -import * as $protobuf from "protobufjs"; +import {protobuf as $protobuf} from "google-gax"; /** Namespace google. */ export namespace google { diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index ae1ae869b91..a4484855e31 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -19,7 +19,7 @@ define(["protobufjs/minimal"], factory); /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports) - module.exports = factory(require("protobufjs/minimal")); + module.exports = factory(require("google-gax").protobufMinimal); })(this, function($protobuf) { "use strict"; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 0de7c1d3a60..5c35389755e 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "f0294b545faac8ddd743b6c49d82a372cf98a71f" + "sha": "387805ed760d908e378f64e899350bcc57e6c1f6" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "3a00b7fea8c4c83eaff8eb207f530a2e3e8e1de3" + "sha": "5936421202fb53ed4641bcb824017dd393a3dbcc" } } ], From 7245f88d81b7218aee558ede75c20643122ead8c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 10 Aug 2020 10:56:28 -0700 Subject: [PATCH 446/588] build: --credential-file-override is no longer required (#814) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/96fb0e9d-e02a-4451-878f-e646368369cc/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/94421c47802f56a44c320257b2b4c190dc7d6b68 --- packages/google-cloud-vision/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 5c35389755e..7324272fb07 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "387805ed760d908e378f64e899350bcc57e6c1f6" + "sha": "9158ebee06fa4fbcaa7e67b8ff8560d3f81a9d6c" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "5936421202fb53ed4641bcb824017dd393a3dbcc" + "sha": "94421c47802f56a44c320257b2b4c190dc7d6b68" } } ], From 60ff5dd12f0d1c637a8d5128a4231b784fed12d1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 14 Aug 2020 09:08:03 -0700 Subject: [PATCH 447/588] build: use gapic-generator-typescript v1.0.7. (#815) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/4895db2c-aba9-406e-b81d-1e2251ee464c/targets - [ ] To automatically regenerate this PR, check this box. PiperOrigin-RevId: 325949033 Source-Link: https://github.com/googleapis/googleapis/commit/94006b3cb8d2fb44703cf535da15608eed6bf7db --- .../google-cloud-vision/src/v1/image_annotator_client.ts | 5 ++--- .../google-cloud-vision/src/v1/product_search_client.ts | 8 +++++--- .../src/v1p1beta1/image_annotator_client.ts | 5 ++--- .../src/v1p2beta1/image_annotator_client.ts | 5 ++--- .../src/v1p3beta1/image_annotator_client.ts | 5 ++--- .../src/v1p3beta1/product_search_client.ts | 8 +++++--- .../src/v1p4beta1/image_annotator_client.ts | 5 ++--- .../src/v1p4beta1/product_search_client.ts | 8 +++++--- packages/google-cloud-vision/synth.metadata | 6 +++--- 9 files changed, 28 insertions(+), 27 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index c21a289ba51..5e2360a7435 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -286,12 +286,11 @@ export class ImageAnnotatorClient { } ); + const descriptor = this.descriptors.longrunning[methodName] || undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - this.descriptors.page[methodName] || - this.descriptors.stream[methodName] || - this.descriptors.longrunning[methodName] + descriptor ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 406f87a2969..3e59533bbf1 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -337,12 +337,14 @@ export class ProductSearchClient { } ); + const descriptor = + this.descriptors.page[methodName] || + this.descriptors.longrunning[methodName] || + undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - this.descriptors.page[methodName] || - this.descriptors.stream[methodName] || - this.descriptors.longrunning[methodName] + descriptor ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index cb4e6567780..211d4765b3f 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -208,12 +208,11 @@ export class ImageAnnotatorClient { } ); + const descriptor = undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - this.descriptors.page[methodName] || - this.descriptors.stream[methodName] || - this.descriptors.longrunning[methodName] + descriptor ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 87261012173..6dec18e0696 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -253,12 +253,11 @@ export class ImageAnnotatorClient { } ); + const descriptor = this.descriptors.longrunning[methodName] || undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - this.descriptors.page[methodName] || - this.descriptors.stream[methodName] || - this.descriptors.longrunning[methodName] + descriptor ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 71841a85ec0..9217206b928 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -269,12 +269,11 @@ export class ImageAnnotatorClient { } ); + const descriptor = this.descriptors.longrunning[methodName] || undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - this.descriptors.page[methodName] || - this.descriptors.stream[methodName] || - this.descriptors.longrunning[methodName] + descriptor ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 2fa2b1e2ff3..31a7acaa3b4 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -325,12 +325,14 @@ export class ProductSearchClient { } ); + const descriptor = + this.descriptors.page[methodName] || + this.descriptors.longrunning[methodName] || + undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - this.descriptors.page[methodName] || - this.descriptors.stream[methodName] || - this.descriptors.longrunning[methodName] + descriptor ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index ecbbd2d5e1b..1ed55bcf0e7 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -286,12 +286,11 @@ export class ImageAnnotatorClient { } ); + const descriptor = this.descriptors.longrunning[methodName] || undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - this.descriptors.page[methodName] || - this.descriptors.stream[methodName] || - this.descriptors.longrunning[methodName] + descriptor ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 7f2467570ef..f888a3895b3 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -341,12 +341,14 @@ export class ProductSearchClient { } ); + const descriptor = + this.descriptors.page[methodName] || + this.descriptors.longrunning[methodName] || + undefined; const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - this.descriptors.page[methodName] || - this.descriptors.stream[methodName] || - this.descriptors.longrunning[methodName] + descriptor ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 7324272fb07..a4e1a2f8572 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "9158ebee06fa4fbcaa7e67b8ff8560d3f81a9d6c" + "sha": "7575b0cd8f5e7661def2f4b790e23137f87051f3" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4f4aa3a03e470f1390758b9d89eb1aa88837a5be", - "internalRef": "320300472" + "sha": "94006b3cb8d2fb44703cf535da15608eed6bf7db", + "internalRef": "325949033" } }, { From a37ba815b77a4924fa39e3340ac1256d8a9635b1 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 14 Aug 2020 10:06:45 -0700 Subject: [PATCH 448/588] build: updates to publish and devsite scripts (#816) * chore: update cloud rad kokoro build job Delete `SharePoint` item from TOC. Source-Author: F. Hinkelmann Source-Date: Tue Aug 11 11:25:41 2020 -0400 Source-Repo: googleapis/synthtool Source-Sha: bd0deaa1113b588d70449535ab9cbf0f2bd0e72f Source-Link: https://github.com/googleapis/synthtool/commit/bd0deaa1113b588d70449535ab9cbf0f2bd0e72f * build: perform publish using Node 12 Source-Author: Benjamin E. Coe Source-Date: Wed Aug 12 12:12:29 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: 5747555f7620113d9a2078a48f4c047a99d31b3e Source-Link: https://github.com/googleapis/synthtool/commit/5747555f7620113d9a2078a48f4c047a99d31b3e Co-authored-by: Benjamin E. Coe --- packages/google-cloud-vision/synth.metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index a4e1a2f8572..e5f8cf469e1 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "94421c47802f56a44c320257b2b4c190dc7d6b68" + "sha": "5747555f7620113d9a2078a48f4c047a99d31b3e" } } ], From 63c023b2e36fa7cba4d80164998b952633848e79 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 19 Aug 2020 09:42:51 -0700 Subject: [PATCH 449/588] chore: start tracking obsolete files (#818) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/7a1b0b96-8ddb-4836-a1a2-d2f73b7e6ffe/targets - [ ] To automatically regenerate this PR, check this box. --- packages/google-cloud-vision/synth.metadata | 137 +++++++++++++++++++- 1 file changed, 133 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index e5f8cf469e1..16582e27d6e 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,22 +4,22 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "7575b0cd8f5e7661def2f4b790e23137f87051f3" + "sha": "0d0e8a67de1b3212a454a7a8c5c0b9e7402f1e42" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "94006b3cb8d2fb44703cf535da15608eed6bf7db", - "internalRef": "325949033" + "sha": "4c5071b615d96ef9dfd6a63d8429090f1f2872bb", + "internalRef": "327369997" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "5747555f7620113d9a2078a48f4c047a99d31b3e" + "sha": "1a60ff2a3975c2f5054431588bd95db9c3b862ba" } } ], @@ -69,5 +69,134 @@ "generator": "bazel" } } + ], + "generatedFiles": [ + ".eslintignore", + ".eslintrc.json", + ".gitattributes", + ".github/ISSUE_TEMPLATE/bug_report.md", + ".github/ISSUE_TEMPLATE/feature_request.md", + ".github/ISSUE_TEMPLATE/support_request.md", + ".github/PULL_REQUEST_TEMPLATE.md", + ".github/publish.yml", + ".github/release-please.yml", + ".github/workflows/ci.yaml", + ".gitignore", + ".jsdoc.js", + ".kokoro/.gitattributes", + ".kokoro/common.cfg", + ".kokoro/continuous/node10/common.cfg", + ".kokoro/continuous/node10/docs.cfg", + ".kokoro/continuous/node10/lint.cfg", + ".kokoro/continuous/node10/samples-test.cfg", + ".kokoro/continuous/node10/system-test.cfg", + ".kokoro/continuous/node10/test.cfg", + ".kokoro/continuous/node12/common.cfg", + ".kokoro/continuous/node12/test.cfg", + ".kokoro/docs.sh", + ".kokoro/lint.sh", + ".kokoro/populate-secrets.sh", + ".kokoro/presubmit/node10/common.cfg", + ".kokoro/presubmit/node10/samples-test.cfg", + ".kokoro/presubmit/node10/system-test.cfg", + ".kokoro/presubmit/node12/common.cfg", + ".kokoro/presubmit/node12/test.cfg", + ".kokoro/publish.sh", + ".kokoro/release/docs-devsite.cfg", + ".kokoro/release/docs-devsite.sh", + ".kokoro/release/docs.cfg", + ".kokoro/release/docs.sh", + ".kokoro/release/publish.cfg", + ".kokoro/samples-test.sh", + ".kokoro/system-test.sh", + ".kokoro/test.bat", + ".kokoro/test.sh", + ".kokoro/trampoline.sh", + ".mocharc.js", + ".nycrc", + ".prettierignore", + ".prettierrc.js", + "CODE_OF_CONDUCT.md", + "CONTRIBUTING.md", + "LICENSE", + "README.md", + "api-extractor.json", + "linkinator.config.json", + "package-lock.json.814584096", + "protos/google/cloud/vision/v1/geometry.proto", + "protos/google/cloud/vision/v1/image_annotator.proto", + "protos/google/cloud/vision/v1/product_search.proto", + "protos/google/cloud/vision/v1/product_search_service.proto", + "protos/google/cloud/vision/v1/text_annotation.proto", + "protos/google/cloud/vision/v1/web_detection.proto", + "protos/google/cloud/vision/v1p1beta1/geometry.proto", + "protos/google/cloud/vision/v1p1beta1/image_annotator.proto", + "protos/google/cloud/vision/v1p1beta1/text_annotation.proto", + "protos/google/cloud/vision/v1p1beta1/web_detection.proto", + "protos/google/cloud/vision/v1p2beta1/geometry.proto", + "protos/google/cloud/vision/v1p2beta1/image_annotator.proto", + "protos/google/cloud/vision/v1p2beta1/text_annotation.proto", + "protos/google/cloud/vision/v1p2beta1/web_detection.proto", + "protos/google/cloud/vision/v1p3beta1/geometry.proto", + "protos/google/cloud/vision/v1p3beta1/image_annotator.proto", + "protos/google/cloud/vision/v1p3beta1/product_search.proto", + "protos/google/cloud/vision/v1p3beta1/product_search_service.proto", + "protos/google/cloud/vision/v1p3beta1/text_annotation.proto", + "protos/google/cloud/vision/v1p3beta1/web_detection.proto", + "protos/google/cloud/vision/v1p4beta1/face.proto", + "protos/google/cloud/vision/v1p4beta1/geometry.proto", + "protos/google/cloud/vision/v1p4beta1/image_annotator.proto", + "protos/google/cloud/vision/v1p4beta1/product_search.proto", + "protos/google/cloud/vision/v1p4beta1/product_search_service.proto", + "protos/google/cloud/vision/v1p4beta1/text_annotation.proto", + "protos/google/cloud/vision/v1p4beta1/web_detection.proto", + "protos/protos.d.ts", + "protos/protos.js", + "protos/protos.json", + "renovate.json", + "samples/README.md", + "samples/package-lock.json.174509095", + "src/v1/image_annotator_client.ts", + "src/v1/image_annotator_client_config.json", + "src/v1/image_annotator_proto_list.json", + "src/v1/index.ts", + "src/v1/product_search_client.ts", + "src/v1/product_search_client_config.json", + "src/v1/product_search_proto_list.json", + "src/v1p1beta1/image_annotator_client.ts", + "src/v1p1beta1/image_annotator_client_config.json", + "src/v1p1beta1/image_annotator_proto_list.json", + "src/v1p1beta1/index.ts", + "src/v1p2beta1/image_annotator_client.ts", + "src/v1p2beta1/image_annotator_client_config.json", + "src/v1p2beta1/image_annotator_proto_list.json", + "src/v1p2beta1/index.ts", + "src/v1p3beta1/image_annotator_client.ts", + "src/v1p3beta1/image_annotator_client_config.json", + "src/v1p3beta1/image_annotator_proto_list.json", + "src/v1p3beta1/index.ts", + "src/v1p3beta1/product_search_client.ts", + "src/v1p3beta1/product_search_client_config.json", + "src/v1p3beta1/product_search_proto_list.json", + "src/v1p4beta1/image_annotator_client.ts", + "src/v1p4beta1/image_annotator_client_config.json", + "src/v1p4beta1/image_annotator_proto_list.json", + "src/v1p4beta1/index.ts", + "src/v1p4beta1/product_search_client.ts", + "src/v1p4beta1/product_search_client_config.json", + "src/v1p4beta1/product_search_proto_list.json", + "system-test/fixtures/sample/src/index.js", + "system-test/fixtures/sample/src/index.ts", + "system-test/install.ts", + "test/gapic_image_annotator_v1.ts", + "test/gapic_image_annotator_v1p1beta1.ts", + "test/gapic_image_annotator_v1p2beta1.ts", + "test/gapic_image_annotator_v1p3beta1.ts", + "test/gapic_image_annotator_v1p4beta1.ts", + "test/gapic_product_search_v1.ts", + "test/gapic_product_search_v1p3beta1.ts", + "test/gapic_product_search_v1p4beta1.ts", + "tsconfig.json", + "webpack.config.js" ] } \ No newline at end of file From 31a19a808ca3e9f68e2367d7fa6c52438e59e8ec Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 21 Aug 2020 16:30:14 -0700 Subject: [PATCH 450/588] build: move system and samples test from Node 10 to Node 12 (#819) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/ba2d388f-b3b2-4ad7-a163-0c6b4d86894f/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/05de3e1e14a0b07eab8b474e669164dbd31f81fb --- packages/google-cloud-vision/synth.metadata | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 16582e27d6e..462a0679b9e 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "0d0e8a67de1b3212a454a7a8c5c0b9e7402f1e42" + "sha": "f26cd527ee604180e450b9916b682f60f84187ca" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "1a60ff2a3975c2f5054431588bd95db9c3b862ba" + "sha": "05de3e1e14a0b07eab8b474e669164dbd31f81fb" } } ], @@ -87,19 +87,19 @@ ".kokoro/common.cfg", ".kokoro/continuous/node10/common.cfg", ".kokoro/continuous/node10/docs.cfg", - ".kokoro/continuous/node10/lint.cfg", - ".kokoro/continuous/node10/samples-test.cfg", - ".kokoro/continuous/node10/system-test.cfg", ".kokoro/continuous/node10/test.cfg", ".kokoro/continuous/node12/common.cfg", + ".kokoro/continuous/node12/lint.cfg", + ".kokoro/continuous/node12/samples-test.cfg", + ".kokoro/continuous/node12/system-test.cfg", ".kokoro/continuous/node12/test.cfg", ".kokoro/docs.sh", ".kokoro/lint.sh", ".kokoro/populate-secrets.sh", ".kokoro/presubmit/node10/common.cfg", - ".kokoro/presubmit/node10/samples-test.cfg", - ".kokoro/presubmit/node10/system-test.cfg", ".kokoro/presubmit/node12/common.cfg", + ".kokoro/presubmit/node12/samples-test.cfg", + ".kokoro/presubmit/node12/system-test.cfg", ".kokoro/presubmit/node12/test.cfg", ".kokoro/publish.sh", ".kokoro/release/docs-devsite.cfg", @@ -122,7 +122,6 @@ "README.md", "api-extractor.json", "linkinator.config.json", - "package-lock.json.814584096", "protos/google/cloud/vision/v1/geometry.proto", "protos/google/cloud/vision/v1/image_annotator.proto", "protos/google/cloud/vision/v1/product_search.proto", @@ -155,7 +154,6 @@ "protos/protos.json", "renovate.json", "samples/README.md", - "samples/package-lock.json.174509095", "src/v1/image_annotator_client.ts", "src/v1/image_annotator_client_config.json", "src/v1/image_annotator_proto_list.json", From fb40d191ee6f65d048b1a90b351e1ecc6de1e5be Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 27 Aug 2020 21:10:12 -0700 Subject: [PATCH 451/588] build: track flaky tests for "nightly", add new secrets for tagging (#820) Source-Author: Benjamin E. Coe Source-Date: Wed Aug 26 14:28:22 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: 8cf6d2834ad14318e64429c3b94f6443ae83daf9 Source-Link: https://github.com/googleapis/synthtool/commit/8cf6d2834ad14318e64429c3b94f6443ae83daf9 --- packages/google-cloud-vision/synth.metadata | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 462a0679b9e..23b549ba563 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "f26cd527ee604180e450b9916b682f60f84187ca" + "sha": "5a70489509f597c565b98c767a34a5805e528dbf" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "05de3e1e14a0b07eab8b474e669164dbd31f81fb" + "sha": "8cf6d2834ad14318e64429c3b94f6443ae83daf9" } } ], @@ -78,7 +78,6 @@ ".github/ISSUE_TEMPLATE/feature_request.md", ".github/ISSUE_TEMPLATE/support_request.md", ".github/PULL_REQUEST_TEMPLATE.md", - ".github/publish.yml", ".github/release-please.yml", ".github/workflows/ci.yaml", ".gitignore", From fcdd50c2840a59d22aea2f071b470774217876cf Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 9 Sep 2020 19:04:06 +0200 Subject: [PATCH 452/588] fix(deps): update dependency yargs to v16 (#824) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [yargs](https://yargs.js.org/) ([source](https://togithub.com/yargs/yargs)) | dependencies | major | [`^15.0.0` -> `^16.0.0`](https://renovatebot.com/diffs/npm/yargs/15.4.1/16.0.1) | --- ### Release Notes
yargs/yargs ### [`v16.0.1`](https://togithub.com/yargs/yargs/blob/master/CHANGELOG.md#​1601-httpswwwgithubcomyargsyargscomparev1600v1601-2020-09-09) [Compare Source](https://togithub.com/yargs/yargs/compare/v16.0.0...v16.0.1) ### [`v16.0.0`](https://togithub.com/yargs/yargs/blob/master/CHANGELOG.md#​1600-httpswwwgithubcomyargsyargscomparev1542v1600-2020-09-09) [Compare Source](https://togithub.com/yargs/yargs/compare/v15.4.1...v16.0.0) ##### ⚠ BREAKING CHANGES - tweaks to ESM/Deno API surface: now exports yargs function by default; getProcessArgvWithoutBin becomes hideBin; types now exported for Deno. - find-up replaced with escalade; export map added (limits importable files in Node >= 12); yarser-parser@19.x.x (new decamelize/camelcase implementation). - **usage:** single character aliases are now shown first in help output - rebase helper is no longer provided on yargs instance. - drop support for EOL Node 8 ([#​1686](https://togithub.com/yargs/yargs/issues/1686)) ##### Features - adds strictOptions() ([#​1738](https://www.github.com/yargs/yargs/issues/1738)) ([b215fba](https://www.github.com/yargs/yargs/commit/b215fba0ed6e124e5aad6cf22c8d5875661c63a3)) - **helpers:** rebase, Parser, applyExtends now blessed helpers ([#​1733](https://www.github.com/yargs/yargs/issues/1733)) ([c7debe8](https://www.github.com/yargs/yargs/commit/c7debe8eb1e5bc6ea20b5ed68026c56e5ebec9e1)) - adds support for ESM and Deno ([#​1708](https://www.github.com/yargs/yargs/issues/1708)) ([ac6d5d1](https://www.github.com/yargs/yargs/commit/ac6d5d105a75711fe703f6a39dad5181b383d6c6)) - drop support for EOL Node 8 ([#​1686](https://www.github.com/yargs/yargs/issues/1686)) ([863937f](https://www.github.com/yargs/yargs/commit/863937f23c3102f804cdea78ee3097e28c7c289f)) - i18n for ESM and Deno ([#​1735](https://www.github.com/yargs/yargs/issues/1735)) ([c71783a](https://www.github.com/yargs/yargs/commit/c71783a5a898a0c0e92ac501c939a3ec411ac0c1)) - tweaks to API surface based on user feedback ([#​1726](https://www.github.com/yargs/yargs/issues/1726)) ([4151fee](https://www.github.com/yargs/yargs/commit/4151fee4c33a97d26bc40de7e623e5b0eb87e9bb)) - **usage:** single char aliases first in help ([#​1574](https://www.github.com/yargs/yargs/issues/1574)) ([a552990](https://www.github.com/yargs/yargs/commit/a552990c120646c2d85a5c9b628e1ce92a68e797)) ##### Bug Fixes - **yargs:** add missing command(module) signature ([#​1707](https://www.github.com/yargs/yargs/issues/1707)) ([0f81024](https://www.github.com/yargs/yargs/commit/0f810245494ccf13a35b7786d021b30fc95ecad5)), closes [#​1704](https://www.github.com/yargs/yargs/issues/1704)
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index b22e711c92c..bfe0c075bf3 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -18,7 +18,7 @@ "natural": "^2.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", - "yargs": "^15.0.0" + "yargs": "^16.0.0" }, "devDependencies": { "@google-cloud/storage": "^5.0.0", From ec3f8027e377c91db4c5b49e4c58b9bbfbb08453 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sat, 12 Sep 2020 11:20:03 -0700 Subject: [PATCH 453/588] build(test): recursively find test files; fail on unsupported dependency versions (#826) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/d923dd20-12e5-4e58-82e9-642b59bc9fd4/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/fdd03c161003ab97657cc0218f25c82c89ddf4b6 --- packages/google-cloud-vision/.mocharc.js | 3 ++- packages/google-cloud-vision/synth.metadata | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/.mocharc.js b/packages/google-cloud-vision/.mocharc.js index ff7b34fa5d1..0b600509bed 100644 --- a/packages/google-cloud-vision/.mocharc.js +++ b/packages/google-cloud-vision/.mocharc.js @@ -14,7 +14,8 @@ const config = { "enable-source-maps": true, "throw-deprecation": true, - "timeout": 10000 + "timeout": 10000, + "recursive": true } if (process.env.MOCHA_THROW_DEPRECATION === 'false') { delete config['throw-deprecation']; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 23b549ba563..e4ecda5b0ec 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "5a70489509f597c565b98c767a34a5805e528dbf" + "sha": "9ce5215448b026adb10fa9c10156d4e8d8c865e4" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "8cf6d2834ad14318e64429c3b94f6443ae83daf9" + "sha": "fdd03c161003ab97657cc0218f25c82c89ddf4b6" } } ], From 39cafa51ed58766a55b7273338c25bc3fc864536 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 17 Sep 2020 08:00:45 -0700 Subject: [PATCH 454/588] chore: release 2.1.2 (#825) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 843bf8115be..26469d0283f 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.1.2](https://www.github.com/googleapis/nodejs-vision/compare/v2.1.1...v2.1.2) (2020-09-12) + + +### Bug Fixes + +* **deps:** update dependency yargs to v16 ([#824](https://www.github.com/googleapis/nodejs-vision/issues/824)) ([9ce5215](https://www.github.com/googleapis/nodejs-vision/commit/9ce5215448b026adb10fa9c10156d4e8d8c865e4)) + ### [2.1.1](https://www.github.com/googleapis/nodejs-vision/compare/v2.1.0...v2.1.1) (2020-07-10) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 59f97c4ffd6..091ee0aa683 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.1.1", + "version": "2.1.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index bfe0c075bf3..851b6d6d501 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.1.1", + "@google-cloud/vision": "^2.1.2", "mathjs": "^7.0.0", "natural": "^2.0.0", "pureimage": "^0.2.1", From 15d368a37d79cfe3ecd7c1c994147e377c07aea6 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 22 Sep 2020 14:50:29 -0700 Subject: [PATCH 455/588] docs(terminology): update language to follow recommendations (#828) --- packages/google-cloud-vision/src/helpers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/src/helpers.ts b/packages/google-cloud-vision/src/helpers.ts index 594a732303b..561c944d6e3 100644 --- a/packages/google-cloud-vision/src/helpers.ts +++ b/packages/google-cloud-vision/src/helpers.ts @@ -172,7 +172,7 @@ const _createSingleFeatureMethod = ( {} > ) { - // Sanity check: If we got a string or buffer, we need this to be + // confidence check: If we got a string or buffer, we need this to be // in object form now, so we can tack on the features list. // // Do the minimum required conversion, which can also be guaranteed to From ac72f8eb4be1019674242ddc0721f61d966f3126 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 1 Oct 2020 13:22:04 -0700 Subject: [PATCH 456/588] chore: update bucket for cloud-rad (#829) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/de06ef39-12e7-44a8-903b-7c87ac7a56b4/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/079dcce498117f9570cebe6e6cff254b38ba3860 --- packages/google-cloud-vision/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index e4ecda5b0ec..b24fc31156d 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "9ce5215448b026adb10fa9c10156d4e8d8c865e4" + "sha": "341f237f1a31f162c49b8064ba5da75fb18d6485" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "fdd03c161003ab97657cc0218f25c82c89ddf4b6" + "sha": "079dcce498117f9570cebe6e6cff254b38ba3860" } } ], From cd42bbdece798eaf10f285e2b94550d11dc566c9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 7 Oct 2020 18:26:55 -0700 Subject: [PATCH 457/588] build(node_library): migrate to Trampoline V2 (#830) Source-Author: Takashi Matsuo Source-Date: Fri Oct 2 12:13:27 2020 -0700 Source-Repo: googleapis/synthtool Source-Sha: 0c868d49b8e05bc1f299bc773df9eb4ef9ed96e9 Source-Link: https://github.com/googleapis/synthtool/commit/0c868d49b8e05bc1f299bc773df9eb4ef9ed96e9 --- packages/google-cloud-vision/synth.metadata | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index b24fc31156d..72992e45a33 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "341f237f1a31f162c49b8064ba5da75fb18d6485" + "sha": "5d196f59183e0a2a461b0e317748a7b155edef46" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "079dcce498117f9570cebe6e6cff254b38ba3860" + "sha": "0c868d49b8e05bc1f299bc773df9eb4ef9ed96e9" } } ], @@ -111,10 +111,12 @@ ".kokoro/test.bat", ".kokoro/test.sh", ".kokoro/trampoline.sh", + ".kokoro/trampoline_v2.sh", ".mocharc.js", ".nycrc", ".prettierignore", ".prettierrc.js", + ".trampolinerc", "CODE_OF_CONDUCT.md", "CONTRIBUTING.md", "LICENSE", From b08e2b804a98fb8bfc7f90882283b02403bd5535 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 12 Oct 2020 21:54:07 +0200 Subject: [PATCH 458/588] chore(deps): update dependency webpack-cli to v4 (#834) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [webpack-cli](https://togithub.com/webpack/webpack-cli) | devDependencies | major | [`^3.3.11` -> `^4.0.0`](https://renovatebot.com/diffs/npm/webpack-cli/3.3.12/4.0.0) | --- ### Release Notes
webpack/webpack-cli ### [`v4.0.0`](https://togithub.com/webpack/webpack-cli/blob/master/CHANGELOG.md#​400-httpsgithubcomwebpackwebpack-clicomparewebpack-cli400-rc1webpack-cli400-2020-10-10) [Compare Source](https://togithub.com/webpack/webpack-cli/compare/v3.3.12...webpack-cli@4.0.0) ##### Bug Fixes - add compilation lifecycle in watch instance ([#​1903](https://togithub.com/webpack/webpack-cli/issues/1903)) ([02b6d21](https://togithub.com/webpack/webpack-cli/commit/02b6d21eaa20166a7ed37816de716b8fc22b756a)) - cleanup `package-utils` package ([#​1822](https://togithub.com/webpack/webpack-cli/issues/1822)) ([fd5b92b](https://togithub.com/webpack/webpack-cli/commit/fd5b92b3cd40361daec5bf4486e455a41f4c9738)) - cli-executer supplies args further up ([#​1904](https://togithub.com/webpack/webpack-cli/issues/1904)) ([097564a](https://togithub.com/webpack/webpack-cli/commit/097564a851b36b63e0a6bf88144997ef65aa057a)) - exit code for validation errors ([59f6303](https://togithub.com/webpack/webpack-cli/commit/59f63037fcbdbb8934b578b9adf5725bc4ae1235)) - exit process in case of schema errors ([71e89b4](https://togithub.com/webpack/webpack-cli/commit/71e89b4092d953ea587cc4f606451ab78cbcdb93)) ##### Features - assign config paths in build dependencies in cache config ([#​1900](https://togithub.com/webpack/webpack-cli/issues/1900)) ([7e90f11](https://togithub.com/webpack/webpack-cli/commit/7e90f110b119f36ef9def4f66cf4e17ccf1438cd))
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 091ee0aa683..4c09d4f15f0 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -72,7 +72,7 @@ "typescript": "^3.8.3", "uuid": "^8.0.0", "webpack": "^4.41.6", - "webpack-cli": "^3.3.11", + "webpack-cli": "^4.0.0", "@microsoft/api-documenter": "^7.8.10", "@microsoft/api-extractor": "^7.8.10" } From 6abc3f6d85f5b59bd1db16180a4bd249fc19fb0c Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 14 Oct 2020 23:02:08 +0200 Subject: [PATCH 459/588] chore(deps): update dependency webpack to v5 (#833) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [webpack](https://togithub.com/webpack/webpack) | devDependencies | major | [`^4.41.6` -> `^5.0.0`](https://renovatebot.com/diffs/npm/webpack/4.44.2/5.1.0) | --- ### Release Notes
webpack/webpack ### [`v5.1.0`](https://togithub.com/webpack/webpack/releases/v5.1.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.0.0...v5.1.0) ### Features - expose `webpack` property from `Compiler` - expose `cleverMerge`, `EntryOptionPlugin`, `DynamicEntryPlugin` ### Bugfixes - missing `require("..").xxx` in try-catch produces a warning instead of an error now - handle reexports in concatenated modules correctly when they are side-effect-free - fix incorrect deprecation message for ModuleTemplate.hooks.hash ### [`v5.0.0`](https://togithub.com/webpack/webpack/releases/v5.0.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v4.44.2...v5.0.0) [Announcement and changelog](https://webpack.js.org/blog/2020-10-10-webpack-5-release/)
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 4c09d4f15f0..b01bd0110d8 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -71,7 +71,7 @@ "ts-loader": "^8.0.0", "typescript": "^3.8.3", "uuid": "^8.0.0", - "webpack": "^4.41.6", + "webpack": "^5.0.0", "webpack-cli": "^4.0.0", "@microsoft/api-documenter": "^7.8.10", "@microsoft/api-extractor": "^7.8.10" From e6a233775d350d8fe25be3a64dce399f57156b02 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 16 Oct 2020 10:08:17 -0700 Subject: [PATCH 460/588] build: only check --engine-strict for production deps (#836) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/d00df0bd-3ec0-4f8f-af57-f6679c4b1aae/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/5451633881133e5573cc271a18e73b18caca8b1b --- packages/google-cloud-vision/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 72992e45a33..eef21f12955 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "5d196f59183e0a2a461b0e317748a7b155edef46" + "sha": "11253c775661157a20cedcf2285a36e7f9631b2d" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "0c868d49b8e05bc1f299bc773df9eb4ef9ed96e9" + "sha": "5451633881133e5573cc271a18e73b18caca8b1b" } } ], From 75a9b53ab9ee53cf2450a3e0e17af2596ec2f887 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 21 Oct 2020 16:14:14 -0700 Subject: [PATCH 461/588] chore: clean up Node.js TOC for cloud-rad (#837) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/06a19179-be1d-4033-a9f1-f7a5c0d3a4cd/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/901ddd44e9ef7887ee681b9183bbdea99437fdcc Source-Link: https://github.com/googleapis/synthtool/commit/f96d3b455fe27c3dc7bc37c3c9cd27b1c6d269c8 --- packages/google-cloud-vision/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index eef21f12955..f4f5b233794 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "11253c775661157a20cedcf2285a36e7f9631b2d" + "sha": "a5ed952ae9e0fa7a899e752c42ee9e10aa9bcec5" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "5451633881133e5573cc271a18e73b18caca8b1b" + "sha": "901ddd44e9ef7887ee681b9183bbdea99437fdcc" } } ], From 90f672a2910c63dce37a5c319120f5cc0a6ba994 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 26 Oct 2020 09:06:39 -0700 Subject: [PATCH 462/588] docs(samples): modernize the samples (#838) --- .../google-cloud-vision/samples/.eslintrc.yml | 1 + .../google-cloud-vision/samples/package.json | 5 +-- .../google-cloud-vision/samples/quickstart.js | 39 ++++++++++++------- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/packages/google-cloud-vision/samples/.eslintrc.yml b/packages/google-cloud-vision/samples/.eslintrc.yml index 282535f55f6..98634adbeff 100644 --- a/packages/google-cloud-vision/samples/.eslintrc.yml +++ b/packages/google-cloud-vision/samples/.eslintrc.yml @@ -1,3 +1,4 @@ --- rules: no-console: off + node/no-unsupported-features/node-builtins: off diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 851b6d6d501..08013c4c08f 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -2,9 +2,9 @@ "name": "nodejs-docs-samples-vision", "private": true, "license": "Apache-2.0", - "author": "Google Inc.", + "author": "Google LLC", "engines": { - "node": ">=8" + "node": ">=10.17.0" }, "files": [ "*.js" @@ -14,7 +14,6 @@ }, "dependencies": { "@google-cloud/vision": "^2.1.2", - "mathjs": "^7.0.0", "natural": "^2.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index 46043131a97..db1fabce97f 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -14,20 +14,33 @@ 'use strict'; -// [START vision_quickstart] -async function quickstart() { - // Imports the Google Cloud client library - const vision = require('@google-cloud/vision'); +// sample-metadata: +// title: Cloud Vision Quickstart +// description: Performs label detection of an image with a cat. +// usage: node quickstart.js - // Creates a client - const client = new vision.ImageAnnotatorClient(); +function main() { + // [START vision_quickstart] + async function quickstart() { + // Imports the Google Cloud client library + const vision = require('@google-cloud/vision'); - // Performs label detection on the image file - const [result] = await client.labelDetection('./resources/wakeupcat.jpg'); - const labels = result.labelAnnotations; - console.log('Labels:'); - labels.forEach(label => console.log(label.description)); + // Creates a client + const client = new vision.ImageAnnotatorClient(); + + // Performs label detection on the image file + const [result] = await client.labelDetection('./resources/wakeupcat.jpg'); + const labels = result.labelAnnotations; + console.log('Labels:'); + labels.forEach(label => console.log(label.description)); + } + quickstart(); + // [END vision_quickstart] } -// [END vision_quickstart] -quickstart().catch(console.error); +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); + +main(...process.argv.slice(2)); From 48782b3a2b43be287f3c3a20f26ed3d8a41ac7a0 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 27 Oct 2020 08:38:08 -0700 Subject: [PATCH 463/588] docs: updated code of conduct (includes update to actions) (#843) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/478a2c73-a717-4911-8eee-fab1b4dfcf86/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/89c849ba5013e45e8fb688b138f33c2ec6083dc5 Source-Link: https://github.com/googleapis/synthtool/commit/a783321fd55f010709294455584a553f4b24b944 Source-Link: https://github.com/googleapis/synthtool/commit/b7413d38b763827c72c0360f0a3d286c84656eeb Source-Link: https://github.com/googleapis/synthtool/commit/5f6ef0ec5501d33c4667885b37a7685a30d41a76 --- .../google-cloud-vision/CODE_OF_CONDUCT.md | 123 +++++++++++++----- packages/google-cloud-vision/README.md | 7 +- .../google-cloud-vision/samples/README.md | 24 ++-- packages/google-cloud-vision/synth.metadata | 4 +- 4 files changed, 108 insertions(+), 50 deletions(-) diff --git a/packages/google-cloud-vision/CODE_OF_CONDUCT.md b/packages/google-cloud-vision/CODE_OF_CONDUCT.md index 46b2a08ea6d..2add2547a81 100644 --- a/packages/google-cloud-vision/CODE_OF_CONDUCT.md +++ b/packages/google-cloud-vision/CODE_OF_CONDUCT.md @@ -1,43 +1,94 @@ -# Contributor Code of Conduct + +# Code of Conduct -As contributors and maintainers of this project, -and in the interest of fostering an open and welcoming community, -we pledge to respect all people who contribute through reporting issues, -posting feature requests, updating documentation, -submitting pull requests or patches, and other activities. +## Our Pledge -We are committed to making participation in this project -a harassment-free experience for everyone, -regardless of level of experience, gender, gender identity and expression, -sexual orientation, disability, personal appearance, -body size, race, ethnicity, age, religion, or nationality. +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 -* Personal attacks -* Trolling or insulting/derogatory comments -* Public or private harassment -* Publishing other's private information, -such as physical or electronic -addresses, without explicit permission -* Other unethical or unprofessional conduct. +* 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. -By adopting this Code of Conduct, -project maintainers commit themselves to fairly and consistently -applying these principles to every aspect of managing this project. -Project maintainers who do not follow or enforce the Code of Conduct -may be permanently removed from the project team. - -This code of conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. - -Instances of abusive, harassing, or otherwise unacceptable behavior -may be reported by opening an issue -or contacting one or more of the project maintainers. - -This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, -available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) +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-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 7d706a00032..79e71d2d558 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -71,6 +71,7 @@ async function quickstart() { console.log('Labels:'); labels.forEach(label => console.log(label.description)); } +quickstart(); ``` @@ -90,10 +91,10 @@ has instructions for running the samples. | Detect.v1p1beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p1beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) | | Detect.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) | | Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) | -| Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | -| Set Endpoint | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) | +| Cloud Vision Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | +| Cloud Vision Custom API Endpoint | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) | | Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | -| Vision-face-detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/vision-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/vision-face-detection.js,samples/README.md) | +| Cloud Vision Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/vision-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/vision-face-detection.js,samples/README.md) | diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 987f0fb8309..bd06d6d6e5e 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -19,10 +19,10 @@ * [Detect.v1p1beta1](#detect.v1p1beta1) * [Detect.v1p3beta1](#detect.v1p3beta1) * [Face Detection](#face-detection) - * [Quickstart](#quickstart) - * [Set Endpoint](#set-endpoint) + * [Cloud Vision Quickstart](#cloud-vision-quickstart) + * [Cloud Vision Custom API Endpoint](#cloud-vision-custom-api-endpoint) * [Text Detection](#text-detection) - * [Vision-face-detection](#vision-face-detection) + * [Cloud Vision Face Detection](#cloud-vision-face-detection) ## Before you begin @@ -158,7 +158,9 @@ __Usage:__ -### Quickstart +### Cloud Vision Quickstart + +Performs label detection of an image with a cat. View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js). @@ -167,7 +169,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node samples/quickstart.js` +`node quickstart.js` ----- @@ -175,7 +177,9 @@ __Usage:__ -### Set Endpoint +### Cloud Vision Custom API Endpoint + +Demonstrates using a custom API endpoint for the Cloud Vision API. View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js). @@ -184,7 +188,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node samples/setEndpoint.js` +`node setEndpoint.js` ----- @@ -209,7 +213,9 @@ __Usage:__ -### Vision-face-detection +### Cloud Vision Face Detection + +Identify faces in an image using the Cloud Vision API. View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/vision-face-detection.js). @@ -218,7 +224,7 @@ View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/s __Usage:__ -`node samples/vision-face-detection.js` +`node vision-face-detection.js ` diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index f4f5b233794..09c500f4123 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "a5ed952ae9e0fa7a899e752c42ee9e10aa9bcec5" + "sha": "3385107d98113c0261e885285d460e611c2c2b21" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "901ddd44e9ef7887ee681b9183bbdea99437fdcc" + "sha": "89c849ba5013e45e8fb688b138f33c2ec6083dc5" } } ], From 3c424f47ca5de9596ac56b9f6fd2745278e7fbdd Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 2 Nov 2020 15:58:34 -0800 Subject: [PATCH 464/588] build(node): add KOKORO_BUILD_ARTIFACTS_SUBDIR to env (#844) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/0d0efc4e-9ccd-472b-a303-4bbf020fc2e0/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/ba9918cd22874245b55734f57470c719b577e591 --- packages/google-cloud-vision/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 09c500f4123..7a7ba34b87c 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "3385107d98113c0261e885285d460e611c2c2b21" + "sha": "c64124339fbc2f5f1354148c77fba6d2f356208f" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "89c849ba5013e45e8fb688b138f33c2ec6083dc5" + "sha": "ba9918cd22874245b55734f57470c719b577e591" } } ], From 6f20fec03d7f5a6933656a99c157889691fb4630 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Fri, 6 Nov 2020 15:42:11 -0800 Subject: [PATCH 465/588] fix: do not modify options object, use defaultScopes (#845) Regenerated the library using [gapic-generator-typescript](https://github.com/googleapis/gapic-generator-typescript) v1.2.1. --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/src/index.ts | 2 + .../src/v1/image_annotator_client.ts | 134 +++--- .../src/v1/product_search_client.ts | 428 ++++++++++-------- .../src/v1p1beta1/image_annotator_client.ts | 72 +-- .../src/v1p2beta1/image_annotator_client.ts | 102 +++-- .../src/v1p3beta1/image_annotator_client.ts | 104 +++-- .../src/v1p3beta1/product_search_client.ts | 400 +++++++++------- .../src/v1p4beta1/image_annotator_client.ts | 138 +++--- .../src/v1p4beta1/product_search_client.ts | 428 ++++++++++-------- packages/google-cloud-vision/synth.metadata | 16 +- .../system-test/fixtures/sample/src/index.ts | 16 +- .../system-test/install.ts | 18 +- 13 files changed, 1084 insertions(+), 776 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index b01bd0110d8..363606704df 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -47,7 +47,7 @@ }, "dependencies": { "@google-cloud/promisify": "^2.0.0", - "google-gax": "^2.3.1", + "google-gax": "^2.9.2", "is": "^3.3.0" }, "devDependencies": { diff --git a/packages/google-cloud-vision/src/index.ts b/packages/google-cloud-vision/src/index.ts index f1c4efd09e9..bd668ae1ac1 100644 --- a/packages/google-cloud-vision/src/index.ts +++ b/packages/google-cloud-vision/src/index.ts @@ -40,7 +40,9 @@ Object.assign( helpers.call('v1p4beta1') ); const ImageAnnotatorClient = v1.ImageAnnotatorClient; +type ImageAnnotatorClient = v1.ImageAnnotatorClient; const ProductSearchClient = v1.ProductSearchClient; +type ProductSearchClient = v1.ProductSearchClient; export { v1, v1p1beta1, diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 5e2360a7435..8a9a33813b0 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -60,8 +60,10 @@ export class ImageAnnotatorClient { /** * Construct an instance of ImageAnnotatorClient. * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] @@ -81,42 +83,33 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. + * TODO(@alexander-fenster): link to gax documentation. + * @param {boolean} fallback - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. */ - constructor(opts?: ClientOptions) { - // Ensure that options include the service address and port. + // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; - const port = opts && opts.port ? opts.port : staticMembers.port; + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? typeof window !== 'undefined'; + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - if (!opts) { - opts = {servicePath, port}; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; } - opts.servicePath = opts.servicePath || servicePath; - opts.port = opts.port || port; - - // users can override the config from client side, like retry codes name. - // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 - // The way to override client config for Showcase API: - // - // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} - // const showcaseClient = new showcaseClient({ projectId, customConfig }); - opts.clientConfig = opts.clientConfig || {}; - // If we're running in browser, it's OK to omit `fallback` since - // google-gax has `browser` field in its `package.json`. - // For Electron (which does not respect `browser` field), - // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = opts.fallback ? gax.fallback : gax; - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. @@ -125,6 +118,11 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + // Determine the client header string. const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { @@ -301,6 +299,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'vision.googleapis.com'; @@ -309,6 +308,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service - same as servicePath(), * exists for compatibility reasons. + * @returns {string} The DNS address for this service. */ static get apiEndpoint() { return 'vision.googleapis.com'; @@ -316,6 +316,7 @@ export class ImageAnnotatorClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -324,6 +325,7 @@ export class ImageAnnotatorClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return [ @@ -336,8 +338,7 @@ export class ImageAnnotatorClient { getProjectId(callback: Callback): void; /** * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. + * @returns {Promise} A promise that resolves to string containing the project ID. */ getProjectId( callback?: Callback @@ -407,7 +408,11 @@ export class ImageAnnotatorClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1.BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, @@ -515,7 +520,11 @@ export class ImageAnnotatorClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1.BatchAnnotateFilesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.batchAnnotateFiles(request); */ batchAnnotateFiles( request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, @@ -631,8 +640,15 @@ export class ImageAnnotatorClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.asyncBatchAnnotateImages(request); + * const [response] = await operation.promise(); */ asyncBatchAnnotateImages( request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, @@ -688,18 +704,19 @@ export class ImageAnnotatorClient { ); } /** - * Check the status of the long running operation returned by the asyncBatchAnnotateImages() method. + * Check the status of the long running operation returned by `asyncBatchAnnotateImages()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkAsyncBatchAnnotateImagesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkAsyncBatchAnnotateImagesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAsyncBatchAnnotateImagesProgress( name: string @@ -787,8 +804,15 @@ export class ImageAnnotatorClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.asyncBatchAnnotateFiles(request); + * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, @@ -844,18 +868,19 @@ export class ImageAnnotatorClient { ); } /** - * Check the status of the long running operation returned by the asyncBatchAnnotateFiles() method. + * Check the status of the long running operation returned by `asyncBatchAnnotateFiles()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAsyncBatchAnnotateFilesProgress( name: string @@ -1060,9 +1085,10 @@ export class ImageAnnotatorClient { } /** - * Terminate the GRPC channel and close the client. + * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { this.initialize(); diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 3e59533bbf1..929c5405e46 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -75,8 +75,10 @@ export class ProductSearchClient { /** * Construct an instance of ProductSearchClient. * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] @@ -96,42 +98,33 @@ export class ProductSearchClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. + * TODO(@alexander-fenster): link to gax documentation. + * @param {boolean} fallback - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. */ - constructor(opts?: ClientOptions) { - // Ensure that options include the service address and port. + // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ProductSearchClient; const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; - const port = opts && opts.port ? opts.port : staticMembers.port; + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? typeof window !== 'undefined'; + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - if (!opts) { - opts = {servicePath, port}; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; } - opts.servicePath = opts.servicePath || servicePath; - opts.port = opts.port || port; - - // users can override the config from client side, like retry codes name. - // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 - // The way to override client config for Showcase API: - // - // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} - // const showcaseClient = new showcaseClient({ projectId, customConfig }); - opts.clientConfig = opts.clientConfig || {}; - // If we're running in browser, it's OK to omit `fallback` since - // google-gax has `browser` field in its `package.json`. - // For Electron (which does not respect `browser` field), - // pass `{fallback: true}` to the ProductSearchClient constructor. + // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = opts.fallback ? gax.fallback : gax; - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = (this.constructor as typeof ProductSearchClient).scopes; + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. @@ -140,6 +133,11 @@ export class ProductSearchClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + // Determine the client header string. const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { @@ -355,6 +353,7 @@ export class ProductSearchClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'vision.googleapis.com'; @@ -363,6 +362,7 @@ export class ProductSearchClient { /** * The DNS address for this API service - same as servicePath(), * exists for compatibility reasons. + * @returns {string} The DNS address for this service. */ static get apiEndpoint() { return 'vision.googleapis.com'; @@ -370,6 +370,7 @@ export class ProductSearchClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -378,6 +379,7 @@ export class ProductSearchClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return [ @@ -390,8 +392,7 @@ export class ProductSearchClient { getProjectId(callback: Callback): void; /** * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. + * @returns {Promise} A promise that resolves to string containing the project ID. */ getProjectId( callback?: Callback @@ -458,7 +459,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.createProductSet(request); */ createProductSet( request: protos.google.cloud.vision.v1.ICreateProductSetRequest, @@ -547,7 +552,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getProductSet(request); */ getProductSet( request: protos.google.cloud.vision.v1.IGetProductSetRequest, @@ -641,7 +650,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.updateProductSet(request); */ updateProductSet( request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, @@ -729,7 +742,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.deleteProductSet(request); */ deleteProductSet( request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, @@ -828,7 +845,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.createProduct(request); */ createProduct( request: protos.google.cloud.vision.v1.ICreateProductRequest, @@ -917,7 +938,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getProduct(request); */ getProduct( request: protos.google.cloud.vision.v1.IGetProductRequest, @@ -1018,7 +1043,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.updateProduct(request); */ updateProduct( request: protos.google.cloud.vision.v1.IUpdateProductRequest, @@ -1107,7 +1136,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.deleteProduct(request); */ deleteProduct( request: protos.google.cloud.vision.v1.IDeleteProductRequest, @@ -1222,7 +1255,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.createReferenceImage(request); */ createReferenceImage( request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, @@ -1320,7 +1357,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.deleteReferenceImage(request); */ deleteReferenceImage( request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, @@ -1416,7 +1457,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getReferenceImage(request); */ getReferenceImage( request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, @@ -1519,7 +1564,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.addProductToProductSet(request); */ addProductToProductSet( request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, @@ -1622,7 +1671,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.removeProductFromProductSet(request); */ removeProductFromProductSet( request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, @@ -1736,8 +1789,15 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.importProductSets(request); + * const [response] = await operation.promise(); */ importProductSets( request: protos.google.cloud.vision.v1.IImportProductSetsRequest, @@ -1789,18 +1849,19 @@ export class ProductSearchClient { return this.innerApiCalls.importProductSets(request, options, callback); } /** - * Check the status of the long running operation returned by the importProductSets() method. + * Check the status of the long running operation returned by `importProductSets()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkImportProductSetsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkImportProductSetsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkImportProductSetsProgress( name: string @@ -1903,8 +1964,15 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.purgeProducts(request); + * const [response] = await operation.promise(); */ purgeProducts( request: protos.google.cloud.vision.v1.IPurgeProductsRequest, @@ -1956,18 +2024,19 @@ export class ProductSearchClient { return this.innerApiCalls.purgeProducts(request, options, callback); } /** - * Check the status of the long running operation returned by the purgeProducts() method. + * Check the status of the long running operation returned by `purgeProducts()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkPurgeProductsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkPurgeProductsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkPurgeProductsProgress( name: string @@ -2040,19 +2109,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ProductSet]{@link google.cloud.vision.v1.ProductSet} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListProductSetsRequest]{@link google.cloud.vision.v1.ListProductSetsRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListProductSetsResponse]{@link google.cloud.vision.v1.ListProductSetsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listProductSetsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductSets( request: protos.google.cloud.vision.v1.IListProductSetsRequest, @@ -2098,18 +2162,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductSets} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2124,6 +2177,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductSetsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductSetsStream( request?: protos.google.cloud.vision.v1.IListProductSetsRequest, @@ -2148,10 +2208,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductSets}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listProductSets`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2165,7 +2224,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [ProductSet]{@link google.cloud.vision.v1.ProductSet}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listProductSetsAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listProductSetsAsync( request?: protos.google.cloud.vision.v1.IListProductSetsRequest, @@ -2238,19 +2308,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListProductsRequest]{@link google.cloud.vision.v1.ListProductsRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListProductsResponse]{@link google.cloud.vision.v1.ListProductsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listProductsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProducts( request: protos.google.cloud.vision.v1.IListProductsRequest, @@ -2296,18 +2361,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProducts} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2323,6 +2377,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductsStream( request?: protos.google.cloud.vision.v1.IListProductsRequest, @@ -2347,10 +2408,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProducts}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listProducts`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2365,7 +2425,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Product]{@link google.cloud.vision.v1.Product}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listProductsAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listProductsAsync( request?: protos.google.cloud.vision.v1.IListProductsRequest, @@ -2447,19 +2518,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListReferenceImagesRequest]{@link google.cloud.vision.v1.ListReferenceImagesRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListReferenceImagesResponse]{@link google.cloud.vision.v1.ListReferenceImagesResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listReferenceImagesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listReferenceImages( request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, @@ -2507,18 +2573,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listReferenceImages} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2537,6 +2592,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listReferenceImagesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listReferenceImagesStream( request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, @@ -2561,10 +2623,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listReferenceImages}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listReferenceImages`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2582,7 +2643,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listReferenceImagesAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listReferenceImagesAsync( request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, @@ -2661,19 +2733,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [Product]{@link google.cloud.vision.v1.Product}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1.Product} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListProductsInProductSetRequest]{@link google.cloud.vision.v1.ListProductsInProductSetRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListProductsInProductSetResponse]{@link google.cloud.vision.v1.ListProductsInProductSetResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listProductsInProductSetAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductsInProductSet( request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, @@ -2725,18 +2792,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductsInProductSet} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.name @@ -2752,6 +2808,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1.Product} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductsInProductSetAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductsInProductSetStream( request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, @@ -2776,10 +2839,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductsInProductSet}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listProductsInProductSet`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.name @@ -2794,7 +2856,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Product]{@link google.cloud.vision.v1.Product}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listProductsInProductSetAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listProductsInProductSetAsync( request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, @@ -3035,9 +3108,10 @@ export class ProductSearchClient { } /** - * Terminate the GRPC channel and close the client. + * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 211d4765b3f..bc601f0c375 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -52,8 +52,10 @@ export class ImageAnnotatorClient { /** * Construct an instance of ImageAnnotatorClient. * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] @@ -73,42 +75,33 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. + * TODO(@alexander-fenster): link to gax documentation. + * @param {boolean} fallback - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. */ - constructor(opts?: ClientOptions) { - // Ensure that options include the service address and port. + // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; - const port = opts && opts.port ? opts.port : staticMembers.port; + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? typeof window !== 'undefined'; + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - if (!opts) { - opts = {servicePath, port}; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; } - opts.servicePath = opts.servicePath || servicePath; - opts.port = opts.port || port; - - // users can override the config from client side, like retry codes name. - // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 - // The way to override client config for Showcase API: - // - // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} - // const showcaseClient = new showcaseClient({ projectId, customConfig }); - opts.clientConfig = opts.clientConfig || {}; - // If we're running in browser, it's OK to omit `fallback` since - // google-gax has `browser` field in its `package.json`. - // For Electron (which does not respect `browser` field), - // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = opts.fallback ? gax.fallback : gax; - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. @@ -117,6 +110,11 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + // Determine the client header string. const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { @@ -223,6 +221,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'vision.googleapis.com'; @@ -231,6 +230,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service - same as servicePath(), * exists for compatibility reasons. + * @returns {string} The DNS address for this service. */ static get apiEndpoint() { return 'vision.googleapis.com'; @@ -238,6 +238,7 @@ export class ImageAnnotatorClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -246,6 +247,7 @@ export class ImageAnnotatorClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return [ @@ -258,8 +260,7 @@ export class ImageAnnotatorClient { getProjectId(callback: Callback): void; /** * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. + * @returns {Promise} A promise that resolves to string containing the project ID. */ getProjectId( callback?: Callback @@ -319,7 +320,11 @@ export class ImageAnnotatorClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, @@ -363,9 +368,10 @@ export class ImageAnnotatorClient { } /** - * Terminate the GRPC channel and close the client. + * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 6dec18e0696..01124686ae2 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -59,8 +59,10 @@ export class ImageAnnotatorClient { /** * Construct an instance of ImageAnnotatorClient. * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] @@ -80,42 +82,33 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. + * TODO(@alexander-fenster): link to gax documentation. + * @param {boolean} fallback - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. */ - constructor(opts?: ClientOptions) { - // Ensure that options include the service address and port. + // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; - const port = opts && opts.port ? opts.port : staticMembers.port; - - if (!opts) { - opts = {servicePath, port}; + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? typeof window !== 'undefined'; + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; } - opts.servicePath = opts.servicePath || servicePath; - opts.port = opts.port || port; - // users can override the config from client side, like retry codes name. - // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 - // The way to override client config for Showcase API: - // - // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} - // const showcaseClient = new showcaseClient({ projectId, customConfig }); - opts.clientConfig = opts.clientConfig || {}; - - // If we're running in browser, it's OK to omit `fallback` since - // google-gax has `browser` field in its `package.json`. - // For Electron (which does not respect `browser` field), - // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = opts.fallback ? gax.fallback : gax; - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. @@ -124,6 +117,11 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + // Determine the client header string. const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { @@ -268,6 +266,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'vision.googleapis.com'; @@ -276,6 +275,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service - same as servicePath(), * exists for compatibility reasons. + * @returns {string} The DNS address for this service. */ static get apiEndpoint() { return 'vision.googleapis.com'; @@ -283,6 +283,7 @@ export class ImageAnnotatorClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -291,6 +292,7 @@ export class ImageAnnotatorClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return [ @@ -303,8 +305,7 @@ export class ImageAnnotatorClient { getProjectId(callback: Callback): void; /** * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. + * @returns {Promise} A promise that resolves to string containing the project ID. */ getProjectId( callback?: Callback @@ -364,7 +365,11 @@ export class ImageAnnotatorClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, @@ -458,8 +463,15 @@ export class ImageAnnotatorClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.asyncBatchAnnotateFiles(request); + * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, @@ -508,18 +520,19 @@ export class ImageAnnotatorClient { ); } /** - * Check the status of the long running operation returned by the asyncBatchAnnotateFiles() method. + * Check the status of the long running operation returned by `asyncBatchAnnotateFiles()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAsyncBatchAnnotateFilesProgress( name: string @@ -545,9 +558,10 @@ export class ImageAnnotatorClient { } /** - * Terminate the GRPC channel and close the client. + * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 9217206b928..06062bdf282 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -60,8 +60,10 @@ export class ImageAnnotatorClient { /** * Construct an instance of ImageAnnotatorClient. * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] @@ -81,42 +83,33 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. + * TODO(@alexander-fenster): link to gax documentation. + * @param {boolean} fallback - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. */ - constructor(opts?: ClientOptions) { - // Ensure that options include the service address and port. + // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; - const port = opts && opts.port ? opts.port : staticMembers.port; - - if (!opts) { - opts = {servicePath, port}; + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? typeof window !== 'undefined'; + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; } - opts.servicePath = opts.servicePath || servicePath; - opts.port = opts.port || port; - - // users can override the config from client side, like retry codes name. - // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 - // The way to override client config for Showcase API: - // - // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} - // const showcaseClient = new showcaseClient({ projectId, customConfig }); - opts.clientConfig = opts.clientConfig || {}; - - // If we're running in browser, it's OK to omit `fallback` since - // google-gax has `browser` field in its `package.json`. - // For Electron (which does not respect `browser` field), - // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = opts.fallback ? gax.fallback : gax; - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. @@ -125,6 +118,11 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + // Determine the client header string. const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { @@ -284,6 +282,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'vision.googleapis.com'; @@ -292,6 +291,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service - same as servicePath(), * exists for compatibility reasons. + * @returns {string} The DNS address for this service. */ static get apiEndpoint() { return 'vision.googleapis.com'; @@ -299,6 +299,7 @@ export class ImageAnnotatorClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -307,6 +308,7 @@ export class ImageAnnotatorClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return [ @@ -319,8 +321,7 @@ export class ImageAnnotatorClient { getProjectId(callback: Callback): void; /** * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. + * @returns {Promise} A promise that resolves to string containing the project ID. */ getProjectId( callback?: Callback @@ -380,7 +381,11 @@ export class ImageAnnotatorClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, @@ -474,8 +479,15 @@ export class ImageAnnotatorClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.asyncBatchAnnotateFiles(request); + * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, @@ -524,18 +536,19 @@ export class ImageAnnotatorClient { ); } /** - * Check the status of the long running operation returned by the asyncBatchAnnotateFiles() method. + * Check the status of the long running operation returned by `asyncBatchAnnotateFiles()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAsyncBatchAnnotateFilesProgress( name: string @@ -740,9 +753,10 @@ export class ImageAnnotatorClient { } /** - * Terminate the GRPC channel and close the client. + * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 31a7acaa3b4..545fb8f9747 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -75,8 +75,10 @@ export class ProductSearchClient { /** * Construct an instance of ProductSearchClient. * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] @@ -96,42 +98,33 @@ export class ProductSearchClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. + * TODO(@alexander-fenster): link to gax documentation. + * @param {boolean} fallback - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. */ - constructor(opts?: ClientOptions) { - // Ensure that options include the service address and port. + // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ProductSearchClient; const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; - const port = opts && opts.port ? opts.port : staticMembers.port; + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? typeof window !== 'undefined'; + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - if (!opts) { - opts = {servicePath, port}; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; } - opts.servicePath = opts.servicePath || servicePath; - opts.port = opts.port || port; - - // users can override the config from client side, like retry codes name. - // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 - // The way to override client config for Showcase API: - // - // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} - // const showcaseClient = new showcaseClient({ projectId, customConfig }); - opts.clientConfig = opts.clientConfig || {}; - // If we're running in browser, it's OK to omit `fallback` since - // google-gax has `browser` field in its `package.json`. - // For Electron (which does not respect `browser` field), - // pass `{fallback: true}` to the ProductSearchClient constructor. + // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = opts.fallback ? gax.fallback : gax; - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = (this.constructor as typeof ProductSearchClient).scopes; + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. @@ -140,6 +133,11 @@ export class ProductSearchClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + // Determine the client header string. const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { @@ -343,6 +341,7 @@ export class ProductSearchClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'vision.googleapis.com'; @@ -351,6 +350,7 @@ export class ProductSearchClient { /** * The DNS address for this API service - same as servicePath(), * exists for compatibility reasons. + * @returns {string} The DNS address for this service. */ static get apiEndpoint() { return 'vision.googleapis.com'; @@ -358,6 +358,7 @@ export class ProductSearchClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -366,6 +367,7 @@ export class ProductSearchClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return [ @@ -378,8 +380,7 @@ export class ProductSearchClient { getProjectId(callback: Callback): void; /** * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. + * @returns {Promise} A promise that resolves to string containing the project ID. */ getProjectId( callback?: Callback @@ -450,7 +451,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.createProductSet(request); */ createProductSet( request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, @@ -545,7 +550,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getProductSet(request); */ getProductSet( request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, @@ -645,7 +654,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.updateProductSet(request); */ updateProductSet( request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, @@ -743,7 +756,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.deleteProductSet(request); */ deleteProductSet( request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, @@ -848,7 +865,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.createProduct(request); */ createProduct( request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, @@ -943,7 +964,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getProduct(request); */ getProduct( request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, @@ -1051,7 +1076,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.updateProduct(request); */ updateProduct( request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, @@ -1150,7 +1179,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.deleteProduct(request); */ deleteProduct( request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, @@ -1270,7 +1303,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.createReferenceImage(request); */ createReferenceImage( request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, @@ -1378,7 +1415,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.deleteReferenceImage(request); */ deleteReferenceImage( request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, @@ -1480,7 +1521,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getReferenceImage(request); */ getReferenceImage( request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, @@ -1589,7 +1634,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.addProductToProductSet(request); */ addProductToProductSet( request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, @@ -1699,7 +1748,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.removeProductFromProductSet(request); */ removeProductFromProductSet( request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, @@ -1813,8 +1866,15 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.importProductSets(request); + * const [response] = await operation.promise(); */ importProductSets( request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, @@ -1866,18 +1926,19 @@ export class ProductSearchClient { return this.innerApiCalls.importProductSets(request, options, callback); } /** - * Check the status of the long running operation returned by the importProductSets() method. + * Check the status of the long running operation returned by `importProductSets()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkImportProductSetsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkImportProductSetsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkImportProductSetsProgress( name: string @@ -1954,19 +2015,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListProductSetsRequest]{@link google.cloud.vision.v1p3beta1.ListProductSetsRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListProductSetsResponse]{@link google.cloud.vision.v1p3beta1.ListProductSetsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listProductSetsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductSets( request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, @@ -2014,18 +2070,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductSets} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2040,6 +2085,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductSetsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductSetsStream( request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, @@ -2064,10 +2116,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductSets}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listProductSets`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2081,7 +2132,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listProductSetsAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listProductSetsAsync( request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, @@ -2158,19 +2220,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListProductsRequest]{@link google.cloud.vision.v1p3beta1.ListProductsRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListProductsResponse]{@link google.cloud.vision.v1p3beta1.ListProductsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listProductsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProducts( request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, @@ -2218,18 +2275,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProducts} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2245,6 +2291,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductsStream( request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, @@ -2269,10 +2322,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProducts}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listProducts`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2287,7 +2339,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Product]{@link google.cloud.vision.v1p3beta1.Product}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listProductsAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listProductsAsync( request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, @@ -2369,19 +2432,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListReferenceImagesRequest]{@link google.cloud.vision.v1p3beta1.ListReferenceImagesRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListReferenceImagesResponse]{@link google.cloud.vision.v1p3beta1.ListReferenceImagesResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listReferenceImagesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listReferenceImages( request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, @@ -2429,18 +2487,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listReferenceImages} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2459,6 +2506,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listReferenceImagesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listReferenceImagesStream( request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, @@ -2483,10 +2537,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listReferenceImages}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listReferenceImages`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2504,7 +2557,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listReferenceImagesAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listReferenceImagesAsync( request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, @@ -2583,19 +2647,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1p3beta1.Product} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListProductsInProductSetRequest]{@link google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listProductsInProductSetAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductsInProductSet( request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, @@ -2647,18 +2706,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductsInProductSet} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.name @@ -2674,6 +2722,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductsInProductSetAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductsInProductSetStream( request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, @@ -2698,10 +2753,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductsInProductSet}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listProductsInProductSet`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.name @@ -2716,7 +2770,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Product]{@link google.cloud.vision.v1p3beta1.Product}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listProductsInProductSetAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listProductsInProductSetAsync( request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, @@ -2957,9 +3022,10 @@ export class ProductSearchClient { } /** - * Terminate the GRPC channel and close the client. + * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 1ed55bcf0e7..4fe951a4d3e 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -60,8 +60,10 @@ export class ImageAnnotatorClient { /** * Construct an instance of ImageAnnotatorClient. * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] @@ -81,42 +83,33 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. + * TODO(@alexander-fenster): link to gax documentation. + * @param {boolean} fallback - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. */ - constructor(opts?: ClientOptions) { - // Ensure that options include the service address and port. + // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; - const port = opts && opts.port ? opts.port : staticMembers.port; - - if (!opts) { - opts = {servicePath, port}; + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? typeof window !== 'undefined'; + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; } - opts.servicePath = opts.servicePath || servicePath; - opts.port = opts.port || port; - - // users can override the config from client side, like retry codes name. - // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 - // The way to override client config for Showcase API: - // - // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} - // const showcaseClient = new showcaseClient({ projectId, customConfig }); - opts.clientConfig = opts.clientConfig || {}; - - // If we're running in browser, it's OK to omit `fallback` since - // google-gax has `browser` field in its `package.json`. - // For Electron (which does not respect `browser` field), - // pass `{fallback: true}` to the ImageAnnotatorClient constructor. + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = opts.fallback ? gax.fallback : gax; - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = (this.constructor as typeof ImageAnnotatorClient).scopes; + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. @@ -125,6 +118,11 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + // Determine the client header string. const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { @@ -301,6 +299,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'vision.googleapis.com'; @@ -309,6 +308,7 @@ export class ImageAnnotatorClient { /** * The DNS address for this API service - same as servicePath(), * exists for compatibility reasons. + * @returns {string} The DNS address for this service. */ static get apiEndpoint() { return 'vision.googleapis.com'; @@ -316,6 +316,7 @@ export class ImageAnnotatorClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -324,6 +325,7 @@ export class ImageAnnotatorClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return [ @@ -336,8 +338,7 @@ export class ImageAnnotatorClient { getProjectId(callback: Callback): void; /** * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. + * @returns {Promise} A promise that resolves to string containing the project ID. */ getProjectId( callback?: Callback @@ -397,7 +398,11 @@ export class ImageAnnotatorClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, @@ -491,7 +496,11 @@ export class ImageAnnotatorClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.batchAnnotateFiles(request); */ batchAnnotateFiles( request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, @@ -590,8 +599,15 @@ export class ImageAnnotatorClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.asyncBatchAnnotateImages(request); + * const [response] = await operation.promise(); */ asyncBatchAnnotateImages( request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, @@ -640,18 +656,19 @@ export class ImageAnnotatorClient { ); } /** - * Check the status of the long running operation returned by the asyncBatchAnnotateImages() method. + * Check the status of the long running operation returned by `asyncBatchAnnotateImages()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkAsyncBatchAnnotateImagesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkAsyncBatchAnnotateImagesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAsyncBatchAnnotateImagesProgress( name: string @@ -726,8 +743,15 @@ export class ImageAnnotatorClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.asyncBatchAnnotateFiles(request); + * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, @@ -776,18 +800,19 @@ export class ImageAnnotatorClient { ); } /** - * Check the status of the long running operation returned by the asyncBatchAnnotateFiles() method. + * Check the status of the long running operation returned by `asyncBatchAnnotateFiles()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkAsyncBatchAnnotateFilesProgress( name: string @@ -992,9 +1017,10 @@ export class ImageAnnotatorClient { } /** - * Terminate the GRPC channel and close the client. + * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index f888a3895b3..33b4e56481f 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -79,8 +79,10 @@ export class ProductSearchClient { /** * Construct an instance of ProductSearchClient. * - * @param {object} [options] - The configuration object. See the subsequent - * parameters for more details. + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] @@ -100,42 +102,33 @@ export class ProductSearchClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. + * TODO(@alexander-fenster): link to gax documentation. + * @param {boolean} fallback - Use HTTP fallback mode. + * In fallback mode, a special browser-compatible transport implementation is used + * instead of gRPC transport. In browser context (if the `window` object is defined) + * the fallback mode is enabled automatically; set `options.fallback` to `false` + * if you need to override this behavior. */ - constructor(opts?: ClientOptions) { - // Ensure that options include the service address and port. + // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ProductSearchClient; const servicePath = - opts && opts.servicePath - ? opts.servicePath - : opts && opts.apiEndpoint - ? opts.apiEndpoint - : staticMembers.servicePath; - const port = opts && opts.port ? opts.port : staticMembers.port; + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? typeof window !== 'undefined'; + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - if (!opts) { - opts = {servicePath, port}; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; } - opts.servicePath = opts.servicePath || servicePath; - opts.port = opts.port || port; - - // users can override the config from client side, like retry codes name. - // The detailed structure of the clientConfig can be found here: https://github.com/googleapis/gax-nodejs/blob/master/src/gax.ts#L546 - // The way to override client config for Showcase API: - // - // const customConfig = {"interfaces": {"google.showcase.v1beta1.Echo": {"methods": {"Echo": {"retry_codes_name": "idempotent", "retry_params_name": "default"}}}}} - // const showcaseClient = new showcaseClient({ projectId, customConfig }); - opts.clientConfig = opts.clientConfig || {}; - // If we're running in browser, it's OK to omit `fallback` since - // google-gax has `browser` field in its `package.json`. - // For Electron (which does not respect `browser` field), - // pass `{fallback: true}` to the ProductSearchClient constructor. + // Choose either gRPC or proto-over-HTTP implementation of google-gax. this._gaxModule = opts.fallback ? gax.fallback : gax; - // Create a `gaxGrpc` object, with any grpc-specific options - // sent to the client. - opts.scopes = (this.constructor as typeof ProductSearchClient).scopes; + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); // Save options to use in initialize() method. @@ -144,6 +137,11 @@ export class ProductSearchClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + // Determine the client header string. const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; if (typeof process !== 'undefined' && 'versions' in process) { @@ -359,6 +357,7 @@ export class ProductSearchClient { /** * The DNS address for this API service. + * @returns {string} The DNS address for this service. */ static get servicePath() { return 'vision.googleapis.com'; @@ -367,6 +366,7 @@ export class ProductSearchClient { /** * The DNS address for this API service - same as servicePath(), * exists for compatibility reasons. + * @returns {string} The DNS address for this service. */ static get apiEndpoint() { return 'vision.googleapis.com'; @@ -374,6 +374,7 @@ export class ProductSearchClient { /** * The port for this API service. + * @returns {number} The default port for this service. */ static get port() { return 443; @@ -382,6 +383,7 @@ export class ProductSearchClient { /** * The scopes needed to make gRPC calls for every method defined * in this service. + * @returns {string[]} List of default scopes. */ static get scopes() { return [ @@ -394,8 +396,7 @@ export class ProductSearchClient { getProjectId(callback: Callback): void; /** * Return the project ID used by this class. - * @param {function(Error, string)} callback - the callback to - * be called with the current project Id. + * @returns {Promise} A promise that resolves to string containing the project ID. */ getProjectId( callback?: Callback @@ -466,7 +467,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.createProductSet(request); */ createProductSet( request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, @@ -561,7 +566,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getProductSet(request); */ getProductSet( request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, @@ -661,7 +670,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.updateProductSet(request); */ updateProductSet( request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, @@ -755,7 +768,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.deleteProductSet(request); */ deleteProductSet( request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, @@ -860,7 +877,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.createProduct(request); */ createProduct( request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, @@ -955,7 +976,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getProduct(request); */ getProduct( request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, @@ -1064,7 +1089,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.updateProduct(request); */ updateProduct( request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, @@ -1159,7 +1188,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.deleteProduct(request); */ deleteProduct( request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, @@ -1280,7 +1313,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.createReferenceImage(request); */ createReferenceImage( request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, @@ -1384,7 +1421,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.deleteReferenceImage(request); */ deleteReferenceImage( request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, @@ -1486,7 +1527,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.getReferenceImage(request); */ getReferenceImage( request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, @@ -1595,7 +1640,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.addProductToProductSet(request); */ addProductToProductSet( request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, @@ -1702,7 +1751,11 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example + * const [response] = await client.removeProductFromProductSet(request); */ removeProductFromProductSet( request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, @@ -1816,8 +1869,15 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.importProductSets(request); + * const [response] = await operation.promise(); */ importProductSets( request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, @@ -1869,18 +1929,19 @@ export class ProductSearchClient { return this.innerApiCalls.importProductSets(request, options, callback); } /** - * Check the status of the long running operation returned by the importProductSets() method. + * Check the status of the long running operation returned by `importProductSets()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkImportProductSetsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkImportProductSetsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkImportProductSetsProgress( name: string @@ -1983,8 +2044,15 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Operation]{@link google.longrunning.Operation}. - * The promise has a method named "cancel" which cancels the ongoing API call. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const [operation] = await client.purgeProducts(request); + * const [response] = await operation.promise(); */ purgeProducts( request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, @@ -2036,18 +2104,19 @@ export class ProductSearchClient { return this.innerApiCalls.purgeProducts(request, options, callback); } /** - * Check the status of the long running operation returned by the purgeProducts() method. + * Check the status of the long running operation returned by `purgeProducts()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. - * - * @example: - * const decodedOperation = await checkPurgeProductsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); - * + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example + * const decodedOperation = await checkPurgeProductsProgress(name); + * console.log(decodedOperation.result); + * console.log(decodedOperation.done); + * console.log(decodedOperation.metadata); */ async checkPurgeProductsProgress( name: string @@ -2124,19 +2193,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListProductSetsRequest]{@link google.cloud.vision.v1p4beta1.ListProductSetsRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListProductSetsResponse]{@link google.cloud.vision.v1p4beta1.ListProductSetsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listProductSetsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductSets( request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, @@ -2184,18 +2248,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductSets}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductSets} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2210,6 +2263,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductSetsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductSetsStream( request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, @@ -2234,10 +2294,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductSets}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listProductSets`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2251,7 +2310,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listProductSetsAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listProductSetsAsync( request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, @@ -2328,19 +2398,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListProductsRequest]{@link google.cloud.vision.v1p4beta1.ListProductsRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListProductsResponse]{@link google.cloud.vision.v1p4beta1.ListProductsResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listProductsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProducts( request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, @@ -2388,18 +2453,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProducts}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProducts} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2415,6 +2469,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductsStream( request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, @@ -2439,10 +2500,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProducts}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listProducts`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2457,7 +2517,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Product]{@link google.cloud.vision.v1p4beta1.Product}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listProductsAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listProductsAsync( request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, @@ -2539,19 +2610,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListReferenceImagesRequest]{@link google.cloud.vision.v1p4beta1.ListReferenceImagesRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListReferenceImagesResponse]{@link google.cloud.vision.v1p4beta1.ListReferenceImagesResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listReferenceImagesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listReferenceImages( request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, @@ -2599,18 +2665,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listReferenceImages}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listReferenceImages} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2629,6 +2684,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listReferenceImagesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listReferenceImagesStream( request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, @@ -2653,10 +2715,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listReferenceImages}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listReferenceImages`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.parent @@ -2674,7 +2735,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [ReferenceImage]{@link google.cloud.vision.v1p4beta1.ReferenceImage}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listReferenceImagesAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listReferenceImagesAsync( request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, @@ -2753,19 +2825,14 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * The client library support auto-pagination by default: it will call the API as many + * The client library will perform auto-pagination by default: it will call the API as many * times as needed and will merge results from all the pages into this array. - * - * When autoPaginate: false is specified through options, the array has three elements. - * The first element is Array of [Product]{@link google.cloud.vision.v1p4beta1.Product} that corresponds to - * the one page received from the API server. - * If the second element is not null it contains the request object of type [ListProductsInProductSetRequest]{@link google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest} - * that can be used to obtain the next page of the results. - * If it is null, the next page does not exist. - * The third element contains the raw response received from the API server. Its type is - * [ListProductsInProductSetResponse]{@link google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse}. - * - * The promise has a method named "cancel" which cancels the ongoing API call. + * Note that it can affect your quota. + * We recommend using `listProductsInProductSetAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductsInProductSet( request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, @@ -2817,18 +2884,7 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductsInProductSet}, but returns a NodeJS Stream object. - * - * This fetches the paged responses for {@link listProductsInProductSet} continuously - * and invokes the callback registered for 'data' event for each element in the - * responses. - * - * The returned object has 'end' method when no more elements are required. - * - * autoPaginate option will be ignored. - * - * @see {@link https://nodejs.org/api/stream.html} - * + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. * @param {Object} request * The request object that will be sent. * @param {string} request.name @@ -2844,6 +2900,13 @@ export class ProductSearchClient { * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} * An object stream which emits an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listProductsInProductSetAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. */ listProductsInProductSetStream( request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, @@ -2868,10 +2931,9 @@ export class ProductSearchClient { } /** - * Equivalent to {@link listProductsInProductSet}, but returns an iterable object. - * - * for-await-of syntax is used with the iterable to recursively get response element on-demand. + * Equivalent to `listProductsInProductSet`, but returns an iterable object. * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. * @param {Object} request * The request object that will be sent. * @param {string} request.name @@ -2886,7 +2948,18 @@ export class ProductSearchClient { * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object} - * An iterable Object that conforms to @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols. + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Product]{@link google.cloud.vision.v1p4beta1.Product}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example + * const iterable = client.listProductsInProductSetAsync(request); + * for await (const response of iterable) { + * // process response + * } */ listProductsInProductSetAsync( request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, @@ -3127,9 +3200,10 @@ export class ProductSearchClient { } /** - * Terminate the GRPC channel and close the client. + * Terminate the gRPC channel and close the client. * * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { this.initialize(); diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 7a7ba34b87c..30ee5a07d0b 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -3,23 +3,15 @@ { "git": { "name": ".", - "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "c64124339fbc2f5f1354148c77fba6d2f356208f" - } - }, - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "4c5071b615d96ef9dfd6a63d8429090f1f2872bb", - "internalRef": "327369997" + "remote": "git@github.com:googleapis/nodejs-vision.git", + "sha": "7c79c2dbbbf57ee51666d0200fae39cdfdd8c0a7" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "ba9918cd22874245b55734f57470c719b577e591" + "sha": "1f1148d3c7a7a52f0c98077f976bd9b3c948ee2b" } } ], @@ -123,6 +115,7 @@ "README.md", "api-extractor.json", "linkinator.config.json", + "package-lock.json.1696784860", "protos/google/cloud/vision/v1/geometry.proto", "protos/google/cloud/vision/v1/image_annotator.proto", "protos/google/cloud/vision/v1/product_search.proto", @@ -155,6 +148,7 @@ "protos/protos.json", "renovate.json", "samples/README.md", + "samples/package-lock.json.3159907851", "src/v1/image_annotator_client.ts", "src/v1/image_annotator_client_config.json", "src/v1/image_annotator_proto_list.json", diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts index b980f0dc451..c736d2c3a62 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts @@ -18,9 +18,21 @@ import {ImageAnnotatorClient, ProductSearchClient} from '@google-cloud/vision'; +// check that the client class type name can be used +function doStuffWithImageAnnotatorClient(client: ImageAnnotatorClient) { + client.close(); +} +function doStuffWithProductSearchClient(client: ProductSearchClient) { + client.close(); +} + function main() { - new ImageAnnotatorClient(); - new ProductSearchClient(); + // check that the client instance can be created + const imageAnnotatorClient = new ImageAnnotatorClient(); + doStuffWithImageAnnotatorClient(imageAnnotatorClient); + // check that the client instance can be created + const productSearchClient = new ProductSearchClient(); + doStuffWithProductSearchClient(productSearchClient); } main(); diff --git a/packages/google-cloud-vision/system-test/install.ts b/packages/google-cloud-vision/system-test/install.ts index 4c1ba3eb79a..39d90f771de 100644 --- a/packages/google-cloud-vision/system-test/install.ts +++ b/packages/google-cloud-vision/system-test/install.ts @@ -20,32 +20,32 @@ import {packNTest} from 'pack-n-play'; import {readFileSync} from 'fs'; import {describe, it} from 'mocha'; -describe('typescript consumer tests', () => { - it('should have correct type signature for typescript users', async function () { +describe('📦 pack-n-play test', () => { + it('TypeScript code', async function () { this.timeout(300000); const options = { - packageDir: process.cwd(), // path to your module. + packageDir: process.cwd(), sample: { - description: 'typescript based user can use the type definitions', + description: 'TypeScript user can use the type definitions', ts: readFileSync( './system-test/fixtures/sample/src/index.ts' ).toString(), }, }; - await packNTest(options); // will throw upon error. + await packNTest(options); }); - it('should have correct type signature for javascript users', async function () { + it('JavaScript code', async function () { this.timeout(300000); const options = { - packageDir: process.cwd(), // path to your module. + packageDir: process.cwd(), sample: { - description: 'typescript based user can use the type definitions', + description: 'JavaScript user can use the library', ts: readFileSync( './system-test/fixtures/sample/src/index.js' ).toString(), }, }; - await packNTest(options); // will throw upon error. + await packNTest(options); }); }); From ea3a767389c78d2a0299d0ec48cca9b49e6e26b4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 23 Nov 2020 12:25:17 -0800 Subject: [PATCH 466/588] fix(browser): check for fetch on window --- .../google-cloud-vision/protos/protos.json | 1022 +++++++++++++++-- .../src/v1/image_annotator_client.ts | 56 +- .../src/v1/product_search_client.ts | 222 ++-- .../src/v1p1beta1/image_annotator_client.ts | 26 +- .../src/v1p2beta1/image_annotator_client.ts | 36 +- .../src/v1p3beta1/image_annotator_client.ts | 36 +- .../src/v1p3beta1/product_search_client.ts | 212 ++-- .../src/v1p4beta1/image_annotator_client.ts | 56 +- .../src/v1p4beta1/product_search_client.ts | 222 ++-- packages/google-cloud-vision/synth.metadata | 14 +- 10 files changed, 1424 insertions(+), 478 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 263bc285fe4..34ff79477d8 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -85,7 +85,28 @@ "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/images:annotate", "(google.api.http).additional_bindings.body": "*", "(google.api.method_signature)": "requests" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/images:annotate", + "body": "*", + "additional_bindings": [ + { + "post": "/v1/{parent=projects/*/locations/*}/images:annotate", + "body": "*" + }, + { + "post": "/v1/{parent=projects/*}/images:annotate", + "body": "*" + } + ] + } + }, + { + "(google.api.method_signature)": "requests" + } + ] }, "BatchAnnotateFiles": { "requestType": "BatchAnnotateFilesRequest", @@ -96,7 +117,28 @@ "(google.api.http).additional_bindings.post": "/v1/{parent=projects/*}/files:annotate", "(google.api.http).additional_bindings.body": "*", "(google.api.method_signature)": "requests" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/files:annotate", + "body": "*", + "additional_bindings": [ + { + "post": "/v1/{parent=projects/*/locations/*}/files:annotate", + "body": "*" + }, + { + "post": "/v1/{parent=projects/*}/files:annotate", + "body": "*" + } + ] + } + }, + { + "(google.api.method_signature)": "requests" + } + ] }, "AsyncBatchAnnotateImages": { "requestType": "AsyncBatchAnnotateImagesRequest", @@ -109,7 +151,34 @@ "(google.api.method_signature)": "requests,output_config", "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateImagesResponse", "(google.longrunning.operation_info).metadata_type": "OperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/images:asyncBatchAnnotate", + "body": "*", + "additional_bindings": [ + { + "post": "/v1/{parent=projects/*/locations/*}/images:asyncBatchAnnotate", + "body": "*" + }, + { + "post": "/v1/{parent=projects/*}/images:asyncBatchAnnotate", + "body": "*" + } + ] + } + }, + { + "(google.api.method_signature)": "requests,output_config" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AsyncBatchAnnotateImagesResponse", + "metadata_type": "OperationMetadata" + } + } + ] }, "AsyncBatchAnnotateFiles": { "requestType": "AsyncBatchAnnotateFilesRequest", @@ -122,7 +191,34 @@ "(google.api.method_signature)": "requests", "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateFilesResponse", "(google.longrunning.operation_info).metadata_type": "OperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/files:asyncBatchAnnotate", + "body": "*", + "additional_bindings": [ + { + "post": "/v1/{parent=projects/*/locations/*}/files:asyncBatchAnnotate", + "body": "*" + }, + { + "post": "/v1/{parent=projects/*}/files:asyncBatchAnnotate", + "body": "*" + } + ] + } + }, + { + "(google.api.method_signature)": "requests" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AsyncBatchAnnotateFilesResponse", + "metadata_type": "OperationMetadata" + } + } + ] } } }, @@ -1023,7 +1119,18 @@ "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/productSets", "(google.api.http).body": "product_set", "(google.api.method_signature)": "parent,product_set,product_set_id" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=projects/*/locations/*}/productSets", + "body": "product_set" + } + }, + { + "(google.api.method_signature)": "parent,product_set,product_set_id" + } + ] }, "ListProductSets": { "requestType": "ListProductSetsRequest", @@ -1031,7 +1138,17 @@ "options": { "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/productSets", "(google.api.method_signature)": "parent" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=projects/*/locations/*}/productSets" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] }, "GetProductSet": { "requestType": "GetProductSetRequest", @@ -1039,7 +1156,17 @@ "options": { "(google.api.http).get": "/v1/{name=projects/*/locations/*/productSets/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=projects/*/locations/*/productSets/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "UpdateProductSet": { "requestType": "UpdateProductSetRequest", @@ -1048,7 +1175,18 @@ "(google.api.http).patch": "/v1/{product_set.name=projects/*/locations/*/productSets/*}", "(google.api.http).body": "product_set", "(google.api.method_signature)": "product_set,update_mask" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1/{product_set.name=projects/*/locations/*/productSets/*}", + "body": "product_set" + } + }, + { + "(google.api.method_signature)": "product_set,update_mask" + } + ] }, "DeleteProductSet": { "requestType": "DeleteProductSetRequest", @@ -1056,7 +1194,17 @@ "options": { "(google.api.http).delete": "/v1/{name=projects/*/locations/*/productSets/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=projects/*/locations/*/productSets/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "CreateProduct": { "requestType": "CreateProductRequest", @@ -1065,7 +1213,18 @@ "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/products", "(google.api.http).body": "product", "(google.api.method_signature)": "parent,product,product_id" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=projects/*/locations/*}/products", + "body": "product" + } + }, + { + "(google.api.method_signature)": "parent,product,product_id" + } + ] }, "ListProducts": { "requestType": "ListProductsRequest", @@ -1073,7 +1232,17 @@ "options": { "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/products", "(google.api.method_signature)": "parent" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=projects/*/locations/*}/products" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] }, "GetProduct": { "requestType": "GetProductRequest", @@ -1081,7 +1250,17 @@ "options": { "(google.api.http).get": "/v1/{name=projects/*/locations/*/products/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=projects/*/locations/*/products/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "UpdateProduct": { "requestType": "UpdateProductRequest", @@ -1090,7 +1269,18 @@ "(google.api.http).patch": "/v1/{product.name=projects/*/locations/*/products/*}", "(google.api.http).body": "product", "(google.api.method_signature)": "product,update_mask" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1/{product.name=projects/*/locations/*/products/*}", + "body": "product" + } + }, + { + "(google.api.method_signature)": "product,update_mask" + } + ] }, "DeleteProduct": { "requestType": "DeleteProductRequest", @@ -1098,7 +1288,17 @@ "options": { "(google.api.http).delete": "/v1/{name=projects/*/locations/*/products/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=projects/*/locations/*/products/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "CreateReferenceImage": { "requestType": "CreateReferenceImageRequest", @@ -1107,7 +1307,18 @@ "(google.api.http).post": "/v1/{parent=projects/*/locations/*/products/*}/referenceImages", "(google.api.http).body": "reference_image", "(google.api.method_signature)": "parent,reference_image,reference_image_id" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=projects/*/locations/*/products/*}/referenceImages", + "body": "reference_image" + } + }, + { + "(google.api.method_signature)": "parent,reference_image,reference_image_id" + } + ] }, "DeleteReferenceImage": { "requestType": "DeleteReferenceImageRequest", @@ -1115,7 +1326,17 @@ "options": { "(google.api.http).delete": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "ListReferenceImages": { "requestType": "ListReferenceImagesRequest", @@ -1123,7 +1344,17 @@ "options": { "(google.api.http).get": "/v1/{parent=projects/*/locations/*/products/*}/referenceImages", "(google.api.method_signature)": "parent" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=projects/*/locations/*/products/*}/referenceImages" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] }, "GetReferenceImage": { "requestType": "GetReferenceImageRequest", @@ -1131,7 +1362,17 @@ "options": { "(google.api.http).get": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "AddProductToProductSet": { "requestType": "AddProductToProductSetRequest", @@ -1140,7 +1381,18 @@ "(google.api.http).post": "/v1/{name=projects/*/locations/*/productSets/*}:addProduct", "(google.api.http).body": "*", "(google.api.method_signature)": "name,product" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=projects/*/locations/*/productSets/*}:addProduct", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name,product" + } + ] }, "RemoveProductFromProductSet": { "requestType": "RemoveProductFromProductSetRequest", @@ -1149,7 +1401,18 @@ "(google.api.http).post": "/v1/{name=projects/*/locations/*/productSets/*}:removeProduct", "(google.api.http).body": "*", "(google.api.method_signature)": "name,product" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=projects/*/locations/*/productSets/*}:removeProduct", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name,product" + } + ] }, "ListProductsInProductSet": { "requestType": "ListProductsInProductSetRequest", @@ -1157,7 +1420,17 @@ "options": { "(google.api.http).get": "/v1/{name=projects/*/locations/*/productSets/*}/products", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=projects/*/locations/*/productSets/*}/products" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "ImportProductSets": { "requestType": "ImportProductSetsRequest", @@ -1168,7 +1441,24 @@ "(google.api.method_signature)": "parent,input_config", "(google.longrunning.operation_info).response_type": "ImportProductSetsResponse", "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=projects/*/locations/*}/productSets:import", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent,input_config" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "ImportProductSetsResponse", + "metadata_type": "BatchOperationMetadata" + } + } + ] }, "PurgeProducts": { "requestType": "PurgeProductsRequest", @@ -1179,7 +1469,24 @@ "(google.api.method_signature)": "parent", "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=projects/*/locations/*}/products:purge", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "BatchOperationMetadata" + } + } + ] } } }, @@ -2107,7 +2414,18 @@ "(google.api.http).post": "/v1p1beta1/images:annotate", "(google.api.http).body": "*", "(google.api.method_signature)": "requests" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p1beta1/images:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "requests" + } + ] } } }, @@ -2955,7 +3273,18 @@ "(google.api.http).post": "/v1p2beta1/images:annotate", "(google.api.http).body": "*", "(google.api.method_signature)": "requests" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p2beta1/images:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "requests" + } + ] }, "AsyncBatchAnnotateFiles": { "requestType": "AsyncBatchAnnotateFilesRequest", @@ -2966,7 +3295,24 @@ "(google.api.method_signature)": "requests", "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateFilesResponse", "(google.longrunning.operation_info).metadata_type": "OperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p2beta1/files:asyncBatchAnnotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "requests" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AsyncBatchAnnotateFilesResponse", + "metadata_type": "OperationMetadata" + } + } + ] } } }, @@ -3969,7 +4315,18 @@ "(google.api.http).post": "/v1p3beta1/images:annotate", "(google.api.http).body": "*", "(google.api.method_signature)": "requests" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p3beta1/images:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "requests" + } + ] }, "AsyncBatchAnnotateFiles": { "requestType": "AsyncBatchAnnotateFilesRequest", @@ -3980,7 +4337,24 @@ "(google.api.method_signature)": "requests", "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateFilesResponse", "(google.longrunning.operation_info).metadata_type": "OperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p3beta1/files:asyncBatchAnnotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "requests" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AsyncBatchAnnotateFilesResponse", + "metadata_type": "OperationMetadata" + } + } + ] } } }, @@ -4772,7 +5146,18 @@ "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*}/productSets", "(google.api.http).body": "product_set", "(google.api.method_signature)": "parent,product_set,product_set_id" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p3beta1/{parent=projects/*/locations/*}/productSets", + "body": "product_set" + } + }, + { + "(google.api.method_signature)": "parent,product_set,product_set_id" + } + ] }, "ListProductSets": { "requestType": "ListProductSetsRequest", @@ -4780,7 +5165,17 @@ "options": { "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*}/productSets", "(google.api.method_signature)": "parent" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p3beta1/{parent=projects/*/locations/*}/productSets" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] }, "GetProductSet": { "requestType": "GetProductSetRequest", @@ -4788,7 +5183,17 @@ "options": { "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "UpdateProductSet": { "requestType": "UpdateProductSetRequest", @@ -4797,7 +5202,18 @@ "(google.api.http).patch": "/v1p3beta1/{product_set.name=projects/*/locations/*/productSets/*}", "(google.api.http).body": "product_set", "(google.api.method_signature)": "product_set,update_mask" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1p3beta1/{product_set.name=projects/*/locations/*/productSets/*}", + "body": "product_set" + } + }, + { + "(google.api.method_signature)": "product_set,update_mask" + } + ] }, "DeleteProductSet": { "requestType": "DeleteProductSetRequest", @@ -4805,7 +5221,17 @@ "options": { "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "CreateProduct": { "requestType": "CreateProductRequest", @@ -4814,7 +5240,18 @@ "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*}/products", "(google.api.http).body": "product", "(google.api.method_signature)": "parent,product,product_id" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p3beta1/{parent=projects/*/locations/*}/products", + "body": "product" + } + }, + { + "(google.api.method_signature)": "parent,product,product_id" + } + ] }, "ListProducts": { "requestType": "ListProductsRequest", @@ -4822,7 +5259,17 @@ "options": { "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*}/products", "(google.api.method_signature)": "parent" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p3beta1/{parent=projects/*/locations/*}/products" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] }, "GetProduct": { "requestType": "GetProductRequest", @@ -4830,7 +5277,17 @@ "options": { "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/products/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p3beta1/{name=projects/*/locations/*/products/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "UpdateProduct": { "requestType": "UpdateProductRequest", @@ -4839,7 +5296,18 @@ "(google.api.http).patch": "/v1p3beta1/{product.name=projects/*/locations/*/products/*}", "(google.api.http).body": "product", "(google.api.method_signature)": "product,update_mask" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1p3beta1/{product.name=projects/*/locations/*/products/*}", + "body": "product" + } + }, + { + "(google.api.method_signature)": "product,update_mask" + } + ] }, "DeleteProduct": { "requestType": "DeleteProductRequest", @@ -4847,7 +5315,17 @@ "options": { "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/products/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1p3beta1/{name=projects/*/locations/*/products/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "CreateReferenceImage": { "requestType": "CreateReferenceImageRequest", @@ -4856,7 +5334,18 @@ "(google.api.http).post": "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages", "(google.api.http).body": "reference_image", "(google.api.method_signature)": "parent,reference_image,reference_image_id" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages", + "body": "reference_image" + } + }, + { + "(google.api.method_signature)": "parent,reference_image,reference_image_id" + } + ] }, "DeleteReferenceImage": { "requestType": "DeleteReferenceImageRequest", @@ -4864,7 +5353,17 @@ "options": { "(google.api.http).delete": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "ListReferenceImages": { "requestType": "ListReferenceImagesRequest", @@ -4872,7 +5371,17 @@ "options": { "(google.api.http).get": "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages", "(google.api.method_signature)": "parent" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p3beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] }, "GetReferenceImage": { "requestType": "GetReferenceImageRequest", @@ -4880,7 +5389,17 @@ "options": { "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p3beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "AddProductToProductSet": { "requestType": "AddProductToProductSetRequest", @@ -4889,7 +5408,18 @@ "(google.api.http).post": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:addProduct", "(google.api.http).body": "*", "(google.api.method_signature)": "name,product" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:addProduct", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name,product" + } + ] }, "RemoveProductFromProductSet": { "requestType": "RemoveProductFromProductSetRequest", @@ -4898,7 +5428,18 @@ "(google.api.http).post": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", "(google.api.http).body": "*", "(google.api.method_signature)": "name,product" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name,product" + } + ] }, "ListProductsInProductSet": { "requestType": "ListProductsInProductSetRequest", @@ -4906,7 +5447,17 @@ "options": { "(google.api.http).get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}/products", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p3beta1/{name=projects/*/locations/*/productSets/*}/products" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "ImportProductSets": { "requestType": "ImportProductSetsRequest", @@ -4917,7 +5468,24 @@ "(google.api.method_signature)": "parent,input_config", "(google.longrunning.operation_info).response_type": "ImportProductSetsResponse", "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p3beta1/{parent=projects/*/locations/*}/productSets:import", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent,input_config" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "ImportProductSetsResponse", + "metadata_type": "BatchOperationMetadata" + } + } + ] } } }, @@ -5860,7 +6428,18 @@ "(google.api.http).post": "/v1p4beta1/images:annotate", "(google.api.http).body": "*", "(google.api.method_signature)": "requests" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/images:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "requests" + } + ] }, "BatchAnnotateFiles": { "requestType": "BatchAnnotateFilesRequest", @@ -5869,7 +6448,18 @@ "(google.api.http).post": "/v1p4beta1/files:annotate", "(google.api.http).body": "*", "(google.api.method_signature)": "requests" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/files:annotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "requests" + } + ] }, "AsyncBatchAnnotateImages": { "requestType": "AsyncBatchAnnotateImagesRequest", @@ -5880,7 +6470,24 @@ "(google.api.method_signature)": "requests,output_config", "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateImagesResponse", "(google.longrunning.operation_info).metadata_type": "OperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/images:asyncBatchAnnotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "requests,output_config" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AsyncBatchAnnotateImagesResponse", + "metadata_type": "OperationMetadata" + } + } + ] }, "AsyncBatchAnnotateFiles": { "requestType": "AsyncBatchAnnotateFilesRequest", @@ -5891,7 +6498,24 @@ "(google.api.method_signature)": "requests", "(google.longrunning.operation_info).response_type": "AsyncBatchAnnotateFilesResponse", "(google.longrunning.operation_info).metadata_type": "OperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/files:asyncBatchAnnotate", + "body": "*" + } + }, + { + "(google.api.method_signature)": "requests" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "AsyncBatchAnnotateFilesResponse", + "metadata_type": "OperationMetadata" + } + } + ] } } }, @@ -6761,7 +7385,18 @@ "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets", "(google.api.http).body": "product_set", "(google.api.method_signature)": "parent,product_set,product_set_id" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets", + "body": "product_set" + } + }, + { + "(google.api.method_signature)": "parent,product_set,product_set_id" + } + ] }, "ListProductSets": { "requestType": "ListProductSetsRequest", @@ -6769,7 +7404,17 @@ "options": { "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/productSets", "(google.api.method_signature)": "parent" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p4beta1/{parent=projects/*/locations/*}/productSets" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] }, "GetProductSet": { "requestType": "GetProductSetRequest", @@ -6777,7 +7422,17 @@ "options": { "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "UpdateProductSet": { "requestType": "UpdateProductSetRequest", @@ -6786,7 +7441,18 @@ "(google.api.http).patch": "/v1p4beta1/{product_set.name=projects/*/locations/*/productSets/*}", "(google.api.http).body": "product_set", "(google.api.method_signature)": "product_set,update_mask" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1p4beta1/{product_set.name=projects/*/locations/*/productSets/*}", + "body": "product_set" + } + }, + { + "(google.api.method_signature)": "product_set,update_mask" + } + ] }, "DeleteProductSet": { "requestType": "DeleteProductSetRequest", @@ -6794,7 +7460,17 @@ "options": { "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "CreateProduct": { "requestType": "CreateProductRequest", @@ -6803,7 +7479,18 @@ "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*}/products", "(google.api.http).body": "product", "(google.api.method_signature)": "parent,product,product_id" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/{parent=projects/*/locations/*}/products", + "body": "product" + } + }, + { + "(google.api.method_signature)": "parent,product,product_id" + } + ] }, "ListProducts": { "requestType": "ListProductsRequest", @@ -6811,7 +7498,17 @@ "options": { "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*}/products", "(google.api.method_signature)": "parent" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p4beta1/{parent=projects/*/locations/*}/products" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] }, "GetProduct": { "requestType": "GetProductRequest", @@ -6819,7 +7516,17 @@ "options": { "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p4beta1/{name=projects/*/locations/*/products/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "UpdateProduct": { "requestType": "UpdateProductRequest", @@ -6828,7 +7535,18 @@ "(google.api.http).patch": "/v1p4beta1/{product.name=projects/*/locations/*/products/*}", "(google.api.http).body": "product", "(google.api.method_signature)": "product,update_mask" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1p4beta1/{product.name=projects/*/locations/*/products/*}", + "body": "product" + } + }, + { + "(google.api.method_signature)": "product,update_mask" + } + ] }, "DeleteProduct": { "requestType": "DeleteProductRequest", @@ -6836,7 +7554,17 @@ "options": { "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1p4beta1/{name=projects/*/locations/*/products/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "CreateReferenceImage": { "requestType": "CreateReferenceImageRequest", @@ -6845,7 +7573,18 @@ "(google.api.http).post": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages", "(google.api.http).body": "reference_image", "(google.api.method_signature)": "parent,reference_image,reference_image_id" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages", + "body": "reference_image" + } + }, + { + "(google.api.method_signature)": "parent,reference_image,reference_image_id" + } + ] }, "DeleteReferenceImage": { "requestType": "DeleteReferenceImageRequest", @@ -6853,7 +7592,17 @@ "options": { "(google.api.http).delete": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "ListReferenceImages": { "requestType": "ListReferenceImagesRequest", @@ -6861,7 +7610,17 @@ "options": { "(google.api.http).get": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages", "(google.api.method_signature)": "parent" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p4beta1/{parent=projects/*/locations/*/products/*}/referenceImages" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] }, "GetReferenceImage": { "requestType": "GetReferenceImageRequest", @@ -6869,7 +7628,17 @@ "options": { "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p4beta1/{name=projects/*/locations/*/products/*/referenceImages/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "AddProductToProductSet": { "requestType": "AddProductToProductSetRequest", @@ -6878,7 +7647,18 @@ "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:addProduct", "(google.api.http).body": "*", "(google.api.method_signature)": "name,product" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:addProduct", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name,product" + } + ] }, "RemoveProductFromProductSet": { "requestType": "RemoveProductFromProductSetRequest", @@ -6887,7 +7667,18 @@ "(google.api.http).post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", "(google.api.http).body": "*", "(google.api.method_signature)": "name,product" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}:removeProduct", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name,product" + } + ] }, "ListProductsInProductSet": { "requestType": "ListProductsInProductSetRequest", @@ -6895,7 +7686,17 @@ "options": { "(google.api.http).get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1p4beta1/{name=projects/*/locations/*/productSets/*}/products" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "ImportProductSets": { "requestType": "ImportProductSetsRequest", @@ -6906,7 +7707,24 @@ "(google.api.method_signature)": "parent,input_config", "(google.longrunning.operation_info).response_type": "ImportProductSetsResponse", "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/{parent=projects/*/locations/*}/productSets:import", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent,input_config" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "ImportProductSetsResponse", + "metadata_type": "BatchOperationMetadata" + } + } + ] }, "PurgeProducts": { "requestType": "PurgeProductsRequest", @@ -6917,7 +7735,24 @@ "(google.api.method_signature)": "parent", "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", "(google.longrunning.operation_info).metadata_type": "BatchOperationMetadata" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1p4beta1/{parent=projects/*/locations/*}/products:purge", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "BatchOperationMetadata" + } + } + ] } } }, @@ -9031,7 +9866,17 @@ "options": { "(google.api.http).get": "/v1/{name=operations}", "(google.api.method_signature)": "name,filter" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=operations}" + } + }, + { + "(google.api.method_signature)": "name,filter" + } + ] }, "GetOperation": { "requestType": "GetOperationRequest", @@ -9039,7 +9884,17 @@ "options": { "(google.api.http).get": "/v1/{name=operations/**}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=operations/**}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "DeleteOperation": { "requestType": "DeleteOperationRequest", @@ -9047,7 +9902,17 @@ "options": { "(google.api.http).delete": "/v1/{name=operations/**}", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=operations/**}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "CancelOperation": { "requestType": "CancelOperationRequest", @@ -9056,7 +9921,18 @@ "(google.api.http).post": "/v1/{name=operations/**}:cancel", "(google.api.http).body": "*", "(google.api.method_signature)": "name" - } + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=operations/**}:cancel", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name" + } + ] }, "WaitOperation": { "requestType": "WaitOperationRequest", diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 8a9a33813b0..4b00ee56b8e 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -16,6 +16,7 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** +/* global window */ import * as gax from 'google-gax'; import { Callback, @@ -27,6 +28,11 @@ import { import * as path from 'path'; import * as protos from '../../protos/protos'; +/** + * Client JSON configuration object, loaded from + * `src/v1/image_annotator_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './image_annotator_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -83,9 +89,9 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. - * TODO(@alexander-fenster): link to gax documentation. - * @param {boolean} fallback - Use HTTP fallback mode. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. * In fallback mode, a special browser-compatible transport implementation is used * instead of gRPC transport. In browser context (if the `window` object is defined) * the fallback mode is enabled automatically; set `options.fallback` to `false` @@ -98,7 +104,9 @@ export class ImageAnnotatorClient { opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? typeof window !== 'undefined'; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. @@ -355,7 +363,7 @@ export class ImageAnnotatorClient { // ------------------- batchAnnotateImages( request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse, @@ -365,7 +373,7 @@ export class ImageAnnotatorClient { >; batchAnnotateImages( request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest @@ -417,7 +425,7 @@ export class ImageAnnotatorClient { batchAnnotateImages( request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest @@ -440,12 +448,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -460,7 +468,7 @@ export class ImageAnnotatorClient { } batchAnnotateFiles( request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, @@ -470,7 +478,7 @@ export class ImageAnnotatorClient { >; batchAnnotateFiles( request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest @@ -529,7 +537,7 @@ export class ImageAnnotatorClient { batchAnnotateFiles( request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest @@ -552,12 +560,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -573,7 +581,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateImages( request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -586,7 +594,7 @@ export class ImageAnnotatorClient { >; asyncBatchAnnotateImages( request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, @@ -653,7 +661,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateImages( request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, @@ -681,12 +689,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -742,7 +750,7 @@ export class ImageAnnotatorClient { } asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -755,7 +763,7 @@ export class ImageAnnotatorClient { >; asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, @@ -817,7 +825,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesResponse, @@ -845,12 +853,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 929c5405e46..bad91fda947 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -16,6 +16,7 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** +/* global window */ import * as gax from 'google-gax'; import { Callback, @@ -31,6 +32,11 @@ import * as path from 'path'; import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; +/** + * Client JSON configuration object, loaded from + * `src/v1/product_search_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './product_search_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -98,9 +104,9 @@ export class ProductSearchClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. - * TODO(@alexander-fenster): link to gax documentation. - * @param {boolean} fallback - Use HTTP fallback mode. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. * In fallback mode, a special browser-compatible transport implementation is used * instead of gRPC transport. In browser context (if the `window` object is defined) * the fallback mode is enabled automatically; set `options.fallback` to `false` @@ -113,7 +119,9 @@ export class ProductSearchClient { opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? typeof window !== 'undefined'; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. @@ -409,7 +417,7 @@ export class ProductSearchClient { // ------------------- createProductSet( request: protos.google.cloud.vision.v1.ICreateProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IProductSet, @@ -419,7 +427,7 @@ export class ProductSearchClient { >; createProductSet( request: protos.google.cloud.vision.v1.ICreateProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IProductSet, protos.google.cloud.vision.v1.ICreateProductSetRequest | null | undefined, @@ -468,7 +476,7 @@ export class ProductSearchClient { createProductSet( request: protos.google.cloud.vision.v1.ICreateProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IProductSet, | protos.google.cloud.vision.v1.ICreateProductSetRequest @@ -489,12 +497,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -509,7 +517,7 @@ export class ProductSearchClient { } getProductSet( request: protos.google.cloud.vision.v1.IGetProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IProductSet, @@ -519,7 +527,7 @@ export class ProductSearchClient { >; getProductSet( request: protos.google.cloud.vision.v1.IGetProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IProductSet, protos.google.cloud.vision.v1.IGetProductSetRequest | null | undefined, @@ -561,7 +569,7 @@ export class ProductSearchClient { getProductSet( request: protos.google.cloud.vision.v1.IGetProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IProductSet, | protos.google.cloud.vision.v1.IGetProductSetRequest @@ -582,12 +590,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -602,7 +610,7 @@ export class ProductSearchClient { } updateProductSet( request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IProductSet, @@ -612,7 +620,7 @@ export class ProductSearchClient { >; updateProductSet( request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IProductSet, protos.google.cloud.vision.v1.IUpdateProductSetRequest | null | undefined, @@ -659,7 +667,7 @@ export class ProductSearchClient { updateProductSet( request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IProductSet, | protos.google.cloud.vision.v1.IUpdateProductSetRequest @@ -680,12 +688,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -700,7 +708,7 @@ export class ProductSearchClient { } deleteProductSet( request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -710,7 +718,7 @@ export class ProductSearchClient { >; deleteProductSet( request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, protos.google.cloud.vision.v1.IDeleteProductSetRequest | null | undefined, @@ -751,7 +759,7 @@ export class ProductSearchClient { deleteProductSet( request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1.IDeleteProductSetRequest @@ -772,12 +780,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -792,7 +800,7 @@ export class ProductSearchClient { } createProduct( request: protos.google.cloud.vision.v1.ICreateProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IProduct, @@ -802,7 +810,7 @@ export class ProductSearchClient { >; createProduct( request: protos.google.cloud.vision.v1.ICreateProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IProduct, protos.google.cloud.vision.v1.ICreateProductRequest | null | undefined, @@ -854,7 +862,7 @@ export class ProductSearchClient { createProduct( request: protos.google.cloud.vision.v1.ICreateProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IProduct, | protos.google.cloud.vision.v1.ICreateProductRequest @@ -875,12 +883,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -895,7 +903,7 @@ export class ProductSearchClient { } getProduct( request: protos.google.cloud.vision.v1.IGetProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IProduct, @@ -905,7 +913,7 @@ export class ProductSearchClient { >; getProduct( request: protos.google.cloud.vision.v1.IGetProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IProduct, protos.google.cloud.vision.v1.IGetProductRequest | null | undefined, @@ -947,7 +955,7 @@ export class ProductSearchClient { getProduct( request: protos.google.cloud.vision.v1.IGetProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IProduct, protos.google.cloud.vision.v1.IGetProductRequest | null | undefined, @@ -966,12 +974,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -986,7 +994,7 @@ export class ProductSearchClient { } updateProduct( request: protos.google.cloud.vision.v1.IUpdateProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IProduct, @@ -996,7 +1004,7 @@ export class ProductSearchClient { >; updateProduct( request: protos.google.cloud.vision.v1.IUpdateProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IProduct, protos.google.cloud.vision.v1.IUpdateProductRequest | null | undefined, @@ -1052,7 +1060,7 @@ export class ProductSearchClient { updateProduct( request: protos.google.cloud.vision.v1.IUpdateProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IProduct, | protos.google.cloud.vision.v1.IUpdateProductRequest @@ -1073,12 +1081,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1093,7 +1101,7 @@ export class ProductSearchClient { } deleteProduct( request: protos.google.cloud.vision.v1.IDeleteProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1103,7 +1111,7 @@ export class ProductSearchClient { >; deleteProduct( request: protos.google.cloud.vision.v1.IDeleteProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, protos.google.cloud.vision.v1.IDeleteProductRequest | null | undefined, @@ -1145,7 +1153,7 @@ export class ProductSearchClient { deleteProduct( request: protos.google.cloud.vision.v1.IDeleteProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1.IDeleteProductRequest @@ -1166,12 +1174,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1186,7 +1194,7 @@ export class ProductSearchClient { } createReferenceImage( request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IReferenceImage, @@ -1196,7 +1204,7 @@ export class ProductSearchClient { >; createReferenceImage( request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IReferenceImage, | protos.google.cloud.vision.v1.ICreateReferenceImageRequest @@ -1264,7 +1272,7 @@ export class ProductSearchClient { createReferenceImage( request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IReferenceImage, | protos.google.cloud.vision.v1.ICreateReferenceImageRequest @@ -1287,12 +1295,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1307,7 +1315,7 @@ export class ProductSearchClient { } deleteReferenceImage( request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1317,7 +1325,7 @@ export class ProductSearchClient { >; deleteReferenceImage( request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1.IDeleteReferenceImageRequest @@ -1366,7 +1374,7 @@ export class ProductSearchClient { deleteReferenceImage( request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1.IDeleteReferenceImageRequest @@ -1389,12 +1397,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1409,7 +1417,7 @@ export class ProductSearchClient { } getReferenceImage( request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IReferenceImage, @@ -1419,7 +1427,7 @@ export class ProductSearchClient { >; getReferenceImage( request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1.IReferenceImage, | protos.google.cloud.vision.v1.IGetReferenceImageRequest @@ -1466,7 +1474,7 @@ export class ProductSearchClient { getReferenceImage( request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1.IReferenceImage, | protos.google.cloud.vision.v1.IGetReferenceImageRequest @@ -1489,12 +1497,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1509,7 +1517,7 @@ export class ProductSearchClient { } addProductToProductSet( request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1519,7 +1527,7 @@ export class ProductSearchClient { >; addProductToProductSet( request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1.IAddProductToProductSetRequest @@ -1573,7 +1581,7 @@ export class ProductSearchClient { addProductToProductSet( request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1.IAddProductToProductSetRequest @@ -1596,12 +1604,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1620,7 +1628,7 @@ export class ProductSearchClient { } removeProductFromProductSet( request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1633,7 +1641,7 @@ export class ProductSearchClient { >; removeProductFromProductSet( request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest @@ -1680,7 +1688,7 @@ export class ProductSearchClient { removeProductFromProductSet( request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest @@ -1706,12 +1714,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1731,7 +1739,7 @@ export class ProductSearchClient { importProductSets( request: protos.google.cloud.vision.v1.IImportProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -1744,7 +1752,7 @@ export class ProductSearchClient { >; importProductSets( request: protos.google.cloud.vision.v1.IImportProductSetsRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.vision.v1.IImportProductSetsResponse, @@ -1802,7 +1810,7 @@ export class ProductSearchClient { importProductSets( request: protos.google.cloud.vision.v1.IImportProductSetsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.vision.v1.IImportProductSetsResponse, @@ -1830,12 +1838,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1887,7 +1895,7 @@ export class ProductSearchClient { } purgeProducts( request: protos.google.cloud.vision.v1.IPurgeProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -1900,7 +1908,7 @@ export class ProductSearchClient { >; purgeProducts( request: protos.google.cloud.vision.v1.IPurgeProductsRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.protobuf.IEmpty, @@ -1977,7 +1985,7 @@ export class ProductSearchClient { purgeProducts( request: protos.google.cloud.vision.v1.IPurgeProductsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.protobuf.IEmpty, @@ -2005,12 +2013,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2062,7 +2070,7 @@ export class ProductSearchClient { } listProductSets( request: protos.google.cloud.vision.v1.IListProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IProductSet[], @@ -2072,7 +2080,7 @@ export class ProductSearchClient { >; listProductSets( request: protos.google.cloud.vision.v1.IListProductSetsRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1.IListProductSetsRequest, protos.google.cloud.vision.v1.IListProductSetsResponse | null | undefined, @@ -2121,7 +2129,7 @@ export class ProductSearchClient { listProductSets( request: protos.google.cloud.vision.v1.IListProductSetsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1.IListProductSetsRequest, | protos.google.cloud.vision.v1.IListProductSetsResponse @@ -2142,12 +2150,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2187,7 +2195,7 @@ export class ProductSearchClient { */ listProductSetsStream( request?: protos.google.cloud.vision.v1.IListProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2239,7 +2247,7 @@ export class ProductSearchClient { */ listProductSetsAsync( request?: protos.google.cloud.vision.v1.IListProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; @@ -2261,7 +2269,7 @@ export class ProductSearchClient { } listProducts( request: protos.google.cloud.vision.v1.IListProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IProduct[], @@ -2271,7 +2279,7 @@ export class ProductSearchClient { >; listProducts( request: protos.google.cloud.vision.v1.IListProductsRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1.IListProductsRequest, protos.google.cloud.vision.v1.IListProductsResponse | null | undefined, @@ -2320,7 +2328,7 @@ export class ProductSearchClient { listProducts( request: protos.google.cloud.vision.v1.IListProductsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1.IListProductsRequest, | protos.google.cloud.vision.v1.IListProductsResponse @@ -2341,12 +2349,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2387,7 +2395,7 @@ export class ProductSearchClient { */ listProductsStream( request?: protos.google.cloud.vision.v1.IListProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2440,7 +2448,7 @@ export class ProductSearchClient { */ listProductsAsync( request?: protos.google.cloud.vision.v1.IListProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; @@ -2462,7 +2470,7 @@ export class ProductSearchClient { } listReferenceImages( request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IReferenceImage[], @@ -2472,7 +2480,7 @@ export class ProductSearchClient { >; listReferenceImages( request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1.IListReferenceImagesRequest, | protos.google.cloud.vision.v1.IListReferenceImagesResponse @@ -2530,7 +2538,7 @@ export class ProductSearchClient { listReferenceImages( request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1.IListReferenceImagesRequest, | protos.google.cloud.vision.v1.IListReferenceImagesResponse @@ -2553,12 +2561,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2602,7 +2610,7 @@ export class ProductSearchClient { */ listReferenceImagesStream( request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2658,7 +2666,7 @@ export class ProductSearchClient { */ listReferenceImagesAsync( request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; @@ -2680,7 +2688,7 @@ export class ProductSearchClient { } listProductsInProductSet( request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1.IProduct[], @@ -2690,7 +2698,7 @@ export class ProductSearchClient { >; listProductsInProductSet( request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1.IListProductsInProductSetRequest, | protos.google.cloud.vision.v1.IListProductsInProductSetResponse @@ -2745,7 +2753,7 @@ export class ProductSearchClient { listProductsInProductSet( request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1.IListProductsInProductSetRequest, | protos.google.cloud.vision.v1.IListProductsInProductSetResponse @@ -2768,12 +2776,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2818,7 +2826,7 @@ export class ProductSearchClient { */ listProductsInProductSetStream( request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2871,7 +2879,7 @@ export class ProductSearchClient { */ listProductsInProductSetAsync( request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index bc601f0c375..4ba7139e8e5 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -16,11 +16,17 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** +/* global window */ import * as gax from 'google-gax'; import {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax'; import * as path from 'path'; import * as protos from '../../protos/protos'; +/** + * Client JSON configuration object, loaded from + * `src/v1p1beta1/image_annotator_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './image_annotator_client_config.json'; const version = require('../../../package.json').version; @@ -75,9 +81,9 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. - * TODO(@alexander-fenster): link to gax documentation. - * @param {boolean} fallback - Use HTTP fallback mode. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. * In fallback mode, a special browser-compatible transport implementation is used * instead of gRPC transport. In browser context (if the `window` object is defined) * the fallback mode is enabled automatically; set `options.fallback` to `false` @@ -90,7 +96,9 @@ export class ImageAnnotatorClient { opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? typeof window !== 'undefined'; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. @@ -277,7 +285,7 @@ export class ImageAnnotatorClient { // ------------------- batchAnnotateImages( request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, @@ -290,7 +298,7 @@ export class ImageAnnotatorClient { >; batchAnnotateImages( request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest @@ -329,7 +337,7 @@ export class ImageAnnotatorClient { batchAnnotateImages( request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest @@ -355,12 +363,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 01124686ae2..cbb3a2f9dc2 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -16,6 +16,7 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** +/* global window */ import * as gax from 'google-gax'; import { Callback, @@ -27,6 +28,11 @@ import { import * as path from 'path'; import * as protos from '../../protos/protos'; +/** + * Client JSON configuration object, loaded from + * `src/v1p2beta1/image_annotator_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './image_annotator_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -82,9 +88,9 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. - * TODO(@alexander-fenster): link to gax documentation. - * @param {boolean} fallback - Use HTTP fallback mode. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. * In fallback mode, a special browser-compatible transport implementation is used * instead of gRPC transport. In browser context (if the `window` object is defined) * the fallback mode is enabled automatically; set `options.fallback` to `false` @@ -97,7 +103,9 @@ export class ImageAnnotatorClient { opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? typeof window !== 'undefined'; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. @@ -322,7 +330,7 @@ export class ImageAnnotatorClient { // ------------------- batchAnnotateImages( request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, @@ -335,7 +343,7 @@ export class ImageAnnotatorClient { >; batchAnnotateImages( request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest @@ -374,7 +382,7 @@ export class ImageAnnotatorClient { batchAnnotateImages( request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest @@ -400,12 +408,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; this.initialize(); @@ -414,7 +422,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -427,7 +435,7 @@ export class ImageAnnotatorClient { >; asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, @@ -476,7 +484,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesResponse, @@ -504,12 +512,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 06062bdf282..46da89f6d7d 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -16,6 +16,7 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** +/* global window */ import * as gax from 'google-gax'; import { Callback, @@ -27,6 +28,11 @@ import { import * as path from 'path'; import * as protos from '../../protos/protos'; +/** + * Client JSON configuration object, loaded from + * `src/v1p3beta1/image_annotator_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './image_annotator_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -83,9 +89,9 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. - * TODO(@alexander-fenster): link to gax documentation. - * @param {boolean} fallback - Use HTTP fallback mode. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. * In fallback mode, a special browser-compatible transport implementation is used * instead of gRPC transport. In browser context (if the `window` object is defined) * the fallback mode is enabled automatically; set `options.fallback` to `false` @@ -98,7 +104,9 @@ export class ImageAnnotatorClient { opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? typeof window !== 'undefined'; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. @@ -338,7 +346,7 @@ export class ImageAnnotatorClient { // ------------------- batchAnnotateImages( request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, @@ -351,7 +359,7 @@ export class ImageAnnotatorClient { >; batchAnnotateImages( request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest @@ -390,7 +398,7 @@ export class ImageAnnotatorClient { batchAnnotateImages( request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest @@ -416,12 +424,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; this.initialize(); @@ -430,7 +438,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -443,7 +451,7 @@ export class ImageAnnotatorClient { >; asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, @@ -492,7 +500,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesResponse, @@ -520,12 +528,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 545fb8f9747..90cc870f89f 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -16,6 +16,7 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** +/* global window */ import * as gax from 'google-gax'; import { Callback, @@ -31,6 +32,11 @@ import * as path from 'path'; import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; +/** + * Client JSON configuration object, loaded from + * `src/v1p3beta1/product_search_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './product_search_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -98,9 +104,9 @@ export class ProductSearchClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. - * TODO(@alexander-fenster): link to gax documentation. - * @param {boolean} fallback - Use HTTP fallback mode. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. * In fallback mode, a special browser-compatible transport implementation is used * instead of gRPC transport. In browser context (if the `window` object is defined) * the fallback mode is enabled automatically; set `options.fallback` to `false` @@ -113,7 +119,9 @@ export class ProductSearchClient { opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? typeof window !== 'undefined'; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. @@ -397,7 +405,7 @@ export class ProductSearchClient { // ------------------- createProductSet( request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IProductSet, @@ -407,7 +415,7 @@ export class ProductSearchClient { >; createProductSet( request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p3beta1.IProductSet, | protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest @@ -460,7 +468,7 @@ export class ProductSearchClient { createProductSet( request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p3beta1.IProductSet, | protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest @@ -483,12 +491,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -503,7 +511,7 @@ export class ProductSearchClient { } getProductSet( request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IProductSet, @@ -513,7 +521,7 @@ export class ProductSearchClient { >; getProductSet( request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p3beta1.IProductSet, | protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest @@ -559,7 +567,7 @@ export class ProductSearchClient { getProductSet( request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p3beta1.IProductSet, | protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest @@ -582,12 +590,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -602,7 +610,7 @@ export class ProductSearchClient { } updateProductSet( request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IProductSet, @@ -612,7 +620,7 @@ export class ProductSearchClient { >; updateProductSet( request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p3beta1.IProductSet, | protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest @@ -663,7 +671,7 @@ export class ProductSearchClient { updateProductSet( request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p3beta1.IProductSet, | protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest @@ -686,12 +694,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -706,7 +714,7 @@ export class ProductSearchClient { } deleteProductSet( request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -716,7 +724,7 @@ export class ProductSearchClient { >; deleteProductSet( request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest @@ -765,7 +773,7 @@ export class ProductSearchClient { deleteProductSet( request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest @@ -788,12 +796,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -808,7 +816,7 @@ export class ProductSearchClient { } createProduct( request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IProduct, @@ -818,7 +826,7 @@ export class ProductSearchClient { >; createProduct( request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p3beta1.IProduct, | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest @@ -874,7 +882,7 @@ export class ProductSearchClient { createProduct( request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p3beta1.IProduct, | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest @@ -897,12 +905,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -917,7 +925,7 @@ export class ProductSearchClient { } getProduct( request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IProduct, @@ -927,7 +935,7 @@ export class ProductSearchClient { >; getProduct( request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p3beta1.IProduct, | protos.google.cloud.vision.v1p3beta1.IGetProductRequest @@ -973,7 +981,7 @@ export class ProductSearchClient { getProduct( request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p3beta1.IProduct, | protos.google.cloud.vision.v1p3beta1.IGetProductRequest @@ -996,12 +1004,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1016,7 +1024,7 @@ export class ProductSearchClient { } updateProduct( request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IProduct, @@ -1026,7 +1034,7 @@ export class ProductSearchClient { >; updateProduct( request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p3beta1.IProduct, | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest @@ -1085,7 +1093,7 @@ export class ProductSearchClient { updateProduct( request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p3beta1.IProduct, | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest @@ -1108,12 +1116,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1128,7 +1136,7 @@ export class ProductSearchClient { } deleteProduct( request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1138,7 +1146,7 @@ export class ProductSearchClient { >; deleteProduct( request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest @@ -1188,7 +1196,7 @@ export class ProductSearchClient { deleteProduct( request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest @@ -1211,12 +1219,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1231,7 +1239,7 @@ export class ProductSearchClient { } createReferenceImage( request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IReferenceImage, @@ -1244,7 +1252,7 @@ export class ProductSearchClient { >; createReferenceImage( request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p3beta1.IReferenceImage, | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest @@ -1312,7 +1320,7 @@ export class ProductSearchClient { createReferenceImage( request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p3beta1.IReferenceImage, | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest @@ -1338,12 +1346,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1358,7 +1366,7 @@ export class ProductSearchClient { } deleteReferenceImage( request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1371,7 +1379,7 @@ export class ProductSearchClient { >; deleteReferenceImage( request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest @@ -1424,7 +1432,7 @@ export class ProductSearchClient { deleteReferenceImage( request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest @@ -1450,12 +1458,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1470,7 +1478,7 @@ export class ProductSearchClient { } getReferenceImage( request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IReferenceImage, @@ -1483,7 +1491,7 @@ export class ProductSearchClient { >; getReferenceImage( request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p3beta1.IReferenceImage, | protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest @@ -1530,7 +1538,7 @@ export class ProductSearchClient { getReferenceImage( request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p3beta1.IReferenceImage, | protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest @@ -1556,12 +1564,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1576,7 +1584,7 @@ export class ProductSearchClient { } addProductToProductSet( request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1589,7 +1597,7 @@ export class ProductSearchClient { >; addProductToProductSet( request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest @@ -1643,7 +1651,7 @@ export class ProductSearchClient { addProductToProductSet( request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest @@ -1669,12 +1677,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1693,7 +1701,7 @@ export class ProductSearchClient { } removeProductFromProductSet( request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1706,7 +1714,7 @@ export class ProductSearchClient { >; removeProductFromProductSet( request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest @@ -1757,7 +1765,7 @@ export class ProductSearchClient { removeProductFromProductSet( request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest @@ -1783,12 +1791,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1808,7 +1816,7 @@ export class ProductSearchClient { importProductSets( request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -1821,7 +1829,7 @@ export class ProductSearchClient { >; importProductSets( request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, @@ -1879,7 +1887,7 @@ export class ProductSearchClient { importProductSets( request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, @@ -1907,12 +1915,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1964,7 +1972,7 @@ export class ProductSearchClient { } listProductSets( request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IProductSet[], @@ -1974,7 +1982,7 @@ export class ProductSearchClient { >; listProductSets( request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse @@ -2027,7 +2035,7 @@ export class ProductSearchClient { listProductSets( request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse @@ -2050,12 +2058,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2095,7 +2103,7 @@ export class ProductSearchClient { */ listProductSetsStream( request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2147,7 +2155,7 @@ export class ProductSearchClient { */ listProductSetsAsync( request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; @@ -2169,7 +2177,7 @@ export class ProductSearchClient { } listProducts( request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IProduct[], @@ -2179,7 +2187,7 @@ export class ProductSearchClient { >; listProducts( request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1p3beta1.IListProductsRequest, | protos.google.cloud.vision.v1p3beta1.IListProductsResponse @@ -2232,7 +2240,7 @@ export class ProductSearchClient { listProducts( request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1p3beta1.IListProductsRequest, | protos.google.cloud.vision.v1p3beta1.IListProductsResponse @@ -2255,12 +2263,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2301,7 +2309,7 @@ export class ProductSearchClient { */ listProductsStream( request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2354,7 +2362,7 @@ export class ProductSearchClient { */ listProductsAsync( request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; @@ -2376,7 +2384,7 @@ export class ProductSearchClient { } listReferenceImages( request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IReferenceImage[], @@ -2386,7 +2394,7 @@ export class ProductSearchClient { >; listReferenceImages( request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse @@ -2444,7 +2452,7 @@ export class ProductSearchClient { listReferenceImages( request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse @@ -2467,12 +2475,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2516,7 +2524,7 @@ export class ProductSearchClient { */ listReferenceImagesStream( request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2572,7 +2580,7 @@ export class ProductSearchClient { */ listReferenceImagesAsync( request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; @@ -2594,7 +2602,7 @@ export class ProductSearchClient { } listProductsInProductSet( request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p3beta1.IProduct[], @@ -2604,7 +2612,7 @@ export class ProductSearchClient { >; listProductsInProductSet( request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse @@ -2659,7 +2667,7 @@ export class ProductSearchClient { listProductsInProductSet( request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse @@ -2682,12 +2690,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2732,7 +2740,7 @@ export class ProductSearchClient { */ listProductsInProductSetStream( request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2785,7 +2793,7 @@ export class ProductSearchClient { */ listProductsInProductSetAsync( request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 4fe951a4d3e..7429d63625a 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -16,6 +16,7 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** +/* global window */ import * as gax from 'google-gax'; import { Callback, @@ -27,6 +28,11 @@ import { import * as path from 'path'; import * as protos from '../../protos/protos'; +/** + * Client JSON configuration object, loaded from + * `src/v1p4beta1/image_annotator_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './image_annotator_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -83,9 +89,9 @@ export class ImageAnnotatorClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. - * TODO(@alexander-fenster): link to gax documentation. - * @param {boolean} fallback - Use HTTP fallback mode. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. * In fallback mode, a special browser-compatible transport implementation is used * instead of gRPC transport. In browser context (if the `window` object is defined) * the fallback mode is enabled automatically; set `options.fallback` to `false` @@ -98,7 +104,9 @@ export class ImageAnnotatorClient { opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? typeof window !== 'undefined'; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. @@ -355,7 +363,7 @@ export class ImageAnnotatorClient { // ------------------- batchAnnotateImages( request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, @@ -368,7 +376,7 @@ export class ImageAnnotatorClient { >; batchAnnotateImages( request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest @@ -407,7 +415,7 @@ export class ImageAnnotatorClient { batchAnnotateImages( request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesResponse, | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest @@ -433,12 +441,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; this.initialize(); @@ -446,7 +454,7 @@ export class ImageAnnotatorClient { } batchAnnotateFiles( request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, @@ -459,7 +467,7 @@ export class ImageAnnotatorClient { >; batchAnnotateFiles( request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest @@ -505,7 +513,7 @@ export class ImageAnnotatorClient { batchAnnotateFiles( request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesResponse, | protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest @@ -531,12 +539,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; this.initialize(); @@ -545,7 +553,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateImages( request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -558,7 +566,7 @@ export class ImageAnnotatorClient { >; asyncBatchAnnotateImages( request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, @@ -612,7 +620,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateImages( request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesResponse, @@ -640,12 +648,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; this.initialize(); @@ -694,7 +702,7 @@ export class ImageAnnotatorClient { } asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -707,7 +715,7 @@ export class ImageAnnotatorClient { >; asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, @@ -756,7 +764,7 @@ export class ImageAnnotatorClient { asyncBatchAnnotateFiles( request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesResponse, @@ -784,12 +792,12 @@ export class ImageAnnotatorClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; this.initialize(); diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 33b4e56481f..7acd7ed53c9 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -16,6 +16,7 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** +/* global window */ import * as gax from 'google-gax'; import { Callback, @@ -31,6 +32,11 @@ import * as path from 'path'; import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; +/** + * Client JSON configuration object, loaded from + * `src/v1p4beta1/product_search_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ import * as gapicConfig from './product_search_client_config.json'; import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; @@ -102,9 +108,9 @@ export class ProductSearchClient { * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - client configuration override. - * TODO(@alexander-fenster): link to gax documentation. - * @param {boolean} fallback - Use HTTP fallback mode. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP fallback mode. * In fallback mode, a special browser-compatible transport implementation is used * instead of gRPC transport. In browser context (if the `window` object is defined) * the fallback mode is enabled automatically; set `options.fallback` to `false` @@ -117,7 +123,9 @@ export class ProductSearchClient { opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? typeof window !== 'undefined'; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. @@ -413,7 +421,7 @@ export class ProductSearchClient { // ------------------- createProductSet( request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IProductSet, @@ -423,7 +431,7 @@ export class ProductSearchClient { >; createProductSet( request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IProductSet, | protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest @@ -476,7 +484,7 @@ export class ProductSearchClient { createProductSet( request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IProductSet, | protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest @@ -499,12 +507,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -519,7 +527,7 @@ export class ProductSearchClient { } getProductSet( request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IProductSet, @@ -529,7 +537,7 @@ export class ProductSearchClient { >; getProductSet( request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IProductSet, | protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest @@ -575,7 +583,7 @@ export class ProductSearchClient { getProductSet( request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IProductSet, | protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest @@ -598,12 +606,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -618,7 +626,7 @@ export class ProductSearchClient { } updateProductSet( request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IProductSet, @@ -628,7 +636,7 @@ export class ProductSearchClient { >; updateProductSet( request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IProductSet, | protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest @@ -679,7 +687,7 @@ export class ProductSearchClient { updateProductSet( request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IProductSet, | protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest @@ -702,12 +710,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -722,7 +730,7 @@ export class ProductSearchClient { } deleteProductSet( request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -732,7 +740,7 @@ export class ProductSearchClient { >; deleteProductSet( request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest @@ -777,7 +785,7 @@ export class ProductSearchClient { deleteProductSet( request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest @@ -800,12 +808,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -820,7 +828,7 @@ export class ProductSearchClient { } createProduct( request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IProduct, @@ -830,7 +838,7 @@ export class ProductSearchClient { >; createProduct( request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IProduct, | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest @@ -886,7 +894,7 @@ export class ProductSearchClient { createProduct( request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IProduct, | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest @@ -909,12 +917,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -929,7 +937,7 @@ export class ProductSearchClient { } getProduct( request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IProduct, @@ -939,7 +947,7 @@ export class ProductSearchClient { >; getProduct( request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IProduct, | protos.google.cloud.vision.v1p4beta1.IGetProductRequest @@ -985,7 +993,7 @@ export class ProductSearchClient { getProduct( request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IProduct, | protos.google.cloud.vision.v1p4beta1.IGetProductRequest @@ -1008,12 +1016,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1028,7 +1036,7 @@ export class ProductSearchClient { } updateProduct( request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IProduct, @@ -1038,7 +1046,7 @@ export class ProductSearchClient { >; updateProduct( request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IProduct, | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest @@ -1098,7 +1106,7 @@ export class ProductSearchClient { updateProduct( request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IProduct, | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest @@ -1121,12 +1129,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1141,7 +1149,7 @@ export class ProductSearchClient { } deleteProduct( request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1151,7 +1159,7 @@ export class ProductSearchClient { >; deleteProduct( request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest @@ -1197,7 +1205,7 @@ export class ProductSearchClient { deleteProduct( request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest @@ -1220,12 +1228,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1240,7 +1248,7 @@ export class ProductSearchClient { } createReferenceImage( request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IReferenceImage, @@ -1253,7 +1261,7 @@ export class ProductSearchClient { >; createReferenceImage( request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IReferenceImage, | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest @@ -1322,7 +1330,7 @@ export class ProductSearchClient { createReferenceImage( request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IReferenceImage, | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest @@ -1348,12 +1356,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1368,7 +1376,7 @@ export class ProductSearchClient { } deleteReferenceImage( request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1381,7 +1389,7 @@ export class ProductSearchClient { >; deleteReferenceImage( request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest @@ -1430,7 +1438,7 @@ export class ProductSearchClient { deleteReferenceImage( request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest @@ -1456,12 +1464,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1476,7 +1484,7 @@ export class ProductSearchClient { } getReferenceImage( request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IReferenceImage, @@ -1489,7 +1497,7 @@ export class ProductSearchClient { >; getReferenceImage( request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.cloud.vision.v1p4beta1.IReferenceImage, | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest @@ -1536,7 +1544,7 @@ export class ProductSearchClient { getReferenceImage( request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.cloud.vision.v1p4beta1.IReferenceImage, | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest @@ -1562,12 +1570,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1582,7 +1590,7 @@ export class ProductSearchClient { } addProductToProductSet( request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1595,7 +1603,7 @@ export class ProductSearchClient { >; addProductToProductSet( request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest @@ -1649,7 +1657,7 @@ export class ProductSearchClient { addProductToProductSet( request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest @@ -1675,12 +1683,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1699,7 +1707,7 @@ export class ProductSearchClient { } removeProductFromProductSet( request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.protobuf.IEmpty, @@ -1712,7 +1720,7 @@ export class ProductSearchClient { >; removeProductFromProductSet( request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest @@ -1760,7 +1768,7 @@ export class ProductSearchClient { removeProductFromProductSet( request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< protos.google.protobuf.IEmpty, | protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest @@ -1786,12 +1794,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1811,7 +1819,7 @@ export class ProductSearchClient { importProductSets( request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -1824,7 +1832,7 @@ export class ProductSearchClient { >; importProductSets( request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, @@ -1882,7 +1890,7 @@ export class ProductSearchClient { importProductSets( request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.cloud.vision.v1p4beta1.IImportProductSetsResponse, @@ -1910,12 +1918,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -1967,7 +1975,7 @@ export class ProductSearchClient { } purgeProducts( request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ LROperation< @@ -1980,7 +1988,7 @@ export class ProductSearchClient { >; purgeProducts( request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, - options: gax.CallOptions, + options: CallOptions, callback: Callback< LROperation< protos.google.protobuf.IEmpty, @@ -2057,7 +2065,7 @@ export class ProductSearchClient { purgeProducts( request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | Callback< LROperation< protos.google.protobuf.IEmpty, @@ -2085,12 +2093,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2142,7 +2150,7 @@ export class ProductSearchClient { } listProductSets( request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IProductSet[], @@ -2152,7 +2160,7 @@ export class ProductSearchClient { >; listProductSets( request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse @@ -2205,7 +2213,7 @@ export class ProductSearchClient { listProductSets( request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse @@ -2228,12 +2236,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2273,7 +2281,7 @@ export class ProductSearchClient { */ listProductSetsStream( request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2325,7 +2333,7 @@ export class ProductSearchClient { */ listProductSetsAsync( request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; @@ -2347,7 +2355,7 @@ export class ProductSearchClient { } listProducts( request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IProduct[], @@ -2357,7 +2365,7 @@ export class ProductSearchClient { >; listProducts( request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1p4beta1.IListProductsRequest, | protos.google.cloud.vision.v1p4beta1.IListProductsResponse @@ -2410,7 +2418,7 @@ export class ProductSearchClient { listProducts( request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1p4beta1.IListProductsRequest, | protos.google.cloud.vision.v1p4beta1.IListProductsResponse @@ -2433,12 +2441,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2479,7 +2487,7 @@ export class ProductSearchClient { */ listProductsStream( request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2532,7 +2540,7 @@ export class ProductSearchClient { */ listProductsAsync( request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; @@ -2554,7 +2562,7 @@ export class ProductSearchClient { } listReferenceImages( request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IReferenceImage[], @@ -2564,7 +2572,7 @@ export class ProductSearchClient { >; listReferenceImages( request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse @@ -2622,7 +2630,7 @@ export class ProductSearchClient { listReferenceImages( request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse @@ -2645,12 +2653,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2694,7 +2702,7 @@ export class ProductSearchClient { */ listReferenceImagesStream( request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2750,7 +2758,7 @@ export class ProductSearchClient { */ listReferenceImagesAsync( request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; @@ -2772,7 +2780,7 @@ export class ProductSearchClient { } listProductsInProductSet( request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Promise< [ protos.google.cloud.vision.v1p4beta1.IProduct[], @@ -2782,7 +2790,7 @@ export class ProductSearchClient { >; listProductsInProductSet( request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, - options: gax.CallOptions, + options: CallOptions, callback: PaginationCallback< protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse @@ -2837,7 +2845,7 @@ export class ProductSearchClient { listProductsInProductSet( request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, optionsOrCallback?: - | gax.CallOptions + | CallOptions | PaginationCallback< protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse @@ -2860,12 +2868,12 @@ export class ProductSearchClient { ] > | void { request = request || {}; - let options: gax.CallOptions; + let options: CallOptions; if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; } else { - options = optionsOrCallback as gax.CallOptions; + options = optionsOrCallback as CallOptions; } options = options || {}; options.otherArgs = options.otherArgs || {}; @@ -2910,7 +2918,7 @@ export class ProductSearchClient { */ listProductsInProductSetStream( request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): Transform { request = request || {}; options = options || {}; @@ -2963,7 +2971,7 @@ export class ProductSearchClient { */ listProductsInProductSetAsync( request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, - options?: gax.CallOptions + options?: CallOptions ): AsyncIterable { request = request || {}; options = options || {}; diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 30ee5a07d0b..98f5f43c318 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -3,8 +3,16 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/nodejs-vision.git", - "sha": "7c79c2dbbbf57ee51666d0200fae39cdfdd8c0a7" + "remote": "https://github.com/googleapis/nodejs-vision.git", + "sha": "8377b4268a4ed4ef07869c75c1ae48f4ec3b01ce" + } + }, + { + "git": { + "name": "googleapis", + "remote": "https://github.com/googleapis/googleapis.git", + "sha": "2f019bf70bfe06f1e2af1b04011b0a2405190e43", + "internalRef": "343202295" } }, { @@ -115,7 +123,6 @@ "README.md", "api-extractor.json", "linkinator.config.json", - "package-lock.json.1696784860", "protos/google/cloud/vision/v1/geometry.proto", "protos/google/cloud/vision/v1/image_annotator.proto", "protos/google/cloud/vision/v1/product_search.proto", @@ -148,7 +155,6 @@ "protos/protos.json", "renovate.json", "samples/README.md", - "samples/package-lock.json.3159907851", "src/v1/image_annotator_client.ts", "src/v1/image_annotator_client_config.json", "src/v1/image_annotator_proto_list.json", From f7fe70fa9b86ceabcd57df640e2b44ae314dfc0c Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 25 Nov 2020 08:34:05 -0800 Subject: [PATCH 467/588] docs: spelling correction for "targetting" (#849) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/f9f34ae0-d83d-4c7a-a197-54a0a7255ebc/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/15013eff642a7e7e855aed5a29e6e83c39beba2a --- packages/google-cloud-vision/README.md | 2 +- packages/google-cloud-vision/synth.metadata | 132 +------------------- 2 files changed, 3 insertions(+), 131 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 79e71d2d558..562becd80f6 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -107,7 +107,7 @@ Our client libraries follow the [Node.js release schedule](https://nodejs.org/en Libraries are compatible with all current _active_ and _maintenance_ versions of Node.js. -Client libraries targetting some end-of-life versions of Node.js are available, and +Client libraries targeting some end-of-life versions of Node.js are available, and can be installed via npm [dist-tags](https://docs.npmjs.com/cli/dist-tag). The dist-tags follow the naming convention `legacy-(version)`. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 98f5f43c318..507e23f2822 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "8377b4268a4ed4ef07869c75c1ae48f4ec3b01ce" + "sha": "ef95fb1ff7f2495b2929c18b4c814ad93c8b42cc" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "1f1148d3c7a7a52f0c98077f976bd9b3c948ee2b" + "sha": "15013eff642a7e7e855aed5a29e6e83c39beba2a" } } ], @@ -69,133 +69,5 @@ "generator": "bazel" } } - ], - "generatedFiles": [ - ".eslintignore", - ".eslintrc.json", - ".gitattributes", - ".github/ISSUE_TEMPLATE/bug_report.md", - ".github/ISSUE_TEMPLATE/feature_request.md", - ".github/ISSUE_TEMPLATE/support_request.md", - ".github/PULL_REQUEST_TEMPLATE.md", - ".github/release-please.yml", - ".github/workflows/ci.yaml", - ".gitignore", - ".jsdoc.js", - ".kokoro/.gitattributes", - ".kokoro/common.cfg", - ".kokoro/continuous/node10/common.cfg", - ".kokoro/continuous/node10/docs.cfg", - ".kokoro/continuous/node10/test.cfg", - ".kokoro/continuous/node12/common.cfg", - ".kokoro/continuous/node12/lint.cfg", - ".kokoro/continuous/node12/samples-test.cfg", - ".kokoro/continuous/node12/system-test.cfg", - ".kokoro/continuous/node12/test.cfg", - ".kokoro/docs.sh", - ".kokoro/lint.sh", - ".kokoro/populate-secrets.sh", - ".kokoro/presubmit/node10/common.cfg", - ".kokoro/presubmit/node12/common.cfg", - ".kokoro/presubmit/node12/samples-test.cfg", - ".kokoro/presubmit/node12/system-test.cfg", - ".kokoro/presubmit/node12/test.cfg", - ".kokoro/publish.sh", - ".kokoro/release/docs-devsite.cfg", - ".kokoro/release/docs-devsite.sh", - ".kokoro/release/docs.cfg", - ".kokoro/release/docs.sh", - ".kokoro/release/publish.cfg", - ".kokoro/samples-test.sh", - ".kokoro/system-test.sh", - ".kokoro/test.bat", - ".kokoro/test.sh", - ".kokoro/trampoline.sh", - ".kokoro/trampoline_v2.sh", - ".mocharc.js", - ".nycrc", - ".prettierignore", - ".prettierrc.js", - ".trampolinerc", - "CODE_OF_CONDUCT.md", - "CONTRIBUTING.md", - "LICENSE", - "README.md", - "api-extractor.json", - "linkinator.config.json", - "protos/google/cloud/vision/v1/geometry.proto", - "protos/google/cloud/vision/v1/image_annotator.proto", - "protos/google/cloud/vision/v1/product_search.proto", - "protos/google/cloud/vision/v1/product_search_service.proto", - "protos/google/cloud/vision/v1/text_annotation.proto", - "protos/google/cloud/vision/v1/web_detection.proto", - "protos/google/cloud/vision/v1p1beta1/geometry.proto", - "protos/google/cloud/vision/v1p1beta1/image_annotator.proto", - "protos/google/cloud/vision/v1p1beta1/text_annotation.proto", - "protos/google/cloud/vision/v1p1beta1/web_detection.proto", - "protos/google/cloud/vision/v1p2beta1/geometry.proto", - "protos/google/cloud/vision/v1p2beta1/image_annotator.proto", - "protos/google/cloud/vision/v1p2beta1/text_annotation.proto", - "protos/google/cloud/vision/v1p2beta1/web_detection.proto", - "protos/google/cloud/vision/v1p3beta1/geometry.proto", - "protos/google/cloud/vision/v1p3beta1/image_annotator.proto", - "protos/google/cloud/vision/v1p3beta1/product_search.proto", - "protos/google/cloud/vision/v1p3beta1/product_search_service.proto", - "protos/google/cloud/vision/v1p3beta1/text_annotation.proto", - "protos/google/cloud/vision/v1p3beta1/web_detection.proto", - "protos/google/cloud/vision/v1p4beta1/face.proto", - "protos/google/cloud/vision/v1p4beta1/geometry.proto", - "protos/google/cloud/vision/v1p4beta1/image_annotator.proto", - "protos/google/cloud/vision/v1p4beta1/product_search.proto", - "protos/google/cloud/vision/v1p4beta1/product_search_service.proto", - "protos/google/cloud/vision/v1p4beta1/text_annotation.proto", - "protos/google/cloud/vision/v1p4beta1/web_detection.proto", - "protos/protos.d.ts", - "protos/protos.js", - "protos/protos.json", - "renovate.json", - "samples/README.md", - "src/v1/image_annotator_client.ts", - "src/v1/image_annotator_client_config.json", - "src/v1/image_annotator_proto_list.json", - "src/v1/index.ts", - "src/v1/product_search_client.ts", - "src/v1/product_search_client_config.json", - "src/v1/product_search_proto_list.json", - "src/v1p1beta1/image_annotator_client.ts", - "src/v1p1beta1/image_annotator_client_config.json", - "src/v1p1beta1/image_annotator_proto_list.json", - "src/v1p1beta1/index.ts", - "src/v1p2beta1/image_annotator_client.ts", - "src/v1p2beta1/image_annotator_client_config.json", - "src/v1p2beta1/image_annotator_proto_list.json", - "src/v1p2beta1/index.ts", - "src/v1p3beta1/image_annotator_client.ts", - "src/v1p3beta1/image_annotator_client_config.json", - "src/v1p3beta1/image_annotator_proto_list.json", - "src/v1p3beta1/index.ts", - "src/v1p3beta1/product_search_client.ts", - "src/v1p3beta1/product_search_client_config.json", - "src/v1p3beta1/product_search_proto_list.json", - "src/v1p4beta1/image_annotator_client.ts", - "src/v1p4beta1/image_annotator_client_config.json", - "src/v1p4beta1/image_annotator_proto_list.json", - "src/v1p4beta1/index.ts", - "src/v1p4beta1/product_search_client.ts", - "src/v1p4beta1/product_search_client_config.json", - "src/v1p4beta1/product_search_proto_list.json", - "system-test/fixtures/sample/src/index.js", - "system-test/fixtures/sample/src/index.ts", - "system-test/install.ts", - "test/gapic_image_annotator_v1.ts", - "test/gapic_image_annotator_v1p1beta1.ts", - "test/gapic_image_annotator_v1p2beta1.ts", - "test/gapic_image_annotator_v1p3beta1.ts", - "test/gapic_image_annotator_v1p4beta1.ts", - "test/gapic_product_search_v1.ts", - "test/gapic_product_search_v1p3beta1.ts", - "test/gapic_product_search_v1p4beta1.ts", - "tsconfig.json", - "webpack.config.js" ] } \ No newline at end of file From 595708130b44d8c6b982eae5e93c9c1d815eb286 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 22 Dec 2020 11:42:12 -0800 Subject: [PATCH 468/588] docs: add instructions for authenticating for system tests (#851) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/959b7829-922a-41dc-a5a7-1178c3a8f0e7/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/363fe305e9ce34a6cd53951c6ee5f997094b54ee --- packages/google-cloud-vision/CONTRIBUTING.md | 15 +++++++++++++-- packages/google-cloud-vision/README.md | 3 +-- packages/google-cloud-vision/synth.metadata | 4 ++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/CONTRIBUTING.md b/packages/google-cloud-vision/CONTRIBUTING.md index f6c4cf010e3..006b5bab547 100644 --- a/packages/google-cloud-vision/CONTRIBUTING.md +++ b/packages/google-cloud-vision/CONTRIBUTING.md @@ -37,6 +37,15 @@ accept your pull requests. 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 Google Cloud Vision 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]. @@ -51,11 +60,9 @@ accept your pull requests. npm test # Run sample integration tests. - gcloud auth application-default login npm run samples-test # Run all system tests. - gcloud auth application-default login npm run system-test 1. Lint (and maybe fix) any changes: @@ -63,3 +70,7 @@ accept your pull requests. 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=vision.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started \ No newline at end of file diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 562becd80f6..18a28ece735 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -79,8 +79,7 @@ quickstart(); ## Samples -Samples are in the [`samples/`](https://github.com/googleapis/nodejs-vision/tree/master/samples) directory. The samples' `README.md` -has instructions for running the samples. +Samples are in the [`samples/`](https://github.com/googleapis/nodejs-vision/tree/master/samples) directory. Each sample's `README.md` has instructions for running its sample. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 507e23f2822..dbd94897d39 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "ef95fb1ff7f2495b2929c18b4c814ad93c8b42cc" + "sha": "3784521b3675a9b5d05132fc31dde6cc3f0c7a72" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "15013eff642a7e7e855aed5a29e6e83c39beba2a" + "sha": "363fe305e9ce34a6cd53951c6ee5f997094b54ee" } } ], From abaca52a7ca38aaecbfd2fce3ec277260d24513a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 5 Jan 2021 16:13:52 -0800 Subject: [PATCH 469/588] feat: Add TextDetectionParams.enable_text_detection_confidence_score (#850) Add TextDetectionParams.enable_text_detection_confidence_score to ImageContext proto so customer can optionally get confidence score for TEXT_DETECTION feature PiperOrigin-RevId: 344839236 Source-Author: Google APIs Source-Date: Mon Nov 30 10:25:20 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: 80a56e032bcc6a52cc41091c9a9ab527ec233f1f Source-Link: https://github.com/googleapis/googleapis/commit/80a56e032bcc6a52cc41091c9a9ab527ec233f1f Co-authored-by: Benjamin E. Coe --- .../cloud/vision/v1/image_annotator.proto | 13 + .../vision/v1p1beta1/image_annotator.proto | 13 + .../vision/v1p2beta1/image_annotator.proto | 13 + .../vision/v1p3beta1/image_annotator.proto | 13 + .../vision/v1p4beta1/image_annotator.proto | 13 + .../google-cloud-vision/protos/protos.d.ts | 480 ++++++++ packages/google-cloud-vision/protos/protos.js | 1070 +++++++++++++++++ .../google-cloud-vision/protos/protos.json | 60 + packages/google-cloud-vision/synth.metadata | 4 +- 9 files changed, 1677 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index e75ca7660e8..7f13e35c514 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -664,6 +664,16 @@ message WebDetectionParams { bool include_geo_results = 2; } +// Parameters for text detections. This is used to control TEXT_DETECTION and +// DOCUMENT_TEXT_DETECTION features. +message TextDetectionParams { + + // By default, Cloud Vision API only includes confidence score for + // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence + // score for TEXT_DETECTION as well. + bool enable_text_detection_confidence_score = 9; +} + // Image context and/or feature-specific parameters. message ImageContext { // Not used. @@ -687,6 +697,9 @@ message ImageContext { // Parameters for web detection. WebDetectionParams web_detection_params = 6; + + // Parameters for text detection and document text detection. + TextDetectionParams text_detection_params = 12; } // Request for performing Google Cloud Vision API tasks over a user-provided diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto index 4f5ada70de2..daf6a2d2758 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto @@ -490,6 +490,16 @@ message WebDetectionParams { bool include_geo_results = 2; } +// Parameters for text detections. This is used to control TEXT_DETECTION and +// DOCUMENT_TEXT_DETECTION features. +message TextDetectionParams { + + // By default, Cloud Vision API only includes confidence score for + // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence + // score for TEXT_DETECTION as well. + bool enable_text_detection_confidence_score = 9; +} + // Image context and/or feature-specific parameters. message ImageContext { // lat/long rectangle that specifies the location of the image. @@ -510,6 +520,9 @@ message ImageContext { // Parameters for web detection. WebDetectionParams web_detection_params = 6; + + // Parameters for text detection and document text detection. + TextDetectionParams text_detection_params = 12; } // Request for performing Google Cloud Vision API tasks over a user-provided diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index 87ae9f2c696..eaf5abf05dc 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -521,6 +521,16 @@ message WebDetectionParams { bool include_geo_results = 2; } +// Parameters for text detections. This is used to control TEXT_DETECTION and +// DOCUMENT_TEXT_DETECTION features. +message TextDetectionParams { + + // By default, Cloud Vision API only includes confidence score for + // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence + // score for TEXT_DETECTION as well. + bool enable_text_detection_confidence_score = 9; +} + // Image context and/or feature-specific parameters. message ImageContext { // Not used. @@ -541,6 +551,9 @@ message ImageContext { // Parameters for web detection. WebDetectionParams web_detection_params = 6; + + // Parameters for text detection and document text detection. + TextDetectionParams text_detection_params = 12; } // Request for performing Google Cloud Vision API tasks over a user-provided diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto index b63aa2b252f..c865ff53d8e 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -549,6 +549,16 @@ message WebDetectionParams { bool include_geo_results = 2; } +// Parameters for text detections. This is used to control TEXT_DETECTION and +// DOCUMENT_TEXT_DETECTION features. +message TextDetectionParams { + + // By default, Cloud Vision API only includes confidence score for + // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence + // score for TEXT_DETECTION as well. + bool enable_text_detection_confidence_score = 9; +} + // Image context and/or feature-specific parameters. message ImageContext { // Not used. @@ -572,6 +582,9 @@ message ImageContext { // Parameters for web detection. WebDetectionParams web_detection_params = 6; + + // Parameters for text detection and document text detection. + TextDetectionParams text_detection_params = 12; } // Request for performing Google Cloud Vision API tasks over a user-provided diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index 9c18cccdfef..07217f39820 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -620,6 +620,16 @@ message WebDetectionParams { bool include_geo_results = 2; } +// Parameters for text detections. This is used to control TEXT_DETECTION and +// DOCUMENT_TEXT_DETECTION features. +message TextDetectionParams { + + // By default, Cloud Vision API only includes confidence score for + // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence + // score for TEXT_DETECTION as well. + bool enable_text_detection_confidence_score = 9; +} + // Image context and/or feature-specific parameters. message ImageContext { // Not used. @@ -646,6 +656,9 @@ message ImageContext { // Parameters for web detection. WebDetectionParams web_detection_params = 6; + + // Parameters for text detection and document text detection. + TextDetectionParams text_detection_params = 12; } // Request for performing Google Cloud Vision API tasks over a user-provided diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 5cea30f67e5..b39f2dbaa2b 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -2507,6 +2507,96 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a TextDetectionParams. */ + interface ITextDetectionParams { + + /** TextDetectionParams enableTextDetectionConfidenceScore */ + enableTextDetectionConfidenceScore?: (boolean|null); + } + + /** Represents a TextDetectionParams. */ + class TextDetectionParams implements ITextDetectionParams { + + /** + * Constructs a new TextDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1.ITextDetectionParams); + + /** TextDetectionParams enableTextDetectionConfidenceScore. */ + public enableTextDetectionConfidenceScore: boolean; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns TextDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1.ITextDetectionParams): google.cloud.vision.v1.TextDetectionParams; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1.TextDetectionParams; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1.TextDetectionParams; + + /** + * Verifies a TextDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1.TextDetectionParams; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @param message TextDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1.TextDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of an ImageContext. */ interface IImageContext { @@ -2524,6 +2614,9 @@ export namespace google { /** ImageContext webDetectionParams */ webDetectionParams?: (google.cloud.vision.v1.IWebDetectionParams|null); + + /** ImageContext textDetectionParams */ + textDetectionParams?: (google.cloud.vision.v1.ITextDetectionParams|null); } /** Represents an ImageContext. */ @@ -2550,6 +2643,9 @@ export namespace google { /** ImageContext webDetectionParams. */ public webDetectionParams?: (google.cloud.vision.v1.IWebDetectionParams|null); + /** ImageContext textDetectionParams. */ + public textDetectionParams?: (google.cloud.vision.v1.ITextDetectionParams|null); + /** * Creates a new ImageContext instance using the specified properties. * @param [properties] Properties to set @@ -12386,6 +12482,96 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a TextDetectionParams. */ + interface ITextDetectionParams { + + /** TextDetectionParams enableTextDetectionConfidenceScore */ + enableTextDetectionConfidenceScore?: (boolean|null); + } + + /** Represents a TextDetectionParams. */ + class TextDetectionParams implements ITextDetectionParams { + + /** + * Constructs a new TextDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p1beta1.ITextDetectionParams); + + /** TextDetectionParams enableTextDetectionConfidenceScore. */ + public enableTextDetectionConfidenceScore: boolean; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns TextDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1p1beta1.ITextDetectionParams): google.cloud.vision.v1p1beta1.TextDetectionParams; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p1beta1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p1beta1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p1beta1.TextDetectionParams; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p1beta1.TextDetectionParams; + + /** + * Verifies a TextDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p1beta1.TextDetectionParams; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @param message TextDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p1beta1.TextDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of an ImageContext. */ interface IImageContext { @@ -12400,6 +12586,9 @@ export namespace google { /** ImageContext webDetectionParams */ webDetectionParams?: (google.cloud.vision.v1p1beta1.IWebDetectionParams|null); + + /** ImageContext textDetectionParams */ + textDetectionParams?: (google.cloud.vision.v1p1beta1.ITextDetectionParams|null); } /** Represents an ImageContext. */ @@ -12423,6 +12612,9 @@ export namespace google { /** ImageContext webDetectionParams. */ public webDetectionParams?: (google.cloud.vision.v1p1beta1.IWebDetectionParams|null); + /** ImageContext textDetectionParams. */ + public textDetectionParams?: (google.cloud.vision.v1p1beta1.ITextDetectionParams|null); + /** * Creates a new ImageContext instance using the specified properties. * @param [properties] Properties to set @@ -16713,6 +16905,96 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a TextDetectionParams. */ + interface ITextDetectionParams { + + /** TextDetectionParams enableTextDetectionConfidenceScore */ + enableTextDetectionConfidenceScore?: (boolean|null); + } + + /** Represents a TextDetectionParams. */ + class TextDetectionParams implements ITextDetectionParams { + + /** + * Constructs a new TextDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p2beta1.ITextDetectionParams); + + /** TextDetectionParams enableTextDetectionConfidenceScore. */ + public enableTextDetectionConfidenceScore: boolean; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns TextDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1p2beta1.ITextDetectionParams): google.cloud.vision.v1p2beta1.TextDetectionParams; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p2beta1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p2beta1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p2beta1.TextDetectionParams; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p2beta1.TextDetectionParams; + + /** + * Verifies a TextDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p2beta1.TextDetectionParams; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @param message TextDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p2beta1.TextDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of an ImageContext. */ interface IImageContext { @@ -16727,6 +17009,9 @@ export namespace google { /** ImageContext webDetectionParams */ webDetectionParams?: (google.cloud.vision.v1p2beta1.IWebDetectionParams|null); + + /** ImageContext textDetectionParams */ + textDetectionParams?: (google.cloud.vision.v1p2beta1.ITextDetectionParams|null); } /** Represents an ImageContext. */ @@ -16750,6 +17035,9 @@ export namespace google { /** ImageContext webDetectionParams. */ public webDetectionParams?: (google.cloud.vision.v1p2beta1.IWebDetectionParams|null); + /** ImageContext textDetectionParams. */ + public textDetectionParams?: (google.cloud.vision.v1p2beta1.ITextDetectionParams|null); + /** * Creates a new ImageContext instance using the specified properties. * @param [properties] Properties to set @@ -22308,6 +22596,96 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a TextDetectionParams. */ + interface ITextDetectionParams { + + /** TextDetectionParams enableTextDetectionConfidenceScore */ + enableTextDetectionConfidenceScore?: (boolean|null); + } + + /** Represents a TextDetectionParams. */ + class TextDetectionParams implements ITextDetectionParams { + + /** + * Constructs a new TextDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ITextDetectionParams); + + /** TextDetectionParams enableTextDetectionConfidenceScore. */ + public enableTextDetectionConfidenceScore: boolean; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns TextDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ITextDetectionParams): google.cloud.vision.v1p3beta1.TextDetectionParams; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.TextDetectionParams; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.TextDetectionParams; + + /** + * Verifies a TextDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.TextDetectionParams; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @param message TextDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.TextDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of an ImageContext. */ interface IImageContext { @@ -22325,6 +22703,9 @@ export namespace google { /** ImageContext webDetectionParams */ webDetectionParams?: (google.cloud.vision.v1p3beta1.IWebDetectionParams|null); + + /** ImageContext textDetectionParams */ + textDetectionParams?: (google.cloud.vision.v1p3beta1.ITextDetectionParams|null); } /** Represents an ImageContext. */ @@ -22351,6 +22732,9 @@ export namespace google { /** ImageContext webDetectionParams. */ public webDetectionParams?: (google.cloud.vision.v1p3beta1.IWebDetectionParams|null); + /** ImageContext textDetectionParams. */ + public textDetectionParams?: (google.cloud.vision.v1p3beta1.ITextDetectionParams|null); + /** * Creates a new ImageContext instance using the specified properties. * @param [properties] Properties to set @@ -31991,6 +32375,96 @@ export namespace google { public toJSON(): { [k: string]: any }; } + /** Properties of a TextDetectionParams. */ + interface ITextDetectionParams { + + /** TextDetectionParams enableTextDetectionConfidenceScore */ + enableTextDetectionConfidenceScore?: (boolean|null); + } + + /** Represents a TextDetectionParams. */ + class TextDetectionParams implements ITextDetectionParams { + + /** + * Constructs a new TextDetectionParams. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p4beta1.ITextDetectionParams); + + /** TextDetectionParams enableTextDetectionConfidenceScore. */ + public enableTextDetectionConfidenceScore: boolean; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @param [properties] Properties to set + * @returns TextDetectionParams instance + */ + public static create(properties?: google.cloud.vision.v1p4beta1.ITextDetectionParams): google.cloud.vision.v1p4beta1.TextDetectionParams; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p4beta1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextDetectionParams.verify|verify} messages. + * @param message TextDetectionParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p4beta1.ITextDetectionParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p4beta1.TextDetectionParams; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p4beta1.TextDetectionParams; + + /** + * Verifies a TextDetectionParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TextDetectionParams + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p4beta1.TextDetectionParams; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @param message TextDetectionParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p4beta1.TextDetectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TextDetectionParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + /** Properties of an ImageContext. */ interface IImageContext { @@ -32011,6 +32485,9 @@ export namespace google { /** ImageContext webDetectionParams */ webDetectionParams?: (google.cloud.vision.v1p4beta1.IWebDetectionParams|null); + + /** ImageContext textDetectionParams */ + textDetectionParams?: (google.cloud.vision.v1p4beta1.ITextDetectionParams|null); } /** Represents an ImageContext. */ @@ -32040,6 +32517,9 @@ export namespace google { /** ImageContext webDetectionParams. */ public webDetectionParams?: (google.cloud.vision.v1p4beta1.IWebDetectionParams|null); + /** ImageContext textDetectionParams. */ + public textDetectionParams?: (google.cloud.vision.v1p4beta1.ITextDetectionParams|null); + /** * Creates a new ImageContext instance using the specified properties. * @param [properties] Properties to set diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index a4484855e31..e48400b9d1a 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -6566,6 +6566,193 @@ return WebDetectionParams; })(); + v1.TextDetectionParams = (function() { + + /** + * Properties of a TextDetectionParams. + * @memberof google.cloud.vision.v1 + * @interface ITextDetectionParams + * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + */ + + /** + * Constructs a new TextDetectionParams. + * @memberof google.cloud.vision.v1 + * @classdesc Represents a TextDetectionParams. + * @implements ITextDetectionParams + * @constructor + * @param {google.cloud.vision.v1.ITextDetectionParams=} [properties] Properties to set + */ + function TextDetectionParams(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]]; + } + + /** + * TextDetectionParams enableTextDetectionConfidenceScore. + * @member {boolean} enableTextDetectionConfidenceScore + * @memberof google.cloud.vision.v1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1.ITextDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1.TextDetectionParams} TextDetectionParams instance + */ + TextDetectionParams.create = function create(properties) { + return new TextDetectionParams(properties); + }; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1.TextDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + return writer; + }; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1.TextDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1.TextDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 9: + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1.TextDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + if (typeof message.enableTextDetectionConfidenceScore !== "boolean") + return "enableTextDetectionConfidenceScore: boolean expected"; + return null; + }; + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1.TextDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1.TextDetectionParams} TextDetectionParams + */ + TextDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1.TextDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1.TextDetectionParams(); + if (object.enableTextDetectionConfidenceScore != null) + message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + return message; + }; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1.TextDetectionParams} message TextDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.enableTextDetectionConfidenceScore = false; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + return object; + }; + + /** + * Converts this TextDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1.TextDetectionParams + * @instance + * @returns {Object.} JSON object + */ + TextDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextDetectionParams; + })(); + v1.ImageContext = (function() { /** @@ -6577,6 +6764,7 @@ * @property {google.cloud.vision.v1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams * @property {google.cloud.vision.v1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams * @property {google.cloud.vision.v1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @property {google.cloud.vision.v1.ITextDetectionParams|null} [textDetectionParams] ImageContext textDetectionParams */ /** @@ -6635,6 +6823,14 @@ */ ImageContext.prototype.webDetectionParams = null; + /** + * ImageContext textDetectionParams. + * @member {google.cloud.vision.v1.ITextDetectionParams|null|undefined} textDetectionParams + * @memberof google.cloud.vision.v1.ImageContext + * @instance + */ + ImageContext.prototype.textDetectionParams = null; + /** * Creates a new ImageContext instance using the specified properties. * @function create @@ -6670,6 +6866,8 @@ $root.google.cloud.vision.v1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.textDetectionParams != null && Object.hasOwnProperty.call(message, "textDetectionParams")) + $root.google.cloud.vision.v1.TextDetectionParams.encode(message.textDetectionParams, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); return writer; }; @@ -6721,6 +6919,9 @@ case 6: message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.decode(reader, reader.uint32()); break; + case 12: + message.textDetectionParams = $root.google.cloud.vision.v1.TextDetectionParams.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -6783,6 +6984,11 @@ if (error) return "webDetectionParams." + error; } + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) { + var error = $root.google.cloud.vision.v1.TextDetectionParams.verify(message.textDetectionParams); + if (error) + return "textDetectionParams." + error; + } return null; }; @@ -6825,6 +7031,11 @@ throw TypeError(".google.cloud.vision.v1.ImageContext.webDetectionParams: object expected"); message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.fromObject(object.webDetectionParams); } + if (object.textDetectionParams != null) { + if (typeof object.textDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1.ImageContext.textDetectionParams: object expected"); + message.textDetectionParams = $root.google.cloud.vision.v1.TextDetectionParams.fromObject(object.textDetectionParams); + } return message; }; @@ -6848,6 +7059,7 @@ object.cropHintsParams = null; object.productSearchParams = null; object.webDetectionParams = null; + object.textDetectionParams = null; } if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) object.latLongRect = $root.google.cloud.vision.v1.LatLongRect.toObject(message.latLongRect, options); @@ -6862,6 +7074,8 @@ object.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.toObject(message.productSearchParams, options); if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) object.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.toObject(message.webDetectionParams, options); + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) + object.textDetectionParams = $root.google.cloud.vision.v1.TextDetectionParams.toObject(message.textDetectionParams, options); return object; }; @@ -30728,6 +30942,193 @@ return WebDetectionParams; })(); + v1p1beta1.TextDetectionParams = (function() { + + /** + * Properties of a TextDetectionParams. + * @memberof google.cloud.vision.v1p1beta1 + * @interface ITextDetectionParams + * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + */ + + /** + * Constructs a new TextDetectionParams. + * @memberof google.cloud.vision.v1p1beta1 + * @classdesc Represents a TextDetectionParams. + * @implements ITextDetectionParams + * @constructor + * @param {google.cloud.vision.v1p1beta1.ITextDetectionParams=} [properties] Properties to set + */ + function TextDetectionParams(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]]; + } + + /** + * TextDetectionParams enableTextDetectionConfidenceScore. + * @member {boolean} enableTextDetectionConfidenceScore + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p1beta1.ITextDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p1beta1.TextDetectionParams} TextDetectionParams instance + */ + TextDetectionParams.create = function create(properties) { + return new TextDetectionParams(properties); + }; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p1beta1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + return writer; + }; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p1beta1.TextDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p1beta1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p1beta1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p1beta1.TextDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 9: + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p1beta1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + if (typeof message.enableTextDetectionConfidenceScore !== "boolean") + return "enableTextDetectionConfidenceScore: boolean expected"; + return null; + }; + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p1beta1.TextDetectionParams} TextDetectionParams + */ + TextDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p1beta1.TextDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1p1beta1.TextDetectionParams(); + if (object.enableTextDetectionConfidenceScore != null) + message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + return message; + }; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p1beta1.TextDetectionParams} message TextDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.enableTextDetectionConfidenceScore = false; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + return object; + }; + + /** + * Converts this TextDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @instance + * @returns {Object.} JSON object + */ + TextDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextDetectionParams; + })(); + v1p1beta1.ImageContext = (function() { /** @@ -30738,6 +31139,7 @@ * @property {Array.|null} [languageHints] ImageContext languageHints * @property {google.cloud.vision.v1p1beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams * @property {google.cloud.vision.v1p1beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @property {google.cloud.vision.v1p1beta1.ITextDetectionParams|null} [textDetectionParams] ImageContext textDetectionParams */ /** @@ -30788,6 +31190,14 @@ */ ImageContext.prototype.webDetectionParams = null; + /** + * ImageContext textDetectionParams. + * @member {google.cloud.vision.v1p1beta1.ITextDetectionParams|null|undefined} textDetectionParams + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @instance + */ + ImageContext.prototype.textDetectionParams = null; + /** * Creates a new ImageContext instance using the specified properties. * @function create @@ -30821,6 +31231,8 @@ $root.google.cloud.vision.v1p1beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p1beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.textDetectionParams != null && Object.hasOwnProperty.call(message, "textDetectionParams")) + $root.google.cloud.vision.v1p1beta1.TextDetectionParams.encode(message.textDetectionParams, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); return writer; }; @@ -30869,6 +31281,9 @@ case 6: message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.decode(reader, reader.uint32()); break; + case 12: + message.textDetectionParams = $root.google.cloud.vision.v1p1beta1.TextDetectionParams.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -30926,6 +31341,11 @@ if (error) return "webDetectionParams." + error; } + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) { + var error = $root.google.cloud.vision.v1p1beta1.TextDetectionParams.verify(message.textDetectionParams); + if (error) + return "textDetectionParams." + error; + } return null; }; @@ -30963,6 +31383,11 @@ throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.webDetectionParams: object expected"); message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.fromObject(object.webDetectionParams); } + if (object.textDetectionParams != null) { + if (typeof object.textDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p1beta1.ImageContext.textDetectionParams: object expected"); + message.textDetectionParams = $root.google.cloud.vision.v1p1beta1.TextDetectionParams.fromObject(object.textDetectionParams); + } return message; }; @@ -30985,6 +31410,7 @@ object.latLongRect = null; object.cropHintsParams = null; object.webDetectionParams = null; + object.textDetectionParams = null; } if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) object.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.toObject(message.latLongRect, options); @@ -30997,6 +31423,8 @@ object.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.toObject(message.cropHintsParams, options); if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) object.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) + object.textDetectionParams = $root.google.cloud.vision.v1p1beta1.TextDetectionParams.toObject(message.textDetectionParams, options); return object; }; @@ -42098,6 +42526,193 @@ return WebDetectionParams; })(); + v1p2beta1.TextDetectionParams = (function() { + + /** + * Properties of a TextDetectionParams. + * @memberof google.cloud.vision.v1p2beta1 + * @interface ITextDetectionParams + * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + */ + + /** + * Constructs a new TextDetectionParams. + * @memberof google.cloud.vision.v1p2beta1 + * @classdesc Represents a TextDetectionParams. + * @implements ITextDetectionParams + * @constructor + * @param {google.cloud.vision.v1p2beta1.ITextDetectionParams=} [properties] Properties to set + */ + function TextDetectionParams(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]]; + } + + /** + * TextDetectionParams enableTextDetectionConfidenceScore. + * @member {boolean} enableTextDetectionConfidenceScore + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p2beta1.ITextDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p2beta1.TextDetectionParams} TextDetectionParams instance + */ + TextDetectionParams.create = function create(properties) { + return new TextDetectionParams(properties); + }; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p2beta1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + return writer; + }; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p2beta1.TextDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p2beta1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p2beta1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p2beta1.TextDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 9: + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p2beta1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + if (typeof message.enableTextDetectionConfidenceScore !== "boolean") + return "enableTextDetectionConfidenceScore: boolean expected"; + return null; + }; + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p2beta1.TextDetectionParams} TextDetectionParams + */ + TextDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p2beta1.TextDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1p2beta1.TextDetectionParams(); + if (object.enableTextDetectionConfidenceScore != null) + message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + return message; + }; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p2beta1.TextDetectionParams} message TextDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.enableTextDetectionConfidenceScore = false; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + return object; + }; + + /** + * Converts this TextDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @instance + * @returns {Object.} JSON object + */ + TextDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextDetectionParams; + })(); + v1p2beta1.ImageContext = (function() { /** @@ -42108,6 +42723,7 @@ * @property {Array.|null} [languageHints] ImageContext languageHints * @property {google.cloud.vision.v1p2beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams * @property {google.cloud.vision.v1p2beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @property {google.cloud.vision.v1p2beta1.ITextDetectionParams|null} [textDetectionParams] ImageContext textDetectionParams */ /** @@ -42158,6 +42774,14 @@ */ ImageContext.prototype.webDetectionParams = null; + /** + * ImageContext textDetectionParams. + * @member {google.cloud.vision.v1p2beta1.ITextDetectionParams|null|undefined} textDetectionParams + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @instance + */ + ImageContext.prototype.textDetectionParams = null; + /** * Creates a new ImageContext instance using the specified properties. * @function create @@ -42191,6 +42815,8 @@ $root.google.cloud.vision.v1p2beta1.CropHintsParams.encode(message.cropHintsParams, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p2beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.textDetectionParams != null && Object.hasOwnProperty.call(message, "textDetectionParams")) + $root.google.cloud.vision.v1p2beta1.TextDetectionParams.encode(message.textDetectionParams, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); return writer; }; @@ -42239,6 +42865,9 @@ case 6: message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.decode(reader, reader.uint32()); break; + case 12: + message.textDetectionParams = $root.google.cloud.vision.v1p2beta1.TextDetectionParams.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -42296,6 +42925,11 @@ if (error) return "webDetectionParams." + error; } + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) { + var error = $root.google.cloud.vision.v1p2beta1.TextDetectionParams.verify(message.textDetectionParams); + if (error) + return "textDetectionParams." + error; + } return null; }; @@ -42333,6 +42967,11 @@ throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.webDetectionParams: object expected"); message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.fromObject(object.webDetectionParams); } + if (object.textDetectionParams != null) { + if (typeof object.textDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p2beta1.ImageContext.textDetectionParams: object expected"); + message.textDetectionParams = $root.google.cloud.vision.v1p2beta1.TextDetectionParams.fromObject(object.textDetectionParams); + } return message; }; @@ -42355,6 +42994,7 @@ object.latLongRect = null; object.cropHintsParams = null; object.webDetectionParams = null; + object.textDetectionParams = null; } if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) object.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.toObject(message.latLongRect, options); @@ -42367,6 +43007,8 @@ object.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.toObject(message.cropHintsParams, options); if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) object.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) + object.textDetectionParams = $root.google.cloud.vision.v1p2beta1.TextDetectionParams.toObject(message.textDetectionParams, options); return object; }; @@ -56437,6 +57079,193 @@ return WebDetectionParams; })(); + v1p3beta1.TextDetectionParams = (function() { + + /** + * Properties of a TextDetectionParams. + * @memberof google.cloud.vision.v1p3beta1 + * @interface ITextDetectionParams + * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + */ + + /** + * Constructs a new TextDetectionParams. + * @memberof google.cloud.vision.v1p3beta1 + * @classdesc Represents a TextDetectionParams. + * @implements ITextDetectionParams + * @constructor + * @param {google.cloud.vision.v1p3beta1.ITextDetectionParams=} [properties] Properties to set + */ + function TextDetectionParams(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]]; + } + + /** + * TextDetectionParams enableTextDetectionConfidenceScore. + * @member {boolean} enableTextDetectionConfidenceScore + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p3beta1.ITextDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.TextDetectionParams} TextDetectionParams instance + */ + TextDetectionParams.create = function create(properties) { + return new TextDetectionParams(properties); + }; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p3beta1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + return writer; + }; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.TextDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p3beta1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.TextDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 9: + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + if (typeof message.enableTextDetectionConfidenceScore !== "boolean") + return "enableTextDetectionConfidenceScore: boolean expected"; + return null; + }; + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.TextDetectionParams} TextDetectionParams + */ + TextDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.TextDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.TextDetectionParams(); + if (object.enableTextDetectionConfidenceScore != null) + message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + return message; + }; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p3beta1.TextDetectionParams} message TextDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.enableTextDetectionConfidenceScore = false; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + return object; + }; + + /** + * Converts this TextDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @instance + * @returns {Object.} JSON object + */ + TextDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextDetectionParams; + })(); + v1p3beta1.ImageContext = (function() { /** @@ -56448,6 +57277,7 @@ * @property {google.cloud.vision.v1p3beta1.ICropHintsParams|null} [cropHintsParams] ImageContext cropHintsParams * @property {google.cloud.vision.v1p3beta1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams * @property {google.cloud.vision.v1p3beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @property {google.cloud.vision.v1p3beta1.ITextDetectionParams|null} [textDetectionParams] ImageContext textDetectionParams */ /** @@ -56506,6 +57336,14 @@ */ ImageContext.prototype.webDetectionParams = null; + /** + * ImageContext textDetectionParams. + * @member {google.cloud.vision.v1p3beta1.ITextDetectionParams|null|undefined} textDetectionParams + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @instance + */ + ImageContext.prototype.textDetectionParams = null; + /** * Creates a new ImageContext instance using the specified properties. * @function create @@ -56541,6 +57379,8 @@ $root.google.cloud.vision.v1p3beta1.ProductSearchParams.encode(message.productSearchParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.webDetectionParams != null && Object.hasOwnProperty.call(message, "webDetectionParams")) $root.google.cloud.vision.v1p3beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.textDetectionParams != null && Object.hasOwnProperty.call(message, "textDetectionParams")) + $root.google.cloud.vision.v1p3beta1.TextDetectionParams.encode(message.textDetectionParams, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); return writer; }; @@ -56592,6 +57432,9 @@ case 6: message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.decode(reader, reader.uint32()); break; + case 12: + message.textDetectionParams = $root.google.cloud.vision.v1p3beta1.TextDetectionParams.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -56654,6 +57497,11 @@ if (error) return "webDetectionParams." + error; } + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) { + var error = $root.google.cloud.vision.v1p3beta1.TextDetectionParams.verify(message.textDetectionParams); + if (error) + return "textDetectionParams." + error; + } return null; }; @@ -56696,6 +57544,11 @@ throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.webDetectionParams: object expected"); message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.fromObject(object.webDetectionParams); } + if (object.textDetectionParams != null) { + if (typeof object.textDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ImageContext.textDetectionParams: object expected"); + message.textDetectionParams = $root.google.cloud.vision.v1p3beta1.TextDetectionParams.fromObject(object.textDetectionParams); + } return message; }; @@ -56719,6 +57572,7 @@ object.cropHintsParams = null; object.productSearchParams = null; object.webDetectionParams = null; + object.textDetectionParams = null; } if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) object.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.toObject(message.latLongRect, options); @@ -56733,6 +57587,8 @@ object.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.toObject(message.productSearchParams, options); if (message.webDetectionParams != null && message.hasOwnProperty("webDetectionParams")) object.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.toObject(message.webDetectionParams, options); + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) + object.textDetectionParams = $root.google.cloud.vision.v1p3beta1.TextDetectionParams.toObject(message.textDetectionParams, options); return object; }; @@ -80089,6 +80945,193 @@ return WebDetectionParams; })(); + v1p4beta1.TextDetectionParams = (function() { + + /** + * Properties of a TextDetectionParams. + * @memberof google.cloud.vision.v1p4beta1 + * @interface ITextDetectionParams + * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + */ + + /** + * Constructs a new TextDetectionParams. + * @memberof google.cloud.vision.v1p4beta1 + * @classdesc Represents a TextDetectionParams. + * @implements ITextDetectionParams + * @constructor + * @param {google.cloud.vision.v1p4beta1.ITextDetectionParams=} [properties] Properties to set + */ + function TextDetectionParams(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]]; + } + + /** + * TextDetectionParams enableTextDetectionConfidenceScore. + * @member {boolean} enableTextDetectionConfidenceScore + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + + /** + * Creates a new TextDetectionParams instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p4beta1.ITextDetectionParams=} [properties] Properties to set + * @returns {google.cloud.vision.v1p4beta1.TextDetectionParams} TextDetectionParams instance + */ + TextDetectionParams.create = function create(properties) { + return new TextDetectionParams(properties); + }; + + /** + * Encodes the specified TextDetectionParams message. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextDetectionParams.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p4beta1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + return writer; + }; + + /** + * Encodes the specified TextDetectionParams message, length delimited. Does not implicitly {@link google.cloud.vision.v1p4beta1.TextDetectionParams.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p4beta1.ITextDetectionParams} message TextDetectionParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TextDetectionParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p4beta1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p4beta1.TextDetectionParams(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 9: + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TextDetectionParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p4beta1.TextDetectionParams} TextDetectionParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TextDetectionParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TextDetectionParams message. + * @function verify + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TextDetectionParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + if (typeof message.enableTextDetectionConfidenceScore !== "boolean") + return "enableTextDetectionConfidenceScore: boolean expected"; + return null; + }; + + /** + * Creates a TextDetectionParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p4beta1.TextDetectionParams} TextDetectionParams + */ + TextDetectionParams.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p4beta1.TextDetectionParams) + return object; + var message = new $root.google.cloud.vision.v1p4beta1.TextDetectionParams(); + if (object.enableTextDetectionConfidenceScore != null) + message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + return message; + }; + + /** + * Creates a plain object from a TextDetectionParams message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @static + * @param {google.cloud.vision.v1p4beta1.TextDetectionParams} message TextDetectionParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TextDetectionParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.enableTextDetectionConfidenceScore = false; + if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) + object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + return object; + }; + + /** + * Converts this TextDetectionParams to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @instance + * @returns {Object.} JSON object + */ + TextDetectionParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TextDetectionParams; + })(); + v1p4beta1.ImageContext = (function() { /** @@ -80101,6 +81144,7 @@ * @property {google.cloud.vision.v1p4beta1.IFaceRecognitionParams|null} [faceRecognitionParams] ImageContext faceRecognitionParams * @property {google.cloud.vision.v1p4beta1.IProductSearchParams|null} [productSearchParams] ImageContext productSearchParams * @property {google.cloud.vision.v1p4beta1.IWebDetectionParams|null} [webDetectionParams] ImageContext webDetectionParams + * @property {google.cloud.vision.v1p4beta1.ITextDetectionParams|null} [textDetectionParams] ImageContext textDetectionParams */ /** @@ -80167,6 +81211,14 @@ */ ImageContext.prototype.webDetectionParams = null; + /** + * ImageContext textDetectionParams. + * @member {google.cloud.vision.v1p4beta1.ITextDetectionParams|null|undefined} textDetectionParams + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @instance + */ + ImageContext.prototype.textDetectionParams = null; + /** * Creates a new ImageContext instance using the specified properties. * @function create @@ -80204,6 +81256,8 @@ $root.google.cloud.vision.v1p4beta1.WebDetectionParams.encode(message.webDetectionParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.faceRecognitionParams != null && Object.hasOwnProperty.call(message, "faceRecognitionParams")) $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.encode(message.faceRecognitionParams, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.textDetectionParams != null && Object.hasOwnProperty.call(message, "textDetectionParams")) + $root.google.cloud.vision.v1p4beta1.TextDetectionParams.encode(message.textDetectionParams, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); return writer; }; @@ -80258,6 +81312,9 @@ case 6: message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.decode(reader, reader.uint32()); break; + case 12: + message.textDetectionParams = $root.google.cloud.vision.v1p4beta1.TextDetectionParams.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -80325,6 +81382,11 @@ if (error) return "webDetectionParams." + error; } + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) { + var error = $root.google.cloud.vision.v1p4beta1.TextDetectionParams.verify(message.textDetectionParams); + if (error) + return "textDetectionParams." + error; + } return null; }; @@ -80372,6 +81434,11 @@ throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.webDetectionParams: object expected"); message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.fromObject(object.webDetectionParams); } + if (object.textDetectionParams != null) { + if (typeof object.textDetectionParams !== "object") + throw TypeError(".google.cloud.vision.v1p4beta1.ImageContext.textDetectionParams: object expected"); + message.textDetectionParams = $root.google.cloud.vision.v1p4beta1.TextDetectionParams.fromObject(object.textDetectionParams); + } return message; }; @@ -80396,6 +81463,7 @@ object.productSearchParams = null; object.webDetectionParams = null; object.faceRecognitionParams = null; + object.textDetectionParams = null; } if (message.latLongRect != null && message.hasOwnProperty("latLongRect")) object.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.toObject(message.latLongRect, options); @@ -80412,6 +81480,8 @@ object.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.toObject(message.webDetectionParams, options); if (message.faceRecognitionParams != null && message.hasOwnProperty("faceRecognitionParams")) object.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.toObject(message.faceRecognitionParams, options); + if (message.textDetectionParams != null && message.hasOwnProperty("textDetectionParams")) + object.textDetectionParams = $root.google.cloud.vision.v1p4beta1.TextDetectionParams.toObject(message.textDetectionParams, options); return object; }; diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 34ff79477d8..bdf5017634e 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -639,6 +639,14 @@ } } }, + "TextDetectionParams": { + "fields": { + "enableTextDetectionConfidenceScore": { + "type": "bool", + "id": 9 + } + } + }, "ImageContext": { "fields": { "latLongRect": { @@ -661,6 +669,10 @@ "webDetectionParams": { "type": "WebDetectionParams", "id": 6 + }, + "textDetectionParams": { + "type": "TextDetectionParams", + "id": 12 } } }, @@ -2783,6 +2795,14 @@ } } }, + "TextDetectionParams": { + "fields": { + "enableTextDetectionConfidenceScore": { + "type": "bool", + "id": 9 + } + } + }, "ImageContext": { "fields": { "latLongRect": { @@ -2801,6 +2821,10 @@ "webDetectionParams": { "type": "WebDetectionParams", "id": 6 + }, + "textDetectionParams": { + "type": "TextDetectionParams", + "id": 12 } } }, @@ -3670,6 +3694,14 @@ } } }, + "TextDetectionParams": { + "fields": { + "enableTextDetectionConfidenceScore": { + "type": "bool", + "id": 9 + } + } + }, "ImageContext": { "fields": { "latLongRect": { @@ -3688,6 +3720,10 @@ "webDetectionParams": { "type": "WebDetectionParams", "id": 6 + }, + "textDetectionParams": { + "type": "TextDetectionParams", + "id": 12 } } }, @@ -4738,6 +4774,14 @@ } } }, + "TextDetectionParams": { + "fields": { + "enableTextDetectionConfidenceScore": { + "type": "bool", + "id": 9 + } + } + }, "ImageContext": { "fields": { "latLongRect": { @@ -4760,6 +4804,10 @@ "webDetectionParams": { "type": "WebDetectionParams", "id": 6 + }, + "textDetectionParams": { + "type": "TextDetectionParams", + "id": 12 } } }, @@ -6917,6 +6965,14 @@ } } }, + "TextDetectionParams": { + "fields": { + "enableTextDetectionConfidenceScore": { + "type": "bool", + "id": 9 + } + } + }, "ImageContext": { "fields": { "latLongRect": { @@ -6943,6 +6999,10 @@ "webDetectionParams": { "type": "WebDetectionParams", "id": 6 + }, + "textDetectionParams": { + "type": "TextDetectionParams", + "id": 12 } } }, diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index dbd94897d39..9f0a93fdb09 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -11,8 +11,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "2f019bf70bfe06f1e2af1b04011b0a2405190e43", - "internalRef": "343202295" + "sha": "80a56e032bcc6a52cc41091c9a9ab527ec233f1f", + "internalRef": "344839236" } }, { From 319f9e68d13057503af820d415f5108212fd785a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 5 Jan 2021 16:22:51 -0800 Subject: [PATCH 470/588] docs: update license --- packages/google-cloud-vision/.jsdoc.js | 4 ++-- packages/google-cloud-vision/protos/protos.d.ts | 2 +- packages/google-cloud-vision/protos/protos.js | 2 +- packages/google-cloud-vision/src/v1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1/index.ts | 2 +- packages/google-cloud-vision/src/v1/product_search_client.ts | 2 +- .../src/v1p1beta1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1p1beta1/index.ts | 2 +- .../src/v1p2beta1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1p2beta1/index.ts | 2 +- .../src/v1p3beta1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1p3beta1/index.ts | 2 +- .../src/v1p3beta1/product_search_client.ts | 2 +- .../src/v1p4beta1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1p4beta1/index.ts | 2 +- .../src/v1p4beta1/product_search_client.ts | 2 +- packages/google-cloud-vision/synth.metadata | 2 +- .../system-test/fixtures/sample/src/index.js | 2 +- .../system-test/fixtures/sample/src/index.ts | 2 +- packages/google-cloud-vision/system-test/install.ts | 2 +- packages/google-cloud-vision/test/gapic_image_annotator_v1.ts | 2 +- .../test/gapic_image_annotator_v1p1beta1.ts | 2 +- .../test/gapic_image_annotator_v1p2beta1.ts | 2 +- .../test/gapic_image_annotator_v1p3beta1.ts | 2 +- .../test/gapic_image_annotator_v1p4beta1.ts | 2 +- packages/google-cloud-vision/test/gapic_product_search_v1.ts | 2 +- .../test/gapic_product_search_v1p3beta1.ts | 2 +- .../test/gapic_product_search_v1p4beta1.ts | 2 +- 28 files changed, 29 insertions(+), 29 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index e799b48d470..5d1fc1bc20e 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,7 +40,7 @@ module.exports = { includePattern: '\\.js$' }, templates: { - copyright: 'Copyright 2020 Google LLC', + copyright: 'Copyright 2021 Google LLC', includeDate: false, sourceFiles: false, systemName: '@google-cloud/vision', diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index b39f2dbaa2b..d63b7995037 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index e48400b9d1a..b6fe2889794 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 4b00ee56b8e..0b043fd0fac 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/index.ts b/packages/google-cloud-vision/src/v1/index.ts index 7d504852a5e..af010f327a2 100644 --- a/packages/google-cloud-vision/src/v1/index.ts +++ b/packages/google-cloud-vision/src/v1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index bad91fda947..d12a87cdc92 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 4ba7139e8e5..37d4d61fa18 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p1beta1/index.ts b/packages/google-cloud-vision/src/v1p1beta1/index.ts index 4005dca0f63..9d921669d24 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index cbb3a2f9dc2..6bd3185f936 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/index.ts b/packages/google-cloud-vision/src/v1p2beta1/index.ts index 4005dca0f63..9d921669d24 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 46da89f6d7d..410cbdb4a23 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/index.ts b/packages/google-cloud-vision/src/v1p3beta1/index.ts index 7d504852a5e..af010f327a2 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 90cc870f89f..a84f257ead3 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 7429d63625a..3270cd17cb3 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/index.ts b/packages/google-cloud-vision/src/v1p4beta1/index.ts index 7d504852a5e..af010f327a2 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 7acd7ed53c9..b0f596f6cf4 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 9f0a93fdb09..6628690b56f 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "3784521b3675a9b5d05132fc31dde6cc3f0c7a72" + "sha": "f354a9d9d05cb3da5b8b7dd7ec3758a10cd0fc9e" } }, { diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js index 2e1ab78148a..6f4b087d715 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts index c736d2c3a62..3c9a7d81213 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/system-test/install.ts b/packages/google-cloud-vision/system-test/install.ts index 39d90f771de..d2d61c0396f 100644 --- a/packages/google-cloud-vision/system-test/install.ts +++ b/packages/google-cloud-vision/system-test/install.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index b384893461f..e0c322a25a2 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index e52563d9e9d..54331554130 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index 512caa90c0e..c78cc0e08d2 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index 837a102555a..cb02e664a2a 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index 1b08dc53271..cab99e1e162 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index 521f950fb91..928d175f12f 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index 496d37fd55b..1781f1309a2 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index 9cd13c5f6d7..d34215add71 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From 19479a48da643fb4f2a025d472b9a1b4d7a28dd6 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 5 Jan 2021 16:33:30 -0800 Subject: [PATCH 471/588] chore: release 2.2.0 (#853) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Benjamin E. Coe --- packages/google-cloud-vision/CHANGELOG.md | 13 +++++++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 26469d0283f..263d9cdab56 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,19 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [2.2.0](https://www.github.com/googleapis/nodejs-vision/compare/v2.1.2...v2.2.0) (2021-01-06) + + +### Features + +* Add TextDetectionParams.enable_text_detection_confidence_score ([#850](https://www.github.com/googleapis/nodejs-vision/issues/850)) ([c8f51a2](https://www.github.com/googleapis/nodejs-vision/commit/c8f51a2fd03e0dc80c7a36c9e7602f2c1a94a73d)) + + +### Bug Fixes + +* **browser:** check for fetch on window ([ef95fb1](https://www.github.com/googleapis/nodejs-vision/commit/ef95fb1ff7f2495b2929c18b4c814ad93c8b42cc)) +* do not modify options object, use defaultScopes ([#845](https://www.github.com/googleapis/nodejs-vision/issues/845)) ([8377b42](https://www.github.com/googleapis/nodejs-vision/commit/8377b4268a4ed4ef07869c75c1ae48f4ec3b01ce)) + ### [2.1.2](https://www.github.com/googleapis/nodejs-vision/compare/v2.1.1...v2.1.2) (2020-09-12) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 363606704df..2151379bae2 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.1.2", + "version": "2.2.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 08013c4c08f..4ac1d27bbb8 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.1.2", + "@google-cloud/vision": "^2.2.0", "natural": "^2.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", From 210c555f58cbabf046835c52f96d2c6015a0400f Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 6 Jan 2021 13:16:22 -0800 Subject: [PATCH 472/588] feat: introduce style enumeration --- .../google-cloud-vision/protos/protos.d.ts | 12 +++ packages/google-cloud-vision/protos/protos.js | 78 ++++++++++++++++++- .../google-cloud-vision/protos/protos.json | 13 +++- packages/google-cloud-vision/synth.metadata | 2 +- 4 files changed, 102 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index d63b7995037..3bca27ecef5 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -40549,6 +40549,9 @@ export namespace google { /** ResourceDescriptor singular */ singular?: (string|null); + + /** ResourceDescriptor style */ + style?: (google.api.ResourceDescriptor.Style[]|null); } /** Represents a ResourceDescriptor. */ @@ -40578,6 +40581,9 @@ export namespace google { /** 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 @@ -40657,6 +40663,12 @@ export namespace google { ORIGINALLY_SINGLE_PATTERN = 1, FUTURE_MULTI_PATTERN = 2 } + + /** Style enum. */ + enum Style { + STYLE_UNSPECIFIED = 0, + DECLARATIVE_FRIENDLY = 1 + } } /** Properties of a ResourceReference. */ diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index b6fe2889794..00a129dcea3 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -100502,6 +100502,7 @@ * @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 */ /** @@ -100514,6 +100515,7 @@ */ 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) @@ -100568,6 +100570,14 @@ */ ResourceDescriptor.prototype.singular = ""; + /** + * ResourceDescriptor style. + * @member {Array.} style + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.style = $util.emptyArray; + /** * Creates a new ResourceDescriptor instance using the specified properties. * @function create @@ -100605,6 +100615,12 @@ writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural); if (message.singular != null && Object.hasOwnProperty.call(message, "singular")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular); + if (message.style != null && message.style.length) { + writer.uint32(/* id 10, wireType 2 =*/82).fork(); + for (var i = 0; i < message.style.length; ++i) + writer.int32(message.style[i]); + writer.ldelim(); + } return writer; }; @@ -100659,6 +100675,16 @@ case 6: message.singular = reader.string(); break; + case 10: + if (!(message.style && message.style.length)) + message.style = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.style.push(reader.int32()); + } else + message.style.push(reader.int32()); + break; default: reader.skipType(tag & 7); break; @@ -100722,6 +100748,18 @@ if (message.singular != null && message.hasOwnProperty("singular")) if (!$util.isString(message.singular)) return "singular: string expected"; + if (message.style != null && message.hasOwnProperty("style")) { + if (!Array.isArray(message.style)) + return "style: array expected"; + for (var i = 0; i < message.style.length; ++i) + switch (message.style[i]) { + default: + return "style: enum value[] expected"; + case 0: + case 1: + break; + } + } return null; }; @@ -100766,6 +100804,23 @@ message.plural = String(object.plural); if (object.singular != null) message.singular = String(object.singular); + if (object.style) { + if (!Array.isArray(object.style)) + throw TypeError(".google.api.ResourceDescriptor.style: array expected"); + message.style = []; + for (var i = 0; i < object.style.length; ++i) + switch (object.style[i]) { + default: + case "STYLE_UNSPECIFIED": + case 0: + message.style[i] = 0; + break; + case "DECLARATIVE_FRIENDLY": + case 1: + message.style[i] = 1; + break; + } + } return message; }; @@ -100782,8 +100837,10 @@ if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) + if (options.arrays || options.defaults) { object.pattern = []; + object.style = []; + } if (options.defaults) { object.type = ""; object.nameField = ""; @@ -100806,6 +100863,11 @@ object.plural = message.plural; if (message.singular != null && message.hasOwnProperty("singular")) object.singular = message.singular; + if (message.style && message.style.length) { + object.style = []; + for (var j = 0; j < message.style.length; ++j) + object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j]; + } return object; }; @@ -100836,6 +100898,20 @@ return values; })(); + /** + * Style enum. + * @name google.api.ResourceDescriptor.Style + * @enum {number} + * @property {number} STYLE_UNSPECIFIED=0 STYLE_UNSPECIFIED value + * @property {number} DECLARATIVE_FRIENDLY=1 DECLARATIVE_FRIENDLY value + */ + ResourceDescriptor.Style = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STYLE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DECLARATIVE_FRIENDLY"] = 1; + return values; + })(); + return ResourceDescriptor; })(); diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index bdf5017634e..1fdbc4cb755 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -8856,6 +8856,11 @@ "singular": { "type": "string", "id": 6 + }, + "style": { + "rule": "repeated", + "type": "Style", + "id": 10 } }, "nested": { @@ -8865,6 +8870,12 @@ "ORIGINALLY_SINGLE_PATTERN": 1, "FUTURE_MULTI_PATTERN": 2 } + }, + "Style": { + "values": { + "STYLE_UNSPECIFIED": 0, + "DECLARATIVE_FRIENDLY": 1 + } } } }, @@ -8884,7 +8895,7 @@ }, "protobuf": { "options": { - "go_package": "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor", + "go_package": "google.golang.org/protobuf/types/descriptorpb", "java_package": "com.google.protobuf", "java_outer_classname": "DescriptorProtos", "csharp_namespace": "Google.Protobuf.Reflection", diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 6628690b56f..00ad661df45 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "f354a9d9d05cb3da5b8b7dd7ec3758a10cd0fc9e" + "sha": "45ffc4683a85defd2e0b194fdf92cffbed7573a7" } }, { From 3c60f467066ef1464513fb1da83b219bbc367d36 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 6 Jan 2021 14:18:52 -0800 Subject: [PATCH 473/588] build: introduce gapic metadata JSON (#855) --- .../src/v1/gapic_metadata.json | 283 ++++++++++++++++++ .../src/v1p1beta1/gapic_metadata.json | 33 ++ .../src/v1p2beta1/gapic_metadata.json | 43 +++ .../src/v1p3beta1/gapic_metadata.json | 253 ++++++++++++++++ .../src/v1p4beta1/gapic_metadata.json | 283 ++++++++++++++++++ packages/google-cloud-vision/synth.metadata | 4 +- 6 files changed, 897 insertions(+), 2 deletions(-) create mode 100644 packages/google-cloud-vision/src/v1/gapic_metadata.json create mode 100644 packages/google-cloud-vision/src/v1p1beta1/gapic_metadata.json create mode 100644 packages/google-cloud-vision/src/v1p2beta1/gapic_metadata.json create mode 100644 packages/google-cloud-vision/src/v1p3beta1/gapic_metadata.json create mode 100644 packages/google-cloud-vision/src/v1p4beta1/gapic_metadata.json diff --git a/packages/google-cloud-vision/src/v1/gapic_metadata.json b/packages/google-cloud-vision/src/v1/gapic_metadata.json new file mode 100644 index 00000000000..13fb1dac6ff --- /dev/null +++ b/packages/google-cloud-vision/src/v1/gapic_metadata.json @@ -0,0 +1,283 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.vision.v1", + "libraryPackage": "@google-cloud/vision", + "services": { + "ImageAnnotator": { + "clients": { + "grpc": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + }, + "BatchAnnotateFiles": { + "methods": [ + "batchAnnotateFiles" + ] + }, + "AsyncBatchAnnotateImages": { + "methods": [ + "asyncBatchAnnotateImages" + ] + }, + "AsyncBatchAnnotateFiles": { + "methods": [ + "asyncBatchAnnotateFiles" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + }, + "BatchAnnotateFiles": { + "methods": [ + "batchAnnotateFiles" + ] + }, + "AsyncBatchAnnotateImages": { + "methods": [ + "asyncBatchAnnotateImages" + ] + }, + "AsyncBatchAnnotateFiles": { + "methods": [ + "asyncBatchAnnotateFiles" + ] + } + } + } + } + }, + "ProductSearch": { + "clients": { + "grpc": { + "libraryClient": "ProductSearchClient", + "rpcs": { + "CreateProductSet": { + "methods": [ + "createProductSet" + ] + }, + "GetProductSet": { + "methods": [ + "getProductSet" + ] + }, + "UpdateProductSet": { + "methods": [ + "updateProductSet" + ] + }, + "DeleteProductSet": { + "methods": [ + "deleteProductSet" + ] + }, + "CreateProduct": { + "methods": [ + "createProduct" + ] + }, + "GetProduct": { + "methods": [ + "getProduct" + ] + }, + "UpdateProduct": { + "methods": [ + "updateProduct" + ] + }, + "DeleteProduct": { + "methods": [ + "deleteProduct" + ] + }, + "CreateReferenceImage": { + "methods": [ + "createReferenceImage" + ] + }, + "DeleteReferenceImage": { + "methods": [ + "deleteReferenceImage" + ] + }, + "GetReferenceImage": { + "methods": [ + "getReferenceImage" + ] + }, + "AddProductToProductSet": { + "methods": [ + "addProductToProductSet" + ] + }, + "RemoveProductFromProductSet": { + "methods": [ + "removeProductFromProductSet" + ] + }, + "ImportProductSets": { + "methods": [ + "importProductSets" + ] + }, + "PurgeProducts": { + "methods": [ + "purgeProducts" + ] + }, + "ListProductSets": { + "methods": [ + "listProductSets", + "listProductSetsStream", + "listProductSetsAsync" + ] + }, + "ListProducts": { + "methods": [ + "listProducts", + "listProductsStream", + "listProductsAsync" + ] + }, + "ListReferenceImages": { + "methods": [ + "listReferenceImages", + "listReferenceImagesStream", + "listReferenceImagesAsync" + ] + }, + "ListProductsInProductSet": { + "methods": [ + "listProductsInProductSet", + "listProductsInProductSetStream", + "listProductsInProductSetAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ProductSearchClient", + "rpcs": { + "CreateProductSet": { + "methods": [ + "createProductSet" + ] + }, + "GetProductSet": { + "methods": [ + "getProductSet" + ] + }, + "UpdateProductSet": { + "methods": [ + "updateProductSet" + ] + }, + "DeleteProductSet": { + "methods": [ + "deleteProductSet" + ] + }, + "CreateProduct": { + "methods": [ + "createProduct" + ] + }, + "GetProduct": { + "methods": [ + "getProduct" + ] + }, + "UpdateProduct": { + "methods": [ + "updateProduct" + ] + }, + "DeleteProduct": { + "methods": [ + "deleteProduct" + ] + }, + "CreateReferenceImage": { + "methods": [ + "createReferenceImage" + ] + }, + "DeleteReferenceImage": { + "methods": [ + "deleteReferenceImage" + ] + }, + "GetReferenceImage": { + "methods": [ + "getReferenceImage" + ] + }, + "AddProductToProductSet": { + "methods": [ + "addProductToProductSet" + ] + }, + "RemoveProductFromProductSet": { + "methods": [ + "removeProductFromProductSet" + ] + }, + "ImportProductSets": { + "methods": [ + "importProductSets" + ] + }, + "PurgeProducts": { + "methods": [ + "purgeProducts" + ] + }, + "ListProductSets": { + "methods": [ + "listProductSets", + "listProductSetsStream", + "listProductSetsAsync" + ] + }, + "ListProducts": { + "methods": [ + "listProducts", + "listProductsStream", + "listProductsAsync" + ] + }, + "ListReferenceImages": { + "methods": [ + "listReferenceImages", + "listReferenceImagesStream", + "listReferenceImagesAsync" + ] + }, + "ListProductsInProductSet": { + "methods": [ + "listProductsInProductSet", + "listProductsInProductSetStream", + "listProductsInProductSetAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-vision/src/v1p1beta1/gapic_metadata.json b/packages/google-cloud-vision/src/v1p1beta1/gapic_metadata.json new file mode 100644 index 00000000000..2dc79630aa3 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p1beta1/gapic_metadata.json @@ -0,0 +1,33 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.vision.v1p1beta1", + "libraryPackage": "@google-cloud/vision", + "services": { + "ImageAnnotator": { + "clients": { + "grpc": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-vision/src/v1p2beta1/gapic_metadata.json b/packages/google-cloud-vision/src/v1p2beta1/gapic_metadata.json new file mode 100644 index 00000000000..116ff853df4 --- /dev/null +++ b/packages/google-cloud-vision/src/v1p2beta1/gapic_metadata.json @@ -0,0 +1,43 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.vision.v1p2beta1", + "libraryPackage": "@google-cloud/vision", + "services": { + "ImageAnnotator": { + "clients": { + "grpc": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + }, + "AsyncBatchAnnotateFiles": { + "methods": [ + "asyncBatchAnnotateFiles" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + }, + "AsyncBatchAnnotateFiles": { + "methods": [ + "asyncBatchAnnotateFiles" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-vision/src/v1p3beta1/gapic_metadata.json b/packages/google-cloud-vision/src/v1p3beta1/gapic_metadata.json new file mode 100644 index 00000000000..52ae14a4f6d --- /dev/null +++ b/packages/google-cloud-vision/src/v1p3beta1/gapic_metadata.json @@ -0,0 +1,253 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.vision.v1p3beta1", + "libraryPackage": "@google-cloud/vision", + "services": { + "ImageAnnotator": { + "clients": { + "grpc": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + }, + "AsyncBatchAnnotateFiles": { + "methods": [ + "asyncBatchAnnotateFiles" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + }, + "AsyncBatchAnnotateFiles": { + "methods": [ + "asyncBatchAnnotateFiles" + ] + } + } + } + } + }, + "ProductSearch": { + "clients": { + "grpc": { + "libraryClient": "ProductSearchClient", + "rpcs": { + "CreateProductSet": { + "methods": [ + "createProductSet" + ] + }, + "GetProductSet": { + "methods": [ + "getProductSet" + ] + }, + "UpdateProductSet": { + "methods": [ + "updateProductSet" + ] + }, + "DeleteProductSet": { + "methods": [ + "deleteProductSet" + ] + }, + "CreateProduct": { + "methods": [ + "createProduct" + ] + }, + "GetProduct": { + "methods": [ + "getProduct" + ] + }, + "UpdateProduct": { + "methods": [ + "updateProduct" + ] + }, + "DeleteProduct": { + "methods": [ + "deleteProduct" + ] + }, + "CreateReferenceImage": { + "methods": [ + "createReferenceImage" + ] + }, + "DeleteReferenceImage": { + "methods": [ + "deleteReferenceImage" + ] + }, + "GetReferenceImage": { + "methods": [ + "getReferenceImage" + ] + }, + "AddProductToProductSet": { + "methods": [ + "addProductToProductSet" + ] + }, + "RemoveProductFromProductSet": { + "methods": [ + "removeProductFromProductSet" + ] + }, + "ImportProductSets": { + "methods": [ + "importProductSets" + ] + }, + "ListProductSets": { + "methods": [ + "listProductSets", + "listProductSetsStream", + "listProductSetsAsync" + ] + }, + "ListProducts": { + "methods": [ + "listProducts", + "listProductsStream", + "listProductsAsync" + ] + }, + "ListReferenceImages": { + "methods": [ + "listReferenceImages", + "listReferenceImagesStream", + "listReferenceImagesAsync" + ] + }, + "ListProductsInProductSet": { + "methods": [ + "listProductsInProductSet", + "listProductsInProductSetStream", + "listProductsInProductSetAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ProductSearchClient", + "rpcs": { + "CreateProductSet": { + "methods": [ + "createProductSet" + ] + }, + "GetProductSet": { + "methods": [ + "getProductSet" + ] + }, + "UpdateProductSet": { + "methods": [ + "updateProductSet" + ] + }, + "DeleteProductSet": { + "methods": [ + "deleteProductSet" + ] + }, + "CreateProduct": { + "methods": [ + "createProduct" + ] + }, + "GetProduct": { + "methods": [ + "getProduct" + ] + }, + "UpdateProduct": { + "methods": [ + "updateProduct" + ] + }, + "DeleteProduct": { + "methods": [ + "deleteProduct" + ] + }, + "CreateReferenceImage": { + "methods": [ + "createReferenceImage" + ] + }, + "DeleteReferenceImage": { + "methods": [ + "deleteReferenceImage" + ] + }, + "GetReferenceImage": { + "methods": [ + "getReferenceImage" + ] + }, + "AddProductToProductSet": { + "methods": [ + "addProductToProductSet" + ] + }, + "RemoveProductFromProductSet": { + "methods": [ + "removeProductFromProductSet" + ] + }, + "ImportProductSets": { + "methods": [ + "importProductSets" + ] + }, + "ListProductSets": { + "methods": [ + "listProductSets", + "listProductSetsStream", + "listProductSetsAsync" + ] + }, + "ListProducts": { + "methods": [ + "listProducts", + "listProductsStream", + "listProductsAsync" + ] + }, + "ListReferenceImages": { + "methods": [ + "listReferenceImages", + "listReferenceImagesStream", + "listReferenceImagesAsync" + ] + }, + "ListProductsInProductSet": { + "methods": [ + "listProductsInProductSet", + "listProductsInProductSetStream", + "listProductsInProductSetAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-vision/src/v1p4beta1/gapic_metadata.json b/packages/google-cloud-vision/src/v1p4beta1/gapic_metadata.json new file mode 100644 index 00000000000..8338e6414aa --- /dev/null +++ b/packages/google-cloud-vision/src/v1p4beta1/gapic_metadata.json @@ -0,0 +1,283 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.vision.v1p4beta1", + "libraryPackage": "@google-cloud/vision", + "services": { + "ImageAnnotator": { + "clients": { + "grpc": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + }, + "BatchAnnotateFiles": { + "methods": [ + "batchAnnotateFiles" + ] + }, + "AsyncBatchAnnotateImages": { + "methods": [ + "asyncBatchAnnotateImages" + ] + }, + "AsyncBatchAnnotateFiles": { + "methods": [ + "asyncBatchAnnotateFiles" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ImageAnnotatorClient", + "rpcs": { + "BatchAnnotateImages": { + "methods": [ + "batchAnnotateImages" + ] + }, + "BatchAnnotateFiles": { + "methods": [ + "batchAnnotateFiles" + ] + }, + "AsyncBatchAnnotateImages": { + "methods": [ + "asyncBatchAnnotateImages" + ] + }, + "AsyncBatchAnnotateFiles": { + "methods": [ + "asyncBatchAnnotateFiles" + ] + } + } + } + } + }, + "ProductSearch": { + "clients": { + "grpc": { + "libraryClient": "ProductSearchClient", + "rpcs": { + "CreateProductSet": { + "methods": [ + "createProductSet" + ] + }, + "GetProductSet": { + "methods": [ + "getProductSet" + ] + }, + "UpdateProductSet": { + "methods": [ + "updateProductSet" + ] + }, + "DeleteProductSet": { + "methods": [ + "deleteProductSet" + ] + }, + "CreateProduct": { + "methods": [ + "createProduct" + ] + }, + "GetProduct": { + "methods": [ + "getProduct" + ] + }, + "UpdateProduct": { + "methods": [ + "updateProduct" + ] + }, + "DeleteProduct": { + "methods": [ + "deleteProduct" + ] + }, + "CreateReferenceImage": { + "methods": [ + "createReferenceImage" + ] + }, + "DeleteReferenceImage": { + "methods": [ + "deleteReferenceImage" + ] + }, + "GetReferenceImage": { + "methods": [ + "getReferenceImage" + ] + }, + "AddProductToProductSet": { + "methods": [ + "addProductToProductSet" + ] + }, + "RemoveProductFromProductSet": { + "methods": [ + "removeProductFromProductSet" + ] + }, + "ImportProductSets": { + "methods": [ + "importProductSets" + ] + }, + "PurgeProducts": { + "methods": [ + "purgeProducts" + ] + }, + "ListProductSets": { + "methods": [ + "listProductSets", + "listProductSetsStream", + "listProductSetsAsync" + ] + }, + "ListProducts": { + "methods": [ + "listProducts", + "listProductsStream", + "listProductsAsync" + ] + }, + "ListReferenceImages": { + "methods": [ + "listReferenceImages", + "listReferenceImagesStream", + "listReferenceImagesAsync" + ] + }, + "ListProductsInProductSet": { + "methods": [ + "listProductsInProductSet", + "listProductsInProductSetStream", + "listProductsInProductSetAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ProductSearchClient", + "rpcs": { + "CreateProductSet": { + "methods": [ + "createProductSet" + ] + }, + "GetProductSet": { + "methods": [ + "getProductSet" + ] + }, + "UpdateProductSet": { + "methods": [ + "updateProductSet" + ] + }, + "DeleteProductSet": { + "methods": [ + "deleteProductSet" + ] + }, + "CreateProduct": { + "methods": [ + "createProduct" + ] + }, + "GetProduct": { + "methods": [ + "getProduct" + ] + }, + "UpdateProduct": { + "methods": [ + "updateProduct" + ] + }, + "DeleteProduct": { + "methods": [ + "deleteProduct" + ] + }, + "CreateReferenceImage": { + "methods": [ + "createReferenceImage" + ] + }, + "DeleteReferenceImage": { + "methods": [ + "deleteReferenceImage" + ] + }, + "GetReferenceImage": { + "methods": [ + "getReferenceImage" + ] + }, + "AddProductToProductSet": { + "methods": [ + "addProductToProductSet" + ] + }, + "RemoveProductFromProductSet": { + "methods": [ + "removeProductFromProductSet" + ] + }, + "ImportProductSets": { + "methods": [ + "importProductSets" + ] + }, + "PurgeProducts": { + "methods": [ + "purgeProducts" + ] + }, + "ListProductSets": { + "methods": [ + "listProductSets", + "listProductSetsStream", + "listProductSetsAsync" + ] + }, + "ListProducts": { + "methods": [ + "listProducts", + "listProductsStream", + "listProductsAsync" + ] + }, + "ListReferenceImages": { + "methods": [ + "listReferenceImages", + "listReferenceImagesStream", + "listReferenceImagesAsync" + ] + }, + "ListProductsInProductSet": { + "methods": [ + "listProductsInProductSet", + "listProductsInProductSetStream", + "listProductsInProductSetAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 00ad661df45..b3068f4e72b 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -11,8 +11,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "80a56e032bcc6a52cc41091c9a9ab527ec233f1f", - "internalRef": "344839236" + "sha": "d189e871205fea665a9648f7c4676f027495ccaf", + "internalRef": "345596855" } }, { From b3cb3e6133830dfbad6be592a832e8a2b0a83304 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 12 Jan 2021 18:44:04 +0000 Subject: [PATCH 474/588] chore: release 2.3.0 (#857) :robot: I have created a release \*beep\* \*boop\* --- ## [2.3.0](https://www.github.com/googleapis/nodejs-vision/compare/v2.2.0...v2.3.0) (2021-01-06) ### Features * introduce style enumeration ([b5fe1ac](https://www.github.com/googleapis/nodejs-vision/commit/b5fe1aca1ee70176c5569d1ff9255958988a0077)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 263d9cdab56..361ccf0e905 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [2.3.0](https://www.github.com/googleapis/nodejs-vision/compare/v2.2.0...v2.3.0) (2021-01-06) + + +### Features + +* introduce style enumeration ([b5fe1ac](https://www.github.com/googleapis/nodejs-vision/commit/b5fe1aca1ee70176c5569d1ff9255958988a0077)) + ## [2.2.0](https://www.github.com/googleapis/nodejs-vision/compare/v2.1.2...v2.2.0) (2021-01-06) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2151379bae2..8570f1c4d6c 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.2.0", + "version": "2.3.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 4ac1d27bbb8..67abb312a20 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.2.0", + "@google-cloud/vision": "^2.3.0", "natural": "^2.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", From adffe8146e06e192df3deee3c440953a8feafda7 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 27 Jan 2021 08:40:13 -0800 Subject: [PATCH 475/588] refactor(nodejs): move build cop to flakybot (#860) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/1bcecc39-aa5c-40f4-9453-955704c7ca01/targets - [ ] To automatically regenerate this PR, check this box. Source-Link: https://github.com/googleapis/synthtool/commit/57c23fa5705499a4181095ced81f0ee0933b64f6 --- packages/google-cloud-vision/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index b3068f4e72b..3950a9c4cfb 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "45ffc4683a85defd2e0b194fdf92cffbed7573a7" + "sha": "c528bd8b1547d5f9ecd4d292c4ca7214b33f9e29" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "363fe305e9ce34a6cd53951c6ee5f997094b54ee" + "sha": "57c23fa5705499a4181095ced81f0ee0933b64f6" } } ], From 295b4554c319c663a7674f0e03d40909da5faa38 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Tue, 2 Feb 2021 17:52:14 -0800 Subject: [PATCH 476/588] chore: update CODEOWNERS config (#862) --- packages/google-cloud-vision/.repo-metadata.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/.repo-metadata.json b/packages/google-cloud-vision/.repo-metadata.json index 403b0720883..319ba965ca4 100644 --- a/packages/google-cloud-vision/.repo-metadata.json +++ b/packages/google-cloud-vision/.repo-metadata.json @@ -9,5 +9,6 @@ "repo": "googleapis/nodejs-vision", "distribution_name": "@google-cloud/vision", "api_id": "vision.googleapis.com", - "requires_billing": true + "requires_billing": true, + "codeowner_team": "@googleapis/ml-apis" } From e92c1492fa527a8bdd25ae28494d19575cfbc88a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 3 Feb 2021 17:42:46 +0100 Subject: [PATCH 477/588] fix(deps): update dependency natural to v3 (#865) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 67abb312a20..4e1229dfd6b 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@google-cloud/vision": "^2.3.0", - "natural": "^2.0.0", + "natural": "^3.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", "yargs": "^16.0.0" From 0cc04840f4defd6ec347ad0611ab61d5f9c8e701 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 3 Feb 2021 18:06:09 -0800 Subject: [PATCH 478/588] build: adds UNORDERED_LIST enum (#864) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/3ab4095b-0974-4516-aab6-99038956a6bc/targets - [ ] To automatically regenerate this PR, check this box. --- packages/google-cloud-vision/protos/protos.d.ts | 3 ++- packages/google-cloud-vision/protos/protos.js | 7 +++++++ packages/google-cloud-vision/protos/protos.json | 3 ++- packages/google-cloud-vision/synth.metadata | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 3bca27ecef5..516cbd0609f 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -40526,7 +40526,8 @@ export namespace google { REQUIRED = 2, OUTPUT_ONLY = 3, INPUT_ONLY = 4, - IMMUTABLE = 5 + IMMUTABLE = 5, + UNORDERED_LIST = 6 } /** Properties of a ResourceDescriptor. */ diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 00a129dcea3..91c96e55e0e 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -100478,6 +100478,7 @@ * @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 */ api.FieldBehavior = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -100487,6 +100488,7 @@ values[valuesById[3] = "OUTPUT_ONLY"] = 3; values[valuesById[4] = "INPUT_ONLY"] = 4; values[valuesById[5] = "IMMUTABLE"] = 5; + values[valuesById[6] = "UNORDERED_LIST"] = 6; return values; })(); @@ -106654,6 +106656,7 @@ case 3: case 4: case 5: + case 6: break; } } @@ -106754,6 +106757,10 @@ case 5: message[".google.api.fieldBehavior"][i] = 5; break; + case "UNORDERED_LIST": + case 6: + message[".google.api.fieldBehavior"][i] = 6; + break; } } if (object[".google.api.resourceReference"] != null) { diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 1fdbc4cb755..b933914f02f 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -8811,7 +8811,8 @@ "REQUIRED": 2, "OUTPUT_ONLY": 3, "INPUT_ONLY": 4, - "IMMUTABLE": 5 + "IMMUTABLE": 5, + "UNORDERED_LIST": 6 } }, "resourceReference": { diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 3950a9c4cfb..92ad8a1e3c5 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "c528bd8b1547d5f9ecd4d292c4ca7214b33f9e29" + "sha": "cde1fe1b9142cafa7a104165392b61aa5e665769" } }, { From adae0eb35e7ad9fa1a711da4253ccfe2a1dff485 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Mon, 8 Feb 2021 10:37:58 -0800 Subject: [PATCH 479/588] chore: increased timeout on system-test to prvent flakiness (#867) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 8570f1c4d6c..7fd03f599f4 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -31,7 +31,7 @@ "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../", "lint": "gts check", "docs": "jsdoc -c .jsdoc.js", - "system-test": "mocha build/system-test", + "system-test": "mocha build/system-test --timeout 20000", "fix": "gts fix", "test-no-cover": "mocha test/*.js", "docs-test": "linkinator docs", From 0d0c22db7760293e5ef3c809608a30655436a493 Mon Sep 17 00:00:00 2001 From: Mike <45373284+munkhuushmgl@users.noreply.github.com> Date: Thu, 11 Feb 2021 10:27:07 -0800 Subject: [PATCH 480/588] chore: Vision have some throttling for external URLs, added retry in case it throttles (#869) --- packages/google-cloud-vision/system-test/vision.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/system-test/vision.ts b/packages/google-cloud-vision/system-test/vision.ts index ce40903db2a..0afb9ff9264 100644 --- a/packages/google-cloud-vision/system-test/vision.ts +++ b/packages/google-cloud-vision/system-test/vision.ts @@ -69,7 +69,8 @@ describe('Vision', () => { ); }); - it('should detect from a URL', () => { + it('should detect from a URL', function () { + this.retries(3); const url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; return client From 89bfb75fcbf56e3bdcb15b10903a02b9db9a45fa Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 11 Feb 2021 16:34:03 -0800 Subject: [PATCH 481/588] fix: sync vision v1 protos to get extra FaceAnnotation Landmark Types (#868) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/68496d38-5e85-4300-adda-635f2834941d/targets - [ ] To automatically regenerate this PR, check this box. PiperOrigin-RevId: 356556588 Source-Link: https://github.com/googleapis/googleapis/commit/9b95bf0e95501ec98537e0d2d9d36bb763ebd5b9 --- .../google/cloud/vision/v1/geometry.proto | 3 +- .../cloud/vision/v1/image_annotator.proto | 53 ++++++++++++------- .../cloud/vision/v1/product_search.proto | 11 ++-- .../vision/v1/product_search_service.proto | 14 ++--- .../cloud/vision/v1/text_annotation.proto | 3 +- .../cloud/vision/v1/web_detection.proto | 3 +- .../google-cloud-vision/protos/protos.d.ts | 4 +- packages/google-cloud-vision/protos/protos.js | 14 +++++ .../google-cloud-vision/protos/protos.json | 34 +++++++++--- .../src/v1/image_annotator_client.ts | 4 +- .../src/v1/product_search_client.ts | 4 +- packages/google-cloud-vision/synth.metadata | 6 +-- 12 files changed, 97 insertions(+), 56 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto index 881c8f84ede..376d2da39e8 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // 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"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index 7f13e35c514..3852bed7c01 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // 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"; @@ -48,7 +47,8 @@ service ImageAnnotator { "https://www.googleapis.com/auth/cloud-vision"; // Run image detection and annotation for a batch of images. - rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) + returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1/images:annotate" body: "*" @@ -71,7 +71,8 @@ service ImageAnnotator { // AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each // file provided and perform detection and annotation for each image // extracted. - rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) returns (BatchAnnotateFilesResponse) { + rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) + returns (BatchAnnotateFilesResponse) { option (google.api.http) = { post: "/v1/files:annotate" body: "*" @@ -96,7 +97,8 @@ service ImageAnnotator { // // This service will write image annotation outputs to json files in customer // GCS bucket, each json file containing BatchAnnotateImagesResponse proto. - rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/images:asyncBatchAnnotate" body: "*" @@ -122,7 +124,8 @@ service ImageAnnotator { // `google.longrunning.Operations` interface. // `Operation.metadata` contains `OperationMetadata` (metadata). // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/files:asyncBatchAnnotate" body: "*" @@ -242,6 +245,9 @@ message Image { // Image content, represented as a stream of bytes. // Note: As with all `bytes` fields, protobuffers use a pure binary // representation, whereas JSON representations use base64. + // + // Currently, this field only works for BatchAnnotateImages requests. It does + // not work for AsyncBatchAnnotateImages requests. bytes content = 1; // Google Cloud Storage image location, or publicly-accessible image @@ -385,6 +391,12 @@ message FaceAnnotation { // Chin right gonion. CHIN_RIGHT_GONION = 34; + + // Left cheek center. + LEFT_CHEEK_CENTER = 35; + + // Right cheek center. + RIGHT_CHEEK_CENTER = 36; } // Face landmark type. @@ -569,27 +581,27 @@ message SafeSearchAnnotation { // Confidence of adult_score. Range [0, 1]. 0 means not confident, 1 means // very confident. - float adult_confidence = 16; + float adult_confidence = 16 [deprecated = true]; // Confidence of spoof_score. Range [0, 1]. 0 means not confident, 1 means // very confident. - float spoof_confidence = 18; + float spoof_confidence = 18 [deprecated = true]; // Confidence of medical_score. Range [0, 1]. 0 means not confident, 1 means // very confident. - float medical_confidence = 20; + float medical_confidence = 20 [deprecated = true]; // Confidence of violence_score. Range [0, 1]. 0 means not confident, 1 means // very confident. - float violence_confidence = 22; + float violence_confidence = 22 [deprecated = true]; // Confidence of racy_score. Range [0, 1]. 0 means not confident, 1 means very // confident. - float racy_confidence = 24; + float racy_confidence = 24 [deprecated = true]; // Confidence of nsfw_score. Range [0, 1]. 0 means not confident, 1 means very // confident. - float nsfw_confidence = 26; + float nsfw_confidence = 26 [deprecated = true]; } // Rectangle determined by min and max `LatLng` pairs. @@ -667,7 +679,6 @@ message WebDetectionParams { // Parameters for text detections. This is used to control TEXT_DETECTION and // DOCUMENT_TEXT_DETECTION features. message TextDetectionParams { - // By default, Cloud Vision API only includes confidence score for // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence // score for TEXT_DETECTION as well. @@ -781,7 +792,8 @@ message AnnotateImageResponse { // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { // Required. Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; + repeated AnnotateImageRequest requests = 1 + [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // @@ -852,9 +864,10 @@ message AnnotateFileResponse { // A list of requests to annotate files using the BatchAnnotateFiles API. message BatchAnnotateFilesRequest { - // Required. The list of file annotation requests. Right now we support only one - // AnnotateFileRequest in BatchAnnotateFilesRequest. - repeated AnnotateFileRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; + // Required. The list of file annotation requests. Right now we support only + // one AnnotateFileRequest in BatchAnnotateFilesRequest. + repeated AnnotateFileRequest requests = 1 + [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // @@ -902,7 +915,8 @@ message AsyncAnnotateFileResponse { // Request for async image annotation for a list of images. message AsyncBatchAnnotateImagesRequest { // Required. Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; + repeated AnnotateImageRequest requests = 1 + [(google.api.field_behavior) = REQUIRED]; // Required. The desired output location and metadata (e.g. format). OutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED]; @@ -932,7 +946,8 @@ message AsyncBatchAnnotateImagesResponse { // call. message AsyncBatchAnnotateFilesRequest { // Required. Individual async file annotation requests for this batch. - repeated AsyncAnnotateFileRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; + repeated AsyncAnnotateFileRequest requests = 1 + [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 6df694b8b76..564925feba1 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,17 +11,16 @@ // 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.cloud.vision.v1; +import "google/api/resource.proto"; import "google/cloud/vision/v1/geometry.proto"; import "google/cloud/vision/v1/product_search_service.proto"; import "google/protobuf/timestamp.proto"; import "google/api/annotations.proto"; -import "google/api/resource.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; @@ -33,7 +32,7 @@ option objc_class_prefix = "GCVN"; // Parameters for a product search request. message ProductSearchParams { // The bounding polygon around the area of interest in the image. - // Optional. If it is not specified, system discretion will be applied. + // If it is not specified, system discretion will be applied. BoundingPoly bounding_poly = 9; // The resource name of a [ProductSet][google.cloud.vision.v1.ProductSet] to be searched for similar images. @@ -41,8 +40,8 @@ message ProductSearchParams { // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. string product_set = 6 [(google.api.resource_reference) = { - type: "vision.googleapis.com/ProductSet" - }]; + type: "vision.googleapis.com/ProductSet" + }]; // The list of product categories to search in. Currently, we only consider // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index ecfcdf6c7bf..5a61f54222d 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // 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"; @@ -397,9 +396,9 @@ message Product { string description = 3; // Immutable. The category for the product identified by the reference image. This should - // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories - // "homegoods", "apparel", and "toys" are still supported, but these should - // not be used for new products. + // be one of "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1" or + // "general-v1". The legacy categories "homegoods", "apparel", and "toys" are + // still supported, but these should not be used for new products. string product_category = 4 [(google.api.field_behavior) = IMMUTABLE]; // Key-value pairs that can be attached to a product. At query time, @@ -465,7 +464,6 @@ message ReferenceImage { // The resource name of the reference image. // // Format is: - // // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. // // This field is ignored when creating a reference image. @@ -638,7 +636,7 @@ message GetProductSetRequest { // Required. Resource name of the ProductSet to get. // // Format is: - // `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { @@ -737,7 +735,6 @@ message GetReferenceImageRequest { // Required. The resource name of the ReferenceImage to get. // // Format is: - // // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. string name = 1 [ (google.api.field_behavior) = REQUIRED, @@ -752,7 +749,6 @@ message DeleteReferenceImageRequest { // Required. The resource name of the reference image to delete. // // Format is: - // // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` string name = 1 [ (google.api.field_behavior) = REQUIRED, diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index 97f9c8fa9c2..db3bbdc5fca 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // 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"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto index 5ba8640382f..5d239b890e5 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,6 @@ // 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"; diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 516cbd0609f..97b8052e502 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -1158,7 +1158,9 @@ export namespace google { FOREHEAD_GLABELLA = 31, CHIN_GNATHION = 32, CHIN_LEFT_GONION = 33, - CHIN_RIGHT_GONION = 34 + CHIN_RIGHT_GONION = 34, + LEFT_CHEEK_CENTER = 35, + RIGHT_CHEEK_CENTER = 36 } } } diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 91c96e55e0e..7e9fa060c80 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -2868,6 +2868,8 @@ case 32: case 33: case 34: + case 35: + case 36: break; } if (message.position != null && message.hasOwnProperty("position")) { @@ -3031,6 +3033,14 @@ case 34: message.type = 34; break; + case "LEFT_CHEEK_CENTER": + case 35: + message.type = 35; + break; + case "RIGHT_CHEEK_CENTER": + case 36: + message.type = 36; + break; } if (object.position != null) { if (typeof object.position !== "object") @@ -3114,6 +3124,8 @@ * @property {number} CHIN_GNATHION=32 CHIN_GNATHION value * @property {number} CHIN_LEFT_GONION=33 CHIN_LEFT_GONION value * @property {number} CHIN_RIGHT_GONION=34 CHIN_RIGHT_GONION value + * @property {number} LEFT_CHEEK_CENTER=35 LEFT_CHEEK_CENTER value + * @property {number} RIGHT_CHEEK_CENTER=36 RIGHT_CHEEK_CENTER value */ Landmark.Type = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -3152,6 +3164,8 @@ values[valuesById[32] = "CHIN_GNATHION"] = 32; values[valuesById[33] = "CHIN_LEFT_GONION"] = 33; values[valuesById[34] = "CHIN_RIGHT_GONION"] = 34; + values[valuesById[35] = "LEFT_CHEEK_CENTER"] = 35; + values[valuesById[36] = "RIGHT_CHEEK_CENTER"] = 36; return values; })(); diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index b933914f02f..981dfe865e1 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -404,7 +404,9 @@ "FOREHEAD_GLABELLA": 31, "CHIN_GNATHION": 32, "CHIN_LEFT_GONION": 33, - "CHIN_RIGHT_GONION": 34 + "CHIN_RIGHT_GONION": 34, + "LEFT_CHEEK_CENTER": 35, + "RIGHT_CHEEK_CENTER": 36 } } } @@ -528,27 +530,45 @@ }, "adultConfidence": { "type": "float", - "id": 16 + "id": 16, + "options": { + "deprecated": true + } }, "spoofConfidence": { "type": "float", - "id": 18 + "id": 18, + "options": { + "deprecated": true + } }, "medicalConfidence": { "type": "float", - "id": 20 + "id": 20, + "options": { + "deprecated": true + } }, "violenceConfidence": { "type": "float", - "id": 22 + "id": 22, + "options": { + "deprecated": true + } }, "racyConfidence": { "type": "float", - "id": 24 + "id": 24, + "options": { + "deprecated": true + } }, "nsfwConfidence": { "type": "float", - "id": 26 + "id": 26, + "options": { + "deprecated": true + } } } }, diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 0b043fd0fac..d2142419c1d 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -509,8 +509,8 @@ export class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {number[]} request.requests - * Required. The list of file annotation requests. Right now we support only one - * AnnotateFileRequest in BatchAnnotateFilesRequest. + * Required. The list of file annotation requests. Right now we support only + * one AnnotateFileRequest in BatchAnnotateFilesRequest. * @param {string} request.parent * Optional. Target project and location to make a call. * diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index d12a87cdc92..93a10d7930c 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -555,7 +555,7 @@ export class ProductSearchClient { * Required. Resource name of the ProductSet to get. * * Format is: - * `projects/PROJECT_ID/locations/LOG_ID/productSets/PRODUCT_SET_ID` + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. @@ -1359,7 +1359,6 @@ export class ProductSearchClient { * Required. The resource name of the reference image to delete. * * Format is: - * * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. @@ -1459,7 +1458,6 @@ export class ProductSearchClient { * Required. The resource name of the ReferenceImage to get. * * Format is: - * * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 92ad8a1e3c5..da921f2ecb2 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "cde1fe1b9142cafa7a104165392b61aa5e665769" + "sha": "3413684e3e89a7f3a8fc762b9b62f3082ac15112" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "d189e871205fea665a9648f7c4676f027495ccaf", - "internalRef": "345596855" + "sha": "9b95bf0e95501ec98537e0d2d9d36bb763ebd5b9", + "internalRef": "356556588" } }, { From 58ed31a5c170bee9393ab3b175889265e31e3819 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 18 Feb 2021 17:58:57 +0100 Subject: [PATCH 482/588] fix(deps): update dependency natural to v4 (#870) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 4e1229dfd6b..215b8d4828f 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@google-cloud/vision": "^2.3.0", - "natural": "^3.0.0", + "natural": "^4.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", "yargs": "^16.0.0" From fc1b333188200d55ffc6e1c3dfdd665854721a2c Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 18 Feb 2021 09:17:59 -0800 Subject: [PATCH 483/588] chore: release 2.3.1 (#866) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-vision/CHANGELOG.md | 9 +++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 361ccf0e905..a8b69b2a400 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,15 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.3.1](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.0...v2.3.1) (2021-02-18) + + +### Bug Fixes + +* **deps:** update dependency natural to v3 ([#865](https://www.github.com/googleapis/nodejs-vision/issues/865)) ([38d9a1a](https://www.github.com/googleapis/nodejs-vision/commit/38d9a1a3ae9fe02b67135ecc3f56f6d3a53ac547)) +* **deps:** update dependency natural to v4 ([#870](https://www.github.com/googleapis/nodejs-vision/issues/870)) ([edfcb9e](https://www.github.com/googleapis/nodejs-vision/commit/edfcb9eed26145c1f72bfaaa3ee8e7a4d74630b3)) +* sync vision v1 protos to get extra FaceAnnotation Landmark Types ([#868](https://www.github.com/googleapis/nodejs-vision/issues/868)) ([4d45375](https://www.github.com/googleapis/nodejs-vision/commit/4d45375016aa12d0e8ea24525168e23590af47b4)) + ## [2.3.0](https://www.github.com/googleapis/nodejs-vision/compare/v2.2.0...v2.3.0) (2021-01-06) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 7fd03f599f4..9eebe29a9ac 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.3.0", + "version": "2.3.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 215b8d4828f..d59162cbabe 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.3.0", + "@google-cloud/vision": "^2.3.1", "natural": "^4.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", From cb74f54ca6cbf8a9da3eb4e275331846d338b7c6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sun, 7 Mar 2021 09:00:11 -0800 Subject: [PATCH 484/588] build: update gapic-generator-typescript to v1.2.10. (#877) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/2812cef8-9404-4275-bb51-8c6dafc1bc6f/targets - [ ] To automatically regenerate this PR, check this box. PiperOrigin-RevId: 361273630 Source-Link: https://github.com/googleapis/googleapis/commit/5477122b3e8037a1dc5bc920536158edbd151dc4 --- packages/google-cloud-vision/synth.metadata | 6 +++--- packages/google-cloud-vision/webpack.config.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index da921f2ecb2..638fe8166d4 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "3413684e3e89a7f3a8fc762b9b62f3082ac15112" + "sha": "94ae5d3822e0d067175463ee669c7e27ba69d60e" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "9b95bf0e95501ec98537e0d2d9d36bb763ebd5b9", - "internalRef": "356556588" + "sha": "5477122b3e8037a1dc5bc920536158edbd151dc4", + "internalRef": "361273630" } }, { diff --git a/packages/google-cloud-vision/webpack.config.js b/packages/google-cloud-vision/webpack.config.js index ed13edf1f2d..2f1556006b4 100644 --- a/packages/google-cloud-vision/webpack.config.js +++ b/packages/google-cloud-vision/webpack.config.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From 9e2563d804387f25511a198607e1fef74f1482cf Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 23 Mar 2021 17:48:16 +0100 Subject: [PATCH 485/588] chore(deps): update dependency sinon to v10 (#879) [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sinon](https://sinonjs.org/) ([source](https://togithub.com/sinonjs/sinon)) | [`^9.0.1` -> `^10.0.0`](https://renovatebot.com/diffs/npm/sinon/9.2.4/10.0.0) | [![age](https://badges.renovateapi.com/packages/npm/sinon/10.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/sinon/10.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/sinon/10.0.0/compatibility-slim/9.2.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/sinon/10.0.0/confidence-slim/9.2.4)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
sinonjs/sinon ### [`v10.0.0`](https://togithub.com/sinonjs/sinon/blob/master/CHANGELOG.md#​1000--2021-03-22) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v9.2.4...v10.0.0) ================== - Upgrade nise to 4.1.0 - Use [@​sinonjs/eslint-config](https://togithub.com/sinonjs/eslint-config)[@​4](https://togithub.com/4) => Adopts ES2017 => Drops support for IE 11, Legacy Edge and legacy Safari
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 9eebe29a9ac..f4b2b13a6b9 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -67,7 +67,7 @@ "mocha": "^8.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", - "sinon": "^9.0.1", + "sinon": "^10.0.0", "ts-loader": "^8.0.0", "typescript": "^3.8.3", "uuid": "^8.0.0", From fa31aa8965b9012bf7224d9fcfcbb1580c080be4 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 30 Mar 2021 19:35:01 +0200 Subject: [PATCH 486/588] fix(deps): update dependency natural to v5 (#880) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index d59162cbabe..ab98be2178d 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@google-cloud/vision": "^2.3.1", - "natural": "^4.0.0", + "natural": "^5.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", "yargs": "^16.0.0" From aba6ae4fa49076c8d1c0f90b3591abc6ae4bdba6 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 14 Apr 2021 23:08:11 +0200 Subject: [PATCH 487/588] chore(deps): update dependency @types/sinon to v10 (#887) [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/sinon](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`^9.0.0` -> `^10.0.0`](https://renovatebot.com/diffs/npm/@types%2fsinon/9.0.11/10.0.0) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fsinon/10.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fsinon/10.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fsinon/10.0.0/compatibility-slim/9.0.11)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fsinon/10.0.0/confidence-slim/9.0.11)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index f4b2b13a6b9..6ee3e2ae40e 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -55,7 +55,7 @@ "@types/is": "0.0.21", "@types/mocha": "^8.0.0", "@types/node": "^13.7.4", - "@types/sinon": "^9.0.0", + "@types/sinon": "^10.0.0", "@types/uuid": "^8.0.0", "c8": "^7.1.0", "codecov": "^3.6.5", From 1d2e615acb1db017a67c8f536c700663880db9e9 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 20 Apr 2021 00:56:15 +0200 Subject: [PATCH 488/588] chore(deps): update dependency ts-loader to v9 (#890) [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ts-loader](https://togithub.com/TypeStrong/ts-loader) | [`^8.0.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/ts-loader/8.1.0/9.0.0) | [![age](https://badges.renovateapi.com/packages/npm/ts-loader/9.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/ts-loader/9.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/ts-loader/9.0.0/compatibility-slim/8.1.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/ts-loader/9.0.0/confidence-slim/8.1.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
TypeStrong/ts-loader ### [`v9.0.0`](https://togithub.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md#v900) [Compare Source](https://togithub.com/TypeStrong/ts-loader/compare/v8.1.0...v9.0.0) Breaking changes: - minimum webpack version: 5 - minimum node version: 12 Changes: - [webpack 5 migration](https://togithub.com/TypeStrong/ts-loader/pull/1251) - thanks [@​johnnyreilly](https://togithub.com/johnnyreilly), [@​jonwallsten](https://togithub.com/jonwallsten), [@​sokra](https://togithub.com/sokra), [@​appzuka](https://togithub.com/appzuka), [@​alexander-akait](https://togithub.com/alexander-akait)
--- ### Configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6ee3e2ae40e..371703090c3 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -68,7 +68,7 @@ "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^10.0.0", - "ts-loader": "^8.0.0", + "ts-loader": "^9.0.0", "typescript": "^3.8.3", "uuid": "^8.0.0", "webpack": "^5.0.0", From ef410338d4db0a54370d0372e971194053bdae62 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 20 Apr 2021 11:02:15 -0700 Subject: [PATCH 489/588] chore: regenerate common templates (#889) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/186c39d8-938f-497c-8229-46ff7b78fe4d/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.) Source-Link: https://github.com/googleapis/synthtool/commit/c6706ee5d693e9ae5967614170732646590d8374 Source-Link: https://github.com/googleapis/synthtool/commit/b33b0e2056a85fc2264b294f2cf47dcd45e95186 Source-Link: https://github.com/googleapis/synthtool/commit/898b38a6f4fab89a76dfb152480bb034a781331b --- packages/google-cloud-vision/synth.metadata | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata index 638fe8166d4..a70fea69203 100644 --- a/packages/google-cloud-vision/synth.metadata +++ b/packages/google-cloud-vision/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "94ae5d3822e0d067175463ee669c7e27ba69d60e" + "sha": "f1a9cd27d7c102f62a2e53df50f1301a1179d3f7" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "57c23fa5705499a4181095ced81f0ee0933b64f6" + "sha": "c6706ee5d693e9ae5967614170732646590d8374" } } ], From e7f3dbe2e3774ef5822f8d32da0b2e4913b28e5e Mon Sep 17 00:00:00 2001 From: Jeffrey Rennie Date: Tue, 20 Apr 2021 21:16:25 -0700 Subject: [PATCH 490/588] chore: migrate to owl bot (#886) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: migrate to owl bot * chore: copy files from googleapis-gen fb91803ccef5d7c695139b22788b309e2197856b * chore: run the post processor * 🦉 Updates from OwlBot Co-authored-by: Owl Bot --- .../google-cloud-vision/.github/.OwlBot.yaml | 26 +++++++ .../google-cloud-vision/.repo-metadata.json | 17 +++-- packages/google-cloud-vision/owlbot.py | 33 +++++++++ packages/google-cloud-vision/synth.metadata | 73 ------------------- packages/google-cloud-vision/synth.py | 46 ------------ 5 files changed, 68 insertions(+), 127 deletions(-) create mode 100644 packages/google-cloud-vision/.github/.OwlBot.yaml create mode 100644 packages/google-cloud-vision/owlbot.py delete mode 100644 packages/google-cloud-vision/synth.metadata delete mode 100644 packages/google-cloud-vision/synth.py diff --git a/packages/google-cloud-vision/.github/.OwlBot.yaml b/packages/google-cloud-vision/.github/.OwlBot.yaml new file mode 100644 index 00000000000..d844460a1e4 --- /dev/null +++ b/packages/google-cloud-vision/.github/.OwlBot.yaml @@ -0,0 +1,26 @@ +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. +docker: + image: gcr.io/repo-automation-bots/owlbot-nodejs:latest + + +deep-remove-regex: + - /owl-bot-staging + +deep-copy-regex: + - source: /google/cloud/vision/(v.*)/.*-nodejs/(.*) + dest: /owl-bot-staging/$1/$2 + +begin-after-commit-hash: fb91803ccef5d7c695139b22788b309e2197856b + diff --git a/packages/google-cloud-vision/.repo-metadata.json b/packages/google-cloud-vision/.repo-metadata.json index 319ba965ca4..fb27702f4e4 100644 --- a/packages/google-cloud-vision/.repo-metadata.json +++ b/packages/google-cloud-vision/.repo-metadata.json @@ -1,14 +1,15 @@ { - "name": "vision", - "name_pretty": "Google Cloud Vision API", - "product_documentation": "https://cloud.google.com/vision", - "client_documentation": "https://googleapis.dev/nodejs/vision/latest", "issue_tracker": "https://issuetracker.google.com/savedsearches/559765", - "release_level": "ga", - "language": "nodejs", - "repo": "googleapis/nodejs-vision", "distribution_name": "@google-cloud/vision", + "product_documentation": "https://cloud.google.com/vision", "api_id": "vision.googleapis.com", + "client_documentation": "https://googleapis.dev/nodejs/vision/latest", + "repo": "googleapis/nodejs-vision", + "release_level": "ga", "requires_billing": true, - "codeowner_team": "@googleapis/ml-apis" + "name_pretty": "Google Cloud Vision API", + "name": "vision", + "codeowner_team": "@googleapis/ml-apis", + "default_version": "v1p4beta1", + "language": "nodejs" } diff --git a/packages/google-cloud-vision/owlbot.py b/packages/google-cloud-vision/owlbot.py new file mode 100644 index 00000000000..5f952949850 --- /dev/null +++ b/packages/google-cloud-vision/owlbot.py @@ -0,0 +1,33 @@ +# Copyright 2018 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. + +"""This script is used to synthesize generated parts of this library.""" + +import synthtool as s +import synthtool.languages.node as node +from pathlib import Path + +def patch(library: Path): + client_file = library / "src/*/image_annotator_client.ts" + s.replace(client_file, '\Z', + 'import {FeaturesMethod} from \'../helpers\';\n' + + '// eslint-disable-next-line @typescript-eslint/no-empty-interface\n' + + 'export interface ImageAnnotatorClient extends FeaturesMethod {}\n' + ) + +node.owlbot_main( + staging_excludes=['src/index.ts', 'package.json'], + templates_excludes=['src/index.ts'], + patch_staging=patch +) diff --git a/packages/google-cloud-vision/synth.metadata b/packages/google-cloud-vision/synth.metadata deleted file mode 100644 index a70fea69203..00000000000 --- a/packages/google-cloud-vision/synth.metadata +++ /dev/null @@ -1,73 +0,0 @@ -{ - "sources": [ - { - "git": { - "name": ".", - "remote": "https://github.com/googleapis/nodejs-vision.git", - "sha": "f1a9cd27d7c102f62a2e53df50f1301a1179d3f7" - } - }, - { - "git": { - "name": "googleapis", - "remote": "https://github.com/googleapis/googleapis.git", - "sha": "5477122b3e8037a1dc5bc920536158edbd151dc4", - "internalRef": "361273630" - } - }, - { - "git": { - "name": "synthtool", - "remote": "https://github.com/googleapis/synthtool.git", - "sha": "c6706ee5d693e9ae5967614170732646590d8374" - } - } - ], - "destinations": [ - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1", - "language": "nodejs", - "generator": "bazel" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p1beta1", - "language": "nodejs", - "generator": "bazel" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p2beta1", - "language": "nodejs", - "generator": "bazel" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p3beta1", - "language": "nodejs", - "generator": "bazel" - } - }, - { - "client": { - "source": "googleapis", - "apiName": "vision", - "apiVersion": "v1p4beta1", - "language": "nodejs", - "generator": "bazel" - } - } - ] -} \ No newline at end of file diff --git a/packages/google-cloud-vision/synth.py b/packages/google-cloud-vision/synth.py deleted file mode 100644 index cb550992121..00000000000 --- a/packages/google-cloud-vision/synth.py +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2018 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. - -"""This script is used to synthesize generated parts of this library.""" - -import synthtool as s -import synthtool.gcp as gcp -import synthtool.languages.node as node -import logging - -logging.basicConfig(level=logging.DEBUG) - -AUTOSYNTH_MULTIPLE_COMMITS = True - - -# Run the gapic generator -gapic = gcp.GAPICBazel() -versions = ['v1', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1', 'v1p4beta1'] -for version in versions: - library = gapic.node_library('vision', version) - s.copy(library, excludes=['src/index.ts', 'package.json']) -# extends interface for client.ts -for version in versions: - client_file = f"src/{version}/image_annotator_client.ts" - s.replace(client_file, '\Z', - 'import {FeaturesMethod} from \'../helpers\';\n' + - '// eslint-disable-next-line @typescript-eslint/no-empty-interface\n' + - 'export interface ImageAnnotatorClient extends FeaturesMethod {}\n' - ) -# Copy common templates -common_templates = gcp.CommonTemplates() -templates = common_templates.node_library(source_location='build/src') -s.copy(templates) - -node.postprocess_gapic_library() From 5ec8a760146eef8d2565983615e977f75db55eb1 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Thu, 6 May 2021 17:52:33 -0700 Subject: [PATCH 491/588] fix(deps): require google-gax v2.12.0 (#897) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 371703090c3..5d5aedbaf07 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -47,7 +47,7 @@ }, "dependencies": { "@google-cloud/promisify": "^2.0.0", - "google-gax": "^2.9.2", + "google-gax": "^2.12.0", "is": "^3.3.0" }, "devDependencies": { From 61f1d6bf20cf3df09c8b873811913dfd7fdb0323 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 10 May 2021 17:00:15 +0000 Subject: [PATCH 492/588] chore: new owl bot post processor docker image (#898) gcr.io/repo-automation-bots/owlbot-nodejs:latest@sha256:f93bb861d6f12574437bb9aee426b71eafd63b419669ff0ed029f4b7e7162e3f --- .../google-cloud-vision/protos/protos.d.ts | 14 +- packages/google-cloud-vision/protos/protos.js | 28 +- packages/google-cloud-vision/src/helpers.ts | 58 +-- .../src/v1/image_annotator_client.ts | 51 +-- .../src/v1/product_search_client.ts | 266 +++++------ .../src/v1p1beta1/image_annotator_client.ts | 15 +- .../src/v1p2beta1/image_annotator_client.ts | 15 +- .../src/v1p3beta1/image_annotator_client.ts | 15 +- .../src/v1p3beta1/product_search_client.ts | 257 +++++------ .../src/v1p4beta1/image_annotator_client.ts | 15 +- .../src/v1p4beta1/product_search_client.ts | 266 +++++------ .../test/gapic_image_annotator_v1.ts | 66 ++- .../test/gapic_image_annotator_v1p1beta1.ts | 17 +- .../test/gapic_image_annotator_v1p2beta1.ts | 34 +- .../test/gapic_image_annotator_v1p3beta1.ts | 39 +- .../test/gapic_image_annotator_v1p4beta1.ts | 66 ++- .../test/gapic_product_search_v1.ts | 399 ++++++++--------- .../test/gapic_product_search_v1p3beta1.ts | 404 ++++++++--------- .../test/gapic_product_search_v1p4beta1.ts | 414 ++++++++---------- 19 files changed, 1104 insertions(+), 1335 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 97b8052e502..1512400a97e 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -8748,7 +8748,7 @@ export namespace google { public productSetPurgeConfig?: (google.cloud.vision.v1.IProductSetPurgeConfig|null); /** PurgeProductsRequest deleteOrphanProducts. */ - public deleteOrphanProducts: boolean; + public deleteOrphanProducts?: (boolean|null); /** PurgeProductsRequest parent. */ public parent: string; @@ -38598,7 +38598,7 @@ export namespace google { public productSetPurgeConfig?: (google.cloud.vision.v1p4beta1.IProductSetPurgeConfig|null); /** PurgeProductsRequest deleteOrphanProducts. */ - public deleteOrphanProducts: boolean; + public deleteOrphanProducts?: (boolean|null); /** PurgeProductsRequest parent. */ public parent: string; @@ -40325,19 +40325,19 @@ export namespace google { public selector: string; /** HttpRule get. */ - public get: string; + public get?: (string|null); /** HttpRule put. */ - public put: string; + public put?: (string|null); /** HttpRule post. */ - public post: string; + public post?: (string|null); /** HttpRule delete. */ - public delete: string; + public delete?: (string|null); /** HttpRule patch. */ - public patch: string; + public patch?: (string|null); /** HttpRule custom. */ public custom?: (google.api.ICustomHttpPattern|null); diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 7e9fa060c80..4514358d3da 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -21158,11 +21158,11 @@ /** * PurgeProductsRequest deleteOrphanProducts. - * @member {boolean} deleteOrphanProducts + * @member {boolean|null|undefined} deleteOrphanProducts * @memberof google.cloud.vision.v1.PurgeProductsRequest * @instance */ - PurgeProductsRequest.prototype.deleteOrphanProducts = false; + PurgeProductsRequest.prototype.deleteOrphanProducts = null; /** * PurgeProductsRequest parent. @@ -95472,11 +95472,11 @@ /** * PurgeProductsRequest deleteOrphanProducts. - * @member {boolean} deleteOrphanProducts + * @member {boolean|null|undefined} deleteOrphanProducts * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest * @instance */ - PurgeProductsRequest.prototype.deleteOrphanProducts = false; + PurgeProductsRequest.prototype.deleteOrphanProducts = null; /** * PurgeProductsRequest parent. @@ -99853,43 +99853,43 @@ /** * HttpRule get. - * @member {string} get + * @member {string|null|undefined} get * @memberof google.api.HttpRule * @instance */ - HttpRule.prototype.get = ""; + HttpRule.prototype.get = null; /** * HttpRule put. - * @member {string} put + * @member {string|null|undefined} put * @memberof google.api.HttpRule * @instance */ - HttpRule.prototype.put = ""; + HttpRule.prototype.put = null; /** * HttpRule post. - * @member {string} post + * @member {string|null|undefined} post * @memberof google.api.HttpRule * @instance */ - HttpRule.prototype.post = ""; + HttpRule.prototype.post = null; /** * HttpRule delete. - * @member {string} delete + * @member {string|null|undefined} delete * @memberof google.api.HttpRule * @instance */ - HttpRule.prototype["delete"] = ""; + HttpRule.prototype["delete"] = null; /** * HttpRule patch. - * @member {string} patch + * @member {string|null|undefined} patch * @memberof google.api.HttpRule * @instance */ - HttpRule.prototype.patch = ""; + HttpRule.prototype.patch = null; /** * HttpRule custom. diff --git a/packages/google-cloud-vision/src/helpers.ts b/packages/google-cloud-vision/src/helpers.ts index 561c944d6e3..a082dd898a4 100644 --- a/packages/google-cloud-vision/src/helpers.ts +++ b/packages/google-cloud-vision/src/helpers.ts @@ -95,21 +95,21 @@ const _requestToObject = (request: any) => { // Guess based on what the string looks like, and build the full // request object in the correct format. if (request.indexOf('://') === -1 || request.indexOf('file://') === 0) { - request = ({ + request = { image: {source: {filename: request}}, - } as unknown) as ImprovedRequest; + } as unknown as ImprovedRequest; } else { - request = ({ + request = { image: {source: {imageUri: request}}, - } as unknown) as ImprovedRequest; + } as unknown as ImprovedRequest; } } else if (Buffer.isBuffer(request)) { // Drop the buffer one level lower; it will get dealt with later // in the function. This allows sending and {image: } to // both work identically. - request = ({image: request} as unknown) as ImprovedRequest; + request = {image: request} as unknown as ImprovedRequest; } - return (request as unknown) as ImprovedRequest; + return request as unknown as ImprovedRequest; }; const _coerceRequest = ( @@ -216,7 +216,7 @@ const _createSingleFeatureMethod = ( }; export function call(apiVersion: string) { - const methods: FeaturesMethod = ({} as unknown) as FeaturesMethod; + const methods: FeaturesMethod = {} as unknown as FeaturesMethod; /** * Annotate a single image with the requested features. * @@ -314,11 +314,13 @@ export function call(apiVersion: string) { req: protoTypes.google.cloud.vision.v1.IAnnotateImageRequest | undefined ) => { if (err) { - return ((callback as unknown) as gax.Callback< - protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, - {}, - {} - >)(err); + return ( + callback as unknown as gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + > + )(err); } // Call the GAPIC batch annotation function. @@ -335,11 +337,13 @@ export function call(apiVersion: string) { ) => { // If there is an error, handle it. if (err) { - return ((callback as unknown) as gax.Callback< - protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, - {}, - {} - >)(err); + return ( + callback as unknown as gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + > + )(err); } // We are guaranteed to only have one response element, since we @@ -347,11 +351,13 @@ export function call(apiVersion: string) { const response = r!.responses![0]; // Fire the callback if applicable. - return ((callback as unknown) as gax.Callback< - protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, - {}, - {} - >)(undefined, response); + return ( + callback as unknown as gax.Callback< + protoTypes.google.cloud.vision.v1.IAnnotateImageResponse, + {}, + {} + > + )(undefined, response); } ); } @@ -362,9 +368,11 @@ export function call(apiVersion: string) { // eslint-disable-next-line @typescript-eslint/no-var-requires require('../protos/protos.json') ); - const features = (protoFilesRoot.lookup( - `google.cloud.vision.${apiVersion}.Feature.Type` - ) as gax.protobuf.Enum).values; + const features = ( + protoFilesRoot.lookup( + `google.cloud.vision.${apiVersion}.Feature.Type` + ) as gax.protobuf.Enum + ).values; /** * Annotate a single image with face detection. diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index d2142419c1d..59a9e3d4b1e 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -280,13 +280,14 @@ export class ImageAnnotatorClient { ]; for (const methodName of imageAnnotatorStubMethods) { const callPromise = this.imageAnnotatorStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, (err: Error | null | undefined) => () => { throw err; } @@ -458,11 +459,10 @@ export class ImageAnnotatorClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.batchAnnotateImages(request, options, callback); } @@ -570,11 +570,10 @@ export class ImageAnnotatorClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.batchAnnotateFiles(request, options, callback); } @@ -699,11 +698,10 @@ export class ImageAnnotatorClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.asyncBatchAnnotateImages( request, @@ -863,11 +861,10 @@ export class ImageAnnotatorClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.asyncBatchAnnotateFiles( request, diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 93a10d7930c..7be1eebeec5 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -331,13 +331,14 @@ export class ProductSearchClient { ]; for (const methodName of productSearchStubMethods) { const callPromise = this.productSearchStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, (err: Error | null | undefined) => () => { throw err; } @@ -507,11 +508,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.createProductSet(request, options, callback); } @@ -600,11 +600,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.getProductSet(request, options, callback); } @@ -698,11 +697,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product_set.name': request.productSet!.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + 'product_set.name': request.productSet!.name || '', + }); this.initialize(); return this.innerApiCalls.updateProductSet(request, options, callback); } @@ -790,11 +788,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.deleteProductSet(request, options, callback); } @@ -893,11 +890,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.createProduct(request, options, callback); } @@ -984,11 +980,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.getProduct(request, options, callback); } @@ -1091,11 +1086,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product.name': request.product!.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + 'product.name': request.product!.name || '', + }); this.initialize(); return this.innerApiCalls.updateProduct(request, options, callback); } @@ -1184,11 +1178,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.deleteProduct(request, options, callback); } @@ -1305,11 +1298,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.createReferenceImage(request, options, callback); } @@ -1406,11 +1398,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.deleteReferenceImage(request, options, callback); } @@ -1505,11 +1496,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.getReferenceImage(request, options, callback); } @@ -1612,11 +1602,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.addProductToProductSet( request, @@ -1722,11 +1711,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.removeProductFromProductSet( request, @@ -1846,11 +1834,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.importProductSets(request, options, callback); } @@ -2021,11 +2008,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.purgeProducts(request, options, callback); } @@ -2158,11 +2144,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.listProductSets(request, options, callback); } @@ -2199,11 +2184,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductSets.createStream( @@ -2251,17 +2235,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductSets.asyncIterate( this.innerApiCalls['listProductSets'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } @@ -2357,11 +2340,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.listProducts(request, options, callback); } @@ -2399,11 +2381,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProducts.createStream( @@ -2452,17 +2433,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProducts.asyncIterate( this.innerApiCalls['listProducts'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } @@ -2569,11 +2549,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.listReferenceImages(request, options, callback); } @@ -2614,11 +2593,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listReferenceImages.createStream( @@ -2670,17 +2648,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listReferenceImages.asyncIterate( this.innerApiCalls['listReferenceImages'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } @@ -2784,11 +2761,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.listProductsInProductSet( request, @@ -2830,11 +2806,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.createStream( @@ -2883,17 +2858,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.asyncIterate( this.innerApiCalls['listProductsInProductSet'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 37d4d61fa18..6df41719b7d 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -202,13 +202,14 @@ export class ImageAnnotatorClient { const imageAnnotatorStubMethods = ['batchAnnotateImages']; for (const methodName of imageAnnotatorStubMethods) { const callPromise = this.imageAnnotatorStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, (err: Error | null | undefined) => () => { throw err; } diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 6bd3185f936..ce22659a971 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -247,13 +247,14 @@ export class ImageAnnotatorClient { ]; for (const methodName of imageAnnotatorStubMethods) { const callPromise = this.imageAnnotatorStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, (err: Error | null | undefined) => () => { throw err; } diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 410cbdb4a23..2c40920cb33 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -263,13 +263,14 @@ export class ImageAnnotatorClient { ]; for (const methodName of imageAnnotatorStubMethods) { const callPromise = this.imageAnnotatorStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, (err: Error | null | undefined) => () => { throw err; } diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index a84f257ead3..b0d34465ae8 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -319,13 +319,14 @@ export class ProductSearchClient { ]; for (const methodName of productSearchStubMethods) { const callPromise = this.productSearchStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, (err: Error | null | undefined) => () => { throw err; } @@ -501,11 +502,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.createProductSet(request, options, callback); } @@ -600,11 +600,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.getProductSet(request, options, callback); } @@ -704,11 +703,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product_set.name': request.productSet!.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + 'product_set.name': request.productSet!.name || '', + }); this.initialize(); return this.innerApiCalls.updateProductSet(request, options, callback); } @@ -806,11 +804,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.deleteProductSet(request, options, callback); } @@ -915,11 +912,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.createProduct(request, options, callback); } @@ -1014,11 +1010,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.getProduct(request, options, callback); } @@ -1126,11 +1121,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product.name': request.product!.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + 'product.name': request.product!.name || '', + }); this.initialize(); return this.innerApiCalls.updateProduct(request, options, callback); } @@ -1229,11 +1223,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.deleteProduct(request, options, callback); } @@ -1356,11 +1349,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.createReferenceImage(request, options, callback); } @@ -1468,11 +1460,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.deleteReferenceImage(request, options, callback); } @@ -1574,11 +1565,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.getReferenceImage(request, options, callback); } @@ -1687,11 +1677,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.addProductToProductSet( request, @@ -1801,11 +1790,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.removeProductFromProductSet( request, @@ -1925,11 +1913,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.importProductSets(request, options, callback); } @@ -2068,11 +2055,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.listProductSets(request, options, callback); } @@ -2109,11 +2095,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductSets.createStream( @@ -2161,17 +2146,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductSets.asyncIterate( this.innerApiCalls['listProductSets'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } @@ -2273,11 +2257,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.listProducts(request, options, callback); } @@ -2315,11 +2298,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProducts.createStream( @@ -2368,17 +2350,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProducts.asyncIterate( this.innerApiCalls['listProducts'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } @@ -2485,11 +2466,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.listReferenceImages(request, options, callback); } @@ -2530,11 +2510,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listReferenceImages.createStream( @@ -2586,17 +2565,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listReferenceImages.asyncIterate( this.innerApiCalls['listReferenceImages'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } @@ -2700,11 +2678,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.listProductsInProductSet( request, @@ -2746,11 +2723,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.createStream( @@ -2799,17 +2775,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.asyncIterate( this.innerApiCalls['listProductsInProductSet'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 3270cd17cb3..1b784d7baa7 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -280,13 +280,14 @@ export class ImageAnnotatorClient { ]; for (const methodName of imageAnnotatorStubMethods) { const callPromise = this.imageAnnotatorStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, (err: Error | null | undefined) => () => { throw err; } diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index b0f596f6cf4..f54f723ab9e 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -335,13 +335,14 @@ export class ProductSearchClient { ]; for (const methodName of productSearchStubMethods) { const callPromise = this.productSearchStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, (err: Error | null | undefined) => () => { throw err; } @@ -517,11 +518,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.createProductSet(request, options, callback); } @@ -616,11 +616,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.getProductSet(request, options, callback); } @@ -720,11 +719,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product_set.name': request.productSet!.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + 'product_set.name': request.productSet!.name || '', + }); this.initialize(); return this.innerApiCalls.updateProductSet(request, options, callback); } @@ -818,11 +816,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.deleteProductSet(request, options, callback); } @@ -927,11 +924,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.createProduct(request, options, callback); } @@ -1026,11 +1022,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.getProduct(request, options, callback); } @@ -1139,11 +1134,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - 'product.name': request.product!.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + 'product.name': request.product!.name || '', + }); this.initialize(); return this.innerApiCalls.updateProduct(request, options, callback); } @@ -1238,11 +1232,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.deleteProduct(request, options, callback); } @@ -1366,11 +1359,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.createReferenceImage(request, options, callback); } @@ -1474,11 +1466,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.deleteReferenceImage(request, options, callback); } @@ -1580,11 +1571,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.getReferenceImage(request, options, callback); } @@ -1693,11 +1683,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.addProductToProductSet( request, @@ -1804,11 +1793,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.removeProductFromProductSet( request, @@ -1928,11 +1916,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.importProductSets(request, options, callback); } @@ -2103,11 +2090,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.purgeProducts(request, options, callback); } @@ -2246,11 +2232,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.listProductSets(request, options, callback); } @@ -2287,11 +2272,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductSets.createStream( @@ -2339,17 +2323,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductSets.asyncIterate( this.innerApiCalls['listProductSets'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } @@ -2451,11 +2434,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.listProducts(request, options, callback); } @@ -2493,11 +2475,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProducts.createStream( @@ -2546,17 +2527,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProducts.asyncIterate( this.innerApiCalls['listProducts'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } @@ -2663,11 +2643,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); this.initialize(); return this.innerApiCalls.listReferenceImages(request, options, callback); } @@ -2708,11 +2687,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listReferenceImages.createStream( @@ -2764,17 +2742,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - parent: request.parent || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + parent: request.parent || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listReferenceImages.asyncIterate( this.innerApiCalls['listReferenceImages'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } @@ -2878,11 +2855,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); this.initialize(); return this.innerApiCalls.listProductsInProductSet( request, @@ -2924,11 +2900,10 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.createStream( @@ -2977,17 +2952,16 @@ export class ProductSearchClient { options = options || {}; options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = gax.routingHeader.fromParams({ - name: request.name || '', - }); + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); options = options || {}; const callSettings = new gax.CallSettings(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.asyncIterate( this.innerApiCalls['listProductsInProductSet'] as GaxCall, - (request as unknown) as RequestType, + request as unknown as RequestType, callSettings ) as AsyncIterable; } diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index e0c322a25a2..7dc8c873456 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -26,10 +26,9 @@ import * as imageannotatorModule from '../src'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message).toObject( - instance as protobuf.Message, - {defaults: true} - ); + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); return (instance.constructor as typeof protobuf.Message).fromObject( filledObject ) as T; @@ -187,9 +186,8 @@ describe('v1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -220,9 +218,8 @@ describe('v1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.batchAnnotateImages( request, @@ -301,9 +298,8 @@ describe('v1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateFilesResponse() ); - client.innerApiCalls.batchAnnotateFiles = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.batchAnnotateFiles = + stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateFiles(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -334,9 +330,8 @@ describe('v1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateFilesResponse() ); - client.innerApiCalls.batchAnnotateFiles = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.batchAnnotateFiles = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.batchAnnotateFiles( request, @@ -415,9 +410,8 @@ describe('v1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateImages = + stubLongRunningCall(expectedResponse); const [operation] = await client.asyncBatchAnnotateImages(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -449,9 +443,8 @@ describe('v1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateImages = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.asyncBatchAnnotateImages( request, @@ -564,9 +557,10 @@ describe('v1.ImageAnnotatorClient', () => { expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkAsyncBatchAnnotateImagesProgress( - expectedResponse.name - ); + const decodedOperation = + await client.checkAsyncBatchAnnotateImagesProgress( + expectedResponse.name + ); assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); assert(decodedOperation.metadata); assert((client.operationsClient.getOperation as SinonStub).getCall(0)); @@ -614,9 +608,8 @@ describe('v1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateFiles = + stubLongRunningCall(expectedResponse); const [operation] = await client.asyncBatchAnnotateFiles(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -648,9 +641,8 @@ describe('v1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateFiles = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.asyncBatchAnnotateFiles( request, @@ -763,9 +755,10 @@ describe('v1.ImageAnnotatorClient', () => { expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkAsyncBatchAnnotateFilesProgress( - expectedResponse.name - ); + const decodedOperation = + await client.checkAsyncBatchAnnotateFilesProgress( + expectedResponse.name + ); assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); assert(decodedOperation.metadata); assert((client.operationsClient.getOperation as SinonStub).getCall(0)); @@ -986,9 +979,8 @@ describe('v1.ImageAnnotatorClient', () => { }); it('matchReferenceImageFromReferenceImageName', () => { - const result = client.matchReferenceImageFromReferenceImageName( - fakePath - ); + const result = + client.matchReferenceImageFromReferenceImageName(fakePath); assert.strictEqual(result, 'referenceImageValue'); assert( (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index 54331554130..c4ad04f51bd 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -26,10 +26,9 @@ import * as imageannotatorModule from '../src'; import {protobuf} from 'google-gax'; function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message).toObject( - instance as protobuf.Message, - {defaults: true} - ); + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); return (instance.constructor as typeof protobuf.Message).fromObject( filledObject ) as T; @@ -147,9 +146,8 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -172,9 +170,8 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.batchAnnotateImages( request, diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index c78cc0e08d2..5f8b040faa7 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -26,10 +26,9 @@ import * as imageannotatorModule from '../src'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message).toObject( - instance as protobuf.Message, - {defaults: true} - ); + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); return (instance.constructor as typeof protobuf.Message).fromObject( filledObject ) as T; @@ -179,9 +178,8 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -204,9 +202,8 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.batchAnnotateImages( request, @@ -269,9 +266,8 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateFiles = + stubLongRunningCall(expectedResponse); const [operation] = await client.asyncBatchAnnotateFiles(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -295,9 +291,8 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateFiles = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.asyncBatchAnnotateFiles( request, @@ -394,9 +389,10 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkAsyncBatchAnnotateFilesProgress( - expectedResponse.name - ); + const decodedOperation = + await client.checkAsyncBatchAnnotateFilesProgress( + expectedResponse.name + ); assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); assert(decodedOperation.metadata); assert((client.operationsClient.getOperation as SinonStub).getCall(0)); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index cb02e664a2a..7b489b9e0b0 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -26,10 +26,9 @@ import * as imageannotatorModule from '../src'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message).toObject( - instance as protobuf.Message, - {defaults: true} - ); + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); return (instance.constructor as typeof protobuf.Message).fromObject( filledObject ) as T; @@ -179,9 +178,8 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -204,9 +202,8 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.batchAnnotateImages( request, @@ -269,9 +266,8 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateFiles = + stubLongRunningCall(expectedResponse); const [operation] = await client.asyncBatchAnnotateFiles(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -295,9 +291,8 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateFiles = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.asyncBatchAnnotateFiles( request, @@ -394,9 +389,10 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkAsyncBatchAnnotateFilesProgress( - expectedResponse.name - ); + const decodedOperation = + await client.checkAsyncBatchAnnotateFilesProgress( + expectedResponse.name + ); assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); assert(decodedOperation.metadata); assert((client.operationsClient.getOperation as SinonStub).getCall(0)); @@ -617,9 +613,8 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { }); it('matchReferenceImageFromReferenceImageName', () => { - const result = client.matchReferenceImageFromReferenceImageName( - fakePath - ); + const result = + client.matchReferenceImageFromReferenceImageName(fakePath); assert.strictEqual(result, 'referenceImageValue'); assert( (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index cab99e1e162..5968264f359 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -26,10 +26,9 @@ import * as imageannotatorModule from '../src'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message).toObject( - instance as protobuf.Message, - {defaults: true} - ); + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); return (instance.constructor as typeof protobuf.Message).fromObject( filledObject ) as T; @@ -179,9 +178,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -204,9 +202,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse() ); - client.innerApiCalls.batchAnnotateImages = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.batchAnnotateImages = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.batchAnnotateImages( request, @@ -269,9 +266,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse() ); - client.innerApiCalls.batchAnnotateFiles = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.batchAnnotateFiles = + stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateFiles(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -294,9 +290,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse() ); - client.innerApiCalls.batchAnnotateFiles = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.batchAnnotateFiles = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.batchAnnotateFiles( request, @@ -359,9 +354,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateImages = + stubLongRunningCall(expectedResponse); const [operation] = await client.asyncBatchAnnotateImages(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -385,9 +379,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateImages = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.asyncBatchAnnotateImages( request, @@ -484,9 +477,10 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkAsyncBatchAnnotateImagesProgress( - expectedResponse.name - ); + const decodedOperation = + await client.checkAsyncBatchAnnotateImagesProgress( + expectedResponse.name + ); assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); assert(decodedOperation.metadata); assert((client.operationsClient.getOperation as SinonStub).getCall(0)); @@ -526,9 +520,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateFiles = + stubLongRunningCall(expectedResponse); const [operation] = await client.asyncBatchAnnotateFiles(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -552,9 +545,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.asyncBatchAnnotateFiles = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.asyncBatchAnnotateFiles( request, @@ -651,9 +643,10 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; client.operationsClient.getOperation = stubSimpleCall(expectedResponse); - const decodedOperation = await client.checkAsyncBatchAnnotateFilesProgress( - expectedResponse.name - ); + const decodedOperation = + await client.checkAsyncBatchAnnotateFilesProgress( + expectedResponse.name + ); assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); assert(decodedOperation.metadata); assert((client.operationsClient.getOperation as SinonStub).getCall(0)); @@ -874,9 +867,8 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { }); it('matchReferenceImageFromReferenceImageName', () => { - const result = client.matchReferenceImageFromReferenceImageName( - fakePath - ); + const result = + client.matchReferenceImageFromReferenceImageName(fakePath); assert.strictEqual(result, 'referenceImageValue'); assert( (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index 928d175f12f..3994a97470a 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -28,10 +28,9 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message).toObject( - instance as protobuf.Message, - {defaults: true} - ); + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); return (instance.constructor as typeof protobuf.Message).fromObject( filledObject ) as T; @@ -279,9 +278,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ProductSet() ); - client.innerApiCalls.createProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.createProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.createProductSet( request, @@ -391,9 +389,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ProductSet() ); - client.innerApiCalls.getProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.getProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getProductSet( request, @@ -505,9 +502,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ProductSet() ); - client.innerApiCalls.updateProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.updateProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.updateProductSet( request, @@ -618,9 +614,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.deleteProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.deleteProductSet( request, @@ -730,9 +725,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.Product() ); - client.innerApiCalls.createProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.createProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.createProduct( request, @@ -842,9 +836,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.Product() ); - client.innerApiCalls.getProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.getProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getProduct( request, @@ -956,9 +949,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.Product() ); - client.innerApiCalls.updateProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.updateProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.updateProduct( request, @@ -1069,9 +1061,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.deleteProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.deleteProduct( request, @@ -1150,9 +1141,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() ); - client.innerApiCalls.createReferenceImage = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.createReferenceImage = + stubSimpleCall(expectedResponse); const [response] = await client.createReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1183,9 +1173,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() ); - client.innerApiCalls.createReferenceImage = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.createReferenceImage = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.createReferenceImage( request, @@ -1264,9 +1253,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteReferenceImage = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.deleteReferenceImage = + stubSimpleCall(expectedResponse); const [response] = await client.deleteReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1297,9 +1285,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteReferenceImage = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.deleteReferenceImage = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.deleteReferenceImage( request, @@ -1409,9 +1396,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() ); - client.innerApiCalls.getReferenceImage = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.getReferenceImage = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getReferenceImage( request, @@ -1490,9 +1476,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.addProductToProductSet = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.addProductToProductSet = + stubSimpleCall(expectedResponse); const [response] = await client.addProductToProductSet(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1523,9 +1508,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.addProductToProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.addProductToProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.addProductToProductSet( request, @@ -1607,9 +1591,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.removeProductFromProductSet = + stubSimpleCall(expectedResponse); const [response] = await client.removeProductFromProductSet(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1640,9 +1623,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.removeProductFromProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.removeProductFromProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.removeProductFromProductSet( request, @@ -1724,9 +1706,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.importProductSets = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.importProductSets = + stubLongRunningCall(expectedResponse); const [operation] = await client.importProductSets(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -1758,9 +1739,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.importProductSets = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.importProductSets = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.importProductSets( request, @@ -1920,9 +1900,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.purgeProducts = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.purgeProducts = + stubLongRunningCall(expectedResponse); const [operation] = await client.purgeProducts(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -1954,9 +1933,8 @@ describe('v1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.purgeProducts = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.purgeProducts = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.purgeProducts( request, @@ -2151,9 +2129,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), ]; - client.innerApiCalls.listProductSets = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listProductSets = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listProductSets( request, @@ -2225,9 +2202,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), ]; - client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listProductSets.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listProductSetsStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1.ProductSet[] = []; @@ -2252,10 +2228,9 @@ describe('v1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProductSets, request) ); assert.strictEqual( - (client.descriptors.page.listProductSets - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2272,10 +2247,8 @@ describe('v1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( - undefined, - expectedError - ); + client.descriptors.page.listProductSets.createStream = + stubPageStreamingCall(undefined, expectedError); const stream = client.listProductSetsStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1.ProductSet[] = []; @@ -2299,10 +2272,9 @@ describe('v1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProductSets, request) ); assert.strictEqual( - (client.descriptors.page.listProductSets - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2323,9 +2295,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), ]; - client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listProductSets.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1.IProductSet[] = []; const iterable = client.listProductSetsAsync(request); for await (const resource of iterable) { @@ -2333,15 +2304,15 @@ describe('v1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2358,10 +2329,8 @@ describe('v1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listProductSets.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listProductSetsAsync(request); await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1.IProductSet[] = []; @@ -2370,15 +2339,15 @@ describe('v1.ProductSearchClient', () => { } }); assert.deepStrictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2441,9 +2410,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), ]; - client.innerApiCalls.listProducts = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listProducts = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listProducts( request, @@ -2515,9 +2483,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), ]; - client.descriptors.page.listProducts.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listProducts.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listProductsStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1.Product[] = []; @@ -2539,10 +2506,9 @@ describe('v1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProducts, request) ); assert.strictEqual( - (client.descriptors.page.listProducts - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2583,10 +2549,9 @@ describe('v1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProducts, request) ); assert.strictEqual( - (client.descriptors.page.listProducts - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2607,9 +2572,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), ]; - client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listProducts.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1.IProduct[] = []; const iterable = client.listProductsAsync(request); for await (const resource of iterable) { @@ -2617,15 +2581,15 @@ describe('v1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2642,10 +2606,8 @@ describe('v1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listProducts.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listProductsAsync(request); await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1.IProduct[] = []; @@ -2654,15 +2616,15 @@ describe('v1.ProductSearchClient', () => { } }); assert.deepStrictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2698,9 +2660,8 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.ReferenceImage() ), ]; - client.innerApiCalls.listReferenceImages = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.listReferenceImages = + stubSimpleCall(expectedResponse); const [response] = await client.listReferenceImages(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -2739,9 +2700,8 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.ReferenceImage() ), ]; - client.innerApiCalls.listReferenceImages = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listReferenceImages = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listReferenceImages( request, @@ -2819,9 +2779,8 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.ReferenceImage() ), ]; - client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listReferenceImages.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listReferenceImagesStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1.ReferenceImage[] = []; @@ -2846,10 +2805,9 @@ describe('v1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listReferenceImages, request) ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2866,10 +2824,8 @@ describe('v1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( - undefined, - expectedError - ); + client.descriptors.page.listReferenceImages.createStream = + stubPageStreamingCall(undefined, expectedError); const stream = client.listReferenceImagesStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1.ReferenceImage[] = []; @@ -2893,10 +2849,9 @@ describe('v1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listReferenceImages, request) ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2923,9 +2878,8 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.ReferenceImage() ), ]; - client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listReferenceImages.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1.IReferenceImage[] = []; const iterable = client.listReferenceImagesAsync(request); for await (const resource of iterable) { @@ -2933,15 +2887,15 @@ describe('v1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2958,10 +2912,8 @@ describe('v1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listReferenceImages.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listReferenceImagesAsync(request); await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1.IReferenceImage[] = []; @@ -2970,15 +2922,15 @@ describe('v1.ProductSearchClient', () => { } }); assert.deepStrictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3008,9 +2960,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), ]; - client.innerApiCalls.listProductsInProductSet = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.listProductsInProductSet = + stubSimpleCall(expectedResponse); const [response] = await client.listProductsInProductSet(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -3043,9 +2994,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), ]; - client.innerApiCalls.listProductsInProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listProductsInProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listProductsInProductSet( request, @@ -3120,9 +3070,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), ]; - client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listProductsInProductSet.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listProductsInProductSetStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1.Product[] = []; @@ -3139,16 +3088,18 @@ describe('v1.ProductSearchClient', () => { const responses = await promise; assert.deepStrictEqual(responses, expectedResponse); assert( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub) + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ) .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3165,10 +3116,8 @@ describe('v1.ProductSearchClient', () => { request.name = ''; const expectedHeaderRequestParams = 'name='; const expectedError = new Error('expected'); - client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( - undefined, - expectedError - ); + client.descriptors.page.listProductsInProductSet.createStream = + stubPageStreamingCall(undefined, expectedError); const stream = client.listProductsInProductSetStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1.Product[] = []; @@ -3184,16 +3133,18 @@ describe('v1.ProductSearchClient', () => { }); await assert.rejects(promise, expectedError); assert( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub) + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ) .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3214,9 +3165,8 @@ describe('v1.ProductSearchClient', () => { generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), ]; - client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listProductsInProductSet.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1.IProduct[] = []; const iterable = client.listProductsInProductSetAsync(request); for await (const resource of iterable) { @@ -3224,15 +3174,17 @@ describe('v1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3249,10 +3201,8 @@ describe('v1.ProductSearchClient', () => { request.name = ''; const expectedHeaderRequestParams = 'name='; const expectedError = new Error('expected'); - client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listProductsInProductSet.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listProductsInProductSetAsync(request); await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1.IProduct[] = []; @@ -3261,15 +3211,17 @@ describe('v1.ProductSearchClient', () => { } }); assert.deepStrictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3519,9 +3471,8 @@ describe('v1.ProductSearchClient', () => { }); it('matchReferenceImageFromReferenceImageName', () => { - const result = client.matchReferenceImageFromReferenceImageName( - fakePath - ); + const result = + client.matchReferenceImageFromReferenceImageName(fakePath); assert.strictEqual(result, 'referenceImageValue'); assert( (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index 1781f1309a2..45905ddb68d 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -28,10 +28,9 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message).toObject( - instance as protobuf.Message, - {defaults: true} - ); + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); return (instance.constructor as typeof protobuf.Message).fromObject( filledObject ) as T; @@ -281,9 +280,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() ); - client.innerApiCalls.createProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.createProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.createProductSet( request, @@ -393,9 +391,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() ); - client.innerApiCalls.getProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.getProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getProductSet( request, @@ -507,9 +504,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() ); - client.innerApiCalls.updateProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.updateProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.updateProductSet( request, @@ -620,9 +616,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.deleteProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.deleteProductSet( request, @@ -732,9 +727,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() ); - client.innerApiCalls.createProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.createProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.createProduct( request, @@ -844,9 +838,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() ); - client.innerApiCalls.getProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.getProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getProduct( request, @@ -958,9 +951,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() ); - client.innerApiCalls.updateProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.updateProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.updateProduct( request, @@ -1071,9 +1063,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.deleteProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.deleteProduct( request, @@ -1152,9 +1143,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ); - client.innerApiCalls.createReferenceImage = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.createReferenceImage = + stubSimpleCall(expectedResponse); const [response] = await client.createReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1185,9 +1175,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ); - client.innerApiCalls.createReferenceImage = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.createReferenceImage = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.createReferenceImage( request, @@ -1266,9 +1255,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteReferenceImage = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.deleteReferenceImage = + stubSimpleCall(expectedResponse); const [response] = await client.deleteReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1299,9 +1287,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteReferenceImage = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.deleteReferenceImage = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.deleteReferenceImage( request, @@ -1411,9 +1398,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ); - client.innerApiCalls.getReferenceImage = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.getReferenceImage = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getReferenceImage( request, @@ -1492,9 +1478,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.addProductToProductSet = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.addProductToProductSet = + stubSimpleCall(expectedResponse); const [response] = await client.addProductToProductSet(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1525,9 +1510,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.addProductToProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.addProductToProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.addProductToProductSet( request, @@ -1609,9 +1593,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.removeProductFromProductSet = + stubSimpleCall(expectedResponse); const [response] = await client.removeProductFromProductSet(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1642,9 +1625,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.removeProductFromProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.removeProductFromProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.removeProductFromProductSet( request, @@ -1726,9 +1708,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.importProductSets = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.importProductSets = + stubLongRunningCall(expectedResponse); const [operation] = await client.importProductSets(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -1760,9 +1741,8 @@ describe('v1p3beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.importProductSets = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.importProductSets = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.importProductSets( request, @@ -1969,9 +1949,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.ProductSet() ), ]; - client.innerApiCalls.listProductSets = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listProductSets = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listProductSets( request, @@ -2049,9 +2028,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.ProductSet() ), ]; - client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listProductSets.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listProductSetsStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p3beta1.ProductSet[] = []; @@ -2076,10 +2054,9 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProductSets, request) ); assert.strictEqual( - (client.descriptors.page.listProductSets - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2096,10 +2073,8 @@ describe('v1p3beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( - undefined, - expectedError - ); + client.descriptors.page.listProductSets.createStream = + stubPageStreamingCall(undefined, expectedError); const stream = client.listProductSetsStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p3beta1.ProductSet[] = []; @@ -2123,10 +2098,9 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProductSets, request) ); assert.strictEqual( - (client.descriptors.page.listProductSets - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2153,9 +2127,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.ProductSet() ), ]; - client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listProductSets.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1p3beta1.IProductSet[] = []; const iterable = client.listProductSetsAsync(request); for await (const resource of iterable) { @@ -2163,15 +2136,15 @@ describe('v1p3beta1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2188,27 +2161,26 @@ describe('v1p3beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listProductSets.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listProductSetsAsync(request); await assert.rejects(async () => { - const responses: protos.google.cloud.vision.v1p3beta1.IProductSet[] = []; + const responses: protos.google.cloud.vision.v1p3beta1.IProductSet[] = + []; for await (const resource of iterable) { responses.push(resource!); } }); assert.deepStrictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2283,9 +2255,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.Product() ), ]; - client.innerApiCalls.listProducts = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listProducts = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listProducts( request, @@ -2363,9 +2334,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.Product() ), ]; - client.descriptors.page.listProducts.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listProducts.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listProductsStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p3beta1.Product[] = []; @@ -2390,10 +2360,9 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProducts, request) ); assert.strictEqual( - (client.descriptors.page.listProducts - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2437,10 +2406,9 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProducts, request) ); assert.strictEqual( - (client.descriptors.page.listProducts - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2467,9 +2435,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.Product() ), ]; - client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listProducts.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; const iterable = client.listProductsAsync(request); for await (const resource of iterable) { @@ -2477,15 +2444,15 @@ describe('v1p3beta1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2502,10 +2469,8 @@ describe('v1p3beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listProducts.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listProductsAsync(request); await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; @@ -2514,15 +2479,15 @@ describe('v1p3beta1.ProductSearchClient', () => { } }); assert.deepStrictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2558,9 +2523,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ), ]; - client.innerApiCalls.listReferenceImages = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.listReferenceImages = + stubSimpleCall(expectedResponse); const [response] = await client.listReferenceImages(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -2599,9 +2563,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ), ]; - client.innerApiCalls.listReferenceImages = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listReferenceImages = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listReferenceImages( request, @@ -2681,12 +2644,12 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ), ]; - client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listReferenceImages.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listReferenceImagesStream(request); const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.vision.v1p3beta1.ReferenceImage[] = []; + const responses: protos.google.cloud.vision.v1p3beta1.ReferenceImage[] = + []; stream.on( 'data', (response: protos.google.cloud.vision.v1p3beta1.ReferenceImage) => { @@ -2708,10 +2671,9 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listReferenceImages, request) ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2728,13 +2690,12 @@ describe('v1p3beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( - undefined, - expectedError - ); + client.descriptors.page.listReferenceImages.createStream = + stubPageStreamingCall(undefined, expectedError); const stream = client.listReferenceImagesStream(request); const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.vision.v1p3beta1.ReferenceImage[] = []; + const responses: protos.google.cloud.vision.v1p3beta1.ReferenceImage[] = + []; stream.on( 'data', (response: protos.google.cloud.vision.v1p3beta1.ReferenceImage) => { @@ -2755,10 +2716,9 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listReferenceImages, request) ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2785,25 +2745,25 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ), ]; - client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); - const responses: protos.google.cloud.vision.v1p3beta1.IReferenceImage[] = []; + client.descriptors.page.listReferenceImages.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.vision.v1p3beta1.IReferenceImage[] = + []; const iterable = client.listReferenceImagesAsync(request); for await (const resource of iterable) { responses.push(resource!); } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2820,27 +2780,26 @@ describe('v1p3beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listReferenceImages.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listReferenceImagesAsync(request); await assert.rejects(async () => { - const responses: protos.google.cloud.vision.v1p3beta1.IReferenceImage[] = []; + const responses: protos.google.cloud.vision.v1p3beta1.IReferenceImage[] = + []; for await (const resource of iterable) { responses.push(resource!); } }); assert.deepStrictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2876,9 +2835,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.Product() ), ]; - client.innerApiCalls.listProductsInProductSet = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.listProductsInProductSet = + stubSimpleCall(expectedResponse); const [response] = await client.listProductsInProductSet(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -2917,9 +2875,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.Product() ), ]; - client.innerApiCalls.listProductsInProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listProductsInProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listProductsInProductSet( request, @@ -3000,9 +2957,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.Product() ), ]; - client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listProductsInProductSet.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listProductsInProductSetStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p3beta1.Product[] = []; @@ -3022,16 +2978,18 @@ describe('v1p3beta1.ProductSearchClient', () => { const responses = await promise; assert.deepStrictEqual(responses, expectedResponse); assert( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub) + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ) .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3048,10 +3006,8 @@ describe('v1p3beta1.ProductSearchClient', () => { request.name = ''; const expectedHeaderRequestParams = 'name='; const expectedError = new Error('expected'); - client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( - undefined, - expectedError - ); + client.descriptors.page.listProductsInProductSet.createStream = + stubPageStreamingCall(undefined, expectedError); const stream = client.listProductsInProductSetStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p3beta1.Product[] = []; @@ -3070,16 +3026,18 @@ describe('v1p3beta1.ProductSearchClient', () => { }); await assert.rejects(promise, expectedError); assert( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub) + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ) .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3106,9 +3064,8 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.Product() ), ]; - client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listProductsInProductSet.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; const iterable = client.listProductsInProductSetAsync(request); for await (const resource of iterable) { @@ -3116,15 +3073,17 @@ describe('v1p3beta1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3141,10 +3100,8 @@ describe('v1p3beta1.ProductSearchClient', () => { request.name = ''; const expectedHeaderRequestParams = 'name='; const expectedError = new Error('expected'); - client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listProductsInProductSet.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listProductsInProductSetAsync(request); await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p3beta1.IProduct[] = []; @@ -3153,15 +3110,17 @@ describe('v1p3beta1.ProductSearchClient', () => { } }); assert.deepStrictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3411,9 +3370,8 @@ describe('v1p3beta1.ProductSearchClient', () => { }); it('matchReferenceImageFromReferenceImageName', () => { - const result = client.matchReferenceImageFromReferenceImageName( - fakePath - ); + const result = + client.matchReferenceImageFromReferenceImageName(fakePath); assert.strictEqual(result, 'referenceImageValue'); assert( (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index d34215add71..7a1aa236435 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -28,10 +28,9 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message).toObject( - instance as protobuf.Message, - {defaults: true} - ); + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); return (instance.constructor as typeof protobuf.Message).fromObject( filledObject ) as T; @@ -281,9 +280,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() ); - client.innerApiCalls.createProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.createProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.createProductSet( request, @@ -393,9 +391,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() ); - client.innerApiCalls.getProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.getProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getProductSet( request, @@ -507,9 +504,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() ); - client.innerApiCalls.updateProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.updateProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.updateProductSet( request, @@ -620,9 +616,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.deleteProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.deleteProductSet( request, @@ -732,9 +727,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() ); - client.innerApiCalls.createProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.createProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.createProduct( request, @@ -844,9 +838,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() ); - client.innerApiCalls.getProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.getProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getProduct( request, @@ -958,9 +951,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() ); - client.innerApiCalls.updateProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.updateProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.updateProduct( request, @@ -1071,9 +1063,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteProduct = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.deleteProduct = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.deleteProduct( request, @@ -1152,9 +1143,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ); - client.innerApiCalls.createReferenceImage = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.createReferenceImage = + stubSimpleCall(expectedResponse); const [response] = await client.createReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1185,9 +1175,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ); - client.innerApiCalls.createReferenceImage = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.createReferenceImage = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.createReferenceImage( request, @@ -1266,9 +1255,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteReferenceImage = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.deleteReferenceImage = + stubSimpleCall(expectedResponse); const [response] = await client.deleteReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1299,9 +1287,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.deleteReferenceImage = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.deleteReferenceImage = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.deleteReferenceImage( request, @@ -1411,9 +1398,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ); - client.innerApiCalls.getReferenceImage = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.getReferenceImage = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.getReferenceImage( request, @@ -1492,9 +1478,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.addProductToProductSet = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.addProductToProductSet = + stubSimpleCall(expectedResponse); const [response] = await client.addProductToProductSet(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1525,9 +1510,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.addProductToProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.addProductToProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.addProductToProductSet( request, @@ -1609,9 +1593,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.removeProductFromProductSet = + stubSimpleCall(expectedResponse); const [response] = await client.removeProductFromProductSet(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -1642,9 +1625,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); - client.innerApiCalls.removeProductFromProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.removeProductFromProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.removeProductFromProductSet( request, @@ -1726,9 +1708,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.importProductSets = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.importProductSets = + stubLongRunningCall(expectedResponse); const [operation] = await client.importProductSets(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -1760,9 +1741,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.importProductSets = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.importProductSets = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.importProductSets( request, @@ -1922,9 +1902,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.purgeProducts = stubLongRunningCall( - expectedResponse - ); + client.innerApiCalls.purgeProducts = + stubLongRunningCall(expectedResponse); const [operation] = await client.purgeProducts(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); @@ -1956,9 +1935,8 @@ describe('v1p4beta1.ProductSearchClient', () => { const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); - client.innerApiCalls.purgeProducts = stubLongRunningCallWithCallback( - expectedResponse - ); + client.innerApiCalls.purgeProducts = + stubLongRunningCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.purgeProducts( request, @@ -2165,9 +2143,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.ProductSet() ), ]; - client.innerApiCalls.listProductSets = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listProductSets = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listProductSets( request, @@ -2245,9 +2222,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.ProductSet() ), ]; - client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listProductSets.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listProductSetsStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p4beta1.ProductSet[] = []; @@ -2272,10 +2248,9 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProductSets, request) ); assert.strictEqual( - (client.descriptors.page.listProductSets - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2292,10 +2267,8 @@ describe('v1p4beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listProductSets.createStream = stubPageStreamingCall( - undefined, - expectedError - ); + client.descriptors.page.listProductSets.createStream = + stubPageStreamingCall(undefined, expectedError); const stream = client.listProductSetsStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p4beta1.ProductSet[] = []; @@ -2319,10 +2292,9 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProductSets, request) ); assert.strictEqual( - (client.descriptors.page.listProductSets - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2349,9 +2321,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.ProductSet() ), ]; - client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listProductSets.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1p4beta1.IProductSet[] = []; const iterable = client.listProductSetsAsync(request); for await (const resource of iterable) { @@ -2359,15 +2330,15 @@ describe('v1p4beta1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2384,27 +2355,26 @@ describe('v1p4beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listProductSets.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listProductSetsAsync(request); await assert.rejects(async () => { - const responses: protos.google.cloud.vision.v1p4beta1.IProductSet[] = []; + const responses: protos.google.cloud.vision.v1p4beta1.IProductSet[] = + []; for await (const resource of iterable) { responses.push(resource!); } }); assert.deepStrictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductSets - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductSets.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2479,9 +2449,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.Product() ), ]; - client.innerApiCalls.listProducts = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listProducts = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listProducts( request, @@ -2559,9 +2528,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.Product() ), ]; - client.descriptors.page.listProducts.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listProducts.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listProductsStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p4beta1.Product[] = []; @@ -2586,10 +2554,9 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProducts, request) ); assert.strictEqual( - (client.descriptors.page.listProducts - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2633,10 +2600,9 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listProducts, request) ); assert.strictEqual( - (client.descriptors.page.listProducts - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2663,9 +2629,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.Product() ), ]; - client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listProducts.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; const iterable = client.listProductsAsync(request); for await (const resource of iterable) { @@ -2673,15 +2638,15 @@ describe('v1p4beta1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2698,10 +2663,8 @@ describe('v1p4beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listProducts.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listProductsAsync(request); await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; @@ -2710,15 +2673,15 @@ describe('v1p4beta1.ProductSearchClient', () => { } }); assert.deepStrictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProducts - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProducts.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2754,9 +2717,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ), ]; - client.innerApiCalls.listReferenceImages = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.listReferenceImages = + stubSimpleCall(expectedResponse); const [response] = await client.listReferenceImages(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -2795,9 +2757,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ), ]; - client.innerApiCalls.listReferenceImages = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listReferenceImages = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listReferenceImages( request, @@ -2877,12 +2838,12 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ), ]; - client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listReferenceImages.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listReferenceImagesStream(request); const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.vision.v1p4beta1.ReferenceImage[] = []; + const responses: protos.google.cloud.vision.v1p4beta1.ReferenceImage[] = + []; stream.on( 'data', (response: protos.google.cloud.vision.v1p4beta1.ReferenceImage) => { @@ -2904,10 +2865,9 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listReferenceImages, request) ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2924,13 +2884,12 @@ describe('v1p4beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall( - undefined, - expectedError - ); + client.descriptors.page.listReferenceImages.createStream = + stubPageStreamingCall(undefined, expectedError); const stream = client.listReferenceImagesStream(request); const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.vision.v1p4beta1.ReferenceImage[] = []; + const responses: protos.google.cloud.vision.v1p4beta1.ReferenceImage[] = + []; stream.on( 'data', (response: protos.google.cloud.vision.v1p4beta1.ReferenceImage) => { @@ -2951,10 +2910,9 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(client.innerApiCalls.listReferenceImages, request) ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -2981,25 +2939,25 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ), ]; - client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); - const responses: protos.google.cloud.vision.v1p4beta1.IReferenceImage[] = []; + client.descriptors.page.listReferenceImages.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.vision.v1p4beta1.IReferenceImage[] = + []; const iterable = client.listReferenceImagesAsync(request); for await (const resource of iterable) { responses.push(resource!); } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3016,27 +2974,26 @@ describe('v1p4beta1.ProductSearchClient', () => { request.parent = ''; const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('expected'); - client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listReferenceImages.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listReferenceImagesAsync(request); await assert.rejects(async () => { - const responses: protos.google.cloud.vision.v1p4beta1.IReferenceImage[] = []; + const responses: protos.google.cloud.vision.v1p4beta1.IReferenceImage[] = + []; for await (const resource of iterable) { responses.push(resource!); } }); assert.deepStrictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listReferenceImages - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listReferenceImages.asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3072,9 +3029,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.Product() ), ]; - client.innerApiCalls.listProductsInProductSet = stubSimpleCall( - expectedResponse - ); + client.innerApiCalls.listProductsInProductSet = + stubSimpleCall(expectedResponse); const [response] = await client.listProductsInProductSet(request); assert.deepStrictEqual(response, expectedResponse); assert( @@ -3113,9 +3069,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.Product() ), ]; - client.innerApiCalls.listProductsInProductSet = stubSimpleCallWithCallback( - expectedResponse - ); + client.innerApiCalls.listProductsInProductSet = + stubSimpleCallWithCallback(expectedResponse); const promise = new Promise((resolve, reject) => { client.listProductsInProductSet( request, @@ -3196,9 +3151,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.Product() ), ]; - client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( - expectedResponse - ); + client.descriptors.page.listProductsInProductSet.createStream = + stubPageStreamingCall(expectedResponse); const stream = client.listProductsInProductSetStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p4beta1.Product[] = []; @@ -3218,16 +3172,18 @@ describe('v1p4beta1.ProductSearchClient', () => { const responses = await promise; assert.deepStrictEqual(responses, expectedResponse); assert( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub) + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ) .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3244,10 +3200,8 @@ describe('v1p4beta1.ProductSearchClient', () => { request.name = ''; const expectedHeaderRequestParams = 'name='; const expectedError = new Error('expected'); - client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall( - undefined, - expectedError - ); + client.descriptors.page.listProductsInProductSet.createStream = + stubPageStreamingCall(undefined, expectedError); const stream = client.listProductsInProductSetStream(request); const promise = new Promise((resolve, reject) => { const responses: protos.google.cloud.vision.v1p4beta1.Product[] = []; @@ -3266,16 +3220,18 @@ describe('v1p4beta1.ProductSearchClient', () => { }); await assert.rejects(promise, expectedError); assert( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub) + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ) .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .createStream as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .createStream as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3302,9 +3258,8 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.Product() ), ]; - client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( - expectedResponse - ); + client.descriptors.page.listProductsInProductSet.asyncIterate = + stubAsyncIterationCall(expectedResponse); const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; const iterable = client.listProductsInProductSetAsync(request); for await (const resource of iterable) { @@ -3312,15 +3267,17 @@ describe('v1p4beta1.ProductSearchClient', () => { } assert.deepStrictEqual(responses, expectedResponse); assert.deepStrictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3337,10 +3294,8 @@ describe('v1p4beta1.ProductSearchClient', () => { request.name = ''; const expectedHeaderRequestParams = 'name='; const expectedError = new Error('expected'); - client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall( - undefined, - expectedError - ); + client.descriptors.page.listProductsInProductSet.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); const iterable = client.listProductsInProductSetAsync(request); await assert.rejects(async () => { const responses: protos.google.cloud.vision.v1p4beta1.IProduct[] = []; @@ -3349,15 +3304,17 @@ describe('v1p4beta1.ProductSearchClient', () => { } }); assert.deepStrictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[1], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[1], request ); assert.strictEqual( - (client.descriptors.page.listProductsInProductSet - .asyncIterate as SinonStub).getCall(0).args[2].otherArgs.headers[ - 'x-goog-request-params' - ], + ( + client.descriptors.page.listProductsInProductSet + .asyncIterate as SinonStub + ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], expectedHeaderRequestParams ); }); @@ -3607,9 +3564,8 @@ describe('v1p4beta1.ProductSearchClient', () => { }); it('matchReferenceImageFromReferenceImageName', () => { - const result = client.matchReferenceImageFromReferenceImageName( - fakePath - ); + const result = + client.matchReferenceImageFromReferenceImageName(fakePath); assert.strictEqual(result, 'referenceImageValue'); assert( (client.pathTemplates.referenceImagePathTemplate.match as SinonStub) From 895eee26f5bb5da23fa381171bc9d137f278a5ec Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 11 May 2021 21:56:11 +0000 Subject: [PATCH 493/588] fix: use require() to load JSON protos (#899) The library is regenerated with gapic-generator-typescript v1.3.1. Committer: @alexander-fenster PiperOrigin-RevId: 372468161 Source-Link: https://github.com/googleapis/googleapis/commit/75880c3e6a6aa2597400582848e81bbbfac51dea Source-Link: https://github.com/googleapis/googleapis-gen/commit/77b18044813d4c8c415ff9ea68e76e307eb8e904 --- .../src/v1/image_annotator_client.ts | 26 +++---------------- .../src/v1/product_search_client.ts | 26 +++---------------- .../src/v1p1beta1/image_annotator_client.ts | 18 ++----------- .../src/v1p2beta1/image_annotator_client.ts | 24 +++-------------- .../src/v1p3beta1/image_annotator_client.ts | 26 +++---------------- .../src/v1p3beta1/product_search_client.ts | 26 +++---------------- .../src/v1p4beta1/image_annotator_client.ts | 26 +++---------------- .../src/v1p4beta1/product_search_client.ts | 26 +++---------------- 8 files changed, 29 insertions(+), 169 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 59a9e3d4b1e..ef15aaa8c36 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -28,6 +28,7 @@ import { import * as path from 'path'; import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); /** * Client JSON configuration object, loaded from * `src/v1/image_annotator_client_config.json`. @@ -145,22 +146,7 @@ export class ImageAnnotatorClient { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - this._protos = this._gaxGrpc.loadProto( - opts.fallback - ? // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - : nodejsProtoPath - ); + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. @@ -177,15 +163,11 @@ export class ImageAnnotatorClient { ), }; + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - const protoFilesRoot = opts.fallback - ? this._gaxModule.protobuf.Root.fromJSON( - // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - ) - : this._gaxModule.protobuf.loadSync(nodejsProtoPath); this.operationsClient = this._gaxModule .lro({ diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 7be1eebeec5..0b0297281ae 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -32,6 +32,7 @@ import * as path from 'path'; import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); /** * Client JSON configuration object, loaded from * `src/v1/product_search_client_config.json`. @@ -160,22 +161,7 @@ export class ProductSearchClient { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - this._protos = this._gaxGrpc.loadProto( - opts.fallback - ? // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - : nodejsProtoPath - ); + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. @@ -221,15 +207,11 @@ export class ProductSearchClient { ), }; + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - const protoFilesRoot = opts.fallback - ? this._gaxModule.protobuf.Root.fromJSON( - // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - ) - : this._gaxModule.protobuf.loadSync(nodejsProtoPath); this.operationsClient = this._gaxModule .lro({ diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 6df41719b7d..8c05da56ae7 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -22,6 +22,7 @@ import {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax'; import * as path from 'path'; import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); /** * Client JSON configuration object, loaded from * `src/v1p1beta1/image_annotator_client_config.json`. @@ -137,22 +138,7 @@ export class ImageAnnotatorClient { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - this._protos = this._gaxGrpc.loadProto( - opts.fallback - ? // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - : nodejsProtoPath - ); + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); // Put together the default options sent with requests. this._defaults = this._gaxGrpc.constructSettings( diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index ce22659a971..6867fb3d807 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -28,6 +28,7 @@ import { import * as path from 'path'; import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); /** * Client JSON configuration object, loaded from * `src/v1p2beta1/image_annotator_client_config.json`. @@ -144,32 +145,13 @@ export class ImageAnnotatorClient { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - this._protos = this._gaxGrpc.loadProto( - opts.fallback - ? // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - : nodejsProtoPath - ); + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - const protoFilesRoot = opts.fallback - ? this._gaxModule.protobuf.Root.fromJSON( - // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - ) - : this._gaxModule.protobuf.loadSync(nodejsProtoPath); this.operationsClient = this._gaxModule .lro({ diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 2c40920cb33..c388d819885 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -28,6 +28,7 @@ import { import * as path from 'path'; import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); /** * Client JSON configuration object, loaded from * `src/v1p3beta1/image_annotator_client_config.json`. @@ -145,22 +146,7 @@ export class ImageAnnotatorClient { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - this._protos = this._gaxGrpc.loadProto( - opts.fallback - ? // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - : nodejsProtoPath - ); + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. @@ -177,15 +163,11 @@ export class ImageAnnotatorClient { ), }; + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - const protoFilesRoot = opts.fallback - ? this._gaxModule.protobuf.Root.fromJSON( - // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - ) - : this._gaxModule.protobuf.loadSync(nodejsProtoPath); this.operationsClient = this._gaxModule .lro({ diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index b0d34465ae8..eb7ee5df4be 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -32,6 +32,7 @@ import * as path from 'path'; import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); /** * Client JSON configuration object, loaded from * `src/v1p3beta1/product_search_client_config.json`. @@ -160,22 +161,7 @@ export class ProductSearchClient { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - this._protos = this._gaxGrpc.loadProto( - opts.fallback - ? // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - : nodejsProtoPath - ); + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. @@ -221,15 +207,11 @@ export class ProductSearchClient { ), }; + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - const protoFilesRoot = opts.fallback - ? this._gaxModule.protobuf.Root.fromJSON( - // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - ) - : this._gaxModule.protobuf.loadSync(nodejsProtoPath); this.operationsClient = this._gaxModule .lro({ diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 1b784d7baa7..922b9e52fd4 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -28,6 +28,7 @@ import { import * as path from 'path'; import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); /** * Client JSON configuration object, loaded from * `src/v1p4beta1/image_annotator_client_config.json`. @@ -145,22 +146,7 @@ export class ImageAnnotatorClient { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - this._protos = this._gaxGrpc.loadProto( - opts.fallback - ? // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - : nodejsProtoPath - ); + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. @@ -177,15 +163,11 @@ export class ImageAnnotatorClient { ), }; + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - const protoFilesRoot = opts.fallback - ? this._gaxModule.protobuf.Root.fromJSON( - // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - ) - : this._gaxModule.protobuf.loadSync(nodejsProtoPath); this.operationsClient = this._gaxModule .lro({ diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index f54f723ab9e..a3d1ee79367 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -32,6 +32,7 @@ import * as path from 'path'; import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); /** * Client JSON configuration object, loaded from * `src/v1p4beta1/product_search_client_config.json`. @@ -164,22 +165,7 @@ export class ProductSearchClient { clientHeader.push(`${opts.libName}/${opts.libVersion}`); } // Load the applicable protos. - // For Node.js, pass the path to JSON proto file. - // For browsers, pass the JSON content. - - const nodejsProtoPath = path.join( - __dirname, - '..', - '..', - 'protos', - 'protos.json' - ); - this._protos = this._gaxGrpc.loadProto( - opts.fallback - ? // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - : nodejsProtoPath - ); + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); // This API contains "path templates"; forward-slash-separated // identifiers to uniquely identify resources within the API. @@ -225,15 +211,11 @@ export class ProductSearchClient { ), }; + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - const protoFilesRoot = opts.fallback - ? this._gaxModule.protobuf.Root.fromJSON( - // eslint-disable-next-line @typescript-eslint/no-var-requires - require('../../protos/protos.json') - ) - : this._gaxModule.protobuf.loadSync(nodejsProtoPath); this.operationsClient = this._gaxModule .lro({ From 6bd4f92e12301d6c5c7273bfad6dadfc9fe6ac44 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 11 May 2021 23:12:19 +0000 Subject: [PATCH 494/588] chore: update gapic-generator-typescript to v1.3.2 (#900) Committer: @alexander-fenster PiperOrigin-RevId: 372656503 Source-Link: https://github.com/googleapis/googleapis/commit/6fa858c6489b1bbc505a7d7afe39f2dc45819c38 Source-Link: https://github.com/googleapis/googleapis-gen/commit/d7c95df3ab1ea1b4c22a4542bad4924cc46d1388 --- packages/google-cloud-vision/src/v1/image_annotator_client.ts | 1 - packages/google-cloud-vision/src/v1/product_search_client.ts | 1 - .../google-cloud-vision/src/v1p1beta1/image_annotator_client.ts | 1 - .../google-cloud-vision/src/v1p2beta1/image_annotator_client.ts | 1 - .../google-cloud-vision/src/v1p3beta1/image_annotator_client.ts | 1 - .../google-cloud-vision/src/v1p3beta1/product_search_client.ts | 1 - .../google-cloud-vision/src/v1p4beta1/image_annotator_client.ts | 1 - .../google-cloud-vision/src/v1p4beta1/product_search_client.ts | 1 - 8 files changed, 8 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index ef15aaa8c36..6fd89797faf 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -25,7 +25,6 @@ import { ClientOptions, LROperation, } from 'google-gax'; -import * as path from 'path'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 0b0297281ae..69bb67c4e64 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -27,7 +27,6 @@ import { PaginationCallback, GaxCall, } from 'google-gax'; -import * as path from 'path'; import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 8c05da56ae7..b8183008d2b 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -19,7 +19,6 @@ /* global window */ import * as gax from 'google-gax'; import {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax'; -import * as path from 'path'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 6867fb3d807..4d1cab2aeb7 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -25,7 +25,6 @@ import { ClientOptions, LROperation, } from 'google-gax'; -import * as path from 'path'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index c388d819885..dbc0c23abac 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -25,7 +25,6 @@ import { ClientOptions, LROperation, } from 'google-gax'; -import * as path from 'path'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index eb7ee5df4be..b0e75f4c03a 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -27,7 +27,6 @@ import { PaginationCallback, GaxCall, } from 'google-gax'; -import * as path from 'path'; import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 922b9e52fd4..6d5c495a1d3 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -25,7 +25,6 @@ import { ClientOptions, LROperation, } from 'google-gax'; -import * as path from 'path'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index a3d1ee79367..59fa7ff2765 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -27,7 +27,6 @@ import { PaginationCallback, GaxCall, } from 'google-gax'; -import * as path from 'path'; import {Transform} from 'stream'; import {RequestType} from 'google-gax/build/src/apitypes'; From c8732176d6d876f1afcf8fe8a0c9e7a0e9cc7d4a Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 12 May 2021 16:18:40 -0700 Subject: [PATCH 495/588] chore: release 2.3.2 (#895) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-vision/CHANGELOG.md | 9 +++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index a8b69b2a400..2fa5f097634 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,15 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.3.2](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.1...v2.3.2) (2021-05-12) + + +### Bug Fixes + +* **deps:** require google-gax v2.12.0 ([#897](https://www.github.com/googleapis/nodejs-vision/issues/897)) ([bc987f4](https://www.github.com/googleapis/nodejs-vision/commit/bc987f4cc731de64792d5b56d4861038b310f211)) +* **deps:** update dependency natural to v5 ([#880](https://www.github.com/googleapis/nodejs-vision/issues/880)) ([6a82d95](https://www.github.com/googleapis/nodejs-vision/commit/6a82d95f532f054cd120920339c198d57ce2cf28)) +* use require() to load JSON protos ([#899](https://www.github.com/googleapis/nodejs-vision/issues/899)) ([01ff4e3](https://www.github.com/googleapis/nodejs-vision/commit/01ff4e3162541e4e255ca7b3e5478c2b754a78b9)) + ### [2.3.1](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.0...v2.3.1) (2021-02-18) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 5d5aedbaf07..90b6ca0ff91 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.3.1", + "version": "2.3.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index ab98be2178d..b80d0de137f 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.3.1", + "@google-cloud/vision": "^2.3.2", "natural": "^5.0.0", "pureimage": "^0.2.1", "redis": "^3.0.0", From 095632c2eff21b539307f313bca827359f17545e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 21 May 2021 19:04:02 +0200 Subject: [PATCH 496/588] chore(deps): update dependency @types/node to v14 (#906) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`^13.7.4` -> `^14.0.0`](https://renovatebot.com/diffs/npm/@types%2fnode/13.13.52/14.17.0) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/14.17.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/14.17.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/14.17.0/compatibility-slim/13.13.52)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/14.17.0/confidence-slim/13.13.52)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻️ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 90b6ca0ff91..f4306ad135d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -54,7 +54,7 @@ "@google-cloud/storage": "^5.0.0", "@types/is": "0.0.21", "@types/mocha": "^8.0.0", - "@types/node": "^13.7.4", + "@types/node": "^14.0.0", "@types/sinon": "^10.0.0", "@types/uuid": "^8.0.0", "c8": "^7.1.0", From 3454a51e2fba1bea5fe4fb3da2ceafdb11e8ee01 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 25 May 2021 17:54:36 +0200 Subject: [PATCH 497/588] chore(deps): update dependency sinon to v11 (#907) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sinon](https://sinonjs.org/) ([source](https://togithub.com/sinonjs/sinon)) | [`^10.0.0` -> `^11.0.0`](https://renovatebot.com/diffs/npm/sinon/10.0.0/11.1.0) | [![age](https://badges.renovateapi.com/packages/npm/sinon/11.1.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/sinon/11.1.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/sinon/11.1.0/compatibility-slim/10.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/sinon/11.1.0/confidence-slim/10.0.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
sinonjs/sinon ### [`v11.1.0`](https://togithub.com/sinonjs/sinon/blob/master/CHANGELOG.md#​1110--2021-05-25) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v11.0.0...31be9a5d5a4762ef01cb195f29024616dfee9ce8) \================== - Add sinon.promise() implementation ([#​2369](https://togithub.com/sinonjs/sinon/issues/2369)) - Set wrappedMethod on getters/setters ([#​2378](https://togithub.com/sinonjs/sinon/issues/2378)) - \[Docs] Update fake-server usage & descriptions ([#​2365](https://togithub.com/sinonjs/sinon/issues/2365)) - Fake docs improvement ([#​2360](https://togithub.com/sinonjs/sinon/issues/2360)) - Update nise to 5.1.0 (fixed [#​2318](https://togithub.com/sinonjs/sinon/issues/2318)) ### [`v11.0.0`](https://togithub.com/sinonjs/sinon/blob/master/CHANGELOG.md#​1100--2021-05-24) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v10.0.1...v11.0.0) \================== - Explicitly use samsam 6.0.2 with fix for [#​2345](https://togithub.com/sinonjs/sinon/issues/2345) - Update most packages ([#​2371](https://togithub.com/sinonjs/sinon/issues/2371)) - Update compatibility docs ([#​2366](https://togithub.com/sinonjs/sinon/issues/2366)) - Update packages (includes breaking fake-timers change, see [#​2352](https://togithub.com/sinonjs/sinon/issues/2352)) - Warn of potential memory leaks ([#​2357](https://togithub.com/sinonjs/sinon/issues/2357)) - Fix clock test errors ### [`v10.0.1`](https://togithub.com/sinonjs/sinon/blob/master/CHANGELOG.md#​1001--2021-04-08) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v10.0.0...v10.0.1) \================== - Upgrade sinon components (bumps y18n to 4.0.1) - Bump y18n from 4.0.0 to 4.0.1
--- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻️ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index f4306ad135d..3578c2bbc45 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -67,7 +67,7 @@ "mocha": "^8.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", - "sinon": "^10.0.0", + "sinon": "^11.0.0", "ts-loader": "^9.0.0", "typescript": "^3.8.3", "uuid": "^8.0.0", From 6dd990f5ef70a63e9e024eb5f24dccc163dc6e4b Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 25 May 2021 20:48:21 +0000 Subject: [PATCH 498/588] fix: GoogleAdsError missing using generator version after 1.3.0 (#908) [PR](https://github.com/googleapis/gapic-generator-typescript/pull/878) within updated gapic-generator-typescript version 1.4.0 Committer: @summer-ji-eng PiperOrigin-RevId: 375759421 Source-Link: https://github.com/googleapis/googleapis/commit/95fa72fdd0d69b02d72c33b37d1e4cc66d4b1446 Source-Link: https://github.com/googleapis/googleapis-gen/commit/f40a34377ad488a7c2bc3992b3c8d5faf5a15c46 --- packages/google-cloud-vision/src/v1/image_annotator_client.ts | 2 ++ packages/google-cloud-vision/src/v1/product_search_client.ts | 2 ++ .../google-cloud-vision/src/v1p1beta1/image_annotator_client.ts | 2 ++ .../google-cloud-vision/src/v1p2beta1/image_annotator_client.ts | 2 ++ .../google-cloud-vision/src/v1p3beta1/image_annotator_client.ts | 2 ++ .../google-cloud-vision/src/v1p3beta1/product_search_client.ts | 2 ++ .../google-cloud-vision/src/v1p4beta1/image_annotator_client.ts | 2 ++ .../google-cloud-vision/src/v1p4beta1/product_search_client.ts | 2 ++ 8 files changed, 16 insertions(+) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 6fd89797faf..22a2201f8c6 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -140,6 +140,8 @@ export class ImageAnnotatorClient { } if (!opts.fallback) { clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 69bb67c4e64..411c973297d 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -155,6 +155,8 @@ export class ProductSearchClient { } if (!opts.fallback) { clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index b8183008d2b..160a9b03261 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -132,6 +132,8 @@ export class ImageAnnotatorClient { } if (!opts.fallback) { clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 4d1cab2aeb7..ff412eef60c 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -139,6 +139,8 @@ export class ImageAnnotatorClient { } if (!opts.fallback) { clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index dbc0c23abac..0e5545cc57a 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -140,6 +140,8 @@ export class ImageAnnotatorClient { } if (!opts.fallback) { clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index b0e75f4c03a..a2012ef1f66 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -155,6 +155,8 @@ export class ProductSearchClient { } if (!opts.fallback) { clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 6d5c495a1d3..3776c64ceea 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -140,6 +140,8 @@ export class ImageAnnotatorClient { } if (!opts.fallback) { clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 59fa7ff2765..b5fb1aa94c4 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -159,6 +159,8 @@ export class ProductSearchClient { } if (!opts.fallback) { clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); } if (opts.libName && opts.libVersion) { clientHeader.push(`${opts.libName}/${opts.libVersion}`); From 31f36a434b3aaa0a80d29be2842f97ef12e37ff6 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 26 May 2021 01:09:08 +0200 Subject: [PATCH 499/588] samples(deps): update dependency pureimage to ^0.3.0 (#882) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index b80d0de137f..3344ec8ffc1 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -15,7 +15,7 @@ "dependencies": { "@google-cloud/vision": "^2.3.2", "natural": "^5.0.0", - "pureimage": "^0.2.1", + "pureimage": "^0.3.0", "redis": "^3.0.0", "yargs": "^16.0.0" }, From ba10d1ea749c395f27d82774c0adf4af62c66dec Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 2 Jun 2021 18:06:44 -0700 Subject: [PATCH 500/588] chore: release 2.3.3 (#909) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 2fa5f097634..3749f8edc5e 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.3.3](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.2...v2.3.3) (2021-05-26) + + +### Bug Fixes + +* GoogleAdsError missing using generator version after 1.3.0 ([#908](https://www.github.com/googleapis/nodejs-vision/issues/908)) ([3bd4071](https://www.github.com/googleapis/nodejs-vision/commit/3bd4071597067b7f31d61cbaeaef1fc531179fc4)) + ### [2.3.2](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.1...v2.3.2) (2021-05-12) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 3578c2bbc45..626f0987275 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.3.2", + "version": "2.3.3", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 3344ec8ffc1..27782a76afb 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.3.2", + "@google-cloud/vision": "^2.3.3", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "^3.0.0", From eef618e7a06bae3a675a34cd90aa493d887d4e08 Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Thu, 10 Jun 2021 23:02:28 +0200 Subject: [PATCH 501/588] chore(nodejs): remove api-extractor dependencies (#915) --- packages/google-cloud-vision/package.json | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 626f0987275..a79fcca3b4f 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -41,9 +41,7 @@ "compile": "tsc -p . && cp -r protos build/", "compile-protos": "compileProtos src", "prepare": "npm run compile", - "precompile": "gts clean", - "api-extractor": "api-extractor run --local", - "api-documenter": "api-documenter yaml --input-folder=temp" + "precompile": "gts clean" }, "dependencies": { "@google-cloud/promisify": "^2.0.0", @@ -72,8 +70,6 @@ "typescript": "^3.8.3", "uuid": "^8.0.0", "webpack": "^5.0.0", - "webpack-cli": "^4.0.0", - "@microsoft/api-documenter": "^7.8.10", - "@microsoft/api-extractor": "^7.8.10" + "webpack-cli": "^4.0.0" } } From 0196bb59e187678c2eb4f545921d44f7d4a3a443 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 22 Jun 2021 20:20:14 +0000 Subject: [PATCH 502/588] fix: make request optional in all cases (#917) ... chore: update gapic-generator-ruby to the latest commit chore: release gapic-generator-typescript 1.5.0 Committer: @miraleung PiperOrigin-RevId: 380641501 Source-Link: https://github.com/googleapis/googleapis/commit/076f7e9f0b258bdb54338895d7251b202e8f0de3 Source-Link: https://github.com/googleapis/googleapis-gen/commit/27e4c88b4048e5f56508d4e1aa417d60a3380892 --- .../src/v1/image_annotator_client.ts | 16 ++-- .../src/v1/product_search_client.ts | 76 +++++++++---------- .../src/v1p1beta1/image_annotator_client.ts | 4 +- .../src/v1p2beta1/image_annotator_client.ts | 8 +- .../src/v1p3beta1/image_annotator_client.ts | 8 +- .../src/v1p3beta1/product_search_client.ts | 72 +++++++++--------- .../src/v1p4beta1/image_annotator_client.ts | 16 ++-- .../src/v1p4beta1/product_search_client.ts | 76 +++++++++---------- 8 files changed, 138 insertions(+), 138 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 22a2201f8c6..e8e2b8ef618 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -346,7 +346,7 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, options?: CallOptions ): Promise< [ @@ -407,7 +407,7 @@ export class ImageAnnotatorClient { * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( - request: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, optionsOrCallback?: | CallOptions | Callback< @@ -450,7 +450,7 @@ export class ImageAnnotatorClient { return this.innerApiCalls.batchAnnotateImages(request, options, callback); } batchAnnotateFiles( - request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, options?: CallOptions ): Promise< [ @@ -518,7 +518,7 @@ export class ImageAnnotatorClient { * const [response] = await client.batchAnnotateFiles(request); */ batchAnnotateFiles( - request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, optionsOrCallback?: | CallOptions | Callback< @@ -562,7 +562,7 @@ export class ImageAnnotatorClient { } asyncBatchAnnotateImages( - request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, options?: CallOptions ): Promise< [ @@ -641,7 +641,7 @@ export class ImageAnnotatorClient { * const [response] = await operation.promise(); */ asyncBatchAnnotateImages( - request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, optionsOrCallback?: | CallOptions | Callback< @@ -730,7 +730,7 @@ export class ImageAnnotatorClient { >; } asyncBatchAnnotateFiles( - request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, options?: CallOptions ): Promise< [ @@ -804,7 +804,7 @@ export class ImageAnnotatorClient { * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles( - request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: | CallOptions | Callback< diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 411c973297d..7362a5fd0b7 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -400,7 +400,7 @@ export class ProductSearchClient { // -- Service calls -- // ------------------- createProductSet( - request: protos.google.cloud.vision.v1.ICreateProductSetRequest, + request?: protos.google.cloud.vision.v1.ICreateProductSetRequest, options?: CallOptions ): Promise< [ @@ -458,7 +458,7 @@ export class ProductSearchClient { * const [response] = await client.createProductSet(request); */ createProductSet( - request: protos.google.cloud.vision.v1.ICreateProductSetRequest, + request?: protos.google.cloud.vision.v1.ICreateProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -499,7 +499,7 @@ export class ProductSearchClient { return this.innerApiCalls.createProductSet(request, options, callback); } getProductSet( - request: protos.google.cloud.vision.v1.IGetProductSetRequest, + request?: protos.google.cloud.vision.v1.IGetProductSetRequest, options?: CallOptions ): Promise< [ @@ -550,7 +550,7 @@ export class ProductSearchClient { * const [response] = await client.getProductSet(request); */ getProductSet( - request: protos.google.cloud.vision.v1.IGetProductSetRequest, + request?: protos.google.cloud.vision.v1.IGetProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -591,7 +591,7 @@ export class ProductSearchClient { return this.innerApiCalls.getProductSet(request, options, callback); } updateProductSet( - request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, + request?: protos.google.cloud.vision.v1.IUpdateProductSetRequest, options?: CallOptions ): Promise< [ @@ -647,7 +647,7 @@ export class ProductSearchClient { * const [response] = await client.updateProductSet(request); */ updateProductSet( - request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, + request?: protos.google.cloud.vision.v1.IUpdateProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -688,7 +688,7 @@ export class ProductSearchClient { return this.innerApiCalls.updateProductSet(request, options, callback); } deleteProductSet( - request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, + request?: protos.google.cloud.vision.v1.IDeleteProductSetRequest, options?: CallOptions ): Promise< [ @@ -738,7 +738,7 @@ export class ProductSearchClient { * const [response] = await client.deleteProductSet(request); */ deleteProductSet( - request: protos.google.cloud.vision.v1.IDeleteProductSetRequest, + request?: protos.google.cloud.vision.v1.IDeleteProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -779,7 +779,7 @@ export class ProductSearchClient { return this.innerApiCalls.deleteProductSet(request, options, callback); } createProduct( - request: protos.google.cloud.vision.v1.ICreateProductRequest, + request?: protos.google.cloud.vision.v1.ICreateProductRequest, options?: CallOptions ): Promise< [ @@ -840,7 +840,7 @@ export class ProductSearchClient { * const [response] = await client.createProduct(request); */ createProduct( - request: protos.google.cloud.vision.v1.ICreateProductRequest, + request?: protos.google.cloud.vision.v1.ICreateProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -881,7 +881,7 @@ export class ProductSearchClient { return this.innerApiCalls.createProduct(request, options, callback); } getProduct( - request: protos.google.cloud.vision.v1.IGetProductRequest, + request?: protos.google.cloud.vision.v1.IGetProductRequest, options?: CallOptions ): Promise< [ @@ -932,7 +932,7 @@ export class ProductSearchClient { * const [response] = await client.getProduct(request); */ getProduct( - request: protos.google.cloud.vision.v1.IGetProductRequest, + request?: protos.google.cloud.vision.v1.IGetProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -971,7 +971,7 @@ export class ProductSearchClient { return this.innerApiCalls.getProduct(request, options, callback); } updateProduct( - request: protos.google.cloud.vision.v1.IUpdateProductRequest, + request?: protos.google.cloud.vision.v1.IUpdateProductRequest, options?: CallOptions ): Promise< [ @@ -1036,7 +1036,7 @@ export class ProductSearchClient { * const [response] = await client.updateProduct(request); */ updateProduct( - request: protos.google.cloud.vision.v1.IUpdateProductRequest, + request?: protos.google.cloud.vision.v1.IUpdateProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1077,7 +1077,7 @@ export class ProductSearchClient { return this.innerApiCalls.updateProduct(request, options, callback); } deleteProduct( - request: protos.google.cloud.vision.v1.IDeleteProductRequest, + request?: protos.google.cloud.vision.v1.IDeleteProductRequest, options?: CallOptions ): Promise< [ @@ -1128,7 +1128,7 @@ export class ProductSearchClient { * const [response] = await client.deleteProduct(request); */ deleteProduct( - request: protos.google.cloud.vision.v1.IDeleteProductRequest, + request?: protos.google.cloud.vision.v1.IDeleteProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1169,7 +1169,7 @@ export class ProductSearchClient { return this.innerApiCalls.deleteProduct(request, options, callback); } createReferenceImage( - request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, + request?: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, options?: CallOptions ): Promise< [ @@ -1246,7 +1246,7 @@ export class ProductSearchClient { * const [response] = await client.createReferenceImage(request); */ createReferenceImage( - request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, + request?: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1289,7 +1289,7 @@ export class ProductSearchClient { return this.innerApiCalls.createReferenceImage(request, options, callback); } deleteReferenceImage( - request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, + request?: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, options?: CallOptions ): Promise< [ @@ -1346,7 +1346,7 @@ export class ProductSearchClient { * const [response] = await client.deleteReferenceImage(request); */ deleteReferenceImage( - request: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, + request?: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1389,7 +1389,7 @@ export class ProductSearchClient { return this.innerApiCalls.deleteReferenceImage(request, options, callback); } getReferenceImage( - request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, + request?: protos.google.cloud.vision.v1.IGetReferenceImageRequest, options?: CallOptions ): Promise< [ @@ -1444,7 +1444,7 @@ export class ProductSearchClient { * const [response] = await client.getReferenceImage(request); */ getReferenceImage( - request: protos.google.cloud.vision.v1.IGetReferenceImageRequest, + request?: protos.google.cloud.vision.v1.IGetReferenceImageRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1487,7 +1487,7 @@ export class ProductSearchClient { return this.innerApiCalls.getReferenceImage(request, options, callback); } addProductToProductSet( - request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, + request?: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, options?: CallOptions ): Promise< [ @@ -1550,7 +1550,7 @@ export class ProductSearchClient { * const [response] = await client.addProductToProductSet(request); */ addProductToProductSet( - request: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, + request?: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1597,7 +1597,7 @@ export class ProductSearchClient { ); } removeProductFromProductSet( - request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, + request?: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, options?: CallOptions ): Promise< [ @@ -1656,7 +1656,7 @@ export class ProductSearchClient { * const [response] = await client.removeProductFromProductSet(request); */ removeProductFromProductSet( - request: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, + request?: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1707,7 +1707,7 @@ export class ProductSearchClient { } importProductSets( - request: protos.google.cloud.vision.v1.IImportProductSetsRequest, + request?: protos.google.cloud.vision.v1.IImportProductSetsRequest, options?: CallOptions ): Promise< [ @@ -1777,7 +1777,7 @@ export class ProductSearchClient { * const [response] = await operation.promise(); */ importProductSets( - request: protos.google.cloud.vision.v1.IImportProductSetsRequest, + request?: protos.google.cloud.vision.v1.IImportProductSetsRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1862,7 +1862,7 @@ export class ProductSearchClient { >; } purgeProducts( - request: protos.google.cloud.vision.v1.IPurgeProductsRequest, + request?: protos.google.cloud.vision.v1.IPurgeProductsRequest, options?: CallOptions ): Promise< [ @@ -1951,7 +1951,7 @@ export class ProductSearchClient { * const [response] = await operation.promise(); */ purgeProducts( - request: protos.google.cloud.vision.v1.IPurgeProductsRequest, + request?: protos.google.cloud.vision.v1.IPurgeProductsRequest, optionsOrCallback?: | CallOptions | Callback< @@ -2036,7 +2036,7 @@ export class ProductSearchClient { >; } listProductSets( - request: protos.google.cloud.vision.v1.IListProductSetsRequest, + request?: protos.google.cloud.vision.v1.IListProductSetsRequest, options?: CallOptions ): Promise< [ @@ -2094,7 +2094,7 @@ export class ProductSearchClient { * for more details and examples. */ listProductSets( - request: protos.google.cloud.vision.v1.IListProductSetsRequest, + request?: protos.google.cloud.vision.v1.IListProductSetsRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -2232,7 +2232,7 @@ export class ProductSearchClient { ) as AsyncIterable; } listProducts( - request: protos.google.cloud.vision.v1.IListProductsRequest, + request?: protos.google.cloud.vision.v1.IListProductsRequest, options?: CallOptions ): Promise< [ @@ -2290,7 +2290,7 @@ export class ProductSearchClient { * for more details and examples. */ listProducts( - request: protos.google.cloud.vision.v1.IListProductsRequest, + request?: protos.google.cloud.vision.v1.IListProductsRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -2430,7 +2430,7 @@ export class ProductSearchClient { ) as AsyncIterable; } listReferenceImages( - request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, + request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, options?: CallOptions ): Promise< [ @@ -2497,7 +2497,7 @@ export class ProductSearchClient { * for more details and examples. */ listReferenceImages( - request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, + request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -2645,7 +2645,7 @@ export class ProductSearchClient { ) as AsyncIterable; } listProductsInProductSet( - request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, options?: CallOptions ): Promise< [ @@ -2709,7 +2709,7 @@ export class ProductSearchClient { * for more details and examples. */ listProductsInProductSet( - request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, optionsOrCallback?: | CallOptions | PaginationCallback< diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 160a9b03261..9c6a1ccff50 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -272,7 +272,7 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, options?: CallOptions ): Promise< [ @@ -323,7 +323,7 @@ export class ImageAnnotatorClient { * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( - request: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: | CallOptions | Callback< diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index ff412eef60c..bed840f2e86 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -313,7 +313,7 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, options?: CallOptions ): Promise< [ @@ -364,7 +364,7 @@ export class ImageAnnotatorClient { * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( - request: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: | CallOptions | Callback< @@ -405,7 +405,7 @@ export class ImageAnnotatorClient { } asyncBatchAnnotateFiles( - request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, options?: CallOptions ): Promise< [ @@ -466,7 +466,7 @@ export class ImageAnnotatorClient { * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles( - request: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: | CallOptions | Callback< diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 0e5545cc57a..25b22473136 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -329,7 +329,7 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, options?: CallOptions ): Promise< [ @@ -380,7 +380,7 @@ export class ImageAnnotatorClient { * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( - request: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: | CallOptions | Callback< @@ -421,7 +421,7 @@ export class ImageAnnotatorClient { } asyncBatchAnnotateFiles( - request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, options?: CallOptions ): Promise< [ @@ -482,7 +482,7 @@ export class ImageAnnotatorClient { * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles( - request: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: | CallOptions | Callback< diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index a2012ef1f66..34f9be8dac1 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -388,7 +388,7 @@ export class ProductSearchClient { // -- Service calls -- // ------------------- createProductSet( - request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, options?: CallOptions ): Promise< [ @@ -450,7 +450,7 @@ export class ProductSearchClient { * const [response] = await client.createProductSet(request); */ createProductSet( - request: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -493,7 +493,7 @@ export class ProductSearchClient { return this.innerApiCalls.createProductSet(request, options, callback); } getProductSet( - request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, options?: CallOptions ): Promise< [ @@ -548,7 +548,7 @@ export class ProductSearchClient { * const [response] = await client.getProductSet(request); */ getProductSet( - request: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -591,7 +591,7 @@ export class ProductSearchClient { return this.innerApiCalls.getProductSet(request, options, callback); } updateProductSet( - request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, options?: CallOptions ): Promise< [ @@ -651,7 +651,7 @@ export class ProductSearchClient { * const [response] = await client.updateProductSet(request); */ updateProductSet( - request: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -694,7 +694,7 @@ export class ProductSearchClient { return this.innerApiCalls.updateProductSet(request, options, callback); } deleteProductSet( - request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, options?: CallOptions ): Promise< [ @@ -752,7 +752,7 @@ export class ProductSearchClient { * const [response] = await client.deleteProductSet(request); */ deleteProductSet( - request: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -795,7 +795,7 @@ export class ProductSearchClient { return this.innerApiCalls.deleteProductSet(request, options, callback); } createProduct( - request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, + request?: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, options?: CallOptions ): Promise< [ @@ -860,7 +860,7 @@ export class ProductSearchClient { * const [response] = await client.createProduct(request); */ createProduct( - request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, + request?: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -903,7 +903,7 @@ export class ProductSearchClient { return this.innerApiCalls.createProduct(request, options, callback); } getProduct( - request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, + request?: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, options?: CallOptions ): Promise< [ @@ -958,7 +958,7 @@ export class ProductSearchClient { * const [response] = await client.getProduct(request); */ getProduct( - request: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, + request?: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1001,7 +1001,7 @@ export class ProductSearchClient { return this.innerApiCalls.getProduct(request, options, callback); } updateProduct( - request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + request?: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, options?: CallOptions ): Promise< [ @@ -1069,7 +1069,7 @@ export class ProductSearchClient { * const [response] = await client.updateProduct(request); */ updateProduct( - request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + request?: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1112,7 +1112,7 @@ export class ProductSearchClient { return this.innerApiCalls.updateProduct(request, options, callback); } deleteProduct( - request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, + request?: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, options?: CallOptions ): Promise< [ @@ -1171,7 +1171,7 @@ export class ProductSearchClient { * const [response] = await client.deleteProduct(request); */ deleteProduct( - request: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, + request?: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1214,7 +1214,7 @@ export class ProductSearchClient { return this.innerApiCalls.deleteProduct(request, options, callback); } createReferenceImage( - request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + request?: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, options?: CallOptions ): Promise< [ @@ -1294,7 +1294,7 @@ export class ProductSearchClient { * const [response] = await client.createReferenceImage(request); */ createReferenceImage( - request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + request?: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1340,7 +1340,7 @@ export class ProductSearchClient { return this.innerApiCalls.createReferenceImage(request, options, callback); } deleteReferenceImage( - request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, + request?: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, options?: CallOptions ): Promise< [ @@ -1405,7 +1405,7 @@ export class ProductSearchClient { * const [response] = await client.deleteReferenceImage(request); */ deleteReferenceImage( - request: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, + request?: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1451,7 +1451,7 @@ export class ProductSearchClient { return this.innerApiCalls.deleteReferenceImage(request, options, callback); } getReferenceImage( - request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, + request?: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, options?: CallOptions ): Promise< [ @@ -1510,7 +1510,7 @@ export class ProductSearchClient { * const [response] = await client.getReferenceImage(request); */ getReferenceImage( - request: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, + request?: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1556,7 +1556,7 @@ export class ProductSearchClient { return this.innerApiCalls.getReferenceImage(request, options, callback); } addProductToProductSet( - request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, options?: CallOptions ): Promise< [ @@ -1622,7 +1622,7 @@ export class ProductSearchClient { * const [response] = await client.addProductToProductSet(request); */ addProductToProductSet( - request: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1672,7 +1672,7 @@ export class ProductSearchClient { ); } removeProductFromProductSet( - request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, options?: CallOptions ): Promise< [ @@ -1735,7 +1735,7 @@ export class ProductSearchClient { * const [response] = await client.removeProductFromProductSet(request); */ removeProductFromProductSet( - request: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1786,7 +1786,7 @@ export class ProductSearchClient { } importProductSets( - request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, + request?: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, options?: CallOptions ): Promise< [ @@ -1856,7 +1856,7 @@ export class ProductSearchClient { * const [response] = await operation.promise(); */ importProductSets( - request: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, + request?: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1941,7 +1941,7 @@ export class ProductSearchClient { >; } listProductSets( - request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, options?: CallOptions ): Promise< [ @@ -2003,7 +2003,7 @@ export class ProductSearchClient { * for more details and examples. */ listProductSets( - request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -2143,7 +2143,7 @@ export class ProductSearchClient { ) as AsyncIterable; } listProducts( - request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, options?: CallOptions ): Promise< [ @@ -2205,7 +2205,7 @@ export class ProductSearchClient { * for more details and examples. */ listProducts( - request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -2347,7 +2347,7 @@ export class ProductSearchClient { ) as AsyncIterable; } listReferenceImages( - request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, options?: CallOptions ): Promise< [ @@ -2414,7 +2414,7 @@ export class ProductSearchClient { * for more details and examples. */ listReferenceImages( - request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -2562,7 +2562,7 @@ export class ProductSearchClient { ) as AsyncIterable; } listProductsInProductSet( - request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, options?: CallOptions ): Promise< [ @@ -2626,7 +2626,7 @@ export class ProductSearchClient { * for more details and examples. */ listProductsInProductSet( - request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, optionsOrCallback?: | CallOptions | PaginationCallback< diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 3776c64ceea..e091415a3fe 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -346,7 +346,7 @@ export class ImageAnnotatorClient { // -- Service calls -- // ------------------- batchAnnotateImages( - request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, options?: CallOptions ): Promise< [ @@ -397,7 +397,7 @@ export class ImageAnnotatorClient { * const [response] = await client.batchAnnotateImages(request); */ batchAnnotateImages( - request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: | CallOptions | Callback< @@ -437,7 +437,7 @@ export class ImageAnnotatorClient { return this.innerApiCalls.batchAnnotateImages(request, options, callback); } batchAnnotateFiles( - request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, options?: CallOptions ): Promise< [ @@ -495,7 +495,7 @@ export class ImageAnnotatorClient { * const [response] = await client.batchAnnotateFiles(request); */ batchAnnotateFiles( - request: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, optionsOrCallback?: | CallOptions | Callback< @@ -536,7 +536,7 @@ export class ImageAnnotatorClient { } asyncBatchAnnotateImages( - request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, options?: CallOptions ): Promise< [ @@ -602,7 +602,7 @@ export class ImageAnnotatorClient { * const [response] = await operation.promise(); */ asyncBatchAnnotateImages( - request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, optionsOrCallback?: | CallOptions | Callback< @@ -685,7 +685,7 @@ export class ImageAnnotatorClient { >; } asyncBatchAnnotateFiles( - request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, options?: CallOptions ): Promise< [ @@ -746,7 +746,7 @@ export class ImageAnnotatorClient { * const [response] = await operation.promise(); */ asyncBatchAnnotateFiles( - request: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: | CallOptions | Callback< diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index b5fb1aa94c4..38e602eb08c 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -404,7 +404,7 @@ export class ProductSearchClient { // -- Service calls -- // ------------------- createProductSet( - request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, options?: CallOptions ): Promise< [ @@ -466,7 +466,7 @@ export class ProductSearchClient { * const [response] = await client.createProductSet(request); */ createProductSet( - request: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -509,7 +509,7 @@ export class ProductSearchClient { return this.innerApiCalls.createProductSet(request, options, callback); } getProductSet( - request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, options?: CallOptions ): Promise< [ @@ -564,7 +564,7 @@ export class ProductSearchClient { * const [response] = await client.getProductSet(request); */ getProductSet( - request: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -607,7 +607,7 @@ export class ProductSearchClient { return this.innerApiCalls.getProductSet(request, options, callback); } updateProductSet( - request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, options?: CallOptions ): Promise< [ @@ -667,7 +667,7 @@ export class ProductSearchClient { * const [response] = await client.updateProductSet(request); */ updateProductSet( - request: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -710,7 +710,7 @@ export class ProductSearchClient { return this.innerApiCalls.updateProductSet(request, options, callback); } deleteProductSet( - request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, options?: CallOptions ): Promise< [ @@ -764,7 +764,7 @@ export class ProductSearchClient { * const [response] = await client.deleteProductSet(request); */ deleteProductSet( - request: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -807,7 +807,7 @@ export class ProductSearchClient { return this.innerApiCalls.deleteProductSet(request, options, callback); } createProduct( - request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, + request?: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, options?: CallOptions ): Promise< [ @@ -872,7 +872,7 @@ export class ProductSearchClient { * const [response] = await client.createProduct(request); */ createProduct( - request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, + request?: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -915,7 +915,7 @@ export class ProductSearchClient { return this.innerApiCalls.createProduct(request, options, callback); } getProduct( - request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, + request?: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, options?: CallOptions ): Promise< [ @@ -970,7 +970,7 @@ export class ProductSearchClient { * const [response] = await client.getProduct(request); */ getProduct( - request: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, + request?: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1013,7 +1013,7 @@ export class ProductSearchClient { return this.innerApiCalls.getProduct(request, options, callback); } updateProduct( - request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + request?: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, options?: CallOptions ): Promise< [ @@ -1082,7 +1082,7 @@ export class ProductSearchClient { * const [response] = await client.updateProduct(request); */ updateProduct( - request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + request?: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1125,7 +1125,7 @@ export class ProductSearchClient { return this.innerApiCalls.updateProduct(request, options, callback); } deleteProduct( - request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, + request?: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, options?: CallOptions ): Promise< [ @@ -1180,7 +1180,7 @@ export class ProductSearchClient { * const [response] = await client.deleteProduct(request); */ deleteProduct( - request: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, + request?: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1223,7 +1223,7 @@ export class ProductSearchClient { return this.innerApiCalls.deleteProduct(request, options, callback); } createReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + request?: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, options?: CallOptions ): Promise< [ @@ -1304,7 +1304,7 @@ export class ProductSearchClient { * const [response] = await client.createReferenceImage(request); */ createReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + request?: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1350,7 +1350,7 @@ export class ProductSearchClient { return this.innerApiCalls.createReferenceImage(request, options, callback); } deleteReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, + request?: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, options?: CallOptions ): Promise< [ @@ -1411,7 +1411,7 @@ export class ProductSearchClient { * const [response] = await client.deleteReferenceImage(request); */ deleteReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, + request?: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1457,7 +1457,7 @@ export class ProductSearchClient { return this.innerApiCalls.deleteReferenceImage(request, options, callback); } getReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + request?: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, options?: CallOptions ): Promise< [ @@ -1516,7 +1516,7 @@ export class ProductSearchClient { * const [response] = await client.getReferenceImage(request); */ getReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + request?: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1562,7 +1562,7 @@ export class ProductSearchClient { return this.innerApiCalls.getReferenceImage(request, options, callback); } addProductToProductSet( - request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, options?: CallOptions ): Promise< [ @@ -1628,7 +1628,7 @@ export class ProductSearchClient { * const [response] = await client.addProductToProductSet(request); */ addProductToProductSet( - request: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1678,7 +1678,7 @@ export class ProductSearchClient { ); } removeProductFromProductSet( - request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, options?: CallOptions ): Promise< [ @@ -1738,7 +1738,7 @@ export class ProductSearchClient { * const [response] = await client.removeProductFromProductSet(request); */ removeProductFromProductSet( - request: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1789,7 +1789,7 @@ export class ProductSearchClient { } importProductSets( - request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, options?: CallOptions ): Promise< [ @@ -1859,7 +1859,7 @@ export class ProductSearchClient { * const [response] = await operation.promise(); */ importProductSets( - request: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, optionsOrCallback?: | CallOptions | Callback< @@ -1944,7 +1944,7 @@ export class ProductSearchClient { >; } purgeProducts( - request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, options?: CallOptions ): Promise< [ @@ -2033,7 +2033,7 @@ export class ProductSearchClient { * const [response] = await operation.promise(); */ purgeProducts( - request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, optionsOrCallback?: | CallOptions | Callback< @@ -2118,7 +2118,7 @@ export class ProductSearchClient { >; } listProductSets( - request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, options?: CallOptions ): Promise< [ @@ -2180,7 +2180,7 @@ export class ProductSearchClient { * for more details and examples. */ listProductSets( - request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -2320,7 +2320,7 @@ export class ProductSearchClient { ) as AsyncIterable; } listProducts( - request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, options?: CallOptions ): Promise< [ @@ -2382,7 +2382,7 @@ export class ProductSearchClient { * for more details and examples. */ listProducts( - request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -2524,7 +2524,7 @@ export class ProductSearchClient { ) as AsyncIterable; } listReferenceImages( - request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, options?: CallOptions ): Promise< [ @@ -2591,7 +2591,7 @@ export class ProductSearchClient { * for more details and examples. */ listReferenceImages( - request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, optionsOrCallback?: | CallOptions | PaginationCallback< @@ -2739,7 +2739,7 @@ export class ProductSearchClient { ) as AsyncIterable; } listProductsInProductSet( - request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, options?: CallOptions ): Promise< [ @@ -2803,7 +2803,7 @@ export class ProductSearchClient { * for more details and examples. */ listProductsInProductSet( - request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, optionsOrCallback?: | CallOptions | PaginationCallback< From 611398cb737099cc482553b5541d719372b48614 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 22 Jun 2021 20:40:39 +0000 Subject: [PATCH 503/588] chore: release 2.3.4 (#918) :robot: I have created a release \*beep\* \*boop\* --- ### [2.3.4](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.3...v2.3.4) (2021-06-22) ### Bug Fixes * make request optional in all cases ([#917](https://www.github.com/googleapis/nodejs-vision/issues/917)) ([d301b79](https://www.github.com/googleapis/nodejs-vision/commit/d301b79dee83948bada4b16e33048933d454c051)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 3749f8edc5e..b8916709e4b 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.3.4](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.3...v2.3.4) (2021-06-22) + + +### Bug Fixes + +* make request optional in all cases ([#917](https://www.github.com/googleapis/nodejs-vision/issues/917)) ([d301b79](https://www.github.com/googleapis/nodejs-vision/commit/d301b79dee83948bada4b16e33048933d454c051)) + ### [2.3.3](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.2...v2.3.3) (2021-05-26) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index a79fcca3b4f..ba980247fbf 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.3.3", + "version": "2.3.4", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 27782a76afb..d867efcf766 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.3.3", + "@google-cloud/vision": "^2.3.4", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "^3.0.0", From 2d253c797e7c1f5d316fced217494262671de8b3 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Tue, 29 Jun 2021 11:24:29 -0400 Subject: [PATCH 504/588] fix(deps): google-gax v2.17.0 with mTLS (#923) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ba980247fbf..58a646cd8b7 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -45,7 +45,7 @@ }, "dependencies": { "@google-cloud/promisify": "^2.0.0", - "google-gax": "^2.12.0", + "google-gax": "^2.17.0", "is": "^3.3.0" }, "devDependencies": { From 3360f4dfc2ef5a5ab726992364dd40a833692b1f Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 29 Jun 2021 15:42:45 +0000 Subject: [PATCH 505/588] chore: release 2.3.5 (#924) :robot: I have created a release \*beep\* \*boop\* --- ### [2.3.5](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.4...v2.3.5) (2021-06-29) ### Bug Fixes * **deps:** google-gax v2.17.0 with mTLS ([#923](https://www.github.com/googleapis/nodejs-vision/issues/923)) ([0292824](https://www.github.com/googleapis/nodejs-vision/commit/02928247cae0d8db0f4ced155e8f60c8d664cd17)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index b8916709e4b..93a9b92f658 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.3.5](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.4...v2.3.5) (2021-06-29) + + +### Bug Fixes + +* **deps:** google-gax v2.17.0 with mTLS ([#923](https://www.github.com/googleapis/nodejs-vision/issues/923)) ([0292824](https://www.github.com/googleapis/nodejs-vision/commit/02928247cae0d8db0f4ced155e8f60c8d664cd17)) + ### [2.3.4](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.3...v2.3.4) (2021-06-22) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 58a646cd8b7..6167305fbb1 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.3.4", + "version": "2.3.5", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index d867efcf766..dd49f86060e 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.3.4", + "@google-cloud/vision": "^2.3.5", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "^3.0.0", From 23bfad8293e43d5508b5364027719b721f389bf2 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 12 Jul 2021 17:44:13 -0400 Subject: [PATCH 506/588] fix(deps): google-gax v2.17.1 (#926) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6167305fbb1..f408e160c8d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -45,7 +45,7 @@ }, "dependencies": { "@google-cloud/promisify": "^2.0.0", - "google-gax": "^2.17.0", + "google-gax": "^2.17.1", "is": "^3.3.0" }, "devDependencies": { From 4ba6ed8031fbbccdc92f5c14aa75c04cfa5ee9ef Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 12 Jul 2021 22:06:11 +0000 Subject: [PATCH 507/588] chore: release 2.3.6 (#927) :robot: I have created a release \*beep\* \*boop\* --- ### [2.3.6](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.5...v2.3.6) (2021-07-12) ### Bug Fixes * **deps:** google-gax v2.17.1 ([#926](https://www.github.com/googleapis/nodejs-vision/issues/926)) ([6853428](https://www.github.com/googleapis/nodejs-vision/commit/68534284ff975a3a1c950b6727358b77dac4fc83)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 93a9b92f658..17f2ace298b 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.3.6](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.5...v2.3.6) (2021-07-12) + + +### Bug Fixes + +* **deps:** google-gax v2.17.1 ([#926](https://www.github.com/googleapis/nodejs-vision/issues/926)) ([6853428](https://www.github.com/googleapis/nodejs-vision/commit/68534284ff975a3a1c950b6727358b77dac4fc83)) + ### [2.3.5](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.4...v2.3.5) (2021-06-29) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index f408e160c8d..6c99743878d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.3.5", + "version": "2.3.6", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index dd49f86060e..f1c17c09c0c 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.3.5", + "@google-cloud/vision": "^2.3.6", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "^3.0.0", From dbfa550cd16bd7172607dd3e5c9c143102d990f1 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 16 Jul 2021 19:08:27 +0000 Subject: [PATCH 508/588] fix: Updating WORKSPACE files to use the newest version of the Typescript generator. (#928) Also removing the explicit generator tag for the IAMPolicy mixin for the kms and pubsub APIS as the generator will now read it from the .yaml file. PiperOrigin-RevId: 385101839 Source-Link: https://github.com/googleapis/googleapis/commit/80f404215a9346259db760d80d0671f28c433453 Source-Link: https://github.com/googleapis/googleapis-gen/commit/d3509d2520fb8db862129633f1cf8406d17454e1 --- .../src/v1/image_annotator_client.ts | 11 ++++++++++- .../src/v1/product_search_client.ts | 11 ++++++++++- .../src/v1p1beta1/image_annotator_client.ts | 11 ++++++++++- .../src/v1p2beta1/image_annotator_client.ts | 11 ++++++++++- .../src/v1p3beta1/image_annotator_client.ts | 11 ++++++++++- .../src/v1p3beta1/product_search_client.ts | 11 ++++++++++- .../src/v1p4beta1/image_annotator_client.ts | 11 ++++++++++- .../src/v1p4beta1/product_search_client.ts | 11 ++++++++++- 8 files changed, 80 insertions(+), 8 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index e8e2b8ef618..c543a372612 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -47,6 +47,7 @@ const version = require('../../../package.json').version; export class ImageAnnotatorClient { private _terminated = false; private _opts: ClientOptions; + private _providedCustomServicePath: boolean; private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; @@ -58,6 +59,7 @@ export class ImageAnnotatorClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; @@ -102,6 +104,9 @@ export class ImageAnnotatorClient { const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; const fallback = @@ -222,6 +227,9 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; } /** @@ -250,7 +258,8 @@ export class ImageAnnotatorClient { ) : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1.ImageAnnotator, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 7362a5fd0b7..3ab1f21a703 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -62,6 +62,7 @@ const version = require('../../../package.json').version; export class ProductSearchClient { private _terminated = false; private _opts: ClientOptions; + private _providedCustomServicePath: boolean; private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; @@ -73,6 +74,7 @@ export class ProductSearchClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; @@ -117,6 +119,9 @@ export class ProductSearchClient { const staticMembers = this.constructor as typeof ProductSearchClient; const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; const fallback = @@ -258,6 +263,9 @@ export class ProductSearchClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; } /** @@ -286,7 +294,8 @@ export class ProductSearchClient { ) : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1.ProductSearch, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 9c6a1ccff50..cbafd0a34fd 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -41,6 +41,7 @@ const version = require('../../../package.json').version; export class ImageAnnotatorClient { private _terminated = false; private _opts: ClientOptions; + private _providedCustomServicePath: boolean; private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; @@ -52,6 +53,7 @@ export class ImageAnnotatorClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; imageAnnotatorStub?: Promise<{[name: string]: Function}>; @@ -94,6 +96,9 @@ export class ImageAnnotatorClient { const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; const fallback = @@ -153,6 +158,9 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; } /** @@ -181,7 +189,8 @@ export class ImageAnnotatorClient { ) : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p1beta1.ImageAnnotator, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index bed840f2e86..54a0090f1b4 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -47,6 +47,7 @@ const version = require('../../../package.json').version; export class ImageAnnotatorClient { private _terminated = false; private _opts: ClientOptions; + private _providedCustomServicePath: boolean; private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; @@ -58,6 +59,7 @@ export class ImageAnnotatorClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; operationsClient: gax.OperationsClient; imageAnnotatorStub?: Promise<{[name: string]: Function}>; @@ -101,6 +103,9 @@ export class ImageAnnotatorClient { const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; const fallback = @@ -191,6 +196,9 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; } /** @@ -219,7 +227,8 @@ export class ImageAnnotatorClient { ) : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p2beta1.ImageAnnotator, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 25b22473136..11b2d0c13be 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -47,6 +47,7 @@ const version = require('../../../package.json').version; export class ImageAnnotatorClient { private _terminated = false; private _opts: ClientOptions; + private _providedCustomServicePath: boolean; private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; @@ -58,6 +59,7 @@ export class ImageAnnotatorClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; @@ -102,6 +104,9 @@ export class ImageAnnotatorClient { const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; const fallback = @@ -207,6 +212,9 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; } /** @@ -235,7 +243,8 @@ export class ImageAnnotatorClient { ) : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p3beta1.ImageAnnotator, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 34f9be8dac1..787adcc5a41 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -62,6 +62,7 @@ const version = require('../../../package.json').version; export class ProductSearchClient { private _terminated = false; private _opts: ClientOptions; + private _providedCustomServicePath: boolean; private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; @@ -73,6 +74,7 @@ export class ProductSearchClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; @@ -117,6 +119,9 @@ export class ProductSearchClient { const staticMembers = this.constructor as typeof ProductSearchClient; const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; const fallback = @@ -247,6 +252,9 @@ export class ProductSearchClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; } /** @@ -275,7 +283,8 @@ export class ProductSearchClient { ) : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p3beta1.ProductSearch, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index e091415a3fe..8263df362de 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -47,6 +47,7 @@ const version = require('../../../package.json').version; export class ImageAnnotatorClient { private _terminated = false; private _opts: ClientOptions; + private _providedCustomServicePath: boolean; private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; @@ -58,6 +59,7 @@ export class ImageAnnotatorClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; @@ -102,6 +104,9 @@ export class ImageAnnotatorClient { const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; const fallback = @@ -222,6 +227,9 @@ export class ImageAnnotatorClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; } /** @@ -250,7 +258,8 @@ export class ImageAnnotatorClient { ) : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p4beta1.ImageAnnotator, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 38e602eb08c..0bb2d6292dc 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -66,6 +66,7 @@ const version = require('../../../package.json').version; export class ProductSearchClient { private _terminated = false; private _opts: ClientOptions; + private _providedCustomServicePath: boolean; private _gaxModule: typeof gax | typeof gax.fallback; private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; private _protos: {}; @@ -77,6 +78,7 @@ export class ProductSearchClient { longrunning: {}, batching: {}, }; + warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: {[name: string]: Function}; pathTemplates: {[name: string]: gax.PathTemplate}; operationsClient: gax.OperationsClient; @@ -121,6 +123,9 @@ export class ProductSearchClient { const staticMembers = this.constructor as typeof ProductSearchClient; const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); const port = opts?.port || staticMembers.port; const clientConfig = opts?.clientConfig ?? {}; const fallback = @@ -262,6 +267,9 @@ export class ProductSearchClient { // of calling the API is handled in `google-gax`, with this code // merely providing the destination and request information. this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = gax.warn; } /** @@ -290,7 +298,8 @@ export class ProductSearchClient { ) : // eslint-disable-next-line @typescript-eslint/no-explicit-any (this._protos as any).google.cloud.vision.v1p4beta1.ProductSearch, - this._opts + this._opts, + this._providedCustomServicePath ) as Promise<{[method: string]: Function}>; // Iterate over each of the methods that the service provides From 0edca940050869aafee298ce36a33d00119d3f7a Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 21 Jul 2021 00:56:28 +0000 Subject: [PATCH 509/588] chore: release 2.3.7 (#929) :robot: I have created a release \*beep\* \*boop\* --- ### [2.3.7](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.6...v2.3.7) (2021-07-21) ### Bug Fixes * Updating WORKSPACE files to use the newest version of the Typescript generator. ([#928](https://www.github.com/googleapis/nodejs-vision/issues/928)) ([f5cddc5](https://www.github.com/googleapis/nodejs-vision/commit/f5cddc5086a96ddc4255017366422df40a6efaf5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 17f2ace298b..c16f6bf13b4 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.3.7](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.6...v2.3.7) (2021-07-21) + + +### Bug Fixes + +* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#928](https://www.github.com/googleapis/nodejs-vision/issues/928)) ([f5cddc5](https://www.github.com/googleapis/nodejs-vision/commit/f5cddc5086a96ddc4255017366422df40a6efaf5)) + ### [2.3.6](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.5...v2.3.6) (2021-07-12) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 6c99743878d..d6496891e77 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.3.6", + "version": "2.3.7", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index f1c17c09c0c..550acd400d0 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.3.6", + "@google-cloud/vision": "^2.3.7", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "^3.0.0", From d62d4ad6347d06797ed0ca4db4566fc1cd16f073 Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Wed, 4 Aug 2021 16:04:26 -0400 Subject: [PATCH 510/588] chore(nodejs): update client ref docs link in metadata (#936) --- packages/google-cloud-vision/.repo-metadata.json | 2 +- packages/google-cloud-vision/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/.repo-metadata.json b/packages/google-cloud-vision/.repo-metadata.json index fb27702f4e4..4771d2a94de 100644 --- a/packages/google-cloud-vision/.repo-metadata.json +++ b/packages/google-cloud-vision/.repo-metadata.json @@ -3,7 +3,7 @@ "distribution_name": "@google-cloud/vision", "product_documentation": "https://cloud.google.com/vision", "api_id": "vision.googleapis.com", - "client_documentation": "https://googleapis.dev/nodejs/vision/latest", + "client_documentation": "https://cloud.google.com/nodejs/docs/reference/vision/latest", "repo": "googleapis/nodejs-vision", "release_level": "ga", "requires_billing": true, diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 18a28ece735..1fe7e02500c 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -156,7 +156,7 @@ Apache Version 2.0 See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) -[client-docs]: https://googleapis.dev/nodejs/vision/latest +[client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest [product-docs]: https://cloud.google.com/vision [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png [projects]: https://console.cloud.google.com/project From 7257a4f2c474c9e16bdd66f3afe0848254e451a2 Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 16 Aug 2021 22:42:19 -0400 Subject: [PATCH 511/588] fix(deps): google-gax v2.24.1 (#939) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index d6496891e77..91c8164f71f 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -45,7 +45,7 @@ }, "dependencies": { "@google-cloud/promisify": "^2.0.0", - "google-gax": "^2.17.1", + "google-gax": "^2.24.1", "is": "^3.3.0" }, "devDependencies": { From 2a0a767a9a7f122fa030bfb055cd5512335c9325 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 17 Aug 2021 17:04:30 +0000 Subject: [PATCH 512/588] chore: release 2.3.8 (#940) :robot: I have created a release \*beep\* \*boop\* --- ### [2.3.8](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.7...v2.3.8) (2021-08-17) ### Bug Fixes * **deps:** google-gax v2.24.1 ([#939](https://www.github.com/googleapis/nodejs-vision/issues/939)) ([21d59e3](https://www.github.com/googleapis/nodejs-vision/commit/21d59e39ba66eb14db467e101477cba692a67d44)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index c16f6bf13b4..a21f55e38dc 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.3.8](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.7...v2.3.8) (2021-08-17) + + +### Bug Fixes + +* **deps:** google-gax v2.24.1 ([#939](https://www.github.com/googleapis/nodejs-vision/issues/939)) ([21d59e3](https://www.github.com/googleapis/nodejs-vision/commit/21d59e39ba66eb14db467e101477cba692a67d44)) + ### [2.3.7](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.6...v2.3.7) (2021-07-21) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 91c8164f71f..156961d3534 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.3.7", + "version": "2.3.8", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 550acd400d0..5a53b188705 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.3.7", + "@google-cloud/vision": "^2.3.8", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "^3.0.0", From 81e1a5f10eb6896fca5b097a40bd44004539b4d4 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 25 Aug 2021 23:42:21 +0000 Subject: [PATCH 513/588] chore: disable renovate dependency dashboard (#1194) (#944) --- packages/google-cloud-vision/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 1fe7e02500c..26d3c9d340a 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -147,8 +147,8 @@ Contributions welcome! See the [Contributing Guide](https://github.com/googleapi 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 template in this -[directory](https://github.com/googleapis/synthtool/tree/master/synthtool/gcp/templates/node_library). +to its templates in +[directory](https://github.com/googleapis/synthtool). ## License From 4b920a705b45a6ee124d2b43d55bb525e5622d87 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 7 Sep 2021 15:46:01 -0700 Subject: [PATCH 514/588] feat: turns on self-signed JWT feature flag (#942) PiperOrigin-RevId: 392067151 Source-Link: https://github.com/googleapis/googleapis/commit/06345f7b95c4b4a3ffe4303f1f2984ccc304b2e0 Source-Link: https://github.com/googleapis/googleapis-gen/commit/95882b37970e41e4cd51b22fa507cfd46dc7c4b6 --- .../google-cloud-vision/src/v1/image_annotator_client.ts | 7 +++++++ .../google-cloud-vision/src/v1/product_search_client.ts | 7 +++++++ .../src/v1p1beta1/image_annotator_client.ts | 6 ++++++ .../src/v1p2beta1/image_annotator_client.ts | 7 +++++++ .../src/v1p3beta1/image_annotator_client.ts | 7 +++++++ .../src/v1p3beta1/product_search_client.ts | 7 +++++++ .../src/v1p4beta1/image_annotator_client.ts | 7 +++++++ .../src/v1p4beta1/product_search_client.ts | 7 +++++++ 8 files changed, 55 insertions(+) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index c543a372612..4971683068c 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -131,6 +131,12 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + // Set the default scopes in auth client if needed. if (servicePath === staticMembers.servicePath) { this.auth.defaultScopes = staticMembers.scopes; @@ -1093,6 +1099,7 @@ export class ImageAnnotatorClient { return this.imageAnnotatorStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 3ab1f21a703..2b1a5848366 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -146,6 +146,12 @@ export class ProductSearchClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + // Set the default scopes in auth client if needed. if (servicePath === staticMembers.servicePath) { this.auth.defaultScopes = staticMembers.scopes; @@ -3091,6 +3097,7 @@ export class ProductSearchClient { return this.productSearchStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index cbafd0a34fd..c36b961ef0d 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -123,6 +123,12 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + // Set the default scopes in auth client if needed. if (servicePath === staticMembers.servicePath) { this.auth.defaultScopes = staticMembers.scopes; diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 54a0090f1b4..7ff93fa4e90 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -130,6 +130,12 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + // Set the default scopes in auth client if needed. if (servicePath === staticMembers.servicePath) { this.auth.defaultScopes = staticMembers.scopes; @@ -570,6 +576,7 @@ export class ImageAnnotatorClient { return this.imageAnnotatorStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 11b2d0c13be..464783fdff0 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -131,6 +131,12 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + // Set the default scopes in auth client if needed. if (servicePath === staticMembers.servicePath) { this.auth.defaultScopes = staticMembers.scopes; @@ -765,6 +771,7 @@ export class ImageAnnotatorClient { return this.imageAnnotatorStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 787adcc5a41..a5ba353531b 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -146,6 +146,12 @@ export class ProductSearchClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + // Set the default scopes in auth client if needed. if (servicePath === staticMembers.servicePath) { this.auth.defaultScopes = staticMembers.scopes; @@ -3008,6 +3014,7 @@ export class ProductSearchClient { return this.productSearchStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 8263df362de..8f1d9502531 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -131,6 +131,12 @@ export class ImageAnnotatorClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + // Set the default scopes in auth client if needed. if (servicePath === staticMembers.servicePath) { this.auth.defaultScopes = staticMembers.scopes; @@ -1029,6 +1035,7 @@ export class ImageAnnotatorClient { return this.imageAnnotatorStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 0bb2d6292dc..85ea4407ab9 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -150,6 +150,12 @@ export class ProductSearchClient { // Save the auth object to the client, for use by other methods. this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + // Set the default scopes in auth client if needed. if (servicePath === staticMembers.servicePath) { this.auth.defaultScopes = staticMembers.scopes; @@ -3185,6 +3191,7 @@ export class ProductSearchClient { return this.productSearchStub!.then(stub => { this._terminated = true; stub.close(); + this.operationsClient.close(); }); } return Promise.resolve(); From be1efaecf133498a1d5ae31a0b0c671d86e74011 Mon Sep 17 00:00:00 2001 From: Jeff Ching Date: Thu, 9 Sep 2021 10:38:15 -0700 Subject: [PATCH 515/588] fix(build): migrate to using main branch (#947) --- packages/google-cloud-vision/README.md | 32 +++++++++---------- .../google-cloud-vision/samples/README.md | 22 ++++++------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 26d3c9d340a..e937a943818 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -6,7 +6,7 @@ [![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages) [![npm version](https://img.shields.io/npm/v/@google-cloud/vision.svg)](https://www.npmjs.org/package/@google-cloud/vision) -[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-vision/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-vision) +[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-vision/main.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-vision) @@ -15,7 +15,7 @@ Google Cloud Vision API client for Node.js A comprehensive list of changes in each version may be found in -[the CHANGELOG](https://github.com/googleapis/nodejs-vision/blob/master/CHANGELOG.md). +[the CHANGELOG](https://github.com/googleapis/nodejs-vision/blob/main/CHANGELOG.md). * [Google Cloud Vision API Node.js Client API Reference][client-docs] * [Google Cloud Vision API Documentation][product-docs] @@ -79,21 +79,21 @@ quickstart(); ## Samples -Samples are in the [`samples/`](https://github.com/googleapis/nodejs-vision/tree/master/samples) directory. Each sample's `README.md` has instructions for running its sample. +Samples are in the [`samples/`](https://github.com/googleapis/nodejs-vision/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample. | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | -| Async-batch-annotate-images | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/async-batch-annotate-images.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/async-batch-annotate-images.js,samples/README.md) | -| Batch-annotate-files-gcs | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/batch-annotate-files-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files-gcs.js,samples/README.md) | -| Batch-annotate-files | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/batch-annotate-files.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files.js,samples/README.md) | -| Detect | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) | -| Detect.v1p1beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p1beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) | -| Detect.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) | -| Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) | -| Cloud Vision Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | -| Cloud Vision Custom API Endpoint | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) | -| Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | -| Cloud Vision Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/vision-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/vision-face-detection.js,samples/README.md) | +| Async-batch-annotate-images | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/async-batch-annotate-images.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/async-batch-annotate-images.js,samples/README.md) | +| Batch-annotate-files-gcs | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/batch-annotate-files-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files-gcs.js,samples/README.md) | +| Batch-annotate-files | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/batch-annotate-files.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files.js,samples/README.md) | +| Detect | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) | +| Detect.v1p1beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.v1p1beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) | +| Detect.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) | +| Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/faceDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) | +| Cloud Vision Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | +| Cloud Vision Custom API Endpoint | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/setEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) | +| Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | +| Cloud Vision Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/vision-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/vision-face-detection.js,samples/README.md) | @@ -142,7 +142,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-vision/blob/master/CONTRIBUTING.md). +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-vision/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`) @@ -154,7 +154,7 @@ to its templates in Apache Version 2.0 -See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/master/LICENSE) +See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/main/LICENSE) [client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest [product-docs]: https://cloud.google.com/vision diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index bd06d6d6e5e..823d779a8fc 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -41,7 +41,7 @@ Before running the samples, make sure you've followed the steps outlined in ### Async-batch-annotate-images -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/async-batch-annotate-images.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/async-batch-annotate-images.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/async-batch-annotate-images.js,samples/README.md) @@ -58,7 +58,7 @@ __Usage:__ ### Batch-annotate-files-gcs -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/batch-annotate-files-gcs.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/batch-annotate-files-gcs.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files-gcs.js,samples/README.md) @@ -75,7 +75,7 @@ __Usage:__ ### Batch-annotate-files -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/batch-annotate-files.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/batch-annotate-files.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files.js,samples/README.md) @@ -92,7 +92,7 @@ __Usage:__ ### Detect -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) @@ -109,7 +109,7 @@ __Usage:__ ### Detect.v1p1beta1 -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p1beta1.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.v1p1beta1.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) @@ -126,7 +126,7 @@ __Usage:__ ### Detect.v1p3beta1 -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/detect.v1p3beta1.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.v1p3beta1.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) @@ -143,7 +143,7 @@ __Usage:__ ### Face Detection -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/faceDetection.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/faceDetection.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) @@ -162,7 +162,7 @@ __Usage:__ Performs label detection of an image with a cat. -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/quickstart.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/quickstart.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) @@ -181,7 +181,7 @@ __Usage:__ Demonstrates using a custom API endpoint for the Cloud Vision API. -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/setEndpoint.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/setEndpoint.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) @@ -198,7 +198,7 @@ __Usage:__ ### Text Detection -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/textDetection.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/textDetection.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) @@ -217,7 +217,7 @@ __Usage:__ Identify faces in an image using the Cloud Vision API. -View the [source code](https://github.com/googleapis/nodejs-vision/blob/master/samples/vision-face-detection.js). +View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/vision-face-detection.js). [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/vision-face-detection.js,samples/README.md) From 7ebc784865d808246658829b8a31165e581d88e5 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 9 Sep 2021 11:21:30 -0700 Subject: [PATCH 516/588] chore: release 2.4.0 (#946) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- packages/google-cloud-vision/CHANGELOG.md | 12 ++++++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index a21f55e38dc..e538486febb 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,18 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [2.4.0](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.8...v2.4.0) (2021-09-09) + + +### Features + +* turns on self-signed JWT feature flag ([#942](https://www.github.com/googleapis/nodejs-vision/issues/942)) ([c0558c7](https://www.github.com/googleapis/nodejs-vision/commit/c0558c7ec2097c713cf591ae985eb5c8f7f7435a)) + + +### Bug Fixes + +* **build:** migrate to using main branch ([#947](https://www.github.com/googleapis/nodejs-vision/issues/947)) ([f1ce40f](https://www.github.com/googleapis/nodejs-vision/commit/f1ce40fcf255a052442d2fdd46516182a58b0aed)) + ### [2.3.8](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.7...v2.3.8) (2021-08-17) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 156961d3534..c575f3f57a1 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.3.8", + "version": "2.4.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 5a53b188705..a15b346d2e3 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.3.8", + "@google-cloud/vision": "^2.4.0", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "^3.0.0", From 51c8e2ef16232dea45acd372786ebf5f55848e24 Mon Sep 17 00:00:00 2001 From: Jeffrey Rennie Date: Tue, 21 Sep 2021 14:38:14 -0700 Subject: [PATCH 517/588] chore: relocate owl bot post processor (#952) chore: relocate owl bot post processor --- packages/google-cloud-vision/.github/.OwlBot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/.github/.OwlBot.yaml b/packages/google-cloud-vision/.github/.OwlBot.yaml index d844460a1e4..de8bff4a447 100644 --- a/packages/google-cloud-vision/.github/.OwlBot.yaml +++ b/packages/google-cloud-vision/.github/.OwlBot.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. docker: - image: gcr.io/repo-automation-bots/owlbot-nodejs:latest + image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest deep-remove-regex: From ea704dececce9d049104c65e94aefd5ac3b9080c Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 5 Oct 2021 08:33:00 -0700 Subject: [PATCH 518/588] build(node): run linkinator against index.html (#1227) (#956) Source-Link: https://github.com/googleapis/synthtool/commit/d4236bbde1651ebc03757ca1e5357bef2af4c274 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:c0ad7c54b9210f1d10678955bc37b377e538e15cb07ecc3bac93cc7219ec2bc5 Co-authored-by: Owl Bot Co-authored-by: bcoe --- packages/google-cloud-vision/linkinator.config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/linkinator.config.json b/packages/google-cloud-vision/linkinator.config.json index 29a223b6db6..0121dfa684f 100644 --- a/packages/google-cloud-vision/linkinator.config.json +++ b/packages/google-cloud-vision/linkinator.config.json @@ -6,5 +6,5 @@ "img.shields.io" ], "silent": true, - "concurrency": 10 + "concurrency": 5 } From 49196b880531a58aa5574fe2e502d84ed2a97c02 Mon Sep 17 00:00:00 2001 From: Karl Weinmeister <11586922+kweinmeister@users.noreply.github.com> Date: Wed, 13 Oct 2021 11:49:40 -0500 Subject: [PATCH 519/588] samples: update URL system test to pull image from Google server (#957) --- packages/google-cloud-vision/system-test/vision.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/system-test/vision.ts b/packages/google-cloud-vision/system-test/vision.ts index 0afb9ff9264..4ef74533061 100644 --- a/packages/google-cloud-vision/system-test/vision.ts +++ b/packages/google-cloud-vision/system-test/vision.ts @@ -72,7 +72,7 @@ describe('Vision', () => { it('should detect from a URL', function () { this.retries(3); const url = - 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; + 'https://lh3.googleusercontent.com/d_S5gxu_S1P6NR1gXeMthZeBzkrQMHdI5uvXrpn3nfJuXpCjlqhLQKH_hbOxTHxFhp5WugVOEcl4WDrv9rmKBDOMExhKU5KmmLFQVg'; return client .logoDetection(url) .then( From 403e35c7fa2308a2a7e0d6be7e39bd6d3d86bf32 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 14 Oct 2021 00:45:13 +0000 Subject: [PATCH 520/588] build(node): update deps used during postprocessing (#1243) (#958) --- packages/google-cloud-vision/protos/protos.d.ts | 3 ++- packages/google-cloud-vision/protos/protos.js | 7 +++++++ packages/google-cloud-vision/protos/protos.json | 15 ++++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 1512400a97e..bd9c2709382 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -40529,7 +40529,8 @@ export namespace google { OUTPUT_ONLY = 3, INPUT_ONLY = 4, IMMUTABLE = 5, - UNORDERED_LIST = 6 + UNORDERED_LIST = 6, + NON_EMPTY_DEFAULT = 7 } /** Properties of a ResourceDescriptor. */ diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 4514358d3da..2b5332bf319 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -100493,6 +100493,7 @@ * @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 */ api.FieldBehavior = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -100503,6 +100504,7 @@ values[valuesById[4] = "INPUT_ONLY"] = 4; values[valuesById[5] = "IMMUTABLE"] = 5; values[valuesById[6] = "UNORDERED_LIST"] = 6; + values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7; return values; })(); @@ -106671,6 +106673,7 @@ case 4: case 5: case 6: + case 7: break; } } @@ -106775,6 +106778,10 @@ case 6: message[".google.api.fieldBehavior"][i] = 6; break; + case "NON_EMPTY_DEFAULT": + case 7: + message[".google.api.fieldBehavior"][i] = 7; + break; } } if (object[".google.api.resourceReference"] != null) { diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 981dfe865e1..595ea4df7e4 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -8832,7 +8832,8 @@ "OUTPUT_ONLY": 3, "INPUT_ONLY": 4, "IMMUTABLE": 5, - "UNORDERED_LIST": 6 + "UNORDERED_LIST": 6, + "NON_EMPTY_DEFAULT": 7 } }, "resourceReference": { @@ -9475,6 +9476,18 @@ ] ], "reserved": [ + [ + 4, + 4 + ], + [ + 5, + 5 + ], + [ + 6, + 6 + ], [ 8, 8 From 3345bf280911ba5871fa3df1c0c3116164827c13 Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Tue, 19 Oct 2021 14:34:37 -0400 Subject: [PATCH 521/588] chore(cloud-rad): fix links in docs (#959) See internally: b/203065829 Script used: sed -i -e 's/@see \[\(.*\)\]{@link \(.*\)}$/See {@link \2| \1}/' src/* --- packages/google-cloud-vision/src/helpers.ts | 24 ++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/google-cloud-vision/src/helpers.ts b/packages/google-cloud-vision/src/helpers.ts index a082dd898a4..0c7645b664b 100644 --- a/packages/google-cloud-vision/src/helpers.ts +++ b/packages/google-cloud-vision/src/helpers.ts @@ -244,7 +244,7 @@ export function call(apiVersion: string) { * * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -395,7 +395,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -452,7 +452,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -509,7 +509,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -566,7 +566,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -623,7 +623,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -680,7 +680,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -737,7 +737,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -794,7 +794,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -851,7 +851,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -908,7 +908,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. @@ -1021,7 +1021,7 @@ export function call(apiVersion: string) { * If the key is `content`, the value should be a Buffer. * @param {object} [callOptions] Optional parameters. You can override the * default settings for this call, e.g, timeout, retries, paginations, - * etc. See [gax.CallOptions]{@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions} + * etc. See {@link https://googleapis.github.io/gax-nodejs/global.html#CallOptions| gax.CallOptions} * for the details. * @param {function(?Error, ?object)} [callback] The function which will be * called with the result of the API call. From 1ce7b142b1919b5ed2e91f4164858df069c57702 Mon Sep 17 00:00:00 2001 From: "F. Hinkelmann" Date: Thu, 21 Oct 2021 11:31:17 -0400 Subject: [PATCH 522/588] chore(cloud-rad): delete api-extractor config (#960) --- .../google-cloud-vision/api-extractor.json | 369 ------------------ 1 file changed, 369 deletions(-) delete mode 100644 packages/google-cloud-vision/api-extractor.json diff --git a/packages/google-cloud-vision/api-extractor.json b/packages/google-cloud-vision/api-extractor.json deleted file mode 100644 index de228294b23..00000000000 --- a/packages/google-cloud-vision/api-extractor.json +++ /dev/null @@ -1,369 +0,0 @@ -/** - * Config file for API Extractor. For more info, please visit: https://api-extractor.com - */ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - - /** - * Optionally specifies another JSON config file that this file extends from. This provides a way for - * standard settings to be shared across multiple projects. - * - * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains - * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be - * resolved using NodeJS require(). - * - * SUPPORTED TOKENS: none - * DEFAULT VALUE: "" - */ - // "extends": "./shared/api-extractor-base.json" - // "extends": "my-package/include/api-extractor-base.json" - - /** - * Determines the "" token that can be used with other config file settings. The project folder - * typically contains the tsconfig.json and package.json config files, but the path is user-defined. - * - * The path is resolved relative to the folder of the config file that contains the setting. - * - * The default value for "projectFolder" is the token "", which means the folder is determined by traversing - * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder - * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error - * will be reported. - * - * SUPPORTED TOKENS: - * DEFAULT VALUE: "" - */ - // "projectFolder": "..", - - /** - * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor - * analyzes the symbols exported by this module. - * - * The file extension must be ".d.ts" and not ".ts". - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - */ - "mainEntryPointFilePath": "/protos/protos.d.ts", - - /** - * A list of NPM package names whose exports should be treated as part of this package. - * - * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1", - * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part - * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly - * imports library2. To avoid this, we can specify: - * - * "bundledPackages": [ "library2" ], - * - * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been - * local files for library1. - */ - "bundledPackages": [ ], - - /** - * Determines how the TypeScript compiler engine will be invoked by API Extractor. - */ - "compiler": { - /** - * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * Note: This setting will be ignored if "overrideTsconfig" is used. - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/tsconfig.json" - */ - // "tsconfigFilePath": "/tsconfig.json", - - /** - * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk. - * The object must conform to the TypeScript tsconfig schema: - * - * http://json.schemastore.org/tsconfig - * - * If omitted, then the tsconfig.json file will be read from the "projectFolder". - * - * DEFAULT VALUE: no overrideTsconfig section - */ - // "overrideTsconfig": { - // . . . - // } - - /** - * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended - * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when - * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses - * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck. - * - * DEFAULT VALUE: false - */ - // "skipLibCheck": true, - }, - - /** - * Configures how the API report file (*.api.md) will be generated. - */ - "apiReport": { - /** - * (REQUIRED) Whether to generate an API report. - */ - "enabled": true, - - /** - * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce - * a full file path. - * - * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". - * - * SUPPORTED TOKENS: , - * DEFAULT VALUE: ".api.md" - */ - // "reportFileName": ".api.md", - - /** - * Specifies the folder where the API report file is written. The file name portion is determined by - * the "reportFileName" setting. - * - * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, - * e.g. for an API review. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/etc/" - */ - // "reportFolder": "/etc/", - - /** - * Specifies the folder where the temporary report file is written. The file name portion is determined by - * the "reportFileName" setting. - * - * After the temporary file is written to disk, it is compared with the file in the "reportFolder". - * If they are different, a production build will fail. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/temp/" - */ - // "reportTempFolder": "/temp/" - }, - - /** - * Configures how the doc model file (*.api.json) will be generated. - */ - "docModel": { - /** - * (REQUIRED) Whether to generate a doc model file. - */ - "enabled": true, - - /** - * The output path for the doc model file. The file extension should be ".api.json". - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/temp/.api.json" - */ - // "apiJsonFilePath": "/temp/.api.json" - }, - - /** - * Configures how the .d.ts rollup file will be generated. - */ - "dtsRollup": { - /** - * (REQUIRED) Whether to generate the .d.ts rollup file. - */ - "enabled": true, - - /** - * Specifies the output path for a .d.ts rollup file to be generated without any trimming. - * This file will include all declarations that are exported by the main entry point. - * - * If the path is an empty string, then this file will not be written. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "/dist/.d.ts" - */ - // "untrimmedFilePath": "/dist/.d.ts", - - /** - * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. - * This file will include only declarations that are marked as "@public" or "@beta". - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "" - */ - // "betaTrimmedFilePath": "/dist/-beta.d.ts", - - - /** - * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release. - * This file will include only declarations that are marked as "@public". - * - * If the path is an empty string, then this file will not be written. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "" - */ - // "publicTrimmedFilePath": "/dist/-public.d.ts", - - /** - * When a declaration is trimmed, by default it will be replaced by a code comment such as - * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the - * declaration completely. - * - * DEFAULT VALUE: false - */ - // "omitTrimmingComments": true - }, - - /** - * Configures how the tsdoc-metadata.json file will be generated. - */ - "tsdocMetadata": { - /** - * Whether to generate the tsdoc-metadata.json file. - * - * DEFAULT VALUE: true - */ - // "enabled": true, - - /** - * Specifies where the TSDoc metadata file should be written. - * - * The path is resolved relative to the folder of the config file that contains the setting; to change this, - * prepend a folder token such as "". - * - * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", - * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup - * falls back to "tsdoc-metadata.json" in the package folder. - * - * SUPPORTED TOKENS: , , - * DEFAULT VALUE: "" - */ - // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" - }, - - /** - * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files - * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead. - * To use the OS's default newline kind, specify "os". - * - * DEFAULT VALUE: "crlf" - */ - // "newlineKind": "crlf", - - /** - * Configures how API Extractor reports error and warning messages produced during analysis. - * - * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages. - */ - "messages": { - /** - * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing - * the input .d.ts files. - * - * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551" - * - * DEFAULT VALUE: A single "default" entry with logLevel=warning. - */ - "compilerMessageReporting": { - /** - * Configures the default routing for messages that don't match an explicit rule in this table. - */ - "default": { - /** - * Specifies whether the message should be written to the the tool's output log. Note that - * the "addToApiReportFile" property may supersede this option. - * - * Possible values: "error", "warning", "none" - * - * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail - * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes - * the "--local" option), the warning is displayed but the build will not fail. - * - * DEFAULT VALUE: "warning" - */ - "logLevel": "warning", - - /** - * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), - * then the message will be written inside that file; otherwise, the message is instead logged according to - * the "logLevel" option. - * - * DEFAULT VALUE: false - */ - // "addToApiReportFile": false - }, - - // "TS2551": { - // "logLevel": "warning", - // "addToApiReportFile": true - // }, - // - // . . . - }, - - /** - * Configures handling of messages reported by API Extractor during its analysis. - * - * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag" - * - * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings - */ - "extractorMessageReporting": { - "default": { - "logLevel": "warning", - // "addToApiReportFile": false - }, - - // "ae-extra-release-tag": { - // "logLevel": "warning", - // "addToApiReportFile": true - // }, - // - // . . . - }, - - /** - * Configures handling of messages reported by the TSDoc parser when analyzing code comments. - * - * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text" - * - * DEFAULT VALUE: A single "default" entry with logLevel=warning. - */ - "tsdocMessageReporting": { - "default": { - "logLevel": "warning", - // "addToApiReportFile": false - } - - // "tsdoc-link-tag-unescaped-text": { - // "logLevel": "warning", - // "addToApiReportFile": true - // }, - // - // . . . - } - } - -} From aa9ad0ffbf9cdc9279b0322dda59dc8d0b840ea2 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 26 Oct 2021 23:18:20 +0200 Subject: [PATCH 523/588] chore(deps): update dependency @types/node to v16 (#961) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`^14.0.0` -> `^16.0.0`](https://renovatebot.com/diffs/npm/@types%2fnode/14.17.32/16.11.6) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/16.11.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/16.11.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/16.11.6/compatibility-slim/14.17.32)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/16.11.6/confidence-slim/14.17.32)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index c575f3f57a1..1099ea64937 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -52,7 +52,7 @@ "@google-cloud/storage": "^5.0.0", "@types/is": "0.0.21", "@types/mocha": "^8.0.0", - "@types/node": "^14.0.0", + "@types/node": "^16.0.0", "@types/sinon": "^10.0.0", "@types/uuid": "^8.0.0", "c8": "^7.1.0", From 631960268fafbbbe545c431ff6a8442ed5743b5b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 4 Nov 2021 20:42:33 +0100 Subject: [PATCH 524/588] chore(deps): update dependency sinon to v12 (#962) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sinon](https://sinonjs.org/) ([source](https://togithub.com/sinonjs/sinon)) | [`^11.0.0` -> `^12.0.0`](https://renovatebot.com/diffs/npm/sinon/11.1.2/12.0.1) | [![age](https://badges.renovateapi.com/packages/npm/sinon/12.0.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/sinon/12.0.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/sinon/12.0.1/compatibility-slim/11.1.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/sinon/12.0.1/confidence-slim/11.1.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
sinonjs/sinon ### [`v12.0.1`](https://togithub.com/sinonjs/sinon/blob/master/CHANGES.md#​1201) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v12.0.0...v12.0.1) - [`3f598221`](https://togithub.com/sinonjs/sinon/commit/3f598221045904681f2b3b3ba1df617ed5e230e3) Fix issue with npm unlink for npm version > 6 (Carl-Erik Kopseng) > 'npm unlink' would implicitly unlink the current dir > until version 7, which requires an argument - [`51417a38`](https://togithub.com/sinonjs/sinon/commit/51417a38111eeeb7cd14338bfb762cc2df487e1b) Fix bundling of cjs module ([#​2412](https://togithub.com/sinonjs/sinon/issues/2412)) (Julian Grinblat) > - Fix bundling of cjs module > > - Run prettier *Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2021-11-04.* #### 12.0.0 ### [`v12.0.0`](https://togithub.com/sinonjs/sinon/compare/v11.1.2...v12.0.0) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v11.1.2...v12.0.0)
--- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 1099ea64937..4fcc475b389 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -65,7 +65,7 @@ "mocha": "^8.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", - "sinon": "^11.0.0", + "sinon": "^12.0.0", "ts-loader": "^9.0.0", "typescript": "^3.8.3", "uuid": "^8.0.0", From 83277ad20e1baf1f67cfbe59d5fe0ce1160652c6 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:40:19 +0000 Subject: [PATCH 525/588] docs(samples): add example tags to generated samples (#964) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 408439482 Source-Link: https://github.com/googleapis/googleapis/commit/b9f61843dc80c7c285fc34fd3a40aae55082c2b9 Source-Link: https://github.com/googleapis/googleapis-gen/commit/eb888bc214efc7bf43bf4634b470254565a659a5 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWI4ODhiYzIxNGVmYzdiZjQzYmY0NjM0YjQ3MDI1NDU2NWE2NTlhNSJ9 --- ...ge_annotator.async_batch_annotate_files.js | 64 + ...e_annotator.async_batch_annotate_images.js | 69 + .../image_annotator.batch_annotate_files.js | 64 + .../image_annotator.batch_annotate_images.js | 63 + ...oduct_search.add_product_to_product_set.js | 61 + .../v1/product_search.create_product.js | 66 + .../v1/product_search.create_product_set.js | 65 + .../product_search.create_reference_image.js | 67 + .../v1/product_search.delete_product.js | 54 + .../v1/product_search.delete_product_set.js | 54 + .../product_search.delete_reference_image.js | 54 + .../v1/product_search.get_product.js | 54 + .../v1/product_search.get_product_set.js | 54 + .../v1/product_search.get_reference_image.js | 54 + .../v1/product_search.import_product_sets.js | 59 + .../v1/product_search.list_product_sets.js | 63 + .../v1/product_search.list_products.js | 64 + ...uct_search.list_products_in_product_set.js | 64 + .../product_search.list_reference_images.js | 66 + .../v1/product_search.purge_products.js | 68 + ..._search.remove_product_from_product_set.js | 61 + .../v1/product_search.update_product.js | 61 + .../v1/product_search.update_product_set.js | 59 + .../image_annotator.batch_annotate_images.js | 52 + ...ge_annotator.async_batch_annotate_files.js | 53 + .../image_annotator.batch_annotate_images.js | 52 + ...ge_annotator.async_batch_annotate_files.js | 53 + .../image_annotator.batch_annotate_images.js | 50 + ...oduct_search.add_product_to_product_set.js | 61 + .../product_search.create_product.js | 66 + .../product_search.create_product_set.js | 65 + .../product_search.create_reference_image.js | 67 + .../product_search.delete_product.js | 54 + .../product_search.delete_product_set.js | 54 + .../product_search.delete_reference_image.js | 54 + .../v1p3beta1/product_search.get_product.js | 54 + .../product_search.get_product_set.js | 54 + .../product_search.get_reference_image.js | 54 + .../product_search.import_product_sets.js | 59 + .../product_search.list_product_sets.js | 63 + .../v1p3beta1/product_search.list_products.js | 64 + ...uct_search.list_products_in_product_set.js | 64 + .../product_search.list_reference_images.js | 66 + ..._search.remove_product_from_product_set.js | 61 + .../product_search.update_product.js | 61 + .../product_search.update_product_set.js | 59 + ...ge_annotator.async_batch_annotate_files.js | 53 + ...e_annotator.async_batch_annotate_images.js | 58 + .../image_annotator.batch_annotate_files.js | 53 + .../image_annotator.batch_annotate_images.js | 52 + ...oduct_search.add_product_to_product_set.js | 61 + .../product_search.create_product.js | 66 + .../product_search.create_product_set.js | 65 + .../product_search.create_reference_image.js | 68 + .../product_search.delete_product.js | 54 + .../product_search.delete_product_set.js | 54 + .../product_search.delete_reference_image.js | 54 + .../v1p4beta1/product_search.get_product.js | 54 + .../product_search.get_product_set.js | 54 + .../product_search.get_reference_image.js | 54 + .../product_search.import_product_sets.js | 59 + .../product_search.list_product_sets.js | 63 + .../v1p4beta1/product_search.list_products.js | 64 + ...uct_search.list_products_in_product_set.js | 64 + .../product_search.list_reference_images.js | 66 + .../product_search.purge_products.js | 68 + ..._search.remove_product_from_product_set.js | 62 + .../product_search.update_product.js | 61 + .../product_search.update_product_set.js | 59 + .../src/v1/image_annotator_client.ts | 292 ++-- .../src/v1/product_search_client.ts | 1148 ++++++++------- .../src/v1p1beta1/image_annotator_client.ts | 36 +- .../src/v1p2beta1/image_annotator_client.ts | 94 +- .../src/v1p3beta1/image_annotator_client.ts | 94 +- .../src/v1p3beta1/product_search_client.ts | 1150 ++++++++------- .../src/v1p4beta1/image_annotator_client.ts | 212 +-- .../src/v1p4beta1/product_search_client.ts | 1244 ++++++++--------- .../test/gapic_image_annotator_v1p1beta1.ts | 6 +- .../test/gapic_image_annotator_v1p2beta1.ts | 14 +- .../test/gapic_image_annotator_v1p3beta1.ts | 14 +- .../test/gapic_image_annotator_v1p4beta1.ts | 28 +- 81 files changed, 6255 insertions(+), 2191 deletions(-) create mode 100644 packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js new file mode 100644 index 00000000000..6491e991ffb --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual async file annotation requests for this batch. + */ + // const requests = 1234 + /** + * Optional. Target project and location to make a call. + * Format: `projects/{project-id}/locations/{location-id}`. + * If no parent is specified, a region will be chosen automatically. + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * Example: `projects/project-A/locations/eu`. + */ + // const parent = 'abc123' + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callAsyncBatchAnnotateFiles() { + // Construct request + const request = { + requests, + }; + + // Run request + const [operation] = await visionClient.asyncBatchAnnotateFiles(request); + const [response] = await operation.promise(); + console.log(response); + } + + callAsyncBatchAnnotateFiles(); + // [END vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js new file mode 100644 index 00000000000..d3ac5486d62 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js @@ -0,0 +1,69 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests, outputConfig) { + // [START vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual image annotation requests for this batch. + */ + // const requests = 1234 + /** + * Required. The desired output location and metadata (e.g. format). + */ + // const outputConfig = {} + /** + * Optional. Target project and location to make a call. + * Format: `projects/{project-id}/locations/{location-id}`. + * If no parent is specified, a region will be chosen automatically. + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * Example: `projects/project-A/locations/eu`. + */ + // const parent = 'abc123' + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callAsyncBatchAnnotateImages() { + // Construct request + const request = { + requests, + outputConfig, + }; + + // Run request + const [operation] = await visionClient.asyncBatchAnnotateImages(request); + const [response] = await operation.promise(); + console.log(response); + } + + callAsyncBatchAnnotateImages(); + // [END vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js new file mode 100644 index 00000000000..5c71f3ffc28 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1_generated_ImageAnnotator_BatchAnnotateFiles_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The list of file annotation requests. Right now we support only + * one AnnotateFileRequest in BatchAnnotateFilesRequest. + */ + // const requests = 1234 + /** + * Optional. Target project and location to make a call. + * Format: `projects/{project-id}/locations/{location-id}`. + * If no parent is specified, a region will be chosen automatically. + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * Example: `projects/project-A/locations/eu`. + */ + // const parent = 'abc123' + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callBatchAnnotateFiles() { + // Construct request + const request = { + requests, + }; + + // Run request + const response = await visionClient.batchAnnotateFiles(request); + console.log(response); + } + + callBatchAnnotateFiles(); + // [END vision_v1_generated_ImageAnnotator_BatchAnnotateFiles_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js new file mode 100644 index 00000000000..45a88e56374 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js @@ -0,0 +1,63 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1_generated_ImageAnnotator_BatchAnnotateImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual image annotation requests for this batch. + */ + // const requests = 1234 + /** + * Optional. Target project and location to make a call. + * Format: `projects/{project-id}/locations/{location-id}`. + * If no parent is specified, a region will be chosen automatically. + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * Example: `projects/project-A/locations/eu`. + */ + // const parent = 'abc123' + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callBatchAnnotateImages() { + // Construct request + const request = { + requests, + }; + + // Run request + const response = await visionClient.batchAnnotateImages(request); + console.log(response); + } + + callBatchAnnotateImages(); + // [END vision_v1_generated_ImageAnnotator_BatchAnnotateImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js new file mode 100644 index 00000000000..94e83c02960 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js @@ -0,0 +1,61 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name, product) { + // [START vision_v1_generated_ProductSearch_AddProductToProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name for the ProductSet to modify. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * Required. The resource name for the Product to be added to this ProductSet. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const product = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callAddProductToProductSet() { + // Construct request + const request = { + name, + product, + }; + + // Run request + const response = await visionClient.addProductToProductSet(request); + console.log(response); + } + + callAddProductToProductSet(); + // [END vision_v1_generated_ProductSearch_AddProductToProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js new file mode 100644 index 00000000000..baf12f0216c --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js @@ -0,0 +1,66 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, product) { + // [START vision_v1_generated_ProductSearch_CreateProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project in which the Product should be created. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * Required. The product to create. + */ + // const product = {} + /** + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + */ + // const productId = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callCreateProduct() { + // Construct request + const request = { + parent, + product, + }; + + // Run request + const response = await visionClient.createProduct(request); + console.log(response); + } + + callCreateProduct(); + // [END vision_v1_generated_ProductSearch_CreateProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js new file mode 100644 index 00000000000..8b3fad5654a --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js @@ -0,0 +1,65 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, productSet) { + // [START vision_v1_generated_ProductSearch_CreateProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project in which the ProductSet should be created. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * Required. The ProductSet to create. + */ + // const productSet = {} + /** + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + */ + // const productSetId = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callCreateProductSet() { + // Construct request + const request = { + parent, + productSet, + }; + + // Run request + const response = await visionClient.createProductSet(request); + console.log(response); + } + + callCreateProductSet(); + // [END vision_v1_generated_ProductSearch_CreateProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js new file mode 100644 index 00000000000..29616dc1deb --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js @@ -0,0 +1,67 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, referenceImage) { + // [START vision_v1_generated_ProductSearch_CreateReferenceImage_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the product in which to create the reference image. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + */ + // const parent = 'abc123' + /** + * Required. The reference image to create. + * If an image ID is specified, it is ignored. + */ + // const referenceImage = {} + /** + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + */ + // const referenceImageId = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callCreateReferenceImage() { + // Construct request + const request = { + parent, + referenceImage, + }; + + // Run request + const response = await visionClient.createReferenceImage(request); + console.log(response); + } + + callCreateReferenceImage(); + // [END vision_v1_generated_ProductSearch_CreateReferenceImage_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js new file mode 100644 index 00000000000..3cfa8d02c07 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1_generated_ProductSearch_DeleteProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of product to delete. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callDeleteProduct() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.deleteProduct(request); + console.log(response); + } + + callDeleteProduct(); + // [END vision_v1_generated_ProductSearch_DeleteProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js new file mode 100644 index 00000000000..939b8d6b075 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1_generated_ProductSearch_DeleteProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the ProductSet to delete. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callDeleteProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.deleteProductSet(request); + console.log(response); + } + + callDeleteProductSet(); + // [END vision_v1_generated_ProductSearch_DeleteProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js new file mode 100644 index 00000000000..293b6dd0e39 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1_generated_ProductSearch_DeleteReferenceImage_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name of the reference image to delete. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callDeleteReferenceImage() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.deleteReferenceImage(request); + console.log(response); + } + + callDeleteReferenceImage(); + // [END vision_v1_generated_ProductSearch_DeleteReferenceImage_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js new file mode 100644 index 00000000000..26b3cf7ebf6 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1_generated_ProductSearch_GetProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the Product to get. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callGetProduct() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.getProduct(request); + console.log(response); + } + + callGetProduct(); + // [END vision_v1_generated_ProductSearch_GetProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js new file mode 100644 index 00000000000..512e00ce3a0 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1_generated_ProductSearch_GetProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the ProductSet to get. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callGetProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.getProductSet(request); + console.log(response); + } + + callGetProductSet(); + // [END vision_v1_generated_ProductSearch_GetProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js new file mode 100644 index 00000000000..6a5da46cfca --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1_generated_ProductSearch_GetReferenceImage_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name of the ReferenceImage to get. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callGetReferenceImage() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.getReferenceImage(request); + console.log(response); + } + + callGetReferenceImage(); + // [END vision_v1_generated_ProductSearch_GetReferenceImage_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js new file mode 100644 index 00000000000..eb6ce3d65c1 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, inputConfig) { + // [START vision_v1_generated_ProductSearch_ImportProductSets_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project in which the ProductSets should be imported. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * Required. The input content for the list of requests. + */ + // const inputConfig = {} + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callImportProductSets() { + // Construct request + const request = { + parent, + inputConfig, + }; + + // Run request + const [operation] = await visionClient.importProductSets(request); + const [response] = await operation.promise(); + console.log(response); + } + + callImportProductSets(); + // [END vision_v1_generated_ProductSearch_ImportProductSets_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js new file mode 100644 index 00000000000..37b2c0c5138 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js @@ -0,0 +1,63 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1_generated_ProductSearch_ListProductSets_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project from which ProductSets should be listed. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProductSets() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await visionClient.listProductSetsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProductSets(); + // [END vision_v1_generated_ProductSearch_ListProductSets_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js new file mode 100644 index 00000000000..c73eabafeba --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1_generated_ProductSearch_ListProducts_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project OR ProductSet from which Products should be listed. + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProducts() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await visionClient.listProductsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProducts(); + // [END vision_v1_generated_ProductSearch_ListProducts_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js new file mode 100644 index 00000000000..66c7ef8a8cc --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1_generated_ProductSearch_ListProductsInProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The ProductSet resource for which to retrieve Products. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProductsInProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const iterable = await visionClient.listProductsInProductSetAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProductsInProductSet(); + // [END vision_v1_generated_ProductSearch_ListProductsInProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js new file mode 100644 index 00000000000..4e54610a0cf --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js @@ -0,0 +1,66 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1_generated_ProductSearch_ListReferenceImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the product containing the reference images. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * Defaults to the first page if not specified. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListReferenceImages() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await visionClient.listReferenceImagesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListReferenceImages(); + // [END vision_v1_generated_ProductSearch_ListReferenceImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js new file mode 100644 index 00000000000..a0586ccbda3 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js @@ -0,0 +1,68 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1_generated_ProductSearch_PurgeProducts_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Specify which ProductSet contains the Products to be deleted. + */ + // const productSetPurgeConfig = {} + /** + * If delete_orphan_products is true, all Products that are not in any + * ProductSet will be deleted. + */ + // const deleteOrphanProducts = true + /** + * Required. The project and location in which the Products should be deleted. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * The default value is false. Override this value to true to actually perform + * the purge. + */ + // const force = true + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callPurgeProducts() { + // Construct request + const request = { + parent, + }; + + // Run request + const [operation] = await visionClient.purgeProducts(request); + const [response] = await operation.promise(); + console.log(response); + } + + callPurgeProducts(); + // [END vision_v1_generated_ProductSearch_PurgeProducts_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js new file mode 100644 index 00000000000..221c9cbc364 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js @@ -0,0 +1,61 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name, product) { + // [START vision_v1_generated_ProductSearch_RemoveProductFromProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name for the ProductSet to modify. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * Required. The resource name for the Product to be removed from this ProductSet. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const product = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callRemoveProductFromProductSet() { + // Construct request + const request = { + name, + product, + }; + + // Run request + const response = await visionClient.removeProductFromProductSet(request); + console.log(response); + } + + callRemoveProductFromProductSet(); + // [END vision_v1_generated_ProductSearch_RemoveProductFromProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js new file mode 100644 index 00000000000..53c19771f03 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js @@ -0,0 +1,61 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(product) { + // [START vision_v1_generated_ProductSearch_UpdateProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The Product resource which replaces the one on the server. + * product.name is immutable. + */ + // const product = {} + /** + * The FieldMask google.protobuf.FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + */ + // const updateMask = {} + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callUpdateProduct() { + // Construct request + const request = { + product, + }; + + // Run request + const response = await visionClient.updateProduct(request); + console.log(response); + } + + callUpdateProduct(); + // [END vision_v1_generated_ProductSearch_UpdateProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js new file mode 100644 index 00000000000..30081df794c --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(productSet) { + // [START vision_v1_generated_ProductSearch_UpdateProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The ProductSet resource which replaces the one on the server. + */ + // const productSet = {} + /** + * The FieldMask google.protobuf.FieldMask that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + */ + // const updateMask = {} + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callUpdateProductSet() { + // Construct request + const request = { + productSet, + }; + + // Run request + const response = await visionClient.updateProductSet(request); + console.log(response); + } + + callUpdateProductSet(); + // [END vision_v1_generated_ProductSearch_UpdateProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js new file mode 100644 index 00000000000..9a5ea0bc279 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js @@ -0,0 +1,52 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1p1beta1_generated_ImageAnnotator_BatchAnnotateImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual image annotation requests for this batch. + */ + // const requests = 1234 + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1p1beta1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callBatchAnnotateImages() { + // Construct request + const request = { + requests, + }; + + // Run request + const response = await visionClient.batchAnnotateImages(request); + console.log(response); + } + + callBatchAnnotateImages(); + // [END vision_v1p1beta1_generated_ImageAnnotator_BatchAnnotateImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js new file mode 100644 index 00000000000..10d44308e45 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1p2beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual async file annotation requests for this batch. + */ + // const requests = 1234 + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1p2beta1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callAsyncBatchAnnotateFiles() { + // Construct request + const request = { + requests, + }; + + // Run request + const [operation] = await visionClient.asyncBatchAnnotateFiles(request); + const [response] = await operation.promise(); + console.log(response); + } + + callAsyncBatchAnnotateFiles(); + // [END vision_v1p2beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js new file mode 100644 index 00000000000..dc2859d5c8b --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js @@ -0,0 +1,52 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1p2beta1_generated_ImageAnnotator_BatchAnnotateImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual image annotation requests for this batch. + */ + // const requests = 1234 + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1p2beta1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callBatchAnnotateImages() { + // Construct request + const request = { + requests, + }; + + // Run request + const response = await visionClient.batchAnnotateImages(request); + console.log(response); + } + + callBatchAnnotateImages(); + // [END vision_v1p2beta1_generated_ImageAnnotator_BatchAnnotateImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js new file mode 100644 index 00000000000..208319db5d1 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1p3beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual async file annotation requests for this batch. + */ + // const requests = 1234 + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callAsyncBatchAnnotateFiles() { + // Construct request + const request = { + requests, + }; + + // Run request + const [operation] = await visionClient.asyncBatchAnnotateFiles(request); + const [response] = await operation.promise(); + console.log(response); + } + + callAsyncBatchAnnotateFiles(); + // [END vision_v1p3beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js new file mode 100644 index 00000000000..71b25184b3c --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js @@ -0,0 +1,50 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main() { + // [START vision_v1p3beta1_generated_ImageAnnotator_BatchAnnotateImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Individual image annotation requests for this batch. + */ + // const requests = 1234 + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callBatchAnnotateImages() { + // Construct request + const request = {}; + + // Run request + const response = await visionClient.batchAnnotateImages(request); + console.log(response); + } + + callBatchAnnotateImages(); + // [END vision_v1p3beta1_generated_ImageAnnotator_BatchAnnotateImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js new file mode 100644 index 00000000000..b2d98389254 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js @@ -0,0 +1,61 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name, product) { + // [START vision_v1p3beta1_generated_ProductSearch_AddProductToProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name for the ProductSet to modify. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * Required. The resource name for the Product to be added to this ProductSet. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const product = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callAddProductToProductSet() { + // Construct request + const request = { + name, + product, + }; + + // Run request + const response = await visionClient.addProductToProductSet(request); + console.log(response); + } + + callAddProductToProductSet(); + // [END vision_v1p3beta1_generated_ProductSearch_AddProductToProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js new file mode 100644 index 00000000000..b865e3bfec0 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js @@ -0,0 +1,66 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, product) { + // [START vision_v1p3beta1_generated_ProductSearch_CreateProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project in which the Product should be created. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * Required. The product to create. + */ + // const product = {} + /** + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + */ + // const productId = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callCreateProduct() { + // Construct request + const request = { + parent, + product, + }; + + // Run request + const response = await visionClient.createProduct(request); + console.log(response); + } + + callCreateProduct(); + // [END vision_v1p3beta1_generated_ProductSearch_CreateProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js new file mode 100644 index 00000000000..0616c716d17 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js @@ -0,0 +1,65 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, productSet) { + // [START vision_v1p3beta1_generated_ProductSearch_CreateProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project in which the ProductSet should be created. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * Required. The ProductSet to create. + */ + // const productSet = {} + /** + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + */ + // const productSetId = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callCreateProductSet() { + // Construct request + const request = { + parent, + productSet, + }; + + // Run request + const response = await visionClient.createProductSet(request); + console.log(response); + } + + callCreateProductSet(); + // [END vision_v1p3beta1_generated_ProductSearch_CreateProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js new file mode 100644 index 00000000000..3186c88abbd --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js @@ -0,0 +1,67 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, referenceImage) { + // [START vision_v1p3beta1_generated_ProductSearch_CreateReferenceImage_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the product in which to create the reference image. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + */ + // const parent = 'abc123' + /** + * Required. The reference image to create. + * If an image ID is specified, it is ignored. + */ + // const referenceImage = {} + /** + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + */ + // const referenceImageId = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callCreateReferenceImage() { + // Construct request + const request = { + parent, + referenceImage, + }; + + // Run request + const response = await visionClient.createReferenceImage(request); + console.log(response); + } + + callCreateReferenceImage(); + // [END vision_v1p3beta1_generated_ProductSearch_CreateReferenceImage_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js new file mode 100644 index 00000000000..2bbd9d0a795 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p3beta1_generated_ProductSearch_DeleteProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of product to delete. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callDeleteProduct() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.deleteProduct(request); + console.log(response); + } + + callDeleteProduct(); + // [END vision_v1p3beta1_generated_ProductSearch_DeleteProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js new file mode 100644 index 00000000000..fbd33b98a24 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p3beta1_generated_ProductSearch_DeleteProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the ProductSet to delete. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callDeleteProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.deleteProductSet(request); + console.log(response); + } + + callDeleteProductSet(); + // [END vision_v1p3beta1_generated_ProductSearch_DeleteProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js new file mode 100644 index 00000000000..12cb4552d4f --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p3beta1_generated_ProductSearch_DeleteReferenceImage_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name of the reference image to delete. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callDeleteReferenceImage() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.deleteReferenceImage(request); + console.log(response); + } + + callDeleteReferenceImage(); + // [END vision_v1p3beta1_generated_ProductSearch_DeleteReferenceImage_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js new file mode 100644 index 00000000000..822dad3811d --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p3beta1_generated_ProductSearch_GetProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the Product to get. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callGetProduct() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.getProduct(request); + console.log(response); + } + + callGetProduct(); + // [END vision_v1p3beta1_generated_ProductSearch_GetProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js new file mode 100644 index 00000000000..3089144f2c6 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p3beta1_generated_ProductSearch_GetProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the ProductSet to get. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callGetProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.getProductSet(request); + console.log(response); + } + + callGetProductSet(); + // [END vision_v1p3beta1_generated_ProductSearch_GetProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js new file mode 100644 index 00000000000..e2f5c9fdc2e --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p3beta1_generated_ProductSearch_GetReferenceImage_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name of the ReferenceImage to get. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callGetReferenceImage() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.getReferenceImage(request); + console.log(response); + } + + callGetReferenceImage(); + // [END vision_v1p3beta1_generated_ProductSearch_GetReferenceImage_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js new file mode 100644 index 00000000000..1ac00ccd1c2 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, inputConfig) { + // [START vision_v1p3beta1_generated_ProductSearch_ImportProductSets_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project in which the ProductSets should be imported. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * Required. The input content for the list of requests. + */ + // const inputConfig = {} + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callImportProductSets() { + // Construct request + const request = { + parent, + inputConfig, + }; + + // Run request + const [operation] = await visionClient.importProductSets(request); + const [response] = await operation.promise(); + console.log(response); + } + + callImportProductSets(); + // [END vision_v1p3beta1_generated_ProductSearch_ImportProductSets_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js new file mode 100644 index 00000000000..31dc30a236f --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js @@ -0,0 +1,63 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1p3beta1_generated_ProductSearch_ListProductSets_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project from which ProductSets should be listed. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProductSets() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await visionClient.listProductSetsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProductSets(); + // [END vision_v1p3beta1_generated_ProductSearch_ListProductSets_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js new file mode 100644 index 00000000000..8efb6b6ce03 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1p3beta1_generated_ProductSearch_ListProducts_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project OR ProductSet from which Products should be listed. + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProducts() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await visionClient.listProductsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProducts(); + // [END vision_v1p3beta1_generated_ProductSearch_ListProducts_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js new file mode 100644 index 00000000000..04fc7a4a6b0 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p3beta1_generated_ProductSearch_ListProductsInProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The ProductSet resource for which to retrieve Products. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProductsInProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const iterable = await visionClient.listProductsInProductSetAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProductsInProductSet(); + // [END vision_v1p3beta1_generated_ProductSearch_ListProductsInProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js new file mode 100644 index 00000000000..a825e6657da --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js @@ -0,0 +1,66 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1p3beta1_generated_ProductSearch_ListReferenceImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the product containing the reference images. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * Defaults to the first page if not specified. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListReferenceImages() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await visionClient.listReferenceImagesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListReferenceImages(); + // [END vision_v1p3beta1_generated_ProductSearch_ListReferenceImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js new file mode 100644 index 00000000000..44a7778b621 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js @@ -0,0 +1,61 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name, product) { + // [START vision_v1p3beta1_generated_ProductSearch_RemoveProductFromProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name for the ProductSet to modify. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * Required. The resource name for the Product to be removed from this ProductSet. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const product = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callRemoveProductFromProductSet() { + // Construct request + const request = { + name, + product, + }; + + // Run request + const response = await visionClient.removeProductFromProductSet(request); + console.log(response); + } + + callRemoveProductFromProductSet(); + // [END vision_v1p3beta1_generated_ProductSearch_RemoveProductFromProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js new file mode 100644 index 00000000000..10dd60f2302 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js @@ -0,0 +1,61 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(product) { + // [START vision_v1p3beta1_generated_ProductSearch_UpdateProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The Product resource which replaces the one on the server. + * product.name is immutable. + */ + // const product = {} + /** + * The FieldMask google.protobuf.FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + */ + // const updateMask = {} + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callUpdateProduct() { + // Construct request + const request = { + product, + }; + + // Run request + const response = await visionClient.updateProduct(request); + console.log(response); + } + + callUpdateProduct(); + // [END vision_v1p3beta1_generated_ProductSearch_UpdateProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js new file mode 100644 index 00000000000..225f5c049d2 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(productSet) { + // [START vision_v1p3beta1_generated_ProductSearch_UpdateProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The ProductSet resource which replaces the one on the server. + */ + // const productSet = {} + /** + * The FieldMask google.protobuf.FieldMask that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + */ + // const updateMask = {} + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p3beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callUpdateProductSet() { + // Construct request + const request = { + productSet, + }; + + // Run request + const response = await visionClient.updateProductSet(request); + console.log(response); + } + + callUpdateProductSet(); + // [END vision_v1p3beta1_generated_ProductSearch_UpdateProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js new file mode 100644 index 00000000000..e7345dc6950 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual async file annotation requests for this batch. + */ + // const requests = 1234 + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callAsyncBatchAnnotateFiles() { + // Construct request + const request = { + requests, + }; + + // Run request + const [operation] = await visionClient.asyncBatchAnnotateFiles(request); + const [response] = await operation.promise(); + console.log(response); + } + + callAsyncBatchAnnotateFiles(); + // [END vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js new file mode 100644 index 00000000000..6b97531c783 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js @@ -0,0 +1,58 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests, outputConfig) { + // [START vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual image annotation requests for this batch. + */ + // const requests = 1234 + /** + * Required. The desired output location and metadata (e.g. format). + */ + // const outputConfig = {} + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callAsyncBatchAnnotateImages() { + // Construct request + const request = { + requests, + outputConfig, + }; + + // Run request + const [operation] = await visionClient.asyncBatchAnnotateImages(request); + const [response] = await operation.promise(); + console.log(response); + } + + callAsyncBatchAnnotateImages(); + // [END vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js new file mode 100644 index 00000000000..37ec22078a4 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js @@ -0,0 +1,53 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateFiles_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The list of file annotation requests. Right now we support only + * one AnnotateFileRequest in BatchAnnotateFilesRequest. + */ + // const requests = 1234 + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callBatchAnnotateFiles() { + // Construct request + const request = { + requests, + }; + + // Run request + const response = await visionClient.batchAnnotateFiles(request); + console.log(response); + } + + callBatchAnnotateFiles(); + // [END vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateFiles_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js new file mode 100644 index 00000000000..7ea00552630 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js @@ -0,0 +1,52 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(requests) { + // [START vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Individual image annotation requests for this batch. + */ + // const requests = 1234 + + // Imports the Vision library + const {ImageAnnotatorClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ImageAnnotatorClient(); + + async function callBatchAnnotateImages() { + // Construct request + const request = { + requests, + }; + + // Run request + const response = await visionClient.batchAnnotateImages(request); + console.log(response); + } + + callBatchAnnotateImages(); + // [END vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js new file mode 100644 index 00000000000..37c81e4a35b --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js @@ -0,0 +1,61 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name, product) { + // [START vision_v1p4beta1_generated_ProductSearch_AddProductToProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name for the ProductSet to modify. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * Required. The resource name for the Product to be added to this ProductSet. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const product = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callAddProductToProductSet() { + // Construct request + const request = { + name, + product, + }; + + // Run request + const response = await visionClient.addProductToProductSet(request); + console.log(response); + } + + callAddProductToProductSet(); + // [END vision_v1p4beta1_generated_ProductSearch_AddProductToProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js new file mode 100644 index 00000000000..ee5e07ce5ef --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js @@ -0,0 +1,66 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, product) { + // [START vision_v1p4beta1_generated_ProductSearch_CreateProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project in which the Product should be created. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * Required. The product to create. + */ + // const product = {} + /** + * A user-supplied resource id for this Product. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + */ + // const productId = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callCreateProduct() { + // Construct request + const request = { + parent, + product, + }; + + // Run request + const response = await visionClient.createProduct(request); + console.log(response); + } + + callCreateProduct(); + // [END vision_v1p4beta1_generated_ProductSearch_CreateProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js new file mode 100644 index 00000000000..29f38e6cb78 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js @@ -0,0 +1,65 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, productSet) { + // [START vision_v1p4beta1_generated_ProductSearch_CreateProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project in which the ProductSet should be created. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * Required. The ProductSet to create. + */ + // const productSet = {} + /** + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + */ + // const productSetId = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callCreateProductSet() { + // Construct request + const request = { + parent, + productSet, + }; + + // Run request + const response = await visionClient.createProductSet(request); + console.log(response); + } + + callCreateProductSet(); + // [END vision_v1p4beta1_generated_ProductSearch_CreateProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js new file mode 100644 index 00000000000..b60a321acb6 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js @@ -0,0 +1,68 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, referenceImage) { + // [START vision_v1p4beta1_generated_ProductSearch_CreateReferenceImage_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the product in which to create the reference + * image. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + */ + // const parent = 'abc123' + /** + * Required. The reference image to create. + * If an image ID is specified, it is ignored. + */ + // const referenceImage = {} + /** + * A user-supplied resource id for the ReferenceImage to be added. If set, + * the server will attempt to use this value as the resource id. If it is + * already in use, an error is returned with code ALREADY_EXISTS. Must be at + * most 128 characters long. It cannot contain the character `/`. + */ + // const referenceImageId = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callCreateReferenceImage() { + // Construct request + const request = { + parent, + referenceImage, + }; + + // Run request + const response = await visionClient.createReferenceImage(request); + console.log(response); + } + + callCreateReferenceImage(); + // [END vision_v1p4beta1_generated_ProductSearch_CreateReferenceImage_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js new file mode 100644 index 00000000000..27870397fa8 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p4beta1_generated_ProductSearch_DeleteProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of product to delete. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callDeleteProduct() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.deleteProduct(request); + console.log(response); + } + + callDeleteProduct(); + // [END vision_v1p4beta1_generated_ProductSearch_DeleteProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js new file mode 100644 index 00000000000..1010f7eb72b --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p4beta1_generated_ProductSearch_DeleteProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the ProductSet to delete. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callDeleteProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.deleteProductSet(request); + console.log(response); + } + + callDeleteProductSet(); + // [END vision_v1p4beta1_generated_ProductSearch_DeleteProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js new file mode 100644 index 00000000000..48ce7e4f2d3 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p4beta1_generated_ProductSearch_DeleteReferenceImage_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name of the reference image to delete. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callDeleteReferenceImage() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.deleteReferenceImage(request); + console.log(response); + } + + callDeleteReferenceImage(); + // [END vision_v1p4beta1_generated_ProductSearch_DeleteReferenceImage_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js new file mode 100644 index 00000000000..52f7734b575 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p4beta1_generated_ProductSearch_GetProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the Product to get. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callGetProduct() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.getProduct(request); + console.log(response); + } + + callGetProduct(); + // [END vision_v1p4beta1_generated_ProductSearch_GetProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js new file mode 100644 index 00000000000..6de6765f246 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p4beta1_generated_ProductSearch_GetProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the ProductSet to get. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callGetProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.getProductSet(request); + console.log(response); + } + + callGetProductSet(); + // [END vision_v1p4beta1_generated_ProductSearch_GetProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js new file mode 100644 index 00000000000..fa1f729124f --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js @@ -0,0 +1,54 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p4beta1_generated_ProductSearch_GetReferenceImage_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name of the ReferenceImage to get. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + */ + // const name = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callGetReferenceImage() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await visionClient.getReferenceImage(request); + console.log(response); + } + + callGetReferenceImage(); + // [END vision_v1p4beta1_generated_ProductSearch_GetReferenceImage_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js new file mode 100644 index 00000000000..dc82a51b125 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent, inputConfig) { + // [START vision_v1p4beta1_generated_ProductSearch_ImportProductSets_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project in which the ProductSets should be imported. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * Required. The input content for the list of requests. + */ + // const inputConfig = {} + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callImportProductSets() { + // Construct request + const request = { + parent, + inputConfig, + }; + + // Run request + const [operation] = await visionClient.importProductSets(request); + const [response] = await operation.promise(); + console.log(response); + } + + callImportProductSets(); + // [END vision_v1p4beta1_generated_ProductSearch_ImportProductSets_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js new file mode 100644 index 00000000000..14004756b7a --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js @@ -0,0 +1,63 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1p4beta1_generated_ProductSearch_ListProductSets_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project from which ProductSets should be listed. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProductSets() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await visionClient.listProductSetsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProductSets(); + // [END vision_v1p4beta1_generated_ProductSearch_ListProductSets_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js new file mode 100644 index 00000000000..ea1d9d10ab7 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1p4beta1_generated_ProductSearch_ListProducts_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The project OR ProductSet from which Products should be listed. + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProducts() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await visionClient.listProductsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProducts(); + // [END vision_v1p4beta1_generated_ProductSearch_ListProducts_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js new file mode 100644 index 00000000000..554e319c2a7 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name) { + // [START vision_v1p4beta1_generated_ProductSearch_ListProductsInProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The ProductSet resource for which to retrieve Products. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProductsInProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const iterable = await visionClient.listProductsInProductSetAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProductsInProductSet(); + // [END vision_v1p4beta1_generated_ProductSearch_ListProductsInProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js new file mode 100644 index 00000000000..09c9ab44591 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js @@ -0,0 +1,66 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1p4beta1_generated_ProductSearch_ListReferenceImages_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the product containing the reference images. + * Format is + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + */ + // const parent = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * A token identifying a page of results to be returned. This is the value + * of `nextPageToken` returned in a previous reference image list request. + * Defaults to the first page if not specified. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListReferenceImages() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await visionClient.listReferenceImagesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListReferenceImages(); + // [END vision_v1p4beta1_generated_ProductSearch_ListReferenceImages_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js new file mode 100644 index 00000000000..3d4e64c7531 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js @@ -0,0 +1,68 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(parent) { + // [START vision_v1p4beta1_generated_ProductSearch_PurgeProducts_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Specify which ProductSet contains the Products to be deleted. + */ + // const productSetPurgeConfig = {} + /** + * If delete_orphan_products is true, all Products that are not in any + * ProductSet will be deleted. + */ + // const deleteOrphanProducts = true + /** + * Required. The project and location in which the Products should be deleted. + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + */ + // const parent = 'abc123' + /** + * The default value is false. Override this value to true to actually perform + * the purge. + */ + // const force = true + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callPurgeProducts() { + // Construct request + const request = { + parent, + }; + + // Run request + const [operation] = await visionClient.purgeProducts(request); + const [response] = await operation.promise(); + console.log(response); + } + + callPurgeProducts(); + // [END vision_v1p4beta1_generated_ProductSearch_PurgeProducts_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js new file mode 100644 index 00000000000..0e8f2d2f3c7 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js @@ -0,0 +1,62 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(name, product) { + // [START vision_v1p4beta1_generated_ProductSearch_RemoveProductFromProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The resource name for the ProductSet to modify. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * Required. The resource name for the Product to be removed from this + * ProductSet. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + */ + // const product = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callRemoveProductFromProductSet() { + // Construct request + const request = { + name, + product, + }; + + // Run request + const response = await visionClient.removeProductFromProductSet(request); + console.log(response); + } + + callRemoveProductFromProductSet(); + // [END vision_v1p4beta1_generated_ProductSearch_RemoveProductFromProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js new file mode 100644 index 00000000000..0b0bf35bf8c --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js @@ -0,0 +1,61 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(product) { + // [START vision_v1p4beta1_generated_ProductSearch_UpdateProduct_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The Product resource which replaces the one on the server. + * product.name is immutable. + */ + // const product = {} + /** + * The FieldMask google.protobuf.FieldMask that specifies which fields + * to update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask paths include `product_labels`, `display_name`, and + * `description`. + */ + // const updateMask = {} + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callUpdateProduct() { + // Construct request + const request = { + product, + }; + + // Run request + const response = await visionClient.updateProduct(request); + console.log(response); + } + + callUpdateProduct(); + // [END vision_v1p4beta1_generated_ProductSearch_UpdateProduct_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js new file mode 100644 index 00000000000..578b6ccbe91 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js @@ -0,0 +1,59 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// 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. + +'use strict'; + +function main(productSet) { + // [START vision_v1p4beta1_generated_ProductSearch_UpdateProductSet_async] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. The ProductSet resource which replaces the one on the server. + */ + // const productSet = {} + /** + * The FieldMask google.protobuf.FieldMask that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + */ + // const updateMask = {} + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callUpdateProductSet() { + // Construct request + const request = { + productSet, + }; + + // Run request + const response = await visionClient.updateProductSet(request); + console.log(response); + } + + callUpdateProductSet(); + // [END vision_v1p4beta1_generated_ProductSearch_UpdateProductSet_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 4971683068c..11033563b28 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -360,6 +360,36 @@ export class ImageAnnotatorClient { // ------------------- // -- Service calls -- // ------------------- + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {string} request.parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1.BatchAnnotateImagesResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/image_annotator.batch_annotate_images.js + * region_tag:vision_v1_generated_ImageAnnotator_BatchAnnotateImages_async + */ batchAnnotateImages( request?: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, options?: CallOptions @@ -391,36 +421,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. Individual image annotation requests for this batch. - * @param {string} request.parent - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1.BatchAnnotateImagesResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.batchAnnotateImages(request); - */ batchAnnotateImages( request?: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest, optionsOrCallback?: @@ -464,37 +464,6 @@ export class ImageAnnotatorClient { this.initialize(); return this.innerApiCalls.batchAnnotateImages(request, options, callback); } - batchAnnotateFiles( - request?: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, - protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, - {} | undefined - ] - >; - batchAnnotateFiles( - request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, - | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest - | null - | undefined, - {} | null | undefined - > - ): void; - batchAnnotateFiles( - request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, - callback: Callback< - protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, - | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest - | null - | undefined, - {} | null | undefined - > - ): void; /** * Service that performs image detection and annotation for a batch of files. * Now only "application/pdf", "image/tiff" and "image/gif" are supported. @@ -529,9 +498,40 @@ export class ImageAnnotatorClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.batchAnnotateFiles(request); + * @example include:samples/generated/v1/image_annotator.batch_annotate_files.js + * region_tag:vision_v1_generated_ImageAnnotator_BatchAnnotateFiles_async */ + batchAnnotateFiles( + request?: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest | undefined, + {} | undefined + ] + >; + batchAnnotateFiles( + request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest + | null + | undefined, + {} | null | undefined + > + ): void; + batchAnnotateFiles( + request: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, + callback: Callback< + protos.google.cloud.vision.v1.IBatchAnnotateFilesResponse, + | protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest + | null + | undefined, + {} | null | undefined + > + ): void; batchAnnotateFiles( request?: protos.google.cloud.vision.v1.IBatchAnnotateFilesRequest, optionsOrCallback?: @@ -576,42 +576,6 @@ export class ImageAnnotatorClient { return this.innerApiCalls.batchAnnotateFiles(request, options, callback); } - asyncBatchAnnotateImages( - request?: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, - options?: CallOptions - ): Promise< - [ - LROperation< - protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, - protos.google.cloud.vision.v1.IOperationMetadata - >, - protos.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; - asyncBatchAnnotateImages( - request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, - options: CallOptions, - callback: Callback< - LROperation< - protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, - protos.google.cloud.vision.v1.IOperationMetadata - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; - asyncBatchAnnotateImages( - request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, - callback: Callback< - LROperation< - protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, - protos.google.cloud.vision.v1.IOperationMetadata - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; /** * Run asynchronous image detection and annotation for a list of images. * @@ -651,10 +615,45 @@ export class ImageAnnotatorClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const [operation] = await client.asyncBatchAnnotateImages(request); - * const [response] = await operation.promise(); + * @example include:samples/generated/v1/image_annotator.async_batch_annotate_images.js + * region_tag:vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async */ + asyncBatchAnnotateImages( + request?: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + asyncBatchAnnotateImages( + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + asyncBatchAnnotateImages( + request: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, + callback: Callback< + LROperation< + protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesResponse, + protos.google.cloud.vision.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; asyncBatchAnnotateImages( request?: protos.google.cloud.vision.v1.IAsyncBatchAnnotateImagesRequest, optionsOrCallback?: @@ -716,11 +715,8 @@ export class ImageAnnotatorClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkAsyncBatchAnnotateImagesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/image_annotator.async_batch_annotate_images.js + * region_tag:vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async */ async checkAsyncBatchAnnotateImagesProgress( name: string @@ -744,6 +740,43 @@ export class ImageAnnotatorClient { protos.google.cloud.vision.v1.OperationMetadata >; } + /** + * Run asynchronous image detection and annotation for a list of generic + * files, such as PDF files, which may contain multiple pages and multiple + * images per page. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual async file annotation requests for this batch. + * @param {string} request.parent + * Optional. Target project and location to make a call. + * + * Format: `projects/{project-id}/locations/{location-id}`. + * + * If no parent is specified, a region will be chosen automatically. + * + * Supported location-ids: + * `us`: USA country only, + * `asia`: East asia areas, like Japan, Taiwan, + * `eu`: The European Union. + * + * Example: `projects/project-A/locations/eu`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/image_annotator.async_batch_annotate_files.js + * region_tag:vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async + */ asyncBatchAnnotateFiles( request?: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, options?: CallOptions @@ -780,44 +813,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run asynchronous image detection and annotation for a list of generic - * files, such as PDF files, which may contain multiple pages and multiple - * images per page. Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. Individual async file annotation requests for this batch. - * @param {string} request.parent - * Optional. Target project and location to make a call. - * - * Format: `projects/{project-id}/locations/{location-id}`. - * - * If no parent is specified, a region will be chosen automatically. - * - * Supported location-ids: - * `us`: USA country only, - * `asia`: East asia areas, like Japan, Taiwan, - * `eu`: The European Union. - * - * Example: `projects/project-A/locations/eu`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.asyncBatchAnnotateFiles(request); - * const [response] = await operation.promise(); - */ asyncBatchAnnotateFiles( request?: protos.google.cloud.vision.v1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: @@ -879,11 +874,8 @@ export class ImageAnnotatorClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/image_annotator.async_batch_annotate_files.js + * region_tag:vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async */ async checkAsyncBatchAnnotateFilesProgress( name: string diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 2b1a5848366..7322875c1e4 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -414,33 +414,6 @@ export class ProductSearchClient { // ------------------- // -- Service calls -- // ------------------- - createProductSet( - request?: protos.google.cloud.vision.v1.ICreateProductSetRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IProductSet, - protos.google.cloud.vision.v1.ICreateProductSetRequest | undefined, - {} | undefined - ] - >; - createProductSet( - request: protos.google.cloud.vision.v1.ICreateProductSetRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1.IProductSet, - protos.google.cloud.vision.v1.ICreateProductSetRequest | null | undefined, - {} | null | undefined - > - ): void; - createProductSet( - request: protos.google.cloud.vision.v1.ICreateProductSetRequest, - callback: Callback< - protos.google.cloud.vision.v1.IProductSet, - protos.google.cloud.vision.v1.ICreateProductSetRequest | null | undefined, - {} | null | undefined - > - ): void; /** * Creates and returns a new ProductSet resource. * @@ -469,9 +442,36 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.createProductSet(request); + * @example include:samples/generated/v1/product_search.create_product_set.js + * region_tag:vision_v1_generated_ProductSearch_CreateProductSet_async */ + createProductSet( + request?: protos.google.cloud.vision.v1.ICreateProductSetRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.ICreateProductSetRequest | undefined, + {} | undefined + ] + >; + createProductSet( + request: protos.google.cloud.vision.v1.ICreateProductSetRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.ICreateProductSetRequest | null | undefined, + {} | null | undefined + > + ): void; + createProductSet( + request: protos.google.cloud.vision.v1.ICreateProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.ICreateProductSetRequest | null | undefined, + {} | null | undefined + > + ): void; createProductSet( request?: protos.google.cloud.vision.v1.ICreateProductSetRequest, optionsOrCallback?: @@ -513,6 +513,30 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.createProductSet(request, options, callback); } + /** + * Gets information associated with a ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/product_search.get_product_set.js + * region_tag:vision_v1_generated_ProductSearch_GetProductSet_async + */ getProductSet( request?: protos.google.cloud.vision.v1.IGetProductSetRequest, options?: CallOptions @@ -540,30 +564,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Gets information associated with a ProductSet. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1.ProductSet}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getProductSet(request); - */ getProductSet( request?: protos.google.cloud.vision.v1.IGetProductSetRequest, optionsOrCallback?: @@ -605,33 +605,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.getProductSet(request, options, callback); } - updateProductSet( - request?: protos.google.cloud.vision.v1.IUpdateProductSetRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IProductSet, - protos.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, - {} | undefined - ] - >; - updateProductSet( - request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1.IProductSet, - protos.google.cloud.vision.v1.IUpdateProductSetRequest | null | undefined, - {} | null | undefined - > - ): void; - updateProductSet( - request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, - callback: Callback< - protos.google.cloud.vision.v1.IProductSet, - protos.google.cloud.vision.v1.IUpdateProductSetRequest | null | undefined, - {} | null | undefined - > - ): void; /** * Makes changes to a ProductSet resource. * Only display_name can be updated currently. @@ -658,9 +631,36 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.updateProductSet(request); + * @example include:samples/generated/v1/product_search.update_product_set.js + * region_tag:vision_v1_generated_ProductSearch_UpdateProductSet_async */ + updateProductSet( + request?: protos.google.cloud.vision.v1.IUpdateProductSetRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IUpdateProductSetRequest | undefined, + {} | undefined + ] + >; + updateProductSet( + request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IUpdateProductSetRequest | null | undefined, + {} | null | undefined + > + ): void; + updateProductSet( + request: protos.google.cloud.vision.v1.IUpdateProductSetRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProductSet, + protos.google.cloud.vision.v1.IUpdateProductSetRequest | null | undefined, + {} | null | undefined + > + ): void; updateProductSet( request?: protos.google.cloud.vision.v1.IUpdateProductSetRequest, optionsOrCallback?: @@ -702,6 +702,29 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.updateProductSet(request, options, callback); } + /** + * Permanently deletes a ProductSet. Products and ReferenceImages in the + * ProductSet are not deleted. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/product_search.delete_product_set.js + * region_tag:vision_v1_generated_ProductSearch_DeleteProductSet_async + */ deleteProductSet( request?: protos.google.cloud.vision.v1.IDeleteProductSetRequest, options?: CallOptions @@ -729,29 +752,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Permanently deletes a ProductSet. Products and ReferenceImages in the - * ProductSet are not deleted. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.deleteProductSet(request); - */ deleteProductSet( request?: protos.google.cloud.vision.v1.IDeleteProductSetRequest, optionsOrCallback?: @@ -793,33 +793,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.deleteProductSet(request, options, callback); } - createProduct( - request?: protos.google.cloud.vision.v1.ICreateProductRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IProduct, - protos.google.cloud.vision.v1.ICreateProductRequest | undefined, - {} | undefined - ] - >; - createProduct( - request: protos.google.cloud.vision.v1.ICreateProductRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1.IProduct, - protos.google.cloud.vision.v1.ICreateProductRequest | null | undefined, - {} | null | undefined - > - ): void; - createProduct( - request: protos.google.cloud.vision.v1.ICreateProductRequest, - callback: Callback< - protos.google.cloud.vision.v1.IProduct, - protos.google.cloud.vision.v1.ICreateProductRequest | null | undefined, - {} | null | undefined - > - ): void; /** * Creates and returns a new product resource. * @@ -851,9 +824,36 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.createProduct(request); + * @example include:samples/generated/v1/product_search.create_product.js + * region_tag:vision_v1_generated_ProductSearch_CreateProduct_async */ + createProduct( + request?: protos.google.cloud.vision.v1.ICreateProductRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.ICreateProductRequest | undefined, + {} | undefined + ] + >; + createProduct( + request: protos.google.cloud.vision.v1.ICreateProductRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.ICreateProductRequest | null | undefined, + {} | null | undefined + > + ): void; + createProduct( + request: protos.google.cloud.vision.v1.ICreateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.ICreateProductRequest | null | undefined, + {} | null | undefined + > + ): void; createProduct( request?: protos.google.cloud.vision.v1.ICreateProductRequest, optionsOrCallback?: @@ -895,6 +895,30 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.createProduct(request, options, callback); } + /** + * Gets information associated with a Product. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/product_search.get_product.js + * region_tag:vision_v1_generated_ProductSearch_GetProduct_async + */ getProduct( request?: protos.google.cloud.vision.v1.IGetProductRequest, options?: CallOptions @@ -922,30 +946,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Gets information associated with a Product. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the Product to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1.Product}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getProduct(request); - */ getProduct( request?: protos.google.cloud.vision.v1.IGetProductRequest, optionsOrCallback?: @@ -985,33 +985,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.getProduct(request, options, callback); } - updateProduct( - request?: protos.google.cloud.vision.v1.IUpdateProductRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IProduct, - protos.google.cloud.vision.v1.IUpdateProductRequest | undefined, - {} | undefined - ] - >; - updateProduct( - request: protos.google.cloud.vision.v1.IUpdateProductRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1.IProduct, - protos.google.cloud.vision.v1.IUpdateProductRequest | null | undefined, - {} | null | undefined - > - ): void; - updateProduct( - request: protos.google.cloud.vision.v1.IUpdateProductRequest, - callback: Callback< - protos.google.cloud.vision.v1.IProduct, - protos.google.cloud.vision.v1.IUpdateProductRequest | null | undefined, - {} | null | undefined - > - ): void; /** * Makes changes to a Product resource. * Only the `display_name`, `description`, and `labels` fields can be updated @@ -1047,9 +1020,36 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.updateProduct(request); + * @example include:samples/generated/v1/product_search.update_product.js + * region_tag:vision_v1_generated_ProductSearch_UpdateProduct_async */ + updateProduct( + request?: protos.google.cloud.vision.v1.IUpdateProductRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IUpdateProductRequest | undefined, + {} | undefined + ] + >; + updateProduct( + request: protos.google.cloud.vision.v1.IUpdateProductRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IUpdateProductRequest | null | undefined, + {} | null | undefined + > + ): void; + updateProduct( + request: protos.google.cloud.vision.v1.IUpdateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1.IProduct, + protos.google.cloud.vision.v1.IUpdateProductRequest | null | undefined, + {} | null | undefined + > + ): void; updateProduct( request?: protos.google.cloud.vision.v1.IUpdateProductRequest, optionsOrCallback?: @@ -1091,6 +1091,30 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.updateProduct(request, options, callback); } + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/product_search.delete_product.js + * region_tag:vision_v1_generated_ProductSearch_DeleteProduct_async + */ deleteProduct( request?: protos.google.cloud.vision.v1.IDeleteProductRequest, options?: CallOptions @@ -1118,30 +1142,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Permanently deletes a product and its reference images. - * - * Metadata of the product and all its images will be deleted right away, but - * search queries against ProductSets containing the product may still work - * until all related caches are refreshed. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of product to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.deleteProduct(request); - */ deleteProduct( request?: protos.google.cloud.vision.v1.IDeleteProductRequest, optionsOrCallback?: @@ -1183,37 +1183,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.deleteProduct(request, options, callback); } - createReferenceImage( - request?: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IReferenceImage, - protos.google.cloud.vision.v1.ICreateReferenceImageRequest | undefined, - {} | undefined - ] - >; - createReferenceImage( - request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1.IReferenceImage, - | protos.google.cloud.vision.v1.ICreateReferenceImageRequest - | null - | undefined, - {} | null | undefined - > - ): void; - createReferenceImage( - request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, - callback: Callback< - protos.google.cloud.vision.v1.IReferenceImage, - | protos.google.cloud.vision.v1.ICreateReferenceImageRequest - | null - | undefined, - {} | null | undefined - > - ): void; /** * Creates and returns a new ReferenceImage resource. * @@ -1257,9 +1226,40 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.createReferenceImage(request); + * @example include:samples/generated/v1/product_search.create_reference_image.js + * region_tag:vision_v1_generated_ProductSearch_CreateReferenceImage_async */ + createReferenceImage( + request?: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IReferenceImage, + protos.google.cloud.vision.v1.ICreateReferenceImageRequest | undefined, + {} | undefined + ] + >; + createReferenceImage( + request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.ICreateReferenceImageRequest + | null + | undefined, + {} | null | undefined + > + ): void; + createReferenceImage( + request: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1.IReferenceImage, + | protos.google.cloud.vision.v1.ICreateReferenceImageRequest + | null + | undefined, + {} | null | undefined + > + ): void; createReferenceImage( request?: protos.google.cloud.vision.v1.ICreateReferenceImageRequest, optionsOrCallback?: @@ -1303,6 +1303,32 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.createReferenceImage(request, options, callback); } + /** + * Permanently deletes a reference image. + * + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the reference image to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/product_search.delete_reference_image.js + * region_tag:vision_v1_generated_ProductSearch_DeleteReferenceImage_async + */ deleteReferenceImage( request?: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, options?: CallOptions @@ -1334,32 +1360,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Permanently deletes a reference image. - * - * The image metadata will be deleted right away, but search queries - * against ProductSets containing the image may still work until all related - * caches are refreshed. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the reference image to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.deleteReferenceImage(request); - */ deleteReferenceImage( request?: protos.google.cloud.vision.v1.IDeleteReferenceImageRequest, optionsOrCallback?: @@ -1403,6 +1403,30 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.deleteReferenceImage(request, options, callback); } + /** + * Gets information associated with a ReferenceImage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the specified image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the ReferenceImage to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/product_search.get_reference_image.js + * region_tag:vision_v1_generated_ProductSearch_GetReferenceImage_async + */ getReferenceImage( request?: protos.google.cloud.vision.v1.IGetReferenceImageRequest, options?: CallOptions @@ -1434,30 +1458,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Gets information associated with a ReferenceImage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the specified image does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the ReferenceImage to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1.ReferenceImage}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getReferenceImage(request); - */ getReferenceImage( request?: protos.google.cloud.vision.v1.IGetReferenceImageRequest, optionsOrCallback?: @@ -1501,6 +1501,38 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.getReferenceImage(request, options, callback); } + /** + * Adds a Product to the specified ProductSet. If the Product is already + * present, no change is made. + * + * One Product can be added to at most 100 ProductSets. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/product_search.add_product_to_product_set.js + * region_tag:vision_v1_generated_ProductSearch_AddProductToProductSet_async + */ addProductToProductSet( request?: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, options?: CallOptions @@ -1532,38 +1564,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Adds a Product to the specified ProductSet. If the Product is already - * present, no change is made. - * - * One Product can be added to at most 100 ProductSets. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be added to this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.addProductToProductSet(request); - */ addProductToProductSet( request?: protos.google.cloud.vision.v1.IAddProductToProductSetRequest, optionsOrCallback?: @@ -1611,6 +1611,31 @@ export class ProductSearchClient { callback ); } + /** + * Removes a Product from the specified ProductSet. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/product_search.remove_product_from_product_set.js + * region_tag:vision_v1_generated_ProductSearch_RemoveProductFromProductSet_async + */ removeProductFromProductSet( request?: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, options?: CallOptions @@ -1645,31 +1670,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Removes a Product from the specified ProductSet. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be removed from this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.removeProductFromProductSet(request); - */ removeProductFromProductSet( request?: protos.google.cloud.vision.v1.IRemoveProductFromProductSetRequest, optionsOrCallback?: @@ -1721,6 +1721,39 @@ export class ProductSearchClient { ); } + /** + * Asynchronous API that imports a list of reference images to specified + * product sets based on a list of image information. + * + * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be used to keep track of the + * progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * `Operation.response` contains `ImportProductSetsResponse`. (results) + * + * The input source of this method is a csv file on Google Cloud Storage. + * For the format of the csv file please see + * {@link google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri|ImportProductSetsGcsSource.csv_file_uri}. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1.ImportProductSetsInputConfig} request.inputConfig + * Required. The input content for the list of requests. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/product_search.import_product_sets.js + * region_tag:vision_v1_generated_ProductSearch_ImportProductSets_async + */ importProductSets( request?: protos.google.cloud.vision.v1.IImportProductSetsRequest, options?: CallOptions @@ -1757,40 +1790,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Asynchronous API that imports a list of reference images to specified - * product sets based on a list of image information. - * - * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be used to keep track of the - * progress and results of the request. - * `Operation.metadata` contains `BatchOperationMetadata`. (progress) - * `Operation.response` contains `ImportProductSetsResponse`. (results) - * - * The input source of this method is a csv file on Google Cloud Storage. - * For the format of the csv file please see - * {@link google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri|ImportProductSetsGcsSource.csv_file_uri}. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSets should be imported. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {google.cloud.vision.v1.ImportProductSetsInputConfig} request.inputConfig - * Required. The input content for the list of requests. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.importProductSets(request); - * const [response] = await operation.promise(); - */ importProductSets( request?: protos.google.cloud.vision.v1.IImportProductSetsRequest, optionsOrCallback?: @@ -1848,11 +1847,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkImportProductSetsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/product_search.import_product_sets.js + * region_tag:vision_v1_generated_ProductSearch_ImportProductSets_async */ async checkImportProductSetsProgress( name: string @@ -1876,42 +1872,6 @@ export class ProductSearchClient { protos.google.cloud.vision.v1.BatchOperationMetadata >; } - purgeProducts( - request?: protos.google.cloud.vision.v1.IPurgeProductsRequest, - options?: CallOptions - ): Promise< - [ - LROperation< - protos.google.protobuf.IEmpty, - protos.google.cloud.vision.v1.IBatchOperationMetadata - >, - protos.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; - purgeProducts( - request: protos.google.cloud.vision.v1.IPurgeProductsRequest, - options: CallOptions, - callback: Callback< - LROperation< - protos.google.protobuf.IEmpty, - protos.google.cloud.vision.v1.IBatchOperationMetadata - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; - purgeProducts( - request: protos.google.cloud.vision.v1.IPurgeProductsRequest, - callback: Callback< - LROperation< - protos.google.protobuf.IEmpty, - protos.google.cloud.vision.v1.IBatchOperationMetadata - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; /** * Asynchronous API to delete all Products in a ProductSet or all Products * that are in no ProductSet. @@ -1961,10 +1921,45 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const [operation] = await client.purgeProducts(request); - * const [response] = await operation.promise(); + * @example include:samples/generated/v1/product_search.purge_products.js + * region_tag:vision_v1_generated_ProductSearch_PurgeProducts_async */ + purgeProducts( + request?: protos.google.cloud.vision.v1.IPurgeProductsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + purgeProducts( + request: protos.google.cloud.vision.v1.IPurgeProductsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + purgeProducts( + request: protos.google.cloud.vision.v1.IPurgeProductsRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; purgeProducts( request?: protos.google.cloud.vision.v1.IPurgeProductsRequest, optionsOrCallback?: @@ -2022,11 +2017,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkPurgeProductsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1/product_search.purge_products.js + * region_tag:vision_v1_generated_ProductSearch_PurgeProducts_async */ async checkPurgeProductsProgress( name: string @@ -2050,33 +2042,6 @@ export class ProductSearchClient { protos.google.cloud.vision.v1.BatchOperationMetadata >; } - listProductSets( - request?: protos.google.cloud.vision.v1.IListProductSetsRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IProductSet[], - protos.google.cloud.vision.v1.IListProductSetsRequest | null, - protos.google.cloud.vision.v1.IListProductSetsResponse - ] - >; - listProductSets( - request: protos.google.cloud.vision.v1.IListProductSetsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1.IListProductSetsRequest, - protos.google.cloud.vision.v1.IListProductSetsResponse | null | undefined, - protos.google.cloud.vision.v1.IProductSet - > - ): void; - listProductSets( - request: protos.google.cloud.vision.v1.IListProductSetsRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1.IListProductSetsRequest, - protos.google.cloud.vision.v1.IListProductSetsResponse | null | undefined, - protos.google.cloud.vision.v1.IProductSet - > - ): void; /** * Lists ProductSets in an unspecified order. * @@ -2108,6 +2073,33 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listProductSets( + request?: protos.google.cloud.vision.v1.IListProductSetsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IProductSet[], + protos.google.cloud.vision.v1.IListProductSetsRequest | null, + protos.google.cloud.vision.v1.IListProductSetsResponse + ] + >; + listProductSets( + request: protos.google.cloud.vision.v1.IListProductSetsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductSetsRequest, + protos.google.cloud.vision.v1.IListProductSetsResponse | null | undefined, + protos.google.cloud.vision.v1.IProductSet + > + ): void; + listProductSets( + request: protos.google.cloud.vision.v1.IListProductSetsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductSetsRequest, + protos.google.cloud.vision.v1.IListProductSetsResponse | null | undefined, + protos.google.cloud.vision.v1.IProductSet + > + ): void; listProductSets( request?: protos.google.cloud.vision.v1.IListProductSetsRequest, optionsOrCallback?: @@ -2186,7 +2178,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductSets']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductSets.createStream( this.innerApiCalls.listProductSets as gax.GaxCall, @@ -2219,11 +2212,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listProductSetsAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1/product_search.list_product_sets.js + * region_tag:vision_v1_generated_ProductSearch_ListProductSets_async */ listProductSetsAsync( request?: protos.google.cloud.vision.v1.IListProductSetsRequest, @@ -2237,8 +2227,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductSets']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductSets.asyncIterate( this.innerApiCalls['listProductSets'] as GaxCall, @@ -2246,33 +2236,6 @@ export class ProductSearchClient { callSettings ) as AsyncIterable; } - listProducts( - request?: protos.google.cloud.vision.v1.IListProductsRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IProduct[], - protos.google.cloud.vision.v1.IListProductsRequest | null, - protos.google.cloud.vision.v1.IListProductsResponse - ] - >; - listProducts( - request: protos.google.cloud.vision.v1.IListProductsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1.IListProductsRequest, - protos.google.cloud.vision.v1.IListProductsResponse | null | undefined, - protos.google.cloud.vision.v1.IProduct - > - ): void; - listProducts( - request: protos.google.cloud.vision.v1.IListProductsRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1.IListProductsRequest, - protos.google.cloud.vision.v1.IListProductsResponse | null | undefined, - protos.google.cloud.vision.v1.IProduct - > - ): void; /** * Lists products in an unspecified order. * @@ -2304,6 +2267,33 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listProducts( + request?: protos.google.cloud.vision.v1.IListProductsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IProduct[], + protos.google.cloud.vision.v1.IListProductsRequest | null, + protos.google.cloud.vision.v1.IListProductsResponse + ] + >; + listProducts( + request: protos.google.cloud.vision.v1.IListProductsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsRequest, + protos.google.cloud.vision.v1.IListProductsResponse | null | undefined, + protos.google.cloud.vision.v1.IProduct + > + ): void; + listProducts( + request: protos.google.cloud.vision.v1.IListProductsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsRequest, + protos.google.cloud.vision.v1.IListProductsResponse | null | undefined, + protos.google.cloud.vision.v1.IProduct + > + ): void; listProducts( request?: protos.google.cloud.vision.v1.IListProductsRequest, optionsOrCallback?: @@ -2383,7 +2373,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProducts']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProducts.createStream( this.innerApiCalls.listProducts as gax.GaxCall, @@ -2417,11 +2408,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listProductsAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1/product_search.list_products.js + * region_tag:vision_v1_generated_ProductSearch_ListProducts_async */ listProductsAsync( request?: protos.google.cloud.vision.v1.IListProductsRequest, @@ -2435,8 +2423,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProducts']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProducts.asyncIterate( this.innerApiCalls['listProducts'] as GaxCall, @@ -2444,37 +2432,6 @@ export class ProductSearchClient { callSettings ) as AsyncIterable; } - listReferenceImages( - request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IReferenceImage[], - protos.google.cloud.vision.v1.IListReferenceImagesRequest | null, - protos.google.cloud.vision.v1.IListReferenceImagesResponse - ] - >; - listReferenceImages( - request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1.IListReferenceImagesRequest, - | protos.google.cloud.vision.v1.IListReferenceImagesResponse - | null - | undefined, - protos.google.cloud.vision.v1.IReferenceImage - > - ): void; - listReferenceImages( - request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1.IListReferenceImagesRequest, - | protos.google.cloud.vision.v1.IListReferenceImagesResponse - | null - | undefined, - protos.google.cloud.vision.v1.IReferenceImage - > - ): void; /** * Lists reference images. * @@ -2511,6 +2468,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listReferenceImages( + request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IReferenceImage[], + protos.google.cloud.vision.v1.IListReferenceImagesRequest | null, + protos.google.cloud.vision.v1.IListReferenceImagesResponse + ] + >; + listReferenceImages( + request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1.IReferenceImage + > + ): void; + listReferenceImages( + request: protos.google.cloud.vision.v1.IListReferenceImagesRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1.IReferenceImage + > + ): void; listReferenceImages( request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, optionsOrCallback?: @@ -2595,7 +2583,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listReferenceImages']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listReferenceImages.createStream( this.innerApiCalls.listReferenceImages as gax.GaxCall, @@ -2632,11 +2621,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listReferenceImagesAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1/product_search.list_reference_images.js + * region_tag:vision_v1_generated_ProductSearch_ListReferenceImages_async */ listReferenceImagesAsync( request?: protos.google.cloud.vision.v1.IListReferenceImagesRequest, @@ -2650,8 +2636,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listReferenceImages']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listReferenceImages.asyncIterate( this.innerApiCalls['listReferenceImages'] as GaxCall, @@ -2659,37 +2645,6 @@ export class ProductSearchClient { callSettings ) as AsyncIterable; } - listProductsInProductSet( - request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1.IProduct[], - protos.google.cloud.vision.v1.IListProductsInProductSetRequest | null, - protos.google.cloud.vision.v1.IListProductsInProductSetResponse - ] - >; - listProductsInProductSet( - request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1.IListProductsInProductSetRequest, - | protos.google.cloud.vision.v1.IListProductsInProductSetResponse - | null - | undefined, - protos.google.cloud.vision.v1.IProduct - > - ): void; - listProductsInProductSet( - request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1.IListProductsInProductSetRequest, - | protos.google.cloud.vision.v1.IListProductsInProductSetResponse - | null - | undefined, - protos.google.cloud.vision.v1.IProduct - > - ): void; /** * Lists the Products in a ProductSet, in an unspecified order. If the * ProductSet does not exist, the products field of the response will be @@ -2723,6 +2678,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listProductsInProductSet( + request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1.IProduct[], + protos.google.cloud.vision.v1.IListProductsInProductSetRequest | null, + protos.google.cloud.vision.v1.IListProductsInProductSetResponse + ] + >; + listProductsInProductSet( + request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1.IProduct + > + ): void; + listProductsInProductSet( + request: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1.IProduct + > + ): void; listProductsInProductSet( request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, optionsOrCallback?: @@ -2808,7 +2794,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ name: request.name || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductsInProductSet']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.createStream( this.innerApiCalls.listProductsInProductSet as gax.GaxCall, @@ -2842,11 +2829,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listProductsInProductSetAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1/product_search.list_products_in_product_set.js + * region_tag:vision_v1_generated_ProductSearch_ListProductsInProductSet_async */ listProductsInProductSetAsync( request?: protos.google.cloud.vision.v1.IListProductsInProductSetRequest, @@ -2860,8 +2844,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ name: request.name || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductsInProductSet']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.asyncIterate( this.innerApiCalls['listProductsInProductSet'] as GaxCall, diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index c36b961ef0d..61fa2236c1f 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -286,6 +286,23 @@ export class ImageAnnotatorClient { // ------------------- // -- Service calls -- // ------------------- + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js + * region_tag:vision_v1p1beta1_generated_ImageAnnotator_BatchAnnotateImages_async + */ batchAnnotateImages( request?: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, options?: CallOptions @@ -320,23 +337,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. Individual image annotation requests for this batch. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.batchAnnotateImages(request); - */ batchAnnotateImages( request?: protos.google.cloud.vision.v1p1beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: @@ -374,6 +374,8 @@ export class ImageAnnotatorClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.batchAnnotateImages(request, options, callback); } diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 7ff93fa4e90..3e94a5a0428 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -327,6 +327,23 @@ export class ImageAnnotatorClient { // ------------------- // -- Service calls -- // ------------------- + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js + * region_tag:vision_v1p2beta1_generated_ImageAnnotator_BatchAnnotateImages_async + */ batchAnnotateImages( request?: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, options?: CallOptions @@ -361,23 +378,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. Individual image annotation requests for this batch. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.batchAnnotateImages(request); - */ batchAnnotateImages( request?: protos.google.cloud.vision.v1p2beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: @@ -415,10 +415,36 @@ export class ImageAnnotatorClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.batchAnnotateImages(request, options, callback); } + /** + * Run async image detection and annotation for a list of generic files (e.g. + * PDF) which may contain multiple pages and multiple images per page. + * Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual async file annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js + * region_tag:vision_v1p2beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async + */ asyncBatchAnnotateFiles( request?: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, options?: CallOptions @@ -455,31 +481,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run async image detection and annotation for a list of generic files (e.g. - * PDF) which may contain multiple pages and multiple images per page. - * Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. Individual async file annotation requests for this batch. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.asyncBatchAnnotateFiles(request); - * const [response] = await operation.promise(); - */ asyncBatchAnnotateFiles( request?: protos.google.cloud.vision.v1p2beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: @@ -519,6 +520,8 @@ export class ImageAnnotatorClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.asyncBatchAnnotateFiles( request, @@ -535,11 +538,8 @@ export class ImageAnnotatorClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js + * region_tag:vision_v1p2beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async */ async checkAsyncBatchAnnotateFilesProgress( name: string diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 464783fdff0..50bf88581c1 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -343,6 +343,23 @@ export class ImageAnnotatorClient { // ------------------- // -- Service calls -- // ------------------- + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Individual image annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js + * region_tag:vision_v1p3beta1_generated_ImageAnnotator_BatchAnnotateImages_async + */ batchAnnotateImages( request?: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, options?: CallOptions @@ -377,23 +394,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Individual image annotation requests for this batch. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.batchAnnotateImages(request); - */ batchAnnotateImages( request?: protos.google.cloud.vision.v1p3beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: @@ -431,10 +431,36 @@ export class ImageAnnotatorClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.batchAnnotateImages(request, options, callback); } + /** + * Run asynchronous image detection and annotation for a list of generic + * files, such as PDF files, which may contain multiple pages and multiple + * images per page. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual async file annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js + * region_tag:vision_v1p3beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async + */ asyncBatchAnnotateFiles( request?: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, options?: CallOptions @@ -471,31 +497,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run asynchronous image detection and annotation for a list of generic - * files, such as PDF files, which may contain multiple pages and multiple - * images per page. Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. Individual async file annotation requests for this batch. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.asyncBatchAnnotateFiles(request); - * const [response] = await operation.promise(); - */ asyncBatchAnnotateFiles( request?: protos.google.cloud.vision.v1p3beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: @@ -535,6 +536,8 @@ export class ImageAnnotatorClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.asyncBatchAnnotateFiles( request, @@ -551,11 +554,8 @@ export class ImageAnnotatorClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js + * region_tag:vision_v1p3beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async */ async checkAsyncBatchAnnotateFilesProgress( name: string diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index a5ba353531b..9c33ad0a858 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -402,6 +402,37 @@ export class ProductSearchClient { // ------------------- // -- Service calls -- // ------------------- + /** + * Creates and returns a new ProductSet resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + * 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p3beta1.ProductSet} request.productSet + * Required. The ProductSet to create. + * @param {string} request.productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.create_product_set.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_CreateProductSet_async + */ createProductSet( request?: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, options?: CallOptions @@ -433,37 +464,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Creates and returns a new ProductSet resource. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than - * 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSet should be created. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {google.cloud.vision.v1p3beta1.ProductSet} request.productSet - * Required. The ProductSet to create. - * @param {string} request.productSetId - * A user-supplied resource id for this ProductSet. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.createProductSet(request); - */ createProductSet( request?: protos.google.cloud.vision.v1p3beta1.ICreateProductSetRequest, optionsOrCallback?: @@ -507,6 +507,30 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.createProductSet(request, options, callback); } + /** + * Gets information associated with a ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.get_product_set.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_GetProductSet_async + */ getProductSet( request?: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, options?: CallOptions @@ -538,30 +562,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Gets information associated with a ProductSet. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getProductSet(request); - */ getProductSet( request?: protos.google.cloud.vision.v1p3beta1.IGetProductSetRequest, optionsOrCallback?: @@ -605,6 +605,35 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.getProductSet(request, options, callback); } + /** + * Makes changes to a ProductSet resource. + * Only display_name can be updated currently. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but + * missing from the request or longer than 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1p3beta1.ProductSet} request.productSet + * Required. The ProductSet resource which replaces the one on the server. + * @param {google.protobuf.FieldMask} request.updateMask + * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.update_product_set.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_UpdateProductSet_async + */ updateProductSet( request?: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, options?: CallOptions @@ -636,35 +665,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Makes changes to a ProductSet resource. - * Only display_name can be updated currently. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but - * missing from the request or longer than 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.vision.v1p3beta1.ProductSet} request.productSet - * Required. The ProductSet resource which replaces the one on the server. - * @param {google.protobuf.FieldMask} request.updateMask - * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields to - * update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask path is `display_name`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p3beta1.ProductSet}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.updateProductSet(request); - */ updateProductSet( request?: protos.google.cloud.vision.v1p3beta1.IUpdateProductSetRequest, optionsOrCallback?: @@ -708,6 +708,33 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.updateProductSet(request, options, callback); } + /** + * Permanently deletes a ProductSet. All Products and ReferenceImages in the + * ProductSet will be deleted. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.delete_product_set.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_DeleteProductSet_async + */ deleteProductSet( request?: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, options?: CallOptions @@ -739,33 +766,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Permanently deletes a ProductSet. All Products and ReferenceImages in the - * ProductSet will be deleted. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.deleteProductSet(request); - */ deleteProductSet( request?: protos.google.cloud.vision.v1p3beta1.IDeleteProductSetRequest, optionsOrCallback?: @@ -809,37 +809,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.deleteProductSet(request, options, callback); } - createProduct( - request?: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p3beta1.IProduct, - protos.google.cloud.vision.v1p3beta1.ICreateProductRequest | undefined, - {} | undefined - ] - >; - createProduct( - request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1p3beta1.IProduct, - | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest - | null - | undefined, - {} | null | undefined - > - ): void; - createProduct( - request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, - callback: Callback< - protos.google.cloud.vision.v1p3beta1.IProduct, - | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest - | null - | undefined, - {} | null | undefined - > - ): void; /** * Creates and returns a new product resource. * @@ -871,9 +840,40 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.createProduct(request); + * @example include:samples/generated/v1p3beta1/product_search.create_product.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_CreateProduct_async */ + createProduct( + request?: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p3beta1.IProduct, + protos.google.cloud.vision.v1p3beta1.ICreateProductRequest | undefined, + {} | undefined + ] + >; + createProduct( + request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; + createProduct( + request: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.ICreateProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; createProduct( request?: protos.google.cloud.vision.v1p3beta1.ICreateProductRequest, optionsOrCallback?: @@ -917,6 +917,30 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.createProduct(request, options, callback); } + /** + * Gets information associated with a Product. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.get_product.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_GetProduct_async + */ getProduct( request?: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, options?: CallOptions @@ -948,30 +972,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Gets information associated with a Product. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the Product to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p3beta1.Product}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getProduct(request); - */ getProduct( request?: protos.google.cloud.vision.v1p3beta1.IGetProductRequest, optionsOrCallback?: @@ -1015,37 +1015,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.getProduct(request, options, callback); } - updateProduct( - request?: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p3beta1.IProduct, - protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest | undefined, - {} | undefined - ] - >; - updateProduct( - request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1p3beta1.IProduct, - | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest - | null - | undefined, - {} | null | undefined - > - ): void; - updateProduct( - request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, - callback: Callback< - protos.google.cloud.vision.v1p3beta1.IProduct, - | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest - | null - | undefined, - {} | null | undefined - > - ): void; /** * Makes changes to a Product resource. * Only display_name, description and labels can be updated right now. @@ -1080,9 +1049,40 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.updateProduct(request); + * @example include:samples/generated/v1p3beta1/product_search.update_product.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_UpdateProduct_async */ + updateProduct( + request?: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p3beta1.IProduct, + protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest | undefined, + {} | undefined + ] + >; + updateProduct( + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; + updateProduct( + request: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IProduct, + | protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; updateProduct( request?: protos.google.cloud.vision.v1p3beta1.IUpdateProductRequest, optionsOrCallback?: @@ -1126,6 +1126,34 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.updateProduct(request, options, callback); } + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. + * + * Possible errors: + * + * * Returns NOT_FOUND if the product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.delete_product.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_DeleteProduct_async + */ deleteProduct( request?: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, options?: CallOptions @@ -1157,34 +1185,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Permanently deletes a product and its reference images. - * - * Metadata of the product and all its images will be deleted right away, but - * search queries against ProductSets containing the product may still work - * until all related caches are refreshed. - * - * Possible errors: - * - * * Returns NOT_FOUND if the product does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of product to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.deleteProduct(request); - */ deleteProduct( request?: protos.google.cloud.vision.v1p3beta1.IDeleteProductRequest, optionsOrCallback?: @@ -1228,40 +1228,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.deleteProduct(request, options, callback); } - createReferenceImage( - request?: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p3beta1.IReferenceImage, - ( - | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest - | undefined - ), - {} | undefined - ] - >; - createReferenceImage( - request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1p3beta1.IReferenceImage, - | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest - | null - | undefined, - {} | null | undefined - > - ): void; - createReferenceImage( - request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, - callback: Callback< - protos.google.cloud.vision.v1p3beta1.IReferenceImage, - | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest - | null - | undefined, - {} | null | undefined - > - ): void; /** * Creates and returns a new ReferenceImage resource. * @@ -1305,9 +1271,43 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.createReferenceImage(request); + * @example include:samples/generated/v1p3beta1/product_search.create_reference_image.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_CreateReferenceImage_async */ + createReferenceImage( + request?: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + ( + | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + createReferenceImage( + request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | null + | undefined, + {} | null | undefined + > + ): void; + createReferenceImage( + request: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1p3beta1.IReferenceImage, + | protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest + | null + | undefined, + {} | null | undefined + > + ): void; createReferenceImage( request?: protos.google.cloud.vision.v1p3beta1.ICreateReferenceImageRequest, optionsOrCallback?: @@ -1354,6 +1354,37 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.createReferenceImage(request, options, callback); } + /** + * Permanently deletes a reference image. + * + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the reference image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.delete_reference_image.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_DeleteReferenceImage_async + */ deleteReferenceImage( request?: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, options?: CallOptions @@ -1388,37 +1419,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Permanently deletes a reference image. - * - * The image metadata will be deleted right away, but search queries - * against ProductSets containing the image may still work until all related - * caches are refreshed. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the reference image does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the reference image to delete. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.deleteReferenceImage(request); - */ deleteReferenceImage( request?: protos.google.cloud.vision.v1p3beta1.IDeleteReferenceImageRequest, optionsOrCallback?: @@ -1465,6 +1465,31 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.deleteReferenceImage(request, options, callback); } + /** + * Gets information associated with a ReferenceImage. + * + * Possible errors: + * + * * Returns NOT_FOUND if the specified image does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the ReferenceImage to get. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.get_reference_image.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_GetReferenceImage_async + */ getReferenceImage( request?: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, options?: CallOptions @@ -1499,31 +1524,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Gets information associated with a ReferenceImage. - * - * Possible errors: - * - * * Returns NOT_FOUND if the specified image does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the ReferenceImage to get. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ReferenceImage]{@link google.cloud.vision.v1p3beta1.ReferenceImage}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getReferenceImage(request); - */ getReferenceImage( request?: protos.google.cloud.vision.v1p3beta1.IGetReferenceImageRequest, optionsOrCallback?: @@ -1570,6 +1570,38 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.getReferenceImage(request, options, callback); } + /** + * Adds a Product to the specified ProductSet. If the Product is already + * present, no change is made. + * + * One Product can be added to at most 100 ProductSets. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.add_product_to_product_set.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_AddProductToProductSet_async + */ addProductToProductSet( request?: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, options?: CallOptions @@ -1604,38 +1636,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Adds a Product to the specified ProductSet. If the Product is already - * present, no change is made. - * - * One Product can be added to at most 100 ProductSets. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be added to this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.addProductToProductSet(request); - */ addProductToProductSet( request?: protos.google.cloud.vision.v1p3beta1.IAddProductToProductSetRequest, optionsOrCallback?: @@ -1686,6 +1686,35 @@ export class ProductSearchClient { callback ); } + /** + * Removes a Product from the specified ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND If the Product is not found under the ProductSet. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be removed from this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_RemoveProductFromProductSet_async + */ removeProductFromProductSet( request?: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, options?: CallOptions @@ -1720,35 +1749,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Removes a Product from the specified ProductSet. - * - * Possible errors: - * - * * Returns NOT_FOUND If the Product is not found under the ProductSet. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be removed from this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.removeProductFromProductSet(request); - */ removeProductFromProductSet( request?: protos.google.cloud.vision.v1p3beta1.IRemoveProductFromProductSetRequest, optionsOrCallback?: @@ -1800,6 +1800,39 @@ export class ProductSearchClient { ); } + /** + * Asynchronous API that imports a list of reference images to specified + * product sets based on a list of image information. + * + * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be + * used to keep track of the progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * `Operation.response` contains `ImportProductSetsResponse`. (results) + * + * The input source of this method is a csv file on Google Cloud Storage. + * For the format of the csv file please see + * {@link google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri|ImportProductSetsGcsSource.csv_file_uri}. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} request.inputConfig + * Required. The input content for the list of requests. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1p3beta1/product_search.import_product_sets.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_ImportProductSets_async + */ importProductSets( request?: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, options?: CallOptions @@ -1832,44 +1865,10 @@ export class ProductSearchClient { protos.google.cloud.vision.v1p3beta1.IImportProductSetsResponse, protos.google.cloud.vision.v1p3beta1.IBatchOperationMetadata >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; - /** - * Asynchronous API that imports a list of reference images to specified - * product sets based on a list of image information. - * - * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be - * used to keep track of the progress and results of the request. - * `Operation.metadata` contains `BatchOperationMetadata`. (progress) - * `Operation.response` contains `ImportProductSetsResponse`. (results) - * - * The input source of this method is a csv file on Google Cloud Storage. - * For the format of the csv file please see - * {@link google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri|ImportProductSetsGcsSource.csv_file_uri}. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSets should be imported. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig} request.inputConfig - * Required. The input content for the list of requests. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.importProductSets(request); - * const [response] = await operation.promise(); - */ + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; importProductSets( request?: protos.google.cloud.vision.v1p3beta1.IImportProductSetsRequest, optionsOrCallback?: @@ -1927,11 +1926,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkImportProductSetsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p3beta1/product_search.import_product_sets.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_ImportProductSets_async */ async checkImportProductSetsProgress( name: string @@ -1955,37 +1951,6 @@ export class ProductSearchClient { protos.google.cloud.vision.v1p3beta1.BatchOperationMetadata >; } - listProductSets( - request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p3beta1.IProductSet[], - protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, - protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse - ] - >; - listProductSets( - request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, - | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse - | null - | undefined, - protos.google.cloud.vision.v1p3beta1.IProductSet - > - ): void; - listProductSets( - request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, - | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse - | null - | undefined, - protos.google.cloud.vision.v1p3beta1.IProductSet - > - ): void; /** * Lists ProductSets in an unspecified order. * @@ -2017,6 +1982,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listProductSets( + request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p3beta1.IProductSet[], + protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest | null, + protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse + ] + >; + listProductSets( + request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProductSet + > + ): void; + listProductSets( + request: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProductSet + > + ): void; listProductSets( request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, optionsOrCallback?: @@ -2097,7 +2093,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductSets']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductSets.createStream( this.innerApiCalls.listProductSets as gax.GaxCall, @@ -2130,11 +2127,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listProductSetsAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1p3beta1/product_search.list_product_sets.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_ListProductSets_async */ listProductSetsAsync( request?: protos.google.cloud.vision.v1p3beta1.IListProductSetsRequest, @@ -2148,8 +2142,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductSets']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductSets.asyncIterate( this.innerApiCalls['listProductSets'] as GaxCall, @@ -2157,37 +2151,6 @@ export class ProductSearchClient { callSettings ) as AsyncIterable; } - listProducts( - request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p3beta1.IProduct[], - protos.google.cloud.vision.v1p3beta1.IListProductsRequest | null, - protos.google.cloud.vision.v1p3beta1.IListProductsResponse - ] - >; - listProducts( - request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1p3beta1.IListProductsRequest, - | protos.google.cloud.vision.v1p3beta1.IListProductsResponse - | null - | undefined, - protos.google.cloud.vision.v1p3beta1.IProduct - > - ): void; - listProducts( - request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1p3beta1.IListProductsRequest, - | protos.google.cloud.vision.v1p3beta1.IListProductsResponse - | null - | undefined, - protos.google.cloud.vision.v1p3beta1.IProduct - > - ): void; /** * Lists products in an unspecified order. * @@ -2219,6 +2182,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listProducts( + request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p3beta1.IProduct[], + protos.google.cloud.vision.v1p3beta1.IListProductsRequest | null, + protos.google.cloud.vision.v1p3beta1.IListProductsResponse + ] + >; + listProducts( + request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct + > + ): void; + listProducts( + request: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct + > + ): void; listProducts( request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, optionsOrCallback?: @@ -2300,7 +2294,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProducts']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProducts.createStream( this.innerApiCalls.listProducts as gax.GaxCall, @@ -2334,11 +2329,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listProductsAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1p3beta1/product_search.list_products.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_ListProducts_async */ listProductsAsync( request?: protos.google.cloud.vision.v1p3beta1.IListProductsRequest, @@ -2352,8 +2344,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProducts']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProducts.asyncIterate( this.innerApiCalls['listProducts'] as GaxCall, @@ -2361,37 +2353,6 @@ export class ProductSearchClient { callSettings ) as AsyncIterable; } - listReferenceImages( - request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p3beta1.IReferenceImage[], - protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, - protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse - ] - >; - listReferenceImages( - request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, - | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse - | null - | undefined, - protos.google.cloud.vision.v1p3beta1.IReferenceImage - > - ): void; - listReferenceImages( - request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, - | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse - | null - | undefined, - protos.google.cloud.vision.v1p3beta1.IReferenceImage - > - ): void; /** * Lists reference images. * @@ -2428,6 +2389,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listReferenceImages( + request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p3beta1.IReferenceImage[], + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest | null, + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + ] + >; + listReferenceImages( + request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IReferenceImage + > + ): void; + listReferenceImages( + request: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p3beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IReferenceImage + > + ): void; listReferenceImages( request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, optionsOrCallback?: @@ -2512,7 +2504,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listReferenceImages']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listReferenceImages.createStream( this.innerApiCalls.listReferenceImages as gax.GaxCall, @@ -2549,11 +2542,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listReferenceImagesAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1p3beta1/product_search.list_reference_images.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_ListReferenceImages_async */ listReferenceImagesAsync( request?: protos.google.cloud.vision.v1p3beta1.IListReferenceImagesRequest, @@ -2567,8 +2557,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listReferenceImages']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listReferenceImages.asyncIterate( this.innerApiCalls['listReferenceImages'] as GaxCall, @@ -2576,37 +2566,6 @@ export class ProductSearchClient { callSettings ) as AsyncIterable; } - listProductsInProductSet( - request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p3beta1.IProduct[], - protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, - protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse - ] - >; - listProductsInProductSet( - request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, - | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse - | null - | undefined, - protos.google.cloud.vision.v1p3beta1.IProduct - > - ): void; - listProductsInProductSet( - request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, - | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse - | null - | undefined, - protos.google.cloud.vision.v1p3beta1.IProduct - > - ): void; /** * Lists the Products in a ProductSet, in an unspecified order. If the * ProductSet does not exist, the products field of the response will be @@ -2640,6 +2599,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listProductsInProductSet( + request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p3beta1.IProduct[], + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest | null, + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + ] + >; + listProductsInProductSet( + request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct + > + ): void; + listProductsInProductSet( + request: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p3beta1.IProduct + > + ): void; listProductsInProductSet( request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, optionsOrCallback?: @@ -2725,7 +2715,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ name: request.name || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductsInProductSet']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.createStream( this.innerApiCalls.listProductsInProductSet as gax.GaxCall, @@ -2759,11 +2750,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listProductsInProductSetAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1p3beta1/product_search.list_products_in_product_set.js + * region_tag:vision_v1p3beta1_generated_ProductSearch_ListProductsInProductSet_async */ listProductsInProductSetAsync( request?: protos.google.cloud.vision.v1p3beta1.IListProductsInProductSetRequest, @@ -2777,8 +2765,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ name: request.name || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductsInProductSet']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.asyncIterate( this.innerApiCalls['listProductsInProductSet'] as GaxCall, diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 8f1d9502531..c488f061f1f 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -360,6 +360,23 @@ export class ImageAnnotatorClient { // ------------------- // -- Service calls -- // ------------------- + /** + * Run image detection and annotation for a batch of images. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js + * region_tag:vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateImages_async + */ batchAnnotateImages( request?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, options?: CallOptions @@ -394,23 +411,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run image detection and annotation for a batch of images. - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. Individual image annotation requests for this batch. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateImagesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.batchAnnotateImages(request); - */ batchAnnotateImages( request?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateImagesRequest, optionsOrCallback?: @@ -448,9 +448,35 @@ export class ImageAnnotatorClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.batchAnnotateImages(request, options, callback); } + /** + * Service that performs image detection and annotation for a batch of files. + * Now only "application/pdf", "image/tiff" and "image/gif" are supported. + * + * This service will extract at most 5 (customers can specify which 5 in + * AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each + * file provided and perform detection and annotation for each image + * extracted. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. The list of file annotation requests. Right now we support only + * one AnnotateFileRequest in BatchAnnotateFilesRequest. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js + * region_tag:vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateFiles_async + */ batchAnnotateFiles( request?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, options?: CallOptions @@ -485,30 +511,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Service that performs image detection and annotation for a batch of files. - * Now only "application/pdf", "image/tiff" and "image/gif" are supported. - * - * This service will extract at most 5 (customers can specify which 5 in - * AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each - * file provided and perform detection and annotation for each image - * extracted. - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. The list of file annotation requests. Right now we support only - * one AnnotateFileRequest in BatchAnnotateFilesRequest. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [BatchAnnotateFilesResponse]{@link google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.batchAnnotateFiles(request); - */ batchAnnotateFiles( request?: protos.google.cloud.vision.v1p4beta1.IBatchAnnotateFilesRequest, optionsOrCallback?: @@ -546,10 +548,41 @@ export class ImageAnnotatorClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.batchAnnotateFiles(request, options, callback); } + /** + * Run asynchronous image detection and annotation for a list of images. + * + * Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). + * + * This service will write image annotation outputs to json files in customer + * GCS bucket, each json file containing BatchAnnotateImagesResponse proto. + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual image annotation requests for this batch. + * @param {google.cloud.vision.v1p4beta1.OutputConfig} request.outputConfig + * Required. The desired output location and metadata (e.g. format). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js + * region_tag:vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async + */ asyncBatchAnnotateImages( request?: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, options?: CallOptions @@ -586,36 +619,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run asynchronous image detection and annotation for a list of images. - * - * Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). - * - * This service will write image annotation outputs to json files in customer - * GCS bucket, each json file containing BatchAnnotateImagesResponse proto. - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. Individual image annotation requests for this batch. - * @param {google.cloud.vision.v1p4beta1.OutputConfig} request.outputConfig - * Required. The desired output location and metadata (e.g. format). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.asyncBatchAnnotateImages(request); - * const [response] = await operation.promise(); - */ asyncBatchAnnotateImages( request?: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateImagesRequest, optionsOrCallback?: @@ -655,6 +658,8 @@ export class ImageAnnotatorClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.asyncBatchAnnotateImages( request, @@ -671,11 +676,8 @@ export class ImageAnnotatorClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkAsyncBatchAnnotateImagesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js + * region_tag:vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async */ async checkAsyncBatchAnnotateImagesProgress( name: string @@ -699,6 +701,30 @@ export class ImageAnnotatorClient { protos.google.cloud.vision.v1p4beta1.OperationMetadata >; } + /** + * Run asynchronous image detection and annotation for a list of generic + * files, such as PDF files, which may contain multiple pages and multiple + * images per page. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. + * `Operation.metadata` contains `OperationMetadata` (metadata). + * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). + * + * @param {Object} request + * The request object that will be sent. + * @param {number[]} request.requests + * Required. Individual async file annotation requests for this batch. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js + * region_tag:vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async + */ asyncBatchAnnotateFiles( request?: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, options?: CallOptions @@ -735,31 +761,6 @@ export class ImageAnnotatorClient { {} | null | undefined > ): void; - /** - * Run asynchronous image detection and annotation for a list of generic - * files, such as PDF files, which may contain multiple pages and multiple - * images per page. Progress and results can be retrieved through the - * `google.longrunning.Operations` interface. - * `Operation.metadata` contains `OperationMetadata` (metadata). - * `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - * - * @param {Object} request - * The request object that will be sent. - * @param {number[]} request.requests - * Required. Individual async file annotation requests for this batch. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.asyncBatchAnnotateFiles(request); - * const [response] = await operation.promise(); - */ asyncBatchAnnotateFiles( request?: protos.google.cloud.vision.v1p4beta1.IAsyncBatchAnnotateFilesRequest, optionsOrCallback?: @@ -799,6 +800,8 @@ export class ImageAnnotatorClient { options = optionsOrCallback as CallOptions; } options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; this.initialize(); return this.innerApiCalls.asyncBatchAnnotateFiles( request, @@ -815,11 +818,8 @@ export class ImageAnnotatorClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkAsyncBatchAnnotateFilesProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js + * region_tag:vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async */ async checkAsyncBatchAnnotateFilesProgress( name: string diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 85ea4407ab9..0181d8401e6 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -418,6 +418,37 @@ export class ProductSearchClient { // ------------------- // -- Service calls -- // ------------------- + /** + * Creates and returns a new ProductSet resource. + * + * Possible errors: + * + * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than + * 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSet should be created. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p4beta1.ProductSet} request.productSet + * Required. The ProductSet to create. + * @param {string} request.productSetId + * A user-supplied resource id for this ProductSet. If set, the server will + * attempt to use this value as the resource id. If it is already in use, an + * error is returned with code ALREADY_EXISTS. Must be at most 128 characters + * long. It cannot contain the character `/`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.create_product_set.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_CreateProductSet_async + */ createProductSet( request?: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, options?: CallOptions @@ -449,37 +480,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Creates and returns a new ProductSet resource. - * - * Possible errors: - * - * * Returns INVALID_ARGUMENT if display_name is missing, or is longer than - * 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSet should be created. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {google.cloud.vision.v1p4beta1.ProductSet} request.productSet - * Required. The ProductSet to create. - * @param {string} request.productSetId - * A user-supplied resource id for this ProductSet. If set, the server will - * attempt to use this value as the resource id. If it is already in use, an - * error is returned with code ALREADY_EXISTS. Must be at most 128 characters - * long. It cannot contain the character `/`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.createProductSet(request); - */ createProductSet( request?: protos.google.cloud.vision.v1p4beta1.ICreateProductSetRequest, optionsOrCallback?: @@ -523,6 +523,30 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.createProductSet(request, options, callback); } + /** + * Gets information associated with a ProductSet. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.get_product_set.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_GetProductSet_async + */ getProductSet( request?: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, options?: CallOptions @@ -554,30 +578,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Gets information associated with a ProductSet. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getProductSet(request); - */ getProductSet( request?: protos.google.cloud.vision.v1p4beta1.IGetProductSetRequest, optionsOrCallback?: @@ -621,6 +621,35 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.getProductSet(request, options, callback); } + /** + * Makes changes to a ProductSet resource. + * Only display_name can be updated currently. + * + * Possible errors: + * + * * Returns NOT_FOUND if the ProductSet does not exist. + * * Returns INVALID_ARGUMENT if display_name is present in update_mask but + * missing from the request or longer than 4096 characters. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.vision.v1p4beta1.ProductSet} request.productSet + * Required. The ProductSet resource which replaces the one on the server. + * @param {google.protobuf.FieldMask} request.updateMask + * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields to + * update. + * If update_mask isn't specified, all mutable fields are to be updated. + * Valid mask path is `display_name`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.update_product_set.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_UpdateProductSet_async + */ updateProductSet( request?: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, options?: CallOptions @@ -652,35 +681,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Makes changes to a ProductSet resource. - * Only display_name can be updated currently. - * - * Possible errors: - * - * * Returns NOT_FOUND if the ProductSet does not exist. - * * Returns INVALID_ARGUMENT if display_name is present in update_mask but - * missing from the request or longer than 4096 characters. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.vision.v1p4beta1.ProductSet} request.productSet - * Required. The ProductSet resource which replaces the one on the server. - * @param {google.protobuf.FieldMask} request.updateMask - * The {@link google.protobuf.FieldMask|FieldMask} that specifies which fields to - * update. - * If update_mask isn't specified, all mutable fields are to be updated. - * Valid mask path is `display_name`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [ProductSet]{@link google.cloud.vision.v1p4beta1.ProductSet}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.updateProductSet(request); - */ updateProductSet( request?: protos.google.cloud.vision.v1p4beta1.IUpdateProductSetRequest, optionsOrCallback?: @@ -724,6 +724,29 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.updateProductSet(request, options, callback); } + /** + * Permanently deletes a ProductSet. Products and ReferenceImages in the + * ProductSet are not deleted. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the ProductSet to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.delete_product_set.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_DeleteProductSet_async + */ deleteProductSet( request?: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, options?: CallOptions @@ -755,29 +778,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Permanently deletes a ProductSet. Products and ReferenceImages in the - * ProductSet are not deleted. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the ProductSet to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.deleteProductSet(request); - */ deleteProductSet( request?: protos.google.cloud.vision.v1p4beta1.IDeleteProductSetRequest, optionsOrCallback?: @@ -821,37 +821,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.deleteProductSet(request, options, callback); } - createProduct( - request?: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p4beta1.IProduct, - protos.google.cloud.vision.v1p4beta1.ICreateProductRequest | undefined, - {} | undefined - ] - >; - createProduct( - request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1p4beta1.IProduct, - | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest - | null - | undefined, - {} | null | undefined - > - ): void; - createProduct( - request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, - callback: Callback< - protos.google.cloud.vision.v1p4beta1.IProduct, - | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest - | null - | undefined, - {} | null | undefined - > - ): void; /** * Creates and returns a new product resource. * @@ -883,9 +852,40 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.createProduct(request); + * @example include:samples/generated/v1p4beta1/product_search.create_product.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_CreateProduct_async */ + createProduct( + request?: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p4beta1.IProduct, + protos.google.cloud.vision.v1p4beta1.ICreateProductRequest | undefined, + {} | undefined + ] + >; + createProduct( + request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; + createProduct( + request: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.ICreateProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; createProduct( request?: protos.google.cloud.vision.v1p4beta1.ICreateProductRequest, optionsOrCallback?: @@ -929,6 +929,30 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.createProduct(request, options, callback); } + /** + * Gets information associated with a Product. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product does not exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the Product to get. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.get_product.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_GetProduct_async + */ getProduct( request?: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, options?: CallOptions @@ -960,30 +984,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Gets information associated with a Product. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product does not exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the Product to get. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Product]{@link google.cloud.vision.v1p4beta1.Product}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.getProduct(request); - */ getProduct( request?: protos.google.cloud.vision.v1p4beta1.IGetProductRequest, optionsOrCallback?: @@ -1014,50 +1014,19 @@ export class ProductSearchClient { if (typeof optionsOrCallback === 'function' && callback === undefined) { callback = optionsOrCallback; options = {}; - } else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ - name: request.name || '', - }); - this.initialize(); - return this.innerApiCalls.getProduct(request, options, callback); - } - updateProduct( - request?: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p4beta1.IProduct, - protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest | undefined, - {} | undefined - ] - >; - updateProduct( - request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1p4beta1.IProduct, - | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest - | null - | undefined, - {} | null | undefined - > - ): void; - updateProduct( - request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, - callback: Callback< - protos.google.cloud.vision.v1p4beta1.IProduct, - | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest - | null - | undefined, - {} | null | undefined - > - ): void; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + gax.routingHeader.fromParams({ + name: request.name || '', + }); + this.initialize(); + return this.innerApiCalls.getProduct(request, options, callback); + } /** * Makes changes to a Product resource. * Only the `display_name`, `description`, and `labels` fields can be updated @@ -1093,9 +1062,40 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.updateProduct(request); + * @example include:samples/generated/v1p4beta1/product_search.update_product.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_UpdateProduct_async */ + updateProduct( + request?: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p4beta1.IProduct, + protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest | undefined, + {} | undefined + ] + >; + updateProduct( + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; + updateProduct( + request: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IProduct, + | protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest + | null + | undefined, + {} | null | undefined + > + ): void; updateProduct( request?: protos.google.cloud.vision.v1p4beta1.IUpdateProductRequest, optionsOrCallback?: @@ -1139,6 +1139,30 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.updateProduct(request, options, callback); } + /** + * Permanently deletes a product and its reference images. + * + * Metadata of the product and all its images will be deleted right away, but + * search queries against ProductSets containing the product may still work + * until all related caches are refreshed. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of product to delete. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.delete_product.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_DeleteProduct_async + */ deleteProduct( request?: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, options?: CallOptions @@ -1170,30 +1194,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Permanently deletes a product and its reference images. - * - * Metadata of the product and all its images will be deleted right away, but - * search queries against ProductSets containing the product may still work - * until all related caches are refreshed. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of product to delete. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.deleteProduct(request); - */ deleteProduct( request?: protos.google.cloud.vision.v1p4beta1.IDeleteProductRequest, optionsOrCallback?: @@ -1237,40 +1237,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.deleteProduct(request, options, callback); } - createReferenceImage( - request?: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p4beta1.IReferenceImage, - ( - | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest - | undefined - ), - {} | undefined - ] - >; - createReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1p4beta1.IReferenceImage, - | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest - | null - | undefined, - {} | null | undefined - > - ): void; - createReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, - callback: Callback< - protos.google.cloud.vision.v1p4beta1.IReferenceImage, - | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest - | null - | undefined, - {} | null | undefined - > - ): void; /** * Creates and returns a new ReferenceImage resource. * @@ -1315,9 +1281,43 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.createReferenceImage(request); + * @example include:samples/generated/v1p4beta1/product_search.create_reference_image.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_CreateReferenceImage_async */ + createReferenceImage( + request?: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + ( + | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + createReferenceImage( + request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | null + | undefined, + {} | null | undefined + > + ): void; + createReferenceImage( + request: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest + | null + | undefined, + {} | null | undefined + > + ): void; createReferenceImage( request?: protos.google.cloud.vision.v1p4beta1.ICreateReferenceImageRequest, optionsOrCallback?: @@ -1364,6 +1364,33 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.createReferenceImage(request, options, callback); } + /** + * Permanently deletes a reference image. + * + * The image metadata will be deleted right away, but search queries + * against ProductSets containing the image may still work until all related + * caches are refreshed. + * + * The actual image files are not deleted from Google Cloud Storage. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name of the reference image to delete. + * + * Format is: + * + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.delete_reference_image.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_DeleteReferenceImage_async + */ deleteReferenceImage( request?: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, options?: CallOptions @@ -1398,33 +1425,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Permanently deletes a reference image. - * - * The image metadata will be deleted right away, but search queries - * against ProductSets containing the image may still work until all related - * caches are refreshed. - * - * The actual image files are not deleted from Google Cloud Storage. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name of the reference image to delete. - * - * Format is: - * - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.deleteReferenceImage(request); - */ deleteReferenceImage( request?: protos.google.cloud.vision.v1p4beta1.IDeleteReferenceImageRequest, optionsOrCallback?: @@ -1471,40 +1471,6 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.deleteReferenceImage(request, options, callback); } - getReferenceImage( - request?: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p4beta1.IReferenceImage, - ( - | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest - | undefined - ), - {} | undefined - ] - >; - getReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.vision.v1p4beta1.IReferenceImage, - | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest - | null - | undefined, - {} | null | undefined - > - ): void; - getReferenceImage( - request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, - callback: Callback< - protos.google.cloud.vision.v1p4beta1.IReferenceImage, - | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest - | null - | undefined, - {} | null | undefined - > - ): void; /** * Gets information associated with a ReferenceImage. * @@ -1527,9 +1493,43 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) * for more details and examples. - * @example - * const [response] = await client.getReferenceImage(request); + * @example include:samples/generated/v1p4beta1/product_search.get_reference_image.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_GetReferenceImage_async */ + getReferenceImage( + request?: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + ( + | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | undefined + ), + {} | undefined + ] + >; + getReferenceImage( + request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getReferenceImage( + request: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, + callback: Callback< + protos.google.cloud.vision.v1p4beta1.IReferenceImage, + | protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest + | null + | undefined, + {} | null | undefined + > + ): void; getReferenceImage( request?: protos.google.cloud.vision.v1p4beta1.IGetReferenceImageRequest, optionsOrCallback?: @@ -1576,6 +1576,38 @@ export class ProductSearchClient { this.initialize(); return this.innerApiCalls.getReferenceImage(request, options, callback); } + /** + * Adds a Product to the specified ProductSet. If the Product is already + * present, no change is made. + * + * One Product can be added to at most 100 ProductSets. + * + * Possible errors: + * + * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be added to this ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.add_product_to_product_set.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_AddProductToProductSet_async + */ addProductToProductSet( request?: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, options?: CallOptions @@ -1610,38 +1642,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Adds a Product to the specified ProductSet. If the Product is already - * present, no change is made. - * - * One Product can be added to at most 100 ProductSets. - * - * Possible errors: - * - * * Returns NOT_FOUND if the Product or the ProductSet doesn't exist. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be added to this ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.addProductToProductSet(request); - */ addProductToProductSet( request?: protos.google.cloud.vision.v1p4beta1.IAddProductToProductSetRequest, optionsOrCallback?: @@ -1692,6 +1692,32 @@ export class ProductSearchClient { callback ); } + /** + * Removes a Product from the specified ProductSet. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The resource name for the ProductSet to modify. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * @param {string} request.product + * Required. The resource name for the Product to be removed from this + * ProductSet. + * + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_RemoveProductFromProductSet_async + */ removeProductFromProductSet( request?: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, options?: CallOptions @@ -1726,32 +1752,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Removes a Product from the specified ProductSet. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. The resource name for the ProductSet to modify. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - * @param {string} request.product - * Required. The resource name for the Product to be removed from this - * ProductSet. - * - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example - * const [response] = await client.removeProductFromProductSet(request); - */ removeProductFromProductSet( request?: protos.google.cloud.vision.v1p4beta1.IRemoveProductFromProductSetRequest, optionsOrCallback?: @@ -1803,6 +1803,39 @@ export class ProductSearchClient { ); } + /** + * Asynchronous API that imports a list of reference images to specified + * product sets based on a list of image information. + * + * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be + * used to keep track of the progress and results of the request. + * `Operation.metadata` contains `BatchOperationMetadata`. (progress) + * `Operation.response` contains `ImportProductSetsResponse`. (results) + * + * The input source of this method is a csv file on Google Cloud Storage. + * For the format of the csv file please see + * {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri|ImportProductSetsGcsSource.csv_file_uri}. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project in which the ProductSets should be imported. + * + * Format is `projects/PROJECT_ID/locations/LOC_ID`. + * @param {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} request.inputConfig + * Required. The input content for the list of requests. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1p4beta1/product_search.import_product_sets.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_ImportProductSets_async + */ importProductSets( request?: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, options?: CallOptions @@ -1839,40 +1872,6 @@ export class ProductSearchClient { {} | null | undefined > ): void; - /** - * Asynchronous API that imports a list of reference images to specified - * product sets based on a list of image information. - * - * The {@link google.longrunning.Operation|google.longrunning.Operation} API can be - * used to keep track of the progress and results of the request. - * `Operation.metadata` contains `BatchOperationMetadata`. (progress) - * `Operation.response` contains `ImportProductSetsResponse`. (results) - * - * The input source of this method is a csv file on Google Cloud Storage. - * For the format of the csv file please see - * {@link google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri|ImportProductSetsGcsSource.csv_file_uri}. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. The project in which the ProductSets should be imported. - * - * Format is `projects/PROJECT_ID/locations/LOC_ID`. - * @param {google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig} request.inputConfig - * Required. The input content for the list of requests. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing - * a long running operation. Its `promise()` method returns a promise - * you can `await` for. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) - * for more details and examples. - * @example - * const [operation] = await client.importProductSets(request); - * const [response] = await operation.promise(); - */ importProductSets( request?: protos.google.cloud.vision.v1p4beta1.IImportProductSetsRequest, optionsOrCallback?: @@ -1930,11 +1929,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkImportProductSetsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p4beta1/product_search.import_product_sets.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_ImportProductSets_async */ async checkImportProductSetsProgress( name: string @@ -1958,42 +1954,6 @@ export class ProductSearchClient { protos.google.cloud.vision.v1p4beta1.BatchOperationMetadata >; } - purgeProducts( - request?: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, - options?: CallOptions - ): Promise< - [ - LROperation< - protos.google.protobuf.IEmpty, - protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata - >, - protos.google.longrunning.IOperation | undefined, - {} | undefined - ] - >; - purgeProducts( - request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, - options: CallOptions, - callback: Callback< - LROperation< - protos.google.protobuf.IEmpty, - protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; - purgeProducts( - request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, - callback: Callback< - LROperation< - protos.google.protobuf.IEmpty, - protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata - >, - protos.google.longrunning.IOperation | null | undefined, - {} | null | undefined - > - ): void; /** * Asynchronous API to delete all Products in a ProductSet or all Products * that are in no ProductSet. @@ -2043,10 +2003,45 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const [operation] = await client.purgeProducts(request); - * const [response] = await operation.promise(); + * @example include:samples/generated/v1p4beta1/product_search.purge_products.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_PurgeProducts_async */ + purgeProducts( + request?: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + purgeProducts( + request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + purgeProducts( + request: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.vision.v1p4beta1.IBatchOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; purgeProducts( request?: protos.google.cloud.vision.v1p4beta1.IPurgeProductsRequest, optionsOrCallback?: @@ -2104,11 +2099,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) * for more details and examples. - * @example - * const decodedOperation = await checkPurgeProductsProgress(name); - * console.log(decodedOperation.result); - * console.log(decodedOperation.done); - * console.log(decodedOperation.metadata); + * @example include:samples/generated/v1p4beta1/product_search.purge_products.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_PurgeProducts_async */ async checkPurgeProductsProgress( name: string @@ -2132,37 +2124,6 @@ export class ProductSearchClient { protos.google.cloud.vision.v1p4beta1.BatchOperationMetadata >; } - listProductSets( - request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p4beta1.IProductSet[], - protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, - protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse - ] - >; - listProductSets( - request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, - | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse - | null - | undefined, - protos.google.cloud.vision.v1p4beta1.IProductSet - > - ): void; - listProductSets( - request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, - | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse - | null - | undefined, - protos.google.cloud.vision.v1p4beta1.IProductSet - > - ): void; /** * Lists ProductSets in an unspecified order. * @@ -2194,6 +2155,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listProductSets( + request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p4beta1.IProductSet[], + protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest | null, + protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse + ] + >; + listProductSets( + request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProductSet + > + ): void; + listProductSets( + request: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductSetsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProductSet + > + ): void; listProductSets( request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, optionsOrCallback?: @@ -2274,7 +2266,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductSets']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductSets.createStream( this.innerApiCalls.listProductSets as gax.GaxCall, @@ -2307,11 +2300,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listProductSetsAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1p4beta1/product_search.list_product_sets.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_ListProductSets_async */ listProductSetsAsync( request?: protos.google.cloud.vision.v1p4beta1.IListProductSetsRequest, @@ -2325,8 +2315,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductSets']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductSets.asyncIterate( this.innerApiCalls['listProductSets'] as GaxCall, @@ -2334,37 +2324,6 @@ export class ProductSearchClient { callSettings ) as AsyncIterable; } - listProducts( - request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p4beta1.IProduct[], - protos.google.cloud.vision.v1p4beta1.IListProductsRequest | null, - protos.google.cloud.vision.v1p4beta1.IListProductsResponse - ] - >; - listProducts( - request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1p4beta1.IListProductsRequest, - | protos.google.cloud.vision.v1p4beta1.IListProductsResponse - | null - | undefined, - protos.google.cloud.vision.v1p4beta1.IProduct - > - ): void; - listProducts( - request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1p4beta1.IListProductsRequest, - | protos.google.cloud.vision.v1p4beta1.IListProductsResponse - | null - | undefined, - protos.google.cloud.vision.v1p4beta1.IProduct - > - ): void; /** * Lists products in an unspecified order. * @@ -2396,6 +2355,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listProducts( + request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p4beta1.IProduct[], + protos.google.cloud.vision.v1p4beta1.IListProductsRequest | null, + protos.google.cloud.vision.v1p4beta1.IListProductsResponse + ] + >; + listProducts( + request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct + > + ): void; + listProducts( + request: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct + > + ): void; listProducts( request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, optionsOrCallback?: @@ -2477,7 +2467,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProducts']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProducts.createStream( this.innerApiCalls.listProducts as gax.GaxCall, @@ -2511,11 +2502,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listProductsAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1p4beta1/product_search.list_products.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_ListProducts_async */ listProductsAsync( request?: protos.google.cloud.vision.v1p4beta1.IListProductsRequest, @@ -2529,8 +2517,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProducts']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProducts.asyncIterate( this.innerApiCalls['listProducts'] as GaxCall, @@ -2538,37 +2526,6 @@ export class ProductSearchClient { callSettings ) as AsyncIterable; } - listReferenceImages( - request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p4beta1.IReferenceImage[], - protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, - protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse - ] - >; - listReferenceImages( - request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, - | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse - | null - | undefined, - protos.google.cloud.vision.v1p4beta1.IReferenceImage - > - ): void; - listReferenceImages( - request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, - | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse - | null - | undefined, - protos.google.cloud.vision.v1p4beta1.IReferenceImage - > - ): void; /** * Lists reference images. * @@ -2605,6 +2562,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listReferenceImages( + request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p4beta1.IReferenceImage[], + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest | null, + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + ] + >; + listReferenceImages( + request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IReferenceImage + > + ): void; + listReferenceImages( + request: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, + | protos.google.cloud.vision.v1p4beta1.IListReferenceImagesResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IReferenceImage + > + ): void; listReferenceImages( request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, optionsOrCallback?: @@ -2689,7 +2677,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listReferenceImages']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listReferenceImages.createStream( this.innerApiCalls.listReferenceImages as gax.GaxCall, @@ -2726,11 +2715,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listReferenceImagesAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1p4beta1/product_search.list_reference_images.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_ListReferenceImages_async */ listReferenceImagesAsync( request?: protos.google.cloud.vision.v1p4beta1.IListReferenceImagesRequest, @@ -2744,8 +2730,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ parent: request.parent || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listReferenceImages']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listReferenceImages.asyncIterate( this.innerApiCalls['listReferenceImages'] as GaxCall, @@ -2753,37 +2739,6 @@ export class ProductSearchClient { callSettings ) as AsyncIterable; } - listProductsInProductSet( - request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, - options?: CallOptions - ): Promise< - [ - protos.google.cloud.vision.v1p4beta1.IProduct[], - protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, - protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse - ] - >; - listProductsInProductSet( - request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, - | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse - | null - | undefined, - protos.google.cloud.vision.v1p4beta1.IProduct - > - ): void; - listProductsInProductSet( - request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, - callback: PaginationCallback< - protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, - | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse - | null - | undefined, - protos.google.cloud.vision.v1p4beta1.IProduct - > - ): void; /** * Lists the Products in a ProductSet, in an unspecified order. If the * ProductSet does not exist, the products field of the response will be @@ -2817,6 +2772,37 @@ export class ProductSearchClient { * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. */ + listProductsInProductSet( + request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.vision.v1p4beta1.IProduct[], + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest | null, + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + ] + >; + listProductsInProductSet( + request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct + > + ): void; + listProductsInProductSet( + request: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + callback: PaginationCallback< + protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, + | protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetResponse + | null + | undefined, + protos.google.cloud.vision.v1p4beta1.IProduct + > + ): void; listProductsInProductSet( request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, optionsOrCallback?: @@ -2902,7 +2888,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ name: request.name || '', }); - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductsInProductSet']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.createStream( this.innerApiCalls.listProductsInProductSet as gax.GaxCall, @@ -2936,11 +2923,8 @@ export class ProductSearchClient { * Please see the * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) * for more details and examples. - * @example - * const iterable = client.listProductsInProductSetAsync(request); - * for await (const response of iterable) { - * // process response - * } + * @example include:samples/generated/v1p4beta1/product_search.list_products_in_product_set.js + * region_tag:vision_v1p4beta1_generated_ProductSearch_ListProductsInProductSet_async */ listProductsInProductSetAsync( request?: protos.google.cloud.vision.v1p4beta1.IListProductsInProductSetRequest, @@ -2954,8 +2938,8 @@ export class ProductSearchClient { gax.routingHeader.fromParams({ name: request.name || '', }); - options = options || {}; - const callSettings = new gax.CallSettings(options); + const defaultCallSettings = this._defaults['listProductsInProductSet']; + const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.asyncIterate( this.innerApiCalls['listProductsInProductSet'] as GaxCall, diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index c4ad04f51bd..768aa5dfb17 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -142,7 +142,7 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse() ); @@ -166,7 +166,7 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse() ); @@ -205,7 +205,7 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateImages = stubSimpleCall( undefined, diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index 5f8b040faa7..0ddc97c5ca7 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -174,7 +174,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse() ); @@ -198,7 +198,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse() ); @@ -237,7 +237,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateImages = stubSimpleCall( undefined, @@ -262,7 +262,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -287,7 +287,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -333,7 +333,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -359,7 +359,7 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index 7b489b9e0b0..9ac00c78a88 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -174,7 +174,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse() ); @@ -198,7 +198,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse() ); @@ -237,7 +237,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateImages = stubSimpleCall( undefined, @@ -262,7 +262,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -287,7 +287,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -333,7 +333,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -359,7 +359,7 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index 5968264f359..32f159a7782 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -174,7 +174,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse() ); @@ -198,7 +198,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse() ); @@ -237,7 +237,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateImages = stubSimpleCall( undefined, @@ -262,7 +262,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse() ); @@ -286,7 +286,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse() ); @@ -325,7 +325,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateFiles = stubSimpleCall( undefined, @@ -350,7 +350,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -375,7 +375,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -421,7 +421,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( undefined, @@ -447,7 +447,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( undefined, @@ -516,7 +516,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -541,7 +541,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -587,7 +587,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -613,7 +613,7 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {}; + const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, From 6e3d7fc176a569ade88d41463531246e87ff5351 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 9 Dec 2021 23:00:24 +0000 Subject: [PATCH 526/588] build: add generated samples to .eslintignore (#968) --- packages/google-cloud-vision/.eslintignore | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-vision/.eslintignore b/packages/google-cloud-vision/.eslintignore index 9340ad9b86d..ea5b04aebe6 100644 --- a/packages/google-cloud-vision/.eslintignore +++ b/packages/google-cloud-vision/.eslintignore @@ -4,3 +4,4 @@ test/fixtures build/ docs/ protos/ +samples/generated/ From 411d0679ed77315825339cde397dff45192a24bf Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 14 Dec 2021 23:47:54 +0100 Subject: [PATCH 527/588] fix(deps): update dependency redis to v4 (#966) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a15b346d2e3..606f1321330 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -16,7 +16,7 @@ "@google-cloud/vision": "^2.4.0", "natural": "^5.0.0", "pureimage": "^0.3.0", - "redis": "^3.0.0", + "redis": "^4.0.0", "yargs": "^16.0.0" }, "devDependencies": { From 239eb4d084bb42ad4f86153c480136a2dd16a93d Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 14 Dec 2021 22:54:11 +0000 Subject: [PATCH 528/588] chore: release 2.4.1 (#969) :robot: I have created a release \*beep\* \*boop\* --- ### [2.4.1](https://www.github.com/googleapis/nodejs-vision/compare/v2.4.0...v2.4.1) (2021-12-14) ### Bug Fixes * comment about gcsUri ([#967](https://www.github.com/googleapis/nodejs-vision/issues/967)) ([abc4044](https://www.github.com/googleapis/nodejs-vision/commit/abc4044dc972746292dad107009bc67223b88f86)) * **deps:** update dependency redis to v4 ([#966](https://www.github.com/googleapis/nodejs-vision/issues/966)) ([1584e4e](https://www.github.com/googleapis/nodejs-vision/commit/1584e4e65f56f66a968472f6b7dabf23393dc3f4)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-vision/CHANGELOG.md | 8 ++++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index e538486febb..e8486d9938a 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,14 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.4.1](https://www.github.com/googleapis/nodejs-vision/compare/v2.4.0...v2.4.1) (2021-12-14) + + +### Bug Fixes + +* comment about gcsUri ([#967](https://www.github.com/googleapis/nodejs-vision/issues/967)) ([abc4044](https://www.github.com/googleapis/nodejs-vision/commit/abc4044dc972746292dad107009bc67223b88f86)) +* **deps:** update dependency redis to v4 ([#966](https://www.github.com/googleapis/nodejs-vision/issues/966)) ([1584e4e](https://www.github.com/googleapis/nodejs-vision/commit/1584e4e65f56f66a968472f6b7dabf23393dc3f4)) + ## [2.4.0](https://www.github.com/googleapis/nodejs-vision/compare/v2.3.8...v2.4.0) (2021-09-09) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 4fcc475b389..3d4bd45e767 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.4.0", + "version": "2.4.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 606f1321330..c5492ef3bfe 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.4.0", + "@google-cloud/vision": "^2.4.1", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "^4.0.0", From 854b04ef48a32777680da74230f20d6f7d55dcb4 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 29 Dec 2021 19:50:20 +0000 Subject: [PATCH 529/588] docs(node): support "stable"/"preview" release level (#1312) (#974) --- packages/google-cloud-vision/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index e937a943818..497c6425f5f 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -136,6 +136,8 @@ are addressed with the highest priority. + + More Information: [Google Cloud Platform Launch Stages][launch_stages] [launch_stages]: https://cloud.google.com/terms/launch-stages From 088217021d6826a9e8af9c982f48fbc8758e1f5e Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 30 Dec 2021 23:14:12 +0000 Subject: [PATCH 530/588] docs(badges): tweak badge to use new preview/stable language (#1314) (#975) --- packages/google-cloud-vision/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 497c6425f5f..0fa91e2a81e 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -6,7 +6,6 @@ [![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages) [![npm version](https://img.shields.io/npm/v/@google-cloud/vision.svg)](https://www.npmjs.org/package/@google-cloud/vision) -[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-vision/main.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-vision) From 44537899e015bced265eb9595fcca9f49ad9cf0a Mon Sep 17 00:00:00 2001 From: Gal Zahavi <38544478+galz10@users.noreply.github.com> Date: Thu, 6 Jan 2022 14:17:11 -0800 Subject: [PATCH 531/588] fix: add types to package.json (#977) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: add types to package.json * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- packages/google-cloud-vision/package.json | 1 + packages/google-cloud-vision/protos/protos.d.ts | 2 +- packages/google-cloud-vision/protos/protos.js | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 3d4bd45e767..baac7652da7 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -9,6 +9,7 @@ }, "repository": "googleapis/nodejs-vision", "main": "build/src/index.js", + "types": "build/src/index.d.ts", "files": [ "build/protos", "build/src" diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index bd9c2709382..a686870aea5 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 2b5332bf319..779ee50718b 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. From c3a6b1de53f5d41f311e9ae94af8f9227bf09495 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 6 Jan 2022 22:24:16 +0000 Subject: [PATCH 532/588] chore: release 2.4.2 (#978) :robot: I have created a release \*beep\* \*boop\* --- ### [2.4.2](https://www.github.com/googleapis/nodejs-vision/compare/v2.4.1...v2.4.2) (2022-01-06) ### Bug Fixes * add types to package.json ([#977](https://www.github.com/googleapis/nodejs-vision/issues/977)) ([1cd056b](https://www.github.com/googleapis/nodejs-vision/commit/1cd056b97c851eac1726610c85193ddc85cbddb7)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index e8486d9938a..2d82e29a716 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +### [2.4.2](https://www.github.com/googleapis/nodejs-vision/compare/v2.4.1...v2.4.2) (2022-01-06) + + +### Bug Fixes + +* add types to package.json ([#977](https://www.github.com/googleapis/nodejs-vision/issues/977)) ([1cd056b](https://www.github.com/googleapis/nodejs-vision/commit/1cd056b97c851eac1726610c85193ddc85cbddb7)) + ### [2.4.1](https://www.github.com/googleapis/nodejs-vision/compare/v2.4.0...v2.4.1) (2021-12-14) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index baac7652da7..b8e7a892327 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.4.1", + "version": "2.4.2", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index c5492ef3bfe..569020d6fe1 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.4.1", + "@google-cloud/vision": "^2.4.2", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "^4.0.0", From 54dc9d5d65639d841f129764d4ebad9e353eb582 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Wed, 12 Jan 2022 12:49:36 -0500 Subject: [PATCH 533/588] chore: add api_shortname and library_type to repo metadata (#973) --- packages/google-cloud-vision/.repo-metadata.json | 6 ++++-- packages/google-cloud-vision/README.md | 9 ++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/.repo-metadata.json b/packages/google-cloud-vision/.repo-metadata.json index 4771d2a94de..38f7a6c801f 100644 --- a/packages/google-cloud-vision/.repo-metadata.json +++ b/packages/google-cloud-vision/.repo-metadata.json @@ -5,11 +5,13 @@ "api_id": "vision.googleapis.com", "client_documentation": "https://cloud.google.com/nodejs/docs/reference/vision/latest", "repo": "googleapis/nodejs-vision", - "release_level": "ga", + "release_level": "stable", "requires_billing": true, "name_pretty": "Google Cloud Vision API", "name": "vision", "codeowner_team": "@googleapis/ml-apis", "default_version": "v1p4beta1", - "language": "nodejs" + "language": "nodejs", + "api_shortname": "vision", + "library_type": "GAPIC_COMBO" } diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 0fa91e2a81e..24534d5ff8c 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -4,7 +4,7 @@ # [Google Cloud Vision API: Node.js Client](https://github.com/googleapis/nodejs-vision) -[![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages) +[![release level](https://img.shields.io/badge/release%20level-stable-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages) [![npm version](https://img.shields.io/npm/v/@google-cloud/vision.svg)](https://www.npmjs.org/package/@google-cloud/vision) @@ -125,10 +125,10 @@ _Legacy Node.js versions are supported as a best effort:_ This library follows [Semantic Versioning](http://semver.org/). -This library is considered to be **General Availability (GA)**. This means it -is stable; the code surface will not change in backwards-incompatible ways + +This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with -an extensive deprecation period. Issues and requests against **GA** libraries +an extensive deprecation period. Issues and requests against **stable** libraries are addressed with the highest priority. @@ -136,7 +136,6 @@ are addressed with the highest priority. - More Information: [Google Cloud Platform Launch Stages][launch_stages] [launch_stages]: https://cloud.google.com/terms/launch-stages From 8f9cce89717fa17365b81435988277e5d81fc450 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 26 Jan 2022 19:54:19 +0000 Subject: [PATCH 534/588] chore: update v2.12.0 gapic-generator-typescript (#984) - [ ] Regenerate this pull request now. Committer: @summer-ji-eng PiperOrigin-RevId: 424244721 Source-Link: https://github.com/googleapis/googleapis/commit/4b6b01f507ebc3df95fdf8e1d76b0ae0ae33e52c Source-Link: https://github.com/googleapis/googleapis-gen/commit/8ac83fba606d008c7e8a42e7d55b6596ec4be35f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOGFjODNmYmE2MDZkMDA4YzdlOGE0MmU3ZDU1YjY1OTZlYzRiZTM1ZiJ9 --- packages/google-cloud-vision/.jsdoc.js | 4 ++-- packages/google-cloud-vision/linkinator.config.json | 10 ++++++++-- .../v1/image_annotator.async_batch_annotate_files.js | 1 + .../v1/image_annotator.async_batch_annotate_images.js | 1 + .../v1/image_annotator.batch_annotate_files.js | 1 + .../v1/image_annotator.batch_annotate_images.js | 1 + .../v1/product_search.add_product_to_product_set.js | 1 + .../generated/v1/product_search.create_product.js | 1 + .../generated/v1/product_search.create_product_set.js | 1 + .../v1/product_search.create_reference_image.js | 1 + .../generated/v1/product_search.delete_product.js | 1 + .../generated/v1/product_search.delete_product_set.js | 1 + .../v1/product_search.delete_reference_image.js | 1 + .../samples/generated/v1/product_search.get_product.js | 1 + .../generated/v1/product_search.get_product_set.js | 1 + .../generated/v1/product_search.get_reference_image.js | 1 + .../generated/v1/product_search.import_product_sets.js | 1 + .../generated/v1/product_search.list_product_sets.js | 3 ++- .../generated/v1/product_search.list_products.js | 3 ++- .../v1/product_search.list_products_in_product_set.js | 3 ++- .../v1/product_search.list_reference_images.js | 3 ++- .../generated/v1/product_search.purge_products.js | 1 + .../product_search.remove_product_from_product_set.js | 1 + .../generated/v1/product_search.update_product.js | 1 + .../generated/v1/product_search.update_product_set.js | 1 + .../v1p1beta1/image_annotator.batch_annotate_images.js | 1 + .../image_annotator.async_batch_annotate_files.js | 1 + .../v1p2beta1/image_annotator.batch_annotate_images.js | 1 + .../image_annotator.async_batch_annotate_files.js | 1 + .../v1p3beta1/image_annotator.batch_annotate_images.js | 4 +++- .../product_search.add_product_to_product_set.js | 1 + .../v1p3beta1/product_search.create_product.js | 1 + .../v1p3beta1/product_search.create_product_set.js | 1 + .../v1p3beta1/product_search.create_reference_image.js | 1 + .../v1p3beta1/product_search.delete_product.js | 1 + .../v1p3beta1/product_search.delete_product_set.js | 1 + .../v1p3beta1/product_search.delete_reference_image.js | 1 + .../generated/v1p3beta1/product_search.get_product.js | 1 + .../v1p3beta1/product_search.get_product_set.js | 1 + .../v1p3beta1/product_search.get_reference_image.js | 1 + .../v1p3beta1/product_search.import_product_sets.js | 1 + .../v1p3beta1/product_search.list_product_sets.js | 3 ++- .../v1p3beta1/product_search.list_products.js | 3 ++- .../product_search.list_products_in_product_set.js | 3 ++- .../v1p3beta1/product_search.list_reference_images.js | 3 ++- .../product_search.remove_product_from_product_set.js | 1 + .../v1p3beta1/product_search.update_product.js | 1 + .../v1p3beta1/product_search.update_product_set.js | 1 + .../image_annotator.async_batch_annotate_files.js | 1 + .../image_annotator.async_batch_annotate_images.js | 1 + .../v1p4beta1/image_annotator.batch_annotate_files.js | 1 + .../v1p4beta1/image_annotator.batch_annotate_images.js | 1 + .../product_search.add_product_to_product_set.js | 1 + .../v1p4beta1/product_search.create_product.js | 1 + .../v1p4beta1/product_search.create_product_set.js | 1 + .../v1p4beta1/product_search.create_reference_image.js | 1 + .../v1p4beta1/product_search.delete_product.js | 1 + .../v1p4beta1/product_search.delete_product_set.js | 1 + .../v1p4beta1/product_search.delete_reference_image.js | 1 + .../generated/v1p4beta1/product_search.get_product.js | 1 + .../v1p4beta1/product_search.get_product_set.js | 1 + .../v1p4beta1/product_search.get_reference_image.js | 1 + .../v1p4beta1/product_search.import_product_sets.js | 1 + .../v1p4beta1/product_search.list_product_sets.js | 3 ++- .../v1p4beta1/product_search.list_products.js | 3 ++- .../product_search.list_products_in_product_set.js | 3 ++- .../v1p4beta1/product_search.list_reference_images.js | 3 ++- .../v1p4beta1/product_search.purge_products.js | 1 + .../product_search.remove_product_from_product_set.js | 1 + .../v1p4beta1/product_search.update_product.js | 1 + .../v1p4beta1/product_search.update_product_set.js | 1 + .../src/v1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1/index.ts | 2 +- .../src/v1/product_search_client.ts | 2 +- .../src/v1p1beta1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1p1beta1/index.ts | 2 +- .../src/v1p2beta1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1p2beta1/index.ts | 2 +- .../src/v1p3beta1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1p3beta1/index.ts | 2 +- .../src/v1p3beta1/product_search_client.ts | 2 +- .../src/v1p4beta1/image_annotator_client.ts | 2 +- packages/google-cloud-vision/src/v1p4beta1/index.ts | 2 +- .../src/v1p4beta1/product_search_client.ts | 2 +- .../system-test/fixtures/sample/src/index.js | 2 +- .../system-test/fixtures/sample/src/index.ts | 2 +- packages/google-cloud-vision/system-test/install.ts | 2 +- .../test/gapic_image_annotator_v1.ts | 2 +- .../test/gapic_image_annotator_v1p1beta1.ts | 2 +- .../test/gapic_image_annotator_v1p2beta1.ts | 2 +- .../test/gapic_image_annotator_v1p3beta1.ts | 2 +- .../test/gapic_image_annotator_v1p4beta1.ts | 2 +- .../test/gapic_product_search_v1.ts | 2 +- .../test/gapic_product_search_v1p3beta1.ts | 2 +- .../test/gapic_product_search_v1p4beta1.ts | 2 +- 95 files changed, 117 insertions(+), 41 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index 5d1fc1bc20e..3a185a8438a 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. @@ -40,7 +40,7 @@ module.exports = { includePattern: '\\.js$' }, templates: { - copyright: 'Copyright 2021 Google LLC', + copyright: 'Copyright 2022 Google LLC', includeDate: false, sourceFiles: false, systemName: '@google-cloud/vision', diff --git a/packages/google-cloud-vision/linkinator.config.json b/packages/google-cloud-vision/linkinator.config.json index 0121dfa684f..befd23c8633 100644 --- a/packages/google-cloud-vision/linkinator.config.json +++ b/packages/google-cloud-vision/linkinator.config.json @@ -3,8 +3,14 @@ "skip": [ "https://codecov.io/gh/googleapis/", "www.googleapis.com", - "img.shields.io" + "img.shields.io", + "https://console.cloud.google.com/cloudshell", + "https://support.google.com" ], "silent": true, - "concurrency": 5 + "concurrency": 5, + "retry": true, + "retryErrors": true, + "retryErrorsCount": 5, + "retryErrorsJitter": 3000 } diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js index 6491e991ffb..302ffbc63b1 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js index d3ac5486d62..014b7720ca6 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests, outputConfig) { diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js index 5c71f3ffc28..419523fdfc9 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js index 45a88e56374..59af8434920 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js index 94e83c02960..e0e30ec1224 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name, product) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js index baf12f0216c..9afa77ceb26 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, product) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js index 8b3fad5654a..64495794d97 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, productSet) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js index 29616dc1deb..e862a2a359e 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, referenceImage) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js index 3cfa8d02c07..9113200eca0 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js index 939b8d6b075..c32868cd1a0 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js index 293b6dd0e39..02edd12aed0 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js index 26b3cf7ebf6..4af8a9baf3d 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js index 512e00ce3a0..7ae8243af45 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js index 6a5da46cfca..1e582d11fb2 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js index eb6ce3d65c1..19250361978 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, inputConfig) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js index 37b2c0c5138..595a076e56c 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -48,7 +49,7 @@ function main(parent) { // Run request const iterable = await visionClient.listProductSetsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js index c73eabafeba..2a9306a6f6f 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -49,7 +50,7 @@ function main(parent) { // Run request const iterable = await visionClient.listProductsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js index 66c7ef8a8cc..2f8ee21a14a 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { @@ -49,7 +50,7 @@ function main(name) { // Run request const iterable = await visionClient.listProductsInProductSetAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js index 4e54610a0cf..a0f293b0073 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -51,7 +52,7 @@ function main(parent) { // Run request const iterable = await visionClient.listReferenceImagesAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js index a0586ccbda3..05cf6a03ec0 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js index 221c9cbc364..d5b8f9fec12 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name, product) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js index 53c19771f03..2ebac607edb 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(product) { diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js index 30081df794c..d7ba652950c 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(productSet) { diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js index 9a5ea0bc279..7dadccad797 100644 --- a/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js index 10d44308e45..0e191309e45 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js index dc2859d5c8b..b2a2bf6254f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js index 208319db5d1..17ef0843e0f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js index 71b25184b3c..56c532b4c03 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main() { @@ -32,7 +33,8 @@ function main() { async function callBatchAnnotateImages() { // Construct request - const request = {}; + const request = { + }; // Run request const response = await visionClient.batchAnnotateImages(request); diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js index b2d98389254..9d32590e0ba 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name, product) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js index b865e3bfec0..db944c2a215 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, product) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js index 0616c716d17..8e90cfff012 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, productSet) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js index 3186c88abbd..baa3188f895 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, referenceImage) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js index 2bbd9d0a795..7e54351f89f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js index fbd33b98a24..71fa2f8ab40 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js index 12cb4552d4f..700852668a5 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js index 822dad3811d..84bdcc2aa1f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js index 3089144f2c6..a6783ba631c 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js index e2f5c9fdc2e..01da08fec42 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js index 1ac00ccd1c2..d2ea5d58eb4 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, inputConfig) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js index 31dc30a236f..cd70bf372ff 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -48,7 +49,7 @@ function main(parent) { // Run request const iterable = await visionClient.listProductSetsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js index 8efb6b6ce03..04253f86634 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -49,7 +50,7 @@ function main(parent) { // Run request const iterable = await visionClient.listProductsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js index 04fc7a4a6b0..79386cc7e26 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { @@ -49,7 +50,7 @@ function main(name) { // Run request const iterable = await visionClient.listProductsInProductSetAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js index a825e6657da..6c5c559343a 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -51,7 +52,7 @@ function main(parent) { // Run request const iterable = await visionClient.listReferenceImagesAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js index 44a7778b621..83f398defd8 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name, product) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js index 10dd60f2302..e528a4296e7 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(product) { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js index 225f5c049d2..a8149437f33 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(productSet) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js index e7345dc6950..1ae299e96ae 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js index 6b97531c783..bea6b7413a8 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests, outputConfig) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js index 37ec22078a4..9300ed7acdf 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js index 7ea00552630..f5c45de51eb 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(requests) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js index 37c81e4a35b..c1a8a1d3a8b 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name, product) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js index ee5e07ce5ef..6ff91a3d9aa 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, product) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js index 29f38e6cb78..5a7b268aa93 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, productSet) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js index b60a321acb6..ea61ea034d7 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, referenceImage) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js index 27870397fa8..a075f049b28 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js index 1010f7eb72b..d940858e4c3 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js index 48ce7e4f2d3..f969e64e335 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js index 52f7734b575..2d235e10f76 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js index 6de6765f246..0fc502e02fd 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js index fa1f729124f..8e5204443c8 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js index dc82a51b125..a23ad14bb24 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent, inputConfig) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js index 14004756b7a..a8833dbcead 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -48,7 +49,7 @@ function main(parent) { // Run request const iterable = await visionClient.listProductSetsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js index ea1d9d10ab7..0f7f5b1bc38 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -49,7 +50,7 @@ function main(parent) { // Run request const iterable = await visionClient.listProductsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js index 554e319c2a7..8dda51b0559 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name) { @@ -49,7 +50,7 @@ function main(name) { // Run request const iterable = await visionClient.listProductsInProductSetAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js index 09c9ab44591..a645718a43d 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { @@ -51,7 +52,7 @@ function main(parent) { // Run request const iterable = await visionClient.listReferenceImagesAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js index 3d4e64c7531..24fc531c668 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(parent) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js index 0e8f2d2f3c7..74fede3febb 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(name, product) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js index 0b0bf35bf8c..48ac7c1eb7a 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(product) { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js index 578b6ccbe91..425bd4478e5 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. + 'use strict'; function main(productSet) { diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 11033563b28..7202c2cd72a 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1/index.ts b/packages/google-cloud-vision/src/v1/index.ts index af010f327a2..549f810f7b4 100644 --- a/packages/google-cloud-vision/src/v1/index.ts +++ b/packages/google-cloud-vision/src/v1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 7322875c1e4..1051451f454 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 61fa2236c1f..f75cf3ac8b1 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p1beta1/index.ts b/packages/google-cloud-vision/src/v1p1beta1/index.ts index 9d921669d24..a9739874353 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 3e94a5a0428..6405f443d02 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p2beta1/index.ts b/packages/google-cloud-vision/src/v1p2beta1/index.ts index 9d921669d24..a9739874353 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 50bf88581c1..2b4e0be3318 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p3beta1/index.ts b/packages/google-cloud-vision/src/v1p3beta1/index.ts index af010f327a2..549f810f7b4 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 9c33ad0a858..f28d4e51cb5 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index c488f061f1f..d45e1363403 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p4beta1/index.ts b/packages/google-cloud-vision/src/v1p4beta1/index.ts index af010f327a2..549f810f7b4 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 0181d8401e6..89fdab0896d 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js index 6f4b087d715..1ec7d1fcfb5 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts index 3c9a7d81213..4f095534563 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/system-test/install.ts b/packages/google-cloud-vision/system-test/install.ts index d2d61c0396f..6dd1eaadafa 100644 --- a/packages/google-cloud-vision/system-test/install.ts +++ b/packages/google-cloud-vision/system-test/install.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index 7dc8c873456..941bb6e5751 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index 768aa5dfb17..60ecb9137c5 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index 0ddc97c5ca7..f763d8c53ef 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index 9ac00c78a88..ebbd20bd833 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index 32f159a7782..3c2a8ea5632 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index 3994a97470a..d880e130653 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index 45905ddb68d..ed8f09ef068 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index 7a1aa236435..0bb24a0db33 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// 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. From 3dde4a4aec80a628ea89d4e8c83d116272fe6ef5 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 31 Jan 2022 23:30:27 +0100 Subject: [PATCH 535/588] chore(deps): update dependency sinon to v13 (#986) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sinon](https://sinonjs.org/) ([source](https://togithub.com/sinonjs/sinon)) | [`^12.0.0` -> `^13.0.0`](https://renovatebot.com/diffs/npm/sinon/12.0.1/13.0.0) | [![age](https://badges.renovateapi.com/packages/npm/sinon/13.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/sinon/13.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/sinon/13.0.0/compatibility-slim/12.0.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/sinon/13.0.0/confidence-slim/12.0.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
sinonjs/sinon ### [`v13.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#​1300) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v12.0.1...v13.0.0) - [`cf3d6c0c`](https://togithub.com/sinonjs/sinon/commit/cf3d6c0cd9689c0ee673b3daa8bf9abd70304392) Upgrade packages ([#​2431](https://togithub.com/sinonjs/sinon/issues/2431)) (Carl-Erik Kopseng) > - Update all @​sinonjs/ packages > > - Upgrade to fake-timers 9 > > - chore: ensure always using latest LTS release - [`41710467`](https://togithub.com/sinonjs/sinon/commit/417104670d575e96a1b645ea40ce763afa76fb1b) Adjust deploy scripts to archive old releases in a separate branch, move existing releases out of master ([#​2426](https://togithub.com/sinonjs/sinon/issues/2426)) (Joel Bradshaw) > Co-authored-by: Carl-Erik Kopseng - [`c80a7266`](https://togithub.com/sinonjs/sinon/commit/c80a72660e89d88b08275eff1028ecb9e26fd8e9) Bump node-fetch from 2.6.1 to 2.6.7 ([#​2430](https://togithub.com/sinonjs/sinon/issues/2430)) (dependabot\[bot]) > Co-authored-by: dependabot\[bot] <49699333+dependabot\[bot][@​users](https://togithub.com/users).noreply.github.com> - [`a00f14a9`](https://togithub.com/sinonjs/sinon/commit/a00f14a97dbe8c65afa89674e16ad73fc7d2fdc0) Add explicit export for `./*` ([#​2413](https://togithub.com/sinonjs/sinon/issues/2413)) (なつき) - [`b82ca7ad`](https://togithub.com/sinonjs/sinon/commit/b82ca7ad9b1add59007771f65a18ee34415de8ca) Bump cached-path-relative from 1.0.2 to 1.1.0 ([#​2428](https://togithub.com/sinonjs/sinon/issues/2428)) (dependabot\[bot]) - [`a9ea1427`](https://togithub.com/sinonjs/sinon/commit/a9ea142716c094ef3c432ecc4089f8207b8dd8b6) Add documentation for assert.calledOnceWithMatch ([#​2424](https://togithub.com/sinonjs/sinon/issues/2424)) (Mathias Schreck) - [`1d5ab86b`](https://togithub.com/sinonjs/sinon/commit/1d5ab86ba60e50dd69593ffed2bffd4b8faa0d38) Be more general in stripping off stack frames to fix Firefox tests ([#​2425](https://togithub.com/sinonjs/sinon/issues/2425)) (Joel Bradshaw) - [`56b06129`](https://togithub.com/sinonjs/sinon/commit/56b06129e223eae690265c37b1113067e2b31bdc) Check call count type ([#​2410](https://togithub.com/sinonjs/sinon/issues/2410)) (Joel Bradshaw) - [`7863e2df`](https://togithub.com/sinonjs/sinon/commit/7863e2dfdbda79e0a32e42af09e6539fc2f2b80f) Fix [#​2414](https://togithub.com/sinonjs/sinon/issues/2414): make Sinon available on homepage (Carl-Erik Kopseng) - [`fabaabdd`](https://togithub.com/sinonjs/sinon/commit/fabaabdda82f39a7f5b75b55bd56cf77b1cd4a8f) Bump nokogiri from 1.11.4 to 1.13.1 ([#​2423](https://togithub.com/sinonjs/sinon/issues/2423)) (dependabot\[bot]) - [`dbc0fbd2`](https://togithub.com/sinonjs/sinon/commit/dbc0fbd263c8419fa47f9c3b20cf47890a242d21) Bump shelljs from 0.8.4 to 0.8.5 ([#​2422](https://togithub.com/sinonjs/sinon/issues/2422)) (dependabot\[bot]) - [`fb8b3d72`](https://togithub.com/sinonjs/sinon/commit/fb8b3d72a85dc8fb0547f859baf3f03a22a039f7) Run Prettier (Carl-Erik Kopseng) - [`12a45939`](https://togithub.com/sinonjs/sinon/commit/12a45939e9b047b6d3663fe55f2eb383ec63c4e1) Fix 2377: Throw error when trying to stub non-configurable or non-writable properties ([#​2417](https://togithub.com/sinonjs/sinon/issues/2417)) (Stuart Dotson) > Fixes issue [#​2377](https://togithub.com/sinonjs/sinon/issues/2377) by throwing an error when trying to stub non-configurable or non-writable properties *Released by [Carl-Erik Kopseng](https://togithub.com/fatso83) on 2022-01-28.*
--- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index b8e7a892327..f69afe8b156 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -66,7 +66,7 @@ "mocha": "^8.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", - "sinon": "^12.0.0", + "sinon": "^13.0.0", "ts-loader": "^9.0.0", "typescript": "^3.8.3", "uuid": "^8.0.0", From 092c610deba28d340b6a36fbf2dbecaed1206dc9 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 4 Feb 2022 16:11:09 +0000 Subject: [PATCH 536/588] docs(nodejs): version support policy edits (#1346) (#988) --- packages/google-cloud-vision/README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 24534d5ff8c..947dc56f7fa 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -104,21 +104,21 @@ also contains samples. Our client libraries follow the [Node.js release schedule](https://nodejs.org/en/about/releases/). 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. -Client libraries targeting some end-of-life versions of Node.js are available, and -can be installed via npm [dist-tags](https://docs.npmjs.com/cli/dist-tag). -The dist-tags follow the naming convention `legacy-(version)`. - -_Legacy Node.js versions are supported as a best effort:_ +Google's client libraries support legacy versions of Node.js runtimes on a +best-efforts basis with the following warnings: -* Legacy versions will not be tested in continuous integration. -* Some security patches may not be able to be backported. -* Dependencies will not be kept up-to-date, and features will not be backported. +* Legacy versions are not tested in continuous integration. +* Some security patches and features cannot be backported. +* Dependencies cannot be kept up-to-date. -#### Legacy tags available - -* `legacy-8`: install client libraries from this dist-tag for versions - compatible with Node.js 8. +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-cloud/vision@legacy-8` installs client libraries +for versions compatible with Node.js 8. ## Versioning From dbb4fa399cd3c3e16973194d8236ef4aa23d3d99 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 18 Feb 2022 00:57:02 +0000 Subject: [PATCH 537/588] docs(samples): include metadata file, add exclusions for samples to handwritten libraries (#990) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 429395631 Source-Link: https://github.com/googleapis/googleapis/commit/84594b35af0c38efcd6967e8179d801702ad96ff Source-Link: https://github.com/googleapis/googleapis-gen/commit/ed74f970fd82914874e6b27b04763cfa66bafe9b Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWQ3NGY5NzBmZDgyOTE0ODc0ZTZiMjdiMDQ3NjNjZmE2NmJhZmU5YiJ9 --- ...ge_annotator.async_batch_annotate_files.js | 9 +- ...e_annotator.async_batch_annotate_images.js | 9 +- .../image_annotator.batch_annotate_files.js | 9 +- .../image_annotator.batch_annotate_images.js | 9 +- ...oduct_search.add_product_to_product_set.js | 9 +- .../v1/product_search.create_product.js | 9 +- .../v1/product_search.create_product_set.js | 9 +- .../product_search.create_reference_image.js | 9 +- .../v1/product_search.delete_product.js | 9 +- .../v1/product_search.delete_product_set.js | 9 +- .../product_search.delete_reference_image.js | 9 +- .../v1/product_search.get_product.js | 9 +- .../v1/product_search.get_product_set.js | 9 +- .../v1/product_search.get_reference_image.js | 9 +- .../v1/product_search.import_product_sets.js | 9 +- .../v1/product_search.list_product_sets.js | 9 +- .../v1/product_search.list_products.js | 9 +- ...uct_search.list_products_in_product_set.js | 9 +- .../product_search.list_reference_images.js | 9 +- .../v1/product_search.purge_products.js | 9 +- ..._search.remove_product_from_product_set.js | 9 +- .../v1/product_search.update_product.js | 9 +- .../v1/product_search.update_product_set.js | 9 +- ...ippet_metadata.google.cloud.vision.v1.json | 1043 +++++++++++++++++ .../image_annotator.batch_annotate_images.js | 9 +- ...etadata.google.cloud.vision.v1p1beta1.json | 55 + ...ge_annotator.async_batch_annotate_files.js | 9 +- .../image_annotator.batch_annotate_images.js | 9 +- ...etadata.google.cloud.vision.v1p2beta1.json | 95 ++ ...ge_annotator.async_batch_annotate_files.js | 9 +- .../image_annotator.batch_annotate_images.js | 9 +- ...oduct_search.add_product_to_product_set.js | 9 +- .../product_search.create_product.js | 9 +- .../product_search.create_product_set.js | 9 +- .../product_search.create_reference_image.js | 9 +- .../product_search.delete_product.js | 9 +- .../product_search.delete_product_set.js | 9 +- .../product_search.delete_reference_image.js | 9 +- .../v1p3beta1/product_search.get_product.js | 9 +- .../product_search.get_product_set.js | 9 +- .../product_search.get_reference_image.js | 9 +- .../product_search.import_product_sets.js | 9 +- .../product_search.list_product_sets.js | 9 +- .../v1p3beta1/product_search.list_products.js | 9 +- ...uct_search.list_products_in_product_set.js | 9 +- .../product_search.list_reference_images.js | 9 +- ..._search.remove_product_from_product_set.js | 9 +- .../product_search.update_product.js | 9 +- .../product_search.update_product_set.js | 9 +- ...etadata.google.cloud.vision.v1p3beta1.json | 891 ++++++++++++++ ...ge_annotator.async_batch_annotate_files.js | 9 +- ...e_annotator.async_batch_annotate_images.js | 9 +- .../image_annotator.batch_annotate_files.js | 9 +- .../image_annotator.batch_annotate_images.js | 9 +- ...oduct_search.add_product_to_product_set.js | 9 +- .../product_search.create_product.js | 9 +- .../product_search.create_product_set.js | 9 +- .../product_search.create_reference_image.js | 9 +- .../product_search.delete_product.js | 9 +- .../product_search.delete_product_set.js | 9 +- .../product_search.delete_reference_image.js | 9 +- .../v1p4beta1/product_search.get_product.js | 9 +- .../product_search.get_product_set.js | 9 +- .../product_search.get_reference_image.js | 9 +- .../product_search.import_product_sets.js | 9 +- .../product_search.list_product_sets.js | 9 +- .../v1p4beta1/product_search.list_products.js | 9 +- ...uct_search.list_products_in_product_set.js | 9 +- .../product_search.list_reference_images.js | 9 +- .../product_search.purge_products.js | 9 +- ..._search.remove_product_from_product_set.js | 9 +- .../product_search.update_product.js | 9 +- .../product_search.update_product_set.js | 9 +- ...etadata.google.cloud.vision.v1p4beta1.json | 1027 ++++++++++++++++ .../src/v1/image_annotator_client.ts | 5 +- .../src/v1/product_search_client.ts | 5 +- .../src/v1p1beta1/image_annotator_client.ts | 5 +- .../src/v1p2beta1/image_annotator_client.ts | 5 +- .../src/v1p3beta1/image_annotator_client.ts | 5 +- .../src/v1p3beta1/product_search_client.ts | 5 +- .../src/v1p4beta1/image_annotator_client.ts | 5 +- .../src/v1p4beta1/product_search_client.ts | 5 +- .../test/gapic_image_annotator_v1.ts | 51 +- .../test/gapic_image_annotator_v1p1beta1.ts | 33 +- .../test/gapic_image_annotator_v1p2beta1.ts | 33 +- .../test/gapic_image_annotator_v1p3beta1.ts | 33 +- .../test/gapic_image_annotator_v1p4beta1.ts | 47 +- .../test/gapic_product_search_v1.ts | 235 +++- .../test/gapic_product_search_v1p3beta1.ts | 235 +++- .../test/gapic_product_search_v1p4beta1.ts | 235 +++- 90 files changed, 4496 insertions(+), 178 deletions(-) create mode 100644 packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json create mode 100644 packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json create mode 100644 packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json create mode 100644 packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json create mode 100644 packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js index 302ffbc63b1..5eeec88568d 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js index 014b7720ca6..82011930dfe 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js index 419523fdfc9..c29ac36b691 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js index 59af8434920..fb2e89666ed 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js index e0e30ec1224..b22381811c8 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js index 9afa77ceb26..fb8b20ad3d1 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js index 64495794d97..ccce35b4bcd 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js index e862a2a359e..dfa47dab634 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js index 9113200eca0..ba89afb53fb 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js index c32868cd1a0..685141b3513 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js index 02edd12aed0..bd5763394c5 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js index 4af8a9baf3d..37ddc7e8fa9 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js index 7ae8243af45..6ebbc94bbf5 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js index 1e582d11fb2..18dba604271 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js index 19250361978..0129434538d 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js index 595a076e56c..a0a9f7f58e1 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js index 2a9306a6f6f..3f92f87a302 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js index 2f8ee21a14a..2044174814e 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js index a0f293b0073..f2c0ec3e864 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js index 05cf6a03ec0..e3570b65b1c 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js index d5b8f9fec12..011c4714c6e 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js index 2ebac607edb..f229be48fea 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js index d7ba652950c..9eb4229d29b 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json new file mode 100644 index 00000000000..8b1bcfa28bd --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json @@ -0,0 +1,1043 @@ +{ + "clientLibrary": { + "name": "nodejs-vision", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "vision_v1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 61, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ImageAnnotator_BatchAnnotateFiles_async", + "title": "vision batchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", + "canonical": true, + "file": "image_annotator.batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateFiles", + "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.BatchAnnotateFilesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateFiles", + "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async", + "title": "vision asyncBatchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", + "canonical": true, + "file": "image_annotator.async_batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 67, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateImages", + "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "output_config", + "type": ".google.cloud.vision.v1.OutputConfig" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateImages", + "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", + "title": "vision asyncBatchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", + "canonical": true, + "file": "image_annotator.async_batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_CreateProductSet_async", + "title": "vision createProductSet Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", + "canonical": true, + "file": "product_search.create_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateProductSet", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product_set", + "type": ".google.cloud.vision.v1.ProductSet" + }, + { + "name": "product_set_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_ListProductSets_async", + "title": "vision listProductSets Sample", + "origin": "API_DEFINITION", + "description": " Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 61, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ListProductSetsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_GetProductSet_async", + "title": "vision getProductSet Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", + "canonical": true, + "file": "product_search.get_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.GetProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.GetProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_UpdateProductSet_async", + "title": "vision updateProductSet Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", + "canonical": true, + "file": "product_search.update_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProductSet", + "async": true, + "parameters": [ + { + "name": "product_set", + "type": ".google.cloud.vision.v1.ProductSet" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_DeleteProductSet_async", + "title": "vision deleteProductSet Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a ProductSet. Products and ReferenceImages in the ProductSet are not deleted. The actual image files are not deleted from Google Cloud Storage.", + "canonical": true, + "file": "product_search.delete_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_CreateProduct_async", + "title": "vision createProduct Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", + "canonical": true, + "file": "product_search.create_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateProduct", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": ".google.cloud.vision.v1.Product" + }, + { + "name": "product_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_ListProducts_async", + "title": "vision listProducts Sample", + "origin": "API_DEFINITION", + "description": " Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProducts", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ListProductsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_GetProduct_async", + "title": "vision getProduct Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", + "canonical": true, + "file": "product_search.get_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.GetProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.GetProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_UpdateProduct_async", + "title": "vision updateProduct Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", + "canonical": true, + "file": "product_search.update_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProduct", + "async": true, + "parameters": [ + { + "name": "product", + "type": ".google.cloud.vision.v1.Product" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_DeleteProduct_async", + "title": "vision deleteProduct Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed.", + "canonical": true, + "file": "product_search.delete_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_CreateReferenceImage_async", + "title": "vision createReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", + "canonical": true, + "file": "product_search.create_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 65, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateReferenceImage", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "reference_image", + "type": ".google.cloud.vision.v1.ReferenceImage" + }, + { + "name": "reference_image_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_DeleteReferenceImage_async", + "title": "vision deleteReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage.", + "canonical": true, + "file": "product_search.delete_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_ListReferenceImages_async", + "title": "vision listReferenceImages Sample", + "origin": "API_DEFINITION", + "description": " Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_reference_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1.ProductSearch.ListReferenceImages", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ListReferenceImagesResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1.ProductSearch.ListReferenceImages", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_GetReferenceImage_async", + "title": "vision getReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", + "canonical": true, + "file": "product_search.get_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.GetReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.GetReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_AddProductToProductSet_async", + "title": "vision addProductToProductSet Sample", + "origin": "API_DEFINITION", + "description": " Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", + "canonical": true, + "file": "product_search.add_product_to_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.AddProductToProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.AddProductToProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_RemoveProductFromProductSet_async", + "title": "vision removeProductFromProductSet Sample", + "origin": "API_DEFINITION", + "description": " Removes a Product from the specified ProductSet.", + "canonical": true, + "file": "product_search.remove_product_from_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.RemoveProductFromProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.RemoveProductFromProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_ListProductsInProductSet_async", + "title": "vision listProductsInProductSet Sample", + "origin": "API_DEFINITION", + "description": " Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products_in_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProductsInProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ListProductsInProductSetResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProductsInProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_ImportProductSets_async", + "title": "vision importProductSets Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri].", + "canonical": true, + "file": "product_search.import_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1.ProductSearch.ImportProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "input_config", + "type": ".google.cloud.vision.v1.ImportProductSetsInputConfig" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1.ProductSearch.ImportProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1_generated_ProductSearch_PurgeProducts_async", + "title": "vision purgeProducts Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress)", + "canonical": true, + "file": "product_search.purge_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "PurgeProducts", + "fullName": "google.cloud.vision.v1.ProductSearch.PurgeProducts", + "async": true, + "parameters": [ + { + "name": "product_set_purge_config", + "type": ".google.cloud.vision.v1.ProductSetPurgeConfig" + }, + { + "name": "delete_orphan_products", + "type": "TYPE_BOOL" + }, + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "force", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "PurgeProducts", + "fullName": "google.cloud.vision.v1.ProductSearch.PurgeProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } + } + ] +} diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js index 7dadccad797..1f0ddde08db 100644 --- a/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json new file mode 100644 index 00000000000..9d8765f31ca --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json @@ -0,0 +1,55 @@ +{ + "clientLibrary": { + "name": "nodejs-vision", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1p1beta1", + "version": "v1p1beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "vision_v1p1beta1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotator" + } + } + } + } + ] +} diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js index 0e191309e45..6f5474c4d4f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js index b2a2bf6254f..c3fe0481670 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json new file mode 100644 index 00000000000..9bc85307802 --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json @@ -0,0 +1,95 @@ +{ + "clientLibrary": { + "name": "nodejs-vision", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1p2beta1", + "version": "v1p2beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "vision_v1p2beta1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1p2beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", + "title": "vision asyncBatchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Run async image detection and annotation for a list of generic files (e.g. PDF) which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", + "canonical": true, + "file": "image_annotator.async_batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator" + } + } + } + } + ] +} diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js index 17ef0843e0f..5a6a0d5f7f8 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js index 56c532b4c03..1f9a00e0438 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js index 9d32590e0ba..095ebc5aaa9 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js index db944c2a215..5245629fe4f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js index 8e90cfff012..1a93791a696 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js index baa3188f895..f5e1a797707 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js index 7e54351f89f..92e5c99fb68 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js index 71fa2f8ab40..9f7dc7dfb74 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js index 700852668a5..46211ed72b5 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js index 84bdcc2aa1f..b4597bf1f40 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js index a6783ba631c..d084b99421e 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js index 01da08fec42..33d14bebdcf 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js index d2ea5d58eb4..326aa39b940 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js index cd70bf372ff..849547991f5 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js index 04253f86634..e1769e8c560 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js index 79386cc7e26..76ecfd9216d 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js index 6c5c559343a..3bdeba0c14e 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js index 83f398defd8..f0db7e43819 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js index e528a4296e7..50f9b2c206a 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js index a8149437f33..cdd554e0e71 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json new file mode 100644 index 00000000000..5ec94c1039e --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json @@ -0,0 +1,891 @@ +{ + "clientLibrary": { + "name": "nodejs-vision", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1p3beta1", + "version": "v1p3beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "vision_v1p3beta1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 49, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", + "title": "vision asyncBatchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", + "canonical": true, + "file": "image_annotator.async_batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_CreateProductSet_async", + "title": "vision createProductSet Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", + "canonical": true, + "file": "product_search.create_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProductSet", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product_set", + "type": ".google.cloud.vision.v1p3beta1.ProductSet" + }, + { + "name": "product_set_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListProductSets_async", + "title": "vision listProductSets Sample", + "origin": "API_DEFINITION", + "description": " Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 61, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ListProductSetsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_GetProductSet_async", + "title": "vision getProductSet Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", + "canonical": true, + "file": "product_search.get_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_UpdateProductSet_async", + "title": "vision updateProductSet Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", + "canonical": true, + "file": "product_search.update_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductSet", + "async": true, + "parameters": [ + { + "name": "product_set", + "type": ".google.cloud.vision.v1p3beta1.ProductSet" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_DeleteProductSet_async", + "title": "vision deleteProductSet Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a ProductSet. All Products and ReferenceImages in the ProductSet will be deleted. The actual image files are not deleted from Google Cloud Storage. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", + "canonical": true, + "file": "product_search.delete_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_CreateProduct_async", + "title": "vision createProduct Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", + "canonical": true, + "file": "product_search.create_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProduct", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": ".google.cloud.vision.v1p3beta1.Product" + }, + { + "name": "product_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListProducts_async", + "title": "vision listProducts Sample", + "origin": "API_DEFINITION", + "description": " Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProducts", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ListProductsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_GetProduct_async", + "title": "vision getProduct Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", + "canonical": true, + "file": "product_search.get_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_UpdateProduct_async", + "title": "vision updateProduct Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a Product resource. Only display_name, description and labels can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", + "canonical": true, + "file": "product_search.update_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProduct", + "async": true, + "parameters": [ + { + "name": "product", + "type": ".google.cloud.vision.v1p3beta1.Product" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_DeleteProduct_async", + "title": "vision deleteProduct Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed. Possible errors: * Returns NOT_FOUND if the product does not exist.", + "canonical": true, + "file": "product_search.delete_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_CreateReferenceImage_async", + "title": "vision createReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", + "canonical": true, + "file": "product_search.create_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 65, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateReferenceImage", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "reference_image", + "type": ".google.cloud.vision.v1p3beta1.ReferenceImage" + }, + { + "name": "reference_image_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_DeleteReferenceImage_async", + "title": "vision deleteReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage. Possible errors: * Returns NOT_FOUND if the reference image does not exist.", + "canonical": true, + "file": "product_search.delete_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListReferenceImages_async", + "title": "vision listReferenceImages Sample", + "origin": "API_DEFINITION", + "description": " Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_reference_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListReferenceImages", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ListReferenceImagesResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListReferenceImages", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_GetReferenceImage_async", + "title": "vision getReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", + "canonical": true, + "file": "product_search.get_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_AddProductToProductSet_async", + "title": "vision addProductToProductSet Sample", + "origin": "API_DEFINITION", + "description": " Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", + "canonical": true, + "file": "product_search.add_product_to_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.AddProductToProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.AddProductToProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_RemoveProductFromProductSet_async", + "title": "vision removeProductFromProductSet Sample", + "origin": "API_DEFINITION", + "description": " Removes a Product from the specified ProductSet. Possible errors: * Returns NOT_FOUND If the Product is not found under the ProductSet.", + "canonical": true, + "file": "product_search.remove_product_from_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.RemoveProductFromProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.RemoveProductFromProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListProductsInProductSet_async", + "title": "vision listProductsInProductSet Sample", + "origin": "API_DEFINITION", + "description": " Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products_in_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductsInProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductsInProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ImportProductSets_async", + "title": "vision importProductSets Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri].", + "canonical": true, + "file": "product_search.import_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ImportProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "input_config", + "type": ".google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ImportProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } + } + ] +} diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js index 1ae299e96ae..b0e97198432 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js index bea6b7413a8..967c01df35a 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js index 9300ed7acdf..2f03ebe3d04 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js index f5c45de51eb..3b3d030d270 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js index c1a8a1d3a8b..d3cdf6e8862 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js index 6ff91a3d9aa..95a6e8fad0f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js index 5a7b268aa93..ae849604135 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js index ea61ea034d7..2dc52217ada 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js index a075f049b28..94375710e2a 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js index d940858e4c3..06c598bd5bc 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js index f969e64e335..87f8e595bb8 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js index 2d235e10f76..465d8eaf215 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js index 0fc502e02fd..3a1d8098a4a 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js index 8e5204443c8..1a2374fe095 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js index a23ad14bb24..1f175664bc1 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js index a8833dbcead..8976e592aba 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js index 0f7f5b1bc38..726194cde7b 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js index 8dda51b0559..8740b9d661b 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js index a645718a43d..a1c5ccc6191 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js index 24fc531c668..4bb5df02f6b 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js index 74fede3febb..4d66f2535e6 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js index 48ac7c1eb7a..e0fb4e3c6e1 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js index 425bd4478e5..d1c80c5879b 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js @@ -1,16 +1,21 @@ -// Copyright 2021 Google LLC +// 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 +// 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'; diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json new file mode 100644 index 00000000000..bc1ebcd3c5b --- /dev/null +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json @@ -0,0 +1,1027 @@ +{ + "clientLibrary": { + "name": "nodejs-vision", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1p4beta1", + "version": "v1p4beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateFiles_async", + "title": "vision batchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", + "canonical": true, + "file": "image_annotator.batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async", + "title": "vision asyncBatchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", + "canonical": true, + "file": "image_annotator.async_batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 56, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateImages", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "output_config", + "type": ".google.cloud.vision.v1p4beta1.OutputConfig" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateImages", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", + "title": "vision asyncBatchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", + "canonical": true, + "file": "image_annotator.async_batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_CreateProductSet_async", + "title": "vision createProductSet Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", + "canonical": true, + "file": "product_search.create_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSet", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product_set", + "type": ".google.cloud.vision.v1p4beta1.ProductSet" + }, + { + "name": "product_set_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListProductSets_async", + "title": "vision listProductSets Sample", + "origin": "API_DEFINITION", + "description": " Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 61, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ListProductSetsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_GetProductSet_async", + "title": "vision getProductSet Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", + "canonical": true, + "file": "product_search.get_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_UpdateProductSet_async", + "title": "vision updateProductSet Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", + "canonical": true, + "file": "product_search.update_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSet", + "async": true, + "parameters": [ + { + "name": "product_set", + "type": ".google.cloud.vision.v1p4beta1.ProductSet" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_DeleteProductSet_async", + "title": "vision deleteProductSet Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a ProductSet. Products and ReferenceImages in the ProductSet are not deleted. The actual image files are not deleted from Google Cloud Storage.", + "canonical": true, + "file": "product_search.delete_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_CreateProduct_async", + "title": "vision createProduct Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", + "canonical": true, + "file": "product_search.create_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProduct", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": ".google.cloud.vision.v1p4beta1.Product" + }, + { + "name": "product_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListProducts_async", + "title": "vision listProducts Sample", + "origin": "API_DEFINITION", + "description": " Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProducts", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ListProductsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_GetProduct_async", + "title": "vision getProduct Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", + "canonical": true, + "file": "product_search.get_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_UpdateProduct_async", + "title": "vision updateProduct Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", + "canonical": true, + "file": "product_search.update_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProduct", + "async": true, + "parameters": [ + { + "name": "product", + "type": ".google.cloud.vision.v1p4beta1.Product" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_DeleteProduct_async", + "title": "vision deleteProduct Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed.", + "canonical": true, + "file": "product_search.delete_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_CreateReferenceImage_async", + "title": "vision createReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", + "canonical": true, + "file": "product_search.create_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImage", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "reference_image", + "type": ".google.cloud.vision.v1p4beta1.ReferenceImage" + }, + { + "name": "reference_image_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_DeleteReferenceImage_async", + "title": "vision deleteReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage.", + "canonical": true, + "file": "product_search.delete_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListReferenceImages_async", + "title": "vision listReferenceImages Sample", + "origin": "API_DEFINITION", + "description": " Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_reference_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImages", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImages", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_GetReferenceImage_async", + "title": "vision getReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", + "canonical": true, + "file": "product_search.get_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_AddProductToProductSet_async", + "title": "vision addProductToProductSet Sample", + "origin": "API_DEFINITION", + "description": " Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", + "canonical": true, + "file": "product_search.add_product_to_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_RemoveProductFromProductSet_async", + "title": "vision removeProductFromProductSet Sample", + "origin": "API_DEFINITION", + "description": " Removes a Product from the specified ProductSet.", + "canonical": true, + "file": "product_search.remove_product_from_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListProductsInProductSet_async", + "title": "vision listProductsInProductSet Sample", + "origin": "API_DEFINITION", + "description": " Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products_in_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ImportProductSets_async", + "title": "vision importProductSets Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri].", + "canonical": true, + "file": "product_search.import_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "input_config", + "type": ".google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + }, + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_PurgeProducts_async", + "title": "vision purgeProducts Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress)", + "canonical": true, + "file": "product_search.purge_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "PurgeProducts", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.PurgeProducts", + "async": true, + "parameters": [ + { + "name": "product_set_purge_config", + "type": ".google.cloud.vision.v1p4beta1.ProductSetPurgeConfig" + }, + { + "name": "delete_orphan_products", + "type": "TYPE_BOOL" + }, + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "force", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "PurgeProducts", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.PurgeProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } + } + ] +} diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 7202c2cd72a..946012aed0b 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -1086,9 +1086,8 @@ export class ImageAnnotatorClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.imageAnnotatorStub!.then(stub => { + if (this.imageAnnotatorStub && !this._terminated) { + return this.imageAnnotatorStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 1051451f454..caad898810e 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -3076,9 +3076,8 @@ export class ProductSearchClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.productSearchStub!.then(stub => { + if (this.productSearchStub && !this._terminated) { + return this.productSearchStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index f75cf3ac8b1..9bd68d7476f 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -387,9 +387,8 @@ export class ImageAnnotatorClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.imageAnnotatorStub!.then(stub => { + if (this.imageAnnotatorStub && !this._terminated) { + return this.imageAnnotatorStub.then(stub => { this._terminated = true; stub.close(); }); diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 6405f443d02..5064ae7dc82 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -571,9 +571,8 @@ export class ImageAnnotatorClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.imageAnnotatorStub!.then(stub => { + if (this.imageAnnotatorStub && !this._terminated) { + return this.imageAnnotatorStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 2b4e0be3318..27484b5e3b7 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -766,9 +766,8 @@ export class ImageAnnotatorClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.imageAnnotatorStub!.then(stub => { + if (this.imageAnnotatorStub && !this._terminated) { + return this.imageAnnotatorStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index f28d4e51cb5..97f649ac3d4 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -2997,9 +2997,8 @@ export class ProductSearchClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.productSearchStub!.then(stub => { + if (this.productSearchStub && !this._terminated) { + return this.productSearchStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index d45e1363403..b91375b9cae 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -1030,9 +1030,8 @@ export class ImageAnnotatorClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.imageAnnotatorStub!.then(stub => { + if (this.imageAnnotatorStub && !this._terminated) { + return this.imageAnnotatorStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 89fdab0896d..3e8e3479b34 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -3170,9 +3170,8 @@ export class ProductSearchClient { * @returns {Promise} A promise that resolves when the client is closed. */ close(): Promise { - this.initialize(); - if (!this._terminated) { - return this.productSearchStub!.then(stub => { + if (this.productSearchStub && !this._terminated) { + return this.productSearchStub.then(stub => { this._terminated = true; stub.close(); this.operationsClient.close(); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index 941bb6e5751..5afc6d67cff 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -122,12 +122,27 @@ describe('v1.ImageAnnotatorClient', () => { assert(client.imageAnnotatorStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new imageannotatorModule.v1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -274,6 +289,22 @@ describe('v1.ImageAnnotatorClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes batchAnnotateImages with closed client', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateImagesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.batchAnnotateImages(request), expectedError); + }); }); describe('batchAnnotateFiles', () => { @@ -386,6 +417,22 @@ describe('v1.ImageAnnotatorClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes batchAnnotateFiles with closed client', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.BatchAnnotateFilesRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.batchAnnotateFiles(request), expectedError); + }); }); describe('asyncBatchAnnotateImages', () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index 60ecb9137c5..e04323ac50a 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -90,12 +90,27 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { assert(client.imageAnnotatorStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -218,5 +233,19 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes batchAnnotateImages with closed client', async () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() + ); + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.batchAnnotateImages(request), expectedError); + }); }); }); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index f763d8c53ef..8a6c1b74b2a 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -122,12 +122,27 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { assert(client.imageAnnotatorStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -250,6 +265,20 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes batchAnnotateImages with closed client', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() + ); + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.batchAnnotateImages(request), expectedError); + }); }); describe('asyncBatchAnnotateFiles', () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index ebbd20bd833..15f411f11f3 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -122,12 +122,27 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { assert(client.imageAnnotatorStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -250,6 +265,20 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes batchAnnotateImages with closed client', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() + ); + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.batchAnnotateImages(request), expectedError); + }); }); describe('asyncBatchAnnotateFiles', () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index 3c2a8ea5632..408383fb73f 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -122,12 +122,27 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { assert(client.imageAnnotatorStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -250,6 +265,20 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes batchAnnotateImages with closed client', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() + ); + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.batchAnnotateImages(request), expectedError); + }); }); describe('batchAnnotateFiles', () => { @@ -338,6 +367,20 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes batchAnnotateFiles with closed client', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() + ); + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.batchAnnotateFiles(request), expectedError); + }); }); describe('asyncBatchAnnotateImages', () => { diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index d880e130653..b0ee2602fbe 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -183,12 +183,27 @@ describe('v1.ProductSearchClient', () => { assert(client.productSearchStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new productsearchModule.v1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.productSearchStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -334,6 +349,22 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes createProductSet with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createProductSet(request), expectedError); + }); }); describe('getProductSet', () => { @@ -445,6 +476,22 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getProductSet with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getProductSet(request), expectedError); + }); }); describe('updateProductSet', () => { @@ -559,6 +606,23 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes updateProductSet with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateProductSet(request), expectedError); + }); }); describe('deleteProductSet', () => { @@ -670,6 +734,22 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes deleteProductSet with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteProductSet(request), expectedError); + }); }); describe('createProduct', () => { @@ -781,6 +861,22 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes createProduct with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createProduct(request), expectedError); + }); }); describe('getProduct', () => { @@ -892,6 +988,22 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getProduct with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getProduct(request), expectedError); + }); }); describe('updateProduct', () => { @@ -1006,6 +1118,23 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes updateProduct with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateProduct(request), expectedError); + }); }); describe('deleteProduct', () => { @@ -1117,6 +1246,22 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes deleteProduct with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteProduct(request), expectedError); + }); }); describe('createReferenceImage', () => { @@ -1229,6 +1374,22 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes createReferenceImage with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createReferenceImage(request), expectedError); + }); }); describe('deleteReferenceImage', () => { @@ -1341,6 +1502,22 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes deleteReferenceImage with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteReferenceImage(request), expectedError); + }); }); describe('getReferenceImage', () => { @@ -1452,6 +1629,22 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getReferenceImage with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getReferenceImage(request), expectedError); + }); }); describe('addProductToProductSet', () => { @@ -1567,6 +1760,25 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes addProductToProductSet with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.addProductToProductSet(request), + expectedError + ); + }); }); describe('removeProductFromProductSet', () => { @@ -1682,6 +1894,25 @@ describe('v1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes removeProductFromProductSet with closed client', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.removeProductFromProductSet(request), + expectedError + ); + }); }); describe('importProductSets', () => { diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index ed8f09ef068..dbe5095a104 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -185,12 +185,27 @@ describe('v1p3beta1.ProductSearchClient', () => { assert(client.productSearchStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new productsearchModule.v1p3beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.productSearchStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -336,6 +351,22 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes createProductSet with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createProductSet(request), expectedError); + }); }); describe('getProductSet', () => { @@ -447,6 +478,22 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getProductSet with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getProductSet(request), expectedError); + }); }); describe('updateProductSet', () => { @@ -561,6 +608,23 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes updateProductSet with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateProductSet(request), expectedError); + }); }); describe('deleteProductSet', () => { @@ -672,6 +736,22 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes deleteProductSet with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteProductSet(request), expectedError); + }); }); describe('createProduct', () => { @@ -783,6 +863,22 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes createProduct with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createProduct(request), expectedError); + }); }); describe('getProduct', () => { @@ -894,6 +990,22 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getProduct with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getProduct(request), expectedError); + }); }); describe('updateProduct', () => { @@ -1008,6 +1120,23 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes updateProduct with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateProduct(request), expectedError); + }); }); describe('deleteProduct', () => { @@ -1119,6 +1248,22 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes deleteProduct with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteProduct(request), expectedError); + }); }); describe('createReferenceImage', () => { @@ -1231,6 +1376,22 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes createReferenceImage with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createReferenceImage(request), expectedError); + }); }); describe('deleteReferenceImage', () => { @@ -1343,6 +1504,22 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes deleteReferenceImage with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteReferenceImage(request), expectedError); + }); }); describe('getReferenceImage', () => { @@ -1454,6 +1631,22 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getReferenceImage with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getReferenceImage(request), expectedError); + }); }); describe('addProductToProductSet', () => { @@ -1569,6 +1762,25 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes addProductToProductSet with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.addProductToProductSet(request), + expectedError + ); + }); }); describe('removeProductFromProductSet', () => { @@ -1684,6 +1896,25 @@ describe('v1p3beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes removeProductFromProductSet with closed client', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.removeProductFromProductSet(request), + expectedError + ); + }); }); describe('importProductSets', () => { diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index 0bb24a0db33..1afeea71d1e 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -185,12 +185,27 @@ describe('v1p4beta1.ProductSearchClient', () => { assert(client.productSearchStub); }); - it('has close method', () => { + it('has close method for the initialized client', done => { const client = new productsearchModule.v1p4beta1.ProductSearchClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, projectId: 'bogus', }); - client.close(); + client.initialize(); + assert(client.productSearchStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + client.close().then(() => { + done(); + }); }); it('has getProjectId method', async () => { @@ -336,6 +351,22 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes createProductSet with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateProductSetRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createProductSet(request), expectedError); + }); }); describe('getProductSet', () => { @@ -447,6 +478,22 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getProductSet with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getProductSet(request), expectedError); + }); }); describe('updateProductSet', () => { @@ -561,6 +608,23 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes updateProductSet with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.UpdateProductSetRequest() + ); + request.productSet = {}; + request.productSet.name = ''; + const expectedHeaderRequestParams = 'product_set.name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateProductSet(request), expectedError); + }); }); describe('deleteProductSet', () => { @@ -672,6 +736,22 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes deleteProductSet with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteProductSet(request), expectedError); + }); }); describe('createProduct', () => { @@ -783,6 +863,22 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes createProduct with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateProductRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createProduct(request), expectedError); + }); }); describe('getProduct', () => { @@ -894,6 +990,22 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getProduct with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getProduct(request), expectedError); + }); }); describe('updateProduct', () => { @@ -1008,6 +1120,23 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes updateProduct with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.UpdateProductRequest() + ); + request.product = {}; + request.product.name = ''; + const expectedHeaderRequestParams = 'product.name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateProduct(request), expectedError); + }); }); describe('deleteProduct', () => { @@ -1119,6 +1248,22 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes deleteProduct with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteProductRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteProduct(request), expectedError); + }); }); describe('createReferenceImage', () => { @@ -1231,6 +1376,22 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes createReferenceImage with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest() + ); + request.parent = ''; + const expectedHeaderRequestParams = 'parent='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createReferenceImage(request), expectedError); + }); }); describe('deleteReferenceImage', () => { @@ -1343,6 +1504,22 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes deleteReferenceImage with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteReferenceImage(request), expectedError); + }); }); describe('getReferenceImage', () => { @@ -1454,6 +1631,22 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes getReferenceImage with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.GetReferenceImageRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getReferenceImage(request), expectedError); + }); }); describe('addProductToProductSet', () => { @@ -1569,6 +1762,25 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes addProductToProductSet with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.addProductToProductSet(request), + expectedError + ); + }); }); describe('removeProductFromProductSet', () => { @@ -1684,6 +1896,25 @@ describe('v1p4beta1.ProductSearchClient', () => { .calledWith(request, expectedOptions, undefined) ); }); + + it('invokes removeProductFromProductSet with closed client', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest() + ); + request.name = ''; + const expectedHeaderRequestParams = 'name='; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.removeProductFromProductSet(request), + expectedError + ); + }); }); describe('importProductSets', () => { From e9a98c48355973664e54a415b6ddc3f92cbd223d Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 16 Mar 2022 21:30:13 +0000 Subject: [PATCH 538/588] chore: update v2.14.2 gapic-generator-typescript (#995) - [ ] Regenerate this pull request now. Committer: @summer-ji-eng PiperOrigin-RevId: 434859890 Source-Link: https://github.com/googleapis/googleapis/commit/bc2432d50cba657e95212122e3fa112591b5bec2 Source-Link: https://github.com/googleapis/googleapis-gen/commit/930b673103e92523f8cfed38decd7d3afae8ebe7 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOTMwYjY3MzEwM2U5MjUyM2Y4Y2ZlZDM4ZGVjZDdkM2FmYWU4ZWJlNyJ9 --- .../test/gapic_image_annotator_v1.ts | 2 -- .../test/gapic_product_search_v1.ts | 13 ------------- .../test/gapic_product_search_v1p3beta1.ts | 13 ------------- .../test/gapic_product_search_v1p4beta1.ts | 13 ------------- 4 files changed, 41 deletions(-) diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index 5afc6d67cff..9091881e112 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -300,7 +300,6 @@ describe('v1.ImageAnnotatorClient', () => { new protos.google.cloud.vision.v1.BatchAnnotateImagesRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.batchAnnotateImages(request), expectedError); @@ -428,7 +427,6 @@ describe('v1.ImageAnnotatorClient', () => { new protos.google.cloud.vision.v1.BatchAnnotateFilesRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.batchAnnotateFiles(request), expectedError); diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index b0ee2602fbe..2607489d04f 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -360,7 +360,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.CreateProductSetRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProductSet(request), expectedError); @@ -487,7 +486,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.GetProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProductSet(request), expectedError); @@ -618,7 +616,6 @@ describe('v1.ProductSearchClient', () => { ); request.productSet = {}; request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProductSet(request), expectedError); @@ -745,7 +742,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.DeleteProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProductSet(request), expectedError); @@ -872,7 +868,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.CreateProductRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProduct(request), expectedError); @@ -999,7 +994,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.GetProductRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProduct(request), expectedError); @@ -1130,7 +1124,6 @@ describe('v1.ProductSearchClient', () => { ); request.product = {}; request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProduct(request), expectedError); @@ -1257,7 +1250,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.DeleteProductRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProduct(request), expectedError); @@ -1385,7 +1377,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.CreateReferenceImageRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createReferenceImage(request), expectedError); @@ -1513,7 +1504,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.DeleteReferenceImageRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteReferenceImage(request), expectedError); @@ -1640,7 +1630,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.GetReferenceImageRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getReferenceImage(request), expectedError); @@ -1771,7 +1760,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.AddProductToProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -1905,7 +1893,6 @@ describe('v1.ProductSearchClient', () => { new protos.google.cloud.vision.v1.RemoveProductFromProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index dbe5095a104..5608cd4c5d3 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -362,7 +362,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.CreateProductSetRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProductSet(request), expectedError); @@ -489,7 +488,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.GetProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProductSet(request), expectedError); @@ -620,7 +618,6 @@ describe('v1p3beta1.ProductSearchClient', () => { ); request.productSet = {}; request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProductSet(request), expectedError); @@ -747,7 +744,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.DeleteProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProductSet(request), expectedError); @@ -874,7 +870,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.CreateProductRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProduct(request), expectedError); @@ -1001,7 +996,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.GetProductRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProduct(request), expectedError); @@ -1132,7 +1126,6 @@ describe('v1p3beta1.ProductSearchClient', () => { ); request.product = {}; request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProduct(request), expectedError); @@ -1259,7 +1252,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.DeleteProductRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProduct(request), expectedError); @@ -1387,7 +1379,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createReferenceImage(request), expectedError); @@ -1515,7 +1506,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteReferenceImage(request), expectedError); @@ -1642,7 +1632,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.GetReferenceImageRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getReferenceImage(request), expectedError); @@ -1773,7 +1762,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -1907,7 +1895,6 @@ describe('v1p3beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index 1afeea71d1e..3752aabb246 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -362,7 +362,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.CreateProductSetRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProductSet(request), expectedError); @@ -489,7 +488,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.GetProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProductSet(request), expectedError); @@ -620,7 +618,6 @@ describe('v1p4beta1.ProductSearchClient', () => { ); request.productSet = {}; request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProductSet(request), expectedError); @@ -747,7 +744,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.DeleteProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProductSet(request), expectedError); @@ -874,7 +870,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.CreateProductRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProduct(request), expectedError); @@ -1001,7 +996,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.GetProductRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProduct(request), expectedError); @@ -1132,7 +1126,6 @@ describe('v1p4beta1.ProductSearchClient', () => { ); request.product = {}; request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProduct(request), expectedError); @@ -1259,7 +1252,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.DeleteProductRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProduct(request), expectedError); @@ -1387,7 +1379,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest() ); request.parent = ''; - const expectedHeaderRequestParams = 'parent='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createReferenceImage(request), expectedError); @@ -1515,7 +1506,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteReferenceImage(request), expectedError); @@ -1642,7 +1632,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.GetReferenceImageRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getReferenceImage(request), expectedError); @@ -1773,7 +1762,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -1907,7 +1895,6 @@ describe('v1p4beta1.ProductSearchClient', () => { new protos.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest() ); request.name = ''; - const expectedHeaderRequestParams = 'name='; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( From ede8cc02592ee592693abc7e9dde98d76ac874f9 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 21:04:11 +0000 Subject: [PATCH 539/588] chore: remove unused imports (#997) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 436756904 Source-Link: https://github.com/googleapis/googleapis/commit/6fb9df7c60df339575f391711585286e5fe43d9e Source-Link: https://github.com/googleapis/googleapis-gen/commit/b707d989c4df769a31cb9956920a02b10a183f15 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjcwN2Q5ODljNGRmNzY5YTMxY2I5OTU2OTIwYTAyYjEwYTE4M2YxNSJ9 --- .../protos/google/cloud/vision/v1/geometry.proto | 2 -- .../protos/google/cloud/vision/v1/image_annotator.proto | 1 - .../protos/google/cloud/vision/v1/product_search.proto | 1 - .../protos/google/cloud/vision/v1/text_annotation.proto | 1 - .../protos/google/cloud/vision/v1/web_detection.proto | 2 -- 5 files changed, 7 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto index 376d2da39e8..4e808eaf68d 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -16,8 +16,6 @@ syntax = "proto3"; package google.cloud.vision.v1; -import "google/api/annotations.proto"; - option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; option java_multiple_files = true; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index 3852bed7c01..906455c31e6 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -24,7 +24,6 @@ import "google/cloud/vision/v1/product_search.proto"; import "google/cloud/vision/v1/text_annotation.proto"; import "google/cloud/vision/v1/web_detection.proto"; import "google/longrunning/operations.proto"; -import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; import "google/rpc/status.proto"; import "google/type/color.proto"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 564925feba1..73cb35249bc 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -20,7 +20,6 @@ import "google/api/resource.proto"; import "google/cloud/vision/v1/geometry.proto"; import "google/cloud/vision/v1/product_search_service.proto"; import "google/protobuf/timestamp.proto"; -import "google/api/annotations.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index db3bbdc5fca..ad7db17a7e3 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -17,7 +17,6 @@ syntax = "proto3"; package google.cloud.vision.v1; import "google/cloud/vision/v1/geometry.proto"; -import "google/api/annotations.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto index 5d239b890e5..d5b4d5ba412 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -16,8 +16,6 @@ syntax = "proto3"; package google.cloud.vision.v1; -import "google/api/annotations.proto"; - option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1;vision"; option java_multiple_files = true; From a6a09bcfb6f363970278d2d2f92092daa75ddade Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 21 Apr 2022 02:32:24 +0000 Subject: [PATCH 540/588] build(node): update client library version in samples metadata (#1356) (#1006) * build(node): add feat in node post-processor to add client library version number in snippet metadata Co-authored-by: Benjamin E. Coe Source-Link: https://github.com/googleapis/synthtool/commit/d337b88dd1494365183718a2de0b7b4056b6fdfe Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:d106724ad2a96daa1b8d88de101ba50bdb30b8df62ffa0aa2b451d93b4556641 --- ...ippet_metadata.google.cloud.vision.v1.json | 1992 ++++++++--------- ...etadata.google.cloud.vision.v1p1beta1.json | 104 +- ...etadata.google.cloud.vision.v1p2beta1.json | 180 +- ...etadata.google.cloud.vision.v1p3beta1.json | 1700 +++++++------- ...etadata.google.cloud.vision.v1p4beta1.json | 1960 ++++++++-------- 5 files changed, 2968 insertions(+), 2968 deletions(-) diff --git a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json index 8b1bcfa28bd..c5cb348bd1b 100644 --- a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json +++ b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json @@ -1,1043 +1,1043 @@ { - "clientLibrary": { - "name": "nodejs-vision", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.vision.v1", - "version": "v1" - } - ] - }, - "snippets": [ - { - "regionTag": "vision_v1_generated_ImageAnnotator_BatchAnnotateImages_async", - "title": "vision batchAnnotateImages Sample", - "origin": "API_DEFINITION", - "description": " Run image detection and annotation for a batch of images.", - "canonical": true, - "file": "image_annotator.batch_annotate_images.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 61, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImages", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - }, - { - "name": "parent", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.BatchAnnotateImagesResponse", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" - }, - "method": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImages", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1.ImageAnnotator" - } - } - } + "clientLibrary": { + "name": "nodejs-vision", + "version": "2.4.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1", + "version": "v1" + } + ] }, - { - "regionTag": "vision_v1_generated_ImageAnnotator_BatchAnnotateFiles_async", - "title": "vision batchAnnotateFiles Sample", - "origin": "API_DEFINITION", - "description": " Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", - "canonical": true, - "file": "image_annotator.batch_annotate_files.js", - "language": "JAVASCRIPT", - "segments": [ + "snippets": [ { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "BatchAnnotateFiles", - "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFiles", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - }, - { - "name": "parent", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.BatchAnnotateFilesResponse", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + "regionTag": "vision_v1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 61, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "BatchAnnotateFiles", - "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFiles", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1.ImageAnnotator" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async", - "title": "vision asyncBatchAnnotateImages Sample", - "origin": "API_DEFINITION", - "description": " Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", - "canonical": true, - "file": "image_annotator.async_batch_annotate_images.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 67, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AsyncBatchAnnotateImages", - "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImages", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - }, - { - "name": "output_config", - "type": ".google.cloud.vision.v1.OutputConfig" - }, - { - "name": "parent", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + "regionTag": "vision_v1_generated_ImageAnnotator_BatchAnnotateFiles_async", + "title": "vision batchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", + "canonical": true, + "file": "image_annotator.batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateFiles", + "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.BatchAnnotateFilesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateFiles", + "fullName": "google.cloud.vision.v1.ImageAnnotator.BatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "AsyncBatchAnnotateImages", - "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImages", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1.ImageAnnotator" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", - "title": "vision asyncBatchAnnotateFiles Sample", - "origin": "API_DEFINITION", - "description": " Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", - "canonical": true, - "file": "image_annotator.async_batch_annotate_files.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AsyncBatchAnnotateFiles", - "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFiles", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - }, - { - "name": "parent", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + "regionTag": "vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async", + "title": "vision asyncBatchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", + "canonical": true, + "file": "image_annotator.async_batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 67, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateImages", + "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "output_config", + "type": ".google.cloud.vision.v1.OutputConfig" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateImages", + "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "AsyncBatchAnnotateFiles", - "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFiles", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1.ImageAnnotator" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_CreateProductSet_async", - "title": "vision createProductSet Sample", - "origin": "API_DEFINITION", - "description": " Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", - "canonical": true, - "file": "product_search.create_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 63, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.CreateProductSet", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "product_set", - "type": ".google.cloud.vision.v1.ProductSet" - }, - { - "name": "product_set_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.ProductSet", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", + "title": "vision asyncBatchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", + "canonical": true, + "file": "image_annotator.async_batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1.ImageAnnotator.AsyncBatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "CreateProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.CreateProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_ListProductSets_async", - "title": "vision listProductSets Sample", - "origin": "API_DEFINITION", - "description": " Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", - "canonical": true, - "file": "product_search.list_product_sets.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 61, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProductSets", - "fullName": "google.cloud.vision.v1.ProductSearch.ListProductSets", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.ListProductSetsResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_CreateProductSet_async", + "title": "vision createProductSet Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", + "canonical": true, + "file": "product_search.create_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateProductSet", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product_set", + "type": ".google.cloud.vision.v1.ProductSet" + }, + { + "name": "product_set_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListProductSets", - "fullName": "google.cloud.vision.v1.ProductSearch.ListProductSets", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_GetProductSet_async", - "title": "vision getProductSet Sample", - "origin": "API_DEFINITION", - "description": " Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", - "canonical": true, - "file": "product_search.get_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.GetProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.ProductSet", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_ListProductSets_async", + "title": "vision listProductSets Sample", + "origin": "API_DEFINITION", + "description": " Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 61, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ListProductSetsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "GetProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.GetProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_UpdateProductSet_async", - "title": "vision updateProductSet Sample", - "origin": "API_DEFINITION", - "description": " Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", - "canonical": true, - "file": "product_search.update_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 57, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProductSet", - "async": true, - "parameters": [ - { - "name": "product_set", - "type": ".google.cloud.vision.v1.ProductSet" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.vision.v1.ProductSet", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_GetProductSet_async", + "title": "vision getProductSet Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", + "canonical": true, + "file": "product_search.get_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.GetProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.GetProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "UpdateProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_DeleteProductSet_async", - "title": "vision deleteProductSet Sample", - "origin": "API_DEFINITION", - "description": " Permanently deletes a ProductSet. Products and ReferenceImages in the ProductSet are not deleted. The actual image files are not deleted from Google Cloud Storage.", - "canonical": true, - "file": "product_search.delete_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_UpdateProductSet_async", + "title": "vision updateProductSet Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", + "canonical": true, + "file": "product_search.update_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProductSet", + "async": true, + "parameters": [ + { + "name": "product_set", + "type": ".google.cloud.vision.v1.ProductSet" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "DeleteProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_CreateProduct_async", - "title": "vision createProduct Sample", - "origin": "API_DEFINITION", - "description": " Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", - "canonical": true, - "file": "product_search.create_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 64, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateProduct", - "fullName": "google.cloud.vision.v1.ProductSearch.CreateProduct", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "product", - "type": ".google.cloud.vision.v1.Product" - }, - { - "name": "product_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.Product", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_DeleteProductSet_async", + "title": "vision deleteProductSet Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a ProductSet. Products and ReferenceImages in the ProductSet are not deleted. The actual image files are not deleted from Google Cloud Storage.", + "canonical": true, + "file": "product_search.delete_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "CreateProduct", - "fullName": "google.cloud.vision.v1.ProductSearch.CreateProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_ListProducts_async", - "title": "vision listProducts Sample", - "origin": "API_DEFINITION", - "description": " Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", - "canonical": true, - "file": "product_search.list_products.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProducts", - "fullName": "google.cloud.vision.v1.ProductSearch.ListProducts", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.ListProductsResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_CreateProduct_async", + "title": "vision createProduct Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", + "canonical": true, + "file": "product_search.create_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateProduct", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": ".google.cloud.vision.v1.Product" + }, + { + "name": "product_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListProducts", - "fullName": "google.cloud.vision.v1.ProductSearch.ListProducts", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_GetProduct_async", - "title": "vision getProduct Sample", - "origin": "API_DEFINITION", - "description": " Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", - "canonical": true, - "file": "product_search.get_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetProduct", - "fullName": "google.cloud.vision.v1.ProductSearch.GetProduct", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.Product", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_ListProducts_async", + "title": "vision listProducts Sample", + "origin": "API_DEFINITION", + "description": " Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProducts", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ListProductsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "GetProduct", - "fullName": "google.cloud.vision.v1.ProductSearch.GetProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_UpdateProduct_async", - "title": "vision updateProduct Sample", - "origin": "API_DEFINITION", - "description": " Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", - "canonical": true, - "file": "product_search.update_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateProduct", - "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProduct", - "async": true, - "parameters": [ - { - "name": "product", - "type": ".google.cloud.vision.v1.Product" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.vision.v1.Product", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_GetProduct_async", + "title": "vision getProduct Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", + "canonical": true, + "file": "product_search.get_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.GetProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.GetProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "UpdateProduct", - "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_DeleteProduct_async", - "title": "vision deleteProduct Sample", - "origin": "API_DEFINITION", - "description": " Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed.", - "canonical": true, - "file": "product_search.delete_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteProduct", - "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProduct", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_UpdateProduct_async", + "title": "vision updateProduct Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", + "canonical": true, + "file": "product_search.update_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProduct", + "async": true, + "parameters": [ + { + "name": "product", + "type": ".google.cloud.vision.v1.Product" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.UpdateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "DeleteProduct", - "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_CreateReferenceImage_async", - "title": "vision createReferenceImage Sample", - "origin": "API_DEFINITION", - "description": " Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", - "canonical": true, - "file": "product_search.create_reference_image.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 65, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateReferenceImage", - "fullName": "google.cloud.vision.v1.ProductSearch.CreateReferenceImage", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "reference_image", - "type": ".google.cloud.vision.v1.ReferenceImage" - }, - { - "name": "reference_image_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.ReferenceImage", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_DeleteProduct_async", + "title": "vision deleteProduct Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed.", + "canonical": true, + "file": "product_search.delete_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "CreateReferenceImage", - "fullName": "google.cloud.vision.v1.ProductSearch.CreateReferenceImage", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_DeleteReferenceImage_async", - "title": "vision deleteReferenceImage Sample", - "origin": "API_DEFINITION", - "description": " Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage.", - "canonical": true, - "file": "product_search.delete_reference_image.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteReferenceImage", - "fullName": "google.cloud.vision.v1.ProductSearch.DeleteReferenceImage", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_CreateReferenceImage_async", + "title": "vision createReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", + "canonical": true, + "file": "product_search.create_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 65, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateReferenceImage", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "reference_image", + "type": ".google.cloud.vision.v1.ReferenceImage" + }, + { + "name": "reference_image_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.CreateReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "DeleteReferenceImage", - "fullName": "google.cloud.vision.v1.ProductSearch.DeleteReferenceImage", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_ListReferenceImages_async", - "title": "vision listReferenceImages Sample", - "origin": "API_DEFINITION", - "description": " Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", - "canonical": true, - "file": "product_search.list_reference_images.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 64, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListReferenceImages", - "fullName": "google.cloud.vision.v1.ProductSearch.ListReferenceImages", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.ListReferenceImagesResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_DeleteReferenceImage_async", + "title": "vision deleteReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage.", + "canonical": true, + "file": "product_search.delete_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.DeleteReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListReferenceImages", - "fullName": "google.cloud.vision.v1.ProductSearch.ListReferenceImages", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_GetReferenceImage_async", - "title": "vision getReferenceImage Sample", - "origin": "API_DEFINITION", - "description": " Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", - "canonical": true, - "file": "product_search.get_reference_image.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetReferenceImage", - "fullName": "google.cloud.vision.v1.ProductSearch.GetReferenceImage", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.ReferenceImage", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_ListReferenceImages_async", + "title": "vision listReferenceImages Sample", + "origin": "API_DEFINITION", + "description": " Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_reference_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1.ProductSearch.ListReferenceImages", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ListReferenceImagesResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1.ProductSearch.ListReferenceImages", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "GetReferenceImage", - "fullName": "google.cloud.vision.v1.ProductSearch.GetReferenceImage", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_AddProductToProductSet_async", - "title": "vision addProductToProductSet Sample", - "origin": "API_DEFINITION", - "description": " Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", - "canonical": true, - "file": "product_search.add_product_to_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AddProductToProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.AddProductToProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "product", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_GetReferenceImage_async", + "title": "vision getReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", + "canonical": true, + "file": "product_search.get_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.GetReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1.ProductSearch.GetReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "AddProductToProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.AddProductToProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_RemoveProductFromProductSet_async", - "title": "vision removeProductFromProductSet Sample", - "origin": "API_DEFINITION", - "description": " Removes a Product from the specified ProductSet.", - "canonical": true, - "file": "product_search.remove_product_from_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "RemoveProductFromProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.RemoveProductFromProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "product", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_AddProductToProductSet_async", + "title": "vision addProductToProductSet Sample", + "origin": "API_DEFINITION", + "description": " Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", + "canonical": true, + "file": "product_search.add_product_to_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.AddProductToProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.AddProductToProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "RemoveProductFromProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.RemoveProductFromProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_ListProductsInProductSet_async", - "title": "vision listProductsInProductSet Sample", - "origin": "API_DEFINITION", - "description": " Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", - "canonical": true, - "file": "product_search.list_products_in_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProductsInProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.ListProductsInProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1.ListProductsInProductSetResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_RemoveProductFromProductSet_async", + "title": "vision removeProductFromProductSet Sample", + "origin": "API_DEFINITION", + "description": " Removes a Product from the specified ProductSet.", + "canonical": true, + "file": "product_search.remove_product_from_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.RemoveProductFromProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.RemoveProductFromProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListProductsInProductSet", - "fullName": "google.cloud.vision.v1.ProductSearch.ListProductsInProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_ImportProductSets_async", - "title": "vision importProductSets Sample", - "origin": "API_DEFINITION", - "description": " Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri].", - "canonical": true, - "file": "product_search.import_product_sets.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 57, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ImportProductSets", - "fullName": "google.cloud.vision.v1.ProductSearch.ImportProductSets", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "input_config", - "type": ".google.cloud.vision.v1.ImportProductSetsInputConfig" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_ListProductsInProductSet_async", + "title": "vision listProductsInProductSet Sample", + "origin": "API_DEFINITION", + "description": " Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products_in_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProductsInProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1.ListProductsInProductSetResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1.ProductSearch.ListProductsInProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ImportProductSets", - "fullName": "google.cloud.vision.v1.ProductSearch.ImportProductSets", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1_generated_ProductSearch_PurgeProducts_async", - "title": "vision purgeProducts Sample", - "origin": "API_DEFINITION", - "description": " Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress)", - "canonical": true, - "file": "product_search.purge_products.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 66, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "PurgeProducts", - "fullName": "google.cloud.vision.v1.ProductSearch.PurgeProducts", - "async": true, - "parameters": [ - { - "name": "product_set_purge_config", - "type": ".google.cloud.vision.v1.ProductSetPurgeConfig" - }, - { - "name": "delete_orphan_products", - "type": "TYPE_BOOL" - }, - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "force", - "type": "TYPE_BOOL" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1.ProductSearchClient" + "regionTag": "vision_v1_generated_ProductSearch_ImportProductSets_async", + "title": "vision importProductSets Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1.ImportProductSetsGcsSource.csv_file_uri].", + "canonical": true, + "file": "product_search.import_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1.ProductSearch.ImportProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "input_config", + "type": ".google.cloud.vision.v1.ImportProductSetsInputConfig" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1.ProductSearch.ImportProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } }, - "method": { - "shortName": "PurgeProducts", - "fullName": "google.cloud.vision.v1.ProductSearch.PurgeProducts", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1.ProductSearch" - } + { + "regionTag": "vision_v1_generated_ProductSearch_PurgeProducts_async", + "title": "vision purgeProducts Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress)", + "canonical": true, + "file": "product_search.purge_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "PurgeProducts", + "fullName": "google.cloud.vision.v1.ProductSearch.PurgeProducts", + "async": true, + "parameters": [ + { + "name": "product_set_purge_config", + "type": ".google.cloud.vision.v1.ProductSetPurgeConfig" + }, + { + "name": "delete_orphan_products", + "type": "TYPE_BOOL" + }, + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "force", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1.ProductSearchClient" + }, + "method": { + "shortName": "PurgeProducts", + "fullName": "google.cloud.vision.v1.ProductSearch.PurgeProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1.ProductSearch" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json index 9d8765f31ca..142326c736f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json @@ -1,55 +1,55 @@ { - "clientLibrary": { - "name": "nodejs-vision", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.vision.v1p1beta1", - "version": "v1p1beta1" - } - ] - }, - "snippets": [ - { - "regionTag": "vision_v1p1beta1_generated_ImageAnnotator_BatchAnnotateImages_async", - "title": "vision batchAnnotateImages Sample", - "origin": "API_DEFINITION", - "description": " Run image detection and annotation for a batch of images.", - "canonical": true, - "file": "image_annotator.batch_annotate_images.js", - "language": "JAVASCRIPT", - "segments": [ + "clientLibrary": { + "name": "nodejs-vision", + "version": "2.4.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1p1beta1", + "version": "v1p1beta1" + } + ] + }, + "snippets": [ { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - } - ], - "resultType": ".google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotatorClient" - }, - "method": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotator" - } + "regionTag": "vision_v1p1beta1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p1beta1.ImageAnnotator" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json index 9bc85307802..044951a44d4 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json @@ -1,95 +1,95 @@ { - "clientLibrary": { - "name": "nodejs-vision", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.vision.v1p2beta1", - "version": "v1p2beta1" - } - ] - }, - "snippets": [ - { - "regionTag": "vision_v1p2beta1_generated_ImageAnnotator_BatchAnnotateImages_async", - "title": "vision batchAnnotateImages Sample", - "origin": "API_DEFINITION", - "description": " Run image detection and annotation for a batch of images.", - "canonical": true, - "file": "image_annotator.batch_annotate_images.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImages", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - } - ], - "resultType": ".google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotatorClient" - }, - "method": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImages", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator" - } - } - } + "clientLibrary": { + "name": "nodejs-vision", + "version": "2.4.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1p2beta1", + "version": "v1p2beta1" + } + ] }, - { - "regionTag": "vision_v1p2beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", - "title": "vision asyncBatchAnnotateFiles Sample", - "origin": "API_DEFINITION", - "description": " Run async image detection and annotation for a list of generic files (e.g. PDF) which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", - "canonical": true, - "file": "image_annotator.async_batch_annotate_files.js", - "language": "JAVASCRIPT", - "segments": [ + "snippets": [ { - "start": 25, - "end": 51, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AsyncBatchAnnotateFiles", - "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFiles", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotatorClient" + "regionTag": "vision_v1p2beta1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "AsyncBatchAnnotateFiles", - "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFiles", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator" - } + { + "regionTag": "vision_v1p2beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", + "title": "vision asyncBatchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Run async image detection and annotation for a list of generic files (e.g. PDF) which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", + "canonical": true, + "file": "image_annotator.async_batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p2beta1.ImageAnnotator" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json index 5ec94c1039e..f19cd621a54 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json @@ -1,891 +1,891 @@ { - "clientLibrary": { - "name": "nodejs-vision", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.vision.v1p3beta1", - "version": "v1p3beta1" - } - ] - }, - "snippets": [ - { - "regionTag": "vision_v1p3beta1_generated_ImageAnnotator_BatchAnnotateImages_async", - "title": "vision batchAnnotateImages Sample", - "origin": "API_DEFINITION", - "description": " Run image detection and annotation for a batch of images.", - "canonical": true, - "file": "image_annotator.batch_annotate_images.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 49, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImages", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotatorClient" - }, - "method": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImages", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator" - } - } - } + "clientLibrary": { + "name": "nodejs-vision", + "version": "2.4.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1p3beta1", + "version": "v1p3beta1" + } + ] }, - { - "regionTag": "vision_v1p3beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", - "title": "vision asyncBatchAnnotateFiles Sample", - "origin": "API_DEFINITION", - "description": " Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", - "canonical": true, - "file": "image_annotator.async_batch_annotate_files.js", - "language": "JAVASCRIPT", - "segments": [ + "snippets": [ { - "start": 25, - "end": 51, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AsyncBatchAnnotateFiles", - "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFiles", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotatorClient" + "regionTag": "vision_v1p3beta1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 49, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "AsyncBatchAnnotateFiles", - "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFiles", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_CreateProductSet_async", - "title": "vision createProductSet Sample", - "origin": "API_DEFINITION", - "description": " Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", - "canonical": true, - "file": "product_search.create_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 63, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProductSet", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "product_set", - "type": ".google.cloud.vision.v1p3beta1.ProductSet" - }, - { - "name": "product_set_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.ProductSet", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", + "title": "vision asyncBatchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", + "canonical": true, + "file": "image_annotator.async_batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p3beta1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "CreateProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListProductSets_async", - "title": "vision listProductSets Sample", - "origin": "API_DEFINITION", - "description": " Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", - "canonical": true, - "file": "product_search.list_product_sets.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 61, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProductSets", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductSets", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.ListProductSetsResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_CreateProductSet_async", + "title": "vision createProductSet Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", + "canonical": true, + "file": "product_search.create_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProductSet", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product_set", + "type": ".google.cloud.vision.v1p3beta1.ProductSet" + }, + { + "name": "product_set_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListProductSets", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductSets", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_GetProductSet_async", - "title": "vision getProductSet Sample", - "origin": "API_DEFINITION", - "description": " Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", - "canonical": true, - "file": "product_search.get_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.ProductSet", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListProductSets_async", + "title": "vision listProductSets Sample", + "origin": "API_DEFINITION", + "description": " Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 61, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ListProductSetsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "GetProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_UpdateProductSet_async", - "title": "vision updateProductSet Sample", - "origin": "API_DEFINITION", - "description": " Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", - "canonical": true, - "file": "product_search.update_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 57, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductSet", - "async": true, - "parameters": [ - { - "name": "product_set", - "type": ".google.cloud.vision.v1p3beta1.ProductSet" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.ProductSet", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_GetProductSet_async", + "title": "vision getProductSet Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", + "canonical": true, + "file": "product_search.get_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "UpdateProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_DeleteProductSet_async", - "title": "vision deleteProductSet Sample", - "origin": "API_DEFINITION", - "description": " Permanently deletes a ProductSet. All Products and ReferenceImages in the ProductSet will be deleted. The actual image files are not deleted from Google Cloud Storage. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", - "canonical": true, - "file": "product_search.delete_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_UpdateProductSet_async", + "title": "vision updateProductSet Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", + "canonical": true, + "file": "product_search.update_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductSet", + "async": true, + "parameters": [ + { + "name": "product_set", + "type": ".google.cloud.vision.v1p3beta1.ProductSet" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "DeleteProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_CreateProduct_async", - "title": "vision createProduct Sample", - "origin": "API_DEFINITION", - "description": " Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", - "canonical": true, - "file": "product_search.create_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 64, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateProduct", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProduct", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "product", - "type": ".google.cloud.vision.v1p3beta1.Product" - }, - { - "name": "product_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.Product", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_DeleteProductSet_async", + "title": "vision deleteProductSet Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a ProductSet. All Products and ReferenceImages in the ProductSet will be deleted. The actual image files are not deleted from Google Cloud Storage. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", + "canonical": true, + "file": "product_search.delete_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "CreateProduct", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListProducts_async", - "title": "vision listProducts Sample", - "origin": "API_DEFINITION", - "description": " Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", - "canonical": true, - "file": "product_search.list_products.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProducts", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProducts", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.ListProductsResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_CreateProduct_async", + "title": "vision createProduct Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", + "canonical": true, + "file": "product_search.create_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProduct", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": ".google.cloud.vision.v1p3beta1.Product" + }, + { + "name": "product_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListProducts", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProducts", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_GetProduct_async", - "title": "vision getProduct Sample", - "origin": "API_DEFINITION", - "description": " Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", - "canonical": true, - "file": "product_search.get_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetProduct", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProduct", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.Product", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListProducts_async", + "title": "vision listProducts Sample", + "origin": "API_DEFINITION", + "description": " Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProducts", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ListProductsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "GetProduct", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_UpdateProduct_async", - "title": "vision updateProduct Sample", - "origin": "API_DEFINITION", - "description": " Makes changes to a Product resource. Only display_name, description and labels can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", - "canonical": true, - "file": "product_search.update_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateProduct", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProduct", - "async": true, - "parameters": [ - { - "name": "product", - "type": ".google.cloud.vision.v1p3beta1.Product" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.Product", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_GetProduct_async", + "title": "vision getProduct Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", + "canonical": true, + "file": "product_search.get_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "UpdateProduct", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_DeleteProduct_async", - "title": "vision deleteProduct Sample", - "origin": "API_DEFINITION", - "description": " Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed. Possible errors: * Returns NOT_FOUND if the product does not exist.", - "canonical": true, - "file": "product_search.delete_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteProduct", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProduct", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_UpdateProduct_async", + "title": "vision updateProduct Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a Product resource. Only display_name, description and labels can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", + "canonical": true, + "file": "product_search.update_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProduct", + "async": true, + "parameters": [ + { + "name": "product", + "type": ".google.cloud.vision.v1p3beta1.Product" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.UpdateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "DeleteProduct", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_CreateReferenceImage_async", - "title": "vision createReferenceImage Sample", - "origin": "API_DEFINITION", - "description": " Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", - "canonical": true, - "file": "product_search.create_reference_image.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 65, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateReferenceImage", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateReferenceImage", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "reference_image", - "type": ".google.cloud.vision.v1p3beta1.ReferenceImage" - }, - { - "name": "reference_image_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.ReferenceImage", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_DeleteProduct_async", + "title": "vision deleteProduct Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed. Possible errors: * Returns NOT_FOUND if the product does not exist.", + "canonical": true, + "file": "product_search.delete_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "CreateReferenceImage", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateReferenceImage", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_DeleteReferenceImage_async", - "title": "vision deleteReferenceImage Sample", - "origin": "API_DEFINITION", - "description": " Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage. Possible errors: * Returns NOT_FOUND if the reference image does not exist.", - "canonical": true, - "file": "product_search.delete_reference_image.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteReferenceImage", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteReferenceImage", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_CreateReferenceImage_async", + "title": "vision createReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", + "canonical": true, + "file": "product_search.create_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 65, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateReferenceImage", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "reference_image", + "type": ".google.cloud.vision.v1p3beta1.ReferenceImage" + }, + { + "name": "reference_image_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.CreateReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "DeleteReferenceImage", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteReferenceImage", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListReferenceImages_async", - "title": "vision listReferenceImages Sample", - "origin": "API_DEFINITION", - "description": " Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", - "canonical": true, - "file": "product_search.list_reference_images.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 64, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListReferenceImages", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListReferenceImages", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.ListReferenceImagesResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_DeleteReferenceImage_async", + "title": "vision deleteReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage. Possible errors: * Returns NOT_FOUND if the reference image does not exist.", + "canonical": true, + "file": "product_search.delete_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.DeleteReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListReferenceImages", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListReferenceImages", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_GetReferenceImage_async", - "title": "vision getReferenceImage Sample", - "origin": "API_DEFINITION", - "description": " Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", - "canonical": true, - "file": "product_search.get_reference_image.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetReferenceImage", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetReferenceImage", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.ReferenceImage", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListReferenceImages_async", + "title": "vision listReferenceImages Sample", + "origin": "API_DEFINITION", + "description": " Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_reference_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListReferenceImages", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ListReferenceImagesResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListReferenceImages", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "GetReferenceImage", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetReferenceImage", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_AddProductToProductSet_async", - "title": "vision addProductToProductSet Sample", - "origin": "API_DEFINITION", - "description": " Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", - "canonical": true, - "file": "product_search.add_product_to_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AddProductToProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.AddProductToProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "product", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_GetReferenceImage_async", + "title": "vision getReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", + "canonical": true, + "file": "product_search.get_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.GetReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "AddProductToProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.AddProductToProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_RemoveProductFromProductSet_async", - "title": "vision removeProductFromProductSet Sample", - "origin": "API_DEFINITION", - "description": " Removes a Product from the specified ProductSet. Possible errors: * Returns NOT_FOUND If the Product is not found under the ProductSet.", - "canonical": true, - "file": "product_search.remove_product_from_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "RemoveProductFromProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.RemoveProductFromProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "product", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_AddProductToProductSet_async", + "title": "vision addProductToProductSet Sample", + "origin": "API_DEFINITION", + "description": " Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", + "canonical": true, + "file": "product_search.add_product_to_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.AddProductToProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.AddProductToProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "RemoveProductFromProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.RemoveProductFromProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListProductsInProductSet_async", - "title": "vision listProductsInProductSet Sample", - "origin": "API_DEFINITION", - "description": " Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", - "canonical": true, - "file": "product_search.list_products_in_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProductsInProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductsInProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_RemoveProductFromProductSet_async", + "title": "vision removeProductFromProductSet Sample", + "origin": "API_DEFINITION", + "description": " Removes a Product from the specified ProductSet. Possible errors: * Returns NOT_FOUND If the Product is not found under the ProductSet.", + "canonical": true, + "file": "product_search.remove_product_from_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.RemoveProductFromProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.RemoveProductFromProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListProductsInProductSet", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductsInProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p3beta1_generated_ProductSearch_ImportProductSets_async", - "title": "vision importProductSets Sample", - "origin": "API_DEFINITION", - "description": " Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri].", - "canonical": true, - "file": "product_search.import_product_sets.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 57, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ImportProductSets", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ImportProductSets", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "input_config", - "type": ".google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ListProductsInProductSet_async", + "title": "vision listProductsInProductSet Sample", + "origin": "API_DEFINITION", + "description": " Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products_in_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductsInProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ListProductsInProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ImportProductSets", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ImportProductSets", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" - } + { + "regionTag": "vision_v1p3beta1_generated_ProductSearch_ImportProductSets_async", + "title": "vision importProductSets Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri].", + "canonical": true, + "file": "product_search.import_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ImportProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "input_config", + "type": ".google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearchClient" + }, + "method": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch.ImportProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p3beta1.ProductSearch" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json index bc1ebcd3c5b..dcd3f7c0e08 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json @@ -1,1027 +1,1027 @@ { - "clientLibrary": { - "name": "nodejs-vision", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.vision.v1p4beta1", - "version": "v1p4beta1" - } - ] - }, - "snippets": [ - { - "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateImages_async", - "title": "vision batchAnnotateImages Sample", - "origin": "API_DEFINITION", - "description": " Run image detection and annotation for a batch of images.", - "canonical": true, - "file": "image_annotator.batch_annotate_images.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 50, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" - }, - "method": { - "shortName": "BatchAnnotateImages", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" - } - } - } + "clientLibrary": { + "name": "nodejs-vision", + "version": "2.4.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.vision.v1p4beta1", + "version": "v1p4beta1" + } + ] }, - { - "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateFiles_async", - "title": "vision batchAnnotateFiles Sample", - "origin": "API_DEFINITION", - "description": " Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", - "canonical": true, - "file": "image_annotator.batch_annotate_files.js", - "language": "JAVASCRIPT", - "segments": [ + "snippets": [ { - "start": 25, - "end": 51, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "BatchAnnotateFiles", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateImages_async", + "title": "vision batchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run image detection and annotation for a batch of images.", + "canonical": true, + "file": "image_annotator.batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 50, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateImages", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "BatchAnnotateFiles", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async", - "title": "vision asyncBatchAnnotateImages Sample", - "origin": "API_DEFINITION", - "description": " Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", - "canonical": true, - "file": "image_annotator.async_batch_annotate_images.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 56, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AsyncBatchAnnotateImages", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - }, - { - "name": "output_config", - "type": ".google.cloud.vision.v1p4beta1.OutputConfig" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateFiles_async", + "title": "vision batchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", + "canonical": true, + "file": "image_annotator.batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "BatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "AsyncBatchAnnotateImages", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", - "title": "vision asyncBatchAnnotateFiles Sample", - "origin": "API_DEFINITION", - "description": " Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", - "canonical": true, - "file": "image_annotator.async_batch_annotate_files.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 51, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AsyncBatchAnnotateFiles", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles", - "async": true, - "parameters": [ - { - "name": "requests", - "type": "TYPE_MESSAGE[]" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ImageAnnotatorClient", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async", + "title": "vision asyncBatchAnnotateImages Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", + "canonical": true, + "file": "image_annotator.async_batch_annotate_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 56, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateImages", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + }, + { + "name": "output_config", + "type": ".google.cloud.vision.v1p4beta1.OutputConfig" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateImages", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "AsyncBatchAnnotateFiles", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles", - "service": { - "shortName": "ImageAnnotator", - "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_CreateProductSet_async", - "title": "vision createProductSet Sample", - "origin": "API_DEFINITION", - "description": " Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", - "canonical": true, - "file": "product_search.create_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 63, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSet", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "product_set", - "type": ".google.cloud.vision.v1p4beta1.ProductSet" - }, - { - "name": "product_set_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.ProductSet", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async", + "title": "vision asyncBatchAnnotateFiles Sample", + "origin": "API_DEFINITION", + "description": " Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", + "canonical": true, + "file": "image_annotator.async_batch_annotate_files.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 51, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "async": true, + "parameters": [ + { + "name": "requests", + "type": "TYPE_MESSAGE[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ImageAnnotatorClient", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotatorClient" + }, + "method": { + "shortName": "AsyncBatchAnnotateFiles", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles", + "service": { + "shortName": "ImageAnnotator", + "fullName": "google.cloud.vision.v1p4beta1.ImageAnnotator" + } + } + } }, - "method": { - "shortName": "CreateProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListProductSets_async", - "title": "vision listProductSets Sample", - "origin": "API_DEFINITION", - "description": " Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", - "canonical": true, - "file": "product_search.list_product_sets.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 61, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProductSets", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductSets", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.ListProductSetsResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_CreateProductSet_async", + "title": "vision createProductSet Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ProductSet resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing, or is longer than 4096 characters.", + "canonical": true, + "file": "product_search.create_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSet", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product_set", + "type": ".google.cloud.vision.v1p4beta1.ProductSet" + }, + { + "name": "product_set_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListProductSets", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductSets", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_GetProductSet_async", - "title": "vision getProductSet Sample", - "origin": "API_DEFINITION", - "description": " Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", - "canonical": true, - "file": "product_search.get_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.ProductSet", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListProductSets_async", + "title": "vision listProductSets Sample", + "origin": "API_DEFINITION", + "description": " Lists ProductSets in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 61, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ListProductSetsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductSets", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "GetProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_UpdateProductSet_async", - "title": "vision updateProductSet Sample", - "origin": "API_DEFINITION", - "description": " Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", - "canonical": true, - "file": "product_search.update_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 57, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSet", - "async": true, - "parameters": [ - { - "name": "product_set", - "type": ".google.cloud.vision.v1p4beta1.ProductSet" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.ProductSet", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_GetProductSet_async", + "title": "vision getProductSet Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ProductSet. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist.", + "canonical": true, + "file": "product_search.get_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "UpdateProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_DeleteProductSet_async", - "title": "vision deleteProductSet Sample", - "origin": "API_DEFINITION", - "description": " Permanently deletes a ProductSet. Products and ReferenceImages in the ProductSet are not deleted. The actual image files are not deleted from Google Cloud Storage.", - "canonical": true, - "file": "product_search.delete_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_UpdateProductSet_async", + "title": "vision updateProductSet Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a ProductSet resource. Only display_name can be updated currently. Possible errors: * Returns NOT_FOUND if the ProductSet does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but missing from the request or longer than 4096 characters.", + "canonical": true, + "file": "product_search.update_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSet", + "async": true, + "parameters": [ + { + "name": "product_set", + "type": ".google.cloud.vision.v1p4beta1.ProductSet" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ProductSet", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "DeleteProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_CreateProduct_async", - "title": "vision createProduct Sample", - "origin": "API_DEFINITION", - "description": " Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", - "canonical": true, - "file": "product_search.create_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 64, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateProduct", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProduct", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "product", - "type": ".google.cloud.vision.v1p4beta1.Product" - }, - { - "name": "product_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.Product", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_DeleteProductSet_async", + "title": "vision deleteProductSet Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a ProductSet. Products and ReferenceImages in the ProductSet are not deleted. The actual image files are not deleted from Google Cloud Storage.", + "canonical": true, + "file": "product_search.delete_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "CreateProduct", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListProducts_async", - "title": "vision listProducts Sample", - "origin": "API_DEFINITION", - "description": " Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", - "canonical": true, - "file": "product_search.list_products.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProducts", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProducts", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.ListProductsResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_CreateProduct_async", + "title": "vision createProduct Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.", + "canonical": true, + "file": "product_search.create_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProduct", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": ".google.cloud.vision.v1p4beta1.Product" + }, + { + "name": "product_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListProducts", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProducts", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_GetProduct_async", - "title": "vision getProduct Sample", - "origin": "API_DEFINITION", - "description": " Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", - "canonical": true, - "file": "product_search.get_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetProduct", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProduct", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.Product", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListProducts_async", + "title": "vision listProducts Sample", + "origin": "API_DEFINITION", + "description": " Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProducts", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ListProductsResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProducts", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "GetProduct", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_UpdateProduct_async", - "title": "vision updateProduct Sample", - "origin": "API_DEFINITION", - "description": " Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", - "canonical": true, - "file": "product_search.update_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateProduct", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProduct", - "async": true, - "parameters": [ - { - "name": "product", - "type": ".google.cloud.vision.v1p4beta1.Product" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.Product", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_GetProduct_async", + "title": "vision getProduct Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.", + "canonical": true, + "file": "product_search.get_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "UpdateProduct", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_DeleteProduct_async", - "title": "vision deleteProduct Sample", - "origin": "API_DEFINITION", - "description": " Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed.", - "canonical": true, - "file": "product_search.delete_product.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteProduct", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProduct", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_UpdateProduct_async", + "title": "vision updateProduct Sample", + "origin": "API_DEFINITION", + "description": " Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.", + "canonical": true, + "file": "product_search.update_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProduct", + "async": true, + "parameters": [ + { + "name": "product", + "type": ".google.cloud.vision.v1p4beta1.Product" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.Product", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "UpdateProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.UpdateProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "DeleteProduct", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProduct", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_CreateReferenceImage_async", - "title": "vision createReferenceImage Sample", - "origin": "API_DEFINITION", - "description": " Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", - "canonical": true, - "file": "product_search.create_reference_image.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 66, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateReferenceImage", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImage", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "reference_image", - "type": ".google.cloud.vision.v1p4beta1.ReferenceImage" - }, - { - "name": "reference_image_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.ReferenceImage", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_DeleteProduct_async", + "title": "vision deleteProduct Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed.", + "canonical": true, + "file": "product_search.delete_product.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProduct", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteProduct", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteProduct", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "CreateReferenceImage", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImage", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_DeleteReferenceImage_async", - "title": "vision deleteReferenceImage Sample", - "origin": "API_DEFINITION", - "description": " Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage.", - "canonical": true, - "file": "product_search.delete_reference_image.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteReferenceImage", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImage", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_CreateReferenceImage_async", + "title": "vision createReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Creates and returns a new ReferenceImage resource. The `bounding_poly` field is optional. If `bounding_poly` is not specified, the system will try to detect regions of interest in the image that are compatible with the product_category on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles. Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP). Possible errors: * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if the product does not exist. * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing compatible with the parent product's product_category is detected. * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.", + "canonical": true, + "file": "product_search.create_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImage", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "reference_image", + "type": ".google.cloud.vision.v1p4beta1.ReferenceImage" + }, + { + "name": "reference_image_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "CreateReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.CreateReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "DeleteReferenceImage", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImage", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListReferenceImages_async", - "title": "vision listReferenceImages Sample", - "origin": "API_DEFINITION", - "description": " Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", - "canonical": true, - "file": "product_search.list_reference_images.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 64, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListReferenceImages", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImages", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_DeleteReferenceImage_async", + "title": "vision deleteReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Permanently deletes a reference image. The image metadata will be deleted right away, but search queries against ProductSets containing the image may still work until all related caches are refreshed. The actual image files are not deleted from Google Cloud Storage.", + "canonical": true, + "file": "product_search.delete_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "DeleteReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.DeleteReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListReferenceImages", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImages", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_GetReferenceImage_async", - "title": "vision getReferenceImage Sample", - "origin": "API_DEFINITION", - "description": " Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", - "canonical": true, - "file": "product_search.get_reference_image.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 52, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetReferenceImage", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImage", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.ReferenceImage", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListReferenceImages_async", + "title": "vision listReferenceImages Sample", + "origin": "API_DEFINITION", + "description": " Lists reference images. Possible errors: * Returns NOT_FOUND if the parent product does not exist. * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less than 1.", + "canonical": true, + "file": "product_search.list_reference_images.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImages", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ListReferenceImagesResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListReferenceImages", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListReferenceImages", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "GetReferenceImage", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImage", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_AddProductToProductSet_async", - "title": "vision addProductToProductSet Sample", - "origin": "API_DEFINITION", - "description": " Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", - "canonical": true, - "file": "product_search.add_product_to_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "AddProductToProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "product", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_GetReferenceImage_async", + "title": "vision getReferenceImage Sample", + "origin": "API_DEFINITION", + "description": " Gets information associated with a ReferenceImage. Possible errors: * Returns NOT_FOUND if the specified image does not exist.", + "canonical": true, + "file": "product_search.get_reference_image.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 52, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImage", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ReferenceImage", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "GetReferenceImage", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.GetReferenceImage", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "AddProductToProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_RemoveProductFromProductSet_async", - "title": "vision removeProductFromProductSet Sample", - "origin": "API_DEFINITION", - "description": " Removes a Product from the specified ProductSet.", - "canonical": true, - "file": "product_search.remove_product_from_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "RemoveProductFromProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "product", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_AddProductToProductSet_async", + "title": "vision addProductToProductSet Sample", + "origin": "API_DEFINITION", + "description": " Adds a Product to the specified ProductSet. If the Product is already present, no change is made. One Product can be added to at most 100 ProductSets. Possible errors: * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.", + "canonical": true, + "file": "product_search.add_product_to_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "AddProductToProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.AddProductToProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "RemoveProductFromProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListProductsInProductSet_async", - "title": "vision listProductsInProductSet Sample", - "origin": "API_DEFINITION", - "description": " Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", - "canonical": true, - "file": "product_search.list_products_in_product_set.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListProductsInProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSet", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_RemoveProductFromProductSet_async", + "title": "vision removeProductFromProductSet Sample", + "origin": "API_DEFINITION", + "description": " Removes a Product from the specified ProductSet.", + "canonical": true, + "file": "product_search.remove_product_from_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "product", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "RemoveProductFromProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.RemoveProductFromProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ListProductsInProductSet", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSet", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_ImportProductSets_async", - "title": "vision importProductSets Sample", - "origin": "API_DEFINITION", - "description": " Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri].", - "canonical": true, - "file": "product_search.import_product_sets.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 57, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ImportProductSets", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSets", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "input_config", - "type": ".google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ListProductsInProductSet_async", + "title": "vision listProductsInProductSet Sample", + "origin": "API_DEFINITION", + "description": " Lists the Products in a ProductSet, in an unspecified order. If the ProductSet does not exist, the products field of the response will be empty. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.", + "canonical": true, + "file": "product_search.list_products_in_product_set.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSet", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ListProductsInProductSet", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ListProductsInProductSet", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "ImportProductSets", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSets", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } - } - } - }, - { - "regionTag": "vision_v1p4beta1_generated_ProductSearch_PurgeProducts_async", - "title": "vision purgeProducts Sample", - "origin": "API_DEFINITION", - "description": " Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress)", - "canonical": true, - "file": "product_search.purge_products.js", - "language": "JAVASCRIPT", - "segments": [ { - "start": 25, - "end": 66, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "PurgeProducts", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.PurgeProducts", - "async": true, - "parameters": [ - { - "name": "product_set_purge_config", - "type": ".google.cloud.vision.v1p4beta1.ProductSetPurgeConfig" - }, - { - "name": "delete_orphan_products", - "type": "TYPE_BOOL" - }, - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "force", - "type": "TYPE_BOOL" - } - ], - "resultType": ".google.longrunning.Operation", - "client": { - "shortName": "ProductSearchClient", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + "regionTag": "vision_v1p4beta1_generated_ProductSearch_ImportProductSets_async", + "title": "vision importProductSets Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API that imports a list of reference images to specified product sets based on a list of image information. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) `Operation.response` contains `ImportProductSetsResponse`. (results) The input source of this method is a csv file on Google Cloud Storage. For the format of the csv file please see [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.csv_file_uri].", + "canonical": true, + "file": "product_search.import_product_sets.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSets", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "input_config", + "type": ".google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "ImportProductSets", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.ImportProductSets", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } }, - "method": { - "shortName": "PurgeProducts", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.PurgeProducts", - "service": { - "shortName": "ProductSearch", - "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" - } + { + "regionTag": "vision_v1p4beta1_generated_ProductSearch_PurgeProducts_async", + "title": "vision purgeProducts Sample", + "origin": "API_DEFINITION", + "description": " Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The [google.longrunning.Operation][google.longrunning.Operation] API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress)", + "canonical": true, + "file": "product_search.purge_products.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "PurgeProducts", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.PurgeProducts", + "async": true, + "parameters": [ + { + "name": "product_set_purge_config", + "type": ".google.cloud.vision.v1p4beta1.ProductSetPurgeConfig" + }, + { + "name": "delete_orphan_products", + "type": "TYPE_BOOL" + }, + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "force", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ProductSearchClient", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearchClient" + }, + "method": { + "shortName": "PurgeProducts", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch.PurgeProducts", + "service": { + "shortName": "ProductSearch", + "fullName": "google.cloud.vision.v1p4beta1.ProductSearch" + } + } + } } - } - } - ] -} + ] +} \ No newline at end of file From e21f7f38281627a603bd40d3196de8fdc941b6fc Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 3 May 2022 02:22:18 +0200 Subject: [PATCH 541/588] chore(deps): update dependency @types/mocha to v9 (#1007) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/mocha](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`^8.0.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/@types%2fmocha/8.2.3/9.1.1) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fmocha/9.1.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fmocha/9.1.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fmocha/9.1.1/compatibility-slim/8.2.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fmocha/9.1.1/confidence-slim/8.2.3)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index f69afe8b156..5dca1dc0601 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -52,7 +52,7 @@ "devDependencies": { "@google-cloud/storage": "^5.0.0", "@types/is": "0.0.21", - "@types/mocha": "^8.0.0", + "@types/mocha": "^9.0.0", "@types/node": "^16.0.0", "@types/sinon": "^10.0.0", "@types/uuid": "^8.0.0", From 7499bde5f164dd5801ee04de27f05b2745b2a23b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 9 May 2022 17:34:21 +0200 Subject: [PATCH 542/588] chore(deps): update dependency sinon to v14 (#1013) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sinon](https://sinonjs.org/) ([source](https://togithub.com/sinonjs/sinon)) | [`^13.0.0` -> `^14.0.0`](https://renovatebot.com/diffs/npm/sinon/13.0.2/14.0.0) | [![age](https://badges.renovateapi.com/packages/npm/sinon/14.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/sinon/14.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/sinon/14.0.0/compatibility-slim/13.0.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/sinon/14.0.0/confidence-slim/13.0.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
sinonjs/sinon ### [`v14.0.0`](https://togithub.com/sinonjs/sinon/blob/HEAD/CHANGES.md#​1400) [Compare Source](https://togithub.com/sinonjs/sinon/compare/v13.0.2...v14.0.0) - [`c2bbd826`](https://togithub.com/sinonjs/sinon/commit/c2bbd82641444eb5b32822489ae40f185afbbf00) Drop node 12 (Morgan Roderick) > And embrace Node 18 > > See https://nodejs.org/en/about/releases/ *Released by Morgan Roderick on 2022-05-07.*
--- ### Configuration 📅 **Schedule**: "after 9am and before 3pm" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 5dca1dc0601..84fc0f7c6f1 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -66,7 +66,7 @@ "mocha": "^8.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", - "sinon": "^13.0.0", + "sinon": "^14.0.0", "ts-loader": "^9.0.0", "typescript": "^3.8.3", "uuid": "^8.0.0", From c55ee091ca4eab3d771798a76363c1f3aec30fcc Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 9 May 2022 18:29:10 -0400 Subject: [PATCH 543/588] fix!: BatchAnnotateImagesRequest.requests is required (#1011) PiperOrigin-RevId: 446836546 Source-Link: https://github.com/googleapis/googleapis/commit/ca177711769263962940f8b23657710dc8c0ffcd Source-Link: https://github.com/googleapis/googleapis-gen/commit/2957b3d78fc24354b30896907de135413b8e7a49 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMjk1N2IzZDc4ZmMyNDM1NGIzMDg5NjkwN2RlMTM1NDEzYjhlN2E0OSJ9 See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md fix!: Product search related messages and enums changed in an incompatible way fix!: NormalizedBoundingPoly message removed PiperOrigin-RevId: 446837836 Source-Link: https://github.com/googleapis/googleapis/commit/4c8ac5c071975837d82a5e564e598ef8ec95b69b Source-Link: https://github.com/googleapis/googleapis-gen/commit/8f7398fbd79a4fb6a4ab1f6a14547852121986fd Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOGY3Mzk4ZmJkNzlhNGZiNmE0YWIxZjZhMTQ1NDc4NTIxMjE5ODZmZCJ9 --- .../google/cloud/vision/v1/geometry.proto | 2 +- .../cloud/vision/v1/image_annotator.proto | 98 +- .../cloud/vision/v1/product_search.proto | 2 +- .../vision/v1/product_search_service.proto | 2 +- .../cloud/vision/v1/text_annotation.proto | 2 +- .../cloud/vision/v1/web_detection.proto | 2 +- .../cloud/vision/v1p3beta1/geometry.proto | 11 +- .../vision/v1p3beta1/image_annotator.proto | 2 +- .../vision/v1p3beta1/product_search.proto | 138 +- .../google-cloud-vision/protos/protos.d.ts | 481 +++--- packages/google-cloud-vision/protos/protos.js | 1471 +++++++---------- .../google-cloud-vision/protos/protos.json | 174 +- .../image_annotator.batch_annotate_files.js | 4 +- .../image_annotator.batch_annotate_images.js | 3 +- ...etadata.google.cloud.vision.v1p3beta1.json | 2 +- .../src/v1/image_annotator_client.ts | 4 +- 16 files changed, 951 insertions(+), 1447 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto index 4e808eaf68d..7e0d24c2f06 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/geometry.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// 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. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index 906455c31e6..a70c7fdc800 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// 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. @@ -46,8 +46,7 @@ service ImageAnnotator { "https://www.googleapis.com/auth/cloud-vision"; // Run image detection and annotation for a batch of images. - rpc BatchAnnotateImages(BatchAnnotateImagesRequest) - returns (BatchAnnotateImagesResponse) { + rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) { option (google.api.http) = { post: "/v1/images:annotate" body: "*" @@ -70,8 +69,7 @@ service ImageAnnotator { // AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each // file provided and perform detection and annotation for each image // extracted. - rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) - returns (BatchAnnotateFilesResponse) { + rpc BatchAnnotateFiles(BatchAnnotateFilesRequest) returns (BatchAnnotateFilesResponse) { option (google.api.http) = { post: "/v1/files:annotate" body: "*" @@ -96,8 +94,7 @@ service ImageAnnotator { // // This service will write image annotation outputs to json files in customer // GCS bucket, each json file containing BatchAnnotateImagesResponse proto. - rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) - returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateImages(AsyncBatchAnnotateImagesRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/images:asyncBatchAnnotate" body: "*" @@ -123,8 +120,7 @@ service ImageAnnotator { // `google.longrunning.Operations` interface. // `Operation.metadata` contains `OperationMetadata` (metadata). // `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results). - rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) - returns (google.longrunning.Operation) { + rpc AsyncBatchAnnotateFiles(AsyncBatchAnnotateFilesRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/files:asyncBatchAnnotate" body: "*" @@ -145,6 +141,28 @@ service ImageAnnotator { } } +// A bucketized representation of likelihood, which is intended to give clients +// highly stable results across model upgrades. +enum Likelihood { + // Unknown likelihood. + UNKNOWN = 0; + + // It is very unlikely. + VERY_UNLIKELY = 1; + + // It is unlikely. + UNLIKELY = 2; + + // It is possible. + POSSIBLE = 3; + + // It is likely. + LIKELY = 4; + + // It is very likely. + VERY_LIKELY = 5; +} + // The type of Google Cloud Vision API detection to perform, and the maximum // number of results to return for that type. Multiple `Feature` objects can // be specified in the `features` list. @@ -255,28 +273,6 @@ message Image { ImageSource source = 2; } -// A bucketized representation of likelihood, which is intended to give clients -// highly stable results across model upgrades. -enum Likelihood { - // Unknown likelihood. - UNKNOWN = 0; - - // It is very unlikely. - VERY_UNLIKELY = 1; - - // It is unlikely. - UNLIKELY = 2; - - // It is possible. - POSSIBLE = 3; - - // It is likely. - LIKELY = 4; - - // It is very likely. - VERY_LIKELY = 5; -} - // A face annotation object contains the results of face detection. message FaceAnnotation { // A face-specific landmark (for example, a face feature). @@ -577,30 +573,6 @@ message SafeSearchAnnotation { // covered nudity, lewd or provocative poses, or close-ups of sensitive // body areas. Likelihood racy = 9; - - // Confidence of adult_score. Range [0, 1]. 0 means not confident, 1 means - // very confident. - float adult_confidence = 16 [deprecated = true]; - - // Confidence of spoof_score. Range [0, 1]. 0 means not confident, 1 means - // very confident. - float spoof_confidence = 18 [deprecated = true]; - - // Confidence of medical_score. Range [0, 1]. 0 means not confident, 1 means - // very confident. - float medical_confidence = 20 [deprecated = true]; - - // Confidence of violence_score. Range [0, 1]. 0 means not confident, 1 means - // very confident. - float violence_confidence = 22 [deprecated = true]; - - // Confidence of racy_score. Range [0, 1]. 0 means not confident, 1 means very - // confident. - float racy_confidence = 24 [deprecated = true]; - - // Confidence of nsfw_score. Range [0, 1]. 0 means not confident, 1 means very - // confident. - float nsfw_confidence = 26 [deprecated = true]; } // Rectangle determined by min and max `LatLng` pairs. @@ -791,8 +763,7 @@ message AnnotateImageResponse { // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { // Required. Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1 - [(google.api.field_behavior) = REQUIRED]; + repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // @@ -863,10 +834,9 @@ message AnnotateFileResponse { // A list of requests to annotate files using the BatchAnnotateFiles API. message BatchAnnotateFilesRequest { - // Required. The list of file annotation requests. Right now we support only - // one AnnotateFileRequest in BatchAnnotateFilesRequest. - repeated AnnotateFileRequest requests = 1 - [(google.api.field_behavior) = REQUIRED]; + // Required. The list of file annotation requests. Right now we support only one + // AnnotateFileRequest in BatchAnnotateFilesRequest. + repeated AnnotateFileRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // @@ -914,8 +884,7 @@ message AsyncAnnotateFileResponse { // Request for async image annotation for a list of images. message AsyncBatchAnnotateImagesRequest { // Required. Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1 - [(google.api.field_behavior) = REQUIRED]; + repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The desired output location and metadata (e.g. format). OutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED]; @@ -945,8 +914,7 @@ message AsyncBatchAnnotateImagesResponse { // call. message AsyncBatchAnnotateFilesRequest { // Required. Individual async file annotation requests for this batch. - repeated AsyncAnnotateFileRequest requests = 1 - [(google.api.field_behavior) = REQUIRED]; + repeated AsyncAnnotateFileRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. Target project and location to make a call. // diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto index 73cb35249bc..a2a9850582b 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// 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. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto index 5a61f54222d..65680d90968 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/product_search_service.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// 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. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto index ad7db17a7e3..9c07c322075 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/text_annotation.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// 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. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto index d5b4d5ba412..369a1350d40 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/web_detection.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// 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. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto index 28b768eaa79..c2c524fb559 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/geometry.proto @@ -1,4 +1,4 @@ -// Copyright 2018 Google Inc. +// 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. @@ -16,13 +16,12 @@ syntax = "proto3"; package google.cloud.vision.v1p3beta1; -import "google/api/annotations.proto"; - option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision"; option java_multiple_files = true; option java_outer_classname = "GeometryProto"; option java_package = "com.google.cloud.vision.v1p3beta1"; +option objc_class_prefix = "GCVN"; // A vertex represents a 2D point in the image. // NOTE: the vertex coordinates are in the same scale as the original image. @@ -54,12 +53,6 @@ message BoundingPoly { repeated NormalizedVertex normalized_vertices = 2; } -// A normalized bounding polygon around a portion of an image. -message NormalizedBoundingPoly { - // Normalized vertices of the bounding polygon. - repeated NormalizedVertex vertices = 1; -} - // A 3D position in the image, used primarily for Face detection landmarks. // A valid Position must have both x and y coordinates. // The position coordinates are in the same scale as the original image. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto index c865ff53d8e..5f21117847b 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -677,7 +677,7 @@ message AnnotateFileResponse { // Multiple image annotation requests are batched into a single service call. message BatchAnnotateImagesRequest { // Individual image annotation requests for this batch. - repeated AnnotateImageRequest requests = 1; + repeated AnnotateImageRequest requests = 1 [(google.api.field_behavior) = REQUIRED]; } // Response to a batch image annotation request. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto index 6dde477c313..86ea1a064f8 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/product_search.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// 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. @@ -11,13 +11,11 @@ // 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.cloud.vision.v1p3beta1; -import "google/api/annotations.proto"; import "google/api/resource.proto"; import "google/cloud/vision/v1p3beta1/geometry.proto"; import "google/cloud/vision/v1p3beta1/product_search_service.proto"; @@ -28,41 +26,15 @@ option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta option java_multiple_files = true; option java_outer_classname = "ProductSearchProto"; option java_package = "com.google.cloud.vision.v1p3beta1"; +option objc_class_prefix = "GCVN"; // Parameters for a product search request. message ProductSearchParams { - // The resource name of the catalog to search. - // - // Format is: `productSearch/catalogs/CATALOG_NAME`. - string catalog_name = 1; - - // The category to search in. - // Optional. It is inferred by the system if it is not specified. - // [Deprecated] Use `product_category`. - ProductSearchCategory category = 2; - - // The product category to search in. - // Optional. It is inferred by the system if it is not specified. - // Supported values are `bag`, `shoe`, `sunglasses`, `dress`, `outerwear`, - // `skirt`, `top`, `shorts`, and `pants`. - string product_category = 5; - - // The bounding polygon around the area of interest in the image. - // Optional. If it is not specified, system discretion will be applied. - // [Deprecated] Use `bounding_poly`. - NormalizedBoundingPoly normalized_bounding_poly = 3; - // The bounding polygon around the area of interest in the image. - // Optional. If it is not specified, system discretion will be applied. + // If it is not specified, system discretion will be applied. BoundingPoly bounding_poly = 9; - // Specifies the verbosity of the product search results. - // Optional. Defaults to `BASIC`. - ProductSearchResultsView view = 4; - - // The resource name of a - // [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] to be searched for - // similar images. + // The resource name of a [ProductSet][google.cloud.vision.v1p3beta1.ProductSet] to be searched for similar images. // // Format is: // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. @@ -71,40 +43,27 @@ message ProductSearchParams { }]; // The list of product categories to search in. Currently, we only consider - // the first category, and either "homegoods" or "apparel" should be - // specified. + // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", + // "packagedgoods-v1", or "general-v1" should be specified. The legacy + // categories "homegoods", "apparel", and "toys" are still supported but will + // be deprecated. For new products, please use "homegoods-v2", "apparel-v2", + // or "toys-v2" for better product search accuracy. It is recommended to + // migrate existing products to these categories as well. repeated string product_categories = 7; // The filtering expression. This can be used to restrict search results based // on Product labels. We currently support an AND of OR of key-value - // expressions, where each expression within an OR must have the same key. + // expressions, where each expression within an OR must have the same key. An + // '=' should be used to connect the key and value. // // For example, "(color = red OR color = blue) AND brand = Google" is - // acceptable, but not "(color = red OR brand = Google)" or "color: red". + // acceptable, but "(color = red OR brand = Google)" is not acceptable. + // "color: red" is not acceptable because it uses a ':' instead of an '='. string filter = 8; } // Results for a product search request. message ProductSearchResults { - // Information about a product. - message ProductInfo { - // Product ID. - string product_id = 1; - - // The URI of the image which matched the query image. - // - // This field is returned only if `view` is set to `FULL` in - // the request. - string image_uri = 2; - - // A confidence level on the match, ranging from 0 (no confidence) to - // 1 (full confidence). - // - // This field is returned only if `view` is set to `FULL` in - // the request. - float score = 3; - } - // Information about a product. message Result { // The Product. @@ -112,9 +71,6 @@ message ProductSearchResults { // A confidence level on the match, ranging from 0 (no confidence) to // 1 (full confidence). - // - // This field is returned only if `view` is set to `FULL` in - // the request. float score = 2; // The resource name of the image from the product that is the closest match @@ -122,45 +78,47 @@ message ProductSearchResults { string image = 3; } - // Product category. - // [Deprecated] Use `product_category`. - ProductSearchCategory category = 1; + // Prediction for what the object in the bounding box is. + message ObjectAnnotation { + // Object ID that should align with EntityAnnotation mid. + string mid = 1; - // Product category. - // Supported values are `bag` and `shoe`. - // [Deprecated] `product_category` is provided in each Product. - string product_category = 4; + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; - // Timestamp of the index which provided these results. Changes made after - // this time are not reflected in the current results. - google.protobuf.Timestamp index_time = 2; + // Object name, expressed in its `language_code` language. + string name = 3; - // List of detected products. - repeated ProductInfo products = 3; + // Score of the result. Range [0, 1]. + float score = 4; + } - // List of results, one for each product match. - repeated Result results = 5; -} + // Information about the products similar to a single product in a query + // image. + message GroupedResult { + // The bounding polygon around the product detected in the query image. + BoundingPoly bounding_poly = 1; -// Supported product search categories. -enum ProductSearchCategory { - // Default value used when a category is not specified. - PRODUCT_SEARCH_CATEGORY_UNSPECIFIED = 0; + // List of results, one for each product match. + repeated Result results = 2; - // Shoes category. - SHOES = 1; + // List of generic predictions for the object in the bounding box. + repeated ObjectAnnotation object_annotations = 3; + } - // Bags category. - BAGS = 2; -} + // Timestamp of the index which provided these results. Products added to the + // product set and products removed from the product set after this time are + // not reflected in the current results. + google.protobuf.Timestamp index_time = 2; -// Specifies the fields to include in product search results. -enum ProductSearchResultsView { - // Product search results contain only `product_category` and `product_id`. - // Default value. - BASIC = 0; + // List of results, one for each product match. + repeated Result results = 5; - // Product search results contain `product_category`, `product_id`, - // `image_uri`, and `score`. - FULL = 1; + // List of results grouped by products detected in the query image. Each entry + // corresponds to one bounding polygon in the query image, and contains the + // matching products specific to that region. There may be duplicate product + // matches in the union of all the per-product results. + repeated GroupedResult product_grouped_results = 6; } diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index a686870aea5..daec4b34d4a 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -524,6 +524,16 @@ export namespace google { type AsyncBatchAnnotateFilesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; } + /** Likelihood enum. */ + enum Likelihood { + UNKNOWN = 0, + VERY_UNLIKELY = 1, + UNLIKELY = 2, + POSSIBLE = 3, + LIKELY = 4, + VERY_LIKELY = 5 + } + /** Properties of a Feature. */ interface IFeature { @@ -838,16 +848,6 @@ export namespace google { public toJSON(): { [k: string]: any }; } - /** Likelihood enum. */ - enum Likelihood { - UNKNOWN = 0, - VERY_UNLIKELY = 1, - UNLIKELY = 2, - POSSIBLE = 3, - LIKELY = 4, - VERY_LIKELY = 5 - } - /** Properties of a FaceAnnotation. */ interface IFaceAnnotation { @@ -1626,24 +1626,6 @@ export namespace google { /** SafeSearchAnnotation racy */ racy?: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood|null); - - /** SafeSearchAnnotation adultConfidence */ - adultConfidence?: (number|null); - - /** SafeSearchAnnotation spoofConfidence */ - spoofConfidence?: (number|null); - - /** SafeSearchAnnotation medicalConfidence */ - medicalConfidence?: (number|null); - - /** SafeSearchAnnotation violenceConfidence */ - violenceConfidence?: (number|null); - - /** SafeSearchAnnotation racyConfidence */ - racyConfidence?: (number|null); - - /** SafeSearchAnnotation nsfwConfidence */ - nsfwConfidence?: (number|null); } /** Represents a SafeSearchAnnotation. */ @@ -1670,24 +1652,6 @@ export namespace google { /** SafeSearchAnnotation racy. */ public racy: (google.cloud.vision.v1.Likelihood|keyof typeof google.cloud.vision.v1.Likelihood); - /** SafeSearchAnnotation adultConfidence. */ - public adultConfidence: number; - - /** SafeSearchAnnotation spoofConfidence. */ - public spoofConfidence: number; - - /** SafeSearchAnnotation medicalConfidence. */ - public medicalConfidence: number; - - /** SafeSearchAnnotation violenceConfidence. */ - public violenceConfidence: number; - - /** SafeSearchAnnotation racyConfidence. */ - public racyConfidence: number; - - /** SafeSearchAnnotation nsfwConfidence. */ - public nsfwConfidence: number; - /** * Creates a new SafeSearchAnnotation instance using the specified properties. * @param [properties] Properties to set @@ -20403,96 +20367,6 @@ export namespace google { public toJSON(): { [k: string]: any }; } - /** Properties of a NormalizedBoundingPoly. */ - interface INormalizedBoundingPoly { - - /** NormalizedBoundingPoly vertices */ - vertices?: (google.cloud.vision.v1p3beta1.INormalizedVertex[]|null); - } - - /** Represents a NormalizedBoundingPoly. */ - class NormalizedBoundingPoly implements INormalizedBoundingPoly { - - /** - * Constructs a new NormalizedBoundingPoly. - * @param [properties] Properties to set - */ - constructor(properties?: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly); - - /** NormalizedBoundingPoly vertices. */ - public vertices: google.cloud.vision.v1p3beta1.INormalizedVertex[]; - - /** - * Creates a new NormalizedBoundingPoly instance using the specified properties. - * @param [properties] Properties to set - * @returns NormalizedBoundingPoly instance - */ - public static create(properties?: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; - - /** - * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. - * @param message NormalizedBoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. - * @param message NormalizedBoundingPoly message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.cloud.vision.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a NormalizedBoundingPoly message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns NormalizedBoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; - - /** - * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns NormalizedBoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; - - /** - * Verifies a NormalizedBoundingPoly message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns NormalizedBoundingPoly - */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.NormalizedBoundingPoly; - - /** - * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified. - * @param message NormalizedBoundingPoly - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.cloud.vision.v1p3beta1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this NormalizedBoundingPoly to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } - /** Properties of a Position. */ interface IPosition { @@ -24327,24 +24201,9 @@ export namespace google { /** Properties of a ProductSearchParams. */ interface IProductSearchParams { - /** ProductSearchParams catalogName */ - catalogName?: (string|null); - - /** ProductSearchParams category */ - category?: (google.cloud.vision.v1p3beta1.ProductSearchCategory|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchCategory|null); - - /** ProductSearchParams productCategory */ - productCategory?: (string|null); - - /** ProductSearchParams normalizedBoundingPoly */ - normalizedBoundingPoly?: (google.cloud.vision.v1p3beta1.INormalizedBoundingPoly|null); - /** ProductSearchParams boundingPoly */ boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); - /** ProductSearchParams view */ - view?: (google.cloud.vision.v1p3beta1.ProductSearchResultsView|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchResultsView|null); - /** ProductSearchParams productSet */ productSet?: (string|null); @@ -24364,24 +24223,9 @@ export namespace google { */ constructor(properties?: google.cloud.vision.v1p3beta1.IProductSearchParams); - /** ProductSearchParams catalogName. */ - public catalogName: string; - - /** ProductSearchParams category. */ - public category: (google.cloud.vision.v1p3beta1.ProductSearchCategory|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchCategory); - - /** ProductSearchParams productCategory. */ - public productCategory: string; - - /** ProductSearchParams normalizedBoundingPoly. */ - public normalizedBoundingPoly?: (google.cloud.vision.v1p3beta1.INormalizedBoundingPoly|null); - /** ProductSearchParams boundingPoly. */ public boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); - /** ProductSearchParams view. */ - public view: (google.cloud.vision.v1p3beta1.ProductSearchResultsView|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchResultsView); - /** ProductSearchParams productSet. */ public productSet: string; @@ -24465,20 +24309,14 @@ export namespace google { /** Properties of a ProductSearchResults. */ interface IProductSearchResults { - /** ProductSearchResults category */ - category?: (google.cloud.vision.v1p3beta1.ProductSearchCategory|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchCategory|null); - - /** ProductSearchResults productCategory */ - productCategory?: (string|null); - /** ProductSearchResults indexTime */ indexTime?: (google.protobuf.ITimestamp|null); - /** ProductSearchResults products */ - products?: (google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo[]|null); - /** ProductSearchResults results */ results?: (google.cloud.vision.v1p3beta1.ProductSearchResults.IResult[]|null); + + /** ProductSearchResults productGroupedResults */ + productGroupedResults?: (google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult[]|null); } /** Represents a ProductSearchResults. */ @@ -24490,21 +24328,15 @@ export namespace google { */ constructor(properties?: google.cloud.vision.v1p3beta1.IProductSearchResults); - /** ProductSearchResults category. */ - public category: (google.cloud.vision.v1p3beta1.ProductSearchCategory|keyof typeof google.cloud.vision.v1p3beta1.ProductSearchCategory); - - /** ProductSearchResults productCategory. */ - public productCategory: string; - /** ProductSearchResults indexTime. */ public indexTime?: (google.protobuf.ITimestamp|null); - /** ProductSearchResults products. */ - public products: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo[]; - /** ProductSearchResults results. */ public results: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult[]; + /** ProductSearchResults productGroupedResults. */ + public productGroupedResults: google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult[]; + /** * Creates a new ProductSearchResults instance using the specified properties. * @param [properties] Properties to set @@ -24578,222 +24410,317 @@ export namespace google { namespace ProductSearchResults { - /** Properties of a ProductInfo. */ - interface IProductInfo { - - /** ProductInfo productId */ - productId?: (string|null); + /** Properties of a Result. */ + interface IResult { - /** ProductInfo imageUri */ - imageUri?: (string|null); + /** Result product */ + product?: (google.cloud.vision.v1p3beta1.IProduct|null); - /** ProductInfo score */ + /** Result score */ score?: (number|null); + + /** Result image */ + image?: (string|null); } - /** Represents a ProductInfo. */ - class ProductInfo implements IProductInfo { + /** Represents a Result. */ + class Result implements IResult { /** - * Constructs a new ProductInfo. + * Constructs a new Result. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo); - - /** ProductInfo productId. */ - public productId: string; + constructor(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult); - /** ProductInfo imageUri. */ - public imageUri: string; + /** Result product. */ + public product?: (google.cloud.vision.v1p3beta1.IProduct|null); - /** ProductInfo score. */ + /** Result score. */ public score: number; + /** Result image. */ + public image: string; + /** - * Creates a new ProductInfo instance using the specified properties. + * Creates a new Result instance using the specified properties. * @param [properties] Properties to set - * @returns ProductInfo instance + * @returns Result instance */ - public static create(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo): google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo; + public static create(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; /** - * Encodes the specified ProductInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify|verify} messages. - * @param message ProductInfo message or plain object to encode + * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified ProductInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify|verify} messages. - * @param message ProductInfo message or plain object to encode + * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify|verify} messages. + * @param message Result message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a ProductInfo message from the specified reader or buffer. + * Decodes a Result message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns ProductInfo + * @returns Result * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; /** - * Decodes a ProductInfo message from the specified reader or buffer, length delimited. + * Decodes a Result message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns ProductInfo + * @returns Result * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; /** - * Verifies a ProductInfo message. + * Verifies a Result message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a ProductInfo message from a plain object. Also converts values to their respective internal types. + * Creates a Result message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns ProductInfo + * @returns Result */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; /** - * Creates a plain object from a ProductInfo message. Also converts values to other types if specified. - * @param message ProductInfo + * Creates a plain object from a Result message. Also converts values to other types if specified. + * @param message Result * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p3beta1.ProductSearchResults.Result, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this ProductInfo to JSON. + * Converts this Result to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - /** Properties of a Result. */ - interface IResult { + /** Properties of an ObjectAnnotation. */ + interface IObjectAnnotation { - /** Result product */ - product?: (google.cloud.vision.v1p3beta1.IProduct|null); + /** ObjectAnnotation mid */ + mid?: (string|null); - /** Result score */ - score?: (number|null); + /** ObjectAnnotation languageCode */ + languageCode?: (string|null); - /** Result image */ - image?: (string|null); + /** ObjectAnnotation name */ + name?: (string|null); + + /** ObjectAnnotation score */ + score?: (number|null); } - /** Represents a Result. */ - class Result implements IResult { + /** Represents an ObjectAnnotation. */ + class ObjectAnnotation implements IObjectAnnotation { /** - * Constructs a new Result. + * Constructs a new ObjectAnnotation. * @param [properties] Properties to set */ - constructor(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult); + constructor(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation); - /** Result product. */ - public product?: (google.cloud.vision.v1p3beta1.IProduct|null); + /** ObjectAnnotation mid. */ + public mid: string; - /** Result score. */ - public score: number; + /** ObjectAnnotation languageCode. */ + public languageCode: string; - /** Result image. */ - public image: string; + /** ObjectAnnotation name. */ + public name: string; + + /** ObjectAnnotation score. */ + public score: number; /** - * Creates a new Result instance using the specified properties. + * Creates a new ObjectAnnotation instance using the specified properties. * @param [properties] Properties to set - * @returns Result instance + * @returns ObjectAnnotation instance */ - public static create(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; + public static create(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation): google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation; /** - * Encodes the specified Result message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify|verify} messages. - * @param message Result message or plain object to encode + * Encodes the specified ObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @param message ObjectAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encode(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + public static encode(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify|verify} messages. - * @param message Result message or plain object to encode + * Encodes the specified ObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @param message ObjectAnnotation message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ - public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult, writer?: $protobuf.Writer): $protobuf.Writer; + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; /** - * Decodes a Result message from the specified reader or buffer. + * Decodes an ObjectAnnotation message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand - * @returns Result + * @returns ObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation; /** - * Decodes a Result message from the specified reader or buffer, length delimited. + * Decodes an ObjectAnnotation message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from - * @returns Result + * @returns ObjectAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation; /** - * Verifies a Result message. + * Verifies an ObjectAnnotation message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** - * Creates a Result message from a plain object. Also converts values to their respective internal types. + * Creates an ObjectAnnotation message from a plain object. Also converts values to their respective internal types. * @param object Plain object - * @returns Result + * @returns ObjectAnnotation */ - public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSearchResults.Result; + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation; /** - * Creates a plain object from a Result message. Also converts values to other types if specified. - * @param message Result + * Creates a plain object from an ObjectAnnotation message. Also converts values to other types if specified. + * @param message ObjectAnnotation * @param [options] Conversion options * @returns Plain object */ - public static toObject(message: google.cloud.vision.v1p3beta1.ProductSearchResults.Result, options?: $protobuf.IConversionOptions): { [k: string]: any }; + public static toObject(message: google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** - * Converts this Result to JSON. + * Converts this ObjectAnnotation to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; } - } - /** ProductSearchCategory enum. */ - enum ProductSearchCategory { - PRODUCT_SEARCH_CATEGORY_UNSPECIFIED = 0, - SHOES = 1, - BAGS = 2 - } + /** Properties of a GroupedResult. */ + interface IGroupedResult { + + /** GroupedResult boundingPoly */ + boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); - /** ProductSearchResultsView enum. */ - enum ProductSearchResultsView { - BASIC = 0, - FULL = 1 + /** GroupedResult results */ + results?: (google.cloud.vision.v1p3beta1.ProductSearchResults.IResult[]|null); + + /** GroupedResult objectAnnotations */ + objectAnnotations?: (google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation[]|null); + } + + /** Represents a GroupedResult. */ + class GroupedResult implements IGroupedResult { + + /** + * Constructs a new GroupedResult. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult); + + /** GroupedResult boundingPoly. */ + public boundingPoly?: (google.cloud.vision.v1p3beta1.IBoundingPoly|null); + + /** GroupedResult results. */ + public results: google.cloud.vision.v1p3beta1.ProductSearchResults.IResult[]; + + /** GroupedResult objectAnnotations. */ + public objectAnnotations: google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation[]; + + /** + * Creates a new GroupedResult instance using the specified properties. + * @param [properties] Properties to set + * @returns GroupedResult instance + */ + public static create(properties?: google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult): google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult; + + /** + * Encodes the specified GroupedResult message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @param message GroupedResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GroupedResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @param message GroupedResult message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GroupedResult message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult; + + /** + * Decodes a GroupedResult message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult; + + /** + * Verifies a GroupedResult message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GroupedResult message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GroupedResult + */ + public static fromObject(object: { [k: string]: any }): google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult; + + /** + * Creates a plain object from a GroupedResult message. Also converts values to other types if specified. + * @param message GroupedResult + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GroupedResult to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } } /** Represents a ProductSearch */ diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 779ee50718b..cd3367ebe9a 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -1137,6 +1137,28 @@ return ImageAnnotator; })(); + /** + * Likelihood enum. + * @name google.cloud.vision.v1.Likelihood + * @enum {number} + * @property {number} UNKNOWN=0 UNKNOWN value + * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value + * @property {number} UNLIKELY=2 UNLIKELY value + * @property {number} POSSIBLE=3 POSSIBLE value + * @property {number} LIKELY=4 LIKELY value + * @property {number} VERY_LIKELY=5 VERY_LIKELY value + */ + v1.Likelihood = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "UNKNOWN"] = 0; + values[valuesById[1] = "VERY_UNLIKELY"] = 1; + values[valuesById[2] = "UNLIKELY"] = 2; + values[valuesById[3] = "POSSIBLE"] = 3; + values[valuesById[4] = "LIKELY"] = 4; + values[valuesById[5] = "VERY_LIKELY"] = 5; + return values; + })(); + v1.Feature = (function() { /** @@ -1907,28 +1929,6 @@ return Image; })(); - /** - * Likelihood enum. - * @name google.cloud.vision.v1.Likelihood - * @enum {number} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value - * @property {number} UNLIKELY=2 UNLIKELY value - * @property {number} POSSIBLE=3 POSSIBLE value - * @property {number} LIKELY=4 LIKELY value - * @property {number} VERY_LIKELY=5 VERY_LIKELY value - */ - v1.Likelihood = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "VERY_UNLIKELY"] = 1; - values[valuesById[2] = "UNLIKELY"] = 2; - values[valuesById[3] = "POSSIBLE"] = 3; - values[valuesById[4] = "LIKELY"] = 4; - values[valuesById[5] = "VERY_LIKELY"] = 5; - return values; - })(); - v1.FaceAnnotation = (function() { /** @@ -4318,12 +4318,6 @@ * @property {google.cloud.vision.v1.Likelihood|null} [medical] SafeSearchAnnotation medical * @property {google.cloud.vision.v1.Likelihood|null} [violence] SafeSearchAnnotation violence * @property {google.cloud.vision.v1.Likelihood|null} [racy] SafeSearchAnnotation racy - * @property {number|null} [adultConfidence] SafeSearchAnnotation adultConfidence - * @property {number|null} [spoofConfidence] SafeSearchAnnotation spoofConfidence - * @property {number|null} [medicalConfidence] SafeSearchAnnotation medicalConfidence - * @property {number|null} [violenceConfidence] SafeSearchAnnotation violenceConfidence - * @property {number|null} [racyConfidence] SafeSearchAnnotation racyConfidence - * @property {number|null} [nsfwConfidence] SafeSearchAnnotation nsfwConfidence */ /** @@ -4381,54 +4375,6 @@ */ SafeSearchAnnotation.prototype.racy = 0; - /** - * SafeSearchAnnotation adultConfidence. - * @member {number} adultConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.adultConfidence = 0; - - /** - * SafeSearchAnnotation spoofConfidence. - * @member {number} spoofConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.spoofConfidence = 0; - - /** - * SafeSearchAnnotation medicalConfidence. - * @member {number} medicalConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.medicalConfidence = 0; - - /** - * SafeSearchAnnotation violenceConfidence. - * @member {number} violenceConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.violenceConfidence = 0; - - /** - * SafeSearchAnnotation racyConfidence. - * @member {number} racyConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.racyConfidence = 0; - - /** - * SafeSearchAnnotation nsfwConfidence. - * @member {number} nsfwConfidence - * @memberof google.cloud.vision.v1.SafeSearchAnnotation - * @instance - */ - SafeSearchAnnotation.prototype.nsfwConfidence = 0; - /** * Creates a new SafeSearchAnnotation instance using the specified properties. * @function create @@ -4463,18 +4409,6 @@ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.violence); if (message.racy != null && Object.hasOwnProperty.call(message, "racy")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.racy); - if (message.adultConfidence != null && Object.hasOwnProperty.call(message, "adultConfidence")) - writer.uint32(/* id 16, wireType 5 =*/133).float(message.adultConfidence); - if (message.spoofConfidence != null && Object.hasOwnProperty.call(message, "spoofConfidence")) - writer.uint32(/* id 18, wireType 5 =*/149).float(message.spoofConfidence); - if (message.medicalConfidence != null && Object.hasOwnProperty.call(message, "medicalConfidence")) - writer.uint32(/* id 20, wireType 5 =*/165).float(message.medicalConfidence); - if (message.violenceConfidence != null && Object.hasOwnProperty.call(message, "violenceConfidence")) - writer.uint32(/* id 22, wireType 5 =*/181).float(message.violenceConfidence); - if (message.racyConfidence != null && Object.hasOwnProperty.call(message, "racyConfidence")) - writer.uint32(/* id 24, wireType 5 =*/197).float(message.racyConfidence); - if (message.nsfwConfidence != null && Object.hasOwnProperty.call(message, "nsfwConfidence")) - writer.uint32(/* id 26, wireType 5 =*/213).float(message.nsfwConfidence); return writer; }; @@ -4524,24 +4458,6 @@ case 9: message.racy = reader.int32(); break; - case 16: - message.adultConfidence = reader.float(); - break; - case 18: - message.spoofConfidence = reader.float(); - break; - case 20: - message.medicalConfidence = reader.float(); - break; - case 22: - message.violenceConfidence = reader.float(); - break; - case 24: - message.racyConfidence = reader.float(); - break; - case 26: - message.nsfwConfidence = reader.float(); - break; default: reader.skipType(tag & 7); break; @@ -4637,24 +4553,6 @@ case 5: break; } - if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) - if (typeof message.adultConfidence !== "number") - return "adultConfidence: number expected"; - if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) - if (typeof message.spoofConfidence !== "number") - return "spoofConfidence: number expected"; - if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) - if (typeof message.medicalConfidence !== "number") - return "medicalConfidence: number expected"; - if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) - if (typeof message.violenceConfidence !== "number") - return "violenceConfidence: number expected"; - if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) - if (typeof message.racyConfidence !== "number") - return "racyConfidence: number expected"; - if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) - if (typeof message.nsfwConfidence !== "number") - return "nsfwConfidence: number expected"; return null; }; @@ -4800,18 +4698,6 @@ message.racy = 5; break; } - if (object.adultConfidence != null) - message.adultConfidence = Number(object.adultConfidence); - if (object.spoofConfidence != null) - message.spoofConfidence = Number(object.spoofConfidence); - if (object.medicalConfidence != null) - message.medicalConfidence = Number(object.medicalConfidence); - if (object.violenceConfidence != null) - message.violenceConfidence = Number(object.violenceConfidence); - if (object.racyConfidence != null) - message.racyConfidence = Number(object.racyConfidence); - if (object.nsfwConfidence != null) - message.nsfwConfidence = Number(object.nsfwConfidence); return message; }; @@ -4834,12 +4720,6 @@ object.medical = options.enums === String ? "UNKNOWN" : 0; object.violence = options.enums === String ? "UNKNOWN" : 0; object.racy = options.enums === String ? "UNKNOWN" : 0; - object.adultConfidence = 0; - object.spoofConfidence = 0; - object.medicalConfidence = 0; - object.violenceConfidence = 0; - object.racyConfidence = 0; - object.nsfwConfidence = 0; } if (message.adult != null && message.hasOwnProperty("adult")) object.adult = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.adult] : message.adult; @@ -4851,18 +4731,6 @@ object.violence = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.violence] : message.violence; if (message.racy != null && message.hasOwnProperty("racy")) object.racy = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.racy] : message.racy; - if (message.adultConfidence != null && message.hasOwnProperty("adultConfidence")) - object.adultConfidence = options.json && !isFinite(message.adultConfidence) ? String(message.adultConfidence) : message.adultConfidence; - if (message.spoofConfidence != null && message.hasOwnProperty("spoofConfidence")) - object.spoofConfidence = options.json && !isFinite(message.spoofConfidence) ? String(message.spoofConfidence) : message.spoofConfidence; - if (message.medicalConfidence != null && message.hasOwnProperty("medicalConfidence")) - object.medicalConfidence = options.json && !isFinite(message.medicalConfidence) ? String(message.medicalConfidence) : message.medicalConfidence; - if (message.violenceConfidence != null && message.hasOwnProperty("violenceConfidence")) - object.violenceConfidence = options.json && !isFinite(message.violenceConfidence) ? String(message.violenceConfidence) : message.violenceConfidence; - if (message.racyConfidence != null && message.hasOwnProperty("racyConfidence")) - object.racyConfidence = options.json && !isFinite(message.racyConfidence) ? String(message.racyConfidence) : message.racyConfidence; - if (message.nsfwConfidence != null && message.hasOwnProperty("nsfwConfidence")) - object.nsfwConfidence = options.json && !isFinite(message.nsfwConfidence) ? String(message.nsfwConfidence) : message.nsfwConfidence; return object; }; @@ -51277,214 +51145,6 @@ return BoundingPoly; })(); - v1p3beta1.NormalizedBoundingPoly = (function() { - - /** - * Properties of a NormalizedBoundingPoly. - * @memberof google.cloud.vision.v1p3beta1 - * @interface INormalizedBoundingPoly - * @property {Array.|null} [vertices] NormalizedBoundingPoly vertices - */ - - /** - * Constructs a new NormalizedBoundingPoly. - * @memberof google.cloud.vision.v1p3beta1 - * @classdesc Represents a NormalizedBoundingPoly. - * @implements INormalizedBoundingPoly - * @constructor - * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly=} [properties] Properties to set - */ - function NormalizedBoundingPoly(properties) { - this.vertices = []; - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * NormalizedBoundingPoly vertices. - * @member {Array.} vertices - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @instance - */ - NormalizedBoundingPoly.prototype.vertices = $util.emptyArray; - - /** - * Creates a new NormalizedBoundingPoly instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @static - * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly instance - */ - NormalizedBoundingPoly.create = function create(properties) { - return new NormalizedBoundingPoly(properties); - }; - - /** - * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @static - * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NormalizedBoundingPoly.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.vertices != null && message.vertices.length) - for (var i = 0; i < message.vertices.length; ++i) - $root.google.cloud.vision.v1p3beta1.NormalizedVertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @static - * @param {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NormalizedBoundingPoly.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a NormalizedBoundingPoly message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NormalizedBoundingPoly.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NormalizedBoundingPoly.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a NormalizedBoundingPoly message. - * @function verify - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - NormalizedBoundingPoly.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.vertices != null && message.hasOwnProperty("vertices")) { - if (!Array.isArray(message.vertices)) - return "vertices: array expected"; - for (var i = 0; i < message.vertices.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.verify(message.vertices[i]); - if (error) - return "vertices." + error; - } - } - return null; - }; - - /** - * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} NormalizedBoundingPoly - */ - NormalizedBoundingPoly.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly) - return object; - var message = new $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly(); - if (object.vertices) { - if (!Array.isArray(object.vertices)) - throw TypeError(".google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.vertices: array expected"); - message.vertices = []; - for (var i = 0; i < object.vertices.length; ++i) { - if (typeof object.vertices[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.vertices: object expected"); - message.vertices[i] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.fromObject(object.vertices[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @static - * @param {google.cloud.vision.v1p3beta1.NormalizedBoundingPoly} message NormalizedBoundingPoly - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - NormalizedBoundingPoly.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.vertices = []; - if (message.vertices && message.vertices.length) { - object.vertices = []; - for (var j = 0; j < message.vertices.length; ++j) - object.vertices[j] = $root.google.cloud.vision.v1p3beta1.NormalizedVertex.toObject(message.vertices[j], options); - } - return object; - }; - - /** - * Converts this NormalizedBoundingPoly to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.NormalizedBoundingPoly - * @instance - * @returns {Object.} JSON object - */ - NormalizedBoundingPoly.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return NormalizedBoundingPoly; - })(); - v1p3beta1.Position = (function() { /** @@ -61409,12 +61069,7 @@ * Properties of a ProductSearchParams. * @memberof google.cloud.vision.v1p3beta1 * @interface IProductSearchParams - * @property {string|null} [catalogName] ProductSearchParams catalogName - * @property {google.cloud.vision.v1p3beta1.ProductSearchCategory|null} [category] ProductSearchParams category - * @property {string|null} [productCategory] ProductSearchParams productCategory - * @property {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly|null} [normalizedBoundingPoly] ProductSearchParams normalizedBoundingPoly * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] ProductSearchParams boundingPoly - * @property {google.cloud.vision.v1p3beta1.ProductSearchResultsView|null} [view] ProductSearchParams view * @property {string|null} [productSet] ProductSearchParams productSet * @property {Array.|null} [productCategories] ProductSearchParams productCategories * @property {string|null} [filter] ProductSearchParams filter @@ -61436,38 +61091,6 @@ this[keys[i]] = properties[keys[i]]; } - /** - * ProductSearchParams catalogName. - * @member {string} catalogName - * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams - * @instance - */ - ProductSearchParams.prototype.catalogName = ""; - - /** - * ProductSearchParams category. - * @member {google.cloud.vision.v1p3beta1.ProductSearchCategory} category - * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams - * @instance - */ - ProductSearchParams.prototype.category = 0; - - /** - * ProductSearchParams productCategory. - * @member {string} productCategory - * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams - * @instance - */ - ProductSearchParams.prototype.productCategory = ""; - - /** - * ProductSearchParams normalizedBoundingPoly. - * @member {google.cloud.vision.v1p3beta1.INormalizedBoundingPoly|null|undefined} normalizedBoundingPoly - * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams - * @instance - */ - ProductSearchParams.prototype.normalizedBoundingPoly = null; - /** * ProductSearchParams boundingPoly. * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly @@ -61476,14 +61099,6 @@ */ ProductSearchParams.prototype.boundingPoly = null; - /** - * ProductSearchParams view. - * @member {google.cloud.vision.v1p3beta1.ProductSearchResultsView} view - * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams - * @instance - */ - ProductSearchParams.prototype.view = 0; - /** * ProductSearchParams productSet. * @member {string} productSet @@ -61532,16 +61147,6 @@ ProductSearchParams.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.catalogName != null && Object.hasOwnProperty.call(message, "catalogName")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.catalogName); - if (message.category != null && Object.hasOwnProperty.call(message, "category")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.category); - if (message.normalizedBoundingPoly != null && Object.hasOwnProperty.call(message, "normalizedBoundingPoly")) - $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.encode(message.normalizedBoundingPoly, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.view != null && Object.hasOwnProperty.call(message, "view")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.view); - if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.productCategory); if (message.productSet != null && Object.hasOwnProperty.call(message, "productSet")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.productSet); if (message.productCategories != null && message.productCategories.length) @@ -61585,24 +61190,9 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.catalogName = reader.string(); - break; - case 2: - message.category = reader.int32(); - break; - case 5: - message.productCategory = reader.string(); - break; - case 3: - message.normalizedBoundingPoly = $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.decode(reader, reader.uint32()); - break; case 9: message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); break; - case 4: - message.view = reader.int32(); - break; case 6: message.productSet = reader.string(); break; @@ -61649,39 +61239,11 @@ ProductSearchParams.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.catalogName != null && message.hasOwnProperty("catalogName")) - if (!$util.isString(message.catalogName)) - return "catalogName: string expected"; - if (message.category != null && message.hasOwnProperty("category")) - switch (message.category) { - default: - return "category: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.productCategory != null && message.hasOwnProperty("productCategory")) - if (!$util.isString(message.productCategory)) - return "productCategory: string expected"; - if (message.normalizedBoundingPoly != null && message.hasOwnProperty("normalizedBoundingPoly")) { - var error = $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.verify(message.normalizedBoundingPoly); - if (error) - return "normalizedBoundingPoly." + error; - } if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); if (error) return "boundingPoly." + error; } - if (message.view != null && message.hasOwnProperty("view")) - switch (message.view) { - default: - return "view: enum value expected"; - case 0: - case 1: - break; - } if (message.productSet != null && message.hasOwnProperty("productSet")) if (!$util.isString(message.productSet)) return "productSet: string expected"; @@ -61710,44 +61272,11 @@ if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSearchParams) return object; var message = new $root.google.cloud.vision.v1p3beta1.ProductSearchParams(); - if (object.catalogName != null) - message.catalogName = String(object.catalogName); - switch (object.category) { - case "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED": - case 0: - message.category = 0; - break; - case "SHOES": - case 1: - message.category = 1; - break; - case "BAGS": - case 2: - message.category = 2; - break; - } - if (object.productCategory != null) - message.productCategory = String(object.productCategory); - if (object.normalizedBoundingPoly != null) { - if (typeof object.normalizedBoundingPoly !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchParams.normalizedBoundingPoly: object expected"); - message.normalizedBoundingPoly = $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.fromObject(object.normalizedBoundingPoly); - } if (object.boundingPoly != null) { if (typeof object.boundingPoly !== "object") throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchParams.boundingPoly: object expected"); message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); } - switch (object.view) { - case "BASIC": - case 0: - message.view = 0; - break; - case "FULL": - case 1: - message.view = 1; - break; - } if (object.productSet != null) message.productSet = String(object.productSet); if (object.productCategories) { @@ -61778,25 +61307,10 @@ if (options.arrays || options.defaults) object.productCategories = []; if (options.defaults) { - object.catalogName = ""; - object.category = options.enums === String ? "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED" : 0; - object.normalizedBoundingPoly = null; - object.view = options.enums === String ? "BASIC" : 0; - object.productCategory = ""; object.productSet = ""; object.filter = ""; object.boundingPoly = null; } - if (message.catalogName != null && message.hasOwnProperty("catalogName")) - object.catalogName = message.catalogName; - if (message.category != null && message.hasOwnProperty("category")) - object.category = options.enums === String ? $root.google.cloud.vision.v1p3beta1.ProductSearchCategory[message.category] : message.category; - if (message.normalizedBoundingPoly != null && message.hasOwnProperty("normalizedBoundingPoly")) - object.normalizedBoundingPoly = $root.google.cloud.vision.v1p3beta1.NormalizedBoundingPoly.toObject(message.normalizedBoundingPoly, options); - if (message.view != null && message.hasOwnProperty("view")) - object.view = options.enums === String ? $root.google.cloud.vision.v1p3beta1.ProductSearchResultsView[message.view] : message.view; - if (message.productCategory != null && message.hasOwnProperty("productCategory")) - object.productCategory = message.productCategory; if (message.productSet != null && message.hasOwnProperty("productSet")) object.productSet = message.productSet; if (message.productCategories && message.productCategories.length) { @@ -61831,11 +61345,9 @@ * Properties of a ProductSearchResults. * @memberof google.cloud.vision.v1p3beta1 * @interface IProductSearchResults - * @property {google.cloud.vision.v1p3beta1.ProductSearchCategory|null} [category] ProductSearchResults category - * @property {string|null} [productCategory] ProductSearchResults productCategory * @property {google.protobuf.ITimestamp|null} [indexTime] ProductSearchResults indexTime - * @property {Array.|null} [products] ProductSearchResults products * @property {Array.|null} [results] ProductSearchResults results + * @property {Array.|null} [productGroupedResults] ProductSearchResults productGroupedResults */ /** @@ -61847,30 +61359,14 @@ * @param {google.cloud.vision.v1p3beta1.IProductSearchResults=} [properties] Properties to set */ function ProductSearchResults(properties) { - this.products = []; this.results = []; + this.productGroupedResults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } - /** - * ProductSearchResults category. - * @member {google.cloud.vision.v1p3beta1.ProductSearchCategory} category - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults - * @instance - */ - ProductSearchResults.prototype.category = 0; - - /** - * ProductSearchResults productCategory. - * @member {string} productCategory - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults - * @instance - */ - ProductSearchResults.prototype.productCategory = ""; - /** * ProductSearchResults indexTime. * @member {google.protobuf.ITimestamp|null|undefined} indexTime @@ -61880,20 +61376,20 @@ ProductSearchResults.prototype.indexTime = null; /** - * ProductSearchResults products. - * @member {Array.} products + * ProductSearchResults results. + * @member {Array.} results * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults * @instance */ - ProductSearchResults.prototype.products = $util.emptyArray; + ProductSearchResults.prototype.results = $util.emptyArray; /** - * ProductSearchResults results. - * @member {Array.} results + * ProductSearchResults productGroupedResults. + * @member {Array.} productGroupedResults * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults * @instance */ - ProductSearchResults.prototype.results = $util.emptyArray; + ProductSearchResults.prototype.productGroupedResults = $util.emptyArray; /** * Creates a new ProductSearchResults instance using the specified properties. @@ -61919,18 +61415,14 @@ ProductSearchResults.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.category != null && Object.hasOwnProperty.call(message, "category")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.category); if (message.indexTime != null && Object.hasOwnProperty.call(message, "indexTime")) $root.google.protobuf.Timestamp.encode(message.indexTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.products != null && message.products.length) - for (var i = 0; i < message.products.length; ++i) - $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.encode(message.products[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.productCategory != null && Object.hasOwnProperty.call(message, "productCategory")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.productCategory); if (message.results != null && message.results.length) for (var i = 0; i < message.results.length; ++i) $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.productGroupedResults != null && message.productGroupedResults.length) + for (var i = 0; i < message.productGroupedResults.length; ++i) + $root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.encode(message.productGroupedResults[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); return writer; }; @@ -61965,25 +61457,19 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.category = reader.int32(); - break; - case 4: - message.productCategory = reader.string(); - break; case 2: message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); break; - case 3: - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.decode(reader, reader.uint32())); - break; case 5: if (!(message.results && message.results.length)) message.results = []; message.results.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); break; + case 6: + if (!(message.productGroupedResults && message.productGroupedResults.length)) + message.productGroupedResults = []; + message.productGroupedResults.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); + break; default: reader.skipType(tag & 7); break; @@ -62019,32 +61505,11 @@ ProductSearchResults.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.category != null && message.hasOwnProperty("category")) - switch (message.category) { - default: - return "category: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.productCategory != null && message.hasOwnProperty("productCategory")) - if (!$util.isString(message.productCategory)) - return "productCategory: string expected"; if (message.indexTime != null && message.hasOwnProperty("indexTime")) { var error = $root.google.protobuf.Timestamp.verify(message.indexTime); if (error) return "indexTime." + error; } - if (message.products != null && message.hasOwnProperty("products")) { - if (!Array.isArray(message.products)) - return "products: array expected"; - for (var i = 0; i < message.products.length; ++i) { - var error = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify(message.products[i]); - if (error) - return "products." + error; - } - } if (message.results != null && message.hasOwnProperty("results")) { if (!Array.isArray(message.results)) return "results: array expected"; @@ -62054,6 +61519,15 @@ return "results." + error; } } + if (message.productGroupedResults != null && message.hasOwnProperty("productGroupedResults")) { + if (!Array.isArray(message.productGroupedResults)) + return "productGroupedResults: array expected"; + for (var i = 0; i < message.productGroupedResults.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.verify(message.productGroupedResults[i]); + if (error) + return "productGroupedResults." + error; + } + } return null; }; @@ -62069,37 +61543,11 @@ if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSearchResults) return object; var message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults(); - switch (object.category) { - case "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED": - case 0: - message.category = 0; - break; - case "SHOES": - case 1: - message.category = 1; - break; - case "BAGS": - case 2: - message.category = 2; - break; - } - if (object.productCategory != null) - message.productCategory = String(object.productCategory); if (object.indexTime != null) { if (typeof object.indexTime !== "object") throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.indexTime: object expected"); message.indexTime = $root.google.protobuf.Timestamp.fromObject(object.indexTime); } - if (object.products) { - if (!Array.isArray(object.products)) - throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.products: array expected"); - message.products = []; - for (var i = 0; i < object.products.length; ++i) { - if (typeof object.products[i] !== "object") - throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.products: object expected"); - message.products[i] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.fromObject(object.products[i]); - } - } if (object.results) { if (!Array.isArray(object.results)) throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.results: array expected"); @@ -62110,6 +61558,16 @@ message.results[i] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.fromObject(object.results[i]); } } + if (object.productGroupedResults) { + if (!Array.isArray(object.productGroupedResults)) + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.productGroupedResults: array expected"); + message.productGroupedResults = []; + for (var i = 0; i < object.productGroupedResults.length; ++i) { + if (typeof object.productGroupedResults[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.productGroupedResults: object expected"); + message.productGroupedResults[i] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.fromObject(object.productGroupedResults[i]); + } + } return message; }; @@ -62127,30 +61585,23 @@ options = {}; var object = {}; if (options.arrays || options.defaults) { - object.products = []; object.results = []; + object.productGroupedResults = []; } - if (options.defaults) { - object.category = options.enums === String ? "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED" : 0; + if (options.defaults) object.indexTime = null; - object.productCategory = ""; - } - if (message.category != null && message.hasOwnProperty("category")) - object.category = options.enums === String ? $root.google.cloud.vision.v1p3beta1.ProductSearchCategory[message.category] : message.category; if (message.indexTime != null && message.hasOwnProperty("indexTime")) object.indexTime = $root.google.protobuf.Timestamp.toObject(message.indexTime, options); - if (message.products && message.products.length) { - object.products = []; - for (var j = 0; j < message.products.length; ++j) - object.products[j] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.toObject(message.products[j], options); - } - if (message.productCategory != null && message.hasOwnProperty("productCategory")) - object.productCategory = message.productCategory; if (message.results && message.results.length) { object.results = []; for (var j = 0; j < message.results.length; ++j) object.results[j] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.toObject(message.results[j], options); } + if (message.productGroupedResults && message.productGroupedResults.length) { + object.productGroupedResults = []; + for (var j = 0; j < message.productGroupedResults.length; ++j) + object.productGroupedResults[j] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.toObject(message.productGroupedResults[j], options); + } return object; }; @@ -62165,238 +61616,6 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - ProductSearchResults.ProductInfo = (function() { - - /** - * Properties of a ProductInfo. - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults - * @interface IProductInfo - * @property {string|null} [productId] ProductInfo productId - * @property {string|null} [imageUri] ProductInfo imageUri - * @property {number|null} [score] ProductInfo score - */ - - /** - * Constructs a new ProductInfo. - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults - * @classdesc Represents a ProductInfo. - * @implements IProductInfo - * @constructor - * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo=} [properties] Properties to set - */ - function ProductInfo(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]]; - } - - /** - * ProductInfo productId. - * @member {string} productId - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @instance - */ - ProductInfo.prototype.productId = ""; - - /** - * ProductInfo imageUri. - * @member {string} imageUri - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @instance - */ - ProductInfo.prototype.imageUri = ""; - - /** - * ProductInfo score. - * @member {number} score - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @instance - */ - ProductInfo.prototype.score = 0; - - /** - * Creates a new ProductInfo instance using the specified properties. - * @function create - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @static - * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo=} [properties] Properties to set - * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} ProductInfo instance - */ - ProductInfo.create = function create(properties) { - return new ProductInfo(properties); - }; - - /** - * Encodes the specified ProductInfo message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify|verify} messages. - * @function encode - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @static - * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo} message ProductInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.productId); - if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri); - if (message.score != null && Object.hasOwnProperty.call(message, "score")) - writer.uint32(/* id 3, wireType 5 =*/29).float(message.score); - return writer; - }; - - /** - * Encodes the specified ProductInfo message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @static - * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IProductInfo} message ProductInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProductInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProductInfo message from the specified reader or buffer. - * @function decode - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} ProductInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.productId = reader.string(); - break; - case 2: - message.imageUri = reader.string(); - break; - case 3: - message.score = reader.float(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProductInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} ProductInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProductInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProductInfo message. - * @function verify - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProductInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.productId != null && message.hasOwnProperty("productId")) - if (!$util.isString(message.productId)) - return "productId: string expected"; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - if (!$util.isString(message.imageUri)) - return "imageUri: string expected"; - if (message.score != null && message.hasOwnProperty("score")) - if (typeof message.score !== "number") - return "score: number expected"; - return null; - }; - - /** - * Creates a ProductInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @static - * @param {Object.} object Plain object - * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} ProductInfo - */ - ProductInfo.fromObject = function fromObject(object) { - if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo) - return object; - var message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo(); - if (object.productId != null) - message.productId = String(object.productId); - if (object.imageUri != null) - message.imageUri = String(object.imageUri); - if (object.score != null) - message.score = Number(object.score); - return message; - }; - - /** - * Creates a plain object from a ProductInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @static - * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo} message ProductInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProductInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.productId = ""; - object.imageUri = ""; - object.score = 0; - } - if (message.productId != null && message.hasOwnProperty("productId")) - object.productId = message.productId; - if (message.imageUri != null && message.hasOwnProperty("imageUri")) - object.imageUri = message.imageUri; - if (message.score != null && message.hasOwnProperty("score")) - object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; - return object; - }; - - /** - * Converts this ProductInfo to JSON. - * @function toJSON - * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ProductInfo - * @instance - * @returns {Object.} JSON object - */ - ProductInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ProductInfo; - })(); - ProductSearchResults.Result = (function() { /** @@ -62634,37 +61853,541 @@ return Result; })(); - return ProductSearchResults; - })(); + ProductSearchResults.ObjectAnnotation = (function() { - /** - * ProductSearchCategory enum. - * @name google.cloud.vision.v1p3beta1.ProductSearchCategory - * @enum {number} - * @property {number} PRODUCT_SEARCH_CATEGORY_UNSPECIFIED=0 PRODUCT_SEARCH_CATEGORY_UNSPECIFIED value - * @property {number} SHOES=1 SHOES value - * @property {number} BAGS=2 BAGS value - */ - v1p3beta1.ProductSearchCategory = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED"] = 0; - values[valuesById[1] = "SHOES"] = 1; - values[valuesById[2] = "BAGS"] = 2; - return values; - })(); + /** + * Properties of an ObjectAnnotation. + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @interface IObjectAnnotation + * @property {string|null} [mid] ObjectAnnotation mid + * @property {string|null} [languageCode] ObjectAnnotation languageCode + * @property {string|null} [name] ObjectAnnotation name + * @property {number|null} [score] ObjectAnnotation score + */ - /** - * ProductSearchResultsView enum. - * @name google.cloud.vision.v1p3beta1.ProductSearchResultsView - * @enum {number} - * @property {number} BASIC=0 BASIC value - * @property {number} FULL=1 FULL value - */ - v1p3beta1.ProductSearchResultsView = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "BASIC"] = 0; - values[valuesById[1] = "FULL"] = 1; - return values; + /** + * Constructs a new ObjectAnnotation. + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @classdesc Represents an ObjectAnnotation. + * @implements IObjectAnnotation + * @constructor + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation=} [properties] Properties to set + */ + function ObjectAnnotation(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]]; + } + + /** + * ObjectAnnotation mid. + * @member {string} mid + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.mid = ""; + + /** + * ObjectAnnotation languageCode. + * @member {string} languageCode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.languageCode = ""; + + /** + * ObjectAnnotation name. + * @member {string} name + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.name = ""; + + /** + * ObjectAnnotation score. + * @member {number} score + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @instance + */ + ObjectAnnotation.prototype.score = 0; + + /** + * Creates a new ObjectAnnotation instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation instance + */ + ObjectAnnotation.create = function create(properties) { + return new ObjectAnnotation(properties); + }; + + /** + * Encodes the specified ObjectAnnotation message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation} message ObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectAnnotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.mid != null && Object.hasOwnProperty.call(message, "mid")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.mid); + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); + if (message.score != null && Object.hasOwnProperty.call(message, "score")) + writer.uint32(/* id 4, wireType 5 =*/37).float(message.score); + return writer; + }; + + /** + * Encodes the specified ObjectAnnotation message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IObjectAnnotation} message ObjectAnnotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ObjectAnnotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ObjectAnnotation message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectAnnotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mid = reader.string(); + break; + case 2: + message.languageCode = reader.string(); + break; + case 3: + message.name = reader.string(); + break; + case 4: + message.score = reader.float(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ObjectAnnotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ObjectAnnotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ObjectAnnotation message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ObjectAnnotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.mid != null && message.hasOwnProperty("mid")) + if (!$util.isString(message.mid)) + return "mid: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.score != null && message.hasOwnProperty("score")) + if (typeof message.score !== "number") + return "score: number expected"; + return null; + }; + + /** + * Creates an ObjectAnnotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation} ObjectAnnotation + */ + ObjectAnnotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation(); + if (object.mid != null) + message.mid = String(object.mid); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.name != null) + message.name = String(object.name); + if (object.score != null) + message.score = Number(object.score); + return message; + }; + + /** + * Creates a plain object from an ObjectAnnotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation} message ObjectAnnotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ObjectAnnotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.mid = ""; + object.languageCode = ""; + object.name = ""; + object.score = 0; + } + if (message.mid != null && message.hasOwnProperty("mid")) + object.mid = message.mid; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.score != null && message.hasOwnProperty("score")) + object.score = options.json && !isFinite(message.score) ? String(message.score) : message.score; + return object; + }; + + /** + * Converts this ObjectAnnotation to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @instance + * @returns {Object.} JSON object + */ + ObjectAnnotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ObjectAnnotation; + })(); + + ProductSearchResults.GroupedResult = (function() { + + /** + * Properties of a GroupedResult. + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @interface IGroupedResult + * @property {google.cloud.vision.v1p3beta1.IBoundingPoly|null} [boundingPoly] GroupedResult boundingPoly + * @property {Array.|null} [results] GroupedResult results + * @property {Array.|null} [objectAnnotations] GroupedResult objectAnnotations + */ + + /** + * Constructs a new GroupedResult. + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @classdesc Represents a GroupedResult. + * @implements IGroupedResult + * @constructor + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult=} [properties] Properties to set + */ + function GroupedResult(properties) { + this.results = []; + this.objectAnnotations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GroupedResult boundingPoly. + * @member {google.cloud.vision.v1p3beta1.IBoundingPoly|null|undefined} boundingPoly + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.boundingPoly = null; + + /** + * GroupedResult results. + * @member {Array.} results + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.results = $util.emptyArray; + + /** + * GroupedResult objectAnnotations. + * @member {Array.} objectAnnotations + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @instance + */ + GroupedResult.prototype.objectAnnotations = $util.emptyArray; + + /** + * Creates a new GroupedResult instance using the specified properties. + * @function create + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult=} [properties] Properties to set + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult} GroupedResult instance + */ + GroupedResult.create = function create(properties) { + return new GroupedResult(properties); + }; + + /** + * Encodes the specified GroupedResult message. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @function encode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GroupedResult.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.boundingPoly != null && Object.hasOwnProperty.call(message, "boundingPoly")) + $root.google.cloud.vision.v1p3beta1.BoundingPoly.encode(message.boundingPoly, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.results != null && message.results.length) + for (var i = 0; i < message.results.length; ++i) + $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.encode(message.results[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.objectAnnotations != null && message.objectAnnotations.length) + for (var i = 0; i < message.objectAnnotations.length; ++i) + $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GroupedResult message, length delimited. Does not implicitly {@link google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.IGroupedResult} message GroupedResult message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GroupedResult.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GroupedResult message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult} GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GroupedResult.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + case 2: + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + case 3: + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GroupedResult message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult} GroupedResult + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GroupedResult.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GroupedResult message. + * @function verify + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GroupedResult.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) { + var error = $root.google.cloud.vision.v1p3beta1.BoundingPoly.verify(message.boundingPoly); + if (error) + return "boundingPoly." + error; + } + if (message.results != null && message.hasOwnProperty("results")) { + if (!Array.isArray(message.results)) + return "results: array expected"; + for (var i = 0; i < message.results.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.verify(message.results[i]); + if (error) + return "results." + error; + } + } + if (message.objectAnnotations != null && message.hasOwnProperty("objectAnnotations")) { + if (!Array.isArray(message.objectAnnotations)) + return "objectAnnotations: array expected"; + for (var i = 0; i < message.objectAnnotations.length; ++i) { + var error = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.verify(message.objectAnnotations[i]); + if (error) + return "objectAnnotations." + error; + } + } + return null; + }; + + /** + * Creates a GroupedResult message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult} GroupedResult + */ + GroupedResult.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult) + return object; + var message = new $root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult(); + if (object.boundingPoly != null) { + if (typeof object.boundingPoly !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.boundingPoly: object expected"); + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.fromObject(object.boundingPoly); + } + if (object.results) { + if (!Array.isArray(object.results)) + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.results: array expected"); + message.results = []; + for (var i = 0; i < object.results.length; ++i) { + if (typeof object.results[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.results: object expected"); + message.results[i] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.fromObject(object.results[i]); + } + } + if (object.objectAnnotations) { + if (!Array.isArray(object.objectAnnotations)) + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.objectAnnotations: array expected"); + message.objectAnnotations = []; + for (var i = 0; i < object.objectAnnotations.length; ++i) { + if (typeof object.objectAnnotations[i] !== "object") + throw TypeError(".google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.objectAnnotations: object expected"); + message.objectAnnotations[i] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.fromObject(object.objectAnnotations[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GroupedResult message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @static + * @param {google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult} message GroupedResult + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GroupedResult.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.results = []; + object.objectAnnotations = []; + } + if (options.defaults) + object.boundingPoly = null; + if (message.boundingPoly != null && message.hasOwnProperty("boundingPoly")) + object.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.toObject(message.boundingPoly, options); + if (message.results && message.results.length) { + object.results = []; + for (var j = 0; j < message.results.length; ++j) + object.results[j] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.toObject(message.results[j], options); + } + if (message.objectAnnotations && message.objectAnnotations.length) { + object.objectAnnotations = []; + for (var j = 0; j < message.objectAnnotations.length; ++j) + object.objectAnnotations[j] = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.toObject(message.objectAnnotations[j], options); + } + return object; + }; + + /** + * Converts this GroupedResult to JSON. + * @function toJSON + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @instance + * @returns {Object.} JSON object + */ + GroupedResult.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GroupedResult; + })(); + + return ProductSearchResults; })(); v1p3beta1.ProductSearch = (function() { diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 595ea4df7e4..ea9bc202dfa 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -222,6 +222,16 @@ } } }, + "Likelihood": { + "values": { + "UNKNOWN": 0, + "VERY_UNLIKELY": 1, + "UNLIKELY": 2, + "POSSIBLE": 3, + "LIKELY": 4, + "VERY_LIKELY": 5 + } + }, "Feature": { "fields": { "type": { @@ -281,16 +291,6 @@ } } }, - "Likelihood": { - "values": { - "UNKNOWN": 0, - "VERY_UNLIKELY": 1, - "UNLIKELY": 2, - "POSSIBLE": 3, - "LIKELY": 4, - "VERY_LIKELY": 5 - } - }, "FaceAnnotation": { "fields": { "boundingPoly": { @@ -527,48 +527,6 @@ "racy": { "type": "Likelihood", "id": 9 - }, - "adultConfidence": { - "type": "float", - "id": 16, - "options": { - "deprecated": true - } - }, - "spoofConfidence": { - "type": "float", - "id": 18, - "options": { - "deprecated": true - } - }, - "medicalConfidence": { - "type": "float", - "id": 20, - "options": { - "deprecated": true - } - }, - "violenceConfidence": { - "type": "float", - "id": 22, - "options": { - "deprecated": true - } - }, - "racyConfidence": { - "type": "float", - "id": 24, - "options": { - "deprecated": true - } - }, - "nsfwConfidence": { - "type": "float", - "id": 26, - "options": { - "deprecated": true - } } } }, @@ -4292,7 +4250,8 @@ "go_package": "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision", "java_multiple_files": true, "java_outer_classname": "WebDetectionProto", - "java_package": "com.google.cloud.vision.v1p3beta1" + "java_package": "com.google.cloud.vision.v1p3beta1", + "objc_class_prefix": "GCVN" }, "nested": { "Vertex": { @@ -4333,15 +4292,6 @@ } } }, - "NormalizedBoundingPoly": { - "fields": { - "vertices": { - "rule": "repeated", - "type": "NormalizedVertex", - "id": 1 - } - } - }, "Position": { "fields": { "x": { @@ -4944,7 +4894,10 @@ "requests": { "rule": "repeated", "type": "AnnotateImageRequest", - "id": 1 + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } } } }, @@ -5086,30 +5039,10 @@ }, "ProductSearchParams": { "fields": { - "catalogName": { - "type": "string", - "id": 1 - }, - "category": { - "type": "ProductSearchCategory", - "id": 2 - }, - "productCategory": { - "type": "string", - "id": 5 - }, - "normalizedBoundingPoly": { - "type": "NormalizedBoundingPoly", - "id": 3 - }, "boundingPoly": { "type": "BoundingPoly", "id": 9 }, - "view": { - "type": "ProductSearchResultsView", - "id": 4 - }, "productSet": { "type": "string", "id": 6, @@ -5130,77 +5063,78 @@ }, "ProductSearchResults": { "fields": { - "category": { - "type": "ProductSearchCategory", - "id": 1 - }, - "productCategory": { - "type": "string", - "id": 4 - }, "indexTime": { "type": "google.protobuf.Timestamp", "id": 2 }, - "products": { - "rule": "repeated", - "type": "ProductInfo", - "id": 3 - }, "results": { "rule": "repeated", "type": "Result", "id": 5 + }, + "productGroupedResults": { + "rule": "repeated", + "type": "GroupedResult", + "id": 6 } }, "nested": { - "ProductInfo": { + "Result": { "fields": { - "productId": { + "product": { + "type": "Product", + "id": 1 + }, + "score": { + "type": "float", + "id": 2 + }, + "image": { + "type": "string", + "id": 3 + } + } + }, + "ObjectAnnotation": { + "fields": { + "mid": { "type": "string", "id": 1 }, - "imageUri": { + "languageCode": { "type": "string", "id": 2 }, + "name": { + "type": "string", + "id": 3 + }, "score": { "type": "float", - "id": 3 + "id": 4 } } }, - "Result": { + "GroupedResult": { "fields": { - "product": { - "type": "Product", + "boundingPoly": { + "type": "BoundingPoly", "id": 1 }, - "score": { - "type": "float", + "results": { + "rule": "repeated", + "type": "Result", "id": 2 }, - "image": { - "type": "string", + "objectAnnotations": { + "rule": "repeated", + "type": "ObjectAnnotation", "id": 3 } } } } }, - "ProductSearchCategory": { - "values": { - "PRODUCT_SEARCH_CATEGORY_UNSPECIFIED": 0, - "SHOES": 1, - "BAGS": 2 - } - }, - "ProductSearchResultsView": { - "values": { - "BASIC": 0, - "FULL": 1 - } - }, "ProductSearch": { "options": { "(google.api.default_host)": "vision.googleapis.com", diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js index c29ac36b691..baf8aae8be8 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js @@ -26,8 +26,8 @@ function main(requests) { * TODO(developer): Uncomment these variables before running the sample. */ /** - * Required. The list of file annotation requests. Right now we support only - * one AnnotateFileRequest in BatchAnnotateFilesRequest. + * Required. The list of file annotation requests. Right now we support only one + * AnnotateFileRequest in BatchAnnotateFilesRequest. */ // const requests = 1234 /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js index 1f9a00e0438..191bb5469e6 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js @@ -20,7 +20,7 @@ 'use strict'; -function main() { +function main(requests) { // [START vision_v1p3beta1_generated_ImageAnnotator_BatchAnnotateImages_async] /** * TODO(developer): Uncomment these variables before running the sample. @@ -39,6 +39,7 @@ function main() { async function callBatchAnnotateImages() { // Construct request const request = { + requests, }; // Run request diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json index f19cd621a54..ba4f98b82ed 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 49, + "end": 50, "type": "FULL" } ], diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 946012aed0b..b0ecd679820 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -476,8 +476,8 @@ export class ImageAnnotatorClient { * @param {Object} request * The request object that will be sent. * @param {number[]} request.requests - * Required. The list of file annotation requests. Right now we support only - * one AnnotateFileRequest in BatchAnnotateFilesRequest. + * Required. The list of file annotation requests. Right now we support only one + * AnnotateFileRequest in BatchAnnotateFilesRequest. * @param {string} request.parent * Optional. Target project and location to make a call. * From 8c0b39ace8b6bd28f4508e16cfa24a8ef9165175 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 9 Jun 2022 22:10:15 +0200 Subject: [PATCH 544/588] chore(deps): update dependency jsdoc-region-tag to v2 (#1021) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [jsdoc-region-tag](https://togithub.com/googleapis/jsdoc-region-tag) | [`^1.0.4` -> `^2.0.0`](https://renovatebot.com/diffs/npm/jsdoc-region-tag/1.3.1/2.0.0) | [![age](https://badges.renovateapi.com/packages/npm/jsdoc-region-tag/2.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/jsdoc-region-tag/2.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/jsdoc-region-tag/2.0.0/compatibility-slim/1.3.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/jsdoc-region-tag/2.0.0/confidence-slim/1.3.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
googleapis/jsdoc-region-tag ### [`v2.0.0`](https://togithub.com/googleapis/jsdoc-region-tag/blob/HEAD/CHANGELOG.md#​200-httpsgithubcomgoogleapisjsdoc-region-tagcomparev131v200-2022-05-20) [Compare Source](https://togithub.com/googleapis/jsdoc-region-tag/compare/v1.3.1...v2.0.0) ##### ⚠ BREAKING CHANGES - update library to use Node 12 ([#​107](https://togithub.com/googleapis/jsdoc-region-tag/issues/107)) ##### Build System - update library to use Node 12 ([#​107](https://togithub.com/googleapis/jsdoc-region-tag/issues/107)) ([5b51796](https://togithub.com/googleapis/jsdoc-region-tag/commit/5b51796771984cf8b978990025f14faa03c19923)) ##### [1.3.1](https://www.github.com/googleapis/jsdoc-region-tag/compare/v1.3.0...v1.3.1) (2021-08-11) ##### Bug Fixes - **build:** migrate to using main branch ([#​79](https://www.togithub.com/googleapis/jsdoc-region-tag/issues/79)) ([5050615](https://www.github.com/googleapis/jsdoc-region-tag/commit/50506150b7758592df5e389c6a5c3d82b3b20881))
--- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 84fc0f7c6f1..5235f9b2d82 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -61,7 +61,7 @@ "gts": "^2.0.0", "jsdoc": "^3.6.3", "jsdoc-fresh": "^1.0.2", - "jsdoc-region-tag": "^1.0.4", + "jsdoc-region-tag": "^2.0.0", "linkinator": "^2.0.3", "mocha": "^8.0.0", "null-loader": "^4.0.0", From c011122c1069946a8c08b45665010b4647f88bc8 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 9 Jun 2022 22:24:10 +0200 Subject: [PATCH 545/588] chore(deps): update dependency jsdoc-fresh to v2 (#1020) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [jsdoc-fresh](https://togithub.com/googleapis/jsdoc-fresh) | [`^1.0.2` -> `^2.0.0`](https://renovatebot.com/diffs/npm/jsdoc-fresh/1.1.1/2.0.0) | [![age](https://badges.renovateapi.com/packages/npm/jsdoc-fresh/2.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/jsdoc-fresh/2.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/jsdoc-fresh/2.0.0/compatibility-slim/1.1.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/jsdoc-fresh/2.0.0/confidence-slim/1.1.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
googleapis/jsdoc-fresh ### [`v2.0.0`](https://togithub.com/googleapis/jsdoc-fresh/blob/HEAD/CHANGELOG.md#​200-httpsgithubcomgoogleapisjsdoc-freshcomparev111v200-2022-05-18) [Compare Source](https://togithub.com/googleapis/jsdoc-fresh/compare/v1.1.1...v2.0.0) ##### ⚠ BREAKING CHANGES - update library to use Node 12 ([#​108](https://togithub.com/googleapis/jsdoc-fresh/issues/108)) ##### Build System - update library to use Node 12 ([#​108](https://togithub.com/googleapis/jsdoc-fresh/issues/108)) ([e61c223](https://togithub.com/googleapis/jsdoc-fresh/commit/e61c2238db8900e339e5fe7fb8aea09642290182)) ##### [1.1.1](https://www.github.com/googleapis/jsdoc-fresh/compare/v1.1.0...v1.1.1) (2021-08-11) ##### Bug Fixes - **build:** migrate to using main branch ([#​83](https://www.togithub.com/googleapis/jsdoc-fresh/issues/83)) ([9474adb](https://www.github.com/googleapis/jsdoc-fresh/commit/9474adbf0d559d319ff207397ba2be6b557999ac))
--- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 5235f9b2d82..53836b1e0f2 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -60,7 +60,7 @@ "codecov": "^3.6.5", "gts": "^2.0.0", "jsdoc": "^3.6.3", - "jsdoc-fresh": "^1.0.2", + "jsdoc-fresh": "^2.0.0", "jsdoc-region-tag": "^2.0.0", "linkinator": "^2.0.3", "mocha": "^8.0.0", From bd900937c289d488d3b8a1d5135e71a86f4fc02d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 5 Jul 2022 17:47:43 +0200 Subject: [PATCH 546/588] chore(deps): update dependency @google-cloud/storage to v6 (#1018) --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 53836b1e0f2..20458d5d5d1 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -50,7 +50,7 @@ "is": "^3.3.0" }, "devDependencies": { - "@google-cloud/storage": "^5.0.0", + "@google-cloud/storage": "^6.0.0", "@types/is": "0.0.21", "@types/mocha": "^9.0.0", "@types/node": "^16.0.0", diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 569020d6fe1..6dcea6862fb 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -20,7 +20,7 @@ "yargs": "^16.0.0" }, "devDependencies": { - "@google-cloud/storage": "^5.0.0", + "@google-cloud/storage": "^6.0.0", "chai": "^4.2.0", "mocha": "^8.0.0", "uuid": "^8.0.0" From ce7a319c22069821e3b2c4c7a3754cf69680b3d6 Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Tue, 5 Jul 2022 14:25:59 -0700 Subject: [PATCH 547/588] build!: update library to use Node 12 (#1016) --- packages/google-cloud-vision/.repo-metadata.json | 2 +- packages/google-cloud-vision/package.json | 14 +++++++------- packages/google-cloud-vision/samples/package.json | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/google-cloud-vision/.repo-metadata.json b/packages/google-cloud-vision/.repo-metadata.json index 38f7a6c801f..e03dc3467b3 100644 --- a/packages/google-cloud-vision/.repo-metadata.json +++ b/packages/google-cloud-vision/.repo-metadata.json @@ -10,7 +10,7 @@ "name_pretty": "Google Cloud Vision API", "name": "vision", "codeowner_team": "@googleapis/ml-apis", - "default_version": "v1p4beta1", + "default_version": "v1", "language": "nodejs", "api_shortname": "vision", "library_type": "GAPIC_COMBO" diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 20458d5d5d1..ef27d4833fe 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -5,7 +5,7 @@ "license": "Apache-2.0", "author": "Google Inc", "engines": { - "node": ">=10" + "node": ">=12.0.0" }, "repository": "googleapis/nodejs-vision", "main": "build/src/index.js", @@ -45,8 +45,8 @@ "precompile": "gts clean" }, "dependencies": { - "@google-cloud/promisify": "^2.0.0", - "google-gax": "^2.24.1", + "@google-cloud/promisify": "^3.0.0", + "google-gax": "^3.0.1", "is": "^3.3.0" }, "devDependencies": { @@ -58,17 +58,17 @@ "@types/uuid": "^8.0.0", "c8": "^7.1.0", "codecov": "^3.6.5", - "gts": "^2.0.0", + "gts": "^4.0.0", "jsdoc": "^3.6.3", "jsdoc-fresh": "^2.0.0", "jsdoc-region-tag": "^2.0.0", - "linkinator": "^2.0.3", - "mocha": "^8.0.0", + "linkinator": "^3.1.0", + "mocha": "^10.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", "sinon": "^14.0.0", "ts-loader": "^9.0.0", - "typescript": "^3.8.3", + "typescript": "^4.6.4", "uuid": "^8.0.0", "webpack": "^5.0.0", "webpack-cli": "^4.0.0" diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 6dcea6862fb..99b08adc5da 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -4,7 +4,7 @@ "license": "Apache-2.0", "author": "Google LLC", "engines": { - "node": ">=10.17.0" + "node": ">=12.0.0" }, "files": [ "*.js" @@ -16,13 +16,13 @@ "@google-cloud/vision": "^2.4.2", "natural": "^5.0.0", "pureimage": "^0.3.0", - "redis": "^4.0.0", + "redis": "~4.0.0", "yargs": "^16.0.0" }, "devDependencies": { "@google-cloud/storage": "^6.0.0", "chai": "^4.2.0", - "mocha": "^8.0.0", + "mocha": "^10.0.0", "uuid": "^8.0.0" } } From f1cca6359a62dbc83629b389bb97bba10530da02 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 5 Jul 2022 17:44:17 -0400 Subject: [PATCH 548/588] feat: support regapic LRO PiperOrigin-RevId: 456946341 Source-Link: https://github.com/googleapis/googleapis/commit/88fd18d9d3b872b3d06a3d9392879f50b5bf3ce5 Source-Link: https://github.com/googleapis/googleapis-gen/commit/accfa371f667439313335c64042b063c1c53102e Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYWNjZmEzNzFmNjY3NDM5MzEzMzM1YzY0MDQyYjA2M2MxYzUzMTAyZSJ9 See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Use gapic-generator-typescript v2.15.2. PiperOrigin-RevId: 458552034 Source-Link: https://github.com/googleapis/googleapis/commit/ae65014049c6eb195741d7efbd0b10bee3f83d4f Source-Link: https://github.com/googleapis/googleapis-gen/commit/b09ede435cce110446d4ab9f62a081b571d37e3f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjA5ZWRlNDM1Y2NlMTEwNDQ2ZDRhYjlmNjJhMDgxYjU3MWQzN2UzZiJ9 See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot Co-authored-by: Benjamin E. Coe --- .../src/v1/image_annotator_client.ts | 37 +++++++++++++------ .../src/v1/product_search_client.ts | 37 +++++++++++++------ .../src/v1p1beta1/image_annotator_client.ts | 11 +++--- .../src/v1p2beta1/image_annotator_client.ts | 27 ++++++++------ .../src/v1p3beta1/image_annotator_client.ts | 33 +++++++++++------ .../src/v1p3beta1/product_search_client.ts | 33 +++++++++++------ .../src/v1p4beta1/image_annotator_client.ts | 33 +++++++++++------ .../src/v1p4beta1/product_search_client.ts | 33 +++++++++++------ 8 files changed, 154 insertions(+), 90 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index b0ecd679820..81ae76ad697 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, } from 'google-gax'; @@ -70,7 +71,7 @@ export class ImageAnnotatorClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -93,11 +94,10 @@ export class ImageAnnotatorClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -176,16 +176,29 @@ export class ImageAnnotatorClient { }; const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); - // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=projects/*/operations/*}', + additional_bindings: [ + {get: '/v1/{name=projects/*/locations/*/operations/*}'}, + {get: '/v1/{name=operations/*}'}, + {get: '/v1/{name=locations/*/operations/*}'}, + ], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( '.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse' diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index caad898810e..b7754050131 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, PaginationCallback, GaxCall, @@ -85,7 +86,7 @@ export class ProductSearchClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -108,11 +109,10 @@ export class ProductSearchClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -220,16 +220,29 @@ export class ProductSearchClient { }; const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); - // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=projects/*/operations/*}', + additional_bindings: [ + {get: '/v1/{name=projects/*/locations/*/operations/*}'}, + {get: '/v1/{name=operations/*}'}, + {get: '/v1/{name=locations/*/operations/*}'}, + ], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const importProductSetsResponse = protoFilesRoot.lookup( '.google.cloud.vision.v1.ImportProductSetsResponse' diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 9bd68d7476f..000abd9c451 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -62,7 +62,7 @@ export class ImageAnnotatorClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -85,11 +85,10 @@ export class ImageAnnotatorClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 5064ae7dc82..a5d2fdc908a 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, } from 'google-gax'; @@ -69,7 +70,7 @@ export class ImageAnnotatorClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -92,11 +93,10 @@ export class ImageAnnotatorClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -160,16 +160,19 @@ export class ImageAnnotatorClient { this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); - // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = []; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( '.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse' diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 27484b5e3b7..6c373b8783a 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, } from 'google-gax'; @@ -70,7 +71,7 @@ export class ImageAnnotatorClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -93,11 +94,10 @@ export class ImageAnnotatorClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -176,16 +176,25 @@ export class ImageAnnotatorClient { }; const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); - // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=operations/*}', + additional_bindings: [{get: '/v1/{name=locations/*/operations/*}'}], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const asyncBatchAnnotateFilesResponse = protoFilesRoot.lookup( '.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse' diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 97f649ac3d4..66132d9cbd8 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, PaginationCallback, GaxCall, @@ -85,7 +86,7 @@ export class ProductSearchClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -108,11 +109,10 @@ export class ProductSearchClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -220,16 +220,25 @@ export class ProductSearchClient { }; const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); - // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=operations/*}', + additional_bindings: [{get: '/v1/{name=locations/*/operations/*}'}], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const importProductSetsResponse = protoFilesRoot.lookup( '.google.cloud.vision.v1p3beta1.ImportProductSetsResponse' diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index b91375b9cae..958e1b3a677 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, } from 'google-gax'; @@ -70,7 +71,7 @@ export class ImageAnnotatorClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -93,11 +94,10 @@ export class ImageAnnotatorClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -176,16 +176,25 @@ export class ImageAnnotatorClient { }; const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); - // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=operations/*}', + additional_bindings: [{get: '/v1/{name=locations/*/operations/*}'}], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const asyncBatchAnnotateImagesResponse = protoFilesRoot.lookup( '.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse' diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 3e8e3479b34..0626fb3bdfd 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -23,6 +23,7 @@ import { CallOptions, Descriptors, ClientOptions, + GrpcClientOptions, LROperation, PaginationCallback, GaxCall, @@ -89,7 +90,7 @@ export class ProductSearchClient { * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance). + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] @@ -112,11 +113,10 @@ export class ProductSearchClient { * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. - * @param {boolean} [options.fallback] - Use HTTP fallback mode. - * In fallback mode, a special browser-compatible transport implementation is used - * instead of gRPC transport. In browser context (if the `window` object is defined) - * the fallback mode is enabled automatically; set `options.fallback` to `false` - * if you need to override this behavior. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. */ constructor(opts?: ClientOptions) { // Ensure that options include all the required fields. @@ -224,16 +224,25 @@ export class ProductSearchClient { }; const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); - // This API contains "long-running operations", which return a // an Operation object that allows for tracking of the operation, // rather than holding a request open. - + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=operations/*}', + additional_bindings: [{get: '/v1/{name=locations/*/operations/*}'}], + }, + ]; + } this.operationsClient = this._gaxModule - .lro({ - auth: this.auth, - grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, - }) + .lro(lroOptions) .operationsClient(opts); const importProductSetsResponse = protoFilesRoot.lookup( '.google.cloud.vision.v1p4beta1.ImportProductSetsResponse' From 27c0c7fcc60b7ada430de4675e17134ba43bfbf9 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 6 Jul 2022 16:25:55 +0200 Subject: [PATCH 549/588] samples: update dependency redis to ~4.2.0 (#1027) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 99b08adc5da..2ab937b6d7f 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -16,7 +16,7 @@ "@google-cloud/vision": "^2.4.2", "natural": "^5.0.0", "pureimage": "^0.3.0", - "redis": "~4.0.0", + "redis": "~4.2.0", "yargs": "^16.0.0" }, "devDependencies": { From 5f3ac656db25043cad7e95c87697cc86af7640f2 Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Tue, 12 Jul 2022 16:07:51 -0700 Subject: [PATCH 550/588] build: remove flaky system test, no longer needed with sample tests (#1030) --- .../google-cloud-vision/system-test/vision.ts | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/packages/google-cloud-vision/system-test/vision.ts b/packages/google-cloud-vision/system-test/vision.ts index 4ef74533061..8fa98113b41 100644 --- a/packages/google-cloud-vision/system-test/vision.ts +++ b/packages/google-cloud-vision/system-test/vision.ts @@ -69,25 +69,6 @@ describe('Vision', () => { ); }); - it('should detect from a URL', function () { - this.retries(3); - const url = - 'https://lh3.googleusercontent.com/d_S5gxu_S1P6NR1gXeMthZeBzkrQMHdI5uvXrpn3nfJuXpCjlqhLQKH_hbOxTHxFhp5WugVOEcl4WDrv9rmKBDOMExhKU5KmmLFQVg'; - return client - .logoDetection(url) - .then( - ( - responses: [prototypes.google.cloud.vision.v1.IAnnotateImageResponse] - ) => { - const response = responses[0]; - assert.strictEqual( - response.logoAnnotations![0].description!.toLowerCase(), - 'google' - ); - } - ); - }); - it('should detect from a filename', () => { return client .logoDetection(IMAGES.logo) From 369320ecf99f231679943b2be6e4a66b9a782d13 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 13 Jul 2022 02:02:22 +0200 Subject: [PATCH 551/588] chore(deps): update dependency linkinator to v4 (#1029) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [linkinator](https://togithub.com/JustinBeckwith/linkinator) | [`^3.1.0` -> `^4.0.0`](https://renovatebot.com/diffs/npm/linkinator/3.1.0/4.0.2) | [![age](https://badges.renovateapi.com/packages/npm/linkinator/4.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/linkinator/4.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/linkinator/4.0.2/compatibility-slim/3.1.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/linkinator/4.0.2/confidence-slim/3.1.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
JustinBeckwith/linkinator ### [`v4.0.2`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v4.0.2) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v4.0.1...v4.0.2) ##### Bug Fixes - address srcset parsing with multiple spaces ([#​512](https://togithub.com/JustinBeckwith/linkinator/issues/512)) ([fefb5b6](https://togithub.com/JustinBeckwith/linkinator/commit/fefb5b6734fc4ab335793358c5f491338ecbeb90)) ### [`v4.0.1`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v4.0.1) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v4.0.0...v4.0.1) ##### Bug Fixes - properly parse srcset attribute ([#​510](https://togithub.com/JustinBeckwith/linkinator/issues/510)) ([9a8a83c](https://togithub.com/JustinBeckwith/linkinator/commit/9a8a83c35182b3cd4daee62a00f156767fe5c6a7)) ### [`v4.0.0`](https://togithub.com/JustinBeckwith/linkinator/releases/tag/v4.0.0) [Compare Source](https://togithub.com/JustinBeckwith/linkinator/compare/v3.1.0...v4.0.0) ##### Features - create new release with notes ([#​508](https://togithub.com/JustinBeckwith/linkinator/issues/508)) ([2cab633](https://togithub.com/JustinBeckwith/linkinator/commit/2cab633c9659eb10794a4bac06f8b0acdc3e2c0c)) ##### BREAKING CHANGES - The commits in [#​507](https://togithub.com/JustinBeckwith/linkinator/issues/507) and [#​506](https://togithub.com/JustinBeckwith/linkinator/issues/506) both had breaking changes. They included dropping support for Node.js 12.x and updating the CSV export to be streaming, and to use a new way of writing the CSV file. This is an empty to commit using the `BREAKING CHANGE` format in the commit message to ensure a release is triggered.
--- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ef27d4833fe..122b27ae34e 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -62,7 +62,7 @@ "jsdoc": "^3.6.3", "jsdoc-fresh": "^2.0.0", "jsdoc-region-tag": "^2.0.0", - "linkinator": "^3.1.0", + "linkinator": "^4.0.0", "mocha": "^10.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", From b0880713a128de28dd18e020cf935b1c12acf9f4 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 10 Aug 2022 13:50:55 -0700 Subject: [PATCH 552/588] feat: Add TextDetectionParams.advanced_ocr_options (#1034) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Add TextDetectionParams.advanced_ocr_options Advanced OCR options allow users to customize behavior for a specific OCR engine version. PiperOrigin-RevId: 465402148 Source-Link: https://github.com/googleapis/googleapis/commit/ad64930eaf928b006c55914d8319b84670eeaf67 Source-Link: https://github.com/googleapis/googleapis-gen/commit/5d2c8b2b1cb0d15bf7243513a5543a9ec3ecd778 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNWQyYzhiMmIxY2IwZDE1YmY3MjQzNTEzYTU1NDNhOWVjM2VjZDc3OCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../cloud/vision/v1/image_annotator.proto | 3 + .../vision/v1p1beta1/image_annotator.proto | 3 + .../vision/v1p2beta1/image_annotator.proto | 3 + .../vision/v1p3beta1/image_annotator.proto | 3 + .../vision/v1p4beta1/image_annotator.proto | 3 + .../google-cloud-vision/protos/protos.d.ts | 30 +++ packages/google-cloud-vision/protos/protos.js | 195 ++++++++++++++++++ .../google-cloud-vision/protos/protos.json | 25 +++ 8 files changed, 265 insertions(+) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index a70c7fdc800..10464b0e0d8 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -654,6 +654,9 @@ message TextDetectionParams { // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence // score for TEXT_DETECTION as well. bool enable_text_detection_confidence_score = 9; + + // A list of advanced OCR options to fine-tune OCR behavior. + repeated string advanced_ocr_options = 11; } // Image context and/or feature-specific parameters. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto index daf6a2d2758..729a0fa08e6 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto @@ -498,6 +498,9 @@ message TextDetectionParams { // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence // score for TEXT_DETECTION as well. bool enable_text_detection_confidence_score = 9; + + // A list of advanced OCR options to fine-tune OCR behavior. + repeated string advanced_ocr_options = 11; } // Image context and/or feature-specific parameters. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index eaf5abf05dc..5fc3163c75d 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -529,6 +529,9 @@ message TextDetectionParams { // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence // score for TEXT_DETECTION as well. bool enable_text_detection_confidence_score = 9; + + // A list of advanced OCR options to fine-tune OCR behavior. + repeated string advanced_ocr_options = 11; } // Image context and/or feature-specific parameters. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto index 5f21117847b..ca0b4e86d5b 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -557,6 +557,9 @@ message TextDetectionParams { // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence // score for TEXT_DETECTION as well. bool enable_text_detection_confidence_score = 9; + + // A list of advanced OCR options to fine-tune OCR behavior. + repeated string advanced_ocr_options = 11; } // Image context and/or feature-specific parameters. diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index 07217f39820..6d7f3dd1f62 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -628,6 +628,9 @@ message TextDetectionParams { // DOCUMENT_TEXT_DETECTION result. Set the flag to true to include confidence // score for TEXT_DETECTION as well. bool enable_text_detection_confidence_score = 9; + + // A list of advanced OCR options to fine-tune OCR behavior. + repeated string advanced_ocr_options = 11; } // Image context and/or feature-specific parameters. diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index daec4b34d4a..b72c7a2fa1e 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -2478,6 +2478,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore */ enableTextDetectionConfidenceScore?: (boolean|null); + + /** TextDetectionParams advancedOcrOptions */ + advancedOcrOptions?: (string[]|null); } /** Represents a TextDetectionParams. */ @@ -2492,6 +2495,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore. */ public enableTextDetectionConfidenceScore: boolean; + /** TextDetectionParams advancedOcrOptions. */ + public advancedOcrOptions: string[]; + /** * Creates a new TextDetectionParams instance using the specified properties. * @param [properties] Properties to set @@ -12453,6 +12459,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore */ enableTextDetectionConfidenceScore?: (boolean|null); + + /** TextDetectionParams advancedOcrOptions */ + advancedOcrOptions?: (string[]|null); } /** Represents a TextDetectionParams. */ @@ -12467,6 +12476,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore. */ public enableTextDetectionConfidenceScore: boolean; + /** TextDetectionParams advancedOcrOptions. */ + public advancedOcrOptions: string[]; + /** * Creates a new TextDetectionParams instance using the specified properties. * @param [properties] Properties to set @@ -16876,6 +16888,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore */ enableTextDetectionConfidenceScore?: (boolean|null); + + /** TextDetectionParams advancedOcrOptions */ + advancedOcrOptions?: (string[]|null); } /** Represents a TextDetectionParams. */ @@ -16890,6 +16905,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore. */ public enableTextDetectionConfidenceScore: boolean; + /** TextDetectionParams advancedOcrOptions. */ + public advancedOcrOptions: string[]; + /** * Creates a new TextDetectionParams instance using the specified properties. * @param [properties] Properties to set @@ -22477,6 +22495,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore */ enableTextDetectionConfidenceScore?: (boolean|null); + + /** TextDetectionParams advancedOcrOptions */ + advancedOcrOptions?: (string[]|null); } /** Represents a TextDetectionParams. */ @@ -22491,6 +22512,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore. */ public enableTextDetectionConfidenceScore: boolean; + /** TextDetectionParams advancedOcrOptions. */ + public advancedOcrOptions: string[]; + /** * Creates a new TextDetectionParams instance using the specified properties. * @param [properties] Properties to set @@ -32309,6 +32333,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore */ enableTextDetectionConfidenceScore?: (boolean|null); + + /** TextDetectionParams advancedOcrOptions */ + advancedOcrOptions?: (string[]|null); } /** Represents a TextDetectionParams. */ @@ -32323,6 +32350,9 @@ export namespace google { /** TextDetectionParams enableTextDetectionConfidenceScore. */ public enableTextDetectionConfidenceScore: boolean; + /** TextDetectionParams advancedOcrOptions. */ + public advancedOcrOptions: string[]; + /** * Creates a new TextDetectionParams instance using the specified properties. * @param [properties] Properties to set diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index cd3367ebe9a..4968511b49e 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -6455,6 +6455,7 @@ * @memberof google.cloud.vision.v1 * @interface ITextDetectionParams * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + * @property {Array.|null} [advancedOcrOptions] TextDetectionParams advancedOcrOptions */ /** @@ -6466,6 +6467,7 @@ * @param {google.cloud.vision.v1.ITextDetectionParams=} [properties] Properties to set */ function TextDetectionParams(properties) { + this.advancedOcrOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -6480,6 +6482,14 @@ */ TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + /** + * TextDetectionParams advancedOcrOptions. + * @member {Array.} advancedOcrOptions + * @memberof google.cloud.vision.v1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.advancedOcrOptions = $util.emptyArray; + /** * Creates a new TextDetectionParams instance using the specified properties. * @function create @@ -6506,6 +6516,9 @@ writer = $Writer.create(); if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + if (message.advancedOcrOptions != null && message.advancedOcrOptions.length) + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.advancedOcrOptions[i]); return writer; }; @@ -6543,6 +6556,11 @@ case 9: message.enableTextDetectionConfidenceScore = reader.bool(); break; + case 11: + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; default: reader.skipType(tag & 7); break; @@ -6581,6 +6599,13 @@ if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) if (typeof message.enableTextDetectionConfidenceScore !== "boolean") return "enableTextDetectionConfidenceScore: boolean expected"; + if (message.advancedOcrOptions != null && message.hasOwnProperty("advancedOcrOptions")) { + if (!Array.isArray(message.advancedOcrOptions)) + return "advancedOcrOptions: array expected"; + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + if (!$util.isString(message.advancedOcrOptions[i])) + return "advancedOcrOptions: string[] expected"; + } return null; }; @@ -6598,6 +6623,13 @@ var message = new $root.google.cloud.vision.v1.TextDetectionParams(); if (object.enableTextDetectionConfidenceScore != null) message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + if (object.advancedOcrOptions) { + if (!Array.isArray(object.advancedOcrOptions)) + throw TypeError(".google.cloud.vision.v1.TextDetectionParams.advancedOcrOptions: array expected"); + message.advancedOcrOptions = []; + for (var i = 0; i < object.advancedOcrOptions.length; ++i) + message.advancedOcrOptions[i] = String(object.advancedOcrOptions[i]); + } return message; }; @@ -6614,10 +6646,17 @@ if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.advancedOcrOptions = []; if (options.defaults) object.enableTextDetectionConfidenceScore = false; if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + if (message.advancedOcrOptions && message.advancedOcrOptions.length) { + object.advancedOcrOptions = []; + for (var j = 0; j < message.advancedOcrOptions.length; ++j) + object.advancedOcrOptions[j] = message.advancedOcrOptions[j]; + } return object; }; @@ -30831,6 +30870,7 @@ * @memberof google.cloud.vision.v1p1beta1 * @interface ITextDetectionParams * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + * @property {Array.|null} [advancedOcrOptions] TextDetectionParams advancedOcrOptions */ /** @@ -30842,6 +30882,7 @@ * @param {google.cloud.vision.v1p1beta1.ITextDetectionParams=} [properties] Properties to set */ function TextDetectionParams(properties) { + this.advancedOcrOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30856,6 +30897,14 @@ */ TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + /** + * TextDetectionParams advancedOcrOptions. + * @member {Array.} advancedOcrOptions + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.advancedOcrOptions = $util.emptyArray; + /** * Creates a new TextDetectionParams instance using the specified properties. * @function create @@ -30882,6 +30931,9 @@ writer = $Writer.create(); if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + if (message.advancedOcrOptions != null && message.advancedOcrOptions.length) + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.advancedOcrOptions[i]); return writer; }; @@ -30919,6 +30971,11 @@ case 9: message.enableTextDetectionConfidenceScore = reader.bool(); break; + case 11: + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; default: reader.skipType(tag & 7); break; @@ -30957,6 +31014,13 @@ if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) if (typeof message.enableTextDetectionConfidenceScore !== "boolean") return "enableTextDetectionConfidenceScore: boolean expected"; + if (message.advancedOcrOptions != null && message.hasOwnProperty("advancedOcrOptions")) { + if (!Array.isArray(message.advancedOcrOptions)) + return "advancedOcrOptions: array expected"; + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + if (!$util.isString(message.advancedOcrOptions[i])) + return "advancedOcrOptions: string[] expected"; + } return null; }; @@ -30974,6 +31038,13 @@ var message = new $root.google.cloud.vision.v1p1beta1.TextDetectionParams(); if (object.enableTextDetectionConfidenceScore != null) message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + if (object.advancedOcrOptions) { + if (!Array.isArray(object.advancedOcrOptions)) + throw TypeError(".google.cloud.vision.v1p1beta1.TextDetectionParams.advancedOcrOptions: array expected"); + message.advancedOcrOptions = []; + for (var i = 0; i < object.advancedOcrOptions.length; ++i) + message.advancedOcrOptions[i] = String(object.advancedOcrOptions[i]); + } return message; }; @@ -30990,10 +31061,17 @@ if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.advancedOcrOptions = []; if (options.defaults) object.enableTextDetectionConfidenceScore = false; if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + if (message.advancedOcrOptions && message.advancedOcrOptions.length) { + object.advancedOcrOptions = []; + for (var j = 0; j < message.advancedOcrOptions.length; ++j) + object.advancedOcrOptions[j] = message.advancedOcrOptions[j]; + } return object; }; @@ -42415,6 +42493,7 @@ * @memberof google.cloud.vision.v1p2beta1 * @interface ITextDetectionParams * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + * @property {Array.|null} [advancedOcrOptions] TextDetectionParams advancedOcrOptions */ /** @@ -42426,6 +42505,7 @@ * @param {google.cloud.vision.v1p2beta1.ITextDetectionParams=} [properties] Properties to set */ function TextDetectionParams(properties) { + this.advancedOcrOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -42440,6 +42520,14 @@ */ TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + /** + * TextDetectionParams advancedOcrOptions. + * @member {Array.} advancedOcrOptions + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.advancedOcrOptions = $util.emptyArray; + /** * Creates a new TextDetectionParams instance using the specified properties. * @function create @@ -42466,6 +42554,9 @@ writer = $Writer.create(); if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + if (message.advancedOcrOptions != null && message.advancedOcrOptions.length) + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.advancedOcrOptions[i]); return writer; }; @@ -42503,6 +42594,11 @@ case 9: message.enableTextDetectionConfidenceScore = reader.bool(); break; + case 11: + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; default: reader.skipType(tag & 7); break; @@ -42541,6 +42637,13 @@ if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) if (typeof message.enableTextDetectionConfidenceScore !== "boolean") return "enableTextDetectionConfidenceScore: boolean expected"; + if (message.advancedOcrOptions != null && message.hasOwnProperty("advancedOcrOptions")) { + if (!Array.isArray(message.advancedOcrOptions)) + return "advancedOcrOptions: array expected"; + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + if (!$util.isString(message.advancedOcrOptions[i])) + return "advancedOcrOptions: string[] expected"; + } return null; }; @@ -42558,6 +42661,13 @@ var message = new $root.google.cloud.vision.v1p2beta1.TextDetectionParams(); if (object.enableTextDetectionConfidenceScore != null) message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + if (object.advancedOcrOptions) { + if (!Array.isArray(object.advancedOcrOptions)) + throw TypeError(".google.cloud.vision.v1p2beta1.TextDetectionParams.advancedOcrOptions: array expected"); + message.advancedOcrOptions = []; + for (var i = 0; i < object.advancedOcrOptions.length; ++i) + message.advancedOcrOptions[i] = String(object.advancedOcrOptions[i]); + } return message; }; @@ -42574,10 +42684,17 @@ if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.advancedOcrOptions = []; if (options.defaults) object.enableTextDetectionConfidenceScore = false; if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + if (message.advancedOcrOptions && message.advancedOcrOptions.length) { + object.advancedOcrOptions = []; + for (var j = 0; j < message.advancedOcrOptions.length; ++j) + object.advancedOcrOptions[j] = message.advancedOcrOptions[j]; + } return object; }; @@ -56760,6 +56877,7 @@ * @memberof google.cloud.vision.v1p3beta1 * @interface ITextDetectionParams * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + * @property {Array.|null} [advancedOcrOptions] TextDetectionParams advancedOcrOptions */ /** @@ -56771,6 +56889,7 @@ * @param {google.cloud.vision.v1p3beta1.ITextDetectionParams=} [properties] Properties to set */ function TextDetectionParams(properties) { + this.advancedOcrOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -56785,6 +56904,14 @@ */ TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + /** + * TextDetectionParams advancedOcrOptions. + * @member {Array.} advancedOcrOptions + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.advancedOcrOptions = $util.emptyArray; + /** * Creates a new TextDetectionParams instance using the specified properties. * @function create @@ -56811,6 +56938,9 @@ writer = $Writer.create(); if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + if (message.advancedOcrOptions != null && message.advancedOcrOptions.length) + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.advancedOcrOptions[i]); return writer; }; @@ -56848,6 +56978,11 @@ case 9: message.enableTextDetectionConfidenceScore = reader.bool(); break; + case 11: + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; default: reader.skipType(tag & 7); break; @@ -56886,6 +57021,13 @@ if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) if (typeof message.enableTextDetectionConfidenceScore !== "boolean") return "enableTextDetectionConfidenceScore: boolean expected"; + if (message.advancedOcrOptions != null && message.hasOwnProperty("advancedOcrOptions")) { + if (!Array.isArray(message.advancedOcrOptions)) + return "advancedOcrOptions: array expected"; + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + if (!$util.isString(message.advancedOcrOptions[i])) + return "advancedOcrOptions: string[] expected"; + } return null; }; @@ -56903,6 +57045,13 @@ var message = new $root.google.cloud.vision.v1p3beta1.TextDetectionParams(); if (object.enableTextDetectionConfidenceScore != null) message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + if (object.advancedOcrOptions) { + if (!Array.isArray(object.advancedOcrOptions)) + throw TypeError(".google.cloud.vision.v1p3beta1.TextDetectionParams.advancedOcrOptions: array expected"); + message.advancedOcrOptions = []; + for (var i = 0; i < object.advancedOcrOptions.length; ++i) + message.advancedOcrOptions[i] = String(object.advancedOcrOptions[i]); + } return message; }; @@ -56919,10 +57068,17 @@ if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.advancedOcrOptions = []; if (options.defaults) object.enableTextDetectionConfidenceScore = false; if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + if (message.advancedOcrOptions && message.advancedOcrOptions.length) { + object.advancedOcrOptions = []; + for (var j = 0; j < message.advancedOcrOptions.length; ++j) + object.advancedOcrOptions[j] = message.advancedOcrOptions[j]; + } return object; }; @@ -80689,6 +80845,7 @@ * @memberof google.cloud.vision.v1p4beta1 * @interface ITextDetectionParams * @property {boolean|null} [enableTextDetectionConfidenceScore] TextDetectionParams enableTextDetectionConfidenceScore + * @property {Array.|null} [advancedOcrOptions] TextDetectionParams advancedOcrOptions */ /** @@ -80700,6 +80857,7 @@ * @param {google.cloud.vision.v1p4beta1.ITextDetectionParams=} [properties] Properties to set */ function TextDetectionParams(properties) { + this.advancedOcrOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -80714,6 +80872,14 @@ */ TextDetectionParams.prototype.enableTextDetectionConfidenceScore = false; + /** + * TextDetectionParams advancedOcrOptions. + * @member {Array.} advancedOcrOptions + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @instance + */ + TextDetectionParams.prototype.advancedOcrOptions = $util.emptyArray; + /** * Creates a new TextDetectionParams instance using the specified properties. * @function create @@ -80740,6 +80906,9 @@ writer = $Writer.create(); if (message.enableTextDetectionConfidenceScore != null && Object.hasOwnProperty.call(message, "enableTextDetectionConfidenceScore")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableTextDetectionConfidenceScore); + if (message.advancedOcrOptions != null && message.advancedOcrOptions.length) + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.advancedOcrOptions[i]); return writer; }; @@ -80777,6 +80946,11 @@ case 9: message.enableTextDetectionConfidenceScore = reader.bool(); break; + case 11: + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; default: reader.skipType(tag & 7); break; @@ -80815,6 +80989,13 @@ if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) if (typeof message.enableTextDetectionConfidenceScore !== "boolean") return "enableTextDetectionConfidenceScore: boolean expected"; + if (message.advancedOcrOptions != null && message.hasOwnProperty("advancedOcrOptions")) { + if (!Array.isArray(message.advancedOcrOptions)) + return "advancedOcrOptions: array expected"; + for (var i = 0; i < message.advancedOcrOptions.length; ++i) + if (!$util.isString(message.advancedOcrOptions[i])) + return "advancedOcrOptions: string[] expected"; + } return null; }; @@ -80832,6 +81013,13 @@ var message = new $root.google.cloud.vision.v1p4beta1.TextDetectionParams(); if (object.enableTextDetectionConfidenceScore != null) message.enableTextDetectionConfidenceScore = Boolean(object.enableTextDetectionConfidenceScore); + if (object.advancedOcrOptions) { + if (!Array.isArray(object.advancedOcrOptions)) + throw TypeError(".google.cloud.vision.v1p4beta1.TextDetectionParams.advancedOcrOptions: array expected"); + message.advancedOcrOptions = []; + for (var i = 0; i < object.advancedOcrOptions.length; ++i) + message.advancedOcrOptions[i] = String(object.advancedOcrOptions[i]); + } return message; }; @@ -80848,10 +81036,17 @@ if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.advancedOcrOptions = []; if (options.defaults) object.enableTextDetectionConfidenceScore = false; if (message.enableTextDetectionConfidenceScore != null && message.hasOwnProperty("enableTextDetectionConfidenceScore")) object.enableTextDetectionConfidenceScore = message.enableTextDetectionConfidenceScore; + if (message.advancedOcrOptions && message.advancedOcrOptions.length) { + object.advancedOcrOptions = []; + for (var j = 0; j < message.advancedOcrOptions.length; ++j) + object.advancedOcrOptions[j] = message.advancedOcrOptions[j]; + } return object; }; diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index ea9bc202dfa..8f2d1b402a4 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -622,6 +622,11 @@ "enableTextDetectionConfidenceScore": { "type": "bool", "id": 9 + }, + "advancedOcrOptions": { + "rule": "repeated", + "type": "string", + "id": 11 } } }, @@ -2778,6 +2783,11 @@ "enableTextDetectionConfidenceScore": { "type": "bool", "id": 9 + }, + "advancedOcrOptions": { + "rule": "repeated", + "type": "string", + "id": 11 } } }, @@ -3677,6 +3687,11 @@ "enableTextDetectionConfidenceScore": { "type": "bool", "id": 9 + }, + "advancedOcrOptions": { + "rule": "repeated", + "type": "string", + "id": 11 } } }, @@ -4749,6 +4764,11 @@ "enableTextDetectionConfidenceScore": { "type": "bool", "id": 9 + }, + "advancedOcrOptions": { + "rule": "repeated", + "type": "string", + "id": 11 } } }, @@ -6924,6 +6944,11 @@ "enableTextDetectionConfidenceScore": { "type": "bool", "id": 9 + }, + "advancedOcrOptions": { + "rule": "repeated", + "type": "string", + "id": 11 } } }, From 5db756d6ab1c430fb02d118be5e8d60c96c733b0 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 19 Aug 2022 20:20:12 +0000 Subject: [PATCH 553/588] chore: remove unused proto imports (#1036) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 468735472 Source-Link: https://github.com/googleapis/googleapis/commit/cfa1b3782da7ccae31673d45401a0b79d2d4a84b Source-Link: https://github.com/googleapis/googleapis-gen/commit/09b7666656510f5b00b893f003a0ba5766f9e250 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMDliNzY2NjY1NjUxMGY1YjAwYjg5M2YwMDNhMGJhNTc2NmY5ZTI1MCJ9 --- .../protos/google/cloud/vision/v1p1beta1/text_annotation.proto | 1 - .../protos/google/cloud/vision/v1p1beta1/web_detection.proto | 1 - .../protos/google/cloud/vision/v1p2beta1/text_annotation.proto | 1 - .../protos/google/cloud/vision/v1p2beta1/web_detection.proto | 1 - .../protos/google/cloud/vision/v1p3beta1/text_annotation.proto | 1 - .../protos/google/cloud/vision/v1p3beta1/web_detection.proto | 1 - .../protos/google/cloud/vision/v1p4beta1/face.proto | 1 - .../protos/google/cloud/vision/v1p4beta1/geometry.proto | 1 - .../protos/google/cloud/vision/v1p4beta1/image_annotator.proto | 1 - .../protos/google/cloud/vision/v1p4beta1/product_search.proto | 1 - .../protos/google/cloud/vision/v1p4beta1/text_annotation.proto | 1 - .../protos/google/cloud/vision/v1p4beta1/web_detection.proto | 1 - 12 files changed, 12 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/text_annotation.proto index 928e6e88bb0..f85cc44dfd5 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/text_annotation.proto @@ -16,7 +16,6 @@ syntax = "proto3"; package google.cloud.vision.v1p1beta1; -import "google/api/annotations.proto"; import "google/cloud/vision/v1p1beta1/geometry.proto"; option cc_enable_arenas = true; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/web_detection.proto index 28249cbdec2..c50e1ad62cc 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/web_detection.proto @@ -16,7 +16,6 @@ syntax = "proto3"; package google.cloud.vision.v1p1beta1; -import "google/api/annotations.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p1beta1;vision"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto index b35eb47e8e4..af568194aa8 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/text_annotation.proto @@ -16,7 +16,6 @@ syntax = "proto3"; package google.cloud.vision.v1p2beta1; -import "google/api/annotations.proto"; import "google/cloud/vision/v1p2beta1/geometry.proto"; option cc_enable_arenas = true; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto index f2b9dfef00d..2decb8596ef 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/web_detection.proto @@ -16,7 +16,6 @@ syntax = "proto3"; package google.cloud.vision.v1p2beta1; -import "google/api/annotations.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p2beta1;vision"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto index 3c256c5773c..633e404ed09 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/text_annotation.proto @@ -16,7 +16,6 @@ syntax = "proto3"; package google.cloud.vision.v1p3beta1; -import "google/api/annotations.proto"; import "google/cloud/vision/v1p3beta1/geometry.proto"; option cc_enable_arenas = true; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto index cf9a22612a7..205dfe656d1 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/web_detection.proto @@ -16,7 +16,6 @@ syntax = "proto3"; package google.cloud.vision.v1p3beta1; -import "google/api/annotations.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p3beta1;vision"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/face.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/face.proto index 1786f26f065..d2ab72f0cde 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/face.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/face.proto @@ -17,7 +17,6 @@ syntax = "proto3"; package google.cloud.vision.v1p4beta1; -import "google/api/annotations.proto"; import "google/cloud/vision/v1p4beta1/geometry.proto"; option cc_enable_arenas = true; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto index 18877188fae..877fd8972df 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/geometry.proto @@ -17,7 +17,6 @@ syntax = "proto3"; package google.cloud.vision.v1p4beta1; -import "google/api/annotations.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index 6d7f3dd1f62..0fed9eea7a2 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -26,7 +26,6 @@ import "google/cloud/vision/v1p4beta1/product_search.proto"; import "google/cloud/vision/v1p4beta1/text_annotation.proto"; import "google/cloud/vision/v1p4beta1/web_detection.proto"; import "google/longrunning/operations.proto"; -import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; import "google/rpc/status.proto"; import "google/type/color.proto"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto index 15baed1fd27..ebb428acc80 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/product_search.proto @@ -17,7 +17,6 @@ syntax = "proto3"; package google.cloud.vision.v1p4beta1; -import "google/api/annotations.proto"; import "google/api/resource.proto"; import "google/cloud/vision/v1p4beta1/geometry.proto"; import "google/cloud/vision/v1p4beta1/product_search_service.proto"; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto index fbc35bb5458..233c4c689e4 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/text_annotation.proto @@ -17,7 +17,6 @@ syntax = "proto3"; package google.cloud.vision.v1p4beta1; -import "google/api/annotations.proto"; import "google/cloud/vision/v1p4beta1/geometry.proto"; option cc_enable_arenas = true; diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto index 446a937f1c8..7d716570f45 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/web_detection.proto @@ -17,7 +17,6 @@ syntax = "proto3"; package google.cloud.vision.v1p4beta1; -import "google/api/annotations.proto"; option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1;vision"; From 00a6ef785d62d44cda8b4db69de51f4c7d1dd0d3 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 00:04:35 +0000 Subject: [PATCH 554/588] fix: better support for fallback mode (#1037) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 468790263 Source-Link: https://github.com/googleapis/googleapis/commit/873ab456273d105245df0fb82a6c17a814553b80 Source-Link: https://github.com/googleapis/googleapis-gen/commit/cb6f37aeff2a3472e40a7bbace8c67d75e24bee5 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiY2I2ZjM3YWVmZjJhMzQ3MmU0MGE3YmJhY2U4YzY3ZDc1ZTI0YmVlNSJ9 --- ...ge_annotator.async_batch_annotate_files.js | 3 + ...e_annotator.async_batch_annotate_images.js | 3 + .../image_annotator.batch_annotate_files.js | 3 + .../image_annotator.batch_annotate_images.js | 3 + ...oduct_search.add_product_to_product_set.js | 3 + .../v1/product_search.create_product.js | 3 + .../v1/product_search.create_product_set.js | 3 + .../product_search.create_reference_image.js | 3 + .../v1/product_search.delete_product.js | 3 + .../v1/product_search.delete_product_set.js | 3 + .../product_search.delete_reference_image.js | 3 + .../v1/product_search.get_product.js | 3 + .../v1/product_search.get_product_set.js | 3 + .../v1/product_search.get_reference_image.js | 3 + .../v1/product_search.import_product_sets.js | 3 + .../v1/product_search.list_product_sets.js | 3 + .../v1/product_search.list_products.js | 3 + ...uct_search.list_products_in_product_set.js | 3 + .../product_search.list_reference_images.js | 3 + .../v1/product_search.purge_products.js | 3 + ..._search.remove_product_from_product_set.js | 3 + .../v1/product_search.update_product.js | 3 + .../v1/product_search.update_product_set.js | 3 + ...ippet_metadata.google.cloud.vision.v1.json | 46 ++--- .../image_annotator.batch_annotate_images.js | 3 + ...etadata.google.cloud.vision.v1p1beta1.json | 2 +- ...ge_annotator.async_batch_annotate_files.js | 3 + .../image_annotator.batch_annotate_images.js | 3 + ...etadata.google.cloud.vision.v1p2beta1.json | 4 +- ...ge_annotator.async_batch_annotate_files.js | 3 + .../image_annotator.batch_annotate_images.js | 3 + ...oduct_search.add_product_to_product_set.js | 3 + .../product_search.create_product.js | 3 + .../product_search.create_product_set.js | 3 + .../product_search.create_reference_image.js | 3 + .../product_search.delete_product.js | 3 + .../product_search.delete_product_set.js | 3 + .../product_search.delete_reference_image.js | 3 + .../v1p3beta1/product_search.get_product.js | 3 + .../product_search.get_product_set.js | 3 + .../product_search.get_reference_image.js | 3 + .../product_search.import_product_sets.js | 3 + .../product_search.list_product_sets.js | 3 + .../v1p3beta1/product_search.list_products.js | 3 + ...uct_search.list_products_in_product_set.js | 3 + .../product_search.list_reference_images.js | 3 + ..._search.remove_product_from_product_set.js | 3 + .../product_search.update_product.js | 3 + .../product_search.update_product_set.js | 3 + ...etadata.google.cloud.vision.v1p3beta1.json | 40 ++--- ...ge_annotator.async_batch_annotate_files.js | 3 + ...e_annotator.async_batch_annotate_images.js | 3 + .../image_annotator.batch_annotate_files.js | 3 + .../image_annotator.batch_annotate_images.js | 3 + ...oduct_search.add_product_to_product_set.js | 3 + .../product_search.create_product.js | 3 + .../product_search.create_product_set.js | 3 + .../product_search.create_reference_image.js | 3 + .../product_search.delete_product.js | 3 + .../product_search.delete_product_set.js | 3 + .../product_search.delete_reference_image.js | 3 + .../v1p4beta1/product_search.get_product.js | 3 + .../product_search.get_product_set.js | 3 + .../product_search.get_reference_image.js | 3 + .../product_search.import_product_sets.js | 3 + .../product_search.list_product_sets.js | 3 + .../v1p4beta1/product_search.list_products.js | 3 + ...uct_search.list_products_in_product_set.js | 3 + .../product_search.list_reference_images.js | 3 + .../product_search.purge_products.js | 3 + ..._search.remove_product_from_product_set.js | 3 + .../product_search.update_product.js | 3 + .../product_search.update_product_set.js | 3 + ...etadata.google.cloud.vision.v1p4beta1.json | 46 ++--- .../src/v1/image_annotator_client.ts | 7 +- .../src/v1/product_search_client.ts | 24 +-- .../src/v1p1beta1/image_annotator_client.ts | 3 +- .../src/v1p2beta1/image_annotator_client.ts | 5 +- .../src/v1p3beta1/image_annotator_client.ts | 5 +- .../src/v1p3beta1/product_search_client.ts | 22 +-- .../src/v1p4beta1/image_annotator_client.ts | 7 +- .../src/v1p4beta1/product_search_client.ts | 24 +-- .../test/gapic_image_annotator_v1.ts | 160 ++++++++--------- .../test/gapic_image_annotator_v1p1beta1.ts | 160 ++++++++--------- .../test/gapic_image_annotator_v1p2beta1.ts | 160 ++++++++--------- .../test/gapic_image_annotator_v1p3beta1.ts | 160 ++++++++--------- .../test/gapic_image_annotator_v1p4beta1.ts | 164 +++++++++--------- .../test/gapic_product_search_v1.ts | 158 +++++++++-------- .../test/gapic_product_search_v1p3beta1.ts | 160 ++++++++--------- .../test/gapic_product_search_v1p4beta1.ts | 160 ++++++++--------- 90 files changed, 977 insertions(+), 747 deletions(-) diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js index 5eeec88568d..7d7ed138087 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js index 82011930dfe..70be298e6a5 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js @@ -23,6 +23,9 @@ function main(requests, outputConfig) { // [START vision_v1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js index baf8aae8be8..528c4d1fd40 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1_generated_ImageAnnotator_BatchAnnotateFiles_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js index fb2e89666ed..2f57a691d88 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1_generated_ImageAnnotator_BatchAnnotateImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js index b22381811c8..1826ada29cd 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js @@ -23,6 +23,9 @@ function main(name, product) { // [START vision_v1_generated_ProductSearch_AddProductToProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js index fb8b20ad3d1..9e064a95897 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js @@ -23,6 +23,9 @@ function main(parent, product) { // [START vision_v1_generated_ProductSearch_CreateProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js index ccce35b4bcd..5c580189d1d 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js @@ -23,6 +23,9 @@ function main(parent, productSet) { // [START vision_v1_generated_ProductSearch_CreateProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js index dfa47dab634..6175cef1d3e 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js @@ -23,6 +23,9 @@ function main(parent, referenceImage) { // [START vision_v1_generated_ProductSearch_CreateReferenceImage_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js index ba89afb53fb..8d58541b9cf 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1_generated_ProductSearch_DeleteProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js index 685141b3513..5c5b81257e1 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1_generated_ProductSearch_DeleteProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js index bd5763394c5..18a64743d3e 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1_generated_ProductSearch_DeleteReferenceImage_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js index 37ddc7e8fa9..27e014dba9a 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1_generated_ProductSearch_GetProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js index 6ebbc94bbf5..fa80ab00434 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1_generated_ProductSearch_GetProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js index 18dba604271..b25fb5e6a0f 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1_generated_ProductSearch_GetReferenceImage_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js index 0129434538d..859e0f5af44 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js @@ -23,6 +23,9 @@ function main(parent, inputConfig) { // [START vision_v1_generated_ProductSearch_ImportProductSets_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js index a0a9f7f58e1..66a071b0ddb 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1_generated_ProductSearch_ListProductSets_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js index 3f92f87a302..8fa795f6b62 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1_generated_ProductSearch_ListProducts_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js index 2044174814e..3e9871fcc41 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1_generated_ProductSearch_ListProductsInProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js index f2c0ec3e864..f7175d39882 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1_generated_ProductSearch_ListReferenceImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js index e3570b65b1c..0dae0b9b4d0 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1_generated_ProductSearch_PurgeProducts_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js index 011c4714c6e..ad66ef6b0a5 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js @@ -23,6 +23,9 @@ function main(name, product) { // [START vision_v1_generated_ProductSearch_RemoveProductFromProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js index f229be48fea..d8fd49f96ee 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js @@ -23,6 +23,9 @@ function main(product) { // [START vision_v1_generated_ProductSearch_UpdateProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js index 9eb4229d29b..26bf5ed6aa1 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js @@ -23,6 +23,9 @@ function main(productSet) { // [START vision_v1_generated_ProductSearch_UpdateProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json index c5cb348bd1b..ba68b3e4e1a 100644 --- a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json +++ b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 61, + "end": 64, "type": "FULL" } ], @@ -66,7 +66,7 @@ "segments": [ { "start": 25, - "end": 62, + "end": 65, "type": "FULL" } ], @@ -110,7 +110,7 @@ "segments": [ { "start": 25, - "end": 67, + "end": 70, "type": "FULL" } ], @@ -158,7 +158,7 @@ "segments": [ { "start": 25, - "end": 62, + "end": 65, "type": "FULL" } ], @@ -202,7 +202,7 @@ "segments": [ { "start": 25, - "end": 63, + "end": 66, "type": "FULL" } ], @@ -250,7 +250,7 @@ "segments": [ { "start": 25, - "end": 61, + "end": 64, "type": "FULL" } ], @@ -298,7 +298,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -338,7 +338,7 @@ "segments": [ { "start": 25, - "end": 57, + "end": 60, "type": "FULL" } ], @@ -382,7 +382,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -422,7 +422,7 @@ "segments": [ { "start": 25, - "end": 64, + "end": 67, "type": "FULL" } ], @@ -470,7 +470,7 @@ "segments": [ { "start": 25, - "end": 62, + "end": 65, "type": "FULL" } ], @@ -518,7 +518,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -558,7 +558,7 @@ "segments": [ { "start": 25, - "end": 59, + "end": 62, "type": "FULL" } ], @@ -602,7 +602,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -642,7 +642,7 @@ "segments": [ { "start": 25, - "end": 65, + "end": 68, "type": "FULL" } ], @@ -690,7 +690,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -730,7 +730,7 @@ "segments": [ { "start": 25, - "end": 64, + "end": 67, "type": "FULL" } ], @@ -778,7 +778,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -818,7 +818,7 @@ "segments": [ { "start": 25, - "end": 59, + "end": 62, "type": "FULL" } ], @@ -862,7 +862,7 @@ "segments": [ { "start": 25, - "end": 59, + "end": 62, "type": "FULL" } ], @@ -906,7 +906,7 @@ "segments": [ { "start": 25, - "end": 62, + "end": 65, "type": "FULL" } ], @@ -954,7 +954,7 @@ "segments": [ { "start": 25, - "end": 57, + "end": 60, "type": "FULL" } ], @@ -998,7 +998,7 @@ "segments": [ { "start": 25, - "end": 66, + "end": 69, "type": "FULL" } ], diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js index 1f0ddde08db..eb0fe42234e 100644 --- a/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1p1beta1_generated_ImageAnnotator_BatchAnnotateImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json index 142326c736f..56a5028ffb6 100644 --- a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js index 6f5474c4d4f..92074c3a102 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1p2beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js index c3fe0481670..793ec83e6d4 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1p2beta1_generated_ImageAnnotator_BatchAnnotateImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json index 044951a44d4..d0d2660c8c9 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -62,7 +62,7 @@ "segments": [ { "start": 25, - "end": 51, + "end": 54, "type": "FULL" } ], diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js index 5a6a0d5f7f8..900c1b0bb4e 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1p3beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js index 191bb5469e6..1b58eca16e4 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1p3beta1_generated_ImageAnnotator_BatchAnnotateImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js index 095ebc5aaa9..96b4c8babb5 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js @@ -23,6 +23,9 @@ function main(name, product) { // [START vision_v1p3beta1_generated_ProductSearch_AddProductToProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js index 5245629fe4f..ed6ac1b8ca0 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js @@ -23,6 +23,9 @@ function main(parent, product) { // [START vision_v1p3beta1_generated_ProductSearch_CreateProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js index 1a93791a696..90879035d5a 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js @@ -23,6 +23,9 @@ function main(parent, productSet) { // [START vision_v1p3beta1_generated_ProductSearch_CreateProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js index f5e1a797707..48848360cbd 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js @@ -23,6 +23,9 @@ function main(parent, referenceImage) { // [START vision_v1p3beta1_generated_ProductSearch_CreateReferenceImage_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js index 92e5c99fb68..a5872042246 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p3beta1_generated_ProductSearch_DeleteProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js index 9f7dc7dfb74..7d971bc38c6 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p3beta1_generated_ProductSearch_DeleteProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js index 46211ed72b5..c97f2727b65 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p3beta1_generated_ProductSearch_DeleteReferenceImage_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js index b4597bf1f40..c62e8ea6542 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p3beta1_generated_ProductSearch_GetProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js index d084b99421e..4def76dc0f4 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p3beta1_generated_ProductSearch_GetProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js index 33d14bebdcf..93ee9d82015 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p3beta1_generated_ProductSearch_GetReferenceImage_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js index 326aa39b940..23698c042ef 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js @@ -23,6 +23,9 @@ function main(parent, inputConfig) { // [START vision_v1p3beta1_generated_ProductSearch_ImportProductSets_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js index 849547991f5..52033c07fef 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1p3beta1_generated_ProductSearch_ListProductSets_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js index e1769e8c560..454672d19fc 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1p3beta1_generated_ProductSearch_ListProducts_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js index 76ecfd9216d..65bc35e27cf 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p3beta1_generated_ProductSearch_ListProductsInProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js index 3bdeba0c14e..9deb4e05ae6 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1p3beta1_generated_ProductSearch_ListReferenceImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js index f0db7e43819..45dcddaff3f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js @@ -23,6 +23,9 @@ function main(name, product) { // [START vision_v1p3beta1_generated_ProductSearch_RemoveProductFromProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js index 50f9b2c206a..8d98838c885 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js @@ -23,6 +23,9 @@ function main(product) { // [START vision_v1p3beta1_generated_ProductSearch_UpdateProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js index cdd554e0e71..cfecdb7044c 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js @@ -23,6 +23,9 @@ function main(productSet) { // [START vision_v1p3beta1_generated_ProductSearch_UpdateProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json index ba4f98b82ed..f5f53008336 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -62,7 +62,7 @@ "segments": [ { "start": 25, - "end": 51, + "end": 54, "type": "FULL" } ], @@ -102,7 +102,7 @@ "segments": [ { "start": 25, - "end": 63, + "end": 66, "type": "FULL" } ], @@ -150,7 +150,7 @@ "segments": [ { "start": 25, - "end": 61, + "end": 64, "type": "FULL" } ], @@ -198,7 +198,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -238,7 +238,7 @@ "segments": [ { "start": 25, - "end": 57, + "end": 60, "type": "FULL" } ], @@ -282,7 +282,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -322,7 +322,7 @@ "segments": [ { "start": 25, - "end": 64, + "end": 67, "type": "FULL" } ], @@ -370,7 +370,7 @@ "segments": [ { "start": 25, - "end": 62, + "end": 65, "type": "FULL" } ], @@ -418,7 +418,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -458,7 +458,7 @@ "segments": [ { "start": 25, - "end": 59, + "end": 62, "type": "FULL" } ], @@ -502,7 +502,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -542,7 +542,7 @@ "segments": [ { "start": 25, - "end": 65, + "end": 68, "type": "FULL" } ], @@ -590,7 +590,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -630,7 +630,7 @@ "segments": [ { "start": 25, - "end": 64, + "end": 67, "type": "FULL" } ], @@ -678,7 +678,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -718,7 +718,7 @@ "segments": [ { "start": 25, - "end": 59, + "end": 62, "type": "FULL" } ], @@ -762,7 +762,7 @@ "segments": [ { "start": 25, - "end": 59, + "end": 62, "type": "FULL" } ], @@ -806,7 +806,7 @@ "segments": [ { "start": 25, - "end": 62, + "end": 65, "type": "FULL" } ], @@ -854,7 +854,7 @@ "segments": [ { "start": 25, - "end": 57, + "end": 60, "type": "FULL" } ], diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js index b0e97198432..199be36a7a6 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateFiles_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js index 967c01df35a..8cb5197f995 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js @@ -23,6 +23,9 @@ function main(requests, outputConfig) { // [START vision_v1p4beta1_generated_ImageAnnotator_AsyncBatchAnnotateImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js index 2f03ebe3d04..2fe101f3276 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateFiles_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js index 3b3d030d270..f6aaa34e241 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js @@ -23,6 +23,9 @@ function main(requests) { // [START vision_v1p4beta1_generated_ImageAnnotator_BatchAnnotateImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js index d3cdf6e8862..c6ef04f09a5 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js @@ -23,6 +23,9 @@ function main(name, product) { // [START vision_v1p4beta1_generated_ProductSearch_AddProductToProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js index 95a6e8fad0f..60ec6540b05 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js @@ -23,6 +23,9 @@ function main(parent, product) { // [START vision_v1p4beta1_generated_ProductSearch_CreateProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js index ae849604135..ea4c348bea0 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js @@ -23,6 +23,9 @@ function main(parent, productSet) { // [START vision_v1p4beta1_generated_ProductSearch_CreateProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js index 2dc52217ada..bb6709c3259 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js @@ -23,6 +23,9 @@ function main(parent, referenceImage) { // [START vision_v1p4beta1_generated_ProductSearch_CreateReferenceImage_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js index 94375710e2a..63f362dc14f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p4beta1_generated_ProductSearch_DeleteProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js index 06c598bd5bc..72ac7fec626 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p4beta1_generated_ProductSearch_DeleteProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js index 87f8e595bb8..92f9f39c175 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p4beta1_generated_ProductSearch_DeleteReferenceImage_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js index 465d8eaf215..80db0f5a666 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p4beta1_generated_ProductSearch_GetProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js index 3a1d8098a4a..acba73c5bb3 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p4beta1_generated_ProductSearch_GetProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js index 1a2374fe095..5dc13d641b6 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p4beta1_generated_ProductSearch_GetReferenceImage_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js index 1f175664bc1..3a42269890e 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js @@ -23,6 +23,9 @@ function main(parent, inputConfig) { // [START vision_v1p4beta1_generated_ProductSearch_ImportProductSets_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js index 8976e592aba..81e409fa527 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1p4beta1_generated_ProductSearch_ListProductSets_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js index 726194cde7b..8b67070e978 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1p4beta1_generated_ProductSearch_ListProducts_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js index 8740b9d661b..869b118f055 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js @@ -23,6 +23,9 @@ function main(name) { // [START vision_v1p4beta1_generated_ProductSearch_ListProductsInProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js index a1c5ccc6191..637c1f8a3cf 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1p4beta1_generated_ProductSearch_ListReferenceImages_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js index 4bb5df02f6b..5dd66449878 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js @@ -23,6 +23,9 @@ function main(parent) { // [START vision_v1p4beta1_generated_ProductSearch_PurgeProducts_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js index 4d66f2535e6..af9e9c143ab 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js @@ -23,6 +23,9 @@ function main(name, product) { // [START vision_v1p4beta1_generated_ProductSearch_RemoveProductFromProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js index e0fb4e3c6e1..3c8d60bb66f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js @@ -23,6 +23,9 @@ function main(product) { // [START vision_v1p4beta1_generated_ProductSearch_UpdateProduct_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js index d1c80c5879b..6ceb8322877 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js @@ -23,6 +23,9 @@ function main(productSet) { // [START vision_v1p4beta1_generated_ProductSearch_UpdateProductSet_async] /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. * TODO(developer): Uncomment these variables before running the sample. */ /** diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json index dcd3f7c0e08..e7e54208083 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json @@ -22,7 +22,7 @@ "segments": [ { "start": 25, - "end": 50, + "end": 53, "type": "FULL" } ], @@ -62,7 +62,7 @@ "segments": [ { "start": 25, - "end": 51, + "end": 54, "type": "FULL" } ], @@ -102,7 +102,7 @@ "segments": [ { "start": 25, - "end": 56, + "end": 59, "type": "FULL" } ], @@ -146,7 +146,7 @@ "segments": [ { "start": 25, - "end": 51, + "end": 54, "type": "FULL" } ], @@ -186,7 +186,7 @@ "segments": [ { "start": 25, - "end": 63, + "end": 66, "type": "FULL" } ], @@ -234,7 +234,7 @@ "segments": [ { "start": 25, - "end": 61, + "end": 64, "type": "FULL" } ], @@ -282,7 +282,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -322,7 +322,7 @@ "segments": [ { "start": 25, - "end": 57, + "end": 60, "type": "FULL" } ], @@ -366,7 +366,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -406,7 +406,7 @@ "segments": [ { "start": 25, - "end": 64, + "end": 67, "type": "FULL" } ], @@ -454,7 +454,7 @@ "segments": [ { "start": 25, - "end": 62, + "end": 65, "type": "FULL" } ], @@ -502,7 +502,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -542,7 +542,7 @@ "segments": [ { "start": 25, - "end": 59, + "end": 62, "type": "FULL" } ], @@ -586,7 +586,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -626,7 +626,7 @@ "segments": [ { "start": 25, - "end": 66, + "end": 69, "type": "FULL" } ], @@ -674,7 +674,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -714,7 +714,7 @@ "segments": [ { "start": 25, - "end": 64, + "end": 67, "type": "FULL" } ], @@ -762,7 +762,7 @@ "segments": [ { "start": 25, - "end": 52, + "end": 55, "type": "FULL" } ], @@ -802,7 +802,7 @@ "segments": [ { "start": 25, - "end": 59, + "end": 62, "type": "FULL" } ], @@ -846,7 +846,7 @@ "segments": [ { "start": 25, - "end": 60, + "end": 63, "type": "FULL" } ], @@ -890,7 +890,7 @@ "segments": [ { "start": 25, - "end": 62, + "end": 65, "type": "FULL" } ], @@ -938,7 +938,7 @@ "segments": [ { "start": 25, - "end": 57, + "end": 60, "type": "FULL" } ], @@ -982,7 +982,7 @@ "segments": [ { "start": 25, - "end": 66, + "end": 69, "type": "FULL" } ], diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 81ae76ad697..e6ca662d8a1 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -308,7 +308,8 @@ export class ImageAnnotatorClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -746,7 +747,7 @@ export class ImageAnnotatorClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateImages, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse, @@ -905,7 +906,7 @@ export class ImageAnnotatorClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateFiles, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse, diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index b7754050131..259bd303e59 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -30,7 +30,6 @@ import { } from 'google-gax'; import {Transform} from 'stream'; -import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); /** @@ -362,7 +361,8 @@ export class ProductSearchClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -1878,7 +1878,7 @@ export class ProductSearchClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.importProductSets, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.vision.v1.ImportProductSetsResponse, @@ -2048,7 +2048,7 @@ export class ProductSearchClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.purgeProducts, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.protobuf.Empty, @@ -2195,7 +2195,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductSets.createStream( - this.innerApiCalls.listProductSets as gax.GaxCall, + this.innerApiCalls.listProductSets as GaxCall, request, callSettings ); @@ -2245,7 +2245,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listProductSets.asyncIterate( this.innerApiCalls['listProductSets'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2390,7 +2390,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProducts.createStream( - this.innerApiCalls.listProducts as gax.GaxCall, + this.innerApiCalls.listProducts as GaxCall, request, callSettings ); @@ -2441,7 +2441,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listProducts.asyncIterate( this.innerApiCalls['listProducts'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2600,7 +2600,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listReferenceImages.createStream( - this.innerApiCalls.listReferenceImages as gax.GaxCall, + this.innerApiCalls.listReferenceImages as GaxCall, request, callSettings ); @@ -2654,7 +2654,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listReferenceImages.asyncIterate( this.innerApiCalls['listReferenceImages'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2811,7 +2811,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.createStream( - this.innerApiCalls.listProductsInProductSet as gax.GaxCall, + this.innerApiCalls.listProductsInProductSet as GaxCall, request, callSettings ); @@ -2862,7 +2862,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listProductsInProductSet.asyncIterate( this.innerApiCalls['listProductsInProductSet'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 000abd9c451..98852109a40 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -220,7 +220,8 @@ export class ImageAnnotatorClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index a5d2fdc908a..30711c618d6 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -265,7 +265,8 @@ export class ImageAnnotatorClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -559,7 +560,7 @@ export class ImageAnnotatorClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateFiles, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse, diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 6c373b8783a..7ea1aa7eb76 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -287,7 +287,8 @@ export class ImageAnnotatorClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -581,7 +582,7 @@ export class ImageAnnotatorClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateFiles, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse, diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 66132d9cbd8..40abcac75fc 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -30,7 +30,6 @@ import { } from 'google-gax'; import {Transform} from 'stream'; -import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); /** @@ -346,7 +345,8 @@ export class ProductSearchClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -1953,7 +1953,7 @@ export class ProductSearchClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.importProductSets, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.vision.v1p3beta1.ImportProductSetsResponse, @@ -2106,7 +2106,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductSets.createStream( - this.innerApiCalls.listProductSets as gax.GaxCall, + this.innerApiCalls.listProductSets as GaxCall, request, callSettings ); @@ -2156,7 +2156,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listProductSets.asyncIterate( this.innerApiCalls['listProductSets'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2307,7 +2307,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProducts.createStream( - this.innerApiCalls.listProducts as gax.GaxCall, + this.innerApiCalls.listProducts as GaxCall, request, callSettings ); @@ -2358,7 +2358,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listProducts.asyncIterate( this.innerApiCalls['listProducts'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2517,7 +2517,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listReferenceImages.createStream( - this.innerApiCalls.listReferenceImages as gax.GaxCall, + this.innerApiCalls.listReferenceImages as GaxCall, request, callSettings ); @@ -2571,7 +2571,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listReferenceImages.asyncIterate( this.innerApiCalls['listReferenceImages'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2728,7 +2728,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.createStream( - this.innerApiCalls.listProductsInProductSet as gax.GaxCall, + this.innerApiCalls.listProductsInProductSet as GaxCall, request, callSettings ); @@ -2779,7 +2779,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listProductsInProductSet.asyncIterate( this.innerApiCalls['listProductsInProductSet'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 958e1b3a677..11112f6846c 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -304,7 +304,8 @@ export class ImageAnnotatorClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -703,7 +704,7 @@ export class ImageAnnotatorClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateImages, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse, @@ -845,7 +846,7 @@ export class ImageAnnotatorClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateFiles, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse, diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 0626fb3bdfd..3f83b6814ae 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -30,7 +30,6 @@ import { } from 'google-gax'; import {Transform} from 'stream'; -import {RequestType} from 'google-gax/build/src/apitypes'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); /** @@ -362,7 +361,8 @@ export class ProductSearchClient { const apiCall = this._gaxModule.createApiCall( callPromise, this._defaults[methodName], - descriptor + descriptor, + this._opts.fallback ); this.innerApiCalls[methodName] = apiCall; @@ -1956,7 +1956,7 @@ export class ProductSearchClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.importProductSets, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.cloud.vision.v1p4beta1.ImportProductSetsResponse, @@ -2126,7 +2126,7 @@ export class ProductSearchClient { const decodeOperation = new gax.Operation( operation, this.descriptors.longrunning.purgeProducts, - gax.createDefaultBackoffSettings() + this._gaxModule.createDefaultBackoffSettings() ); return decodeOperation as LROperation< protos.google.protobuf.Empty, @@ -2279,7 +2279,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductSets.createStream( - this.innerApiCalls.listProductSets as gax.GaxCall, + this.innerApiCalls.listProductSets as GaxCall, request, callSettings ); @@ -2329,7 +2329,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listProductSets.asyncIterate( this.innerApiCalls['listProductSets'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2480,7 +2480,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProducts.createStream( - this.innerApiCalls.listProducts as gax.GaxCall, + this.innerApiCalls.listProducts as GaxCall, request, callSettings ); @@ -2531,7 +2531,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listProducts.asyncIterate( this.innerApiCalls['listProducts'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2690,7 +2690,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listReferenceImages.createStream( - this.innerApiCalls.listReferenceImages as gax.GaxCall, + this.innerApiCalls.listReferenceImages as GaxCall, request, callSettings ); @@ -2744,7 +2744,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listReferenceImages.asyncIterate( this.innerApiCalls['listReferenceImages'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } @@ -2901,7 +2901,7 @@ export class ProductSearchClient { const callSettings = defaultCallSettings.merge(options); this.initialize(); return this.descriptors.page.listProductsInProductSet.createStream( - this.innerApiCalls.listProductsInProductSet as gax.GaxCall, + this.innerApiCalls.listProductsInProductSet as GaxCall, request, callSettings ); @@ -2952,7 +2952,7 @@ export class ProductSearchClient { this.initialize(); return this.descriptors.page.listProductsInProductSet.asyncIterate( this.innerApiCalls['listProductsInProductSet'] as GaxCall, - request as unknown as RequestType, + request as {}, callSettings ) as AsyncIterable; } diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index 9091881e112..21d764f9046 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -82,101 +82,103 @@ function stubLongRunningCallWithCallback( } describe('v1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = imageannotatorModule.v1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient(); - assert(client); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - fallback: true, + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has port', () => { + const port = imageannotatorModule.v1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method for the initialized client', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient(); + assert(client); }); - client.initialize(); - assert(client.imageAnnotatorStub); - client.close().then(() => { - done(); + + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); }); - }); - it('has close method for the non-initialized client', done => { - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the initialized client', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); }); describe('batchAnnotateImages', () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index e04323ac50a..e701a3e83c6 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -50,101 +50,103 @@ function stubSimpleCallWithCallback( } describe('v1p1beta1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1p1beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1p1beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = imageannotatorModule.v1p1beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient(); - assert(client); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p1beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - fallback: true, + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p1beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has port', () => { + const port = imageannotatorModule.v1p1beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method for the initialized client', done => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient(); + assert(client); }); - client.initialize(); - assert(client.imageAnnotatorStub); - client.close().then(() => { - done(); + + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); }); - }); - it('has close method for the non-initialized client', done => { - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the initialized client', done => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p1beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); }); describe('batchAnnotateImages', () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index 8a6c1b74b2a..d1ea965fdf2 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -82,101 +82,103 @@ function stubLongRunningCallWithCallback( } describe('v1p2beta1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1p2beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1p2beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = imageannotatorModule.v1p2beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient(); - assert(client); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p2beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - fallback: true, + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p2beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has port', () => { + const port = imageannotatorModule.v1p2beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method for the initialized client', done => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient(); + assert(client); }); - client.initialize(); - assert(client.imageAnnotatorStub); - client.close().then(() => { - done(); + + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); }); - }); - it('has close method for the non-initialized client', done => { - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the initialized client', done => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p2beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); }); describe('batchAnnotateImages', () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index 15f411f11f3..329d8b3da98 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -82,101 +82,103 @@ function stubLongRunningCallWithCallback( } describe('v1p3beta1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1p3beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1p3beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = imageannotatorModule.v1p3beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient(); - assert(client); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p3beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - fallback: true, + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p3beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has port', () => { + const port = imageannotatorModule.v1p3beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method for the initialized client', done => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient(); + assert(client); }); - client.initialize(); - assert(client.imageAnnotatorStub); - client.close().then(() => { - done(); + + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); }); - }); - it('has close method for the non-initialized client', done => { - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the initialized client', done => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p3beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); }); describe('batchAnnotateImages', () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index 408383fb73f..37e06f60a5c 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -82,101 +82,103 @@ function stubLongRunningCallWithCallback( } describe('v1p4beta1.ImageAnnotatorClient', () => { - it('has servicePath', () => { - const servicePath = - imageannotatorModule.v1p4beta1.ImageAnnotatorClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - imageannotatorModule.v1p4beta1.ImageAnnotatorClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = imageannotatorModule.v1p4beta1.ImageAnnotatorClient.port; - assert(port); - assert(typeof port === 'number'); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + imageannotatorModule.v1p4beta1.ImageAnnotatorClient.servicePath; + assert(servicePath); + }); - it('should create a client with no option', () => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient(); - assert(client); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + imageannotatorModule.v1p4beta1.ImageAnnotatorClient.apiEndpoint; + assert(apiEndpoint); + }); - it('should create a client with gRPC fallback', () => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - fallback: true, + it('has port', () => { + const port = imageannotatorModule.v1p4beta1.ImageAnnotatorClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient(); + assert(client); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - await client.initialize(); - assert(client.imageAnnotatorStub); - }); - it('has close method for the initialized client', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with gRPC fallback', () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + fallback: true, + }); + assert(client); }); - client.initialize(); - assert(client.imageAnnotatorStub); - client.close().then(() => { - done(); + + it('has initialize method and supports deferred initialization', async () => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + await client.initialize(); + assert(client.imageAnnotatorStub); }); - }); - it('has close method for the non-initialized client', done => { - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the initialized client', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.imageAnnotatorStub); + client.close().then(() => { + done(); + }); }); - assert.strictEqual(client.imageAnnotatorStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the non-initialized client', done => { + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.imageAnnotatorStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new imageannotatorModule.v1p4beta1.ImageAnnotatorClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); }); describe('batchAnnotateImages', () => { diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index 2607489d04f..ac4d6486bc8 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -145,99 +145,103 @@ function stubAsyncIterationCall( } describe('v1.ProductSearchClient', () => { - it('has servicePath', () => { - const servicePath = productsearchModule.v1.ProductSearchClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = productsearchModule.v1.ProductSearchClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = productsearchModule.v1.ProductSearchClient.port; - assert(port); - assert(typeof port === 'number'); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + productsearchModule.v1.ProductSearchClient.servicePath; + assert(servicePath); + }); - it('should create a client with no option', () => { - const client = new productsearchModule.v1.ProductSearchClient(); - assert(client); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + productsearchModule.v1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); - it('should create a client with gRPC fallback', () => { - const client = new productsearchModule.v1.ProductSearchClient({ - fallback: true, + it('has port', () => { + const port = productsearchModule.v1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new productsearchModule.v1.ProductSearchClient(); + assert(client); }); - assert.strictEqual(client.productSearchStub, undefined); - await client.initialize(); - assert(client.productSearchStub); - }); - it('has close method for the initialized client', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with gRPC fallback', () => { + const client = new productsearchModule.v1.ProductSearchClient({ + fallback: true, + }); + assert(client); }); - client.initialize(); - assert(client.productSearchStub); - client.close().then(() => { - done(); + + it('has initialize method and supports deferred initialization', async () => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + await client.initialize(); + assert(client.productSearchStub); }); - }); - it('has close method for the non-initialized client', done => { - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the initialized client', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.productSearchStub); + client.close().then(() => { + done(); + }); }); - assert.strictEqual(client.productSearchStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the non-initialized client', done => { + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productsearchModule.v1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); }); describe('createProductSet', () => { diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index 5608cd4c5d3..adad0827ccd 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -145,101 +145,103 @@ function stubAsyncIterationCall( } describe('v1p3beta1.ProductSearchClient', () => { - it('has servicePath', () => { - const servicePath = - productsearchModule.v1p3beta1.ProductSearchClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - productsearchModule.v1p3beta1.ProductSearchClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = productsearchModule.v1p3beta1.ProductSearchClient.port; - assert(port); - assert(typeof port === 'number'); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + productsearchModule.v1p3beta1.ProductSearchClient.servicePath; + assert(servicePath); + }); - it('should create a client with no option', () => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient(); - assert(client); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + productsearchModule.v1p3beta1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); - it('should create a client with gRPC fallback', () => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - fallback: true, + it('has port', () => { + const port = productsearchModule.v1p3beta1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient(); + assert(client); }); - assert.strictEqual(client.productSearchStub, undefined); - await client.initialize(); - assert(client.productSearchStub); - }); - it('has close method for the initialized client', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with gRPC fallback', () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + fallback: true, + }); + assert(client); }); - client.initialize(); - assert(client.productSearchStub); - client.close().then(() => { - done(); + + it('has initialize method and supports deferred initialization', async () => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + await client.initialize(); + assert(client.productSearchStub); }); - }); - it('has close method for the non-initialized client', done => { - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the initialized client', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.productSearchStub); + client.close().then(() => { + done(); + }); }); - assert.strictEqual(client.productSearchStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the non-initialized client', done => { + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productsearchModule.v1p3beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1p3beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); }); describe('createProductSet', () => { diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index 3752aabb246..538ec6e0336 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -145,101 +145,103 @@ function stubAsyncIterationCall( } describe('v1p4beta1.ProductSearchClient', () => { - it('has servicePath', () => { - const servicePath = - productsearchModule.v1p4beta1.ProductSearchClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = - productsearchModule.v1p4beta1.ProductSearchClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = productsearchModule.v1p4beta1.ProductSearchClient.port; - assert(port); - assert(typeof port === 'number'); - }); + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + productsearchModule.v1p4beta1.ProductSearchClient.servicePath; + assert(servicePath); + }); - it('should create a client with no option', () => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient(); - assert(client); - }); + it('has apiEndpoint', () => { + const apiEndpoint = + productsearchModule.v1p4beta1.ProductSearchClient.apiEndpoint; + assert(apiEndpoint); + }); - it('should create a client with gRPC fallback', () => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - fallback: true, + it('has port', () => { + const port = productsearchModule.v1p4beta1.ProductSearchClient.port; + assert(port); + assert(typeof port === 'number'); }); - assert(client); - }); - it('has initialize method and supports deferred initialization', async () => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with no option', () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient(); + assert(client); }); - assert.strictEqual(client.productSearchStub, undefined); - await client.initialize(); - assert(client.productSearchStub); - }); - it('has close method for the initialized client', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('should create a client with gRPC fallback', () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + fallback: true, + }); + assert(client); }); - client.initialize(); - assert(client.productSearchStub); - client.close().then(() => { - done(); + + it('has initialize method and supports deferred initialization', async () => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + await client.initialize(); + assert(client.productSearchStub); }); - }); - it('has close method for the non-initialized client', done => { - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has close method for the initialized client', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.productSearchStub); + client.close().then(() => { + done(); + }); }); - assert.strictEqual(client.productSearchStub, undefined); - client.close().then(() => { - done(); + + it('has close method for the non-initialized client', done => { + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.productSearchStub, undefined); + client.close().then(() => { + done(); + }); }); - }); - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new productsearchModule.v1p4beta1.ProductSearchClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon - .stub() - .callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error | null, projectId?: string | null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new productsearchModule.v1p4beta1.ProductSearchClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); }); describe('createProductSet', () => { From 0efc1cfb8a5b519cb14e83f8a4ac753ba51dba91 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 07:34:20 +0000 Subject: [PATCH 555/588] fix: change import long to require (#1038) Source-Link: https://github.com/googleapis/synthtool/commit/d229a1258999f599a90a9b674a1c5541e00db588 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:74ab2b3c71ef27e6d8b69b1d0a0c9d31447777b79ac3cd4be82c265b45f37e5e --- .../google-cloud-vision/protos/protos.d.ts | 3188 ++- packages/google-cloud-vision/protos/protos.js | 16879 +++++++++++----- .../google-cloud-vision/protos/protos.json | 24 + 3 files changed, 15492 insertions(+), 4599 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index b72c7a2fa1e..e1032f7cdf2 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import * as Long from "long"; +import Long = require("long"); import {protobuf as $protobuf} from "google-gax"; /** Namespace google. */ export namespace google { @@ -120,6 +120,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Vertex + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedVertex. */ @@ -216,6 +223,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedVertex + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BoundingPoly. */ @@ -312,6 +326,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BoundingPoly + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Position. */ @@ -414,6 +435,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Position + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Represents an ImageAnnotator */ @@ -496,28 +524,28 @@ export namespace google { namespace ImageAnnotator { /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator|batchAnnotateImages}. * @param error Error, if any * @param [response] BatchAnnotateImagesResponse */ type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1.BatchAnnotateImagesResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator|batchAnnotateFiles}. * @param error Error, if any * @param [response] BatchAnnotateFilesResponse */ type BatchAnnotateFilesCallback = (error: (Error|null), response?: google.cloud.vision.v1.BatchAnnotateFilesResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator|asyncBatchAnnotateImages}. * @param error Error, if any * @param [response] Operation */ type AsyncBatchAnnotateImagesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator|asyncBatchAnnotateFiles}. * @param error Error, if any * @param [response] Operation */ @@ -634,6 +662,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Feature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Feature { @@ -750,6 +785,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Image. */ @@ -846,6 +888,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Image + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceAnnotation. */ @@ -1020,6 +1069,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace FaceAnnotation { @@ -1118,6 +1174,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Landmark + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Landmark { @@ -1253,6 +1316,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocationInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Property. */ @@ -1355,6 +1425,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Property + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an EntityAnnotation. */ @@ -1493,6 +1570,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EntityAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LocalizedObjectAnnotation. */ @@ -1607,6 +1691,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocalizedObjectAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SafeSearchAnnotation. */ @@ -1721,6 +1812,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SafeSearchAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LatLongRect. */ @@ -1817,6 +1915,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LatLongRect + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ColorInfo. */ @@ -1919,6 +2024,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ColorInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DominantColorsAnnotation. */ @@ -2009,6 +2121,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DominantColorsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageProperties. */ @@ -2099,6 +2218,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageProperties + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHint. */ @@ -2201,6 +2327,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHint + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsAnnotation. */ @@ -2291,6 +2424,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsParams. */ @@ -2381,6 +2521,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetectionParams. */ @@ -2471,6 +2618,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextDetectionParams. */ @@ -2567,6 +2721,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageContext. */ @@ -2687,6 +2848,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageRequest. */ @@ -2789,6 +2957,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageAnnotationContext. */ @@ -2885,6 +3060,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageAnnotationContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageResponse. */ @@ -3053,6 +3235,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesRequest. */ @@ -3149,6 +3338,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesResponse. */ @@ -3239,6 +3435,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateFileRequest. */ @@ -3347,6 +3550,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateFileRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateFileResponse. */ @@ -3455,6 +3665,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateFileResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateFilesRequest. */ @@ -3551,6 +3768,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateFilesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateFilesResponse. */ @@ -3641,6 +3865,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateFilesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncAnnotateFileRequest. */ @@ -3749,6 +3980,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncAnnotateFileRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncAnnotateFileResponse. */ @@ -3839,6 +4077,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncAnnotateFileResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateImagesRequest. */ @@ -3941,6 +4186,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateImagesResponse. */ @@ -4031,6 +4283,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateFilesRequest. */ @@ -4127,6 +4386,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateFilesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateFilesResponse. */ @@ -4217,6 +4483,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateFilesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an InputConfig. */ @@ -4319,6 +4592,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for InputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an OutputConfig. */ @@ -4415,6 +4695,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OutputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GcsSource. */ @@ -4505,6 +4792,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GcsSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GcsDestination. */ @@ -4595,6 +4889,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GcsDestination + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an OperationMetadata. */ @@ -4697,6 +4998,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OperationMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace OperationMetadata { @@ -4817,6 +5125,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSearchParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ProductSearchResults. */ @@ -4919,6 +5234,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSearchResults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace ProductSearchResults { @@ -5023,6 +5345,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Result + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ObjectAnnotation. */ @@ -5131,6 +5460,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GroupedResult. */ @@ -5233,6 +5569,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GroupedResult + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -5526,133 +5869,133 @@ export namespace google { namespace ProductSearch { /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|createProductSet}. * @param error Error, if any * @param [response] ProductSet */ type CreateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1.ProductSet) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProductSets}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|listProductSets}. * @param error Error, if any * @param [response] ListProductSetsResponse */ type ListProductSetsCallback = (error: (Error|null), response?: google.cloud.vision.v1.ListProductSetsResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|getProductSet}. * @param error Error, if any * @param [response] ProductSet */ type GetProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1.ProductSet) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#updateProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|updateProductSet}. * @param error Error, if any * @param [response] ProductSet */ type UpdateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1.ProductSet) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|deleteProductSet}. * @param error Error, if any * @param [response] Empty */ type DeleteProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createProduct}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|createProduct}. * @param error Error, if any * @param [response] Product */ type CreateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1.Product) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProducts}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|listProducts}. * @param error Error, if any * @param [response] ListProductsResponse */ type ListProductsCallback = (error: (Error|null), response?: google.cloud.vision.v1.ListProductsResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getProduct}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|getProduct}. * @param error Error, if any * @param [response] Product */ type GetProductCallback = (error: (Error|null), response?: google.cloud.vision.v1.Product) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#updateProduct}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|updateProduct}. * @param error Error, if any * @param [response] Product */ type UpdateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1.Product) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteProduct}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|deleteProduct}. * @param error Error, if any * @param [response] Empty */ type DeleteProductCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|createReferenceImage}. * @param error Error, if any * @param [response] ReferenceImage */ type CreateReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1.ReferenceImage) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|deleteReferenceImage}. * @param error Error, if any * @param [response] Empty */ type DeleteReferenceImageCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listReferenceImages}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|listReferenceImages}. * @param error Error, if any * @param [response] ListReferenceImagesResponse */ type ListReferenceImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1.ListReferenceImagesResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|getReferenceImage}. * @param error Error, if any * @param [response] ReferenceImage */ type GetReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1.ReferenceImage) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#addProductToProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|addProductToProductSet}. * @param error Error, if any * @param [response] Empty */ type AddProductToProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#removeProductFromProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|removeProductFromProductSet}. * @param error Error, if any * @param [response] Empty */ type RemoveProductFromProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProductsInProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|listProductsInProductSet}. * @param error Error, if any * @param [response] ListProductsInProductSetResponse */ type ListProductsInProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1.ListProductsInProductSetResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#importProductSets}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|importProductSets}. * @param error Error, if any * @param [response] Operation */ type ImportProductSetsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#purgeProducts}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|purgeProducts}. * @param error Error, if any * @param [response] Operation */ @@ -5771,6 +6114,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Product + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Product { @@ -5869,6 +6219,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for KeyValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -5978,6 +6335,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSet + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ReferenceImage. */ @@ -6080,6 +6444,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ReferenceImage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CreateProductRequest. */ @@ -6182,6 +6553,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsRequest. */ @@ -6284,6 +6662,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsResponse. */ @@ -6380,6 +6765,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetProductRequest. */ @@ -6470,6 +6862,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an UpdateProductRequest. */ @@ -6566,6 +6965,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteProductRequest. */ @@ -6656,6 +7062,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CreateProductSetRequest. */ @@ -6758,6 +7171,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductSetsRequest. */ @@ -6860,6 +7280,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductSetsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductSetsResponse. */ @@ -6956,6 +7383,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductSetsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetProductSetRequest. */ @@ -7046,6 +7480,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an UpdateProductSetRequest. */ @@ -7142,6 +7583,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteProductSetRequest. */ @@ -7232,6 +7680,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CreateReferenceImageRequest. */ @@ -7334,6 +7789,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateReferenceImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListReferenceImagesRequest. */ @@ -7436,6 +7898,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListReferenceImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListReferenceImagesResponse. */ @@ -7538,6 +8007,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListReferenceImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetReferenceImageRequest. */ @@ -7628,6 +8104,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetReferenceImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteReferenceImageRequest. */ @@ -7718,6 +8201,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteReferenceImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AddProductToProductSetRequest. */ @@ -7814,6 +8304,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AddProductToProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a RemoveProductFromProductSetRequest. */ @@ -7910,6 +8407,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RemoveProductFromProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsInProductSetRequest. */ @@ -8012,6 +8516,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsInProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsInProductSetResponse. */ @@ -8108,6 +8619,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsInProductSetResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsGcsSource. */ @@ -8198,6 +8716,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsGcsSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsInputConfig. */ @@ -8291,6 +8816,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsInputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsRequest. */ @@ -8387,6 +8919,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsResponse. */ @@ -8483,6 +9022,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchOperationMetadata. */ @@ -8585,6 +9131,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchOperationMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace BatchOperationMetadata { @@ -8687,6 +9240,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSetPurgeConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a PurgeProductsRequest. */ @@ -8798,6 +9358,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PurgeProductsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextAnnotation. */ @@ -8894,6 +9461,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace TextAnnotation { @@ -8992,6 +9566,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedLanguage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DetectedBreak. */ @@ -9088,6 +9669,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedBreak + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace DetectedBreak { @@ -9197,6 +9785,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextProperty + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -9312,6 +9907,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Page + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Block. */ @@ -9426,6 +10028,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Block + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Block { @@ -9547,6 +10156,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Paragraph + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Word. */ @@ -9655,6 +10271,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Word + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Symbol. */ @@ -9763,6 +10386,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Symbol + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetection. */ @@ -9883,6 +10513,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetection + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace WebDetection { @@ -9987,6 +10624,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebEntity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebImage. */ @@ -10083,6 +10727,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebImage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebPage. */ @@ -10197,6 +10848,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebPage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebLabel. */ @@ -10293,6 +10951,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebLabel + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } } @@ -10394,6 +11059,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Vertex + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BoundingPoly. */ @@ -10484,6 +11156,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BoundingPoly + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Position. */ @@ -10586,6 +11265,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Position + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Represents an ImageAnnotator */ @@ -10626,7 +11312,7 @@ export namespace google { namespace ImageAnnotator { /** - * Callback as used by {@link google.cloud.vision.v1p1beta1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p1beta1.ImageAnnotator|batchAnnotateImages}. * @param error Error, if any * @param [response] BatchAnnotateImagesResponse */ @@ -10733,6 +11419,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Feature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Feature { @@ -10847,6 +11540,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Image. */ @@ -10943,6 +11643,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Image + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceAnnotation. */ @@ -11117,6 +11824,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace FaceAnnotation { @@ -11215,6 +11929,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Landmark + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Landmark { @@ -11348,6 +12069,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocationInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Property. */ @@ -11450,6 +12178,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Property + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an EntityAnnotation. */ @@ -11588,6 +12323,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EntityAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SafeSearchAnnotation. */ @@ -11702,6 +12444,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SafeSearchAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LatLongRect. */ @@ -11798,6 +12547,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LatLongRect + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ColorInfo. */ @@ -11900,6 +12656,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ColorInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DominantColorsAnnotation. */ @@ -11990,6 +12753,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DominantColorsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageProperties. */ @@ -12080,6 +12850,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageProperties + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHint. */ @@ -12182,6 +12959,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHint + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsAnnotation. */ @@ -12272,6 +13056,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsParams. */ @@ -12362,6 +13153,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetectionParams. */ @@ -12452,6 +13250,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextDetectionParams. */ @@ -12548,6 +13353,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageContext. */ @@ -12662,6 +13474,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageRequest. */ @@ -12764,6 +13583,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageResponse. */ @@ -12914,6 +13740,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesRequest. */ @@ -13004,6 +13837,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesResponse. */ @@ -13094,6 +13934,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Likelihood enum. */ @@ -13200,6 +14047,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace TextAnnotation { @@ -13298,6 +14152,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedLanguage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DetectedBreak. */ @@ -13394,6 +14255,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedBreak + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace DetectedBreak { @@ -13503,6 +14371,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextProperty + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -13618,6 +14493,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Page + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Block. */ @@ -13732,6 +14614,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Block + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Block { @@ -13853,6 +14742,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Paragraph + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Word. */ @@ -13961,6 +14857,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Word + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Symbol. */ @@ -14069,6 +14972,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Symbol + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetection. */ @@ -14189,6 +15099,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetection + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace WebDetection { @@ -14293,6 +15210,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebEntity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebImage. */ @@ -14389,6 +15313,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebImage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebPage. */ @@ -14503,6 +15434,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebPage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebLabel. */ @@ -14599,6 +15537,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebLabel + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } } @@ -14700,6 +15645,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Vertex + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedVertex. */ @@ -14796,6 +15748,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedVertex + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BoundingPoly. */ @@ -14892,6 +15851,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BoundingPoly + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Position. */ @@ -14994,6 +15960,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Position + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Represents an ImageAnnotator */ @@ -15048,14 +16021,14 @@ export namespace google { namespace ImageAnnotator { /** - * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator|batchAnnotateImages}. * @param error Error, if any * @param [response] BatchAnnotateImagesResponse */ type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator|asyncBatchAnnotateFiles}. * @param error Error, if any * @param [response] Operation */ @@ -15162,6 +16135,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Feature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Feature { @@ -15276,6 +16256,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Image. */ @@ -15372,6 +16359,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Image + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceAnnotation. */ @@ -15546,6 +16540,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace FaceAnnotation { @@ -15644,6 +16645,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Landmark + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Landmark { @@ -15777,6 +16785,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocationInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Property. */ @@ -15879,6 +16894,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Property + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an EntityAnnotation. */ @@ -16017,6 +17039,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EntityAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SafeSearchAnnotation. */ @@ -16131,6 +17160,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SafeSearchAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LatLongRect. */ @@ -16227,6 +17263,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LatLongRect + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ColorInfo. */ @@ -16329,6 +17372,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ColorInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DominantColorsAnnotation. */ @@ -16419,6 +17469,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DominantColorsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageProperties. */ @@ -16509,6 +17566,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageProperties + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHint. */ @@ -16611,6 +17675,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHint + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsAnnotation. */ @@ -16701,6 +17772,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsParams. */ @@ -16791,6 +17869,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetectionParams. */ @@ -16881,6 +17966,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextDetectionParams. */ @@ -16977,6 +18069,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageContext. */ @@ -17091,6 +18190,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageRequest. */ @@ -17193,6 +18299,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageAnnotationContext. */ @@ -17289,6 +18402,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageAnnotationContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageResponse. */ @@ -17445,6 +18565,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateFileResponse. */ @@ -17541,6 +18668,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateFileResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesRequest. */ @@ -17631,6 +18765,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesResponse. */ @@ -17721,6 +18862,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncAnnotateFileRequest. */ @@ -17829,6 +18977,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncAnnotateFileRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncAnnotateFileResponse. */ @@ -17919,6 +19074,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncAnnotateFileResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateFilesRequest. */ @@ -18009,6 +19171,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateFilesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateFilesResponse. */ @@ -18099,6 +19268,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateFilesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an InputConfig. */ @@ -18195,6 +19371,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for InputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an OutputConfig. */ @@ -18291,6 +19474,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OutputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GcsSource. */ @@ -18381,6 +19571,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GcsSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GcsDestination. */ @@ -18471,6 +19668,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GcsDestination + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an OperationMetadata. */ @@ -18573,6 +19777,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OperationMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace OperationMetadata { @@ -18691,6 +19902,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace TextAnnotation { @@ -18789,6 +20007,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedLanguage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DetectedBreak. */ @@ -18885,6 +20110,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedBreak + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace DetectedBreak { @@ -18994,6 +20226,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextProperty + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -19109,6 +20348,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Page + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Block. */ @@ -19223,6 +20469,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Block + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Block { @@ -19344,6 +20597,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Paragraph + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Word. */ @@ -19452,6 +20712,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Word + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Symbol. */ @@ -19560,6 +20827,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Symbol + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetection. */ @@ -19680,6 +20954,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetection + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace WebDetection { @@ -19784,6 +21065,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebEntity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebImage. */ @@ -19880,6 +21168,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebImage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebPage. */ @@ -19994,6 +21289,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebPage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebLabel. */ @@ -20090,6 +21392,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebLabel + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } } @@ -20191,6 +21500,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Vertex + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedVertex. */ @@ -20287,6 +21603,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedVertex + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BoundingPoly. */ @@ -20383,6 +21706,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BoundingPoly + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Position. */ @@ -20485,6 +21815,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Position + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Represents an ImageAnnotator */ @@ -20539,14 +21876,14 @@ export namespace google { namespace ImageAnnotator { /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator|batchAnnotateImages}. * @param error Error, if any * @param [response] BatchAnnotateImagesResponse */ type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator|asyncBatchAnnotateFiles}. * @param error Error, if any * @param [response] Operation */ @@ -20653,6 +21990,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Feature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Feature { @@ -20769,6 +22113,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Image. */ @@ -20865,6 +22216,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Image + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceAnnotation. */ @@ -21039,6 +22397,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace FaceAnnotation { @@ -21137,6 +22502,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Landmark + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Landmark { @@ -21270,6 +22642,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocationInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Property. */ @@ -21372,6 +22751,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Property + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an EntityAnnotation. */ @@ -21510,6 +22896,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EntityAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LocalizedObjectAnnotation. */ @@ -21624,6 +23017,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocalizedObjectAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SafeSearchAnnotation. */ @@ -21738,6 +23138,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SafeSearchAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LatLongRect. */ @@ -21834,6 +23241,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LatLongRect + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ColorInfo. */ @@ -21936,6 +23350,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ColorInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DominantColorsAnnotation. */ @@ -22026,6 +23447,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DominantColorsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageProperties. */ @@ -22116,6 +23544,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageProperties + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHint. */ @@ -22218,6 +23653,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHint + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsAnnotation. */ @@ -22308,6 +23750,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsParams. */ @@ -22398,6 +23847,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetectionParams. */ @@ -22488,6 +23944,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextDetectionParams. */ @@ -22584,6 +24047,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageContext. */ @@ -22704,6 +24174,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageRequest. */ @@ -22806,6 +24283,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageAnnotationContext. */ @@ -22902,6 +24386,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageAnnotationContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageResponse. */ @@ -23070,6 +24561,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateFileResponse. */ @@ -23166,6 +24664,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateFileResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesRequest. */ @@ -23256,6 +24761,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesResponse. */ @@ -23346,6 +24858,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncAnnotateFileRequest. */ @@ -23454,6 +24973,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncAnnotateFileRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncAnnotateFileResponse. */ @@ -23544,6 +25070,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncAnnotateFileResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateFilesRequest. */ @@ -23634,6 +25167,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateFilesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateFilesResponse. */ @@ -23724,6 +25264,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateFilesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an InputConfig. */ @@ -23820,6 +25367,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for InputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an OutputConfig. */ @@ -23916,6 +25470,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OutputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GcsSource. */ @@ -24006,6 +25567,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GcsSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GcsDestination. */ @@ -24096,6 +25664,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GcsDestination + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Likelihood enum. */ @@ -24208,6 +25783,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OperationMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace OperationMetadata { @@ -24328,6 +25910,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSearchParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ProductSearchResults. */ @@ -24430,6 +26019,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSearchResults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace ProductSearchResults { @@ -24534,6 +26130,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Result + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ObjectAnnotation. */ @@ -24642,6 +26245,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GroupedResult. */ @@ -24744,6 +26354,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GroupedResult + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -25023,126 +26640,126 @@ export namespace google { namespace ProductSearch { /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|createProductSet}. * @param error Error, if any * @param [response] ProductSet */ type CreateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ProductSet) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProductSets}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|listProductSets}. * @param error Error, if any * @param [response] ListProductSetsResponse */ type ListProductSetsCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ListProductSetsResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|getProductSet}. * @param error Error, if any * @param [response] ProductSet */ type GetProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ProductSet) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#updateProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|updateProductSet}. * @param error Error, if any * @param [response] ProductSet */ type UpdateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ProductSet) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|deleteProductSet}. * @param error Error, if any * @param [response] Empty */ type DeleteProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createProduct}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|createProduct}. * @param error Error, if any * @param [response] Product */ type CreateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.Product) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProducts}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|listProducts}. * @param error Error, if any * @param [response] ListProductsResponse */ type ListProductsCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ListProductsResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getProduct}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|getProduct}. * @param error Error, if any * @param [response] Product */ type GetProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.Product) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#updateProduct}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|updateProduct}. * @param error Error, if any * @param [response] Product */ type UpdateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.Product) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteProduct}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|deleteProduct}. * @param error Error, if any * @param [response] Empty */ type DeleteProductCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|createReferenceImage}. * @param error Error, if any * @param [response] ReferenceImage */ type CreateReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ReferenceImage) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|deleteReferenceImage}. * @param error Error, if any * @param [response] Empty */ type DeleteReferenceImageCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listReferenceImages}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|listReferenceImages}. * @param error Error, if any * @param [response] ListReferenceImagesResponse */ type ListReferenceImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ListReferenceImagesResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|getReferenceImage}. * @param error Error, if any * @param [response] ReferenceImage */ type GetReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ReferenceImage) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#addProductToProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|addProductToProductSet}. * @param error Error, if any * @param [response] Empty */ type AddProductToProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#removeProductFromProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|removeProductFromProductSet}. * @param error Error, if any * @param [response] Empty */ type RemoveProductFromProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProductsInProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|listProductsInProductSet}. * @param error Error, if any * @param [response] ListProductsInProductSetResponse */ type ListProductsInProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#importProductSets}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|importProductSets}. * @param error Error, if any * @param [response] Operation */ @@ -25261,6 +26878,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Product + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Product { @@ -25359,6 +26983,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for KeyValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -25468,6 +27099,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSet + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ReferenceImage. */ @@ -25570,6 +27208,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ReferenceImage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CreateProductRequest. */ @@ -25672,6 +27317,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsRequest. */ @@ -25774,6 +27426,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsResponse. */ @@ -25870,6 +27529,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetProductRequest. */ @@ -25960,6 +27626,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an UpdateProductRequest. */ @@ -26056,6 +27729,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteProductRequest. */ @@ -26146,6 +27826,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CreateProductSetRequest. */ @@ -26248,6 +27935,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductSetsRequest. */ @@ -26350,6 +28044,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductSetsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductSetsResponse. */ @@ -26446,6 +28147,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductSetsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetProductSetRequest. */ @@ -26536,6 +28244,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an UpdateProductSetRequest. */ @@ -26632,6 +28347,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteProductSetRequest. */ @@ -26722,6 +28444,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CreateReferenceImageRequest. */ @@ -26824,6 +28553,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateReferenceImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListReferenceImagesRequest. */ @@ -26926,6 +28662,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListReferenceImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListReferenceImagesResponse. */ @@ -27028,6 +28771,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListReferenceImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetReferenceImageRequest. */ @@ -27118,6 +28868,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetReferenceImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteReferenceImageRequest. */ @@ -27208,6 +28965,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteReferenceImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AddProductToProductSetRequest. */ @@ -27304,6 +29068,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AddProductToProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a RemoveProductFromProductSetRequest. */ @@ -27400,6 +29171,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RemoveProductFromProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsInProductSetRequest. */ @@ -27502,6 +29280,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsInProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsInProductSetResponse. */ @@ -27598,6 +29383,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsInProductSetResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsGcsSource. */ @@ -27688,6 +29480,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsGcsSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsInputConfig. */ @@ -27781,6 +29580,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsInputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsRequest. */ @@ -27877,6 +29683,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsResponse. */ @@ -27973,6 +29786,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchOperationMetadata. */ @@ -28075,6 +29895,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchOperationMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace BatchOperationMetadata { @@ -28183,6 +30010,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace TextAnnotation { @@ -28281,6 +30115,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedLanguage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DetectedBreak. */ @@ -28377,6 +30218,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedBreak + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace DetectedBreak { @@ -28486,6 +30334,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextProperty + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -28601,6 +30456,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Page + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Block. */ @@ -28715,6 +30577,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Block + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Block { @@ -28836,6 +30705,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Paragraph + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Word. */ @@ -28944,6 +30820,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Word + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Symbol. */ @@ -29052,6 +30935,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Symbol + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetection. */ @@ -29172,6 +31062,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetection + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace WebDetection { @@ -29276,6 +31173,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebEntity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebImage. */ @@ -29372,6 +31276,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebImage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebPage. */ @@ -29486,6 +31397,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebPage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebLabel. */ @@ -29582,6 +31500,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebLabel + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } } @@ -29677,6 +31602,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceRecognitionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Celebrity. */ @@ -29779,6 +31711,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Celebrity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FaceRecognitionResult. */ @@ -29875,6 +31814,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceRecognitionResult + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Vertex. */ @@ -29971,6 +31917,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Vertex + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a NormalizedVertex. */ @@ -30067,6 +32020,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NormalizedVertex + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BoundingPoly. */ @@ -30163,6 +32123,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BoundingPoly + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Position. */ @@ -30265,6 +32232,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Position + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Represents an ImageAnnotator */ @@ -30347,28 +32321,28 @@ export namespace google { namespace ImageAnnotator { /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator|batchAnnotateImages}. * @param error Error, if any * @param [response] BatchAnnotateImagesResponse */ type BatchAnnotateImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator|batchAnnotateFiles}. * @param error Error, if any * @param [response] BatchAnnotateFilesResponse */ type BatchAnnotateFilesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator|asyncBatchAnnotateImages}. * @param error Error, if any * @param [response] Operation */ type AsyncBatchAnnotateImagesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator|asyncBatchAnnotateFiles}. * @param error Error, if any * @param [response] Operation */ @@ -30475,6 +32449,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Feature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Feature { @@ -30591,6 +32572,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Image. */ @@ -30687,6 +32675,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Image + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Likelihood enum. */ @@ -30877,6 +32872,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FaceAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace FaceAnnotation { @@ -30975,6 +32977,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Landmark + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Landmark { @@ -31108,6 +33117,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocationInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Property. */ @@ -31210,6 +33226,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Property + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an EntityAnnotation. */ @@ -31348,6 +33371,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EntityAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LocalizedObjectAnnotation. */ @@ -31462,6 +33492,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LocalizedObjectAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a SafeSearchAnnotation. */ @@ -31576,6 +33613,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SafeSearchAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LatLongRect. */ @@ -31672,6 +33716,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LatLongRect + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ColorInfo. */ @@ -31774,6 +33825,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ColorInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DominantColorsAnnotation. */ @@ -31864,6 +33922,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DominantColorsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageProperties. */ @@ -31954,6 +34019,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageProperties + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHint. */ @@ -32056,6 +34128,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHint + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsAnnotation. */ @@ -32146,6 +34225,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CropHintsParams. */ @@ -32236,6 +34322,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CropHintsParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetectionParams. */ @@ -32326,6 +34419,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextDetectionParams. */ @@ -32422,6 +34522,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextDetectionParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageContext. */ @@ -32548,6 +34655,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageRequest. */ @@ -32650,6 +34764,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImageAnnotationContext. */ @@ -32746,6 +34867,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImageAnnotationContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateImageResponse. */ @@ -32914,6 +35042,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateImageResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesRequest. */ @@ -33004,6 +35139,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateImagesResponse. */ @@ -33094,6 +35236,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateFileRequest. */ @@ -33202,6 +35351,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateFileRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AnnotateFileResponse. */ @@ -33310,6 +35466,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AnnotateFileResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateFilesRequest. */ @@ -33400,6 +35563,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateFilesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchAnnotateFilesResponse. */ @@ -33490,6 +35660,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchAnnotateFilesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncAnnotateFileRequest. */ @@ -33598,6 +35775,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncAnnotateFileRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncAnnotateFileResponse. */ @@ -33688,6 +35872,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncAnnotateFileResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateImagesRequest. */ @@ -33784,6 +35975,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateImagesResponse. */ @@ -33874,6 +36072,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateFilesRequest. */ @@ -33964,6 +36169,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateFilesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AsyncBatchAnnotateFilesResponse. */ @@ -34054,6 +36266,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AsyncBatchAnnotateFilesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an InputConfig. */ @@ -34156,6 +36375,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for InputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an OutputConfig. */ @@ -34252,6 +36478,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OutputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GcsSource. */ @@ -34342,6 +36575,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GcsSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GcsDestination. */ @@ -34432,6 +36672,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GcsDestination + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an OperationMetadata. */ @@ -34534,6 +36781,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OperationMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace OperationMetadata { @@ -34654,6 +36908,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSearchParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ProductSearchResults. */ @@ -34756,6 +37017,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSearchResults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace ProductSearchResults { @@ -34860,6 +37128,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Result + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ObjectAnnotation. */ @@ -34968,6 +37243,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ObjectAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GroupedResult. */ @@ -35070,6 +37352,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GroupedResult + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -35363,133 +37652,133 @@ export namespace google { namespace ProductSearch { /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|createProductSet}. * @param error Error, if any * @param [response] ProductSet */ type CreateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ProductSet) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductSets}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|listProductSets}. * @param error Error, if any * @param [response] ListProductSetsResponse */ type ListProductSetsCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ListProductSetsResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|getProductSet}. * @param error Error, if any * @param [response] ProductSet */ type GetProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ProductSet) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|updateProductSet}. * @param error Error, if any * @param [response] ProductSet */ type UpdateProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ProductSet) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|deleteProductSet}. * @param error Error, if any * @param [response] Empty */ type DeleteProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|createProduct}. * @param error Error, if any * @param [response] Product */ type CreateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.Product) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProducts}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|listProducts}. * @param error Error, if any * @param [response] ListProductsResponse */ type ListProductsCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ListProductsResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|getProduct}. * @param error Error, if any * @param [response] Product */ type GetProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.Product) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|updateProduct}. * @param error Error, if any * @param [response] Product */ type UpdateProductCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.Product) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|deleteProduct}. * @param error Error, if any * @param [response] Empty */ type DeleteProductCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|createReferenceImage}. * @param error Error, if any * @param [response] ReferenceImage */ type CreateReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ReferenceImage) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|deleteReferenceImage}. * @param error Error, if any * @param [response] Empty */ type DeleteReferenceImageCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listReferenceImages}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|listReferenceImages}. * @param error Error, if any * @param [response] ListReferenceImagesResponse */ type ListReferenceImagesCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ListReferenceImagesResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|getReferenceImage}. * @param error Error, if any * @param [response] ReferenceImage */ type GetReferenceImageCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ReferenceImage) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#addProductToProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|addProductToProductSet}. * @param error Error, if any * @param [response] Empty */ type AddProductToProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#removeProductFromProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|removeProductFromProductSet}. * @param error Error, if any * @param [response] Empty */ type RemoveProductFromProductSetCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductsInProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|listProductsInProductSet}. * @param error Error, if any * @param [response] ListProductsInProductSetResponse */ type ListProductsInProductSetCallback = (error: (Error|null), response?: google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#importProductSets}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|importProductSets}. * @param error Error, if any * @param [response] Operation */ type ImportProductSetsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#purgeProducts}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|purgeProducts}. * @param error Error, if any * @param [response] Operation */ @@ -35608,6 +37897,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Product + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Product { @@ -35706,6 +38002,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for KeyValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -35815,6 +38118,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSet + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ReferenceImage. */ @@ -35917,6 +38227,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ReferenceImage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CreateProductRequest. */ @@ -36019,6 +38336,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsRequest. */ @@ -36121,6 +38445,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsResponse. */ @@ -36217,6 +38548,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetProductRequest. */ @@ -36307,6 +38645,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an UpdateProductRequest. */ @@ -36403,6 +38748,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteProductRequest. */ @@ -36493,6 +38845,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteProductRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CreateProductSetRequest. */ @@ -36595,6 +38954,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductSetsRequest. */ @@ -36697,6 +39063,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductSetsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductSetsResponse. */ @@ -36793,6 +39166,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductSetsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetProductSetRequest. */ @@ -36883,6 +39263,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an UpdateProductSetRequest. */ @@ -36979,6 +39366,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteProductSetRequest. */ @@ -37069,6 +39463,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CreateReferenceImageRequest. */ @@ -37171,6 +39572,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateReferenceImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListReferenceImagesRequest. */ @@ -37273,6 +39681,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListReferenceImagesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListReferenceImagesResponse. */ @@ -37375,6 +39790,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListReferenceImagesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetReferenceImageRequest. */ @@ -37465,6 +39887,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetReferenceImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteReferenceImageRequest. */ @@ -37555,6 +39984,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteReferenceImageRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an AddProductToProductSetRequest. */ @@ -37651,6 +40087,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AddProductToProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a RemoveProductFromProductSetRequest. */ @@ -37747,6 +40190,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RemoveProductFromProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsInProductSetRequest. */ @@ -37849,6 +40299,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsInProductSetRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListProductsInProductSetResponse. */ @@ -37945,6 +40402,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListProductsInProductSetResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsGcsSource. */ @@ -38035,6 +40499,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsGcsSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsInputConfig. */ @@ -38128,6 +40599,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsInputConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsRequest. */ @@ -38224,6 +40702,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an ImportProductSetsResponse. */ @@ -38320,6 +40805,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportProductSetsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BatchOperationMetadata. */ @@ -38422,6 +40914,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchOperationMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace BatchOperationMetadata { @@ -38524,6 +41023,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ProductSetPurgeConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a PurgeProductsRequest. */ @@ -38635,6 +41141,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PurgeProductsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TextAnnotation. */ @@ -38731,6 +41244,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextAnnotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace TextAnnotation { @@ -38829,6 +41349,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedLanguage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DetectedBreak. */ @@ -38925,6 +41452,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DetectedBreak + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace DetectedBreak { @@ -39034,6 +41568,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TextProperty + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -39149,6 +41690,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Page + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Block. */ @@ -39263,6 +41811,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Block + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace Block { @@ -39384,6 +41939,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Paragraph + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Word. */ @@ -39492,6 +42054,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Word + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Symbol. */ @@ -39600,6 +42169,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Symbol + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebDetection. */ @@ -39720,6 +42296,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebDetection + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } namespace WebDetection { @@ -39824,6 +42407,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebEntity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebImage. */ @@ -39920,6 +42510,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebImage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebPage. */ @@ -40034,6 +42631,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebPage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WebLabel. */ @@ -40130,6 +42734,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WebLabel + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } } @@ -40233,6 +42844,13 @@ export namespace google { * @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. */ @@ -40380,6 +42998,13 @@ export namespace google { * @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. */ @@ -40476,6 +43101,13 @@ export namespace google { * @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; } /** FieldBehavior enum. */ @@ -40614,6 +43246,13 @@ export namespace google { * @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 { @@ -40726,6 +43365,13 @@ export namespace google { * @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; } } @@ -40820,6 +43466,13 @@ export namespace google { * @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; } /** Properties of a FileDescriptorProto. */ @@ -40860,6 +43513,9 @@ export namespace google { /** FileDescriptorProto syntax */ syntax?: (string|null); + + /** FileDescriptorProto edition */ + edition?: (string|null); } /** Represents a FileDescriptorProto. */ @@ -40907,6 +43563,9 @@ export namespace google { /** FileDescriptorProto syntax. */ public syntax: string; + /** FileDescriptorProto edition. */ + public edition: string; + /** * Creates a new FileDescriptorProto instance using the specified properties. * @param [properties] Properties to set @@ -40976,6 +43635,13 @@ export namespace google { * @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. */ @@ -41120,6 +43786,13 @@ export namespace google { * @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 { @@ -41224,6 +43897,13 @@ export namespace google { * @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. */ @@ -41320,6 +44000,13 @@ export namespace google { * @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; } } @@ -41411,6 +44098,13 @@ export namespace google { * @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; } /** Properties of a FieldDescriptorProto. */ @@ -41561,6 +44255,13 @@ export namespace google { * @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 { @@ -41689,6 +44390,13 @@ export namespace google { * @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. */ @@ -41803,6 +44511,13 @@ export namespace google { * @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 { @@ -41901,6 +44616,13 @@ export namespace google { * @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; } } @@ -42004,6 +44726,13 @@ export namespace google { * @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. */ @@ -42106,6 +44835,13 @@ export namespace google { * @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. */ @@ -42226,6 +44962,13 @@ export namespace google { * @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. */ @@ -42439,6 +45182,13 @@ export namespace google { * @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 { @@ -42566,6 +45316,13 @@ export namespace google { * @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. */ @@ -42583,6 +45340,9 @@ export namespace google { /** FieldOptions lazy */ lazy?: (boolean|null); + /** FieldOptions unverifiedLazy */ + unverifiedLazy?: (boolean|null); + /** FieldOptions deprecated */ deprecated?: (boolean|null); @@ -42620,6 +45380,9 @@ export namespace google { /** FieldOptions lazy. */ public lazy: boolean; + /** FieldOptions unverifiedLazy. */ + public unverifiedLazy: boolean; + /** FieldOptions deprecated. */ public deprecated: boolean; @@ -42698,6 +45461,13 @@ export namespace google { * @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 { @@ -42805,6 +45575,13 @@ export namespace google { * @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. */ @@ -42907,6 +45684,13 @@ export namespace google { * @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. */ @@ -43003,6 +45787,13 @@ export namespace google { * @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. */ @@ -43105,6 +45896,13 @@ export namespace google { * @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. */ @@ -43216,6 +46014,13 @@ export namespace google { * @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 { @@ -43352,6 +46157,13 @@ export namespace google { * @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 { @@ -43450,6 +46262,13 @@ export namespace google { * @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; } } @@ -43541,6 +46360,13 @@ export namespace google { * @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 { @@ -43657,6 +46483,13 @@ export namespace google { * @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; } } @@ -43748,6 +46581,13 @@ export namespace google { * @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 { @@ -43766,6 +46606,9 @@ export namespace google { /** Annotation end */ end?: (number|null); + + /** Annotation semantic */ + semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null); } /** Represents an Annotation. */ @@ -43789,6 +46632,9 @@ export namespace google { /** 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 @@ -43858,6 +46704,23 @@ export namespace google { * @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 + } } } @@ -43955,6 +46818,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Any + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Duration. */ @@ -44051,6 +46921,13 @@ export namespace google { * @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. */ @@ -44135,6 +47012,13 @@ export namespace google { * @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 FieldMask. */ @@ -44225,6 +47109,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldMask + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Timestamp. */ @@ -44321,6 +47212,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Timestamp + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DoubleValue. */ @@ -44411,6 +47309,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DoubleValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a FloatValue. */ @@ -44501,6 +47406,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FloatValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Int64Value. */ @@ -44591,6 +47503,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Int64Value + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a UInt64Value. */ @@ -44681,6 +47600,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UInt64Value + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an Int32Value. */ @@ -44771,6 +47697,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Int32Value + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a UInt32Value. */ @@ -44861,6 +47794,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UInt32Value + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BoolValue. */ @@ -44951,6 +47891,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BoolValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a StringValue. */ @@ -45041,6 +47988,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for StringValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a BytesValue. */ @@ -45131,6 +48085,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BytesValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -45231,35 +48192,35 @@ export namespace google { namespace Operations { /** - * Callback as used by {@link google.longrunning.Operations#listOperations}. + * Callback as used by {@link google.longrunning.Operations|listOperations}. * @param error Error, if any * @param [response] ListOperationsResponse */ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void; /** - * Callback as used by {@link google.longrunning.Operations#getOperation}. + * Callback as used by {@link google.longrunning.Operations|getOperation}. * @param error Error, if any * @param [response] Operation */ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; /** - * Callback as used by {@link google.longrunning.Operations#deleteOperation}. + * Callback as used by {@link google.longrunning.Operations|deleteOperation}. * @param error Error, if any * @param [response] Empty */ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.longrunning.Operations#cancelOperation}. + * Callback as used by {@link google.longrunning.Operations|cancelOperation}. * @param error Error, if any * @param [response] Empty */ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; /** - * Callback as used by {@link google.longrunning.Operations#waitOperation}. + * Callback as used by {@link google.longrunning.Operations|waitOperation}. * @param error Error, if any * @param [response] Operation */ @@ -45381,6 +48342,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Operation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a GetOperationRequest. */ @@ -45471,6 +48439,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetOperationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListOperationsRequest. */ @@ -45579,6 +48554,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListOperationsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ListOperationsResponse. */ @@ -45675,6 +48657,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListOperationsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a CancelOperationRequest. */ @@ -45765,6 +48754,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CancelOperationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a DeleteOperationRequest. */ @@ -45855,6 +48851,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteOperationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a WaitOperationRequest. */ @@ -45951,6 +48954,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WaitOperationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of an OperationInfo. */ @@ -46047,6 +49057,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OperationInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -46153,6 +49170,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Status + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } } @@ -46265,6 +49289,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Color + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a LatLng. */ @@ -46361,6 +49392,13 @@ export namespace google { * @returns JSON object */ public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LatLng + * @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-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 4968511b49e..2b8badaa080 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -169,12 +169,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.int32(); - break; - case 2: - message.y = reader.int32(); - break; + case 1: { + message.x = reader.int32(); + break; + } + case 2: { + message.y = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -273,6 +275,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Vertex + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Vertex + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Vertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Vertex"; + }; + return Vertex; })(); @@ -379,12 +396,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); - break; + case 1: { + message.x = reader.float(); + break; + } + case 2: { + message.y = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -483,6 +502,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedVertex + * @function getTypeUrl + * @memberof google.cloud.vision.v1.NormalizedVertex + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedVertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.NormalizedVertex"; + }; + return NormalizedVertex; })(); @@ -593,16 +627,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1.Vertex.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.normalizedVertices && message.normalizedVertices.length)) - message.normalizedVertices = []; - message.normalizedVertices.push($root.google.cloud.vision.v1.NormalizedVertex.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1.Vertex.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1.NormalizedVertex.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -735,6 +771,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BoundingPoly + * @function getTypeUrl + * @memberof google.cloud.vision.v1.BoundingPoly + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BoundingPoly.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.BoundingPoly"; + }; + return BoundingPoly; })(); @@ -852,15 +903,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); - break; - case 3: - message.z = reader.float(); - break; + case 1: { + message.x = reader.float(); + break; + } + case 2: { + message.y = reader.float(); + break; + } + case 3: { + message.z = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -967,6 +1021,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Position + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Position + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Position.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Position"; + }; + return Position; })(); @@ -1003,7 +1072,7 @@ }; /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator|batchAnnotateImages}. * @memberof google.cloud.vision.v1.ImageAnnotator * @typedef BatchAnnotateImagesCallback * @type {function} @@ -1036,7 +1105,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#batchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator|batchAnnotateFiles}. * @memberof google.cloud.vision.v1.ImageAnnotator * @typedef BatchAnnotateFilesCallback * @type {function} @@ -1069,7 +1138,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator|asyncBatchAnnotateImages}. * @memberof google.cloud.vision.v1.ImageAnnotator * @typedef AsyncBatchAnnotateImagesCallback * @type {function} @@ -1102,7 +1171,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator#asyncBatchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1.ImageAnnotator|asyncBatchAnnotateFiles}. * @memberof google.cloud.vision.v1.ImageAnnotator * @typedef AsyncBatchAnnotateFilesCallback * @type {function} @@ -1273,15 +1342,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.maxResults = reader.int32(); + break; + } + case 3: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -1456,6 +1528,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Feature + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Feature + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Feature.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Feature"; + }; + /** * Type enum. * @name google.cloud.vision.v1.Feature.Type @@ -1598,12 +1685,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsImageUri = reader.string(); - break; - case 2: - message.imageUri = reader.string(); - break; + case 1: { + message.gcsImageUri = reader.string(); + break; + } + case 2: { + message.imageUri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -1702,6 +1791,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ImageSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ImageSource"; + }; + return ImageSource; })(); @@ -1808,12 +1912,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.content = reader.bytes(); - break; - case 2: - message.source = $root.google.cloud.vision.v1.ImageSource.decode(reader, reader.uint32()); - break; + case 1: { + message.content = reader.bytes(); + break; + } + case 2: { + message.source = $root.google.cloud.vision.v1.ImageSource.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -1875,7 +1981,7 @@ if (object.content != null) if (typeof object.content === "string") $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) + else if (object.content.length >= 0) message.content = object.content; if (object.source != null) { if (typeof object.source !== "object") @@ -1926,6 +2032,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Image + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Image + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Image.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Image"; + }; + return Image; })(); @@ -2177,53 +2298,68 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.fdBoundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + } + case 4: { + message.rollAngle = reader.float(); + break; + } + case 5: { + message.panAngle = reader.float(); + break; + } + case 6: { + message.tiltAngle = reader.float(); + break; + } + case 7: { + message.detectionConfidence = reader.float(); + break; + } + case 8: { + message.landmarkingConfidence = reader.float(); + break; + } + case 9: { + message.joyLikelihood = reader.int32(); + break; + } + case 10: { + message.sorrowLikelihood = reader.int32(); + break; + } + case 11: { + message.angerLikelihood = reader.int32(); + break; + } + case 12: { + message.surpriseLikelihood = reader.int32(); + break; + } + case 13: { + message.underExposedLikelihood = reader.int32(); + break; + } + case 14: { + message.blurredLikelihood = reader.int32(); + break; + } + case 15: { + message.headwearLikelihood = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -2685,6 +2821,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1.FaceAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.FaceAnnotation"; + }; + FaceAnnotation.Landmark = (function() { /** @@ -2788,12 +2939,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1.Position.decode(reader, reader.uint32()); - break; + case 3: { + message.type = reader.int32(); + break; + } + case 4: { + message.position = $root.google.cloud.vision.v1.Position.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -3085,6 +3238,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Landmark + * @function getTypeUrl + * @memberof google.cloud.vision.v1.FaceAnnotation.Landmark + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Landmark.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.FaceAnnotation.Landmark"; + }; + /** * Type enum. * @name google.cloud.vision.v1.FaceAnnotation.Landmark.Type @@ -3267,9 +3435,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -3364,6 +3533,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LocationInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1.LocationInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.LocationInfo"; + }; + return LocationInfo; })(); @@ -3481,15 +3665,18 @@ 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: - message.uint64Value = reader.uint64(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.value = reader.string(); + break; + } + case 3: { + message.uint64Value = reader.uint64(); + break; + } default: reader.skipType(tag & 7); break; @@ -3610,6 +3797,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Property + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Property + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Property.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Property"; + }; + return Property; })(); @@ -3797,37 +3999,46 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.locale = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.confidence = reader.float(); - break; - case 6: - message.topicality = reader.float(); - break; - case 7: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1.LocationInfo.decode(reader, reader.uint32())); - break; - case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1.Property.decode(reader, reader.uint32())); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.locale = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } + case 6: { + message.topicality = reader.float(); + break; + } + case 7: { + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 8: { + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1.LocationInfo.decode(reader, reader.uint32())); + break; + } + case 9: { + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1.Property.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -4023,6 +4234,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EntityAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1.EntityAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EntityAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.EntityAnnotation"; + }; + return EntityAnnotation; })(); @@ -4162,21 +4388,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; - case 3: - message.name = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } + case 3: { + message.name = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } + case 5: { + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -4304,6 +4535,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LocalizedObjectAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1.LocalizedObjectAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocalizedObjectAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.LocalizedObjectAnnotation"; + }; + return LocalizedObjectAnnotation; })(); @@ -4443,21 +4689,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.adult = reader.int32(); - break; - case 2: - message.spoof = reader.int32(); - break; - case 3: - message.medical = reader.int32(); - break; - case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); - break; + case 1: { + message.adult = reader.int32(); + break; + } + case 2: { + message.spoof = reader.int32(); + break; + } + case 3: { + message.medical = reader.int32(); + break; + } + case 4: { + message.violence = reader.int32(); + break; + } + case 9: { + message.racy = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -4745,6 +4996,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SafeSearchAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1.SafeSearchAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SafeSearchAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.SafeSearchAnnotation"; + }; + return SafeSearchAnnotation; })(); @@ -4851,12 +5117,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } + case 2: { + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -4965,6 +5233,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LatLongRect + * @function getTypeUrl + * @memberof google.cloud.vision.v1.LatLongRect + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LatLongRect.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.LatLongRect"; + }; + return LatLongRect; })(); @@ -5082,15 +5365,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pixelFraction = reader.float(); - break; + case 1: { + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pixelFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -5202,6 +5488,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ColorInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ColorInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ColorInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ColorInfo"; + }; + return ColorInfo; })(); @@ -5299,11 +5600,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1.ColorInfo.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1.ColorInfo.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -5410,6 +5712,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DominantColorsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1.DominantColorsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DominantColorsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.DominantColorsAnnotation"; + }; + return DominantColorsAnnotation; })(); @@ -5505,9 +5822,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.decode(reader, reader.uint32()); - break; + case 1: { + message.dominantColors = $root.google.cloud.vision.v1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -5602,6 +5920,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageProperties + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ImageProperties + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageProperties.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ImageProperties"; + }; + return ImageProperties; })(); @@ -5719,15 +6052,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - message.importanceFraction = reader.float(); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + message.importanceFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -5839,6 +6175,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHint + * @function getTypeUrl + * @memberof google.cloud.vision.v1.CropHint + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHint.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.CropHint"; + }; + return CropHint; })(); @@ -5936,11 +6287,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1.CropHint.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1.CropHint.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -6047,6 +6399,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1.CropHintsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.CropHintsAnnotation"; + }; + return CropHintsAnnotation; })(); @@ -6147,16 +6514,17 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -6258,6 +6626,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1.CropHintsParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.CropHintsParams"; + }; + return CropHintsParams; })(); @@ -6353,9 +6736,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.includeGeoResults = reader.bool(); - break; + case 2: { + message.includeGeoResults = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -6445,6 +6829,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1.WebDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.WebDetectionParams"; + }; + return WebDetectionParams; })(); @@ -6553,14 +6952,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 9: - message.enableTextDetectionConfidenceScore = reader.bool(); - break; - case 11: - if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) - message.advancedOcrOptions = []; - message.advancedOcrOptions.push(reader.string()); - break; + case 9: { + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + } + case 11: { + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -6671,6 +7072,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1.TextDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.TextDetectionParams"; + }; + return TextDetectionParams; })(); @@ -6823,26 +7239,32 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLongRect = $root.google.cloud.vision.v1.LatLongRect.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 5: - message.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.decode(reader, reader.uint32()); - break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.decode(reader, reader.uint32()); - break; - case 12: - message.textDetectionParams = $root.google.cloud.vision.v1.TextDetectionParams.decode(reader, reader.uint32()); - break; + case 1: { + message.latLongRect = $root.google.cloud.vision.v1.LatLongRect.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + } + case 4: { + message.cropHintsParams = $root.google.cloud.vision.v1.CropHintsParams.decode(reader, reader.uint32()); + break; + } + case 5: { + message.productSearchParams = $root.google.cloud.vision.v1.ProductSearchParams.decode(reader, reader.uint32()); + break; + } + case 6: { + message.webDetectionParams = $root.google.cloud.vision.v1.WebDetectionParams.decode(reader, reader.uint32()); + break; + } + case 12: { + message.textDetectionParams = $root.google.cloud.vision.v1.TextDetectionParams.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -7011,6 +7433,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageContext + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ImageContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ImageContext"; + }; + return ImageContext; })(); @@ -7130,17 +7567,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.image = $root.google.cloud.vision.v1.Image.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); - break; + case 1: { + message.image = $root.google.cloud.vision.v1.Image.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -7275,6 +7715,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AnnotateImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AnnotateImageRequest"; + }; + return AnnotateImageRequest; })(); @@ -7381,12 +7836,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; - case 2: - message.pageNumber = reader.int32(); - break; + case 1: { + message.uri = reader.string(); + break; + } + case 2: { + message.pageNumber = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -7485,6 +7942,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageAnnotationContext + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ImageAnnotationContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageAnnotationContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ImageAnnotationContext"; + }; + return ImageAnnotationContext; })(); @@ -7735,60 +8207,74 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 22: - if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) - message.localizedObjectAnnotations = []; - message.localizedObjectAnnotations.push($root.google.cloud.vision.v1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.decode(reader, reader.uint32()); - break; - case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1.WebDetection.decode(reader, reader.uint32()); - break; - case 14: - message.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 21: - message.context = $root.google.cloud.vision.v1.ImageAnnotationContext.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1.FaceAnnotation.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 22: { + if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) + message.localizedObjectAnnotations = []; + message.localizedObjectAnnotations.push($root.google.cloud.vision.v1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 12: { + message.fullTextAnnotation = $root.google.cloud.vision.v1.TextAnnotation.decode(reader, reader.uint32()); + break; + } + case 6: { + message.safeSearchAnnotation = $root.google.cloud.vision.v1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + } + case 8: { + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1.ImageProperties.decode(reader, reader.uint32()); + break; + } + case 11: { + message.cropHintsAnnotation = $root.google.cloud.vision.v1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + } + case 13: { + message.webDetection = $root.google.cloud.vision.v1.WebDetection.decode(reader, reader.uint32()); + break; + } + case 14: { + message.productSearchResults = $root.google.cloud.vision.v1.ProductSearchResults.decode(reader, reader.uint32()); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } + case 21: { + message.context = $root.google.cloud.vision.v1.ImageAnnotationContext.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -8127,6 +8613,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AnnotateImageResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AnnotateImageResponse"; + }; + return AnnotateImageResponse; })(); @@ -8235,14 +8736,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); - break; - case 4: - message.parent = reader.string(); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + } + case 4: { + message.parent = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -8358,6 +8861,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.BatchAnnotateImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.BatchAnnotateImagesRequest"; + }; + return BatchAnnotateImagesRequest; })(); @@ -8455,11 +8973,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -8566,6 +9085,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.BatchAnnotateImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.BatchAnnotateImagesResponse"; + }; + return BatchAnnotateImagesResponse; })(); @@ -8701,27 +9235,31 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.pages && message.pages.length)) - message.pages = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.pages && message.pages.length)) + message.pages = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.pages.push(reader.int32()); + } else message.pages.push(reader.int32()); - } else - message.pages.push(reader.int32()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -8877,6 +9415,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateFileRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AnnotateFileRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateFileRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AnnotateFileRequest"; + }; + return AnnotateFileRequest; })(); @@ -9007,20 +9560,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; - case 3: - message.totalPages = reader.int32(); - break; - case 4: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + } + case 3: { + message.totalPages = reader.int32(); + break; + } + case 4: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -9163,6 +9720,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateFileResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AnnotateFileResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateFileResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AnnotateFileResponse"; + }; + return AnnotateFileResponse; })(); @@ -9271,14 +9843,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1.AnnotateFileRequest.decode(reader, reader.uint32())); - break; - case 3: - message.parent = reader.string(); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AnnotateFileRequest.decode(reader, reader.uint32())); + break; + } + case 3: { + message.parent = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -9394,6 +9968,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateFilesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.BatchAnnotateFilesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateFilesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.BatchAnnotateFilesRequest"; + }; + return BatchAnnotateFilesRequest; })(); @@ -9491,11 +10080,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1.AnnotateFileResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AnnotateFileResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -9602,6 +10192,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateFilesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.BatchAnnotateFilesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateFilesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.BatchAnnotateFilesResponse"; + }; + return BatchAnnotateFilesResponse; })(); @@ -9732,20 +10337,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.inputConfig = $root.google.cloud.vision.v1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1.ImageContext.decode(reader, reader.uint32()); + break; + } + case 4: { + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -9893,6 +10502,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncAnnotateFileRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AsyncAnnotateFileRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncAnnotateFileRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AsyncAnnotateFileRequest"; + }; + return AsyncAnnotateFileRequest; })(); @@ -9988,9 +10612,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -10085,6 +10710,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncAnnotateFileResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AsyncAnnotateFileResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncAnnotateFileResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AsyncAnnotateFileResponse"; + }; + return AsyncAnnotateFileResponse; })(); @@ -10204,17 +10844,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); - break; - case 2: - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); - break; - case 4: - message.parent = reader.string(); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + } + case 2: { + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + break; + } + case 4: { + message.parent = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -10344,6 +10987,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest"; + }; + return AsyncBatchAnnotateImagesRequest; })(); @@ -10439,9 +11097,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.outputConfig = $root.google.cloud.vision.v1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -10536,6 +11195,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse"; + }; + return AsyncBatchAnnotateImagesResponse; })(); @@ -10644,14 +11318,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); - break; - case 4: - message.parent = reader.string(); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + break; + } + case 4: { + message.parent = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -10767,6 +11443,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateFilesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateFilesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest"; + }; + return AsyncBatchAnnotateFilesRequest; })(); @@ -10864,11 +11555,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -10975,6 +11667,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateFilesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateFilesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse"; + }; + return AsyncBatchAnnotateFilesResponse; })(); @@ -11092,15 +11799,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsSource = $root.google.cloud.vision.v1.GcsSource.decode(reader, reader.uint32()); - break; - case 3: - message.content = reader.bytes(); - break; - case 2: - message.mimeType = reader.string(); - break; + case 1: { + message.gcsSource = $root.google.cloud.vision.v1.GcsSource.decode(reader, reader.uint32()); + break; + } + case 3: { + message.content = reader.bytes(); + break; + } + case 2: { + message.mimeType = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -11170,7 +11880,7 @@ if (object.content != null) if (typeof object.content === "string") $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) + else if (object.content.length >= 0) message.content = object.content; if (object.mimeType != null) message.mimeType = String(object.mimeType); @@ -11221,6 +11931,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for InputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1.InputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + InputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.InputConfig"; + }; + return InputConfig; })(); @@ -11327,12 +12052,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.decode(reader, reader.uint32()); - break; - case 2: - message.batchSize = reader.int32(); - break; + case 1: { + message.gcsDestination = $root.google.cloud.vision.v1.GcsDestination.decode(reader, reader.uint32()); + break; + } + case 2: { + message.batchSize = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -11436,6 +12163,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OutputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1.OutputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OutputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.OutputConfig"; + }; + return OutputConfig; })(); @@ -11531,9 +12273,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; + case 1: { + message.uri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -11623,6 +12366,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GcsSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1.GcsSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GcsSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.GcsSource"; + }; + return GcsSource; })(); @@ -11718,9 +12476,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; + case 1: { + message.uri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -11810,6 +12569,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GcsDestination + * @function getTypeUrl + * @memberof google.cloud.vision.v1.GcsDestination + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GcsDestination.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.GcsDestination"; + }; + return GcsDestination; })(); @@ -11927,15 +12701,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; - case 5: - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 6: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.state = reader.int32(); + break; + } + case 5: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 6: { + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -12080,6 +12857,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OperationMetadata + * @function getTypeUrl + * @memberof google.cloud.vision.v1.OperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.OperationMetadata"; + }; + /** * State enum. * @name google.cloud.vision.v1.OperationMetadata.State @@ -12230,20 +13022,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 9: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 6: - message.productSet = reader.string(); - break; - case 7: - if (!(message.productCategories && message.productCategories.length)) - message.productCategories = []; - message.productCategories.push(reader.string()); - break; - case 8: - message.filter = reader.string(); - break; + case 9: { + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 6: { + message.productSet = reader.string(); + break; + } + case 7: { + if (!(message.productCategories && message.productCategories.length)) + message.productCategories = []; + message.productCategories.push(reader.string()); + break; + } + case 8: { + message.filter = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -12376,6 +13172,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSearchParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ProductSearchParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSearchParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ProductSearchParams"; + }; + return ProductSearchParams; })(); @@ -12497,19 +13308,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - if (!(message.results && message.results.length)) - message.results = []; - message.results.push($root.google.cloud.vision.v1.ProductSearchResults.Result.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.productGroupedResults && message.productGroupedResults.length)) - message.productGroupedResults = []; - message.productGroupedResults.push($root.google.cloud.vision.v1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); - break; + case 2: { + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 5: { + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.productGroupedResults && message.productGroupedResults.length)) + message.productGroupedResults = []; + message.productGroupedResults.push($root.google.cloud.vision.v1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -12656,6 +13470,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSearchResults + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ProductSearchResults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSearchResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ProductSearchResults"; + }; + ProductSearchResults.Result = (function() { /** @@ -12770,15 +13599,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.product = $root.google.cloud.vision.v1.Product.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.image = reader.string(); - break; + case 1: { + message.product = $root.google.cloud.vision.v1.Product.decode(reader, reader.uint32()); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.image = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -12890,6 +13722,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Result + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ProductSearchResults.Result + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Result.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ProductSearchResults.Result"; + }; + return Result; })(); @@ -13018,18 +13865,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; - case 3: - message.name = reader.string(); - break; - case 4: - message.score = reader.float(); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } + case 3: { + message.name = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -13144,6 +13995,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation"; + }; + return ObjectAnnotation; })(); @@ -13265,19 +14131,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.results && message.results.length)) - message.results = []; - message.results.push($root.google.cloud.vision.v1.ProductSearchResults.Result.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.objectAnnotations && message.objectAnnotations.length)) - message.objectAnnotations = []; - message.objectAnnotations.push($root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.decode(reader, reader.uint32())); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.vision.v1.ProductSearchResults.ObjectAnnotation.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -13424,6 +14293,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GroupedResult + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ProductSearchResults.GroupedResult + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GroupedResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ProductSearchResults.GroupedResult"; + }; + return GroupedResult; })(); @@ -13463,7 +14347,7 @@ }; /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|createProductSet}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef CreateProductSetCallback * @type {function} @@ -13496,7 +14380,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProductSets}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|listProductSets}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef ListProductSetsCallback * @type {function} @@ -13529,7 +14413,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|getProductSet}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef GetProductSetCallback * @type {function} @@ -13562,7 +14446,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#updateProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|updateProductSet}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef UpdateProductSetCallback * @type {function} @@ -13595,7 +14479,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|deleteProductSet}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef DeleteProductSetCallback * @type {function} @@ -13628,7 +14512,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createProduct}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|createProduct}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef CreateProductCallback * @type {function} @@ -13661,7 +14545,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProducts}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|listProducts}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef ListProductsCallback * @type {function} @@ -13694,7 +14578,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getProduct}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|getProduct}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef GetProductCallback * @type {function} @@ -13727,7 +14611,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#updateProduct}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|updateProduct}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef UpdateProductCallback * @type {function} @@ -13760,7 +14644,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteProduct}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|deleteProduct}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef DeleteProductCallback * @type {function} @@ -13793,7 +14677,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#createReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|createReferenceImage}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef CreateReferenceImageCallback * @type {function} @@ -13826,7 +14710,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#deleteReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|deleteReferenceImage}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef DeleteReferenceImageCallback * @type {function} @@ -13859,7 +14743,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listReferenceImages}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|listReferenceImages}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef ListReferenceImagesCallback * @type {function} @@ -13892,7 +14776,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#getReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|getReferenceImage}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef GetReferenceImageCallback * @type {function} @@ -13925,7 +14809,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#addProductToProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|addProductToProductSet}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef AddProductToProductSetCallback * @type {function} @@ -13958,7 +14842,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#removeProductFromProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|removeProductFromProductSet}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef RemoveProductFromProductSetCallback * @type {function} @@ -13991,7 +14875,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#listProductsInProductSet}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|listProductsInProductSet}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef ListProductsInProductSetCallback * @type {function} @@ -14024,7 +14908,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#importProductSets}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|importProductSets}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef ImportProductSetsCallback * @type {function} @@ -14057,7 +14941,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1.ProductSearch#purgeProducts}. + * Callback as used by {@link google.cloud.vision.v1.ProductSearch|purgeProducts}. * @memberof google.cloud.vision.v1.ProductSearch * @typedef PurgeProductsCallback * @type {function} @@ -14230,23 +15114,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.displayName = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.productCategory = reader.string(); - break; - case 5: - if (!(message.productLabels && message.productLabels.length)) - message.productLabels = []; - message.productLabels.push($root.google.cloud.vision.v1.Product.KeyValue.decode(reader, reader.uint32())); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.displayName = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + case 4: { + message.productCategory = reader.string(); + break; + } + case 5: { + if (!(message.productLabels && message.productLabels.length)) + message.productLabels = []; + message.productLabels.push($root.google.cloud.vision.v1.Product.KeyValue.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -14387,6 +15276,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Product + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Product + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Product.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Product"; + }; + Product.KeyValue = (function() { /** @@ -14490,12 +15394,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = reader.string(); - break; + case 1: { + message.key = reader.string(); + break; + } + case 2: { + message.value = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -14594,6 +15500,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for KeyValue + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Product.KeyValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + KeyValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Product.KeyValue"; + }; + return KeyValue; })(); @@ -14725,18 +15646,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.displayName = reader.string(); - break; - case 3: - message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.displayName = reader.string(); + break; + } + case 3: { + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 4: { + message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -14861,6 +15786,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSet + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ProductSet + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ProductSet"; + }; + return ProductSet; })(); @@ -14980,17 +15920,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.uri = reader.string(); - break; - case 3: - if (!(message.boundingPolys && message.boundingPolys.length)) - message.boundingPolys = []; - message.boundingPolys.push($root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32())); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.uri = reader.string(); + break; + } + case 3: { + if (!(message.boundingPolys && message.boundingPolys.length)) + message.boundingPolys = []; + message.boundingPolys.push($root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -15115,6 +16058,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ReferenceImage + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ReferenceImage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ReferenceImage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ReferenceImage"; + }; + return ReferenceImage; })(); @@ -15232,15 +16190,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.product = $root.google.cloud.vision.v1.Product.decode(reader, reader.uint32()); - break; - case 3: - message.productId = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.product = $root.google.cloud.vision.v1.Product.decode(reader, reader.uint32()); + break; + } + case 3: { + message.productId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -15352,6 +16313,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CreateProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.CreateProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.CreateProductRequest"; + }; + return CreateProductRequest; })(); @@ -15469,15 +16445,18 @@ 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; + 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; @@ -15584,6 +16563,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ListProductsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ListProductsRequest"; + }; + return ListProductsRequest; })(); @@ -15692,14 +16686,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.cloud.vision.v1.Product.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1.Product.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -15815,6 +16811,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ListProductsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ListProductsResponse"; + }; + return ListProductsResponse; })(); @@ -15910,9 +16921,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -16002,6 +17014,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.GetProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.GetProductRequest"; + }; + return GetProductRequest; })(); @@ -16108,12 +17135,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.product = $root.google.cloud.vision.v1.Product.decode(reader, reader.uint32()); - break; - case 2: - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); - break; + case 1: { + message.product = $root.google.cloud.vision.v1.Product.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -16222,6 +17251,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UpdateProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.UpdateProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.UpdateProductRequest"; + }; + return UpdateProductRequest; })(); @@ -16317,9 +17361,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -16409,6 +17454,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.DeleteProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.DeleteProductRequest"; + }; + return DeleteProductRequest; })(); @@ -16526,15 +17586,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.productSet = $root.google.cloud.vision.v1.ProductSet.decode(reader, reader.uint32()); - break; - case 3: - message.productSetId = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.productSet = $root.google.cloud.vision.v1.ProductSet.decode(reader, reader.uint32()); + break; + } + case 3: { + message.productSetId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -16646,6 +17709,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CreateProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.CreateProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.CreateProductSetRequest"; + }; + return CreateProductSetRequest; })(); @@ -16763,15 +17841,18 @@ 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; + 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; @@ -16878,6 +17959,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductSetsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ListProductSetsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductSetsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ListProductSetsRequest"; + }; + return ListProductSetsRequest; })(); @@ -16986,14 +18082,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.productSets && message.productSets.length)) - message.productSets = []; - message.productSets.push($root.google.cloud.vision.v1.ProductSet.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.productSets && message.productSets.length)) + message.productSets = []; + message.productSets.push($root.google.cloud.vision.v1.ProductSet.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -17109,6 +18207,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductSetsResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ListProductSetsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductSetsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ListProductSetsResponse"; + }; + return ListProductSetsResponse; })(); @@ -17204,9 +18317,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -17296,6 +18410,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.GetProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.GetProductSetRequest"; + }; + return GetProductSetRequest; })(); @@ -17402,12 +18531,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.productSet = $root.google.cloud.vision.v1.ProductSet.decode(reader, reader.uint32()); - break; - case 2: - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); - break; + case 1: { + message.productSet = $root.google.cloud.vision.v1.ProductSet.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -17516,6 +18647,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UpdateProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.UpdateProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.UpdateProductSetRequest"; + }; + return UpdateProductSetRequest; })(); @@ -17611,9 +18757,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -17703,6 +18850,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.DeleteProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.DeleteProductSetRequest"; + }; + return DeleteProductSetRequest; })(); @@ -17820,15 +18982,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.referenceImage = $root.google.cloud.vision.v1.ReferenceImage.decode(reader, reader.uint32()); - break; - case 3: - message.referenceImageId = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.referenceImage = $root.google.cloud.vision.v1.ReferenceImage.decode(reader, reader.uint32()); + break; + } + case 3: { + message.referenceImageId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -17940,6 +19105,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CreateReferenceImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.CreateReferenceImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateReferenceImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.CreateReferenceImageRequest"; + }; + return CreateReferenceImageRequest; })(); @@ -18057,15 +19237,18 @@ 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; + 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; @@ -18172,6 +19355,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListReferenceImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ListReferenceImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListReferenceImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ListReferenceImagesRequest"; + }; + return ListReferenceImagesRequest; })(); @@ -18291,17 +19489,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.referenceImages && message.referenceImages.length)) - message.referenceImages = []; - message.referenceImages.push($root.google.cloud.vision.v1.ReferenceImage.decode(reader, reader.uint32())); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1.ReferenceImage.decode(reader, reader.uint32())); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -18426,6 +19627,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListReferenceImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ListReferenceImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListReferenceImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ListReferenceImagesResponse"; + }; + return ListReferenceImagesResponse; })(); @@ -18521,9 +19737,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -18613,6 +19830,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetReferenceImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.GetReferenceImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetReferenceImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.GetReferenceImageRequest"; + }; + return GetReferenceImageRequest; })(); @@ -18708,9 +19940,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -18800,6 +20033,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteReferenceImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.DeleteReferenceImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteReferenceImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.DeleteReferenceImageRequest"; + }; + return DeleteReferenceImageRequest; })(); @@ -18906,12 +20154,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.product = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.product = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -19010,6 +20260,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AddProductToProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.AddProductToProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AddProductToProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.AddProductToProductSetRequest"; + }; + return AddProductToProductSetRequest; })(); @@ -19116,12 +20381,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.product = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.product = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -19220,6 +20487,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for RemoveProductFromProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.RemoveProductFromProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RemoveProductFromProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.RemoveProductFromProductSetRequest"; + }; + return RemoveProductFromProductSetRequest; })(); @@ -19337,15 +20619,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.pageToken = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -19452,6 +20737,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsInProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ListProductsInProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsInProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ListProductsInProductSetRequest"; + }; + return ListProductsInProductSetRequest; })(); @@ -19560,14 +20860,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.cloud.vision.v1.Product.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1.Product.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -19683,6 +20985,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsInProductSetResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ListProductsInProductSetResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsInProductSetResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ListProductsInProductSetResponse"; + }; + return ListProductsInProductSetResponse; })(); @@ -19778,9 +21095,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.csvFileUri = reader.string(); - break; + case 1: { + message.csvFileUri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -19870,6 +21188,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsGcsSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ImportProductSetsGcsSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsGcsSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ImportProductSetsGcsSource"; + }; + return ImportProductSetsGcsSource; })(); @@ -19979,9 +21312,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsSource = $root.google.cloud.vision.v1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); - break; + case 1: { + message.gcsSource = $root.google.cloud.vision.v1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -20081,6 +21415,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsInputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ImportProductSetsInputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsInputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ImportProductSetsInputConfig"; + }; + return ImportProductSetsInputConfig; })(); @@ -20187,12 +21536,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.inputConfig = $root.google.cloud.vision.v1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.inputConfig = $root.google.cloud.vision.v1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -20296,6 +21647,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ImportProductSetsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ImportProductSetsRequest"; + }; + return ImportProductSetsRequest; })(); @@ -20406,16 +21772,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.referenceImages && message.referenceImages.length)) - message.referenceImages = []; - message.referenceImages.push($root.google.cloud.vision.v1.ReferenceImage.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.statuses && message.statuses.length)) - message.statuses = []; - message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1.ReferenceImage.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.statuses && message.statuses.length)) + message.statuses = []; + message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -20548,6 +21916,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ImportProductSetsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ImportProductSetsResponse"; + }; + return ImportProductSetsResponse; })(); @@ -20665,15 +22048,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; - case 2: - message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 3: - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.state = reader.int32(); + break; + } + case 2: { + message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 3: { + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -20818,6 +22204,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchOperationMetadata + * @function getTypeUrl + * @memberof google.cloud.vision.v1.BatchOperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchOperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.BatchOperationMetadata"; + }; + /** * State enum. * @name google.cloud.vision.v1.BatchOperationMetadata.State @@ -20933,9 +22334,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.productSetId = reader.string(); - break; + case 1: { + message.productSetId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -21025,6 +22427,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSetPurgeConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1.ProductSetPurgeConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSetPurgeConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.ProductSetPurgeConfig"; + }; + return ProductSetPurgeConfig; })(); @@ -21167,18 +22584,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.productSetPurgeConfig = $root.google.cloud.vision.v1.ProductSetPurgeConfig.decode(reader, reader.uint32()); - break; - case 3: - message.deleteOrphanProducts = reader.bool(); - break; - case 1: - message.parent = reader.string(); - break; - case 4: - message.force = reader.bool(); - break; + case 2: { + message.productSetPurgeConfig = $root.google.cloud.vision.v1.ProductSetPurgeConfig.decode(reader, reader.uint32()); + break; + } + case 3: { + message.deleteOrphanProducts = reader.bool(); + break; + } + case 1: { + message.parent = reader.string(); + break; + } + case 4: { + message.force = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -21310,6 +22731,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for PurgeProductsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1.PurgeProductsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PurgeProductsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.PurgeProductsRequest"; + }; + return PurgeProductsRequest; })(); @@ -21418,14 +22854,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.pages && message.pages.length)) - message.pages = []; - message.pages.push($root.google.cloud.vision.v1.Page.decode(reader, reader.uint32())); - break; - case 2: - message.text = reader.string(); - break; + case 1: { + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1.Page.decode(reader, reader.uint32())); + break; + } + case 2: { + message.text = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -21541,6 +22979,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1.TextAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.TextAnnotation"; + }; + TextAnnotation.DetectedLanguage = (function() { /** @@ -21644,12 +23097,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.languageCode = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.languageCode = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -21748,6 +23203,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedLanguage + * @function getTypeUrl + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedLanguage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedLanguage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.TextAnnotation.DetectedLanguage"; + }; + return DetectedLanguage; })(); @@ -21854,12 +23324,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.isPrefix = reader.bool(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.isPrefix = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -21991,6 +23463,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedBreak + * @function getTypeUrl + * @memberof google.cloud.vision.v1.TextAnnotation.DetectedBreak + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedBreak.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.TextAnnotation.DetectedBreak"; + }; + /** * BreakType enum. * @name google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType @@ -22121,14 +23608,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.detectedLanguages && message.detectedLanguages.length)) - message.detectedLanguages = []; - message.detectedLanguages.push($root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); - break; - case 2: - message.detectedBreak = $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + } + case 2: { + message.detectedBreak = $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -22249,6 +23738,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextProperty + * @function getTypeUrl + * @memberof google.cloud.vision.v1.TextAnnotation.TextProperty + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextProperty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.TextAnnotation.TextProperty"; + }; + return TextProperty; })(); @@ -22393,23 +23897,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.width = reader.int32(); - break; - case 3: - message.height = reader.int32(); - break; - case 4: - if (!(message.blocks && message.blocks.length)) - message.blocks = []; - message.blocks.push($root.google.cloud.vision.v1.Block.decode(reader, reader.uint32())); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.width = reader.int32(); + break; + } + case 3: { + message.height = reader.int32(); + break; + } + case 4: { + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1.Block.decode(reader, reader.uint32())); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -22555,6 +24064,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Page + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Page + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Page.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Page"; + }; + return Page; })(); @@ -22696,23 +24220,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.paragraphs && message.paragraphs.length)) - message.paragraphs = []; - message.paragraphs.push($root.google.cloud.vision.v1.Paragraph.decode(reader, reader.uint32())); - break; - case 4: - message.blockType = reader.int32(); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1.Paragraph.decode(reader, reader.uint32())); + break; + } + case 4: { + message.blockType = reader.int32(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -22896,6 +24425,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Block + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Block + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Block.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Block"; + }; + /** * BlockType enum. * @name google.cloud.vision.v1.Block.BlockType @@ -23048,20 +24592,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.words && message.words.length)) - message.words = []; - message.words.push($root.google.cloud.vision.v1.Word.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1.Word.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -23204,6 +24752,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Paragraph + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Paragraph + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Paragraph.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Paragraph"; + }; + return Paragraph; })(); @@ -23334,20 +24897,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.symbols && message.symbols.length)) - message.symbols = []; - message.symbols.push($root.google.cloud.vision.v1.Symbol.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1.Symbol.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -23490,6 +25057,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Word + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Word + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Word.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Word"; + }; + return Word; })(); @@ -23618,18 +25200,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - message.text = reader.string(); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + message.text = reader.string(); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -23754,6 +25340,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Symbol + * @function getTypeUrl + * @memberof google.cloud.vision.v1.Symbol + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Symbol.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.Symbol"; + }; + return Symbol; })(); @@ -23916,36 +25517,42 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.webEntities && message.webEntities.length)) - message.webEntities = []; - message.webEntities.push($root.google.cloud.vision.v1.WebDetection.WebEntity.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) - message.pagesWithMatchingImages = []; - message.pagesWithMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebPage.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) - message.visuallySimilarImages = []; - message.visuallySimilarImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 8: - if (!(message.bestGuessLabels && message.bestGuessLabels.length)) - message.bestGuessLabels = []; - message.bestGuessLabels.push($root.google.cloud.vision.v1.WebDetection.WebLabel.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 8: { + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -24178,6 +25785,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetection + * @function getTypeUrl + * @memberof google.cloud.vision.v1.WebDetection + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetection.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.WebDetection"; + }; + WebDetection.WebEntity = (function() { /** @@ -24292,15 +25914,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.description = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.description = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -24407,6 +26032,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebEntity + * @function getTypeUrl + * @memberof google.cloud.vision.v1.WebDetection.WebEntity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebEntity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.WebDetection.WebEntity"; + }; + return WebEntity; })(); @@ -24513,12 +26153,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -24617,6 +26259,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebImage + * @function getTypeUrl + * @memberof google.cloud.vision.v1.WebDetection.WebImage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebImage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.WebDetection.WebImage"; + }; + return WebImage; })(); @@ -24760,25 +26417,30 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pageTitle = reader.string(); - break; - case 4: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pageTitle = reader.string(); + break; + } + case 4: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -24937,6 +26599,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebPage + * @function getTypeUrl + * @memberof google.cloud.vision.v1.WebDetection.WebPage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebPage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.WebDetection.WebPage"; + }; + return WebPage; })(); @@ -25043,12 +26720,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.label = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; + case 1: { + message.label = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -25147,6 +26826,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebLabel + * @function getTypeUrl + * @memberof google.cloud.vision.v1.WebDetection.WebLabel + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebLabel.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1.WebDetection.WebLabel"; + }; + return WebLabel; })(); @@ -25268,12 +26962,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.int32(); - break; - case 2: - message.y = reader.int32(); - break; + case 1: { + message.x = reader.int32(); + break; + } + case 2: { + message.y = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -25372,6 +27068,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Vertex + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Vertex + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Vertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Vertex"; + }; + return Vertex; })(); @@ -25469,11 +27180,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p1beta1.Vertex.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p1beta1.Vertex.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -25580,6 +27292,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BoundingPoly + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.BoundingPoly + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BoundingPoly.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.BoundingPoly"; + }; + return BoundingPoly; })(); @@ -25697,15 +27424,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); - break; - case 3: - message.z = reader.float(); - break; + case 1: { + message.x = reader.float(); + break; + } + case 2: { + message.y = reader.float(); + break; + } + case 3: { + message.z = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -25812,6 +27542,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Position + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Position + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Position.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Position"; + }; + return Position; })(); @@ -25848,7 +27593,7 @@ }; /** - * Callback as used by {@link google.cloud.vision.v1p1beta1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p1beta1.ImageAnnotator|batchAnnotateImages}. * @memberof google.cloud.vision.v1p1beta1.ImageAnnotator * @typedef BatchAnnotateImagesCallback * @type {function} @@ -25997,15 +27742,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.maxResults = reader.int32(); + break; + } + case 3: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -26170,6 +27918,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Feature + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Feature + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Feature.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Feature"; + }; + /** * Type enum. * @name google.cloud.vision.v1p1beta1.Feature.Type @@ -26308,12 +28071,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsImageUri = reader.string(); - break; - case 2: - message.imageUri = reader.string(); - break; + case 1: { + message.gcsImageUri = reader.string(); + break; + } + case 2: { + message.imageUri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -26412,6 +28177,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.ImageSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.ImageSource"; + }; + return ImageSource; })(); @@ -26518,12 +28298,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.content = reader.bytes(); - break; - case 2: - message.source = $root.google.cloud.vision.v1p1beta1.ImageSource.decode(reader, reader.uint32()); - break; + case 1: { + message.content = reader.bytes(); + break; + } + case 2: { + message.source = $root.google.cloud.vision.v1p1beta1.ImageSource.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -26585,7 +28367,7 @@ if (object.content != null) if (typeof object.content === "string") $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) + else if (object.content.length >= 0) message.content = object.content; if (object.source != null) { if (typeof object.source !== "object") @@ -26636,6 +28418,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Image + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Image + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Image.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Image"; + }; + return Image; })(); @@ -26887,53 +28684,68 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.fdBoundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + } + case 4: { + message.rollAngle = reader.float(); + break; + } + case 5: { + message.panAngle = reader.float(); + break; + } + case 6: { + message.tiltAngle = reader.float(); + break; + } + case 7: { + message.detectionConfidence = reader.float(); + break; + } + case 8: { + message.landmarkingConfidence = reader.float(); + break; + } + case 9: { + message.joyLikelihood = reader.int32(); + break; + } + case 10: { + message.sorrowLikelihood = reader.int32(); + break; + } + case 11: { + message.angerLikelihood = reader.int32(); + break; + } + case 12: { + message.surpriseLikelihood = reader.int32(); + break; + } + case 13: { + message.underExposedLikelihood = reader.int32(); + break; + } + case 14: { + message.blurredLikelihood = reader.int32(); + break; + } + case 15: { + message.headwearLikelihood = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -27395,6 +29207,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.FaceAnnotation"; + }; + FaceAnnotation.Landmark = (function() { /** @@ -27498,12 +29325,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1p1beta1.Position.decode(reader, reader.uint32()); - break; + case 3: { + message.type = reader.int32(); + break; + } + case 4: { + message.position = $root.google.cloud.vision.v1p1beta1.Position.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -27785,6 +29614,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Landmark + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Landmark.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark"; + }; + /** * Type enum. * @name google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type @@ -27963,9 +29807,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -28060,6 +29905,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LocationInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.LocationInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.LocationInfo"; + }; + return LocationInfo; })(); @@ -28177,15 +30037,18 @@ 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: - message.uint64Value = reader.uint64(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.value = reader.string(); + break; + } + case 3: { + message.uint64Value = reader.uint64(); + break; + } default: reader.skipType(tag & 7); break; @@ -28306,6 +30169,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Property + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Property + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Property.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Property"; + }; + return Property; })(); @@ -28493,37 +30371,46 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.locale = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.confidence = reader.float(); - break; - case 6: - message.topicality = reader.float(); - break; - case 7: - message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1p1beta1.LocationInfo.decode(reader, reader.uint32())); - break; - case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1p1beta1.Property.decode(reader, reader.uint32())); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.locale = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } + case 6: { + message.topicality = reader.float(); + break; + } + case 7: { + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 8: { + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p1beta1.LocationInfo.decode(reader, reader.uint32())); + break; + } + case 9: { + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p1beta1.Property.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -28719,6 +30606,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EntityAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.EntityAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EntityAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.EntityAnnotation"; + }; + return EntityAnnotation; })(); @@ -28858,21 +30760,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.adult = reader.int32(); - break; - case 2: - message.spoof = reader.int32(); - break; - case 3: - message.medical = reader.int32(); - break; - case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); - break; + case 1: { + message.adult = reader.int32(); + break; + } + case 2: { + message.spoof = reader.int32(); + break; + } + case 3: { + message.medical = reader.int32(); + break; + } + case 4: { + message.violence = reader.int32(); + break; + } + case 9: { + message.racy = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -29160,6 +31067,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SafeSearchAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.SafeSearchAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SafeSearchAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.SafeSearchAnnotation"; + }; + return SafeSearchAnnotation; })(); @@ -29266,12 +31188,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } + case 2: { + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -29380,6 +31304,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LatLongRect + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.LatLongRect + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LatLongRect.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.LatLongRect"; + }; + return LatLongRect; })(); @@ -29497,15 +31436,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pixelFraction = reader.float(); - break; + case 1: { + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pixelFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -29617,6 +31559,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ColorInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.ColorInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ColorInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.ColorInfo"; + }; + return ColorInfo; })(); @@ -29714,11 +31671,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1p1beta1.ColorInfo.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p1beta1.ColorInfo.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -29825,6 +31783,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DominantColorsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.DominantColorsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DominantColorsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.DominantColorsAnnotation"; + }; + return DominantColorsAnnotation; })(); @@ -29920,9 +31893,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); - break; + case 1: { + message.dominantColors = $root.google.cloud.vision.v1p1beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -30017,6 +31991,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageProperties + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.ImageProperties + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageProperties.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.ImageProperties"; + }; + return ImageProperties; })(); @@ -30134,15 +32123,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - message.importanceFraction = reader.float(); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + message.importanceFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -30254,6 +32246,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHint + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.CropHint + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHint.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.CropHint"; + }; + return CropHint; })(); @@ -30351,11 +32358,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1p1beta1.CropHint.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p1beta1.CropHint.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -30462,6 +32470,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.CropHintsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.CropHintsAnnotation"; + }; + return CropHintsAnnotation; })(); @@ -30562,16 +32585,17 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -30673,6 +32697,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.CropHintsParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.CropHintsParams"; + }; + return CropHintsParams; })(); @@ -30768,9 +32807,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.includeGeoResults = reader.bool(); - break; + case 2: { + message.includeGeoResults = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -30860,6 +32900,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.WebDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.WebDetectionParams"; + }; + return WebDetectionParams; })(); @@ -30968,14 +33023,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 9: - message.enableTextDetectionConfidenceScore = reader.bool(); - break; - case 11: - if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) - message.advancedOcrOptions = []; - message.advancedOcrOptions.push(reader.string()); - break; + case 9: { + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + } + case 11: { + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -31086,6 +33143,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.TextDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.TextDetectionParams"; + }; + return TextDetectionParams; })(); @@ -31227,23 +33299,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.decode(reader, reader.uint32()); - break; - case 12: - message.textDetectionParams = $root.google.cloud.vision.v1p1beta1.TextDetectionParams.decode(reader, reader.uint32()); - break; + case 1: { + message.latLongRect = $root.google.cloud.vision.v1p1beta1.LatLongRect.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + } + case 4: { + message.cropHintsParams = $root.google.cloud.vision.v1p1beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + } + case 6: { + message.webDetectionParams = $root.google.cloud.vision.v1p1beta1.WebDetectionParams.decode(reader, reader.uint32()); + break; + } + case 12: { + message.textDetectionParams = $root.google.cloud.vision.v1p1beta1.TextDetectionParams.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -31399,6 +33476,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageContext + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.ImageContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.ImageContext"; + }; + return ImageContext; })(); @@ -31518,17 +33610,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.image = $root.google.cloud.vision.v1p1beta1.Image.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p1beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.decode(reader, reader.uint32()); - break; + case 1: { + message.image = $root.google.cloud.vision.v1p1beta1.Image.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p1beta1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1p1beta1.ImageContext.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -31663,6 +33758,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.AnnotateImageRequest"; + }; + return AnnotateImageRequest; })(); @@ -31878,49 +33988,60 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.decode(reader, reader.uint32()); - break; - case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p1beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p1beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 12: { + message.fullTextAnnotation = $root.google.cloud.vision.v1p1beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + } + case 6: { + message.safeSearchAnnotation = $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + } + case 8: { + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p1beta1.ImageProperties.decode(reader, reader.uint32()); + break; + } + case 11: { + message.cropHintsAnnotation = $root.google.cloud.vision.v1p1beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + } + case 13: { + message.webDetection = $root.google.cloud.vision.v1p1beta1.WebDetection.decode(reader, reader.uint32()); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -32208,6 +34329,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.AnnotateImageResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.AnnotateImageResponse"; + }; + return AnnotateImageResponse; })(); @@ -32305,11 +34441,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p1beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -32416,6 +34553,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest"; + }; + return BatchAnnotateImagesRequest; })(); @@ -32513,11 +34665,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p1beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -32624,6 +34777,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse"; + }; + return BatchAnnotateImagesResponse; })(); @@ -32754,14 +34922,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.pages && message.pages.length)) - message.pages = []; - message.pages.push($root.google.cloud.vision.v1p1beta1.Page.decode(reader, reader.uint32())); - break; - case 2: - message.text = reader.string(); - break; + case 1: { + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p1beta1.Page.decode(reader, reader.uint32())); + break; + } + case 2: { + message.text = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -32877,6 +35047,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.TextAnnotation"; + }; + TextAnnotation.DetectedLanguage = (function() { /** @@ -32980,12 +35165,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.languageCode = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.languageCode = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -33084,6 +35271,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedLanguage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedLanguage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage"; + }; + return DetectedLanguage; })(); @@ -33190,12 +35392,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.isPrefix = reader.bool(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.isPrefix = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -33327,6 +35531,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedBreak + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedBreak.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak"; + }; + /** * BreakType enum. * @name google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType @@ -33457,14 +35676,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.detectedLanguages && message.detectedLanguages.length)) - message.detectedLanguages = []; - message.detectedLanguages.push($root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); - break; - case 2: - message.detectedBreak = $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + } + case 2: { + message.detectedBreak = $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -33585,6 +35806,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextProperty + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextProperty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty"; + }; + return TextProperty; })(); @@ -33729,23 +35965,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.width = reader.int32(); - break; - case 3: - message.height = reader.int32(); - break; - case 4: - if (!(message.blocks && message.blocks.length)) - message.blocks = []; - message.blocks.push($root.google.cloud.vision.v1p1beta1.Block.decode(reader, reader.uint32())); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.width = reader.int32(); + break; + } + case 3: { + message.height = reader.int32(); + break; + } + case 4: { + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1p1beta1.Block.decode(reader, reader.uint32())); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -33891,6 +36132,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Page + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Page + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Page.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Page"; + }; + return Page; })(); @@ -34032,23 +36288,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.paragraphs && message.paragraphs.length)) - message.paragraphs = []; - message.paragraphs.push($root.google.cloud.vision.v1p1beta1.Paragraph.decode(reader, reader.uint32())); - break; - case 4: - message.blockType = reader.int32(); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1p1beta1.Paragraph.decode(reader, reader.uint32())); + break; + } + case 4: { + message.blockType = reader.int32(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -34232,6 +36493,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Block + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Block + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Block.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Block"; + }; + /** * BlockType enum. * @name google.cloud.vision.v1p1beta1.Block.BlockType @@ -34384,20 +36660,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.words && message.words.length)) - message.words = []; - message.words.push($root.google.cloud.vision.v1p1beta1.Word.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1p1beta1.Word.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -34540,6 +36820,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Paragraph + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Paragraph + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Paragraph.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Paragraph"; + }; + return Paragraph; })(); @@ -34670,20 +36965,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.symbols && message.symbols.length)) - message.symbols = []; - message.symbols.push($root.google.cloud.vision.v1p1beta1.Symbol.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1p1beta1.Symbol.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -34826,6 +37125,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Word + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Word + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Word.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Word"; + }; + return Word; })(); @@ -34954,18 +37268,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - message.text = reader.string(); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p1beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p1beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + message.text = reader.string(); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -35090,6 +37408,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Symbol + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.Symbol + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Symbol.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.Symbol"; + }; + return Symbol; })(); @@ -35252,36 +37585,42 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.webEntities && message.webEntities.length)) - message.webEntities = []; - message.webEntities.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) - message.pagesWithMatchingImages = []; - message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebPage.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) - message.visuallySimilarImages = []; - message.visuallySimilarImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 8: - if (!(message.bestGuessLabels && message.bestGuessLabels.length)) - message.bestGuessLabels = []; - message.bestGuessLabels.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 8: { + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -35514,6 +37853,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetection + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.WebDetection + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetection.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.WebDetection"; + }; + WebDetection.WebEntity = (function() { /** @@ -35628,15 +37982,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.description = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.description = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -35743,6 +38100,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebEntity + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebEntity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebEntity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.WebDetection.WebEntity"; + }; + return WebEntity; })(); @@ -35849,12 +38221,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -35953,6 +38327,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebImage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebImage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebImage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.WebDetection.WebImage"; + }; + return WebImage; })(); @@ -36096,25 +38485,30 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pageTitle = reader.string(); - break; - case 4: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pageTitle = reader.string(); + break; + } + case 4: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p1beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -36273,6 +38667,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebPage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebPage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebPage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.WebDetection.WebPage"; + }; + return WebPage; })(); @@ -36379,12 +38788,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.label = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; + case 1: { + message.label = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -36483,6 +38894,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebLabel + * @function getTypeUrl + * @memberof google.cloud.vision.v1p1beta1.WebDetection.WebLabel + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebLabel.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p1beta1.WebDetection.WebLabel"; + }; + return WebLabel; })(); @@ -36604,12 +39030,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.int32(); - break; - case 2: - message.y = reader.int32(); - break; + case 1: { + message.x = reader.int32(); + break; + } + case 2: { + message.y = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -36708,6 +39136,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Vertex + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Vertex + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Vertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Vertex"; + }; + return Vertex; })(); @@ -36814,12 +39257,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); - break; + case 1: { + message.x = reader.float(); + break; + } + case 2: { + message.y = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -36918,6 +39363,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedVertex + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.NormalizedVertex + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedVertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.NormalizedVertex"; + }; + return NormalizedVertex; })(); @@ -37028,16 +39488,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p2beta1.Vertex.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.normalizedVertices && message.normalizedVertices.length)) - message.normalizedVertices = []; - message.normalizedVertices.push($root.google.cloud.vision.v1p2beta1.NormalizedVertex.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p2beta1.Vertex.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p2beta1.NormalizedVertex.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -37170,6 +39632,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BoundingPoly + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.BoundingPoly + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BoundingPoly.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.BoundingPoly"; + }; + return BoundingPoly; })(); @@ -37287,15 +39764,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); - break; - case 3: - message.z = reader.float(); - break; + case 1: { + message.x = reader.float(); + break; + } + case 2: { + message.y = reader.float(); + break; + } + case 3: { + message.z = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -37402,6 +39882,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Position + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Position + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Position.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Position"; + }; + return Position; })(); @@ -37438,7 +39933,7 @@ }; /** - * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator|batchAnnotateImages}. * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator * @typedef BatchAnnotateImagesCallback * @type {function} @@ -37471,7 +39966,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1p2beta1.ImageAnnotator|asyncBatchAnnotateFiles}. * @memberof google.cloud.vision.v1p2beta1.ImageAnnotator * @typedef AsyncBatchAnnotateFilesCallback * @type {function} @@ -37620,15 +40115,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.maxResults = reader.int32(); + break; + } + case 3: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -37793,6 +40291,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Feature + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Feature + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Feature.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Feature"; + }; + /** * Type enum. * @name google.cloud.vision.v1p2beta1.Feature.Type @@ -37931,12 +40444,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsImageUri = reader.string(); - break; - case 2: - message.imageUri = reader.string(); - break; + case 1: { + message.gcsImageUri = reader.string(); + break; + } + case 2: { + message.imageUri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -38035,6 +40550,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.ImageSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.ImageSource"; + }; + return ImageSource; })(); @@ -38141,12 +40671,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.content = reader.bytes(); - break; - case 2: - message.source = $root.google.cloud.vision.v1p2beta1.ImageSource.decode(reader, reader.uint32()); - break; + case 1: { + message.content = reader.bytes(); + break; + } + case 2: { + message.source = $root.google.cloud.vision.v1p2beta1.ImageSource.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -38208,7 +40740,7 @@ if (object.content != null) if (typeof object.content === "string") $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) + else if (object.content.length >= 0) message.content = object.content; if (object.source != null) { if (typeof object.source !== "object") @@ -38259,6 +40791,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Image + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Image + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Image.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Image"; + }; + return Image; })(); @@ -38510,53 +41057,68 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.fdBoundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + } + case 4: { + message.rollAngle = reader.float(); + break; + } + case 5: { + message.panAngle = reader.float(); + break; + } + case 6: { + message.tiltAngle = reader.float(); + break; + } + case 7: { + message.detectionConfidence = reader.float(); + break; + } + case 8: { + message.landmarkingConfidence = reader.float(); + break; + } + case 9: { + message.joyLikelihood = reader.int32(); + break; + } + case 10: { + message.sorrowLikelihood = reader.int32(); + break; + } + case 11: { + message.angerLikelihood = reader.int32(); + break; + } + case 12: { + message.surpriseLikelihood = reader.int32(); + break; + } + case 13: { + message.underExposedLikelihood = reader.int32(); + break; + } + case 14: { + message.blurredLikelihood = reader.int32(); + break; + } + case 15: { + message.headwearLikelihood = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -39018,6 +41580,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.FaceAnnotation"; + }; + FaceAnnotation.Landmark = (function() { /** @@ -39121,12 +41698,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1p2beta1.Position.decode(reader, reader.uint32()); - break; + case 3: { + message.type = reader.int32(); + break; + } + case 4: { + message.position = $root.google.cloud.vision.v1p2beta1.Position.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -39408,6 +41987,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Landmark + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Landmark.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark"; + }; + /** * Type enum. * @name google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type @@ -39586,9 +42180,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -39683,6 +42278,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LocationInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.LocationInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.LocationInfo"; + }; + return LocationInfo; })(); @@ -39800,15 +42410,18 @@ 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: - message.uint64Value = reader.uint64(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.value = reader.string(); + break; + } + case 3: { + message.uint64Value = reader.uint64(); + break; + } default: reader.skipType(tag & 7); break; @@ -39929,6 +42542,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Property + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Property + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Property.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Property"; + }; + return Property; })(); @@ -40116,37 +42744,46 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.locale = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.confidence = reader.float(); - break; - case 6: - message.topicality = reader.float(); - break; - case 7: - message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1p2beta1.LocationInfo.decode(reader, reader.uint32())); - break; - case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1p2beta1.Property.decode(reader, reader.uint32())); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.locale = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } + case 6: { + message.topicality = reader.float(); + break; + } + case 7: { + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 8: { + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p2beta1.LocationInfo.decode(reader, reader.uint32())); + break; + } + case 9: { + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p2beta1.Property.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -40342,6 +42979,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EntityAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.EntityAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EntityAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.EntityAnnotation"; + }; + return EntityAnnotation; })(); @@ -40481,21 +43133,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.adult = reader.int32(); - break; - case 2: - message.spoof = reader.int32(); - break; - case 3: - message.medical = reader.int32(); - break; - case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); - break; + case 1: { + message.adult = reader.int32(); + break; + } + case 2: { + message.spoof = reader.int32(); + break; + } + case 3: { + message.medical = reader.int32(); + break; + } + case 4: { + message.violence = reader.int32(); + break; + } + case 9: { + message.racy = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -40783,6 +43440,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SafeSearchAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.SafeSearchAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SafeSearchAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.SafeSearchAnnotation"; + }; + return SafeSearchAnnotation; })(); @@ -40889,12 +43561,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } + case 2: { + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -41003,6 +43677,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LatLongRect + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.LatLongRect + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LatLongRect.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.LatLongRect"; + }; + return LatLongRect; })(); @@ -41120,15 +43809,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pixelFraction = reader.float(); - break; + case 1: { + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pixelFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -41240,6 +43932,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ColorInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.ColorInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ColorInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.ColorInfo"; + }; + return ColorInfo; })(); @@ -41337,11 +44044,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1p2beta1.ColorInfo.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p2beta1.ColorInfo.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -41448,6 +44156,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DominantColorsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.DominantColorsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DominantColorsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.DominantColorsAnnotation"; + }; + return DominantColorsAnnotation; })(); @@ -41543,9 +44266,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); - break; + case 1: { + message.dominantColors = $root.google.cloud.vision.v1p2beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -41640,6 +44364,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageProperties + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.ImageProperties + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageProperties.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.ImageProperties"; + }; + return ImageProperties; })(); @@ -41757,15 +44496,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - message.importanceFraction = reader.float(); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + message.importanceFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -41877,6 +44619,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHint + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.CropHint + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHint.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.CropHint"; + }; + return CropHint; })(); @@ -41974,11 +44731,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1p2beta1.CropHint.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p2beta1.CropHint.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -42085,6 +44843,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.CropHintsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.CropHintsAnnotation"; + }; + return CropHintsAnnotation; })(); @@ -42185,16 +44958,17 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -42296,6 +45070,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.CropHintsParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.CropHintsParams"; + }; + return CropHintsParams; })(); @@ -42391,9 +45180,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.includeGeoResults = reader.bool(); - break; + case 2: { + message.includeGeoResults = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -42483,6 +45273,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.WebDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.WebDetectionParams"; + }; + return WebDetectionParams; })(); @@ -42591,14 +45396,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 9: - message.enableTextDetectionConfidenceScore = reader.bool(); - break; - case 11: - if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) - message.advancedOcrOptions = []; - message.advancedOcrOptions.push(reader.string()); - break; + case 9: { + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + } + case 11: { + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -42709,6 +45516,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.TextDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.TextDetectionParams"; + }; + return TextDetectionParams; })(); @@ -42850,23 +45672,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.decode(reader, reader.uint32()); - break; - case 12: - message.textDetectionParams = $root.google.cloud.vision.v1p2beta1.TextDetectionParams.decode(reader, reader.uint32()); - break; + case 1: { + message.latLongRect = $root.google.cloud.vision.v1p2beta1.LatLongRect.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + } + case 4: { + message.cropHintsParams = $root.google.cloud.vision.v1p2beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + } + case 6: { + message.webDetectionParams = $root.google.cloud.vision.v1p2beta1.WebDetectionParams.decode(reader, reader.uint32()); + break; + } + case 12: { + message.textDetectionParams = $root.google.cloud.vision.v1p2beta1.TextDetectionParams.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -43022,6 +45849,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageContext + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.ImageContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.ImageContext"; + }; + return ImageContext; })(); @@ -43141,17 +45983,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.image = $root.google.cloud.vision.v1p2beta1.Image.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p2beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.decode(reader, reader.uint32()); - break; + case 1: { + message.image = $root.google.cloud.vision.v1p2beta1.Image.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p2beta1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -43286,6 +46131,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.AnnotateImageRequest"; + }; + return AnnotateImageRequest; })(); @@ -43392,12 +46252,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; - case 2: - message.pageNumber = reader.int32(); - break; + case 1: { + message.uri = reader.string(); + break; + } + case 2: { + message.pageNumber = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -43496,6 +46358,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageAnnotationContext + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.ImageAnnotationContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageAnnotationContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.ImageAnnotationContext"; + }; + return ImageAnnotationContext; })(); @@ -43722,52 +46599,64 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.decode(reader, reader.uint32()); - break; - case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 21: - message.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p2beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p2beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 12: { + message.fullTextAnnotation = $root.google.cloud.vision.v1p2beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + } + case 6: { + message.safeSearchAnnotation = $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + } + case 8: { + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p2beta1.ImageProperties.decode(reader, reader.uint32()); + break; + } + case 11: { + message.cropHintsAnnotation = $root.google.cloud.vision.v1p2beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + } + case 13: { + message.webDetection = $root.google.cloud.vision.v1p2beta1.WebDetection.decode(reader, reader.uint32()); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } + case 21: { + message.context = $root.google.cloud.vision.v1p2beta1.ImageAnnotationContext.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -44068,6 +46957,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.AnnotateImageResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.AnnotateImageResponse"; + }; + return AnnotateImageResponse; })(); @@ -44176,14 +47080,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; + case 1: { + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -44304,6 +47210,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateFileResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.AnnotateFileResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateFileResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.AnnotateFileResponse"; + }; + return AnnotateFileResponse; })(); @@ -44401,11 +47322,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p2beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -44512,6 +47434,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest"; + }; + return BatchAnnotateImagesRequest; })(); @@ -44609,11 +47546,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p2beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -44720,6 +47658,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse"; + }; + return BatchAnnotateImagesResponse; })(); @@ -44850,20 +47803,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p2beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.inputConfig = $root.google.cloud.vision.v1p2beta1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p2beta1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1p2beta1.ImageContext.decode(reader, reader.uint32()); + break; + } + case 4: { + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -45011,6 +47968,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncAnnotateFileRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncAnnotateFileRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest"; + }; + return AsyncAnnotateFileRequest; })(); @@ -45106,9 +48078,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.outputConfig = $root.google.cloud.vision.v1p2beta1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -45203,6 +48176,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncAnnotateFileResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncAnnotateFileResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse"; + }; + return AsyncAnnotateFileResponse; })(); @@ -45300,11 +48288,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -45411,6 +48400,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateFilesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateFilesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest"; + }; + return AsyncBatchAnnotateFilesRequest; })(); @@ -45508,11 +48512,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p2beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -45619,6 +48624,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateFilesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateFilesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse"; + }; + return AsyncBatchAnnotateFilesResponse; })(); @@ -45725,12 +48745,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.decode(reader, reader.uint32()); - break; - case 2: - message.mimeType = reader.string(); - break; + case 1: { + message.gcsSource = $root.google.cloud.vision.v1p2beta1.GcsSource.decode(reader, reader.uint32()); + break; + } + case 2: { + message.mimeType = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -45834,6 +48856,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for InputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.InputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + InputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.InputConfig"; + }; + return InputConfig; })(); @@ -45940,12 +48977,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.decode(reader, reader.uint32()); - break; - case 2: - message.batchSize = reader.int32(); - break; + case 1: { + message.gcsDestination = $root.google.cloud.vision.v1p2beta1.GcsDestination.decode(reader, reader.uint32()); + break; + } + case 2: { + message.batchSize = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -46049,6 +49088,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OutputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.OutputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OutputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.OutputConfig"; + }; + return OutputConfig; })(); @@ -46144,9 +49198,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; + case 1: { + message.uri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -46236,6 +49291,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GcsSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.GcsSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GcsSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.GcsSource"; + }; + return GcsSource; })(); @@ -46331,9 +49401,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; + case 1: { + message.uri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -46423,6 +49494,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GcsDestination + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.GcsDestination + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GcsDestination.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.GcsDestination"; + }; + return GcsDestination; })(); @@ -46540,15 +49626,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; - case 5: - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 6: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.state = reader.int32(); + break; + } + case 5: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 6: { + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -46693,6 +49782,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OperationMetadata + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.OperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.OperationMetadata"; + }; + /** * State enum. * @name google.cloud.vision.v1p2beta1.OperationMetadata.State @@ -46843,14 +49947,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.pages && message.pages.length)) - message.pages = []; - message.pages.push($root.google.cloud.vision.v1p2beta1.Page.decode(reader, reader.uint32())); - break; - case 2: - message.text = reader.string(); - break; + case 1: { + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p2beta1.Page.decode(reader, reader.uint32())); + break; + } + case 2: { + message.text = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -46966,6 +50072,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.TextAnnotation"; + }; + TextAnnotation.DetectedLanguage = (function() { /** @@ -47069,12 +50190,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.languageCode = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.languageCode = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -47173,6 +50296,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedLanguage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedLanguage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage"; + }; + return DetectedLanguage; })(); @@ -47279,12 +50417,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.isPrefix = reader.bool(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.isPrefix = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -47416,6 +50556,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedBreak + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedBreak.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak"; + }; + /** * BreakType enum. * @name google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType @@ -47546,14 +50701,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.detectedLanguages && message.detectedLanguages.length)) - message.detectedLanguages = []; - message.detectedLanguages.push($root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); - break; - case 2: - message.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + } + case 2: { + message.detectedBreak = $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -47674,6 +50831,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextProperty + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextProperty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty"; + }; + return TextProperty; })(); @@ -47818,23 +50990,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.width = reader.int32(); - break; - case 3: - message.height = reader.int32(); - break; - case 4: - if (!(message.blocks && message.blocks.length)) - message.blocks = []; - message.blocks.push($root.google.cloud.vision.v1p2beta1.Block.decode(reader, reader.uint32())); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.width = reader.int32(); + break; + } + case 3: { + message.height = reader.int32(); + break; + } + case 4: { + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1p2beta1.Block.decode(reader, reader.uint32())); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -47980,6 +51157,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Page + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Page + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Page.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Page"; + }; + return Page; })(); @@ -48121,23 +51313,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.paragraphs && message.paragraphs.length)) - message.paragraphs = []; - message.paragraphs.push($root.google.cloud.vision.v1p2beta1.Paragraph.decode(reader, reader.uint32())); - break; - case 4: - message.blockType = reader.int32(); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1p2beta1.Paragraph.decode(reader, reader.uint32())); + break; + } + case 4: { + message.blockType = reader.int32(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -48321,6 +51518,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Block + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Block + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Block.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Block"; + }; + /** * BlockType enum. * @name google.cloud.vision.v1p2beta1.Block.BlockType @@ -48473,20 +51685,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.words && message.words.length)) - message.words = []; - message.words.push($root.google.cloud.vision.v1p2beta1.Word.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1p2beta1.Word.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -48629,6 +51845,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Paragraph + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Paragraph + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Paragraph.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Paragraph"; + }; + return Paragraph; })(); @@ -48759,20 +51990,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.symbols && message.symbols.length)) - message.symbols = []; - message.symbols.push($root.google.cloud.vision.v1p2beta1.Symbol.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1p2beta1.Symbol.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -48915,6 +52150,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Word + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Word + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Word.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Word"; + }; + return Word; })(); @@ -49043,18 +52293,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - message.text = reader.string(); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p2beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p2beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + message.text = reader.string(); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -49179,6 +52433,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Symbol + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.Symbol + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Symbol.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.Symbol"; + }; + return Symbol; })(); @@ -49341,36 +52610,42 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.webEntities && message.webEntities.length)) - message.webEntities = []; - message.webEntities.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) - message.pagesWithMatchingImages = []; - message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) - message.visuallySimilarImages = []; - message.visuallySimilarImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 8: - if (!(message.bestGuessLabels && message.bestGuessLabels.length)) - message.bestGuessLabels = []; - message.bestGuessLabels.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 8: { + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -49603,6 +52878,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetection + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.WebDetection + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetection.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.WebDetection"; + }; + WebDetection.WebEntity = (function() { /** @@ -49717,15 +53007,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.description = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.description = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -49832,6 +53125,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebEntity + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebEntity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebEntity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.WebDetection.WebEntity"; + }; + return WebEntity; })(); @@ -49938,12 +53246,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -50042,6 +53352,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebImage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebImage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebImage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.WebDetection.WebImage"; + }; + return WebImage; })(); @@ -50185,25 +53510,30 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pageTitle = reader.string(); - break; - case 4: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pageTitle = reader.string(); + break; + } + case 4: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p2beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -50362,6 +53692,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebPage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebPage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebPage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.WebDetection.WebPage"; + }; + return WebPage; })(); @@ -50468,12 +53813,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.label = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; + case 1: { + message.label = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -50572,6 +53919,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebLabel + * @function getTypeUrl + * @memberof google.cloud.vision.v1p2beta1.WebDetection.WebLabel + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebLabel.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p2beta1.WebDetection.WebLabel"; + }; + return WebLabel; })(); @@ -50693,12 +54055,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.int32(); - break; - case 2: - message.y = reader.int32(); - break; + case 1: { + message.x = reader.int32(); + break; + } + case 2: { + message.y = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -50797,6 +54161,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Vertex + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Vertex + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Vertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Vertex"; + }; + return Vertex; })(); @@ -50903,12 +54282,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); - break; + case 1: { + message.x = reader.float(); + break; + } + case 2: { + message.y = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -51007,6 +54388,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedVertex + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.NormalizedVertex + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedVertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.NormalizedVertex"; + }; + return NormalizedVertex; })(); @@ -51117,16 +54513,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p3beta1.Vertex.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.normalizedVertices && message.normalizedVertices.length)) - message.normalizedVertices = []; - message.normalizedVertices.push($root.google.cloud.vision.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p3beta1.Vertex.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p3beta1.NormalizedVertex.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -51259,6 +54657,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BoundingPoly + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.BoundingPoly + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BoundingPoly.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.BoundingPoly"; + }; + return BoundingPoly; })(); @@ -51376,15 +54789,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); - break; - case 3: - message.z = reader.float(); - break; + case 1: { + message.x = reader.float(); + break; + } + case 2: { + message.y = reader.float(); + break; + } + case 3: { + message.z = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -51491,6 +54907,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Position + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Position + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Position.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Position"; + }; + return Position; })(); @@ -51527,7 +54958,7 @@ }; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator|batchAnnotateImages}. * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator * @typedef BatchAnnotateImagesCallback * @type {function} @@ -51560,7 +54991,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ImageAnnotator|asyncBatchAnnotateFiles}. * @memberof google.cloud.vision.v1p3beta1.ImageAnnotator * @typedef AsyncBatchAnnotateFilesCallback * @type {function} @@ -51709,15 +55140,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.maxResults = reader.int32(); + break; + } + case 3: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -51892,6 +55326,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Feature + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Feature + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Feature.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Feature"; + }; + /** * Type enum. * @name google.cloud.vision.v1p3beta1.Feature.Type @@ -52034,12 +55483,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsImageUri = reader.string(); - break; - case 2: - message.imageUri = reader.string(); - break; + case 1: { + message.gcsImageUri = reader.string(); + break; + } + case 2: { + message.imageUri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -52138,6 +55589,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ImageSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ImageSource"; + }; + return ImageSource; })(); @@ -52244,12 +55710,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.content = reader.bytes(); - break; - case 2: - message.source = $root.google.cloud.vision.v1p3beta1.ImageSource.decode(reader, reader.uint32()); - break; + case 1: { + message.content = reader.bytes(); + break; + } + case 2: { + message.source = $root.google.cloud.vision.v1p3beta1.ImageSource.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -52311,7 +55779,7 @@ if (object.content != null) if (typeof object.content === "string") $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) + else if (object.content.length >= 0) message.content = object.content; if (object.source != null) { if (typeof object.source !== "object") @@ -52362,6 +55830,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Image + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Image + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Image.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Image"; + }; + return Image; })(); @@ -52613,53 +56096,68 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.fdBoundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + } + case 4: { + message.rollAngle = reader.float(); + break; + } + case 5: { + message.panAngle = reader.float(); + break; + } + case 6: { + message.tiltAngle = reader.float(); + break; + } + case 7: { + message.detectionConfidence = reader.float(); + break; + } + case 8: { + message.landmarkingConfidence = reader.float(); + break; + } + case 9: { + message.joyLikelihood = reader.int32(); + break; + } + case 10: { + message.sorrowLikelihood = reader.int32(); + break; + } + case 11: { + message.angerLikelihood = reader.int32(); + break; + } + case 12: { + message.surpriseLikelihood = reader.int32(); + break; + } + case 13: { + message.underExposedLikelihood = reader.int32(); + break; + } + case 14: { + message.blurredLikelihood = reader.int32(); + break; + } + case 15: { + message.headwearLikelihood = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -53121,6 +56619,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.FaceAnnotation"; + }; + FaceAnnotation.Landmark = (function() { /** @@ -53224,12 +56737,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1p3beta1.Position.decode(reader, reader.uint32()); - break; + case 3: { + message.type = reader.int32(); + break; + } + case 4: { + message.position = $root.google.cloud.vision.v1p3beta1.Position.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -53511,6 +57026,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Landmark + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Landmark.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark"; + }; + /** * Type enum. * @name google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type @@ -53689,9 +57219,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -53786,6 +57317,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LocationInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.LocationInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.LocationInfo"; + }; + return LocationInfo; })(); @@ -53903,15 +57449,18 @@ 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: - message.uint64Value = reader.uint64(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.value = reader.string(); + break; + } + case 3: { + message.uint64Value = reader.uint64(); + break; + } default: reader.skipType(tag & 7); break; @@ -54032,6 +57581,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Property + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Property + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Property.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Property"; + }; + return Property; })(); @@ -54219,37 +57783,46 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.locale = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.confidence = reader.float(); - break; - case 6: - message.topicality = reader.float(); - break; - case 7: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1p3beta1.LocationInfo.decode(reader, reader.uint32())); - break; - case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1p3beta1.Property.decode(reader, reader.uint32())); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.locale = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } + case 6: { + message.topicality = reader.float(); + break; + } + case 7: { + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 8: { + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p3beta1.LocationInfo.decode(reader, reader.uint32())); + break; + } + case 9: { + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p3beta1.Property.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -54445,6 +58018,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EntityAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.EntityAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EntityAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.EntityAnnotation"; + }; + return EntityAnnotation; })(); @@ -54584,21 +58172,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; - case 3: - message.name = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } + case 3: { + message.name = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } + case 5: { + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -54726,6 +58319,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LocalizedObjectAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocalizedObjectAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation"; + }; + return LocalizedObjectAnnotation; })(); @@ -54865,21 +58473,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.adult = reader.int32(); - break; - case 2: - message.spoof = reader.int32(); - break; - case 3: - message.medical = reader.int32(); - break; - case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); - break; + case 1: { + message.adult = reader.int32(); + break; + } + case 2: { + message.spoof = reader.int32(); + break; + } + case 3: { + message.medical = reader.int32(); + break; + } + case 4: { + message.violence = reader.int32(); + break; + } + case 9: { + message.racy = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -55167,6 +58780,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SafeSearchAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.SafeSearchAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SafeSearchAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.SafeSearchAnnotation"; + }; + return SafeSearchAnnotation; })(); @@ -55273,12 +58901,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } + case 2: { + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -55387,6 +59017,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LatLongRect + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.LatLongRect + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LatLongRect.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.LatLongRect"; + }; + return LatLongRect; })(); @@ -55504,15 +59149,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pixelFraction = reader.float(); - break; + case 1: { + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pixelFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -55624,6 +59272,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ColorInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ColorInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ColorInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ColorInfo"; + }; + return ColorInfo; })(); @@ -55721,11 +59384,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1p3beta1.ColorInfo.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p3beta1.ColorInfo.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -55832,6 +59496,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DominantColorsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.DominantColorsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DominantColorsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.DominantColorsAnnotation"; + }; + return DominantColorsAnnotation; })(); @@ -55927,9 +59606,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); - break; + case 1: { + message.dominantColors = $root.google.cloud.vision.v1p3beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -56024,6 +59704,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageProperties + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ImageProperties + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageProperties.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ImageProperties"; + }; + return ImageProperties; })(); @@ -56141,15 +59836,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - message.importanceFraction = reader.float(); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + message.importanceFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -56261,6 +59959,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHint + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.CropHint + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHint.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.CropHint"; + }; + return CropHint; })(); @@ -56358,11 +60071,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1p3beta1.CropHint.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p3beta1.CropHint.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -56469,6 +60183,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.CropHintsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.CropHintsAnnotation"; + }; + return CropHintsAnnotation; })(); @@ -56569,16 +60298,17 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -56680,6 +60410,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.CropHintsParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.CropHintsParams"; + }; + return CropHintsParams; })(); @@ -56775,9 +60520,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.includeGeoResults = reader.bool(); - break; + case 2: { + message.includeGeoResults = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -56867,6 +60613,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.WebDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.WebDetectionParams"; + }; + return WebDetectionParams; })(); @@ -56975,14 +60736,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 9: - message.enableTextDetectionConfidenceScore = reader.bool(); - break; - case 11: - if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) - message.advancedOcrOptions = []; - message.advancedOcrOptions.push(reader.string()); - break; + case 9: { + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + } + case 11: { + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -57093,6 +60856,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.TextDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.TextDetectionParams"; + }; + return TextDetectionParams; })(); @@ -57245,26 +61023,32 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 5: - message.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.decode(reader, reader.uint32()); - break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.decode(reader, reader.uint32()); - break; - case 12: - message.textDetectionParams = $root.google.cloud.vision.v1p3beta1.TextDetectionParams.decode(reader, reader.uint32()); - break; + case 1: { + message.latLongRect = $root.google.cloud.vision.v1p3beta1.LatLongRect.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + } + case 4: { + message.cropHintsParams = $root.google.cloud.vision.v1p3beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + } + case 5: { + message.productSearchParams = $root.google.cloud.vision.v1p3beta1.ProductSearchParams.decode(reader, reader.uint32()); + break; + } + case 6: { + message.webDetectionParams = $root.google.cloud.vision.v1p3beta1.WebDetectionParams.decode(reader, reader.uint32()); + break; + } + case 12: { + message.textDetectionParams = $root.google.cloud.vision.v1p3beta1.TextDetectionParams.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -57433,6 +61217,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageContext + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ImageContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ImageContext"; + }; + return ImageContext; })(); @@ -57552,17 +61351,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.image = $root.google.cloud.vision.v1p3beta1.Image.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); - break; + case 1: { + message.image = $root.google.cloud.vision.v1p3beta1.Image.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -57697,6 +61499,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.AnnotateImageRequest"; + }; + return AnnotateImageRequest; })(); @@ -57803,12 +61620,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; - case 2: - message.pageNumber = reader.int32(); - break; + case 1: { + message.uri = reader.string(); + break; + } + case 2: { + message.pageNumber = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -57907,6 +61726,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageAnnotationContext + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ImageAnnotationContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageAnnotationContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ImageAnnotationContext"; + }; + return ImageAnnotationContext; })(); @@ -58157,60 +61991,74 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 22: - if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) - message.localizedObjectAnnotations = []; - message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.decode(reader, reader.uint32()); - break; - case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.decode(reader, reader.uint32()); - break; - case 14: - message.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 21: - message.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p3beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 22: { + if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) + message.localizedObjectAnnotations = []; + message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p3beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p3beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 12: { + message.fullTextAnnotation = $root.google.cloud.vision.v1p3beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + } + case 6: { + message.safeSearchAnnotation = $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + } + case 8: { + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p3beta1.ImageProperties.decode(reader, reader.uint32()); + break; + } + case 11: { + message.cropHintsAnnotation = $root.google.cloud.vision.v1p3beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + } + case 13: { + message.webDetection = $root.google.cloud.vision.v1p3beta1.WebDetection.decode(reader, reader.uint32()); + break; + } + case 14: { + message.productSearchResults = $root.google.cloud.vision.v1p3beta1.ProductSearchResults.decode(reader, reader.uint32()); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } + case 21: { + message.context = $root.google.cloud.vision.v1p3beta1.ImageAnnotationContext.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -58549,6 +62397,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.AnnotateImageResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.AnnotateImageResponse"; + }; + return AnnotateImageResponse; })(); @@ -58657,14 +62520,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; + case 1: { + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -58785,6 +62650,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateFileResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.AnnotateFileResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateFileResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.AnnotateFileResponse"; + }; + return AnnotateFileResponse; })(); @@ -58882,11 +62762,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p3beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -58993,6 +62874,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest"; + }; + return BatchAnnotateImagesRequest; })(); @@ -59090,11 +62986,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p3beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -59201,6 +63098,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse"; + }; + return BatchAnnotateImagesResponse; })(); @@ -59331,20 +63243,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.inputConfig = $root.google.cloud.vision.v1p3beta1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p3beta1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1p3beta1.ImageContext.decode(reader, reader.uint32()); + break; + } + case 4: { + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -59492,6 +63408,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncAnnotateFileRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncAnnotateFileRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest"; + }; + return AsyncAnnotateFileRequest; })(); @@ -59587,9 +63518,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.outputConfig = $root.google.cloud.vision.v1p3beta1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -59684,6 +63616,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncAnnotateFileResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncAnnotateFileResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse"; + }; + return AsyncAnnotateFileResponse; })(); @@ -59781,11 +63728,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -59892,6 +63840,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateFilesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateFilesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest"; + }; + return AsyncBatchAnnotateFilesRequest; })(); @@ -59989,11 +63952,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p3beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -60100,6 +64064,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateFilesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateFilesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesResponse"; + }; + return AsyncBatchAnnotateFilesResponse; })(); @@ -60206,12 +64185,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.decode(reader, reader.uint32()); - break; - case 2: - message.mimeType = reader.string(); - break; + case 1: { + message.gcsSource = $root.google.cloud.vision.v1p3beta1.GcsSource.decode(reader, reader.uint32()); + break; + } + case 2: { + message.mimeType = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -60315,6 +64296,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for InputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.InputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + InputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.InputConfig"; + }; + return InputConfig; })(); @@ -60421,12 +64417,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.decode(reader, reader.uint32()); - break; - case 2: - message.batchSize = reader.int32(); - break; + case 1: { + message.gcsDestination = $root.google.cloud.vision.v1p3beta1.GcsDestination.decode(reader, reader.uint32()); + break; + } + case 2: { + message.batchSize = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -60530,6 +64528,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OutputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.OutputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OutputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.OutputConfig"; + }; + return OutputConfig; })(); @@ -60625,9 +64638,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; + case 1: { + message.uri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -60717,6 +64731,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GcsSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.GcsSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GcsSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.GcsSource"; + }; + return GcsSource; })(); @@ -60812,9 +64841,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; + case 1: { + message.uri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -60904,6 +64934,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GcsDestination + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.GcsDestination + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GcsDestination.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.GcsDestination"; + }; + return GcsDestination; })(); @@ -61043,15 +65088,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; - case 5: - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 6: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.state = reader.int32(); + break; + } + case 5: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 6: { + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -61196,6 +65244,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OperationMetadata + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.OperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.OperationMetadata"; + }; + /** * State enum. * @name google.cloud.vision.v1p3beta1.OperationMetadata.State @@ -61346,20 +65409,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 9: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 6: - message.productSet = reader.string(); - break; - case 7: - if (!(message.productCategories && message.productCategories.length)) - message.productCategories = []; - message.productCategories.push(reader.string()); - break; - case 8: - message.filter = reader.string(); - break; + case 9: { + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 6: { + message.productSet = reader.string(); + break; + } + case 7: { + if (!(message.productCategories && message.productCategories.length)) + message.productCategories = []; + message.productCategories.push(reader.string()); + break; + } + case 8: { + message.filter = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -61492,6 +65559,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSearchParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ProductSearchParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSearchParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ProductSearchParams"; + }; + return ProductSearchParams; })(); @@ -61613,19 +65695,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - if (!(message.results && message.results.length)) - message.results = []; - message.results.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.productGroupedResults && message.productGroupedResults.length)) - message.productGroupedResults = []; - message.productGroupedResults.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); - break; + case 2: { + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 5: { + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.productGroupedResults && message.productGroupedResults.length)) + message.productGroupedResults = []; + message.productGroupedResults.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -61772,6 +65857,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSearchResults + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSearchResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ProductSearchResults"; + }; + ProductSearchResults.Result = (function() { /** @@ -61886,15 +65986,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.product = $root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.image = reader.string(); - break; + case 1: { + message.product = $root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32()); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.image = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -62006,6 +66109,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Result + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.Result + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Result.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ProductSearchResults.Result"; + }; + return Result; })(); @@ -62134,18 +66252,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; - case 3: - message.name = reader.string(); - break; - case 4: - message.score = reader.float(); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } + case 3: { + message.name = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -62260,6 +66382,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation"; + }; + return ObjectAnnotation; })(); @@ -62381,19 +66518,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.results && message.results.length)) - message.results = []; - message.results.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.objectAnnotations && message.objectAnnotations.length)) - message.objectAnnotations = []; - message.objectAnnotations.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.decode(reader, reader.uint32())); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.vision.v1p3beta1.ProductSearchResults.ObjectAnnotation.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -62540,6 +66680,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GroupedResult + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GroupedResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ProductSearchResults.GroupedResult"; + }; + return GroupedResult; })(); @@ -62579,7 +66734,7 @@ }; /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|createProductSet}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef CreateProductSetCallback * @type {function} @@ -62612,7 +66767,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProductSets}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|listProductSets}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef ListProductSetsCallback * @type {function} @@ -62645,7 +66800,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|getProductSet}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef GetProductSetCallback * @type {function} @@ -62678,7 +66833,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#updateProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|updateProductSet}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef UpdateProductSetCallback * @type {function} @@ -62711,7 +66866,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|deleteProductSet}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef DeleteProductSetCallback * @type {function} @@ -62744,7 +66899,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createProduct}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|createProduct}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef CreateProductCallback * @type {function} @@ -62777,7 +66932,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProducts}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|listProducts}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef ListProductsCallback * @type {function} @@ -62810,7 +66965,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getProduct}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|getProduct}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef GetProductCallback * @type {function} @@ -62843,7 +66998,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#updateProduct}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|updateProduct}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef UpdateProductCallback * @type {function} @@ -62876,7 +67031,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteProduct}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|deleteProduct}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef DeleteProductCallback * @type {function} @@ -62909,7 +67064,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#createReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|createReferenceImage}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef CreateReferenceImageCallback * @type {function} @@ -62942,7 +67097,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#deleteReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|deleteReferenceImage}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef DeleteReferenceImageCallback * @type {function} @@ -62975,7 +67130,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listReferenceImages}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|listReferenceImages}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef ListReferenceImagesCallback * @type {function} @@ -63008,7 +67163,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#getReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|getReferenceImage}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef GetReferenceImageCallback * @type {function} @@ -63041,7 +67196,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#addProductToProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|addProductToProductSet}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef AddProductToProductSetCallback * @type {function} @@ -63074,7 +67229,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#removeProductFromProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|removeProductFromProductSet}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef RemoveProductFromProductSetCallback * @type {function} @@ -63107,7 +67262,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#listProductsInProductSet}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|listProductsInProductSet}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef ListProductsInProductSetCallback * @type {function} @@ -63140,7 +67295,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch#importProductSets}. + * Callback as used by {@link google.cloud.vision.v1p3beta1.ProductSearch|importProductSets}. * @memberof google.cloud.vision.v1p3beta1.ProductSearch * @typedef ImportProductSetsCallback * @type {function} @@ -63313,23 +67468,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.displayName = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.productCategory = reader.string(); - break; - case 5: - if (!(message.productLabels && message.productLabels.length)) - message.productLabels = []; - message.productLabels.push($root.google.cloud.vision.v1p3beta1.Product.KeyValue.decode(reader, reader.uint32())); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.displayName = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + case 4: { + message.productCategory = reader.string(); + break; + } + case 5: { + if (!(message.productLabels && message.productLabels.length)) + message.productLabels = []; + message.productLabels.push($root.google.cloud.vision.v1p3beta1.Product.KeyValue.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -63470,6 +67630,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Product + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Product + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Product.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Product"; + }; + Product.KeyValue = (function() { /** @@ -63573,12 +67748,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = reader.string(); - break; + case 1: { + message.key = reader.string(); + break; + } + case 2: { + message.value = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -63677,6 +67854,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for KeyValue + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Product.KeyValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + KeyValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Product.KeyValue"; + }; + return KeyValue; })(); @@ -63808,18 +68000,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.displayName = reader.string(); - break; - case 3: - message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.displayName = reader.string(); + break; + } + case 3: { + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 4: { + message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -63944,6 +68140,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSet + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ProductSet + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ProductSet"; + }; + return ProductSet; })(); @@ -64063,17 +68274,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.uri = reader.string(); - break; - case 3: - if (!(message.boundingPolys && message.boundingPolys.length)) - message.boundingPolys = []; - message.boundingPolys.push($root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32())); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.uri = reader.string(); + break; + } + case 3: { + if (!(message.boundingPolys && message.boundingPolys.length)) + message.boundingPolys = []; + message.boundingPolys.push($root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -64198,6 +68412,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ReferenceImage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ReferenceImage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ReferenceImage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ReferenceImage"; + }; + return ReferenceImage; })(); @@ -64315,15 +68544,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.product = $root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32()); - break; - case 3: - message.productId = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.product = $root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32()); + break; + } + case 3: { + message.productId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -64435,6 +68667,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CreateProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.CreateProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.CreateProductRequest"; + }; + return CreateProductRequest; })(); @@ -64552,15 +68799,18 @@ 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; + 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; @@ -64667,6 +68917,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ListProductsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ListProductsRequest"; + }; + return ListProductsRequest; })(); @@ -64775,14 +69040,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -64898,6 +69165,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ListProductsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ListProductsResponse"; + }; + return ListProductsResponse; })(); @@ -64993,9 +69275,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -65085,6 +69368,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.GetProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.GetProductRequest"; + }; + return GetProductRequest; })(); @@ -65191,12 +69489,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.product = $root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32()); - break; - case 2: - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); - break; + case 1: { + message.product = $root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -65305,6 +69605,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UpdateProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.UpdateProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.UpdateProductRequest"; + }; + return UpdateProductRequest; })(); @@ -65400,9 +69715,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -65492,6 +69808,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.DeleteProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.DeleteProductRequest"; + }; + return DeleteProductRequest; })(); @@ -65609,15 +69940,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.decode(reader, reader.uint32()); - break; - case 3: - message.productSetId = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.decode(reader, reader.uint32()); + break; + } + case 3: { + message.productSetId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -65729,6 +70063,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CreateProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.CreateProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.CreateProductSetRequest"; + }; + return CreateProductSetRequest; })(); @@ -65846,15 +70195,18 @@ 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; + 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; @@ -65961,6 +70313,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductSetsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductSetsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ListProductSetsRequest"; + }; + return ListProductSetsRequest; })(); @@ -66069,14 +70436,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.productSets && message.productSets.length)) - message.productSets = []; - message.productSets.push($root.google.cloud.vision.v1p3beta1.ProductSet.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.productSets && message.productSets.length)) + message.productSets = []; + message.productSets.push($root.google.cloud.vision.v1p3beta1.ProductSet.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -66192,6 +70561,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductSetsResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ListProductSetsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductSetsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ListProductSetsResponse"; + }; + return ListProductSetsResponse; })(); @@ -66287,9 +70671,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -66379,6 +70764,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.GetProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.GetProductSetRequest"; + }; + return GetProductSetRequest; })(); @@ -66485,12 +70885,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.decode(reader, reader.uint32()); - break; - case 2: - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); - break; + case 1: { + message.productSet = $root.google.cloud.vision.v1p3beta1.ProductSet.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -66599,6 +71001,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UpdateProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.UpdateProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.UpdateProductSetRequest"; + }; + return UpdateProductSetRequest; })(); @@ -66694,9 +71111,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -66786,6 +71204,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.DeleteProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.DeleteProductSetRequest"; + }; + return DeleteProductSetRequest; })(); @@ -66903,15 +71336,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.referenceImage = $root.google.cloud.vision.v1p3beta1.ReferenceImage.decode(reader, reader.uint32()); - break; - case 3: - message.referenceImageId = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.referenceImage = $root.google.cloud.vision.v1p3beta1.ReferenceImage.decode(reader, reader.uint32()); + break; + } + case 3: { + message.referenceImageId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -67023,6 +71459,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CreateReferenceImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.CreateReferenceImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateReferenceImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.CreateReferenceImageRequest"; + }; + return CreateReferenceImageRequest; })(); @@ -67140,15 +71591,18 @@ 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; + 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; @@ -67255,6 +71709,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListReferenceImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListReferenceImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ListReferenceImagesRequest"; + }; + return ListReferenceImagesRequest; })(); @@ -67374,17 +71843,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.referenceImages && message.referenceImages.length)) - message.referenceImages = []; - message.referenceImages.push($root.google.cloud.vision.v1p3beta1.ReferenceImage.decode(reader, reader.uint32())); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p3beta1.ReferenceImage.decode(reader, reader.uint32())); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -67509,6 +71981,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListReferenceImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ListReferenceImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListReferenceImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ListReferenceImagesResponse"; + }; + return ListReferenceImagesResponse; })(); @@ -67604,9 +72091,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -67696,6 +72184,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetReferenceImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.GetReferenceImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetReferenceImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.GetReferenceImageRequest"; + }; + return GetReferenceImageRequest; })(); @@ -67791,9 +72294,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -67883,6 +72387,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteReferenceImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteReferenceImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest"; + }; + return DeleteReferenceImageRequest; })(); @@ -67989,12 +72508,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.product = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.product = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -68093,6 +72614,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AddProductToProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.AddProductToProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AddProductToProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.AddProductToProductSetRequest"; + }; + return AddProductToProductSetRequest; })(); @@ -68199,12 +72735,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.product = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.product = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -68303,6 +72841,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for RemoveProductFromProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RemoveProductFromProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest"; + }; + return RemoveProductFromProductSetRequest; })(); @@ -68420,15 +72973,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.pageToken = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -68535,6 +73091,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsInProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsInProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest"; + }; + return ListProductsInProductSetRequest; })(); @@ -68643,14 +73214,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p3beta1.Product.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -68766,6 +73339,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsInProductSetResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsInProductSetResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse"; + }; + return ListProductsInProductSetResponse; })(); @@ -68861,9 +73449,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.csvFileUri = reader.string(); - break; + case 1: { + message.csvFileUri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -68953,6 +73542,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsGcsSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsGcsSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource"; + }; + return ImportProductSetsGcsSource; })(); @@ -69062,9 +73666,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsSource = $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); - break; + case 1: { + message.gcsSource = $root.google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -69164,6 +73769,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsInputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsInputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig"; + }; + return ImportProductSetsInputConfig; })(); @@ -69270,12 +73890,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.inputConfig = $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.inputConfig = $root.google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -69379,6 +74001,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ImportProductSetsRequest"; + }; + return ImportProductSetsRequest; })(); @@ -69489,16 +74126,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.referenceImages && message.referenceImages.length)) - message.referenceImages = []; - message.referenceImages.push($root.google.cloud.vision.v1p3beta1.ReferenceImage.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.statuses && message.statuses.length)) - message.statuses = []; - message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p3beta1.ReferenceImage.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.statuses && message.statuses.length)) + message.statuses = []; + message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -69631,6 +74270,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.ImportProductSetsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.ImportProductSetsResponse"; + }; + return ImportProductSetsResponse; })(); @@ -69748,15 +74402,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; - case 2: - message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 3: - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.state = reader.int32(); + break; + } + case 2: { + message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 3: { + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -69901,6 +74558,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchOperationMetadata + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.BatchOperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchOperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.BatchOperationMetadata"; + }; + /** * State enum. * @name google.cloud.vision.v1p3beta1.BatchOperationMetadata.State @@ -70029,14 +74701,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.pages && message.pages.length)) - message.pages = []; - message.pages.push($root.google.cloud.vision.v1p3beta1.Page.decode(reader, reader.uint32())); - break; - case 2: - message.text = reader.string(); - break; + case 1: { + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p3beta1.Page.decode(reader, reader.uint32())); + break; + } + case 2: { + message.text = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -70152,6 +74826,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.TextAnnotation"; + }; + TextAnnotation.DetectedLanguage = (function() { /** @@ -70255,12 +74944,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.languageCode = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.languageCode = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -70359,6 +75050,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedLanguage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedLanguage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage"; + }; + return DetectedLanguage; })(); @@ -70465,12 +75171,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.isPrefix = reader.bool(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.isPrefix = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -70602,6 +75310,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedBreak + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedBreak.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak"; + }; + /** * BreakType enum. * @name google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType @@ -70732,14 +75455,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.detectedLanguages && message.detectedLanguages.length)) - message.detectedLanguages = []; - message.detectedLanguages.push($root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); - break; - case 2: - message.detectedBreak = $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + } + case 2: { + message.detectedBreak = $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -70860,6 +75585,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextProperty + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextProperty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty"; + }; + return TextProperty; })(); @@ -71004,23 +75744,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.width = reader.int32(); - break; - case 3: - message.height = reader.int32(); - break; - case 4: - if (!(message.blocks && message.blocks.length)) - message.blocks = []; - message.blocks.push($root.google.cloud.vision.v1p3beta1.Block.decode(reader, reader.uint32())); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.width = reader.int32(); + break; + } + case 3: { + message.height = reader.int32(); + break; + } + case 4: { + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1p3beta1.Block.decode(reader, reader.uint32())); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -71166,6 +75911,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Page + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Page + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Page.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Page"; + }; + return Page; })(); @@ -71307,23 +76067,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.paragraphs && message.paragraphs.length)) - message.paragraphs = []; - message.paragraphs.push($root.google.cloud.vision.v1p3beta1.Paragraph.decode(reader, reader.uint32())); - break; - case 4: - message.blockType = reader.int32(); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1p3beta1.Paragraph.decode(reader, reader.uint32())); + break; + } + case 4: { + message.blockType = reader.int32(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -71507,6 +76272,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Block + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Block + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Block.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Block"; + }; + /** * BlockType enum. * @name google.cloud.vision.v1p3beta1.Block.BlockType @@ -71659,20 +76439,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.words && message.words.length)) - message.words = []; - message.words.push($root.google.cloud.vision.v1p3beta1.Word.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1p3beta1.Word.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -71815,6 +76599,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Paragraph + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Paragraph + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Paragraph.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Paragraph"; + }; + return Paragraph; })(); @@ -71945,20 +76744,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.symbols && message.symbols.length)) - message.symbols = []; - message.symbols.push($root.google.cloud.vision.v1p3beta1.Symbol.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1p3beta1.Symbol.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -72101,6 +76904,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Word + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Word + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Word.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Word"; + }; + return Word; })(); @@ -72229,18 +77047,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - message.text = reader.string(); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p3beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p3beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + message.text = reader.string(); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -72365,6 +77187,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Symbol + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.Symbol + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Symbol.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.Symbol"; + }; + return Symbol; })(); @@ -72527,36 +77364,42 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.webEntities && message.webEntities.length)) - message.webEntities = []; - message.webEntities.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) - message.pagesWithMatchingImages = []; - message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebPage.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) - message.visuallySimilarImages = []; - message.visuallySimilarImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 8: - if (!(message.bestGuessLabels && message.bestGuessLabels.length)) - message.bestGuessLabels = []; - message.bestGuessLabels.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 8: { + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -72789,6 +77632,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetection + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.WebDetection + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetection.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.WebDetection"; + }; + WebDetection.WebEntity = (function() { /** @@ -72903,15 +77761,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.description = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.description = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -73018,6 +77879,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebEntity + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebEntity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebEntity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.WebDetection.WebEntity"; + }; + return WebEntity; })(); @@ -73124,12 +78000,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -73228,6 +78106,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebImage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebImage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebImage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.WebDetection.WebImage"; + }; + return WebImage; })(); @@ -73371,25 +78264,30 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pageTitle = reader.string(); - break; - case 4: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pageTitle = reader.string(); + break; + } + case 4: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p3beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -73548,6 +78446,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebPage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebPage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebPage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.WebDetection.WebPage"; + }; + return WebPage; })(); @@ -73654,12 +78567,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.label = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; + case 1: { + message.label = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -73758,6 +78673,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebLabel + * @function getTypeUrl + * @memberof google.cloud.vision.v1p3beta1.WebDetection.WebLabel + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebLabel.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p3beta1.WebDetection.WebLabel"; + }; + return WebLabel; })(); @@ -73870,11 +78800,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.celebritySet && message.celebritySet.length)) - message.celebritySet = []; - message.celebritySet.push(reader.string()); - break; + case 1: { + if (!(message.celebritySet && message.celebritySet.length)) + message.celebritySet = []; + message.celebritySet.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -73976,6 +78907,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceRecognitionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceRecognitionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.FaceRecognitionParams"; + }; + return FaceRecognitionParams; })(); @@ -74093,15 +79039,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.displayName = reader.string(); - break; - case 3: - message.description = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.displayName = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -74208,6 +79157,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Celebrity + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Celebrity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Celebrity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Celebrity"; + }; + return Celebrity; })(); @@ -74314,12 +79278,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.celebrity = $root.google.cloud.vision.v1p4beta1.Celebrity.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -74423,6 +79389,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceRecognitionResult + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.FaceRecognitionResult + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceRecognitionResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.FaceRecognitionResult"; + }; + return FaceRecognitionResult; })(); @@ -74529,12 +79510,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.int32(); - break; - case 2: - message.y = reader.int32(); - break; + case 1: { + message.x = reader.int32(); + break; + } + case 2: { + message.y = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -74633,6 +79616,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Vertex + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Vertex + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Vertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Vertex"; + }; + return Vertex; })(); @@ -74739,12 +79737,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); - break; + case 1: { + message.x = reader.float(); + break; + } + case 2: { + message.y = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -74843,6 +79843,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NormalizedVertex + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.NormalizedVertex + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NormalizedVertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.NormalizedVertex"; + }; + return NormalizedVertex; })(); @@ -74953,16 +79968,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.vertices && message.vertices.length)) - message.vertices = []; - message.vertices.push($root.google.cloud.vision.v1p4beta1.Vertex.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.normalizedVertices && message.normalizedVertices.length)) - message.normalizedVertices = []; - message.normalizedVertices.push($root.google.cloud.vision.v1p4beta1.NormalizedVertex.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.vertices && message.vertices.length)) + message.vertices = []; + message.vertices.push($root.google.cloud.vision.v1p4beta1.Vertex.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.normalizedVertices && message.normalizedVertices.length)) + message.normalizedVertices = []; + message.normalizedVertices.push($root.google.cloud.vision.v1p4beta1.NormalizedVertex.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -75095,6 +80112,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BoundingPoly + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.BoundingPoly + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BoundingPoly.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.BoundingPoly"; + }; + return BoundingPoly; })(); @@ -75212,15 +80244,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.x = reader.float(); - break; - case 2: - message.y = reader.float(); - break; - case 3: - message.z = reader.float(); - break; + case 1: { + message.x = reader.float(); + break; + } + case 2: { + message.y = reader.float(); + break; + } + case 3: { + message.z = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -75327,6 +80362,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Position + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Position + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Position.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Position"; + }; + return Position; })(); @@ -75363,7 +80413,7 @@ }; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator|batchAnnotateImages}. * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator * @typedef BatchAnnotateImagesCallback * @type {function} @@ -75396,7 +80446,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#batchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator|batchAnnotateFiles}. * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator * @typedef BatchAnnotateFilesCallback * @type {function} @@ -75429,7 +80479,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateImages}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator|asyncBatchAnnotateImages}. * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator * @typedef AsyncBatchAnnotateImagesCallback * @type {function} @@ -75462,7 +80512,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator#asyncBatchAnnotateFiles}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ImageAnnotator|asyncBatchAnnotateFiles}. * @memberof google.cloud.vision.v1p4beta1.ImageAnnotator * @typedef AsyncBatchAnnotateFilesCallback * @type {function} @@ -75611,15 +80661,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.maxResults = reader.int32(); - break; - case 3: - message.model = reader.string(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.maxResults = reader.int32(); + break; + } + case 3: { + message.model = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -75794,6 +80847,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Feature + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Feature + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Feature.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Feature"; + }; + /** * Type enum. * @name google.cloud.vision.v1p4beta1.Feature.Type @@ -75936,12 +81004,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsImageUri = reader.string(); - break; - case 2: - message.imageUri = reader.string(); - break; + case 1: { + message.gcsImageUri = reader.string(); + break; + } + case 2: { + message.imageUri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -76040,6 +81110,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ImageSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ImageSource"; + }; + return ImageSource; })(); @@ -76146,12 +81231,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.content = reader.bytes(); - break; - case 2: - message.source = $root.google.cloud.vision.v1p4beta1.ImageSource.decode(reader, reader.uint32()); - break; + case 1: { + message.content = reader.bytes(); + break; + } + case 2: { + message.source = $root.google.cloud.vision.v1p4beta1.ImageSource.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -76213,7 +81300,7 @@ if (object.content != null) if (typeof object.content === "string") $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) + else if (object.content.length >= 0) message.content = object.content; if (object.source != null) { if (typeof object.source !== "object") @@ -76264,6 +81351,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Image + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Image + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Image.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Image"; + }; + return Image; })(); @@ -76550,58 +81652,74 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.landmarks && message.landmarks.length)) - message.landmarks = []; - message.landmarks.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); - break; - case 4: - message.rollAngle = reader.float(); - break; - case 5: - message.panAngle = reader.float(); - break; - case 6: - message.tiltAngle = reader.float(); - break; - case 7: - message.detectionConfidence = reader.float(); - break; - case 8: - message.landmarkingConfidence = reader.float(); - break; - case 9: - message.joyLikelihood = reader.int32(); - break; - case 10: - message.sorrowLikelihood = reader.int32(); - break; - case 11: - message.angerLikelihood = reader.int32(); - break; - case 12: - message.surpriseLikelihood = reader.int32(); - break; - case 13: - message.underExposedLikelihood = reader.int32(); - break; - case 14: - message.blurredLikelihood = reader.int32(); - break; - case 15: - message.headwearLikelihood = reader.int32(); - break; - case 16: - if (!(message.recognitionResult && message.recognitionResult.length)) - message.recognitionResult = []; - message.recognitionResult.push($root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.decode(reader, reader.uint32())); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.fdBoundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.landmarks && message.landmarks.length)) + message.landmarks = []; + message.landmarks.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.decode(reader, reader.uint32())); + break; + } + case 4: { + message.rollAngle = reader.float(); + break; + } + case 5: { + message.panAngle = reader.float(); + break; + } + case 6: { + message.tiltAngle = reader.float(); + break; + } + case 7: { + message.detectionConfidence = reader.float(); + break; + } + case 8: { + message.landmarkingConfidence = reader.float(); + break; + } + case 9: { + message.joyLikelihood = reader.int32(); + break; + } + case 10: { + message.sorrowLikelihood = reader.int32(); + break; + } + case 11: { + message.angerLikelihood = reader.int32(); + break; + } + case 12: { + message.surpriseLikelihood = reader.int32(); + break; + } + case 13: { + message.underExposedLikelihood = reader.int32(); + break; + } + case 14: { + message.blurredLikelihood = reader.int32(); + break; + } + case 15: { + message.headwearLikelihood = reader.int32(); + break; + } + case 16: { + if (!(message.recognitionResult && message.recognitionResult.length)) + message.recognitionResult = []; + message.recognitionResult.push($root.google.cloud.vision.v1p4beta1.FaceRecognitionResult.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -77089,6 +82207,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FaceAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FaceAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.FaceAnnotation"; + }; + FaceAnnotation.Landmark = (function() { /** @@ -77192,12 +82325,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 3: - message.type = reader.int32(); - break; - case 4: - message.position = $root.google.cloud.vision.v1p4beta1.Position.decode(reader, reader.uint32()); - break; + case 3: { + message.type = reader.int32(); + break; + } + case 4: { + message.position = $root.google.cloud.vision.v1p4beta1.Position.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -77479,6 +82614,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Landmark + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Landmark.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark"; + }; + /** * Type enum. * @name google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type @@ -77657,9 +82807,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -77754,6 +82905,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LocationInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.LocationInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.LocationInfo"; + }; + return LocationInfo; })(); @@ -77871,15 +83037,18 @@ 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: - message.uint64Value = reader.uint64(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.value = reader.string(); + break; + } + case 3: { + message.uint64Value = reader.uint64(); + break; + } default: reader.skipType(tag & 7); break; @@ -78000,6 +83169,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Property + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Property + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Property.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Property"; + }; + return Property; })(); @@ -78187,37 +83371,46 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.locale = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.confidence = reader.float(); - break; - case 6: - message.topicality = reader.float(); - break; - case 7: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 8: - if (!(message.locations && message.locations.length)) - message.locations = []; - message.locations.push($root.google.cloud.vision.v1p4beta1.LocationInfo.decode(reader, reader.uint32())); - break; - case 9: - if (!(message.properties && message.properties.length)) - message.properties = []; - message.properties.push($root.google.cloud.vision.v1p4beta1.Property.decode(reader, reader.uint32())); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.locale = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } + case 6: { + message.topicality = reader.float(); + break; + } + case 7: { + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 8: { + if (!(message.locations && message.locations.length)) + message.locations = []; + message.locations.push($root.google.cloud.vision.v1p4beta1.LocationInfo.decode(reader, reader.uint32())); + break; + } + case 9: { + if (!(message.properties && message.properties.length)) + message.properties = []; + message.properties.push($root.google.cloud.vision.v1p4beta1.Property.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -78413,6 +83606,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EntityAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.EntityAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EntityAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.EntityAnnotation"; + }; + return EntityAnnotation; })(); @@ -78552,21 +83760,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; - case 3: - message.name = reader.string(); - break; - case 4: - message.score = reader.float(); - break; - case 5: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } + case 3: { + message.name = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } + case 5: { + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -78694,6 +83907,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LocalizedObjectAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LocalizedObjectAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation"; + }; + return LocalizedObjectAnnotation; })(); @@ -78833,21 +84061,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.adult = reader.int32(); - break; - case 2: - message.spoof = reader.int32(); - break; - case 3: - message.medical = reader.int32(); - break; - case 4: - message.violence = reader.int32(); - break; - case 9: - message.racy = reader.int32(); - break; + case 1: { + message.adult = reader.int32(); + break; + } + case 2: { + message.spoof = reader.int32(); + break; + } + case 3: { + message.medical = reader.int32(); + break; + } + case 4: { + message.violence = reader.int32(); + break; + } + case 9: { + message.racy = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -79135,6 +84368,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SafeSearchAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.SafeSearchAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SafeSearchAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.SafeSearchAnnotation"; + }; + return SafeSearchAnnotation; })(); @@ -79241,12 +84489,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; - case 2: - message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); - break; + case 1: { + message.minLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } + case 2: { + message.maxLatLng = $root.google.type.LatLng.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -79355,6 +84605,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LatLongRect + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.LatLongRect + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LatLongRect.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.LatLongRect"; + }; + return LatLongRect; })(); @@ -79472,15 +84737,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.color = $root.google.type.Color.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pixelFraction = reader.float(); - break; + case 1: { + message.color = $root.google.type.Color.decode(reader, reader.uint32()); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pixelFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -79592,6 +84860,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ColorInfo + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ColorInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ColorInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ColorInfo"; + }; + return ColorInfo; })(); @@ -79689,11 +84972,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.colors && message.colors.length)) - message.colors = []; - message.colors.push($root.google.cloud.vision.v1p4beta1.ColorInfo.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.colors && message.colors.length)) + message.colors = []; + message.colors.push($root.google.cloud.vision.v1p4beta1.ColorInfo.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -79800,6 +85084,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DominantColorsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.DominantColorsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DominantColorsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.DominantColorsAnnotation"; + }; + return DominantColorsAnnotation; })(); @@ -79895,9 +85194,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); - break; + case 1: { + message.dominantColors = $root.google.cloud.vision.v1p4beta1.DominantColorsAnnotation.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -79992,6 +85292,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageProperties + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ImageProperties + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageProperties.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ImageProperties"; + }; + return ImageProperties; })(); @@ -80109,15 +85424,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - message.confidence = reader.float(); - break; - case 3: - message.importanceFraction = reader.float(); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } + case 3: { + message.importanceFraction = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -80229,6 +85547,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHint + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.CropHint + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHint.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.CropHint"; + }; + return CropHint; })(); @@ -80326,11 +85659,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.cropHints && message.cropHints.length)) - message.cropHints = []; - message.cropHints.push($root.google.cloud.vision.v1p4beta1.CropHint.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.cropHints && message.cropHints.length)) + message.cropHints = []; + message.cropHints.push($root.google.cloud.vision.v1p4beta1.CropHint.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -80437,6 +85771,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.CropHintsAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.CropHintsAnnotation"; + }; + return CropHintsAnnotation; })(); @@ -80537,16 +85886,17 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.aspectRatios && message.aspectRatios.length)) - message.aspectRatios = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + if (!(message.aspectRatios && message.aspectRatios.length)) + message.aspectRatios = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.aspectRatios.push(reader.float()); + } else message.aspectRatios.push(reader.float()); - } else - message.aspectRatios.push(reader.float()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -80648,6 +85998,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CropHintsParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.CropHintsParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CropHintsParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.CropHintsParams"; + }; + return CropHintsParams; })(); @@ -80743,9 +86108,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.includeGeoResults = reader.bool(); - break; + case 2: { + message.includeGeoResults = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -80835,6 +86201,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.WebDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.WebDetectionParams"; + }; + return WebDetectionParams; })(); @@ -80943,14 +86324,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 9: - message.enableTextDetectionConfidenceScore = reader.bool(); - break; - case 11: - if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) - message.advancedOcrOptions = []; - message.advancedOcrOptions.push(reader.string()); - break; + case 9: { + message.enableTextDetectionConfidenceScore = reader.bool(); + break; + } + case 11: { + if (!(message.advancedOcrOptions && message.advancedOcrOptions.length)) + message.advancedOcrOptions = []; + message.advancedOcrOptions.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -81061,6 +86444,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextDetectionParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.TextDetectionParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextDetectionParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.TextDetectionParams"; + }; + return TextDetectionParams; })(); @@ -81224,29 +86622,36 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.languageHints && message.languageHints.length)) - message.languageHints = []; - message.languageHints.push(reader.string()); - break; - case 4: - message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.decode(reader, reader.uint32()); - break; - case 10: - message.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.decode(reader, reader.uint32()); - break; - case 5: - message.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.decode(reader, reader.uint32()); - break; - case 6: - message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.decode(reader, reader.uint32()); - break; - case 12: - message.textDetectionParams = $root.google.cloud.vision.v1p4beta1.TextDetectionParams.decode(reader, reader.uint32()); - break; + case 1: { + message.latLongRect = $root.google.cloud.vision.v1p4beta1.LatLongRect.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.languageHints && message.languageHints.length)) + message.languageHints = []; + message.languageHints.push(reader.string()); + break; + } + case 4: { + message.cropHintsParams = $root.google.cloud.vision.v1p4beta1.CropHintsParams.decode(reader, reader.uint32()); + break; + } + case 10: { + message.faceRecognitionParams = $root.google.cloud.vision.v1p4beta1.FaceRecognitionParams.decode(reader, reader.uint32()); + break; + } + case 5: { + message.productSearchParams = $root.google.cloud.vision.v1p4beta1.ProductSearchParams.decode(reader, reader.uint32()); + break; + } + case 6: { + message.webDetectionParams = $root.google.cloud.vision.v1p4beta1.WebDetectionParams.decode(reader, reader.uint32()); + break; + } + case 12: { + message.textDetectionParams = $root.google.cloud.vision.v1p4beta1.TextDetectionParams.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -81428,6 +86833,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageContext + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ImageContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ImageContext"; + }; + return ImageContext; })(); @@ -81547,17 +86967,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.image = $root.google.cloud.vision.v1p4beta1.Image.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); - break; + case 1: { + message.image = $root.google.cloud.vision.v1p4beta1.Image.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -81692,6 +87115,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AnnotateImageRequest"; + }; + return AnnotateImageRequest; })(); @@ -81798,12 +87236,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; - case 2: - message.pageNumber = reader.int32(); - break; + case 1: { + message.uri = reader.string(); + break; + } + case 2: { + message.pageNumber = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -81902,6 +87342,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImageAnnotationContext + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ImageAnnotationContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImageAnnotationContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ImageAnnotationContext"; + }; + return ImageAnnotationContext; })(); @@ -82152,60 +87607,74 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.faceAnnotations && message.faceAnnotations.length)) - message.faceAnnotations = []; - message.faceAnnotations.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) - message.landmarkAnnotations = []; - message.landmarkAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.logoAnnotations && message.logoAnnotations.length)) - message.logoAnnotations = []; - message.logoAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.labelAnnotations && message.labelAnnotations.length)) - message.labelAnnotations = []; - message.labelAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 22: - if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) - message.localizedObjectAnnotations = []; - message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.textAnnotations && message.textAnnotations.length)) - message.textAnnotations = []; - message.textAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); - break; - case 12: - message.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.decode(reader, reader.uint32()); - break; - case 6: - message.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); - break; - case 8: - message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.decode(reader, reader.uint32()); - break; - case 11: - message.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.decode(reader, reader.uint32()); - break; - case 13: - message.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.decode(reader, reader.uint32()); - break; - case 14: - message.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.decode(reader, reader.uint32()); - break; - case 9: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 21: - message.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.faceAnnotations && message.faceAnnotations.length)) + message.faceAnnotations = []; + message.faceAnnotations.push($root.google.cloud.vision.v1p4beta1.FaceAnnotation.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.landmarkAnnotations && message.landmarkAnnotations.length)) + message.landmarkAnnotations = []; + message.landmarkAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.logoAnnotations && message.logoAnnotations.length)) + message.logoAnnotations = []; + message.logoAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.labelAnnotations && message.labelAnnotations.length)) + message.labelAnnotations = []; + message.labelAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 22: { + if (!(message.localizedObjectAnnotations && message.localizedObjectAnnotations.length)) + message.localizedObjectAnnotations = []; + message.localizedObjectAnnotations.push($root.google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.textAnnotations && message.textAnnotations.length)) + message.textAnnotations = []; + message.textAnnotations.push($root.google.cloud.vision.v1p4beta1.EntityAnnotation.decode(reader, reader.uint32())); + break; + } + case 12: { + message.fullTextAnnotation = $root.google.cloud.vision.v1p4beta1.TextAnnotation.decode(reader, reader.uint32()); + break; + } + case 6: { + message.safeSearchAnnotation = $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation.decode(reader, reader.uint32()); + break; + } + case 8: { + message.imagePropertiesAnnotation = $root.google.cloud.vision.v1p4beta1.ImageProperties.decode(reader, reader.uint32()); + break; + } + case 11: { + message.cropHintsAnnotation = $root.google.cloud.vision.v1p4beta1.CropHintsAnnotation.decode(reader, reader.uint32()); + break; + } + case 13: { + message.webDetection = $root.google.cloud.vision.v1p4beta1.WebDetection.decode(reader, reader.uint32()); + break; + } + case 14: { + message.productSearchResults = $root.google.cloud.vision.v1p4beta1.ProductSearchResults.decode(reader, reader.uint32()); + break; + } + case 9: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } + case 21: { + message.context = $root.google.cloud.vision.v1p4beta1.ImageAnnotationContext.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -82544,6 +88013,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateImageResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AnnotateImageResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateImageResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AnnotateImageResponse"; + }; + return AnnotateImageResponse; })(); @@ -82641,11 +88125,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -82752,6 +88237,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest"; + }; + return BatchAnnotateImagesRequest; })(); @@ -82849,11 +88349,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -82960,6 +88461,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse"; + }; + return BatchAnnotateImagesResponse; })(); @@ -83095,27 +88611,31 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.pages && message.pages.length)) - message.pages = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.pages && message.pages.length)) + message.pages = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.pages.push(reader.int32()); + } else message.pages.push(reader.int32()); - } else - message.pages.push(reader.int32()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -83271,6 +88791,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateFileRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateFileRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AnnotateFileRequest"; + }; + return AnnotateFileRequest; })(); @@ -83401,20 +88936,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); - break; - case 3: - message.totalPages = reader.int32(); - break; - case 4: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateImageResponse.decode(reader, reader.uint32())); + break; + } + case 3: { + message.totalPages = reader.int32(); + break; + } + case 4: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -83557,6 +89096,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AnnotateFileResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AnnotateFileResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AnnotateFileResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AnnotateFileResponse"; + }; + return AnnotateFileResponse; })(); @@ -83654,11 +89208,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateFileRequest.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -83765,6 +89320,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateFilesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateFilesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest"; + }; + return BatchAnnotateFilesRequest; })(); @@ -83862,11 +89432,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AnnotateFileResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -83973,6 +89544,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchAnnotateFilesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchAnnotateFilesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse"; + }; + return BatchAnnotateFilesResponse; })(); @@ -84103,20 +89689,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); - break; - case 3: - message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); - break; - case 4: - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.inputConfig = $root.google.cloud.vision.v1p4beta1.InputConfig.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.features && message.features.length)) + message.features = []; + message.features.push($root.google.cloud.vision.v1p4beta1.Feature.decode(reader, reader.uint32())); + break; + } + case 3: { + message.imageContext = $root.google.cloud.vision.v1p4beta1.ImageContext.decode(reader, reader.uint32()); + break; + } + case 4: { + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -84264,6 +89854,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncAnnotateFileRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncAnnotateFileRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest"; + }; + return AsyncAnnotateFileRequest; })(); @@ -84359,9 +89964,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -84456,6 +90062,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncAnnotateFileResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncAnnotateFileResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse"; + }; + return AsyncAnnotateFileResponse; })(); @@ -84564,14 +90185,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); - break; - case 2: - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AnnotateImageRequest.decode(reader, reader.uint32())); + break; + } + case 2: { + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -84692,6 +90315,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest"; + }; + return AsyncBatchAnnotateImagesRequest; })(); @@ -84787,9 +90425,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.outputConfig = $root.google.cloud.vision.v1p4beta1.OutputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -84884,6 +90523,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse"; + }; + return AsyncBatchAnnotateImagesResponse; })(); @@ -84981,11 +90635,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.requests && message.requests.length)) - message.requests = []; - message.requests.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.requests && message.requests.length)) + message.requests = []; + message.requests.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -85092,6 +90747,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateFilesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateFilesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest"; + }; + return AsyncBatchAnnotateFilesRequest; })(); @@ -85189,11 +90859,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.responses && message.responses.length)) - message.responses = []; - message.responses.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.responses && message.responses.length)) + message.responses = []; + message.responses.push($root.google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -85300,6 +90971,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AsyncBatchAnnotateFilesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AsyncBatchAnnotateFilesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse"; + }; + return AsyncBatchAnnotateFilesResponse; })(); @@ -85417,15 +91103,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.decode(reader, reader.uint32()); - break; - case 3: - message.content = reader.bytes(); - break; - case 2: - message.mimeType = reader.string(); - break; + case 1: { + message.gcsSource = $root.google.cloud.vision.v1p4beta1.GcsSource.decode(reader, reader.uint32()); + break; + } + case 3: { + message.content = reader.bytes(); + break; + } + case 2: { + message.mimeType = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -85495,7 +91184,7 @@ if (object.content != null) if (typeof object.content === "string") $util.base64.decode(object.content, message.content = $util.newBuffer($util.base64.length(object.content)), 0); - else if (object.content.length) + else if (object.content.length >= 0) message.content = object.content; if (object.mimeType != null) message.mimeType = String(object.mimeType); @@ -85546,6 +91235,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for InputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.InputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + InputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.InputConfig"; + }; + return InputConfig; })(); @@ -85652,12 +91356,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.decode(reader, reader.uint32()); - break; - case 2: - message.batchSize = reader.int32(); - break; + case 1: { + message.gcsDestination = $root.google.cloud.vision.v1p4beta1.GcsDestination.decode(reader, reader.uint32()); + break; + } + case 2: { + message.batchSize = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -85761,6 +91467,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OutputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.OutputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OutputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.OutputConfig"; + }; + return OutputConfig; })(); @@ -85856,9 +91577,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; + case 1: { + message.uri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -85948,6 +91670,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GcsSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.GcsSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GcsSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.GcsSource"; + }; + return GcsSource; })(); @@ -86043,9 +91780,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.uri = reader.string(); - break; + case 1: { + message.uri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -86135,6 +91873,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GcsDestination + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.GcsDestination + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GcsDestination.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.GcsDestination"; + }; + return GcsDestination; })(); @@ -86252,15 +92005,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; - case 5: - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 6: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.state = reader.int32(); + break; + } + case 5: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 6: { + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -86405,6 +92161,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OperationMetadata + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.OperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.OperationMetadata"; + }; + /** * State enum. * @name google.cloud.vision.v1p4beta1.OperationMetadata.State @@ -86555,20 +92326,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 9: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 6: - message.productSet = reader.string(); - break; - case 7: - if (!(message.productCategories && message.productCategories.length)) - message.productCategories = []; - message.productCategories.push(reader.string()); - break; - case 8: - message.filter = reader.string(); - break; + case 9: { + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 6: { + message.productSet = reader.string(); + break; + } + case 7: { + if (!(message.productCategories && message.productCategories.length)) + message.productCategories = []; + message.productCategories.push(reader.string()); + break; + } + case 8: { + message.filter = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -86701,6 +92476,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSearchParams + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ProductSearchParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSearchParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ProductSearchParams"; + }; + return ProductSearchParams; })(); @@ -86822,19 +92612,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - if (!(message.results && message.results.length)) - message.results = []; - message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.productGroupedResults && message.productGroupedResults.length)) - message.productGroupedResults = []; - message.productGroupedResults.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); - break; + case 2: { + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 5: { + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.productGroupedResults && message.productGroupedResults.length)) + message.productGroupedResults = []; + message.productGroupedResults.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -86981,6 +92774,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSearchResults + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSearchResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ProductSearchResults"; + }; + ProductSearchResults.Result = (function() { /** @@ -87095,15 +92903,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.image = reader.string(); - break; + case 1: { + message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.image = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -87215,6 +93026,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Result + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.Result + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Result.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ProductSearchResults.Result"; + }; + return Result; })(); @@ -87343,18 +93169,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.mid = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; - case 3: - message.name = reader.string(); - break; - case 4: - message.score = reader.float(); - break; + case 1: { + message.mid = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } + case 3: { + message.name = reader.string(); + break; + } + case 4: { + message.score = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -87469,6 +93299,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ObjectAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ObjectAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation"; + }; + return ObjectAnnotation; })(); @@ -87590,19 +93435,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.results && message.results.length)) - message.results = []; - message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.objectAnnotations && message.objectAnnotations.length)) - message.objectAnnotations = []; - message.objectAnnotations.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.decode(reader, reader.uint32())); - break; + case 1: { + message.boundingPoly = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 2: { + if (!(message.results && message.results.length)) + message.results = []; + message.results.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.Result.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.objectAnnotations && message.objectAnnotations.length)) + message.objectAnnotations = []; + message.objectAnnotations.push($root.google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -87749,6 +93597,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GroupedResult + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GroupedResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult"; + }; + return GroupedResult; })(); @@ -87788,7 +93651,7 @@ }; /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|createProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef CreateProductSetCallback * @type {function} @@ -87821,7 +93684,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductSets}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|listProductSets}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef ListProductSetsCallback * @type {function} @@ -87854,7 +93717,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|getProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef GetProductSetCallback * @type {function} @@ -87887,7 +93750,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|updateProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef UpdateProductSetCallback * @type {function} @@ -87920,7 +93783,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|deleteProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef DeleteProductSetCallback * @type {function} @@ -87953,7 +93816,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|createProduct}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef CreateProductCallback * @type {function} @@ -87986,7 +93849,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProducts}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|listProducts}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef ListProductsCallback * @type {function} @@ -88019,7 +93882,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|getProduct}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef GetProductCallback * @type {function} @@ -88052,7 +93915,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#updateProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|updateProduct}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef UpdateProductCallback * @type {function} @@ -88085,7 +93948,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteProduct}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|deleteProduct}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef DeleteProductCallback * @type {function} @@ -88118,7 +93981,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#createReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|createReferenceImage}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef CreateReferenceImageCallback * @type {function} @@ -88151,7 +94014,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#deleteReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|deleteReferenceImage}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef DeleteReferenceImageCallback * @type {function} @@ -88184,7 +94047,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listReferenceImages}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|listReferenceImages}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef ListReferenceImagesCallback * @type {function} @@ -88217,7 +94080,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#getReferenceImage}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|getReferenceImage}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef GetReferenceImageCallback * @type {function} @@ -88250,7 +94113,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#addProductToProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|addProductToProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef AddProductToProductSetCallback * @type {function} @@ -88283,7 +94146,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#removeProductFromProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|removeProductFromProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef RemoveProductFromProductSetCallback * @type {function} @@ -88316,7 +94179,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#listProductsInProductSet}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|listProductsInProductSet}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef ListProductsInProductSetCallback * @type {function} @@ -88349,7 +94212,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#importProductSets}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|importProductSets}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef ImportProductSetsCallback * @type {function} @@ -88382,7 +94245,7 @@ */ /** - * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch#purgeProducts}. + * Callback as used by {@link google.cloud.vision.v1p4beta1.ProductSearch|purgeProducts}. * @memberof google.cloud.vision.v1p4beta1.ProductSearch * @typedef PurgeProductsCallback * @type {function} @@ -88555,23 +94418,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.displayName = reader.string(); - break; - case 3: - message.description = reader.string(); - break; - case 4: - message.productCategory = reader.string(); - break; - case 5: - if (!(message.productLabels && message.productLabels.length)) - message.productLabels = []; - message.productLabels.push($root.google.cloud.vision.v1p4beta1.Product.KeyValue.decode(reader, reader.uint32())); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.displayName = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + case 4: { + message.productCategory = reader.string(); + break; + } + case 5: { + if (!(message.productLabels && message.productLabels.length)) + message.productLabels = []; + message.productLabels.push($root.google.cloud.vision.v1p4beta1.Product.KeyValue.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -88712,6 +94580,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Product + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Product + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Product.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Product"; + }; + Product.KeyValue = (function() { /** @@ -88815,12 +94698,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = reader.string(); - break; + case 1: { + message.key = reader.string(); + break; + } + case 2: { + message.value = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -88919,6 +94804,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for KeyValue + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Product.KeyValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + KeyValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Product.KeyValue"; + }; + return KeyValue; })(); @@ -89050,18 +94950,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.displayName = reader.string(); - break; - case 3: - message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.displayName = reader.string(); + break; + } + case 3: { + message.indexTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 4: { + message.indexError = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -89186,6 +95090,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSet + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ProductSet + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ProductSet"; + }; + return ProductSet; })(); @@ -89305,17 +95224,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.uri = reader.string(); - break; - case 3: - if (!(message.boundingPolys && message.boundingPolys.length)) - message.boundingPolys = []; - message.boundingPolys.push($root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32())); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.uri = reader.string(); + break; + } + case 3: { + if (!(message.boundingPolys && message.boundingPolys.length)) + message.boundingPolys = []; + message.boundingPolys.push($root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -89440,6 +95362,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ReferenceImage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ReferenceImage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ReferenceImage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ReferenceImage"; + }; + return ReferenceImage; })(); @@ -89557,15 +95494,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); - break; - case 3: - message.productId = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); + break; + } + case 3: { + message.productId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -89677,6 +95617,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CreateProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.CreateProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.CreateProductRequest"; + }; + return CreateProductRequest; })(); @@ -89794,15 +95749,18 @@ 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; + 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; @@ -89909,6 +95867,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ListProductsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ListProductsRequest"; + }; + return ListProductsRequest; })(); @@ -90017,14 +95990,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -90140,6 +96115,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ListProductsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ListProductsResponse"; + }; + return ListProductsResponse; })(); @@ -90235,9 +96225,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -90327,6 +96318,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.GetProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.GetProductRequest"; + }; + return GetProductRequest; })(); @@ -90433,12 +96439,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); - break; - case 2: - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); - break; + case 1: { + message.product = $root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -90547,6 +96555,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UpdateProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.UpdateProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.UpdateProductRequest"; + }; + return UpdateProductRequest; })(); @@ -90642,9 +96665,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -90734,6 +96758,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteProductRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.DeleteProductRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteProductRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.DeleteProductRequest"; + }; + return DeleteProductRequest; })(); @@ -90851,15 +96890,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); - break; - case 3: - message.productSetId = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); + break; + } + case 3: { + message.productSetId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -90971,6 +97013,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CreateProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.CreateProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.CreateProductSetRequest"; + }; + return CreateProductSetRequest; })(); @@ -91088,15 +97145,18 @@ 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; + 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; @@ -91203,6 +97263,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductSetsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductSetsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ListProductSetsRequest"; + }; + return ListProductSetsRequest; })(); @@ -91311,14 +97386,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.productSets && message.productSets.length)) - message.productSets = []; - message.productSets.push($root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.productSets && message.productSets.length)) + message.productSets = []; + message.productSets.push($root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -91434,6 +97511,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductSetsResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ListProductSetsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductSetsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ListProductSetsResponse"; + }; + return ListProductSetsResponse; })(); @@ -91529,9 +97621,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -91621,6 +97714,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.GetProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.GetProductSetRequest"; + }; + return GetProductSetRequest; })(); @@ -91727,12 +97835,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); - break; - case 2: - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); - break; + case 1: { + message.productSet = $root.google.cloud.vision.v1p4beta1.ProductSet.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -91841,6 +97951,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UpdateProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.UpdateProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.UpdateProductSetRequest"; + }; + return UpdateProductSetRequest; })(); @@ -91936,9 +98061,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -92028,6 +98154,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.DeleteProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.DeleteProductSetRequest"; + }; + return DeleteProductSetRequest; })(); @@ -92145,15 +98286,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32()); - break; - case 3: - message.referenceImageId = reader.string(); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.referenceImage = $root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32()); + break; + } + case 3: { + message.referenceImageId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -92265,6 +98409,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CreateReferenceImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.CreateReferenceImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateReferenceImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.CreateReferenceImageRequest"; + }; + return CreateReferenceImageRequest; })(); @@ -92382,15 +98541,18 @@ 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; + 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; @@ -92497,6 +98659,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListReferenceImagesRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListReferenceImagesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ListReferenceImagesRequest"; + }; + return ListReferenceImagesRequest; })(); @@ -92616,17 +98793,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.referenceImages && message.referenceImages.length)) - message.referenceImages = []; - message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -92751,6 +98931,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListReferenceImagesResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ListReferenceImagesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListReferenceImagesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ListReferenceImagesResponse"; + }; + return ListReferenceImagesResponse; })(); @@ -92846,9 +99041,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -92938,6 +99134,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetReferenceImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.GetReferenceImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetReferenceImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.GetReferenceImageRequest"; + }; + return GetReferenceImageRequest; })(); @@ -93033,9 +99244,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -93125,6 +99337,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteReferenceImageRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteReferenceImageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest"; + }; + return DeleteReferenceImageRequest; })(); @@ -93231,12 +99458,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.product = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.product = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -93335,6 +99564,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for AddProductToProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.AddProductToProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AddProductToProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.AddProductToProductSetRequest"; + }; + return AddProductToProductSetRequest; })(); @@ -93441,12 +99685,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.product = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.product = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -93545,6 +99791,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for RemoveProductFromProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RemoveProductFromProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest"; + }; + return RemoveProductFromProductSetRequest; })(); @@ -93662,15 +99923,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.pageToken = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -93777,6 +100041,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsInProductSetRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsInProductSetRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest"; + }; + return ListProductsInProductSetRequest; })(); @@ -93885,14 +100164,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.products && message.products.length)) - message.products = []; - message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.products && message.products.length)) + message.products = []; + message.products.push($root.google.cloud.vision.v1p4beta1.Product.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -94008,6 +100289,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListProductsInProductSetResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListProductsInProductSetResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse"; + }; + return ListProductsInProductSetResponse; })(); @@ -94103,9 +100399,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.csvFileUri = reader.string(); - break; + case 1: { + message.csvFileUri = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -94195,6 +100492,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsGcsSource + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsGcsSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource"; + }; + return ImportProductSetsGcsSource; })(); @@ -94304,9 +100616,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); - break; + case 1: { + message.gcsSource = $root.google.cloud.vision.v1p4beta1.ImportProductSetsGcsSource.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -94406,6 +100719,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsInputConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsInputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig"; + }; + return ImportProductSetsInputConfig; })(); @@ -94512,12 +100840,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.parent = reader.string(); - break; - case 2: - message.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); - break; + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.inputConfig = $root.google.cloud.vision.v1p4beta1.ImportProductSetsInputConfig.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -94621,6 +100951,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ImportProductSetsRequest"; + }; + return ImportProductSetsRequest; })(); @@ -94731,16 +101076,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.referenceImages && message.referenceImages.length)) - message.referenceImages = []; - message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.statuses && message.statuses.length)) - message.statuses = []; - message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.referenceImages && message.referenceImages.length)) + message.referenceImages = []; + message.referenceImages.push($root.google.cloud.vision.v1p4beta1.ReferenceImage.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.statuses && message.statuses.length)) + message.statuses = []; + message.statuses.push($root.google.rpc.Status.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -94873,6 +101220,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ImportProductSetsResponse + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ImportProductSetsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportProductSetsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ImportProductSetsResponse"; + }; + return ImportProductSetsResponse; })(); @@ -94990,15 +101352,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; - case 2: - message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 3: - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; + case 1: { + message.state = reader.int32(); + break; + } + case 2: { + message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 3: { + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -95143,6 +101508,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BatchOperationMetadata + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.BatchOperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchOperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.BatchOperationMetadata"; + }; + /** * State enum. * @name google.cloud.vision.v1p4beta1.BatchOperationMetadata.State @@ -95258,9 +101638,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.productSetId = reader.string(); - break; + case 1: { + message.productSetId = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -95350,6 +101731,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ProductSetPurgeConfig + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.ProductSetPurgeConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ProductSetPurgeConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.ProductSetPurgeConfig"; + }; + return ProductSetPurgeConfig; })(); @@ -95492,18 +101888,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.productSetPurgeConfig = $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.decode(reader, reader.uint32()); - break; - case 3: - message.deleteOrphanProducts = reader.bool(); - break; - case 1: - message.parent = reader.string(); - break; - case 4: - message.force = reader.bool(); - break; + case 2: { + message.productSetPurgeConfig = $root.google.cloud.vision.v1p4beta1.ProductSetPurgeConfig.decode(reader, reader.uint32()); + break; + } + case 3: { + message.deleteOrphanProducts = reader.bool(); + break; + } + case 1: { + message.parent = reader.string(); + break; + } + case 4: { + message.force = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -95635,6 +102035,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for PurgeProductsRequest + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.PurgeProductsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PurgeProductsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.PurgeProductsRequest"; + }; + return PurgeProductsRequest; })(); @@ -95743,14 +102158,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.pages && message.pages.length)) - message.pages = []; - message.pages.push($root.google.cloud.vision.v1p4beta1.Page.decode(reader, reader.uint32())); - break; - case 2: - message.text = reader.string(); - break; + case 1: { + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.cloud.vision.v1p4beta1.Page.decode(reader, reader.uint32())); + break; + } + case 2: { + message.text = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -95866,6 +102283,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextAnnotation + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.TextAnnotation"; + }; + TextAnnotation.DetectedLanguage = (function() { /** @@ -95969,12 +102401,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.languageCode = reader.string(); - break; - case 2: - message.confidence = reader.float(); - break; + case 1: { + message.languageCode = reader.string(); + break; + } + case 2: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -96073,6 +102507,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedLanguage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedLanguage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage"; + }; + return DetectedLanguage; })(); @@ -96179,12 +102628,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.isPrefix = reader.bool(); - break; + case 1: { + message.type = reader.int32(); + break; + } + case 2: { + message.isPrefix = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -96316,6 +102767,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DetectedBreak + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DetectedBreak.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak"; + }; + /** * BreakType enum. * @name google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType @@ -96446,14 +102912,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.detectedLanguages && message.detectedLanguages.length)) - message.detectedLanguages = []; - message.detectedLanguages.push($root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); - break; - case 2: - message.detectedBreak = $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); - break; + case 1: { + if (!(message.detectedLanguages && message.detectedLanguages.length)) + message.detectedLanguages = []; + message.detectedLanguages.push($root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedLanguage.decode(reader, reader.uint32())); + break; + } + case 2: { + message.detectedBreak = $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -96574,6 +103042,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for TextProperty + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TextProperty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty"; + }; + return TextProperty; })(); @@ -96718,23 +103201,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.width = reader.int32(); - break; - case 3: - message.height = reader.int32(); - break; - case 4: - if (!(message.blocks && message.blocks.length)) - message.blocks = []; - message.blocks.push($root.google.cloud.vision.v1p4beta1.Block.decode(reader, reader.uint32())); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.width = reader.int32(); + break; + } + case 3: { + message.height = reader.int32(); + break; + } + case 4: { + if (!(message.blocks && message.blocks.length)) + message.blocks = []; + message.blocks.push($root.google.cloud.vision.v1p4beta1.Block.decode(reader, reader.uint32())); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -96880,6 +103368,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Page + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Page + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Page.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Page"; + }; + return Page; })(); @@ -97021,23 +103524,28 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.paragraphs && message.paragraphs.length)) - message.paragraphs = []; - message.paragraphs.push($root.google.cloud.vision.v1p4beta1.Paragraph.decode(reader, reader.uint32())); - break; - case 4: - message.blockType = reader.int32(); - break; - case 5: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.paragraphs && message.paragraphs.length)) + message.paragraphs = []; + message.paragraphs.push($root.google.cloud.vision.v1p4beta1.Paragraph.decode(reader, reader.uint32())); + break; + } + case 4: { + message.blockType = reader.int32(); + break; + } + case 5: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -97221,6 +103729,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Block + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Block + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Block.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Block"; + }; + /** * BlockType enum. * @name google.cloud.vision.v1p4beta1.Block.BlockType @@ -97373,20 +103896,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.words && message.words.length)) - message.words = []; - message.words.push($root.google.cloud.vision.v1p4beta1.Word.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.words && message.words.length)) + message.words = []; + message.words.push($root.google.cloud.vision.v1p4beta1.Word.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -97529,6 +104056,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Paragraph + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Paragraph + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Paragraph.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Paragraph"; + }; + return Paragraph; })(); @@ -97659,20 +104201,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.symbols && message.symbols.length)) - message.symbols = []; - message.symbols.push($root.google.cloud.vision.v1p4beta1.Symbol.decode(reader, reader.uint32())); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.symbols && message.symbols.length)) + message.symbols = []; + message.symbols.push($root.google.cloud.vision.v1p4beta1.Symbol.decode(reader, reader.uint32())); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -97815,6 +104361,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Word + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Word + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Word.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Word"; + }; + return Word; })(); @@ -97943,18 +104504,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); - break; - case 2: - message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); - break; - case 3: - message.text = reader.string(); - break; - case 4: - message.confidence = reader.float(); - break; + case 1: { + message.property = $root.google.cloud.vision.v1p4beta1.TextAnnotation.TextProperty.decode(reader, reader.uint32()); + break; + } + case 2: { + message.boundingBox = $root.google.cloud.vision.v1p4beta1.BoundingPoly.decode(reader, reader.uint32()); + break; + } + case 3: { + message.text = reader.string(); + break; + } + case 4: { + message.confidence = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -98079,6 +104644,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Symbol + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.Symbol + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Symbol.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.Symbol"; + }; + return Symbol; })(); @@ -98241,36 +104821,42 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.webEntities && message.webEntities.length)) - message.webEntities = []; - message.webEntities.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) - message.pagesWithMatchingImages = []; - message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebPage.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) - message.visuallySimilarImages = []; - message.visuallySimilarImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 8: - if (!(message.bestGuessLabels && message.bestGuessLabels.length)) - message.bestGuessLabels = []; - message.bestGuessLabels.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.webEntities && message.webEntities.length)) + message.webEntities = []; + message.webEntities.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebEntity.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.pagesWithMatchingImages && message.pagesWithMatchingImages.length)) + message.pagesWithMatchingImages = []; + message.pagesWithMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebPage.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.visuallySimilarImages && message.visuallySimilarImages.length)) + message.visuallySimilarImages = []; + message.visuallySimilarImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 8: { + if (!(message.bestGuessLabels && message.bestGuessLabels.length)) + message.bestGuessLabels = []; + message.bestGuessLabels.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebLabel.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -98503,6 +105089,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebDetection + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.WebDetection + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebDetection.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.WebDetection"; + }; + WebDetection.WebEntity = (function() { /** @@ -98617,15 +105218,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.entityId = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.description = reader.string(); - break; + case 1: { + message.entityId = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.description = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -98732,6 +105336,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebEntity + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebEntity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebEntity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.WebDetection.WebEntity"; + }; + return WebEntity; })(); @@ -98838,12 +105457,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -98942,6 +105563,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebImage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebImage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebImage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.WebDetection.WebImage"; + }; + return WebImage; })(); @@ -99085,25 +105721,30 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.url = reader.string(); - break; - case 2: - message.score = reader.float(); - break; - case 3: - message.pageTitle = reader.string(); - break; - case 4: - if (!(message.fullMatchingImages && message.fullMatchingImages.length)) - message.fullMatchingImages = []; - message.fullMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.partialMatchingImages && message.partialMatchingImages.length)) - message.partialMatchingImages = []; - message.partialMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); - break; + case 1: { + message.url = reader.string(); + break; + } + case 2: { + message.score = reader.float(); + break; + } + case 3: { + message.pageTitle = reader.string(); + break; + } + case 4: { + if (!(message.fullMatchingImages && message.fullMatchingImages.length)) + message.fullMatchingImages = []; + message.fullMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.partialMatchingImages && message.partialMatchingImages.length)) + message.partialMatchingImages = []; + message.partialMatchingImages.push($root.google.cloud.vision.v1p4beta1.WebDetection.WebImage.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -99262,6 +105903,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebPage + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebPage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebPage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.WebDetection.WebPage"; + }; + return WebPage; })(); @@ -99368,12 +106024,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.label = reader.string(); - break; - case 2: - message.languageCode = reader.string(); - break; + case 1: { + message.label = reader.string(); + break; + } + case 2: { + message.languageCode = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -99472,6 +106130,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WebLabel + * @function getTypeUrl + * @memberof google.cloud.vision.v1p4beta1.WebDetection.WebLabel + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WebLabel.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.vision.v1p4beta1.WebDetection.WebLabel"; + }; + return WebLabel; })(); @@ -99601,14 +106274,16 @@ 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; + 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; @@ -99724,6 +106399,21 @@ 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; })(); @@ -99934,38 +106624,48 @@ 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; + 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; @@ -100187,6 +106887,21 @@ 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; })(); @@ -100293,12 +107008,14 @@ 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; + case 1: { + message.kind = reader.string(); + break; + } + case 2: { + message.path = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -100397,6 +107114,21 @@ 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; })(); @@ -100591,36 +107323,43 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - if (!(message.pattern && message.pattern.length)) - message.pattern = []; - message.pattern.push(reader.string()); - break; - case 3: - message.nameField = reader.string(); - break; - case 4: - message.history = reader.int32(); - break; - case 5: - message.plural = reader.string(); - break; - case 6: - message.singular = reader.string(); - break; - case 10: - if (!(message.style && message.style.length)) - message.style = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.type = reader.string(); + break; + } + case 2: { + if (!(message.pattern && message.pattern.length)) + message.pattern = []; + message.pattern.push(reader.string()); + break; + } + case 3: { + message.nameField = reader.string(); + break; + } + case 4: { + message.history = reader.int32(); + break; + } + case 5: { + message.plural = reader.string(); + break; + } + case 6: { + message.singular = reader.string(); + break; + } + case 10: { + if (!(message.style && message.style.length)) + message.style = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.style.push(reader.int32()); + } else message.style.push(reader.int32()); - } else - message.style.push(reader.int32()); - break; + break; + } default: reader.skipType(tag & 7); break; @@ -100818,6 +107557,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ResourceDescriptor + * @function getTypeUrl + * @memberof google.api.ResourceDescriptor + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResourceDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.ResourceDescriptor"; + }; + /** * History enum. * @name google.api.ResourceDescriptor.History @@ -100954,12 +107708,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - message.childType = reader.string(); - break; + case 1: { + message.type = reader.string(); + break; + } + case 2: { + message.childType = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -101058,6 +107814,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ResourceReference + * @function getTypeUrl + * @memberof google.api.ResourceReference + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResourceReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.ResourceReference"; + }; + return ResourceReference; })(); @@ -101167,11 +107938,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.file && message.file.length)) - message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.file && message.file.length)) + message.file = []; + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -101278,6 +108050,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FileDescriptorSet + * @function getTypeUrl + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileDescriptorSet"; + }; + return FileDescriptorSet; })(); @@ -101299,6 +108086,7 @@ * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo * @property {string|null} [syntax] FileDescriptorProto syntax + * @property {string|null} [edition] FileDescriptorProto edition */ /** @@ -101419,6 +108207,14 @@ */ FileDescriptorProto.prototype.syntax = ""; + /** + * FileDescriptorProto edition. + * @member {string} edition + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.edition = ""; + /** * Creates a new FileDescriptorProto instance using the specified properties. * @function create @@ -101474,6 +108270,8 @@ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); + if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) + writer.uint32(/* id 13, wireType 2 =*/106).string(message.edition); return writer; }; @@ -101508,66 +108306,82 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message["package"] = reader.string(); - break; - case 3: - if (!(message.dependency && message.dependency.length)) - message.dependency = []; - message.dependency.push(reader.string()); - break; - case 10: - if (!(message.publicDependency && message.publicDependency.length)) - message.publicDependency = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message["package"] = reader.string(); + break; + } + case 3: { + if (!(message.dependency && message.dependency.length)) + message.dependency = []; + message.dependency.push(reader.string()); + break; + } + case 10: { + if (!(message.publicDependency && message.publicDependency.length)) + message.publicDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.publicDependency.push(reader.int32()); + } else message.publicDependency.push(reader.int32()); - } else - message.publicDependency.push(reader.int32()); - break; - case 11: - if (!(message.weakDependency && message.weakDependency.length)) - message.weakDependency = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + break; + } + case 11: { + if (!(message.weakDependency && message.weakDependency.length)) + message.weakDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.weakDependency.push(reader.int32()); + } else message.weakDependency.push(reader.int32()); - } else - message.weakDependency.push(reader.int32()); - break; - case 4: - if (!(message.messageType && message.messageType.length)) - message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.enumType && message.enumType.length)) - message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.service && message.service.length)) - message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); - break; - case 7: - if (!(message.extension && message.extension.length)) - message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - case 8: - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); - break; - case 9: - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); - break; - case 12: - message.syntax = reader.string(); - break; + break; + } + case 4: { + if (!(message.messageType && message.messageType.length)) + message.messageType = []; + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.service && message.service.length)) + message.service = []; + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 7: { + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 8: { + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + break; + } + case 9: { + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + break; + } + case 12: { + message.syntax = reader.string(); + break; + } + case 13: { + message.edition = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -101679,6 +108493,9 @@ if (message.syntax != null && message.hasOwnProperty("syntax")) if (!$util.isString(message.syntax)) return "syntax: string expected"; + if (message.edition != null && message.hasOwnProperty("edition")) + if (!$util.isString(message.edition)) + return "edition: string expected"; return null; }; @@ -101771,6 +108588,8 @@ } if (object.syntax != null) message.syntax = String(object.syntax); + if (object.edition != null) + message.edition = String(object.edition); return message; }; @@ -101802,6 +108621,7 @@ object.options = null; object.sourceCodeInfo = null; object.syntax = ""; + object.edition = ""; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -101848,6 +108668,8 @@ } if (message.syntax != null && message.hasOwnProperty("syntax")) object.syntax = message.syntax; + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = message.edition; return object; }; @@ -101862,6 +108684,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FileDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileDescriptorProto"; + }; + return FileDescriptorProto; })(); @@ -102072,52 +108909,62 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - if (!(message.field && message.field.length)) - message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.extension && message.extension.length)) - message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.nestedType && message.nestedType.length)) - message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.enumType && message.enumType.length)) - message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.extensionRange && message.extensionRange.length)) - message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); - break; - case 8: - if (!(message.oneofDecl && message.oneofDecl.length)) - message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); - break; - case 7: - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); - break; - case 9: - if (!(message.reservedRange && message.reservedRange.length)) - message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); - break; - case 10: - if (!(message.reservedName && message.reservedName.length)) - message.reservedName = []; - message.reservedName.push(reader.string()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.field && message.field.length)) + message.field = []; + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.nestedType && message.nestedType.length)) + message.nestedType = []; + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.extensionRange && message.extensionRange.length)) + message.extensionRange = []; + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + break; + } + case 8: { + if (!(message.oneofDecl && message.oneofDecl.length)) + message.oneofDecl = []; + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 7: { + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + break; + } + case 9: { + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + break; + } + case 10: { + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -102418,6 +109265,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto"; + }; + DescriptorProto.ExtensionRange = (function() { /** @@ -102532,15 +109394,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.start = reader.int32(); - break; - case 2: - message.end = reader.int32(); - break; - case 3: - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); - break; + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } + case 3: { + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -102652,6 +109517,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExtensionRange + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExtensionRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto.ExtensionRange"; + }; + return ExtensionRange; })(); @@ -102758,12 +109638,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.start = reader.int32(); - break; - case 2: - message.end = reader.int32(); - break; + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -102862,6 +109744,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ReservedRange + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto.ReservedRange"; + }; + return ReservedRange; })(); @@ -102962,11 +109859,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -103073,6 +109971,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ExtensionRangeOptions + * @function getTypeUrl + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExtensionRangeOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions"; + }; + return ExtensionRangeOptions; })(); @@ -103278,39 +110191,50 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 3: - message.number = reader.int32(); - break; - case 4: - message.label = reader.int32(); - break; - case 5: - message.type = reader.int32(); - break; - case 6: - message.typeName = reader.string(); - break; - case 2: - message.extendee = reader.string(); - break; - case 7: - message.defaultValue = reader.string(); - break; - case 9: - message.oneofIndex = reader.int32(); - break; - case 10: - message.jsonName = reader.string(); - break; - case 8: - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); - break; - case 17: - message.proto3Optional = reader.bool(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 3: { + message.number = reader.int32(); + break; + } + case 4: { + message.label = reader.int32(); + break; + } + case 5: { + message.type = reader.int32(); + break; + } + case 6: { + message.typeName = reader.string(); + break; + } + case 2: { + message.extendee = reader.string(); + break; + } + case 7: { + message.defaultValue = reader.string(); + break; + } + case 9: { + message.oneofIndex = reader.int32(); + break; + } + case 10: { + message.jsonName = reader.string(); + break; + } + case 8: { + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + break; + } + case 17: { + message.proto3Optional = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -103597,6 +110521,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FieldDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldDescriptorProto"; + }; + /** * Type enum. * @name google.protobuf.FieldDescriptorProto.Type @@ -103765,12 +110704,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -103874,6 +110815,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OneofDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OneofDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.OneofDescriptorProto"; + }; + return OneofDescriptorProto; })(); @@ -104019,27 +110975,32 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - if (!(message.value && message.value.length)) - message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); - break; - case 3: - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.reservedRange && message.reservedRange.length)) - message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.reservedName && message.reservedName.length)) - message.reservedName = []; - message.reservedName.push(reader.string()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.value && message.value.length)) + message.value = []; + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -104215,6 +111176,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto"; + }; + EnumDescriptorProto.EnumReservedRange = (function() { /** @@ -104318,12 +111294,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.start = reader.int32(); - break; - case 2: - message.end = reader.int32(); - break; + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -104422,6 +111400,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumReservedRange + * @function getTypeUrl + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto.EnumReservedRange"; + }; + return EnumReservedRange; })(); @@ -104542,15 +111535,18 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.number = reader.int32(); - break; - case 3: - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.number = reader.int32(); + break; + } + case 3: { + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -104662,6 +111658,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumValueDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumValueDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumValueDescriptorProto"; + }; + return EnumValueDescriptorProto; })(); @@ -104781,17 +111792,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - if (!(message.method && message.method.length)) - message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); - break; - case 3: - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.method && message.method.length)) + message.method = []; + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -104921,6 +111935,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ServiceDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ServiceDescriptorProto"; + }; + return ServiceDescriptorProto; })(); @@ -105071,24 +112100,30 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.inputType = reader.string(); - break; - case 3: - message.outputType = reader.string(); - break; - case 4: - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); - break; - case 5: - message.clientStreaming = reader.bool(); - break; - case 6: - message.serverStreaming = reader.bool(); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.inputType = reader.string(); + break; + } + case 3: { + message.outputType = reader.string(); + break; + } + case 4: { + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + break; + } + case 5: { + message.clientStreaming = reader.bool(); + break; + } + case 6: { + message.serverStreaming = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -105224,6 +112259,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for MethodDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MethodDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MethodDescriptorProto"; + }; + return MethodDescriptorProto; })(); @@ -105554,76 +112604,98 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.javaPackage = reader.string(); - break; - case 8: - message.javaOuterClassname = reader.string(); - break; - case 10: - message.javaMultipleFiles = reader.bool(); - break; - case 20: - message.javaGenerateEqualsAndHash = reader.bool(); - break; - case 27: - message.javaStringCheckUtf8 = reader.bool(); - break; - case 9: - message.optimizeFor = reader.int32(); - break; - case 11: - message.goPackage = reader.string(); - break; - case 16: - message.ccGenericServices = reader.bool(); - break; - case 17: - message.javaGenericServices = reader.bool(); - break; - case 18: - message.pyGenericServices = reader.bool(); - break; - case 42: - message.phpGenericServices = reader.bool(); - break; - case 23: - message.deprecated = reader.bool(); - break; - case 31: - message.ccEnableArenas = reader.bool(); - break; - case 36: - message.objcClassPrefix = reader.string(); - break; - case 37: - message.csharpNamespace = reader.string(); - break; - case 39: - message.swiftPrefix = reader.string(); - break; - case 40: - message.phpClassPrefix = reader.string(); - break; - case 41: - message.phpNamespace = reader.string(); - break; - case 44: - message.phpMetadataNamespace = reader.string(); - break; - case 45: - message.rubyPackage = reader.string(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 1053: - if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) - message[".google.api.resourceDefinition"] = []; - message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); - break; + case 1: { + message.javaPackage = reader.string(); + break; + } + case 8: { + message.javaOuterClassname = reader.string(); + break; + } + case 10: { + message.javaMultipleFiles = reader.bool(); + break; + } + case 20: { + message.javaGenerateEqualsAndHash = reader.bool(); + break; + } + case 27: { + message.javaStringCheckUtf8 = reader.bool(); + break; + } + case 9: { + message.optimizeFor = reader.int32(); + break; + } + case 11: { + message.goPackage = reader.string(); + break; + } + case 16: { + message.ccGenericServices = reader.bool(); + break; + } + case 17: { + message.javaGenericServices = reader.bool(); + break; + } + case 18: { + message.pyGenericServices = reader.bool(); + break; + } + case 42: { + message.phpGenericServices = reader.bool(); + break; + } + case 23: { + message.deprecated = reader.bool(); + break; + } + case 31: { + message.ccEnableArenas = reader.bool(); + break; + } + case 36: { + message.objcClassPrefix = reader.string(); + break; + } + case 37: { + message.csharpNamespace = reader.string(); + break; + } + case 39: { + message.swiftPrefix = reader.string(); + break; + } + case 40: { + message.phpClassPrefix = reader.string(); + break; + } + case 41: { + message.phpNamespace = reader.string(); + break; + } + case 44: { + message.phpMetadataNamespace = reader.string(); + break; + } + case 45: { + message.rubyPackage = reader.string(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1053: { + if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) + message[".google.api.resourceDefinition"] = []; + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -105936,6 +113008,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FileOptions + * @function getTypeUrl + * @memberof google.protobuf.FileOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileOptions"; + }; + /** * OptimizeMode enum. * @name google.protobuf.FileOptions.OptimizeMode @@ -106104,26 +113191,32 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.messageSetWireFormat = reader.bool(); - break; - case 2: - message.noStandardDescriptorAccessor = reader.bool(); - break; - case 3: - message.deprecated = reader.bool(); - break; - case 7: - message.mapEntry = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 1053: - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); - break; + case 1: { + message.messageSetWireFormat = reader.bool(); + break; + } + case 2: { + message.noStandardDescriptorAccessor = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 7: { + message.mapEntry = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1053: { + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -106277,6 +113370,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for MessageOptions + * @function getTypeUrl + * @memberof google.protobuf.MessageOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MessageOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MessageOptions"; + }; + return MessageOptions; })(); @@ -106290,6 +113398,7 @@ * @property {boolean|null} [packed] FieldOptions packed * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype * @property {boolean|null} [lazy] FieldOptions lazy + * @property {boolean|null} [unverifiedLazy] FieldOptions unverifiedLazy * @property {boolean|null} [deprecated] FieldOptions deprecated * @property {boolean|null} [weak] FieldOptions weak * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption @@ -106346,6 +113455,14 @@ */ FieldOptions.prototype.lazy = false; + /** + * FieldOptions unverifiedLazy. + * @member {boolean} unverifiedLazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.unverifiedLazy = false; + /** * FieldOptions deprecated. * @member {boolean} deprecated @@ -106422,6 +113539,8 @@ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); + if (message.unverifiedLazy != null && Object.hasOwnProperty.call(message, "unverifiedLazy")) + writer.uint32(/* id 15, wireType 0 =*/120).bool(message.unverifiedLazy); if (message.uninterpretedOption != null && message.uninterpretedOption.length) for (var i = 0; i < message.uninterpretedOption.length; ++i) $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); @@ -106467,42 +113586,55 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.ctype = reader.int32(); - break; - case 2: - message.packed = reader.bool(); - break; - case 6: - message.jstype = reader.int32(); - break; - case 5: - message.lazy = reader.bool(); - break; - case 3: - message.deprecated = reader.bool(); - break; - case 10: - message.weak = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 1052: - if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length)) - message[".google.api.fieldBehavior"] = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + message.ctype = reader.int32(); + break; + } + case 2: { + message.packed = reader.bool(); + break; + } + case 6: { + message.jstype = reader.int32(); + break; + } + case 5: { + message.lazy = reader.bool(); + break; + } + case 15: { + message.unverifiedLazy = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 10: { + message.weak = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1052: { + if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length)) + message[".google.api.fieldBehavior"] = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message[".google.api.fieldBehavior"].push(reader.int32()); + } else message[".google.api.fieldBehavior"].push(reader.int32()); - } else - message[".google.api.fieldBehavior"].push(reader.int32()); - break; - case 1055: - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); - break; + break; + } + case 1055: { + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -106562,6 +113694,9 @@ if (message.lazy != null && message.hasOwnProperty("lazy")) if (typeof message.lazy !== "boolean") return "lazy: boolean expected"; + if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) + if (typeof message.unverifiedLazy !== "boolean") + return "unverifiedLazy: boolean expected"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; @@ -106647,6 +113782,8 @@ } if (object.lazy != null) message.lazy = Boolean(object.lazy); + if (object.unverifiedLazy != null) + message.unverifiedLazy = Boolean(object.unverifiedLazy); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); if (object.weak != null) @@ -106734,6 +113871,7 @@ object.lazy = false; object.jstype = options.enums === String ? "JS_NORMAL" : 0; object.weak = false; + object.unverifiedLazy = false; object[".google.api.resourceReference"] = null; } if (message.ctype != null && message.hasOwnProperty("ctype")) @@ -106748,6 +113886,8 @@ object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; if (message.weak != null && message.hasOwnProperty("weak")) object.weak = message.weak; + if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) + object.unverifiedLazy = message.unverifiedLazy; if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -106774,6 +113914,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FieldOptions + * @function getTypeUrl + * @memberof google.protobuf.FieldOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldOptions"; + }; + /** * CType enum. * @name google.protobuf.FieldOptions.CType @@ -106903,11 +114058,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -107014,6 +114170,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OneofOptions + * @function getTypeUrl + * @memberof google.protobuf.OneofOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OneofOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.OneofOptions"; + }; + return OneofOptions; })(); @@ -107133,17 +114304,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - message.allowAlias = reader.bool(); - break; - case 3: - message.deprecated = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; + case 2: { + message.allowAlias = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -107268,6 +114442,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumOptions + * @function getTypeUrl + * @memberof google.protobuf.EnumOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumOptions"; + }; + return EnumOptions; })(); @@ -107376,14 +114565,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.deprecated = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; + case 1: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -107499,6 +114690,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for EnumValueOptions + * @function getTypeUrl + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumValueOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumValueOptions"; + }; + return EnumValueOptions; })(); @@ -107629,20 +114835,24 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 33: - message.deprecated = reader.bool(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 1049: - message[".google.api.defaultHost"] = reader.string(); - break; - case 1050: - message[".google.api.oauthScopes"] = reader.string(); - break; + case 33: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1049: { + message[".google.api.defaultHost"] = reader.string(); + break; + } + case 1050: { + message[".google.api.oauthScopes"] = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -107775,6 +114985,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ServiceOptions + * @function getTypeUrl + * @memberof google.protobuf.ServiceOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ServiceOptions"; + }; + return ServiceOptions; })(); @@ -107929,28 +115154,34 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 33: - message.deprecated = reader.bool(); - break; - case 34: - message.idempotencyLevel = reader.int32(); - break; - case 999: - if (!(message.uninterpretedOption && message.uninterpretedOption.length)) - message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); - break; - case 72295728: - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); - break; - case 1051: - if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length)) - message[".google.api.methodSignature"] = []; - message[".google.api.methodSignature"].push(reader.string()); - break; - case 1049: - message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); - break; + case 33: { + message.deprecated = reader.bool(); + break; + } + case 34: { + message.idempotencyLevel = reader.int32(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 72295728: { + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + break; + } + case 1051: { + if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length)) + message[".google.api.methodSignature"] = []; + message[".google.api.methodSignature"].push(reader.string()); + break; + } + case 1049: { + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -108140,6 +115371,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for MethodOptions + * @function getTypeUrl + * @memberof google.protobuf.MethodOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MethodOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MethodOptions"; + }; + /** * IdempotencyLevel enum. * @name google.protobuf.MethodOptions.IdempotencyLevel @@ -108319,29 +115565,36 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 2: - if (!(message.name && message.name.length)) - message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); - break; - case 3: - message.identifierValue = reader.string(); - break; - case 4: - message.positiveIntValue = reader.uint64(); - break; - case 5: - message.negativeIntValue = reader.int64(); - break; - case 6: - message.doubleValue = reader.double(); - break; - case 7: - message.stringValue = reader.bytes(); - break; - case 8: - message.aggregateValue = reader.string(); - break; + case 2: { + if (!(message.name && message.name.length)) + message.name = []; + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + break; + } + case 3: { + message.identifierValue = reader.string(); + break; + } + case 4: { + message.positiveIntValue = reader.uint64(); + break; + } + case 5: { + message.negativeIntValue = reader.int64(); + break; + } + case 6: { + message.doubleValue = reader.double(); + break; + } + case 7: { + message.stringValue = reader.bytes(); + break; + } + case 8: { + message.aggregateValue = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -108454,7 +115707,7 @@ if (object.stringValue != null) if (typeof object.stringValue === "string") $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0); - else if (object.stringValue.length) + else if (object.stringValue.length >= 0) message.stringValue = object.stringValue; if (object.aggregateValue != null) message.aggregateValue = String(object.aggregateValue); @@ -108535,6 +115788,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UninterpretedOption + * @function getTypeUrl + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UninterpretedOption.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UninterpretedOption"; + }; + UninterpretedOption.NamePart = (function() { /** @@ -108636,12 +115904,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.namePart = reader.string(); - break; - case 2: - message.isExtension = reader.bool(); - break; + case 1: { + message.namePart = reader.string(); + break; + } + case 2: { + message.isExtension = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -108742,6 +116012,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for NamePart + * @function getTypeUrl + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NamePart.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UninterpretedOption.NamePart"; + }; + return NamePart; })(); @@ -108842,11 +116127,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.location && message.location.length)) - message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.location && message.location.length)) + message.location = []; + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -108953,6 +116239,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for SourceCodeInfo + * @function getTypeUrl + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SourceCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.SourceCodeInfo"; + }; + SourceCodeInfo.Location = (function() { /** @@ -109101,37 +116402,42 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.path && message.path.length)) - message.path = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else message.path.push(reader.int32()); - } else - message.path.push(reader.int32()); - break; - case 2: - if (!(message.span && message.span.length)) - message.span = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + break; + } + case 2: { + if (!(message.span && message.span.length)) + message.span = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.span.push(reader.int32()); + } else message.span.push(reader.int32()); - } else - message.span.push(reader.int32()); - break; - case 3: - message.leadingComments = reader.string(); - break; - case 4: - message.trailingComments = reader.string(); - break; - case 6: - if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) - message.leadingDetachedComments = []; - message.leadingDetachedComments.push(reader.string()); - break; + break; + } + case 3: { + message.leadingComments = reader.string(); + break; + } + case 4: { + message.trailingComments = reader.string(); + break; + } + case 6: { + if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) + message.leadingDetachedComments = []; + message.leadingDetachedComments.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -109292,6 +116598,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Location + * @function getTypeUrl + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Location.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.SourceCodeInfo.Location"; + }; + return Location; })(); @@ -109392,11 +116713,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.annotation && message.annotation.length)) - message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); - break; + case 1: { + if (!(message.annotation && message.annotation.length)) + message.annotation = []; + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -109503,6 +116825,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GeneratedCodeInfo + * @function getTypeUrl + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GeneratedCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo"; + }; + GeneratedCodeInfo.Annotation = (function() { /** @@ -109513,6 +116850,7 @@ * @property {string|null} [sourceFile] Annotation sourceFile * @property {number|null} [begin] Annotation begin * @property {number|null} [end] Annotation end + * @property {google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null} [semantic] Annotation semantic */ /** @@ -109563,6 +116901,14 @@ */ Annotation.prototype.end = 0; + /** + * Annotation semantic. + * @member {google.protobuf.GeneratedCodeInfo.Annotation.Semantic} semantic + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.semantic = 0; + /** * Creates a new Annotation instance using the specified properties. * @function create @@ -109599,6 +116945,8 @@ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); if (message.end != null && Object.hasOwnProperty.call(message, "end")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); + if (message.semantic != null && Object.hasOwnProperty.call(message, "semantic")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.semantic); return writer; }; @@ -109633,25 +116981,33 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.path && message.path.length)) - message.path = []; - if ((tag & 7) === 2) { - var end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) + case 1: { + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else message.path.push(reader.int32()); - } else - message.path.push(reader.int32()); - break; - case 2: - message.sourceFile = reader.string(); - break; - case 3: - message.begin = reader.int32(); - break; - case 4: - message.end = reader.int32(); - break; + break; + } + case 2: { + message.sourceFile = reader.string(); + break; + } + case 3: { + message.begin = reader.int32(); + break; + } + case 4: { + message.end = reader.int32(); + break; + } + case 5: { + message.semantic = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -109703,6 +117059,15 @@ if (message.end != null && message.hasOwnProperty("end")) if (!$util.isInteger(message.end)) return "end: integer expected"; + if (message.semantic != null && message.hasOwnProperty("semantic")) + switch (message.semantic) { + default: + return "semantic: enum value expected"; + case 0: + case 1: + case 2: + break; + } return null; }; @@ -109731,6 +117096,20 @@ message.begin = object.begin | 0; if (object.end != null) message.end = object.end | 0; + switch (object.semantic) { + case "NONE": + case 0: + message.semantic = 0; + break; + case "SET": + case 1: + message.semantic = 1; + break; + case "ALIAS": + case 2: + message.semantic = 2; + break; + } return message; }; @@ -109753,6 +117132,7 @@ object.sourceFile = ""; object.begin = 0; object.end = 0; + object.semantic = options.enums === String ? "NONE" : 0; } if (message.path && message.path.length) { object.path = []; @@ -109765,6 +117145,8 @@ object.begin = message.begin; if (message.end != null && message.hasOwnProperty("end")) object.end = message.end; + if (message.semantic != null && message.hasOwnProperty("semantic")) + object.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic; return object; }; @@ -109779,6 +117161,37 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Annotation + * @function getTypeUrl + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Annotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo.Annotation"; + }; + + /** + * Semantic enum. + * @name google.protobuf.GeneratedCodeInfo.Annotation.Semantic + * @enum {number} + * @property {number} NONE=0 NONE value + * @property {number} SET=1 SET value + * @property {number} ALIAS=2 ALIAS value + */ + Annotation.Semantic = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "NONE"] = 0; + values[valuesById[1] = "SET"] = 1; + values[valuesById[2] = "ALIAS"] = 2; + return values; + })(); + return Annotation; })(); @@ -109888,12 +117301,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.type_url = reader.string(); - break; - case 2: - message.value = reader.bytes(); - break; + case 1: { + message.type_url = reader.string(); + break; + } + case 2: { + message.value = reader.bytes(); + break; + } default: reader.skipType(tag & 7); break; @@ -109955,7 +117370,7 @@ if (object.value != null) if (typeof object.value === "string") $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) + else if (object.value.length >= 0) message.value = object.value; return message; }; @@ -110001,6 +117416,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Any + * @function getTypeUrl + * @memberof google.protobuf.Any + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Any.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Any"; + }; + return Any; })(); @@ -110107,12 +117537,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.seconds = reader.int64(); - break; - case 2: - message.nanos = reader.int32(); - break; + case 1: { + message.seconds = reader.int64(); + break; + } + case 2: { + message.nanos = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -110225,6 +117657,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Duration + * @function getTypeUrl + * @memberof google.protobuf.Duration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Duration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Duration"; + }; + return Duration; })(); @@ -110385,6 +117832,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Empty + * @function getTypeUrl + * @memberof google.protobuf.Empty + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Empty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Empty"; + }; + return Empty; })(); @@ -110482,11 +117944,12 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.paths && message.paths.length)) - message.paths = []; - message.paths.push(reader.string()); - break; + case 1: { + if (!(message.paths && message.paths.length)) + message.paths = []; + message.paths.push(reader.string()); + break; + } default: reader.skipType(tag & 7); break; @@ -110588,6 +118051,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FieldMask + * @function getTypeUrl + * @memberof google.protobuf.FieldMask + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldMask.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldMask"; + }; + return FieldMask; })(); @@ -110694,12 +118172,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.seconds = reader.int64(); - break; - case 2: - message.nanos = reader.int32(); - break; + case 1: { + message.seconds = reader.int64(); + break; + } + case 2: { + message.nanos = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -110812,6 +118292,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Timestamp + * @function getTypeUrl + * @memberof google.protobuf.Timestamp + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Timestamp.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Timestamp"; + }; + return Timestamp; })(); @@ -110907,9 +118402,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.value = reader.double(); - break; + case 1: { + message.value = reader.double(); + break; + } default: reader.skipType(tag & 7); break; @@ -110999,6 +118495,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DoubleValue + * @function getTypeUrl + * @memberof google.protobuf.DoubleValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DoubleValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DoubleValue"; + }; + return DoubleValue; })(); @@ -111094,9 +118605,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.value = reader.float(); - break; + case 1: { + message.value = reader.float(); + break; + } default: reader.skipType(tag & 7); break; @@ -111186,6 +118698,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for FloatValue + * @function getTypeUrl + * @memberof google.protobuf.FloatValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FloatValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FloatValue"; + }; + return FloatValue; })(); @@ -111281,9 +118808,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.value = reader.int64(); - break; + case 1: { + message.value = reader.int64(); + break; + } default: reader.skipType(tag & 7); break; @@ -111387,6 +118915,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Int64Value + * @function getTypeUrl + * @memberof google.protobuf.Int64Value + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Int64Value.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Int64Value"; + }; + return Int64Value; })(); @@ -111482,9 +119025,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.value = reader.uint64(); - break; + case 1: { + message.value = reader.uint64(); + break; + } default: reader.skipType(tag & 7); break; @@ -111588,6 +119132,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UInt64Value + * @function getTypeUrl + * @memberof google.protobuf.UInt64Value + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UInt64Value.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UInt64Value"; + }; + return UInt64Value; })(); @@ -111683,9 +119242,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.value = reader.int32(); - break; + case 1: { + message.value = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -111775,6 +119335,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Int32Value + * @function getTypeUrl + * @memberof google.protobuf.Int32Value + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Int32Value.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Int32Value"; + }; + return Int32Value; })(); @@ -111870,9 +119445,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.value = reader.uint32(); - break; + case 1: { + message.value = reader.uint32(); + break; + } default: reader.skipType(tag & 7); break; @@ -111962,6 +119538,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for UInt32Value + * @function getTypeUrl + * @memberof google.protobuf.UInt32Value + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UInt32Value.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UInt32Value"; + }; + return UInt32Value; })(); @@ -112057,9 +119648,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.value = reader.bool(); - break; + case 1: { + message.value = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -112149,6 +119741,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BoolValue + * @function getTypeUrl + * @memberof google.protobuf.BoolValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BoolValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.BoolValue"; + }; + return BoolValue; })(); @@ -112244,9 +119851,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.value = reader.string(); - break; + case 1: { + message.value = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -112336,6 +119944,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for StringValue + * @function getTypeUrl + * @memberof google.protobuf.StringValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + StringValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.StringValue"; + }; + return StringValue; })(); @@ -112431,9 +120054,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.value = reader.bytes(); - break; + case 1: { + message.value = reader.bytes(); + break; + } default: reader.skipType(tag & 7); break; @@ -112490,7 +120114,7 @@ if (object.value != null) if (typeof object.value === "string") $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) + else if (object.value.length >= 0) message.value = object.value; return message; }; @@ -112532,6 +120156,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for BytesValue + * @function getTypeUrl + * @memberof google.protobuf.BytesValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BytesValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.BytesValue"; + }; + return BytesValue; })(); @@ -112580,7 +120219,7 @@ }; /** - * Callback as used by {@link google.longrunning.Operations#listOperations}. + * Callback as used by {@link google.longrunning.Operations|listOperations}. * @memberof google.longrunning.Operations * @typedef ListOperationsCallback * @type {function} @@ -112613,7 +120252,7 @@ */ /** - * Callback as used by {@link google.longrunning.Operations#getOperation}. + * Callback as used by {@link google.longrunning.Operations|getOperation}. * @memberof google.longrunning.Operations * @typedef GetOperationCallback * @type {function} @@ -112646,7 +120285,7 @@ */ /** - * Callback as used by {@link google.longrunning.Operations#deleteOperation}. + * Callback as used by {@link google.longrunning.Operations|deleteOperation}. * @memberof google.longrunning.Operations * @typedef DeleteOperationCallback * @type {function} @@ -112679,7 +120318,7 @@ */ /** - * Callback as used by {@link google.longrunning.Operations#cancelOperation}. + * Callback as used by {@link google.longrunning.Operations|cancelOperation}. * @memberof google.longrunning.Operations * @typedef CancelOperationCallback * @type {function} @@ -112712,7 +120351,7 @@ */ /** - * Callback as used by {@link google.longrunning.Operations#waitOperation}. + * Callback as used by {@link google.longrunning.Operations|waitOperation}. * @memberof google.longrunning.Operations * @typedef WaitOperationCallback * @type {function} @@ -112897,21 +120536,26 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.done = reader.bool(); - break; - case 4: - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); - break; - case 5: - message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + } + case 3: { + message.done = reader.bool(); + break; + } + case 4: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } + case 5: { + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -113062,6 +120706,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Operation + * @function getTypeUrl + * @memberof google.longrunning.Operation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Operation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.Operation"; + }; + return Operation; })(); @@ -113157,9 +120816,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -113249,6 +120909,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for GetOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.GetOperationRequest"; + }; + return GetOperationRequest; })(); @@ -113377,18 +121052,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 4: - message.name = reader.string(); - break; - case 1: - message.filter = reader.string(); - break; - case 2: - message.pageSize = reader.int32(); - break; - case 3: - message.pageToken = reader.string(); - break; + case 4: { + message.name = reader.string(); + break; + } + case 1: { + message.filter = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -113503,6 +121182,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListOperationsRequest + * @function getTypeUrl + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListOperationsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.ListOperationsRequest"; + }; + return ListOperationsRequest; })(); @@ -113611,14 +121305,16 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (!(message.operations && message.operations.length)) - message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); - break; - case 2: - message.nextPageToken = reader.string(); - break; + case 1: { + if (!(message.operations && message.operations.length)) + message.operations = []; + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -113734,6 +121430,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for ListOperationsResponse + * @function getTypeUrl + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListOperationsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.ListOperationsResponse"; + }; + return ListOperationsResponse; })(); @@ -113829,9 +121540,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -113921,6 +121633,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for CancelOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CancelOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.CancelOperationRequest"; + }; + return CancelOperationRequest; })(); @@ -114016,9 +121743,10 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; + case 1: { + message.name = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -114108,6 +121836,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for DeleteOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.DeleteOperationRequest"; + }; + return DeleteOperationRequest; })(); @@ -114214,12 +121957,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -114323,6 +122068,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for WaitOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WaitOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.WaitOperationRequest"; + }; + return WaitOperationRequest; })(); @@ -114429,12 +122189,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.responseType = reader.string(); - break; - case 2: - message.metadataType = reader.string(); - break; + case 1: { + message.responseType = reader.string(); + break; + } + case 2: { + message.metadataType = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -114533,6 +122295,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for OperationInfo + * @function getTypeUrl + * @memberof google.longrunning.OperationInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.OperationInfo"; + }; + return OperationInfo; })(); @@ -114664,17 +122441,20 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.code = reader.int32(); - break; - case 2: - message.message = reader.string(); - break; - case 3: - if (!(message.details && message.details.length)) - message.details = []; - message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); - break; + case 1: { + message.code = reader.int32(); + break; + } + case 2: { + message.message = reader.string(); + break; + } + case 3: { + if (!(message.details && message.details.length)) + message.details = []; + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -114799,6 +122579,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Status + * @function getTypeUrl + * @memberof google.rpc.Status + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Status.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.rpc.Status"; + }; + return Status; })(); @@ -114939,18 +122734,22 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.red = reader.float(); - break; - case 2: - message.green = reader.float(); - break; - case 3: - message.blue = reader.float(); - break; - case 4: - message.alpha = $root.google.protobuf.FloatValue.decode(reader, reader.uint32()); - break; + case 1: { + message.red = reader.float(); + break; + } + case 2: { + message.green = reader.float(); + break; + } + case 3: { + message.blue = reader.float(); + break; + } + case 4: { + message.alpha = $root.google.protobuf.FloatValue.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -115070,6 +122869,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for Color + * @function getTypeUrl + * @memberof google.type.Color + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Color.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.type.Color"; + }; + return Color; })(); @@ -115176,12 +122990,14 @@ while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { - case 1: - message.latitude = reader.double(); - break; - case 2: - message.longitude = reader.double(); - break; + case 1: { + message.latitude = reader.double(); + break; + } + case 2: { + message.longitude = reader.double(); + break; + } default: reader.skipType(tag & 7); break; @@ -115280,6 +123096,21 @@ return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; + /** + * Gets the default type url for LatLng + * @function getTypeUrl + * @memberof google.type.LatLng + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LatLng.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.type.LatLng"; + }; + return LatLng; })(); diff --git a/packages/google-cloud-vision/protos/protos.json b/packages/google-cloud-vision/protos/protos.json index 8f2d1b402a4..c0f5748afda 100644 --- a/packages/google-cloud-vision/protos/protos.json +++ b/packages/google-cloud-vision/protos/protos.json @@ -8956,6 +8956,10 @@ "syntax": { "type": "string", "id": 12 + }, + "edition": { + "type": "string", + "id": 13 } } }, @@ -9484,6 +9488,13 @@ "default": false } }, + "unverifiedLazy": { + "type": "bool", + "id": 15, + "options": { + "default": false + } + }, "deprecated": { "type": "bool", "id": 3, @@ -9776,6 +9787,19 @@ "end": { "type": "int32", "id": 4 + }, + "semantic": { + "type": "Semantic", + "id": 5 + } + }, + "nested": { + "Semantic": { + "values": { + "NONE": 0, + "SET": 1, + "ALIAS": 2 + } } } } From 6f969ff8f473d6adfd309377a775c9cfd13e7a3d Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 26 Aug 2022 21:10:50 +0200 Subject: [PATCH 556/588] fix(deps): update dependency redis to ~4.3.0 (#1039) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 2ab937b6d7f..e1f2cdd33d6 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -16,7 +16,7 @@ "@google-cloud/vision": "^2.4.2", "natural": "^5.0.0", "pureimage": "^0.3.0", - "redis": "~4.2.0", + "redis": "~4.3.0", "yargs": "^16.0.0" }, "devDependencies": { From 3228332fee5bff4fde1c0f55c23295e0197cdfe4 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 27 Aug 2022 05:04:22 +0000 Subject: [PATCH 557/588] fix: do not import the whole google-gax from proto JS (#1553) (#1041) fix: use google-gax v3.3.0 Source-Link: https://github.com/googleapis/synthtool/commit/c73d112a11a1f1a93efa67c50495c19aa3a88910 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:b15a6f06cc06dcffa11e1bebdf1a74b6775a134aac24a0f86f51ddf728eb373e --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/protos/protos.d.ts | 2 +- packages/google-cloud-vision/protos/protos.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 122b27ae34e..fe6528b9b55 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -46,7 +46,7 @@ }, "dependencies": { "@google-cloud/promisify": "^3.0.0", - "google-gax": "^3.0.1", + "google-gax": "^3.3.0", "is": "^3.3.0" }, "devDependencies": { diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index e1032f7cdf2..cdac5324e29 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -13,7 +13,7 @@ // limitations under the License. import Long = require("long"); -import {protobuf as $protobuf} from "google-gax"; +import type {protobuf as $protobuf} from "google-gax"; /** Namespace google. */ export namespace google { diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 2b8badaa080..ff9082ec414 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -19,7 +19,7 @@ define(["protobufjs/minimal"], factory); /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports) - module.exports = factory(require("google-gax").protobufMinimal); + module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal); })(this, function($protobuf) { "use strict"; From 59e0c8ef06e901bc6004652da3a2484ba74a6362 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 1 Sep 2022 20:32:22 +0000 Subject: [PATCH 558/588] fix: allow passing gax instance to client constructor (#1042) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 470911839 Source-Link: https://github.com/googleapis/googleapis/commit/352756699ebc5b2144c252867c265ea44448712e Source-Link: https://github.com/googleapis/googleapis-gen/commit/f16a1d224f00a630ea43d6a9a1a31f566f45cdea Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZjE2YTFkMjI0ZjAwYTYzMGVhNDNkNmE5YTFhMzFmNTY2ZjQ1Y2RlYSJ9 feat: accept google-gax instance as a parameter Please see the documentation of the client constructor for details. PiperOrigin-RevId: 470332808 Source-Link: https://github.com/googleapis/googleapis/commit/d4a23675457cd8f0b44080e0594ec72de1291b89 Source-Link: https://github.com/googleapis/googleapis-gen/commit/e97a1ac204ead4fe7341f91e72db7c6ac6016341 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZTk3YTFhYzIwNGVhZDRmZTczNDFmOTFlNzJkYjdjNmFjNjAxNjM0MSJ9 --- .../src/v1/image_annotator_client.ts | 52 ++++++---- .../src/v1/product_search_client.ts | 99 +++++++++++-------- .../src/v1p1beta1/image_annotator_client.ts | 31 ++++-- .../src/v1p2beta1/image_annotator_client.ts | 35 +++++-- .../src/v1p3beta1/image_annotator_client.ts | 35 +++++-- .../src/v1p3beta1/product_search_client.ts | 88 ++++++++++------- .../src/v1p4beta1/image_annotator_client.ts | 44 ++++++--- .../src/v1p4beta1/product_search_client.ts | 99 +++++++++++-------- 8 files changed, 304 insertions(+), 179 deletions(-) diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index e6ca662d8a1..be9af4e535a 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -17,8 +17,8 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import { +import type * as gax from 'google-gax'; +import type { Callback, CallOptions, Descriptors, @@ -35,7 +35,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './image_annotator_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -98,8 +97,18 @@ export class ImageAnnotatorClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ImageAnnotatorClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = @@ -119,8 +128,13 @@ export class ImageAnnotatorClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -248,7 +262,7 @@ export class ImageAnnotatorClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** @@ -472,7 +486,7 @@ export class ImageAnnotatorClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -583,7 +597,7 @@ export class ImageAnnotatorClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -710,7 +724,7 @@ export class ImageAnnotatorClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -740,11 +754,12 @@ export class ImageAnnotatorClient { protos.google.cloud.vision.v1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateImages, this._gaxModule.createDefaultBackoffSettings() @@ -869,7 +884,7 @@ export class ImageAnnotatorClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -899,11 +914,12 @@ export class ImageAnnotatorClient { protos.google.cloud.vision.v1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateFiles, this._gaxModule.createDefaultBackoffSettings() diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 259bd303e59..8e8cc2a825b 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -17,8 +17,8 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import { +import type * as gax from 'google-gax'; +import type { Callback, CallOptions, Descriptors, @@ -28,7 +28,6 @@ import { PaginationCallback, GaxCall, } from 'google-gax'; - import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); @@ -38,7 +37,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './product_search_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -112,8 +110,18 @@ export class ProductSearchClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ProductSearchClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ProductSearchClient; const servicePath = @@ -133,8 +141,13 @@ export class ProductSearchClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -283,7 +296,7 @@ export class ProductSearchClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** @@ -520,7 +533,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -612,7 +625,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -709,7 +722,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ 'product_set.name': request.productSet!.name || '', }); this.initialize(); @@ -800,7 +813,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -902,7 +915,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -992,7 +1005,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1098,7 +1111,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ 'product.name': request.product!.name || '', }); this.initialize(); @@ -1190,7 +1203,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1310,7 +1323,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1410,7 +1423,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1508,7 +1521,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1614,7 +1627,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1723,7 +1736,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1845,7 +1858,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1871,11 +1884,12 @@ export class ProductSearchClient { protos.google.cloud.vision.v1.BatchOperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.importProductSets, this._gaxModule.createDefaultBackoffSettings() @@ -2015,7 +2029,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2041,11 +2055,12 @@ export class ProductSearchClient { protos.google.cloud.vision.v1.BatchOperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.purgeProducts, this._gaxModule.createDefaultBackoffSettings() @@ -2148,7 +2163,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2188,7 +2203,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProductSets']; @@ -2237,7 +2252,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProductSets']; @@ -2342,7 +2357,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2383,7 +2398,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProducts']; @@ -2433,7 +2448,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProducts']; @@ -2549,7 +2564,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2593,7 +2608,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listReferenceImages']; @@ -2646,7 +2661,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listReferenceImages']; @@ -2759,7 +2774,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -2804,7 +2819,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; @@ -2854,7 +2869,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index 98852109a40..afef4427ef3 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -17,8 +17,13 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import {Callback, CallOptions, Descriptors, ClientOptions} from 'google-gax'; +import type * as gax from 'google-gax'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, +} from 'google-gax'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); @@ -28,7 +33,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './image_annotator_client_config.json'; - const version = require('../../../package.json').version; /** @@ -89,8 +93,18 @@ export class ImageAnnotatorClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ImageAnnotatorClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = @@ -110,8 +124,13 @@ export class ImageAnnotatorClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -165,7 +184,7 @@ export class ImageAnnotatorClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 30711c618d6..8bb2e005702 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -17,8 +17,8 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import { +import type * as gax from 'google-gax'; +import type { Callback, CallOptions, Descriptors, @@ -35,7 +35,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './image_annotator_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -97,8 +96,18 @@ export class ImageAnnotatorClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ImageAnnotatorClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = @@ -118,8 +127,13 @@ export class ImageAnnotatorClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -207,7 +221,7 @@ export class ImageAnnotatorClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** @@ -553,11 +567,12 @@ export class ImageAnnotatorClient { protos.google.cloud.vision.v1p2beta1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateFiles, this._gaxModule.createDefaultBackoffSettings() diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 7ea1aa7eb76..8f93f24399b 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -17,8 +17,8 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import { +import type * as gax from 'google-gax'; +import type { Callback, CallOptions, Descriptors, @@ -35,7 +35,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './image_annotator_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -98,8 +97,18 @@ export class ImageAnnotatorClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ImageAnnotatorClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = @@ -119,8 +128,13 @@ export class ImageAnnotatorClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -229,7 +243,7 @@ export class ImageAnnotatorClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** @@ -575,11 +589,12 @@ export class ImageAnnotatorClient { protos.google.cloud.vision.v1p3beta1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateFiles, this._gaxModule.createDefaultBackoffSettings() diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 40abcac75fc..7fd4bc1d718 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -17,8 +17,8 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import { +import type * as gax from 'google-gax'; +import type { Callback, CallOptions, Descriptors, @@ -28,7 +28,6 @@ import { PaginationCallback, GaxCall, } from 'google-gax'; - import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); @@ -38,7 +37,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './product_search_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -112,8 +110,18 @@ export class ProductSearchClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ProductSearchClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ProductSearchClient; const servicePath = @@ -133,8 +141,13 @@ export class ProductSearchClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -268,7 +281,7 @@ export class ProductSearchClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** @@ -510,7 +523,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -608,7 +621,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -711,7 +724,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ 'product_set.name': request.productSet!.name || '', }); this.initialize(); @@ -812,7 +825,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -920,7 +933,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1018,7 +1031,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1129,7 +1142,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ 'product.name': request.product!.name || '', }); this.initialize(); @@ -1231,7 +1244,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1357,7 +1370,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1468,7 +1481,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1573,7 +1586,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1685,7 +1698,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1798,7 +1811,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1920,7 +1933,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1946,11 +1959,12 @@ export class ProductSearchClient { protos.google.cloud.vision.v1p3beta1.BatchOperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.importProductSets, this._gaxModule.createDefaultBackoffSettings() @@ -2059,7 +2073,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2099,7 +2113,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProductSets']; @@ -2148,7 +2162,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProductSets']; @@ -2259,7 +2273,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2300,7 +2314,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProducts']; @@ -2350,7 +2364,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProducts']; @@ -2466,7 +2480,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2510,7 +2524,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listReferenceImages']; @@ -2563,7 +2577,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listReferenceImages']; @@ -2676,7 +2690,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -2721,7 +2735,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; @@ -2771,7 +2785,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 11112f6846c..822f3f8b448 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -17,8 +17,8 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import { +import type * as gax from 'google-gax'; +import type { Callback, CallOptions, Descriptors, @@ -35,7 +35,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './image_annotator_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -98,8 +97,18 @@ export class ImageAnnotatorClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ImageAnnotatorClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ImageAnnotatorClient; const servicePath = @@ -119,8 +128,13 @@ export class ImageAnnotatorClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -244,7 +258,7 @@ export class ImageAnnotatorClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** @@ -697,11 +711,12 @@ export class ImageAnnotatorClient { protos.google.cloud.vision.v1p4beta1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateImages, this._gaxModule.createDefaultBackoffSettings() @@ -839,11 +854,12 @@ export class ImageAnnotatorClient { protos.google.cloud.vision.v1p4beta1.OperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.asyncBatchAnnotateFiles, this._gaxModule.createDefaultBackoffSettings() diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 3f83b6814ae..6f79774d4c5 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -17,8 +17,8 @@ // ** All changes to this file may be overwritten. ** /* global window */ -import * as gax from 'google-gax'; -import { +import type * as gax from 'google-gax'; +import type { Callback, CallOptions, Descriptors, @@ -28,7 +28,6 @@ import { PaginationCallback, GaxCall, } from 'google-gax'; - import {Transform} from 'stream'; import * as protos from '../../protos/protos'; import jsonProtos = require('../../protos/protos.json'); @@ -38,7 +37,6 @@ import jsonProtos = require('../../protos/protos.json'); * This file defines retry strategy and timeouts for all API methods in this library. */ import * as gapicConfig from './product_search_client_config.json'; -import {operationsProtos} from 'google-gax'; const version = require('../../../package.json').version; /** @@ -116,8 +114,18 @@ export class ProductSearchClient { * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ProductSearchClient({fallback: 'rest'}, gax); + * ``` */ - constructor(opts?: ClientOptions) { + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { // Ensure that options include all the required fields. const staticMembers = this.constructor as typeof ProductSearchClient; const servicePath = @@ -137,8 +145,13 @@ export class ProductSearchClient { opts['scopes'] = staticMembers.scopes; } + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gax.fallback : gax; + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. this._gaxGrpc = new this._gaxModule.GrpcClient(opts); @@ -283,7 +296,7 @@ export class ProductSearchClient { this.innerApiCalls = {}; // Add a warn function to the client constructor so it can be easily tested. - this.warn = gax.warn; + this.warn = this._gaxModule.warn; } /** @@ -526,7 +539,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -624,7 +637,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -727,7 +740,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ 'product_set.name': request.productSet!.name || '', }); this.initialize(); @@ -824,7 +837,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -932,7 +945,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1030,7 +1043,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1142,7 +1155,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ 'product.name': request.product!.name || '', }); this.initialize(); @@ -1240,7 +1253,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1367,7 +1380,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1474,7 +1487,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1579,7 +1592,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1691,7 +1704,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1801,7 +1814,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -1923,7 +1936,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -1949,11 +1962,12 @@ export class ProductSearchClient { protos.google.cloud.vision.v1p4beta1.BatchOperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.importProductSets, this._gaxModule.createDefaultBackoffSettings() @@ -2093,7 +2107,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2119,11 +2133,12 @@ export class ProductSearchClient { protos.google.cloud.vision.v1p4beta1.BatchOperationMetadata > > { - const request = new operationsProtos.google.longrunning.GetOperationRequest( - {name} - ); + const request = + new this._gaxModule.operationsProtos.google.longrunning.GetOperationRequest( + {name} + ); const [operation] = await this.operationsClient.getOperation(request); - const decodeOperation = new gax.Operation( + const decodeOperation = new this._gaxModule.Operation( operation, this.descriptors.longrunning.purgeProducts, this._gaxModule.createDefaultBackoffSettings() @@ -2232,7 +2247,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2272,7 +2287,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProductSets']; @@ -2321,7 +2336,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProductSets']; @@ -2432,7 +2447,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2473,7 +2488,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProducts']; @@ -2523,7 +2538,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listProducts']; @@ -2639,7 +2654,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); this.initialize(); @@ -2683,7 +2698,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listReferenceImages']; @@ -2736,7 +2751,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ parent: request.parent || '', }); const defaultCallSettings = this._defaults['listReferenceImages']; @@ -2849,7 +2864,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); this.initialize(); @@ -2894,7 +2909,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; @@ -2944,7 +2959,7 @@ export class ProductSearchClient { options.otherArgs = options.otherArgs || {}; options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = - gax.routingHeader.fromParams({ + this._gaxModule.routingHeader.fromParams({ name: request.name || '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; From 1a4d456da2e14ba9fea2c6161f303555b43ea4ba Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 7 Sep 2022 17:54:18 -0400 Subject: [PATCH 559/588] chore(main): release 3.0.0 (#1014) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(main): release 3.0.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Owl Bot --- packages/google-cloud-vision/CHANGELOG.md | 29 +++++++++++++++++++ packages/google-cloud-vision/package.json | 2 +- ...ippet_metadata.google.cloud.vision.v1.json | 2 +- ...etadata.google.cloud.vision.v1p1beta1.json | 2 +- ...etadata.google.cloud.vision.v1p2beta1.json | 2 +- ...etadata.google.cloud.vision.v1p3beta1.json | 2 +- ...etadata.google.cloud.vision.v1p4beta1.json | 2 +- .../google-cloud-vision/samples/package.json | 2 +- 8 files changed, 36 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 2d82e29a716..56abd912944 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,35 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [3.0.0](https://github.com/googleapis/nodejs-vision/compare/v2.4.2...v3.0.0) (2022-09-01) + + +### ⚠ BREAKING CHANGES + +* Update library to use Node 12 (#1016) +* BatchAnnotateImagesRequest.requests is required (#1011) + +### Features + +* Add TextDetectionParams.advanced_ocr_options ([#1034](https://github.com/googleapis/nodejs-vision/issues/1034)) ([828f045](https://github.com/googleapis/nodejs-vision/commit/828f045563eff5668dc95f628745716978759788)) +* Support regapic LRO ([a5f8f72](https://github.com/googleapis/nodejs-vision/commit/a5f8f72328655c7959475d0258df164b576af570)) + + +### Bug Fixes + +* Allow passing gax instance to client constructor ([#1042](https://github.com/googleapis/nodejs-vision/issues/1042)) ([4cc32dc](https://github.com/googleapis/nodejs-vision/commit/4cc32dc2068cd9490b28a8869a1d6de6c7a7b0c3)) +* BatchAnnotateImagesRequest.requests is required ([#1011](https://github.com/googleapis/nodejs-vision/issues/1011)) ([574f43e](https://github.com/googleapis/nodejs-vision/commit/574f43ecfadab77aa992aae2a24e36a3bb9f7b22)) +* Better support for fallback mode ([#1037](https://github.com/googleapis/nodejs-vision/issues/1037)) ([ea578e7](https://github.com/googleapis/nodejs-vision/commit/ea578e784271fd2f68c330850f64d1d9e406625d)) +* Change import long to require ([#1038](https://github.com/googleapis/nodejs-vision/issues/1038)) ([b57b334](https://github.com/googleapis/nodejs-vision/commit/b57b334c35591e73f875ef61f375f452e78ce094)) +* **deps:** Update dependency redis to ~4.3.0 ([#1039](https://github.com/googleapis/nodejs-vision/issues/1039)) ([ea26d33](https://github.com/googleapis/nodejs-vision/commit/ea26d3349b1e2db8eb021924b1ee2406f135b712)) +* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-vision/issues/1553)) ([#1041](https://github.com/googleapis/nodejs-vision/issues/1041)) ([4de6e42](https://github.com/googleapis/nodejs-vision/commit/4de6e42aada9228574bc2f50d6b6e10f7f244b4d)) +* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-vision/issues/1546)) ([#1040](https://github.com/googleapis/nodejs-vision/issues/1040)) ([85f115f](https://github.com/googleapis/nodejs-vision/commit/85f115f31f9b26c64e7b2704e6f908b88673db86)) + + +### Build System + +* Update library to use Node 12 ([#1016](https://github.com/googleapis/nodejs-vision/issues/1016)) ([12bd0f6](https://github.com/googleapis/nodejs-vision/commit/12bd0f66db6c497eb8e2d8a8236dca95432043b8)) + ### [2.4.2](https://www.github.com/googleapis/nodejs-vision/compare/v2.4.1...v2.4.2) (2022-01-06) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index fe6528b9b55..253a9869b5f 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "2.4.2", + "version": "3.0.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json index ba68b3e4e1a..57675d2c1a5 100644 --- a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json +++ b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "2.4.2", + "version": "3.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json index 56a5028ffb6..51cdd15dc4e 100644 --- a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "2.4.2", + "version": "3.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json index d0d2660c8c9..91858699b0d 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "2.4.2", + "version": "3.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json index f5f53008336..32c24fc9a60 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "2.4.2", + "version": "3.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json index e7e54208083..683733558b9 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "2.4.2", + "version": "3.0.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index e1f2cdd33d6..8400f4b29db 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^2.4.2", + "@google-cloud/vision": "^3.0.0", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "~4.3.0", From df9bc37f69bd08cd5211a5c7ad0ddfa1a451ded4 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 9 Sep 2022 01:06:18 +0200 Subject: [PATCH 560/588] chore(deps): update dependency uuid to v9 (#1043) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [uuid](https://togithub.com/uuidjs/uuid) | [`^8.0.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/uuid/8.3.2/9.0.0) | [![age](https://badges.renovateapi.com/packages/npm/uuid/9.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/uuid/9.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/uuid/9.0.0/compatibility-slim/8.3.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/uuid/9.0.0/confidence-slim/8.3.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
uuidjs/uuid ### [`v9.0.0`](https://togithub.com/uuidjs/uuid/blob/HEAD/CHANGELOG.md#​900-httpsgithubcomuuidjsuuidcomparev832v900-2022-09-05) [Compare Source](https://togithub.com/uuidjs/uuid/compare/v8.3.2...v9.0.0) ##### ⚠ BREAKING CHANGES - Drop Node.js 10.x support. This library always aims at supporting one EOLed LTS release which by this time now is 12.x which has reached EOL 30 Apr 2022. - Remove the minified UMD build from the package. Minified code is hard to audit and since this is a widely used library it seems more appropriate nowadays to optimize for auditability than to ship a legacy module format that, at best, serves educational purposes nowadays. For production browser use cases, users should be using a bundler. For educational purposes, today's online sandboxes like replit.com offer convenient ways to load npm modules, so the use case for UMD through repos like UNPKG or jsDelivr has largely vanished. - Drop IE 11 and Safari 10 support. Drop support for browsers that don't correctly implement const/let and default arguments, and no longer transpile the browser build to ES2015. This also removes the fallback on msCrypto instead of the crypto API. Browser tests are run in the first supported version of each supported browser and in the latest (as of this commit) version available on Browserstack. ##### Features - optimize uuid.v1 by 1.3x uuid.v4 by 4.3x (430%) ([#​597](https://togithub.com/uuidjs/uuid/issues/597)) ([3a033f6](https://togithub.com/uuidjs/uuid/commit/3a033f6bab6bb3780ece6d645b902548043280bc)) - remove UMD build ([#​645](https://togithub.com/uuidjs/uuid/issues/645)) ([e948a0f](https://togithub.com/uuidjs/uuid/commit/e948a0f22bf22f4619b27bd913885e478e20fe6f)), closes [#​620](https://togithub.com/uuidjs/uuid/issues/620) - use native crypto.randomUUID when available ([#​600](https://togithub.com/uuidjs/uuid/issues/600)) ([c9e076c](https://togithub.com/uuidjs/uuid/commit/c9e076c852edad7e9a06baaa1d148cf4eda6c6c4)) ##### Bug Fixes - add Jest/jsdom compatibility ([#​642](https://togithub.com/uuidjs/uuid/issues/642)) ([16f9c46](https://togithub.com/uuidjs/uuid/commit/16f9c469edf46f0786164cdf4dc980743984a6fd)) - change default export to named function ([#​545](https://togithub.com/uuidjs/uuid/issues/545)) ([c57bc5a](https://togithub.com/uuidjs/uuid/commit/c57bc5a9a0653273aa639cda9177ce52efabe42a)) - handle error when parameter is not set in v3 and v5 ([#​622](https://togithub.com/uuidjs/uuid/issues/622)) ([fcd7388](https://togithub.com/uuidjs/uuid/commit/fcd73881692d9fabb63872576ba28e30ff852091)) - run npm audit fix ([#​644](https://togithub.com/uuidjs/uuid/issues/644)) ([04686f5](https://togithub.com/uuidjs/uuid/commit/04686f54c5fed2cfffc1b619f4970c4bb8532353)) - upgrading from uuid3 broken link ([#​568](https://togithub.com/uuidjs/uuid/issues/568)) ([1c849da](https://togithub.com/uuidjs/uuid/commit/1c849da6e164259e72e18636726345b13a7eddd6)) ##### build - drop Node.js 8.x from babel transpile target ([#​603](https://togithub.com/uuidjs/uuid/issues/603)) ([aa11485](https://togithub.com/uuidjs/uuid/commit/aa114858260402107ec8a1e1a825dea0a259bcb5)) - drop support for legacy browsers (IE11, Safari 10) ([#​604](https://togithub.com/uuidjs/uuid/issues/604)) ([0f433e5](https://togithub.com/uuidjs/uuid/commit/0f433e5ec444edacd53016de67db021102f36148)) - drop node 10.x to upgrade dev dependencies ([#​653](https://togithub.com/uuidjs/uuid/issues/653)) ([28a5712](https://togithub.com/uuidjs/uuid/commit/28a571283f8abda6b9d85e689f95b7d3ee9e282e)), closes [#​643](https://togithub.com/uuidjs/uuid/issues/643) ##### [8.3.2](https://togithub.com/uuidjs/uuid/compare/v8.3.1...v8.3.2) (2020-12-08) ##### Bug Fixes - lazy load getRandomValues ([#​537](https://togithub.com/uuidjs/uuid/issues/537)) ([16c8f6d](https://togithub.com/uuidjs/uuid/commit/16c8f6df2f6b09b4d6235602d6a591188320a82e)), closes [#​536](https://togithub.com/uuidjs/uuid/issues/536) ##### [8.3.1](https://togithub.com/uuidjs/uuid/compare/v8.3.0...v8.3.1) (2020-10-04) ##### Bug Fixes - support expo>=39.0.0 ([#​515](https://togithub.com/uuidjs/uuid/issues/515)) ([c65a0f3](https://togithub.com/uuidjs/uuid/commit/c65a0f3fa73b901959d638d1e3591dfacdbed867)), closes [#​375](https://togithub.com/uuidjs/uuid/issues/375)
--- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 253a9869b5f..0fc876a2380 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -69,7 +69,7 @@ "sinon": "^14.0.0", "ts-loader": "^9.0.0", "typescript": "^4.6.4", - "uuid": "^8.0.0", + "uuid": "^9.0.0", "webpack": "^5.0.0", "webpack-cli": "^4.0.0" } diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 8400f4b29db..a23c3e35369 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -23,6 +23,6 @@ "@google-cloud/storage": "^6.0.0", "chai": "^4.2.0", "mocha": "^10.0.0", - "uuid": "^8.0.0" + "uuid": "^9.0.0" } } From 54fa7724b070a577e7c78d8fc0969fbd28f17a3b Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 21 Sep 2022 12:02:38 -0700 Subject: [PATCH 561/588] fix: preserve default values in x-goog-request-params header (#1044) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: remove obsolete service config files PiperOrigin-RevId: 472492863 Source-Link: https://github.com/googleapis/googleapis/commit/725381dc13c25c5fdc30fc9a660e5f9c35378f08 Source-Link: https://github.com/googleapis/googleapis-gen/commit/16aebe24e817c24e6192746edc522d70036dd772 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMTZhZWJlMjRlODE3YzI0ZTYxOTI3NDZlZGM1MjJkNzAwMzZkZDc3MiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * docs: update comments for image annotator OCR models PiperOrigin-RevId: 474070246 Source-Link: https://github.com/googleapis/googleapis/commit/346e2f2a106ed0ff8863b11a3b1ec32cd40b9cf1 Source-Link: https://github.com/googleapis/googleapis-gen/commit/50b34515fa89525989021be4b6989d49059d8d26 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTBiMzQ1MTVmYTg5NTI1OTg5MDIxYmU0YjY5ODlkNDkwNTlkOGQyNiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: use gapic-generator-typescript v2.17.0 PiperOrigin-RevId: 474338479 Source-Link: https://github.com/googleapis/googleapis/commit/d5d35e0353b59719e8917103b1bc7df2782bf6ba Source-Link: https://github.com/googleapis/googleapis-gen/commit/efcd3f93962a103f68f003e2a1eecde6fa216a27 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWZjZDNmOTM5NjJhMTAzZjY4ZjAwM2UyYTFlZWNkZTZmYTIxNmEyNyJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * test: use fully qualified request type name in tests PiperOrigin-RevId: 475685359 Source-Link: https://github.com/googleapis/googleapis/commit/7a129736313ceb1f277c3b7f7e16d2e04cc901dd Source-Link: https://github.com/googleapis/googleapis-gen/commit/370c729e2ba062a167449c27882ba5f379c5c34d Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMzcwYzcyOWUyYmEwNjJhMTY3NDQ5YzI3ODgyYmE1ZjM3OWM1YzM0ZCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * test: make test pass Co-authored-by: Owl Bot Co-authored-by: Alexander Fenster --- .../cloud/vision/v1/image_annotator.proto | 3 +- .../vision/v1p1beta1/image_annotator.proto | 3 +- .../vision/v1p2beta1/image_annotator.proto | 3 +- .../vision/v1p3beta1/image_annotator.proto | 3 +- .../vision/v1p4beta1/image_annotator.proto | 3 +- .../src/v1/image_annotator_client.ts | 8 +- .../src/v1/product_search_client.ts | 54 +- .../src/v1p3beta1/image_annotator_client.ts | 8 +- .../src/v1p3beta1/product_search_client.ts | 60 +- .../src/v1p4beta1/image_annotator_client.ts | 8 +- .../src/v1p4beta1/product_search_client.ts | 62 +- .../test/gapic_image_annotator_v1.ts | 419 ++-- .../test/gapic_image_annotator_v1p1beta1.ts | 33 +- .../test/gapic_image_annotator_v1p2beta1.ts | 57 +- .../test/gapic_image_annotator_v1p3beta1.ts | 57 +- .../test/gapic_image_annotator_v1p4beta1.ts | 99 +- .../test/gapic_product_search_v1.ts | 2057 +++++++++-------- .../test/gapic_product_search_v1p3beta1.ts | 1945 +++++++++------- .../test/gapic_product_search_v1p4beta1.ts | 2057 +++++++++-------- 19 files changed, 3641 insertions(+), 3298 deletions(-) diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto index 10464b0e0d8..6fed6112bec 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1/image_annotator.proto @@ -223,7 +223,8 @@ message Feature { // Model to use for the feature. // Supported values: "builtin/stable" (the default if unset) and - // "builtin/latest". + // "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also + // support "builtin/weekly" for the bleeding edge release updated weekly. string model = 3; } diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto index 729a0fa08e6..f66ad504fca 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p1beta1/image_annotator.proto @@ -103,7 +103,8 @@ message Feature { // Model to use for the feature. // Supported values: "builtin/stable" (the default if unset) and - // "builtin/latest". + // "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also + // support "builtin/weekly" for the bleeding edge release updated weekly. string model = 3; } diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto index 5fc3163c75d..264462d4843 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p2beta1/image_annotator.proto @@ -126,7 +126,8 @@ message Feature { // Model to use for the feature. // Supported values: "builtin/stable" (the default if unset) and - // "builtin/latest". + // "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also + // support "builtin/weekly" for the bleeding edge release updated weekly. string model = 3; } diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto index ca0b4e86d5b..ebab14a6b11 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p3beta1/image_annotator.proto @@ -134,7 +134,8 @@ message Feature { // Model to use for the feature. // Supported values: "builtin/stable" (the default if unset) and - // "builtin/latest". + // "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also + // support "builtin/weekly" for the bleeding edge release updated weekly. string model = 3; } diff --git a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto index 0fed9eea7a2..cc783697458 100644 --- a/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto +++ b/packages/google-cloud-vision/protos/google/cloud/vision/v1p4beta1/image_annotator.proto @@ -175,7 +175,8 @@ message Feature { // Model to use for the feature. // Supported values: "builtin/stable" (the default if unset) and - // "builtin/latest". + // "builtin/latest". `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` also + // support "builtin/weekly" for the bleeding edge release updated weekly. string model = 3; } diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index be9af4e535a..31495ea2ad2 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -487,7 +487,7 @@ export class ImageAnnotatorClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.batchAnnotateImages(request, options, callback); @@ -598,7 +598,7 @@ export class ImageAnnotatorClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.batchAnnotateFiles(request, options, callback); @@ -725,7 +725,7 @@ export class ImageAnnotatorClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.asyncBatchAnnotateImages( @@ -885,7 +885,7 @@ export class ImageAnnotatorClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.asyncBatchAnnotateFiles( diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 8e8cc2a825b..1a64fc9e75c 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -534,7 +534,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createProductSet(request, options, callback); @@ -626,7 +626,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getProductSet(request, options, callback); @@ -723,7 +723,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - 'product_set.name': request.productSet!.name || '', + 'product_set.name': request.productSet!.name ?? '', }); this.initialize(); return this.innerApiCalls.updateProductSet(request, options, callback); @@ -814,7 +814,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteProductSet(request, options, callback); @@ -916,7 +916,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createProduct(request, options, callback); @@ -1006,7 +1006,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getProduct(request, options, callback); @@ -1112,7 +1112,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - 'product.name': request.product!.name || '', + 'product.name': request.product!.name ?? '', }); this.initialize(); return this.innerApiCalls.updateProduct(request, options, callback); @@ -1204,7 +1204,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteProduct(request, options, callback); @@ -1324,7 +1324,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createReferenceImage(request, options, callback); @@ -1424,7 +1424,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteReferenceImage(request, options, callback); @@ -1522,7 +1522,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getReferenceImage(request, options, callback); @@ -1628,7 +1628,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.addProductToProductSet( @@ -1737,7 +1737,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.removeProductFromProductSet( @@ -1859,7 +1859,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.importProductSets(request, options, callback); @@ -2030,7 +2030,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.purgeProducts(request, options, callback); @@ -2164,7 +2164,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listProductSets(request, options, callback); @@ -2204,7 +2204,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProductSets']; const callSettings = defaultCallSettings.merge(options); @@ -2253,7 +2253,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProductSets']; const callSettings = defaultCallSettings.merge(options); @@ -2358,7 +2358,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listProducts(request, options, callback); @@ -2399,7 +2399,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProducts']; const callSettings = defaultCallSettings.merge(options); @@ -2449,7 +2449,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProducts']; const callSettings = defaultCallSettings.merge(options); @@ -2565,7 +2565,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listReferenceImages(request, options, callback); @@ -2609,7 +2609,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listReferenceImages']; const callSettings = defaultCallSettings.merge(options); @@ -2662,7 +2662,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listReferenceImages']; const callSettings = defaultCallSettings.merge(options); @@ -2775,7 +2775,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.listProductsInProductSet( @@ -2820,7 +2820,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; const callSettings = defaultCallSettings.merge(options); @@ -2870,7 +2870,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; const callSettings = defaultCallSettings.merge(options); diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 8f93f24399b..7f0e5c86dfb 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -199,13 +199,7 @@ export class ImageAnnotatorClient { }; if (opts.fallback === 'rest') { lroOptions.protoJson = protoFilesRoot; - lroOptions.httpRules = [ - { - selector: 'google.longrunning.Operations.GetOperation', - get: '/v1/{name=operations/*}', - additional_bindings: [{get: '/v1/{name=locations/*/operations/*}'}], - }, - ]; + lroOptions.httpRules = []; } this.operationsClient = this._gaxModule .lro(lroOptions) diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index 7fd4bc1d718..f309bbfe2d7 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -241,13 +241,7 @@ export class ProductSearchClient { }; if (opts.fallback === 'rest') { lroOptions.protoJson = protoFilesRoot; - lroOptions.httpRules = [ - { - selector: 'google.longrunning.Operations.GetOperation', - get: '/v1/{name=operations/*}', - additional_bindings: [{get: '/v1/{name=locations/*/operations/*}'}], - }, - ]; + lroOptions.httpRules = []; } this.operationsClient = this._gaxModule .lro(lroOptions) @@ -524,7 +518,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createProductSet(request, options, callback); @@ -622,7 +616,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getProductSet(request, options, callback); @@ -725,7 +719,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - 'product_set.name': request.productSet!.name || '', + 'product_set.name': request.productSet!.name ?? '', }); this.initialize(); return this.innerApiCalls.updateProductSet(request, options, callback); @@ -826,7 +820,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteProductSet(request, options, callback); @@ -934,7 +928,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createProduct(request, options, callback); @@ -1032,7 +1026,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getProduct(request, options, callback); @@ -1143,7 +1137,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - 'product.name': request.product!.name || '', + 'product.name': request.product!.name ?? '', }); this.initialize(); return this.innerApiCalls.updateProduct(request, options, callback); @@ -1245,7 +1239,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteProduct(request, options, callback); @@ -1371,7 +1365,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createReferenceImage(request, options, callback); @@ -1482,7 +1476,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteReferenceImage(request, options, callback); @@ -1587,7 +1581,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getReferenceImage(request, options, callback); @@ -1699,7 +1693,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.addProductToProductSet( @@ -1812,7 +1806,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.removeProductFromProductSet( @@ -1934,7 +1928,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.importProductSets(request, options, callback); @@ -2074,7 +2068,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listProductSets(request, options, callback); @@ -2114,7 +2108,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProductSets']; const callSettings = defaultCallSettings.merge(options); @@ -2163,7 +2157,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProductSets']; const callSettings = defaultCallSettings.merge(options); @@ -2274,7 +2268,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listProducts(request, options, callback); @@ -2315,7 +2309,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProducts']; const callSettings = defaultCallSettings.merge(options); @@ -2365,7 +2359,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProducts']; const callSettings = defaultCallSettings.merge(options); @@ -2481,7 +2475,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listReferenceImages(request, options, callback); @@ -2525,7 +2519,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listReferenceImages']; const callSettings = defaultCallSettings.merge(options); @@ -2578,7 +2572,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listReferenceImages']; const callSettings = defaultCallSettings.merge(options); @@ -2691,7 +2685,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.listProductsInProductSet( @@ -2736,7 +2730,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; const callSettings = defaultCallSettings.merge(options); @@ -2786,7 +2780,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; const callSettings = defaultCallSettings.merge(options); diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index 822f3f8b448..d8d335af3da 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -199,13 +199,7 @@ export class ImageAnnotatorClient { }; if (opts.fallback === 'rest') { lroOptions.protoJson = protoFilesRoot; - lroOptions.httpRules = [ - { - selector: 'google.longrunning.Operations.GetOperation', - get: '/v1/{name=operations/*}', - additional_bindings: [{get: '/v1/{name=locations/*/operations/*}'}], - }, - ]; + lroOptions.httpRules = []; } this.operationsClient = this._gaxModule .lro(lroOptions) diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index 6f79774d4c5..dd6eaab4928 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -245,13 +245,7 @@ export class ProductSearchClient { }; if (opts.fallback === 'rest') { lroOptions.protoJson = protoFilesRoot; - lroOptions.httpRules = [ - { - selector: 'google.longrunning.Operations.GetOperation', - get: '/v1/{name=operations/*}', - additional_bindings: [{get: '/v1/{name=locations/*/operations/*}'}], - }, - ]; + lroOptions.httpRules = []; } this.operationsClient = this._gaxModule .lro(lroOptions) @@ -540,7 +534,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createProductSet(request, options, callback); @@ -638,7 +632,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getProductSet(request, options, callback); @@ -741,7 +735,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - 'product_set.name': request.productSet!.name || '', + 'product_set.name': request.productSet!.name ?? '', }); this.initialize(); return this.innerApiCalls.updateProductSet(request, options, callback); @@ -838,7 +832,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteProductSet(request, options, callback); @@ -946,7 +940,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createProduct(request, options, callback); @@ -1044,7 +1038,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getProduct(request, options, callback); @@ -1156,7 +1150,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - 'product.name': request.product!.name || '', + 'product.name': request.product!.name ?? '', }); this.initialize(); return this.innerApiCalls.updateProduct(request, options, callback); @@ -1254,7 +1248,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteProduct(request, options, callback); @@ -1381,7 +1375,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.createReferenceImage(request, options, callback); @@ -1488,7 +1482,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.deleteReferenceImage(request, options, callback); @@ -1593,7 +1587,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.getReferenceImage(request, options, callback); @@ -1705,7 +1699,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.addProductToProductSet( @@ -1815,7 +1809,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.removeProductFromProductSet( @@ -1937,7 +1931,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.importProductSets(request, options, callback); @@ -2108,7 +2102,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.purgeProducts(request, options, callback); @@ -2248,7 +2242,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listProductSets(request, options, callback); @@ -2288,7 +2282,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProductSets']; const callSettings = defaultCallSettings.merge(options); @@ -2337,7 +2331,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProductSets']; const callSettings = defaultCallSettings.merge(options); @@ -2448,7 +2442,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listProducts(request, options, callback); @@ -2489,7 +2483,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProducts']; const callSettings = defaultCallSettings.merge(options); @@ -2539,7 +2533,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listProducts']; const callSettings = defaultCallSettings.merge(options); @@ -2655,7 +2649,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); this.initialize(); return this.innerApiCalls.listReferenceImages(request, options, callback); @@ -2699,7 +2693,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listReferenceImages']; const callSettings = defaultCallSettings.merge(options); @@ -2752,7 +2746,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - parent: request.parent || '', + parent: request.parent ?? '', }); const defaultCallSettings = this._defaults['listReferenceImages']; const callSettings = defaultCallSettings.merge(options); @@ -2865,7 +2859,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); this.initialize(); return this.innerApiCalls.listProductsInProductSet( @@ -2910,7 +2904,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; const callSettings = defaultCallSettings.merge(options); @@ -2960,7 +2954,7 @@ export class ProductSearchClient { options.otherArgs.headers = options.otherArgs.headers || {}; options.otherArgs.headers['x-goog-request-params'] = this._gaxModule.routingHeader.fromParams({ - name: request.name || '', + name: request.name ?? '', }); const defaultCallSettings = this._defaults['listProductsInProductSet']; const callSettings = defaultCallSettings.merge(options); diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index 21d764f9046..c7590b51150 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -25,6 +25,21 @@ import * as imageannotatorModule from '../src'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -191,15 +206,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.BatchAnnotateImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateImagesResponse() ); @@ -207,11 +219,14 @@ describe('v1.ImageAnnotatorClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.batchAnnotateImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchAnnotateImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes batchAnnotateImages without error using callback', async () => { @@ -223,15 +238,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.BatchAnnotateImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateImagesResponse() ); @@ -254,11 +266,14 @@ describe('v1.ImageAnnotatorClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.batchAnnotateImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchAnnotateImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes batchAnnotateImages with error', async () => { @@ -270,26 +285,26 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.BatchAnnotateImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateImages = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.batchAnnotateImages(request), expectedError); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.batchAnnotateImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchAnnotateImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes batchAnnotateImages with closed client', async () => { @@ -301,7 +316,11 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateImagesRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.BatchAnnotateImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.batchAnnotateImages(request), expectedError); @@ -318,15 +337,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateFilesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.BatchAnnotateFilesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateFilesResponse() ); @@ -334,11 +350,14 @@ describe('v1.ImageAnnotatorClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateFiles(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.batchAnnotateFiles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchAnnotateFiles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes batchAnnotateFiles without error using callback', async () => { @@ -350,15 +369,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateFilesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.BatchAnnotateFilesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateFilesResponse() ); @@ -381,11 +397,14 @@ describe('v1.ImageAnnotatorClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.batchAnnotateFiles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchAnnotateFiles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes batchAnnotateFiles with error', async () => { @@ -397,26 +416,26 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateFilesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.BatchAnnotateFilesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateFiles = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.batchAnnotateFiles(request), expectedError); - assert( - (client.innerApiCalls.batchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.batchAnnotateFiles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchAnnotateFiles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes batchAnnotateFiles with closed client', async () => { @@ -428,7 +447,11 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.BatchAnnotateFilesRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.BatchAnnotateFilesRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.batchAnnotateFiles(request), expectedError); @@ -445,15 +468,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -462,11 +482,14 @@ describe('v1.ImageAnnotatorClient', () => { const [operation] = await client.asyncBatchAnnotateImages(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.asyncBatchAnnotateImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.asyncBatchAnnotateImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes asyncBatchAnnotateImages without error using callback', async () => { @@ -478,15 +501,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -516,11 +536,14 @@ describe('v1.ImageAnnotatorClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.asyncBatchAnnotateImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.asyncBatchAnnotateImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes asyncBatchAnnotateImages with call error', async () => { @@ -532,15 +555,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( undefined, @@ -550,11 +570,14 @@ describe('v1.ImageAnnotatorClient', () => { client.asyncBatchAnnotateImages(request), expectedError ); - assert( - (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.asyncBatchAnnotateImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.asyncBatchAnnotateImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes asyncBatchAnnotateImages with LRO error', async () => { @@ -566,15 +589,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( undefined, @@ -583,11 +603,14 @@ describe('v1.ImageAnnotatorClient', () => { ); const [operation] = await client.asyncBatchAnnotateImages(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.asyncBatchAnnotateImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.asyncBatchAnnotateImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkAsyncBatchAnnotateImagesProgress without error', async () => { @@ -643,15 +666,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -660,11 +680,14 @@ describe('v1.ImageAnnotatorClient', () => { const [operation] = await client.asyncBatchAnnotateFiles(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes asyncBatchAnnotateFiles without error using callback', async () => { @@ -676,15 +699,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -714,11 +734,14 @@ describe('v1.ImageAnnotatorClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes asyncBatchAnnotateFiles with call error', async () => { @@ -730,15 +753,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -748,11 +768,14 @@ describe('v1.ImageAnnotatorClient', () => { client.asyncBatchAnnotateFiles(request), expectedError ); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes asyncBatchAnnotateFiles with LRO error', async () => { @@ -764,15 +787,12 @@ describe('v1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -781,11 +801,14 @@ describe('v1.ImageAnnotatorClient', () => { ); const [operation] = await client.asyncBatchAnnotateFiles(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkAsyncBatchAnnotateFilesProgress without error', async () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index e701a3e83c6..edf4055b471 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -25,6 +25,21 @@ import * as imageannotatorModule from '../src'; import {protobuf} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -159,7 +174,6 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse() ); @@ -167,11 +181,6 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateImages without error using callback', async () => { @@ -183,7 +192,6 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse() ); @@ -206,11 +214,6 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes batchAnnotateImages with error', async () => { @@ -222,18 +225,12 @@ describe('v1p1beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateImages = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.batchAnnotateImages(request), expectedError); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateImages with closed client', async () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index d1ea965fdf2..8ddfa624a5f 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -25,6 +25,21 @@ import * as imageannotatorModule from '../src'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -191,7 +206,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse() ); @@ -199,11 +213,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateImages without error using callback', async () => { @@ -215,7 +224,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesResponse() ); @@ -238,11 +246,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes batchAnnotateImages with error', async () => { @@ -254,18 +257,12 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateImages = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.batchAnnotateImages(request), expectedError); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateImages with closed client', async () => { @@ -293,7 +290,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -302,11 +298,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const [operation] = await client.asyncBatchAnnotateFiles(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes asyncBatchAnnotateFiles without error using callback', async () => { @@ -318,7 +309,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -348,11 +338,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes asyncBatchAnnotateFiles with call error', async () => { @@ -364,7 +349,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -374,11 +358,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { client.asyncBatchAnnotateFiles(request), expectedError ); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes asyncBatchAnnotateFiles with LRO error', async () => { @@ -390,7 +369,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -399,11 +377,6 @@ describe('v1p2beta1.ImageAnnotatorClient', () => { ); const [operation] = await client.asyncBatchAnnotateFiles(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes checkAsyncBatchAnnotateFilesProgress without error', async () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index 329d8b3da98..b82c3419f2c 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -25,6 +25,21 @@ import * as imageannotatorModule from '../src'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -191,7 +206,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse() ); @@ -199,11 +213,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateImages without error using callback', async () => { @@ -215,7 +224,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesResponse() ); @@ -238,11 +246,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes batchAnnotateImages with error', async () => { @@ -254,18 +257,12 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateImages = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.batchAnnotateImages(request), expectedError); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateImages with closed client', async () => { @@ -293,7 +290,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -302,11 +298,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const [operation] = await client.asyncBatchAnnotateFiles(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes asyncBatchAnnotateFiles without error using callback', async () => { @@ -318,7 +309,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -348,11 +338,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes asyncBatchAnnotateFiles with call error', async () => { @@ -364,7 +349,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -374,11 +358,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { client.asyncBatchAnnotateFiles(request), expectedError ); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes asyncBatchAnnotateFiles with LRO error', async () => { @@ -390,7 +369,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -399,11 +377,6 @@ describe('v1p3beta1.ImageAnnotatorClient', () => { ); const [operation] = await client.asyncBatchAnnotateFiles(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes checkAsyncBatchAnnotateFilesProgress without error', async () => { diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index 37e06f60a5c..97a633c936f 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -25,6 +25,21 @@ import * as imageannotatorModule from '../src'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -191,7 +206,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse() ); @@ -199,11 +213,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateImages(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateImages without error using callback', async () => { @@ -215,7 +224,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse() ); @@ -238,11 +246,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes batchAnnotateImages with error', async () => { @@ -254,18 +257,12 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateImages = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.batchAnnotateImages(request), expectedError); - assert( - (client.innerApiCalls.batchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateImages with closed client', async () => { @@ -293,7 +290,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse() ); @@ -301,11 +297,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.batchAnnotateFiles(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateFiles without error using callback', async () => { @@ -317,7 +308,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse() ); @@ -340,11 +330,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.batchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes batchAnnotateFiles with error', async () => { @@ -356,18 +341,12 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.batchAnnotateFiles = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.batchAnnotateFiles(request), expectedError); - assert( - (client.innerApiCalls.batchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes batchAnnotateFiles with closed client', async () => { @@ -395,7 +374,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -404,11 +382,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const [operation] = await client.asyncBatchAnnotateImages(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes asyncBatchAnnotateImages without error using callback', async () => { @@ -420,7 +393,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -450,11 +422,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes asyncBatchAnnotateImages with call error', async () => { @@ -466,7 +433,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( undefined, @@ -476,11 +442,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { client.asyncBatchAnnotateImages(request), expectedError ); - assert( - (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes asyncBatchAnnotateImages with LRO error', async () => { @@ -492,7 +453,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateImages = stubLongRunningCall( undefined, @@ -501,11 +461,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { ); const [operation] = await client.asyncBatchAnnotateImages(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.asyncBatchAnnotateImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes checkAsyncBatchAnnotateImagesProgress without error', async () => { @@ -561,7 +516,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -570,11 +524,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const [operation] = await client.asyncBatchAnnotateFiles(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes asyncBatchAnnotateFiles without error using callback', async () => { @@ -586,7 +535,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -616,11 +564,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); }); it('invokes asyncBatchAnnotateFiles with call error', async () => { @@ -632,7 +575,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -642,11 +584,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { client.asyncBatchAnnotateFiles(request), expectedError ); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes asyncBatchAnnotateFiles with LRO error', async () => { @@ -658,7 +595,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest() ); - const expectedOptions = {otherArgs: {headers: {}}}; const expectedError = new Error('expected'); client.innerApiCalls.asyncBatchAnnotateFiles = stubLongRunningCall( undefined, @@ -667,11 +603,6 @@ describe('v1p4beta1.ImageAnnotatorClient', () => { ); const [operation] = await client.asyncBatchAnnotateFiles(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.asyncBatchAnnotateFiles as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); }); it('invokes checkAsyncBatchAnnotateFilesProgress without error', async () => { diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index ac4d6486bc8..ae4ed49b59a 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -27,6 +27,21 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -254,26 +269,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateProductSetRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ProductSet() ); client.innerApiCalls.createProductSet = stubSimpleCall(expectedResponse); const [response] = await client.createProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProductSet without error using callback', async () => { @@ -285,15 +300,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateProductSetRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ProductSet() ); @@ -316,11 +328,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProductSet with error', async () => { @@ -332,26 +347,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateProductSetRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createProductSet(request), expectedError); - assert( - (client.innerApiCalls.createProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProductSet with closed client', async () => { @@ -363,7 +378,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateProductSetRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProductSet(request), expectedError); @@ -380,26 +399,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ProductSet() ); client.innerApiCalls.getProductSet = stubSimpleCall(expectedResponse); const [response] = await client.getProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProductSet without error using callback', async () => { @@ -411,15 +430,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ProductSet() ); @@ -442,11 +458,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProductSet with error', async () => { @@ -458,26 +477,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getProductSet(request), expectedError); - assert( - (client.innerApiCalls.getProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProductSet with closed client', async () => { @@ -489,7 +508,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProductSet(request), expectedError); @@ -506,27 +529,27 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; + const expectedHeaderRequestParams = `product_set.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ProductSet() ); client.innerApiCalls.updateProductSet = stubSimpleCall(expectedResponse); const [response] = await client.updateProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProductSet without error using callback', async () => { @@ -538,16 +561,13 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; + const expectedHeaderRequestParams = `product_set.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ProductSet() ); @@ -570,11 +590,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProductSet with error', async () => { @@ -586,27 +609,27 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; + const expectedHeaderRequestParams = `product_set.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.updateProductSet(request), expectedError); - assert( - (client.innerApiCalls.updateProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProductSet with closed client', async () => { @@ -618,8 +641,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProductSet(request), expectedError); @@ -636,26 +663,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.deleteProductSet = stubSimpleCall(expectedResponse); const [response] = await client.deleteProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProductSet without error using callback', async () => { @@ -667,15 +694,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -698,11 +722,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProductSet with error', async () => { @@ -714,26 +741,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteProductSet(request), expectedError); - assert( - (client.innerApiCalls.deleteProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProductSet with closed client', async () => { @@ -745,7 +772,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProductSet(request), expectedError); @@ -762,26 +793,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateProductRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.Product() ); client.innerApiCalls.createProduct = stubSimpleCall(expectedResponse); const [response] = await client.createProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProduct without error using callback', async () => { @@ -793,15 +824,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateProductRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.Product() ); @@ -824,11 +852,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProduct with error', async () => { @@ -840,26 +871,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateProductRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createProduct(request), expectedError); - assert( - (client.innerApiCalls.createProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProduct with closed client', async () => { @@ -871,7 +902,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateProductRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProduct(request), expectedError); @@ -888,26 +923,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.Product() ); client.innerApiCalls.getProduct = stubSimpleCall(expectedResponse); const [response] = await client.getProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProduct without error using callback', async () => { @@ -919,15 +954,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.Product() ); @@ -950,11 +982,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProduct with error', async () => { @@ -966,26 +1001,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getProduct(request), expectedError); - assert( - (client.innerApiCalls.getProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProduct with closed client', async () => { @@ -997,7 +1032,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetProductRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProduct(request), expectedError); @@ -1014,27 +1053,27 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; + const expectedHeaderRequestParams = `product.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.Product() ); client.innerApiCalls.updateProduct = stubSimpleCall(expectedResponse); const [response] = await client.updateProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProduct without error using callback', async () => { @@ -1046,16 +1085,13 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; + const expectedHeaderRequestParams = `product.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.Product() ); @@ -1078,11 +1114,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProduct with error', async () => { @@ -1094,27 +1133,27 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; + const expectedHeaderRequestParams = `product.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.updateProduct(request), expectedError); - assert( - (client.innerApiCalls.updateProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProduct with closed client', async () => { @@ -1126,8 +1165,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProduct(request), expectedError); @@ -1144,26 +1187,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.deleteProduct = stubSimpleCall(expectedResponse); const [response] = await client.deleteProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProduct without error using callback', async () => { @@ -1175,15 +1218,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1206,11 +1246,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProduct with error', async () => { @@ -1222,26 +1265,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteProduct(request), expectedError); - assert( - (client.innerApiCalls.deleteProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProduct with closed client', async () => { @@ -1253,7 +1296,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteProductRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProduct(request), expectedError); @@ -1270,15 +1317,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateReferenceImageRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() ); @@ -1286,11 +1330,14 @@ describe('v1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.createReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createReferenceImage without error using callback', async () => { @@ -1302,15 +1349,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateReferenceImageRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() ); @@ -1333,11 +1377,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createReferenceImage with error', async () => { @@ -1349,26 +1396,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateReferenceImageRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createReferenceImage = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createReferenceImage(request), expectedError); - assert( - (client.innerApiCalls.createReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createReferenceImage with closed client', async () => { @@ -1380,7 +1427,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.CreateReferenceImageRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createReferenceImage(request), expectedError); @@ -1397,15 +1448,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1413,11 +1461,14 @@ describe('v1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.deleteReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteReferenceImage without error using callback', async () => { @@ -1429,15 +1480,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1460,11 +1508,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteReferenceImage with error', async () => { @@ -1476,26 +1527,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteReferenceImage = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteReferenceImage(request), expectedError); - assert( - (client.innerApiCalls.deleteReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteReferenceImage with closed client', async () => { @@ -1507,7 +1558,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.DeleteReferenceImageRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteReferenceImage(request), expectedError); @@ -1524,26 +1579,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() ); client.innerApiCalls.getReferenceImage = stubSimpleCall(expectedResponse); const [response] = await client.getReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getReferenceImage without error using callback', async () => { @@ -1555,15 +1610,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() ); @@ -1586,11 +1638,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getReferenceImage with error', async () => { @@ -1602,26 +1657,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getReferenceImage = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getReferenceImage(request), expectedError); - assert( - (client.innerApiCalls.getReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getReferenceImage with closed client', async () => { @@ -1633,7 +1688,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.GetReferenceImageRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getReferenceImage(request), expectedError); @@ -1650,15 +1709,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AddProductToProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1666,11 +1722,14 @@ describe('v1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.addProductToProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.addProductToProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes addProductToProductSet without error using callback', async () => { @@ -1682,15 +1741,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AddProductToProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1713,11 +1769,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.addProductToProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes addProductToProductSet with error', async () => { @@ -1729,15 +1788,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AddProductToProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.addProductToProductSet = stubSimpleCall( undefined, @@ -1747,11 +1803,14 @@ describe('v1.ProductSearchClient', () => { client.addProductToProductSet(request), expectedError ); - assert( - (client.innerApiCalls.addProductToProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes addProductToProductSet with closed client', async () => { @@ -1763,7 +1822,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.AddProductToProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -1783,15 +1846,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.RemoveProductFromProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1799,11 +1859,14 @@ describe('v1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.removeProductFromProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.removeProductFromProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes removeProductFromProductSet without error using callback', async () => { @@ -1815,15 +1878,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.RemoveProductFromProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1846,11 +1906,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.removeProductFromProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes removeProductFromProductSet with error', async () => { @@ -1862,15 +1925,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.RemoveProductFromProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( undefined, @@ -1880,11 +1940,14 @@ describe('v1.ProductSearchClient', () => { client.removeProductFromProductSet(request), expectedError ); - assert( - (client.innerApiCalls.removeProductFromProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes removeProductFromProductSet with closed client', async () => { @@ -1896,7 +1959,11 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.RemoveProductFromProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -1916,15 +1983,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1933,11 +1997,14 @@ describe('v1.ProductSearchClient', () => { const [operation] = await client.importProductSets(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes importProductSets without error using callback', async () => { @@ -1949,15 +2016,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1987,11 +2051,14 @@ describe('v1.ProductSearchClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes importProductSets with call error', async () => { @@ -2003,26 +2070,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.importProductSets = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.importProductSets(request), expectedError); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes importProductSets with LRO error', async () => { @@ -2034,15 +2101,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.importProductSets = stubLongRunningCall( undefined, @@ -2051,11 +2115,14 @@ describe('v1.ProductSearchClient', () => { ); const [operation] = await client.importProductSets(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkImportProductSetsProgress without error', async () => { @@ -2110,15 +2177,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.PurgeProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.PurgeProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -2127,11 +2191,14 @@ describe('v1.ProductSearchClient', () => { const [operation] = await client.purgeProducts(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.purgeProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes purgeProducts without error using callback', async () => { @@ -2143,15 +2210,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.PurgeProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.PurgeProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -2181,11 +2245,14 @@ describe('v1.ProductSearchClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.purgeProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes purgeProducts with call error', async () => { @@ -2197,26 +2264,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.PurgeProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.PurgeProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.purgeProducts = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.purgeProducts(request), expectedError); - assert( - (client.innerApiCalls.purgeProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes purgeProducts with LRO error', async () => { @@ -2228,15 +2295,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.PurgeProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.PurgeProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.purgeProducts = stubLongRunningCall( undefined, @@ -2245,11 +2309,14 @@ describe('v1.ProductSearchClient', () => { ); const [operation] = await client.purgeProducts(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.purgeProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkPurgeProductsProgress without error', async () => { @@ -2304,15 +2371,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), @@ -2321,11 +2385,14 @@ describe('v1.ProductSearchClient', () => { client.innerApiCalls.listProductSets = stubSimpleCall(expectedResponse); const [response] = await client.listProductSets(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductSets without error using callback', async () => { @@ -2337,15 +2404,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), @@ -2370,11 +2434,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductSets with error', async () => { @@ -2386,26 +2453,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listProductSets = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listProductSets(request), expectedError); - assert( - (client.innerApiCalls.listProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductSetsStream without error', async () => { @@ -2417,8 +2484,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), @@ -2449,11 +2520,12 @@ describe('v1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductSets, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2466,8 +2538,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductSets.createStream = stubPageStreamingCall(undefined, expectedError); @@ -2493,11 +2569,12 @@ describe('v1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductSets, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2510,8 +2587,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), generateSampleMessage(new protos.google.cloud.vision.v1.ProductSet()), @@ -2531,11 +2612,12 @@ describe('v1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2548,8 +2630,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2566,11 +2652,12 @@ describe('v1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2585,15 +2672,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), @@ -2602,11 +2686,14 @@ describe('v1.ProductSearchClient', () => { client.innerApiCalls.listProducts = stubSimpleCall(expectedResponse); const [response] = await client.listProducts(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProducts without error using callback', async () => { @@ -2618,15 +2705,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), @@ -2651,11 +2735,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProducts with error', async () => { @@ -2667,26 +2754,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listProducts = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listProducts(request), expectedError); - assert( - (client.innerApiCalls.listProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsStream without error', async () => { @@ -2698,8 +2785,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), @@ -2727,11 +2818,12 @@ describe('v1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProducts, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2744,8 +2836,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProducts.createStream = stubPageStreamingCall( undefined, @@ -2770,11 +2866,12 @@ describe('v1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProducts, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2787,8 +2884,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), @@ -2808,11 +2909,12 @@ describe('v1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2825,8 +2927,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2843,11 +2949,12 @@ describe('v1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2862,15 +2969,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() @@ -2886,11 +2990,14 @@ describe('v1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listReferenceImages(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listReferenceImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listReferenceImages without error using callback', async () => { @@ -2902,15 +3009,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() @@ -2941,11 +3045,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listReferenceImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listReferenceImages with error', async () => { @@ -2957,26 +3064,26 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listReferenceImages = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listReferenceImages(request), expectedError); - assert( - (client.innerApiCalls.listReferenceImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listReferenceImagesStream without error', async () => { @@ -2988,8 +3095,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() @@ -3026,11 +3137,12 @@ describe('v1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listReferenceImages, request) ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3043,8 +3155,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall(undefined, expectedError); @@ -3070,11 +3186,12 @@ describe('v1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listReferenceImages, request) ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3087,8 +3204,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1.ReferenceImage() @@ -3114,11 +3235,12 @@ describe('v1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3131,8 +3253,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -3149,11 +3275,12 @@ describe('v1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -3168,15 +3295,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), @@ -3186,11 +3310,14 @@ describe('v1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listProductsInProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductsInProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsInProductSet without error using callback', async () => { @@ -3202,15 +3329,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), @@ -3235,11 +3359,14 @@ describe('v1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductsInProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsInProductSet with error', async () => { @@ -3251,15 +3378,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listProductsInProductSet = stubSimpleCall( undefined, @@ -3269,11 +3393,14 @@ describe('v1.ProductSearchClient', () => { client.listProductsInProductSet(request), expectedError ); - assert( - (client.innerApiCalls.listProductsInProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsInProductSetStream without error', async () => { @@ -3285,8 +3412,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), @@ -3317,12 +3448,15 @@ describe('v1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3335,8 +3469,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall(undefined, expectedError); @@ -3362,12 +3500,15 @@ describe('v1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3380,8 +3521,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage(new protos.google.cloud.vision.v1.Product()), generateSampleMessage(new protos.google.cloud.vision.v1.Product()), @@ -3402,12 +3547,15 @@ describe('v1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3420,8 +3568,12 @@ describe('v1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -3439,12 +3591,15 @@ describe('v1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index adad0827ccd..32845326332 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -27,6 +27,21 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -254,26 +269,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateProductSetRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() ); client.innerApiCalls.createProductSet = stubSimpleCall(expectedResponse); const [response] = await client.createProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProductSet without error using callback', async () => { @@ -285,15 +300,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateProductSetRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() ); @@ -316,11 +328,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProductSet with error', async () => { @@ -332,26 +347,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateProductSetRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createProductSet(request), expectedError); - assert( - (client.innerApiCalls.createProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProductSet with closed client', async () => { @@ -363,7 +378,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateProductSetRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProductSet(request), expectedError); @@ -380,26 +399,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() ); client.innerApiCalls.getProductSet = stubSimpleCall(expectedResponse); const [response] = await client.getProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProductSet without error using callback', async () => { @@ -411,15 +430,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() ); @@ -442,11 +458,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProductSet with error', async () => { @@ -458,26 +477,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getProductSet(request), expectedError); - assert( - (client.innerApiCalls.getProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProductSet with closed client', async () => { @@ -489,7 +508,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProductSet(request), expectedError); @@ -506,27 +529,27 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; + const expectedHeaderRequestParams = `product_set.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() ); client.innerApiCalls.updateProductSet = stubSimpleCall(expectedResponse); const [response] = await client.updateProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProductSet without error using callback', async () => { @@ -538,16 +561,13 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; + const expectedHeaderRequestParams = `product_set.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() ); @@ -570,11 +590,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProductSet with error', async () => { @@ -586,27 +609,27 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; + const expectedHeaderRequestParams = `product_set.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.updateProductSet(request), expectedError); - assert( - (client.innerApiCalls.updateProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProductSet with closed client', async () => { @@ -618,8 +641,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProductSet(request), expectedError); @@ -636,26 +663,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.deleteProductSet = stubSimpleCall(expectedResponse); const [response] = await client.deleteProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProductSet without error using callback', async () => { @@ -667,15 +694,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -698,11 +722,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProductSet with error', async () => { @@ -714,26 +741,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteProductSet(request), expectedError); - assert( - (client.innerApiCalls.deleteProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProductSet with closed client', async () => { @@ -745,7 +772,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProductSet(request), expectedError); @@ -762,26 +793,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateProductRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() ); client.innerApiCalls.createProduct = stubSimpleCall(expectedResponse); const [response] = await client.createProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProduct without error using callback', async () => { @@ -793,15 +824,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateProductRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() ); @@ -824,11 +852,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProduct with error', async () => { @@ -840,26 +871,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateProductRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createProduct(request), expectedError); - assert( - (client.innerApiCalls.createProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProduct with closed client', async () => { @@ -871,7 +902,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateProductRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProduct(request), expectedError); @@ -888,26 +923,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() ); client.innerApiCalls.getProduct = stubSimpleCall(expectedResponse); const [response] = await client.getProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProduct without error using callback', async () => { @@ -919,15 +954,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() ); @@ -950,11 +982,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProduct with error', async () => { @@ -966,26 +1001,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getProduct(request), expectedError); - assert( - (client.innerApiCalls.getProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProduct with closed client', async () => { @@ -997,7 +1032,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetProductRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProduct(request), expectedError); @@ -1014,27 +1053,27 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; + const expectedHeaderRequestParams = `product.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() ); client.innerApiCalls.updateProduct = stubSimpleCall(expectedResponse); const [response] = await client.updateProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProduct without error using callback', async () => { @@ -1046,16 +1085,13 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; + const expectedHeaderRequestParams = `product.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() ); @@ -1078,11 +1114,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProduct with error', async () => { @@ -1094,27 +1133,27 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; + const expectedHeaderRequestParams = `product.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.updateProduct(request), expectedError); - assert( - (client.innerApiCalls.updateProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProduct with closed client', async () => { @@ -1126,8 +1165,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProduct(request), expectedError); @@ -1144,26 +1187,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.deleteProduct = stubSimpleCall(expectedResponse); const [response] = await client.deleteProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProduct without error using callback', async () => { @@ -1175,15 +1218,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1206,11 +1246,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProduct with error', async () => { @@ -1222,26 +1265,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteProduct(request), expectedError); - assert( - (client.innerApiCalls.deleteProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProduct with closed client', async () => { @@ -1253,7 +1296,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteProductRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProduct(request), expectedError); @@ -1270,15 +1317,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ); @@ -1286,11 +1330,14 @@ describe('v1p3beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.createReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createReferenceImage without error using callback', async () => { @@ -1302,15 +1349,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ); @@ -1333,11 +1377,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createReferenceImage with error', async () => { @@ -1349,26 +1396,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createReferenceImage = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createReferenceImage(request), expectedError); - assert( - (client.innerApiCalls.createReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createReferenceImage with closed client', async () => { @@ -1380,7 +1427,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createReferenceImage(request), expectedError); @@ -1397,15 +1448,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1413,11 +1461,14 @@ describe('v1p3beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.deleteReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteReferenceImage without error using callback', async () => { @@ -1429,15 +1480,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1460,11 +1508,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteReferenceImage with error', async () => { @@ -1476,26 +1527,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteReferenceImage = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteReferenceImage(request), expectedError); - assert( - (client.innerApiCalls.deleteReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteReferenceImage with closed client', async () => { @@ -1507,7 +1558,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteReferenceImage(request), expectedError); @@ -1524,26 +1579,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ); client.innerApiCalls.getReferenceImage = stubSimpleCall(expectedResponse); const [response] = await client.getReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getReferenceImage without error using callback', async () => { @@ -1555,15 +1610,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() ); @@ -1586,11 +1638,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getReferenceImage with error', async () => { @@ -1602,26 +1657,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getReferenceImage = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getReferenceImage(request), expectedError); - assert( - (client.innerApiCalls.getReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getReferenceImage with closed client', async () => { @@ -1633,7 +1688,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.GetReferenceImageRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getReferenceImage(request), expectedError); @@ -1650,15 +1709,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1666,11 +1722,14 @@ describe('v1p3beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.addProductToProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.addProductToProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes addProductToProductSet without error using callback', async () => { @@ -1682,15 +1741,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1713,11 +1769,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.addProductToProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes addProductToProductSet with error', async () => { @@ -1729,15 +1788,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.addProductToProductSet = stubSimpleCall( undefined, @@ -1747,11 +1803,14 @@ describe('v1p3beta1.ProductSearchClient', () => { client.addProductToProductSet(request), expectedError ); - assert( - (client.innerApiCalls.addProductToProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes addProductToProductSet with closed client', async () => { @@ -1763,7 +1822,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -1783,15 +1846,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1799,11 +1859,14 @@ describe('v1p3beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.removeProductFromProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.removeProductFromProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes removeProductFromProductSet without error using callback', async () => { @@ -1815,15 +1878,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1846,11 +1906,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.removeProductFromProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes removeProductFromProductSet with error', async () => { @@ -1862,15 +1925,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( undefined, @@ -1880,11 +1940,14 @@ describe('v1p3beta1.ProductSearchClient', () => { client.removeProductFromProductSet(request), expectedError ); - assert( - (client.innerApiCalls.removeProductFromProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes removeProductFromProductSet with closed client', async () => { @@ -1896,7 +1959,11 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -1916,15 +1983,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1933,11 +1997,14 @@ describe('v1p3beta1.ProductSearchClient', () => { const [operation] = await client.importProductSets(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes importProductSets without error using callback', async () => { @@ -1949,15 +2016,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1987,11 +2051,14 @@ describe('v1p3beta1.ProductSearchClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes importProductSets with call error', async () => { @@ -2003,26 +2070,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.importProductSets = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.importProductSets(request), expectedError); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes importProductSets with LRO error', async () => { @@ -2034,15 +2101,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.importProductSets = stubLongRunningCall( undefined, @@ -2051,11 +2115,14 @@ describe('v1p3beta1.ProductSearchClient', () => { ); const [operation] = await client.importProductSets(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkImportProductSetsProgress without error', async () => { @@ -2110,15 +2177,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() @@ -2133,11 +2197,14 @@ describe('v1p3beta1.ProductSearchClient', () => { client.innerApiCalls.listProductSets = stubSimpleCall(expectedResponse); const [response] = await client.listProductSets(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductSets without error using callback', async () => { @@ -2149,15 +2216,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() @@ -2188,11 +2252,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductSets with error', async () => { @@ -2204,26 +2271,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listProductSets = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listProductSets(request), expectedError); - assert( - (client.innerApiCalls.listProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductSetsStream without error', async () => { @@ -2235,8 +2302,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() @@ -2273,11 +2344,12 @@ describe('v1p3beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductSets, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2290,8 +2362,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductSets.createStream = stubPageStreamingCall(undefined, expectedError); @@ -2317,11 +2393,12 @@ describe('v1p3beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductSets, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2334,8 +2411,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ProductSet() @@ -2361,11 +2442,12 @@ describe('v1p3beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2378,8 +2460,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2397,11 +2483,12 @@ describe('v1p3beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2416,15 +2503,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() @@ -2439,11 +2523,14 @@ describe('v1p3beta1.ProductSearchClient', () => { client.innerApiCalls.listProducts = stubSimpleCall(expectedResponse); const [response] = await client.listProducts(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProducts without error using callback', async () => { @@ -2455,15 +2542,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() @@ -2494,11 +2578,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProducts with error', async () => { @@ -2510,26 +2597,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listProducts = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listProducts(request), expectedError); - assert( - (client.innerApiCalls.listProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsStream without error', async () => { @@ -2541,8 +2628,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() @@ -2579,11 +2670,12 @@ describe('v1p3beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProducts, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2596,8 +2688,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProducts.createStream = stubPageStreamingCall( undefined, @@ -2625,11 +2721,12 @@ describe('v1p3beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProducts, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2642,8 +2739,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() @@ -2669,11 +2770,12 @@ describe('v1p3beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2686,8 +2788,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2704,11 +2810,12 @@ describe('v1p3beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2723,15 +2830,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() @@ -2747,11 +2851,14 @@ describe('v1p3beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listReferenceImages(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listReferenceImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listReferenceImages without error using callback', async () => { @@ -2763,15 +2870,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() @@ -2804,11 +2908,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listReferenceImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listReferenceImages with error', async () => { @@ -2820,26 +2927,26 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listReferenceImages = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listReferenceImages(request), expectedError); - assert( - (client.innerApiCalls.listReferenceImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listReferenceImagesStream without error', async () => { @@ -2851,8 +2958,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() @@ -2890,11 +3001,12 @@ describe('v1p3beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listReferenceImages, request) ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2907,8 +3019,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall(undefined, expectedError); @@ -2935,11 +3051,12 @@ describe('v1p3beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listReferenceImages, request) ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2952,8 +3069,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ReferenceImage() @@ -2980,11 +3101,12 @@ describe('v1p3beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2997,8 +3119,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -3016,11 +3142,12 @@ describe('v1p3beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -3035,15 +3162,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() @@ -3059,11 +3183,14 @@ describe('v1p3beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listProductsInProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductsInProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsInProductSet without error using callback', async () => { @@ -3075,15 +3202,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() @@ -3114,11 +3238,14 @@ describe('v1p3beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductsInProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsInProductSet with error', async () => { @@ -3130,15 +3257,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listProductsInProductSet = stubSimpleCall( undefined, @@ -3148,11 +3272,14 @@ describe('v1p3beta1.ProductSearchClient', () => { client.listProductsInProductSet(request), expectedError ); - assert( - (client.innerApiCalls.listProductsInProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsInProductSetStream without error', async () => { @@ -3164,8 +3291,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() @@ -3205,12 +3336,15 @@ describe('v1p3beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3223,8 +3357,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall(undefined, expectedError); @@ -3253,12 +3391,15 @@ describe('v1p3beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3271,8 +3412,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.Product() @@ -3299,12 +3444,15 @@ describe('v1p3beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3317,8 +3465,12 @@ describe('v1p3beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -3336,12 +3488,15 @@ describe('v1p3beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index 538ec6e0336..6baa71c8a1e 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -27,6 +27,21 @@ import {PassThrough} from 'stream'; import {protobuf, LROperation, operationsProtos} from 'google-gax'; +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + function generateSampleMessage(instance: T) { const filledObject = ( instance.constructor as typeof protobuf.Message @@ -254,26 +269,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateProductSetRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() ); client.innerApiCalls.createProductSet = stubSimpleCall(expectedResponse); const [response] = await client.createProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProductSet without error using callback', async () => { @@ -285,15 +300,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateProductSetRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() ); @@ -316,11 +328,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProductSet with error', async () => { @@ -332,26 +347,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateProductSetRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createProductSet(request), expectedError); - assert( - (client.innerApiCalls.createProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProductSet with closed client', async () => { @@ -363,7 +378,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateProductSetRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateProductSetRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProductSet(request), expectedError); @@ -380,26 +399,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() ); client.innerApiCalls.getProductSet = stubSimpleCall(expectedResponse); const [response] = await client.getProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProductSet without error using callback', async () => { @@ -411,15 +430,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() ); @@ -442,11 +458,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProductSet with error', async () => { @@ -458,26 +477,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getProductSet(request), expectedError); - assert( - (client.innerApiCalls.getProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProductSet with closed client', async () => { @@ -489,7 +508,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProductSet(request), expectedError); @@ -506,27 +529,27 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; + const expectedHeaderRequestParams = `product_set.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() ); client.innerApiCalls.updateProductSet = stubSimpleCall(expectedResponse); const [response] = await client.updateProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProductSet without error using callback', async () => { @@ -538,16 +561,13 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; + const expectedHeaderRequestParams = `product_set.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() ); @@ -570,11 +590,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProductSet with error', async () => { @@ -586,27 +609,27 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; - const expectedHeaderRequestParams = 'product_set.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; + const expectedHeaderRequestParams = `product_set.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.updateProductSet(request), expectedError); - assert( - (client.innerApiCalls.updateProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProductSet with closed client', async () => { @@ -618,8 +641,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.UpdateProductSetRequest() ); - request.productSet = {}; - request.productSet.name = ''; + request.productSet ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.UpdateProductSetRequest', + ['productSet', 'name'] + ); + request.productSet.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProductSet(request), expectedError); @@ -636,26 +663,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.deleteProductSet = stubSimpleCall(expectedResponse); const [response] = await client.deleteProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProductSet without error using callback', async () => { @@ -667,15 +694,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -698,11 +722,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProductSet with error', async () => { @@ -714,26 +741,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteProductSet = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteProductSet(request), expectedError); - assert( - (client.innerApiCalls.deleteProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProductSet with closed client', async () => { @@ -745,7 +772,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProductSet(request), expectedError); @@ -762,26 +793,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateProductRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() ); client.innerApiCalls.createProduct = stubSimpleCall(expectedResponse); const [response] = await client.createProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProduct without error using callback', async () => { @@ -793,15 +824,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateProductRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() ); @@ -824,11 +852,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProduct with error', async () => { @@ -840,26 +871,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateProductRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createProduct(request), expectedError); - assert( - (client.innerApiCalls.createProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createProduct with closed client', async () => { @@ -871,7 +902,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateProductRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateProductRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createProduct(request), expectedError); @@ -888,26 +923,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() ); client.innerApiCalls.getProduct = stubSimpleCall(expectedResponse); const [response] = await client.getProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProduct without error using callback', async () => { @@ -919,15 +954,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() ); @@ -950,11 +982,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProduct with error', async () => { @@ -966,26 +1001,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getProduct(request), expectedError); - assert( - (client.innerApiCalls.getProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getProduct with closed client', async () => { @@ -997,7 +1032,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetProductRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetProductRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getProduct(request), expectedError); @@ -1014,27 +1053,27 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; + const expectedHeaderRequestParams = `product.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() ); client.innerApiCalls.updateProduct = stubSimpleCall(expectedResponse); const [response] = await client.updateProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProduct without error using callback', async () => { @@ -1046,16 +1085,13 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; + const expectedHeaderRequestParams = `product.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() ); @@ -1078,11 +1114,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.updateProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProduct with error', async () => { @@ -1094,27 +1133,27 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; - const expectedHeaderRequestParams = 'product.name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; + const expectedHeaderRequestParams = `product.name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.updateProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.updateProduct(request), expectedError); - assert( - (client.innerApiCalls.updateProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes updateProduct with closed client', async () => { @@ -1126,8 +1165,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.UpdateProductRequest() ); - request.product = {}; - request.product.name = ''; + request.product ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.UpdateProductRequest', + ['product', 'name'] + ); + request.product.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.updateProduct(request), expectedError); @@ -1144,26 +1187,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); client.innerApiCalls.deleteProduct = stubSimpleCall(expectedResponse); const [response] = await client.deleteProduct(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProduct without error using callback', async () => { @@ -1175,15 +1218,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1206,11 +1246,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProduct with error', async () => { @@ -1222,26 +1265,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteProductRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteProduct = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteProduct(request), expectedError); - assert( - (client.innerApiCalls.deleteProduct as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteProduct as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteProduct with closed client', async () => { @@ -1253,7 +1296,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteProductRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteProductRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteProduct(request), expectedError); @@ -1270,15 +1317,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ); @@ -1286,11 +1330,14 @@ describe('v1p4beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.createReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createReferenceImage without error using callback', async () => { @@ -1302,15 +1349,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ); @@ -1333,11 +1377,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.createReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createReferenceImage with error', async () => { @@ -1349,26 +1396,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.createReferenceImage = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.createReferenceImage(request), expectedError); - assert( - (client.innerApiCalls.createReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes createReferenceImage with closed client', async () => { @@ -1380,7 +1427,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest() ); - request.parent = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest', + ['parent'] + ); + request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.createReferenceImage(request), expectedError); @@ -1397,15 +1448,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1413,11 +1461,14 @@ describe('v1p4beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.deleteReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteReferenceImage without error using callback', async () => { @@ -1429,15 +1480,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1460,11 +1508,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.deleteReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteReferenceImage with error', async () => { @@ -1476,26 +1527,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.deleteReferenceImage = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.deleteReferenceImage(request), expectedError); - assert( - (client.innerApiCalls.deleteReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes deleteReferenceImage with closed client', async () => { @@ -1507,7 +1558,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.deleteReferenceImage(request), expectedError); @@ -1524,26 +1579,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ); client.innerApiCalls.getReferenceImage = stubSimpleCall(expectedResponse); const [response] = await client.getReferenceImage(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getReferenceImage without error using callback', async () => { @@ -1555,15 +1610,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() ); @@ -1586,11 +1638,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.getReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getReferenceImage with error', async () => { @@ -1602,26 +1657,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetReferenceImageRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.getReferenceImage = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.getReferenceImage(request), expectedError); - assert( - (client.innerApiCalls.getReferenceImage as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getReferenceImage as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes getReferenceImage with closed client', async () => { @@ -1633,7 +1688,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.GetReferenceImageRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.GetReferenceImageRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects(client.getReferenceImage(request), expectedError); @@ -1650,15 +1709,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1666,11 +1722,14 @@ describe('v1p4beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.addProductToProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.addProductToProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes addProductToProductSet without error using callback', async () => { @@ -1682,15 +1741,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1713,11 +1769,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.addProductToProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes addProductToProductSet with error', async () => { @@ -1729,15 +1788,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.addProductToProductSet = stubSimpleCall( undefined, @@ -1747,11 +1803,14 @@ describe('v1p4beta1.ProductSearchClient', () => { client.addProductToProductSet(request), expectedError ); - assert( - (client.innerApiCalls.addProductToProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.addProductToProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes addProductToProductSet with closed client', async () => { @@ -1763,7 +1822,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -1783,15 +1846,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1799,11 +1859,14 @@ describe('v1p4beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.removeProductFromProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.removeProductFromProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes removeProductFromProductSet without error using callback', async () => { @@ -1815,15 +1878,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.protobuf.Empty() ); @@ -1846,11 +1906,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.removeProductFromProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes removeProductFromProductSet with error', async () => { @@ -1862,15 +1925,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.removeProductFromProductSet = stubSimpleCall( undefined, @@ -1880,11 +1940,14 @@ describe('v1p4beta1.ProductSearchClient', () => { client.removeProductFromProductSet(request), expectedError ); - assert( - (client.innerApiCalls.removeProductFromProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.removeProductFromProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes removeProductFromProductSet with closed client', async () => { @@ -1896,7 +1959,11 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest() ); - request.name = ''; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest', + ['name'] + ); + request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); await assert.rejects( @@ -1916,15 +1983,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1933,11 +1997,14 @@ describe('v1p4beta1.ProductSearchClient', () => { const [operation] = await client.importProductSets(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes importProductSets without error using callback', async () => { @@ -1949,15 +2016,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -1987,11 +2051,14 @@ describe('v1p4beta1.ProductSearchClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes importProductSets with call error', async () => { @@ -2003,26 +2070,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.importProductSets = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.importProductSets(request), expectedError); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes importProductSets with LRO error', async () => { @@ -2034,15 +2101,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ImportProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ImportProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.importProductSets = stubLongRunningCall( undefined, @@ -2051,11 +2115,14 @@ describe('v1p4beta1.ProductSearchClient', () => { ); const [operation] = await client.importProductSets(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.importProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkImportProductSetsProgress without error', async () => { @@ -2110,15 +2177,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.PurgeProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.PurgeProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -2127,11 +2191,14 @@ describe('v1p4beta1.ProductSearchClient', () => { const [operation] = await client.purgeProducts(request); const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.purgeProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes purgeProducts without error using callback', async () => { @@ -2143,15 +2210,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.PurgeProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.PurgeProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( new protos.google.longrunning.Operation() ); @@ -2181,11 +2245,14 @@ describe('v1p4beta1.ProductSearchClient', () => { >; const [response] = await operation.promise(); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.purgeProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes purgeProducts with call error', async () => { @@ -2197,26 +2264,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.PurgeProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.PurgeProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.purgeProducts = stubLongRunningCall( undefined, expectedError ); await assert.rejects(client.purgeProducts(request), expectedError); - assert( - (client.innerApiCalls.purgeProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes purgeProducts with LRO error', async () => { @@ -2228,15 +2295,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.PurgeProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.PurgeProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.purgeProducts = stubLongRunningCall( undefined, @@ -2245,11 +2309,14 @@ describe('v1p4beta1.ProductSearchClient', () => { ); const [operation] = await client.purgeProducts(request); await assert.rejects(operation.promise(), expectedError); - assert( - (client.innerApiCalls.purgeProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.purgeProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes checkPurgeProductsProgress without error', async () => { @@ -2304,15 +2371,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() @@ -2327,11 +2391,14 @@ describe('v1p4beta1.ProductSearchClient', () => { client.innerApiCalls.listProductSets = stubSimpleCall(expectedResponse); const [response] = await client.listProductSets(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductSets without error using callback', async () => { @@ -2343,15 +2410,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() @@ -2382,11 +2446,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductSets with error', async () => { @@ -2398,26 +2465,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listProductSets = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listProductSets(request), expectedError); - assert( - (client.innerApiCalls.listProductSets as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductSets as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductSetsStream without error', async () => { @@ -2429,8 +2496,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() @@ -2467,11 +2538,12 @@ describe('v1p4beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductSets, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2484,8 +2556,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductSets.createStream = stubPageStreamingCall(undefined, expectedError); @@ -2511,11 +2587,12 @@ describe('v1p4beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductSets, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2528,8 +2605,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ProductSet() @@ -2555,11 +2636,12 @@ describe('v1p4beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2572,8 +2654,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductSetsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductSetsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductSets.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2591,11 +2677,12 @@ describe('v1p4beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProductSets.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProductSets.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2610,15 +2697,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() @@ -2633,11 +2717,14 @@ describe('v1p4beta1.ProductSearchClient', () => { client.innerApiCalls.listProducts = stubSimpleCall(expectedResponse); const [response] = await client.listProducts(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProducts without error using callback', async () => { @@ -2649,15 +2736,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() @@ -2688,11 +2772,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProducts with error', async () => { @@ -2704,26 +2791,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listProducts = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listProducts(request), expectedError); - assert( - (client.innerApiCalls.listProducts as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProducts as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsStream without error', async () => { @@ -2735,8 +2822,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() @@ -2773,11 +2864,12 @@ describe('v1p4beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProducts, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2790,8 +2882,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProducts.createStream = stubPageStreamingCall( undefined, @@ -2819,11 +2915,12 @@ describe('v1p4beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProducts, request) ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2836,8 +2933,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() @@ -2863,11 +2964,12 @@ describe('v1p4beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -2880,8 +2982,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProducts.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -2898,11 +3004,12 @@ describe('v1p4beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listProducts.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listProducts.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -2917,15 +3024,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() @@ -2941,11 +3045,14 @@ describe('v1p4beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listReferenceImages(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listReferenceImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listReferenceImages without error using callback', async () => { @@ -2957,15 +3064,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() @@ -2998,11 +3102,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listReferenceImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listReferenceImages with error', async () => { @@ -3014,26 +3121,26 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listReferenceImages = stubSimpleCall( undefined, expectedError ); await assert.rejects(client.listReferenceImages(request), expectedError); - assert( - (client.innerApiCalls.listReferenceImages as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listReferenceImages as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listReferenceImagesStream without error', async () => { @@ -3045,8 +3152,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() @@ -3084,11 +3195,12 @@ describe('v1p4beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listReferenceImages, request) ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3101,8 +3213,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listReferenceImages.createStream = stubPageStreamingCall(undefined, expectedError); @@ -3129,11 +3245,12 @@ describe('v1p4beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listReferenceImages, request) ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3146,8 +3263,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ReferenceImage() @@ -3174,11 +3295,12 @@ describe('v1p4beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3191,8 +3313,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest() ); - request.parent = ''; - const expectedHeaderRequestParams = 'parent='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listReferenceImages.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -3210,11 +3336,12 @@ describe('v1p4beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( - ( - client.descriptors.page.listReferenceImages.asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + assert( + (client.descriptors.page.listReferenceImages.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); @@ -3229,15 +3356,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() @@ -3253,11 +3377,14 @@ describe('v1p4beta1.ProductSearchClient', () => { stubSimpleCall(expectedResponse); const [response] = await client.listProductsInProductSet(request); assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductsInProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsInProductSet without error using callback', async () => { @@ -3269,15 +3396,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() @@ -3308,11 +3432,14 @@ describe('v1p4beta1.ProductSearchClient', () => { }); const response = await promise; assert.deepStrictEqual(response, expectedResponse); - assert( - (client.innerApiCalls.listProductsInProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions /*, callback defined above */) - ); + const actualRequest = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsInProductSet with error', async () => { @@ -3324,15 +3451,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; - const expectedOptions = { - otherArgs: { - headers: { - 'x-goog-request-params': expectedHeaderRequestParams, - }, - }, - }; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.innerApiCalls.listProductsInProductSet = stubSimpleCall( undefined, @@ -3342,11 +3466,14 @@ describe('v1p4beta1.ProductSearchClient', () => { client.listProductsInProductSet(request), expectedError ); - assert( - (client.innerApiCalls.listProductsInProductSet as SinonStub) - .getCall(0) - .calledWith(request, expectedOptions, undefined) - ); + const actualRequest = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listProductsInProductSet as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); it('invokes listProductsInProductSetStream without error', async () => { @@ -3358,8 +3485,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() @@ -3399,12 +3530,15 @@ describe('v1p4beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3417,8 +3551,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductsInProductSet.createStream = stubPageStreamingCall(undefined, expectedError); @@ -3447,12 +3585,15 @@ describe('v1p4beta1.ProductSearchClient', () => { .getCall(0) .calledWith(client.innerApiCalls.listProductsInProductSet, request) ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .createStream as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3465,8 +3606,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = [ generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.Product() @@ -3493,12 +3638,15 @@ describe('v1p4beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); @@ -3511,8 +3659,12 @@ describe('v1p4beta1.ProductSearchClient', () => { const request = generateSampleMessage( new protos.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest() ); - request.name = ''; - const expectedHeaderRequestParams = 'name='; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); client.descriptors.page.listProductsInProductSet.asyncIterate = stubAsyncIterationCall(undefined, expectedError); @@ -3530,12 +3682,15 @@ describe('v1p4beta1.ProductSearchClient', () => { ).getCall(0).args[1], request ); - assert.strictEqual( + assert( ( client.descriptors.page.listProductsInProductSet .asyncIterate as SinonStub - ).getCall(0).args[2].otherArgs.headers['x-goog-request-params'], - expectedHeaderRequestParams + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) ); }); }); From 12307e7e44ebc1f6ba6b6b9d9926ba5570b13ebe Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 26 Sep 2022 15:24:35 +0000 Subject: [PATCH 562/588] chore(main): release 3.0.1 (#1066) :robot: I have created a release *beep* *boop* --- ## [3.0.1](https://github.com/googleapis/nodejs-vision/compare/v3.0.0...v3.0.1) (2022-09-21) ### Bug Fixes * Preserve default values in x-goog-request-params header ([#1044](https://github.com/googleapis/nodejs-vision/issues/1044)) ([a5baeca](https://github.com/googleapis/nodejs-vision/commit/a5baeca8fc50b9d805b55515db493c86cff26299)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- packages/google-cloud-vision/CHANGELOG.md | 7 +++++++ packages/google-cloud-vision/package.json | 2 +- .../v1/snippet_metadata.google.cloud.vision.v1.json | 2 +- .../snippet_metadata.google.cloud.vision.v1p1beta1.json | 2 +- .../snippet_metadata.google.cloud.vision.v1p2beta1.json | 2 +- .../snippet_metadata.google.cloud.vision.v1p3beta1.json | 2 +- .../snippet_metadata.google.cloud.vision.v1p4beta1.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 8 files changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index 56abd912944..e63ed832fd5 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [3.0.1](https://github.com/googleapis/nodejs-vision/compare/v3.0.0...v3.0.1) (2022-09-21) + + +### Bug Fixes + +* Preserve default values in x-goog-request-params header ([#1044](https://github.com/googleapis/nodejs-vision/issues/1044)) ([a5baeca](https://github.com/googleapis/nodejs-vision/commit/a5baeca8fc50b9d805b55515db493c86cff26299)) + ## [3.0.0](https://github.com/googleapis/nodejs-vision/compare/v2.4.2...v3.0.0) (2022-09-01) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 0fc876a2380..ed23c6f2404 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "3.0.0", + "version": "3.0.1", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json index 57675d2c1a5..a15b1a5d249 100644 --- a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json +++ b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.0", + "version": "3.0.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json index 51cdd15dc4e..1161c3bb4e5 100644 --- a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.0", + "version": "3.0.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json index 91858699b0d..6b52be9cfb0 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.0", + "version": "3.0.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json index 32c24fc9a60..e9eb8d27250 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.0", + "version": "3.0.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json index 683733558b9..428d32f3387 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.0", + "version": "3.0.1", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a23c3e35369..28afa6da3ab 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha system-test --timeout 600000" }, "dependencies": { - "@google-cloud/vision": "^3.0.0", + "@google-cloud/vision": "^3.0.1", "natural": "^5.0.0", "pureimage": "^0.3.0", "redis": "~4.3.0", From 8aa3bf9a78caaf04b7f8dceed1167539cfb53883 Mon Sep 17 00:00:00 2001 From: Gal Zahavi <38544478+galz10@users.noreply.github.com> Date: Tue, 4 Oct 2022 18:13:41 +0000 Subject: [PATCH 563/588] build(samples test): added imageContext to ImprovedRequest (#1069) * build(samples test): added imageContext to ImprovedRequest Co-authored-by: Owl Bot --- packages/google-cloud-vision/src/helpers.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/google-cloud-vision/src/helpers.ts b/packages/google-cloud-vision/src/helpers.ts index 0c7645b664b..e363f3a005f 100644 --- a/packages/google-cloud-vision/src/helpers.ts +++ b/packages/google-cloud-vision/src/helpers.ts @@ -51,6 +51,7 @@ interface ImprovedRequest { }; // eslint-disable-next-line @typescript-eslint/no-explicit-any features?: any; + imageContext?: any; } interface VisionClient { From 297c4af6dd19f506e15bb2f2c780a5ec5d731cb8 Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Wed, 2 Nov 2022 14:54:25 -0700 Subject: [PATCH 564/588] fix(deps): use google-gax v3.5.2 (#1073) - fix(deps): use google-gax v3.5.2 - fix: add comma --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ed23c6f2404..aa788c2bfa9 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -46,7 +46,7 @@ }, "dependencies": { "@google-cloud/promisify": "^3.0.0", - "google-gax": "^3.3.0", + "google-gax": "^3.5.2", "is": "^3.3.0" }, "devDependencies": { From 85a1b67b9358432e10d4bf064dae8fa02f37b0ad Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 10 Nov 2022 10:18:18 +0100 Subject: [PATCH 565/588] chore(deps): update dependency @types/node to v18 (#1070) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) | [`^16.0.0` -> `^18.0.0`](https://renovatebot.com/diffs/npm/@types%2fnode/16.18.3/18.11.9) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.9/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.9/compatibility-slim/16.18.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.11.9/confidence-slim/16.18.3)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index aa788c2bfa9..28c6d9c7409 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -53,7 +53,7 @@ "@google-cloud/storage": "^6.0.0", "@types/is": "0.0.21", "@types/mocha": "^9.0.0", - "@types/node": "^16.0.0", + "@types/node": "^18.0.0", "@types/sinon": "^10.0.0", "@types/uuid": "^8.0.0", "c8": "^7.1.0", From b80518338626f736d69caf72588693dadb832372 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 10 Nov 2022 10:30:32 +0100 Subject: [PATCH 566/588] chore(deps): update dependency jsdoc to v4 (#1076) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [jsdoc](https://togithub.com/jsdoc/jsdoc) | [`^3.6.3` -> `^4.0.0`](https://renovatebot.com/diffs/npm/jsdoc/3.6.11/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/jsdoc/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/jsdoc/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/jsdoc/4.0.0/compatibility-slim/3.6.11)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/jsdoc/4.0.0/confidence-slim/3.6.11)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
jsdoc/jsdoc ### [`v4.0.0`](https://togithub.com/jsdoc/jsdoc/blob/HEAD/CHANGES.md#​400-November-2022) [Compare Source](https://togithub.com/jsdoc/jsdoc/compare/3.6.11...084218523a7d69fec14a852ce680f374f526af28) - JSDoc releases now use [semantic versioning](https://semver.org/). If JSDoc makes backwards-incompatible changes in the future, the major version will be incremented. - JSDoc no longer uses the [`taffydb`](https://taffydb.com/) package. If your JSDoc template or plugin uses the `taffydb` package, see the [instructions for replacing `taffydb` with `@jsdoc/salty`](https://togithub.com/jsdoc/jsdoc/tree/main/packages/jsdoc-salty#use-salty-in-a-jsdoc-template). - JSDoc now supports Node.js 12.0.0 and later.
--- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/nodejs-vision). --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 28c6d9c7409..2444d96f418 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -59,7 +59,7 @@ "c8": "^7.1.0", "codecov": "^3.6.5", "gts": "^4.0.0", - "jsdoc": "^3.6.3", + "jsdoc": "^4.0.0", "jsdoc-fresh": "^2.0.0", "jsdoc-region-tag": "^2.0.0", "linkinator": "^4.0.0", From c6d15017543a9b74d7356cd585e379e18b77900c Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 10:26:27 +0000 Subject: [PATCH 567/588] fix: regenerated protos JS and TS definitions (#1077) samples: pull in latest typeless bot, clean up some comments Source-Link: https://togithub.com/googleapis/synthtool/commit/0a68e568b6911b60bb6fd452eba4848b176031d8 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:5b05f26103855c3a15433141389c478d1d3fe088fb5d4e3217c4793f6b3f245e --- .../google-cloud-vision/protos/protos.d.ts | 2 +- packages/google-cloud-vision/protos/protos.js | 772 +++++++++++++++--- 2 files changed, 676 insertions(+), 98 deletions(-) diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index cdac5324e29..57038caddab 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import Long = require("long"); import type {protobuf as $protobuf} from "google-gax"; +import Long = require("long"); /** Namespace google. */ export namespace google { diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index ff9082ec414..4099dd698b2 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -1430,6 +1430,12 @@ return object; var message = new $root.google.cloud.vision.v1.Feature(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "TYPE_UNSPECIFIED": case 0: message.type = 0; @@ -1509,7 +1515,7 @@ object.model = ""; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1.Feature.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1.Feature.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1.Feature.Type[message.type] : message.type; if (message.maxResults != null && message.hasOwnProperty("maxResults")) object.maxResults = message.maxResults; if (message.model != null && message.hasOwnProperty("model")) @@ -2559,6 +2565,12 @@ if (object.landmarkingConfidence != null) message.landmarkingConfidence = Number(object.landmarkingConfidence); switch (object.joyLikelihood) { + default: + if (typeof object.joyLikelihood === "number") { + message.joyLikelihood = object.joyLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.joyLikelihood = 0; @@ -2585,6 +2597,12 @@ break; } switch (object.sorrowLikelihood) { + default: + if (typeof object.sorrowLikelihood === "number") { + message.sorrowLikelihood = object.sorrowLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.sorrowLikelihood = 0; @@ -2611,6 +2629,12 @@ break; } switch (object.angerLikelihood) { + default: + if (typeof object.angerLikelihood === "number") { + message.angerLikelihood = object.angerLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.angerLikelihood = 0; @@ -2637,6 +2661,12 @@ break; } switch (object.surpriseLikelihood) { + default: + if (typeof object.surpriseLikelihood === "number") { + message.surpriseLikelihood = object.surpriseLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.surpriseLikelihood = 0; @@ -2663,6 +2693,12 @@ break; } switch (object.underExposedLikelihood) { + default: + if (typeof object.underExposedLikelihood === "number") { + message.underExposedLikelihood = object.underExposedLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.underExposedLikelihood = 0; @@ -2689,6 +2725,12 @@ break; } switch (object.blurredLikelihood) { + default: + if (typeof object.blurredLikelihood === "number") { + message.blurredLikelihood = object.blurredLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.blurredLikelihood = 0; @@ -2715,6 +2757,12 @@ break; } switch (object.headwearLikelihood) { + default: + if (typeof object.headwearLikelihood === "number") { + message.headwearLikelihood = object.headwearLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.headwearLikelihood = 0; @@ -2794,19 +2842,19 @@ if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.joyLikelihood] === undefined ? message.joyLikelihood : $root.google.cloud.vision.v1.Likelihood[message.joyLikelihood] : message.joyLikelihood; if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.sorrowLikelihood] === undefined ? message.sorrowLikelihood : $root.google.cloud.vision.v1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.angerLikelihood] === undefined ? message.angerLikelihood : $root.google.cloud.vision.v1.Likelihood[message.angerLikelihood] : message.angerLikelihood; if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.surpriseLikelihood] === undefined ? message.surpriseLikelihood : $root.google.cloud.vision.v1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.underExposedLikelihood] === undefined ? message.underExposedLikelihood : $root.google.cloud.vision.v1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.blurredLikelihood] === undefined ? message.blurredLikelihood : $root.google.cloud.vision.v1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.headwearLikelihood] === undefined ? message.headwearLikelihood : $root.google.cloud.vision.v1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; return object; }; @@ -3046,6 +3094,12 @@ return object; var message = new $root.google.cloud.vision.v1.FaceAnnotation.Landmark(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN_LANDMARK": case 0: message.type = 0; @@ -3221,7 +3275,7 @@ object.position = null; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1.FaceAnnotation.Landmark.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1.FaceAnnotation.Landmark.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1.FaceAnnotation.Landmark.Type[message.type] : message.type; if (message.position != null && message.hasOwnProperty("position")) object.position = $root.google.cloud.vision.v1.Position.toObject(message.position, options); return object; @@ -4820,6 +4874,12 @@ return object; var message = new $root.google.cloud.vision.v1.SafeSearchAnnotation(); switch (object.adult) { + default: + if (typeof object.adult === "number") { + message.adult = object.adult; + break; + } + break; case "UNKNOWN": case 0: message.adult = 0; @@ -4846,6 +4906,12 @@ break; } switch (object.spoof) { + default: + if (typeof object.spoof === "number") { + message.spoof = object.spoof; + break; + } + break; case "UNKNOWN": case 0: message.spoof = 0; @@ -4872,6 +4938,12 @@ break; } switch (object.medical) { + default: + if (typeof object.medical === "number") { + message.medical = object.medical; + break; + } + break; case "UNKNOWN": case 0: message.medical = 0; @@ -4898,6 +4970,12 @@ break; } switch (object.violence) { + default: + if (typeof object.violence === "number") { + message.violence = object.violence; + break; + } + break; case "UNKNOWN": case 0: message.violence = 0; @@ -4924,6 +5002,12 @@ break; } switch (object.racy) { + default: + if (typeof object.racy === "number") { + message.racy = object.racy; + break; + } + break; case "UNKNOWN": case 0: message.racy = 0; @@ -4973,15 +5057,15 @@ object.racy = options.enums === String ? "UNKNOWN" : 0; } if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.adult] : message.adult; + object.adult = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.adult] === undefined ? message.adult : $root.google.cloud.vision.v1.Likelihood[message.adult] : message.adult; if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.spoof] : message.spoof; + object.spoof = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.spoof] === undefined ? message.spoof : $root.google.cloud.vision.v1.Likelihood[message.spoof] : message.spoof; if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.medical] : message.medical; + object.medical = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.medical] === undefined ? message.medical : $root.google.cloud.vision.v1.Likelihood[message.medical] : message.medical; if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.violence] : message.violence; + object.violence = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.violence] === undefined ? message.violence : $root.google.cloud.vision.v1.Likelihood[message.violence] : message.violence; if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.racy] : message.racy; + object.racy = options.enums === String ? $root.google.cloud.vision.v1.Likelihood[message.racy] === undefined ? message.racy : $root.google.cloud.vision.v1.Likelihood[message.racy] : message.racy; return object; }; @@ -12785,6 +12869,12 @@ return object; var message = new $root.google.cloud.vision.v1.OperationMetadata(); switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; case "STATE_UNSPECIFIED": case 0: message.state = 0; @@ -12838,7 +12928,7 @@ object.updateTime = null; } if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1.OperationMetadata.State[message.state] : message.state; + object.state = options.enums === String ? $root.google.cloud.vision.v1.OperationMetadata.State[message.state] === undefined ? message.state : $root.google.cloud.vision.v1.OperationMetadata.State[message.state] : message.state; if (message.createTime != null && message.hasOwnProperty("createTime")) object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); if (message.updateTime != null && message.hasOwnProperty("updateTime")) @@ -22132,6 +22222,12 @@ return object; var message = new $root.google.cloud.vision.v1.BatchOperationMetadata(); switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; case "STATE_UNSPECIFIED": case 0: message.state = 0; @@ -22185,7 +22281,7 @@ object.endTime = null; } if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1.BatchOperationMetadata.State[message.state] : message.state; + object.state = options.enums === String ? $root.google.cloud.vision.v1.BatchOperationMetadata.State[message.state] === undefined ? message.state : $root.google.cloud.vision.v1.BatchOperationMetadata.State[message.state] : message.state; if (message.submitTime != null && message.hasOwnProperty("submitTime")) object.submitTime = $root.google.protobuf.Timestamp.toObject(message.submitTime, options); if (message.endTime != null && message.hasOwnProperty("endTime")) @@ -23398,6 +23494,12 @@ return object; var message = new $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN": case 0: message.type = 0; @@ -23446,7 +23548,7 @@ object.isPrefix = false; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType[message.type] === undefined ? message.type : $root.google.cloud.vision.v1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) object.isPrefix = message.isPrefix; return object; @@ -24347,6 +24449,12 @@ } } switch (object.blockType) { + default: + if (typeof object.blockType === "number") { + message.blockType = object.blockType; + break; + } + break; case "UNKNOWN": case 0: message.blockType = 0; @@ -24408,7 +24516,7 @@ object.paragraphs[j] = $root.google.cloud.vision.v1.Paragraph.toObject(message.paragraphs[j], options); } if (message.blockType != null && message.hasOwnProperty("blockType")) - object.blockType = options.enums === String ? $root.google.cloud.vision.v1.Block.BlockType[message.blockType] : message.blockType; + object.blockType = options.enums === String ? $root.google.cloud.vision.v1.Block.BlockType[message.blockType] === undefined ? message.blockType : $root.google.cloud.vision.v1.Block.BlockType[message.blockType] : message.blockType; if (message.confidence != null && message.hasOwnProperty("confidence")) object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; @@ -27828,6 +27936,12 @@ return object; var message = new $root.google.cloud.vision.v1p1beta1.Feature(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "TYPE_UNSPECIFIED": case 0: message.type = 0; @@ -27899,7 +28013,7 @@ object.model = ""; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Feature.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Feature.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p1beta1.Feature.Type[message.type] : message.type; if (message.maxResults != null && message.hasOwnProperty("maxResults")) object.maxResults = message.maxResults; if (message.model != null && message.hasOwnProperty("model")) @@ -28945,6 +29059,12 @@ if (object.landmarkingConfidence != null) message.landmarkingConfidence = Number(object.landmarkingConfidence); switch (object.joyLikelihood) { + default: + if (typeof object.joyLikelihood === "number") { + message.joyLikelihood = object.joyLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.joyLikelihood = 0; @@ -28971,6 +29091,12 @@ break; } switch (object.sorrowLikelihood) { + default: + if (typeof object.sorrowLikelihood === "number") { + message.sorrowLikelihood = object.sorrowLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.sorrowLikelihood = 0; @@ -28997,6 +29123,12 @@ break; } switch (object.angerLikelihood) { + default: + if (typeof object.angerLikelihood === "number") { + message.angerLikelihood = object.angerLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.angerLikelihood = 0; @@ -29023,6 +29155,12 @@ break; } switch (object.surpriseLikelihood) { + default: + if (typeof object.surpriseLikelihood === "number") { + message.surpriseLikelihood = object.surpriseLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.surpriseLikelihood = 0; @@ -29049,6 +29187,12 @@ break; } switch (object.underExposedLikelihood) { + default: + if (typeof object.underExposedLikelihood === "number") { + message.underExposedLikelihood = object.underExposedLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.underExposedLikelihood = 0; @@ -29075,6 +29219,12 @@ break; } switch (object.blurredLikelihood) { + default: + if (typeof object.blurredLikelihood === "number") { + message.blurredLikelihood = object.blurredLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.blurredLikelihood = 0; @@ -29101,6 +29251,12 @@ break; } switch (object.headwearLikelihood) { + default: + if (typeof object.headwearLikelihood === "number") { + message.headwearLikelihood = object.headwearLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.headwearLikelihood = 0; @@ -29180,19 +29336,19 @@ if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.joyLikelihood] === undefined ? message.joyLikelihood : $root.google.cloud.vision.v1p1beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.sorrowLikelihood] === undefined ? message.sorrowLikelihood : $root.google.cloud.vision.v1p1beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.angerLikelihood] === undefined ? message.angerLikelihood : $root.google.cloud.vision.v1p1beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.surpriseLikelihood] === undefined ? message.surpriseLikelihood : $root.google.cloud.vision.v1p1beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.underExposedLikelihood] === undefined ? message.underExposedLikelihood : $root.google.cloud.vision.v1p1beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.blurredLikelihood] === undefined ? message.blurredLikelihood : $root.google.cloud.vision.v1p1beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.headwearLikelihood] === undefined ? message.headwearLikelihood : $root.google.cloud.vision.v1p1beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; return object; }; @@ -29430,6 +29586,12 @@ return object; var message = new $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN_LANDMARK": case 0: message.type = 0; @@ -29597,7 +29759,7 @@ object.position = null; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; if (message.position != null && message.hasOwnProperty("position")) object.position = $root.google.cloud.vision.v1p1beta1.Position.toObject(message.position, options); return object; @@ -30891,6 +31053,12 @@ return object; var message = new $root.google.cloud.vision.v1p1beta1.SafeSearchAnnotation(); switch (object.adult) { + default: + if (typeof object.adult === "number") { + message.adult = object.adult; + break; + } + break; case "UNKNOWN": case 0: message.adult = 0; @@ -30917,6 +31085,12 @@ break; } switch (object.spoof) { + default: + if (typeof object.spoof === "number") { + message.spoof = object.spoof; + break; + } + break; case "UNKNOWN": case 0: message.spoof = 0; @@ -30943,6 +31117,12 @@ break; } switch (object.medical) { + default: + if (typeof object.medical === "number") { + message.medical = object.medical; + break; + } + break; case "UNKNOWN": case 0: message.medical = 0; @@ -30969,6 +31149,12 @@ break; } switch (object.violence) { + default: + if (typeof object.violence === "number") { + message.violence = object.violence; + break; + } + break; case "UNKNOWN": case 0: message.violence = 0; @@ -30995,6 +31181,12 @@ break; } switch (object.racy) { + default: + if (typeof object.racy === "number") { + message.racy = object.racy; + break; + } + break; case "UNKNOWN": case 0: message.racy = 0; @@ -31044,15 +31236,15 @@ object.racy = options.enums === String ? "UNKNOWN" : 0; } if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.adult] : message.adult; + object.adult = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.adult] === undefined ? message.adult : $root.google.cloud.vision.v1p1beta1.Likelihood[message.adult] : message.adult; if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.spoof] : message.spoof; + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.spoof] === undefined ? message.spoof : $root.google.cloud.vision.v1p1beta1.Likelihood[message.spoof] : message.spoof; if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.medical] : message.medical; + object.medical = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.medical] === undefined ? message.medical : $root.google.cloud.vision.v1p1beta1.Likelihood[message.medical] : message.medical; if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.violence] : message.violence; + object.violence = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.violence] === undefined ? message.violence : $root.google.cloud.vision.v1p1beta1.Likelihood[message.violence] : message.violence; if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.racy] : message.racy; + object.racy = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Likelihood[message.racy] === undefined ? message.racy : $root.google.cloud.vision.v1p1beta1.Likelihood[message.racy] : message.racy; return object; }; @@ -35466,6 +35658,12 @@ return object; var message = new $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN": case 0: message.type = 0; @@ -35514,7 +35712,7 @@ object.isPrefix = false; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p1beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) object.isPrefix = message.isPrefix; return object; @@ -36415,6 +36613,12 @@ } } switch (object.blockType) { + default: + if (typeof object.blockType === "number") { + message.blockType = object.blockType; + break; + } + break; case "UNKNOWN": case 0: message.blockType = 0; @@ -36476,7 +36680,7 @@ object.paragraphs[j] = $root.google.cloud.vision.v1p1beta1.Paragraph.toObject(message.paragraphs[j], options); } if (message.blockType != null && message.hasOwnProperty("blockType")) - object.blockType = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Block.BlockType[message.blockType] : message.blockType; + object.blockType = options.enums === String ? $root.google.cloud.vision.v1p1beta1.Block.BlockType[message.blockType] === undefined ? message.blockType : $root.google.cloud.vision.v1p1beta1.Block.BlockType[message.blockType] : message.blockType; if (message.confidence != null && message.hasOwnProperty("confidence")) object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; @@ -40201,6 +40405,12 @@ return object; var message = new $root.google.cloud.vision.v1p2beta1.Feature(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "TYPE_UNSPECIFIED": case 0: message.type = 0; @@ -40272,7 +40482,7 @@ object.model = ""; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Feature.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Feature.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p2beta1.Feature.Type[message.type] : message.type; if (message.maxResults != null && message.hasOwnProperty("maxResults")) object.maxResults = message.maxResults; if (message.model != null && message.hasOwnProperty("model")) @@ -41318,6 +41528,12 @@ if (object.landmarkingConfidence != null) message.landmarkingConfidence = Number(object.landmarkingConfidence); switch (object.joyLikelihood) { + default: + if (typeof object.joyLikelihood === "number") { + message.joyLikelihood = object.joyLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.joyLikelihood = 0; @@ -41344,6 +41560,12 @@ break; } switch (object.sorrowLikelihood) { + default: + if (typeof object.sorrowLikelihood === "number") { + message.sorrowLikelihood = object.sorrowLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.sorrowLikelihood = 0; @@ -41370,6 +41592,12 @@ break; } switch (object.angerLikelihood) { + default: + if (typeof object.angerLikelihood === "number") { + message.angerLikelihood = object.angerLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.angerLikelihood = 0; @@ -41396,6 +41624,12 @@ break; } switch (object.surpriseLikelihood) { + default: + if (typeof object.surpriseLikelihood === "number") { + message.surpriseLikelihood = object.surpriseLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.surpriseLikelihood = 0; @@ -41422,6 +41656,12 @@ break; } switch (object.underExposedLikelihood) { + default: + if (typeof object.underExposedLikelihood === "number") { + message.underExposedLikelihood = object.underExposedLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.underExposedLikelihood = 0; @@ -41448,6 +41688,12 @@ break; } switch (object.blurredLikelihood) { + default: + if (typeof object.blurredLikelihood === "number") { + message.blurredLikelihood = object.blurredLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.blurredLikelihood = 0; @@ -41474,6 +41720,12 @@ break; } switch (object.headwearLikelihood) { + default: + if (typeof object.headwearLikelihood === "number") { + message.headwearLikelihood = object.headwearLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.headwearLikelihood = 0; @@ -41553,19 +41805,19 @@ if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.joyLikelihood] === undefined ? message.joyLikelihood : $root.google.cloud.vision.v1p2beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.sorrowLikelihood] === undefined ? message.sorrowLikelihood : $root.google.cloud.vision.v1p2beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.angerLikelihood] === undefined ? message.angerLikelihood : $root.google.cloud.vision.v1p2beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.surpriseLikelihood] === undefined ? message.surpriseLikelihood : $root.google.cloud.vision.v1p2beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.underExposedLikelihood] === undefined ? message.underExposedLikelihood : $root.google.cloud.vision.v1p2beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.blurredLikelihood] === undefined ? message.blurredLikelihood : $root.google.cloud.vision.v1p2beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.headwearLikelihood] === undefined ? message.headwearLikelihood : $root.google.cloud.vision.v1p2beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; return object; }; @@ -41803,6 +42055,12 @@ return object; var message = new $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN_LANDMARK": case 0: message.type = 0; @@ -41970,7 +42228,7 @@ object.position = null; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p2beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; if (message.position != null && message.hasOwnProperty("position")) object.position = $root.google.cloud.vision.v1p2beta1.Position.toObject(message.position, options); return object; @@ -43264,6 +43522,12 @@ return object; var message = new $root.google.cloud.vision.v1p2beta1.SafeSearchAnnotation(); switch (object.adult) { + default: + if (typeof object.adult === "number") { + message.adult = object.adult; + break; + } + break; case "UNKNOWN": case 0: message.adult = 0; @@ -43290,6 +43554,12 @@ break; } switch (object.spoof) { + default: + if (typeof object.spoof === "number") { + message.spoof = object.spoof; + break; + } + break; case "UNKNOWN": case 0: message.spoof = 0; @@ -43316,6 +43586,12 @@ break; } switch (object.medical) { + default: + if (typeof object.medical === "number") { + message.medical = object.medical; + break; + } + break; case "UNKNOWN": case 0: message.medical = 0; @@ -43342,6 +43618,12 @@ break; } switch (object.violence) { + default: + if (typeof object.violence === "number") { + message.violence = object.violence; + break; + } + break; case "UNKNOWN": case 0: message.violence = 0; @@ -43368,6 +43650,12 @@ break; } switch (object.racy) { + default: + if (typeof object.racy === "number") { + message.racy = object.racy; + break; + } + break; case "UNKNOWN": case 0: message.racy = 0; @@ -43417,15 +43705,15 @@ object.racy = options.enums === String ? "UNKNOWN" : 0; } if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.adult] : message.adult; + object.adult = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.adult] === undefined ? message.adult : $root.google.cloud.vision.v1p2beta1.Likelihood[message.adult] : message.adult; if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.spoof] : message.spoof; + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.spoof] === undefined ? message.spoof : $root.google.cloud.vision.v1p2beta1.Likelihood[message.spoof] : message.spoof; if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.medical] : message.medical; + object.medical = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.medical] === undefined ? message.medical : $root.google.cloud.vision.v1p2beta1.Likelihood[message.medical] : message.medical; if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.violence] : message.violence; + object.violence = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.violence] === undefined ? message.violence : $root.google.cloud.vision.v1p2beta1.Likelihood[message.violence] : message.violence; if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.racy] : message.racy; + object.racy = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Likelihood[message.racy] === undefined ? message.racy : $root.google.cloud.vision.v1p2beta1.Likelihood[message.racy] : message.racy; return object; }; @@ -49710,6 +49998,12 @@ return object; var message = new $root.google.cloud.vision.v1p2beta1.OperationMetadata(); switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; case "STATE_UNSPECIFIED": case 0: message.state = 0; @@ -49763,7 +50057,7 @@ object.updateTime = null; } if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1p2beta1.OperationMetadata.State[message.state] : message.state; + object.state = options.enums === String ? $root.google.cloud.vision.v1p2beta1.OperationMetadata.State[message.state] === undefined ? message.state : $root.google.cloud.vision.v1p2beta1.OperationMetadata.State[message.state] : message.state; if (message.createTime != null && message.hasOwnProperty("createTime")) object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); if (message.updateTime != null && message.hasOwnProperty("updateTime")) @@ -50491,6 +50785,12 @@ return object; var message = new $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN": case 0: message.type = 0; @@ -50539,7 +50839,7 @@ object.isPrefix = false; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p2beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) object.isPrefix = message.isPrefix; return object; @@ -51440,6 +51740,12 @@ } } switch (object.blockType) { + default: + if (typeof object.blockType === "number") { + message.blockType = object.blockType; + break; + } + break; case "UNKNOWN": case 0: message.blockType = 0; @@ -51501,7 +51807,7 @@ object.paragraphs[j] = $root.google.cloud.vision.v1p2beta1.Paragraph.toObject(message.paragraphs[j], options); } if (message.blockType != null && message.hasOwnProperty("blockType")) - object.blockType = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Block.BlockType[message.blockType] : message.blockType; + object.blockType = options.enums === String ? $root.google.cloud.vision.v1p2beta1.Block.BlockType[message.blockType] === undefined ? message.blockType : $root.google.cloud.vision.v1p2beta1.Block.BlockType[message.blockType] : message.blockType; if (message.confidence != null && message.hasOwnProperty("confidence")) object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; @@ -55228,6 +55534,12 @@ return object; var message = new $root.google.cloud.vision.v1p3beta1.Feature(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "TYPE_UNSPECIFIED": case 0: message.type = 0; @@ -55307,7 +55619,7 @@ object.model = ""; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Feature.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Feature.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p3beta1.Feature.Type[message.type] : message.type; if (message.maxResults != null && message.hasOwnProperty("maxResults")) object.maxResults = message.maxResults; if (message.model != null && message.hasOwnProperty("model")) @@ -56357,6 +56669,12 @@ if (object.landmarkingConfidence != null) message.landmarkingConfidence = Number(object.landmarkingConfidence); switch (object.joyLikelihood) { + default: + if (typeof object.joyLikelihood === "number") { + message.joyLikelihood = object.joyLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.joyLikelihood = 0; @@ -56383,6 +56701,12 @@ break; } switch (object.sorrowLikelihood) { + default: + if (typeof object.sorrowLikelihood === "number") { + message.sorrowLikelihood = object.sorrowLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.sorrowLikelihood = 0; @@ -56409,6 +56733,12 @@ break; } switch (object.angerLikelihood) { + default: + if (typeof object.angerLikelihood === "number") { + message.angerLikelihood = object.angerLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.angerLikelihood = 0; @@ -56435,6 +56765,12 @@ break; } switch (object.surpriseLikelihood) { + default: + if (typeof object.surpriseLikelihood === "number") { + message.surpriseLikelihood = object.surpriseLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.surpriseLikelihood = 0; @@ -56461,6 +56797,12 @@ break; } switch (object.underExposedLikelihood) { + default: + if (typeof object.underExposedLikelihood === "number") { + message.underExposedLikelihood = object.underExposedLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.underExposedLikelihood = 0; @@ -56487,6 +56829,12 @@ break; } switch (object.blurredLikelihood) { + default: + if (typeof object.blurredLikelihood === "number") { + message.blurredLikelihood = object.blurredLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.blurredLikelihood = 0; @@ -56513,6 +56861,12 @@ break; } switch (object.headwearLikelihood) { + default: + if (typeof object.headwearLikelihood === "number") { + message.headwearLikelihood = object.headwearLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.headwearLikelihood = 0; @@ -56592,19 +56946,19 @@ if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.joyLikelihood] === undefined ? message.joyLikelihood : $root.google.cloud.vision.v1p3beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.sorrowLikelihood] === undefined ? message.sorrowLikelihood : $root.google.cloud.vision.v1p3beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.angerLikelihood] === undefined ? message.angerLikelihood : $root.google.cloud.vision.v1p3beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.surpriseLikelihood] === undefined ? message.surpriseLikelihood : $root.google.cloud.vision.v1p3beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.underExposedLikelihood] === undefined ? message.underExposedLikelihood : $root.google.cloud.vision.v1p3beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.blurredLikelihood] === undefined ? message.blurredLikelihood : $root.google.cloud.vision.v1p3beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.headwearLikelihood] === undefined ? message.headwearLikelihood : $root.google.cloud.vision.v1p3beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; return object; }; @@ -56842,6 +57196,12 @@ return object; var message = new $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN_LANDMARK": case 0: message.type = 0; @@ -57009,7 +57369,7 @@ object.position = null; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p3beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; if (message.position != null && message.hasOwnProperty("position")) object.position = $root.google.cloud.vision.v1p3beta1.Position.toObject(message.position, options); return object; @@ -58604,6 +58964,12 @@ return object; var message = new $root.google.cloud.vision.v1p3beta1.SafeSearchAnnotation(); switch (object.adult) { + default: + if (typeof object.adult === "number") { + message.adult = object.adult; + break; + } + break; case "UNKNOWN": case 0: message.adult = 0; @@ -58630,6 +58996,12 @@ break; } switch (object.spoof) { + default: + if (typeof object.spoof === "number") { + message.spoof = object.spoof; + break; + } + break; case "UNKNOWN": case 0: message.spoof = 0; @@ -58656,6 +59028,12 @@ break; } switch (object.medical) { + default: + if (typeof object.medical === "number") { + message.medical = object.medical; + break; + } + break; case "UNKNOWN": case 0: message.medical = 0; @@ -58682,6 +59060,12 @@ break; } switch (object.violence) { + default: + if (typeof object.violence === "number") { + message.violence = object.violence; + break; + } + break; case "UNKNOWN": case 0: message.violence = 0; @@ -58708,6 +59092,12 @@ break; } switch (object.racy) { + default: + if (typeof object.racy === "number") { + message.racy = object.racy; + break; + } + break; case "UNKNOWN": case 0: message.racy = 0; @@ -58757,15 +59147,15 @@ object.racy = options.enums === String ? "UNKNOWN" : 0; } if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.adult] : message.adult; + object.adult = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.adult] === undefined ? message.adult : $root.google.cloud.vision.v1p3beta1.Likelihood[message.adult] : message.adult; if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.spoof] : message.spoof; + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.spoof] === undefined ? message.spoof : $root.google.cloud.vision.v1p3beta1.Likelihood[message.spoof] : message.spoof; if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.medical] : message.medical; + object.medical = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.medical] === undefined ? message.medical : $root.google.cloud.vision.v1p3beta1.Likelihood[message.medical] : message.medical; if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.violence] : message.violence; + object.violence = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.violence] === undefined ? message.violence : $root.google.cloud.vision.v1p3beta1.Likelihood[message.violence] : message.violence; if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.racy] : message.racy; + object.racy = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Likelihood[message.racy] === undefined ? message.racy : $root.google.cloud.vision.v1p3beta1.Likelihood[message.racy] : message.racy; return object; }; @@ -65172,6 +65562,12 @@ return object; var message = new $root.google.cloud.vision.v1p3beta1.OperationMetadata(); switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; case "STATE_UNSPECIFIED": case 0: message.state = 0; @@ -65225,7 +65621,7 @@ object.updateTime = null; } if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1p3beta1.OperationMetadata.State[message.state] : message.state; + object.state = options.enums === String ? $root.google.cloud.vision.v1p3beta1.OperationMetadata.State[message.state] === undefined ? message.state : $root.google.cloud.vision.v1p3beta1.OperationMetadata.State[message.state] : message.state; if (message.createTime != null && message.hasOwnProperty("createTime")) object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); if (message.updateTime != null && message.hasOwnProperty("updateTime")) @@ -74486,6 +74882,12 @@ return object; var message = new $root.google.cloud.vision.v1p3beta1.BatchOperationMetadata(); switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; case "STATE_UNSPECIFIED": case 0: message.state = 0; @@ -74539,7 +74941,7 @@ object.endTime = null; } if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1p3beta1.BatchOperationMetadata.State[message.state] : message.state; + object.state = options.enums === String ? $root.google.cloud.vision.v1p3beta1.BatchOperationMetadata.State[message.state] === undefined ? message.state : $root.google.cloud.vision.v1p3beta1.BatchOperationMetadata.State[message.state] : message.state; if (message.submitTime != null && message.hasOwnProperty("submitTime")) object.submitTime = $root.google.protobuf.Timestamp.toObject(message.submitTime, options); if (message.endTime != null && message.hasOwnProperty("endTime")) @@ -75245,6 +75647,12 @@ return object; var message = new $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN": case 0: message.type = 0; @@ -75293,7 +75701,7 @@ object.isPrefix = false; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p3beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) object.isPrefix = message.isPrefix; return object; @@ -76194,6 +76602,12 @@ } } switch (object.blockType) { + default: + if (typeof object.blockType === "number") { + message.blockType = object.blockType; + break; + } + break; case "UNKNOWN": case 0: message.blockType = 0; @@ -76255,7 +76669,7 @@ object.paragraphs[j] = $root.google.cloud.vision.v1p3beta1.Paragraph.toObject(message.paragraphs[j], options); } if (message.blockType != null && message.hasOwnProperty("blockType")) - object.blockType = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Block.BlockType[message.blockType] : message.blockType; + object.blockType = options.enums === String ? $root.google.cloud.vision.v1p3beta1.Block.BlockType[message.blockType] === undefined ? message.blockType : $root.google.cloud.vision.v1p3beta1.Block.BlockType[message.blockType] : message.blockType; if (message.confidence != null && message.hasOwnProperty("confidence")) object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; @@ -80749,6 +81163,12 @@ return object; var message = new $root.google.cloud.vision.v1p4beta1.Feature(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "TYPE_UNSPECIFIED": case 0: message.type = 0; @@ -80828,7 +81248,7 @@ object.model = ""; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Feature.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Feature.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p4beta1.Feature.Type[message.type] : message.type; if (message.maxResults != null && message.hasOwnProperty("maxResults")) object.maxResults = message.maxResults; if (message.model != null && message.hasOwnProperty("model")) @@ -81928,6 +82348,12 @@ if (object.landmarkingConfidence != null) message.landmarkingConfidence = Number(object.landmarkingConfidence); switch (object.joyLikelihood) { + default: + if (typeof object.joyLikelihood === "number") { + message.joyLikelihood = object.joyLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.joyLikelihood = 0; @@ -81954,6 +82380,12 @@ break; } switch (object.sorrowLikelihood) { + default: + if (typeof object.sorrowLikelihood === "number") { + message.sorrowLikelihood = object.sorrowLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.sorrowLikelihood = 0; @@ -81980,6 +82412,12 @@ break; } switch (object.angerLikelihood) { + default: + if (typeof object.angerLikelihood === "number") { + message.angerLikelihood = object.angerLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.angerLikelihood = 0; @@ -82006,6 +82444,12 @@ break; } switch (object.surpriseLikelihood) { + default: + if (typeof object.surpriseLikelihood === "number") { + message.surpriseLikelihood = object.surpriseLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.surpriseLikelihood = 0; @@ -82032,6 +82476,12 @@ break; } switch (object.underExposedLikelihood) { + default: + if (typeof object.underExposedLikelihood === "number") { + message.underExposedLikelihood = object.underExposedLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.underExposedLikelihood = 0; @@ -82058,6 +82508,12 @@ break; } switch (object.blurredLikelihood) { + default: + if (typeof object.blurredLikelihood === "number") { + message.blurredLikelihood = object.blurredLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.blurredLikelihood = 0; @@ -82084,6 +82540,12 @@ break; } switch (object.headwearLikelihood) { + default: + if (typeof object.headwearLikelihood === "number") { + message.headwearLikelihood = object.headwearLikelihood; + break; + } + break; case "UNKNOWN": case 0: message.headwearLikelihood = 0; @@ -82175,19 +82637,19 @@ if (message.landmarkingConfidence != null && message.hasOwnProperty("landmarkingConfidence")) object.landmarkingConfidence = options.json && !isFinite(message.landmarkingConfidence) ? String(message.landmarkingConfidence) : message.landmarkingConfidence; if (message.joyLikelihood != null && message.hasOwnProperty("joyLikelihood")) - object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; + object.joyLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.joyLikelihood] === undefined ? message.joyLikelihood : $root.google.cloud.vision.v1p4beta1.Likelihood[message.joyLikelihood] : message.joyLikelihood; if (message.sorrowLikelihood != null && message.hasOwnProperty("sorrowLikelihood")) - object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; + object.sorrowLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.sorrowLikelihood] === undefined ? message.sorrowLikelihood : $root.google.cloud.vision.v1p4beta1.Likelihood[message.sorrowLikelihood] : message.sorrowLikelihood; if (message.angerLikelihood != null && message.hasOwnProperty("angerLikelihood")) - object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; + object.angerLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.angerLikelihood] === undefined ? message.angerLikelihood : $root.google.cloud.vision.v1p4beta1.Likelihood[message.angerLikelihood] : message.angerLikelihood; if (message.surpriseLikelihood != null && message.hasOwnProperty("surpriseLikelihood")) - object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; + object.surpriseLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.surpriseLikelihood] === undefined ? message.surpriseLikelihood : $root.google.cloud.vision.v1p4beta1.Likelihood[message.surpriseLikelihood] : message.surpriseLikelihood; if (message.underExposedLikelihood != null && message.hasOwnProperty("underExposedLikelihood")) - object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; + object.underExposedLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.underExposedLikelihood] === undefined ? message.underExposedLikelihood : $root.google.cloud.vision.v1p4beta1.Likelihood[message.underExposedLikelihood] : message.underExposedLikelihood; if (message.blurredLikelihood != null && message.hasOwnProperty("blurredLikelihood")) - object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; + object.blurredLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.blurredLikelihood] === undefined ? message.blurredLikelihood : $root.google.cloud.vision.v1p4beta1.Likelihood[message.blurredLikelihood] : message.blurredLikelihood; if (message.headwearLikelihood != null && message.hasOwnProperty("headwearLikelihood")) - object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; + object.headwearLikelihood = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.headwearLikelihood] === undefined ? message.headwearLikelihood : $root.google.cloud.vision.v1p4beta1.Likelihood[message.headwearLikelihood] : message.headwearLikelihood; if (message.recognitionResult && message.recognitionResult.length) { object.recognitionResult = []; for (var j = 0; j < message.recognitionResult.length; ++j) @@ -82430,6 +82892,12 @@ return object; var message = new $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN_LANDMARK": case 0: message.type = 0; @@ -82597,7 +83065,7 @@ object.position = null; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type[message.type] : message.type; if (message.position != null && message.hasOwnProperty("position")) object.position = $root.google.cloud.vision.v1p4beta1.Position.toObject(message.position, options); return object; @@ -84192,6 +84660,12 @@ return object; var message = new $root.google.cloud.vision.v1p4beta1.SafeSearchAnnotation(); switch (object.adult) { + default: + if (typeof object.adult === "number") { + message.adult = object.adult; + break; + } + break; case "UNKNOWN": case 0: message.adult = 0; @@ -84218,6 +84692,12 @@ break; } switch (object.spoof) { + default: + if (typeof object.spoof === "number") { + message.spoof = object.spoof; + break; + } + break; case "UNKNOWN": case 0: message.spoof = 0; @@ -84244,6 +84724,12 @@ break; } switch (object.medical) { + default: + if (typeof object.medical === "number") { + message.medical = object.medical; + break; + } + break; case "UNKNOWN": case 0: message.medical = 0; @@ -84270,6 +84756,12 @@ break; } switch (object.violence) { + default: + if (typeof object.violence === "number") { + message.violence = object.violence; + break; + } + break; case "UNKNOWN": case 0: message.violence = 0; @@ -84296,6 +84788,12 @@ break; } switch (object.racy) { + default: + if (typeof object.racy === "number") { + message.racy = object.racy; + break; + } + break; case "UNKNOWN": case 0: message.racy = 0; @@ -84345,15 +84843,15 @@ object.racy = options.enums === String ? "UNKNOWN" : 0; } if (message.adult != null && message.hasOwnProperty("adult")) - object.adult = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.adult] : message.adult; + object.adult = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.adult] === undefined ? message.adult : $root.google.cloud.vision.v1p4beta1.Likelihood[message.adult] : message.adult; if (message.spoof != null && message.hasOwnProperty("spoof")) - object.spoof = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.spoof] : message.spoof; + object.spoof = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.spoof] === undefined ? message.spoof : $root.google.cloud.vision.v1p4beta1.Likelihood[message.spoof] : message.spoof; if (message.medical != null && message.hasOwnProperty("medical")) - object.medical = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.medical] : message.medical; + object.medical = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.medical] === undefined ? message.medical : $root.google.cloud.vision.v1p4beta1.Likelihood[message.medical] : message.medical; if (message.violence != null && message.hasOwnProperty("violence")) - object.violence = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.violence] : message.violence; + object.violence = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.violence] === undefined ? message.violence : $root.google.cloud.vision.v1p4beta1.Likelihood[message.violence] : message.violence; if (message.racy != null && message.hasOwnProperty("racy")) - object.racy = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.racy] : message.racy; + object.racy = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Likelihood[message.racy] === undefined ? message.racy : $root.google.cloud.vision.v1p4beta1.Likelihood[message.racy] : message.racy; return object; }; @@ -92089,6 +92587,12 @@ return object; var message = new $root.google.cloud.vision.v1p4beta1.OperationMetadata(); switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; case "STATE_UNSPECIFIED": case 0: message.state = 0; @@ -92142,7 +92646,7 @@ object.updateTime = null; } if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.OperationMetadata.State[message.state] : message.state; + object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.OperationMetadata.State[message.state] === undefined ? message.state : $root.google.cloud.vision.v1p4beta1.OperationMetadata.State[message.state] : message.state; if (message.createTime != null && message.hasOwnProperty("createTime")) object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); if (message.updateTime != null && message.hasOwnProperty("updateTime")) @@ -101436,6 +101940,12 @@ return object; var message = new $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata(); switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; case "STATE_UNSPECIFIED": case 0: message.state = 0; @@ -101489,7 +101999,7 @@ object.endTime = null; } if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata.State[message.state] : message.state; + object.state = options.enums === String ? $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata.State[message.state] === undefined ? message.state : $root.google.cloud.vision.v1p4beta1.BatchOperationMetadata.State[message.state] : message.state; if (message.submitTime != null && message.hasOwnProperty("submitTime")) object.submitTime = $root.google.protobuf.Timestamp.toObject(message.submitTime, options); if (message.endTime != null && message.hasOwnProperty("endTime")) @@ -102702,6 +103212,12 @@ return object; var message = new $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak(); switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "UNKNOWN": case 0: message.type = 0; @@ -102750,7 +103266,7 @@ object.isPrefix = false; } if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; + object.type = options.enums === String ? $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType[message.type] === undefined ? message.type : $root.google.cloud.vision.v1p4beta1.TextAnnotation.DetectedBreak.BreakType[message.type] : message.type; if (message.isPrefix != null && message.hasOwnProperty("isPrefix")) object.isPrefix = message.isPrefix; return object; @@ -103651,6 +104167,12 @@ } } switch (object.blockType) { + default: + if (typeof object.blockType === "number") { + message.blockType = object.blockType; + break; + } + break; case "UNKNOWN": case 0: message.blockType = 0; @@ -103712,7 +104234,7 @@ object.paragraphs[j] = $root.google.cloud.vision.v1p4beta1.Paragraph.toObject(message.paragraphs[j], options); } if (message.blockType != null && message.hasOwnProperty("blockType")) - object.blockType = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Block.BlockType[message.blockType] : message.blockType; + object.blockType = options.enums === String ? $root.google.cloud.vision.v1p4beta1.Block.BlockType[message.blockType] === undefined ? message.blockType : $root.google.cloud.vision.v1p4beta1.Block.BlockType[message.blockType] : message.blockType; if (message.confidence != null && message.hasOwnProperty("confidence")) object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence; return object; @@ -107462,6 +107984,12 @@ if (object.nameField != null) message.nameField = String(object.nameField); switch (object.history) { + default: + if (typeof object.history === "number") { + message.history = object.history; + break; + } + break; case "HISTORY_UNSPECIFIED": case 0: message.history = 0; @@ -107486,6 +108014,10 @@ for (var i = 0; i < object.style.length; ++i) switch (object.style[i]) { default: + if (typeof object.style[i] === "number") { + message.style[i] = object.style[i]; + break; + } case "STYLE_UNSPECIFIED": case 0: message.style[i] = 0; @@ -107533,7 +108065,7 @@ if (message.nameField != null && message.hasOwnProperty("nameField")) object.nameField = message.nameField; if (message.history != null && message.hasOwnProperty("history")) - object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] : message.history; + object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] === undefined ? message.history : $root.google.api.ResourceDescriptor.History[message.history] : message.history; if (message.plural != null && message.hasOwnProperty("plural")) object.plural = message.plural; if (message.singular != null && message.hasOwnProperty("singular")) @@ -107541,7 +108073,7 @@ if (message.style && message.style.length) { object.style = []; for (var j = 0; j < message.style.length; ++j) - object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j]; + object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] === undefined ? message.style[j] : $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j]; } return object; }; @@ -110352,6 +110884,12 @@ if (object.number != null) message.number = object.number | 0; switch (object.label) { + default: + if (typeof object.label === "number") { + message.label = object.label; + break; + } + break; case "LABEL_OPTIONAL": case 1: message.label = 1; @@ -110366,6 +110904,12 @@ break; } switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; case "TYPE_DOUBLE": case 1: message.type = 1; @@ -110492,9 +111036,9 @@ if (message.number != null && message.hasOwnProperty("number")) object.number = message.number; if (message.label != null && message.hasOwnProperty("label")) - object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; + object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] === undefined ? message.label : $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; + object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] === undefined ? message.type : $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; if (message.typeName != null && message.hasOwnProperty("typeName")) object.typeName = message.typeName; if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) @@ -112841,6 +113385,12 @@ if (object.javaStringCheckUtf8 != null) message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); switch (object.optimizeFor) { + default: + if (typeof object.optimizeFor === "number") { + message.optimizeFor = object.optimizeFor; + break; + } + break; case "SPEED": case 1: message.optimizeFor = 1; @@ -112949,7 +113499,7 @@ if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) object.javaOuterClassname = message.javaOuterClassname; if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) - object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; + object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] === undefined ? message.optimizeFor : $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) object.javaMultipleFiles = message.javaMultipleFiles; if (message.goPackage != null && message.hasOwnProperty("goPackage")) @@ -113751,6 +114301,12 @@ return object; var message = new $root.google.protobuf.FieldOptions(); switch (object.ctype) { + default: + if (typeof object.ctype === "number") { + message.ctype = object.ctype; + break; + } + break; case "STRING": case 0: message.ctype = 0; @@ -113767,6 +114323,12 @@ if (object.packed != null) message.packed = Boolean(object.packed); switch (object.jstype) { + default: + if (typeof object.jstype === "number") { + message.jstype = object.jstype; + break; + } + break; case "JS_NORMAL": case 0: message.jstype = 0; @@ -113805,6 +114367,10 @@ for (var i = 0; i < object[".google.api.fieldBehavior"].length; ++i) switch (object[".google.api.fieldBehavior"][i]) { default: + if (typeof object[".google.api.fieldBehavior"][i] === "number") { + message[".google.api.fieldBehavior"][i] = object[".google.api.fieldBehavior"][i]; + break; + } case "FIELD_BEHAVIOR_UNSPECIFIED": case 0: message[".google.api.fieldBehavior"][i] = 0; @@ -113875,7 +114441,7 @@ object[".google.api.resourceReference"] = null; } if (message.ctype != null && message.hasOwnProperty("ctype")) - object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; + object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] === undefined ? message.ctype : $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; if (message.packed != null && message.hasOwnProperty("packed")) object.packed = message.packed; if (message.deprecated != null && message.hasOwnProperty("deprecated")) @@ -113883,7 +114449,7 @@ if (message.lazy != null && message.hasOwnProperty("lazy")) object.lazy = message.lazy; if (message.jstype != null && message.hasOwnProperty("jstype")) - object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; + object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] === undefined ? message.jstype : $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; if (message.weak != null && message.hasOwnProperty("weak")) object.weak = message.weak; if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) @@ -113896,7 +114462,7 @@ if (message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length) { object[".google.api.fieldBehavior"] = []; for (var j = 0; j < message[".google.api.fieldBehavior"].length; ++j) - object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j]; + object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] === undefined ? message[".google.api.fieldBehavior"][j] : $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j]; } if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) object[".google.api.resourceReference"] = $root.google.api.ResourceReference.toObject(message[".google.api.resourceReference"], options); @@ -115273,6 +115839,12 @@ if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); switch (object.idempotencyLevel) { + default: + if (typeof object.idempotencyLevel === "number") { + message.idempotencyLevel = object.idempotencyLevel; + break; + } + break; case "IDEMPOTENCY_UNKNOWN": case 0: message.idempotencyLevel = 0; @@ -115342,7 +115914,7 @@ if (message.deprecated != null && message.hasOwnProperty("deprecated")) object.deprecated = message.deprecated; if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) - object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; + object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] === undefined ? message.idempotencyLevel : $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; if (message.uninterpretedOption && message.uninterpretedOption.length) { object.uninterpretedOption = []; for (var j = 0; j < message.uninterpretedOption.length; ++j) @@ -117097,6 +117669,12 @@ if (object.end != null) message.end = object.end | 0; switch (object.semantic) { + default: + if (typeof object.semantic === "number") { + message.semantic = object.semantic; + break; + } + break; case "NONE": case 0: message.semantic = 0; @@ -117146,7 +117724,7 @@ if (message.end != null && message.hasOwnProperty("end")) object.end = message.end; if (message.semantic != null && message.hasOwnProperty("semantic")) - object.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic; + object.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] === undefined ? message.semantic : $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic; return object; }; From cd8c486993e5b785abbd81ce89938e78740e60d9 Mon Sep 17 00:00:00 2001 From: Eric Schmidt Date: Fri, 13 Jan 2023 14:32:39 -0800 Subject: [PATCH 568/588] chore(samples): removing migrated samples (#1083) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(samples): removing migrated samples * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * add package.json back * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: remove samples-test.cfg from continuous/node12 * chore: remove samples-test.cfg from presubmit/node12 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * Trying to resolve test failures * moar test fix Co-authored-by: Owl Bot Co-authored-by: meredithslota --- packages/google-cloud-vision/README.md | 43 +--- .../google-cloud-vision/protos/protos.d.ts | 2 +- packages/google-cloud-vision/protos/protos.js | 2 +- .../google-cloud-vision/samples/README.md | 231 +----------------- .../google-cloud-vision/samples/package.json | 3 - .../google-cloud-vision/samples/quickstart.js | 46 ---- 6 files changed, 5 insertions(+), 322 deletions(-) delete mode 100644 packages/google-cloud-vision/samples/quickstart.js diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 947dc56f7fa..66d3db6acae 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -31,8 +31,8 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. * [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) @@ -54,45 +54,6 @@ npm install @google-cloud/vision ``` -### Using the client library - -```javascript -async function quickstart() { - // Imports the Google Cloud client library - const vision = require('@google-cloud/vision'); - - // Creates a client - const client = new vision.ImageAnnotatorClient(); - - // Performs label detection on the image file - const [result] = await client.labelDetection('./resources/wakeupcat.jpg'); - const labels = result.labelAnnotations; - console.log('Labels:'); - labels.forEach(label => console.log(label.description)); -} -quickstart(); - -``` - - - -## Samples - -Samples are in the [`samples/`](https://github.com/googleapis/nodejs-vision/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample. - -| Sample | Source Code | Try it | -| --------------------------- | --------------------------------- | ------ | -| Async-batch-annotate-images | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/async-batch-annotate-images.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/async-batch-annotate-images.js,samples/README.md) | -| Batch-annotate-files-gcs | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/batch-annotate-files-gcs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files-gcs.js,samples/README.md) | -| Batch-annotate-files | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/batch-annotate-files.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files.js,samples/README.md) | -| Detect | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) | -| Detect.v1p1beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.v1p1beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) | -| Detect.v1p3beta1 | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.v1p3beta1.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) | -| Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/faceDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) | -| Cloud Vision Quickstart | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | -| Cloud Vision Custom API Endpoint | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/setEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) | -| Text Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/textDetection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) | -| Cloud Vision Face Detection | [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/vision-face-detection.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/vision-face-detection.js,samples/README.md) | diff --git a/packages/google-cloud-vision/protos/protos.d.ts b/packages/google-cloud-vision/protos/protos.d.ts index 57038caddab..9beac75e5dc 100644 --- a/packages/google-cloud-vision/protos/protos.d.ts +++ b/packages/google-cloud-vision/protos/protos.d.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/protos/protos.js b/packages/google-cloud-vision/protos/protos.js index 4099dd698b2..b3208d5e6b2 100644 --- a/packages/google-cloud-vision/protos/protos.js +++ b/packages/google-cloud-vision/protos/protos.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 823d779a8fc..639f9ffa3e9 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -4,233 +4,4 @@ # [Google Cloud Vision API: Node.js Samples](https://github.com/googleapis/nodejs-vision) -[![Open in Cloud Shell][shell_img]][shell_link] - - - -## Table of Contents - -* [Before you begin](#before-you-begin) -* [Samples](#samples) - * [Async-batch-annotate-images](#async-batch-annotate-images) - * [Batch-annotate-files-gcs](#batch-annotate-files-gcs) - * [Batch-annotate-files](#batch-annotate-files) - * [Detect](#detect) - * [Detect.v1p1beta1](#detect.v1p1beta1) - * [Detect.v1p3beta1](#detect.v1p3beta1) - * [Face Detection](#face-detection) - * [Cloud Vision Quickstart](#cloud-vision-quickstart) - * [Cloud Vision Custom API Endpoint](#cloud-vision-custom-api-endpoint) - * [Text Detection](#text-detection) - * [Cloud Vision Face Detection](#cloud-vision-face-detection) - -## Before you begin - -Before running the samples, make sure you've followed the steps outlined in -[Using the client library](https://github.com/googleapis/nodejs-vision#using-the-client-library). - -`cd samples` - -`npm install` - -`cd ..` - -## Samples - - - -### Async-batch-annotate-images - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/async-batch-annotate-images.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/async-batch-annotate-images.js,samples/README.md) - -__Usage:__ - - -`node samples/async-batch-annotate-images.js` - - ------ - - - - -### Batch-annotate-files-gcs - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/batch-annotate-files-gcs.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files-gcs.js,samples/README.md) - -__Usage:__ - - -`node samples/batch-annotate-files-gcs.js` - - ------ - - - - -### Batch-annotate-files - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/batch-annotate-files.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/batch-annotate-files.js,samples/README.md) - -__Usage:__ - - -`node samples/batch-annotate-files.js` - - ------ - - - - -### Detect - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.js,samples/README.md) - -__Usage:__ - - -`node samples/detect.js` - - ------ - - - - -### Detect.v1p1beta1 - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.v1p1beta1.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p1beta1.js,samples/README.md) - -__Usage:__ - - -`node samples/detect.v1p1beta1.js` - - ------ - - - - -### Detect.v1p3beta1 - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/detect.v1p3beta1.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/detect.v1p3beta1.js,samples/README.md) - -__Usage:__ - - -`node samples/detect.v1p3beta1.js` - - ------ - - - - -### Face Detection - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/faceDetection.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/faceDetection.js,samples/README.md) - -__Usage:__ - - -`node samples/faceDetection.js` - - ------ - - - - -### Cloud Vision Quickstart - -Performs label detection of an image with a cat. - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/quickstart.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) - -__Usage:__ - - -`node quickstart.js` - - ------ - - - - -### Cloud Vision Custom API Endpoint - -Demonstrates using a custom API endpoint for the Cloud Vision API. - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/setEndpoint.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/setEndpoint.js,samples/README.md) - -__Usage:__ - - -`node setEndpoint.js` - - ------ - - - - -### Text Detection - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/textDetection.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/textDetection.js,samples/README.md) - -__Usage:__ - - -`node samples/textDetection.js` - - ------ - - - - -### Cloud Vision Face Detection - -Identify faces in an image using the Cloud Vision API. - -View the [source code](https://github.com/googleapis/nodejs-vision/blob/main/samples/vision-face-detection.js). - -[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/vision-face-detection.js,samples/README.md) - -__Usage:__ - - -`node vision-face-detection.js ` - - - - - - -[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png -[shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-vision&page=editor&open_in_editor=samples/README.md -[product-docs]: https://cloud.google.com/vision +All samples have been migrated [here](https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/main/vision). \ No newline at end of file diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 28afa6da3ab..71732799972 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -9,9 +9,6 @@ "files": [ "*.js" ], - "scripts": { - "test": "mocha system-test --timeout 600000" - }, "dependencies": { "@google-cloud/vision": "^3.0.1", "natural": "^5.0.0", diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js deleted file mode 100644 index db1fabce97f..00000000000 --- a/packages/google-cloud-vision/samples/quickstart.js +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2017 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. - -'use strict'; - -// sample-metadata: -// title: Cloud Vision Quickstart -// description: Performs label detection of an image with a cat. -// usage: node quickstart.js - -function main() { - // [START vision_quickstart] - async function quickstart() { - // Imports the Google Cloud client library - const vision = require('@google-cloud/vision'); - - // Creates a client - const client = new vision.ImageAnnotatorClient(); - - // Performs label detection on the image file - const [result] = await client.labelDetection('./resources/wakeupcat.jpg'); - const labels = result.labelAnnotations; - console.log('Labels:'); - labels.forEach(label => console.log(label.description)); - } - quickstart(); - // [END vision_quickstart] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); - -main(...process.argv.slice(2)); From f0e4a1b1a33839314a188da90e2c7b5ebf01a033 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Sat, 14 Jan 2023 06:11:08 +0000 Subject: [PATCH 569/588] chore(deps): update dependency @types/mocha to v10 (#1068) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2444d96f418..259e9b22541 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -52,7 +52,7 @@ "devDependencies": { "@google-cloud/storage": "^6.0.0", "@types/is": "0.0.21", - "@types/mocha": "^9.0.0", + "@types/mocha": "^10.0.0", "@types/node": "^18.0.0", "@types/sinon": "^10.0.0", "@types/uuid": "^8.0.0", From ab5aaed49f8c3d3aed507bc7bd833f0b72c3d863 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Sat, 14 Jan 2023 06:27:15 +0000 Subject: [PATCH 570/588] fix(deps): update dependency redis to ~4.5.0 (#1072) --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 71732799972..4fead547812 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -13,7 +13,7 @@ "@google-cloud/vision": "^3.0.1", "natural": "^5.0.0", "pureimage": "^0.3.0", - "redis": "~4.3.0", + "redis": "~4.5.0", "yargs": "^16.0.0" }, "devDependencies": { From dc421e767d7b6f8b786057deb20f19ae16fe9783 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Sat, 14 Jan 2023 06:32:50 +0000 Subject: [PATCH 571/588] chore(deps): update dependency webpack-cli to v5 (#1078) Co-authored-by: meredithslota --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 259e9b22541..2307624135a 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -71,6 +71,6 @@ "typescript": "^4.6.4", "uuid": "^9.0.0", "webpack": "^5.0.0", - "webpack-cli": "^4.0.0" + "webpack-cli": "^5.0.0" } } From f5733be8274a9d9a395d9ac595fdfdb35733e092 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Sat, 14 Jan 2023 06:57:29 +0000 Subject: [PATCH 572/588] chore(deps): update dependency sinon to v15 (#1079) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 2307624135a..89b33a36408 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -66,7 +66,7 @@ "mocha": "^10.0.0", "null-loader": "^4.0.0", "pack-n-play": "^1.0.0-2", - "sinon": "^14.0.0", + "sinon": "^15.0.0", "ts-loader": "^9.0.0", "typescript": "^4.6.4", "uuid": "^9.0.0", From 256c4597e9a89f9132f0cdb3e9f3c15205fd68ef Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Sat, 14 Jan 2023 07:05:20 +0000 Subject: [PATCH 573/588] chore(deps): update dependency @types/uuid to v9 (#1080) --- packages/google-cloud-vision/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index 89b33a36408..ffd7846dfb9 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -55,7 +55,7 @@ "@types/mocha": "^10.0.0", "@types/node": "^18.0.0", "@types/sinon": "^10.0.0", - "@types/uuid": "^8.0.0", + "@types/uuid": "^9.0.0", "c8": "^7.1.0", "codecov": "^3.6.5", "gts": "^4.0.0", From 00868a74ea44bb0b493a68b77f4825df3bd1c781 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Sat, 14 Jan 2023 16:48:14 +0000 Subject: [PATCH 574/588] fix(deps): update dependency natural to v6 (#1085) Co-authored-by: meredithslota --- packages/google-cloud-vision/samples/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 4fead547812..687279fe3e8 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -11,7 +11,7 @@ ], "dependencies": { "@google-cloud/vision": "^3.0.1", - "natural": "^5.0.0", + "natural": "^6.0.0", "pureimage": "^0.3.0", "redis": "~4.5.0", "yargs": "^16.0.0" From d641920fd70ef1ea948f1a0a2f571601b06b2f33 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 14 Jan 2023 08:57:48 -0800 Subject: [PATCH 575/588] feat: Added SuggestConversationSummary RPC (#1081) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: Enable requesting numeric enums in "transport=rest" responses for services supporting this (Java, Go, Python, PHP, TypeScript, C#, and Ruby), even if they do not yet turn on REST transport chore: disallow "transport=rest" for services where numeric enums are not confirmed to be supported (except in PHP and Java) PiperOrigin-RevId: 493113566 Source-Link: https://github.com/googleapis/googleapis/commit/758f0d1217d9c7fe398aa5efb1057ce4b6409e55 Source-Link: https://github.com/googleapis/googleapis-gen/commit/78bd8f05e1276363eb14eae70e91fe4bc20703ab Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNzhiZDhmMDVlMTI3NjM2M2ViMTRlYWU3MGU5MWZlNGJjMjA3MDNhYiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: Added SuggestConversationSummary RPC docs: updated go library package PiperOrigin-RevId: 501862436 Source-Link: https://github.com/googleapis/googleapis/commit/155e0f4123ba003055587768944a47498c48926b Source-Link: https://github.com/googleapis/googleapis-gen/commit/3051f617a991c274c88d27064e803095e4ef9d39 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMzA1MWY2MTdhOTkxYzI3NGM4OGQyNzA2NGU4MDMwOTVlNGVmOWQzOSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot Co-authored-by: meredithslota --- packages/google-cloud-vision/.jsdoc.js | 4 ++-- .../v1/image_annotator.async_batch_annotate_files.js | 2 +- .../v1/image_annotator.async_batch_annotate_images.js | 2 +- .../generated/v1/image_annotator.batch_annotate_files.js | 2 +- .../generated/v1/image_annotator.batch_annotate_images.js | 2 +- .../v1/product_search.add_product_to_product_set.js | 2 +- .../samples/generated/v1/product_search.create_product.js | 2 +- .../generated/v1/product_search.create_product_set.js | 2 +- .../generated/v1/product_search.create_reference_image.js | 2 +- .../samples/generated/v1/product_search.delete_product.js | 2 +- .../generated/v1/product_search.delete_product_set.js | 2 +- .../generated/v1/product_search.delete_reference_image.js | 2 +- .../samples/generated/v1/product_search.get_product.js | 2 +- .../samples/generated/v1/product_search.get_product_set.js | 2 +- .../generated/v1/product_search.get_reference_image.js | 2 +- .../generated/v1/product_search.import_product_sets.js | 2 +- .../samples/generated/v1/product_search.list_product_sets.js | 2 +- .../samples/generated/v1/product_search.list_products.js | 2 +- .../v1/product_search.list_products_in_product_set.js | 2 +- .../generated/v1/product_search.list_reference_images.js | 2 +- .../samples/generated/v1/product_search.purge_products.js | 2 +- .../v1/product_search.remove_product_from_product_set.js | 2 +- .../samples/generated/v1/product_search.update_product.js | 2 +- .../generated/v1/product_search.update_product_set.js | 2 +- .../v1p1beta1/image_annotator.batch_annotate_images.js | 2 +- .../v1p2beta1/image_annotator.async_batch_annotate_files.js | 2 +- .../v1p2beta1/image_annotator.batch_annotate_images.js | 2 +- .../v1p3beta1/image_annotator.async_batch_annotate_files.js | 2 +- .../v1p3beta1/image_annotator.batch_annotate_images.js | 2 +- .../v1p3beta1/product_search.add_product_to_product_set.js | 2 +- .../generated/v1p3beta1/product_search.create_product.js | 2 +- .../generated/v1p3beta1/product_search.create_product_set.js | 2 +- .../v1p3beta1/product_search.create_reference_image.js | 2 +- .../generated/v1p3beta1/product_search.delete_product.js | 2 +- .../generated/v1p3beta1/product_search.delete_product_set.js | 2 +- .../v1p3beta1/product_search.delete_reference_image.js | 2 +- .../generated/v1p3beta1/product_search.get_product.js | 2 +- .../generated/v1p3beta1/product_search.get_product_set.js | 2 +- .../v1p3beta1/product_search.get_reference_image.js | 2 +- .../v1p3beta1/product_search.import_product_sets.js | 2 +- .../generated/v1p3beta1/product_search.list_product_sets.js | 2 +- .../generated/v1p3beta1/product_search.list_products.js | 2 +- .../v1p3beta1/product_search.list_products_in_product_set.js | 2 +- .../v1p3beta1/product_search.list_reference_images.js | 2 +- .../product_search.remove_product_from_product_set.js | 2 +- .../generated/v1p3beta1/product_search.update_product.js | 2 +- .../generated/v1p3beta1/product_search.update_product_set.js | 2 +- .../v1p4beta1/image_annotator.async_batch_annotate_files.js | 2 +- .../v1p4beta1/image_annotator.async_batch_annotate_images.js | 2 +- .../v1p4beta1/image_annotator.batch_annotate_files.js | 2 +- .../v1p4beta1/image_annotator.batch_annotate_images.js | 2 +- .../v1p4beta1/product_search.add_product_to_product_set.js | 2 +- .../generated/v1p4beta1/product_search.create_product.js | 2 +- .../generated/v1p4beta1/product_search.create_product_set.js | 2 +- .../v1p4beta1/product_search.create_reference_image.js | 2 +- .../generated/v1p4beta1/product_search.delete_product.js | 2 +- .../generated/v1p4beta1/product_search.delete_product_set.js | 2 +- .../v1p4beta1/product_search.delete_reference_image.js | 2 +- .../generated/v1p4beta1/product_search.get_product.js | 2 +- .../generated/v1p4beta1/product_search.get_product_set.js | 2 +- .../v1p4beta1/product_search.get_reference_image.js | 2 +- .../v1p4beta1/product_search.import_product_sets.js | 2 +- .../generated/v1p4beta1/product_search.list_product_sets.js | 2 +- .../generated/v1p4beta1/product_search.list_products.js | 2 +- .../v1p4beta1/product_search.list_products_in_product_set.js | 2 +- .../v1p4beta1/product_search.list_reference_images.js | 2 +- .../generated/v1p4beta1/product_search.purge_products.js | 2 +- .../product_search.remove_product_from_product_set.js | 2 +- .../generated/v1p4beta1/product_search.update_product.js | 2 +- .../generated/v1p4beta1/product_search.update_product_set.js | 2 +- .../google-cloud-vision/src/v1/image_annotator_client.ts | 5 ++++- packages/google-cloud-vision/src/v1/index.ts | 2 +- packages/google-cloud-vision/src/v1/product_search_client.ts | 5 ++++- .../src/v1p1beta1/image_annotator_client.ts | 5 ++++- packages/google-cloud-vision/src/v1p1beta1/index.ts | 2 +- .../src/v1p2beta1/image_annotator_client.ts | 5 ++++- packages/google-cloud-vision/src/v1p2beta1/index.ts | 2 +- .../src/v1p3beta1/image_annotator_client.ts | 5 ++++- packages/google-cloud-vision/src/v1p3beta1/index.ts | 2 +- .../src/v1p3beta1/product_search_client.ts | 5 ++++- .../src/v1p4beta1/image_annotator_client.ts | 5 ++++- packages/google-cloud-vision/src/v1p4beta1/index.ts | 2 +- .../src/v1p4beta1/product_search_client.ts | 5 ++++- .../system-test/fixtures/sample/src/index.js | 2 +- .../system-test/fixtures/sample/src/index.ts | 2 +- packages/google-cloud-vision/system-test/install.ts | 2 +- .../google-cloud-vision/test/gapic_image_annotator_v1.ts | 2 +- .../test/gapic_image_annotator_v1p1beta1.ts | 2 +- .../test/gapic_image_annotator_v1p2beta1.ts | 2 +- .../test/gapic_image_annotator_v1p3beta1.ts | 2 +- .../test/gapic_image_annotator_v1p4beta1.ts | 2 +- packages/google-cloud-vision/test/gapic_product_search_v1.ts | 2 +- .../test/gapic_product_search_v1p3beta1.ts | 2 +- .../test/gapic_product_search_v1p4beta1.ts | 2 +- 94 files changed, 119 insertions(+), 95 deletions(-) diff --git a/packages/google-cloud-vision/.jsdoc.js b/packages/google-cloud-vision/.jsdoc.js index 3a185a8438a..d0b1b99b69e 100644 --- a/packages/google-cloud-vision/.jsdoc.js +++ b/packages/google-cloud-vision/.jsdoc.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,7 +40,7 @@ module.exports = { includePattern: '\\.js$' }, templates: { - copyright: 'Copyright 2022 Google LLC', + copyright: 'Copyright 2023 Google LLC', includeDate: false, sourceFiles: false, systemName: '@google-cloud/vision', diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js index 7d7ed138087..082eaef0ab5 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js index 70be298e6a5..9c97f2a2a98 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js index 528c4d1fd40..f2b2930c9b1 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js index 2f57a691d88..991ca9d7d7c 100644 --- a/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js index 1826ada29cd..c21264f40ff 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js index 9e064a95897..b9c709fcf06 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js index 5c580189d1d..81702d1ab1f 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js index 6175cef1d3e..8506cd1a1b3 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js index 8d58541b9cf..91a489bdc49 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js index 5c5b81257e1..1586c169c37 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js index 18a64743d3e..6e489d981d7 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js index 27e014dba9a..c9d6392a5a3 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js index fa80ab00434..c08dea70e3d 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js index b25fb5e6a0f..e7429e8522d 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js index 859e0f5af44..e30166c4491 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js index 66a071b0ddb..e5bf4df1429 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js index 8fa795f6b62..418934512f9 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js index 3e9871fcc41..9e6d0b77098 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js index f7175d39882..f2c5a69c1b0 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js index 0dae0b9b4d0..7cd42dffcd4 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js index ad66ef6b0a5..02feca9e54c 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js index d8fd49f96ee..69391152114 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js index 26bf5ed6aa1..65d4315e912 100644 --- a/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js index eb0fe42234e..04a62e5d2e7 100644 --- a/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js index 92074c3a102..5159cebe5cd 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js index 793ec83e6d4..21f5fe4b8f9 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js index 900c1b0bb4e..ad289491010 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js index 1b58eca16e4..50c2ee9c151 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js index 96b4c8babb5..59fb5512227 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js index ed6ac1b8ca0..cae01debcc1 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js index 90879035d5a..1c056450152 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js index 48848360cbd..6842f0d6b4a 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js index a5872042246..0874ac56e05 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js index 7d971bc38c6..0c2c1b22bf8 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js index c97f2727b65..428cb5c5b01 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js index c62e8ea6542..e567ea01132 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js index 4def76dc0f4..6172705b941 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js index 93ee9d82015..23a706fb001 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js index 23698c042ef..abae11942a0 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js index 52033c07fef..a79e216eaac 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js index 454672d19fc..2cf281d381c 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js index 65bc35e27cf..db185779265 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js index 9deb4e05ae6..8f9a281bbb1 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js index 45dcddaff3f..f010803ea6e 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js index 8d98838c885..dcc93df7572 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js index cfecdb7044c..59b2ffc046f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js index 199be36a7a6..4fca75d9b90 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js index 8cb5197f995..d724c61addd 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js index 2fe101f3276..b0f97db60da 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js index f6aaa34e241..e6a52d75150 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js index c6ef04f09a5..b05bc5af4a3 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js index 60ec6540b05..3d7a421510c 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js index ea4c348bea0..39e0b6d4636 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js index bb6709c3259..4234bac55a5 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js index 63f362dc14f..77a59a20027 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js index 72ac7fec626..47366aff48c 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js index 92f9f39c175..ba8d84e8ec1 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js index 80db0f5a666..d25228dc720 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js index acba73c5bb3..fb9617e5e8a 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js index 5dc13d641b6..61727ded73d 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js index 3a42269890e..d59394fb7ac 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js index 81e409fa527..07c3a811621 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js index 8b67070e978..50aaa67a814 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js index 869b118f055..402c7019a1c 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js index 637c1f8a3cf..376272fc49e 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js index 5dd66449878..30d93c0c44f 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js index af9e9c143ab..dd2c2d1bdd2 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js index 3c8d60bb66f..5e385c1ccdc 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js index 6ceb8322877..66ed51966b3 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1/image_annotator_client.ts index 31495ea2ad2..26e2076f064 100644 --- a/packages/google-cloud-vision/src/v1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -123,6 +123,9 @@ export class ImageAnnotatorClient { (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { opts['scopes'] = staticMembers.scopes; diff --git a/packages/google-cloud-vision/src/v1/index.ts b/packages/google-cloud-vision/src/v1/index.ts index 549f810f7b4..4cbdef9415f 100644 --- a/packages/google-cloud-vision/src/v1/index.ts +++ b/packages/google-cloud-vision/src/v1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1/product_search_client.ts b/packages/google-cloud-vision/src/v1/product_search_client.ts index 1a64fc9e75c..53b8596856e 100644 --- a/packages/google-cloud-vision/src/v1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -136,6 +136,9 @@ export class ProductSearchClient { (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { opts['scopes'] = staticMembers.scopes; diff --git a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts index afef4427ef3..986e6d389da 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -119,6 +119,9 @@ export class ImageAnnotatorClient { (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { opts['scopes'] = staticMembers.scopes; diff --git a/packages/google-cloud-vision/src/v1p1beta1/index.ts b/packages/google-cloud-vision/src/v1p1beta1/index.ts index a9739874353..19b34c964cc 100644 --- a/packages/google-cloud-vision/src/v1p1beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p1beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts index 8bb2e005702..a79354c4d2a 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -122,6 +122,9 @@ export class ImageAnnotatorClient { (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { opts['scopes'] = staticMembers.scopes; diff --git a/packages/google-cloud-vision/src/v1p2beta1/index.ts b/packages/google-cloud-vision/src/v1p2beta1/index.ts index a9739874353..19b34c964cc 100644 --- a/packages/google-cloud-vision/src/v1p2beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p2beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts index 7f0e5c86dfb..98a3246563a 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -123,6 +123,9 @@ export class ImageAnnotatorClient { (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { opts['scopes'] = staticMembers.scopes; diff --git a/packages/google-cloud-vision/src/v1p3beta1/index.ts b/packages/google-cloud-vision/src/v1p3beta1/index.ts index 549f810f7b4..4cbdef9415f 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts index f309bbfe2d7..d401a753d02 100644 --- a/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p3beta1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -136,6 +136,9 @@ export class ProductSearchClient { (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { opts['scopes'] = staticMembers.scopes; diff --git a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts index d8d335af3da..d5708514ae8 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/image_annotator_client.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -123,6 +123,9 @@ export class ImageAnnotatorClient { (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { opts['scopes'] = staticMembers.scopes; diff --git a/packages/google-cloud-vision/src/v1p4beta1/index.ts b/packages/google-cloud-vision/src/v1p4beta1/index.ts index 549f810f7b4..4cbdef9415f 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/index.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts index dd6eaab4928..226d479f90c 100644 --- a/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts +++ b/packages/google-cloud-vision/src/v1p4beta1/product_search_client.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -140,6 +140,9 @@ export class ProductSearchClient { (typeof window !== 'undefined' && typeof window?.fetch === 'function'); opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { opts['scopes'] = staticMembers.scopes; diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js index 1ec7d1fcfb5..812e2cb548f 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.js @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts index 4f095534563..1ec26c8076f 100644 --- a/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts +++ b/packages/google-cloud-vision/system-test/fixtures/sample/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/system-test/install.ts b/packages/google-cloud-vision/system-test/install.ts index 6dd1eaadafa..f61fe236476 100644 --- a/packages/google-cloud-vision/system-test/install.ts +++ b/packages/google-cloud-vision/system-test/install.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts index c7590b51150..9cbdd105807 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts index edf4055b471..790de938403 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p1beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts index 8ddfa624a5f..124129c447d 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p2beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts index b82c3419f2c..ba8d342e359 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p3beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts index 97a633c936f..2219e36b1a1 100644 --- a/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_image_annotator_v1p4beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1.ts index ae4ed49b59a..6fc4d281f5d 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts index 32845326332..eebe84696a7 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p3beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts index 6baa71c8a1e..083304e6fcf 100644 --- a/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts +++ b/packages/google-cloud-vision/test/gapic_product_search_v1p4beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From a14b7ab88a9c3ccea58f8f527c75fffad4ae163b Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 15:59:37 -0800 Subject: [PATCH 576/588] chore(main): release 3.1.0 (#1074) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(main): release 3.1.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Owl Bot --- packages/google-cloud-vision/CHANGELOG.md | 15 +++++++++++++++ packages/google-cloud-vision/package.json | 2 +- .../snippet_metadata.google.cloud.vision.v1.json | 2 +- ...et_metadata.google.cloud.vision.v1p1beta1.json | 2 +- ...et_metadata.google.cloud.vision.v1p2beta1.json | 2 +- ...et_metadata.google.cloud.vision.v1p3beta1.json | 2 +- ...et_metadata.google.cloud.vision.v1p4beta1.json | 2 +- packages/google-cloud-vision/samples/package.json | 2 +- 8 files changed, 22 insertions(+), 7 deletions(-) diff --git a/packages/google-cloud-vision/CHANGELOG.md b/packages/google-cloud-vision/CHANGELOG.md index e63ed832fd5..91063880bcf 100644 --- a/packages/google-cloud-vision/CHANGELOG.md +++ b/packages/google-cloud-vision/CHANGELOG.md @@ -4,6 +4,21 @@ [1]: https://www.npmjs.com/package/@google-cloud/nodejs-vision?activeTab=versions +## [3.1.0](https://github.com/googleapis/nodejs-vision/compare/v3.0.1...v3.1.0) (2023-01-14) + + +### Features + +* Added SuggestConversationSummary RPC ([#1081](https://github.com/googleapis/nodejs-vision/issues/1081)) ([e46aaec](https://github.com/googleapis/nodejs-vision/commit/e46aaec37c70c3fa05c7b390bb06fddde30fc4ee)) + + +### Bug Fixes + +* **deps:** Update dependency natural to v6 ([#1085](https://github.com/googleapis/nodejs-vision/issues/1085)) ([f9bdd84](https://github.com/googleapis/nodejs-vision/commit/f9bdd849ad0e9c0724deeb52eea8791a0186ed9d)) +* **deps:** Update dependency redis to ~4.5.0 ([#1072](https://github.com/googleapis/nodejs-vision/issues/1072)) ([109fed0](https://github.com/googleapis/nodejs-vision/commit/109fed01d6ddefe81e352861f482b207e79fd10b)) +* **deps:** Use google-gax v3.5.2 ([#1073](https://github.com/googleapis/nodejs-vision/issues/1073)) ([47281f6](https://github.com/googleapis/nodejs-vision/commit/47281f6bcf25d8223d065ec99b8db51624c34cbd)) +* Regenerated protos JS and TS definitions ([#1077](https://github.com/googleapis/nodejs-vision/issues/1077)) ([4f7610f](https://github.com/googleapis/nodejs-vision/commit/4f7610f253ceb694abfb41aa2a6a2e02493e1c52)) + ## [3.0.1](https://github.com/googleapis/nodejs-vision/compare/v3.0.0...v3.0.1) (2022-09-21) diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index ffd7846dfb9..fd6e318713d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/vision", "description": "Google Cloud Vision API client for Node.js", - "version": "3.0.1", + "version": "3.1.0", "license": "Apache-2.0", "author": "Google Inc", "engines": { diff --git a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json index a15b1a5d249..48341229bf3 100644 --- a/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json +++ b/packages/google-cloud-vision/samples/generated/v1/snippet_metadata.google.cloud.vision.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.1", + "version": "3.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json index 1161c3bb4e5..1c78660f771 100644 --- a/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p1beta1/snippet_metadata.google.cloud.vision.v1p1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.1", + "version": "3.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json index 6b52be9cfb0..874d4eeb030 100644 --- a/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p2beta1/snippet_metadata.google.cloud.vision.v1p2beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.1", + "version": "3.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json index e9eb8d27250..2f45d92034b 100644 --- a/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p3beta1/snippet_metadata.google.cloud.vision.v1p3beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.1", + "version": "3.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json index 428d32f3387..837e99e5225 100644 --- a/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json +++ b/packages/google-cloud-vision/samples/generated/v1p4beta1/snippet_metadata.google.cloud.vision.v1p4beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "nodejs-vision", - "version": "3.0.1", + "version": "3.1.0", "language": "TYPESCRIPT", "apis": [ { diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index 687279fe3e8..a132ce6a5ff 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -10,7 +10,7 @@ "*.js" ], "dependencies": { - "@google-cloud/vision": "^3.0.1", + "@google-cloud/vision": "^3.1.0", "natural": "^6.0.0", "pureimage": "^0.3.0", "redis": "~4.5.0", From c868d1248487b99045fdaa5f405b8760d812b9a7 Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Tue, 17 Jan 2023 12:07:18 -0800 Subject: [PATCH 577/588] build: add release-please config, fix owlbot-config --- .release-please-manifest.json | 1 + .../google-cloud-vision/{.github => }/.OwlBot.yaml | 6 ++---- packages/google-cloud-vision/.repo-metadata.json | 2 +- packages/google-cloud-vision/owlbot.py | 4 ++-- packages/google-cloud-vision/package.json | 13 +++++++++---- release-please-config.json | 3 ++- 6 files changed, 17 insertions(+), 12 deletions(-) rename packages/google-cloud-vision/{.github => }/.OwlBot.yaml (81%) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 8c3e55041b9..1c680eaa626 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -104,6 +104,7 @@ "packages/google-cloud-video-stitcher": "0.3.0", "packages/google-cloud-video-transcoder": "2.3.0", "packages/google-cloud-videointelligence": "4.1.1", + "packages/google-cloud-vision": "3.1.0", "packages/google-cloud-vmmigration": "2.2.1", "packages/google-cloud-vmwareengine": "0.1.0", "packages/google-cloud-vpcaccess": "2.1.3", diff --git a/packages/google-cloud-vision/.github/.OwlBot.yaml b/packages/google-cloud-vision/.OwlBot.yaml similarity index 81% rename from packages/google-cloud-vision/.github/.OwlBot.yaml rename to packages/google-cloud-vision/.OwlBot.yaml index de8bff4a447..119d438e12d 100644 --- a/packages/google-cloud-vision/.github/.OwlBot.yaml +++ b/packages/google-cloud-vision/.OwlBot.yaml @@ -11,16 +11,14 @@ # 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. -docker: - image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest deep-remove-regex: - /owl-bot-staging deep-copy-regex: - - source: /google/cloud/vision/(v.*)/.*-nodejs/(.*) - dest: /owl-bot-staging/$1/$2 + - source: /google/cloud/vision/(v.*)/.*-nodejs + dest: /owl-bot-staging/google-cloud-vision/$1 begin-after-commit-hash: fb91803ccef5d7c695139b22788b309e2197856b diff --git a/packages/google-cloud-vision/.repo-metadata.json b/packages/google-cloud-vision/.repo-metadata.json index e03dc3467b3..3438e78d10c 100644 --- a/packages/google-cloud-vision/.repo-metadata.json +++ b/packages/google-cloud-vision/.repo-metadata.json @@ -4,7 +4,7 @@ "product_documentation": "https://cloud.google.com/vision", "api_id": "vision.googleapis.com", "client_documentation": "https://cloud.google.com/nodejs/docs/reference/vision/latest", - "repo": "googleapis/nodejs-vision", + "repo": "googleapis/google-cloud-node", "release_level": "stable", "requires_billing": true, "name_pretty": "Google Cloud Vision API", diff --git a/packages/google-cloud-vision/owlbot.py b/packages/google-cloud-vision/owlbot.py index 5f952949850..18f49684c7e 100644 --- a/packages/google-cloud-vision/owlbot.py +++ b/packages/google-cloud-vision/owlbot.py @@ -15,7 +15,7 @@ """This script is used to synthesize generated parts of this library.""" import synthtool as s -import synthtool.languages.node as node +import synthtool.languages.node_mono_repo as node from pathlib import Path def patch(library: Path): @@ -26,7 +26,7 @@ def patch(library: Path): 'export interface ImageAnnotatorClient extends FeaturesMethod {}\n' ) -node.owlbot_main( +node.owlbot_main(relative_dir="packages/google-cloud-vision", staging_excludes=['src/index.ts', 'package.json'], templates_excludes=['src/index.ts'], patch_staging=patch diff --git a/packages/google-cloud-vision/package.json b/packages/google-cloud-vision/package.json index fd6e318713d..4712184a05d 100644 --- a/packages/google-cloud-vision/package.json +++ b/packages/google-cloud-vision/package.json @@ -7,7 +7,11 @@ "engines": { "node": ">=12.0.0" }, - "repository": "googleapis/nodejs-vision", + "repository": { + "type": "git", + "directory": "packages/google-cloud-vision", + "url": "https://github.com/googleapis/google-cloud-node.git" + }, "main": "build/src/index.js", "types": "build/src/index.d.ts", "files": [ @@ -29,10 +33,10 @@ ], "scripts": { "test": "c8 mocha build/test", - "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../", + "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test", "lint": "gts check", "docs": "jsdoc -c .jsdoc.js", - "system-test": "mocha build/system-test --timeout 20000", + "system-test": "npm run compile && c8 mocha build/system-test", "fix": "gts fix", "test-no-cover": "mocha test/*.js", "docs-test": "linkinator docs", @@ -72,5 +76,6 @@ "uuid": "^9.0.0", "webpack": "^5.0.0", "webpack-cli": "^5.0.0" - } + }, + "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-vision" } diff --git a/release-please-config.json b/release-please-config.json index b0c0d5859a7..35eef029879 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -105,6 +105,7 @@ "packages/google-cloud-video-stitcher": {}, "packages/google-cloud-video-transcoder": {}, "packages/google-cloud-videointelligence": {}, + "packages/google-cloud-vision": {}, "packages/google-cloud-vmmigration": {}, "packages/google-cloud-vmwareengine": {}, "packages/google-cloud-vpcaccess": {}, @@ -133,4 +134,4 @@ } ], "release-type": "node" -} \ No newline at end of file +} From 4555de9cf0aaf8d0f001c2d37fae14db196372bf Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 17 Jan 2023 20:12:03 +0000 Subject: [PATCH 578/588] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot?= =?UTF-8?q?=20post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- packages/google-cloud-vision/.mocharc.js | 2 +- packages/google-cloud-vision/.prettierrc.js | 2 +- packages/google-cloud-vision/README.md | 89 +- .../google-cloud-vision/samples/README.md | 1271 ++++++++++++++++- .../google-cloud-vision/samples/quickstart.js | 73 + packages/google-cloud-vision/src/index.ts | 28 +- release-please-config.json | 2 +- 7 files changed, 1433 insertions(+), 34 deletions(-) create mode 100644 packages/google-cloud-vision/samples/quickstart.js diff --git a/packages/google-cloud-vision/.mocharc.js b/packages/google-cloud-vision/.mocharc.js index 0b600509bed..49e7e228701 100644 --- a/packages/google-cloud-vision/.mocharc.js +++ b/packages/google-cloud-vision/.mocharc.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/.prettierrc.js b/packages/google-cloud-vision/.prettierrc.js index d1b95106f4c..1e6cec783e4 100644 --- a/packages/google-cloud-vision/.prettierrc.js +++ b/packages/google-cloud-vision/.prettierrc.js @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 66d3db6acae..55964aa60f1 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -2,7 +2,7 @@ [//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo -# [Google Cloud Vision API: Node.js Client](https://github.com/googleapis/nodejs-vision) +# [Google Cloud Vision API: Node.js Client](https://github.com/googleapis/google-cloud-node) [![release level](https://img.shields.io/badge/release%20level-stable-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages) [![npm version](https://img.shields.io/npm/v/@google-cloud/vision.svg)](https://www.npmjs.org/package/@google-cloud/vision) @@ -14,11 +14,11 @@ Google Cloud Vision API client for Node.js A comprehensive list of changes in each version may be found in -[the CHANGELOG](https://github.com/googleapis/nodejs-vision/blob/main/CHANGELOG.md). +[the CHANGELOG](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-vision/CHANGELOG.md). * [Google Cloud Vision API Node.js Client API Reference][client-docs] * [Google Cloud Vision API Documentation][product-docs] -* [github.com/googleapis/nodejs-vision](https://github.com/googleapis/nodejs-vision) +* [github.com/googleapis/google-cloud-node/packages/google-cloud-vision](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-vision) Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in [Client Libraries Explained][explained]. @@ -32,7 +32,7 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. * [Before you begin](#before-you-begin) * [Installing the client library](#installing-the-client-library) - +* [Samples](#samples) * [Versioning](#versioning) * [Contributing](#contributing) * [License](#license) @@ -56,6 +56,83 @@ npm install @google-cloud/vision +## Samples + +Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample. + +| Sample | Source Code | Try it | +| --------------------------- | --------------------------------- | ------ | +| Image_annotator.async_batch_annotate_files | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.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-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js,samples/README.md) | +| Image_annotator.async_batch_annotate_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.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-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js,samples/README.md) | +| Image_annotator.batch_annotate_files | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.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-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js,samples/README.md) | +| Image_annotator.batch_annotate_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js,samples/README.md) | +| Product_search.add_product_to_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.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-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js,samples/README.md) | +| Product_search.create_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js,samples/README.md) | +| Product_search.create_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.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-cloud-vision/samples/generated/v1/product_search.create_product_set.js,samples/README.md) | +| Product_search.create_reference_image | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.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-cloud-vision/samples/generated/v1/product_search.create_reference_image.js,samples/README.md) | +| Product_search.delete_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js,samples/README.md) | +| Product_search.delete_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.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-cloud-vision/samples/generated/v1/product_search.delete_product_set.js,samples/README.md) | +| Product_search.delete_reference_image | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.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-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js,samples/README.md) | +| Product_search.get_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js,samples/README.md) | +| Product_search.get_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.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-cloud-vision/samples/generated/v1/product_search.get_product_set.js,samples/README.md) | +| Product_search.get_reference_image | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.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-cloud-vision/samples/generated/v1/product_search.get_reference_image.js,samples/README.md) | +| Product_search.import_product_sets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.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-cloud-vision/samples/generated/v1/product_search.import_product_sets.js,samples/README.md) | +| Product_search.list_product_sets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.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-cloud-vision/samples/generated/v1/product_search.list_product_sets.js,samples/README.md) | +| Product_search.list_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js,samples/README.md) | +| Product_search.list_products_in_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.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-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js,samples/README.md) | +| Product_search.list_reference_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.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-cloud-vision/samples/generated/v1/product_search.list_reference_images.js,samples/README.md) | +| Product_search.purge_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js,samples/README.md) | +| Product_search.remove_product_from_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.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-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js,samples/README.md) | +| Product_search.update_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js,samples/README.md) | +| Product_search.update_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.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-cloud-vision/samples/generated/v1/product_search.update_product_set.js,samples/README.md) | +| Image_annotator.batch_annotate_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js,samples/README.md) | +| Image_annotator.async_batch_annotate_files | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.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-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js,samples/README.md) | +| Image_annotator.batch_annotate_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js,samples/README.md) | +| Image_annotator.async_batch_annotate_files | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.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-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js,samples/README.md) | +| Image_annotator.batch_annotate_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js,samples/README.md) | +| Product_search.add_product_to_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js,samples/README.md) | +| Product_search.create_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js,samples/README.md) | +| Product_search.create_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js,samples/README.md) | +| Product_search.create_reference_image | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.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-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js,samples/README.md) | +| Product_search.delete_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js,samples/README.md) | +| Product_search.delete_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js,samples/README.md) | +| Product_search.delete_reference_image | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.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-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js,samples/README.md) | +| Product_search.get_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js,samples/README.md) | +| Product_search.get_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js,samples/README.md) | +| Product_search.get_reference_image | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.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-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js,samples/README.md) | +| Product_search.import_product_sets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.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-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js,samples/README.md) | +| Product_search.list_product_sets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.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-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js,samples/README.md) | +| Product_search.list_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js,samples/README.md) | +| Product_search.list_products_in_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js,samples/README.md) | +| Product_search.list_reference_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.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-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js,samples/README.md) | +| Product_search.remove_product_from_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js,samples/README.md) | +| Product_search.update_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js,samples/README.md) | +| Product_search.update_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js,samples/README.md) | +| Image_annotator.async_batch_annotate_files | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.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-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js,samples/README.md) | +| Image_annotator.async_batch_annotate_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.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-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js,samples/README.md) | +| Image_annotator.batch_annotate_files | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.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-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js,samples/README.md) | +| Image_annotator.batch_annotate_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js,samples/README.md) | +| Product_search.add_product_to_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js,samples/README.md) | +| Product_search.create_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js,samples/README.md) | +| Product_search.create_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js,samples/README.md) | +| Product_search.create_reference_image | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.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-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js,samples/README.md) | +| Product_search.delete_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js,samples/README.md) | +| Product_search.delete_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js,samples/README.md) | +| Product_search.delete_reference_image | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.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-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js,samples/README.md) | +| Product_search.get_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js,samples/README.md) | +| Product_search.get_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js,samples/README.md) | +| Product_search.get_reference_image | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.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-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js,samples/README.md) | +| Product_search.import_product_sets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.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-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js,samples/README.md) | +| Product_search.list_product_sets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.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-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js,samples/README.md) | +| Product_search.list_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js,samples/README.md) | +| Product_search.list_products_in_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js,samples/README.md) | +| Product_search.list_reference_images | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.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-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js,samples/README.md) | +| Product_search.purge_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js,samples/README.md) | +| Product_search.remove_product_from_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js,samples/README.md) | +| Product_search.update_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js,samples/README.md) | +| Product_search.update_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js,samples/README.md) | + + The [Google Cloud Vision API Node.js Client API Reference][client-docs] documentation also contains samples. @@ -103,7 +180,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages] ## Contributing -Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-vision/blob/main/CONTRIBUTING.md). +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`) @@ -115,7 +192,7 @@ to its templates in Apache Version 2.0 -See [LICENSE](https://github.com/googleapis/nodejs-vision/blob/main/LICENSE) +See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE) [client-docs]: https://cloud.google.com/nodejs/docs/reference/vision/latest [product-docs]: https://cloud.google.com/vision diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 639f9ffa3e9..746efebc613 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -2,6 +2,1273 @@ [//]: # "To regenerate it, use `python -m synthtool`." Google Cloud Platform logo -# [Google Cloud Vision API: Node.js Samples](https://github.com/googleapis/nodejs-vision) +# [Google Cloud Vision API: Node.js Samples](https://github.com/googleapis/google-cloud-node) -All samples have been migrated [here](https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/main/vision). \ No newline at end of file +[![Open in Cloud Shell][shell_img]][shell_link] + + + +## Table of Contents + +* [Before you begin](#before-you-begin) +* [Samples](#samples) + * [Image_annotator.async_batch_annotate_files](#image_annotator.async_batch_annotate_files) + * [Image_annotator.async_batch_annotate_images](#image_annotator.async_batch_annotate_images) + * [Image_annotator.batch_annotate_files](#image_annotator.batch_annotate_files) + * [Image_annotator.batch_annotate_images](#image_annotator.batch_annotate_images) + * [Product_search.add_product_to_product_set](#product_search.add_product_to_product_set) + * [Product_search.create_product](#product_search.create_product) + * [Product_search.create_product_set](#product_search.create_product_set) + * [Product_search.create_reference_image](#product_search.create_reference_image) + * [Product_search.delete_product](#product_search.delete_product) + * [Product_search.delete_product_set](#product_search.delete_product_set) + * [Product_search.delete_reference_image](#product_search.delete_reference_image) + * [Product_search.get_product](#product_search.get_product) + * [Product_search.get_product_set](#product_search.get_product_set) + * [Product_search.get_reference_image](#product_search.get_reference_image) + * [Product_search.import_product_sets](#product_search.import_product_sets) + * [Product_search.list_product_sets](#product_search.list_product_sets) + * [Product_search.list_products](#product_search.list_products) + * [Product_search.list_products_in_product_set](#product_search.list_products_in_product_set) + * [Product_search.list_reference_images](#product_search.list_reference_images) + * [Product_search.purge_products](#product_search.purge_products) + * [Product_search.remove_product_from_product_set](#product_search.remove_product_from_product_set) + * [Product_search.update_product](#product_search.update_product) + * [Product_search.update_product_set](#product_search.update_product_set) + * [Image_annotator.batch_annotate_images](#image_annotator.batch_annotate_images) + * [Image_annotator.async_batch_annotate_files](#image_annotator.async_batch_annotate_files) + * [Image_annotator.batch_annotate_images](#image_annotator.batch_annotate_images) + * [Image_annotator.async_batch_annotate_files](#image_annotator.async_batch_annotate_files) + * [Image_annotator.batch_annotate_images](#image_annotator.batch_annotate_images) + * [Product_search.add_product_to_product_set](#product_search.add_product_to_product_set) + * [Product_search.create_product](#product_search.create_product) + * [Product_search.create_product_set](#product_search.create_product_set) + * [Product_search.create_reference_image](#product_search.create_reference_image) + * [Product_search.delete_product](#product_search.delete_product) + * [Product_search.delete_product_set](#product_search.delete_product_set) + * [Product_search.delete_reference_image](#product_search.delete_reference_image) + * [Product_search.get_product](#product_search.get_product) + * [Product_search.get_product_set](#product_search.get_product_set) + * [Product_search.get_reference_image](#product_search.get_reference_image) + * [Product_search.import_product_sets](#product_search.import_product_sets) + * [Product_search.list_product_sets](#product_search.list_product_sets) + * [Product_search.list_products](#product_search.list_products) + * [Product_search.list_products_in_product_set](#product_search.list_products_in_product_set) + * [Product_search.list_reference_images](#product_search.list_reference_images) + * [Product_search.remove_product_from_product_set](#product_search.remove_product_from_product_set) + * [Product_search.update_product](#product_search.update_product) + * [Product_search.update_product_set](#product_search.update_product_set) + * [Image_annotator.async_batch_annotate_files](#image_annotator.async_batch_annotate_files) + * [Image_annotator.async_batch_annotate_images](#image_annotator.async_batch_annotate_images) + * [Image_annotator.batch_annotate_files](#image_annotator.batch_annotate_files) + * [Image_annotator.batch_annotate_images](#image_annotator.batch_annotate_images) + * [Product_search.add_product_to_product_set](#product_search.add_product_to_product_set) + * [Product_search.create_product](#product_search.create_product) + * [Product_search.create_product_set](#product_search.create_product_set) + * [Product_search.create_reference_image](#product_search.create_reference_image) + * [Product_search.delete_product](#product_search.delete_product) + * [Product_search.delete_product_set](#product_search.delete_product_set) + * [Product_search.delete_reference_image](#product_search.delete_reference_image) + * [Product_search.get_product](#product_search.get_product) + * [Product_search.get_product_set](#product_search.get_product_set) + * [Product_search.get_reference_image](#product_search.get_reference_image) + * [Product_search.import_product_sets](#product_search.import_product_sets) + * [Product_search.list_product_sets](#product_search.list_product_sets) + * [Product_search.list_products](#product_search.list_products) + * [Product_search.list_products_in_product_set](#product_search.list_products_in_product_set) + * [Product_search.list_reference_images](#product_search.list_reference_images) + * [Product_search.purge_products](#product_search.purge_products) + * [Product_search.remove_product_from_product_set](#product_search.remove_product_from_product_set) + * [Product_search.update_product](#product_search.update_product) + * [Product_search.update_product_set](#product_search.update_product_set) + +## Before you begin + +Before running the samples, make sure you've followed the steps outlined in +[Using the client library](https://github.com/googleapis/google-cloud-node#using-the-client-library). + +`cd samples` + +`npm install` + +`cd ..` + +## Samples + + + +### Image_annotator.async_batch_annotate_files + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.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-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_files.js` + + +----- + + + + +### Image_annotator.async_batch_annotate_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.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-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/image_annotator.async_batch_annotate_images.js` + + +----- + + + + +### Image_annotator.batch_annotate_files + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.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-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_files.js` + + +----- + + + + +### Image_annotator.batch_annotate_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/image_annotator.batch_annotate_images.js` + + +----- + + + + +### Product_search.add_product_to_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.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-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.add_product_to_product_set.js` + + +----- + + + + +### Product_search.create_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.create_product.js` + + +----- + + + + +### Product_search.create_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.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-cloud-vision/samples/generated/v1/product_search.create_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.create_product_set.js` + + +----- + + + + +### Product_search.create_reference_image + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.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-cloud-vision/samples/generated/v1/product_search.create_reference_image.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.create_reference_image.js` + + +----- + + + + +### Product_search.delete_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.delete_product.js` + + +----- + + + + +### Product_search.delete_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.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-cloud-vision/samples/generated/v1/product_search.delete_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.delete_product_set.js` + + +----- + + + + +### Product_search.delete_reference_image + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.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-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.delete_reference_image.js` + + +----- + + + + +### Product_search.get_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.get_product.js` + + +----- + + + + +### Product_search.get_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.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-cloud-vision/samples/generated/v1/product_search.get_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.get_product_set.js` + + +----- + + + + +### Product_search.get_reference_image + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.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-cloud-vision/samples/generated/v1/product_search.get_reference_image.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.get_reference_image.js` + + +----- + + + + +### Product_search.import_product_sets + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.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-cloud-vision/samples/generated/v1/product_search.import_product_sets.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.import_product_sets.js` + + +----- + + + + +### Product_search.list_product_sets + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.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-cloud-vision/samples/generated/v1/product_search.list_product_sets.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.list_product_sets.js` + + +----- + + + + +### Product_search.list_products + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.list_products.js` + + +----- + + + + +### Product_search.list_products_in_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.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-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.list_products_in_product_set.js` + + +----- + + + + +### Product_search.list_reference_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.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-cloud-vision/samples/generated/v1/product_search.list_reference_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.list_reference_images.js` + + +----- + + + + +### Product_search.purge_products + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.purge_products.js` + + +----- + + + + +### Product_search.remove_product_from_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.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-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.remove_product_from_product_set.js` + + +----- + + + + +### Product_search.update_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.update_product.js` + + +----- + + + + +### Product_search.update_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.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-cloud-vision/samples/generated/v1/product_search.update_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1/product_search.update_product_set.js` + + +----- + + + + +### Image_annotator.batch_annotate_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p1beta1/image_annotator.batch_annotate_images.js` + + +----- + + + + +### Image_annotator.async_batch_annotate_files + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.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-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.async_batch_annotate_files.js` + + +----- + + + + +### Image_annotator.batch_annotate_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p2beta1/image_annotator.batch_annotate_images.js` + + +----- + + + + +### Image_annotator.async_batch_annotate_files + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.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-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.async_batch_annotate_files.js` + + +----- + + + + +### Image_annotator.batch_annotate_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/image_annotator.batch_annotate_images.js` + + +----- + + + + +### Product_search.add_product_to_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.add_product_to_product_set.js` + + +----- + + + + +### Product_search.create_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product.js` + + +----- + + + + +### Product_search.create_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_product_set.js` + + +----- + + + + +### Product_search.create_reference_image + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.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-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.create_reference_image.js` + + +----- + + + + +### Product_search.delete_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product.js` + + +----- + + + + +### Product_search.delete_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_product_set.js` + + +----- + + + + +### Product_search.delete_reference_image + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.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-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.delete_reference_image.js` + + +----- + + + + +### Product_search.get_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product.js` + + +----- + + + + +### Product_search.get_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_product_set.js` + + +----- + + + + +### Product_search.get_reference_image + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.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-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.get_reference_image.js` + + +----- + + + + +### Product_search.import_product_sets + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.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-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.import_product_sets.js` + + +----- + + + + +### Product_search.list_product_sets + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.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-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_product_sets.js` + + +----- + + + + +### Product_search.list_products + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products.js` + + +----- + + + + +### Product_search.list_products_in_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_products_in_product_set.js` + + +----- + + + + +### Product_search.list_reference_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.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-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.list_reference_images.js` + + +----- + + + + +### Product_search.remove_product_from_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.remove_product_from_product_set.js` + + +----- + + + + +### Product_search.update_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product.js` + + +----- + + + + +### Product_search.update_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.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-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p3beta1/product_search.update_product_set.js` + + +----- + + + + +### Image_annotator.async_batch_annotate_files + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.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-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_files.js` + + +----- + + + + +### Image_annotator.async_batch_annotate_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.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-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.async_batch_annotate_images.js` + + +----- + + + + +### Image_annotator.batch_annotate_files + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.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-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_files.js` + + +----- + + + + +### Image_annotator.batch_annotate_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.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-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/image_annotator.batch_annotate_images.js` + + +----- + + + + +### Product_search.add_product_to_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.add_product_to_product_set.js` + + +----- + + + + +### Product_search.create_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product.js` + + +----- + + + + +### Product_search.create_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_product_set.js` + + +----- + + + + +### Product_search.create_reference_image + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.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-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.create_reference_image.js` + + +----- + + + + +### Product_search.delete_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product.js` + + +----- + + + + +### Product_search.delete_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_product_set.js` + + +----- + + + + +### Product_search.delete_reference_image + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.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-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.delete_reference_image.js` + + +----- + + + + +### Product_search.get_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product.js` + + +----- + + + + +### Product_search.get_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_product_set.js` + + +----- + + + + +### Product_search.get_reference_image + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.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-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.get_reference_image.js` + + +----- + + + + +### Product_search.import_product_sets + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.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-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.import_product_sets.js` + + +----- + + + + +### Product_search.list_product_sets + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.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-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_product_sets.js` + + +----- + + + + +### Product_search.list_products + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products.js` + + +----- + + + + +### Product_search.list_products_in_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_products_in_product_set.js` + + +----- + + + + +### Product_search.list_reference_images + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.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-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.list_reference_images.js` + + +----- + + + + +### Product_search.purge_products + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.purge_products.js` + + +----- + + + + +### Product_search.remove_product_from_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js` + + +----- + + + + +### Product_search.update_product + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js` + + +----- + + + + +### Product_search.update_product_set + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js` + + + + + + +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png +[shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=samples/README.md +[product-docs]: https://cloud.google.com/vision diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js new file mode 100644 index 00000000000..9630be385a1 --- /dev/null +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -0,0 +1,73 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START vision_quickstart] + /** + * 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 ProductSet resource for which to retrieve Products. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ + // const name = 'abc123' + /** + * The maximum number of items to return. Default 10, maximum 100. + */ + // const pageSize = 1234 + /** + * The next_page_token returned from a previous List request, if any. + */ + // const pageToken = 'abc123' + + // Imports the Vision library + const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + + // Instantiates a client + const visionClient = new ProductSearchClient(); + + async function callListProductsInProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const iterable = await visionClient.listProductsInProductSetAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListProductsInProductSet(); + // [END vision_quickstart] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-vision/src/index.ts b/packages/google-cloud-vision/src/index.ts index bd668ae1ac1..de274998748 100644 --- a/packages/google-cloud-vision/src/index.ts +++ b/packages/google-cloud-vision/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,8 +12,8 @@ // 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 ** +// ** This file is automatically generated by synthtool. ** +// ** https://github.com/googleapis/synthtool ** // ** All changes to this file may be overwritten. ** import * as v1 from './v1'; @@ -21,28 +21,12 @@ import * as v1p1beta1 from './v1p1beta1'; import * as v1p2beta1 from './v1p2beta1'; import * as v1p3beta1 from './v1p3beta1'; import * as v1p4beta1 from './v1p4beta1'; -import * as helpers from './helpers'; -Object.assign(v1.ImageAnnotatorClient.prototype, helpers.call('v1')); -Object.assign( - v1p1beta1.ImageAnnotatorClient.prototype, - helpers.call('v1p1beta1') -); -Object.assign( - v1p2beta1.ImageAnnotatorClient.prototype, - helpers.call('v1p2beta1') -); -Object.assign( - v1p3beta1.ImageAnnotatorClient.prototype, - helpers.call('v1p3beta1') -); -Object.assign( - v1p4beta1.ImageAnnotatorClient.prototype, - helpers.call('v1p4beta1') -); + const ImageAnnotatorClient = v1.ImageAnnotatorClient; type ImageAnnotatorClient = v1.ImageAnnotatorClient; const ProductSearchClient = v1.ProductSearchClient; type ProductSearchClient = v1.ProductSearchClient; + export { v1, v1p1beta1, @@ -52,8 +36,6 @@ export { ImageAnnotatorClient, ProductSearchClient, }; -// For compatibility with JavaScript libraries we need to provide this default export: -// tslint:disable-next-line no-default-export export default { v1, v1p1beta1, diff --git a/release-please-config.json b/release-please-config.json index 35eef029879..1469ac66ded 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -134,4 +134,4 @@ } ], "release-type": "node" -} +} \ No newline at end of file From 9c48447f6724ff6883329649e0da9a5446cde116 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 17 Jan 2023 20:16:41 +0000 Subject: [PATCH 579/588] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot?= =?UTF-8?q?=20post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- packages/google-cloud-vision/README.md | 50 ++++++++++++++++++- .../google-cloud-vision/samples/README.md | 18 +++++++ .../google-cloud-vision/samples/quickstart.js | 4 +- 3 files changed, 68 insertions(+), 4 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index 55964aa60f1..f312ccdba44 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -31,7 +31,7 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. * [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) @@ -54,6 +54,53 @@ npm install @google-cloud/vision ``` +### 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 ProductSet resource for which to retrieve Products. + * Format is: + * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + */ +// const name = 'abc123' +/** + * The maximum number of items to return. Default 10, maximum 100. + */ +// const pageSize = 1234 +/** + * The next_page_token returned from a previous List request, if any. + */ +// const pageToken = 'abc123' + +// Imports the Vision library +const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; + +// Instantiates a client +const visionClient = new ProductSearchClient(); + +async function callListProductsInProductSet() { + // Construct request + const request = { + name, + }; + + // Run request + const iterable = await visionClient.listProductsInProductSetAsync(request); + for await (const response of iterable) { + console.log(response); + } +} + +callListProductsInProductSet(); + +``` + ## Samples @@ -131,6 +178,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/ | Product_search.remove_product_from_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.remove_product_from_product_set.js,samples/README.md) | | Product_search.update_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js,samples/README.md) | | Product_search.update_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js,samples/README.md) | +| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/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-cloud-vision/samples/quickstart.js,samples/README.md) | diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 746efebc613..1cc4357520c 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -81,6 +81,7 @@ * [Product_search.remove_product_from_product_set](#product_search.remove_product_from_product_set) * [Product_search.update_product](#product_search.update_product) * [Product_search.update_product_set](#product_search.update_product_set) + * [Quickstart](#quickstart) ## Before you begin @@ -1265,6 +1266,23 @@ __Usage:__ `node packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js` +----- + + + + +### Quickstart + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/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-cloud-vision/samples/quickstart.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/quickstart.js` + + diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index 9630be385a1..a0bbc083595 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -16,8 +16,6 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** - - 'use strict'; function main(name) { @@ -58,7 +56,7 @@ function main(name) { // Run request const iterable = await visionClient.listProductsInProductSetAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } From 145cd3b2aec15270adaff6f56347fe211b9d530f Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 17 Jan 2023 20:21:26 +0000 Subject: [PATCH 580/588] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot?= =?UTF-8?q?=20post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- packages/google-cloud-vision/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index f312ccdba44..d5dde17dfa3 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -93,7 +93,7 @@ async function callListProductsInProductSet() { // Run request const iterable = await visionClient.listProductsInProductSetAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } From 98c7f909a9a17a26aa0debc134463ecd37d61c3f Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Tue, 17 Jan 2023 13:52:26 -0800 Subject: [PATCH 581/588] revert changes to index.ts --- packages/google-cloud-vision/src/index.ts | 32 ++++++++++++++++++----- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/src/index.ts b/packages/google-cloud-vision/src/index.ts index de274998748..380e7863764 100644 --- a/packages/google-cloud-vision/src/index.ts +++ b/packages/google-cloud-vision/src/index.ts @@ -1,4 +1,6 @@ -// Copyright 2023 Google LLC + + +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,8 +14,8 @@ // See the License for the specific language governing permissions and // limitations under the License. // -// ** This file is automatically generated by synthtool. ** -// ** https://github.com/googleapis/synthtool ** +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** import * as v1 from './v1'; @@ -21,12 +23,28 @@ import * as v1p1beta1 from './v1p1beta1'; import * as v1p2beta1 from './v1p2beta1'; import * as v1p3beta1 from './v1p3beta1'; import * as v1p4beta1 from './v1p4beta1'; - +import * as helpers from './helpers'; +Object.assign(v1.ImageAnnotatorClient.prototype, helpers.call('v1')); +Object.assign( + v1p1beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p1beta1') +); +Object.assign( + v1p2beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p2beta1') +); +Object.assign( + v1p3beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p3beta1') +); +Object.assign( + v1p4beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p4beta1') +); const ImageAnnotatorClient = v1.ImageAnnotatorClient; type ImageAnnotatorClient = v1.ImageAnnotatorClient; const ProductSearchClient = v1.ProductSearchClient; type ProductSearchClient = v1.ProductSearchClient; - export { v1, v1p1beta1, @@ -36,6 +54,8 @@ export { ImageAnnotatorClient, ProductSearchClient, }; +// For compatibility with JavaScript libraries we need to provide this default export: +// tslint:disable-next-line no-default-export export default { v1, v1p1beta1, @@ -46,4 +66,4 @@ export default { ProductSearchClient, }; import * as protos from '../protos/protos'; -export {protos}; +export {protos}; \ No newline at end of file From 8280a20b97c7df39a40818a695fdb34c49f84177 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 17 Jan 2023 21:56:30 +0000 Subject: [PATCH 582/588] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot?= =?UTF-8?q?=20post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- packages/google-cloud-vision/src/index.ts | 32 +++++------------------ 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/packages/google-cloud-vision/src/index.ts b/packages/google-cloud-vision/src/index.ts index 380e7863764..de274998748 100644 --- a/packages/google-cloud-vision/src/index.ts +++ b/packages/google-cloud-vision/src/index.ts @@ -1,6 +1,4 @@ - - -// Copyright 2019 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -14,8 +12,8 @@ // 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 ** +// ** This file is automatically generated by synthtool. ** +// ** https://github.com/googleapis/synthtool ** // ** All changes to this file may be overwritten. ** import * as v1 from './v1'; @@ -23,28 +21,12 @@ import * as v1p1beta1 from './v1p1beta1'; import * as v1p2beta1 from './v1p2beta1'; import * as v1p3beta1 from './v1p3beta1'; import * as v1p4beta1 from './v1p4beta1'; -import * as helpers from './helpers'; -Object.assign(v1.ImageAnnotatorClient.prototype, helpers.call('v1')); -Object.assign( - v1p1beta1.ImageAnnotatorClient.prototype, - helpers.call('v1p1beta1') -); -Object.assign( - v1p2beta1.ImageAnnotatorClient.prototype, - helpers.call('v1p2beta1') -); -Object.assign( - v1p3beta1.ImageAnnotatorClient.prototype, - helpers.call('v1p3beta1') -); -Object.assign( - v1p4beta1.ImageAnnotatorClient.prototype, - helpers.call('v1p4beta1') -); + const ImageAnnotatorClient = v1.ImageAnnotatorClient; type ImageAnnotatorClient = v1.ImageAnnotatorClient; const ProductSearchClient = v1.ProductSearchClient; type ProductSearchClient = v1.ProductSearchClient; + export { v1, v1p1beta1, @@ -54,8 +36,6 @@ export { ImageAnnotatorClient, ProductSearchClient, }; -// For compatibility with JavaScript libraries we need to provide this default export: -// tslint:disable-next-line no-default-export export default { v1, v1p1beta1, @@ -66,4 +46,4 @@ export default { ProductSearchClient, }; import * as protos from '../protos/protos'; -export {protos}; \ No newline at end of file +export {protos}; From 8b1f8296bcb3cf607db690ce9142768926d9a82b Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Tue, 17 Jan 2023 14:05:19 -0800 Subject: [PATCH 583/588] chore: add samples test --- .../google-cloud-vision/samples/package.json | 3 ++ .../google-cloud-vision/samples/quickstart.js | 26 +++++++------- .../samples/test/quickstart.test.js | 35 +++++++++++++++++++ 3 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 packages/google-cloud-vision/samples/test/quickstart.test.js diff --git a/packages/google-cloud-vision/samples/package.json b/packages/google-cloud-vision/samples/package.json index a132ce6a5ff..5e884552c89 100644 --- a/packages/google-cloud-vision/samples/package.json +++ b/packages/google-cloud-vision/samples/package.json @@ -9,6 +9,9 @@ "files": [ "*.js" ], + "scripts": { + "test": "mocha test --timeout=800000" + }, "dependencies": { "@google-cloud/vision": "^3.1.0", "natural": "^6.0.0", diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index a0bbc083595..50aaa67a814 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -16,10 +16,12 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** + + 'use strict'; -function main(name) { - // [START vision_quickstart] +function main(parent) { + // [START vision_v1p4beta1_generated_ProductSearch_ListProducts_async] /** * This snippet has been automatically generated and should be regarded as a code template only. * It will require modifications to work. @@ -27,11 +29,11 @@ function main(name) { * TODO(developer): Uncomment these variables before running the sample. */ /** - * Required. The ProductSet resource for which to retrieve Products. - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` + * Required. The project OR ProductSet from which Products should be listed. + * Format: + * `projects/PROJECT_ID/locations/LOC_ID` */ - // const name = 'abc123' + // const parent = 'abc123' /** * The maximum number of items to return. Default 10, maximum 100. */ @@ -47,21 +49,21 @@ function main(name) { // Instantiates a client const visionClient = new ProductSearchClient(); - async function callListProductsInProductSet() { + async function callListProducts() { // Construct request const request = { - name, + parent, }; // Run request - const iterable = await visionClient.listProductsInProductSetAsync(request); + const iterable = await visionClient.listProductsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } - callListProductsInProductSet(); - // [END vision_quickstart] + callListProducts(); + // [END vision_v1p4beta1_generated_ProductSearch_ListProducts_async] } process.on('unhandledRejection', err => { diff --git a/packages/google-cloud-vision/samples/test/quickstart.test.js b/packages/google-cloud-vision/samples/test/quickstart.test.js new file mode 100644 index 00000000000..53f233d7009 --- /dev/null +++ b/packages/google-cloud-vision/samples/test/quickstart.test.js @@ -0,0 +1,35 @@ +// Copyright 2017 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. + +'use strict'; + +const {assert} = require('chai'); +const {describe, it} = require('mocha'); +const cp = require('child_process'); +// Imports the Vision library +const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; +const visionClient = new ProductSearchClient(); + +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +describe('quickstart', async () => { + let projectId; + before(async () => { + projectId = await visionClient.getProjectId(); + }) + it('should detect labels in a remote file', async () => { + const stdout = execSync(`node quickstart.js projects/${projectId}/locations/us-west1`); + assert.ok(stdout != null); + }); +}); From dac4303bb1771b666fc83f1f2d615a885274a0cf Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Tue, 17 Jan 2023 15:52:00 -0800 Subject: [PATCH 584/588] chore: revert changes to index.ts --- packages/google-cloud-vision/src/index.ts | 30 ++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/packages/google-cloud-vision/src/index.ts b/packages/google-cloud-vision/src/index.ts index de274998748..f31362ebf2c 100644 --- a/packages/google-cloud-vision/src/index.ts +++ b/packages/google-cloud-vision/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2019 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. // -// ** This file is automatically generated by synthtool. ** -// ** https://github.com/googleapis/synthtool ** +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** import * as v1 from './v1'; @@ -21,12 +21,28 @@ import * as v1p1beta1 from './v1p1beta1'; import * as v1p2beta1 from './v1p2beta1'; import * as v1p3beta1 from './v1p3beta1'; import * as v1p4beta1 from './v1p4beta1'; - +import * as helpers from './helpers'; +Object.assign(v1.ImageAnnotatorClient.prototype, helpers.call('v1')); +Object.assign( + v1p1beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p1beta1') +); +Object.assign( + v1p2beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p2beta1') +); +Object.assign( + v1p3beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p3beta1') +); +Object.assign( + v1p4beta1.ImageAnnotatorClient.prototype, + helpers.call('v1p4beta1') +); const ImageAnnotatorClient = v1.ImageAnnotatorClient; type ImageAnnotatorClient = v1.ImageAnnotatorClient; const ProductSearchClient = v1.ProductSearchClient; type ProductSearchClient = v1.ProductSearchClient; - export { v1, v1p1beta1, @@ -36,6 +52,8 @@ export { ImageAnnotatorClient, ProductSearchClient, }; +// For compatibility with JavaScript libraries we need to provide this default export: +// tslint:disable-next-line no-default-export export default { v1, v1p1beta1, @@ -46,4 +64,4 @@ export default { ProductSearchClient, }; import * as protos from '../protos/protos'; -export {protos}; +export {protos}; \ No newline at end of file From ab4dbbacd875b2105e5c080ecc8ed4886c295c37 Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Wed, 18 Jan 2023 14:19:22 -0800 Subject: [PATCH 585/588] chore: update post processor --- .github/.OwlBot.lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index a8bdae35da5..36097307d81 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs-mono-repo:latest - digest: sha256:2fe57986c24050a5a5a2f51a3c609b28eaa88eebe16d47c7ffcbfed7bbd38ac0 + digest: sha256:85bf089b45ad70d1ec02d9d628a0051a06bb63fb79f6b740f787d1a34347f732 From a54a80d2d93da2d414d905daf4d83010538e62ac Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 18 Jan 2023 22:24:13 +0000 Subject: [PATCH 586/588] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot?= =?UTF-8?q?=20post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- packages/google-cloud-vision/README.md | 50 +----------------- .../google-cloud-vision/samples/README.md | 18 +++++++ .../google-cloud-vision/samples/quickstart.js | 4 +- .../samples/test/quickstart.test.js | 52 ++++++++++--------- packages/google-cloud-vision/src/index.ts | 2 +- 5 files changed, 49 insertions(+), 77 deletions(-) diff --git a/packages/google-cloud-vision/README.md b/packages/google-cloud-vision/README.md index d5dde17dfa3..353c5608b5e 100644 --- a/packages/google-cloud-vision/README.md +++ b/packages/google-cloud-vision/README.md @@ -31,7 +31,7 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained]. * [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) @@ -54,53 +54,6 @@ npm install @google-cloud/vision ``` -### 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 ProductSet resource for which to retrieve Products. - * Format is: - * `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID` - */ -// const name = 'abc123' -/** - * The maximum number of items to return. Default 10, maximum 100. - */ -// const pageSize = 1234 -/** - * The next_page_token returned from a previous List request, if any. - */ -// const pageToken = 'abc123' - -// Imports the Vision library -const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; - -// Instantiates a client -const visionClient = new ProductSearchClient(); - -async function callListProductsInProductSet() { - // Construct request - const request = { - name, - }; - - // Run request - const iterable = await visionClient.listProductsInProductSetAsync(request); - for await (const response of iterable) { - console.log(response); - } -} - -callListProductsInProductSet(); - -``` - ## Samples @@ -179,6 +132,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/ | Product_search.update_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product.js,samples/README.md) | | Product_search.update_product_set | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.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-cloud-vision/samples/generated/v1p4beta1/product_search.update_product_set.js,samples/README.md) | | Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/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-cloud-vision/samples/quickstart.js,samples/README.md) | +| Quickstart.test | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/test/quickstart.test.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-cloud-vision/samples/test/quickstart.test.js,samples/README.md) | diff --git a/packages/google-cloud-vision/samples/README.md b/packages/google-cloud-vision/samples/README.md index 1cc4357520c..2c2f674c3ec 100644 --- a/packages/google-cloud-vision/samples/README.md +++ b/packages/google-cloud-vision/samples/README.md @@ -82,6 +82,7 @@ * [Product_search.update_product](#product_search.update_product) * [Product_search.update_product_set](#product_search.update_product_set) * [Quickstart](#quickstart) + * [Quickstart.test](#quickstart.test) ## Before you begin @@ -1283,6 +1284,23 @@ __Usage:__ `node packages/google-cloud-vision/samples/quickstart.js` +----- + + + + +### Quickstart.test + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vision/samples/test/quickstart.test.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-cloud-vision/samples/test/quickstart.test.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-vision/samples/test/quickstart.test.js` + + diff --git a/packages/google-cloud-vision/samples/quickstart.js b/packages/google-cloud-vision/samples/quickstart.js index 50aaa67a814..89ac7825f87 100644 --- a/packages/google-cloud-vision/samples/quickstart.js +++ b/packages/google-cloud-vision/samples/quickstart.js @@ -16,8 +16,6 @@ // ** https://github.com/googleapis/gapic-generator-typescript ** // ** All changes to this file may be overwritten. ** - - 'use strict'; function main(parent) { @@ -58,7 +56,7 @@ function main(parent) { // Run request const iterable = await visionClient.listProductsAsync(request); for await (const response of iterable) { - console.log(response); + console.log(response); } } diff --git a/packages/google-cloud-vision/samples/test/quickstart.test.js b/packages/google-cloud-vision/samples/test/quickstart.test.js index 53f233d7009..638117807f1 100644 --- a/packages/google-cloud-vision/samples/test/quickstart.test.js +++ b/packages/google-cloud-vision/samples/test/quickstart.test.js @@ -1,35 +1,37 @@ -// Copyright 2017 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. +// Copyright 2017 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. -'use strict'; +'use strict'; -const {assert} = require('chai'); -const {describe, it} = require('mocha'); -const cp = require('child_process'); +const {assert} = require('chai'); +const {describe, it} = require('mocha'); +const cp = require('child_process'); // Imports the Vision library const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; const visionClient = new ProductSearchClient(); -const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); -describe('quickstart', async () => { +describe('quickstart', async () => { let projectId; before(async () => { projectId = await visionClient.getProjectId(); - }) - it('should detect labels in a remote file', async () => { - const stdout = execSync(`node quickstart.js projects/${projectId}/locations/us-west1`); - assert.ok(stdout != null); - }); -}); + }); + it('should detect labels in a remote file', async () => { + const stdout = execSync( + `node quickstart.js projects/${projectId}/locations/us-west1` + ); + assert.ok(stdout != null); + }); +}); diff --git a/packages/google-cloud-vision/src/index.ts b/packages/google-cloud-vision/src/index.ts index f31362ebf2c..bd668ae1ac1 100644 --- a/packages/google-cloud-vision/src/index.ts +++ b/packages/google-cloud-vision/src/index.ts @@ -64,4 +64,4 @@ export default { ProductSearchClient, }; import * as protos from '../protos/protos'; -export {protos}; \ No newline at end of file +export {protos}; From 508bc3a3a241b50b83c2bf0683444326ddd1db71 Mon Sep 17 00:00:00 2001 From: Sofia Leon Date: Wed, 18 Jan 2023 14:46:14 -0800 Subject: [PATCH 587/588] resolve conflicts --- .../samples/test/quickstart.test.js | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/packages/google-cloud-vision/samples/test/quickstart.test.js b/packages/google-cloud-vision/samples/test/quickstart.test.js index 638117807f1..ce046833a05 100644 --- a/packages/google-cloud-vision/samples/test/quickstart.test.js +++ b/packages/google-cloud-vision/samples/test/quickstart.test.js @@ -14,9 +14,9 @@ 'use strict'; -const {assert} = require('chai'); -const {describe, it} = require('mocha'); -const cp = require('child_process'); +const {assert} = require('chai'); +const {describe, it, before} = require('mocha'); +const cp = require('child_process'); // Imports the Vision library const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; const visionClient = new ProductSearchClient(); @@ -27,11 +27,9 @@ describe('quickstart', async () => { let projectId; before(async () => { projectId = await visionClient.getProjectId(); - }); - it('should detect labels in a remote file', async () => { - const stdout = execSync( - `node quickstart.js projects/${projectId}/locations/us-west1` - ); - assert.ok(stdout != null); - }); -}); + }) + it('should detect labels in a remote file', async () => { + const stdout = execSync(`node quickstart.js projects/${projectId}/locations/us-west1`); + assert.ok(stdout !== null); + }); +}); From b20a577d35266270faea00adbb8e3b458ea55af7 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 18 Jan 2023 22:50:35 +0000 Subject: [PATCH 588/588] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot?= =?UTF-8?q?=20post-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- .../samples/test/quickstart.test.js | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/google-cloud-vision/samples/test/quickstart.test.js b/packages/google-cloud-vision/samples/test/quickstart.test.js index ce046833a05..cf8f73723c6 100644 --- a/packages/google-cloud-vision/samples/test/quickstart.test.js +++ b/packages/google-cloud-vision/samples/test/quickstart.test.js @@ -14,9 +14,9 @@ 'use strict'; -const {assert} = require('chai'); -const {describe, it, before} = require('mocha'); -const cp = require('child_process'); +const {assert} = require('chai'); +const {describe, it, before} = require('mocha'); +const cp = require('child_process'); // Imports the Vision library const {ProductSearchClient} = require('@google-cloud/vision').v1p4beta1; const visionClient = new ProductSearchClient(); @@ -27,9 +27,11 @@ describe('quickstart', async () => { let projectId; before(async () => { projectId = await visionClient.getProjectId(); - }) - it('should detect labels in a remote file', async () => { - const stdout = execSync(`node quickstart.js projects/${projectId}/locations/us-west1`); - assert.ok(stdout !== null); - }); -}); + }); + it('should detect labels in a remote file', async () => { + const stdout = execSync( + `node quickstart.js projects/${projectId}/locations/us-west1` + ); + assert.ok(stdout !== null); + }); +});